diff --git a/.github/workflows/build_test_cmake.yml b/.github/workflows/build_test_cmake.yml index 2f59b5f6b3..8296f7bc9f 100644 --- a/.github/workflows/build_test_cmake.yml +++ b/.github/workflows/build_test_cmake.yml @@ -17,17 +17,17 @@ jobs: name: "Build with Intel toolchain" - tag: gnu - build_args: "-DENABLE_LIBXC=1 -DDENABLE_MLALGO=1 -DENABLE_LIBRI=1" + build_args: "-DENABLE_LIBXC=1 -DENABLE_MLALGO=1 -DENABLE_LIBRI=1" name: "Build extra components with GNU toolchain" - tag: intel - build_args: "-DENABLE_LIBXC=1 -DENABLE_MLALGO=1 -DENABLE_LIBRI=1" + build_args: "-DENABLE_LIBXC=1 -DENABLE_PEXSI=1 -DENABLE_MLALGO=1 -DENABLE_LIBRI=1" name: "Build extra components with Intel toolchain" - tag: cuda build_args: "-DUSE_CUDA=1" name: "Build with CUDA support" - tag: gnu - build_args: "-DENABLE_LCAO=OFF" + build_args: "-DENABLE_LCAO=0" name: "Build without LCAO" - tag: gnu build_args: "-DUSE_ELPA=0 " @@ -43,12 +43,17 @@ jobs: container: ghcr.io/deepmodeling/abacus-${{ matrix.tag }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive - name: Build run: | git config --global --add safe.directory `pwd` + export LD_LIBRARY_PATH=${GKLIB_ROOT}/lib:${METIS32_ROOT}/lib:${PARMETIS32_ROOT}/lib:${SUPERLU32_DIST_ROOT}/lib:${PEXSI32_ROOT}/lib:${LD_LIBRARY_PATH} + export PKG_CONFIG_PATH=${GKLIB_ROOT}/lib/pkgconfig:${METIS32_ROOT}/lib/pkgconfig:${PARMETIS32_ROOT}/lib/pkgconfig:${SUPERLU32_DIST_ROOT}/lib/pkgconfig:${PEXSI32_ROOT}/lib/pkgconfig:${PKG_CONFIG_PATH} + export CPATH=${GKLIB_ROOT}/include:${METIS32_ROOT}/include:${PARMETIS32_ROOT}/include:${SUPERLU32_DIST_ROOT}/include:${PEXSI32_ROOT}/include:${CPATH} + export CMAKE_PREFIX_PATH=${PEXSI32_ROOT}:${SUPERLU_DIST32_ROOT}:${PARMETIS32_ROOT}:${METIS32_ROOT}:${GKLIB_ROOT}:${CMAKE_PREFIX_PATH} + rm -rf build cmake -B build ${{ matrix.build_args }} cmake --build build -j2 diff --git a/.github/workflows/build_test_makefile.yml b/.github/workflows/build_test_makefile.yml index e2129a707f..b0cabbce97 100644 --- a/.github/workflows/build_test_makefile.yml +++ b/.github/workflows/build_test_makefile.yml @@ -16,10 +16,12 @@ jobs: container: ghcr.io/deepmodeling/abacus-${{ matrix.tag }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Build run: | export I_MPI_CXX=icpx + chmod a+x generate_build_info.sh cd source - make -j2 ${{ matrix.build_args }} + mkdir build && cd build + make -f ../Makefile -j2 ${{ matrix.build_args }} diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 438d6bfd8f..bb2190d9ee 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -12,25 +12,77 @@ jobs: container: ghcr.io/deepmodeling/abacus-gnu steps: - name: Checkout - uses: actions/checkout@v4 - - name: Install Requirements for Coverage Testing + uses: actions/checkout@v6 + with: + submodules: recursive + + - name: Install Perl Dependencies and Coverage Tools run: | - apt update && apt install -y lcov gpg curl jq ca-certificates - - name: Building + apt update && apt install -y curl jq ca-certificates python3-pip + apt install -y lcov perl-modules + apt install -y libcapture-tiny-perl libdatetime-perl libjson-perl libperlio-gzip-perl + lcov --version + + - name: Building with Coverage run: | - cmake -B build -DENABLE_COVERAGE=ON -DBUILD_TESTING=ON -DENABLE_MLALGO=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON + rm -rf build/ + rm -f CMakeCache.txt + + mkdir -p build + chmod -R 755 build/ + + cmake -B build \ + -DENABLE_COVERAGE=ON \ + -DBUILD_TESTING=ON \ + -DENABLE_MLALGO=ON \ + -DENABLE_LIBXC=ON \ + -DENABLE_LIBRI=ON \ + -DENABLE_GOOGLEBENCH=ON \ + -DENABLE_RAPIDJSON=ON \ + -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_CXX_FLAGS="--coverage -fprofile-arcs -ftest-coverage" \ + -DCMAKE_EXE_LINKER_FLAGS="--coverage" cmake --build build -j`nproc` cmake --install build + - name: Testing env: OMP_NUM_THREADS: 1 run: | - cmake --build build --target test ARGS="-V --timeout 21600" || exit 0 + chmod -R 755 build/ + cmake --build build --target test ARGS="-V --timeout 21600" || echo "Some tests failed but continuing for coverage" + + - name: Generate Coverage Data + run: | + cd build + + lcov --directory . --capture --output-file coverage.info + + lcov --remove coverage.info '/usr/*' '*/test/*' '*/external/*' '*/build/*' --output-file coverage.filtered.info + + genhtml coverage.filtered.info --output-directory coverage-report + + cd .. + - name: Upload Coverage to Codecov uses: codecov/codecov-action@v5 if: ${{ ! cancelled() }} with: fail_ci_if_error: true token: ${{ secrets.CODECOV_TOKEN }} - skip_validation: true + files: ./build/coverage.xml,./build/coverage.info + directory: ./build/ + flags: unittests + name: codecov-umbrella verbose: true + + - name: Upload Coverage Report Artifact + uses: actions/upload-artifact@v6 + if: always() + with: + name: coverage-report + path: | + build/coverage-report/ + build/coverage.info + build/coverage.xml + retention-days: 30 diff --git a/.github/workflows/cuda.yml b/.github/workflows/cuda.yml index dea9bc0052..33992d894c 100644 --- a/.github/workflows/cuda.yml +++ b/.github/workflows/cuda.yml @@ -21,7 +21,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -33,6 +33,7 @@ jobs: - name: Build run: | nvidia-smi + rm -rf build cmake -B build -DUSE_CUDA=ON -DBUILD_TESTING=ON cmake --build build -j4 cmake --install build diff --git a/.github/workflows/devcontainer.yml b/.github/workflows/devcontainer.yml index 91baea57b9..31e0682a37 100644 --- a/.github/workflows/devcontainer.yml +++ b/.github/workflows/devcontainer.yml @@ -1,6 +1,7 @@ name: Container on: + create: push: branches: - develop @@ -17,7 +18,7 @@ jobs: dockerfile: ["gnu","intel","cuda"] steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Docker meta id: meta @@ -30,6 +31,11 @@ jobs: type=semver,pattern={{version}},enable=${{ github.ref_type == 'tag' }} type=raw,value=latest + - name: Fix Docker Directory Permissions + run: | + sudo mkdir -p /home/runner/.docker + sudo chown -R $USER:$USER /home/runner/.docker + - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index 430a8680ff..bbf6bdd8e7 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -30,7 +30,7 @@ jobs: if: github.repository_owner == 'deepmodeling' steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Install Doxygen run: sudo apt-get install doxygen graphviz -y @@ -48,7 +48,7 @@ jobs: uses: actions/configure-pages@v5 - name: Upload artifact - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@v4 with: path: './doxygen/html' diff --git a/.github/workflows/dynamic.yml b/.github/workflows/dynamic.yml index c0d2cb0f55..fe20f5b1aa 100644 --- a/.github/workflows/dynamic.yml +++ b/.github/workflows/dynamic.yml @@ -13,7 +13,7 @@ jobs: container: ghcr.io/deepmodeling/abacus-gnu steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Building run: | cmake -B build -DENABLE_ASAN=1 -DENABLE_MLALGO=1 -DENABLE_LIBXC=1 diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index 589a85e584..9312caefe8 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -14,7 +14,7 @@ jobs: timeout-minutes: 2880 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Install Requirements run: | apt install -y time diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 0470d5f050..23c1074b75 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -11,9 +11,9 @@ jobs: image: ghcr.io/deepmodeling/abacus-gnu steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: 3.8 - name: Build Pyabacus diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e04f7fce25..a44a22ffdb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,11 +17,17 @@ jobs: volumes: - /tmp/ccache:/github/home/.ccache steps: - - name: Checkout - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v6 with: - submodules: recursive fetch-depth: 0 + # We will handle submodules manually after fixing ownership + submodules: 'false' + + - name: Take ownership of the workspace and update submodules + run: | + sudo chown -R $(whoami) . + git submodule update --init --recursive - name: Install CI tools run: | @@ -54,130 +60,130 @@ jobs: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R integrated_test" - + ctest --test-dir build -V --timeout 1700 -R integrated_test + - name: Module_Base Unittests env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R MODULE_BASE" - + ctest --test-dir build -V --timeout 1700 -R MODULE_BASE + - name: Module_IO Unittests env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R MODULE_IO" - + ctest --test-dir build -V --timeout 1700 -R MODULE_IO + - name: Module_HSolver Unittests env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R MODULE_HSOLVER" - + ctest --test-dir build -V --timeout 1700 -R MODULE_HSOLVER + - name: Module_Cell Unittests env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R MODULE_CELL" - + ctest --test-dir build -V --timeout 1700 -R MODULE_CELL + - name: Module_MD Unittests env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R MODULE_MD" - + ctest --test-dir build -V --timeout 1700 -R MODULE_MD + - name: source_psi Unittests env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R source_psi" - + ctest --test-dir build -V --timeout 1700 -R source_psi + - name: Module_RI Unittests env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R MODULE_RI" - + ctest --test-dir build -V --timeout 1700 -R MODULE_RI + - name: 01_PW Test env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R 01_PW" - + ctest --test-dir build -V --timeout 1700 -R 01_PW + - name: 02_NAO_Gamma Test env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R 02_NAO_Gamma" - + ctest --test-dir build -V --timeout 1700 -R 02_NAO_Gamma + - name: 03_NAO_multik Test env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R 03_NAO_multik" - - - name: 04_LJ_DP Test + ctest --test-dir build -V --timeout 1700 -R 03_NAO_multik + + - name: 04_FF Test env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R 04_LJ_DP" - + ctest --test-dir build -V --timeout 1700 -R 04_FF + - name: 05_rtTDDFT Test env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R 05_rtTDDFT" - + ctest --test-dir build -V --timeout 1700 -R 05_rtTDDFT + - name: 06_SDFT Test env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R 06_SDFT" - + ctest --test-dir build -V --timeout 1700 -R 06_SDFT + - name: 07_OFDFT Test env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R 07_OFDFT" - + ctest --test-dir build -V --timeout 1700 -R 07_OFDFT + - name: 08_EXX Test env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R 08_EXX" - + ctest --test-dir build -V --timeout 1700 -R 08_EXX + - name: 09_DeePKS Test env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R 09_DeePKS" - + ctest --test-dir build -V --timeout 1700 -R 09_DeePKS + - name: 10_others Test env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -R 10_others" - + ctest --test-dir build -V --timeout 1700 -R 10_others + - name: Other Unittests env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - cmake --build build --target test ARGS="-V --timeout 1700 -E 'integrate_test|01_PW|02_NAO_Gamma|03_NAO_multik|04_LJ_DP|05_rtTDDFT|06_SDFT|07_OFDFT|08_EXX|09_DeePKS|10_others|11_PW_GPU|12_NAO_Gamma_GPU|13_NAO_multik_GPU|15_rtTDDFT_GPU|16_SDFT_GPU|MODULE_BASE|MODULE_IO|MODULE_HSOLVER|MODULE_CELL|MODULE_MD|source_psi|MODULE_RI'" + ctest --test-dir build -V --timeout 1700 -E 'integrate_test|01_PW|02_NAO_Gamma|03_NAO_multik|04_FF|05_rtTDDFT|06_SDFT|07_OFDFT|08_EXX|09_DeePKS|10_others|11_PW_GPU|12_NAO_Gamma_GPU|13_NAO_multik_GPU|15_rtTDDFT_GPU|16_SDFT_GPU|MODULE_BASE|MODULE_IO|MODULE_HSOLVER|MODULE_CELL|MODULE_MD|source_psi|MODULE_RI' diff --git a/.github/workflows/version_check.yml b/.github/workflows/version_check.yml index c42228e153..8e4a8cd4bd 100644 --- a/.github/workflows/version_check.yml +++ b/.github/workflows/version_check.yml @@ -7,7 +7,7 @@ jobs: validate_version: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 # Fetch complete git history for version comparison @@ -25,7 +25,7 @@ jobs: # Validate version.h matches the release tag - name: Assert version increment run: | - CODE_VERSION=$(grep -oP '#define\s+VERSION\s+"\K\d+(\.\d+){2,3}' source/source_main/version.h) + CODE_VERSION=$(grep -oP '#define\s+VERSION\s+"\Kv?\d+(\.\d+){2,3}' source/source_main/version.h) if [[ -z "$CODE_VERSION" ]]; then echo "::error::Failed to extract version from source/source_main/version.h" @@ -33,7 +33,7 @@ jobs: fi # Verify that the version in version.h matches the tag - if [[ "${{ steps.versions.outputs.current_tag }}" != "v${CODE_VERSION}" ]]; then + if [[ "${{ steps.versions.outputs.current_tag }}" != "${CODE_VERSION}" ]]; then echo "::error::Version mismatch: tag=${{ steps.versions.outputs.current_tag }} ≠ code=${CODE_VERSION}" exit 1 fi diff --git a/.gitignore b/.gitignore index ebad4b553d..850ef94bf0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /build* +build_info.h bin obj *.o @@ -23,4 +24,5 @@ __pycache__ abacus.json *.npy toolchain/install/ -toolchain/abacus_env.sh \ No newline at end of file +toolchain/abacus_env.sh +.trae diff --git a/CMakeLists.txt b/CMakeLists.txt index 277f1924ec..6f8fc6fe0e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,8 +74,8 @@ if(ENABLE_RAPIDJSON) OFF CACHE INTERNAL "") FetchContent_MakeAvailable(rapidjson) - set(RapidJSON_INCLUDE_PATH "${rapidjson_SOURCE_DIR}/include") endif() + set(RapidJSON_INCLUDE_PATH "${rapidjson_SOURCE_DIR}/include") add_compile_definitions(__RAPIDJSON) add_definitions(-DRAPIDJSON_HAS_CXX11_NOEXCEPT=0) include_directories(${RapidJSON_INCLUDE_PATH}) @@ -156,10 +156,14 @@ if(ENABLE_COVERAGE) include(FetchContent) FetchContent_Declare( cmakecodecov - URL https://github.com/baixiaokuang/CMake-codecov/archive/refs/heads/master.zip + GIT_REPOSITORY https://github.com/RWTH-HPC/CMake-codecov.git + GIT_TAG master + GIT_SHALLOW TRUE + GIT_PROGRESS TRUE ) FetchContent_Populate(cmakecodecov) list(APPEND CMAKE_MODULE_PATH ${cmakecodecov_SOURCE_DIR}/cmake) + set(CMAKE_MODULE_PATH "${cmakecodecov_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) find_package(codecov REQUIRED) endif() endif() @@ -170,7 +174,9 @@ set(ABACUS_BIN_PATH ${CMAKE_CURRENT_BINARY_DIR}/${ABACUS_BIN_NAME}) include_directories(${ABACUS_SOURCE_DIR}) include_directories(${ABACUS_SOURCE_DIR}/source_base/module_container) -set(CMAKE_CXX_STANDARD 11) +if(NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 11) +endif() set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(${ABACUS_BIN_NAME} source/source_main/main.cpp) @@ -178,6 +184,7 @@ if(ENABLE_COVERAGE) add_coverage(${ABACUS_BIN_NAME}) endif() + macro(set_if_higher VARIABLE VALUE) if(${VARIABLE} LESS ${VALUE}) set(${VARIABLE} ${VALUE}) @@ -253,9 +260,6 @@ if(ENABLE_LCAO) add_compile_definitions(__PEXSI) set(CMAKE_CXX_STANDARD 14) endif() - if(OLD_GINT) - add_compile_definitions(__OLD_GINT) - endif() else() set(ENABLE_MLALGO OFF) set(ENABLE_LIBRI OFF) @@ -287,12 +291,8 @@ if (USE_SW) set(SW ON) include_directories(${SW_MATH}/include) include_directories(${SW_FFT}/include) - + target_link_libraries(${ABACUS_BIN_NAME} ${SW_FFT}/lib/libfftw3.a) - target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswfft.a) - target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswscalapack.a) - target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswlapack.a) - target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswblas.a) endif() find_package(Threads REQUIRED) @@ -331,22 +331,38 @@ endif() if(USE_CUDA) cmake_minimum_required(VERSION 3.18) # required by `CUDA_ARCHITECTURES` below + + # Always find CUDAToolkit to get CUDAToolkit_VERSION + find_package(CUDAToolkit REQUIRED) + set_if_higher(CMAKE_CXX_STANDARD 14) + if(CUDAToolkit_VERSION VERSION_GREATER_EQUAL "13.0") + message(STATUS "CUDA ${CUDAToolkit_VERSION} detected. Setting CMAKE_CUDA_STANDARD to 17.") + set_if_higher(CMAKE_CXX_STANDARD 17) + endif() set(CMAKE_CXX_EXTENSIONS ON) set(CMAKE_CUDA_STANDARD ${CMAKE_CXX_STANDARD}) set(CMAKE_CUDA_STANDARD_REQUIRED ON) set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER}) if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) - find_package(CUDAToolkit REQUIRED) # check # https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/Internal/CMakeCUDAArchitecturesAll.cmake - # for available architechures in different CUDA versions - set(CMAKE_CUDA_ARCHITECTURES - 60 # P100 - 70 # V100 - # Add your CUDA arch here Check the Compute Capability version of your - # GPU at: https://en.wikipedia.org/wiki/CUDA#GPUs_supported - ) + # for available architectures in different CUDA versions + + # CUDA 13.0+ dropped support for architectures below 75 + if(CUDAToolkit_VERSION VERSION_LESS "13.0") + set(CMAKE_CUDA_ARCHITECTURES + 60 # P100 + 70 # V100 + ) + else() + # Start with empty list; architectures 75+ will be added below + set(CMAKE_CUDA_ARCHITECTURES) + endif() + + # Add your CUDA arch here Check the Compute Capability version of your + # GPU at: https://en.wikipedia.org/wiki/CUDA#GPUs_supported + if(CUDAToolkit_VERSION VERSION_GREATER_EQUAL 10.0) list(APPEND CMAKE_CUDA_ARCHITECTURES 75) # T4 endif() @@ -373,6 +389,7 @@ if(USE_CUDA) if(USE_CUDA) add_compile_definitions(__CUDA) add_compile_definitions(__UT_USE_CUDA) + target_compile_definitions(${ABACUS_BIN_NAME} PRIVATE __USE_NVTX) if (CMAKE_BUILD_TYPE STREQUAL "Debug") set(CMAKE_CUDA_FLAGS_DEBUG "${CMAKE_CUDA_FLAGS_DEBUG} -g -G" CACHE STRING "CUDA flags for debug build" FORCE) endif() @@ -468,20 +485,21 @@ if(MKLROOT) find_package(MKL REQUIRED) add_definitions(-D__MKL) include_directories(${MKL_INCLUDE} ${MKL_INCLUDE}/fftw) - list(APPEND math_libs MKL::MKL MKL::MKL_SCALAPACK) + list(APPEND math_libs MKL::MKL) if(CMAKE_CXX_COMPILER_ID MATCHES Intel) list(APPEND math_libs ifcore) endif() -elseif(USE_SW) - list(APPEND math_libs gfortran) - # SW architecture can only use its own math library -else() +elseif(NOT USE_SW) find_package(FFTW3 REQUIRED) find_package(Lapack REQUIRED) include_directories(${FFTW3_INCLUDE_DIRS}) list(APPEND math_libs FFTW3::FFTW3 LAPACK::LAPACK BLAS::BLAS) +if(USE_DSP) + target_link_libraries(${ABACUS_BIN_NAME} ${SCALAPACK_LIBRARY_DIR}) +else() find_package(ScaLAPACK REQUIRED) list(APPEND math_libs ScaLAPACK::ScaLAPACK) +endif() if(USE_OPENMP) list(APPEND math_libs FFTW3::FFTW3_OMP) endif() @@ -520,7 +538,7 @@ if(ENABLE_MLALGO) include_directories(${libnpy_INCLUDE_DIR}) endif() include_directories(${libnpy_SOURCE_DIR}/include) - + add_compile_definitions(__MLALGO) endif() @@ -560,7 +578,7 @@ if (ENABLE_CNPY) include_directories(${cnpy_INCLUDE_DIR}) endif() include_directories(${cnpy_SOURCE_DIR}) - + # find ZLIB and link find_package(ZLIB REQUIRED) target_link_libraries(${ABACUS_BIN_NAME} cnpy ZLIB::ZLIB) @@ -617,10 +635,6 @@ if(ENABLE_LIBCOMM) endif() - -list(APPEND math_libs m) -target_link_libraries(${ABACUS_BIN_NAME} ${math_libs}) - if(DEFINED Libxc_DIR) set(ENABLE_LIBXC ON) endif() @@ -649,6 +663,15 @@ if(DEFINED DeePMD_DIR) endif() endif() +if(DEFINED NEP_DIR) + find_package(NEP REQUIRED) + + if(NEP_FOUND) + add_compile_definitions(__NEP) + target_link_libraries(${ABACUS_BIN_NAME} NEP::nep) + endif() +endif() + if(DEFINED TensorFlow_DIR) find_package(TensorFlow REQUIRED) include_directories(${TensorFlow_DIR}/include) @@ -665,73 +688,13 @@ if(INFO) # modifications on blas_connector and lapack_connector endif() -# Add performance test in abacus -if(ENABLE_GOOGLEBENCH) - set(BUILD_TESTING ON) - find_package(benchmark HINTS ${BENCHMARK_DIR}) - if(NOT ${benchmark_FOUND}) - set(BENCHMARK_USE_BUNDLED_GTEST OFF) - include(FetchContent) - FetchContent_Declare( - benchmark - GIT_REPOSITORY https://github.com/google/benchmark.git - GIT_TAG "origin/main" - GIT_SHALLOW TRUE - GIT_PROGRESS TRUE) - set(BENCHMARK_ENABLE_TESTING OFF) - FetchContent_MakeAvailable(benchmark) - endif() -endif() - -if(BUILD_TESTING) - set_if_higher(CMAKE_CXX_STANDARD 14) # Required in orbital - include(CTest) - enable_testing() - find_package(GTest HINTS /usr/local/lib/ ${GTEST_DIR}) - if(NOT ${GTest_FOUND}) - include(FetchContent) - FetchContent_Declare( - googletest - GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG "origin/main" - GIT_SHALLOW TRUE - GIT_PROGRESS TRUE) - FetchContent_MakeAvailable(googletest) - endif() - # TODO: Try the GoogleTest module. - # https://cmake.org/cmake/help/latest/module/GoogleTest.html - add_subdirectory(tests) # Contains integration tests - - function(AddTest) # function for UT - cmake_parse_arguments(UT "DYN" "TARGET" - "LIBS;DYN_LIBS;STATIC_LIBS;SOURCES;DEPENDS" ${ARGN}) - add_executable(${UT_TARGET} ${UT_SOURCES}) - - if(ENABLE_COVERAGE) - add_coverage(${UT_TARGET}) - endif() - - # dependencies & link library - target_link_libraries(${UT_TARGET} ${UT_LIBS} Threads::Threads - GTest::gtest_main GTest::gmock_main) - if(ENABLE_GOOGLEBENCH) - target_link_libraries( - ${UT_TARGET} benchmark::benchmark) - endif() - - if(USE_OPENMP) - target_link_libraries(${UT_TARGET} OpenMP::OpenMP_CXX) - endif() - install(TARGETS ${UT_TARGET} DESTINATION ${CMAKE_BINARY_DIR}/tests) - add_test( - NAME ${UT_TARGET} - COMMAND ${UT_TARGET} - WORKING_DIRECTORY $) - endfunction(AddTest) -endif() +include(cmake/Testing.cmake) add_subdirectory(source) +include(cmake/BuildInfo.cmake) +setup_build_info() + target_link_libraries( ${ABACUS_BIN_NAME} base @@ -785,6 +748,17 @@ if(ENABLE_RAPIDJSON) target_link_libraries(${ABACUS_BIN_NAME} json_output) endif() +if (USE_SW) + target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswfft.a) + target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswscalapack.a) + target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswlapack.a) + target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswblas.a) + list(APPEND math_libs gfortran) +endif() + +list(APPEND math_libs m) +target_link_libraries(${ABACUS_BIN_NAME} ${math_libs}) + install(PROGRAMS ${ABACUS_BIN_PATH} TYPE BIN # DESTINATION ${CMAKE_INSTALL_BINDIR} @@ -792,4 +766,4 @@ install(PROGRAMS ${ABACUS_BIN_PATH} if(ENABLE_COVERAGE) coverage_evaluate() -endif() \ No newline at end of file +endif() diff --git a/Dockerfile.cuda b/Dockerfile.cuda index 6b9b812e1f..7b42580664 100644 --- a/Dockerfile.cuda +++ b/Dockerfile.cuda @@ -3,7 +3,7 @@ FROM nvidia/cuda:12.2.0-devel-ubuntu22.04 RUN apt update && apt install -y --no-install-recommends \ libopenblas-openmp-dev liblapack-dev libscalapack-mpi-dev libfftw3-dev libcereal-dev \ libxc-dev libgtest-dev libgmock-dev libbenchmark-dev python3-numpy \ - bc cmake git g++ make bc time sudo unzip vim wget libopenmpi-dev gfortran libtool-bin + bc cmake git g++ make time sudo unzip vim wget libopenmpi-dev gfortran libtool-bin ENV GIT_SSL_NO_VERIFY=true TERM=xterm-256color \ OMPI_ALLOW_RUN_AS_ROOT=1 OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 \ diff --git a/Dockerfile.gnu b/Dockerfile.gnu index 23c6b71c5e..693814a545 100644 --- a/Dockerfile.gnu +++ b/Dockerfile.gnu @@ -11,7 +11,7 @@ FROM ubuntu:22.04 RUN apt update && apt install -y --no-install-recommends \ libopenblas-openmp-dev liblapack-dev libscalapack-mpi-dev libelpa-dev libfftw3-dev libcereal-dev \ libxc-dev libgtest-dev libgmock-dev libbenchmark-dev python3-numpy \ - bc cmake git g++ make bc time sudo unzip vim wget gfortran + bc cmake git g++ make time sudo unzip vim wget gfortran # If you wish to use the LLVM compiler, replace 'g++' above with 'clang libomp-dev'. ENV GIT_SSL_NO_VERIFY=true TERM=xterm-256color \ diff --git a/Dockerfile.intel b/Dockerfile.intel index 5bf6308e79..cda84a6b98 100644 --- a/Dockerfile.intel +++ b/Dockerfile.intel @@ -2,7 +2,8 @@ FROM ubuntu:22.04 RUN apt-get update && apt-get install -y \ bc cmake git gnupg gcc g++ python3-numpy sudo wget vim unzip \ - libcereal-dev libxc-dev libgtest-dev libgmock-dev libbenchmark-dev + libcereal-dev libxc-dev libgtest-dev libgmock-dev libbenchmark-dev \ + pkg-config build-essential autoconf automake libtool # Following steps by https://software.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top/installation/install-using-package-managers/apt.html . RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ @@ -16,21 +17,44 @@ RUN apt-get update && \ intel-oneapi-compiler-dpcpp-cpp \ intel-oneapi-compiler-fortran \ intel-oneapi-mkl-devel \ - intel-oneapi-mpi-devel="2021.11.*" \ + intel-oneapi-mkl-sycl-devel \ + intel-oneapi-mkl-sycl-distributed-dft-devel \ + intel-oneapi-mpi-devel \ intel-oneapi-vtune && \ - rm /opt/intel/oneapi/mpi/latest && ln -s /opt/intel/oneapi/mpi/2021.11 /opt/intel/oneapi/mpi/latest -ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest \ - LIBRARY_PATH=/opt/intel/oneapi/tbb/latest/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/mpi/latest/lib:/opt/intel/oneapi/mkl/latest/lib/:/opt/intel/oneapi/ippcp/latest/lib/:/opt/intel/oneapi/ipp/latest/lib:/opt/intel/oneapi/dpl/latest/lib:/opt/intel/oneapi/dnnl/latest/lib:/opt/intel/oneapi/dal/latest/lib:/opt/intel/oneapi/compiler/latest/lib:/opt/intel/oneapi/ccl/latest/lib/ \ - LD_LIBRARY_PATH=/opt/intel/oneapi/tbb/latest/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/mpi/latest/opt/mpi/libfabric/lib:/opt/intel/oneapi/mpi/latest/lib:/opt/intel/oneapi/mkl/latest/lib:/opt/intel/oneapi/itac/latest/slib:/opt/intel/oneapi/ippcp/latest/lib/:/opt/intel/oneapi/ipp/latest/lib:/opt/intel/oneapi/dpl/latest/lib:/opt/intel/oneapi/dnnl/latest/lib:/opt/intel/oneapi/debugger/latest/opt/debugger/lib:/opt/intel/oneapi/dal/latest/lib:/opt/intel/oneapi/compiler/latest/opt/oclfpga/host/linux64/lib:/opt/intel/oneapi/compiler/latest/opt/compiler/lib:/opt/intel/oneapi/compiler/latest/lib:/opt/intel/oneapi/ccl/latest/lib/ \ - PATH=/opt/intel/oneapi/vtune/latest/bin64:/opt/intel/oneapi/mpi/latest/opt/mpi/libfabric/bin:/opt/intel/oneapi/mpi/latest/bin:/opt/intel/oneapi/mkl/latest/bin/:/opt/intel/oneapi/itac/latest/bin:/opt/intel/oneapi/inspector/latest/bin64:/opt/intel/oneapi/dpcpp-ct/latest/bin:/opt/intel/oneapi/dev-utilities/latest/bin:/opt/intel/oneapi/debugger/latest/opt/debugger/bin:/opt/intel/oneapi/compiler/latest/opt/oclfpga/bin:/opt/intel/oneapi/compiler/latest/bin:/opt/intel/oneapi/advisor/latest/bin64:/opt/mamba/bin:/opt/mamba/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \ - MKLROOT=/opt/intel/oneapi/mkl/latest \ - FI_PROVIDER_PATH=/opt/intel/oneapi/mpi/latest/opt/mpi/libfabric/lib/prov:/usr/lib/x86_64-linux-gnu/libfabric \ - CMAKE_PREFIX_PATH=/opt/intel/oneapi/tbb/latest/env/..:/opt/intel/oneapi/mkl/latest/lib/cmake:/opt/intel/oneapi/ipp/latest/lib/cmake/ipp:/opt/intel/oneapi/dpl/latest/lib/cmake/oneDPL:/opt/intel/oneapi/dnnl/latest/lib/cmake:/opt/intel/oneapi/dal/latest:/opt/intel/oneapi/compiler/latest \ - CMPLR_ROOT=/opt/intel/oneapi/compiler/latest + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +RUN ls -la /opt/intel/oneapi/mkl/latest/lib/intel64/*sycl*dft* +RUN ls -la /opt/intel/oneapi/mkl/latest/lib/intel64/*dis* + +# Set oneAPI environment variables +ENV ONEAPI_ROOT=/opt/intel/oneapi +ENV I_MPI_ROOT=${ONEAPI_ROOT}/mpi/latest +ENV MKLROOT=${ONEAPI_ROOT}/mkl/latest +ENV CMPLR_ROOT=${ONEAPI_ROOT}/compiler/latest + +# Set library paths and include paths +ENV LIBRARY_PATH=${ONEAPI_ROOT}/tbb/latest/lib/intel64/gcc4.8:${ONEAPI_ROOT}/mpi/latest/lib:${MKLROOT}/lib/intel64:${ONEAPI_ROOT}/compiler/latest/lib/:${LIBRARY_PATH} +ENV LD_LIBRARY_PATH=${ONEAPI_ROOT}/tbb/latest/lib/intel64/gcc4.8:${ONEAPI_ROOT}/mpi/latest/lib:${MKLROOT}/lib/intel64:${ONEAPI_ROOT}/compiler/latest/lib/:${LD_LIBRARY_PATH} +ENV PATH=${ONEAPI_ROOT}/vtune/latest/bin64:${ONEAPI_ROOT}/mpi/latest/bin:${MKLROOT}/bin/intel64:${ONEAPI_ROOT}/compiler/latest/bin:${PATH} +ENV CPATH=${MKLROOT}/include:${ONEAPI_ROOT}/mpi/latest/include:${CPATH} +ENV PKG_CONFIG_PATH=${MKLROOT}/lib/pkgconfig:${ONEAPI_ROOT}/mpi/latest/lib/pkgconfig:${PKG_CONFIG_PATH} + +# Set CMAKE related paths +ENV CMAKE_PREFIX_PATH=${ONEAPI_ROOT}/tbb/latest:${MKLROOT}/lib/cmake:${ONEAPI_ROOT}/dpl/latest/lib/cmake:${ONEAPI_ROOT}/dnnl/latest/lib/cmake:${ONEAPI_ROOT}/dal/latest:${ONEAPI_ROOT}/compiler/latest:${CMAKE_PREFIX_PATH} SHELL ["/bin/bash", "-c"] ENV CC=mpiicx CXX=mpiicpx FC=mpiifx +# Verify oneAPI installation +RUN source ${ONEAPI_ROOT}/setvars.sh && \ + echo "=== Verify compiler ===" && \ + which mpiicx && mpiicx --version && \ + echo "=== Verify MKL ===" && \ + ls ${MKLROOT}/lib/intel64/ && \ + echo "=== Verify MPI ===" && \ + which mpirun && mpirun --version + # https://elpa.mpcdf.mpg.de/software/tarball-archive/ELPA_TARBALL_ARCHIVE.html RUN source /opt/intel/oneapi/setvars.sh && \ cd /tmp && \ @@ -39,28 +63,141 @@ RUN source /opt/intel/oneapi/setvars.sh && \ tar xzf elpa-$ELPA_VER.tar.gz && rm elpa-$ELPA_VER.tar.gz && \ cd elpa-$ELPA_VER && mkdir build && cd build && \ ../configure CFLAGS="-O3 -march=native" FCFLAGS="-O3 -qmkl=cluster" --enable-openmp && \ - make -j`nproc` && \ + make -j$(nproc) && \ make PREFIX=/usr/local install && \ ln -s /usr/local/include/elpa_openmp-$ELPA_VER/elpa /usr/local/include/ && \ cd /tmp && rm -rf elpa-$ELPA_VER -RUN cd /tmp && git clone https://github.com/Tencent/rapidjson.git && cp -r rapidjson/include/rapidjson /usr/include/ \ - && rm -rf rapidjson +# rapidjson and libtorch +RUN cd /tmp && git clone --depth 1 https://github.com/Tencent/rapidjson.git && cp -r rapidjson/include/rapidjson /usr/include/ && rm -rf rapidjson +RUN wget -q https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.0.0%2Bcpu.zip -O /tmp/libtorch.zip && \ + unzip -q /tmp/libtorch.zip -d /opt && rm -f /tmp/libtorch.zip +ENV CMAKE_PREFIX_PATH=/opt/libtorch/share/cmake:${CMAKE_PREFIX_PATH} -RUN wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.0.0%2Bcpu.zip \ - --no-check-certificate --quiet -O libtorch.zip && \ - unzip -q libtorch.zip -d /opt && rm libtorch.zip -ENV CMAKE_PREFIX_PATH=/opt/libtorch/share/cmake +###### PEXSI PART: pexsi and gklib and metis and parmetis and superlu_dist +ENV GKLIB_VERSION="master" +ENV METIS_VERSION="master" +ENV PARMETIS_VERSION="main" +ENV SUPERLU_DIST_VERSION=7.2.0 +ENV PEXSI_VERSION=2.0.0 +ENV GKLIB_ROOT=/usr/local/gklib-${GKLIB_VERSION} +ENV METIS32_ROOT=/usr/local/metis32-${METIS_VERSION} +ENV PARMETIS32_ROOT=/usr/local/parmetis32-${PARMETIS_VERSION} +ENV PEXSI32_ROOT=/usr/local/pexsi32-${PEXSI_VERSION} +ENV SUPERLU_DIST32_ROOT=/usr/local/superlu_dist32-${SUPERLU_DIST_VERSION} -ADD https://api.github.com/repos/deepmodeling/abacus-develop/git/refs/heads/develop /dev/null +# 2. install GKlib +RUN wget https://codeload.github.com/KarypisLab/GKlib/zip/refs/heads/${GKLIB_VERSION} -O GKlib-${GKLIB_VERSION}.zip && \ + unzip GKlib-${GKLIB_VERSION}.zip && \ + cd GKlib-${GKLIB_VERSION} && \ + make config shared=1 prefix=${GKLIB_ROOT} openmp=set && \ + make -j$(nproc) && \ + make install && \ + ls ${GKLIB_ROOT}/lib && \ + cp ${GKLIB_ROOT}/lib/libGKlib.so.0 ${GKLIB_ROOT}/lib/libGKlib.so && \ + cd / && rm -rf GKlib-${GKLIB_VERSION} GKlib-${GKLIB_VERSION}.zip +#.so file CANNOT be found otherwise. +# 2. install METIS +RUN export LD_LIBRARY_PATH=${GKLIB_ROOT}/lib:${LD_LIBRARY_PATH} && \ + wget https://codeload.github.com/KarypisLab/METIS/zip/refs/heads/${METIS_VERSION} -O METIS-${METIS_VERSION}.zip && \ + unzip METIS-${METIS_VERSION}.zip && \ + cd METIS-${METIS_VERSION} && \ + make config shared=1 prefix=${METIS32_ROOT} gklib_path=${GKLIB_ROOT} && \ + make -j$(nproc) && \ + make install && \ + cd / && rm -rf METIS-${METIS_VERSION} METIS-${METIS_VERSION}.zip -RUN source /opt/intel/oneapi/setvars.sh && \ - git clone https://github.com/deepmodeling/abacus-develop.git --depth 1 && \ +# 3. install ParMETIS +RUN export LD_LIBRARY_PATH=${METIS32_ROOT}/lib:${GKLIB_ROOT}/lib:${LD_LIBRARY_PATH} && \ + wget https://codeload.github.com/KarypisLab/ParMETIS/zip/refs/heads/${PARMETIS_VERSION} -O ParMETIS-${PARMETIS_VERSION}.zip && \ + unzip ParMETIS-${PARMETIS_VERSION}.zip && \ + cd ParMETIS-${PARMETIS_VERSION} && \ + make config shared=1 prefix=${PARMETIS32_ROOT} gklib_path=${GKLIB_ROOT} metis_path=${METIS32_ROOT} && \ + make -j$(nproc) && \ + make install && \ + cd / && rm -rf ParMETIS-${PARMETIS_VERSION} ParMETIS-${PARMETIS_VERSION}.zip + +# 4. install SuperLU_DIST +RUN wget https://codeload.github.com/xiaoyeli/superlu_dist/tar.gz/refs/tags/v${SUPERLU_DIST_VERSION} -O v${SUPERLU_DIST_VERSION}.tar.gz && \ + tar -xzf v${SUPERLU_DIST_VERSION}.tar.gz && \ + cd superlu_dist-${SUPERLU_DIST_VERSION} && \ + mkdir build && cd build && \ + cmake .. \ + -DTPL_ENABLE_PARMETISLIB=ON \ + -DTPL_PARMETIS_LIBRARIES="${PARMETIS32_ROOT}/lib/libparmetis.so;${METIS32_ROOT}/lib/libmetis.so;${GKLIB_ROOT}/lib/libGKlib.so" \ + -DTPL_PARMETIS_INCLUDE_DIRS="${PARMETIS32_ROOT}/include;${METIS32_ROOT}/include;${GKLIB_ROOT}/include" \ + -DTPL_ENABLE_INTERNAL_BLASLIB=OFF \ + -DTPL_ENABLE_LAPACKLIB=ON \ + -DTPL_ENABLE_COMBBLASLIB=OFF \ + -DTPL_ENABLE_CUDALIB=OFF \ + -Denable_complex16=ON \ + -DXSDK_INDEX_SIZE=32 \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_INSTALL_PREFIX=${SUPERLU_DIST32_ROOT} \ + -DCMAKE_C_FLAGS="-O3 -fopenmp" \ + -DCMAKE_CXX_FLAGS="-O3 -fopenmp" \ + -DXSDK_ENABLE_Fortran=ON \ + -DCMAKE_Fortran_COMPILER=mpiifx && \ + make -j$(nproc) && \ + make install && \ + cd / && rm -rf superlu_dist-${SUPERLU_DIST_VERSION} v${SUPERLU_DIST_VERSION}.tar.gz + +### -DCMAKE_C_COMPILER=mpiicc \ +### -DCMAKE_CXX_COMPILER=mpiicpc \ +### -DCMAKE_CUDA_COMPILER=nvcc \ + +# 5. install PEXSI +RUN export LD_LIBRARY_PATH=${SUPERLU_DIST32_ROOT}/lib:${METIS32_ROOT}/lib:${PARMETIS32_ROOT}/lib:${GKLIB_ROOT}/lib:${LD_LIBRARY_PATH} && \ + export LIBRARY_PATH=${SUPERLU_DIST32_ROOT}/lib:${METIS32_ROOT}/lib:${PARMETIS32_ROOT}/lib:${GKLIB_ROOT}/lib:${LIBRARY_PATH} && \ + export PKG_CONFIG_PATH=${SUPERLU_DIST32_ROOT}/lib/pkgconfig:${METIS32_ROOT}/lib/pkgconfig:${PARMETIS32_ROOT}/lib/pkgconfig:${GKLIB_ROOT}/lib/pkgconfig:${PKG_CONFIG_PATH} && \ + export CPATH=${SUPERLU_DIST32_ROOT}/include:${PARMETIS32_ROOT}/include:${METIS32_ROOT}/include:${GKLIB_ROOT}/include:${CMAKE_PREFIX_PATH} && \ + export CMAKE_PREFIX_PATH=${SUPERLU_DIST32_ROOT}:${PARMETIS32_ROOT}:${METIS32_ROOT}:${GKLIB_ROOT}:${CMAKE_PREFIX_PATH} && \ + wget https://bitbucket.org/berkeleylab/pexsi/downloads/pexsi_v${PEXSI_VERSION}.tar.gz && \ + tar -xzf pexsi_v${PEXSI_VERSION}.tar.gz && \ + cd pexsi_v${PEXSI_VERSION} && \ + sed -i 's/^add_pexsi_f_example_exe/# add_pexsi_f_example_exe/g' fortran/CMakeLists.txt && \ + sed -i 's/^add_pexsi_example_exe/# add_pexsi_example_exe/g' examples/CMakeLists.txt && \ + sed -i 's/add_executable/# add_executable/g' fortran/CMakeLists.txt && \ + sed -i 's/add_executable/# add_executable/g' examples/CMakeLists.txt && \ + mkdir build && cd build && \ + cmake .. \ + -DCMAKE_INSTALL_PREFIX=${PEXSI32_ROOT} \ + -DPEXSI_ENABLE_OPENMP=ON \ + -DPEXSI_ENABLE_FORTRAN=OFF && \ + make pexsi -j$(nproc) && \ + make install && \ + cd / && rm -rf pexsi_v${PEXSI_VERSION} pexsi_v${PEXSI_VERSION}.tar.gz + +ENV LD_LIBRARY_PATH=${GKLIB_ROOT}/lib:${METIS32_ROOT}/lib:${PARMETIS32_ROOT}/lib:${SUPERLU32_DIST_ROOT}/lib:${PEXSI32_ROOT}/lib:${LD_LIBRARY_PATH} +ENV PKG_CONFIG_PATH=${GKLIB_ROOT}/lib/pkgconfig:${METIS32_ROOT}/lib/pkgconfig:${PARMETIS32_ROOT}/lib/pkgconfig:${SUPERLU32_DIST_ROOT}/lib/pkgconfig:${PEXSI32_ROOT}/lib/pkgconfig:${PKG_CONFIG_PATH} +ENV CPATH=${GKLIB_ROOT}/include:${METIS32_ROOT}/include:${PARMETIS32_ROOT}/include:${SUPERLU32_DIST_ROOT}/include:${PEXSI32_ROOT}/include:${CPATH} +ENV CMAKE_PREFIX_PATH=${PEXSI32_ROOT}:${SUPERLU_DIST32_ROOT}:${PARMETIS32_ROOT}:${METIS32_ROOT}:${GKLIB_ROOT}:${CMAKE_PREFIX_PATH} + +### -DCMAKE_C_COMPILER=mpiicc \ +### -DCMAKE_CXX_COMPILER=mpiicpc \ +###### END of PEXSI PART + +# Clone and build abacus (optional during image build; keep for CI image) +ADD https://api.github.com/repos/deepmodeling/abacus-develop/git/refs/heads/develop /dev/null +RUN cd /tmp && git clone https://github.com/deepmodeling/abacus-develop.git --depth 1 && \ cd abacus-develop && \ - cmake -B build -DENABLE_MLALGO=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_RAPIDJSON=ON && \ - cmake --build build -j`nproc` && \ + cmake -B build \ + -DENABLE_MLALGO=ON \ + -DENABLE_PEXSI=ON \ + -DENABLE_LIBXC=ON \ + -DENABLE_LIBRI=ON \ + -DENABLE_RAPIDJSON=ON \ + -DCMAKE_BUILD_TYPE=Release && \ + cmake --build build -j"$(nproc)" && \ cmake --install build && \ - rm -rf build && \ - abacus --version - #&& rm -rf abacus-develop + (/usr/local/bin/abacus --version || echo "ABACUS installed but version check failed") && \ + rm -rf /tmp/abacus-develop + # -DMKL_SYCL=OFF \ + # -DMKL_SYCL_DISTRIBUTED_DFT:BOOL=OFF \ + # cd /tmp && wget https://github.com/deepmodeling/abacus-develop/archive/refs/tags/v3.9.0.17.zip -O abacus-develop-3.9.0.17.zip && \ + # unzip abacus-develop-3.9.0.17.zip && \ + # cd abacus-develop-3.9.0.17 && \ + # sed -i '3i\#include "source_estate/elecstate_lcao.h"' source/source_lcao/edm.cpp && \ +# Default entry +CMD ["/bin/bash"] diff --git a/cmake/BuildInfo.cmake b/cmake/BuildInfo.cmake new file mode 100644 index 0000000000..94a267e9c6 --- /dev/null +++ b/cmake/BuildInfo.cmake @@ -0,0 +1,28 @@ +# ============================================================================= +# Generate Build Information Header (Including Information Collection) +# ============================================================================== + +# include_guard(GLOBAL) + +function(setup_build_info) + message(STATUS "Setting up build information...") + + include(cmake/CollectBuildInfoVars.cmake) + +set(BUILD_INFO_TEMPLATE "${CMAKE_SOURCE_DIR}/source/source_io/build_info.h.in") +set(BUILD_INFO_OUTPUT "${CMAKE_BINARY_DIR}/source/source_io/build_info.h") + +configure_file( + ${BUILD_INFO_TEMPLATE} + ${BUILD_INFO_OUTPUT} + @ONLY +) + + # add_library(BuildInfo::Headers INTERFACE IMPORTED GLOBAL) + # target_include_directories(BuildInfo::Headers + # INTERFACE + # ${CMAKE_BINARY_DIR}/source/source_io + # ) + + message(STATUS "Build info header configured: ${BUILD_INFO_OUTPUT}") +endfunction() diff --git a/cmake/CollectBuildInfoVars.cmake b/cmake/CollectBuildInfoVars.cmake new file mode 100644 index 0000000000..79e925af1d --- /dev/null +++ b/cmake/CollectBuildInfoVars.cmake @@ -0,0 +1,416 @@ +# ============================================================================= +# This script is included to set all build information variables in the +# calling scope. It does not use a function to avoid variable scope issues. +# ============================================================================== + +# --- 1. Collect Basic Build Information --- +if(NOT CMAKE_BUILD_TYPE) + set(ABACUS_BUILD_TYPE "Custom (no CMAKE_BUILD_TYPE)") +else() + set(ABACUS_BUILD_TYPE ${CMAKE_BUILD_TYPE}) +endif() +if(DEFINED ENV{USER}) + set(ABACUS_BUILD_USER "$ENV{USER}") +else() + set(ABACUS_BUILD_USER "Unknown") +endif() +site_name(ABACUS_BUILD_HOST) +set(ABACUS_CXX_COMPILER_ID ${CMAKE_CXX_COMPILER_ID}) +set(ABACUS_CXX_COMPILER_PATH ${CMAKE_CXX_COMPILER}) +set(ABACUS_CXX_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION}) +set(TEMP_CXX_FLAGS_LIST "${CMAKE_CXX_FLAGS}") +#if(DEFINED CMAKE_BUILD_TYPE) +# string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER) +# list(APPEND TEMP_CXX_FLAGS_LIST "${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}") +#endif() +string(REPLACE ";" " " ABACUS_CXX_FLAGS "${TEMP_CXX_FLAGS_LIST}") +set(TEMP_LINKER_FLAGS_LIST "${CMAKE_EXE_LINKER_FLAGS}") +#if(DEFINED CMAKE_BUILD_TYPE) +# string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER) +# list(APPEND TEMP_LINKER_FLAGS_LIST "${CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}") +#endif() +string(REPLACE ";" " " ABACUS_LINKER_FLAGS "${TEMP_LINKER_FLAGS_LIST}") +set(TEMP_CUDA_FLAGS_LIST "${CMAKE_EXE_CUDA_FLAGS}") +string(REPLACE ";" " " ABACUS_CUDA_FLAGS "${TEMP_CUDA_FLAGS_LIST}") + +# --- 2. Determine Target Platform --- +if(USE_DSP) + set(ABACUS_PLATFORM_NAME "DSP") +elseif(USE_SW) + set(ABACUS_PLATFORM_NAME "CPU + SW-MATH") +elseif(USE_CUDA_ON_DCU) + set(ABACUS_PLATFORM_NAME "CPU + DCU (Hygon CUDA)") +elseif(USE_CUDA) + set(ABACUS_PLATFORM_NAME "CPU + NVIDIA CUDA") +elseif(USE_ROCM) + set(ABACUS_PLATFORM_NAME "CPU + AMD ROCm") +else() + set(ABACUS_PLATFORM_NAME "CPU") +endif() + +# --- 3. Sanitizers & Debugging --- +if(ENABLE_ASAN) + set(ABACUS_ASAN_STATUS "yes") +else() + set(ABACUS_ASAN_STATUS "no") +endif() +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(ABACUS_DEBUG_SYMBOLS "yes") +else() + set(ABACUS_DEBUG_SYMBOLS "no") +endif() + +# --- 4. Get Dependency Versions (Enhanced with path fallback) --- +# MPI Implementation and Version +set(ABACUS_MPI_IMPLEMENTATION "no") +set(ABACUS_MPI_VERSION "no") +set(ABACUS_CUDA_AWARE_MPI "no") +if(ENABLE_MPI) + execute_process(COMMAND ${MPI_CXX_COMPILER} --version OUTPUT_VARIABLE MPI_VERSION_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + if(MPI_VERSION_OUTPUT MATCHES "Intel") + set(ABACUS_MPI_IMPLEMENTATION "Intel MPI") + string(REGEX MATCH "Intel\\(R\\) oneAPI DPC\\+\\+/C\\+\\+ Compiler ([0-9]+\\.[0-9]+\\.[0-9]+)" _ "${MPI_VERSION_OUTPUT}") + if(CMAKE_MATCH_1) + set(MPI_DETECTED_VERSION "${CMAKE_MATCH_1}") + else() + string(REGEX MATCH "icpc \\(ICC\\) ([0-9]+\\.[0-9]+\\.[0-9]+)" _ "${MPI_VERSION_OUTPUT}") + if(CMAKE_MATCH_1) + set(MPI_DETECTED_VERSION "${CMAKE_MATCH_1}") + endif() + endif() + elseif(MPI_VERSION_OUTPUT MATCHES "Open MPI") + set(ABACUS_MPI_IMPLEMENTATION "OpenMPI") + elseif(MPI_VERSION_OUTPUT MATCHES "MPICH") + set(ABACUS_MPI_IMPLEMENTATION "MPICH") + else() + set(ABACUS_MPI_IMPLEMENTATION "Unknown") + endif() + # Fallback: try mpirun/mpiexec + if(NOT MPI_DETECTED_VERSION) + find_program(MPIRUN_EXECUTABLE mpirun) + if(MPIRUN_EXECUTABLE) + execute_process(COMMAND ${MPIRUN_EXECUTABLE} --version OUTPUT_VARIABLE MPIRUN_VERSION_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + if(MPIRUN_VERSION_OUTPUT MATCHES "Open MPI") + set(ABACUS_MPI_IMPLEMENTATION "OpenMPI") + string(REGEX MATCH "Open MPI ([0-9]+\\.[0-9]+\\.[0-9]+)" _ "${MPIRUN_VERSION_OUTPUT}") + if(CMAKE_MATCH_1) + set(MPI_DETECTED_VERSION "${CMAKE_MATCH_1}") + endif() + elseif(MPIRUN_VERSION_OUTPUT MATCHES "MPICH") + set(ABACUS_MPI_IMPLEMENTATION "MPICH") + string(REGEX MATCH "MPICH Version: ([0-9]+\\.[0-9]+\\.[0-9]+)" _ "${MPIRUN_VERSION_OUTPUT}") + if(CMAKE_MATCH_1) + set(MPI_DETECTED_VERSION "${CMAKE_MATCH_1}") + endif() + endif() + endif() + endif() + if(MPI_DETECTED_VERSION) + set(ABACUS_MPI_VERSION "yes (v${MPI_DETECTED_VERSION})") + elseif(MPI_VERSION) + set(ABACUS_MPI_VERSION "yes (v${MPI_VERSION})") + else() + set(ABACUS_MPI_VERSION "yes (version unknown)") + endif() + if(USE_CUDA) + # OpenMPI hint + find_program(OMPI_INFO_EXECUTABLE ompi_info) + if(OMPI_INFO_EXECUTABLE) + execute_process(COMMAND ${OMPI_INFO_EXECUTABLE} --parsable --all OUTPUT_VARIABLE OMPI_INFO_OUT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + if(OMPI_INFO_OUT MATCHES "mpi_built_with_cuda_support:value:true") + set(ABACUS_CUDA_AWARE_MPI "yes") + else() + set(ABACUS_CUDA_AWARE_MPI "no (or undetectable)") + endif() + else() + execute_process(COMMAND ${MPI_CXX_COMPILER} -showme:compile OUTPUT_VARIABLE MPI_COMPILE_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + if(MPI_COMPILE_FLAGS MATCHES "cuda" OR MPI_COMPILE_FLAGS MATCHES "CUDA") + set(ABACUS_CUDA_AWARE_MPI "yes (likely)") + else() + set(ABACUS_CUDA_AWARE_MPI "no (or undetectable)") + endif() + endif() + else() + set(ABACUS_CUDA_AWARE_MPI "no (CUDA not enabled)") + endif() +endif() + +# OpenMP Version +if(USE_OPENMP AND OpenMP_CXX_VERSION) + set(ABACUS_OPENMP_VERSION "yes (v${OpenMP_CXX_VERSION})") +elseif(USE_OPENMP) + set(ABACUS_OPENMP_VERSION "yes (version unknown)") +else() + set(ABACUS_OPENMP_VERSION "no") +endif() + +# Core Math Libraries +if(ENABLE_LCAO AND USE_ELPA) + set(ABACUS_ELPA_VERSION "yes (version unknown)") + if(ELPA_VERSION) + set(ABACUS_ELPA_VERSION "yes (v${ELPA_VERSION})") + else() + find_program(ELPA_VERSION_EXE elpa2_print_version PATHS ${ELPA_DIR}/bin NO_DEFAULT_PATH) + if(ELPA_VERSION_EXE) + execute_process(COMMAND ${ELPA_VERSION_EXE} OUTPUT_VARIABLE ELPA_VER_RAW OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + if(ELPA_VER_RAW) + set(ABACUS_ELPA_VERSION "yes (${ELPA_VER_RAW})") +endif() + endif() + endif() + if(ABACUS_ELPA_VERSION STREQUAL "yes (version unknown)" AND ELPA_DIR) + set(ABACUS_ELPA_VERSION "yes (path: ${ELPA_DIR})") + endif() +else() + set(ABACUS_ELPA_VERSION "no") +endif() + +if(MKLROOT) + set(ABACUS_MKL_SUPPORT "yes (version unknown)") + find_path(MKL_VERSION_HEADER mkl_version.h PATHS ${MKL_INCLUDE} NO_DEFAULT_PATH) + if(MKL_VERSION_HEADER) + file(STRINGS "${MKL_VERSION_HEADER}" MKL_VERSION_LINE REGEX "^#define INTEL_MKL_VERSION [0-9]+") + string(REGEX REPLACE "^#define INTEL_MKL_VERSION ([0-9]+)" "\\1" MKL_VER_NUM "${MKL_VERSION_LINE}") + if(MKL_VER_NUM) + math(EXPR MKL_MAJOR "${MKL_VER_NUM} / 10000") + math(EXPR MKL_MINOR "(${MKL_VER_NUM} % 10000) / 100") + math(EXPR MKL_PATCH "${MKL_VER_NUM} % 100") + set(ABACUS_MKL_SUPPORT "yes (v${MKL_MAJOR}.${MKL_MINOR}.${MKL_PATCH})") + endif() + endif() +else() + set(ABACUS_MKL_SUPPORT "no") +endif() + +if(ENABLE_LIBXC AND Libxc_VERSION) + set(ABACUS_LIBXC_VERSION "yes (v${Libxc_VERSION})") +elseif(ENABLE_LIBXC) + set(ABACUS_LIBXC_VERSION "yes (path: ${Libxc_DIR})") +else() + set(ABACUS_LIBXC_VERSION "no") +endif() + +if(NOT USE_SW AND NOT MKLROOT AND FFTW3_VERSION) + set(ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION})") +elseif(NOT USE_SW AND NOT MKLROOT) + if(FFTW3_INCLUDE_DIR AND EXISTS "${FFTW3_INCLUDE_DIR}/fftw3.h") + file(STRINGS "${FFTW3_INCLUDE_DIR}/fftw3.h" _fftw_ver_line REGEX "^#define[\t ]+FFTW_VERSION[\t ]+\"[^\"]+\"") + if(_fftw_ver_line) + string(REGEX REPLACE "^#define[\t ]+FFTW_VERSION[\t ]+\"([^\"]+)\"" "\\1" FFTW3_VERSION "${_fftw_ver_line}") + set(ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION})") + else() + set(ABACUS_FFTW_VERSION "yes (version unknown)") + endif() + else() + set(ABACUS_FFTW_VERSION "yes (version unknown)") + endif() +else() + set(ABACUS_FFTW_VERSION "no (using MKL or SW)") +endif() + +# Cereal Version (Enhanced) +if(ENABLE_LCAO) + set(ABACUS_CEREAL_VERSION "yes (version unknown)") + if(NOT CEREAL_INCLUDE_DIR) + find_path(CEREAL_INCLUDE_DIR cereal/version.hpp) + endif() + if(CEREAL_INCLUDE_DIR AND EXISTS "${CEREAL_INCLUDE_DIR}/cereal/version.hpp") + file(STRINGS "${CEREAL_INCLUDE_DIR}/cereal/version.hpp" CEREAL_MAJOR_LINE REGEX "^#define CEREAL_VERSION_MAJOR") + file(STRINGS "${CEREAL_INCLUDE_DIR}/cereal/version.hpp" CEREAL_MINOR_LINE REGEX "^#define CEREAL_VERSION_MINOR") + file(STRINGS "${CEREAL_INCLUDE_DIR}/cereal/version.hpp" CEREAL_PATCH_LINE REGEX "^#define CEREAL_VERSION_PATCH") + string(REGEX REPLACE "^#define CEREAL_VERSION_MAJOR +([0-9]+).*" "\\1" CEREAL_MAJOR "${CEREAL_MAJOR_LINE}") + string(REGEX REPLACE "^#define CEREAL_VERSION_MINOR +([0-9]+).*" "\\1" CEREAL_MINOR "${CEREAL_MINOR_LINE}") + string(REGEX REPLACE "^#define CEREAL_VERSION_PATCH +([0-9]+).*" "\\1" CEREAL_PATCH "${CEREAL_PATCH_LINE}") + if(CEREAL_MAJOR AND CEREAL_MINOR AND CEREAL_PATCH) + set(ABACUS_CEREAL_VERSION "yes (v${CEREAL_MAJOR}.${CEREAL_MINOR}.${CEREAL_PATCH})") + endif() + endif() + if(ABACUS_CEREAL_VERSION STREQUAL "yes (version unknown)" AND CEREAL_INCLUDE_DIR) + set(ABACUS_CEREAL_VERSION "yes (path: ${CEREAL_INCLUDE_DIR})") + endif() +else() + set(ABACUS_CEREAL_VERSION "no") +endif() + +# Accelerators +if(USE_CUDA AND CUDAToolkit_VERSION) + set(ABACUS_CUDA_VERSION "yes (v${CUDAToolkit_VERSION})") +elseif(USE_CUDA) + set(ABACUS_CUDA_VERSION "yes (version unknown)") +else() + set(ABACUS_CUDA_VERSION "no") +endif() + +if(USE_ROCM) + set(ABACUS_ROCM_VERSION "yes (version unknown)") + if(HIP_VERSION) + set(ABACUS_ROCM_VERSION "yes (v${HIP_VERSION})") + else() + find_program(HIPCC_EXECUTABLE hipcc) + if(HIPCC_EXECUTABLE) + execute_process(COMMAND ${HIPCC_EXECUTABLE} --version OUTPUT_VARIABLE HIPCC_VERSION_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + string(REGEX MATCH "HIP version: ([0-9]+\\.[0-9]+\\.[0-9]+)" _ "${HIPCC_VERSION_OUTPUT}") + if(CMAKE_MATCH_1) + set(ABACUS_ROCM_VERSION "yes (v${CMAKE_MATCH_1})") +endif() + endif() + endif() + if(ABACUS_ROCM_VERSION STREQUAL "yes (version unknown)" AND ROCM_PATH) + set(ABACUS_ROCM_VERSION "yes (path: ${ROCM_PATH})") + endif() +else() + set(ABACUS_ROCM_VERSION "no") +endif() + +if(DEFINED CAL_CUSOLVERMP_PATH AND ENABLE_CUSOLVERMP) + set(ABACUS_CUSOLVERMP_VERSION "yes (path: ${CAL_CUSOLVERMP_PATH})") +elseif(ENABLE_CUSOLVERMP) + set(ABACUS_CUSOLVERMP_VERSION "yes (version unknown)") +else() + set(ABACUS_CUSOLVERMP_VERSION "no") +endif() + +# EXX Libraries +if(ENABLE_LIBRI) + set(ABACUS_LIBRI_VERSION "yes (version unknown)") + set(LIBRI_VERSION_HEADER "${LIBRI_DIR}/include/RI/version.h") + if(EXISTS ${LIBRI_VERSION_HEADER}) + file(STRINGS "${LIBRI_VERSION_HEADER}" LIBRI_MAJOR_LINE REGEX "__LIBRI_VERSION_MAJOR") + file(STRINGS "${LIBRI_VERSION_HEADER}" LIBRI_MINOR_LINE REGEX "__LIBRI_VERSION_MINOR") + file(STRINGS "${LIBRI_VERSION_HEADER}" LIBRI_PATCH_LINE REGEX "__LIBRI_VERSION_PATCH") + string(REGEX MATCH "([0-9]+)" LIBRI_MAJOR "${LIBRI_MAJOR_LINE}") + string(REGEX MATCH "([0-9]+)" LIBRI_MINOR "${LIBRI_MINOR_LINE}") + string(REGEX MATCH "([0-9]+)" LIBRI_PATCH "${LIBRI_PATCH_LINE}") + if(LIBRI_MAJOR AND LIBRI_MINOR AND LIBRI_PATCH) + set(ABACUS_LIBRI_VERSION "yes (v${LIBRI_MAJOR}.${LIBRI_MINOR}.${LIBRI_PATCH})") + endif() + endif() + if(ABACUS_LIBRI_VERSION STREQUAL "yes (version unknown)" AND LIBRI_DIR) + set(ABACUS_LIBRI_VERSION "yes (path: ${LIBRI_DIR})") + endif() +else() + set(ABACUS_LIBRI_VERSION "no") +endif() + +if(ENABLE_LIBCOMM AND LIBCOMM_DIR) + set(ABACUS_LIBCOMM_VERSION "yes (path: ${LIBCOMM_DIR})") +elseif(ENABLE_LIBCOMM) + set(ABACUS_LIBCOMM_VERSION "yes (version unknown)") +else() + set(ABACUS_LIBCOMM_VERSION "no") +endif() + +# ML & AI Libraries +if((DEFINED Torch_DIR OR ENABLE_MLALGO) AND Torch_VERSION) + set(ABACUS_LIBTORCH_VERSION "yes (v${Torch_VERSION})") +elseif(DEFINED Torch_DIR OR ENABLE_MLALGO) + set(ABACUS_LIBTORCH_VERSION "yes (path: ${Torch_DIR})") +else() + set(ABACUS_LIBTORCH_VERSION "no") +endif() + +if(DEFINED DeePMD_DIR) + set(ABACUS_DEEPMD_VERSION "yes (version unknown)") + set(DEEPMD_VERSION_HEADER "${DeePMD_DIR}/include/deepmd/version.h") + if(EXISTS ${DEEPMD_VERSION_HEADER}) + file(STRINGS "${DEEPMD_VERSION_HEADER}" DEEPMD_VERSION_LINE REGEX "global_install_prefix") + if(DEEPMD_VERSION_LINE) + string(REGEX MATCH "global_install_prefix=\".*deepmd-kit-([0-9]+\\.[0-9]+\\.[0-9]+)\"" _ "${DEEPMD_VERSION_LINE}") + if(CMAKE_MATCH_1) + set(ABACUS_DEEPMD_VERSION "yes (v${CMAKE_MATCH_1})") +endif() + endif() + endif() + if(ABACUS_DEEPMD_VERSION STREQUAL "yes (version unknown)") + set(ABACUS_DEEPMD_VERSION "yes (path: ${DeePMD_DIR})") + endif() +else() + set(ABACUS_DEEPMD_VERSION "no") +endif() + +if(DEFINED NEP_DIR AND NEP_VERSION) + set(ABACUS_NEP_VERSION "yes (v${NEP_VERSION})") +elseif(DEFINED NEP_DIR) + set(ABACUS_NEP_VERSION "yes (path: ${NEP_DIR})") +else() + set(ABACUS_NEP_VERSION "no") +endif() + +if(DEFINED TensorFlow_DIR) + set(ABACUS_TENSORFLOW_VERSION "yes (path: ${TensorFlow_DIR})") +else() + set(ABACUS_TENSORFLOW_VERSION "no") +endif() + +# Testing & Other Libraries +if(BUILD_TESTING) + set(ABACUS_GTEST_VERSION "yes (from git origin/main)") +else() + set(ABACUS_GTEST_VERSION "no") +endif() + +if(ENABLE_GOOGLEBENCH) + set(ABACUS_GOOGLEBENCH_VERSION "yes (from git origin/main)") +else() + set(ABACUS_GOOGLEBENCH_VERSION "no") +endif() + +if(DEFINED RapidJSON_DIR AND ENABLE_RAPIDJSON) + set(ABACUS_RAPIDJSON_VERSION "yes (path: ${RapidJSON_DIR})") +elseif(ENABLE_RAPIDJSON) + set(ABACUS_RAPIDJSON_VERSION "yes (from git origin/master)") +else() + set(ABACUS_RAPIDJSON_VERSION "no") +endif() + +if(ENABLE_MLALGO) + set(ABACUS_LIBNPY_VERSION "yes (path: ${libnpy_SOURCE_DIR})") +else() + set(ABACUS_LIBNPY_VERSION "no") +endif() + +if(ENABLE_PEXSI) + set(ABACUS_PEXSI_VERSION "yes (version unknown)") + if(PEXSI_VERSION) + set(ABACUS_PEXSI_VERSION "yes (v${PEXSI_VERSION})") + elseif(PEXSI_DIR) + set(ABACUS_PEXSI_VERSION "yes (path: ${PEXSI_DIR})") + endif() +else() + set(ABACUS_PEXSI_VERSION "no") +endif() + +if(ENABLE_CNPY) + set(ABACUS_CNPY_VERSION "yes (path: ${cnpy_SOURCE_DIR})") +else() + set(ABACUS_CNPY_VERSION "no") +endif() + +# --- 5. Collect CMake Configuration Summary --- +set(ABACUS_CMAKE_OPTIONS "Build Options:") +list(APPEND CMAKE_OPTIONS_LIST " ENABLE_MPI=${ENABLE_MPI}") +list(APPEND CMAKE_OPTIONS_LIST " USE_OPENMP=${USE_OPENMP}") +list(APPEND CMAKE_OPTIONS_LIST " USE_CUDA=${USE_CUDA}") +list(APPEND CMAKE_OPTIONS_LIST " USE_ROCM=${USE_ROCM}") +list(APPEND CMAKE_OPTIONS_LIST " ENABLE_LCAO=${ENABLE_LCAO}") +list(APPEND CMAKE_OPTIONS_LIST " USE_ELPA=${USE_ELPA}") +list(APPEND CMAKE_OPTIONS_LIST " ENABLE_LIBXC=${ENABLE_LIBXC}") +list(APPEND CMAKE_OPTIONS_LIST " ENABLE_MLALGO=${ENABLE_MLALGO}") +list(APPEND CMAKE_OPTIONS_LIST " ENABLE_ASAN=${ENABLE_ASAN}") +list(APPEND CMAKE_OPTIONS_LIST " BUILD_TESTING=${BUILD_TESTING}") +foreach(option_line ${CMAKE_OPTIONS_LIST}) + set(ABACUS_CMAKE_OPTIONS "${ABACUS_CMAKE_OPTIONS}${option_line}") +endforeach() + +set(ABACUS_CMAKE_FIND_PACKAGES "FindPackage Results:") +list(APPEND CMAKE_FIND_PACKAGES_LIST " MPI Found=${MPI_FOUND}") +list(APPEND CMAKE_FIND_PACKAGES_LIST " OpenMP Found=${OpenMP_CXX_FOUND}") +list(APPEND CMAKE_FIND_PACKAGES_LIST " CUDA Found=${CUDA_FOUND}") +list(APPEND CMAKE_FIND_PACKAGES_LIST " ROCm Found=${ROCM_FOUND}") +list(APPEND CMAKE_FIND_PACKAGES_LIST " ELPA Found=${ELPA_FOUND}") +list(APPEND CMAKE_FIND_PACKAGES_LIST " Libxc Found=${Libxc_FOUND}") +list(APPEND CMAKE_FIND_PACKAGES_LIST " PEXSI Found=${PEXSI_FOUND}") +list(APPEND CMAKE_FIND_PACKAGES_LIST " LibRI Found=${LIBRI_FOUND}") +foreach(package_line ${CMAKE_FIND_PACKAGES_LIST}) + set(ABACUS_CMAKE_FIND_PACKAGES "${ABACUS_CMAKE_FIND_PACKAGES}${package_line}") +endforeach() diff --git a/cmake/FindCereal.cmake b/cmake/FindCereal.cmake index 3486cffdec..801420a491 100644 --- a/cmake/FindCereal.cmake +++ b/cmake/FindCereal.cmake @@ -15,7 +15,7 @@ if(NOT CEREAL_INCLUDE_DIR) include(FetchContent) FetchContent_Declare( cereal - URL https://codeload.github.com/USCiLab/cereal/tar.gz/master + URL https://codeload.github.com/MCresearch/cereal/tar.gz/master ) FetchContent_Populate(cereal) set(CEREAL_INCLUDE_DIR ${cereal_SOURCE_DIR}/include) diff --git a/cmake/FindFFTW3.cmake b/cmake/FindFFTW3.cmake index 7ae0b7a2ab..b79f97013c 100644 --- a/cmake/FindFFTW3.cmake +++ b/cmake/FindFFTW3.cmake @@ -49,6 +49,14 @@ if(FFTW3_FOUND) set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR}) + # Try to extract FFTW version from header + if(FFTW3_INCLUDE_DIR AND EXISTS "${FFTW3_INCLUDE_DIR}/fftw3.h") + file(STRINGS "${FFTW3_INCLUDE_DIR}/fftw3.h" _fftw_ver_line REGEX "^#define[\t ]+FFTW_VERSION[\t ]+\"[^\"]+\"") + if(_fftw_ver_line) + string(REGEX REPLACE "^#define[\t ]+FFTW_VERSION[\t ]+\"([^\"]+)\"" "\\1" FFTW3_VERSION "${_fftw_ver_line}") + endif() + endif() + if(NOT TARGET FFTW3::FFTW3) add_library(FFTW3::FFTW3 UNKNOWN IMPORTED) set_target_properties(FFTW3::FFTW3 PROPERTIES diff --git a/cmake/FindLibRI.cmake b/cmake/FindLibRI.cmake index b8f060a483..7fd62718c7 100644 --- a/cmake/FindLibRI.cmake +++ b/cmake/FindLibRI.cmake @@ -16,7 +16,7 @@ if(NOT LIBRI_DIR) include(FetchContent) FetchContent_Declare( LibRI - URL https://github.com/abacusmodeling/LibRI/archive/refs/tags/v0.2.1.1.tar.gz + URL https://codeload.github.com/abacusmodeling/LibRI//tar.gz/v0.2.1.1 ) FetchContent_Populate(LibRI) set(LIBRI_DIR ${libri_SOURCE_DIR}) diff --git a/cmake/FindMKL.cmake b/cmake/FindMKL.cmake index a0c389b5ae..3680b8a92c 100644 --- a/cmake/FindMKL.cmake +++ b/cmake/FindMKL.cmake @@ -4,7 +4,7 @@ # MKL_INCLUDE - where to find mkl.h, etc. # MKL_FOUND - True if mkl found. -find_package(MKL NO_MODULE) # try using official module first +# find_package(MKL NO_MODULE) # try using official module first if(NOT TARGET MKL::MKL) find_path(MKL_INCLUDE mkl_service.h HINTS ${MKLROOT}/include) @@ -70,7 +70,9 @@ if(MKL_FOUND) set_property(TARGET MKL::MKL PROPERTY INTERFACE_LINK_LIBRARIES "-Wl,--start-group" - MKL::INTEL MKL::INTEL_THREAD MKL::CORE) + MKL::INTEL MKL::INTEL_THREAD MKL::CORE + "-Wl,--end-group" + ) endif() endif() @@ -91,5 +93,12 @@ endif() if(NOT TARGET MKL::MKL_SCALAPACK) find_library(MKL_SCALAPACK NAMES mkl_scalapack_lp64 HINTS ${MKLROOT}/lib ${MKLROOT}/lib/intel64) message(STATUS "Found MKL_SCALAPACK: ${MKL_SCALAPACK}") - add_library(MKL::MKL_SCALAPACK OBJECT IMPORTED MKL_SCALAPACK) + if(MKL_SCALAPACK) + # create an IMPORTED target that points to the discovered library file + add_library(MKL::MKL_SCALAPACK UNKNOWN IMPORTED) + set_target_properties(MKL::MKL_SCALAPACK PROPERTIES + IMPORTED_LOCATION "${MKL_SCALAPACK}" + INTERFACE_INCLUDE_DIRECTORIES "${MKL_INCLUDE}" + ) + endif() endif() diff --git a/cmake/FindNEP.cmake b/cmake/FindNEP.cmake new file mode 100644 index 0000000000..e20734f5c0 --- /dev/null +++ b/cmake/FindNEP.cmake @@ -0,0 +1,49 @@ +############################################################################### +# - Find NEP +# Finds the NEP header and library. +# +# This module will search for the NEP library, looking for a hint +# from the NEP_DIR environment variable or CMake variable. +# +# This module defines the following variables: +# +# NEP_FOUND - True if the NEP library and headers were found. +# NEP_INCLUDE_DIR - The directory where nep.h is located. +# NEP_LIBRARY - The full path to the NEP library. +# +# It also defines the following imported target: +# +# NEP::nep - The NEP library target. +# +############################################################################### +# Note: Currently only CPU version is supported, Since the NEP interface with GPU support is not available yet. +# In feature, if available, we can use USE_CUDA to switch between CPU and GPU version. + +find_path(NEP_INCLUDE_DIR nep.h + HINTS ${NEP_DIR} + PATH_SUFFIXES "include" + ) + +find_library(NEP_LIBRARY + NAMES nep + HINTS ${NEP_DIR} + PATH_SUFFIXES "lib" + ) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(NEP + DEFAULT_MSG + NEP_LIBRARY NEP_INCLUDE_DIR) + +if(NEP_FOUND) + if(NOT TARGET NEP::nep) + add_library(NEP::nep UNKNOWN IMPORTED) + set_target_properties(NEP::nep PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${NEP_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${NEP_INCLUDE_DIR}" + ) + endif() +endif() + +mark_as_advanced(NEP_INCLUDE_DIR NEP_LIBRARY) \ No newline at end of file diff --git a/cmake/Testing.cmake b/cmake/Testing.cmake new file mode 100644 index 0000000000..551b1d7182 --- /dev/null +++ b/cmake/Testing.cmake @@ -0,0 +1,83 @@ +# ============================================================================= +# Setup Testing Environment (GTest, CTest, AddTest function) +# ============================================================================== + +# include_guard(GLOBAL) + +# --- Helper Macro: Ensure a minimum C++ standard version --- +macro(set_if_higher VARIABLE VALUE) + if(${VARIABLE} LESS ${VALUE}) + set(${VARIABLE} ${VALUE}) + endif() +endmacro() + +# Add performance test in abacus +if(ENABLE_GOOGLEBENCH) + set(BUILD_TESTING ON) + find_package(benchmark HINTS ${BENCHMARK_DIR}) + if(NOT ${benchmark_FOUND}) + set(BENCHMARK_USE_BUNDLED_GTEST OFF) + include(FetchContent) + FetchContent_Declare( + benchmark + GIT_REPOSITORY https://github.com/google/benchmark.git + GIT_TAG "origin/main" + GIT_SHALLOW TRUE + GIT_PROGRESS TRUE) + set(BENCHMARK_ENABLE_TESTING OFF) + FetchContent_MakeAvailable(benchmark) + endif() +endif() + + function(AddTest) # function for UT + cmake_parse_arguments(UT "DYN" "TARGET" + "LIBS;DYN_LIBS;STATIC_LIBS;SOURCES;DEPENDS" ${ARGN}) + add_executable(${UT_TARGET} ${UT_SOURCES}) + + if(ENABLE_COVERAGE) + add_coverage(${UT_TARGET}) + endif() + + # dependencies & link library + target_link_libraries(${UT_TARGET} ${UT_LIBS} Threads::Threads + GTest::gtest_main GTest::gmock_main) + if(ENABLE_GOOGLEBENCH) + target_link_libraries( + ${UT_TARGET} benchmark::benchmark) + endif() + + if(USE_OPENMP) + target_link_libraries(${UT_TARGET} OpenMP::OpenMP_CXX) + endif() + + # Link to build info if needed + if("${UT_SOURCES}" MATCHES "parse_args.cpp") + target_include_directories(${UT_TARGET} PUBLIC ${CMAKE_BINARY_DIR}/source/source_io) + endif() + + install(TARGETS ${UT_TARGET} DESTINATION ${CMAKE_BINARY_DIR}/tests) + add_test( + NAME ${UT_TARGET} + COMMAND ${UT_TARGET} + WORKING_DIRECTORY $) + endfunction(AddTest) + +if(BUILD_TESTING) + set_if_higher(CMAKE_CXX_STANDARD 14) # Required in orbital + include(CTest) + enable_testing() + find_package(GTest HINTS /usr/local/lib/ ${GTEST_DIR}) + if(NOT ${GTest_FOUND}) + include(FetchContent) + FetchContent_Declare( + googletest + GIT_REPOSITORY https://github.com/google/googletest.git + GIT_TAG "origin/main" + GIT_SHALLOW TRUE + GIT_PROGRESS TRUE) + FetchContent_MakeAvailable(googletest) + endif() + # TODO: Try the GoogleTest module. + # https://cmake.org/cmake/help/latest/module/GoogleTest.html + add_subdirectory(tests) # Contains integration tests +endif() diff --git a/docs/CITATIONS.md b/docs/CITATIONS.md index 5f2508f82a..a25cb3e596 100644 --- a/docs/CITATIONS.md +++ b/docs/CITATIONS.md @@ -14,7 +14,7 @@ The following references are required to be cited when using ABACUS. Specificall *For LCAO and PW basis:* - Weiqing Zhou, Deye Zheng, Qianrui Liu, et al. ABACUS: An Electronic Structure Analysis Package for the AI Era. arXiv preprint arXiv:2501.08697, 2025. + Weiqing Zhou, Daye Zheng, Qianrui Liu, et al. ABACUS: An Electronic Structure Analysis Package for the AI Era. arXiv preprint arXiv:2501.08697, 2025. - **If Stochastic DFT is used:** diff --git a/docs/advanced/acceleration/cuda.md b/docs/advanced/acceleration/cuda.md index 5a468e7fb4..70e448f4e0 100644 --- a/docs/advanced/acceleration/cuda.md +++ b/docs/advanced/acceleration/cuda.md @@ -45,7 +45,7 @@ We provides [examples](https://github.com/deepmodeling/abacus-develop/tree/devel ## Known limitations PW basis: - Only k point parallelization is supported, so the input keyword `kpar` will be set to match the number of MPI tasks automatically. -- By default, CUDA architectures 60, 70, 75, 80, 86, and 89 are compiled (if supported). It can be overriden using the CMake variable [`CMAKE_CUDA_ARCHITECTURES`](https://cmake.org/cmake/help/latest/variable/CMAKE_CUDA_ARCHITECTURES.html) or the environmental variable [`CUDAARCHS`](https://cmake.org/cmake/help/latest/envvar/CUDAARCHS.html). +- By default, CUDA architectures are automatically selected based on the CUDA Toolkit version. For CUDA versions before 13.0, architectures 60, 70, 75, 80, 86, 89, and 90 are compiled (if supported by the CUDA version). For CUDA 13.0 and later, only architectures 75 and above are compiled, as CUDA 13 dropped support for older architectures. This can be overridden using the CMake variable [`CMAKE_CUDA_ARCHITECTURES`](https://cmake.org/cmake/help/latest/variable/CMAKE_CUDA_ARCHITECTURES.html) or the environmental variable [`CUDAARCHS`](https://cmake.org/cmake/help/latest/envvar/CUDAARCHS.html). LCAO basis: - Unless there is a specific reason, avoid using multiple GPUs, as it can be slower than using a single GPU. This is because the generalized eigenvalue solution of the LCAO basis set will incur additional communication overhead when calculated on multiple cards. When the memory limit of a GPU card makes it insufficient to complete the task, it is recommended to use multiple cards for calculation. diff --git a/docs/advanced/elec_properties/Mulliken.md b/docs/advanced/elec_properties/Mulliken.md index 4dcf69e08f..a34bca5d07 100644 --- a/docs/advanced/elec_properties/Mulliken.md +++ b/docs/advanced/elec_properties/Mulliken.md @@ -1,7 +1,7 @@ # Mulliken Charge Analysis From version 2.1.0, ABACUS has the function of Mulliken population analysis. The example can be found in [examples/mulliken](https://github.com/deepmodeling/abacus-develop/tree/develop/examples/mulliken). \ -To use this function, set [out_mul](./input-main.md#out_mul) to `1` in the INPUT file. After calculation, there will be an output file named `mulliken.txt` in the output directory. In MD calculations, the output interval is controlled by the keyword [out_interval](./input-main.md#out_interval). In the file, there are contents like (`nspin 1`): +To use this function, set [out_mul](./input-main.md#out_mul) to `1` in the INPUT file. After calculation, there will be an output file named `mulliken.txt` in the output directory. In MD calculations, the output interval is controlled by the keyword [out_freq_ion](./input-main.md#out_freq_ion). In the file, there are contents like (`nspin 1`): ``` STEP: 0 diff --git a/docs/advanced/elec_properties/hs_matrix.md b/docs/advanced/elec_properties/hs_matrix.md index 2bfd807ad9..9e19121f00 100644 --- a/docs/advanced/elec_properties/hs_matrix.md +++ b/docs/advanced/elec_properties/hs_matrix.md @@ -45,7 +45,7 @@ The CSR format stores a sparse m × n matrix M in row form using three (one-dime - The arrays V and COL_INDEX are of length NNZ, and contain the non-zero values and the column indices of those values respectively. - The array ROW_INDEX is of length m + 1 and encodes the index in V and COL_INDEX where the given row starts. This is equivalent to ROW_INDEX[j] encoding the total number of nonzeros above row j. The last element is NNZ , i.e., the fictitious index in V immediately after the last valid index NNZ - 1. -For calculations involving ionic movements, the output frequency of the matrix is controlled by [out_interval](../input_files/input-main.md#out_interval) and [out_app_flag](../input_files/input-main.md#out_app_flag). +For calculations involving ionic movements, the output frequency of the matrix is controlled by [out_freq_ion](../input_files/input-main.md#out_freq_ion) and [out_app_flag](../input_files/input-main.md#out_app_flag). ## get_s We also offer the option of only calculating the overlap matrix without running SCF. For that purpose, in `INPUT` file we need to set the value keyword [calculation](../input_files/input-main.md#calculation) to be `get_s`. diff --git a/docs/advanced/elec_properties/position_matrix.md b/docs/advanced/elec_properties/position_matrix.md index 6920dc3f7d..c504a866b6 100644 --- a/docs/advanced/elec_properties/position_matrix.md +++ b/docs/advanced/elec_properties/position_matrix.md @@ -18,7 +18,7 @@ Each file or each section of the appended file starts with "STEP: " followed by Each block here contains the matrix for the corresponding cell. There are three columns in each block, giving the matrix elements in x, y, z directions, respectively. There are altogether nbasis * nbasis lines in each block, which emulates the matrix elements. -In molecular dynamics (MD) calculations, if [out_app_flag](../input_files/input-main.md#out_app_flag) is set to true, then `data-rR-tr` is written in an append manner. Otherwise, output files will be put in a separate directory, `matrix`, and named as `$x`_data-rR-tr, where `$x` is the number of MD step. In addition, the output frequency is controlled by [out_interval](../input_files/input-main.md#out_interval). For example, if we are running a 10-step MD with out_interval = 3, then `$x` will be 0, 3, 6, and 9. +In molecular dynamics (MD) calculations, if [out_app_flag](../input_files/input-main.md#out_app_flag) is set to true, then `data-rR-tr` is written in an append manner. Otherwise, output files will be put in a separate directory, `matrix`, and named as `$x`_data-rR-tr, where `$x` is the number of MD step. In addition, the output frequency is controlled by [out_freq_ion](../input_files/input-main.md#out_freq_ion). For example, if we are running a 10-step MD with out_freq_ion = 3, then `$x` will be 0, 3, 6, and 9. ## get_s We also offer the option of only calculating the position matrix without running SCF. For that purpose, in `INPUT` file we need to set the keyword [calculation](../input_files/input-main.md#calculation) to `get_s`, and [out_mat_r](../input_files/input-main.md#out_mat_r) to `true`. diff --git a/docs/advanced/input_files/input-main.md b/docs/advanced/input_files/input-main.md index 6cf455ccac..e10171a1d0 100644 --- a/docs/advanced/input_files/input-main.md +++ b/docs/advanced/input_files/input-main.md @@ -22,6 +22,7 @@ - [min\_dist\_coef](#min_dist_coef) - [device](#device) - [precision](#precision) + - [timer_enable_nvtx](#timer_enable_nvtx) - [nb2d](#nb2d) - [Input Files](#variables-related-to-input-files) - [stru\_file](#stru_file) @@ -30,7 +31,7 @@ - [orbital\_dir](#orbital_dir) - [read\_file\_dir](#read_file_dir) - [restart\_load](#restart_load) - - [wannier\_card](#wannier_card) + - [spillage\_outdir](#spillage_outdir) - [Plane Wave](#plane-wave-related-variables) - [ecutwfc](#ecutwfc) - [ecutrho](#ecutrho) @@ -99,6 +100,7 @@ - [lspinorb](#lspinorb) - [noncolin](#noncolin) - [soc\_lambda](#soc_lambda) + - [dfthalf\_type](#dfthalf_type) - [Stochastic DFT](#electronic-structure-sdft) - [method\_sto](#method_sto) - [nbands\_sto](#nbands_sto) @@ -132,9 +134,10 @@ - [fixed\_atoms](#fixed_atoms) - [cell\_factor](#cell_factor) - [Output Variables](#variables-related-to-output-information) + - [out\_freq\_ion](#out_freq_ion) + - [out\_freq\_td](#out_freq_td) - [out\_freq\_elec](#out_freq_elec) - [out\_chg](#out_chg) - - [out\_xc\_r](#out_xc_r) - [out\_pot](#out_pot) - [out\_dm](#out_dmk) - [out\_dm1](#out_dmr) @@ -145,7 +148,6 @@ - [out\_band](#out_band) - [out\_proj\_band](#out_proj_band) - [out\_stru](#out_stru) - - [out\_bandgap](#out_bandgap) - [out\_level](#out_level) - [out\_alllog](#out_alllog) - [out\_mat\_hs](#out_mat_hs) @@ -158,12 +160,12 @@ - [out\_mat\_xc](#out_mat_xc) - [out\_mat\_xc2](#out_mat_xc2) - [out\_mat\_l](#out_mat_l) + - [out\_xc\_r](#out_xc_r) - [out\_eband\_terms](#out_eband_terms) - [dm\_to\_rho](#dm_to_rho) - [out\_mul](#out_mul) - [out\_app\_flag](#out_app_flag) - [out\_ndigits](#out_ndigits) - - [out\_interval](#out_interval) - [out\_element\_info](#out_element_info) - [restart\_save](#restart_save) - [rpa](#rpa) @@ -172,6 +174,7 @@ - [out\_wfc_re_im](#out_wfc_re_im) - [if\_separate\_k](#if_separate_k) - [out\_elf](#out_elf) + - [out\_spillage](#out_spillage) - [Density of States](#density-of-states) - [dos\_edelta\_ev](#dos_edelta_ev) - [dos\_sigma](#dos_sigma) @@ -190,6 +193,7 @@ - [DeePKS](#deepks) - [deepks\_out\_labels](#deepks_out_labels) - [deepks\_out\_freq\_elec](#deepks_out_freq_elec) + - [deepks\_out\_base](#deepks_out_base) - [deepks\_scf](#deepks_scf) - [deepks\_equiv](#deepks_equiv) - [deepks\_model](#deepks_model) @@ -252,6 +256,9 @@ - [of\_ml\_chi\_pnl](#of_ml_chi_pnl) - [of\_ml\_chi\_qnl](#of_ml_chi_qnl) - [of\_ml\_local\_test](#of_ml_local_test) + - [TD-OFDFT: time dependent orbital free density functional theory](#tdofdft-time-dependent-orbital-free-density-functional-theory) + - [of\_cd](#of_cd) + - [of\_mcd\_alpha](#of_mcd_alpha) - [Electric Field and Dipole Correction](#electric-field-and-dipole-correction) - [efield\_flag](#efield_flag) - [dip\_cor\_flag](#dip_cor_flag) @@ -296,6 +303,9 @@ - [Exact Exchange (PW)](#exact-exchange-pw) - [exxace](#exxace) - [exx\_gamma\_extrapolation](#exx_gamma_extrapolation) + - [ecutexx](#ecutexx) + - [exx_thr_type](#exx_thr_type) + - [exx_ene_thr](#exx_ene_thr) - [Molecular Dynamics](#molecular-dynamics) - [md\_type](#md_type) - [md\_nstep](#md_nstep) @@ -375,7 +385,7 @@ - [out\_wannier\_eig](#out_wannier_eig) - [out\_wannier\_unk](#out_wannier_unk) - [out\_wannier\_wvfn\_formatted](#out_wannier_wvfn_formatted) - - [rt-TDDFT: Real-time time dependent density functional theory](#tddft-time-dependent-density-functional-theory) + - [RT-TDDFT: Real-Time Time-Dependent Density Functional Theory](#rt-tddft-real-time-time-dependent-density-functional-theory) - [estep\_per\_md](#estep_per_md) - [td\_dt](#td_dt) - [td\_edm](#td_edm) @@ -524,10 +534,12 @@ These variables are used to control general system parameters. - **Description**: choose the energy solver. - ksdft: Kohn-Sham density functional theory - ofdft: orbital-free density functional theory + - tdofdft: time-dependent orbital-free density functional theory - sdft: [stochastic density functional theory](#electronic-structure-sdft) - - tddft: real-time time-dependent density functional theory (TDDFT) + - tddft: real-time time-dependent density functional theory (RT-TDDFT) - lj: Leonard Jones potential - dp: DeeP potential, see details in [md.md](../md.md#dpmd) + - nep: Neuroevolution Potential, see details in [md.md](../md.md#nep) - ks-lr: Kohn-Sham density functional theory + LR-TDDFT (Under Development Feature) - lr: LR-TDDFT with given KS orbitals (Under Development Feature) - **Default**: ksdft @@ -542,9 +554,10 @@ These variables are used to control general system parameters. - **Default**: - 0: - if [calculation](#calculation)==md/nscf/get_pchg/get_wf/get_s or [gamma_only](#gamma_only)==True; - - If ([dft_fuctional](#dft_functional)==hse/hf/pbe0/scan0 or [rpa](#rpa)==True). + - If ([dft_fuctional](#dft_functional)==hse/hf/pbe0/scan0 or [rpa](#rpa)==True). - If [efield_flag](#efield_flag)==1 - 1: else +- **Note**: When symmetry is enabled (value 1), k-points are reduced to the irreducible Brillouin zone (IBZ). For explicit k-point lists with custom weights (see [KPT file](./kpt.md#k-point-weights-and-symmetry)), the custom weights are preserved during symmetry reduction. For Monkhorst-Pack grids, uniform weights are used. ### symmetry_prec @@ -616,7 +629,7 @@ These variables are used to control general system parameters. - random: random numbers - nao: from numerical atomic orbitals. If they are not enough, other wave functions are initialized with random numbers. - nao+random: add small random numbers on numerical atomic orbitals - + > Only the `file` option is useful for the lcao basis set, which is mostly used when [calculation](#calculation) is set to `get_wf` and `get_pchg`. See more details in [out_wfc_lcao](#out_wfc_lcao). - **Default**: atomic @@ -628,6 +641,8 @@ These variables are used to control general system parameters. - atomic: the density is starting from the summation of the atomic density of single atoms. - file: the density will be read in from a binary file `charge-density.dat` first. If it does not exist, the charge density will be read in from cube files. Besides, when you do `nspin=1` calculation, you only need the density file chgs1.cube. However, if you do `nspin=2` calculation, you also need the density file chgs2.cube. The density file should be output with these names if you set out_chg = 1 in INPUT file. - wfc: the density will be calculated by wavefunctions and occupations. Wavefunctions are read in from binary files `wf*.dat` (see [out_wfc_pw](#out_wfc_pw)) while occupations are read in from file `eig.txt`. + - dm: the density will be calculated by real space density matrix(DMR) of LCAO base. DMR is read in from file `dmrs1_nao.csr` in directory [read_file_dir](#read_file_dir). + - hr: the real space Hamiltonian matrix(HR) will be read in from file `hrs1_nao.csr` in directory [read_file_dir](#read_file_dir), and DMR and charge density will be calculated from it. - auto: Abacus first attempts to read the density from a file; if not found, it defaults to using atomic density. - **Default**: atomic @@ -704,6 +719,15 @@ If only one value is set (such as `kspacing 0.5`), then kspacing values of a/b/c - double: double precision - **Default**: double +### timer_enable_nvtx + +- **Type**: Boolean +- **Description**: Controls whether NVTX profiling labels are emitted by the timer. This feature is only effective on CUDA platforms. + + - True: Enable NVTX profiling labels in the timer. + - False: Disable NVTX profiling labels in the timer. +- **Default**: False + ### nb2d - **Type**: Integer @@ -719,7 +743,7 @@ If only one value is set (such as `kspacing 0.5`), then kspacing values of a/b/c [back to top](#full-list-of-input-keywords) -## Variables related to input files +## Input files These variables are used to control parameters related to input files. @@ -773,12 +797,12 @@ These variables are used to control parameters related to input files. If EXX(exact exchange) is calculated (i.e. *[dft_fuctional](#dft_functional)==hse/hf/pbe0/scan0* or *[rpa](#rpa)==True*), the Hexx(R) files in the same folder for each processor will also be read. - **Default**: False -### wannier_card +### spillage_outdir - **Type**: String -- **Availability**: Using ABACUS with Wannier90. -- **Description**: The name of the input file related to Wannier90. -- **Default**: "none" +- **Availability**: Used only for plane wave basis set. +- **Description**: The directory to save the spillage files. +- **Default**: "./" [back to top](#full-list-of-input-keywords) @@ -858,7 +882,7 @@ These variables are used to control the plane wave related parameters. - **Type**: Integer - **Description**: Only useful when you use `ks_solver = dav` or `ks_solver = dav_subspace`. It indicates dimension of workspace(number of wavefunction packets, at least 2 needed) for the Davidson method. A larger value may yield a smaller number of iterations in the algorithm but uses more memory and more CPU time in subspace diagonalization. -- **Default**: 4 +- **Default**: 4 ### diag_subspace @@ -961,7 +985,7 @@ These variables are used to control the numerical atomic orbitals related parame ### elpa_num_thread - **Type**: int -- **Description**: Number of threads used in one elpa calculation. +- **Description**: Number of threads used in one elpa calculation. If the number is below 0 or 0 or beyond the max number of threads, all elpa calculation will be using all mpi threads - **Default**: -1 @@ -970,7 +994,7 @@ These variables are used to control the numerical atomic orbitals related parame - **Type** :int - **Description**: The number of streams used in GPU calculations (only for LCAO). For most devices, the performance is satisfactory when the number is larger than 2. -- **Default** : "4" +- **Default** : "4" [back to top](#full-list-of-input-keywords) @@ -1003,9 +1027,9 @@ calculations. For numerical atomic orbitals basis, - lapack: Use LAPACK to diagonalize the Hamiltonian, only used for serial version - - genelpa: Use GEN-ELPA to diagonalize the Hamiltonian. + - genelpa: Use GEN-ELPA to diagonalize the Hamiltonian. - scalapack_gvx: Use Scalapack to diagonalize the Hamiltonian. - - cusolver: Use CUSOLVER to diagonalize the Hamiltonian, at least one GPU is needed. + - cusolver: Use CUSOLVER to diagonalize the Hamiltonian, at least one GPU is needed. - cusolvermp: Use CUSOLVER to diagonalize the Hamiltonian, supporting multi-GPU devices. Note that you should set the number of MPI processes equal to the number of GPUs. - elpa: The ELPA solver supports both CPU and GPU. By setting the `device` to GPU, you can launch the ELPA solver with GPU acceleration (provided that you have installed a GPU-supported version of ELPA, which requires you to manually compile and install ELPA, and the ABACUS should be compiled with -DUSE_ELPA=ON and -DUSE_CUDA=ON). The ELPA solver also supports multi-GPU acceleration. @@ -1016,7 +1040,7 @@ calculations. ``` Then the user has to correct the input file and restart the calculation. -- **Default**: +- **Default**: - PW basis: cg. - LCAO basis: - genelpa (if compiling option `USE_ELPA` has been set) @@ -1060,7 +1084,20 @@ calculations. - **Type**: String - **Description**: In our package, the XC functional can either be set explicitly using the `dft_functional` keyword in `INPUT` file. If `dft_functional` is not specified, ABACUS will use the xc functional indicated in the pseudopotential file. - On the other hand, if dft_functional is specified, it will overwrite the functional from pseudopotentials and performs calculation with whichever functional the user prefers. We further offer two ways of supplying exchange-correlation functional. The first is using 'short-hand' names such as 'LDA', 'PBE', 'SCAN'. A complete list of 'short-hand' expressions can be found in [the source code](../../../source/source_hamilt/module_xc/xc_functional.cpp). The other way is only available when ***compiling with LIBXC***, and it allows for supplying exchange-correlation functionals as combinations of LIBXC keywords for functional components, joined by a plus sign, for example, dft_functional='LDA_X_1D_EXPONENTIAL+LDA_C_1D_CSC'. The list of LIBXC keywords can be found on its [website](https://libxc.gitlab.io/functionals/). In this way, **we support all the LDA,GGA and mGGA functionals provided by LIBXC**. + On the other hand, if dft_functional is specified, it will overwrite the functional from pseudopotentials and performs calculation with whichever functional the user prefers. We further offer two ways of supplying exchange-correlation functional. The first is using 'short-hand' names. A complete list of 'short-hand' expressions can be found in [the source code](../../../source/source_hamilt/module_xc/xc_functional.cpp). Supported density functionals are: + - LDA functionals + - LDA (equivalent with PZ and SLAPZNOGXNOGC), PWLDA + - GGA functionals + - PBE (equivalent with SLAPWPBXPBC), PBESOL, REVPBE, WC, BLYP, BP(referred to BP86), PW91, HCTH, OLYP, BLYP_LR + - meta-GGA functionals + - SCAN (require LIBXC) + - Hybrid functionals + - PBE0, HF + - If LIBXC is avaliale, additional short-hand names of hybrid functionals are supported: HSE(referred to HSE06), B3LYP, LC_PBE, LC_WPBE, LRC_WPBE, LRC_WPBEH, CAM_PBEH, WP22, CWP22, MULLER (equivalent with POWER) + - Hybrid meta-GGA functionals + - SCAN0 (require LIBXC) + + The other way is only available when ***compiling with LIBXC***, and it allows for supplying exchange-correlation functionals as combinations of LIBXC keywords for functional components, joined by a plus sign, for example, dft_functional='LDA_X_1D_EXPONENTIAL+LDA_C_1D_CSC'. The list of LIBXC keywords can be found on its [website](https://libxc.gitlab.io/functionals/). In this way, **we support all the LDA,GGA and mGGA functionals provided by LIBXC**. Some popular functionals and their usage are: RPBE of [Hammer et al.](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.59.7413), set `dft_functional` to 'GGA_X_RPBE+GGA_C_PBE', and [r$^{2}$SCAN](https://pubs.acs.org/doi/10.1021/acs.jpclett.0c02405), set `dft_functional` to 'MGGA_X_R2SCAN+MGGA_C_R2SCAN'. Furthermore, the old INPUT parameter exx_hybrid_type for hybrid functionals has been absorbed into dft_functional. Options are `hf` (pure Hartree-Fock), `pbe0`(PBE0), `hse` (Note: in order to use HSE functional, LIBXC is required). Note also that HSE has been tested while PBE0 has NOT been fully tested yet, and the maximum CPU cores for running exx in parallel is $N(N+1)/2$, with N being the number of atoms. @@ -1287,7 +1324,7 @@ Note: In new angle mixing, you should set `mixing_beta_mag >> mixing_beta`. The - **Type**: Integer - **Description**: Choose the calculation method of convergence criterion. - - 1: the criterion is defined as $\Delta\rho_G = \frac{1}{2}\iint{\frac{\Delta\rho(r)\Delta\rho(r')}{|r-r'|}d^3r d^3r'}$, which is used in SCF of PW basis with unit Ry. + - 1: the criterion is defined as $\Delta\rho_G = \frac{1}{2}\iint{\frac{\Delta\rho(r)\Delta\rho(r')}{|r-r'|}d^3r d^3r'}$, which is used in SCF of PW basis with unit Ry. - 2: the criterion is defined as $\Delta\rho_R = \frac{1}{N_e}\int{|\Delta\rho(r)|d^3r}$, where $N_e$ is the number of electron, which is used in SCF of LCAO with unit **dimensionless**. - **Default**: 1 (plane-wave basis), or 2 (localized atomic orbital basis). @@ -1297,7 +1334,7 @@ Note: In new angle mixing, you should set `mixing_beta_mag >> mixing_beta`. The - **Type**: bool - **Description**: For systems that are difficult to converge, the SCF process may exhibit oscillations in charge density, preventing further progress toward the specified convergence criteria and resulting in continuous oscillation until the maximum number of steps is reached; this greatly wastes computational resources. To address this issue, this function allows ABACUS to terminate the SCF process early upon detecting oscillations, thus reducing subsequent meaningless calculations. The detection of oscillations is based on the slope of the logarithm of historical drho values.. To this end, Least Squares Method is used to calculate the slope of the logarithmically taken drho for the previous `scf_os_ndim` iterations. If the calculated slope is larger than `scf_os_thr`, stop the SCF. - - 0: The SCF will continue to run regardless of whether there is oscillation or not. + - 0: The SCF will continue to run regardless of whether there is oscillation or not. - 1: If the calculated slope is larger than `scf_os_thr`, stop the SCF. - **Default**: false @@ -1333,30 +1370,71 @@ Note: In new angle mixing, you should set `mixing_beta_mag >> mixing_beta`. The ### lspinorb - **Type**: Boolean -- **Description**: Whether to consider spin-orbital coupling effect in the calculation. - - True: Consider spin-orbital coupling effect, and `nspin` is also automatically set to 4. - - False: Do not consider spin-orbital coupling effect. +- **Description**: Whether to consider spin-orbit coupling (SOC) effect in the calculation. + - **True**: Consider spin-orbit coupling effect. When enabled: + - `nspin` is automatically set to 4 (noncollinear spin representation) + - Symmetry is automatically disabled (SOC breaks inversion symmetry) + - **Requires** full-relativistic pseudopotentials with `has_so=true` in the UPF header + - **False**: Do not consider spin-orbit coupling effect. + - **Common Error**: "no soc upf used for lspinorb calculation" - ensure you are using full-relativistic pseudopotentials + - See [Spin-polarization and SOC](../scf/spin.md#soc-effects) for detailed usage and examples - **Default**: False ### noncolin - **Type**: Boolean -- **Description**: Whether to allow non-collinear polarization, in which case the coupling between spin up and spin down will be taken into account. - - True: Allow non-collinear polarization, and `nspin` is also automatically set to 4. - - False: Do not allow non-collinear polarization. +- **Description**: Whether to allow non-collinear magnetic moments, where magnetization can point in arbitrary directions (x, y, z components) rather than being constrained to the z-axis. + - **True**: Allow non-collinear polarization. When enabled: + - `nspin` is automatically set to 4 + - Wave function dimension is doubled (`npol=2`), and the number of occupied states is doubled + - Charge density has 4 components (Pauli spin matrices: ρ_total, ρ_x, ρ_y, ρ_z) + - **Constraint**: Cannot be used with `gamma_only=true` + - Can be combined with `lspinorb=true` for SOC effects with non-collinear magnetism + - **False**: Do not allow non-collinear polarization (magnetization constrained to z-axis). + - **Relationship with lspinorb**: + - `noncolin=0, lspinorb=1`: SOC with z-axis magnetism only (for non-magnetic materials with SOC) + - `noncolin=1, lspinorb=0`: Non-collinear magnetism without SOC + - `noncolin=1, lspinorb=1`: Both non-collinear magnetism and SOC + - See [Noncollinear Spin Polarized Calculations](../scf/spin.md#noncollinear-spin-polarized-calculations) for usage examples - **Default**: False ### soc_lambda - **Type**: Real -- **Availability**: Relevant for soc calculations. -- **Description**: Sometimes, for some real materials, both scalar-relativistic and full-relativistic can not describe the exact spin-orbit coupling. Artificial modulation may help in such cases. +- **Availability**: Only works when `lspinorb=true` +- **Description**: Modulates the strength of spin-orbit coupling effect. Sometimes, for some real materials, both scalar-relativistic and full-relativistic pseudopotentials cannot describe the exact spin-orbit coupling. Artificial modulation may help in such cases. - `soc_lambda`, which has value range [0.0, 1.0] , is used for modulate SOC effect. + `soc_lambda`, which has value range [0.0, 1.0], is used to modulate SOC effect: + - `soc_lambda 0.0`: Scalar-relativistic case (no SOC) + - `soc_lambda 1.0`: Full-relativistic case (full SOC) + - Intermediate values: Partial-relativistic SOC (interpolation between scalar and full) - In particular, `soc_lambda 0.0` refers to scalar-relativistic case and `soc_lambda 1.0` refers to full-relativistic case. + **Use case**: When experimental or high-level theoretical results suggest that the SOC effect is weaker or stronger than what full-relativistic pseudopotentials predict, you can adjust this parameter to match the target behavior. - **Default**: 1.0 +### dfthalf_type + +- Type: int +- Availability: Relevant for DFT-1/2 calculations. +- Description: Choose the type of DFT-1/2 calcutions. Currently, only the PW basis set is supported. + - 0: Do not consider DFT-1/2 correction. + - 1: Apply DFT-1/2(shell DFT-1/2) correction. + + In addition, the SEP_FILES keyword also needs to be added to the STRU file, followed by the DFT-1/2 settings for each element, listed in the same order as ATOMIC_SPECIES. The format is +``` +SEP_FILES +ATOM_LABEL is_enable SEP_FILENAME r_in r_out r_power scale. +``` +For example, +``` +SEP_FILES +Li 0 +F 1 F_pbe_50.sep 0.0 2.2 20.0 1.0 +``` +ATOM_LABEL must remain consistent with the definition in ATOMIC_SPECIES. Setting is_enable to 0 indicates that the DFT-1/2 correction will not be applied, while setting it to 1 indicates that the DFT-1/2 correction will be applied. SEP_FILENAME specifies the self-energy potential file used for this element; more self-energy potential files can be downloaded from [SEP files](http://www.eedevice.com/abacus-half.html). The corresponding self-energy potential files should be placed under [pseudo\_dir](#pseudo_dir), maintaining the same location as the pseudopotential files. r_in denotes the inner cutoff radius, r_out denotes the outer cutoff radius, and r_power determines the transition at the edge of the cutoff function—larger values result in a sharper transition, but may hinder convergence; a value of 20 is a suitable choice. scale is the self-energy potential scaling factor, with a default value of 1. + +- Default: 0 + [back to top](#full-list-of-input-keywords) ## Electronic structure (SDFT) @@ -1451,15 +1529,20 @@ These variables are used to control the geometry relaxation. ### relax_method -- **Type**: String +- **Type**: Vector of string - **Description**: The methods to do geometry optimization. + the first element: - cg: using the conjugate gradient (CG) algorithm. Note that there are two implementations of the conjugate gradient (CG) method, see [relax_new](#relax_new). - - bfgs: using the Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm. - - bfgs_trad: using the traditional Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm. + - bfgs : using the Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm. + - lbfgs: using the Limited-memory Broyden–Fletcher–Goldfarb–Shanno (LBFGS) algorithm. - cg_bfgs: using the CG method for the initial steps, and switching to BFGS method when the force convergence is smaller than [relax_cg_thr](#relax_cg_thr). - sd: using the steepest descent (SD) algorithm. - fire: the Fast Inertial Relaxation Engine method (FIRE), a kind of molecular-dynamics-based relaxation algorithm, is implemented in the molecular dynamics (MD) module. The algorithm can be used by setting [calculation](#calculation) to `md` and [md_type](#md_type) to `fire`. Also ionic velocities should be set in this case. See [fire](../md.md#fire) for more details. -- **Default**: cg + + the second element: + when the first element is bfgs, if the second parameter is 1, it indicates the use of the new BFGS algorithm; if the second parameter is not 1, it indicates the use of the old BFGS algorithm. +- **Default**: cg 1 +- **Note**:In the 3.10-LTS version, the type of this parameter is std::string. It can be set to "cg","bfgs","cg_bfgs","bfgs_trad","lbfgs","sd","fire". ### relax_new @@ -1533,14 +1616,14 @@ These variables are used to control the geometry relaxation. ### relax_bfgs_rmax - **Type**: Real -- **Description**: For geometry optimization. It stands for the maximal movement of all the atoms. The sum of the movements from all atoms can be increased during the optimization steps. However, it can not be larger than `relax_bfgs_rmax` +- **Description**: For geometry optimization. It stands for the maximal movement of all the atoms. The sum of the movements from all atoms can be increased during the optimization steps. However, it can not be larger than `relax_bfgs_rmax`. - **Unit**: Bohr - **Default**: 0.8 ### relax_bfgs_rmin - **Type**: Real -- **Description**: For geometry optimization. It indicates the minimal movement of all the atoms. When the movement of all the atoms is smaller than relax_bfgs_rmin Bohr, and the force convergence is still not achieved, the calculation will break down. +- **Description**: In old bfgs algorithm, it indicates the minimal movement of all the atoms. When the movement of all the atoms is smaller than relax_bfgs_rmin Bohr, and the force convergence is still not achieved, the calculation will break down. In the current default bfgs algorithm, this parameter is not used. - **Default**: 1e-5 - **Unit**: Bohr @@ -1620,32 +1703,46 @@ These variables are used to control the geometry relaxation. [back to top](#full-list-of-input-keywords) -## Variables related to output information +## Output information These variables are used to control the output of properties. +### out_freq_ion + +- **Type**: Integer +- **Description**: Controls the output interval in **ionic steps**. When set to a positive integer $N$, information such as charge density, local potential, electrostatic potential, Hamiltonian matrix, overlap matrix, density matrix, and Mulliken population analysis is printed every $N$ ionic steps. +- **Default**: 0 +- **Note**: In RT-TDDFT calculations, this parameter is inactive; output frequency is instead controlled by [`out_freq_td`](#out_freq_td)—see its description for details. + +### out_freq_td + +- **Type**: Integer +- **Description**: Controls the output interval in **completed electronic evolution steps** during RT-TDDFT calculations. When set to a positive integer $N$, detailed information (see [`out_freq_ion`](#out_freq_ion)) is printed every $N$ electron time-evolution steps (i.e., every $N$ `STEP OF ELECTRON EVOLVE`). For example, if you wish to output information once per ionic step, you should set `out_freq_td` equal to [`estep_per_md`](#estep_per_md), since one ionic step corresponds to [`estep_per_md`](#estep_per_md) electronic evolution steps. +- **Default**: 0 +- **Note**: This parameter is **only active in RT-TDDFT mode** (`esolver_type = tddft`). It has no effect in ground-state calculations. + ### out_freq_elec - **Type**: Integer -- **Description**: Output the charge density (only binary format, controlled by [out_chg](#out_chg)), wavefunction (controlled by [out_wfc_pw](#out_wfc_pw)) per `out_freq_elec` electronic iterations. Note that they are always output when converged or reach the maximum iterations [scf_nmax](#scf_nmax). -- **Default**: [scf_nmax](#scf_nmax) +- **Description**: Output the charge density (only binary format, controlled by [`out_chg`](#out_chg)), wavefunction (controlled by [`out_wfc_pw`](#out_wfc_pw)) per `out_freq_elec` electronic iterations. Note that they are always output when converged or reach the maximum iterations [`scf_nmax`](#scf_nmax). +- **Default**: [`scf_nmax`](#scf_nmax) ### out_chg - **Type**: Integer \[Integer\](optional) -- **Description**: +- **Description**: The first integer controls whether to output the charge density on real space grids: - 1: Output the charge density (in Bohr^-3) on real space grids into the density files in the folder `OUT.${suffix}`. The files are named as: - - nspin = 1: `chgs1.cube`; + - nspin = 1: `chg.cube`; - nspin = 2: `chgs1.cube`, and `chgs2.cube`; - nspin = 4: `chgs1.cube`, `chgs2.cube`, `chgs3.cube`, and `chgs4.cube`; Note that by using the Meta-GGA functional, additional files containing the kinetic energy density will be output with the following names: - - nspin = 1: `taus1.cube`; + - nspin = 1: `tau.cube`; - nspin = 2: `taus1.cube`, and `taus2.cube`; - nspin = 4: `taus1.cube`, `taus2.cube`, `taus3.cube`, and `taus4.cube`; - 2: On top of 1, also output the initial charge density files with a suffix name as '_ini', such as `taus1_ini.cube`, etc. - -1: disable the charge density auto-back-up file `{suffix}-CHARGE-DENSITY.restart`, useful for large systems. - + The second integer controls the precision of the charge density output, if not given, will use `3` as default. For purpose restarting from this file and other high-precision involved calculation, recommend to use `10`. --- @@ -1653,28 +1750,9 @@ These variables are used to control the output of properties. In EXX(exact exchange) calculations, (i.e. *[dft_fuctional](#dft_functional)==hse/hf/pbe0/scan0* or *[rpa](#rpa)==True*), the Hexx(R) files will be output in the folder `OUT.${suffix}` too, which can be read in NSCF calculation. - In molecular dynamics simulations, the output frequency is controlled by [out_interval](#out_interval). + In molecular dynamics simulations, the output frequency is controlled by [out_freq_ion](#out_freq_ion). - **Default**: 0 3 -- **Note**: In the 3.10-LTS version, the file names are SPIN1_CHG.cube and SPIN1_CHG_INI.cube, etc. - -### out_xc_r - -- **Type**: Integer \[Integer\](optional) -- **Description**: - The first integer controls whether to output the exchange-correlation (in Bohr^-3) on real space grids using Libxc to folder `OUT.${suffix}`: - - 0: rho, amag, sigma, exc - - 1: vrho, vsigma - - 2: v2rho2, v2rhosigma, v2sigma2 - - 3: v3rho3, v3rho2sigma, v3rhosigma2, v3sigma3 - - 4: v4rho4, v4rho3sigma, v4rho2sigma2, v4rhosigma3, v4sigma4 - The meaning of the files is presented in [Libxc](https://libxc.gitlab.io/manual/libxc-5.1.x/) - - The second integer controls the precision of the charge density output, if not given, will use `3` as default. - - --- - The circle order of the charge density on real space grids is: x is the outer loop, then y and finally z (z is moving fastest). - -- **Default**: -1 3 +- **Note**: In the 3.10-LTS version, the file names are SPIN1_CHG.cube and SPIN1_CHG_INI.cube, etc. ### out_pot @@ -1683,35 +1761,35 @@ These variables are used to control the output of properties. - 1: Output the **total local potential** (i.e., local pseudopotential + Hartree potential + XC potential + external electric field (if exists) + dipole correction potential (if exists) + ...) on real space grids (in Ry) into files in the folder `OUT.${suffix}`. The files are named as: - nspin = 1: `pots1.cube`; - nspin = 2: `pots1.cube` and `pots2.cube`; - - nspin = 4: `pots1.cube`, `pots2.cube`, `pots3.cube`, and `pots4.cube` + - nspin = 4: `pots1.cube`, `pots2.cube`, `pots3.cube`, and `pots4.cube` - 2: Output the **electrostatic potential** on real space grids into `OUT.${suffix}/pot_es.cube`. The Python script named `tools/average_pot/aveElecStatPot.py` can be used to calculate the average electrostatic potential along the z-axis and outputs it into ElecStaticPot_AVE. Please note that the total local potential refers to the local component of the self-consistent potential, excluding the non-local pseudopotential. The distinction between the local potential and the electrostatic potential is as follows: local potential = electrostatic potential + XC potential. - 3: Apart from 1, also output the **total local potential** of the initial charge density. The files are named as: - - nspin = 1: `pots1_ini.cube`; - - nspin = 2: `pots1_ini.cube` and `pots2_ini.cube`; + - nspin = 1: `pots1_ini.cube`; + - nspin = 2: `pots1_ini.cube` and `pots2_ini.cube`; - nspin = 4: `pots1_ini.cube`, `pots2_ini.cube`, `pots3_ini.cube`, and `pots4_ini.cube` - In molecular dynamics calculations, the output frequency is controlled by [out_interval](#out_interval). + In molecular dynamics calculations, the output frequency is controlled by [out_freq_ion](#out_freq_ion). - **Default**: 0 -- **Note**: In the 3.10-LTS version, the file names are SPIN1_POT.cube and SPIN1_POT_INI.cube, etc. +- **Note**: In the 3.10-LTS version, the file names are SPIN1_POT.cube and SPIN1_POT_INI.cube, etc. ### out_dmk -- **Type**: Boolean +- **Type**: Boolean \[Integer\](optional) - **Availability**: Numerical atomic orbital basis - **Description**: Whether to output the density matrix for each k-point into files in the folder `OUT.${suffix}`. The files are named as: - For gamma only case: - - nspin = 1: `dms1_nao.csr`; - - nspin = 2: `dms1_nao.csr` and `dms2_nao.csr` for the two spin channels. + - nspin = 1 and 4: `dm_nao.csr`; + - nspin = 2: `dms1_nao.csr` and `dms2_nao.csr` for the two spin channels. - For multi-k points case: - - nspin = 1: `dms1k1_nao.csr`, `dms1k2_nao.csr`, ...; - - nspin = 2: `dms1k1_nao.csr`... and `dms2k1_nao.csr`... for the two spin channels. + - nspin = 1 and 4: `dmk1_nao.csr`, `dmk2_nao.csr`, ...; + - nspin = 2: `dmk1s1_nao.csr`... and `dmk1s2_nao.csr`... for the two spin channels. - **Default**: False - **Note**: In the 3.10-LTS version, the parameter is named `out_dm` and the file names are SPIN1_DM and SPIN2_DM, etc. ### out_dmr -- **Type**: Boolean +- **Type**: Boolean \[Integer\](optional) - **Availability**: Numerical atomic orbital basis (multi-k points) - **Description**: Whether to output the density matrix with Bravias lattice vector R index into files in the folder `OUT.${suffix}`. The files are named as `dmr{s}{spin index}{g}{geometry index}{_nao} + {".csr"}`. Here, 's' refers to spin, where s1 means spin up channel while s2 means spin down channel, and the sparse matrix format 'csr' is mentioned in [out_mat_hs2](#out_mat_hs2). Finally, if [out_app_flag](#out_app_flag) is set to false, the file name contains the optional 'g' index for each ionic step that may have different geometries, and if [out_app_flag](#out_app_flag) is set to true, the density matrix with respect to Bravias lattice vector R accumulates during ionic steps: - nspin = 1: `dmrs1_nao.csr`; @@ -1723,14 +1801,18 @@ These variables are used to control the output of properties. - **Type**: Integer - **Availability**: Output electronic wave functions in plane wave basis, or transform the real-space electronic wave function into plane wave basis (see get_wf option in [calculation](#calculation) with NAO basis) -- **Description**: Whether to output the electronic wavefunction coefficients into files and store them in the folder `OUT.${suffix}`. The files are named as `wf{s}{spin index}{k}{k-point index}{_pw} + {".txt"/".dat"}`. Here, 's' refers to spin, where s1 means spin up channel while s2 means spin down channel, and 's12' refer to spinor wave functions that contains both spin channels with spin-orbital coupling or noncollinear calculations enabled. +- **Description**: Whether to output the electronic wavefunction coefficients into files and store them in the folder `OUT.${suffix}`. The files are named as `wf{k}{k-point index}{s}{spin index}{g}{geometry index}{e}{electronic iteration index}{_pw} + {".txt"/".dat"}`. Here, the s index refers to spin but the label will not show up for non-spin-polarized calculations, where s1 means spin up channel while s2 means spin down channel, and s4 refers to spinor wave functions that contains both spin channels with spin-orbital coupling or noncollinear calculations enabled. For scf or nscf calculations, g index will not appear, but the g index appears for geometry relaxation and molecular dynamics, where one can use the [out_freq_ion](#out_freq_ion) command to control. To print out the electroinc wave functions every few SCF iterations, use the [out_freq_elec](#out_freq_elec) command and the e index will appear in the file name. - 0: no output - 1: (txt format) - - non-gamma-only: `wfs1k1_pw.txt` or `wfs1k2_pw.txt`, ...; + - non-gamma-only with nspin=1: `wfk1_pw.txt`, `wfk2_pw.txt`, ...; + - non-gamma-only with nspin=2: `wfk1s1_pw.txt`, `wfk1s2_pw.txt`, `wfk2s1_pw.txt`, `wfk2s2_pw.txt`, ...; + - non-gamma-only with nspin=4: `wfk1s4_pw.txt`, `wfk2s4_pw.txt`, ...; - 2: (binary format) - - non-gamma-only: `wfs1k1_pw.dat` or `wfs1k2_pw.dat`, .... + - non-gamma-only with nspin=1: `wfk1_pw.dat`, `wfk2_pw.dat`, ...; + - non-gamma-only with nspin=2: `wfk1s1_pw.dat`, `wfk1s2_pw.dat`, `wfk2s1_pw.dat`, `wfk2s2_pw.dat`, ...; + - non-gamma-only with nspin=4: `wfk1s4_pw.dat`, `wfk2s4_pw.dat`, ...; - **Default**: 0 -- **Note**: In the 3.10-LTS version, the file names are WAVEFUNC1.dat, WAVEFUNC2.dat, etc. +- **Note**: In the 3.10-LTS version, the file names are `WAVEFUNC1.dat`, `WAVEFUNC2.dat`, etc. ### out_wfc_lcao @@ -1738,7 +1820,7 @@ These variables are used to control the output of properties. - **Availability**: Numerical atomic orbital basis - **Description**: Whether to output the electronic wavefunction coefficients into files and store them in the folder `OUT.${suffix}`. The files are named as `wf{s}{spin index}{k(optional)}{k-point index}{g(optional)}{geometry index1}{_nao} + {".txt"/".dat"}`. Here, 's' refers to spin, where s1 means spin up channel while s2 means spin down channel, and 's12' refer to spinor wave functions that contains both spin channels with spin-orbital coupling or noncollinear calculations enabled. In addition, if 'gamma_only' is set to 0, then the optinoal k-point sampling index appears with the k-point index attached to the electronic wave function file names. Finally, if [out_app_flag](#out_app_flag) is set to false, the file name contains the optional 'g' index for each ionic step that may have different geometries, and if [out_app_flag](#out_app_flag) is set to true, the wave functions accumulate during ionic steps. If the out_app_flag is set to false, a new folder named WFC will be created, and the wave function files will be saved into it. - 0: no output - - 1: (txt format) + - 1: (txt format) - gamma-only: `wfs1_nao.txt` or `wfs2_nao.txt`, ...; - non-gamma-only: `wfs1k1_nao.txt` or `wfs1k2_nao.txt`, ...; - 2: (binary format) @@ -1747,7 +1829,7 @@ These variables are used to control the output of properties. The corresponding sequence of the orbitals can be seen in [Basis Set](../pp_orb.md#basis-set). - Also controled by [out_interval](#out_interval) and [out_app_flag](#out_app_flag). + Also controled by [out_freq_ion](#out_freq_ion) and [out_app_flag](#out_app_flag). - **Default**: False - **Note**: In the 3.10-LTS version, the file names are WFC_NAO_GAMMA1_ION1.txt and WFC_NAO_K1_ION1.txt, etc. @@ -1756,11 +1838,11 @@ These variables are used to control the output of properties. - **Type**: Integer - **Description**: Whether to output the density of states (DOS). For more information, refer to the [dos.md](../elec_properties/dos.md). - 0: no output - - 1: output the density of states (DOS) + - 1: output the density of states (DOS) - nspin=1 or 4: `doss1g{geom}_{basis}.txt`, where geom is the geometry index when cell changes or ions move while basis is either `pw` or `nao`. - nspin=2: `doss1g{geom}_{basis}.txt` and `doss2g{geom}_{basis}.txt` for two spin channles. - 2: (LCAO) output the density of states (DOS) and the projected density of states (PDOS) - - 3: output the Fermi surface file (fermi.bxsf) in BXSF format that can be visualized by XCrySDen + - 3: output the Fermi surface file (fermi.bxsf) in BXSF format that can be visualized by XCrySDen - **Default**: 0 ### out_ldos @@ -1777,7 +1859,7 @@ These variables are used to control the output of properties. - **Type**: Boolean \[Integer\](optional) - **Description**: Whether to output the eigenvalues of the Hamiltonian matrix (in eV) into the running log during electronic iterations and into a file at the end of calculations. The former can be used with the 'out_freq_elec' parameter while the latter option allows the output precision to be set via a second parameter, with a default value of 8. The output file names are: - - nspin = 1 or 4: `eigs1.txt`; + - nspin = 1 or 4: `eig.txt`; - nspin = 2: `eigs1.txt` and `eigs2.txt`; - For more information, refer to the [band.md](../elec_properties/band.md) - **Default**: False @@ -1794,14 +1876,6 @@ These variables are used to control the output of properties. - **Description**: Whether to output structure files per ionic step in geometry relaxation calculations into `OUT.${suffix}/STRU_ION${istep}_D`, where `${istep}` is the ionic step. - **Default**: False -### out_bandgap - -- **Type**: Boolean -- **Description**: Whether to print the bandgap per electronic iteration into `OUT.${suffix}/running_${calculation}.log`. The value of bandgaps can be obtained by searching for the keyword: - - [nupdown](#nupdown) > 0: `E_bandgap_up` and `E_bandgap_dw` - - [nupdown](#nupdown) = 0: `E_bandgap` -- **Default**: False - ### out_level - **Type**: String @@ -1824,7 +1898,7 @@ These variables are used to control the output of properties. - **Type**: Boolean \[Integer\](optional) - **Availability**: Numerical atomic orbital basis -- **Description**: Whether to print the upper triangular part of the Hamiltonian matrices and overlap matrices for each k-point into files in the directory `OUT.${suffix}`. The second number controls precision. For more information, please refer to [hs_matrix.md](../elec_properties/hs_matrix.md#out_mat_hs). Also controled by [out_interval](#out_interval) and [out_app_flag](#out_app_flag). +- **Description**: Whether to print the upper triangular part of the Hamiltonian matrices and overlap matrices for each k-point into files in the directory `OUT.${suffix}`. The second number controls precision. For more information, please refer to [hs_matrix.md](../elec_properties/hs_matrix.md#out_mat_hs). Also controled by [out_freq_ion](#out_freq_ion) and [out_app_flag](#out_app_flag). - For gamma only case: - nspin = 1: `hks1_nao.txt` for the Hamiltonian matrix and `sks1_nao.txt` for the overlap matrix; - nspin = 2: `hks1_nao.txt` and `hks2_nao.txt` for the Hamiltonian matrix and `sks1_nao.txt` for the overlap matrix. Note that the code will not output `sks2_nao.txt` because it is the same as `sks1_nao.txt`; @@ -1850,7 +1924,7 @@ These variables are used to control the output of properties. - **Type**: Boolean \[Integer\](optional) - **Availability**: Numerical atomic orbital basis -- **Description**: Whether to print the upper triangular part of the kinetic matrices for each k-point into `OUT.${suffix}/tks1ki_nao.txt`, where i is the index of k points. One may optionally provide a second parameter to specify the precision. +- **Description**: Whether to print the upper triangular part of the kinetic matrices for each k-point into `OUT.${suffix}/tks1ki_nao.txt`, where i is the index of k points. One may optionally provide a second parameter to specify the precision. - **Default**: False \[8\] - **Unit**: Ry - **Note**: In the 3.10-LTS version, the file names are data-TR-sparse_SPIN0.csr and data-TR-sparse_SPIN0.csr, etc. @@ -1862,22 +1936,22 @@ These variables are used to control the output of properties. - **Description**: Whether to print the matrix representation of the position matrix into a file named `rr.csr` in the directory `OUT.${suffix}`. If [calculation](#calculation) is set to `get_s`, the position matrix can be obtained without scf iterations. For more information, please refer to [position_matrix.md](../elec_properties/position_matrix.md#extracting-position-matrices). - **Default**: False - **Unit**: Bohr -- **Note**: In the 3.10-LTS version, the file name is data-rR-sparse.csr. +- **Note**: In the 3.10-LTS version, the file name is data-rR-sparse.csr. ### out_mat_t - **Type**: Boolean - **Availability**: Numerical atomic orbital basis (not gamma-only algorithm) -- **Description**: Generate files containing the kinetic energy matrix $T(R)$. The format will be the same as the Hamiltonian matrix $H(R)$ and overlap matrix $S(R)$ as mentioned in [out_mat_hs2](#out_mat_hs2). The name of the files will be `trs1_nao.csr` and so on. Also controled by [out_interval](#out_interval) and [out_app_flag](#out_app_flag). +- **Description**: Generate files containing the kinetic energy matrix $T(R)$. The format will be the same as the Hamiltonian matrix $H(R)$ and overlap matrix $S(R)$ as mentioned in [out_mat_hs2](#out_mat_hs2). The name of the files will be `trs1_nao.csr` and so on. Also controled by [out_freq_ion](#out_freq_ion) and [out_app_flag](#out_app_flag). - **Default**: False - **Unit**: Ry -- **Note**: In the 3.10-LTS version, the file name is data-TR-sparse_SPIN0.csr. +- **Note**: In the 3.10-LTS version, the file name is data-TR-sparse_SPIN0.csr. ### out_mat_dh - **Type**: Boolean - **Availability**: Numerical atomic orbital basis (not gamma-only algorithm) -- **Description**: Whether to print files containing the derivatives of the Hamiltonian matrix. The format will be the same as the Hamiltonian matrix $H(R)$ and overlap matrix $S(R)$ as mentioned in [out_mat_hs2](#out_mat_hs2). The name of the files will be `dhrxs1_nao.csr`, `dhrys1_nao.csr`, `dhrzs1_nao.csr` and so on. Also controled by [out_interval](#out_interval) and [out_app_flag](#out_app_flag). +- **Description**: Whether to print files containing the derivatives of the Hamiltonian matrix. The format will be the same as the Hamiltonian matrix $H(R)$ and overlap matrix $S(R)$ as mentioned in [out_mat_hs2](#out_mat_hs2). The name of the files will be `dhrxs1_nao.csr`, `dhrys1_nao.csr`, `dhrzs1_nao.csr` and so on. Also controled by [out_freq_ion](#out_freq_ion) and [out_app_flag](#out_app_flag). - **Default**: False - **Unit**: Ry/Bohr - **Note**: In the 3.10-LTS version, the file name is data-dHRx-sparse_SPIN0.csr and so on. @@ -1886,7 +1960,7 @@ These variables are used to control the output of properties. - **Type**: Boolean - **Availability**: Numerical atomic orbital basis (not gamma-only algorithm) -- **Description**: Whether to print files containing the derivatives of the overlap matrix. The format will be the same as the overlap matrix $dH(R)$ as mentioned in [out_mat_dh](#out_mat_dh). The name of the files will be `dsrxs1.csr` and so on. Also controled by [out_interval](#out_interval) and [out_app_flag](#out_app_flag). This feature can be used with `calculation get_s`. +- **Description**: Whether to print files containing the derivatives of the overlap matrix. The format will be the same as the overlap matrix $dH(R)$ as mentioned in [out_mat_dh](#out_mat_dh). The name of the files will be `dsrxs1.csr` and so on. Also controled by [out_freq_ion](#out_freq_ion) and [out_app_flag](#out_app_flag). This feature can be used with `calculation get_s`. - **Default**: False - **Unit**: Ry/Bohr - **Note**: In the 3.10-LTS version, the file name is data-dSRx-sparse_SPIN0.csr and so on. @@ -1916,6 +1990,25 @@ These variables are used to control the output of properties. - **Description**: Whether to print the expectation value of the angular momentum operator $\hat{L}_x$, $\hat{L}_y$, and $\hat{L}_z$ in the basis of the localized atomic orbitals. The files are named `OUT.${suffix}/${suffix}_Lx.dat`, `OUT.${suffix}/${suffix}_Ly.dat`, and `OUT.${suffix}/${suffix}_Lz.dat`. The second integer controls the precision of the output. - **Default**: False 8 +### out_xc_r + +- **Type**: Integer \[Integer\](optional) +- **Description**: + The first integer controls whether to output the exchange-correlation (in Bohr^-3) on real space grids using Libxc to folder `OUT.${suffix}`: + - 0: rho, amag, sigma, exc + - 1: vrho, vsigma + - 2: v2rho2, v2rhosigma, v2sigma2 + - 3: v3rho3, v3rho2sigma, v3rhosigma2, v3sigma3 + - 4: v4rho4, v4rho3sigma, v4rho2sigma2, v4rhosigma3, v4sigma4 + The meaning of the files is presented in [Libxc](https://libxc.gitlab.io/manual/libxc-5.1.x/) + + The second integer controls the precision of the charge density output, if not given, will use `3` as default. + + --- + The circle order of the charge density on real space grids is: x is the outer loop, then y and finally z (z is moving fastest). + +- **Default**: -1 3 + ### out_eband_terms - **Type**: Boolean @@ -1934,7 +2027,7 @@ These variables are used to control the output of properties. - **Type**: Boolean - **Availability**: Numerical atomic orbital basis -- **Description**: Whether to print the Mulliken population analysis result into `OUT.${suffix}/mulliken.txt`. In molecular dynamics calculations, the output frequency is controlled by [out_interval](#out_interval). +- **Description**: Whether to print the Mulliken population analysis result into `OUT.${suffix}/mulliken.txt`. In molecular dynamics calculations, the output frequency is controlled by [out_freq_ion](#out_freq_ion). - **Default**: False ### out_app_flag @@ -1951,12 +2044,6 @@ These variables are used to control the output of properties. - **Description**: Controls the length of decimal part of output data, such as charge density, Hamiltonian matrix, Overlap matrix and so on. - **Default**: 8 -### out_interval - -- **Type**: Integer -- **Description**: After self-consistent-field calculations, control the interval of ionic movements for printing properties. These properties cover charge density, local potential, electrostatic potential, Hamiltonian matrix, overlap matrix, density matrix, Mulliken population analysis and so on. -- **Default**: 1 - ### out_element_info - **Type**: Boolean @@ -1978,6 +2065,7 @@ These variables are used to control the output of properties. - **Type**: Boolean - **Description**: Generate output files used in rpa calculations. +- **Note**: If [`symmetry`](#symmetry) is set to 1, additional files containing the necessary information for exploiting symmetry in the subsequent rpa calculation will be output: `irreducible_sector.txt`, `symrot_k.txt` and `symrot_R.txt` - **Default**: False ### out_pchg @@ -2012,7 +2100,7 @@ These variables are used to control the output of properties. - **Type**: Integer \[Integer\](optional) - **Availability**: Only for Kohn-Sham DFT and Orbital Free DFT. -- **Description**: Whether to output the electron localization function (ELF) in the folder `OUT.${suffix}`. The files are named as +- **Description**: Whether to output the electron localization function (ELF) in the folder `OUT.${suffix}`. The files are named as - nspin = 1: - ELF.cube: ${\rm{ELF}} = \frac{1}{1+\chi^2}$, $\chi = \frac{\frac{1}{2}\sum_{i}{f_i |\nabla\psi_{i}|^2} - \frac{|\nabla\rho|^2}{8\rho}}{\frac{3}{10}(3\pi^2)^{2/3}\rho^{5/3}}$; - nspin = 2: @@ -2022,9 +2110,16 @@ These variables are used to control the output of properties. The second integer controls the precision of the kinetic energy density output, if not given, will use `3` as default. For purpose restarting from this file and other high-precision involved calculation, recommend to use `10`. --- - In molecular dynamics calculations, the output frequency is controlled by [out_interval](#out_interval). + In molecular dynamics calculations, the output frequency is controlled by [out_freq_ion](#out_freq_ion). - **Default**: 0 3 +### out_spillage + +- **Type**: Integer +- **Availability**: Only for Kohn-Sham DFT with plane-wave basis. +- **Description**: This output is only intentively needed by the ABACUS numerical atomic orbital generation workflow. This parameter is used to control whether to output the overlap integrals between truncated spherical Bessel functions (TSBFs) and plane-wave basis expanded wavefunctions (named as `OVERLAP_Q`), and between TSBFs (named as `OVERLAP_Sq`), also their first order derivatives. The output files are named starting with `orb_matrix`. A value of `2` would enable the output. +- **Default**: 0 + [back to top](#full-list-of-input-keywords) ## Density of states @@ -2079,8 +2174,8 @@ These variables are used to control the calculation of DOS. [Detailed introducti - **Type**: Real Real(optional) Integer(optional) - **Description**: The bias voltage used to calculate local density of states to simulate scanning tunneling microscope, see details in [out_ldos](#out_ldos). When using three parameters: - - The first parameter specifies the initial bias voltage value. - - The second parameter defines the voltage increment (step size between consecutive bias values). + - The first parameter specifies the initial bias voltage value. + - The second parameter defines the voltage increment (step size between consecutive bias values). - The third parameter determines the total number of voltage points - **Default**: 1.0 - **Unit**: V @@ -2143,7 +2238,7 @@ Warning: this function is not robust enough for the current version. Please try - **Description**: Print labels and descriptors for DeePKS in OUT.${suffix}. The names of these files start with "deepks". - 0 : No output. - 1 : Output intermediate files needed during DeePKS training. - - 2 : Output target labels for label preperation. The label files are named as `deepks_.npy` or `deepks_.csr`, where the units and formats are the same as label files `.npy` or `.csr` required for training, except that the first dimension (`nframes`) is excluded. System structrue files are also given in `deepks_atom.npy` and `deepks_box.npy` in the unit of *Bohr*, which means `lattice_constant` should be set to 1 when training. + - 2 : Output target labels for label preperation. The label files are named as `deepks_.npy` or `deepks_.csr`, where the units and formats are the same as label files `.npy` or `.csr` required for training, except that the first dimension (`nframes`) is excluded. System structrue files are also given in `deepks_atom.npy` and `deepks_box.npy` in the unit of *Bohr*, which means `lattice_constant` should be set to 1 when training. - **Note**: When `deepks_out_labels` equals **1**, the path of a numerical descriptor (an `orb` file) is needed to be specified under the `NUMERICAL_DESCRIPTOR` tag in the `STRU` file. For example: ```text @@ -2154,7 +2249,7 @@ Warning: this function is not robust enough for the current version. Please try NUMERICAL_DESCRIPTOR jle.orb ``` - This is not needed when `deepks_out_labels` equals 2. + This is not needed when `deepks_out_labels` equals 2. - **Default**: 0 ### deepks_out_freq_elec @@ -2164,6 +2259,13 @@ Warning: this function is not robust enough for the current version. Please try - **Description**: When `deepks_out_freq_elec` is greater than 0, print labels and descriptors for DeePKS in OUT.${suffix}/DeePKS_Labels_Elec per `deepks_out_freq_elec` electronic iterations, with suffix `_e*` to distinguish different steps. Often used with `deepks_out_labels` equals 1. - **Default**: 0 +### deepks_out_base + +- **Type**: String +- **Availability**: Numerical atomic orbital basis and `deepks_out_freq_elec` is greater than 0 +- **Description**: Print labels and descriptors calculated by base functional ( determined by `deepks_out_base` ) and target functional ( determined by `dft_functional` ) for DeePKS in per `deepks_out_freq_elec` electronic iterations. The SCF process, labels and descriptors output of the target functional are all consistent with those when the target functional is used alone. The only additional output under this configuration is the labels of the base functional. Often used with `deepks_out_labels` equals 1. +- **Default**: None + ### deepks_scf - **Type**: Boolean @@ -2241,7 +2343,7 @@ Warning: this function is not robust enough for the current version. Please try - 0: Don't include bandgap label - 1: Include target bandgap label (see [deepks\_band\_range](#deepks_band_range) for more details) - 2: Include multiple bandgap label (see [deepks\_band\_range](#deepks_band_range) for more details) - - 3: For systems containing H atoms only, HOMO is defined as the max occupation expect H atoms and the bandgap label is the energy between HOMO and (HOMO + 1) + - 3: Used for systems containing H atoms. Here HOMO is defined as the max occupation except H atoms and the bandgap label is the energy between HOMO and (HOMO + 1) - **Default**: 0 ### deepks_band_range @@ -2257,7 +2359,7 @@ Warning: this function is not robust enough for the current version. Please try - **Type**: int - **Availability**: Numerical atomic orbital basis -- **Description**: Include V_delta/V_delta_R (Hamiltonian in k/real space) label for DeePKS training. When `deepks_out_labels` is true and `deepks_v_delta` > 0 (k space), ABACUS will output `deepks_hbase.npy`, `deepks_vdelta.npy` and `deepks_htot.npy`(htot=hbase+vdelta). When `deepks_out_labels` is true and `deepks_v_delta` < 0 (real space), ABACUS will output `deepks_hrtot.csr`, `deepks_hrdelta.csr`. Some more files output for different settings. +- **Description**: Include V_delta/V_delta_R (Hamiltonian in k/real space) label for DeePKS training. When `deepks_out_labels` is true and `deepks_v_delta` > 0 (k space), ABACUS will output `deepks_hbase.npy`, `deepks_vdelta.npy` and `deepks_htot.npy`(htot=hbase+vdelta). When `deepks_out_labels` is true and `deepks_v_delta` < 0 (real space), ABACUS will output `deepks_hrtot.csr`, `deepks_hrdelta.csr`. Some more files output for different settings. *NOTICE: To match the unit Normally used in DeePKS, the unit of Hamiltonian in k space is Hartree. However, currently in R space the unit is still Ry.* - `deepks_v_delta` = 1: `deepks_vdpre.npy`, which is used to calculate V_delta during DeePKS training. - `deepks_v_delta` = 2: `deepks_phialpha.npy` and `deepks_gevdm.npy`, which can be used to calculate `deepks_vdpre.npy`. A recommanded method for memory saving. - `deepks_v_delta` = -1: `deepks_vdrpre.npy`, which is used to calculate V_delta_R during DeePKS training. @@ -2445,24 +2547,24 @@ Warning: this function is not robust enough for the current version. Please try - **Availability**: Used only for KSDFT with plane wave basis - **Description**: Controls the generation of machine learning training data. When enabled, training data in `.npy` format will be saved in the directory `OUT.${suffix}/MLKEDF_Descriptors/`. The generated descriptors are categorized as follows: - Local/Semilocal Descriptors. Files are named as `{var}.npy`, where `{var}` corresponds to the descriptor type: - - `gamma`: Enabled by [of_ml_gamma](#of_ml_gamma) - - `p`: Enabled by [of_ml_p](#of_ml_p) - - `q`: Enabled by [of_ml_q](#of_ml_q) - - `tanhp`: Enabled by [of_ml_tanhp](#of_ml_tanhp) - - `tanhq`: Enabled by [of_ml_tanhq](#of_ml_tanhq) - - Nonlocal Descriptors generated using kernels configured via [of_ml_nkernel](#of_ml_nkernel), [of_ml_kernel](#of_ml_kernel), and [of_ml_kernel_scaling](#of_ml_kernel_scaling). Files follow the naming convention `{var}_{kernel_type}_{kernel_scaling}.npy`, where `{kernel_type}` and `{kernel_scaling}` are specified by [of_ml_kernel](#of_ml_kernel), and [of_ml_kernel_scaling](#of_ml_kernel_scaling), respectively, and `{val}` denotes the kind of the descriptor, including - - `gammanl`: Enabled by [of_ml_gammanl](#of_ml_gammanl) - - `pnl`: Enabled by [of_ml_pnl](#of_ml_pnl) - - `qnl`: Enabled by [of_ml_qnl](#of_ml_qnl) - - `xi`: Enabled by [of_ml_xi](#of_ml_xi) - - `tanhxi`: Enabled by [of_ml_tanhxi](#of_ml_tanhxi) - - `tanhxi_nl`: Enabled by [of_ml_tanhxi_nl](#of_ml_tanhxi_nl) - - `tanh_pnl`: Enabled by [of_ml_tanh_pnl](#of_ml_tanh_pnl) - - `tanh_qnl`: Enabled by [of_ml_tanh_qnl](#of_ml_tanh_qnl) - - `tanhp_nl`: Enabled by [of_ml_tanhp_nl](#of_ml_tanhp_nl) - - `tanhq_nl`: Enabled by [of_ml_tanhq_nl](#of_ml_tanhq_nl) + - `gamma`: Enabled by [of_ml_gamma](#of_ml_gamma) + - `p`: Enabled by [of_ml_p](#of_ml_p) + - `q`: Enabled by [of_ml_q](#of_ml_q) + - `tanhp`: Enabled by [of_ml_tanhp](#of_ml_tanhp) + - `tanhq`: Enabled by [of_ml_tanhq](#of_ml_tanhq) + - Nonlocal Descriptors generated using kernels configured via [of_ml_nkernel](#of_ml_nkernel), [of_ml_kernel](#of_ml_kernel), and [of_ml_kernel_scaling](#of_ml_kernel_scaling). Files follow the naming convention `{var}_{kernel_type}_{kernel_scaling}.npy`, where `{kernel_type}` and `{kernel_scaling}` are specified by [of_ml_kernel](#of_ml_kernel), and [of_ml_kernel_scaling](#of_ml_kernel_scaling), respectively, and `{val}` denotes the kind of the descriptor, including + - `gammanl`: Enabled by [of_ml_gammanl](#of_ml_gammanl) + - `pnl`: Enabled by [of_ml_pnl](#of_ml_pnl) + - `qnl`: Enabled by [of_ml_qnl](#of_ml_qnl) + - `xi`: Enabled by [of_ml_xi](#of_ml_xi) + - `tanhxi`: Enabled by [of_ml_tanhxi](#of_ml_tanhxi) + - `tanhxi_nl`: Enabled by [of_ml_tanhxi_nl](#of_ml_tanhxi_nl) + - `tanh_pnl`: Enabled by [of_ml_tanh_pnl](#of_ml_tanh_pnl) + - `tanh_qnl`: Enabled by [of_ml_tanh_qnl](#of_ml_tanh_qnl) + - `tanhp_nl`: Enabled by [of_ml_tanhp_nl](#of_ml_tanhp_nl) + - `tanhq_nl`: Enabled by [of_ml_tanhq_nl](#of_ml_tanhq_nl) - Training Targets, including key quantum mechanical quantities: - - `enhancement.npy`: Pauli energy enhancement factor $T_\theta/T_{\rm{TF}}$, where $T_{\rm{TF}}$ is the Thomas-Fermi functional + - `enhancement.npy`: Pauli energy enhancement factor $T_\theta/T_{\rm{TF}}$, where $T_{\rm{TF}}$ is the Thomas-Fermi functional - `pauli.npy`: Pauli potential $V_\theta$ - `veff.npy`: Effective potential - **Default**: False @@ -2483,7 +2585,7 @@ Warning: this function is not robust enough for the current version. Please try - **Description**: The method to incorporate the Free Electron Gas (FEG) limit: $F_\theta |_{\rm{FEG}} = 1$, where $F_\theta$ is enhancement factor of Pauli energy. - **0**: Do not incorporate the FEG limit. - **1**: Incorporate the FEG limit by translation: $F_\theta = F^{\rm{NN}}_\theta - F^{\rm{NN}}_\theta|_{\rm{FEG}} + 1$. - - **3**: Incorporate the FEG limit by nonlinear transformation: $F_\theta = f(F^{\rm{NN}}_\theta - F^{\rm{NN}}_\theta|_{\rm{FEG}} + \ln(e - 1))$, where $f = \ln(1 + e^x)$ is softplus function, satisfying $f(x)|_{x=\ln(e-1)} = 1$. + - **3**: Incorporate the FEG limit by nonlinear transformation: $F_\theta = f(F^{\rm{NN}}_\theta - F^{\rm{NN}}_\theta|_{\rm{FEG}} + \ln(e - 1))$, where $f = \ln(1 + e^x)$ is softplus function, satisfying $f(x)|_{x=\ln(e-1)} = 1$. - **Default**: 0 ### of_ml_nkernel @@ -2495,7 +2597,7 @@ Warning: this function is not robust enough for the current version. Please try ### of_ml_kernel -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT - **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element specifies the type of the $i$-th kernel function. - **1**: Wang-Teter kernel function. @@ -2575,93 +2677,93 @@ Warning: this function is not robust enough for the current version. Please try ### of_ml_gammanl -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\gamma_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') \gamma(\mathbf{r}') dr'}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\gamma_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') \gamma(\mathbf{r}') dr'}$. - **Default**: 0 ### of_ml_pnl -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $p_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') p(\mathbf{r}') dr'}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $p_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') p(\mathbf{r}') dr'}$. - **Default**: 0 ### of_ml_qnl -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $q_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') q(\mathbf{r}') dr'}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $q_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') q(\mathbf{r}') dr'}$. - **Default**: 0 ### of_ml_xi -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\xi(\mathbf{r}) = \frac{\int{w_i(\mathbf{r}-\mathbf{r}') \rho^{1/3}(\mathbf{r}') dr'}}{\rho^{1/3}(\mathbf{r})}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\xi(\mathbf{r}) = \frac{\int{w_i(\mathbf{r}-\mathbf{r}') \rho^{1/3}(\mathbf{r}') dr'}}{\rho^{1/3}(\mathbf{r})}$. - **Default**: 0 ### of_ml_tanhxi -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{\xi}(\mathbf{r}) = \tanh(\chi_{\xi} \xi(\mathbf{r}))$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{\xi}(\mathbf{r}) = \tanh(\chi_{\xi} \xi(\mathbf{r}))$. - **Default**: 0 ### of_ml_tanhxi_nl -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{\xi}_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') \tilde{\xi}(\mathbf{r}') dr'}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{\xi}_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') \tilde{\xi}(\mathbf{r}') dr'}$. - **Default**: 0 ### of_ml_tanh_pnl -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{p_{\rm{nl}}}(\mathbf{r}) = \tanh{(\chi_{p_{\rm{nl}}} p_{\rm{nl}}(\mathbf{r}))}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{p_{\rm{nl}}}(\mathbf{r}) = \tanh{(\chi_{p_{\rm{nl}}} p_{\rm{nl}}(\mathbf{r}))}$. - **Default**: 0 ### of_ml_tanh_qnl -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{q_{\rm{nl}}}(\mathbf{r}) = \tanh{(\chi_{q_{\rm{nl}}} q_{\rm{nl}}(\mathbf{r}))}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{q_{\rm{nl}}}(\mathbf{r}) = \tanh{(\chi_{q_{\rm{nl}}} q_{\rm{nl}}(\mathbf{r}))}$. - **Default**: 0 ### of_ml_tanhp_nl -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{p}_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') \tilde{p}(\mathbf{r}') dr'}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{p}_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') \tilde{p}(\mathbf{r}') dr'}$. - **Default**: 0 ### of_ml_tanhq_nl -- **Type**: Vector of Integer +- **Type**: Vector of Integer - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{q}_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') \tilde{q}(\mathbf{r}') dr'}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element controls the non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{q}_{\rm{nl}}(\mathbf{r}) = \int{w_i(\mathbf{r}-\mathbf{r}') \tilde{q}(\mathbf{r}') dr'}$. - **Default**: 0 ### of_ml_chi_xi - **Type**: Vector of Real - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element specifies the hyperparameter $\chi_\xi$ of non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{\xi}(\mathbf{r}) = \tanh(\chi_{\xi} \xi(\mathbf{r}))$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element specifies the hyperparameter $\chi_\xi$ of non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{\xi}(\mathbf{r}) = \tanh(\chi_{\xi} \xi(\mathbf{r}))$. - **Default**: 1.0 ### of_ml_chi_pnl - **Type**: Vector of Real - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element specifies the hyperparameter $\chi_{p_{\rm{nl}}}$ of non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{p_{\rm{nl}}}(\mathbf{r}) = \tanh{(\chi_{p_{\rm{nl}}} p_{\rm{nl}}(\mathbf{r}))}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element specifies the hyperparameter $\chi_{p_{\rm{nl}}}$ of non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{p_{\rm{nl}}}(\mathbf{r}) = \tanh{(\chi_{p_{\rm{nl}}} p_{\rm{nl}}(\mathbf{r}))}$. - **Default**: 1.0 ### of_ml_chi_qnl - **Type**: Vector of Real - **Availability**: OFDFT -- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element specifies the hyperparameter $\chi_{q_{\rm{nl}}}$ of non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{q_{\rm{nl}}}(\mathbf{r}) = \tanh{(\chi_{q_{\rm{nl}}} q_{\rm{nl}}(\mathbf{r}))}$. +- **Description**: Containing nkernel (see [of_ml_nkernel](#of_ml_nkernel)) elements. The $i$-th element specifies the hyperparameter $\chi_{q_{\rm{nl}}}$ of non-local descriptor defined by the $i$-th kernel function $w_i(\mathbf{r}-\mathbf{r}')$: $\tilde{q_{\rm{nl}}}(\mathbf{r}) = \tanh{(\chi_{q_{\rm{nl}}} q_{\rm{nl}}(\mathbf{r}))}$. - **Default**: 1.0 ### of_ml_local_test @@ -2673,6 +2775,25 @@ Warning: this function is not robust enough for the current version. Please try [back to top](#full-list-of-input-keywords) +## TDOFDFT: time dependent orbital free density functional theory + +### of_cd + +- **Type**: Boolean +- **Availability**: TDOFDFT +- **Type**: Boolean +- **Description**: Added the current dependent(CD) potential. (https://doi.org/10.1103/PhysRevB.98.144302) + - True: Added the CD potential. + - False: Not added the CD potential. +- **Default**: False + +### of_mcd_alpha + +- **Type**: Real +- **Availability**: TDOFDFT +- **Description**: The value of the parameter alpha in modified CD potential method. mCDPotenial=alpha*CDPotenial(proposed in paper PhysRevB.98.144302) +- **Default**: 1.0 + ## Electric field and dipole correction These variables are relevant to electric field and dipole correction @@ -2789,7 +2910,7 @@ These variables are relevant to gate field (compensating charge) [Detailed intro ## Exact Exchange (Common) -These variables are relevant when using hybrid functionals. Currently ABACUS supports hybrid functionals when *[basis_type](#basis_type)==lcao/lcao_in_pw*. +These variables are relevant when using hybrid functionals. Currently ABACUS supports hybrid functionals when *[basis_type](#basis_type)==lcao/lcao_in_pw*. Support for hybrid functionals in the *pw [basis_type](#basis_type)* is under active development. The following parameters apply to *[basis_type](#basis_type)==lcao/lcao_in_pw/pw*. For basis specific parameters, see the sections *[Exact Exchange (LCAO/LCAO in PW)](#exact-exchange-lcaolcao-in-pw)* and *[Exact Exchange (PW)](#exact-exchange-pw)*. @@ -2879,6 +3000,12 @@ These variables are relevant when using hybrid functionals with *[basis_type](#b - **Description**: See also the entry [exx_pca_threshold](#exx_pca_threshold). Smaller components (less than exx_c_threshold) of the $C^{a}_{ik}$ matrix are neglected to accelerate calculation. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1e-4. - **Default**: 1E-4 +### exx_cs_inv_thr + +- **Type**: Real +- **Description**: By default, the Coulomb matrix inversion required for obtaining LRI coefficients is performed using LU decomposition. However, this approach may suffer from numerical instabilities when a large set of auxiliary basis functions (ABFs) is employed. When `exx_cs_inv_thr > 0`, the inversion is instead carried out via matrix diagonalization. Eigenvalues smaller than `exx_cs_inv_thr` are discarded to improve numerical stability. A relatively safe and commonly recommended value is `1e-5`. +- **Default**: -1 + ### exx_v_threshold - **Type**: Real @@ -2924,7 +3051,7 @@ These variables are relevant when using hybrid functionals with *[basis_type](#b ### exx_ccp_rmesh_times - **Type**: Real -- **Description**: This parameter determines how many times larger the radial mesh required for calculating Columb potential is to that of atomic orbitals. The value should be at least 1. Reducing this value can effectively increase the speed of self-consistent calculations using hybrid functionals. +- **Description**: This parameter determines how many times larger the radial mesh required for calculating Columb potential is to that of atomic orbitals. The value should be larger than 0. Reducing this value can effectively increase the speed of self-consistent calculations using hybrid functionals. - **Default**: - 5: if *[dft_functional](#dft_functional)==hf/pbe0/scan0/muller/power/wp22* - 1.5: if *[dft_functional](#dft_functional)==hse/cwp22* @@ -2950,7 +3077,7 @@ These variables are relevant when using hybrid functionals with *[basis_type](#b - **Type**: Real - **Availability**: *[calculation](#calculation)==gen_opt_abfs* - **Description**: The threshold when solving for the zeros of spherical Bessel functions. A reasonable choice is 1e-12. -- **Default**: 0 +- **Default**: 1E-12 ### exx_real_number @@ -2982,7 +3109,7 @@ These variables are relevant when using hybrid functionals with *[basis_type](#b - **Type**: Boolean - **Availability**: *[symmetry](#symmetry)==1* and exx calculation (*[dft_fuctional](#dft_functional)==hse/hf/pbe0/scan0* or *[rpa](#rpa)==True*) -- **Description**: +- **Description**: - False: only rotate k-space density matrix D(k) from irreducible k-points to accelerate diagonalization - True: rotate both D(k) and Hexx(R) to accelerate both diagonalization and EXX calculation - **Default**: True @@ -3001,7 +3128,7 @@ These variables are relevant when using hybrid functionals with *[basis_type](#b ### exxace - **Type**: Boolean -- **Availability**: *[exx_separate_loop](#exx_separate_loop)==True*. +- **Availability**: *[exx_separate_loop](#exx_separate_loop)==True*. - **Description**: Whether to use the ACE method (https://doi.org/10.1021/acs.jctc.6b00092) to accelerate the calculation the Fock exchange matrix. Should be set to true most of the time. - True: Use the ACE method to calculate the Fock exchange operator. - False: Use the traditional method to calculate the Fock exchange operator. @@ -3012,6 +3139,26 @@ These variables are relevant when using hybrid functionals with *[basis_type](#b - **Description**: Whether to use the gamma point extrapolation method to calculate the Fock exchange operator. See [https://doi.org/10.1103/PhysRevB.79.205114](https://doi.org/10.1103/PhysRevB.79.205114) for details. Should be set to true most of the time. - **Default**: True +### ecutexx +- **Type**: Real +- **Description**: The energy cutoff for EXX (Fock) exchange operator in plane wave basis calculations. Reducing `ecutexx` below `ecutrho` may significantly accelerate EXX computations. This speed improvement comes with a reduced numerical accuracy in the exchange energy calculation. +- **Default**: same as *[ecutrho](#ecutrho)* +- **Unit**: Ry + +### exx_thr_type +- **Type**: String +- **Description**: The type of threshold used to judge whether the outer loop has converged in the separate loop EXX calculation. + - energy: use the change of exact exchange energy to judge convergence. + - density: if the change of charge density difference between two successive outer loop iterations is seen as converged according to *[scf_thr](#scf_thr)*, then the outer loop is seen as converged. +- **Default**: `density` + +### exx_ene_thr +- **Type**: Real +- **Availability**: *[exx_thr_type](#exx_thr_type)*==`energy` +- **Description**: The threshold for the change of exact exchange energy to judge convergence of the outer loop in the separate loop EXX calculation. +- **Default**: 1e-5 +- **Unit**: Ry + ## Molecular dynamics These variables are used to control molecular dynamics calculations. For more information, please refer to [md.md](../md.md#molecular-dynamics) in detail. @@ -3073,14 +3220,14 @@ These variables are used to control molecular dynamics calculations. For more in - **Type**: Boolean - **Description**: Control whether to restart molecular dynamics calculations and time-dependent density functional theory calculations. - - True: ABACUS will read in `${read_file_dir}/Restart_md.dat` to determine the current step `${md_step}`, then read in the corresponding `STRU_MD_${md_step}` in the folder `OUT.$suffix/STRU/` automatically. For tddft, ABACUS will also read in `WFC_NAO_K${kpoint}` of the last step (You need to set out_wfc_lcao=1 and out_app_flag=0 to obtain this file). + - True: ABACUS will read in `${read_file_dir}/Restart_md.txt` to determine the current step `${md_step}`, then read in the corresponding `STRU_MD_${md_step}` in the folder `OUT.$suffix/STRU/` automatically. For tddft, ABACUS will also read in `WFC_NAO_K${kpoint}` of the last step (You need to set out_wfc_lcao=1 and out_app_flag=0 to obtain this file). - False: ABACUS will start molecular dynamics calculations normally from the first step. - **Default**: False ### md_restartfreq - **Type**: Integer -- **Description**: The output frequency of `OUT.${suffix}/Restart_md.dat` and structural files in the directory `OUT.${suffix}/STRIU/`, which are used to restart molecular dynamics calculations, see [md_restart](#md_restart) in detail. +- **Description**: The output frequency of `OUT.${suffix}/Restart_md.txt` and structural files in the directory `OUT.${suffix}/STRIU/`, which are used to restart molecular dynamics calculations, see [md_restart](#md_restart) in detail. - **Default**: 5 ### md_dumpfreq @@ -3192,15 +3339,15 @@ These variables are used to control molecular dynamics calculations. For more in ### lj_rule - **Type**: Integer -- **Description**: The Lennard-Jones potential between two atoms equals: - $$V_{LJ}(r_{ij})=4\epsilon_{ij}\left(\left(\frac{\sigma_{ij}}{r_{ij}}\right)^{12}-\left(\frac{\sigma_{ij}}{r_{ij}}\right)^{6}\right)=\frac{C_{ij}^{(12)}}{{r_{ij}}^{12}}-\frac{C_{ij}^{(6)}}{{r_{ij}}^{6}}.$$ - - The parameters [lj_epsilon](#lj_epsilon) and [lj_sigma](#lj_sigma) should be multiple-component vectors. For example, there are two choices in the calculations of 3 atom species: +- **Description**: The Lennard-Jones potential between two atoms equals: + $$V_{LJ}(r_{ij})=4\epsilon_{ij}\left(\left(\frac{\sigma_{ij}}{r_{ij}}\right)^{12}-\left(\frac{\sigma_{ij}}{r_{ij}}\right)^{6}\right)=\frac{C_{ij}^{(12)}}{{r_{ij}}^{12}}-\frac{C_{ij}^{(6)}}{{r_{ij}}^{6}}.$$ + + The parameters [lj_epsilon](#lj_epsilon) and [lj_sigma](#lj_sigma) should be multiple-component vectors. For example, there are two choices in the calculations of 3 atom species: Supply six-component vectors that describe the interactions between all possible atom pairs. The six-component vectors represent lower triangular symmetric matrixs, and the correspondence between the vector component $\sigma _k$ and the matrix element $\sigma (i,j)$ is $$k= i(i+1)/2 +j$$ - - Supply three-component vectors that describe the interactions between atoms of the same species. In this case, two types of combination rules can be used to construct non-diagonal elements in the parameter matrix. + + Supply three-component vectors that describe the interactions between atoms of the same species. In this case, two types of combination rules can be used to construct non-diagonal elements in the parameter matrix. - 1: geometric average: $$\begin{array}{rcl}C_{ij}^{(6)}&=&\left(C_{ii}^{(6)}C_{jj}^{(6)}\right)^{1/2}\\C_{ij}^{(12)}&=&\left(C_{ii}^{(12)}C_{jj}^{(12)}\right)^{1/2}\end{array}$$ @@ -3239,7 +3386,7 @@ These variables are used to control molecular dynamics calculations. For more in ### pot_file - **Type**: String -- **Description**: The filename of DP potential files, see [md.md](../md.md#dpmd) in detail. +- **Description**: The filename of DP/NEP potential files, see [md.md](../md.md#dpmd) in detail. - **Default**: graph.pb ### dp_rescaling @@ -3457,7 +3604,7 @@ These variables are used to control vdW-corrected related parameters. - `d3_bj`: [Grimme's DFTD3(BJ)](https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.21759) dispersion correction method (BJ-damping) - `none`: no vdW correction - **Default**: none -- **Note**: ABACUS supports automatic setting on DFT-D3 parameters for common functionals after version 3.8.3 (and several develop versions earlier). To benefit from this feature, please specify the parameter `dft_functional` explicitly (for more details on this parameter, please see [dft_functional](#dft_functional)), otherwise the autoset procedure will crash with error message like `cannot find DFT-D3 parameter for XC(***)`. If not satisfied with those in-built parameters, any manually setting on `vdw_s6`, `vdw_s8`, `vdw_a1` and `vdw_a2` will overwrite. +- **Note**: ABACUS supports automatic setting on DFT-D3 parameters for common functionals after version 3.8.3 (and several develop versions earlier). To benefit from this feature, please specify the parameter `dft_functional` explicitly (for more details on this parameter, please see [dft_functional](#dft_functional)), otherwise the autoset procedure will crash with error message like `cannot find DFT-D3 parameter for XC(***)`. If not satisfied with those in-built parameters, any manually setting on `vdw_s6`, `vdw_s8`, `vdw_a1` and `vdw_a2` will overwrite. - **Special**: There are special cases for functional family wB97 (Omega-B97): if want to use the functional wB97X-D3BJ, one needs to specify the `dft_functional` as `HYB_GGA_WB97X_V` and `vdw_method` as `d3_bj`. If want to use the functional wB97X-D3, specify `dft_functional` as `HYB_GGA_WB97X_D3` and `vdw_method` as `d3_0`. ### vdw_s6 @@ -3693,44 +3840,45 @@ These variables are used to control berry phase and wannier90 interface paramete [back to top](#full-list-of-input-keywords) -## TDDFT: time dependent density functional theory +## RT-TDDFT: Real-Time Time-Dependent Density Functional Theory ### estep_per_md - **Type**: Integer -- **Description**: The number of electron propagation steps between two ionic steps. +- **Description**: The number of electronic propagation steps between two ionic steps. - **Default**: 1 ### td_dt - **Type**: Real -- **Description**: The time step used in electron propagation. Setting td_dt will reset the md_dt value to td_dt * estep_per_md. -- **Default**: md_dt/estep_per_md +- **Description**: The time step used in electronic propagation. Setting `td_dt` will reset the value of [`md_dt`](#md_dt) to `td_dt * estep_per_md`. +- **Default**: `md_dt / estep_per_md` +- **Unit**: fs ### td_edm - **Type**: Integer -- **Description**: Method to calculate the energy density matrix - - 0: new method (use the original formula). - - 1: old method (use the formula for ground state). +- **Description**: Method to calculate the energy-density matrix, mainly affects the calculation of force and stress. + - 0: Using the original formula: $\mathrm{EDM}_{\mu\nu}=\frac{1}{2} \sum_{\eta \zeta}\left(S_{\mu \eta}^{-1} H_{\eta \zeta} \rho_{\zeta \nu}+\rho_{\mu \eta} H_{\eta \zeta} S_{\zeta \nu}^{-1}\right)$. + - 1: Using the formula for ground state (deprecated): $\mathrm{EDM}_{\mu\nu}=\sum_n^{\mathrm{occ}} c_{\mu,n} f_n \epsilon_n c_{n,\nu}$. Note that this usually does not hold if wave function is not the eigenstate of the Hamiltonian. - **Default**: 0 ### td_print_eij - **Type**: Real -- **Description**: - - <0: don't print $E_{ij}$. - - \>=0: print the $E_{ij}\ (<\psi_i|H|\psi_j>$) elements which are larger than td_print_eij. +- **Description**: Controls the printing of Hamiltonian matrix elements $E_{ij}=\Braket{\psi_i|\hat{H}|\psi_j}$. + - $<0$: Suppress all $E_{ij}$ output. + - $\geqslant 0$: Print only elements with ​​either $|\text{Re}(E_{ij})|$ or $|\text{Im}(E_{ij})|$​​ exceeding `td_print_eij`. - **Default**: -1 +- **Unit**: Ry ### td_propagator - **Type**: Integer -- **Description**: - Methods of propagator - - 0: Crank-Nicolson, based on matrix inversion. - - 1: 4th Taylor expansions of exponential. - - 2: enforced time-reversal symmetry (ETRS). +- **Description**: Methods of electronic propagation: $\psi_{n\boldsymbol{k}}(\boldsymbol{r},t_2) = U(t_2,t_1) \psi_{n\boldsymbol{k}}(\boldsymbol{r},t_1)$. + - 0: Crank-Nicolson, based on matrix inversion: $U = \dfrac{S_{\boldsymbol{k}}-\mathrm{i} H_{\boldsymbol{k}}((t_1+t_2)/2) \Delta t / 2}{S_{\boldsymbol{k}}+\mathrm{i} H_{\boldsymbol{k}}((t_1+t_2)/2) \Delta t / 2}$. + - 1: 4th-order Taylor expansion of exponential: $U = I + \hat{A} + \frac{1}{2}\hat{A}^2 + \frac{1}{6}\hat{A}^3 + \frac{1}{24}\hat{A}^4$, where $\hat{A} = -\mathrm{i} S_{\boldsymbol{k}}^{-1} H_{\boldsymbol{k}}((t_1+t_2)/2)\Delta t$. + - 2: Enforced time-reversal symmetry (ETRS): $U = \mathrm{e}^{-\mathrm{i} S_{\boldsymbol{k}}^{-1} H_{\boldsymbol{k}}(t_2)\frac{\Delta t}{2}} \mathrm{e}^{-\mathrm{i} S_{\boldsymbol{k}}^{-1} H_{\boldsymbol{k}}(t_1)\frac{\Delta t}{2}}$. - 3: Crank-Nicolson, based on solving linear equation. - **Default**: 0 @@ -3738,53 +3886,83 @@ These variables are used to control berry phase and wannier90 interface paramete - **Type**: Boolean - **Description**: - - True: add a laser material interaction (extern laser field). - - False: no extern laser field. + - True: Add a laser-material interaction (external electric field). + - False: No external electric field. - **Default**: False ### td_vext_dire - **Type**: String - **Description**: - If `td_vext` is True, the td_vext_dire is a string to set the number of electric fields, like `td_vext_dire 1 2` representing external electric field is added to the x and y axis at the same time. Parameters of electric field can also be written as a string, like `td_gauss_phase 0 1.5707963267948966` representing the Gauss field in the x and y directions has a phase delay of Pi/2. See below for more parameters of electric field. - - 1: the direction of external light field is along x axis. - - 2: the direction of external light field is along y axis. - - 3: the direction of external light field is along z axis. + Specifies the direction(s) of the external electric field when `td_vext` is enabled. For example, `td_vext_dire 1 2` indicates that external electric fields are applied to both the x and y directions simultaneously. Electric field parameters can also be written as strings. For example, `td_gauss_phase 0 1.5707963` indicates that the Gaussian type electric fields in the x and y directions have a phase delay of $\pi/2$. See below for more electric field parameters. + - 1: The external field direction is along the x-axis. + - 2: The external field direction is along the y-axis. + - 3: The external field direction is along the z-axis. - **Default**: 1 + > Note: The axes refer to the absolute Cartesian coordinate system, which is independent of lattice vectors or reciprocal space definitions.​ This is different from [`efield_dir`](#efield_dir), which is used in ground-state KSDFT. + ### td_stype - **Type**: Integer -- **Description**: - Type of electric field in space domain - - 0: length gauge. - - 1: velocity gauge. - - 2: hybrid gauge. +- **Description**: Type of electric field in the space domain, i.e. the gauge of the electric field. + - 0: Length gauge. + - 1: Velocity gauge. + - 2: Hybrid gauge. See [*J. Chem. Theory Comput.* 2025, 21, 3335−3341](https://pubs.acs.org/doi/10.1021/acs.jctc.5c00111) for more information. - **Default**: 0 ### td_ttype -- **Type**: Integer +- **Type**: String - **Description**: - Type of electric field in time domain - - 0: Gaussian type function. - - 1: Trapezoid function. - - 2: Trigonometric function. - - 3: Heaviside function. - - 4: HHG function. + Type of electric field in the time domain. + - 0: Gaussian type function: + + $$ + E(t) = A \cos\left[2\pi f(t-t_0)+\varphi\right]\exp\left[-\frac{(t-t_0)^2}{2\sigma^2}\right] + $$ + + - 1: Trapezoid function: + + $$ + E(t) = + \begin{cases} + A \cos(2\pi f t + \varphi) \cdot \dfrac{t}{t_1}, & t < t_1 \\ + A \cos(2\pi f t + \varphi), & t_1 \leqslant t \leqslant t_2 \\ + A \cos(2\pi f t + \varphi) \left(1 - \dfrac{t - t_2}{t_3 - t_2}\right), & t_2 < t < t_3 \\ + 0, & t \geqslant t_3 + \end{cases} + $$ + + - 2: Trigonometric function: + + $$ + E(t) = A \cos(2\pi f_1 t + \varphi_1) \sin^2(2\pi f_2 t + \varphi_2) + $$ + + - 3: Heaviside step function: + + $$ + E(t) = + \begin{cases} + A, & t < t_0 \\ + 0, & t \geqslant t_0 + \end{cases} + $$ + - **Default**: 0 ### td_tstart - **Type**: Integer -- **Description**: Number of steps where electric field starts +- **Description**: The initial time step when the time-dependent electric field is activated. - **Default**: 1 ### td_tend - **Type**: Integer -- **Description**: Number of steps where electric field ends -- **Default**: 100 +- **Description**: The final time step when the time-dependent electric field is deactivated. The field remains active between `td_tstart` and `td_tend`. +- **Default**: 1000 ### td_lcut1 @@ -3792,9 +3970,9 @@ These variables are used to control berry phase and wannier90 interface paramete - **Description**: The lower bound of the interval in the length gauge RT-TDDFT, where $x$ is the fractional coordinate: - $$ + $ E(x)=\begin{cases}E_0, & \mathtt{cut1}\leqslant x \leqslant \mathtt{cut2} \\-E_0\left(\dfrac{1}{\mathtt{cut1}+1-\mathtt{cut2}}-1\right), & 0 < x < \mathtt{cut1~~or~~cut2} < x < 1 \end{cases} - $$ + $ - **Default**: 0.05 @@ -3804,230 +3982,201 @@ These variables are used to control berry phase and wannier90 interface paramete - **Description**: The upper bound of the interval in the length gauge RT-TDDFT, where $x$ is the fractional coordinate: - $$ + $ E(x)=\begin{cases}E_0, & \mathtt{cut1}\leqslant x \leqslant \mathtt{cut2} \\-E_0\left(\dfrac{1}{\mathtt{cut1}+1-\mathtt{cut2}}-1\right), & 0 < x < \mathtt{cut1~~or~~cut2} < x < 1 \end{cases} - $$ + $ - **Default**: 0.95 ### td_gauss_freq -- **Type**: Real +- **Type**: String - **Description**: - Frequency (freq) of Gauss type electric field (fs^-1)\ - amp\*cos(2pi\*freq(t-t0)+phase)exp(-(t-t0)^2/2sigma^2) + Frequency $f$ of the Gaussian type electric field. - **Default**: 22.13 +- **Unit**: 1/fs ### td_gauss_phase -- **Type**: Real +- **Type**: String - **Description**: - Phase of Gauss type electric field\ - amp\*(2pi\*freq(t-t0)+phase)exp(-(t-t0)^2/2sigma^2) + Phase $\varphi$ of the Gaussian type electric field. - **Default**: 0.0 ### td_gauss_sigma -- **Type**: Real +- **Type**: String - **Description**: - Sigma of Gauss type electric field (fs)\ - amp\*cos(2pi\*freq(t-t0)+phase)exp(-(t-t0)^2/2sigma^2) + Pulse width (standard deviation) $\sigma$ of the Gaussian type electric field. - **Default**: 30.0 +- **Unit**: fs ### td_gauss_t0 -- **Type**: Real +- **Type**: String - **Description**: - Step number of time center (t0) of Gauss type electric field\ - amp\*cos(2pi\*freq(t-t0)+phase)exp(-(t-t0)^2/2sigma^2) + Step number of the time center $t_0$ of the Gaussian type electric field. - **Default**: 100 ### td_gauss_amp -- **Type**: Real +- **Type**: String - **Description**: - Amplitude (amp) of Gauss type electric field (V/Angstrom)\ - amp\*cos(2pi\*freq(t-t0)+phase)exp(-(t-t0)^2/2sigma^2) + Amplitude $A$ of the Gaussian type electric field. - **Default**: 0.25 +- **Unit**: V/Å ### td_trape_freq -- **Type**: Real +- **Type**: String - **Description**: - Frequency (freq) of Trapezoid type electric field (fs^-1)\ - E = amp\*cos(2pi\*freq\*t+phase) t/t1 , tt3 + Frequency $f$ of the trapezoid type electric field. - **Default**: 1.60 +- **Unit**: 1/fs ### td_trape_phase -- **Type**: Real +- **Type**: String - **Description**: - Phase of Trapezoid type electric field\ - E = amp\*cos(2pi\*freq\*t+phase) t/t1 , tt3 + Phase $\varphi$ of the trapezoid type electric field. - **Default**: 0.0 ### td_trape_t1 -- **Type**: Real +- **Type**: String - **Description**: - Step number of time interval 1 (t1) of Trapezoid type electric field\ - E = amp\*cos(2pi\*freq\*t+phase) t/t1 , tt3 + Step number of the time interval $t_1$ of the trapezoid type electric field. - **Default**: 1875 ### td_trape_t2 -- **Type**: Real +- **Type**: String - **Description**: - Step number of time interval 2 (t2) of Trapezoid type electric field\ - E = amp\*cos(2pi\*freq\*t+phase) t/t1 , tt3 + Step number of the time interval $t_2$ of the trapezoid type electric field. - **Default**: 5625 ### td_trape_t3 -- **Type**: Real +- **Type**: String - **Description**: - Step number of time interval 3 (t3) of Trapezoid type electric field\ - E = amp\*cos(2pi\*freq\*t+phase) t/t1 , tt3 + Step number of the time interval $t_3$ of the trapezoid type electric field. - **Default**: 7500 ### td_trape_amp -- **Type**: Real +- **Type**: String - **Description**: - Amplitude (amp) of Trapezoid type electric field (V/Angstrom)\ - E = amp\*cos(2pi\*freq\*t+phase) t/t1 , tt3 + Amplitude $A$ of the trapezoid type electric field. - **Default**: 2.74 +- **Unit**: V/Å ### td_trigo_freq1 -- **Type**: Real +- **Type**: String - **Description**: - Frequency 1 (freq1) of Trigonometric type electric field (fs^-1)\ - amp\*cos(2\*pi\*freq1\*t+phase1)\*sin(2\*pi\*freq2\*t+phase2)^2 + Frequency $f_1$ of the trigonometric type electric field. - **Default**: 1.164656 +- **Unit**: 1/fs ### td_trigo_freq2 -- **Type**: Real +- **Type**: String - **Description**: - Frequency 2 (freq2) of Trigonometric type electric field (fs^-1)\ - amp\*cos(2\*pi\*freq1\*t+phase1)\*sin(2\*pi\*freq2\*t+phase2)^2 + Frequency $f_2$ of the trigonometric type electric field. - **Default**: 0.029116 +- **Unit**: 1/fs ### td_trigo_phase1 -- **Type**:Real +- **Type**:String - **Description**: - Phase 1 (phase1) of Trigonometric type electric field\ - amp\*cos(2\*pi\*freq1\*t+phase1)\*sin(2\*pi\*freq2\*t+phase2)^2 + Phase $\varphi_1$ of the trigonometric type electric field. - **Default**: 0.0 ### td_trigo_phase2 -- **Type**: Real +- **Type**: String - **Description**: - Phase 2 (phase2) of Trigonometric type electric field\ - amp\*cos(2\*pi\*freq1\*t+phase1)\*sin(2\*pi\*freq2\*t+phase2)^2 + Phase $\varphi_2$ of the trigonometric type electric field. - **Default**: 0.0 ### td_trigo_amp -- **Type**: Real +- **Type**: String - **Description**: - Amplitude (amp) of Trigonometric type electric field (V/Angstrom)\ - amp\*cos(2\*pi\*freq1\*t+phase1)\*sin(2\*pi\*freq2\*t+phase2)^2 + Amplitude $A$ of the trigonometric type electric field. - **Default**: 2.74 +- **Unit**: V/Å ### td_heavi_t0 -- **Type**: Real +- **Type**: String - **Description**: - Step number of switch time (t0) of Heaviside type electric field\ - E = amp , tt0 + Step number of the switch time $t_0$ of the Heaviside type electric field. - **Default**: 100 ### td_heavi_amp -- **Type**: Real +- **Type**: String - **Description**: - Amplitude (amp) of Heaviside type electric field (V/Angstrom)\ - E = amp , tt0 -- **Default**: 2.74 + Amplitude $A$ of the Heaviside type electric field. +- **Default**: 1.0 +- **Unit**: V/Å ### out_dipole - **Type**: Boolean - **Description**: - - True: output dipole. - - False: do not output dipole. + - True: Output electric dipole moment. + - False: Do not output electric dipole moment. - **Default**: False ### out_current - **Type**: Boolean -- **Description**: Output current in real time TDDFT simulations with the velocity gauge - - True: output current. - - False: do not output current. +- **Description**: + - True: Output current. + - False: Do not output current. - **Default**: False ### out_current_k - **Type**: Boolean -- **Description**: Output rt-TDDFT current for all k points - - True: output tddft current for all k points - - False: output current in total +- **Description**: + - True: Output current for each k-points separately. + - False: Output current in total. - **Default**: False ### out_efield - **Type**: Boolean -- **Description**: Output TDDFT Efield or not (V/Angstrom) - - True: output efield - - False: do not output efield +- **Description**: Whether to output the electric field data to files. When enabled, writes real-time electric field values (unit: ​​V/Å​​) into files named `efield_[num].txt`, where `[num]` is the ​​sequential index of the electric field ranges from `0` to `N-1` for `N` configured fields. It is noteworthy that the field type sequence follows [`td_ttype`](#td_ttype), while the direction sequence follows [`td_vext_dire`](#td_vext_dire). + - True: Output electric field. + - False: Do not output electric field. - **Default**: False ### out_vecpot - **Type**: Boolean -- **Description**: Output TDDFT Vector potential or not (a.u.) - - True: output Vector potential in file "OUT.suffix/At.dat" - - False: do not output Vector potential +- **Description**: Output vector potential or not (unit: a.u.). + - True: Output vector potential into file `At.dat`. + - False: Do not output vector potential. - **Default**: False ### init_vecpot_file - **Type**: Boolean -- **Description**: Init vector potential through file or not - - True: init vector potential from file "At.dat".(a.u.) It consists of four columns, representing istep and vector potential on each direction. - - False: calculate vector potential by integral of Efield +- **Description**: Initialize vector potential through file or not. + - True: Initialize vector potential from file `At.dat` (unit: a.u.). It consists of four columns, representing the step number and vector potential on each direction. + - False: Calculate vector potential by integrating the electric field. - **Default**: False ### ocp - **Type**: Boolean - **Availability**: - - For PW and LCAO codes: If set to 1, the band occupations will be determined by `ocp_set`. - - For RT-TDDFT in LCAO codes: If set to 1, same as above, but the occupations will be constrained starting from the second ionic step. + - For PW and LCAO codes: If enabled, the band occupations will be determined by `ocp_set`. + - For RT-TDDFT in LCAO codes: If enabled, same as above, but the occupations will be constrained starting from the second ionic step. - For OFDFT: This feature is not available. - **Description**: - True: Fixes the band occupations based on the values specified in `ocp_set`. @@ -4471,17 +4620,17 @@ These parameters are used to solve the excited states using. e.g. LR-TDDFT. ### xc_kernel (Under Development Feature) - **Type**: String -- **Description**: The exchange-correlation kernel used in the calculation. +- **Description**: The exchange-correlation kernel used in the calculation. Currently supported: `RPA`, `LDA`, `PBE`, `HSE`, `HF`. - **Default**: LDA ### lr_init_xc_kernel (Under Development Feature) - **Type**: String -- **Description**: The method to initalize the xc kernel. +- **Description**: The method to initalize the xc kernel. - "default": Calculate xc kerenel ($f_\text{xc}$) from the ground-state charge density. - "file": Read the xc kernel $f_\text{xc}$ on grid from the provided files. The following words should be the paths of ".cube" files, where the first 1 (*[nspin](#nspin)==1*) or 3 (*[nspin](#nspin)==2*, namely spin-aa, spin-ab and spin-bb) will be read in. The parameter [xc_kernel](#xc_kernel) will be invalid. Now only LDA-type kernel is supproted as the potential will be calculated by directly multiplying the transition density. - - "from_charge_file": Calculate fxc from the charge density read from the provided files. The following words should be the paths of ".cube" files, where the first [nspin]($nspin) files will be read in. + - "from_charge_file": Calculate fxc from the charge density read from the provided files. The following words should be the paths of ".cube" files, where the first [nspin]($nspin) files will be read in. - **Default**: "default" ### lr_solver (Under Development Feature) @@ -4504,7 +4653,7 @@ Currently supported: `RPA`, `LDA`, `PBE`, `HSE`, `HF`. ### nocc (Under Development Feature) - **Type**: Integer -- **Description**: The number of occupied orbitals (up to HOMO) used in the LR-TDDFT calculation. +- **Description**: The number of occupied orbitals (up to HOMO) used in the LR-TDDFT calculation. - Note: If the value is illegal ( > [nelec](#nelec)\/2 or <= 0), it will be autoset to [nelec](#nelec)\/2. - **Default**: [nband](#nband) @@ -4523,7 +4672,7 @@ Currently supported: `RPA`, `LDA`, `PBE`, `HSE`, `HF`. ### lr_unrestricted (Under Development Feature) - **Type**: Boolean - **Description**: Whether to use unrestricted construction for LR-TDDFT (the matrix size will be doubled). - - True: Always use unrestricted LR-TDDFT. + - True: Always use unrestricted LR-TDDFT. - False: Use unrestricted LR-TDDFT only when the system is open-shell. - **Default**: False @@ -4547,7 +4696,7 @@ The output files are `OUT.${suffix}/Excitation_Energy.dat` and `OUT.${suffix}/Ex ### ri_hartree_benchmark (Under Development Feature) - **Type**: String -- **Description**: Whether to use the localized resolution-of-identity (LRI) approximation for the **Hartree** term of kernel in the $A$ matrix of LR-TDDFT for benchmark (with FHI-aims or another ABACUS calculation). Now it only supports molecular systems running with a single processor, and a large enough supercell should be used to make LRI C, V tensors contain only the R=(0 0 0) cell. +- **Description**: Whether to use the localized resolution-of-identity (LRI) approximation for the **Hartree** term of kernel in the $A$ matrix of LR-TDDFT for benchmark (with FHI-aims or another ABACUS calculation). Now it only supports molecular systems running with a single processor, and a large enough supercell should be used to make LRI C, V tensors contain only the R=(0 0 0) cell. - `aims`: The `OUT.${suffix}`directory should contain the FHI-aims output files: RI-LVL tensors`Cs_data_0.txt` and `coulomb_mat_0.txt`, and KS eigenstates from FHI-aims: `band_out`and `KS_eigenvectors.out`. The Casida equation will be constructed under FHI-aims' KS eigenpairs. - LRI tensor files (`Cs_data_0.txt` and `coulomb_mat_0.txt`)and Kohn-Sham eigenvalues (`bands_out`): run FHI-aims with periodic boundary conditions and with `total_energy_method rpa` and `output librpa`. - Kohn-Sham eigenstates under aims NAOs (`KS_eigenvectors.out`): run FHI-aims with `output eigenvectors`. diff --git a/docs/advanced/input_files/kpt.md b/docs/advanced/input_files/kpt.md index 853a3dc340..1aac138fd0 100644 --- a/docs/advanced/input_files/kpt.md +++ b/docs/advanced/input_files/kpt.md @@ -58,6 +58,40 @@ Direct //`Direct' or `Cartesian' coordinate 0.5 0.5 0.5 0.125 ``` +### K-point Weights and Symmetry + +When explicitly setting k-points, you can specify custom weights for each k-point. These weights determine the contribution of each k-point to the total energy and density calculations. + +**Important notes about k-point weights:** + +1. **Custom weights are preserved**: When using explicit k-point lists (non-Monkhorst-Pack), ABACUS preserves the custom weights you specify, even when symmetry operations are applied to reduce the k-points to the irreducible Brillouin zone (IBZ). + +2. **Symmetry reduction**: When [`symmetry`](./input-main.md#symmetry) is set to 1, ABACUS will analyze the crystal symmetry and reduce the k-point set to the irreducible Brillouin zone. During this reduction: + - For **Monkhorst-Pack grids** (automatically generated): All k-points have uniform weights (1/N where N is the total number of k-points) + - For **explicit k-point lists**: Custom weights are preserved and properly combined when symmetry-equivalent k-points are merged + +3. **Weight normalization**: After symmetry reduction, k-point weights are normalized so that their sum equals `degspin` (2 for non-spin-polarized calculations, 1 for spin-polarized calculations). + +**Example with custom weights:** + +``` +K_POINTS +5 +Direct +0.0 0.0 0.0 0.1 // Gamma point with weight 0.1 +0.5 0.0 0.0 0.2 // X point with weight 0.2 +0.0 0.5 0.0 0.3 // Y point with weight 0.3 +0.5 0.5 0.0 0.2 // M point with weight 0.2 +0.0 0.0 0.5 0.2 // Z point with weight 0.2 +``` + +In this example, different k-points have different weights, which might be useful for: +- Special sampling schemes +- Convergence testing with specific k-point importance +- Custom integration methods + +> **Note**: When using custom weights with symmetry, ensure that your weight distribution is consistent with the crystal symmetry. ABACUS will preserve your weights during IBZ reduction, but inconsistent weights may lead to unexpected results. + [back to top](#the-kpt-file) ## Band structure calculations diff --git a/docs/advanced/install.md b/docs/advanced/install.md index efd624db8b..fb237625a2 100644 --- a/docs/advanced/install.md +++ b/docs/advanced/install.md @@ -55,6 +55,17 @@ Similarly, DeePMD-kit supports PyTorch backend but its libraries are placed at a cmake -B build -DDeePMD_DIR=/dir_to_deepmd-kit -DTorch_DIR=/dir_to_pytorch ``` +## Build with NEP +This interface enables running MD simulations with the NEP model. It requires the [NEP_CPU](https://github.com/brucefan1983/NEP_CPU) library, which can be easily installed using toolchain as shown below: +```bash +./install_abacus_toolchain.sh --with-nep=install +``` + +To build ABACUS: +```bash +cmake -B build -DNEP_DIR=/path/to/nep_cpu +``` + ## Build with LibRI and LibComm The new EXX implementation depends on two external libraries: diff --git a/docs/advanced/interface/TB2J.md b/docs/advanced/interface/TB2J.md index 8a2d731557..2848d4b573 100644 --- a/docs/advanced/interface/TB2J.md +++ b/docs/advanced/interface/TB2J.md @@ -66,7 +66,6 @@ out_mul 1 #Parameters (4.Relaxation) ks_solver genelpa scf_nmax 200 -out_bandgap 0 #Parameters (5.LCAO) basis_type lcao diff --git a/docs/advanced/md.md b/docs/advanced/md.md index 374eaa3d6b..56b7072cc6 100644 --- a/docs/advanced/md.md +++ b/docs/advanced/md.md @@ -87,4 +87,8 @@ ABACUS performs the [Multi-Scale Shock Technique (MSST) integration](https://jou Compiling ABACUS with [DeePMD-kit](https://github.com/deepmodeling/deepmd-kit), MD calculations based on machine learning DP model is enabled. To employ DPMD calculations, [esolver_type](./input_files/input-main.md#esolver_type) should be set to `dp`. -And the filename of DP model is specified by keyword [pot_file](./input_files/input-main.md#pot_file). \ No newline at end of file +And the filename of DP model is specified by keyword [pot_file](./input_files/input-main.md#pot_file). + +## NEP + +If ABACUS is compiled with the Neuroevolution Potential ([NEP](https://gpumd.org/potentials/nep.html)), MD simulations using NEP models are enabled. To use this feature, set [esolver_type](./input_files/input-main.md#esolver_type) to `nep` and specify the potential file path with the [pot_file](./input_files/input-main.md#pot_file) keyword in your INPUT file. \ No newline at end of file diff --git a/docs/advanced/pp_orb.md b/docs/advanced/pp_orb.md index 953ddc85aa..06a5f1292b 100644 --- a/docs/advanced/pp_orb.md +++ b/docs/advanced/pp_orb.md @@ -65,7 +65,57 @@ $$ ## Pseudopotentials ### Supported formats -ABACUS supports both norm-conserving and ultrasoft pseudopotentials. For norm-conserving pseudopotentials, UPF, UPF2, VWR, and BLPS formats are supported. For ultrasoft pseudopotentials, UPF and UPF2 formats are supported. +ABACUS supports both norm-conserving and ultrasoft pseudopotentials. For norm-conserving pseudopotentials, UPF, UPF2, VWR, and BLPS formats are supported. For ultrasoft pseudopotentials, UPF and UPF2 formats are supported. + +### Pseudopotentials for SOC Calculations + +When performing spin-orbit coupling (SOC) calculations with `lspinorb=1`, specific pseudopotential requirements must be met: + +#### Identifying SOC Pseudopotentials + +Full-relativistic pseudopotentials suitable for SOC calculations can be identified by checking the UPF file header (`PP_HEADER` section): + +```xml + +``` + +- **`relativistic="full"`**: Indicates a full-relativistic pseudopotential +- **`has_so="T"` or `has_so="1"`**: Indicates SOC information is included in the pseudopotential + +#### Usage Rules + +1. **SOC calculations** (`lspinorb=1`): + - **Required**: Full-relativistic pseudopotentials with `has_so=true` + - **Error if not met**: "no soc upf used for lspinorb calculation" + +2. **Non-SOC calculations** (`lspinorb=0`): + - **Flexible**: Can use either scalar-relativistic (`relativistic="scalar"`) or full-relativistic pseudopotentials + - **Automatic conversion**: If full-relativistic PP is used, ABACUS automatically transforms it to scalar-relativistic version + +3. **Ultrasoft pseudopotentials (USPP)**: + - **Constraint**: Full-relativistic USPP must be used with `lspinorb=true` + - **Warning if violated**: "FR-USPP please use lspinorb=.true." + +#### Validation by ABACUS + +ABACUS performs automatic validation when reading pseudopotentials: +- Checks if `lspinorb=1` but pseudopotential has `has_so=false` → terminates with error +- Checks if full-relativistic USPP is used without `lspinorb=1` → shows warning +- Automatically averages SOC-related beta functions when `lspinorb=0` + +#### Where to Find SOC Pseudopotentials + +For SOC calculations, download full-relativistic pseudopotentials from: +- **SG15_ONCV**: [quantum-simulation.org](http://quantum-simulation.org/potentials/sg15_oncv/upf/) - widely used in ABACUS +- **PseudoDOJO**: [pseudo-dojo.org](http://www.pseudo-dojo.org/) - provides both scalar and full-relativistic versions +- **ABACUS official**: [abacus.ustc.edu.cn](http://abacus.ustc.edu.cn/pseudo/list.htm) - includes both pseudopotentials and numerical atomic orbitals + +For more details on SOC calculations, see [Spin-polarization and SOC](./scf/spin.md#soc-effects). ### Usage For more information about pseudopotential usage, check the `ATOMIC_SPECIES` section in the specification of the [STRU file](./input_files/stru.md). diff --git a/docs/advanced/scf/spin.md b/docs/advanced/scf/spin.md index e9f8d03a49..1749db156d 100644 --- a/docs/advanced/scf/spin.md +++ b/docs/advanced/scf/spin.md @@ -29,23 +29,24 @@ If **"ocp=1"** and **"ocp_set"** is set in INPUT file, the occupations of states If **"nupdown"** is set to non-zero, number of spin-up and spin-down electrons will be fixed, and Fermi energy level will split to E_Fermi_up and E_Fermi_down. By the way, total magnetization will also be fixed, and will be the value of **"nupdown"**. ## Noncollinear Spin Polarized Calculations -The spin non-collinear polarization calculation corresponds to setting **"noncolin 1"**, in which case the coupling between spin up and spin down will be taken into account. +The spin non-collinear polarization calculation corresponds to setting **"noncolin 1"**, in which case the coupling between spin up and spin down will be taken into account. In this case, nspin is automatically set to 4, which is usually not required to be specified manually. -The weight of each band will not change, but the number of occupied states will be double. +The weight of each band will not change, but the number of occupied states will be double. If the nbands parameter is set manually, it is generally set to twice what it would be when nspin<4. -In general, non-collinear magnetic moment settings are often used in calculations considering [SOC effects](#soc-effects). When **"lspinorb 1"** in INPUT file, "nspin" is also automatically set to 4. +In general, non-collinear magnetic moment settings are often used in calculations considering [SOC effects](#soc-effects). When **"lspinorb 1"** in INPUT file, "nspin" is also automatically set to 4. + Note: different settings for "noncolin" and "lspinorb" correspond to different calculations: - - noncolin=0 lspinorb=0 nspin<4 : -Non-collinear magnetic moments and SOC effects are not considered. - - noncolin=0 lspinorb=0 nspin=4 : -Actualy same as the above setting, but the calculation will be larger. So the setting is not recommended. - - noncolin=1 lspinorb=0 : -Non-collinear magnetic moments are considered but SOC effects are not considered - - noncolin=0 lspinorb=1 : -The SOC effect is considered but the magnetic moment is limited to the Z direction - - noncolin=1 lspinorb=1 : -The SOC effect and non-collinear magnetic moment are both calculated. + +| noncolin | lspinorb | nspin | Effect | When to Use | +|----------|----------|-------|--------|-------------| +| 0 | 0 | <4 | No non-collinear magnetism, no SOC | Standard collinear spin-polarized or non-spin-polarized calculations | +| 0 | 0 | 4 | Same as above, but larger calculation | **Not recommended** - wastes computational resources | +| 1 | 0 | 4 | Non-collinear magnetism WITHOUT SOC | Systems with complex magnetic structures (e.g., spin spirals, frustrated magnets) where SOC is negligible | +| 0 | 1 | 4 | SOC WITH z-axis magnetism only | Non-magnetic materials with SOC (e.g., semiconductors with band splitting), or magnetic materials where magnetism is along z-axis | +| 1 | 1 | 4 | Both SOC AND non-collinear magnetism | Heavy-element magnetic materials where both SOC and non-collinear magnetism are important (e.g., magnetic anisotropy, Dzyaloshinskii-Moriya interaction) | + +**Special case**: `noncolin=0, lspinorb=1` is commonly used for non-magnetic materials with SOC effects (e.g., topological insulators, semiconductors with spin-orbit splitting). In this case, the magnetization is NOT automatically set, implying no magnetic moments in the system. ## For the continuation job - Continuation job for "nspin 1" need file "SPIN1_CHG.cube" which is generated by setting "out_chg=1" in task before. By setting "init_chg file" in new job's INPUT file, charge density will start from file but not atomic. @@ -53,12 +54,12 @@ The SOC effect and non-collinear magnetic moment are both calculated. - Continuation job for "nspin 4" need files "SPIN%s_CHG.cube", where %s in {1,2,3,4}, which are generated by "out_chg 1" with any variable setting leading to 'nspin'=4, and refer to charge densities in Pauli spin matrixes. It should be note that reading charge density files printing by 'nspin'=2 case is supported, which means only $\sigma_{tot}$ and $\sigma_{z}$ are read. # SOC Effects -## SOC +## SOC `lspinorb` is used for control whether or not SOC(spin-orbit coupling) effects should be considered. Both `basis_type=pw` and `basis_type=lcao` support `scf` and `nscf` calculation with SOC effects. -Atomic forces and cell stresses can not be calculated with SOC effects yet. +Atomic forces and cell stresses can be calculated with SOC effects (supported since ABACUS v3.9.0). ## Pseudopotentials and Numerical Atomic Orbitals For Norm-Conserving pseudopotentials, there are differences between SOC version and non-SOC version. @@ -72,9 +73,146 @@ When full-relativistic pseudopotential is used for non-SOC calculation, ABACUS w Numerical atomic orbitals in ABACUS are unrelated with spin, and same orbital file can be used for SOC and non-SOC calculation. ## Partial-relativistic SOC Effect -Sometimes, for some real materials, both scalar-relativistic and full-relativistic can not describe the exact spin-orbit coupling. +Sometimes, for some real materials, both scalar-relativistic and full-relativistic can not describe the exact spin-orbit coupling. Artificial modulation can help for these cases. `soc_lambda`, which has value range [0.0, 1.0] , is used for modulate SOC effect. In particular, `soc_lambda 0.0` refers to scalar-relativistic case and `soc_lambda 1.0` refers to full-relativistic case. +## Pseudopotential Requirements for SOC + +When performing SOC calculations (`lspinorb=1`), specific pseudopotential requirements must be met: + +### Checking Pseudopotential Files + +In the UPF (Unified Pseudopotential Format) file header (`PP_HEADER` section), look for: +- `has_so="T"` or `has_so="1"`: Indicates SOC information is included +- `relativistic="full"`: Indicates full-relativistic pseudopotential + +Example from a full-relativistic UPF file: +``` + +``` + +### Pseudopotential Usage Rules + +1. **For SOC calculations** (`lspinorb=1`): + - **MUST** use full-relativistic pseudopotentials with `has_so=true` + - Code will terminate with error: "no soc upf used for lspinorb calculation" if scalar-relativistic PP is used + +2. **For non-SOC calculations** (`lspinorb=0`): + - Can use either scalar-relativistic or full-relativistic pseudopotentials + - If full-relativistic PP is used, ABACUS automatically transforms it to scalar-relativistic version + +3. **For ultrasoft pseudopotentials (USPP)**: + - Full-relativistic USPP **requires** `lspinorb=true` + - Code will show warning: "FR-USPP please use lspinorb=.true." if this requirement is not met + +### Where to Find SOC Pseudopotentials + +- **SG15_ONCV**: Full-relativistic versions available at [quantum-simulation.org](http://quantum-simulation.org/potentials/sg15_oncv/upf/) +- **PseudoDOJO**: Provides both scalar and full-relativistic versions +- **ABACUS official**: [abacus.ustc.edu.cn](http://abacus.ustc.edu.cn/pseudo/list.htm) + +## Automatic Parameter Settings + +When using SOC or non-collinear calculations, ABACUS automatically adjusts several parameters: + +### When `lspinorb=true`: +1. **nspin**: Automatically set to 4 (noncollinear spin representation) +2. **Symmetry**: Automatically disabled (`symm_flag=-1`) because SOC breaks inversion symmetry +3. **Magnetization**: NOT automatically set when `noncolin=0` (implies non-magnetic material with SOC) + +### When `noncolin=true`: +1. **nspin**: Automatically set to 4 +2. **npol**: Set to 2 (wave function has two spinor components) +3. **Magnetization**: Automatically set if user provides zero values (unless `lspinorb=1` and `noncolin=0`) + +### Important Notes: +- You do NOT need to manually set `nspin=4` when using `lspinorb=1` or `noncolin=1` +- Symmetry operations are incompatible with SOC, so they are automatically turned off +- For `lspinorb=1, noncolin=0`: This is a special case for non-magnetic materials with SOC, where magnetization is not initialized + +## Common Errors and Solutions + +### Error: "no soc upf used for lspinorb calculation" +**Cause**: Using scalar-relativistic pseudopotentials with `lspinorb=1` + +**Solution**: Download and use full-relativistic pseudopotentials with `has_so=true`. Check the UPF file header to verify `relativistic="full"` and `has_so="T"`. + +### Error: "nspin=4(soc or noncollinear-spin) does not support gamma only calculation" +**Cause**: Trying to use `gamma_only=true` with `lspinorb=1` or `noncolin=1` + +**Solution**: Set `gamma_only=false` or `gamma_only=0` in your INPUT file. SOC and non-collinear calculations require k-point sampling beyond the gamma point. + +### Warning: "FR-USPP please use lspinorb=.true." +**Cause**: Using full-relativistic ultrasoft pseudopotentials without enabling SOC + +**Solution**: Set `lspinorb=true` in your INPUT file, or switch to scalar-relativistic USPP if SOC is not needed. + +### Issue: Forces or stresses not calculated +**Note**: This issue has been resolved. Atomic forces and cell stresses can now be calculated with SOC effects (supported since ABACUS v3.9.0). + +If you are using an older version of ABACUS (before v3.9.0), force and stress calculations with SOC were not supported. Please upgrade to the latest version to use this feature. + +## INPUT File Examples + +### Example 1: SOC without Non-collinear Magnetism +For non-magnetic materials with SOC (e.g., GaAs, topological insulators): + +``` +INPUT_PARAMETERS +calculation scf +basis_type pw +ecutwfc 50 +lspinorb 1 # Enable SOC +noncolin 0 # No non-collinear magnetism +# nspin will be automatically set to 4 +# symmetry will be automatically disabled +``` + +### Example 2: Non-collinear Magnetism without SOC +For systems with complex magnetic structures but negligible SOC: + +``` +INPUT_PARAMETERS +calculation scf +basis_type lcao +lspinorb 0 # No SOC +noncolin 1 # Enable non-collinear magnetism +# nspin will be automatically set to 4 +# Magnetization directions should be specified in STRU file +``` + +### Example 3: Both SOC and Non-collinear Magnetism +For heavy-element magnetic materials (e.g., Fe with SOC, materials with DMI): + +``` +INPUT_PARAMETERS +calculation scf +basis_type pw +ecutwfc 60 +lspinorb 1 # Enable SOC +noncolin 1 # Enable non-collinear magnetism +# nspin will be automatically set to 4 +# symmetry will be automatically disabled +# Magnetization directions should be specified in STRU file +``` + +### Example 4: Partial-relativistic SOC +For fine-tuning SOC strength: + +``` +INPUT_PARAMETERS +calculation scf +basis_type pw +ecutwfc 50 +lspinorb 1 # Enable SOC +soc_lambda 0.5 # 50% SOC strength +# Useful when full SOC overestimates or underestimates experimental results +``` diff --git a/docs/community/faq.md b/docs/community/faq.md index df5db1ec5b..1e372a180d 100644 --- a/docs/community/faq.md +++ b/docs/community/faq.md @@ -12,6 +12,12 @@ Users are referred to the introduction of features of ABACUS in the [feature list](http://abacus.ustc.edu.cn/features/list.htm). +**2. How to contact the ABACUS community?** + +Users can contact the ABACUS community by join ABACUS WeChat or QQ group. One can quickly join the QQ group via group ID: 759914681 + +If users have any questions or suggestions, please feel free to contact us in group or by raising issue in GitHub repo. + ## Installation ## Setting up jobs @@ -38,7 +44,23 @@ Non-periodic systems such as liquid systems can be calculated by using supercell **6. How to perform spin-orbital coupling (SOC) calculations in ABACUS?** -Apart from setting relavant keys (`lspinorb` to 1) in the `INPUT` file, SOC calculations can only be performed with fully-relativistic pseudopotentials. Users are suggested to download fully-relativistic versions of SG15_ONCV pseudopotential files from a [website](http://quantum-simulation.org/potentials/sg15_oncv/upf/). The numerical orbital files generated from the corresponding scalar-relativistic pseudoptential files by ABACUS ([here](http://abacus.ustc.edu.cn/pseudo/list.htm)) can be used in collaboration with the fully-relativistic pseudopotentials. +To perform SOC calculations in ABACUS, follow these steps: + +1. **Set `lspinorb=1` in the INPUT file**: This enables spin-orbit coupling effects +2. **Use full-relativistic pseudopotentials**: SOC calculations require pseudopotentials with `has_so=true` in the UPF header + - Download full-relativistic versions of SG15_ONCV pseudopotentials from [quantum-simulation.org](http://quantum-simulation.org/potentials/sg15_oncv/upf/) + - Check the UPF file header for `relativistic="full"` and `has_so="T"` +3. **Verify automatic settings**: When `lspinorb=1` is set, `nspin` is automatically set to 4 and symmetry is automatically disabled + +**Basis set support**: Both `basis_type=pw` (plane wave) and `basis_type=lcao` (numerical atomic orbitals) support SOC calculations for both SCF and NSCF. + +**Force and stress calculations**: Atomic forces and cell stresses can be calculated with SOC (supported since ABACUS v3.9.0). + +**Numerical atomic orbitals**: The numerical orbital files generated from scalar-relativistic pseudopotentials (available at [abacus.ustc.edu.cn](http://abacus.ustc.edu.cn/pseudo/list.htm)) can be used with full-relativistic pseudopotentials, as orbitals are spin-independent. + +**Common error**: If you see "no soc upf used for lspinorb calculation", ensure you are using full-relativistic pseudopotentials with `has_so=true`. + +For detailed information, examples, and troubleshooting, see [Spin-polarization and SOC](../advanced/scf/spin.md#soc-effects). **7. How to restart jobs in abacus?** diff --git a/docs/quick_start/easy_install.md b/docs/quick_start/easy_install.md index 8ca65f19b5..aae9bca308 100644 --- a/docs/quick_start/easy_install.md +++ b/docs/quick_start/easy_install.md @@ -1,6 +1,6 @@ # Easy Installation -This guide helps you install ABACUS with basic features. **For DeePKS, DeePMD and Libxc support, or building with `make`, please refer to [the advanced installation guide](../advanced/install.md)** after going through this page. We recommend building ABACUS with `cmake` to avoid dependency issues. We recommend compiling ABACUS (and possibly its requirements) from the source code using the latest compiler for the best performace. You can try [toolchain](#install-requirements-by-toolchain) to install ABACUS and dependencies in a source-code compilation way with convience. You can also deploy ABACUS **without building** by [Docker](#container-deployment) or [conda](#install-by-conda). Please note that ABACUS only supports Linux; for Windows users, please consider using [WSL](https://learn.microsoft.com/en-us/windows/wsl/) or docker. +This guide helps you install ABACUS with basic features. **For DeePKS, DeePMD and Libxc support, or building with `make`, please refer to [the advanced installation guide](../advanced/install.md)** after going through this page. We recommend building ABACUS with `cmake` to avoid dependency issues. We recommend compiling ABACUS (and possibly its requirements) from the source code using the latest compiler for the best performace. You can use [toolchain](#install-by-toolchain) to install ABACUS and dependencies in a source-code compilation way with convience. You can also deploy ABACUS **without building** by [Docker](#container-deployment) or [conda](#install-by-conda). Please note that ABACUS only supports Linux; for Windows users, please consider using [WSL](https://learn.microsoft.com/en-us/windows/wsl/) or docker. ## Get ABACUS source code @@ -12,6 +12,34 @@ ABACUS source code can be obtained via one of the following choices: - Get the source code of a stable version [here](https://github.com/deepmodeling/abacus-develop/releases) - If you have connection issues accessing GitHub, please try out our official [Gitee repo](https://gitee.com/deepmodeling/abacus-develop/): e.g. `git clone https://gitee.com/deepmodeling/abacus-develop.git`. This Gitee repo is updated synchronously with GitHub. +## Update to latest release by git + +Please check the [release page](https://github.com/deepmodeling/abacus-develop/releases) for the release note of a new version. + +It is OK to download the new source code from beginning following the previous step. + +You can update your cloned git repo (from Github or Gitee) in-place with the following commands: + +```bash +git remote -v +# Check if the output contains the line below +# origin https://github.com/deepmodeling/abacus-develop.git (fetch) +# The remote name is marked as "upstream" if you clone the repo from your own fork. + +# Replace "origin" with "upstream" or the remote name corresponding to deepmodeling/abacus-develop if necessary +git fetch origin +git checkout v3.x.x # Replace the tag with the latest version, like v3.10.0 +git describe --tags # Verify if the tag has been successfully checked out +``` + +Then proceed to the [Build and Install](#build-and-install) part. If you encountered errors, try remove the `build` directory first and reconfigure. + +To use the codes under active development: + +```bash +git checkout develop +git pull +``` ## Prerequisites @@ -34,65 +62,83 @@ These requirements support the calculation of plane-wave basis in ABACUS. For LC - [CEREAL](https://uscilab.github.io/cereal/). - [ELPA](https://elpa.mpcdf.mpg.de/) >= 2017 (optional). -## Install requirements +## Install by toolchain -Some of these packages can be installed with popular package management system, such as `apt` and `yum`: +We offer a set of [toolchain](https://github.com/deepmodeling/abacus-develop/tree/develop/toolchain) +scripts to compile and install all the requirements and ABACUS itself +automatically and suitable for machine characteristic in an online or offline way. +The toolchain can be downloaded with ABACUS repo, and users can easily compile the requirements by running *toolchain_[gnu,intel,gcc-aocl,aocc-aocl].sh* and ABACUS itself by running *build_abacus_[gnu,intel,gcc-aocl,aocc-aocl].sh* script in the toolchain directory in `GNU`, `Intel-oneAPI` , `GCC-AMD AOCL` and `AMD AOCC-AOCL` toolchain. +Sometimes, ABACUS by toolchain installation may have better efficient performance due to the suitable compiled dependencies. One should read the [README in toolchain](https://github.com/deepmodeling/abacus-develop/tree/develop/toolchain/README.md) for most of the information before use, and related tutorials can be accessed via ABACUS WeChat platform. + +## Install by conda + +Conda is a package management system with a separated environment, not requiring system privileges. +You can refer to [DeepModeling conda FAQ](https://docs.deepmodeling.com/faq/conda.html) for how to setup a conda environment. +A pre-built ABACUS binary with all requirements is available at [conda-forge](https://anaconda.org/conda-forge/abacus). It supports advanced features including Libxc, LibRI, and DeePKS. Conda will install the GPU-supported version of ABACUS if a valid GPU driver is present. Please refer to [the advanced installation guide](../advanced/install.md) for more details. ```bash -sudo apt update && sudo apt install -y libopenblas-openmp-dev liblapack-dev libscalapack-mpi-dev libelpa-dev libfftw3-dev libcereal-dev libxc-dev g++ make cmake bc git pkgconf -``` +# Install +# We recommend installing ABACUS in a new environment to avoid potential conflicts: +conda create -n abacus_env abacus "libblas=*=*mkl" mpich -c conda-forge -> Installing ELPA by apt only matches requirements on Ubuntu 22.04. For earlier linux distributions, you should build ELPA from source. +# Run +conda activate abacus_env +OMP_NUM_THREADS=1 mpirun -n 4 abacus -We recommend [Intel® oneAPI toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/commercial-base-hpc.html) (former Intel® Parallel Studio) as toolchain. The [Intel® oneAPI Base Toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html#base-kit) contains Intel® oneAPI Math Kernel Library (aka `MKL`), including `BLAS`, `LAPACK`, `ScaLAPACK` and `FFTW3`. The [Intel® oneAPI HPC Toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html#hpc-kit) contains Intel® MPI Library, and C++ compiler(including MPI compiler). -> Please note that building `elpa` with a different MPI library may cause conflict. -> Don't forget to [set environment variables](https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-intel-oneapi-render-linux/top/configure-your-system.html) before you start! `cmake` will use Intel MKL if the environment variable `MKLROOT` is set. +# Update +conda update -n abacus_env abacus -c conda-forge +``` -Please refer to our [guide](https://github.com/deepmodeling/abacus-develop/wiki/Building-and-Running-ABACUS) on installing requirements. +> If OpenBLAS gives warning about OpenMP threads, please install conda package `"openblas=*=openmp*"` or `"libblas=*=*mkl"`. See [switching BLAS implementation in conda](https://conda-forge.org/docs/maintainer/knowledge_base.html#switching-blas-implementation). -## Install requirements by toolchain +> ABACUS supports `OpenMPI` and `MPICH` variant. Install `mpich` or `openmpi` package to switch MPI library if required. -We offer a set of [toolchain](https://github.com/deepmodeling/abacus-develop/tree/develop/toolchain) -scripts to compile and install all the requirements -automatically and suitable for machine characteristic in an online or offline way. -The toolchain can be downloaded with ABACUS repo, and users can easily compile the requirements by running *toolchain_[gnu,intel].sh* and ABACUS itself by running *build_abacus_[gnu,intel].sh* script in the toolchain directory in both `GNU` and `Intel-oneAPI` toolchain. -Sometimes, ABACUS by toolchain installation may have better efficient performance due to the suitable compiled dependencies. +For more details on building a conda package of ABACUS locally, please refer to the [conda recipe file](https://github.com/deepmodeling/abacus-develop/blob/develop/conda/meta.yaml). -Users should read the README in toolchain directory for most of the information before use, and a tutorial for using this toolchain can be accessed in [bohrium-notebook](https://nb.bohrium.dp.tech/detail/5215742477) as reference. +> Note: The [deepmodeling conda channel](https://anaconda.org/deepmodeling/abacus) offers historical versions of ABACUS. -> Notice: the toolchain is under development, please let we know if you encounter any problem in using this toolchain by raising issue or contacting us. +### Developing with conda +It is possible to build ABACUS from source based on the conda environment. -## Update to latest release by git +```bash +conda create -n abacus_env abacus -c conda-forge +conda activate abacus_env +export CMAKE_PREFIX_PATH=$CONDA_PREFIX:$CMAKE_PREFIX_PATH -Please check the [release page](https://github.com/deepmodeling/abacus-develop/releases) for the release note of a new version. +# By default OpenBLAS is used; run `conda install "blas=*=mkl" mkl_fft mkl-devel -c conda-forge` to switch implementation. +export MKLROOT=$CONDA_PREFIX # If Intel MKL is required. -It is OK to download the new source code from beginning following the previous step. +export CMAKE_PREFIX_PATH=`python -c 'import torch;print(torch.utils.cmake_prefix_path)'`:$CMAKE_PREFIX_PATH # If DEEPKS support is required; +# usually expands to `$CONDA_PREFIX/lib/python3.1/site-packages/torch/share/cmake` +``` -You can update your cloned git repo (from Github or Gitee) in-place with the following commands: +And, follow the instructions in [Build and Install](#build-and-install) part above withou manually setting paths to dependencies. +See [the advanced installation guide](../advanced/install.md) for more features. +Make sure the environment variables are set before running `cmake`. +Possible command: `cmake -B build -DENABLE_MLALGO=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON`. -```bash -git remote -v -# Check if the output contains the line below -# origin https://github.com/deepmodeling/abacus-develop.git (fetch) -# The remote name is marked as "upstream" if you clone the repo from your own fork. -# Replace "origin" with "upstream" or the remote name corresponding to deepmodeling/abacus-develop if necessary -git fetch origin -git checkout v3.x.x # Replace the tag with the latest version, like v3.10.0 -git describe --tags # Verify if the tag has been successfully checked out -``` +## Install ABACUS manually -Then proceed to the [Build and Install](#build-and-install) part. If you encountered errors, try remove the `build` directory first and reconfigure. +### Install requirements -To use the codes under active development: +Some of these packages can be installed with popular package management system via root permission if you have, such as `apt` and `yum`: ```bash -git checkout develop -git pull +sudo apt update && sudo apt install -y libopenblas-openmp-dev liblapack-dev libscalapack-mpi-dev libelpa-dev libfftw3-dev libcereal-dev libxc-dev g++ make cmake bc git pkgconf ``` -## Configure +> Installing ELPA by apt only matches requirements on Ubuntu 22.04. For earlier linux distributions, you should build ELPA from source. + +We recommend [Intel® oneAPI toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/commercial-base-hpc.html) (former Intel® Parallel Studio) as toolchain. The [Intel® oneAPI Base Toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html#base-kit) contains Intel® oneAPI Math Kernel Library (aka `MKL`), including `BLAS`, `LAPACK`, `ScaLAPACK` and `FFTW3`. The [Intel® oneAPI HPC Toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html#hpc-kit) contains Intel® MPI Library, and C++ compiler(including MPI compiler). +> Please note that building `elpa` with a different MPI library may cause conflict. +> Don't forget to [set environment variables](https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-intel-oneapi-render-linux/top/configure-your-system.html) before you start! `cmake` will use Intel MKL if the environment variable `MKLROOT` is set. + +Please refer to our [guide](https://github.com/deepmodeling/abacus-develop/wiki/Building-and-Running-ABACUS) on installing requirements. + + +### Configure The basic command synopsis is: @@ -139,7 +185,7 @@ Here is an example: CXX=mpiicpx cmake -B build -DCMAKE_INSTALL_PREFIX=~/abacus -DELPA_DIR=~/elpa-2025.01.001/build -DCEREAL_INCLUDE_DIR=~/cereal/include ``` -## Build and Install +### Build and Install After configuring, build and install by: @@ -150,7 +196,9 @@ cmake --install build You can change the number after `-j` on your need: set to the number of CPU cores(`nproc`) to reduce compilation time. -## Run +## Run ABACUS + +### Load ABACUS If ABACUS is installed into a custom directory using `CMAKE_INSTALL_PREFIX`, please add it to your environment variable `PATH` to locate the correct executable. *(Note: `my-install-dir` should be changed to the location of your installed abacus:`/home/your-path/abacus/bin/`.)* @@ -165,6 +213,14 @@ If ABACUS is installed by toolchain, there will be an environment script in the source /path/to/abacus/toolchain/abacus_env.sh ``` +If ABACUS is installed by conda, please make sure the conda environment is activated before running ABACUS. + +```bash +conda activate abacus_env +``` + +### Run with Parallelism Setting + Please set OpenMP threads by setting environment variable: ```bash @@ -215,64 +271,16 @@ For online development environment, we support [GitHub Codespaces](https://githu We also support [Gitpod](https://www.gitpod.io/): [Open in Gitpod](https://gitpod.io/#https://github.com/deepmodeling/abacus-develop) -## Install by conda - -Conda is a package management system with a separated environment, not requiring system privileges. -You can refer to [DeepModeling conda FAQ](https://docs.deepmodeling.com/faq/conda.html) for how to setup a conda environment. -A pre-built ABACUS binary with all requirements is available at [conda-forge](https://anaconda.org/conda-forge/abacus). It supports advanced features including Libxc, LibRI, and DeePKS. Conda will install the GPU-supported version of ABACUS if a valid GPU driver is present. Please refer to [the advanced installation guide](../advanced/install.md) for more details. - -```bash -# Install -# We recommend installing ABACUS in a new environment to avoid potential conflicts: -conda create -n abacus_env abacus "libblas=*=*mkl" mpich -c conda-forge - -# Run -conda activate abacus_env -OMP_NUM_THREADS=1 mpirun -n 4 abacus - -# Update -conda update -n abacus_env abacus -c conda-forge -``` - -> If OpenBLAS gives warning about OpenMP threads, please install conda package `"openblas=*=openmp*"` or `"libblas=*=*mkl"`. See [switching BLAS implementation in conda](https://conda-forge.org/docs/maintainer/knowledge_base.html#switching-blas-implementation). - -> ABACUS supports `OpenMPI` and `MPICH` variant. Install `mpich` or `openmpi` package to switch MPI library if required. - -For more details on building a conda package of ABACUS locally, please refer to the [conda recipe file](https://github.com/deepmodeling/abacus-develop/blob/develop/conda/meta.yaml). - -> Note: The [deepmodeling conda channel](https://anaconda.org/deepmodeling/abacus) offers historical versions of ABACUS. - -### Developing with conda - -It is possible to build ABACUS from source based on the conda environment. - -```bash -conda create -n abacus_env abacus -c conda-forge -conda activate abacus_env -export CMAKE_PREFIX_PATH=$CONDA_PREFIX:$CMAKE_PREFIX_PATH - -# By default OpenBLAS is used; run `conda install "blas=*=mkl" mkl_fft mkl-devel -c conda-forge` to switch implementation. -export MKLROOT=$CONDA_PREFIX # If Intel MKL is required. - -export CMAKE_PREFIX_PATH=`python -c 'import torch;print(torch.utils.cmake_prefix_path)'`:$CMAKE_PREFIX_PATH # If DEEPKS support is required; -# usually expands to `$CONDA_PREFIX/lib/python3.1/site-packages/torch/share/cmake` -``` - -And, follow the instructions in [Build and Install](#build-and-install) part above withou manually setting paths to dependencies. -See [the advanced installation guide](../advanced/install.md) for more features. -Make sure the environment variables are set before running `cmake`. -Possible command: `cmake -B build -DENABLE_DEEPKS=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON`. - ## Command line options Users can check the version of ABACUS by running the command `abacus --version`, the result will be like: ``` -ABACUS version v3.6.5 +ABACUS version v3.9.0.2 ``` Users may check the correctness of the setting of parameters in the `INPUT` file by running the command `abacus --check-input`, the result will be like: ``` - ABACUS v3.6.5 + ABACUS v3.9.0.2 Atomic-orbital Based Ab-initio Computation at UStc diff --git a/examples/03_spin_polarized/ATOM/INPUT b/examples/03_spin_polarized/ATOM/INPUT index 11b933d8a4..108f21d13e 100644 --- a/examples/03_spin_polarized/ATOM/INPUT +++ b/examples/03_spin_polarized/ATOM/INPUT @@ -46,7 +46,6 @@ cal_force 1 cal_stress 1 out_stru 1 # print STRU in OUT out_chg 0 # print CHG or not -out_bandgap 1 # if bandgap and mul out, chg will out out_mul 1 # print Mulliken charge and mag of atom in mulliken.txt # out_wfc_lcao 1 # out_interval 1 diff --git a/examples/19_dftu/NiO/INPUT b/examples/19_dftu/NiO/INPUT index cccad64e87..1094ff534f 100644 --- a/examples/19_dftu/NiO/INPUT +++ b/examples/19_dftu/NiO/INPUT @@ -28,7 +28,6 @@ dft_plus_u 1 orbital_corr 2 2 -1 hubbard_u 5.0 5.0 0.0 -out_bandgap 1 out_chg 1 out_mul 1 diff --git a/examples/relax/lcao_output/INPUT b/examples/relax/lcao_output/INPUT index 5230bd6365..54175c33fd 100644 --- a/examples/relax/lcao_output/INPUT +++ b/examples/relax/lcao_output/INPUT @@ -5,10 +5,10 @@ suffix autotest nbands 8 calculation relax #cell-relax ecutwfc 10 -scf_nmax 2 +scf_nmax 20 basis_type lcao -relax_nmax 5 +relax_nmax 1 cal_stress 1 stress_thr 1e-6 @@ -25,16 +25,18 @@ relax_method bfgs pseudo_dir ../../../tests/PP_ORB orbital_dir ../../../tests/PP_ORB -nspin 4 +nspin 1 -out_chg 1 -out_pot 1 -out_dmk 1 -out_dmr 1 +out_mat_hs 0 // note +out_mat_tk 1 // note +out_mat_l 1 // note +out_chg 0 8 // note +out_pot 0 +out_dmk 0 // note +out_dmr 0 // note #out_wfc_lcao 1 // OK -out_dos 1 -out_band 1 -out_stru 1 +out_dos 0 +out_band 0 +out_stru 0 out_app_flag 0 -out_interval 1 diff --git a/examples/relax/pw_output/INPUT b/examples/relax/pw_output/INPUT index cae2080431..152e3d66ed 100644 --- a/examples/relax/pw_output/INPUT +++ b/examples/relax/pw_output/INPUT @@ -8,7 +8,7 @@ ecutwfc 10 scf_nmax 20 basis_type pw -relax_nmax 5 +relax_nmax 4 cal_stress 1 stress_thr 1e-6 @@ -25,18 +25,22 @@ relax_method lbfgs pseudo_dir ../../../tests/PP_ORB orbital_dir ../../../tests/PP_ORB -nspin 2 +nspin 4 + +out_freq_ion 1 +#out_freq_elec 0 + +out_chg 1 # chg.txt g +out_pot 1 # pot.txt g +out_wfc_pw 1 # wfkx_pw.txt g +out_dos 1 # dos.txt g +out_elf 1 # elf.txt +out_band 1 # eig.txt +out_stru 1 # g -out_chg 1 -out_pot 1 -out_wfc_pw 1 -out_dos 1 -out_stru 1 out_app_flag 0 -out_interval 1 -kpar 2 +kpar 1 symmetry -1 -#out_freq_elec 2 -#out_band 1 + diff --git a/examples/relax/pw_output/KPT b/examples/relax/pw_output/KPT index f5f7f4ec34..adf1f61380 100644 --- a/examples/relax/pw_output/KPT +++ b/examples/relax/pw_output/KPT @@ -2,3 +2,4 @@ K_POINTS 0 Gamma 2 2 2 0 0 0 + diff --git a/generate_build_info.sh b/generate_build_info.sh new file mode 100644 index 0000000000..d7a2075cfd --- /dev/null +++ b/generate_build_info.sh @@ -0,0 +1,294 @@ +#!/bin/bash + +# ============================================================================== +# generate_build_info.sh +# +# A script to generate build_info.h for Makefile-based builds. +# It attempts to detect system information, compiler flags, and library versions +# to provide a feature-rich build report similar to the CMake system. +# ============================================================================== + +# set -e # Exit immediately if a command exits with a non-zero status. + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi +OUTPUT_FILE=$1 + +# --- Helper Functions --- + +# Function to get version from a command's output +# Usage: get_version_from_command "" "" +get_version_from_command() { + local cmd="$1" + local regex="$2" + if command -v "$cmd" > /dev/null; then + local output=$($cmd 2>&1) + if [[ $output =~ $regex ]]; then + echo "${BASH_REMATCH[1]}" + return 0 + fi + fi + return 1 +} + +# Function to get version from a header file +# Usage: get_version_from_header "" "" +get_version_from_header() { + local header_path="$1" + local regex="$2" + if [ -f "$header_path" ]; then + local line=$(grep -E "$regex" "$header_path" | head -n 1) + if [[ $line =~ $regex ]]; then + echo "${BASH_REMATCH[1]}" + return 0 + fi + fi + return 1 +} + +# --- Main Detection Logic --- + +# 1. Basic Info +PLATFORM_NAME="CPU" +BUILD_USER=$(whoami) +BUILD_HOST=$(hostname) +CXX_COMPILER_PATH="${CXX:-g++}" +CXX_COMPILER_VERSION=$($CXX_COMPILER_PATH --version 2>&1 | head -n 1) +CXX_FLAGS="${CXXFLAGS:-}" +LINKER_FLAGS="${LDFLAGS:-}" +CUDA_FLAGS="${CUDAFLAGS:-}" + +# Detect Platform based on environment variables +if [ "${USE_ROCM}" == "ON" ]; then PLATFORM_NAME="CPU + AMD ROCm"; fi +if [ "${USE_CUDA}" == "ON" ]; then PLATFORM_NAME="CPU + NVIDIA CUDA"; fi +if [ "${USE_ELPA}" == "ON" ] && [ "${ENABLE_LCAO}" == "ON" ]; then PLATFORM_NAME="${PLATFORM_NAME} + ELPA"; fi + +# 2. MPI +MPI_IMPLEMENTATION="no" +MPI_VERSION="no" +if [ "${ENABLE_MPI}" == "ON" ]; then + MPI_IMPLEMENTATION="Unknown" + MPI_COMPILER="${MPI_CXX_COMPILER:-mpicxx}" + if command -v "$MPI_COMPILER" > /dev/null; then + # Intel MPI (oneAPI) + version=$(get_version_from_command "$MPI_COMPILER --version" "Intel\(R\) oneAPI DPC\+\+/C\+\+ Compiler ([0-9]+\.[0-9]+\.[0-9]+)") + if [ -n "$version" ]; then MPI_IMPLEMENTATION="Intel MPI"; MPI_VERSION="$version"; fi + # Intel MPI (classic) + if [ -z "$version" ]; then + version=$(get_version_from_command "$MPI_COMPILER --version" "icpc \(ICC\) ([0-9]+\.[0-9]+\.[0-9]+)") + if [ -n "$version" ]; then MPI_IMPLEMENTATION="Intel MPI"; MPI_VERSION="$version"; fi + fi + # OpenMPI + if [ -z "$version" ]; then + version=$(get_version_from_command "$MPI_COMPILER --version" "Open MPI ([0-9]+\.[0-9]+\.[0-9]+)") + if [ -n "$version" ]; then MPI_IMPLEMENTATION="OpenMPI"; MPI_VERSION="$version"; fi + fi + # MPICH + if [ -z "$version" ]; then + version=$(get_version_from_command "$MPI_COMPILER --version" "MPICH Version: ([0-9]+\.[0-9]+\.[0-9]+)") + if [ -n "$version" ]; then MPI_IMPLEMENTATION="MPICH"; MPI_VERSION="$version"; fi + fi + # Fallback via mpirun + if [ -z "$version" ] && command -v mpirun > /dev/null; then + mr_out=$(mpirun --version 2>&1) + if [[ $mr_out =~ Open\ MPI\ ([0-9]+\.[0-9]+\.[0-9]+) ]]; then + MPI_IMPLEMENTATION="OpenMPI"; MPI_VERSION="${BASH_REMATCH[1]}" + elif [[ $mr_out =~ MPICH\ Version:\ ([0-9]+\.[0-9]+\.[0-9]+) ]]; then + MPI_IMPLEMENTATION="MPICH"; MPI_VERSION="${BASH_REMATCH[1]}" + fi + fi + fi + if [ "$MPI_VERSION" == "no" ]; then MPI_VERSION="yes (version unknown)"; else MPI_VERSION="yes (v$MPI_VERSION)"; fi +else + MPI_IMPLEMENTATION="no" + MPI_VERSION="no" +fi + +# 3. OpenMP +OPENMP_VERSION="no" +if [[ "$CXX_FLAGS" == *"-fopenmp"* ]]; then + OPENMP_VERSION="yes (version unknown)" + # Try to get version from compiler + if command -v "$CXX_COMPILER_PATH" > /dev/null; then + version=$($CXX_COMPILER_PATH -dM -E - < /dev/null 2>&1 | grep '#define _OPENMP ' | awk '{print $3}') + if [ -n "$version" ]; then + # Convert YYYYMM to a more readable format if possible + year=$((version / 10000)) + month=$((version % 10000)) + OPENMP_VERSION="yes (v${year}.${month})" + fi + fi +fi + +# 4. MKL +MKL_SUPPORT="no" +if [ -n "$MKLROOT" ]; then + MKL_SUPPORT="yes (version unknown)" + version=$(get_version_from_header "$MKLROOT/include/mkl_version.h" "INTEL_MKL_VERSION ([0-9]+)") + if [ -n "$version" ]; then + major=$((version / 10000)) + minor=$(( (version % 10000) / 100 )) + patch=$((version % 100)) + MKL_SUPPORT="yes (v${major}.${minor}.${patch})" + fi +fi + +# 5. Libxc +LIBXC_VERSION="no" +if [ "${ENABLE_LIBXC}" == "ON" ]; then + LIBXC_VERSION="yes (version unknown)" + # Try pkg-config first + if command -v pkg-config > /dev/null; then + version=$(pkg-config --modversion libxc 2>/dev/null) + if [ -n "$version" ]; then LIBXC_VERSION="yes (v$version)"; fi + fi + # Fallback to header + if [[ "$LIBXC_VERSION" == *"unknown"* ]]; then + # Assuming standard include paths + version=$(get_version_from_header "/usr/include/libxc/libxc.h" "LIBXC_VERSION_ \"([0-9]+\.[0-9]+\.[0-9]+)\"") + if [ -n "$version" ]; then LIBXC_VERSION="yes (v$version)"; fi + fi +fi + +# 6. CUDA +CUDA_VERSION="no" +if [ "${USE_CUDA}" == "ON" ]; then + CUDA_VERSION="yes (version unknown)" + if [ -n "$CUDA_HOME" ]; then + version=$(get_version_from_command "$CUDA_HOME/bin/nvcc --version" "release ([0-9]+\.[0-9]+)") + if [ -n "$version" ]; then CUDA_VERSION="yes (v$version)"; fi + elif command -v nvcc > /dev/null; then + version=$(get_version_from_command "nvcc --version" "release ([0-9]+\.[0-9]+)") + if [ -n "$version" ]; then CUDA_VERSION="yes (v$version)"; fi + fi +fi + +# 7. ROCm/HIP +ROCM_VERSION="no" +if [ "${USE_ROCM}" == "ON" ]; then + ROCM_VERSION="yes (version unknown)" + if [ -n "$ROCM_PATH" ]; then + version=$(get_version_from_command "$ROCM_PATH/bin/hipcc --version" "HIP version: ([0-9]+\.[0-9]+\.[0-9]+)") + if [ -n "$version" ]; then ROCM_VERSION="yes (v$version)"; fi + elif command -v hipcc > /dev/null; then + version=$(get_version_from_command "hipcc --version" "HIP version: ([0-9]+\.[0-9]+\.[0-9]+)") + if [ -n "$version" ]; then ROCM_VERSION="yes (v$version)"; fi + fi +fi + +# 8. DeePMD-kit +DEEPMD_VERSION="no" +if [ -n "$DeePMD_DIR" ]; then + DEEPMD_VERSION="yes (version unknown)" + version=$(get_version_from_header "$DeePMD_DIR/include/deepmd/version.h" "global_install_prefix=\".*deepmd-kit-([0-9]+\.[0-9]+\.[0-9]+)\"") + if [ -n "$version" ]; then DEEPMD_VERSION="yes (v$version)"; else DEEPMD_VERSION="yes (path: $DeePMD_DIR)"; fi +fi + +# 9. ELPA +ELPA_VERSION="no" +if [ "${USE_ELPA}" == "ON" ] && [ -n "$ELPA_DIR" ]; then + ELPA_VERSION="yes (version unknown)" + if [ -f "$ELPA_DIR/bin/elpa2_print_version" ]; then + version=$("$ELPA_DIR/bin/elpa2_print_version" 2>/dev/null) + if [ -n "$version" ]; then ELPA_VERSION="yes ($version)"; fi + else + ELPA_VERSION="yes (path: $ELPA_DIR)" + fi +fi + +# 10. Cereal +CEREAL_VERSION="no" +if [ -n "$CEREAL_DIR" ]; then + CEREAL_VERSION="yes (version unknown)" + major=$(get_version_from_header "$CEREAL_DIR/include/cereal/version.hpp" "__CEREAL_VERSION_MAJOR[[:space:]]+([0-9]+)") + minor=$(get_version_from_header "$CEREAL_DIR/include/cereal/version.hpp" "__CEREAL_VERSION_MINOR[[:space:]]+([0-9]+)") + patch=$(get_version_from_header "$CEREAL_DIR/include/cereal/version.hpp" "__CEREAL_VERSION_PATCH[[:space:]]+([0-9]+)") + if [ -n "$major" ] && [ -n "$minor" ] && [ -n "$patch" ]; then + CEREAL_VERSION="yes (v${major}.${minor}.${patch})" + else + CEREAL_VERSION="yes (path: $CEREAL_DIR)" + fi +fi + +# 11. LibRI +LIBRI_VERSION="no" +if [ -n "$LIBRI_DIR" ]; then + LIBRI_VERSION="yes (version unknown)" + major=$(get_version_from_header "$LIBRI_DIR/include/RI/version.h" "__LIBRI_VERSION_MAJOR[[:space:]]+([0-9]+)") + minor=$(get_version_from_header "$LIBRI_DIR/include/RI/version.h" "__LIBRI_VERSION_MINOR[[:space:]]+([0-9]+)") + patch=$(get_version_from_header "$LIBRI_DIR/include/RI/version.h" "__LIBRI_VERSION_PATCH[[:space:]]+([0-9]+)") + if [ -n "$major" ] && [ -n "$minor" ] && [ -n "$patch" ]; then + LIBRI_VERSION="yes (v${major}.${minor}.${patch})" + else + LIBRI_VERSION="yes (path: $LIBRI_DIR)" + fi +fi + +# 12. LibComm +LIBCOMM_VERSION="no" +if [ -n "$LIBCOMM_DIR" ]; then + LIBCOMM_VERSION="yes (path: $LIBCOMM_DIR)" +fi + +# 13. FFTW (non-MKL) +FFTW3_VERSION="no" +if [ -z "$MKLROOT" ] && [ -n "$FFTW3_INCLUDE_DIR" ]; then + FFTW3_VERSION="yes (version unknown)" + hdr="$FFTW3_INCLUDE_DIR/fftw3.h" + version=$(get_version_from_header "$hdr" "FFTW_VERSION\s+\"([^\"]+)\"") + if [ -n "$version" ]; then FFTW3_VERSION="yes (v$version)"; fi +fi + +# CUDA-aware MPI +CUDA_AWARE_MPI="no" +if [ "${USE_CUDA}" == "ON" ]; then + if command -v ompi_info > /dev/null; then + out=$(ompi_info --parsable --all 2>/dev/null) + if echo "$out" | grep -q "mpi_built_with_cuda_support:value:true"; then + CUDA_AWARE_MPI="yes" + else + CUDA_AWARE_MPI="no (or undetectable)" + fi + else + CUDA_AWARE_MPI="no (or undetectable)" + fi +fi +# --- Final File Generation --- + +INPUT_FILE="source_io/build_info.h.in" + +# Use sed to replace all placeholders with detected values +# Note the use of different delimiters (#) for paths to avoid conflicts with / +sed \ + -e "s#@ABACUS_PLATFORM_NAME@#$PLATFORM_NAME#g" \ + -e "s#@ABACUS_BUILD_TYPE@#${BUILD_TYPE:-Release}#g" \ + -e "s#@ABACUS_BUILD_USER@#$BUILD_USER#g" \ + -e "s#@ABACUS_BUILD_HOST@#$BUILD_HOST#g" \ + -e "s#@ABACUS_CXX_COMPILER_ID@#${CXX_COMPILER_ID:-Unknown}#g" \ + -e "s#@ABACUS_CXX_COMPILER_PATH@#$CXX_COMPILER_PATH#g" \ + -e "s#@ABACUS_CXX_COMPILER_VERSION@#$CXX_COMPILER_VERSION#g" \ + -e "s#@ABACUS_CXX_FLAGS@#$CXX_FLAGS#g" \ + -e "s#@ABACUS_LINKER_FLAGS@#$LINKER_FLAGS#g" \ + -e "s#@ABACUS_CUDA_FLAGS@#$CUDA_FLAGS#g" \ + -e "s#@ABACUS_MPI_IMPLEMENTATION@#$MPI_IMPLEMENTATION#g" \ + -e "s#@ABACUS_MPI_VERSION@#$MPI_VERSION#g" \ + -e "s#@ABACUS_CUDA_AWARE_MPI@#$CUDA_AWARE_MPI#g" \ + -e "s#@ABACUS_OPENMP_VERSION@#$OPENMP_VERSION#g" \ + -e "s#@ABACUS_MKL_SUPPORT@#$MKL_SUPPORT#g" \ + -e "s#@ABACUS_LIBXC_VERSION@#$LIBXC_VERSION#g" \ + -e "s#@ABACUS_FFTW_VERSION@#$FFTW3_VERSION#g" \ + -e "s#@ABACUS_CUDA_VERSION@#$CUDA_VERSION#g" \ + -e "s#@ABACUS_ROCM_VERSION@#$ROCM_VERSION#g" \ + -e "s#@ABACUS_DEEPMD_VERSION@#$DEEPMD_VERSION#g" \ + -e "s#@ABACUS_ELPA_VERSION@#$ELPA_VERSION#g" \ + -e "s#@ABACUS_CEREAL_VERSION@#$CEREAL_VERSION#g" \ + -e "s#@ABACUS_LIBRI_VERSION@#$LIBRI_VERSION#g" \ + -e "s#@ABACUS_LIBCOMM_VERSION@#$LIBCOMM_VERSION#g" \ + -e "s#@ABACUS_ASAN_STATUS@#${ENABLE_ASAN:-no}#g" \ + -e "s#@ABACUS_CMAKE_OPTIONS@#Not available with Makefile#g" \ + -e "s#@ABACUS_CMAKE_FIND_PACKAGES@#Not available with Makefile#g" \ + "$INPUT_FILE" > "$OUTPUT_FILE" + +echo "Generated $OUTPUT_FILE successfully." diff --git a/python/pyabacus/CONTRIBUTING.md b/python/pyabacus/CONTRIBUTING.md index c55150bfc8..acac6d9827 100644 --- a/python/pyabacus/CONTRIBUTING.md +++ b/python/pyabacus/CONTRIBUTING.md @@ -189,7 +189,7 @@ list(APPEND _diago ${HSOLVER_PATH}/diago_david.cpp ${HSOLVER_PATH}/diag_const_nums.cpp ${HSOLVER_PATH}/diago_iter_assist.cpp - ${HSOLVER_PATH}/kernels/dngvd_op.cpp + ${HSOLVER_PATH}/kernels/hegvd_op.cpp ${HSOLVER_PATH}/kernels/bpcg_kernel_op.cpp ${BASE_PATH}/kernels/math_kernel_op.cpp ${BASE_PATH}/kernels/math_kernel_op_vec.cpp diff --git a/python/pyabacus/src/ModuleNAO/py_m_nao.cpp b/python/pyabacus/src/ModuleNAO/py_m_nao.cpp index 45e6df2710..22db0f99b0 100644 --- a/python/pyabacus/src/ModuleNAO/py_m_nao.cpp +++ b/python/pyabacus/src/ModuleNAO/py_m_nao.cpp @@ -82,9 +82,9 @@ void bind_m_nao(py::module& m) .def("symbol", &RadialCollection::symbol, "itype"_a) .def_property_readonly("ntype", &RadialCollection::ntype) .def("lmax", overload_cast_()(&RadialCollection::lmax, py::const_), "itype"_a) - .def_property_readonly("lmax", overload_cast_<>()(&RadialCollection::lmax, py::const_)) + .def("lmax", overload_cast_<>()(&RadialCollection::lmax, py::const_)) .def("rcut_max", overload_cast_()(&RadialCollection::rcut_max, py::const_), "itype"_a) - .def_property_readonly("rcut_max", overload_cast_<>()(&RadialCollection::rcut_max, py::const_)) + .def("rcut_max", overload_cast_<>()(&RadialCollection::rcut_max, py::const_)) .def("nzeta", &RadialCollection::nzeta, "itype"_a, "l"_a) .def("nzeta_max", overload_cast_()(&RadialCollection::nzeta_max, py::const_), "itype"_a) .def("nzeta_max", overload_cast_<>()(&RadialCollection::nzeta_max, py::const_)) diff --git a/python/pyabacus/src/hsolver/CMakeLists.txt b/python/pyabacus/src/hsolver/CMakeLists.txt index 7c9f216870..1246b791ec 100644 --- a/python/pyabacus/src/hsolver/CMakeLists.txt +++ b/python/pyabacus/src/hsolver/CMakeLists.txt @@ -9,7 +9,7 @@ list(APPEND _diago ${HSOLVER_PATH}/diago_pxxxgvx.cpp - ${HSOLVER_PATH}/kernels/dngvd_op.cpp + ${HSOLVER_PATH}/kernels/hegvd_op.cpp ${HSOLVER_PATH}/kernels/bpcg_kernel_op.cpp # dependency ${BASE_PATH}/kernels/math_kernel_op.cpp diff --git a/python/pyabacus/src/hsolver/py_diago_cg.hpp b/python/pyabacus/src/hsolver/py_diago_cg.hpp index 63a6cccc82..0ab2cb25da 100644 --- a/python/pyabacus/src/hsolver/py_diago_cg.hpp +++ b/python/pyabacus/src/hsolver/py_diago_cg.hpp @@ -145,7 +145,7 @@ class PyDiagoCG std::copy(hpsi_ptr, hpsi_ptr + nvec * ld_psi, hpsi_out.data>()); }; - auto subspace_func = [] (const ct::Tensor& psi_in, ct::Tensor& psi_out) { /*do nothing*/ }; + auto subspace_func = [](const ct::Tensor& psi_in, ct::Tensor& psi_out, const bool S_orth) { /*do nothing*/ }; auto spsi_func = [this] (const ct::Tensor& psi_in, ct::Tensor& spsi_out) { const auto ndim = psi_in.shape().ndim(); diff --git a/python/pyabacus/src/hsolver/py_diago_dav_subspace.hpp b/python/pyabacus/src/hsolver/py_diago_dav_subspace.hpp index e2314b961c..c258de4406 100644 --- a/python/pyabacus/src/hsolver/py_diago_dav_subspace.hpp +++ b/python/pyabacus/src/hsolver/py_diago_dav_subspace.hpp @@ -144,7 +144,6 @@ class PyDiagoDavSubspace dav_ndim, tol, max_iter, - need_subspace, comm_info, diag_subspace, nb2d diff --git a/python/pyabacus/src/pyabacus/ModuleNAO/_module_nao.py b/python/pyabacus/src/pyabacus/ModuleNAO/_module_nao.py index b8ed03a1a4..132a955cbc 100644 --- a/python/pyabacus/src/pyabacus/ModuleNAO/_module_nao.py +++ b/python/pyabacus/src/pyabacus/ModuleNAO/_module_nao.py @@ -83,19 +83,21 @@ def symbol(self, itype: int) -> str: def ntype(self) -> int: return super().ntype - def lmax(self, itype: int) -> int: - return super().lmax(itype) - - @property - def lmax(self) -> int: - return super().lmax - - def rcut_max(self, itype: int) -> float: - return super().rcut_max(itype) + @overload + def lmax(self) -> int: ... + @overload + def lmax(self, itype: int) -> int: ... - @property - def rcut_max(self) -> float: - return super().rcut_max + def lmax(self, *args, **kwargs): + return super().lmax(*args, **kwargs) + + @overload + def rcut_max(self) -> float: ... + @overload + def rcut_max(self, itype: int) -> float: ... + + def rcut_max(self, *args, **kwargs): + return super().rcut_max(*args, **kwargs) def nzeta(self, itype: int, l: int) -> int: return super().nzeta(itype, l) diff --git a/python/pyabacus/src/pyabacus/io/stru.py b/python/pyabacus/src/pyabacus/io/stru.py index 1b337e74a7..0327898fc4 100644 --- a/python/pyabacus/src/pyabacus/io/stru.py +++ b/python/pyabacus/src/pyabacus/io/stru.py @@ -107,6 +107,7 @@ def read_stru(fpath: str) -> Dict[str, Any]: """Read an ABACUS STRU file and return its content as a dictionary.""" block_title = ['ATOMIC_SPECIES', 'NUMERICAL_ORBITAL', + 'NUMERICAL_DESCRIPTOR', 'LATTICE_CONSTANT', 'LATTICE_PARAMETER', 'LATTICE_VECTORS', @@ -144,6 +145,10 @@ def _trim(line): for i, s in enumerate(stru['species']): s['orb_file'] = blocks['NUMERICAL_ORBITAL'][i].strip() + #============ NUMERICAL_DESCRIPTOR ============ + if 'NUMERICAL_DESCRIPTOR' in blocks: + stru['desc'] = blocks['NUMERICAL_DESCRIPTOR'][0].strip() + #============ ATOMIC_POSITIONS ============ stru['coord_type'] = blocks['ATOMIC_POSITIONS'][0] index = {s['symbol']: i for i, s in enumerate(stru['species'])} diff --git a/python/pyabacus/tests/test_m_nao.py b/python/pyabacus/tests/test_m_nao.py index d103c7fe2c..9a13d1b3fd 100644 --- a/python/pyabacus/tests/test_m_nao.py +++ b/python/pyabacus/tests/test_m_nao.py @@ -50,8 +50,8 @@ def test_rc(): assert orb.symbol(3) == 'Fe' assert orb.ntype == 4 - assert orb.lmax == 3 - assert orb.rcut_max == 10.0 + assert orb.lmax() == 3 + assert orb.rcut_max() == 10.0 assert orb.nzeta(0,0) == 2 assert orb.nzeta(1,0) == 2 @@ -85,7 +85,7 @@ def test_twocenterintegrator(): alpha.build(1, [file_list[0]]) dr = 0.01 # R spacing - rmax = max(orb.rcut_max, alpha.rcut_max) + rmax = max(orb.rcut_max(), alpha.rcut_max()) cutoff = 2.0 * rmax nr = int(rmax / dr) + 1 diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 9d1ca2415a..4de8e373f5 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -35,7 +35,7 @@ list(APPEND device_srcs source_pw/module_pwdft/kernels/meta_op.cpp source_pw/module_stodft/kernels/hpsi_norm_op.cpp source_basis/module_pw/kernels/pw_op.cpp - source_hsolver/kernels/dngvd_op.cpp + source_hsolver/kernels/hegvd_op.cpp source_hsolver/kernels/bpcg_kernel_op.cpp source_estate/kernels/elecstate_op.cpp @@ -43,6 +43,7 @@ list(APPEND device_srcs # source_psi/kernels/device.cpp source_base/module_device/device.cpp + source_base/module_device/output_device.cpp source_base/module_device/memory_op.cpp source_base/kernels/math_kernel_op.cpp source_base/kernels/math_kernel_op_vec.cpp @@ -69,7 +70,7 @@ if(USE_CUDA) source_pw/module_stodft/kernels/cuda/hpsi_norm_op.cu source_pw/module_pwdft/kernels/cuda/onsite_op.cu source_basis/module_pw/kernels/cuda/pw_op.cu - source_hsolver/kernels/cuda/dngvd_op.cu + source_hsolver/kernels/cuda/hegvd_op.cu source_hsolver/kernels/cuda/bpcg_kernel_op.cu source_estate/kernels/cuda/elecstate_op.cu @@ -80,6 +81,7 @@ if(USE_CUDA) source_pw/module_pwdft/kernels/cuda/stress_op.cu source_pw/module_pwdft/kernels/cuda/wf_op.cu source_pw/module_pwdft/kernels/cuda/vnl_op.cu + source_base/module_device/cuda_compat.cpp source_base/kernels/cuda/math_ylm_op.cu source_base/kernels/cuda/math_kernel_op.cu source_base/kernels/cuda/math_kernel_op_vec.cu @@ -100,7 +102,7 @@ if(USE_ROCM) source_pw/module_pwdft/kernels/rocm/onsite_op.hip.cu source_pw/module_stodft/kernels/rocm/hpsi_norm_op.hip.cu source_basis/module_pw/kernels/rocm/pw_op.hip.cu - source_hsolver/kernels/rocm/dngvd_op.hip.cu + source_hsolver/kernels/rocm/hegvd_op.hip.cu source_hsolver/kernels/rocm/bpcg_kernel_op.hip.cu source_estate/kernels/rocm/elecstate_op.hip.cu diff --git a/source/Makefile b/source/Makefile index 6d072ef714..5cc3ce9907 100644 --- a/source/Makefile +++ b/source/Makefile @@ -1,10 +1,17 @@ # This is the Makefile of ABACUS -include Makefile.vars +ABACUS_ROOT := $(dir $(firstword $(MAKEFILE_LIST))) + +BUILD_DIR ?= build +OBJ_DIR = $(BUILD_DIR)/obj +BIN_DIR = $(BUILD_DIR)/bin +BUILD_INFO_DIR = $(BUILD_DIR)/source_io + +include $(ABACUS_ROOT)Makefile.vars + #========================== # Compiler information #========================== - -INCLUDES = -I. -Isource_main -Isource_main/commands -Icommands -I../ -Isource_base/module_container +INCLUDES = -I$(ABACUS_ROOT) -I$(ABACUS_ROOT)source_main -I$(ABACUS_ROOT)source_main/commands -I$(ABACUS_ROOT)commands -I$(BUILD_INFO_DIR) -I$(ABACUS_ROOT)../ -I$(ABACUS_ROOT)source_base/module_container LIBS = -lm -lpthread OPTS = -std=c++14 -pedantic -m64 ${INCLUDES} @@ -21,9 +28,8 @@ ifeq ($(OPENMP), ON) else ELPA_NAME = elpa endif -OBJ_DIR = obj -BIN_DIR = ../bin -SOURCE_DIR = . + +SOURCE_DIR = $(ABACUS_ROOT) ifeq ($(findstring mpi, $(CXX)), mpi) # We do not support EXX in sequential version temporarily. HONG += -D__MPI -DUSE_CEREAL_SERIALIZATION @@ -186,7 +192,9 @@ ifdef PEXSI_DIR HONG += -D__PEXSI endif -include Makefile.Objects +include $(ABACUS_ROOT)Makefile.Objects +VPATH := $(patsubst ./%,$(ABACUS_ROOT)%,$(VPATH)) +HEADERS := $(patsubst %,$(ABACUS_ROOT)%,$(HEADERS)) #========================== # Optional HONG @@ -208,6 +216,44 @@ endif FP_OBJS=$(patsubst %.o, ${OBJ_DIR}/%.o, ${OBJS_ABACUS}) +###### START of ABACUS INFO PART ###### + +# Rule to generate the build_info.h file using the shell script. +# This rule is executed whenever build_info.h.in, the script, or any of the +# relevant Makefile variables change. +$(BUILD_INFO_DIR)/build_info.h:$(ABACUS_ROOT)source_io/build_info.h.in $(ABACUS_ROOT)../generate_build_info.sh + @echo "Generating build information header..." + @# Make sure directory is available + @mkdir -p $(dir $@) + @# Export all necessary Makefile variables as environment for the script + @export BUILD_TYPE="Release"; \ + if [ "$(DEBUG)" = "ON" ]; then export BUILD_TYPE="Debug"; export ENABLE_ASAN="yes"; else export ENABLE_ASAN="no"; fi; \ + export CXX="${CXX}"; \ + export CXXFLAGS="${OPTS} ${HONG}"; \ + export MKLROOT="${MKLROOT}"; \ + export ELPA_DIR="${ELPA_DIR}"; \ + export FFTW_DIR="${FFTW_DIR}"; \ + export CEREAL_DIR="${CEREAL_DIR}"; \ + export LIBXC_DIR="${LIBXC_DIR}"; \ + export LIBRI_DIR="${LIBRI_DIR}"; \ + export DeePMD_DIR="${DeePMD_DIR}"; \ + export TensorFlow_DIR="${TensorFlow_DIR}"; \ + export PEXSI_DIR="${PEXSI_DIR}"; \ + export ENABLE_MPI="no"; \ + if [ "$(MPI)" = "ON" ]; then export ENABLE_MPI="ON"; fi; \ + export USE_CUDA="no"; \ + if [ "$(GPU)" = "CUDA" ]; then export USE_CUDA="ON"; fi; \ + $(ABACUS_ROOT)../generate_build_info.sh $@ + @echo "Build information header generated." + + # Specific rule for parse_args.o to enforce dependency on build_info.h. + # This overrides the generic %.o:%.cpp rule for this specific file. +${OBJ_DIR}/parse_args.o: $(ABACUS_ROOT)source_io/parse_args.cpp $(BUILD_INFO_DIR)/build_info.h + @mkdir -p $(dir $@) + ${CXX} ${OPTS} ${OPTS_MPI} -c ${HONG} $< -o $@ + +###### END of ABACUS INFO PART ###### + #========================== # MAKING OPTIONS #========================== @@ -218,25 +264,26 @@ abacus: test: @ $(MAKE) abacus - @ cd ../tests/integrate/;sh Autotest.sh -a ../../../bin/ABACUS.mpi -n $(TESTNP) + @ cd $(ABACUS_ROOT)../tests/integrate/;sh Autotest.sh -a $(realpath $(BIN_DIR))/ABACUS.mpi -n $(TESTNP) pw $(BIN_DIR)/${VERSION}-PW.x: @ if [ ! -d $(BIN_DIR) ]; then mkdir $(BIN_DIR); fi - @ cd source_pw/module_pwdft; $(MAKE) CXX=${CXX} GPU=${GPU} DEBUG=$(DEBUG) FFTW_DIR=$(FFTW_DIR) OPENBLAS_LIB_DIR=$(OPENBLAS_LIB_DIR) ${PWTAG} - @ cp source_pw/module_pwdft/${VERSION}-PW.x $(BIN_DIR)/${VERSION}-PW.x + @ cd $(ABACUS_ROOT)source_pw/module_pwdft; $(MAKE) CXX=${CXX} GPU=${GPU} DEBUG=$(DEBUG) FFTW_DIR=$(FFTW_DIR) OPENBLAS_LIB_DIR=$(OPENBLAS_LIB_DIR) ${PWTAG} + @ cp $(ABACUS_ROOT)source_pw/module_pwdft/${VERSION}-PW.x $(realpath $(BIN_DIR))/${VERSION}-PW.x $(BIN_DIR)/${VERSION}.$(suffix) : ${FP_OBJS} ${PDIAG_OBJS} ${HEADERS} + @mkdir -p $(dir $@) ${CXX} ${OPTS} ${OPTS_MPI} $(FP_OBJS) ${PDIAG_OBJS} ${LIBS} -o $(BIN_DIR)/${VERSION}.$(suffix) - #========================== # rules #========================== -${OBJ_DIR}/%.o:%.cpp +# Note: The specific rule for parse_args.o above is more precise. +# This generic rule will apply to all other .cpp files. +${OBJ_DIR}/%.o:$(realpath $(BIN_DIR))%.cpp ${CXX} ${OPTS} ${OPTS_MPI} -c ${HONG} $< -o $@ .PHONY:clean test clean: - @ if [ -d $(OBJ_DIR) ]; then rm -rf $(OBJ_DIR); fi - @ if [ -d $(BIN_DIR) ]; then rm -rf $(BIN_DIR); fi - @ cd source_pw/module_pwdft; make clean + @ echo "Cleaning build directory: $(BUILD_DIR)" + @ rm -rf $(BUILD_DIR) diff --git a/source/Makefile.Objects b/source/Makefile.Objects index 00abcf82be..4b8288b5f5 100644 --- a/source/Makefile.Objects +++ b/source/Makefile.Objects @@ -29,7 +29,7 @@ VPATH=./src_global:\ ./source_base/module_mixing:\ ./source_md:\ ./source_basis/module_pw:\ -./source_basis/module_pw/module_fft:\ +./source_base/module_fft:\ ./source_esolver:\ ./source_hsolver:\ ./source_hsolver/kernels:\ @@ -62,7 +62,6 @@ VPATH=./src_global:\ ./source_lcao/module_deltaspin:\ ./source_lcao/module_operator_lcao:\ ./source_lcao/module_gint:\ -./source_lcao/module_gint/temp_gint:\ ./source_relax:\ ./source_hamilt/module_vdw:\ ./source_io:\ @@ -178,6 +177,7 @@ OBJS_BASE=abfs-vector3_order.o\ broyden_mixing.o\ memory_op.o\ device.o\ + output_device.o\ parallel_2d.o\ OBJS_CELL=atom_pseudo.o\ @@ -201,6 +201,8 @@ OBJS_CELL=atom_pseudo.o\ bcast_cell.o\ read_stru.o\ read_atom_species.o\ + sep.o\ + sep_cell.o\ OBJS_DEEPKS=LCAO_deepks.o\ deepks_basic.o\ @@ -219,24 +221,24 @@ OBJS_DEEPKS=LCAO_deepks.o\ deepks_phialpha.o\ LCAO_deepks_io.o\ LCAO_deepks_interface.o\ - + OBJS_ELECSTAT=elecstate.o\ elecstate_energy_terms.o\ elecstate_energy.o\ elecstate_exx.o\ elecstate_print.o\ + elecstate_tools.o\ elecstate_pw.o\ elecstate_pw_sdft.o\ elecstate_pw_cal_tau.o\ elecstate_op.o\ - elecstate_tools.o\ efield.o\ gatefield.o\ potential_new.o\ potential_types.o\ + pot_sep.o\ pot_local.o\ - pot_local_paw.o\ H_Hartree_pw.o\ H_TDDFT_pw.o\ pot_xc.o\ @@ -245,9 +247,11 @@ OBJS_ELECSTAT=elecstate.o\ cal_nelec_nband.o\ read_pseudo.o\ cal_wfc.o\ + setup_estate_pw.o\ + update_pot.o\ OBJS_ELECSTAT_LCAO=elecstate_lcao.o\ - elecstate_lcao_cal_tau.o\ + init_dm.o\ density_matrix.o\ density_matrix_io.o\ cal_dm_psi.o\ @@ -261,46 +265,21 @@ OBJS_ESOLVER=esolver.o\ esolver_sdft_pw.o\ esolver_lj.o\ esolver_dp.o\ + esolver_nep.o\ esolver_of.o\ + esolver_of_tddft.o\ esolver_of_tool.o\ esolver_of_interface.o\ pw_others.o\ - pw_setup.o\ OBJS_ESOLVER_LCAO=esolver_ks_lcao.o\ esolver_ks_lcao_tddft.o\ - lcao_before_scf.o\ - lcao_after_scf.o\ esolver_gets.o\ lcao_others.o\ esolver_dm2rho.o\ + esolver_double_xc.o\ -OBJS_GINT=gint_old.o\ - gint_gamma_env.o\ - gint_gamma_vl.o\ - gint_fvl_old.o\ - gint_rho_old.o\ - gint_tau_old.o\ - gint_vl_old.o\ - gint_k_env.o\ - gint_k_sparse1.o\ - gint_k_pvpr.o\ - gint_k_pvdpr.o\ - gint_tools.o\ - grid_bigcell.o\ - grid_meshball.o\ - grid_meshcell.o\ - grid_meshk.o\ - grid_technique.o\ - gint_force_cpu_interface.o\ - gint_rho_cpu_interface.o\ - gint_vl_cpu_interface.o\ - cal_psir_ylm.o\ - cal_dpsir_ylm.o\ - cal_ddpsir_ylm.o\ - mult_psi_dmr.o\ - init_orb.o\ - batch_biggrid.o\ +OBJS_GINT=batch_biggrid.o\ big_grid.o\ biggrid_info.o\ divide_info.o\ @@ -332,6 +311,8 @@ OBJS_HAMILT=hamilt_pw.o\ op_exx_pw.o\ ekinetic_pw.o\ ekinetic_op.o\ + exx_pw_ace.o\ + exx_pw_pot.o\ hpsi_norm_op.o\ veff_pw.o\ veff_op.o\ @@ -353,6 +334,7 @@ OBJS_HAMILT_OF=kedf_tf.o\ kedf_xwm.o\ kedf_lkt.o\ kedf_manager.o\ + evolve_ofdft.o\ OBJS_HAMILT_LCAO=hamilt_lcao.o\ operator_lcao.o\ @@ -374,6 +356,7 @@ OBJS_HCONTAINER=base_matrix.o\ atom_pair.o\ hcontainer.o\ output_hcontainer.o\ + read_hcontainer.o\ func_folding.o\ func_transfer.o\ transfer.o\ @@ -388,12 +371,12 @@ OBJS_HSOLVER=diago_cg.o\ hsolver_lcaopw.o\ hsolver_pw_sdft.o\ diago_iter_assist.o\ - dngvd_op.o\ + hegvd_op.o\ bpcg_kernel_op.o\ diag_const_nums.o\ diag_hs_para.o\ diago_pxxxgvx.o\ - + OBJS_HSOLVER_LCAO=hsolver_lcao.o\ diago_scalapack.o\ diago_lapack.o\ @@ -411,7 +394,7 @@ OBJS_HSOLVER_PEXSI=diago_pexsi.o\ dist_bcd_matrix.o\ dist_ccs_matrix.o\ dist_matrix_transformer.o\ - + OBJS_MD=fire.o\ langevin.o\ md_base.o\ @@ -486,7 +469,7 @@ OBJS_RELAXATION=bfgs_basic.o\ lbfgs.o\ matrix_methods.o\ line_search.o\ - + OBJS_SURCHEM=surchem.o\ H_correction_pw.o\ @@ -534,7 +517,7 @@ OBJS_IO=input_conv.o\ cal_test.o\ write_dos_pw.o\ nscf_fermi_surf.o\ - nscf_band.o\ + write_bands.o\ cal_dos.o\ cal_pdos_gamma.o\ cal_pdos_multik.o\ @@ -563,16 +546,21 @@ OBJS_IO=input_conv.o\ unk_overlap_pw.o\ write_pao.o\ write_wfc_pw.o\ - winput.o\ write_cube.o\ write_elecstat_pot.o\ write_elf.o\ write_dipole.o\ + write_init.o\ td_current_io.o\ write_libxc_r.o\ output_log.o\ output_mat_sparse.o\ - ctrl_output_lcao.o\ + ctrl_scf_lcao.o\ + ctrl_runner_lcao.o\ + ctrl_iter_lcao.o\ + ctrl_output_fp.o\ + ctrl_output_pw.o\ + ctrl_output_td.o\ para_json.o\ abacusjson.o\ general_info.o\ @@ -606,10 +594,9 @@ OBJS_IO_LCAO=cal_r_overlap_R.o\ write_eig_occ.o\ get_pchg_lcao.o\ get_wf_lcao.o\ - io_dmk.o\ + write_dmk.o\ unk_overlap_lcao.o\ read_wfc_nao.o\ - read_wfc_lcao.o\ write_wfc_nao.o\ write_HS_sparse.o\ single_R_io.o\ @@ -635,19 +622,20 @@ OBJS_LCAO=evolve_elec.o\ velocity_op.o\ snap_psibeta_half_tddft.o\ solve_propagation.o\ + boundary_fix.o\ upsi.o\ FORCE_STRESS.o\ FORCE_gamma.o\ FORCE_k.o\ stress_tools.o\ edm.o\ - pulay_force_stress_center2.o\ - grid_init.o\ + pulay_fs_center2.o\ spar_dh.o\ spar_exx.o\ spar_hsr.o\ spar_st.o\ spar_u.o\ + LCAO_set.o\ LCAO_set_fs.o\ LCAO_set_st.o\ LCAO_nl_mu.o\ @@ -655,6 +643,10 @@ OBJS_LCAO=evolve_elec.o\ LCAO_allocate.o\ LCAO_set_mat2d.o\ LCAO_init_basis.o\ + setup_exx.o\ + setup_deepks.o\ + setup_dm.o\ + rho_tau_lcao.o\ center2_orb.o\ center2_orb-orb11.o\ center2_orb-orb21.o\ @@ -663,13 +655,13 @@ OBJS_LCAO=evolve_elec.o\ wavefunc_in_pw.o\ OBJS_MODULE_RI=conv_coulomb_pot_k.o\ - exx_abfs-abfs_index.o \ - exx_abfs-jle.o \ - exx_abfs-io.o \ - exx_abfs-construct_orbs.o \ - ABFs_Construct-PCA.o \ - exx_opt_orb.o \ - exx_opt_orb-print.o \ + exx_abfs-abfs_index.o\ + exx_abfs-jle.o\ + exx_abfs-io.o\ + exx_abfs-construct_orbs.o\ + ABFs_Construct-PCA.o\ + exx_opt_orb-print.o\ + exx_opt_orb.o\ Matrix_Orbs11.o\ Matrix_Orbs21.o\ Matrix_Orbs22.o\ @@ -677,6 +669,7 @@ OBJS_MODULE_RI=conv_coulomb_pot_k.o\ Mix_DMk_2D.o\ Mix_Matrix.o\ symmetry_rotation.o\ + symmetry_rotation_output.o\ symmetry_irreducible_sector.o\ OBJS_PARALLEL=parallel_common.o\ @@ -686,12 +679,13 @@ OBJS_PARALLEL=parallel_common.o\ parallel_kpoints.o\ parallel_reduce.o\ parallel_device.o - + OBJS_SRCPW=H_Ewald_pw.o\ dnrm2.o\ VL_in_pw.o\ VNL_in_pw.o\ VNL_grad_pw.o\ + chgmixing.o\ charge.o\ charge_init.o\ charge_mpi.o\ @@ -703,6 +697,9 @@ OBJS_SRCPW=H_Ewald_pw.o\ charge_mixing_rho.o\ charge_mixing_uspp.o\ fp_energy.o\ + setup_pot.o\ + setup_pwrho.o\ + setup_pwwfc.o\ forces.o\ forces_us.o\ forces_nl.o\ @@ -742,15 +739,19 @@ OBJS_SRCPW=H_Ewald_pw.o\ stress_func_onsite.o\ stress_pw.o\ of_stress_pw.o\ + of_print_info.o\ symmetry_rho.o\ symmetry_rhog.o\ + setup_psi_pw.o\ + setup_psi.o\ psi_init.o\ elecond.o\ sto_tool.o\ sto_elecond.o\ sto_dos.o\ onsite_projector.o\ - onsite_proj_tools.o + onsite_proj_tools.o\ + VSep_in_pw.o OBJS_VDW=vdw.o\ vdwd2_parameters.o\ diff --git a/source/source_base/element_basis_index.cpp b/source/source_base/element_basis_index.cpp index 1130de59e3..32eafd01e1 100644 --- a/source/source_base/element_basis_index.cpp +++ b/source/source_base/element_basis_index.cpp @@ -4,24 +4,26 @@ //========================================================== #include "element_basis_index.h" + namespace ModuleBase { -Element_Basis_Index::IndexLNM Element_Basis_Index::construct_index( const Range &range ) +Element_Basis_Index::IndexLNM +Element_Basis_Index::construct_index( const Range &range ) { IndexLNM index; index.resize( range.size() ); - for( size_t T=0; T!=range.size(); ++T ) + for( std::size_t T=0; T!=range.size(); ++T ) { - size_t count=0; + std::size_t count=0; index[T].resize( range[T].size() ); - for( size_t L=0; L!=range[T].size(); ++L ) + for( std::size_t L=0; L!=range[T].size(); ++L ) { index[T][L].resize( range[T][L].N ); - for( size_t N=0; N!=range[T][L].N; ++N ) + for( std::size_t N=0; N!=range[T][L].N; ++N ) { index[T][L][N].resize( range[T][L].M ); - for( size_t M=0; M!=range[T][L].M; ++M ) + for( std::size_t M=0; M!=range[T][L].M; ++M ) { index[T][L][N][M] = count; ++count; diff --git a/source/source_base/element_basis_index.h b/source/source_base/element_basis_index.h index 96918b8e03..bb81ebf40e 100644 --- a/source/source_base/element_basis_index.h +++ b/source/source_base/element_basis_index.h @@ -8,40 +8,41 @@ #include #include + namespace ModuleBase { -class Element_Basis_Index +namespace Element_Basis_Index { -private: - + //private: + struct NM { public: - size_t N; - size_t M; + std::size_t N; + std::size_t M; }; - - class Index_TL: public std::vector> + + class Index_TL: public std::vector> { public: - size_t N; - size_t M; + std::size_t N; + std::size_t M; }; - + class Index_T: public std::vector { public: - size_t count_size; - }; - -public: - - typedef std::vector> Range; // range[T][L] + std::size_t count_size; + }; + + //public: + + typedef std::vector> Range; // range[T][L] typedef std::vector IndexLNM; // index[T][L][N][M] - - static IndexLNM construct_index( const Range &range ); -}; + + extern IndexLNM construct_index( const Range &range ); +} } diff --git a/source/source_base/gather_math_lib_info.cpp b/source/source_base/gather_math_lib_info.cpp index 825aaa3163..3cd89a94eb 100644 --- a/source/source_base/gather_math_lib_info.cpp +++ b/source/source_base/gather_math_lib_info.cpp @@ -60,7 +60,7 @@ void zhegvx_i(const int *itype, const int *il, const int *iu, const double *abstol, - const int *m, + int *m, double *w, std::complex *z, const int *ldz, diff --git a/source/source_base/global_file.cpp b/source/source_base/global_file.cpp index cd6c424fc7..ce3ce613c2 100644 --- a/source/source_base/global_file.cpp +++ b/source/source_base/global_file.cpp @@ -9,6 +9,9 @@ #include #endif #include +#include +#include +#include #include #include "global_function.h" #include "source_io/module_parameter/parameter.h" @@ -40,14 +43,15 @@ void ModuleBase::Global_File::make_dir_out( #endif int make_dir = 0; // mohan update 2011-05-03 - std::string command0 = "test -d " + PARAM.globalv.global_out_dir + " || mkdir " + PARAM.globalv.global_out_dir; + //std::string command0 = "test -d " + PARAM.globalv.global_out_dir + " || mkdir " + PARAM.globalv.global_out_dir; int times = 0; while(times 0) { int make_dir_deepks_elec = 0; - std::string command1 = "test -d " + PARAM.globalv.global_deepks_label_elec_dir + " || mkdir " + PARAM.globalv.global_deepks_label_elec_dir; + //std::string command1 = "test -d " + PARAM.globalv.global_deepks_label_elec_dir + " || mkdir " + PARAM.globalv.global_deepks_label_elec_dir; times = 0; while(times #include #include +#include +#include +#include +#include + namespace ModuleBase { namespace GlobalFunc @@ -61,20 +66,14 @@ void OUT(std::ofstream &ofs, const std::string &name) void MAKE_DIR(const std::string &fn) { // ModuleBase::TITLE("global_function","MAKE_DIR"); - #ifndef __SW if (GlobalV::MY_RANK == 0) { - std::stringstream ss; - ss << " test -d " << fn << " || mkdir " << fn; - //---------------------------------------------------------- - // EXPLAIN : 'system' function return '0' if success - //---------------------------------------------------------- - if (system(ss.str().c_str())) + int ret = mkdir(fn.c_str(), 0755); + if (ret != 0 && errno != EEXIST) { ModuleBase::WARNING_QUIT("MAKE_DIR", fn); } } - #endif return; } diff --git a/source/source_base/global_function.h b/source/source_base/global_function.h index 7981fb79bd..3d6f1e35be 100644 --- a/source/source_base/global_function.h +++ b/source/source_base/global_function.h @@ -182,17 +182,17 @@ inline void DCOPY(const T* a, T* b, const int& dim) { } template -inline void COPYARRAY(const T* a, T* b, const long dim); +inline void COPYARRAY(const T* a, T* b, const int dim); template <> -inline void COPYARRAY(const std::complex* a, std::complex* b, const long dim) +inline void COPYARRAY(const std::complex* a, std::complex* b, const int dim) { const int one = 1; zcopy_(&dim, a, &one, b, &one); } template <> -inline void COPYARRAY(const double* a, double* b, const long dim) +inline void COPYARRAY(const double* a, double* b, const int dim) { const int one = 1; dcopy_(&dim, a, &one, b, &one); diff --git a/source/source_base/kernels/cuda/math_kernel_op.cu b/source/source_base/kernels/cuda/math_kernel_op.cu index 415ec9f12a..562760ca7a 100644 --- a/source/source_base/kernels/cuda/math_kernel_op.cu +++ b/source/source_base/kernels/cuda/math_kernel_op.cu @@ -133,6 +133,14 @@ __global__ void matrix_copy_kernel(const int n1, const int n2, const T* A, const } } +template +__global__ void matrix_multiply_vector_kernel(const int m, const int n, T *a, const int lda, const Real *b, const Real alpha, T *c, const int ldc){ + int row = blockIdx.x * blockDim.x + threadIdx.x; + int col = blockIdx.y * blockDim.y + threadIdx.y; + if (col >= n || row >= m) return; + c[col * ldc + row] = a[col * lda + row] * b[col] * alpha; +} + cublasOperation_t judge_trans_op(bool is_complex, const char& trans, const char* name) { if (trans == 'N') @@ -147,7 +155,7 @@ cublasOperation_t judge_trans_op(bool is_complex, const char& trans, const char* { return CUBLAS_OP_C; } - else + else { ModuleBase::WARNING_QUIT(name, std::string("Unknown trans type ") + trans + std::string(" !")); } @@ -438,10 +446,44 @@ void matrixCopy, base_device::DEVICE_GPU>::operator()(const cudaCheckOnDebug(); } +template <> +void matrix_mul_vector_op::operator()(const int &m, const int &n, + double *a, const int &lda, const double *b, const double alpha, double *c, const int &ldc){ + dim3 thread(16, 16, 1); + dim3 block((m + thread.x - 1) / thread.x, (n + thread.y - 1) / thread.y, 1); + matrix_multiply_vector_kernel <<>>(m, n, a, lda, + b, alpha, c, ldc); + cudaCheckOnDebug(); +} + +template <> +void matrix_mul_vector_op, base_device::DEVICE_GPU>::operator()(const int &m, const int &n, + std::complex *a, const int &lda, const float *b, const float alpha, std::complex *c, const int &ldc){ + dim3 thread(16, 16, 1); + dim3 block((m + thread.x - 1) / thread.x, (n + thread.y - 1) / thread.y, 1); + matrix_multiply_vector_kernel, float> <<>>(m, n, reinterpret_cast*>(a), lda, + b, alpha, reinterpret_cast*>(c), ldc); + cudaCheckOnDebug(); +} + +template <> +void matrix_mul_vector_op, base_device::DEVICE_GPU>::operator()(const int &m, const int &n, + std::complex *a, const int &lda, const double *b, const double alpha, std::complex *c, const int &ldc) +{ + dim3 thread(16, 16, 1); + dim3 block((m + thread.x - 1) / thread.x, (n + thread.y - 1) / thread.y, 1); + matrix_multiply_vector_kernel, double> <<>>(m, n, reinterpret_cast*>(a), lda, + b, alpha, reinterpret_cast*>(c), ldc); + cudaCheckOnDebug(); +} // Explicitly instantiate functors for the types of functor registered. template struct matrixCopy, base_device::DEVICE_GPU>; template struct matrixCopy; template struct matrixCopy, base_device::DEVICE_GPU>; + +template struct matrix_mul_vector_op, base_device::DEVICE_GPU>; +template struct matrix_mul_vector_op; +template struct matrix_mul_vector_op, base_device::DEVICE_GPU>; } // namespace ModuleBase diff --git a/source/source_base/kernels/dsp/dsp_connector.cpp b/source/source_base/kernels/dsp/dsp_connector.cpp index a3c5f6d897..3db4b47e8e 100644 --- a/source/source_base/kernels/dsp/dsp_connector.cpp +++ b/source/source_base/kernels/dsp/dsp_connector.cpp @@ -6,9 +6,9 @@ extern "C" { #define complex_double ignore_complex_double -#include // MTBLAS_TRANSPOSE etc +#include // include faster mtblas kernels #undef complex_double -#include // gemm +#include // include normal mtblas kernels that automatically operate memory, but slower. } namespace mtfunc { @@ -22,45 +22,42 @@ void dspDestoryHandle(int id) { hthread_dev_close(id); std::cout << " ** DSP closed on cluster " << id << " **" << std::endl; -} // Close dsp cluster at the end +} // Close dsp cluster at the end of the program -MTBLAS_TRANSPOSE convertBLASTranspose(const char* blasTrans) +// MTBlas secretly removed its MTBLAS_TRANSPOSE data type and used the original CBLAS_TRANSPOSE. So this function is modified. + +CBLAS_TRANSPOSE convertBLASTranspose(const char* blasTrans) { switch (blasTrans[0]) { case 'N': case 'n': - return MtblasNoTrans; + return CblasNoTrans; case 'T': case 't': - return MtblasTrans; + return CblasTrans; case 'C': case 'c': - return MtblasConjTrans; + return CblasConjTrans; default: std::cout << "Invalid BLAS transpose parameter!! Use default instead." << std::endl; - return MtblasNoTrans; + return CblasNoTrans; } -} // Used to convert normal transpost char to mtblas transpose flag +} // Used to convert normal transpost char to cblas transpose flag void* malloc_ht(size_t bytes, int cluster_id) { - // std::cout << "MALLOC " << cluster_id; void* ptr = hthread_malloc((int)cluster_id, bytes, HT_MEM_RW); - // std::cout << ptr << " SUCCEED" << std::endl;; return ptr; -} +} // Malloc on dsp. Used to replace original malloc + -// Used to replace original malloc void free_ht(void* ptr) { - // std::cout << "FREE " << ptr; hthread_free(ptr); - // std::cout << " FREE SUCCEED" << std::endl; -} +} // Free on dsp. Used to replace original free -// Used to replace original free void sgemm_mt_(const char* transa, const char* transb, @@ -77,7 +74,7 @@ void sgemm_mt_(const char* transa, const int* ldc, int cluster_id) { - mtblas_sgemm(MTBLAS_ORDER::MtblasColMajor, + mtblas_sgemm(CBLAS_ORDER::CblasColMajor, convertBLASTranspose(transa), convertBLASTranspose(transb), *m, @@ -109,7 +106,7 @@ void dgemm_mt_(const char* transa, const int* ldc, int cluster_id) { - mtblas_dgemm(MTBLAS_ORDER::MtblasColMajor, + mtblas_dgemm(CBLAS_ORDER::CblasColMajor, convertBLASTranspose(transa), convertBLASTranspose(transb), *m, @@ -141,7 +138,7 @@ void zgemm_mt_(const char* transa, const int* ldc, int cluster_id) { - mtblas_zgemm(MTBLAS_ORDER::MtblasColMajor, + mtblas_zgemm(CBLAS_ORDER::CblasColMajor, convertBLASTranspose(transa), convertBLASTranspose(transb), *m, @@ -173,7 +170,7 @@ void cgemm_mt_(const char* transa, const int* ldc, int cluster_id) { - mtblas_cgemm(MTBLAS_ORDER::MtblasColMajor, + mtblas_cgemm(CBLAS_ORDER::CblasColMajor, convertBLASTranspose(transa), convertBLASTranspose(transb), *m, @@ -207,7 +204,7 @@ void sgemm_mth_(const char* transa, const int* ldc, int cluster_id) { - mt_hthread_sgemm(MTBLAS_ORDER::MtblasColMajor, + mt_hthread_sgemm(CBLAS_ORDER::CblasColMajor, convertBLASTranspose(transa), convertBLASTranspose(transb), *m, @@ -239,7 +236,7 @@ void dgemm_mth_(const char* transa, const int* ldc, int cluster_id) { - mt_hthread_dgemm(MTBLAS_ORDER::MtblasColMajor, + mt_hthread_dgemm(CBLAS_ORDER::CblasColMajor, convertBLASTranspose(transa), convertBLASTranspose(transb), *m, @@ -275,7 +272,7 @@ void zgemm_mth_(const char* transa, *alp = *alpha; std::complex* bet = (std::complex*)malloc_ht(sizeof(std::complex), cluster_id); *bet = *beta; - mt_hthread_zgemm(MTBLAS_ORDER::MtblasColMajor, + mt_hthread_zgemm(CBLAS_ORDER::CblasColMajor, convertBLASTranspose(transa), convertBLASTranspose(transb), *m, @@ -290,7 +287,8 @@ void zgemm_mth_(const char* transa, c, *ldc, cluster_id); - + free_ht(alp); + free_ht(bet); } // zgemm that needn't malloc_ht or free_ht void cgemm_mth_(const char* transa, @@ -313,7 +311,7 @@ void cgemm_mth_(const char* transa, std::complex* bet = (std::complex*)malloc_ht(sizeof(std::complex), cluster_id); *bet = *beta; - mt_hthread_cgemm(MTBLAS_ORDER::MtblasColMajor, + mt_hthread_cgemm(CBLAS_ORDER::CblasColMajor, convertBLASTranspose(transa), convertBLASTranspose(transb), *m, diff --git a/source/source_base/kernels/math_kernel_op.cpp b/source/source_base/kernels/math_kernel_op.cpp index dad790e463..aa5d365319 100644 --- a/source/source_base/kernels/math_kernel_op.cpp +++ b/source/source_base/kernels/math_kernel_op.cpp @@ -81,7 +81,7 @@ struct matrixTranspose_op T* temp = nullptr; base_device::memory::resize_memory_op()(temp, row * col, "MTransOp"); #ifdef _OPENMP -#pragma omp parallel for collapse(2) schedule(static, 8192 / sizeof(T)) +#pragma omp parallel for collapse(2) schedule(static) #endif for (int j = 0; j < col; j++) { @@ -91,7 +91,7 @@ struct matrixTranspose_op } } #ifdef _OPENMP -#pragma omp parallel for schedule(static, 8192 / sizeof(T)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < row * col; i++) { @@ -107,7 +107,7 @@ struct matrixCopy void operator()(const int& n1, const int& n2, const T* A, const int& LDA, T* B, const int& LDB) { #ifdef _OPENMP -#pragma omp parallel for collapse(2) schedule(static, 8192 / sizeof(T)) +#pragma omp parallel for collapse(2) schedule(static) #endif for (int i = 0; i < n1; i++) { @@ -119,12 +119,35 @@ struct matrixCopy } }; +template +struct matrix_mul_vector_op { + using Real = typename GetTypeReal::type; + void operator()(const int& m, const int &n, + T *a, + const int &lda, + const Real *b, + const Real alpha, + T *c, + const int &ldc){ +#ifdef _OPENMP +#pragma omp parallel for collapse(2) schedule(static) +#endif + for (int j = 0; j < n; j++){ + for (int i = 0; i < m; i++){ + c[j * ldc + i] = a[j * lda + i] * b[j] * alpha; + } + } + + } +}; + template struct gemv_op, base_device::DEVICE_CPU>; template struct gemv_op; template struct gemm_op, base_device::DEVICE_CPU>; template struct gemm_op; template struct matrixTranspose_op, base_device::DEVICE_CPU>; template struct matrixCopy, base_device::DEVICE_CPU>; +template struct matrix_mul_vector_op, base_device::DEVICE_CPU>; template struct gemv_op, base_device::DEVICE_CPU>; template struct gemv_op; @@ -133,6 +156,8 @@ template struct gemm_op; template struct matrixTranspose_op, base_device::DEVICE_CPU>; template struct matrixCopy; template struct matrixCopy, base_device::DEVICE_CPU>; +template struct matrix_mul_vector_op; +template struct matrix_mul_vector_op, base_device::DEVICE_CPU>; #ifdef __LCAO template struct matrixTranspose_op; diff --git a/source/source_base/kernels/math_kernel_op.h b/source/source_base/kernels/math_kernel_op.h index 9476d32fdc..f5c8e218df 100644 --- a/source/source_base/kernels/math_kernel_op.h +++ b/source/source_base/kernels/math_kernel_op.h @@ -104,7 +104,7 @@ template struct vector_div_constant_op { /// /// Input Parameters /// \param dim : array size - /// \param vector : input array + /// \param vector : input array /// \param constant : input constant /// /// Output Parameters @@ -298,6 +298,31 @@ template struct matrixCopy { void operator()(const int& n1, const int& n2, const T* A, const int& LDA, T* B, const int& LDB); }; +template +struct matrix_mul_vector_op { + using Real = typename GetTypeReal::type; + /// @brief a * b * beta by each column + /// + /// Input Parameters + /// \param m : row number + /// \param n : column number + /// \param a : input matrix + /// \param lda : leading dimension of matrix a + /// \param b : input vector + /// \param alpha : factor + /// \param ldc : leading dimension of matrix c + /// + /// Output Parameters + /// \param c : output matrix + void operator()(const int &m, const int &n, + T *a, + const int &lda, + const Real *b, + const Real alpha, + T *c, + const int &ldc); +}; + template struct apply_eigenvalues_op { using Real = typename GetTypeReal::type; @@ -314,7 +339,7 @@ struct precondition_op { T* psi_iter, const int& nbase, const int& notconv, - const Real* precondition, + const Real* precondition, const Real* eigenvalues); }; @@ -393,6 +418,17 @@ template struct matrixCopy { const int& LDB); }; +template struct matrix_mul_vector_op { + using Real = typename GetTypeReal::type; + void operator()(const int &m, const int &n, + T *a, + const int &lda, + const Real *b, + const Real alpha, + T *c, + const int &ldc); +}; + void createGpuBlasHandle(); void destoryBLAShandle(); diff --git a/source/source_base/kernels/math_kernel_op_vec.cpp b/source/source_base/kernels/math_kernel_op_vec.cpp index 8353b82660..da3fdb8f06 100644 --- a/source/source_base/kernels/math_kernel_op_vec.cpp +++ b/source/source_base/kernels/math_kernel_op_vec.cpp @@ -24,7 +24,7 @@ struct vector_mul_real_op void operator()(const int dim, T* result, const T* vector, const Real constant) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(Real)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { @@ -42,7 +42,7 @@ struct vector_mul_vector_op if (add) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(Real)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { @@ -52,7 +52,7 @@ struct vector_mul_vector_op else { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(Real)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { @@ -69,7 +69,7 @@ struct vector_div_constant_op void operator()(const int& dim, T* result, const T* vector, const Real constant) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(Real)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { @@ -85,7 +85,7 @@ struct vector_div_vector_op void operator()(const int& dim, T* result, const T* vector1, const Real* vector2) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(Real)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { @@ -121,7 +121,7 @@ struct vector_add_vector_op const Real constant2) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 8192 / sizeof(T)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { diff --git a/source/source_base/kernels/rocm/math_kernel_op.hip.cu b/source/source_base/kernels/rocm/math_kernel_op.hip.cu index 8eb87988c8..f60cdfc3b1 100644 --- a/source/source_base/kernels/rocm/math_kernel_op.hip.cu +++ b/source/source_base/kernels/rocm/math_kernel_op.hip.cu @@ -145,6 +145,15 @@ __launch_bounds__(1024) __global__ } } +template +__launch_bounds__(1024) __global__ +void matrix_multiply_vector_kernel(const int m, const int n, T *a, const int lda, const Real *b, const Real alpha, T *c, const int ldc){ + int row = blockIdx.x * blockDim.x + threadIdx.x; + int col = blockIdx.y * blockDim.y + threadIdx.y; + if (col >= n || row >= m) return; + c[col * ldc + row] = a[col * lda + row] * b[col] * alpha; +} + hipblasOperation_t judge_trans_op(bool is_complex, const char& trans, const char* name) { if (trans == 'N') @@ -159,7 +168,7 @@ hipblasOperation_t judge_trans_op(bool is_complex, const char& trans, const char { return HIPBLAS_OP_C; } - else + else { ModuleBase::WARNING_QUIT(name, std::string("Unknown trans type ") + trans + std::string(" !")); } @@ -437,7 +446,38 @@ void matrixCopy, base_device::DEVICE_GPU>::operator()(const hipCheckOnDebug(); } +template <> +void matrix_mul_vector_op::operator()(const int &m, const int &n, + double *a, const int &lda, const double *b, const double alpha, double *c, const int &ldc){ + dim3 thread(16, 16, 1); + dim3 block((m + thread.x - 1) / thread.x, (n + thread.y - 1) / thread.y, 1); + hipLaunchKernelGGL(HIP_KERNEL_NAME(matrix_multiply_vector_kernel), dim3(block, thread), + m, n, a, lda, b, alpha, c, ldc); + hipCheckOnDebug(); +} +template <> +void matrix_mul_vector_op, base_device::DEVICE_GPU>::operator()(const int &m, const int &n, + std::complex *a, const int &lda, const float *b, const float alpha, std::complex *c, const int &ldc){ + dim3 thread(16, 16, 1); + dim3 block((m + thread.x - 1) / thread.x, (n + thread.y - 1) / thread.y, 1); + hipLaunchKernelGGL(HIP_KERNEL_NAME(matrix_multiply_vector_kernel, float>), dim3(block, thread), + m, n, reinterpret_cast*>(a), lda, + b, alpha, reinterpret_cast*>(c), ldc); + hipCheckOnDebug(); +} + +template <> +void matrix_mul_vector_op, base_device::DEVICE_GPU>::operator()(const int &m, const int &n, + std::complex *a, const int &lda, const double *b, const double alpha, std::complex *c, const int &ldc) +{ + dim3 thread(16, 16, 1); + dim3 block((m + thread.x - 1) / thread.x, (n + thread.y - 1) / thread.y, 1); + hipLaunchKernelGGL(HIP_KERNEL_NAME(matrix_multiply_vector_kernel, double>), dim3(block, thread), + m, n, reinterpret_cast*>(a), lda, + b, alpha, reinterpret_cast*>(c), ldc); + hipCheckOnDebug(); +} // Explicitly instantiate functors for the types of functor registered. template struct matrixCopy; diff --git a/source/source_base/matrix3.cpp b/source/source_base/matrix3.cpp index 7fa4398e58..a811d113bb 100644 --- a/source/source_base/matrix3.cpp +++ b/source/source_base/matrix3.cpp @@ -7,179 +7,182 @@ Matrix3::Matrix3(const double &r11, const double &r12, const double &r13, const double &r21, const double &r22, const double &r23, const double &r31, const double &r32, const double &r33) { - e11 = r11;e12 = r12;e13 = r13; - e21 = r21;e22 = r22;e23 = r23; - e31 = r31;e32 = r32;e33 = r33; + e11 = r11; e12 = r12; e13 = r13; + e21 = r21; e22 = r22; e23 = r23; + e31 = r31; e32 = r32; e33 = r33; } void Matrix3::Identity(void) { - e11 = 1;e12 = 0;e13 = 0; - e21 = 0;e22 = 1;e23 = 0; - e31 = 0;e32 = 0;e33 = 1; + e11 = 1; e12 = 0; e13 = 0; + e21 = 0; e22 = 1; e23 = 0; + e31 = 0; e32 = 0; e33 = 1; } void Matrix3::Zero(void) { - e11 = 0;e12 = 0;e13 = 0; - e21 = 0;e22 = 0;e23 = 0; - e31 = 0;e32 = 0;e33 = 0; + e11 = 0; e12 = 0; e13 = 0; + e21 = 0; e22 = 0; e23 = 0; + e31 = 0; e32 = 0; e33 = 0; } -double Matrix3::Det(void) const +double Matrix3::Det(void) const { - return e11*e22*e33 - - e11*e32*e23 + - e21*e32*e13 - - e21*e12*e33 + - e31*e12*e23 - - e31*e22*e13; + return e11*e22*e33 - + e11*e32*e23 + + e21*e32*e13 - + e21*e12*e33 + + e31*e12*e23 - + e31*e22*e13; } Matrix3 Matrix3::Transpose(void) const { - return Matrix3(e11, e21, e31, e12, e22, e32, e13, e23, e33); + return Matrix3(e11, e21, e31, e12, e22, e32, e13, e23, e33); } Matrix3 Matrix3::Inverse(void) const { - double d = this->Det(); + double d = this->Det(); - if(d == 0)d = 1; + if(d == 0) + { + d = 1; + } - return Matrix3((e22*e33 - e23*e32) / d, - -(e12*e33 - e13*e32) / d, - (e12*e23 - e13*e22) / d, - -(e21*e33 - e23*e31) / d, - (e11*e33 - e13*e31) / d, - -(e11*e23 - e13*e21) / d, - (e21*e32 - e22*e31) / d, - -(e11*e32 - e12*e31) / d, - (e11*e22 - e12*e21) / d); + return Matrix3((e22*e33 - e23*e32) / d, + -(e12*e33 - e13*e32) / d, + (e12*e23 - e13*e22) / d, + -(e21*e33 - e23*e31) / d, + (e11*e33 - e13*e31) / d, + -(e11*e23 - e13*e21) / d, + (e21*e32 - e22*e31) / d, + -(e11*e32 - e12*e31) / d, + (e11*e22 - e12*e21) / d); } Matrix3& Matrix3::operator = (const Matrix3 &m) { - e11 = m.e11;e12 = m.e12;e13 = m.e13; - e21 = m.e21;e22 = m.e22;e23 = m.e23; - e31 = m.e31;e32 = m.e32;e33 = m.e33; - return *this; + e11 = m.e11; e12 = m.e12; e13 = m.e13; + e21 = m.e21; e22 = m.e22; e23 = m.e23; + e31 = m.e31; e32 = m.e32; e33 = m.e33; + return *this; } Matrix3& Matrix3::operator +=(const Matrix3 &m) { - e11 += m.e11;e12 += m.e12;e13 += m.e13; - e21 += m.e21;e22 += m.e22;e23 += m.e23; - e31 += m.e31;e32 += m.e32;e33 += m.e33; - return *this; + e11 += m.e11; e12 += m.e12; e13 += m.e13; + e21 += m.e21; e22 += m.e22; e23 += m.e23; + e31 += m.e31; e32 += m.e32; e33 += m.e33; + return *this; } Matrix3& Matrix3::operator -=(const Matrix3 &m) { - e11 -= m.e11;e12 -= m.e12;e13 -= m.e13; - e21 -= m.e21;e22 -= m.e22;e23 -= m.e23; - e31 -= m.e31;e32 -= m.e32;e33 -= m.e33; - return *this; + e11 -= m.e11; e12 -= m.e12; e13 -= m.e13; + e21 -= m.e21; e22 -= m.e22; e23 -= m.e23; + e31 -= m.e31; e32 -= m.e32; e33 -= m.e33; + return *this; } Matrix3& Matrix3::operator *=(const double &s) { - e11 *= s;e12 *= s;e13 *= s; - e21 *= s;e22 *= s;e23 *= s; - e31 *= s;e32 *= s;e33 *= s; - return *this; + e11 *= s; e12 *= s; e13 *= s; + e21 *= s; e22 *= s; e23 *= s; + e31 *= s; e32 *= s; e33 *= s; + return *this; } Matrix3& Matrix3::operator /=(const double &s) { - e11 /= s;e12 /= s;e13 /= s; - e21 /= s;e22 /= s;e23 /= s; - e31 /= s;e32 /= s;e33 /= s; - return *this; + e11 /= s; e12 /= s; e13 /= s; + e21 /= s; e22 /= s; e23 /= s; + e31 /= s; e32 /= s; e33 /= s; + return *this; } //m1+m2 Matrix3 operator +(const Matrix3 &m1, const Matrix3 &m2) { - return Matrix3(m1.e11 + m2.e11, - m1.e12 + m2.e12, - m1.e13 + m2.e13, - m1.e21 + m2.e21, - m1.e22 + m2.e22, - m1.e23 + m2.e23, - m1.e31 + m2.e31, - m1.e32 + m2.e32, - m1.e33 + m2.e33); + return Matrix3(m1.e11 + m2.e11, + m1.e12 + m2.e12, + m1.e13 + m2.e13, + m1.e21 + m2.e21, + m1.e22 + m2.e22, + m1.e23 + m2.e23, + m1.e31 + m2.e31, + m1.e32 + m2.e32, + m1.e33 + m2.e33); } //m1-m2 Matrix3 operator -(const Matrix3 &m1, const Matrix3 &m2) { - return Matrix3(m1.e11 - m2.e11, // Zujian Dai fix bug 2019-01-21 - m1.e12 - m2.e12, - m1.e13 - m2.e13, - m1.e21 - m2.e21, - m1.e22 - m2.e22, - m1.e23 - m2.e23, - m1.e31 - m2.e31, - m1.e32 - m2.e32, - m1.e33 - m2.e33); + return Matrix3(m1.e11 - m2.e11, // Zujian Dai fix bug 2019-01-21 + m1.e12 - m2.e12, + m1.e13 - m2.e13, + m1.e21 - m2.e21, + m1.e22 - m2.e22, + m1.e23 - m2.e23, + m1.e31 - m2.e31, + m1.e32 - m2.e32, + m1.e33 - m2.e33); } //m/s Matrix3 operator /(const Matrix3 &m, const double &s) { - return Matrix3(m.e11 / s, m.e12 / s, m.e13 / s, - m.e21 / s, m.e22 / s, m.e23 / s, - m.e31 / s, m.e32 / s, m.e33 / s); + return Matrix3(m.e11 / s, m.e12 / s, m.e13 / s, + m.e21 / s, m.e22 / s, m.e23 / s, + m.e31 / s, m.e32 / s, m.e33 / s); } //m1*m2 Matrix3 operator *(const Matrix3 &m1, const Matrix3 &m2) { - return Matrix3(m1.e11*m2.e11 + m1.e12*m2.e21 + m1.e13*m2.e31, - m1.e11*m2.e12 + m1.e12*m2.e22 + m1.e13*m2.e32, - m1.e11*m2.e13 + m1.e12*m2.e23 + m1.e13*m2.e33, - m1.e21*m2.e11 + m1.e22*m2.e21 + m1.e23*m2.e31, - m1.e21*m2.e12 + m1.e22*m2.e22 + m1.e23*m2.e32, - m1.e21*m2.e13 + m1.e22*m2.e23 + m1.e23*m2.e33, - m1.e31*m2.e11 + m1.e32*m2.e21 + m1.e33*m2.e31, - m1.e31*m2.e12 + m1.e32*m2.e22 + m1.e33*m2.e32, - m1.e31*m2.e13 + m1.e32*m2.e23 + m1.e33*m2.e33); + return Matrix3(m1.e11*m2.e11 + m1.e12*m2.e21 + m1.e13*m2.e31, + m1.e11*m2.e12 + m1.e12*m2.e22 + m1.e13*m2.e32, + m1.e11*m2.e13 + m1.e12*m2.e23 + m1.e13*m2.e33, + m1.e21*m2.e11 + m1.e22*m2.e21 + m1.e23*m2.e31, + m1.e21*m2.e12 + m1.e22*m2.e22 + m1.e23*m2.e32, + m1.e21*m2.e13 + m1.e22*m2.e23 + m1.e23*m2.e33, + m1.e31*m2.e11 + m1.e32*m2.e21 + m1.e33*m2.e31, + m1.e31*m2.e12 + m1.e32*m2.e22 + m1.e33*m2.e32, + m1.e31*m2.e13 + m1.e32*m2.e23 + m1.e33*m2.e33); } //m*s Matrix3 operator *(const Matrix3 &m,const double &s) { - return Matrix3(m.e11*s, m.e12*s, m.e13*s, - m.e21*s, m.e22*s, m.e23*s, - m.e31*s, m.e32*s, m.e33*s); + return Matrix3(m.e11*s, m.e12*s, m.e13*s, + m.e21*s, m.e22*s, m.e23*s, + m.e31*s, m.e32*s, m.e33*s); } //s*m Matrix3 operator *(const double &s, const Matrix3 &m) { - return Matrix3(m.e11*s, m.e12*s, m.e13*s, - m.e21*s, m.e22*s, m.e23*s, - m.e31*s, m.e32*s, m.e33*s); + return Matrix3(m.e11*s, m.e12*s, m.e13*s, + m.e21*s, m.e22*s, m.e23*s, + m.e31*s, m.e32*s, m.e33*s); } // whether m1==m2 bool operator==(const Matrix3 &m1, const Matrix3 &m2) { - if(m1.e11 == m2.e11 && - m1.e12 == m2.e12 && - m1.e13 == m2.e13 && - m1.e21 == m2.e21 && - m1.e22 == m2.e22 && - m1.e23 == m2.e23 && - m1.e31 == m2.e31 && - m1.e32 == m2.e32 && - m1.e33 == m2.e33) - { - return true; - } - return false; + if(m1.e11 == m2.e11 && + m1.e12 == m2.e12 && + m1.e13 == m2.e13 && + m1.e21 == m2.e21 && + m1.e22 == m2.e22 && + m1.e23 == m2.e23 && + m1.e31 == m2.e31 && + m1.e32 == m2.e32 && + m1.e33 == m2.e33) + { + return true; + } + return false; } //whether m1 != m2 @@ -189,21 +192,21 @@ bool operator!=(const Matrix3 &m1, const Matrix3 &m2) } -void Matrix3::print(void)const +void Matrix3::print(void) const { - std::cout << e11 << std::setw(15) << e12 << std::setw(15) << e13 << std::endl ; - std::cout << e21 << std::setw(15) << e22 << std::setw(15) << e23 << std::endl ; - std::cout << e31 << std::setw(15) << e32 << std::setw(15) << e33 << std::endl ; - return; + std::cout << std::setw(15) << e11 << std::setw(15) << e12 << std::setw(15) << e13 << std::endl; + std::cout << std::setw(15) << e21 << std::setw(15) << e22 << std::setw(15) << e23 << std::endl; + std::cout << std::setw(15) << e31 << std::setw(15) << e32 << std::setw(15) << e33 << std::endl; + return; } -ModuleBase::matrix Matrix3::to_matrix(void)const // Peize Lin add 2021.03.09 +ModuleBase::matrix Matrix3::to_matrix(void)const // Peize Lin add 2021.03.09 { - ModuleBase::matrix m(3,3); - m(0,0)=e11; m(0,1)=e12; m(0,2)=e13; - m(1,0)=e21; m(1,1)=e22; m(1,2)=e23; - m(2,0)=e31; m(2,1)=e32; m(2,2)=e33; - return m; + ModuleBase::matrix m(3,3); + m(0,0)=e11; m(0,1)=e12; m(0,2)=e13; + m(1,0)=e21; m(1,1)=e22; m(1,2)=e23; + m(2,0)=e31; m(2,1)=e32; m(2,2)=e33; + return m; } } \ No newline at end of file diff --git a/source/source_base/module_container/ATen/kernels/CMakeLists.txt b/source/source_base/module_container/ATen/kernels/CMakeLists.txt index 92f7a9fccc..9faecec778 100644 --- a/source/source_base/module_container/ATen/kernels/CMakeLists.txt +++ b/source/source_base/module_container/ATen/kernels/CMakeLists.txt @@ -16,4 +16,4 @@ if(BUILD_TESTING) if(ENABLE_MPI) add_subdirectory(test) endif() -endif() \ No newline at end of file +endif() diff --git a/source/source_base/module_container/ATen/kernels/blas.cpp b/source/source_base/module_container/ATen/kernels/blas.cpp index eb192a7c9e..5935ed7c28 100644 --- a/source/source_base/module_container/ATen/kernels/blas.cpp +++ b/source/source_base/module_container/ATen/kernels/blas.cpp @@ -3,6 +3,32 @@ namespace container { namespace kernels { + +template +struct blas_copy { + void operator()( + const int n, + const T *x, + const int incx, + T *y, + const int incy) + { + BlasConnector::copy(n, x, incx, y, incy); + } +}; + +template +struct blas_nrm2 { + using Real = typename GetTypeReal::type; + Real operator()( + const int n, + const T *x, + const int incx) + { + return BlasConnector::nrm2(n, x, incx); + } +}; + template struct blas_dot { void operator()( @@ -175,6 +201,17 @@ struct blas_gemm_batched_strided { }; // Explicitly instantiate functors for the types of functor registered. + +template struct blas_copy; +template struct blas_copy; +template struct blas_copy, DEVICE_CPU>; +template struct blas_copy, DEVICE_CPU>; + +template struct blas_nrm2; +template struct blas_nrm2; +template struct blas_nrm2, DEVICE_CPU>; +template struct blas_nrm2, DEVICE_CPU>; + template struct blas_dot; template struct blas_dot; template struct blas_dot, DEVICE_CPU>; @@ -221,4 +258,4 @@ template struct blas_gemm_batched_strided, DEVICE_CPU>; template struct blas_gemm_batched_strided, DEVICE_CPU>; } // namespace kernels -} // namespace container \ No newline at end of file +} // namespace container diff --git a/source/source_base/module_container/ATen/kernels/blas.h b/source/source_base/module_container/ATen/kernels/blas.h index 201021199c..550caa2f79 100644 --- a/source/source_base/module_container/ATen/kernels/blas.h +++ b/source/source_base/module_container/ATen/kernels/blas.h @@ -9,6 +9,26 @@ namespace container { namespace kernels { +template +struct blas_copy { + // DCOPY copies a vector, x, to a vector, y. + void operator()( + const int n, + const T *x, + const int incx, + T *y, + const int incy); +}; + +template +struct blas_nrm2 { + using Real = typename GetTypeReal::type; + Real operator()( + const int n, + const T *x, + const int incx); +}; + template struct blas_dot { void operator()( @@ -168,4 +188,4 @@ void destroyGpuBlasHandle(); // destory blas handle } // namespace kernels } // namespace container -#endif // ATEN_KERNELS_BLAS_H_ \ No newline at end of file +#endif // ATEN_KERNELS_BLAS_H_ diff --git a/source/source_base/module_container/ATen/kernels/cuda/blas.cu b/source/source_base/module_container/ATen/kernels/cuda/blas.cu index 8d4b5ea227..e8fe5a80bf 100644 --- a/source/source_base/module_container/ATen/kernels/cuda/blas.cu +++ b/source/source_base/module_container/ATen/kernels/cuda/blas.cu @@ -22,6 +22,32 @@ void destroyGpuBlasHandle() { } } +template +struct blas_nrm2 { + using Real = typename GetTypeReal::type; + Real operator()( + const int n, + const T *x, + const int incx) + { + Real result; + cuBlasConnector::nrm2(cublas_handle, n, x, incx, &result); + return result; + } +}; + +template +struct blas_copy { + void operator()( + const int n, + const T * x, + const int incx, + T *y, + const int incy) + { + cuBlasConnector::copy(cublas_handle, n, x, incx, y, incy); + } +}; template struct blas_dot { @@ -76,7 +102,7 @@ struct blas_gemv { const int& incx, const T* beta, T* y, - const int& incy) + const int& incy) { cuBlasConnector::gemv(cublas_handle, trans, m, n, *alpha, A, lda, x, incx, *beta, y, incy); } @@ -196,6 +222,19 @@ struct blas_gemm_batched_strided { }; // Explicitly instantiate functors for the types of functor registered. + + + +template struct blas_copy; +template struct blas_copy; +template struct blas_copy , DEVICE_GPU>; +template struct blas_copy, DEVICE_GPU>; + +template struct blas_nrm2; +template struct blas_nrm2; +template struct blas_nrm2 , DEVICE_GPU>; +template struct blas_nrm2, DEVICE_GPU>; + template struct blas_dot; template struct blas_dot; template struct blas_dot , DEVICE_GPU>; @@ -242,4 +281,4 @@ template struct blas_gemm_batched_strided, DEVICE_GPU>; template struct blas_gemm_batched_strided, DEVICE_GPU>; } // namespace kernels -} // namespace container \ No newline at end of file +} // namespace container diff --git a/source/source_base/module_container/ATen/kernels/cuda/lapack.cu b/source/source_base/module_container/ATen/kernels/cuda/lapack.cu index 54176dae51..28fae1cd6e 100644 --- a/source/source_base/module_container/ATen/kernels/cuda/lapack.cu +++ b/source/source_base/module_container/ATen/kernels/cuda/lapack.cu @@ -6,6 +6,9 @@ #include #include +#include + + namespace container { namespace kernels { @@ -59,6 +62,9 @@ struct set_matrix { } }; + + +// --- 1. Matrix Decomposition --- template struct lapack_trtri { void operator()( @@ -87,36 +93,6 @@ struct lapack_potrf { } }; -template -struct lapack_dnevd { - using Real = typename GetTypeReal::type; - void operator()( - const char& jobz, - const char& uplo, - T* Mat, - const int& dim, - Real* eigen_val) - { - cuSolverConnector::dnevd(cusolver_handle, jobz, uplo, dim, Mat, dim, eigen_val); - } -}; - -template -struct lapack_dngvd { - using Real = typename GetTypeReal::type; - void operator()( - const int& itype, - const char& jobz, - const char& uplo, - T* Mat_A, - T* Mat_B, - const int& dim, - Real* eigen_val) - { - cuSolverConnector::dngvd(cusolver_handle, itype, jobz, uplo, dim, Mat_A, dim, Mat_B, dim, eigen_val); - } -}; - template struct lapack_getrf { void operator()( @@ -144,6 +120,95 @@ struct lapack_getri { } }; + +template +struct lapack_geqrf_inplace { + void operator()( + const int m, + const int n, + T *d_A, + const int lda) + { + const int k = std::min(m, n); + + // Allocate tau on device + T *d_tau; + cudaErrcheck(cudaMalloc(&d_tau, sizeof(T) * k)); + + cuSolverConnector::geqrf(cusolver_handle, m, n, d_A, lda, d_tau); + + cuSolverConnector::orgqr(cusolver_handle, m, n, k, d_A, lda, d_tau); + + cudaErrcheck(cudaFree(d_tau)); + + // // geqrf: workspace query + + // // In practice, we use helper function to get lwork + // // Or use magma for better interface + // // Let's assume we have a way to get lwork + // // For now, do a dummy call to get it + // size_t workspaceInBytes = 0; + // cusolverErrcheck(cusolverDnXgeqrf_bufferSize( + // cusolverH, m, n, + // getCudaDataType::type, d_A, lda, + // getCudaDataType::type, // for tau + // CUDA_R_32F, // numerical precision + // CUSOLVER_WORKSPACE_QUERY_USE_MAX, &workspaceInBytes)); + + // lwork = static_cast(workspaceInBytes / sizeof(T)); + + // // Allocate workspace + // T *d_work; + // cudaErrcheck(cudaMalloc(&d_work, sizeof(T) * lwork)); + + // // 3. Perform geqrf + // cusolverErrcheck(cusolverDnXgeqrf( + // cusolverH, m, n, + // getCudaDataType::type, d_A, lda, + // d_tau, + // getCudaDataType::type, + // d_work, lwork * sizeof(T), + // d_info)); + + // int info; + // cudaErrcheck(cudaMemcpy(&info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + // if (info != 0) { + // throw std::runtime_error("cuSOLVER geqrf failed with info = " + std::to_string(info)); + // } + + // // 4. Generate Q using orgqr + // // Query workspace for orgqr + // cusolverErrcheck(cusolverDnXorgqr_bufferSize( + // cusolverH, m, n, k, + // getCudaDataType::type, d_A, lda, + // getCudaDataType::type, d_tau, + // CUDA_R_32F, + // CUSOLVER_WORKSPACE_QUERY_USE_MAX, &workspaceInBytes)); + + // lwork = static_cast(workspaceInBytes / sizeof(T)); + // cudaErrcheck(cudaRealloc(&d_work, sizeof(T) * lwork)); // or realloc + + // // orgqr: generate Q + // cusolverErrcheck(cusolverDnXorgqr( + // cusolverH, m, n, k, + // getCudaDataType::type, d_A, lda, + // getCudaDataType::type, d_tau, + // d_work, lwork * sizeof(T), + // d_info)); + + // cudaErrcheck(cudaMemcpy(&info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + // if (info != 0) { + // throw std::runtime_error("cuSOLVER orgqr failed with info = " + std::to_string(info)); + // } + + // // Clean up + // cudaErrcheck(cudaFree(d_tau)); + // cudaErrcheck(cudaFree(d_work)); + // cudaErrcheck(cudaFree(d_info)); + } +}; + +// --- 2. Linear System Solvers --- template struct lapack_getrs { void operator()( @@ -160,6 +225,117 @@ struct lapack_getrs { } }; + +// --- 3. Standard & Generalized Eigenvalue --- +template +struct lapack_heevd { + using Real = typename GetTypeReal::type; + void operator()( + const int dim, + T* Mat, + const int lda, + Real* eigen_val) + { + char jobz = 'V'; // Compute eigenvalues and eigenvectors + char uplo = 'U'; + cuSolverConnector::heevd(cusolver_handle, jobz, uplo, dim, Mat, lda, eigen_val); + } +}; + +template +struct lapack_heevx { + using Real = typename GetTypeReal::type; + void operator()( + const int n, + const int lda, + const T *d_Mat, + const int neig, + Real *d_eigen_val, + T *d_eigen_vec) + { + assert(n <= lda); + // copy d_Mat to d_eigen_vec, and results will be overwritten into d_eigen_vec + // by cuSolver + cudaErrcheck(cudaMemcpy(d_eigen_vec, d_Mat, sizeof(T) * n * lda, cudaMemcpyDeviceToDevice)); + + int meig = 0; + + cuSolverConnector::heevdx( + cusolver_handle, + n, + lda, + d_eigen_vec, + 'V', // jobz: compute vectors + 'L', // uplo: lower triangle + 'I', // range: by index + 1, neig, // il, iu + Real(0), Real(0), // vl, vu (unused) + d_eigen_val, + &meig + ); + + } +}; +template +struct lapack_hegvd { + using Real = typename GetTypeReal::type; + void operator()( + const int dim, + const int lda, + T* Mat_A, + T* Mat_B, + Real* eigen_val, + T *eigen_vec) + { + const int itype = 1; + const char jobz = 'V'; + const char uplo = 'U'; + cudaErrcheck(cudaMemcpy(eigen_vec, Mat_A, sizeof(T) * dim * lda, cudaMemcpyDeviceToDevice)); + + // prevent B from being overwritten by Cholesky + T *d_B_backup = nullptr; + cudaErrcheck(cudaMalloc(&d_B_backup, sizeof(T) * dim * lda)); + cudaErrcheck(cudaMemcpy(d_B_backup, Mat_B, sizeof(T) * dim * lda, cudaMemcpyDeviceToDevice)); + + cuSolverConnector::hegvd(cusolver_handle, itype, jobz, uplo, dim, + eigen_vec, lda, + d_B_backup, lda, + eigen_val); + cudaErrcheck(cudaFree(d_B_backup)); + } +}; + +template +struct lapack_hegvx { + using Real = typename GetTypeReal::type; + void operator()( + const int n, + const int lda, + T *A, + T *B, + const int m, + Real *eigen_val, + T *eigen_vec) + { + const int itype = 1; + const char jobz = 'V'; + const char range = 'I'; + const char uplo = 'U'; + int meig = 0; + + // this hegvdx will protect the input A, B from being overwritten + // and write the eigenvectors into eigen_vec. + cuSolverConnector::hegvdx(cusolver_handle, + itype, jobz, range, uplo, + n, lda, A, B, + Real(0), Real(0), + 1, m, &meig, + eigen_val, eigen_vec); + } +}; + + + template struct set_matrix; template struct set_matrix; template struct set_matrix, DEVICE_GPU>; @@ -175,15 +351,32 @@ template struct lapack_potrf; template struct lapack_potrf, DEVICE_GPU>; template struct lapack_potrf, DEVICE_GPU>; -template struct lapack_dnevd; -template struct lapack_dnevd; -template struct lapack_dnevd, DEVICE_GPU>; -template struct lapack_dnevd, DEVICE_GPU>; -template struct lapack_dngvd; -template struct lapack_dngvd; -template struct lapack_dngvd, DEVICE_GPU>; -template struct lapack_dngvd, DEVICE_GPU>; +template struct lapack_getrs; +template struct lapack_getrs; +template struct lapack_getrs, DEVICE_GPU>; +template struct lapack_getrs, DEVICE_GPU>; + + +template struct lapack_heevd; +template struct lapack_heevd; +template struct lapack_heevd, DEVICE_GPU>; +template struct lapack_heevd, DEVICE_GPU>; + +template struct lapack_heevx; +template struct lapack_heevx; +template struct lapack_heevx, DEVICE_GPU>; +template struct lapack_heevx, DEVICE_GPU>; + +template struct lapack_hegvd; +template struct lapack_hegvd; +template struct lapack_hegvd, DEVICE_GPU>; +template struct lapack_hegvd, DEVICE_GPU>; + +template struct lapack_hegvx; +template struct lapack_hegvx; +template struct lapack_hegvx, DEVICE_GPU>; +template struct lapack_hegvx, DEVICE_GPU>; template struct lapack_getrf; template struct lapack_getrf; @@ -195,10 +388,10 @@ template struct lapack_getri; template struct lapack_getri, DEVICE_GPU>; template struct lapack_getri, DEVICE_GPU>; -template struct lapack_getrs; -template struct lapack_getrs; -template struct lapack_getrs, DEVICE_GPU>; -template struct lapack_getrs, DEVICE_GPU>; +template struct lapack_geqrf_inplace; +template struct lapack_geqrf_inplace; +template struct lapack_geqrf_inplace, DEVICE_GPU>; +template struct lapack_geqrf_inplace, DEVICE_GPU>; } // namespace kernels } // namespace container diff --git a/source/source_base/module_container/ATen/kernels/lapack.cpp b/source/source_base/module_container/ATen/kernels/lapack.cpp index 2369306309..2ab02f35c8 100644 --- a/source/source_base/module_container/ATen/kernels/lapack.cpp +++ b/source/source_base/module_container/ATen/kernels/lapack.cpp @@ -1,10 +1,21 @@ +#include "source_base/module_device/types.h" #include #include +#include // std::copy +#include +#include +#include + namespace container { namespace kernels { +inline double get_real(const std::complex &x) { return x.real(); } +inline float get_real(const std::complex &x) { return x.real(); } +inline double get_real(const double &x) { return x; } +inline float get_real(const float &x) { return x; } + template struct set_matrix { void operator() ( @@ -29,6 +40,7 @@ struct set_matrix { } }; +// --- 1. Matrix Decomposition --- template struct lapack_trtri { void operator()( @@ -36,7 +48,7 @@ struct lapack_trtri { const char& diag, const int& dim, T* Mat, - const int& lda) + const int& lda) { int info = 0; lapackConnector::trtri(uplo, diag, dim, Mat, lda, info); @@ -51,8 +63,8 @@ struct lapack_potrf { void operator()( const char& uplo, const int& dim, - T* Mat, - const int& lda) + T* Mat, + const int& lda) { int info = 0; lapackConnector::potrf(uplo, dim, Mat, dim, info); @@ -62,48 +74,135 @@ struct lapack_potrf { } }; + template -struct lapack_dnevd { - using Real = typename GetTypeReal::type; +struct lapack_getrf { void operator()( - const char& jobz, - const char& uplo, + const int& m, + const int& n, T* Mat, - const int& dim, - Real* eigen_val) + const int& lda, + int* ipiv) { int info = 0; - int lwork = std::max(2 * dim + dim * dim, 1 + 6 * dim + 2 * dim * dim); + lapackConnector::getrf(m, n, Mat, lda, ipiv, info); + if (info != 0) { + throw std::runtime_error("getrf failed with info = " + std::to_string(info)); + } + } +}; + +template +struct lapack_getri { + void operator()( + const int& n, + T* Mat, + const int& lda, + const int* ipiv, + T* work, + const int& lwork) + { + int info = 0; + lapackConnector::getri(n, Mat, lda, ipiv, work, lwork, info); + if (info != 0) { + throw std::runtime_error("getri failed with info = " + std::to_string(info)); + } + } +}; + +template +struct lapack_geqrf_inplace { + void operator()( + const int m, + const int n, + T *A, + const int lda) + { + // Tensor or vector? + // 1. tau for storing the Householder reflectors + // tau should be dimension min(m, n) + int k = std::min(m, n); + Tensor tau(DataTypeToEnum::value, DeviceType::CpuDevice, {k}); + tau.zero(); + + int info = 0; + + // 2. query for workspace size + int lwork = -1; + T work_query; + lapackConnector::geqrf(m, n, A, lda, tau.data(), &work_query, lwork, info); + if (info != 0) { + throw std::runtime_error("geqrf workspace query failed with info = " + std::to_string(info)); + } + // allocate workspace + lwork = static_cast(get_real(work_query)); Tensor work(DataTypeToEnum::value, DeviceType::CpuDevice, {lwork}); work.zero(); - int lrwork = 1 + 5 * dim + 2 * dim * dim; - Tensor rwork(DataTypeToEnum::value, DeviceType::CpuDevice, {lrwork}); - rwork.zero(); + // 3. perform QR decomposition + // and A is overwritten with upper R. + // Lower A + tau => Q + lapackConnector::geqrf(m, n, A, lda, tau.data(), work.data(), lwork, info); + if (info != 0) { + throw std::runtime_error("geqrf failed with info = " + std::to_string(info)); + } - int liwork = 3 + 5 * dim; - Tensor iwork(DataTypeToEnum::value, DeviceType::CpuDevice, {liwork}); - iwork.zero(); + // 4. use orgqr to compute Q + // workspace query + lwork = -1; + lapackConnector::orgqr(m, n, k, A, lda, tau.data(), &work_query, lwork, info); + if (info != 0) { + throw std::runtime_error("orgqr workspace query failed with info = " + std::to_string(info)); + } + // allocate workspace + lwork = static_cast(get_real(work_query)); + work.resize({lwork}); - lapackConnector::dnevd(jobz, uplo, dim, Mat, dim, eigen_val, work.data(), lwork, rwork.data(), lrwork, iwork.data(), liwork, info); + // compute Q + lapackConnector::orgqr(m, n, k, A, lda, tau.data(), work.data(), lwork, info); if (info != 0) { - throw std::runtime_error("dnevd failed with info = " + std::to_string(info)); + throw std::runtime_error("orgqr failed with info = " + std::to_string(info)); } + + // now, A should be overwritten with Q, columns orthogonal + } }; +// --- 2. Linear System Solvers --- template -struct lapack_dngvd { +struct lapack_getrs { + void operator()( + const char& trans, + const int& n, + const int& nrhs, + T* A, + const int& lda, + const int* ipiv, + T* B, + const int& ldb) + { + int info = 0; + lapackConnector::getrs(trans, n, nrhs, A, lda, ipiv, B, ldb, info); + if (info != 0) { + throw std::runtime_error("getrs failed with info = " + std::to_string(info)); + } + } +}; + + +// --- 3. Standard & Generalized Eigenvalue --- +template +struct lapack_heevd { using Real = typename GetTypeReal::type; void operator()( - const int& itype, - const char& jobz, - const char& uplo, - T* Mat_A, - T* Mat_B, - const int& dim, + const int dim, + T* Mat, + const int lda, Real* eigen_val) { + char jobz = 'V'; // Compute eigenvalues and eigenvectors + char uplo = 'U'; int info = 0; int lwork = std::max(2 * dim + dim * dim, 1 + 6 * dim + 2 * dim * dim); Tensor work(DataTypeToEnum::value, DeviceType::CpuDevice, {lwork}); @@ -114,71 +213,257 @@ struct lapack_dngvd { rwork.zero(); int liwork = 3 + 5 * dim; - Tensor iwork(DataType::DT_INT, DeviceType::CpuDevice, {liwork}); + Tensor iwork(DataTypeToEnum::value, DeviceType::CpuDevice, {liwork}); iwork.zero(); - lapackConnector::dngvd(itype, jobz, uplo, dim, Mat_A, dim, Mat_B, dim, eigen_val, work.data(), lwork, rwork.data(), lrwork, iwork.data(), liwork, info); + lapackConnector::heevd(jobz, uplo, dim, Mat, lda, eigen_val, work.data(), lwork, rwork.data(), lrwork, iwork.data(), liwork, info); if (info != 0) { - throw std::runtime_error("dngvd failed with info = " + std::to_string(info)); + throw std::runtime_error("heevd failed with info = " + std::to_string(info)); } } }; template -struct lapack_getrf { +struct lapack_heevx { + using Real = typename GetTypeReal::type; void operator()( - const int& m, - const int& n, - T* Mat, - const int& lda, - int* ipiv) + const int n, + const int lda, + const T *Mat, + const int neig, + Real *eigen_val, + T *eigen_vec) { + // copy Mat to aux, solve heevx(aux, eigen_val, eigen_vec) + // input Mat is not referenced in actual heevx LAPACK routines, and aux is destroyed. + Tensor aux(DataTypeToEnum::value, DeviceType::CpuDevice, {n * lda}); + // Copy Mat to aux since heevx will destroy it + // aux = Mat + std::copy(Mat, Mat + n * lda, aux.data()); + + char jobz = 'V'; // Compute eigenvalues and eigenvectors + char range = 'I'; // Find eigenvalues in index range [il, iu] + char uplo = 'L'; // Use Lower triangle int info = 0; - lapackConnector::getrf(m, n, Mat, lda, ipiv, info); + int found = 0; // Number of eigenvalues found + // found should be iu - il + 1, i.e. found = neig + const int il = 1; + const int iu = neig; + Real abstol = 0.0; + + // Workspace query first + int lwork = -1; + T work_query; + Real rwork_query; + int iwork_query; + int ifail_query; + + // Dummy call to get optimal workspace size + // when lwork = -1 + lapackConnector::heevx( + jobz, range, uplo, n, + aux.data(), lda, + 0.0, 0.0, il, iu, // vl, vu not used when range='I' + abstol, + found, + eigen_val, + eigen_vec, lda, + &work_query, lwork, + &rwork_query, + &iwork_query, + &ifail_query, + info); + if (info != 0) { - throw std::runtime_error("getrf failed with info = " + std::to_string(info)); + throw std::runtime_error("heevx workspace query failed with info = " + std::to_string(info)); } + + lwork = static_cast(get_real(work_query)); + + // Allocate buffers using Tensor (RAII) + Tensor work(DataTypeToEnum::value, DeviceType::CpuDevice, {lwork}); + work.zero(); + + Tensor rwork(DataTypeToEnum::value, DeviceType::CpuDevice, {7 * n}); + rwork.zero(); + + Tensor iwork(DataType::DT_INT, DeviceType::CpuDevice, {5 * n}); + iwork.zero(); + + Tensor ifail(DataType::DT_INT, DeviceType::CpuDevice, {n}); + ifail.zero(); + + // Actual call to heevx + lapackConnector::heevx( + jobz, range, uplo, n, + aux.data(), lda, + 0.0, 0.0, il, iu, + abstol, + found, + eigen_val, + eigen_vec, lda, + work.data(), lwork, + rwork.data(), + iwork.data(), + ifail.data(), + info); + + if (info != 0) { + throw std::runtime_error("heevx failed with info = " + std::to_string(info)); + } + } }; template -struct lapack_getri { +struct lapack_hegvd { + using Real = typename GetTypeReal::type; void operator()( - const int& n, - T* Mat, - const int& lda, - const int* ipiv, - T* work, - const int& lwork) + const int dim, + const int lda, + T *Mat_A, + T *Mat_B, + Real *eigen_val, + T *eigen_vec) { + // first copy Mat_A to eigen_vec + // then pass as argument "A" in lapack hegvd + // and this block of memory will be overwritten by eigenvectors + // eigen_vec = Mat_A + std::copy(Mat_A, Mat_A + dim*lda, eigen_vec); + + Tensor aux_B(DataTypeToEnum::value, DeviceType::CpuDevice, {dim * lda}); + std::copy(Mat_B, Mat_B + dim * lda, aux_B.data()); + + const int itype = 1; + const char jobz = 'V'; + const char uplo = 'L'; int info = 0; - lapackConnector::getri(n, Mat, lda, ipiv, work, lwork, info); + int lwork = std::max(2 * dim + dim * dim, 1 + 6 * dim + 2 * dim * dim); + Tensor work(DataTypeToEnum::value, DeviceType::CpuDevice, {lwork}); + work.zero(); + + int lrwork = 1 + 5 * dim + 2 * dim * dim; + Tensor rwork(DataTypeToEnum::value, DeviceType::CpuDevice, {lrwork}); + rwork.zero(); + + int liwork = 3 + 5 * dim; + Tensor iwork(DataType::DT_INT, DeviceType::CpuDevice, {liwork}); + iwork.zero(); + + // After this, eigen_vec will contain the matrix Z of eigenvectors + lapackConnector::hegvd(itype, jobz, uplo, dim, eigen_vec, lda, aux_B.data(), lda, eigen_val, work.data(), lwork, rwork.data(), lrwork, iwork.data(), liwork, info); if (info != 0) { - throw std::runtime_error("getri failed with info = " + std::to_string(info)); + throw std::runtime_error("hegvd failed with info = " + std::to_string(info)); } } }; + template -struct lapack_getrs { +struct lapack_hegvx { + using Real = typename GetTypeReal::type; void operator()( - const char& trans, - const int& n, - const int& nrhs, - T* A, - const int& lda, - const int* ipiv, - T* B, - const int& ldb) + const int n, + const int lda, + T *Mat_A, + T *Mat_B, + const int m, + Real *eigen_val, + T *eigen_vec) { + // first copy Mat_A and Mat_B to auxiliary memory + // to avoid the origin block being overwritten by hegvx + Tensor aux_A(DataTypeToEnum::value, DeviceType::CpuDevice, {n * lda}); + std::copy(Mat_A, Mat_A + n * lda, aux_A.data()); + Tensor aux_B(DataTypeToEnum::value, DeviceType::CpuDevice, {n * lda}); + std::copy(Mat_B, Mat_B + n * lda, aux_B.data()); + + const int itype = 1; // ITYPE = 1: A*x = (lambda)*B*x + const char jobz = 'V';// JOBZ = 'V': Compute eigenvalues and eigenvectors. + const char range = 'I'; // RANGE = 'I': the IL-th through IU-th eigenvalues will be found. + const char uplo = 'L'; // UPLO = 'L': Lower triangles of A and B are stored. + + const int il = 1; + const int iu = m; + int found = m; // Found, should be iu - il + 1 int info = 0; - lapackConnector::getrs(trans, n, nrhs, A, lda, ipiv, B, ldb, info); - if (info != 0) { - throw std::runtime_error("getrs failed with info = " + std::to_string(info)); + + int lwork = -1; + + T work_query; + Real rwork_query; + + // set lwork = -1 to query optimal work size + lapackConnector::hegvx( + itype, jobz, range, uplo, + n, + aux_A.data(), lda, // A (in/out) + aux_B.data(), lda, // B (in/out) + 0.0, 0.0, // VL, VU (not used) + il, iu, // IL, IU + Real(0.0), // ABSTOL + found, // M (output) + eigen_val, // W (output) + eigen_vec, lda, // Z (output) + &work_query, // WORK (query) + lwork, + &rwork_query, // RWORK (query) + static_cast(nullptr), // IWORK (query) + static_cast(nullptr), // IFAIL (query) + info); + + // !> If LWORK = -1, then a workspace query is assumed; the routine + // !> only calculates the optimal size of the WORK array, returns + // !> this value as the first entry of the WORK array. + lwork = static_cast(get_real(work_query)); + lwork = std::max(lwork, 1); + + // work space + Tensor work(DataTypeToEnum::value, DeviceType::CpuDevice, {lwork}); + work.zero(); + + const int lrwork = 7 * n; + Tensor rwork(DataTypeToEnum::value, DeviceType::CpuDevice, {lrwork}); + rwork.zero(); + + const int liwork = 5 * n; + Tensor iwork(DataType::DT_INT, DeviceType::CpuDevice, {liwork}); + iwork.zero(); + + std::vector ifail(n); + + lapackConnector::hegvx( + itype, jobz, range, uplo, + n, + aux_A.data(), lda, // A + aux_B.data(), lda, // B + 0.0, 0.0, // VL, VU + il, iu, // IL, IU + Real(0.0), // ABSTOL + found, // M (output) + eigen_val, // W + eigen_vec, lda, // Z (output) + work.data(), // WORK + lwork, + rwork.data(), // RWORK + iwork.data(), // IWORK + ifail.data(), // IFAIL + info); + + if (info < 0) { + throw std::runtime_error("hegvx failed: illegal argument #" + std::to_string(-info)); + } + if (info > 0) { + throw std::runtime_error("hegvx failed to converge. Number of converged eigenvalues: " + std::to_string(info)); } } }; + + + + template struct set_matrix; template struct set_matrix; template struct set_matrix, DEVICE_CPU>; @@ -194,15 +479,6 @@ template struct lapack_trtri; template struct lapack_trtri, DEVICE_CPU>; template struct lapack_trtri, DEVICE_CPU>; -template struct lapack_dnevd; -template struct lapack_dnevd; -template struct lapack_dnevd, DEVICE_CPU>; -template struct lapack_dnevd, DEVICE_CPU>; - -template struct lapack_dngvd; -template struct lapack_dngvd; -template struct lapack_dngvd, DEVICE_CPU>; -template struct lapack_dngvd, DEVICE_CPU>; template struct lapack_getrf; template struct lapack_getrf; @@ -214,10 +490,36 @@ template struct lapack_getri; template struct lapack_getri, DEVICE_CPU>; template struct lapack_getri, DEVICE_CPU>; + template struct lapack_getrs; template struct lapack_getrs; template struct lapack_getrs, DEVICE_CPU>; template struct lapack_getrs, DEVICE_CPU>; +template struct lapack_geqrf_inplace; +template struct lapack_geqrf_inplace; +template struct lapack_geqrf_inplace, DEVICE_CPU>; +template struct lapack_geqrf_inplace, DEVICE_CPU>; + +template struct lapack_heevd; +template struct lapack_heevd; +template struct lapack_heevd, DEVICE_CPU>; +template struct lapack_heevd, DEVICE_CPU>; + +template struct lapack_heevx; +template struct lapack_heevx; +template struct lapack_heevx, DEVICE_CPU>; +template struct lapack_heevx, DEVICE_CPU>; + +template struct lapack_hegvd; +template struct lapack_hegvd; +template struct lapack_hegvd, DEVICE_CPU>; +template struct lapack_hegvd, DEVICE_CPU>; + +template struct lapack_hegvx; +template struct lapack_hegvx; +template struct lapack_hegvx, DEVICE_CPU>; +template struct lapack_hegvx, DEVICE_CPU>; + } // namespace kernels -} // namespace container \ No newline at end of file +} // namespace container diff --git a/source/source_base/module_container/ATen/kernels/lapack.h b/source/source_base/module_container/ATen/kernels/lapack.h index cf164dec10..117f8ef24b 100644 --- a/source/source_base/module_container/ATen/kernels/lapack.h +++ b/source/source_base/module_container/ATen/kernels/lapack.h @@ -1,6 +1,7 @@ #ifndef ATEN_KERNELS_LAPACK_H_ #define ATEN_KERNELS_LAPACK_H_ +#include "source_base/macros.h" #include #include @@ -19,6 +20,7 @@ struct set_matrix { }; +// --- 1. Matrix Decomposition --- template struct lapack_trtri { void operator()( @@ -35,37 +37,10 @@ struct lapack_potrf { void operator()( const char& uplo, const int& dim, - T* Mat, - const int& lda); -}; - - -template -struct lapack_dnevd { - using Real = typename GetTypeReal::type; - void operator()( - const char& jobz, - const char& uplo, T* Mat, - const int& dim, - Real* eigen_val); -}; - - -template -struct lapack_dngvd { - using Real = typename GetTypeReal::type; - void operator()( - const int& itype, - const char& jobz, - const char& uplo, - T* Mat_A, - T* Mat_B, - const int& dim, - Real* eigen_val); + const int& lda); }; - template struct lapack_getrf { void operator()( @@ -88,6 +63,57 @@ struct lapack_getri { const int& lwork); }; +// This is QR factorization in-place +// that will change input Mat A to orthogonal/unitary matrix Q +template +struct lapack_geqrf_inplace { + /** + * @brief Perform in-place QR factorization of a matrix using LAPACK's geqrf function. + * + * This function computes the QR factorization of an m-by-n matrix A as A = Q * R, + * where Q is an orthogonal/unitary matrix and R is an upper triangular matrix. + * The factorization is performed in-place, meaning the input matrix A will be modified. + * + * On exit: A is overwritten with the QR factorization Q orthogonal/unitary matrix + * + * @param m The number of rows in the matrix A. m >= 0 + * @param n The number of columns in the matrix A. n >= 0 + * @param A Pointer to the matrix A to be factorized. On exit, contains the QR factorization + * @param lda The leading dimension of the matrix A. lda >= max(1, m) + */ + void operator()( + const int m, + const int n, + T *A, + const int lda); +}; + +// This is QR factorization +// where [in]Mat will be kept and the results are stored in separate matrix Q +// template +// struct lapack_geqrf{ +// /** +// * Perform QR factorization of a matrix using LAPACK's geqrf function. +// * +// * @param m The number of rows in the matrix. +// * @param n The number of columns in the matrix. +// * @param Mat The matrix to be factorized. +// * On exit, the upper triangle contains the upper triangular matrix R, +// * and the elements below the diagonal, with the array TAU, represent +// * the unitary matrix Q as a product of min(m,n) elementary reflectors. +// * @param lda The leading dimension of the matrix. +// * @param tau Array of size min(m,n) containing the Householder reflectors. +// */ +// void operator()( +// const int m, +// const int n, +// T *Mat, +// const int lda, +// T *tau); +// }; + + +// --- 2. Linear System Solvers --- template struct lapack_getrs { void operator()( @@ -101,6 +127,170 @@ struct lapack_getrs { const int& ldb); }; + + +// --- 3. Standard & Generalized Eigenvalue --- + +// ============================================================================ +// Standard Hermitian Eigenvalue Problem Solvers +// ============================================================================ +// The following structures (lapack_heevd and lapack_heevx) implement solvers +// for standard Hermitian eigenvalue problems of the form: +// A * x = lambda * x +// where: +// - A is a Hermitian matrix +// - lambda are the eigenvalues to be computed +// - x are the corresponding eigenvectors +// +// ============================================================================ +template +struct lapack_heevd { + // !> ZHEEVD computes all eigenvalues and, optionally, eigenvectors of a + // !> complex Hermitian matrix A. If eigenvectors are desired, it uses a + // !> divide and conquer algorithm. + // !> On exit, if JOBZ = 'V', then if INFO = 0, A contains the + // !> orthonormal eigenvectors of the matrix A. + /** + * @brief Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix. + * + * This function solves the standard Hermitian eigenvalue problem A*x = lambda*x, + * where A is a Hermitian matrix. It computes all eigenvalues and optionally + * the corresponding eigenvectors using a divide and conquer algorithm. + * + * @param[in] dim The order of the matrix A. dim >= 0. + * @param[in,out] Mat On entry, the Hermitian matrix A. + * On exit, if eigenvectors are computed, A contains the + * orthonormal eigenvectors of the matrix A. + * @param[in] lda The leading dimension of the array Mat. lda >= max(1, dim). + * @param[out] eigen_val Array of size at least dim. On normal exit, contains the + * eigenvalues in ascending order. + * + * @note + * See LAPACK ZHEEVD or CHEEVD documentation for more details. + * The matrix is assumed to be stored in upper or lower triangular form + * according to the uplo parameter (not shown here but typically passed + * to the actual implementation). + */ + using Real = typename GetTypeReal::type; + void operator()( + const int dim, + T* Mat, + const int lda, + Real* eigen_val); +}; + +template +struct lapack_heevx { + using Real = typename GetTypeReal::type; + /** + * @brief Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix. + * + * This function solves the problem A*x = lambda*x, where A is a Hermitian matrix. + * It computes a subset of eigenvalues and, optionally, the corresponding eigenvectors. + * + * @param dim The order of the matrix A. dim >= 0. + * @param lda The leading dimension of the array Mat. lda >= max(1, dim). + * @param[in] Mat On entry, the Hermitian matrix A. On exit, A is kept. + * Only used to provide values of matrix. + * @param neig The number of eigenvalues to be found. 0 <= neig <= dim. + * @param eigen_val On normal exit, the first \p neig elements contain the selected + * eigenvalues in ascending order. + * @param eigen_vec If eigen_vec is not nullptr, then on exit it contains the + * orthonormal eigenvectors of the matrix A. The eigenvectors are stored in + * the columns of eigen_vec, in the same order as the eigenvalues. + * + * @note + * See LAPACK ZHEEVX or CHEEVX documentation for more details. + * This routine allocates auxiliary memory inside to prevent input matrix from being destroyed. + */ + void operator()( + const int dim, + const int lda, + const T *Mat, + const int neig, + Real *eigen_val, + T *eigen_vec); +}; + + +// ============================================================================ +// Generalized Hermitian-definite Eigenvalue Problem Solvers +// ============================================================================ +// The following structures (lapack_hegvd and lapack_hegvx) implement solvers +// for generalized Hermitian-definite eigenvalue problems of the form: +// A * x = lambda * B * x +// where: +// - A is a Hermitian matrix +// - B is a Hermitian positive definite matrix +// - lambda are the eigenvalues to be computed +// - x are the corresponding eigenvectors +// +// ============================================================================ + +template +struct lapack_hegvd { + using Real = typename GetTypeReal::type; + /** + * @brief Computes all the eigenvalues and, optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem. + * + * This function solves the problem A*x = lambda*B*x, where A and B are Hermitian matrices, and B is also positive definite. + * + * @param n The order of the matrices Mat_A and Mat_B. n >= 0. + * @param lda The leading dimension of the arrays Mat_A and Mat_B. lda >= max(1, n). + * @param Mat_A On entry, the Hermitian matrix A. On exit, it may be overwritten. + * @param Mat_B On entry, the Hermitian positive definite matrix B. On exit, it may be overwritten. + * @param eigen_val Array to store the computed eigenvalues in ascending order. + * @param eigen_vec If not nullptr, array to store the computed eigenvectors. + * + * @note + * See LAPACK ZHEGVD or CHEGVD documentation for more details. + * This function assumes that A and B have the same leading dimensions, lda. + * This function copies B to auxiliary memory to avoid being overwritten. + */ + void operator()( + const int n, + const int lda, + T *Mat_A, + T *Mat_B, + Real *eigen_val, + T *eigen_vec); +}; + +template +struct lapack_hegvx { + using Real = typename GetTypeReal::type; + /** + * @ brief hegvx computes the first m eigenvalues and their corresponding eigenvectors of + * a complex generalized Hermitian-definite eigenproblem. + * + * In this op, the CPU version is implemented through the `hegvx` interface, and the CUDA version + * is implemented through the `evd` interface and acquires the first m eigenpairs + * + * hegvx 'V' 'I' 'U' is used to compute the first m eigenpairs of the problem + * + * @param n The order of the matrices A and B. n >= 0. + * @param lda The leading dimension of the array A and B. lda >= max(1, n). + * @param A On entry, the Hermitian matrix A. On exit, if info = 0, A contains the matrix Z of eigenvectors. + * @param B On entry, the Hermitian positive definite matrix B. On exit, the triangular factor from the Cholesky factorization of B. + * @param m The number of eigenvalues and eigenvectors to be found. 0 < m <= n. + * @param eigen_val The first m eigenvalues in ascending order. + * @param eigen_vec The first m columns contain the orthonormal eigenvectors of the matrix A corresponding to the selected eigenvalues. + * + * @note + * See LAPACK ZHEGVX doc for more details. + * This routine allocates auxiliary memory inside to prevent input matrix from being destroyed. + */ + void operator()( + const int n, + const int lda, + T *Mat_A, + T *Mat_B, + const int m, + Real *eigen_val, + T *eigen_vec); +}; + + #if defined(__CUDA) || defined(__ROCM) // TODO: Use C++ singleton to manage the GPU handles void createGpuSolverHandle(); // create cusolver handle @@ -110,4 +300,4 @@ void destroyGpuSolverHandle(); // destroy cusolver handle } // namespace container } // namespace kernels -#endif // ATEN_KERNELS_LAPACK_H_ \ No newline at end of file +#endif // ATEN_KERNELS_LAPACK_H_ diff --git a/source/source_base/module_container/ATen/kernels/rocm/blas.hip.cu b/source/source_base/module_container/ATen/kernels/rocm/blas.hip.cu index 5ad275460c..9fa7f63f08 100644 --- a/source/source_base/module_container/ATen/kernels/rocm/blas.hip.cu +++ b/source/source_base/module_container/ATen/kernels/rocm/blas.hip.cu @@ -23,6 +23,19 @@ void destroyGpuBlasHandle() { } +template +struct blas_nrm2 { + T operator()( + const int n, + const T *x, + const int incx) + { + T result; + hipBlasConnector::nrm2(hipblas_handle, n, x, incx, &result); + return result; + } +}; + template struct blas_dot { void operator()( @@ -196,6 +209,11 @@ struct blas_gemm_batched_strided { }; // Explicitly instantiate functors for the types of functor registered. +template struct blas_nrm2; +template struct blas_nrm2; +template struct blas_nrm2 , DEVICE_GPU>; +template struct blas_nrm2, DEVICE_GPU>; + template struct blas_dot; template struct blas_dot; template struct blas_dot , DEVICE_GPU>; diff --git a/source/source_base/module_container/ATen/kernels/rocm/lapack.hip.cu b/source/source_base/module_container/ATen/kernels/rocm/lapack.hip.cu index cc0a77cb4c..07572a657a 100644 --- a/source/source_base/module_container/ATen/kernels/rocm/lapack.hip.cu +++ b/source/source_base/module_container/ATen/kernels/rocm/lapack.hip.cu @@ -28,8 +28,8 @@ void destroyGpuSolverHandle() { template __global__ void set_matrix_kernel( const char uplo, - T* A, - const int dim) + T* A, + const int dim) { int bid = blockIdx.x; int tid = threadIdx.x; @@ -64,7 +64,7 @@ struct lapack_trtri { const char& diag, const int& dim, T* Mat, - const int& lda) + const int& lda) { // TODO: trtri is not implemented in this method yet // Cause the trtri in cuSolver is not stable for ABACUS! @@ -82,8 +82,8 @@ struct lapack_potrf { void operator()( const char& uplo, const int& dim, - T* Mat, - const int& lda) + T* Mat, + const int& lda) { // hipSolverConnector::potrf(hipsolver_handle, uplo, dim, Mat, dim); std::vector H_Mat(dim * dim, static_cast(0.0)); @@ -94,7 +94,7 @@ struct lapack_potrf { }; template -struct lapack_dnevd { +struct lapack_heevd { using Real = typename GetTypeReal::type; void operator()( const char& jobz, @@ -103,30 +103,33 @@ struct lapack_dnevd { const int& dim, Real* eigen_val) { - // hipSolverConnector::dnevd(hipsolver_handle, jobz, uplo, dim, Mat, dim, eigen_val); + // hipSolverConnector::heevd(hipsolver_handle, jobz, uplo, dim, Mat, dim, eigen_val); std::vector H_Mat(dim * dim, static_cast(0.0)); std::vector H_eigen_val(dim, static_cast(0.0)); hipMemcpy(H_Mat.data(), Mat, sizeof(T) * H_Mat.size(), hipMemcpyDeviceToHost); hipMemcpy(H_eigen_val.data(), eigen_val, sizeof(Real) * H_eigen_val.size(), hipMemcpyDeviceToHost); - lapack_dnevd()(jobz, uplo, H_Mat.data(), dim, H_eigen_val.data()); + lapack_heevd()(jobz, uplo, H_Mat.data(), dim, H_eigen_val.data()); hipMemcpy(Mat, H_Mat.data(), sizeof(T) * H_Mat.size(), hipMemcpyHostToDevice); hipMemcpy(eigen_val, H_eigen_val.data(), sizeof(Real) * H_eigen_val.size(), hipMemcpyHostToDevice); } }; template -struct lapack_dngvd { +struct lapack_hegvd { using Real = typename GetTypeReal::type; void operator()( - const int& itype, - const char& jobz, - const char& uplo, + const int dim, + const int lda, T* Mat_A, T* Mat_B, - const int& dim, - Real* eigen_val) + Real* eigen_val, + T *eigen_vec) { - hipSolverConnector::dngvd(hipsolver_handle, itype, jobz, uplo, dim, Mat_A, dim, Mat_B, dim, eigen_val); + const int itype = 1; + const char jobz = 'V'; + const char uplo = 'U'; + hipErrcheck(hipMemcpy(eigen_vec, Mat_A, sizeof(T) * dim * lda, hipMemcpyDeviceToDevice)); + hipSolverConnector::hegvd(hipsolver_handle, itype, jobz, uplo, dim, Mat_A, lda, Mat_B, lda, eigen_val); } }; @@ -145,15 +148,15 @@ template struct lapack_potrf; template struct lapack_potrf, DEVICE_GPU>; template struct lapack_potrf, DEVICE_GPU>; -template struct lapack_dnevd; -template struct lapack_dnevd; -template struct lapack_dnevd, DEVICE_GPU>; -template struct lapack_dnevd, DEVICE_GPU>; +template struct lapack_heevd; +template struct lapack_heevd; +template struct lapack_heevd, DEVICE_GPU>; +template struct lapack_heevd, DEVICE_GPU>; -template struct lapack_dngvd; -template struct lapack_dngvd; -template struct lapack_dngvd, DEVICE_GPU>; -template struct lapack_dngvd, DEVICE_GPU>; +template struct lapack_hegvd; +template struct lapack_hegvd; +template struct lapack_hegvd, DEVICE_GPU>; +template struct lapack_hegvd, DEVICE_GPU>; } // namespace kernels -} // namespace container \ No newline at end of file +} // namespace container diff --git a/source/source_base/module_container/ATen/kernels/test/CMakeLists.txt b/source/source_base/module_container/ATen/kernels/test/CMakeLists.txt index 2e07d84e6a..0ca3d97c26 100644 --- a/source/source_base/module_container/ATen/kernels/test/CMakeLists.txt +++ b/source/source_base/module_container/ATen/kernels/test/CMakeLists.txt @@ -1,8 +1,8 @@ AddTest( - TARGET container_kernels_uts + TARGET MODULE_BASE_container_kernels_uts LIBS parameter ${math_libs} SOURCES blas_test.cpp lapack_test.cpp memory_test.cpp linalg_test.cpp ) -target_link_libraries(container_kernels_uts container base device) \ No newline at end of file +target_link_libraries(MODULE_BASE_container_kernels_uts container base device) diff --git a/source/source_base/module_container/ATen/kernels/test/blas_test.cpp b/source/source_base/module_container/ATen/kernels/test/blas_test.cpp index a01ef8beb9..d0c53422d4 100644 --- a/source/source_base/module_container/ATen/kernels/test/blas_test.cpp +++ b/source/source_base/module_container/ATen/kernels/test/blas_test.cpp @@ -20,6 +20,39 @@ class BlasTest : public testing::Test { TYPED_TEST_SUITE(BlasTest, base::utils::Types); +TYPED_TEST(BlasTest, Copy) { + using Type = typename std::tuple_element<0, decltype(TypeParam())>::type; + using Device = typename std::tuple_element<1, decltype(TypeParam())>::type; + + blas_copy copyCalculator; + + const int n = 3; + const Tensor x = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0)}).to_device()); + Tensor y = std::move(Tensor({static_cast(0.0), static_cast(0.0), static_cast(0.0)}).to_device()); + + copyCalculator(n, x.data(), 1, y.data(), 1); + const Tensor expected = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0)}).to_device()); + + EXPECT_EQ(y, expected); +} + +TYPED_TEST(BlasTest, Nrm2) { + using Type = typename std::tuple_element<0, decltype(TypeParam())>::type; + using Device = typename std::tuple_element<1, decltype(TypeParam())>::type; + + blas_nrm2 nrm2Calculator; + + const int n = 3; + const Tensor x = std::move(Tensor({static_cast(3.0), static_cast(4.0), static_cast(0.0)}).to_device()); + + using Real = typename GetTypeReal::type; + Real result = {}; + result = nrm2Calculator(n, x.data(), 1); + const Real expected = static_cast(5.0); + + EXPECT_NEAR(result, expected, static_cast(1e-6)); +} + TYPED_TEST(BlasTest, Dot) { using Type = typename std::tuple_element<0, decltype(TypeParam())>::type; using Device = typename std::tuple_element<1, decltype(TypeParam())>::type; @@ -29,7 +62,7 @@ TYPED_TEST(BlasTest, Dot) { const int n = 3; const Tensor x = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0)}).to_device()); const Tensor y = std::move(Tensor({static_cast(4.0), static_cast(5.0), static_cast(6.0)}).to_device()); - + Type result = {}; dotCalculator(n, x.data(), 1, y.data(), 1, &result); const Type expected = static_cast(32.0); @@ -46,7 +79,7 @@ TYPED_TEST(BlasTest, Scal) { const int n = 3; const Type alpha = static_cast(2.0); Tensor x = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0)}).to_device()); - + scalCalculator(n, &alpha, x.data(), 1); const Tensor expected = std::move(Tensor({static_cast(2.0), static_cast(4.0), static_cast(6.0)}).to_device()); @@ -64,7 +97,7 @@ TYPED_TEST(BlasTest, Axpy) { const Type alpha = static_cast(2.0); const Tensor x = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0)}).to_device()); Tensor y = std::move(Tensor({static_cast(4.0), static_cast(5.0), static_cast(6.0)}).to_device()); - + axpyCalculator(n, &alpha, x.data(), 1, y.data(), 1); const Tensor expected = std::move(Tensor({static_cast(6.0), static_cast(9.0), static_cast(12.0)}).to_device()); @@ -83,11 +116,11 @@ TYPED_TEST(BlasTest, Gemv) { const int n = 2; const Type alpha = static_cast(2.0); const Type beta = static_cast(3.0); - const Tensor A = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0), + const Tensor A = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0), static_cast(4.0), static_cast(5.0), static_cast(6.0)}).to_device()); const Tensor x = std::move(Tensor({static_cast(1.0), static_cast(2.0)}).to_device()); Tensor y = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0)}).to_device()); - + gemvCalculator(trans, m, n, &alpha, A.data(), m, x.data(), 1, &beta, y.data(), 1); const Tensor expected = std::move(Tensor({static_cast(21.0), static_cast(30.0), static_cast(39.0)}).to_device()); @@ -114,14 +147,14 @@ TYPED_TEST(BlasTest, GemvBatched) { std::vector y = {}; const Tensor _A = std::move(Tensor({ - static_cast(1.0), static_cast(2.0), - static_cast(3.0), static_cast(4.0), + static_cast(1.0), static_cast(2.0), + static_cast(3.0), static_cast(4.0), static_cast(5.0), static_cast(6.0), - + static_cast(7.0), static_cast(8.0), static_cast(9.0), static_cast(10.0), static_cast(11.0),static_cast(12.0)}).to_device()); - + A.push_back(_A.data()); A.push_back(_A.data() + m * n); @@ -164,14 +197,14 @@ TYPED_TEST(BlasTest, GemvBatchedStrided) { std::vector y = {}; const Tensor _A = std::move(Tensor({ - static_cast(1.0), static_cast(2.0), - static_cast(3.0), static_cast(4.0), + static_cast(1.0), static_cast(2.0), + static_cast(3.0), static_cast(4.0), static_cast(5.0), static_cast(6.0), - + static_cast(7.0), static_cast(8.0), static_cast(9.0), static_cast(10.0), static_cast(11.0),static_cast(12.0)}).to_device()); - + A.push_back(_A.data()); A.push_back(_A.data() + m * n); @@ -205,11 +238,11 @@ TYPED_TEST(BlasTest, Gemm) { const int n = 2; const Type alpha = static_cast(2.0); const Type beta = static_cast(3.0); - const Tensor A = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0), + const Tensor A = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0), static_cast(4.0), static_cast(5.0), static_cast(6.0)}).to_device()); const Tensor x = std::move(Tensor({static_cast(1.0), static_cast(2.0)}).to_device()); Tensor y = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0)}).to_device()); - + gemmCalculator(trans, trans, m, 1, n, &alpha, A.data(), m, x.data(), n, &beta, y.data(), m); const Tensor expected = std::move(Tensor({static_cast(21.0), static_cast(30.0), static_cast(39.0)}).to_device()); @@ -237,14 +270,14 @@ TYPED_TEST(BlasTest, GemmBatched) { std::vector y2 = {}; const Tensor _A = std::move(Tensor({ - static_cast(1.0), static_cast(2.0), - static_cast(3.0), static_cast(4.0), + static_cast(1.0), static_cast(2.0), + static_cast(3.0), static_cast(4.0), static_cast(5.0), static_cast(6.0), - + static_cast(7.0), static_cast(8.0), static_cast(9.0), static_cast(10.0), static_cast(11.0),static_cast(12.0)}).to_device()); - + A.push_back(_A.data()); A.push_back(_A.data() + m * n); @@ -287,14 +320,14 @@ TYPED_TEST(BlasTest, GemmBatchedStrided) { std::vector y2 = {}; const Tensor _A = std::move(Tensor({ - static_cast(1.0), static_cast(2.0), - static_cast(3.0), static_cast(4.0), + static_cast(1.0), static_cast(2.0), + static_cast(3.0), static_cast(4.0), static_cast(5.0), static_cast(6.0), - + static_cast(7.0), static_cast(8.0), static_cast(9.0), static_cast(10.0), static_cast(11.0),static_cast(12.0)}).to_device()); - + A.push_back(_A.data()); A.push_back(_A.data() + m * n); diff --git a/source/source_base/module_container/ATen/kernels/test/lapack_test.cpp b/source/source_base/module_container/ATen/kernels/test/lapack_test.cpp index f9998c018c..5524ca6c50 100644 --- a/source/source_base/module_container/ATen/kernels/test/lapack_test.cpp +++ b/source/source_base/module_container/ATen/kernels/test/lapack_test.cpp @@ -33,14 +33,14 @@ TYPED_TEST(LapackTest, Trtri) { Tensor A = std::move(Tensor({static_cast(1.0), static_cast(2.0), static_cast(3.0), static_cast(0.0), static_cast(4.0), static_cast(5.0), static_cast(0.0), static_cast(0.0), static_cast(6.0)}).to_device()); - + Tensor I = std::move(Tensor({static_cast(1.0), static_cast(0.0), static_cast(0.0), static_cast(0.0), static_cast(1.0), static_cast(0.0), static_cast(0.0), static_cast(0.0), static_cast(1.0)}).to_device()); Tensor B = A; Tensor C = B; C.zero(); - + const char trans = 'N'; const int m = 3; const int n = 3; @@ -51,7 +51,7 @@ TYPED_TEST(LapackTest, Trtri) { // For this reason, we should employ 'L' instead of 'U' in the subsequent line. trtriCalculator('L', 'N', dim, B.data(), dim); gemmCalculator(trans, trans, m, n, k, &alpha, B.data(), k, A.data(), n, &beta, C.data(), n); - + EXPECT_EQ(C, I); } @@ -69,11 +69,11 @@ TYPED_TEST(LapackTest, Potrf) { Tensor A = std::move(Tensor({static_cast(4.0), static_cast(1.0), static_cast(2.0), static_cast(1.0), static_cast(5.0), static_cast(3.0), static_cast(2.0), static_cast(3.0), static_cast(6.0)}).to_device()); - + Tensor B = A; Tensor C = B; C.zero(); - + const char transa = 'N'; const char transb = 'C'; const int m = 3; @@ -92,27 +92,107 @@ TYPED_TEST(LapackTest, Potrf) { EXPECT_EQ(A, C); } -TYPED_TEST(LapackTest, dnevd) { +// lapack_geqrf_inplace, +// check that QtQ = I +TYPED_TEST(LapackTest, GeqrfInPlace) { + using Type = typename std::tuple_element<0, decltype(TypeParam())>::type; + using Device = typename std::tuple_element<1, decltype(TypeParam())>::type; + + lapack_geqrf_inplace geqrfCalculator; + + const int m = 4; + const int n = 3; // m >= n,Q is m x n column-orthogonal matrix + const int lda = m; + + Tensor A_input = std::move(Tensor({ + static_cast(1.0), static_cast(2.0), static_cast(3.0), static_cast(4.0), + static_cast(5.0), static_cast(6.0), static_cast(7.0), static_cast(8.0), + static_cast(9.0), static_cast(10.0), static_cast(11.0), static_cast(12.0) + }).to_device()); + + Tensor A = A_input; // will be overwritten as Q + + // do geqrf -> get orthogonal Q + geqrfCalculator(m, n, A.data(), lda); + + // check on CPU + Tensor Q = A.to_device(); + const Type* Q_data = Q.data(); + + // compute QtQ = Q^T * Q (n x n) + Tensor QtQ = Q; // std::move(Tensor(std::vector(n * n, static_cast(0.0))).to_device()); + const Type alpha = static_cast(1.0); + const Type beta = static_cast(0.0); + + blas_gemm gemm; + gemm('C', 'N', // Q^T * Q + n, n, m, // n x n + &alpha, + Q_data, lda, // Q^T + Q_data, lda, // Q + &beta, + QtQ.data(), n); + + // To print value: first to_device CPU, then print + // // Test code: print A + // std::cout << "A = " << std::endl; + // for (int i = 0; i < m; ++i) { + // for (int j = 0; j < n; ++j) { + // std::cout << A_input.to_device().data()[i + j * m] << " "; + // } + // std::cout << std::endl; + // } + // // Test code: print Q + // std::cout << "Q = " << std::endl; + // for (int i = 0; i < m; ++i) { + // for (int j = 0; j < n; ++j) { + // std::cout << Q.data()[i + j * m] << " "; + // } + // std::cout << std::endl; + // } + // // Test code: print QtQ + // std::cout << "QtQ = " << std::endl; + // for (int i = 0; i < n; ++i) { + // for (int j = 0; j < n; ++j) { + // std::cout << QtQ.data()[i + j * n] << " "; + // } + // std::cout << std::endl; + // } + + // check QtQ + for (int i = 0; i < n; ++i) { + for (int j = 0; j < n; ++j) { + Type expected = (i == j) ? static_cast(1.0) : static_cast(0.0); + EXPECT_NEAR(std::abs(QtQ.data()[i + j * n]), std::abs(expected), 1e-5) + << "Q^T * Q not identity at (" << i << "," << j << ")"; + } + } +} + +// Test for lapack_heevd and lapack_heevx: +// Solve a standard eigenvalue problem +// and check that A*V = V*E +TYPED_TEST(LapackTest, heevd) { using Type = typename std::tuple_element<0, decltype(TypeParam())>::type; using Real = typename GetTypeReal::type; using Device = typename std::tuple_element<1, decltype(TypeParam())>::type; - + blas_gemm gemmCalculator; blas_axpy axpyCalculator; - lapack_dnevd dnevdCalculator; + lapack_heevd heevdCalculator; const int dim = 3; Tensor A = std::move(Tensor({static_cast(4.0), static_cast(1.0), static_cast(1.0), static_cast(1.0), static_cast(5.0), static_cast(3.0), static_cast(1.0), static_cast(3.0), static_cast(6.0)}).to_device()); - + Tensor E = std::move(Tensor({static_cast(0.0), static_cast(0.0), static_cast(0.0)}).to_device()); Tensor B = A; Tensor expected_C1 = A; Tensor expected_C2 = A; expected_C1.zero(); expected_C2.zero(); - + const char trans = 'N'; const int m = 3; const int n = 3; @@ -121,11 +201,12 @@ TYPED_TEST(LapackTest, dnevd) { const Type beta = static_cast(0.0); // Note all blas and lapack operators within container are column major! // For this reason, we should employ 'L' instead of 'U' in the subsequent line. - dnevdCalculator('V', 'U', B.data(), dim, E.data()); - + // heevdCalculator('V', 'U', B.data(), dim, E.data()); + heevdCalculator(dim, B.data(), dim, E.data()); + E = E.to_device(); const Tensor Alpha = std::move(Tensor({ - static_cast(E.data()[0]), + static_cast(E.data()[0]), static_cast(E.data()[1]), static_cast(E.data()[2])})); @@ -138,45 +219,99 @@ TYPED_TEST(LapackTest, dnevd) { EXPECT_EQ(expected_C1, expected_C2); } +TYPED_TEST(LapackTest, heevx) { + using Type = typename std::tuple_element<0, decltype(TypeParam())>::type; + using Real = typename GetTypeReal::type; + using Device = typename std::tuple_element<1, decltype(TypeParam())>::type; + + blas_gemm gemmCalculator; + blas_axpy axpyCalculator; + lapack_heevx heevxCalculator; + + const int dim = 3; + const int neig = 2; // Compute first 2 eigenvalues + + Tensor A = std::move(Tensor({static_cast(4.0), static_cast(1.0), static_cast(1.0), + static_cast(1.0), static_cast(5.0), static_cast(3.0), + static_cast(1.0), static_cast(3.0), static_cast(6.0)}).to_device()); + + Tensor E = std::move(Tensor({static_cast(0.0), static_cast(0.0)}).to_device()); + Tensor V = A; + Tensor expected_C1 = std::move(Tensor({static_cast(0.0), static_cast(0.0), static_cast(0.0), + static_cast(0.0), static_cast(0.0), static_cast(0.0)}).to_device()); + Tensor expected_C2 = expected_C1; + expected_C1.zero(); + expected_C2.zero(); + + const char trans = 'N'; + const int m = 3; + const int n = neig; + const int k = 3; + const Type alpha = static_cast(1.0); + const Type beta = static_cast(0.0); -TYPED_TEST(LapackTest, dngvd) { + // Compute first neig eigenvalues and eigenvectors using heevx + heevxCalculator(dim, dim, A.data(), neig, E.data(), V.data()); + + E = E.to_device(); + const Tensor Alpha = std::move(Tensor({ + static_cast(E.data()[0]), + static_cast(E.data()[1])})); + + // Check the eigenvalues and eigenvectors + // A * x = lambda * x for the first neig eigenvectors + // check that A * V = V * E + // get A * V + gemmCalculator(trans, trans, m, n, k, &alpha, A.data(), m, V.data(), k, &beta, expected_C1.data(), m); + // get V * E + for (int ii = 0; ii < neig; ii++) { + axpyCalculator(dim, Alpha.data() + ii, V.data() + ii * dim, 1, expected_C2.data() + ii * dim, 1); + } + + EXPECT_EQ(expected_C1, expected_C2); +} + +// Test for lapack_hegvd and lapack_hegvx +// Solve a generalized eigenvalue problem +// and check that A * v = e * B * v +TYPED_TEST(LapackTest, hegvd) { using Type = typename std::tuple_element<0, decltype(TypeParam())>::type; using Real = typename GetTypeReal::type; using Device = typename std::tuple_element<1, decltype(TypeParam())>::type; - + blas_gemm gemmCalculator; blas_axpy axpyCalculator; - lapack_dngvd dngvdCalculator; + lapack_hegvd hegvdCalculator; const int dim = 3; Tensor A = std::move(Tensor({static_cast(4.0), static_cast(1.0), static_cast(1.0), static_cast(1.0), static_cast(5.0), static_cast(3.0), static_cast(1.0), static_cast(3.0), static_cast(6.0)}).to_device()); - + Tensor I = std::move(Tensor({static_cast(1.0), static_cast(0.0), static_cast(0.0), static_cast(0.0), static_cast(1.0), static_cast(0.0), static_cast(0.0), static_cast(0.0), static_cast(1.0)}).to_device()); - + Tensor E = std::move(Tensor({static_cast(0.0), static_cast(0.0), static_cast(0.0)}).to_device()); Tensor B = A; Tensor expected_C1 = A; Tensor expected_C2 = A; expected_C1.zero(); expected_C2.zero(); - + const char trans = 'N'; const int m = 3; const int n = 3; const int k = 3; const Type alpha = static_cast(1.0); const Type beta = static_cast(0.0); - // Note al(), I.data(), dim, E.data()); + hegvdCalculator(dim, dim, A.data(), I.data(), E.data(), B.data()); E = E.to_device(); const Tensor Alpha = std::move(Tensor({ - static_cast(E.data()[0]), + static_cast(E.data()[0]), static_cast(E.data()[1]), static_cast(E.data()[2])})); @@ -189,5 +324,66 @@ TYPED_TEST(LapackTest, dngvd) { EXPECT_EQ(expected_C1, expected_C2); } -} // namespace op +TYPED_TEST(LapackTest, hegvx) { + using Type = typename std::tuple_element<0, decltype(TypeParam())>::type; + using Real = typename GetTypeReal::type; + using Device = typename std::tuple_element<1, decltype(TypeParam())>::type; + + blas_gemm gemmCalculator; + blas_axpy axpyCalculator; + lapack_hegvx hegvxCalculator; + + const int dim = 3; + const int neig = 2; // Compute first 2 eigenvalues + + Tensor A = std::move(Tensor({static_cast(4.0), static_cast(1.0), static_cast(1.0), + static_cast(1.0), static_cast(5.0), static_cast(3.0), + static_cast(1.0), static_cast(3.0), static_cast(6.0)}).to_device()); + + Tensor B = std::move(Tensor({static_cast(2.0), static_cast(0.0), static_cast(0.0), + static_cast(0.0), static_cast(2.0), static_cast(0.0), + static_cast(0.0), static_cast(0.0), static_cast(2.0)}).to_device()); + + Tensor E = std::move(Tensor({static_cast(0.0), static_cast(0.0)}).to_device()); + Tensor V = A; + Tensor expected_C1 = std::move(Tensor({static_cast(0.0), static_cast(0.0), static_cast(0.0), + static_cast(0.0), static_cast(0.0), static_cast(0.0)}).to_device()); + Tensor expected_C2 = expected_C1; + Tensor C_temp = expected_C1; + expected_C1.zero(); + expected_C2.zero(); + + const char trans = 'N'; + const int m = 3; + const int n = neig; + const int k = 3; + const Type alpha = static_cast(1.0); + const Type beta = static_cast(0.0); + + // Compute first neig eigenvalues and eigenvectors using hegvx + hegvxCalculator(dim, dim, A.data(), B.data(), neig, E.data(), V.data()); + + E = E.to_device(); + const Tensor Alpha = std::move(Tensor({ + static_cast(E.data()[0]), + static_cast(E.data()[1])})); + + // Check the eigenvalues and eigenvectors + // A * x = lambda * B * x for the first neig eigenvectors + // check that A * V = E * B * V + // get A * V + gemmCalculator(trans, trans, m, n, k, &alpha, A.data(), m, V.data(), k, &beta, expected_C1.data(), m); + // get E * B * V + // where B is 2 * eye(3,3) + // get C_temp = B * V first + gemmCalculator(trans, trans, m, n, k, &alpha, B.data(), m, V.data(), k, &beta, C_temp.data(), m); + // then compute C2 = E * B * V + for (int ii = 0; ii < neig; ii++) { + axpyCalculator(dim, Alpha.data() + ii, C_temp.data() + ii * dim, 1, expected_C2.data() + ii * dim, 1); + } + + EXPECT_EQ(expected_C1, expected_C2); +} + +} // namespace kernels } // namespace container diff --git a/source/source_base/module_container/ATen/ops/test/CMakeLists.txt b/source/source_base/module_container/ATen/ops/test/CMakeLists.txt index 0cc2c090ca..d5103acfdd 100644 --- a/source/source_base/module_container/ATen/ops/test/CMakeLists.txt +++ b/source/source_base/module_container/ATen/ops/test/CMakeLists.txt @@ -1,7 +1,7 @@ AddTest( - TARGET container_ops_uts - LIBS parameter ${math_libs} + TARGET MODULE_BASE_container_ops_uts + LIBS parameter ${math_libs} SOURCES einsum_op_test.cpp linalg_op_test.cpp ../../kernels/lapack.cpp ) -target_link_libraries(container_ops_uts container base device) \ No newline at end of file +target_link_libraries(MODULE_BASE_container_ops_uts container base device) diff --git a/source/source_base/module_container/CMakeLists.txt b/source/source_base/module_container/CMakeLists.txt index 80a8dce5fc..14b5c57c52 100644 --- a/source/source_base/module_container/CMakeLists.txt +++ b/source/source_base/module_container/CMakeLists.txt @@ -21,7 +21,7 @@ endif() add_library(container STATIC ${ATen_CPU_SRCS} ${ATen_CUDA_SRCS}) -target_link_libraries(container PUBLIC +target_link_libraries(container PUBLIC ${ATen_CPU_DEPENDENCY_LIBS} ${ATen_CUDA_DEPENDENCY_LIBS} ${ATen_ROCM_DEPENDENCY_LIBS}) if(ENABLE_COVERAGE) diff --git a/source/source_base/module_container/base/macros/cuda.h b/source/source_base/module_container/base/macros/cuda.h index ac5ced387a..e9fb2866e7 100644 --- a/source/source_base/module_container/base/macros/cuda.h +++ b/source/source_base/module_container/base/macros/cuda.h @@ -121,6 +121,29 @@ static inline cusolverEigType_t cublas_eig_type(const int& itype) throw std::runtime_error("cublas_eig_mode: unknown diag"); } +/** + * @brief Converts a character specifying eigenvalue range to cuSOLVER enum. + * + * 'A' or 'a' -> CUSOLVER_EIG_RANGE_ALL: all eigenvalues + * 'V' or 'v' -> CUSOLVER_EIG_RANGE_V: values in [vl, vu] + * 'I' or 'i' -> CUSOLVER_EIG_RANGE_I: indices in [il, iu] + * + * @param range Character indicating selection mode ('A', 'V', 'I') + * @return Corresponding cusolverEigRange_t enum value + * @throws std::runtime_error if character is invalid + */ +static inline cusolverEigRange_t cublas_eig_range(const char& range) +{ + if (range == 'A' || range == 'a') + return CUSOLVER_EIG_RANGE_ALL; + else if (range == 'V' || range == 'v') + return CUSOLVER_EIG_RANGE_V; + else if (range == 'I' || range == 'i') + return CUSOLVER_EIG_RANGE_I; + else + throw std::runtime_error("cublas_eig_range: unknown range '" + std::string(1, range) + "'"); +} + // cuSOLVER API errors static const char* cusolverGetErrorEnum(cusolverStatus_t error) { @@ -226,4 +249,4 @@ inline void cublasAssert(cublasStatus_t res, const char* file, int line) #define cudaCheckOnDebug() #endif -#endif // BASE_MACROS_CUDA_H_ \ No newline at end of file +#endif // BASE_MACROS_CUDA_H_ diff --git a/source/source_base/module_container/base/third_party/blas.h b/source/source_base/module_container/base/third_party/blas.h index 5c73032e05..1fdbac67b2 100644 --- a/source/source_base/module_container/base/third_party/blas.h +++ b/source/source_base/module_container/base/third_party/blas.h @@ -25,14 +25,17 @@ void daxpy_(const int *N, const double *alpha, const double *x, const int *incx, void caxpy_(const int *N, const std::complex *alpha, const std::complex *x, const int *incx, std::complex *y, const int *incy); void zaxpy_(const int *N, const std::complex *alpha, const std::complex *x, const int *incx, std::complex *y, const int *incy); -void dcopy_(long const *n, const double *a, int const *incx, double *b, int const *incy); -void zcopy_(long const *n, const std::complex *a, int const *incx, std::complex *b, int const *incy); +void scopy_(const int *n, const float *a, const int *incx, float *b, int const *incy); +void dcopy_(const int *n, const double *a, const int *incx, double *b, int const *incy); +void ccopy_(const int *n, const std::complex *a, const int *incx, std::complex *b, int const *incy); +void zcopy_(const int *n, const std::complex *a, const int *incx, std::complex *b, int const *incy); + //reason for passing results as argument instead of returning it: //see https://www.numbercrunch.de/blog/2014/07/lost-in-translation/ -void cdotc_(const int *n, const std::complex *zx, const int *incx, +void cdotc_(const int *n, const std::complex *zx, const int *incx, const std::complex *zy, const int *incy, std::complex *result); -void zdotc_(const int *n, const std::complex *zx, const int *incx, +void zdotc_(const int *n, const std::complex *zx, const int *incx, const std::complex *zy, const int *incy, std::complex *result); // Peize Lin add ?dot 2017-10-27, to compute d=x*y float sdot_(const int *N, const float *x, const int *incx, const float *y, const int *incy); @@ -41,6 +44,7 @@ double ddot_(const int *N, const double *x, const int *incx, const double *y, co // Peize Lin add ?nrm2 2018-06-12, to compute out = ||x||_2 = \sqrt{ \sum_i x_i**2 } float snrm2_( const int *n, const float *x, const int *incx ); double dnrm2_( const int *n, const double *x, const int *incx ); +float scnrm2_( const int *n, const std::complex *x, const int *incx ); double dznrm2_( const int *n, const std::complex *x, const int *incx ); // level 2: matrix-std::vector operations, O(n^2) data and O(n^2) work. @@ -107,14 +111,26 @@ void dsymm_(const char *side, const char *uplo, const int *m, const int *n, const double *alpha, const double *a, const int *lda, const double *b, const int *ldb, const double *beta, double *c, const int *ldc); //a is hermitian -void zhemm_(char *side, char *uplo, int *m, int *n,std::complex *alpha, - std::complex *a, int *lda, std::complex *b, int *ldb, std::complex *beta, std::complex *c, int *ldc); +void zhemm_(const char *side, const char *uplo, + const int *m, const int *n, + const std::complex *alpha, + const std::complex *a, const int *lda, + const std::complex *b, const int *ldb, + const std::complex *beta, + std::complex *c, const int *ldc); //solving triangular matrix with multiple right hand sides -void dtrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n, - double* alpha, double* a, int *lda, double*b, int *ldb); -void ztrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n, - std::complex* alpha, std::complex* a, int *lda, std::complex*b, int *ldb); +void dtrsm_(const char *side, const char *uplo, const char *transa, const char *diag, + const int *m, const int *n, + const double *alpha, + const double *a, const int *lda, + double *b, const int *ldb); + +void ztrsm_(const char *side, const char *uplo, const char *transa, const char *diag, + const int *m, const int *n, + const std::complex *alpha, + const std::complex *a, const int *lda, + std::complex *b, const int *ldb); } @@ -332,6 +348,11 @@ double nrm2( const int n, const double *x, const int incx ) return dnrm2_( &n, x, &incx ); } static inline +double nrm2( const int n, const std::complex *x, const int incx ) +{ + return scnrm2_( &n, x, &incx ); +} +static inline double nrm2( const int n, const std::complex *x, const int incx ) { return dznrm2_( &n, x, &incx ); @@ -339,12 +360,23 @@ double nrm2( const int n, const std::complex *x, const int incx ) // copies a into b static inline -void copy(const long n, const double *a, const int incx, double *b, const int incy) +void copy(const int n, const float *a, const int incx, float *b, const int incy) +{ + scopy_(&n, a, &incx, b, &incy); +} +static inline +void copy(const int n, const double *a, const int incx, double *b, const int incy) + { dcopy_(&n, a, &incx, b, &incy); } static inline -void copy(const long n, const std::complex *a, const int incx, std::complex *b, const int incy) +void copy(const int n, const std::complex *a, const int incx, std::complex *b, const int incy) +{ + ccopy_(&n, a, &incx, b, &incy); +} +static inline +void copy(const int n, const std::complex *a, const int incx, std::complex *b, const int incy) { zcopy_(&n, a, &incx, b, &incy); } diff --git a/source/source_base/module_container/base/third_party/cublas.h b/source/source_base/module_container/base/third_party/cublas.h index 34cd7484d1..cea046f30e 100644 --- a/source/source_base/module_container/base/third_party/cublas.h +++ b/source/source_base/module_container/base/third_party/cublas.h @@ -8,6 +8,48 @@ namespace container { namespace cuBlasConnector { +static inline +void copy(cublasHandle_t& handle, const int& n, const float *x, const int& incx, float *y, const int& incy) +{ + cublasErrcheck(cublasScopy(handle, n, x, incx, y, incy)); +} +static inline +void copy(cublasHandle_t& handle, const int& n, const double *x, const int& incx, double *y, const int& incy) +{ + cublasErrcheck(cublasDcopy(handle, n, x, incx, y, incy)); +} +static inline +void copy(cublasHandle_t& handle, const int& n, const std::complex *x, const int& incx, std::complex *y, const int& incy) +{ + cublasErrcheck(cublasCcopy(handle, n, reinterpret_cast(x), incx, reinterpret_cast(y), incy)); +} +static inline +void copy(cublasHandle_t& handle, const int& n, const std::complex *x, const int& incx, std::complex *y, const int& incy) +{ + cublasErrcheck(cublasZcopy(handle, n, reinterpret_cast(x), incx, reinterpret_cast(y), incy)); +} + +static inline +void nrm2(cublasHandle_t& handle, const int& n, const float *x, const int& incx, float* result) +{ + cublasErrcheck(cublasSnrm2(handle, n, x, incx, result)); +} +static inline +void nrm2(cublasHandle_t& handle, const int& n, const double *x, const int& incx, double* result) +{ + cublasErrcheck(cublasDnrm2(handle, n, x, incx, result)); +} +static inline +void nrm2(cublasHandle_t& handle, const int& n, const std::complex *x, const int& incx, float* result) +{ + cublasErrcheck(cublasScnrm2(handle, n, reinterpret_cast(x), incx, result)); +} +static inline +void nrm2(cublasHandle_t& handle, const int& n, const std::complex *x, const int& incx, double* result) +{ + cublasErrcheck(cublasDznrm2(handle, n, reinterpret_cast(x), incx, result)); +} + static inline void dot(cublasHandle_t& handle, const int& n, const float *x, const int& incx, const float *y, const int& incy, float* result) { @@ -90,7 +132,7 @@ void gemv(cublasHandle_t& handle, const char& trans, const int& m, const int& n, const std::complex& alpha, const std::complex *A, const int& lda, const std::complex *x, const int& incx, const std::complex& beta, std::complex *y, const int& incy) { - cublasErrcheck(cublasCgemv(handle, GetCublasOperation(trans), m, n, reinterpret_cast(&alpha), + cublasErrcheck(cublasCgemv(handle, GetCublasOperation(trans), m, n, reinterpret_cast(&alpha), reinterpret_cast(A), lda, reinterpret_cast(x), incx, reinterpret_cast(&beta), reinterpret_cast(y), incy)); } static inline @@ -98,7 +140,7 @@ void gemv(cublasHandle_t& handle, const char& trans, const int& m, const int& n, const std::complex& alpha, const std::complex *A, const int& lda, const std::complex *x, const int& incx, const std::complex& beta, std::complex *y, const int& incy) { - cublasErrcheck(cublasZgemv(handle, GetCublasOperation(trans), m, n, reinterpret_cast(&alpha), + cublasErrcheck(cublasZgemv(handle, GetCublasOperation(trans), m, n, reinterpret_cast(&alpha), reinterpret_cast(A), lda, reinterpret_cast(x), incx, reinterpret_cast(&beta), reinterpret_cast(y), incy)); } @@ -148,11 +190,11 @@ void gemm(cublasHandle_t& handle, const char& transa, const char& transb, const const std::complex& beta, std::complex* C, const int& ldc) { cublasErrcheck(cublasCgemm(handle, GetCublasOperation(transa), GetCublasOperation(transb), - m, n, k, - reinterpret_cast(&alpha), - reinterpret_cast(A), lda, - reinterpret_cast(B), ldb, - reinterpret_cast(&beta), + m, n, k, + reinterpret_cast(&alpha), + reinterpret_cast(A), lda, + reinterpret_cast(B), ldb, + reinterpret_cast(&beta), reinterpret_cast(C), ldc)); } static inline @@ -162,15 +204,15 @@ void gemm(cublasHandle_t& handle, const char& transa, const char& transb, const { cublasErrcheck(cublasZgemm(handle, GetCublasOperation(transa), GetCublasOperation(transb), m, n, k, - reinterpret_cast(&alpha), - reinterpret_cast(A), lda, - reinterpret_cast(B), ldb, - reinterpret_cast(&beta), + reinterpret_cast(&alpha), + reinterpret_cast(A), lda, + reinterpret_cast(B), ldb, + reinterpret_cast(&beta), reinterpret_cast(C), ldc)); } template -static inline +static inline T** allocate_(T** in, const int& batch_size) { T** out = nullptr; @@ -216,11 +258,11 @@ void gemm_batched(cublasHandle_t& handle, const char& transa, const char& transb std::complex** d_B = allocate_(B, batch_size); std::complex** d_C = allocate_(C, batch_size); cublasErrcheck(cublasCgemmBatched(handle, GetCublasOperation(transa), GetCublasOperation(transb), - m, n, k, - reinterpret_cast(&alpha), - reinterpret_cast(d_A), lda, - reinterpret_cast(d_B), ldb, - reinterpret_cast(&beta), + m, n, k, + reinterpret_cast(&alpha), + reinterpret_cast(d_A), lda, + reinterpret_cast(d_B), ldb, + reinterpret_cast(&beta), reinterpret_cast(d_C), ldc, batch_size)); cudaErrcheck(cudaFree(d_A)); cudaErrcheck(cudaFree(d_B)); @@ -235,11 +277,11 @@ void gemm_batched(cublasHandle_t& handle, const char& transa, const char& transb std::complex** d_B = allocate_(B, batch_size); std::complex** d_C = allocate_(C, batch_size); cublasErrcheck(cublasZgemmBatched(handle, GetCublasOperation(transa), GetCublasOperation(transb), - m, n, k, - reinterpret_cast(&alpha), - reinterpret_cast(d_A), lda, - reinterpret_cast(d_B), ldb, - reinterpret_cast(&beta), + m, n, k, + reinterpret_cast(&alpha), + reinterpret_cast(d_A), lda, + reinterpret_cast(d_B), ldb, + reinterpret_cast(&beta), reinterpret_cast(d_C), ldc, batch_size)); cudaErrcheck(cudaFree(d_A)); cudaErrcheck(cudaFree(d_B)); @@ -252,14 +294,14 @@ void gemm_batched_strided(cublasHandle_t& handle, const char& transa, const char const float& beta, float* C, const int& ldc, const int& stride_c, const int& batch_size) { cublasErrcheck(cublasSgemmStridedBatched( - handle, - GetCublasOperation(transa), + handle, + GetCublasOperation(transa), GetCublasOperation(transb), - m, n, k, - &alpha, - A, lda, stride_a, - B, ldb, stride_b, - &beta, + m, n, k, + &alpha, + A, lda, stride_a, + B, ldb, stride_b, + &beta, C, ldc, stride_c, batch_size)); } @@ -269,14 +311,14 @@ void gemm_batched_strided(cublasHandle_t& handle, const char& transa, const char const double& beta, double* C, const int& ldc, const int& stride_c, const int& batch_size) { cublasErrcheck(cublasDgemmStridedBatched( - handle, - GetCublasOperation(transa), + handle, + GetCublasOperation(transa), GetCublasOperation(transb), - m, n, k, - &alpha, - A, lda, stride_a, - B, ldb, stride_b, - &beta, + m, n, k, + &alpha, + A, lda, stride_a, + B, ldb, stride_b, + &beta, C, ldc, stride_c, batch_size)); } @@ -286,14 +328,14 @@ void gemm_batched_strided(cublasHandle_t& handle, const char& transa, const char const std::complex& beta, std::complex* C, const int& ldc, const int& stride_c, const int& batch_size) { cublasErrcheck(cublasCgemmStridedBatched( - handle, - GetCublasOperation(transa), + handle, + GetCublasOperation(transa), GetCublasOperation(transb), - m, n, k, - reinterpret_cast(&alpha), - reinterpret_cast(A), lda, stride_a, - reinterpret_cast(B), ldb, stride_b, - reinterpret_cast(&beta), + m, n, k, + reinterpret_cast(&alpha), + reinterpret_cast(A), lda, stride_a, + reinterpret_cast(B), ldb, stride_b, + reinterpret_cast(&beta), reinterpret_cast(C), ldc, stride_c, batch_size)); } @@ -303,14 +345,14 @@ void gemm_batched_strided(cublasHandle_t& handle, const char& transa, const char const std::complex& beta, std::complex* C, const int& ldc, const int& stride_c, const int& batch_size) { cublasErrcheck(cublasZgemmStridedBatched( - handle, - GetCublasOperation(transa), + handle, + GetCublasOperation(transa), GetCublasOperation(transb), - m, n, k, - reinterpret_cast(&alpha), - reinterpret_cast(A), lda, stride_a, - reinterpret_cast(B), ldb, stride_b, - reinterpret_cast(&beta), + m, n, k, + reinterpret_cast(&alpha), + reinterpret_cast(A), lda, stride_a, + reinterpret_cast(B), ldb, stride_b, + reinterpret_cast(&beta), reinterpret_cast(C), ldc, stride_c, batch_size)); } @@ -318,4 +360,4 @@ void gemm_batched_strided(cublasHandle_t& handle, const char& transa, const char } // namespace cuBlasConnector } // namespace container -#endif // BASE_THIRD_PARTY_CUBLAS_H_ \ No newline at end of file +#endif // BASE_THIRD_PARTY_CUBLAS_H_ diff --git a/source/source_base/module_container/base/third_party/cusolver.h b/source/source_base/module_container/base/third_party/cusolver.h index 111b321e26..8d4c1f5290 100644 --- a/source/source_base/module_container/base/third_party/cusolver.h +++ b/source/source_base/module_container/base/third_party/cusolver.h @@ -3,6 +3,17 @@ #include #include +#include + +// #include // traits, needed if generic API is used. +// header provided by cusolver, including some data types and macros. +// see https://github.com/NVIDIA/CUDALibrarySamples/blob/master/cuSOLVER/utils/cusolver_utils.h +// The cuSolverDN library provides two different APIs; legacy and generic. +// https://docs.nvidia.com/cuda/cusolver/index.html#naming-conventions +// now only legacy APIs are used, while the general APIs have the potential to simplify code implementation. +// for example, cucusolverDnXpotrf/getrf/geqrf/sytrf +// More tests are needed to confirm that the generic APIs are operating normally, as they are not yet fully supported. + #include namespace container { @@ -142,17 +153,17 @@ void potrf (cusolverDnHandle_t& cusolver_handle, const char& uplo, const int& n, static inline -void dnevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& uplo, const int& n, float* A, const int& lda, float * W) +void heevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& uplo, const int& n, float* A, const int& lda, float * W) { // prepare some values for cusolverDnSsyevd_bufferSize - int lwork = 0; - int h_info = 0; + int lwork = 0; + int h_info = 0; int* d_info = nullptr; float* d_work = nullptr; cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); // calculate the sizes needed for pre-allocated buffer. - cusolverErrcheck(cusolverDnSsyevd_bufferSize(cusolver_handle, cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnSsyevd_bufferSize(cusolver_handle, cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, A, lda, W, &lwork)); // allocate memory cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(float) * lwork)); @@ -162,23 +173,23 @@ void dnevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& u cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } cudaErrcheck(cudaFree(d_info)); cudaErrcheck(cudaFree(d_work)); } static inline -void dnevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& uplo, const int& n, double* A, const int& lda, double * W) +void heevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& uplo, const int& n, double* A, const int& lda, double * W) { // prepare some values for cusolverDnDsyevd_bufferSize - int lwork = 0; - int h_info = 0; + int lwork = 0; + int h_info = 0; int* d_info = nullptr; double* d_work = nullptr; cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); // calculate the sizes needed for pre-allocated buffer. - cusolverErrcheck(cusolverDnDsyevd_bufferSize(cusolver_handle, cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnDsyevd_bufferSize(cusolver_handle, cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, A, lda, W, &lwork)); // allocate memory cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(double) * lwork)); @@ -188,23 +199,23 @@ void dnevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& u cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } cudaErrcheck(cudaFree(d_info)); cudaErrcheck(cudaFree(d_work)); } static inline -void dnevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, float * W) +void heevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, float * W) { // prepare some values for cusolverDnCheevd_bufferSize - int lwork = 0; - int h_info = 0; + int lwork = 0; + int h_info = 0; int* d_info = nullptr; cuComplex* d_work = nullptr; cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); // calculate the sizes needed for pre-allocated buffer. - cusolverErrcheck(cusolverDnCheevd_bufferSize(cusolver_handle, cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnCheevd_bufferSize(cusolver_handle, cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, reinterpret_cast(A), lda, W, &lwork)); // allocate memory cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(cuComplex) * lwork)); @@ -214,23 +225,23 @@ void dnevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& u cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } cudaErrcheck(cudaFree(d_info)); cudaErrcheck(cudaFree(d_work)); } static inline -void dnevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, double* W) +void heevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, double* W) { // prepare some values for cusolverDnZheevd_bufferSize - int lwork = 0; - int h_info = 0; + int lwork = 0; + int h_info = 0; int* d_info = nullptr; cuDoubleComplex* d_work = nullptr; cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); // calculate the sizes needed for pre-allocated buffer. - cusolverErrcheck(cusolverDnZheevd_bufferSize(cusolver_handle, cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnZheevd_bufferSize(cusolver_handle, cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, reinterpret_cast(A), lda, W, &lwork)); // allocate memory cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(cuDoubleComplex) * lwork)); @@ -240,117 +251,728 @@ void dnevd (cusolverDnHandle_t& cusolver_handle, const char& jobz, const char& u cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } cudaErrcheck(cudaFree(d_info)); cudaErrcheck(cudaFree(d_work)); } +// ===================================================================================================== +// heevdx: Compute eigenvalues and eigenvectors of symmetric/Hermitian matrix +// ===================================================================================================== +// --- float --- +static inline +void heevdx(cusolverDnHandle_t& cusolver_handle, + const int n, + const int lda, + float* d_A, + const char jobz, + const char uplo, + const char range, + const int il, const int iu, + const float vl, const float vu, + float* d_eigen_val, + int* h_meig) +{ + int lwork = 0; + int* d_info = nullptr; + float* d_work = nullptr; + + cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); + + cusolverEigMode_t jobz_t = cublas_eig_mode(jobz); + cublasFillMode_t uplo_t = cublas_fill_mode(uplo); + cusolverEigRange_t range_t = cublas_eig_range(range); + + cusolverErrcheck(cusolverDnSsyevdx_bufferSize( + cusolver_handle, + jobz_t, range_t, uplo_t, + n, d_A, lda, + vl, vu, il, iu, + h_meig, // ← int* output: number of eigenvalues found + d_eigen_val, // ← const float* W (used for query, can be dummy) + &lwork // ← int* lwork (output) + )); + + cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(float) * lwork)); + + // Main call + cusolverErrcheck(cusolverDnSsyevdx( + cusolver_handle, + jobz_t, range_t, uplo_t, + n, + d_A, lda, + vl, vu, il, iu, + h_meig, // ← int* output + d_eigen_val, // ← float* W: eigenvalues + d_work, lwork, + d_info + )); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + cudaFree(d_info); cudaFree(d_work); + throw std::runtime_error("heevdx (float) failed with info = " + std::to_string(h_info)); + } + + cudaFree(d_info); + cudaFree(d_work); +} + +// --- double --- +static inline +void heevdx(cusolverDnHandle_t& cusolver_handle, + const int n, + const int lda, + double* d_A, + const char jobz, + const char uplo, + const char range, + const int il, const int iu, + const double vl, const double vu, + double* d_eigen_val, + int* h_meig) +{ + int lwork = 0; + int* d_info = nullptr; + double* d_work = nullptr; + + cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); + + cusolverEigMode_t jobz_t = cublas_eig_mode(jobz); + cublasFillMode_t uplo_t = cublas_fill_mode(uplo); + cusolverEigRange_t range_t = cublas_eig_range(range); + + cusolverErrcheck(cusolverDnDsyevdx_bufferSize( + cusolver_handle, + jobz_t, range_t, uplo_t, + n, d_A, lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + &lwork + )); + + cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(double) * lwork)); + + cusolverErrcheck(cusolverDnDsyevdx( + cusolver_handle, + jobz_t, range_t, uplo_t, + n, + d_A, lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + d_work, lwork, + d_info + )); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + cudaFree(d_info); cudaFree(d_work); + throw std::runtime_error("heevdx (double) failed with info = " + std::to_string(h_info)); + } + + cudaFree(d_info); + cudaFree(d_work); +} + +// --- complex --- +static inline +void heevdx(cusolverDnHandle_t& cusolver_handle, + const int n, + const int lda, + std::complex* d_A, + const char jobz, + const char uplo, + const char range, + const int il, const int iu, + const float vl, const float vu, + float* d_eigen_val, + int* h_meig) +{ + int lwork = 0; + int* d_info = nullptr; + cuComplex* d_work = nullptr; + + cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); + + cusolverEigMode_t jobz_t = cublas_eig_mode(jobz); + cublasFillMode_t uplo_t = cublas_fill_mode(uplo); + cusolverEigRange_t range_t = cublas_eig_range(range); + + cusolverErrcheck(cusolverDnCheevdx_bufferSize( + cusolver_handle, + jobz_t, range_t, uplo_t, + n, + reinterpret_cast(d_A), lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + &lwork + )); + + cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(cuComplex) * lwork)); + + cusolverErrcheck(cusolverDnCheevdx( + cusolver_handle, + jobz_t, range_t, uplo_t, + n, + reinterpret_cast(d_A), lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + d_work, lwork, + d_info + )); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + cudaFree(d_info); cudaFree(d_work); + throw std::runtime_error("heevdx (complex) failed with info = " + std::to_string(h_info)); + } + + cudaFree(d_info); + cudaFree(d_work); +} + +// --- complex --- +static inline +void heevdx(cusolverDnHandle_t& cusolver_handle, + const int n, + const int lda, + std::complex* d_A, + const char jobz, + const char uplo, + const char range, + const int il, const int iu, + const double vl, const double vu, + double* d_eigen_val, + int* h_meig) +{ + int lwork = 0; + int* d_info = nullptr; + cuDoubleComplex* d_work = nullptr; + + cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); + + cusolverEigMode_t jobz_t = cublas_eig_mode(jobz); + cublasFillMode_t uplo_t = cublas_fill_mode(uplo); + cusolverEigRange_t range_t = cublas_eig_range(range); + + cusolverErrcheck(cusolverDnZheevdx_bufferSize( + cusolver_handle, + jobz_t, range_t, uplo_t, + n, + reinterpret_cast(d_A), lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + &lwork + )); + + cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(cuDoubleComplex) * lwork)); + + cusolverErrcheck(cusolverDnZheevdx( + cusolver_handle, + jobz_t, range_t, uplo_t, + n, + reinterpret_cast(d_A), lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + d_work, lwork, + d_info + )); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + cudaFree(d_info); cudaFree(d_work); + throw std::runtime_error("heevdx (complex) failed with info = " + std::to_string(h_info)); + } + + cudaFree(d_info); + cudaFree(d_work); +} + static inline -void dngvd (cusolverDnHandle_t& cusolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, float* A, const int& lda, float* B, const int& ldb, float * W) +void hegvd (cusolverDnHandle_t& cusolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, float* A, const int& lda, float* B, const int& ldb, float * W) { // prepare some values for cusolverDnSsygvd_bufferSize - int lwork = 0; - int h_info = 0; + int lwork = 0; + int h_info = 0; int* d_info = nullptr; float* d_work = nullptr; cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); // calculate the sizes needed for pre-allocated buffer. - cusolverErrcheck(cusolverDnSsygvd_bufferSize(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnSsygvd_bufferSize(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, A, lda, B, ldb, W, &lwork)); // allocate memory cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(float) * lwork)); // compute eigenvalues and eigenvectors. - cusolverErrcheck(cusolverDnSsygvd(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnSsygvd(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, A, lda, B, ldb, W, d_work, lwork, d_info)); cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } cudaErrcheck(cudaFree(d_info)); cudaErrcheck(cudaFree(d_work)); } static inline -void dngvd (cusolverDnHandle_t& cusolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, double* A, const int& lda, double* B, const int& ldb, double * W) +void hegvd (cusolverDnHandle_t& cusolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, double* A, const int& lda, double* B, const int& ldb, double * W) { // prepare some values for cusolverDnDsygvd_bufferSize - int lwork = 0; - int h_info = 0; + int lwork = 0; + int h_info = 0; int* d_info = nullptr; double* d_work = nullptr; cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); // calculate the sizes needed for pre-allocated buffer. - cusolverErrcheck(cusolverDnDsygvd_bufferSize(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnDsygvd_bufferSize(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, A, lda, B, ldb, W, &lwork)); // allocate memory cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(double) * lwork)); // compute eigenvalues and eigenvectors. - cusolverErrcheck(cusolverDnDsygvd(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnDsygvd(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, A, lda, B, ldb, W, d_work, lwork, d_info)); cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } cudaErrcheck(cudaFree(d_info)); cudaErrcheck(cudaFree(d_work)); } static inline -void dngvd (cusolverDnHandle_t& cusolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, std::complex* B, const int& ldb, float* W) +void hegvd (cusolverDnHandle_t& cusolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, std::complex* B, const int& ldb, float* W) { // prepare some values for cusolverDnChegvd_bufferSize - int lwork = 0; - int h_info = 0; + int lwork = 0; + int h_info = 0; int* d_info = nullptr; cuComplex* d_work = nullptr; cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); // calculate the sizes needed for pre-allocated buffer. - cusolverErrcheck(cusolverDnChegvd_bufferSize(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnChegvd_bufferSize(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, reinterpret_cast(A), lda, reinterpret_cast(B), ldb, W, &lwork)); // allocate memory cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(cuComplex) * lwork)); // compute eigenvalues and eigenvectors. - cusolverErrcheck(cusolverDnChegvd(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnChegvd(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, reinterpret_cast(A), lda, reinterpret_cast(B), ldb, W, d_work, lwork, d_info)); cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } cudaErrcheck(cudaFree(d_info)); cudaErrcheck(cudaFree(d_work)); } static inline -void dngvd (cusolverDnHandle_t& cusolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, std::complex* B, const int& ldb, double* W) +void hegvd (cusolverDnHandle_t& cusolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, std::complex* B, const int& ldb, double* W) { // prepare some values for cusolverDnZhegvd_bufferSize - int lwork = 0; - int h_info = 0; + int lwork = 0; + int h_info = 0; int* d_info = nullptr; cuDoubleComplex* d_work = nullptr; cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); // calculate the sizes needed for pre-allocated buffer. - cusolverErrcheck(cusolverDnZhegvd_bufferSize(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnZhegvd_bufferSize(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, reinterpret_cast(A), lda, reinterpret_cast(B), ldb, W, &lwork)); // allocate memory cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(cuDoubleComplex) * lwork)); // compute eigenvalues and eigenvectors. - cusolverErrcheck(cusolverDnZhegvd(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), + cusolverErrcheck(cusolverDnZhegvd(cusolver_handle, cublas_eig_type(itype), cublas_eig_mode(jobz), cublas_fill_mode(uplo), n, reinterpret_cast(A), lda, reinterpret_cast(B), ldb, W, d_work, lwork, d_info)); cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } cudaErrcheck(cudaFree(d_info)); cudaErrcheck(cudaFree(d_work)); } +// ===================================================================================================== +// hegvd x: Compute selected eigenvalues and eigenvectors of generalized Hermitian-definite eigenproblem +// A * x = lambda * B * x +// ===================================================================================================== + +// --- float --- +static inline +void hegvdx( + cusolverDnHandle_t& cusolver_handle, + const int itype, // 1: A*x = lambda*B*x + const char jobz, // 'V' or 'N' + const char range, // 'I', 'V', 'A' + const char uplo, // 'U' or 'L' + const int n, + const int lda, + float* d_A, // Input matrix A (device) + float* d_B, // Input matrix B (device) + const float vl, // for RANGE='V' + const float vu, + const int il, // for RANGE='I' + const int iu, + int* h_meig, // output: number of eigenvalues found + float* d_eigen_val, // output: eigenvalues + float* d_eigen_vec // output: eigenvectors (if jobz='V'), size ldz × m +) { + int lwork = 0; + int *d_info = nullptr; + float *d_work = nullptr; + + // Allocate device info + cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); + + // Copy A and B to temporary buffers since sygvdx may modify them + float *d_A_copy = nullptr, *d_B_copy = nullptr; + cudaErrcheck(cudaMalloc((void**)&d_A_copy, sizeof(float) * n * lda)); + cudaErrcheck(cudaMalloc((void**)&d_B_copy, sizeof(float) * n * lda)); + cudaErrcheck(cudaMemcpy(d_A_copy, d_A, sizeof(float) * n * lda, cudaMemcpyDeviceToDevice)); + cudaErrcheck(cudaMemcpy(d_B_copy, d_B, sizeof(float) * n * lda, cudaMemcpyDeviceToDevice)); + + // Set parameters + cusolverEigType_t itype_t = cublas_eig_type(itype); + cusolverEigMode_t jobz_t = cublas_eig_mode(jobz); + cusolverEigRange_t range_t = cublas_eig_range(range); + cublasFillMode_t uplo_t = cublas_fill_mode(uplo); + + // Query workspace size + cusolverErrcheck(cusolverDnSsygvdx_bufferSize( + cusolver_handle, + itype_t, jobz_t, range_t, uplo_t, + n, + d_A_copy, lda, + d_B_copy, lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + &lwork + )); + + // Allocate workspace + cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(float) * lwork)); + + // Main call + cusolverErrcheck(cusolverDnSsygvdx( + cusolver_handle, + itype_t, jobz_t, range_t, uplo_t, + n, + d_A_copy, lda, + d_B_copy, lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + d_work, lwork, + d_info + )); + + // Check result + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info < 0) { + throw std::runtime_error("hegvdx (float): illegal argument #" + std::to_string(-h_info)); + } else if (h_info > 0) { + // If h_info <= n: convergence issue in tridiag solver (no vec) OR + // If h_info > n: B's leading minor of order (h_info - n) is not positive definite + if (jobz_t == CUSOLVER_EIG_MODE_NOVECTOR && h_info <= n) { + throw std::runtime_error("hegvdx (float): failed to converge, " + std::to_string(h_info) + " off-diagonal elements didn't converge"); + } else if (h_info > n) { + throw std::runtime_error("hegvdx (float): leading minor of order " + std::to_string(h_info - n) + " of B is not positive definite"); + } + } + + // If jobz == 'V', copy eigenvectors from A (which now contains Z) to output + if (jobz == 'V') { + const int m = (*h_meig); // number of eigenvectors computed + cudaErrcheck(cudaMemcpy(d_eigen_vec, d_A_copy, sizeof(float) * n * m, cudaMemcpyDeviceToDevice)); + } + + // Cleanup + cudaFree(d_info); + cudaFree(d_work); + cudaFree(d_A_copy); + cudaFree(d_B_copy); +} + + +// --- double --- +static inline +void hegvdx( + cusolverDnHandle_t& cusolver_handle, + const int itype, + const char jobz, + const char range, + const char uplo, + const int n, + const int lda, + double* d_A, + double* d_B, + const double vl, + const double vu, + const int il, + const int iu, + int* h_meig, + double* d_eigen_val, + double* d_eigen_vec +) { + int lwork = 0; + int *d_info = nullptr; + double *d_work = nullptr; + + cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); + + double *d_A_copy = nullptr, *d_B_copy = nullptr; + cudaErrcheck(cudaMalloc((void**)&d_A_copy, sizeof(double) * n * lda)); + cudaErrcheck(cudaMalloc((void**)&d_B_copy, sizeof(double) * n * lda)); + cudaErrcheck(cudaMemcpy(d_A_copy, d_A, sizeof(double) * n * lda, cudaMemcpyDeviceToDevice)); + cudaErrcheck(cudaMemcpy(d_B_copy, d_B, sizeof(double) * n * lda, cudaMemcpyDeviceToDevice)); + + cusolverEigType_t itype_t = cublas_eig_type(itype); + cusolverEigMode_t jobz_t = cublas_eig_mode(jobz); + cusolverEigRange_t range_t = cublas_eig_range(range); + cublasFillMode_t uplo_t = cublas_fill_mode(uplo); + + cusolverErrcheck(cusolverDnDsygvdx_bufferSize( + cusolver_handle, + itype_t, jobz_t, range_t, uplo_t, + n, + d_A_copy, lda, + d_B_copy, lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + &lwork + )); + + cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(double) * lwork)); + + cusolverErrcheck(cusolverDnDsygvdx( + cusolver_handle, + itype_t, jobz_t, range_t, uplo_t, + n, + d_A_copy, lda, + d_B_copy, lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + d_work, lwork, + d_info + )); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info < 0) { + throw std::runtime_error("hegvdx (double): illegal argument #" + std::to_string(-h_info)); + } else if (h_info > 0) { + if (jobz_t == CUSOLVER_EIG_MODE_NOVECTOR && h_info <= n) { + throw std::runtime_error("hegvdx (double): failed to converge, " + std::to_string(h_info) + " off-diagonal elements didn't converge"); + } else if (h_info > n) { + throw std::runtime_error("hegvdx (double): leading minor of order " + std::to_string(h_info - n) + " of B is not positive definite"); + } + } + + if (jobz == 'V') { + const int m = (*h_meig); + cudaErrcheck(cudaMemcpy(d_eigen_vec, d_A_copy, sizeof(double) * n * m, cudaMemcpyDeviceToDevice)); + } + + cudaFree(d_info); + cudaFree(d_work); + cudaFree(d_A_copy); + cudaFree(d_B_copy); +} + + +// --- complex --- +static inline +void hegvdx( + cusolverDnHandle_t& cusolver_handle, + const int itype, + const char jobz, + const char range, + const char uplo, + const int n, + const int lda, + std::complex* d_A, + std::complex* d_B, + const float vl, + const float vu, + const int il, + const int iu, + int* h_meig, + float* d_eigen_val, + std::complex* d_eigen_vec +) { + int lwork = 0; + int *d_info = nullptr; + cuComplex *d_work = nullptr; + + cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); + + cuComplex *d_A_copy = nullptr, *d_B_copy = nullptr; + cudaErrcheck(cudaMalloc((void**)&d_A_copy, sizeof(cuComplex) * n * lda)); + cudaErrcheck(cudaMalloc((void**)&d_B_copy, sizeof(cuComplex) * n * lda)); + cudaErrcheck(cudaMemcpy(d_A_copy, reinterpret_cast(d_A), sizeof(cuComplex) * n * lda, cudaMemcpyDeviceToDevice)); + cudaErrcheck(cudaMemcpy(d_B_copy, reinterpret_cast(d_B), sizeof(cuComplex) * n * lda, cudaMemcpyDeviceToDevice)); + + cusolverEigType_t itype_t = cublas_eig_type(itype); + cusolverEigMode_t jobz_t = cublas_eig_mode(jobz); + cusolverEigRange_t range_t = cublas_eig_range(range); + cublasFillMode_t uplo_t = cublas_fill_mode(uplo); + + cusolverErrcheck(cusolverDnChegvdx_bufferSize( + cusolver_handle, + itype_t, jobz_t, range_t, uplo_t, + n, + d_A_copy, lda, + d_B_copy, lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + &lwork + )); + + cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(cuComplex) * lwork)); + + cusolverErrcheck(cusolverDnChegvdx( + cusolver_handle, + itype_t, jobz_t, range_t, uplo_t, + n, + d_A_copy, lda, + d_B_copy, lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + d_work, lwork, + d_info + )); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info < 0) { + throw std::runtime_error("hegvdx (complex): illegal argument #" + std::to_string(-h_info)); + } else if (h_info > 0) { + if (jobz_t == CUSOLVER_EIG_MODE_NOVECTOR && h_info <= n) { + throw std::runtime_error("hegvdx (complex): failed to converge, " + std::to_string(h_info) + " off-diagonal elements didn't converge"); + } else if (h_info > n) { + throw std::runtime_error("hegvdx (complex): leading minor of order " + std::to_string(h_info - n) + " of B is not positive definite"); + } + } + + if (jobz == 'V') { + const int m = (*h_meig); + cudaErrcheck(cudaMemcpy(reinterpret_cast(d_eigen_vec), d_A_copy, sizeof(cuComplex) * n * m, cudaMemcpyDeviceToDevice)); + } + + cudaFree(d_info); + cudaFree(d_work); + cudaFree(d_A_copy); + cudaFree(d_B_copy); +} + + +// --- complex --- +static inline +void hegvdx( + cusolverDnHandle_t& cusolver_handle, + const int itype, + const char jobz, + const char range, + const char uplo, + const int n, + const int lda, + std::complex* d_A, + std::complex* d_B, + const double vl, + const double vu, + const int il, + const int iu, + int* h_meig, + double* d_eigen_val, + std::complex* d_eigen_vec +) { + int lwork = 0; + int *d_info = nullptr; + cuDoubleComplex *d_work = nullptr; + + cudaErrcheck(cudaMalloc((void**)&d_info, sizeof(int))); + + cuDoubleComplex *d_A_copy = nullptr, *d_B_copy = nullptr; + cudaErrcheck(cudaMalloc((void**)&d_A_copy, sizeof(cuDoubleComplex) * n * lda)); + cudaErrcheck(cudaMalloc((void**)&d_B_copy, sizeof(cuDoubleComplex) * n * lda)); + cudaErrcheck(cudaMemcpy(d_A_copy, reinterpret_cast(d_A), sizeof(cuDoubleComplex) * n * lda, cudaMemcpyDeviceToDevice)); + cudaErrcheck(cudaMemcpy(d_B_copy, reinterpret_cast(d_B), sizeof(cuDoubleComplex) * n * lda, cudaMemcpyDeviceToDevice)); + + cusolverEigType_t itype_t = cublas_eig_type(itype); + cusolverEigMode_t jobz_t = cublas_eig_mode(jobz); + cusolverEigRange_t range_t = cublas_eig_range(range); + cublasFillMode_t uplo_t = cublas_fill_mode(uplo); + + cusolverErrcheck(cusolverDnZhegvdx_bufferSize( + cusolver_handle, + itype_t, jobz_t, range_t, uplo_t, + n, + d_A_copy, lda, + d_B_copy, lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + &lwork + )); + + cudaErrcheck(cudaMalloc((void**)&d_work, sizeof(cuDoubleComplex) * lwork)); + + cusolverErrcheck(cusolverDnZhegvdx( + cusolver_handle, + itype_t, jobz_t, range_t, uplo_t, + n, + d_A_copy, lda, + d_B_copy, lda, + vl, vu, il, iu, + h_meig, + d_eigen_val, + d_work, lwork, + d_info + )); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info < 0) { + throw std::runtime_error("hegvdx (complex): illegal argument #" + std::to_string(-h_info)); + } else if (h_info > 0) { + if (jobz_t == CUSOLVER_EIG_MODE_NOVECTOR && h_info <= n) { + throw std::runtime_error("hegvdx (complex): failed to converge, " + std::to_string(h_info) + " off-diagonal elements didn't converge"); + } else if (h_info > n) { + throw std::runtime_error("hegvdx (complex): leading minor of order " + std::to_string(h_info - n) + " of B is not positive definite"); + } + } + + if (jobz == 'V') { + const int m = (*h_meig); + cudaErrcheck(cudaMemcpy(reinterpret_cast(d_eigen_vec), d_A_copy, sizeof(cuDoubleComplex) * n * m, cudaMemcpyDeviceToDevice)); + } + + cudaFree(d_info); + cudaFree(d_work); + cudaFree(d_A_copy); + cudaFree(d_B_copy); +} + + +// --- getrf static inline void getrf(cusolverDnHandle_t& cusolver_handle, const int& m, const int& n, float* A, const int& lda, int* ipiv) { @@ -525,7 +1147,434 @@ void getrs(cusolverDnHandle_t& cusolver_handle, const char& trans, const int& n, cudaErrcheck(cudaFree(d_info)); } +// QR decomposition +// geqrf, orgqr +// Note: +// there are two cusolver geqrf +// one is cusolverDngeqrf +// one is cusolverDnXgeqrf +// which one is better? +// +// template +// static inline void geqrf( +// cusolverDnHandle_t& cusolver_handle, +// const int64_t m, +// const int64_t n, +// T* d_A, // device matrix A (m x n, column-major) +// const int64_t lda, +// T* d_tau // output: scalar factors of elementary reflectors +// ) { +// // query workspace size +// int *d_info = nullptr; /* error info */ +// +// size_t workspaceInBytesOnDevice = 0; /* size of workspace */ +// void *d_work = nullptr; /* device workspace */ +// size_t workspaceInBytesOnHost = 0; /* size of workspace */ +// void *h_work = nullptr; /* host workspace */ +// +// cudaErrcheck(cudaMalloc(reinterpret_cast(&d_info), sizeof(int))); +// +// cusolverDnParams_t params = NULL; +// cusolverErrcheck(cusolverDnCreateParams(¶ms)); +// +// cusolverErrcheck(cusolverDnXgeqrf_bufferSize( +// cusolver_handle, +// params, +// m, n, +// traits::cuda_data_type, +// d_A, +// lda, +// traits::cuda_data_type, +// d_tau, +// traits::cuda_data_type, +// &workspaceInBytesOnDevice, +// &workspaceInBytesOnHost +// )); +// +// // allocate device workspace +// cudaErrcheck(cudaMalloc(reinterpret_cast(&d_work), workspaceInBytesOnDevice)); +// +// // allocate host workspace +// if (workspaceInBytesOnHost > 0) { +// h_work = reinterpret_cast(malloc(workspaceInBytesOnHost)); +// if (h_work == nullptr) { +// throw std::runtime_error("Error: h_work not allocated."); +// } +// } +// +// // QR factorization +// cusolverErrcheck(cusolverDnXgeqrf( +// cusolver_handle, +// params, +// m, n, +// traits::cuda_data_type, +// d_A, +// lda, +// traits::cuda_data_type, +// d_tau, +// traits::cuda_data_type, +// d_work, +// workspaceInBytesOnDevice, +// h_work, +// workspaceInBytesOnHost, +// d_info +// )); +// +// // check info +// int h_info = 0; +// cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); +// if (h_info != 0) { +// // std::printf("%d-th parameter is wrong \n", -info); +// // print error message +// std::cout << -h_info << "th parameter is wrong" << std::endl; +// throw std::runtime_error("geqrf: failed to compute QR decomposition"); +// } +// +// // clean workspace +// cudaErrcheck(cudaFree(d_info)); +// cudaErrcheck(cudaFree(d_work)); +// if (h_work) free(h_work); +// cusolverErrcheck(cusolverDnDestroyParams(params)); +// } + +// geqrf + +// --- float --- +static inline void geqrf( + cusolverDnHandle_t& cusolver_handle, + const int m, + const int n, + float* d_A, + const int lda, + float* d_tau +) { + int lwork = 0; + cusolverErrcheck(cusolverDnSgeqrf_bufferSize( + cusolver_handle, m, n, d_A, lda, &lwork)); + + float* d_work = nullptr; + int* d_info = nullptr; + + if (lwork > 0) { + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_work), sizeof(float) * lwork)); + } + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_info), sizeof(int))); + + cusolverErrcheck(cusolverDnSgeqrf( + cusolver_handle, m, n, d_A, lda, d_tau, d_work, lwork, d_info)); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + std::cout << "geqrf (S): info = " << h_info << std::endl; + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); + throw std::runtime_error("geqrf (S): QR factorization failed"); + } + + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); +} + +// --- double --- +static inline void geqrf( + cusolverDnHandle_t& cusolver_handle, + const int m, + const int n, + double* d_A, + const int lda, + double* d_tau +) { + int lwork = 0; + cusolverErrcheck(cusolverDnDgeqrf_bufferSize( + cusolver_handle, m, n, d_A, lda, &lwork)); + + double* d_work = nullptr; + int* d_info = nullptr; + + if (lwork > 0) { + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_work), sizeof(double) * lwork)); + } + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_info), sizeof(int))); + + cusolverErrcheck(cusolverDnDgeqrf( + cusolver_handle, m, n, d_A, lda, d_tau, d_work, lwork, d_info)); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + std::cout << "geqrf (D): info = " << h_info << std::endl; + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); + throw std::runtime_error("geqrf (D): QR factorization failed"); + } + + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); +} + +// --- std::complex --- +static inline void geqrf( + cusolverDnHandle_t& cusolver_handle, + const int m, + const int n, + std::complex* d_A, + const int lda, + std::complex* d_tau +) { + int lwork = 0; + cusolverErrcheck(cusolverDnCgeqrf_bufferSize( + cusolver_handle, m, n, + reinterpret_cast(d_A), + lda, + &lwork // ← 这里才是 lwork 的地址! + )); + + cuComplex* d_work = nullptr; + int* d_info = nullptr; + + if (lwork > 0) { + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_work), sizeof(cuComplex) * lwork)); + } + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_info), sizeof(int))); + + cusolverErrcheck(cusolverDnCgeqrf( + cusolver_handle, m, n, + reinterpret_cast(d_A), + lda, + reinterpret_cast(d_tau), // ← 这里才是 d_tau + d_work, lwork, d_info)); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + std::cout << "geqrf (C): info = " << h_info << std::endl; + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); + throw std::runtime_error("geqrf (C): QR factorization failed"); + } + + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); +} + +// --- std::complex --- +static inline void geqrf( + cusolverDnHandle_t& cusolver_handle, + const int m, + const int n, + std::complex* d_A, + const int lda, + std::complex* d_tau +) { + int lwork = 0; + cusolverErrcheck(cusolverDnZgeqrf_bufferSize( + cusolver_handle, m, n, + reinterpret_cast(d_A), + lda, + &lwork + )); + + cuDoubleComplex* d_work = nullptr; + int* d_info = nullptr; + + if (lwork > 0) { + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_work), sizeof(cuDoubleComplex) * lwork)); + } + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_info), sizeof(int))); + + cusolverErrcheck(cusolverDnZgeqrf( + cusolver_handle, m, n, + reinterpret_cast(d_A), + lda, + reinterpret_cast(d_tau), + d_work, lwork, d_info)); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + std::cout << "geqrf (Z): info = " << h_info << std::endl; + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); + throw std::runtime_error("geqrf (Z): QR factorization failed"); + } + + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); +} + + +// --- float --- +static inline void orgqr( + cusolverDnHandle_t& cusolver_handle, + const int m, + const int n, + const int k, + float* d_A, + const int lda, + float* d_tau +) { + int lwork = 0; + cusolverErrcheck(cusolverDnSorgqr_bufferSize( + cusolver_handle, m, n, k, d_A, lda, d_tau, &lwork)); + + float* d_work = nullptr; + int* d_info = nullptr; + + if (lwork > 0) { + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_work), sizeof(float) * lwork)); + } + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_info), sizeof(int))); + + cusolverErrcheck(cusolverDnSorgqr( + cusolver_handle, m, n, k, d_A, lda, d_tau, d_work, lwork, d_info)); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + std::cout << "orgqr (S): info = " << h_info << " (failure at parameter " << -h_info << ")" << std::endl; + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); + throw std::runtime_error("orgqr (S): failed to generate Q matrix"); + } + + // clean workspace + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); +} + +// --- double --- +static inline void orgqr( + cusolverDnHandle_t& cusolver_handle, + const int m, + const int n, + const int k, + double* d_A, + const int lda, + double* d_tau +) { + int lwork = 0; + cusolverErrcheck(cusolverDnDorgqr_bufferSize( + cusolver_handle, m, n, k, d_A, lda, d_tau, &lwork)); + + double* d_work = nullptr; + int* d_info = nullptr; + + if (lwork > 0) { + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_work), sizeof(double) * lwork)); + } + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_info), sizeof(int))); + + cusolverErrcheck(cusolverDnDorgqr( + cusolver_handle, m, n, k, d_A, lda, d_tau, d_work, lwork, d_info)); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + std::cout << "orgqr (D): info = " << h_info << std::endl; + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); + throw std::runtime_error("orgqr (D): failed to generate Q matrix"); + } + + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); +} + +// --- std::complex --- +static inline void orgqr( + cusolverDnHandle_t& cusolver_handle, + const int m, + const int n, + const int k, + std::complex* d_A, + const int lda, + std::complex* d_tau +) { + int lwork = 0; + cusolverErrcheck(cusolverDnCungqr_bufferSize( + cusolver_handle, m, n, k, + reinterpret_cast(d_A), + lda, + reinterpret_cast(d_tau), + &lwork)); + + cuComplex* d_work = nullptr; + int* d_info = nullptr; + + if (lwork > 0) { + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_work), sizeof(cuComplex) * lwork)); + } + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_info), sizeof(int))); + + cusolverErrcheck(cusolverDnCungqr( + cusolver_handle, m, n, k, + reinterpret_cast(d_A), + lda, + reinterpret_cast(d_tau), + d_work, lwork, d_info)); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + std::cout << "orgqr (C): info = " << h_info << std::endl; + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); + throw std::runtime_error("orgqr (C): failed to generate Q matrix"); + } + + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); +} + +// --- std::complex --- +static inline void orgqr( + cusolverDnHandle_t& cusolver_handle, + const int m, + const int n, + const int k, + std::complex* d_A, + const int lda, + std::complex* d_tau +) { + int lwork = 0; + cusolverErrcheck(cusolverDnZungqr_bufferSize( + cusolver_handle, m, n, k, + reinterpret_cast(d_A), + lda, + reinterpret_cast(d_tau), + &lwork)); + + cuDoubleComplex* d_work = nullptr; + int* d_info = nullptr; + + if (lwork > 0) { + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_work), sizeof(cuDoubleComplex) * lwork)); + } + cudaErrcheck(cudaMalloc(reinterpret_cast(&d_info), sizeof(int))); + + cusolverErrcheck(cusolverDnZungqr( + cusolver_handle, m, n, k, + reinterpret_cast(d_A), + lda, + reinterpret_cast(d_tau), + d_work, lwork, d_info)); + + int h_info = 0; + cudaErrcheck(cudaMemcpy(&h_info, d_info, sizeof(int), cudaMemcpyDeviceToHost)); + if (h_info != 0) { + std::cout << "orgqr (Z): info = " << h_info << std::endl; + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); + throw std::runtime_error("orgqr (Z): failed to generate Q matrix"); + } + + if (d_work) cudaErrcheck(cudaFree(d_work)); + cudaErrcheck(cudaFree(d_info)); +} + + } // namespace cuSolverConnector } // namespace container -#endif // BASE_THIRD_PARTY_CUSOLVER_H_ \ No newline at end of file +#endif // BASE_THIRD_PARTY_CUSOLVER_H_ diff --git a/source/source_base/module_container/base/third_party/hipsolver.h b/source/source_base/module_container/base/third_party/hipsolver.h index a0826d3a09..58db644cb7 100644 --- a/source/source_base/module_container/base/third_party/hipsolver.h +++ b/source/source_base/module_container/base/third_party/hipsolver.h @@ -131,7 +131,7 @@ void potrf (hipsolverHandle_t& hipsolver_handle, const char& uplo, const int& n, static inline -void dnevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& uplo, const int& n, float* A, const int& lda, float * W) +void heevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& uplo, const int& n, float* A, const int& lda, float * W) { // prepare some values for hipsolverDnZhegvd_bufferSize int lwork = 0; @@ -151,13 +151,13 @@ void dnevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& u hipErrcheck(hipMemcpy(&h_info, d_info, sizeof(int), hipMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } hipErrcheck(hipFree(d_info)); hipErrcheck(hipFree(d_work)); } static inline -void dnevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& uplo, const int& n, double* A, const int& lda, double * W) +void heevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& uplo, const int& n, double* A, const int& lda, double * W) { // prepare some values for hipsolverDnZhegvd_bufferSize int lwork = 0; @@ -177,13 +177,13 @@ void dnevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& u hipErrcheck(hipMemcpy(&h_info, d_info, sizeof(int), hipMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } hipErrcheck(hipFree(d_info)); hipErrcheck(hipFree(d_work)); } static inline -void dnevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, float * W) +void heevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, float * W) { // prepare some values for hipsolverDnZhegvd_bufferSize int lwork = 0; @@ -203,13 +203,13 @@ void dnevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& u hipErrcheck(hipMemcpy(&h_info, d_info, sizeof(int), hipMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } hipErrcheck(hipFree(d_info)); hipErrcheck(hipFree(d_work)); } static inline -void dnevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, double* W) +void heevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, double* W) { // prepare some values for hipsolverDnZhegvd_bufferSize int lwork = 0; @@ -229,14 +229,14 @@ void dnevd (hipsolverHandle_t& hipsolver_handle, const char& jobz, const char& u hipErrcheck(hipMemcpy(&h_info, d_info, sizeof(int), hipMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } hipErrcheck(hipFree(d_info)); hipErrcheck(hipFree(d_work)); } static inline -void dngvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, float* A, const int& lda, float* B, const int& ldb, float * W) +void hegvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, float* A, const int& lda, float* B, const int& ldb, float * W) { // prepare some values for hipsolverDnZhegvd_bufferSize int lwork = 0; @@ -256,13 +256,13 @@ void dngvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& j hipErrcheck(hipMemcpy(&h_info, d_info, sizeof(int), hipMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } hipErrcheck(hipFree(d_info)); hipErrcheck(hipFree(d_work)); } static inline -void dngvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, double* A, const int& lda, double* B, const int& ldb, double * W) +void hegvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, double* A, const int& lda, double* B, const int& ldb, double * W) { // prepare some values for hipsolverDnZhegvd_bufferSize int lwork = 0; @@ -282,13 +282,13 @@ void dngvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& j hipErrcheck(hipMemcpy(&h_info, d_info, sizeof(int), hipMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } hipErrcheck(hipFree(d_info)); hipErrcheck(hipFree(d_work)); } static inline -void dngvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, std::complex* B, const int& ldb, float* W) +void hegvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, std::complex* B, const int& ldb, float* W) { // prepare some values for hipsolverDnZhegvd_bufferSize int lwork = 0; @@ -308,13 +308,13 @@ void dngvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& j hipErrcheck(hipMemcpy(&h_info, d_info, sizeof(int), hipMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } hipErrcheck(hipFree(d_info)); hipErrcheck(hipFree(d_work)); } static inline -void dngvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, std::complex* B, const int& ldb, double* W) +void hegvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& jobz, const char& uplo, const int& n, std::complex* A, const int& lda, std::complex* B, const int& ldb, double* W) { // prepare some values for hipsolverDnZhegvd_bufferSize int lwork = 0; @@ -334,7 +334,7 @@ void dngvd (hipsolverHandle_t& hipsolver_handle, const int& itype, const char& j hipErrcheck(hipMemcpy(&h_info, d_info, sizeof(int), hipMemcpyDeviceToHost)); if (h_info != 0) { - throw std::runtime_error("dnevd: failed to invert matrix"); + throw std::runtime_error("heevd: failed to invert matrix"); } hipErrcheck(hipFree(d_info)); hipErrcheck(hipFree(d_work)); diff --git a/source/source_base/module_container/base/third_party/lapack.h b/source/source_base/module_container/base/third_party/lapack.h index 7452dc1835..34881055fd 100644 --- a/source/source_base/module_container/base/third_party/lapack.h +++ b/source/source_base/module_container/base/third_party/lapack.h @@ -1,3 +1,18 @@ +/** + * @file lapack.h + * @brief This is a direct wrapper of some LAPACK routines. + * \b Column-Major version. + * Direct wrapping of standard LAPACK routines. (Column-Major, fortran style) + * + * @warning For Row-major version, please refer to \c source/source_base/module_external/lapack_connector.h. + * + * @note + * Some slight modification are made to fit the C++ style for overloading purpose. + * You can find some function with different parameter list than the original LAPACK routine. + * And some of these parameters are not referred in the function body. They are included just to + * ensure the same parameter list for overloaded functions with a uniform name. + */ + #ifndef BASE_THIRD_PARTY_LAPACK_H_ #define BASE_THIRD_PARTY_LAPACK_H_ @@ -10,6 +25,10 @@ #include #endif +/// This is a wrapper of some LAPACK routines. +/// Direct wrapping of standard LAPACK routines. (column major, fortran style) +/// with some slight modification to fit the C++ style for overloading purpose. + //Naming convention of lapack subroutines : ammxxx, where //"a" specifies the data type: // - d stands for double @@ -22,103 +41,172 @@ extern "C" { -int ilaenv_(int* ispec,const char* name,const char* opts, - const int* n1,const int* n2,const int* n3,const int* n4); - +// ILAENV - environment inquiry +int ilaenv_(const int* ispec, const char* name, const char* opts, + const int* n1, const int* n2, const int* n3, const int* n4); -// solve the generalized eigenproblem Ax=eBx, where A is Hermitian and complex couble -// zhegv_ & zhegvd_ returns all eigenvalues while zhegvx_ returns selected ones +// Generalized symmetric-definite eigenproblems (divide-and-conquer) void ssygvd_(const int* itype, const char* jobz, const char* uplo, const int* n, float* a, const int* lda, - const float* b, const int* ldb, float* w, - float* work, int* lwork, - int* iwork, int* liwork, int* info); + float* b, const int* ldb, + float* w, + float* work, const int* lwork, + int* iwork, const int* liwork, + int* info); void dsygvd_(const int* itype, const char* jobz, const char* uplo, const int* n, double* a, const int* lda, - const double* b, const int* ldb, double* w, - double* work, int* lwork, - int* iwork, int* liwork, int* info); + double* b, const int* ldb, + double* w, + double* work, const int* lwork, + int* iwork, const int* liwork, + int* info); void chegvd_(const int* itype, const char* jobz, const char* uplo, const int* n, std::complex* a, const int* lda, - const std::complex* b, const int* ldb, float* w, - std::complex* work, int* lwork, float* rwork, int* lrwork, - int* iwork, int* liwork, int* info); + std::complex* b, const int* ldb, + float* w, + std::complex* work, const int* lwork, + float* rwork, const int* lrwork, + int* iwork, const int* liwork, + int* info); void zhegvd_(const int* itype, const char* jobz, const char* uplo, const int* n, std::complex* a, const int* lda, - const std::complex* b, const int* ldb, double* w, - std::complex* work, int* lwork, double* rwork, int* lrwork, - int* iwork, int* liwork, int* info); + std::complex* b, const int* ldb, + double* w, + std::complex* work, const int* lwork, + double* rwork, const int* lrwork, + int* iwork, const int* liwork, + int* info); + +// Generalized symmetric-definite eigenproblems (selected eigenvalues/vectors) +void ssygvx_(const int* itype, const char* jobz, const char* range, const char* uplo, + const int* n, float* A, const int* lda, float* B, const int* ldb, + const float* vl, const float* vu, const int* il, const int* iu, + const float* abstol, int* m, float* w, float* Z, const int* ldz, + float* work, const int* lwork, int* iwork, int* ifail, int* info); + +void dsygvx_(const int* itype, const char* jobz, const char* range, const char* uplo, + const int* n, double* A, const int* lda, double* B, const int* ldb, + const double* vl, const double* vu, const int* il, const int* iu, + const double* abstol, int* m, double* w, double* Z, const int* ldz, + double* work, const int* lwork, int* iwork, int* ifail, int* info); +void chegvx_(const int* itype, const char* jobz, const char* range, const char* uplo, + const int* n, std::complex* A, const int* lda, std::complex* B, const int* ldb, + const float* vl, const float* vu, const int* il, const int* iu, + const float* abstol, int* m, float* w, std::complex* Z, const int* ldz, + std::complex* work, const int* lwork, float* rwork, int* iwork, int* ifail, int* info); + +void zhegvx_(const int* itype, const char* jobz, const char* range, const char* uplo, + const int* n, std::complex* A, const int* lda, std::complex* B, const int* ldb, + const double* vl, const double* vu, const int* il, const int* iu, + const double* abstol, int* m, double* w, std::complex* Z, const int* ldz, + std::complex* work, const int* lwork, double* rwork, int* iwork, int* ifail, int* info); + +// Standard symmetric eigenproblems (selected) void ssyevx_(const char* jobz, const char* range, const char* uplo, const int* n, - float *a, const int* lda, - const float* vl, const float* vu, const int* il, const int* iu, const float* abstol, - const int* m, float* w, float *z, const int *ldz, - float *work, const int* lwork, float* rwork, int* iwork, int* ifail, int* info); + float* a, const int* lda, + const float* vl, const float* vu, const int* il, const int* iu, + const float* abstol, int* m, float* w, float* z, const int* ldz, + float* work, const int* lwork, int* iwork, int* ifail, int* info); + void dsyevx_(const char* jobz, const char* range, const char* uplo, const int* n, - double *a, const int* lda, - const double* vl, const double* vu, const int* il, const int* iu, const double* abstol, - const int* m, double* w, double *z, const int *ldz, - double *work, const int* lwork, double* rwork, int* iwork, int* ifail, int* info); + double* a, const int* lda, + const double* vl, const double* vu, const int* il, const int* iu, + const double* abstol, int* m, double* w, double* z, const int* ldz, + double* work, const int* lwork, int* iwork, int* ifail, int* info); + void cheevx_(const char* jobz, const char* range, const char* uplo, const int* n, - std::complex *a, const int* lda, - const float* vl, const float* vu, const int* il, const int* iu, const float* abstol, - const int* m, float* w, std::complex *z, const int *ldz, - std::complex *work, const int* lwork, float* rwork, int* iwork, int* ifail, int* info); + std::complex* a, const int* lda, + const float* vl, const float* vu, const int* il, const int* iu, + const float* abstol, int* m, float* w, std::complex* z, const int* ldz, + std::complex* work, const int* lwork, float* rwork, int* iwork, int* ifail, int* info); + void zheevx_(const char* jobz, const char* range, const char* uplo, const int* n, - std::complex *a, const int* lda, - const double* vl, const double* vu, const int* il, const int* iu, const double* abstol, - const int* m, double* w, std::complex *z, const int *ldz, - std::complex *work, const int* lwork, double* rwork, int* iwork, int* ifail, int* info); - -void ssyevd_(const char *jobz, const char *uplo, const int *n, - float *a, const int *lda, float *w, - float *work, int *lwork, - int *iwork, int *liwork, int *info); -void dsyevd_(const char *jobz, const char *uplo, const int *n, - double *a, const int *lda, double *w, - double *work, int *lwork, - int *iwork, int *liwork, int *info); -void cheevd_(const char *jobz, const char *uplo, const int *n, - std::complex *a, const int *lda, float *w, - std::complex *work, int *lwork, float *rwork, int *lrwork, - int *iwork, int *liwork, int *info); -void zheevd_(const char *jobz, const char *uplo, const int *n, - std::complex *a, const int *lda, double *w, - std::complex *work, int *lwork, double *rwork, int *lrwork, - int *iwork, int *liwork, int *info); - -void spotrf_(const char*const uplo, const int*const n, float*const A, const int*const lda, int*const info); -void dpotrf_(const char*const uplo, const int*const n, double*const A, const int*const lda, int*const info); -void cpotrf_(const char*const uplo, const int*const n, std::complex*const A, const int*const lda, int*const info); -void zpotrf_(const char*const uplo, const int*const n, std::complex*const A, const int*const lda, int*const info); - -void spotri_(const char*const uplo, const int*const n, float*const A, const int*const lda, int*const info); -void dpotri_(const char*const uplo, const int*const n, double*const A, const int*const lda, int*const info); -void cpotri_(const char*const uplo, const int*const n, std::complex*const A, const int*const lda, int*const info); -void zpotri_(const char*const uplo, const int*const n, std::complex*const A, const int*const lda, int*const info); + std::complex* a, const int* lda, + const double* vl, const double* vu, const int* il, const int* iu, + const double* abstol, int* m, double* w, std::complex* z, const int* ldz, + std::complex* work, const int* lwork, double* rwork, int* iwork, int* ifail, int* info); + +// Standard symmetric eigenproblems (divide-and-conquer) +void ssyevd_(const char* jobz, const char* uplo, const int* n, + float* a, const int* lda, float* w, + float* work, const int* lwork, + int* iwork, const int* liwork, int* info); + +void dsyevd_(const char* jobz, const char* uplo, const int* n, + double* a, const int* lda, double* w, + double* work, const int* lwork, + int* iwork, const int* liwork, int* info); + +void cheevd_(const char* jobz, const char* uplo, const int* n, + std::complex* a, const int* lda, float* w, + std::complex* work, const int* lwork, float* rwork, const int* lrwork, + int* iwork, const int* liwork, int* info); + +void zheevd_(const char* jobz, const char* uplo, const int* n, + std::complex* a, const int* lda, double* w, + std::complex* work, const int* lwork, double* rwork, const int* lrwork, + int* iwork, const int* liwork, int* info); + +// Cholesky factorization +void spotrf_(const char* uplo, const int* n, float* A, const int* lda, int* info); +void dpotrf_(const char* uplo, const int* n, double* A, const int* lda, int* info); +void cpotrf_(const char* uplo, const int* n, std::complex* A, const int* lda, int* info); +void zpotrf_(const char* uplo, const int* n, std::complex* A, const int* lda, int* info); +// Inverse using Cholesky factorization +void spotri_(const char* uplo, const int* n, float* A, const int* lda, int* info); +void dpotri_(const char* uplo, const int* n, double* A, const int* lda, int* info); +void cpotri_(const char* uplo, const int* n, std::complex* A, const int* lda, int* info); +void zpotri_(const char* uplo, const int* n, std::complex* A, const int* lda, int* info); + +// Inverse of triangular matrix void strtri_(const char* uplo, const char* diag, const int* n, float* a, const int* lda, int* info); void dtrtri_(const char* uplo, const char* diag, const int* n, double* a, const int* lda, int* info); void ctrtri_(const char* uplo, const char* diag, const int* n, std::complex* a, const int* lda, int* info); void ztrtri_(const char* uplo, const char* diag, const int* n, std::complex* a, const int* lda, int* info); +// LU factorization void sgetrf_(const int* m, const int* n, float* a, const int* lda, int* ipiv, int* info); void dgetrf_(const int* m, const int* n, double* a, const int* lda, int* ipiv, int* info); void cgetrf_(const int* m, const int* n, std::complex* a, const int* lda, int* ipiv, int* info); void zgetrf_(const int* m, const int* n, std::complex* a, const int* lda, int* ipiv, int* info); +// Inverse using LU factorization void sgetri_(const int* n, float* A, const int* lda, const int* ipiv, float* work, const int* lwork, int* info); void dgetri_(const int* n, double* A, const int* lda, const int* ipiv, double* work, const int* lwork, int* info); void cgetri_(const int* n, std::complex* A, const int* lda, const int* ipiv, std::complex* work, const int* lwork, int* info); void zgetri_(const int* n, std::complex* A, const int* lda, const int* ipiv, std::complex* work, const int* lwork, int* info); -void sgetrs_(const char* trans, const int* n, const int* nrhs, const float* A, const int* lda, const int* ipiv, float* B, const int* ldb, int* info); -void dgetrs_(const char* trans, const int* n, const int* nrhs, const double* A, const int* lda, const int* ipiv, double* B, const int* ldb, int* info); -void cgetrs_(const char* trans, const int* n, const int* nrhs, const std::complex* A, const int* lda, const int* ipiv, std::complex* B, const int* ldb, int* info); -void zgetrs_(const char* trans, const int* n, const int* nrhs, const std::complex* A, const int* lda, const int* ipiv, std::complex* B, const int* ldb, int* info); +// Solve linear system using LU factorization +void sgetrs_(const char* trans, const int* n, const int* nrhs, + const float* A, const int* lda, const int* ipiv, + float* B, const int* ldb, int* info); +void dgetrs_(const char* trans, const int* n, const int* nrhs, + const double* A, const int* lda, const int* ipiv, + double* B, const int* ldb, int* info); +void cgetrs_(const char* trans, const int* n, const int* nrhs, + const std::complex* A, const int* lda, const int* ipiv, + std::complex* B, const int* ldb, int* info); +void zgetrs_(const char* trans, const int* n, const int* nrhs, + const std::complex* A, const int* lda, const int* ipiv, + std::complex* B, const int* ldb, int* info); + +// QR factorization +// build R and Householder +void sgeqrf_(const int* m, const int* n, float* A, const int* lda, float* tau, float *work, const int* lwork, int* info); +void dgeqrf_(const int* m, const int* n, double* A, const int* lda, double* tau, double *work, const int* lwork, int* info); +void cgeqrf_(const int* m, const int* n, std::complex* A, const int* lda, std::complex* tau, std::complex *work, const int* lwork, int* info); +void zgeqrf_(const int* m, const int* n, std::complex* A, const int* lda, std::complex* tau, std::complex *work, const int* lwork, int* info); +// make explicit Q +void sorgqr_(const int* m, const int* n, const int* k, float* A, const int* lda, const float* tau, float* work, const int* lwork, int* info); +void dorgqr_(const int* m, const int* n, const int* k, double* A, const int* lda, const double* tau, double* work, const int* lwork, int* info); +void cungqr_(const int* m, const int* n, const int* k, std::complex* A, const int* lda, const std::complex* tau, std::complex *work, const int* lwork, int* info); +void zungqr_(const int* m, const int* n, const int* k, std::complex* A, const int* lda, const std::complex* tau, std::complex *work, const int* lwork, int* info); + } // Class LapackConnector provide the connector to fortran lapack routine. @@ -136,9 +224,9 @@ int ilaenv( int ispec, const char *name,const char *opts,const int n1,const int } // wrap function of fortran lapack routine zhegvd. (pointer version) static inline -void dngvd(const int itype, const char jobz, const char uplo, const int n, +void hegvd(const int itype, const char jobz, const char uplo, const int n, float* a, const int lda, - const float* b, const int ldb, float* w, + float* b, const int ldb, float* w, float* work, int lwork, float* rwork, int lrwork, int* iwork, int liwork, int info) { @@ -150,9 +238,9 @@ void dngvd(const int itype, const char jobz, const char uplo, const int n, } // wrap function of fortran lapack routine zhegvd. static inline -void dngvd(const int itype, const char jobz, const char uplo, const int n, +void hegvd(const int itype, const char jobz, const char uplo, const int n, double* a, const int lda, - const double* b, const int ldb, double* w, + double* b, const int ldb, double* w, double* work, int lwork, double* rwork, int lrwork, int* iwork, int liwork, int info) { @@ -163,9 +251,9 @@ void dngvd(const int itype, const char jobz, const char uplo, const int n, iwork, &liwork, &info); } static inline -void dngvd(const int itype, const char jobz, const char uplo, const int n, +void hegvd(const int itype, const char jobz, const char uplo, const int n, std::complex* a, const int lda, - const std::complex* b, const int ldb, float* w, + std::complex* b, const int ldb, float* w, std::complex* work, int lwork, float* rwork, int lrwork, int* iwork, int liwork, int info) { @@ -177,9 +265,9 @@ void dngvd(const int itype, const char jobz, const char uplo, const int n, } // wrap function of fortran lapack routine zhegvd. static inline -void dngvd(const int itype, const char jobz, const char uplo, const int n, +void hegvd(const int itype, const char jobz, const char uplo, const int n, std::complex* a, const int lda, - const std::complex* b, const int ldb, double* w, + std::complex* b, const int ldb, double* w, std::complex* work, int lwork, double* rwork, int lrwork, int* iwork, int liwork, int info) { @@ -190,37 +278,99 @@ void dngvd(const int itype, const char jobz, const char uplo, const int n, iwork, &liwork, &info); } +// Note +// rwork is only needed for complex version +// and we include rwork in the function parameter list +// for simplicity of function overloading +// and unification of function parameter list +static inline +void hegvx(const int itype, const char jobz, const char range, const char uplo, const int n, + float* a, const int lda, float* b, const int ldb, + const float vl, const float vu, const int il, const int iu, const float abstol, + int m, float* w, float* z, const int ldz, + float* work, const int lwork, float* rwork, int* iwork, int* ifail, int& info) +{ + ssygvx_(&itype, &jobz, &range, &uplo, &n, + a, &lda, b, &ldb, + &vl, &vu, &il, &iu, + &abstol, &m, w, z, &ldz, + work, &lwork, iwork, ifail, &info); +} + +static inline +void hegvx(const int itype, const char jobz, const char range, const char uplo, const int n, + double* a, const int lda, double* b, const int ldb, + const double vl, const double vu, const int il, const int iu, const double abstol, + int m, double* w, double* z, const int ldz, + double* work, const int lwork, double* rwork, int* iwork, int* ifail, int& info) +{ + dsygvx_(&itype, &jobz, &range, &uplo, &n, + a, &lda, b, &ldb, + &vl, &vu, &il, &iu, + &abstol, &m, w, z, &ldz, + work, &lwork, iwork, ifail, &info); +} + +static inline +void hegvx(const int itype, const char jobz, const char range, const char uplo, const int n, + std::complex* a, const int lda, std::complex* b, const int ldb, + const float vl, const float vu, const int il, const int iu, const float abstol, + int m, float* w, std::complex* z, const int ldz, + std::complex* work, const int lwork, float* rwork, int* iwork, int* ifail, int& info) +{ + chegvx_(&itype, &jobz, &range, &uplo, &n, + a, &lda, b, &ldb, + &vl, &vu, &il, &iu, + &abstol, &m, w, z, &ldz, + work, &lwork, rwork, iwork, ifail, &info); +} + +static inline +void hegvx(const int itype, const char jobz, const char range, const char uplo, const int n, + std::complex* a, const int lda, std::complex* b, const int ldb, + const double vl, const double vu, const int il, const int iu, const double abstol, + int m, double* w, std::complex* z, const int ldz, + std::complex* work, const int lwork, double* rwork, int* iwork, int* ifail, int& info) +{ + zhegvx_(&itype, &jobz, &range, &uplo, &n, + a, &lda, b, &ldb, + &vl, &vu, &il, &iu, + &abstol, &m, w, z, &ldz, + work, &lwork, rwork, iwork, ifail, &info); +} + + // wrap function of fortran lapack routine zheevx. static inline -void dnevx( const int itype, const char jobz, const char range, const char uplo, const int n, +void heevx(const char jobz, const char range, const char uplo, const int n, float* a, const int lda, const float vl, const float vu, const int il, const int iu, const float abstol, - const int m, float* w, float* z, const int ldz, + int m, float* w, float* z, const int ldz, float* work, const int lwork, float* rwork, int* iwork, int* ifail, int info) { ssyevx_(&jobz, &range, &uplo, &n, a, &lda, &vl, &vu, &il, &iu, &abstol, &m, w, z, &ldz, - work, &lwork, rwork, iwork, ifail, &info); + work, &lwork, iwork, ifail, &info); } // wrap function of fortran lapack routine zheevx. static inline -void dnevx( const int itype, const char jobz, const char range, const char uplo, const int n, - double* a, const int lda, - const double vl, const double vu, const int il, const int iu, const double abstol, - const int m, double* w, double* z, const int ldz, - double* work, const int lwork, double* rwork, int* iwork, int* ifail, int info) +void heevx(const char jobz, const char range, const char uplo, const int n, + double* a, const int lda, + const double vl, const double vu, const int il, const int iu, const double abstol, + int m, double* w, double* z, const int ldz, + double* work, const int lwork, double* rwork, int* iwork, int* ifail, int info) { dsyevx_(&jobz, &range, &uplo, &n, a, &lda, &vl, &vu, &il, &iu, &abstol, &m, w, z, &ldz, - work, &lwork, rwork, iwork, ifail, &info); + work, &lwork, iwork, ifail, &info); } static inline -void dnevx( const int itype, const char jobz, const char range, const char uplo, const int n, +void heevx(const char jobz, const char range, const char uplo, const int n, std::complex* a, const int lda, const float vl, const float vu, const int il, const int iu, const float abstol, - const int m, float* w, std::complex* z, const int ldz, + int m, float* w, std::complex* z, const int ldz, std::complex* work, const int lwork, float* rwork, int* iwork, int* ifail, int info) { cheevx_(&jobz, &range, &uplo, &n, @@ -230,10 +380,10 @@ void dnevx( const int itype, const char jobz, const char range, const char uplo, } // wrap function of fortran lapack routine zheevx. static inline -void dnevx( const int itype, const char jobz, const char range, const char uplo, const int n, +void heevx(const char jobz, const char range, const char uplo, const int n, std::complex* a, const int lda, const double vl, const double vu, const int il, const int iu, const double abstol, - const int m, double* w, std::complex* z, const int ldz, + int m, double* w, std::complex* z, const int ldz, std::complex* work, const int lwork, double* rwork, int* iwork, int* ifail, int info) { zheevx_(&jobz, &range, &uplo, &n, @@ -243,7 +393,7 @@ void dnevx( const int itype, const char jobz, const char range, const char uplo, } static inline -void dnevd(const char jobz, const char uplo, const int n, +void heevd(const char jobz, const char uplo, const int n, float* a, const int lda, float* w, float* work, int lwork, float* rwork, int lrwork, int* iwork, int liwork, int& info) @@ -256,7 +406,7 @@ void dnevd(const char jobz, const char uplo, const int n, } // wrap function of fortran lapack routine zhegvd. static inline -void dnevd(const char jobz, const char uplo, const int n, +void heevd(const char jobz, const char uplo, const int n, double* a, const int lda, double* w, double* work, int lwork, double* rwork, int lrwork, int* iwork, int liwork, int& info) @@ -268,7 +418,7 @@ void dnevd(const char jobz, const char uplo, const int n, iwork, &liwork, &info); } static inline -void dnevd(const char jobz, const char uplo, const int n, +void heevd(const char jobz, const char uplo, const int n, std::complex* a, const int lda, float* w, std::complex* work, int lwork, float* rwork, int lrwork, int* iwork, int liwork, int& info) @@ -281,7 +431,7 @@ void dnevd(const char jobz, const char uplo, const int n, } // wrap function of fortran lapack routine zhegvd. static inline -void dnevd(const char jobz, const char uplo, const int n, +void heevd(const char jobz, const char uplo, const int n, std::complex* a, const int lda, double* w, std::complex* work, int lwork, double* rwork, int lrwork, int* iwork, int liwork, int& info) @@ -297,17 +447,17 @@ static inline void potrf( const char &uplo, const int &n, float* A, const int &lda, int &info ) { spotrf_(&uplo, &n, A, &lda, &info ); -} +} static inline void potrf( const char &uplo, const int &n, double* A, const int &lda, int &info ) { dpotrf_(&uplo, &n, A, &lda, &info ); -} +} static inline void potrf( const char &uplo, const int &n, std::complex* A, const int &lda, int &info ) { cpotrf_(&uplo, &n, A, &lda, &info ); -} +} static inline void potrf( const char &uplo, const int &n, std::complex* A, const int &lda, int &info ) { @@ -398,6 +548,49 @@ void getrs(const char& trans, const int n, const int nrhs, std::complex* zgetrs_(&trans, &n, &nrhs, A, &lda, ipiv, B, &ldb, &info); } +// LAPACK routines for QR decomposition +static inline +void geqrf(const int m, const int n, float* A, const int lda, float* tau, float* work, const int lwork, int& info) +{ + sgeqrf_(&m, &n, A, &lda, tau, work, &lwork, &info); +} +static inline +void geqrf(const int m, const int n, double* A, const int lda, double* tau, double* work, const int lwork, int& info) +{ + dgeqrf_(&m, &n, A, &lda, tau, work, &lwork, &info); +} +static inline +void geqrf(const int m, const int n, std::complex* A, const int lda, std::complex* tau, std::complex* work, const int lwork, int& info) +{ + cgeqrf_(&m, &n, A, &lda, tau, work, &lwork, &info); +} +static inline +void geqrf(const int m, const int n, std::complex* A, const int lda, std::complex* tau, std::complex* work, const int lwork, int& info) +{ + zgeqrf_(&m, &n, A, &lda, tau, work, &lwork, &info); +} +// these routines generate the orthogonal matrix Q from the QR decomposition +static inline +void orgqr(const int m, const int n, const int k, float* A, const int lda, const float* tau, float* work, const int lwork, int& info) +{ + sorgqr_(&m, &n, &k, A, &lda, tau, work, &lwork, &info); +} +static inline +void orgqr(const int m, const int n, const int k, double* A, const int lda, const double* tau, double* work, const int lwork, int& info) +{ + dorgqr_(&m, &n, &k, A, &lda, tau, work, &lwork, &info); +} +static inline +void orgqr(const int m, const int n, const int k, std::complex* A, const int lda, const std::complex* tau, std::complex* work, const int lwork, int& info) +{ + cungqr_(&m, &n, &k, A, &lda, tau, work, &lwork, &info); +} +static inline +void orgqr(const int m, const int n, const int k, std::complex* A, const int lda, const std::complex* tau, std::complex* work, const int lwork, int& info) +{ + zungqr_(&m, &n, &k, A, &lda, tau, work, &lwork, &info); +} + } // namespace lapackConnector } // namespace container diff --git a/source/source_base/module_device/cuda/memory_op.cu b/source/source_base/module_device/cuda/memory_op.cu index 43eae7975c..ecc972c3ba 100644 --- a/source/source_base/module_device/cuda/memory_op.cu +++ b/source/source_base/module_device/cuda/memory_op.cu @@ -85,6 +85,16 @@ void set_memory_op::operator()(FPTYPE* arr, cudaErrcheck(cudaMemset(arr, var, sizeof(FPTYPE) * size)); } +template +void set_memory_2d_op::operator()(FPTYPE* arr, + const size_t pitch, + const int var, + const size_t width, + const size_t height) +{ + cudaErrcheck(cudaMemset2D(arr, sizeof(FPTYPE) * pitch , var, sizeof(FPTYPE) * width, height)); +} + template void synchronize_memory_op::operator()( FPTYPE* arr_out, @@ -112,6 +122,42 @@ void synchronize_memory_op +void synchronize_memory_2d_op::operator()( + FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height) +{ + cudaErrcheck(cudaMemcpy2D(arr_out, dpitch * sizeof(FPTYPE), arr_in, spitch * sizeof(FPTYPE), width * sizeof(FPTYPE), height, cudaMemcpyDeviceToHost)); +} + +template +void synchronize_memory_2d_op::operator()( + FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height) +{ + cudaErrcheck(cudaMemcpy2D(arr_out, dpitch * sizeof(FPTYPE), arr_in, spitch * sizeof(FPTYPE), width * sizeof(FPTYPE), height, cudaMemcpyHostToDevice)); +} + +template +void synchronize_memory_2d_op::operator()( + FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height) +{ + cudaErrcheck(cudaMemcpy2D(arr_out, dpitch * sizeof(FPTYPE), arr_in, spitch * sizeof(FPTYPE), width * sizeof(FPTYPE), height, cudaMemcpyDeviceToDevice)); +} + template struct cast_memory_op { @@ -196,6 +242,12 @@ template struct set_memory_op; template struct set_memory_op, base_device::DEVICE_GPU>; template struct set_memory_op, base_device::DEVICE_GPU>; +template struct set_memory_2d_op; +template struct set_memory_2d_op; +template struct set_memory_2d_op; +template struct set_memory_2d_op, base_device::DEVICE_GPU>; +template struct set_memory_2d_op, base_device::DEVICE_GPU>; + template struct synchronize_memory_op; template struct synchronize_memory_op; template struct synchronize_memory_op; @@ -212,6 +264,22 @@ template struct synchronize_memory_op, base_device::DEVICE_ template struct synchronize_memory_op, base_device::DEVICE_GPU, base_device::DEVICE_CPU>; template struct synchronize_memory_op, base_device::DEVICE_GPU, base_device::DEVICE_GPU>; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op, base_device::DEVICE_CPU, base_device::DEVICE_GPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_GPU, base_device::DEVICE_CPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_GPU, base_device::DEVICE_GPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_CPU, base_device::DEVICE_GPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_GPU, base_device::DEVICE_CPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_GPU, base_device::DEVICE_GPU>; + template struct cast_memory_op; template struct cast_memory_op; template struct cast_memory_op; diff --git a/source/source_base/module_device/cuda_compat.cpp b/source/source_base/module_device/cuda_compat.cpp new file mode 100644 index 0000000000..4f84c38cfe --- /dev/null +++ b/source/source_base/module_device/cuda_compat.cpp @@ -0,0 +1,116 @@ +#include "cuda_compat.h" + +namespace ModuleBase { +namespace cuda_compat { + +//--------------------------------------------------------------------------- +// Implementation of printDeprecatedDeviceInfo and printComputeModeInfo +//--------------------------------------------------------------------------- +void printDeprecatedDeviceInfo(std::ostream& ofs_device, const cudaDeviceProp& deviceProp) +{ +#if defined(CUDA_VERSION) && CUDA_VERSION < 13000 + char msg[1024]; + sprintf(msg, + " GPU Max Clock rate: %.0f MHz (%0.2f " + "GHz)\n", + deviceProp.clockRate * 1e-3f, deviceProp.clockRate * 1e-6f); + ofs_device << msg << std::endl; + // This is supported in CUDA 5.0 (runtime API device properties) + sprintf(msg, " Memory Clock rate: %.0f Mhz\n", + deviceProp.memoryClockRate * 1e-3f); + ofs_device << msg << std::endl; + + sprintf(msg, " Memory Bus Width: %d-bit\n", + deviceProp.memoryBusWidth); + ofs_device << msg << std::endl; + + sprintf(msg, + " Concurrent copy and kernel execution: %s with %d copy " + "engine(s)\n", + (deviceProp.deviceOverlap ? "Yes" : "No"), + deviceProp.asyncEngineCount); + ofs_device << msg << std::endl; + sprintf(msg, " Run time limit on kernels: %s\n", + deviceProp.kernelExecTimeoutEnabled ? "Yes" : "No"); + ofs_device << msg << std::endl; +#endif +} + +void printComputeModeInfo(std::ostream& ofs_device, const cudaDeviceProp& deviceProp) +{ +#if defined(CUDA_VERSION) && CUDA_VERSION < 13000 + char msg[1024]; + sprintf(msg, " Supports MultiDevice Co-op Kernel Launch: %s\n", + deviceProp.cooperativeMultiDeviceLaunch ? "Yes" : "No"); + ofs_device << msg << std::endl; + + const char *sComputeMode[] = { + "Default (multiple host threads can use ::cudaSetDevice() with device " + "simultaneously)", + "Exclusive (only one host thread in one process is able to use " + "::cudaSetDevice() with this device)", + "Prohibited (no host thread can use ::cudaSetDevice() with this " + "device)", + "Exclusive Process (many threads in one process is able to use " + "::cudaSetDevice() with this device)", + "Unknown", + NULL}; + sprintf(msg, " Compute Mode:\n"); + ofs_device << msg << std::endl; + ofs_device << " " << sComputeMode[deviceProp.computeMode] << std::endl + << std::endl; +#endif +} + +//------------------------------------------------------------------------------------------------- +// Implementation of cufftGetErrorStringCompat +//------------------------------------------------------------------------------------------------- +const char* cufftGetErrorStringCompat(cufftResult_t error) +{ + switch (error) + { + case CUFFT_SUCCESS: + return "CUFFT_SUCCESS"; + case CUFFT_INVALID_PLAN: + return "CUFFT_INVALID_PLAN"; + case CUFFT_ALLOC_FAILED: + return "CUFFT_ALLOC_FAILED"; + case CUFFT_INVALID_TYPE: + return "CUFFT_INVALID_TYPE"; + case CUFFT_INVALID_VALUE: + return "CUFFT_INVALID_VALUE"; + case CUFFT_INTERNAL_ERROR: + return "CUFFT_INTERNAL_ERROR"; + case CUFFT_EXEC_FAILED: + return "CUFFT_EXEC_FAILED"; + case CUFFT_SETUP_FAILED: + return "CUFFT_SETUP_FAILED"; + case CUFFT_INVALID_SIZE: + return "CUFFT_INVALID_SIZE"; + case CUFFT_UNALIGNED_DATA: + return "CUFFT_UNALIGNED_DATA"; + case CUFFT_INVALID_DEVICE: + return "CUFFT_INVALID_DEVICE"; + case CUFFT_NO_WORKSPACE: + return "CUFFT_NO_WORKSPACE"; + case CUFFT_NOT_IMPLEMENTED: + return "CUFFT_NOT_IMPLEMENTED"; + case CUFFT_NOT_SUPPORTED: + return "CUFFT_NOT_SUPPORTED"; + +#if defined(CUDA_VERSION) && CUDA_VERSION < 13000 + case CUFFT_INCOMPLETE_PARAMETER_LIST: + return "CUFFT_INCOMPLETE_PARAMETER_LIST"; + case CUFFT_PARSE_ERROR: + return "CUFFT_PARSE_ERROR"; + case CUFFT_LICENSE_ERROR: + return "CUFFT_LICENSE_ERROR"; +#endif + + default: + return ""; + } +} + +} // namespace cuda_compat +} // namespace ModuleBase diff --git a/source/source_base/module_device/cuda_compat.h b/source/source_base/module_device/cuda_compat.h new file mode 100644 index 0000000000..699ce23cea --- /dev/null +++ b/source/source_base/module_device/cuda_compat.h @@ -0,0 +1,81 @@ +/** + * @file cuda_compat.h + * @brief Compatibility layer for CUDA and NVTX headers across different CUDA Toolkit versions. + * + * This header abstracts the differences in NVTX (NVIDIA Tools Extension) header locations + * between CUDA Toolkit versions. + * + * @note Depends on the CUDA_VERSION macro defined in . + * + */ + +#ifndef CUDA_COMPAT_H_ +#define CUDA_COMPAT_H_ + +#include // For std::ostream +#include // For std::invalid_argument +#include // defines CUDA_VERSION +#include +#include + + +// NVTX header for CUDA versions prior to 12.9 vs. 12.9+ +// This block ensures the correct NVTX header path is used based on CUDA_VERSION. +// - For CUDA Toolkit < 12.9, the legacy header "nvToolsExt.h" is included. +// - For CUDA Toolkit >= 12.9, the modern header "nvtx3/nvToolsExt.h" is included, +// and NVTX v2 is removed from 12.9. +// This allows NVTX profiling APIs (e.g. nvtxRangePush) to be used consistently +// across different CUDA versions. +// See: +// https://docs.nvidia.com/cuda/archive/12.9.0/cuda-toolkit-release-notes/index.html#id4 +#if defined(__CUDA) && defined(__USE_NVTX) +#if CUDA_VERSION < 12090 + #include "nvToolsExt.h" +#else + #include "nvtx3/nvToolsExt.h" +#endif +#endif + +//------------------------------------------------------------------------------------------------- +// Compatibility Layer Declarations +//------------------------------------------------------------------------------------------------- +namespace ModuleBase { +namespace cuda_compat { + +/** + * @brief Prints device information that was deprecated or removed in CUDA 13.0. + * + * This function handles properties like clockRate, memoryClockRate, memoryBusWidth, + * and concurrency flags, which are not available in newer CUDA toolkits. + * + * @param os The output stream (e.g., std::cout, std::ofstream). + * @param prop The cudaDeviceProp structure containing device properties. + */ +void printDeprecatedDeviceInfo(std::ostream& os, const cudaDeviceProp& prop); + +/** + * @brief Prints the device's compute mode using a legacy string mapping. + * + * The compute mode display logic is encapsulated here as it relies on aspects + * of the driver model that have changed. + * + * @param os The output stream (e.g., std::cout, std::ofstream). + * @param prop The cudaDeviceProp structure containing device properties. + */ +void printComputeModeInfo(std::ostream& os, const cudaDeviceProp& prop); + +/** + * @brief Provides a cross-CUDA-version string conversion for cuFFT error codes. + * + * In CUDA 13.0, several error codes were removed. This function handles + * these differences gracefully. + * + * @param error The cufftResult_t error code. + * @return const char* A descriptive string for the error. + */ +const char* cufftGetErrorStringCompat(cufftResult_t error); + +} // namespace cuda_compat +} // namespace ModuleBase + +#endif // CUDA_COMPAT_H_ diff --git a/source/source_base/module_device/device.cpp b/source/source_base/module_device/device.cpp index d8837e1995..bddfbaa62e 100644 --- a/source/source_base/module_device/device.cpp +++ b/source/source_base/module_device/device.cpp @@ -1,4 +1,3 @@ - #include "device.h" #include "source_base/tool_quit.h" @@ -147,58 +146,76 @@ int set_device_by_rank(const MPI_Comm mpi_comm) { #endif -std::string get_device_flag(const std::string &device, - const std::string &basis_type) { -if (device == "cpu") { - return "cpu"; // no extra checks required -} -std::string error_message; -if (device != "auto" and device != "gpu") -{ - error_message += "Parameter \"device\" can only be set to \"cpu\" or \"gpu\"!"; - ModuleBase::WARNING_QUIT("device", error_message); -} - -// Get available GPU count -int device_count = -1; -#if ((defined __CUDA) || (defined __ROCM)) +bool probe_gpu_availability() { #if defined(__CUDA) -cudaGetDeviceCount(&device_count); + int device_count = 0; + // Directly call cudaGetDeviceCount without cudaErrcheck to prevent program exit + cudaError_t error_id = cudaGetDeviceCount(&device_count); + if (error_id == cudaSuccess && device_count > 0) { + return true; + } + return false; #elif defined(__ROCM) -hipGetDeviceCount(&device_count); -/***auto start_time = std::chrono::high_resolution_clock::now(); -std::cout << "Starting hipGetDeviceCount.." << std::endl; -auto end_time = std::chrono::high_resolution_clock::now(); -auto duration = std::chrono::duration_cast>(end_time - start_time); -std::cout << "hipGetDeviceCount took " << duration.count() << "seconds" << std::endl;***/ + int device_count = 0; + hipError_t error_id = hipGetDeviceCount(&device_count); + if (error_id == hipSuccess && device_count > 0) { + return true; + } + return false; +#else + // If not compiled with GPU support, GPU is not available + return false; #endif -if (device_count <= 0) -{ - error_message += "Cannot find GPU on this computer!\n"; } -#else // CPU only -error_message += "ABACUS is built with CPU support only. Please rebuild with GPU support.\n"; -#endif -if (basis_type == "lcao_in_pw") { - error_message += - "The GPU currently does not support the basis type \"lcao_in_pw\"!"; -} -if(error_message.empty()) -{ - return "gpu"; // possibly automatically set to GPU -} -else if (device == "gpu") -{ - ModuleBase::WARNING_QUIT("device", error_message); -} -else { return "cpu"; -} +std::string get_device_flag(const std::string &device, + const std::string &basis_type) { + // 1. Validate input string + if (device != "cpu" && device != "gpu" && device != "auto") { + ModuleBase::WARNING_QUIT("device", "Parameter \"device\" can only be set to \"cpu\", \"gpu\", or \"auto\"!"); + } + + // NOTE: This function is called only on rank 0 during input parsing. + // The result will be broadcast to other ranks via the standard bcast mechanism. + // DO NOT use MPI_Bcast here as other ranks are not in this code path. + + std::string result = "cpu"; + + if (device == "gpu") { + if (probe_gpu_availability()) { + result = "gpu"; + // std::cout << " INFO: 'device=gpu' specified. GPU will be used." << std::endl; + } else { + ModuleBase::WARNING_QUIT("device", "Device is set to 'gpu', but no available GPU was found. Please check your hardware/drivers or set 'device=cpu'."); + } + } else if (device == "auto") { + if (probe_gpu_availability()) { + result = "gpu"; + // std::cout << " INFO: 'device=auto' specified. GPU detected and will be used." << std::endl; + } else { + result = "cpu"; + // std::cout << " WARNING: 'device=auto' specified, but no GPU was found. Falling back to CPU." << std::endl; + // std::cout << " To suppress this warning, please explicitly set 'device=cpu' in your input." << std::endl; + } + } else { // device == "cpu" + result = "cpu"; + // std::cout << " INFO: 'device=cpu' specified. CPU will be used." << std::endl; + } + + // 2. Final check for incompatible basis type + if (result == "gpu" && basis_type == "lcao_in_pw") { + ModuleBase::WARNING_QUIT("device", "The GPU currently does not support the basis type \"lcao_in_pw\"!"); + } + + // 3. Return the final decision + return result; } int get_device_kpar(const int& kpar, const int& bndpar) { #if __MPI && (__CUDA || __ROCM) + // This function should only be called when device mode is GPU + // The device decision has already been made by get_device_flag() int temp_nproc = 0; int new_kpar = kpar; MPI_Comm_size(MPI_COMM_WORLD, &temp_nproc); @@ -213,507 +230,16 @@ int get_device_kpar(const int& kpar, const int& bndpar) int device_num = -1; #if defined(__CUDA) - cudaGetDeviceCount(&device_num); // get the number of GPU devices of current node - cudaSetDevice(node_rank % device_num); // band the CPU processor to the devices + cudaErrcheck(cudaGetDeviceCount(&device_num)); // get the number of GPU devices of current node + cudaErrcheck(cudaSetDevice(node_rank % device_num)); // bind the CPU processor to the devices #elif defined(__ROCM) - hipGetDeviceCount(&device_num); - hipSetDevice(node_rank % device_num); + hipErrcheck(hipGetDeviceCount(&device_num)); + hipErrcheck(hipSetDevice(node_rank % device_num)); #endif - return new_kpar; + return new_kpar; #endif - return kpar; -} - -std::string get_device_info(std::string device_flag) { - std::string device_info = "Unknown"; - -#if defined(__CUDA) - if (device_flag == "gpu") { - int dev = 0; - cudaDeviceProp deviceProp; - cudaErrcheck(cudaGetDeviceProperties(&deviceProp, dev)); - device_info = deviceProp.name; - } -#elif defined(__ROCM) - if (device_flag == "gpu") { - int dev = 0; - hipDeviceProp_t deviceProp; - hipErrcheck(hipGetDeviceProperties(&deviceProp, dev)); - device_info = deviceProp.name; - } -#endif - if (device_flag == "cpu") { - std::ifstream cpuinfo("/proc/cpuinfo"); - std::string line = "", cpu_name = ""; - - while (std::getline(cpuinfo, line)) { - if (line.find("model name") != std::string::npos) { - // Extract the CPU name from the line - size_t colonPos = line.find(":"); - if (colonPos != std::string::npos) { - cpu_name = line.substr(colonPos + 2); // Skip the colon and space - break; // Stop after the first match - } - } - } - if (cpu_name != "") { - device_info = cpu_name; - } - cpuinfo.close(); - } - return device_info; -} - -#if defined(__CUDA) - -static bool is_init = false; - -template <> -void print_device_info( - const base_device::DEVICE_GPU *ctx, std::ofstream &ofs_device) { - if (is_init) { - return; - } - int deviceCount = 0; - cudaError_t error_id = cudaGetDeviceCount(&deviceCount); - if (error_id != cudaSuccess) { - ofs_device << "cudaGetDeviceCount returned " << static_cast(error_id) - << "\n-> " << cudaGetErrorString(error_id) << std::endl; - ModuleBase::WARNING_QUIT("device", "GPU returned is without cudaSuccess"); - } - // This function call returns 0 if there are no CUDA capable devices. - if (deviceCount == 0) { - ofs_device << "There are no available device(s) that support CUDA\n"; - } else { - ofs_device << "Detected " << deviceCount << " CUDA Capable device(s)\n"; - } - int dev = 0, driverVersion = 0, runtimeVersion = 0; - cudaErrcheck(cudaSetDevice(dev)); - cudaDeviceProp deviceProp; - cudaErrcheck(cudaGetDeviceProperties(&deviceProp, dev)); - ofs_device << "\nDevice " << dev << ":\t " << deviceProp.name << std::endl; - // Console log - cudaErrcheck(cudaDriverGetVersion(&driverVersion)); - cudaErrcheck(cudaRuntimeGetVersion(&runtimeVersion)); - char msg[1024]; - sprintf(msg, - " CUDA Driver Version / Runtime Version %d.%d / %d.%d\n", - driverVersion / 1000, (driverVersion % 100) / 10, - runtimeVersion / 1000, (runtimeVersion % 100) / 10); - ofs_device << msg << std::endl; - sprintf(msg, " CUDA Capability Major/Minor version number: %d.%d\n", - deviceProp.major, deviceProp.minor); - ofs_device << msg << std::endl; - sprintf(msg, - " GPU Max Clock rate: %.0f MHz (%0.2f " - "GHz)\n", - deviceProp.clockRate * 1e-3f, deviceProp.clockRate * 1e-6f); - ofs_device << msg << std::endl; - // This is supported in CUDA 5.0 (runtime API device properties) - sprintf(msg, " Memory Clock rate: %.0f Mhz\n", - deviceProp.memoryClockRate * 1e-3f); - ofs_device << msg << std::endl; - - sprintf(msg, " Memory Bus Width: %d-bit\n", - deviceProp.memoryBusWidth); - ofs_device << msg << std::endl; - sprintf(msg, - " Maximum Texture Dimension Size (x,y,z) 1D=(%d), 2D=(%d, " - "%d), 3D=(%d, %d, %d)\n", - deviceProp.maxTexture1D, deviceProp.maxTexture2D[0], - deviceProp.maxTexture2D[1], deviceProp.maxTexture3D[0], - deviceProp.maxTexture3D[1], deviceProp.maxTexture3D[2]); - ofs_device << msg << std::endl; - - sprintf( - msg, - " Maximum Layered 1D Texture Size, (num) layers 1D=(%d), %d layers\n", - deviceProp.maxTexture1DLayered[0], deviceProp.maxTexture1DLayered[1]); - ofs_device << msg << std::endl; - sprintf(msg, - " Maximum Layered 2D Texture Size, (num) layers 2D=(%d, %d), %d " - "layers\n", - deviceProp.maxTexture2DLayered[0], deviceProp.maxTexture2DLayered[1], - deviceProp.maxTexture2DLayered[2]); - ofs_device << msg << std::endl; - sprintf(msg, " Total amount of constant memory: %zu bytes\n", - deviceProp.totalConstMem); - ofs_device << msg << std::endl; - sprintf(msg, " Total amount of shared memory per block: %zu bytes\n", - deviceProp.sharedMemPerBlock); - ofs_device << msg << std::endl; - sprintf(msg, " Total shared memory per multiprocessor: %zu bytes\n", - deviceProp.sharedMemPerMultiprocessor); - ofs_device << msg << std::endl; - sprintf(msg, " Total number of registers available per block: %d\n", - deviceProp.regsPerBlock); - ofs_device << msg << std::endl; - sprintf(msg, " Warp size: %d\n", - deviceProp.warpSize); - ofs_device << msg << std::endl; - sprintf(msg, " Maximum number of threads per multiprocessor: %d\n", - deviceProp.maxThreadsPerMultiProcessor); - ofs_device << msg << std::endl; - sprintf(msg, " Maximum number of threads per block: %d\n", - deviceProp.maxThreadsPerBlock); - ofs_device << msg << std::endl; - sprintf(msg, " Max dimension size of a thread block (x,y,z): (%d, %d, %d)\n", - deviceProp.maxThreadsDim[0], deviceProp.maxThreadsDim[1], - deviceProp.maxThreadsDim[2]); - ofs_device << msg << std::endl; - sprintf(msg, " Max dimension size of a grid size (x,y,z): (%d, %d, %d)\n", - deviceProp.maxGridSize[0], deviceProp.maxGridSize[1], - deviceProp.maxGridSize[2]); - ofs_device << msg << std::endl; - sprintf(msg, " Maximum memory pitch: %zu bytes\n", - deviceProp.memPitch); - ofs_device << msg << std::endl; - sprintf(msg, " Texture alignment: %zu bytes\n", - deviceProp.textureAlignment); - ofs_device << msg << std::endl; - sprintf(msg, - " Concurrent copy and kernel execution: %s with %d copy " - "engine(s)\n", - (deviceProp.deviceOverlap ? "Yes" : "No"), - deviceProp.asyncEngineCount); - ofs_device << msg << std::endl; - sprintf(msg, " Run time limit on kernels: %s\n", - deviceProp.kernelExecTimeoutEnabled ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Integrated GPU sharing Host Memory: %s\n", - deviceProp.integrated ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Support host page-locked memory mapping: %s\n", - deviceProp.canMapHostMemory ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Alignment requirement for Surfaces: %s\n", - deviceProp.surfaceAlignment ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Device has ECC support: %s\n", - deviceProp.ECCEnabled ? "Enabled" : "Disabled"); - ofs_device << msg << std::endl; - sprintf(msg, " Device supports Unified Addressing (UVA): %s\n", - deviceProp.unifiedAddressing ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Device supports Managed Memory: %s\n", - deviceProp.managedMemory ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Device supports Compute Preemption: %s\n", - deviceProp.computePreemptionSupported ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Supports Cooperative Kernel Launch: %s\n", - deviceProp.cooperativeLaunch ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Supports MultiDevice Co-op Kernel Launch: %s\n", - deviceProp.cooperativeMultiDeviceLaunch ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, - " Device PCI Domain ID / Bus ID / location ID: %d / %d / %d\n", - deviceProp.pciDomainID, deviceProp.pciBusID, deviceProp.pciDeviceID); - ofs_device << msg << std::endl; - const char *sComputeMode[] = { - "Default (multiple host threads can use ::cudaSetDevice() with device " - "simultaneously)", - "Exclusive (only one host thread in one process is able to use " - "::cudaSetDevice() with this device)", - "Prohibited (no host thread can use ::cudaSetDevice() with this " - "device)", - "Exclusive Process (many threads in one process is able to use " - "::cudaSetDevice() with this device)", - "Unknown", - NULL}; - sprintf(msg, " Compute Mode:\n"); - ofs_device << msg << std::endl; - ofs_device << " " << sComputeMode[deviceProp.computeMode] << std::endl - << std::endl; - - // If there are 2 or more GPUs, query to determine whether RDMA is supported - if (deviceCount >= 2) { - cudaDeviceProp prop[64]; - int gpuid[64]; // we want to find the first two GPUs that can support P2P - int gpu_p2p_count = 0; - - for (int i = 0; i < deviceCount; i++) { - cudaErrcheck(cudaGetDeviceProperties(&prop[i], i)); - - // Only boards based on Fermi or later can support P2P - if (prop[i].major >= 2) { - // This is an array of P2P capable GPUs - gpuid[gpu_p2p_count++] = i; - } - } - - // Show all the combinations of support P2P GPUs - int can_access_peer; - - if (gpu_p2p_count >= 2) { - for (int i = 0; i < gpu_p2p_count; i++) { - for (int j = 0; j < gpu_p2p_count; j++) { - if (gpuid[i] == gpuid[j]) { - continue; - } - cudaErrcheck( - cudaDeviceCanAccessPeer(&can_access_peer, gpuid[i], gpuid[j])); - sprintf(msg, "> Peer access from %s (GPU%d) -> %s (GPU%d) : %s\n", - prop[gpuid[i]].name, gpuid[i], prop[gpuid[j]].name, gpuid[j], - can_access_peer ? "Yes" : "No"); - ofs_device << msg << std::endl; - } - } - } - } - - // csv masterlog info - // ***************************** - // exe and CUDA driver name - std::string sProfileString = "deviceQuery, CUDA Driver = CUDART"; - char cTemp[16]; - - // driver version - sProfileString += ", CUDA Driver Version = "; - - snprintf(cTemp, sizeof(cTemp), "%d.%d", driverVersion / 1000, - (driverVersion % 100) / 10); - sProfileString += cTemp; - - // Runtime version - sProfileString += ", CUDA Runtime Version = "; - snprintf(cTemp, sizeof(cTemp), "%d.%d", runtimeVersion / 1000, - (runtimeVersion % 100) / 10); - sProfileString += cTemp; - - // Device count - sProfileString += ", NumDevs = "; - snprintf(cTemp, sizeof(cTemp), "%d", deviceCount); - sProfileString += cTemp; - sProfileString += "\n"; - - ofs_device << sProfileString.c_str() << std::endl; - is_init = true; - ofs_device << "End of device informations." << std::endl << std::endl; -} - -template <> -void record_device_memory( - const base_device::DEVICE_GPU *ctx, std::ofstream &ofs_device, - std::string str, size_t size) { - ofs_device << "Allocate " << static_cast(size) / 8 / 1024 / 1024 - << " \tMB device memory\t" - << "from " << str << std::endl - << std::endl; + return kpar; } -#elif defined(__ROCM) - -static bool is_init = false; - -template <> -void print_device_info( - const base_device::DEVICE_GPU *ctx, std::ofstream &ofs_device) { - if (is_init) { - return; - } - int deviceCount = 0; - hipError_t error_id = hipGetDeviceCount(&deviceCount); - if (error_id != hipSuccess) { - ofs_device << "hipGetDeviceCount returned " << static_cast(error_id) - << "\n-> " << hipGetErrorString(error_id) << std::endl; - ModuleBase::WARNING_QUIT("device", "GPU returned is without hipSuccess"); - } - // This function call returns 0 if there are no CUDA capable devices. - if (deviceCount == 0) { - ofs_device << "There are no available device(s) that support CUDA\n"; - } else { - ofs_device << "Detected " << deviceCount << " CUDA Capable device(s)\n"; - } - int dev = 0, driverVersion = 0, runtimeVersion = 0; - hipErrcheck(hipSetDevice(dev)); - hipDeviceProp_t deviceProp; - hipErrcheck(hipGetDeviceProperties(&deviceProp, dev)); - ofs_device << "\nDevice " << dev << ":\t " << deviceProp.name << std::endl; - // Console log - hipErrcheck(hipDriverGetVersion(&driverVersion)); - hipErrcheck(hipRuntimeGetVersion(&runtimeVersion)); - char msg[1024]; - sprintf(msg, - " CUDA Driver Version / Runtime Version %d.%d / %d.%d\n", - driverVersion / 1000, (driverVersion % 100) / 10, - runtimeVersion / 1000, (runtimeVersion % 100) / 10); - ofs_device << msg << std::endl; - sprintf(msg, " CUDA Capability Major/Minor version number: %d.%d\n", - deviceProp.major, deviceProp.minor); - ofs_device << msg << std::endl; - sprintf(msg, - " GPU Max Clock rate: %.0f MHz (%0.2f " - "GHz)\n", - deviceProp.clockRate * 1e-3f, deviceProp.clockRate * 1e-6f); - ofs_device << msg << std::endl; - // This is supported in CUDA 5.0 (runtime API device properties) - sprintf(msg, " Memory Clock rate: %.0f Mhz\n", - deviceProp.memoryClockRate * 1e-3f); - ofs_device << msg << std::endl; - - sprintf(msg, " Memory Bus Width: %d-bit\n", - deviceProp.memoryBusWidth); - ofs_device << msg << std::endl; - sprintf(msg, - " Maximum Texture Dimension Size (x,y,z) 1D=(%d), 2D=(%d, " - "%d), 3D=(%d, %d, %d)\n", - deviceProp.maxTexture1D, deviceProp.maxTexture2D[0], - deviceProp.maxTexture2D[1], deviceProp.maxTexture3D[0], - deviceProp.maxTexture3D[1], deviceProp.maxTexture3D[2]); - ofs_device << msg << std::endl; - - sprintf(msg, " Total amount of constant memory: %zu bytes\n", - deviceProp.totalConstMem); - ofs_device << msg << std::endl; - sprintf(msg, " Total amount of shared memory per block: %zu bytes\n", - deviceProp.sharedMemPerBlock); - ofs_device << msg << std::endl; - sprintf(msg, " Total number of registers available per block: %d\n", - deviceProp.regsPerBlock); - ofs_device << msg << std::endl; - sprintf(msg, " Warp size: %d\n", - deviceProp.warpSize); - ofs_device << msg << std::endl; - sprintf(msg, " Maximum number of threads per multiprocessor: %d\n", - deviceProp.maxThreadsPerMultiProcessor); - ofs_device << msg << std::endl; - sprintf(msg, " Maximum number of threads per block: %d\n", - deviceProp.maxThreadsPerBlock); - ofs_device << msg << std::endl; - sprintf(msg, " Max dimension size of a thread block (x,y,z): (%d, %d, %d)\n", - deviceProp.maxThreadsDim[0], deviceProp.maxThreadsDim[1], - deviceProp.maxThreadsDim[2]); - ofs_device << msg << std::endl; - sprintf(msg, " Max dimension size of a grid size (x,y,z): (%d, %d, %d)\n", - deviceProp.maxGridSize[0], deviceProp.maxGridSize[1], - deviceProp.maxGridSize[2]); - ofs_device << msg << std::endl; - sprintf(msg, " Maximum memory pitch: %zu bytes\n", - deviceProp.memPitch); - ofs_device << msg << std::endl; - sprintf(msg, " Texture alignment: %zu bytes\n", - deviceProp.textureAlignment); - ofs_device << msg << std::endl; - sprintf(msg, " Run time limit on kernels: %s\n", - deviceProp.kernelExecTimeoutEnabled ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Integrated GPU sharing Host Memory: %s\n", - deviceProp.integrated ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Support host page-locked memory mapping: %s\n", - deviceProp.canMapHostMemory ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Device has ECC support: %s\n", - deviceProp.ECCEnabled ? "Enabled" : "Disabled"); - ofs_device << msg << std::endl; - sprintf(msg, " Device supports Managed Memory: %s\n", - deviceProp.managedMemory ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Supports Cooperative Kernel Launch: %s\n", - deviceProp.cooperativeLaunch ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, " Supports MultiDevice Co-op Kernel Launch: %s\n", - deviceProp.cooperativeMultiDeviceLaunch ? "Yes" : "No"); - ofs_device << msg << std::endl; - sprintf(msg, - " Device PCI Domain ID / Bus ID / location ID: %d / %d / %d\n", - deviceProp.pciDomainID, deviceProp.pciBusID, deviceProp.pciDeviceID); - ofs_device << msg << std::endl; - const char *sComputeMode[] = { - "Default (multiple host threads can use ::hipSetDevice() with device " - "simultaneously)", - "Exclusive (only one host thread in one process is able to use " - "::hipSetDevice() with this device)", - "Prohibited (no host thread can use ::hipSetDevice() with this " - "device)", - "Exclusive Process (many threads in one process is able to use " - "::hipSetDevice() with this device)", - "Unknown", - NULL}; - sprintf(msg, " Compute Mode:\n"); - ofs_device << msg << std::endl; - ofs_device << " " << sComputeMode[deviceProp.computeMode] << std::endl - << std::endl; - - // If there are 2 or more GPUs, query to determine whether RDMA is supported - if (deviceCount >= 2) { - hipDeviceProp_t prop[64]; - int gpuid[64]; // we want to find the first two GPUs that can support P2P - int gpu_p2p_count = 0; - - for (int i = 0; i < deviceCount; i++) { - hipErrcheck(hipGetDeviceProperties(&prop[i], i)); - - // Only boards based on Fermi or later can support P2P - if (prop[i].major >= 2) { - // This is an array of P2P capable GPUs - gpuid[gpu_p2p_count++] = i; - } - } - - // Show all the combinations of support P2P GPUs - int can_access_peer; - - if (gpu_p2p_count >= 2) { - for (int i = 0; i < gpu_p2p_count; i++) { - for (int j = 0; j < gpu_p2p_count; j++) { - if (gpuid[i] == gpuid[j]) { - continue; - } - hipErrcheck( - hipDeviceCanAccessPeer(&can_access_peer, gpuid[i], gpuid[j])); - sprintf(msg, "> Peer access from %s (GPU%d) -> %s (GPU%d) : %s\n", - prop[gpuid[i]].name, gpuid[i], prop[gpuid[j]].name, gpuid[j], - can_access_peer ? "Yes" : "No"); - ofs_device << msg << std::endl; - } - } - } - } - - // csv masterlog info - // ***************************** - // exe and CUDA driver name - std::string sProfileString = "deviceQuery, CUDA Driver = CUDART"; - char cTemp[16]; - - // driver version - sProfileString += ", CUDA Driver Version = "; - - snprintf(cTemp, sizeof(cTemp), "%d.%d", driverVersion / 1000, - (driverVersion % 100) / 10); - sProfileString += cTemp; - - // Runtime version - sProfileString += ", CUDA Runtime Version = "; - snprintf(cTemp, sizeof(cTemp), "%d.%d", runtimeVersion / 1000, - (runtimeVersion % 100) / 10); - sProfileString += cTemp; - - // Device count - sProfileString += ", NumDevs = "; - snprintf(cTemp, sizeof(cTemp), "%d", deviceCount); - sProfileString += cTemp; - sProfileString += "\n"; - - ofs_device << sProfileString.c_str() << std::endl; - is_init = true; - ofs_device << "End of device informations." << std::endl << std::endl; -} - -template <> -void record_device_memory( - const base_device::DEVICE_GPU *ctx, std::ofstream &ofs_device, - std::string str, size_t size) { - ofs_device << "Allocate " << static_cast(size) / 8 / 1024 / 1024 - << " \tMB device memory\t" - << "from " << str << std::endl - << std::endl; -} - -#endif - } // end of namespace information } // end of namespace base_device diff --git a/source/source_base/module_device/device.h b/source/source_base/module_device/device.h index 2c4a16f303..f6dfd3f207 100644 --- a/source/source_base/module_device/device.h +++ b/source/source_base/module_device/device.h @@ -11,16 +11,6 @@ namespace base_device { -// struct CPU; -// struct GPU; - -// enum AbacusDevice_t -// { -// UnKnown, -// CpuDevice, -// GpuDevice -// }; - template base_device::AbacusDevice_t get_device_type(const Device* dev); @@ -31,10 +21,22 @@ namespace information { /** - * @brief Get the device info object + * @brief Get the device name + * for source_esolver + */ +std::string get_device_name(std::string device_flag); + +/** + * @brief Get the device number + * for source_esolver + */ +int get_device_num(std::string device_flag); + +/** + * @brief Output the device information * for source_esolver */ -std::string get_device_info(std::string device_flag); +void output_device_info(std::ostream& output); /** * @brief Get the device kpar object @@ -42,6 +44,12 @@ std::string get_device_info(std::string device_flag); */ int get_device_kpar(const int& kpar, const int& bndpar); +/** + * @brief Safely probes for GPU availability without exiting on error. + * @return True if at least one GPU is found and usable, false otherwise. + */ +bool probe_gpu_availability(); + /** * @brief Get the device flag object * for source_io PARAM.inp.device @@ -53,15 +61,14 @@ std::string get_device_flag(const std::string& device, /** * @brief Get the rank of current node * Note that GPU can only be binded with CPU in the same node - * - * @return int + * + * @return int */ int get_node_rank(); int get_node_rank_with_mpi_shared(const MPI_Comm mpi_comm = MPI_COMM_WORLD); int stringCmp(const void* a, const void* b); #ifdef __CUDA - int set_device_by_rank(const MPI_Comm mpi_comm = MPI_COMM_WORLD); #endif @@ -79,6 +86,14 @@ void record_device_memory(const Device* dev, std::ofstream& ofs_device, std::str return; } +#if defined(__CUDA) || defined(__ROCM) +template <> +void print_device_info(const base_device::DEVICE_GPU *ctx, std::ofstream &ofs_device); + +template <> +void record_device_memory(const base_device::DEVICE_GPU* dev, std::ofstream& ofs_device, std::string str, size_t size); +#endif + } // end of namespace information } // end of namespace base_device @@ -102,4 +117,4 @@ static __inline__ __device__ double atomicAdd(double* address, double val) } #endif -#endif // MODULE_DEVICE_H_ \ No newline at end of file +#endif // MODULE_DEVICE_H_ diff --git a/source/source_base/module_device/memory_op.cpp b/source/source_base/module_device/memory_op.cpp index 189014c981..2ef4be588a 100644 --- a/source/source_base/module_device/memory_op.cpp +++ b/source/source_base/module_device/memory_op.cpp @@ -5,6 +5,7 @@ #ifdef __DSP #include "source_base/kernels/dsp/dsp_connector.h" #include "source_base/global_variable.h" +#include "source_io/module_parameter/parameter.h" #endif #include @@ -55,6 +56,18 @@ struct set_memory_op } }; +template +struct set_memory_2d_op +{ + void operator()(FPTYPE* arr, const size_t pitch, const int var, const size_t width, const size_t height) + { + for (size_t i = 0; i < height; i++){ + set_memory_op()(arr + i * pitch, var, width); + } + } +}; + + template struct synchronize_memory_op { @@ -70,6 +83,23 @@ struct synchronize_memory_op +struct synchronize_memory_2d_op +{ + void operator()(FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height) + { + for (int i = 0; i < height; i++){ + synchronize_memory_op()( + arr_out + i * dpitch, arr_in + i * spitch, width); + } + } +}; + template struct cast_memory_op { @@ -78,7 +108,7 @@ struct cast_memory_op; template struct set_memory_op, base_device::DEVICE_CPU>; template struct set_memory_op, base_device::DEVICE_CPU>; +template struct set_memory_2d_op; +template struct set_memory_2d_op; +template struct set_memory_2d_op; +template struct set_memory_2d_op, base_device::DEVICE_CPU>; +template struct set_memory_2d_op, base_device::DEVICE_CPU>; + template struct synchronize_memory_op; template struct synchronize_memory_op; template struct synchronize_memory_op; template struct synchronize_memory_op, base_device::DEVICE_CPU, base_device::DEVICE_CPU>; template struct synchronize_memory_op, base_device::DEVICE_CPU, base_device::DEVICE_CPU>; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op, base_device::DEVICE_CPU, base_device::DEVICE_CPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_CPU, base_device::DEVICE_CPU>; + template struct cast_memory_op; template struct cast_memory_op; template struct cast_memory_op; @@ -167,6 +209,14 @@ struct set_memory_op } }; +template +struct set_memory_2d_op +{ + void operator()(FPTYPE* arr, const size_t pitch, const int var, const size_t width, const size_t height) + { + } +}; + template struct synchronize_memory_op { @@ -197,6 +247,45 @@ struct synchronize_memory_op +struct synchronize_memory_2d_op +{ + void operator()(FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height) + { + } +}; + +template +struct synchronize_memory_2d_op +{ + void operator()(FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height) + { + } +}; + +template +struct synchronize_memory_2d_op +{ + void operator()(FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height) + { + } +}; + template struct cast_memory_op { @@ -247,6 +336,12 @@ template struct set_memory_op; template struct set_memory_op, base_device::DEVICE_GPU>; template struct set_memory_op, base_device::DEVICE_GPU>; +template struct set_memory_2d_op; +template struct set_memory_2d_op; +template struct set_memory_2d_op; +template struct set_memory_2d_op, base_device::DEVICE_GPU>; +template struct set_memory_2d_op, base_device::DEVICE_GPU>; + template struct synchronize_memory_op; template struct synchronize_memory_op; template struct synchronize_memory_op; @@ -263,6 +358,22 @@ template struct synchronize_memory_op, base_device::DEVICE_ template struct synchronize_memory_op, base_device::DEVICE_GPU, base_device::DEVICE_CPU>; template struct synchronize_memory_op, base_device::DEVICE_GPU, base_device::DEVICE_GPU>; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op; +template struct synchronize_memory_2d_op, base_device::DEVICE_CPU, base_device::DEVICE_GPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_GPU, base_device::DEVICE_CPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_GPU, base_device::DEVICE_GPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_CPU, base_device::DEVICE_GPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_GPU, base_device::DEVICE_CPU>; +template struct synchronize_memory_2d_op, base_device::DEVICE_GPU, base_device::DEVICE_GPU>; + template struct cast_memory_op; template struct cast_memory_op; template struct cast_memory_op; @@ -342,7 +453,7 @@ struct resize_memory_op_mt { mtfunc::free_ht(arr); } - arr = (FPTYPE*)mtfunc::malloc_ht(sizeof(FPTYPE) * size, GlobalV::MY_RANK); + arr = (FPTYPE*)mtfunc::malloc_ht(sizeof(FPTYPE) * size, GlobalV::MY_RANK % PARAM.inp.dsp_count); std::string record_string; if (record_in != nullptr) { diff --git a/source/source_base/module_device/memory_op.h b/source/source_base/module_device/memory_op.h index 30182649d3..c24acbb024 100644 --- a/source/source_base/module_device/memory_op.h +++ b/source/source_base/module_device/memory_op.h @@ -40,6 +40,22 @@ struct set_memory_op void operator()(FPTYPE* arr, const int var, const size_t size); }; +template +struct set_memory_2d_op +{ + /// @brief memset2D for multi-device + /// + /// Input Parameters + /// \param var : the specified constant value + /// \param pitch : Pitch in elements of 2D device memory + /// \param width : Width of matrix set (columns in elements) + /// \param height : Height of matrix set (rows) + /// + /// Output Parameters + /// \param arr : output array initialized by the input value + void operator()(FPTYPE* arr, const size_t pitch, const int var, const size_t width, const size_t height); +}; + template struct synchronize_memory_op { @@ -56,6 +72,28 @@ struct synchronize_memory_op const size_t size); }; +template +struct synchronize_memory_2d_op +{ + /// @brief memcpy2D for multi-device + /// + /// Input Parameters + /// \param arr_in : input array + /// \param dpitch : Pitch in elements of destination memory + /// \param spitch : Pitch in elements of source memory + /// \param width : Width of matrix transfer (columns in elements) + /// \param height : Height of matrix transfer (rows) + /// + /// Output Parameters + /// \param arr_out : output array initialized by the input array + void operator()(FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height); +}; + template struct cast_memory_op { @@ -113,6 +151,12 @@ struct set_memory_op void operator()(FPTYPE* arr, const int var, const size_t size); }; +template +struct set_memory_2d_op +{ + void operator()(FPTYPE* arr, const size_t pitch, const int var, const size_t width, const size_t height); +}; + template struct synchronize_memory_op { @@ -133,7 +177,38 @@ struct synchronize_memory_op +struct synchronize_memory_2d_op +{ + void operator()(FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height); +}; +template +struct synchronize_memory_2d_op +{ + void operator()(FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height); +}; +template +struct synchronize_memory_2d_op +{ + void operator()(FPTYPE* arr_out, + const size_t dpitch, + const FPTYPE* arr_in, + const size_t spitch, + const size_t width, + const size_t height); }; template @@ -194,6 +269,16 @@ using setmem_dd_op = base_device::memory::set_memory_op, base_device::DEVICE_GPU>; using setmem_zd_op = base_device::memory::set_memory_op, base_device::DEVICE_GPU>; +using setmem_sh_2d_op = base_device::memory::set_memory_2d_op; +using setmem_dh_2d_op = base_device::memory::set_memory_2d_op; +using setmem_ch_2d_op = base_device::memory::set_memory_2d_op, base_device::DEVICE_CPU>; +using setmem_zh_2d_op = base_device::memory::set_memory_2d_op, base_device::DEVICE_CPU>; + +using setmem_sd_2d_op = base_device::memory::set_memory_2d_op; +using setmem_dd_2d_op = base_device::memory::set_memory_2d_op; +using setmem_cd_2d_op = base_device::memory::set_memory_2d_op, base_device::DEVICE_GPU>; +using setmem_zd_2d_op = base_device::memory::set_memory_2d_op, base_device::DEVICE_GPU>; + using delmem_sh_op = base_device::memory::delete_memory_op; using delmem_dh_op = base_device::memory::delete_memory_op; using delmem_ch_op = base_device::memory::delete_memory_op, base_device::DEVICE_CPU>; @@ -230,6 +315,32 @@ using syncmem_z2z_h2d_op using syncmem_z2z_d2h_op = base_device::memory::synchronize_memory_op, base_device::DEVICE_CPU, base_device::DEVICE_GPU>; +using syncmem_c2c_h2h_op + = base_device::memory::synchronize_memory_op, base_device::DEVICE_CPU, base_device::DEVICE_CPU>; +using syncmem_c2c_h2d_op + = base_device::memory::synchronize_memory_op, base_device::DEVICE_GPU, base_device::DEVICE_CPU>; +using syncmem_c2c_d2h_op + = base_device::memory::synchronize_memory_op, base_device::DEVICE_CPU, base_device::DEVICE_GPU>; +using syncmem_z2z_h2h_op + = base_device::memory::synchronize_memory_op, base_device::DEVICE_CPU, base_device::DEVICE_CPU>; +using syncmem_z2z_h2d_op + = base_device::memory::synchronize_memory_op, base_device::DEVICE_GPU, base_device::DEVICE_CPU>; +using syncmem_z2z_d2h_op + = base_device::memory::synchronize_memory_op, base_device::DEVICE_CPU, base_device::DEVICE_GPU>; + +using syncmem_c2c_h2h_2d_op + = base_device::memory::synchronize_memory_2d_op, base_device::DEVICE_CPU, base_device::DEVICE_CPU>; +using syncmem_c2c_h2d_2d_op + = base_device::memory::synchronize_memory_2d_op, base_device::DEVICE_GPU, base_device::DEVICE_CPU>; +using syncmem_c2c_d2h_2d_op + = base_device::memory::synchronize_memory_2d_op, base_device::DEVICE_CPU, base_device::DEVICE_GPU>; +using syncmem_z2z_h2h_2d_op + = base_device::memory::synchronize_memory_2d_op, base_device::DEVICE_CPU, base_device::DEVICE_CPU>; +using syncmem_z2z_h2d_2d_op + = base_device::memory::synchronize_memory_2d_op, base_device::DEVICE_GPU, base_device::DEVICE_CPU>; +using syncmem_z2z_d2h_2d_op + = base_device::memory::synchronize_memory_2d_op, base_device::DEVICE_CPU, base_device::DEVICE_GPU>; + using castmem_s2d_h2h_op = base_device::memory::cast_memory_op; using castmem_s2d_h2d_op diff --git a/source/source_base/module_device/output_device.cpp b/source/source_base/module_device/output_device.cpp new file mode 100644 index 0000000000..2d47919e23 --- /dev/null +++ b/source/source_base/module_device/output_device.cpp @@ -0,0 +1,596 @@ + +#include "device.h" + +#include "source_base/tool_quit.h" +#include "source_io/module_parameter/parameter.h" + +#include +#include +#include +#include +#ifdef __MPI +#include "mpi.h" +#endif + +#if defined(__CUDA) +#include +#include "source_base/module_device/cuda_compat.h" +#endif + +#if defined(__ROCM) +#include +#endif + +namespace base_device +{ +namespace information +{ +std::string get_device_name(std::string device_flag) { + std::string device_info = "Unknown"; + +#if defined(__CUDA) + if (device_flag == "gpu") { + int dev = 0; + cudaDeviceProp deviceProp; + cudaErrcheck(cudaGetDeviceProperties(&deviceProp, dev)); + device_info = deviceProp.name; + } +#elif defined(__ROCM) + if (device_flag == "gpu") { + int dev = 0; + hipDeviceProp_t deviceProp; + hipErrcheck(hipGetDeviceProperties(&deviceProp, dev)); + device_info = deviceProp.name; + } +#endif + if (device_flag == "cpu") { + std::ifstream cpuinfo("/proc/cpuinfo"); + std::string line = "", cpu_name = ""; + + while (std::getline(cpuinfo, line)) { + if (line.find("model name") != std::string::npos) { + // Extract the CPU name from the line + size_t colonPos = line.find(":"); + if (colonPos != std::string::npos) { + cpu_name = line.substr(colonPos + 2); // Skip the colon and space + break; // Stop after the first match + } + } + } + if (cpu_name != "") { + device_info = cpu_name; + } + cpuinfo.close(); + } + return device_info; +} + +int get_device_num(std::string device_flag) +{ + if (device_flag == "gpu") { + int count = 0; + #if defined(__CUDA) + cudaErrcheck(cudaGetDeviceCount(&count)); + #elif defined(__ROCM) + hipErrcheck(hipGetDeviceCount(&count)); + #endif + return count; + } + if(device_flag == "cpu") + { + std::ifstream file("/proc/cpuinfo"); + if (!file.is_open()) { + return 1; // fallback to 1 if cannot read + } + + std::string line; + std::set physical_ids; // Use set to avoid duplicates + + while (std::getline(file, line)) { + if (line.substr(0, 11) == "physical id") { + size_t pos = line.find(':'); + if (pos != std::string::npos) { + std::string value = line.substr(pos + 1); + std::stringstream ss(value); + int socket_id; + if (ss >> socket_id) { + physical_ids.insert(socket_id); + } + } + } + } + file.close(); + return (physical_ids.size() > 0) ? static_cast(physical_ids.size()) : 1; + } + return 0; +} + +void output_device_info(std::ostream &output) +{ +#ifdef __MPI + int world_rank, world_size; + MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); + MPI_Comm_size(MPI_COMM_WORLD, &world_size); + + // rank in the node + int local_rank = get_node_rank_with_mpi_shared(MPI_COMM_WORLD); + + // Get local hardware info + int local_gpu_count = 0; + #if defined(__CUDA) || defined(__ROCM) + if(PARAM.inp.device == "gpu" && local_rank == 0) + { + local_gpu_count = get_device_num("gpu"); + } + #endif + int local_cpu_sockets = local_rank == 0 ? get_device_num("cpu") : 0; + + // Prepare vectors to gather data from all ranks + std::vector all_gpu_counts(world_size); + std::vector all_cpu_sockets(world_size); + + // Gather GPU and CPU socket counts from all MPI ranks + MPI_Gather(&local_gpu_count, 1, MPI_INT, all_gpu_counts.data(), 1, MPI_INT, 0, MPI_COMM_WORLD); + MPI_Gather(&local_cpu_sockets, 1, MPI_INT, all_cpu_sockets.data(), 1, MPI_INT, 0, MPI_COMM_WORLD); + + // Only rank 0 prints the full summary + if (world_rank == 0) { + int total_gpus = std::accumulate(all_gpu_counts.begin(), all_gpu_counts.end(), 0); + int total_cpus = std::accumulate(all_cpu_sockets.begin(), all_cpu_sockets.end(), 0); + + // Get device model names (from rank 0 node) + std::string cpu_name = get_device_name("cpu"); + std::string gpu_name; + #if defined(__CUDA) || defined(__ROCM) + if(PARAM.inp.device == "gpu" && total_gpus > 0) + { + gpu_name = get_device_name("gpu"); + } + #endif + + // Output all collected information + output << " RUNNING WITH DEVICE : " << "CPU" << " / " + << cpu_name << " (x" << total_cpus << ")" << std::endl; + #if defined(__CUDA) || defined(__ROCM) + if(PARAM.inp.device == "gpu" && total_gpus > 0) + { + output << " " << "GPU" << " / " + << gpu_name << " (x" << total_gpus << ")" << std::endl; + } + #endif + } +#else + int cpu_sockets = get_device_num("cpu"); + std::string cpu_name = get_device_name("cpu"); + output << " RUNNING WITH DEVICE : " << "CPU" << " / " + << cpu_name << " (x" << cpu_sockets << ")" << std::endl; + #if defined(__CUDA) || defined(__ROCM) + if(PARAM.inp.device == "gpu") + { + int gpu_count = get_device_num("gpu"); + if(gpu_count > 0) + { + std::string gpu_name = get_device_name("gpu"); + output << " " << "GPU" << " / " + << gpu_name << " (x" << gpu_count << ")" << std::endl; + } + } + #endif +#endif +} + +#if defined(__CUDA) + +static bool is_init = false; + +template <> +void print_device_info( + const base_device::DEVICE_GPU *ctx, std::ofstream &ofs_device) { + if (is_init) { + return; + } + int deviceCount = 0; + cudaError_t error_id = cudaGetDeviceCount(&deviceCount); + if (error_id != cudaSuccess) { + ofs_device << "cudaGetDeviceCount returned " << static_cast(error_id) + << "\n-> " << cudaGetErrorString(error_id) << std::endl; + ModuleBase::WARNING_QUIT("device", "GPU returned is without cudaSuccess"); + } + // This function call returns 0 if there are no CUDA capable devices. + if (deviceCount == 0) { + ofs_device << "There are no available device(s) that support CUDA\n"; + } else { + ofs_device << "Detected " << deviceCount << " CUDA Capable device(s)\n"; + } + int dev = 0, driverVersion = 0, runtimeVersion = 0; + cudaErrcheck(cudaGetDevice(&dev)); + cudaDeviceProp deviceProp; + cudaErrcheck(cudaGetDeviceProperties(&deviceProp, dev)); + ofs_device << "\nDevice " << dev << ":\t " << deviceProp.name << std::endl; + // Console log + cudaErrcheck(cudaDriverGetVersion(&driverVersion)); + cudaErrcheck(cudaRuntimeGetVersion(&runtimeVersion)); + char msg[1024]; + sprintf(msg, + " CUDA Driver Version / Runtime Version %d.%d / %d.%d\n", + driverVersion / 1000, (driverVersion % 100) / 10, + runtimeVersion / 1000, (runtimeVersion % 100) / 10); + ofs_device << msg << std::endl; + sprintf(msg, " CUDA Capability Major/Minor version number: %d.%d\n", + deviceProp.major, deviceProp.minor); + ofs_device << msg << std::endl; + sprintf(msg, + " Maximum Texture Dimension Size (x,y,z) 1D=(%d), 2D=(%d, " + "%d), 3D=(%d, %d, %d)\n", + deviceProp.maxTexture1D, deviceProp.maxTexture2D[0], + deviceProp.maxTexture2D[1], deviceProp.maxTexture3D[0], + deviceProp.maxTexture3D[1], deviceProp.maxTexture3D[2]); + ofs_device << msg << std::endl; + sprintf( + msg, + " Maximum Layered 1D Texture Size, (num) layers 1D=(%d), %d layers\n", + deviceProp.maxTexture1DLayered[0], deviceProp.maxTexture1DLayered[1]); + ofs_device << msg << std::endl; + sprintf(msg, + " Maximum Layered 2D Texture Size, (num) layers 2D=(%d, %d), %d " + "layers\n", + deviceProp.maxTexture2DLayered[0], deviceProp.maxTexture2DLayered[1], + deviceProp.maxTexture2DLayered[2]); + ofs_device << msg << std::endl; + sprintf(msg, " Total amount of constant memory: %zu bytes\n", + deviceProp.totalConstMem); + ofs_device << msg << std::endl; + sprintf(msg, " Total amount of shared memory per block: %zu bytes\n", + deviceProp.sharedMemPerBlock); + ofs_device << msg << std::endl; + sprintf(msg, " Total shared memory per multiprocessor: %zu bytes\n", + deviceProp.sharedMemPerMultiprocessor); + ofs_device << msg << std::endl; + sprintf(msg, " Total number of registers available per block: %d\n", + deviceProp.regsPerBlock); + ofs_device << msg << std::endl; + sprintf(msg, " Warp size: %d\n", + deviceProp.warpSize); + ofs_device << msg << std::endl; + sprintf(msg, " Maximum number of threads per multiprocessor: %d\n", + deviceProp.maxThreadsPerMultiProcessor); + ofs_device << msg << std::endl; + sprintf(msg, " Maximum number of threads per block: %d\n", + deviceProp.maxThreadsPerBlock); + ofs_device << msg << std::endl; + sprintf(msg, " Max dimension size of a thread block (x,y,z): (%d, %d, %d)\n", + deviceProp.maxThreadsDim[0], deviceProp.maxThreadsDim[1], + deviceProp.maxThreadsDim[2]); + ofs_device << msg << std::endl; + sprintf(msg, " Max dimension size of a grid size (x,y,z): (%d, %d, %d)\n", + deviceProp.maxGridSize[0], deviceProp.maxGridSize[1], + deviceProp.maxGridSize[2]); + ofs_device << msg << std::endl; + sprintf(msg, " Maximum memory pitch: %zu bytes\n", + deviceProp.memPitch); + ofs_device << msg << std::endl; + sprintf(msg, " Texture alignment: %zu bytes\n", + deviceProp.textureAlignment); + ofs_device << msg << std::endl; + sprintf(msg, " Integrated GPU sharing Host Memory: %s\n", + deviceProp.integrated ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Support host page-locked memory mapping: %s\n", + deviceProp.canMapHostMemory ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Alignment requirement for Surfaces: %s\n", + deviceProp.surfaceAlignment ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Device has ECC support: %s\n", + deviceProp.ECCEnabled ? "Enabled" : "Disabled"); + ofs_device << msg << std::endl; + sprintf(msg, " Device supports Unified Addressing (UVA): %s\n", + deviceProp.unifiedAddressing ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Device supports Managed Memory: %s\n", + deviceProp.managedMemory ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Device supports Compute Preemption: %s\n", + deviceProp.computePreemptionSupported ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Supports Cooperative Kernel Launch: %s\n", + deviceProp.cooperativeLaunch ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, + " Device PCI Domain ID / Bus ID / location ID: %d / %d / %d\n", + deviceProp.pciDomainID, deviceProp.pciBusID, deviceProp.pciDeviceID); + ofs_device << msg << std::endl; + + ModuleBase::cuda_compat::printDeprecatedDeviceInfo(ofs_device, deviceProp); + + ModuleBase::cuda_compat::printComputeModeInfo(ofs_device, deviceProp); + + // If there are 2 or more GPUs, query to determine whether RDMA is supported + if (deviceCount >= 2) { + cudaDeviceProp prop[64]; + int gpuid[64]; // we want to find the first two GPUs that can support P2P + int gpu_p2p_count = 0; + + for (int i = 0; i < deviceCount; i++) { + cudaErrcheck(cudaGetDeviceProperties(&prop[i], i)); + + // Only boards based on Fermi or later can support P2P + if (prop[i].major >= 2) { + // This is an array of P2P capable GPUs + gpuid[gpu_p2p_count++] = i; + } + } + + // Show all the combinations of support P2P GPUs + int can_access_peer; + + if (gpu_p2p_count >= 2) { + for (int i = 0; i < gpu_p2p_count; i++) { + for (int j = 0; j < gpu_p2p_count; j++) { + if (gpuid[i] == gpuid[j]) { + continue; + } + cudaErrcheck( + cudaDeviceCanAccessPeer(&can_access_peer, gpuid[i], gpuid[j])); + sprintf(msg, "> Peer access from %s (GPU%d) -> %s (GPU%d) : %s\n", + prop[gpuid[i]].name, gpuid[i], prop[gpuid[j]].name, gpuid[j], + can_access_peer ? "Yes" : "No"); + ofs_device << msg << std::endl; + } + } + } + } + + // csv masterlog info + // ***************************** + // exe and CUDA driver name + std::string sProfileString = "deviceQuery, CUDA Driver = CUDART"; + char cTemp[16]; + + // driver version + sProfileString += ", CUDA Driver Version = "; + + snprintf(cTemp, sizeof(cTemp), "%d.%d", driverVersion / 1000, + (driverVersion % 100) / 10); + sProfileString += cTemp; + + // Runtime version + sProfileString += ", CUDA Runtime Version = "; + snprintf(cTemp, sizeof(cTemp), "%d.%d", runtimeVersion / 1000, + (runtimeVersion % 100) / 10); + sProfileString += cTemp; + + // Device count + sProfileString += ", NumDevs = "; + snprintf(cTemp, sizeof(cTemp), "%d", deviceCount); + sProfileString += cTemp; + sProfileString += "\n"; + + ofs_device << sProfileString.c_str() << std::endl; + is_init = true; + ofs_device << "End of device informations." << std::endl << std::endl; +} + +template <> +void record_device_memory( + const base_device::DEVICE_GPU *ctx, std::ofstream &ofs_device, + std::string str, size_t size) { + ofs_device << "Allocate " << static_cast(size) / 8 / 1024 / 1024 + << " \tMB device memory\t" + << "from " << str << std::endl + << std::endl; +} + +#elif defined(__ROCM) + +static bool is_init = false; + +template <> +void print_device_info( + const base_device::DEVICE_GPU *ctx, std::ofstream &ofs_device) { + if (is_init) { + return; + } + int deviceCount = 0; + hipError_t error_id = hipGetDeviceCount(&deviceCount); + if (error_id != hipSuccess) { + ofs_device << "hipGetDeviceCount returned " << static_cast(error_id) + << "\n-> " << hipGetErrorString(error_id) << std::endl; + ModuleBase::WARNING_QUIT("device", "GPU returned is without hipSuccess"); + } + // This function call returns 0 if there are no CUDA capable devices. + if (deviceCount == 0) { + ofs_device << "There are no available device(s) that support CUDA\n"; + } else { + ofs_device << "Detected " << deviceCount << " CUDA Capable device(s)\n"; + } + int dev = 0, driverVersion = 0, runtimeVersion = 0; + hipErrcheck(hipGetDevice(&dev)); + hipDeviceProp_t deviceProp; + hipErrcheck(hipGetDeviceProperties(&deviceProp, dev)); + ofs_device << "\nDevice " << dev << ":\t " << deviceProp.name << std::endl; + // Console log + hipErrcheck(hipDriverGetVersion(&driverVersion)); + hipErrcheck(hipRuntimeGetVersion(&runtimeVersion)); + char msg[1024]; + sprintf(msg, + " CUDA Driver Version / Runtime Version %d.%d / %d.%d\n", + driverVersion / 1000, (driverVersion % 100) / 10, + runtimeVersion / 1000, (runtimeVersion % 100) / 10); + ofs_device << msg << std::endl; + sprintf(msg, " CUDA Capability Major/Minor version number: %d.%d\n", + deviceProp.major, deviceProp.minor); + ofs_device << msg << std::endl; + sprintf(msg, + " GPU Max Clock rate: %.0f MHz (%0.2f " + "GHz)\n", + deviceProp.clockRate * 1e-3f, deviceProp.clockRate * 1e-6f); + ofs_device << msg << std::endl; + // This is supported in CUDA 5.0 (runtime API device properties) + sprintf(msg, " Memory Clock rate: %.0f Mhz\n", + deviceProp.memoryClockRate * 1e-3f); + ofs_device << msg << std::endl; + + sprintf(msg, " Memory Bus Width: %d-bit\n", + deviceProp.memoryBusWidth); + ofs_device << msg << std::endl; + sprintf(msg, + " Maximum Texture Dimension Size (x,y,z) 1D=(%d), 2D=(%d, " + "%d), 3D=(%d, %d, %d)\n", + deviceProp.maxTexture1D, deviceProp.maxTexture2D[0], + deviceProp.maxTexture2D[1], deviceProp.maxTexture3D[0], + deviceProp.maxTexture3D[1], deviceProp.maxTexture3D[2]); + ofs_device << msg << std::endl; + + sprintf(msg, " Total amount of constant memory: %zu bytes\n", + deviceProp.totalConstMem); + ofs_device << msg << std::endl; + sprintf(msg, " Total amount of shared memory per block: %zu bytes\n", + deviceProp.sharedMemPerBlock); + ofs_device << msg << std::endl; + sprintf(msg, " Total number of registers available per block: %d\n", + deviceProp.regsPerBlock); + ofs_device << msg << std::endl; + sprintf(msg, " Warp size: %d\n", + deviceProp.warpSize); + ofs_device << msg << std::endl; + sprintf(msg, " Maximum number of threads per multiprocessor: %d\n", + deviceProp.maxThreadsPerMultiProcessor); + ofs_device << msg << std::endl; + sprintf(msg, " Maximum number of threads per block: %d\n", + deviceProp.maxThreadsPerBlock); + ofs_device << msg << std::endl; + sprintf(msg, " Max dimension size of a thread block (x,y,z): (%d, %d, %d)\n", + deviceProp.maxThreadsDim[0], deviceProp.maxThreadsDim[1], + deviceProp.maxThreadsDim[2]); + ofs_device << msg << std::endl; + sprintf(msg, " Max dimension size of a grid size (x,y,z): (%d, %d, %d)\n", + deviceProp.maxGridSize[0], deviceProp.maxGridSize[1], + deviceProp.maxGridSize[2]); + ofs_device << msg << std::endl; + sprintf(msg, " Maximum memory pitch: %zu bytes\n", + deviceProp.memPitch); + ofs_device << msg << std::endl; + sprintf(msg, " Texture alignment: %zu bytes\n", + deviceProp.textureAlignment); + ofs_device << msg << std::endl; + sprintf(msg, " Run time limit on kernels: %s\n", + deviceProp.kernelExecTimeoutEnabled ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Integrated GPU sharing Host Memory: %s\n", + deviceProp.integrated ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Support host page-locked memory mapping: %s\n", + deviceProp.canMapHostMemory ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Device has ECC support: %s\n", + deviceProp.ECCEnabled ? "Enabled" : "Disabled"); + ofs_device << msg << std::endl; + sprintf(msg, " Device supports Managed Memory: %s\n", + deviceProp.managedMemory ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Supports Cooperative Kernel Launch: %s\n", + deviceProp.cooperativeLaunch ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, " Supports MultiDevice Co-op Kernel Launch: %s\n", + deviceProp.cooperativeMultiDeviceLaunch ? "Yes" : "No"); + ofs_device << msg << std::endl; + sprintf(msg, + " Device PCI Domain ID / Bus ID / location ID: %d / %d / %d\n", + deviceProp.pciDomainID, deviceProp.pciBusID, deviceProp.pciDeviceID); + ofs_device << msg << std::endl; + const char *sComputeMode[] = { + "Default (multiple host threads can use ::hipSetDevice() with device " + "simultaneously)", + "Exclusive (only one host thread in one process is able to use " + "::hipSetDevice() with this device)", + "Prohibited (no host thread can use ::hipSetDevice() with this " + "device)", + "Exclusive Process (many threads in one process is able to use " + "::hipSetDevice() with this device)", + "Unknown", + NULL}; + sprintf(msg, " Compute Mode:\n"); + ofs_device << msg << std::endl; + ofs_device << " " << sComputeMode[deviceProp.computeMode] << std::endl + << std::endl; + + // If there are 2 or more GPUs, query to determine whether RDMA is supported + if (deviceCount >= 2) { + hipDeviceProp_t prop[64]; + int gpuid[64]; // we want to find the first two GPUs that can support P2P + int gpu_p2p_count = 0; + + for (int i = 0; i < deviceCount; i++) { + hipErrcheck(hipGetDeviceProperties(&prop[i], i)); + + // Only boards based on Fermi or later can support P2P + if (prop[i].major >= 2) { + // This is an array of P2P capable GPUs + gpuid[gpu_p2p_count++] = i; + } + } + + // Show all the combinations of support P2P GPUs + int can_access_peer; + + if (gpu_p2p_count >= 2) { + for (int i = 0; i < gpu_p2p_count; i++) { + for (int j = 0; j < gpu_p2p_count; j++) { + if (gpuid[i] == gpuid[j]) { + continue; + } + hipErrcheck( + hipDeviceCanAccessPeer(&can_access_peer, gpuid[i], gpuid[j])); + sprintf(msg, "> Peer access from %s (GPU%d) -> %s (GPU%d) : %s\n", + prop[gpuid[i]].name, gpuid[i], prop[gpuid[j]].name, gpuid[j], + can_access_peer ? "Yes" : "No"); + ofs_device << msg << std::endl; + } + } + } + } + + // csv masterlog info + // ***************************** + // exe and CUDA driver name + std::string sProfileString = "deviceQuery, CUDA Driver = CUDART"; + char cTemp[16]; + + // driver version + sProfileString += ", CUDA Driver Version = "; + + snprintf(cTemp, sizeof(cTemp), "%d.%d", driverVersion / 1000, + (driverVersion % 100) / 10); + sProfileString += cTemp; + + // Runtime version + sProfileString += ", CUDA Runtime Version = "; + snprintf(cTemp, sizeof(cTemp), "%d.%d", runtimeVersion / 1000, + (runtimeVersion % 100) / 10); + sProfileString += cTemp; + + // Device count + sProfileString += ", NumDevs = "; + snprintf(cTemp, sizeof(cTemp), "%d", deviceCount); + sProfileString += cTemp; + sProfileString += "\n"; + + ofs_device << sProfileString.c_str() << std::endl; + is_init = true; + ofs_device << "End of device informations." << std::endl << std::endl; +} + +template <> +void record_device_memory( + const base_device::DEVICE_GPU *ctx, std::ofstream &ofs_device, + std::string str, size_t size) { + ofs_device << "Allocate " << static_cast(size) / 8 / 1024 / 1024 + << " \tMB device memory\t" + << "from " << str << std::endl + << std::endl; +} + +#endif +} +} diff --git a/source/source_base/module_external/blas_connector.h b/source/source_base/module_external/blas_connector.h index 921f94ddb9..920731b3f6 100644 --- a/source/source_base/module_external/blas_connector.h +++ b/source/source_base/module_external/blas_connector.h @@ -8,136 +8,192 @@ // These still need to be linked in the header file // Because quite a lot of code will directly use the original cblas kernels. +// The following declarations cover only a subset of BLAS routines. +// If you need a BLAS function that is not included here, feel free to add its declaration as needed. extern "C" { - // level 1: std::vector-std::vector operations, O(n) data and O(n) work. - - // Peize Lin add ?scal 2016-08-04, to compute x=a*x - void sscal_(const int *N, const float *alpha, float *X, const int *incX); - void dscal_(const int *N, const double *alpha, double *X, const int *incX); - void cscal_(const int *N, const std::complex *alpha, std::complex *X, const int *incX); - void zscal_(const int *N, const std::complex *alpha, std::complex *X, const int *incX); - - // Peize Lin add ?axpy 2016-08-04, to compute y=a*x+y - void saxpy_(const int *N, const float *alpha, const float *X, const int *incX, float *Y, const int *incY); - void daxpy_(const int *N, const double *alpha, const double *X, const int *incX, double *Y, const int *incY); - void caxpy_(const int *N, const std::complex *alpha, const std::complex *X, const int *incX, std::complex *Y, const int *incY); - void zaxpy_(const int *N, const std::complex *alpha, const std::complex *X, const int *incX, std::complex *Y, const int *incY); - - void dcopy_(long const *n, const double *a, int const *incx, double *b, int const *incy); - void zcopy_(long const *n, const std::complex *a, int const *incx, std::complex *b, int const *incy); - - //reason for passing results as argument instead of returning it: - //see https://www.numbercrunch.de/blog/2014/07/lost-in-translation/ - // void zdotc_(std::complex *result, const int *n, const std::complex *zx, - // const int *incx, const std::complex *zy, const int *incy); - // Peize Lin add ?dot 2017-10-27, to compute d=x*y - float sdot_(const int *N, const float *X, const int *incX, const float *Y, const int *incY); - double ddot_(const int *N, const double *X, const int *incX, const double *Y, const int *incY); - - // Peize Lin add ?nrm2 2018-06-12, to compute out = ||x||_2 = \sqrt{ \sum_i x_i**2 } - float snrm2_( const int *n, const float *X, const int *incX ); - double dnrm2_( const int *n, const double *X, const int *incX ); - double dznrm2_( const int *n, const std::complex *X, const int *incX ); - - // symmetric rank-k update - void dsyrk_( - const char* uplo, - const char* trans, - const int* n, - const int* k, - const double* alpha, - const double* a, - const int* lda, - const double* beta, - double* c, - const int* ldc - ); - - // level 2: matrix-std::vector operations, O(n^2) data and O(n^2) work. - void sgemv_(const char*const transa, const int*const m, const int*const n, - const float*const alpha, const float*const a, const int*const lda, const float*const x, const int*const incx, - const float*const beta, float*const y, const int*const incy); - void dgemv_(const char*const transa, const int*const m, const int*const n, - const double*const alpha, const double*const a, const int*const lda, const double*const x, const int*const incx, - const double*const beta, double*const y, const int*const incy); - - void cgemv_(const char *trans, const int *m, const int *n, const std::complex *alpha, - const std::complex *a, const int *lda, const std::complex *x, const int *incx, - const std::complex *beta, std::complex *y, const int *incy); - - void zgemv_(const char *trans, const int *m, const int *n, const std::complex *alpha, - const std::complex *a, const int *lda, const std::complex *x, const int *incx, - const std::complex *beta, std::complex *y, const int *incy); - - void dsymv_(const char *uplo, const int *n, - const double *alpha, const double *a, const int *lda, - const double *x, const int *incx, - const double *beta, double *y, const int *incy); - - // A := alpha x * y.T + A - void dger_(const int* m, - const int* n, - const double* alpha, - const double* x, - const int* incx, - const double* y, - const int* incy, - double* a, - const int* lda); - void zgerc_(const int* m, - const int* n, - const std::complex* alpha, - const std::complex* x, - const int* incx, - const std::complex* y, - const int* incy, - std::complex* a, - const int* lda); - - // level 3: matrix-matrix operations, O(n^2) data and O(n^3) work. - - // Peize Lin add ?gemm 2017-10-27, to compute C = a * A.? * B.? + b * C - // A is general - void sgemm_(const char *transa, const char *transb, const int *m, const int *n, const int *k, - const float *alpha, const float *a, const int *lda, const float *b, const int *ldb, - const float *beta, float *c, const int *ldc); - void dgemm_(const char *transa, const char *transb, const int *m, const int *n, const int *k, - const double *alpha, const double *a, const int *lda, const double *b, const int *ldb, - const double *beta, double *c, const int *ldc); - void cgemm_(const char *transa, const char *transb, const int *m, const int *n, const int *k, - const std::complex *alpha, const std::complex *a, const int *lda, const std::complex *b, const int *ldb, - const std::complex *beta, std::complex *c, const int *ldc); - void zgemm_(const char *transa, const char *transb, const int *m, const int *n, const int *k, - const std::complex *alpha, const std::complex *a, const int *lda, const std::complex *b, const int *ldb, - const std::complex *beta, std::complex *c, const int *ldc); - - // A is symmetric. C = a * A.? * B.? + b * C - void ssymm_(const char *side, const char *uplo, const int *m, const int *n, - const float *alpha, const float *a, const int *lda, const float *b, const int *ldb, - const float *beta, float *c, const int *ldc); - void dsymm_(const char *side, const char *uplo, const int *m, const int *n, - const double *alpha, const double *a, const int *lda, const double *b, const int *ldb, - const double *beta, double *c, const int *ldc); - void csymm_(const char *side, const char *uplo, const int *m, const int *n, - const std::complex *alpha, const std::complex *a, const int *lda, const std::complex *b, const int *ldb, - const std::complex *beta, std::complex *c, const int *ldc); - void zsymm_(const char *side, const char *uplo, const int *m, const int *n, - const std::complex *alpha, const std::complex *a, const int *lda, const std::complex *b, const int *ldb, - const std::complex *beta, std::complex *c, const int *ldc); - - // A is hermitian. C = a * A.? * B.? + b * C - void chemm_(char *side, char *uplo, int *m, int *n,std::complex *alpha, - std::complex *a, int *lda, std::complex *b, int *ldb, std::complex *beta, std::complex *c, int *ldc); - void zhemm_(char *side, char *uplo, int *m, int *n,std::complex *alpha, - std::complex *a, int *lda, std::complex *b, int *ldb, std::complex *beta, std::complex *c, int *ldc); - - //solving triangular matrix with multiple right hand sides - void dtrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n, - double* alpha, double* a, int *lda, double*b, int *ldb); - void ztrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n, - std::complex* alpha, std::complex* a, int *lda, std::complex*b, int *ldb); - +// Level 1 BLAS +void sscal_(const int *N, const float *alpha, float *X, const int *incX); +void dscal_(const int *N, const double *alpha, double *X, const int *incX); +void cscal_(const int *N, const std::complex *alpha, std::complex *X, const int *incX); +void zscal_(const int *N, const std::complex *alpha, std::complex *X, const int *incX); + +void saxpy_(const int *N, const float *alpha, const float *X, const int *incX, float *Y, const int *incY); +void daxpy_(const int *N, const double *alpha, const double *X, const int *incX, double *Y, const int *incY); +void caxpy_(const int *N, const std::complex *alpha, const std::complex *X, const int *incX, std::complex *Y, const int *incY); +void zaxpy_(const int *N, const std::complex *alpha, const std::complex *X, const int *incX, std::complex *Y, const int *incY); + +void scopy_(const int *n, const float *a, const int *incx, float *b, const int *incy); +void dcopy_(const int *n, const double *a, const int *incx, double *b, const int *incy); +void ccopy_(const int *n, const std::complex *a, const int *incx, std::complex *b, const int *incy); +void zcopy_(const int *n, const std::complex *a, const int *incx, std::complex *b, const int *incy); + +// Note: sdot_/ddot_ return by value +float sdot_(const int *N, const float *X, const int *incX, const float *Y, const int *incY); +double ddot_(const int *N, const double *X, const int *incX, const double *Y, const int *incY); + +float snrm2_(const int *n, const float *X, const int *incX); +double dnrm2_(const int *n, const double *X, const int *incX); +float scnrm2_(const int *n, const std::complex *X, const int *incX); +double dznrm2_(const int *n, const std::complex *X, const int *incX); + +// Level 2 BLAS + +void sgemv_(const char *transa, const int *m, const int *n, + const float *alpha, const float *a, const int *lda, + const float *x, const int *incx, + const float *beta, float *y, const int *incy); + +void dgemv_(const char *transa, const int *m, const int *n, + const double *alpha, const double *a, const int *lda, + const double *x, const int *incx, + const double *beta, double *y, const int *incy); + +void cgemv_(const char *trans, const int *m, const int *n, + const std::complex *alpha, + const std::complex *a, const int *lda, + const std::complex *x, const int *incx, + const std::complex *beta, + std::complex *y, const int *incy); + +void zgemv_(const char *trans, const int *m, const int *n, + const std::complex *alpha, + const std::complex *a, const int *lda, + const std::complex *x, const int *incx, + const std::complex *beta, + std::complex *y, const int *incy); + +void dsymv_(const char *uplo, const int *n, + const double *alpha, const double *a, const int *lda, + const double *x, const int *incx, + const double *beta, double *y, const int *incy); + +void dger_(const int *m, const int *n, + const double *alpha, + const double *x, const int *incx, + const double *y, const int *incy, + double *a, const int *lda); + +void zgerc_(const int *m, const int *n, + const std::complex *alpha, + const std::complex *x, const int *incx, + const std::complex *y, const int *incy, + std::complex *a, const int *lda); + +// Level 3 BLAS + +void sgemm_(const char *transa, const char *transb, + const int *m, const int *n, const int *k, + const float *alpha, + const float *a, const int *lda, + const float *b, const int *ldb, + const float *beta, + float *c, const int *ldc); + +void dgemm_(const char *transa, const char *transb, + const int *m, const int *n, const int *k, + const double *alpha, + const double *a, const int *lda, + const double *b, const int *ldb, + const double *beta, + double *c, const int *ldc); + +void cgemm_(const char *transa, const char *transb, + const int *m, const int *n, const int *k, + const std::complex *alpha, + const std::complex *a, const int *lda, + const std::complex *b, const int *ldb, + const std::complex *beta, + std::complex *c, const int *ldc); + +void zgemm_(const char *transa, const char *transb, + const int *m, const int *n, const int *k, + const std::complex *alpha, + const std::complex *a, const int *lda, + const std::complex *b, const int *ldb, + const std::complex *beta, + std::complex *c, const int *ldc); + +void ssymm_(const char *side, const char *uplo, + const int *m, const int *n, + const float *alpha, + const float *a, const int *lda, + const float *b, const int *ldb, + const float *beta, + float *c, const int *ldc); + +void dsymm_(const char *side, const char *uplo, + const int *m, const int *n, + const double *alpha, + const double *a, const int *lda, + const double *b, const int *ldb, + const double *beta, + double *c, const int *ldc); + +void csymm_(const char *side, const char *uplo, + const int *m, const int *n, + const std::complex *alpha, + const std::complex *a, const int *lda, + const std::complex *b, const int *ldb, + const std::complex *beta, + std::complex *c, const int *ldc); + +void zsymm_(const char *side, const char *uplo, + const int *m, const int *n, + const std::complex *alpha, + const std::complex *a, const int *lda, + const std::complex *b, const int *ldb, + const std::complex *beta, + std::complex *c, const int *ldc); + +void chemm_(const char *side, const char *uplo, + const int *m, const int *n, + const std::complex *alpha, + const std::complex *a, const int *lda, + const std::complex *b, const int *ldb, + const std::complex *beta, + std::complex *c, const int *ldc); + +void zhemm_(const char *side, const char *uplo, + const int *m, const int *n, + const std::complex *alpha, + const std::complex *a, const int *lda, + const std::complex *b, const int *ldb, + const std::complex *beta, + std::complex *c, const int *ldc); + +void dtrsm_(const char *side, const char *uplo, const char *transa, const char *diag, + const int *m, const int *n, + const double *alpha, + const double *a, const int *lda, + double *b, const int *ldb); + +void ztrsm_(const char *side, const char *uplo, const char *transa, const char *diag, + const int *m, const int *n, + const std::complex *alpha, + const std::complex *a, const int *lda, + std::complex *b, const int *ldb); + +// === Hermitian rank-k update === +void cherk_(const char* uplo, const char* trans, const int* n, const int* k, + const float* alpha, + const std::complex* a, const int* lda, + const float* beta, + std::complex* c, const int* ldc); + +void zherk_(const char* uplo, const char* trans, const int* n, const int* k, + const double* alpha, + const std::complex* a, const int* lda, + const double* beta, + std::complex* c, const int* ldc); + +// === Symmetric rank-k update === +void dsyrk_(const char* uplo, const char* trans, const int* n, const int* k, + const double* alpha, + const double* a, const int* lda, + const double* beta, + double* c, + const int* ldc); } // Class BlasConnector provide the connector to fortran lapack routine. @@ -338,10 +394,16 @@ class BlasConnector // copies a into b static - void copy(const long n, const double *a, const int incx, double *b, const int incy, base_device::AbacusDevice_t device_type = base_device::AbacusDevice_t::CpuDevice); + void copy(const int n, const double *a, const int incx, double *b, const int incy, base_device::AbacusDevice_t device_type = base_device::AbacusDevice_t::CpuDevice); + + static + void copy(const int n, const float *a, const int incx, float *b, const int incy, base_device::AbacusDevice_t device_type = base_device::AbacusDevice_t::CpuDevice); + + static + void copy(const int n, const std::complex *a, const int incx, std::complex *b, const int incy, base_device::AbacusDevice_t device_type = base_device::AbacusDevice_t::CpuDevice); static - void copy(const long n, const std::complex *a, const int incx, std::complex *b, const int incy, base_device::AbacusDevice_t device_type = base_device::AbacusDevice_t::CpuDevice); + void copy(const int n, const std::complex *a, const int incx, std::complex *b, const int incy, base_device::AbacusDevice_t device_type = base_device::AbacusDevice_t::CpuDevice); // There is some other operators needed, so implemented manually here template diff --git a/source/source_base/module_external/blas_connector_matrix.cpp b/source/source_base/module_external/blas_connector_matrix.cpp index de1e839ad0..62a4e46a43 100644 --- a/source/source_base/module_external/blas_connector_matrix.cpp +++ b/source/source_base/module_external/blas_connector_matrix.cpp @@ -4,6 +4,7 @@ #ifdef __DSP #include "source_base/kernels/dsp/dsp_connector.h" #include "source_base/global_variable.h" +#include "source_io/module_parameter/parameter.h" #endif #ifdef __CUDA @@ -30,7 +31,7 @@ void BlasConnector::gemm(const char transa, const char transb, const int m, cons else if (device_type == base_device::AbacusDevice_t::DspDevice){ mtfunc::sgemm_mth_(&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, - &beta, c, &ldc, GlobalV::MY_RANK); + &beta, c, &ldc, GlobalV::MY_RANK % PARAM.inp.dsp_count); } #endif #ifdef __CUDA @@ -67,7 +68,7 @@ void BlasConnector::gemm(const char transa, #ifdef __DSP else if (device_type == base_device::AbacusDevice_t::DspDevice) { - mtfunc::dgemm_mth_(&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, GlobalV::MY_RANK); + mtfunc::dgemm_mth_(&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, GlobalV::MY_RANK % PARAM.inp.dsp_count); } #endif else if (device_type == base_device::AbacusDevice_t::GpuDevice) @@ -106,7 +107,7 @@ void BlasConnector::gemm(const char transa, #ifdef __DSP else if (device_type == base_device::AbacusDevice_t::DspDevice) { - mtfunc::cgemm_mth_(&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, GlobalV::MY_RANK); + mtfunc::cgemm_mth_(&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, GlobalV::MY_RANK % PARAM.inp.dsp_count); } #endif else if (device_type == base_device::AbacusDevice_t::GpuDevice) @@ -157,7 +158,7 @@ void BlasConnector::gemm(const char transa, #ifdef __DSP else if (device_type == base_device::AbacusDevice_t::DspDevice) { - mtfunc::zgemm_mth_(&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, GlobalV::MY_RANK); + mtfunc::zgemm_mth_(&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, GlobalV::MY_RANK % PARAM.inp.dsp_count); } #endif else if (device_type == base_device::AbacusDevice_t::GpuDevice) @@ -200,7 +201,7 @@ void BlasConnector::gemm_cm(const char transa, const char transb, const int m, c else if (device_type == base_device::AbacusDevice_t::DspDevice){ mtfunc::sgemm_mth_(&transb, &transa, &m, &n, &k, &alpha, a, &lda, b, &ldb, - &beta, c, &ldc, GlobalV::MY_RANK); + &beta, c, &ldc, GlobalV::MY_RANK % PARAM.inp.dsp_count); } #endif #ifdef __CUDA @@ -237,7 +238,7 @@ void BlasConnector::gemm_cm(const char transa, #ifdef __DSP else if (device_type == base_device::AbacusDevice_t::DspDevice) { - mtfunc::dgemm_mth_(&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, GlobalV::MY_RANK); + mtfunc::dgemm_mth_(&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, GlobalV::MY_RANK % PARAM.inp.dsp_count); } #endif #ifdef __CUDA @@ -276,7 +277,7 @@ void BlasConnector::gemm_cm(const char transa, #ifdef __DSP else if (device_type == base_device::AbacusDevice_t::DspDevice) { - mtfunc::cgemm_mth_(&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, GlobalV::MY_RANK); + mtfunc::cgemm_mth_(&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, GlobalV::MY_RANK % PARAM.inp.dsp_count); } #endif #ifdef __CUDA @@ -327,7 +328,7 @@ void BlasConnector::gemm_cm(const char transa, #ifdef __DSP else if (device_type == base_device::AbacusDevice_t::DspDevice) { - mtfunc::zgemm_mth_(&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, GlobalV::MY_RANK); + mtfunc::zgemm_mth_(&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, GlobalV::MY_RANK % PARAM.inp.dsp_count); } #endif #ifdef __CUDA diff --git a/source/source_base/module_external/blas_connector_vector.cpp b/source/source_base/module_external/blas_connector_vector.cpp index b5e0972946..b650f16f8f 100644 --- a/source/source_base/module_external/blas_connector_vector.cpp +++ b/source/source_base/module_external/blas_connector_vector.cpp @@ -322,7 +322,17 @@ double BlasConnector::nrm2( const int n, const std::complex *X, const in } // copies a into b -void BlasConnector::copy(const long n, const double *a, const int incx, double *b, const int incy, base_device::AbacusDevice_t device_type) +void BlasConnector::copy(const int n, const float *a, const int incx, float *b, const int incy, base_device::AbacusDevice_t device_type) +{ + if (device_type == base_device::AbacusDevice_t::CpuDevice) { + scopy_(&n, a, &incx, b, &incy); + } + else { + throw std::invalid_argument("device_type = " + std::to_string(device_type) + " in " + std::string(__FILE__) + " line " + std::to_string(__LINE__)); + } +} + +void BlasConnector::copy(const int n, const double *a, const int incx, double *b, const int incy, base_device::AbacusDevice_t device_type) { if (device_type == base_device::AbacusDevice_t::CpuDevice) { dcopy_(&n, a, &incx, b, &incy); @@ -332,7 +342,17 @@ void BlasConnector::copy(const long n, const double *a, const int incx, double * } } -void BlasConnector::copy(const long n, const std::complex *a, const int incx, std::complex *b, const int incy, base_device::AbacusDevice_t device_type) +void BlasConnector::copy(const int n, const std::complex *a, const int incx, std::complex *b, const int incy, base_device::AbacusDevice_t device_type) +{ + if (device_type == base_device::AbacusDevice_t::CpuDevice) { + ccopy_(&n, a, &incx, b, &incy); + } + else { + throw std::invalid_argument("device_type = " + std::to_string(device_type) + " in " + std::string(__FILE__) + " line " + std::to_string(__LINE__)); + } +} + +void BlasConnector::copy(const int n, const std::complex *a, const int incx, std::complex *b, const int incy, base_device::AbacusDevice_t device_type) { if (device_type == base_device::AbacusDevice_t::CpuDevice) { zcopy_(&n, a, &incx, b, &incy); @@ -348,7 +368,7 @@ void vector_mul_vector(const int& dim, T* result, const T* vector1, const T* vec using Real = typename GetTypeReal::type; if (device_type == base_device::AbacusDevice_t::CpuDevice) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(Real)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { @@ -371,7 +391,7 @@ void vector_div_vector(const int& dim, T* result, const T* vector1, const T* vec using Real = typename GetTypeReal::type; if (device_type == base_device::AbacusDevice_t::CpuDevice) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(Real)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { @@ -392,7 +412,7 @@ void vector_add_vector(const int& dim, float *result, const float *vector1, cons { if (device_type == base_device::CpuDevice){ #ifdef _OPENMP -#pragma omp parallel for schedule(static, 8192 / sizeof(float)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { @@ -413,7 +433,7 @@ void vector_add_vector(const int& dim, double *result, const double *vector1, co { if (device_type == base_device::CpuDevice){ #ifdef _OPENMP -#pragma omp parallel for schedule(static, 8192 / sizeof(double)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { @@ -434,7 +454,7 @@ void vector_add_vector(const int& dim, std::complex *result, const std::c { if (device_type == base_device::CpuDevice){ #ifdef _OPENMP -#pragma omp parallel for schedule(static, 8192 / sizeof(std::complex)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { @@ -455,7 +475,7 @@ void vector_add_vector(const int& dim, std::complex *result, const std:: { if (device_type == base_device::CpuDevice){ #ifdef _OPENMP -#pragma omp parallel for schedule(static, 8192 / sizeof(std::complex)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < dim; i++) { diff --git a/source/source_base/module_external/lapack_connector.h b/source/source_base/module_external/lapack_connector.h index 1f691fe3c2..5007aedabf 100644 --- a/source/source_base/module_external/lapack_connector.h +++ b/source/source_base/module_external/lapack_connector.h @@ -1,5 +1,26 @@ -#ifndef LAPACKCONNECTOR_HPP -#define LAPACKCONNECTOR_HPP +/** + * @file lapack_connector.h + * + * @brief This is a wrapper of some LAPACK routines. + * \b Row-Major version. + * + * @warning MAY BE DEPRECATED IN THE FUTURE. + * @warning For Column-major version, please refer to \c source/source_base/module_container/base/third_party/lapack.h. + * + * @note + * !!! Note that + * This wrapper is a C++ style wrapper of LAPACK routines, + * i.e., assuming that the input matrices are in \b row-major order. + * The data layout in C++ is row-major, C style, + * while the original LAPACK is column-major, fortran style. + * (ModuleBase::ComplexMatrix is in row-major order) + * The wrapper will do the data transformation between + * row-major and column-major order automatically. + * + */ + +#ifndef LAPACK_CONNECTOR_HPP +#define LAPACK_CONNECTOR_HPP #include #include @@ -11,181 +32,276 @@ //Naming convention of lapack subroutines : ammxxx, where //"a" specifies the data type: -// - d stands for double -// - z stands for complex double +// - s stands for float +// - d stands for double +// - c stands for complex float +// - z stands for complex double //"mm" specifies the type of matrix, for example: // - he stands for hermitian // - sy stands for symmetric //"xxx" specifies the type of problem, for example: // - gv stands for generalized eigenvalue +// The following declarations cover only a subset of LAPACK routines. +// If you need a LAPACK function that is not included here, feel free to add its declaration as needed. extern "C" { -// solve the generalized eigenproblem Ax=eBx, where A is Hermitian and complex couble - // zhegv_ & zhegvd_ returns all eigenvalues while zhegvx_ returns selected ones - void dsygvd_(const int* itype, const char* jobz, const char* uplo, const int* n, - double* a, const int* lda, - const double* b, const int* ldb, double* w, - double* work, int* lwork, - int* iwork, int* liwork, int* info); - - void chegvd_(const int* itype, const char* jobz, const char* uplo, const int* n, +// === Generalized Hermitian-definite eigenproblems === +void dsygvd_(const int* itype, const char* jobz, const char* uplo, const int* n, + double* a, const int* lda, + double* b, const int* ldb, + double* w, + double* work, const int* lwork, + int* iwork, const int* liwork, + int* info); + +void chegvd_(const int* itype, const char* jobz, const char* uplo, const int* n, std::complex* a, const int* lda, - const std::complex* b, const int* ldb, float* w, - std::complex* work, int* lwork, float* rwork, int* lrwork, - int* iwork, int* liwork, int* info); - - void zhegvd_(const int* itype, const char* jobz, const char* uplo, const int* n, - std::complex* a, const int* lda, - const std::complex* b, const int* ldb, double* w, - std::complex* work, int* lwork, double* rwork, int* lrwork, - int* iwork, int* liwork, int* info); - - void dsyevx_(const char* jobz, const char* range, const char* uplo, const int* n, - double* a, const int* lda, - const double* vl, const double* vu, const int* il, const int* iu, const double* abstol, - const int* m, double* w, double* z, const int* ldz, - double* work, const int* lwork, double* rwork, int* iwork, int* ifail, int* info); - - void cheevx_(const char* jobz, const char* range, const char* uplo, const int* n, - std::complex *a, const int* lda, - const float* vl, const float* vu, const int* il, const int* iu, const float* abstol, - const int* m, float* w, std::complex *z, const int *ldz, - std::complex *work, const int* lwork, float* rwork, int* iwork, int* ifail, int* info); - - void zheevx_(const char* jobz, const char* range, const char* uplo, const int* n, - std::complex *a, const int* lda, - const double* vl, const double* vu, const int* il, const int* iu, const double* abstol, - const int* m, double* w, std::complex *z, const int *ldz, - std::complex *work, const int* lwork, double* rwork, int* iwork, int* ifail, int* info); - - - void dsygvx_(const int* itype, const char* jobz, const char* range, const char* uplo, - const int* n, double* A, const int* lda, double* B, const int* ldb, - const double* vl, const double* vu, const int* il, const int* iu, - const double* abstol, const int* m, double* w, double* Z, const int* ldz, - double* work, const int* lwork, int* iwork, int* ifail, int* info); - - void chegvx_(const int* itype,const char* jobz,const char* range,const char* uplo, - const int* n,std::complex *a,const int* lda,std::complex *b, - const int* ldb,const float* vl,const float* vu,const int* il, - const int* iu,const float* abstol,const int* m,float* w, - std::complex *z,const int *ldz,std::complex *work,const int* lwork, - float* rwork,int* iwork,int* ifail,int* info); - - void zhegvx_(const int* itype,const char* jobz,const char* range,const char* uplo, - const int* n,std::complex *a,const int* lda,std::complex *b, - const int* ldb,const double* vl,const double* vu,const int* il, - const int* iu,const double* abstol,const int* m,double* w, - std::complex *z,const int *ldz,std::complex *work,const int* lwork, - double* rwork,int* iwork,int* ifail,int* info); - - void zhegv_(const int* itype,const char* jobz,const char* uplo,const int* n, - std::complex* a,const int* lda,std::complex* b,const int* ldb, - double* w,std::complex* work,int* lwork,double* rwork,int* info); - void chegv_(const int* itype,const char* jobz,const char* uplo,const int* n, - std::complex* a,const int* lda,std::complex* b,const int* ldb, - float* w,std::complex* work,int* lwork,float* rwork,int* info); - void dsygv_(const int* itype, const char* jobz,const char* uplo, const int* n, - double* a,const int* lda,double* b,const int* ldb, - double* w,double* work,int* lwork,int* info); - - // solve the eigenproblem Ax=ex, where A is Hermitian and complex couble - // zheev_ returns all eigenvalues while zheevx_ returns selected ones - void zheev_(const char* jobz,const char* uplo,const int* n,std::complex *a, - const int* lda,double* w,std::complex* work,const int* lwork, - double* rwork,int* info); - void cheev_(const char* jobz,const char* uplo,const int* n,std::complex *a, - const int* lda,float* w,std::complex* work,const int* lwork, - float* rwork,int* info); - void dsyev_(const char* jobz,const char* uplo,const int* n,double *a, - const int* lda,double* w,double* work,const int* lwork, int* info); - - // solve the eigenproblem Ax=ex, where A is a general matrix - void dgeev_(const char* jobvl, const char* jobvr, const int* n, double* a, const int* lda, - double* wr, double* wi, double* vl, const int* ldvl, double* vr, const int* ldvr, - double* work, const int* lwork, int* info); - void zgeev_(const char* jobvl, const char* jobvr, const int* n, std::complex* a, const int* lda, - std::complex* w, std::complex* vl, const int* ldvl, std::complex* vr, const int* ldvr, - std::complex* work, const int* lwork, double* rwork, int* info); - // liuyu add 2023-10-03 - // dgetri and dgetrf computes the inverse of a n*n real matrix - void dgetri_(const int* n, double* a, const int* lda, const int* ipiv, double* work, const int* lwork, int* info); - void dgetrf_(const int* m, const int* n, double* a, const int* lda, int* ipiv, int* info); - - // dsytrf_ computes the Bunch-Kaufman factorization of a double precision - // symmetric matrix, while dsytri takes its output to perform martrix inversion - void dsytrf_(const char* uplo, const int* n, double * a, const int* lda, - int *ipiv,double *work, const int* lwork ,int *info); - void dsytri_(const char* uplo,const int* n,double *a, const int *lda, - int *ipiv, double * work,int *info); - // Peize Lin add dsptrf and dsptri 2016-06-21, to compute inverse real symmetry indefinit matrix. - // dpotrf computes the Cholesky factorization of a real symmetric positive definite matrix - // while dpotri taks its output to perform matrix inversion - void spotrf_(const char*const uplo, const int*const n, float*const A, const int*const lda, int*const info); - void dpotrf_(const char*const uplo, const int*const n, double*const A, const int*const lda, int*const info); - void cpotrf_(const char*const uplo, const int*const n, std::complex*const A, const int*const lda, int*const info); - void zpotrf_(const char*const uplo, const int*const n, std::complex*const A, const int*const lda, int*const info); - void spotri_(const char*const uplo, const int*const n, float*const A, const int*const lda, int*const info); - void dpotri_(const char*const uplo, const int*const n, double*const A, const int*const lda, int*const info); - void cpotri_(const char*const uplo, const int*const n, std::complex*const A, const int*const lda, int*const info); - void zpotri_(const char*const uplo, const int*const n, std::complex*const A, const int*const lda, int*const info); - - // zgetrf computes the LU factorization of a general matrix - // while zgetri takes its output to perform matrix inversion - void zgetrf_(const int* m, const int *n, std::complex *A, const int *lda, int *ipiv, int* info); - void zgetri_(const int* n, std::complex* A, const int* lda, const int* ipiv, std::complex* work, const int* lwork, int* info); - - // if trans=='N': C = alpha * A * A.H + beta * C - // if trans=='C': C = alpha * A.H * A + beta * C - void zherk_(const char *uplo, const char *trans, const int *n, const int *k, - const double *alpha, const std::complex *A, const int *lda, - const double *beta, std::complex *C, const int *ldc); - void cherk_(const char* uplo, const char* trans, const int* n, const int* k, - const float* alpha, const std::complex* A, const int* lda, - const float* beta, std::complex* C, const int* ldc); - - // computes all eigenvalues of a symmetric tridiagonal matrix - // using the Pal-Walker-Kahan variant of the QL or QR algorithm. - void dsterf_(int *n, double *d, double *e, int *info); - // computes the eigenvectors of a real symmetric tridiagonal - // matrix T corresponding to specified eigenvalues - void dstein_(int *n, double* d, double *e, int *m, double *w, - int* block, int* isplit, double* z, int *lda, double *work, - int* iwork, int* ifail, int *info); - // computes the eigenvectors of a complex symmetric tridiagonal - // matrix T corresponding to specified eigenvalues - void zstein_(int *n, double* d, double *e, int *m, double *w, - int* block, int* isplit, std::complex* z, int *lda, double *work, - int* iwork, int* ifail, int *info); - - // computes the Cholesky factorization of a symmetric - // positive definite matrix A. - void dpotf2_(char *uplo, int *n, double *a, int *lda, int *info); - void zpotf2_(char *uplo,int *n,std::complex *a, int *lda, int *info); - - // reduces a symmetric definite generalized eigenproblem to standard form - // using the factorization results obtained from spotrf - void dsygs2_(int *itype, char *uplo, int *n, double *a, int *lda, double *b, int *ldb, int *info); - void zhegs2_(int *itype, char *uplo, int *n, std::complex *a, int *lda, std::complex *b, int *ldb, int *info); - - // copies a into b - void dlacpy_(char *uplo, int *m, int *n, double* a, int *lda, double *b, int *ldb); - void zlacpy_(char *uplo, int *m, int *n, std::complex* a, int *lda, std::complex *b, int *ldb); - - // generates a real elementary reflector H of order n, such that - // H * ( alpha ) = ( beta ), H is unitary. - // ( x ) ( 0 ) - void dlarfg_(int *n, double *alpha, double *x, int *incx, double *tau); - void zlarfg_(int *n, std::complex *alpha, std::complex *x, int *incx, std::complex *tau); - - // solve a tridiagonal linear system - void dgtsv_(int* N, int* NRHS, double* DL, double* D, double* DU, double* B, int* LDB, int* INFO); - - // solve Ax = b - void dsysv_(const char* uplo, const int* n, const int* m, double * a, const int* lda, - int *ipiv, double * b, const int* ldb, double *work, const int* lwork ,int *info); -} + std::complex* b, const int* ldb, + float* w, + std::complex* work, const int* lwork, + float* rwork, const int* lrwork, + int* iwork, const int* liwork, + int* info); + +void zhegvd_(const int* itype, const char* jobz, const char* uplo, const int* n, + std::complex* a, const int* lda, + std::complex* b, const int* ldb, + double* w, + std::complex* work, const int* lwork, + double* rwork, const int* lrwork, + int* iwork, const int* liwork, + int* info); + +// === Selected eigenvalues/vectors: standard Hermitian === + +void dsyevx_(const char* jobz, const char* range, const char* uplo, const int* n, + double* a, const int* lda, + const double* vl, const double* vu, + const int* il, const int* iu, + const double* abstol, + int* m, double* w, double* z, const int* ldz, + double* work, const int* lwork, + int* iwork, int* ifail, + int* info); + +void cheevx_(const char* jobz, const char* range, const char* uplo, const int* n, + std::complex* a, const int* lda, + const float* vl, const float* vu, + const int* il, const int* iu, + const float* abstol, + int* m, float* w, std::complex* z, const int* ldz, + std::complex* work, const int* lwork, + float* rwork, int* iwork, int* ifail, + int* info); + +void zheevx_(const char* jobz, const char* range, const char* uplo, const int* n, + std::complex* a, const int* lda, + const double* vl, const double* vu, + const int* il, const int* iu, + const double* abstol, + int* m, double* w, std::complex* z, const int* ldz, + std::complex* work, const int* lwork, + double* rwork, int* iwork, int* ifail, + int* info); + +// === Selected eigenvalues/vectors: generalized Hermitian === + +void dsygvx_(const int* itype, const char* jobz, const char* range, const char* uplo, + const int* n, + double* a, const int* lda, + double* b, const int* ldb, + const double* vl, const double* vu, + const int* il, const int* iu, + const double* abstol, + int* m, double* w, double* z, const int* ldz, + double* work, const int* lwork, + int* iwork, int* ifail, + int* info); + +void chegvx_(const int* itype, const char* jobz, const char* range, const char* uplo, + const int* n, + std::complex* a, const int* lda, + std::complex* b, const int* ldb, + const float* vl, const float* vu, + const int* il, const int* iu, + const float* abstol, + int* m, float* w, std::complex* z, const int* ldz, + std::complex* work, const int* lwork, + float* rwork, int* iwork, int* ifail, + int* info); + +void zhegvx_(const int* itype, const char* jobz, const char* range, const char* uplo, + const int* n, + std::complex* a, const int* lda, + std::complex* b, const int* ldb, + const double* vl, const double* vu, + const int* il, const int* iu, + const double* abstol, + int* m, double* w, std::complex* z, const int* ldz, + std::complex* work, const int* lwork, + double* rwork, int* iwork, int* ifail, + int* info); + +// === Generalized Hermitian: all eigenvalues (simple driver) === + +void dsygv_(const int* itype, const char* jobz, const char* uplo, const int* n, + double* a, const int* lda, + double* b, const int* ldb, + double* w, + double* work, const int* lwork, + int* info); + +void chegv_(const int* itype, const char* jobz, const char* uplo, const int* n, + std::complex* a, const int* lda, + std::complex* b, const int* ldb, + float* w, + std::complex* work, const int* lwork, + float* rwork, + int* info); + +void zhegv_(const int* itype, const char* jobz, const char* uplo, const int* n, + std::complex* a, const int* lda, + std::complex* b, const int* ldb, + double* w, + std::complex* work, const int* lwork, + double* rwork, + int* info); + +// === Standard Hermitian eigenproblem === + + void ssyev_(const char* jobz, + const char* uplo, + const int* n, + float* a, + const int* lda, + float* w, + float* work, + const int* lwork, + int* info); + void dsyev_(const char* jobz, + const char* uplo, + const int* n, + double* a, + const int* lda, + double* w, + double* work, + const int* lwork, + int* info); + +void cheev_(const char* jobz, const char* uplo, const int* n, + std::complex* a, const int* lda, + float* w, + std::complex* work, const int* lwork, + float* rwork, + int* info); + +void zheev_(const char* jobz, const char* uplo, const int* n, + std::complex* a, const int* lda, + double* w, + std::complex* work, const int* lwork, + double* rwork, + int* info); + +// === General (non-Hermitian) eigenproblem === + +void dgeev_(const char* jobvl, const char* jobvr, const int* n, + double* a, const int* lda, + double* wr, double* wi, + double* vl, const int* ldvl, + double* vr, const int* ldvr, + double* work, const int* lwork, + int* info); + +void zgeev_(const char* jobvl, const char* jobvr, const int* n, + std::complex* a, const int* lda, + std::complex* w, + std::complex* vl, const int* ldvl, + std::complex* vr, const int* ldvr, + std::complex* work, const int* lwork, + double* rwork, + int* info); + +// === Matrix inversion (LU) === + +void dgetrf_(const int* m, const int* n, double* a, const int* lda, + int* ipiv, int* info); + +void dgetri_(const int* n, double* a, const int* lda, + const int* ipiv, + double* work, const int* lwork, + int* info); + +// === Symmetric indefinite inversion (Bunch-Kaufman) === + +void dsytrf_(const char* uplo, const int* n, double* a, const int* lda, + int* ipiv, double* work, const int* lwork, int* info); + +void dsytri_(const char* uplo, const int* n, double* a, const int* lda, + const int* ipiv, double* work, int* info); + +// === Cholesky factorization & inversion === + +void spotrf_(const char* uplo, const int* n, float* a, const int* lda, int* info); +void dpotrf_(const char* uplo, const int* n, double* a, const int* lda, int* info); +void cpotrf_(const char* uplo, const int* n, std::complex* a, const int* lda, int* info); +void zpotrf_(const char* uplo, const int* n, std::complex* a, const int* lda, int* info); + +void spotri_(const char* uplo, const int* n, float* a, const int* lda, int* info); +void dpotri_(const char* uplo, const int* n, double* a, const int* lda, int* info); +void cpotri_(const char* uplo, const int* n, std::complex* a, const int* lda, int* info); +void zpotri_(const char* uplo, const int* n, std::complex* a, const int* lda, int* info); + +// === Complex LU inversion === + +void zgetrf_(const int* m, const int* n, std::complex* a, const int* lda, + int* ipiv, int* info); + +void zgetri_(const int* n, std::complex* a, const int* lda, + const int* ipiv, + std::complex* work, const int* lwork, + int* info); + + +// === Tridiagonal eigen solvers === + +void dsterf_(const int* n, double* d, double* e, int* info); + +void dstein_(const int* n, const double* d, const double* e, + const int* m, const double* w, + const int* iblock, const int* isplit, + double* z, const int* ldz, + double* work, int* iwork, int* ifail, + int* info); + +void zstein_(const int* n, const double* d, const double* e, + const int* m, const double* w, + const int* iblock, const int* isplit, + std::complex* z, const int* ldz, + double* work, int* iwork, int* ifail, + int* info); + +// === Unblocked Cholesky (level 2 BLAS) === + +void dpotf2_(const char* uplo, const int* n, double* a, const int* lda, int* info); +void zpotf2_(const char* uplo, const int* n, std::complex* a, const int* lda, int* info); + +// === Tridiagonal solver === + +void dgtsv_(const int* n, const int* nrhs, + double* dl, double* d, double* du, + double* b, const int* ldb, + int* info); + +// === Symmetric indefinite linear solver === + +void dsysv_(const char* uplo, const int* n, const int* nrhs, + double* a, const int* lda, + int* ipiv, + double* b, const int* ldb, + double* work, const int* lwork, + int* info); +} // extern "C" #ifdef GATHER_INFO #define zhegvx_ zhegvx_i @@ -203,7 +319,7 @@ void zhegvx_i(const int* itype, const int* il, const int* iu, const double* abstol, - const int* m, + int* m, double* w, std::complex* z, const int* ldz, @@ -218,9 +334,8 @@ void zhegvx_i(const int* itype, // Class LapackConnector provide the connector to fortran lapack routine. // The entire function in this class are static and inline function. // Usage example: LapackConnector::functionname(parameter list). -class LapackConnector +namespace LapackConnector { -private: // Transpose the std::complex matrix to the fortran-form real-std::complex array. static inline std::complex* transpose(const ModuleBase::ComplexMatrix& a, const int n, const int lda) @@ -327,7 +442,6 @@ class LapackConnector } } -public: // wrap function of fortran lapack routine zheev. static inline void zheev( const char jobz, @@ -467,5 +581,5 @@ class LapackConnector const char trans_changed = change_trans_NC(trans); cherk_(&uplo_changed, &trans_changed, &n, &k, &alpha, A, &lda, &beta, C, &ldc); } -}; -#endif // LAPACKCONNECTOR_HPP +} // namespace LapackConnector +#endif // LAPACK_CONNECTOR_HPP diff --git a/source/source_base/module_external/lapack_wrapper.h b/source/source_base/module_external/lapack_wrapper.h deleted file mode 100644 index acccdc0454..0000000000 --- a/source/source_base/module_external/lapack_wrapper.h +++ /dev/null @@ -1,484 +0,0 @@ -#ifndef LAPACK_HPP -#define LAPACK_HPP -#include -extern "C" -{ - // ================================================================================= - // gvd: - void dsygvd_(const int* itype, const char* jobz, const char* uplo, const int* n, - double* a, const int* lda, - const double* b, const int* ldb, double* w, - double* work, int* lwork, - int* iwork, int* liwork, int* info); - - void chegvd_(const int* itype, const char* jobz, const char* uplo, const int* n, - std::complex* a, const int* lda, - const std::complex* b, const int* ldb, float* w, - std::complex* work, int* lwork, float* rwork, int* lrwork, - int* iwork, int* liwork, int* info); - - void zhegvd_(const int* itype, const char* jobz, const char* uplo, const int* n, - std::complex* a, const int* lda, - const std::complex* b, const int* ldb, double* w, - std::complex* work, int* lwork, double* rwork, int* lrwork, - int* iwork, int* liwork, int* info); - // ================================================================================= - - // ================================================================================= - // evx - void dsyevx_(const char* jobz, const char* range, const char* uplo, const int* n, - double* a, const int* lda, - const double* vl, const double* vu, const int* il, const int* iu, const double* abstol, - const int* m, double* w, double* z, const int* ldz, - double* work, const int* lwork, double* rwork, int* iwork, int* ifail, int* info); - - void cheevx_(const char* jobz, const char* range, const char* uplo, const int* n, - std::complex *a, const int* lda, - const float* vl, const float* vu, const int* il, const int* iu, const float* abstol, - const int* m, float* w, std::complex *z, const int *ldz, - std::complex *work, const int* lwork, float* rwork, int* iwork, int* ifail, int* info); - - void zheevx_(const char* jobz, const char* range, const char* uplo, const int* n, - std::complex *a, const int* lda, - const double* vl, const double* vu, const int* il, const int* iu, const double* abstol, - const int* m, double* w, std::complex *z, const int *ldz, - std::complex *work, const int* lwork, double* rwork, int* iwork, int* ifail, int* info); - // ================================================================================= - - - // ================================================================================= - // gvx - void dsygvx_(const int* itype, const char* jobz, const char* range, const char* uplo, - const int* n, double* A, const int* lda, double* B, const int* ldb, - const double* vl, const double* vu, const int* il, const int* iu, - const double* abstol, const int* m, double* w, double* Z, const int* ldz, - double* work, const int* lwork, int* iwork, int* ifail, int* info); - - void chegvx_(const int* itype,const char* jobz,const char* range,const char* uplo, - const int* n,std::complex *a,const int* lda,std::complex *b, - const int* ldb,const float* vl,const float* vu,const int* il, - const int* iu,const float* abstol,const int* m,float* w, - std::complex *z,const int *ldz,std::complex *work,const int* lwork, - float* rwork,int* iwork,int* ifail,int* info); - - void zhegvx_(const int* itype,const char* jobz,const char* range,const char* uplo, - const int* n,std::complex *a,const int* lda,std::complex *b, - const int* ldb,const double* vl,const double* vu,const int* il, - const int* iu,const double* abstol,const int* m,double* w, - std::complex *z,const int *ldz,std::complex *work,const int* lwork, - double* rwork,int* iwork,int* ifail,int* info); - // ================================================================================= - - // ================================================================================= - // gv - void zhegv_(const int* itype,const char* jobz,const char* uplo,const int* n, - std::complex* a,const int* lda,std::complex* b,const int* ldb, - double* w,std::complex* work,int* lwork,double* rwork,int* info); - void chegv_(const int* itype,const char* jobz,const char* uplo,const int* n, - std::complex* a,const int* lda,std::complex* b,const int* ldb, - float* w,std::complex* work,int* lwork,float* rwork,int* info); - void dsygv_(const int* itype, const char* jobz,const char* uplo, const int* n, - double* a,const int* lda,double* b,const int* ldb, - double* w,double* work,int* lwork,int* info); - // ================================================================================= - -} - -class LapackWrapper -{ - private: - public: - // wrap function of fortran lapack routine zhegvd. (pointer version) - static inline void xhegvd(const int itype, - const char jobz, - const char uplo, - const int n, - double* a, - const int lda, - const double* b, - const int ldb, - double* w, - double* work, - int lwork, - double* rwork, - int lrwork, - int* iwork, - int liwork, - int& info) - { - // call the fortran routine - dsygvd_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, iwork, &liwork, &info); - } - - // wrap function of fortran lapack routine zhegvd. (pointer version) - static inline void xhegvd(const int itype, - const char jobz, - const char uplo, - const int n, - std::complex* a, - const int lda, - const std::complex* b, - const int ldb, - float* w, - std::complex* work, - int lwork, - float* rwork, - int lrwork, - int* iwork, - int liwork, - int& info) - { - // call the fortran routine - chegvd_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, rwork, &lrwork, iwork, &liwork, &info); - } - - // wrap function of fortran lapack routine zhegvd. - static inline void xhegvd(const int itype, - const char jobz, - const char uplo, - const int n, - std::complex* a, - const int lda, - const std::complex* b, - const int ldb, - double* w, - std::complex* work, - int lwork, - double* rwork, - int lrwork, - int* iwork, - int liwork, - int& info) - { - // call the fortran routine - zhegvd_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, rwork, &lrwork, iwork, &liwork, &info); - } - - // wrap function of fortran lapack routine dsyevx. - static inline void xheevx(const int itype, - const char jobz, - const char range, - const char uplo, - const int n, - double* a, - const int lda, - const double vl, - const double vu, - const int il, - const int iu, - const double abstol, - const int m, - double* w, - double* z, - const int ldz, - double* work, - const int lwork, - double* rwork, - int* iwork, - int* ifail, - int& info) - { - dsyevx_(&jobz, - &range, - &uplo, - &n, - a, - &lda, - &vl, - &vu, - &il, - &iu, - &abstol, - &m, - w, - z, - &ldz, - work, - &lwork, - rwork, - iwork, - ifail, - &info); - } - - // wrap function of fortran lapack routine cheevx. - static inline void xheevx(const int itype, - const char jobz, - const char range, - const char uplo, - const int n, - std::complex* a, - const int lda, - const float vl, - const float vu, - const int il, - const int iu, - const float abstol, - const int m, - float* w, - std::complex* z, - const int ldz, - std::complex* work, - const int lwork, - float* rwork, - int* iwork, - int* ifail, - int& info) - { - cheevx_(&jobz, - &range, - &uplo, - &n, - a, - &lda, - &vl, - &vu, - &il, - &iu, - &abstol, - &m, - w, - z, - &ldz, - work, - &lwork, - rwork, - iwork, - ifail, - &info); - } - - // wrap function of fortran lapack routine zheevx. - static inline void xheevx(const int itype, - const char jobz, - const char range, - const char uplo, - const int n, - std::complex* a, - const int lda, - const double vl, - const double vu, - const int il, - const int iu, - const double abstol, - const int m, - double* w, - std::complex* z, - const int ldz, - std::complex* work, - const int lwork, - double* rwork, - int* iwork, - int* ifail, - int& info) - { - zheevx_(&jobz, - &range, - &uplo, - &n, - a, - &lda, - &vl, - &vu, - &il, - &iu, - &abstol, - &m, - w, - z, - &ldz, - work, - &lwork, - rwork, - iwork, - ifail, - &info); - } - - // wrap function of fortran lapack routine xhegvx ( pointer version ). - static inline void xhegvx(const int itype, - const char jobz, - const char range, - const char uplo, - const int n, - std::complex* a, - const int lda, - std::complex* b, - const int ldb, - const float vl, - const float vu, - const int il, - const int iu, - const float abstol, - const int m, - float* w, - std::complex* z, - const int ldz, - std::complex* work, - const int lwork, - float* rwork, - int* iwork, - int* ifail, - int& info) - { - chegvx_(&itype, - &jobz, - &range, - &uplo, - &n, - a, - &lda, - b, - &ldb, - &vl, - &vu, - &il, - &iu, - &abstol, - &m, - w, - z, - &ldz, - work, - &lwork, - rwork, - iwork, - ifail, - &info); - } - - // wrap function of fortran lapack routine xhegvx ( pointer version ). - static inline void xhegvx(const int itype, - const char jobz, - const char range, - const char uplo, - const int n, - std::complex* a, - const int lda, - std::complex* b, - const int ldb, - const double vl, - const double vu, - const int il, - const int iu, - const double abstol, - const int m, - double* w, - std::complex* z, - const int ldz, - std::complex* work, - const int lwork, - double* rwork, - int* iwork, - int* ifail, - int& info) - { - zhegvx_(&itype, - &jobz, - &range, - &uplo, - &n, - a, - &lda, - b, - &ldb, - &vl, - &vu, - &il, - &iu, - &abstol, - &m, - w, - z, - &ldz, - work, - &lwork, - rwork, - iwork, - ifail, - &info); - } - // wrap function of fortran lapack routine xhegvx ( pointer version ). - static inline void xhegvx(const int itype, - const char jobz, - const char range, - const char uplo, - const int n, - double* a, - const int lda, - double* b, - const int ldb, - const double vl, - const double vu, - const int il, - const int iu, - const double abstol, - const int m, - double* w, - double* z, - const int ldz, - double* work, - const int lwork, - double* rwork, - int* iwork, - int* ifail, - int& info) - { - dsygvx_(&itype, &jobz, &range, &uplo, &n, a, &lda, b, &ldb, &vl, - &vu, &il, &iu, &abstol, &m, w, z, &ldz, work, &lwork, iwork, ifail, &info); - } - - // wrap function of fortran lapack routine xhegvx ( pointer version ). - static inline void xhegv(const int itype, - const char jobz, - const char uplo, - const int n, - double* a, - const int lda, - double* b, - const int ldb, - double* w, - double* work, - int lwork, - double* rwork, - int& info) - { - // TODO - } - - // wrap function of fortran lapack routine xhegvx ( pointer version ). - static inline void xhegv(const int itype, - const char jobz, - const char uplo, - const int n, - std::complex* a, - const int lda, - std::complex* b, - const int ldb, - float* w, - std::complex* work, - int lwork, - float* rwork, - int& info) - { - // TODO - } - // wrap function of fortran lapack routine xhegvx ( pointer version ). - static inline void xhegv(const int itype, - const char jobz, - const char uplo, - const int n, - std::complex* a, - const int lda, - std::complex* b, - const int ldb, - double* w, - std::complex* work, - int lwork, - double* rwork, - int& info) - { - zhegv_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, rwork, &info); - } -}; -#endif // LAPACK_HPP \ No newline at end of file diff --git a/source/source_basis/module_pw/module_fft/fft_base.h b/source/source_base/module_fft/fft_base.h similarity index 99% rename from source/source_basis/module_pw/module_fft/fft_base.h rename to source/source_base/module_fft/fft_base.h index 1721e4e3d2..1fcbc51412 100644 --- a/source/source_basis/module_pw/module_fft/fft_base.h +++ b/source/source_base/module_fft/fft_base.h @@ -2,7 +2,7 @@ #define FFT_BASE_H #include -namespace ModulePW +namespace ModuleBase { template class FFT_BASE @@ -160,5 +160,5 @@ template FFT_BASE::FFT_BASE(); template FFT_BASE::FFT_BASE(); template FFT_BASE::~FFT_BASE(); template FFT_BASE::~FFT_BASE(); -} // namespace ModulePW +} // namespace ModuleBase #endif // FFT_BASE_H diff --git a/source/source_basis/module_pw/module_fft/fft_bundle.cpp b/source/source_base/module_fft/fft_bundle.cpp similarity index 99% rename from source/source_basis/module_pw/module_fft/fft_bundle.cpp rename to source/source_base/module_fft/fft_bundle.cpp index 8e318c8d6d..67b38364b2 100644 --- a/source/source_basis/module_pw/module_fft/fft_bundle.cpp +++ b/source/source_base/module_fft/fft_bundle.cpp @@ -19,7 +19,7 @@ std::unique_ptr make_unique(Args&&... args) { return std::unique_ptr(new FFT_BASE(std::forward(args)...)); } -namespace ModulePW +namespace ModuleBase { FFT_Bundle::~FFT_Bundle() { @@ -296,4 +296,4 @@ std::complex* FFT_Bundle::get_auxr_3d_data() const { return fft_double->get_auxr_3d_data(); } -} // namespace ModulePW \ No newline at end of file +} // namespace ModuleBase \ No newline at end of file diff --git a/source/source_basis/module_pw/module_fft/fft_bundle.h b/source/source_base/module_fft/fft_bundle.h similarity index 99% rename from source/source_basis/module_pw/module_fft/fft_bundle.h rename to source/source_base/module_fft/fft_bundle.h index 74caadd36e..af82119201 100644 --- a/source/source_basis/module_pw/module_fft/fft_bundle.h +++ b/source/source_base/module_fft/fft_bundle.h @@ -5,7 +5,7 @@ #include "fft_cpu.h" #include -namespace ModulePW +namespace ModuleBase { class FFT_Bundle { @@ -216,5 +216,5 @@ struct FFT_Guard } }; -} // namespace ModulePW +} // namespace ModuleBase #endif // FFT_H diff --git a/source/source_basis/module_pw/module_fft/fft_cpu.cpp b/source/source_base/module_fft/fft_cpu.cpp similarity index 99% rename from source/source_basis/module_pw/module_fft/fft_cpu.cpp rename to source/source_base/module_fft/fft_cpu.cpp index 5c4783d83d..f50f6e9e86 100644 --- a/source/source_basis/module_pw/module_fft/fft_cpu.cpp +++ b/source/source_base/module_fft/fft_cpu.cpp @@ -1,6 +1,6 @@ #include "fft_cpu.h" #include "fftw3.h" -namespace ModulePW +namespace ModuleBase { template diff --git a/source/source_basis/module_pw/module_fft/fft_cpu.h b/source/source_base/module_fft/fft_cpu.h similarity index 99% rename from source/source_basis/module_pw/module_fft/fft_cpu.h rename to source/source_base/module_fft/fft_cpu.h index c0fe9992eb..f33fecd74b 100644 --- a/source/source_basis/module_pw/module_fft/fft_cpu.h +++ b/source/source_base/module_fft/fft_cpu.h @@ -3,7 +3,7 @@ #include "fft_base.h" #include "fftw3.h" -namespace ModulePW +namespace ModuleBase { template class FFT_CPU : public FFT_BASE diff --git a/source/source_basis/module_pw/module_fft/fft_cpu_float.cpp b/source/source_base/module_fft/fft_cpu_float.cpp similarity index 99% rename from source/source_basis/module_pw/module_fft/fft_cpu_float.cpp rename to source/source_base/module_fft/fft_cpu_float.cpp index b3e8d7d572..9d1265fd79 100644 --- a/source/source_basis/module_pw/module_fft/fft_cpu_float.cpp +++ b/source/source_base/module_fft/fft_cpu_float.cpp @@ -1,6 +1,6 @@ #include "fft_cpu.h" -namespace ModulePW +namespace ModuleBase { template <> void FFT_CPU::setupFFT() diff --git a/source/source_basis/module_pw/module_fft/fft_cuda.cpp b/source/source_base/module_fft/fft_cuda.cpp similarity index 98% rename from source/source_basis/module_pw/module_fft/fft_cuda.cpp rename to source/source_base/module_fft/fft_cuda.cpp index 8291acb34a..bd5669f822 100644 --- a/source/source_basis/module_pw/module_fft/fft_cuda.cpp +++ b/source/source_base/module_fft/fft_cuda.cpp @@ -3,7 +3,7 @@ #include "source_base/module_device/memory_op.h" #include "source_pw/module_pwdft/global.h" -namespace ModulePW +namespace ModuleBase { template void FFT_CUDA::initfft(int nx_in, int ny_in, int nz_in) @@ -111,4 +111,4 @@ template FFT_CUDA::FFT_CUDA(); template FFT_CUDA::~FFT_CUDA(); template FFT_CUDA::FFT_CUDA(); template FFT_CUDA::~FFT_CUDA(); -} // namespace ModulePW \ No newline at end of file +} // namespace ModuleBase \ No newline at end of file diff --git a/source/source_basis/module_pw/module_fft/fft_cuda.h b/source/source_base/module_fft/fft_cuda.h similarity index 97% rename from source/source_basis/module_pw/module_fft/fft_cuda.h rename to source/source_base/module_fft/fft_cuda.h index 4942ee33f2..7734caffa9 100644 --- a/source/source_basis/module_pw/module_fft/fft_cuda.h +++ b/source/source_base/module_fft/fft_cuda.h @@ -4,7 +4,7 @@ #include "fft_base.h" #include "cufft.h" #include "cuda_runtime.h" -namespace ModulePW +namespace ModuleBase { template class FFT_CUDA : public FFT_BASE @@ -63,5 +63,5 @@ class FFT_CUDA : public FFT_BASE }; -} // namespace ModulePW +} // namespace ModuleBase #endif \ No newline at end of file diff --git a/source/source_basis/module_pw/module_fft/fft_dsp.cpp b/source/source_base/module_fft/fft_dsp.cpp similarity index 90% rename from source/source_basis/module_pw/module_fft/fft_dsp.cpp rename to source/source_base/module_fft/fft_dsp.cpp index e26292cf5b..ca4a0cd1e4 100644 --- a/source/source_basis/module_pw/module_fft/fft_dsp.cpp +++ b/source/source_base/module_fft/fft_dsp.cpp @@ -1,11 +1,13 @@ #include "fft_dsp.h" #include "source_base/global_variable.h" +#include "source_base/global_function.h" +#include "source_io/module_parameter/parameter.h" #include #include #include -namespace ModulePW +namespace ModuleBase { template <> void FFT_DSP::initfft(int nx_in, int ny_in, int nz_in) @@ -13,7 +15,7 @@ void FFT_DSP::initfft(int nx_in, int ny_in, int nz_in) this->nx = nx_in; this->ny = ny_in; this->nz = nz_in; - cluster_id = GlobalV::MY_RANK; + cluster_id = GlobalV::MY_RANK % PARAM.inp.dsp_count; nxyz = this->nx * this->ny * this->nz; } template <> @@ -83,14 +85,14 @@ void FFT_DSP::resource_handler(const int flag) const template <> void FFT_DSP::fft3D_forward(std::complex* in, std::complex* out) const { - hthread_group_exec(thread_id_for, "execute_device", 1, 1, args_for); + hthread_group_exec(thread_id_for, "execute_mtfft_3d", 1, 1, args_for); hthread_group_wait(thread_id_for); } template <> void FFT_DSP::fft3D_backward(std::complex* in, std::complex* out) const { - hthread_group_exec(thread_id_for, "execute_device", 1, 1, args_back); + hthread_group_exec(thread_id_for, "execute_mtfft_3d", 1, 1, args_back); hthread_group_wait(thread_id_for); } template <> @@ -124,4 +126,4 @@ template FFT_DSP::FFT_DSP(); template FFT_DSP::~FFT_DSP(); template FFT_DSP::FFT_DSP(); template FFT_DSP::~FFT_DSP(); -} // namespace ModulePW \ No newline at end of file +} // namespace ModuleBase \ No newline at end of file diff --git a/source/source_basis/module_pw/module_fft/fft_dsp.h b/source/source_base/module_fft/fft_dsp.h similarity index 98% rename from source/source_basis/module_pw/module_fft/fft_dsp.h rename to source/source_base/module_fft/fft_dsp.h index f3358043ee..a735fd1c50 100644 --- a/source/source_basis/module_pw/module_fft/fft_dsp.h +++ b/source/source_base/module_fft/fft_dsp.h @@ -10,7 +10,7 @@ #include "mtfft.h" #include "fftw3.h" -namespace ModulePW +namespace ModuleBase { template @@ -84,5 +84,5 @@ class FFT_DSP : public FFT_BASE std::complex* z_auxr_3d = nullptr; // fft space }; -} // namespace ModulePW +} // namespace ModuleBase #endif \ No newline at end of file diff --git a/source/source_basis/module_pw/module_fft/fft_dsp_float.cpp b/source/source_base/module_fft/fft_dsp_float.cpp similarity index 92% rename from source/source_basis/module_pw/module_fft/fft_dsp_float.cpp rename to source/source_base/module_fft/fft_dsp_float.cpp index 3c11cfc81f..79efa4f000 100644 --- a/source/source_basis/module_pw/module_fft/fft_dsp_float.cpp +++ b/source/source_base/module_fft/fft_dsp_float.cpp @@ -1,5 +1,5 @@ #include "fft_dsp.h" -namespace ModulePW +namespace ModuleBase { template<> diff --git a/source/source_basis/module_pw/module_fft/fft_rocm.cpp b/source/source_base/module_fft/fft_rocm.cpp similarity index 98% rename from source/source_basis/module_pw/module_fft/fft_rocm.cpp rename to source/source_base/module_fft/fft_rocm.cpp index da37b51b7d..89413e2d64 100644 --- a/source/source_basis/module_pw/module_fft/fft_rocm.cpp +++ b/source/source_base/module_fft/fft_rocm.cpp @@ -1,7 +1,7 @@ #include "fft_rocm.h" #include "source_base/module_device/memory_op.h" #include "source_pw/module_pwdft/global.h" -namespace ModulePW +namespace ModuleBase { template void FFT_ROCM::initfft(int nx_in, @@ -107,4 +107,4 @@ template FFT_ROCM::FFT_ROCM(); template FFT_ROCM::~FFT_ROCM(); template FFT_ROCM::FFT_ROCM(); template FFT_ROCM::~FFT_ROCM(); -}// namespace ModulePW \ No newline at end of file +}// namespace ModuleBase \ No newline at end of file diff --git a/source/source_basis/module_pw/module_fft/fft_rocm.h b/source/source_base/module_fft/fft_rocm.h similarity index 97% rename from source/source_basis/module_pw/module_fft/fft_rocm.h rename to source/source_base/module_fft/fft_rocm.h index 10e7751da6..96c4cde091 100644 --- a/source/source_basis/module_pw/module_fft/fft_rocm.h +++ b/source/source_base/module_fft/fft_rocm.h @@ -5,7 +5,7 @@ #include "fft_base.h" #include #include -namespace ModulePW +namespace ModuleBase { template class FFT_ROCM : public FFT_BASE @@ -59,5 +59,5 @@ class FFT_ROCM : public FFT_BASE mutable std::complex* z_auxr_3d = nullptr; // fft space }; -}// namespace ModulePW +}// namespace ModuleBase #endif diff --git a/source/source_base/module_mixing/broyden_mixing.cpp b/source/source_base/module_mixing/broyden_mixing.cpp index c5f8e5e025..eabc0297a7 100644 --- a/source/source_base/module_mixing/broyden_mixing.cpp +++ b/source/source_base/module_mixing/broyden_mixing.cpp @@ -32,7 +32,7 @@ void Broyden_Mixing::tem_push_data(Mixing_Data& mdata, const size_t length = mdata.length; std::vector F_tmp(length); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < length; ++i) { @@ -72,7 +72,7 @@ void Broyden_Mixing::tem_push_data(Mixing_Data& mdata, dF = malloc(sizeof(FPTYPE) * length * mixing_ndim); FP_dF = static_cast(dF); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < length; ++i) { @@ -84,7 +84,7 @@ void Broyden_Mixing::tem_push_data(Mixing_Data& mdata, this->ndim_cal_dF = std::min(this->ndim_cal_dF + 1, this->mixing_ndim); start_dF = (this->start_dF + 1) % this->mixing_ndim; #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < length; ++i) { @@ -192,7 +192,7 @@ void Broyden_Mixing::tem_cal_coef(const Mixing_Data& mdata, std::functionndim_history; FPTYPE* FP_startdata = static_cast(this->data) + this->start * this->length; #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096/sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (std::size_t i = 0; i < length; ++i) { diff --git a/source/source_base/module_mixing/plain_mixing.cpp b/source/source_base/module_mixing/plain_mixing.cpp index 81bdd659ef..591519e79f 100644 --- a/source/source_base/module_mixing/plain_mixing.cpp +++ b/source/source_base/module_mixing/plain_mixing.cpp @@ -30,7 +30,7 @@ void Plain_Mixing::tem_push_data(Mixing_Data& mdata, const size_t length = mdata.length; std::vector F_tmp(length); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < length; ++i) { @@ -68,7 +68,7 @@ void Plain_Mixing::simple_mix(FPTYPE* data_new, if (screen == nullptr) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ig = 0; ig < length; ig++) { @@ -79,7 +79,7 @@ void Plain_Mixing::simple_mix(FPTYPE* data_new, { std::vector F_tmp(length); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < length; ++i) { @@ -87,7 +87,7 @@ void Plain_Mixing::simple_mix(FPTYPE* data_new, } screen(F_tmp.data()); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < length; ++i) { diff --git a/source/source_base/module_mixing/pulay_mixing.cpp b/source/source_base/module_mixing/pulay_mixing.cpp index c283a5c2e7..db25d2171d 100644 --- a/source/source_base/module_mixing/pulay_mixing.cpp +++ b/source/source_base/module_mixing/pulay_mixing.cpp @@ -32,7 +32,7 @@ void Pulay_Mixing::tem_push_data(Mixing_Data& mdata, std::vector F_tmp(length); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (std::size_t i = 0; i < length; ++i) { @@ -67,7 +67,7 @@ void Pulay_Mixing::tem_push_data(Mixing_Data& mdata, F = malloc(sizeof(FPTYPE) * length * mixing_ndim); FP_F = static_cast(F); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (std::size_t i = 0; i < length; ++i) { @@ -79,7 +79,7 @@ void Pulay_Mixing::tem_push_data(Mixing_Data& mdata, start_F = (this->start_F + 1) % this->mixing_ndim; FPTYPE* FP_startF = FP_F + start_F * length; #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (std::size_t i = 0; i < length; ++i) { diff --git a/source/source_base/parallel_global.cpp b/source/source_base/parallel_global.cpp index 6e5d1b2185..f227e6518f 100644 --- a/source/source_base/parallel_global.cpp +++ b/source/source_base/parallel_global.cpp @@ -15,7 +15,7 @@ #include "source_base/parallel_common.h" #include "source_base/parallel_reduce.h" #include "source_io/module_parameter/parameter.h" -// #include "source_base/tool_quit.h" +#include "source_base/tool_quit.h" #include "source_main/version.h" #include @@ -88,10 +88,10 @@ void Parallel_Global::split_grid_world(const int diag_np, const int& nproc, cons } // changed from read_mpi_parameters in 2024-1018 -void Parallel_Global::read_pal_param(int argc, - char** argv, - int& NPROC, - int& NTHREAD_PER_PROC, +void Parallel_Global::read_pal_param(int argc, + char** argv, + int& NPROC, + int& NTHREAD_PER_PROC, int& MY_RANK) { #ifdef __MPI @@ -328,9 +328,10 @@ void Parallel_Global::divide_pools(const int& NPROC, // and MY_BNDGROUP will be the same as well. if(BNDPAR > 1 && NPROC %(BNDPAR * KPAR) != 0) { - std::cout << "Error: When BNDPAR = " << BNDPAR << " > 1, number of processes (" << NPROC << ") must be divisible by the number of groups (" - << BNDPAR * KPAR << ")." << std::endl; - exit(1); + std::cout << "Error: When BNDPAR = " << BNDPAR << " > 1, number of processes (" << NPROC + << ") must be divisible by the number of groups (" << BNDPAR * KPAR << ")." << std::endl; + ModuleBase::WARNING_QUIT("ParallelGlobal::divide_pools", + "When BNDPAR > 1, number of processes NPROC must be divisible by the number of groups BNDPAR * KPAR."); } // k-point parallelization MPICommGroup kpar_group(MPI_COMM_WORLD); @@ -339,7 +340,7 @@ void Parallel_Global::divide_pools(const int& NPROC, // band parallelization MPICommGroup bndpar_group(kpar_group.group_comm); bndpar_group.divide_group_comm(BNDPAR, true); - + // Set parallel index. // In previous versions, the order of k-point parallelization and band parallelization is reversed. // So we need to keep some variables for compatibility. @@ -355,7 +356,7 @@ void Parallel_Global::divide_pools(const int& NPROC, { KP_WORLD = MPI_COMM_NULL; } - + if(BNDPAR > 1) { NPROC_IN_BNDGROUP = kpar_group.ngroups * bndpar_group.nprocs_in_group; @@ -385,14 +386,19 @@ void Parallel_Global::divide_mpi_groups(const int& procs, { if (num_groups == 0) { - std::cout << "Error: Number of groups must be greater than 0." << std::endl; - exit(1); + ModuleBase::WARNING_QUIT( + "Parallel_Global::divide_mpi_groups", + "Number of groups must be greater than 0." + ); } if (procs < num_groups) { std::cout << "Error: Number of processes (" << procs << ") must be greater than the number of groups (" << num_groups << ")." << std::endl; - exit(1); + ModuleBase::WARNING_QUIT( + "Parallel_Global::divide_mpi_groups", + "Number of processes must be greater than the number of groups." + ); } // Calculate the distribution of processes among pools. procs_in_group = procs / num_groups; diff --git a/source/source_base/parallel_reduce.cpp b/source/source_base/parallel_reduce.cpp index c44bd8fb66..03535573b7 100644 --- a/source/source_base/parallel_reduce.cpp +++ b/source/source_base/parallel_reduce.cpp @@ -13,6 +13,15 @@ void Parallel_Reduce::reduce_all(int& object) return; } +template <> +void Parallel_Reduce::reduce_all(long long& object) +{ +#ifdef __MPI + MPI_Allreduce(MPI_IN_PLACE, &object, 1, MPI_LONG_LONG, MPI_SUM, MPI_COMM_WORLD); +#endif + return; +} + void Parallel_Reduce::reduce_int_diag(int& object) { #ifdef __MPI @@ -48,6 +57,15 @@ void Parallel_Reduce::reduce_all(int* object, const int n) return; } +template <> +void Parallel_Reduce::reduce_all(long long* object, const int n) +{ +#ifdef __MPI + MPI_Allreduce(MPI_IN_PLACE, object, n, MPI_LONG_LONG, MPI_SUM, MPI_COMM_WORLD); +#endif + return; +} + void Parallel_Reduce::reduce_int_grid(int* object, const int n) { #ifdef __MPI diff --git a/source/source_base/sph_bessel_recursive-d2.cpp b/source/source_base/sph_bessel_recursive-d2.cpp index 4418905d97..f23074e9c3 100644 --- a/source/source_base/sph_bessel_recursive-d2.cpp +++ b/source/source_base/sph_bessel_recursive-d2.cpp @@ -4,12 +4,12 @@ //========================================================== #include "sph_bessel_recursive.h" +#include "constants.h" +#include "source_base/memory.h" #include #include -#include "constants.h" - namespace ModuleBase { @@ -33,6 +33,7 @@ const std::vector>> & Sph_Bessel_Recursive::D2:: cal_jlx_0( lmax+1, ix1_size, ix2_size ); cal_jlx_smallx( lmax+1, ix1_size, ix2_size ); cal_jlx_recursive( lmax+1, ix1_size, ix2_size ); + ModuleBase::Memory::record("ORB::Jl(x)", sizeof(double) * (lmax+1) * ix1_size * ix2_size); return jlx; } @@ -41,7 +42,7 @@ void Sph_Bessel_Recursive::D2::cal_jlx_0( const int l_size, const size_t ix1_siz if(jlx.size() < static_cast(l_size)) jlx.resize(l_size); - for( int l=0; l!=l_size; ++l ) + for( int l=0; l x_const, result, answer; @@ -241,7 +241,7 @@ TEST(blas_connector, dcopy_) { TEST(blas_connector, zcopy_) { typedef std::complex T; - long const size = 8; + int const size = 8; int const incx = 1; int const incy = 1; std::array x_const, result, answer; @@ -259,7 +259,7 @@ TEST(blas_connector, zcopy_) { } TEST(blas_connector, copy) { - long const size = 8; + int const size = 8; int const incx = 1; int const incy = 1; std::complex result[8], answer[8]; diff --git a/source/source_base/test/global_file_test.cpp b/source/source_base/test/global_file_test.cpp index 55b006fac4..338070ecfa 100644 --- a/source/source_base/test/global_file_test.cpp +++ b/source/source_base/test/global_file_test.cpp @@ -26,13 +26,24 @@ class GlobalFile : public testing::Test { - + protected: + void SetUp() override + { + const std::string suffix = "Si"; + PARAM.sys.global_out_dir = "OUT." + suffix + "/"; + PARAM.sys.global_stru_dir = PARAM.sys.global_out_dir + "STRU/"; + PARAM.sys.global_matrix_dir = PARAM.sys.global_out_dir + "matrix/"; + PARAM.sys.global_wfc_dir = PARAM.sys.global_out_dir + "WFC/"; + PARAM.sys.global_mlkedf_descriptor_dir = PARAM.sys.global_out_dir + "MLKEDF_Descriptors/"; + PARAM.sys.global_deepks_label_elec_dir = PARAM.sys.global_out_dir + "DeePKS_Labels_Elec/"; + } }; TEST_F(GlobalFile,mkdirout) { std::string output; testing::internal::CaptureStdout(); + PARAM.sys.log_file = "running_m_1.log"; ModuleBase::Global_File::make_dir_out("Si","m",false,false,0,true,true); output = testing::internal::GetCapturedStdout(); EXPECT_THAT(output,testing::HasSubstr("MAKE THE DIR")); @@ -43,6 +54,7 @@ TEST_F(GlobalFile,mkdirout) remove(dd.c_str()); testing::internal::CaptureStdout(); + PARAM.sys.log_file = "running_md.log"; ModuleBase::Global_File::make_dir_out("Si","md",false,false,0,true,false); output = testing::internal::GetCapturedStdout(); EXPECT_THAT(output,testing::HasSubstr("MAKE THE STRU DIR")); @@ -53,6 +65,7 @@ TEST_F(GlobalFile,mkdirout) remove(bb.c_str()); testing::internal::CaptureStdout(); + PARAM.sys.log_file = "running_md_1.log"; ModuleBase::Global_File::make_dir_out("Si","md",true,false,0,true,true); output = testing::internal::GetCapturedStdout(); EXPECT_THAT(output,testing::HasSubstr("MAKE THE MATRIX DIR")); @@ -79,6 +92,7 @@ TEST_F(GlobalFile,mkdiratom) TEST_F(GlobalFile,openlog) { + PARAM.sys.global_out_dir = "./"; std::ofstream ofs; ModuleBase::Global_File::open_log(ofs,"Si.log","md",true); EXPECT_TRUE(ofs.is_open()); diff --git a/source/source_base/test/global_function_test.cpp b/source/source_base/test/global_function_test.cpp index 3a5458c234..97e53c58a6 100644 --- a/source/source_base/test/global_function_test.cpp +++ b/source/source_base/test/global_function_test.cpp @@ -13,6 +13,10 @@ #include "gmock/gmock.h" #include "gtest/gtest.h" #include +#include +#include +#include +#include /************************************************ * unit test of functions in global_function @@ -420,9 +424,13 @@ TEST_F(GlobalFunctionTest, MakeDir) { GlobalV::MY_RANK = 0; ModuleBase::GlobalFunc::MAKE_DIR("scf"); - auto error1 = std::system("test -d "); + + struct stat st; + int error1 = stat("scf", &st); EXPECT_EQ(error1, 0); - auto error2 = std::system("rm -r scf "); + EXPECT_TRUE(S_ISDIR(st.st_mode)); + + int error2 = rmdir("scf"); EXPECT_EQ(error2, 0); SUCCEED(); } diff --git a/source/source_base/test_parallel/CMakeLists.txt b/source/source_base/test_parallel/CMakeLists.txt index bf4ed79bbc..17c8a8e115 100644 --- a/source/source_base/test_parallel/CMakeLists.txt +++ b/source/source_base/test_parallel/CMakeLists.txt @@ -7,13 +7,13 @@ AddTest( AddTest( TARGET MODULE_BASE_ParaGlobal LIBS parameter MPI::MPI_CXX - SOURCES parallel_global_test.cpp ../global_variable.cpp ../parallel_global.cpp ../parallel_comm.cpp + SOURCES parallel_global_test.cpp ../global_variable.cpp ../parallel_global.cpp ../parallel_comm.cpp ../tool_quit.cpp ../global_file.cpp ../global_function.cpp ../memory.cpp ../timer.cpp ../parallel_reduce.cpp ) AddTest( TARGET MODULE_BASE_ParaReduce LIBS parameter MPI::MPI_CXX - SOURCES parallel_reduce_test.cpp ../global_variable.cpp ../parallel_global.cpp ../parallel_comm.cpp ../parallel_common.cpp ../parallel_reduce.cpp + SOURCES parallel_reduce_test.cpp ../global_variable.cpp ../parallel_global.cpp ../parallel_comm.cpp ../parallel_common.cpp ../parallel_reduce.cpp ../tool_quit.cpp ../global_file.cpp ../global_function.cpp ../memory.cpp ../timer.cpp ) install(FILES parallel_common_test.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) @@ -54,7 +54,7 @@ add_test(NAME MODULE_BASE_para_gemm_parallel AddTest( TARGET MODULE_BASE_parallel_2d_test SOURCES parallel_2d_test.cpp ../parallel_2d.cpp - LIBS parameter ${math_libs} + LIBS parameter ${math_libs} ) install(FILES parallel_2d_test.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) @@ -67,7 +67,7 @@ add_test(NAME MODULE_BASE_parallel_2d_test_para # figure out the lib that provides BLACS if(MKLROOT) - list(APPEND BLACS_LIB MKL::MKL MKL::MKL_SCALAPACK) + list(APPEND BLACS_LIB MKL::MKL) else() set(BLACS_LIB ScaLAPACK::ScaLAPACK) endif() @@ -82,4 +82,3 @@ add_test(NAME MODULE_BASE_parallel_2d_test_para COMMAND ${BASH} blacs_connector_test.sh WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) - diff --git a/source/source_base/test_parallel/parallel_global_test.cpp b/source/source_base/test_parallel/parallel_global_test.cpp index bb31af30bc..3b6bf8491f 100644 --- a/source/source_base/test_parallel/parallel_global_test.cpp +++ b/source/source_base/test_parallel/parallel_global_test.cpp @@ -8,6 +8,9 @@ #include #include #include +#include + +#include "source_base/global_variable.h" /************************************************ * unit test of functions in parallel_global.cpp @@ -64,6 +67,7 @@ class MPIContext int _size; }; +// --- Normal Test --- class ParaGlobal : public ::testing::Test { protected: @@ -77,6 +81,7 @@ class ParaGlobal : public ::testing::Test } }; + TEST_F(ParaGlobal, SplitGrid) { // NPROC is set to 4 in parallel_global_test.sh @@ -160,14 +165,126 @@ TEST_F(ParaGlobal, MyProd) EXPECT_EQ(inout[1], std::complex(-3.0, -3.0)); } -TEST_F(ParaGlobal, InitPools) + + +TEST_F(ParaGlobal, DivideMPIPools) { + this->nproc = 12; + mpi.kpar = 3; + this->my_rank = 5; + Parallel_Global::divide_mpi_groups(this->nproc, + mpi.kpar, + this->my_rank, + mpi.nproc_in_pool, + mpi.my_pool, + mpi.rank_in_pool); + EXPECT_EQ(mpi.nproc_in_pool, 4); + EXPECT_EQ(mpi.my_pool, 1); + EXPECT_EQ(mpi.rank_in_pool, 1); +} + + +class FakeMPIContext +{ + public: + FakeMPIContext() + { + _rank = 0; + _size = 1; + } + + int GetRank() const + { + return _rank; + } + int GetSize() const + { + return _size; + } + + int drank; + int dsize; + int dcolor; + + int grank; + int gsize; + + int kpar; + int nproc_in_pool; + int my_pool; + int rank_in_pool; + + int nstogroup; + int MY_BNDGROUP; + int rank_in_stogroup; + int nproc_in_stogroup; + + private: + int _rank; + int _size; +}; + +// --- DeathTest: Single thread --- +// Since these precondition checks cause the processes to die, we call such tests death tests. +// convention of naming the test suite: *DeathTest +// Death tests should be run in a single-threaded context. +// Such DeathTest will be run before all other tests. +class ParaGlobalDeathTest : public ::testing::Test +{ + protected: + FakeMPIContext mpi; + int nproc; + int my_rank; + int real_rank; + + // DeathTest SetUp: + // Init variable, single thread + void SetUp() override + { + int is_init = 0; + MPI_Initialized(&is_init); + if (is_init) { + MPI_Comm_rank(MPI_COMM_WORLD, &real_rank); + } else { + real_rank = 0; + } + + if (real_rank != 0) return; + + nproc = mpi.GetSize(); + my_rank = mpi.GetRank(); + + // init log file needed by WARNING_QUIT + GlobalV::ofs_warning.open("warning.log"); + + + } + + // clean log file + void TearDown() override + { + if (real_rank != 0) return; + + GlobalV::ofs_warning.close(); + remove("warning.log"); + } +}; + +TEST_F(ParaGlobalDeathTest, InitPools) +{ + if (real_rank != 0) return; nproc = 12; mpi.kpar = 3; mpi.nstogroup = 3; my_rank = 5; - testing::internal::CaptureStdout(); - EXPECT_EXIT(Parallel_Global::init_pools(nproc, + EXPECT_EXIT( + // This gtest Macro expect that a given `statement` causes the program to exit, with an + // integer exit status that satisfies `predicate`(Here ::testing::ExitedWithCode(1)), + // and emitting error output that matches `matcher`(Here "Error"). + { + // redirect stdout to stderr to capture WARNING_QUIT output + dup2(STDERR_FILENO, STDOUT_FILENO); + Parallel_Global::init_pools(nproc, my_rank, mpi.nstogroup, mpi.kpar, @@ -176,35 +293,83 @@ TEST_F(ParaGlobal, InitPools) mpi.MY_BNDGROUP, mpi.nproc_in_pool, mpi.rank_in_pool, - mpi.my_pool), ::testing::ExitedWithCode(1), ""); - std::string output = testing::internal::GetCapturedStdout(); - EXPECT_THAT(output, testing::HasSubstr("Error:")); + mpi.my_pool); + }, + ::testing::ExitedWithCode(1), + "Error"); } - -TEST_F(ParaGlobal, DivideMPIPools) +TEST_F(ParaGlobalDeathTest, DivideMPIPoolsNgEqZero) { + if (real_rank != 0) return; + // test for num_groups == 0, + // Num_group Equals 0 + // WARNING_QUIT this->nproc = 12; - mpi.kpar = 3; - this->my_rank = 5; - Parallel_Global::divide_mpi_groups(this->nproc, + mpi.kpar = 0; + EXPECT_EXIT( + { + // redirect stdout to stderr to capture WARNING_QUIT output + dup2(STDERR_FILENO, STDOUT_FILENO); + Parallel_Global::divide_mpi_groups(this->nproc, mpi.kpar, this->my_rank, mpi.nproc_in_pool, mpi.my_pool, mpi.rank_in_pool); - EXPECT_EQ(mpi.nproc_in_pool, 4); - EXPECT_EQ(mpi.my_pool, 1); - EXPECT_EQ(mpi.rank_in_pool, 1); + }, + ::testing::ExitedWithCode(1), + "Number of groups must be greater than 0." + ); +} + +TEST_F(ParaGlobalDeathTest, DivideMPIPoolsNgGtProc) +{ + if (real_rank != 0) return; + // test for procs < num_groups + // Num_group GreaterThan Processors + // WARNING_QUIT + this->nproc = 12; + mpi.kpar = 24; + this->my_rank = 5; + EXPECT_EXIT( + { + // redirect stdout to stderr to capture WARNING_QUIT output + dup2(STDERR_FILENO, STDOUT_FILENO); + Parallel_Global::divide_mpi_groups(this->nproc, + mpi.kpar, + this->my_rank, + mpi.nproc_in_pool, + mpi.my_pool, + mpi.rank_in_pool); + }, + testing::ExitedWithCode(1), + "Error: Number of processes.*must be greater than the number of groups" + ); } int main(int argc, char** argv) { + bool is_death_test_child = false; + for (int i = 0; i < argc; ++i) { + if (std::string(argv[i]).find("gtest_internal_run_death_test") != std::string::npos) { + is_death_test_child = true; + break; + } + } + + if (!is_death_test_child) + { + MPI_Init(&argc, &argv); + } - MPI_Init(&argc, &argv); testing::InitGoogleTest(&argc, argv); + testing::FLAGS_gtest_death_test_style = "threadsafe"; int result = RUN_ALL_TESTS(); - MPI_Finalize(); + + if (!is_death_test_child) { + MPI_Finalize(); + } return result; } -#endif +#endif // __MPI diff --git a/source/source_base/timer.cpp b/source/source_base/timer.cpp index f7a4be636d..c8cd3bc6ac 100644 --- a/source/source_base/timer.cpp +++ b/source/source_base/timer.cpp @@ -14,6 +14,11 @@ #include "chrono" #include "source_base/formatter.h" +#if defined(__CUDA) && defined(__USE_NVTX) +#include "source_base/module_device/cuda_compat.h" +#include "source_io/module_parameter/parameter.h" +#endif + namespace ModuleBase { @@ -93,6 +98,12 @@ void timer::tick(const std::string &class_name,const std::string &name) #endif ++timer_one.calls; timer_one.start_flag = false; +#if defined(__CUDA) && defined(__USE_NVTX) + if (PARAM.inp.timer_enable_nvtx){ + std::string label = class_name + ":" + name; + nvtxRangePushA(label.data()); + } +#endif } else { @@ -107,6 +118,11 @@ void timer::tick(const std::string &class_name,const std::string &name) timer_one.cpu_second += (cpu_time() - timer_one.cpu_start); #endif timer_one.start_flag = true; +#if defined(__CUDA) && defined(__USE_NVTX) + if (PARAM.inp.timer_enable_nvtx){ + nvtxRangePop(); + } +#endif } } // end if(!omp_get_thread_num()) } @@ -128,7 +144,7 @@ void timer::write_to_json(std::string file_name) int is_initialized = 0; MPI_Initialized(&is_initialized); if (!is_initialized) { - return; + return; } int my_rank = 0; MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); @@ -195,12 +211,12 @@ void timer::write_to_json(std::string file_name) const Timer_One timer_one = timer_pool_B.second; ofs << indent << indent << indent << indent << "{\n"; ofs << indent << indent << indent << indent << "\"name\": \"" << name << "\",\n"; - ofs << indent << indent << indent << indent << "\"cpu_second\": " + ofs << indent << indent << indent << indent << "\"cpu_second\": " << std::setprecision(15) << timer_one.cpu_second << ",\n"; ofs << indent << indent << indent << indent << "\"calls\": " << timer_one.calls << ",\n"; - ofs << indent << indent << indent << indent << "\"cpu_second_per_call\": " + ofs << indent << indent << indent << indent << "\"cpu_second_per_call\": " << double_to_string(timer_one.cpu_second/timer_one.calls) << ",\n"; - ofs << indent << indent << indent << indent << "\"cpu_second_per_total\": " + ofs << indent << indent << indent << indent << "\"cpu_second_per_total\": " << double_to_string(timer_one.cpu_second/timer_pool[""]["total"].cpu_second) << "\n"; if (order_b == timer_pool_A.second.size()) @@ -283,11 +299,11 @@ void timer::print_all(std::ofstream &ofs) // if the total time is too small, we do not calculate the percentage - if (timer_pool_order[0].second.cpu_second < 1e-9) + if (timer_pool_order[0].second.cpu_second < 1e-9) { pers.push_back(0); - } - else + } + else { pers.push_back(percentage); } @@ -300,10 +316,10 @@ void timer::print_all(std::ofstream &ofs) std::vector titles = {"CLASS_NAME", "NAME", "TIME/s", "CALLS", "AVG/s", "PER/%"}; std::vector formats = {"%-10s", "%-10s", "%6.2f", "%8d", "%6.2f", "%6.2f"}; - FmtTable time_statistics(/*titles=*/titles, - /*nrows=*/pers.size(), - /*formats=*/formats, - /*indent=*/0, + FmtTable time_statistics(/*titles=*/titles, + /*nrows=*/pers.size(), + /*formats=*/formats, + /*indent=*/0, /*align=*/{/*value*/FmtTable::Align::LEFT, /*title*/FmtTable::Align::CENTER}); time_statistics << class_names << names << times << calls << avgs << pers; const std::string table = "\nTIME STATISTICS\n" + time_statistics.str(); diff --git a/source/source_base/tool_quit.cpp b/source/source_base/tool_quit.cpp index 8798deb0e0..77c855c7a0 100644 --- a/source/source_base/tool_quit.cpp +++ b/source/source_base/tool_quit.cpp @@ -91,21 +91,21 @@ void WARNING_QUIT(const std::string &file,const std::string &description,int ret std::cout << " https://github.com/deepmodeling/abacus-develop/issues" << std::endl; #else - std::cout << " " << std::endl; - std::cout << " ---------------------------------------------------------" << std::endl; - std::cout << " !NOTICE! " << std::endl; - std::cout << " ---------------------------------------------------------" << std::endl; - std::cout << " " << std::endl; - std::cout << " " << description << std::endl; - std::cout << " CHECK IN FILE : " << PARAM.globalv.global_out_dir << "warning.log" << std::endl; - std::cout << " " << std::endl; - std::cout << " For detailed manual of ABACUS, please see the website" << std::endl; - std::cout << " https://abacus.deepmodeling.com" << std::endl; - std::cout << " For any questions, propose issues on the website" << std::endl; - std::cout << " https://github.com/deepmodeling/abacus-develop/issues" << std::endl; - std::cout << " ---------------------------------------------------------" << std::endl; - std::cout << " !NOTICE! " << std::endl; - std::cout << " ---------------------------------------------------------" << std::endl; + std::cout << " " << std::endl; + std::cout << " ---------------------------------------------------------" << std::endl; + std::cout << " !NOTICE! " << std::endl; + std::cout << " ---------------------------------------------------------" << std::endl; + std::cout << " " << std::endl; + std::cout << " " << description << std::endl; + std::cout << " CHECK IN FILE : " << PARAM.globalv.global_out_dir << "warning.log" << std::endl; + std::cout << " " << std::endl; + std::cout << " For detailed manual of ABACUS, please see the website" << std::endl; + std::cout << " https://abacus.deepmodeling.com" << std::endl; + std::cout << " For any questions, propose issues on the website" << std::endl; + std::cout << " https://github.com/deepmodeling/abacus-develop/issues" << std::endl; + std::cout << " ---------------------------------------------------------" << std::endl; + std::cout << " !NOTICE! " << std::endl; + std::cout << " ---------------------------------------------------------" << std::endl; GlobalV::ofs_running << " ---------------------------------------------------------" << std::endl; diff --git a/source/source_base/vector3.h b/source/source_base/vector3.h index 3540018ae0..39cdbeb014 100644 --- a/source/source_base/vector3.h +++ b/source/source_base/vector3.h @@ -170,11 +170,11 @@ template class Vector3 } /** - * @brief Get the square of nomr of a Vector3 + * @brief Get the square of norm of a Vector3 * * @return T */ - T norm2(void) const + inline T norm2(void) const { return x * x + y * y + z * z; } @@ -184,7 +184,7 @@ template class Vector3 * * @return T */ - T norm(void) const + inline T norm(void) const { return sqrt(norm2()); } diff --git a/source/source_base/ylm.cpp b/source/source_base/ylm.cpp index a36b14c60a..aa24565f56 100644 --- a/source/source_base/ylm.cpp +++ b/source/source_base/ylm.cpp @@ -324,10 +324,10 @@ void Ylm::get_ylm_real( const int &Lmax, const ModuleBase::Vector3 &vec, * *************************/ void Ylm::rlylm ( - const int& Lmax, //max momentum of l + 1 - const double& x, - const double& y, - const double& z, + const int Lmax, //max momentum of l + 1 + const double x, + const double y, + const double z, double rly[] ) { @@ -529,10 +529,10 @@ void Ylm::rlylm //return ylm, not rlylm void Ylm::sph_harm ( - const int& Lmax, //max momentum of l - const double& xdr, - const double& ydr, - const double& zdr, + const int Lmax, //max momentum of l + const double xdr, + const double ydr, + const double zdr, std::vector &rly ) { @@ -668,10 +668,10 @@ void Ylm::sph_harm // Peize Lin change rly 2016-08-26 void Ylm::rl_sph_harm ( - const int& Lmax, //max momentum of L - const double& x, - const double& y, - const double& z, + const int Lmax, //max momentum of L + const double x, + const double y, + const double z, std::vector& rly ) { @@ -807,10 +807,10 @@ void Ylm::rl_sph_harm void Ylm::grad_rl_sph_harm ( - const int& Lmax, //max momentum of L - const double& x, - const double& y, - const double& z, + const int Lmax, //max momentum of L + const double x, + const double y, + const double z, double* rly, double** grly ) @@ -1097,10 +1097,10 @@ void Ylm::grad_rl_sph_harm void Ylm::hes_rl_sph_harm ( - const int& Lmax, //max momentum of L - const double& x, - const double& y, - const double& z, + const int Lmax, //max momentum of L + const double x, + const double y, + const double z, std::vector>& hrly ) { @@ -1394,10 +1394,10 @@ void Ylm::test2 (void) void Ylm::rlylm ( - const int& Lmax, //max momentum of l + 1 - const double& x, - const double& y, - const double& z, + const int Lmax, //max momentum of l + 1 + const double x, + const double y, + const double z, double rly[], double grly[][3] ) diff --git a/source/source_base/ylm.h b/source/source_base/ylm.h index 65adcf18f6..1d098bd961 100644 --- a/source/source_base/ylm.h +++ b/source/source_base/ylm.h @@ -53,10 +53,10 @@ class Ylm * @param rly [in] calculated Ylm, Y00, Y10, Y11, Y1-1, Y20, Y21, Y2-1, Y22, Y2-2... */ static void rlylm( - const int& Lmax, - const double& x, - const double& y, - const double& z, + const int Lmax, + const double x, + const double y, + const double z, double rly[]); /** @@ -70,10 +70,10 @@ class Ylm * @param grly [out] gradient of Ylm, [dY00/dx, dY00/dy, dY00/dz], [dY10/dx, dY10/dy, dY10/dz], [dY11/dx, dY11/dy, dY11/dz],... */ static void rlylm( - const int& Lmax, - const double& x, - const double& y, - const double& z, + const int Lmax, + const double x, + const double y, + const double z, double rly[], double grly[][3]); @@ -87,10 +87,10 @@ class Ylm * @param rly [in] calculated Ylm, Y00, Y10, Y11, Y1-1, Y20, Y21, Y2-1, Y22, Y2-2... */ static void sph_harm( - const int& Lmax, - const double& xdr, - const double& ydr, - const double& zdr, + const int Lmax, + const double xdr, + const double ydr, + const double zdr, std::vector &rly); /** @@ -105,10 +105,10 @@ class Ylm * @date 2016-08-26 */ static void rl_sph_harm( - const int& Lmax, - const double& x, - const double& y, - const double& z, + const int Lmax, + const double x, + const double y, + const double z, std::vector& rly); /** @@ -123,10 +123,10 @@ class Ylm * grly should be a memory-contiguous two-dimensional array for better performance. */ static void grad_rl_sph_harm( - const int& Lmax, - const double& x, - const double& y, - const double& z, + const int Lmax, + const double x, + const double y, + const double z, double* rly, double** grly); @@ -140,10 +140,10 @@ class Ylm * @param hrly [out] hessian of Ylm, [dY00/dx2, dY00/dxy, dY00/dxz, dY00/dyy, dY00/dyz, dY00/dzz] , ... */ static void hes_rl_sph_harm( - const int& Lmax, - const double& x, - const double& y, - const double& z, + const int Lmax, + const double x, + const double y, + const double z, std::vector>& hrly); //calculate the coefficient of Ylm, ylmcoef. diff --git a/source/source_basis/module_ao/CMakeLists.txt b/source/source_basis/module_ao/CMakeLists.txt index e19a5ba34d..bdc18b0d45 100644 --- a/source/source_basis/module_ao/CMakeLists.txt +++ b/source/source_basis/module_ao/CMakeLists.txt @@ -9,6 +9,7 @@ if(ENABLE_LCAO) ORB_nonlocal_lm.cpp ORB_read.cpp parallel_orbitals.cpp + element_basis_index-ORB.cpp ) if(ENABLE_COVERAGE) diff --git a/source/source_basis/module_ao/ORB_gaunt_table.cpp b/source/source_basis/module_ao/ORB_gaunt_table.cpp index e314bc87d6..d05f594f7e 100644 --- a/source/source_basis/module_ao/ORB_gaunt_table.cpp +++ b/source/source_basis/module_ao/ORB_gaunt_table.cpp @@ -20,6 +20,7 @@ void ORB_gaunt_table::init_Gaunt(const int &lmax) ModuleBase::TITLE("ORB_gaunt_table", "init_Gaunt"); ModuleBase::timer::tick("ORB_gaunt_table", "init_Gaunt"); + this->Lmax_Gaunt_Coefficients = lmax; const int nlm = (lmax * 2 + 1) * (lmax * 2 + 1); this->Gaunt_Coefficients.create(nlm, nlm, nlm); @@ -154,13 +155,6 @@ void ORB_gaunt_table::init_Ylm_Gaunt } */ -int ORB_gaunt_table::get_lm_index( - const int l, - const int m) -{ - return l*l+m; -} - ///effective pointers int ORB_gaunt_table::EP_EL(const int& L) @@ -191,6 +185,7 @@ void ORB_gaunt_table::init_Gaunt_CH(const int& Lmax) ModuleBase::TITLE("ORB_gaunt_table","init_Gaunt_CH"); ModuleBase::timer::tick("ORB_gaunt_table","init_Gaunt_CH"); + this->Lmax_Gaunt_CH = Lmax; int L = 2*Lmax + 1; int Eff_Np = this->EP_EL(L); diff --git a/source/source_basis/module_ao/ORB_gaunt_table.h b/source/source_basis/module_ao/ORB_gaunt_table.h index 6e4eed550c..0e9aefdb70 100644 --- a/source/source_basis/module_ao/ORB_gaunt_table.h +++ b/source/source_basis/module_ao/ORB_gaunt_table.h @@ -86,10 +86,16 @@ class ORB_gaunt_table /// ------------------------------------ void init_Gaunt(const int &lmax); - static int get_lm_index(const int l, const int m); + static inline int get_lm_index(const int l, const int m) + { + return l*l+m; + } static int Index_M(const int& m); + int get_Lmax_Gaunt_Coefficients() const { return Lmax_Gaunt_Coefficients; } + int get_Lmax_Gaunt_CH() const { return Lmax_Gaunt_CH; } + private: // Index Function @@ -119,5 +125,8 @@ class ORB_gaunt_table //direct integral ModuleBase::matrix Ylm_Gaunt; + + int Lmax_Gaunt_Coefficients = -1; + int Lmax_Gaunt_CH = -1; }; #endif diff --git a/source/source_basis/module_ao/element_basis_index-ORB.cpp b/source/source_basis/module_ao/element_basis_index-ORB.cpp new file mode 100644 index 0000000000..c9441b4497 --- /dev/null +++ b/source/source_basis/module_ao/element_basis_index-ORB.cpp @@ -0,0 +1,44 @@ +#include "element_basis_index-ORB.h" + +#include "ORB_read.h" +#include "ORB_atomic_lm.h" + +namespace ModuleBase +{ + +ModuleBase::Element_Basis_Index::Range +Element_Basis_Index::construct_range( const LCAO_Orbitals &orb ) +{ + ModuleBase::Element_Basis_Index::Range range; + range.resize( orb.get_ntype() ); + for( std::size_t T=0; T!=range.size(); ++T ) + { + range[T].resize( orb.Phi[T].getLmax()+1 ); + for( std::size_t L=0; L!=range[T].size(); ++L ) + { + range[T][L].N = orb.Phi[T].getNchi(L); + range[T][L].M = 2*L+1; + } + } + return range; +} + + +ModuleBase::Element_Basis_Index::Range +Element_Basis_Index::construct_range( const std::vector>> &orb ) +{ + ModuleBase::Element_Basis_Index::Range range; + range.resize( orb.size() ); + for( std::size_t T=0; T!=range.size(); ++T ) + { + range[T].resize( orb[T].size() ); + for( std::size_t L=0; L!=range[T].size(); ++L ) + { + range[T][L].N = orb[T][L].size(); + range[T][L].M = 2*L+1; + } + } + return range; +} + +} \ No newline at end of file diff --git a/source/source_basis/module_ao/element_basis_index-ORB.h b/source/source_basis/module_ao/element_basis_index-ORB.h new file mode 100644 index 0000000000..ec2415e6a0 --- /dev/null +++ b/source/source_basis/module_ao/element_basis_index-ORB.h @@ -0,0 +1,22 @@ +#ifndef ELEMENT_BASIS_INDEX_ORB_H +#define ELEMENT_BASIS_INDEX_ORB_H + +#include "../../source_base/element_basis_index.h" +#include + + class Numerical_Orbital_Lm; + class LCAO_Orbitals; + +namespace ModuleBase +{ + +namespace Element_Basis_Index +{ + extern Range construct_range( const LCAO_Orbitals &orb ); + + extern Range construct_range( const std::vector>> &orb ); // orb[T][L][N] +} + +} + +#endif \ No newline at end of file diff --git a/source/source_basis/module_nao/two_center_bundle.h b/source/source_basis/module_nao/two_center_bundle.h index 7aa6676483..b2708a9dad 100644 --- a/source/source_basis/module_nao/two_center_bundle.h +++ b/source/source_basis/module_nao/two_center_bundle.h @@ -1,5 +1,5 @@ -#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_BASIS_MODULE_NAO_TWO_CENTER_BUNDLE_H -#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_BASIS_MODULE_NAO_TWO_CENTER_BUNDLE_H +#ifndef TWO_CENTER_BUNDLE_H +#define TWO_CENTER_BUNDLE_H #include "source_basis/module_ao/ORB_read.h" #include "source_basis/module_nao/two_center_integrator.h" diff --git a/source/source_basis/module_nao/two_center_integrator.cpp b/source/source_basis/module_nao/two_center_integrator.cpp index ebc7f71141..295946bb9e 100644 --- a/source/source_basis/module_nao/two_center_integrator.cpp +++ b/source/source_basis/module_nao/two_center_integrator.cpp @@ -48,6 +48,12 @@ void TwoCenterIntegrator::calculate(const int itype1, return; } + if (m1 > l1 || m1 < -l1 || m2 > l2 || m2 < -l2) + { + ModuleBase::WARNING("TwoCenterIntegrator", "m should be in range [-l, l]."); + return; + } + // unit vector along R ModuleBase::Vector3 uR = (R == 0.0 ? ModuleBase::Vector3(0., 0., 1.) : vR / R); diff --git a/source/source_basis/module_pw/CMakeLists.txt b/source/source_basis/module_pw/CMakeLists.txt index 1c9dd2828d..912772e057 100644 --- a/source/source_basis/module_pw/CMakeLists.txt +++ b/source/source_basis/module_pw/CMakeLists.txt @@ -1,22 +1,22 @@ if (ENABLE_FLOAT_FFTW) list (APPEND FFT_SRC - module_fft/fft_cpu_float.cpp + ../../source_base/module_fft/fft_cpu_float.cpp ) endif() if (USE_CUDA) list (APPEND FFT_SRC - module_fft/fft_cuda.cpp + ../../source_base/module_fft/fft_cuda.cpp ) endif() if (USE_ROCM) list (APPEND FFT_SRC - module_fft/fft_rocm.cpp + ../../source_base/module_fft/fft_rocm.cpp ) endif() if (USE_DSP) list (APPEND FFT_SRC - module_fft/fft_dsp.cpp - module_fft/fft_dsp_float.cpp + ../../source_base/module_fft/fft_dsp.cpp + ../../source_base/module_fft/fft_dsp_float.cpp pw_transform_k_dsp.cpp) endif() @@ -32,8 +32,8 @@ list(APPEND objects pw_transform.cpp pw_transform_gpu.cpp pw_transform_k.cpp - module_fft/fft_bundle.cpp - module_fft/fft_cpu.cpp + ../../source_base/module_fft/fft_bundle.cpp + ../../source_base/module_fft/fft_cpu.cpp ${FFT_SRC} ) diff --git a/source/source_basis/module_pw/pw_basis.h b/source/source_basis/module_pw/pw_basis.h index 1578af0d83..b834cb0e0f 100644 --- a/source/source_basis/module_pw/pw_basis.h +++ b/source/source_basis/module_pw/pw_basis.h @@ -7,7 +7,7 @@ #include "source_base/matrix3.h" #include "source_base/vector3.h" #include -#include "module_fft/fft_bundle.h" +#include "source_base/module_fft/fft_bundle.h" #include #ifdef __MPI #include "mpi.h" @@ -245,7 +245,7 @@ class PW_Basis int nmaxgr = 0; // Gamma_only: max between npw and (nrxx+1)/2, others: max between npw and nrxx // Thus std::complex[nmaxgr] is able to contain either reciprocal or real data // FFT ft; - FFT_Bundle fft_bundle; + ModuleBase::FFT_Bundle fft_bundle; //The position of pointer in and out can be equal(in-place transform) or different(out-of-place transform). template diff --git a/source/source_basis/module_pw/pw_gatherscatter.h b/source/source_basis/module_pw/pw_gatherscatter.h index e6b5998446..5a1a5a37c1 100644 --- a/source/source_basis/module_pw/pw_gatherscatter.h +++ b/source/source_basis/module_pw/pw_gatherscatter.h @@ -102,7 +102,7 @@ void PW_Basis::gathers_scatterp(std::complex* in, std::complex* out) const if(this->poolnproc == 1) //In this case nrxx=fftnx*fftny*nz, nst = nstot, { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096/sizeof(T)) +#pragma omp parallel for schedule(static) #endif for(int i = 0; i < this->nrxx; ++i) { @@ -160,7 +160,7 @@ void PW_Basis::gathers_scatterp(std::complex* in, std::complex* out) const } #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096/sizeof(T)) +#pragma omp parallel for schedule(static) #endif for(int i = 0; i < this->nrxx; ++i) { diff --git a/source/source_basis/module_pw/pw_transform.cpp b/source/source_basis/module_pw/pw_transform.cpp index 947909a3c8..1e4e45bbbc 100644 --- a/source/source_basis/module_pw/pw_transform.cpp +++ b/source/source_basis/module_pw/pw_transform.cpp @@ -1,7 +1,7 @@ #include "source_base/global_function.h" #include "source_base/timer.h" #include "source_basis/module_pw/kernels/pw_op.h" -#include "module_fft/fft_bundle.h" +#include "source_base/module_fft/fft_bundle.h" #include "pw_basis.h" #include "pw_gatherscatter.h" @@ -31,7 +31,7 @@ void PW_Basis::real2recip(const std::complex* in, assert(this->gamma_only == false); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ir = 0; ir < this->nrxx; ++ir) { @@ -47,7 +47,7 @@ void PW_Basis::real2recip(const std::complex* in, { FPTYPE tmpfac = factor / FPTYPE(this->nxyz); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ig = 0; ig < this->npw; ++ig) { @@ -58,7 +58,7 @@ void PW_Basis::real2recip(const std::complex* in, { FPTYPE tmpfac = 1.0 / FPTYPE(this->nxyz); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ig = 0; ig < this->npw; ++ig) { @@ -83,7 +83,7 @@ void PW_Basis::real2recip(const FPTYPE* in, std::complex* out, const boo { const int npy = this->ny * this->nplane; #ifdef _OPENMP -#pragma omp parallel for collapse(2) schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for collapse(2) schedule(static) #endif for (int ix = 0; ix < this->nx; ++ix) { @@ -98,7 +98,7 @@ void PW_Basis::real2recip(const FPTYPE* in, std::complex* out, const boo else { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ir = 0; ir < this->nrxx; ++ir) { @@ -114,7 +114,7 @@ void PW_Basis::real2recip(const FPTYPE* in, std::complex* out, const boo { FPTYPE tmpfac = factor / FPTYPE(this->nxyz); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ig = 0; ig < this->npw; ++ig) { @@ -125,7 +125,7 @@ void PW_Basis::real2recip(const FPTYPE* in, std::complex* out, const boo { FPTYPE tmpfac = 1.0 / FPTYPE(this->nxyz); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ig = 0; ig < this->npw; ++ig) { @@ -151,7 +151,7 @@ void PW_Basis::recip2real(const std::complex* in, ModuleBase::timer::tick(this->classname, "recip2real"); assert(this->gamma_only == false); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < this->nst * this->nz; ++i) { @@ -159,7 +159,7 @@ void PW_Basis::recip2real(const std::complex* in, } #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ig = 0; ig < this->npw; ++ig) { @@ -174,7 +174,7 @@ void PW_Basis::recip2real(const std::complex* in, if (add) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ir = 0; ir < this->nrxx; ++ir) { @@ -184,7 +184,7 @@ void PW_Basis::recip2real(const std::complex* in, else { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ir = 0; ir < this->nrxx; ++ir) { @@ -206,7 +206,7 @@ void PW_Basis::recip2real(const std::complex* in, FPTYPE* out, const boo { ModuleBase::timer::tick(this->classname, "recip2real"); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int i = 0; i < this->nst * this->nz; ++i) { @@ -214,7 +214,7 @@ void PW_Basis::recip2real(const std::complex* in, FPTYPE* out, const boo } #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ig = 0; ig < this->npw; ++ig) { @@ -234,7 +234,7 @@ void PW_Basis::recip2real(const std::complex* in, FPTYPE* out, const boo if (add) { #ifdef _OPENMP -#pragma omp parallel for collapse(2) schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for collapse(2) schedule(static) #endif for (int ix = 0; ix < this->nx; ++ix) { @@ -247,7 +247,7 @@ void PW_Basis::recip2real(const std::complex* in, FPTYPE* out, const boo else { #ifdef _OPENMP -#pragma omp parallel for collapse(2) schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for collapse(2) schedule(static) #endif for (int ix = 0; ix < this->nx; ++ix) { @@ -264,7 +264,7 @@ void PW_Basis::recip2real(const std::complex* in, FPTYPE* out, const boo if (add) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ir = 0; ir < this->nrxx; ++ir) { @@ -274,7 +274,7 @@ void PW_Basis::recip2real(const std::complex* in, FPTYPE* out, const boo else { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ir = 0; ir < this->nrxx; ++ir) { diff --git a/source/source_basis/module_pw/pw_transform_k.cpp b/source/source_basis/module_pw/pw_transform_k.cpp index 36290d091a..a8adc6a67b 100644 --- a/source/source_basis/module_pw/pw_transform_k.cpp +++ b/source/source_basis/module_pw/pw_transform_k.cpp @@ -34,7 +34,7 @@ void PW_Basis_K::real2recip(const std::complex* in, assert(this->gamma_only == false); auto* auxr = this->fft_bundle.get_auxr_data(); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ir = 0; ir < this->nrxx; ++ir) { @@ -53,7 +53,7 @@ void PW_Basis_K::real2recip(const std::complex* in, { FPTYPE tmpfac = factor / FPTYPE(this->nxyz); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int igl = 0; igl < npwk; ++igl) { @@ -64,7 +64,7 @@ void PW_Basis_K::real2recip(const std::complex* in, { FPTYPE tmpfac = 1.0 / FPTYPE(this->nxyz); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int igl = 0; igl < npwk; ++igl) { @@ -103,7 +103,7 @@ void PW_Basis_K::real2recip(const FPTYPE* in, // r2c in place const int npy = this->ny * this->nplane; #ifdef _OPENMP -#pragma omp parallel for collapse(2) schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for collapse(2) schedule(static) #endif for (int ix = 0; ix < this->nx; ++ix) { @@ -126,7 +126,7 @@ void PW_Basis_K::real2recip(const FPTYPE* in, { FPTYPE tmpfac = factor / FPTYPE(this->nxyz); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int igl = 0; igl < npwk; ++igl) { @@ -137,7 +137,7 @@ void PW_Basis_K::real2recip(const FPTYPE* in, { FPTYPE tmpfac = 1.0 / FPTYPE(this->nxyz); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int igl = 0; igl < npwk; ++igl) { @@ -176,7 +176,7 @@ void PW_Basis_K::recip2real(const std::complex* in, const int npwk = this->npwk[ik]; auto* auxg = this->fft_bundle.get_auxg_data(); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int igl = 0; igl < npwk; ++igl) { @@ -191,7 +191,7 @@ void PW_Basis_K::recip2real(const std::complex* in, if (add) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ir = 0; ir < this->nrxx; ++ir) { @@ -201,7 +201,7 @@ void PW_Basis_K::recip2real(const std::complex* in, else { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ir = 0; ir < this->nrxx; ++ir) { @@ -239,7 +239,7 @@ void PW_Basis_K::recip2real(const std::complex* in, const int npwk = this->npwk[ik]; auto* auxg = this->fft_bundle.get_auxg_data(); #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int igl = 0; igl < npwk; ++igl) { @@ -262,7 +262,7 @@ void PW_Basis_K::recip2real(const std::complex* in, if (add) { #ifdef _OPENMP -#pragma omp parallel for collapse(2) schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for collapse(2) schedule(static) #endif for (int ix = 0; ix < this->nx; ++ix) { @@ -275,7 +275,7 @@ void PW_Basis_K::recip2real(const std::complex* in, else { #ifdef _OPENMP -#pragma omp parallel for collapse(2) schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for collapse(2) schedule(static) #endif for (int ix = 0; ix < this->nx; ++ix) { diff --git a/source/source_basis/module_pw/pw_transform_k_dsp.cpp b/source/source_basis/module_pw/pw_transform_k_dsp.cpp index 1449943550..8262073895 100644 --- a/source/source_basis/module_pw/pw_transform_k_dsp.cpp +++ b/source/source_basis/module_pw/pw_transform_k_dsp.cpp @@ -83,7 +83,7 @@ void PW_Basis_K::recip2real_dsp(const std::complex* in, { const int one = 1; const std::complex factor1 = std::complex(factor, 0); - zaxpy_(&nrxx, &factor1, auxr, &one, out, &one); + BlasConnector::axpy(nrxx, factor1, auxr, one, out, one); } else { diff --git a/source/source_basis/module_pw/test_gpu/pw_basis_C2C.cpp b/source/source_basis/module_pw/test_gpu/pw_basis_C2C.cpp index 95d076040e..9abaefab44 100644 --- a/source/source_basis/module_pw/test_gpu/pw_basis_C2C.cpp +++ b/source/source_basis/module_pw/test_gpu/pw_basis_C2C.cpp @@ -44,9 +44,6 @@ class PW_BASIS_K_GPU_TEST : public ::testing::Test int distribution_type = 1; bool xprime = false; const int nks = 1; - ModuleBase::Vector3* kvec_d; - kvec_d = new ModuleBase::Vector3[nks]; - kvec_d[0].set(0, 0, 0); // init const int mypool = 0; const int key = 1; diff --git a/source/source_basis/module_pw/test_serial/CMakeLists.txt b/source/source_basis/module_pw/test_serial/CMakeLists.txt index d604aa64b1..79b7fbf3e8 100644 --- a/source/source_basis/module_pw/test_serial/CMakeLists.txt +++ b/source/source_basis/module_pw/test_serial/CMakeLists.txt @@ -9,8 +9,8 @@ remove_definitions(-D__MLALGO) add_library( planewave_serial OBJECT - ../module_fft/fft_bundle.cpp - ../module_fft/fft_cpu.cpp + ../../../source_base/module_fft/fft_bundle.cpp + ../../../source_base/module_fft/fft_cpu.cpp ../pw_basis.cpp ../pw_basis_k.cpp ../pw_basis_sup.cpp diff --git a/source/source_cell/CMakeLists.txt b/source/source_cell/CMakeLists.txt index 95d997ecfd..f9d4f0c535 100644 --- a/source/source_cell/CMakeLists.txt +++ b/source/source_cell/CMakeLists.txt @@ -26,6 +26,8 @@ add_library( print_cell.cpp read_atom_species.cpp k_vector_utils.cpp + sep.cpp + sep_cell.cpp ) if(ENABLE_COVERAGE) diff --git a/source/source_cell/atom_spec.cpp b/source/source_cell/atom_spec.cpp index e4ee60ecc9..82645d079e 100644 --- a/source/source_cell/atom_spec.cpp +++ b/source/source_cell/atom_spec.cpp @@ -101,6 +101,7 @@ void Atom::bcast_atom() this->tau.resize(na, ModuleBase::Vector3(0, 0, 0)); this->dis.resize(na, ModuleBase::Vector3(0, 0, 0)); this->taud.resize(na, ModuleBase::Vector3(0, 0, 0)); + this->boundary_shift.resize(na, ModuleBase::Vector3(0, 0, 0)); this->vel.resize(na, ModuleBase::Vector3(0, 0, 0)); this->mag.resize(na, 0); this->angle1.resize(na, 0); diff --git a/source/source_cell/atom_spec.h b/source/source_cell/atom_spec.h index 51f24ac202..cc2468af19 100644 --- a/source/source_cell/atom_spec.h +++ b/source/source_cell/atom_spec.h @@ -36,6 +36,7 @@ class Atom std::vector> tau; // Cartesian coordinates of each atom in this type. std::vector> dis; // direct displacements of each atom in this type in current step liuyu modift 2023-03-22 std::vector> taud; // Direct coordinates of each atom in this type. + std::vector> boundary_shift; // record for periodic boundary adjustment. std::vector> vel; // velocities of each atom in this type. std::vector> force; // force acting on each atom in this type. std::vector> lambda; // Lagrange multiplier for each atom in this type. used in deltaspin diff --git a/source/source_cell/bcast_cell.cpp b/source/source_cell/bcast_cell.cpp index bb23fd82fe..2f9b88955a 100644 --- a/source/source_cell/bcast_cell.cpp +++ b/source/source_cell/bcast_cell.cpp @@ -112,8 +112,14 @@ namespace unitcell #ifdef __EXX ModuleBase::bcast_data_cereal(GlobalC::exx_info.info_ri.files_abfs, - MPI_COMM_WORLD, - 0); + MPI_COMM_WORLD, + 0); + ModuleBase::bcast_data_cereal(GlobalC::exx_info.info_opt_abfs.files_abfs, + MPI_COMM_WORLD, + 0); + ModuleBase::bcast_data_cereal(GlobalC::exx_info.info_opt_abfs.files_jles, + MPI_COMM_WORLD, + 0); #endif return; #endif diff --git a/source/source_cell/k_vector_utils.cpp b/source/source_cell/k_vector_utils.cpp index 0ea7cb77da..3f5bef0b44 100644 --- a/source/source_cell/k_vector_utils.cpp +++ b/source/source_cell/k_vector_utils.cpp @@ -572,7 +572,7 @@ void kvec_ibz_kpoint(K_Vectors& kv, std::vector ibz2bz(kv.get_nkstot()); // nkstot is the total input k-points number. - const double weight = 1.0 / static_cast(kv.get_nkstot()); + double weight = 1.0 / static_cast(kv.get_nkstot()); ModuleBase::Vector3 kvec_rot; ModuleBase::Vector3 kvec_rot_k; @@ -604,11 +604,13 @@ void kvec_ibz_kpoint(K_Vectors& kv, } return; }; - // for output in kpoints file - int ibz_index[kv.get_nkstot()]; + // update map k -> irreducible k + kv.ibz_index.assign( kv.get_nkstot_full(), -1); // -1 means not in ibz_kpoint list // search in all k-poins. for (int i = 0; i < kv.get_nkstot(); ++i) { + if (!kv.get_is_mp()) { weight = kv.wk[i]; } // use the input weight, instead of 1/nkstot + // restrict to [0, 1) restrict_kpt(kv.kvec_d[i]); @@ -667,7 +669,7 @@ void kvec_ibz_kpoint(K_Vectors& kv, // nkstot_ibz indicate the index of ibz kpoint. kvec_d_ibz[nkstot_ibz] = kv.kvec_d[i]; // output in kpoints file - ibz_index[i] = nkstot_ibz; + kv.ibz_index[i] = nkstot_ibz; // the weight should be averged k-point weight. wk_ibz[nkstot_ibz] = weight; @@ -688,7 +690,7 @@ void kvec_ibz_kpoint(K_Vectors& kv, double kmol_new = kv.kvec_d[i].norm2(); double kmol_old = kvec_d_ibz[exist_number].norm2(); - ibz_index[i] = exist_number; + kv.ibz_index[i] = exist_number; // std::cout << "\n kmol_new = " << kmol_new; // std::cout << "\n kmol_old = " << kmol_old; @@ -765,10 +767,10 @@ void kvec_ibz_kpoint(K_Vectors& kv, kv.kvec_d[i].x, kv.kvec_d[i].y, kv.kvec_d[i].z, - ibz_index[i] + 1, - kvec_d_ibz[ibz_index[i]].x, - kvec_d_ibz[ibz_index[i]].y, - kvec_d_ibz[ibz_index[i]].z); + kv.ibz_index[i] + 1, + kvec_d_ibz[kv.ibz_index[i]].x, + kvec_d_ibz[kv.ibz_index[i]].y, + kvec_d_ibz[kv.ibz_index[i]].z); } ss << table << std::endl; skpt = ss.str(); diff --git a/source/source_cell/klist.cpp b/source/source_cell/klist.cpp index 694411b3cf..cc35880225 100644 --- a/source/source_cell/klist.cpp +++ b/source/source_cell/klist.cpp @@ -160,6 +160,13 @@ void K_Vectors::set(const UnitCell& ucell, // set the k vectors for the up and down spin this->set_kup_and_kdw(); + // initialize ibz_index + this->ibz_index.resize(this->nkstot_full); + for (int ik = 0; ik < this->nkstot_full; ik++) + { + this->ibz_index[ik] = ik; + } + // get ik2iktot this->cal_ik_global(); @@ -559,7 +566,19 @@ void K_Vectors::normalize_wk(const int& degspin) { sum += this->wk[ik]; } - assert(sum > 0.0); + + // If sum of weights is zero or very small, set equal weights + if (sum < 1e-10) + { + ModuleBase::WARNING("K_Vectors::normalize_wk", + "Sum of k-point weights is zero or very small. " + "Setting equal weights for all k-points."); + for (int ik = 0; ik < nkstot; ik++) + { + this->wk[ik] = 1.0 / double(nkstot); + } + sum = 1.0; + } for (int ik = 0; ik < nkstot; ik++) { diff --git a/source/source_cell/klist.h b/source/source_cell/klist.h index 4fd2f41c1f..e16b9d1642 100644 --- a/source/source_cell/klist.h +++ b/source/source_cell/klist.h @@ -126,6 +126,7 @@ class K_Vectors } std::vector ik2iktot; ///<[nks] map ik to the global index of k points + std::vector ibz_index; ///< map k points (before symmetry reduction) to irreducible k-points /** * @brief Updates the k-points to use the irreducible Brillouin zone (IBZ). @@ -272,7 +273,8 @@ class K_Vectors * @return void * * @note This function should only be called by the master process (MY_RANK == 0). - * @note The function assumes that the sum of the weights of the k-points is greater than 0. + * @note If the sum of the weights is zero or very small (< 1e-10), the function will set equal weights for all + * k-points and issue a warning. This allows calculations like get_wf to proceed with zero-weight k-points. * @note The function first normalizes the weights so that their sum is 1, and then scales them by the degeneracy of * spin. */ diff --git a/source/source_cell/module_neighbor/test/prepare_unitcell.h b/source/source_cell/module_neighbor/test/prepare_unitcell.h index 7af6d01e90..11bd94ba7b 100644 --- a/source/source_cell/module_neighbor/test/prepare_unitcell.h +++ b/source/source_cell/module_neighbor/test/prepare_unitcell.h @@ -98,7 +98,7 @@ class UcellTestPrepare } //lattice info ucell->lat0 = this->lat0; - ucell->lat0_angstrom = ucell->lat0 * 0.529177; + ucell->lat0_angstrom = ucell->lat0 * ModuleBase::BOHR_TO_A; ucell->tpiba = ModuleBase::TWO_PI/ucell->lat0; ucell->tpiba2 = ucell->tpiba * ucell->tpiba; ucell->latvec.e11 = this->latvec[0]; diff --git a/source/source_cell/module_symmetry/symm_rho.cpp b/source/source_cell/module_symmetry/symm_rho.cpp index 754279ffbc..28ae30d5b4 100644 --- a/source/source_cell/module_symmetry/symm_rho.cpp +++ b/source/source_cell/module_symmetry/symm_rho.cpp @@ -9,6 +9,10 @@ void Symmetry::rho_symmetry( double *rho, { ModuleBase::timer::tick("Symmetry","rho_symmetry"); + assert(nr1>0); + assert(nr2>0); + assert(nr3>0); + // allocate flag for each FFT grid. bool* symflag = new bool[nr1 * nr2 * nr3]; for (int i=0; i pseudo::pseudo() { diff --git a/source/source_cell/pseudo.h b/source/source_cell/pseudo.h index b654abcc8f..67322f78c7 100644 --- a/source/source_cell/pseudo.h +++ b/source/source_cell/pseudo.h @@ -1,6 +1,7 @@ #ifndef PSEUDO_H #define PSEUDO_H +#include #include "source_base/global_function.h" #include "source_io/output.h" diff --git a/source/source_cell/read_atom_species.cpp b/source/source_cell/read_atom_species.cpp index 54e131e6b3..b8cf4c5744 100644 --- a/source/source_cell/read_atom_species.cpp +++ b/source/source_cell/read_atom_species.cpp @@ -112,6 +112,16 @@ bool read_atom_species(std::ifstream& ifa, std::string ofile; ifa >> ofile; GlobalC::exx_info.info_ri.files_abfs.push_back(ofile); + GlobalC::exx_info.info_opt_abfs.files_abfs.push_back(ofile); + } + } + if( ModuleBase::GlobalFunc::SCAN_LINE_BEGIN(ifa, "ABFS_JLES_ORBITAL") ) + { + for(int i=0; i> ofile; + GlobalC::exx_info.info_opt_abfs.files_jles.push_back(ofile); } } } @@ -140,7 +150,7 @@ bool read_lattice_constant(std::ifstream& ifa, { ModuleBase::WARNING_QUIT("read_atom_species","Lattice constant <= 0.0"); } - lat0_angstrom = lat0 * 0.529177; + lat0_angstrom = lat0 * ModuleBase::BOHR_TO_A; ModuleBase::GlobalFunc::OUT(ofs_running,"Lattice constant (Bohr)",lat0); ModuleBase::GlobalFunc::OUT(ofs_running,"Lattice constant (Angstrom)",lat0_angstrom); lat.tpiba = ModuleBase::TWO_PI / lat0; diff --git a/source/source_cell/read_atoms.cpp b/source/source_cell/read_atoms.cpp index 5162e6134e..bc408273e6 100644 --- a/source/source_cell/read_atoms.cpp +++ b/source/source_cell/read_atoms.cpp @@ -163,6 +163,7 @@ bool unitcell::read_atom_positions(UnitCell& ucell, ucell.atoms[it].tau.resize(na, ModuleBase::Vector3(0,0,0)); ucell.atoms[it].dis.resize(na, ModuleBase::Vector3(0,0,0)); ucell.atoms[it].taud.resize(na, ModuleBase::Vector3(0,0,0)); + ucell.atoms[it].boundary_shift.resize(na, ModuleBase::Vector3(0,0,0)); ucell.atoms[it].vel.resize(na, ModuleBase::Vector3(0,0,0)); ucell.atoms[it].mbl.resize(na, ModuleBase::Vector3(0,0,0)); ucell.atoms[it].mag.resize(na, 0); @@ -414,7 +415,7 @@ bool unitcell::read_atom_positions(UnitCell& ucell, } else if(Coordinate=="Cartesian_angstrom") { - ucell.atoms[it].tau[ia] = v / 0.529177 / ucell.lat0; + ucell.atoms[it].tau[ia] = v / ModuleBase::BOHR_TO_A / ucell.lat0; } else if(Coordinate=="Cartesian_angstrom_center_xy") { @@ -422,7 +423,7 @@ bool unitcell::read_atom_positions(UnitCell& ucell, ucell.latcenter.x = (ucell.latvec.e11 + ucell.latvec.e21 + ucell.latvec.e31)/2.0; ucell.latcenter.y = (ucell.latvec.e12 + ucell.latvec.e22 + ucell.latvec.e32)/2.0; ucell.latcenter.z = 0.0; - ucell.atoms[it].tau[ia] = v / 0.529177 / ucell.lat0 + ucell.latcenter; + ucell.atoms[it].tau[ia] = v / ModuleBase::BOHR_TO_A / ucell.lat0 + ucell.latcenter; } else if(Coordinate=="Cartesian_angstrom_center_xz") { @@ -430,7 +431,7 @@ bool unitcell::read_atom_positions(UnitCell& ucell, ucell.latcenter.x = (ucell.latvec.e11 + ucell.latvec.e21 + ucell.latvec.e31)/2.0; ucell.latcenter.y = 0.0; ucell.latcenter.z = (ucell.latvec.e13 + ucell.latvec.e23 + ucell.latvec.e33)/2.0; - ucell.atoms[it].tau[ia] = v / 0.529177 / ucell.lat0 + ucell.latcenter; + ucell.atoms[it].tau[ia] = v / ModuleBase::BOHR_TO_A / ucell.lat0 + ucell.latcenter; } else if(Coordinate=="Cartesian_angstrom_center_yz") { @@ -438,7 +439,7 @@ bool unitcell::read_atom_positions(UnitCell& ucell, ucell.latcenter.x = 0.0; ucell.latcenter.y = (ucell.latvec.e12 + ucell.latvec.e22 + ucell.latvec.e32)/2.0; ucell.latcenter.z = (ucell.latvec.e13 + ucell.latvec.e23 + ucell.latvec.e33)/2.0; - ucell.atoms[it].tau[ia] = v / 0.529177 / ucell.lat0 + ucell.latcenter; + ucell.atoms[it].tau[ia] = v / ModuleBase::BOHR_TO_A / ucell.lat0 + ucell.latcenter; } else if(Coordinate=="Cartesian_angstrom_center_xyz") { @@ -446,7 +447,7 @@ bool unitcell::read_atom_positions(UnitCell& ucell, ucell.latcenter.x = (ucell.latvec.e11 + ucell.latvec.e21 + ucell.latvec.e31)/2.0; ucell.latcenter.y = (ucell.latvec.e12 + ucell.latvec.e22 + ucell.latvec.e32)/2.0; ucell.latcenter.z = (ucell.latvec.e13 + ucell.latvec.e23 + ucell.latvec.e33)/2.0; - ucell.atoms[it].tau[ia] = v / 0.529177 / ucell.lat0 + ucell.latcenter; + ucell.atoms[it].tau[ia] = v / ModuleBase::BOHR_TO_A / ucell.lat0 + ucell.latcenter; } else if(Coordinate=="Cartesian_au") { diff --git a/source/source_cell/sep.cpp b/source/source_cell/sep.cpp new file mode 100644 index 0000000000..9380b44444 --- /dev/null +++ b/source/source_cell/sep.cpp @@ -0,0 +1,122 @@ +#include "sep.h" + +#include "source_base/global_variable.h" +#include "source_base/parallel_common.h" +#include "source_base/tool_title.h" +#include "source_io/output.h" + +#include +#include +#include + +SepPot::SepPot() +{ +} + +SepPot::~SepPot() +{ + delete[] r; + r = nullptr; + delete[] rv; + rv = nullptr; +} + +int SepPot::read_sep(std::ifstream& ifs) +{ + std::string line; + while (std::getline(ifs, line)) + { + std::istringstream iss(line); + std::string key; + iss >> key; + + if (key == "Sep.Element") + { + iss >> label; + } + else if (key == "Sep.XcType") + { + iss >> xc_type; + } + else if (key == "Sep.Orbital") + { + iss >> orbital; + } + else if (key == "Sep.Points") + { + iss >> mesh; + delete[] r; + r = new double[mesh]; + delete[] rv; + rv = new double[mesh]; + } + else if (key == "Sep.StripAmount") + { + iss >> strip_elec; + } + else if (key == "> r_val >> rv_val) + { + r[idx] = r_val; + rv[idx] = rv_val; + idx++; + } + } + break; + } + } + return 0; +} + +void SepPot::print_sep_info(std::ofstream& ofs) +{ + ofs << "\n sep_vl:"; + ofs << "\n sep_info:"; + ofs << "\n label " << label; + ofs << "\n xc " << xc_type; + ofs << "\n orbital " << orbital; + ofs << "\n strip electron" << strip_elec; +} + +void SepPot::print_sep_vsep(std::ofstream& ofs) +{ + ofs << "\n mesh " << mesh; + output::printr1_d(ofs, " r : ", r, mesh); + output::printr1_d(ofs, " vsep : ", rv, mesh); + ofs << "\n -----------------------------"; +} + +#ifdef __MPI + +void SepPot::bcast_sep() +{ + ModuleBase::TITLE("SepPot", "bcast_sep"); + Parallel_Common::bcast_bool(is_enable); + Parallel_Common::bcast_double(r_in); + Parallel_Common::bcast_double(r_out); + Parallel_Common::bcast_double(r_power); + Parallel_Common::bcast_double(enhence_a); + Parallel_Common::bcast_string(label); + Parallel_Common::bcast_string(xc_type); + Parallel_Common::bcast_string(orbital); + Parallel_Common::bcast_int(strip_elec); + Parallel_Common::bcast_int(mesh); + + if (GlobalV::MY_RANK != 0 && mesh > 0) + { + r = new double[mesh]; + rv = new double[mesh]; + } + + Parallel_Common::bcast_double(r, mesh); + Parallel_Common::bcast_double(rv, mesh); + + return; +} +#endif // __MPI diff --git a/source/source_cell/sep.h b/source/source_cell/sep.h new file mode 100644 index 0000000000..20c95b528c --- /dev/null +++ b/source/source_cell/sep.h @@ -0,0 +1,39 @@ +#ifndef SEP_H +#define SEP_H + +#include +#include + +/** + * Sep Potential for DFT-1/2 etc. + * + * Sep Potential + */ +class SepPot +{ + public: + SepPot(); + ~SepPot(); + + bool is_enable = false; + double r_in = 0.0; /**< cut-off radius inner */ + double r_out = 0.0; /**< cut-off radius outter */ + double r_power = 20.0; /**< shell function exp factor */ + double enhence_a = 1.0; /**< scale sep potential */ + std::string label; /**< element nameof sep */ + std::string xc_type; /**< Exch-Corr type */ + std::string orbital; /** atomic angular moment s,p,d,f */ + int mesh = 0; /**< number of points in radial mesh */ + int strip_elec = 0; /**< strip electron amount 1->0.01 50->0.5 */ + double* r = nullptr; /**< ridial mesh */ + double* rv = nullptr; /**< sep potential, but rV, unit: Ry */ + + int read_sep(std::ifstream& is); + void print_sep_info(std::ofstream& ofs); + void print_sep_vsep(std::ofstream& ofs); +#ifdef __MPI + void bcast_sep(); +#endif /* ifdef __MPI */ +}; + +#endif /* ifndef SEP_H */ diff --git a/source/source_cell/sep_cell.cpp b/source/source_cell/sep_cell.cpp new file mode 100644 index 0000000000..e7ec5f1baf --- /dev/null +++ b/source/source_cell/sep_cell.cpp @@ -0,0 +1,127 @@ +#include "sep_cell.h" + +#include "source_base/global_function.h" +#include "source_base/global_variable.h" +#include "source_base/parallel_common.h" +#include "source_base/tool_title.h" + +#include +#include +#include + +// namespace GlobalC +// { +// Sep_Cell sep_cell; +// } + +Sep_Cell::Sep_Cell() noexcept : ntype(0), omega(0.0), tpiba2(0.0) +{ +} + +Sep_Cell::~Sep_Cell() noexcept = default; + +void Sep_Cell::init(const int ntype_in) +{ + this->ntype = ntype_in; + this->seps.resize(ntype); + this->sep_enable.resize(ntype); + std::fill(this->sep_enable.begin(), this->sep_enable.end(), false); +} + +void Sep_Cell::set_omega(const double omega_in, const double tpiba2_in) +{ + this->omega = omega_in; + this->tpiba2 = tpiba2_in; +} + +/** + * read sep potential files + * + * need to add following lines in STRU file, and order of elements must match ATOMIC_SPECIES. + * SEP_FILES + * symbol is_enable r_in r_out r_power enhence_a + * + * example + * Li 0 + * F 1 F_pbe_50.sep 0.0 2.0 20.0 1.0 + */ +int Sep_Cell::read_sep_potentials(std::ifstream& ifpos, + const std::string& pp_dir, + std::ofstream& ofs_running, + std::vector& ucell_atom_label) +{ + ModuleBase::TITLE("Sep_Cell", "read_sep_potentials"); + + if (!ModuleBase::GlobalFunc::SCAN_BEGIN(ifpos, "SEP_FILES")) + { + GlobalV::ofs_running << "Cannot find SEP_FILES section in STRU" << std::endl; + return false; + } + + ifpos.ignore(300, '\n'); + + for (int i = 0; i < this->ntype; ++i) + { + std::string one_line, atom_label; + std::getline(ifpos, one_line); + std::stringstream ss(one_line); + + // read the label of the atom + bool enable_tmp; + ss >> atom_label >> enable_tmp; + + // Validate atom label + if (atom_label != ucell_atom_label[i]) + { + GlobalV::ofs_running << "Sep potential and atom order do not match. " + << "Expected: " << ucell_atom_label[i] << ", Got: " << atom_label << std::endl; + return false; + } + this->sep_enable[i] = enable_tmp; + if (this->sep_enable[i]) + { + this->seps[i].is_enable = this->sep_enable[i]; + std::string sep_filename; + ss >> sep_filename; + ss >> this->seps[i].r_in >> this->seps[i].r_out >> this->seps[i].r_power >> this->seps[i].enhence_a; + std::string sep_addr = pp_dir + sep_filename; + std::ifstream sep_ifs(sep_addr.c_str(), std::ios::in); + if (!sep_ifs) + { + GlobalV::ofs_running << "Cannot find sep potential file: " << sep_addr << std::endl; + return false; + } + this->seps[i].read_sep(sep_ifs); + } + } + + return true; +} + +#ifdef __MPI +void Sep_Cell::bcast_sep_cell() +{ + ModuleBase::TITLE("Sep_Cell", "bcast_sep_cell"); + Parallel_Common::bcast_int(this->ntype); + + if (GlobalV::MY_RANK != 0) + { + this->seps.resize(this->ntype); + this->sep_enable.resize(this->ntype); + } + for (int i = 0; i < this->ntype; ++i) + { + bool tmp = false; + if (GlobalV::MY_RANK == 0) + { + tmp = this->sep_enable[i]; + } + Parallel_Common::bcast_bool(tmp); + if (GlobalV::MY_RANK != 0) + { + this->sep_enable[i] = tmp; + } + this->seps[i].bcast_sep(); + } +} +#endif // __MPI diff --git a/source/source_cell/sep_cell.h b/source/source_cell/sep_cell.h new file mode 100644 index 0000000000..03cddca2ea --- /dev/null +++ b/source/source_cell/sep_cell.h @@ -0,0 +1,74 @@ +// The Sep_Cell class is container for Sep potential. + +#ifndef SEP_CELL +#define SEP_CELL + +#include "source_cell/sep.h" + +#include +#include +#include + +class Sep_Cell +{ + public: + Sep_Cell() noexcept; + ~Sep_Cell() noexcept; + + // Sets the number of atom types and initializes internal vectors + void init(const int ntype_in); + + void set_omega(const double omega_in, const double tpiba2_in); + + // Reads self potentials from STRU file and xx.sep files + // Returns true if successful, false otherwise + int read_sep_potentials(std::ifstream& ifpos, + const std::string& pp_dir, + std::ofstream& ofs_running, + std::vector& ucell_atom_label); + +#ifdef __MPI + // Broadcasts the Sep_Cell object to all processes + void bcast_sep_cell(); +#endif // __MPI + + // Getter methods + const std::vector& get_seps() const + { + return seps; + } + int get_ntype() const + { + return ntype; + } + const std::vector& get_sep_enable() const + { + return sep_enable; + } + + double get_omega() const + { + return omega; + } + + double get_tpiba2() const + { + return tpiba2; + } + + private: + std::vector seps; // Self potentials for each atom type + int ntype; // number of atom types + std::vector sep_enable; // Whether self potential is enabled for each atom type + + // unit cell data for VSep + double omega; // unit cell Volume + double tpiba2; // tpiba ^ 2 +}; + +// namespace GlobalC +// { +// extern Sep_Cell sep_cell; +// } + +#endif // SEP_CEll diff --git a/source/source_cell/test/CMakeLists.txt b/source/source_cell/test/CMakeLists.txt index 7d1a2ab8c2..9e8ba3ce6f 100644 --- a/source/source_cell/test/CMakeLists.txt +++ b/source/source_cell/test/CMakeLists.txt @@ -10,6 +10,8 @@ install(FILES bcast_atom_spec_test.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) install(FILES parallel_kpoints_test.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) install(FILES klist_test_para.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) install(FILES unitcell_test_parallel.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +install(FILES bcast_read_sep_test.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +install(FILES bcast_sep_cell_test.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) list(APPEND cell_simple_srcs ../unitcell.cpp @@ -33,6 +35,8 @@ list(APPEND cell_simple_srcs ../../source_estate/cal_wfc.cpp ../../source_estate/cal_nelec_nband.cpp ../../source_estate/read_orb.cpp + ../sep.cpp + ../sep_cell.cpp ) add_library(cell_info OBJECT ${cell_simple_srcs}) @@ -40,40 +44,40 @@ add_library(cell_info OBJECT ${cell_simple_srcs}) AddTest( TARGET MODULE_CELL_read_pp LIBS parameter ${math_libs} base device - SOURCES read_pp_test.cpp ../atom_pseudo.cpp ../pseudo.cpp ../read_pp.cpp ../read_pp_complete.cpp ../read_pp_upf201.cpp ../read_pp_upf100.cpp ../read_pp_vwr.cpp ../read_pp_blps.cpp + SOURCES read_pp_test.cpp ../atom_pseudo.cpp ../pseudo.cpp ../read_pp.cpp ../read_pp_complete.cpp ../read_pp_upf201.cpp ../read_pp_upf100.cpp ../read_pp_vwr.cpp ../read_pp_blps.cpp ../../source_io/output.cpp ) AddTest( TARGET MODULE_CELL_pseudo_nc LIBS parameter ${math_libs} base device - SOURCES pseudo_nc_test.cpp ../pseudo.cpp ../atom_pseudo.cpp ../read_pp.cpp ../read_pp_complete.cpp ../read_pp_upf201.cpp ../read_pp_upf100.cpp ../read_pp_vwr.cpp + SOURCES pseudo_nc_test.cpp ../pseudo.cpp ../atom_pseudo.cpp ../read_pp.cpp ../read_pp_complete.cpp ../read_pp_upf201.cpp ../read_pp_upf100.cpp ../read_pp_vwr.cpp ../read_pp_blps.cpp ../../source_io/output.cpp ) AddTest( TARGET MODULE_CELL_atom_pseudo LIBS parameter ${math_libs} base device - SOURCES atom_pseudo_test.cpp ../atom_pseudo.cpp ../pseudo.cpp ../read_pp.cpp ../read_pp_complete.cpp ../read_pp_upf201.cpp ../read_pp_upf100.cpp + SOURCES atom_pseudo_test.cpp ../atom_pseudo.cpp ../pseudo.cpp ../read_pp.cpp ../read_pp_complete.cpp ../read_pp_upf201.cpp ../read_pp_upf100.cpp ../read_pp_vwr.cpp ../read_pp_blps.cpp ../../source_io/output.cpp ) AddTest( TARGET MODULE_CELL_atom_spec - LIBS parameter ${math_libs} base device - SOURCES atom_spec_test.cpp ../atom_spec.cpp ../atom_pseudo.cpp ../pseudo.cpp ../read_pp.cpp ../read_pp_complete.cpp ../read_pp_upf201.cpp + LIBS parameter ${math_libs} base device + SOURCES atom_spec_test.cpp ../atom_spec.cpp ../atom_pseudo.cpp ../pseudo.cpp ../read_pp.cpp ../read_pp_complete.cpp ../read_pp_upf201.cpp ../read_pp_upf100.cpp ../read_pp_vwr.cpp ../read_pp_blps.cpp ../../source_io/output.cpp ) AddTest( TARGET MODULE_CELL_klist_test - LIBS parameter ${math_libs} base device symmetry + LIBS parameter ${math_libs} base device symmetry SOURCES klist_test.cpp ../klist.cpp ../parallel_kpoints.cpp ../../source_io/output.cpp ../k_vector_utils.cpp ) AddTest( TARGET MODULE_CELL_klist_test_para1 - LIBS parameter ${math_libs} base device symmetry + LIBS parameter ${math_libs} base device symmetry SOURCES klist_test_para.cpp ../klist.cpp ../parallel_kpoints.cpp ../../source_io/output.cpp ../k_vector_utils.cpp ) @@ -85,8 +89,8 @@ add_test(NAME MODULE_CELL_klist_test_para4 AddTest( TARGET MODULE_CELL_ParaKpoints LIBS parameter MPI::MPI_CXX - SOURCES parallel_kpoints_test.cpp ../../source_base/global_variable.cpp ../../source_base/parallel_global.cpp - ../../source_base/parallel_common.cpp ../../source_base/parallel_comm.cpp ../parallel_kpoints.cpp + SOURCES parallel_kpoints_test.cpp ../../source_base/global_variable.cpp ../../source_base/parallel_global.cpp + ../../source_base/parallel_common.cpp ../../source_base/parallel_comm.cpp ../parallel_kpoints.cpp ../../source_base/tool_quit.cpp ../../source_base/global_variable.cpp ../../source_base/global_file.cpp ../../source_base/global_function.cpp ../../source_base/memory.cpp ../../source_base/timer.cpp ../../source_base/parallel_reduce.cpp ) find_program(BASH bash) @@ -109,26 +113,26 @@ add_test(NAME MODULE_CELL_parallel_kpoints_test AddTest( TARGET MODULE_CELL_unitcell_test LIBS parameter ${math_libs} base device cell_info symmetry - SOURCES unitcell_test.cpp ../../source_io/output.cpp ../../source_estate/cal_ux.cpp + SOURCES unitcell_test.cpp ../../source_io/output.cpp ../../source_estate/cal_ux.cpp ) AddTest( TARGET MODULE_CELL_unitcell_test_readpp - LIBS parameter ${math_libs} base device cell_info - SOURCES unitcell_test_readpp.cpp ../../source_io/output.cpp + LIBS parameter ${math_libs} base device cell_info + SOURCES unitcell_test_readpp.cpp ../../source_io/output.cpp ) AddTest( TARGET MODULE_CELL_unitcell_test_para - LIBS parameter ${math_libs} base device cell_info + LIBS parameter ${math_libs} base device cell_info SOURCES unitcell_test_para.cpp ../../source_io/output.cpp ) AddTest( TARGET MODULE_CELL_unitcell_test_setupcell - LIBS parameter ${math_libs} base device cell_info - SOURCES unitcell_test_setupcell.cpp ../../source_io/output.cpp + LIBS parameter ${math_libs} base device cell_info + SOURCES unitcell_test_setupcell.cpp ../../source_io/output.cpp ) add_test(NAME MODULE_CELL_unitcell_test_parallel @@ -142,3 +146,24 @@ AddTest( SOURCES cell_index_test.cpp ../cell_index.cpp ) +AddTest( + TARGET MODULE_CELL_SEP_TEST + LIBS parameter ${math_libs} base device + SOURCES read_sep_test.cpp ../sep.cpp +) + +add_test(NAME MODULE_CELL_read_sep_parallel + COMMAND ${BASH} bcast_read_sep_test.sh + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +) + +AddTest( + TARGET MODULE_CELL_SEP_CELL_TEST + LIBS parameter ${math_libs} base device + SOURCES sepcell_test.cpp ../sep.cpp ../sep_cell.cpp +) + +add_test(NAME MODULE_CELL_sep_cell_parallel + COMMAND ${BASH} bcast_sep_cell_test.sh + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +) diff --git a/source/source_cell/test/bcast_read_sep_test.sh b/source/source_cell/test/bcast_read_sep_test.sh new file mode 100644 index 0000000000..4a38e4f5e4 --- /dev/null +++ b/source/source_cell/test/bcast_read_sep_test.sh @@ -0,0 +1,18 @@ +#!/bin/bash -e + +np=$(cat /proc/cpuinfo | grep "cpu cores" | uniq | awk '{print $NF}') +echo "nprocs in this machine is $np" + +for i in 4; do + if [[ $i -gt $np ]]; then + continue + fi + echo "TEST in parallel, nprocs=$i" + mpirun -np $i ./MODULE_CELL_SEP_TEST + if [[ $? -ne 0 ]]; then + echo -e "\e[1;33m [ FAILED ] \e[0m" \ + "execute UT with $i cores error." + exit 1 + fi + break +done diff --git a/source/source_cell/test/bcast_sep_cell_test.sh b/source/source_cell/test/bcast_sep_cell_test.sh new file mode 100644 index 0000000000..79689516e3 --- /dev/null +++ b/source/source_cell/test/bcast_sep_cell_test.sh @@ -0,0 +1,18 @@ +#!/bin/bash -e + +np=$(cat /proc/cpuinfo | grep "cpu cores" | uniq | awk '{print $NF}') +echo "nprocs in this machine is $np" + +for i in 4; do + if [[ $i -gt $np ]]; then + continue + fi + echo "TEST in parallel, nprocs=$i" + mpirun -np $i ./MODULE_CELL_SEP_CELL_TEST + if [[ $? -ne 0 ]]; then + echo -e "\e[1;33m [ FAILED ] \e[0m" \ + "execute UT with $i cores error." + exit 1 + fi + break +done diff --git a/source/source_cell/test/klist_test.cpp b/source/source_cell/test/klist_test.cpp index ee9c320409..4d351af719 100644 --- a/source/source_cell/test/klist_test.cpp +++ b/source/source_cell/test/klist_test.cpp @@ -83,6 +83,10 @@ Soc::~Soc() Fcoef::~Fcoef() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} /************************************************ @@ -723,6 +727,32 @@ TEST_F(KlistTest, NormalizeWk) EXPECT_DOUBLE_EQ(kv->wk[1], 1.0); } +TEST_F(KlistTest, NormalizeWkZeroWeights) +{ + // Test that zero weights are handled correctly + kv->nspin = 1; + kv->set_nkstot(3); + kv->set_nks(3); + kv->renew(kv->get_nkstot()); + kv->wk[0] = 0.0; + kv->wk[1] = 0.0; + kv->wk[2] = 0.0; + int deg = 2; + + // Should not crash and should set equal weights + kv->normalize_wk(deg); + + // Each k-point should have weight = deg / nkstot = 2 / 3 + EXPECT_NEAR(kv->wk[0], 2.0 / 3.0, 1e-10); + EXPECT_NEAR(kv->wk[1], 2.0 / 3.0, 1e-10); + EXPECT_NEAR(kv->wk[2], 2.0 / 3.0, 1e-10); + + // Sum should equal deg + double sum = kv->wk[0] + kv->wk[1] + kv->wk[2]; + EXPECT_NEAR(sum, 2.0, 1e-10); +} + + TEST_F(KlistTest, UpdateUseIBZ) { kv->nspin = 1; @@ -784,3 +814,158 @@ TEST_F(KlistTest, IbzKpointIsMP) ClearUcell(); remove("tmp_klist_4"); } + +TEST_F(KlistTest, IbzKpointCustomWeights) +{ + // This test verifies the fix for issue #6552: k-point weights should not be overwritten + // during IBZ reduction for non-Monkhorst-Pack k-point lists. + + ModuleSymmetry::Symmetry symm; + construct_ucell(stru_lib[0]); + GlobalV::ofs_running.open("tmp_klist_custom_weights"); + symm.analy_sys(ucell.lat, ucell.st, ucell.atoms, GlobalV::ofs_running); + + // Test 1: Non-MP k-points with uniform weights (KPT4) + { + K_Vectors kv_test1; + std::string k_file = "./support/KPT4"; + kv_test1.nspin = 1; + kv_test1.read_kpoints(ucell, k_file); + EXPECT_EQ(kv_test1.get_nkstot(), 5); + EXPECT_FALSE(kv_test1.is_mp); // Should be non-MP + + // Store original weights before IBZ reduction + std::vector original_weights = kv_test1.wk; + + // Apply IBZ reduction + std::string skpt; + ModuleSymmetry::Symmetry::symm_flag = 1; + bool match = true; + KVectorUtils::kvec_ibz_kpoint(kv_test1, symm, ModuleSymmetry::Symmetry::symm_flag, skpt, ucell, match); + + // Verify that weights are preserved (not overwritten with 1/nkstot) + // After IBZ reduction, weights should still reflect the input weights + double total_weight = 0.0; + for (int i = 0; i < kv_test1.get_nkstot(); ++i) + { + total_weight += kv_test1.wk[i]; + } + // Weights should sum to approximately the number of original k-points (before normalization) + EXPECT_GT(total_weight, 0.0); + } + + // Test 2: Non-MP k-points with non-uniform custom weights + { + K_Vectors kv_test2; + std::string k_file = "./support/KPT_custom_weights"; + kv_test2.nspin = 1; + kv_test2.read_kpoints(ucell, k_file); + EXPECT_EQ(kv_test2.get_nkstot(), 5); + EXPECT_FALSE(kv_test2.is_mp); // Should be non-MP + + // Verify custom weights were read correctly + EXPECT_DOUBLE_EQ(kv_test2.wk[0], 0.1); + EXPECT_DOUBLE_EQ(kv_test2.wk[1], 0.2); + EXPECT_DOUBLE_EQ(kv_test2.wk[2], 0.3); + EXPECT_DOUBLE_EQ(kv_test2.wk[3], 0.2); + EXPECT_DOUBLE_EQ(kv_test2.wk[4], 0.2); + + // Store original weights + std::vector original_weights = kv_test2.wk; + double original_sum = 0.0; + for (double w : original_weights) + { + original_sum += w; + } + + // Apply IBZ reduction + std::string skpt; + ModuleSymmetry::Symmetry::symm_flag = 1; + bool match = true; + KVectorUtils::kvec_ibz_kpoint(kv_test2, symm, ModuleSymmetry::Symmetry::symm_flag, skpt, ucell, match); + + // After IBZ reduction, the weights should be based on the custom input weights, + // not uniform 1/nkstot weights. The total weight should be preserved. + double total_weight_after = 0.0; + for (int i = 0; i < kv_test2.get_nkstot(); ++i) + { + total_weight_after += kv_test2.wk[i]; + } + + // The sum of weights after IBZ reduction should equal the sum before + // (accounting for symmetry operations that may combine k-points) + EXPECT_NEAR(total_weight_after, original_sum, 1e-10); + + // Verify that at least one weight is NOT equal to 1/5 (which would indicate + // the bug where custom weights are overwritten with uniform weights) + bool has_custom_weight = false; + double uniform_weight = 1.0 / 5.0; + for (int i = 0; i < kv_test2.get_nkstot(); ++i) + { + if (std::abs(kv_test2.wk[i] - uniform_weight) > 1e-10) + { + has_custom_weight = true; + break; + } + } + EXPECT_TRUE(has_custom_weight) << "Custom weights were overwritten with uniform weights!"; + } + + // Test 3: MP grid (regression test - should still work correctly) + { + K_Vectors kv_test3; + std::string k_file = "./support/KPT1"; + kv_test3.nspin = 1; + kv_test3.read_kpoints(ucell, k_file); + EXPECT_EQ(kv_test3.get_nkstot(), 512); + EXPECT_TRUE(kv_test3.is_mp); // Should be MP + + // Apply IBZ reduction + std::string skpt; + ModuleSymmetry::Symmetry::symm_flag = 1; + bool match = true; + KVectorUtils::kvec_ibz_kpoint(kv_test3, symm, ModuleSymmetry::Symmetry::symm_flag, skpt, ucell, match); + + // For MP grids, all weights should be uniform after IBZ reduction + EXPECT_EQ(kv_test3.get_nkstot(), 35); // Known result from existing test + + // Verify weights sum correctly + double total_weight = 0.0; + for (int i = 0; i < kv_test3.get_nkstot(); ++i) + { + total_weight += kv_test3.wk[i]; + } + EXPECT_GT(total_weight, 0.0); + } + + // Test 4: Weight normalization verification + { + K_Vectors kv_test4; + std::string k_file = "./support/KPT_custom_weights"; + kv_test4.nspin = 1; + kv_test4.read_kpoints(ucell, k_file); + + // Apply IBZ reduction + std::string skpt; + ModuleSymmetry::Symmetry::symm_flag = 1; + bool match = true; + KVectorUtils::kvec_ibz_kpoint(kv_test4, symm, ModuleSymmetry::Symmetry::symm_flag, skpt, ucell, match); + + // Normalize weights + int degspin = (kv_test4.nspin == 2) ? 1 : 2; + kv_test4.normalize_wk(degspin); + + // After normalization, weights should sum to degspin + double total_weight = 0.0; + for (int i = 0; i < kv_test4.get_nkstot(); ++i) + { + total_weight += kv_test4.wk[i]; + } + EXPECT_NEAR(total_weight, degspin, 1e-10); + } + + GlobalV::ofs_running.close(); + ClearUcell(); + remove("tmp_klist_custom_weights"); +} + diff --git a/source/source_cell/test/klist_test_para.cpp b/source/source_cell/test/klist_test_para.cpp index 2b03a169ab..789e58e8e5 100644 --- a/source/source_cell/test/klist_test_para.cpp +++ b/source/source_cell/test/klist_test_para.cpp @@ -86,6 +86,10 @@ Soc::~Soc() Fcoef::~Fcoef() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} /************************************************ diff --git a/source/source_cell/test/prepare_unitcell.h b/source/source_cell/test/prepare_unitcell.h index 32142daad9..7391464408 100644 --- a/source/source_cell/test/prepare_unitcell.h +++ b/source/source_cell/test/prepare_unitcell.h @@ -97,7 +97,7 @@ class UcellTestPrepare } //lattice info ucell->lat0 = this->lat0; - ucell->lat0_angstrom = ucell->lat0 * 0.529177; + ucell->lat0_angstrom = ucell->lat0 * ModuleBase::BOHR_TO_A; ucell->tpiba = ModuleBase::TWO_PI/ucell->lat0; ucell->tpiba2 = ucell->tpiba * ucell->tpiba; ucell->latvec.e11 = this->latvec[0]; diff --git a/source/source_cell/test/read_sep_test.cpp b/source/source_cell/test/read_sep_test.cpp new file mode 100644 index 0000000000..0bfada1a36 --- /dev/null +++ b/source/source_cell/test/read_sep_test.cpp @@ -0,0 +1,146 @@ +#include "gmock/gmock.h" +#include "gtest/gtest.h" +#include +#define private public +#include "source_io/module_parameter/parameter.h" +#undef private + +#ifdef __MPI +#include +#endif // __MPI + +#define private public +#include "source_cell/sep.h" +#undef private + +class ReadSepTest : public testing::Test +{ + protected: + std::string output; + std::unique_ptr read_sep{new SepPot}; + + void SetUp() override + { + // Initialization default check + EXPECT_FALSE(read_sep->is_enable); + EXPECT_DOUBLE_EQ(read_sep->r_in, 0.0); + EXPECT_DOUBLE_EQ(read_sep->r_out, 0.0); + EXPECT_DOUBLE_EQ(read_sep->r_power, 20.0); + EXPECT_DOUBLE_EQ(read_sep->enhence_a, 1.0); + EXPECT_EQ(read_sep->mesh, 0); + EXPECT_EQ(read_sep->strip_elec, 0); + EXPECT_EQ(read_sep->r, nullptr); + EXPECT_EQ(read_sep->rv, nullptr); + } + + void TearDown() override + { + // Cleaning is done automatically in the destructor + } +}; + +TEST_F(ReadSepTest, ReadSep) +{ +#ifdef __MPI + if (GlobalV::MY_RANK == 0) + { +#endif // !__MPI + std::ifstream ifs; + ifs.open("./support/F_pbe_50.sep"); + ASSERT_TRUE(ifs.is_open()); + read_sep->read_sep(ifs); + ifs.close(); + EXPECT_EQ(read_sep->label, "F"); + EXPECT_EQ(read_sep->mesh, 1038); + EXPECT_EQ(read_sep->xc_type, "pbe"); + EXPECT_EQ(read_sep->strip_elec, 50); + + EXPECT_EQ(read_sep->r[0], 3.4643182373e-06); + EXPECT_NE(read_sep->r, nullptr); + EXPECT_NE(read_sep->rv, nullptr); +#ifdef __MPI + } +#endif // __MPI +} + +TEST_F(ReadSepTest, PrintSep) +{ +#ifdef __MPI + if (GlobalV::MY_RANK == 0) + { +#endif + // 设置测试数据 + read_sep->label = "F"; + read_sep->xc_type = "pbe"; + read_sep->orbital = "p"; + read_sep->strip_elec = 50; + read_sep->mesh = 2; + read_sep->r = new double[2]{0.1, 0.2}; + read_sep->rv = new double[2]{1.0, 2.0}; + + // 测试打印功能 + std::ofstream ofs("test_sep.out"); + read_sep->print_sep_info(ofs); + read_sep->print_sep_vsep(ofs); + ofs.close(); + + // 验证输出文件 + std::ifstream ifs("test_sep.out"); + std::string line; + std::vector lines; + while (std::getline(ifs, line)) + { + lines.push_back(line); + } + ifs.close(); + + EXPECT_THAT(lines, testing::Contains(" label F")); + EXPECT_THAT(lines, testing::Contains(" xc pbe")); + EXPECT_THAT(lines, testing::Contains(" orbital p")); + EXPECT_THAT(lines, testing::Contains(" strip electron50")); + EXPECT_THAT(lines, testing::Contains(" mesh 2")); + + std::remove("test_sep.out"); +#ifdef __MPI + } +#endif +} + +#ifdef __MPI +TEST_F(ReadSepTest, BcastSep) +{ + if (GlobalV::MY_RANK == 0) + { + std::ifstream ifs; + ifs.open("./support/F_pbe_50.sep"); + ASSERT_TRUE(ifs.is_open()); + read_sep->read_sep(ifs); + ifs.close(); + } + read_sep->bcast_sep(); + if (GlobalV::MY_RANK != 0) + { + EXPECT_EQ(read_sep->label, "F"); + EXPECT_EQ(read_sep->mesh, 1038); + EXPECT_EQ(read_sep->xc_type, "pbe"); + EXPECT_EQ(read_sep->strip_elec, 50); + EXPECT_DOUBLE_EQ(read_sep->r[0], 3.4643182373e-06); + EXPECT_NE(read_sep->r, nullptr); + EXPECT_NE(read_sep->rv, nullptr); + } +} + +int main(int argc, char** argv) +{ + MPI_Init(&argc, &argv); + testing::InitGoogleTest(&argc, argv); + + MPI_Comm_size(MPI_COMM_WORLD, &GlobalV::NPROC); + MPI_Comm_rank(MPI_COMM_WORLD, &GlobalV::MY_RANK); + + int result = RUN_ALL_TESTS(); + + MPI_Finalize(); + return result; +} +#endif // __MPI diff --git a/source/source_cell/test/sepcell_test.cpp b/source/source_cell/test/sepcell_test.cpp new file mode 100644 index 0000000000..11316355e1 --- /dev/null +++ b/source/source_cell/test/sepcell_test.cpp @@ -0,0 +1,286 @@ +#include "gtest/gtest.h" +#include +// #include +#include + +#define private public +#include "source_io/module_parameter/parameter.h" +#undef private + +#ifdef __MPI +#include +#endif + +#define private public +#include "source_cell/sep_cell.h" +#include "source_cell/unitcell.h" +#undef private +pseudo::pseudo() +{ +} +pseudo::~pseudo() +{ +} +Atom_pseudo::Atom_pseudo() +{ +} +Atom_pseudo::~Atom_pseudo() +{ +} +Atom::Atom() +{ +} +Atom::~Atom() +{ +} +InfoNonlocal::InfoNonlocal() +{ +} +InfoNonlocal::~InfoNonlocal() +{ +} +LCAO_Orbitals::LCAO_Orbitals() +{ +} +LCAO_Orbitals::~LCAO_Orbitals() +{ +} +Magnetism::Magnetism() +{ +} +Magnetism::~Magnetism() +{ +} +UnitCell::UnitCell() +{ +} +UnitCell::~UnitCell() +{ +} + +// Test fixture for Sep_Cell tests +class SepCellTest : public ::testing::Test +{ + protected: + Sep_Cell sep_cell; + UnitCell ucell; + + // Names for temporary files used in tests + std::string stru_filename = "STRU_LiF"; + std::string stru_noLi_filename = "STRU_LiF_Warning1"; + std::string f_sep_filename = "F_pbe_50.sep"; + std::string pp_dir = "support/"; // Directory for pseudopotential files + + void SetUp() override + { + // Initialize UnitCell for tests that need it. + // This setup is common for many read_sep_potentials tests. + ucell.ntype = 2; + ucell.atom_label.resize(ucell.ntype); + ucell.atom_label[0] = "Li"; + ucell.atom_label[1] = "F"; + ucell.atoms = new Atom[ucell.ntype]; + ucell.atoms[0].label = "Li"; + ucell.atoms[0].na = 1; // Number of atoms of this type + ucell.atoms[1].label = "F"; + ucell.atoms[1].na = 1; + } + + void TearDown() override + { + delete[] ucell.atoms; + ucell.atoms = nullptr; + } +}; + +TEST_F(SepCellTest, Constructor) +{ + EXPECT_EQ(sep_cell.get_ntype(), 0); + EXPECT_DOUBLE_EQ(sep_cell.get_omega(), 0.0); + EXPECT_DOUBLE_EQ(sep_cell.get_tpiba2(), 0.0); + EXPECT_TRUE(sep_cell.get_seps().empty()); + EXPECT_TRUE(sep_cell.get_sep_enable().empty()); +} + +TEST_F(SepCellTest, Init) +{ + sep_cell.init(2); + EXPECT_EQ(sep_cell.get_ntype(), 2); + ASSERT_EQ(sep_cell.get_seps().size(), 2); + ASSERT_EQ(sep_cell.get_sep_enable().size(), 2); + EXPECT_FALSE(sep_cell.get_sep_enable()[0]); + EXPECT_FALSE(sep_cell.get_sep_enable()[1]); + // Check default values of SepPot within seps + EXPECT_EQ(sep_cell.get_seps()[0].mesh, 0); + EXPECT_FALSE(sep_cell.get_seps()[0].is_enable); +} + +TEST_F(SepCellTest, SetOmega) +{ + sep_cell.set_omega(100.0, 0.25); + EXPECT_DOUBLE_EQ(sep_cell.get_omega(), 100.0); + EXPECT_DOUBLE_EQ(sep_cell.get_tpiba2(), 0.25); +} + +TEST_F(SepCellTest, ReadSepPotentialsSuccess) +{ +#ifdef __MPI + if (GlobalV::MY_RANK == 0) + { +#endif + + std::ifstream ifs(pp_dir + stru_filename); + ASSERT_TRUE(ifs.is_open()); + + sep_cell.init(ucell.ntype); + std::ofstream ofs_running_dummy("dummy_ofs_running.tmp"); + int result = sep_cell.read_sep_potentials(ifs, pp_dir, ofs_running_dummy, ucell.atom_label); + ifs.close(); + std::remove("dummy_ofs_running.tmp"); + + EXPECT_EQ(result, 1); // Expect success (true) + + // Due to the bug mentioned (this->sep_enable[i] is always false), + // SEP data won't actually be loaded. + ASSERT_EQ(sep_cell.get_sep_enable().size(), 2); + EXPECT_FALSE(sep_cell.get_sep_enable()[0]); // Stays false from init + EXPECT_TRUE(sep_cell.get_sep_enable()[1]); // Stays false from init + + const auto& seps = sep_cell.get_seps(); + ASSERT_EQ(seps.size(), 2); + EXPECT_FALSE(seps[0].is_enable); // Default value, not set from file + EXPECT_EQ(seps[0].mesh, 0); // Default value + EXPECT_EQ(seps[0].label, ""); // Default value + + EXPECT_TRUE(seps[1].is_enable); // Default value + EXPECT_EQ(seps[1].mesh, 1038); // Default value + EXPECT_EQ(seps[1].label, "F"); // Default value + EXPECT_DOUBLE_EQ(seps[1].r_in, 0.0); + EXPECT_DOUBLE_EQ(seps[1].r_out, 2.5); + EXPECT_DOUBLE_EQ(seps[1].r_power, 20.0); + EXPECT_DOUBLE_EQ(seps[1].enhence_a, 1.0); +#ifdef __MPI + } + // If run in MPI, other ranks might need to know the outcome or have sep_cell state consistent. + // For this specific test, only rank 0 performs the read. + // A broadcast test would cover data consistency across ranks. +#endif +} + +TEST_F(SepCellTest, ReadSepPotentialsNoSepFilesSection) +{ +#ifdef __MPI + if (GlobalV::MY_RANK == 0) + { +#endif + + std::ifstream ifs(pp_dir + stru_noLi_filename); + ASSERT_TRUE(ifs.is_open()); + std::ofstream ofs_running_dummy("dummy_ofs_running.tmp"); + + sep_cell.init(ucell.ntype); + int result = sep_cell.read_sep_potentials(ifs, pp_dir, ofs_running_dummy, ucell.atom_label); + ifs.close(); + std::remove("dummy_ofs_running.tmp"); + + EXPECT_EQ(result, 0); // Expect failure (false) because "SEP_FILES" not found +#ifdef __MPI + } +#endif +} + +#ifdef __MPI +TEST_F(SepCellTest, BcastSepCell) +{ + sep_cell.init(2); // ntype = 2 + // Rank 0 prepares some data (or reads from file) + if (GlobalV::MY_RANK == 0) + { + sep_cell.set_omega(150.0, 0.75); + std::ifstream ifs(pp_dir + stru_filename); + ASSERT_TRUE(ifs.is_open()); + + sep_cell.init(ucell.ntype); + std::ofstream ofs_running_dummy("dummy_ofs_running.tmp"); + int result = sep_cell.read_sep_potentials(ifs, pp_dir, ofs_running_dummy, ucell.atom_label); + ifs.close(); + std::remove("dummy_ofs_running.tmp"); + + EXPECT_EQ(result, 1); // Expect success (true) + } + + sep_cell.bcast_sep_cell(); + + // All ranks should have the same data + EXPECT_EQ(sep_cell.get_ntype(), 2); + // Omega and tpiba2 are NOT part of Sep_Cell::bcast_sep_cell, so they remain default on non-zero ranks + if (GlobalV::MY_RANK == 0) + { + EXPECT_DOUBLE_EQ(sep_cell.get_omega(), 150.0); + EXPECT_DOUBLE_EQ(sep_cell.get_tpiba2(), 0.75); + } + else + { + EXPECT_DOUBLE_EQ(sep_cell.get_omega(), 0.0); // Default + EXPECT_DOUBLE_EQ(sep_cell.get_tpiba2(), 0.0); // Default + } + + ASSERT_EQ(sep_cell.get_sep_enable().size(), 2); + // sep_enable will be broadcast as false from rank 0 due to read_sep_potentials bug + EXPECT_FALSE(sep_cell.get_sep_enable()[0]); + EXPECT_TRUE(sep_cell.get_sep_enable()[1]); + + const auto& seps = sep_cell.get_seps(); + ASSERT_EQ(seps.size(), 2); + + // Check SepPot data (will be default values due to bug and current test setup) + EXPECT_EQ(seps[0].label, ""); // Default broadcasted + EXPECT_EQ(seps[0].mesh, 0); // Default broadcasted + EXPECT_FALSE(seps[0].is_enable); // Default broadcasted + + EXPECT_EQ(seps[1].label, "F"); // Default broadcasted + EXPECT_EQ(seps[1].mesh, 1038); // Default broadcasted + EXPECT_TRUE(seps[1].is_enable); // Default broadcasted + // Note: SepPot::bcast_sep() allocates memory for r and rv on all ranks + // whenever mesh > 0, regardless of is_enable status + if (seps[0].mesh > 0) + { + EXPECT_NE(seps[0].r, nullptr); + EXPECT_NE(seps[0].rv, nullptr); + } + else + { + EXPECT_EQ(seps[0].r, nullptr); + EXPECT_EQ(seps[0].rv, nullptr); + } + EXPECT_NE(seps[1].r, nullptr); + EXPECT_NE(seps[1].rv, nullptr); + EXPECT_DOUBLE_EQ(seps[1].r[0], 3.4643182373e-06); + EXPECT_DOUBLE_EQ(seps[1].rv[0], -2.0868200000e-05); + EXPECT_DOUBLE_EQ(seps[1].r[7], 2.8965849122e-05); + EXPECT_DOUBLE_EQ(seps[1].rv[7], -1.9723800000e-05); +} +#endif // __MPI + +// Main function for running tests +int main(int argc, char** argv) +{ +#ifdef __MPI + MPI_Init(&argc, &argv); + MPI_Comm_size(MPI_COMM_WORLD, &GlobalV::NPROC); + MPI_Comm_rank(MPI_COMM_WORLD, &GlobalV::MY_RANK); +#endif + + testing::InitGoogleTest(&argc, argv); + + // Potentially initialize GlobalV::ofs_running here if not handled by test infra + // e.g., if (GlobalV::MY_RANK == 0) GlobalV::ofs_running.open("sep_cell_test.log"); + // For now, assume it's usable or output to console/dev_null is acceptable. + + int result = RUN_ALL_TESTS(); + +#ifdef __MPI + MPI_Finalize(); +#endif + return result; +} diff --git a/source/source_cell/test/support/C_ca_50.sep b/source/source_cell/test/support/C_ca_50.sep new file mode 100644 index 0000000000..325c9aa6e0 --- /dev/null +++ b/source/source_cell/test/support/C_ca_50.sep @@ -0,0 +1,1014 @@ +Sep.Element C +Sep.XcType ca +Sep.Orbital p +Sep.Points 1006 +Sep.StripAmount 50 + + diff --git a/source/source_cell/test/support/F_pbe_50.sep b/source/source_cell/test/support/F_pbe_50.sep new file mode 100644 index 0000000000..c8bc18b301 --- /dev/null +++ b/source/source_cell/test/support/F_pbe_50.sep @@ -0,0 +1,1046 @@ +Sep.Element F +Sep.XcType pbe +Sep.Orbital p +Sep.Points 1038 +Sep.StripAmount 50 + + diff --git a/source/source_cell/test/support/KPT_custom_weights b/source/source_cell/test/support/KPT_custom_weights new file mode 100644 index 0000000000..e441560a1b --- /dev/null +++ b/source/source_cell/test/support/KPT_custom_weights @@ -0,0 +1,8 @@ +K_POINTS +5 +Direct +0.0 0.0 0.0 0.1 +0.5 0.0 0.0 0.2 +0.0 0.5 0.0 0.3 +0.5 0.5 0.0 0.2 +0.0 0.0 0.5 0.2 diff --git a/source/source_cell/test/support/STRU_LiF b/source/source_cell/test/support/STRU_LiF new file mode 100644 index 0000000000..16f61bcc80 --- /dev/null +++ b/source/source_cell/test/support/STRU_LiF @@ -0,0 +1,28 @@ +ATOMIC_SPECIES +Li 14.0000 Li_ONCV_PBE-1.2.upf upf201 +F 0.0000 F_ONCV_PBE-1.2.upf upf201 + +LATTICE_CONSTANT +1.0000000000 + +LATTICE_VECTORS + 0.0000000000 3.8379626543 3.8379626543 + 3.8379626543 0.0000000000 3.8379626543 + 3.8379626543 3.8379626543 0.0000000000 + +SEP_FILES +Li 0 +F 1 F_pbe_50.sep 0.0 2.5 20.0 1.0 + +ATOMIC_POSITIONS +Direct + +Li #label +0.0000 #magnetism +1 #number of atoms + 0.0000000000 0.0000000000 0.0000000000 m 1 1 1 + +F #label +0.0000 #magnetism +1 #number of atoms + 0.5000000000 0.5000000000 0.5000000000 m 1 1 1 diff --git a/source/source_cell/test/support/STRU_LiF_Warning1 b/source/source_cell/test/support/STRU_LiF_Warning1 new file mode 100644 index 0000000000..9e110b24db --- /dev/null +++ b/source/source_cell/test/support/STRU_LiF_Warning1 @@ -0,0 +1,27 @@ +ATOMIC_SPECIES +Li 14.0000 Li_ONCV_PBE-1.2.upf upf201 +F 0.0000 F_ONCV_PBE-1.2.upf upf201 + +LATTICE_CONSTANT +1.0000000000 + +LATTICE_VECTORS + 0.0000000000 3.8379626543 3.8379626543 + 3.8379626543 0.0000000000 3.8379626543 + 3.8379626543 3.8379626543 0.0000000000 + +SEP_FILES +F 1 F_pbe_50.sep 0.0 2.5 20.0 1.0 + +ATOMIC_POSITIONS +Direct + +Li #label +0.0000 #magnetism +1 #number of atoms + 0.0000000000 0.0000000000 0.0000000000 m 1 1 1 + +F #label +0.0000 #magnetism +1 #number of atoms + 0.5000000000 0.5000000000 0.5000000000 m 1 1 1 diff --git a/source/source_cell/test/support/mock_unitcell.cpp b/source/source_cell/test/support/mock_unitcell.cpp index 46d7303f56..ce8f7460f3 100644 --- a/source/source_cell/test/support/mock_unitcell.cpp +++ b/source/source_cell/test/support/mock_unitcell.cpp @@ -17,6 +17,10 @@ UnitCell::~UnitCell() { delete[] atoms; } } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} void UnitCell::print_cell(std::ofstream& ofs) const {} diff --git a/source/source_cell/test/unitcell_test_para.cpp b/source/source_cell/test/unitcell_test_para.cpp index 81f0a65055..ca6b3bad1f 100644 --- a/source/source_cell/test/unitcell_test_para.cpp +++ b/source/source_cell/test/unitcell_test_para.cpp @@ -1,3 +1,6 @@ +#include +#include +#include #include "gmock/gmock.h" #include "gtest/gtest.h" #define private public @@ -249,12 +252,17 @@ TEST_F(UcellTest, ReadPseudo) ifs.open("./H/H.NONLOCAL"); EXPECT_TRUE(ifs.good()); ifs.close(); - std::string command1 = "test -d C && rm -rf C"; - std::string command2 = "test -d H && rm -rf H"; - auto error1 = std::system(command1.c_str()); - EXPECT_EQ(error1, 0); - auto error2 = std::system(command2.c_str()); - EXPECT_EQ(error2, 0); + + struct stat st; + int ret1 = stat("C", &st); + EXPECT_EQ(ret1, 0); + EXPECT_TRUE(S_ISDIR(st.st_mode)); + rmdir("C"); + + int ret2 = stat("H", &st); + EXPECT_EQ(ret2, 0); + EXPECT_TRUE(S_ISDIR(st.st_mode)); + rmdir("H"); } // read_cell_pseudopots EXPECT_FALSE(ucell->atoms[0].ncpp.has_so); diff --git a/source/source_cell/test_pw/CMakeLists.txt b/source/source_cell/test_pw/CMakeLists.txt index 1776bf38c2..48893a14ae 100644 --- a/source/source_cell/test_pw/CMakeLists.txt +++ b/source/source_cell/test_pw/CMakeLists.txt @@ -9,14 +9,14 @@ install(FILES unitcell_test_pw_para.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) AddTest( TARGET MODULE_CELL_unitcell_test_pw - LIBS parameter ${math_libs} base device + LIBS parameter ${math_libs} base device SOURCES unitcell_test_pw.cpp ../unitcell.cpp ../read_atoms.cpp ../atom_spec.cpp ../update_cell.cpp ../bcast_cell.cpp ../atom_pseudo.cpp ../pseudo.cpp ../read_pp.cpp ../read_pp_complete.cpp ../read_pp_upf201.cpp ../read_pp_upf100.cpp ../read_stru.cpp ../read_atom_species.cpp - ../read_pp_vwr.cpp ../read_pp_blps.cpp ../../source_io/output.cpp + ../read_pp_vwr.cpp ../read_pp_blps.cpp ../../source_io/output.cpp ../../source_estate/read_pseudo.cpp ../../source_estate/cal_nelec_nband.cpp - ../../source_estate/read_orb.cpp ../../source_cell/print_cell.cpp - ../../source_estate/cal_wfc.cpp + ../../source_estate/read_orb.cpp ../print_cell.cpp + ../../source_estate/cal_wfc.cpp ../sep.cpp ../sep_cell.cpp ) find_program(BASH bash) diff --git a/source/source_cell/unitcell.cpp b/source/source_cell/unitcell.cpp index 44b620089c..e79a4206e8 100644 --- a/source/source_cell/unitcell.cpp +++ b/source/source_cell/unitcell.cpp @@ -6,6 +6,7 @@ #include "source_base/global_variable.h" #include "unitcell.h" #include "bcast_cell.h" +#include "source_base/tool_quit.h" #include "source_io/module_parameter/parameter.h" #include "source_cell/read_stru.h" #include "source_base/atom_in.h" @@ -13,6 +14,7 @@ #include "source_base/global_file.h" #include "source_base/parallel_common.h" #include "source_io/module_parameter/parameter.h" +#include "source_cell/sep_cell.h" #ifdef __MPI #include "mpi.h" @@ -23,14 +25,14 @@ #endif #include "update_cell.h" -UnitCell::UnitCell() +UnitCell::UnitCell() { itia2iat.create(1, 1); } -UnitCell::~UnitCell() +UnitCell::~UnitCell() { - if (set_atom_flag) + if (set_atom_flag) { delete[] atoms; } @@ -181,7 +183,7 @@ std::vector> UnitCell::get_constrain() const //============================================================== // Calculate various lattice related quantities for given latvec //============================================================== -void UnitCell::setup_cell(const std::string& fn, std::ofstream& log) +void UnitCell::setup_cell(const std::string& fn, std::ofstream& log) { ModuleBase::TITLE("UnitCell", "setup_cell"); @@ -200,6 +202,8 @@ void UnitCell::setup_cell(const std::string& fn, std::ofstream& log) bool ok = true; bool ok2 = true; + bool ok3 = true; // for sep potential in DFT-1/2 + // (3) read in atom information this->atom_mass.resize(ntype); this->atom_label.resize(ntype); @@ -207,17 +211,17 @@ void UnitCell::setup_cell(const std::string& fn, std::ofstream& log) this->pseudo_type.resize(ntype); this->orbital_fn.resize(ntype); - if (GlobalV::MY_RANK == 0) + if (GlobalV::MY_RANK == 0) { // open "atom_unitcell" file. std::ifstream ifa(fn.c_str(), std::ios::in); - if (!ifa) + if (!ifa) { GlobalV::ofs_warning << fn; ok = false; } - if (ok) + if (ok) { log << "\n\n"; log << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; @@ -245,6 +249,16 @@ void UnitCell::setup_cell(const std::string& fn, std::ofstream& log) //======================== const bool read_lattice_constant = unitcell::read_lattice_constant(ifa, log ,this->lat); //========================== + // readl sep potential, currently using the pseudopotential folder (pseudo_dir in INPUT) + //========================== + if (PARAM.inp.dfthalf_type > 0) { + // GlobalC::sep_cell.init(this->ntype); + // ok3 = GlobalC::sep_cell.read_sep_potentials(ifa, PARAM.inp.pseudo_dir, GlobalV::ofs_warning, this->atom_label); + + sep_cell.init(this->ntype); + ok3 = sep_cell.read_sep_potentials(ifa, PARAM.inp.pseudo_dir, GlobalV::ofs_warning, this->atom_label); + } + //========================== // call read_atom_positions //========================== ok2 = unitcell::read_atom_positions(*this, ifa, log, GlobalV::ofs_warning); @@ -253,6 +267,7 @@ void UnitCell::setup_cell(const std::string& fn, std::ofstream& log) #ifdef __MPI Parallel_Common::bcast_bool(ok); Parallel_Common::bcast_bool(ok2); + Parallel_Common::bcast_bool(ok3); #endif if (!ok) { ModuleBase::WARNING_QUIT( @@ -263,9 +278,14 @@ void UnitCell::setup_cell(const std::string& fn, std::ofstream& log) ModuleBase::WARNING_QUIT("UnitCell::setup_cell", "Something wrong during read_atom_positions."); } + if (!ok3) { + ModuleBase::WARNING_QUIT("UnitCell::setup_cell", "Something wrong during read_sep_potentials"); + } #ifdef __MPI unitcell::bcast_unitcell(*this); + // GlobalC::sep_cell.bcast_sep_cell(); + sep_cell.bcast_sep_cell(); #endif //======================================================== @@ -282,11 +302,11 @@ void UnitCell::setup_cell(const std::string& fn, std::ofstream& log) std::cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << std::endl; std::cout << " Warning: The lattice vector is left-handed; a right-handed vector is prefered." << std::endl; std::cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << std::endl; - GlobalV::ofs_warning << + GlobalV::ofs_warning << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << std::endl; - GlobalV::ofs_warning << + GlobalV::ofs_warning << " Warning: The lattice vector is left-handed; a right-handed vector is prefered." << std::endl; - GlobalV::ofs_warning << + GlobalV::ofs_warning << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << std::endl; this->omega = std::abs(this->omega); } @@ -329,11 +349,14 @@ void UnitCell::setup_cell(const std::string& fn, std::ofstream& log) //=================================== this->set_iat2itia(); + // GlobalC::sep_cell.set_omega(this->omega, this->tpiba2); + sep_cell.set_omega(this->omega, this->tpiba2); + return; } -void UnitCell::set_iat2iwt(const int& npol_in) +void UnitCell::set_iat2iwt(const int& npol_in) { #ifdef __DEBUG assert(npol_in == 1 || npol_in == 2); @@ -345,9 +368,9 @@ void UnitCell::set_iat2iwt(const int& npol_in) int iat = 0; int iwt = 0; - for (int it = 0; it < this->ntype; it++) + for (int it = 0; it < this->ntype; it++) { - for (int ia = 0; ia < atoms[it].na; ia++) + for (int ia = 0; ia < atoms[it].na; ia++) { this->iat2iwt[iat] = iwt; iwt += atoms[it].nw * this->npol; @@ -360,14 +383,14 @@ void UnitCell::set_iat2iwt(const int& npol_in) // check if any atom can be moved -bool UnitCell::if_atoms_can_move() const +bool UnitCell::if_atoms_can_move() const { - for (int it = 0; it < this->ntype; it++) + for (int it = 0; it < this->ntype; it++) { Atom* atom = &atoms[it]; - for (int ia = 0; ia < atom->na; ia++) + for (int ia = 0; ia < atom->na; ia++) { - if (atom->mbl[ia].x || atom->mbl[ia].y || atom->mbl[ia].z) + if (atom->mbl[ia].x || atom->mbl[ia].y || atom->mbl[ia].z) { return true; } @@ -377,10 +400,10 @@ bool UnitCell::if_atoms_can_move() const } // check if lattice vector can be changed -bool UnitCell::if_cell_can_change() const +bool UnitCell::if_cell_can_change() const { // need to be fixed next - if (this->lc[0] || this->lc[1] || this->lc[2]) + if (this->lc[0] || this->lc[1] || this->lc[2]) { return true; } @@ -457,7 +480,7 @@ void UnitCell::setup(const std::string& latname_in, } -void UnitCell::compare_atom_labels(const std::string &label1, const std::string &label2) +void UnitCell::compare_atom_labels(const std::string &label1, const std::string &label2) { if (label1!= label2) //'!( "Ag" == "Ag" || "47" == "47" || "Silver" == Silver" )' { @@ -475,26 +498,26 @@ void UnitCell::compare_atom_labels(const std::string &label1, const std::string { std::string stru_label = ""; std::string psuedo_label = ""; - for (int ip = 0; ip < label1.length(); ip++) + for (int ip = 0; ip < label1.length(); ip++) { - if (!(isdigit(label1[ip]) || label1[ip] == '_')) + if (!(isdigit(label1[ip]) || label1[ip] == '_')) { stru_label += label1[ip]; - } - else + } + else { break; } } stru_label[0] = toupper(stru_label[0]); - for (int ip = 0; ip < label2.length(); ip++) + for (int ip = 0; ip < label2.length(); ip++) { - if (!(isdigit(label2[ip]) || label2[ip] == '_')) + if (!(isdigit(label2[ip]) || label2[ip] == '_')) { psuedo_label += label2[ip]; - } - else + } + else { break; } diff --git a/source/source_cell/unitcell.h b/source/source_cell/unitcell.h index 7e1b3ecb1e..fb58adf6f2 100644 --- a/source/source_cell/unitcell.h +++ b/source/source_cell/unitcell.h @@ -3,6 +3,7 @@ #include "source_base/global_function.h" #include "source_base/global_variable.h" +#include "source_cell/sep_cell.h" #include "source_estate/magnetism.h" #include "source_io/output.h" #include "module_symmetry/symmetry.h" @@ -16,6 +17,7 @@ class UnitCell { public: Atom* atoms = nullptr; + Sep_Cell sep_cell; bool set_atom_flag = false; // added on 2009-3-8 by mohan Magnetism magnet; // magnetism Yu Liu 2021-07-03 diff --git a/source/source_cell/update_cell.cpp b/source/source_cell/update_cell.cpp index 3768386e0c..9af676139d 100644 --- a/source/source_cell/update_cell.cpp +++ b/source/source_cell/update_cell.cpp @@ -319,7 +319,7 @@ void setup_cell_after_vc(UnitCell& ucell, std::ofstream& log) ucell.omega * pow(ModuleBase::BOHR_TO_A, 3)); } - ucell.lat0_angstrom = ucell.lat0 * 0.529177; + ucell.lat0_angstrom = ucell.lat0 * ModuleBase::BOHR_TO_A; ucell.tpiba = ModuleBase::TWO_PI / ucell.lat0; ucell.tpiba2 = ucell.tpiba * ucell.tpiba; @@ -482,6 +482,7 @@ void periodic_boundary_adjustment(Atom* atoms, for (int it = 0; it < ntype; it++) { Atom* atom = &atoms[it]; + atom->boundary_shift.assign(atom->na, {0,0,0}); for (int ia = 0; ia < atom->na; ia++) { // mohan update 2011-03-21 @@ -489,19 +490,22 @@ void periodic_boundary_adjustment(Atom* atoms, { if (atom->taud[ia][ik] < 0) { + atom->boundary_shift[ia][ik] += 1; atom->taud[ia][ik] += 1.0; } if (atom->taud[ia][ik] >= 1.0) { + atom->boundary_shift[ia][ik] -= 1; atom->taud[ia][ik] -= 1.0; } } - if (atom->taud[ia].x < 0 - || atom->taud[ia].y < 0 - || atom->taud[ia].z < 0 - || atom->taud[ia].x >= 1.0 - || atom->taud[ia].y >= 1.0 - || atom->taud[ia].z >= 1.0) + const double eps = 1e-12; + if (atom->taud[ia].x < -eps + || atom->taud[ia].y < -eps + || atom->taud[ia].z < -eps + || atom->taud[ia].x >= 1.0+eps + || atom->taud[ia].y >= 1.0+eps + || atom->taud[ia].z >= 1.0+eps) { GlobalV::ofs_warning << " atom type=" << it + 1 << " atom index=" << ia + 1 << std::endl; GlobalV::ofs_warning << " direct coordinate=" << atom->taud[ia].x << " " diff --git a/source/source_esolver/CMakeLists.txt b/source/source_esolver/CMakeLists.txt index 281b2e8b55..787982d555 100644 --- a/source/source_esolver/CMakeLists.txt +++ b/source/source_esolver/CMakeLists.txt @@ -7,21 +7,21 @@ list(APPEND objects esolver_sdft_pw.cpp esolver_lj.cpp esolver_dp.cpp + esolver_nep.cpp esolver_of.cpp + esolver_of_tddft.cpp esolver_of_interface.cpp esolver_of_tool.cpp pw_others.cpp - pw_setup.cpp ) if(ENABLE_LCAO) list(APPEND objects esolver_ks_lcao.cpp esolver_ks_lcao_tddft.cpp - lcao_before_scf.cpp - lcao_after_scf.cpp esolver_gets.cpp lcao_others.cpp esolver_dm2rho.cpp + esolver_double_xc.cpp ) endif() diff --git a/source/source_esolver/esolver.cpp b/source/source_esolver/esolver.cpp index 0fd1e524fa..2d89673313 100644 --- a/source/source_esolver/esolver.cpp +++ b/source/source_esolver/esolver.cpp @@ -6,6 +6,7 @@ #include "source_io/module_parameter/parameter.h" #ifdef __LCAO #include "esolver_dm2rho.h" +#include "esolver_double_xc.h" #include "esolver_gets.h" #include "esolver_ks_lcao.h" #include "esolver_ks_lcao_tddft.h" @@ -17,8 +18,10 @@ extern "C" } #endif #include "esolver_dp.h" +#include "esolver_nep.h" #include "esolver_lj.h" #include "esolver_of.h" +#include "esolver_of_tddft.h" #include "source_io/module_parameter/md_parameter.h" #include @@ -39,6 +42,10 @@ std::string determine_type() { esolver_type = "ofdft"; } + else if (PARAM.inp.esolver_type == "tdofdft") + { + esolver_type = "tdofdft"; + } else if (PARAM.inp.esolver_type == "ksdft") { esolver_type = "ksdft_pw"; @@ -91,6 +98,10 @@ std::string determine_type() { esolver_type = "dp_pot"; } + else if (PARAM.inp.esolver_type == "nep") + { + esolver_type = "nep_pot"; + } else if (esolver_type == "none") { ModuleBase::WARNING_QUIT("ESolver", "No such esolver_type combined with basis_type"); @@ -107,14 +118,8 @@ std::string determine_type() c = std::toupper(c); } } - if (GlobalV::MY_RANK == 0) - { - std::cout << " RUNNING WITH DEVICE : " << device_info << " / " - << base_device::information::get_device_info(PARAM.inp.device) << std::endl; - } - - GlobalV::ofs_running << "\n RUNNING WITH DEVICE : " << device_info << " / " - << base_device::information::get_device_info(PARAM.inp.device) << std::endl; + base_device::information::output_device_info(std::cout); + base_device::information::output_device_info(GlobalV::ofs_running); /***auto end_time = std::chrono::high_resolution_clock::now(); auto duration = std::chrono::duration_cast>(end_time - start_time); std::cout << "hipGetDeviceInfo took " << duration.count() << " seconds" << std::endl;***/ @@ -201,26 +206,45 @@ ESolver* init_esolver(const Input_para& inp, UnitCell& ucell) return new ESolver_GetS(); } } - if (PARAM.globalv.gamma_only_local) + else if (PARAM.inp.deepks_out_base != "none") { - return new ESolver_KS_LCAO(); + if (PARAM.globalv.gamma_only_local) + { + return new ESolver_DoubleXC(); + } + else if (PARAM.inp.nspin < 4) + { + return new ESolver_DoubleXC, double>(); + } + else + { + return new ESolver_DoubleXC, std::complex>(); + } } - else if (PARAM.inp.nspin < 4) + else if (PARAM.inp.dm_to_rho) { - if (PARAM.inp.dm_to_rho) + if (PARAM.globalv.gamma_only_local) + { + ModuleBase::WARNING_QUIT("ESolver", "dm_to_rho is not implemented for gamma_only"); + } + else if (PARAM.inp.nspin < 4) { return new ESolver_DM2rho, double>(); } else { - return new ESolver_KS_LCAO, double>(); + return new ESolver_DM2rho, std::complex>(); } } else { - if (PARAM.inp.dm_to_rho) + if (PARAM.globalv.gamma_only_local) { - return new ESolver_DM2rho, std::complex>(); + return new ESolver_KS_LCAO(); + } + else if (PARAM.inp.nspin < 4) + { + return new ESolver_KS_LCAO, double>(); } else { @@ -311,6 +335,10 @@ ESolver* init_esolver(const Input_para& inp, UnitCell& ucell) { return new ESolver_OF(); } + else if (esolver_type == "tdofdft") + { + return new ESolver_OF_TDDFT(); + } else if (esolver_type == "lj_pot") { return new ESolver_LJ(); @@ -319,6 +347,10 @@ ESolver* init_esolver(const Input_para& inp, UnitCell& ucell) { return new ESolver_DP(PARAM.mdp.pot_file); } + else if (esolver_type == "nep_pot") + { + return new ESolver_NEP(PARAM.mdp.pot_file); + } throw std::invalid_argument("esolver_type = " + std::string(esolver_type) + ". Wrong in " + std::string(__FILE__) + " line " + std::to_string(__LINE__)); } diff --git a/source/source_esolver/esolver.h b/source/source_esolver/esolver.h index 58238dcb1b..6716ea0c96 100644 --- a/source/source_esolver/esolver.h +++ b/source/source_esolver/esolver.h @@ -17,6 +17,9 @@ class ESolver virtual ~ESolver() { + //**************************************************** + // do not add any codes in this deconstructor funcion + //**************************************************** } //! initialize the energy solver by using input parameters and cell modules diff --git a/source/source_esolver/esolver_dm2rho.cpp b/source/source_esolver/esolver_dm2rho.cpp index 07b458206e..84e6da5141 100644 --- a/source/source_esolver/esolver_dm2rho.cpp +++ b/source/source_esolver/esolver_dm2rho.cpp @@ -10,6 +10,7 @@ #include "source_io/cube_io.h" #include "source_io/io_npz.h" #include "source_io/print_info.h" +#include "source_lcao/rho_tau_lcao.h" // mohan add 2025-10-24 namespace ModuleESolver { @@ -47,19 +48,20 @@ void ESolver_DM2rho::runner(UnitCell& ucell, const int istep) // file name of DM std::string zipname = "output_DM0.npz"; - elecstate::DensityMatrix* dm = dynamic_cast*>(this->pelec)->get_DM(); // read DM from file - ModuleIO::read_mat_npz(&(this->pv), ucell, zipname, *(dm->get_DMR_pointer(1))); + ModuleIO::read_mat_npz(&(this->pv), ucell, zipname, *(this->dmat.dm->get_DMR_pointer(1))); // if nspin=2, need extra reading if (PARAM.inp.nspin == 2) { zipname = "output_DM1.npz"; - ModuleIO::read_mat_npz(&(this->pv), ucell, zipname, *(dm->get_DMR_pointer(2))); + ModuleIO::read_mat_npz(&(this->pv), ucell, zipname, *(this->dmat.dm->get_DMR_pointer(2))); } - this->pelec->psiToRho(*this->psi); + // it's dangerous to design psiToRho function like this, mohan note 20251024 + // this->pelec->psiToRho(*this->psi); + LCAO_domain::dm2rho(this->dmat.dm->get_DMR_vector(), PARAM.inp.nspin, &this->chr); int nspin0 = PARAM.inp.nspin == 2 ? 2 : 1; diff --git a/source/source_esolver/esolver_double_xc.cpp b/source/source_esolver/esolver_double_xc.cpp new file mode 100644 index 0000000000..94ad1e209f --- /dev/null +++ b/source/source_esolver/esolver_double_xc.cpp @@ -0,0 +1,421 @@ +#include "esolver_double_xc.h" +#include "source_hamilt/module_xc/xc_functional.h" +#include "source_hamilt/module_ewald/H_Ewald_pw.h" +#include "source_hamilt/module_vdw/vdw.h" +#ifdef __MLALGO +#include "source_lcao/module_deepks/LCAO_deepks.h" +#include "source_lcao/module_deepks/LCAO_deepks_interface.h" +#endif +#include "source_lcao/FORCE_STRESS.h" + +//-----HSolver ElecState Hamilt-------- +#include "source_estate/elecstate_lcao.h" +#include "source_estate/elecstate_tools.h" +#include "source_lcao/hamilt_lcao.h" +#include "source_hsolver/hsolver_lcao.h" +#include "source_io/module_parameter/parameter.h" +#include "source_io/write_HS.h" // use ModuleIO::write_hsk() +#include "source_lcao/setup_deepks.h" // use deepks, mohan add 2025-10-10 + +namespace ModuleESolver +{ + +template +ESolver_DoubleXC::ESolver_DoubleXC() +{ + this->classname = "ESolver_DoubleXC"; + this->basisname = "LCAO"; +} + +template +ESolver_DoubleXC::~ESolver_DoubleXC() +{ + delete this->psi_base; + delete this->p_hamilt_base; + delete this->pelec_base; +} + +template +void ESolver_DoubleXC::before_all_runners(UnitCell& ucell, const Input_para& inp) +{ + ModuleBase::TITLE("ESolver_DoubleXC", "before_all_runners"); + ModuleBase::timer::tick("ESolver_DoubleXC", "before_all_runners"); + + ESolver_KS_LCAO::before_all_runners(ucell, inp); + + // init some items for base functional + + // 2) init ElecState + if (this->pelec_base == nullptr) + { + this->pelec_base = new elecstate::ElecStateLCAO(&(this->chr_base), // use which parameter? + &(this->kv), + this->kv.get_nks(), + this->pw_big); + } + + // 4) initialize electronic wave function psi + if (this->psi_base == nullptr) + { + int nsk = 0; + int ncol = 0; + if (PARAM.globalv.gamma_only_local) + { + nsk = PARAM.inp.nspin; + ncol = this->pv.ncol_bands; + if (PARAM.inp.ks_solver == "genelpa" || PARAM.inp.ks_solver == "elpa" || PARAM.inp.ks_solver == "lapack" + || PARAM.inp.ks_solver == "pexsi" || PARAM.inp.ks_solver == "cusolver" + || PARAM.inp.ks_solver == "cusolvermp") + { + ncol = this->pv.ncol; + } + } + else + { + nsk = this->kv.get_nks(); +#ifdef __MPI + ncol = this->pv.ncol_bands; +#else + ncol = PARAM.inp.nbands; +#endif + } + this->psi_base = new psi::Psi(nsk, ncol, this->pv.nrow, this->kv.ngk, true); + } + + // 6) initialize the density matrix + this->dmat_base.allocate_dm(&this->kv, &this->pv, PARAM.inp.nspin); + + // 10) inititlize the charge density + this->chr_base.set_rhopw(this->pw_rhod); // mohan add 20251130 + const bool kin_den = this->chr_base.kin_density(); // mohan add 20251202 + this->chr_base.allocate(PARAM.inp.nspin, kin_den); + this->chr_base.init_rho(ucell, this->Pgrid, this->sf.strucFac, ucell.symm, &this->kv); + this->chr_base.check_rho(); + + // 11) initialize the potential + if (this->pelec_base->pot == nullptr) + { + this->pelec_base->pot = new elecstate::Potential(this->pw_rhod, + this->pw_rho, + &ucell, + &(this->locpp.vloc), + &(this->sf), + &(this->solvent), + &(this->pelec_base->f_en.etxc), + &(this->pelec_base->f_en.vtxc)); + } + + ModuleBase::timer::tick("ESolver_DoubleXC", "before_all_runners"); +} + +template +void ESolver_DoubleXC::before_scf(UnitCell& ucell, const int istep) +{ + ModuleBase::TITLE("ESolver_DoubleXC", "before_scf"); + ModuleBase::timer::tick("ESolver_DoubleXC", "before_scf"); + + ESolver_KS_LCAO::before_scf(ucell, istep); + + //---------------------------------------------------------- + //! calculate D2 or D3 vdW + //---------------------------------------------------------- + auto vdw_solver = vdw::make_vdw(ucell, PARAM.inp, &(GlobalV::ofs_running)); + if (vdw_solver != nullptr) + { + this->pelec_base->f_en.evdw = vdw_solver->get_energy(); + } + + //---------------------------------------------------------- + //! calculate ewald energy + //---------------------------------------------------------- + if (!PARAM.inp.test_skip_ewald) + { + //this->pelec_base->f_en.ewald_energy = H_Ewald_pw::compute_ewald(ucell, this->pw_rhod, this->sf.strucFac); + this->pelec_base->f_en.ewald_energy = this->pelec->f_en.ewald_energy; + } + + if (this->p_hamilt_base != nullptr) + { + delete this->p_hamilt_base; + this->p_hamilt_base = nullptr; + } + if (this->p_hamilt_base == nullptr) + { + this->p_hamilt_base = new hamilt::HamiltLCAO( + ucell, + this->gd, + &this->pv, + this->pelec_base->pot, + this->kv, + this->two_center_bundle_, + this->orb_, + this->dmat_base.dm, + &this->dftu, + this->deepks, + istep, + this->exx_nao); + } + + XC_Functional::set_xc_type(PARAM.inp.deepks_out_base); + this->pelec_base->init_scf(ucell, this->Pgrid, this->sf.strucFac, this->locpp.numeric, ucell.symm); + XC_Functional::set_xc_type(ucell.atoms[0].ncpp.xc_func); + + // DMR should be same size with Hamiltonian(R) + this->dmat_base.dm->init_DMR(*(dynamic_cast*>(this->p_hamilt_base)->getHR())); + + if (istep > 0) + { + this->dmat_base.dm->cal_DMR(); + } + + ModuleBase::timer::tick("ESolver_DoubleXC", "before_scf"); + return; +} + +template +void ESolver_DoubleXC::iter_finish(UnitCell& ucell, const int istep, int& iter, bool& conv_esolver) +{ + ModuleBase::TITLE("ESolver_DoubleXC", "iter_finish"); + ModuleBase::timer::tick("ESolver_DoubleXC", "iter_finish"); + + bool output_iter = PARAM.inp.deepks_out_labels >0 && PARAM.inp.deepks_out_freq_elec && + (iter % PARAM.inp.deepks_out_freq_elec == 0); + + if ( output_iter ) + { + // save output charge density (density after diagnonalization) + for (int is = 0; is < PARAM.inp.nspin; is++) + { + ModuleBase::GlobalFunc::DCOPY(this->chr.rho[is], this->chr_base.rho[is], this->chr.rhopw->nrxx); + if (XC_Functional::get_ked_flag()) + { + ModuleBase::GlobalFunc::DCOPY(this->chr.kin_r[is], this->chr_base.kin_r[is], this->chr.rhopw->nrxx); + } + } + } + + ESolver_KS_LCAO::iter_finish(ucell, istep, iter, conv_esolver); + + // for deepks, output labels during electronic steps (after conv_esolver is renewed) + if ( output_iter) + { + // ---------- update etot and htot ---------- + // get etot of output charge density, now the etot is of density after charge mixing + this->pelec->pot->update_from_charge(&this->chr_base, &ucell); + this->pelec->f_en.descf = 0.0; + this->pelec->cal_energies(2); + // std::cout<<"in deepks etot------"<pelec->f_en.print_all(); + // std::cout<<"in deepks etot------"<pelec->f_en.etot << std::endl; + + // update p_hamilt using output charge density + // Note!!! + // This will change the result of out_mat_hs + // The original result of out_mat_hs is H of input density, but this change H to that of output density + // When converged, these two should be close + if (PARAM.inp.deepks_v_delta > 0 && PARAM.inp.vl_in_h) + { + // update real space Hamiltonian + this->p_hamilt->refresh(); + } + +#ifdef __MLALGO + // ---------- output tot and precalc ---------- + hamilt::HamiltLCAO* p_ham_deepks = dynamic_cast*>(this->p_hamilt); + std::shared_ptr> ld_shared_ptr(&this->deepks.ld, [](LCAO_Deepks*) {}); + LCAO_Deepks_Interface deepks_interface(ld_shared_ptr); + + deepks_interface.out_deepks_labels(this->pelec->f_en.etot, + this->kv.get_nks(), + ucell.nat, + PARAM.globalv.nlocal, + this->pelec->ekb, + this->kv.kvec_d, + ucell, + this->orb_, + this->gd, + &(this->pv), + *(this->psi), + this->dmat.dm, + p_ham_deepks, + iter, + conv_esolver, + GlobalV::MY_RANK, + GlobalV::ofs_running); +#endif + + // restore to density after charge mixing + this->pelec->pot->update_from_charge(&this->chr, &ucell); + + // ---------- prepare for base ---------- + // set as base functional Temporarily + XC_Functional::set_xc_type(PARAM.inp.deepks_out_base); + + // update pot of pelec_base according to chr_base + if (!conv_esolver) + { + this->pelec_base->pot->update_from_charge(&this->chr_base, &ucell); + } + else + { + this->pelec_base->cal_converged(); + } + + // ---------- e_base ---------- + // ebase use the same output density with etot, just different in xc + this->pelec_base->f_en.eband = this->pelec->f_en.eband; + this->pelec_base->f_en.deband = this->pelec->f_en.deband; + this->pelec_base->f_en.demet = this->pelec->f_en.demet; + this->pelec_base->f_en.descf = 0.0; // set descf to 0 + this->pelec_base->cal_energies(2); // 2 means Kohn-Sham functional + // std::cout<<"in double_xc------"<pelec_base->f_en.print_all(); + // std::cout<<"in double_xc------"<f_en.etot << std::endl; + +#ifdef __MLALGO + const std::string file_ebase = deepks_interface.get_filename("ebase", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_npy_e(pelec_base->f_en.etot, file_ebase, GlobalV::MY_RANK); +#endif + + // ---------- h_base ---------- + if (PARAM.inp.deepks_v_delta > 0) + { + if (PARAM.inp.vl_in_h) + { + // update real space Hamiltonian + this->p_hamilt_base->refresh(); + } + + // Note!!! + // should not use ModuleIO::write_hsk() to output h_base, because it will call get_hs_pointers() + // which will change the hsolver::DiagoElpa::DecomposedState, influencing the following SCF steps + +#ifdef __MLALGO + using TH = std::conditional_t::value, ModuleBase::matrix, ModuleBase::ComplexMatrix>; + hamilt::HamiltLCAO* p_ham_deepks_base = dynamic_cast*>(this->p_hamilt_base); + int nks = this->kv.get_nks(); + std::vector h_tot(nks); + DeePKS_domain::get_h_tot(this->pv, p_ham_deepks_base, h_tot, PARAM.globalv.nlocal, nks, 'H'); + + const std::string file_htot = deepks_interface.get_filename("hbase", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_npy_h(h_tot, file_htot, PARAM.globalv.nlocal, nks, GlobalV::MY_RANK); +#endif + } + + // ---------- o_base ---------- + if ( PARAM.inp.deepks_bandgap > 0 ) + { + // obase isn't implemented yet + // don't need to solve p_hamilt_base + // just dm*p_hamilt_base, similar to cal_o_delta + } + + // restore to original xc + XC_Functional::set_xc_type(ucell.atoms[0].ncpp.xc_func); + + } + // ---------- prepare for f_base ---------- + else if ( PARAM.inp.cal_force && conv_esolver ) + { + // vnew must be updated for force_scc() even if not output_iter + // set as base functional Temporarily + XC_Functional::set_xc_type(PARAM.inp.deepks_out_base); + this->pelec_base->cal_converged(); + // restore to original xc + XC_Functional::set_xc_type(ucell.atoms[0].ncpp.xc_func); + } + + if ( PARAM.inp.cal_force ) + { + if ( ! conv_esolver ) + { + // use chr after mixing to restore veff, useful for vnew when converged + this->pelec_base->pot->update_from_charge(&this->chr, &ucell); + } + else + { + // copy charge + for (int is = 0; is < PARAM.inp.nspin; is++) + { + ModuleBase::GlobalFunc::DCOPY(this->chr.rho[is], this->chr_base.rho[is], this->chr.rhopw->nrxx); + if (XC_Functional::get_ked_flag()) + { + ModuleBase::GlobalFunc::DCOPY(this->chr.kin_r[is], this->chr_base.kin_r[is], this->chr.rhopw->nrxx); + } + } + + // copy dm + int nks = this->kv.get_nks(); + auto _pes_lcao_base = dynamic_cast*>(this->pelec_base); + auto _pes_lcao = dynamic_cast*>(this->pelec); + for (int ik = 0; ik < nks; ik++) + { +// mohan update 2025-11-03 + this->dmat_base.dm->set_DMK_pointer(ik, this->dmat.dm->get_DMK_pointer(ik)); +// _pes_lcao_base->get_DM()->set_DMK_pointer(ik, _pes_lcao->get_DM()->get_DMK_pointer(ik)); + } + this->dmat_base.dm->cal_DMR(); +// _pes_lcao_base->get_DM()->cal_DMR(); + _pes_lcao_base->ekb = _pes_lcao->ekb; + _pes_lcao_base->wg = _pes_lcao->wg; + } + } + ModuleBase::timer::tick("ESolver_DoubleXC", "iter_finish"); +} + +template +void ESolver_DoubleXC::cal_force(UnitCell& ucell, ModuleBase::matrix& force) +{ + ModuleBase::TITLE("ESolver_DoubleXC", "cal_force"); + ModuleBase::timer::tick("ESolver_DoubleXC", "cal_force"); + + ModuleBase::matrix force_base; + ModuleBase::matrix stress_base; + + Force_Stress_LCAO fsl(this->RA, ucell.nat); + + // set as base functional Temporarily + XC_Functional::set_xc_type(PARAM.inp.deepks_out_base); + + this->deepks.dpks_out_type = "base"; // for deepks method + + fsl.getForceStress(ucell, + PARAM.inp.cal_force, + PARAM.inp.cal_stress, + PARAM.inp.test_force, + PARAM.inp.test_stress, + this->gd, + this->pv, + this->pelec_base, + this->dmat_base, // mohan add 2025-11-03 + this->psi, + this->two_center_bundle_, + this->orb_, + force_base, + stress_base, + this->locpp, + this->sf, + this->kv, + this->pw_rho, + this->solvent, + this->dftu, + this->deepks, + this->exx_nao, + &ucell.symm); + + // restore to original xc + XC_Functional::set_xc_type(ucell.atoms[0].ncpp.xc_func); + + // this will delete RA, so call it later + ESolver_KS_LCAO::cal_force(ucell, force); + + ModuleBase::timer::tick("ESolver_DoubleXC", "cal_force"); +} + +template class ESolver_DoubleXC; +template class ESolver_DoubleXC, double>; +template class ESolver_DoubleXC, std::complex>; + +} // namespace ModuleESolver diff --git a/source/source_esolver/esolver_double_xc.h b/source/source_esolver/esolver_double_xc.h new file mode 100644 index 0000000000..bff9e28bc7 --- /dev/null +++ b/source/source_esolver/esolver_double_xc.h @@ -0,0 +1,42 @@ +#ifndef ESOLVER_DOUBLE_XC_H +#define ESOLVER_DOUBLE_XC_H + +#include "source_esolver/esolver_ks_lcao.h" + +namespace ModuleESolver +{ +// used in deepks, run target and base xc functional simultaneously +template +class ESolver_DoubleXC : public ESolver_KS_LCAO +{ + public: + ESolver_DoubleXC(); + ~ESolver_DoubleXC(); + + void before_all_runners(UnitCell& ucell, const Input_para& inp) override; + + void cal_force(UnitCell& ucell, ModuleBase::matrix& force) override; + + protected: + + void before_scf(UnitCell& ucell, const int istep) override; + + void iter_finish(UnitCell& ucell, const int istep, int& iter, bool& conv_esolver) override; + + //! Hamiltonian + hamilt::Hamilt* p_hamilt_base = nullptr; + + //! Electronic wavefunctions + psi::Psi* psi_base = nullptr; + + //! Electronic states + elecstate::ElecState* pelec_base = nullptr; + + //! Density Matrix, mohan add 2025-11-03 + LCAO_domain::Setup_DM dmat_base; + + //! Electorn charge density + Charge chr_base; +}; +} // namespace ModuleESolver +#endif diff --git a/source/source_esolver/esolver_fp.cpp b/source/source_esolver/esolver_fp.cpp index 97680ba8d0..44596c99e5 100644 --- a/source/source_esolver/esolver_fp.cpp +++ b/source/source_esolver/esolver_fp.cpp @@ -1,27 +1,23 @@ #include "esolver_fp.h" -#include "source_base/global_variable.h" #include "source_estate/cal_ux.h" #include "source_estate/module_charge/symmetry_rho.h" #include "source_estate/read_pseudo.h" #include "source_hamilt/module_ewald/H_Ewald_pw.h" #include "source_hamilt/module_vdw/vdw.h" -#include "source_pw/module_pwdft/global.h" #include "source_io/cif_io.h" -#include "source_io/cube_io.h" +#include "source_io/cube_io.h" // use write_vdata_palgrid #include "source_io/json_output/init_info.h" #include "source_io/json_output/output_info.h" #include "source_io/output_log.h" #include "source_io/print_info.h" #include "source_io/rhog_io.h" -#include "source_io/write_elecstat_pot.h" -#include "source_io/write_elf.h" #include "source_io/module_parameter/parameter.h" -#include "source_cell/k_vector_utils.h" -#ifdef USE_LIBXC -#include "source_io/write_libxc_r.h" -#endif +#include "source_pw/module_pwdft/setup_pwrho.h" // mohan 20251005 +#include "source_hamilt/module_xc/xc_functional.h" // mohan 20251005 +#include "source_io/ctrl_output_fp.h" +#include "source_io/write_init.h" // write_chg_init, write_pot_init namespace ModuleESolver { @@ -32,250 +28,90 @@ ESolver_FP::ESolver_FP() ESolver_FP::~ESolver_FP() { - if (pw_rho_flag == true) - { - delete this->pw_rho; - this->pw_rho_flag = false; - } - if (PARAM.globalv.double_grid) - { - delete pw_rhod; - } - delete this->pelec; + //**************************************************** + // do not add any codes in this deconstructor funcion + //**************************************************** + // mohan add 20251005 + pw::teardown_pwrho(this->pw_rho_flag, PARAM.globalv.double_grid, this->pw_rho, this->pw_rhod); + + delete this->pelec; } void ESolver_FP::before_all_runners(UnitCell& ucell, const Input_para& inp) { ModuleBase::TITLE("ESolver_FP", "before_all_runners"); - std::string fft_device = inp.device; - std::string fft_precison = inp.precision; - // LCAO basis doesn't support GPU acceleration on FFT currently - if(inp.basis_type == "lcao") - { - fft_device = "cpu"; - } - if ((inp.precision=="single") || (inp.precision=="mixing")) - { - fft_precison = "mixing"; - } - else if (inp.precision=="double") - { - fft_precison = "double"; - } - #if (not defined(__ENABLE_FLOAT_FFTW) and (defined(__CUDA) || defined(__RCOM))) - if (fft_device == "gpu") - { - fft_precison = "double"; - } - #endif - pw_rho = new ModulePW::PW_Basis_Big(fft_device, fft_precison); - pw_rho_flag = true; - if (PARAM.globalv.double_grid) - { - pw_rhod = new ModulePW::PW_Basis_Big(fft_device, fft_precison); - } - else - { - pw_rhod = pw_rho; - } - pw_big = static_cast(pw_rhod); - pw_big->setbxyz(inp.bx, inp.by, inp.bz); - sf.set(pw_rhod, inp.nbspline); //! 1) read pseudopotentials elecstate::read_pseudo(GlobalV::ofs_running, ucell); - //! 2) initialie the plane wave basis for rho -#ifdef __MPI - this->pw_rho->initmpi(GlobalV::NPROC_IN_POOL, GlobalV::RANK_IN_POOL, POOL_WORLD); -#endif - if (this->classname == "ESolver_OF" || inp.of_ml_gene_data == 1) - { - this->pw_rho->setfullpw(inp.of_full_pw, inp.of_full_pw_dim); - } + //! 2) setup pw_rho, pw_rhod, pw_big, sf, and read_pseudopotentials + pw::setup_pwrho(ucell, PARAM.globalv.double_grid, this->pw_rho_flag, + this->pw_rho, this->pw_rhod, this->pw_big, this->classname, inp); - if (inp.nx * inp.ny * inp.nz == 0) - { - this->pw_rho->initgrids(inp.ref_cell_factor * ucell.lat0, ucell.latvec, 4.0 * inp.ecutwfc); - } - else - { - this->pw_rho->initgrids(inp.ref_cell_factor * ucell.lat0, ucell.latvec, inp.nx, inp.ny, inp.nz); - } + //! 3) setup structure factors + this->sf.set(this->pw_rhod, inp.nbspline); + + //! 4) write geometry file + ModuleIO::CifParser::write(PARAM.globalv.global_out_dir + "STRU.cif", + ucell, "# Generated by ABACUS ModuleIO::CifParser", "data_?"); - this->pw_rho->initparameters(false, 4.0 * inp.ecutwfc); - this->pw_rho->fft_bundle.initfftmode(inp.fft_mode); - this->pw_rho->setuptransform(); - this->pw_rho->collect_local_pw(); - this->pw_rho->collect_uniqgg(); + //! 5) init charge extrapolation + this->CE.Init_CE(inp.nspin, ucell.nat, this->pw_rhod->nrxx, inp.chg_extrap); - //! 3) initialize the double grid (for uspp) if necessary - if ( PARAM.globalv.double_grid) + //! 6) symmetry analysis should be performed every time the cell is changed + if (ModuleSymmetry::Symmetry::symm_flag == 1) { - ModulePW::PW_Basis_Sup* pw_rhod_sup = static_cast(pw_rhod); -#ifdef __MPI - this->pw_rhod->initmpi(GlobalV::NPROC_IN_POOL, GlobalV::RANK_IN_POOL, POOL_WORLD); -#endif - if (this->classname == "ESolver_OF") - { - this->pw_rhod->setfullpw(inp.of_full_pw, inp.of_full_pw_dim); - } - if (inp.ndx * inp.ndy * inp.ndz == 0) - { - this->pw_rhod->initgrids(inp.ref_cell_factor * ucell.lat0, ucell.latvec, inp.ecutrho); - } - else - { - this->pw_rhod->initgrids(inp.ref_cell_factor * ucell.lat0, ucell.latvec, inp.ndx, inp.ndy, inp.ndz); - } - this->pw_rhod->initparameters(false, inp.ecutrho); - this->pw_rhod->fft_bundle.initfftmode(inp.fft_mode); - pw_rhod_sup->setuptransform(this->pw_rho); - this->pw_rhod->collect_local_pw(); - this->pw_rhod->collect_uniqgg(); + ucell.symm.analy_sys(ucell.lat, ucell.st, ucell.atoms, GlobalV::ofs_running); + ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "SYMMETRY"); } - ModuleIO::CifParser::write(PARAM.globalv.global_out_dir + "STRU.cif", - ucell, - "# Generated by ABACUS ModuleIO::CifParser", - "data_?"); - //! 4) print some information - ModuleIO::print_rhofft(this->pw_rhod, this->pw_rho, this->pw_big, GlobalV::ofs_running); + ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "SETUP UNITCELL"); + + //! 7) setup k points in the Brillouin zone according to symmetry. + this->kv.set(ucell,ucell.symm, inp.kpoint_file, inp.nspin, ucell.G, ucell.latvec, GlobalV::ofs_running); + ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT K-POINTS"); + + //! 8) print information + ModuleIO::print_parameters(ucell, this->kv, inp); + + //! 9) parallel of FFT grid + this->Pgrid.init(this->pw_rhod->nx, this->pw_rhod->ny, this->pw_rhod->nz, + this->pw_rhod->nplane, this->pw_rhod->nrxx, pw_big->nbz, pw_big->bz); + + //! 10) calculate the structure factor + this->sf.setup(&ucell, Pgrid, this->pw_rhod); + + //! 11) setup the xc functional + XC_Functional::set_xc_type(ucell.atoms[0].ncpp.xc_func); + GlobalV::ofs_running<chr.set_rhopw(this->pw_rhod); // mohan add 20251130 + const bool kin_den = this->chr.kin_density(); // mohan add 20251202 + this->chr.allocate(inp.nspin, kin_den); // mohan move this from setup_estate_pw, 20251128 - //! 5) initialize the charge extrapolation method if necessary - this->CE.Init_CE(inp.nspin, ucell.nat, this->pw_rhod->nrxx, inp.chg_extrap); return; } -//! Something to do after SCF iterations when SCF is converged or comes to the max iter step. void ESolver_FP::after_scf(UnitCell& ucell, const int istep, const bool conv_esolver) { ModuleBase::TITLE("ESolver_FP", "after_scf"); - // 1) output convergence information + //! Output convergence information ModuleIO::output_convergence_after_scf(conv_esolver, this->pelec->f_en.etot); - // 2) write fermi energy + //! Write Fermi energy ModuleIO::output_efermi(conv_esolver, this->pelec->eferm.ef); - // 3) update delta_rho for charge extrapolation + //! Update delta_rho for charge extrapolation CE.update_delta_rho(ucell, &(this->chr), &(this->sf)); - if (istep % PARAM.inp.out_interval == 0) - { - // 4) write charge density - if (PARAM.inp.out_chg[0] > 0) - { - for (int is = 0; is < PARAM.inp.nspin; is++) - { - this->pw_rhod->real2recip(this->chr.rho_save[is], this->chr.rhog_save[is]); - std::string fn =PARAM.globalv.global_out_dir + "/chgs" + std::to_string(is + 1) + ".cube"; - ModuleIO::write_vdata_palgrid(Pgrid, - this->chr.rho_save[is], - is, - PARAM.inp.nspin, - istep, - fn, - this->pelec->eferm.get_efval(is), - &(ucell), - PARAM.inp.out_chg[1], - 1); - - if (XC_Functional::get_ked_flag()) - { - fn =PARAM.globalv.global_out_dir + "/taus" + std::to_string(is + 1) + ".cube"; - ModuleIO::write_vdata_palgrid(Pgrid, - this->chr.kin_r_save[is], - is, - PARAM.inp.nspin, - istep, - fn, - this->pelec->eferm.get_efval(is), - &(ucell)); - } - } - } - - // 5) write potential - if (PARAM.inp.out_pot == 1 || PARAM.inp.out_pot == 3) - { - for (int is = 0; is < PARAM.inp.nspin; is++) - { - std::string fn =PARAM.globalv.global_out_dir + "/pots" + std::to_string(is + 1) + ".cube"; - - ModuleIO::write_vdata_palgrid(Pgrid, - this->pelec->pot->get_effective_v(is), - is, - PARAM.inp.nspin, - istep, - fn, - 0.0, // efermi - &(ucell), - 3, // precision - 0); // out_fermi - } - } - else if (PARAM.inp.out_pot == 2) - { - std::string fn =PARAM.globalv.global_out_dir + "/pot_es.cube"; - ModuleIO::write_elecstat_pot( -#ifdef __MPI - this->pw_big->bz, - this->pw_big->nbz, -#endif - fn, - istep, - this->pw_rhod, - &this->chr, - &(ucell), - this->pelec->pot->get_fixed_v(), - this->solvent); - } + //! print out charge density, potential, elf, etc. + ModuleIO::ctrl_output_fp(ucell, this->pelec, this->pw_big, this->pw_rhod, + this->chr, this->solvent, this->Pgrid, istep); - // 6) write ELF - if (PARAM.inp.out_elf[0] > 0) - { - this->chr.cal_elf = true; - Symmetry_rho srho; - for (int is = 0; is < PARAM.inp.nspin; is++) - { - srho.begin(is, this->chr, this->pw_rhod, ucell.symm); - } - - std::string out_dir =PARAM.globalv.global_out_dir; - ModuleIO::write_elf( -#ifdef __MPI - this->pw_big->bz, - this->pw_big->nbz, -#endif - out_dir, - istep, - PARAM.inp.nspin, - this->chr.rho, - this->chr.kin_r, - this->pw_rhod, - this->Pgrid, - &(ucell), - PARAM.inp.out_elf[1]); - } - -#ifdef USE_LIBXC - // 7) write xc(r) - if(PARAM.inp.out_xc_r[0]>=0) - { - ModuleIO::write_libxc_r( - PARAM.inp.out_xc_r[0], - XC_Functional::get_func_id(), - this->pw_rhod->nrxx, // number of real-space grid - ucell.omega, // volume of cell - ucell.tpiba, - this->chr, - *this->pw_big, - *this->pw_rhod); - } -#endif - } } void ESolver_FP::before_scf(UnitCell& ucell, const int istep) @@ -303,8 +139,6 @@ void ESolver_FP::before_scf(UnitCell& ucell, const int istep) this->locpp.init_vloc(ucell, this->pw_rhod); ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "LOCAL POTENTIAL"); - this->pelec->omega = ucell.omega; - // perform symmetry analysis if (ModuleSymmetry::Symmetry::symm_flag == 1) { @@ -317,90 +151,40 @@ void ESolver_FP::before_scf(UnitCell& ucell, const int istep) ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT K-POINTS"); } - //---------------------------------------------------------- // charge extrapolation - //---------------------------------------------------------- if (ucell.ionic_position_updated) { this->CE.update_all_dis(ucell); - this->CE.extrapolate_charge(&this->Pgrid, - ucell, - &this->chr, - &this->sf, - GlobalV::ofs_running, - GlobalV::ofs_warning); + this->CE.extrapolate_charge(&this->Pgrid, ucell, &this->chr, &this->sf, + GlobalV::ofs_running, GlobalV::ofs_warning); } - //---------------------------------------------------------- //! calculate D2 or D3 vdW - //---------------------------------------------------------- auto vdw_solver = vdw::make_vdw(ucell, PARAM.inp, &(GlobalV::ofs_running)); if (vdw_solver != nullptr) { this->pelec->f_en.evdw = vdw_solver->get_energy(); } - //---------------------------------------------------------- //! calculate ewald energy - //---------------------------------------------------------- if (!PARAM.inp.test_skip_ewald) { this->pelec->f_en.ewald_energy = H_Ewald_pw::compute_ewald(ucell, this->pw_rhod, this->sf.strucFac); } - //---------------------------------------------------------- //! set direction of magnetism, used in non-collinear case - //---------------------------------------------------------- elecstate::cal_ux(ucell); - //---------------------------------------------------------- - //! output the initial charge density - //---------------------------------------------------------- - if (PARAM.inp.out_chg[0] == 2) - { - for (int is = 0; is < PARAM.inp.nspin; is++) - { - std::stringstream ss; - ss << PARAM.globalv.global_out_dir << "/chgs" << is + 1 << "_ini.cube"; - ModuleIO::write_vdata_palgrid(this->Pgrid, - this->chr.rho[is], - is, - PARAM.inp.nspin, - istep, - ss.str(), - this->pelec->eferm.ef, - &(ucell)); - } - } - - //---------------------------------------------------------- - //! output total local potential of the initial charge density - //---------------------------------------------------------- - if (PARAM.inp.out_pot == 3) - { - for (int is = 0; is < PARAM.inp.nspin; is++) - { - std::stringstream ss; - ss << PARAM.globalv.global_out_dir << "pots" << is + 1 << "_ini.cube"; - ModuleIO::write_vdata_palgrid(this->Pgrid, - this->pelec->pot->get_effective_v(is), - is, - PARAM.inp.nspin, - istep, - ss.str(), - 0.0, // efermi - &(ucell), - 11, // precsion - 0); // out_fermi - } - } + //! output the initial charge density and potential + ModuleIO::write_chg_init(ucell, this->Pgrid, this->chr, this->pelec->eferm, istep, PARAM.inp); +// ModuleIO::write_pot_init(ucell, this->Pgrid, this->pelec, istep, PARAM.inp); return; } void ESolver_FP::iter_finish(UnitCell& ucell, const int istep, int& iter, bool& conv_esolver) { - //! output charge density + //! output charge density in G-space, or if available, kinetic energy density in G-space if (PARAM.inp.out_chg[0] != -1) { if (iter % PARAM.inp.out_freq_elec == 0 || iter == PARAM.inp.scf_nmax || conv_esolver) @@ -410,7 +194,7 @@ void ESolver_FP::iter_finish(UnitCell& ucell, const int istep, int& iter, bool& this->pw_rhod->real2recip(this->chr.rho_save[is], this->chr.rhog_save[is]); } ModuleIO::write_rhog(PARAM.globalv.global_out_dir + PARAM.inp.suffix + "-CHARGE-DENSITY.restart", - PARAM.globalv.gamma_only_pw || PARAM.globalv.gamma_only_local, + PARAM.globalv.gamma_only_pw, this->pw_rhod, PARAM.inp.nspin, ucell.GT, @@ -429,7 +213,7 @@ void ESolver_FP::iter_finish(UnitCell& ucell, const int istep, int& iter, bool& this->pw_rhod->real2recip(this->chr.kin_r_save[is], kin_g[is]); } ModuleIO::write_rhog(PARAM.globalv.global_out_dir + PARAM.inp.suffix + "-TAU-DENSITY.restart", - PARAM.globalv.gamma_only_pw || PARAM.globalv.gamma_only_local, + PARAM.globalv.gamma_only_pw, this->pw_rhod, PARAM.inp.nspin, ucell.GT, @@ -444,10 +228,12 @@ void ESolver_FP::iter_finish(UnitCell& ucell, const int istep, int& iter, bool& void ESolver_FP::after_all_runners(UnitCell& ucell) { + // print out the final total energy GlobalV::ofs_running << "\n --------------------------------------------" << std::endl; GlobalV::ofs_running << std::setprecision(16); GlobalV::ofs_running << " !FINAL_ETOT_IS " << this->pelec->f_en.etot * ModuleBase::Ry_to_eV << " eV" << std::endl; GlobalV::ofs_running << " --------------------------------------------\n\n" << std::endl; + } } // namespace ModuleESolver diff --git a/source/source_esolver/esolver_fp.h b/source/source_esolver/esolver_fp.h index fda47313bc..b2bb8f065e 100644 --- a/source/source_esolver/esolver_fp.h +++ b/source/source_esolver/esolver_fp.h @@ -7,26 +7,13 @@ #include #endif -//! plane wave basis -#include "source_basis/module_pw/pw_basis.h" - -//! symmetry analysis -#include "source_cell/module_symmetry/symmetry.h" - -//! electronic states -#include "source_estate/elecstate.h" - -//! charge extrapolation -#include "source_estate/module_charge/charge_extra.h" - -//! solvation model -#include "source_hamilt/module_surchem/surchem.h" - -//! local pseudopotential -#include "source_pw/module_pwdft/VL_in_pw.h" - -//! structure factor related to plane wave basis -#include "source_pw/module_pwdft/structure_factor.h" +#include "source_basis/module_pw/pw_basis.h" // plane wave basis +#include "source_cell/module_symmetry/symmetry.h" // symmetry analysis +#include "source_estate/elecstate.h" // electronic states +#include "source_estate/module_charge/charge_extra.h" // charge extrapolation +#include "source_hamilt/module_surchem/surchem.h" // solvation model +#include "source_pw/module_pwdft/VL_in_pw.h" // local pseudopotential +#include "source_pw/module_pwdft/structure_factor.h" // structure factor #include @@ -44,10 +31,8 @@ namespace ModuleESolver class ESolver_FP: public ESolver { public: - //! Constructor ESolver_FP(); - //! Deconstructor virtual ~ESolver_FP(); //! Initialize of the first-principels energy solver @@ -56,18 +41,13 @@ class ESolver_FP: public ESolver virtual void after_all_runners(UnitCell& ucell) override; protected: - //! Something to do before SCF iterations. virtual void before_scf(UnitCell& ucell, const int istep); - //! Something to do after SCF iterations when SCF is converged or comes to the max iter step. virtual void after_scf(UnitCell& ucell, const int istep, const bool conv_esolver); - //! Something to do after hamilt2rho function in each iter loop. virtual void iter_finish(UnitCell& ucell, const int istep, int& iter, bool &conv_esolver); - //! ------------------------------------------------------------------------------ //! These pointers will be deleted in the free_pointers() function every ion step. - //! ------------------------------------------------------------------------------ elecstate::ElecState* pelec = nullptr; ///< Electronic states //! K points in Brillouin zone @@ -100,7 +80,7 @@ class ESolver_FP: public ESolver //! solvent model surchem solvent; - int pw_rho_flag = false; ///< flag for pw_rho, 0: not initialized, 1: initialized + bool pw_rho_flag = false; ///< flag for pw_rho, 0: not initialized, 1: initialized //! the start time of scf iteration #ifdef __MPI diff --git a/source/source_esolver/esolver_gets.cpp b/source/source_esolver/esolver_gets.cpp index 300fd532b2..108b148f7e 100644 --- a/source/source_esolver/esolver_gets.cpp +++ b/source/source_esolver/esolver_gets.cpp @@ -43,7 +43,7 @@ void ESolver_GetS::before_all_runners(UnitCell& ucell, const Input_para& inp) this->kv.set(ucell, ucell.symm, inp.kpoint_file, inp.nspin, ucell.G, ucell.latvec, GlobalV::ofs_running); ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT K-POINTS"); - ModuleIO::setup_parameters(ucell, this->kv); + ModuleIO::print_parameters(ucell, this->kv, inp); // 2) init ElecState // autoset nbands in ElecState, it should before basis_init (for Psi 2d division) @@ -53,9 +53,6 @@ void ESolver_GetS::before_all_runners(UnitCell& ucell, const Input_para& inp) this->pelec = new elecstate::ElecStateLCAO>(&(this->chr), // use which parameter? &(this->kv), this->kv.get_nks(), - nullptr, // mohan add 2024-04-01 - nullptr, // mohan add 2024-04-01 - this->pw_rho, this->pw_big); } diff --git a/source/source_esolver/esolver_gets.h b/source/source_esolver/esolver_gets.h index a0d163ef4d..564fd55035 100644 --- a/source/source_esolver/esolver_gets.h +++ b/source/source_esolver/esolver_gets.h @@ -37,7 +37,7 @@ class ESolver_GetS : public ESolver_KS> TwoCenterBundle two_center_bundle_; - // temporary introduced during removing GlobalC::ORB + // temporary introduced LCAO_Orbitals orb_; }; } // namespace ModuleESolver diff --git a/source/source_esolver/esolver_ks.cpp b/source/source_esolver/esolver_ks.cpp index 12452cfd68..166e7b3fb9 100644 --- a/source/source_esolver/esolver_ks.cpp +++ b/source/source_esolver/esolver_ks.cpp @@ -1,49 +1,43 @@ #include "esolver_ks.h" -// To setup plane wave for electronic wave functions -#include "pw_setup.h" - -#include "source_base/timer.h" -#include "source_base/global_variable.h" -#include "source_pw/module_pwdft/global.h" -#include "source_io/module_parameter/parameter.h" -#include "source_lcao/module_dftu/dftu.h" - -#include "source_cell/cal_atoms_info.h" -#include "source_estate/elecstate_print.h" -#include "source_hamilt/module_xc/xc_functional.h" -#include "source_hsolver/hsolver.h" -#include "source_io/cube_io.h" - -// for NSCF calculations of band structures -#include "source_io/nscf_band.h" -// for output log information -#include "source_io/output_log.h" -#include "source_io/print_info.h" -#include "source_io/write_eig_occ.h" // for jason output information #include "source_io/json_output/init_info.h" #include "source_io/json_output/output_info.h" - +#include "source_estate/update_pot.h" // mohan add 20251016 +#include "source_estate/module_charge/chgmixing.h" // mohan add 20251018 +#include "source_pw/module_pwdft/setup_pwwfc.h" // mohan add 20251018 +#include "source_hsolver/hsolver.h" +#include "source_io/write_eig_occ.h" +#include "source_io/write_bands.h" +#include "source_hamilt/module_xc/xc_functional.h" +#include "source_io/output_log.h" // use write_head +#include "source_estate/elecstate_print.h" // print_etot +#include "source_io/print_info.h" // print_parameters +#include "source_psi/setup_psi.h" // mohan add 20251009 +#include "source_lcao/module_dftu/dftu.h" // mohan add 2025-11-07 namespace ModuleESolver { template -ESolver_KS::ESolver_KS() -{ -} +ESolver_KS::ESolver_KS(){} template ESolver_KS::~ESolver_KS() { - delete this->psi; - delete this->pw_wfc; + //**************************************************** + // do not add any codes in this deconstructor funcion + //**************************************************** + Setup_Psi::deallocate_psi(this->psi); + delete this->p_hamilt; delete this->p_chgmix; this->ppcell.release_memory(); + + // mohan add 2025-10-18, should be put int clean() function + pw::teardown_pwwfc(this->pw_wfc); } @@ -51,119 +45,44 @@ template void ESolver_KS::before_all_runners(UnitCell& ucell, const Input_para& inp) { ModuleBase::TITLE("ESolver_KS", "before_all_runners"); - //! 1) initialize "before_all_runniers" in ESolver_FP + + //! 1) setup "before_all_runniers" in ESolver_FP ESolver_FP::before_all_runners(ucell, inp); + //! 2) setup some parameters classname = "ESolver_KS"; basisname = ""; - scf_thr = inp.scf_thr; - scf_ene_thr = inp.scf_ene_thr; - maxniter = inp.scf_nmax; - niter = maxniter; - drho = 0.0; - - std::string fft_device = inp.device; - - // Fast Fourier Transform - // LCAO basis doesn't support GPU acceleration on FFT currently - if(inp.basis_type == "lcao") - { - fft_device = "cpu"; - } - std::string fft_precision = inp.precision; -#ifdef __ENABLE_FLOAT_FFTW - if (inp.cal_cond && inp.esolver_type == "sdft") - { - fft_precision = "mixing"; - } -#endif - - pw_wfc = new ModulePW::PW_Basis_K_Big(fft_device, fft_precision); - ModulePW::PW_Basis_K_Big* tmp = static_cast(pw_wfc); - - // should not use INPUT here, mohan 2024-05-12 - tmp->setbxyz(inp.bx, inp.by, inp.bz); - - ///---------------------------------------------------------- - /// charge mixing - ///---------------------------------------------------------- - p_chgmix = new Charge_Mixing(); - p_chgmix->set_rhopw(this->pw_rho, this->pw_rhod); + this->scf_thr = inp.scf_thr; + this->scf_ene_thr = inp.scf_ene_thr; + this->maxniter = inp.scf_nmax; + this->niter = maxniter; + this->drho = 0.0; // cell_factor this->ppcell.cell_factor = inp.cell_factor; - - //! 3) it has been established that - // xc_func is same for all elements, therefore - // only the first one if used - XC_Functional::set_xc_type(ucell.atoms[0].ncpp.xc_func); - - ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "SETUP UNITCELL"); - - //! 4) setup the charge mixing parameters - p_chgmix->set_mixing(inp.mixing_mode, - inp.mixing_beta, - inp.mixing_ndim, - inp.mixing_gg0, - inp.mixing_tau, - inp.mixing_beta_mag, - inp.mixing_gg0_mag, - inp.mixing_gg0_min, - inp.mixing_angle, - inp.mixing_dmr, - ucell.omega, - ucell.tpiba); - + //! 3) setup charge mixing + p_chgmix = new Charge_Mixing(); + p_chgmix->set_rhopw(this->pw_rho, this->pw_rhod); + p_chgmix->set_mixing(inp.mixing_mode, inp.mixing_beta, inp.mixing_ndim, + inp.mixing_gg0, inp.mixing_tau, inp.mixing_beta_mag, inp.mixing_gg0_mag, + inp.mixing_gg0_min, inp.mixing_angle, inp.mixing_dmr, ucell.omega, ucell.tpiba); p_chgmix->init_mixing(); - //! 5) ESolver depends on the Symmetry module - // symmetry analysis should be performed every time the cell is changed - if (ModuleSymmetry::Symmetry::symm_flag == 1) - { - ucell.symm.analy_sys(ucell.lat, ucell.st, ucell.atoms, GlobalV::ofs_running); - ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "SYMMETRY"); - } - - //! 6) Setup the k points according to symmetry. - this->kv.set(ucell,ucell.symm, inp.kpoint_file, inp.nspin, ucell.G, ucell.latvec, GlobalV::ofs_running); - ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT K-POINTS"); + //! 4) setup plane wave for electronic wave functions + pw::setup_pwwfc(inp, ucell, *this->pw_rho, this->kv, this->pw_wfc); - //! 7) print information - ModuleIO::setup_parameters(ucell, this->kv); - - //! 8) setup plane wave for electronic wave functions - ModuleESolver::pw_setup(inp, ucell, *this->pw_rho, this->kv, *this->pw_wfc); - - //! 9) initialize the real-space uniform grid for FFT and parallel - //! distribution of plane waves - Pgrid.init(this->pw_rhod->nx, - this->pw_rhod->ny, - this->pw_rhod->nz, - this->pw_rhod->nplane, - this->pw_rhod->nrxx, - pw_big->nbz, - pw_big->bz); - - //! 10) calculate the structure factor - this->sf.setup_structure_factor(&ucell, Pgrid, this->pw_rhod); + //! 5) read in charge density, mohan add 2025-11-28 + //! Inititlize the charge density. + this->chr.init_rho(ucell, this->Pgrid, this->sf.strucFac, ucell.symm, &this->kv, this->pw_wfc); + this->chr.check_rho(); // check the rho + } -//------------------------------------------------------------------------------ -//! the 5th function of ESolver_KS: hamilt2rho_single -//! mohan add 2024-05-11 -//------------------------------------------------------------------------------ template void ESolver_KS::hamilt2rho_single(UnitCell& ucell, const int istep, const int iter, const double ethr) -{ - ModuleBase::timer::tick(this->classname, "hamilt2rho_single"); - // Temporarily, before HSolver is constructed, it should be overrided by - // LCAO, PW, SDFT and TDDFT. - // After HSolver is constructed, LCAO, PW, SDFT should delete their own - // hamilt2rho_single() and use: - ModuleBase::timer::tick(this->classname, "hamilt2rho_single"); -} +{} template void ESolver_KS::hamilt2rho(UnitCell& ucell, const int istep, const int iter, const double ethr) @@ -172,20 +91,14 @@ void ESolver_KS::hamilt2rho(UnitCell& ucell, const int istep, const i this->hamilt2rho_single(ucell, istep, iter, diag_ethr); // 2) for MPI: STOGROUP? need to rewrite - // It may be changed when more clever parallel algorithm is - // put forward. - // When parallel algorithm for bands are adopted. Density will only be - // treated in the first group. - //(Different ranks should have abtained the same, but small differences - // always exist in practice.) + // It may be changed when more clever parallel algorithm is put forward. + // When parallel algorithm for bands are adopted. Density will only be treated in the first group. + //(Different ranks should have abtained the same, but small differences always exist in practice.) // Maybe in the future, density and wavefunctions should use different // parallel algorithms, in which they do not occupy all processors, for // example wavefunctions uses 20 processors while density uses 10. if (PARAM.globalv.ks_run) { - // double drho = this->estate.caldr2(); - // EState should be used after it is constructed. - drho = p_chgmix->get_drho(&this->chr, PARAM.inp.nelec); hsolver_error = 0.0; if (iter == 1 && PARAM.inp.calculation != "nscf") @@ -197,23 +110,16 @@ void ESolver_KS::hamilt2rho(UnitCell& ucell, const int istep, const i // so a more precise HSolver should be executed. if (hsolver_error > drho) { - diag_ethr = hsolver::reset_diag_ethr(GlobalV::ofs_running, - PARAM.inp.basis_type, - PARAM.inp.esolver_type, - PARAM.inp.precision, - hsolver_error, - drho, - diag_ethr, - PARAM.inp.nelec); + diag_ethr = hsolver::reset_diag_ethr(GlobalV::ofs_running, PARAM.inp.basis_type, + PARAM.inp.esolver_type, PARAM.inp.precision, hsolver_error, + drho, diag_ethr, PARAM.inp.nelec); this->hamilt2rho_single(ucell, istep, iter, diag_ethr); drho = p_chgmix->get_drho(&this->chr, PARAM.inp.nelec); hsolver_error = hsolver::cal_hsolve_error(PARAM.inp.basis_type, - PARAM.inp.esolver_type, - diag_ethr, - PARAM.inp.nelec); + PARAM.inp.esolver_type, diag_ethr, PARAM.inp.nelec); } } } @@ -225,38 +131,32 @@ void ESolver_KS::runner(UnitCell& ucell, const int istep) ModuleBase::TITLE("ESolver_KS", "runner"); ModuleBase::timer::tick(this->classname, "runner"); - //---------------------------------------------------------------- // 1) before_scf (electronic iteration loops) - //---------------------------------------------------------------- this->before_scf(ucell, istep); ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT SCF"); - //---------------------------------------------------------------- // 2) SCF iterations - //---------------------------------------------------------------- bool conv_esolver = false; this->niter = this->maxniter; this->diag_ethr = PARAM.inp.pw_diag_thr; + this->scf_nmax_flag = false; // mohan add 2025-09-21 for (int iter = 1; iter <= this->maxniter; ++iter) - { - //---------------------------------------------------------------- + { + if(iter == this->maxniter) + { + this->scf_nmax_flag=true; + } + // 3) initialization of SCF iterations - //---------------------------------------------------------------- this->iter_init(ucell, istep, iter); - //---------------------------------------------------------------- // 4) use Hamiltonian to obtain charge density - //---------------------------------------------------------------- this->hamilt2rho(ucell, istep, iter, diag_ethr); - //---------------------------------------------------------------- // 5) finish scf iterations - //---------------------------------------------------------------- this->iter_finish(ucell, istep, iter, conv_esolver); - //---------------------------------------------------------------- // 6) check convergence - //---------------------------------------------------------------- if (conv_esolver || this->oscillate_esolver) { this->niter = iter; @@ -268,9 +168,7 @@ void ESolver_KS::runner(UnitCell& ucell, const int istep) } } // end scf iterations - //---------------------------------------------------------------- // 7) after scf - //---------------------------------------------------------------- this->after_scf(ucell, istep, conv_esolver); ModuleBase::timer::tick(this->classname, "runner"); @@ -300,31 +198,15 @@ void ESolver_KS::iter_init(UnitCell& ucell, const int istep, const in if (PARAM.inp.esolver_type == "ksdft") { - diag_ethr = hsolver::set_diagethr_ks(PARAM.inp.basis_type, - PARAM.inp.esolver_type, - PARAM.inp.calculation, - PARAM.inp.init_chg, - PARAM.inp.precision, - istep, - iter, - drho, - PARAM.inp.pw_diag_thr, - diag_ethr, - PARAM.inp.nelec); + diag_ethr = hsolver::set_diagethr_ks(PARAM.inp.basis_type, PARAM.inp.esolver_type, + PARAM.inp.calculation, PARAM.inp.init_chg, PARAM.inp.precision, istep, iter, + drho, PARAM.inp.pw_diag_thr, diag_ethr, PARAM.inp.nelec); } else if (PARAM.inp.esolver_type == "sdft") { - diag_ethr = hsolver::set_diagethr_sdft(PARAM.inp.basis_type, - PARAM.inp.esolver_type, - PARAM.inp.calculation, - PARAM.inp.init_chg, - istep, - iter, - drho, - PARAM.inp.pw_diag_thr, - diag_ethr, - PARAM.inp.nbands, - esolver_KS_ne); + diag_ethr = hsolver::set_diagethr_sdft(PARAM.inp.basis_type, PARAM.inp.esolver_type, + PARAM.inp.calculation, PARAM.inp.init_chg, istep, iter, drho, + PARAM.inp.pw_diag_thr, diag_ethr, PARAM.inp.nbands, esolver_KS_ne); } // save input charge density (rho) @@ -335,149 +217,51 @@ template void ESolver_KS::iter_finish(UnitCell& ucell, const int istep, int& iter, bool &conv_esolver) { - if(iter % PARAM.inp.out_freq_elec == 0) - { - //---------------------------------------------------------------- - // 1) print out band gap - //---------------------------------------------------------------- - if (PARAM.inp.out_bandgap) - { - if (!PARAM.globalv.two_fermi) - { - this->pelec->cal_bandgap(); - } - else - { - this->pelec->cal_bandgap_updw(); - } - } + // 1.1) print out band gap + if (!PARAM.globalv.two_fermi) + { + this->pelec->cal_bandgap(); + } + else + { + this->pelec->cal_bandgap_updw(); + } - //---------------------------------------------------------------- - // 2) print out eigenvalues and occupations - //---------------------------------------------------------------- - if (PARAM.inp.out_band[0] || iter == PARAM.inp.scf_nmax || conv_esolver) + // 1.2) print out eigenvalues and occupations + if (PARAM.inp.out_band[0]) + { + if (iter % PARAM.inp.out_freq_elec == 0 || iter == PARAM.inp.scf_nmax || conv_esolver) { ModuleIO::write_eig_iter(this->pelec->ekb,this->pelec->wg,*this->pelec->klist); } - } + } - //---------------------------------------------------------------- - // 2) compute magnetization, only for LSDA(spin==2) - //---------------------------------------------------------------- - ucell.magnet.compute_mag(ucell.omega, - this->chr.nrxx, - this->chr.nxyz, - this->chr.rho, + // 2.1) compute magnetization, only for spin==2 + ucell.magnet.compute_mag(ucell.omega, this->chr.nrxx, this->chr.nxyz, this->chr.rho, this->pelec->nelec_spin.data()); - //---------------------------------------------------------------- - // 3) charge mixing - //---------------------------------------------------------------- - if (PARAM.globalv.ks_run) - { - // mixing will restart at this->p_chgmix->mixing_restart steps - if (drho <= PARAM.inp.mixing_restart && PARAM.inp.mixing_restart > 0.0 - && this->p_chgmix->mixing_restart_step > iter) - { - this->p_chgmix->mixing_restart_step = iter + 1; - } - - if (PARAM.inp.scf_os_stop) // if oscillation is detected, SCF will stop - { - this->oscillate_esolver - = this->p_chgmix->if_scf_oscillate(iter, drho, PARAM.inp.scf_os_ndim, PARAM.inp.scf_os_thr); - } - - // drho will be 0 at this->p_chgmix->mixing_restart step, which is - // not ground state - bool not_restart_step = !(iter == this->p_chgmix->mixing_restart_step && PARAM.inp.mixing_restart > 0.0); - // SCF will continue if U is not converged for uramping calculation - bool is_U_converged = true; - // to avoid unnecessary dependence on dft+u, refactor is needed + // 2.2) charge mixing + // SCF will continue if U is not converged for uramping calculation + bool converged_u = true; + // to avoid unnecessary dependence on dft+u, refactor is needed #ifdef __LCAO - if (PARAM.inp.dft_plus_u) - { - is_U_converged = GlobalC::dftu.u_converged(); - } + if (PARAM.inp.dft_plus_u) + { + converged_u = this->dftu.u_converged(); + } #endif - conv_esolver = (drho < this->scf_thr && not_restart_step && is_U_converged); - - // add energy threshold for SCF convergence - if (this->scf_ene_thr > 0.0) - { - // calculate energy of output charge density - this->update_pot(ucell, istep, iter, conv_esolver); - this->pelec->cal_energies(2); // 2 means Kohn-Sham functional - // now, etot_old is the energy of input density, while etot is the energy of output density - this->pelec->f_en.etot_delta = this->pelec->f_en.etot - this->pelec->f_en.etot_old; - // output etot_delta - GlobalV::ofs_running << " DeltaE_womix = " << this->pelec->f_en.etot_delta * ModuleBase::Ry_to_eV << " eV" - << std::endl; - if (iter > 1 && conv_esolver == 1) // only check when density is converged - { - // update the convergence flag - conv_esolver - = (std::abs(this->pelec->f_en.etot_delta * ModuleBase::Ry_to_eV) < this->scf_ene_thr); - } - } - - // If drho < hsolver_error in the first iter or drho < scf_thr, we - // do not change rho. - if (drho < hsolver_error || conv_esolver || PARAM.inp.calculation == "nscf") - { - if (drho < hsolver_error) - { - GlobalV::ofs_warning << " drho < hsolver_error, keep " - "charge density unchanged." - << std::endl; - } - } - else - { - //----------charge mixing--------------- - // mixing will restart after this->p_chgmix->mixing_restart - // steps - if (PARAM.inp.mixing_restart > 0 && iter == this->p_chgmix->mixing_restart_step - 1 - && drho <= PARAM.inp.mixing_restart) - { - // do not mix charge density - } - else - { - p_chgmix->mix_rho(&this->chr); // update chr->rho by mixing - } - if (PARAM.inp.scf_thr_type == 2) - { - this->chr.renormalize_rho(); // renormalize rho in R-space would - // induce a error in K-space - } - //----------charge mixing done----------- - } - } + module_charge::chgmixing_ks(iter, ucell, this->pelec, this->chr, this->p_chgmix, + this->pw_rhod->nrxx, this->drho, this->oscillate_esolver, conv_esolver, hsolver_error, + this->scf_thr, this->scf_ene_thr, converged_u, PARAM.inp); -#ifdef __MPI - MPI_Bcast(&drho, 1, MPI_DOUBLE, 0, BP_WORLD); + // 2.3) Update potentials (should be done every SF iter) + elecstate::update_pot(ucell, this->pelec, this->chr, conv_esolver); - // change MPI_DOUBLE to MPI_C_BOOL, mohan 2025-04-13 - MPI_Bcast(&conv_esolver, 1, MPI_C_BOOL, 0, BP_WORLD); - MPI_Bcast(this->chr.rho[0], this->pw_rhod->nrxx, MPI_DOUBLE, 0, BP_WORLD); -#endif + // 3.1) calculate energies + this->pelec->cal_energies(1); // Harris-Foulkes functional + this->pelec->cal_energies(2); // Kohn-Sham functional - //---------------------------------------------------------------- - // 4) Update potentials (should be done every SF iter) - //---------------------------------------------------------------- - // Hamilt should be used after it is constructed. - // this->phamilt->update(conv_esolver); - this->update_pot(ucell, istep, iter, conv_esolver); - - //---------------------------------------------------------------- - // 5) calculate energies - //---------------------------------------------------------------- - // 1 means Harris-Foulkes functional - // 2 means Kohn-Sham functional - this->pelec->cal_energies(1); - this->pelec->cal_energies(2); if (iter == 1) { this->pelec->f_en.etot_old = this->pelec->f_en.etot; @@ -485,11 +269,18 @@ void ESolver_KS::iter_finish(UnitCell& ucell, const int istep, int& i this->pelec->f_en.etot_delta = this->pelec->f_en.etot - this->pelec->f_en.etot_old; this->pelec->f_en.etot_old = this->pelec->f_en.etot; + // 4) get meta-GGA related parameters + double dkin = 0.0; // for meta-GGA + if (XC_Functional::get_ked_flag()) + { + dkin = p_chgmix->get_dkin(&this->chr, PARAM.inp.nelec); + } + + // Iter finish + ESolver_FP::iter_finish(ucell, istep, iter, conv_esolver); - //---------------------------------------------------------------- - // 6) time and meta-GGA - //---------------------------------------------------------------- + // the end, print time #ifdef __MPI double duration = (double)(MPI_Wtime() - iter_time); #else @@ -498,46 +289,19 @@ void ESolver_KS::iter_finish(UnitCell& ucell, const int istep, int& i / static_cast(1e6); #endif - // get mtaGGA related parameters - double dkin = 0.0; // for meta-GGA - if (XC_Functional::get_ked_flag()) - { - dkin = p_chgmix->get_dkin(&this->chr, PARAM.inp.nelec); - } - - // pint energy - elecstate::print_etot(ucell.magnet, *pelec,conv_esolver, iter, drho, + // print energies + elecstate::print_etot(ucell.magnet, *pelec, conv_esolver, iter, drho, dkin, duration, diag_ethr); #ifdef __RAPIDJSON - //---------------------------------------------------------------- - // 7) add Json of scf mag - //---------------------------------------------------------------- - Json::add_output_scf_mag(ucell.magnet.tot_mag, - ucell.magnet.abs_mag, + // add Json of scf mag + Json::add_output_scf_mag(ucell.magnet.tot_mag, ucell.magnet.abs_mag, this->pelec->f_en.etot * ModuleBase::Ry_to_eV, this->pelec->f_en.etot_delta * ModuleBase::Ry_to_eV, - drho, - duration); + drho, duration); #endif //__RAPIDJSON - - //---------------------------------------------------------------- - // 7) SCF restart information - //---------------------------------------------------------------- - if (PARAM.inp.mixing_restart > 0 - && iter == this->p_chgmix->mixing_restart_step - 1 - && iter != PARAM.inp.scf_nmax) - { - this->p_chgmix->mixing_restart_last = iter; - std::cout << " SCF restart after this step!" << std::endl; - } - - //---------------------------------------------------------------- - // 8) Iter finish - //---------------------------------------------------------------- - ESolver_FP::iter_finish(ucell, istep, iter, conv_esolver); } //! Something to do after SCF iterations when SCF is converged or comes to the max iter step. @@ -546,21 +310,24 @@ void ESolver_KS::after_scf(UnitCell& ucell, const int istep, const bo { ModuleBase::TITLE("ESolver_KS", "after_scf"); +/* // 1) calculate the kinetic energy density tau if (PARAM.inp.out_elf[0] > 0) { assert(this->psi != nullptr); this->pelec->cal_tau(*(this->psi)); } +*/ // 2) call after_scf() of ESolver_FP ESolver_FP::after_scf(ucell, istep, conv_esolver); - // 3) write eigenvalues - if (istep % PARAM.inp.out_interval == 0) - { -// elecstate::print_eigenvalue(this->pelec->ekb,this->pelec->wg,this->pelec->klist,GlobalV::ofs_running); - } + // 3) write eigenvalues and occupations to eig_occ.txt + ModuleIO::write_eig_file(this->pelec->ekb, this->pelec->wg, this->kv, istep); + + // 4) write band information to band.txt + ModuleIO::write_bands(PARAM.inp, this->pelec->ekb, this->kv); + } template @@ -568,28 +335,6 @@ void ESolver_KS::after_all_runners(UnitCell& ucell) { // 1) write Etot information ESolver_FP::after_all_runners(ucell); - - // 2) write eigenvalue information - ModuleIO::write_eig_file(this->pelec->ekb, this->pelec->wg, this->kv); - - // 3) write band information - if (PARAM.inp.out_band[0]) - { - const int nspin0 = (PARAM.inp.nspin == 2) ? 2 : 1; - for (int is = 0; is < nspin0; is++) - { - std::stringstream ss2; - ss2 << PARAM.globalv.global_out_dir << "eigs" << is + 1 << ".txt"; - const double eshift = 0.0; - ModuleIO::nscf_band(is, - ss2.str(), - PARAM.inp.nbands, - eshift, - PARAM.inp.out_band[1], - this->pelec->ekb, - this->kv); - } - } } //------------------------------------------------------------------------------ diff --git a/source/source_esolver/esolver_ks.h b/source/source_esolver/esolver_ks.h index ef26d986c6..787b58ba74 100644 --- a/source/source_esolver/esolver_ks.h +++ b/source/source_esolver/esolver_ks.h @@ -1,21 +1,13 @@ #ifndef ESOLVER_KS_H #define ESOLVER_KS_H -#include -//#include - -// for first-principles esolver -#include "esolver_fp.h" -// for plane wave basis set -#include "source_basis/module_pw/pw_basis_k.h" -// for k-points in Brillouin zone -#include "source_cell/klist.h" -// for charge mixing -#include "source_estate/module_charge/charge_mixing.h" -// for electronic wave functions -#include "source_psi/psi.h" -// for Hamiltonian -#include "source_hamilt/hamilt.h" +#include "esolver_fp.h" // first-principles esolver +#include "source_basis/module_pw/pw_basis_k.h" // use plane wave +#include "source_cell/klist.h" // use k-points in Brillouin zone +#include "source_estate/module_charge/charge_mixing.h" // use charge mixing +#include "source_psi/psi.h" // use electronic wave functions +#include "source_hamilt/hamilt.h" // use Hamiltonian +#include "source_lcao/module_dftu/dftu.h" // mohan add 20251107 namespace ModuleESolver { @@ -55,9 +47,6 @@ class ESolver_KS : public ESolver_FP //! Something to do after SCF iterations when SCF is converged or comes to the max iter step. virtual void after_scf(UnitCell& ucell, const int istep, const bool conv_esolver) override; - //! It should be replaced by a function in Hamilt Class - virtual void update_pot(UnitCell& ucell, const int istep, const int iter, const bool conv_esolver){}; - //! Hamiltonian hamilt::Hamilt* p_hamilt = nullptr; @@ -73,6 +62,9 @@ class ESolver_KS : public ESolver_FP //! Electronic wavefunctions psi::Psi* psi = nullptr; + //! DFT+U method, mohan add 2025-11-07 + Plus_U dftu; + std::string basisname; //! esolver_ks_lcao.cpp double esolver_KS_ne = 0.0; //! number of electrons double diag_ethr; //! the threshold for diagonalization @@ -83,6 +75,7 @@ class ESolver_KS : public ESolver_FP int maxniter; //! maximum iter steps for scf int niter; //! iter steps actually used in scf bool oscillate_esolver = false; // whether esolver is oscillated + bool scf_nmax_flag = false; // whether scf has reached nmax, mohan add 20250921 }; } // namespace ModuleESolver #endif diff --git a/source/source_esolver/esolver_ks_lcao.cpp b/source/source_esolver/esolver_ks_lcao.cpp index 84844ab720..3a2fb57496 100644 --- a/source/source_esolver/esolver_ks_lcao.cpp +++ b/source/source_esolver/esolver_ks_lcao.cpp @@ -1,73 +1,25 @@ #include "esolver_ks_lcao.h" - -#include "source_io/write_proj_band_lcao.h" // projcted band structure - -#include "source_base/formatter.h" -#include "source_base/global_variable.h" -#include "source_base/tool_title.h" #include "source_estate/elecstate_tools.h" - -#include "source_estate/module_dm/cal_dm_psi.h" #include "source_lcao/module_deltaspin/spin_constrain.h" -#include "source_lcao/module_dftu/dftu.h" -#include "source_io/berryphase.h" -#include "source_io/cal_ldos.h" -#include "source_io/cube_io.h" -#include "source_io/io_dmk.h" -#include "source_io/io_npz.h" -#include "source_io/output_dmk.h" -#include "source_io/output_log.h" -#include "source_io/output_mat_sparse.h" -#include "source_io/output_mulliken.h" -#include "source_io/output_sk.h" -#include "source_io/read_wfc_nao.h" -#include "source_io/to_qo.h" -#include "source_io/to_wannier90_lcao.h" -#include "source_io/to_wannier90_lcao_in_pw.h" -#include "source_io/write_HS.h" -#include "source_io/write_elecstat_pot.h" -#include "source_io/module_parameter/parameter.h" - -// be careful of hpp, there may be multiple definitions of functions, 20250302, mohan -#include "source_lcao/hs_matrix_k.hpp" -#include "source_io/write_eband_terms.hpp" -#include "source_io/write_vxc.hpp" -#include "source_io/write_vxc_r.hpp" - -#include "source_base/global_function.h" -#include "source_cell/module_neighbor/sltk_grid_driver.h" -#include "source_estate/cal_ux.h" +#include "source_lcao/hs_matrix_k.hpp" // there may be multiple definitions if using hpp #include "source_estate/module_charge/symmetry_rho.h" -#include "source_estate/occupy.h" #include "source_lcao/LCAO_domain.h" // need DeePKS_init -#include "source_lcao/module_dftu/dftu.h" -#include "source_pw/module_pwdft/global.h" -#include "source_io/print_info.h" - -#include - -#ifdef __MLALGO -#include "source_lcao/module_deepks/LCAO_deepks.h" -#include "source_lcao/module_deepks/LCAO_deepks_interface.h" -#endif -//-----force& stress------------------- #include "source_lcao/FORCE_STRESS.h" - -//-----HSolver ElecState Hamilt-------- #include "source_estate/elecstate_lcao.h" #include "source_lcao/hamilt_lcao.h" #include "source_hsolver/hsolver_lcao.h" - #ifdef __EXX #include "../source_lcao/module_ri/exx_opt_orb.h" #endif - -// test RDMFT #include "source_lcao/module_rdmft/rdmft.h" - -#include "source_lcao/module_gint/temp_gint/gint_info.h" - -#include +#include "source_estate/module_charge/chgmixing.h" // use charge mixing, mohan add 20251006 +#include "source_estate/module_dm/init_dm.h" // init dm from electronic wave functions +#include "source_io/ctrl_runner_lcao.h" // use ctrl_runner_lcao() +#include "source_io/ctrl_iter_lcao.h" // use ctrl_iter_lcao() +#include "source_io/ctrl_scf_lcao.h" // use ctrl_scf_lcao() +#include "source_io/print_info.h" +#include "source_lcao/rho_tau_lcao.h" // mohan add 20251024 +#include "source_lcao/LCAO_set.h" // mohan add 20251111 namespace ModuleESolver { @@ -77,27 +29,15 @@ ESolver_KS_LCAO::ESolver_KS_LCAO() { this->classname = "ESolver_KS_LCAO"; this->basisname = "LCAO"; - -#ifdef __EXX - // 1. currently this initialization must be put in constructor rather than `before_all_runners()` - // because the latter is not reused by ESolver_LCAO_TDDFT, - // which cause the failure of the subsequent procedure reused by ESolver_LCAO_TDDFT - // 2. always construct but only initialize when if(cal_exx) is true - // because some members like two_level_step are used outside if(cal_exx) - if (GlobalC::exx_info.info_ri.real_number) - { - this->exd = std::make_shared>(GlobalC::exx_info.info_ri); - } - else - { - this->exc = std::make_shared>>(GlobalC::exx_info.info_ri); - } -#endif + this->exx_nao.init(); // mohan add 20251008 } template ESolver_KS_LCAO::~ESolver_KS_LCAO() { + //**************************************************** + // do not add any codes in this deconstructor funcion + //**************************************************** } template @@ -109,225 +49,193 @@ void ESolver_KS_LCAO::before_all_runners(UnitCell& ucell, const Input_pa // 1) before_all_runners in ESolver_KS ESolver_KS::before_all_runners(ucell, inp); - // 2) init ElecState - // autoset nbands in ElecState before basis_init (for Psi 2d division) + // 2) autoset nbands in ElecState before init_basis (for Psi 2d division) if (this->pelec == nullptr) { // TK stands for double and std::complex? - this->pelec = new elecstate::ElecStateLCAO(&(this->chr), // use which parameter? - &(this->kv), - this->kv.get_nks(), - &(this->GG), - &(this->GK), - this->pw_rho, - this->pw_big); + this->pelec = new elecstate::ElecStateLCAO(&(this->chr), &(this->kv), + this->kv.get_nks(), this->pw_big); } - // 3) init LCAO basis - // reading the localized orbitals/projectors - // construct the interpolation tables. - LCAO_domain::init_basis_lcao(this->pv, - inp.onsite_radius, - inp.lcao_ecut, - inp.lcao_dk, - inp.lcao_dr, - inp.lcao_rmax, - ucell, - two_center_bundle_, - orb_); - - if (PARAM.inp.calculation == "gen_opt_abfs") + // 3) read LCAO orbitals/projectors and construct the interpolation tables. + LCAO_domain::init_basis_lcao(this->pv, inp.onsite_radius, inp.lcao_ecut, + inp.lcao_dk, inp.lcao_dr, inp.lcao_rmax, ucell, two_center_bundle_, orb_); + + // 4) setup EXX calculations + if (inp.calculation == "gen_opt_abfs") { - #ifdef __EXX +#ifdef __EXX Exx_Opt_Orb exx_opt_orb; exx_opt_orb.generate_matrix(GlobalC::exx_info.info_opt_abfs, this->kv, ucell, this->orb_); - #else +#else ModuleBase::WARNING_QUIT("ESolver_KS_LCAO::before_all_runners", "calculation=gen_opt_abfs must compile __EXX"); - #endif +#endif return; } - // 4) initialize electronic wave function psi - if (this->psi == nullptr) + LCAO_domain::set_psi_occ_dm_chg(this->kv, this->psi, this->pv, this->pelec, + this->dmat, this->chr, inp); + + LCAO_domain::set_pot(ucell, this->kv, this->sf, *this->pw_rho, *this->pw_rhod, + this->pelec, this->orb_, this->pv, this->locpp, this->dftu, + this->solvent, this->exx_nao, this->deepks, inp); + + //! if kpar is not divisible by nks, print a warning + ModuleIO::print_kpar(this->kv.get_nks(), PARAM.globalv.kpar_lcao); + + //! init rdmft, added by jghan + if (inp.rdmft == true) { - int nsk = 0; - int ncol = 0; - if (PARAM.globalv.gamma_only_local) - { - nsk = inp.nspin; - ncol = this->pv.ncol_bands; - if (inp.ks_solver == "genelpa" || inp.ks_solver == "elpa" || inp.ks_solver == "lapack" - || inp.ks_solver == "pexsi" || inp.ks_solver == "cusolver" - || inp.ks_solver == "cusolvermp") - { - ncol = this->pv.ncol; - } - } - else - { - nsk = this->kv.get_nks(); -#ifdef __MPI - ncol = this->pv.ncol_bands; -#else - ncol = inp.nbands; -#endif - } - this->psi = new psi::Psi(nsk, ncol, this->pv.nrow, this->kv.ngk, true); + rdmft_solver.init(this->pv, ucell, + this->gd, this->kv, *(this->pelec), this->orb_, + two_center_bundle_, inp.dft_functional, inp.rdmft_power_alpha); } - // 5) read psi from file - if (inp.init_wfc == "file" && inp.esolver_type != "tddft") - { - if (!ModuleIO::read_wfc_nao(PARAM.globalv.global_readin_dir, - this->pv, - *(this->psi), - this->pelec, - this->pelec->klist->ik2iktot, - this->pelec->klist->get_nkstot(), - inp.nspin)) - { - ModuleBase::WARNING_QUIT("ESolver_KS_LCAO", "read electronic wave functions failed"); - } - } + ModuleBase::timer::tick("ESolver_KS_LCAO", "before_all_runners"); + return; +} - // 6) initialize the density matrix - // DensityMatrix is allocated here, DMK is also initialized here - // DMR is not initialized here, it will be constructed in each before_scf - dynamic_cast*>(this->pelec)->init_DM(&this->kv, &(this->pv), inp.nspin); - // 7) initialize exact exchange calculations -#ifdef __EXX - if (inp.calculation == "scf" || inp.calculation == "relax" || inp.calculation == "cell-relax" - || inp.calculation == "md") - { - if (GlobalC::exx_info.info_global.cal_exx) - { - if (inp.init_wfc != "file") - { // if init_wfc==file, directly enter the EXX loop - XC_Functional::set_xc_first_loop(ucell); - } +template +void ESolver_KS_LCAO::before_scf(UnitCell& ucell, const int istep) +{ + ModuleBase::TITLE("ESolver_KS_LCAO", "before_scf"); + ModuleBase::timer::tick("ESolver_KS_LCAO", "before_scf"); - // initialize 2-center radial tables for EXX-LRI - if (GlobalC::exx_info.info_ri.real_number) - { - this->exd->init(MPI_COMM_WORLD, ucell, this->kv, orb_); - this->exd->exx_before_all_runners(this->kv, ucell, this->pv); - } - else - { - this->exc->init(MPI_COMM_WORLD, ucell, this->kv, orb_); - this->exc->exx_before_all_runners(this->kv, ucell, this->pv); - } - } - } -#endif + //! 1) call before_scf() of ESolver_KS. + ESolver_KS::before_scf(ucell, istep); - // 8) initialize DFT+U - if (inp.dft_plus_u) - { - auto* dftu = ModuleDFTU::DFTU::get_instance(); - dftu->init(ucell, &this->pv, this->kv.get_nks(), &orb_); - } + //! 2) find search radius + double search_radius = atom_arrange::set_sr_NL(GlobalV::ofs_running, + PARAM.inp.out_level, orb_.get_rcutmax_Phi(), ucell.infoNL.get_rcutmax_Beta(), + PARAM.globalv.gamma_only_local); + + //! 3) use search_radius to search adj atoms + atom_arrange::search(PARAM.globalv.search_pbc, GlobalV::ofs_running, + this->gd, ucell, search_radius, PARAM.inp.test_atom_input); - // 9) initialize local pseudopotentials - this->locpp.init_vloc(ucell, this->pw_rho); - ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "LOCAL POTENTIAL"); + //! 4) initialize NAO basis set + // here new is a unique pointer, which will be deleted automatically + gint_info_.reset( + new ModuleGint::GintInfo( + this->pw_big->nbx, this->pw_big->nby, this->pw_big->nbz, + this->pw_rho->nx, this->pw_rho->ny, this->pw_rho->nz, + 0, 0, this->pw_big->nbzp_start, + this->pw_big->nbx, this->pw_big->nby, this->pw_big->nbzp, + orb_.Phi, ucell, this->gd)); + ModuleGint::Gint::set_gint_info(gint_info_.get()); - // 10) inititlize the charge density - this->chr.allocate(inp.nspin); - this->pelec->omega = ucell.omega; + // 7) For each atom, calculate the adjacent atoms in different cells + // and allocate the space for H(R) and S(R). + // If k point is used here, allocate HlocR after atom_arrange. + this->RA.for_2d(ucell, this->gd, this->pv, PARAM.globalv.gamma_only_local, orb_.cutoffs()); - // 11) initialize the potential - if (this->pelec->pot == nullptr) + // 8) initialize the Hamiltonian operators + // if atom moves, then delete old pointer and add a new one + if (this->p_hamilt != nullptr) { - this->pelec->pot = new elecstate::Potential(this->pw_rhod, - this->pw_rho, - &ucell, - &(this->locpp.vloc), - &(this->sf), - &(this->solvent), - &(this->pelec->f_en.etxc), - &(this->pelec->f_en.vtxc)); + delete this->p_hamilt; + this->p_hamilt = nullptr; + } + if (this->p_hamilt == nullptr) + { + this->p_hamilt = new hamilt::HamiltLCAO( + ucell, this->gd, &this->pv, this->pelec->pot, this->kv, + two_center_bundle_, orb_, this->dmat.dm, &this->dftu, this->deepks, istep, exx_nao); } - // 12) initialize deepks -#ifdef __MLALGO - LCAO_domain::DeePKS_init(ucell, pv, this->kv.get_nks(), orb_, this->ld, GlobalV::ofs_running); - if (inp.deepks_scf) + // 9) for each ionic step, the overlap must be rebuilt + // since it depends on ionic positions + this->deepks.build_overlap(ucell, orb_, pv, gd, *(two_center_bundle_.overlap_orb_alpha), PARAM.inp); + + // 10) prepare sc calculation + if (PARAM.inp.sc_mag_switch) { - // load the DeePKS model from deep neural network - DeePKS_domain::load_model(inp.deepks_model, ld.model_deepks); - // read pdm from file for NSCF or SCF-restart, do it only once in whole calculation - DeePKS_domain::read_pdm((inp.init_chg == "file"), - inp.deepks_equiv, - ld.init_pdm, - ucell.nat, - orb_.Alpha[0].getTotal_nchi() * ucell.nat, - ld.lmaxd, - ld.inl2l, - *orb_.Alpha, - ld.pdm); + spinconstrain::SpinConstrain& sc = spinconstrain::SpinConstrain::getScInstance(); + sc.init_sc(PARAM.inp.sc_thr, PARAM.inp.nsc, PARAM.inp.nsc_min, PARAM.inp.alpha_trial, + PARAM.inp.sccut, PARAM.inp.sc_drop_thr, ucell, &(this->pv), + PARAM.inp.nspin, this->kv, this->p_hamilt, this->psi, this->dmat.dm, this->pelec); } -#endif - // 13) set occupations - // tddft does not need to set occupations in the first scf - if (inp.ocp && inp.esolver_type != "tddft") + // 11) set xc type before the first cal of xc in pelec->init_scf, Peize Lin add 2016-12-03 + this->exx_nao.before_scf(ucell, this->kv, orb_, this->p_chgmix, istep, PARAM.inp); + + // 12) initalize DM(R), which has the same size with Hamiltonian(R) + auto* hamilt_lcao = dynamic_cast*>(this->p_hamilt); + + if(!hamilt_lcao) { - elecstate::fixed_weights(inp.ocp_kb, - inp.nbands, - inp.nelec, - this->pelec->klist, - this->pelec->wg, - this->pelec->skip_weights); + ModuleBase::WARNING_QUIT("ESolver_KS_LCAO::before_scf","p_hamilt does not exist"); } + this->dmat.dm->init_DMR(*hamilt_lcao->getHR()); - // 14) if kpar is not divisible by nks, print a warning - if (PARAM.globalv.kpar_lcao > 1) + // 13.1) decide the strategy for initializing DMR and HR + if(istep == 0)//if the first scf step, readin DMR from file, { - if (this->kv.get_nks() % PARAM.globalv.kpar_lcao != 0) + //calculate or readin the density matrix DMR + if(PARAM.inp.init_chg == "dm") + { + //! 13.1.1) init density matrix from file + std::string dmfile = PARAM.globalv.global_readin_dir + "/dmrs1_nao.csr"; + LCAO_domain::init_dm_from_file(dmfile, this->dmat, ucell, &(this->pv)); + } + if(PARAM.inp.init_chg == "hr") { - ModuleBase::WARNING("ESolver_KS_LCAO::before_all_runners", "nks is not divisible by kpar."); - std::cout << "\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" - "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" - "%%%%%%%%%%%%%%%%%%%%%%%%%%" - << std::endl; - std::cout << " Warning: nks (" << this->kv.get_nks() << ") is not divisible by kpar (" - << PARAM.globalv.kpar_lcao << ")." << std::endl; - std::cout << " This may lead to poor load balance. It is strongly suggested to" << std::endl; - std::cout << " set nks to be divisible by kpar, but if this is really what" << std::endl; - std::cout << " you want, please ignore this warning." << std::endl; - std::cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" - "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" - "%%%%%%%%%%%%\n"; + //! 13.1.2) init HR from file + std::string hrfile = PARAM.globalv.global_readin_dir + "/hrs1_nao.csr"; + LCAO_domain::init_hr_from_file( + hrfile, + dynamic_cast*>(this->p_hamilt)->getHR(), + ucell, + &(this->pv) + ); + this->p_hamilt->refresh(false); + hsolver::HSolverLCAO hsolver_lcao_obj(&(this->pv), PARAM.inp.ks_solver); + hsolver_lcao_obj.solve(this->p_hamilt, this->psi[0], this->pelec, *this->dmat.dm, + this->chr, PARAM.inp.nspin, 0); } } + else //if not, use the DMR calculated from last step + { + // 13.1.2) two cases are considered: + // 1. DMK in DensityMatrix is not empty (istep > 0), then DMR is initialized by DMK + // 2. DMK in DensityMatrix is empty (istep == 0), then DMR is initialized by zeros + this->dmat.dm->cal_DMR(); + } + // 13.2 if init_chg = "dm", then calculate rho from readin DMR before init_scf + if(PARAM.inp.init_chg == "dm") + { + LCAO_domain::dm2rho(this->dmat.dm->get_DMR_vector(), PARAM.inp.nspin, this->pelec->charge, true); + } + // 13.2) init_scf, should be before_scf? mohan add 2025-03-10 + this->pelec->init_scf(ucell, this->Pgrid, this->sf.strucFac, this->locpp.numeric, ucell.symm); - // 15) initialize rdmft, added by jghan - if (inp.rdmft == true) +#ifdef __MLALGO + // 14) initialize DM2(R) of DeePKS, the DM2(R) is different from DM(R) + this->deepks.ld.init_DMR(ucell, orb_, this->pv, this->gd); +#endif + + // 16) the electron charge density should be symmetrized, + Symmetry_rho srho; + for (int is = 0; is < PARAM.inp.nspin; is++) { - rdmft_solver.init(this->GG, - this->GK, - this->pv, - ucell, - this->gd, - this->kv, - *(this->pelec), - this->orb_, - two_center_bundle_, - inp.dft_functional, - inp.rdmft_power_alpha); + srho.begin(is, this->chr, this->pw_rho, ucell.symm); } - ModuleBase::timer::tick("ESolver_KS_LCAO", "before_all_runners"); + // 17) update of RDMFT, added by jghan + if (PARAM.inp.rdmft == true) + { + rdmft_solver.update_ion(ucell, *(this->pw_rho), this->locpp.vloc, this->sf.strucFac); + } + + ModuleBase::timer::tick("ESolver_KS_LCAO", "before_scf"); return; } + template double ESolver_KS_LCAO::cal_energy() { - ModuleBase::TITLE("ESolver_KS_LCAO", "cal_energy"); - return this->pelec->f_en.etot; } @@ -339,34 +247,15 @@ void ESolver_KS_LCAO::cal_force(UnitCell& ucell, ModuleBase::matrix& for Force_Stress_LCAO fsl(this->RA, ucell.nat); - fsl.getForceStress(ucell, - PARAM.inp.cal_force, - PARAM.inp.cal_stress, - PARAM.inp.test_force, - PARAM.inp.test_stress, - this->gd, - this->pv, - this->pelec, - this->psi, - this->GG, // mohan add 2024-04-01 - this->GK, // mohan add 2024-04-01 - two_center_bundle_, - orb_, - force, - this->scs, - this->locpp, - this->sf, - this->kv, - this->pw_rho, - this->solvent, -#ifdef __MLALGO - this->ld, -#endif -#ifdef __EXX - *this->exd, - *this->exc, -#endif - &ucell.symm); + deepks.dpks_out_type = "tot"; // for deepks method + + fsl.getForceStress(ucell, PARAM.inp.cal_force, PARAM.inp.cal_stress, + PARAM.inp.test_force, PARAM.inp.test_stress, + this->gd, this->pv, this->pelec, this->dmat, this->psi, + two_center_bundle_, orb_, force, this->scs, + this->locpp, this->sf, this->kv, + this->pw_rho, this->solvent, this->dftu, this->deepks, + this->exx_nao, &ucell.symm); // delete RA after cal_force this->RA.delete_grid(); @@ -376,25 +265,19 @@ void ESolver_KS_LCAO::cal_force(UnitCell& ucell, ModuleBase::matrix& for ModuleBase::timer::tick("ESolver_KS_LCAO", "cal_force"); } -//------------------------------------------------------------------------------ -//! the 7th function of ESolver_KS_LCAO: cal_stress -//! mohan add 2024-05-11 -//------------------------------------------------------------------------------ template void ESolver_KS_LCAO::cal_stress(UnitCell& ucell, ModuleBase::matrix& stress) { ModuleBase::TITLE("ESolver_KS_LCAO", "cal_stress"); ModuleBase::timer::tick("ESolver_KS_LCAO", "cal_stress"); - // if the users do not want to calculate forces but want stress, - // we call cal_force if (!this->have_force) { ModuleBase::matrix fcs; this->cal_force(ucell, fcs); } - // the 'scs' stress has already been calculated in 'cal_force' + // the stress has been calculated in 'cal_force' stress = this->scs; this->have_force = false; @@ -409,105 +292,18 @@ void ESolver_KS_LCAO::after_all_runners(UnitCell& ucell) ESolver_KS::after_all_runners(ucell); - const int nspin0 = (PARAM.inp.nspin == 2) ? 2 : 1; - - // 1) write projected band structure - if (PARAM.inp.out_proj_band) - { - ModuleIO::write_proj_band_lcao(this->psi, this->pv, this->pelec, this->kv, ucell, this->p_hamilt); - } - - // 2) out ldos - if (PARAM.inp.out_ldos[0]) - { - ModuleIO::Cal_ldos::cal_ldos_lcao(reinterpret_cast*>(this->pelec), - this->psi[0], - this->Pgrid, - ucell); - } - - // 3) print out exchange-correlation potential - if (PARAM.inp.out_mat_xc) - { - ModuleIO::write_Vxc(PARAM.inp.nspin, - PARAM.globalv.nlocal, - GlobalV::DRANK, - &this->pv, - *this->psi, - ucell, - this->sf, - this->solvent, - *this->pw_rho, - *this->pw_rhod, - this->locpp.vloc, - this->chr, - this->GG, - this->GK, - this->kv, - orb_.cutoffs(), - this->pelec->wg, - this->gd -#ifdef __EXX - , - this->exd ? &this->exd->get_Hexxs() : nullptr, - this->exc ? &this->exc->get_Hexxs() : nullptr -#endif - ); - } - - if (PARAM.inp.out_mat_xc2) - { - ModuleIO::write_Vxc_R(PARAM.inp.nspin, - &this->pv, - ucell, - this->sf, - this->solvent, - *this->pw_rho, - *this->pw_rhod, - this->locpp.vloc, - this->chr, - this->GG, - this->GK, - this->kv, - orb_.cutoffs(), - this->gd -#ifdef __EXX - , - this->exd ? &this->exd->get_Hexxs() : nullptr, - this->exc ? &this->exc->get_Hexxs() : nullptr -#endif - ); - } + auto* hamilt_lcao = dynamic_cast*>(this->p_hamilt); + if(!hamilt_lcao) + { + ModuleBase::WARNING_QUIT("ESolver_KS_LCAO::after_all_runners","p_hamilt does not exist"); + } - // write eband terms - if (PARAM.inp.out_eband_terms) - { - ModuleIO::write_eband_terms(PARAM.inp.nspin, - PARAM.globalv.nlocal, - GlobalV::DRANK, - &this->pv, - *this->psi, - ucell, - this->sf, - this->solvent, - *this->pw_rho, - *this->pw_rhod, - this->locpp.vloc, - this->chr, - this->GG, - this->GK, - this->kv, - this->pelec->wg, - this->gd, - orb_.cutoffs(), - this->two_center_bundle_ -#ifdef __EXX - , - this->exd ? &this->exd->get_Hexxs() : nullptr, - this->exc ? &this->exc->get_Hexxs() : nullptr -#endif - ); - } + ModuleIO::ctrl_runner_lcao(ucell, + PARAM.inp, this->kv, this->pelec, this->dmat, this->pv, this->Pgrid, + this->gd, this->psi, this->chr, hamilt_lcao, + this->two_center_bundle_, + this->orb_, this->pw_rho, this->pw_rhod, + this->sf, this->locpp.vloc, this->exx_nao, this->solvent); ModuleBase::timer::tick("ESolver_KS_LCAO", "after_all_runners"); } @@ -520,126 +316,26 @@ void ESolver_KS_LCAO::iter_init(UnitCell& ucell, const int istep, const // call iter_init() of ESolver_KS ESolver_KS::iter_init(ucell, istep, iter); - if (iter == 1) - { - this->p_chgmix->mix_reset(); // init mixing - this->p_chgmix->mixing_restart_step = PARAM.inp.scf_nmax + 1; - this->p_chgmix->mixing_restart_count = 0; - // this output will be removed once the feeature is stable - if (GlobalC::dftu.uramping > 0.01) - { - std::cout << " U-Ramping! Current U = "; - for (int i = 0; i < GlobalC::dftu.U0.size(); i++) - { - std::cout << GlobalC::dftu.U[i] * ModuleBase::Ry_to_eV << " "; - } - std::cout << " eV " << std::endl; - } - } - - // for mixing restart - if (iter == this->p_chgmix->mixing_restart_step && PARAM.inp.mixing_restart > 0.0) - { - this->p_chgmix->init_mixing(); - this->p_chgmix->mixing_restart_count++; - if (PARAM.inp.dft_plus_u) - { - GlobalC::dftu.uramping_update(); // update U by uramping if uramping > 0.01 - if (GlobalC::dftu.uramping > 0.01) - { - std::cout << " U-Ramping! Current U = "; - for (int i = 0; i < GlobalC::dftu.U0.size(); i++) - { - std::cout << GlobalC::dftu.U[i] * ModuleBase::Ry_to_eV << " "; - } - std::cout << " eV " << std::endl; - } - if (GlobalC::dftu.uramping > 0.01 && !GlobalC::dftu.u_converged()) - { - this->p_chgmix->mixing_restart_step = PARAM.inp.scf_nmax + 1; - } - } - if (PARAM.inp.mixing_dmr) // for mixing_dmr - { - // allocate memory for dmr_mdata - const elecstate::DensityMatrix* dm - = dynamic_cast*>(this->pelec)->get_DM(); - int nnr_tmp = dm->get_DMR_pointer(1)->get_nnr(); - this->p_chgmix->allocate_mixing_dmr(nnr_tmp); - } - } + module_charge::chgmixing_ks_lcao(iter, this->p_chgmix, this->dftu, + this->dmat.dm->get_DMR_pointer(1)->get_nnr(), PARAM.inp); // mohan update 2012-06-05 this->pelec->f_en.deband_harris = this->pelec->cal_delta_eband(ucell); - // first need to calculate the weight according to - // electrons number. if (istep == 0 && PARAM.inp.init_wfc == "file") - { - int exx_two_level_step = 0; + { + int exx_two_level_step = 0; #ifdef __EXX - if (GlobalC::exx_info.info_global.cal_exx) - { - // the following steps are only needed in the first outer exx loop - exx_two_level_step - = GlobalC::exx_info.info_ri.real_number ? this->exd->two_level_step : this->exc->two_level_step; - } + if (GlobalC::exx_info.info_global.cal_exx) + { + // the following steps are only needed in the first outer exx loop + exx_two_level_step + = GlobalC::exx_info.info_ri.real_number ? + this->exx_nao.exd->two_level_step : this->exx_nao.exc->two_level_step; + } #endif - if (iter == 1 && exx_two_level_step == 0) - { - std::cout << " WAVEFUN -> CHARGE " << std::endl; - - // calculate the density matrix using read in wave functions - // and then calculate the charge density on grid. - - this->pelec->skip_weights = true; - elecstate::calculate_weights(this->pelec->ekb, - this->pelec->wg, - this->pelec->klist, - this->pelec->eferm, - this->pelec->f_en, - this->pelec->nelec_spin, - this->pelec->skip_weights); - - auto _pelec = dynamic_cast*>(this->pelec); - elecstate::calEBand(_pelec->ekb, _pelec->wg, _pelec->f_en); - elecstate::cal_dm_psi(_pelec->DM->get_paraV_pointer(), _pelec->wg, *this->psi, *(_pelec->DM)); - _pelec->DM->cal_DMR(); - - this->pelec->psiToRho(*this->psi); - this->pelec->skip_weights = false; - - // calculate the local potential(rho) again. - // the grid integration will do in later grid integration. - - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // a puzzle remains here. - // if I don't renew potential, - // The scf_thr is very small. - // OneElectron, Hartree and - // Exc energy are all correct - // except the band energy. - // - // solved by mohan 2010-09-10 - // there are there rho here: - // rho1: formed by read in orbitals. - // rho2: atomic rho, used to construct H - // rho3: generated by after diagonalize - // here converged because rho3 and rho1 - // are very close. - // so be careful here, make sure - // rho1 and rho2 are the same rho. - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - elecstate::cal_ux(ucell); - - //! update the potentials by using new electron charge density - this->pelec->pot->update_from_charge(&this->chr, &ucell); - - //! compute the correction energy for metals - this->pelec->f_en.descf = this->pelec->cal_delta_escf(); - } - } + elecstate::init_dm(ucell, this->pelec, this->dmat, this->psi, this->chr, iter, exx_two_level_step); + } #ifdef __EXX // calculate exact-exchange @@ -647,19 +343,11 @@ void ESolver_KS_LCAO::iter_init(UnitCell& ucell, const int istep, const { if (GlobalC::exx_info.info_ri.real_number) { - this->exd->exx_eachiterinit(istep, - ucell, - *dynamic_cast*>(this->pelec)->get_DM(), - this->kv, - iter); + this->exx_nao.exd->exx_eachiterinit(istep, ucell, *this->dmat.dm, this->kv, iter); } else { - this->exc->exx_eachiterinit(istep, - ucell, - *dynamic_cast*>(this->pelec)->get_DM(), - this->kv, - iter); + this->exx_nao.exc->exx_eachiterinit(istep, ucell, *this->dmat.dm, this->kv, iter); } } #endif @@ -668,26 +356,21 @@ void ESolver_KS_LCAO::iter_init(UnitCell& ucell, const int istep, const { if (istep != 0 || iter != 1) { - GlobalC::dftu.set_dmr(dynamic_cast*>(this->pelec)->get_DM()); + this->dftu.set_dmr(this->dmat.dm); } // Calculate U and J if Yukawa potential is used - GlobalC::dftu.cal_slater_UJ(ucell, this->chr.rho, this->pw_rho->nrxx); + this->dftu.cal_slater_UJ(ucell, this->chr.rho, this->pw_rho->nrxx); } #ifdef __MLALGO // the density matrixes of DeePKS have been updated in each iter - ld.set_hr_cal(true); + this->deepks.ld.set_hr_cal(true); // HR in HamiltLCAO should be recalculate if (PARAM.inp.deepks_scf) { this->p_hamilt->refresh(); } - // if (iter == 1 && istep == 0) - // { - // // initialize DMR - // this->ld.init_DMR(ucell, orb_, this->pv, this->gd); - // } #endif if (PARAM.inp.vl_in_h) @@ -699,8 +382,7 @@ void ESolver_KS_LCAO::iter_init(UnitCell& ucell, const int istep, const // save density matrix DMR for mixing if (PARAM.inp.mixing_restart > 0 && PARAM.inp.mixing_dmr && this->p_chgmix->mixing_restart_count > 0) { - elecstate::DensityMatrix* dm = dynamic_cast*>(this->pelec)->get_DM(); - dm->save_DMR(); + this->dmat.dm->save_DMR(); } } @@ -709,7 +391,7 @@ void ESolver_KS_LCAO::hamilt2rho_single(UnitCell& ucell, int istep, int { ModuleBase::TITLE("ESolver_KS_LCAO", "hamilt2rho_single"); - // i1) reset energy + // 1) reset energy this->pelec->f_en.eband = 0.0; this->pelec->f_en.demet = 0.0; bool skip_charge = PARAM.inp.calculation == "nscf" ? true : false; @@ -738,7 +420,8 @@ void ESolver_KS_LCAO::hamilt2rho_single(UnitCell& ucell, int istep, int if (!skip_solve) { hsolver::HSolverLCAO hsolver_lcao_obj(&(this->pv), PARAM.inp.ks_solver); - hsolver_lcao_obj.solve(this->p_hamilt, this->psi[0], this->pelec, skip_charge); + hsolver_lcao_obj.solve(this->p_hamilt, this->psi[0], this->pelec, *this->dmat.dm, + this->chr, PARAM.inp.nspin, skip_charge); } // 4) EXX @@ -747,11 +430,11 @@ void ESolver_KS_LCAO::hamilt2rho_single(UnitCell& ucell, int istep, int { if (GlobalC::exx_info.info_ri.real_number) { - this->exd->exx_hamilt2rho(*this->pelec, this->pv, iter); + this->exx_nao.exd->exx_hamilt2rho(*this->pelec, this->pv, iter); } else { - this->exc->exx_hamilt2rho(*this->pelec, this->pv, iter); + this->exx_nao.exc->exx_hamilt2rho(*this->pelec, this->pv, iter); } } #endif @@ -767,65 +450,45 @@ void ESolver_KS_LCAO::hamilt2rho_single(UnitCell& ucell, int istep, int this->pelec->f_en.deband = this->pelec->cal_delta_eband(ucell); } + template -void ESolver_KS_LCAO::update_pot(UnitCell& ucell, const int istep, const int iter, const bool conv_esolver) +void ESolver_KS_LCAO::iter_finish(UnitCell& ucell, const int istep, int& iter, bool& conv_esolver) { - ModuleBase::TITLE("ESolver_KS_LCAO", "update_pot"); + ModuleBase::TITLE("ESolver_KS_LCAO", "iter_finish"); - if (!conv_esolver) - { - elecstate::cal_ux(ucell); - this->pelec->pot->update_from_charge(&this->chr, &ucell); - this->pelec->f_en.descf = this->pelec->cal_delta_escf(); - } - else + auto* hamilt_lcao = dynamic_cast*>(this->p_hamilt); + + if(!hamilt_lcao) { - this->pelec->cal_converged(); + ModuleBase::WARNING_QUIT("ESolver_KS_LCAO::iter_finish","p_hamilt does not exist"); } -} -template -void ESolver_KS_LCAO::iter_finish(UnitCell& ucell, const int istep, int& iter, bool& conv_esolver) -{ - ModuleBase::TITLE("ESolver_KS_LCAO", "iter_finish"); + const std::vector>& dm_vec = this->dmat.dm->get_DMK_vector(); - // 1) calculate the local occupation number matrix and energy correction - // in DFT+U + // 1) calculate the local occupation number matrix and energy correction in DFT+U if (PARAM.inp.dft_plus_u) { - // only old DFT+U method should calculated energy correction in esolver, - // new DFT+U method will calculate energy in calculating Hamiltonian + // old DFT+U method calculates energy correction in esolver, + // new DFT+U method calculates energy in Hamiltonian if (PARAM.inp.dft_plus_u == 2) { - if (GlobalC::dftu.omc != 2) + if (this->dftu.omc != 2) { - const std::vector>& tmp_dm - = dynamic_cast*>(this->pelec)->get_DM()->get_DMK_vector(); - ModuleDFTU::dftu_cal_occup_m(iter, - ucell, - tmp_dm, - this->kv, - this->p_chgmix->get_mixing_beta(), - this->p_hamilt); + dftu_cal_occup_m(iter, ucell, dm_vec, this->kv, + this->p_chgmix->get_mixing_beta(), hamilt_lcao, this->dftu); } - GlobalC::dftu.cal_energy_correction(ucell, istep); + this->dftu.cal_energy_correction(ucell, istep); } - GlobalC::dftu.output(ucell); - } + this->dftu.output(ucell); + // use the converged occupation matrix for next MD/Relax SCF calculation + if (conv_esolver) + { + this->dftu.initialed_locale = true; + } + } // 2) for deepks, calculate delta_e, output labels during electronic steps -#ifdef __MLALGO - if (PARAM.inp.deepks_scf) - { - const std::vector>& dm - = dynamic_cast*>(this->pelec)->get_DM()->get_DMK_vector(); - - ld.dpks_cal_e_delta_band(dm, this->kv.get_nks()); - DeePKS_domain::update_dmr(this->kv.kvec_d, dm, ucell, orb_, this->pv, this->gd, ld.dm_r); - this->pelec->f_en.edeepks_scf = ld.E_delta - ld.e_delta_band; - this->pelec->f_en.edeepks_delta = ld.E_delta; - } -#endif + this->deepks.delta_e(ucell, this->kv, this->orb_, this->pv, this->gd, dm_vec, this->pelec->f_en, PARAM.inp); // 3) for delta spin if (PARAM.inp.sc_mag_switch) @@ -834,93 +497,65 @@ void ESolver_KS_LCAO::iter_finish(UnitCell& ucell, const int istep, int& sc.cal_mi_lcao(iter); } - // 4) call iter_finish() of ESolver_KS + // call iter_finish() of ESolver_KS, where band gap is printed, + // eig and occ are printed, magnetization is calculated, + // charge mixing is performed, potential is updated, + // HF and kS energies are computed, meta-GGA, Jason and restart ESolver_KS::iter_finish(ucell, istep, iter, conv_esolver); - // 5) mix density matrix if mixing_restart + mixing_dmr + not first + // mix density matrix if mixing_restart + mixing_dmr + not first // mixing_restart at every iter except the last iter if(iter != PARAM.inp.scf_nmax && !conv_esolver) { if (PARAM.inp.mixing_restart > 0 && this->p_chgmix->mixing_restart_count > 0 && PARAM.inp.mixing_dmr) { - elecstate::DensityMatrix* dm = dynamic_cast*>(this->pelec)->get_DM(); - this->p_chgmix->mix_dmr(dm); - } - } - // 6) save charge density - // Peize Lin add 2020.04.04 - if (GlobalC::restart.info_save.save_charge) - { - for (int is = 0; is < PARAM.inp.nspin; ++is) - { - GlobalC::restart.save_disk("charge", is, this->chr.nrxx, this->chr.rho[is]); + this->p_chgmix->mix_dmr(this->dmat.dm); } } -#ifdef __EXX - // 7) save exx matrix - if (PARAM.inp.calculation != "nscf") - { - if (GlobalC::exx_info.info_global.cal_exx) - { - GlobalC::exx_info.info_ri.real_number ? this->exd->exx_iter_finish(this->kv, - ucell, - *this->p_hamilt, - *this->pelec, - *this->p_chgmix, - this->scf_ene_thr, - iter, - istep, - conv_esolver) - : this->exc->exx_iter_finish(this->kv, - ucell, - *this->p_hamilt, - *this->pelec, - *this->p_chgmix, - this->scf_ene_thr, - iter, - istep, - conv_esolver); - } - } -#endif + // control the output related to the finished iteration + ModuleIO::ctrl_iter_lcao(ucell, PARAM.inp, this->kv, this->pelec, *this->dmat.dm, + this->pv, this->gd, this->psi, this->chr, this->p_chgmix, + hamilt_lcao, this->orb_, this->deepks, + this->exx_nao, iter, istep, conv_esolver, this->scf_ene_thr); +} + +template +void ESolver_KS_LCAO::after_scf(UnitCell& ucell, const int istep, const bool conv_esolver) +{ + ModuleBase::TITLE("ESolver_KS_LCAO", "after_scf"); + ModuleBase::timer::tick("ESolver_KS_LCAO", "after_scf"); + + auto* hamilt_lcao = dynamic_cast*>(this->p_hamilt); - // 8) use the converged occupation matrix for next MD/Relax SCF calculation - if (PARAM.inp.dft_plus_u && conv_esolver) + if(!hamilt_lcao) { - GlobalC::dftu.initialed_locale = true; + ModuleBase::WARNING_QUIT("ESolver_KS_LCAO::after_scf","p_hamilt does not exist"); } - // 9) for deepks, output labels during electronic steps (after conv_esolver is renewed) -#ifdef __MLALGO - if (PARAM.inp.deepks_out_labels >0 && PARAM.inp.deepks_out_freq_elec) + if (PARAM.inp.out_elf[0] > 0) + { + LCAO_domain::dm2tau(this->dmat.dm->get_DMR_vector(), PARAM.inp.nspin, this->pelec->charge); + } + + //! 1) call after_scf() of ESolver_KS + ESolver_KS::after_scf(ucell, istep, conv_esolver); + + //! 2) output of lcao every few ionic steps + ModuleIO::ctrl_scf_lcao(ucell, + PARAM.inp, this->kv, this->pelec, this->dmat.dm, this->pv, + this->gd, this->psi, hamilt_lcao, this->dftu, this->two_center_bundle_, + this->orb_, this->pw_wfc, this->pw_rho, this->pw_big, this->sf, + this->rdmft_solver, this->deepks, this->exx_nao, + this->conv_esolver, this->scf_nmax_flag, istep); + + //! 3) Clean up RA, which is used to serach for adjacent atoms + if (!PARAM.inp.cal_force && !PARAM.inp.cal_stress) { - if (iter % PARAM.inp.deepks_out_freq_elec == 0 ) - { - hamilt::HamiltLCAO* p_ham_deepks = dynamic_cast*>(this->p_hamilt); - std::shared_ptr> ld_shared_ptr(&ld, [](LCAO_Deepks*) {}); - LCAO_Deepks_Interface deepks_interface(ld_shared_ptr); - - deepks_interface.out_deepks_labels(this->pelec->f_en.etot, - this->kv.get_nks(), - ucell.nat, - PARAM.globalv.nlocal, - this->pelec->ekb, - this->kv.kvec_d, - ucell, - orb_, - this->gd, - &(this->pv), - *(this->psi), - dynamic_cast*>(this->pelec)->get_DM(), - p_ham_deepks, - iter, - conv_esolver, - GlobalV::MY_RANK, - GlobalV::ofs_running); - } + this->RA.delete_grid(); } -#endif + + ModuleBase::timer::tick("ESolver_KS_LCAO", "after_scf"); } template class ESolver_KS_LCAO; diff --git a/source/source_esolver/esolver_ks_lcao.h b/source/source_esolver/esolver_ks_lcao.h index 8040ccbbb9..4191306788 100644 --- a/source/source_esolver/esolver_ks_lcao.h +++ b/source/source_esolver/esolver_ks_lcao.h @@ -2,32 +2,14 @@ #define ESOLVER_KS_LCAO_H #include "esolver_ks.h" - -// for adjacent atoms -#include "source_lcao/record_adj.h" - -// for NAO basis -#include "source_basis/module_nao/two_center_bundle.h" - -// for grid integration -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" -#include "source_lcao/module_gint/temp_gint/gint.h" -#include "source_lcao/module_gint/temp_gint/gint_info.h" - -// for DeePKS -#ifdef __MLALGO -#include "source_lcao/module_deepks/LCAO_deepks.h" -#endif - -// for EXX -#ifdef __EXX -#include "source_lcao/module_ri/Exx_LRI_interface.h" -#include "source_lcao/module_ri/Mix_DMk_2D.h" -#endif - -// for RDMFT -#include "source_lcao/module_rdmft/rdmft.h" +#include "source_lcao/record_adj.h" // adjacent atoms +#include "source_basis/module_nao/two_center_bundle.h" // nao basis +#include "source_lcao/module_gint/gint.h" // gint +#include "source_lcao/module_gint/gint_info.h" +#include "source_lcao/setup_deepks.h" // for deepks, mohan add 20251008 +#include "source_lcao/setup_exx.h" // for exx, mohan add 20251008 +#include "source_lcao/module_rdmft/rdmft.h" // rdmft +#include "source_lcao/setup_dm.h" // mohan add 2025-10-30 #include @@ -69,8 +51,6 @@ class ESolver_KS_LCAO : public ESolver_KS virtual void hamilt2rho_single(UnitCell& ucell, const int istep, const int iter, const double ethr) override; - virtual void update_pot(UnitCell& ucell, const int istep, const int iter, const bool conv_esolver) override; - virtual void iter_finish(UnitCell& ucell, const int istep, int& iter, bool& conv_esolver) override; virtual void after_scf(UnitCell& ucell, const int istep, const bool conv_esolver) override; @@ -86,45 +66,49 @@ class ESolver_KS_LCAO : public ESolver_KS //! NAO orbitals: 2d block-cyclic distribution info Parallel_Orbitals pv; - //! Grid integration: used for k-point-dependent algorithm - Gint_k GK; - - //! Grid integration: used for gamma only algorithms. - Gint_Gamma GG; - - //! Grid integration: used to store some basic information - Grid_Technique GridT; - -#ifndef __OLD_GINT //! GintInfo: used to store some basic infomation about module_gint std::unique_ptr gint_info_; -#endif + + //! NAO: store related information + LCAO_Orbitals orb_; //! NAO orbitals: two-center integrations TwoCenterBundle two_center_bundle_; + //! Add density matrix class, mohan add 2025-10-30 + LCAO_domain::Setup_DM dmat; + + + // For deepks method, mohan add 2025-10-08 + Setup_DeePKS deepks; + + // For exact-exchange energy, mohan add 2025-10-08 + Exx_NAO exx_nao; + //! For RDMFT calculations, added by jghan, 2024-03-16 rdmft::RDMFT rdmft_solver; - //! NAO: store related information - LCAO_Orbitals orb_; + //! For linear-response TDDFT + friend class LR::ESolver_LR; + friend class LR::ESolver_LR, double>; // Temporarily store the stress to unify the interface with PW, // because it's hard to seperate force and stress calculation in LCAO. ModuleBase::matrix scs; bool have_force = false; -#ifdef __MLALGO - LCAO_Deepks ld; -#endif - -#ifdef __EXX - std::shared_ptr> exd = nullptr; - std::shared_ptr>> exc = nullptr; -#endif - friend class LR::ESolver_LR; - friend class LR::ESolver_LR, double>; + public: + const Record_adj & get_RA() const { return RA; } + const Grid_Driver & get_gd() const { return gd; } + const Parallel_Orbitals & get_pv() const { return pv; } + const std::unique_ptr & get_gint_info() const { return gint_info_; } + const TwoCenterBundle & get_two_center_bundle() const { return two_center_bundle_; } + const rdmft::RDMFT & get_rdmft_solver() const { return rdmft_solver; } + const LCAO_Orbitals & get_orb() const { return orb_; } + const ModuleBase::matrix & get_scs() const { return scs; } + const Setup_DeePKS & get_deepks() const { return deepks; } + const Exx_NAO & get_exx_nao() const { return exx_nao; } }; } // namespace ModuleESolver #endif diff --git a/source/source_esolver/esolver_ks_lcao_tddft.cpp b/source/source_esolver/esolver_ks_lcao_tddft.cpp index 88b7e5136b..0dc9ff9e12 100644 --- a/source/source_esolver/esolver_ks_lcao_tddft.cpp +++ b/source/source_esolver/esolver_ks_lcao_tddft.cpp @@ -1,40 +1,20 @@ #include "esolver_ks_lcao_tddft.h" -#include "source_estate/elecstate_tools.h" -#include "source_io/cal_r_overlap_R.h" +//----------------IO----------------- +#include "source_io/ctrl_output_td.h" #include "source_io/dipole_io.h" -#include "source_io/td_current_io.h" -#include "source_io/read_wfc_nao.h" -#include "source_io/write_HS.h" -#include "source_io/write_HS_R.h" #include "source_io/output_log.h" - -//--------------temporary---------------------------- -#include "source_base/module_external/blas_connector.h" -#include "source_base/global_function.h" -#include "source_base/module_external/scalapack_connector.h" +#include "source_io/read_wfc_nao.h" +#include "source_io/td_current_io.h" +//------LCAO HSolver ElecState------- +#include "source_estate/elecstate_tools.h" #include "source_estate/module_charge/symmetry_rho.h" #include "source_estate/module_dm/cal_dm_psi.h" #include "source_estate/module_dm/cal_edm_tddft.h" -#include "source_estate/module_dm/density_matrix.h" -#include "source_estate/occupy.h" -#include "source_io/print_info.h" -#include "source_lcao/module_rt/evolve_elec.h" -#include "source_pw/module_pwdft/global.h" #include "source_estate/module_pot/H_TDDFT_pw.h" - -//-----HSolver ElecState Hamilt-------- -#include "source_io/module_parameter/parameter.h" -#include "source_estate/cal_ux.h" -#include "source_estate/elecstate_lcao.h" #include "source_hsolver/hsolver_lcao.h" -#include "source_lcao/hamilt_lcao.h" -#include "source_psi/psi.h" - -//-----force& stress------------------- -#include "source_lcao/FORCE_STRESS.h" - -//--------------------------------------------------- +#include "source_lcao/module_rt/evolve_elec.h" +#include "source_lcao/rho_tau_lcao.h" namespace ModuleESolver { @@ -57,23 +37,11 @@ ESolver_KS_LCAO_TDDFT::ESolver_KS_LCAO_TDDFT() template ESolver_KS_LCAO_TDDFT::~ESolver_KS_LCAO_TDDFT() { + //************************************************* + // Do not add any code in this destructor function + //************************************************* delete psi_laststep; - if (Hk_laststep != nullptr) - { - for (int ik = 0; ik < this->kv.get_nks(); ++ik) - { - delete[] Hk_laststep[ik]; - } - delete[] Hk_laststep; - } - if (Sk_laststep != nullptr) - { - for (int ik = 0; ik < this->kv.get_nks(); ++ik) - { - delete[] Sk_laststep[ik]; - } - delete[] Sk_laststep; - } + if (td_p != nullptr) { delete td_p; @@ -84,32 +52,31 @@ ESolver_KS_LCAO_TDDFT::~ESolver_KS_LCAO_TDDFT() template void ESolver_KS_LCAO_TDDFT::before_all_runners(UnitCell& ucell, const Input_para& inp) { - // 1) run before_all_runners in ESolver_KS_LCAO + // Run before_all_runners in ESolver_KS_LCAO ESolver_KS_LCAO, TR>::before_all_runners(ucell, inp); - // this line should be optimized - // this->pelec = dynamic_cast(this->pelec); - - td_p = new TD_info(&ucell); + td_p = new TD_info(&ucell); TD_info::td_vel_op = td_p; totstep += TD_info::estep_shift; if (PARAM.inp.init_wfc == "file") - { - if (!ModuleIO::read_wfc_nao(PARAM.globalv.global_readin_dir, - this->pv, - *(this->psi), - this->pelec, - this->pelec->klist->ik2iktot, - this->pelec->klist->get_nkstot(), - PARAM.inp.nspin, - 0, - TD_info::estep_shift)) + { + if (!ModuleIO::read_wfc_nao(PARAM.globalv.global_readin_dir, + this->pv, + *(this->psi), + this->pelec->ekb, + this->pelec->wg, + this->kv.ik2iktot, + this->kv.get_nkstot(), + PARAM.inp.nspin, + 0, + TD_info::estep_shift)) { - ModuleBase::WARNING_QUIT("ESolver_KS_LCAO", "read electronic wave functions failed"); + ModuleBase::WARNING_QUIT("ESolver_KS_LCAO_TDDFT", "Read electronic wavefunction from file failed!"); } } } + template void ESolver_KS_LCAO_TDDFT::runner(UnitCell& ucell, const int istep) { @@ -119,28 +86,47 @@ void ESolver_KS_LCAO_TDDFT::runner(UnitCell& ucell, const int istep) //---------------------------------------------------------------- // 1) before_scf (electronic iteration loops) //---------------------------------------------------------------- - this->before_scf(ucell, istep); + this->before_scf(ucell, istep); // From ESolver_KS_LCAO ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT SCF"); // Initialize velocity operator for current calculation - if(PARAM.inp.td_stype!=1 && TD_info::out_current) + if (PARAM.inp.td_stype != 1 && TD_info::out_current) { // initialize the velocity operator - velocity_mat = new Velocity_op(&ucell, &(this->gd), &this->pv, this->orb_, this->two_center_bundle_.overlap_orb.get()); - //calculate velocity operator + velocity_mat = new Velocity_op(&ucell, + &(this->gd), + &this->pv, + this->orb_, + this->two_center_bundle_.overlap_orb.get()); + // calculate velocity operator velocity_mat->calculate_grad_term(); velocity_mat->calculate_vcomm_r(); } int estep_max = (istep == 0 && !PARAM.inp.mdp.md_restart) ? 1 : PARAM.inp.estep_per_md; - if(PARAM.inp.mdp.md_nstep==0)estep_max = PARAM.inp.estep_per_md + 1; - //int estep_max = PARAM.inp.estep_per_md; - for(int estep =0; estep < estep_max; estep++) + // mohan change md_nstep from 0 to 1, 2026-01-04 + if (PARAM.inp.mdp.md_nstep == 1) + { + estep_max = PARAM.inp.estep_per_md + 1; + } + + // Reset laststep matrix and wfc, if any atom cross the boundary + // Apply a phase correction to H, S, and psi to keep consistency when atoms cross periodic boundaries + const size_t len_hs_ik = use_tensor && use_lapack ? PARAM.globalv.nlocal * PARAM.globalv.nlocal : this->pv.nloc; + module_rt::reset_matrix_boundary(ucell, + this->kv, + &(this->pv), + this->Hk_laststep, + this->Sk_laststep, + this->psi_laststep, + len_hs_ik); + + for (int estep = 0; estep < estep_max; estep++) { // calculate total time step this->totstep++; this->print_step(); - //update At - if(PARAM.inp.td_stype > 0) + // update At + if (PARAM.inp.td_stype > 0) { elecstate::H_TDDFT_pw::update_At(); td_p->cal_cart_At(elecstate::H_TDDFT_pw::At); @@ -149,7 +135,7 @@ void ESolver_KS_LCAO_TDDFT::runner(UnitCell& ucell, const int istep) ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, "Cartesian vector potential Az(t)", TD_info::cart_At[2]); } - if(estep!=0) + if (estep != 0) { this->CE.update_all_dis(ucell); this->CE.extrapolate_charge(&this->Pgrid, @@ -158,10 +144,10 @@ void ESolver_KS_LCAO_TDDFT::runner(UnitCell& ucell, const int istep) &this->sf, GlobalV::ofs_running, GlobalV::ofs_warning); - //need to test if correct when estep>0 - this->pelec->init_scf(totstep, ucell, this->Pgrid, this->sf.strucFac, this->locpp.numeric, ucell.symm); - - if(totstep <= PARAM.inp.td_tend + 1) + // need to test if correct when estep>0 + this->pelec->init_scf(ucell, this->Pgrid, this->sf.strucFac, this->locpp.numeric, ucell.symm); + + if (totstep <= PARAM.inp.td_tend + 1) { TD_info::evolve_once = true; } @@ -175,24 +161,17 @@ void ESolver_KS_LCAO_TDDFT::runner(UnitCell& ucell, const int istep) for (int iter = 1; iter <= this->maxniter; ++iter) { ModuleIO::write_head_td(GlobalV::ofs_running, istep, totstep, iter, this->basisname); - //---------------------------------------------------------------- - // 3) initialization of SCF iterations - //---------------------------------------------------------------- - this->iter_init(ucell, totstep, iter); - - //---------------------------------------------------------------- - // 4) use Hamiltonian to obtain charge density - //---------------------------------------------------------------- - this->hamilt2rho(ucell, totstep, iter, this->diag_ethr); - - //---------------------------------------------------------------- - // 5) finish scf iterations - //---------------------------------------------------------------- - this->iter_finish(ucell, totstep, iter, conv_esolver); - - //---------------------------------------------------------------- - // 6) check convergence - //---------------------------------------------------------------- + + // 3) Initialization of SCF iterations + this->iter_init(ucell, totstep, iter); // From ESolver_KS_LCAO + + // 4) Use Hamiltonian to obtain charge density + this->hamilt2rho(ucell, totstep, iter, this->diag_ethr); // From ESolver_KS + + // 5) Finish SCF iterations + this->iter_finish(ucell, totstep, estep, estep_max, iter, conv_esolver); + + // 6) Check convergence if (conv_esolver || this->oscillate_esolver) { this->niter = iter; @@ -202,28 +181,38 @@ void ESolver_KS_LCAO_TDDFT::runner(UnitCell& ucell, const int istep) } break; } - } // end scf iterations + } // end SCF iterations //---------------------------------------------------------------- - // 7) after scf + // 7) after_scf //---------------------------------------------------------------- this->after_scf(ucell, totstep, conv_esolver); - if(!restart_done && PARAM.inp.mdp.md_restart) + if (!restart_done && PARAM.inp.mdp.md_restart) { restart_done = true; - estep += TD_info::estep_shift%PARAM.inp.estep_per_md; - if(estep==0)break; - if(PARAM.inp.mdp.md_nstep!=0)estep -= 1; + estep += TD_info::estep_shift % PARAM.inp.estep_per_md; + if (estep == 0) + { + break; + } + // mohan add 2026-01-04, change md_nstep!=0 to md_nstep!=1 + if (PARAM.inp.mdp.md_nstep != 1) + { + estep -= 1; + } } } - if(PARAM.inp.td_stype!=1 && TD_info::out_current) + + if (PARAM.inp.td_stype != 1 && TD_info::out_current) { delete velocity_mat; } + ModuleBase::timer::tick(this->classname, "runner"); return; } -//output electronic step infos + +// Output electronic step information template void ESolver_KS_LCAO_TDDFT::print_step() { @@ -231,6 +220,7 @@ void ESolver_KS_LCAO_TDDFT::print_step() std::cout << " STEP OF ELECTRON EVOLVE : " << unsigned(totstep) << std::endl; std::cout << " -------------------------------------------" << std::endl; } + template void ESolver_KS_LCAO_TDDFT::hamilt2rho_single(UnitCell& ucell, const int istep, @@ -242,58 +232,62 @@ void ESolver_KS_LCAO_TDDFT::hamilt2rho_single(UnitCell& ucell, if (istep >= TD_info::estep_shift + 1) { module_rt::Evolve_elec::solve_psi(istep, - PARAM.inp.nbands, - PARAM.globalv.nlocal, - this->kv.get_nks(), - this->p_hamilt, - this->pv, - this->psi, - this->psi_laststep, - this->Hk_laststep, - this->Sk_laststep, - this->pelec->ekb, - GlobalV::ofs_running, - td_htype, - PARAM.inp.propagator, - use_tensor, - use_lapack); + PARAM.inp.nbands, + PARAM.globalv.nlocal, + this->kv.get_nks(), + this->p_hamilt, + this->pv, + this->psi, + this->psi_laststep, + this->Hk_laststep, + this->Sk_laststep, + this->pelec->ekb, + GlobalV::ofs_running, + PARAM.inp.propagator, + use_tensor, + use_lapack); } this->weight_dm_rho(ucell); } else if (istep >= 1) { module_rt::Evolve_elec::solve_psi(istep, - PARAM.inp.nbands, - PARAM.globalv.nlocal, - this->kv.get_nks(), - this->p_hamilt, - this->pv, - this->psi, - this->psi_laststep, - this->Hk_laststep, - this->Sk_laststep, - this->pelec->ekb, - GlobalV::ofs_running, - td_htype, - PARAM.inp.propagator, - use_tensor, - use_lapack); + PARAM.inp.nbands, + PARAM.globalv.nlocal, + this->kv.get_nks(), + this->p_hamilt, + this->pv, + this->psi, + this->psi_laststep, + this->Hk_laststep, + this->Sk_laststep, + this->pelec->ekb, + GlobalV::ofs_running, + PARAM.inp.propagator, + use_tensor, + use_lapack); this->weight_dm_rho(ucell); } else { - // reset energy + // For the first step, do normal SCF calculation to get initial state this->pelec->f_en.eband = 0.0; this->pelec->f_en.demet = 0.0; if (this->psi != nullptr) { bool skip_charge = PARAM.inp.calculation == "nscf" ? true : false; hsolver::HSolverLCAO> hsolver_lcao_obj(&this->pv, PARAM.inp.ks_solver); - hsolver_lcao_obj.solve(this->p_hamilt, this->psi[0], this->pelec, skip_charge); + hsolver_lcao_obj.solve(this->p_hamilt, + this->psi[0], + this->pelec, + *this->dmat.dm, + this->chr, + PARAM.inp.nspin, + skip_charge); } } - // symmetrize the charge density only for ground state + // Symmetrize the charge density only for ground state if (istep <= 1) { Symmetry_rho srho; @@ -303,18 +297,19 @@ void ESolver_KS_LCAO_TDDFT::hamilt2rho_single(UnitCell& ucell, } } - // (7) calculate delta energy + // Calculate delta energy this->pelec->f_en.deband = this->pelec->cal_delta_eband(ucell); } template -void ESolver_KS_LCAO_TDDFT::iter_finish( - UnitCell& ucell, - const int istep, - int& iter, - bool& conv_esolver) +void ESolver_KS_LCAO_TDDFT::iter_finish(UnitCell& ucell, + const int istep, + const int estep, + const int estep_max, + int& iter, + bool& conv_esolver) { - // print occupation of each band + // Print occupation of each band if (iter == 1 && istep <= 2) { GlobalV::ofs_running << " k-point State Occupations" << std::endl; @@ -325,211 +320,175 @@ void ESolver_KS_LCAO_TDDFT::iter_finish( { for (int ib = 0; ib < PARAM.inp.nbands; ib++) { - GlobalV::ofs_running << " " << std::setw(9) - << ik+1 << std::setw(8) << ib + 1 - << std::setw(12) << this->pelec->wg(ik, ib) << std::endl; + GlobalV::ofs_running << " " << std::setw(9) << ik + 1 << std::setw(8) << ib + 1 << std::setw(12) + << this->pelec->wg(ik, ib) << std::endl; } } GlobalV::ofs_running << std::endl; } ESolver_KS_LCAO, TR>::iter_finish(ucell, istep, iter, conv_esolver); -} -template -void ESolver_KS_LCAO_TDDFT::update_pot(UnitCell& ucell, - const int istep, - const int iter, - const bool conv_esolver) -{ - // Calculate new potential according to new Charge Density - if (!conv_esolver) - { - elecstate::cal_ux(ucell); - this->pelec->pot->update_from_charge(&this->chr, &ucell); - this->pelec->f_en.descf = this->pelec->cal_delta_escf(); - } - else + // Store wave function, Hamiltonian and Overlap matrix, to be used in next time step + this->store_h_s_psi(ucell, istep, iter, conv_esolver); + + // Calculate energy-density matrix for RT-TDDFT + if (conv_esolver && estep == estep_max - 1 && istep >= (PARAM.inp.init_wfc == "file" ? 0 : 1) + && PARAM.inp.td_edm == 0) { - this->pelec->cal_converged(); + if (use_tensor && use_lapack) + { + elecstate::cal_edm_tddft_tensor_lapack(this->pv, this->dmat, this->kv, this->p_hamilt); + } + else + { + elecstate::cal_edm_tddft(this->pv, this->dmat, this->kv, this->p_hamilt); + } } +} - const int nloc = this->pv.nloc; - const int ncol_nbands = this->pv.ncol_bands; - const int nrow = this->pv.nrow; +template +void ESolver_KS_LCAO_TDDFT::store_h_s_psi(UnitCell& ucell, + const int istep, + const int iter, + const bool conv_esolver) +{ const int nbands = PARAM.inp.nbands; const int nlocal = PARAM.globalv.nlocal; - // store wfc and Hk laststep + // Store wave function, Hamiltonian and Overlap matrix if (conv_esolver) { if (this->psi_laststep == nullptr) { - int ncol_tmp = 0; - int nrow_tmp = 0; + this->psi_laststep = new psi::Psi>(this->kv.get_nks(), #ifdef __MPI - ncol_tmp = ncol_nbands; - nrow_tmp = nrow; + this->pv.ncol_bands, + this->pv.nrow, #else - ncol_tmp = nbands; - nrow_tmp = nlocal; + nbands, + nlocal, #endif - this->psi_laststep = new psi::Psi>(this->kv.get_nks(), ncol_tmp, nrow_tmp, this->kv.ngk, true); - + this->kv.ngk, + true); } - // allocate memory for Hk_laststep and Sk_laststep - if (td_htype == 1) + // Length of Hk_laststep and Sk_laststep, nlocal * nlocal for global, nloc for local + const int len_HS_ik = use_tensor && use_lapack ? nlocal * nlocal : this->pv.nloc; + const int len_HS_all = this->kv.get_nks() * len_HS_ik; + + // Allocate memory for Hk_laststep, if (use_tensor && use_lapack), should be global + if (this->Hk_laststep.NumElements() != len_HS_all) { - // Length of Hk_laststep and Sk_laststep, nlocal * nlocal for global, nloc for local - const int len_HS = use_tensor && use_lapack ? nlocal * nlocal : nloc; + this->Hk_laststep = ct::Tensor(ct::DataType::DT_COMPLEX_DOUBLE, + ct_device_type_hs, + ct::TensorShape({this->kv.get_nks(), len_HS_ik})); + this->Hk_laststep.zero(); + } - if (this->Hk_laststep == nullptr) - { - this->Hk_laststep = new std::complex*[this->kv.get_nks()]; - for (int ik = 0; ik < this->kv.get_nks(); ++ik) - { - // Allocate memory for Hk_laststep, if (use_tensor && use_lapack), should be global - this->Hk_laststep[ik] = new std::complex[len_HS]; - ModuleBase::GlobalFunc::ZEROS(Hk_laststep[ik], len_HS); - } - } - if (this->Sk_laststep == nullptr) - { - this->Sk_laststep = new std::complex*[this->kv.get_nks()]; - for (int ik = 0; ik < this->kv.get_nks(); ++ik) - { - // Allocate memory for Sk_laststep, if (use_tensor && use_lapack), should be global - this->Sk_laststep[ik] = new std::complex[len_HS]; - ModuleBase::GlobalFunc::ZEROS(Sk_laststep[ik], len_HS); - } - } + // Allocate memory for Sk_laststep, if (use_tensor && use_lapack), should be global + if (this->Sk_laststep.NumElements() != len_HS_all) + { + this->Sk_laststep = ct::Tensor(ct::DataType::DT_COMPLEX_DOUBLE, + ct_device_type_hs, + ct::TensorShape({this->kv.get_nks(), len_HS_ik})); + this->Sk_laststep.zero(); } - // put information to Hk_laststep and Sk_laststep + // Put information into psi_laststep, Hk_laststep and Sk_laststep for (int ik = 0; ik < this->kv.get_nks(); ++ik) { this->psi->fix_k(ik); this->psi_laststep->fix_k(ik); - // copy the data from psi to psi_laststep - const int size0 = this->psi->get_nbands() * this->psi->get_nbasis(); - for (int index = 0; index < size0; ++index) + // Copy data from psi to psi_laststep at k-point ik + const int len_psi_ik = this->psi->get_nbands() * this->psi->get_nbasis(); + for (int index = 0; index < len_psi_ik; ++index) { psi_laststep[0].get_pointer()[index] = this->psi[0].get_pointer()[index]; } - // store Hamiltonian - if (td_htype == 1) - { - this->p_hamilt->updateHk(ik); - hamilt::MatrixBlock> h_mat; - hamilt::MatrixBlock> s_mat; - this->p_hamilt->matrix(h_mat, s_mat); + // Get H and S matrices at k-point ik + this->p_hamilt->updateHk(ik); + hamilt::MatrixBlock> h_mat; + hamilt::MatrixBlock> s_mat; + this->p_hamilt->matrix(h_mat, s_mat); - if (use_tensor && use_lapack) - { - // Gather H and S matrices to root process + // Store H and S matrices to Hk_laststep and Sk_laststep + if (use_tensor && use_lapack) + { + // Gather H and S matrices to root process #ifdef __MPI - int myid = 0; - int num_procs = 1; - MPI_Comm_rank(MPI_COMM_WORLD, &myid); - MPI_Comm_size(MPI_COMM_WORLD, &num_procs); - - Matrix_g> h_mat_g; // Global matrix structure - Matrix_g> s_mat_g; // Global matrix structure - - // Collect H matrix - gatherMatrix(myid, 0, h_mat, h_mat_g); - BlasConnector::copy(nlocal * nlocal, h_mat_g.p.get(), 1, Hk_laststep[ik], 1); - - // Collect S matrix - gatherMatrix(myid, 0, s_mat, s_mat_g); - BlasConnector::copy(nlocal * nlocal, s_mat_g.p.get(), 1, Sk_laststep[ik], 1); + int myid = 0; + int num_procs = 1; + MPI_Comm_rank(MPI_COMM_WORLD, &myid); + MPI_Comm_size(MPI_COMM_WORLD, &num_procs); + + // Global matrix structure + module_rt::Matrix_g> h_mat_g; + module_rt::Matrix_g> s_mat_g; + + // Collect H matrix + module_rt::gatherMatrix(myid, 0, h_mat, h_mat_g); + BlasConnector::copy(len_HS_ik, + h_mat_g.p.get(), + 1, + this->Hk_laststep.template data>() + ik * len_HS_ik, + 1); + + // Collect S matrix + module_rt::gatherMatrix(myid, 0, s_mat, s_mat_g); + BlasConnector::copy(len_HS_ik, + s_mat_g.p.get(), + 1, + this->Sk_laststep.template data>() + ik * len_HS_ik, + 1); #endif - } - else - { - BlasConnector::copy(nloc, h_mat.p, 1, Hk_laststep[ik], 1); - BlasConnector::copy(nloc, s_mat.p, 1, Sk_laststep[ik], 1); - } } - } - - // calculate energy density matrix for tddft - if (istep >= (PARAM.inp.init_wfc == "file" ? 0 : 1) && PARAM.inp.td_edm == 0) - { - elecstate::cal_edm_tddft(this->pv, this->pelec, this->kv, this->p_hamilt); - } - } - + else + { + BlasConnector::copy(len_HS_ik, + h_mat.p, + 1, + this->Hk_laststep.template data>() + ik * len_HS_ik, + 1); + BlasConnector::copy(len_HS_ik, + s_mat.p, + 1, + this->Sk_laststep.template data>() + ik * len_HS_ik, + 1); + } // end use_tensor + } // end ik + } // conv_esolver } template void ESolver_KS_LCAO_TDDFT::after_scf(UnitCell& ucell, const int istep, const bool conv_esolver) { ModuleBase::TITLE("ESolver_LCAO_TDDFT", "after_scf"); - ModuleBase::timer::tick("ESolver_LCAO_TDDFT", "after_scf"); + ModuleBase::timer::tick(this->classname, "after_scf"); ESolver_KS_LCAO, TR>::after_scf(ucell, istep, conv_esolver); - // (1) write dipole information - for (int is = 0; is < PARAM.inp.nspin; is++) - { - if (PARAM.inp.out_dipole == 1) - { - std::stringstream ss_dipole; - ss_dipole << PARAM.globalv.global_out_dir << "SPIN" << is + 1 << "_DIPOLE"; - ModuleIO::write_dipole(ucell, - this->chr.rho_save[is], - this->chr.rhopw, - is, - istep, - ss_dipole.str()); - } - } - elecstate::DensityMatrix, double>* tmp_DM - = dynamic_cast>*>(this->pelec)->get_DM(); - // (2) write current information - if(TD_info::out_current) - { - if(TD_info::out_current_k) - { - ModuleIO::write_current_eachk(ucell, - istep, - this->psi, - this->pelec, - this->kv, - this->two_center_bundle_.overlap_orb.get(), - tmp_DM->get_paraV_pointer(), - this->orb_, - this->velocity_mat, - this->RA); - } - else - { - ModuleIO::write_current(ucell, - istep, - this->psi, - this->pelec, - this->kv, - this->two_center_bundle_.overlap_orb.get(), - tmp_DM->get_paraV_pointer(), - this->orb_, - this->velocity_mat, - this->RA); - } - } - // (3) output energy for sub loop - std::cout << " Potential (Ry): " << std::setprecision(15) << this->pelec->f_en.etot <out_restart_info(istep, elecstate::H_TDDFT_pw::At, elecstate::H_TDDFT_pw::At_laststep); - } - - ModuleBase::timer::tick("ESolver_LCAO_TDDFT", "after_scf"); + // Output energy for sub-loop (electronic step) + std::cout << " Potential (Ry): " << std::setprecision(15) << this->pelec->f_en.etot << std::endl; + + // Output dipole, current, etc. + ModuleIO::ctrl_output_td(ucell, + this->chr.rho_save, + this->chr.rhopw, + istep, + this->psi, + this->pelec, + this->kv, + this->two_center_bundle_.overlap_orb.get(), + &this->pv, + this->orb_, + this->velocity_mat, + this->RA, + this->td_p); + + ModuleBase::timer::tick(this->classname, "after_scf"); } template @@ -545,25 +504,21 @@ void ESolver_KS_LCAO_TDDFT::weight_dm_rho(const UnitCell& ucell) this->pelec->skip_weights); } - // calculate Eband energy - elecstate::calEBand(this->pelec->ekb,this->pelec->wg,this->pelec->f_en); - - // calculate the density matrix - ModuleBase::GlobalFunc::NOTE("Calculate the density matrix."); + // Calculate Eband energy + elecstate::calEBand(this->pelec->ekb, this->pelec->wg, this->pelec->f_en); - auto _pes = dynamic_cast>*>(this->pelec); - elecstate::cal_dm_psi(_pes->DM->get_paraV_pointer(), _pes->wg, this->psi[0], *(_pes->DM)); - if(PARAM.inp.td_stype == 2) + elecstate::cal_dm_psi(this->dmat.dm->get_paraV_pointer(), this->pelec->wg, this->psi[0], *this->dmat.dm); + if (PARAM.inp.td_stype == 2) { - _pes->DM->cal_DMR_td(ucell, TD_info::cart_At); + this->dmat.dm->cal_DMR_td(ucell, TD_info::cart_At); } else { - _pes->DM->cal_DMR(); + this->dmat.dm->cal_DMR(); } - // get the real-space charge density - this->pelec->psiToRho(this->psi[0]); + // get the real-space charge density, mohan add 2025-10-24 + LCAO_domain::dm2rho(this->dmat.dm->get_DMR_vector(), PARAM.inp.nspin, &this->chr); } template class ESolver_KS_LCAO_TDDFT; diff --git a/source/source_esolver/esolver_ks_lcao_tddft.h b/source/source_esolver/esolver_ks_lcao_tddft.h index fc0a62e41d..53e6ac77f5 100644 --- a/source/source_esolver/esolver_ks_lcao_tddft.h +++ b/source/source_esolver/esolver_ks_lcao_tddft.h @@ -2,52 +2,14 @@ #define ESOLVER_KS_LCAO_TDDFT_H #include "esolver_ks.h" #include "esolver_ks_lcao.h" -#include "source_base/module_external/scalapack_connector.h" // Cpxgemr2d -#include "source_lcao/record_adj.h" -#include "source_psi/psi.h" -#include "source_lcao/module_rt/velocity_op.h" +#include "source_base/module_container/ATen/core/tensor.h" // ct::Tensor +#include "source_lcao/module_rt/gather_mat.h" // MPI gathering and distributing functions #include "source_lcao/module_rt/td_info.h" +#include "source_lcao/module_rt/velocity_op.h" +#include "source_lcao/module_rt/boundary_fix.h" namespace ModuleESolver { -//------------------------ MPI gathering and distributing functions ------------------------// -// This struct is used for collecting matrices from all processes to root process -template -struct Matrix_g -{ - std::shared_ptr p; - size_t row; - size_t col; - std::shared_ptr desc; -}; - -// Collect matrices from all processes to root process -template -void gatherMatrix(const int myid, const int root_proc, const hamilt::MatrixBlock& mat_l, Matrix_g& mat_g) -{ - const int* desca = mat_l.desc; // Obtain the descriptor of the local matrix - int ctxt = desca[1]; // BLACS context - int nrows = desca[2]; // Global matrix row number - int ncols = desca[3]; // Global matrix column number - - if (myid == root_proc) - { - mat_g.p.reset(new T[nrows * ncols]); // No need to delete[] since it is a shared_ptr - } - else - { - mat_g.p.reset(new T[nrows * ncols]); // Placeholder for non-root processes - } - - // Set the descriptor of the global matrix - mat_g.desc.reset(new int[9]{1, ctxt, nrows, ncols, nrows, ncols, 0, 0, nrows}); - mat_g.row = nrows; - mat_g.col = ncols; - - // Call the Cpxgemr2d function in ScaLAPACK to collect the matrix data - Cpxgemr2d(nrows, ncols, mat_l.p, 1, 1, const_cast(desca), mat_g.p.get(), 1, 1, mat_g.desc.get(), ctxt); -} -//------------------------ MPI gathering and distributing functions ------------------------// template class ESolver_KS_LCAO_TDDFT : public ESolver_KS_LCAO, TR> @@ -64,28 +26,36 @@ class ESolver_KS_LCAO_TDDFT : public ESolver_KS_LCAO, TR> virtual void hamilt2rho_single(UnitCell& ucell, const int istep, const int iter, const double ethr) override; - virtual void update_pot(UnitCell& ucell, const int istep, const int iter, const bool conv_esolver) override; + void store_h_s_psi(UnitCell& ucell, const int istep, const int iter, const bool conv_esolver); - virtual void iter_finish(UnitCell& ucell, const int istep, int& iter, bool& conv_esolver) override; + void iter_finish(UnitCell& ucell, + const int istep, + const int estep, + const int estep_max, + int& iter, + bool& conv_esolver); virtual void after_scf(UnitCell& ucell, const int istep, const bool conv_esolver) override; void print_step(); - //! wave functions of last time step - psi::Psi>* psi_laststep = nullptr; - //! Hamiltonian of last time step - std::complex** Hk_laststep = nullptr; + //! Wave function for all k-points of last time step + psi::Psi>* psi_laststep = nullptr; - //! Overlap matrix of last time step - std::complex** Sk_laststep = nullptr; + //! Hamiltonian for all k-points of last time step + ct::Tensor Hk_laststep = ct::Tensor(ct::DataType::DT_COMPLEX_DOUBLE); - const int td_htype = 1; + //! Overlap matrix for all k-points of last time step + ct::Tensor Sk_laststep = ct::Tensor(ct::DataType::DT_COMPLEX_DOUBLE); //! Control heterogeneous computing of the TDDFT solver bool use_tensor = false; bool use_lapack = false; + // Control the device type for Hk_laststep and Sk_laststep + // Set to CPU temporarily, should wait for further GPU development + static constexpr ct::DeviceType ct_device_type_hs = ct::DeviceType::CpuDevice; + //! Total steps for evolving the wave function int totstep = -1; @@ -94,7 +64,7 @@ class ESolver_KS_LCAO_TDDFT : public ESolver_KS_LCAO, TR> TD_info* td_p = nullptr; - //! doubt + //! Restart flag bool restart_done = false; private: @@ -102,5 +72,4 @@ class ESolver_KS_LCAO_TDDFT : public ESolver_KS_LCAO, TR> }; } // namespace ModuleESolver -#endif - +#endif // ESOLVER_KS_LCAO_TDDFT_H diff --git a/source/source_esolver/esolver_ks_lcaopw.cpp b/source/source_esolver/esolver_ks_lcaopw.cpp index 0de6f10a2b..7a6d78e339 100644 --- a/source/source_esolver/esolver_ks_lcaopw.cpp +++ b/source/source_esolver/esolver_ks_lcaopw.cpp @@ -23,13 +23,12 @@ #include "source_pw/module_pwdft/hamilt_pw.h" #include "source_hsolver/diago_iter_assist.h" #include "source_hsolver/hsolver_lcaopw.h" -#include "source_hsolver/kernels/dngvd_op.h" +#include "source_hsolver/kernels/hegvd_op.h" #include "source_base/kernels/math_kernel_op.h" #include "source_io/berryphase.h" #include "source_io/numerical_basis.h" #include "source_io/numerical_descriptor.h" #include "source_io/to_wannier90_pw.h" -#include "source_io/winput.h" #include "source_io/write_elecstat_pot.h" #include "source_io/module_parameter/parameter.h" @@ -52,6 +51,9 @@ namespace ModuleESolver template ESolver_KS_LIP::~ESolver_KS_LIP() { + //**************************************************** + // do not add any codes in this deconstructor funcion + //**************************************************** delete this->psi_local; // delete Hamilt this->deallocate_hamilt(); @@ -79,7 +81,7 @@ namespace ModuleESolver void ESolver_KS_LIP::before_scf(UnitCell& ucell, const int istep) { ESolver_KS_PW::before_scf(ucell, istep); - this->p_psi_init->initialize_lcao_in_pw(this->psi_local, GlobalV::ofs_running); + this->stp.p_psi_init->initialize_lcao_in_pw(this->psi_local, GlobalV::ofs_running); } template @@ -87,9 +89,9 @@ namespace ModuleESolver { ESolver_KS_PW::before_all_runners(ucell, inp); delete this->psi_local; - this->psi_local = new psi::Psi(this->psi->get_nk(), - this->p_psi_init->psi_initer->nbands_start(), - this->psi->get_nbasis(), + this->psi_local = new psi::Psi(this->stp.psi_cpu->get_nk(), + this->stp.p_psi_init->psi_initer->nbands_start(), + this->stp.psi_cpu->get_nbasis(), this->kv.ngk, true); #ifdef __EXX @@ -103,13 +105,12 @@ namespace ModuleESolver ucell.symm, &this->kv, this->psi_local, - this->kspw_psi, + this->stp.psi_t, this->pw_wfc, this->pw_rho, this->sf, &ucell, this->pelec)); - // this->exx_lip.init(GlobalC::exx_info.info_lip, cell.symm, &this->kv, this->p_psi_init, this->kspw_psi, this->pw_wfc, this->pw_rho, this->sf, &cell, this->pelec); } } #endif @@ -145,7 +146,8 @@ namespace ModuleESolver bool skip_charge = PARAM.inp.calculation == "nscf" ? true : false; hsolver::HSolverLIP hsolver_lip_obj(this->pw_wfc); - hsolver_lip_obj.solve(this->p_hamilt, this->kspw_psi[0], this->pelec, *this->psi_local, skip_charge,ucell.tpiba,ucell.nat); + hsolver_lip_obj.solve(this->p_hamilt, this->stp.psi_t[0], this->pelec, + *this->psi_local, skip_charge,ucell.tpiba,ucell.nat); // add exx #ifdef __EXX @@ -242,7 +244,7 @@ namespace ModuleESolver ModuleIO::write_Vxc(PARAM.inp.nspin, PARAM.globalv.nlocal, GlobalV::DRANK, - *this->kspw_psi, + *this->stp.psi_t, ucell, this->sf, this->solvent, diff --git a/source/source_esolver/esolver_ks_pw.cpp b/source/source_esolver/esolver_ks_pw.cpp index 6ed705eb1c..61ee2e10bc 100644 --- a/source/source_esolver/esolver_ks_pw.cpp +++ b/source/source_esolver/esolver_ks_pw.cpp @@ -1,52 +1,32 @@ #include "esolver_ks_pw.h" -#include "source_base/formatter.h" -#include "source_base/global_variable.h" -#include "source_base/kernels/math_kernel_op.h" -#include "source_base/memory.h" #include "source_estate/cal_ux.h" #include "source_estate/elecstate_pw.h" -#include "source_estate/elecstate_pw_sdft.h" -#include "source_estate/elecstate_tools.h" #include "source_estate/module_charge/symmetry_rho.h" -#include "source_hamilt/module_ewald/H_Ewald_pw.h" -#include "source_hamilt/module_vdw/vdw.h" + #include "source_hsolver/diago_iter_assist.h" #include "source_hsolver/hsolver_pw.h" -#include "source_hsolver/kernels/dngvd_op.h" -#include "source_io/berryphase.h" -#include "source_io/cal_ldos.h" -#include "source_io/get_pchg_pw.h" -#include "source_io/get_wf_pw.h" + +#include "source_hsolver/kernels/hegvd_op.h" #include "source_io/module_parameter/parameter.h" -#include "source_io/numerical_basis.h" -#include "source_io/numerical_descriptor.h" -#include "source_io/to_wannier90_pw.h" -#include "source_io/winput.h" -#include "source_io/write_dos_pw.h" -#include "source_io/write_wfc_pw.h" #include "source_lcao/module_deltaspin/spin_constrain.h" +#include "source_pw/module_pwdft/onsite_projector.h" #include "source_lcao/module_dftu/dftu.h" -#include "source_pw/module_pwdft/elecond.h" -#include "source_pw/module_pwdft/forces.h" +#include "source_pw/module_pwdft/VSep_in_pw.h" #include "source_pw/module_pwdft/hamilt_pw.h" -#include "source_pw/module_pwdft/onsite_projector.h" -#include "source_pw/module_pwdft/stress_pw.h" -#include - -#ifdef __MLALGO -#include "source_io/write_mlkedf_descriptors.h" -#endif - -#include -#include +#include "source_pw/module_pwdft/forces.h" +#include "source_pw/module_pwdft/stress_pw.h" #ifdef __DSP #include "source_base/kernels/dsp/dsp_connector.h" #endif -#include +#include "source_pw/module_pwdft/setup_pot.h" // mohan add 20250929 +#include "source_estate/setup_estate_pw.h" // mohan add 20251005 +#include "source_io/ctrl_output_pw.h" // mohan add 20250927 +#include "source_estate/module_charge/chgmixing.h" // use charge mixing, mohan add 20251006 +#include "source_estate/update_pot.h" // mohan add 20251016 namespace ModuleESolver { @@ -57,68 +37,31 @@ ESolver_KS_PW::ESolver_KS_PW() this->classname = "ESolver_KS_PW"; this->basisname = "PW"; this->device = base_device::get_device_type(this->ctx); - -#if ((defined __CUDA) || (defined __ROCM)) - if (this->device == base_device::GpuDevice) - { - ModuleBase::createGpuBlasHandle(); - hsolver::createGpuSolverHandle(); - container::kernels::createGpuBlasHandle(); - container::kernels::createGpuSolverHandle(); - } -#endif - -#ifdef __DSP - std::cout << " ** Initializing DSP Hardware..." << std::endl; - mtfunc::dspInitHandle(GlobalV::MY_RANK); -#endif } template ESolver_KS_PW::~ESolver_KS_PW() { - - // delete Hamilt + //**************************************************** + // do not add any codes in this deconstructor funcion + //**************************************************** + // delete Hamilt this->deallocate_hamilt(); - if (this->pelec != nullptr) - { - delete reinterpret_cast*>(this->pelec); - this->pelec = nullptr; - } - - if (this->device == base_device::GpuDevice) - { -#if defined(__CUDA) || defined(__ROCM) - ModuleBase::destoryBLAShandle(); - hsolver::destroyGpuSolverHandle(); - container::kernels::destroyGpuBlasHandle(); - container::kernels::destroyGpuSolverHandle(); -#endif - } - -#ifdef __DSP - std::cout << " ** Closing DSP Hardware..." << std::endl; - mtfunc::dspDestoryHandle(GlobalV::MY_RANK); -#endif - - if (PARAM.inp.device == "gpu" || PARAM.inp.precision == "single") - { - delete this->kspw_psi; - } - if (PARAM.inp.precision == "single") - { - delete this->__kspw_psi; - } - - delete this->psi; - delete this->p_psi_init; + // mohan add 2025-10-12 + this->stp.clean(); } template void ESolver_KS_PW::allocate_hamilt(const UnitCell& ucell) { - this->p_hamilt = new hamilt::HamiltPW(this->pelec->pot, this->pw_wfc, &this->kv, &this->ppcell, &ucell); + this->p_hamilt = new hamilt::HamiltPW( + this->pelec->pot, + this->pw_wfc, + &this->kv, + &this->ppcell, + &this->dftu, + &ucell); } template @@ -134,98 +77,19 @@ void ESolver_KS_PW::deallocate_hamilt() template void ESolver_KS_PW::before_all_runners(UnitCell& ucell, const Input_para& inp) { - // 1) call before_all_runners() of ESolver_KS + //! Call before_all_runners() of ESolver_KS ESolver_KS::before_all_runners(ucell, inp); - // 2) initialize ElecState, set pelec pointer - if (this->pelec == nullptr) - { - if (inp.esolver_type == "sdft") - { - //! SDFT only supports double precision currently - this->pelec = new elecstate::ElecStatePW_SDFT, Device>(this->pw_wfc, - &(this->chr), - &(this->kv), - &ucell, - &(this->ppcell), - this->pw_rhod, - this->pw_rho, - this->pw_big); - } - else - { - this->pelec = new elecstate::ElecStatePW(this->pw_wfc, - &(this->chr), - &(this->kv), - &ucell, - &this->ppcell, - this->pw_rhod, - this->pw_rho, - this->pw_big); - } - } - - //! set the cell volume variable in pelec - this->pelec->omega = ucell.omega; - - //! 3) inititlize the charge density. - this->chr.allocate(inp.nspin); + //! setup and allocation for pelec, potentials, etc. + elecstate::setup_estate_pw(ucell, this->kv, this->sf, this->pelec, this->chr, + this->locpp, this->ppcell, this->vsep_cell, this->pw_wfc, this->pw_rho, + this->pw_rhod, this->pw_big, this->solvent, inp); - //! 4) initialize the potential. - if (this->pelec->pot == nullptr) - { - this->pelec->pot = new elecstate::Potential(this->pw_rhod, - this->pw_rho, - &ucell, - &this->locpp.vloc, - &(this->sf), - &(this->solvent), - &(this->pelec->f_en.etxc), - &(this->pelec->f_en.vtxc)); - } - - //! 5) Initalize local pseudopotential - this->locpp.init_vloc(ucell, this->pw_rhod); - ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "LOCAL POTENTIAL"); - - //! 6) Initalize non-local pseudopotential - this->ppcell.init(ucell, &this->sf, this->pw_wfc); - this->ppcell.init_vnl(ucell, this->pw_rhod); - ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "NON-LOCAL POTENTIAL"); - - //! 7) Allocate and initialize psi - this->p_psi_init = new psi::PSIInit(inp.init_wfc, - inp.ks_solver, - inp.basis_type, - GlobalV::MY_RANK, - ucell, - this->sf, - this->kv, - this->ppcell, - *this->pw_wfc); - - allocate_psi(this->psi, this->kv.get_nks(), this->kv.ngk, PARAM.globalv.nbands_l, this->pw_wfc->npwk_max); - - this->p_psi_init->prepare_init(inp.pw_seed); - - this->kspw_psi = inp.device == "gpu" || inp.precision == "single" - ? new psi::Psi(this->psi[0]) - : reinterpret_cast*>(this->psi); + this->stp.before_runner(ucell, this->kv, this->sf, *this->pw_wfc, this->ppcell, PARAM.inp); ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT BASIS"); - //! 8) setup occupations - if (inp.ocp) - { - elecstate::fixed_weights(inp.ocp_kb, - inp.nbands, - inp.nelec, - this->pelec->klist, - this->pelec->wg, - this->pelec->skip_weights); - } - - // 9) initialize exx pw + //! Initialize exx pw if (inp.calculation == "scf" || inp.calculation == "relax" || inp.calculation == "cell-relax" || inp.calculation == "md") { @@ -248,14 +112,10 @@ void ESolver_KS_PW::before_scf(UnitCell& ucell, const int istep) ModuleBase::TITLE("ESolver_KS_PW", "before_scf"); ModuleBase::timer::tick("ESolver_KS_PW", "before_scf"); - //---------------------------------------------------------- - //! 1) Call before_scf() of ESolver_KS - //---------------------------------------------------------- + //! Call before_scf() of ESolver_KS ESolver_KS::before_scf(ucell, istep); - //---------------------------------------------------------- - //! 2) Init variables (cell changed) - //---------------------------------------------------------- + //! Init variables (once the cell has changed) if (ucell.cell_parameter_updated) { this->ppcell.rescale_vnl(ucell.omega); @@ -267,131 +127,36 @@ void ESolver_KS_PW::before_scf(UnitCell& ucell, const int istep) this->pw_wfc->collect_local_pw(PARAM.inp.erf_ecut, PARAM.inp.erf_height, PARAM.inp.erf_sigma); - this->p_psi_init->prepare_init(PARAM.inp.pw_seed); + this->stp.p_psi_init->prepare_init(PARAM.inp.pw_seed); } - //---------------------------------------------------------- - //! 3) init Hamiltonian (cell changed) - //---------------------------------------------------------- + //! Init Hamiltonian (cell changed) //! Operators in HamiltPW should be reallocated once cell changed //! delete Hamilt if not first scf this->deallocate_hamilt(); - // allocate HamiltPW + //! Allocate HamiltPW this->allocate_hamilt(ucell); - //---------------------------------------------------------- - //! 4) Exx calculations - //---------------------------------------------------------- - if (PARAM.inp.calculation == "scf" || PARAM.inp.calculation == "relax" || PARAM.inp.calculation == "cell-relax" - || PARAM.inp.calculation == "md") - { - if (GlobalC::exx_info.info_global.cal_exx && PARAM.inp.basis_type == "pw") - { - auto hamilt_pw = reinterpret_cast*>(this->p_hamilt); - hamilt_pw->set_exx_helper(exx_helper); - } - } - - //---------------------------------------------------------- - //! 5) Renew local pseudopotential - //---------------------------------------------------------- - this->pelec - ->init_scf(istep, ucell, this->Pgrid, this->sf.strucFac, this->locpp.numeric, ucell.symm, (void*)this->pw_wfc); - - //---------------------------------------------------------- - //! 6) Symmetrize the charge density (rho) - //---------------------------------------------------------- - - //! Symmetry_rho should behind init_scf, because charge should be - //! initialized first. liuyu comment: Symmetry_rho should be - //! located between init_rho and v_of_rho? - Symmetry_rho srho; - for (int is = 0; is < PARAM.inp.nspin; is++) - { - srho.begin(is, this->chr, this->pw_rhod, ucell.symm); - } - - //---------------------------------------------------------- - //! 7) Calculate the effective potential with rho - //---------------------------------------------------------- - //! liuyu move here 2023-10-09 - //! D in uspp need vloc, thus behind init_scf() - //! calculate the effective coefficient matrix - //! for non-local pseudopotential projectors - ModuleBase::matrix veff = this->pelec->pot->get_effective_v(); - - this->ppcell.cal_effective_D(veff, this->pw_rhod, ucell); - - //---------------------------------------------------------- - //! 8) Onsite projectors - //---------------------------------------------------------- - if (PARAM.inp.onsite_radius > 0) - { - auto* onsite_p = projectors::OnsiteProjector::get_instance(); - onsite_p->init(PARAM.inp.orbital_dir, - &ucell, - *(this->kspw_psi), - this->kv, - *(this->pw_wfc), - this->sf, - PARAM.inp.onsite_radius, - PARAM.globalv.nqx, - PARAM.globalv.dq, - this->pelec->wg, - this->pelec->ekb); - } - - //---------------------------------------------------------- - //! 9) Spin-constrained algorithms - //---------------------------------------------------------- - if (PARAM.inp.sc_mag_switch) - { - spinconstrain::SpinConstrain>& sc - = spinconstrain::SpinConstrain>::getScInstance(); - sc.init_sc(PARAM.inp.sc_thr, - PARAM.inp.nsc, - PARAM.inp.nsc_min, - PARAM.inp.alpha_trial, - PARAM.inp.sccut, - PARAM.inp.sc_drop_thr, - ucell, - nullptr, - PARAM.inp.nspin, - this->kv, - this->p_hamilt, - this->kspw_psi, - this->pelec, - this->pw_wfc); - } - - //---------------------------------------------------------- - //! 10) DFT+U algorithm - //---------------------------------------------------------- - if (PARAM.inp.dft_plus_u) - { - auto* dftu = ModuleDFTU::DFTU::get_instance(); - dftu->init(ucell, nullptr, this->kv.get_nks()); - } + //! Setup potentials (local, non-local, sc, +U, DFT-1/2) + // note: init DFT+U is done here for pw basis for every scf iteration, however, + // init DFT+U is done in "before_all_runners" in LCAO basis. This should be refactored, mohan note 2025-11-06 + pw::setup_pot(istep, ucell, this->kv, this->sf, this->pelec, this->Pgrid, + this->chr, this->locpp, this->ppcell, this->dftu, this->vsep_cell, + this->stp.psi_t, this->p_hamilt, this->pw_wfc, this->pw_rhod, PARAM.inp); - //---------------------------------------------------------- - //! 10) Initialize wave functions - //---------------------------------------------------------- - if (!this->already_initpsi) - { - this->p_psi_init->initialize_psi(this->psi, this->kspw_psi, this->p_hamilt, GlobalV::ofs_running); - this->already_initpsi = true; - } + // setup psi (electronic wave functions) + this->stp.init(this->p_hamilt); - //---------------------------------------------------------- - //! 11) Exx calculations - //---------------------------------------------------------- - if (PARAM.inp.calculation == "scf" || PARAM.inp.calculation == "relax" || PARAM.inp.calculation == "cell-relax" - || PARAM.inp.calculation == "md") + //! Exx calculations + if (PARAM.inp.calculation == "scf" || PARAM.inp.calculation == "relax" + || PARAM.inp.calculation == "cell-relax" || PARAM.inp.calculation == "md") { if (GlobalC::exx_info.info_global.cal_exx && PARAM.inp.basis_type == "pw") { - exx_helper.set_psi(kspw_psi); + auto hamilt_pw = reinterpret_cast*>(this->p_hamilt); + hamilt_pw->set_exx_helper(exx_helper); + exx_helper.set_psi(this->stp.psi_t); } } @@ -401,77 +166,27 @@ void ESolver_KS_PW::before_scf(UnitCell& ucell, const int istep) template void ESolver_KS_PW::iter_init(UnitCell& ucell, const int istep, const int iter) { - // call iter_init() of ESolver_KS + // 1) Call iter_init() of ESolver_KS ESolver_KS::iter_init(ucell, istep, iter); - if (iter == 1) - { - this->p_chgmix->init_mixing(); - this->p_chgmix->mixing_restart_step = PARAM.inp.scf_nmax + 1; - } + // 2) perform charge mixing for KSDFT using pw basis + module_charge::chgmixing_ks_pw(iter, this->p_chgmix, this->dftu, PARAM.inp); - //---------------------------------------------------------- - // for mixing restart - // the details should move somewhere else, 2025-04-13 - //---------------------------------------------------------- - if (iter == this->p_chgmix->mixing_restart_step && PARAM.inp.mixing_restart > 0.0) - { - this->p_chgmix->init_mixing(); - this->p_chgmix->mixing_restart_count++; - - if (PARAM.inp.dft_plus_u) - { - auto* dftu = ModuleDFTU::DFTU::get_instance(); - if (dftu->uramping > 0.01 && !dftu->u_converged()) - { - this->p_chgmix->mixing_restart_step = PARAM.inp.scf_nmax + 1; - } - if (dftu->uramping > 0.01) - { - bool do_uramping = true; - if (PARAM.inp.sc_mag_switch) - { - spinconstrain::SpinConstrain>& sc - = spinconstrain::SpinConstrain>::getScInstance(); - if (!sc.mag_converged()) // skip uramping if mag not converged - { - do_uramping = false; - } - } - if (do_uramping) - { - dftu->uramping_update(); // update U by uramping if uramping > 0.01 - std::cout << " U-Ramping! Current U = "; - for (int i = 0; i < dftu->U0.size(); i++) - { - std::cout << dftu->U[i] * ModuleBase::Ry_to_eV << " "; - } - std::cout << " eV " << std::endl; - } - } - } - } - - //---------------------------------------------------------- - // mohan move harris functional to here, 2012-06-05 + // 3) mohan move harris functional here, 2012-06-05 // use 'rho(in)' and 'v_h and v_xc'(in) - //---------------------------------------------------------- this->pelec->f_en.deband_harris = this->pelec->cal_delta_eband(ucell); - //---------------------------------------------------------- - // update local occupations for DFT+U + // 4) update local occupations for DFT+U // should before lambda loop in DeltaSpin - //---------------------------------------------------------- if (PARAM.inp.dft_plus_u && (iter != 1 || istep != 0)) { - auto* dftu = ModuleDFTU::DFTU::get_instance(); // only old DFT+U method should calculate energy correction in esolver, // new DFT+U method will calculate energy when evaluating the Hamiltonian - if (dftu->omc != 2) + if (this->dftu.omc != 2) { - dftu->cal_occ_pw(iter, this->kspw_psi, this->pelec->wg, ucell, PARAM.inp.mixing_beta); + this->dftu.cal_occ_pw(iter, this->stp.psi_t, this->pelec->wg, ucell, PARAM.inp.mixing_beta); } - dftu->output(ucell); + this->dftu.output(ucell); } } @@ -489,7 +204,6 @@ void ESolver_KS_PW::hamilt2rho_single(UnitCell& ucell, const int iste // be careful that istep start from 0 and iter start from 1 // if (iter == 1) hsolver::DiagoIterAssist::need_subspace = ((istep == 0 || istep == 1) && iter == 1) ? false : true; - hsolver::DiagoIterAssist::SCF_ITER = iter; hsolver::DiagoIterAssist::PW_DIAG_THR = ethr; @@ -521,6 +235,7 @@ void ESolver_KS_PW::hamilt2rho_single(UnitCell& ucell, const int iste skip_solve = true; } } + if (!skip_solve) { hsolver::HSolverPW hsolver_pw_obj(this->pw_wfc, @@ -536,15 +251,8 @@ void ESolver_KS_PW::hamilt2rho_single(UnitCell& ucell, const int iste hsolver::DiagoIterAssist::need_subspace, PARAM.inp.use_k_continuity); - hsolver_pw_obj.solve(this->p_hamilt, - this->kspw_psi[0], - this->pelec, - this->pelec->ekb.c, - GlobalV::RANK_IN_POOL, - GlobalV::NPROC_IN_POOL, - skip_charge, - ucell.tpiba, - ucell.nat); + hsolver_pw_obj.solve(this->p_hamilt, this->stp.psi_t[0], this->pelec, this->pelec->ekb.c, + GlobalV::RANK_IN_POOL, GlobalV::NPROC_IN_POOL, skip_charge, ucell.tpiba, ucell.nat); } // symmetrize the charge density @@ -557,60 +265,32 @@ void ESolver_KS_PW::hamilt2rho_single(UnitCell& ucell, const int iste ModuleBase::timer::tick("ESolver_KS_PW", "hamilt2rho_single"); } -// Temporary, it should be rewritten with Hamilt class. -template -void ESolver_KS_PW::update_pot(UnitCell& ucell, const int istep, const int iter, const bool conv_esolver) -{ - if (!conv_esolver) - { - elecstate::cal_ux(ucell); - this->pelec->pot->update_from_charge(&this->chr, &ucell); - this->pelec->f_en.descf = this->pelec->cal_delta_escf(); -#ifdef __MPI - MPI_Bcast(&(this->pelec->f_en.descf), 1, MPI_DOUBLE, 0, BP_WORLD); -#endif - } - else - { - this->pelec->cal_converged(); - } -} template void ESolver_KS_PW::iter_finish(UnitCell& ucell, const int istep, int& iter, bool& conv_esolver) { - //---------------------------------------------------------- // Related to EXX - //---------------------------------------------------------- if (GlobalC::exx_info.info_global.cal_exx && !exx_helper.op_exx->first_iter) { - this->pelec->set_exx(exx_helper.cal_exx_energy(kspw_psi)); + this->pelec->set_exx(exx_helper.cal_exx_energy(this->stp.psi_t)); } - //---------------------------------------------------------- - // deband is calculated from "output" charge density calculated - // in sum_band - // need 'rho(out)' and 'vr (v_h(in) and v_xc(in))' - //---------------------------------------------------------- + // deband is calculated from "output" charge density this->pelec->f_en.deband = this->pelec->cal_delta_eband(ucell); - //---------------------------------------------------------- - // 1) Call iter_finish() of ESolver_KS - //---------------------------------------------------------- + // Call iter_finish() of ESolver_KS ESolver_KS::iter_finish(ucell, istep, iter, conv_esolver); - //---------------------------------------------------------- - // 2) Update USPP-related quantities // D in USPP needs vloc, thus needs update when veff updated // calculate the effective coefficient matrix for non-local // pp projectors, liuyu 2023-10-24 - //---------------------------------------------------------- if (PARAM.globalv.use_uspp) { - ModuleBase::matrix veff = this->pelec->pot->get_effective_v(); + ModuleBase::matrix veff = this->pelec->pot->get_eff_v(); this->ppcell.cal_effective_D(veff, this->pw_rhod, ucell); } + // Related to EXX if (GlobalC::exx_info.info_global.cal_exx) { if (GlobalC::exx_info.info_global.separate_loop) @@ -620,10 +300,20 @@ void ESolver_KS_PW::iter_finish(UnitCell& ucell, const int istep, int auto start = std::chrono::high_resolution_clock::now(); exx_helper.set_firstiter(false); exx_helper.op_exx->first_iter = false; - exx_helper.set_psi(this->kspw_psi); - - conv_esolver = exx_helper.exx_after_converge(iter); + double dexx = 0.0; + if (PARAM.inp.exx_thr_type == "energy") + { + dexx = exx_helper.cal_exx_energy(this->stp.psi_t); + } + exx_helper.set_psi(this->stp.psi_t); + if (PARAM.inp.exx_thr_type == "energy") + { + dexx -= exx_helper.cal_exx_energy(this->stp.psi_t); + // std::cout << "dexx = " << dexx << std::endl; + } + bool conv_ene = std::abs(dexx) < PARAM.inp.exx_ene_thr; + conv_esolver = exx_helper.exx_after_converge(iter, conv_ene); if (!conv_esolver) { auto duration = std::chrono::high_resolution_clock::now() - start; @@ -632,55 +322,36 @@ void ESolver_KS_PW::iter_finish(UnitCell& ucell, const int istep, int << std::endl; exx_helper.op_exx->first_iter = false; XC_Functional::set_xc_type(ucell.atoms[0].ncpp.xc_func); - update_pot(ucell, istep, iter, conv_esolver); + elecstate::update_pot(ucell, this->pelec, this->chr, conv_esolver); + exx_helper.iter_inc(); } } } else { - exx_helper.set_psi(this->kspw_psi); + exx_helper.set_psi(this->stp.psi_t); } } - //---------------------------------------------------------- - // 3) Print out electronic wavefunctions in pw basis - //---------------------------------------------------------- - if (iter % PARAM.inp.out_freq_elec == 0 || iter == PARAM.inp.scf_nmax || conv_esolver) - { - ModuleIO::write_wfc_pw(GlobalV::KPAR, - GlobalV::MY_POOL, - GlobalV::MY_RANK, - PARAM.inp.nbands, - PARAM.inp.nspin, - PARAM.globalv.npol, - GlobalV::RANK_IN_POOL, - GlobalV::NPROC_IN_POOL, - PARAM.inp.out_wfc_pw, - PARAM.inp.ecutwfc, - PARAM.globalv.global_out_dir, - this->psi[0], - this->kv, - this->pw_wfc, - GlobalV::ofs_running); - } - - //---------------------------------------------------------- - // 4) check if oscillate for delta_spin method - //---------------------------------------------------------- + // check if oscillate for delta_spin method if (PARAM.inp.sc_mag_switch) { spinconstrain::SpinConstrain>& sc = spinconstrain::SpinConstrain>::getScInstance(); if (!sc.higher_mag_prec) { - sc.higher_mag_prec - = this->p_chgmix->if_scf_oscillate(iter, this->drho, PARAM.inp.sc_os_ndim, PARAM.inp.scf_os_thr); + sc.higher_mag_prec = this->p_chgmix->if_scf_oscillate(iter, + this->drho, PARAM.inp.sc_os_ndim, PARAM.inp.scf_os_thr); if (sc.higher_mag_prec) { // if oscillate, increase the precision of magnetization and do mixing_restart in next iteration this->p_chgmix->mixing_restart_step = iter + 1; } } } + + // the output quantities + ModuleIO::ctrl_iter_pw(istep, iter, conv_esolver, this->stp.psi_cpu, + this->kv, this->pw_wfc, PARAM.inp); } template @@ -689,133 +360,22 @@ void ESolver_KS_PW::after_scf(UnitCell& ucell, const int istep, const ModuleBase::TITLE("ESolver_KS_PW", "after_scf"); ModuleBase::timer::tick("ESolver_KS_PW", "after_scf"); - //------------------------------------------------------------------ - // 1) since ESolver_KS::psi is hidden by ESolver_KS_PW::psi, + // Since ESolver_KS::psi is hidden by ESolver_KS_PW::psi, // we need to copy the data from ESolver_KS::psi to ESolver_KS_PW::psi. - // This part needs to be removed when we have a better design. // sunliang 2025-04-10 - //------------------------------------------------------------------ if (PARAM.inp.out_elf[0] > 0) { - this->ESolver_KS::psi = new psi::Psi(this->psi[0]); + this->ESolver_KS::psi = new psi::Psi(this->stp.psi_cpu[0]); + this->pelec->cal_tau(*(this->psi)); } - //------------------------------------------------------------------ - // 2) call after_scf() of ESolver_KS - //------------------------------------------------------------------ + // Call 'after_scf' of ESolver_KS ESolver_KS::after_scf(ucell, istep, conv_esolver); - //------------------------------------------------------------------ - // 3) transfer data from GPU to CPU in pw basis - //------------------------------------------------------------------ - if (this->device == base_device::GpuDevice) - { - castmem_2d_d2h_op()(this->psi[0].get_pointer() - this->psi[0].get_psi_bias(), - this->kspw_psi[0].get_pointer() - this->kspw_psi[0].get_psi_bias(), - this->psi[0].size()); - } - - //------------------------------------------------------------------ - // 4) calculate band-decomposed (partial) charge density in pw basis - //------------------------------------------------------------------ - if (PARAM.inp.out_pchg.size() > 0) - { - if (this->__kspw_psi != nullptr && PARAM.inp.precision == "single") - { - delete reinterpret_cast, Device>*>(this->__kspw_psi); - } - - // Refresh __kspw_psi - this->__kspw_psi = PARAM.inp.precision == "single" - ? new psi::Psi, Device>(this->kspw_psi[0]) - : reinterpret_cast, Device>*>(this->kspw_psi); - - ModuleIO::get_pchg_pw(PARAM.inp.out_pchg, - this->kspw_psi->get_nbands(), - PARAM.inp.nspin, - this->pw_rhod->nxyz, - this->chr.ngmc, - &ucell, - this->__kspw_psi, - this->pw_rhod, - this->pw_wfc, - this->ctx, - this->Pgrid, - PARAM.globalv.global_out_dir, - PARAM.inp.if_separate_k, - this->kv, - GlobalV::KPAR, - GlobalV::MY_POOL, - &this->chr); - } - - // tmp 2025-05-17, mohan note - ModuleIO::write_wfc_pw(GlobalV::KPAR, - GlobalV::MY_POOL, - GlobalV::MY_RANK, - PARAM.inp.nbands, - PARAM.inp.nspin, - PARAM.globalv.npol, - GlobalV::RANK_IN_POOL, - GlobalV::NPROC_IN_POOL, - PARAM.inp.out_wfc_pw, - PARAM.inp.ecutwfc, - PARAM.globalv.global_out_dir, - this->psi[0], - this->kv, - this->pw_wfc, - GlobalV::ofs_running); - - //------------------------------------------------------------------ - //! 5) calculate Wannier functions in pw basis - //------------------------------------------------------------------ - if (PARAM.inp.calculation == "nscf" && PARAM.inp.towannier90) - { - std::cout << FmtCore::format("\n * * * * * *\n << Start %s.\n", "Wannier functions calculation"); - toWannier90_PW wan(PARAM.inp.out_wannier_mmn, - PARAM.inp.out_wannier_amn, - PARAM.inp.out_wannier_unk, - PARAM.inp.out_wannier_eig, - PARAM.inp.out_wannier_wvfn_formatted, - PARAM.inp.nnkpfile, - PARAM.inp.wannier_spin); - wan.set_tpiba_omega(ucell.tpiba, ucell.omega); - wan.calculate(ucell, this->pelec->ekb, this->pw_wfc, this->pw_big, this->kv, this->psi); - std::cout << FmtCore::format(" >> Finish %s.\n * * * * * *\n", "Wannier functions calculation"); - } - - //------------------------------------------------------------------ - //! 6) calculate Berry phase polarization in pw basis - //------------------------------------------------------------------ - if (PARAM.inp.calculation == "nscf" && berryphase::berry_phase_flag && ModuleSymmetry::Symmetry::symm_flag != 1) - { - std::cout << FmtCore::format("\n * * * * * *\n << Start %s.\n", "Berry phase polarization"); - berryphase bp; - bp.Macroscopic_polarization(ucell, this->pw_wfc->npwk_max, this->psi, this->pw_rho, this->pw_wfc, this->kv); - std::cout << FmtCore::format(" >> Finish %s.\n * * * * * *\n", "Berry phase polarization"); - } - - //------------------------------------------------------------------ - // 7) write spin constrian results in pw basis - // spin constrain calculations, write atomic magnetization and magnetic force. - //------------------------------------------------------------------ - if (PARAM.inp.sc_mag_switch) - { - spinconstrain::SpinConstrain>& sc - = spinconstrain::SpinConstrain>::getScInstance(); - sc.cal_mi_pw(); - sc.print_Mag_Force(GlobalV::ofs_running); - } - - //------------------------------------------------------------------ - // 8) write onsite occupations for charge and magnetizations - //------------------------------------------------------------------ - if (PARAM.inp.onsite_radius > 0) - { // float type has not been implemented - auto* onsite_p = projectors::OnsiteProjector::get_instance(); - onsite_p->cal_occupations(reinterpret_cast, Device>*>(this->kspw_psi), - this->pelec->wg); - } + // Output quantities + ModuleIO::ctrl_scf_pw(istep, ucell, this->pelec, this->chr, this->kv, this->pw_wfc, + this->pw_rho, this->pw_rhod, this->pw_big, this->stp, + this->ctx, this->device, this->Pgrid, PARAM.inp); ModuleBase::timer::tick("ESolver_KS_PW", "after_scf"); } @@ -831,29 +391,13 @@ void ESolver_KS_PW::cal_force(UnitCell& ucell, ModuleBase::matrix& fo { Forces ff(ucell.nat); - if (this->__kspw_psi != nullptr && PARAM.inp.precision == "single") - { - delete reinterpret_cast, Device>*>(this->__kspw_psi); - } - - // Refresh __kspw_psi - this->__kspw_psi = PARAM.inp.precision == "single" - ? new psi::Psi, Device>(this->kspw_psi[0]) - : reinterpret_cast, Device>*>(this->kspw_psi); + // mohan add 2025-10-12 + this->stp.update_psi_d(); // Calculate forces - ff.cal_force(ucell, - force, - *this->pelec, - this->pw_rhod, - &ucell.symm, - &this->sf, - this->solvent, - &this->locpp, - &this->ppcell, - &this->kv, - this->pw_wfc, - this->__kspw_psi); + ff.cal_force(ucell, force, *this->pelec, this->pw_rhod, &ucell.symm, + &this->sf, this->solvent, &this->dftu, &this->locpp, &this->ppcell, + &this->kv, this->pw_wfc, this->stp.psi_d); } template @@ -861,25 +405,11 @@ void ESolver_KS_PW::cal_stress(UnitCell& ucell, ModuleBase::matrix& s { Stress_PW ss(this->pelec); - if (this->__kspw_psi != nullptr && PARAM.inp.precision == "single") - { - delete reinterpret_cast, Device>*>(this->__kspw_psi); - } + // mohan add 2025-10-12 + this->stp.update_psi_d(); - // Refresh __kspw_psi - this->__kspw_psi = PARAM.inp.precision == "single" - ? new psi::Psi, Device>(this->kspw_psi[0]) - : reinterpret_cast, Device>*>(this->kspw_psi); - ss.cal_stress(stress, - ucell, - this->locpp, - this->ppcell, - this->pw_rhod, - &ucell.symm, - &this->sf, - &this->kv, - this->pw_wfc, - this->__kspw_psi); + ss.cal_stress(stress, ucell, this->dftu, this->locpp, this->ppcell, this->pw_rhod, + &ucell.symm, &this->sf, &this->kv, this->pw_wfc, this->stp.psi_d); // external stress double unit_transform = 0.0; @@ -894,143 +424,14 @@ void ESolver_KS_PW::cal_stress(UnitCell& ucell, ModuleBase::matrix& s template void ESolver_KS_PW::after_all_runners(UnitCell& ucell) { - //---------------------------------------------------------- - //! 1) after_all_runners in ESolver_KS - //---------------------------------------------------------- ESolver_KS::after_all_runners(ucell); - //---------------------------------------------------------- - //! 2) Compute density of states (DOS) - //---------------------------------------------------------- - if (PARAM.inp.out_dos) - { - ModuleIO::write_dos_pw(ucell, - this->pelec->ekb, - this->pelec->wg, - this->kv, - PARAM.inp.nbands, - this->pelec->eferm, - PARAM.inp.dos_edelta_ev, - PARAM.inp.dos_scale, - PARAM.inp.dos_sigma, - GlobalV::ofs_running); - } - - //---------------------------------------------------------- - //! 3) Compute LDOS - //---------------------------------------------------------- - if (PARAM.inp.out_ldos[0]) - { - ModuleIO::cal_ldos_pw(reinterpret_cast>*>(this->pelec), - this->psi[0], - this->Pgrid, - ucell); - } + ModuleIO::ctrl_runner_pw(ucell, this->pelec, this->pw_wfc, + this->pw_rho, this->pw_rhod, this->chr, this->kv, this->stp, + this->sf, this->ppcell, this->solvent, this->ctx, this->Pgrid, PARAM.inp); - //---------------------------------------------------------- - //! 4) Calculate the spillage value, - //! which are used to generate numerical atomic orbitals - //---------------------------------------------------------- - if (PARAM.inp.basis_type == "pw" && winput::out_spillage) - { - // ! Print out overlap matrices - if (winput::out_spillage <= 2) - { - for (int i = 0; i < PARAM.inp.bessel_nao_rcuts.size(); i++) - { - if (GlobalV::MY_RANK == 0) - { - std::cout << "update value: bessel_nao_rcut <- " << std::fixed << PARAM.inp.bessel_nao_rcuts[i] - << " a.u." << std::endl; - } - Numerical_Basis numerical_basis; - numerical_basis.output_overlap(this->psi[0], this->sf, this->kv, this->pw_wfc, ucell, i); - } - ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "BASIS OVERLAP (Q and S) GENERATION."); - } - } - - //---------------------------------------------------------- - //! 5) Print out electronic wave functions in real space - //---------------------------------------------------------- - if (PARAM.inp.out_wfc_norm.size() > 0 || PARAM.inp.out_wfc_re_im.size() > 0) - { - if (this->__kspw_psi != nullptr && PARAM.inp.precision == "single") - { - delete reinterpret_cast, Device>*>(this->__kspw_psi); - } - - // Refresh __kspw_psi - this->__kspw_psi = PARAM.inp.precision == "single" - ? new psi::Psi, Device>(this->kspw_psi[0]) - : reinterpret_cast, Device>*>(this->kspw_psi); - - ModuleIO::get_wf_pw(PARAM.inp.out_wfc_norm, - PARAM.inp.out_wfc_re_im, - this->kspw_psi->get_nbands(), - PARAM.inp.nspin, - this->pw_rhod->nxyz, - &ucell, - this->__kspw_psi, - this->pw_wfc, - this->ctx, - this->Pgrid, - PARAM.globalv.global_out_dir, - this->kv, - GlobalV::KPAR, - GlobalV::MY_POOL); - } - - //---------------------------------------------------------- - //! 6) Use Kubo-Greenwood method to compute conductivities - //---------------------------------------------------------- - if (PARAM.inp.cal_cond) - { - EleCond elec_cond(&ucell, &this->kv, this->pelec, this->pw_wfc, this->kspw_psi, &this->ppcell); - elec_cond.KG(PARAM.inp.cond_smear, - PARAM.inp.cond_fwhm, - PARAM.inp.cond_wcut, - PARAM.inp.cond_dw, - PARAM.inp.cond_dt, - PARAM.inp.cond_nonlocal, - this->pelec->wg); - } - -#ifdef __MLALGO - //---------------------------------------------------------- - //! 7) generate training data for ML-KEDF - //---------------------------------------------------------- - if (PARAM.inp.of_ml_gene_data == 1) - { - this->pelec->pot->update_from_charge(&this->chr, &ucell); - - ModuleIO::Write_MLKEDF_Descriptors write_mlkedf_desc; - write_mlkedf_desc.cal_tool->set_para(this->chr.nrxx, - PARAM.inp.nelec, - PARAM.inp.of_tf_weight, - PARAM.inp.of_vw_weight, - PARAM.inp.of_ml_chi_p, - PARAM.inp.of_ml_chi_q, - PARAM.inp.of_ml_chi_xi, - PARAM.inp.of_ml_chi_pnl, - PARAM.inp.of_ml_chi_qnl, - PARAM.inp.of_ml_nkernel, - PARAM.inp.of_ml_kernel, - PARAM.inp.of_ml_kernel_scaling, - PARAM.inp.of_ml_yukawa_alpha, - PARAM.inp.of_ml_kernel_file, - ucell.omega, - this->pw_rho); - - write_mlkedf_desc.generateTrainData_KS(PARAM.globalv.global_mlkedf_descriptor_dir, - this->kspw_psi, - this->pelec, - this->pw_wfc, - this->pw_rho, - ucell, - this->pelec->pot->get_effective_v(0)); - } -#endif + elecstate::teardown_estate_pw(this->pelec, this->vsep_cell); + } template class ESolver_KS_PW, base_device::DEVICE_CPU>; diff --git a/source/source_esolver/esolver_ks_pw.h b/source/source_esolver/esolver_ks_pw.h index d2efb640bc..27eee6c564 100644 --- a/source/source_esolver/esolver_ks_pw.h +++ b/source/source_esolver/esolver_ks_pw.h @@ -1,10 +1,11 @@ #ifndef ESOLVER_KS_PW_H #define ESOLVER_KS_PW_H #include "./esolver_ks.h" -#include "source_pw/module_pwdft/operator_pw/velocity_pw.h" -#include "source_psi/psi_init.h" -#include "source_pw/module_pwdft/module_exx_helper/exx_helper.h" +#include "source_psi/setup_psi_pw.h" // mohan add 20251012 +#include "source_pw/module_pwdft/VSep_in_pw.h" #include "source_pw/module_pwdft/global.h" +#include "source_pw/module_pwdft/module_exx_helper/exx_helper.h" +#include "source_pw/module_pwdft/operator_pw/velocity_pw.h" #include #include @@ -40,8 +41,6 @@ class ESolver_KS_PW : public ESolver_KS virtual void iter_init(UnitCell& ucell, const int istep, const int iter) override; - virtual void update_pot(UnitCell& ucell, const int istep, const int iter, const bool conv_esolver) override; - virtual void iter_finish(UnitCell& ucell, const int istep, int& iter, bool& conv_esolver) override; virtual void after_scf(UnitCell& ucell, const int istep, const bool conv_esolver) override; @@ -53,25 +52,18 @@ class ESolver_KS_PW : public ESolver_KS virtual void allocate_hamilt(const UnitCell& ucell); virtual void deallocate_hamilt(); - //! hide the psi in ESolver_KS for tmp use - psi::Psi, base_device::DEVICE_CPU>* psi = nullptr; + // Electronic wave function psi + Setup_Psi_pw stp; - // psi_initializer controller - psi::PSIInit* p_psi_init = nullptr; + // DFT-1/2 method + VSep* vsep_cell = nullptr; + // for get_pchg and get_wf, use ctx as input of fft Device* ctx = {}; + // for device to host data transformation base_device::AbacusDevice_t device = {}; - psi::Psi* kspw_psi = nullptr; - - psi::Psi, Device>* __kspw_psi = nullptr; - - bool already_initpsi = false; - - using castmem_2d_d2h_op - = base_device::memory::cast_memory_op, T, base_device::DEVICE_CPU, Device>; - }; } // namespace ModuleESolver #endif diff --git a/source/source_esolver/esolver_nep.cpp b/source/source_esolver/esolver_nep.cpp new file mode 100644 index 0000000000..83dc20aa6c --- /dev/null +++ b/source/source_esolver/esolver_nep.cpp @@ -0,0 +1,213 @@ +/** + * @file esolver_nep.cpp +#include "source_io/module_parameter/parameter.h" + * @brief Implementation of ESolver_NEP class for neuroevolution potential (NEP). + * + * This file contains the implementation of the ESolver_NEP class, which is used for solving the energy and forces in a + * NEP simulation. + * NEP is a method for training deep neural networks to accurately predict the potential energy surface of a + * molecular system. + * + * For more information about NEP, see the following reference: + * 1. https://gpumd.org/potentials/nep.html + * 2. https://doi.org/10.1002/mgea.70028 + * + * @author MoseyQAQ + * @date 2025-10-10 + */ +#include "esolver_nep.h" + +#include "source_base/parallel_common.h" +#include "source_base/timer.h" +#include "source_io/output_log.h" +#include "source_io/cif_io.h" + +#include +#include + +using namespace ModuleESolver; + +void ESolver_NEP::before_all_runners(UnitCell& ucell, const Input_para& inp) +{ + nep_potential = 0.0; + nep_force.create(ucell.nat, 3); + nep_virial.create(3, 3); + atype.resize(ucell.nat); + _e.resize(ucell.nat); + _f.resize(3 * ucell.nat); + _v.resize(9 * ucell.nat); + + ModuleIO::CifParser::write(PARAM.globalv.global_out_dir + "STRU.cif", + ucell, + "# Generated by ABACUS ModuleIO::CifParser", + "data_?"); + +#ifdef __NEP + /// determine the type map from STRU to NEP model + type_map(ucell); +#endif +} + +void ESolver_NEP::runner(UnitCell& ucell, const int istep) +{ + ModuleBase::TITLE("ESolver_NEP", "runner"); + ModuleBase::timer::tick("ESolver_NEP", "runner"); + + // note that NEP are column major, thus a transpose is needed + // cell + std::vector cell(9, 0.0); + cell[0] = ucell.latvec.e11 * ucell.lat0_angstrom; + cell[1] = ucell.latvec.e21 * ucell.lat0_angstrom; + cell[2] = ucell.latvec.e31 * ucell.lat0_angstrom; + cell[3] = ucell.latvec.e12 * ucell.lat0_angstrom; + cell[4] = ucell.latvec.e22 * ucell.lat0_angstrom; + cell[5] = ucell.latvec.e32 * ucell.lat0_angstrom; + cell[6] = ucell.latvec.e13 * ucell.lat0_angstrom; + cell[7] = ucell.latvec.e23 * ucell.lat0_angstrom; + cell[8] = ucell.latvec.e33 * ucell.lat0_angstrom; + + // coord + std::vector coord(3 * ucell.nat, 0.0); + int iat = 0; + const int nat = ucell.nat; + for (int it = 0; it < ucell.ntype; ++it) + { + for (int ia = 0; ia < ucell.atoms[it].na; ++ia) + { + coord[iat] = ucell.atoms[it].tau[ia].x * ucell.lat0_angstrom; + coord[iat + nat] = ucell.atoms[it].tau[ia].y * ucell.lat0_angstrom; + coord[iat + 2 * nat] = ucell.atoms[it].tau[ia].z * ucell.lat0_angstrom; + iat++; + } + } + assert(ucell.nat == iat); + +#ifdef __NEP + nep_potential = 0.0; + nep_force.zero_out(); + nep_virial.zero_out(); + + nep.compute(atype, cell, coord, _e, _f, _v); + + // unit conversion + const double fact_e = 1.0 / ModuleBase::Ry_to_eV; + const double fact_f = 1.0 / (ModuleBase::Ry_to_eV * ModuleBase::ANGSTROM_AU); + const double fact_v = 1.0 / (ucell.omega * ModuleBase::Ry_to_eV); + + + // potential energy + nep_potential = fact_e * std::accumulate(_e.begin(), _e.end(), 0.0) ; + GlobalV::ofs_running << " #TOTAL ENERGY# " << std::setprecision(11) << nep_potential * ModuleBase::Ry_to_eV << " eV" + << std::endl; + + // forces + for (int i = 0; i < nat; ++i) + { + nep_force(i, 0) = _f[i] * fact_f; + nep_force(i, 1) = _f[i + nat] * fact_f; + nep_force(i, 2) = _f[i + 2 * nat] * fact_f; + } + + // virial + std::vector v_sum(9, 0.0); + for (int j = 0; j < 9; ++j) + { + for (int i = 0; i < nat; ++i) + { + int index = j * nat + i; + v_sum[j] += _v[index]; + } + } + + // virial -> stress + for (int i = 0; i < 3; ++i) + { + for (int j = 0; j < 3; ++j) + { + nep_virial(i, j) = v_sum[3 * i + j] * fact_v; + } + } +#else + ModuleBase::WARNING_QUIT("ESolver_NEP", "Please recompile with -D__NEP"); +#endif + ModuleBase::timer::tick("ESolver_NEP", "runner"); +} + +double ESolver_NEP::cal_energy() +{ + return nep_potential; +} + +void ESolver_NEP::cal_force(UnitCell& ucell, ModuleBase::matrix& force) +{ + force = nep_force; + ModuleIO::print_force(GlobalV::ofs_running, ucell, "TOTAL-FORCE (eV/Angstrom)", force, false); +} + +void ESolver_NEP::cal_stress(UnitCell& ucell, ModuleBase::matrix& stress) +{ + stress = nep_virial; + ModuleIO::print_stress("TOTAL-STRESS", stress, true, false, GlobalV::ofs_running); + + // external stress + double unit_transform = ModuleBase::RYDBERG_SI / pow(ModuleBase::BOHR_RADIUS_SI, 3) * 1.0e-8; + double external_stress[3] = {PARAM.inp.press1, PARAM.inp.press2, PARAM.inp.press3}; + for (int i = 0; i < 3; i++) + { + stress(i, i) -= external_stress[i] / unit_transform; + } +} + +void ESolver_NEP::after_all_runners(UnitCell& ucell) +{ + GlobalV::ofs_running << "\n --------------------------------------------" << std::endl; + GlobalV::ofs_running << std::setprecision(16); + GlobalV::ofs_running << " !FINAL_ETOT_IS " << nep_potential * ModuleBase::Ry_to_eV << " eV" << std::endl; + GlobalV::ofs_running << " --------------------------------------------\n\n" << std::endl; +} + +#ifdef __NEP +void ESolver_NEP::type_map(const UnitCell& ucell) +{ + // parse the element list from NEP model file + std::unordered_map label; + std::string temp; + for (int i = 0; i < nep.element_list.size(); ++i) + { + label[nep.element_list[i]] = i; //> label: map from element string to index int. + } + + std::cout << "\n Element list of model file " << nep_file << " " << std::endl; + std::cout << " ----------------------------------------------------------------"; + int count = 0; + for (auto it = label.begin(); it != label.end(); ++it) + { + if (count % 5 == 0) + { + std::cout << std::endl; + std::cout << " "; + } + count++; + temp = it->first + ": " + std::to_string(it->second); + std::cout << std::left << std::setw(10) << temp; + } + std::cout << "\n -----------------------------------------------------------------" << std::endl; + + // parse the atype based on the element list + int iat = 0; + for (int it = 0; it < ucell.ntype; ++it) + { + for (int ia = 0; ia < ucell.atoms[it].na; ++ia) + { + if (label.find(ucell.atoms[it].label) == label.end()) + { + ModuleBase::WARNING_QUIT("ESolver_NEP", + "The label " + ucell.atoms[it].label + " is not found in the type map."); + } + atype[iat] = label[ucell.atoms[it].label]; + iat++; + } + } + assert(ucell.nat == iat); +} +#endif diff --git a/source/source_esolver/esolver_nep.h b/source/source_esolver/esolver_nep.h new file mode 100644 index 0000000000..dfec17a83c --- /dev/null +++ b/source/source_esolver/esolver_nep.h @@ -0,0 +1,108 @@ +#ifndef ESOLVER_NEP_H +#define ESOLVER_NEP_H + +#include "esolver.h" +#ifdef __NEP +#include "nep.h" +#endif +#include +#include + +namespace ModuleESolver +{ + +class ESolver_NEP : public ESolver +{ + public: +#ifdef __NEP + ESolver_NEP(const std::string& pot_file): nep(pot_file) + { + classname = "ESolver_NEP"; + nep_file = pot_file; + } +#else + ESolver_NEP(const std::string& pot_file) + { + classname = "ESolver_NEP"; + nep_file = pot_file; + } +#endif + + /** + * @brief Initialize the NEP solver with given input parameters and unit cell + * + * @param inp input parameters + * @param cell unitcell information + */ + void before_all_runners(UnitCell& ucell, const Input_para& inp) override; + + /** + * @brief Run the NEP solver for a given ion/md step and unit cell + * + * @param istep the current ion/md step + * @param cell unitcell information + */ + void runner(UnitCell& ucell, const int istep) override; + + /** + * @brief get the total energy without ion kinetic energy + * + * @param etot the computed energy + * @return total energy without ion kinetic energy + */ + double cal_energy() override; + + /** + * @brief get the computed atomic forces + * + * @param force the computed atomic forces + */ + void cal_force(UnitCell& ucell, ModuleBase::matrix& force) override; + + /** + * @brief get the computed lattice virials + * + * @param stress the computed lattice virials + */ + void cal_stress(UnitCell& ucell, ModuleBase::matrix& stress) override; + + /** + * @brief Prints the final total energy of the NEP model to the output file + * + * This function prints the final total energy of the NEP model in eV to the output file along with some formatting. + */ + void after_all_runners(UnitCell& ucell) override; + + private: + /** + * @brief determine the type map of NEP model + * + * @param ucell unitcell information + */ + void type_map(const UnitCell& ucell); + + /** + * @brief NEP related variables for ESolver_NEP class + * + * These variables are related to the NEP method and are used in the ESolver_NEP class to compute the potential + * energy and forces. + * + * @note These variables are only defined if the __NEP preprocessor macro is defined. + */ +#ifdef __NEP + NEP nep; ///< NEP object for NEP calculations +#endif + + std::string nep_file; ///< directory of NEP model file + std::vector atype = {}; ///< atom type mapping for NEP model + double nep_potential; ///< computed potential energy + ModuleBase::matrix nep_force; ///< computed atomic forces + ModuleBase::matrix nep_virial; ///< computed lattice virials + std::vector _e; ///< temporary storage for energy computation + std::vector _f; ///< temporary storage for force computation + std::vector _v; ///< temporary storage for virial computation +}; + +} // namespace ModuleESolver + +#endif \ No newline at end of file diff --git a/source/source_esolver/esolver_of.cpp b/source/source_esolver/esolver_of.cpp index 1ece91eb62..74474d1b7c 100644 --- a/source/source_esolver/esolver_of.cpp +++ b/source/source_esolver/esolver_of.cpp @@ -11,10 +11,10 @@ #include "source_pw/module_pwdft/global.h" #include "source_io/print_info.h" #include "source_estate/cal_ux.h" -//-----force------------------- #include "source_pw/module_pwdft/forces.h" -//-----stress------------------ #include "source_pw/module_ofdft/of_stress_pw.h" +// mohan add +#include "source_pw/module_ofdft/of_print_info.h" namespace ModuleESolver { @@ -27,7 +27,10 @@ ESolver_OF::ESolver_OF() ESolver_OF::~ESolver_OF() { - delete psi_; + //**************************************************** + // do not add any codes in this deconstructor funcion + //**************************************************** + delete psi_; delete[] this->pphi_; for (int i = 0; i < PARAM.inp.nspin; ++i) @@ -72,40 +75,15 @@ void ESolver_OF::before_all_runners(UnitCell& ucell, const Input_para& inp) ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "SETUP UNITCELL"); - XC_Functional::set_xc_type(ucell.atoms[0].ncpp.xc_func); +// XC_Functional::set_xc_type(ucell.atoms[0].ncpp.xc_func); int func_type = XC_Functional::get_func_type(); if (func_type > 2) { ModuleBase::WARNING_QUIT("esolver_of", "meta-GGA and Hybrid functionals are not supported by OFDFT."); } - // symmetry analysis should be performed every time the cell is changed - if (ModuleSymmetry::Symmetry::symm_flag == 1) - { - ucell.symm.analy_sys(ucell.lat, ucell.st, ucell.atoms, GlobalV::ofs_running); - ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "SYMMETRY"); - } - - // Setup the k points according to symmetry. - kv.set(ucell,ucell.symm, inp.kpoint_file, inp.nspin, ucell.G, ucell.latvec, GlobalV::ofs_running); - ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT K-POINTS"); - - // print information - // mohan add 2021-01-30 - ModuleIO::setup_parameters(ucell, kv); - - // initialize the real-space uniform grid for FFT and parallel - // distribution of plane waves - Pgrid.init(pw_rho->nx, - pw_rho->ny, - pw_rho->nz, - pw_rho->nplane, - pw_rho->nrxx, - pw_big->nbz, - pw_big->bz); // mohan add 2010-07-22, update 2011-05-04 - // Calculate Structure factor - sf.setup_structure_factor(&ucell, Pgrid, pw_rho); - ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT BASIS"); + this->chr.init_rho(ucell, this->Pgrid, this->sf.strucFac, ucell.symm, &this->kv); + this->chr.check_rho(); // check the rho // initialize local pseudopotential this->locpp.init_vloc(ucell,pw_rho); @@ -116,12 +94,12 @@ void ESolver_OF::before_all_runners(UnitCell& ucell, const Input_para& inp) this->init_elecstate(ucell); // calculate the total local pseudopotential in real space - this->pelec->init_scf(0, ucell, Pgrid, sf.strucFac, locpp.numeric, ucell.symm); // atomic_rho, v_of_rho, set_vrs + this->pelec->init_scf(ucell, Pgrid, sf.strucFac, locpp.numeric, ucell.symm); // atomic_rho, v_of_rho, set_vrs // liuyu move here 2023-10-09 // D in uspp need vloc, thus behind init_scf() // calculate the effective coefficient matrix for non-local pseudopotential projectors - ModuleBase::matrix veff = this->pelec->pot->get_effective_v(); + ModuleBase::matrix veff = this->pelec->pot->get_eff_v(); ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT POTENTIAL"); @@ -213,6 +191,8 @@ void ESolver_OF::before_opt(const int istep, UnitCell& ucell) //! 1) call before_scf() of ESolver_FP ESolver_FP::before_scf(ucell, istep); + + if (ucell.cell_parameter_updated) { this->dV_ = ucell.omega / this->pw_rho->nxyz; @@ -228,11 +208,9 @@ void ESolver_OF::before_opt(const int istep, UnitCell& ucell) // Refresh the arrays delete this->psi_; - this->psi_ = new psi::Psi(1, - PARAM.inp.nspin, - this->pw_rho->nrxx, - this->pw_rho->nrxx, - true); + this->psi_ = new psi::Psi(1, PARAM.inp.nspin, + this->pw_rho->nrxx, this->pw_rho->nrxx, true); + for (int is = 0; is < PARAM.inp.nspin; ++is) { this->pphi_[is] = this->psi_->get_pointer(is); @@ -240,8 +218,9 @@ void ESolver_OF::before_opt(const int istep, UnitCell& ucell) delete this->ptemp_rho_; this->ptemp_rho_ = new Charge(); - this->ptemp_rho_->set_rhopw(this->pw_rho); - this->ptemp_rho_->allocate(PARAM.inp.nspin); + this->ptemp_rho_->set_rhopw(this->pw_rho); + const bool kin_den = this->ptemp_rho_->kin_density(); // mohan add 20251202 + this->ptemp_rho_->allocate(PARAM.inp.nspin, kin_den); for (int is = 0; is < PARAM.inp.nspin; ++is) { @@ -256,7 +235,7 @@ void ESolver_OF::before_opt(const int istep, UnitCell& ucell) } } - this->pelec->init_scf(istep, ucell, Pgrid, sf.strucFac, locpp.numeric, ucell.symm); + this->pelec->init_scf(ucell, Pgrid, sf.strucFac, locpp.numeric, ucell.symm); Symmetry_rho srho; for (int is = 0; is < PARAM.inp.nspin; is++) @@ -272,7 +251,7 @@ void ESolver_OF::before_opt(const int istep, UnitCell& ucell) { // Here we initialize rho to be uniform, // because the rho got by pot.init_pot -> Charge::atomic_rho may contain minus elements. - this->chr.rho[is][ibs] = this->nelec_[is] / this->pelec->omega; + this->chr.rho[is][ibs] = this->nelec_[is] / ucell.omega; this->pphi_[is][ibs] = sqrt(this->chr.rho[is][ibs]); } } @@ -316,10 +295,10 @@ void ESolver_OF::update_potential(UnitCell& ucell) this->kedf_manager_->get_potential(this->chr.rho, this->pphi_, this->pw_rho, - this->pelec->pot->get_effective_v()); // KEDF potential + this->pelec->pot->get_eff_v()); // KEDF potential for (int is = 0; is < PARAM.inp.nspin; ++is) { - const double* vr_eff = this->pelec->pot->get_effective_v(is); + const double* vr_eff = this->pelec->pot->get_eff_v(is); for (int ir = 0; ir < this->pw_rho->nrxx; ++ir) { this->pdEdphi_[is][ir] = vr_eff[ir]; @@ -453,7 +432,8 @@ bool ESolver_OF::check_exit(bool& conv_esolver) conv_esolver = (this->of_conv_ == "energy" && energyConv) || (this->of_conv_ == "potential" && potConv) || (this->of_conv_ == "both" && potConv && energyConv); - this->print_info(conv_esolver); + OFDFT::print_info(this->iter_, this->iter_time, this->energy_current_, this->energy_last_, + this->normdLdphi_, this->pelec, this->kedf_manager_, conv_esolver); if (conv_esolver || this->iter_ >= this->max_iter_) { @@ -494,18 +474,17 @@ void ESolver_OF::after_opt(const int istep, UnitCell& ucell, const bool conv_eso this->kedf_manager_->get_energy_density(this->chr.rho, this->pphi_, this->pw_rho, this->chr.kin_r); } - //------------------------------------------------------------------ - // 2) call after_scf() of ESolver_FP - //------------------------------------------------------------------ - ESolver_FP::after_scf(ucell, istep, conv_esolver); - - // should not be here? mohan note 2025-03-03 for (int ir = 0; ir < this->pw_rho->nrxx; ++ir) { this->chr.rho_save[0][ir] = this->chr.rho[0][ir]; } + //------------------------------------------------------------------ + // 2) call after_scf() of ESolver_FP + //------------------------------------------------------------------ + ESolver_FP::after_scf(ucell, istep, conv_esolver); + #ifdef __MLALGO //------------------------------------------------------------------ // Generate data if needed @@ -516,9 +495,9 @@ void ESolver_OF::after_opt(const int istep, UnitCell& ucell, const bool conv_eso this->kedf_manager_->get_potential(this->chr.rho, this->pphi_, this->pw_rho, - this->pelec->pot->get_effective_v()); // KEDF potential + this->pelec->pot->get_eff_v()); // KEDF potential - const double* vr_eff = this->pelec->pot->get_effective_v(0); + const double* vr_eff = this->pelec->pot->get_eff_v(0); for (int ir = 0; ir < this->pw_rho->nrxx; ++ir) { this->pdEdphi_[0][ir] = vr_eff[ir]; @@ -560,7 +539,7 @@ double ESolver_OF::cal_energy() this->pw_rho->nrxx, this->dV_); } - Parallel_Reduce::reduce_all(pseudopot_energy); + Parallel_Reduce::reduce_pool(pseudopot_energy); this->pelec->f_en.ekinetic = kinetic_energy; this->pelec->f_en.e_local_pp = pseudopot_energy; this->pelec->f_en.etot += kinetic_energy + pseudopot_energy; @@ -575,7 +554,10 @@ double ESolver_OF::cal_energy() void ESolver_OF::cal_force(UnitCell& ucell, ModuleBase::matrix& force) { Forces ff(ucell.nat); - ff.cal_force(ucell, force, *pelec, this->pw_rho, &ucell.symm, &sf, this->solvent, &this->locpp); + + // here nullptr is for DFT+U, which may cause bugs, mohan note 2025-11-07 + // solvent can be used? mohan ask 2025-11-07 + ff.cal_force(ucell, force, *pelec, this->pw_rho, &ucell.symm, &sf, this->solvent, nullptr, &this->locpp); } /** @@ -587,11 +569,8 @@ void ESolver_OF::cal_stress(UnitCell& ucell, ModuleBase::matrix& stress) { ModuleBase::matrix kinetic_stress_; kinetic_stress_.create(3, 3); - this->kedf_manager_->get_stress(this->pelec->omega, - this->chr.rho, - this->pphi_, - this->pw_rho, - kinetic_stress_); // kinetic stress + this->kedf_manager_->get_stress(ucell.omega, this->chr.rho, + this->pphi_, this->pw_rho, kinetic_stress_); // kinetic stress OF_Stress_PW ss(this->pelec, this->pw_rho); ss.cal_stress(stress, kinetic_stress_, ucell, &ucell.symm, this->locpp, &sf, &kv); diff --git a/source/source_esolver/esolver_of.h b/source/source_esolver/esolver_of.h index 508a18b3db..b94019d5fe 100644 --- a/source/source_esolver/esolver_of.h +++ b/source/source_esolver/esolver_of.h @@ -27,7 +27,7 @@ class ESolver_OF : public ESolver_FP virtual void cal_stress(UnitCell& ucell, ModuleBase::matrix& stress) override; - private: + protected: // ======================= variables ========================== // ---------- the kinetic energy density functionals ---------- KEDF_Manager* kedf_manager_ = nullptr; // KEDF manager, which will be initialized in before_all_runners @@ -83,7 +83,7 @@ class ESolver_OF : public ESolver_FP // ============================ tools =============================== // --------------------- initialize --------------------------------- - void init_elecstate(UnitCell& ucell); + void init_elecstate(UnitCell& ucell); void allocate_array(); // --------------------- calculate physical qualities --------------- @@ -98,9 +98,6 @@ class ESolver_OF : public ESolver_FP void check_direction(double* dEdtheta, double** ptemp_phi, UnitCell& ucell); void test_direction(double* dEdtheta, double** ptemp_phi, UnitCell& ucell); - // --------------------- output the necessary information ----------- - void print_info(const bool conv_esolver); - // --------------------- interface to blas -------------------------- double inner_product(double* pa, double* pb, int length, double dV = 1) { diff --git a/source/source_esolver/esolver_of_tddft.cpp b/source/source_esolver/esolver_of_tddft.cpp new file mode 100644 index 0000000000..daeda628cb --- /dev/null +++ b/source/source_esolver/esolver_of_tddft.cpp @@ -0,0 +1,132 @@ +#include "esolver_of_tddft.h" + +#include "source_io/module_parameter/parameter.h" +#include "source_io/cube_io.h" +#include "source_io/output_log.h" +#include "source_io/write_elecstat_pot.h" +//-----------temporary------------------------- +#include "source_base/global_function.h" +#include "source_estate/module_charge/symmetry_rho.h" +#include "source_hamilt/module_ewald/H_Ewald_pw.h" +#include "source_pw/module_pwdft/global.h" +#include "source_io/print_info.h" +#include "source_estate/cal_ux.h" +//-----force------------------- +#include "source_pw/module_pwdft/forces.h" +//-----stress------------------ +#include "source_pw/module_ofdft/of_stress_pw.h" + +#include + +namespace ModuleESolver +{ + +ESolver_OF_TDDFT::ESolver_OF_TDDFT() +{ + this->classname = "ESolver_OF_TDDFT"; + this->evolve_ofdft=new Evolve_OFDFT(); +} + +ESolver_OF_TDDFT::~ESolver_OF_TDDFT() +{ + delete this->evolve_ofdft; +} + + +void ESolver_OF_TDDFT::runner(UnitCell& ucell, const int istep) +{ + ModuleBase::timer::tick("ESolver_OF_TDDFT", "runner"); + // get Ewald energy, initial rho and phi if necessary + this->before_opt(istep, ucell); + this->iter_ = 0; + + bool conv_esolver = false; // this conv_esolver is added by mohan 20250302 +#ifdef __MPI + this->iter_time = MPI_Wtime(); +#else + this->iter_time = std::chrono::system_clock::now(); +#endif + + if (this->phi_td.empty()) + { + const int size = PARAM.inp.nspin * this->pw_rho->nrxx; + this->phi_td.resize(size, std::complex(0.0, 0.0)); + } + + if ((istep==0) && PARAM.inp.init_chg != "file") + { + while (true) + { + // once we get a new rho and phi, update potential + this->update_potential(ucell); + + // calculate the energy of new rho and phi + this->energy_llast_ = this->energy_last_; + this->energy_last_ = this->energy_current_; + this->energy_current_ = this->cal_energy(); + + + // check if the job is done + if (this->check_exit(conv_esolver)) + { + break; + } + + // find the optimization direction and step lenghth theta according to the potential + this->optimize(ucell); + + // update the rho and phi based on the direction and theta + this->update_rho(); + + this->iter_++; + + ESolver_FP::iter_finish(ucell, istep, this->iter_, conv_esolver); + } + +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + for (int ir = 0; ir < this->pw_rho->nrxx; ++ir) + { + phi_td[is*this->pw_rho->nrxx+ir]=pphi_[is][ir]; + } + } + } + else if ((istep==0) && PARAM.inp.init_chg == "file") + { +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + for (int ir = 0; ir < this->pw_rho->nrxx; ++ir) + { + phi_td[is*this->pw_rho->nrxx+ir]=pphi_[is][ir]; + } + } + conv_esolver=true; + } + else + { + this->evolve_ofdft->propagate_psi_RK4(this->pelec, this->chr, ucell, this->phi_td, this->pw_rho); +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + for (int ir = 0; ir < this->pw_rho->nrxx; ++ir) + { + pphi_[is][ir]=std::abs(phi_td[is*this->pw_rho->nrxx+ir]); + } + } + conv_esolver=true; + } + + this->after_opt(istep, ucell, conv_esolver); + + ModuleBase::timer::tick("ESolver_OF_TDDFT", "runner"); +} + +} // namespace ModuleESolver diff --git a/source/source_esolver/esolver_of_tddft.h b/source/source_esolver/esolver_of_tddft.h new file mode 100644 index 0000000000..85293b1761 --- /dev/null +++ b/source/source_esolver/esolver_of_tddft.h @@ -0,0 +1,23 @@ +#ifndef ESOLVER_OF_TDDFT_H +#define ESOLVER_OF_TDDFT_H + +#include "esolver_of.h" +#include "source_pw/module_ofdft/evolve_ofdft.h" + +namespace ModuleESolver +{ +class ESolver_OF_TDDFT : public ESolver_OF +{ + public: + ESolver_OF_TDDFT(); + ~ESolver_OF_TDDFT(); + + virtual void runner(UnitCell& ucell, const int istep) override; + + protected: + std::vector> phi_td; // time dependent wavefunction + Evolve_OFDFT* evolve_ofdft=nullptr; +}; +} // namespace ModuleESolver + +#endif diff --git a/source/source_esolver/esolver_of_tool.cpp b/source/source_esolver/esolver_of_tool.cpp index a71b128cf3..cd29bc448f 100644 --- a/source/source_esolver/esolver_of_tool.cpp +++ b/source/source_esolver/esolver_of_tool.cpp @@ -20,9 +20,7 @@ void ESolver_OF::init_elecstate(UnitCell& ucell) if (this->pelec == nullptr) { this->pelec = new elecstate::ElecState((Charge*)(&chr), this->pw_rho, pw_big); - this->chr.allocate(PARAM.inp.nspin); } - this->pelec->omega = ucell.omega; delete this->pelec->pot; this->pelec->pot = new elecstate::Potential(this->pw_rhod, @@ -88,7 +86,8 @@ void ESolver_OF::allocate_array() delete this->ptemp_rho_; this->ptemp_rho_ = new Charge(); this->ptemp_rho_->set_rhopw(this->pw_rho); - this->ptemp_rho_->allocate(PARAM.inp.nspin); + const bool kin_den = this->ptemp_rho_->kin_density(); // mohan add 20251202 + this->ptemp_rho_->allocate(PARAM.inp.nspin, kin_den); this->theta_ = new double[PARAM.inp.nspin]; this->pdLdphi_ = new double*[PARAM.inp.nspin]; @@ -140,7 +139,7 @@ void ESolver_OF::cal_potential(double* ptemp_phi, double* rdLdphi, UnitCell& uce elecstate::cal_ux(ucell); this->pelec->pot->update_from_charge(this->ptemp_rho_, &ucell); - ModuleBase::matrix& vr_eff = this->pelec->pot->get_effective_v(); + ModuleBase::matrix& vr_eff = this->pelec->pot->get_eff_v(); this->kedf_manager_->get_potential(this->ptemp_rho_->rho, temp_phi, @@ -180,7 +179,7 @@ void ESolver_OF::cal_dEdtheta(double** ptemp_phi, Charge* temp_rho, UnitCell& uc elecstate::cal_ux(ucell); this->pelec->pot->update_from_charge(temp_rho, &ucell); - ModuleBase::matrix& vr_eff = this->pelec->pot->get_effective_v(); + ModuleBase::matrix& vr_eff = this->pelec->pot->get_eff_v(); this->kedf_manager_->get_potential(temp_rho->rho, ptemp_phi, @@ -220,7 +219,7 @@ double ESolver_OF::cal_mu(double* pphi, double* pdEdphi, double nelec) * @brief Rotate and renormalize the direction |d>, * make it orthogonal to phi ( = 0), and = nelec */ -void ESolver_OF::adjust_direction() +void ESolver_OF::adjust_direction(void) { // filter the high frequency term in direction if of_full_pw = false if (!PARAM.inp.of_full_pw) @@ -380,140 +379,13 @@ void ESolver_OF::test_direction(double* dEdtheta, double** ptemp_phi, UnitCell& Parallel_Reduce::reduce_all(pseudopot_energy); temp_energy += kinetic_energy + pseudopot_energy; GlobalV::ofs_warning << i << " " << dEdtheta[0] << " " << temp_energy << std::endl; - if (this->theta_[0] == 0) { - std::cout << "dEdtheta " << dEdtheta[0] << std::endl; -} - } + if (this->theta_[0] == 0) + { + std::cout << "dEdtheta " << dEdtheta[0] << std::endl; + } + } exit(0); } } -/** - * @brief Print nessecary information to the screen, - * and write the components of the total energy into running_log. - */ -void ESolver_OF::print_info(const bool conv_esolver) -{ - if (this->iter_ == 0) - { - std::cout << " ============================= Running OFDFT " - "==============================" - << std::endl; - std::cout << " ITER ETOT/eV EDIFF/eV EFERMI/eV POTNORM TIME/s" - << std::endl; - } - - std::map prefix_map = { - {"cg1", "CG"}, - {"cg2", "CG"}, - {"tn", "TN"} - }; - std::string iteration = prefix_map[PARAM.inp.of_method] + std::to_string(this->iter_); -#ifdef __MPI - double duration = (double)(MPI_Wtime() - this->iter_time); -#else - double duration - = (std::chrono::duration_cast(std::chrono::system_clock::now() - this->iter_time)).count() - / static_cast(1e6); -#endif - std::cout << " " << std::setw(8) << iteration - << std::setw(18) << std::scientific << std::setprecision(8) << this->energy_current_ * ModuleBase::Ry_to_eV - << std::setw(18) << (this->energy_current_ - this->energy_last_) * ModuleBase::Ry_to_eV - << std::setw(13) << std::setprecision(4) << this->pelec->eferm.get_efval(0) * ModuleBase::Ry_to_eV - << std::setw(13) << std::setprecision(4) << this->normdLdphi_ - << std::setw(6) << std::fixed << std::setprecision(2) << duration << std::endl; - - GlobalV::ofs_running << std::setprecision(12); - GlobalV::ofs_running << std::setiosflags(std::ios::right); - - GlobalV::ofs_running << "\nIter" << this->iter_ << ": the norm of potential is " << this->normdLdphi_ << std::endl; - - std::vector titles; - std::vector energies_Ry; - std::vector energies_eV; - if ((PARAM.inp.out_band[0] > 0 && - ((this->iter_ + 1) % PARAM.inp.out_band[0] == 0 || - conv_esolver || - this->iter_ == PARAM.inp.scf_nmax)) || - PARAM.inp.init_chg == "file") - { - titles.push_back("E_Total"); - energies_Ry.push_back(this->pelec->f_en.etot); - titles.push_back("E_Kinetic"); - energies_Ry.push_back(this->pelec->f_en.ekinetic); - titles.push_back("E_Hartree"); - energies_Ry.push_back(this->pelec->f_en.hartree_energy); - titles.push_back("E_xc"); - energies_Ry.push_back(this->pelec->f_en.etxc - this->pelec->f_en.etxcc); - titles.push_back("E_LocalPP"); - energies_Ry.push_back(this->pelec->f_en.e_local_pp); - titles.push_back("E_Ewald"); - energies_Ry.push_back(this->pelec->f_en.ewald_energy); - - this->kedf_manager_->record_energy(titles, energies_Ry); - - std::string vdw_method = PARAM.inp.vdw_method; - if (vdw_method == "d2") // Peize Lin add 2014-04, update 2021-03-09 - { - titles.push_back("E_vdwD2"); - energies_Ry.push_back(this->pelec->f_en.evdw); - } - else if (vdw_method == "d3_0" || vdw_method == "d3_bj") // jiyy add 2019-05, update 2021-05-02 - { - titles.push_back("E_vdwD3"); - energies_Ry.push_back(this->pelec->f_en.evdw); - } - if (PARAM.inp.imp_sol) - { - titles.push_back("E_sol_el"); - energies_Ry.push_back(this->pelec->f_en.esol_el); - titles.push_back("E_sol_cav"); - energies_Ry.push_back(this->pelec->f_en.esol_cav); - } - if (PARAM.inp.efield_flag) - { - titles.push_back("E_efield"); - energies_Ry.push_back(elecstate::Efield::etotefield); - } - if (PARAM.inp.gate_flag) - { - titles.push_back("E_gatefield"); - energies_Ry.push_back(elecstate::Gatefield::etotgatefield); - } - } - else - { - titles.push_back("E_Total"); - energies_Ry.push_back(this->pelec->f_en.etot); - } - - if (PARAM.globalv.two_fermi) - { - titles.push_back("E_Fermi_up"); - energies_Ry.push_back(this->pelec->eferm.get_efval(0)); - titles.push_back("E_Fermi_dw"); - energies_Ry.push_back(this->pelec->eferm.get_efval(1)); - } - else - { - titles.push_back("E_Fermi"); - energies_Ry.push_back(this->pelec->eferm.get_efval(0)); - } - energies_eV.resize(energies_Ry.size()); - std::transform(energies_Ry.begin(), energies_Ry.end(), energies_eV.begin(), [](double energy) { - return energy * ModuleBase::Ry_to_eV; - }); - FmtTable table(/*titles=*/{"Energy", "Rydberg", "eV"}, - /*nrows=*/titles.size(), - /*formats=*/{"%20s", "%20.12f", "%20.12f"}, 0); - table << titles << energies_Ry << energies_eV; - GlobalV::ofs_running << table.str() << std::endl; - - // reset the iter_time for the next iteration -#ifdef __MPI - this->iter_time = MPI_Wtime(); -#else - this->iter_time = std::chrono::system_clock::now(); -#endif -} } // namespace ModuleESolver diff --git a/source/source_esolver/esolver_sdft_pw.cpp b/source/source_esolver/esolver_sdft_pw.cpp index 42fde3ebe5..1a9057d178 100644 --- a/source/source_esolver/esolver_sdft_pw.cpp +++ b/source/source_esolver/esolver_sdft_pw.cpp @@ -27,6 +27,9 @@ ESolver_SDFT_PW::ESolver_SDFT_PW() template ESolver_SDFT_PW::~ESolver_SDFT_PW() { + //**************************************************** + // do not add any codes in this deconstructor funcion + //**************************************************** } template @@ -173,8 +176,8 @@ void ESolver_SDFT_PW::hamilt2rho_single(UnitCell& ucell, int istep, i hsolver_pw_sdft_obj.solve(ucell, this->p_hamilt, - this->kspw_psi[0], - this->psi[0], + this->stp.psi_t[0], + this->stp.psi_cpu[0], this->pelec, this->pw_wfc, this->stowf, @@ -230,7 +233,7 @@ void ESolver_SDFT_PW::cal_force(UnitCell& ucell, ModuleBase::matrix& this->locpp, this->ppcell, ucell, - *this->kspw_psi, + *this->stp.psi_t, this->stowf); } @@ -245,7 +248,7 @@ void ESolver_SDFT_PW::cal_stress(UnitCell& ucell, ModuleBase::matrix& &this->sf, &this->kv, this->pw_wfc, - *this->kspw_psi, + *this->stp.psi_t, this->stowf, &this->chr, &this->locpp, @@ -276,7 +279,7 @@ void ESolver_SDFT_PW::after_all_runners(UnitCell& ucell) this->pw_wfc, &this->kv, this->pelec, - reinterpret_cast>*>(this->psi), + reinterpret_cast>*>(this->stp.psi_cpu), reinterpret_cast>*>(this->p_hamilt), this->stoche, reinterpret_cast, base_device::DEVICE_CPU>*>(&stowf)); @@ -298,7 +301,7 @@ void ESolver_SDFT_PW::after_all_runners(UnitCell& ucell) &this->kv, this->pelec, this->pw_wfc, - this->kspw_psi, + this->stp.psi_t, &this->ppcell, this->p_hamilt, this->stoche, diff --git a/source/source_esolver/lcao_after_scf.cpp b/source/source_esolver/lcao_after_scf.cpp deleted file mode 100644 index c2cc359336..0000000000 --- a/source/source_esolver/lcao_after_scf.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include "esolver_ks_lcao.h" -#include "source_io/ctrl_output_lcao.h" - -namespace ModuleESolver -{ - -template -void ESolver_KS_LCAO::after_scf(UnitCell& ucell, const int istep, const bool conv_esolver) -{ - ModuleBase::TITLE("ESolver_KS_LCAO", "after_scf"); - ModuleBase::timer::tick("ESolver_KS_LCAO", "after_scf"); - - //------------------------------------------------------------------ - //! 1) call after_scf() of ESolver_KS - //------------------------------------------------------------------ - ESolver_KS::after_scf(ucell, istep, conv_esolver); - - //------------------------------------------------------------------ - //! 2) output of lcao every few ionic steps - //------------------------------------------------------------------ - auto* estate = dynamic_cast*>(this->pelec); - auto* hamilt_lcao = dynamic_cast*>(this->p_hamilt); - - if(!estate) - { - ModuleBase::WARNING_QUIT("ModuleIO::ctrl_output_lcao","pelec does not exist"); - } - - if(istep % PARAM.inp.out_interval == 0) - { - - ModuleIO::ctrl_output_lcao(ucell, - this->kv, - estate, - this->pv, - this->gd, - this->psi, - hamilt_lcao, - this->two_center_bundle_, - this->GK, - this->orb_, - this->pw_wfc, - this->pw_rho, - this->GridT, - this->pw_big, - this->sf, - this->rdmft_solver, -#ifdef __MLALGO - this->ld, -#endif -#ifdef __EXX - *this->exd, - *this->exc, -#endif - istep); - } - - //------------------------------------------------------------------ - //! 3) Clean up RA, which is used to serach for adjacent atoms - //------------------------------------------------------------------ - if (!PARAM.inp.cal_force && !PARAM.inp.cal_stress) - { - RA.delete_grid(); - } - - ModuleBase::timer::tick("ESolver_KS_LCAO", "after_scf"); -} - -template class ESolver_KS_LCAO; -template class ESolver_KS_LCAO, double>; -template class ESolver_KS_LCAO, std::complex>; -} // namespace ModuleESolver diff --git a/source/source_esolver/lcao_before_scf.cpp b/source/source_esolver/lcao_before_scf.cpp deleted file mode 100644 index 237cb41175..0000000000 --- a/source/source_esolver/lcao_before_scf.cpp +++ /dev/null @@ -1,286 +0,0 @@ -#include "source_estate/module_charge/symmetry_rho.h" -#include "source_esolver/esolver_ks_lcao.h" -#include "source_lcao/hamilt_lcao.h" -#include "source_lcao/module_dftu/dftu.h" -#include "source_pw/module_pwdft/global.h" -// -#include "source_base/timer.h" -#include "source_cell/module_neighbor/sltk_atom_arrange.h" -#include "source_cell/module_neighbor/sltk_grid_driver.h" -#include "source_io/berryphase.h" -#include "source_io/get_pchg_lcao.h" -#include "source_io/get_wf_lcao.h" -#include "source_io/io_npz.h" -#include "source_io/to_wannier90_lcao.h" -#include "source_io/to_wannier90_lcao_in_pw.h" -#include "source_io/write_HS_R.h" -#include "source_io/module_parameter/parameter.h" -#include "source_estate/elecstate_tools.h" -#ifdef __MLALGO -#include "source_lcao/module_deepks/LCAO_deepks.h" -#endif -#include "source_base/formatter.h" -#include "source_estate/elecstate_lcao.h" -#include "source_estate/module_dm/cal_dm_psi.h" -#include "source_lcao/LCAO_domain.h" -#include "source_lcao/module_operator_lcao/op_exx_lcao.h" -#include "source_lcao/module_operator_lcao/operator_lcao.h" -#include "source_lcao/module_deltaspin/spin_constrain.h" -#include "source_io/cube_io.h" -#include "source_io/write_elecstat_pot.h" -#ifdef __EXX -#include "source_io/restart_exx_csr.h" -#endif - -namespace ModuleESolver -{ - -template -void ESolver_KS_LCAO::before_scf(UnitCell& ucell, const int istep) -{ - ModuleBase::TITLE("ESolver_KS_LCAO", "before_scf"); - ModuleBase::timer::tick("ESolver_KS_LCAO", "before_scf"); - - //! 1) call before_scf() of ESolver_KS. - ESolver_KS::before_scf(ucell, istep); - - //! 2) find search radius - double search_radius = atom_arrange::set_sr_NL(GlobalV::ofs_running, - PARAM.inp.out_level, - orb_.get_rcutmax_Phi(), - ucell.infoNL.get_rcutmax_Beta(), - PARAM.globalv.gamma_only_local); - - //! 3) use search_radius to search adj atoms - atom_arrange::search(PARAM.globalv.search_pbc, - GlobalV::ofs_running, - this->gd, - ucell, - search_radius, - PARAM.inp.test_atom_input); - - //! 4) initialize NAO basis set -#ifdef __OLD_GINT - double dr_uniform = 0.001; - std::vector rcuts; - std::vector> psi_u; - std::vector> dpsi_u; - std::vector> d2psi_u; - - Gint_Tools::init_orb(dr_uniform, rcuts, ucell, orb_, psi_u, dpsi_u, d2psi_u); - - //! 5) set periodic boundary conditions - this->GridT.set_pbc_grid(this->pw_rho->nx, - this->pw_rho->ny, - this->pw_rho->nz, - this->pw_big->bx, - this->pw_big->by, - this->pw_big->bz, - this->pw_big->nbx, - this->pw_big->nby, - this->pw_big->nbz, - this->pw_big->nbxx, - this->pw_big->nbzp_start, - this->pw_big->nbzp, - this->pw_rho->ny, - this->pw_rho->nplane, - this->pw_rho->startz_current, - ucell, - this->gd, - dr_uniform, - rcuts, - psi_u, - dpsi_u, - d2psi_u, - PARAM.inp.nstream); - - psi_u.clear(); - psi_u.shrink_to_fit(); - dpsi_u.clear(); - dpsi_u.shrink_to_fit(); - d2psi_u.clear(); - d2psi_u.shrink_to_fit(); - LCAO_domain::grid_prepare(this->GridT, this->GG, this->GK, ucell, orb_, *this->pw_rho, *this->pw_big); - - //! 6) prepare grid integral -#else - gint_info_.reset( - new ModuleGint::GintInfo( - this->pw_big->nbx, - this->pw_big->nby, - this->pw_big->nbz, - this->pw_rho->nx, - this->pw_rho->ny, - this->pw_rho->nz, - 0, - 0, - this->pw_big->nbzp_start, - this->pw_big->nbx, - this->pw_big->nby, - this->pw_big->nbzp, - orb_.Phi, - ucell, - this->gd)); - ModuleGint::Gint::set_gint_info(gint_info_.get()); -#endif - - // 7) For each atom, calculate the adjacent atoms in different cells - // and allocate the space for H(R) and S(R). - // If k point is used here, allocate HlocR after atom_arrange. - this->RA.for_2d(ucell, this->gd, this->pv, PARAM.globalv.gamma_only_local, orb_.cutoffs()); - - // 8) initialize the Hamiltonian operators - // if atom moves, then delete old pointer and add a new one - if (this->p_hamilt != nullptr) - { - delete this->p_hamilt; - this->p_hamilt = nullptr; - } - if (this->p_hamilt == nullptr) - { - elecstate::DensityMatrix* DM = dynamic_cast*>(this->pelec)->get_DM(); - - this->p_hamilt = new hamilt::HamiltLCAO( - PARAM.globalv.gamma_only_local ? &(this->GG) : nullptr, - PARAM.globalv.gamma_only_local ? nullptr : &(this->GK), - ucell, - this->gd, - &this->pv, - this->pelec->pot, - this->kv, - two_center_bundle_, - orb_, - DM -#ifdef __MLALGO - , - &this->ld -#endif -#ifdef __EXX - , - istep, - GlobalC::exx_info.info_ri.real_number ? &this->exd->two_level_step : &this->exc->two_level_step, - GlobalC::exx_info.info_ri.real_number ? &this->exd->get_Hexxs() : nullptr, - GlobalC::exx_info.info_ri.real_number ? nullptr : &this->exc->get_Hexxs() -#endif - ); - } - - - - -#ifdef __MLALGO - // 9) for each ionic step, the overlap must be rebuilt - // since it depends on ionic positions - if (PARAM.globalv.deepks_setorb) - { - const Parallel_Orbitals* pv = &this->pv; - // allocate , phialpha is different every ion step, so it is allocated here - DeePKS_domain::allocate_phialpha(PARAM.inp.cal_force, ucell, orb_, this->gd, pv, this->ld.phialpha); - // build and save at beginning - DeePKS_domain::build_phialpha(PARAM.inp.cal_force, - ucell, - orb_, - this->gd, - pv, - *(two_center_bundle_.overlap_orb_alpha), - this->ld.phialpha); - - if (PARAM.inp.deepks_out_unittest) - { - DeePKS_domain::check_phialpha(PARAM.inp.cal_force, - ucell, - orb_, - this->gd, - pv, - this->ld.phialpha, - GlobalV::MY_RANK); - } - } -#endif - - // 10) prepare sc calculation - if (PARAM.inp.sc_mag_switch) - { - spinconstrain::SpinConstrain& sc = spinconstrain::SpinConstrain::getScInstance(); - sc.init_sc(PARAM.inp.sc_thr, - PARAM.inp.nsc, - PARAM.inp.nsc_min, - PARAM.inp.alpha_trial, - PARAM.inp.sccut, - PARAM.inp.sc_drop_thr, - ucell, - &(this->pv), - PARAM.inp.nspin, - this->kv, - this->p_hamilt, - this->psi, - this->pelec); - } - - // 11) set xc type before the first cal of xc in pelec->init_scf - // Peize Lin add 2016-12-03 -#ifdef __EXX - if (PARAM.inp.calculation != "nscf") - { - if (GlobalC::exx_info.info_ri.real_number) - { - this->exd->exx_beforescf(istep, this->kv, *this->p_chgmix, ucell, orb_); - } - else - { - this->exc->exx_beforescf(istep, this->kv, *this->p_chgmix, ucell, orb_); - } - } -#endif - - // 12) init_scf, should be before_scf? mohan add 2025-03-10 - this->pelec->init_scf(istep, ucell, this->Pgrid, this->sf.strucFac, this->locpp.numeric, ucell.symm); - - // 13) initalize DMR - // DMR should be same size with Hamiltonian(R) - dynamic_cast*>(this->pelec) - ->get_DM() - ->init_DMR(*(dynamic_cast*>(this->p_hamilt)->getHR())); - -#ifdef __MLALGO - // initialize DMR of DeePKS - this->ld.init_DMR(ucell, orb_, this->pv, this->gd); -#endif - - // 14) two cases are considered: - // 1. DMK in DensityMatrix is not empty (istep > 0), then DMR is initialized by DMK - // 2. DMK in DensityMatrix is empty (istep == 0), then DMR is initialized by zeros - if (istep > 0) - { - dynamic_cast*>(this->pelec)->get_DM()->cal_DMR(); - } - - // 15) the electron charge density should be symmetrized, - // here is the initialization - Symmetry_rho srho; - for (int is = 0; is < PARAM.inp.nspin; is++) - { - srho.begin(is, this->chr, this->pw_rho, ucell.symm); - } - - // 16) why we need to set this sentence? mohan add 2025-03-10 - this->p_hamilt->non_first_scf = istep; - - // 17) update of RDMFT, added by jghan - if (PARAM.inp.rdmft == true) - { - // necessary operation of these parameters have be done with p_esolver->Init() in source/source_main/driver_run.cpp - rdmft_solver.update_ion(ucell, - *(this->pw_rho), - this->locpp.vloc, - this->sf.strucFac); - } - - ModuleBase::timer::tick("ESolver_KS_LCAO", "before_scf"); - return; -} - -template class ESolver_KS_LCAO; -template class ESolver_KS_LCAO, double>; -template class ESolver_KS_LCAO, std::complex>; -} // namespace ModuleESolver diff --git a/source/source_esolver/lcao_others.cpp b/source/source_esolver/lcao_others.cpp index 2cc85ca253..32934463b8 100644 --- a/source/source_esolver/lcao_others.cpp +++ b/source/source_esolver/lcao_others.cpp @@ -8,16 +8,11 @@ #include "source_io/berryphase.h" #include "source_io/get_pchg_lcao.h" #include "source_io/get_wf_lcao.h" -#include "source_io/to_wannier90_lcao.h" -#include "source_io/to_wannier90_lcao_in_pw.h" #include "source_io/write_HS_R.h" #include "source_io/module_parameter/parameter.h" #include "source_base/timer.h" #include "source_cell/module_neighbor/sltk_atom_arrange.h" #include "source_cell/module_neighbor/sltk_grid_driver.h" -#ifdef __MLALGO -#include "source_lcao/module_deepks/LCAO_deepks.h" -#endif #include "source_lcao/LCAO_domain.h" #include "source_lcao/module_operator_lcao/op_exx_lcao.h" #include "source_lcao/module_operator_lcao/operator_lcao.h" @@ -95,47 +90,6 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) PARAM.inp.test_atom_input); // (3) Periodic condition search for each grid. -#ifdef __OLD_GINT - double dr_uniform = 0.001; - std::vector rcuts; - std::vector> psi_u; - std::vector> dpsi_u; - std::vector> d2psi_u; - - Gint_Tools::init_orb(dr_uniform, rcuts, ucell, orb_, psi_u, dpsi_u, d2psi_u); - this->GridT.set_pbc_grid(this->pw_rho->nx, - this->pw_rho->ny, - this->pw_rho->nz, - this->pw_big->bx, - this->pw_big->by, - this->pw_big->bz, - this->pw_big->nbx, - this->pw_big->nby, - this->pw_big->nbz, - this->pw_big->nbxx, - this->pw_big->nbzp_start, - this->pw_big->nbzp, - this->pw_rho->ny, - this->pw_rho->nplane, - this->pw_rho->startz_current, - ucell, - this->gd, - dr_uniform, - rcuts, - psi_u, - dpsi_u, - d2psi_u, - PARAM.inp.nstream); - - psi_u.clear(); - psi_u.shrink_to_fit(); - dpsi_u.clear(); - dpsi_u.shrink_to_fit(); - d2psi_u.clear(); - d2psi_u.shrink_to_fit(); - // prepare grid in Gint - LCAO_domain::grid_prepare(this->GridT, this->GG, this->GK, ucell, orb_, *this->pw_rho, *this->pw_big); -#else gint_info_.reset( new ModuleGint::GintInfo( this->pw_big->nbx, @@ -154,7 +108,6 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) ucell, this->gd)); ModuleGint::Gint::set_gint_info(gint_info_.get()); -#endif // (2)For each atom, calculate the adjacent atoms in different cells // and allocate the space for H(R) and S(R). @@ -202,7 +155,8 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) if (!ModuleIO::read_wfc_nao(PARAM.globalv.global_readin_dir, this->pv, *(this->psi), - this->pelec, + this->pelec->ekb, + this->pelec->wg, this->pelec->klist->ik2iktot, this->pelec->klist->get_nkstot(), PARAM.inp.nspin)) @@ -219,10 +173,7 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) } if (this->p_hamilt == nullptr) { - elecstate::DensityMatrix* DM = dynamic_cast*>(this->pelec)->get_DM(); this->p_hamilt = new hamilt::HamiltLCAO( - PARAM.globalv.gamma_only_local ? &(this->GG) : nullptr, - PARAM.globalv.gamma_only_local ? nullptr : &(this->GK), ucell, this->gd, &this->pv, @@ -230,50 +181,18 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) this->kv, two_center_bundle_, orb_, - DM -#ifdef __MLALGO - , - &this->ld -#endif -#ifdef __EXX - , - istep, - GlobalC::exx_info.info_ri.real_number ? &this->exd->two_level_step : &this->exc->two_level_step, - GlobalC::exx_info.info_ri.real_number ? &this->exd->get_Hexxs() : nullptr, - GlobalC::exx_info.info_ri.real_number ? nullptr : &this->exc->get_Hexxs() -#endif - ); - } + this->dmat.dm, + &this->dftu, + this->deepks, + istep, + this->exx_nao); + } + -#ifdef __MLALGO // for each ionic step, the overlap must be rebuilt // since it depends on ionic positions - if (PARAM.globalv.deepks_setorb) - { - const Parallel_Orbitals* pv = &this->pv; - // allocate , phialpha is different every ion step, so it is allocated here - DeePKS_domain::allocate_phialpha(PARAM.inp.cal_force, ucell, orb_, this->gd, pv, this->ld.phialpha); - // build and save at beginning - DeePKS_domain::build_phialpha(PARAM.inp.cal_force, - ucell, - orb_, - this->gd, - pv, - *(two_center_bundle_.overlap_orb_alpha), - this->ld.phialpha); + this->deepks.build_overlap(ucell, orb_, pv, gd, *(two_center_bundle_.overlap_orb_alpha), PARAM.inp); - if (PARAM.inp.deepks_out_unittest) - { - DeePKS_domain::check_phialpha(PARAM.inp.cal_force, - ucell, - orb_, - this->gd, - pv, - this->ld.phialpha, - GlobalV::MY_RANK); - } - } -#endif if (PARAM.inp.sc_mag_switch) { spinconstrain::SpinConstrain& sc = spinconstrain::SpinConstrain::getScInstance(); @@ -289,6 +208,7 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) this->kv, this->p_hamilt, this->psi, + this->dmat.dm, this->pelec); } @@ -299,7 +219,7 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) elecstate::cal_ux(ucell); // pelec should be initialized before these calculations - this->pelec->init_scf(istep, ucell, this->Pgrid, this->sf.strucFac, this->locpp.numeric, ucell.symm); + this->pelec->init_scf(ucell, this->Pgrid, this->sf.strucFac, this->locpp.numeric, ucell.symm); // self consistent calculations for electronic ground state if (cal_type == "get_pchg") @@ -308,8 +228,7 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) Get_pchg_lcao get_pchg(this->psi, &(this->pv)); if (PARAM.globalv.gamma_only_local) { - get_pchg.begin(this->GG, - this->chr.rho, + get_pchg.begin(this->chr.rho, this->pelec->wg, this->pelec->eferm.get_all_ef(), this->pw_rhod->nrxx, @@ -326,8 +245,7 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) } else { - get_pchg.begin(this->GK, - this->chr.rho, + get_pchg.begin(this->chr.rho, this->chr.rhog, this->pelec->wg, this->pelec->eferm.get_all_ef(), @@ -359,7 +277,6 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) this->pw_wfc, this->Pgrid, this->pv, - this->GG, PARAM.inp.out_wfc_pw, this->kv, PARAM.inp.nelec, @@ -378,7 +295,6 @@ void ESolver_KS_LCAO::others(UnitCell& ucell, const int istep) this->pw_wfc, this->Pgrid, this->pv, - this->GK, PARAM.inp.out_wfc_pw, this->kv, PARAM.inp.nelec, diff --git a/source/source_esolver/pw_others.cpp b/source/source_esolver/pw_others.cpp index 3df5f48432..38c3c927b0 100644 --- a/source/source_esolver/pw_others.cpp +++ b/source/source_esolver/pw_others.cpp @@ -1,42 +1,9 @@ #include "esolver_ks_pw.h" - -#include "source_base/global_variable.h" -#include "source_pw/module_pwdft/elecond.h" -#include "source_io/input_conv.h" -#include "source_io/output_log.h" - -#include - -//--------------temporary---------------------------- -#include "source_estate/module_charge/symmetry_rho.h" -#include "source_estate/occupy.h" -#include "source_hamilt/module_ewald/H_Ewald_pw.h" -#include "source_pw/module_pwdft/global.h" -#include "source_io/print_info.h" -//-----force------------------- -#include "source_pw/module_pwdft/forces.h" -//-----stress------------------ -#include "source_pw/module_pwdft/stress_pw.h" -//--------------------------------------------------- #include "source_base/memory.h" #include "source_base/module_device/device.h" -#include "source_estate/elecstate_pw.h" -#include "source_hamilt/module_vdw/vdw.h" -#include "source_pw/module_pwdft/hamilt_pw.h" -#include "source_hsolver/diago_iter_assist.h" -#include "source_hsolver/hsolver_pw.h" -#include "source_hsolver/kernels/dngvd_op.h" -#include "source_base/kernels/math_kernel_op.h" -#include "source_io/berryphase.h" #include "source_io/numerical_basis.h" #include "source_io/numerical_descriptor.h" -#include "source_io/to_wannier90_pw.h" -#include "source_io/winput.h" -#include "source_io/write_elecstat_pot.h" -#include "source_io/module_parameter/parameter.h" -#include -#include #include "source_base/formatter.h" // mohan add 2025-03-06 diff --git a/source/source_esolver/pw_setup.cpp b/source/source_esolver/pw_setup.cpp deleted file mode 100644 index 14fb66347e..0000000000 --- a/source/source_esolver/pw_setup.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "pw_setup.h" - -// To get POOL_WORLD -#include "source_base/parallel_comm.h" -// Print information -#include "source_io/print_info.h" - -void ModuleESolver::pw_setup(const Input_para& inp, - const UnitCell& ucell, - const ModulePW::PW_Basis& pw_rho, - K_Vectors& kv, - ModulePW::PW_Basis_K& pw_wfc) -{ - ModuleBase::TITLE("ModuleESolver", "pw_setup"); - - //! new plane wave basis, fft grids, etc. -#ifdef __MPI - pw_wfc.initmpi(GlobalV::NPROC_IN_POOL, GlobalV::RANK_IN_POOL, POOL_WORLD); -#endif - - pw_wfc.initgrids(inp.ref_cell_factor * ucell.lat0, - ucell.latvec, - pw_rho.nx, - pw_rho.ny, - pw_rho.nz); - - pw_wfc.initparameters(false, inp.ecutwfc, kv.get_nks(), kv.kvec_d.data()); - -#ifdef __MPI - if (inp.pw_seed > 0) - { - MPI_Allreduce(MPI_IN_PLACE, &pw_wfc.ggecut, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD); - } - // qianrui add 2021-8-13 to make different kpar parameters can get the same - // results -#endif - - pw_wfc.fft_bundle.initfftmode(inp.fft_mode); - pw_wfc.setuptransform(); - - //! initialize the number of plane waves for each k point - for (int ik = 0; ik < kv.get_nks(); ++ik) - { - kv.ngk[ik] = pw_wfc.npwk[ik]; - } - - pw_wfc.collect_local_pw(inp.erf_ecut, inp.erf_height, inp.erf_sigma); - - ModuleIO::print_wfcfft(inp, pw_wfc, GlobalV::ofs_running); - -} - diff --git a/source/source_esolver/pw_setup.h b/source/source_esolver/pw_setup.h deleted file mode 100644 index 8f1cd86af4..0000000000 --- a/source/source_esolver/pw_setup.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef PW_SETUP_H -#define PW_SETUP_H - -//! Input parameters -#include "source_io/module_parameter/parameter.h" -//! Unit cell information -#include "source_cell/unitcell.h" -//! Plane wave basis -#include "source_basis/module_pw/pw_basis.h" -//! K points in Brillouin zone -#include "source_cell/klist.h" -//! Plane wave basis set for k points -#include "source_basis/module_pw/pw_basis_k.h" - -namespace ModuleESolver -{ - -void pw_setup(const Input_para& inp, - const UnitCell& ucell, - const ModulePW::PW_Basis& pw_rho, - K_Vectors& kv, - ModulePW::PW_Basis_K& pw_wfc); - -} - -#endif diff --git a/source/source_esolver/rho_restart.cpp b/source/source_esolver/rho_restart.cpp deleted file mode 100644 index bd7497f34b..0000000000 --- a/source/source_esolver/rho_restart.cpp +++ /dev/null @@ -1,147 +0,0 @@ -#include "rho_restart.h" - -void ModuleESolver::rho_restart(const Input_para& inp, - const UnitCell& ucell, - const elecstate::ElecState& elec, - const int nrxx, // originally written as pw_rhod->nrxx - const int iter, // SCF iteration index - const double& scf_thr, - const double& scf_ene_thr, - double& drho, // not sure how this is changed in this function - Charge_Mixing& chr_mix, - Charge &chr, - bool &conv_esolver, - bool &oscillate_esolver) -{ - ModuleBase::TITLE("ModuleESolver", "rho_restart"); - - // mixing will restart once if drho is smaller than inp.mixing_restart - const double restart_thr = inp.mixing_restart; - - // ks_run means this is KSDFT - if (PARAM.globalv.ks_run) - { - //-------------------------------------------------------- - // step1: determine mixing_restart_step - //-------------------------------------------------------- - // charge mixing restarts at chgmix.mixing_restart steps - if (drho <= restart_thr - && restart_thr > 0.0 - && chgmix.mixing_restart_step > iter) - { - chgmix.mixing_restart_step = iter + 1; - } - - - //-------------------------------------------------------- - // step2: determine density oscillation - //-------------------------------------------------------- - // if density oscillation is detected, SCF will stop - if (inp.scf_os_stop) - { - oscillate_esolver = chgmix.if_scf_oscillate(iter, - drho, - inp.scf_os_ndim, - inp.scf_os_thr); - } - - //-------------------------------------------------------- - // step3: determine convergence of SCF: conv_esolver - //-------------------------------------------------------- - // drho will be 0 at the chgmix.mixing_restart step, - // which is not ground state - bool is_mixing_restart_step = (iter == chgmix.mixing_restart_step); - bool is_restart_thr_positive = (restart_thr > 0.0); - bool is_restart_condition_met = is_mixing_restart_step && is_restart_thr_positive; - bool not_restart_step =!is_restart_condition_met; - - // SCF will continue if U is not converged for uramping calculation - bool is_U_converged = true; - - // to avoid unnecessary dependence on dft+u, refactor is needed -#ifdef __LCAO - if (inp.dft_plus_u) - { - is_U_converged = GlobalC::dftu.u_converged(); - } -#endif - - conv_esolver = (drho < scf_thr && not_restart_step && is_U_converged); - - //-------------------------------------------------------- - // step4: determine conv_esolver if energy threshold is - // used in SCF - //-------------------------------------------------------- - if (scf_ene_thr > 0.0) - { - // calculate energy of output charge density - this->update_pot(ucell, istep, iter, conv_esolver); - - // '2' means Kohn-Sham functional - elec.cal_energies(2); - - // now, etot_old is the energy of input density, while etot is the energy of output density - elec.f_en.etot_delta = elec.f_en.etot - elec.f_en.etot_old; - - // output etot_delta - GlobalV::ofs_running << " DeltaE_womix = " - << elec.f_en.etot_delta * ModuleBase::Ry_to_eV << " eV" - << std::endl; - - // only check when density is converged - if (iter > 1 && conv_esolver == 1) - { - // update the convergence flag - conv_esolver - = (std::abs(elec.f_en.etot_delta * ModuleBase::Ry_to_eV) < scf_ene_thr); - } - } - - //-------------------------------------------------------- - // If drho < hsolver_error in the first iter or - // drho < scf_thr, we do nothing and do not change rho. - //-------------------------------------------------------- - if (drho < hsolver_error - || conv_esolver // SCF has been converged - || inp.calculation == "nscf") // nscf calculations, do not change rho - { - if (drho < hsolver_error) - { - GlobalV::ofs_warning << " drho < hsolver_error, keep " - "charge density unchanged." - << std::endl; - } - } - else - { - // mixing will restart after chgmix.mixing_restart steps - if (restart_thr > 0.0 - && iter == chgmix.mixing_restart_step - 1 - && drho <= restart_thr) - { - // do not mix charge density - } - else - { - // mix charge density (rho) - chgmix.mix_rho(&chr); - } - - // renormalize rho in R-space would induce error in G space - if (inp.scf_thr_type == 2) - { - chr.renormalize_rho(); - } - } - } - -#ifdef __MPI - // bcast drho in BP_WORLD (Band parallel world) - MPI_Bcast(&drho, 1, MPI_DOUBLE, 0, BP_WORLD); - - // be careful! conv_esolver is bool, not double !! Maybe a bug 20250302 by mohan - MPI_Bcast(&conv_esolver, 1, MPI_DOUBLE, 0, BP_WORLD); - MPI_Bcast(chr.rho[0], nrxx, MPI_DOUBLE, 0, BP_WORLD); -#endif - -} diff --git a/source/source_esolver/test/for_test.h b/source/source_esolver/test/for_test.h index c8defbb8e7..ba8c9bb415 100644 --- a/source/source_esolver/test/for_test.h +++ b/source/source_esolver/test/for_test.h @@ -71,4 +71,8 @@ pseudo::pseudo() pseudo::~pseudo() { } -#endif \ No newline at end of file +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} +#endif diff --git a/source/source_estate/CMakeLists.txt b/source/source_estate/CMakeLists.txt index 0bdd120879..9789df523c 100644 --- a/source/source_estate/CMakeLists.txt +++ b/source/source_estate/CMakeLists.txt @@ -13,9 +13,10 @@ list(APPEND objects module_pot/H_Hartree_pw.cpp module_pot/pot_xc.cpp module_pot/pot_local.cpp - module_pot/pot_local_paw.cpp module_pot/potential_new.cpp module_pot/potential_types.cpp + module_pot/pot_sep.cpp + module_charge/chgmixing.cpp module_charge/charge.cpp module_charge/charge_init.cpp module_charge/charge_mpi.cpp @@ -36,13 +37,15 @@ list(APPEND objects cal_nelec_nband.cpp read_pseudo.cpp cal_wfc.cpp + setup_estate_pw.cpp + update_pot.cpp ) if(ENABLE_LCAO) list(APPEND objects elecstate_lcao.cpp - elecstate_lcao_cal_tau.cpp module_pot/H_TDDFT_pw.cpp + module_dm/init_dm.cpp module_dm/density_matrix.cpp module_dm/density_matrix_io.cpp module_dm/cal_dm_psi.cpp @@ -69,4 +72,4 @@ endif() if(ENABLE_LCAO) add_subdirectory(module_dm) -endif() \ No newline at end of file +endif() diff --git a/source/source_estate/elecstate.cpp b/source/source_estate/elecstate.cpp index 72ac36f06b..5e2c6a8ced 100644 --- a/source/source_estate/elecstate.cpp +++ b/source/source_estate/elecstate.cpp @@ -27,8 +27,7 @@ void ElecState::init_nelec_spin() } } -void ElecState::init_scf(const int istep, - const UnitCell& ucell, +void ElecState::init_scf(const UnitCell& ucell, const Parallel_Grid& pgrid, const ModuleBase::ComplexMatrix& strucfac, const bool* numeric, @@ -38,31 +37,21 @@ void ElecState::init_scf(const int istep, //! core correction potential. this->charge->set_rho_core(ucell,strucfac, numeric); - //! other effective potentials need charge density, - // choose charge density from ionic step 0. - if (istep == 0) - { - this->charge->init_rho(this->eferm,ucell, pgrid, strucfac, symm, (const void*)this->klist, wfcpw); - this->charge->check_rho(); // check the rho - } - //! renormalize the charge density this->charge->renormalize_rho(); //! initialize the potential - this->pot->init_pot(istep, this->charge); + this->pot->init_pot(this->charge); } -void ElecState::init_ks(Charge* chg_in, // pointer for class Charge +void ElecState::init_ks(Charge* chr_in, // pointer for class Charge const K_Vectors* klist_in, int nk_in, - ModulePW::PW_Basis* rhopw_in, const ModulePW::PW_Basis_Big* bigpw_in) { - this->charge = chg_in; + this->charge = chr_in; this->klist = klist_in; - this->charge->set_rhopw(rhopw_in); this->bigpw = bigpw_in; // init nelec_spin with nelec and nupdown this->init_nelec_spin(); diff --git a/source/source_estate/elecstate.h b/source/source_estate/elecstate.h index bdf5f9cc77..888b3b95dc 100644 --- a/source/source_estate/elecstate.h +++ b/source/source_estate/elecstate.h @@ -17,9 +17,9 @@ class ElecState ElecState() { } - ElecState(Charge* charge_in, ModulePW::PW_Basis* rhopw_in, ModulePW::PW_Basis_Big* bigpw_in) + ElecState(Charge* chr_in, ModulePW::PW_Basis* rhopw_in, ModulePW::PW_Basis_Big* bigpw_in) { - this->charge = charge_in; + this->charge = chr_in; this->charge->set_rhopw(rhopw_in); this->bigpw = bigpw_in; this->eferm.two_efermi = PARAM.globalv.two_fermi; @@ -32,10 +32,9 @@ class ElecState this->pot = nullptr; } } - void init_ks(Charge* chg_in, // pointer for class Charge + void init_ks(Charge* chr_in, // pointer for class Charge const K_Vectors* klist_in, int nk_in, // number of k points - ModulePW::PW_Basis* rhopw_in, const ModulePW::PW_Basis_Big* bigpw_in); // return current electronic density rho, as a input for constructing Hamiltonian @@ -51,8 +50,6 @@ class ElecState { return; } - // virtual void updateRhoK(const psi::Psi> &psi) = 0; - // virtual void updateRhoK(const psi::Psi &psi)=0 virtual void cal_tau(const psi::Psi>& psi) { return; @@ -77,12 +74,9 @@ class ElecState return; } - - // use occupied weights from INPUT and skip calculate_weights // mohan updated on 2024-06-08 - // if nupdown is not 0(TWO_EFERMI case), // nelec_spin will be fixed and weights will be constrained void init_nelec_spin(); @@ -103,14 +97,12 @@ class ElecState /** * @brief Init rho_core, init rho, renormalize rho, init pot * - * @param istep i-th step * @param ucell unit cell * @param strucfac structure factor * @param symm symmetry * @param wfcpw PW basis for wave function if needed */ - void init_scf(const int istep, - const UnitCell& ucell, + void init_scf(const UnitCell& ucell, const Parallel_Grid& pgrid, const ModuleBase::ComplexMatrix& strucfac, const bool* numeric, @@ -119,7 +111,6 @@ class ElecState std::string classname = "elecstate"; int iter = 0; ///< scf iteration - double omega = 0.0; ///< volume Potential* pot = nullptr; ///< pointer to potential Charge* charge = nullptr; ///< pointer to charge density const K_Vectors* klist = nullptr; ///< pointer to k points lists @@ -155,7 +146,7 @@ class ElecState double get_local_pp_energy(); fenergy f_en; ///< energies contribute to the total free energy - efermi eferm; ///< fermi energies + Efermi eferm; ///< fermi energies // below defines the bandgap: diff --git a/source/source_estate/elecstate_energy.cpp b/source/source_estate/elecstate_energy.cpp index 471dd0df00..d481cb3484 100644 --- a/source/source_estate/elecstate_energy.cpp +++ b/source/source_estate/elecstate_energy.cpp @@ -5,6 +5,7 @@ #include "source_io/module_parameter/parameter.h" #include +#include namespace elecstate { @@ -12,29 +13,37 @@ namespace elecstate void ElecState::cal_bandgap() { if (this->ekb.nr == 0 || this->ekb.nc == 0) - { // which means no homo and no lumo + { // which means no vbm and no cbm this->bandgap = 0.0; return; } - int nbands = PARAM.inp.nbands; + + int nbands = this->ekb.nc; int nks = this->klist->get_nks(); - double homo = this->ekb(0, 0); - double lumo = this->ekb(0, nbands - 1); + double vbm = -std::numeric_limits::infinity(); // Valence Band Maximum + double cbm = std::numeric_limits::infinity(); // Conduction Band Minimum + const double threshold = 1.0e-5; // threshold to avoid E_gap(k) = 0 for (int ib = 0; ib < nbands; ib++) { for (int ik = 0; ik < nks; ik++) { - if (!(this->ekb(ik, ib) - this->eferm.ef > 1e-5) && homo < this->ekb(ik, ib)) + if (this->ekb(ik, ib) <= this->eferm.ef + threshold && this->ekb(ik, ib) > vbm) { - homo = this->ekb(ik, ib); + vbm = this->ekb(ik, ib); } - if (this->ekb(ik, ib) - this->eferm.ef > 1e-5 && lumo > this->ekb(ik, ib)) + if (this->ekb(ik, ib) > this->eferm.ef + threshold && this->ekb(ik, ib) < cbm) { - lumo = this->ekb(ik, ib); + cbm = this->ekb(ik, ib); } } } - this->bandgap = lumo - homo; + +#ifdef __MPI + Parallel_Reduce::gather_max_double_all(GlobalV::NPROC, vbm); + Parallel_Reduce::gather_min_double_all(GlobalV::NPROC, cbm); +#endif + + this->bandgap = cbm - vbm; } /// @brief calculate spin up & down band gap @@ -42,61 +51,71 @@ void ElecState::cal_bandgap() void ElecState::cal_bandgap_updw() { if (this->ekb.nr == 0 || this->ekb.nc == 0) - { // which means no homo and no lumo + { // which means no vbm and no cbm this->bandgap_up = 0.0; this->bandgap_dw = 0.0; return; } - int nbands = PARAM.inp.nbands; + // int nbands = PARAM.inp.nbands; + int nbands = this->ekb.nc; int nks = this->klist->get_nks(); - double homo_up = this->ekb(0, 0); - double lumo_up = this->ekb(0, nbands - 1); - double homo_dw = this->ekb(0, 0); - double lumo_dw = this->ekb(0, nbands - 1); + double vbm_up = -std::numeric_limits::infinity(); + double cbm_up = std::numeric_limits::infinity(); + double vbm_dw = -std::numeric_limits::infinity(); + double cbm_dw = std::numeric_limits::infinity(); + const double threshold = 1.0e-5; for (int ib = 0; ib < nbands; ib++) { for (int ik = 0; ik < nks; ik++) { if (this->klist->isk[ik] == 0) { - if (!(this->ekb(ik, ib) - this->eferm.ef_up > 1e-5) && homo_up < this->ekb(ik, ib)) + if (this->ekb(ik, ib) <= this->eferm.ef_up + threshold && this->ekb(ik, ib) > vbm_up) { - homo_up = this->ekb(ik, ib); + vbm_up = this->ekb(ik, ib); } - if (this->ekb(ik, ib) - this->eferm.ef_up > 1e-5 && lumo_up > this->ekb(ik, ib)) + if (this->ekb(ik, ib) > this->eferm.ef_up + threshold && this->ekb(ik, ib) < cbm_up) { - lumo_up = this->ekb(ik, ib); + cbm_up = this->ekb(ik, ib); } } if (this->klist->isk[ik] == 1) { - if (!(this->ekb(ik, ib) - this->eferm.ef_dw > 1e-5) && homo_dw < this->ekb(ik, ib)) + if (this->ekb(ik, ib) <= this->eferm.ef_dw + threshold && this->ekb(ik, ib) > vbm_dw) { - homo_dw = this->ekb(ik, ib); + vbm_dw = this->ekb(ik, ib); } - if (this->ekb(ik, ib) - this->eferm.ef_dw > 1e-5 && lumo_dw > this->ekb(ik, ib)) + if (this->ekb(ik, ib) > this->eferm.ef_dw + threshold && this->ekb(ik, ib) < cbm_dw) { - lumo_dw = this->ekb(ik, ib); + cbm_dw = this->ekb(ik, ib); } } } } - this->bandgap_up = lumo_up - homo_up; - this->bandgap_dw = lumo_dw - homo_dw; + +#ifdef __MPI + Parallel_Reduce::gather_max_double_all(GlobalV::NPROC, vbm_up); + Parallel_Reduce::gather_min_double_all(GlobalV::NPROC, cbm_up); + Parallel_Reduce::gather_max_double_all(GlobalV::NPROC, vbm_dw); + Parallel_Reduce::gather_min_double_all(GlobalV::NPROC, cbm_dw); +#endif + + this->bandgap_up = cbm_up - vbm_up; + this->bandgap_dw = cbm_dw - vbm_dw; } /// @brief calculate deband double ElecState::cal_delta_eband(const UnitCell& ucell) const { - // out potentials from potential mixing - // total energy and band energy corrections + ModuleBase::timer::tick("ElecState", "cal_delta_eband"); + // out potentials from potential mixing + // total energy and band energy corrections double deband0 = 0.0; - double deband_aux = 0.0; // only potential related with charge is used here for energy correction - // on the fly calculate it here by v_effective - v_fixed - const double* v_eff = this->pot->get_effective_v(0); + // on the fly calculate it here by v_eff - v_fixed + const double* v_eff = this->pot->get_eff_v(0); const double* v_fixed = this->pot->get_fixed_v(); const double* v_ofk = nullptr; const bool v_ofk_flag = (XC_Functional::get_ked_flag()); @@ -105,10 +124,11 @@ double ElecState::cal_delta_eband(const UnitCell& ucell) const { deband_aux -= this->charge->rho[0][ir] * (v_eff[ir] - v_fixed[ir]); } + if (v_ofk_flag) { - v_ofk = this->pot->get_effective_vofk(0); - // cause in the get_effective_vofk, the func will return nullptr + v_ofk = this->pot->get_eff_vofk(0); + // cause in the get_eff_vofk, the func will return nullptr if (v_ofk == nullptr && this->charge->rhopw->nrxx > 0) { ModuleBase::WARNING_QUIT("ElecState::cal_delta_eband", "v_ofk is nullptr"); @@ -121,14 +141,14 @@ double ElecState::cal_delta_eband(const UnitCell& ucell) const if (PARAM.inp.nspin == 2) { - v_eff = this->pot->get_effective_v(1); + v_eff = this->pot->get_eff_v(1); for (int ir = 0; ir < this->charge->rhopw->nrxx; ir++) { deband_aux -= this->charge->rho[1][ir] * (v_eff[ir] - v_fixed[ir]); } if (v_ofk_flag) { - v_ofk = this->pot->get_effective_vofk(1); + v_ofk = this->pot->get_eff_vofk(1); if (v_ofk == nullptr && this->charge->rhopw->nrxx > 0) { ModuleBase::WARNING_QUIT("ElecState::cal_delta_eband", "v_ofk is nullptr"); @@ -143,7 +163,7 @@ double ElecState::cal_delta_eband(const UnitCell& ucell) const { for (int is = 1; is < 4; is++) { - v_eff = this->pot->get_effective_v(is); + v_eff = this->pot->get_eff_v(is); for (int ir = 0; ir < this->charge->rhopw->nrxx; ir++) { deband_aux -= this->charge->rho[is][ir] * v_eff[ir]; @@ -157,17 +177,20 @@ double ElecState::cal_delta_eband(const UnitCell& ucell) const deband0 = deband_aux; #endif - deband0 *= this->omega / this->charge->rhopw->nxyz; + deband0 *= ucell.omega / this->charge->rhopw->nxyz; // \int rho(r) v_{exx}(r) dr = 2 E_{exx}[rho] deband0 -= 2 * this->f_en.exx; // Peize Lin add 2017-10-16 + + ModuleBase::timer::tick("ElecState", "cal_delta_eband"); return deband0; } /// @brief calculate descf double ElecState::cal_delta_escf() const { - ModuleBase::TITLE("energy", "delta_escf"); + ModuleBase::TITLE("ElecState", "cal_delta_escf"); + ModuleBase::timer::tick("ElecState", "cal_delta_escf"); double descf = 0.0; // now rho1 is "mixed" charge density @@ -175,21 +198,21 @@ double ElecState::cal_delta_escf() const // because in "deband" the energy is calculated from "output" charge density, // so here is the correction. // only potential related with charge is used here for energy correction - // on the fly calculate it here by v_effective - v_fixed - const double* v_eff = this->pot->get_effective_v(0); + // on the fly calculate it here by v_eff - v_fixed + const double* v_eff = this->pot->get_eff_v(0); const double* v_fixed = this->pot->get_fixed_v(); const double* v_ofk = nullptr; if (XC_Functional::get_ked_flag()) { - v_ofk = this->pot->get_effective_vofk(0); + v_ofk = this->pot->get_eff_vofk(0); } for (int ir = 0; ir < this->charge->rhopw->nrxx; ir++) { descf -= (this->charge->rho[0][ir] - this->charge->rho_save[0][ir]) * (v_eff[ir] - v_fixed[ir]); if (XC_Functional::get_ked_flag()) { - // cause in the get_effective_vofk, the func will return nullptr + // cause in the get_eff_vofk, the func will return nullptr assert(v_ofk != nullptr); descf -= (this->charge->kin_r[0][ir] - this->charge->kin_r_save[0][ir]) * v_ofk[ir]; } @@ -197,10 +220,10 @@ double ElecState::cal_delta_escf() const if (PARAM.inp.nspin == 2) { - v_eff = this->pot->get_effective_v(1); + v_eff = this->pot->get_eff_v(1); if (XC_Functional::get_ked_flag()) { - v_ofk = this->pot->get_effective_vofk(1); + v_ofk = this->pot->get_eff_vofk(1); } for (int ir = 0; ir < this->charge->rhopw->nrxx; ir++) { @@ -215,7 +238,7 @@ double ElecState::cal_delta_escf() const { for (int is = 1; is < 4; is++) { - v_eff = this->pot->get_effective_v(is); + v_eff = this->pot->get_eff_v(is); for (int ir = 0; ir < this->charge->rhopw->nrxx; ir++) { descf -= (this->charge->rho[is][ir] - this->charge->rho_save[is][ir]) * v_eff[ir]; @@ -229,7 +252,15 @@ double ElecState::cal_delta_escf() const assert(this->charge->rhopw->nxyz > 0); - descf *= this->omega / this->charge->rhopw->nxyz; + descf *= this->charge->rhopw->omega / this->charge->rhopw->nxyz; + +// mohan move the code here, 2025-11-28 +#ifdef __MPI + MPI_Bcast(&descf, 1, MPI_DOUBLE, 0, BP_WORLD); +#endif + + + ModuleBase::timer::tick("ElecState", "cal_delta_escf"); return descf; } @@ -294,7 +325,7 @@ void ElecState::cal_energies(const int type) } else { - ModuleBase::WARNING_QUIT("cal_energies", "The form of total energy functional is unknown!"); + ModuleBase::WARNING_QUIT("ElecState::cal_energies", "The form of total energy functional is unknown!"); } } diff --git a/source/source_estate/elecstate_energy_terms.cpp b/source/source_estate/elecstate_energy_terms.cpp index 73abe5f17b..c7bb4b55a5 100644 --- a/source/source_estate/elecstate_energy_terms.cpp +++ b/source/source_estate/elecstate_energy_terms.cpp @@ -4,7 +4,7 @@ #include "source_estate/module_pot/gatefield.h" #include "source_lcao/module_deepks/LCAO_deepks.h" #include "source_lcao/module_deltaspin/spin_constrain.h" -#include "source_lcao/module_dftu/dftu.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 2025-11-06 namespace elecstate { @@ -36,7 +36,7 @@ double ElecState::get_solvent_model_Acav() double ElecState::get_dftu_energy() { - return GlobalC::dftu.get_energy(); + return Plus_U::get_energy(); } double ElecState::get_local_pp_energy() @@ -45,11 +45,14 @@ double ElecState::get_local_pp_energy() for (int is = 0; is < PARAM.inp.nspin; ++is) { local_pseudopot_energy - += BlasConnector::dot(this->charge->rhopw->nrxx, this->pot->get_fixed_v(), 1, this->charge->rho[is], 1) - * this->charge->rhopw->omega / this->charge->rhopw->nxyz; + += BlasConnector::dot(this->charge->rhopw->nrxx, + this->pot->get_fixed_v(), + 1, + this->charge->rho[is], 1) + * this->charge->rhopw->omega / this->charge->rhopw->nxyz; } - Parallel_Reduce::reduce_all(local_pseudopot_energy); + Parallel_Reduce::reduce_pool(local_pseudopot_energy); return local_pseudopot_energy; } -} // namespace elecstate \ No newline at end of file +} // namespace elecstate diff --git a/source/source_estate/elecstate_lcao.cpp b/source/source_estate/elecstate_lcao.cpp index 0a02774687..7bd32542ae 100644 --- a/source/source_estate/elecstate_lcao.cpp +++ b/source/source_estate/elecstate_lcao.cpp @@ -1,101 +1,19 @@ -#include "elecstate_lcao.h" - -#include "cal_dm.h" +#include "source_estate/elecstate_lcao.h" +#include "source_estate/cal_dm.h" #include "source_base/timer.h" #include "source_estate/module_dm/cal_dm_psi.h" #include "source_hamilt/module_xc/xc_functional.h" #include "source_lcao/module_deltaspin/spin_constrain.h" -#include "source_lcao/module_gint/grid_technique.h" #include "source_pw/module_pwdft/global.h" #include "source_io/module_parameter/parameter.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" +#include "source_lcao/module_gint/gint_interface.h" #include namespace elecstate { -// multi-k case -template <> -void ElecStateLCAO>::psiToRho(const psi::Psi>& psi) -{ - ModuleBase::TITLE("ElecStateLCAO", "psiToRho"); - ModuleBase::timer::tick("ElecStateLCAO", "psiToRho"); - - for (int is = 0; is < PARAM.inp.nspin; is++) - { - ModuleBase::GlobalFunc::ZEROS(this->charge->rho[is], - this->charge->nrxx); // mohan 2009-11-10 - } - - //------------------------------------------------------------ - // calculate the charge density on real space grid. - //------------------------------------------------------------ - - ModuleBase::GlobalFunc::NOTE("Calculate the charge on real space grid!"); -#ifdef __OLD_GINT - this->gint_k->transfer_DM2DtoGrid(this->DM->get_DMR_vector()); // transfer DM2D to DM_grid in gint - Gint_inout inout(this->charge->rho, Gint_Tools::job_type::rho, PARAM.inp.nspin); - this->gint_k->cal_gint(&inout); -#else - ModuleGint::cal_gint_rho(this->DM->get_DMR_vector(), PARAM.inp.nspin, this->charge->rho); -#endif - - if (XC_Functional::get_ked_flag()) - { - this->cal_tau(psi); - } - - this->charge->renormalize_rho(); - - ModuleBase::timer::tick("ElecStateLCAO", "psiToRho"); - return; -} - -// Gamma_only case -template <> -void ElecStateLCAO::psiToRho(const psi::Psi& psi) -{ - ModuleBase::TITLE("ElecStateLCAO", "psiToRho"); - ModuleBase::timer::tick("ElecStateLCAO", "psiToRho"); - - for (int is = 0; is < PARAM.inp.nspin; is++) - { - ModuleBase::GlobalFunc::ZEROS(this->charge->rho[is], - this->charge->nrxx); // mohan 2009-11-10 - } - - //------------------------------------------------------------ - // calculate the charge density on real space grid. - //------------------------------------------------------------ - ModuleBase::GlobalFunc::NOTE("Calculate the charge on real space grid!"); - -#ifdef __OLD_GINT - this->gint_gamma->transfer_DM2DtoGrid(this->DM->get_DMR_vector()); // transfer DM2D to DM_grid in gint - Gint_inout inout(this->charge->rho, Gint_Tools::job_type::rho, PARAM.inp.nspin); - this->gint_gamma->cal_gint(&inout); -#else - ModuleGint::cal_gint_rho(this->DM->get_DMR_vector(), PARAM.inp.nspin, this->charge->rho); -#endif - - if (XC_Functional::get_ked_flag()) - { - this->cal_tau(psi); - } - - this->charge->renormalize_rho(); - - ModuleBase::timer::tick("ElecStateLCAO", "psiToRho"); - return; -} - -template -void ElecStateLCAO::init_DM(const K_Vectors* kv, const Parallel_Orbitals* paraV, const int nspin) -{ - const int nspin_dm = nspin == 2 ? 2 : 1; - this->DM = new DensityMatrix(paraV, nspin_dm, kv->kvec_d, kv->get_nks() / nspin_dm); -} template <> double ElecStateLCAO::get_spin_constrain_energy() @@ -112,11 +30,12 @@ double ElecStateLCAO>::get_spin_constrain_energy() return sc.cal_escon(); } -#ifdef __PEXSI template <> -void ElecStateLCAO::dmToRho(std::vector pexsi_DM, std::vector pexsi_EDM) +void ElecStateLCAO::dm2rho(std::vector pexsi_DM, + std::vector pexsi_EDM, + DensityMatrix* dm) { - ModuleBase::timer::tick("ElecStateLCAO", "dmToRho"); + ModuleBase::timer::tick("ElecStateLCAO", "dm2rho"); int nspin = PARAM.inp.nspin; if (PARAM.inp.nspin == 4) @@ -124,13 +43,15 @@ void ElecStateLCAO::dmToRho(std::vector pexsi_DM, std::vectorget_DM()->pexsi_EDM = pexsi_EDM; +#ifdef __PEXSI + dm->pexsi_EDM = pexsi_EDM; +#endif for (int is = 0; is < nspin; is++) { - this->DM->set_DMK_pointer(is, pexsi_DM[is]); + dm->set_DMK_pointer(is, pexsi_DM[is]); } - DM->cal_DMR(); + dm->cal_DMR(); for (int is = 0; is < PARAM.inp.nspin; is++) { @@ -139,41 +60,30 @@ void ElecStateLCAO::dmToRho(std::vector pexsi_DM, std::vectorgint_gamma->transfer_DM2DtoGrid(this->DM->get_DMR_vector()); // transfer DM2D to DM_grid in gint - Gint_inout inout(this->charge->rho, Gint_Tools::job_type::rho, PARAM.inp.nspin); - this->gint_gamma->cal_gint(&inout); -#else - ModuleGint::cal_gint_rho(this->DM->get_DMR_vector(), PARAM.inp.nspin, this->charge->rho); -#endif + ModuleGint::cal_gint_rho(dm->get_DMR_vector(), PARAM.inp.nspin, this->charge->rho); if (XC_Functional::get_ked_flag()) { for (int is = 0; is < PARAM.inp.nspin; is++) { ModuleBase::GlobalFunc::ZEROS(this->charge->kin_r[0], this->charge->nrxx); } -#ifdef __OLD_GINT - Gint_inout inout1(this->charge->kin_r, Gint_Tools::job_type::tau); - this->gint_gamma->cal_gint(&inout1); -#else - ModuleGint::cal_gint_tau(this->DM->get_DMR_vector(), PARAM.inp.nspin, this->charge->kin_r); -#endif + ModuleGint::cal_gint_tau(dm->get_DMR_vector(), PARAM.inp.nspin, this->charge->kin_r); } this->charge->renormalize_rho(); - ModuleBase::timer::tick("ElecStateLCAO", "dmToRho"); + ModuleBase::timer::tick("ElecStateLCAO", "dm2rho"); return; } template <> -void ElecStateLCAO>::dmToRho(std::vector*> pexsi_DM, - std::vector*> pexsi_EDM) +void ElecStateLCAO>::dm2rho(std::vector*> pexsi_DM, + std::vector*> pexsi_EDM, + DensityMatrix, double>* dm) { ModuleBase::WARNING_QUIT("ElecStateLCAO", "pexsi is not completed for multi-k case"); } -#endif template class ElecStateLCAO; // Gamma_only case template class ElecStateLCAO>; // multi-k case diff --git a/source/source_estate/elecstate_lcao.h b/source/source_estate/elecstate_lcao.h index b56ec31f18..bf1f11e1f7 100644 --- a/source/source_estate/elecstate_lcao.h +++ b/source/source_estate/elecstate_lcao.h @@ -3,8 +3,6 @@ #include "elecstate.h" #include "source_estate/module_dm/density_matrix.h" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" #include @@ -17,52 +15,27 @@ class ElecStateLCAO : public ElecState ElecStateLCAO() { } // will be called by ElecStateLCAO_TDDFT - ElecStateLCAO(Charge* chg_in, + ElecStateLCAO(Charge* chr_in, const K_Vectors* klist_in, int nks_in, - Gint_Gamma* gint_gamma_in, // mohan add 2024-04-01 - Gint_k* gint_k_in, // mohan add 2024-04-01 - ModulePW::PW_Basis* rhopw_in, ModulePW::PW_Basis_Big* bigpw_in) { - init_ks(chg_in, klist_in, nks_in, rhopw_in, bigpw_in); - this->gint_gamma = gint_gamma_in; // mohan add 2024-04-01 - this->gint_k = gint_k_in; // mohan add 2024-04-01 + init_ks(chr_in, klist_in, nks_in, bigpw_in); this->classname = "ElecStateLCAO"; } virtual ~ElecStateLCAO() { - if (this->DM != nullptr) - { - delete this->DM; - } } - // void init(Charge* chg_in):charge(chg_in){} override; - - // interface for HSolver to calculate rho from Psi - virtual void psiToRho(const psi::Psi& psi) override; - // virtual void psiToRho(const psi::Psi& psi) override; - // return current electronic density rho, as a input for constructing Hamiltonian - // const double* getRho(int spin) const override; - virtual void cal_tau(const psi::Psi& psi) override; - // update charge density for next scf step // void getNewRho() override; - // initial density matrix - void init_DM(const K_Vectors* kv, const Parallel_Orbitals* paraV, const int nspin); - DensityMatrix* get_DM() const - { - return const_cast*>(this->DM); - } static int out_wfc_lcao; static bool need_psi_grid; double get_spin_constrain_energy() override; -#ifdef __PEXSI // use for pexsi /** @@ -71,22 +44,10 @@ class ElecStateLCAO : public ElecState * @param pexsi_EDM: pointers of energy-weighed density matrix (EDMK) calculated by pexsi, needed by MD, will be * stored in DensityMatrix::pexsi_EDM */ - void dmToRho(std::vector pexsi_DM, std::vector pexsi_EDM); -#endif - - DensityMatrix* DM = nullptr; - - protected: - // calculate electronic charge density on grid points or density matrix in real space - // the consequence charge density rho saved into rho_out, preparing for charge mixing. - // void updateRhoK(const psi::Psi>& psi) ;//override; - // sum over all pools for rho and ebands - // void parallelK(); - // calcualte rho for each k - // void rhoBandK(const psi::Psi>& psi); + void dm2rho(std::vector pexsi_DM, + std::vector pexsi_EDM, + DensityMatrix* dm); - Gint_Gamma* gint_gamma = nullptr; // mohan add 2024-04-01 - Gint_k* gint_k = nullptr; // mohan add 2024-04-01 }; template diff --git a/source/source_estate/elecstate_lcao_cal_tau.cpp b/source/source_estate/elecstate_lcao_cal_tau.cpp deleted file mode 100644 index db85c314fd..0000000000 --- a/source/source_estate/elecstate_lcao_cal_tau.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include "elecstate_lcao.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" - -#include "source_base/timer.h" - -namespace elecstate -{ - -// calculate the kinetic energy density tau, multi-k case -template <> -void ElecStateLCAO>::cal_tau(const psi::Psi>& psi) -{ - ModuleBase::timer::tick("ElecStateLCAO", "cal_tau"); - - for (int is = 0; is < PARAM.inp.nspin; is++) - { - ModuleBase::GlobalFunc::ZEROS(this->charge->kin_r[is], this->charge->nrxx); - } -#ifdef __OLD_GINT - Gint_inout inout1(this->charge->kin_r, Gint_Tools::job_type::tau, PARAM.inp.nspin); - this->gint_k->cal_gint(&inout1); -#else - ModuleGint::cal_gint_tau(this->DM->get_DMR_vector(), PARAM.inp.nspin, this->charge->kin_r); -#endif - ModuleBase::timer::tick("ElecStateLCAO", "cal_tau"); - return; -} - -// calculate the kinetic energy density tau, gamma-only case -template <> -void ElecStateLCAO::cal_tau(const psi::Psi& psi) -{ - ModuleBase::timer::tick("ElecStateLCAO", "cal_tau"); - - for (int is = 0; is < PARAM.inp.nspin; is++) - { - ModuleBase::GlobalFunc::ZEROS(this->charge->kin_r[is], this->charge->nrxx); - } -#ifdef __OLD_GINT - Gint_inout inout1(this->charge->kin_r, Gint_Tools::job_type::tau, PARAM.inp.nspin); - this->gint_gamma->cal_gint(&inout1); -#else - ModuleGint::cal_gint_tau(this->DM->get_DMR_vector(), PARAM.inp.nspin, this->charge->kin_r); -#endif - - ModuleBase::timer::tick("ElecStateLCAO", "cal_tau"); - return; -} -} \ No newline at end of file diff --git a/source/source_estate/elecstate_print.cpp b/source/source_estate/elecstate_print.cpp index 6e7ebf238e..5bdc9e733b 100644 --- a/source/source_estate/elecstate_print.cpp +++ b/source/source_estate/elecstate_print.cpp @@ -146,7 +146,7 @@ void print_scf_iterinfo(const std::string& ks_solver, { buf += FmtCore::format(td_fmt[i].c_str(), values[i]); } - std::cout << buf; + std::cout << buf << std::flush; } @@ -192,28 +192,52 @@ void print_etot(const Magnetism& magnet, if( (iter % PARAM.inp.out_freq_elec == 0) || converged || iter == PARAM.inp.scf_nmax ) { int n_order = std::max(0, Occupy::gaussian_type); + + //! Kohn-Sham functional energy titles.push_back("E_KohnSham"); energies_Ry.push_back(elec.f_en.etot); + + //! Kohn-Sham energy with sigma->0 titles.push_back("E_KS(sigma->0)"); energies_Ry.push_back(elec.f_en.etot - elec.f_en.demet / (2 + n_order)); + + //! Harris functional energy titles.push_back("E_Harris"); energies_Ry.push_back(elec.f_en.etot_harris); + + //! band energy titles.push_back("E_band"); energies_Ry.push_back(elec.f_en.eband); + + //! one-electron energy titles.push_back("E_one_elec"); energies_Ry.push_back(elec.f_en.eband + elec.f_en.deband); + + //! Hartree energy titles.push_back("E_Hartree"); energies_Ry.push_back(elec.f_en.hartree_energy); + + //! exchange-correlation energy titles.push_back("E_xc"); energies_Ry.push_back(elec.f_en.etxc - elec.f_en.etxcc); + + //! Ewald energy titles.push_back("E_Ewald"); energies_Ry.push_back(elec.f_en.ewald_energy); + + //! entropy energy titles.push_back("E_entropy(-TS)"); energies_Ry.push_back(elec.f_en.demet); + + //! correction energy for scf titles.push_back("E_descf"); energies_Ry.push_back(elec.f_en.descf); - titles.push_back("E_LocalPP"); + + //! local potential energy + titles.push_back("E_localpp"); energies_Ry.push_back(elec.f_en.e_local_pp); + + //! vdw energy std::string vdw_method = PARAM.inp.vdw_method; if (vdw_method == "d2") // Peize Lin add 2014-04, update 2021-03-09 { @@ -225,8 +249,19 @@ void print_etot(const Magnetism& magnet, titles.push_back("E_vdwD3"); energies_Ry.push_back(elec.f_en.evdw); } + + // mohan add 20251108 + if (PARAM.inp.dft_plus_u) + { + titles.push_back("E_plusU"); + energies_Ry.push_back(elec.f_en.edftu); + } + + //! hybrid functional energy titles.push_back("E_exx"); energies_Ry.push_back(elec.f_en.exx); + + //! solvation energy if (PARAM.inp.imp_sol) { titles.push_back("E_sol_el"); @@ -234,17 +269,22 @@ void print_etot(const Magnetism& magnet, titles.push_back("E_sol_cav"); energies_Ry.push_back(elec.f_en.esol_cav); } + + //! electric field energy if (PARAM.inp.efield_flag) { titles.push_back("E_efield"); energies_Ry.push_back(elecstate::Efield::etotefield); } + + //! gate energy if (PARAM.inp.gate_flag) { titles.push_back("E_gatefield"); energies_Ry.push_back(elecstate::Gatefield::etotgatefield); } + //! deepks energy #ifdef __MLALGO if (PARAM.inp.deepks_scf) { @@ -276,20 +316,17 @@ void print_etot(const Magnetism& magnet, } // print out the band gap if needed - if (PARAM.inp.out_bandgap) + if (!PARAM.globalv.two_fermi) { - if (!PARAM.globalv.two_fermi) - { - titles.push_back("E_bandgap"); - energies_Ry.push_back(elec.bandgap); - } - else - { - titles.push_back("E_bandgap_up"); - energies_Ry.push_back(elec.bandgap_up); - titles.push_back("E_bandgap_dw"); - energies_Ry.push_back(elec.bandgap_dw); - } + titles.push_back("E_gap(k)"); // gap of given k-points + energies_Ry.push_back(elec.bandgap); + } + else + { + titles.push_back("E_gap_up(k)"); + energies_Ry.push_back(elec.bandgap_up); + titles.push_back("E_gap_dw(k)"); + energies_Ry.push_back(elec.bandgap_dw); } energies_eV.resize(energies_Ry.size()); std::transform(energies_Ry.begin(), energies_Ry.end(), energies_eV.begin(), [](double ener) { diff --git a/source/source_estate/elecstate_pw.cpp b/source/source_estate/elecstate_pw.cpp index caffd1211b..2d24321f2a 100644 --- a/source/source_estate/elecstate_pw.cpp +++ b/source/source_estate/elecstate_pw.cpp @@ -13,11 +13,10 @@ namespace elecstate { template ElecStatePW::ElecStatePW(ModulePW::PW_Basis_K* wfc_basis_in, - Charge* chg_in, + Charge* chr_in, K_Vectors* pkv_in, UnitCell* ucell_in, pseudopot_cell_vnl* ppcell_in, - ModulePW::PW_Basis* rhodpw_in, ModulePW::PW_Basis* rhopw_in, ModulePW::PW_Basis_Big* bigpw_in) : basis(wfc_basis_in) @@ -26,7 +25,7 @@ ElecStatePW::ElecStatePW(ModulePW::PW_Basis_K* wfc_basis_in, this->rhopw_smooth = rhopw_in; this->ppcell = ppcell_in; this->ucell = ucell_in; - this->init_ks(chg_in, pkv_in, pkv_in->get_nks(), rhodpw_in, bigpw_in); + this->init_ks(chr_in, pkv_in, pkv_in->get_nks(), bigpw_in); } template diff --git a/source/source_estate/elecstate_pw.h b/source/source_estate/elecstate_pw.h index c3d7568dc4..f674beed89 100644 --- a/source/source_estate/elecstate_pw.h +++ b/source/source_estate/elecstate_pw.h @@ -20,11 +20,10 @@ class ElecStatePW : public ElecState public: ElecStatePW(ModulePW::PW_Basis_K* wfc_basis_in, - Charge* chg_in, + Charge* chr_in, K_Vectors* pkv_in, UnitCell* ucell_in, pseudopot_cell_vnl* ppcell_in, - ModulePW::PW_Basis* rhodpw_in, ModulePW::PW_Basis* rhopw_in, ModulePW::PW_Basis_Big* bigpw_in); diff --git a/source/source_estate/elecstate_pw_sdft.cpp b/source/source_estate/elecstate_pw_sdft.cpp index 4c04fbd886..1df5545cb5 100644 --- a/source/source_estate/elecstate_pw_sdft.cpp +++ b/source/source_estate/elecstate_pw_sdft.cpp @@ -42,4 +42,4 @@ template class ElecStatePW_SDFT, base_device::DEVICE_CPU>; #if ((defined __CUDA) || (defined __ROCM)) template class ElecStatePW_SDFT, base_device::DEVICE_GPU>; #endif -} // namespace elecstate \ No newline at end of file +} // namespace elecstate diff --git a/source/source_estate/elecstate_pw_sdft.h b/source/source_estate/elecstate_pw_sdft.h index fe9ab81834..0ffa00efc4 100644 --- a/source/source_estate/elecstate_pw_sdft.h +++ b/source/source_estate/elecstate_pw_sdft.h @@ -8,15 +8,14 @@ class ElecStatePW_SDFT : public ElecStatePW { public: ElecStatePW_SDFT(ModulePW::PW_Basis_K* wfc_basis_in, - Charge* chg_in, + Charge* chr_in, K_Vectors* pkv_in, UnitCell* ucell_in, pseudopot_cell_vnl* ppcell_in, - ModulePW::PW_Basis* rhodpw_in, ModulePW::PW_Basis* rhopw_in, ModulePW::PW_Basis_Big* bigpw_in) : ElecStatePW(wfc_basis_in, chg_in, pkv_in, ucell_in, ppcell_in, rhodpw_in, rhopw_in, bigpw_in) + Device>(wfc_basis_in, chr_in, pkv_in, ucell_in, ppcell_in, rhopw_in, bigpw_in) { this->classname = "ElecStatePW_SDFT"; } @@ -27,4 +26,4 @@ class ElecStatePW_SDFT : public ElecStatePW using castmem_var_d2h_op = base_device::memory::cast_memory_op; }; } // namespace elecstate -#endif \ No newline at end of file +#endif diff --git a/source/source_estate/elecstate_tools.cpp b/source/source_estate/elecstate_tools.cpp index 446007a296..4a4c24e3cf 100644 --- a/source/source_estate/elecstate_tools.cpp +++ b/source/source_estate/elecstate_tools.cpp @@ -29,7 +29,7 @@ namespace elecstate void calculate_weights(const ModuleBase::matrix& ekb, ModuleBase::matrix& wg, const K_Vectors* klist, - efermi& eferm, + Efermi& eferm, fenergy& f_en, std::vector& nelec_spin, const bool skip_weights=false) @@ -179,4 +179,4 @@ namespace elecstate skip_weights = true; } -} \ No newline at end of file +} diff --git a/source/source_estate/elecstate_tools.h b/source/source_estate/elecstate_tools.h index 6d144ab91b..1486c41452 100644 --- a/source/source_estate/elecstate_tools.h +++ b/source/source_estate/elecstate_tools.h @@ -10,7 +10,7 @@ void calEBand(const ModuleBase::matrix& ekb, const ModuleBase::matrix& wg, fener void calculate_weights(const ModuleBase::matrix& ekb, ModuleBase::matrix& wg, const K_Vectors* klist, - efermi& eferm, + Efermi& eferm, fenergy& f_en, std::vector& nelec_spin, const bool skip_weights); @@ -23,4 +23,4 @@ void fixed_weights(const std::vector& ocp_kb, bool& skip_weights); } // namespace elecstate -#endif \ No newline at end of file +#endif diff --git a/source/source_estate/fp_energy.cpp b/source/source_estate/fp_energy.cpp index b84d9a4a52..8c11a3fac1 100644 --- a/source/source_estate/fp_energy.cpp +++ b/source/source_estate/fp_energy.cpp @@ -61,10 +61,10 @@ void fenergy::print_all() const std::cout << " total= " << etot << std::endl; } -/// @brief set efermi of a specific spin +/// @brief set Efermi of a specific spin /// @param is SPIN /// @param ef_in fermi(is) -void efermi::set_efval(const int& is, const double& ef_in) +void Efermi::set_efval(const int& is, const double& ef_in) { if (!two_efermi) { @@ -88,7 +88,7 @@ void efermi::set_efval(const int& is, const double& ef_in) /// @brief get the value of fermi of a specific spin /// @param is SPIN /// @return value of fermi(is) -double efermi::get_efval(const int& is) const +double Efermi::get_efval(const int& is) const { if (!two_efermi) { @@ -111,7 +111,7 @@ double efermi::get_efval(const int& is) const /// @brief get all fermi energies for all spins /// @return all fermi energies for all spins -std::vector efermi::get_all_ef() const +std::vector Efermi::get_all_ef() const { if (two_efermi) { diff --git a/source/source_estate/fp_energy.h b/source/source_estate/fp_energy.h index 78a3085ed2..4d6ff36d5f 100644 --- a/source/source_estate/fp_energy.h +++ b/source/source_estate/fp_energy.h @@ -59,7 +59,7 @@ struct fenergy * @struct efermi * @brief Fermi energies */ -struct efermi +struct Efermi { double ef = 0.0; ///< Fermi energy double ef_up = 0.0; ///< spin up Fermi energy diff --git a/source/source_estate/kernels/elecstate_op.cpp b/source/source_estate/kernels/elecstate_op.cpp index 0a1bd731da..c3933319fc 100644 --- a/source/source_estate/kernels/elecstate_op.cpp +++ b/source/source_estate/kernels/elecstate_op.cpp @@ -70,7 +70,7 @@ struct elecstate_pw_op } else { #ifdef _OPENMP -#pragma omp parallel for collapse(2) schedule(static, 4096/sizeof(FPTYPE)) +#pragma omp parallel for collapse(2) schedule(static) #endif for (int is = 1; is < 4; is++) { diff --git a/source/source_estate/magnetism.cpp b/source/source_estate/magnetism.cpp index 3d42ce6062..a31bec1f79 100644 --- a/source/source_estate/magnetism.cpp +++ b/source/source_estate/magnetism.cpp @@ -23,8 +23,11 @@ void Magnetism::compute_mag(const double& omega, const double* const * rho, double* nelec_spin) { + assert(omega>0.0); assert(nxyz>0); + const double fac = omega / nxyz; + if (PARAM.inp.nspin==2) { this->tot_mag = 0.00; @@ -40,8 +43,8 @@ void Magnetism::compute_mag(const double& omega, Parallel_Reduce::reduce_pool(this->tot_mag); Parallel_Reduce::reduce_pool(this->abs_mag); #endif - this->tot_mag *= omega / nxyz; - this->abs_mag *= omega / nxyz; + this->tot_mag *= fac; + this->abs_mag *= fac; ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"Total magnetism (Bohr mag/cell)",this->tot_mag); ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"Absolute magnetism (Bohr mag/cell)",this->abs_mag); @@ -82,7 +85,7 @@ void Magnetism::compute_mag(const double& omega, #endif for(int i=0;i<3;i++) { - this->tot_mag_nc[i] *= omega/ nxyz; + this->tot_mag_nc[i] *= fac; // mohan add 2025-06-21 if( std::abs(this->tot_mag_nc[i]) < 1.0e-16) { @@ -90,7 +93,7 @@ void Magnetism::compute_mag(const double& omega, } } - this->abs_mag *= omega/ nxyz; + this->abs_mag *= fac; // mohan update 2025-06-21 ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"Total magnetism (Bohr mag/cell)", diff --git a/source/source_estate/module_charge/charge.cpp b/source/source_estate/module_charge/charge.cpp index be86a04800..7c8008c34d 100644 --- a/source/source_estate/module_charge/charge.cpp +++ b/source/source_estate/module_charge/charge.cpp @@ -53,6 +53,19 @@ void Charge::set_rhopw(ModulePW::PW_Basis* rhopw_in) this->rhopw = rhopw_in; } +// mohan add 2025-12-02 +bool Charge::kin_density() +{ + if (XC_Functional::get_ked_flag() || PARAM.inp.out_elf[0] > 0) + { + return true; + } + else + { + return false; + } +} + void Charge::destroy() { if (allocate_rho || allocate_rho_final_scf) // LiuXh add 20180619 @@ -77,13 +90,20 @@ void Charge::destroy() } } -void Charge::allocate(const int& nspin_in) +void Charge::allocate(const int& nspin_in, const bool kin_den) { ModuleBase::TITLE("Charge", "allocate"); + + if (this->rhopw == nullptr) + { + ModuleBase::WARNING_QUIT("Charge::allocate","rhopw is nullptr."); + } + this->nrxx = this->rhopw->nrxx; this->nxyz = this->rhopw->nxyz; this->ngmc = this->rhopw->npw; + if (allocate_rho == true) { this->destroy(); @@ -105,7 +125,7 @@ void Charge::allocate(const int& nspin_in) _space_rho_save = new double[nspin * nrxx]; _space_rhog = new std::complex[nspin * ngmc]; _space_rhog_save = new std::complex[nspin * ngmc]; - if (XC_Functional::get_ked_flag() || PARAM.inp.out_elf[0] > 0) + if(kin_den) { _space_kin_r = new double[nspin * nrxx]; _space_kin_r_save = new double[nspin * nrxx]; @@ -114,7 +134,7 @@ void Charge::allocate(const int& nspin_in) rhog = new std::complex*[nspin]; rho_save = new double*[nspin]; rhog_save = new std::complex*[nspin]; - if (XC_Functional::get_ked_flag() || PARAM.inp.out_elf[0] > 0) + if(kin_den) { kin_r = new double*[nspin]; kin_r_save = new double*[nspin]; @@ -129,7 +149,7 @@ void Charge::allocate(const int& nspin_in) ModuleBase::GlobalFunc::ZEROS(rhog[is], ngmc); ModuleBase::GlobalFunc::ZEROS(rho_save[is], nrxx); ModuleBase::GlobalFunc::ZEROS(rhog_save[is], ngmc); - if (XC_Functional::get_ked_flag() || PARAM.inp.out_elf[0] > 0) + if(kin_den) { kin_r[is] = _space_kin_r + is * nrxx; ModuleBase::GlobalFunc::ZEROS(kin_r[is], nrxx); @@ -142,7 +162,7 @@ void Charge::allocate(const int& nspin_in) ModuleBase::Memory::record("Chg::rho_save", sizeof(double) * nspin * nrxx); ModuleBase::Memory::record("Chg::rhog", sizeof(double) * nspin * ngmc); ModuleBase::Memory::record("Chg::rhog_save", sizeof(double) * nspin * ngmc); - if (XC_Functional::get_ked_flag() || PARAM.inp.out_elf[0] > 0) + if(kin_den) { ModuleBase::Memory::record("Chg::kin_r", sizeof(double) * nspin * ngmc); ModuleBase::Memory::record("Chg::kin_r_save", sizeof(double) * nspin * ngmc); @@ -634,6 +654,8 @@ void Charge::save_rho_before_sum_band() double Charge::cal_rho2ne(const double* rho_in) const { + assert(this->rhopw->nxyz > 0); // mohan add 2025-12-02 + double ne = 0.0; for (int ir = 0; ir < this->rhopw->nrxx; ir++) { diff --git a/source/source_estate/module_charge/charge.h b/source/source_estate/module_charge/charge.h index e943e662a9..79a5f5ca9e 100644 --- a/source/source_estate/module_charge/charge.h +++ b/source/source_estate/module_charge/charge.h @@ -7,19 +7,18 @@ #include "source_base/parallel_global.h" #include "source_basis/module_pw/pw_basis.h" #include "source_cell/module_symmetry/symmetry.h" -#include "source_estate/fp_energy.h" +// #include "source_estate/fp_energy.h" #include "source_pw/module_pwdft/parallel_grid.h" //a forward declaration of UnitCell class UnitCell; -//========================================================== // Electron Charge Density -//========================================================== class Charge { public: + Charge(); ~Charge(); @@ -43,8 +42,8 @@ class Charge double **kin_r = nullptr; // kinetic energy density in real space, for meta-GGA double **kin_r_save = nullptr; // kinetic energy density in real space, for meta-GGA - // wenfei 2021-07-28 const Parallel_Grid* pgrid = nullptr; + private: //temporary @@ -56,6 +55,7 @@ class Charge double *_space_kin_r_save = nullptr; public: + double **nhat = nullptr; //compensation charge for PAW double **nhat_save = nullptr; //compensation charge for PAW // wenfei 2023-09-05 @@ -77,15 +77,17 @@ class Charge * @param klist [in] k points list if needed * @param wfcpw [in] PW basis for wave function if needed */ - void init_rho(elecstate::efermi& eferm_iout, - const UnitCell& ucell, + void init_rho(const UnitCell& ucell, const Parallel_Grid& pgrid, const ModuleBase::ComplexMatrix& strucFac, ModuleSymmetry::Symmetry& symm, const void* klist = nullptr, const void* wfcpw = nullptr); - void allocate(const int &nspin_in); + // mohan add 2025-12-02 + bool kin_density(); + + void allocate(const int &nspin_in, const bool kin_den); void atomic_rho(const int spin_number_need, const double& omega, @@ -96,7 +98,6 @@ class Charge void set_rho_core(const UnitCell& ucell, const ModuleBase::ComplexMatrix& structure_factor, const bool* numeric); - void set_rho_core_paw(); void renormalize_rho(); @@ -119,14 +120,13 @@ class Charge double cal_rho2ne(const double *rho_in) const; - void check_rho(); // to check whether the charge density is normal + void check_rho(); // to check whether the charge density is normal - void init_final_scf(); //LiuXh add 20180619 + void init_final_scf(); //LiuXh add 20180619 public: /** * @brief init some arrays for mpi_inter_pools, rho_mpi - * */ void init_chgmpi(); @@ -136,14 +136,14 @@ class Charge */ void rho_mpi(); - /** - * @brief Reduce among different pools + /** + * @brief Reduce among different pools * If NPROC_IN_POOLs are all the same, use GlobalV::KP_WORLD * else, gather rho in a POOL, and then reduce among different POOLs - * - * @param array_rho f(rho): an array [nrxx] - */ - void reduce_diff_pools(double* array_rho) const; + * + * @param array_rho f(rho): an array [nrxx] + */ + void reduce_diff_pools(double* array_rho) const; void set_omega(double* omega_in){this->omega_ = omega_in;}; @@ -154,6 +154,7 @@ class Charge int nspin=0; // number of spins ModulePW::PW_Basis* rhopw = nullptr;// When double_grid is used, rhopw = rhodpw (dense grid) bool cal_elf = false; // whether to calculate electron localization function (ELF) + private: void destroy(); // free arrays liuyu 2023-03-12 @@ -163,8 +164,8 @@ class Charge bool allocate_rho; bool allocate_rho_final_scf; // LiuXh add 20180606 + #ifdef __MPI - private: int *rec = nullptr; //The number of elements each process should receive into the receive buffer. int *dis = nullptr; //The displacement (relative to recvbuf) for each process in the receive buffer. #endif diff --git a/source/source_estate/module_charge/charge_extra.cpp b/source/source_estate/module_charge/charge_extra.cpp index 345a34b723..dd7bea8344 100644 --- a/source/source_estate/module_charge/charge_extra.cpp +++ b/source/source_estate/module_charge/charge_extra.cpp @@ -107,7 +107,7 @@ void Charge_Extra::extrapolate_charge( rho_extr = std::min(istep, pot_order); if(rho_extr == 0) { - sf->setup_structure_factor(&ucell, *Pgrid, chr->rhopw); + sf->setup(&ucell, *Pgrid, chr->rhopw); ofs_running << " charge density from previous step !" << std::endl; return; } @@ -169,7 +169,7 @@ void Charge_Extra::extrapolate_charge( } } - sf->setup_structure_factor(&ucell, *Pgrid, chr->rhopw); + sf->setup(&ucell, *Pgrid, chr->rhopw); double** rho_atom = new double*[this->nspin]; for (int is = 0; is < this->nspin; is++) { @@ -314,4 +314,4 @@ void Charge_Extra::update_delta_rho(const UnitCell& ucell, const Charge* chr, co } delete[] rho_atom; return; -} \ No newline at end of file +} diff --git a/source/source_estate/module_charge/charge_init.cpp b/source/source_estate/module_charge/charge_init.cpp index 93f89fec81..95f675eb90 100644 --- a/source/source_estate/module_charge/charge_init.cpp +++ b/source/source_estate/module_charge/charge_init.cpp @@ -18,8 +18,7 @@ #include "source_io/rhog_io.h" #include "source_io/read_wf2rho_pw.h" -void Charge::init_rho(elecstate::efermi& eferm_iout, - const UnitCell& ucell, +void Charge::init_rho(const UnitCell& ucell, const Parallel_Grid& pgrid, const ModuleBase::ComplexMatrix& strucFac, ModuleSymmetry::Symmetry& symm, @@ -59,8 +58,18 @@ void Charge::init_rho(elecstate::efermi& eferm_iout, { for (int is = 0; is < nspin; ++is) { - std::stringstream ssc; - ssc << PARAM.globalv.global_readin_dir << "chgs" << is + 1 << ".cube"; + std::stringstream ssc; + + if(nspin==1) + { + ssc << PARAM.globalv.global_readin_dir << "chg.cube"; + } + else + { + ssc << PARAM.globalv.global_readin_dir << "chgs" << is + 1 << ".cube"; + } + + if (ModuleIO::read_vdata_palgrid(pgrid, (PARAM.inp.esolver_type == "sdft" ? GlobalV::RANK_IN_BPGROUP : GlobalV::MY_RANK), GlobalV::ofs_running, @@ -362,11 +371,6 @@ void Charge::set_rho_core(const UnitCell& ucell, return; } // end subroutine set_rhoc -void Charge::set_rho_core_paw() -{ - ModuleBase::TITLE("Charge","set_rho_core_paw"); -} - void Charge::non_linear_core_correction ( @@ -387,7 +391,7 @@ void Charge::non_linear_core_correction double gx = 0.0; double rhocg1 = 0.0; - double *aux; + double *aux = nullptr; // here we compute the fourier transform is the charge in numeric form if (numeric) diff --git a/source/source_estate/module_charge/charge_mixing.cpp b/source/source_estate/module_charge/charge_mixing.cpp index a236e3a76d..67e887a344 100644 --- a/source/source_estate/module_charge/charge_mixing.cpp +++ b/source/source_estate/module_charge/charge_mixing.cpp @@ -8,12 +8,23 @@ Charge_Mixing::Charge_Mixing() { + this->mixing = nullptr; + this->mixing_highf = nullptr; } Charge_Mixing::~Charge_Mixing() { - delete this->mixing; - delete this->mixing_highf; + if(this->mixing != nullptr) + { + delete this->mixing; + this->mixing = nullptr; + } + + if(this->mixing_highf != nullptr) + { + delete this->mixing_highf; + this->mixing_highf = nullptr; + } } void Charge_Mixing::set_mixing(const std::string& mixing_mode_in, diff --git a/source/source_estate/module_charge/charge_mixing_preconditioner.cpp b/source/source_estate/module_charge/charge_mixing_preconditioner.cpp index 804705be99..333cfb59e4 100644 --- a/source/source_estate/module_charge/charge_mixing_preconditioner.cpp +++ b/source/source_estate/module_charge/charge_mixing_preconditioner.cpp @@ -6,21 +6,32 @@ void Charge_Mixing::Kerker_screen_recip(std::complex* drhog) { - if (this->mixing_gg0 <= 0.0 || this->mixing_beta <= 0.1) { - return; -} + ModuleBase::TITLE("Charge_Mixing", "Kerker_screen_recip"); + + if (this->mixing_gg0 <= 0.0 || this->mixing_beta <= 0.1) + { + return; + } + + ModuleBase::timer::tick("Charge_Mixing", "Kerker_screen_recip"); + + const int nspin = PARAM.inp.nspin; + double fac = 0.0; double gg0 = 0.0; double amin = 0.0; /// consider a resize for mixing_angle - int resize_tmp = 1; - if (PARAM.inp.nspin == 4 && this->mixing_angle > 0) { resize_tmp = 2; -} + int resize_tmp = 1; + if (nspin == 4 && this->mixing_angle > 0) + { + resize_tmp = 2; + } /// implement Kerker for density and magnetization separately - for (int is = 0; is < PARAM.inp.nspin / resize_tmp; ++is) + for (int is = 0; is < nspin / resize_tmp; ++is) { + const int is_idx = is * this->rhopw->npw; /// new mixing method only support nspin=2 not nspin=4 if (is >= 1) { @@ -29,10 +40,10 @@ void Charge_Mixing::Kerker_screen_recip(std::complex* drhog) #ifdef __DEBUG assert(is == 1); // make sure break works #endif - double is_mag = PARAM.inp.nspin - 1; + double is_mag = nspin - 1; //for (int ig = 0; ig < this->rhopw->npw * is_mag; ig++) //{ - // drhog[is * this->rhopw->npw + ig] *= 1; + // drhog[is_idx + ig] *= 1; //} break; } @@ -45,33 +56,50 @@ void Charge_Mixing::Kerker_screen_recip(std::complex* drhog) amin = this->mixing_beta; } - gg0 = std::pow(fac * 0.529177 / *this->tpiba, 2); + gg0 = std::pow(fac * ModuleBase::BOHR_TO_A / *this->tpiba, 2); + + const double gg0_amin = this->mixing_gg0_min / amin; + #ifdef _OPENMP #pragma omp parallel for schedule(static, 512) #endif for (int ig = 0; ig < this->rhopw->npw; ++ig) { double gg = this->rhopw->gg[ig]; - double filter_g = std::max(gg / (gg + gg0), this->mixing_gg0_min / amin); - drhog[is * this->rhopw->npw + ig] *= filter_g; + double filter_g = std::max(gg / (gg + gg0), gg0_amin); + drhog[is_idx + ig] *= filter_g; } } + + ModuleBase::timer::tick("Charge_Mixing", "Kerker_screen_recip"); return; } void Charge_Mixing::Kerker_screen_real(double* drhor) { - if (this->mixing_gg0 <= 0.0001 || this->mixing_beta <= 0.1) { - return; -} - /// consider a resize for mixing_angle + ModuleBase::TITLE("Charge_Mixing", "Kerker_screen_real"); + + if (this->mixing_gg0 <= 0.0001 || this->mixing_beta <= 0.1) + { + return; + } + + ModuleBase::timer::tick("Charge_Mixing", "Kerker_screen_real"); + + const int nspin = PARAM.inp.nspin; + assert(nspin==1 || nspin==2 || nspin==4); + + /// consider a resize for mixing_angle int resize_tmp = 1; - if (PARAM.inp.nspin == 4 && this->mixing_angle > 0) { resize_tmp = 2; -} + if (nspin == 4 && this->mixing_angle > 0) + { + resize_tmp = 2; + } - std::vector> drhog(this->rhopw->npw * PARAM.inp.nspin / resize_tmp); - std::vector drhor_filter(this->rhopw->nrxx * PARAM.inp.nspin / resize_tmp); - for (int is = 0; is < PARAM.inp.nspin / resize_tmp; ++is) + std::vector> drhog(this->rhopw->npw * nspin / resize_tmp); + std::vector drhor_filter(this->rhopw->nrxx * nspin / resize_tmp); + + for (int is = 0; is < nspin / resize_tmp; ++is) { // Note after this process some G which is higher than Gmax will be filtered. // Thus we cannot use Kerker_screen_recip(drhog.data()) directly after it. @@ -82,7 +110,7 @@ void Charge_Mixing::Kerker_screen_real(double* drhor) double gg0 = 0.0; double amin = 0.0; - for (int is = 0; is < PARAM.inp.nspin / resize_tmp; is++) + for (int is = 0; is < nspin / resize_tmp; is++) { if (is >= 1) @@ -92,8 +120,8 @@ void Charge_Mixing::Kerker_screen_real(double* drhor) #ifdef __DEBUG assert(is == 1); /// make sure break works #endif - double is_mag = PARAM.inp.nspin - 1; - if (PARAM.inp.nspin == 4 && this->mixing_angle > 0) { is_mag = 1; + double is_mag = nspin - 1; + if (nspin == 4 && this->mixing_angle > 0) { is_mag = 1; } for (int ig = 0; ig < this->rhopw->npw * is_mag; ig++) { @@ -110,7 +138,10 @@ void Charge_Mixing::Kerker_screen_real(double* drhor) amin = this->mixing_beta; } - gg0 = std::pow(fac * 0.529177 / *this->tpiba, 2); + gg0 = std::pow(fac * ModuleBase::BOHR_TO_A / *this->tpiba, 2); + + const int is_idx = is * this->rhopw->npw; + const double gg0_amin = this->mixing_gg0_min / amin; #ifdef _OPENMP #pragma omp parallel for schedule(static, 512) #endif @@ -120,15 +151,15 @@ void Charge_Mixing::Kerker_screen_real(double* drhor) // I have not decided how to handle gg=0 part, will be changed in future //if (gg == 0) //{ - // drhog[is * this->rhopw->npw + ig] *= 0; + // drhog[is_idx + ig] *= 0; // continue; //} - double filter_g = std::max(gg / (gg + gg0), this->mixing_gg0_min / amin); - drhog[is * this->rhopw->npw + ig] *= (1 - filter_g); + double filter_g = std::max(gg / (gg + gg0), gg0_amin); + drhog[is_idx + ig] *= (1 - filter_g); } } /// inverse FT - for (int is = 0; is < PARAM.inp.nspin / resize_tmp; ++is) + for (int is = 0; is < nspin / resize_tmp; ++is) { this->rhopw->recip2real(drhog.data() + is * this->rhopw->npw, drhor_filter.data() + is * this->rhopw->nrxx); } @@ -136,8 +167,11 @@ void Charge_Mixing::Kerker_screen_real(double* drhor) #ifdef _OPENMP #pragma omp parallel for schedule(static, 512) #endif - for (int ir = 0; ir < this->rhopw->nrxx * PARAM.inp.nspin / resize_tmp; ir++) + for (int ir = 0; ir < this->rhopw->nrxx * nspin / resize_tmp; ir++) { drhor[ir] -= drhor_filter[ir]; } + + ModuleBase::timer::tick("Charge_Mixing", "Kerker_screen_real"); + return; } diff --git a/source/source_estate/module_charge/charge_mixing_residual.cpp b/source/source_estate/module_charge/charge_mixing_residual.cpp index 9e9c5e0131..bbc7c7b6be 100644 --- a/source/source_estate/module_charge/charge_mixing_residual.cpp +++ b/source/source_estate/module_charge/charge_mixing_residual.cpp @@ -9,11 +9,13 @@ double Charge_Mixing::get_drho(Charge* chr, const double nelec) { ModuleBase::TITLE("Charge_Mixing", "get_drho"); ModuleBase::timer::tick("Charge_Mixing", "get_drho"); + const int nspin = PARAM.inp.nspin; + assert(nspin==1 || nspin==2 || nspin==4); double drho = 0.0; if (PARAM.inp.scf_thr_type == 1) { - for (int is = 0; is < PARAM.inp.nspin; ++is) + for (int is = 0; is < nspin; ++is) { ModuleBase::GlobalFunc::NOTE("Perform FFT on rho(r) to obtain rho(G)."); chr->rhopw->real2recip(chr->rho[is], chr->rhog[is]); @@ -23,15 +25,15 @@ double Charge_Mixing::get_drho(Charge* chr, const double nelec) } ModuleBase::GlobalFunc::NOTE("Calculate the charge difference between rho(G) and rho_save(G)"); - std::vector> drhog(PARAM.inp.nspin * this->rhopw->npw); + std::vector> drhog(nspin * this->rhopw->npw); #ifdef _OPENMP #pragma omp parallel for collapse(2) schedule(static, 512) #endif - for (int is = 0; is < PARAM.inp.nspin; ++is) + for (int is = 0; is < nspin; ++is) { for (int ig = 0; ig < this->rhopw->npw; ig++) { - drhog[is * rhopw->npw + ig] = chr->rhog[is][ig] - chr->rhog_save[is][ig]; + drhog[is * this->rhopw->npw + ig] = chr->rhog[is][ig] - chr->rhog_save[is][ig]; } } @@ -42,7 +44,7 @@ double Charge_Mixing::get_drho(Charge* chr, const double nelec) { // Note: Maybe it is wrong. // The inner_product_real function (L1-norm) is different from that (L2-norm) in mixing. - for (int is = 0; is < PARAM.inp.nspin; is++) + for (int is = 0; is < nspin; is++) { if (is != 0 && is != 3 && PARAM.globalv.domag_z) { diff --git a/source/source_estate/module_charge/charge_mixing_rho.cpp b/source/source_estate/module_charge/charge_mixing_rho.cpp index 6a965c5da2..38cd679f94 100644 --- a/source/source_estate/module_charge/charge_mixing_rho.cpp +++ b/source/source_estate/module_charge/charge_mixing_rho.cpp @@ -5,6 +5,12 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) { + ModuleBase::TITLE("Charge_Mixing", "mix_rho_recip"); + ModuleBase::timer::tick("Charge_Mixing", "mix_rho_recip"); + + const int nspin = PARAM.inp.nspin; + assert(nspin==1 || nspin==2 || nspin==4); + std::complex* rhog_in = nullptr; std::complex* rhog_out = nullptr; // for smooth part @@ -26,7 +32,7 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) = std::bind(&Charge_Mixing::inner_product_recip_hartree, this, std::placeholders::_1, std::placeholders::_2); // DIIS Mixing Only for smooth part, while high_frequency part is mixed by plain mixing method. - if (PARAM.inp.nspin == 1) + if (nspin == 1) { rhog_in = rhogs_in; rhog_out = rhogs_out; @@ -35,17 +41,17 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) this->mixing->cal_coef(this->rho_mdata, inner_product); this->mixing->mix_data(this->rho_mdata, rhog_out); } - else if (PARAM.inp.nspin == 2) + else if (nspin == 2) { // magnetic density std::complex *rhog_mag = nullptr; std::complex *rhog_mag_save = nullptr; const int npw = this->rhopw->npw; // allocate rhog_mag[is*ngmc] and rhog_mag_save[is*ngmc] - rhog_mag = new std::complex[npw * PARAM.inp.nspin]; - rhog_mag_save = new std::complex[npw * PARAM.inp.nspin]; - ModuleBase::GlobalFunc::ZEROS(rhog_mag, npw * PARAM.inp.nspin); - ModuleBase::GlobalFunc::ZEROS(rhog_mag_save, npw * PARAM.inp.nspin); + rhog_mag = new std::complex[npw * nspin]; + rhog_mag_save = new std::complex[npw * nspin]; + ModuleBase::GlobalFunc::ZEROS(rhog_mag, npw * nspin); + ModuleBase::GlobalFunc::ZEROS(rhog_mag_save, npw * nspin); // get rhog_mag[is*ngmc] and rhog_mag_save[is*ngmc] for (int ig = 0; ig < npw; ig++) { @@ -84,7 +90,7 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) this->mixing->cal_coef(this->rho_mdata, inner_product); this->mixing->mix_data(this->rho_mdata, rhog_out); // get rhog[is][ngmc] from rhog_mag[is*ngmc] - for (int is = 0; is < PARAM.inp.nspin; is++) + for (int is = 0; is < nspin; is++) { ModuleBase::GlobalFunc::ZEROS(chr->rhog[is], npw); } @@ -106,7 +112,7 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) } } } - else if (PARAM.inp.nspin == 4 && PARAM.inp.mixing_angle <= 0) + else if (nspin == 4 && PARAM.inp.mixing_angle <= 0) { // normal broyden mixing for {rho, mx, my, mz} rhog_in = rhogs_in; @@ -135,7 +141,7 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) this->mixing->cal_coef(this->rho_mdata, inner_product); this->mixing->mix_data(this->rho_mdata, rhog_out); } - else if (PARAM.inp.nspin == 4 && PARAM.inp.mixing_angle > 0) + else if (nspin == 4 && PARAM.inp.mixing_angle > 0) { // special broyden mixing for {rho, |m|} proposed by J. Phys. Soc. Jpn. 82 (2013) 114706 // here only consider the case of mixing_angle = 1, which mean only change |m| and keep angle fixed @@ -154,9 +160,13 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) for (int ir = 0; ir < nrxx; ir++) { // |m| for rho - rho_magabs[ir] = std::sqrt(chr->rho[1][ir] * chr->rho[1][ir] + chr->rho[2][ir] * chr->rho[2][ir] + chr->rho[3][ir] * chr->rho[3][ir]); + rho_magabs[ir] = std::sqrt(chr->rho[1][ir] * chr->rho[1][ir] + + chr->rho[2][ir] * chr->rho[2][ir] + + chr->rho[3][ir] * chr->rho[3][ir]); // |m| for rho_save - rho_magabs_save[ir] = std::sqrt(chr->rho_save[1][ir] * chr->rho_save[1][ir] + chr->rho_save[2][ir] * chr->rho_save[2][ir] + chr->rho_save[3][ir] * chr->rho_save[3][ir]); + rho_magabs_save[ir] = std::sqrt(chr->rho_save[1][ir] * chr->rho_save[1][ir] + + chr->rho_save[2][ir] * chr->rho_save[2][ir] + + chr->rho_save[3][ir] * chr->rho_save[3][ir]); } // allocate memory for rhog_magabs and rhog_magabs_save const int npw = this->rhopw->npw; @@ -203,10 +213,14 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) // use new |m| and angle to update {mx, my, mz} for (int ig = 0; ig < npw; ig++) { - chr->rhog[0][ig] = rhog_magabs[ig]; // rhog - double norm = std::sqrt(chr->rho[1][ig] * chr->rho[1][ig] + chr->rho[2][ig] * chr->rho[2][ig] + chr->rho[3][ig] * chr->rho[3][ig]); - if (std::abs(norm) < 1e-10) { continue; -} + chr->rhog[0][ig] = rhog_magabs[ig]; // rhog + double norm = std::sqrt(chr->rho[1][ig] * chr->rho[1][ig] + + chr->rho[2][ig] * chr->rho[2][ig] + + chr->rho[3][ig] * chr->rho[3][ig]); + if (std::abs(norm) < 1e-10) + { + continue; + } double rescale_tmp = rho_magabs[npw + ig] / norm; chr->rho[1][ig] *= rescale_tmp; chr->rho[2][ig] *= rescale_tmp; @@ -222,7 +236,7 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) if ( PARAM.globalv.double_grid) { // plain mixing for high_frequencies - const int ndimhf = (this->rhodpw->npw - this->rhopw->npw) * PARAM.inp.nspin; + const int ndimhf = (this->rhodpw->npw - this->rhopw->npw) * nspin; this->mixing_highf->plain_mix(rhoghf_out, rhoghf_in, rhoghf_out, ndimhf, nullptr); // combine smooth part and high_frequency part @@ -231,7 +245,7 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) } // rhog to rho - if (PARAM.inp.nspin == 4 && PARAM.inp.mixing_angle > 0) + if (nspin == 4 && PARAM.inp.mixing_angle > 0) { // only tranfer rhog[0] // do not support double_grid, use rhopw directly @@ -239,7 +253,7 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) } else { - for (int is = 0; is < PARAM.inp.nspin; is++) + for (int is = 0; is < nspin; is++) { // use rhodpw for double_grid // rhodpw is the same as rhopw for ! PARAM.globalv.double_grid @@ -249,10 +263,10 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) // For kinetic energy density if ((XC_Functional::get_ked_flag()) && mixing_tau) { - std::vector> kin_g(PARAM.inp.nspin * rhodpw->npw); - std::vector> kin_g_save(PARAM.inp.nspin * rhodpw->npw); + std::vector> kin_g(nspin * rhodpw->npw); + std::vector> kin_g_save(nspin * rhodpw->npw); // FFT to get kin_g and kin_g_save - for (int is = 0; is < PARAM.inp.nspin; ++is) + for (int is = 0; is < nspin; ++is) { rhodpw->real2recip(chr->kin_r[is], &kin_g[is * rhodpw->npw]); rhodpw->real2recip(chr->kin_r_save[is], &kin_g_save[is * rhodpw->npw]); @@ -277,7 +291,7 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) if ( PARAM.globalv.double_grid) { // simple mixing for high_frequencies - const int ndimhf = (this->rhodpw->npw - this->rhopw->npw) * PARAM.inp.nspin; + const int ndimhf = (this->rhodpw->npw - this->rhopw->npw) * nspin; this->mixing_highf->plain_mix(taughf_out, taughf_in, taughf_out, ndimhf, nullptr); // combine smooth part and high_frequency part @@ -286,22 +300,28 @@ void Charge_Mixing::mix_rho_recip(Charge* chr) } // kin_g to kin_r - for (int is = 0; is < PARAM.inp.nspin; is++) + for (int is = 0; is < nspin; is++) { rhodpw->recip2real(&kin_g[is * rhodpw->npw], chr->kin_r[is]); } } - + ModuleBase::timer::tick("Charge_Mixing", "mix_rho_recip"); return; } void Charge_Mixing::mix_rho_real(Charge* chr) { + ModuleBase::TITLE("Charge_Mixing", "mix_rho_real"); + ModuleBase::timer::tick("Charge_Mixing", "mix_rho_real"); + + const int nspin = PARAM.inp.nspin; + assert(nspin==1 || nspin==2 || nspin==4); + double* rhor_in=nullptr; double* rhor_out=nullptr; - if (PARAM.inp.nspin == 1) + if (nspin == 1) { rhor_in = chr->rho_save[0]; rhor_out = chr->rho[0]; @@ -312,17 +332,17 @@ void Charge_Mixing::mix_rho_real(Charge* chr) this->mixing->cal_coef(this->rho_mdata, inner_product); this->mixing->mix_data(this->rho_mdata, rhor_out); } - else if (PARAM.inp.nspin == 2) + else if (nspin == 2) { // magnetic density double *rho_mag = nullptr; double *rho_mag_save = nullptr; const int nrxx = this->rhopw->nrxx; // allocate rho_mag[is*nnrx] and rho_mag_save[is*nnrx] - rho_mag = new double[nrxx * PARAM.inp.nspin]; - rho_mag_save = new double[nrxx * PARAM.inp.nspin]; - ModuleBase::GlobalFunc::ZEROS(rho_mag, nrxx * PARAM.inp.nspin); - ModuleBase::GlobalFunc::ZEROS(rho_mag_save, nrxx * PARAM.inp.nspin); + rho_mag = new double[nrxx * nspin]; + rho_mag_save = new double[nrxx * nspin]; + ModuleBase::GlobalFunc::ZEROS(rho_mag, nrxx * nspin); + ModuleBase::GlobalFunc::ZEROS(rho_mag_save, nrxx * nspin); // get rho_mag[is*nnrx] and rho_mag_save[is*nnrx] for (int ir = 0; ir < nrxx; ir++) { @@ -362,7 +382,7 @@ void Charge_Mixing::mix_rho_real(Charge* chr) this->mixing->cal_coef(this->rho_mdata, inner_product); this->mixing->mix_data(this->rho_mdata, rhor_out); // get new rho[is][nrxx] from rho_mag[is*nrxx] - for (int is = 0; is < PARAM.inp.nspin; is++) + for (int is = 0; is < nspin; is++) { ModuleBase::GlobalFunc::ZEROS(chr->rho[is], nrxx); //ModuleBase::GlobalFunc::ZEROS(rho_save[is], nrxx); @@ -376,7 +396,7 @@ void Charge_Mixing::mix_rho_real(Charge* chr) delete[] rho_mag; delete[] rho_mag_save; } - else if (PARAM.inp.nspin == 4 && PARAM.inp.mixing_angle <= 0) + else if (nspin == 4 && PARAM.inp.mixing_angle <= 0) { // normal broyden mixing for {rho, mx, my, mz} rhor_in = chr->rho_save[0]; @@ -407,7 +427,7 @@ void Charge_Mixing::mix_rho_real(Charge* chr) this->mixing->cal_coef(this->rho_mdata, inner_product); this->mixing->mix_data(this->rho_mdata, rhor_out); } - else if (PARAM.inp.nspin == 4 && PARAM.inp.mixing_angle > 0) + else if (nspin == 4 && PARAM.inp.mixing_angle > 0) { // special broyden mixing for {rho, |m|} proposed by J. Phys. Soc. Jpn. 82 (2013) 114706 // here only consider the case of mixing_angle = 1, which mean only change |m| and keep angle fixed @@ -494,6 +514,8 @@ void Charge_Mixing::mix_rho_real(Charge* chr) this->mixing->mix_data(this->tau_mdata, taur_out); } + ModuleBase::timer::tick("Charge_Mixing", "mix_rho_real"); + return; } @@ -502,10 +524,13 @@ void Charge_Mixing::mix_rho(Charge* chr) ModuleBase::TITLE("Charge_Mixing", "mix_rho"); ModuleBase::timer::tick("Charge_Mixing", "mix_rho"); + const int nspin = PARAM.inp.nspin; + assert(nspin==1 || nspin==2 || nspin==4); + // the charge before mixing. const int nrxx = chr->rhopw->nrxx; - std::vector rho123(PARAM.inp.nspin * nrxx); - for (int is = 0; is < PARAM.inp.nspin; ++is) + std::vector rho123(nspin * nrxx); + for (int is = 0; is < nspin; ++is) { if (is == 0 || is == 3 || !PARAM.globalv.domag_z) { @@ -522,8 +547,8 @@ void Charge_Mixing::mix_rho(Charge* chr) std::vector kin_r123; if ((XC_Functional::get_ked_flag()) && mixing_tau) { - kin_r123.resize(PARAM.inp.nspin * nrxx); - for (int is = 0; is < PARAM.inp.nspin; ++is) + kin_r123.resize(nspin * nrxx); + for (int is = 0; is < nspin; ++is) { double* kin_r123_is = kin_r123.data() + is * nrxx; #ifdef _OPENMP @@ -548,7 +573,7 @@ void Charge_Mixing::mix_rho(Charge* chr) // mohan add 2012-06-05 // rho_save is the charge before mixing - for (int is = 0; is < PARAM.inp.nspin; ++is) + for (int is = 0; is < nspin; ++is) { if (is == 0 || is == 3 || !PARAM.globalv.domag_z) { @@ -565,7 +590,7 @@ void Charge_Mixing::mix_rho(Charge* chr) if ((XC_Functional::get_ked_flag()) && mixing_tau) { - for (int is = 0; is < PARAM.inp.nspin; ++is) + for (int is = 0; is < nspin; ++is) { double* kin_r123_is = kin_r123.data() + is * nrxx; #ifdef _OPENMP diff --git a/source/source_estate/module_charge/charge_mpi.cpp b/source/source_estate/module_charge/charge_mpi.cpp index db1b458fbf..32fc8bc195 100644 --- a/source/source_estate/module_charge/charge_mpi.cpp +++ b/source/source_estate/module_charge/charge_mpi.cpp @@ -119,9 +119,10 @@ void Charge::reduce_diff_pools(double* array_rho) const void Charge::rho_mpi() { ModuleBase::TITLE("Charge", "rho_mpi"); - if (GlobalV::KPAR * PARAM.inp.bndpar <= 1) { - return; -} + if (GlobalV::KPAR * PARAM.inp.bndpar <= 1) + { + return; + } ModuleBase::timer::tick("Charge", "rho_mpi"); for (int is = 0; is < PARAM.inp.nspin; ++is) @@ -136,4 +137,4 @@ void Charge::rho_mpi() ModuleBase::timer::tick("Charge", "rho_mpi"); return; } -#endif \ No newline at end of file +#endif diff --git a/source/source_estate/module_charge/chgmixing.cpp b/source/source_estate/module_charge/chgmixing.cpp new file mode 100644 index 0000000000..45e5c5b350 --- /dev/null +++ b/source/source_estate/module_charge/chgmixing.cpp @@ -0,0 +1,227 @@ +#include "source_estate/module_charge/chgmixing.h" +#include "source_estate/update_pot.h" +#include "source_lcao/module_dftu/dftu.h" +#include "source_lcao/module_deltaspin/spin_constrain.h" + +void module_charge::chgmixing_ks(const int iter, // scf iteration number + UnitCell& ucell, + elecstate::ElecState* pelec, + Charge &chr, // charge density + Charge_Mixing* p_chgmix, // charge mixing class + const int nrxx, // charge density + double &drho, // charge density deviation + bool &oscillate_esolver, // whether the esolver has oscillation of charge density + bool &conv_esolver, + const double &hsolver_error, + const double &scf_thr, + const double &scf_ene_thr, + const bool converged_u, // mohan add 2025-11-06 + const Input_para& inp) // input parameters +{ + + if (PARAM.globalv.ks_run) + { + // mixing will restart at p_chgmix->mixing_restart steps + if (drho <= inp.mixing_restart && inp.mixing_restart > 0.0 + && p_chgmix->mixing_restart_step > iter) + { + p_chgmix->mixing_restart_step = iter + 1; + } + + if (inp.scf_os_stop) // if oscillation is detected, SCF will stop + { + oscillate_esolver = p_chgmix->if_scf_oscillate(iter, drho, + inp.scf_os_ndim, inp.scf_os_thr); + } + + // drho will be 0 at p_chgmix->mixing_restart step, which is + // not ground state + bool not_restart_step = !(iter == p_chgmix->mixing_restart_step && inp.mixing_restart > 0.0); + + conv_esolver = (drho < scf_thr && not_restart_step && converged_u); + + // add energy threshold for SCF convergence + if (scf_ene_thr > 0.0) + { + // calculate energy of output charge density + elecstate::update_pot(ucell, pelec, chr, conv_esolver); + pelec->cal_energies(2); // 2 means Kohn-Sham functional + // now, etot_old is the energy of input density, while etot is the energy of output density + pelec->f_en.etot_delta = pelec->f_en.etot - pelec->f_en.etot_old; + // output etot_delta + GlobalV::ofs_running << " DeltaE_womix = " << pelec->f_en.etot_delta * ModuleBase::Ry_to_eV << " eV" + << std::endl; + if (iter > 1 && conv_esolver == 1) // only check when density is converged + { + // update the convergence flag + conv_esolver + = (std::abs(pelec->f_en.etot_delta * ModuleBase::Ry_to_eV) < scf_ene_thr); + } + } + + // If drho < hsolver_error in the first iter or drho < scf_thr, we + // do not change rho. + if (drho < hsolver_error || conv_esolver || inp.calculation == "nscf") + { + if (drho < hsolver_error) + { + GlobalV::ofs_warning << " drho < hsolver_error, keep " + "charge density unchanged." + << std::endl; + } + } + else + { + //----------charge mixing--------------- + // mixing will restart after p_chgmix->mixing_restart + // steps + if (inp.mixing_restart > 0 && iter == p_chgmix->mixing_restart_step - 1 + && drho <= inp.mixing_restart) + { + // do not mix charge density + } + else + { + p_chgmix->mix_rho(&chr); // update chr->rho by mixing + } + if (inp.scf_thr_type == 2) + { + chr.renormalize_rho(); // renormalize rho in R-space would + // induce a error in K-space + } + //----------charge mixing done----------- + } + } + +#ifdef __MPI + MPI_Bcast(&drho, 1, MPI_DOUBLE, 0, BP_WORLD); + + // change MPI_DOUBLE to MPI_C_BOOL, mohan 2025-04-13 + MPI_Bcast(&conv_esolver, 1, MPI_C_BOOL, 0, BP_WORLD); + + assert(nrxx>=0); // mohan add 2025-10-18 + MPI_Bcast(chr.rho[0], nrxx, MPI_DOUBLE, 0, BP_WORLD); +#endif + + // mohan move the following code here, 2025-10-18 + // SCF restart information + if (PARAM.inp.mixing_restart > 0 + && iter == p_chgmix->mixing_restart_step - 1 + && iter != PARAM.inp.scf_nmax) + { + p_chgmix->mixing_restart_last = iter; + std::cout << " SCF restart after this step!" << std::endl; + } + + return; +} + + +void module_charge::chgmixing_ks_pw(const int iter, // scf iteration number + Charge_Mixing* p_chgmix, // charge mixing class + Plus_U &dftu, // mohan add 2025-11-06 + const Input_para& inp) // input parameters +{ + ModuleBase::TITLE("module_charge", "chgmixing_ks_pw"); + + if (iter == 1) + { + p_chgmix->init_mixing(); + p_chgmix->mixing_restart_step = inp.scf_nmax + 1; + } + + // For mixing restart + if (iter == p_chgmix->mixing_restart_step && inp.mixing_restart > 0.0) + { + p_chgmix->init_mixing(); + p_chgmix->mixing_restart_count++; + + if (inp.dft_plus_u) + { + if (dftu.uramping > 0.01 && !dftu.u_converged()) + { + p_chgmix->mixing_restart_step = inp.scf_nmax + 1; + } + if (dftu.uramping > 0.01) + { + bool do_uramping = true; + if (inp.sc_mag_switch) + { + spinconstrain::SpinConstrain>& sc + = spinconstrain::SpinConstrain>::getScInstance(); + if (!sc.mag_converged()) // skip uramping if mag not converged + { + do_uramping = false; + } + } + if (do_uramping) + { + dftu.uramping_update(); // update U by uramping if uramping > 0.01 + std::cout << " U-Ramping! Current U = "; + for (int i = 0; i < dftu.U0.size(); i++) + { + std::cout << dftu.U[i] * ModuleBase::Ry_to_eV << " "; + } + std::cout << " eV " << std::endl; + } + } + } + } + + return; +} + +void module_charge::chgmixing_ks_lcao(const int iter, // scf iteration number + Charge_Mixing* p_chgmix, // charge mixing class + Plus_U &dftu, // mohan add 2025-11-06 + const int nnr, // dimension of density matrix + const Input_para& inp) // input parameters +{ + ModuleBase::TITLE("module_charge", "chgmixing_ks_lcao"); + + if (iter == 1) + { + p_chgmix->mix_reset(); // init mixing + p_chgmix->mixing_restart_step = inp.scf_nmax + 1; + p_chgmix->mixing_restart_count = 0; + // this output will be removed once the feeature is stable + if (dftu.uramping > 0.01) + { + std::cout << " U-Ramping! Current U = "; + for (int i = 0; i < dftu.U0.size(); i++) + { + std::cout << dftu.U[i] * ModuleBase::Ry_to_eV << " "; + } + std::cout << " eV " << std::endl; + } + } + + // for mixing restart + if (iter == p_chgmix->mixing_restart_step && inp.mixing_restart > 0.0) + { + p_chgmix->init_mixing(); + p_chgmix->mixing_restart_count++; + if (inp.dft_plus_u) + { + dftu.uramping_update(); // update U by uramping if uramping > 0.01 + if (dftu.uramping > 0.01) + { + std::cout << " U-Ramping! Current U = "; + for (int i = 0; i < dftu.U0.size(); i++) + { + std::cout << dftu.U[i] * ModuleBase::Ry_to_eV << " "; + } + std::cout << " eV " << std::endl; + } + if (dftu.uramping > 0.01 && !dftu.u_converged()) + { + p_chgmix->mixing_restart_step = inp.scf_nmax + 1; + } + } + if (inp.mixing_dmr) // for mixing_dmr + { + // allocate memory for dmr_mdata + p_chgmix->allocate_mixing_dmr(nnr); + } + } +} diff --git a/source/source_estate/module_charge/chgmixing.h b/source/source_estate/module_charge/chgmixing.h new file mode 100644 index 0000000000..4a04a0880d --- /dev/null +++ b/source/source_estate/module_charge/chgmixing.h @@ -0,0 +1,43 @@ +#ifndef CHGMIXING_H +#define CHGMIXING_H + +#include "source_estate/elecstate.h" // use pelec +#include "source_estate/module_charge/charge.h" // use chr +#include "source_estate/module_charge/charge_mixing.h" // use p_chgmix +#include "source_io/module_parameter/input_parameter.h" // use Input_para +#include "source_cell/unitcell.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 2025-11-06 + +namespace module_charge +{ + +void chgmixing_ks(const int iter, // scf iteration number + UnitCell& ucell, + elecstate::ElecState* pelec, + Charge &chr, // charge density + Charge_Mixing* p_chgmix, // charge mixing class + const int nrxx, // charge density + double &drho, // charge density deviation + bool &oscillate_esolver, // whether the esolver has oscillation of charge density + bool &conv_esolver, + const double &hsolver_error, + const double &scf_thr, + const double &scf_ene_thr, + const bool converged_u, // mohan add 2025-11-06 + const Input_para& inp); // input parameters + +void chgmixing_ks_pw(const int iter, + Charge_Mixing* p_chgmix, + Plus_U &dftu, // mohan add 2025-11-06 + const Input_para& inp); // input parameters + +void chgmixing_ks_lcao(const int iter, // scf iteration number + Charge_Mixing* p_chgmix, // charge mixing class + Plus_U &dftu, // mohan add 2025-11-06 + const int nnr, // dimension of density matrix + const Input_para& inp); // input parameters + +} + + +#endif diff --git a/source/source_estate/module_charge/symmetry_rho.cpp b/source/source_estate/module_charge/symmetry_rho.cpp index f6bc1272f9..dbd8a57af1 100644 --- a/source/source_estate/module_charge/symmetry_rho.cpp +++ b/source/source_estate/module_charge/symmetry_rho.cpp @@ -11,37 +11,45 @@ Symmetry_rho::~Symmetry_rho() } void Symmetry_rho::begin(const int& spin_now, - const Charge& CHR, + const Charge& chr, const ModulePW::PW_Basis* rho_basis, ModuleSymmetry::Symmetry& symm) const { assert(spin_now < 4); // added by zhengdy-soc - if (ModuleSymmetry::Symmetry::symm_flag != 1) { - return; -} + if (ModuleSymmetry::Symmetry::symm_flag != 1) + { + return; + } + + ModuleBase::TITLE("Symmetry_rho", "begin"); + ModuleBase::timer::tick("Symmetry_rho","begin"); + // both parallel and serial // if(symm.nrot==symm.nrotk) //pure point-group, do rho_symm in real space // { -// psymm(CHR.rho[spin_now], rho_basis, Pgrid, symm); -// if(XC_Functional::get_ked_flag()) psymm(CHR.kin_r[spin_now], +// psymm(chr.rho[spin_now], rho_basis, Pgrid, symm); +// if(XC_Functional::get_ked_flag()) psymm(chr.kin_r[spin_now], // rho_basis,Pgrid,symm); // } // else //space group, do rho_symm in reciprocal space -{ - rho_basis->real2recip(CHR.rho[spin_now], CHR.rhog[spin_now]); - psymmg(CHR.rhog[spin_now], rho_basis, symm); // need to modify - rho_basis->recip2real(CHR.rhog[spin_now], CHR.rho[spin_now]); - if (XC_Functional::get_ked_flag() || CHR.cal_elf) + rho_basis->real2recip(chr.rho[spin_now], chr.rhog[spin_now]); + + psymmg(chr.rhog[spin_now], rho_basis, symm); // need to modify + + rho_basis->recip2real(chr.rhog[spin_now], chr.rho[spin_now]); + + if (XC_Functional::get_ked_flag() || chr.cal_elf) { // Use std::vector to manage kin_g instead of raw pointer - std::vector> kin_g(CHR.ngmc); - rho_basis->real2recip(CHR.kin_r[spin_now], kin_g.data()); + std::vector> kin_g(chr.ngmc); + rho_basis->real2recip(chr.kin_r[spin_now], kin_g.data()); psymmg(kin_g.data(), rho_basis, symm); - rho_basis->recip2real(kin_g.data(), CHR.kin_r[spin_now]); - } + rho_basis->recip2real(kin_g.data(), chr.kin_r[spin_now]); } + + ModuleBase::timer::tick("Symmetry_rho","begin"); return; } @@ -59,6 +67,10 @@ void Symmetry_rho::begin(const int& spin_now, { return; } + + ModuleBase::TITLE("Symmetry_rho", "begin"); + ModuleBase::timer::tick("Symmetry_rho","begin"); + // both parallel and serial // if(symm.nrot==symm.nrotk) //pure point-group, do rho_symm in real space // { @@ -81,6 +93,8 @@ void Symmetry_rho::begin(const int& spin_now, rho_basis->recip2real(kin_g.data(), kin_r[spin_now]); } } + + ModuleBase::timer::tick("Symmetry_rho","begin"); return; } @@ -89,8 +103,11 @@ void Symmetry_rho::psymm(double* rho_part, Parallel_Grid& Pgrid, ModuleSymmetry::Symmetry& symm) const { + ModuleBase::TITLE("Symmetry_rho", "psymm"); + ModuleBase::timer::tick("Symmetry_rho","psymm"); + #ifdef __MPI - // (1) reduce all rho from the first pool. + // reduce all rho from the first pool. std::vector rhotot; if (GlobalV::MY_RANK == 0) { @@ -99,7 +116,6 @@ void Symmetry_rho::psymm(double* rho_part, } Pgrid.reduce(rhotot.data(), rho_part, false); - // (2) if (GlobalV::MY_RANK == 0) { symm.rho_symmetry(rhotot.data(), rho_basis->nx, rho_basis->ny, rho_basis->nz); @@ -126,8 +142,9 @@ void Symmetry_rho::psymm(double* rho_part, #ifdef __MPI } - // (3) -Pgrid.bcast(rhotot.data(), rho_part, GlobalV::MY_RANK); + Pgrid.bcast(rhotot.data(), rho_part, GlobalV::MY_RANK); #endif + + ModuleBase::timer::tick("Symmetry_rho","psymm"); return; -} \ No newline at end of file +} diff --git a/source/source_estate/module_dm/cal_dm_psi.cpp b/source/source_estate/module_dm/cal_dm_psi.cpp index 7f68838c94..ac52854be1 100644 --- a/source/source_estate/module_dm/cal_dm_psi.cpp +++ b/source/source_estate/module_dm/cal_dm_psi.cpp @@ -15,8 +15,8 @@ void cal_dm_psi(const Parallel_Orbitals* ParaV, const psi::Psi& wfc, elecstate::DensityMatrix& DM) { - ModuleBase::TITLE("elecstate", "cal_dm"); - ModuleBase::timer::tick("elecstate", "cal_dm"); + ModuleBase::TITLE("elecstate", "cal_dm_psi"); + ModuleBase::timer::tick("elecstate", "cal_dm_psi"); // dm.resize(wfc.get_nk(), ParaV->ncol, ParaV->nrow); const int nbands_local = wfc.get_nbands(); @@ -33,13 +33,10 @@ void cal_dm_psi(const Parallel_Orbitals* ParaV, // dm[ik].create(ParaV->ncol, ParaV->nrow); // wg_wfc(ib,iw) = wg[ib] * wfc(ib,iw); - psi::Psi wg_wfc(1, - wfc.get_nbands(), - wfc.get_nbasis(), - wfc.get_nbasis(), - true); - wg_wfc.set_all_psi(wfc.get_pointer(), wg_wfc.size()); + psi::Psi wg_wfc(1, wfc.get_nbands(), + wfc.get_nbasis(), wfc.get_nbasis(), true); + wg_wfc.set_all_psi(wfc.get_pointer(), wg_wfc.size()); int ib_global = 0; for (int ib_local = 0; ib_local < nbands_local; ++ib_local) @@ -50,7 +47,6 @@ void cal_dm_psi(const Parallel_Orbitals* ParaV, if (ib_global >= wg.nc) { break; - ModuleBase::WARNING_QUIT("ElecStateLCAO::cal_dm", "please check global2local_col!"); } } if (ib_global >= wg.nc) @@ -70,7 +66,7 @@ void cal_dm_psi(const Parallel_Orbitals* ParaV, psiMulPsi(wg_wfc, wfc, dmk_pointer); #endif } - ModuleBase::timer::tick("elecstate", "cal_dm"); + ModuleBase::timer::tick("elecstate", "cal_dm_psi"); return; } @@ -80,8 +76,8 @@ void cal_dm_psi(const Parallel_Orbitals* ParaV, const psi::Psi>& wfc, elecstate::DensityMatrix, double>& DM) { - ModuleBase::TITLE("elecstate", "cal_dm"); - ModuleBase::timer::tick("elecstate", "cal_dm"); + ModuleBase::TITLE("elecstate", "cal_dm_psi"); + ModuleBase::timer::tick("elecstate", "cal_dm_psi"); // dm.resize(wfc.get_nk(), ParaV->ncol, ParaV->nrow); const int nbands_local = wfc.get_nbands(); @@ -104,6 +100,7 @@ void cal_dm_psi(const Parallel_Orbitals* ParaV, const std::complex* pwfc = wfc.get_pointer(); std::complex* pwg_wfc = wg_wfc.get_pointer(); + #ifdef _OPENMP #pragma omp parallel for schedule(static, 1024) #endif @@ -139,8 +136,9 @@ void cal_dm_psi(const Parallel_Orbitals* ParaV, if (PARAM.inp.ks_solver == "cg_in_lcao") { psiMulPsi(wg_wfc, wfc, dmk_pointer); - } else - { + } + else + { psiMulPsiMpi(wg_wfc, wfc, dmk_pointer, ParaV->desc_wfc, ParaV->desc); } #else @@ -148,7 +146,7 @@ void cal_dm_psi(const Parallel_Orbitals* ParaV, #endif } - ModuleBase::timer::tick("elecstate", "cal_dm"); + ModuleBase::timer::tick("elecstate", "cal_dm_psi"); return; } @@ -166,24 +164,24 @@ void psiMulPsiMpi(const psi::Psi& psi1, const int nlocal = desc_dm[2]; const int nbands = desc_psi[3]; - pdgemm_(&N_char, - &T_char, - &nlocal, - &nlocal, - &nbands, - &one_float, + ScalapackConnector::gemm(N_char, + T_char, + nlocal, + nlocal, + nbands, + one_float, psi1.get_pointer(), - &one_int, - &one_int, + one_int, + one_int, desc_psi, psi2.get_pointer(), - &one_int, - &one_int, + one_int, + one_int, desc_psi, - &zero_float, + zero_float, dm_out, - &one_int, - &one_int, + one_int, + one_int, desc_dm); ModuleBase::timer::tick("psiMulPsiMpi", "pdgemm"); } @@ -200,24 +198,24 @@ void psiMulPsiMpi(const psi::Psi>& psi1, const char N_char = 'N', T_char = 'T'; const int nlocal = desc_dm[2]; const int nbands = desc_psi[3]; - pzgemm_(&N_char, - &T_char, - &nlocal, - &nlocal, - &nbands, - &one_complex, + ScalapackConnector::gemm(N_char, + T_char, + nlocal, + nlocal, + nbands, + one_complex, psi1.get_pointer(), - &one_int, - &one_int, + one_int, + one_int, desc_psi, psi2.get_pointer(), - &one_int, - &one_int, + one_int, + one_int, desc_psi, - &zero_complex, + zero_complex, dm_out, - &one_int, - &one_int, + one_int, + one_int, desc_dm); ModuleBase::timer::tick("psiMulPsiMpi", "pdgemm"); } @@ -231,19 +229,19 @@ void psiMulPsi(const psi::Psi& psi1, const psi::Psi& psi2, doubl const char N_char = 'N', T_char = 'T'; const int nlocal = psi1.get_nbasis(); const int nbands = psi1.get_nbands(); - dgemm_(&N_char, - &T_char, - &nlocal, - &nlocal, - &nbands, - &one_float, + BlasConnector::gemm_cm(N_char, + T_char, + nlocal, + nlocal, + nbands, + one_float, psi1.get_pointer(), - &nlocal, + nlocal, psi2.get_pointer(), - &nlocal, - &zero_float, + nlocal, + zero_float, dm_out, - &nlocal); + nlocal); } void psiMulPsi(const psi::Psi>& psi1, @@ -256,19 +254,19 @@ void psiMulPsi(const psi::Psi>& psi1, const int nbands = psi1.get_nbands(); const std::complex one_complex = {1.0, 0.0}; const std::complex zero_complex = {0.0, 0.0}; - zgemm_(&N_char, - &T_char, - &nlocal, - &nlocal, - &nbands, - &one_complex, + BlasConnector::gemm_cm(N_char, + T_char, + nlocal, + nlocal, + nbands, + one_complex, psi1.get_pointer(), - &nlocal, + nlocal, psi2.get_pointer(), - &nlocal, - &zero_complex, + nlocal, + zero_complex, dm_out, - &nlocal); + nlocal); } } // namespace elecstate diff --git a/source/source_estate/module_dm/cal_edm_tddft.cpp b/source/source_estate/module_dm/cal_edm_tddft.cpp index dd934d8a00..bd33477f97 100644 --- a/source/source_estate/module_dm/cal_edm_tddft.cpp +++ b/source/source_estate/module_dm/cal_edm_tddft.cpp @@ -1,35 +1,80 @@ #include "cal_edm_tddft.h" +#include "source_base/module_container/ATen/core/tensor.h" // For ct::Tensor +#include "source_base/module_container/ATen/kernels/blas.h" +#include "source_base/module_container/ATen/kernels/lapack.h" +#include "source_base/module_container/ATen/kernels/memory.h" // memory operations (Tensor) +#include "source_base/module_device/memory_op.h" // memory operations #include "source_base/module_external/lapack_connector.h" #include "source_base/module_external/scalapack_connector.h" +#include "source_io/module_parameter/parameter.h" // use PARAM.globalv +#include "source_lcao/module_rt/gather_mat.h" // gatherMatrix and distributeMatrix +#include "source_lcao/module_rt/propagator.h" // Include header for create_identity_matrix + namespace elecstate { +void print_local_matrix(std::ostream& os, + const std::complex* matrix_data, + int local_rows, + int local_cols, + const std::string& matrix_name, + int rank) +{ + if (!matrix_name.empty() || rank >= 0) + { + os << "=== "; + if (!matrix_name.empty()) + { + os << "Matrix: " << matrix_name; + if (rank >= 0) + os << " "; + } + if (rank >= 0) + { + os << "(Process: " << rank + 1 << ")"; + } + os << " (Local dims: " << local_rows << " x " << local_cols << ") ===" << std::endl; + } + + os << std::fixed << std::setprecision(10) << std::showpos; + + for (int i = 0; i < local_rows; ++i) // Iterate over rows (i) + { + for (int j = 0; j < local_cols; ++j) // Iterate over columns (j) + { + // For column-major storage, element (i, j) is at index i + j * LDA + // where LDA (leading dimension) is typically the number of *rows* in the local block. + int idx = i + j * local_rows; + os << "(" << std::real(matrix_data[idx]) << "," << std::imag(matrix_data[idx]) << ") "; + } + os << std::endl; // New line after each row + } + os.unsetf(std::ios_base::fixed | std::ios_base::showpos); + os << std::endl; +} + // use the original formula (Hamiltonian matrix) to calculate energy density matrix void cal_edm_tddft(Parallel_Orbitals& pv, - elecstate::ElecState* pelec, + LCAO_domain::Setup_DM>& dmat, K_Vectors& kv, hamilt::Hamilt>* p_hamilt) { - // mohan add 2024-03-27 + ModuleBase::TITLE("elecstate", "cal_edm_tddft"); + ModuleBase::timer::tick("elecstate", "cal_edm_tddft"); + const int nlocal = PARAM.globalv.nlocal; assert(nlocal >= 0); - auto _pelec = dynamic_cast>*>(pelec); - - _pelec->get_DM()->EDMK.resize(kv.get_nks()); + dmat.dm->EDMK.resize(kv.get_nks()); for (int ik = 0; ik < kv.get_nks(); ++ik) { p_hamilt->updateHk(ik); - std::complex* tmp_dmk = _pelec->get_DM()->get_DMK_pointer(ik); - ModuleBase::ComplexMatrix& tmp_edmk = _pelec->get_DM()->EDMK[ik]; + std::complex* tmp_dmk = dmat.dm->get_DMK_pointer(ik); + ModuleBase::ComplexMatrix& tmp_edmk = dmat.dm->EDMK[ik]; #ifdef __MPI - - // mohan add 2024-03-27 - //! be careful, the type of nloc is 'long' - //! whether the long type is safe, needs more discussion - const long nloc = pv.nloc; + const int nloc = pv.nloc; const int ncol = pv.ncol; const int nrow = pv.nrow; @@ -54,14 +99,14 @@ void cal_edm_tddft(Parallel_Orbitals& pv, hamilt::MatrixBlock> s_mat; p_hamilt->matrix(h_mat, s_mat); - zcopy_(&nloc, h_mat.p, &inc, Htmp, &inc); - zcopy_(&nloc, s_mat.p, &inc, Sinv, &inc); + BlasConnector::copy(nloc, h_mat.p, inc, Htmp, inc); + BlasConnector::copy(nloc, s_mat.p, inc, Sinv, inc); vector ipiv(nloc, 0); int info = 0; const int one_int = 1; - pzgetrf_(&nlocal, &nlocal, Sinv, &one_int, &one_int, pv.desc, ipiv.data(), &info); + ScalapackConnector::getrf(nlocal, nlocal, Sinv, one_int, one_int, pv.desc, ipiv.data(), &info); int lwork = -1; int liwork = -1; @@ -72,136 +117,141 @@ void cal_edm_tddft(Parallel_Orbitals& pv, // if liwork = -1, then the size of iwork is (at least) of length 1. std::vector iwork(1, 0); - pzgetri_(&nlocal, - Sinv, - &one_int, - &one_int, - pv.desc, - ipiv.data(), - work.data(), - &lwork, - iwork.data(), - &liwork, - &info); + ScalapackConnector::getri(nlocal, + Sinv, + one_int, + one_int, + pv.desc, + ipiv.data(), + work.data(), + &lwork, + iwork.data(), + &liwork, + &info); lwork = work[0].real(); work.resize(lwork, 0); liwork = iwork[0]; iwork.resize(liwork, 0); - pzgetri_(&nlocal, - Sinv, - &one_int, - &one_int, - pv.desc, - ipiv.data(), - work.data(), - &lwork, - iwork.data(), - &liwork, - &info); + ScalapackConnector::getri(nlocal, + Sinv, + one_int, + one_int, + pv.desc, + ipiv.data(), + work.data(), + &lwork, + iwork.data(), + &liwork, + &info); const char N_char = 'N'; const char T_char = 'T'; - const std::complex one_float = {1.0, 0.0}; - const std::complex zero_float = {0.0, 0.0}; - const std::complex half_float = {0.5, 0.0}; - - pzgemm_(&N_char, - &N_char, - &nlocal, - &nlocal, - &nlocal, - &one_float, - Htmp, - &one_int, - &one_int, - pv.desc, - Sinv, - &one_int, - &one_int, - pv.desc, - &zero_float, - tmp1, - &one_int, - &one_int, - pv.desc); - - pzgemm_(&T_char, - &N_char, - &nlocal, - &nlocal, - &nlocal, - &one_float, - tmp1, - &one_int, - &one_int, - pv.desc, - tmp_dmk, - &one_int, - &one_int, - pv.desc, - &zero_float, - tmp2, - &one_int, - &one_int, - pv.desc); - - pzgemm_(&N_char, - &N_char, - &nlocal, - &nlocal, - &nlocal, - &one_float, - Sinv, - &one_int, - &one_int, - pv.desc, - Htmp, - &one_int, - &one_int, - pv.desc, - &zero_float, - tmp3, - &one_int, - &one_int, - pv.desc); - - pzgemm_(&N_char, - &T_char, - &nlocal, - &nlocal, - &nlocal, - &one_float, - tmp_dmk, - &one_int, - &one_int, - pv.desc, - tmp3, - &one_int, - &one_int, - pv.desc, - &zero_float, - tmp4, - &one_int, - &one_int, - pv.desc); - - pzgeadd_(&N_char, - &nlocal, - &nlocal, - &half_float, - tmp2, - &one_int, - &one_int, - pv.desc, - &half_float, - tmp4, - &one_int, - &one_int, - pv.desc); - - zcopy_(&nloc, tmp4, &inc, tmp_edmk.c, &inc); + const std::complex one_complex = {1.0, 0.0}; + const std::complex zero_complex = {0.0, 0.0}; + const std::complex half_complex = {0.5, 0.0}; + + // tmp1 = Htmp * Sinv + ScalapackConnector::gemm(N_char, + N_char, + nlocal, + nlocal, + nlocal, + one_complex, + Htmp, + one_int, + one_int, + pv.desc, + Sinv, + one_int, + one_int, + pv.desc, + zero_complex, + tmp1, + one_int, + one_int, + pv.desc); + + // tmp2 = tmp1^T * tmp_dmk + ScalapackConnector::gemm(T_char, + N_char, + nlocal, + nlocal, + nlocal, + one_complex, + tmp1, + one_int, + one_int, + pv.desc, + tmp_dmk, + one_int, + one_int, + pv.desc, + zero_complex, + tmp2, + one_int, + one_int, + pv.desc); + + // tmp3 = Sinv * Htmp + ScalapackConnector::gemm(N_char, + N_char, + nlocal, + nlocal, + nlocal, + one_complex, + Sinv, + one_int, + one_int, + pv.desc, + Htmp, + one_int, + one_int, + pv.desc, + zero_complex, + tmp3, + one_int, + one_int, + pv.desc); + + // tmp4 = tmp_dmk * tmp3^T + ScalapackConnector::gemm(N_char, + T_char, + nlocal, + nlocal, + nlocal, + one_complex, + tmp_dmk, + one_int, + one_int, + pv.desc, + tmp3, + one_int, + one_int, + pv.desc, + zero_complex, + tmp4, + one_int, + one_int, + pv.desc); + + // tmp4 = 0.5 * (tmp2 + tmp4) + ScalapackConnector::geadd(N_char, + nlocal, + nlocal, + half_complex, + tmp2, + one_int, + one_int, + pv.desc, + half_complex, + tmp4, + one_int, + one_int, + pv.desc); + + BlasConnector::copy(nloc, tmp4, inc, tmp_edmk.c, inc); delete[] Htmp; delete[] Sinv; @@ -219,7 +269,7 @@ void cal_edm_tddft(Parallel_Orbitals& pv, hamilt::MatrixBlock> s_mat; p_hamilt->matrix(h_mat, s_mat); - // cout<<"hmat "<>& dmat, + K_Vectors& kv, + hamilt::Hamilt>* p_hamilt) +{ + ModuleBase::TITLE("elecstate", "cal_edm_tddft_tensor"); + ModuleBase::timer::tick("elecstate", "cal_edm_tddft_tensor"); + + const int nlocal = PARAM.globalv.nlocal; + assert(nlocal >= 0); + dmat.dm->EDMK.resize(kv.get_nks()); + + for (int ik = 0; ik < kv.get_nks(); ++ik) + { + p_hamilt->updateHk(ik); + std::complex* tmp_dmk = dmat.dm->get_DMK_pointer(ik); + ModuleBase::ComplexMatrix& tmp_edmk = dmat.dm->EDMK[ik]; + +#ifdef __MPI + const int nloc = pv.nloc; + const int ncol = pv.ncol; + const int nrow = pv.nrow; + + // Initialize EDMK matrix + tmp_edmk.create(ncol, nrow); + + // Allocate Tensor objects on CPU + ct::Tensor Htmp_tensor(ct::DataType::DT_COMPLEX_DOUBLE, ct::DeviceType::CpuDevice, ct::TensorShape({nloc})); + Htmp_tensor.zero(); + + ct::Tensor Sinv_tensor(ct::DataType::DT_COMPLEX_DOUBLE, ct::DeviceType::CpuDevice, ct::TensorShape({nloc})); + Sinv_tensor.zero(); + + ct::Tensor tmp1_tensor(ct::DataType::DT_COMPLEX_DOUBLE, ct::DeviceType::CpuDevice, ct::TensorShape({nloc})); + tmp1_tensor.zero(); + + ct::Tensor tmp2_tensor(ct::DataType::DT_COMPLEX_DOUBLE, ct::DeviceType::CpuDevice, ct::TensorShape({nloc})); + tmp2_tensor.zero(); + + ct::Tensor tmp3_tensor(ct::DataType::DT_COMPLEX_DOUBLE, ct::DeviceType::CpuDevice, ct::TensorShape({nloc})); + tmp3_tensor.zero(); + + ct::Tensor tmp4_tensor(ct::DataType::DT_COMPLEX_DOUBLE, ct::DeviceType::CpuDevice, ct::TensorShape({nloc})); + tmp4_tensor.zero(); + + // Get raw pointers from tensors for ScaLAPACK calls + std::complex* Htmp_ptr = Htmp_tensor.data>(); + std::complex* Sinv_ptr = Sinv_tensor.data>(); + std::complex* tmp1_ptr = tmp1_tensor.data>(); + std::complex* tmp2_ptr = tmp2_tensor.data>(); + std::complex* tmp3_ptr = tmp3_tensor.data>(); + std::complex* tmp4_ptr = tmp4_tensor.data>(); + + const int inc = 1; + hamilt::MatrixBlock> h_mat; + hamilt::MatrixBlock> s_mat; + p_hamilt->matrix(h_mat, s_mat); + + // Copy Hamiltonian and Overlap matrices into Tensor buffers using BlasConnector + BlasConnector::copy(nloc, h_mat.p, inc, Htmp_ptr, inc); + BlasConnector::copy(nloc, s_mat.p, inc, Sinv_ptr, inc); + + int myid = 0; + const int root_proc = 0; + MPI_Comm_rank(MPI_COMM_WORLD, &myid); + + // --- ScaLAPACK Inversion of S --- + ct::Tensor ipiv(ct::DataType::DT_INT, + ct::DeviceType::CpuDevice, + ct::TensorShape({pv.nrow + pv.nb})); // Size for ScaLAPACK pivot array + ipiv.zero(); + int* ipiv_ptr = ipiv.data(); + + int info = 0; + const int one_int = 1; + ScalapackConnector::getrf(nlocal, nlocal, Sinv_ptr, one_int, one_int, pv.desc, ipiv_ptr, &info); + + int lwork = -1; + int liwork = -1; + ct::Tensor work_query(ct::DataType::DT_COMPLEX_DOUBLE, ct::DeviceType::CpuDevice, ct::TensorShape({1})); + ct::Tensor iwork_query(ct::DataType::DT_INT, ct::DeviceType::CpuDevice, ct::TensorShape({1})); + + ScalapackConnector::getri(nlocal, + Sinv_ptr, + one_int, + one_int, + pv.desc, + ipiv_ptr, + work_query.data>(), + &lwork, + iwork_query.data(), + &liwork, + &info); + + // Resize work arrays based on query results + lwork = work_query.data>()[0].real(); + work_query.resize(ct::TensorShape({lwork})); + liwork = iwork_query.data()[0]; + iwork_query.resize(ct::TensorShape({liwork})); + + ScalapackConnector::getri(nlocal, + Sinv_ptr, + one_int, + one_int, + pv.desc, + ipiv_ptr, + work_query.data>(), + &lwork, + iwork_query.data(), + &liwork, + &info); + + // --- EDM Calculation using ScaLAPACK --- + const char N_char = 'N'; + const char T_char = 'T'; + const std::complex one_complex = {1.0, 0.0}; + const std::complex zero_complex = {0.0, 0.0}; + const std::complex half_complex = {0.5, 0.0}; + + // tmp1 = Htmp * Sinv + ScalapackConnector::gemm(N_char, + N_char, + nlocal, + nlocal, + nlocal, + one_complex, + Htmp_ptr, + one_int, + one_int, + pv.desc, + Sinv_ptr, + one_int, + one_int, + pv.desc, + zero_complex, + tmp1_ptr, + one_int, + one_int, + pv.desc); + + // tmp2 = tmp1^T * tmp_dmk + ScalapackConnector::gemm(T_char, + N_char, + nlocal, + nlocal, + nlocal, + one_complex, + tmp1_ptr, + one_int, + one_int, + pv.desc, + tmp_dmk, + one_int, + one_int, + pv.desc, + zero_complex, + tmp2_ptr, + one_int, + one_int, + pv.desc); + + // tmp3 = Sinv * Htmp + ScalapackConnector::gemm(N_char, + N_char, + nlocal, + nlocal, + nlocal, + one_complex, + Sinv_ptr, + one_int, + one_int, + pv.desc, + Htmp_ptr, + one_int, + one_int, + pv.desc, + zero_complex, + tmp3_ptr, + one_int, + one_int, + pv.desc); + + // tmp4 = tmp_dmk * tmp3^T + ScalapackConnector::gemm(N_char, + T_char, + nlocal, + nlocal, + nlocal, + one_complex, + tmp_dmk, + one_int, + one_int, + pv.desc, + tmp3_ptr, + one_int, + one_int, + pv.desc, + zero_complex, + tmp4_ptr, + one_int, + one_int, + pv.desc); + + // tmp4 = 0.5 * (tmp2 + tmp4) + ScalapackConnector::geadd(N_char, + nlocal, + nlocal, + half_complex, + tmp2_ptr, + one_int, + one_int, + pv.desc, + half_complex, + tmp4_ptr, + one_int, + one_int, + pv.desc); + + // Copy final result from Tensor buffer back to EDMK matrix + BlasConnector::copy(nloc, tmp4_ptr, inc, tmp_edmk.c, inc); + +#else + ModuleBase::WARNING_QUIT("elecstate::cal_edm_tddft_tensor", "MPI is required for this function!"); +#endif + } // end ik + ModuleBase::timer::tick("elecstate", "cal_edm_tddft_tensor"); + return; +} // cal_edm_tddft_tensor + +// Template function for EDM calculation supporting CPU and GPU +template +void cal_edm_tddft_tensor_lapack(Parallel_Orbitals& pv, + LCAO_domain::Setup_DM>& dmat, + K_Vectors& kv, + hamilt::Hamilt>* p_hamilt) +{ + ModuleBase::TITLE("elecstate", "cal_edm_tddft_tensor_lapack"); + ModuleBase::timer::tick("elecstate", "cal_edm_tddft_tensor_lapack"); + + const int nlocal = PARAM.globalv.nlocal; + assert(nlocal >= 0); + dmat.dm->EDMK.resize(kv.get_nks()); + + // ct_device_type = ct::DeviceType::CpuDevice or ct::DeviceType::GpuDevice + ct::DeviceType ct_device_type = ct::DeviceTypeToEnum::value; + // ct_Device = ct::DEVICE_CPU or ct::DEVICE_GPU + using ct_Device = typename ct::PsiToContainer::type; + +#if ((defined __CUDA) /* || (defined __ROCM) */) + if (ct_device_type == ct::DeviceType::GpuDevice) + { + // Initialize cuBLAS & cuSOLVER handle + ct::kernels::createGpuSolverHandle(); + ct::kernels::createGpuBlasHandle(); + } +#endif // __CUDA + + for (int ik = 0; ik < kv.get_nks(); ++ik) + { + p_hamilt->updateHk(ik); + std::complex* tmp_dmk_local = dmat.dm->get_DMK_pointer(ik); + ModuleBase::ComplexMatrix& tmp_edmk = dmat.dm->EDMK[ik]; + +#ifdef __MPI + int myid = 0; + const int root_proc = 0; + MPI_Comm_rank(MPI_COMM_WORLD, &myid); + + // Gather local H, S, and DMK matrices to global matrices on root process + hamilt::MatrixBlock> h_mat_local, s_mat_local; + p_hamilt->matrix(h_mat_local, s_mat_local); + + module_rt::Matrix_g> h_mat_global, s_mat_global, dmk_global; + module_rt::gatherMatrix(myid, root_proc, h_mat_local, h_mat_global); + module_rt::gatherMatrix(myid, root_proc, s_mat_local, s_mat_global); + + // Create a temporary MatrixBlock for local DMK + hamilt::MatrixBlock> dmk_local_block; + dmk_local_block.p = tmp_dmk_local; + dmk_local_block.desc = pv.desc; + module_rt::gatherMatrix(myid, root_proc, dmk_local_block, dmk_global); + + // Declare and allocate global EDM matrix on ALL processes, prepare for distribution in the end + module_rt::Matrix_g> edm_global; + edm_global.p.reset(new std::complex[nlocal * nlocal]); + edm_global.row = nlocal; + edm_global.col = nlocal; + // Set the descriptor of the global EDM matrix + edm_global.desc.reset(new int[9]{1, pv.desc[1], nlocal, nlocal, nlocal, nlocal, 0, 0, nlocal}); + + // Only root process performs the global calculation + if (myid == root_proc) + { + ct::Tensor Htmp_global(ct::DataType::DT_COMPLEX_DOUBLE, + ct::DeviceType::CpuDevice, + ct::TensorShape({nlocal, nlocal})); + ct::Tensor S_global(ct::DataType::DT_COMPLEX_DOUBLE, + ct::DeviceType::CpuDevice, + ct::TensorShape({nlocal, nlocal})); + ct::Tensor DMK_global(ct::DataType::DT_COMPLEX_DOUBLE, + ct::DeviceType::CpuDevice, + ct::TensorShape({nlocal, nlocal})); + + // Copy gathered data into tensors + BlasConnector::copy(nlocal * nlocal, + h_mat_global.p.get(), + 1, + Htmp_global.template data>(), + 1); + BlasConnector::copy(nlocal * nlocal, + s_mat_global.p.get(), + 1, + S_global.template data>(), + 1); + BlasConnector::copy(nlocal * nlocal, + dmk_global.p.get(), + 1, + DMK_global.template data>(), + 1); + + // Move tensors to the target device (CPU or GPU) + ct::Tensor Htmp_global_dev = Htmp_global.to_device(); + ct::Tensor S_global_dev = S_global.to_device(); + ct::Tensor DMK_global_dev = DMK_global.to_device(); + + // --- Calculate S^-1 using getrf + getrs --- + ct::Tensor ipiv(ct::DataType::DT_INT, ct_device_type, ct::TensorShape({nlocal})); + ipiv.zero(); + + // 1. LU decomposition S = P * L * U + ct::kernels::lapack_getrf, ct_Device>()( + nlocal, + nlocal, + S_global_dev.template data>(), + nlocal, + ipiv.template data()); + + // 2. Solve S * Sinv = I for Sinv using the LU decomposition + // Create identity matrix as RHS + auto Sinv_global = module_rt::create_identity_matrix>(nlocal, ct_device_type); + + ct::kernels::lapack_getrs, ct_Device>()( + 'N', + nlocal, + nlocal, + S_global_dev.template data>(), + nlocal, + ipiv.template data(), + Sinv_global.template data>(), + nlocal); + + // --- EDM Calculation using BLAS on global tensors --- + // tmp1 = Htmp * Sinv + ct::Tensor tmp1_global_tensor(ct::DataType::DT_COMPLEX_DOUBLE, + ct_device_type, + ct::TensorShape({nlocal, nlocal})); + tmp1_global_tensor.zero(); + std::complex one_complex = {1.0, 0.0}; + std::complex zero_complex = {0.0, 0.0}; + ct::kernels::blas_gemm, ct_Device>()( + 'N', + 'N', + nlocal, + nlocal, + nlocal, + &one_complex, + Htmp_global_dev.template data>(), + nlocal, + Sinv_global.template data>(), + nlocal, + &zero_complex, + tmp1_global_tensor.template data>(), + nlocal); + + // tmp2 = tmp1^T * tmp_dmk + ct::Tensor tmp2_global_tensor(ct::DataType::DT_COMPLEX_DOUBLE, + ct_device_type, + ct::TensorShape({nlocal, nlocal})); + tmp2_global_tensor.zero(); + ct::kernels::blas_gemm, ct_Device>()( + 'T', + 'N', + nlocal, + nlocal, + nlocal, + &one_complex, + tmp1_global_tensor.template data>(), + nlocal, + DMK_global_dev.template data>(), + nlocal, + &zero_complex, + tmp2_global_tensor.template data>(), + nlocal); + + // tmp3 = Sinv * Htmp + ct::Tensor tmp3_global_tensor(ct::DataType::DT_COMPLEX_DOUBLE, + ct_device_type, + ct::TensorShape({nlocal, nlocal})); + tmp3_global_tensor.zero(); + ct::kernels::blas_gemm, ct_Device>()( + 'N', + 'N', + nlocal, + nlocal, + nlocal, + &one_complex, + Sinv_global.template data>(), + nlocal, + Htmp_global_dev.template data>(), + nlocal, + &zero_complex, + tmp3_global_tensor.template data>(), + nlocal); + + // tmp4 = tmp_dmk * tmp3^T + ct::Tensor tmp4_global_tensor(ct::DataType::DT_COMPLEX_DOUBLE, + ct_device_type, + ct::TensorShape({nlocal, nlocal})); + tmp4_global_tensor.zero(); + ct::kernels::blas_gemm, ct_Device>()( + 'N', + 'T', + nlocal, + nlocal, + nlocal, + &one_complex, + DMK_global_dev.template data>(), + nlocal, + tmp3_global_tensor.template data>(), + nlocal, + &zero_complex, + tmp4_global_tensor.template data>(), + nlocal); + + // tmp4 = tmp2 + tmp4 + ct::kernels::blas_axpy, ct_Device>()( + nlocal * nlocal, + &one_complex, + tmp2_global_tensor.template data>(), + 1, + tmp4_global_tensor.template data>(), + 1); + + // tmp4 = 0.5 * tmp4 + std::complex half_complex = {0.5, 0.0}; + ct::kernels::blas_scal, ct_Device>()( + nlocal * nlocal, + &half_complex, + tmp4_global_tensor.template data>(), + 1); + + // Copy result from device tensor back to CPU buffer for distribution + ct::Tensor tmp4_global_tensor_cpu = tmp4_global_tensor.to_device(); + BlasConnector::copy(nlocal * nlocal, + tmp4_global_tensor_cpu.template data>(), + 1, + edm_global.p.get(), + 1); + } + + // --- Distribute the globally computed EDM matrix back to distributed form --- + tmp_edmk.create(pv.ncol, pv.nrow); + + hamilt::MatrixBlock> edm_local_block; + edm_local_block.p = tmp_edmk.c; + edm_local_block.desc = pv.desc; + + // Distribute edm_global to all processes' local blocks + module_rt::distributeMatrix(edm_local_block, edm_global); +#else + ModuleBase::WARNING_QUIT("elecstate::cal_edm_tddft_tensor_lapack", "MPI is required for this function!"); +#endif // __MPI + } // end ik + +#if ((defined __CUDA) /* || (defined __ROCM) */) + if (ct_device_type == ct::DeviceType::GpuDevice) + { + // Destroy cuBLAS & cuSOLVER handle + ct::kernels::destroyGpuSolverHandle(); + ct::kernels::destroyGpuBlasHandle(); + } +#endif // __CUDA + + ModuleBase::timer::tick("elecstate", "cal_edm_tddft_tensor_lapack"); + return; +} // cal_edm_tddft_tensor_lapack + +// Explicit instantiation of template functions +template void cal_edm_tddft_tensor_lapack(Parallel_Orbitals& pv, + LCAO_domain::Setup_DM>& dmat, + K_Vectors& kv, + hamilt::Hamilt>* p_hamilt); +#if ((defined __CUDA) /* || (defined __ROCM) */) +template void cal_edm_tddft_tensor_lapack(Parallel_Orbitals& pv, + LCAO_domain::Setup_DM>& dmat, + K_Vectors& kv, + hamilt::Hamilt>* p_hamilt); +#endif // __CUDA + } // namespace elecstate diff --git a/source/source_estate/module_dm/cal_edm_tddft.h b/source/source_estate/module_dm/cal_edm_tddft.h index 49de0550b5..b442bd90cd 100644 --- a/source/source_estate/module_dm/cal_edm_tddft.h +++ b/source/source_estate/module_dm/cal_edm_tddft.h @@ -3,14 +3,32 @@ #include "source_basis/module_ao/parallel_orbitals.h" #include "source_cell/klist.h" -#include "source_estate/elecstate_lcao.h" #include "source_hamilt/hamilt.h" +#include "source_lcao/setup_dm.h" namespace elecstate { +void print_local_matrix(std::ostream& os, + const std::complex* matrix_data, + int local_rows, // pv.nrow + int local_cols, // pv.ncol + const std::string& matrix_name = "", + int rank = -1); + void cal_edm_tddft(Parallel_Orbitals& pv, - elecstate::ElecState* pelec, + LCAO_domain::Setup_DM>& dmat, K_Vectors& kv, hamilt::Hamilt>* p_hamilt); + +void cal_edm_tddft_tensor(Parallel_Orbitals& pv, + LCAO_domain::Setup_DM>& dmat, + K_Vectors& kv, + hamilt::Hamilt>* p_hamilt); + +template +void cal_edm_tddft_tensor_lapack(Parallel_Orbitals& pv, + LCAO_domain::Setup_DM>& dmat, + K_Vectors& kv, + hamilt::Hamilt>* p_hamilt); } // namespace elecstate #endif // CAL_EDM_TDDFT_H diff --git a/source/source_estate/module_dm/density_matrix.cpp b/source/source_estate/module_dm/density_matrix.cpp index 8dd87e73c4..e5ad1ba620 100644 --- a/source/source_estate/module_dm/density_matrix.cpp +++ b/source/source_estate/module_dm/density_matrix.cpp @@ -5,6 +5,7 @@ #include "source_base/memory.h" #include "source_base/timer.h" #include "source_base/tool_title.h" +#include "source_base/constants.h" #include "source_cell/klist.h" namespace elecstate @@ -29,7 +30,7 @@ template DensityMatrix::DensityMatrix(const Parallel_Orbitals* paraV_in, const int nspin, const std::vector>& kvec_d, const int nk) : _paraV(paraV_in), _nspin(nspin), _kvec_d(kvec_d), _nk((nk > 0 && nk <= _kvec_d.size()) ? nk : _kvec_d.size()) { - ModuleBase::TITLE("DensityMatrix", "DensityMatrix-MK"); + ModuleBase::TITLE("DensityMatrix", "resize_DMK"); const int nks = _nk * _nspin; this->_DMK.resize(nks); for (int ik = 0; ik < nks; ik++) @@ -42,7 +43,7 @@ DensityMatrix::DensityMatrix(const Parallel_Orbitals* paraV_in, const in template DensityMatrix::DensityMatrix(const Parallel_Orbitals* paraV_in, const int nspin) :_paraV(paraV_in), _nspin(nspin), _kvec_d({ ModuleBase::Vector3(0,0,0) }), _nk(1) { - ModuleBase::TITLE("DensityMatrix", "DensityMatrix-GO"); + ModuleBase::TITLE("DensityMatrix", "resize_gamma"); this->_DMK.resize(_nspin); for (int ik = 0; ik < this->_nspin; ik++) { @@ -51,134 +52,103 @@ DensityMatrix::DensityMatrix(const Parallel_Orbitals* paraV_in, const in ModuleBase::Memory::record("DensityMatrix::DMK", this->_DMK.size() * this->_DMK[0].size() * sizeof(TK)); } + + // calculate DMR from DMK using blas for multi-k calculation -template <> -void DensityMatrix, double>::cal_DMR(const int ik_in) +template +void DensityMatrix_Tools::cal_DMR( + const DensityMatrix &dm, + std::vector*> &dmR_out, + const int ik_in) { ModuleBase::TITLE("DensityMatrix", "cal_DMR"); // To check whether DMR has been initialized -#ifdef __DEBUG - assert(!this->_DMR.empty() && "DMR has not been initialized!"); -#endif + assert(dmR_out.size()==dm._nspin && "DMR has not been initialized!"); ModuleBase::timer::tick("DensityMatrix", "cal_DMR"); - int ld_hk = this->_paraV->nrow; - for (int is = 1; is <= this->_nspin; ++is) + const int ld_hk = dm._paraV->nrow; + for (int is = 1; is <= dm._nspin; ++is) { - int ik_begin = this->_nk * (is - 1); // jump this->_nk for spin_down if nspin==2 - hamilt::HContainer* target_DMR = this->_DMR[is - 1]; + const int ik_begin = dm._nk * (is - 1); // jump dm._nk for spin_down if nspin==2 + hamilt::HContainer*const target_DMR = dmR_out[is - 1]; // set zero since this function is called in every scf step target_DMR->set_zero(); -#ifdef _OPENMP -#pragma omp parallel for schedule(dynamic) -#endif + #ifdef _OPENMP + #pragma omp parallel for schedule(dynamic) + #endif for (int i = 0; i < target_DMR->size_atom_pairs(); ++i) { - hamilt::AtomPair& target_ap = target_DMR->get_atom_pair(i); - int iat1 = target_ap.get_atom_i(); - int iat2 = target_ap.get_atom_j(); + hamilt::AtomPair& target_ap = target_DMR->get_atom_pair(i); + const int iat1 = target_ap.get_atom_i(); + const int iat2 = target_ap.get_atom_j(); // get global indexes of whole matrix for each atom in this process - int row_ap = this->_paraV->atom_begin_row[iat1]; - int col_ap = this->_paraV->atom_begin_col[iat2]; - const int row_size = this->_paraV->get_row_size(iat1); - const int col_size = this->_paraV->get_col_size(iat2); + const int row_ap = dm._paraV->atom_begin_row[iat1]; + const int col_ap = dm._paraV->atom_begin_col[iat2]; + const int row_size = dm._paraV->get_row_size(iat1); + const int col_size = dm._paraV->get_col_size(iat2); const int mat_size = row_size * col_size; - const int r_size = target_ap.get_R_size(); - if (row_ap == -1 || col_ap == -1) - { - throw std::string("Atom-pair not belong this process"); - } - std::vector> tmp_DMR; - if (PARAM.inp.nspin == 4) - { - tmp_DMR.resize(mat_size * r_size, 0); - } + const int R_size = target_ap.get_R_size(); + assert(row_ap != -1 && col_ap != -1 && "Atom-pair not belong this process"); // calculate kphase and target_mat_ptr - std::vector> kphase_vec(r_size * this->_nk); - std::vector target_DMR_mat_vec(r_size); - for(int ir = 0; ir < r_size; ++ir) + std::vector> kphase_vec(dm._nk, std::vector(R_size)); + std::vector target_DMR_mat_vec(R_size); + for(int iR = 0; iR < R_size; ++iR) { - const ModuleBase::Vector3 r_index = target_ap.get_R_index(ir); - hamilt::BaseMatrix* target_mat = target_ap.find_matrix(r_index); -#ifdef __DEBUG + const ModuleBase::Vector3 R_index = target_ap.get_R_index(iR); + hamilt::BaseMatrix*const target_mat = target_ap.find_matrix(R_index); + #ifdef __DEBUG if (target_mat == nullptr) { std::cout << "target_mat is nullptr" << std::endl; continue; } -#endif - target_DMR_mat_vec[ir] = target_mat->get_pointer(); - for(int ik = 0; ik < this->_nk; ++ik) + #endif + target_DMR_mat_vec[iR] = target_mat->get_pointer(); + for(int ik = 0; ik < dm._nk; ++ik) { - if(ik_in >= 0 && ik_in != ik) - { - continue; - } + if(ik_in >= 0 && ik_in != ik) { continue; } // cal k_phase // if TK==std::complex, kphase is e^{ikR} - const ModuleBase::Vector3 dR(r_index[0], r_index[1], r_index[2]); - const double arg = (this->_kvec_d[ik] * dR) * ModuleBase::TWO_PI; + const ModuleBase::Vector3 dR(R_index[0], R_index[1], R_index[2]); + const double arg = (dm._kvec_d[ik] * dR) * ModuleBase::TWO_PI; double sinp, cosp; ModuleBase::libm::sincos(arg, &sinp, &cosp); - kphase_vec[ik * r_size + ir] = std::complex(cosp, sinp); + kphase_vec[ik][iR] = TK(cosp, sinp); } } - std::vector> tmp_DMK_mat(mat_size); - // step_trace = 0 for NSPIN=1,2; ={0, 1, local_col, local_col+1} for NSPIN=4 - // step_trace is used when nspin = 4; - int step_trace[4]{}; - if(PARAM.inp.nspin == 4) + std::vector DMK_mat_trans(mat_size); + std::vector tmp_DMR( (PARAM.inp.nspin==4) ? mat_size*R_size : 0); + for(int ik = 0; ik < dm._nk; ++ik) { - const int npol = 2; - for (int is = 0; is < npol; is++) - { - for (int is2 = 0; is2 < npol; is2++) - { - step_trace[is * npol + is2] = target_ap.get_col_size() * is + is2; - } - } - } - for(int ik = 0; ik < this->_nk; ++ik) - { - if(ik_in >= 0 && ik_in != ik) - { - continue; - } - - // copy column-major DMK to row-major tmp_DMK_mat (for the purpose of computational efficiency) - const std::complex* DMK_mat_ptr = this->_DMK[ik + ik_begin].data() + col_ap * this->_paraV->nrow + row_ap; - for(int icol = 0; icol < col_size; ++icol) - { - for(int irow = 0; irow < row_size; ++irow) - { - tmp_DMK_mat[irow * col_size + icol] = DMK_mat_ptr[icol * ld_hk + irow]; - } - } + if(ik_in >= 0 && ik_in != ik) { continue; } + // copy column-major DMK to row-major DMK_mat_trans (for the purpose of computational efficiency) + const TK*const DMK_mat_ptr + = dm._DMK[ik + ik_begin].data() + + col_ap * dm._paraV->nrow + row_ap; + for(int icol = 0; icol < col_size; ++icol) { + for(int irow = 0; irow < row_size; ++irow) { + DMK_mat_trans[irow * col_size + icol] = DMK_mat_ptr[icol * ld_hk + irow]; + }} // if nspin != 4, fill DMR // if nspin == 4, fill tmp_DMR - for(int ir = 0; ir < r_size; ++ir) + for(int iR = 0; iR < R_size; ++iR) { - std::complex kphase = kphase_vec[ik * r_size + ir]; - if(PARAM.inp.nspin != 4) + // (kr+i*ki) * (Dr+i*Di) = (kr*Dr-ki*Di) + i*(kr*Di+ki*Dr) + const TK kphase = kphase_vec[ik][iR]; + if(PARAM.inp.nspin != 4) // only save real kr*Dr-ki*Di { - double* target_DMR_mat = target_DMR_mat_vec[ir]; - for(int i = 0; i < mat_size; i++) - { - target_DMR_mat[i] += kphase.real() * tmp_DMK_mat[i].real() - - kphase.imag() * tmp_DMK_mat[i].imag(); - } + func_exp_mul_dmk(kphase, DMK_mat_trans, target_DMR_mat_vec[iR]); } else if(PARAM.inp.nspin == 4) { - std::complex* tmp_DMR_mat = &tmp_DMR[ir * mat_size]; BlasConnector::axpy(mat_size, kphase, - tmp_DMK_mat.data(), + DMK_mat_trans.data(), 1, - tmp_DMR_mat, + &tmp_DMR[iR * mat_size], 1); } } @@ -188,11 +158,19 @@ void DensityMatrix, double>::cal_DMR(const int ik_in) // copy tmp_DMR to fill target_DMR if(PARAM.inp.nspin == 4) { - std::complex tmp[4]{}; - for(int ir = 0; ir < r_size; ++ir) + // step_trace ={0, 1, local_col, local_col+1} for NSPIN=4 + int step_trace[4]{}; + constexpr int npol = 2; + for (int is = 0; is < npol; is++) { + for (int is2 = 0; is2 < npol; is2++) { + step_trace[is * npol + is2] = target_ap.get_col_size() * is + is2; + }} + + TK tmp[4]{}; + for(int iR = 0; iR < R_size; ++iR) { - std::complex* tmp_DMR_mat = &tmp_DMR[ir * mat_size]; - double* target_DMR_mat = target_DMR_mat_vec[ir]; + const TK* tmp_DMR_mat = &tmp_DMR[iR * mat_size]; + TR_out* target_DMR_mat = target_DMR_mat_vec[iR]; for (int irow = 0; irow < row_size; irow += 2) { for (int icol = 0; icol < col_size; icol += 2) @@ -202,13 +180,9 @@ void DensityMatrix, double>::cal_DMR(const int ik_in) tmp[1] = tmp_DMR_mat[icol + step_trace[1]]; tmp[2] = tmp_DMR_mat[icol + step_trace[2]]; tmp[3] = tmp_DMR_mat[icol + step_trace[3]]; - // transfer to Pauli matrix and save the real part - // save them back to the target_mat - target_DMR_mat[icol + step_trace[0]] = tmp[0].real() + tmp[3].real(); - target_DMR_mat[icol + step_trace[1]] = tmp[1].real() + tmp[2].real(); - target_DMR_mat[icol + step_trace[2]] - = -tmp[1].imag() + tmp[2].imag(); // (i * (rho_updown - rho_downup)).real() - target_DMR_mat[icol + step_trace[3]] = tmp[0].real() - tmp[3].real(); + + // transfer to Pauli matrix, save them back to the target_DMR_mat + func_xyz_to_updown(tmp, icol, step_trace, target_DMR_mat); } tmp_DMR_mat += col_size * 2; target_DMR_mat += col_size * 2; @@ -220,137 +194,119 @@ void DensityMatrix, double>::cal_DMR(const int ik_in) ModuleBase::timer::tick("DensityMatrix", "cal_DMR"); } -// calculate DMR from DMK using blas for multi-k calculation template <> -void DensityMatrix, double>::cal_DMR_td(const UnitCell& ucell, const ModuleBase::Vector3 At, const int ik_in) +void DensityMatrix, double>::cal_DMR(const int ik_in) +{ + DensityMatrix_Tools::cal_DMR(*this, this->_DMR, ik_in); +} + +template <> +void DensityMatrix, std::complex>::cal_DMR(const int ik_in) +{ + DensityMatrix_Tools::cal_DMR(*this, this->_DMR, ik_in); +} + + + +// calculate DMR from DMK using blas for multi-k calculation +template +void DensityMatrix_Tools::cal_DMR_td( + const DensityMatrix &dm, + std::vector*> &dmR_out, + const UnitCell& ucell, + const ModuleBase::Vector3 At, + const int ik_in) { ModuleBase::TITLE("DensityMatrix", "cal_DMR_td"); // To check whether DMR has been initialized -#ifdef __DEBUG - assert(!this->_DMR.empty() && "DMR has not been initialized!"); -#endif + assert(dmR_out.size()==dm._nspin && "DMR has not been initialized!"); ModuleBase::timer::tick("DensityMatrix", "cal_DMR_td"); - int ld_hk = this->_paraV->nrow; - for (int is = 1; is <= this->_nspin; ++is) + const int ld_hk = dm._paraV->nrow; + for (int is = 1; is <= dm._nspin; ++is) { - int ik_begin = this->_nk * (is - 1); // jump this->_nk for spin_down if nspin==2 - hamilt::HContainer* target_DMR = this->_DMR[is - 1]; + const int ik_begin = dm._nk * (is - 1); // jump dm._nk for spin_down if nspin==2 + hamilt::HContainer*const target_DMR = dmR_out[is - 1]; // set zero since this function is called in every scf step target_DMR->set_zero(); -#ifdef _OPENMP -#pragma omp parallel for schedule(dynamic) -#endif + #ifdef _OPENMP + #pragma omp parallel for schedule(dynamic) + #endif for (int i = 0; i < target_DMR->size_atom_pairs(); ++i) { - hamilt::AtomPair& target_ap = target_DMR->get_atom_pair(i); - int iat1 = target_ap.get_atom_i(); - int iat2 = target_ap.get_atom_j(); + hamilt::AtomPair& target_ap = target_DMR->get_atom_pair(i); + const int iat1 = target_ap.get_atom_i(); + const int iat2 = target_ap.get_atom_j(); // get global indexes of whole matrix for each atom in this process - int row_ap = this->_paraV->atom_begin_row[iat1]; - int col_ap = this->_paraV->atom_begin_col[iat2]; - const int row_size = this->_paraV->get_row_size(iat1); - const int col_size = this->_paraV->get_col_size(iat2); + const int row_ap = dm._paraV->atom_begin_row[iat1]; + const int col_ap = dm._paraV->atom_begin_col[iat2]; + const int row_size = dm._paraV->get_row_size(iat1); + const int col_size = dm._paraV->get_col_size(iat2); const int mat_size = row_size * col_size; - const int r_size = target_ap.get_R_size(); - if (row_ap == -1 || col_ap == -1) - { - throw std::string("Atom-pair not belong this process"); - } - std::vector> tmp_DMR; - if (PARAM.inp.nspin == 4) - { - tmp_DMR.resize(mat_size * r_size, 0); - } + const int R_size = target_ap.get_R_size(); + assert(row_ap != -1 && col_ap != -1 && "Atom-pair not belong this process"); // calculate kphase and target_mat_ptr - std::vector> kphase_vec(r_size * this->_nk); - std::vector target_DMR_mat_vec(r_size); - for(int ir = 0; ir < r_size; ++ir) + std::vector> kphase_vec(dm._nk, std::vector(R_size)); + std::vector target_DMR_mat_vec(R_size); + for(int iR = 0; iR < R_size; ++iR) { - const ModuleBase::Vector3 r_index = target_ap.get_R_index(ir); - hamilt::BaseMatrix* target_mat = target_ap.find_matrix(r_index); -#ifdef __DEBUG + const ModuleBase::Vector3 R_index = target_ap.get_R_index(iR); + hamilt::BaseMatrix*const target_mat = target_ap.find_matrix(R_index); + #ifdef __DEBUG if (target_mat == nullptr) { std::cout << "target_mat is nullptr" << std::endl; continue; } -#endif - target_DMR_mat_vec[ir] = target_mat->get_pointer(); - double arg_td = 0.0; + #endif + target_DMR_mat_vec[iR] = target_mat->get_pointer(); //cal tddft phase for hybrid gauge - ModuleBase::Vector3 dtau = ucell.cal_dtau(iat1, iat2, r_index); - arg_td = At * dtau * ucell.lat0; - for(int ik = 0; ik < this->_nk; ++ik) + const ModuleBase::Vector3 dtau = ucell.cal_dtau(iat1, iat2, R_index); + const double arg_td = At * dtau * ucell.lat0; + for(int ik = 0; ik < dm._nk; ++ik) { - if(ik_in >= 0 && ik_in != ik) - { - continue; - } + if(ik_in >= 0 && ik_in != ik) { continue; } // cal k_phase // if TK==std::complex, kphase is e^{ikR} - const ModuleBase::Vector3 dR(r_index[0], r_index[1], r_index[2]); - const double arg = (this->_kvec_d[ik] * dR) * ModuleBase::TWO_PI + arg_td; + const ModuleBase::Vector3 dR(R_index[0], R_index[1], R_index[2]); + const double arg = (dm._kvec_d[ik] * dR) * ModuleBase::TWO_PI + arg_td; double sinp, cosp; ModuleBase::libm::sincos(arg, &sinp, &cosp); - kphase_vec[ik * r_size + ir] = std::complex(cosp, sinp); + kphase_vec[ik][iR] = TK(cosp, sinp); } } - std::vector> tmp_DMK_mat(mat_size); - // step_trace = 0 for NSPIN=1,2; ={0, 1, local_col, local_col+1} for NSPIN=4 - // step_trace is used when nspin = 4; - int step_trace[4]{}; - if(PARAM.inp.nspin == 4) + std::vector DMK_mat_trans(mat_size); + std::vector tmp_DMR( (PARAM.inp.nspin==4) ? mat_size*R_size : 0); + for(int ik = 0; ik < dm._nk; ++ik) { - const int npol = 2; - for (int is = 0; is < npol; is++) - { - for (int is2 = 0; is2 < npol; is2++) - { - step_trace[is * npol + is2] = target_ap.get_col_size() * is + is2; - } - } - } - for(int ik = 0; ik < this->_nk; ++ik) - { - if(ik_in >= 0 && ik_in != ik) - { - continue; - } - - // copy column-major DMK to row-major tmp_DMK_mat (for the purpose of computational efficiency) - const std::complex* DMK_mat_ptr = this->_DMK[ik + ik_begin].data() + col_ap * this->_paraV->nrow + row_ap; - for(int icol = 0; icol < col_size; ++icol) - { - for(int irow = 0; irow < row_size; ++irow) - { - tmp_DMK_mat[irow * col_size + icol] = DMK_mat_ptr[icol * ld_hk + irow]; - } - } + if(ik_in >= 0 && ik_in != ik) { continue; } + // copy column-major DMK to row-major DMK_mat_trans (for the purpose of computational efficiency) + const TK*const DMK_mat_ptr + = dm._DMK[ik + ik_begin].data() + + col_ap * dm._paraV->nrow + row_ap; + for(int icol = 0; icol < col_size; ++icol) { + for(int irow = 0; irow < row_size; ++irow) { + DMK_mat_trans[irow * col_size + icol] = DMK_mat_ptr[icol * ld_hk + irow]; + }} // if nspin != 4, fill DMR // if nspin == 4, fill tmp_DMR - for(int ir = 0; ir < r_size; ++ir) + for(int iR = 0; iR < R_size; ++iR) { - std::complex kphase = kphase_vec[ik * r_size + ir]; - if(PARAM.inp.nspin != 4) + // (kr+i*ki) * (Dr+i*Di) = (kr*Dr-ki*Di) + i*(kr*Di+ki*Dr) + const TK kphase = kphase_vec[ik][iR]; + if(PARAM.inp.nspin != 4) // only save real kr*Dr-ki*Di { - double* target_DMR_mat = target_DMR_mat_vec[ir]; - for(int i = 0; i < mat_size; i++) - { - target_DMR_mat[i] += kphase.real() * tmp_DMK_mat[i].real() - - kphase.imag() * tmp_DMK_mat[i].imag(); - } + func_exp_mul_dmk(kphase, DMK_mat_trans, target_DMR_mat_vec[iR]); } else if(PARAM.inp.nspin == 4) { - std::complex* tmp_DMR_mat = &tmp_DMR[ir * mat_size]; BlasConnector::axpy(mat_size, kphase, - tmp_DMK_mat.data(), + DMK_mat_trans.data(), 1, - tmp_DMR_mat, + &tmp_DMR[iR * mat_size], 1); } } @@ -360,11 +316,19 @@ void DensityMatrix, double>::cal_DMR_td(const UnitCell& uce // copy tmp_DMR to fill target_DMR if(PARAM.inp.nspin == 4) { - std::complex tmp[4]{}; - for(int ir = 0; ir < r_size; ++ir) + // step_trace ={0, 1, local_col, local_col+1} for NSPIN=4 + int step_trace[4]{}; + constexpr int npol = 2; + for (int is = 0; is < npol; is++) { + for (int is2 = 0; is2 < npol; is2++) { + step_trace[is * npol + is2] = target_ap.get_col_size() * is + is2; + }} + + TK tmp[4]{}; + for(int iR = 0; iR < R_size; ++iR) { - std::complex* tmp_DMR_mat = &tmp_DMR[ir * mat_size]; - double* target_DMR_mat = target_DMR_mat_vec[ir]; + const TK* tmp_DMR_mat = &tmp_DMR[iR * mat_size]; + TR_out* target_DMR_mat = target_DMR_mat_vec[iR]; for (int irow = 0; irow < row_size; irow += 2) { for (int icol = 0; icol < col_size; icol += 2) @@ -374,13 +338,9 @@ void DensityMatrix, double>::cal_DMR_td(const UnitCell& uce tmp[1] = tmp_DMR_mat[icol + step_trace[1]]; tmp[2] = tmp_DMR_mat[icol + step_trace[2]]; tmp[3] = tmp_DMR_mat[icol + step_trace[3]]; - // transfer to Pauli matrix and save the real part - // save them back to the target_mat - target_DMR_mat[icol + step_trace[0]] = tmp[0].real() + tmp[3].real(); - target_DMR_mat[icol + step_trace[1]] = tmp[1].real() + tmp[2].real(); - target_DMR_mat[icol + step_trace[2]] - = -tmp[1].imag() + tmp[2].imag(); // (i * (rho_updown - rho_downup)).real() - target_DMR_mat[icol + step_trace[3]] = tmp[0].real() - tmp[3].real(); + + // transfer to Pauli matrix, save them back to the target_DMR_mat + func_xyz_to_updown(tmp, icol, step_trace, target_DMR_mat); } tmp_DMR_mat += col_size * 2; target_DMR_mat += col_size * 2; @@ -392,84 +352,100 @@ void DensityMatrix, double>::cal_DMR_td(const UnitCell& uce ModuleBase::timer::tick("DensityMatrix", "cal_DMR_td"); } -// calculate DMR from DMK using blas for multi-k calculation template <> -void DensityMatrix::cal_DMR_full(hamilt::HContainer>* dmR_out)const{} +void DensityMatrix, double>::cal_DMR_td(const UnitCell& ucell, const ModuleBase::Vector3 At, const int ik_in) +{ + DensityMatrix_Tools::cal_DMR_td(*this, this->_DMR, ucell, At, ik_in); +} + template <> -void DensityMatrix, double>::cal_DMR_full(hamilt::HContainer>* dmR_out)const +void DensityMatrix, std::complex>::cal_DMR_td(const UnitCell& ucell, const ModuleBase::Vector3 At, const int ik_in) +{ + DensityMatrix_Tools::cal_DMR_td(*this, this->_DMR, ucell, At, ik_in); +} + + + +// calculate DMR from DMK using blas for multi-k calculation +template +void DensityMatrix_Tools::cal_DMR_full( + const DensityMatrix &dm, + hamilt::HContainer* dmR_out, + const int ik_in) { ModuleBase::TITLE("DensityMatrix", "cal_DMR_full"); ModuleBase::timer::tick("DensityMatrix", "cal_DMR_full"); - int ld_hk = this->_paraV->nrow; - hamilt::HContainer>* target_DMR = dmR_out; + const int ld_hk = dm._paraV->nrow; + hamilt::HContainer* target_DMR = dmR_out; // set zero since this function is called in every scf step target_DMR->set_zero(); -#ifdef _OPENMP -#pragma omp parallel for schedule(dynamic) -#endif + #ifdef _OPENMP + #pragma omp parallel for schedule(dynamic) + #endif for (int i = 0; i < target_DMR->size_atom_pairs(); ++i) { - auto& target_ap = target_DMR->get_atom_pair(i); - int iat1 = target_ap.get_atom_i(); - int iat2 = target_ap.get_atom_j(); + hamilt::AtomPair& target_ap = target_DMR->get_atom_pair(i); + const int iat1 = target_ap.get_atom_i(); + const int iat2 = target_ap.get_atom_j(); // get global indexes of whole matrix for each atom in this process - int row_ap = this->_paraV->atom_begin_row[iat1]; - int col_ap = this->_paraV->atom_begin_col[iat2]; - const int row_size = this->_paraV->get_row_size(iat1); - const int col_size = this->_paraV->get_col_size(iat2); + const int row_ap = dm._paraV->atom_begin_row[iat1]; + const int col_ap = dm._paraV->atom_begin_col[iat2]; + const int row_size = dm._paraV->get_row_size(iat1); + const int col_size = dm._paraV->get_col_size(iat2); const int mat_size = row_size * col_size; - const int r_size = target_ap.get_R_size(); + const int R_size = target_ap.get_R_size(); + assert(row_ap != -1 && col_ap != -1 && "Atom-pair not belong this process"); // calculate kphase and target_mat_ptr - std::vector> kphase_vec(r_size * this->_nk); - std::vector*> target_DMR_mat_vec(r_size); - for(int ir = 0; ir < r_size; ++ir) + std::vector> kphase_vec(dm._nk, std::vector(R_size)); + std::vector target_DMR_mat_vec(R_size); + for(int iR = 0; iR < R_size; ++iR) { - const ModuleBase::Vector3 r_index = target_ap.get_R_index(ir); - hamilt::BaseMatrix>* target_mat = target_ap.find_matrix(r_index); -#ifdef __DEBUG + const ModuleBase::Vector3 R_index = target_ap.get_R_index(iR); + hamilt::BaseMatrix*const target_mat = target_ap.find_matrix(R_index); + #ifdef __DEBUG if (target_mat == nullptr) { std::cout << "target_mat is nullptr" << std::endl; continue; } -#endif - target_DMR_mat_vec[ir] = target_mat->get_pointer(); - for(int ik = 0; ik < this->_nk; ++ik) + #endif + target_DMR_mat_vec[iR] = target_mat->get_pointer(); + for(int ik = 0; ik < dm._nk; ++ik) { + if(ik_in >= 0 && ik_in != ik) { continue; } // cal k_phase // if TK==std::complex, kphase is e^{ikR} - const ModuleBase::Vector3 dR(r_index[0], r_index[1], r_index[2]); - const double arg = (this->_kvec_d[ik] * dR) * ModuleBase::TWO_PI; + const ModuleBase::Vector3 dR(R_index[0], R_index[1], R_index[2]); + const double arg = (dm._kvec_d[ik] * dR) * ModuleBase::TWO_PI; double sinp, cosp; ModuleBase::libm::sincos(arg, &sinp, &cosp); - kphase_vec[ik * r_size + ir] = std::complex(cosp, sinp); + kphase_vec[ik][iR] = TK(cosp, sinp); } } - std::vector> tmp_DMK_mat(mat_size); - for(int ik = 0; ik < this->_nk; ++ik) + std::vector DMK_mat_trans(mat_size); + for(int ik = 0; ik < dm._nk; ++ik) { - // copy column-major DMK to row-major tmp_DMK_mat (for the purpose of computational efficiency) - const std::complex* DMK_mat_ptr = this->_DMK[ik].data() + col_ap * this->_paraV->nrow + row_ap; - for(int icol = 0; icol < col_size; ++icol) + if(ik_in >= 0 && ik_in != ik) { continue; } + // copy column-major DMK to row-major DMK_mat_trans (for the purpose of computational efficiency) + const TK*const DMK_mat_ptr + = dm._DMK[ik].data() + + col_ap * dm._paraV->nrow + row_ap; + for(int icol = 0; icol < col_size; ++icol) { + for(int irow = 0; irow < row_size; ++irow) { + DMK_mat_trans[irow * col_size + icol] = DMK_mat_ptr[icol * ld_hk + irow]; + }} + + for(int iR = 0; iR < R_size; ++iR) { - for(int irow = 0; irow < row_size; ++irow) - { - tmp_DMK_mat[irow * col_size + icol] = DMK_mat_ptr[icol * ld_hk + irow]; - } - } - - for(int ir = 0; ir < r_size; ++ir) - { - std::complex kphase = kphase_vec[ik * r_size + ir]; - std::complex* target_DMR_mat = target_DMR_mat_vec[ir]; + const TK kphase = kphase_vec[ik][iR]; BlasConnector::axpy(mat_size, kphase, - tmp_DMK_mat.data(), + DMK_mat_trans.data(), 1, - target_DMR_mat, + target_DMR_mat_vec[iR], 1); } } @@ -477,80 +453,85 @@ void DensityMatrix, double>::cal_DMR_full(hamilt::HContaine ModuleBase::timer::tick("DensityMatrix", "cal_DMR_full"); } +template <> +void DensityMatrix::cal_DMR_full( + hamilt::HContainer>* dmR_out, + const int ik_in) const{} +template <> +void DensityMatrix, double>::cal_DMR_full( + hamilt::HContainer>* dmR_out, + const int ik_in) const +{ + DensityMatrix_Tools::cal_DMR_full(*this, dmR_out, ik_in); +} + + + // calculate DMR from DMK using blas for gamma-only calculation template <> void DensityMatrix::cal_DMR(const int ik_in) { ModuleBase::TITLE("DensityMatrix", "cal_DMR"); + using TK = double; + using TR = double; assert(ik_in == -1 || ik_in == 0); + assert(this->_nk == 1); // To check whether DMR has been initialized -#ifdef __DEBUG - assert(!this->_DMR.empty() && "DMR has not been initialized!"); -#endif + assert(this->_DMR.size()==this->_nspin && "DMR has not been initialized!"); ModuleBase::timer::tick("DensityMatrix", "cal_DMR"); - int ld_hk = this->_paraV->nrow; + const int ld_hk = this->_paraV->nrow; for (int is = 1; is <= this->_nspin; ++is) { - int ik_begin = this->_nk * (is - 1); // jump this->_nk for spin_down if nspin==2 - hamilt::HContainer* target_DMR = this->_DMR[is - 1]; + const int ik_begin = this->_nk * (is - 1); // jump this->_nk for spin_down if nspin==2 + hamilt::HContainer*const target_DMR = this->_DMR[is - 1]; // set zero since this function is called in every scf step target_DMR->set_zero(); - -#ifdef __DEBUG - // assert(target_DMR->is_gamma_only() == true); - assert(this->_nk == 1); -#endif -#ifdef _OPENMP -#pragma omp parallel for schedule(dynamic) -#endif + #ifdef _OPENMP + #pragma omp parallel for schedule(dynamic) + #endif for (int i = 0; i < target_DMR->size_atom_pairs(); ++i) { - hamilt::AtomPair& target_ap = target_DMR->get_atom_pair(i); - int iat1 = target_ap.get_atom_i(); - int iat2 = target_ap.get_atom_j(); + hamilt::AtomPair& target_ap = target_DMR->get_atom_pair(i); + const int iat1 = target_ap.get_atom_i(); + const int iat2 = target_ap.get_atom_j(); // get global indexes of whole matrix for each atom in this process - int row_ap = this->_paraV->atom_begin_row[iat1]; - int col_ap = this->_paraV->atom_begin_col[iat2]; + const int row_ap = this->_paraV->atom_begin_row[iat1]; + const int col_ap = this->_paraV->atom_begin_col[iat2]; const int row_size = this->_paraV->get_row_size(iat1); const int col_size = this->_paraV->get_col_size(iat2); - const int r_size = target_ap.get_R_size(); - if (row_ap == -1 || col_ap == -1) - { - throw std::string("Atom-pair not belong this process"); - } - // R index - const ModuleBase::Vector3 r_index = target_ap.get_R_index(0); -#ifdef __DEBUG - assert(r_size == 1); - assert(r_index.x == 0 && r_index.y == 0 && r_index.z == 0); -#endif - hamilt::BaseMatrix* target_mat = target_ap.find_matrix(r_index); -#ifdef __DEBUG + const int R_size = target_ap.get_R_size(); + assert(row_ap != -1 && col_ap != -1 && "Atom-pair not belong this process"); + assert(R_size == 1); + const ModuleBase::Vector3 R_index = target_ap.get_R_index(0); + assert(R_index.x == 0 && R_index.y == 0 && R_index.z == 0); + hamilt::BaseMatrix*const target_mat = target_ap.find_matrix(R_index); + #ifdef __DEBUG if (target_mat == nullptr) { std::cout << "target_mat is nullptr" << std::endl; continue; } -#endif + #endif // k index - double kphase = 1; - // set DMR element - double* target_DMR_ptr = target_mat->get_pointer(); - double* DMK_ptr = this->_DMK[0 + ik_begin].data(); + constexpr TK kphase = 1; // transpose DMK col=>row - DMK_ptr += col_ap * this->_paraV->nrow + row_ap; + const TK* DMK_mat_ptr + = this->_DMK[0 + ik_begin].data() + + col_ap * this->_paraV->nrow + row_ap; + // set DMR element + TR* target_DMR_ptr = target_mat->get_pointer(); for (int mu = 0; mu < row_size; ++mu) { BlasConnector::axpy(col_size, kphase, - DMK_ptr, + DMK_mat_ptr, ld_hk, target_DMR_ptr, 1); - DMK_ptr += 1; + DMK_mat_ptr += 1; target_DMR_ptr += col_size; } } @@ -558,6 +539,8 @@ void DensityMatrix::cal_DMR(const int ik_in) ModuleBase::timer::tick("DensityMatrix", "cal_DMR"); } + + // switch_dmr template void DensityMatrix::switch_dmr(const int mode) @@ -635,6 +618,51 @@ void DensityMatrix::switch_dmr(const int mode) } } + + +template <> +void DensityMatrix_Tools::func_exp_mul_dmk(const std::complex kphase, const std::vector> &DMK_mat_trans, double* target_DMR_mat) +{ + const std::size_t mat_size = DMK_mat_trans.size(); + for(std::size_t i = 0; i < mat_size; i++) + { + target_DMR_mat[i] + += kphase.real() * DMK_mat_trans[i].real() + - kphase.imag() * DMK_mat_trans[i].imag(); + } +} + +template <> +void DensityMatrix_Tools::func_exp_mul_dmk>(const std::complex kphase, const std::vector> &DMK_mat_trans, std::complex* target_DMR_mat) +{ + BlasConnector::axpy(DMK_mat_trans.size(), + kphase, + DMK_mat_trans.data(), + 1, + target_DMR_mat, + 1); +} + +template <> +void DensityMatrix_Tools::func_xyz_to_updown(const std::complex tmp[4], const int icol, const int step_trace[4], double* target_DMR_mat) +{ + target_DMR_mat[icol + step_trace[0]] = tmp[0].real() + tmp[3].real(); // rho_0 = (rho_upup + rho_downdown).real() + target_DMR_mat[icol + step_trace[1]] = tmp[1].real() + tmp[2].real(); // rho_x = (rho_updown + rho_downup).real() + target_DMR_mat[icol + step_trace[2]] = -tmp[1].imag() + tmp[2].imag(); // rho_y = (i * (rho_updown - rho_downup)).real() + target_DMR_mat[icol + step_trace[3]] = tmp[0].real() - tmp[3].real(); // rho_z = (rho_upup - rho_downdown).real() +} + +template <> +void DensityMatrix_Tools::func_xyz_to_updown>(const std::complex tmp[4], const int icol, const int step_trace[4], std::complex* target_DMR_mat) +{ + target_DMR_mat[icol + step_trace[0]] = tmp[0] + tmp[3]; // rho_0 = (rho_upup + rho_downdown) + target_DMR_mat[icol + step_trace[1]] = tmp[1] + tmp[2]; // rho_x = (rho_updown + rho_downup) + target_DMR_mat[icol + step_trace[2]] = ModuleBase::IMAG_UNIT * (tmp[1].imag() - tmp[2].imag()); // rho_y = (i * (rho_updown - rho_downup)) + target_DMR_mat[icol + step_trace[3]] = tmp[0] - tmp[3]; // rho_z = (rho_upup - rho_downdown) +} + + + // T of HContainer can be double or complex template class DensityMatrix; // Gamma-Only case template class DensityMatrix, double>; // Multi-k case diff --git a/source/source_estate/module_dm/density_matrix.h b/source/source_estate/module_dm/density_matrix.h index 5716340e07..a8b0e1c4ec 100644 --- a/source/source_estate/module_dm/density_matrix.h +++ b/source/source_estate/module_dm/density_matrix.h @@ -31,6 +31,40 @@ struct ShiftRealComplex> using type = double; }; + + template class DensityMatrix; + +// DensityMatrix,TR>::cal_DMR() is illegal in C++, so DensityMatrix_Tools is used instead. +namespace DensityMatrix_Tools +{ + template + extern void cal_DMR( + const DensityMatrix &dm, + std::vector*> &dmR_out, + const int ik_in); + + template + extern void cal_DMR_td( + const DensityMatrix &dm, + std::vector*> &dmR_out, + const UnitCell& ucell, + const ModuleBase::Vector3 At, + const int ik_in); + + template + extern void cal_DMR_full( + const DensityMatrix &dm, + hamilt::HContainer* dmR_out, + const int ik_in); + + template + extern void func_exp_mul_dmk(const std::complex kphase, const std::vector> &DMK_mat_trans, TR* target_DMR_mat); + + template + extern void func_xyz_to_updown(const std::complex tmp[4], const int icol, const int step_trace[4], TR* target_DMR_mat); +} + + template class DensityMatrix { @@ -51,7 +85,10 @@ class DensityMatrix * @param nk number of k-points, not always equal to K_Vectors::get_nks()/nspin_dm. * it will be set to kvec_d.size() if the value is invalid */ - DensityMatrix(const Parallel_Orbitals* _paraV, const int nspin, const std::vector>& kvec_d, const int nk); + DensityMatrix(const Parallel_Orbitals* _paraV, + const int nspin, + const std::vector>& kvec_d, + const int nk); /** * @brief Constructor of class DensityMatrix for gamma-only calculation, where kvector is not required @@ -176,6 +213,7 @@ class DensityMatrix /** * @brief calculate density matrix DMR from dm(k) using blas::axpy + * @param ik_in * if ik_in < 0, calculate all k-points * if ik_in >= 0, calculate only one k-point without summing over k-points */ @@ -183,6 +221,7 @@ class DensityMatrix /** * @brief calculate density matrix DMR with additional vector potential phase, used for hybrid gauge tddft + * @param ik_in * if ik_in < 0, calculate all k-points * if ik_in >= 0, calculate only one k-point without summing over k-points */ @@ -192,8 +231,11 @@ class DensityMatrix * @brief calculate complex density matrix DMR with both real and imaginary part for noncollinear-spin calculation * the stored dm(k) has been used to calculate the passin DMR * @param dmR_out pointer of HContainer object to store the calculated complex DMR + * @param ik_in + * if ik_in < 0, calculate all k-points + * if ik_in >= 0, calculate only one k-point without summing over k-points */ - void cal_DMR_full(hamilt::HContainer>* dmR_out) const; + void cal_DMR_full(hamilt::HContainer>* dmR_out, const int ik_in = -1) const; /** * @brief (Only nspin=2) switch DMR to total density matrix or magnetization density matrix @@ -284,6 +326,9 @@ class DensityMatrix std::vector dmr_origin_; TR* dmr_tmp_ = nullptr; + friend void DensityMatrix_Tools::cal_DMR(const DensityMatrix &dm, std::vector*> &dmR_out, const int ik_in); + friend void DensityMatrix_Tools::cal_DMR_td(const DensityMatrix &dm, std::vector*> &dmR_out, const UnitCell& ucell, const ModuleBase::Vector3 At, const int ik_in); + friend void DensityMatrix_Tools::cal_DMR_full(const DensityMatrix &dm, hamilt::HContainer>* dmR_out, const int ik_in); }; } // namespace elecstate diff --git a/source/source_estate/module_dm/init_dm.cpp b/source/source_estate/module_dm/init_dm.cpp new file mode 100644 index 0000000000..c45190e01e --- /dev/null +++ b/source/source_estate/module_dm/init_dm.cpp @@ -0,0 +1,58 @@ +#include "source_estate/module_dm/init_dm.h" +#include "source_estate/module_dm/cal_dm_psi.h" +#include "source_estate/elecstate_tools.h" +#include "source_estate/cal_ux.h" +#include "source_lcao/rho_tau_lcao.h" // mohan add 2025-11-12 + +template +void elecstate::init_dm(UnitCell& ucell, + elecstate::ElecState* pelec, + LCAO_domain::Setup_DM &dmat, + psi::Psi* psi, + Charge &chr, + const int iter, + const int exx_two_level_step) +{ + ModuleBase::TITLE("elecstate", "init_dm"); + + if (iter == 1 && exx_two_level_step == 0) + { + std::cout << " LCAO WAVEFUN -> CHARGE " << std::endl; + + elecstate::calEBand(pelec->ekb, pelec->wg, pelec->f_en); + + elecstate::cal_dm_psi(dmat.dm->get_paraV_pointer(), pelec->wg, *psi, *dmat.dm); + dmat.dm->cal_DMR(); + + // mohan add 2025-11-12, use density matrix to calculate the charge density + LCAO_domain::dm2rho(dmat.dm->get_DMR_vector(), PARAM.inp.nspin, &chr); + + elecstate::cal_ux(ucell); + + //! update the potentials by using new electron charge density + pelec->pot->update_from_charge(&chr, &ucell); + + //! compute the correction energy for metals + pelec->f_en.descf = pelec->cal_delta_escf(); + } + + return; +} + + +template void elecstate::init_dm(UnitCell& ucell, + elecstate::ElecState* pelec, + LCAO_domain::Setup_DM &dmat, + psi::Psi* psi, + Charge &chr, + const int iter, + const int exx_two_level_step); + +template void elecstate::init_dm>(UnitCell& ucell, + elecstate::ElecState* pelec, + LCAO_domain::Setup_DM> &dmat, + psi::Psi>* psi, + Charge &chr, + const int iter, + const int exx_two_level_step); + diff --git a/source/source_estate/module_dm/init_dm.h b/source/source_estate/module_dm/init_dm.h new file mode 100644 index 0000000000..2fd969638d --- /dev/null +++ b/source/source_estate/module_dm/init_dm.h @@ -0,0 +1,24 @@ +#ifndef INIT_DM_H +#define INIT_DM_H + +#include "source_cell/unitcell.h" // use unitcell +#include "source_estate/elecstate.h"// use ElecState +#include "source_psi/psi.h" // use electronic wave functions +#include "source_estate/module_charge/charge.h" // use charge +#include "source_lcao/setup_dm.h" // define Setup_DM + +namespace elecstate +{ + +template +void init_dm(UnitCell& ucell, + ElecState* pelec, + LCAO_domain::Setup_DM &dmat, + psi::Psi* psi, + Charge &chr, + const int iter, + const int exx_two_level_step); + +} + +#endif diff --git a/source/source_estate/module_dm/test/prepare_unitcell.h b/source/source_estate/module_dm/test/prepare_unitcell.h index e760a8da0e..0cbbd28905 100644 --- a/source/source_estate/module_dm/test/prepare_unitcell.h +++ b/source/source_estate/module_dm/test/prepare_unitcell.h @@ -96,7 +96,7 @@ class UcellTestPrepare } // lattice info ucell.lat0 = this->lat0; - ucell.lat0_angstrom = ucell.lat0 * 0.529177; + ucell.lat0_angstrom = ucell.lat0 * ModuleBase::BOHR_TO_A; ucell.tpiba = ModuleBase::TWO_PI / ucell.lat0; ucell.tpiba2 = ucell.tpiba * ucell.tpiba; ucell.latvec.e11 = this->latvec[0]; diff --git a/source/source_estate/module_dm/test/tmp_mocks.cpp b/source/source_estate/module_dm/test/tmp_mocks.cpp index d890a90beb..dcf803ca5f 100644 --- a/source/source_estate/module_dm/test/tmp_mocks.cpp +++ b/source/source_estate/module_dm/test/tmp_mocks.cpp @@ -45,6 +45,10 @@ pseudo::pseudo() pseudo::~pseudo() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} // constructor of UnitCell UnitCell::UnitCell() @@ -113,4 +117,4 @@ Record_adj::Record_adj() } Record_adj::~Record_adj() { -} \ No newline at end of file +} diff --git a/source/source_estate/module_pot/H_TDDFT_pw.cpp b/source/source_estate/module_pot/H_TDDFT_pw.cpp index 165f1fe5b4..3f6c8a7fcd 100644 --- a/source/source_estate/module_pot/H_TDDFT_pw.cpp +++ b/source/source_estate/module_pot/H_TDDFT_pw.cpp @@ -3,10 +3,10 @@ #include "source_base/constants.h" #include "source_base/math_integral.h" #include "source_base/timer.h" -#include "source_lcao/module_rt/evolve_elec.h" -#include "source_pw/module_pwdft/global.h" #include "source_io/input_conv.h" #include "source_io/module_parameter/parameter.h" +#include "source_lcao/module_rt/evolve_elec.h" +#include "source_pw/module_pwdft/global.h" namespace elecstate { @@ -15,20 +15,17 @@ int H_TDDFT_pw::istep = -1; bool H_TDDFT_pw::is_initialized = false; double H_TDDFT_pw::amp; -double H_TDDFT_pw::bmod; -double H_TDDFT_pw::bvec[3]; -// Used for calculating electric field force on ions +// Used for calculating electric field force on ions, summing over directions vector H_TDDFT_pw::global_vext_time = {0.0, 0.0, 0.0}; int H_TDDFT_pw::stype; // 0 : length gauge 1: velocity gauge std::vector H_TDDFT_pw::ttype; -// 0 Gauss type function. -// 1 trapezoid type function. -// 2 Trigonometric functions, sin^2. -// 3 heaviside function. -// 4 HHG function. +// 0: Gaussian type function. +// 1: Trapezoid type function. +// 2: Trigonometric functions, sin^2. +// 3: Heaviside step function. int H_TDDFT_pw::tstart; int H_TDDFT_pw::tend; @@ -94,9 +91,9 @@ void H_TDDFT_pw::current_step_info(const std::string& file_dir, int& istep) } file >> istep; - file >> At[0] >> At[1] >>At[2]; + file >> At[0] >> At[1] >> At[2]; file >> At_laststep[0] >> At_laststep[1] >> At_laststep[2]; - At_laststep=-At_laststep; + At_laststep = -At_laststep; file.close(); } @@ -119,7 +116,6 @@ void H_TDDFT_pw::cal_fixed_v(double* vl_pseudo) { return; } - //std::cout << "calculate electric potential" << std::endl; ModuleBase::timer::tick("H_TDDFT_pw", "cal_fixed_v"); @@ -131,20 +127,6 @@ void H_TDDFT_pw::cal_fixed_v(double* vl_pseudo) global_vext_time = {0.0, 0.0, 0.0}; - if (PARAM.inp.td_vext_dire.size() != 1) - { - ModuleBase::WARNING("H_TDDFT_pw::cal_fixed_v", - "Multiple electric fields detected. This feature may have potential issues and is not " - "recommended for use!"); - } - if (PARAM.inp.td_vext_dire.size() > 2) - { - // To avoid breaking the integration test 601_NO_TDDFT_H2_len_hhg, a maximum of 2 electric fields are allowed - ModuleBase::WARNING_QUIT("H_TDDFT_pw::cal_fixed_v", - "For the sake of program stability, the feature of applying multiple electric fields " - "simultaneously has been temporarily disabled. Thank you for your understanding!"); - } - for (auto direc: PARAM.inp.td_vext_dire) { std::vector vext_space(this->rho_basis_->nrxx, 0.0); @@ -155,7 +137,7 @@ void H_TDDFT_pw::cal_fixed_v(double* vl_pseudo) if (PARAM.inp.out_efield && GlobalV::MY_RANK == 0) { std::stringstream as; - as << PARAM.globalv.global_out_dir << "efield_" << count << ".dat"; + as << PARAM.globalv.global_out_dir << "efield_" << count << ".txt"; std::ofstream ofs(as.str().c_str(), std::ofstream::app); ofs << H_TDDFT_pw::istep * dt * ModuleBase::AU_to_FS << "\t" << vext_time * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A << std::endl; @@ -198,8 +180,6 @@ void H_TDDFT_pw::cal_v_space_length(std::vector& vext_space, int direc) ModuleBase::TITLE("H_TDDFT_pw", "cal_v_space_length"); ModuleBase::timer::tick("H_TDDFT_pw", "cal_v_space_length"); - prepare(ucell_->G, direc); - for (int ir = 0; ir < this->rho_basis_->nrxx; ++ir) { int i = ir / (this->rho_basis_->ny * this->rho_basis_->nplane); @@ -212,15 +192,21 @@ void H_TDDFT_pw::cal_v_space_length(std::vector& vext_space, int direc) switch (direc) { case 1: - vext_space[ir] = cal_v_space_length_potential(x) / bmod; + vext_space[ir] = cal_v_space_length_potential(x) * this->ucell_->latvec.e11 + + cal_v_space_length_potential(y) * this->ucell_->latvec.e21 + + cal_v_space_length_potential(z) * this->ucell_->latvec.e31; break; case 2: - vext_space[ir] = cal_v_space_length_potential(y) / bmod; + vext_space[ir] = cal_v_space_length_potential(x) * this->ucell_->latvec.e12 + + cal_v_space_length_potential(y) * this->ucell_->latvec.e22 + + cal_v_space_length_potential(z) * this->ucell_->latvec.e32; break; case 3: - vext_space[ir] = cal_v_space_length_potential(z) / bmod; + vext_space[ir] = cal_v_space_length_potential(x) * this->ucell_->latvec.e13 + + cal_v_space_length_potential(y) * this->ucell_->latvec.e23 + + cal_v_space_length_potential(z) * this->ucell_->latvec.e33; break; default: @@ -272,10 +258,6 @@ int H_TDDFT_pw::check_ncut(int t_type) ncut = 2; break; - // case 4: - // vext_time = cal_v_time_HHG(); - // break; - default: std::cout << "time_domain_type of electric field is wrong" << std::endl; break; @@ -285,11 +267,10 @@ int H_TDDFT_pw::check_ncut(int t_type) void H_TDDFT_pw::update_At() { - //std::cout << "calculate electric potential" << std::endl; // time evolve H_TDDFT_pw::istep++; // midpoint rule should be used both in Hamiltonian and here. - At = At + At_laststep/2.0; + At = At + At_laststep / 2.0; At_laststep.set(0.0, 0.0, 0.0); Et.set(0.0, 0.0, 0.0); @@ -341,8 +322,8 @@ void H_TDDFT_pw::update_At() At_laststep[direc - 1] -= out; break; case 2: - At_laststep[direc-1] -= out; - Et[direc-1] += vext_time[0]; + At_laststep[direc - 1] -= out; + Et[direc - 1] += vext_time[0]; break; default: std::cout << "space_domain_type of electric field is wrong" << std::endl; @@ -353,7 +334,7 @@ void H_TDDFT_pw::update_At() if (PARAM.inp.out_efield && GlobalV::MY_RANK == 0) { std::stringstream as; - as << PARAM.globalv.global_out_dir << "efield_" << count << ".dat"; + as << PARAM.globalv.global_out_dir << "efield_" << count << ".txt"; std::ofstream ofs(as.str().c_str(), std::ofstream::app); ofs << H_TDDFT_pw::istep * dt * ModuleBase::AU_to_FS << "\t" << vext_time[0] * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A << std::endl; @@ -362,7 +343,7 @@ void H_TDDFT_pw::update_At() // total count++ count++; } - At = At + At_laststep/2.0; + At = At + At_laststep / 2.0; ModuleBase::timer::tick("H_TDDFT_pw", "update_At"); return; @@ -390,10 +371,6 @@ double H_TDDFT_pw::cal_v_time(int t_type, const bool last) vext_time = cal_v_time_heaviside(last); break; - // case 4: - // vext_time = cal_v_time_HHG(); - // break; - default: std::cout << "time_domain_type of electric field is wrong" << std::endl; break; @@ -487,36 +464,12 @@ double H_TDDFT_pw::cal_v_time_heaviside(const bool last) { vext_time = 0.0; } - if(last)heavi_count++; - - return vext_time; -} - -void H_TDDFT_pw::prepare(const ModuleBase::Matrix3& G, int& dir) -{ - if (dir == 1) - { - bvec[0] = G.e11; - bvec[1] = G.e12; - bvec[2] = G.e13; - } - else if (dir == 2) - { - bvec[0] = G.e21; - bvec[1] = G.e22; - bvec[2] = G.e23; - } - else if (dir == 3) - { - bvec[0] = G.e31; - bvec[1] = G.e32; - bvec[2] = G.e33; - } - else + if (last) { - ModuleBase::WARNING_QUIT("H_TDDFT_pw::prepare", "direction is wrong!"); + heavi_count++; } - bmod = sqrt(pow(bvec[0], 2) + pow(bvec[1], 2) + pow(bvec[2], 2)); + + return vext_time; } void H_TDDFT_pw::compute_force(const UnitCell& cell, ModuleBase::matrix& fe) @@ -526,16 +479,14 @@ void H_TDDFT_pw::compute_force(const UnitCell& cell, ModuleBase::matrix& fe) { for (int ia = 0; ia < cell.atoms[it].na; ++ia) { - for (int jj = 0; jj < 3; ++jj) + for (int direc = 0; direc < 3; ++direc) { // No need to multiply ModuleBase::e2, since the unit of force is Ry/Bohr - fe(iat, jj) - = (std::abs(bmod) > 1e-10 ? global_vext_time[jj] * cell.atoms[it].ncpp.zv * bvec[jj] / bmod : 0); + fe(iat, direc) = global_vext_time[direc] * cell.atoms[it].ncpp.zv; } ++iat; } } } -} // namespace elecstate - +} // namespace elecstate \ No newline at end of file diff --git a/source/source_estate/module_pot/H_TDDFT_pw.h b/source/source_estate/module_pot/H_TDDFT_pw.h index 6c69d63566..8f2064eb35 100644 --- a/source/source_estate/module_pot/H_TDDFT_pw.h +++ b/source/source_estate/module_pot/H_TDDFT_pw.h @@ -1,9 +1,9 @@ #ifndef H_TDDFT_PW_H #define H_TDDFT_PW_H +#include "pot_base.h" #include "source_io/input_conv.h" #include "source_io/module_parameter/parameter.h" // PARAM.globalv.global_readin_dir, PARAM.inp.mdp.md_restart -#include "pot_base.h" namespace elecstate { @@ -40,22 +40,21 @@ class H_TDDFT_pw : public PotBase void cal_fixed_v(double* vl_pseudo) override; /** - * @brief compute force of electric field + * @brief Compute ionic force of electric field * - * @param[in] cell information of cell - * @param[out] fe force of electric field F=qE + * @param[in] cell Information of cell + * @param[out] fe Force of electric field F = qE */ static void compute_force(const UnitCell& cell, ModuleBase::matrix& fe); // parameters - static int stype; // 0 : length gauge 1: velocity gauge + static int stype; // 0: length gauge; 1: velocity gauge; 2: hybrid gauge static std::vector ttype; - // 0 Gauss type function. - // 1 trapezoid type function. - // 2 Trigonometric functions, sin^2. - // 3 heaviside function. - // 4 HHG function. + // 0: Gaussian type function. + // 1: Trapezoid type function. + // 2: Trigonometric functions, sin^2. + // 3: Heaviside step function. static int tstart; static int tend; @@ -64,18 +63,18 @@ class H_TDDFT_pw : public PotBase static double dt_int; static int istep_int; - // space domain parameters + // Space domain parameters // length gauge static double lcut1; static double lcut2; - // velocity gauge, vector magnetic potential + // velocity gauge, vector potential static ModuleBase::Vector3 At; static ModuleBase::Vector3 At_laststep; static ModuleBase::Vector3 Et; - // time domain parameters + // Time domain parameters // Gauss static int gauss_count; @@ -84,11 +83,11 @@ class H_TDDFT_pw : public PotBase static std::vector gauss_sigma; // time(a.u.) static std::vector gauss_t0; static std::vector gauss_amp; // Ry/bohr - // add for velocity gauge, recut dt into n pieces to make sure the integral is accurate Enough - // must be even, thus would get odd number of points for simpson integral + // add for velocity gauge, recut dt into n pieces to make sure the integral is accurate enough + // must be even, thus would get odd number of points for Simpson integral static std::vector gauss_ncut; - // trapezoid + // Trapezoid static int trape_count; static std::vector trape_omega; // time(a.u.)^-1 static std::vector trape_phase; @@ -96,7 +95,7 @@ class H_TDDFT_pw : public PotBase static std::vector trape_t2; static std::vector trape_t3; static std::vector trape_amp; // Ry/bohr - // add for velocity gauge, recut dt into n pieces to make sure the integral is accurate Enough + // add for velocity gauge, recut dt into n pieces to make sure the integral is accurate enough static std::vector trape_ncut; // Trigonometric @@ -106,7 +105,7 @@ class H_TDDFT_pw : public PotBase static std::vector trigo_phase1; static std::vector trigo_phase2; static std::vector trigo_amp; // Ry/bohr - // add for velocity gauge, recut dt into n pieces to make sure the integral is accurate Enough + // add for velocity gauge, recut dt into n pieces to make sure the integral is accurate enough static std::vector trigo_ncut; // Heaviside @@ -118,44 +117,33 @@ class H_TDDFT_pw : public PotBase static void update_At(); private: - // internal time-step, - //-------hypothesis------- - // Vext will evolve by time, every time cal_fixed_v() is called, istep++ - //------------------------ static int istep; static bool is_initialized; // static flag variable, used to ensure initialization only once static double amp; static vector global_vext_time; - static double bmod; - static double bvec[3]; - const UnitCell* ucell_ = nullptr; // Obtain the current MD step information, used for restart calculation void current_step_info(const std::string& file_dir, int& istep); - // potential of electric field in space domain : length gauge and velocity gauge + // Potential of electric field in space domain: for length gauge only void cal_v_space(std::vector& vext_space, int direc); void cal_v_space_length(std::vector& vext_space, int direc); double cal_v_space_length_potential(double i); - // potential of electric field in time domain : Gauss , trapezoid, trigonometric, heaviside, HHG + // Potential of electric field in time domain: Gaussian, trapezoid, trigonometric, Heaviside static double cal_v_time(int t_type, const bool last); static double cal_v_time_Gauss(const bool last); static double cal_v_time_trapezoid(const bool last); static double cal_v_time_trigonometric(const bool last); static double cal_v_time_heaviside(const bool last); - // double cal_v_time_HHG(); - // get ncut number for At integral + // Get ncut number for At integral static int check_ncut(int t_type); - - void prepare(const ModuleBase::Matrix3& G, int& dir); }; } // namespace elecstate #endif - diff --git a/source/source_estate/module_pot/efield.cpp b/source/source_estate/module_pot/efield.cpp index c51b6262ac..2e9676d9d4 100644 --- a/source/source_estate/module_pot/efield.cpp +++ b/source/source_estate/module_pot/efield.cpp @@ -227,7 +227,7 @@ double Efield::cal_induced_dipole(const UnitCell& cell, Parallel_Reduce::reduce_pool(induced_dipole); induced_dipole *= cell.lat0 / bmod * ModuleBase::FOUR_PI / rho_basis->nxyz; - + delete[] induced_rho; return induced_dipole; } @@ -360,4 +360,4 @@ void Efield::autoset(std::vector& pos) ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, "Autoset efield_pos_dec", efield_pos_dec); } -} // namespace elecstate \ No newline at end of file +} // namespace elecstate diff --git a/source/source_estate/module_pot/pot_local_paw.cpp b/source/source_estate/module_pot/pot_local_paw.cpp deleted file mode 100644 index 03dab7d59e..0000000000 --- a/source/source_estate/module_pot/pot_local_paw.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "pot_local_paw.h" - -#include "source_base/timer.h" -#include "source_base/tool_title.h" - -#include - -namespace elecstate -{ - -//========================================================== -// This routine computes the local potential in real space -//========================================================== -void PotLocal_PAW::cal_fixed_v(double *vl_pseudo // store the local pseudopotential -) -{ - ModuleBase::TITLE("PotLocal_PAW", "cal_fixed_v"); - ModuleBase::timer::tick("PotLocal_PAW", "cal_fixed_v"); - - // GlobalV::ofs_running <<" set local pseudopotential done." << std::endl; - ModuleBase::timer::tick("PotLocal_PAW", "cal_fixed_v"); - return; -} - -} // namespace elecstate \ No newline at end of file diff --git a/source/source_estate/module_pot/pot_local_paw.h b/source/source_estate/module_pot/pot_local_paw.h deleted file mode 100644 index 7399827c33..0000000000 --- a/source/source_estate/module_pot/pot_local_paw.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef POTLOCALPAW_H -#define POTLOCALPAW_H - -#include "source_base/matrix.h" -#include "pot_base.h" - -namespace elecstate -{ - -class PotLocal_PAW : public PotBase -{ - public: - PotLocal_PAW() - { - this->fixed_mode = true; - this->dynamic_mode = false; - } - - void cal_fixed_v(double* vl_pseudo) override; -}; - -} // namespace elecstate - -#endif \ No newline at end of file diff --git a/source/source_estate/module_pot/pot_sep.cpp b/source/source_estate/module_pot/pot_sep.cpp new file mode 100644 index 0000000000..e3c4bb0696 --- /dev/null +++ b/source/source_estate/module_pot/pot_sep.cpp @@ -0,0 +1,28 @@ +#include "pot_sep.h" + +#include "source_base/timer.h" +#include "source_base/tool_title.h" + +namespace elecstate +{ +void PotSep::cal_fixed_v(double* vl_pseudo) +{ + ModuleBase::TITLE("PotSep", "cal_fixed_v"); + ModuleBase::timer::tick("PotSep", "cal_fixed_v"); + + // GlobalC::vsep_cell.generate_vsep_r(this->rho_basis_[0], this->sf_[0]); + + // const_cast(this->vsep_)->generate_vsep_r(this->rho_basis_[0], this->sf_[0]); + + if (vsep_cell != nullptr) + { + for (int ir = 0; ir < this->rho_basis_->nrxx; ++ir) + { + vl_pseudo[ir] += vsep_cell->vsep_r[ir]; + } + } + + ModuleBase::timer::tick("PotSep", "cal_fixed_v"); + return; +} +} // namespace elecstate diff --git a/source/source_estate/module_pot/pot_sep.h b/source/source_estate/module_pot/pot_sep.h new file mode 100644 index 0000000000..fce110cb40 --- /dev/null +++ b/source/source_estate/module_pot/pot_sep.h @@ -0,0 +1,47 @@ +#ifndef POTSEP_H +#define POTSEP_H + +#include "pot_base.h" +#include "source_base/matrix.h" +#include "source_pw/module_pwdft/VSep_in_pw.h" + +namespace elecstate +{ + +class PotSep : public PotBase +{ + public: + // PotSep(const ModuleBase::matrix* vsep_in, + // const ModuleBase::ComplexMatrix* sf_in, + // const ModulePW::PW_Basis* rho_basis_in, + // const bool* sep_enable_in) + // : vsep_(vsep_in), sf_(sf_in), sep_enable_(sep_enable_in) + // { + // assert(this->vsep_->nr == this->sf_->nr); + // this->rho_basis_ = rho_basis_in; + // this->ntype_ = this->vsep_->nr; + // this->fixed_mode = true; + // this->dynamic_mode = false; + // } + PotSep(const ModuleBase::ComplexMatrix* sf_in, const ModulePW::PW_Basis* rho_basis_in, const VSep* vsep_cell_in) + : sf_(sf_in), vsep_cell(vsep_cell_in) + { + assert(vsep_cell->vsep_form.nr == this->sf_->nr); + // assert(this->vsep_->vsep_form.nr == this->sf_->nr); + this->rho_basis_ = rho_basis_in; + // this->ntype_ = this->vsep_->vsep_form.nr; + this->fixed_mode = true; + this->dynamic_mode = false; + } + + void cal_fixed_v(double* vl_pseudo) override; + + const VSep* vsep_cell = nullptr; + const ModuleBase::ComplexMatrix* sf_ = nullptr; + // int ntype_ = 0; + // const bool* sep_enable_; +}; + +} // namespace elecstate + +#endif /* ifndef POTSEP_H */ diff --git a/source/source_estate/module_pot/pot_surchem.hpp b/source/source_estate/module_pot/pot_surchem.hpp index 3ccb4960dc..dc06e60fd4 100644 --- a/source/source_estate/module_pot/pot_surchem.hpp +++ b/source/source_estate/module_pot/pot_surchem.hpp @@ -31,6 +31,7 @@ class PotSurChem : public PotBase } } + // Passing an explicit output matrix makes the lifetime and allocation explicit and avoids hidden allocations. void cal_v_eff(const Charge*const chg, const UnitCell*const ucell, ModuleBase::matrix& v_eff) override { if (!this->allocated) @@ -38,14 +39,16 @@ class PotSurChem : public PotBase this->surchem_->allocate(this->rho_basis_->nrxx, v_eff.nr); this->allocated = true; } - - v_eff += this->surchem_->v_correction(*ucell, - *chg->pgrid, - const_cast(this->rho_basis_), - v_eff.nr, - chg->rho, - this->vlocal, - this->structure_factors_); + ModuleBase::matrix v_sol_correction(v_eff.nr, this->rho_basis_->nrxx); + this->surchem_->v_correction(*ucell, + *chg->pgrid, + const_cast(this->rho_basis_), + v_eff.nr, + chg->rho, + this->vlocal, + this->structure_factors_, + v_sol_correction); + v_eff += v_sol_correction; } private: diff --git a/source/source_estate/module_pot/potential_new.cpp b/source/source_estate/module_pot/potential_new.cpp index 3b34e0d026..9026cd6b48 100644 --- a/source/source_estate/module_pot/potential_new.cpp +++ b/source/source_estate/module_pot/potential_new.cpp @@ -21,8 +21,10 @@ Potential::Potential(const ModulePW::PW_Basis* rho_basis_in, Structure_Factor* structure_factors_in, surchem* solvent_in, double* etxc_in, - double* vtxc_in) - : ucell_(ucell_in), vloc_(vloc_in), structure_factors_(structure_factors_in), solvent_(solvent_in), etxc_(etxc_in), + double* vtxc_in, + VSep* vsep_cell_in) + : ucell_(ucell_in), vloc_(vloc_in), structure_factors_(structure_factors_in), + solvent_(solvent_in), vsep_cell(vsep_cell_in), etxc_(etxc_in), vtxc_(vtxc_in) { this->rho_basis_ = rho_basis_in; @@ -80,7 +82,6 @@ void Potential::pot_register(const std::vector& components_list) { PotBase* tmp = this->get_pot_type(comp); this->components.push_back(tmp); - // GlobalV::ofs_running << "Successful completion of Potential's registration : " << comp << std::endl; } // after register, reset fixed_done to false @@ -92,53 +93,58 @@ void Potential::pot_register(const std::vector& components_list) void Potential::allocate() { ModuleBase::TITLE("Potential", "allocate"); - int nrxx = this->rho_basis_->nrxx; - int nrxx_smooth = this->rho_basis_smooth_->nrxx; - if (nrxx == 0) + + const int nspin = PARAM.inp.nspin; + assert(nspin==1 || nspin==2 || nspin==4); + + const int nrxx = this->rho_basis_->nrxx; + const int nrxx_smooth = this->rho_basis_smooth_->nrxx; + + if (nrxx == 0) { return; } - if (nrxx_smooth == 0) + if (nrxx_smooth == 0) { return; } - this->v_effective_fixed.resize(nrxx); + this->v_eff_fixed.resize(nrxx); ModuleBase::Memory::record("Pot::veff_fix", sizeof(double) * nrxx); - this->v_effective.create(PARAM.inp.nspin, nrxx); - ModuleBase::Memory::record("Pot::veff", sizeof(double) * PARAM.inp.nspin * nrxx); + this->v_eff.create(nspin, nrxx); + ModuleBase::Memory::record("Pot::veff", sizeof(double) * nspin * nrxx); - this->veff_smooth.create(PARAM.inp.nspin, nrxx_smooth); - ModuleBase::Memory::record("Pot::veff_smooth", sizeof(double) * PARAM.inp.nspin * nrxx_smooth); + this->veff_smooth.create(nspin, nrxx_smooth); + ModuleBase::Memory::record("Pot::veff_smooth", sizeof(double) * nspin * nrxx_smooth); if (XC_Functional::get_ked_flag()) { - this->vofk_effective.create(PARAM.inp.nspin, nrxx); - ModuleBase::Memory::record("Pot::vofk", sizeof(double) * PARAM.inp.nspin * nrxx); + this->vofk_eff.create(nspin, nrxx); + ModuleBase::Memory::record("Pot::vofk", sizeof(double) * nspin * nrxx); - this->vofk_smooth.create(PARAM.inp.nspin, nrxx_smooth); - ModuleBase::Memory::record("Pot::vofk_smooth", sizeof(double) * PARAM.inp.nspin * nrxx_smooth); + this->vofk_smooth.create(nspin, nrxx_smooth); + ModuleBase::Memory::record("Pot::vofk_smooth", sizeof(double) * nspin * nrxx_smooth); } if (use_gpu_) { if (PARAM.globalv.has_float_data) { - resmem_sd_op()(s_veff_smooth, PARAM.inp.nspin * nrxx_smooth); - resmem_sd_op()(s_vofk_smooth, PARAM.inp.nspin * nrxx_smooth); + resmem_sd_op()(s_veff_smooth, nspin * nrxx_smooth); + resmem_sd_op()(s_vofk_smooth, nspin * nrxx_smooth); } if (PARAM.globalv.has_double_data) { - resmem_dd_op()(d_veff_smooth, PARAM.inp.nspin * nrxx_smooth); - resmem_dd_op()(d_vofk_smooth, PARAM.inp.nspin * nrxx_smooth); + resmem_dd_op()(d_veff_smooth, nspin * nrxx_smooth); + resmem_dd_op()(d_vofk_smooth, nspin * nrxx_smooth); } } else { if (PARAM.globalv.has_float_data) { - resmem_sh_op()(s_veff_smooth, PARAM.inp.nspin * nrxx_smooth, "POT::sveff_smooth"); - resmem_sh_op()(s_vofk_smooth, PARAM.inp.nspin * nrxx_smooth, "POT::svofk_smooth"); + resmem_sh_op()(s_veff_smooth, nspin * nrxx_smooth, "POT::sveff_smooth"); + resmem_sh_op()(s_vofk_smooth, nspin * nrxx_smooth, "POT::svofk_smooth"); } if (PARAM.globalv.has_double_data) { @@ -156,11 +162,11 @@ void Potential::update_from_charge(const Charge*const chg, const UnitCell*const if (!this->fixed_done) { - this->cal_fixed_v(this->v_effective_fixed.data()); + this->cal_fixed_v(this->v_eff_fixed.data()); this->fixed_done = true; } - this->cal_v_eff(chg, ucell, this->v_effective); + this->cal_v_eff(chg, ucell, this->v_eff); // interpolate potential on the smooth mesh if necessary this->interpolate_vrs(); @@ -196,7 +202,7 @@ void Potential::cal_fixed_v(double* vl_pseudo) ModuleBase::TITLE("Potential", "cal_fixed_v"); ModuleBase::timer::tick("Potential", "cal_fixed_v"); - this->v_effective_fixed.assign(this->v_effective_fixed.size(), 0.0); + this->v_eff_fixed.assign(this->v_eff_fixed.size(), 0.0); for (size_t i = 0; i < this->components.size(); i++) { if (this->components[i]->fixed_mode) @@ -213,10 +219,10 @@ void Potential::cal_v_eff(const Charge*const chg, const UnitCell*const ucell, Mo ModuleBase::TITLE("Potential", "cal_veff"); ModuleBase::timer::tick("Potential", "cal_veff"); - const int nspin_current = this->v_effective.nr; - const int nrxx = this->v_effective.nc; - // first of all, set v_effective to zero. - this->v_effective.zero_out(); + const int nspin_current = this->v_eff.nr; + const int nrxx = this->v_eff.nc; + // first of all, set v_eff to zero. + this->v_eff.zero_out(); // add fixed potential components // nspin = 2, add fixed components for all @@ -225,11 +231,11 @@ void Potential::cal_v_eff(const Charge*const chg, const UnitCell*const ucell, Mo { if (i == 0 || nspin_current == 2) { - ModuleBase::GlobalFunc::COPYARRAY(this->v_effective_fixed.data(), this->get_effective_v(i), nrxx); + ModuleBase::GlobalFunc::COPYARRAY(this->v_eff_fixed.data(), this->get_eff_v(i), nrxx); } } - // cal effective by every components + // cal eff by every components for (size_t i = 0; i < this->components.size(); i++) { if (this->components[i]->dynamic_mode) @@ -241,12 +247,11 @@ void Potential::cal_v_eff(const Charge*const chg, const UnitCell*const ucell, Mo ModuleBase::timer::tick("Potential", "cal_veff"); } -void Potential::init_pot(int istep, const Charge*const chg) +void Potential::init_pot(const Charge*const chg) { ModuleBase::TITLE("Potential", "init_pot"); ModuleBase::timer::tick("Potential", "init_pot"); - assert(istep >= 0); // fixed components only calculated in the beginning of SCF this->fixed_done = false; @@ -259,52 +264,55 @@ void Potential::init_pot(int istep, const Charge*const chg) void Potential::get_vnew(const Charge* chg, ModuleBase::matrix& vnew) { ModuleBase::TITLE("Potential", "get_vnew"); - vnew.create(this->v_effective.nr, this->v_effective.nc); - vnew = this->v_effective; + vnew.create(this->v_eff.nr, this->v_eff.nc); + vnew = this->v_eff; this->update_from_charge(chg, this->ucell_); //(used later for scf correction to the forces ) for (int iter = 0; iter < vnew.nr * vnew.nc; ++iter) { - vnew.c[iter] = this->v_effective.c[iter] - vnew.c[iter]; + vnew.c[iter] = this->v_eff.c[iter] - vnew.c[iter]; } return; } -void Potential::interpolate_vrs() +void Potential::interpolate_vrs(void) { ModuleBase::TITLE("Potential", "interpolate_vrs"); ModuleBase::timer::tick("Potential", "interpolate_vrs"); - if ( PARAM.globalv.double_grid) + const int nspin = PARAM.inp.nspin; + assert(nspin==1 || nspin==2 || nspin==4); + + if (PARAM.globalv.double_grid) { if (rho_basis_->gamma_only != rho_basis_smooth_->gamma_only) { ModuleBase::WARNING_QUIT("Potential::interpolate_vrs", "gamma_only is not consistent"); } - ModuleBase::ComplexMatrix vrs(PARAM.inp.nspin, rho_basis_->npw); - for (int is = 0; is < PARAM.inp.nspin; is++) + ModuleBase::ComplexMatrix vrs(nspin, rho_basis_->npw); + for (int is = 0; is < nspin; is++) { - rho_basis_->real2recip(&v_effective(is, 0), &vrs(is, 0)); + rho_basis_->real2recip(&v_eff(is, 0), &vrs(is, 0)); rho_basis_smooth_->recip2real(&vrs(is, 0), &veff_smooth(is, 0)); } if (XC_Functional::get_ked_flag()) { - ModuleBase::ComplexMatrix vrs_ofk(PARAM.inp.nspin, rho_basis_->npw); - for (int is = 0; is < PARAM.inp.nspin; is++) + ModuleBase::ComplexMatrix vrs_ofk(nspin, rho_basis_->npw); + for (int is = 0; is < nspin; is++) { - rho_basis_->real2recip(&vofk_effective(is, 0), &vrs_ofk(is, 0)); + rho_basis_->real2recip(&vofk_eff(is, 0), &vrs_ofk(is, 0)); rho_basis_smooth_->recip2real(&vrs_ofk(is, 0), &vofk_smooth(is, 0)); } } } else { - this->veff_smooth = this->v_effective; - this->vofk_smooth = this->vofk_effective; + this->veff_smooth = this->v_eff; + this->vofk_smooth = this->vofk_eff; } ModuleBase::timer::tick("Potential", "interpolate_vrs"); diff --git a/source/source_estate/module_pot/potential_new.h b/source/source_estate/module_pot/potential_new.h index ec72daaae5..4aaadf698b 100644 --- a/source/source_estate/module_pot/potential_new.h +++ b/source/source_estate/module_pot/potential_new.h @@ -4,6 +4,7 @@ #include "source_base/complexmatrix.h" #include "source_hamilt/module_surchem/surchem.h" #include "source_pw/module_pwdft/VNL_in_pw.h" +#include "source_pw/module_pwdft/VSep_in_pw.h" #include "source_pw/module_pwdft/structure_factor.h" #include "pot_base.h" @@ -17,7 +18,7 @@ namespace elecstate * 2. Func init_pot() * a. need istep for update_for_tddft(); * b. need Charge for update_from_charge(); - * c. it will reset fixed_done to false, v_effective_fixed will be calculated; + * c. it will reset fixed_done to false, v_eff_fixed will be calculated; * d. it should be called after Charge is initialized; * e. it can only be called once in one SCF loop * 3. Func pot_register() and components @@ -29,8 +30,8 @@ namespace elecstate * f. "efield", PotEfield introduces electronic field including dipole correction part of potentials; * g. "gatefield", PotGate introduces gate field part of potentials; * 4. Func update_from_charge() - * a. regenerate v_effective - * b. if Meta-GGA is choosed, it will regenerate vofk_effective + * a. regenerate v_eff + * b. if Meta-GGA is choosed, it will regenerate vofk_eff * 5. Func update_for_tddft() * a. in principle, it should be added to components, but it related to real time(istep) * b. it should be called after update_from_charge() as a compensation; @@ -40,9 +41,9 @@ namespace elecstate * 2. use the final delta_V_eff for calculating force correction * 7. Func write_potential() * 8. Func write_elecstat_pot() - * 9. interfaces for v_effective_fixed/v_effective/vofk_effective + * 9. interfaces for v_eff_fixed/v_eff/vofk_eff * 10. Func interpolate_vrs() - * a. interpolate v_effective on the smooth mesh + * a. interpolate v_eff on the smooth mesh */ class Potential : public PotBase { @@ -52,7 +53,7 @@ class Potential : public PotBase // In constructor, size of every potential components should be allocated // rho_basis_in is the dense grids, rho_basis_smooth_in is the smooth grids in USPP // charge density and potential are defined on dense grids, - // but effective potential needs to be interpolated on smooth grids in order to compute Veff|psi> + // but eff potential needs to be interpolated on smooth grids in order to compute Veff|psi> // Note: rho_basis_in and rho_basis_smooth_in are the same in NCPP Potential(const ModulePW::PW_Basis* rho_basis_in, const ModulePW::PW_Basis* rho_basis_smooth_in, @@ -61,11 +62,12 @@ class Potential : public PotBase Structure_Factor* structure_factors_in, surchem* solvent_in, double* etxc_in, - double* vtxc_in); + double* vtxc_in, + VSep* vsep_cell_in = nullptr); ~Potential(); // initialize potential when SCF begin - void init_pot(int istep, const Charge*const chg); + void init_pot(const Charge*const chg); // initialize potential components before SCF void pot_register(const std::vector& components_list); // update potential from current charge @@ -76,61 +78,61 @@ class Potential : public PotBase PotBase* get_pot_type(const std::string& pot_type); // interfaces to get values - ModuleBase::matrix& get_effective_v() + ModuleBase::matrix& get_eff_v() { - return this->v_effective; + return this->v_eff; } - const ModuleBase::matrix& get_effective_v() const + const ModuleBase::matrix& get_eff_v() const { - return this->v_effective; + return this->v_eff; } - double* get_effective_v(int is) + double* get_eff_v(int is) { - if (this->v_effective.nc > 0) + if (this->v_eff.nc > 0) { - return &(this->v_effective(is, 0)); + return &(this->v_eff(is, 0)); } else { return nullptr; } } - const double* get_effective_v(int is) const + const double* get_eff_v(int is) const { - if (this->v_effective.nc > 0) + if (this->v_eff.nc > 0) { - return &(this->v_effective(is, 0)); + return &(this->v_eff(is, 0)); } else { return nullptr; } } - ModuleBase::matrix& get_effective_vofk() + ModuleBase::matrix& get_eff_vofk() { - return this->vofk_effective; + return this->vofk_eff; } - const ModuleBase::matrix& get_effective_vofk() const + const ModuleBase::matrix& get_eff_vofk() const { - return this->vofk_effective; + return this->vofk_eff; } - double* get_effective_vofk(int is) + double* get_eff_vofk(int is) { - if (this->vofk_effective.nc > 0) + if (this->vofk_eff.nc > 0) { - return &(this->vofk_effective(is, 0)); + return &(this->vofk_eff(is, 0)); } else { return nullptr; } } - const double* get_effective_vofk(int is) const + const double* get_eff_vofk(int is) const { - if (this->vofk_effective.nc > 0) + if (this->vofk_eff.nc > 0) { - return &(this->vofk_effective(is, 0)); + return &(this->vofk_eff(is, 0)); } else { @@ -164,17 +166,17 @@ class Potential : public PotBase double* get_fixed_v() { - return this->v_effective_fixed.data(); + return this->v_eff_fixed.data(); } const double* get_fixed_v() const { - return this->v_effective_fixed.data(); + return this->v_eff_fixed.data(); } const ModulePW::PW_Basis *get_rho_basis() const { return this->rho_basis_; } - // What about adding a function to get the wfc? + // What about adding a function to get the wfc? // This is useful for the calculation of the exx energy @@ -193,18 +195,20 @@ class Potential : public PotBase void allocate(); - std::vector v_effective_fixed; - ModuleBase::matrix v_effective; + std::vector v_eff_fixed; + ModuleBase::matrix v_eff; ModuleBase::matrix veff_smooth; // used in uspp liuyu 2023-10-12 ModuleBase::matrix vofk_smooth; // used in uspp liuyu 2023-10-12 ModuleBase::matrix v_xc; // if PAW is used, vxc must be stored separately - float *s_veff_smooth = nullptr, *s_vofk_smooth = nullptr; - double *d_veff_smooth = nullptr, *d_vofk_smooth = nullptr; + float *s_veff_smooth = nullptr; + float *s_vofk_smooth = nullptr; + double *d_veff_smooth = nullptr; + double *d_vofk_smooth = nullptr; - ModuleBase::matrix vofk_effective; + ModuleBase::matrix vofk_eff; bool fixed_done = false; @@ -220,9 +224,10 @@ class Potential : public PotBase const ModuleBase::matrix* vloc_ = nullptr; Structure_Factor* structure_factors_ = nullptr; surchem* solvent_ = nullptr; + VSep* vsep_cell = nullptr; bool use_gpu_ = false; }; } // namespace elecstate -#endif \ No newline at end of file +#endif diff --git a/source/source_estate/module_pot/potential_types.cpp b/source/source_estate/module_pot/potential_types.cpp index 9153dd4203..ba74f5143e 100644 --- a/source/source_estate/module_pot/potential_types.cpp +++ b/source/source_estate/module_pot/potential_types.cpp @@ -12,7 +12,7 @@ #include "pot_surchem.hpp" #include "pot_xc.h" #include "potential_new.h" -#include "pot_local_paw.h" +#include "pot_sep.h" #ifdef __LCAO #include "H_TDDFT_pw.h" #endif @@ -33,13 +33,13 @@ PotBase* Potential::get_pot_type(const std::string& pot_type) } else if (pot_type == "xc") { - return new PotXC(this->rho_basis_, this->etxc_, this->vtxc_, &(this->vofk_effective)); + return new PotXC(this->rho_basis_, this->etxc_, this->vtxc_, &(this->vofk_eff)); } else if (pot_type == "surchem") { return new PotSurChem(this->rho_basis_, this->structure_factors_, - this->v_effective_fixed.data(), + this->v_eff_fixed.data(), this->solvent_); } else if (pot_type == "efield") @@ -56,6 +56,9 @@ PotBase* Potential::get_pot_type(const std::string& pot_type) return new H_TDDFT_pw(this->rho_basis_, this->ucell_); } #endif + else if (pot_type == "dfthalf") { + return new PotSep(&(this->structure_factors_->strucFac), this->rho_basis_, this->vsep_cell); + } else { ModuleBase::WARNING_QUIT("Potential::get_pot_type", "Please input correct component of potential!"); @@ -63,4 +66,4 @@ PotBase* Potential::get_pot_type(const std::string& pot_type) } } -} // namespace elecstate \ No newline at end of file +} // namespace elecstate diff --git a/source/source_estate/setup_estate_pw.cpp b/source/source_estate/setup_estate_pw.cpp new file mode 100644 index 0000000000..5daa7be1b5 --- /dev/null +++ b/source/source_estate/setup_estate_pw.cpp @@ -0,0 +1,186 @@ +#include "source_estate/setup_estate_pw.h" +#include "source_estate/elecstate_pw.h" // init of pelec +#include "source_estate/elecstate_pw_sdft.h" // init of pelec for sdft +#include "source_estate/elecstate_tools.h" // occupations + +template +void elecstate::setup_estate_pw(UnitCell& ucell, // unitcell + K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState* &pelec, // pointer of electrons + Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + VSep* &vsep_cell, // U-1/2 method + ModulePW::PW_Basis_K* pw_wfc, // pw for wfc + ModulePW::PW_Basis* pw_rho, // pw for rho + ModulePW::PW_Basis* pw_rhod, // pw for rhod + ModulePW::PW_Basis_Big* pw_big, // pw for big grid + surchem &solvent, // solvent + const Input_para& inp) // input parameters +{ + ModuleBase::TITLE("elecstate", "setup_estate_pw"); + + //! Initialize ElecState, set pelec pointer + if (pelec == nullptr) + { + if (inp.esolver_type == "sdft") + { + //! SDFT only supports double precision currently + pelec = new elecstate::ElecStatePW_SDFT, Device>(pw_wfc, + &chr, &kv, &ucell, &ppcell, pw_rho, pw_big); + } + else + { + pelec = new elecstate::ElecStatePW(pw_wfc, + &chr, &kv, &ucell, &ppcell, pw_rho, pw_big); + } + } + + //! Initialize DFT-1/2 + if (PARAM.inp.dfthalf_type > 0) + { + vsep_cell = new VSep; + vsep_cell->init_vsep(*pw_rhod, ucell.sep_cell); + } + + //! Initialize the potential. + if (pelec->pot == nullptr) + { + pelec->pot = new elecstate::Potential(pw_rhod, + pw_rho, &ucell, &locpp.vloc, &sf, + &solvent, &(pelec->f_en.etxc), &(pelec->f_en.vtxc), vsep_cell); + } + + //! Initalize local pseudopotential + locpp.init_vloc(ucell, pw_rhod); + ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "LOCAL POTENTIAL"); + + //! Initalize non-local pseudopotential + ppcell.init(ucell, &sf, pw_wfc); + ppcell.init_vnl(ucell, pw_rhod); + ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "NON-LOCAL POTENTIAL"); + + //! Setup occupations + if (inp.ocp) + { + elecstate::fixed_weights(inp.ocp_kb, + inp.nbands, + inp.nelec, + pelec->klist, + pelec->wg, + pelec->skip_weights); + } + + return; +} + + +template +void elecstate::teardown_estate_pw(elecstate::ElecState* &pelec, VSep* &vsep_cell) +{ + ModuleBase::TITLE("elecstate", "teardown_estate_pw"); + + if (vsep_cell != nullptr) + { + delete vsep_cell; + } + + // mohan update 20251005 to increase the security level + if (pelec != nullptr) + { + auto* pw_elec = dynamic_cast*>(pelec); + if (pw_elec) + { + delete pw_elec; + pelec = nullptr; + } + else + { + ModuleBase::WARNING_QUIT("elecstate::teardown_estate_pw", "Invalid ElecState type"); + } + } +} + + +template void elecstate::setup_estate_pw, base_device::DEVICE_CPU>( + UnitCell& ucell, // unitcell + K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState* &pelec, // pointer of electrons + Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + VSep* &vsep_cell, // U-1/2 method + ModulePW::PW_Basis_K *pw_wfc, // pw for wfc + ModulePW::PW_Basis *pw_rho, // pw for rho + ModulePW::PW_Basis *pw_rhod, // pw for rhod + ModulePW::PW_Basis_Big* pw_big, // pw for big grid + surchem &solvent, // solvent + const Input_para& inp); // input parameters + +template void elecstate::setup_estate_pw, base_device::DEVICE_CPU>( + UnitCell& ucell, // unitcell + K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState* &pelec, // pointer of electrons + Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + VSep* &vsep_cell, // U-1/2 method + ModulePW::PW_Basis_K *pw_wfc, // pw for wfc + ModulePW::PW_Basis *pw_rho, // pw for rho + ModulePW::PW_Basis *pw_rhod, // pw for rhod + ModulePW::PW_Basis_Big* pw_big, // pw for big grid + surchem &solvent, // solvent + const Input_para& inp); // input parameters + + +template void elecstate::teardown_estate_pw, base_device::DEVICE_CPU>( + elecstate::ElecState* &pelec, VSep* &vsep_cell); + +template void elecstate::teardown_estate_pw, base_device::DEVICE_CPU>( + elecstate::ElecState* &pelec, VSep* &vsep_cell); + + +#if ((defined __CUDA) || (defined __ROCM)) + +template void elecstate::setup_estate_pw, base_device::DEVICE_GPU>( + UnitCell& ucell, // unitcell + K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState* &pelec, // pointer of electrons + Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + VSep* &vsep_cell, // U-1/2 method + ModulePW::PW_Basis_K *pw_wfc, // pw for wfc + ModulePW::PW_Basis *pw_rho, // pw for rho + ModulePW::PW_Basis *pw_rhod, // pw for rhod + ModulePW::PW_Basis_Big* pw_big, // pw for big grid + surchem &solvent, // solvent + const Input_para& inp); // input parameters + +template void elecstate::setup_estate_pw, base_device::DEVICE_GPU>( + UnitCell& ucell, // unitcell + K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState* &pelec, // pointer of electrons + Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + VSep* &vsep_cell, // U-1/2 method + ModulePW::PW_Basis_K *pw_wfc, // pw for wfc + ModulePW::PW_Basis *pw_rho, // pw for rho + ModulePW::PW_Basis *pw_rhod, // pw for rhod + ModulePW::PW_Basis_Big* pw_big, // pw for big grid + surchem &solvent, // solvent + const Input_para& inp); // input parameters + +template void elecstate::teardown_estate_pw, base_device::DEVICE_GPU>( + elecstate::ElecState* &pelec, VSep* &vsep_cell); + +template void elecstate::teardown_estate_pw, base_device::DEVICE_GPU>( + elecstate::ElecState* &pelec, VSep* &vsep_cell); + +#endif diff --git a/source/source_estate/setup_estate_pw.h b/source/source_estate/setup_estate_pw.h new file mode 100644 index 0000000000..44864ad588 --- /dev/null +++ b/source/source_estate/setup_estate_pw.h @@ -0,0 +1,37 @@ +#ifndef SETUP_ESTATE_PW_H +#define SETUP_ESTATE_PW_H + +#include "source_base/module_device/device.h" // use Device +#include "source_cell/unitcell.h" +#include "source_cell/klist.h" +#include "source_pw/module_pwdft/structure_factor.h" +#include "source_estate/elecstate.h" +#include "source_pw/module_pwdft/VL_in_pw.h" +#include "source_pw/module_pwdft/VSep_in_pw.h" + +namespace elecstate +{ + +template +void setup_estate_pw(UnitCell& ucell, // unitcell + K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState* &pelec, // pointer of electrons + Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + VSep* &vsep_cell, // U-1/2 method + ModulePW::PW_Basis_K* pw_wfc, // pw for wfc + ModulePW::PW_Basis* pw_rho, // pw for rho + ModulePW::PW_Basis* pw_rhod, // pw for rhod + ModulePW::PW_Basis_Big* pw_big, // pw for big grid + surchem &solvent, // solvent + const Input_para& inp); // input parameters + +template +void teardown_estate_pw(elecstate::ElecState* &pelec, VSep* &vsep_cell); + +} + + +#endif diff --git a/source/source_estate/test/CMakeLists.txt b/source/source_estate/test/CMakeLists.txt index 2cdcecaef8..f3eddac1a9 100644 --- a/source/source_estate/test/CMakeLists.txt +++ b/source/source_estate/test/CMakeLists.txt @@ -45,6 +45,7 @@ AddTest( TARGET elecstate_base LIBS parameter ${math_libs} base device SOURCES elecstate_base_test.cpp ../elecstate.cpp ../elecstate_tools.cpp ../occupy.cpp ../../source_psi/psi.cpp + ../../source_base/module_fft/fft_bundle.cpp ../../source_base/module_fft/fft_cpu.cpp ) AddTest( @@ -97,7 +98,7 @@ AddTest( TARGET charge_extra LIBS parameter ${math_libs} base device cell_info SOURCES charge_extra_test.cpp ../module_charge/charge_extra.cpp ../../source_io/read_cube.cpp ../../source_io/write_cube.cpp - ../../source_io/output.cpp + ../../source_io/output.cpp ../../source_base/module_fft/fft_bundle.cpp ../../source_base/module_fft/fft_cpu.cpp ) endif() \ No newline at end of file diff --git a/source/source_estate/test/charge_extra_test.cpp b/source/source_estate/test/charge_extra_test.cpp index 350ccd7aa3..c2951c1b5a 100644 --- a/source/source_estate/test/charge_extra_test.cpp +++ b/source/source_estate/test/charge_extra_test.cpp @@ -5,6 +5,7 @@ #include "source_io/module_parameter/parameter.h" #include "source_estate/module_charge/charge_extra.h" #include "prepare_unitcell.h" +#include "source_base/module_fft/fft_bundle.h" #undef private #undef protected // mock functions for UnitCell @@ -66,7 +67,6 @@ PW_Basis::PW_Basis() PW_Basis::~PW_Basis() { } -FFT_Bundle::~FFT_Bundle(){}; void PW_Basis::initgrids(const double lat0_in, const ModuleBase::Matrix3 latvec_in, const double gridecut) { } @@ -89,7 +89,7 @@ Structure_Factor::Structure_Factor() Structure_Factor::~Structure_Factor() { } -void Structure_Factor::setup_structure_factor(const UnitCell*, const Parallel_Grid&, const ModulePW::PW_Basis*) +void Structure_Factor::setup(const UnitCell*, const Parallel_Grid&, const ModulePW::PW_Basis*) { } diff --git a/source/source_estate/test/charge_mixing_test.cpp b/source/source_estate/test/charge_mixing_test.cpp index 0fc96bd29e..a0e03b9911 100644 --- a/source/source_estate/test/charge_mixing_test.cpp +++ b/source/source_estate/test/charge_mixing_test.cpp @@ -619,7 +619,7 @@ TEST_F(ChargeMixingTest, KerkerScreenRecipTest) // kerker CMtest.mixing_gg0 = 1.0; CMtest.Kerker_screen_recip(drhog); - double gg0 = std::pow(0.529177, 2); + double gg0 = std::pow(ModuleBase::BOHR_TO_A, 2); for (int i = 0; i < pw_basis.npw; ++i) { double gg = this->pw_basis.gg[i]; @@ -650,7 +650,7 @@ TEST_F(ChargeMixingTest, KerkerScreenRecipTest) // mixing_gg0 = 1.0, mixing_gg0_mag = 0.0 CMtest.mixing_gg0 = 1.0; CMtest.Kerker_screen_recip(drhog); - gg0 = std::pow(0.529177, 2); + gg0 = std::pow(ModuleBase::BOHR_TO_A, 2); for (int i = 0; i < pw_basis.npw; ++i) { double gg = this->pw_basis.gg[i]; @@ -683,7 +683,7 @@ TEST_F(ChargeMixingTest, KerkerScreenRecipTest) // mixing_gg0 = 1.0, mixing_gg0_mag = 0.0 CMtest.mixing_gg0 = 1.0; CMtest.Kerker_screen_recip(drhog); - gg0 = std::pow(0.529177, 2); + gg0 = std::pow(ModuleBase::BOHR_TO_A, 2); for (int i = 0; i < pw_basis.npw; ++i) { double gg = this->pw_basis.gg[i]; @@ -701,8 +701,8 @@ TEST_F(ChargeMixingTest, KerkerScreenRecipTest) CMtest.mixing_gg0 = 1.0; CMtest.mixing_gg0_mag = 2.0; CMtest.Kerker_screen_recip(drhog); - double gg1 = std::pow(1.0 * 0.529177, 2); - double gg2 = std::pow(2.0 * 0.529177, 2); + double gg1 = std::pow(1.0 * ModuleBase::BOHR_TO_A, 2); + double gg2 = std::pow(2.0 * ModuleBase::BOHR_TO_A, 2); for (int i = 0; i < pw_basis.npw; ++i) { double gg = this->pw_basis.gg[i]; @@ -782,7 +782,7 @@ TEST_F(ChargeMixingTest, KerkerScreenRealTest) CMtest.mixing_gg0 = 1.0; PARAM.input.mixing_gg0_mag = 0.0; CMtest.Kerker_screen_recip(drhog); - const double gg0 = std::pow(0.529177, 2); + const double gg0 = std::pow(ModuleBase::BOHR_TO_A, 2); for (int i = 0; i < pw_basis.npw; ++i) { std::complex ration = drhog[i] / drhog[i+pw_basis.npw]; diff --git a/source/source_estate/test/charge_test.cpp b/source/source_estate/test/charge_test.cpp index de28a5848c..261bcc5e3e 100644 --- a/source/source_estate/test/charge_test.cpp +++ b/source/source_estate/test/charge_test.cpp @@ -117,10 +117,11 @@ TEST_F(ChargeTest, Allocate) XC_Functional::ked_flag = true; charge->set_rhopw(rhopw); EXPECT_FALSE(charge->allocate_rho); - charge->allocate(PARAM.input.nspin); + const bool kin_den = charge->kin_density(); + charge->allocate(PARAM.input.nspin, kin_den); EXPECT_TRUE(charge->allocate_rho); // test if Charge::allocate() be called twice - EXPECT_NO_THROW(charge->allocate(PARAM.input.nspin)); + EXPECT_NO_THROW(charge->allocate(PARAM.input.nspin, kin_den)); EXPECT_TRUE(charge->allocate_rho); } @@ -128,7 +129,8 @@ TEST_F(ChargeTest, SumRho) { charge->set_rhopw(rhopw); EXPECT_FALSE(charge->allocate_rho); - charge->allocate(PARAM.input.nspin); + const bool kin_den = charge->kin_density(); + charge->allocate(PARAM.input.nspin, kin_den); EXPECT_TRUE(charge->allocate_rho); int nspin = (PARAM.input.nspin == 2) ? 2 : 1; for (int is = 0; is < nspin; is++) @@ -146,7 +148,8 @@ TEST_F(ChargeTest, RenormalizeRho) { charge->set_rhopw(rhopw); EXPECT_FALSE(charge->allocate_rho); - charge->allocate(PARAM.input.nspin); + const bool kin_den = charge->kin_density(); + charge->allocate(PARAM.input.nspin, kin_den); EXPECT_TRUE(charge->allocate_rho); int nspin = (PARAM.input.nspin == 2) ? 2 : 1; for (int is = 0; is < nspin; is++) @@ -166,7 +169,8 @@ TEST_F(ChargeTest, CheckNe) { charge->set_rhopw(rhopw); EXPECT_FALSE(charge->allocate_rho); - charge->allocate(PARAM.input.nspin); + const bool kin_den = charge->kin_density(); + charge->allocate(PARAM.input.nspin, kin_den); EXPECT_TRUE(charge->allocate_rho); int nspin = (PARAM.input.nspin == 2) ? 2 : 1; for (int is = 0; is < nspin; is++) @@ -187,7 +191,8 @@ TEST_F(ChargeTest, SaveRhoBeforeSumBand) { charge->set_rhopw(rhopw); EXPECT_FALSE(charge->allocate_rho); - charge->allocate(PARAM.input.nspin); + const bool kin_den = charge->kin_density(); + charge->allocate(PARAM.input.nspin, kin_den); EXPECT_TRUE(charge->allocate_rho); int nspin = (PARAM.input.nspin == 2) ? 2 : 1; for (int is = 0; is < nspin; is++) diff --git a/source/source_estate/test/elecstate_base_test.cpp b/source/source_estate/test/elecstate_base_test.cpp index 4e9aa2307d..e0d63df822 100644 --- a/source/source_estate/test/elecstate_base_test.cpp +++ b/source/source_estate/test/elecstate_base_test.cpp @@ -7,13 +7,14 @@ #include "source_estate/elecstate_tools.h" #include "source_estate/occupy.h" #include "source_io/module_parameter/parameter.h" +#include "source_base/module_fft/fft_bundle.h" #undef protected #undef private // Mock functions for testing elecstate.cpp namespace elecstate { -void Potential::init_pot(int, Charge const*) +void Potential::init_pot(Charge const*) { } void Potential::cal_v_eff(const Charge* chg, const UnitCell* ucell, ModuleBase::matrix& v_eff) @@ -52,6 +53,10 @@ InfoNonlocal::InfoNonlocal() InfoNonlocal::~InfoNonlocal() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} #include "source_cell/klist.h" ModulePW::PW_Basis::PW_Basis() @@ -63,7 +68,6 @@ ModulePW::PW_Basis::~PW_Basis() ModulePW::PW_Basis_Sup::~PW_Basis_Sup() { } -ModulePW::FFT_Bundle::~FFT_Bundle() {}; void ModulePW::PW_Basis::initgrids(double, ModuleBase::Matrix3, double) { } @@ -76,11 +80,7 @@ void ModulePW::PW_Basis::distribute_r() void Charge::set_rho_core(const UnitCell& ucell, ModuleBase::ComplexMatrix const&, const bool*) { } -void Charge::set_rho_core_paw() -{ -} -void Charge::init_rho(elecstate::efermi&, - const UnitCell&, +void Charge::init_rho(const UnitCell&, const Parallel_Grid&, ModuleBase::ComplexMatrix const&, ModuleSymmetry::Symmetry& symm, @@ -197,11 +197,10 @@ TEST_F(ElecStateTest, Constructor) TEST_F(ElecStateTest, InitKS) { Charge* charge = new Charge; - ModulePW::PW_Basis* rhopw = new ModulePW::PW_Basis; ModulePW::PW_Basis_Big* bigpw = new ModulePW::PW_Basis_Big; K_Vectors* klist = new K_Vectors; int nk = 1; - EXPECT_NO_THROW(elecstate->init_ks(charge, klist, nk, rhopw, bigpw)); + EXPECT_NO_THROW(elecstate->init_ks(charge, klist, nk, bigpw)); EXPECT_EQ(elecstate->charge, charge); EXPECT_EQ(elecstate->bigpw, bigpw); EXPECT_EQ(elecstate->klist, klist); @@ -211,14 +210,12 @@ TEST_F(ElecStateTest, InitKS) EXPECT_EQ(elecstate->wg.nc, PARAM.input.nbands); delete klist; delete bigpw; - delete rhopw; delete charge; } TEST_F(ElecStateTest, GetRho) { Charge* charge = new Charge; - ModulePW::PW_Basis* rhopw = new ModulePW::PW_Basis; ModulePW::PW_Basis_Big* bigpw = new ModulePW::PW_Basis_Big; K_Vectors* klist = new K_Vectors; int nk = 1; @@ -232,7 +229,7 @@ TEST_F(ElecStateTest, GetRho) charge->rho[i][j] = 1.0; } } - elecstate->init_ks(charge, klist, nk, rhopw, bigpw); + elecstate->init_ks(charge, klist, nk, bigpw); EXPECT_EQ(elecstate->getRho(0), &(charge->rho[0][0])); EXPECT_EQ(elecstate->getRho(0)[nrxx - 1], 1.0); for (int i = 0; i < PARAM.input.nspin; ++i) @@ -242,7 +239,6 @@ TEST_F(ElecStateTest, GetRho) delete[] charge->rho; delete klist; delete bigpw; - delete rhopw; delete charge; } @@ -262,12 +258,12 @@ TEST_F(ElecStateTest, InitSCF) Charge* charge = new Charge; elecstate->charge = charge; elecstate->pot = new elecstate::Potential; - elecstate::efermi efermi; + elecstate::Efermi efermi; int istep = 0; ModuleBase::ComplexMatrix strucfac; elecstate->eferm = efermi; ModuleSymmetry::Symmetry symm; - EXPECT_NO_THROW(elecstate->init_scf(istep, ucell, pgrid, strucfac, nullptr, symm)); + EXPECT_NO_THROW(elecstate->init_scf(ucell, pgrid, strucfac, nullptr, symm)); // delete elecstate->pot is done in the destructor of elecstate delete charge; } diff --git a/source/source_estate/test/elecstate_fp_energy_test.cpp b/source/source_estate/test/elecstate_fp_energy_test.cpp index 36f775d9af..66ef941f37 100644 --- a/source/source_estate/test/elecstate_fp_energy_test.cpp +++ b/source/source_estate/test/elecstate_fp_energy_test.cpp @@ -14,14 +14,14 @@ * - fenergy::calculate_harris() * - fenergy::clear_all() * - fenergy::print_all() - * - efermi::set_efval() - * - efermi::get_efval() + * - Efermi::set_efval() + * - Efermi::get_efval() */ class fenergy : public ::testing::Test { protected: elecstate::fenergy f_en; - elecstate::efermi eferm; + elecstate::Efermi eferm; }; TEST_F(fenergy, calculate_etot) @@ -92,4 +92,4 @@ TEST_F(fenergy, eferm_get_efval) EXPECT_EXIT(double tmpp = eferm.get_efval(2);, ::testing::ExitedWithCode(1), ""); std::string output = testing::internal::GetCapturedStdout(); EXPECT_THAT(output, testing::HasSubstr("Please check NSPIN when TWO_EFERMI is true")); -} \ No newline at end of file +} diff --git a/source/source_estate/test/elecstate_print_test.cpp b/source/source_estate/test/elecstate_print_test.cpp index 0003ef2475..53dcbb0c58 100644 --- a/source/source_estate/test/elecstate_print_test.cpp +++ b/source/source_estate/test/elecstate_print_test.cpp @@ -11,7 +11,7 @@ #include "source_hamilt/module_xc/xc_functional.h" #include "source_io/module_parameter/parameter.h" #include "source_estate/elecstate_print.h" -#undef private +#undef private /*************************************************************** * mock functions ****************************************************************/ @@ -37,6 +37,10 @@ Charge::Charge() Charge::~Charge() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} int XC_Functional::func_type = 0; bool XC_Functional::ked_flag = false; @@ -131,7 +135,6 @@ TEST_F(ElecStatePrintTest, PrintEtot) PARAM.input.efield_flag = true; PARAM.input.gate_flag = true; PARAM.sys.two_fermi = true; - PARAM.input.out_bandgap = true; GlobalV::MY_RANK = 0; PARAM.input.basis_type = "pw"; PARAM.input.nspin = 2; @@ -141,7 +144,7 @@ TEST_F(ElecStatePrintTest, PrintEtot) for (int i = 0; i < vdw_methods.size(); i++) { PARAM.input.vdw_method = vdw_methods[i]; - elecstate::print_etot(ucell.magnet,elecstate, converged, iter, scf_thr, + elecstate::print_etot(ucell.magnet,elecstate, converged, iter, scf_thr, scf_thr_kin, duration, pw_diag_thr, avg_iter, false); } @@ -152,7 +155,7 @@ TEST_F(ElecStatePrintTest, PrintEtot) PARAM.input.ks_solver = ks_solvers[i]; testing::internal::CaptureStdout(); - elecstate::print_etot(ucell.magnet,elecstate,converged, iter, scf_thr, + elecstate::print_etot(ucell.magnet,elecstate,converged, iter, scf_thr, scf_thr_kin, duration, pw_diag_thr, avg_iter, print); output = testing::internal::GetCapturedStdout(); @@ -217,11 +220,10 @@ TEST_F(ElecStatePrintTest, PrintEtotColorS2) PARAM.input.efield_flag = true; PARAM.input.gate_flag = true; PARAM.sys.two_fermi = true; - PARAM.input.out_bandgap = true; PARAM.input.nspin = 2; GlobalV::MY_RANK = 0; - elecstate::print_etot(ucell.magnet,elecstate,converged, iter, scf_thr, + elecstate::print_etot(ucell.magnet,elecstate,converged, iter, scf_thr, scf_thr_kin, duration, pw_diag_thr, avg_iter, print); delete elecstate.charge; @@ -247,12 +249,11 @@ TEST_F(ElecStatePrintTest, PrintEtotColorS4) PARAM.input.efield_flag = true; PARAM.input.gate_flag = true; PARAM.sys.two_fermi = true; - PARAM.input.out_bandgap = true; PARAM.input.nspin = 4; PARAM.input.noncolin = true; GlobalV::MY_RANK = 0; - elecstate::print_etot(ucell.magnet,elecstate, converged, iter, scf_thr, scf_thr_kin, + elecstate::print_etot(ucell.magnet,elecstate, converged, iter, scf_thr, scf_thr_kin, duration, pw_diag_thr, avg_iter, print); delete elecstate.charge; diff --git a/source/source_estate/test/elecstate_pw_test.cpp b/source/source_estate/test/elecstate_pw_test.cpp index 865b4f0049..27b9bea73a 100644 --- a/source/source_estate/test/elecstate_pw_test.cpp +++ b/source/source_estate/test/elecstate_pw_test.cpp @@ -12,7 +12,7 @@ int XC_Functional::func_type = 1; namespace elecstate { -void Potential::init_pot(int, Charge const*) +void Potential::init_pot(Charge const*) { } void Potential::cal_v_eff(const Charge* chg, const UnitCell* ucell, ModuleBase::matrix& v_eff) @@ -43,6 +43,10 @@ Magnetism::Magnetism() Magnetism::~Magnetism() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} #ifdef __LCAO InfoNonlocal::InfoNonlocal() { @@ -126,11 +130,7 @@ Fcoef::~Fcoef() void Charge::set_rho_core(const UnitCell& ucell, ModuleBase::ComplexMatrix const&, const bool*) { } -void Charge::set_rho_core_paw() -{ -} -void Charge::init_rho(elecstate::efermi&, - const UnitCell&, +void Charge::init_rho(const UnitCell&, const Parallel_Grid&, ModuleBase::ComplexMatrix const&, ModuleSymmetry::Symmetry& symm, @@ -240,7 +240,6 @@ TEST_F(ElecStatePWTest, ConstructorDouble) klist, ucell, ppcell, - rhodpw, rhopw, bigpw); EXPECT_EQ(elecstate_pw_d->classname, "ElecStatePW"); @@ -256,7 +255,6 @@ TEST_F(ElecStatePWTest, ConstructorSingle) klist, ucell, ppcell, - rhodpw, rhopw, bigpw); EXPECT_EQ(elecstate_pw_s->classname, "ElecStatePW"); @@ -274,7 +272,6 @@ TEST_F(ElecStatePWTest, InitRhoDataDouble) klist, ucell, ppcell, - rhodpw, rhopw, bigpw); elecstate_pw_d->init_rho_data(); @@ -294,7 +291,6 @@ TEST_F(ElecStatePWTest, InitRhoDataSingle) klist, ucell, ppcell, - rhodpw, rhopw, bigpw); elecstate_pw_s->init_rho_data(); @@ -311,7 +307,6 @@ TEST_F(ElecStatePWTest, ParallelKDouble) klist, ucell, ppcell, - rhodpw, rhopw, bigpw); EXPECT_NO_THROW(elecstate_pw_d->parallelK()); @@ -325,10 +320,9 @@ TEST_F(ElecStatePWTest, ParallelKSingle) klist, ucell, ppcell, - rhodpw, rhopw, bigpw); EXPECT_NO_THROW(elecstate_pw_s->parallelK()); } -#undef protected \ No newline at end of file +#undef protected diff --git a/source/source_estate/test/potential_new_test.cpp b/source/source_estate/test/potential_new_test.cpp index 82a10bf17a..f91f473efa 100644 --- a/source/source_estate/test/potential_new_test.cpp +++ b/source/source_estate/test/potential_new_test.cpp @@ -24,6 +24,10 @@ Magnetism::Magnetism() Magnetism::~Magnetism() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} #ifdef __LCAO InfoNonlocal::InfoNonlocal() { @@ -84,7 +88,7 @@ void Set_GlobalV_Default() * - UpdateFromCharge: elecstate::Potential::update_from_charge() * - calls cal_fixed_v and cal_v_eff to update v_effective from rho * - InitPot: elecstate::Potential::init_pot() - * - using istep and update_from_charge to initialize v_effective + * - using update_from_charge to initialize v_effective * - GetVnew: elecstate::Potential::get_vnew() * - used later for scf correction to the forces * - GetEffective: elecstate::Potential::get_effective_v() @@ -166,9 +170,9 @@ TEST_F(PotentialNewTest, ConstructorCPUDouble) pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); EXPECT_TRUE(pot->fixed_mode); EXPECT_TRUE(pot->dynamic_mode); - EXPECT_EQ(pot->v_effective_fixed.size(), 100); - EXPECT_EQ(pot->v_effective.nr, PARAM.input.nspin); - EXPECT_EQ(pot->v_effective.nc, 100); + EXPECT_EQ(pot->v_eff_fixed.size(), 100); + EXPECT_EQ(pot->v_eff.nr, PARAM.input.nspin); + EXPECT_EQ(pot->v_eff.nc, 100); } TEST_F(PotentialNewTest, ConstructorCPUSingle) @@ -178,9 +182,9 @@ TEST_F(PotentialNewTest, ConstructorCPUSingle) pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); EXPECT_TRUE(pot->fixed_mode); EXPECT_TRUE(pot->dynamic_mode); - EXPECT_EQ(pot->v_effective_fixed.size(), 100); - EXPECT_EQ(pot->v_effective.nr, PARAM.input.nspin); - EXPECT_EQ(pot->v_effective.nc, 100); + EXPECT_EQ(pot->v_eff_fixed.size(), 100); + EXPECT_EQ(pot->v_eff.nr, PARAM.input.nspin); + EXPECT_EQ(pot->v_eff.nc, 100); } TEST_F(PotentialNewTest, ConstructorNRXX0) @@ -199,11 +203,11 @@ TEST_F(PotentialNewTest, ConstructorXC3) pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); EXPECT_TRUE(pot->fixed_mode); EXPECT_TRUE(pot->dynamic_mode); - EXPECT_EQ(pot->v_effective_fixed.size(), 100); - EXPECT_EQ(pot->v_effective.nr, PARAM.input.nspin); - EXPECT_EQ(pot->v_effective.nc, 100); - EXPECT_EQ(pot->vofk_effective.nr, PARAM.input.nspin); - EXPECT_EQ(pot->vofk_effective.nc, 100); + EXPECT_EQ(pot->v_eff_fixed.size(), 100); + EXPECT_EQ(pot->v_eff.nr, PARAM.input.nspin); + EXPECT_EQ(pot->v_eff.nc, 100); + EXPECT_EQ(pot->vofk_eff.nr, PARAM.input.nspin); + EXPECT_EQ(pot->vofk_eff.nc, 100); } TEST_F(PotentialNewTest, ConstructorGPUDouble) @@ -214,9 +218,9 @@ TEST_F(PotentialNewTest, ConstructorGPUDouble) pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); EXPECT_TRUE(pot->fixed_mode); EXPECT_TRUE(pot->dynamic_mode); - EXPECT_EQ(pot->v_effective_fixed.size(), 100); - EXPECT_EQ(pot->v_effective.nr, PARAM.input.nspin); - EXPECT_EQ(pot->v_effective.nc, 100); + EXPECT_EQ(pot->v_eff_fixed.size(), 100); + EXPECT_EQ(pot->v_eff.nr, PARAM.input.nspin); + EXPECT_EQ(pot->v_eff.nc, 100); } TEST_F(PotentialNewTest, ConstructorGPUSingle) @@ -228,9 +232,9 @@ TEST_F(PotentialNewTest, ConstructorGPUSingle) pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); EXPECT_TRUE(pot->fixed_mode); EXPECT_TRUE(pot->dynamic_mode); - EXPECT_EQ(pot->v_effective_fixed.size(), 100); - EXPECT_EQ(pot->v_effective.nr, PARAM.input.nspin); - EXPECT_EQ(pot->v_effective.nc, 100); + EXPECT_EQ(pot->v_eff_fixed.size(), 100); + EXPECT_EQ(pot->v_eff.nr, PARAM.input.nspin); + EXPECT_EQ(pot->v_eff.nc, 100); } TEST_F(PotentialNewTest, Getters) @@ -285,9 +289,9 @@ TEST_F(PotentialNewTest, CalFixedV) } double* vl_pseudo = new double[1000]; pot->cal_fixed_v(vl_pseudo); - for (int i = 0; i < pot->v_effective_fixed.size(); i++) + for (int i = 0; i < pot->v_eff_fixed.size(); i++) { - EXPECT_DOUBLE_EQ(pot->v_effective_fixed[i], 0.0); + EXPECT_DOUBLE_EQ(pot->v_eff_fixed[i], 0.0); } delete[] vl_pseudo; } @@ -315,9 +319,9 @@ TEST_F(PotentialNewTest, CalVeff) ModuleBase::matrix v_eff; v_eff.create(2, 100); pot->cal_v_eff(chg,this->ucell,v_eff); - for (int i = 0; i < pot->v_effective_fixed.size(); i++) + for (int i = 0; i < pot->v_eff_fixed.size(); i++) { - EXPECT_DOUBLE_EQ(pot->v_effective_fixed[i], 0.0); + EXPECT_DOUBLE_EQ(pot->v_eff_fixed[i], 0.0); } delete chg; } @@ -373,7 +377,7 @@ TEST_F(PotentialNewTest, InitPot) } Charge* chg = new Charge; EXPECT_FALSE(pot->fixed_done); - pot->init_pot(1,chg); + pot->init_pot(chg); EXPECT_TRUE(pot->fixed_done); delete chg; } @@ -413,8 +417,8 @@ TEST_F(PotentialNewTest, GetEffectiveVmatrix) rhopw->nrxx = 100; pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); // - ModuleBase::matrix v_eff_tmp = pot->get_effective_v(); - const ModuleBase::matrix v_eff_tmp_const = pot->get_effective_v(); + ModuleBase::matrix v_eff_tmp = pot->get_eff_v(); + const ModuleBase::matrix v_eff_tmp_const = pot->get_eff_v(); EXPECT_EQ(v_eff_tmp.nr, PARAM.input.nspin); EXPECT_EQ(v_eff_tmp.nc, 100); EXPECT_EQ(v_eff_tmp_const.nr, PARAM.input.nspin); @@ -423,8 +427,8 @@ TEST_F(PotentialNewTest, GetEffectiveVmatrix) { for (int ic = 0; ic < v_eff_tmp.nc; ic++) { - EXPECT_DOUBLE_EQ(v_eff_tmp(ir, ic), pot->v_effective(ir, ic)); - EXPECT_DOUBLE_EQ(v_eff_tmp_const(ir, ic), pot->v_effective(ir, ic)); + EXPECT_DOUBLE_EQ(v_eff_tmp(ir, ic), pot->v_eff(ir, ic)); + EXPECT_DOUBLE_EQ(v_eff_tmp_const(ir, ic), pot->v_eff(ir, ic)); } } } @@ -435,24 +439,24 @@ TEST_F(PotentialNewTest, GetEffectiveVarray) rhopw->nrxx = 100; pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); // - double* v_eff_tmp = pot->get_effective_v(0); - const double* v_eff_tmp_const = pot->get_effective_v(0); + double* v_eff_tmp = pot->get_eff_v(0); + const double* v_eff_tmp_const = pot->get_eff_v(0); for (int ic = 0; ic < rhopw->nrxx; ic++) { - EXPECT_DOUBLE_EQ(v_eff_tmp[ic], pot->v_effective(0, ic)); - EXPECT_DOUBLE_EQ(v_eff_tmp_const[ic], pot->v_effective(0, ic)); + EXPECT_DOUBLE_EQ(v_eff_tmp[ic], pot->v_eff(0, ic)); + EXPECT_DOUBLE_EQ(v_eff_tmp_const[ic], pot->v_eff(0, ic)); } v_eff_tmp[0] = 1.0; - EXPECT_DOUBLE_EQ(pot->v_effective(0, 0), 1.0); + EXPECT_DOUBLE_EQ(pot->v_eff(0, 0), 1.0); EXPECT_DOUBLE_EQ(v_eff_tmp_const[0], 1.0); } TEST_F(PotentialNewTest, GetEffectiveVarrayNullptr) { pot = new elecstate::Potential; - EXPECT_EQ(pot->v_effective.nc, 0); - double* v_eff_tmp = pot->get_effective_v(0); - const double* v_eff_tmp_const = pot->get_effective_v(0); + EXPECT_EQ(pot->v_eff.nc, 0); + double* v_eff_tmp = pot->get_eff_v(0); + const double* v_eff_tmp_const = pot->get_eff_v(0); EXPECT_EQ(v_eff_tmp, nullptr); EXPECT_EQ(v_eff_tmp_const, nullptr); } @@ -465,8 +469,8 @@ TEST_F(PotentialNewTest, GetEffectiveVofkmatrix) rhopw->nrxx = 100; pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); // - ModuleBase::matrix vofk_eff_tmp = pot->get_effective_vofk(); - const ModuleBase::matrix vofk_eff_tmp_const = pot->get_effective_vofk(); + ModuleBase::matrix vofk_eff_tmp = pot->get_eff_vofk(); + const ModuleBase::matrix vofk_eff_tmp_const = pot->get_eff_vofk(); EXPECT_EQ(vofk_eff_tmp.nr, PARAM.input.nspin); EXPECT_EQ(vofk_eff_tmp.nc, 100); EXPECT_EQ(vofk_eff_tmp_const.nr, PARAM.input.nspin); @@ -475,8 +479,8 @@ TEST_F(PotentialNewTest, GetEffectiveVofkmatrix) { for (int ic = 0; ic < vofk_eff_tmp.nc; ic++) { - EXPECT_DOUBLE_EQ(vofk_eff_tmp(ir, ic), pot->vofk_effective(ir, ic)); - EXPECT_DOUBLE_EQ(vofk_eff_tmp_const(ir, ic), pot->vofk_effective(ir, ic)); + EXPECT_DOUBLE_EQ(vofk_eff_tmp(ir, ic), pot->vofk_eff(ir, ic)); + EXPECT_DOUBLE_EQ(vofk_eff_tmp_const(ir, ic), pot->vofk_eff(ir, ic)); } } } @@ -487,24 +491,24 @@ TEST_F(PotentialNewTest, GetEffectiveVofkarray) rhopw->nrxx = 100; pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); // - double* vofk_eff_tmp = pot->get_effective_vofk(0); - const double* vofk_eff_tmp_const = pot->get_effective_vofk(0); + double* vofk_eff_tmp = pot->get_eff_vofk(0); + const double* vofk_eff_tmp_const = pot->get_eff_vofk(0); for (int ic = 0; ic < rhopw->nrxx; ic++) { - EXPECT_DOUBLE_EQ(vofk_eff_tmp[ic], pot->vofk_effective(0, ic)); - EXPECT_DOUBLE_EQ(vofk_eff_tmp_const[ic], pot->vofk_effective(0, ic)); + EXPECT_DOUBLE_EQ(vofk_eff_tmp[ic], pot->vofk_eff(0, ic)); + EXPECT_DOUBLE_EQ(vofk_eff_tmp_const[ic], pot->vofk_eff(0, ic)); } vofk_eff_tmp[0] = 1.0; - EXPECT_DOUBLE_EQ(pot->vofk_effective(0, 0), 1.0); + EXPECT_DOUBLE_EQ(pot->vofk_eff(0, 0), 1.0); EXPECT_DOUBLE_EQ(vofk_eff_tmp_const[0], 1.0); } TEST_F(PotentialNewTest, GetEffectiveVofkarrayNullptr) { pot = new elecstate::Potential; - EXPECT_EQ(pot->v_effective.nc, 0); - double* vofk_eff_tmp = pot->get_effective_vofk(0); - const double* vofk_eff_tmp_const = pot->get_effective_vofk(0); + EXPECT_EQ(pot->v_eff.nc, 0); + double* vofk_eff_tmp = pot->get_eff_vofk(0); + const double* vofk_eff_tmp_const = pot->get_eff_vofk(0); EXPECT_EQ(vofk_eff_tmp, nullptr); EXPECT_EQ(vofk_eff_tmp_const, nullptr); } @@ -515,14 +519,14 @@ TEST_F(PotentialNewTest, GetFixedV) pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); EXPECT_TRUE(pot->fixed_mode); EXPECT_TRUE(pot->dynamic_mode); - EXPECT_EQ(pot->v_effective_fixed.size(), 100); + EXPECT_EQ(pot->v_eff_fixed.size(), 100); double* v_eff_fixed_tmp = pot->get_fixed_v(); const double* v_eff_fixed_tmp_const = pot->get_fixed_v(); for (int ic = 0; ic < rhopw->nrxx; ic++) { v_eff_fixed_tmp[ic] = ic; - EXPECT_DOUBLE_EQ(v_eff_fixed_tmp[ic], pot->v_effective_fixed[ic]); - EXPECT_DOUBLE_EQ(v_eff_fixed_tmp_const[ic], pot->v_effective_fixed[ic]); + EXPECT_DOUBLE_EQ(v_eff_fixed_tmp[ic], pot->v_eff_fixed[ic]); + EXPECT_DOUBLE_EQ(v_eff_fixed_tmp_const[ic], pot->v_eff_fixed[ic]); } } @@ -590,12 +594,12 @@ TEST_F(PotentialNewTest, InterpolateVrsDoubleGrids) pot = new elecstate::Potential(rhodpw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); - for (int ir = 0; ir < pot->v_effective.nr; ir++) + for (int ir = 0; ir < pot->v_eff.nr; ir++) { - for (int ic = 0; ic < pot->v_effective.nc; ic++) + for (int ic = 0; ic < pot->v_eff.nc; ic++) { - pot->v_effective(ir, ic) = ir + ic; - pot->vofk_effective(ir, ic) = ir + 2 * ic; + pot->v_eff(ir, ic) = ir + ic; + pot->vofk_eff(ir, ic) = ir + 2 * ic; } } @@ -651,12 +655,12 @@ TEST_F(PotentialNewTest, InterpolateVrsSingleGrids) pot = new elecstate::Potential(rhopw, rhopw, ucell, vloc, structure_factors, solvent, etxc, vtxc); - for (int ir = 0; ir < pot->v_effective.nr; ir++) + for (int ir = 0; ir < pot->v_eff.nr; ir++) { - for (int ic = 0; ic < pot->v_effective.nc; ic++) + for (int ic = 0; ic < pot->v_eff.nc; ic++) { - pot->v_effective(ir, ic) = ir + ic; - pot->vofk_effective(ir, ic) = ir + 2 * ic; + pot->v_eff(ir, ic) = ir + ic; + pot->vofk_eff(ir, ic) = ir + 2 * ic; } } diff --git a/source/source_estate/test/prepare_unitcell.h b/source/source_estate/test/prepare_unitcell.h index 49635e89f3..eec2fa9a52 100644 --- a/source/source_estate/test/prepare_unitcell.h +++ b/source/source_estate/test/prepare_unitcell.h @@ -82,7 +82,7 @@ class UcellTestPrepare } //lattice info ucell->lat0 = this->lat0; - ucell->lat0_angstrom = ucell->lat0 * 0.529177; + ucell->lat0_angstrom = ucell->lat0 * ModuleBase::BOHR_TO_A; ucell->tpiba = ModuleBase::TWO_PI/ucell->lat0; ucell->tpiba2 = ucell->tpiba * ucell->tpiba; ucell->latvec.e11 = this->latvec[0]; diff --git a/source/source_estate/test/support/chgs1.cube b/source/source_estate/test/support/chg.cube similarity index 100% rename from source/source_estate/test/support/chgs1.cube rename to source/source_estate/test/support/chg.cube diff --git a/source/source_estate/update_pot.cpp b/source/source_estate/update_pot.cpp new file mode 100644 index 0000000000..f0f0ef861a --- /dev/null +++ b/source/source_estate/update_pot.cpp @@ -0,0 +1,20 @@ +#include "source_estate/update_pot.h" +#include "source_estate/cal_ux.h" + +void elecstate::update_pot(UnitCell& ucell, // unitcell + elecstate::ElecState* &pelec, // pointer of electrons + const Charge &chr, + const bool conv_esolver + ) // charge density +{ + if (!conv_esolver) + { + elecstate::cal_ux(ucell); + pelec->pot->update_from_charge(&chr, &ucell); + pelec->f_en.descf = pelec->cal_delta_escf(); + } + else + { + pelec->cal_converged(); + } +} diff --git a/source/source_estate/update_pot.h b/source/source_estate/update_pot.h new file mode 100644 index 0000000000..cce4c42428 --- /dev/null +++ b/source/source_estate/update_pot.h @@ -0,0 +1,17 @@ +#ifndef UPDATE_POT_H +#define UPDATE_POT_H + +#include "source_cell/unitcell.h" +#include "source_estate/elecstate.h" + +namespace elecstate +{ + +void update_pot(UnitCell& ucell, // unitcell + elecstate::ElecState* &pelec, // pointer of electrons + const Charge &chr, + const bool conv_esolver); // charge density +} + + +#endif diff --git a/source/source_hamilt/hamilt.h b/source/source_hamilt/hamilt.h index 634ff28b05..6d732d7a82 100644 --- a/source/source_hamilt/hamilt.h +++ b/source/source_hamilt/hamilt.h @@ -21,7 +21,7 @@ class Hamilt virtual void updateHk(const int ik){return;} /// refresh status of Hamiltonian, for example, refresh H(R) and S(R) in LCAO case - virtual void refresh(void){return;} + virtual void refresh(bool yes = true){return;} /// core function: for solving eigenvalues of Hamiltonian with iterative method virtual void hPsi( @@ -55,8 +55,6 @@ class Hamilt std::string classname = "none"; - int non_first_scf=0; - /// first node operator, add operations from each operators Operator* ops = nullptr; diff --git a/source/source_hamilt/module_surchem/H_correction_pw.cpp b/source/source_hamilt/module_surchem/H_correction_pw.cpp index 06bb2eea25..289f00d07e 100644 --- a/source/source_hamilt/module_surchem/H_correction_pw.cpp +++ b/source/source_hamilt/module_surchem/H_correction_pw.cpp @@ -5,14 +5,15 @@ #include "source_base/timer.h" #include "source_hamilt/module_xc/xc_functional.h" #include "surchem.h" - -ModuleBase::matrix surchem::v_correction(const UnitCell& cell, - const Parallel_Grid& pgrid, - const ModulePW::PW_Basis* rho_basis, - const int& nspin, - const double* const* const rho, - const double* vlocal, - Structure_Factor* sf) +// Changing the interface to use an explicit output parameter clarifies lifetime management and avoids hidden allocations. +void surchem::v_correction(const UnitCell& cell, + const Parallel_Grid& pgrid, + const ModulePW::PW_Basis* rho_basis, + const int& nspin, + const double* const* const rho, + const double* vlocal, + Structure_Factor* sf, + ModuleBase::matrix& v) { ModuleBase::TITLE("surchem", "v_cor"); ModuleBase::timer::tick("surchem", "v_cor"); @@ -46,10 +47,15 @@ ModuleBase::matrix surchem::v_correction(const UnitCell& cell, cal_pseudo(cell, pgrid, rho_basis, porter_g, ps_totn, sf); - ModuleBase::matrix v(nspin, rho_basis->nrxx); + // ModuleBase::matrix v(nspin, rho_basis->nrxx); + if (v.nr != nspin || v.nc != rho_basis->nrxx) + { + v.create(nspin, rho_basis->nrxx); + } + ModuleBase::GlobalFunc::ZEROS(v.c, nspin * rho_basis->nrxx); - v += cal_vel(cell, rho_basis, total_n, ps_totn, nspin); - v += cal_vcav(cell, rho_basis, ps_totn, nspin); + cal_vel(cell, rho_basis, total_n, ps_totn, nspin, v); + cal_vcav(cell, rho_basis, ps_totn, nspin, v); delete[] porter; delete[] porter_g; @@ -58,5 +64,5 @@ ModuleBase::matrix surchem::v_correction(const UnitCell& cell, delete[] total_n; ModuleBase::timer::tick("surchem", "v_cor"); - return v; -} + return; +} \ No newline at end of file diff --git a/source/source_hamilt/module_surchem/cal_pseudo.cpp b/source/source_hamilt/module_surchem/cal_pseudo.cpp index 1e0a64c5b5..9c3a8be429 100644 --- a/source/source_hamilt/module_surchem/cal_pseudo.cpp +++ b/source/source_hamilt/module_surchem/cal_pseudo.cpp @@ -9,7 +9,8 @@ void surchem::gauss_charge(const UnitCell& cell, std::complex* N, Structure_Factor* sf) { - sf->setup_structure_factor(&cell, pgrid, rho_basis); // call strucFac(ntype,ngmc) + //sf->setup(&cell, pgrid, rho_basis); // this is strange, should be removed to other places, mohan add 2025-11-04 + //sf here was only needed in the test. const int ig0 = rho_basis->ig_gge0; // G=0 index for (int it = 0; it < cell.ntype; it++) { diff --git a/source/source_hamilt/module_surchem/cal_vcav.cpp b/source/source_hamilt/module_surchem/cal_vcav.cpp index 617da1376e..32f4db6f57 100644 --- a/source/source_hamilt/module_surchem/cal_vcav.cpp +++ b/source/source_hamilt/module_surchem/cal_vcav.cpp @@ -16,25 +16,26 @@ void lapl_rho(const double& tpiba2, // the formula is : rho(r)^prime = \int iG * rho(G)e^{iGr} dG for (int ig = 0; ig < rho_basis->npw; ig++) { gdrtmpg[ig] = rhog[ig]; -} + } + for(int i = 0 ; i < 3 ; ++i) { - // calculate the charge density gradient in reciprocal space. + // calculate the charge density gradient in reciprocal space. for (int ig = 0; ig < rho_basis->npw; ig++) { aux[ig] = gdrtmpg[ig] * pow(rho_basis->gcar[ig][i], 2); -} + } + // bring the gdr from G --> R rho_basis->recip2real(aux, aux); + // remember to multily 2pi/a0, which belongs to G vectors. for (int ir = 0; ir < rho_basis->nrxx; ir++) { lapn[ir] -= aux[ir].real() * tpiba2; -} - + } } delete[] gdrtmpg; delete[] aux; - return; } // calculates first derivative of the shape function in realspace @@ -66,6 +67,7 @@ void surchem::createcavity(const UnitCell& ucell, { ModuleBase::Vector3 *nablan = new ModuleBase::Vector3[rho_basis->nrxx]; ModuleBase::GlobalFunc::ZEROS(nablan, rho_basis->nrxx); + double *nablan_2 = new double[rho_basis->nrxx]; double *sqrt_nablan_2 = new double[rho_basis->nrxx]; double *lapn = new double[rho_basis->nrxx]; @@ -77,14 +79,14 @@ void surchem::createcavity(const UnitCell& ucell, // nabla n XC_Functional::grad_rho(ps_totn, nablan, rho_basis, ucell.tpiba); - // |\nabla n |^2 = nablan_2 + // |\nabla n |^2 = nablan_2 for (int ir = 0; ir < rho_basis->nrxx; ir++) { nablan_2[ir] = pow(nablan[ir].x, 2) + pow(nablan[ir].y, 2) + pow(nablan[ir].z, 2); } // Laplacian of n - lapl_rho(ucell.tpiba2,ps_totn, lapn, rho_basis); + lapl_rho(ucell.tpiba2, ps_totn, lapn, rho_basis); //------------------------------------------------------------- // add -Lap(n)/|\nabla n| to vwork and copy \sqrt(|\nabla n|^2) @@ -162,10 +164,13 @@ void surchem::createcavity(const UnitCell& ucell, delete[] ggn; } -ModuleBase::matrix surchem::cal_vcav(const UnitCell& ucell, - const ModulePW::PW_Basis* rho_basis, - std::complex* ps_totn, - int nspin) +//The interface is changed to use an explicit output parameter to +//clarify lifetime management and avoid hidden allocations. +void surchem::cal_vcav(const UnitCell& ucell, + const ModulePW::PW_Basis* rho_basis, + std::complex* ps_totn, + int nspin, + ModuleBase::matrix& v) { ModuleBase::TITLE("surchem", "cal_vcav"); ModuleBase::timer::tick("surchem", "cal_vcav"); @@ -175,12 +180,12 @@ ModuleBase::matrix surchem::cal_vcav(const UnitCell& ucell, createcavity(ucell, rho_basis, ps_totn, tmp_Vcav); - ModuleBase::GlobalFunc::ZEROS(Vcav.c, nspin * rho_basis->nrxx); if (nspin == 4) { for (int ir = 0; ir < rho_basis->nrxx; ir++) { - Vcav(0, ir) += tmp_Vcav[ir]; + Vcav(0, ir) = tmp_Vcav[ir]; + v(0, ir) += Vcav(0, ir); } } else @@ -189,12 +194,13 @@ ModuleBase::matrix surchem::cal_vcav(const UnitCell& ucell, { for (int ir = 0; ir < rho_basis->nrxx; ir++) { - Vcav(is, ir) += tmp_Vcav[ir]; + Vcav(is, ir) = tmp_Vcav[ir]; + v(is, ir) += Vcav(is, ir); } } } delete[] tmp_Vcav; ModuleBase::timer::tick("surchem", "cal_vcav"); - return Vcav; + return; } diff --git a/source/source_hamilt/module_surchem/cal_vel.cpp b/source/source_hamilt/module_surchem/cal_vel.cpp index 7790dd3341..83b72966a2 100644 --- a/source/source_hamilt/module_surchem/cal_vel.cpp +++ b/source/source_hamilt/module_surchem/cal_vel.cpp @@ -54,11 +54,14 @@ void eps_pot(const double* PS_TOTN_real, delete[] phisq; } -ModuleBase::matrix surchem::cal_vel(const UnitCell& cell, - const ModulePW::PW_Basis* rho_basis, - std::complex* TOTN, - std::complex* PS_TOTN, - int nspin) +//The interface is changed to use an explicit output parameter to +//clarify lifetime management and avoid hidden allocations. +void surchem::cal_vel(const UnitCell& cell, + const ModulePW::PW_Basis* rho_basis, + std::complex* TOTN, + std::complex* PS_TOTN, + int nspin, + ModuleBase::matrix& v) { ModuleBase::TITLE("surchem", "cal_vel"); ModuleBase::timer::tick("surchem", "cal_vel"); @@ -134,6 +137,7 @@ ModuleBase::matrix surchem::cal_vel(const UnitCell& cell, for (int ir = 0; ir < rho_basis->nrxx; ir++) { Vel(0, ir) += tmp_Vel[ir]; + v(0, ir) += Vel(0, ir); } } else @@ -143,6 +147,7 @@ ModuleBase::matrix surchem::cal_vel(const UnitCell& cell, for (int ir = 0; ir < rho_basis->nrxx; ir++) { Vel(is, ir) += tmp_Vel[ir]; + v(is, ir) += Vel(is, ir); } } } @@ -158,5 +163,5 @@ ModuleBase::matrix surchem::cal_vel(const UnitCell& cell, delete[] phi_tilda_R0; ModuleBase::timer::tick("surchem", "cal_vel"); - return Vel; -} + return; +} \ No newline at end of file diff --git a/source/source_hamilt/module_surchem/minimize_cg.cpp b/source/source_hamilt/module_surchem/minimize_cg.cpp index fb9fe63f73..da41053cd5 100644 --- a/source/source_hamilt/module_surchem/minimize_cg.cpp +++ b/source/source_hamilt/module_surchem/minimize_cg.cpp @@ -15,9 +15,8 @@ void surchem::minimize_cg(const UnitCell& ucell, double rinvLr = 0; // r * r double r2 = 0; - // precond loop parameter - int i = 0; ModuleBase::GlobalFunc::ZEROS(phi, rho_basis->npw); + // malloc vectors in G space std::complex *resid = new std::complex[rho_basis->npw]; std::complex *z = new std::complex[rho_basis->npw]; @@ -25,23 +24,21 @@ void surchem::minimize_cg(const UnitCell& ucell, std::complex *gsqu = new std::complex[rho_basis->npw]; std::complex *d = new std::complex[rho_basis->npw]; - std::complex *gradphi_x = new std::complex[rho_basis->npw]; - std::complex *gradphi_y = new std::complex[rho_basis->npw]; - std::complex *gradphi_z = new std::complex[rho_basis->npw]; + std::complex *gradphi_G_work = new std::complex[rho_basis->npw]; - std::complex *phi_work = new std::complex[rho_basis->npw]; + // ========================================================== + // PRE-ALLOCATION FOR LEPS2 (Avoids allocation inside loop) + // ========================================================== + ModuleBase::Vector3 *aux_grad_phi = new ModuleBase::Vector3[rho_basis->nrxx]; + double *aux_grad_grad_phi_real = new double[rho_basis->nrxx]; + // remove aux_grad_grad_phi_G and aux_lp_real ModuleBase::GlobalFunc::ZEROS(resid, rho_basis->npw); ModuleBase::GlobalFunc::ZEROS(z, rho_basis->npw); ModuleBase::GlobalFunc::ZEROS(lp, rho_basis->npw); ModuleBase::GlobalFunc::ZEROS(gsqu, rho_basis->npw); ModuleBase::GlobalFunc::ZEROS(d, rho_basis->npw); - - ModuleBase::GlobalFunc::ZEROS(gradphi_x, rho_basis->npw); - ModuleBase::GlobalFunc::ZEROS(gradphi_y, rho_basis->npw); - ModuleBase::GlobalFunc::ZEROS(gradphi_z, rho_basis->npw); - - ModuleBase::GlobalFunc::ZEROS(phi_work, rho_basis->npw); + ModuleBase::GlobalFunc::ZEROS(gradphi_G_work, rho_basis->npw); int count = 0; double gg = 0; @@ -65,7 +62,9 @@ void surchem::minimize_cg(const UnitCell& ucell, } // call leps to calculate div ( epsilon * grad ) phi - Leps2(ucell, rho_basis, phi, d_eps, gradphi_x, gradphi_y, gradphi_z, phi_work, lp); + // Updated Leps2 call with new buffers + Leps2(ucell, rho_basis, phi, d_eps, gradphi_G_work, lp, + aux_grad_phi, aux_grad_grad_phi_real); // the residue // r = A*phi + (chtot + N) @@ -85,8 +84,6 @@ void surchem::minimize_cg(const UnitCell& ucell, rinvLr = ModuleBase::GlobalFunc::ddot_real(rho_basis->npw, resid, z); r2 = ModuleBase::GlobalFunc::ddot_real(rho_basis->npw, resid, resid); - double r20 = r2; - // copy for (int ig = 0; ig < rho_basis->npw; ig++) { @@ -103,9 +100,10 @@ void surchem::minimize_cg(const UnitCell& ucell, break; } - Leps2(ucell, rho_basis, d, d_eps, gradphi_x, gradphi_y, gradphi_z, phi_work, lp); + // Updated Leps2 call inside loop + Leps2(ucell, rho_basis, d, d_eps, gradphi_G_work, lp, + aux_grad_phi, aux_grad_grad_phi_real); - // cout <<"lp after leps"<npw, d, lp); // update phi @@ -149,96 +147,70 @@ void surchem::minimize_cg(const UnitCell& ucell, // output: num of cg loop ncgsol = count; - // comment test res + // CLEANUP delete[] resid; delete[] z; delete[] lp; delete[] gsqu; delete[] d; - delete[] gradphi_x; - delete[] gradphi_y; - delete[] gradphi_z; - delete[] phi_work; + delete[] gradphi_G_work; + + // Clean up auxiliary buffers + delete[] aux_grad_phi; + // delete[] aux_grad_grad_phi_G; // Removed + // delete[] aux_lp_real; // Removed + delete[] aux_grad_grad_phi_real; } +// avoid creating large temporary matrices inside its iteration loop +// reduce the intermediate FFT related calls void surchem::Leps2(const UnitCell& ucell, const ModulePW::PW_Basis* rho_basis, std::complex* phi, - double* epsilon, // epsilon from shapefunc, dim=nrxx - std::complex* gradphi_x, // dim=ngmc - std::complex* gradphi_y, - std::complex* gradphi_z, - std::complex* phi_work, - std::complex* lp) + double* epsilon, // epsilon from shapefunc, dim=nrxx + std::complex* gradphi_G_work, + std::complex* lp, + ModuleBase::Vector3* grad_phi_R, // size: nrxx + double* aux_R) // size: nrxx { - ModuleBase::Vector3 *grad_phi = new ModuleBase::Vector3[rho_basis->nrxx]; - XC_Functional::grad_rho(phi, grad_phi, rho_basis, ucell.tpiba); - - for (int ir = 0; ir < rho_basis->nrxx; ir++) - { - grad_phi[ir].x *= epsilon[ir]; - grad_phi[ir].y *= epsilon[ir]; - grad_phi[ir].z *= epsilon[ir]; - } - std::vector lp_real(rho_basis->nrxx,0); - ModuleBase::GlobalFunc::ZEROS(lp, rho_basis->npw); + XC_Functional::grad_rho(phi, grad_phi_R, rho_basis, ucell.tpiba); - std::vector grad_grad_phi(rho_basis->nrxx,0); - std::complex *grad_grad_phi_G = new std::complex[rho_basis->npw]; - ModuleBase::Vector3 *tmp_vector3 = new ModuleBase::Vector3[rho_basis->nrxx]; - // x - ModuleBase::GlobalFunc::ZEROS(grad_grad_phi_G, rho_basis->npw); - ModuleBase::GlobalFunc::ZEROS(tmp_vector3, rho_basis->nrxx); - for (int ir = 0; ir < rho_basis->nrxx; ir++) - { - grad_grad_phi[ir] = grad_phi[ir].x; - } - rho_basis->real2recip(grad_grad_phi.data(), grad_grad_phi_G); - XC_Functional::grad_rho(grad_grad_phi_G, tmp_vector3, rho_basis, ucell.tpiba); for (int ir = 0; ir < rho_basis->nrxx; ir++) { - lp_real[ir] += tmp_vector3[ir].x; + grad_phi_R[ir].x *= epsilon[ir]; + grad_phi_R[ir].y *= epsilon[ir]; + grad_phi_R[ir].z *= epsilon[ir]; } - // y - grad_grad_phi.assign(grad_grad_phi.size(),0.0); - ModuleBase::GlobalFunc::ZEROS(grad_grad_phi_G, rho_basis->npw); - ModuleBase::GlobalFunc::ZEROS(tmp_vector3, rho_basis->nrxx); - for (int ir = 0; ir < rho_basis->nrxx; ir++) - { - grad_grad_phi[ir] = grad_phi[ir].y; - } - rho_basis->real2recip(grad_grad_phi.data(), grad_grad_phi_G); - XC_Functional::grad_rho(grad_grad_phi_G, tmp_vector3, rho_basis, ucell.tpiba); - for (int ir = 0; ir < rho_basis->nrxx; ir++) - { - lp_real[ir] += tmp_vector3[ir].y; - } - // z - grad_grad_phi.assign(grad_grad_phi.size(),0.0); - ModuleBase::GlobalFunc::ZEROS(grad_grad_phi_G, rho_basis->npw); - ModuleBase::GlobalFunc::ZEROS(tmp_vector3, rho_basis->nrxx); - for (int ir = 0; ir < rho_basis->nrxx; ir++) - { - grad_grad_phi[ir] = grad_phi[ir].z; - } - rho_basis->real2recip(grad_grad_phi.data(), grad_grad_phi_G); - XC_Functional::grad_rho(grad_grad_phi_G, tmp_vector3, rho_basis, ucell.tpiba); - for (int ir = 0; ir < rho_basis->nrxx; ir++) - { - lp_real[ir] += tmp_vector3[ir].z; - } + ModuleBase::GlobalFunc::ZEROS(lp, rho_basis->npw); + // R -> G + for (int ir = 0; ir < rho_basis->nrxx; ir++) aux_R[ir] = grad_phi_R[ir].x; + rho_basis->real2recip(aux_R, gradphi_G_work); + + for(int ig=0; ignpw; ig++) { + // Divergence in G space: div(F) -> i * G * F(G) + lp[ig] += ModuleBase::IMAG_UNIT * gradphi_G_work[ig] * rho_basis->gcar[ig][0]; // 0 = x + } - rho_basis->real2recip(lp_real.data(), lp); + for (int ir = 0; ir < rho_basis->nrxx; ir++) aux_R[ir] = grad_phi_R[ir].y; + rho_basis->real2recip(aux_R, gradphi_G_work); + + for(int ig=0; ignpw; ig++) { + lp[ig] += ModuleBase::IMAG_UNIT * gradphi_G_work[ig] * rho_basis->gcar[ig][1]; // 1 = y + } - delete[] grad_phi; - std::vector().swap(lp_real); - std::vector().swap(grad_grad_phi); + for (int ir = 0; ir < rho_basis->nrxx; ir++) aux_R[ir] = grad_phi_R[ir].z; + rho_basis->real2recip(aux_R, gradphi_G_work); + + for(int ig=0; ignpw; ig++) { + lp[ig] += ModuleBase::IMAG_UNIT * gradphi_G_work[ig] * rho_basis->gcar[ig][2]; // 2 = z + } - delete[] grad_grad_phi_G; - delete[] tmp_vector3; -} + for(int ig=0; ignpw; ig++) { + lp[ig] *= ucell.tpiba; + } +} \ No newline at end of file diff --git a/source/source_hamilt/module_surchem/surchem.cpp b/source/source_hamilt/module_surchem/surchem.cpp index 60db451b41..1f2a66ef86 100644 --- a/source/source_hamilt/module_surchem/surchem.cpp +++ b/source/source_hamilt/module_surchem/surchem.cpp @@ -50,9 +50,12 @@ void surchem::clear() this->TOTN_real = nullptr; this->delta_phi = nullptr; this->epspot = nullptr; + + this->Vcav.create(0, 0); + this->Vel.create(0, 0); } surchem::~surchem() { this->clear(); -} +} \ No newline at end of file diff --git a/source/source_hamilt/module_surchem/surchem.h b/source/source_hamilt/module_surchem/surchem.h index e2358449c1..f7aa0a4b02 100644 --- a/source/source_hamilt/module_surchem/surchem.h +++ b/source/source_hamilt/module_surchem/surchem.h @@ -62,16 +62,18 @@ class surchem const std::complex* PS_TOTN, double* vwork); - ModuleBase::matrix cal_vcav(const UnitCell& ucell, - const ModulePW::PW_Basis* rho_basis, - std::complex* PS_TOTN, - int nspin); + void cal_vcav(const UnitCell& ucell, + const ModulePW::PW_Basis* rho_basis, + std::complex* PS_TOTN, + int nspin, + ModuleBase::matrix& v); - ModuleBase::matrix cal_vel(const UnitCell& cell, - const ModulePW::PW_Basis* rho_basis, - std::complex* TOTN, - std::complex* PS_TOTN, - int nspin); + void cal_vel(const UnitCell& cell, + const ModulePW::PW_Basis* rho_basis, + std::complex* TOTN, + std::complex* PS_TOTN, + int nspin, + ModuleBase::matrix& v); double cal_Ael(const UnitCell& cell, const int& nrxx, // num. of real space grids on current core @@ -96,19 +98,19 @@ class surchem const ModulePW::PW_Basis* rho_basis, std::complex* phi, double* epsilon, // epsilon from shapefunc, dim=nrxx - std::complex* gradphi_x, // dim=ngmc - std::complex* gradphi_y, - std::complex* gradphi_z, - std::complex* phi_work, - std::complex* lp); - - ModuleBase::matrix v_correction(const UnitCell& cell, - const Parallel_Grid& pgrid, - const ModulePW::PW_Basis* rho_basis, - const int& nspin, - const double* const* const rho, - const double* vlocal, - Structure_Factor* sf); + std::complex* gradphi_G_work, + std::complex* lp, + ModuleBase::Vector3* grad_phi_R, // size: nrxx + double* aux_R); + + void v_correction(const UnitCell& cell, + const Parallel_Grid& pgrid, + const ModulePW::PW_Basis* rho_basis, + const int& nspin, + const double* const* const rho, + const double* vlocal, + Structure_Factor* sf, + ModuleBase::matrix& v); void test_V_to_N(ModuleBase::matrix& v, const UnitCell& cell, @@ -134,4 +136,4 @@ class surchem private: }; -#endif +#endif \ No newline at end of file diff --git a/source/source_hamilt/module_surchem/test/cal_pseudo_test.cpp b/source/source_hamilt/module_surchem/test/cal_pseudo_test.cpp index e60b192719..2bd8025f7d 100644 --- a/source/source_hamilt/module_surchem/test/cal_pseudo_test.cpp +++ b/source/source_hamilt/module_surchem/test/cal_pseudo_test.cpp @@ -76,6 +76,8 @@ TEST_F(cal_pseudo_test, gauss_charge) Structure_Factor sf; sf.nbspline = -1; + sf.setup(&ucell, pgrid, &pwtest); + solvent_model.gauss_charge(ucell, pgrid, &pwtest, N, &sf); EXPECT_NEAR(N[14].real(), 0.002, 1e-9); @@ -126,6 +128,7 @@ TEST_F(cal_pseudo_test, cal_pseudo) Structure_Factor sf; sf.nbspline = -1; + sf.setup(&ucell, pgrid, &pwtest); // sf.setup is moved to here std::complex* Porter_g = new std::complex[npw]; ModuleBase::GlobalFunc::ZEROS(Porter_g, npw); @@ -160,4 +163,4 @@ int main(int argc, char** argv) #endif return result; -} +} \ No newline at end of file diff --git a/source/source_hamilt/module_surchem/test/cal_vcav_test.cpp b/source/source_hamilt/module_surchem/test/cal_vcav_test.cpp index 65fe839aa2..9a0af0432d 100644 --- a/source/source_hamilt/module_surchem/test/cal_vcav_test.cpp +++ b/source/source_hamilt/module_surchem/test/cal_vcav_test.cpp @@ -253,12 +253,14 @@ TEST_F(cal_vcav_test, cal_vcav) int nspin = 2; solvent_model.Vcav.create(nspin, nrxx); - solvent_model.cal_vcav(ucell, &pwtest, PS_TOTN, nspin); + ModuleBase::matrix v_res(nspin, nrxx); + ModuleBase::GlobalFunc::ZEROS(v_res.c, nspin * nrxx); + solvent_model.cal_vcav(ucell, &pwtest, PS_TOTN, nspin, v_res); - EXPECT_NEAR(solvent_model.Vcav(0, 0), 4.8556305312, 1e-10); - EXPECT_NEAR(solvent_model.Vcav(0, 1), -2.1006480538, 1e-10); - EXPECT_NEAR(solvent_model.Vcav(1, 0), 4.8556305312, 1e-10); - EXPECT_NEAR(solvent_model.Vcav(1, 1), -2.1006480538, 1e-10); + EXPECT_NEAR(v_res(0, 0), 4.8556305312, 1e-10); + EXPECT_NEAR(v_res(0, 1), -2.1006480538, 1e-10); + EXPECT_NEAR(v_res(1, 0), 4.8556305312, 1e-10); + EXPECT_NEAR(v_res(1, 1), -2.1006480538, 1e-10); delete[] PS_TOTN; } @@ -279,4 +281,4 @@ int main(int argc, char** argv) #endif return result; -} +} \ No newline at end of file diff --git a/source/source_hamilt/module_surchem/test/cal_vel_test.cpp b/source/source_hamilt/module_surchem/test/cal_vel_test.cpp index 60d925b3fb..818e52dbe6 100644 --- a/source/source_hamilt/module_surchem/test/cal_vel_test.cpp +++ b/source/source_hamilt/module_surchem/test/cal_vel_test.cpp @@ -220,10 +220,13 @@ TEST_F(cal_vel_test, cal_vel) solvent_model.TOTN_real = new double[nrxx]; solvent_model.delta_phi = new double[nrxx]; - solvent_model.cal_vel(ucell, &pwtest, TOTN, PS_TOTN, nspin); + ModuleBase::matrix v_res(nspin, nrxx); + ModuleBase::GlobalFunc::ZEROS(v_res.c, nspin * nrxx); - EXPECT_NEAR(solvent_model.Vel(0, 0), 0.0532168705, 1e-10); - EXPECT_NEAR(solvent_model.Vel(0, 1), 0.0447818244, 1e-10); + solvent_model.cal_vel(ucell, &pwtest, TOTN, PS_TOTN, nspin, v_res); + + EXPECT_NEAR(v_res(0, 0), 0.0532168705, 1e-10); + EXPECT_NEAR(v_res(0, 1), 0.0447818244, 1e-10); delete[] PS_TOTN; delete[] TOTN; @@ -245,4 +248,4 @@ int main(int argc, char** argv) #endif return result; -} +} \ No newline at end of file diff --git a/source/source_hamilt/module_surchem/test/setcell.h b/source/source_hamilt/module_surchem/test/setcell.h index 308a557319..ebd38bcc09 100644 --- a/source/source_hamilt/module_surchem/test/setcell.h +++ b/source/source_hamilt/module_surchem/test/setcell.h @@ -27,6 +27,10 @@ Atom_pseudo::Atom_pseudo(){}; Atom_pseudo::~Atom_pseudo(){}; pseudo::pseudo(){}; pseudo::~pseudo(){}; +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} /* Structure_Factor::Structure_Factor(){}; Structure_Factor::~Structure_Factor(){}; @@ -46,7 +50,7 @@ class Setcell ucell.atoms[1].ncpp.psd = "O"; ucell.lat0 = 1; - ucell.lat0_angstrom = ucell.lat0 * 0.529177; + ucell.lat0_angstrom = ucell.lat0 * ModuleBase::BOHR_TO_A; ucell.tpiba = ModuleBase::TWO_PI / ucell.lat0; ucell.tpiba2 = ucell.tpiba * ucell.tpiba; @@ -85,4 +89,4 @@ class Setcell }; }; -#endif \ No newline at end of file +#endif diff --git a/source/source_hamilt/module_vdw/test/vdw_test.cpp b/source/source_hamilt/module_vdw/test/vdw_test.cpp index 06bfa00571..5d66cb53a5 100644 --- a/source/source_hamilt/module_vdw/test/vdw_test.cpp +++ b/source/source_hamilt/module_vdw/test/vdw_test.cpp @@ -20,10 +20,10 @@ /** * - Tested functions: * - vdw::make_vdw(): -* Based on the value of INPUT.vdw_method, construct +* Based on the value of INPUT.vdw_method, construct * Vdwd2 or Vdwd3 class, and do the initialization. * - vdw::get_energy()/vdw::get_force()/vdw::get_stress(): -* Calculate the VDW (d2, d3_0 and d3_bj types) enerygy, force, stress. +* Calculate the VDW (d2, d3_0 and d3_bj types) enerygy, force, stress. * - Vdwd2Parameters::initial_parameters() * - Vdwd3Parameters::initial_parameters() */ @@ -60,6 +60,10 @@ Magnetism::~Magnetism() } InfoNonlocal::InfoNonlocal(){} InfoNonlocal::~InfoNonlocal(){} +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} struct atomtype_ { @@ -130,7 +134,7 @@ void construct_ucell(stru_ &stru, UnitCell &ucell) { ucell.itia2iat(it, ia) = iat; ++iat; - } + } } } @@ -211,7 +215,7 @@ TEST_F(vdwd2Test, OneAtomWarning) GlobalV::ofs_warning.open("warning.log"); std::ifstream ifs; std::string output; - + std::unique_ptr vdw_test = vdw::make_vdw(ucell1, input); GlobalV::ofs_warning.close(); @@ -230,7 +234,7 @@ TEST_F(vdwd2Test, D2ReadFile) input.vdw_C6_file = "c6.txt"; input.vdw_R0_file = "r0.txt"; vdw::Vdwd2 vdwd2_test(ucell); - + vdwd2_test.parameter().initial_parameters(input); double Si_C6 = 9.13*1e6 / (ModuleBase::ELECTRONVOLT_SI * ModuleBase::NA) / pow(ModuleBase::BOHR_TO_A, 6)/ ModuleBase::Ry_to_eV; EXPECT_NEAR(vdwd2_test.parameter().C6_["Si"], Si_C6,1e-13); @@ -242,7 +246,7 @@ TEST_F(vdwd2Test, D2ReadFileError) input.vdw_C6_file = "c6_wrong.txt"; input.vdw_R0_file = "r0_wrong.txt"; vdw::Vdwd2 vdwd2_test(ucell); - + testing::internal::CaptureStdout(); EXPECT_EXIT(vdwd2_test.parameter().C6_input(input.vdw_C6_file, input.vdw_C6_unit), ::testing::ExitedWithCode(1), ""); EXPECT_EXIT(vdwd2_test.parameter().R0_input(input.vdw_R0_file, input.vdw_R0_unit), ::testing::ExitedWithCode(1), ""); @@ -284,7 +288,7 @@ TEST_F(vdwd2Test, D2RadiusUnitAngstrom) { input.vdw_cutoff_radius = "56.6918"; input.vdw_radius_unit = "Angstrom"; - + vdw::Vdwd2 vdwd2_test(ucell); vdwd2_test.parameter().initial_parameters(input); EXPECT_EQ(vdwd2_test.parameter().radius_, 56.6918/ModuleBase::BOHR_TO_A); @@ -294,32 +298,32 @@ TEST_F(vdwd2Test, D2CutoffTypePeriod) { input.vdw_cutoff_type = "period"; input.vdw_cutoff_period = {3,3,3}; - + vdw::Vdwd2 vdwd2_test(ucell); vdwd2_test.parameter().initial_parameters(input); EXPECT_EQ(vdwd2_test.parameter().period(), input.vdw_cutoff_period); } TEST_F(vdwd2Test, D2R0ZeroQuit) -{ +{ vdw::Vdwd2 vdwd2_test(ucell); vdwd2_test.parameter().initial_parameters(input); vdwd2_test.parameter().R0_["Si"] = 0.0; - + testing::internal::CaptureStdout(); EXPECT_EXIT(vdwd2_test.get_energy(), ::testing::ExitedWithCode(1), ""); std::string output = testing::internal::GetCapturedStdout(); } TEST_F(vdwd2Test, D2GetEnergy) -{ +{ auto vdw_solver = vdw::make_vdw(ucell, input); double ene = vdw_solver->get_energy(); EXPECT_NEAR(ene,-0.034526673470525196,1E-10); } TEST_F(vdwd2Test, D2GetForce) -{ +{ auto vdw_solver = vdw::make_vdw(ucell, input); std::vector> force = vdw_solver->get_force(); EXPECT_NEAR(force[0].x, -0.00078824525563651242,1e-12); @@ -331,7 +335,7 @@ TEST_F(vdwd2Test, D2GetForce) } TEST_F(vdwd2Test, D2GetStress) -{ +{ auto vdw_solver = vdw::make_vdw(ucell, input); ModuleBase::Matrix3 stress = vdw_solver->get_stress(); EXPECT_NEAR(stress.e11, -0.00020532319044269705,1e-12); @@ -394,7 +398,7 @@ TEST_F(vdwd3Test, D30Default) EXPECT_EQ(vdwd3_test.parameter().version(), "d3_0"); EXPECT_EQ(vdwd3_test.parameter().model(), "radius"); EXPECT_EQ(vdwd3_test.parameter().rthr2(), std::pow(95, 2)); - EXPECT_EQ(vdwd3_test.parameter().cn_thr2(), std::pow(40, 2)); + EXPECT_EQ(vdwd3_test.parameter().cn_thr2(), std::pow(40, 2)); } TEST_F(vdwd3Test, D30UnitA) @@ -407,7 +411,7 @@ TEST_F(vdwd3Test, D30UnitA) vdwd3_test.parameter().initial_parameters(xc, input); EXPECT_EQ(vdwd3_test.parameter().rthr2(), std::pow(95/ModuleBase::BOHR_TO_A, 2)); - EXPECT_EQ(vdwd3_test.parameter().cn_thr2(), std::pow(40/ModuleBase::BOHR_TO_A, 2)); + EXPECT_EQ(vdwd3_test.parameter().cn_thr2(), std::pow(40/ModuleBase::BOHR_TO_A, 2)); } TEST_F(vdwd3Test, D30Period) @@ -421,18 +425,18 @@ TEST_F(vdwd3Test, D30Period) std::vector rep_vdw_ref = {input.vdw_cutoff_period.x, input.vdw_cutoff_period.y, input.vdw_cutoff_period.z}; EXPECT_EQ(vdwd3_test.parameter().period(), input.vdw_cutoff_period); - EXPECT_EQ(vdwd3_test.rep_vdw_, rep_vdw_ref); + EXPECT_EQ(vdwd3_test.rep_vdw_, rep_vdw_ref); } TEST_F(vdwd3Test, D30GetEnergy) -{ +{ auto vdw_solver = vdw::make_vdw(ucell, input); double ene = vdw_solver->get_energy(); EXPECT_NEAR(ene,-0.20932367230529664,1E-10); } TEST_F(vdwd3Test, D30GetForce) -{ +{ auto vdw_solver = vdw::make_vdw(ucell, input); std::vector> force = vdw_solver->get_force(); EXPECT_NEAR(force[0].x, -0.032450975169023302,1e-12); @@ -444,7 +448,7 @@ TEST_F(vdwd3Test, D30GetForce) } TEST_F(vdwd3Test, D30GetStress) -{ +{ auto vdw_solver = vdw::make_vdw(ucell, input); ModuleBase::Matrix3 stress = vdw_solver->get_stress(); EXPECT_NEAR(stress.e11, -0.0011141545452036336,1e-12); @@ -459,15 +463,15 @@ TEST_F(vdwd3Test, D30GetStress) } TEST_F(vdwd3Test, D3bjGetEnergy) -{ - input.vdw_method = "d3_bj"; +{ + input.vdw_method = "d3_bj"; auto vdw_solver = vdw::make_vdw(ucell, input); double ene = vdw_solver->get_energy(); EXPECT_NEAR(ene,-0.047458675421836918,1E-10); } TEST_F(vdwd3Test, D3bjGetForce) -{ +{ input.vdw_method = "d3_bj"; auto vdw_solver = vdw::make_vdw(ucell, input); std::vector> force = vdw_solver->get_force(); @@ -480,7 +484,7 @@ TEST_F(vdwd3Test, D3bjGetForce) } TEST_F(vdwd3Test, D3bjGetStress) -{ +{ input.vdw_method = "d3_bj"; auto vdw_solver = vdw::make_vdw(ucell, input); ModuleBase::Matrix3 stress = vdw_solver->get_stress(); @@ -530,14 +534,14 @@ class vdwd3abcTest: public testing::Test TEST_F(vdwd3abcTest, D30GetEnergy) -{ +{ auto vdw_solver = vdw::make_vdw(ucell, input); double ene = vdw_solver->get_energy(); EXPECT_NEAR(ene,-0.11487062308916372,1E-10); } TEST_F(vdwd3abcTest, D30GetForce) -{ +{ auto vdw_solver = vdw::make_vdw(ucell, input); std::vector> force = vdw_solver->get_force(); EXPECT_NEAR(force[0].x, 0.030320738678429094,1e-12); @@ -549,7 +553,7 @@ TEST_F(vdwd3abcTest, D30GetForce) } TEST_F(vdwd3abcTest, D30GetStress) -{ +{ auto vdw_solver = vdw::make_vdw(ucell, input); ModuleBase::Matrix3 stress = vdw_solver->get_stress(); EXPECT_NEAR(stress.e11, -0.00023421562840819491,1e-12); @@ -564,7 +568,7 @@ TEST_F(vdwd3abcTest, D30GetStress) } TEST_F(vdwd3abcTest, D3bjGetEnergy) -{ +{ input.vdw_method = "d3_bj"; auto vdw_solver = vdw::make_vdw(ucell, input); double ene = vdw_solver->get_energy(); @@ -572,7 +576,7 @@ TEST_F(vdwd3abcTest, D3bjGetEnergy) } TEST_F(vdwd3abcTest, D3bjGetForce) -{ +{ input.vdw_method = "d3_bj"; auto vdw_solver = vdw::make_vdw(ucell, input); std::vector> force = vdw_solver->get_force(); @@ -585,7 +589,7 @@ TEST_F(vdwd3abcTest, D3bjGetForce) } TEST_F(vdwd3abcTest, D3bjGetStress) -{ +{ input.vdw_method = "d3_bj"; auto vdw_solver = vdw::make_vdw(ucell, input); ModuleBase::Matrix3 stress = vdw_solver->get_stress(); diff --git a/source/source_hamilt/module_vdw/vdwd3_autoset_xcparam.cpp b/source/source_hamilt/module_vdw/vdwd3_autoset_xcparam.cpp index 8e520c6a41..c2c68bb4a1 100644 --- a/source/source_hamilt/module_vdw/vdwd3_autoset_xcparam.cpp +++ b/source/source_hamilt/module_vdw/vdwd3_autoset_xcparam.cpp @@ -243,6 +243,9 @@ const std::pair> zero_data[] = { {"b97_d", {1.0, 0.892, 0.892, 0.909, 1.0, 1.0, 1.0, 14.0, 0.0}}, {"b973c", {1.0, 1.06, 1.06, 1.5, 1.0, 1.0, 1.0, 14.0, 0.0}}, {"pbe", {1.0, 1.217, 1.217, 0.722, 1.0, 1.0, 1.0, 14.0, 0.0}}, + {"pbesol", {1.0, 1.345, 1.345, 0.612, 1.0, 1.0, 1.0, 14.0, 0.0}}, + // issue#6646, d3 zero-damping support for PBEsol, + // parameters retrived from https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3/zero_damping {"rpw86pbe", {1.0, 1.224, 1.224, 0.901, 1.0, 1.0, 1.0, 14.0, 0.0}}, {"b3lyp", {1.0, 1.261, 1.261, 1.703, 1.0, 1.0, 1.0, 14.0, 0.0}}, {"tpss", {1.0, 1.166, 1.166, 1.105, 1.0, 1.0, 1.0, 14.0, 0.0}}, diff --git a/source/source_hamilt/module_vdw/vdwd3_parameters_tab.cpp b/source/source_hamilt/module_vdw/vdwd3_parameters_tab.cpp index bd06018e6e..534f845ea4 100644 --- a/source/source_hamilt/module_vdw/vdwd3_parameters_tab.cpp +++ b/source/source_hamilt/module_vdw/vdwd3_parameters_tab.cpp @@ -11,7 +11,7 @@ namespace vdw void Vdwd3Parameters::init_C6() { - std::vector C6_tmp = { + static const double C6_tmp[] = { 0.30267000E+1,0.100E+1,0.100E+1,0.91180000E+0,0.91180000E+0 ,0.20835000E+1,0.200E+1,0.100E+1,0.00000000E+0,0.91180000E+0 ,0.15583000E+1,0.200E+1,0.200E+1,0.00000000E+0,0.00000000E+0 @@ -32475,7 +32475,7 @@ void Vdwd3Parameters::init_rcov() void Vdwd3Parameters::init_r0ab() { - std::vector r = { + static const double r[] = { 2.1823, 1.8547, 1.7347, 2.9086, 2.5732, 3.4956, 2.3550, 2.5095, 2.9802, 3.0982, 2.5141, 2.3917, 2.9977, 2.9484, 3.2160, 2.4492, 2.2527, 3.1933, 3.0214, 2.9531, 2.9103, diff --git a/source/source_hamilt/module_xc/exx_info.h b/source/source_hamilt/module_xc/exx_info.h index 0b427b438d..5cca433b94 100644 --- a/source/source_hamilt/module_xc/exx_info.h +++ b/source/source_hamilt/module_xc/exx_info.h @@ -67,8 +67,7 @@ struct Exx_Info double ccp_rmesh_times = 10; bool exx_symmetry_realspace = true; double kmesh_times = 4; - - int abfs_Lmax = 0; // tmp + double Cs_inv_thr = -1; Exx_Info_RI(const Exx_Info::Exx_Info_Global& info_global) : coulomb_param(info_global.coulomb_param) @@ -79,9 +78,14 @@ struct Exx_Info struct Exx_Info_Opt_ABFs { - int abfs_Lmax = 0; // tmp + int abfs_Lmax = 0; double ecut_exx = 60; - double tolerence = 1E-2; + double tolerence = 1E-12; + std::vector files_jles; + + double pca_threshold = 0; + std::vector files_abfs; + double kmesh_times = 4; }; Exx_Info_Opt_ABFs info_opt_abfs; diff --git a/source/source_hamilt/module_xc/test/CMakeLists.txt b/source/source_hamilt/module_xc/test/CMakeLists.txt index eb24bfec27..f1ecb49d70 100644 --- a/source/source_hamilt/module_xc/test/CMakeLists.txt +++ b/source/source_hamilt/module_xc/test/CMakeLists.txt @@ -20,10 +20,10 @@ AddTest( ) if (USE_CUDA) -list(APPEND FFT_SRC ../../../source_basis/module_pw/module_fft/fft_cuda.cpp) +list(APPEND FFT_SRC ../../../source_base/module_fft/fft_cuda.cpp) endif() if (USE_ROCM) -list(APPEND FFT_SRC ../../../source_basis/module_pw/module_fft/fft_rocm.cpp) +list(APPEND FFT_SRC ../../../source_base/module_fft/fft_rocm.cpp) endif() AddTest( TARGET XCTest_GRADCORR @@ -41,8 +41,8 @@ AddTest( ../../../source_base/libm/branred.cpp ../../../source_base/libm/sincos.cpp ../../../source_base/module_external/blas_connector_base.cpp ../../../source_base/module_external/blas_connector_vector.cpp ../../../source_base/module_external/blas_connector_matrix.cpp - ../../../source_basis/module_pw/module_fft/fft_bundle.cpp - ../../../source_basis/module_pw/module_fft/fft_cpu.cpp + ../../../source_base/module_fft/fft_bundle.cpp + ../../../source_base/module_fft/fft_cpu.cpp ${FFT_SRC} ) @@ -79,7 +79,7 @@ AddTest( ../../../source_base/timer.cpp ../../../source_base/libm/branred.cpp ../../../source_base/libm/sincos.cpp - ../../../source_basis/module_pw/module_fft/fft_bundle.cpp - ../../../source_basis/module_pw/module_fft/fft_cpu.cpp + ../../../source_base/module_fft/fft_bundle.cpp + ../../../source_base/module_fft/fft_cpu.cpp ${FFT_SRC} ) \ No newline at end of file diff --git a/source/source_hamilt/module_xc/test/xc3_mock.h b/source/source_hamilt/module_xc/test/xc3_mock.h index 8200bb5eaa..131067c3e9 100644 --- a/source/source_hamilt/module_xc/test/xc3_mock.h +++ b/source/source_hamilt/module_xc/test/xc3_mock.h @@ -187,6 +187,11 @@ Charge::~Charge(){}; Magnetism::Magnetism(){}; Magnetism::~Magnetism(){}; +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} + namespace elecstate { void cal_ux(UnitCell& ucell) diff --git a/source/source_hamilt/module_xc/xc_functional.cpp b/source/source_hamilt/module_xc/xc_functional.cpp index e530cc9cdd..5b669d2a7d 100644 --- a/source/source_hamilt/module_xc/xc_functional.cpp +++ b/source/source_hamilt/module_xc/xc_functional.cpp @@ -29,18 +29,29 @@ void XC_Functional::set_xc_first_loop(const UnitCell& ucell) the first scf iteration only calculate the functional without exact exchange. but in "nscf" calculation, there is no need of "two-level" method. */ - if (ucell.atoms[0].ncpp.xc_func == "HF" || ucell.atoms[0].ncpp.xc_func == "HSE" - || ucell.atoms[0].ncpp.xc_func == "PBE0"|| ucell.atoms[0].ncpp.xc_func == "LC_PBE" - || ucell.atoms[0].ncpp.xc_func == "LC_WPBE" || ucell.atoms[0].ncpp.xc_func == "LRC_WPBEH" - || ucell.atoms[0].ncpp.xc_func == "CAM_PBEH") { + if (ucell.atoms[0].ncpp.xc_func == "HF" || ucell.atoms[0].ncpp.xc_func == "PBE0" || ucell.atoms[0].ncpp.xc_func == "HSE") + { XC_Functional::set_xc_type("pbe"); } - else if (ucell.atoms[0].ncpp.xc_func == "SCAN0") { - XC_Functional::set_xc_type("scan"); + else if ( ucell.atoms[0].ncpp.xc_func == "LC_PBE" || ucell.atoms[0].ncpp.xc_func == "LC_WPBE" + || ucell.atoms[0].ncpp.xc_func == "LRC_WPBEH" || ucell.atoms[0].ncpp.xc_func == "CAM_PBEH" ) + { + XC_Functional::set_xc_type("pbe"); + } + // added by jghan, 2024-07-07 + else if ( ucell.atoms[0].ncpp.xc_func == "MULLER" || ucell.atoms[0].ncpp.xc_func == "POWER" + || ucell.atoms[0].ncpp.xc_func == "WP22" || ucell.atoms[0].ncpp.xc_func == "CWP22" ) + { + XC_Functional::set_xc_type("pbe"); } - else if (ucell.atoms[0].ncpp.xc_func == "B3LYP") { + else if (ucell.atoms[0].ncpp.xc_func == "B3LYP") + { XC_Functional::set_xc_type("blyp"); } + else if (ucell.atoms[0].ncpp.xc_func == "SCAN0") + { + XC_Functional::set_xc_type("scan"); + } } // The setting values of functional id according to the index in LIBXC @@ -278,6 +289,10 @@ void XC_Functional::set_xc_type(const std::string xc_func_in) { ked_flag = true; } + else + { + ked_flag = false; + } if (func_id[0] == XC_GGA_X_OPTX) { @@ -312,3 +327,42 @@ void XC_Functional::set_xc_type(const std::string xc_func_in) #endif } + +std::string XC_Functional::output_info() +{ + #ifdef USE_LIBXC + if(use_libxc) + { + std::stringstream ss; + ss<<" Libxc v"< funcs = XC_Functional_Libxc::init_func(func_id, XC_UNPOLARIZED); + for(const auto &func : funcs) + { + const xc_func_info_type *info = xc_func_get_info(&func); + ss<<" XC: "< func_id; // libxc id of functional diff --git a/source/source_hamilt/module_xc/xc_functional_libxc.cpp b/source/source_hamilt/module_xc/xc_functional_libxc.cpp index ca1f0099a7..1eb15e7a27 100644 --- a/source/source_hamilt/module_xc/xc_functional_libxc.cpp +++ b/source/source_hamilt/module_xc/xc_functional_libxc.cpp @@ -40,7 +40,7 @@ bool not_supported_xc_with_nonlocal_vdw(const std::string& xc_func_in) if(xc_func.find("VV10") != std::string::npos) { return true; } /* known excluded: GGA_XC_VV10, HYB_GGA_XC_LC_VV10, MGGA_C_REVSCAN_VV10, MGGA_C_SCAN_VV10, - MGGA_C_SCANL_VV10, MGGA_XC_VCML_RVV10 */ + MGGA_C_SCANL_VV10, MGGA_XC_VCML_RVV10 */ const std::vector not_supported = {"C09X", "VCML", "HYB_MGGA_XC_WB97M_V", "MGGA_XC_B97M_V"}; for(const std::string& str : not_supported) @@ -54,8 +54,8 @@ bool not_supported_xc_with_nonlocal_vdw(const std::string& xc_func_in) { std::cout << " WARNING: range-seperated XC omega-B97 family with nonlocal correction term is used.\n" << " if you are not planning to use these functionals like wB97X-D3BJ that:\n" - << " XC_GGA_XC_WB97X_V with specified D3BJ DFT-D3 parameters, this is not what\n" - << " you want." << std::endl; + << " XC_GGA_XC_WB97X_V with specified D3BJ DFT-D3 parameters, this is not what\n" + << " you want." << std::endl; } return false; } @@ -92,7 +92,7 @@ int xc_func_type_classifier(const std::string& xc_func, std::pair> XC_Functional_Libxc::set_xc_type_libxc(const std::string& xc_func_in) { - // check if the functional involves Laplacian of rho + // check if the functional involves Laplacian of rho if (not_supported_xc_with_laplacian(xc_func_in)) { ModuleBase::WARNING_QUIT("XC_Functional::set_xc_type_libxc", @@ -120,14 +120,14 @@ XC_Functional_Libxc::set_xc_type_libxc(const std::string& xc_func_in) } // check if there is None (no, we dont check it) - int func_type = xcfunc_type_.front(); // all functionals are of the same type + int func_type = xcfunc_type_.front(); // all functionals are of the same type // if (func_type == 0) // { // ModuleBase::WARNING_QUIT("XC_Functional::set_xc_type_libxc", // "Unrecognized functional type in '" + xc_func_in + "'."); // } - // determine the functional id + // determine the functional id std::vector func_id(xcfunc_words_.size(), -1); std::transform(xcfunc_words_.begin(), xcfunc_words_.end(), func_id.begin(), [](const std::string& func) { return xc_functional_get_number(func.c_str()); }); @@ -144,7 +144,7 @@ XC_Functional_Libxc::set_xc_type_libxc(const std::string& xc_func_in) } // return - return std::make_pair(func_type, func_id); + return std::make_pair(func_type, func_id); } const std::vector in_built_xc_func_ext_params(const int id) @@ -176,45 +176,45 @@ const std::vector in_built_xc_func_ext_params(const int id) return {0.04918, 0.132, 0.2533, 0.349, 0.35/2.29, 2.0/2.29, GlobalC::exx_info.info_global.hse_omega}; // Long-range corrected functionals: - case XC_HYB_GGA_XC_LC_PBEOP: // LC version of PBE + case XC_HYB_GGA_XC_LC_PBEOP: // LC version of PBE { - // This is a range-separated hybrid functional with range-separation constant 0.330, - // and 0.0% short-range and 100.0% long-range exact exchange, - // using the error function kernel. + // This is a range-separated hybrid functional with range-separation constant 0.330, + // and 0.0% short-range and 100.0% long-range exact exchange, + // using the error function kernel. return { GlobalC::exx_info.info_global.hse_omega }; //Range separation constant: 0.33 } - case XC_HYB_GGA_XC_LC_WPBE: // Long-range corrected PBE (LC-wPBE) by Vydrov and Scuseria + case XC_HYB_GGA_XC_LC_WPBE: // Long-range corrected PBE (LC-wPBE) by Vydrov and Scuseria { - // This is a range-separated hybrid functional with range-separation constant 0.400, - // and 0.0% short-range and 100.0% long-range exact exchange, - // using the error function kernel. + // This is a range-separated hybrid functional with range-separation constant 0.400, + // and 0.0% short-range and 100.0% long-range exact exchange, + // using the error function kernel. return { std::stod(PARAM.inp.exx_fock_alpha[0]), //Fraction of Hartree-Fock exchange: 1.0 std::stod(PARAM.inp.exx_erfc_alpha[0]), //Fraction of short-range exact exchange: -1.0 GlobalC::exx_info.info_global.hse_omega }; //Range separation constant: 0.4 } - case XC_HYB_GGA_XC_LRC_WPBE: // Long-range corrected PBE (LRC-wPBE) by by Rohrdanz, Martins and Herbert + case XC_HYB_GGA_XC_LRC_WPBE: // Long-range corrected PBE (LRC-wPBE) by by Rohrdanz, Martins and Herbert { - // This is a range-separated hybrid functional with range-separation constant 0.300, - // and 0.0% short-range and 100.0% long-range exact exchange, - // using the error function kernel. + // This is a range-separated hybrid functional with range-separation constant 0.300, + // and 0.0% short-range and 100.0% long-range exact exchange, + // using the error function kernel. return { std::stod(PARAM.inp.exx_fock_alpha[0]), //Fraction of Hartree-Fock exchange: 1.0 std::stod(PARAM.inp.exx_erfc_alpha[0]), //Fraction of short-range exact exchange: -1.0 GlobalC::exx_info.info_global.hse_omega }; //Range separation constant: 0.3 } - case XC_HYB_GGA_XC_LRC_WPBEH: // Long-range corrected short-range hybrid PBE (LRC-wPBEh) by Rohrdanz, Martins and Herbert + case XC_HYB_GGA_XC_LRC_WPBEH: // Long-range corrected short-range hybrid PBE (LRC-wPBEh) by Rohrdanz, Martins and Herbert { - // This is a range-separated hybrid functional with range-separation constant 0.200, - // and 20.0% short-range and 100.0% long-range exact exchange, - // using the error function kernel. + // This is a range-separated hybrid functional with range-separation constant 0.200, + // and 20.0% short-range and 100.0% long-range exact exchange, + // using the error function kernel. return { std::stod(PARAM.inp.exx_fock_alpha[0]), //Fraction of Hartree-Fock exchange: 1.0 std::stod(PARAM.inp.exx_erfc_alpha[0]), //Fraction of short-range exact exchange: -0.8 GlobalC::exx_info.info_global.hse_omega }; //Range separation constant: 0.2 } - case XC_HYB_GGA_XC_CAM_PBEH: // CAM hybrid screened exchange PBE version + case XC_HYB_GGA_XC_CAM_PBEH: // CAM hybrid screened exchange PBE version { - // This is a range-separated hybrid functional with range-separation constant 0.700, - // and 100.0% short-range and 20.0% long-range exact exchange, - // using the error function kernel. + // This is a range-separated hybrid functional with range-separation constant 0.700, + // and 100.0% short-range and 20.0% long-range exact exchange, + // using the error function kernel. return { std::stod(PARAM.inp.exx_fock_alpha[0]), //Fraction of Hartree-Fock exchange: 0.2 std::stod(PARAM.inp.exx_erfc_alpha[0]), //Fraction of short-range exact exchange: 0.8 GlobalC::exx_info.info_global.hse_omega }; //Range separation constant: 0.7 @@ -287,10 +287,10 @@ XC_Functional_Libxc::init_func(const std::vector &func_id, void XC_Functional_Libxc::finish_func(std::vector &funcs) { - for(xc_func_type func : funcs) + for(xc_func_type func : funcs) { - xc_func_end(&func); - } + xc_func_end(&func); + } } #endif \ No newline at end of file diff --git a/source/source_hamilt/module_xc/xc_functional_libxc.h b/source/source_hamilt/module_xc/xc_functional_libxc.h index 948db289db..defd851faa 100644 --- a/source/source_hamilt/module_xc/xc_functional_libxc.h +++ b/source/source_hamilt/module_xc/xc_functional_libxc.h @@ -53,13 +53,13 @@ namespace XC_Functional_Libxc // xc_functional_libxc_vxc.cpp //------------------- - extern std::tuple v_xc_libxc( - const std::vector &func_id, - const int &nrxx, // number of real-space grid - const double &omega, // volume of cell - const double tpiba, - const Charge* const chr, // charge density - const std::map* scaling_factor = nullptr); // added by jghan, 2024-10-10 + extern std::tuple v_xc_libxc( + const std::vector &func_id, + const int &nrxx, // number of real-space grid + const double &omega, // volume of cell + const double tpiba, + const Charge* const chr, // charge density + const std::map* scaling_factor = nullptr); // added by jghan, 2024-10-10 // for mGGA functional extern std::tuple v_xc_meta( diff --git a/source/source_hamilt/module_xc/xc_functional_libxc_tools.cpp b/source/source_hamilt/module_xc/xc_functional_libxc_tools.cpp index d7c8439d10..4d4af83a7e 100644 --- a/source/source_hamilt/module_xc/xc_functional_libxc_tools.cpp +++ b/source/source_hamilt/module_xc/xc_functional_libxc_tools.cpp @@ -16,8 +16,12 @@ std::vector XC_Functional_Libxc::convert_rho( #pragma omp parallel for collapse(2) schedule(static, 1024) #endif for( int is=0; isrho[is][ir] + 1.0/nspin*chr->rho_core[ir]; + } + } return rho; } @@ -64,7 +68,9 @@ XC_Functional_Libxc::cal_gdr( #pragma omp parallel for schedule(static, 1024) #endif for(std::size_t ir=0; ir XC_Functional_Libxc::convert_sigma( assert(nspin>0); const std::size_t nrxx = gdr[0].size(); for(std::size_t is=1; is sigma( nrxx * ((1==nspin)?1:3) ); if( 1==nspin ) @@ -126,6 +134,7 @@ std::vector XC_Functional_Libxc::cal_sgn( const std::vector &rho, const std::vector &sigma) { + //assert(nrxx>0); // adding this once will cause error in examples std::vector sgn(nrxx*nspin, 1.0); // in the case of GGA correlation for polarized case, // a cutoff for grho is required to ensure that libxc gives reasonable results @@ -137,9 +146,13 @@ std::vector XC_Functional_Libxc::cal_sgn( for( int ir=0; ir XC_Functional_Libxc::convert_vtxc_v( const double tpiba, const Charge* const chr) { + // assert(nrxx>0); // will cause error double vtxc = 0.0; ModuleBase::matrix v(nspin, nrxx); @@ -186,9 +204,10 @@ std::pair XC_Functional_Libxc::convert_vtxc_v( { for( std::size_t ir=0; ir> XC_Functional_Libxc::cal_dh( const double tpiba, const Charge* const chr) { + //assert(nrxx>0); // this line will cause bug std::vector>> h( nspin, std::vector>(nrxx) ); - if( 1==nspin ) + + if( nspin==1 ) { #ifdef _OPENMP #pragma omp parallel for schedule(static, 1024) #endif for( std::size_t ir=0; ir> XC_Functional_Libxc::cal_dh( // define two dimensional array dh [ nspin, nrxx ] std::vector> dh(nspin, std::vector(nrxx)); for( int is=0; is!=nspin; ++is ) + { XC_Functional::grad_dot( h[is].data(), dh[is].data(), chr->rhopw, tpiba); + } return dh; } @@ -267,11 +292,14 @@ ModuleBase::matrix XC_Functional_Libxc::convert_v_nspin4( const std::vector &amag, const ModuleBase::matrix &v) { + //assert(nrxx>0); assert(PARAM.inp.nspin==4); constexpr double vanishing_charge = 1.0e-10; ModuleBase::matrix v_nspin4(PARAM.inp.nspin, nrxx); for( int ir=0; irrho[ipol][ir] / amag[ir]; + } } } } return v_nspin4; } -#endif \ No newline at end of file +#endif diff --git a/source/source_hamilt/module_xc/xc_functional_vxc.cpp b/source/source_hamilt/module_xc/xc_functional_vxc.cpp index 3eb59834de..0ac1990059 100644 --- a/source/source_hamilt/module_xc/xc_functional_vxc.cpp +++ b/source/source_hamilt/module_xc/xc_functional_vxc.cpp @@ -4,30 +4,35 @@ // NOTE : it is only used for nspin = 1 and 2, the nspin = 4 case is treated in v_xc // 3. v_xc_meta : which takes rho and tau as input, and v_xc as output -#include "xc_functional.h" #include "source_base/parallel_reduce.h" #include "source_base/timer.h" #include "source_io/module_parameter/parameter.h" +#include "xc_functional.h" #ifdef USE_LIBXC #include "xc_functional_libxc.h" #endif // [etxc, vtxc, v] = XC_Functional::v_xc(...) -std::tuple XC_Functional::v_xc( - const int &nrxx, // number of real-space grid - const Charge* const chr, - const UnitCell *ucell) // core charge density +std::tuple XC_Functional::v_xc(const int& nrxx, // number of real-space grid + const Charge* const chr, + const UnitCell* ucell) // core charge density { - ModuleBase::TITLE("XC_Functional","v_xc"); - ModuleBase::timer::tick("XC_Functional","v_xc"); + ModuleBase::TITLE("XC_Functional", "v_xc"); + ModuleBase::timer::tick("XC_Functional", "v_xc"); - if(use_libxc) + if (use_libxc) { #ifdef USE_LIBXC - return XC_Functional_Libxc::v_xc_libxc(XC_Functional::get_func_id(), nrxx, ucell->omega, ucell->tpiba, chr, &(scaling_factor_xc)); + ModuleBase::timer::tick("XC_Functional", "v_xc"); + return XC_Functional_Libxc::v_xc_libxc(XC_Functional::get_func_id(), + nrxx, + ucell->omega, + ucell->tpiba, + chr, + &(scaling_factor_xc)); #else - ModuleBase::WARNING_QUIT("v_xc","compile with LIBXC"); + ModuleBase::WARNING_QUIT("v_xc", "compile with LIBXC"); #endif } @@ -134,7 +139,7 @@ std::tuple XC_Functional::v_xc( double rhodw = arhox * (1.0-zeta) / 2.0; XC_Functional_Libxc::xc_spin_libxc(XC_Functional::get_func_id(), rhoup, rhodw, exc, vxc[0], vxc[1]); #else - ModuleBase::WARNING_QUIT("v_xc","compile with LIBXC"); + ModuleBase::WARNING_QUIT("v_xc", "compile with LIBXC"); #endif } else @@ -180,6 +185,6 @@ std::tuple XC_Functional::v_xc( etxc *= ucell->omega / chr->rhopw->nxyz; vtxc *= ucell->omega / chr->rhopw->nxyz; - ModuleBase::timer::tick("XC_Functional","v_xc"); + ModuleBase::timer::tick("XC_Functional", "v_xc"); return std::make_tuple(etxc, vtxc, std::move(v)); } diff --git a/source/source_hsolver/CMakeLists.txt b/source/source_hsolver/CMakeLists.txt index 8fa1d17983..568510b603 100644 --- a/source/source_hsolver/CMakeLists.txt +++ b/source/source_hsolver/CMakeLists.txt @@ -21,6 +21,7 @@ if(ENABLE_LCAO) hsolver_lcao.cpp diago_scalapack.cpp parallel_k2d.cpp + diago_lapack.cpp ) else () list(APPEND objects @@ -37,7 +38,7 @@ if(ENABLE_LCAO) if(USE_CUDA) list(APPEND objects - ./kernels/dngvd_op.cpp + ./kernels/hegvd_op.cpp ./kernels/cuda/diag_cusolver.cu diago_cusolver.cpp diago_cusolver.h diff --git a/source/source_hsolver/diago_bpcg.cpp b/source/source_hsolver/diago_bpcg.cpp index 45c9b8b24d..d4db3d790b 100644 --- a/source/source_hsolver/diago_bpcg.cpp +++ b/source/source_hsolver/diago_bpcg.cpp @@ -112,14 +112,14 @@ void DiagoBPCG::line_minimize( // Finally, the last two! template void DiagoBPCG::orth_cholesky( - ct::Tensor& workspace_in, - ct::Tensor& psi_out, - ct::Tensor& hpsi_out, + ct::Tensor& workspace_in, + ct::Tensor& psi_out, + ct::Tensor& hpsi_out, ct::Tensor& hsub_out) { // gemm: hsub_out(n_band x n_band) = psi_out^T(n_band x n_basis) * psi_out(n_basis x n_band) this->pmmcn.multiply(1.0, psi_out.data(), psi_out.data(), 0.0, hsub_out.data()); - + // set hsub matrix to lower format; ct::kernels::set_matrix()( 'L', hsub_out.data(), this->n_band); @@ -209,7 +209,8 @@ void DiagoBPCG::diag_hsub( // gemm: hsub_out(n_band x n_band) = hpsi_in^T(n_band x n_basis) * psi_in(n_basis x n_band) this->pmmcn.multiply(1.0, hpsi_in.data(), psi_in.data(), 0.0, hsub_out.data()); - ct::kernels::lapack_dnevd()('V', 'U', hsub_out.data(), this->n_band, eigenvalue_out.data()); + // ct::kernels::lapack_heevd()('V', 'U', hsub_out.data(), this->n_band, eigenvalue_out.data()); + ct::kernels::lapack_heevd()(this->n_band, hsub_out.data(), this->n_band, eigenvalue_out.data()); return; } @@ -235,15 +236,15 @@ void DiagoBPCG::calc_hsub_with_block( // hpsi_out[n_basis, n_band] = psi_out[n_basis, n_band] x hsub_out[n_band, n_band] this->rotate_wf(hsub_out, psi_out, workspace_in); this->rotate_wf(hsub_out, hpsi_out, workspace_in); - + return; } template void DiagoBPCG::calc_hsub_with_block_exit( - ct::Tensor& psi_out, + ct::Tensor& psi_out, ct::Tensor& hpsi_out, - ct::Tensor& hsub_out, + ct::Tensor& hsub_out, ct::Tensor& workspace_in, ct::Tensor& eigenvalue_out) { diff --git a/source/source_hsolver/diago_bpcg.h b/source/source_hsolver/diago_bpcg.h index d9baa9eef3..796ae77666 100644 --- a/source/source_hsolver/diago_bpcg.h +++ b/source/source_hsolver/diago_bpcg.h @@ -7,7 +7,7 @@ #include "source_base/para_gemm.h" #include "source_hamilt/hamilt.h" #include "source_pw/module_pwdft/structure_factor.h" -#include "source_hsolver/kernels/dngvd_op.h" +#include "source_hsolver/kernels/hegvd_op.h" #include "source_hsolver/para_linear_transform.h" #include diff --git a/source/source_hsolver/diago_cg.cpp b/source/source_hsolver/diago_cg.cpp index 0c8f5b81e7..564c36e74b 100644 --- a/source/source_hsolver/diago_cg.cpp +++ b/source/source_hsolver/diago_cg.cpp @@ -28,7 +28,7 @@ template DiagoCG::DiagoCG(const std::string& basis_type, const std::string& calculation, const bool& need_subspace, - const Func& subspace_func, + const SubspaceFunc& subspace_func, const Real& pw_diag_thr, const int& pw_diag_nmax, const int& nproc_in_pool) @@ -54,7 +54,7 @@ DiagoCG::~DiagoCG() } template -void DiagoCG::diag_mock(const ct::Tensor& prec_in, +void DiagoCG::diag_once(const ct::Tensor& prec_in, ct::Tensor& psi, ct::Tensor& eigen, const std::vector& ethr_band) @@ -171,6 +171,7 @@ void DiagoCG::diag_mock(const ct::Tensor& prec_in, { ++this->notconv_; } + iter_band.push_back(iter); avg += static_cast(iter) + 1.00; // reorder eigenvalue if they are not in the right order @@ -569,13 +570,13 @@ bool DiagoCG::test_exit_cond(const int& ntry, const int& notconv) con // In non-self consistent calculation, do until totally converged. const bool f2 = !scf && notconv > 0; // if self consistent calculation, if not converged > 5, - // using diagH_subspace and cg method again. ntry++ + // using diag_subspace and cg method again. ntry++ const bool f3 = scf && notconv > 5; return f1 && (f2 || f3); } template -void DiagoCG::diag(const Func& hpsi_func, +double DiagoCG::diag(const Func& hpsi_func, const Func& spsi_func, ct::Tensor& psi, ct::Tensor& eigen, @@ -592,16 +593,29 @@ void DiagoCG::diag(const Func& hpsi_func, ct::Tensor psi_temp = psi.slice({0, 0}, {int(psi.shape().dim_size(0)), int(prec.shape().dim_size(0))}); do { - if (need_subspace_ || ntry > 0) + // subspace diagonalization to get a better starting guess + // for cg diagonalization, restart from current psi approximation + // Note: if not the first try, then psi is already S-orthogonalized by CG iterations! + // Otherwise, if the first try, then psi is not assumed to be S-orthogonalized + if (ntry > 0) { ct::TensorMap psi_map = ct::TensorMap(psi.data(), psi_temp); - this->subspace_func_(psi_temp, psi_map); + const bool assume_S_orthogonal = true; + this->subspace_func_(psi_temp, psi_map, assume_S_orthogonal); psi_temp.sync(psi_map); } + else if (need_subspace_) + { + ct::TensorMap psi_map = ct::TensorMap(psi.data(), psi_temp); + const bool assume_S_orthogonal = false; + this->subspace_func_(psi_temp, psi_map, assume_S_orthogonal); + psi_temp.sync(psi_map); + } + ++ntry; avg_iter_ += 1.0; - this->diag_mock(prec, psi_temp, eigen, ethr_band); + this->diag_once(prec, psi_temp, eigen, ethr_band); } while (this->test_exit_cond(ntry, this->notconv_)); if (this->notconv_ > std::max(5, this->n_band_ / 4)) @@ -613,6 +627,20 @@ void DiagoCG::diag(const Func& hpsi_func, psi.zero(); // copy psi_temp to psi for 0 to npw. psi.sync(psi_temp); + +#ifdef __DEBUG +// only output iter count for each band if DEBUG! +// this should not be output in production log + std::cout << "\n DiagoCG::diag' avg_iter_ = " << avg_iter_; + std::cout << "\n DiagoCG::diag' iter_band = "; + for (auto iter_in_band : iter_band) + { + std::cout << iter_in_band << " "; + } + std::cout << "\n"; +#endif + + return avg_iter_; } namespace hsolver @@ -631,4 +659,4 @@ template class DiagoCG; template class DiagoCG; #endif #endif -} // namespace hsolver \ No newline at end of file +} // namespace hsolver diff --git a/source/source_hsolver/diago_cg.h b/source/source_hsolver/diago_cg.h index 482f2bba04..bf03cb5850 100644 --- a/source/source_hsolver/diago_cg.h +++ b/source/source_hsolver/diago_cg.h @@ -2,6 +2,7 @@ #define MODULE_HSOLVER_DIAGO_CG_H_ #include +#include #include #include @@ -22,6 +23,7 @@ class DiagoCG final using ct_Device = typename ct::PsiToContainer::type; public: using Func = std::function; + using SubspaceFunc = std::function; // Constructor need: // 1. temporary mock of Hamiltonian "Hamilt_PW" // 2. precondition pointer should point to place of precondition array. @@ -30,17 +32,18 @@ class DiagoCG final const std::string& basis_type, const std::string& calculation, const bool& need_subspace, - const Func& subspace_func, + const SubspaceFunc& subspace_func, const Real& pw_diag_thr, const int& pw_diag_nmax, const int& nproc_in_pool); - + ~DiagoCG(); // virtual void init(){}; // refactor hpsi_info // this is the diag() function for CG method - void diag(const Func& hpsi_func, + // returns avg_iter + double diag(const Func& hpsi_func, const Func& spsi_func, ct::Tensor& psi, ct::Tensor& eigen, @@ -58,7 +61,9 @@ class DiagoCG final /// col size for input psi matrix int n_basis_ = 0; /// average iteration steps for cg diagonalization - int avg_iter_ = 0; + double avg_iter_ = 0; + /// std::vector for iter count of each band + std::vector iter_band; /// threshold for cg diagonalization Real pw_diag_thr_ = 1e-5; /// maximum iteration steps for cg diagonalization @@ -72,11 +77,11 @@ class DiagoCG final bool need_subspace_ = false; /// A function object that performs the hPsi calculation. - std::function hpsi_func_ = nullptr; + Func hpsi_func_ = nullptr; /// A function object that performs the sPsi calculation. - std::function spsi_func_ = nullptr; + Func spsi_func_ = nullptr; /// A function object that performs the subspace calculation. - std::function subspace_func_ = nullptr; + SubspaceFunc subspace_func_ = nullptr; void calc_grad( const ct::Tensor& prec, @@ -86,15 +91,15 @@ class DiagoCG final ct::Tensor& pphi); void orth_grad( - const ct::Tensor& psi, - const int& m, - ct::Tensor& grad, + const ct::Tensor& psi, + const int& m, + ct::Tensor& grad, ct::Tensor& scg, ct::Tensor& lagrange); void calc_gamma_cg( const int& iter, - const Real& cg_norm, + const Real& cg_norm, const Real& theta, const ct::Tensor& prec, const ct::Tensor& scg, @@ -109,8 +114,8 @@ class DiagoCG final const ct::Tensor& cg, const ct::Tensor& scg, const double& ethreshold, - Real &cg_norm, - Real &theta, + Real &cg_norm, + Real &theta, Real &eigen, ct::Tensor& phi_m, ct::Tensor& sphi, @@ -119,7 +124,7 @@ class DiagoCG final void schmit_orth(const int& m, const ct::Tensor& psi, const ct::Tensor& sphi, ct::Tensor& phi_m); // used in diag() for template replace Hamilt with Hamilt_PW - void diag_mock(const ct::Tensor& prec, + void diag_once(const ct::Tensor& prec, ct::Tensor& psi, ct::Tensor& eigen, const std::vector& ethr_band); @@ -132,4 +137,4 @@ class DiagoCG final } // namespace hsolver -#endif // MODULE_HSOLVER_DIAGO_CG_H_ \ No newline at end of file +#endif // MODULE_HSOLVER_DIAGO_CG_H_ diff --git a/source/source_hsolver/diago_cusolver.cpp b/source/source_hsolver/diago_cusolver.cpp index a42c7844ba..960c4ec5d7 100644 --- a/source/source_hsolver/diago_cusolver.cpp +++ b/source/source_hsolver/diago_cusolver.cpp @@ -15,24 +15,13 @@ using complex = std::complex; // Namespace for the diagonalization solver namespace hsolver { -// this struct is used for collecting matrices from all processes to root process -template -struct Matrix_g -{ - std::shared_ptr p; - size_t row; - size_t col; - std::shared_ptr desc; -}; - // Initialize the DecomposedState variable for real and complex numbers template int DiagoCusolver::DecomposedState = 0; template -DiagoCusolver::DiagoCusolver(const Parallel_Orbitals* ParaV) +DiagoCusolver::DiagoCusolver() { - this->ParaV = ParaV; } template @@ -40,162 +29,25 @@ DiagoCusolver::~DiagoCusolver() { } -// Wrapper for pdgemr2d and pzgemr2d -// static inline void Cpxgemr2d( -// const int M, const int N, -// double *a, const int ia, const int ja, const int *desca, -// double *b, const int ib, const int jb, const int *descb, -// const int blacs_ctxt) -//{ -// pdgemr2d_(&M, &N, -// a, &ia, &ja, desca, -// b, &ib, &jb, descb, -// &blacs_ctxt); -//} -// -// static inline void Cpxgemr2d( -// const int M, const int N, -// complex *a, const int ia, const int ja, const int *desca, -// complex *b, const int ib, const int jb, const int *descb, -// const int blacs_ctxt) -//{ -// pzgemr2d_(&M, &N, -// a, &ia, &ja, desca, -// b, &ib, &jb, descb, -// &blacs_ctxt); -//} - -// Use Cpxgemr2d to collect matrices from all processes to root process -template -static void gatherMatrix(const int myid, const int root_proc, const mat& mat_l, matg& mat_g) -{ - auto a = mat_l.p; - const int* desca = mat_l.desc; - int ctxt = desca[1]; - int nrows = desca[2]; - int ncols = desca[3]; - - if (myid == root_proc) - { - mat_g.p.reset(new typename std::remove_reference::type[nrows * ncols]); - } - else - { - mat_g.p.reset(new typename std::remove_reference::type[1]); - } - - // Set descb, which has all elements in the only block in the root process - mat_g.desc.reset(new int[9]{1, ctxt, nrows, ncols, nrows, ncols, 0, 0, nrows}); - - mat_g.row = nrows; - mat_g.col = ncols; - - Cpxgemr2d(nrows, ncols, a, 1, 1, const_cast(desca), mat_g.p.get(), 1, 1, mat_g.desc.get(), ctxt); -} - -// Convert the Psi to a 2D block storage format -template -static void distributePsi(const int* desc_psi, T* psi, T* psi_g) -{ - int ctxt = desc_psi[1]; - int nrows = desc_psi[2]; - int ncols = desc_psi[3]; - int rsrc = desc_psi[6]; - int csrc = desc_psi[7]; - - int descg[9] = {1, ctxt, nrows, ncols, nrows, ncols, rsrc, csrc, nrows}; - int descl[9]; - - std::copy(desc_psi, desc_psi + 9, descl); - - Cpxgemr2d(nrows, ncols, psi_g, 1, 1, descg, psi, 1, 1, descl, ctxt); -} - // Diagonalization function template -void DiagoCusolver::diag(hamilt::Hamilt* phm_in, psi::Psi& psi, Real* eigenvalue_in) +void DiagoCusolver::diag( + hamilt::MatrixBlock& h_mat, + hamilt::MatrixBlock& s_mat, + psi::Psi& psi, + Real* eigenvalue_in) { - // Output the title for the current operation ModuleBase::TITLE("DiagoCusolver", "diag"); - - // Create matrices for the Hamiltonian and overlap - hamilt::MatrixBlock h_mat; - hamilt::MatrixBlock s_mat; - phm_in->matrix(h_mat, s_mat); - -#ifdef __MPI - // global matrix - Matrix_g h_mat_g; - Matrix_g s_mat_g; - - // get the context and process information - int ctxt = ParaV->blacs_ctxt; - int nprows = 0; - int npcols = 0; - int myprow = 0; - int mypcol = 0; - Cblacs_gridinfo(ctxt, &nprows, &npcols, &myprow, &mypcol); - const int num_procs = nprows * npcols; - const int myid = Cblacs_pnum(ctxt, myprow, mypcol); - const int root_proc = Cblacs_pnum(ctxt, ParaV->desc[6], ParaV->desc[7]); -#endif - + ModuleBase::timer::tick("DiagoCusolver", "cusolver"); // Allocate memory for eigenvalues std::vector eigen(PARAM.globalv.nlocal, 0.0); - - // Start the timer for the cusolver operation - ModuleBase::timer::tick("DiagoCusolver", "cusolver"); - -#ifdef __MPI - if (num_procs > 1) - { - // gather matrices from processes to root process - gatherMatrix(myid, root_proc, h_mat, h_mat_g); - gatherMatrix(myid, root_proc, s_mat, s_mat_g); - } -#endif - - // Call the dense diagonalization routine -#ifdef __MPI - if (num_procs > 1) - { - MPI_Barrier(MPI_COMM_WORLD); - // global psi for distribute - int psi_len = myid == root_proc ? h_mat_g.row * h_mat_g.col : 1; - std::vector psi_g(psi_len); - if (myid == root_proc) - { - this->dc.Dngvd(h_mat_g.col, h_mat_g.row, h_mat_g.p.get(), s_mat_g.p.get(), eigen.data(), psi_g.data()); - } - - MPI_Barrier(MPI_COMM_WORLD); - - // broadcast eigenvalues to all processes - MPI_Bcast(eigen.data(), PARAM.inp.nbands, MPI_DOUBLE, root_proc, MPI_COMM_WORLD); - - // distribute psi to all processes - distributePsi(this->ParaV->desc_wfc, psi.get_pointer(), psi_g.data()); - } - else - { - // Be careful that h_mat.row * h_mat.col != psi.get_nbands() * psi.get_nbasis() under multi-k situation - std::vector eigenvectors(h_mat.row * h_mat.col); - this->dc.Dngvd(h_mat.row, h_mat.col, h_mat.p, s_mat.p, eigen.data(), eigenvectors.data()); - const int size = psi.get_nbands() * psi.get_nbasis(); - BlasConnector::copy(size, eigenvectors.data(), 1, psi.get_pointer(), 1); - } -#else std::vector eigenvectors(h_mat.row * h_mat.col); this->dc.Dngvd(h_mat.row, h_mat.col, h_mat.p, s_mat.p, eigen.data(), eigenvectors.data()); const int size = psi.get_nbands() * psi.get_nbasis(); BlasConnector::copy(size, eigenvectors.data(), 1, psi.get_pointer(), 1); -#endif - // Stop the timer for the cusolver operation - ModuleBase::timer::tick("DiagoCusolver", "cusolver"); - - // Copy the eigenvalues to the output arrays const int inc = 1; BlasConnector::copy(PARAM.inp.nbands, eigen.data(), inc, eigenvalue_in, inc); + ModuleBase::timer::tick("DiagoCusolver", "cusolver"); } // Explicit instantiation of the DiagoCusolver class for real and complex numbers diff --git a/source/source_hsolver/diago_cusolver.h b/source/source_hsolver/diago_cusolver.h index bdfdaa86ee..b8cd0fccd2 100644 --- a/source/source_hsolver/diago_cusolver.h +++ b/source/source_hsolver/diago_cusolver.h @@ -5,7 +5,6 @@ #include "source_hamilt/hamilt.h" #include "source_basis/module_ao/parallel_orbitals.h" #include "source_hsolver/kernels/cuda/diag_cusolver.cuh" -// #include "source_hsolver/kernels/cuda/dngvd_op.cu" namespace hsolver { @@ -17,15 +16,18 @@ class DiagoCusolver private: // Real is the real part of the complex type T using Real = typename GetTypeReal::type; - Parallel_Orbitals const * ParaV; public: - DiagoCusolver(const Parallel_Orbitals* ParaV = nullptr); + DiagoCusolver(); ~DiagoCusolver(); // Override the diag function for CUSOLVER diagonalization - void diag(hamilt::Hamilt* phm_in, psi::Psi& psi, Real* eigenvalue_in); + void diag( + hamilt::MatrixBlock& h_mat, + hamilt::MatrixBlock& s_mat, + psi::Psi& psi, + Real* eigenvalue_in); // Static variable to keep track of the decomposition state static int DecomposedState; diff --git a/source/source_hsolver/diago_dav_subspace.cpp b/source/source_hsolver/diago_dav_subspace.cpp index 4402fad9f8..8fa997774b 100644 --- a/source/source_hsolver/diago_dav_subspace.cpp +++ b/source/source_hsolver/diago_dav_subspace.cpp @@ -1,15 +1,18 @@ #include "diago_dav_subspace.h" #include "diago_iter_assist.h" -#include "source_base/memory.h" + #include "source_base/module_device/device.h" #include "source_base/timer.h" -#include "source_hsolver/kernels/dngvd_op.h" #include "source_base/kernels/math_kernel_op.h" -#include "source_hsolver/kernels/bpcg_kernel_op.h" // normalize_op, precondition_op, apply_eigenvalues_op #include "source_base/kernels/dsp/dsp_connector.h" +// #include "source_base/module_container/ATen/kernels/lapack.h" + +#include +#include "source_hsolver/kernels/hegvd_op.h" #include "source_hsolver/diag_hs_para.h" +#include "source_hsolver/kernels/bpcg_kernel_op.h" // normalize_op, precondition_op, apply_eigenvalues_op #include @@ -26,12 +29,11 @@ Diago_DavSubspace::Diago_DavSubspace(const std::vector& precond const int& david_ndim_in, const double& diag_thr_in, const int& diag_nmax_in, - const bool& need_subspace_in, const diag_comm_info& diag_comm_in, const int diag_subspace_in, const int diago_subspace_bs_in) : precondition(precondition_in), n_band(nband_in), dim(nbasis_in), nbase_x(nband_in * david_ndim_in), - diag_thr(diag_thr_in), iter_nmax(diag_nmax_in), is_subspace(need_subspace_in), diag_comm(diag_comm_in), + diag_thr(diag_thr_in), iter_nmax(diag_nmax_in), diag_comm(diag_comm_in), diag_subspace(diag_subspace_in), diago_subspace_bs(diago_subspace_bs_in) { this->device = base_device::get_device_type(this->ctx); @@ -51,12 +53,12 @@ Diago_DavSubspace::Diago_DavSubspace(const std::vector& precond setmem_complex_op()(this->psi_in_iter, 0, this->nbase_x * this->dim); // the product of H and psi in the reduced psi set - resmem_complex_op()(this->hphi, this->nbase_x * this->dim, "DAV::hphi"); - setmem_complex_op()(this->hphi, 0, this->nbase_x * this->dim); + resmem_complex_op()(this->hpsi, this->nbase_x * this->dim, "DAV::hpsi"); + setmem_complex_op()(this->hpsi, 0, this->nbase_x * this->dim); // the product of S and psi in the reduced psi set - resmem_complex_op()(this->sphi, this->nbase_x * this->dim, "DAV::sphi"); - setmem_complex_op()(this->sphi, 0, this->nbase_x * this->dim); + resmem_complex_op()(this->spsi, this->nbase_x * this->dim, "DAV::spsi"); + setmem_complex_op()(this->spsi, 0, this->nbase_x * this->dim); // Hamiltonian on the reduced psi set resmem_complex_op()(this->hcc, this->nbase_x * this->nbase_x, "DAV::hcc"); @@ -76,6 +78,8 @@ Diago_DavSubspace::Diago_DavSubspace(const std::vector& precond { resmem_real_op()(this->d_precondition, nbasis_in); // syncmem_var_h2d_op()(this->ctx, this->cpu_ctx, this->d_precondition, this->precondition.data(), nbasis_in); + resmem_complex_op()(this->d_scc, this->nbase_x * this->nbase_x); + resmem_real_op()(this->d_eigenvalue, this->nbase_x); } #endif } @@ -85,7 +89,8 @@ Diago_DavSubspace::~Diago_DavSubspace() { delmem_complex_op()(this->psi_in_iter); - delmem_complex_op()(this->hphi); + delmem_complex_op()(this->hpsi); + delmem_complex_op()(this->spsi); delmem_complex_op()(this->hcc); delmem_complex_op()(this->scc); delmem_complex_op()(this->vcc); @@ -94,6 +99,8 @@ Diago_DavSubspace::~Diago_DavSubspace() if (this->device == base_device::GpuDevice) { delmem_real_op()(this->d_precondition); + delmem_complex_op()(this->d_scc); + delmem_real_op()(this->d_eigenvalue); } #endif } @@ -125,25 +132,22 @@ int Diago_DavSubspace::diag_once(const HPsiFunc& hpsi_func, ModuleBase::timer::tick("Diago_DavSubspace", "first"); + syncmem_complex_2d_op()(this->psi_in_iter, this->dim, psi_in, psi_in_dmax, this->dim, this->n_band); for (int m = 0; m < this->n_band; m++) { unconv[m] = m; - - syncmem_complex_op()(this->psi_in_iter + m * this->dim, - psi_in + m * psi_in_dmax, - this->dim); } // compute h*psi_in_iter // NOTE: bands after the first n_band should yield zero - // hphi[:, 0:nbase_x] = H * psi_in_iter[:, 0:nbase_x] - hpsi_func(this->psi_in_iter, this->hphi, this->dim, this->notconv); + // hpsi[:, 0:nbase_x] = H * psi_in_iter[:, 0:nbase_x] + hpsi_func(this->psi_in_iter, this->hpsi, this->dim, this->notconv); // compute s*psi_in_iter - // sphi[:, 0:nbase_x] = S * psi_in_iter[:, 0:nbase_x] - spsi_func(this->psi_in_iter, this->sphi, this->dim, this->notconv); + // spsi[:, 0:nbase_x] = S * psi_in_iter[:, 0:nbase_x] + spsi_func(this->psi_in_iter, this->spsi, this->dim, this->notconv); - this->cal_elem(this->dim, nbase, this->notconv, this->psi_in_iter, this->sphi, this->hphi, this->hcc, this->scc); + this->cal_elem(this->dim, nbase, this->notconv, this->psi_in_iter, this->spsi, this->hpsi, this->hcc, this->scc); this->diag_zhegvx(nbase, this->notconv, this->hcc, this->scc, this->nbase_x, &eigenvalue_iter, this->vcc); @@ -166,8 +170,8 @@ int Diago_DavSubspace::diag_once(const HPsiFunc& hpsi_func, nbase, this->notconv, this->psi_in_iter, - this->hphi, - this->sphi, + this->hpsi, + this->spsi, this->vcc, unconv.data(), &eigenvalue_iter); @@ -176,8 +180,8 @@ int Diago_DavSubspace::diag_once(const HPsiFunc& hpsi_func, nbase, this->notconv, this->psi_in_iter, - this->sphi, - this->hphi, + this->spsi, + this->hpsi, this->hcc, this->scc); @@ -243,20 +247,15 @@ int Diago_DavSubspace::diag_once(const HPsiFunc& hpsi_func, // estimate of the eigenvectors and set the basis dimension to N; // update this->psi_in_iter according to psi_in - for (size_t i = 0; i < this->n_band; i++) - { - syncmem_complex_op()(this->psi_in_iter + i * this->dim, - psi_in + i * psi_in_dmax, - this->dim); - } + syncmem_complex_2d_op()(this->psi_in_iter, this->dim, psi_in, psi_in_dmax, this->dim, this->n_band); this->refresh(this->dim, this->n_band, nbase, eigenvalue_in_hsolver, this->psi_in_iter, - this->hphi, - this->sphi, + this->hpsi, + this->spsi, this->hcc, this->scc, this->vcc); @@ -279,7 +278,7 @@ void Diago_DavSubspace::cal_grad(const HPsiFunc& hpsi_func, const int& nbase, const int& notconv, T* psi_iter, - T* hphi, + T* hpsi, T* spsi, T* vcc, const int* unconv, @@ -307,7 +306,7 @@ void Diago_DavSubspace::cal_grad(const HPsiFunc& hpsi_func, notconv, nbase, this->one, - hphi, + hpsi, this->dim, vcc, this->nbase_x, @@ -316,30 +315,15 @@ void Diago_DavSubspace::cal_grad(const HPsiFunc& hpsi_func, this->dim); // Eigenvalues operation section - std::vector e_temp_cpu(this->notconv, 0); - Real* e_temp_hd = e_temp_cpu.data(); - if (this->device == base_device::GpuDevice) - { - e_temp_hd = nullptr; - resmem_real_op()(e_temp_hd, nbase); - } - - for (int m = 0; m < this->notconv; m++) - { - e_temp_cpu[m] = -(*eigenvalue_iter)[m]; - } - + Real* e_temp_hd = eigenvalue_iter->data(); if (this->device == base_device::GpuDevice) { - syncmem_var_h2d_op()(e_temp_hd, e_temp_cpu.data(), this->notconv); + syncmem_var_h2d_op()(this->d_eigenvalue, eigenvalue_iter->data(), this->nbase_x); + e_temp_hd = this->d_eigenvalue; } - - apply_eigenvalues_op()(nbase, this->nbase_x, this->notconv, this->vcc, this->vcc, e_temp_hd); - if (this->device == base_device::GpuDevice) - { - delmem_real_op()(e_temp_hd); - } + // vcc = - vcc * eigenvalue + ModuleBase::matrix_mul_vector_op()(nbase, notconv, vcc, this->nbase_x, e_temp_hd, -1.0, vcc, this->nbase_x); #ifdef __DSP ModuleBase::gemm_op_mt() @@ -352,7 +336,7 @@ void Diago_DavSubspace::cal_grad(const HPsiFunc& hpsi_func, notconv, nbase, this->one, - sphi, + spsi, this->dim, vcc, this->nbase_x, @@ -364,17 +348,12 @@ void Diago_DavSubspace::cal_grad(const HPsiFunc& hpsi_func, #if defined(__CUDA) || defined(__ROCM) if (this->device == base_device::GpuDevice) { - Real* eigenvalues_gpu = nullptr; - resmem_real_op()(eigenvalues_gpu, notconv); - syncmem_var_h2d_op()(eigenvalues_gpu, (*eigenvalue_iter).data(), notconv); - precondition_op()(this->dim, psi_iter, nbase, notconv, d_precondition, - eigenvalues_gpu); - delmem_real_op()(eigenvalues_gpu); + this->d_eigenvalue); } else #endif @@ -393,9 +372,8 @@ void Diago_DavSubspace::cal_grad(const HPsiFunc& hpsi_func, { Real* psi_norm = nullptr; resmem_real_op()(psi_norm, notconv); - using setmem_real_op = base_device::memory::set_memory_op; setmem_real_op()(psi_norm, 0.0, notconv); - + normalize_op()(this->dim, psi_iter, nbase, @@ -416,8 +394,8 @@ void Diago_DavSubspace::cal_grad(const HPsiFunc& hpsi_func, // update hpsi[:, nbase:nbase+notconv] // hpsi[:, nbase:nbase+notconv] = H * psi_iter[:, nbase:nbase+notconv] - hpsi_func(psi_iter + nbase * dim, hphi + nbase * this->dim, this->dim, notconv); - spsi_func(psi_iter + nbase * dim, sphi + nbase * this->dim, this->dim, notconv); + hpsi_func(psi_iter + nbase * dim, hpsi + nbase * this->dim, this->dim, notconv); + spsi_func(psi_iter + nbase * dim, spsi + nbase * this->dim, this->dim, notconv); ModuleBase::timer::tick("Diago_DavSubspace", "cal_grad"); return; @@ -429,7 +407,7 @@ void Diago_DavSubspace::cal_elem(const int& dim, const int& notconv, const T* psi_iter, const T* spsi, - const T* hphi, + const T* hpsi, T* hcc, T* scc) { @@ -448,7 +426,7 @@ void Diago_DavSubspace::cal_elem(const int& dim, this->one, psi_iter, this->dim, - &hphi[nbase * this->dim], + &hpsi[nbase * this->dim], this->dim, this->zero, &hcc[nbase * this->nbase_x], @@ -564,34 +542,9 @@ void Diago_DavSubspace::diag_zhegvx(const int& nbase, #if defined(__CUDA) || defined(__ROCM) if (this->diag_comm.rank == 0) { - Real* eigenvalue_gpu = nullptr; - resmem_real_op()(eigenvalue_gpu, this->nbase_x); - - syncmem_var_h2d_op()(eigenvalue_gpu, (*eigenvalue_iter).data(), this->nbase_x); - - T* hcc_gpu = nullptr; - T* scc_gpu = nullptr; - T* vcc_gpu = nullptr; - base_device::memory::resize_memory_op()(hcc_gpu, nbase * nbase); - base_device::memory::resize_memory_op()(scc_gpu, nbase * nbase); - base_device::memory::resize_memory_op()(vcc_gpu, nbase * nbase); - for(int i=0;i()(hcc_gpu + i * nbase, hcc + i * nbase_x, nbase); - base_device::memory::synchronize_memory_op()(scc_gpu + i * nbase, scc + i * nbase_x, nbase); - } - dngvd_op()(this->ctx, nbase, nbase, hcc_gpu, scc_gpu, eigenvalue_gpu, vcc_gpu); - for(int i=0;i()(vcc + i * nbase_x, vcc_gpu + i * nbase, nbase); - } - delmem_complex_op()(hcc_gpu); - delmem_complex_op()(scc_gpu); - delmem_complex_op()(vcc_gpu); - - syncmem_var_d2h_op()((*eigenvalue_iter).data(), eigenvalue_gpu, this->nbase_x); - - delmem_real_op()(eigenvalue_gpu); + syncmem_complex_op()(this->d_scc, scc, nbase * this->nbase_x); + ct::kernels::lapack_hegvd()(nbase, this->nbase_x, this->hcc, this->d_scc, this->d_eigenvalue, this->vcc); + syncmem_var_d2h_op()((*eigenvalue_iter).data(), this->d_eigenvalue, this->nbase_x); } #endif } @@ -612,7 +565,7 @@ void Diago_DavSubspace::diag_zhegvx(const int& nbase, s_diag[i][j] = scc[i * this->nbase_x + j]; } } - dngvx_op()(this->ctx, + hegvx_op()(this->ctx, nbase, this->nbase_x, this->hcc, @@ -641,7 +594,7 @@ void Diago_DavSubspace::diag_zhegvx(const int& nbase, } else { -#ifdef __MPI +#ifdef __MPI std::vector h_diag; std::vector s_diag; std::vector vcc_tmp; @@ -680,7 +633,7 @@ void Diago_DavSubspace::diag_zhegvx(const int& nbase, } #else std::cout << "Error: parallel diagonalization is not supported in serial mode." << std::endl; - exit(1); + exit(1); #endif } } @@ -708,8 +661,8 @@ void Diago_DavSubspace::refresh(const int& dim, const Real* eigenvalue_in_hsolver, // const psi::Psi& psi, T* psi_iter, - T* hphi, - T* sphi, + T* hpsi, + T* spsi, T* hcc, T* scc, T* vcc) @@ -727,7 +680,7 @@ void Diago_DavSubspace::refresh(const int& dim, nband, nbase, this->one, - this->hphi, + this->hpsi, this->dim, this->vcc, this->nbase_x, @@ -735,8 +688,8 @@ void Diago_DavSubspace::refresh(const int& dim, psi_iter + nband * this->dim, this->dim); - // update hphi - syncmem_complex_op()(hphi, psi_iter + nband * this->dim, this->dim * nband); + // update hpsi + syncmem_complex_op()(hpsi, psi_iter + nband * this->dim, this->dim * nband); #ifdef __DSP ModuleBase::gemm_op_mt() @@ -749,7 +702,7 @@ void Diago_DavSubspace::refresh(const int& dim, nband, nbase, this->one, - this->sphi, + this->spsi, this->dim, this->vcc, this->nbase_x, @@ -757,54 +710,19 @@ void Diago_DavSubspace::refresh(const int& dim, psi_iter + nband * this->dim, this->dim); - // update sphi - syncmem_complex_op()(sphi, psi_iter + nband * this->dim, this->dim * nband); + // update spsi + syncmem_complex_op()(spsi, psi_iter + nband * this->dim, this->dim * nband); nbase = nband; // set hcc/scc/vcc to 0 - for (size_t i = 0; i < nbase; i++) - { - setmem_complex_op()(&hcc[this->nbase_x * i], 0, nbase); - setmem_complex_op()(&scc[this->nbase_x * i], 0, nbase); - setmem_complex_op()(&vcc[this->nbase_x * i], 0, nbase); - } + setmem_complex_2d_op()(hcc, this->nbase_x, 0, nbase, nbase); + setmem_complex_2d_op()(scc, this->nbase_x, 0, nbase, nbase); + setmem_complex_2d_op()(vcc, this->nbase_x, 0, nbase, nbase); if (this->device == base_device::GpuDevice) { -#if defined(__CUDA) || defined(__ROCM) - T* hcc_cpu = nullptr; - T* scc_cpu = nullptr; - T* vcc_cpu = nullptr; - base_device::memory::resize_memory_op()(hcc_cpu, - this->nbase_x * this->nbase_x, - "DAV::hcc"); - base_device::memory::resize_memory_op()(scc_cpu, - this->nbase_x * this->nbase_x, - "DAV::scc"); - base_device::memory::resize_memory_op()(vcc_cpu, - this->nbase_x * this->nbase_x, - "DAV::vcc"); - - syncmem_d2h_op()(hcc_cpu, hcc, this->nbase_x * this->nbase_x); - syncmem_d2h_op()(scc_cpu, scc, this->nbase_x * this->nbase_x); - syncmem_d2h_op()(vcc_cpu, vcc, this->nbase_x * this->nbase_x); - - for (int i = 0; i < nbase; i++) - { - hcc_cpu[i * this->nbase_x + i] = eigenvalue_in_hsolver[i]; - scc_cpu[i * this->nbase_x + i] = this->one[0]; - vcc_cpu[i * this->nbase_x + i] = this->one[0]; - } - - syncmem_h2d_op()(hcc, hcc_cpu, this->nbase_x * this->nbase_x); - syncmem_h2d_op()(scc, scc_cpu, this->nbase_x * this->nbase_x); - syncmem_h2d_op()(vcc, vcc_cpu, this->nbase_x * this->nbase_x); - - base_device::memory::delete_memory_op()(hcc_cpu); - base_device::memory::delete_memory_op()(scc_cpu); - base_device::memory::delete_memory_op()(vcc_cpu); -#endif + refresh_hcc_scc_vcc_op()(nbase, hcc, scc, vcc, this->nbase_x, this->d_eigenvalue, this->one_); } else { diff --git a/source/source_hsolver/diago_dav_subspace.h b/source/source_hsolver/diago_dav_subspace.h index 3b4c224ec8..6ad3300b18 100644 --- a/source/source_hsolver/diago_dav_subspace.h +++ b/source/source_hsolver/diago_dav_subspace.h @@ -5,6 +5,8 @@ #include "source_base/module_device/device.h" // base_device #include "source_base/module_device/memory_op.h"// base_device::memory" +#include "source_base/module_container/ATen/kernels/lapack.h" + #include "source_hsolver/diag_comm_info.h" #include "source_hsolver/diag_const_nums.h" @@ -30,7 +32,6 @@ class Diago_DavSubspace const int& david_ndim_in, const double& diag_thr_in, const int& diag_nmax_in, - const bool& need_subspace_in, const diag_comm_info& diag_comm_in, const int diago_dav_method_in, const int block_size_in); @@ -58,9 +59,6 @@ class Diago_DavSubspace /// maximal iteration number const int iter_nmax; - /// is diagH_subspace needed? - const bool is_subspace; - /// the first dimension of the matrix to be diagonalized const int n_band = 0; @@ -80,10 +78,10 @@ class Diago_DavSubspace T* psi_in_iter = nullptr; /// the product of H and psi in the reduced basis set - T* hphi = nullptr; + T* hpsi = nullptr; /// the product of S and psi in the reduced basis set - T* sphi = nullptr; + T* spsi = nullptr; /// Hamiltonian on the reduced basis T* hcc = nullptr; @@ -94,6 +92,9 @@ class Diago_DavSubspace /// Eigenvectors on the reduced basis T* vcc = nullptr; + T* d_scc = nullptr; + Real* d_eigenvalue = nullptr; + /// device type of psi Device* ctx = {}; base_device::DEVICE_CPU* cpu_ctx = {}; @@ -105,7 +106,7 @@ class Diago_DavSubspace const int& nbase, const int& notconv, T* psi_iter, - T* hphi, + T* hpsi, T* spsi, T* vcc, const int* unconv, @@ -115,8 +116,8 @@ class Diago_DavSubspace int& nbase, const int& notconv, const T* psi_iter, - const T* sphi, - const T* hphi, + const T* spsi, + const T* hpsi, T* hcc, T* scc); @@ -125,8 +126,8 @@ class Diago_DavSubspace int& nbase, const Real* eigenvalue, T* psi_iter, - T* hphi, - T* sphi, + T* hpsi, + T* spsi, T* hcc, T* scc, T* vcc); @@ -176,6 +177,7 @@ class Diago_DavSubspace using delmem_real_op = base_device::memory::delete_memory_op; #endif using setmem_real_op = base_device::memory::set_memory_op; + using setmem_complex_2d_op = base_device::memory::set_memory_2d_op; using resmem_real_h_op = base_device::memory::resize_memory_op; using delmem_real_h_op = base_device::memory::delete_memory_op; @@ -184,14 +186,19 @@ class Diago_DavSubspace using syncmem_var_h2d_op = base_device::memory::synchronize_memory_op; using syncmem_var_d2h_op = base_device::memory::synchronize_memory_op; using syncmem_complex_op = base_device::memory::synchronize_memory_op; + using syncmem_complex_2d_op = base_device::memory::synchronize_memory_2d_op; using castmem_complex_op = base_device::memory::cast_memory_op, T, Device, Device>; using syncmem_h2d_op = base_device::memory::synchronize_memory_op; using syncmem_d2h_op = base_device::memory::synchronize_memory_op; + // Note that ct_Device is different from base_device! + using ct_Device = typename ct::PsiToContainer::type; + // using hegvd_op = container::kernels::lapack_hegvd; + const T *one = nullptr, *zero = nullptr, *neg_one = nullptr; const T one_ = static_cast(1.0), zero_ = static_cast(0.0), neg_one_ = static_cast(-1.0); }; } // namespace hsolver -#endif \ No newline at end of file +#endif diff --git a/source/source_hsolver/diago_david.cpp b/source/source_hsolver/diago_david.cpp index ef7dd07423..bf390104af 100644 --- a/source/source_hsolver/diago_david.cpp +++ b/source/source_hsolver/diago_david.cpp @@ -4,7 +4,7 @@ #include "source_base/tool_title.h" // ModuleBase::TITLE #include "source_base/module_device/device.h" -#include "source_hsolver/kernels/dngvd_op.h" +#include "source_hsolver/kernels/hegvd_op.h" #include "source_base/kernels/math_kernel_op.h" @@ -12,7 +12,7 @@ using namespace hsolver; template -DiagoDavid::DiagoDavid(const Real* precondition_in, +DiagoDavid::DiagoDavid(const Real* precondition_in, const int nband_in, const int dim_in, const int david_ndim_in, @@ -80,7 +80,7 @@ DiagoDavid::DiagoDavid(const Real* precondition_in, resmem_complex_op()(this->vcc, nbase_x * nbase_x, "DAV::vcc"); setmem_complex_op()(this->vcc, 0, nbase_x * nbase_x); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - + // lagrange_matrix(nband, nband); // for orthogonalization resmem_complex_op()(this->lagrange_matrix, nband * nband); setmem_complex_op()(this->lagrange_matrix, 0, nband * nband); @@ -409,7 +409,7 @@ void DiagoDavid::cal_grad(const HPsiFunc& hpsi_func, // basis[nbase] = basis[nbase] - spsi * vc_ev_vector // = hpsi - spsi * lambda * vcc // = (H - lambda * S) * psi * vcc - // = (H - lambda * S) * psi_new + // = (H - lambda * S) * psi_new //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ModuleBase::gemm_op()('N', 'N', @@ -622,7 +622,8 @@ void DiagoDavid::diag_zhegvx(const int& nbase, resmem_var_op()(eigenvalue_gpu, nbase_x); syncmem_var_h2d_op()(eigenvalue_gpu, this->eigenvalue, nbase_x); - dnevx_op()(this->ctx, nbase, nbase_x, hcc, nband, eigenvalue_gpu, vcc); + // heevx_op()(this->ctx, nbase, nbase_x, hcc, nband, eigenvalue_gpu, vcc); + ct::kernels::lapack_heevx()(nbase, nbase_x, hcc, nband, eigenvalue_gpu, vcc); syncmem_var_d2h_op()(this->eigenvalue, eigenvalue_gpu, nbase_x); delmem_var_op()(eigenvalue_gpu); @@ -630,7 +631,8 @@ void DiagoDavid::diag_zhegvx(const int& nbase, } else { - dnevx_op()(this->ctx, nbase, nbase_x, hcc, nband, this->eigenvalue, vcc); + //heevx_op()(this->ctx, nbase, nbase_x, hcc, nband, this->eigenvalue, vcc); + ct::kernels::lapack_heevx()(nbase, nbase_x, hcc, nband, this->eigenvalue, vcc); } } diff --git a/source/source_hsolver/diago_david.h b/source/source_hsolver/diago_david.h index 5b65f22cec..75a745d326 100644 --- a/source/source_hsolver/diago_david.h +++ b/source/source_hsolver/diago_david.h @@ -5,7 +5,10 @@ #include "source_base/module_device/device.h" // base_device #include "source_base/module_device/memory_op.h"// base_device::memory +#include "source_base/module_container/ATen/kernels/lapack.h" // container::kernels + #include "source_hsolver/diag_comm_info.h" +#include "source_hsolver/kernels/hegvd_op.h" #include #include @@ -26,16 +29,16 @@ template , typename Device = base_device::DEVI class DiagoDavid { private: - // Note GetTypeReal::type will - // return T if T is real type(float, double), + // Note GetTypeReal::type will + // return T if T is real type(float, double), // otherwise return the real type of T(complex, std::complex) using Real = typename GetTypeReal::type; - + public: /** * @brief Constructor for the DiagoDavid class. - * + * * @param[in] precondition_in Pointer to the preconditioning matrix. * @param[in] nband_in Number of eigenpairs required(i.e. bands). * @param[in] dim_in Dimension of the matrix. @@ -44,10 +47,10 @@ class DiagoDavid * the reduced basis set before \b restart of Davidson. * @param[in] use_paw_in Flag indicating whether to use PAW. * @param[in] diag_comm_in Communication information for diagonalization. - * + * * @tparam T The data type of the matrices and arrays. * @tparam Device The device type (base_device::DEVICE_CPU or DEVICE_GPU). - * + * * @note Auxiliary memory is allocated in the constructor and deallocated in the destructor. */ DiagoDavid(const Real* precondition_in, @@ -59,10 +62,10 @@ class DiagoDavid /** * @brief Destructor for the DiagoDavid class. - * + * * This destructor releases the dynamically allocated memory used by the class members. * It deletes the basis, hpsi, spsi, hcc, vcc, lagrange_matrix, and eigenvalue arrays. - * + * */ ~DiagoDavid(); @@ -75,7 +78,7 @@ class DiagoDavid * This function type is used to define a matrix-blockvector operator H. * For eigenvalue problem HX = λX or generalized eigenvalue problem HX = λSX, * this function computes the product of the Hamiltonian matrix H and a blockvector X. - * + * * Called as follows: * hpsi(X, HX, ld, nvec) where X and HX are (ld, nvec)-shaped blockvectors. * Result HX = H * X is stored in HX. @@ -84,7 +87,7 @@ class DiagoDavid * @param[in] HX Head address of output blockvector of type `T*`. * @param[in] ld Leading dimension of blockvector. * @param[in] nvec Number of vectors in a block. - * + * * @warning X and HX are the exact address to read input X and store output H*X, * @warning both of size ld * nvec. */ @@ -92,7 +95,7 @@ class DiagoDavid /** * @brief A function type representing the SX function. - * + * * nrow is leading dimension of spsi, npw is leading dimension of psi, nbands is number of vecs * * This function type is used to define a matrix-blockvector operator S. @@ -108,9 +111,9 @@ class DiagoDavid /** * @brief Performs iterative diagonalization using the David algorithm. - * + * * @warning Please see docs of `HPsiFunc` for more information about the hpsi mat-vec interface. - * + * * @tparam T The type of the elements in the matrix. * @tparam Device The device type (CPU or GPU). * @param hpsi_func The function object that computes the matrix-blockvector product H * psi. @@ -123,13 +126,13 @@ class DiagoDavid * @param ntry_max The maximum number of attempts for the diagonalization restart. * @param notconv_max The maximum number of bands unconverged allowed. * @return The total number of iterations performed during the diagonalization. - * + * * @note ntry_max is an empirical parameter that should be specified in external routine, default 5 * notconv_max is determined by the accuracy required for the calculation, default 0 */ int diag( - const HPsiFunc& hpsi_func, // function void hpsi(T*, T*, const int, const int) - const SPsiFunc& spsi_func, // function void spsi(T*, T*, const int, const int, const int) + const HPsiFunc& hpsi_func, // function void hpsi(T*, T*, const int, const int) + const SPsiFunc& spsi_func, // function void spsi(T*, T*, const int, const int, const int) const int ld_psi, // Leading dimension of the psi input T *psi_in, // Pointer to eigenvectors Real* eigenvalue_in, // Pointer to store the resulting eigenvalues @@ -218,7 +221,7 @@ class DiagoDavid /** * Calculates the elements of the diagonalization matrix for the DiagoDavid class. - * + * * @param dim The dimension of the problem. * @param nbase The current dimension of the reduced basis. * @param nbase_x The maximum dimension of the reduced basis set. @@ -237,7 +240,7 @@ class DiagoDavid /** * Refreshes the diagonalization solver by updating the basis and the reduced Hamiltonian. - * + * * @param dim The dimension of the problem. * @param nband The number of bands. * @param nbase The number of basis states. @@ -249,7 +252,7 @@ class DiagoDavid * @param spsi Pointer to the output array for the updated basis set (nband-th column). * @param hcc Pointer to the output array for the updated reduced Hamiltonian. * @param vcc Pointer to the output array for the updated eigenvector matrix. - * + * */ void refresh(const int& dim, const int& nband, @@ -286,7 +289,7 @@ class DiagoDavid /** * @brief Plans the Schmidt orthogonalization for a given number of bands. - * + * * @tparam T The type of the elements in the vectors. * @tparam Device The device on which the computation will be performed. * @param nband The number of bands. @@ -338,6 +341,8 @@ class DiagoDavid using syncmem_h2d_op = base_device::memory::synchronize_memory_op; using syncmem_d2h_op = base_device::memory::synchronize_memory_op; + // Note that ct_Device is different from base_device! + using ct_Device = typename ct::PsiToContainer::type; // using hpsi_info = typename hamilt::Operator::hpsi_info; // Dependence of hpsi removed const T *one = nullptr, *zero = nullptr, *neg_one = nullptr; diff --git a/source/source_hsolver/diago_iter_assist.cpp b/source/source_hsolver/diago_iter_assist.cpp index 916ea0d3fc..fb87ad2350 100644 --- a/source/source_hsolver/diago_iter_assist.cpp +++ b/source/source_hsolver/diago_iter_assist.cpp @@ -6,7 +6,7 @@ #include "source_base/module_device/device.h" #include "source_base/parallel_reduce.h" #include "source_base/timer.h" -#include "source_hsolver/kernels/dngvd_op.h" +#include "source_hsolver/kernels/hegvd_op.h" #include "source_base/kernels/math_kernel_op.h" namespace hsolver @@ -18,39 +18,52 @@ namespace hsolver // Produces on output n_band eigenvectors (n_band <= nstart) in evc. //---------------------------------------------------------------------- template -void DiagoIterAssist::diagH_subspace(const hamilt::Hamilt* const pHamilt, // hamiltonian operator carrier +void DiagoIterAssist::diag_subspace(const hamilt::Hamilt* const pHamilt, // hamiltonian operator carrier const psi::Psi& psi, // [in] wavefunction - psi::Psi& evc, // [out] wavefunction + psi::Psi& evc, // [out] wavefunction, eigenvectors Real* en, // [out] eigenvalues - int n_band // [in] number of bands to be calculated, also number of rows + int n_band, // [in] number of bands to be calculated, also number of rows // of evc, if set to 0, n_band = nstart, default 0 + const bool S_orth // [in] if true, psi is assumed to be already S-orthogonalized ) { - ModuleBase::TITLE("DiagoAssist", "diag_subspace"); - ModuleBase::timer::tick("DiagoAssist", "diag_subspace"); + ModuleBase::TITLE("DiagoIterAssist", "diag_subspace"); + ModuleBase::timer::tick("DiagoIterAssist", "diag_subspace"); // two case: // 1. pw base: nstart = n_band, psi(nbands * npwx) // 2. lcao_in_pw base: nstart >= n_band, psi(NLOCAL * npwx) const int nstart = psi.get_nbands(); + // n_band = 0 means default, set n_band = nstart if (n_band == 0) { n_band = nstart; } assert(n_band <= nstart); + // scc is overlap (optional, only needed if input is not s-orthogonal) T *hcc = nullptr, *scc = nullptr, *vcc = nullptr; + + // hcc is reduced hamiltonian matrix resmem_complex_op()(hcc, nstart * nstart, "DiagSub::hcc"); - resmem_complex_op()(scc, nstart * nstart, "DiagSub::scc"); - resmem_complex_op()(vcc, nstart * nstart, "DiagSub::vcc"); setmem_complex_op()(hcc, 0, nstart * nstart); - setmem_complex_op()(scc, 0, nstart * nstart); + + // scc is overlap matrix, only needed when psi is not orthogonal + if(!S_orth){ + resmem_complex_op()(scc, nstart * nstart, "DiagSub::scc"); + setmem_complex_op()(scc, 0, nstart * nstart); + } + + // vcc is eigenvector matrix of the reduced generalized eigenvalue problem + resmem_complex_op()(vcc, nstart * nstart, "DiagSub::vcc"); setmem_complex_op()(vcc, 0, nstart * nstart); + // dmin is the active number of plane waves or atomic orbitals + // dmax is the leading dimension of psi const int dmin = psi.get_current_ngk(); const int dmax = psi.get_nbasis(); - T* temp = nullptr; + T *temp = nullptr; /// temporary array for calculation of evc bool in_place = false; ///< if temp and evc share the same memory if (psi.get_pointer() != evc.get_pointer() && psi.get_nbands() == evc.get_nbands()) { // use memory of evc as temp @@ -65,10 +78,10 @@ void DiagoIterAssist::diagH_subspace(const hamilt::Hamilt* { // code block to calculate hcc and scc setmem_complex_op()(temp, 0, nstart * dmax); - T* hphi = temp; + T *hpsi = temp; // do hPsi for all bands psi::Range all_bands_range(1, psi.get_current_k(), 0, nstart - 1); - hpsi_info hpsi_in(&psi, all_bands_range, hphi); + hpsi_info hpsi_in(&psi, all_bands_range, hpsi); pHamilt->ops->hPsi(hpsi_in); ModuleBase::gemm_op()('C', @@ -79,40 +92,50 @@ void DiagoIterAssist::diagH_subspace(const hamilt::Hamilt* &one, psi.get_pointer(), dmax, - hphi, + hpsi, dmax, &zero, hcc, nstart); - T* sphi = temp; - // do sPsi for all bands - pHamilt->sPsi(psi.get_pointer(), sphi, dmax, dmin, nstart); - - ModuleBase::gemm_op()('C', - 'N', - nstart, - nstart, - dmin, - &one, - psi.get_pointer(), - dmax, - sphi, - dmax, - &zero, - scc, - nstart); + if(!S_orth){ + // Only calculate S_sub if not orthogonal + T *spsi = temp; + // do sPsi for all bands + pHamilt->sPsi(psi.get_pointer(), spsi, dmax, dmin, nstart); + + ModuleBase::gemm_op()('C', + 'N', + nstart, + nstart, + dmin, + &one, + psi.get_pointer(), + dmax, + spsi, + dmax, + &zero, + scc, + nstart); + } } if (GlobalV::NPROC_IN_POOL > 1) { Parallel_Reduce::reduce_pool(hcc, nstart * nstart); - Parallel_Reduce::reduce_pool(scc, nstart * nstart); + if(!S_orth){ + Parallel_Reduce::reduce_pool(scc, nstart * nstart); + } } - // after generation of H and S matrix, diag them - DiagoIterAssist::diagH_LAPACK(nstart, n_band, hcc, scc, nstart, en, vcc); - + // after generation of H and (optionally) S matrix, diag them + if (S_orth) { + // Solve standard eigenproblem: H_sub * y = lambda * y + DiagoIterAssist::diag_heevx(nstart, n_band, hcc, nstart, en, vcc); + } else { + // Solve generalized eigenproblem: H_sub * y = lambda * S_sub * y + DiagoIterAssist::diag_hegvd(nstart, n_band, hcc, scc, nstart, en, vcc); + } const int ld_temp = in_place ? dmax : dmin; @@ -138,14 +161,16 @@ void DiagoIterAssist::diagH_subspace(const hamilt::Hamilt* delmem_complex_op()(temp); } delmem_complex_op()(hcc); - delmem_complex_op()(scc); + if(!S_orth){ + delmem_complex_op()(scc); + } delmem_complex_op()(vcc); - ModuleBase::timer::tick("DiagoAssist", "diag_subspace"); + ModuleBase::timer::tick("DiagoIterAssist", "diag_subspace"); } template -void DiagoIterAssist::diagH_subspace_init(hamilt::Hamilt* pHamilt, +void DiagoIterAssist::diag_subspace_init(hamilt::Hamilt* pHamilt, const T* psi, int psi_nr, int psi_nc, @@ -154,8 +179,8 @@ void DiagoIterAssist::diagH_subspace_init(hamilt::Hamilt* const std::function& add_to_hcc, const std::function& export_vcc) { - ModuleBase::TITLE("DiagoIterAssist", "diagH_subspace_init"); - ModuleBase::timer::tick("DiagoIterAssist", "diagH_subspace_init"); + ModuleBase::TITLE("DiagoIterAssist", "diag_subspace_init"); + ModuleBase::timer::tick("DiagoIterAssist", "diag_subspace_init"); // two case: // 1. pw base: nstart = n_band, psi(nbands * npwx) @@ -170,7 +195,7 @@ void DiagoIterAssist::diagH_subspace_init(hamilt::Hamilt* if (pHamilt->ops == nullptr) { ModuleBase::WARNING( - "DiagoIterAssist::diagH_subspace_init", + "DiagoIterAssist::diag_subspace_init", "Severe warning: Operators in Hamilt are not allocated yet, will return value of psi to evc directly\n"); for (int iband = 0; iband < n_band; iband++) { @@ -291,7 +316,7 @@ void DiagoIterAssist::diagH_subspace_init(hamilt::Hamilt* } }*/ - DiagoIterAssist::diagH_LAPACK(nstart, n_band, hcc, scc, nstart, en, vcc); + DiagoIterAssist::diag_hegvd(nstart, n_band, hcc, scc, nstart, en, vcc); export_vcc(vcc, nstart, n_band); @@ -353,26 +378,63 @@ void DiagoIterAssist::diagH_subspace_init(hamilt::Hamilt* delmem_complex_op()(hcc); delmem_complex_op()(scc); delmem_complex_op()(vcc); - ModuleBase::timer::tick("DiagoIterAssist", "diagH_subspace_init"); + ModuleBase::timer::tick("DiagoIterAssist", "diag_subspace_init"); } template -void DiagoIterAssist::diagH_LAPACK(const int nstart, +void DiagoIterAssist::diag_heevx(const int matrix_size, + const int num_eigenpairs, + const T *h, + const int ldh, + Real *e, // always in CPU + T *v) +{ + ModuleBase::TITLE("DiagoIterAssist", "diag_heevx"); + ModuleBase::timer::tick("DiagoIterAssist", "diag_heevx"); + + Real *eigenvalues = nullptr; + // device memory for eigenvalues + resmem_var_op()(eigenvalues, matrix_size); + setmem_var_op()(eigenvalues, 0, matrix_size); + + // (const Device *d, const int matrix_size, const int lda, const T *A, const int num_eigenpairs, Real *eigenvalues, T *eigenvectors); + heevx_op()(ctx, matrix_size, ldh, h, num_eigenpairs, eigenvalues, v); + + if (base_device::get_device_type(ctx) == base_device::GpuDevice) + { +#if ((defined __CUDA) || (defined __ROCM)) + // eigenvalues to e, from device to host + syncmem_var_d2h_op()(e, eigenvalues, num_eigenpairs); +#endif + } + else if (base_device::get_device_type(ctx) == base_device::CpuDevice) + { + // eigenvalues to e + syncmem_var_op()(e, eigenvalues, num_eigenpairs); + } + + delmem_var_op()(eigenvalues); + + ModuleBase::timer::tick("DiagoIterAssist", "diag_heevx"); +} + +template +void DiagoIterAssist::diag_hegvd(const int nstart, const int nbands, - const T* hcc, - const T* scc, + const T *hcc, + T *scc, const int ldh, // nstart - Real* e, // always in CPU - T* vcc) + Real *e, // always in CPU + T *vcc) { - ModuleBase::TITLE("DiagoIterAssist", "diagH_LAPACK"); - ModuleBase::timer::tick("DiagoIterAssist", "diagH_LAPACK"); + ModuleBase::TITLE("DiagoIterAssist", "diag_hegvd"); + ModuleBase::timer::tick("DiagoIterAssist", "diag_hegvd"); - Real* eigenvalues = nullptr; + Real *eigenvalues = nullptr; resmem_var_op()(eigenvalues, nstart); setmem_var_op()(eigenvalues, 0, nstart); - dngvd_op()(ctx, nstart, ldh, hcc, scc, eigenvalues, vcc); + hegvd_op()(ctx, nstart, ldh, hcc, scc, eigenvalues, vcc); if (base_device::get_device_type(ctx) == base_device::GpuDevice) { @@ -404,7 +466,7 @@ void DiagoIterAssist::diagH_LAPACK(const int nstart, // dngvx_op()(ctx, nstart, ldh, hcc, scc, nbands, res, vcc); // } - ModuleBase::timer::tick("DiagoIterAssist", "diagH_LAPACK"); + ModuleBase::timer::tick("DiagoIterAssist", "diag_hegvd"); } template @@ -428,10 +490,10 @@ void DiagoIterAssist::cal_hs_subspace(const hamilt::Hamilt { // code block to calculate hcc and scc setmem_complex_op()(temp, 0, nstart * dmax); - T* hphi = temp; + T* hpsi = temp; // do hPsi for all bands psi::Range all_bands_range(1, psi.get_current_k(), 0, nstart - 1); - hpsi_info hpsi_in(&psi, all_bands_range, hphi); + hpsi_info hpsi_in(&psi, all_bands_range, hpsi); pHamilt->ops->hPsi(hpsi_in); ModuleBase::gemm_op()('C', @@ -442,15 +504,15 @@ void DiagoIterAssist::cal_hs_subspace(const hamilt::Hamilt &one, psi.get_pointer(), dmax, - hphi, + hpsi, dmax, &zero, hcc, nstart); - T* sphi = temp; + T* spsi = temp; // do sPsi for all bands - pHamilt->sPsi(psi.get_pointer(), sphi, dmax, dmin, nstart); + pHamilt->sPsi(psi.get_pointer(), spsi, dmax, dmin, nstart); ModuleBase::gemm_op()('C', 'N', @@ -460,7 +522,7 @@ void DiagoIterAssist::cal_hs_subspace(const hamilt::Hamilt &one, psi.get_pointer(), dmax, - sphi, + spsi, dmax, &zero, scc, @@ -478,7 +540,7 @@ void DiagoIterAssist::cal_hs_subspace(const hamilt::Hamilt template void DiagoIterAssist::diag_responce( const T* hcc, - const T* scc, + T* scc, const int nbands, const T* mat_in, // [out] target matrix to be multiplied T* mat_out, @@ -496,7 +558,7 @@ void DiagoIterAssist::diag_responce( const T* hcc, setmem_complex_op()(vcc, 0, nstart * nstart); // after generation of H and S matrix, diag them - DiagoIterAssist::diagH_LAPACK(nstart, nstart, hcc, scc, nstart, en, vcc); + DiagoIterAssist::diag_hegvd(nstart, nstart, hcc, scc, nstart, en, vcc); { // code block to calculate tar_mat ModuleBase::gemm_op()('N', @@ -521,7 +583,7 @@ void DiagoIterAssist::diag_responce( const T* hcc, template void DiagoIterAssist::diag_subspace_psi(const T* hcc, - const T* scc, + T* scc, const int dim_subspace, psi::Psi& evc, Real* en @@ -538,7 +600,7 @@ void DiagoIterAssist::diag_subspace_psi(const T* hcc, setmem_complex_op()(vcc, 0, nstart * nstart); // after generation of H and S matrix, diag them - DiagoIterAssist::diagH_LAPACK(nstart, nstart, hcc, scc, nstart, en, vcc); + DiagoIterAssist::diag_hegvd(nstart, nstart, hcc, scc, nstart, en, vcc); { // code block to calculate tar_mat const int dmin = evc.get_current_ngk(); @@ -572,7 +634,7 @@ template bool DiagoIterAssist::test_exit_cond(const int& ntry, const int& notconv) { //================================================================ - // If this logical function is true, need to do diagH_subspace + // If this logical function is true, need to do diag_subspace // and cg again. //================================================================ @@ -588,7 +650,7 @@ bool DiagoIterAssist::test_exit_cond(const int& ntry, const int& notc const bool f2 = ((!scf && (notconv > 0))); // if self consistent calculation, if not converged > 5, - // using diagH_subspace and cg method again. ntry++ + // using diag_subspace and cg method again. ntry++ const bool f3 = ((scf && (notconv > 5))); return (f1 && (f2 || f3)); } diff --git a/source/source_hsolver/diago_iter_assist.h b/source/source_hsolver/diago_iter_assist.h index 696c3c2862..2867b50b5c 100644 --- a/source/source_hsolver/diago_iter_assist.h +++ b/source/source_hsolver/diago_iter_assist.h @@ -29,11 +29,28 @@ class DiagoIterAssist static int SCF_ITER; // for psi::Psi structure - static void diagH_subspace(const hamilt::Hamilt* const pHamilt, - const psi::Psi& psi, - psi::Psi& evc, - Real* en, - int n_band = 0); + /** + * @brief Diagonalizes the Hamiltonian in a subspace defined by the given wavefunction. + * + * This static function computes the eigenvalues and eigenvectors of the Hamiltonian + * within the subspace spanned by the provided wavefunction `psi`. The resulting eigenvectors + * are stored in `evc`, and the corresponding eigenvalues are written to `en`. + * + * @tparam T Data type for computation (e.g., float, double). + * @tparam Device Device type for computation (e.g., CPU, GPU). + * @param pHamilt Pointer to the Hamiltonian object. + * @param psi Input wavefunction defining the subspace. + * @param evc Output container for computed eigenvectors. + * @param en Output array for computed eigenvalues. + * @param n_band Number of bands (eigenvalues/eigenvectors) to compute. Default is 0 (all). + * @param is_S_orthogonal If true, assumes the input wavefunction is already orthogonalized. + */ + static void diag_subspace(const hamilt::Hamilt* const pHamilt, + const psi::Psi& psi, + psi::Psi& evc, + Real *en, + int n_band = 0, + const bool is_S_orthogonal = false); /// @brief use LAPACK to diagonalize the Hamiltonian matrix /// @param pHamilt interface to hamiltonian @@ -44,7 +61,7 @@ class DiagoIterAssist /// @param en eigenenergies /// @note exception handle: if there is no operator initialized in Hamilt, will directly copy value from psi to evc, /// and return all - zero eigenenergies. - static void diagH_subspace_init( + static void diag_subspace_init( hamilt::Hamilt* pHamilt, const T* psi, int psi_nr, @@ -54,13 +71,19 @@ class DiagoIterAssist const std::function& add_to_hcc = [](T* null, const int n) {}, const std::function& export_vcc = [](const T* null, const int n, const int m) {}); - static void diagH_LAPACK(const int nstart, - const int nbands, - const T* hcc, - const T* sc, - const int ldh, // nstart - Real* e, - T* vcc); + static void diag_heevx(const int nstart, + const int nbands, + const T *hcc, + const int ldh, + Real *e, + T *vcc); + static void diag_hegvd(const int nstart, + const int nbands, + const T *hcc, + T *sc, + const int ldh, // nstart + Real *e, + T *vcc); /// @brief calculate Hamiltonian and overlap matrix in subspace spanned by nstart states psi /// @param pHamilt : hamiltonian operator carrier @@ -81,7 +104,7 @@ class DiagoIterAssist /// @param mat_col : number of columns of target matrix /// @param en : eigenvalues static void diag_responce(const T* hcc, - const T* scc, + T* scc, const int nbands, const T* mat_in, T* mat_out, @@ -90,7 +113,7 @@ class DiagoIterAssist /// @brief calculate the response wavefunction psi from rotation matrix solved by diagonalization of H and S matrix static void diag_subspace_psi(const T* hcc, - const T* scc, + T* scc, const int dim_subspace, psi::Psi& evc, Real* en); diff --git a/source/source_hsolver/diago_lapack.cpp b/source/source_hsolver/diago_lapack.cpp index 90018c288d..4888a1159a 100644 --- a/source/source_hsolver/diago_lapack.cpp +++ b/source/source_hsolver/diago_lapack.cpp @@ -30,12 +30,10 @@ void DiagoLapack::diag(hamilt::Hamilt* phm_in, psi::Psi& // Diag this->dsygvx_diag(h_mat.col, h_mat.row, h_mat.p, s_mat.p, eigen.data(), psi); // Copy result - int size = eigen.size(); - for (int i = 0; i < size; i++) - { - eigenvalue_in[i] = eigen[i]; - } + const int inc = 1; + BlasConnector::copy(PARAM.inp.nbands, eigen.data(), inc, eigenvalue_in, inc); } + template <> void DiagoLapack>::diag(hamilt::Hamilt>* phm_in, psi::Psi>& psi, @@ -48,109 +46,152 @@ void DiagoLapack>::diag(hamilt::Hamilt std::vector eigen(PARAM.globalv.nlocal, 0.0); this->zhegvx_diag(h_mat.col, h_mat.row, h_mat.p, s_mat.p, eigen.data(), psi); - int size = eigen.size(); - for (int i = 0; i < size; i++) - { - eigenvalue_in[i] = eigen[i]; - } + const int inc = 1; + BlasConnector::copy(PARAM.inp.nbands, eigen.data(), inc, eigenvalue_in, inc); +} + +#ifdef __MPI + template<> + void DiagoLapack::diag_pool(hamilt::MatrixBlock& h_mat, + hamilt::MatrixBlock& s_mat, + psi::Psi& psi, + Real* eigenvalue_in, + MPI_Comm& comm) +{ + ModuleBase::TITLE("DiagoLapack", "diag_pool"); + assert(h_mat.col == s_mat.col && h_mat.row == s_mat.row && h_mat.desc == s_mat.desc); + std::vector eigen(PARAM.globalv.nlocal, 0.0); + this->dsygvx_diag(h_mat.col, h_mat.row, h_mat.p, s_mat.p, eigen.data(), psi); + const int inc = 1; + BlasConnector::copy(PARAM.inp.nbands, eigen.data(), inc, eigenvalue_in, inc); +} + template<> + void DiagoLapack>::diag_pool(hamilt::MatrixBlock>& h_mat, + hamilt::MatrixBlock>& s_mat, + psi::Psi>& psi, + Real* eigenvalue_in, + MPI_Comm& comm) +{ + ModuleBase::TITLE("DiagoLapack", "diag_pool"); + assert(h_mat.col == s_mat.col && h_mat.row == s_mat.row && h_mat.desc == s_mat.desc); + std::vector eigen(PARAM.globalv.nlocal, 0.0); + this->zhegvx_diag(h_mat.col, h_mat.row, h_mat.p, s_mat.p, eigen.data(), psi); + const int inc = 1; + BlasConnector::copy(PARAM.inp.nbands, eigen.data(), inc, eigenvalue_in, inc); } +#endif template -int DiagoLapack::dsygvx_once(const int ncol, +std::pair> DiagoLapack::dsygvx_once(const int ncol, const int nrow, const double* const h_mat, const double* const s_mat, double* const ekb, psi::Psi& wfc_2d) const { - // Copy matrix to temp variables ModuleBase::matrix h_tmp(ncol, nrow, false); memcpy(h_tmp.c, h_mat, sizeof(double) * ncol * nrow); - - ModuleBase::matrix s_tmp(ncol, nrow, false); memcpy(s_tmp.c, s_mat, sizeof(double) * ncol * nrow); - // Prepare caculate parameters const char jobz = 'V', range = 'I', uplo = 'U'; const int itype = 1, il = 1, iu = PARAM.inp.nbands, one = 1; - int M = 0, info = 0; + int M = 0, NZ = 0, lwork = -1, liwork = -1, info = 0; double vl = 0, vu = 0; - const double abstol = 0; - - int lwork = (ncol + 2) * ncol; - + const double abstol = 0, orfac = -1; std::vector work(3, 0); std::vector iwork(1, 0); std::vector ifail(PARAM.globalv.nlocal, 0); - - // Original Lapack caculate, obelsete - /*dsygvx_(&itype, - &jobz, - &range, - &uplo, - &PARAM.globalv.nlocal, - h_tmp.c, - &ncol, - s_tmp.c, - &ncol, - &vl, - &vu, - &il, - &iu, - &abstol, - &M, - ekb, - wfc_2d.get_pointer(), - &ncol, - work.data(), - &lwork, - iwork.data(), - ifail.data(), - &info); - - // Throw error if it returns info - if (info) + std::vector iclustr(2 * GlobalV::DSIZE); + std::vector gap(GlobalV::DSIZE); + + // LAPACK dsygvx signature: + // (ITYPE, JOBZ, RANGE, UPLO, N, A, LDA, B, LDB, VL, VU, IL, IU, + // ABSTOL, M, W, Z, LDZ, WORK, LWORK, IWORK, IFAIL, INFO) + int n = PARAM.globalv.nlocal; + int lda = n, ldb = n, ldz = n; + dsygvx_(&itype, + &jobz, + &range, + &uplo, + &n, + h_tmp.c, + &lda, + s_tmp.c, + &ldb, + &vl, + &vu, + &il, + &iu, + &abstol, + &M, + ekb, + wfc_2d.get_pointer(), + &ldz, + work.data(), + &lwork, + iwork.data(), + ifail.data(), + &info); + if (info) { throw std::runtime_error("info = " + ModuleBase::GlobalFunc::TO_STRING(info) + ".\n" + std::string(__FILE__) + " line " + std::to_string(__LINE__)); - //lwork = work[0]; - //work.resize(std::max(lwork, 3), 0); - //iwork.resize(iwork[0], 0); - - dsygvx_(&itype, - &jobz, - &range, - &uplo, - &PARAM.globalv.nlocal, - h_tmp.c, - &PARAM.globalv.nlocal, - s_tmp.c, - &PARAM.globalv.nlocal, - &vl, - &vu, - &il, - &iu, - &abstol, - &M, - ekb, - wfc_2d.get_pointer(), - &ncol, - work.data(), - &lwork, - iwork.data(), - ifail.data(), - &info);*/ - - double *ev = new double[ncol * ncol]; + } - dsygv_(&itype, &jobz, &uplo, &PARAM.globalv.nlocal, h_tmp.c, &ncol, s_tmp.c, &ncol, ekb, ev, &lwork, &info); + // Query returned optimal lwork in work[0] + lwork = static_cast(work[0]); + work.resize(std::max(lwork, 3), 0); + // LAPACK integer workspace: use conservative size (5*N) + liwork = std::max(1, 5 * n); + iwork.resize(liwork, 0); - return info; + dsygvx_(&itype, + &jobz, + &range, + &uplo, + &n, + h_tmp.c, + &lda, + s_tmp.c, + &ldb, + &vl, + &vu, + &il, + &iu, + &abstol, + &M, + ekb, + wfc_2d.get_pointer(), + &ldz, + work.data(), + &lwork, + iwork.data(), + ifail.data(), + &info); + // GlobalV::ofs_running<<"M="<{}); + } else if (info < 0) { + return std::make_pair(info, std::vector{}); + } else if (info % 2) { + return std::make_pair(info, ifail); + } else if (info / 2 % 2) { + return std::make_pair(info, iclustr); + } else if (info / 4 % 2) { + return std::make_pair(info, std::vector{M, NZ}); + } else if (info / 16 % 2) { + return std::make_pair(info, ifail); + } else { + throw std::runtime_error("info = " + ModuleBase::GlobalFunc::TO_STRING(info) + ".\n" + + std::string(__FILE__) + " line " + + std::to_string(__LINE__)); + } } template -int DiagoLapack::zhegvx_once(const int ncol, +std::pair> DiagoLapack::zhegvx_once(const int ncol, const int nrow, const std::complex* const h_mat, const std::complex* const s_mat, @@ -159,95 +200,110 @@ int DiagoLapack::zhegvx_once(const int ncol, { ModuleBase::ComplexMatrix h_tmp(ncol, nrow, false); memcpy(h_tmp.c, h_mat, sizeof(std::complex) * ncol * nrow); - ModuleBase::ComplexMatrix s_tmp(ncol, nrow, false); memcpy(s_tmp.c, s_mat, sizeof(std::complex) * ncol * nrow); const char jobz = 'V', range = 'I', uplo = 'U'; const int itype = 1, il = 1, iu = PARAM.inp.nbands, one = 1; - int M = 0, lrwork = -1, info = 0; - const double abstol = 0; - - int lwork = (ncol + 2) * ncol; - + int M = 0, NZ = 0, lwork = -1, lrwork = -1, liwork = -1, info = 0; + const double abstol = 0, orfac = -1; + const double vl = 0, vu = 0; std::vector> work(1, 0); - double *rwork = new double[3 * ncol - 2]; + std::vector rwork(3, 0); std::vector iwork(1, 0); std::vector ifail(PARAM.globalv.nlocal, 0); - - // Original Lapack caculate, obelsete - /* + std::vector iclustr(2 * GlobalV::DSIZE); + std::vector gap(GlobalV::DSIZE); + + // LAPACK zhegvx signature: + // (ITYPE, JOBZ, RANGE, UPLO, N, A, LDA, B, LDB, VL, VU, IL, IU, + // ABSTOL, M, W, Z, LDZ, WORK, LWORK, RWORK, IWORK, IFAIL, INFO) + int n = PARAM.globalv.nlocal; + int lda = n, ldb = n, ldz = n; zhegvx_(&itype, - &jobz, - &range, - &uplo, - &PARAM.globalv.nlocal, - h_tmp.c, - &PARAM.globalv.nlocal, - s_tmp.c, - &PARAM.globalv.nlocal, - &vl, - &vu, - &il, - &iu, - &abstol, - &M, - ekb, - wfc_2d.get_pointer(), - &ncol, - work.data(), - &lwork, - rwork.data(), - iwork.data(), - ifail.data(), - &info); - - if (info) + &jobz, + &range, + &uplo, + &n, + h_tmp.c, + &lda, + s_tmp.c, + &ldb, + &vl, + &vu, + &il, + &iu, + &abstol, + &M, + ekb, + wfc_2d.get_pointer(), + &ldz, + work.data(), + &lwork, + rwork.data(), + iwork.data(), + ifail.data(), + &info); + if (info) { throw std::runtime_error("info=" + ModuleBase::GlobalFunc::TO_STRING(info) + ". " + std::string(__FILE__) + " line " + std::to_string(__LINE__)); + } - // GlobalV::ofs_running<<"lwork="<(work[0].real()); + work.resize(std::max(lwork, 1), 0); + // rwork: choose conservative size. Use baseline 7*N plus degeneracy margin + lrwork = std::max(3, 7 * n + this->degeneracy_max * n); + rwork.resize(lrwork, 0); + // LAPACK integer workspace: use conservative size (5*N) + liwork = std::max(1, 5 * n); + iwork.resize(liwork, 0); zhegvx_(&itype, - &jobz, - &range, - &uplo, - &PARAM.globalv.nlocal, - h_tmp.c, - &PARAM.globalv.nlocal, - s_tmp.c, - &PARAM.globalv.nlocal, - &vl, - &vu, - &il, - &iu, - &abstol, - &M, - ekb, - wfc_2d.get_pointer(), - &ncol, - work.data(), - &lwork, - rwork.data(), - iwork.data(), - ifail.data(), - &info); - - */ - - std::complex *ev = new std::complex[ncol * ncol]; - - zhegv_(&itype, &jobz, &uplo, &PARAM.globalv.nlocal, h_tmp.c, &ncol, s_tmp.c, &ncol, ekb, ev, &lwork, rwork, &info); - - return info; + &jobz, + &range, + &uplo, + &n, + h_tmp.c, + &lda, + s_tmp.c, + &ldb, + &vl, + &vu, + &il, + &iu, + &abstol, + &M, + ekb, + wfc_2d.get_pointer(), + &ldz, + work.data(), + &lwork, + rwork.data(), + iwork.data(), + ifail.data(), + &info); + // GlobalV::ofs_running<<"M="<{}); + } else if (info < 0) { + return std::make_pair(info, std::vector{}); + } else if (info % 2) { + return std::make_pair(info, ifail); + } else if (info / 2 % 2) { + return std::make_pair(info, iclustr); + } else if (info / 4 % 2) { + return std::make_pair(info, std::vector{M, NZ}); + } else if (info / 16 % 2) { + return std::make_pair(info, ifail); + } else { + throw std::runtime_error("info = " + ModuleBase::GlobalFunc::TO_STRING(info) + ".\n" + + std::string(__FILE__) + " line " + + std::to_string(__LINE__)); + } } template @@ -260,9 +316,9 @@ void DiagoLapack::dsygvx_diag(const int ncol, { while (true) { - - int info_result = dsygvx_once(ncol, nrow, h_mat, s_mat, ekb, wfc_2d); - if (info_result == 0) { + const std::pair> info_vec = dsygvx_once(ncol, nrow, h_mat, s_mat, ekb, wfc_2d); + post_processing(info_vec.first, info_vec.second); + if (info_vec.first == 0) { break; } } @@ -278,8 +334,9 @@ void DiagoLapack::zhegvx_diag(const int ncol, { while (true) { - int info_result = zhegvx_once(ncol, nrow, h_mat, s_mat, ekb, wfc_2d); - if (info_result == 0) { + const std::pair> info_vec = zhegvx_once(ncol, nrow, h_mat, s_mat, ekb, wfc_2d); + post_processing(info_vec.first, info_vec.second); + if (info_vec.first == 0) { break; } } @@ -297,5 +354,60 @@ void DiagoLapack::post_processing(const int info, const std::vector& vec { return; } + else if (info < 0) + { + const int info_negative = -info; + const std::string str_index + = (info_negative > 100) + ? ModuleBase::GlobalFunc::TO_STRING(info_negative / 100) + "-th argument " + + ModuleBase::GlobalFunc::TO_STRING(info_negative % 100) + "-entry is illegal.\n" + : ModuleBase::GlobalFunc::TO_STRING(info_negative) + "-th argument is illegal.\n"; + throw std::runtime_error(str_info_FILE + str_index); + } + else if (info % 2) + { + std::string str_ifail = "ifail = "; + for (const int i: vec) { + str_ifail += ModuleBase::GlobalFunc::TO_STRING(i) + " "; + } + throw std::runtime_error(str_info_FILE + str_ifail); + } + else if (info / 2 % 2) + { + int degeneracy_need = 0; + for (int irank = 0; irank < GlobalV::DSIZE; ++irank) { + degeneracy_need = std::max(degeneracy_need, vec[2 * irank + 1] - vec[2 * irank]); + } + const std::string str_need = "degeneracy_need = " + ModuleBase::GlobalFunc::TO_STRING(degeneracy_need) + ".\n"; + const std::string str_saved + = "degeneracy_saved = " + ModuleBase::GlobalFunc::TO_STRING(this->degeneracy_max) + ".\n"; + if (degeneracy_need <= this->degeneracy_max) + { + throw std::runtime_error(str_info_FILE + str_need + str_saved); + } + else + { + GlobalV::ofs_running << str_need << str_saved; + this->degeneracy_max = degeneracy_need; + return; + } + } + else if (info / 4 % 2) + { + const std::string str_M = "M = " + ModuleBase::GlobalFunc::TO_STRING(vec[0]) + ".\n"; + const std::string str_NZ = "NZ = " + ModuleBase::GlobalFunc::TO_STRING(vec[1]) + ".\n"; + const std::string str_NBANDS + = "PARAM.inp.nbands = " + ModuleBase::GlobalFunc::TO_STRING(PARAM.inp.nbands) + ".\n"; + throw std::runtime_error(str_info_FILE + str_M + str_NZ + str_NBANDS); + } + else if (info / 16 % 2) + { + const std::string str_npos = "not positive definite = " + ModuleBase::GlobalFunc::TO_STRING(vec[0]) + ".\n"; + throw std::runtime_error(str_info_FILE + str_npos); + } + else + { + throw std::runtime_error(str_info_FILE); + } } } // namespace hsolver \ No newline at end of file diff --git a/source/source_hsolver/diago_lapack.h b/source/source_hsolver/diago_lapack.h index 53b710ae63..bfdf78ac34 100644 --- a/source/source_hsolver/diago_lapack.h +++ b/source/source_hsolver/diago_lapack.h @@ -27,6 +27,10 @@ class DiagoLapack public: void diag(hamilt::Hamilt* phm_in, psi::Psi& psi, Real* eigenvalue_in); + #ifdef __MPI + // diagnolization used in parallel-k case + void diag_pool(hamilt::MatrixBlock& h_mat, hamilt::MatrixBlock& s_mat, psi::Psi& psi, Real* eigenvalue_in, MPI_Comm& comm); +#endif void dsygvx_diag(const int ncol, const int nrow, @@ -41,18 +45,18 @@ class DiagoLapack double* const ekb, psi::Psi>& wfc_2d); - int dsygvx_once(const int ncol, - const int nrow, - const double* const h_mat, - const double* const s_mat, - double* const ekb, - psi::Psi& wfc_2d) const; - int zhegvx_once(const int ncol, - const int nrow, - const std::complex* const h_mat, - const std::complex* const s_mat, - double* const ekb, - psi::Psi>& wfc_2d) const; + std::pair> dsygvx_once(const int ncol, + const int nrow, + const double* const h_mat, + const double* const s_mat, + double* const ekb, + psi::Psi& wfc_2d) const; + std::pair> zhegvx_once(const int ncol, + const int nrow, + const std::complex* const h_mat, + const std::complex* const s_mat, + double* const ekb, + psi::Psi>& wfc_2d) const; int degeneracy_max = 12; // For reorthogonalized memory. 12 followes siesta. diff --git a/source/source_hsolver/hsolver_lcao.cpp b/source/source_hsolver/hsolver_lcao.cpp index 2a168f8b24..378b063aac 100644 --- a/source/source_hsolver/hsolver_lcao.cpp +++ b/source/source_hsolver/hsolver_lcao.cpp @@ -3,10 +3,10 @@ #ifdef __MPI #include "diago_scalapack.h" #include "source_base/module_external/scalapack_connector.h" -#else -#include "diago_lapack.h" #endif +#include "diago_lapack.h" + #ifdef __CUSOLVERMP #include "diago_cusolvermp.h" #endif @@ -34,13 +34,18 @@ #include "source_hsolver/parallel_k2d.h" #include "source_io/module_parameter/parameter.h" +#include "source_lcao/rho_tau_lcao.h" // mohan add 20251024 + namespace hsolver { -template -void HSolverLCAO::solve(hamilt::Hamilt* pHamilt, - psi::Psi& psi, - elecstate::ElecState* pes, +template +void HSolverLCAO::solve(hamilt::Hamilt* pHamilt, + psi::Psi& psi, + elecstate::ElecState* pes, + elecstate::DensityMatrix& dm, // mohan add 2025-11-03 + Charge &chr, + const int nspin, const bool skip_charge) { ModuleBase::TITLE("HSolverLCAO", "solve"); @@ -48,14 +53,20 @@ void HSolverLCAO::solve(hamilt::Hamilt* pHamilt, if (this->method != "pexsi") { + #ifdef __MPI + #ifdef __CUDA + if (this->method == "cusolver" && GlobalV::NPROC > 1) + { + this->parakSolve_cusolver(pHamilt, psi, pes); + }else + #endif if (PARAM.globalv.kpar_lcao > 1 - && (this->method == "genelpa" || this->method == "elpa" || this->method == "scalapack_gvx")) + && (this->method == "genelpa" || this->method == "elpa" || this->method == "scalapack_gvx" || this->method == "lapack")) { -#ifdef __MPI this->parakSolve(pHamilt, psi, pes, PARAM.globalv.kpar_lcao); -#endif - } - else if (PARAM.globalv.kpar_lcao == 1) + } else + #endif + if (PARAM.globalv.kpar_lcao == 1) { /// Loop over k points for solve Hamiltonian to eigenpairs(eigenvalues and eigenvectors). for (int ik = 0; ik < psi.get_nk(); ++ik) @@ -84,16 +95,14 @@ void HSolverLCAO::solve(hamilt::Hamilt* pHamilt, pes->nelec_spin, pes->skip_weights); - auto _pes_lcao = dynamic_cast*>(pes); - elecstate::calEBand(_pes_lcao->ekb, _pes_lcao->wg, _pes_lcao->f_en); - elecstate::cal_dm_psi(_pes_lcao->DM->get_paraV_pointer(), _pes_lcao->wg, psi, *(_pes_lcao->DM)); - _pes_lcao->DM->cal_DMR(); + elecstate::calEBand(pes->ekb, pes->wg, pes->f_en); + elecstate::cal_dm_psi(dm.get_paraV_pointer(), pes->wg, psi, dm); + dm.cal_DMR(); if (!skip_charge) { - // used in scf calculation - // calculate charge by eigenpairs(eigenvalues and eigenvectors) - pes->psiToRho(psi); + // compute charge density from density matrix, mohan update 20251024 + LCAO_domain::dm2rho(dm.get_DMR_vector(), nspin, &chr); } else { @@ -103,7 +112,7 @@ void HSolverLCAO::solve(hamilt::Hamilt* pHamilt, else if (this->method == "pexsi") { #ifdef __PEXSI // other purification methods should follow this routine - DiagoPexsi pe(ParaV); + DiagoPexsi pe(ParaV); for (int ik = 0; ik < psi.get_nk(); ++ik) { /// update H(k) for each k point @@ -112,10 +121,10 @@ void HSolverLCAO::solve(hamilt::Hamilt* pHamilt, // solve eigenvector and eigenvalue for H(k) pe.diag(pHamilt, psi, nullptr); } - auto _pes = dynamic_cast*>(pes); + auto _pes = dynamic_cast*>(pes); pes->f_en.eband = pe.totalFreeEnergy; // maybe eferm could be dealt with in the future - _pes->dmToRho(pe.DM, pe.EDM); + _pes->dm2rho(pe.DM, pe.EDM, &dm); #endif } @@ -151,8 +160,11 @@ void HSolverLCAO::hamiltSolvePsiK(hamilt::Hamilt* hm, psi::Psi& #ifdef __CUDA else if (this->method == "cusolver") { - DiagoCusolver cs(this->ParaV); - cs.diag(hm, psi, eigenvalue); + // Note: This branch will only be executed in the single-process case + DiagoCusolver cu; + hamilt::MatrixBlock hk, sk; + hm->matrix(hk, sk); + cu.diag(hk, sk, psi, eigenvalue); } #ifdef __CUSOLVERMP else if (this->method == "cusolvermp") @@ -162,13 +174,11 @@ void HSolverLCAO::hamiltSolvePsiK(hamilt::Hamilt* hm, psi::Psi& } #endif #endif -#ifndef __MPI else if (this->method == "lapack") // only for single core { DiagoLapack la; la.diag(hm, psi, eigenvalue); } -#endif else { ModuleBase::WARNING_QUIT("HSolverLCAO::solve", "This method is not supported for lcao basis in ABACUS!"); @@ -244,6 +254,11 @@ void HSolverLCAO::parakSolve(hamilt::Hamilt* pHamilt, DiagoScalapack sa; sa.diag_pool(hk_pool, sk_pool, psi_pool, &(pes->ekb(ik_global, 0)), k2d.POOL_WORLD_K2D); } + else if (this->method == "lapack") + { + DiagoLapack la; + la.diag_pool(hk_pool, sk_pool, psi_pool, &(pes->ekb(ik_global, 0)), k2d.POOL_WORLD_K2D); + } #ifdef __ELPA else if (this->method == "genelpa") { @@ -295,7 +310,192 @@ void HSolverLCAO::parakSolve(hamilt::Hamilt* pHamilt, #endif } +#if defined (__MPI) && defined (__CUDA) +template +void HSolverLCAO::parakSolve_cusolver(hamilt::Hamilt* pHamilt, + psi::Psi& psi, + elecstate::ElecState* pes) +{ + ModuleBase::timer::tick("HSolverLCAO", "parakSolve"); + const int dev_id = base_device::information::set_device_by_rank(); + + int world_rank, world_size; + MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); + MPI_Comm_size(MPI_COMM_WORLD, &world_size); + + // Split communicator by shared memory node + MPI_Comm nodeComm; + MPI_Comm_split_type(MPI_COMM_WORLD, MPI_COMM_TYPE_SHARED, world_rank, MPI_INFO_NULL, &nodeComm); + + int local_rank, local_size; + MPI_Comm_rank(nodeComm, &local_rank); + MPI_Comm_size(nodeComm, &local_size); + + // Get number of CUDA devices on this node + int device_count = 0; + cudaError_t cuda_err = cudaGetDeviceCount(&device_count); + if (cuda_err != cudaSuccess) { + device_count = 0; // Treat as no GPU available + } + + if(local_rank >= device_count) { + local_rank = -1; // Mark as inactive for GPU work + } + + // Determine the number of MPI processes on this node that can actively use a GPU. + // This is the minimum of: + // - The number of available MPI processes on the node (local_size) + // - The number of available CUDA-capable GPUs on the node (device_count) + // Each GPU is assumed to be used by one dedicated MPI process. + // Thus, only the first 'min(local_size, device_count)' ranks on this node + // will be assigned GPU work; the rest will be inactive or used for communication-only roles. + int active_procs_per_node = std::min(local_size, device_count); + + std::vector all_active_procs(world_size); + std::vector all_local_ranks(world_size); + + MPI_Allgather(&active_procs_per_node, 1, MPI_INT, + all_active_procs.data(), 1, MPI_INT, MPI_COMM_WORLD); + MPI_Allgather(&local_rank, 1, MPI_INT, + all_local_ranks.data(), 1, MPI_INT, MPI_COMM_WORLD); + + int total_active_ranks = 0; + int total_nodes = 0; + int highest_active_rank = 0; + + for (int i = 0; i < world_size; ++i) { + if (all_local_ranks[i] == 0) { // new node + total_nodes++; + total_active_ranks += all_active_procs[i]; + highest_active_rank = std::max(highest_active_rank, all_active_procs[i] - 1); + } + } + + // active_ranks will store the global ranks of all active processes across all nodes + // The order of global ranks stored here determines the order in which they will be assigned to k-points. + // The k-points will be distributed among these ranks in a round-robin fashion. + // The purpose of setting the order is to ensure load balancing among nodes as much as possible + std::vector active_ranks; + for(int i = 0; i <= highest_active_rank; i++) + { + for(int j = 0; j < world_size; j++) + { + if(all_local_ranks[j] == i) + { + active_ranks.push_back(j); + } + } + } + + const int nks = psi.get_nk(); // total number of k points + const int nbands = this->ParaV->get_nbands(); + // Set the parallel storage scheme for the matrix and psi + Parallel_2D mat_para_global; // store the info about how the origin matrix is distributed in parallel + Parallel_2D mat_para_local; // store the info about how the matrix is distributed after collected from all processes + Parallel_2D psi_para_global; // store the info about how the psi is distributed in parallel + Parallel_2D psi_para_local; // store the info about how the psi is distributed before distributing to all processes + + MPI_Comm self_comm; // the communicator that only contains the current process itself + MPI_Comm_split(MPI_COMM_WORLD, world_rank, 0, &self_comm); + int nrow = this->ParaV->get_global_row_size(); // number of rows in the global matrix + int ncol = nrow; + int nb2d = this->ParaV->get_block_size(); // block size for the 2D matrix distribution + mat_para_global.init(nrow, ncol, nb2d, MPI_COMM_WORLD); + psi_para_global.init(nrow, nbands, nb2d, MPI_COMM_WORLD); + mat_para_local.init(nrow, ncol, nb2d, self_comm); + psi_para_local.init(nrow, ncol, nb2d, self_comm); + + std::vector hk_mat; // temporary storage for H(k) matrix collected from all processes + std::vector sk_mat; // temporary storage for S(k) matrix collected from all processes + // In each iteration, we process total_active_ranks k-points. + for(int ik_start = 0; ik_start < nks; ik_start += total_active_ranks) + { + int kpt_assigned = -1; // the k-point assigned to the current MPI process in this iteration + // Compute and gather the hk and sk matrices distributed across different processes in parallel, + // preparing for subsequent transfer to the GPU for computation. + for(int ik = ik_start; ik < ik_start + total_active_ranks && ik < nks; ik++) + { + // `is_active` indicates whether this MPI process is assigned to compute the current k-point + bool is_active = world_rank == active_ranks[ik % total_active_ranks]; + if (is_active) + { + kpt_assigned = ik; + hk_mat.resize(nrow * ncol); + sk_mat.resize(nrow * ncol); + } + pHamilt->updateHk(ik); + hamilt::MatrixBlock hk_2D, sk_2D; + pHamilt->matrix(hk_2D, sk_2D); + int desc_tmp[9]; + T* hk_local_ptr = hk_mat.data(); + T* sk_local_ptr = sk_mat.data(); + std::copy(mat_para_local.desc, mat_para_local.desc + 9, desc_tmp); + if( !is_active) + { + desc_tmp[1] = -1; + } + + Cpxgemr2d(nrow, ncol, hk_2D.p, 1, 1, mat_para_global.desc, + hk_local_ptr, 1, 1, desc_tmp, + mat_para_global.blacs_ctxt); + Cpxgemr2d(nrow, ncol, sk_2D.p, 1, 1, mat_para_global.desc, + sk_local_ptr, 1, 1, desc_tmp, + mat_para_global.blacs_ctxt); + } + + // diagonalize the Hamiltonian matrix using cusolver + psi::Psi psi_local{}; + if(kpt_assigned != -1) + { + psi_local.resize(1, ncol, nrow); + DiagoCusolver cu{}; + hamilt::MatrixBlock hk_local = hamilt::MatrixBlock{ + hk_mat.data(), (size_t)nrow, (size_t)ncol, + mat_para_local.desc}; + hamilt::MatrixBlock sk_local = hamilt::MatrixBlock{ + sk_mat.data(), (size_t)nrow, (size_t)ncol, + mat_para_local.desc}; + cu.diag(hk_local, sk_local, psi_local, &(pes->ekb(kpt_assigned, 0))); + } + + // transfer the eigenvectors and eigenvalues to all processes + for(int ik = ik_start; ik < ik_start + total_active_ranks && ik < nks; ik++) + { + int root = active_ranks[ik % total_active_ranks]; + MPI_Bcast(&(pes->ekb(ik, 0)), nbands, MPI_DOUBLE, root, MPI_COMM_WORLD); + int desc_pool[9]; + std::copy(psi_para_local.desc, psi_para_local.desc + 9, desc_pool); + T* psi_local_ptr = nullptr; + if (world_rank != root) + { + desc_pool[1] = -1; + }else + { + psi_local_ptr = psi_local.get_pointer(); + } + psi.fix_k(ik); + Cpxgemr2d(nrow, + nbands, + psi_local_ptr, + 1, + 1, + desc_pool, + psi.get_pointer(), + 1, + 1, + psi_para_global.desc, + psi_para_global.blacs_ctxt); + } + } + + MPI_Comm_free(&self_comm); + MPI_Comm_free(&nodeComm); + ModuleBase::timer::tick("HSolverLCAO", "parakSolve"); +} +#endif + + template class HSolverLCAO; template class HSolverLCAO>; -} // namespace hsolver \ No newline at end of file +} // namespace hsolver diff --git a/source/source_hsolver/hsolver_lcao.h b/source/source_hsolver/hsolver_lcao.h index 8ee0a15576..eebab34208 100644 --- a/source/source_hsolver/hsolver_lcao.h +++ b/source/source_hsolver/hsolver_lcao.h @@ -5,24 +5,35 @@ #include "source_hamilt/hamilt.h" #include "source_basis/module_ao/parallel_orbitals.h" +#include "source_estate/module_charge/charge.h" // mohan add 20251024 +#include "source_estate/module_dm/density_matrix.h" // mohan add 20251103 + namespace hsolver { -template +template class HSolverLCAO { public: HSolverLCAO(const Parallel_Orbitals* ParaV_in, std::string method_in) : ParaV(ParaV_in), method(method_in) {}; - void solve(hamilt::Hamilt* pHamilt, - psi::Psi& psi, + void solve(hamilt::Hamilt* pHamilt, + psi::Psi& psi, elecstate::ElecState* pes, - const bool skip_charge); + elecstate::DensityMatrix& dm, // mohan add 2025-11-03 + Charge &chr, // charge density + const int nspin, + const bool skip_charge); private: - void hamiltSolvePsiK(hamilt::Hamilt* hm, psi::Psi& psi, double* eigenvalue); // for kpar_lcao == 1 + void hamiltSolvePsiK(hamilt::Hamilt* hm, psi::Psi& psi, double* eigenvalue); // for kpar_lcao == 1 + + void parakSolve(hamilt::Hamilt* pHamilt, psi::Psi& psi, elecstate::ElecState* pes, int kpar); // for kpar_lcao > 1 - void parakSolve(hamilt::Hamilt* pHamilt, psi::Psi& psi, elecstate::ElecState* pes, int kpar); // for kpar_lcao > 1 + // The solving algorithm using cusolver is different from others, so a separate function is needed + void parakSolve_cusolver(hamilt::Hamilt* pHamilt, + psi::Psi& psi, + elecstate::ElecState* pes); const Parallel_Orbitals* ParaV; @@ -31,4 +42,4 @@ class HSolverLCAO } // namespace hsolver -#endif \ No newline at end of file +#endif diff --git a/source/source_hsolver/hsolver_lcaopw.cpp b/source/source_hsolver/hsolver_lcaopw.cpp index ed26436378..10c80c4481 100644 --- a/source/source_hsolver/hsolver_lcaopw.cpp +++ b/source/source_hsolver/hsolver_lcaopw.cpp @@ -65,7 +65,7 @@ void HSolverLIP::solve(hamilt::Hamilt* pHamilt, // ESolver_KS_PW::p_hamilt }; #endif /// solve eigenvector and eigenvalue for H(k) - hsolver::DiagoIterAssist::diagH_subspace_init( + hsolver::DiagoIterAssist::diag_subspace_init( pHamilt, // interface to hamilt transform.get_pointer(), // transform matrix between lcao and pw transform.get_nbands(), diff --git a/source/source_hsolver/hsolver_pw.cpp b/source/source_hsolver/hsolver_pw.cpp index c061023546..7d178f699b 100644 --- a/source/source_hsolver/hsolver_pw.cpp +++ b/source/source_hsolver/hsolver_pw.cpp @@ -105,7 +105,7 @@ void HSolverPW::solve(hamilt::Hamilt* pHamilt, for (int i = 0; i < this->wfc_basis->nks; ++i) { const int ik = k_order[i]; - + // update H(k) for each k point pHamilt->updateHk(ik); @@ -142,13 +142,13 @@ void HSolverPW::solve(hamilt::Hamilt* pHamilt, if (skip_charge) { - GlobalV::ofs_running << "Average iterative diagonalization steps for k-points " << ik - << " is: " << DiagoIterAssist::avg_iter - << " ; where current threshold is: " << this->diag_thr << " . " << std::endl; + GlobalV::ofs_running << " Average iterative diagonalization steps for k-points " << ik + << " is " << DiagoIterAssist::avg_iter + << "\n current threshold of diagonalization is " << this->diag_thr << std::endl; DiagoIterAssist::avg_iter = 0.0; } } - } + } // if (use_k_continuity) else { // Original code without k-point continuity for (int ik = 0; ik < this->wfc_basis->nks; ++ik) @@ -182,6 +182,7 @@ void HSolverPW::solve(hamilt::Hamilt* pHamilt, // solve eigenvector and eigenvalue for H(k) this->hamiltSolvePsiK(pHamilt, psi, precondition, eigenvalues.data() + ik * psi.get_nbands(), this->wfc_basis->nks); + // output iteration information and reset avg_iter if (skip_charge) { GlobalV::ofs_running << " k(" << ik+1 << "/" << pes->klist->get_nkstot() @@ -189,10 +190,14 @@ void HSolverPW::solve(hamilt::Hamilt* pHamilt, << " threshold=" << this->diag_thr << std::endl; DiagoIterAssist::avg_iter = 0.0; } + /// calculate the contribution of Psi for charge density rho } - } - + } // else (use_k_continuity) + + // output average iteration information and reset avg_iter + this->output_iterInfo(); + count++; // END Loop over k points @@ -247,7 +252,9 @@ void HSolverPW::hamiltSolvePsiK(hamilt::Hamilt* hm, if (this->method == "cg") { // wrap the subspace_func into a lambda function - auto subspace_func = [hm, cur_nbasis](const ct::Tensor& psi_in, ct::Tensor& psi_out) { + // if S_orth is true, then assume psi is S-orthogonal, solve standard eigenproblem + // otherwise, solve generalized eigenproblem + auto subspace_func = [hm, cur_nbasis](const ct::Tensor& psi_in, ct::Tensor& psi_out, const bool S_orth) { // psi_in should be a 2D tensor: // psi_in.shape() = [nbands, nbasis] const auto ndim = psi_in.shape().ndim(); @@ -267,7 +274,7 @@ void HSolverPW::hamiltSolvePsiK(hamilt::Hamilt* hm, ct::DeviceType::CpuDevice, ct::TensorShape({psi_in.shape().dim_size(0)})); - DiagoIterAssist::diagH_subspace(hm, psi_in_wrapper, psi_out_wrapper, eigen.data()); + DiagoIterAssist::diag_subspace(hm, psi_in_wrapper, psi_out_wrapper, eigen.data()); }; DiagoCG cg(this->basis_type, this->calculation_type, @@ -339,7 +346,9 @@ void HSolverPW::hamiltSolvePsiK(hamilt::Hamilt* hm, .to_device() .slice({0}, {psi.get_current_ngk()}); - cg.diag(hpsi_func, spsi_func, psi_tensor, eigen_tensor, this->ethr_band, prec_tensor); + DiagoIterAssist::avg_iter += static_cast( + cg.diag(hpsi_func, spsi_func, psi_tensor, eigen_tensor, this->ethr_band, prec_tensor) + ); // TODO: Double check tensormap's potential problem // ct::TensorMap(psi.get_pointer(), psi_tensor, {psi.get_nbands(), psi.get_nbasis()}).sync(psi_tensor); } @@ -391,7 +400,6 @@ void HSolverPW::hamiltSolvePsiK(hamilt::Hamilt* hm, PARAM.inp.pw_diag_ndim, this->diag_thr, this->diag_iter_max, - this->need_subspace, comm_info, PARAM.inp.diag_subspace, PARAM.inp.nb2d); @@ -518,9 +526,9 @@ void HSolverPW::output_iterInfo() // in PW base, average iteration steps for each band and k-point should be printing if (DiagoIterAssist::avg_iter > 0.0) { - GlobalV::ofs_running << "Average iterative diagonalization steps: " + GlobalV::ofs_running << " Average iterative diagonalization steps for k-points is " << DiagoIterAssist::avg_iter / this->wfc_basis->nks - << " ; where current threshold is: " << this->diag_thr << " . " << std::endl; + << "\n current threshold of diagonalizaiton is " << this->diag_thr << std::endl; // reset avg_iter DiagoIterAssist::avg_iter = 0.0; } @@ -532,39 +540,39 @@ void HSolverPW::build_k_neighbors() { kvecs_c.resize(nk); k_order.clear(); k_order.reserve(nk); - + // Store k-points and corresponding indices struct KPoint { ModuleBase::Vector3 kvec; int index; double norm; - - KPoint(const ModuleBase::Vector3& v, int i) : + + KPoint(const ModuleBase::Vector3& v, int i) : kvec(v), index(i), norm(v.norm()) {} }; - + // Build k-point list std::vector klist; for (int ik = 0; ik < nk; ++ik) { kvecs_c[ik] = this->wfc_basis->kvec_c[ik]; klist.push_back(KPoint(kvecs_c[ik], ik)); } - + // Sort k-points by distance from origin std::sort(klist.begin(), klist.end(), [](const KPoint& a, const KPoint& b) { return a.norm < b.norm; }); - + // Build parent-child relationships k_order.push_back(klist[0].index); - + // Find nearest processed k-point as parent for each k-point for (int i = 1; i < nk; ++i) { int current_k = klist[i].index; double min_dist = 1e10; int parent = -1; - + // find the nearest k-point as parent for (int j = 0; j < k_order.size(); ++j) { int processed_k = k_order[j]; @@ -574,7 +582,7 @@ void HSolverPW::build_k_neighbors() { parent = processed_k; } } - + k_parent[current_k] = parent; k_order.push_back(current_k); } @@ -584,34 +592,34 @@ template void HSolverPW::propagate_psi(psi::Psi& psi, const int from_ik, const int to_ik) { const int nbands = psi.get_nbands(); const int npwk = this->wfc_basis->npwk[to_ik]; - + // Get k-point difference ModuleBase::Vector3 dk = kvecs_c[to_ik] - kvecs_c[from_ik]; - + // Allocate porter locally T* porter = nullptr; resmem_complex_op()(porter, this->wfc_basis->nmaxgr, "HSolverPW::porter"); - + // Process each band for (int ib = 0; ib < nbands; ib++) { // Fix current k-point and band // psi.fix_k(from_ik); - + // FFT to real space // this->wfc_basis->recip_to_real(this->ctx, psi.get_pointer(ib), porter, from_ik); this->wfc_basis->recip_to_real(this->ctx, &psi(from_ik, ib, 0), porter, from_ik); - + // Apply phase factor // // TODO: Check how to get the r vector // ModuleBase::Vector3 r = this->wfc_basis->get_ir2r(ir); // double phase = this->wfc_basis->tpiba * (dk.x * r.x + dk.y * r.y + dk.z * r.z); // psi_real[ir] *= std::exp(std::complex(0.0, phase)); // } - + // Fix k-point for target // psi.fix_k(to_ik); - + // FFT back to reciprocal space // this->wfc_basis->real_to_recip(this->ctx, porter, psi.get_pointer(ib), to_ik, true); this->wfc_basis->real_to_recip(this->ctx, porter, &psi(to_ik, ib, 0), to_ik); diff --git a/source/source_hsolver/kernels/bpcg_kernel_op.cpp b/source/source_hsolver/kernels/bpcg_kernel_op.cpp index 19c51fc398..88f94e288c 100644 --- a/source/source_hsolver/kernels/bpcg_kernel_op.cpp +++ b/source/source_hsolver/kernels/bpcg_kernel_op.cpp @@ -183,6 +183,30 @@ struct normalize_op { } }; +template +struct refresh_hcc_scc_vcc_op +{ + using Real = typename GetTypeReal::type; + void operator()(const int &n, + T *hcc, + T *scc, + T *vcc, + const int &ldh, + const Real *eigenvalue, + const T &one) + { +#ifdef _OPENMP +#pragma omp parallel for collapse(1) schedule(static) +#endif + for (int i = 0; i < n; i++) + { + hcc[i * ldh + i] = eigenvalue[i]; + scc[i * ldh + i] = one; + vcc[i * ldh + i] = one; + } + } +}; + template struct calc_grad_with_block_op, base_device::DEVICE_CPU>; template struct line_minimize_with_block_op, base_device::DEVICE_CPU>; template struct calc_grad_with_block_op, base_device::DEVICE_CPU>; @@ -196,4 +220,7 @@ template struct precondition_op; template struct normalize_op, base_device::DEVICE_CPU>; template struct normalize_op, base_device::DEVICE_CPU>; template struct normalize_op; +template struct refresh_hcc_scc_vcc_op, base_device::DEVICE_CPU>; +template struct refresh_hcc_scc_vcc_op, base_device::DEVICE_CPU>; +template struct refresh_hcc_scc_vcc_op; } // namespace hsolver \ No newline at end of file diff --git a/source/source_hsolver/kernels/bpcg_kernel_op.h b/source/source_hsolver/kernels/bpcg_kernel_op.h index 802ee3c1e4..9ac7c5e2ce 100644 --- a/source/source_hsolver/kernels/bpcg_kernel_op.h +++ b/source/source_hsolver/kernels/bpcg_kernel_op.h @@ -63,11 +63,11 @@ template struct apply_eigenvalues_op { using Real = typename GetTypeReal::type; - void operator()(const int& nbase, - const int& nbase_x, - const int& notconv, - T* result, - const T* vectors, + void operator()(const int& nbase, + const int& nbase_x, + const int& notconv, + T* result, + const T* vectors, const Real* eigenvalues); }; @@ -92,6 +92,30 @@ struct normalize_op { Real* psi_norm = nullptr); }; +template struct refresh_hcc_scc_vcc_op { + using Real = typename GetTypeReal::type; + /// @brief refresh hcc scc vcc + /// + /// Input Parameters + /// \param n : first dimension of matrix + /// \param ldh : leading dimension of hcc, scc, vcc + /// \param nbase : matrix size + /// \param eigenvalue : input eigenvalue + /// \param one : constant one + /// + /// Output Parameters + /// \param hcc : output matrix hcc + /// \param scc : output matrix scc + /// \param vcc : output matrix vcc + void operator()(const int &n, + T *hcc, + T *scc, + T *vcc, + const int &ldh, + const Real *eigenvalue, + const T& one); +}; + #if __CUDA || __UT_USE_CUDA || __ROCM || __UT_USE_ROCM template @@ -114,11 +138,11 @@ struct calc_grad_with_block_op { template struct apply_eigenvalues_op { using Real = typename GetTypeReal::type; - void operator()(const int& nbase, - const int& nbase_x, - const int& notconv, - T* result, - const T* vectors, + void operator()(const int& nbase, + const int& nbase_x, + const int& notconv, + T* result, + const T* vectors, const Real* eigenvalues); }; @@ -143,6 +167,17 @@ struct normalize_op { Real* psi_norm = nullptr); }; +template +struct refresh_hcc_scc_vcc_op { + using Real = typename GetTypeReal::type; + void operator()(const int &n, + T *hcc, + T *scc, + T *vcc, + const int &ldh, + const Real *eigenvalue, + const T& one); +}; #endif } // namespace hsolver diff --git a/source/source_hsolver/kernels/cuda/bpcg_kernel_op.cu b/source/source_hsolver/kernels/cuda/bpcg_kernel_op.cu index e8af516274..b0a08cc513 100644 --- a/source/source_hsolver/kernels/cuda/bpcg_kernel_op.cu +++ b/source/source_hsolver/kernels/cuda/bpcg_kernel_op.cu @@ -7,6 +7,8 @@ namespace hsolver { const int warp_size = 32; const int thread_per_block = 256; +#define FULL_MASK 0xffffffff +#define WARP_SIZE 32 template __global__ void line_minimize_with_block( @@ -257,7 +259,7 @@ __global__ void apply_eigenvalues_kernel( { int m = blockIdx.x; int idx = threadIdx.x + blockIdx.y * blockDim.x; - + if (m < notconv && idx < nbase) { result[m * nbase_x + idx] = eigenvalues[m] * vectors[m * nbase_x + idx]; } @@ -274,7 +276,7 @@ __global__ void precondition_kernel( { int m = blockIdx.x; int i = threadIdx.x + blockIdx.y * blockDim.x; - + if (m < notconv && i < dim) { Real x = abs(precondition[i] - eigenvalues[m]); Real pre = 0.5 * (1.0 + x + sqrt(1 + (x - 1.0) * (x - 1.0))); @@ -282,6 +284,37 @@ __global__ void precondition_kernel( } } +template +__device__ Real warpReduceSum(Real val) { + for (int offset = WARP_SIZE / 2; offset > 0; offset >>= 1) + val += __shfl_down_sync(FULL_MASK, val, offset); + return val; +} + +template +__device__ Real blockReduceSum(Real val, volatile Real* shared) { + int lane = threadIdx.x % WARP_SIZE; + int wid = threadIdx.x / WARP_SIZE; + + val = warpReduceSum(val); + + if (lane == 0) + shared[wid] = val; + + __syncthreads(); + + Real sum = 0.0; + if (wid == 0) { + sum = (threadIdx.x < blockDim.x / 32) ? shared[lane] : 0.0; + sum = warpReduceSum(sum); + if (lane == 0) shared[0] = sum; + } + + __syncthreads(); + return shared[0]; +} + + template __global__ void normalize_kernel( thrust::complex* psi_iter, @@ -292,50 +325,50 @@ __global__ void normalize_kernel( { int m = blockIdx.x; int tid = threadIdx.x; - __shared__ Real sum[thread_per_block]; - - sum[tid] = 0.0; - + extern __shared__ char s_char[]; + Real* shared = reinterpret_cast(s_char); + + Real local_sum = 0.0; + // Calculate the sum for normalization for (int i = tid; i < dim; i += thread_per_block) { auto val = psi_iter[(nbase + m) * dim + i]; - sum[tid] += (val * thrust::conj(val)).real(); - } - - __syncthreads(); - - // Parallel reduction in shared memory - for (int s = thread_per_block/2; s > warp_size; s >>= 1) { - if (tid < s) { - sum[tid] += sum[tid + s]; - } - __syncthreads(); - } - - if (tid < warp_size) { - sum[tid] += sum[tid + 32]; __syncwarp(); - sum[tid] += sum[tid + 16]; __syncwarp(); - sum[tid] += sum[tid + 8]; __syncwarp(); - sum[tid] += sum[tid + 4]; __syncwarp(); - sum[tid] += sum[tid + 2]; __syncwarp(); - sum[tid] += sum[tid + 1]; __syncwarp(); + local_sum += (val * thrust::conj(val)).real(); } - - __syncthreads(); - - Real norm = sqrt(sum[0]); - + + Real l2_sq = blockReduceSum(local_sum, shared); + Real norm = sqrt(l2_sq); + // Normalize the vector for (int i = tid; i < dim; i += thread_per_block) { psi_iter[(nbase + m) * dim + i] /= norm; } - + // Store the norm if needed if (tid == 0 && psi_norm != nullptr) { psi_norm[m] = norm; } } +template +__global__ void refresh_hcc_scc_vcc_kernel( + const int n, + T *hcc, + T *scc, + T *vcc, + const int ldh, + const Real *eigenvalue, + const T one) +{ + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) + { + hcc[i * ldh + i] = eigenvalue[i]; + scc[i * ldh + i] = one; + vcc[i * ldh + i] = one; + } +} + template void line_minimize_with_block_op::operator()(T* grad_out, T* hgrad_out, @@ -392,15 +425,15 @@ void apply_eigenvalues_op::operator()(const int& nba { const int threads_per_block = 256; const int blocks_per_grid_y = (nbase + threads_per_block - 1) / threads_per_block; - + dim3 grid(notconv, blocks_per_grid_y); - + auto vec_complex = reinterpret_cast*>(vectors); auto res_complex = reinterpret_cast*>(result); - + apply_eigenvalues_kernel<<>>( vec_complex, res_complex, eigenvalues, nbase, nbase_x, notconv); - + cudaCheckOnDebug(); } @@ -414,14 +447,14 @@ void precondition_op::operator()(const int& dim, { const int threads_per_block = 256; const int blocks_per_grid_y = (dim + threads_per_block - 1) / threads_per_block; - + dim3 grid(notconv, blocks_per_grid_y); - + auto psi_complex = reinterpret_cast*>(psi_iter); - + precondition_kernel<<>>( psi_complex, precondition, eigenvalues, dim, nbase, notconv); - + cudaCheckOnDebug(); } @@ -433,10 +466,63 @@ void normalize_op::operator()(const int& dim, Real* psi_norm) { auto psi_complex = reinterpret_cast*>(psi_iter); - - normalize_kernel<<>>( + int sharedMemSize = (thread_per_block / WARP_SIZE) * sizeof(Real); + + normalize_kernel<<>>( psi_complex, psi_norm, dim, nbase, notconv); - + + cudaCheckOnDebug(); +} + +template <> +void refresh_hcc_scc_vcc_op::operator()(const int &n, + double *hcc, + double *scc, + double *vcc, + const int &ldh, + const double *eigenvalue, + const double& one) +{ + int thread = 512; + int block = (n + thread - 1) / thread; + refresh_hcc_scc_vcc_kernel <<>> (n, hcc, scc, vcc, ldh, eigenvalue, one); + + cudaCheckOnDebug(); +} + +template <> +void refresh_hcc_scc_vcc_op, base_device::DEVICE_GPU>::operator()(const int &n, + std::complex *hcc, + std::complex *scc, + std::complex *vcc, + const int &ldh, + const float *eigenvalue, + const std::complex& one) +{ + int thread = 512; + int block = (n + thread - 1) / thread; + refresh_hcc_scc_vcc_kernel, float> <<>> (n, reinterpret_cast*>(hcc), + reinterpret_cast*>(scc), reinterpret_cast*>(vcc), ldh, eigenvalue, + thrust::complex(one)); + + cudaCheckOnDebug(); +} + +template <> +void refresh_hcc_scc_vcc_op, base_device::DEVICE_GPU>::operator()(const int &n, + std::complex *hcc, + std::complex *scc, + std::complex *vcc, + const int &ldh, + const double *eigenvalue, + const std::complex& one) +{ + int thread = 512; + int block = (n + thread - 1) / thread; + refresh_hcc_scc_vcc_kernel, double> <<>> (n, reinterpret_cast*>(hcc), + reinterpret_cast*>(scc), reinterpret_cast*>(vcc), ldh, eigenvalue, + thrust::complex(one)); + cudaCheckOnDebug(); } @@ -453,4 +539,7 @@ template struct precondition_op; template struct normalize_op, base_device::DEVICE_GPU>; template struct normalize_op, base_device::DEVICE_GPU>; template struct normalize_op; +template struct refresh_hcc_scc_vcc_op, base_device::DEVICE_GPU>; +template struct refresh_hcc_scc_vcc_op, base_device::DEVICE_GPU>; +template struct refresh_hcc_scc_vcc_op; } \ No newline at end of file diff --git a/source/source_hsolver/kernels/cuda/diag_cusolver.cuh b/source/source_hsolver/kernels/cuda/diag_cusolver.cuh index faf4ec0a09..e47d43be50 100644 --- a/source/source_hsolver/kernels/cuda/diag_cusolver.cuh +++ b/source/source_hsolver/kernels/cuda/diag_cusolver.cuh @@ -3,12 +3,6 @@ #include #include -#if CUDA_VERSION < 12090 -#include "nvToolsExt.h" -#else -#include "nvtx3/nvToolsExt.h" -#endif - #include #include @@ -39,7 +33,7 @@ class Diag_Cusolver_gvd{ double *d_A = nullptr; double *d_B = nullptr; double *d_work = nullptr; - + cuDoubleComplex *d_A2 = nullptr; cuDoubleComplex *d_B2 = nullptr; cuDoubleComplex *d_work2 = nullptr; @@ -54,7 +48,7 @@ class Diag_Cusolver_gvd{ // - init_double : initializing relevant double type data structures and gpu apis' handle and memory // - init_complex : initializing relevant complex type data structures and gpu apis' handle and memory // Input Parameters -// N: the dimension of the matrix +// N: the dimension of the matrix void init_double(int N); void init_complex(int N); @@ -70,17 +64,17 @@ public: // - Dngvd_double : dense double type matrix // - Dngvd_complex : dense complex type matrix // Input Parameters -// N: the number of rows of the matrix -// M: the number of cols of the matrix -// A: the hermitian matrix A in A x=lambda B (column major) -// B: the SPD matrix B in A x=lambda B (column major) +// N: the number of rows of the matrix +// M: the number of cols of the matrix +// A: the hermitian matrix A in A x=lambda B (column major) +// B: the SPD matrix B in A x=lambda B (column major) // Output Parameter // W: generalized eigenvalues // V: generalized eigenvectors (column major) void Dngvd_double(int N, int M, double *A, double *B, double *W, double *V); void Dngvd_complex(int N, int M, std::complex *A, std::complex *B, double *W, std::complex *V); - + void Dngvd(int N, int M, double *A, double *B, double *W, double *V) { return Dngvd_double(N, M, A, B, W, V); diff --git a/source/source_hsolver/kernels/cuda/dngvd_op.cu b/source/source_hsolver/kernels/cuda/hegvd_op.cu similarity index 91% rename from source/source_hsolver/kernels/cuda/dngvd_op.cu rename to source/source_hsolver/kernels/cuda/hegvd_op.cu index 4ce3d9a1d0..1a90d981b9 100644 --- a/source/source_hsolver/kernels/cuda/dngvd_op.cu +++ b/source/source_hsolver/kernels/cuda/hegvd_op.cu @@ -1,4 +1,4 @@ -#include "source_hsolver/kernels/dngvd_op.h" +#include "source_hsolver/kernels/hegvd_op.h" #include "helper_cuda.h" #include @@ -205,18 +205,18 @@ void xheevd_wrapper ( } template -struct dngvd_op +struct hegvd_op { using Real = typename GetTypeReal::type; void operator()(const base_device::DEVICE_GPU* d, const int nstart, const int ldh, const T* A, // hcc - const T* B, // scc + T* B, // scc Real* W, // eigenvalue T* V) { - assert(nstart == ldh); + // assert(nstart == ldh); // A to V cudaErrcheck(cudaMemcpy(V, A, sizeof(T) * ldh * nstart, cudaMemcpyDeviceToDevice)); xhegvd_wrapper(CUBLAS_FILL_MODE_UPPER, nstart, V, ldh, @@ -225,7 +225,7 @@ struct dngvd_op }; template -struct dnevx_op +struct heevx_op { using Real = typename GetTypeReal::type; void operator()(const base_device::DEVICE_GPU* d, @@ -244,7 +244,7 @@ struct dnevx_op }; template -struct dngvx_op +struct hegvx_op { using Real = typename GetTypeReal::type; void operator()(const base_device::DEVICE_GPU* d, @@ -260,18 +260,18 @@ struct dngvx_op } }; -template struct dngvd_op, base_device::DEVICE_GPU>; -template struct dnevx_op, base_device::DEVICE_GPU>; -template struct dngvx_op, base_device::DEVICE_GPU>; +template struct hegvd_op, base_device::DEVICE_GPU>; +template struct heevx_op, base_device::DEVICE_GPU>; +template struct hegvx_op, base_device::DEVICE_GPU>; -template struct dngvd_op, base_device::DEVICE_GPU>; -template struct dnevx_op, base_device::DEVICE_GPU>; -template struct dngvx_op, base_device::DEVICE_GPU>; +template struct hegvd_op, base_device::DEVICE_GPU>; +template struct heevx_op, base_device::DEVICE_GPU>; +template struct hegvx_op, base_device::DEVICE_GPU>; #ifdef __LCAO -template struct dngvd_op; -template struct dnevx_op; -template struct dngvx_op; +template struct hegvd_op; +template struct heevx_op; +template struct hegvx_op; #endif } // namespace hsolver \ No newline at end of file diff --git a/source/source_hsolver/kernels/cuda/helper_cuda.h b/source/source_hsolver/kernels/cuda/helper_cuda.h index e61e4597f6..4e97a98dea 100644 --- a/source/source_hsolver/kernels/cuda/helper_cuda.h +++ b/source/source_hsolver/kernels/cuda/helper_cuda.h @@ -40,6 +40,8 @@ #include "helper_string.h" +#include "source_base/module_device/cuda_compat.h" + #ifndef EXIT_WAIVED #define EXIT_WAIVED 2 #endif @@ -107,60 +109,7 @@ static const char *_cudaGetErrorEnum(cublasStatus_t error) { #ifdef _CUFFT_H_ // cuFFT API errors static const char *_cudaGetErrorEnum(cufftResult error) { - switch (error) { - case CUFFT_SUCCESS: - return "CUFFT_SUCCESS"; - - case CUFFT_INVALID_PLAN: - return "CUFFT_INVALID_PLAN"; - - case CUFFT_ALLOC_FAILED: - return "CUFFT_ALLOC_FAILED"; - - case CUFFT_INVALID_TYPE: - return "CUFFT_INVALID_TYPE"; - - case CUFFT_INVALID_VALUE: - return "CUFFT_INVALID_VALUE"; - - case CUFFT_INTERNAL_ERROR: - return "CUFFT_INTERNAL_ERROR"; - - case CUFFT_EXEC_FAILED: - return "CUFFT_EXEC_FAILED"; - - case CUFFT_SETUP_FAILED: - return "CUFFT_SETUP_FAILED"; - - case CUFFT_INVALID_SIZE: - return "CUFFT_INVALID_SIZE"; - - case CUFFT_UNALIGNED_DATA: - return "CUFFT_UNALIGNED_DATA"; - - case CUFFT_INCOMPLETE_PARAMETER_LIST: - return "CUFFT_INCOMPLETE_PARAMETER_LIST"; - - case CUFFT_INVALID_DEVICE: - return "CUFFT_INVALID_DEVICE"; - - case CUFFT_PARSE_ERROR: - return "CUFFT_PARSE_ERROR"; - - case CUFFT_NO_WORKSPACE: - return "CUFFT_NO_WORKSPACE"; - - case CUFFT_NOT_IMPLEMENTED: - return "CUFFT_NOT_IMPLEMENTED"; - - case CUFFT_LICENSE_ERROR: - return "CUFFT_LICENSE_ERROR"; - - case CUFFT_NOT_SUPPORTED: - return "CUFFT_NOT_SUPPORTED"; - } - - return ""; + return ModuleBase::cuda_compat::cufftGetErrorStringCompat(error); } #endif @@ -965,4 +914,4 @@ inline bool checkCudaCapabilities(int major_version, int minor_version) { // end of CUDA Helper Functions -#endif // COMMON_HELPER_CUDA_H_ \ No newline at end of file +#endif // COMMON_HELPER_CUDA_H_ diff --git a/source/source_hsolver/kernels/dngvd_op.cpp b/source/source_hsolver/kernels/hegvd_op.cpp similarity index 72% rename from source/source_hsolver/kernels/dngvd_op.cpp rename to source/source_hsolver/kernels/hegvd_op.cpp index 66cb3c1233..e9ecb10388 100644 --- a/source/source_hsolver/kernels/dngvd_op.cpp +++ b/source/source_hsolver/kernels/hegvd_op.cpp @@ -1,21 +1,23 @@ -#include "source_hsolver/kernels/dngvd_op.h" +#include "source_hsolver/kernels/hegvd_op.h" +#include "source_base/module_container/base/third_party/lapack.h" -#include #include #include +namespace lapackConnector = container::lapackConnector; // see "source_base/module_container/base/third_party/lapack.h" + namespace hsolver { - +// hegvd and sygvd; dn for dense? template -struct dngvd_op +struct hegvd_op { using Real = typename GetTypeReal::type; void operator()(const base_device::DEVICE_CPU* d, const int nstart, const int ldh, const T* hcc, - const T* scc, + T* scc, Real* eigenvalue, T* vcc) { @@ -39,7 +41,7 @@ struct dngvd_op //=========================== // calculate all eigenvalues //=========================== - LapackWrapper::xhegvd(1, + lapackConnector::hegvd(1, 'V', 'U', nstart, @@ -58,7 +60,7 @@ struct dngvd_op if (info != 0) { - std::cout << "Error: xhegvd failed, linear dependent basis functions\n" + std::cout << "Error: hegvd failed, linear dependent basis functions\n" << ", wrong initialization of wavefunction, or wavefunction information loss\n" << ", output overlap matrix scc.txt to check\n" << std::endl; @@ -82,65 +84,73 @@ struct dngvd_op } }; +// template +// struct hegv_op +// { +// using Real = typename GetTypeReal::type; +// void operator()(const base_device::DEVICE_CPU* d, +// const int nbase, +// const int ldh, +// const T* hcc, +// T* scc, +// Real* eigenvalue, +// T* vcc) +// { +// for (int i = 0; i < nbase * ldh; i++) +// { +// vcc[i] = hcc[i]; +// } + +// int info = 0; + +// int lwork = 2 * nbase - 1; +// T* work = new T[lwork]; +// Parallel_Reduce::ZEROS(work, lwork); + +// int lrwork = 3 * nbase - 2; +// Real* rwork = new Real[lrwork]; +// Parallel_Reduce::ZEROS(rwork, lrwork); + +// //=========================== +// // calculate all eigenvalues +// //=========================== +// LapackWrapper::xhegv(1, 'V', 'U', nbase, vcc, ldh, scc, ldh, eigenvalue, work, lwork, rwork, info); + +// if (info != 0) +// { +// std::cout << "Error: xhegv failed, linear dependent basis functions\n" +// << ", wrong initialization of wavefunction, or wavefunction information loss\n" +// << ", output overlap matrix scc.txt to check\n" +// << std::endl; +// // print scc to file scc.txt +// std::ofstream ofs("scc.txt"); +// for (int i = 0; i < nbase; i++) +// { +// for (int j = 0; j < nbase; j++) +// { +// ofs << scc[i * ldh + j] << " "; +// } +// ofs << std::endl; +// } +// ofs.close(); +// } +// assert(0 == info); + +// delete[] work; +// delete[] rwork; +// } +// }; + +// heevx and syevx +/** + * @brief heevx computes the first m eigenvalues and their corresponding eigenvectors of + * a complex generalized Hermitian-definite eigenproblem. + * + * both heevx and syevx are implemented through the `evx` interface of LAPACK. + * wrapped in LapackWrapper::xheevx + */ template -struct dngv_op -{ - using Real = typename GetTypeReal::type; - void operator()(const base_device::DEVICE_CPU* d, - const int nbase, - const int ldh, - const T* hcc, - T* scc, - Real* eigenvalue, - T* vcc) - { - for (int i = 0; i < nbase * ldh; i++) - { - vcc[i] = hcc[i]; - } - - int info = 0; - - int lwork = 2 * nbase - 1; - T* work = new T[lwork]; - Parallel_Reduce::ZEROS(work, lwork); - - int lrwork = 3 * nbase - 2; - Real* rwork = new Real[lrwork]; - Parallel_Reduce::ZEROS(rwork, lrwork); - - //=========================== - // calculate all eigenvalues - //=========================== - LapackWrapper::xhegv(1, 'V', 'U', nbase, vcc, ldh, scc, ldh, eigenvalue, work, lwork, rwork, info); - - if (info != 0) - { - std::cout << "Error: xhegv failed, linear dependent basis functions\n" - << ", wrong initialization of wavefunction, or wavefunction information loss\n" - << ", output overlap matrix scc.txt to check\n" - << std::endl; - // print scc to file scc.txt - std::ofstream ofs("scc.txt"); - for (int i = 0; i < nbase; i++) - { - for (int j = 0; j < nbase; j++) - { - ofs << scc[i * ldh + j] << " "; - } - ofs << std::endl; - } - ofs.close(); - } - assert(0 == info); - - delete[] work; - delete[] rwork; - } -}; - -template -struct dnevx_op +struct heevx_op { using Real = typename GetTypeReal::type; void operator()(const base_device::DEVICE_CPU* /*ctx*/, @@ -166,8 +176,7 @@ struct dnevx_op // When lwork = -1, the demension of work will be assumed // Assume the denmension of work by output work[0] - LapackWrapper::xheevx( - 1, // ITYPE = 1: A*x = (lambda)*B*x + lapackConnector::heevx( 'V', // JOBZ = 'V': Compute eigenvalues and eigenvectors. 'I', // RANGE = 'I': the IL-th through IU-th eigenvalues will be found. 'L', // UPLO = 'L': Lower triangles of A and B are stored. @@ -200,8 +209,7 @@ struct dnevx_op // V is the output of the function, the storage space is also (nstart * ldh), and the data size of valid V // obtained by the zhegvx operation is (nstart * nstart) and stored in zux (internal to the function). When // the function is output, the data of zux will be mapped to the corresponding position of V. - LapackWrapper::xheevx( - 1, // ITYPE = 1: A*x = (lambda)*B*x + lapackConnector::heevx( 'V', // JOBZ = 'V': Compute eigenvalues and eigenvectors. 'I', // RANGE = 'I': the IL-th through IU-th eigenvalues will be found. 'L', // UPLO = 'L': Lower triangles of A and B are stored. @@ -235,7 +243,7 @@ struct dnevx_op }; template -struct dngvx_op +struct hegvx_op { using Real = typename GetTypeReal::type; void operator()(const base_device::DEVICE_CPU* d, @@ -259,7 +267,7 @@ struct dngvx_op int* iwork = new int[5 * nbase]; int* ifail = new int[nbase]; - LapackWrapper::xhegvx( + lapackConnector::hegvx( 1, // ITYPE = 1: A*x = (lambda)*B*x 'V', // JOBZ = 'V': Compute eigenvalues and eigenvectors. 'I', // RANGE = 'I': the IL-th through IU-th eigenvalues will be found. @@ -289,7 +297,7 @@ struct dngvx_op delete[] work; work = new T[lwork]; - LapackWrapper::xhegvx(1, + lapackConnector::hegvx(1, 'V', 'I', 'U', @@ -321,21 +329,21 @@ struct dngvx_op } }; -template struct dngvd_op, base_device::DEVICE_CPU>; -template struct dngvd_op, base_device::DEVICE_CPU>; +template struct hegvd_op, base_device::DEVICE_CPU>; +template struct hegvd_op, base_device::DEVICE_CPU>; -template struct dnevx_op, base_device::DEVICE_CPU>; -template struct dnevx_op, base_device::DEVICE_CPU>; +template struct heevx_op, base_device::DEVICE_CPU>; +template struct heevx_op, base_device::DEVICE_CPU>; -template struct dngvx_op, base_device::DEVICE_CPU>; -template struct dngvx_op, base_device::DEVICE_CPU>; +template struct hegvx_op, base_device::DEVICE_CPU>; +template struct hegvx_op, base_device::DEVICE_CPU>; -template struct dngv_op, base_device::DEVICE_CPU>; -template struct dngv_op, base_device::DEVICE_CPU>; +// template struct hegv_op, base_device::DEVICE_CPU>; +// template struct hegv_op, base_device::DEVICE_CPU>; #ifdef __LCAO -template struct dngvd_op; -template struct dnevx_op; -template struct dngvx_op; -template struct dngv_op; +template struct hegvd_op; +template struct heevx_op; +template struct hegvx_op; +// template struct hegv_op; #endif -} // namespace hsolver \ No newline at end of file +} // namespace hsolver diff --git a/source/source_hsolver/kernels/dngvd_op.h b/source/source_hsolver/kernels/hegvd_op.h similarity index 59% rename from source/source_hsolver/kernels/dngvd_op.h rename to source/source_hsolver/kernels/hegvd_op.h index c48cd576b5..dfe1aaf287 100644 --- a/source/source_hsolver/kernels/dngvd_op.h +++ b/source/source_hsolver/kernels/hegvd_op.h @@ -1,10 +1,31 @@ +/// This is the module for wrapper of +/// DeNse Generalized eigenValue (eXtended) +/// HErmitian / SYmmetric + +// named HEGVD, actually includes HE/SY GV/GVD/GVX + +#ifndef MODULE_HSOLVER_HEGVD_H +#define MODULE_HSOLVER_HEGVD_H + +// Note: +// names follow the same style as standard LAPACK APIs: +// ----------------------------------- +// he stands for Hermitian +// sy stands for Symmetric +// gv stands for Generalized eigenValue problem +// ev stands for EigenValues +// dn stands for dense, maybe, who knows? +// x stands for compute a subset of the eigenvalues and, optionally, +// their corresponding eigenvectors +// d for all, x for selected +// gv: all, gvd: all/devide-and-conquer, x: selected eigenvalues +// ----------------------------------- +// search for docs using the op function name as keywords. + // TODO: This is a temperary location for these functions. // And will be moved to a global module(module base) later. -#ifndef MODULE_HSOLVER_DNGVD_H -#define MODULE_HSOLVER_DNGVD_H #include "source_base/macros.h" -#include "source_base/module_external/lapack_wrapper.h" #include "source_base/parallel_reduce.h" #include "source_base/module_device/types.h" @@ -21,10 +42,10 @@ inline float get_real(const float &x) { return x; } template -struct dngvd_op +struct hegvd_op { using Real = typename GetTypeReal::type; - /// @brief DNGVD computes all the eigenvalues and eigenvectors of a complex generalized + /// @brief HEGVD computes all the eigenvalues and eigenvectors of a complex generalized /// Hermitian-definite eigenproblem. If eigenvectors are desired, it uses a divide and conquer algorithm. /// /// In this op, the CPU version is implemented through the `gvd` interface, and the CUDA version @@ -43,31 +64,31 @@ struct dngvd_op /// Output Parameter /// @param W : calculated eigenvalues /// @param V : calculated eigenvectors (col major) - void operator()(const Device* d, const int nstart, const int ldh, const T* A, const T* B, Real* W, T* V); -}; - -template -struct dngv_op -{ - using Real = typename GetTypeReal::type; - /// @brief DNGVX computes first m eigenvalues and eigenvectors of a complex generalized - /// Input Parameters - /// @param d : the type of device - /// @param nbase : the number of dim of the matrix - /// @param ldh : the number of dmx of the matrix - /// @param A : the hermitian matrix A in A x=lambda B x (col major) - /// @param B : the overlap matrix B in A x=lambda B x (col major) - /// Output Parameter - /// @param W : calculated eigenvalues - /// @param V : calculated eigenvectors (col major) void operator()(const Device* d, const int nstart, const int ldh, const T* A, T* B, Real* W, T* V); }; +// template +// struct hegv_op +// { +// using Real = typename GetTypeReal::type; +// /// @brief HEGV computes first m eigenvalues and eigenvectors of a complex generalized +// /// Input Parameters +// /// @param d : the type of device +// /// @param nbase : the number of dim of the matrix +// /// @param ldh : the number of dmx of the matrix +// /// @param A : the hermitian matrix A in A x=lambda B x (col major) +// /// @param B : the overlap matrix B in A x=lambda B x (col major) +// /// Output Parameter +// /// @param W : calculated eigenvalues +// /// @param V : calculated eigenvectors (col major) +// void operator()(const Device* d, const int nstart, const int ldh, const T* A, T* B, Real* W, T* V); +// }; + template -struct dngvx_op +struct hegvx_op { using Real = typename GetTypeReal::type; - /// @brief DNGVX computes first m eigenvalues and eigenvectors of a complex generalized + /// @brief HEGVX computes first m eigenvalues and eigenvectors of a complex generalized /// Input Parameters /// @param d : the type of device /// @param nbase : the number of dim of the matrix @@ -82,10 +103,10 @@ struct dngvx_op }; template -struct dnevx_op +struct heevx_op { using Real = typename GetTypeReal::type; - /// @brief DNEVX computes the first m eigenvalues and their corresponding eigenvectors of + /// @brief heevx computes the first m eigenvalues and their corresponding eigenvectors of /// a complex generalized Hermitian-definite eigenproblem /// /// In this op, the CPU version is implemented through the `evx` interface, and the CUDA version @@ -97,13 +118,14 @@ struct dnevx_op /// /// Input Parameters /// @param d : the type of device - /// @param nstart : the number of cols of the matrix - /// @param ldh : the number of rows of the matrix - /// @param A : the hermitian matrix A in A x=lambda B x (row major) + /// @param ndim : the size of square matrix + /// @param lda : leading dimension of the matrix + /// @param A : the hermitian matrix A in A x=lambda x + /// @param neig : the number of eigenpairs to be calculated /// Output Parameter - /// @param W : calculated eigenvalues - /// @param V : calculated eigenvectors (row major) - void operator()(const Device* d, const int nstart, const int ldh, const T* A, const int m, Real* W, T* V); + /// @param w: calculated eigenvalues + /// @param z: calculated eigenvectors + void operator()(const Device *d, const int ndim, const int lda, const T *A, const int neig, Real *w, T *z); }; #if __CUDA || __UT_USE_CUDA || __ROCM || __UT_USE_ROCM @@ -115,4 +137,4 @@ void destroyGpuSolverHandle(); } // namespace hsolver -#endif // !MODULE_HSOLVER_DNGVD_H \ No newline at end of file +#endif // !MODULE_HSOLVER_HEGVD_H \ No newline at end of file diff --git a/source/source_hsolver/kernels/rocm/bpcg_kernel_op.hip.cu b/source/source_hsolver/kernels/rocm/bpcg_kernel_op.hip.cu index 095cd4deff..b7bbeb7494 100644 --- a/source/source_hsolver/kernels/rocm/bpcg_kernel_op.hip.cu +++ b/source/source_hsolver/kernels/rocm/bpcg_kernel_op.hip.cu @@ -182,7 +182,7 @@ __global__ void apply_eigenvalues_kernel( { int m = blockIdx.x; int idx = threadIdx.x + blockIdx.y * blockDim.x; - + if (m < notconv && idx < nbase) { result[m * nbase_x + idx] = eigenvalues[m] * vectors[m * nbase_x + idx]; } @@ -199,7 +199,7 @@ __global__ void precondition_kernel( { int m = blockIdx.x; int i = threadIdx.x + blockIdx.y * blockDim.x; - + if (m < notconv && i < dim) { Real x = abs(precondition[i] - eigenvalues[m]); Real pre = 0.5 * (1.0 + x + sqrt(1 + (x - 1.0) * (x - 1.0))); @@ -218,17 +218,17 @@ __global__ void normalize_kernel( int m = blockIdx.x; int tid = threadIdx.x; __shared__ Real sum[THREAD_PER_BLOCK]; - + sum[tid] = 0.0; - + // Calculate the sum for normalization for (int i = tid; i < dim; i += THREAD_PER_BLOCK) { auto val = psi_iter[(nbase + m) * dim + i]; sum[tid] += (val * thrust::conj(val)).real(); } - + __syncthreads(); - + // Parallel reduction in shared memory for (int s = THREAD_PER_BLOCK/2; s > 0; s >>= 1) { if (tid < s) { @@ -236,20 +236,39 @@ __global__ void normalize_kernel( } __syncthreads(); } - + Real norm = sqrt(sum[0]); - + // Normalize the vector for (int i = tid; i < dim; i += THREAD_PER_BLOCK) { psi_iter[(nbase + m) * dim + i] /= norm; } - + // Store the norm if needed if (tid == 0 && psi_norm != nullptr) { psi_norm[m] = norm; } } +template +__global__ void refresh_hcc_scc_vcc_kernel( + const int n, + T *hcc, + T *scc, + T *vcc, + const int ldh, + const Real *eigenvalue, + const T one) +{ + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) + { + hcc[i * ldh + i] = eigenvalue[i]; + scc[i * ldh + i] = one; + vcc[i * ldh + i] = one; + } +} + template void line_minimize_with_block_op::operator()(T* grad_out, T* hgrad_out, @@ -306,15 +325,15 @@ void apply_eigenvalues_op::operator()(const int& nba { const int threads_per_block = 256; const int blocks_per_grid_y = (nbase + threads_per_block - 1) / threads_per_block; - + dim3 grid(notconv, blocks_per_grid_y); - + auto vec_complex = reinterpret_cast*>(vectors); auto res_complex = reinterpret_cast*>(result); - + apply_eigenvalues_kernel<<>>( vec_complex, res_complex, eigenvalues, nbase, nbase_x, notconv); - + hipCheckOnDebug(); } @@ -328,14 +347,14 @@ void precondition_op::operator()(const int& dim, { const int threads_per_block = 256; const int blocks_per_grid_y = (dim + threads_per_block - 1) / threads_per_block; - + dim3 grid(notconv, blocks_per_grid_y); - + auto psi_complex = reinterpret_cast*>(psi_iter); - + precondition_kernel<<>>( psi_complex, precondition, eigenvalues, dim, nbase, notconv); - + hipCheckOnDebug(); } @@ -347,10 +366,62 @@ void normalize_op::operator()(const int& dim, Real* psi_norm) { auto psi_complex = reinterpret_cast*>(psi_iter); - + normalize_kernel<<>>( psi_complex, psi_norm, dim, nbase, notconv); - + + hipCheckOnDebug(); +} + +template <> +void refresh_hcc_scc_vcc_op::operator()(const int &n, + double *hcc, + double *scc, + double *vcc, + const int &ldh, + const double *eigenvalue, + const double& one) +{ + int thread = 512; + int block = (n + thread - 1) / thread; + refresh_hcc_scc_vcc_kernel <<>> (n, hcc, scc, vcc, ldh, eigenvalue, one); + + hipCheckOnDebug(); +} + +template <> +void refresh_hcc_scc_vcc_op, base_device::DEVICE_GPU>::operator()(const int &n, + std::complex *hcc, + std::complex *scc, + std::complex *vcc, + const int &ldh, + const float *eigenvalue, + const std::complex& one) +{ + int thread = 512; + int block = (n + thread - 1) / thread; + refresh_hcc_scc_vcc_kernel, float> <<>> (n, reinterpret_cast*>(hcc), + reinterpret_cast*>(scc), reinterpret_cast*>(vcc), ldh, eigenvalue, + thrust::complex(one)); + + hipCheckOnDebug(); +} + +template <> +void refresh_hcc_scc_vcc_op, base_device::DEVICE_GPU>::operator()(const int &n, + std::complex *hcc, + std::complex *scc, + std::complex *vcc, + const int &ldh, + const double *eigenvalue, + const std::complex& one) +{ + int thread = 512; + int block = (n + thread - 1) / thread; + refresh_hcc_scc_vcc_kernel, double> <<>> (n, reinterpret_cast*>(hcc), + reinterpret_cast*>(scc), reinterpret_cast*>(vcc), ldh, eigenvalue, + thrust::complex(one)); + hipCheckOnDebug(); } @@ -367,4 +438,7 @@ template struct precondition_op; template struct normalize_op, base_device::DEVICE_GPU>; template struct normalize_op, base_device::DEVICE_GPU>; template struct normalize_op; +template struct refresh_hcc_scc_vcc_op, base_device::DEVICE_GPU>; +template struct refresh_hcc_scc_vcc_op, base_device::DEVICE_GPU>; +template struct refresh_hcc_scc_vcc_op; } \ No newline at end of file diff --git a/source/source_hsolver/kernels/rocm/dngvd_op.hip.cu b/source/source_hsolver/kernels/rocm/hegvd_op.hip.cu similarity index 92% rename from source/source_hsolver/kernels/rocm/dngvd_op.hip.cu rename to source/source_hsolver/kernels/rocm/hegvd_op.hip.cu index a359ccda87..93b3457af6 100644 --- a/source/source_hsolver/kernels/rocm/dngvd_op.hip.cu +++ b/source/source_hsolver/kernels/rocm/hegvd_op.hip.cu @@ -1,14 +1,14 @@ -#include "source_hsolver/kernels/dngvd_op.h" +#include "source_hsolver/kernels/hegvd_op.h" #include #include namespace hsolver { -// NOTE: mimicked from ../cuda/dngvd_op.cu for three dngvd_op +// NOTE: mimicked from ../cuda/hegvd_op.cu for three hegvd_op static hipsolverHandle_t hipsolver_H = nullptr; -// Test on DCU platform. When nstart is greater than 234, code on DCU performs better. +// Test on DCU platform. When nstart is greater than 234, code on DCU performs better. const int N_DCU = 234; void createGpuSolverHandle() { @@ -28,15 +28,15 @@ void destroyGpuSolverHandle() { #ifdef __LCAO template <> -void dngvd_op::operator()(const base_device::DEVICE_GPU* ctx, +void hegvd_op::operator()(const base_device::DEVICE_GPU* ctx, const int nstart, const int ldh, const double* _hcc, - const double* _scc, + double* _scc, double* _eigenvalue, double* _vcc) { - // copied from ../cuda/dngvd_op.cu, "dngvd_op" + // copied from ../cuda/hegvd_op.cu, "hegvd_op" assert(nstart == ldh); if (nstart > N_DCU){ @@ -86,7 +86,7 @@ void dngvd_op::operator()(const base_device::DE hipErrcheck(hipMemcpy(hcc.data(), _hcc, sizeof(double) * hcc.size(), hipMemcpyDeviceToHost)); hipErrcheck(hipMemcpy(scc.data(), _scc, sizeof(double) * scc.size(), hipMemcpyDeviceToHost)); base_device::DEVICE_CPU* cpu_ctx = {}; - dngvd_op()(cpu_ctx, + hegvd_op()(cpu_ctx, nstart, ldh, hcc.data(), @@ -97,12 +97,12 @@ void dngvd_op::operator()(const base_device::DE hipErrcheck(hipMemcpy(_eigenvalue, eigenvalue.data(), sizeof(double) * eigenvalue.size(), hipMemcpyHostToDevice)); } - + } #endif // __LCAO template <> -void dngvd_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* ctx, +void hegvd_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* ctx, const int nstart, const int ldh, const std::complex* _hcc, @@ -110,9 +110,9 @@ void dngvd_op, base_device::DEVICE_GPU>::operator()(const ba float* _eigenvalue, std::complex* _vcc) { - // copied from ../cuda/dngvd_op.cu, "dngvd_op" + // copied from ../cuda/hegvd_op.cu, "hegvd_op" assert(nstart == ldh); - + if (nstart > N_DCU){ hipErrcheck(hipMemcpy(_vcc, _hcc, sizeof(std::complex) * ldh * nstart, hipMemcpyDeviceToDevice)); // now vcc contains hcc @@ -159,7 +159,7 @@ void dngvd_op, base_device::DEVICE_GPU>::operator()(const ba hipErrcheck(hipMemcpy(hcc.data(), _hcc, sizeof(std::complex) * hcc.size(), hipMemcpyDeviceToHost)); hipErrcheck(hipMemcpy(scc.data(), _scc, sizeof(std::complex) * scc.size(), hipMemcpyDeviceToHost)); base_device::DEVICE_CPU* cpu_ctx = {}; - dngvd_op, base_device::DEVICE_CPU>()(cpu_ctx, + hegvd_op, base_device::DEVICE_CPU>()(cpu_ctx, nstart, ldh, hcc.data(), @@ -170,11 +170,11 @@ void dngvd_op, base_device::DEVICE_GPU>::operator()(const ba hipErrcheck(hipMemcpy(_eigenvalue, eigenvalue.data(), sizeof(float) * eigenvalue.size(), hipMemcpyHostToDevice)); } - + } template <> -void dngvd_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* ctx, +void hegvd_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* ctx, const int nstart, const int ldh, const std::complex* _hcc, @@ -183,8 +183,8 @@ void dngvd_op, base_device::DEVICE_GPU>::operator()(const b std::complex* _vcc ) { - // copied from ../cuda/dngvd_op.cu, "dngvd_op" - assert(nstart == ldh); + // copied from ../cuda/hegvd_op.cu, "hegvd_op" + // assert(nstart == ldh); // save a copy of scc in case the diagonalization fails if (nstart > N_DCU){ @@ -237,7 +237,7 @@ void dngvd_op, base_device::DEVICE_GPU>::operator()(const b hipErrcheck(hipMemcpy(hcc.data(), _hcc, sizeof(std::complex) * hcc.size(), hipMemcpyDeviceToHost)); hipErrcheck(hipMemcpy(scc.data(), _scc, sizeof(std::complex) * scc.size(), hipMemcpyDeviceToHost)); base_device::DEVICE_CPU* cpu_ctx = {}; - dngvd_op, base_device::DEVICE_CPU>()(cpu_ctx, + hegvd_op, base_device::DEVICE_CPU>()(cpu_ctx, nstart, ldh, hcc.data(), @@ -253,12 +253,12 @@ void dngvd_op, base_device::DEVICE_GPU>::operator()(const b - + } #ifdef __LCAO template <> -void dnevx_op::operator()(const base_device::DEVICE_GPU* ctx, +void heevx_op::operator()(const base_device::DEVICE_GPU* ctx, const int nstart, const int ldh, const double* _hcc, @@ -271,14 +271,14 @@ void dnevx_op::operator()(const base_device::DE std::vector eigenvalue(ldh, 0); hipErrcheck(hipMemcpy(hcc.data(), _hcc, sizeof(double) * hcc.size(), hipMemcpyDeviceToHost)); base_device::DEVICE_CPU* cpu_ctx = {}; - dnevx_op()(cpu_ctx, nstart, ldh, hcc.data(), m, eigenvalue.data(), vcc.data()); + heevx_op()(cpu_ctx, nstart, ldh, hcc.data(), m, eigenvalue.data(), vcc.data()); hipErrcheck(hipMemcpy(_vcc, vcc.data(), sizeof(double) * vcc.size(), hipMemcpyHostToDevice)); hipErrcheck(hipMemcpy(_eigenvalue, eigenvalue.data(), sizeof(double) * eigenvalue.size(), hipMemcpyHostToDevice)); } #endif // __LCAO template <> -void dnevx_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* ctx, +void heevx_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* ctx, const int nstart, const int ldh, const std::complex* _hcc, @@ -291,7 +291,7 @@ void dnevx_op, base_device::DEVICE_GPU>::operator()(const ba std::vector eigenvalue(ldh, 0); hipErrcheck(hipMemcpy(hcc.data(), _hcc, sizeof(std::complex) * hcc.size(), hipMemcpyDeviceToHost)); base_device::DEVICE_CPU* cpu_ctx = {}; - dnevx_op, base_device::DEVICE_CPU>()(cpu_ctx, + heevx_op, base_device::DEVICE_CPU>()(cpu_ctx, nstart, ldh, hcc.data(), @@ -303,7 +303,7 @@ void dnevx_op, base_device::DEVICE_GPU>::operator()(const ba } template <> -void dnevx_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* ctx, +void heevx_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* ctx, const int nstart, const int ldh, const std::complex* _hcc, @@ -316,7 +316,7 @@ void dnevx_op, base_device::DEVICE_GPU>::operator()(const b std::vector eigenvalue(ldh, 0); hipErrcheck(hipMemcpy(hcc.data(), _hcc, sizeof(std::complex) * hcc.size(), hipMemcpyDeviceToHost)); base_device::DEVICE_CPU* cpu_ctx = {}; - dnevx_op, base_device::DEVICE_CPU>()(cpu_ctx, + heevx_op, base_device::DEVICE_CPU>()(cpu_ctx, nstart, ldh, hcc.data(), @@ -328,7 +328,7 @@ void dnevx_op, base_device::DEVICE_GPU>::operator()(const b } template <> -void dngvx_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* d, +void hegvx_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* d, const int nbase, const int ldh, std::complex* hcc, @@ -340,7 +340,7 @@ void dngvx_op, base_device::DEVICE_GPU>::operator()(const ba } template <> -void dngvx_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* d, +void hegvx_op, base_device::DEVICE_GPU>::operator()(const base_device::DEVICE_GPU* d, const int nbase, const int ldh, std::complex* hcc, @@ -353,7 +353,7 @@ void dngvx_op, base_device::DEVICE_GPU>::operator()(const b #ifdef __LCAO template <> -void dngvx_op::operator()(const base_device::DEVICE_GPU* d, +void hegvx_op::operator()(const base_device::DEVICE_GPU* d, const int nbase, const int ldh, double* hcc, diff --git a/source/source_hsolver/kernels/test/CMakeLists.txt b/source/source_hsolver/kernels/test/CMakeLists.txt index 6ae7221685..851c30c731 100644 --- a/source/source_hsolver/kernels/test/CMakeLists.txt +++ b/source/source_hsolver/kernels/test/CMakeLists.txt @@ -5,7 +5,7 @@ if(USE_CUDA OR USE_ROCM) AddTest( TARGET MODULE_HSOLVER_KERNELS_Unittests LIBS parameter ${math_libs} base device - SOURCES math_dngvd_test.cpp + SOURCES math_hegvd_test.cpp ) endif() diff --git a/source/source_hsolver/kernels/test/math_dngvd_test.cpp b/source/source_hsolver/kernels/test/math_hegvd_test.cpp similarity index 99% rename from source/source_hsolver/kernels/test/math_dngvd_test.cpp rename to source/source_hsolver/kernels/test/math_hegvd_test.cpp index c5582faec2..adf2ab95ee 100644 --- a/source/source_hsolver/kernels/test/math_dngvd_test.cpp +++ b/source/source_hsolver/kernels/test/math_hegvd_test.cpp @@ -1,6 +1,6 @@ #include "source_base/complexmatrix.h" #include "source_base/module_device/memory_op.h" -#include "source_hsolver/kernels/dngvd_op.h" +#include "source_hsolver/kernels/hegvd_op.h" #include "source_base/kernels/math_kernel_op.h" #include diff --git a/source/source_hsolver/test/CMakeLists.txt b/source/source_hsolver/test/CMakeLists.txt index e3fa6550fa..217f8251b3 100644 --- a/source/source_hsolver/test/CMakeLists.txt +++ b/source/source_hsolver/test/CMakeLists.txt @@ -77,14 +77,14 @@ if (ENABLE_MPI) TARGET MODULE_HSOLVER_pw LIBS parameter ${math_libs} psi device base container SOURCES test_hsolver_pw.cpp ../hsolver_pw.cpp ../hsolver_lcaopw.cpp ../diago_bpcg.cpp ../diago_dav_subspace.cpp ../diag_const_nums.cpp ../diago_iter_assist.cpp ../para_linear_transform.cpp - ../../source_estate/elecstate_tools.cpp ../../source_estate/occupy.cpp + ../../source_estate/elecstate_tools.cpp ../../source_estate/occupy.cpp ../../source_base/module_fft/fft_bundle.cpp ../../source_base/module_fft/fft_cpu.cpp ) AddTest( TARGET MODULE_HSOLVER_sdft LIBS parameter ${math_libs} psi device base container SOURCES test_hsolver_sdft.cpp ../hsolver_pw_sdft.cpp ../hsolver_pw.cpp ../diago_bpcg.cpp ../diago_dav_subspace.cpp ../diag_const_nums.cpp ../diago_iter_assist.cpp ../para_linear_transform.cpp - ../../source_estate/elecstate_tools.cpp ../../source_estate/occupy.cpp + ../../source_estate/elecstate_tools.cpp ../../source_estate/occupy.cpp ../../source_base/module_fft/fft_bundle.cpp ../../source_base/module_fft/fft_cpu.cpp ) if(ENABLE_LCAO) @@ -92,13 +92,13 @@ if (ENABLE_MPI) AddTest( TARGET MODULE_HSOLVER_LCAO LIBS parameter ${math_libs} ELPA::ELPA base genelpa psi device - SOURCES diago_lcao_test.cpp ../diago_elpa.cpp ../diago_scalapack.cpp + SOURCES diago_lcao_test.cpp ../diago_elpa.cpp ../diago_scalapack.cpp ../diago_lapack.cpp ) else() AddTest( TARGET MODULE_HSOLVER_LCAO LIBS parameter ${math_libs} base psi device - SOURCES diago_lcao_test.cpp ../diago_scalapack.cpp + SOURCES diago_lcao_test.cpp ../diago_scalapack.cpp ../diago_lapack.cpp ) endif() @@ -115,18 +115,10 @@ if (ENABLE_MPI) TARGET MODULE_HSOLVER_LCAO_cusolver LIBS parameter ${math_libs} base psi device SOURCES diago_lcao_cusolver_test.cpp ../diago_cusolver.cpp ../diago_scalapack.cpp - ../kernels/dngvd_op.cpp + ../kernels/hegvd_op.cpp ../kernels/cuda/diag_cusolver.cu ) endif() -else() - if(ENABLE_LCAO) - AddTest( - TARGET MODULE_HSOLVER_Lapack - LIBS parameter ${math_libs} base psi device - SOURCES diago_lapack_test.cpp ../diago_lapack.cpp - ) - endif() endif() install(FILES H-KPoints-Si2.dat DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) install(FILES H-GammaOnly-Si2.dat DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) @@ -153,12 +145,19 @@ install(FILES diago_pexsi_parallel_test.sh DESTINATION ${CMAKE_CURRENT_BINARY_DI install(FILES parallel_k2d_test.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -AddTest( - TARGET MODULE_HSOLVER_diago_hs_parallel - LIBS parameter ${math_libs} ELPA::ELPA base device MPI::MPI_CXX genelpa psi - SOURCES test_diago_hs_para.cpp ../diag_hs_para.cpp ../diago_pxxxgvx.cpp ../diago_elpa.cpp ../diago_scalapack.cpp -) +if (USE_ELPA) + AddTest( + TARGET MODULE_HSOLVER_diago_hs_parallel + LIBS parameter ${math_libs} ELPA::ELPA base device MPI::MPI_CXX genelpa psi + SOURCES test_diago_hs_para.cpp ../diag_hs_para.cpp ../diago_pxxxgvx.cpp ../diago_elpa.cpp ../diago_scalapack.cpp + ) +else() + AddTest( + TARGET MODULE_HSOLVER_diago_hs_parallel + LIBS parameter ${math_libs} base device MPI::MPI_CXX psi + SOURCES test_diago_hs_para.cpp ../diag_hs_para.cpp ../diago_pxxxgvx.cpp ../diago_scalapack.cpp + ) +endif() AddTest( TARGET MODULE_HSOLVER_linear_trans diff --git a/source/source_hsolver/test/diago_bpcg_test.cpp b/source/source_hsolver/test/diago_bpcg_test.cpp index 93e1147ccf..f36a09dafe 100644 --- a/source/source_hsolver/test/diago_bpcg_test.cpp +++ b/source/source_hsolver/test/diago_bpcg_test.cpp @@ -99,7 +99,7 @@ class DiagoBPCGPrepare double *en = new double[npw]; int ik = 1; hamilt::Hamilt>* ha; - ha =new hamilt::HamiltPW>(nullptr, nullptr, nullptr, nullptr,nullptr); + ha =new hamilt::HamiltPW>(nullptr, nullptr, nullptr, nullptr, nullptr, nullptr); int* ngk = new int [1]; //psi::Psi> psi(ngk,ik,nband,npw); psi::Psi> psi; diff --git a/source/source_hsolver/test/diago_cg_float_test.cpp b/source/source_hsolver/test/diago_cg_float_test.cpp index 60d9a34313..9af83f174c 100644 --- a/source/source_hsolver/test/diago_cg_float_test.cpp +++ b/source/source_hsolver/test/diago_cg_float_test.cpp @@ -108,7 +108,7 @@ class DiagoCGPrepare float *en = new float[npw]; int ik = 1; hamilt::Hamilt>* ha; - ha =new hamilt::HamiltPW>(nullptr, nullptr, nullptr, nullptr,nullptr); + ha =new hamilt::HamiltPW>(nullptr, nullptr, nullptr, nullptr, nullptr, nullptr); psi::Psi> psi; psi.resize(ik,nband,npw); //psi.fix_k(0); @@ -142,7 +142,7 @@ class DiagoCGPrepare // New interface of cg method /**************************************************************/ // warp the subspace_func into a lambda function - auto subspace_func = [ha](const ct::Tensor& psi_in, ct::Tensor& psi_out) { /*do nothing*/ }; + auto subspace_func = [ha](const ct::Tensor& psi_in, ct::Tensor& psi_out, const bool S_orth) { /*do nothing*/ }; hsolver::DiagoCG> cg( PARAM.input.basis_type, PARAM.input.calculation, diff --git a/source/source_hsolver/test/diago_cg_real_test.cpp b/source/source_hsolver/test/diago_cg_real_test.cpp index 48e0793fa2..46b3971561 100644 --- a/source/source_hsolver/test/diago_cg_real_test.cpp +++ b/source/source_hsolver/test/diago_cg_real_test.cpp @@ -147,7 +147,7 @@ class DiagoCGPrepare // New interface of cg method /**************************************************************/ // warp the subspace_func into a lambda function - auto subspace_func = [ha](const ct::Tensor& psi_in, ct::Tensor& psi_out) { /*do nothing*/ }; + auto subspace_func = [ha](const ct::Tensor& psi_in, ct::Tensor& psi_out, const bool S_orth) { /*do nothing*/ }; hsolver::DiagoCG cg( PARAM.input.basis_type, PARAM.input.calculation, diff --git a/source/source_hsolver/test/diago_cg_test.cpp b/source/source_hsolver/test/diago_cg_test.cpp index 20b115d058..d360e47e53 100644 --- a/source/source_hsolver/test/diago_cg_test.cpp +++ b/source/source_hsolver/test/diago_cg_test.cpp @@ -104,7 +104,7 @@ class DiagoCGPrepare double *en = new double[npw]; int ik = 1; hamilt::Hamilt>* ha; - ha =new hamilt::HamiltPW>(nullptr, nullptr, nullptr, nullptr,nullptr); + ha =new hamilt::HamiltPW>(nullptr, nullptr, nullptr, nullptr, nullptr, nullptr); psi::Psi> psi; psi.resize(ik,nband,npw); //psi.fix_k(0); @@ -136,7 +136,7 @@ class DiagoCGPrepare // New interface of cg method /**************************************************************/ // warp the subspace_func into a lambda function - auto subspace_func = [ha](const ct::Tensor& psi_in, ct::Tensor& psi_out) { /*do nothing*/ }; + auto subspace_func = [ha](const ct::Tensor& psi_in, ct::Tensor& psi_out, const bool S_orth) { /*do nothing*/ }; hsolver::DiagoCG> cg( PARAM.input.basis_type, PARAM.input.calculation, diff --git a/source/source_hsolver/test/diago_david_float_test.cpp b/source/source_hsolver/test/diago_david_float_test.cpp index f907f939e4..76c5226ce3 100644 --- a/source/source_hsolver/test/diago_david_float_test.cpp +++ b/source/source_hsolver/test/diago_david_float_test.cpp @@ -82,7 +82,7 @@ class DiagoDavPrepare //do Diago_David::diag() float* en = new float[npw]; hamilt::Hamilt> *phm; - phm = new hamilt::HamiltPW>(nullptr, nullptr, nullptr, nullptr,nullptr); + phm = new hamilt::HamiltPW>(nullptr, nullptr, nullptr, nullptr, nullptr, nullptr); #ifdef __MPI const hsolver::diag_comm_info comm_info = {MPI_COMM_WORLD, mypnum, nprocs}; diff --git a/source/source_hsolver/test/diago_david_real_test.cpp b/source/source_hsolver/test/diago_david_real_test.cpp index b8670bc74d..77a64dcd01 100644 --- a/source/source_hsolver/test/diago_david_real_test.cpp +++ b/source/source_hsolver/test/diago_david_real_test.cpp @@ -81,7 +81,7 @@ class DiagoDavPrepare //do Diago_David::diag() double* en = new double[npw]; hamilt::Hamilt* phm; - phm = new hamilt::HamiltPW(nullptr, nullptr, nullptr, nullptr,nullptr); + phm = new hamilt::HamiltPW(nullptr, nullptr, nullptr, nullptr, nullptr, nullptr); #ifdef __MPI const hsolver::diag_comm_info comm_info = {MPI_COMM_WORLD, mypnum, nprocs}; diff --git a/source/source_hsolver/test/diago_david_test.cpp b/source/source_hsolver/test/diago_david_test.cpp index 643eeed4bf..6239be7a2e 100644 --- a/source/source_hsolver/test/diago_david_test.cpp +++ b/source/source_hsolver/test/diago_david_test.cpp @@ -77,14 +77,16 @@ class DiagoDavPrepare { //calculate eigenvalues by LAPACK; double* e_lapack = new double[npw]; - double* ev; - if(mypnum == 0) { lapackEigen(npw, DIAGOTEST::hmatrix, e_lapack,DETAILINFO); -} + double* ev = nullptr; + if(mypnum == 0) + { + lapackEigen(npw, DIAGOTEST::hmatrix, e_lapack,DETAILINFO); + } //do Diago_David::diag() double* en = new double[npw]; hamilt::Hamilt> *phm; - phm = new hamilt::HamiltPW>(nullptr, nullptr, nullptr, nullptr,nullptr); + phm = new hamilt::HamiltPW>(nullptr, nullptr, nullptr, nullptr, nullptr, nullptr); #ifdef __MPI const hsolver::diag_comm_info comm_info = {MPI_COMM_WORLD, mypnum, nprocs}; diff --git a/source/source_hsolver/test/diago_lcao_test.cpp b/source/source_hsolver/test/diago_lcao_test.cpp index bbfaad4a1e..69e4fab3bf 100644 --- a/source/source_hsolver/test/diago_lcao_test.cpp +++ b/source/source_hsolver/test/diago_lcao_test.cpp @@ -1,4 +1,5 @@ #include "source_hsolver/diago_scalapack.h" +#include "source_hsolver/diago_lapack.h" #include "source_hsolver/test/diago_elpa_utils.h" #define private public #include "source_io/module_parameter/parameter.h" @@ -74,6 +75,8 @@ class DiagoPrepare if (ks_solver == "scalapack_gvx") ; // dh = new hsolver::DiagoScalapack; + else if (ks_solver == "lapack") + ; #ifdef __ELPA else if (ks_solver == "genelpa") ; @@ -226,6 +229,11 @@ class DiagoPrepare hsolver::DiagoScalapack dh; dh.diag(&hmtest, psi, e_solver.data()); } + else if (ks_solver == "lapack") + { + hsolver::DiagoLapack la; + la.diag(&hmtest, psi, e_solver.data()); + } #ifdef __ELPA else if (ks_solver == "genelpa") { @@ -294,6 +302,15 @@ TEST_P(DiagoGammaOnlyTest, LCAO) std::stringstream out_info; DiagoPrepare dp = GetParam(); ASSERT_TRUE(dp.produce_HS()); + + // Skip lapack tests in multi-process environment + // LAPACK is a serial solver and cannot work with distributed matrices + if (dp.ks_solver == "lapack" && dp.dsize > 1) + { + GTEST_SKIP() << "Skipping lapack test with " << dp.dsize + << " MPI processes (lapack only supports single process)"; + } + dp.diago(); if (dp.myrank == 0) @@ -316,7 +333,9 @@ INSTANTIATE_TEST_SUITE_P( DiagoPrepare(0, 0, 32, 0, "genelpa", "H-GammaOnly-Si64.dat", "S-GammaOnly-Si64.dat"), #endif DiagoPrepare(0, 0, 1, 0, "scalapack_gvx", "H-GammaOnly-Si2.dat", "S-GammaOnly-Si2.dat"), - DiagoPrepare(0, 0, 32, 0, "scalapack_gvx", "H-GammaOnly-Si64.dat", "S-GammaOnly-Si64.dat"))); + DiagoPrepare(0, 0, 32, 0, "scalapack_gvx", "H-GammaOnly-Si64.dat", "S-GammaOnly-Si64.dat"), + DiagoPrepare(0, 0, 1, 0, "lapack", "H-GammaOnly-Si2.dat", "S-GammaOnly-Si2.dat"), + DiagoPrepare(0, 0, 32, 0, "lapack", "H-GammaOnly-Si64.dat", "S-GammaOnly-Si64.dat"))); class DiagoKPointsTest : public ::testing::TestWithParam>> { @@ -326,6 +345,15 @@ TEST_P(DiagoKPointsTest, LCAO) std::stringstream out_info; DiagoPrepare> dp = GetParam(); ASSERT_TRUE(dp.produce_HS()); + + // Skip lapack tests in multi-process environment + // LAPACK is a serial solver and cannot work with distributed matrices + if (dp.ks_solver == "lapack" && dp.dsize > 1) + { + GTEST_SKIP() << "Skipping lapack test with " << dp.dsize + << " MPI processes (lapack only supports single process)"; + } + dp.diago(); if (dp.myrank == 0) @@ -368,9 +396,6 @@ int main(int argc, char** argv) std::cout << "ERROR:some tests are not passed" << std::endl; return result; } - else - { - MPI_Finalize(); - return 0; - } + MPI_Finalize(); + return 0; } diff --git a/source/source_hsolver/test/diago_mock.h b/source/source_hsolver/test/diago_mock.h index ea2c2affaa..16e1359cae 100644 --- a/source/source_hsolver/test/diago_mock.h +++ b/source/source_hsolver/test/diago_mock.h @@ -572,7 +572,13 @@ template<> void hamilt::HamiltPW::updateHk(const int ik) return; } -template<> hamilt::HamiltPW::HamiltPW(elecstate::Potential* pot_in, ModulePW::PW_Basis_K* wfc_basis, K_Vectors* pkv, pseudopot_cell_vnl*,const UnitCell*) +template<> hamilt::HamiltPW::HamiltPW( + elecstate::Potential* pot_in, + ModulePW::PW_Basis_K* wfc_basis, + K_Vectors* pkv, + pseudopot_cell_vnl* ppcell, + Plus_U* p_dftu, // mohan add 20251108 + const UnitCell* ucell) { this->ops = new OperatorMock; } @@ -587,7 +593,13 @@ template<> void hamilt::HamiltPW>::updateHk(const int ik) return; } -template<> hamilt::HamiltPW>::HamiltPW(elecstate::Potential* pot_in, ModulePW::PW_Basis_K* wfc_basis, K_Vectors* pkv, pseudopot_cell_vnl*,const UnitCell*) +template<> hamilt::HamiltPW>::HamiltPW( + elecstate::Potential* pot_in, + ModulePW::PW_Basis_K* wfc_basis, + K_Vectors* pkv, + pseudopot_cell_vnl* ppcell, + Plus_U* p_dftu, // mohan add 20251108 + const UnitCell* ucell) { this->ops = new OperatorMock>; } @@ -602,7 +614,13 @@ template<> void hamilt::HamiltPW>::updateHk(const int ik) return; } -template<> hamilt::HamiltPW>::HamiltPW(elecstate::Potential* pot_in, ModulePW::PW_Basis_K* wfc_basis, K_Vectors* pkv, pseudopot_cell_vnl*,const UnitCell*) +template<> hamilt::HamiltPW>::HamiltPW( + elecstate::Potential* pot_in, + ModulePW::PW_Basis_K* wfc_basis, + K_Vectors* pkv, + pseudopot_cell_vnl* ppcell, + Plus_U* p_dftu, // mohan add 20251108 + const UnitCell* ucell) { this->ops = new OperatorMock>; } diff --git a/source/source_hsolver/test/hsolver_pw_sup.h b/source/source_hsolver/test/hsolver_pw_sup.h index 6248d2623a..fb3757a08b 100644 --- a/source/source_hsolver/test/hsolver_pw_sup.h +++ b/source/source_hsolver/test/hsolver_pw_sup.h @@ -4,7 +4,6 @@ namespace ModulePW { PW_Basis::PW_Basis(){}; PW_Basis::~PW_Basis(){}; -FFT_Bundle::~FFT_Bundle(){}; void PW_Basis::initgrids( const double lat0_in, // unit length (unit in bohr) const ModuleBase::Matrix3 @@ -69,7 +68,7 @@ template DiagoCG::DiagoCG(const std::string& basis_type, const std::string& calculation, const bool& need_subspace, - const Func& subspace_func, + const SubspaceFunc& subspace_func, const Real& pw_diag_thr, const int& pw_diag_nmax, const int& nproc_in_pool) { @@ -93,7 +92,7 @@ DiagoCG::~DiagoCG() { } template -void DiagoCG::diag(const Func& hpsi_func, +double DiagoCG::diag(const Func& hpsi_func, const Func& spsi_func, ct::Tensor& psi, ct::Tensor& eigen, @@ -113,7 +112,7 @@ void DiagoCG::diag(const Func& hpsi_func, eigen_pack[ib] /= n_basis; } DiagoIterAssist::avg_iter += 1.0; - return; + return avg_iter_; } template class DiagoCG, base_device::DEVICE_CPU>; diff --git a/source/source_hsolver/test/hsolver_supplementary_mock.h b/source/source_hsolver/test/hsolver_supplementary_mock.h index b6beb9cb2d..87155ecd5a 100644 --- a/source/source_hsolver/test/hsolver_supplementary_mock.h +++ b/source/source_hsolver/test/hsolver_supplementary_mock.h @@ -19,8 +19,7 @@ void ElecState::init_nelec_spin() -void ElecState::init_scf(const int istep, - const UnitCell& ucell, +void ElecState::init_scf(const UnitCell& ucell, const Parallel_Grid& pgrid, const ModuleBase::ComplexMatrix& strucfac, const bool*, @@ -33,7 +32,6 @@ void ElecState::init_scf(const int istep, void ElecState::init_ks(Charge* chg_in, // pointer for class Charge const K_Vectors* klist_in, int nk_in, - ModulePW::PW_Basis* rhopw_in, const ModulePW::PW_Basis_Big* bigpw_in) { return; @@ -45,7 +43,6 @@ ElecStatePW::ElecStatePW(ModulePW::PW_Basis_K* wfc_basis_in, K_Vectors* pkv_in, UnitCell* ucell_in, pseudopot_cell_vnl* ppcell_in, - ModulePW::PW_Basis* rhodpw_in, ModulePW::PW_Basis* rhopw_in, ModulePW::PW_Basis_Big* bigpw_in) : basis(wfc_basis_in) diff --git a/source/source_hsolver/test/test_diago_assist.cpp b/source/source_hsolver/test/test_diago_assist.cpp index 26e6abb454..6398ab47af 100644 --- a/source/source_hsolver/test/test_diago_assist.cpp +++ b/source/source_hsolver/test/test_diago_assist.cpp @@ -27,14 +27,14 @@ class TestDiagoIterAssist : public ::testing::Test std::ofstream temp_ofs; }; -TEST_F(TestDiagoIterAssist, diagH_subspace) +TEST_F(TestDiagoIterAssist, diag_subspace) { - dia_f::diagH_subspace(); - dia_d::diagH_subspace(); + dia_f::diag_subspace(); + dia_d::diag_subspace(); EXPECT_EQ(true); } -TEST_F(TestDiagoIterAssist, diagH_LAPACK) +TEST_F(TestDiagoIterAssist, diag_hegvd) { EXPECT_EQ(true); } diff --git a/source/source_hsolver/test/test_diago_hs_para.cpp b/source/source_hsolver/test/test_diago_hs_para.cpp index 425fd3b238..a32d329fbd 100644 --- a/source/source_hsolver/test/test_diago_hs_para.cpp +++ b/source/source_hsolver/test/test_diago_hs_para.cpp @@ -10,7 +10,7 @@ #include #include "../diag_hs_para.h" -#include "source_hsolver/kernels/dngvd_op.h" +#include "source_hsolver/kernels/hegvd_op.h" template typename std::enable_if::value || std::is_same::value>::type @@ -160,7 +160,9 @@ void test_performance(int lda, int nb, int nbands, MPI_Comm comm,int case_numb, MPI_Comm_size(comm, &nproc); std::vector h_mat, s_mat, wfc, h_psi, s_psi; +#ifdef __ELPA std::vector::type> ekb_elpa(lda); +#endif std::vector::type> ekb_scalap(lda); std::vector::type> ekb_lapack(lda); @@ -176,32 +178,36 @@ void test_performance(int lda, int nb, int nbands, MPI_Comm comm,int case_numb, } // store all the times in a vector +#ifdef __ELPA std::vector time_elpa(case_numb, 0); +#endif std::vector time_scalap(case_numb, 0); std::vector time_lapack(case_numb, 0); if (my_rank == 0) { std::cout << "Random matrix "; } - for (int randomi = 0; randomi < case_numb; ++randomi) + for (int randomi = 0; randomi < case_numb; ++randomi) { - + if (my_rank == 0) { std::cout << randomi << " "; generate_random_hs(lda, randomi, h_mat, s_mat); } - + auto start = std::chrono::high_resolution_clock::now(); + auto end = std::chrono::high_resolution_clock::now(); +#ifdef __ELPA // ELPA MPI_Barrier(comm); - auto start = std::chrono::high_resolution_clock::now(); + start = std::chrono::high_resolution_clock::now(); for (int j=0;j(h_mat.data(), s_mat.data(), lda, nbands,ekb_elpa.data(), wfc.data(), comm, 1, nb); MPI_Barrier(comm); } MPI_Barrier(comm); - auto end = std::chrono::high_resolution_clock::now(); + end = std::chrono::high_resolution_clock::now(); time_elpa[randomi] = std::chrono::duration_cast(end - start).count(); - +#endif // scalapack start = std::chrono::high_resolution_clock::now(); @@ -215,8 +221,8 @@ void test_performance(int lda, int nb, int nbands, MPI_Comm comm,int case_numb, time_scalap[randomi] = std::chrono::duration_cast(end - start).count(); //LApack - if (my_rank == 0) - { + if (my_rank == 0) + { std::vector h_tmp, s_tmp; start = std::chrono::high_resolution_clock::now(); base_device::DEVICE_CPU* ctx = {}; @@ -225,7 +231,7 @@ void test_performance(int lda, int nb, int nbands, MPI_Comm comm,int case_numb, { h_tmp = h_mat; s_tmp = s_mat; - hsolver::dngvx_op()(ctx, + hsolver::hegvx_op()(ctx, lda, lda, h_tmp.data(), @@ -239,26 +245,34 @@ void test_performance(int lda, int nb, int nbands, MPI_Comm comm,int case_numb, //COMPARE EKB for (int i = 0; i < nbands; ++i) { - typename GetTypeReal::type diff_elpa_lapack = std::abs(ekb_elpa[i] - ekb_lapack[i]); typename GetTypeReal::type diff_scalap_lapack = std::abs(ekb_scalap[i] - ekb_lapack[i]); +#ifdef __ELPA + typename GetTypeReal::type diff_elpa_lapack = std::abs(ekb_elpa[i] - ekb_lapack[i]); if (diff_elpa_lapack > 1e-6 || diff_scalap_lapack > 1e-6) +#else + if (diff_scalap_lapack > 1e-6) +#endif { +#ifdef __ELPA std::cout << "eigenvalue " << i << " by ELPA: " << ekb_elpa[i] << std::endl; +#endif std::cout << "eigenvalue " << i << " by Scalapack: " << ekb_scalap[i] << std::endl; std::cout << "eigenvalue " << i << " by Lapack: " << ekb_lapack[i] << std::endl; } } } - MPI_Barrier(comm); + MPI_Barrier(comm); } if (my_rank == 0) { +#ifdef __ELPA std::cout << "\nELPA Time : "; for (int i=0; i < case_numb;i++) {std::cout << time_elpa[i] << " ";} std::cout << std::endl; +#endif std::cout << "scalapack Time: "; for (int i=0; i < case_numb;i++) @@ -271,21 +285,29 @@ void test_performance(int lda, int nb, int nbands, MPI_Comm comm,int case_numb, std::cout << std::endl; // print out the average time and speedup +#ifdef __ELPA double avg_time_elpa = 0; +#endif double avg_time_scalap = 0; double avg_time_lapack = 0; for (int i=0; i < case_numb;i++) { +#ifdef __ELPA avg_time_elpa += time_elpa[i]; +#endif avg_time_scalap += time_scalap[i]; avg_time_lapack += time_lapack[i]; } +#ifdef __ELPA avg_time_elpa /= case_numb; +#endif avg_time_scalap /= case_numb; avg_time_lapack /= case_numb; std::cout << "Average Lapack Time : " << avg_time_lapack << " ms" << std::endl; +#ifdef __ELPA std::cout << "Average ELPA Time : " << avg_time_elpa << " ms, Speedup: " << avg_time_lapack / avg_time_elpa << std::endl; +#endif std::cout << "Average Scalapack Time: " << avg_time_scalap << " ms, Speedup: " << avg_time_lapack / avg_time_scalap << std::endl; } } diff --git a/source/source_hsolver/test/test_hsolver_sdft.cpp b/source/source_hsolver/test/test_hsolver_sdft.cpp index 4118ba7bb7..7ab1464195 100644 --- a/source/source_hsolver/test/test_hsolver_sdft.cpp +++ b/source/source_hsolver/test/test_hsolver_sdft.cpp @@ -262,7 +262,7 @@ namespace ModulePW { class TestHSolverPW_SDFT : public ::testing::Test { public: - TestHSolverPW_SDFT() : stoche(8, 1, 0, 0), elecstate_test(nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr) + TestHSolverPW_SDFT() : stoche(8, 1, 0, 0), elecstate_test(nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr) { } ModulePW::PW_Basis_K pwbk; @@ -408,4 +408,4 @@ int main(int argc, char** argv) return result; } -#endif \ No newline at end of file +#endif diff --git a/source/source_io/CMakeLists.txt b/source/source_io/CMakeLists.txt index 7fb9ff113a..3322add8bb 100644 --- a/source/source_io/CMakeLists.txt +++ b/source/source_io/CMakeLists.txt @@ -1,5 +1,8 @@ list(APPEND objects input_conv.cpp + ctrl_output_fp.cpp + ctrl_output_pw.cpp + ctrl_output_td.cpp bessel_basis.cpp cal_test.cpp cal_dos.cpp @@ -7,7 +10,7 @@ list(APPEND objects cal_mlkedf_descriptors.cpp cif_io.cpp write_dos_pw.cpp - nscf_band.cpp + write_bands.cpp nscf_fermi_surf.cpp write_eig_occ.cpp numerical_basis.cpp @@ -28,6 +31,7 @@ list(APPEND objects write_elecstat_pot.cpp write_elf.cpp write_dipole.cpp + write_init.cpp write_mlkedf_descriptors.cpp td_current_io.cpp write_libxc_r.cpp @@ -46,7 +50,6 @@ list(APPEND objects_advanced to_wannier90_lcao_in_pw.cpp to_wannier90_lcao.cpp fR_overlap.cpp - winput.cpp ) if(ENABLE_LCAO) @@ -59,9 +62,8 @@ if(ENABLE_LCAO) get_pchg_lcao.cpp get_wf_lcao.cpp read_wfc_nao.cpp - read_wfc_lcao.cpp write_wfc_nao.cpp - io_dmk.cpp + write_dmk.cpp write_dmr.cpp sparse_matrix.cpp file_reader.cpp @@ -82,7 +84,9 @@ if(ENABLE_LCAO) single_R_io.cpp cal_r_overlap_R.cpp output_mat_sparse.cpp - ctrl_output_lcao.cpp + ctrl_scf_lcao.cpp + ctrl_runner_lcao.cpp + ctrl_iter_lcao.cpp ) endif() @@ -112,6 +116,12 @@ add_library( ${objects} ) +target_include_directories( + io_basic + PUBLIC + ${CMAKE_BINARY_DIR}/source/source_io +) + add_library( io_advanced OBJECT diff --git a/source/source_io/berryphase.cpp b/source/source_io/berryphase.cpp index 8d31edec91..c98913b35d 100644 --- a/source/source_io/berryphase.cpp +++ b/source/source_io/berryphase.cpp @@ -44,11 +44,10 @@ void berryphase::get_occupation_bands() void berryphase::lcao_init(const UnitCell& ucell, const Grid_Driver& gd, const K_Vectors& kv, - const Grid_Technique& grid_tech, const LCAO_Orbitals& orb) { ModuleBase::TITLE("berryphase", "lcao_init"); - lcao_method.init(ucell,grid_tech, kv.get_nkstot(), orb); + lcao_method.init(ucell, kv.get_nkstot(), orb); lcao_method.cal_R_number(ucell, gd); lcao_method.cal_orb_overlap(ucell); return; diff --git a/source/source_io/berryphase.h b/source/source_io/berryphase.h index d4befd298d..a040fe758c 100644 --- a/source/source_io/berryphase.h +++ b/source/source_io/berryphase.h @@ -4,7 +4,6 @@ #ifdef __LCAO #include "unk_overlap_lcao.h" #endif -//#include "source_basis/module_pw/pw_basis.h" #include "source_basis/module_pw/pw_basis_k.h" #include "source_cell/klist.h" #include "source_psi/psi.h" @@ -40,7 +39,6 @@ class berryphase void lcao_init(const UnitCell& ucell, const Grid_Driver& gd, const K_Vectors& kv, - const Grid_Technique& grid_tech, const LCAO_Orbitals& orb); #endif void set_kpoints(const K_Vectors& kv, const int direction); diff --git a/source/source_io/build_info.h.in b/source/source_io/build_info.h.in new file mode 100644 index 0000000000..b0959240f4 --- /dev/null +++ b/source/source_io/build_info.h.in @@ -0,0 +1,60 @@ +#ifndef SOURCE_IO_BUILD_INFO_H +#define SOURCE_IO_BUILD_INFO_H + +// --- Platform & Environment --- +#define ABACUS_PLATFORM_NAME "@ABACUS_PLATFORM_NAME@" +#define ABACUS_BUILD_TYPE "@ABACUS_BUILD_TYPE@" +#define ABACUS_BUILD_USER "@ABACUS_BUILD_USER@" +#define ABACUS_BUILD_HOST "@ABACUS_BUILD_HOST@" +#define ABACUS_CXX_COMPILER_ID "@ABACUS_CXX_COMPILER_ID@" +#define ABACUS_CXX_COMPILER_PATH "@ABACUS_CXX_COMPILER_PATH@" +#define ABACUS_CXX_COMPILER_VERSION "@ABACUS_CXX_COMPILER_VERSION@" +#define ABACUS_CXX_FLAGS "@ABACUS_CXX_FLAGS@" +#define ABACUS_LINKER_FLAGS "@ABACUS_LINKER_FLAGS@" +#define ABACUS_CUDA_FLAGS "@ABACUS_CUDA_FLAGS@" + +// --- Sanitizers & Debugging --- +#define ABACUS_ASAN_STATUS "@ABACUS_ASAN_STATUS@" +#define ABACUS_DEBUG_SYMBOLS "@ABACUS_DEBUG_SYMBOLS@" + +// --- CMake Configuration Summary --- +#define ABACUS_CMAKE_OPTIONS "@ABACUS_CMAKE_OPTIONS@" +#define ABACUS_CMAKE_FIND_PACKAGES "@ABACUS_CMAKE_FIND_PACKAGES@" + +// --- Parallelism & Communication --- +#define ABACUS_MPI_IMPLEMENTATION "@ABACUS_MPI_IMPLEMENTATION@" +#define ABACUS_MPI_VERSION "@ABACUS_MPI_VERSION@" +#define ABACUS_CUDA_AWARE_MPI "@ABACUS_CUDA_AWARE_MPI@" +#define ABACUS_OPENMP_VERSION "@ABACUS_OPENMP_VERSION@" + +// --- Core Math Libraries --- +#define ABACUS_ELPA_VERSION "@ABACUS_ELPA_VERSION@" +#define ABACUS_MKL_SUPPORT "@ABACUS_MKL_SUPPORT@" +#define ABACUS_LIBXC_VERSION "@ABACUS_LIBXC_VERSION@" +#define ABACUS_FFTW_VERSION "@ABACUS_FFTW_VERSION@" + +// --- Accelerators & Specific Hardware --- +#define ABACUS_CUDA_VERSION "@ABACUS_CUDA_VERSION@" +#define ABACUS_ROCM_VERSION "@ABACUS_ROCM_VERSION@" +#define ABACUS_CUSOLVERMP_VERSION "@ABACUS_CUSOLVERMP_VERSION@" + +// --- Hybrid Functional Libraries --- +#define ABACUS_CEREAL_VERSION "@ABACUS_CEREAL_VERSION@" +#define ABACUS_LIBRI_VERSION "@ABACUS_LIBRI_VERSION@" +#define ABACUS_LIBCOMM_VERSION "@ABACUS_LIBCOMM_VERSION@" + +// --- AI & Machine Learning --- +#define ABACUS_LIBTORCH_VERSION "@ABACUS_LIBTORCH_VERSION@" +#define ABACUS_LIBNPY_VERSION "@ABACUS_LIBNPY_VERSION@" +#define ABACUS_DEEPMD_VERSION "@ABACUS_DEEPMD_VERSION@" +#define ABACUS_NEP_VERSION "@ABACUS_NEP_VERSION@" +#define ABACUS_TENSORFLOW_VERSION "@ABACUS_TENSORFLOW_VERSION@" + +// --- Testing & Other Libraries --- +#define ABACUS_GTEST_VERSION "@ABACUS_GTEST_VERSION@" +#define ABACUS_GOOGLEBENCH_VERSION "@ABACUS_GOOGLEBENCH_VERSION@" +#define ABACUS_RAPIDJSON_VERSION "@ABACUS_RAPIDJSON_VERSION@" +#define ABACUS_PEXSI_VERSION "@ABACUS_PEXSI_VERSION@" +#define ABACUS_CNPY_VERSION "@ABACUS_CNPY_VERSION@" + +#endif // SOURCE_IO_BUILD_INFO_H diff --git a/source/source_io/cal_dos.cpp b/source/source_io/cal_dos.cpp index 78268103e2..6eb53aac8f 100644 --- a/source/source_io/cal_dos.cpp +++ b/source/source_io/cal_dos.cpp @@ -7,7 +7,7 @@ #include "source_io/module_parameter/parameter.h" void ModuleIO::prepare_dos(std::ofstream& ofs_running, - const elecstate::efermi &energy_fermi, + const elecstate::Efermi &energy_fermi, const ModuleBase::matrix& ekb, const int nks, const int nbands, @@ -90,7 +90,7 @@ void ModuleIO::prepare_dos(std::ofstream& ofs_running, bool ModuleIO::cal_dos(const int& is, // index for spin const std::string& fn, // file name for DOS - const double& de_ev, // delta energy in ev + const double& de_ev, // delta energy in ev const double& emax_ev, // maximal energy in eV const double& emin_ev, // minimal energy in ev. const double& bcoeff, @@ -100,17 +100,24 @@ bool ModuleIO::cal_dos(const int& is, // index for spin const std::vector& isk, // index of spin for each k-point const int& nbands, // number of bands const ModuleBase::matrix& ekb, // energy for each k point and each band - const ModuleBase::matrix& wg // weight of k-points and bands - ) + const ModuleBase::matrix& wg, // weight of k-points and bands + const int istep) // ionic step { ModuleBase::TITLE("ModuleIO", "cal_dos"); std::ofstream ofs_dos; - std::ofstream ofs_smear; if (GlobalV::MY_RANK == 0) { - ofs_dos.open(fn.c_str()); + if(PARAM.inp.out_app_flag==true) + { + ofs_dos.open(fn.c_str(), std::ios::app); + } + else + { + ofs_dos.open(fn.c_str()); + } + ofs_dos << istep+1 << " # ionic step" << std::endl; } std::vector dos; diff --git a/source/source_io/cal_dos.h b/source/source_io/cal_dos.h index 9df1eb8d0d..c56891f6db 100644 --- a/source/source_io/cal_dos.h +++ b/source/source_io/cal_dos.h @@ -9,7 +9,7 @@ namespace ModuleIO { void prepare_dos(std::ofstream& ofs_running, - const elecstate::efermi &energy_fermi, + const elecstate::Efermi &energy_fermi, const ModuleBase::matrix& ekb, const int nks, const int nbands, @@ -24,13 +24,14 @@ namespace ModuleIO const double &emax_ev,// maximal energy in ev. const double &emin_ev,// minimal energy in ev. const double &bcoeff, - const int &nks,//number of k points - const int &nkstot, + const int &nks, //number of k points + const int &nkstot, // total number of k points const std::vector &wk,//weight of k points const std::vector &isk, const int &nbands,// number of bands const ModuleBase::matrix &ekb, //store energy for each k point and each band - const ModuleBase::matrix &wg); //weight of (kpoint,bands)) + const ModuleBase::matrix &wg, //weight of (kpoint,bands)) + const int istep_in); // ionic_step } diff --git a/source/source_io/cal_ldos.cpp b/source/source_io/cal_ldos.cpp index ec2f00bfc7..009337c254 100644 --- a/source/source_io/cal_ldos.cpp +++ b/source/source_io/cal_ldos.cpp @@ -3,7 +3,7 @@ #include "cal_dos.h" #include "cube_io.h" #include "source_estate/module_dm/cal_dm_psi.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" +#include "source_lcao/module_gint/gint_interface.h" #include @@ -12,10 +12,16 @@ namespace ModuleIO #ifdef __LCAO template -void Cal_ldos::cal_ldos_lcao(const elecstate::ElecStateLCAO* pelec, - const psi::Psi& psi, - const Parallel_Grid& pgrid, - const UnitCell& ucell) +void Cal_ldos::cal_ldos_lcao( + const elecstate::Efermi &eferm, // mohan add 2025-11-02 + const Charge &chr, // mohan add add 2025-11-02 + const LCAO_domain::Setup_DM &dmat, // mohan add 2025-11-02 + const K_Vectors &kv, // k points, mohan add 2025-11-02 + const ModuleBase::matrix &ekb, // mohan add 2025-11-02 + const ModuleBase::matrix &wg, // mohan add 2025-11-02 + const psi::Psi& psi, + const Parallel_Grid& pgrid, + const UnitCell& ucell) { for (int ie = 0; ie < PARAM.inp.stm_bias[2]; ie++) { @@ -25,53 +31,48 @@ void Cal_ldos::cal_ldos_lcao(const elecstate::ElecStateLCAO* pelec, const double emax = en > 0 ? en : 0; // calculate weight (for bands not in the range, weight is zero) - ModuleBase::matrix weight(pelec->ekb.nr, pelec->ekb.nc); - for (int ik = 0; ik < pelec->ekb.nr; ++ik) + ModuleBase::matrix weight(ekb.nr, ekb.nc); + for (int ik = 0; ik < ekb.nr; ++ik) { - const double efermi = pelec->eferm.get_efval(pelec->klist->isk[ik]); + const double efermi = eferm.get_efval(kv.isk[ik]); - for (int ib = 0; ib < pelec->ekb.nc; ib++) + for (int ib = 0; ib < ekb.nc; ib++) { - const double eigenval = (pelec->ekb(ik, ib) - efermi) * ModuleBase::Ry_to_eV; + const double eigenval = (ekb(ik, ib) - efermi) * ModuleBase::Ry_to_eV; if (eigenval >= emin && eigenval <= emax) { - weight(ik, ib) = en > 0 ? pelec->klist->wk[ik] - pelec->wg(ik, ib) : pelec->wg(ik, ib); + weight(ik, ib) = en > 0 ? kv.wk[ik] - wg(ik, ib) : wg(ik, ib); } } } // calculate dm-like for ldos const int nspin_dm = PARAM.inp.nspin == 2 ? 2 : 1; - elecstate::DensityMatrix dm_ldos(pelec->DM->get_paraV_pointer(), + elecstate::DensityMatrix dm_ldos(dmat.dm->get_paraV_pointer(), nspin_dm, - pelec->klist->kvec_d, - pelec->klist->get_nks() / nspin_dm); + kv.kvec_d, + kv.get_nks() / nspin_dm); - elecstate::cal_dm_psi(pelec->DM->get_paraV_pointer(), weight, psi, dm_ldos); - dm_ldos.init_DMR(*(pelec->DM->get_DMR_pointer(1))); + elecstate::cal_dm_psi(dmat.dm->get_paraV_pointer(), weight, psi, dm_ldos); + dm_ldos.init_DMR(*(dmat.dm->get_DMR_pointer(1))); dm_ldos.cal_DMR(); // allocate ldos space - std::vector ldos_space(PARAM.inp.nspin * pelec->charge->nrxx); + std::vector ldos_space(PARAM.inp.nspin * chr.nrxx); double** ldos = new double*[PARAM.inp.nspin]; for (int is = 0; is < PARAM.inp.nspin; ++is) { - ldos[is] = &ldos_space[is * pelec->charge->nrxx]; + ldos[is] = &ldos_space[is * chr.nrxx]; } // calculate ldos -#ifdef __OLD_GINT - ModuleBase::WARNING_QUIT("Cal_ldos::dm2ldos", - "do not support old grid integral, please recompile with __NEW_GINT"); -#else ModuleGint::cal_gint_rho(dm_ldos.get_DMR_vector(), PARAM.inp.nspin, ldos); -#endif // I'm not sure whether ldos should be output for each spin or not // ldos[0] += ldos[1] for nspin_dm == 2 if (nspin_dm == 2) { - BlasConnector::axpy(pelec->charge->nrxx, 1.0, ldos[1], 1, ldos[0], 1); + BlasConnector::axpy(chr.nrxx, 1.0, ldos[1], 1, ldos[0], 1); } // write ldos to cube file diff --git a/source/source_io/cal_ldos.h b/source/source_io/cal_ldos.h index a18ac0f1d0..8a16046b76 100644 --- a/source/source_io/cal_ldos.h +++ b/source/source_io/cal_ldos.h @@ -4,6 +4,12 @@ #include "source_estate/elecstate_lcao.h" #include "source_estate/elecstate_pw.h" +#include "source_estate/fp_energy.h" // eferm +#include "source_estate/module_charge/charge.h" // chr +#include "source_lcao/setup_dm.h" // Setup_DM +#include "source_cell/klist.h" // K_Vectors +#include "source_base/matrix.h" // matrix + namespace ModuleIO { template @@ -13,10 +19,17 @@ class Cal_ldos Cal_ldos(){}; ~Cal_ldos(){}; - static void cal_ldos_lcao(const elecstate::ElecStateLCAO* pelec, - const psi::Psi& psi, - const Parallel_Grid& pgrid, - const UnitCell& ucell); + static void cal_ldos_lcao( + const elecstate::Efermi &eferm, // mohan add 2025-11-02 + const Charge &chr, // mohan add add 2025-11-02 + const LCAO_domain::Setup_DM &dmat, // mohan add 2025-11-02 + const K_Vectors &kv, // k points, mohan add 2025-11-02 + const ModuleBase::matrix &ekb, // mohan add 2025-11-02 + const ModuleBase::matrix &wg, // mohan add 2025-11-02 + const psi::Psi& psi, + const Parallel_Grid& pgrid, + const UnitCell& ucell); + }; // namespace Cal_ldos void cal_ldos_pw(const elecstate::ElecStatePW>* pelec, @@ -72,4 +85,4 @@ void trilinear_interpolate(const std::vector>& points, } // namespace ModuleIO -#endif // CAL_LDOS_H \ No newline at end of file +#endif // CAL_LDOS_H diff --git a/source/source_io/cal_pLpR.cpp b/source/source_io/cal_pLpR.cpp index 7c3a5f0eab..91ebdad313 100644 --- a/source/source_io/cal_pLpR.cpp +++ b/source/source_io/cal_pLpR.cpp @@ -150,12 +150,21 @@ ModuleIO::AngularMomentumCalculator::AngularMomentumCalculator( // for neighbor list search double temp = -1.0; + if (search_radius < rcut_max) + { + *ofs_ << "Find the `search_radius` from the input file being smaller than the \n" + "`rcut_max` of the orbitals.\n" + << "Reset the `search_radius` (" << search_radius << ") " + << "to `rcut_max` ("<< rcut_max << ")." + << std::endl; + // we don't really set, but use std::max to mask :) + } temp = atom_arrange::set_sr_NL(*ofs_, PARAM.inp.out_level, - search_radius, + std::max(search_radius, rcut_max), ucell.infoNL.get_rcutmax_Beta(), PARAM.globalv.gamma_only_local); - temp = std::max(temp, search_radius); + temp = std::max(temp, std::max(search_radius, rcut_max)); this->neighbor_searcher_ = std::unique_ptr(new Grid_Driver(tdestructor, tgrid)); atom_arrange::search(searchpbc, *ofs_, @@ -190,24 +199,29 @@ void ModuleIO::AngularMomentumCalculator::kernel( fmtstr += "%" + std::to_string(precision*2) + "." + std::to_string(precision) + "e\n"; FmtCore fmt(fmtstr); - ModuleBase::Vector3 ri, rj, dr; + // placeholders + std::complex val = 0; + ModuleBase::Vector3 taui; // the origin position + ModuleBase::Vector3 dtau; // the displacement + AdjacentAtomInfo adjinfo; // adjacent atom information carrier for (int it = 0; it < ucell.ntype; it++) { const Atom& atyp_i = ucell.atoms[it]; for (int ia = 0; ia < atyp_i.na; ia++) { - ri = atyp_i.tau[ia]; - neighbor_searcher_->Find_atom(ucell, ri, it, ia); - for (int ia_adj = 0; ia_adj < neighbor_searcher_->getAdjacentNum(); ia_adj++) + taui = ucell.get_tau(ucell.itia2iat(it, ia)); + neighbor_searcher_->Find_atom(ucell, taui, it, ia, &adjinfo); + for (int ia_adj = 0; ia_adj < adjinfo.adj_num + 1; ia_adj++) // "+1" is to include itself { - rj = neighbor_searcher_->getAdjacentTau(ia_adj); - int jt = neighbor_searcher_->getType(ia_adj); + int jt = adjinfo.ntype[ia_adj]; // ityp + int ja = adjinfo.natom[ia_adj]; // iat with in atomtype const Atom& atyp_j = ucell.atoms[jt]; - int ja = neighbor_searcher_->getNatom(ia_adj); - dr = (ri - rj) * ucell.lat0; - const ModuleBase::Vector3 iR = neighbor_searcher_->getBox(ia_adj); - // the two-center-integral + const ModuleBase::Vector3 iR = adjinfo.box[ia_adj]; + dtau = ucell.cal_dtau(ucell.itia2iat(it, ia), + ucell.itia2iat(jt, ja), + iR) * ucell.lat0; // convert to unit of Bohr + // nested loop: calculate the two-center-integral for (int li = 0; li < atyp_i.nwl + 1; li++) { for (int iz = 0; iz < atyp_i.l_nchi[li]; iz++) @@ -220,21 +234,20 @@ void ModuleIO::AngularMomentumCalculator::kernel( { for (int mj = -lj; mj <= lj; mj++) { - std::complex val = 0; if (dir == 'x') { val = cal_LxijR(calculator_, - it, ia, li, iz, mi, jt, ja, lj, jz, mj, dr); + it, ia, li, iz, mi, jt, ja, lj, jz, mj, dtau); } else if (dir == 'y') { val = cal_LyijR(calculator_, - it, ia, li, iz, mi, jt, ja, lj, jz, mj, dr); + it, ia, li, iz, mi, jt, ja, lj, jz, mj, dtau); } else if (dir == 'z') { val = cal_LzijR(calculator_, - it, ia, li, iz, mi, jt, ja, lj, jz, mj, dr); + it, ia, li, iz, mi, jt, ja, lj, jz, mj, dtau); } *ofs << fmt.format( @@ -266,7 +279,7 @@ void ModuleIO::AngularMomentumCalculator::calculate( } std::ofstream ofout; const std::string dir = "xyz"; - const std::string title = "# it ia il iz im iRx iRy iRz jt ja jl jz jm \n" + const std::string title = "# it ia il iz im iRx iRy iRz jt ja jl jz jm Re[] Im[]\n" "# it: atomtype index of the first atom\n" "# ia: atomic index of the first atom within the atomtype\n" "# il: angular momentum index of the first atom\n" @@ -278,7 +291,8 @@ void ModuleIO::AngularMomentumCalculator::calculate( "# jl: angular momentum index of the second atom\n" "# jz: zeta function index of the second atom\n" "# jm: magnetic quantum number of the second atom\n" - "# : the value of the matrix element\n"; + "# Re[], Im[]: the real and imaginary parts " + "of the value of the matrix element\n"; for (char d : dir) { diff --git a/source/source_io/cal_r_overlap_R.cpp b/source/source_io/cal_r_overlap_R.cpp index f81bf8026f..f7512699e0 100644 --- a/source/source_io/cal_r_overlap_R.cpp +++ b/source/source_io/cal_r_overlap_R.cpp @@ -18,19 +18,11 @@ cal_r_overlap_R::~cal_r_overlap_R() void cal_r_overlap_R::initialize_orb_table(const UnitCell& ucell, const LCAO_Orbitals& orb) { - int Lmax_used = 0; - int Lmax = 0; - int exx_lmax = 0; -#ifdef __EXX - exx_lmax = GlobalC::exx_info.info_ri.abfs_Lmax; -#endif - const int ntype = orb.get_ntype(); - int lmax_orb = -1, lmax_beta = -1; + int lmax_orb = -1; for (int it = 0; it < ntype; it++) { lmax_orb = std::max(lmax_orb, orb.Phi[it].getLmax()); - lmax_beta = std::max(lmax_beta, ucell.infoNL.Beta[it].getLmax()); } const double dr = orb.get_dR(); const double dk = orb.get_dk(); @@ -38,13 +30,9 @@ void cal_r_overlap_R::initialize_orb_table(const UnitCell& ucell, int Rmesh = static_cast(orb.get_Rmax() / dr) + 4; Rmesh += 1 - Rmesh % 2; - Center2_Orb::init_Table_Spherical_Bessel(2, - 3, - Lmax_used, - Lmax, - exx_lmax, - lmax_orb, - lmax_beta, + const int Lmax = lmax_orb + 1; + const int Lmax_used = 2 * lmax_orb + 1; + Center2_Orb::init_Table_Spherical_Bessel(Lmax_used, dr, dk, kmesh, diff --git a/source/source_io/ctrl_iter_lcao.cpp b/source/source_io/ctrl_iter_lcao.cpp new file mode 100644 index 0000000000..c772d162e6 --- /dev/null +++ b/source/source_io/ctrl_iter_lcao.cpp @@ -0,0 +1,141 @@ +#include "source_io/ctrl_iter_lcao.h" // use ctrl_iter_lcao() +#include "source_pw/module_pwdft/global.h" // use GlobalC::restart + +#ifdef __MLALGO +#include "source_lcao/module_deepks/LCAO_deepks.h" +#include "source_lcao/module_deepks/LCAO_deepks_interface.h" +#endif + +namespace ModuleIO +{ + +template +void ctrl_iter_lcao(UnitCell& ucell, // unit cell * + const Input_para& inp, // input parameters * + K_Vectors& kv, // k points * + elecstate::ElecState* pelec, // electronic info * + elecstate::DensityMatrix& dm, // density matrix, mohan add 2025-11-03 + Parallel_Orbitals& pv, // parallel orbital info * + Grid_Driver& gd, // adjacent atom info * + psi::Psi* psi, // wave functions * + Charge &chr, // charge density * + Charge_Mixing* p_chgmix, // charge mixing * + hamilt::HamiltLCAO* p_hamilt, // hamiltonian * + LCAO_Orbitals &orb, // orbital info * + Setup_DeePKS &deepks, + Exx_NAO &exx_nao, + int &iter, + const int istep, + bool &conv_esolver, + const double &scf_ene_thr) +{ + ModuleBase::TITLE("ModuleIO", "ctrl_iter_lcao"); + ModuleBase::timer::tick("ModuleIO", "ctrl_iter_lcao"); + + // save charge density + // Peize Lin add 2020.04.04 + if (GlobalC::restart.info_save.save_charge) + { + for (int is = 0; is < inp.nspin; ++is) + { + GlobalC::restart.save_disk("charge", is, chr.nrxx, chr.rho[is]); + } + } + +#ifdef __EXX + // save exx matrix + if (inp.calculation != "nscf") + { + if (GlobalC::exx_info.info_global.cal_exx) + { + GlobalC::exx_info.info_ri.real_number ? + exx_nao.exd->exx_iter_finish(kv, ucell, *p_hamilt, *pelec, &dm, + *p_chgmix, scf_ene_thr, iter, istep, conv_esolver) : + exx_nao.exc->exx_iter_finish(kv, ucell, *p_hamilt, *pelec, &dm, + *p_chgmix, scf_ene_thr, iter, istep, conv_esolver); + } + } +#endif + + + // for deepks, output labels during electronic steps (after conv_esolver is renewed) +#ifdef __MLALGO + if (inp.deepks_out_labels >0 && inp.deepks_out_freq_elec) + { + if (iter % inp.deepks_out_freq_elec == 0 ) + { + std::shared_ptr> ld_shared_ptr(&deepks.ld, [](LCAO_Deepks*) {}); + LCAO_Deepks_Interface deepks_interface(ld_shared_ptr); + + deepks_interface.out_deepks_labels(pelec->f_en.etot, kv.get_nks(), + ucell.nat, PARAM.globalv.nlocal, pelec->ekb, kv.kvec_d, + ucell, orb, gd, &pv, *psi, &dm, + p_hamilt, iter, conv_esolver, GlobalV::MY_RANK, GlobalV::ofs_running); + } + } +#endif + + ModuleBase::timer::tick("ModuleIO", "ctrl_iter_lcao"); +} + +// TK: double TR: double +template void ctrl_iter_lcao(UnitCell& ucell, // unit cell * + const Input_para& inp, // input parameters * + K_Vectors& kv, // k points * + elecstate::ElecState* pelec, // electronic info * + elecstate::DensityMatrix& dm, // density matrix, mohan add 2025-11-03 + Parallel_Orbitals& pv, // parallel orbital info * + Grid_Driver& gd, // adjacent atom info * + psi::Psi* psi, // wave functions * + Charge &chr, // charge density * + Charge_Mixing* p_chgmix, // charge mixing * + hamilt::HamiltLCAO* p_hamilt, // hamiltonian * + LCAO_Orbitals &orb, // orbital info * + Setup_DeePKS &deepks, + Exx_NAO &exx_nao, + int &iter, + const int istep, + bool &conv_esolver, + const double &scf_ene_thr); + +// TK: complex TR: double +template void ctrl_iter_lcao, double>(UnitCell& ucell, // unit cell * + const Input_para& inp, // input parameters * + K_Vectors& kv, // k points * + elecstate::ElecState* pelec, // electronic info * + elecstate::DensityMatrix, double>& dm, // density matrix, mohan add 2025-11-03 + Parallel_Orbitals& pv, // parallel orbital info * + Grid_Driver& gd, // adjacent atom info * + psi::Psi>* psi, // wave functions * + Charge &chr, // charge density * + Charge_Mixing* p_chgmix, // charge mixing * + hamilt::HamiltLCAO, double>* p_hamilt, // hamiltonian * + LCAO_Orbitals &orb, // orbital info * + Setup_DeePKS> &deepks, + Exx_NAO> &exx_nao, + int &iter, + const int istep, + bool &conv_esolver, + const double &scf_ene_thr); + +// TK: complex TR: complex +template void ctrl_iter_lcao, std::complex>(UnitCell& ucell, // unit cell * + const Input_para& inp, // input parameters * + K_Vectors& kv, // k points * + elecstate::ElecState* pelec, // electronic info * + elecstate::DensityMatrix, double>& dm, // density matrix, mohan add 2025-11-03 + Parallel_Orbitals& pv, // parallel orbital info * + Grid_Driver& gd, // adjacent atom info * + psi::Psi>* psi, // wave functions * + Charge &chr, // charge density * + Charge_Mixing* p_chgmix, // charge mixing * + hamilt::HamiltLCAO, std::complex>* p_hamilt, // hamiltonian * + LCAO_Orbitals &orb, // orbital info * + Setup_DeePKS> &deepks, + Exx_NAO> &exx_nao, + int &iter, + const int istep, + bool &conv_esolver, + const double &scf_ene_thr); + +} // end ModuleIO diff --git a/source/source_io/ctrl_iter_lcao.h b/source/source_io/ctrl_iter_lcao.h new file mode 100644 index 0000000000..6297d4f1d0 --- /dev/null +++ b/source/source_io/ctrl_iter_lcao.h @@ -0,0 +1,38 @@ +#ifndef CTRL_ITER_LCAO_H +#define CTRL_ITER_LCAO_H + +#include "source_cell/unitcell.h" // use UnitCell +#include "source_cell/klist.h" // use K_Vectors +#include "source_estate/elecstate_lcao.h" // use elecstate::ElecStateLCAO +#include "source_psi/psi.h" // use Psi +#include "source_estate/module_charge/charge.h" // use charge +#include "source_estate/module_charge/charge_mixing.h" // use charge mixing +#include "source_lcao/hamilt_lcao.h" // use hamilt::HamiltLCAO +#include "source_lcao/setup_exx.h" // mohan add 20251008 +#include "source_lcao/setup_deepks.h" // mohan add 20251010 + +namespace ModuleIO +{ + +template +void ctrl_iter_lcao(UnitCell& ucell, // unit cell * + const Input_para& inp, // input parameters * + K_Vectors& kv, // k points * + elecstate::ElecState* pelec, // electronic info * + elecstate::DensityMatrix& dm, // density matrix, mohan add 2025-11-03 + Parallel_Orbitals& pv, // parallel orbital info * + Grid_Driver& gd, // adjacent atom info * + psi::Psi* psi, // wave functions * + Charge &chr, // charge density * + Charge_Mixing* p_chgmix, // charge mixing * + hamilt::HamiltLCAO* p_hamilt, // hamiltonian * + LCAO_Orbitals &orb, // orbital info * + Setup_DeePKS &deepks, + Exx_NAO &exx_nao, + int &iter, + const int istep, + bool &conv_esolver, + const double &scf_ene_thr); + +} +#endif diff --git a/source/source_io/ctrl_output_fp.cpp b/source/source_io/ctrl_output_fp.cpp index 9f0a7edba5..e385ddefc9 100644 --- a/source/source_io/ctrl_output_fp.cpp +++ b/source/source_io/ctrl_output_fp.cpp @@ -1,12 +1,26 @@ -#include "source_io/ctrl_output_fp.h" // use ctrl_output_fp() +#include "source_io/ctrl_output_fp.h" // use ctrl_output_fp() + +#include "cube_io.h" // use write_vdata_palgrid +#include "source_estate/module_charge/symmetry_rho.h" // use Symmetry_rho +#include "source_hamilt/module_xc/xc_functional.h" // use XC_Functional +#include "source_io/write_elecstat_pot.h" // use write_elecstat_pot +#include "source_io/write_elf.h" + +#ifdef USE_LIBXC +#include "source_io/write_libxc_r.h" +#endif namespace ModuleIO { -template -void ctrl_output_fp(UnitCell& ucell, - elecstate::ElecStateLCAO* pelec, - const int istep) +void ctrl_output_fp(UnitCell& ucell, + elecstate::ElecState* pelec, + ModulePW::PW_Basis_Big* pw_big, + ModulePW::PW_Basis* pw_rhod, + Charge& chr, + surchem& solvent, + Parallel_Grid& para_grid, + const int istep) { ModuleBase::TITLE("ModuleIO", "ctrl_output_fp"); ModuleBase::timer::tick("ModuleIO", "ctrl_output_fp"); @@ -16,118 +30,176 @@ void ctrl_output_fp(UnitCell& ucell, const int nspin = PARAM.inp.nspin; const std::string global_out_dir = PARAM.globalv.global_out_dir; - // 1) write charge density - if (PARAM.inp.out_chg[0] > 0) - { - for (int is = 0; is < PARAM.inp.nspin; is++) - { - this->pw_rhod->real2recip(this->chr.rho_save[is], this->chr.rhog_save[is]); - std::string fn =PARAM.globalv.global_out_dir + "/chgs" + std::to_string(is + 1) + ".cube"; - ModuleIO::write_vdata_palgrid(Pgrid, - this->chr.rho_save[is], - is, - PARAM.inp.nspin, - istep, - fn, - this->pelec->eferm.get_efval(is), - &(ucell), - PARAM.inp.out_chg[1], - 1); - - if (XC_Functional::get_ked_flag()) - { - fn =PARAM.globalv.global_out_dir + "/taus" + std::to_string(is + 1) + ".cube"; - ModuleIO::write_vdata_palgrid(Pgrid, - this->chr.kin_r_save[is], - is, - PARAM.inp.nspin, - istep, - fn, - this->pelec->eferm.get_efval(is), - &(ucell)); - } - } - } - - - // 2) write potential - if (PARAM.inp.out_pot == 1 || PARAM.inp.out_pot == 3) - { - for (int is = 0; is < PARAM.inp.nspin; is++) - { - std::string fn =PARAM.globalv.global_out_dir + "/pots" + std::to_string(is + 1) + ".cube"; - - ModuleIO::write_vdata_palgrid(Pgrid, - this->pelec->pot->get_effective_v(is), - is, - PARAM.inp.nspin, - istep, - fn, - 0.0, // efermi - &(ucell), - 3, // precision - 0); // out_fermi - } - } - else if (PARAM.inp.out_pot == 2) - { - std::string fn =PARAM.globalv.global_out_dir + "/pot_es.cube"; - ModuleIO::write_elecstat_pot( + // print out the 'g' index when istep_in != -1 + int istep_in = -1; + if (PARAM.inp.esolver_type != "tddft" && PARAM.inp.out_freq_ion > 0) // default value of out_freq_ion is 0 + { + if (istep % PARAM.inp.out_freq_ion == 0) + { + istep_in = istep; + } + } + else if (PARAM.inp.esolver_type == "tddft" && PARAM.inp.out_freq_td > 0) // default value of out_freq_td is 0 + { + if (istep % PARAM.inp.out_freq_td == 0) + { + istep_in = istep; + } + } + + std::string geom_block; + if (istep_in == -1) + { + // do nothing + } + else if (istep_in >= 0) + { + geom_block = "g" + std::to_string(istep + 1); + } + + // 4) write charge density + if (PARAM.inp.out_chg[0] > 0) + { + for (int is = 0; is < nspin; ++is) + { + pw_rhod->real2recip(chr.rho_save[is], chr.rhog_save[is]); + + std::string fn = PARAM.globalv.global_out_dir + "chg"; + + std::string spin_block; + if (nspin == 2 || nspin == 4) + { + spin_block = "s" + std::to_string(is + 1); + } + else if (nspin == 1) + { + // do nothing + } + + fn += spin_block + geom_block + ".cube"; + + ModuleIO::write_vdata_palgrid(para_grid, + chr.rho_save[is], + is, + nspin, + istep_in, + fn, + pelec->eferm.get_efval(is), + &(ucell), + PARAM.inp.out_chg[1], + 1); + + if (XC_Functional::get_ked_flag()) + { + fn = PARAM.globalv.global_out_dir + "tau"; + + fn += spin_block + geom_block + ".cube"; + + ModuleIO::write_vdata_palgrid(para_grid, + chr.kin_r_save[is], + is, + nspin, + istep, + fn, + pelec->eferm.get_efval(is), + &(ucell)); + } + } + } + + // 5) write potential + if (PARAM.inp.out_pot == 1 || PARAM.inp.out_pot == 3) + { + for (int is = 0; is < nspin; is++) + { + std::string fn = PARAM.globalv.global_out_dir + "pot"; + + std::string spin_block; + if (nspin == 2 || nspin == 4) + { + spin_block = "s" + std::to_string(is + 1); + } + else if (nspin == 1) + { + // do nothing + } + + fn += spin_block + geom_block + ".cube"; + + ModuleIO::write_vdata_palgrid(para_grid, + pelec->pot->get_eff_v(is), + is, + nspin, + istep_in, + fn, + 0.0, // efermi + &(ucell), + 3, // precision + 0); // out_fermi + } + } + else if (PARAM.inp.out_pot == 2) + { + std::string fn = PARAM.globalv.global_out_dir + "potes"; + fn += geom_block + ".cube"; + + ModuleIO::write_elecstat_pot( #ifdef __MPI - this->pw_big->bz, - this->pw_big->nbz, + pw_big->bz, + pw_big->nbz, #endif - fn, - istep, - this->pw_rhod, - &this->chr, - &(ucell), - this->pelec->pot->get_fixed_v(), - this->solvent); - } - - - // 3) write ELF - if (PARAM.inp.out_elf[0] > 0) - { - this->chr.cal_elf = true; - Symmetry_rho srho; - for (int is = 0; is < PARAM.inp.nspin; is++) - { - srho.begin(is, this->chr, this->pw_rhod, ucell.symm); - } - - std::string out_dir =PARAM.globalv.global_out_dir; - ModuleIO::write_elf( + fn, + istep, + pw_rhod, + &chr, + &(ucell), + pelec->pot->get_fixed_v(), + solvent); + } + + // 6) write ELF + if (PARAM.inp.out_elf[0] > 0) + { + chr.cal_elf = true; + Symmetry_rho srho; + for (int is = 0; is < nspin; is++) + { + srho.begin(is, chr, pw_rhod, ucell.symm); + } + + std::string out_dir = PARAM.globalv.global_out_dir; + ModuleIO::write_elf( #ifdef __MPI - this->pw_big->bz, - this->pw_big->nbz, + pw_big->bz, + pw_big->nbz, +#endif + out_dir, + istep, + nspin, + chr.rho, + chr.kin_r, + pw_rhod, + para_grid, + &(ucell), + PARAM.inp.out_elf[1]); + } + +#ifdef USE_LIBXC + // 7) write xc(r) + if (PARAM.inp.out_xc_r[0] >= 0) + { + ModuleIO::write_libxc_r(PARAM.inp.out_xc_r[0], + XC_Functional::get_func_id(), + pw_rhod->nrxx, // number of real-space grid + ucell.omega, // volume of cell + ucell.tpiba, + chr, + *pw_big, + *pw_rhod); + } #endif - out_dir, - istep, - PARAM.inp.nspin, - this->chr.rho, - this->chr.kin_r, - this->pw_rhod, - this->Pgrid, - &(ucell), - PARAM.inp.out_elf[1]); - } ModuleBase::timer::tick("ModuleIO", "ctrl_output_fp"); } -} // End ModuleIO - - -// For gamma only -template void ModuleIO::ctrl_output_lcao(UnitCell& ucell, - const int istep); - -// For multiple k-points -template void ModuleIO::ctrl_output_lcao, double>(UnitCell& ucell, - const int istep); - -template void ModuleIO::ctrl_output_lcao, std::complex>(UnitCell& ucell, - const int istep); - +} // namespace ModuleIO diff --git a/source/source_io/ctrl_output_fp.h b/source/source_io/ctrl_output_fp.h index 98a4ad1f6d..ec9f4e20e7 100644 --- a/source/source_io/ctrl_output_fp.h +++ b/source/source_io/ctrl_output_fp.h @@ -1,11 +1,19 @@ -#ifndef CTRL_OUTPUT_FP_H -#define CTRL_OUTPUT_FP_H +#ifndef CTRL_OUTPUT_FP_H +#define CTRL_OUTPUT_FP_H + +#include "source_estate/elecstate_lcao.h" namespace ModuleIO { - template - void ctrl_output_fp(UnitCell& ucell, - elecstate::ElecStateLCAO* pelec, - const int istep); + +void ctrl_output_fp(UnitCell& ucell, + elecstate::ElecState* pelec, + ModulePW::PW_Basis_Big* pw_big, + ModulePW::PW_Basis* pw_rhod, + Charge& chr, + surchem& solvent, + Parallel_Grid& para_grid, + const int istep); + } #endif diff --git a/source/source_io/ctrl_output_lcao.cpp b/source/source_io/ctrl_output_lcao.cpp deleted file mode 100644 index 6a334aa015..0000000000 --- a/source/source_io/ctrl_output_lcao.cpp +++ /dev/null @@ -1,514 +0,0 @@ -#include - -#include "source_estate/elecstate_lcao.h" // use elecstate::ElecState -#include "source_io/ctrl_output_lcao.h" // use ctrl_output_lcao() -#include "source_lcao/hamilt_lcao.h" // use hamilt::HamiltLCAO -#include "source_hamilt/hamilt.h" // use Hamilt - -// functions -#include "source_io/write_dos_lcao.h" // use ModuleIO::write_dos_lcao() -#include "source_io/write_dmr.h" // use ModuleIO::write_dmr() -#include "source_io/io_dmk.h" // use ModuleIO::write_dmk() -#include "source_io/write_HS.h" // use ModuleIO::write_hsk() -#include "source_io/write_wfc_nao.h" // use ModuleIO::write_wfc_nao() -#include "source_io/output_mat_sparse.h" // use ModuleIO::output_mat_sparse() -#include "source_io/output_mulliken.h" // use cal_mag() -#include "source_lcao/module_operator_lcao/ekinetic_new.h" // use hamilt::EkineticNew -#include "source_io/cal_pLpR.h" // use AngularMomentumCalculator() -#include "source_lcao/module_deltaspin/spin_constrain.h" // use spinconstrain::SpinConstrain -#include "source_io/berryphase.h" // use berryphase -#include "source_io/to_wannier90_lcao.h" // use toWannier90_LCAO -#include "source_io/to_wannier90_lcao_in_pw.h" // use toWannier90_LCAO_IN_PW -#ifdef __MLALGO -#include "source_lcao/module_deepks/LCAO_deepks.h" -#include "source_lcao/module_deepks/LCAO_deepks_interface.h" -#endif -#ifdef __EXX -#include "source_lcao/module_ri/Exx_LRI_interface.h" // use EXX codes -#include "source_lcao/module_ri/RPA_LRI.h" // use RPA code -#endif -#include "source_lcao/module_rdmft/rdmft.h" // use RDMFT codes -#include "source_io/to_qo.h" // use toQO - -namespace ModuleIO -{ - -template -void ctrl_output_lcao(UnitCell& ucell, - K_Vectors& kv, - elecstate::ElecStateLCAO* pelec, - Parallel_Orbitals& pv, - Grid_Driver& gd, - psi::Psi* psi, - hamilt::HamiltLCAO* p_hamilt, - TwoCenterBundle &two_center_bundle, - Gint_k &gk, - LCAO_Orbitals &orb, - const ModulePW::PW_Basis_K* pw_wfc, // for berryphase - const ModulePW::PW_Basis* pw_rho, // for berryphase - Grid_Technique >, // for berryphase - const ModulePW::PW_Basis_Big* pw_big, // for Wannier90 - const Structure_Factor& sf, // for Wannier90 - rdmft::RDMFT &rdmft_solver, // for RDMFT -#ifdef __MLALGO - LCAO_Deepks& ld, -#endif -#ifdef __EXX - Exx_LRI_Interface& exd, - Exx_LRI_Interface>& exc, -#endif - const int istep) -{ - ModuleBase::TITLE("ModuleIO", "ctrl_output_lcao"); - ModuleBase::timer::tick("ModuleIO", "ctrl_output_lcao"); - - const bool out_app_flag = PARAM.inp.out_app_flag; - const bool gamma_only = PARAM.globalv.gamma_only_local; - const int nspin = PARAM.inp.nspin; - const std::string global_out_dir = PARAM.globalv.global_out_dir; - - //------------------------------------------------------------------ - // print out density of states (DOS) - //------------------------------------------------------------------ - if (PARAM.inp.out_dos) - { - ModuleIO::write_dos_lcao(psi, - p_hamilt, - pv, - ucell, - kv, - PARAM.inp.nbands, - pelec->eferm, - pelec->ekb, - pelec->wg, - PARAM.inp.dos_edelta_ev, - PARAM.inp.dos_scale, - PARAM.inp.dos_sigma, - out_app_flag, - istep, - GlobalV::ofs_running); - } - - //------------------------------------------------------------------ - //! 1) Output density matrix DM(R) - //------------------------------------------------------------------ - if(PARAM.inp.out_dmr) - { - const auto& dmr_vector = pelec->get_DM()->get_DMR_vector(); - ModuleIO::write_dmr(dmr_vector, pv, out_app_flag, - ucell.get_iat2iwt(), ucell.nat, istep); - } - - //------------------------------------------------------------------ - //! 2) Output density matrix DM(k) - //------------------------------------------------------------------ - if (PARAM.inp.out_dmk) - { - std::vector efermis(nspin == 2 ? 2 : 1); - for (int ispin = 0; ispin < efermis.size(); ispin++) - { - efermis[ispin] = pelec->eferm.get_efval(ispin); - } - const int precision = 3; - ModuleIO::write_dmk(pelec->get_DM()->get_DMK_vector(), - precision, efermis, &(ucell), pv); - } - - //------------------------------------------------------------------ - // 3) Output H(k) and S(k) matrices for each k-point - //------------------------------------------------------------------ - if (PARAM.inp.out_mat_hs[0]) - { - ModuleIO::write_hsk(global_out_dir, - nspin, - kv.get_nks(), - kv.get_nkstot(), - kv.ik2iktot, - kv.isk, - p_hamilt, - pv, - gamma_only, - out_app_flag, - istep, - GlobalV::ofs_running); - } - - //------------------------------------------------------------------ - // 4) Output electronic wavefunctions Psi(k) - //------------------------------------------------------------------ - if (elecstate::ElecStateLCAO::out_wfc_lcao) - { - ModuleIO::write_wfc_nao(elecstate::ElecStateLCAO::out_wfc_lcao, - out_app_flag, - psi[0], - pelec->ekb, - pelec->wg, - kv.kvec_c, - kv.ik2iktot, - kv.get_nkstot(), - pv, - nspin, - istep); - } - - //------------------------------------------------------------------ - //! 5) Output DeePKS information - //------------------------------------------------------------------ -#ifdef __MLALGO - // need control parameter - hamilt::HamiltLCAO* p_ham_deepks = p_hamilt; - std::shared_ptr> ld_shared_ptr(&ld, [](LCAO_Deepks*) {}); - LCAO_Deepks_Interface deepks_interface(ld_shared_ptr); - - deepks_interface.out_deepks_labels(pelec->f_en.etot, - kv.get_nks(), - ucell.nat, - PARAM.globalv.nlocal, - pelec->ekb, - kv.kvec_d, - ucell, - orb, - gd, - &pv, - *psi, - pelec->get_DM(), - p_ham_deepks, - -1, // -1 when called in after scf - true, // no used when after scf - GlobalV::MY_RANK, - GlobalV::ofs_running); -#endif - - //------------------------------------------------------------------ - //! 6) Output matrices, where O can be chosen as - //! H, S, dH, dS, T, r. The format is CSR format. - //------------------------------------------------------------------ - hamilt::Hamilt* p_ham_tk = static_cast*>(p_hamilt); - - ModuleIO::output_mat_sparse(PARAM.inp.out_mat_hs2, - PARAM.inp.out_mat_dh, - PARAM.inp.out_mat_ds, - PARAM.inp.out_mat_t, - PARAM.inp.out_mat_r, - istep, - pelec->pot->get_effective_v(), - pv, - gk, - two_center_bundle, - orb, - ucell, - gd, - kv, - p_ham_tk); - - //------------------------------------------------------------------ - //! 7) Output kinetic matrix - //------------------------------------------------------------------ - if (PARAM.inp.out_mat_tk[0]) - { - hamilt::HS_Matrix_K hsk(&pv, true); - hamilt::HContainer hR(&pv); - hamilt::Operator* ekinetic - = new hamilt::EkineticNew>(&hsk, - kv.kvec_d, - &hR, - &ucell, - orb.cutoffs(), - &gd, - two_center_bundle.kinetic_orb.get()); - - const int nspin_k = (nspin == 2 ? 2 : 1); - for (int ik = 0; ik < kv.get_nks() / nspin_k; ++ik) - { - ekinetic->init(ik); - - const int out_label = 1; // 1: .txt, 2: .dat - - std::string t_fn = ModuleIO::filename_output(global_out_dir, - "tk","nao",ik,kv.ik2iktot, - PARAM.inp.nspin,kv.get_nkstot(), - out_label,out_app_flag, - gamma_only,istep); - - ModuleIO::save_mat(istep, - hsk.get_hk(), - PARAM.globalv.nlocal, - false, // bit - PARAM.inp.out_mat_tk[1], - 1, // true for upper triangle matrix - PARAM.inp.out_app_flag, - t_fn, - pv, - GlobalV::DRANK); - } - - delete ekinetic; - } - - //------------------------------------------------------------------ - //! 8) Output expectation of angular momentum operator - //------------------------------------------------------------------ - if (PARAM.inp.out_mat_l[0]) - { - ModuleIO::AngularMomentumCalculator mylcalculator( - PARAM.inp.orbital_dir, - ucell, - PARAM.inp.search_radius, - PARAM.inp.test_deconstructor, - PARAM.inp.test_grid, - PARAM.inp.test_atom_input, - PARAM.globalv.search_pbc, - &GlobalV::ofs_running, - GlobalV::MY_RANK - ); - mylcalculator.calculate(PARAM.inp.suffix, - global_out_dir, - ucell, - PARAM.inp.out_mat_l[1], - GlobalV::MY_RANK); - } - - //------------------------------------------------------------------ - //! 9) Output Mulliken charge - //------------------------------------------------------------------ - if (PARAM.inp.out_mul) - { - ModuleIO::cal_mag(&pv, - p_hamilt, - kv, - pelec, - two_center_bundle, - orb, - ucell, - gd, - istep, - true); - } - - //------------------------------------------------------------------ - //! 10) Output atomic magnetization by using 'spin_constraint' - //------------------------------------------------------------------ - if (PARAM.inp.sc_mag_switch) - { - spinconstrain::SpinConstrain& sc = spinconstrain::SpinConstrain::getScInstance(); - sc.cal_mi_lcao(istep); - sc.print_Mi(GlobalV::ofs_running); - sc.print_Mag_Force(GlobalV::ofs_running); - } - - //------------------------------------------------------------------ - //! 11) Output Berry phase - //------------------------------------------------------------------ - if (PARAM.inp.calculation == "nscf" && berryphase::berry_phase_flag && ModuleSymmetry::Symmetry::symm_flag != 1) - { - std::cout << FmtCore::format("\n * * * * * *\n << Start %s.\n", "Berry phase calculation"); - berryphase bp(&pv); - bp.lcao_init(ucell, gd, kv, gt, orb); - // additional step before calling macroscopic_polarization - bp.Macroscopic_polarization(ucell, pw_wfc->npwk_max, psi, pw_rho, pw_wfc, kv); - std::cout << FmtCore::format(" >> Finish %s.\n * * * * * *\n", "Berry phase calculation"); - } - - //------------------------------------------------------------------ - //! 12) Wannier90 interface in LCAO basis - // added by jingan in 2018.11.7 - //------------------------------------------------------------------ - if (PARAM.inp.calculation == "nscf" && PARAM.inp.towannier90) - { - std::cout << FmtCore::format("\n * * * * * *\n << Start %s.\n", "Wave function to Wannier90"); - if (PARAM.inp.wannier_method == 1) - { - toWannier90_LCAO_IN_PW wan(PARAM.inp.out_wannier_mmn, - PARAM.inp.out_wannier_amn, - PARAM.inp.out_wannier_unk, - PARAM.inp.out_wannier_eig, - PARAM.inp.out_wannier_wvfn_formatted, - PARAM.inp.nnkpfile, - PARAM.inp.wannier_spin); - wan.set_tpiba_omega(ucell.tpiba, ucell.omega); - wan.calculate(ucell,pelec->ekb,pw_wfc,pw_big, - sf,kv,psi,&pv); - } - else if (PARAM.inp.wannier_method == 2) - { - toWannier90_LCAO wan(PARAM.inp.out_wannier_mmn, - PARAM.inp.out_wannier_amn, - PARAM.inp.out_wannier_unk, - PARAM.inp.out_wannier_eig, - PARAM.inp.out_wannier_wvfn_formatted, - PARAM.inp.nnkpfile, - PARAM.inp.wannier_spin, - orb); - - wan.calculate(ucell, gd, pelec->ekb, kv, *psi, &pv); - } - std::cout << FmtCore::format(" >> Finish %s.\n * * * * * *\n", "Wave function to Wannier90"); - } - - -#ifdef __EXX - //------------------------------------------------------------------ - //! 13) Output Hexx matrix in LCAO basis - // (see `out_chg` in docs/advanced/input_files/input-main.md) - //------------------------------------------------------------------ - if (PARAM.inp.out_chg[0]) - { - if (GlobalC::exx_info.info_global.cal_exx && PARAM.inp.calculation != "nscf") // Peize Lin add if 2022.11.14 - { - const std::string file_name_exx = global_out_dir - + "HexxR" + std::to_string(GlobalV::MY_RANK); - if (GlobalC::exx_info.info_ri.real_number) - { - ModuleIO::write_Hexxs_csr(file_name_exx, ucell, exd.get_Hexxs()); - } - else - { - ModuleIO::write_Hexxs_csr(file_name_exx, ucell, exc.get_Hexxs()); - } - } - } - - //------------------------------------------------------------------ - //! 14) Write RPA information in LCAO basis - //------------------------------------------------------------------ - if (PARAM.inp.rpa) - { - RPA_LRI rpa_lri_double(GlobalC::exx_info.info_ri); - rpa_lri_double.cal_postSCF_exx(*dynamic_cast*>(pelec)->get_DM(), - MPI_COMM_WORLD, - ucell, - kv, - orb); - rpa_lri_double.init(MPI_COMM_WORLD, kv, orb.cutoffs()); - rpa_lri_double.out_for_RPA(ucell, pv, *psi, pelec); - } -#endif - - //------------------------------------------------------------------ - //! 18) Perform RDMFT calculations, added by jghan, 2024-10-17 - //------------------------------------------------------------------ - if (PARAM.inp.rdmft == true) - { - ModuleBase::matrix occ_num(pelec->wg); - for (int ik = 0; ik < occ_num.nr; ++ik) - { - for (int inb = 0; inb < occ_num.nc; ++inb) - { - occ_num(ik, inb) /= kv.wk[ik]; - } - } - rdmft_solver.update_elec(ucell, occ_num, *psi); - - //! initialize the gradients of Etotal with respect to occupation numbers and wfc, - //! and set all elements to 0. - //! dedocc = d E/d Occ_Num - ModuleBase::matrix dedocc(pelec->wg.nr, pelec->wg.nc, true); - - //! dedwfc = d E/d wfc - psi::Psi dedwfc(psi->get_nk(), psi->get_nbands(), psi->get_nbasis(), kv.ngk, true); - dedwfc.zero_out(); - - double etot_rdmft = rdmft_solver.run(dedocc, dedwfc); - } - - //------------------------------------------------------------------ - //! Output quasi orbitals - //------------------------------------------------------------------ - if (PARAM.inp.qo_switch) - { - toQO tqo(PARAM.inp.qo_basis, PARAM.inp.qo_strategy, PARAM.inp.qo_thr, PARAM.inp.qo_screening_coeff); - tqo.initialize(global_out_dir, - PARAM.inp.pseudo_dir, - PARAM.inp.orbital_dir, - &ucell, - kv.kvec_d, - GlobalV::ofs_running, - GlobalV::MY_RANK, - GlobalV::NPROC); - tqo.calculate(); - } - - - ModuleBase::timer::tick("ModuleIO", "ctrl_output_lcao"); -} - -} // End ModuleIO - - -// For gamma only -template void ModuleIO::ctrl_output_lcao(UnitCell& ucell, - K_Vectors& kv, - elecstate::ElecStateLCAO* pelec, - Parallel_Orbitals& pv, - Grid_Driver& gd, - psi::Psi* psi, - hamilt::HamiltLCAO* p_hamilt, - TwoCenterBundle &two_center_bundle, - Gint_k &gk, - LCAO_Orbitals &orb, - const ModulePW::PW_Basis_K* pw_wfc, // for berryphase - const ModulePW::PW_Basis* pw_rho, // for berryphase - Grid_Technique >, // for berryphase - const ModulePW::PW_Basis_Big* pw_big, // for Wannier90 - const Structure_Factor& sf, // for Wannier90 - rdmft::RDMFT &rdmft_solver, // for RDMFT -#ifdef __MLALGO - LCAO_Deepks& ld, -#endif -#ifdef __EXX - Exx_LRI_Interface& exd, - Exx_LRI_Interface>& exc, -#endif - const int istep); - -// For multiple k-points -template void ModuleIO::ctrl_output_lcao, double>(UnitCell& ucell, - K_Vectors& kv, - elecstate::ElecStateLCAO>* pelec, - Parallel_Orbitals& pv, - Grid_Driver& gd, - psi::Psi>* psi, - hamilt::HamiltLCAO, double>* p_hamilt, - TwoCenterBundle &two_center_bundle, - Gint_k &gk, - LCAO_Orbitals &orb, - const ModulePW::PW_Basis_K* pw_wfc, // for berryphase - const ModulePW::PW_Basis* pw_rho, // for berryphase - Grid_Technique >, // for berryphase - const ModulePW::PW_Basis_Big* pw_big, // for Wannier90 - const Structure_Factor& sf, // for Wannier90 - rdmft::RDMFT, double> &rdmft_solver, // for RDMFT -#ifdef __MLALGO - LCAO_Deepks>& ld, -#endif -#ifdef __EXX - Exx_LRI_Interface, double>& exd, - Exx_LRI_Interface, std::complex>& exc, -#endif - const int istep); - -template void ModuleIO::ctrl_output_lcao, std::complex>(UnitCell& ucell, - K_Vectors& kv, - elecstate::ElecStateLCAO>* pelec, - Parallel_Orbitals& pv, - Grid_Driver& gd, - psi::Psi>* psi, - hamilt::HamiltLCAO, std::complex>* p_hamilt, - TwoCenterBundle &two_center_bundle, - Gint_k &gk, - LCAO_Orbitals &orb, - const ModulePW::PW_Basis_K* pw_wfc, // for berryphase - const ModulePW::PW_Basis* pw_rho, // for berryphase - Grid_Technique >, // for berryphase - const ModulePW::PW_Basis_Big* pw_big, // for Wannier90 - const Structure_Factor& sf, // for Wannier90 - rdmft::RDMFT, std::complex> &rdmft_solver, // for RDMFT -#ifdef __MLALGO - LCAO_Deepks>& ld, -#endif -#ifdef __EXX - Exx_LRI_Interface, double>& exd, - Exx_LRI_Interface, std::complex>& exc, -#endif - const int istep); - diff --git a/source/source_io/ctrl_output_lcao.h b/source/source_io/ctrl_output_lcao.h deleted file mode 100644 index d783eb0b3f..0000000000 --- a/source/source_io/ctrl_output_lcao.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef CTRL_OUTPUT_LCAO_H -#define CTRL_OUTPUT_LCAO_H - -#include - -#include "source_cell/unitcell.h" // use UnitCell -#include "source_cell/klist.h" // use K_Vectors -#include "source_estate/elecstate_lcao.h" // use elecstate::ElecStateLCAO -#include "source_psi/psi.h" // use Psi -#include "source_lcao/hamilt_lcao.h" // use hamilt::HamiltLCAO -#include "source_basis/module_nao/two_center_bundle.h" // use TwoCenterBundle -#include "source_lcao/module_gint/gint_k.h" // use Gint_k -#include "source_basis/module_pw/pw_basis_k.h" // use ModulePW::PW_Basis_K and ModulePW::PW_Basis -#include "source_pw/module_pwdft/structure_factor.h" // use Structure_Factor -#include "source_lcao/module_rdmft/rdmft.h" // use RDMFT codes -#ifdef __EXX -#include "source_lcao/module_ri/Exx_LRI_interface.h" // use EXX codes -#endif - -namespace ModuleIO -{ - // in principle, we need to add const for all of the variables, mohan note 2025-06-05 - template - void ctrl_output_lcao(UnitCell& ucell, - K_Vectors& kv, - elecstate::ElecStateLCAO* pelec, - Parallel_Orbitals& pv, - Grid_Driver& gd, - psi::Psi* psi, - hamilt::HamiltLCAO* p_hamilt, - TwoCenterBundle &two_center_bundle, - Gint_k &gk, - LCAO_Orbitals &orb, - const ModulePW::PW_Basis_K* pw_wfc, // for berryphase - const ModulePW::PW_Basis* pw_rho, // for berryphase - Grid_Technique >, // for berryphase - const ModulePW::PW_Basis_Big* pw_big, // for Wannier90 - const Structure_Factor& sf, // for Wannier90 - rdmft::RDMFT &rdmft_solver, // for RDMFT -#ifdef __MLALGO - LCAO_Deepks& ld, -#endif -#ifdef __EXX - Exx_LRI_Interface& exd, - Exx_LRI_Interface>& exc, -#endif - const int istep); -} -#endif diff --git a/source/source_io/ctrl_output_pw.cpp b/source/source_io/ctrl_output_pw.cpp new file mode 100644 index 0000000000..decd1f680a --- /dev/null +++ b/source/source_io/ctrl_output_pw.cpp @@ -0,0 +1,514 @@ +#include "source_io/ctrl_output_pw.h" + +#include "source_io/write_wfc_pw.h" // use write_wfc_pw +#include "source_io/write_dos_pw.h" // use write_dos_pw +#include "source_io/to_wannier90_pw.h" // wannier90 interface +#include "source_pw/module_pwdft/onsite_projector.h" // use projector +#include "source_io/numerical_basis.h" +#include "source_io/numerical_descriptor.h" +#include "source_io/cal_ldos.h" +#include "source_io/berryphase.h" +#include "source_lcao/module_deltaspin/spin_constrain.h" +#include "source_base/formatter.h" +#include "source_io/get_pchg_pw.h" +#include "source_io/get_wf_pw.h" +#include "source_pw/module_pwdft/elecond.h" + +#ifdef __MLALGO +#include "source_io/write_mlkedf_descriptors.h" +#endif + +void ModuleIO::ctrl_iter_pw(const int istep, + const int iter, + const double &conv_esolver, + psi::Psi, base_device::DEVICE_CPU>* psi, + const K_Vectors &kv, + const ModulePW::PW_Basis_K *pw_wfc, + const Input_para& inp) +{ + ModuleBase::TITLE("ModuleIO", "ctrl_iter_pw"); + ModuleBase::timer::tick("ModuleIO", "ctrl_iter_pw"); + //---------------------------------------------------------- + // 3) Print out electronic wavefunctions in pw basis + // we only print information every few ionic steps + //---------------------------------------------------------- + + // if istep_in = -1, istep will not appear in file name + // if iter_in = -1, iter will not appear in file name + int istep_in = -1; + int iter_in = -1; + bool out_wfc_flag = false; + if (inp.out_freq_ion>0) // default value of out_freq_ion is 0 + { + if (istep % inp.out_freq_ion == 0) + { + if(iter % inp.out_freq_elec == 0 || iter == inp.scf_nmax || conv_esolver) + { + istep_in = istep; + iter_in = iter; + out_wfc_flag = true; + } + } + } + else if(iter == inp.scf_nmax || conv_esolver) + { + out_wfc_flag = true; + } + + if (out_wfc_flag) + { + ModuleIO::write_wfc_pw(istep_in, iter_in, + GlobalV::KPAR, + GlobalV::MY_POOL, + GlobalV::MY_RANK, + inp.nbands, + inp.nspin, + PARAM.globalv.npol, + GlobalV::RANK_IN_POOL, + GlobalV::NPROC_IN_POOL, + inp.out_wfc_pw, + inp.ecutwfc, + PARAM.globalv.global_out_dir, + psi[0], + kv, + pw_wfc, + GlobalV::ofs_running); + } + + ModuleBase::timer::tick("ModuleIO", "ctrl_iter_pw"); + return; +} + + +template +void ModuleIO::ctrl_scf_pw(const int istep, + UnitCell& ucell, + elecstate::ElecState* pelec, + const Charge &chr, + const K_Vectors &kv, + const ModulePW::PW_Basis_K *pw_wfc, + const ModulePW::PW_Basis *pw_rho, + const ModulePW::PW_Basis *pw_rhod, + const ModulePW::PW_Basis_Big *pw_big, + Setup_Psi_pw &stp, + const Device* ctx, + const base_device::AbacusDevice_t &device, + const Parallel_Grid ¶_grid, + const Input_para& inp) +{ + ModuleBase::TITLE("ModuleIO", "ctrl_scf_pw"); + ModuleBase::timer::tick("ModuleIO", "ctrl_scf_pw"); + + // Transfer data from device (GPU) to host (CPU) in pw basis + stp.copy_d2h(device); + + //---------------------------------------------------------- + //! 4) Compute density of states (DOS) + //---------------------------------------------------------- + if (inp.out_dos) + { + bool out_dos_tmp = false; + + int istep_in = -1; + + // default value of out_freq_ion is 0 + if(inp.out_freq_ion==0) + { + out_dos_tmp = true; + } + else if (inp.out_freq_ion>0) + { + if (istep % inp.out_freq_ion == 0) + { + out_dos_tmp = true; + istep_in=istep; + } + else + { + out_dos_tmp = false; + } + } + else + { + out_dos_tmp = false; + } + + // the above is only valid for KSDFT, not SDFT + // Needs update in the near future + if (inp.esolver_type == "sdft") + { + out_dos_tmp = false; + } + + if(out_dos_tmp) + { + ModuleIO::write_dos_pw(ucell, + pelec->ekb, + pelec->wg, + kv, + inp.nbands, + istep_in, + pelec->eferm, + inp.dos_edelta_ev, + inp.dos_scale, + inp.dos_sigma, + GlobalV::ofs_running); + } + } + + + //------------------------------------------------------------------ + // 5) calculate band-decomposed (partial) charge density in pw basis + //------------------------------------------------------------------ + if (inp.out_pchg.size() > 0) + { + // update psi_d + stp.update_psi_d(); + + const int nbands = stp.psi_t->get_nbands(); + const int ngmc = chr.ngmc; + + ModuleIO::get_pchg_pw(inp.out_pchg, + nbands, + inp.nspin, + pw_rhod->nxyz, + ngmc, + &ucell, + stp.psi_d, + pw_rhod, + pw_wfc, + ctx, + para_grid, + PARAM.globalv.global_out_dir, + inp.if_separate_k, + kv, + GlobalV::KPAR, + GlobalV::MY_POOL, + &chr); + } + + + //------------------------------------------------------------------ + //! 6) calculate Wannier functions in pw basis + //------------------------------------------------------------------ + if (inp.calculation == "nscf" && inp.towannier90) + { + std::cout << FmtCore::format("\n * * * * * *\n << Start %s.\n", "Wannier functions calculation"); + toWannier90_PW wan(inp.out_wannier_mmn, + inp.out_wannier_amn, + inp.out_wannier_unk, + inp.out_wannier_eig, + inp.out_wannier_wvfn_formatted, + inp.nnkpfile, + inp.wannier_spin); + wan.set_tpiba_omega(ucell.tpiba, ucell.omega); + wan.calculate(ucell, pelec->ekb, pw_wfc, pw_big, kv, stp.psi_cpu); + std::cout << FmtCore::format(" >> Finish %s.\n * * * * * *\n", "Wannier functions calculation"); + } + + + //------------------------------------------------------------------ + //! 7) calculate Berry phase polarization in pw basis + //------------------------------------------------------------------ + if (inp.calculation == "nscf" && berryphase::berry_phase_flag && ModuleSymmetry::Symmetry::symm_flag != 1) + { + std::cout << FmtCore::format("\n * * * * * *\n << Start %s.\n", "Berry phase polarization"); + berryphase bp; + bp.Macroscopic_polarization(ucell, pw_wfc->npwk_max, stp.psi_cpu, pw_rho, pw_wfc, kv); + std::cout << FmtCore::format(" >> Finish %s.\n * * * * * *\n", "Berry phase polarization"); + } + + //------------------------------------------------------------------ + // 8) write spin constrian results in pw basis + // spin constrain calculations, write atomic magnetization and magnetic force. + //------------------------------------------------------------------ + if (inp.sc_mag_switch) + { + spinconstrain::SpinConstrain>& sc + = spinconstrain::SpinConstrain>::getScInstance(); + sc.cal_mi_pw(); + sc.print_Mag_Force(GlobalV::ofs_running); + } + + //------------------------------------------------------------------ + // 9) write onsite occupations for charge and magnetizations + //------------------------------------------------------------------ + if (inp.onsite_radius > 0) + { // float type has not been implemented + auto* onsite_p = projectors::OnsiteProjector::get_instance(); + onsite_p->cal_occupations(reinterpret_cast, Device>*>(stp.psi_t), + pelec->wg); + } + + ModuleBase::timer::tick("ModuleIO", "ctrl_scf_pw"); + return; +} + +template +void ModuleIO::ctrl_runner_pw(UnitCell& ucell, + elecstate::ElecState* pelec, + ModulePW::PW_Basis_K* pw_wfc, + ModulePW::PW_Basis* pw_rho, + ModulePW::PW_Basis* pw_rhod, + Charge &chr, + K_Vectors &kv, + Setup_Psi_pw &stp, + Structure_Factor &sf, + pseudopot_cell_vnl &ppcell, + surchem &solvent, + const Device* ctx, + Parallel_Grid ¶_grid, + const Input_para& inp) +{ + ModuleBase::TITLE("ModuleIO", "ctrl_runner_pw"); + ModuleBase::timer::tick("ModuleIO", "ctrl_runner_pw"); + + //---------------------------------------------------------- + //! 1) Compute LDOS + //---------------------------------------------------------- + if (inp.out_ldos[0]) + { + ModuleIO::cal_ldos_pw(reinterpret_cast>*>(pelec), + stp.psi_cpu[0], para_grid, ucell); + } + + //---------------------------------------------------------- + //! 2) Calculate the spillage value, + //! which are used to generate numerical atomic orbitals + //---------------------------------------------------------- + if (inp.basis_type == "pw" && inp.out_spillage) + { + // ! Print out overlap matrices + if (inp.out_spillage <= 2) + { + for (int i = 0; i < inp.bessel_nao_rcuts.size(); i++) + { + if (GlobalV::MY_RANK == 0) + { + std::cout << "update value: bessel_nao_rcut <- " << std::fixed << inp.bessel_nao_rcuts[i] + << " a.u." << std::endl; + } + Numerical_Basis numerical_basis; + numerical_basis.output_overlap(stp.psi_cpu[0], sf, kv, pw_wfc, ucell, i); + } + ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "BASIS OVERLAP (Q and S) GENERATION."); + } + } + + //---------------------------------------------------------- + //! 3) Print out electronic wave functions in real space + //---------------------------------------------------------- + if (inp.out_wfc_norm.size() > 0 || inp.out_wfc_re_im.size() > 0) + { + stp.update_psi_d(); + + ModuleIO::get_wf_pw(inp.out_wfc_norm, + inp.out_wfc_re_im, + stp.psi_t->get_nbands(), + inp.nspin, + pw_rhod->nxyz, + &ucell, + stp.psi_d, + pw_wfc, + ctx, + para_grid, + PARAM.globalv.global_out_dir, + kv, + GlobalV::KPAR, + GlobalV::MY_POOL); + } + + //---------------------------------------------------------- + //! 4) Use Kubo-Greenwood method to compute conductivities + //---------------------------------------------------------- + if (inp.cal_cond) + { + using Real = typename GetTypeReal::type; + EleCond elec_cond(&ucell, &kv, pelec, pw_wfc, stp.psi_t, &ppcell); + elec_cond.KG(inp.cond_smear, + inp.cond_fwhm, + inp.cond_wcut, + inp.cond_dw, + inp.cond_dt, + inp.cond_nonlocal, + pelec->wg); + } + +#ifdef __MLALGO + //---------------------------------------------------------- + //! 7) generate training data for ML-KEDF + //---------------------------------------------------------- + if (inp.of_ml_gene_data == 1) + { + pelec->pot->update_from_charge(&chr, &ucell); + + ModuleIO::Write_MLKEDF_Descriptors write_mlkedf_desc; + write_mlkedf_desc.cal_tool->set_para(chr.nrxx, + inp.nelec, + inp.of_tf_weight, + inp.of_vw_weight, + inp.of_ml_chi_p, + inp.of_ml_chi_q, + inp.of_ml_chi_xi, + inp.of_ml_chi_pnl, + inp.of_ml_chi_qnl, + inp.of_ml_nkernel, + inp.of_ml_kernel, + inp.of_ml_kernel_scaling, + inp.of_ml_yukawa_alpha, + inp.of_ml_kernel_file, + ucell.omega, + pw_rho); + + write_mlkedf_desc.generateTrainData_KS(PARAM.globalv.global_mlkedf_descriptor_dir, + stp.psi_t, + pelec, + pw_wfc, + pw_rho, + ucell, + pelec->pot->get_eff_v(0)); + } +#endif + + ModuleBase::timer::tick("ModuleIO", "ctrl_runner_pw"); +} + +// complex + CPU +template void ModuleIO::ctrl_scf_pw, base_device::DEVICE_CPU>( + const int nstep, + UnitCell& ucell, + elecstate::ElecState* pelec, + const Charge &chr, + const K_Vectors &kv, + const ModulePW::PW_Basis_K *pw_wfc, + const ModulePW::PW_Basis *pw_rho, + const ModulePW::PW_Basis *pw_rhod, + const ModulePW::PW_Basis_Big *pw_big, + Setup_Psi_pw, base_device::DEVICE_CPU> &stp, + const base_device::DEVICE_CPU* ctx, + const base_device::AbacusDevice_t &device, + const Parallel_Grid ¶_grid, + const Input_para& inp); + +// complex + CPU +template void ModuleIO::ctrl_scf_pw, base_device::DEVICE_CPU>( + const int nstep, + UnitCell& ucell, + elecstate::ElecState* pelec, + const Charge &chr, + const K_Vectors &kv, + const ModulePW::PW_Basis_K *pw_wfc, + const ModulePW::PW_Basis *pw_rho, + const ModulePW::PW_Basis *pw_rhod, + const ModulePW::PW_Basis_Big *pw_big, + Setup_Psi_pw, base_device::DEVICE_CPU> &stp, + const base_device::DEVICE_CPU* ctx, + const base_device::AbacusDevice_t &device, + const Parallel_Grid ¶_grid, + const Input_para& inp); + +#if ((defined __CUDA) || (defined __ROCM)) +// complex + GPU +template void ModuleIO::ctrl_scf_pw, base_device::DEVICE_GPU>( + const int nstep, + UnitCell& ucell, + elecstate::ElecState* pelec, + const Charge &chr, + const K_Vectors &kv, + const ModulePW::PW_Basis_K *pw_wfc, + const ModulePW::PW_Basis *pw_rho, + const ModulePW::PW_Basis *pw_rhod, + const ModulePW::PW_Basis_Big *pw_big, + Setup_Psi_pw, base_device::DEVICE_GPU> &stp, + const base_device::DEVICE_GPU* ctx, + const base_device::AbacusDevice_t &device, + const Parallel_Grid ¶_grid, + const Input_para& inp); + +// complex + GPU +template void ModuleIO::ctrl_scf_pw, base_device::DEVICE_GPU>( + const int nstep, + UnitCell& ucell, + elecstate::ElecState* pelec, + const Charge &chr, + const K_Vectors &kv, + const ModulePW::PW_Basis_K *pw_wfc, + const ModulePW::PW_Basis *pw_rho, + const ModulePW::PW_Basis *pw_rhod, + const ModulePW::PW_Basis_Big *pw_big, + Setup_Psi_pw, base_device::DEVICE_GPU> &stp, + const base_device::DEVICE_GPU* ctx, + const base_device::AbacusDevice_t &device, + const Parallel_Grid ¶_grid, + const Input_para& inp); +#endif + +// complex + CPU +template void ModuleIO::ctrl_runner_pw, base_device::DEVICE_CPU>( + UnitCell& ucell, + elecstate::ElecState* pelec, + ModulePW::PW_Basis_K* pw_wfc, + ModulePW::PW_Basis* pw_rho, + ModulePW::PW_Basis* pw_rhod, + Charge &chr, + K_Vectors &kv, + Setup_Psi_pw, base_device::DEVICE_CPU> &stp, + Structure_Factor &sf, + pseudopot_cell_vnl &ppcell, + surchem &solvent, + const base_device::DEVICE_CPU* ctx, + Parallel_Grid ¶_grid, + const Input_para& inp); + +// complex + CPU +template void ModuleIO::ctrl_runner_pw, base_device::DEVICE_CPU>( + UnitCell& ucell, + elecstate::ElecState* pelec, + ModulePW::PW_Basis_K* pw_wfc, + ModulePW::PW_Basis* pw_rho, + ModulePW::PW_Basis* pw_rhod, + Charge &chr, + K_Vectors &kv, + Setup_Psi_pw, base_device::DEVICE_CPU> &stp, + Structure_Factor &sf, + pseudopot_cell_vnl &ppcell, + surchem &solvent, + const base_device::DEVICE_CPU* ctx, + Parallel_Grid ¶_grid, + const Input_para& inp); + +#if ((defined __CUDA) || (defined __ROCM)) +// complex + GPU +template void ModuleIO::ctrl_runner_pw, base_device::DEVICE_GPU>( + UnitCell& ucell, + elecstate::ElecState* pelec, + ModulePW::PW_Basis_K* pw_wfc, + ModulePW::PW_Basis* pw_rho, + ModulePW::PW_Basis* pw_rhod, + Charge &chr, + K_Vectors &kv, + Setup_Psi_pw, base_device::DEVICE_GPU> &stp, + Structure_Factor &sf, + pseudopot_cell_vnl &ppcell, + surchem &solvent, + const base_device::DEVICE_GPU* ctx, + Parallel_Grid ¶_grid, + const Input_para& inp); + +// complex + GPU +template void ModuleIO::ctrl_runner_pw, base_device::DEVICE_GPU>( + UnitCell& ucell, + elecstate::ElecState* pelec, + ModulePW::PW_Basis_K* pw_wfc, + ModulePW::PW_Basis* pw_rho, + ModulePW::PW_Basis* pw_rhod, + Charge &chr, + K_Vectors &kv, + Setup_Psi_pw, base_device::DEVICE_GPU> &stp, + Structure_Factor &sf, + pseudopot_cell_vnl &ppcell, + surchem &solvent, + const base_device::DEVICE_GPU* ctx, + Parallel_Grid ¶_grid, + const Input_para& inp); +#endif diff --git a/source/source_io/ctrl_output_pw.h b/source/source_io/ctrl_output_pw.h new file mode 100644 index 0000000000..798629c55e --- /dev/null +++ b/source/source_io/ctrl_output_pw.h @@ -0,0 +1,56 @@ +#ifndef CTRL_OUTPUT_PW_H +#define CTRL_OUTPUT_PW_H + +#include "source_base/module_device/device.h" // use Device +#include "source_psi/psi.h" // define psi +#include "source_estate/elecstate_lcao.h" // use pelec +#include "source_psi/setup_psi_pw.h" // use Setup_Psi class + +namespace ModuleIO +{ + +// print out information in 'iter_finish' in ESolver_KS_PW +void ctrl_iter_pw(const int istep, + const int iter, + const double &conv_esolver, + psi::Psi, base_device::DEVICE_CPU>* psi, + const K_Vectors &kv, + const ModulePW::PW_Basis_K *pw_wfc, + const Input_para& inp); + +// print out information in 'after_scf' in ESolver_KS_PW +template +void ctrl_scf_pw(const int istep, + UnitCell& ucell, + elecstate::ElecState* pelec, + const Charge &chr, + const K_Vectors &kv, + const ModulePW::PW_Basis_K *pw_wfc, + const ModulePW::PW_Basis *pw_rho, + const ModulePW::PW_Basis *pw_rhod, + const ModulePW::PW_Basis_Big *pw_big, + Setup_Psi_pw &stp, + const Device* ctx, + const base_device::AbacusDevice_t &device, // mohan add 2025-10-15 + const Parallel_Grid ¶_grid, + const Input_para& inp); + +// print out information in 'after_all_runners' in ESolver_KS_PW +template +void ctrl_runner_pw(UnitCell& ucell, + elecstate::ElecState* pelec, + ModulePW::PW_Basis_K* pw_wfc, + ModulePW::PW_Basis* pw_rho, + ModulePW::PW_Basis* pw_rhod, + Charge &chr, + K_Vectors &kv, + Setup_Psi_pw &stp, + Structure_Factor &sf, + pseudopot_cell_vnl &ppcell, + surchem &solvent, + const Device* ctx, + Parallel_Grid ¶_grid, + const Input_para& inp); + +} +#endif diff --git a/source/source_io/ctrl_output_td.cpp b/source/source_io/ctrl_output_td.cpp new file mode 100644 index 0000000000..d4b7010627 --- /dev/null +++ b/source/source_io/ctrl_output_td.cpp @@ -0,0 +1,108 @@ +#include "ctrl_output_td.h" + +#include "source_base/parallel_global.h" +#include "source_io/dipole_io.h" +#include "source_io/module_parameter/parameter.h" +#include "source_io/td_current_io.h" + +namespace ModuleIO +{ + +template +void ctrl_output_td(const UnitCell& ucell, + double** rho_save, + const ModulePW::PW_Basis* rhopw, + const int istep, + const psi::Psi>* psi, + const elecstate::ElecState* pelec, + const K_Vectors& kv, + const TwoCenterIntegrator* intor, + const Parallel_Orbitals* pv, + const LCAO_Orbitals& orb, + const Velocity_op* velocity_mat, + Record_adj& RA, + TD_info* td_p) +{ + ModuleBase::TITLE("ModuleIO", "ctrl_output_td"); + +#ifdef __LCAO + // (1) Write dipole information + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + if (PARAM.inp.out_dipole == 1) + { + std::stringstream ss_dipole; + ss_dipole << PARAM.globalv.global_out_dir << "dipole_s" << is + 1 << ".txt"; + ModuleIO::write_dipole(ucell, rho_save[is], rhopw, is, istep, ss_dipole.str()); + } + } + + // (2) Write current information + const elecstate::ElecStateLCAO>* pelec_lcao + = dynamic_cast>*>(pelec); + + if (!pelec_lcao) + { + ModuleBase::WARNING_QUIT("ModuleIO::ctrl_output_td", "Failed to cast ElecState to ElecStateLCAO"); + } + + if (TD_info::out_current) + { + if (TD_info::out_current_k) + { + ModuleIO::write_current_eachk(ucell, istep, psi, pelec, kv, intor, pv, orb, velocity_mat, RA); + } + else + { + ModuleIO::write_current(ucell, istep, psi, pelec, kv, intor, pv, orb, velocity_mat, RA); + } + } + + // (3) Output file for restart + if (PARAM.inp.out_freq_td > 0) // default value of out_freq_td is 0 + { + if (istep % PARAM.inp.out_freq_td == 0) + { + if (td_p != nullptr) + { + td_p->out_restart_info(istep, elecstate::H_TDDFT_pw::At, elecstate::H_TDDFT_pw::At_laststep); + } + else + { + ModuleBase::WARNING_QUIT("ModuleIO::ctrl_output_td", + "TD_info pointer is null, cannot output restart info."); + } + } + } +#endif // __LCAO +} + +template void ctrl_output_td(const UnitCell&, + double**, + const ModulePW::PW_Basis*, + const int, + const psi::Psi>*, + const elecstate::ElecState*, + const K_Vectors&, + const TwoCenterIntegrator*, + const Parallel_Orbitals*, + const LCAO_Orbitals&, + const Velocity_op*, + Record_adj&, + TD_info*); + +template void ctrl_output_td>(const UnitCell&, + double**, + const ModulePW::PW_Basis*, + const int, + const psi::Psi>*, + const elecstate::ElecState*, + const K_Vectors&, + const TwoCenterIntegrator*, + const Parallel_Orbitals*, + const LCAO_Orbitals&, + const Velocity_op>*, + Record_adj&, + TD_info*); + +} // namespace ModuleIO \ No newline at end of file diff --git a/source/source_io/ctrl_output_td.h b/source/source_io/ctrl_output_td.h new file mode 100644 index 0000000000..7f1dac4ed3 --- /dev/null +++ b/source/source_io/ctrl_output_td.h @@ -0,0 +1,35 @@ +#ifndef CTRL_OUTPUT_TD_H +#define CTRL_OUTPUT_TD_H + +#include "source_basis/module_ao/ORB_read.h" +#include "source_basis/module_ao/parallel_orbitals.h" +#include "source_basis/module_nao/two_center_bundle.h" +#include "source_cell/unitcell.h" +#include "source_estate/elecstate_lcao.h" +#include "source_estate/module_pot/H_TDDFT_pw.h" +#include "source_lcao/module_rt/td_info.h" +#include "source_lcao/module_rt/velocity_op.h" +#include "source_lcao/record_adj.h" +#include "source_psi/psi.h" + +namespace ModuleIO +{ + +template +void ctrl_output_td(const UnitCell& ucell, + double** rho_save, + const ModulePW::PW_Basis* rhopw, + const int istep, + const psi::Psi>* psi, + const elecstate::ElecState* pelec, + const K_Vectors& kv, + const TwoCenterIntegrator* intor, + const Parallel_Orbitals* pv, + const LCAO_Orbitals& orb, + const Velocity_op* velocity_mat, + Record_adj& RA, + TD_info* td_p); + +} // namespace ModuleIO + +#endif // CTRL_OUTPUT_TD_H \ No newline at end of file diff --git a/source/source_io/ctrl_runner_lcao.cpp b/source/source_io/ctrl_runner_lcao.cpp new file mode 100644 index 0000000000..dc12ac7d2e --- /dev/null +++ b/source/source_io/ctrl_runner_lcao.cpp @@ -0,0 +1,198 @@ +#include "source_io/ctrl_runner_lcao.h" // use ctrl_runner_lcao() + +#include "source_estate/elecstate_lcao.h" // use elecstate::ElecState +#include "source_lcao/hamilt_lcao.h" // use hamilt::HamiltLCAO + +#include "source_io/write_proj_band_lcao.h" // projcted band structure +#include "source_io/cal_ldos.h" // cal LDOS +#include "source_io/write_eband_terms.hpp" +#include "source_io/write_vxc.hpp" +#include "source_io/write_vxc_r.hpp" + +namespace ModuleIO +{ + +template +void ctrl_runner_lcao(UnitCell& ucell, // unitcell + const Input_para &inp, // input + K_Vectors &kv, // k-point + elecstate::ElecState* pelec,// electronic info + const LCAO_domain::Setup_DM &dmat, // mohan add 2025-11-02 + Parallel_Orbitals &pv, // orbital info + Parallel_Grid &pgrid, // grid info + Grid_Driver &gd, // search for adjacent atoms + psi::Psi* psi, // wave function + Charge &chr, // charge density + hamilt::HamiltLCAO* p_hamilt, // hamiltonian + TwoCenterBundle &two_center_bundle, // use two-center integration + LCAO_Orbitals &orb, // LCAO orbitals + ModulePW::PW_Basis* pw_rho, // charge density + ModulePW::PW_Basis* pw_rhod, // dense charge density + Structure_Factor &sf, // structure factor + ModuleBase::matrix &vloc, // local pseudopotential + Exx_NAO &exx_nao, + surchem &solvent) // solvent model +{ + ModuleBase::TITLE("ModuleIO", "ctrl_runner_lcao"); + ModuleBase::timer::tick("ModuleIO", "ctrl_runner_lcao"); + + // 1) write projected band structure + if (inp.out_proj_band) + { + ModuleIO::write_proj_band_lcao(psi, pv, pelec, kv, ucell, p_hamilt); + } + + // 2) out ldos + if (inp.out_ldos[0]) + { + ModuleIO::Cal_ldos::cal_ldos_lcao(pelec->eferm, chr, dmat, kv, + pelec->ekb, pelec->wg, psi[0], pgrid, ucell); + } + + // 3) print out exchange-correlation potential + if (inp.out_mat_xc) + { + ModuleIO::write_Vxc(inp.nspin, + PARAM.globalv.nlocal, + GlobalV::DRANK, + &pv, + *psi, + ucell, + sf, + solvent, + *pw_rho, + *pw_rhod, + vloc, + chr, + kv, + orb.cutoffs(), + pelec->wg, + gd +#ifdef __EXX + , + exx_nao.exd ? &exx_nao.exd->get_Hexxs() : nullptr, + exx_nao.exc ? &exx_nao.exc->get_Hexxs() : nullptr +#endif + ); + } + + if (inp.out_mat_xc2) + { + ModuleIO::write_Vxc_R(inp.nspin, + &pv, + ucell, + sf, + solvent, + *pw_rho, + *pw_rhod, + vloc, + chr, + kv, + orb.cutoffs(), + gd +#ifdef __EXX + , + exx_nao.exd ? &exx_nao.exd->get_Hexxs() : nullptr, + exx_nao.exc ? &exx_nao.exc->get_Hexxs() : nullptr +#endif + ); + } + + + // write eband terms + if (inp.out_eband_terms) + { + ModuleIO::write_eband_terms(inp.nspin, + PARAM.globalv.nlocal, + GlobalV::DRANK, + &pv, + *psi, + ucell, + sf, + solvent, + *pw_rho, + *pw_rhod, + vloc, + chr, + kv, + pelec->wg, + gd, + orb.cutoffs(), + two_center_bundle +#ifdef __EXX + , + exx_nao.exd ? &exx_nao.exd->get_Hexxs() : nullptr, + exx_nao.exc ? &exx_nao.exc->get_Hexxs() : nullptr +#endif + ); + } + +} + + + + +// TK: double TR: double +template void ctrl_runner_lcao(UnitCell& ucell, // unitcell + const Input_para &inp, // input + K_Vectors &kv, // k-point + elecstate::ElecState* pelec,// electronic info + const LCAO_domain::Setup_DM &dmat, // mohan add 2025-11-02 + Parallel_Orbitals &pv, // orbital info + Parallel_Grid &pgrid, // grid info + Grid_Driver &gd, // search for adjacent atoms + psi::Psi* psi, // wave function + Charge &chr, // charge density + hamilt::HamiltLCAO* p_hamilt, // hamiltonian + TwoCenterBundle &two_center_bundle, // use two-center integration + LCAO_Orbitals &orb, // LCAO orbitals + ModulePW::PW_Basis* pw_rho, // charge density + ModulePW::PW_Basis* pw_rhod, // dense charge density + Structure_Factor &sf, // structure factor + ModuleBase::matrix &vloc, // local pseudopotential + Exx_NAO &exx_nao, + surchem &solvent); // solvent model + +// TK: complex TR: double +template void ctrl_runner_lcao, double>(UnitCell& ucell, // unitcell + const Input_para &inp, // input + K_Vectors &kv, // k-point + elecstate::ElecState* pelec,// electronic info + const LCAO_domain::Setup_DM> &dmat, // mohan add 2025-11-02 + Parallel_Orbitals &pv, // orbital info + Parallel_Grid &pgrid, // grid info + Grid_Driver &gd, // search for adjacent atoms + psi::Psi>* psi, // wave function + Charge &chr, // charge density + hamilt::HamiltLCAO, double>* p_hamilt, // hamiltonian + TwoCenterBundle &two_center_bundle, // use two-center integration + LCAO_Orbitals &orb, // LCAO orbitals + ModulePW::PW_Basis* pw_rho, // charge density + ModulePW::PW_Basis* pw_rhod, // dense charge density + Structure_Factor &sf, // structure factor + ModuleBase::matrix &vloc, // local pseudopotential + Exx_NAO> &exx_nao, + surchem &solvent); // solvent model + +// TK: complex TR: complex +template void ctrl_runner_lcao, std::complex>(UnitCell& ucell, // unitcell + const Input_para &inp, // input + K_Vectors &kv, // k-point + elecstate::ElecState* pelec,// electronic info + const LCAO_domain::Setup_DM> &dmat, // mohan add 2025-11-02 + Parallel_Orbitals &pv, // orbital info + Parallel_Grid &pgrid, // grid info + Grid_Driver &gd, // search for adjacent atoms + psi::Psi>* psi, // wave function + Charge &chr, // charge density + hamilt::HamiltLCAO, std::complex>* p_hamilt, // hamiltonian + TwoCenterBundle &two_center_bundle, // use two-center integration + LCAO_Orbitals &orb, // LCAO orbitals + ModulePW::PW_Basis* pw_rho, // charge density + ModulePW::PW_Basis* pw_rhod, // dense charge density + Structure_Factor &sf, // structure factor + ModuleBase::matrix &vloc, // local pseudopotential + Exx_NAO> &exx_nao, + surchem &solvent); // solvent model + +} // end namespace diff --git a/source/source_io/ctrl_runner_lcao.h b/source/source_io/ctrl_runner_lcao.h new file mode 100644 index 0000000000..95c4fe4658 --- /dev/null +++ b/source/source_io/ctrl_runner_lcao.h @@ -0,0 +1,39 @@ +#ifndef CTRL_RUNNER_LCAO_H +#define CTRL_RUNNER_LCAO_H + +#include "source_cell/unitcell.h" // use UnitCell +#include "source_cell/klist.h" // use K_Vectors +#include "source_estate/elecstate.h" // use elecstate::ElecStateLCAO +#include "source_psi/psi.h" // use Psi +#include "source_lcao/hamilt_lcao.h" // use hamilt::HamiltLCAO +#include "source_basis/module_nao/two_center_bundle.h" // use TwoCenterBundle +#include "source_lcao/setup_exx.h" // for exx, mohan add 20251018 +#include "source_lcao/setup_dm.h" // for density matrix, mohan add 20251103 + +namespace ModuleIO +{ + +template +void ctrl_runner_lcao(UnitCell& ucell, // unitcell + const Input_para &inp, // input + K_Vectors &kv, // k-point + elecstate::ElecState* pelec,// electronic info + const LCAO_domain::Setup_DM &dmat, // mohan add 2025-11-02 + Parallel_Orbitals &pv, // orbital info + Parallel_Grid &pgrid, // grid info + Grid_Driver &gd, // search for adjacent atoms + psi::Psi* psi, // wave function + Charge &chr, // charge density + hamilt::HamiltLCAO* p_hamilt, // hamiltonian + TwoCenterBundle &two_center_bundle, // use two-center integration + LCAO_Orbitals &orb, // LCAO orbitals + ModulePW::PW_Basis* pw_rho, // charge density + ModulePW::PW_Basis* pw_rhod, // dense charge density + Structure_Factor &sf, // structure factor + ModuleBase::matrix &vloc, // local pseudopotential + Exx_NAO &exx_nao, + surchem &solvent); // solvent model + +} + +#endif diff --git a/source/source_io/ctrl_scf_lcao.cpp b/source/source_io/ctrl_scf_lcao.cpp new file mode 100644 index 0000000000..e2e5588289 --- /dev/null +++ b/source/source_io/ctrl_scf_lcao.cpp @@ -0,0 +1,537 @@ +#include "source_io/ctrl_scf_lcao.h" // use ctrl_scf_lcao() + +#include "source_estate/elecstate_lcao.h" // use elecstate::ElecState +#include "source_hamilt/hamilt.h" // use Hamilt +#include "source_lcao/hamilt_lcao.h" // use hamilt::HamiltLCAO + +#include + +// functions +#include "source_io/berryphase.h" // use berryphase +#include "source_io/cal_pLpR.h" // use AngularMomentumCalculator() +#include "source_io/output_mat_sparse.h" // use ModuleIO::output_mat_sparse() +#include "source_io/output_mulliken.h" // use cal_mag() +#include "source_io/to_wannier90_lcao.h" // use toWannier90_LCAO +#include "source_io/to_wannier90_lcao_in_pw.h" // use toWannier90_LCAO_IN_PW +#include "source_io/write_HS.h" // use ModuleIO::write_hsk() +#include "source_io/write_dmk.h" // use ModuleIO::write_dmk() +#include "source_io/write_dmr.h" // use ModuleIO::write_dmr() +#include "source_io/write_dos_lcao.h" // use ModuleIO::write_dos_lcao() +#include "source_io/write_wfc_nao.h" // use ModuleIO::write_wfc_nao() +#include "source_lcao/module_deltaspin/spin_constrain.h" // use spinconstrain::SpinConstrain +#include "source_lcao/module_operator_lcao/ekinetic_new.h" // use hamilt::EkineticNew +#ifdef __MLALGO +#include "source_lcao/module_deepks/LCAO_deepks.h" +#include "source_lcao/module_deepks/LCAO_deepks_interface.h" +#endif +#ifdef __EXX +#include "source_lcao/module_ri/Exx_LRI_interface.h" // use EXX codes +#include "source_lcao/module_ri/RPA_LRI.h" // use RPA code +#endif +#include "source_io/to_qo.h" // use toQO +#include "source_lcao/module_rdmft/rdmft.h" // use RDMFT codes +#include "source_lcao/rho_tau_lcao.h" // mohan add 2025-10-24 + +template +void ModuleIO::ctrl_scf_lcao(UnitCell& ucell, + const Input_para& inp, + K_Vectors& kv, + elecstate::ElecState* pelec, + elecstate::DensityMatrix* dm, // mohan add 2025-11-04 + Parallel_Orbitals& pv, + Grid_Driver& gd, + psi::Psi* psi, + hamilt::HamiltLCAO* p_hamilt, + Plus_U& dftu, // mohan add 2025-11-07 + TwoCenterBundle& two_center_bundle, + LCAO_Orbitals& orb, + const ModulePW::PW_Basis_K* pw_wfc, // for berryphase + const ModulePW::PW_Basis* pw_rho, // for berryphase + const ModulePW::PW_Basis_Big* pw_big, // for Wannier90 + const Structure_Factor& sf, // for Wannier90 + rdmft::RDMFT& rdmft_solver, // for RDMFT + Setup_DeePKS& deepks, + Exx_NAO& exx_nao, + const bool conv_esolver, + const bool scf_nmax_flag, + const int istep) +{ + ModuleBase::TITLE("ModuleIO", "ctrl_scf_lcao"); + ModuleBase::timer::tick("ModuleIO", "ctrl_scf_lcao"); + + //***** + // if istep_in = -1, istep will not appear in file name + // if iter_in = -1, iter will not appear in file name + int istep_in = -1; + int iter_in = -1; + bool out_flag = false; + if (PARAM.inp.esolver_type != "tddft" && inp.out_freq_ion > 0) // default value of out_freq_ion is 0 + { + if (istep % inp.out_freq_ion == 0) + { + istep_in = istep; + out_flag = true; + } + } + else if (PARAM.inp.esolver_type == "tddft" && inp.out_freq_td > 0) // default value of out_freq_td is 0 + { + if (istep % inp.out_freq_td == 0) + { + istep_in = istep; + out_flag = true; + } + } + else if (conv_esolver || scf_nmax_flag) // mohan add scf_nmax_flag on 20250921 + { + out_flag = true; + } + + if (!out_flag) + { + return; + } + + //***** + + const bool out_app_flag = inp.out_app_flag; + const bool gamma_only = PARAM.globalv.gamma_only_local; + const int nspin = inp.nspin; + const std::string global_out_dir = PARAM.globalv.global_out_dir; + + //------------------------------------------------------------------ + //! 1) print out density of states (DOS) + //------------------------------------------------------------------ + if (inp.out_dos) + { + ModuleIO::write_dos_lcao(psi, + p_hamilt, + pv, + ucell, + kv, + inp.nbands, + pelec->eferm, + pelec->ekb, + pelec->wg, + inp.dos_edelta_ev, + inp.dos_scale, + inp.dos_sigma, + out_app_flag, + istep, + GlobalV::ofs_running); + } + + //------------------------------------------------------------------ + //! 2) Output density matrix DM(R) + //------------------------------------------------------------------ + if (inp.out_dmr[0]) + { + const int precision = inp.out_dmr[1]; + + ModuleIO::write_dmr(dm->get_DMR_vector(), precision, pv, out_app_flag, ucell.get_iat2iwt(), ucell.nat, istep); + } + + //------------------------------------------------------------------ + //! 3) Output density matrix DM(k) + //------------------------------------------------------------------ + if (inp.out_dmk[0]) + { + std::vector efermis(nspin == 2 ? 2 : 1); + for (int ispin = 0; ispin < efermis.size(); ispin++) + { + efermis[ispin] = pelec->eferm.get_efval(ispin); + } + const int precision = inp.out_dmk[1]; + + ModuleIO::write_dmk(dm->get_DMK_vector(), precision, efermis, &(ucell), pv, istep); + } + + //------------------------------------------------------------------ + // 4) Output H(k) and S(k) matrices for each k-point + //------------------------------------------------------------------ + if (inp.out_mat_hs[0]) + { + ModuleIO::write_hsk(global_out_dir, + nspin, + kv.get_nks(), + kv.get_nkstot(), + kv.ik2iktot, + kv.isk, + p_hamilt, + pv, + gamma_only, + out_app_flag, + istep, + GlobalV::ofs_running); + } + + //------------------------------------------------------------------ + //! 5) Output electronic wavefunctions Psi(k) + //------------------------------------------------------------------ + if (elecstate::ElecStateLCAO::out_wfc_lcao) + { + ModuleIO::write_wfc_nao(elecstate::ElecStateLCAO::out_wfc_lcao, + out_app_flag, + psi[0], + pelec->ekb, + pelec->wg, + kv.kvec_c, + kv.ik2iktot, + kv.get_nkstot(), + pv, + nspin, + istep); + } + + //------------------------------------------------------------------ + //! 6) Output DeePKS information + //------------------------------------------------------------------ +#ifdef __MLALGO + // need control parameter + hamilt::HamiltLCAO* p_ham_deepks = p_hamilt; + std::shared_ptr> ld_shared_ptr(&deepks.ld, [](LCAO_Deepks*) {}); + LCAO_Deepks_Interface deepks_interface(ld_shared_ptr); + + deepks_interface.out_deepks_labels(pelec->f_en.etot, + kv.get_nks(), + ucell.nat, + PARAM.globalv.nlocal, + pelec->ekb, + kv.kvec_d, + ucell, + orb, + gd, + &pv, + *psi, + dm, + p_ham_deepks, + -1, // -1 when called in after scf + true, // no used when after scf + GlobalV::MY_RANK, + GlobalV::ofs_running); +#endif + + //------------------------------------------------------------------ + //! 7) Output matrices, where O can be chosen as + //! H, S, dH, dS, T, r. The format is CSR format. + //------------------------------------------------------------------ + hamilt::Hamilt* p_ham_tk = static_cast*>(p_hamilt); + + ModuleIO::output_mat_sparse(inp.out_mat_hs2, + inp.out_mat_dh, + inp.out_mat_ds, + inp.out_mat_t, + inp.out_mat_r, + istep, + pelec->pot->get_eff_v(), + pv, + two_center_bundle, + orb, + ucell, + gd, + kv, + p_ham_tk, + &dftu); + + //------------------------------------------------------------------ + //! 8) Output kinetic matrix + //------------------------------------------------------------------ + if (inp.out_mat_tk[0]) + { + hamilt::HS_Matrix_K hsk(&pv, true); + hamilt::HContainer hR(&pv); + hamilt::Operator* ekinetic + = new hamilt::EkineticNew>(&hsk, + kv.kvec_d, + &hR, + &ucell, + orb.cutoffs(), + &gd, + two_center_bundle.kinetic_orb.get()); + + const int nspin_k = (nspin == 2 ? 2 : 1); + for (int ik = 0; ik < kv.get_nks() / nspin_k; ++ik) + { + ekinetic->init(ik); + + const int out_label = 1; // 1: .txt, 2: .dat + + std::string t_fn = ModuleIO::filename_output(global_out_dir, + "tk", + "nao", + ik, + kv.ik2iktot, + inp.nspin, + kv.get_nkstot(), + out_label, + out_app_flag, + gamma_only, + istep); + + ModuleIO::save_mat(istep, + hsk.get_hk(), + PARAM.globalv.nlocal, + false, // bit + inp.out_mat_tk[1], + 1, // true for upper triangle matrix + inp.out_app_flag, + t_fn, + pv, + GlobalV::DRANK); + } + + delete ekinetic; + } + + //------------------------------------------------------------------ + //! 9) Output expectation of angular momentum operator + //------------------------------------------------------------------ + if (inp.out_mat_l[0]) + { + ModuleIO::AngularMomentumCalculator mylcalculator(inp.orbital_dir, + ucell, + orb.get_rcutmax_Phi(), + inp.test_deconstructor, + inp.test_grid, + inp.test_atom_input, + PARAM.globalv.search_pbc, + &GlobalV::ofs_running, + GlobalV::MY_RANK); + mylcalculator.calculate(inp.suffix, global_out_dir, ucell, inp.out_mat_l[1], GlobalV::MY_RANK); + } + + //------------------------------------------------------------------ + //! 10) Output Mulliken charge + //------------------------------------------------------------------ + if (inp.out_mul) + { + ModuleIO::cal_mag(&pv, + p_hamilt, + kv, + dm, // mohan add 2025-11-04 + two_center_bundle, + orb, + ucell, + gd, + istep, + true); + } + + //------------------------------------------------------------------ + //! 11) Output atomic magnetization by using 'spin_constraint' + //------------------------------------------------------------------ + if (inp.sc_mag_switch) + { + spinconstrain::SpinConstrain& sc = spinconstrain::SpinConstrain::getScInstance(); + sc.cal_mi_lcao(istep); + sc.print_Mi(GlobalV::ofs_running); + sc.print_Mag_Force(GlobalV::ofs_running); + } + + //------------------------------------------------------------------ + //! 12) Output Berry phase + //------------------------------------------------------------------ + if (inp.calculation == "nscf" && berryphase::berry_phase_flag && ModuleSymmetry::Symmetry::symm_flag != 1) + { + std::cout << FmtCore::format("\n * * * * * *\n << Start %s.\n", "Berry phase calculation"); + berryphase bp(&pv); + bp.lcao_init(ucell, gd, kv, orb); + // additional step before calling macroscopic_polarization + bp.Macroscopic_polarization(ucell, pw_wfc->npwk_max, psi, pw_rho, pw_wfc, kv); + std::cout << FmtCore::format(" >> Finish %s.\n * * * * * *\n", "Berry phase calculation"); + } + + //------------------------------------------------------------------ + //! 13) Wannier90 interface in LCAO basis + // added by jingan in 2018.11.7 + //------------------------------------------------------------------ + if (inp.calculation == "nscf" && inp.towannier90) + { + std::cout << FmtCore::format("\n * * * * * *\n << Start %s.\n", "Wave function to Wannier90"); + if (inp.wannier_method == 1) + { + toWannier90_LCAO_IN_PW wan(inp.out_wannier_mmn, + inp.out_wannier_amn, + inp.out_wannier_unk, + inp.out_wannier_eig, + inp.out_wannier_wvfn_formatted, + inp.nnkpfile, + inp.wannier_spin); + wan.set_tpiba_omega(ucell.tpiba, ucell.omega); + wan.calculate(ucell, pelec->ekb, pw_wfc, pw_big, sf, kv, psi, &pv); + } + else if (inp.wannier_method == 2) + { + toWannier90_LCAO wan(inp.out_wannier_mmn, + inp.out_wannier_amn, + inp.out_wannier_unk, + inp.out_wannier_eig, + inp.out_wannier_wvfn_formatted, + inp.nnkpfile, + inp.wannier_spin, + orb); + + wan.calculate(ucell, gd, pelec->ekb, kv, *psi, &pv); + } + std::cout << FmtCore::format(" >> Finish %s.\n * * * * * *\n", "Wave function to Wannier90"); + } + + // 14) calculate the kinetic energy density tau + // mohan add 2025-10-24 + // if (inp.out_elf[0] > 0) + // { + // LCAO_domain::dm2tau(pelec->DM->get_DMR_vector(), inp.nspin, pelec->charge); + // } + +#ifdef __EXX + //------------------------------------------------------------------ + //! 15) Output Hexx matrix in LCAO basis + // (see `out_chg` in docs/advanced/input_files/input-main.md) + //------------------------------------------------------------------ + if (inp.out_chg[0]) + { + if (GlobalC::exx_info.info_global.cal_exx && inp.calculation != "nscf") // Peize Lin add if 2022.11.14 + { + const std::string file_name_exx = global_out_dir + "HexxR" + std::to_string(GlobalV::MY_RANK); + if (GlobalC::exx_info.info_ri.real_number) + { + ModuleIO::write_Hexxs_csr(file_name_exx, ucell, exx_nao.exd->get_Hexxs()); + } + else + { + ModuleIO::write_Hexxs_csr(file_name_exx, ucell, exx_nao.exc->get_Hexxs()); + } + } + } + + //------------------------------------------------------------------ + //! 16) Write RPA information in LCAO basis + //------------------------------------------------------------------ + if (inp.rpa) + { + RPA_LRI rpa_lri_double(GlobalC::exx_info.info_ri); + rpa_lri_double.cal_postSCF_exx(*dm, MPI_COMM_WORLD, ucell, kv, orb); + rpa_lri_double.init(MPI_COMM_WORLD, kv, orb.cutoffs()); + rpa_lri_double.out_for_RPA(ucell, pv, *psi, pelec); + } +#endif + + //------------------------------------------------------------------ + //! 17) Perform RDMFT calculations, added by jghan, 2024-10-17 + //------------------------------------------------------------------ + if (inp.rdmft == true) + { + ModuleBase::matrix occ_num(pelec->wg); + for (int ik = 0; ik < occ_num.nr; ++ik) + { + for (int inb = 0; inb < occ_num.nc; ++inb) + { + occ_num(ik, inb) /= kv.wk[ik]; + } + } + rdmft_solver.update_elec(ucell, occ_num, *psi); + + //! initialize the gradients of Etotal with respect to occupation numbers and wfc, + //! and set all elements to 0. + //! dedocc = d E/d Occ_Num + ModuleBase::matrix dedocc(pelec->wg.nr, pelec->wg.nc, true); + + //! dedwfc = d E/d wfc + psi::Psi dedwfc(psi->get_nk(), psi->get_nbands(), psi->get_nbasis(), kv.ngk, true); + dedwfc.zero_out(); + + double etot_rdmft = rdmft_solver.run(dedocc, dedwfc); + } + + //------------------------------------------------------------------ + //! 17) Output quasi orbitals + //------------------------------------------------------------------ + if (inp.qo_switch) + { + toQO tqo(inp.qo_basis, inp.qo_strategy, inp.qo_thr, inp.qo_screening_coeff); + tqo.initialize(global_out_dir, + inp.pseudo_dir, + inp.orbital_dir, + &ucell, + kv.kvec_d, + GlobalV::ofs_running, + GlobalV::MY_RANK, + GlobalV::NPROC); + tqo.calculate(); + } + + ModuleBase::timer::tick("ModuleIO", "ctrl_scf_lcao"); +} + +// For gamma only +template void ModuleIO::ctrl_scf_lcao( + UnitCell& ucell, + const Input_para& inp, + K_Vectors& kv, + elecstate::ElecState* pelec, + elecstate::DensityMatrix* dm, // mohan add 2025-11-04 + Parallel_Orbitals& pv, + Grid_Driver& gd, + psi::Psi* psi, + hamilt::HamiltLCAO* p_hamilt, + Plus_U& dftu, // mohan add 2025-11-07 + TwoCenterBundle& two_center_bundle, + LCAO_Orbitals& orb, + const ModulePW::PW_Basis_K* pw_wfc, // for berryphase + const ModulePW::PW_Basis* pw_rho, // for berryphase + const ModulePW::PW_Basis_Big* pw_big, // for Wannier90 + const Structure_Factor& sf, // for Wannier90 + rdmft::RDMFT& rdmft_solver, // for RDMFT + Setup_DeePKS& deepks, + Exx_NAO& exx_nao, + const bool conv_esolver, + const bool scf_nmax_flag, + const int istep); + +// For multiple k-points +template void ModuleIO::ctrl_scf_lcao, double>( + UnitCell& ucell, + const Input_para& inp, + K_Vectors& kv, + elecstate::ElecState* pelec, + elecstate::DensityMatrix, double>* dm, // mohan add 2025-11-04 + Parallel_Orbitals& pv, + Grid_Driver& gd, + psi::Psi>* psi, + hamilt::HamiltLCAO, double>* p_hamilt, + Plus_U& dftu, // mohan add 2025-11-07 + TwoCenterBundle& two_center_bundle, + LCAO_Orbitals& orb, + const ModulePW::PW_Basis_K* pw_wfc, // for berryphase + const ModulePW::PW_Basis* pw_rho, // for berryphase + const ModulePW::PW_Basis_Big* pw_big, // for Wannier90 + const Structure_Factor& sf, // for Wannier90 + rdmft::RDMFT, double>& rdmft_solver, // for RDMFT + Setup_DeePKS>& deepks, + Exx_NAO>& exx_nao, + const bool conv_esolver, + const bool scf_nmax_flag, + const int istep); + +template void ModuleIO::ctrl_scf_lcao, std::complex>( + UnitCell& ucell, + const Input_para& inp, + K_Vectors& kv, + elecstate::ElecState* pelec, + elecstate::DensityMatrix, double>* dm, // mohan add 2025-11-04 + Parallel_Orbitals& pv, + Grid_Driver& gd, + psi::Psi>* psi, + hamilt::HamiltLCAO, std::complex>* p_hamilt, + Plus_U& dftu, // mohan add 2025-11-07 + TwoCenterBundle& two_center_bundle, + LCAO_Orbitals& orb, + const ModulePW::PW_Basis_K* pw_wfc, // for berryphase + const ModulePW::PW_Basis* pw_rho, // for berryphase + const ModulePW::PW_Basis_Big* pw_big, // for Wannier90 + const Structure_Factor& sf, // for Wannier90 + rdmft::RDMFT, std::complex>& rdmft_solver, // for RDMFT + Setup_DeePKS>& deepks, + Exx_NAO>& exx_nao, + const bool conv_esolver, + const bool scf_nmax_flag, + const int istep); diff --git a/source/source_io/ctrl_scf_lcao.h b/source/source_io/ctrl_scf_lcao.h new file mode 100644 index 0000000000..ae895f0262 --- /dev/null +++ b/source/source_io/ctrl_scf_lcao.h @@ -0,0 +1,47 @@ +#ifndef CTRL_SCF_LCAO_H +#define CTRL_SCF_LCAO_H + +#include "source_basis/module_nao/two_center_bundle.h" // use TwoCenterBundle +#include "source_basis/module_pw/pw_basis_k.h" // use ModulePW::PW_Basis_K and ModulePW::PW_Basis +#include "source_cell/klist.h" // use K_Vectors +#include "source_cell/unitcell.h" // use UnitCell +#include "source_estate/elecstate.h" // use elecstate::ElecStateLCAO +#include "source_estate/module_dm/density_matrix.h" // mohan add 2025-11-04 +#include "source_lcao/hamilt_lcao.h" // use hamilt::HamiltLCAO +#include "source_lcao/module_dftu/dftu.h" // mohan add 20251107 +#include "source_lcao/module_rdmft/rdmft.h" // use RDMFT codes +#include "source_lcao/setup_deepks.h" // for deepks, mohan add 20251008 +#include "source_lcao/setup_exx.h" // for exx, mohan add 20251008 +#include "source_psi/psi.h" // use Psi +#include "source_pw/module_pwdft/structure_factor.h" // use Structure_Factor + +#include + +namespace ModuleIO +{ +// in principle, we need to add const for all of the variables, mohan note 2025-06-05 +template +void ctrl_scf_lcao(UnitCell& ucell, + const Input_para& inp, + K_Vectors& kv, + elecstate::ElecState* pelec, + elecstate::DensityMatrix* dm, // mohan add 2025-11-04 + Parallel_Orbitals& pv, + Grid_Driver& gd, + psi::Psi* psi, + hamilt::HamiltLCAO* p_hamilt, + Plus_U& dftu, // mohan add 2025-11-07 + TwoCenterBundle& two_center_bundle, + LCAO_Orbitals& orb, + const ModulePW::PW_Basis_K* pw_wfc, // for berryphase + const ModulePW::PW_Basis* pw_rho, // for berryphase + const ModulePW::PW_Basis_Big* pw_big, // for Wannier90 + const Structure_Factor& sf, // for Wannier90 + rdmft::RDMFT& rdmft_solver, // for RDMFT + Setup_DeePKS& deepks, + Exx_NAO& exx_nao, + const bool conv_esolver, + const bool scf_nmax_flag, + const int istep); +} // namespace ModuleIO +#endif diff --git a/source/source_io/filename.cpp b/source/source_io/filename.cpp index d2b22fb084..9db89b7da8 100644 --- a/source/source_io/filename.cpp +++ b/source/source_io/filename.cpp @@ -16,7 +16,8 @@ std::string filename_output( const int out_type, const bool out_app_flag, const bool gamma_only, - const int istep) + const int istep, + const int iter) { // output filename = "{PARAM.globalv.global_out_dir}/property{s}{spin index} // {k(optional)}{k-point index}{g(optional)}{geometry index1}{_basis(nao|pw)} @@ -44,31 +45,37 @@ std::string filename_output( // ik0 is the k-point index, starting from 0 int ik0 = ik2iktot[ik_local]; - if(nspin == 1) - { - is0 = 1; - } - else if(nspin == 2) + // spin part + std::string spin_block; + + // mohan add 2026-01-04, overlap matrix is the same for any spin + if(property != "sk") { - const int half_k = nkstot/2; - if(ik0 >= half_k) + if(nspin == 1) { - is0 = 2; - ik0 -= half_k; + // do nothing } - else + else if(nspin == 2) { - is0 = 1; + const int half_k = nkstot/2; + if(ik0 >= half_k) + { + is0 = 2; + ik0 -= half_k; + } + else + { + is0 = 1; + } + spin_block = "s" + std::to_string(is0); + } + else if(nspin==4) + { + is0 = 4; + spin_block = "s" + std::to_string(is0); } - } - else if(nspin==4) - { - is0 = 12; } - // spin part - std::string spin_block; - spin_block = "s" + std::to_string(is0); // k-point part std::string kpoint_block; @@ -78,12 +85,25 @@ std::string filename_output( } else { - kpoint_block = "k" + std::to_string(ik0+1); + // mohan add 20250921 + if(property=="hk" || property=="sk" || property=="tk") + { + kpoint_block = std::to_string(ik0+1); + } + else + { + kpoint_block = "k" + std::to_string(ik0+1); + } } std::string istep_block = (istep >= 0 && (!out_app_flag)) - ? "g" + std::to_string(istep + 1) + ? "g" + std::to_string(istep + 1) // istep starts from 0 + : ""; // only when istep >= 0 and out_app_flag is false will write each wfc to a separate file + + std::string iter_block + = (iter >= 0 && (!out_app_flag)) + ? "e" + std::to_string(iter) // iter starts from 1 : ""; // only when istep >= 0 and out_app_flag is false will write each wfc to a separate file std::string suffix_block; @@ -102,8 +122,8 @@ std::string filename_output( } std::string fn_out - = directory + property + spin_block + kpoint_block - + istep_block + "_" + basis + suffix_block; + = directory + property + kpoint_block + spin_block + + istep_block + iter_block + "_" + basis + suffix_block; return fn_out; } diff --git a/source/source_io/filename.h b/source/source_io/filename.h index 8eba4af71a..895bf29ef0 100644 --- a/source/source_io/filename.h +++ b/source/source_io/filename.h @@ -19,6 +19,7 @@ namespace ModuleIO * @param out_app_flag: whether to append to existing file. * @param gamma_only: gamma_only algorithm or not. * @param istep: index of the ion step starting from 0. If < 0, the step number is not included in the file name. + * @param iter: index of the electronic step starting from 0. If < 0, the step number is not included in the file name. * @return The generated filename. */ std::string filename_output( @@ -32,7 +33,8 @@ std::string filename_output( const int out_type, const bool out_app_flag, const bool gamma_only, - const int istep=-1); + const int istep=-1, + const int iter=-1); } #endif diff --git a/source/source_io/get_pchg_lcao.cpp b/source/source_io/get_pchg_lcao.cpp index e293a51312..346b56f12a 100644 --- a/source/source_io/get_pchg_lcao.cpp +++ b/source/source_io/get_pchg_lcao.cpp @@ -3,7 +3,7 @@ #include "source_io/cube_io.h" #include "source_estate/module_charge/symmetry_rho.h" #include "source_estate/module_dm/cal_dm_psi.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" +#include "source_lcao/module_gint/gint_interface.h" Get_pchg_lcao::Get_pchg_lcao(psi::Psi* psi_gamma_in, const Parallel_Orbitals* ParaV_in) : psi_gamma(psi_gamma_in), ParaV(ParaV_in) @@ -20,8 +20,7 @@ Get_pchg_lcao::~Get_pchg_lcao() } // For gamma_only -void Get_pchg_lcao::begin(Gint_Gamma& gg, - double** rho, +void Get_pchg_lcao::begin(double** rho, const ModuleBase::matrix& wg, const std::vector& ef_all_spin, const int rhopw_nrxx, @@ -70,14 +69,7 @@ void Get_pchg_lcao::begin(Gint_Gamma& gg, DM.init_DMR(GridD_in, ucell_in); DM.cal_DMR(); -#ifdef __OLD_GINT - gg.initialize_pvpR(*ucell_in, GridD_in, nspin); - gg.transfer_DM2DtoGrid(DM.get_DMR_vector()); - Gint_inout inout(rho, Gint_Tools::job_type::rho, nspin); - gg.cal_gint(&inout); -#else ModuleGint::cal_gint_rho(DM.get_DMR_vector(), nspin, rho); -#endif // A solution to replace the original implementation of the following code: // pelec->charge->save_rho_before_sum_band(); @@ -109,8 +101,7 @@ void Get_pchg_lcao::begin(Gint_Gamma& gg, } // For multi-k -void Get_pchg_lcao::begin(Gint_k& gk, - double** rho, +void Get_pchg_lcao::begin(double** rho, std::complex** rhog, const ModuleBase::matrix& wg, const std::vector& ef_all_spin, @@ -169,14 +160,7 @@ void Get_pchg_lcao::begin(Gint_k& gk, DM.init_DMR(GridD_in, ucell_in); DM.cal_DMR(ik); -#ifdef __OLD_GINT - gk.initialize_pvpR(*ucell_in, GridD_in, nspin); - gk.transfer_DM2DtoGrid(DM.get_DMR_vector()); - Gint_inout inout(rho, Gint_Tools::job_type::rho, nspin); - gk.cal_gint(&inout); -#else ModuleGint::cal_gint_rho(DM.get_DMR_vector(), nspin, rho); -#endif // Using std::vector to replace the original double** rho_save @@ -216,14 +200,7 @@ void Get_pchg_lcao::begin(Gint_k& gk, DM.init_DMR(GridD_in, ucell_in); DM.cal_DMR(); -#ifdef __OLD_GINT - gk.initialize_pvpR(*ucell_in, GridD_in, nspin); - gk.transfer_DM2DtoGrid(DM.get_DMR_vector()); - Gint_inout inout(rho, Gint_Tools::job_type::rho, nspin); - gk.cal_gint(&inout); -#else ModuleGint::cal_gint_rho(DM.get_DMR_vector(), nspin, rho); -#endif // Using std::vector to replace the original double** rho_save std::vector> rho_save(nspin, std::vector(rhopw_nrxx)); diff --git a/source/source_io/get_pchg_lcao.h b/source/source_io/get_pchg_lcao.h index 1c34219ade..130637c775 100644 --- a/source/source_io/get_pchg_lcao.h +++ b/source/source_io/get_pchg_lcao.h @@ -1,8 +1,6 @@ #ifndef GET_PCHG_LCAO_H #define GET_PCHG_LCAO_H -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" #include "source_cell/klist.h" #include "source_estate/module_dm/density_matrix.h" @@ -22,8 +20,7 @@ class Get_pchg_lcao ~Get_pchg_lcao(); // For gamma_only - void begin(Gint_Gamma& gg, - double** rho, + void begin(double** rho, const ModuleBase::matrix& wg, const std::vector& ef_all_spin, const int rhopw_nrxx, @@ -39,8 +36,7 @@ class Get_pchg_lcao std::ofstream& ofs_running); // For multi-k - void begin(Gint_k& gk, - double** rho, + void begin(double** rho, std::complex** rhog, const ModuleBase::matrix& wg, const std::vector& ef_all_spin, diff --git a/source/source_io/get_pchg_pw.h b/source/source_io/get_pchg_pw.h index 7c2d14fe6a..2a61c77aa3 100644 --- a/source/source_io/get_pchg_pw.h +++ b/source/source_io/get_pchg_pw.h @@ -1,7 +1,8 @@ #ifndef GET_PCHG_PW_H #define GET_PCHG_PW_H -#include "cube_io.h" +#include "source_io/cube_io.h" +#include "source_estate/module_charge/symmetry_rho.h" namespace ModuleIO { diff --git a/source/source_io/get_wf_lcao.cpp b/source/source_io/get_wf_lcao.cpp index 3d6c58a300..6cafa72d60 100644 --- a/source/source_io/get_wf_lcao.cpp +++ b/source/source_io/get_wf_lcao.cpp @@ -4,10 +4,8 @@ #include "source_io/write_wfc_pw.h" #include "source_base/memory.h" -#ifndef __OLD_GINT -#include "source_lcao/module_gint/temp_gint/gint_env_gamma.h" -#include "source_lcao/module_gint/temp_gint/gint_env_k.h" -#endif +#include "source_lcao/module_gint/gint_env_gamma.h" +#include "source_lcao/module_gint/gint_env_k.h" Get_wf_lcao::Get_wf_lcao(const elecstate::ElecState* pes) { @@ -24,7 +22,6 @@ void Get_wf_lcao::begin(const UnitCell& ucell, const ModulePW::PW_Basis_K* pw_wfc, const Parallel_Grid& pgrid, const Parallel_Orbitals& para_orb, - Gint_Gamma& gg, const int& out_wfc_pw, const K_Vectors& kv, const double nelec, @@ -45,31 +42,12 @@ void Get_wf_lcao::begin(const UnitCell& ucell, prepare_get_wf(ofs_running); -#ifdef __OLD_GINT - // allocate grid wave functions for gamma_only - std::vector wfc_gamma_grid(nspin); - for (int is = 0; is < nspin; ++is) - { - wfc_gamma_grid[is] = new double*[nbands]; - for (int ib = 0; ib < nbands; ++ib) - { - wfc_gamma_grid[is][ib] = new double[gg.gridt->lgd]; - } - } -#endif - // for pw_wfc in G space psi::Psi> psi_g; // if (out_wfc_pw || out_wfc_r) psi_g.resize(nspin, nbands, kv.ngk[0]); -#ifdef __OLD_GINT - const double mem_size = sizeof(double) * double(gg.gridt->lgd) * double(nbands) * double(nspin) / 1024.0 / 1024.0; - ModuleBase::Memory::record("Get_wf_lcao::begin", mem_size); - ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, "On-the-fly memory consumption (MB)", mem_size); -#endif - // Set this->bands_picked_ this->select_bands(out_wfc_norm, nbands, fermi_band); @@ -77,35 +55,12 @@ void Get_wf_lcao::begin(const UnitCell& ucell, for (int is = 0; is < nspin; ++is) { psid->fix_k(is); -#ifdef __OLD_GINT - #ifdef __MPI - wfc_2d_to_grid(psid->get_pointer(), para_orb, wfc_gamma_grid[is], gg.gridt->trace_lo); - #else - // if not MPI enabled, it is the case psid holds a global matrix. - // use fix_k to switch between different spin channels (actually kpoints, - // because now the same kpoint in different spin channels are treated - // as distinct kpoints) - for (int i = 0; i < nbands; ++i) - { - for (int j = 0; j < nlocal; ++j) - { - wfc_gamma_grid[is][i][j] = psid[0](i, j); - } - } - #endif -#else ModuleGint::Gint_env_gamma gint_env(psid->get_pointer(), ¶_orb, nbands, nlocal, pes_->charge->rho[is]); -#endif for (int ib = 0; ib < nbands; ++ib) { if (bands_picked_[ib]) { - #ifdef __OLD_GINT - ModuleBase::GlobalFunc::ZEROS(pes_->charge->rho[is], pw_wfc->nrxx); - gg.cal_env(wfc_gamma_grid[is][ib], pes_->charge->rho[is], ucell); - #else gint_env.cal_env_band(ib); - #endif pes_->charge->save_rho_before_sum_band(); // pint out information @@ -140,34 +95,12 @@ void Get_wf_lcao::begin(const UnitCell& ucell, for (int is = 0; is < nspin; ++is) { psid->fix_k(is); -#ifdef __OLD_GINT - #ifdef __MPI - wfc_2d_to_grid(psid->get_pointer(), para_orb, wfc_gamma_grid[is], gg.gridt->trace_lo); - #else - // if not MPI enabled, it is the case psid holds a global matrix. use fix_k to switch between - // different spin channels (actually kpoints, because now the same kpoint in different spin channels - // are treated as distinct kpoints) - for (int i = 0; i < nbands; ++i) - { - for (int j = 0; j < nlocal; ++j) - { - wfc_gamma_grid[is][i][j] = psid[0](i, j); - } - } - #endif -#else ModuleGint::Gint_env_gamma gint_env(psid->get_pointer(), ¶_orb, nbands, nlocal, pes_->charge->rho[is]); -#endif for (int ib = 0; ib < nbands; ++ib) { if (bands_picked_[ib]) { -#ifdef __OLD_GINT - ModuleBase::GlobalFunc::ZEROS(pes_->charge->rho[is], pw_wfc->nrxx); - gg.cal_env(wfc_gamma_grid[is][ib], pes_->charge->rho[is], ucell); -#else gint_env.cal_env_band(ib); -#endif pes_->charge->save_rho_before_sum_band(); const double ef_tmp = this->pes_->eferm.get_efval(is); @@ -203,7 +136,10 @@ void Get_wf_lcao::begin(const UnitCell& ucell, } } - ModuleIO::write_wfc_pw(GlobalV::KPAR, + + const int istep = -1; // -1 means ionic iteration number will not appear in file name + const int iter = -1; // -1 means electronic iteration number will not appear in file name + ModuleIO::write_wfc_pw(istep, iter, GlobalV::KPAR, GlobalV::MY_POOL, GlobalV::MY_RANK, nbands, @@ -219,16 +155,6 @@ void Get_wf_lcao::begin(const UnitCell& ucell, pw_wfc, ofs_running); -#ifdef __OLD_GINT - for (int is = 0; is < nspin; ++is) - { - for (int ib = 0; ib < nbands; ++ib) - { - delete[] wfc_gamma_grid[is][ib]; - } - delete[] wfc_gamma_grid[is]; - } -#endif return; } @@ -238,7 +164,6 @@ void Get_wf_lcao::begin(const UnitCell& ucell, const ModulePW::PW_Basis_K* pw_wfc, const Parallel_Grid& pgrid, const Parallel_Orbitals& para_orb, - Gint_k& gk, const int& out_wfc_pw, const K_Vectors& kv, const double nelec, @@ -259,21 +184,6 @@ void Get_wf_lcao::begin(const UnitCell& ucell, // allocate grid wave functions for multi-k const int nks = kv.get_nks(); std::vector**> wfc_k_grid(nks); -#ifdef __OLD_GINT - for (int ik = 0; ik < nks; ++ik) - { - wfc_k_grid[ik] = new std::complex*[nbands]; - for (int ib = 0; ib < nbands; ++ib) - { - wfc_k_grid[ik][ib] = new std::complex[gk.gridt->lgd]; - } - } - - const double mem_size - = sizeof(std::complex) * double(gk.gridt->lgd) * double(nbands) * double(nks) / 1024.0 / 1024.0; - ModuleBase::Memory::record("Get_wf_lcao::begin", mem_size); - ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, "On-the-fly memory consumption (MB)", mem_size); -#endif // for pw_wfc in G space psi::Psi> psi_g; @@ -292,36 +202,14 @@ void Get_wf_lcao::begin(const UnitCell& ucell, // 2d-to-grid conversion is unified into `wfc_2d_to_grid`. psi->fix_k(ik); -#ifdef __OLD_GINT - #ifdef __MPI // need to deal with NSPIN=4 !!!! - wfc_2d_to_grid(psi->get_pointer(), para_orb, wfc_k_grid[ik], gk.gridt->trace_lo); - #else - for (int i = 0; i < nbands; ++i) - { - for (int j = 0; j < nlocal; ++j) - { - wfc_k_grid[ik][i][j] = psi[0](i, j); - } - } - #endif -#else ModuleGint::Gint_env_k gint_env(psi->get_pointer(), ¶_orb, kv.kvec_c, kv.kvec_d, nbands, nlocal, ik, PARAM.inp.nspin, PARAM.globalv.npol, pes_->charge->rho[ispin]); -#endif for (int ib = 0; ib < nbands; ++ib) { if (bands_picked_[ib]) { -#ifdef __OLD_GINT - ModuleBase::GlobalFunc::ZEROS(pes_->charge->rho[ispin], - pw_wfc->nrxx); // terrible, you make changes on another instance's data??? - - // deal with NSPIN=4 - gk.cal_env_k(ik, wfc_k_grid[ik][ib], pes_->charge->rho[ispin], kv.kvec_c, kv.kvec_d, ucell); -#else gint_env.cal_env_band(ib); -#endif // ik0 is the real k-point index, starting from 0 int ik0 = kv.ik2iktot[ik]; @@ -366,7 +254,9 @@ void Get_wf_lcao::begin(const UnitCell& ucell, } } - ModuleIO::write_wfc_pw(GlobalV::KPAR, + const int istep = -1; // -1 means ionic iteration number will not appear in file name + const int iter = -1; // -1 means electronic iteration number will not appear in file name + ModuleIO::write_wfc_pw(istep, iter, GlobalV::KPAR, GlobalV::MY_POOL, GlobalV::MY_RANK, nbands, @@ -435,16 +325,6 @@ void Get_wf_lcao::begin(const UnitCell& ucell, } } } -#ifdef __OLD_GINT - for (int ik = 0; ik < nks; ++ik) - { - for (int ib = 0; ib < nbands; ++ib) - { - delete[] wfc_k_grid[ik][ib]; - } - delete[] wfc_k_grid[ik]; - } -#endif return; } @@ -600,6 +480,7 @@ template int Get_wf_lcao::set_wfc_grid(const int naroc[2], const double* in, double** out, const std::vector& trace_lo); + template int Get_wf_lcao::set_wfc_grid(const int naroc[2], const int nb, const int dim0, diff --git a/source/source_io/get_wf_lcao.h b/source/source_io/get_wf_lcao.h index b182e352bd..94afb2cb64 100644 --- a/source/source_io/get_wf_lcao.h +++ b/source/source_io/get_wf_lcao.h @@ -1,9 +1,8 @@ #ifndef GET_WF_LCAO_H #define GET_WF_LCAO_H -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" #include "source_estate/elecstate.h" +#include "source_basis/module_ao/parallel_orbitals.h" class Get_wf_lcao { @@ -17,7 +16,6 @@ class Get_wf_lcao const ModulePW::PW_Basis_K* pw_wfc, const Parallel_Grid& pgrid, const Parallel_Orbitals& para_orb, - Gint_Gamma& gg, const int& out_wfc_pw, const K_Vectors& kv, const double nelec, @@ -29,34 +27,12 @@ class Get_wf_lcao const std::string& global_out_dir, std::ofstream& ofs_running); - /// tmp, delete after Gint is refactored. - void begin(const UnitCell& ucell, - const psi::Psi* psid, - const ModulePW::PW_Basis_K* pw_wfc, - const Parallel_Grid& pgrid, - const Parallel_Orbitals& para_orb, - Gint_k& gg, - const int& out_wfc_pw, - const K_Vectors& kv, - const double nelec, - const std::vector& out_wfc_norm, - const std::vector& out_wfc_re_im, - const int nbands, - const int nspin, - const int nlocal, - const std::string& global_out_dir, - std::ofstream& ofs_running) - { - throw std::logic_error("gint_k should use with complex psi."); - }; - /// For multi-k void begin(const UnitCell& ucell, const psi::Psi>* psi, const ModulePW::PW_Basis_K* pw_wfc, const Parallel_Grid& pgrid, const Parallel_Orbitals& para_orb, - Gint_k& gk, const int& out_wfc_pw, const K_Vectors& kv, const double nelec, @@ -68,27 +44,6 @@ class Get_wf_lcao const std::string& global_out_dir, std::ofstream& ofs_running); - /// tmp, delete after Gint is refactored. - void begin(const UnitCell& ucell, - const psi::Psi>* psi, - const ModulePW::PW_Basis_K* pw_wfc, - const Parallel_Grid& pgrid, - const Parallel_Orbitals& para_orb, - Gint_Gamma& gk, - const int& out_wfc_pw, - const K_Vectors& kv, - const double nelec, - const std::vector& out_wfc_norm, - const std::vector& out_wfc_re_im, - const int nbands, - const int nspin, - const int nlocal, - const std::string& global_out_dir, - std::ofstream& ofs_running) - { - throw std::logic_error("gint_gamma should use with real psi."); - }; - private: void prepare_get_wf(std::ofstream& ofs_running); diff --git a/source/source_io/input_conv.cpp b/source/source_io/input_conv.cpp index 952ca873d1..8e3fb560ca 100644 --- a/source/source_io/input_conv.cpp +++ b/source/source_io/input_conv.cpp @@ -43,6 +43,8 @@ #include "source_hsolver/hsolver_pw.h" #include "source_md/md_func.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 20251107 + #ifdef __LCAO std::vector Input_Conv::convert_units(std::string params, double c) { std::vector params_ori; @@ -213,16 +215,16 @@ void Input_Conv::Convert() if (PARAM.inp.dft_plus_u) { - GlobalC::dftu.Yukawa = PARAM.inp.yukawa_potential; - GlobalC::dftu.omc = PARAM.inp.omc; - GlobalC::dftu.orbital_corr = PARAM.inp.orbital_corr; - GlobalC::dftu.uramping = PARAM.globalv.uramping; - GlobalC::dftu.mixing_dftu = PARAM.inp.mixing_dftu; - GlobalC::dftu.U = PARAM.globalv.hubbard_u; - GlobalC::dftu.U0 = PARAM.globalv.hubbard_u; + Plus_U::Yukawa = PARAM.inp.yukawa_potential; + Plus_U::omc = PARAM.inp.omc; + Plus_U::orbital_corr = PARAM.inp.orbital_corr; + Plus_U::uramping = PARAM.globalv.uramping; + Plus_U::mixing_dftu = PARAM.inp.mixing_dftu; + Plus_U::U = PARAM.globalv.hubbard_u; + Plus_U::U0 = PARAM.globalv.hubbard_u; if (PARAM.globalv.uramping > 0.01) { - ModuleBase::GlobalFunc::ZEROS(GlobalC::dftu.U.data(), PARAM.inp.ntype); + ModuleBase::GlobalFunc::ZEROS(Plus_U::U.data(), PARAM.inp.ntype); } } @@ -472,7 +474,9 @@ void Input_Conv::Convert() GlobalC::exx_info.info_ri.V_grad_R_threshold = PARAM.inp.exx_v_grad_r_threshold; GlobalC::exx_info.info_ri.ccp_rmesh_times = std::stod(PARAM.inp.exx_ccp_rmesh_times); GlobalC::exx_info.info_ri.exx_symmetry_realspace = PARAM.inp.exx_symmetry_realspace; + GlobalC::exx_info.info_ri.Cs_inv_thr = PARAM.inp.exx_cs_inv_thr; + GlobalC::exx_info.info_opt_abfs.pca_threshold = PARAM.inp.exx_pca_threshold; GlobalC::exx_info.info_opt_abfs.abfs_Lmax = PARAM.inp.exx_opt_orb_lmax; GlobalC::exx_info.info_opt_abfs.ecut_exx = PARAM.inp.exx_opt_orb_ecut; GlobalC::exx_info.info_opt_abfs.tolerence = PARAM.inp.exx_opt_orb_tolerence; diff --git a/source/source_io/module_parameter/input_parameter.h b/source/source_io/module_parameter/input_parameter.h index 2222cd4c19..34be2037de 100644 --- a/source/source_io/module_parameter/input_parameter.h +++ b/source/source_io/module_parameter/input_parameter.h @@ -6,6 +6,7 @@ #include #include + // It stores all input parameters both defined in INPUT file and not defined in // INPUT file struct Input_para @@ -59,7 +60,6 @@ struct Input_para std::string orbital_dir = ""; ///< directory of orbital file std::string read_file_dir = "auto"; ///< directory of files for reading bool restart_load = false; - std::string wannier_card = "none"; ///< input card for wannier functions. int mem_saver = 0; ///< 1: save psi when nscf calculation. int diago_proc = 0; ///< the number of procs used to diag. mohan add 2012-01-13 int nbspline = -1; ///< the order of B-spline basis(>=0) if it is -1 (default) @@ -68,6 +68,7 @@ struct Input_para std::string device = "auto"; std::string precision = "double"; + bool timer_enable_nvtx = false; // ============== #Parameters (2.Electronic structure) =========================== std::string ks_solver = "default"; ///< xiaohui add 2013-09-01 @@ -123,8 +124,9 @@ struct Input_para bool lspinorb = false; ///< consider the spin-orbit interaction bool noncolin = false; ///< using non-collinear-spin - double soc_lambda = 1.0; ///< The fraction of averaged SOC pseudopotential - ///< is given by (1-soc_lambda) + double soc_lambda = 1.0; ///< The fraction of SOC based on scalar relativity (SR) of the pseudopotential + + int dfthalf_type = 0; ///< DFT-1/2 type, 0:off, 1: shell DFT-1/2 // ============== #Parameters (3.LCAO) =========================== int nb2d = 0; ///< matrix 2d division. @@ -149,7 +151,7 @@ struct Input_para // int bessel_nao_lmax; ///< lmax used in descriptor // ============== #Parameters (4.Relaxation) =========================== - std::string relax_method = "cg"; ///< methods to move_ion: sd, bfgs, cg... + std::vector relax_method = {"cg","1"}; ///< methods to move_ion: sd, bfgs, cg... bool relax_new = true; bool relax = false; ///< allow relaxation along the specific direction double relax_scale_force = 0.5; @@ -267,6 +269,8 @@ struct Input_para ///< descriptors for training, wenfei 2022-1-12 int deepks_out_freq_elec = 0; ///< (need libnpy) frequency of electronic iteration to output ///< descriptors and labels, default is 0, which means no output until convergence + std::string deepks_out_base = "none"; ///< (need libnpy) base functional for output files, with dft_functional as target functional + /// default is "none", which means no base functional bool deepks_scf = false; ///< (need libnpy and libtorch) if set to true, a trained model ///< would be needed to calculate V_delta and F_delta int deepks_bandgap = 0; ///< for bandgap label. QO added 2021-12-15 @@ -297,11 +301,10 @@ struct Input_para int propagator = 0; ///< method of propagator int td_stype = 0; ///< type of space domain 0 : length gauge 1: velocity gauge std::string td_ttype = "0"; ///< type of time domain - ///< 0 Gauss type function. - ///< 1 trapezoid type function. - ///< 2 Trigonometric functions, sin^2. - ///< 3 heaviside function. - ///< 4 HHG function. + ///< 0: Gaussian type function. + ///< 1: Trapezoid type function. + ///< 2: Trigonometric functions, sin^2. + ///< 3: Heaviside step function. int td_tstart = 1; int td_tend = 1000; @@ -362,9 +365,9 @@ struct Input_para = {}; ///< the number of basis functions for each atom type used in FHI-aims (for benchmark) // ============== #Parameters (11.Output) =========================== bool out_stru = false; ///< outut stru file each ion step - int out_freq_elec = 0; ///< the frequency of electronic iter to output charge and wavefunction - int out_freq_ion = 0; ///< the frequency ( >= 0 ) of ionic step to output charge density; - ///< 0: output only when ion steps are finished + int out_freq_elec = 0; ///< print information every few electronic steps + int out_freq_ion = 0; ///< print information every few ionic steps + int out_freq_td = 0; ///< print information every few completed electronic iterations in RT-TDDFT std::vector out_chg = {0, 3}; ///< output charge density. 0: no; 1: yes std::vector out_xc_r = {-1, 3}; ///< output xc(r). -1: no; >=0: output the order of xc(r) int out_pot = 0; ///< yes or no @@ -375,9 +378,8 @@ struct Input_para bool out_mul = false; ///< qifeng add 2019-9-10 bool out_proj_band = false; ///< projected band structure calculation jiyy add 2022-05-11 std::string out_level = "ie"; ///< control the output information. - bool out_dmk = false; ///< output density matrix DM(k) - bool out_dmr = false; ///< output density matrix DM(R) - bool out_bandgap = false; ///< QO added for bandgap printing + std::vector out_dmr = {0, 8}; ///< output density matrix in real space DM(R) + std::vector out_dmk = {0, 8}; ///< output density matrix in reciprocal space DM(k) std::vector out_mat_hs = {0, 8}; ///< output H matrix and S matrix in local basis. std::vector out_mat_tk = {0, 8}; ///< output T(k) matrix in local basis. std::vector out_mat_l = {0, 8}; ///< output L matrix in local basis. @@ -389,7 +391,6 @@ struct Input_para ///< KS-orbital representation. bool out_mat_xc2 = false; ///< output exchange-correlation matrix Vxc(R) in NAO representation. bool out_eband_terms = false; ///< output the band energy terms separately - int out_interval = 1; bool out_app_flag = true; ///< whether output r(R), H(R), S(R), T(R), and dH(R) matrices ///< in an append manner during MD liuyu 2023-03-20 int out_ndigits = 8; ///< Assuming 8 digits precision is needed for matrices output @@ -410,6 +411,8 @@ struct Input_para bool if_separate_k = false; ///< whether to write partial charge for all k-points to individual files or merge them std::vector out_elf = {0, 3}; ///< output the electron localization function (ELF). 0: no; 1: yes std::vector cal_symm_repr = {0, 3}; ///< output the symmetry representation matrix + int out_spillage = 0; ///< output the spillage of the wave function + std::string spillage_outdir = "./"; ///< output directory for spillage // ============== #Parameters (12.Postprocess) =========================== double dos_emin_ev = -15.0; @@ -544,12 +547,13 @@ struct Input_para ///< calculating Columb potential is to that of atomic orbitals int exx_opt_orb_lmax = 0; ///< the maximum l of the spherical Bessel functions for opt ABFs double exx_opt_orb_ecut = 0.0; ///< the cut-off of plane wave expansion for opt ABFs - double exx_opt_orb_tolerence = 0.0; ///< the threshold when solving for the zeros of spherical Bessel + double exx_opt_orb_tolerence = 1E-12; ///< the threshold when solving for the zeros of spherical Bessel ///< functions for opt ABFs bool exx_symmetry_realspace = true; ///< whether to reduce the real-space sector in when using symmetry=1 in EXX calculation double rpa_ccp_rmesh_times = 10.0; ///< how many times larger the radial mesh required for ///< calculating Columb potential is to that of atomic orbitals + double exx_cs_inv_thr = -1; ///< threshold to inverse Vq in abfs for generating Cs bool out_ri_cv = false; ///< Whether to output the coefficient tensor C and ABFs-representation Coulomb matrix V // ============== #Parameters (16.dft+u) ====================== // DFT+U Xin Qu added on 2020-10-29 @@ -652,35 +656,46 @@ struct Input_para // EXX for planewave basis, rhx0820 2025-03-10 bool exxace = true; // exxace, exact exchange for planewave basis, https://doi.org/10.1021/acs.jctc.6b00092 bool exx_gamma_extrapolation = true; // gamma point extrapolation for exx, https://doi.org/10.1103/PhysRevB.79.205114 + std::string exx_thr_type = "density"; // threshold type for exx outer loop, energy or density + double exx_ene_thr = 1e-5; // threshold for exx outer loop when exx_thr_type = energy + double ecutexx = 0.0; // energy cutoff for exx calculation, Ry // ==== #Parameters (23.XC external parameterization) ======== /* * the following two sets of parameters are for the XC parameterization. * The first element should be the LibXC id, to assign the analytical * form of the eXchange and Correlation part of the functional. - * + * * Starting from the second parameter, the parameters are the coefficients * of the functional. For example the M06-L functional, one should refer * to the source file (source code of LibXC) - * + * * src/mgga_x_m06l.c - * + * * the implementation can be found in the file - * + * * src/maple2c/mgga_exc/mgga_x_m06l.c. - * + * * There are 18 parameters for the exchange part, so the whole length of * the xc_exch_ext should be 19. (MGGA_X_M06L, id = 203) - * + * * Likewise, the correlation part can be found in corresponding files. - * + * * PBE functional is used as the default functional for XCPNet. */ // src/gga_x_pbe.c std::vector xc_exch_ext = { - 101, 0.8040, 0.2195149727645171}; + 101, 0.8040, 0.2195149727645171}; // src/gga_c_pbe.c std::vector xc_corr_ext = { - 130, 0.06672455060314922, 0.031090690869654895034, 1.00000}; + 130, 0.06672455060314922, 0.031090690869654895034, 1.00000}; + + // ============== #Parameters (24.td-ofdft) =========================== + bool of_cd = false; ///< add CD potential or not https://doi.org/10.1103/PhysRevB.98.144302 + double of_mCD_alpha = 1.0; /// parameter of modified CD Potential + + // ============== #Parameters (25.uncommon hardware) ================= + int dsp_count = 4; /// the count of dsp hardwares in one node + }; #endif diff --git a/source/source_io/numerical_basis.cpp b/source/source_io/numerical_basis.cpp index 76c87d8660..aab51006f9 100644 --- a/source/source_io/numerical_basis.cpp +++ b/source/source_io/numerical_basis.cpp @@ -11,7 +11,6 @@ #include "source_cell/module_symmetry/symmetry.h" #include "source_pw/module_pwdft/global.h" #include "source_io/numerical_basis_jyjy.h" -#include "winput.h" #include #include @@ -82,13 +81,12 @@ void Numerical_Basis::output_overlap(const psi::Psi>& psi, this->mu_index = this->init_mu_index(ucell); this->init_label = true; } - ModuleBase::GlobalFunc::MAKE_DIR(winput::spillage_outdir); + ModuleBase::GlobalFunc::MAKE_DIR(PARAM.inp.spillage_outdir); for (int derivative_order = 0; derivative_order <= 1; ++derivative_order) // Peize Lin add 2020.04.23 { std::ofstream ofs; std::stringstream ss; - // the parameter 'winput::spillage_outdir' is read from INPUTw. - ss << winput::spillage_outdir << "/"; + ss << PARAM.inp.spillage_outdir << "/"; if (PARAM.inp.bessel_nao_rcuts.size() > 1) { @@ -134,7 +132,7 @@ void Numerical_Basis::output_overlap(const psi::Psi>& psi, ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "cal_overlap_Q"); // (2) generate Sq matrix if necessary. - if (winput::out_spillage == 2) + if (PARAM.inp.out_spillage == 2) { #ifndef __LCAO // compute in plane-wave basis @@ -197,7 +195,7 @@ void Numerical_Basis::output_overlap(const psi::Psi>& psi, ModuleBase::WARNING_QUIT("Numerical_Basis", "Failed to write overlap Q to file."); } // because one stage of file io complete, re-check the file status. - if (winput::out_spillage == 2) + if (PARAM.inp.out_spillage == 2) { // caution: this is the largest matrix to be output, always flush if (ofs.good()) { diff --git a/source/source_io/numerical_descriptor.cpp b/source/source_io/numerical_descriptor.cpp index b4810c07dd..5ccf46cb6e 100644 --- a/source/source_io/numerical_descriptor.cpp +++ b/source/source_io/numerical_descriptor.cpp @@ -2,7 +2,6 @@ #include "source_pw/module_pwdft/global.h" #include "source_io/module_parameter/parameter.h" #include "source_cell/module_symmetry/symmetry.h" -#include "winput.h" #include "source_base/math_ylmreal.h" #include "source_base/parallel_reduce.h" #include "source_base/timer.h" @@ -75,8 +74,7 @@ void Numerical_Descriptor::output_descriptor(const UnitCell& ucell, const psi::P //----------------------------------- std::ofstream ofs; std::stringstream ss; - // the parameter 'winput::spillage_outdir' is read from INPUTw. - ss << winput::spillage_outdir << "/" << "descriptor.dat"; + ss << PARAM.inp.spillage_outdir << "/" << "descriptor.dat"; if (GlobalV::MY_RANK==0) { ofs.open(ss.str().c_str()); diff --git a/source/source_io/output.cpp b/source/source_io/output.cpp index cf6d5eb86f..7512e0bfe2 100644 --- a/source/source_io/output.cpp +++ b/source/source_io/output.cpp @@ -10,7 +10,6 @@ void output::printrm(std::ofstream &ofs,const std::string &s, const ModuleBase:: if (b1*b2 == 0) return; for (int i = 0;i < b1;i++) { -// ofs<<"\n row = "< limit) std::cout << std::setprecision(15) << std::setw(20) << m(i,j); if (std::abs(m(i,j)) > limit) std::cout << std::setprecision(6) << std::setw(12) << m(i,j); -// else std::cout< limit) ofs<< std::setw(12) << sqrt(norm); - else ofs< limit) std::cout<< std::setw(12) << sqrt(norm); - else std::cout< atom_label; diff --git a/source/source_io/output_mat_sparse.cpp b/source/source_io/output_mat_sparse.cpp index 12d65edd61..9fb5184919 100644 --- a/source/source_io/output_mat_sparse.cpp +++ b/source/source_io/output_mat_sparse.cpp @@ -5,8 +5,7 @@ namespace ModuleIO { - -template <> +template void output_mat_sparse(const bool& out_mat_hsR, const bool& out_mat_dh, const bool& out_mat_ds, @@ -15,39 +14,20 @@ void output_mat_sparse(const bool& out_mat_hsR, const int& istep, const ModuleBase::matrix& v_eff, const Parallel_Orbitals& pv, - Gint_k& gint_k, const TwoCenterBundle& two_center_bundle, const LCAO_Orbitals& orb, UnitCell& ucell, const Grid_Driver& grid, const K_Vectors& kv, - hamilt::Hamilt* p_ham) -{ -} - -template <> -void output_mat_sparse(const bool& out_mat_hsR, - const bool& out_mat_dh, - const bool& out_mat_ds, - const bool& out_mat_t, - const bool& out_mat_r, - const int& istep, - const ModuleBase::matrix& v_eff, - const Parallel_Orbitals& pv, - Gint_k& gint_k, - const TwoCenterBundle& two_center_bundle, - const LCAO_Orbitals& orb, - UnitCell& ucell, - const Grid_Driver& grid, - const K_Vectors& kv, - hamilt::Hamilt>* p_ham) + hamilt::Hamilt* p_ham, + Plus_U* p_dftu) { LCAO_HS_Arrays HS_Arrays; // store sparse arrays //! generate a file containing the Hamiltonian and S(overlap) matrices if (out_mat_hsR) { - output_HSR(ucell,istep, v_eff, pv, HS_Arrays, grid, kv, p_ham); + output_HSR(ucell, istep, pv, HS_Arrays, grid, kv, *p_dftu, p_ham); } //! generate a file containing the kinetic energy matrix @@ -61,7 +41,6 @@ void output_mat_sparse(const bool& out_mat_hsR, { output_dHR(istep, v_eff, - gint_k, // mohan add 2024-04-01 ucell, pv, HS_Arrays, @@ -90,7 +69,7 @@ void output_mat_sparse(const bool& out_mat_hsR, r_matrix.init(ucell, pv, orb); if (out_mat_hsR) { - r_matrix.out_rR_other(ucell,istep, HS_Arrays.output_R_coor); + r_matrix.out_rR_other(ucell, istep, HS_Arrays.output_R_coor); } else { @@ -101,4 +80,36 @@ void output_mat_sparse(const bool& out_mat_hsR, return; } +template void output_mat_sparse(const bool& out_mat_hsR, + const bool& out_mat_dh, + const bool& out_mat_ds, + const bool& out_mat_t, + const bool& out_mat_r, + const int& istep, + const ModuleBase::matrix& v_eff, + const Parallel_Orbitals& pv, + const TwoCenterBundle& two_center_bundle, + const LCAO_Orbitals& orb, + UnitCell& ucell, + const Grid_Driver& grid, + const K_Vectors& kv, + hamilt::Hamilt* p_ham, + Plus_U* p_dftu); + +template void output_mat_sparse>(const bool& out_mat_hsR, + const bool& out_mat_dh, + const bool& out_mat_ds, + const bool& out_mat_t, + const bool& out_mat_r, + const int& istep, + const ModuleBase::matrix& v_eff, + const Parallel_Orbitals& pv, + const TwoCenterBundle& two_center_bundle, + const LCAO_Orbitals& orb, + UnitCell& ucell, + const Grid_Driver& grid, + const K_Vectors& kv, + hamilt::Hamilt>* p_ham, + Plus_U* p_dftu); + } // namespace ModuleIO diff --git a/source/source_io/output_mat_sparse.h b/source/source_io/output_mat_sparse.h index 065f510214..ec9af7af72 100644 --- a/source/source_io/output_mat_sparse.h +++ b/source/source_io/output_mat_sparse.h @@ -5,7 +5,8 @@ #include "source_basis/module_nao/two_center_bundle.h" #include "source_cell/klist.h" #include "source_hamilt/hamilt.h" -#include "source_lcao/module_gint/gint_k.h" +#include "source_cell/module_neighbor/sltk_grid_driver.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 20251107 namespace ModuleIO { @@ -19,13 +20,13 @@ void output_mat_sparse(const bool& out_mat_hsR, const int& istep, const ModuleBase::matrix& v_eff, const Parallel_Orbitals& pv, - Gint_k& gint_k, // mohan add 2024-04-01 const TwoCenterBundle& two_center_bundle, const LCAO_Orbitals& orb, UnitCell& ucell, const Grid_Driver& grid, // mohan add 2024-04-06 const K_Vectors& kv, - hamilt::Hamilt* p_ham); + hamilt::Hamilt* p_ham, + Plus_U* p_dftu); // mohan add 20251107 } // namespace ModuleIO #endif // OUTPUT_MAT_SPARSE_H diff --git a/source/source_io/output_mulliken.cpp b/source/source_io/output_mulliken.cpp index f5d0c47f65..5cbdfab589 100644 --- a/source/source_io/output_mulliken.cpp +++ b/source/source_io/output_mulliken.cpp @@ -547,24 +547,24 @@ void Output_Mulliken>::cal_orbMulP() const char N_char = 'N'; const int one_int = 1; const std::complex one_float = {1.0, 0.0}, zero_float = {0.0, 0.0}; - pzgemm_(&N_char, - &T_char, - &nw, - &nw, - &nw, - &one_float, + ScalapackConnector::gemm(N_char, + T_char, + nw, + nw, + nw, + one_float, p_DMk, - &one_int, - &one_int, + one_int, + one_int, this->ParaV_->desc, p_Sk, - &one_int, - &one_int, + one_int, + one_int, this->ParaV_->desc, - &zero_float, + zero_float, mud.c, - &one_int, - &one_int, + one_int, + one_int, this->ParaV_->desc); this->collect_MW(MecMulP, mud, nw, this->isk_[ik]); #endif @@ -597,24 +597,24 @@ void Output_Mulliken::cal_orbMulP() const char N_char = 'N'; const int one_int = 1; const double one_float = 1.0, zero_float = 0.0; - pdgemm_(&N_char, - &T_char, - &nw, - &nw, - &nw, - &one_float, + ScalapackConnector::gemm(N_char, + T_char, + nw, + nw, + nw, + one_float, p_DMk, - &one_int, - &one_int, + one_int, + one_int, this->ParaV_->desc, p_Sk, - &one_int, - &one_int, + one_int, + one_int, this->ParaV_->desc, - &zero_float, + zero_float, mud.c, - &one_int, - &one_int, + one_int, + one_int, this->ParaV_->desc); if (this->nspin_ == 1 || this->nspin_ == 2) { diff --git a/source/source_io/output_mulliken.h b/source/source_io/output_mulliken.h index b5b73c37cf..42c3cdc550 100644 --- a/source/source_io/output_mulliken.h +++ b/source/source_io/output_mulliken.h @@ -9,6 +9,7 @@ #include "source_io/output_sk.h" #include "source_base/formatter.h" #include "source_lcao/module_operator_lcao/dspin_lcao.h" +#include "source_estate/module_dm/density_matrix.h" // mohan add 2025-11-04 #include #include @@ -89,7 +90,7 @@ template void cal_mag(Parallel_Orbitals* pv, hamilt::Hamilt* p_ham, K_Vectors& kv, - elecstate::ElecState* pelec, + elecstate::DensityMatrix* dm, // mohan add 2025-11-04 const TwoCenterBundle& two_center_bundle, const LCAO_Orbitals& orb, UnitCell& ucell, @@ -102,12 +103,10 @@ void cal_mag(Parallel_Orbitals* pv, { auto cell_index = CellIndex(ucell.get_atomLabels(), ucell.get_atomCounts(), ucell.get_lnchiCounts(), PARAM.inp.nspin); - auto out_sk = ModuleIO::Output_Sk(p_ham, pv, PARAM.inp.nspin, kv.get_nks()); - auto out_dmk = ModuleIO::Output_DMK(dynamic_cast*>(pelec)->get_DM(), - pv, - PARAM.inp.nspin, - kv.get_nks()); - auto mulp = ModuleIO::Output_Mulliken(&(out_sk), &(out_dmk), pv, &cell_index, kv.isk, PARAM.inp.nspin); + auto out_s_k = ModuleIO::Output_Sk(p_ham, pv, PARAM.inp.nspin, kv.get_nks()); + auto out_dm_k = ModuleIO::Output_DMK(dm, pv, PARAM.inp.nspin, kv.get_nks()); + + auto mulp = ModuleIO::Output_Mulliken(&(out_s_k), &(out_dm_k), pv, &cell_index, kv.isk, PARAM.inp.nspin); auto atom_chg = mulp.get_atom_chg(); /// used in updating mag info in STRU file ucell.atom_mulliken = mulp.get_atom_mulliken(atom_chg); @@ -126,8 +125,7 @@ void cal_mag(Parallel_Orbitals* pv, { std::vector> atom_mag(ucell.nat, std::vector(PARAM.inp.nspin, 0.0)); std::vector> constrain(ucell.nat, ModuleBase::Vector3(1, 1, 1)); - const hamilt::HContainer* dmr - = dynamic_cast*>(pelec)->get_DM()->get_DMR_pointer(1); + const hamilt::HContainer* dmr = dm->get_DMR_pointer(1); std::vector moments; std::vector mag_x(ucell.nat, 0.0); std::vector mag_y(ucell.nat, 0.0); @@ -143,9 +141,9 @@ void cal_mag(Parallel_Orbitals* pv, &gd, two_center_bundle.overlap_orb_onsite.get(), orb.cutoffs()); - dynamic_cast*>(pelec)->get_DM()->switch_dmr(2); + dm->switch_dmr(2); moments = sc_lambda->cal_moment(dmr, constrain); - dynamic_cast*>(pelec)->get_DM()->switch_dmr(0); + dm->switch_dmr(0); delete sc_lambda; //const std::vector title = {"Total Magnetism (uB)", ""}; //const std::vector fmts = {"%-26s", "%20.10f"}; diff --git a/source/source_io/parse_args.cpp b/source/source_io/parse_args.cpp index 9d172e2469..4d24a35597 100644 --- a/source/source_io/parse_args.cpp +++ b/source/source_io/parse_args.cpp @@ -1,14 +1,121 @@ #include "parse_args.h" +#include "build_info.h" #include #include +#include +#include #include "source_io/read_input.h" #include "source_main/version.h" +#if defined(COMMIT_INFO) +#include "commit.h" +#endif + namespace ModuleIO { +void print_build_info() +{ + const int label_width = 30; + + auto print_section = [](const std::string& title) { + std::cout << std::endl; + std::cout << "----------------- " << title << " -----------------" << std::endl; + }; + + auto print_info = [label_width](const std::string& label, const std::string& value) { + std::cout << std::left << std::setw(label_width) << (label + ":") << " " << value << std::endl; + }; + + // --- 1. Core & Platform Info --- + print_section("ABACUS Core & Platform"); + print_info("ABACUS Version", VERSION); +#if defined(COMMIT) + print_info("Git Commit", COMMIT); +#else + print_info("Git Commit", "N/A"); +#endif + print_info("Target Platform", ABACUS_PLATFORM_NAME); + print_info("Build Type", ABACUS_BUILD_TYPE); + + // --- 2. Build Environment --- + print_section("Build Environment"); + print_info("Built By", ABACUS_BUILD_USER); + print_info("Built On", ABACUS_BUILD_HOST); + print_info("Built At", std::string(__DATE__) + " " + __TIME__); + + // --- 3. Compiler Info --- + print_section("Compiler & Flags"); + print_info("C++ Compiler", std::string(ABACUS_CXX_COMPILER_ID) + " (" + ABACUS_CXX_COMPILER_PATH + ")"); + print_info("C++ Compiler Ver", ABACUS_CXX_COMPILER_VERSION); + print_info("C++ Flags", ABACUS_CXX_FLAGS); + print_info("Linker Flags", ABACUS_LINKER_FLAGS); + print_info("CUDA Flags", ABACUS_CUDA_FLAGS); + + // --- 4. Sanitizers & Debugging --- + print_section("Sanitizers & Debugging"); + print_info("AddressSanitizer", ABACUS_ASAN_STATUS); + print_info("Debug Symbols", ABACUS_DEBUG_SYMBOLS); + + // --- 5. CMake Configuration Summary --- + print_section("CMake Configuration Summary"); + std::cout << ABACUS_CMAKE_OPTIONS << std::endl; + std::cout << std::endl; + std::cout << ABACUS_CMAKE_FIND_PACKAGES << std::endl; + + // --- 6. Parallelism & Communication --- + print_section("Parallelism & Communication"); + print_info("MPI Implementation", ABACUS_MPI_IMPLEMENTATION); + print_info("MPI Version", ABACUS_MPI_VERSION); + print_info("CUDA-aware MPI", ABACUS_CUDA_AWARE_MPI); + print_info("OpenMP Support", ABACUS_OPENMP_VERSION); + + // --- 7. Core Math Libraries --- + print_section("Core Math Libraries"); +#if defined(__LCAO) + print_info("LCAO Algorithm", "yes"); +#else + print_info("LCAO Algorithm", "no"); +#endif + print_info("ELPA Support", ABACUS_ELPA_VERSION); + print_info("MKL Support", ABACUS_MKL_SUPPORT); + print_info("LibXC Support", ABACUS_LIBXC_VERSION); + print_info("FFTW Support", ABACUS_FFTW_VERSION); + + // --- 8. Accelerators & Specific Hardware --- + print_section("Accelerators & Hardware"); + print_info("NVIDIA CUDA Support", ABACUS_CUDA_VERSION); + print_info("AMD ROCm Support", ABACUS_ROCM_VERSION); + print_info("CUSOLVERMP Support", ABACUS_CUSOLVERMP_VERSION); + + // --- 9. Hybrid Functional Libraries --- + print_section("Hybrid Functional Libraries"); + print_info("Cereal Serialization", ABACUS_CEREAL_VERSION); + print_info("LibRI Support", ABACUS_LIBRI_VERSION); + print_info("LibComm Support", ABACUS_LIBCOMM_VERSION); + + // --- 10. AI & Machine Learning --- + print_section("AI & Machine Learning"); + print_info("LibTorch Support", ABACUS_LIBTORCH_VERSION); + print_info("Libnpy Support", ABACUS_LIBNPY_VERSION); + print_info("DeePMD-kit Support", ABACUS_DEEPMD_VERSION); + print_info("NEP Support", ABACUS_NEP_VERSION); + print_info("TensorFlow Support", ABACUS_TENSORFLOW_VERSION); + + // --- 11. Testing & Other Libraries --- + print_section("Testing & Other Libraries"); + print_info("GTest Support", ABACUS_GTEST_VERSION); + print_info("Google Benchmark", ABACUS_GOOGLEBENCH_VERSION); + print_info("RapidJSON Support", ABACUS_RAPIDJSON_VERSION); + print_info("PEXSI Support", ABACUS_PEXSI_VERSION); + print_info("cnpy Support", ABACUS_CNPY_VERSION); + + std::cout << "----------------------------------------------------" << std::endl; + std::cout << std::endl; +} + void parse_args(int argc, char** argv) { for (int i = 1; i < argc; ++i) // Start from 1 to skip the program name @@ -16,7 +123,7 @@ void parse_args(int argc, char** argv) std::string arg = argv[i]; if (arg == "--version" || arg == "-v" || arg == "-V") { -#ifdef VERSION +#if defined(VERSION) const char* version = VERSION; #else const char* version = "unknown"; @@ -24,16 +131,25 @@ void parse_args(int argc, char** argv) std::cout << "ABACUS version " << version << std::endl; std::exit(0); } + else if (arg == "--info" || arg == "-i" || arg == "-I") + { + print_build_info(); + std::exit(0); + } else if (arg == "--check-input") { ModuleIO::ReadInput::check_mode = true; } else { - std::cerr << "Unknown argument: " << arg << std::endl; + std::cerr << "Error: Unknown argument: " << arg << std::endl; + std::cerr << "Usage: abacus [options]" << std::endl; + std::cerr << " -v, -V, --version Display version information." << std::endl; + std::cerr << " -i, -I, --info Display detailed build information." << std::endl; + std::cerr << " --check-input Check input file syntax and exit." << std::endl; std::exit(1); } } } -} // namespace ModuleIO \ No newline at end of file +} // namespace ModuleIO diff --git a/source/source_io/parse_args.h b/source/source_io/parse_args.h index c2a246946e..24d99ec5e6 100644 --- a/source/source_io/parse_args.h +++ b/source/source_io/parse_args.h @@ -4,8 +4,10 @@ namespace ModuleIO { /** - * @brief This function reture the version information when using command - * "abacus --version", "abacus -v" or "abacus -V". Otherwise, it does nothing. + * @brief This function returns the version information when using command + * "abacus --version", "abacus -v" or "abacus -V"; returns the compilation + * details when using command "abacus --info", "abacus -i" or "abacus -I"; + * otherwise, it returns usage. * * @param [in] argc (ARGument Count) is an integer variable that stores the number * of command-line arguments passed by the user including the name of the program. @@ -18,6 +20,7 @@ namespace ModuleIO * arguments. */ void parse_args(int argc, char** argv); +void print_build_info(); } // namespace ModuleIO -#endif \ No newline at end of file +#endif diff --git a/source/source_io/print_info.cpp b/source/source_io/print_info.cpp index 4f46083030..7db14b4638 100644 --- a/source/source_io/print_info.cpp +++ b/source/source_io/print_info.cpp @@ -7,36 +7,39 @@ namespace ModuleIO { -void setup_parameters(UnitCell& ucell, K_Vectors& kv) +void print_parameters( + const UnitCell& ucell, + K_Vectors& kv, + const Input_para& inp) { - ModuleBase::TITLE("ModuleIO", "setup_parameters"); - - if(PARAM.inp.calculation=="scf" - || PARAM.inp.calculation=="relax" - || PARAM.inp.calculation=="cell-relax" - || PARAM.inp.calculation=="nscf" - || PARAM.inp.calculation=="get_pchg" - || PARAM.inp.calculation=="get_wf" - || PARAM.inp.calculation=="md") + ModuleBase::TITLE("ModuleIO", "print_parameters"); + + if(inp.calculation=="scf" + || inp.calculation=="relax" + || inp.calculation=="cell-relax" + || inp.calculation=="nscf" + || inp.calculation=="get_pchg" + || inp.calculation=="get_wf" + || inp.calculation=="md") { std::cout << " ---------------------------------------------------------" << std::endl; - if(PARAM.inp.calculation=="scf") + if(inp.calculation=="scf") { std::cout << " Self-consistent calculations for electrons" << std::endl; } - else if(PARAM.inp.calculation=="test") + else if(inp.calculation=="test") { std::cout << " Test run" << std::endl; } - if(PARAM.inp.calculation=="relax") + if(inp.calculation=="relax") { std::cout << " Ion relaxation calculations" << std::endl; } - if(PARAM.inp.calculation=="cell-relax") + if(inp.calculation=="cell-relax") { std::cout << " Cell relaxation calculations" << std::endl; } - if(PARAM.inp.calculation=="md") + if(inp.calculation=="md") { std::cout << " Molecular Dynamics simulations" << std::endl; @@ -79,12 +82,12 @@ void setup_parameters(UnitCell& ucell, K_Vectors& kv) << std::setw(12) << "PROCESSORS" << std::setw(12) << "THREADS"; - const bool orbinfo = (PARAM.inp.basis_type=="lcao" || PARAM.inp.basis_type=="lcao_in_pw" - || (PARAM.inp.basis_type=="pw" && PARAM.inp.init_wfc.substr(0, 3) == "nao")); + const bool orbinfo = (inp.basis_type=="lcao" || inp.basis_type=="lcao_in_pw" + || (inp.basis_type=="pw" && inp.init_wfc.substr(0, 3) == "nao")); if (orbinfo) { std::cout << std::setw(12) << "NBASE"; } std::cout << std::endl; - std::cout << " " << std::setw(8) << PARAM.inp.nspin; + std::cout << " " << std::setw(8) << inp.nspin; if(PARAM.globalv.gamma_only_local) { @@ -105,15 +108,15 @@ void setup_parameters(UnitCell& ucell, K_Vectors& kv) std::cout << " ---------------------------------------------------------" << std::endl; - if(PARAM.inp.basis_type == "lcao") + if(inp.basis_type == "lcao") { std::cout << " Use Systematically Improvable Atomic bases" << std::endl; } - else if(PARAM.inp.basis_type == "lcao_in_pw") + else if(inp.basis_type == "lcao_in_pw") { std::cout << " Expand Atomic bases into plane waves" << std::endl; } - else if(PARAM.inp.basis_type == "pw") + else if(inp.basis_type == "pw") { std::cout << " Use plane wave basis" << std::endl; } @@ -384,4 +387,32 @@ void print_screen(const int& stress_step, const int& force_step, const int& iste GlobalV::ofs_running << " ================================================================" << std::endl; } + +void print_kpar(const int &nks, const int &kpar_lcao) +{ + assert(nks>0); + assert(kpar_lcao>0); + + // 15) if kpar is not divisible by nks, print a warning + if (kpar_lcao > 1) + { + if (nks % kpar_lcao != 0) + { + ModuleBase::WARNING("ModuleIO::print_kpar", "nks is not divisible by kpar."); + std::cout << "\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" + "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" + "%%%%%%%%%%%%%%%%%%%%%%%%%%" + << std::endl; + std::cout << " Warning: nks (" << nks << ") is not divisible by kpar (" + << kpar_lcao << ")." << std::endl; + std::cout << " This may lead to poor load balance. It is strongly suggested to" << std::endl; + std::cout << " set nks to be divisible by kpar, but if this is really what" << std::endl; + std::cout << " you want, please ignore this warning." << std::endl; + std::cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" + "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" + "%%%%%%%%%%%%\n"; + } + } +} + } // namespace ModuleIO diff --git a/source/source_io/print_info.h b/source/source_io/print_info.h index 78672601c1..fcdb90704d 100644 --- a/source/source_io/print_info.h +++ b/source/source_io/print_info.h @@ -1,9 +1,5 @@ -//========================================================== -// AUTHOR : mohan -// DATE : 2021-01-30 -//========================================================== -#ifndef PRINT_INFO -#define PRINT_INFO +#ifndef PRINT_INFO_H +#define PRINT_INFO_H #include "source_base/timer.h" #include "source_basis/module_pw/pw_basis_k.h" @@ -13,18 +9,26 @@ namespace ModuleIO { - // print out to screen about the readin parameters -void setup_parameters(UnitCell& ucell, K_Vectors& kv); +void print_parameters( + const UnitCell& ucell, + K_Vectors& kv, + const Input_para& inp); + void print_time(time_t& time_start, time_t& time_finish); + void print_screen(const int& stress_step, const int& force_step, const int& istep); + //! Print charge density using FFT void print_rhofft(ModulePW::PW_Basis* pw_rhod, ModulePW::PW_Basis* pw_rho, ModulePW::PW_Basis_Big* pw_big, std::ofstream& ofs); + void print_wfcfft(const Input_para& inp, ModulePW::PW_Basis_K& pw_wfc, std::ofstream& ofs); +void print_kpar(const int &nks, const int &kpar_lcao); + } // namespace ModuleIO #endif diff --git a/source/source_io/read_input.cpp b/source/source_io/read_input.cpp index c59c31d8c6..b35a32988d 100644 --- a/source/source_io/read_input.cpp +++ b/source/source_io/read_input.cpp @@ -15,6 +15,10 @@ #include "source_base/tool_quit.h" #include "source_base/tool_title.h" #include "source_base/module_device/device.h" +#include +#include +#include +#include namespace ModuleIO { @@ -69,7 +73,7 @@ std::string to_dir(const std::string& str) return str_dir; } -void read_information(std::ifstream& ifs, std::vector& output, const std::string& delimiters) +void read_information(std::stringstream& ifs, std::vector& output, const std::string& delimiters) { std::string line; getline(ifs, line); @@ -88,6 +92,62 @@ void read_information(std::ifstream& ifs, std::vector& output, cons bool ReadInput::check_mode = false; +bool filter_nonascii_and_comment(std::ifstream& ifs, + std::stringstream& out_ascii_stream) +{ + // + if (!ifs.is_open()) { + if (!ifs) return false; + } + + std::streampos old_pos = ifs.tellg(); + ifs.clear(); + ifs.seekg(0, std::ios::beg); + + char c; + while (ifs.get(c)) { + // If comment start, skip until end of line (but keep the newline) + if (c == '#') { + char d; + bool newline_found = false; + while (ifs.get(d)) { + if (d == '\n' || d == '\r') { + // preserve line break in output + out_ascii_stream.put('\n'); + // If CRLF, consume the LF after CR (already wrote a single '\n') + if (d == '\r' && ifs.peek() == '\n') { + ifs.get(d); // consume '\n' + } + newline_found = true; + break; + } + } + if (!newline_found) { + // reached EOF while skipping comment + break; + } + continue; + } + + unsigned char uc = static_cast(c); + if (uc <= 0x7F) { + // ASCII character + out_ascii_stream.put(c); + } + else { + // replace non-ASCII with space character + out_ascii_stream.put(' '); + } + } + + // recover ifstream state and position + ifs.clear(); + ifs.seekg(old_pos, std::ios::beg); + + return true; +} + + ReadInput::ReadInput(const int& rank) { this->rank = rank; @@ -101,6 +161,7 @@ ReadInput::ReadInput(const int& rank) this->item_sdft(); this->item_deepks(); this->item_rt_tddft(); + this->item_tdofdft(); this->item_lr_tddft(); this->item_output(); this->item_postprocess(); @@ -196,7 +257,6 @@ void ReadInput::create_directory(const Parameter& param) } // NOTE: "make_dir_out" must be called by all processes!!! // Maybe it is not good, because only rank 0 can create the directory. - #ifndef __SW ModuleBase::Global_File::make_dir_out(param.input.suffix, param.input.calculation, out_dir, @@ -204,14 +264,12 @@ void ReadInput::create_directory(const Parameter& param) this->rank, param.input.mdp.md_restart, param.input.out_alllog); // xiaohui add 2013-09-01 - #endif - const std::string ss = "test -d " + PARAM.inp.read_file_dir; - #ifndef __SW - if (system(ss.c_str())) + //const std::string ss = "test -d " + PARAM.inp.read_file_dir; + struct stat st; + if (stat(PARAM.inp.read_file_dir.c_str(), &st) != 0 || !S_ISDIR(st.st_mode)) { ModuleBase::WARNING_QUIT("ReadInput", "please set right files directory for reading in."); } - #endif return; } @@ -227,32 +285,38 @@ void ReadInput::read_txt_input(Parameter& param, const std::string& filename) { ModuleBase::TITLE("ReadInput", "read_txt_input"); - std::ifstream ifs(filename.c_str(), std::ios::in); + std::stringstream ascii_stream; - if (!ifs) { - std::cout << " Can't find the INPUT file." << std::endl; - ModuleBase::WARNING_QUIT("Input::Init", "Error during readin parameters.", 1); - } + std::ifstream ifs(filename.c_str(), std::ios::in); - ifs.clear(); - ifs.seekg(0); + if (!ifs) + { + std::cout << " Can't find the INPUT file." << std::endl; + ModuleBase::WARNING_QUIT("Input::Init", "Error during readin parameters.", 1); + } - std::string word; - int ierr = 0; + ifs.clear(); + ifs.seekg(0); + + filter_nonascii_and_comment(ifs, ascii_stream); + ifs.clear(); - // ifs >> std::setiosflags(ios::uppercase); - ifs.rdstate(); - while (ifs.good()) + // file close after reading + } + + int ierr = 0; + ascii_stream.rdstate(); + while (ascii_stream.good()) { - ifs >> word; - ifs.ignore(150, '\n'); + std::string word; + ascii_stream >> word; + ascii_stream.ignore(150, '\n'); if (word == "INPUT_PARAMETERS") { ierr = 1; break; } - ifs.rdstate(); } if (ierr == 0) @@ -265,14 +329,13 @@ void ReadInput::read_txt_input(Parameter& param, const std::string& filename) "Bad parameter, please check the input parameters in file INPUT", 1); } - ifs.rdstate(); - // the `word1` is moved here and is renamed to improve the code-readability - std::string word_; // temporary variable to store the keyword read-in - while (ifs.good()) + ascii_stream.rdstate(); + while (ascii_stream.good()) { - ifs >> word_; - if (ifs.eof()) { break; } - word = FmtCore::lower(word_); // the lowercase of the keyword + std::string word; // temporary variable to store the keyword read-in + ascii_stream >> word; + if (ascii_stream.eof()) { break; } + word = FmtCore::lower(word); // the lowercase of the keyword auto it = std::find_if(input_lists.begin(), input_lists.end(), [&word](const std::pair& item) { return item.first == word; }); if (it != this->input_lists.end()) // find the keyword @@ -285,7 +348,7 @@ void ReadInput::read_txt_input(Parameter& param, const std::string& filename) ModuleBase::WARNING_QUIT("ReadInput", warningstr); } // qianrui delete '/' 2024-07-10, because path has '/' head. - read_information(ifs, p_item->str_values, "#!"); + read_information(ascii_stream, p_item->str_values, "#!"); } else // otherwise, it should be a comment or an unrecognized parameter { @@ -298,25 +361,24 @@ void ReadInput::read_txt_input(Parameter& param, const std::string& filename) // otherwise, it is a comment. However, ... // but it is not always to be shorter than 150 characters // we can use ignore to skip the rest of the line - ifs.ignore(std::numeric_limits::max(), '\n'); + ascii_stream.ignore(std::numeric_limits::max(), '\n'); } - ifs.rdstate(); - if (ifs.eof()) + ascii_stream.rdstate(); + if (ascii_stream.eof()) { break; } - else if (ifs.bad()) + else if (ascii_stream.bad()) { - std::cout << " Bad input parameters. " << std::endl; - exit(1); + ModuleBase::WARNING_QUIT("Input", + " Bad input parameters. ", 1); } - else if (ifs.fail()) + else if (ascii_stream.fail()) { - std::cout << " word = " << word << std::endl; - std::cout << " Fail to read parameters. " << std::endl; - ifs.clear(); - exit(1); + ascii_stream.clear(); + ModuleBase::WARNING_QUIT("Input", + " fail to read parameters. ", 1); } } @@ -487,12 +549,12 @@ void ReadInput::check_ntype(const std::string& fn, int& param_ntype) int ReadInput::current_md_step(const std::string& file_dir) { std::stringstream ssc; - ssc << file_dir << "Restart_md.dat"; + ssc << file_dir << "Restart_md.txt"; std::ifstream file(ssc.str().c_str()); if (!file) { - ModuleBase::WARNING_QUIT("current_md_step", "no Restart_md.dat"); + ModuleBase::WARNING_QUIT("current_md_step", "no Restart_md.txt"); } int md_step; diff --git a/source/source_io/read_input.h b/source/source_io/read_input.h index 8f1f2e0ec0..f65379e7c3 100644 --- a/source/source_io/read_input.h +++ b/source/source_io/read_input.h @@ -5,6 +5,9 @@ #include "source_io/module_parameter/parameter.h" #include +#include +#include + namespace ModuleIO { @@ -68,7 +71,7 @@ class ReadInput /** * @brief determine the md step in restart case * - * @param file_dir directory of Restart_md.dat + * @param file_dir directory of Restart_md.txt * @return md step */ int current_md_step(const std::string& file_dir); @@ -108,6 +111,8 @@ class ReadInput // items for real time tddft void item_rt_tddft(); // items for linear response tddft + void item_tdofdft(); + // items for td-ofdft void item_lr_tddft(); // items for output void item_output(); @@ -150,6 +155,13 @@ std::string to_dir(const std::string& str); // return a warning string if the string is not found in the vector std::string nofound_str(std::vector init_chgs, const std::string& str); + +// filter non-ASCII characters from ifstream and output to stringstream +// return true if successful, false otherwise +bool filter_nonascii_and_comment(std::ifstream& ifs, + std::stringstream& out_ascii_stream); + + } // namespace ModuleIO #endif \ No newline at end of file diff --git a/source/source_io/read_input_item_deepks.cpp b/source/source_io/read_input_item_deepks.cpp index 15356ab0cf..9f51d3511a 100644 --- a/source/source_io/read_input_item_deepks.cpp +++ b/source/source_io/read_input_item_deepks.cpp @@ -23,6 +23,28 @@ void ReadInput::item_deepks() para.input.deepks_out_freq_elec = 0; } }; + item.check_value = [](const Input_Item& item, const Parameter& para) { + if (para.input.deepks_out_freq_elec > 0 && para.input.deepks_out_base == "none") + { + ModuleBase::WARNING_QUIT("ReadInput", "to use deepks_out_freq_elec, please set deepks_out_base "); + } + }; + this->add_item(item); + } + { + Input_Item item("deepks_out_base"); + item.annotation = "base functional for output files, with dft_functional as target functional"; + read_sync_string(input.deepks_out_base); + item.check_value = [](const Input_Item& item, const Parameter& para) { + if (para.input.deepks_out_base != "none" && para.input.deepks_out_labels == 0) + { + ModuleBase::WARNING_QUIT("ReadInput", "to use deepks_out_base, please set deepks_out_labels > 0 "); + } + if (para.input.deepks_out_base != "none" && para.input.deepks_bandgap > 0 ) + { + ModuleBase::WARNING_QUIT("ReadInput", "outputting bandgap labels during electronic steps is not implemented yet "); + } + }; this->add_item(item); } { diff --git a/source/source_io/read_input_item_elec_stru.cpp b/source/source_io/read_input_item_elec_stru.cpp index 8daabfdc0e..900bc72e9c 100644 --- a/source/source_io/read_input_item_elec_stru.cpp +++ b/source/source_io/read_input_item_elec_stru.cpp @@ -128,7 +128,7 @@ void ReadInput::item_elec_stru() #endif #ifndef __CUDA warningstr = "ks_solver is set to " + ks_solver + " but ABACUS is built with CPU only!\n" - + " Please rebuild ABACUS with GPU support or change the ks_solver."; + + " Please rebuild ABACUS with GPU support or change the ks_solver."; ModuleBase::WARNING_QUIT("ReadInput", warningstr); #endif if( ks_solver == "cusolvermp") @@ -137,7 +137,7 @@ void ReadInput::item_elec_stru() warningstr = "ks_solver is set to cusolvermp, but ABACUS is not built with cusolvermp support\n" " Please rebuild ABACUS with cusolvermp support or change the ks_solver."; ModuleBase::WARNING_QUIT("ReadInput", warningstr); -#endif +#endif } } else if (ks_solver == "pexsi") @@ -274,13 +274,13 @@ void ReadInput::item_elec_stru() const double libxc_id_dbl = para.input.xc_exch_ext[0]; if (std::abs(libxc_id_dbl - std::round(libxc_id_dbl)) > 1.0e-6) { - ModuleBase::WARNING_QUIT("ReadInput", + ModuleBase::WARNING_QUIT("ReadInput", "The first parameter (libxc id) can never be a float number"); } // the first value is a positive integer if (libxc_id_dbl < 0) { - ModuleBase::WARNING_QUIT("ReadInput", + ModuleBase::WARNING_QUIT("ReadInput", "The first parameter (libxc id) should be a positive integer"); } }; @@ -308,13 +308,13 @@ void ReadInput::item_elec_stru() const double libxc_id_dbl = para.input.xc_corr_ext[0]; if (std::abs(libxc_id_dbl - std::round(libxc_id_dbl)) > 1.0e-6) { - ModuleBase::WARNING_QUIT("ReadInput", + ModuleBase::WARNING_QUIT("ReadInput", "The first parameter (libxc id) can never be a float number"); } // the first value is a positive integer if (libxc_id_dbl < 0) { - ModuleBase::WARNING_QUIT("ReadInput", + ModuleBase::WARNING_QUIT("ReadInput", "The first parameter (libxc id) should be a positive integer"); } }; @@ -418,7 +418,7 @@ void ReadInput::item_elec_stru() item.annotation = "type of smearing_method: gauss; fd; fixed; mp; mp2; mv"; read_sync_string(input.smearing_method); item.check_value = [](const Input_Item& item, const Parameter& para) { - const std::vector methods = {"gauss", "gaussian", + const std::vector methods = {"gauss", "gaussian", "fd", "fermi-dirac", "fixed", "mp", "mp2", "mp3" @@ -575,9 +575,9 @@ void ReadInput::item_elec_stru() "set to 1, a fast algorithm is used"; read_sync_bool(input.gamma_only); item.reset_value = [](const Input_Item& item, Parameter& para) { - if (para.input.basis_type == "pw" && para.input.gamma_only) + if (para.input.basis_type == "pw" && para.input.gamma_only) { - para.input.gamma_only = false; + para.input.gamma_only = false; GlobalV::ofs_warning << " WARNING : gamma_only has not been implemented for pw yet" << std::endl; GlobalV::ofs_warning << "gamma_only is not supported in the pw model" << std::endl; GlobalV::ofs_warning << " the INPUT parameter gamma_only has been reset to 0" << std::endl; @@ -716,8 +716,7 @@ void ReadInput::item_elec_stru() } { Input_Item item("soc_lambda"); - item.annotation = "The fraction of averaged SOC pseudopotential is " - "given by (1-soc_lambda)"; + item.annotation = "The fraction of SOC based on scalar relativity (SR) of the pseudopotential"; read_sync_double(input.soc_lambda); this->add_item(item); } @@ -893,5 +892,11 @@ void ReadInput::item_elec_stru() read_sync_double(input.bessel_nao_sigma); this->add_item(item); } + { + Input_Item item("dfthalf_type"); + item.annotation = "DFT-1/2 type, 0:off; 1:shell DFT-1/2"; + read_sync_int(input.dfthalf_type); + this->add_item(item); + } } } // namespace ModuleIO diff --git a/source/source_io/read_input_item_exx_dftu.cpp b/source/source_io/read_input_item_exx_dftu.cpp index 7f9edc633e..9889fd1156 100644 --- a/source/source_io/read_input_item_exx_dftu.cpp +++ b/source/source_io/read_input_item_exx_dftu.cpp @@ -243,6 +243,12 @@ void ReadInput::item_exx() read_sync_double(input.exx_pca_threshold); this->add_item(item); } + { + Input_Item item("exx_cs_inv_thr"); + item.annotation = "threshold to inverse Vq in abfs for generating Cs"; + read_sync_double(input.exx_cs_inv_thr); + this->add_item(item); + } { Input_Item item("exx_c_threshold"); item.annotation = "threshold to screen C matrix in exx"; @@ -326,9 +332,9 @@ void ReadInput::item_exx() } }; item.check_value = [](const Input_Item& item, const Parameter& para) { - if (std::stod(para.input.exx_ccp_rmesh_times) < 1) + if (std::stod(para.input.exx_ccp_rmesh_times) <=0) { - ModuleBase::WARNING_QUIT("ReadInput", "exx_ccp_rmesh_times must >= 1"); + ModuleBase::WARNING_QUIT("ReadInput", "exx_ccp_rmesh_times must > 0"); } }; this->add_item(item); @@ -337,12 +343,6 @@ void ReadInput::item_exx() Input_Item item("exx_opt_orb_lmax"); item.annotation = "the maximum l of the spherical Bessel functions for opt ABFs"; read_sync_int(input.exx_opt_orb_lmax); - item.check_value = [](const Input_Item& item, const Parameter& para) { - if (para.input.exx_opt_orb_lmax < 0) - { - ModuleBase::WARNING_QUIT("ReadInput", "exx_opt_orb_lmax must >= 0"); - } - }; this->add_item(item); } { diff --git a/source/source_io/read_input_item_other.cpp b/source/source_io/read_input_item_other.cpp index 5694c7b33b..93bce67e35 100644 --- a/source/source_io/read_input_item_other.cpp +++ b/source/source_io/read_input_item_other.cpp @@ -545,6 +545,44 @@ void ReadInput::item_others() read_sync_bool(input.exx_gamma_extrapolation); this->add_item(item); } + { + Input_Item item("exx_thr_type"); + item.annotation = "threshold type for exx outer loop, energy or density"; + read_sync_string(input.exx_thr_type); + item.check_value = [](const Input_Item& item, const Parameter& para) { + std::string thr_type = para.input.exx_thr_type; + std::transform(thr_type.begin(), thr_type.end(), thr_type.begin(), ::tolower); + if (thr_type != "energy" && thr_type != "density") + { + ModuleBase::WARNING_QUIT("ReadInput", "exx_thr_type should be energy or density"); + } + }; + this->add_item(item); + } + { + Input_Item item("exx_ene_thr"); + item.annotation = "threshold for exx outer loop when exx_thr_type = energy"; + read_sync_double(input.exx_ene_thr); + item.check_value = [](const Input_Item& item, const Parameter& para) { + if (para.input.exx_ene_thr <= 0) + { + ModuleBase::WARNING_QUIT("ReadInput", "exx_ene_thr must > 0"); + } + }; + this->add_item(item); + } + { + Input_Item item("ecutexx"); + item.annotation = "energy cutoff for exx calculation, Ry"; + read_sync_double(input.ecutexx); + item.check_value = [](const Input_Item& item, const Parameter& para) { + if (para.input.ecutexx < 0) + { + ModuleBase::WARNING_QUIT("ReadInput", "ecutexx must >= 0"); + } + }; + this->add_item(item); + } } } // namespace ModuleIO \ No newline at end of file diff --git a/source/source_io/read_input_item_output.cpp b/source/source_io/read_input_item_output.cpp index 09bbb79e66..f5e068a581 100644 --- a/source/source_io/read_input_item_output.cpp +++ b/source/source_io/read_input_item_output.cpp @@ -21,7 +21,7 @@ void ReadInput::item_output() } { Input_Item item("out_freq_elec"); - item.annotation = "the frequency of electronic iter to output charge density and wavefunction "; + item.annotation = "print information every few electronic steps"; item.reset_value = [](const Input_Item& item, Parameter& para) { if (para.input.out_freq_elec <= 0) { @@ -31,27 +31,20 @@ void ReadInput::item_output() read_sync_int(input.out_freq_elec); this->add_item(item); } - { - Input_Item item("out_freq_ion"); - item.annotation = "the frequency ( >= 0 ) of ionic step to output " - "charge density and wavefunction. 0: output " - "only when ion steps are finished"; - read_sync_int(input.out_freq_ion); - this->add_item(item); - } { Input_Item item("out_chg"); item.annotation = "> 0 output charge density for selected electron steps" ", second parameter controls the precision, default is 3."; - item.read_value = [](const Input_Item& item, Parameter& para) { - const size_t count = item.get_size(); - if (count != 1 && count != 2) - { - ModuleBase::WARNING_QUIT("ReadInput", "out_chg should have 1 or 2 values"); - } - para.input.out_chg[0] = (item.str_values[0] == "-1") ? -1 : std::stoi(item.str_values[0]); - para.input.out_chg[1] = (count == 2) ? std::stoi(item.str_values[1]) : 3; - }; + item.read_value = [](const Input_Item& item, Parameter& para) { + const size_t count = item.get_size(); + if (count < 1) ModuleBase::WARNING_QUIT("ReadInput", "out_chg needs at least 1 value"); + para.input.out_chg[0] = std::stoi(item.str_values[0]); + para.input.out_chg[1] = 3; + if (count >= 2) try { para.input.out_chg[1] = std::stoi(item.str_values[1]); } + catch (const std::invalid_argument&) { /* do nothing */ } + catch (const std::out_of_range&) {/* do nothing */} + }; + // reset value in some special case item.reset_value = [](const Input_Item& item, Parameter& para) { para.input.out_chg[0] = (para.input.calculation == "get_wf" || para.input.calculation == "get_pchg") ? 1 @@ -196,51 +189,65 @@ void ReadInput::item_output() { Input_Item item("out_dmk"); item.annotation = ">0 output density matrix DM(k) for each k-point"; - item.reset_value = [](const Input_Item& item, Parameter& para) { - if (para.input.calculation == "get_pchg" || para.input.calculation == "get_wf") - { - para.input.out_dmk = false; - } - }; - read_sync_bool(input.out_dmk); + item.read_value = [](const Input_Item& item, Parameter& para) { + const size_t count = item.get_size(); + if (count < 1) ModuleBase::WARNING_QUIT("ReadInput", "out_dmk needs at least 1 value"); + para.input.out_dmk[0] = assume_as_boolean(item.str_values[0]); + para.input.out_dmk[1] = 8; + if (count >= 2) try { para.input.out_dmk[1] = std::stoi(item.str_values[1]); } + catch (const std::invalid_argument&) { /* do nothing */ } + catch (const std::out_of_range&) {/* do nothing */} + // some other case + if (para.input.calculation == "get_pchg" || para.input.calculation == "get_wf") + { + para.input.out_dmk[0] = 0; + } + }; + sync_intvec(input.out_dmk, 2, 0); this->add_item(item); } { Input_Item item("out_dmr"); - item.annotation = ">0 output density matrix DM(R) with respect to lattice vector R"; - item.reset_value = [](const Input_Item& item, Parameter& para) { - if (para.input.calculation == "get_pchg" || para.input.calculation == "get_wf") - { - para.input.out_dmr = false; - } - }; + item.annotation = "output density matrix DM(R) with respect to lattice vector R (with precision 8)"; + + item.read_value = [](const Input_Item& item, Parameter& para) { + const size_t count = item.get_size(); + if (count < 1) ModuleBase::WARNING_QUIT("ReadInput", "out_dmr needs at least 1 value"); + para.input.out_dmr[0] = assume_as_boolean(item.str_values[0]); + para.input.out_dmr[1] = 8; + if (count >= 2) try { para.input.out_dmr[1] = std::stoi(item.str_values[1]); } + catch (const std::invalid_argument&) { /* do nothing */ } + catch (const std::out_of_range&) {/* do nothing */} + // some special case + if (para.input.calculation == "get_pchg" || para.input.calculation == "get_wf") + { + para.input.out_dmr[0] = 0; + } + }; + item.check_value = [](const Input_Item& item, const Parameter& para) { - if (para.sys.gamma_only_local == true && para.input.out_dmr) + if (para.sys.gamma_only_local == true && para.input.out_dmr[0]) { ModuleBase::WARNING_QUIT("ReadInput", "out_dmr is only valid for multi-k calculation"); } }; - read_sync_bool(input.out_dmr); - this->add_item(item); - } - { - Input_Item item("out_bandgap"); - item.annotation = "if true, print out bandgap"; - read_sync_bool(input.out_bandgap); + + sync_intvec(input.out_dmr, 2, 0); this->add_item(item); } { Input_Item item("out_mat_hs"); item.annotation = "output H and S matrix (with precision 8)"; - item.read_value = [](const Input_Item& item, Parameter& para) { - const size_t count = item.get_size(); - if (count != 1 && count != 2) - { - ModuleBase::WARNING_QUIT("ReadInput", "out_mat_hs should have 1 or 2 values"); - } - para.input.out_mat_hs[0] = assume_as_boolean(item.str_values[0]); - para.input.out_mat_hs[1] = (count == 2) ? std::stoi(item.str_values[1]) : 8; - }; + item.read_value = [](const Input_Item& item, Parameter& para) { + const size_t count = item.get_size(); + if (count < 1) ModuleBase::WARNING_QUIT("ReadInput", "out_mat_hs needs at least 1 value"); + para.input.out_mat_hs[0] = assume_as_boolean(item.str_values[0]); + para.input.out_mat_hs[1] = 8; + if (count >= 2) try { para.input.out_mat_hs[1] = std::stoi(item.str_values[1]); } + catch (const std::invalid_argument&) { /* do nothing */ } + catch (const std::out_of_range&) {/* do nothing */} + }; + // reset value in some special case item.reset_value = [](const Input_Item& item, Parameter& para) { if (para.input.qo_switch) { @@ -252,15 +259,15 @@ void ReadInput::item_output() } { Input_Item item("out_mat_tk"); - item.annotation = "output T(k)"; - item.read_value = [](const Input_Item& item, Parameter& para) { - const size_t count = item.get_size(); - if (count != 1 && count != 2) - { - ModuleBase::WARNING_QUIT("ReadInput", "out_mat_tk should have 1 or 2 values"); - } - para.input.out_mat_tk[0] = assume_as_boolean(item.str_values[0]); - para.input.out_mat_tk[1] = (count == 2) ? std::stoi(item.str_values[1]) : 8; + item.annotation = "output kinetic matrix of electrons T(k)"; + item.read_value = [](const Input_Item& item, Parameter& para) { + const size_t count = item.get_size(); + if (count < 1) ModuleBase::WARNING_QUIT("ReadInput", "out_mat_tk needs at least 1 value"); + para.input.out_mat_tk[0] = assume_as_boolean(item.str_values[0]); + para.input.out_mat_tk[1] = 8; + if (count >= 2) try { para.input.out_mat_tk[1] = std::stoi(item.str_values[1]); } + catch (const std::invalid_argument&) { /* do nothing */ } + catch (const std::out_of_range&) {/* do nothing */} }; sync_intvec(input.out_mat_tk, 2, 0); this->add_item(item); @@ -280,14 +287,14 @@ void ReadInput::item_output() { Input_Item item("out_mat_l"); item.annotation = "output the expectation values of angular momentum operators"; - item.read_value = [](const Input_Item& item, Parameter& para) { - const size_t count = item.get_size(); - if (count != 1 && count != 2) - { - ModuleBase::WARNING_QUIT("ReadInput", "out_mat_l should have 1 or 2 values"); - } - para.input.out_mat_l[0] = assume_as_boolean(item.str_values[0]); - para.input.out_mat_l[1] = (count == 2) ? std::stoi(item.str_values[1]) : 8; + item.read_value = [](const Input_Item& item, Parameter& para) { + const size_t count = item.get_size(); + if (count < 1) ModuleBase::WARNING_QUIT("ReadInput", "out_mat_l needs at least 1 value"); + para.input.out_mat_l[0] = assume_as_boolean(item.str_values[0]); + para.input.out_mat_l[1] = 8; + if (count >= 2) try { para.input.out_mat_l[1] = std::stoi(item.str_values[1]); } + catch (const std::invalid_argument&) { /* do nothing */ } + catch (const std::out_of_range&) {/* do nothing */} }; sync_intvec(input.out_mat_l, 2, 0); this->add_item(item); @@ -335,15 +342,27 @@ void ReadInput::item_output() this->add_item(item); } { - Input_Item item("out_interval"); - item.annotation = "interval for printing H(R) and S(R) matrix during MD"; - read_sync_int(input.out_interval); - item.check_value = [](const Input_Item& item, const Parameter& para) { - if (para.input.out_interval <= 0) + Input_Item item("out_freq_ion"); + item.annotation = "print information every few ionic steps"; + item.reset_value = [](const Input_Item& item, Parameter& para) { + if (para.input.out_freq_ion <= 0) { - ModuleBase::WARNING_QUIT("ReadInput", "out_interval should be larger than 0"); + para.input.out_freq_ion = 0; // 0 means no output of info } }; + read_sync_int(input.out_freq_ion); + this->add_item(item); + } + { + Input_Item item("out_freq_td"); + item.annotation = "print information every few completed electronic iterations in RT-TDDFT"; + item.reset_value = [](const Input_Item& item, Parameter& para) { + if (para.input.out_freq_td <= 0) + { + para.input.out_freq_td = 0; // 0 means no output of info + } + }; + read_sync_int(input.out_freq_td); this->add_item(item); } { @@ -502,10 +521,13 @@ void ReadInput::item_output() item.read_value = [](const Input_Item& item, Parameter& para) { size_t count = item.get_size(); std::vector out_xc_r(count); // create a placeholder vector - std::transform(item.str_values.begin(), item.str_values.end(), out_xc_r.begin(), [](std::string s) { return std::stoi(s); }); + std::transform(item.str_values.begin(), + item.str_values.end(), + out_xc_r.begin(), [](std::string s) { return std::stoi(s); }); // assign non-negative values to para.input.out_xc_r std::copy(out_xc_r.begin(), out_xc_r.end(), para.input.out_xc_r.begin()); }; + // check value item.check_value = [](const Input_Item& item, const Parameter& para) { if (para.input.out_xc_r[0] >= 0) { @@ -572,5 +594,19 @@ void ReadInput::item_output() sync_intvec(input.cal_symm_repr, 2, 0); this->add_item(item); } + { + // refactored from the removal of wannier input file, ISSUE 6469 + Input_Item item("out_spillage"); + item.annotation = "output spillage of wavefunctions. This parameter only accepts 0 or 2."; + read_sync_int(input.out_spillage); + this->add_item(item); + } + { + // refactored from the removal of wannier input file, ISSUE 6469 + Input_Item item("spillage_outdir"); + item.annotation = "output directory for spillage of wavefunctions."; + read_sync_string(input.spillage_outdir); + this->add_item(item); + } } } // namespace ModuleIO diff --git a/source/source_io/read_input_item_relax.cpp b/source/source_io/read_input_item_relax.cpp index 036252f23b..f8c3453893 100644 --- a/source/source_io/read_input_item_relax.cpp +++ b/source/source_io/read_input_item_relax.cpp @@ -5,28 +5,55 @@ namespace ModuleIO { + + void ReadInput::item_relax() { { Input_Item item("relax_method"); item.annotation = "cg; bfgs; sd; cg; cg_bfgs;"; - read_sync_string(input.relax_method); - item.check_value = [](const Input_Item& item, const Parameter& para) { - const std::vector relax_methods = {"cg", "bfgs", "sd", "cg_bfgs","bfgs_trad","lbfgs"}; - if (std::find(relax_methods.begin(),relax_methods.end(), para.input.relax_method)==relax_methods.end()) - { - const std::string warningstr = nofound_str(relax_methods, "relax_method"); - ModuleBase::WARNING_QUIT("ReadInput", warningstr); - } + item.read_value = [](const Input_Item& item, Parameter& para) { + if(item.get_size()==1) + { + para.input.relax_method[0] = item.str_values[0]; + para.input.relax_method[1] = "1"; + } + else if(item.get_size()>=2) + { + para.input.relax_method[0] = item.str_values[0]; + para.input.relax_method[1] = item.str_values[1]; + } }; - this->add_item(item); + item.check_value = [](const Input_Item& item, const Parameter& para) { + const std::vector relax_methods = {"cg", "sd", "cg_bfgs","lbfgs","bfgs"}; + if (std::find(relax_methods.begin(), relax_methods.end(), para.input.relax_method[0]) == relax_methods.end()) { + const std::string warningstr = nofound_str(relax_methods, "relax_method"); + ModuleBase::WARNING_QUIT("ReadInput", warningstr); + } + }; + sync_stringvec(input.relax_method, para.input.relax_method.size(), ""); + this->add_item(item); + + + // Input_Item item("relax_method"); + // item.annotation = "cg; bfgs; sd; cg; cg_bfgs;"; + // read_sync_string(input.relax_method); + // item.check_value = [](const Input_Item& item, const Parameter& para) { + // const std::vector relax_methods = {"cg", "bfgs_old", "sd", "cg_bfgs","bfgs","lbfgs"}; + // if (std::find(relax_methods.begin(),relax_methods.end(), para.input.relax_method)==relax_methods.end()) + // { + // const std::string warningstr = nofound_str(relax_methods, "relax_method"); + // ModuleBase::WARNING_QUIT("ReadInput", warningstr); + // } + // }; + // this->add_item(item); } { Input_Item item("relax_new"); item.annotation = "whether to use the new relaxation method"; read_sync_bool(input.relax_new); item.reset_value = [](const Input_Item& item, Parameter& para) { - if (para.input.relax_new && para.input.relax_method != "cg") + if (para.input.relax_new && para.input.relax_method[0] != "cg") { para.input.relax_new = false; } diff --git a/source/source_io/read_input_item_system.cpp b/source/source_io/read_input_item_system.cpp index 378d77fcd1..113da0e245 100644 --- a/source/source_io/read_input_item_system.cpp +++ b/source/source_io/read_input_item_system.cpp @@ -108,20 +108,20 @@ void ReadInput::item_system() } { Input_Item item("esolver_type"); - item.annotation = "the energy solver: ksdft, sdft, ofdft, tddft, lj, dp, ks-lr, lr"; + item.annotation = "the energy solver: ksdft, sdft, ofdft, tdofdft, tddft, lj, dp, ks-lr, lr"; read_sync_string(input.esolver_type); item.check_value = [](const Input_Item& item, const Parameter& para) { - const std::vector esolver_types = { "ksdft", "sdft", "ofdft", "tddft", "lj", "dp", "lr", "ks-lr" }; + const std::vector esolver_types = { "ksdft", "sdft", "ofdft", "tdofdft", "tddft", "lj", "dp", "nep", "lr", "ks-lr" }; if (std::find(esolver_types.begin(), esolver_types.end(), para.input.esolver_type) == esolver_types.end()) { const std::string warningstr = nofound_str(esolver_types, "esolver_type"); ModuleBase::WARNING_QUIT("ReadInput", warningstr); } - if (para.input.esolver_type == "dp") + if (para.input.esolver_type == "dp" || para.input.esolver_type == "nep") { if (access(para.input.mdp.pot_file.c_str(), 0) == -1) { - ModuleBase::WARNING_QUIT("ReadInput", "Can not find DP model !"); + ModuleBase::WARNING_QUIT("ReadInput", "Can not find `pot_file` !"); } } }; @@ -552,7 +552,7 @@ void ReadInput::item_system() } }; item.check_value = [](const Input_Item& item, const Parameter& para) { - const std::vector init_chgs = {"atomic", "file", "wfc", "auto"}; + const std::vector init_chgs = {"atomic", "file", "wfc", "auto", "dm", "hr"}; if (std::find(init_chgs.begin(), init_chgs.end(), para.input.init_chg) == init_chgs.end()) { const std::string warningstr = nofound_str(init_chgs, "init_chg"); @@ -695,12 +695,6 @@ void ReadInput::item_system() read_sync_bool(input.restart_load); this->add_item(item); } - { - Input_Item item("wannier_card"); - item.annotation = "input card for wannier functions"; - read_sync_string(input.wannier_card); - this->add_item(item); - } { Input_Item item("mem_saver"); item.annotation = "Only for nscf calculations. if set to 1, then a " @@ -836,6 +830,12 @@ void ReadInput::item_system() }; this->add_item(item); } + { + Input_Item item("timer_enable_nvtx"); + item.annotation = "enable NVTX labeling for profiling or not"; + read_sync_bool(input.timer_enable_nvtx); + this->add_item(item); + } } } // namespace ModuleIO diff --git a/source/source_io/read_input_item_tddft.cpp b/source/source_io/read_input_item_tddft.cpp index 89751fd224..66aa47164e 100644 --- a/source/source_io/read_input_item_tddft.cpp +++ b/source/source_io/read_input_item_tddft.cpp @@ -305,6 +305,22 @@ void ReadInput::item_rt_tddft() } +} +void ReadInput::item_tdofdft() +{ + // TD-OFDFT + { + Input_Item item("of_cd"); + item.annotation = "add CD Potential or not"; + read_sync_bool(input.of_cd); + this->add_item(item); + } + { + Input_Item item("of_mcd_alpha"); + item.annotation = "parameter of modified CD Potential"; + read_sync_double(input.of_mCD_alpha); + this->add_item(item); + } } void ReadInput::item_lr_tddft() { diff --git a/source/source_io/read_set_globalv.cpp b/source/source_io/read_set_globalv.cpp index 5237c0647a..94c0095c27 100644 --- a/source/source_io/read_set_globalv.cpp +++ b/source/source_io/read_set_globalv.cpp @@ -1,8 +1,8 @@ +#include "read_input.h" +#include "read_input_tool.h" #include "source_base/global_variable.h" #include "source_base/tool_quit.h" #include "source_io/module_parameter/parameter.h" -#include "read_input.h" -#include "read_input_tool.h" namespace ModuleIO { /// @note Here para.inp has been synchronized of all ranks. @@ -101,7 +101,7 @@ void ReadInput::set_global_dir(const Input_para& inp, System_para& sys) sys.global_mlkedf_descriptor_dir = sys.global_out_dir + "MLKEDF_Descriptors/"; sys.global_mlkedf_descriptor_dir = to_dir(sys.global_mlkedf_descriptor_dir); - /// get the global directory for DeePKS labels during electronic steps + /// get the global directory for DeePKS labels during electronic steps sys.global_deepks_label_elec_dir = sys.global_out_dir + "DeePKS_Labels_Elec/"; sys.global_deepks_label_elec_dir = to_dir(sys.global_deepks_label_elec_dir); @@ -130,17 +130,22 @@ void ReadInput::set_global_dir(const Input_para& inp, System_para& sys) // set the global log file bool out_alllog = inp.out_alllog; + // set the global calculation type + std::string cal_type = inp.calculation; #ifdef __MPI // because log_file is different for each rank, so we need to bcast the out_alllog Parallel_Common::bcast_bool(out_alllog); + // In `ReadInput::read_parameters`, `bcastfunc(param)` is after `set_global_dir`, + // so `cal_type` must be synchronized here manually + Parallel_Common::bcast_string(cal_type); #endif if (out_alllog) { - PARAM.sys.log_file = "running_" + PARAM.inp.calculation + "_" + std::to_string(PARAM.sys.myrank + 1) + ".log"; + PARAM.sys.log_file = "running_" + cal_type + "_" + std::to_string(PARAM.sys.myrank + 1) + ".log"; } else { - PARAM.sys.log_file = "running_" + PARAM.inp.calculation + ".log"; + PARAM.sys.log_file = "running_" + cal_type + ".log"; } #ifdef __MPI Parallel_Common::bcast_string(sys.global_in_card); diff --git a/source/source_io/read_wfc_lcao.cpp b/source/source_io/read_wfc_lcao.cpp deleted file mode 100644 index 7738979aaa..0000000000 --- a/source/source_io/read_wfc_lcao.cpp +++ /dev/null @@ -1,492 +0,0 @@ -#include "source_io/read_wfc_lcao.h" - -#include "source_base/formatter.h" -#include "source_base/tool_quit.h" - -#include -#include -#include -#include - -#ifdef __MPI -#include "source_base/parallel_common.h" -#endif - -/* -template -void ModuleIO::read_wfc_lcao(const std::string& file, - int& ik, - ModuleBase::Vector3& kvec_c, - int& nbands, - int& nbasis, - std::vector>& lowf, - std::vector& ekb, - std::vector& occ, - double& wk) //<[out] wavefunction coefficients -{ - // assert the T must be double or float - std::ifstream ifs(file.c_str()); - if (!ifs) - { - ModuleBase::WARNING_QUIT("ModuleIO::read_wfc_lcao", "open file failed: " + file); - } - // will use line-by-line parse - std::string line; - bool read_kvec = false; - int iband = 0; - int ilocal = 0; - - wk = 1.0; - while (std::getline(ifs, line)) - { - // remove leading and trailing whitespaces - line = std::regex_replace(line, std::regex("^ +| +$|( ) +"), "$1"); - if (FmtCore::endswith(line, "(index of k points)")) - { - std::vector result = FmtCore::split(line); - ik = std::stoi(result[0]); - read_kvec = true; - continue; - } - if (read_kvec) - { - const std::vector result = FmtCore::split(line); - kvec_c.x = std::stod(result[0]); - kvec_c.y = std::stod(result[1]); - kvec_c.z = std::stod(result[2]); - read_kvec = false; - continue; - } - if (FmtCore::endswith(line, "(number of bands)")) - { - std::vector result = FmtCore::split(line); - nbands = std::stoi(result[0]); - ekb.resize(nbands, 0.0); // initialize ekb - occ.resize(nbands, 0.0); // initialize occ - } - else if (FmtCore::endswith(line, "(number of orbitals)")) - { - std::vector result = FmtCore::split(line); - nbasis = std::stoi(result[0]); - lowf.resize(nbands * nbasis, std::complex(0.0, 0.0)); // initialize lowf - } - else if (FmtCore::endswith(line, "(band)")) - { - std::vector result = FmtCore::split(line); - assert((ilocal == 0) || (ilocal == nbasis)); - iband = std::stoi(result[0]) - 1; - ilocal = 0; // reset ilocal - } - else if (FmtCore::endswith(line, "(Ry)")) - { - std::vector result = FmtCore::split(line); - ekb[iband] = std::stod(result[0]); - } - else if (FmtCore::endswith(line, "(Occupations)")) - { - std::vector result = FmtCore::split(line); - occ[iband] = std::stod(result[0]); - assert(ilocal == 0); - } - else // read wavefunction coefficients - { - const std::vector result = FmtCore::split(line); - // for the case the complex number is written as a b - for (int i = 0; i < result.size(); i += 2) - { - lowf[iband * nbasis + ilocal] = std::complex(std::stod(result[i]), std::stod(result[i + 1])); - ilocal += 1; - } - } - } - assert(lowf.size() == nbands * nbasis); - assert(iband == nbands - 1); - assert(ilocal == nbasis); -} - -// instantiate the template function -template void ModuleIO::read_wfc_lcao(const std::string& file, - int& ik, - ModuleBase::Vector3& kvec_c, - int& nbands, - int& nbasis, - std::vector>& lowf, - std::vector& ekb, - std::vector& occ, - double& wk); - -template void ModuleIO::read_wfc_lcao(const std::string& file, - int& ik, - ModuleBase::Vector3& kvec_c, - int& nbands, - int& nbasis, - std::vector>& lowf, - std::vector& ekb, - std::vector& occ, - double& wk); - -template -void ModuleIO::read_wfc_lcao(const std::string& file, - int& ik, - ModuleBase::Vector3& kvec_c, - int& nbands, - int& nbasis, - std::vector& lowf, - std::vector& ekb, - std::vector& occ, - double& wk) -{ - std::ifstream ifs(file.c_str()); - if (!ifs) - { - ModuleBase::WARNING_QUIT("ModuleIO::read_wfc_lcao", "open file failed: " + file); - } - // will use line-by-line parse - std::string line; - bool read_kvec = false; - int iband = 0; - int ilocal = 0; - - ik = 0; - kvec_c = ModuleBase::Vector3(0.0, 0.0, 0.0); - wk = 1.0; - while (std::getline(ifs, line)) - { - // remove leading and trailing whitespaces - line = std::regex_replace(line, std::regex("^ +| +$|( ) +"), "$1"); - if (read_kvec) - { - const std::vector result = FmtCore::split(line); - kvec_c.x = std::stod(result[0]); - kvec_c.y = std::stod(result[1]); - kvec_c.z = std::stod(result[2]); - read_kvec = false; - continue; - } - if (FmtCore::endswith(line, "(number of bands)")) - { - std::vector result = FmtCore::split(line); - nbands = std::stoi(result[0]); - ekb.resize(nbands, 0.0); // initialize ekb - occ.resize(nbands, 0.0); // initialize occ - } - else if (FmtCore::endswith(line, "(number of orbitals)")) - { - std::vector result = FmtCore::split(line); - nbasis = std::stoi(result[0]); - lowf.resize(nbands * nbasis, 0.0); // initialize lowf - } - else if (FmtCore::endswith(line, "(band)")) - { - std::vector result = FmtCore::split(line); - assert((ilocal == 0) || (ilocal == nbasis)); - iband = std::stoi(result[0]) - 1; - ilocal = 0; // reset ilocal - } - else if (FmtCore::endswith(line, "(Ry)")) - { - std::vector result = FmtCore::split(line); - ekb[iband] = std::stod(result[0]); - } - else if (FmtCore::endswith(line, "(Occupations)")) - { - std::vector result = FmtCore::split(line); - occ[iband] = std::stod(result[0]); - assert(ilocal == 0); - } - else // read wavefunction coefficients - { - const std::vector result = FmtCore::split(line); - for (const auto& token: result) - { - lowf[iband * nbasis + ilocal] = static_cast(std::stod(token)); - ilocal += 1; - } - } - } - assert(lowf.size() == nbands * nbasis); - assert(iband == nbands - 1); - assert(ilocal == nbasis); -} - -// instantiate the template function -template void ModuleIO::read_wfc_lcao(const std::string& file, - int& ik, - ModuleBase::Vector3& kvec_c, - int& nbands, - int& nbasis, - std::vector& lowf, - std::vector& ekb, - std::vector& occ, - double& wk); - -template void ModuleIO::read_wfc_lcao(const std::string& file, - int& ik, - ModuleBase::Vector3& kvec_c, - int& nbands, - int& nbasis, - std::vector& lowf, - std::vector& ekb, - std::vector& occ, - double& wk); - -#ifdef __MPI -template -void ModuleIO::restart_from_file(const std::string& out_dir, // hard-code the file name to be WFC_NAO_K*.txt? - const Parallel_2D& p2d, - const int& nks, - int& nbands, - int& nbasis, - std::vector& lowf_loc, - std::vector& ekb, - std::vector& occ, - std::vector>& kvec_c, - std::vector& wk) -{ - // reset vectors - lowf_loc.clear(); - ekb.clear(); - occ.clear(); - kvec_c.clear(); - wk.clear(); - const bool gamma_only = std::is_same::value || std::is_same::value; - const bool multi_k = std::is_same>::value || std::is_same>::value; - assert(gamma_only || multi_k); - const std::string file_prefix = gamma_only ? "WFC_GAMMA" : "WFC_NAO_K"; - // MPI-related variables init - int iproc=0; - - MPI_Comm_rank(p2d.comm(), &iproc); - // then start - int nbands_ = -1, nbasis_ = -1; - - // in LCAO, nks == nkstot - for (int ik = 0; ik < nks; ik++) - { - // check existence of file - const std::string file = out_dir + "/" + file_prefix + std::to_string(ik + 1) + ".txt"; - std::ifstream ifs(file); - if (!ifs) - { - ModuleBase::WARNING_QUIT("Module_IO::restart_from_file", "open file failed: " + file); - } - - std::vector lowf_glb; - std::vector lowf_loc_k; - std::vector ekb_; - std::vector occ_; - ModuleBase::Vector3 kvec; - double wk_ = 0.0; - - if (iproc == 0) // only one rank is needed to read the global lowf, ekb, ... - { - int ik_ = 0; - read_wfc_lcao(file, ik_, kvec, nbands, nbasis, lowf_glb, ekb_, occ_, wk_); - - assert(ik_ == ik + 1); // check the consistency of ik - assert(nbands == nbands_ || nbands_ == -1); // check the consistency of nbands - assert(nbasis == nbasis_ || nbasis_ == -1); // check the consistency of nbasis - - nbands_ = (nbands_ == -1) ? nbands : nbands_; - nbasis_ = (nbasis_ == -1) ? nbasis : nbasis_; - - ekb.insert(ekb.end(), ekb_.begin(), ekb_.end()); - occ.insert(occ.end(), occ_.begin(), occ_.end()); - wk.push_back(wk_); - kvec_c.push_back(kvec); - } - - MPI_Barrier(p2d.comm()); // wait for finishing the reading task - - // scatter the lowf_glb to lowf_loc - Parallel_2D p2d_glb; - Parallel_Common::bcast_int(nbands); - Parallel_Common::bcast_int(nbasis); - - p2d_glb.init(nbasis, nbands, std::max(nbasis, nbands), p2d.comm()); // in the same comm world - lowf_loc_k.resize(p2d.nrow * p2d.ncol); - - Cpxgemr2d(nbasis, - nbands, - lowf_glb.data(), - 1, - 1, - const_cast(p2d_glb.desc), - lowf_loc_k.data(), - 1, - 1, - const_cast(p2d.desc), - p2d_glb.blacs_ctxt); - // append to the global lowf_loc - lowf_loc.insert(lowf_loc.end(), lowf_loc_k.begin(), lowf_loc_k.end()); - } - assert(lowf_loc.size() == nks * p2d.nrow * p2d.ncol); - // still something to broadcast: ekb, occ, wk and kvec. - if (iproc != 0) - { - ekb.resize(nks * nbands, 0.0); - occ.resize(nks * nbands, 0.0); - wk.resize(nks, 0.0); - kvec_c.resize(nks); - } - Parallel_Common::bcast_double(ekb.data(), nks * nbands); - Parallel_Common::bcast_double(occ.data(), nks * nbands); - Parallel_Common::bcast_double(wk.data(), nks); - // Vector3 is not a trivial datatype, need to be broadcasted element by element - for (int ik = 0; ik < nks; ik++) - { - Parallel_Common::bcast_double(kvec_c[ik].x); - Parallel_Common::bcast_double(kvec_c[ik].y); - Parallel_Common::bcast_double(kvec_c[ik].z); - } -} - - -// instantiate the template function -template void ModuleIO::restart_from_file(const std::string& out_dir, - const Parallel_2D& p2d, - const int& nks, - int& nbands, - int& nbasis, - std::vector& lowf_loc, - std::vector& ekb, - std::vector& occ, - std::vector>& kvec_c, - std::vector& wk); - -template void ModuleIO::restart_from_file(const std::string& out_dir, - const Parallel_2D& p2d, - const int& nks, - int& nbands, - int& nbasis, - std::vector& lowf_loc, - std::vector& ekb, - std::vector& occ, - std::vector>& kvec_c, - std::vector& wk); - -template void ModuleIO::restart_from_file(const std::string& out_dir, - const Parallel_2D& p2d, - const int& nks, - int& nbands, - int& nbasis, - std::vector>& lowf_loc, - std::vector& ekb, - std::vector& occ, - std::vector>& kvec_c, - std::vector& wk); - -template void ModuleIO::restart_from_file(const std::string& out_dir, - const Parallel_2D& p2d, - const int& nks, - int& nbands, - int& nbasis, - std::vector>& lowf_loc, - std::vector& ekb, - std::vector& occ, - std::vector>& kvec_c, - std::vector& wk); -#endif - -template -void ModuleIO::restart_from_file(const std::string& out_dir, // hard-code the file name to be WFC_NAO_K*.txt? - const int& nks, - int& nbands, - int& nbasis, - std::vector& lowf, - std::vector& ekb, - std::vector& occ, - std::vector>& kvec_c, - std::vector& wk) -{ - // reset vectors - lowf.clear(); - ekb.clear(); - occ.clear(); - kvec_c.clear(); - wk.clear(); - const bool gamma_only = std::is_same::value || std::is_same::value; - const bool multi_k = std::is_same>::value || std::is_same>::value; - assert(gamma_only || multi_k); - const std::string file_prefix = gamma_only ? "WFC_GAMMA" : "WFC_NAO_K"; - int nbands_ = -1, nbasis_ = -1; - for (int ik = 0; ik < nks; ik++) - { - // check existence of file - const std::string file = out_dir + "/" + file_prefix + std::to_string(ik + 1) + ".txt"; - const std::ifstream ifs(file); - if (!ifs) - { - ModuleBase::WARNING_QUIT("restart_from_file", "open file failed: " + file); - } - - std::vector lowf_; - std::vector ekb_; - std::vector occ_; - ModuleBase::Vector3 kvec_; - double wk_=0.0; - int ik_=0; - - read_wfc_lcao(file, ik_, kvec_, nbands, nbasis, lowf_, ekb_, occ_, wk_); - - assert(nbands == nbands_ || nbands_ == -1); // check the consistency of nbands - assert(nbasis == nbasis_ || nbasis_ == -1); // check the consistency of nbasis - - nbands_ = (nbands_ == -1) ? nbands : nbands_; - nbasis_ = (nbasis_ == -1) ? nbasis : nbasis_; - - assert(ik_ == ik + 1); // check the consistency of ik - - // append to the global lowf_loc - lowf.insert(lowf.end(), lowf_.begin(), lowf_.end()); - ekb.insert(ekb.end(), ekb_.begin(), ekb_.end()); - occ.insert(occ.end(), occ_.begin(), occ_.end()); - wk.push_back(wk_); - kvec_c.push_back(kvec_); - } - assert(ekb.size() == nks * nbands); - assert(occ.size() == nks * nbands); - assert(lowf.size() == nks * nbands * nbasis); -} - -// instantiate the template function -template void ModuleIO::restart_from_file(const std::string& out_dir, - const int& nks, - int& nbands, - int& nbasis, - std::vector& lowf, - std::vector& ekb, - std::vector& occ, - std::vector>& kvec_c, - std::vector& wk); - -template void ModuleIO::restart_from_file(const std::string& out_dir, - const int& nks, - int& nbands, - int& nbasis, - std::vector& lowf, - std::vector& ekb, - std::vector& occ, - std::vector>& kvec_c, - std::vector& wk); - -template void ModuleIO::restart_from_file(const std::string& out_dir, - const int& nks, - int& nbands, - int& nbasis, - std::vector>& lowf, - std::vector& ekb, - std::vector& occ, - std::vector>& kvec_c, - std::vector& wk); - -template void ModuleIO::restart_from_file(const std::string& out_dir, - const int& nks, - int& nbands, - int& nbasis, - std::vector>& lowf, - std::vector& ekb, - std::vector& occ, - std::vector>& kvec_c, - std::vector& wk); -*/ diff --git a/source/source_io/read_wfc_lcao.h b/source/source_io/read_wfc_lcao.h deleted file mode 100644 index f8f5933310..0000000000 --- a/source/source_io/read_wfc_lcao.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef READ_WFC_LCAO_H -#define READ_WFC_LCAO_H - -#include "source_base/vector3.h" -#include -#include -#include - -#ifdef __MPI -#include "source_base/module_external/scalapack_connector.h" -#include "source_base/parallel_2d.h" -#endif - -/** - * @brief This class has two functions: restart psi from the previous calculation, and write psi to the disk. - */ - -namespace ModuleIO -{ -// only when you know why you need the T, you can write function with template parameter, -// otherwise, you should overload the function for different types -// For example in this case, ONLY wfc support to be std::complex and std::complex, -// not ekb, occ, wk and kvec_c. -/** - * @brief Read the wavefunction coefficients from the file (for complex wavefunction coefficients) - * - * @tparam T - * @param file [in] file name - * @param ik [out] the index of k points - * @param kvec_c [out] the k vector in Cartesian coordinates - * @param nbands [out] the number of bands - * @param nbasis [out] the number of orbitals - * @param lowf [out] wavefunction coefficients - * @param ekb [out] eigenvalues - * @param occ [out] occupations - * @param wk [out] weight of k points - */ -/* -template -void read_wfc_lcao(const std::string& file, int& ik, ModuleBase::Vector3& kvec_c, int& nbands, int& nbasis, - std::vector>& lowf, std::vector& ekb, std::vector& occ, - double& wk); - -template -void read_wfc_lcao(const std::string& file, int& ik, ModuleBase::Vector3& kvec_c, int& nbands, int& nbasis, - std::vector& lowf, std::vector& ekb, std::vector& occ, double& wk); -*/ -// the two functions above will return nbands, nbasis, lowf, ekb, occ and wk. -// the lowf is actually lowf_glb, which means the global matrix (ScaLAPACK convention), need to distribute -// to the local matrix (2D-block-cyclic parallel distribution) in the following function. - -//#ifdef __MPI -/** - * @brief Restart the wavefunction coefficients from the file (MPI 2D-BCD version) - * - * @tparam T: datatype of the wavefunction coefficients, can be double, float, std::complex or - * std::complex - * @param out_dir [in] the directory where the wavefunction coefficients are stored - * @param p2d [in] the 2D parallel distribution - * @param nks [in] the number of k points - * @param nbands [out] the number of bands - * @param nbasis [out] the number of orbitals - * @param lowf_loc [out] the local wavefunction coefficients, can be used to construct psi, see constructor No.8 - * @param ekb [out] the eigenvalues - * @param occ [out] the occupations - * @param kvec_c [out] the k vectors in Cartesian coordinates - * @param wk [out] the weight of k points - * - * @warning Cpxgemr2d not implemented yet - */ -/* -template -void restart_from_file(const std::string& out_dir, // hard-code the file name to be LOWF_K_*.txt? - const Parallel_2D& p2d, const int& nks, int& nbands, int& nbasis, std::vector& lowf_loc, - std::vector& ekb, std::vector& occ, - std::vector>& kvec_c, std::vector& wk); -#endif - -// serial version, can always present -template -void restart_from_file(const std::string& out_dir, // hard-code the file name to be LOWF_K_*.txt? - const int& nks, int& nbands, int& nbasis, std::vector& lowf, std::vector& ekb, - std::vector& occ, std::vector>& kvec_c, - std::vector& wk); -*/ -} -#endif diff --git a/source/source_io/read_wfc_nao.cpp b/source/source_io/read_wfc_nao.cpp index d43ca58486..984e6298ac 100644 --- a/source/source_io/read_wfc_nao.cpp +++ b/source/source_io/read_wfc_nao.cpp @@ -7,6 +7,14 @@ #include "write_wfc_nao.h" #include "source_base/module_external/scalapack_connector.h" #include "source_io/filename.h" +#include "source_base/tool_title.h" // use title +#include "source_base/global_function.h" // use READ_VALUE + +// mohan add 2025-10-19 +void ModuleIO::read_wfc_nao_one_data(std::ifstream& ifs, float& data) +{ + ifs >> data; +} void ModuleIO::read_wfc_nao_one_data(std::ifstream& ifs, double& data) { @@ -21,22 +29,31 @@ void ModuleIO::read_wfc_nao_one_data(std::ifstream& ifs, std::complex& d data = std::complex(a, b); } +void ModuleIO::read_wfc_nao_one_data(std::ifstream& ifs, std::complex& data) +{ + float a = 0.0; + float b = 0.0; + ifs >> a >> b; + data = std::complex(a, b); +} + template bool ModuleIO::read_wfc_nao( const std::string& global_readin_dir, const Parallel_Orbitals& ParaV, psi::Psi& psid, - elecstate::ElecState* const pelec, + ModuleBase::matrix& ekb, + ModuleBase::matrix& wg, const std::vector &ik2iktot, const int nkstot, const int nspin, const int skip_band, - const int nstep) + const int istep) { ModuleBase::TITLE("ModuleIO", "read_wfc_nao"); ModuleBase::timer::tick("ModuleIO", "read_wfc_nao"); - const int nk = pelec->ekb.nr; + const int nk = ekb.nr; const bool gamma_only = std::is_same::value; const int out_type = 1; // only support .txt file now @@ -119,8 +136,8 @@ bool ModuleIO::read_wfc_nao( const int ib_read = std::max(i - skip_band, 0); int ib = 0; ModuleBase::GlobalFunc::READ_VALUE(ifs, ib); - ModuleBase::GlobalFunc::READ_VALUE(ifs, pelec->ekb(ik, ib_read)); - ModuleBase::GlobalFunc::READ_VALUE(ifs, pelec->wg(ik, ib_read)); + ModuleBase::GlobalFunc::READ_VALUE(ifs, ekb(ik, ib_read)); + ModuleBase::GlobalFunc::READ_VALUE(ifs, wg(ik, ib_read)); if (i+1 != ib) { error_message << "The band index read in from file do not match the global parameter band index!\n"; @@ -158,12 +175,12 @@ bool ModuleIO::read_wfc_nao( const bool out_app_flag = false; std::stringstream error_message; std::string readin_dir = global_readin_dir; - if(nstep >= 0) + if(istep >= 0) { readin_dir = readin_dir + "WFC/"; } std::string ss = ModuleIO::filename_output(readin_dir,"wf","nao", - ik,ik2iktot,nspin,nkstot,out_type,out_app_flag,gamma_only,nstep); + ik,ik2iktot,nspin,nkstot,out_type,out_app_flag,gamma_only,istep); read_success = read_one_file(ss, error_message, ik, ctot); errors = error_message.str(); @@ -194,8 +211,8 @@ bool ModuleIO::read_wfc_nao( 1, const_cast(ParaV.desc_wfc), pv_glb.blacs_ctxt); - Parallel_Common::bcast_double(&(pelec->ekb(ik, 0)), nbands); - Parallel_Common::bcast_double(&(pelec->wg(ik, 0)), nbands); + Parallel_Common::bcast_double(&ekb(ik, 0), nbands); + Parallel_Common::bcast_double(&wg(ik, 0), nbands); #else BlasConnector::copy(nbands*nlocal, ctot.data(), 1, psid.get_pointer(), 1); #endif @@ -207,19 +224,45 @@ bool ModuleIO::read_wfc_nao( template bool ModuleIO::read_wfc_nao(const std::string& global_readin_dir, const Parallel_Orbitals& ParaV, psi::Psi& psid, - elecstate::ElecState* const pelec, + ModuleBase::matrix& ekb, + ModuleBase::matrix& wg, + const std::vector &ik2iktot, + const int nkstot, + const int nspin, + const int istep, + const int skip_band); + +// mohan add 2025-10-19 +template bool ModuleIO::read_wfc_nao(const std::string& global_readin_dir, + const Parallel_Orbitals& ParaV, + psi::Psi& psid, + ModuleBase::matrix& ekb, + ModuleBase::matrix& wg, const std::vector &ik2iktot, const int nkstot, const int nspin, - const int nstep, + const int istep, const int skip_band); template bool ModuleIO::read_wfc_nao>(const std::string& global_readin_dir, const Parallel_Orbitals& ParaV, psi::Psi>& psid, - elecstate::ElecState* const pelec, + ModuleBase::matrix& ekb, + ModuleBase::matrix& wg, + const std::vector &ik2iktot, + const int nkstot, + const int nspin, + const int istep, + const int skip_band); + +// mohan add 2025-10-19 +template bool ModuleIO::read_wfc_nao>(const std::string& global_readin_dir, + const Parallel_Orbitals& ParaV, + psi::Psi>& psid, + ModuleBase::matrix& ekb, + ModuleBase::matrix& wg, const std::vector &ik2iktot, const int nkstot, const int nspin, - const int nstep, + const int istep, const int skip_band); diff --git a/source/source_io/read_wfc_nao.h b/source/source_io/read_wfc_nao.h index f1df8a7c6d..4abf06ae00 100644 --- a/source/source_io/read_wfc_nao.h +++ b/source/source_io/read_wfc_nao.h @@ -1,9 +1,9 @@ -#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_IO_READ_WFC_NAO_H -#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_IO_READ_WFC_NAO_H +#ifndef READ_WFC_NAO_H +#define READ_WFC_NAO_H #include "source_basis/module_ao/parallel_orbitals.h" #include "source_psi/psi.h" -#include "source_estate/elecstate.h" +#include "source_base/matrix.h" // mohan add 2010-09-09 namespace ModuleIO @@ -14,6 +14,7 @@ namespace ModuleIO * @param ifs The input file stream to read from. * @param data The variable to store the read data value. */ +void read_wfc_nao_one_data(std::ifstream& ifs, float& data); void read_wfc_nao_one_data(std::ifstream& ifs, double& data); /** @@ -22,6 +23,7 @@ void read_wfc_nao_one_data(std::ifstream& ifs, double& data); * @param ifs The input file stream to read from. * @param data The variable to store the read complex data value. */ +void read_wfc_nao_one_data(std::ifstream& ifs, std::complex& data); void read_wfc_nao_one_data(std::ifstream& ifs, std::complex& data); /** @@ -40,12 +42,13 @@ bool read_wfc_nao( const std::string& global_readin_dir, const Parallel_Orbitals& ParaV, psi::Psi& psid, - elecstate::ElecState* const pelec, + ModuleBase::matrix& ekb, + ModuleBase::matrix& wg, const std::vector &ik2iktot, const int nkstot, const int nspin, const int skip_band = 0, - const int nstep = -1); + const int istep = -1); } // namespace ModuleIO diff --git a/source/source_io/single_R_io.cpp b/source/source_io/single_R_io.cpp index f2bc24886f..a8e7e3cace 100644 --- a/source/source_io/single_R_io.cpp +++ b/source/source_io/single_R_io.cpp @@ -6,12 +6,11 @@ inline void write_data(std::ofstream& ofs, const double& data) { - ofs << " " << std::fixed << std::scientific << std::setprecision(8) << data; + ofs << " " << data; } inline void write_data(std::ofstream& ofs, const std::complex& data) { - ofs << " (" << std::fixed << std::scientific << std::setprecision(8) << data.real() << "," - << std::fixed << std::scientific << std::setprecision(8) << data.imag() << ")"; + ofs << " (" << data.real() << "," << data.imag() << ")"; } template @@ -23,7 +22,7 @@ void ModuleIO::output_single_R(std::ofstream& ofs, const bool& reduce) { T* line = nullptr; - std::vector indptr; + std::vector indptr; indptr.reserve(PARAM.globalv.nlocal + 1); indptr.push_back(0); @@ -68,7 +67,8 @@ void ModuleIO::output_single_R(std::ofstream& ofs, if (!reduce || GlobalV::DRANK == 0) { - int nonzeros_count = 0; + long long nonzeros_count = 0; + ofs << std::fixed << std::scientific << std::setprecision(8); for (int col = 0; col < PARAM.globalv.nlocal; ++col) { if (std::abs(line[col]) > sparse_threshold) @@ -106,7 +106,7 @@ void ModuleIO::output_single_R(std::ofstream& ofs, ifs_tem1.close(); for (auto &i : indptr) { - ofs.write(reinterpret_cast(&i), sizeof(int)); + ofs.write(reinterpret_cast(&i), sizeof(long long)); } } else diff --git a/source/source_io/sparse_matrix.cpp b/source/source_io/sparse_matrix.cpp index 779760430a..10f1cf75db 100644 --- a/source/source_io/sparse_matrix.cpp +++ b/source/source_io/sparse_matrix.cpp @@ -113,4 +113,4 @@ T SparseMatrix::operator()(int row, int col) const template class SparseMatrix; template class SparseMatrix>; -} // namespace ModuleIO \ No newline at end of file +} // namespace ModuleIO diff --git a/source/source_io/td_current_io.cpp b/source/source_io/td_current_io.cpp index 4cf0e56045..bce3a96809 100644 --- a/source/source_io/td_current_io.cpp +++ b/source/source_io/td_current_io.cpp @@ -180,12 +180,14 @@ void ModuleIO::write_current(const UnitCell& ucell, // write end if (GlobalV::MY_RANK == 0) { - std::string filename = PARAM.globalv.global_out_dir + "current_total.dat"; + std::string filename = PARAM.globalv.global_out_dir + "current_tot.txt"; std::ofstream fout; fout.open(filename, std::ios::app); fout << std::setprecision(16); fout << std::scientific; - fout << istep << " " << current_total[0]/omega << " " << current_total[1]/omega << " " << current_total[2]/omega << std::endl; + fout << istep+1 << " " << current_total[0]/omega + << " " << current_total[1]/omega + << " " << current_total[2]/omega << std::endl; fout.close(); } @@ -559,13 +561,15 @@ void ModuleIO::write_current_eachk(const UnitCell& ucell, // MPI_Reduce(local_current_ik, current_ik, 3, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); if (GlobalV::MY_RANK == 0 && TD_info::out_current_k) { - std::string filename = PARAM.globalv.global_out_dir + "current_spin" + std::to_string(is) + "_ik" - + std::to_string(ik) + ".dat"; + std::string filename = PARAM.globalv.global_out_dir + "current_s" + std::to_string(is) + "k" + + std::to_string(ik+1) + ".txt"; std::ofstream fout; fout.open(filename, std::ios::app); fout << std::setprecision(16); fout << std::scientific; - fout << istep << " " << current_ik[0]/omega << " " << current_ik[1]/omega << " " << current_ik[2]/omega << std::endl; + fout << istep+1 << " " << current_ik[0]/omega + << " " << current_ik[1]/omega + << " " << current_ik[2]/omega << std::endl; fout.close(); } // write end @@ -573,12 +577,14 @@ void ModuleIO::write_current_eachk(const UnitCell& ucell, } // end is if (GlobalV::MY_RANK == 0) { - std::string filename = PARAM.globalv.global_out_dir + "current_total.dat"; + std::string filename = PARAM.globalv.global_out_dir + "current_tot.txt"; std::ofstream fout; fout.open(filename, std::ios::app); fout << std::setprecision(16); fout << std::scientific; - fout << istep << " " << current_total[0]/omega << " " << current_total[1]/omega << " " << current_total[2]/omega << std::endl; + fout << istep+1 << " " << current_total[0]/omega + << " " << current_total[1]/omega + << " " << current_total[2]/omega << std::endl; fout.close(); } diff --git a/source/source_io/td_current_io.h b/source/source_io/td_current_io.h index 7872858c72..5158d1de26 100644 --- a/source/source_io/td_current_io.h +++ b/source/source_io/td_current_io.h @@ -50,4 +50,4 @@ void cal_tmp_DM(const UnitCell& ucell, #endif // __LCAO } // namespace ModuleIO -#endif // W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_IO_TD_CURRENT_IO_H +#endif diff --git a/source/source_io/test/CMakeLists.txt b/source/source_io/test/CMakeLists.txt index 25e45fd30d..407eadecec 100644 --- a/source/source_io/test/CMakeLists.txt +++ b/source/source_io/test/CMakeLists.txt @@ -8,7 +8,7 @@ install(FILES INPUTs DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) AddTest( TARGET MODULE_IO_input_test_para - LIBS parameter ${math_libs} base device io_input + LIBS parameter ${math_libs} base device io_input SOURCES read_input_ptest.cpp ) @@ -19,7 +19,7 @@ add_test(NAME MODULE_IO_input_test_para_4 AddTest( TARGET MODULE_IO_read_exit_file_test - LIBS parameter ${math_libs} base device + LIBS parameter ${math_libs} base device SOURCES read_exit_file_test.cpp ../read_exit_file.cpp ) @@ -28,12 +28,6 @@ add_test(NAME MODULE_IO_read_exit_file_test_para_4 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) -AddTest( - TARGET MODULE_IO_winput_test - LIBS parameter ${math_libs} base device - SOURCES winput_test.cpp ../winput.cpp -) - AddTest( TARGET MODULE_IO_output_test LIBS parameter ${math_libs} base device @@ -47,7 +41,7 @@ AddTest( AddTest( TARGET MODULE_IO_write_eig_occ_test - LIBS parameter ${math_libs} base device symmetry + LIBS parameter ${math_libs} base device symmetry SOURCES write_eig_occ_test.cpp ../write_eig_occ.cpp ../output.cpp ../../source_cell/parallel_kpoints.cpp ../../source_cell/klist.cpp ../../source_cell/k_vector_utils.cpp ../cif_io.cpp ) @@ -66,7 +60,7 @@ AddTest( AddTest( TARGET MODULE_IO_print_info - LIBS parameter ${math_libs} base device symmetry cell_info + LIBS parameter ${math_libs} base device symmetry cell_info SOURCES print_info_test.cpp ../print_info.cpp ../output.cpp ../../source_cell/klist.cpp ../../source_cell/parallel_kpoints.cpp ../../source_cell/k_vector_utils.cpp ) @@ -79,6 +73,7 @@ AddTest( ../../source_base/parallel_common.cpp ../../source_base/parallel_global.cpp ../../source_base/parallel_comm.cpp + ../../source_base/tool_quit.cpp ../../source_base/global_file.cpp ../../source_base/global_function.cpp ../../source_base/memory.cpp ../../source_base/timer.cpp ) AddTest( @@ -96,12 +91,13 @@ add_test(NAME MODULE_IO_write_wfc_nao_para AddTest( TARGET MODULE_IO_write_orb_info - LIBS parameter ${math_libs} base device cell_info + LIBS parameter ${math_libs} base device cell_info SOURCES write_orb_info_test.cpp ../write_orb_info.cpp ../output.cpp ) AddTest( TARGET MODULE_IO_parse_args + LIBS parameter ${math_libs} base device io_input SOURCES parse_args_test.cpp ../parse_args.cpp ) @@ -113,7 +109,7 @@ AddTest( AddTest( TARGET MODULE_IO_output_log_test - LIBS parameter base ${math_libs} device + LIBS parameter base ${math_libs} device SOURCES ../output_log.cpp outputlog_test.cpp ../../source_basis/module_pw/test/test_tool.cpp ) @@ -144,8 +140,8 @@ AddTest( if(ENABLE_LCAO) AddTest( TARGET MODULE_IO_to_qo_test - LIBS parameter base ${math_libs} device numerical_atomic_orbitals container orb - SOURCES + LIBS parameter base ${math_libs} device numerical_atomic_orbitals container orb + SOURCES to_qo_test.cpp ../to_qo_kernel.cpp ../to_qo_mpi.cpp @@ -183,9 +179,9 @@ add_test(NAME MODULE_IO_read_wf2rho_pw_parallel AddTest( TARGET MODULE_IO_numerical_basis_test - LIBS parameter base ${math_libs} device numerical_atomic_orbitals container orb - SOURCES numerical_basis_test.cpp - ../numerical_basis_jyjy.cpp + LIBS parameter base ${math_libs} device numerical_atomic_orbitals container orb + SOURCES numerical_basis_test.cpp + ../numerical_basis_jyjy.cpp ../../source_lcao/center2_orb.cpp ../orb_io.cpp ) @@ -237,14 +233,14 @@ add_test(NAME MODULE_IO_orb_io_test_parallel ) AddTest( - TARGET MODULE_IO_dmk_io - LIBS parameter ${math_libs} base device cell_info - SOURCES io_dmk_test.cpp ../io_dmk.cpp ../output.cpp + TARGET MODULE_IO_write_dmk + LIBS parameter ${math_libs} base device cell_info + SOURCES write_dmk_test.cpp ../write_dmk.cpp ../output.cpp ) add_test( - NAME MODULE_IO_dmk_io_parallel - COMMAND mpirun -np 2 ./MODULE_IO_dmk_io + NAME MODULE_IO_write_dmk_parallel + COMMAND mpirun -np 2 ./MODULE_IO_write_dmk WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) @@ -264,8 +260,8 @@ if(ENABLE_LCAO) AddTest( TARGET MODULE_IO_cal_pLpR_test LIBS parameter base ${math_libs} device neighbor - SOURCES - cal_pLpR_test.cpp + SOURCES + cal_pLpR_test.cpp ../cal_pLpR.cpp ../../source_basis/module_ao/ORB_atomic_lm.cpp ../../source_basis/module_ao/ORB_atomic.cpp diff --git a/source/source_io/test/bessel_basis_test.cpp b/source/source_io/test/bessel_basis_test.cpp index b7de398d8f..82728e5af4 100644 --- a/source/source_io/test/bessel_basis_test.cpp +++ b/source/source_io/test/bessel_basis_test.cpp @@ -95,44 +95,44 @@ std::vector CalculateSphericalBessel(int l, double q, const std::vector< /// @return a vector of q, the q is from j_l(qr) std::vector GetSphericalBesselZeros(int order, int number) { std::map, double> zeros; - + zeros[{0, 1}] = 3.14159; zeros[{0, 2}] = 6.28318; zeros[{0, 3}] = 9.42477; zeros[{0, 4}] = 12.5664; zeros[{0, 5}] = 15.708; zeros[{0, 6}] = 18.8495; zeros[{0, 7}] = 21.9911; zeros[{0, 8}] = 25.1327; zeros[{0, 9}] = 28.2743; zeros[{0, 10}] = 31.4159; - + zeros[{1, 1}] = 4.49341; zeros[{1, 2}] = 7.72525; zeros[{1, 3}] = 10.9041; zeros[{1, 4}] = 14.0662; zeros[{1, 5}] = 17.2208; zeros[{1, 6}] = 20.3713; zeros[{1, 7}] = 23.5181; zeros[{1, 8}] = 26.6617; zeros[{1, 9}] = 29.8029; zeros[{1, 10}] = 32.9425; - + zeros[{2, 1}] = 5.76346; zeros[{2, 2}] = 9.09501; zeros[{2, 3}] = 12.3229; zeros[{2, 4}] = 15.5146; zeros[{2, 5}] = 18.6861; zeros[{2, 6}] = 21.8457; zeros[{2, 7}] = 24.9989; zeros[{2, 8}] = 28.1498; zeros[{2, 9}] = 31.2997; zeros[{2, 10}] = 34.4491; - + zeros[{3, 1}] = 7.01559; zeros[{3, 2}] = 10.4013; zeros[{3, 3}] = 13.5821; zeros[{3, 4}] = 16.7496; zeros[{3, 5}] = 19.9023; zeros[{3, 6}] = 23.0446; zeros[{3, 7}] = 26.1799; zeros[{3, 8}] = 29.3105; zeros[{3, 9}] = 32.4377; zeros[{3, 10}] = 35.5629; - + zeros[{4, 1}] = 8.26356; zeros[{4, 2}] = 11.6209; zeros[{4, 3}] = 14.7965; zeros[{4, 4}] = 17.9598; zeros[{4, 5}] = 21.113; zeros[{4, 6}] = 24.2583; zeros[{4, 7}] = 27.3979; zeros[{4, 8}] = 30.5325; zeros[{4, 9}] = 33.6635; zeros[{4, 10}] = 36.7914; - + zeros[{5, 1}] = 9.51045; zeros[{5, 2}] = 12.8377; zeros[{5, 3}] = 16.0106; zeros[{5, 4}] = 19.1714; zeros[{5, 5}] = 22.3224; zeros[{5, 6}] = 25.4666; zeros[{5, 7}] = 28.6055; zeros[{5, 8}] = 31.7408; zeros[{5, 9}] = 34.873; zeros[{5, 10}] = 38.0025; - + std::vector result; for (int i = 1; i <= number; ++i) { result.push_back(zeros[{order, i}]); } return result; } -/// @brief Get mod of q vector of Spherical Bessel functions, all q satisfy when r=`rcut`, j_l(qr)=0. +/// @brief Get mod of q vector of Spherical Bessel functions, all q satisfy when r=`rcut`, j_l(qr)=0. /// @details first solve the equation j_l(x) = 0, therefore get the table (l, k) -> x, where l is the order of SBF and k is the k-th zero of j_l(x). Then let x = q*rcut, therefore q = x/rcut, return it. /// @attention this function itself is a COMPLETE version, while the function it called GetSphericalBesselZeros may be INCOMPLETE, due to limited support of numerical table. /// @param order the angular momentum of Spherical Bessel functions @@ -268,12 +268,12 @@ std::unordered_map ReadinC4(const std::string &FileName, co else{ for (int indexchi = 0; indexchi < TotalNumChi; indexchi++){ - C4File >> word; - C4File >> word; + C4File >> word; + C4File >> word; C4File >> word; /* skip title1, 2 and 3 */ C4File >> word; std::string key = word; key += " "; - C4File >> word; key += word; key += " "; + C4File >> word; key += word; key += " "; C4File >> word; key += word; key += " "; for (int indexNumBesselFunction = 0; indexNumBesselFunction < NumBesselFunction; indexNumBesselFunction++) @@ -359,6 +359,10 @@ Magnetism::Magnetism() Magnetism::~Magnetism() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} #ifdef __LCAO InfoNonlocal::InfoNonlocal() @@ -433,8 +437,8 @@ class TestBesselBasis : public ::testing::Test { int i_Nq = static_cast(sqrt(d_EnergyCutoff)*d_CutoffRadius/M_PI); /* number of SBF is expected to be 1 */ besselBasis.init( - b_TestFaln, d_EnergyCutoff, i_Ntype, i_Lmax, b_Smooth, - d_SmoothSigma, d_CutoffRadius, d_Tolerance, + b_TestFaln, d_EnergyCutoff, i_Ntype, i_Lmax, b_Smooth, + d_SmoothSigma, d_CutoffRadius, d_Tolerance, ucell, d_dk, d_dr ); EXPECT_EQ(besselBasis.get_ecut_number(), i_Nq); @@ -468,8 +472,8 @@ TEST_F(TestBesselBasis, PolynomialInterpolation2Test) { /* therefore the expected dimension of TableOne is 1*1*6 */ besselBasis.init( - b_TestFaln, d_EnergyCutoff, i_Ntype, i_Lmax, b_Smooth, - d_SmoothSigma, d_CutoffRadius, d_Tolerance, + b_TestFaln, d_EnergyCutoff, i_Ntype, i_Lmax, b_Smooth, + d_SmoothSigma, d_CutoffRadius, d_Tolerance, ucell, d_dk, d_dr ); /* gnorm for interpolation */ @@ -483,7 +487,7 @@ TEST_F(TestBesselBasis, PolynomialInterpolation2Test) { double d_x3 = 3.0 - d_x0; std::vector>> vvv_d_TableOne = GenerateTableOne( - b_Smooth, d_SmoothSigma, d_EnergyCutoff, d_CutoffRadius, + b_Smooth, d_SmoothSigma, d_EnergyCutoff, d_CutoffRadius, i_Lmax, d_dr, d_dk ); double d_yExpected = vvv_d_TableOne[0][0][i_position]*d_x1*d_x2*d_x3/6.0+ @@ -517,14 +521,14 @@ TEST_F(TestBesselBasis, PolynomialInterpolationTest) { int i_Nq = static_cast(sqrt(d_EnergyCutoff)*d_CutoffRadius/M_PI); int i_kMesh = static_cast(sqrt(d_EnergyCutoff)/d_dk) + 4 + 1; /* - manipulate Bessel_Basis::init_Faln function + manipulate Bessel_Basis::init_Faln function because for(int it=0; it>> vvv_d_TableOne = GenerateTableOne( - b_Smooth, d_SmoothSigma, d_EnergyCutoff, d_CutoffRadius, + b_Smooth, d_SmoothSigma, d_EnergyCutoff, d_CutoffRadius, i_Lmax, d_dr, d_dk ); std::vector>>> vvvv_d_Faln = GenerateFaln( diff --git a/source/source_io/test/cal_dos_test.cpp b/source/source_io/test/cal_dos_test.cpp index 6395563986..f52447a6cf 100644 --- a/source/source_io/test/cal_dos_test.cpp +++ b/source/source_io/test/cal_dos_test.cpp @@ -34,6 +34,8 @@ TEST_F(DosTest,Dos) dosp.read_wk(); dosp.read_istate_info(); EXPECT_EQ(dosp.is,0); + + const int istep = 1; ModuleIO::cal_dos(dosp.is, dosp.fa, dosp.de_ev, @@ -46,7 +48,8 @@ TEST_F(DosTest,Dos) dosp.isk, dosp.nbands, dosp.ekb, - dosp.wg); + dosp.wg, + istep); #ifdef __MPI if(GlobalV::MY_RANK==0) @@ -77,6 +80,8 @@ TEST_F(DosTest,DosW1) EXPECT_EQ(dosp.is,0); EXPECT_LE(dosp.de_ev,0); GlobalV::ofs_warning.open("warning1.log"); + + const int istep = 1; EXPECT_NO_THROW(ModuleIO::cal_dos(dosp.is, dosp.fa, dosp.de_ev, @@ -89,7 +94,8 @@ TEST_F(DosTest,DosW1) dosp.isk, dosp.nbands, dosp.ekb, - dosp.wg)); + dosp.wg, + istep)); GlobalV::ofs_warning.close(); #ifdef __MPI if(GlobalV::MY_RANK==0) @@ -117,6 +123,8 @@ TEST_F(DosTest,DosW2) dosp.read_istate_info(); EXPECT_EQ(dosp.is,0); GlobalV::ofs_warning.open("warning2.log"); + + const int istep = 1; EXPECT_NO_THROW(ModuleIO::cal_dos(dosp.is, dosp.fa, dosp.de_ev, @@ -129,7 +137,9 @@ TEST_F(DosTest,DosW2) dosp.isk, dosp.nbands, dosp.ekb, - dosp.wg)); + dosp.wg, + istep)); + GlobalV::ofs_warning.close(); #ifdef __MPI if(GlobalV::MY_RANK==0) diff --git a/source/source_io/test/for_testing_input_conv.h b/source/source_io/test/for_testing_input_conv.h index 29fcac72d0..8cca07361f 100644 --- a/source/source_io/test/for_testing_input_conv.h +++ b/source/source_io/test/for_testing_input_conv.h @@ -45,34 +45,24 @@ double elecstate::Efield::efield_pos_max; double elecstate::Efield::efield_pos_dec; double elecstate::Efield::efield_amp; -// parameters of electric field for tddft +// Parameters of electric field for RT-TDDFT -int elecstate::H_TDDFT_pw::stype; // 0 : length gauge 1: velocity gauge +int elecstate::H_TDDFT_pw::stype; std::vector elecstate::H_TDDFT_pw::ttype; -// 0 Gauss type function. -// 1 trapezoid type function. -// 2 Trigonometric functions, sin^2. -// 3 heaviside function. -// 4 HHG function. int elecstate::H_TDDFT_pw::tstart; int elecstate::H_TDDFT_pw::tend; double elecstate::H_TDDFT_pw::dt; double elecstate::H_TDDFT_pw::dt_int; -// space domain parameters - -// length gauge double elecstate::H_TDDFT_pw::lcut1; double elecstate::H_TDDFT_pw::lcut2; -// time domain parameters - bool TD_Velocity::tddft_velocity; bool TD_Velocity::out_mat_R; -// Gauss +// Gaussian int elecstate::H_TDDFT_pw::gauss_count; std::vector elecstate::H_TDDFT_pw::gauss_omega; // time(a.u.)^-1 std::vector elecstate::H_TDDFT_pw::gauss_phase; @@ -81,7 +71,7 @@ std::vector elecstate::H_TDDFT_pw::gauss_t0; std::vector elecstate::H_TDDFT_pw::gauss_amp; // Ry/bohr std::vector elecstate::H_TDDFT_pw::gauss_ncut; -// trapezoid +// Trapezoid int elecstate::H_TDDFT_pw::trape_count; std::vector elecstate::H_TDDFT_pw::trape_omega; // time(a.u.)^-1 std::vector elecstate::H_TDDFT_pw::trape_phase; diff --git a/source/source_io/test/for_testing_klist.h b/source/source_io/test/for_testing_klist.h index 0c764eb00a..e8d518fa49 100644 --- a/source/source_io/test/for_testing_klist.h +++ b/source/source_io/test/for_testing_klist.h @@ -42,6 +42,10 @@ Soc::~Soc() Fcoef::~Fcoef() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} diff --git a/source/source_io/test/output_mulliken_test.cpp b/source/source_io/test/output_mulliken_test.cpp index 1abe3614d7..651b2a2b52 100644 --- a/source/source_io/test/output_mulliken_test.cpp +++ b/source/source_io/test/output_mulliken_test.cpp @@ -41,9 +41,9 @@ TYPED_TEST(OutputMullikenTest, nspin1) this->ncol = 13; this->paraV.init(this->nrow, this->ncol, 1, MPI_COMM_WORLD, 0); auto cell_index = CellIndex(this->atomLabels, this->atomCounts, this->lnchiCounts, 1); - auto out_sk = ModuleIO::Output_Sk(nullptr, &this->paraV, 1, 1); - auto out_dmk = ModuleIO::Output_DMK(nullptr, &this->paraV, 1, 1); - auto mulp = ModuleIO::Output_Mulliken(&(out_sk), &(out_dmk), &(this->paraV), &(cell_index), {0}, 1); + auto out_s_k = ModuleIO::Output_Sk(nullptr, &this->paraV, 1, 1); + auto out_dm_k = ModuleIO::Output_DMK(nullptr, &this->paraV, 1, 1); + auto mulp = ModuleIO::Output_Mulliken(&(out_s_k), &(out_dm_k), &(this->paraV), &(cell_index), {0}, 1); mulp.write(0, "./"); std::vector tot_chg = mulp.get_tot_chg(); EXPECT_NEAR(tot_chg[0], 4.0, 1e-5); @@ -60,9 +60,9 @@ TYPED_TEST(OutputMullikenTest, nspin2) this->ncol = 13; this->paraV.init(this->nrow, this->ncol, 1, MPI_COMM_WORLD, 0); auto cell_index = CellIndex(this->atomLabels, this->atomCounts, this->lnchiCounts, 2); - auto out_sk = ModuleIO::Output_Sk(nullptr, &this->paraV, 2, 1); - auto out_dmk = ModuleIO::Output_DMK(nullptr, &this->paraV, 2, 1); - auto mulp = ModuleIO::Output_Mulliken(&(out_sk), &(out_dmk), &(this->paraV), &(cell_index), {0, 1}, 2); + auto out_s_k = ModuleIO::Output_Sk(nullptr, &this->paraV, 2, 1); + auto out_dm_k = ModuleIO::Output_DMK(nullptr, &this->paraV, 2, 1); + auto mulp = ModuleIO::Output_Mulliken(&(out_s_k), &(out_dm_k), &(this->paraV), &(cell_index), {0, 1}, 2); mulp.write(0, "./"); std::vector tot_chg = mulp.get_tot_chg(); EXPECT_NEAR(tot_chg[0], 3.0, 1e-5); @@ -83,10 +83,10 @@ TYPED_TEST(OutputMullikenTest, nspin4) this->ncol = 26; this->paraV.init(this->nrow, this->ncol, 1, MPI_COMM_WORLD, 0); auto cell_index = CellIndex(this->atomLabels, this->atomCounts, this->lnchiCounts, 4); - auto out_sk = ModuleIO::Output_Sk>(nullptr, &this->paraV, 4, 1); - auto out_dmk = ModuleIO::Output_DMK>(nullptr, &this->paraV, 4, 1); + auto out_s_k = ModuleIO::Output_Sk>(nullptr, &this->paraV, 4, 1); + auto out_dm_k = ModuleIO::Output_DMK>(nullptr, &this->paraV, 4, 1); auto mulp - = ModuleIO::Output_Mulliken>(&(out_sk), &(out_dmk), &(this->paraV), &(cell_index), {0}, 4); + = ModuleIO::Output_Mulliken>(&(out_s_k), &(out_dm_k), &(this->paraV), &(cell_index), {0}, 4); mulp.write(0, "./"); std::vector tot_chg = mulp.get_tot_chg(); EXPECT_NEAR(tot_chg[0], 4.0, 1e-5); @@ -123,4 +123,4 @@ int main(int argc, char** argv) return result; } -#endif \ No newline at end of file +#endif diff --git a/source/source_io/test/outputlog_test.cpp b/source/source_io/test/outputlog_test.cpp index 4932596039..5bcffe27ca 100644 --- a/source/source_io/test/outputlog_test.cpp +++ b/source/source_io/test/outputlog_test.cpp @@ -182,6 +182,10 @@ pseudo::pseudo() pseudo::~pseudo() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} TEST(OutputVacuumLevelTest, OutputVacuumLevel) { diff --git a/source/source_io/test/parse_args_test.cpp b/source/source_io/test/parse_args_test.cpp index 1ff3c4d543..4f0b02c961 100644 --- a/source/source_io/test/parse_args_test.cpp +++ b/source/source_io/test/parse_args_test.cpp @@ -1,63 +1,122 @@ #include "source_io/parse_args.h" - #include "gtest/gtest.h" #include "source_io/read_input.h" #include "source_main/version.h" -bool ModuleIO::ReadInput::check_mode = false; +// Already deal with Testing.cmake +// #include "build_info.h" + +// This file is modified by ZhouXY-PKU at 2025-12-01 -TEST(ParseArgsTest, OutVersionTest) -{ - // Test case 1: no arguments +// Refresh test status +class ParseArgsTest : public ::testing::Test { +protected: + void SetUp() override { + ModuleIO::ReadInput::check_mode = false; + } +}; + +// Test for no argument +TEST_F(ParseArgsTest, NoArguments) { char arg0[] = "test"; char* argv[] = {arg0}; int argc = 1; + testing::internal::CaptureStdout(); ModuleIO::parse_args(argc, argv); std::string output = testing::internal::GetCapturedStdout(); - EXPECT_EQ("", output); - // No output expected + EXPECT_TRUE(output.empty()) << "Expected no output for no arguments."; +} +// Test for abacus version +TEST_F(ParseArgsTest, VersionFlags) { #ifdef VERSION std::string output_ref = "ABACUS version " + std::string(VERSION) + "\n"; #else std::string output_ref = "ABACUS version unknown\n"; #endif - // Test case 2: --version argument - char arg1[] = "--version"; - char* argv1[] = {arg0, arg1}; - argc = 2; - testing::internal::CaptureStdout(); - EXPECT_EXIT(ModuleIO::parse_args(argc, argv1), ::testing::ExitedWithCode(0), ""); - output = testing::internal::GetCapturedStdout(); - EXPECT_EQ(output_ref, output); - - // Test case 3: -v argument - char arg2[] = "-v"; - char* argv2[] = {arg0, arg2}; - argc = 2; - testing::internal::CaptureStdout(); - EXPECT_EXIT(ModuleIO::parse_args(argc, argv2), ::testing::ExitedWithCode(0), ""); - output = testing::internal::GetCapturedStdout(); - EXPECT_EQ(output_ref, output); - - // Test case 4: -V argument - char arg3[] = "-V"; - char* argv3[] = {arg0, arg3}; - argc = 2; - testing::internal::CaptureStdout(); - EXPECT_EXIT(ModuleIO::parse_args(argc, argv3), ::testing::ExitedWithCode(0), ""); - output = testing::internal::GetCapturedStdout(); - EXPECT_EQ(output_ref, output); + std::vector version_args = {"--version", "-v", "-V"}; + + for (const auto& arg : version_args) { + char arg0[] = "test"; + std::vector argv = {arg0, const_cast(arg.c_str())}; + int argc = argv.size(); + + testing::internal::CaptureStdout(); + EXPECT_EXIT( + { ModuleIO::parse_args(argc, argv.data()); }, + ::testing::ExitedWithCode(0), + "" + ) << "Failed for argument: " << arg; + + std::string output = testing::internal::GetCapturedStdout(); + EXPECT_EQ(output_ref, output) << "Output mismatch for argument: " << arg; + } } -TEST(ParseArgsTest, CheckInput) -{ +// Test for abacus info +TEST_F(ParseArgsTest, InfoFlags) { + std::vector info_args = {"--info", "-i", "-I"}; + + for (const auto& arg : info_args) { + char arg0[] = "test"; + std::vector argv = {arg0, const_cast(arg.c_str())}; + int argc = argv.size(); + + testing::internal::CaptureStdout(); + EXPECT_EXIT( + { ModuleIO::parse_args(argc, argv.data()); }, + ::testing::ExitedWithCode(0), + "" + ) << "Failed for argument: " << arg; + + std::string output = testing::internal::GetCapturedStdout(); + EXPECT_TRUE(output.find("ABACUS Core") != std::string::npos) + << "Output mismatch for argument: " << arg << "\nCaptured output was: " << output; + } +} + +// Test for unavailable arguments +TEST_F(ParseArgsTest, UnknownArgument) { + char arg0[] = "test"; + char arg1[] = "--nonexistent-option"; + char* argv[] = {arg0, arg1}; + int argc = 2; + + EXPECT_EXIT( + { ModuleIO::parse_args(argc, argv); }, + ::testing::ExitedWithCode(1), + "Usage: abacus" + ) << "Failed for unknown argument test."; +} + +// Test for --check-input +TEST_F(ParseArgsTest, CheckInputFlag) { char arg0[] = "test"; char arg1[] = "--check-input"; char* argv[] = {arg0, arg1}; int argc = 2; + ModuleIO::parse_args(argc, argv); + EXPECT_TRUE(ModuleIO::ReadInput::check_mode); -} \ No newline at end of file +} + +TEST_F(ParseArgsTest, PriorityVersionOverCheckInput) { + char arg0[] = "test"; + char arg1[] = "--version"; + char arg2[] = "--check-input"; + char* argv[] = {arg0, arg1, arg2}; + int argc = 3; + + testing::internal::CaptureStdout(); + EXPECT_EXIT( + { ModuleIO::parse_args(argc, argv); }, + ::testing::ExitedWithCode(0), + "" + ); + std::string output = testing::internal::GetCapturedStdout(); + EXPECT_TRUE(output.find("ABACUS version") != std::string::npos) + << "Output did not contain version information.\nCaptured output was: " << output; +} diff --git a/source/source_io/test/prepare_unitcell.h b/source/source_io/test/prepare_unitcell.h index e05792a96d..af3cffb383 100644 --- a/source/source_io/test/prepare_unitcell.h +++ b/source/source_io/test/prepare_unitcell.h @@ -98,7 +98,7 @@ class UcellTestPrepare } //lattice info ucell->lat0 = this->lat0; - ucell->lat0_angstrom = ucell->lat0 * 0.529177; + ucell->lat0_angstrom = ucell->lat0 * ModuleBase::BOHR_TO_A; ucell->tpiba = ModuleBase::TWO_PI/ucell->lat0; ucell->tpiba2 = ucell->tpiba * ucell->tpiba; ucell->latvec.e11 = this->latvec[0]; diff --git a/source/source_io/test/print_info_test.cpp b/source/source_io/test/print_info_test.cpp index af10f8fe3d..bc5d90bf1c 100644 --- a/source/source_io/test/print_info_test.cpp +++ b/source/source_io/test/print_info_test.cpp @@ -33,7 +33,7 @@ bool berryphase::berry_phase_flag=false; /** * - Tested Functions: - * - setup_parameters() + * - print_parameters() * - setup calculation parameters */ @@ -73,7 +73,7 @@ TEST_F(PrintInfoTest, SetupParameters) PARAM.sys.gamma_only_local = false; PARAM.input.calculation = cal_type[i]; testing::internal::CaptureStdout(); - EXPECT_NO_THROW(ModuleIO::setup_parameters(*ucell, *kv)); + EXPECT_NO_THROW(ModuleIO::print_parameters(*ucell, *kv, PARAM.input)); output = testing::internal::GetCapturedStdout(); if(PARAM.input.calculation == "scf") { @@ -96,7 +96,7 @@ TEST_F(PrintInfoTest, SetupParameters) { PARAM.input.mdp.md_type = md_types[j]; testing::internal::CaptureStdout(); - EXPECT_NO_THROW(ModuleIO::setup_parameters(*ucell, *kv)); + EXPECT_NO_THROW(ModuleIO::print_parameters(*ucell, *kv, PARAM.input)); output = testing::internal::GetCapturedStdout(); EXPECT_THAT(output,testing::HasSubstr("Molecular Dynamics simulations")); if (PARAM.mdp.md_type == "fire") @@ -131,7 +131,7 @@ TEST_F(PrintInfoTest, SetupParameters) { PARAM.input.basis_type = basis_type[i]; testing::internal::CaptureStdout(); - EXPECT_NO_THROW(ModuleIO::setup_parameters(*ucell, *kv)); + EXPECT_NO_THROW(ModuleIO::print_parameters(*ucell, *kv, PARAM.input)); output = testing::internal::GetCapturedStdout(); if(PARAM.input.basis_type == "lcao") { diff --git a/source/source_io/test/read_input_ptest.cpp b/source/source_io/test/read_input_ptest.cpp index a3a2f5a15a..7d64139a91 100644 --- a/source/source_io/test/read_input_ptest.cpp +++ b/source/source_io/test/read_input_ptest.cpp @@ -41,7 +41,6 @@ TEST_F(InputParaTest, ParaRead) EXPECT_EQ(param.inp.pseudo_dir, "../../PP_ORB/"); EXPECT_EQ(param.inp.orbital_dir, "../../PP_ORB/"); EXPECT_EQ(param.inp.read_file_dir, "OUT.autotest/"); - EXPECT_EQ(param.inp.wannier_card, "none"); EXPECT_EQ(param.inp.latname, "none"); EXPECT_EQ(param.inp.calculation, "scf"); EXPECT_EQ(param.inp.esolver_type, "ksdft"); @@ -115,7 +114,7 @@ TEST_F(InputParaTest, ParaRead) EXPECT_EQ(param.inp.fixed_axes, "None"); EXPECT_FALSE(param.inp.fixed_ibrav); EXPECT_FALSE(param.inp.fixed_atoms); - EXPECT_EQ(param.inp.relax_method, "cg"); + EXPECT_EQ(param.inp.relax_method[0], "cg"); EXPECT_DOUBLE_EQ(param.inp.relax_cg_thr, 0.5); EXPECT_EQ(param.inp.out_level, "ie"); EXPECT_TRUE(param.globalv.out_md_control); @@ -183,12 +182,13 @@ TEST_F(InputParaTest, ParaRead) EXPECT_EQ(param.inp.chg_extrap, "atomic"); EXPECT_EQ(param.inp.out_freq_elec, 50); EXPECT_EQ(param.inp.out_freq_ion, 0); + EXPECT_EQ(param.inp.out_freq_td, 0); EXPECT_EQ(param.inp.out_chg[0], 0); EXPECT_EQ(param.inp.out_chg[1], 3); EXPECT_EQ(param.inp.out_elf[0], 0); EXPECT_EQ(param.inp.out_elf[1], 3); - EXPECT_EQ(param.inp.out_dmk, 0); - EXPECT_EQ(param.inp.out_dmr, 0); + EXPECT_EQ(param.inp.out_dmk[0], 0); + EXPECT_EQ(param.inp.out_dmr[0], 0); EXPECT_EQ(param.inp.deepks_out_labels, 0); EXPECT_EQ(param.inp.deepks_scf, 0); EXPECT_EQ(param.inp.deepks_equiv, 0); @@ -208,7 +208,6 @@ TEST_F(InputParaTest, ParaRead) EXPECT_FALSE(param.inp.out_mat_xc); EXPECT_FALSE(param.inp.out_mat_xc2); EXPECT_FALSE(param.inp.out_eband_terms); - EXPECT_EQ(param.inp.out_interval, 1); EXPECT_EQ(param.inp.out_app_flag, 0); EXPECT_EQ(param.inp.out_mat_r, 0); EXPECT_FALSE(param.inp.out_wfc_lcao); @@ -297,7 +296,7 @@ TEST_F(InputParaTest, ParaRead) EXPECT_DOUBLE_EQ(param.inp.rpa_ccp_rmesh_times, 10.0); EXPECT_EQ(param.inp.exx_opt_orb_lmax, 0); EXPECT_DOUBLE_EQ(param.inp.exx_opt_orb_ecut, 0.0); - EXPECT_DOUBLE_EQ(param.inp.exx_opt_orb_tolerence, 0.0); + EXPECT_DOUBLE_EQ(param.inp.exx_opt_orb_tolerence, 1E-12); EXPECT_FALSE(param.inp.noncolin); EXPECT_FALSE(param.inp.lspinorb); EXPECT_DOUBLE_EQ(param.inp.soc_lambda, 1.0); @@ -365,6 +364,8 @@ TEST_F(InputParaTest, ParaRead) EXPECT_EQ(param.inp.of_full_pw_dim, 0); EXPECT_FALSE(param.inp.of_read_kernel); EXPECT_EQ(param.inp.of_kernel_file, "WTkernel.txt"); + EXPECT_FALSE(param.inp.of_cd); + EXPECT_DOUBLE_EQ(param.inp.of_mCD_alpha,1.0); EXPECT_DOUBLE_EQ(param.inp.of_xwm_kappa, 1.); EXPECT_DOUBLE_EQ(param.inp.of_xwm_rho_ref, 1.); EXPECT_EQ(param.inp.device, "cpu"); diff --git a/source/source_io/test/read_wf2rho_pw_test.cpp b/source/source_io/test/read_wf2rho_pw_test.cpp index 53421fbeef..786efd42a4 100644 --- a/source/source_io/test/read_wf2rho_pw_test.cpp +++ b/source/source_io/test/read_wf2rho_pw_test.cpp @@ -46,6 +46,10 @@ Magnetism::Magnetism() Magnetism::~Magnetism() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} int XC_Functional::func_type = 0; bool XC_Functional::ked_flag = false; @@ -283,16 +287,20 @@ TEST_F(ReadWfcRhoTest, ReadWfcRho) const double ecutwfc = 20; // this is a fake number - ModuleIO::write_wfc_pw( + + const int istep = -1; // -1 means ionic iteration number will not appear in file name + const int iter = -1; // -1 means electronic iteration number will not appear in file name + + ModuleIO::write_wfc_pw(istep, iter, kpar, my_pool, my_rank, nbands, nspin, npol, - GlobalV::RANK_IN_POOL, GlobalV::NPROC_IN_POOL, + GlobalV::RANK_IN_POOL, GlobalV::NPROC_IN_POOL, PARAM.input.out_wfc_pw, ecutwfc, out_dir, *psi, *kv, wfcpw, running_log); - ModuleIO::read_wf2rho_pw(wfcpw, symm, chg, - out_dir, kpar, my_pool, my_rank, + ModuleIO::read_wf2rho_pw(wfcpw, symm, chg, + out_dir, kpar, my_pool, my_rank, GlobalV::NPROC_IN_POOL, GlobalV::RANK_IN_POOL, - nbands, nspin, npol, + nbands, nspin, npol, nkstot, kv->ik2iktot, kv->isk, running_log); // compare the charge density @@ -301,10 +309,10 @@ TEST_F(ReadWfcRhoTest, ReadWfcRho) EXPECT_NEAR(chg.rho[0][ir], chg_ref.rho[0][ir], 1e-8); } - if (GlobalV::NPROC == 1) + if (GlobalV::NPROC == 1) { EXPECT_NEAR(chg.rho[0][0], 8617.076357957576, 1e-8); - } + } else if (GlobalV::NPROC == 4) { const std::vector ref = {8207.849135313403, 35.34776105132742, 8207.849135313403, 35.34776105132742}; diff --git a/source/source_io/test/read_wfc_nao_test.cpp b/source/source_io/test/read_wfc_nao_test.cpp index 703223b20f..c1b31cc99b 100644 --- a/source/source_io/test/read_wfc_nao_test.cpp +++ b/source/source_io/test/read_wfc_nao_test.cpp @@ -7,14 +7,6 @@ #include "source_basis/module_ao/parallel_orbitals.h" #include "source_io/write_wfc_nao.h" -//define a mock derived class of class ElecState - -namespace elecstate -{ - const double* ElecState::getRho(int spin) const{return &(this->eferm.ef);}//just for mock -} - - namespace ModuleIO { // mock filename_output @@ -29,7 +21,8 @@ std::string filename_output( const int out_type, const bool out_app_flag, const bool gamma_only, - const int istep) + const int istep, + const int iter) { return "./support/wfs1_nao.txt"; } @@ -77,19 +70,20 @@ TEST_F(ReadWfcNaoTest,ReadWfcNao) #endif psi::Psi psid; - elecstate::ElecState pelec; - pelec.ekb.create(nks,nbands); - pelec.wg.create(nks,nbands); + ModuleBase::matrix ekb; + ModuleBase::matrix wg; + ekb.create(nks,nbands); + wg.create(nks,nbands); std::vector ik2iktot = {0}; const int nkstot = 1; // Act ModuleIO::read_wfc_nao(PARAM.sys.global_readin_dir, ParaV, psid, - &(pelec), ik2iktot, nkstot, nspin); + ekb, wg, ik2iktot, nkstot, nspin); // Assert - EXPECT_NEAR(pelec.ekb(0,1),0.31482195194888534794941393,1e-5); - EXPECT_NEAR(pelec.wg(0,1),0.0,1e-5); + EXPECT_NEAR(ekb(0,1),0.31482195194888534794941393,1e-5); + EXPECT_NEAR(wg(0,1),0.0,1e-5); if (my_rank == 0) { EXPECT_NEAR(psid(0,0,0),5.3759239842e-01,1e-5); @@ -122,19 +116,20 @@ TEST_F(ReadWfcNaoTest, ReadWfcNaoPart) #endif psi::Psi psid; - elecstate::ElecState pelec; - pelec.ekb.create(nks, nbands); - pelec.wg.create(nks, nbands); + ModuleBase::matrix ekb; + ModuleBase::matrix wg; + ekb.create(nks, nbands); + wg.create(nks, nbands); std::vector ik2iktot = {0}; const int nkstot = 1; // Act ModuleIO::read_wfc_nao(PARAM.sys.global_readin_dir, ParaV, psid, - &(pelec), ik2iktot, nkstot, nspin, skip_band, nstep); + ekb, wg, ik2iktot, nkstot, nspin, skip_band, nstep); // Assert - EXPECT_NEAR(pelec.ekb(0, 1), 7.4141254894954844445464914e-01, 1e-5); + EXPECT_NEAR(ekb(0, 1), 7.4141254894954844445464914e-01, 1e-5); if (my_rank == 0) { EXPECT_NEAR(psid(0, 0, 0), 1.8587183851, 1e-5); diff --git a/source/source_io/test/support/INPUT b/source/source_io/test/support/INPUT index 5e70e8ef95..46840bd9da 100644 --- a/source/source_io/test/support/INPUT +++ b/source/source_io/test/support/INPUT @@ -30,15 +30,14 @@ lspinorb 0 #consider the spin-orbit interaction kpar 1 #devide all processors into kpar groups and k points will be distributed among each group bndpar 1 #devide all processors into bndpar groups and bands will be distributed among each group out_freq_elec 0 #the frequency ( >= 0) of electronic iter to output charge density and wavefunction. 0: output only when converged +out_freq_ion 0 #the frequency ( >= 0 ) of ionic step to output charge density and wavefunction. 0: output only when ion steps are finished dft_plus_dmft 0 #true:DFT+DMFT; false: standard DFT calcullation(default) rpa 0 #true:generate output files used in rpa calculation; false:(default) mem_saver 0 #Only for nscf calculations. if set to 1, then a memory saving technique will be used for many k point calculations. diago_proc 4 #the number of procs used to do diagonalization nbspline -1 #the order of B-spline basis -wannier_card none #input card for wannier functions -soc_lambda 1 #The fraction of averaged SOC pseudopotential is given by (1-soc_lambda) +soc_lambda 1 #The fraction of SOC based on scalar relativity (SR) of the pseudopotential cal_force 0 #if calculate the force at the end of the electronic iteration -out_freq_ion 0 #the frequency ( >= 0 ) of ionic step to output charge density and wavefunction. 0: output only when ion steps are finished device cpu #the computing device for ABACUS #Parameters (2.PW) @@ -137,7 +136,6 @@ lcao_dr 0.01 #delta r for 1D integration in LCAO lcao_rmax 30 #max R for 1D two-center integration table out_mat_hs 0 #output H and S matrix out_mat_hs2 0 #output H(R) and S(R) matrix -out_interval 1 #interval for printing H(R) and S(R) matrix during MD out_app_flag 0 #whether output r(R), H(R), S(R), T(R), and dH(R) matrices in an append manner during MD out_element_info 0 #output (projected) wavefunction of each element out_mat_r 0 #output r(R) matrix @@ -292,7 +290,7 @@ exx_v_grad_r_threshold 0 # exx_ccp_rmesh_times default # exx_opt_orb_lmax 0 # exx_opt_orb_ecut 0 # -exx_opt_orb_tolerence 0 # +exx_opt_orb_tolerence 1E-12 # #Parameters (16.tddft) td_vext 0 #add extern potential or not @@ -389,3 +387,7 @@ nsc_min 4 #Minimum number of spin-constrained iteration sc_scf_nmin 4 #Minimum number of outer scf loop before initializing lambda loop alpha_trial 0.02 #Initial trial step size for lambda in eV/uB^2 sccut 4 #Maximal step size for lambda in eV/uB + +#Parameters (23. Time-dependent orbital-free DFT) +of_cd 0 #0: no CD potential; 1: add CD potential +of_mCD_alpha 1.0 # parameter of modified CD potential \ No newline at end of file diff --git a/source/source_io/test/support/dms1_nao.txt b/source/source_io/test/support/dm_nao.txt similarity index 99% rename from source/source_io/test/support/dms1_nao.txt rename to source/source_io/test/support/dm_nao.txt index 8f03975f1e..811fa19b2f 100644 --- a/source/source_io/test/support/dms1_nao.txt +++ b/source/source_io/test/support/dm_nao.txt @@ -1,17 +1,17 @@ -none + none 5.39761 -0.5 0 0.5 0 0.5 0.5 -0.5 0.5 0 Si 2 -Direct + Direct 0 0 0 0.75 0.75 0.75 - 1 + 1 (nspin) 0.570336288802337 (fermi energy) - 26 26 + 26 (number of basis) 3.904e-01 1.114e-02 5.918e-14 -1.032e-14 -5.650e-14 -2.278e-15 1.049e-14 7.875e-15 -1.022e-15 -9.243e-15 -4.239e-15 -4.177e-16 1.138e-14 3.904e-01 1.114e-02 -5.087e-14 @@ -116,4 +116,4 @@ Direct 9.615e-15 -3.453e-15 1.810e-01 5.280e-15 2.578e-15 -1.606e-02 -1.587e-15 9.162e-17 9.484e-17 2.460e-16 4.817e-16 -7.012e-17 3.445e-02 -1.025e-14 4.295e-15 -1.810e-01 -4.065e-16 9.526e-16 1.606e-02 2.413e-15 7.651e-16 -7.043e-18 2.049e-16 1.512e-15 - -2.685e-17 3.445e-02 \ No newline at end of file + -2.685e-17 3.445e-02 diff --git a/source/source_io/test/support/dms1k1_nao.txt b/source/source_io/test/support/dmk1_nao.txt similarity index 99% rename from source/source_io/test/support/dms1k1_nao.txt rename to source/source_io/test/support/dmk1_nao.txt index 9cacc456e0..ff611f7c7e 100644 --- a/source/source_io/test/support/dms1k1_nao.txt +++ b/source/source_io/test/support/dmk1_nao.txt @@ -1,17 +1,17 @@ -none + none 1 2.74242 2.74242 0 2.74242 0 2.74242 0 2.74242 2.74242 Si 2 -Direct + Direct 0 0 0 0.25 0.25 0.25 - 1 + 1 (nspin) 0.47370 (fermi energy) - 26 26 + 26 (number of basis) (1.411e-01,0.000e+00) (-4.479e-03,3.208e-04) (-1.892e-02,3.039e-02) (-1.892e-02,3.039e-02) (1.892e-02,-3.039e-02) (-2.049e-03,-5.032e-03) (-2.049e-03,-5.032e-03) (2.049e-03,5.032e-03) (-6.505e-17,-4.647e-18) (2.931e-03,6.477e-03) (-2.931e-03,-6.477e-03) (-2.100e-16,6.607e-17) (-2.931e-03,-6.477e-03) (-1.319e-02,3.501e-02) (9.561e-03,-5.528e-03) (-3.910e-02,-2.210e-02) @@ -116,4 +116,4 @@ Direct (-2.387e-03,7.959e-03) (1.504e-04,-6.531e-04) (-1.637e-02,-1.991e-03) (4.284e-03,-2.804e-03) (-4.284e-03,2.804e-03) (1.374e-03,8.137e-04) (4.245e-05,-5.221e-04) (-4.245e-05,5.221e-04) (-3.694e-04,2.397e-04) (4.101e-04,6.505e-04) (-4.101e-04,-6.505e-04) (-1.148e-17,-1.884e-18) (2.872e-03,1.079e-03) (-2.931e-03,-6.477e-03) (2.300e-04,7.056e-04) (1.438e-02,4.085e-03) (-3.513e-03,-6.260e-03) (3.513e-03,6.260e-03) (-1.691e-03,3.401e-04) (1.097e-04,-2.210e-04) (-1.097e-04,2.210e-04) (-2.151e-04,-3.843e-04) (5.354e-04,-4.093e-18) (-5.354e-04,-1.423e-17) - (8.904e-18,7.971e-19) (3.174e-03,0.000e+00) \ No newline at end of file + (8.904e-18,7.971e-19) (3.174e-03,0.000e+00) diff --git a/source/source_io/test/winput_test.cpp b/source/source_io/test/winput_test.cpp deleted file mode 100644 index 7a3d301e40..0000000000 --- a/source/source_io/test/winput_test.cpp +++ /dev/null @@ -1,102 +0,0 @@ -#include "gtest/gtest.h" -#include "gmock/gmock.h" -/************************************************ - * unit test of winput.cpp - ***********************************************/ - -/** - * - Tested Functions: - * - Read() - * - Read in parameters about Wannier functions - * - Print() - * - Print out parameters about Wannier functions - */ - -#define private public -#include "../winput.h" -#undef private -class WInputTest : public testing::Test -{ -protected: - std::ifstream ifs; - std::string output; -}; - -TEST_F(WInputTest, Read) -{ - winput::Default(); - std::stringstream ss1; - ss1 << "./support/WINPUT"; - winput::Read(ss1.str()); - EXPECT_EQ(winput::target,"test"); - EXPECT_EQ(winput::wlmr_dir ,"./"); - EXPECT_EQ(winput::rcut ,10); - EXPECT_EQ(winput::before_iter ,0); - EXPECT_EQ(winput::after_iter ,0); - EXPECT_EQ(winput::begin_stop_flag ,0); - EXPECT_EQ(winput::end_flag ,0); - EXPECT_EQ(winput::wf_type ,"V"); - EXPECT_EQ(winput::build_wf ,0); - EXPECT_EQ(winput::imp_pao ,0); - EXPECT_EQ(winput::b_out_wf ,0); - EXPECT_EQ(winput::b_fftwan ,0); - EXPECT_EQ(winput::b_plot_build ,0); - EXPECT_EQ(winput::b_plot_atomic ,0); - EXPECT_EQ(winput::trial ,"atomic"); - EXPECT_DOUBLE_EQ(winput::bs ,2.5); - EXPECT_EQ(winput::bp ,2); - EXPECT_EQ(winput::px ,2); - EXPECT_EQ(winput::g1 ,3); - EXPECT_EQ(winput::g2 ,3); - EXPECT_EQ(winput::bloch_begin ,0); - EXPECT_EQ(winput::bloch_end ,0); - EXPECT_EQ(winput::no_center ,0); - EXPECT_EQ(winput::sph_proj ,0); - EXPECT_EQ(winput::sph_type ,0); - EXPECT_EQ(winput::b_recon ,0); - EXPECT_EQ(winput::speed_mode ,1); - EXPECT_EQ(winput::recon_wanq ,0); - EXPECT_EQ(winput::b_mix_wf ,0); - EXPECT_EQ(winput::mix_wf ,0); - EXPECT_EQ(winput::b_near_atom ,0); - EXPECT_EQ(winput::range0 ,0); - EXPECT_EQ(winput::range1 ,0); - EXPECT_EQ(winput::L_start ,0); - EXPECT_EQ(winput::L_end ,2); - EXPECT_EQ(winput::atom_start ,0); - EXPECT_EQ(winput::atom_end ,1); - EXPECT_EQ(winput::trunc_ao ,6); - EXPECT_EQ(winput::trunc_wlmr ,14); - EXPECT_EQ(winput::trunc_wan ,6); - EXPECT_EQ(winput::fermi_t ,1); - EXPECT_DOUBLE_EQ(winput::clm2_lowest,1e-07); - EXPECT_EQ(winput::plot_wanq ,0); - EXPECT_EQ(winput::plot_option ,"(110)"); - EXPECT_EQ(winput::n_unitcell ,2); - EXPECT_EQ(winput::out_all ,0); - EXPECT_EQ(winput::out_chg ,0); - EXPECT_EQ(winput::compare_atomic ,0); - EXPECT_EQ(winput::cal_bands ,0); - EXPECT_EQ(winput::cal_bands2 ,0); - EXPECT_EQ(winput::charge_type ,"planewave"); - EXPECT_EQ(winput::cal_dos ,0); - EXPECT_EQ(winput::out_spillage ,0); - EXPECT_EQ(winput::spillage_outdir ,"./"); - EXPECT_EQ(winput::mesh ,999); - EXPECT_DOUBLE_EQ(winput::dr ,0.01); - EXPECT_EQ(winput::sum_lm ,0); -} - -TEST_F(WInputTest, Print) -{ - winput::Default(); - std::stringstream ss1; - ss1 << "WINPUT_out"; - winput::Print(ss1.str()); - ifs.open("WINPUT_out"); - getline(ifs,output); - // test output in warning.log file - EXPECT_THAT(output,testing::HasSubstr("WANNIER_PARAMETERS")); - ifs.close(); - remove("WINPUT_out"); -} diff --git a/source/source_io/test/io_dmk_test.cpp b/source/source_io/test/write_dmk_test.cpp similarity index 80% rename from source/source_io/test/io_dmk_test.cpp rename to source/source_io/test/write_dmk_test.cpp index 673185648c..5c56a0bfad 100644 --- a/source/source_io/test/io_dmk_test.cpp +++ b/source/source_io/test/write_dmk_test.cpp @@ -1,4 +1,4 @@ -#include "source_io/io_dmk.h" +#include "source_io/write_dmk.h" #define private public #include "source_io/module_parameter/parameter.h" @@ -101,15 +101,30 @@ void gen_dmk(std::vector>& dmk, std::vector& efs, int ns TEST(DMKTest, GenFileName) { - std::string fname = ModuleIO::dmk_gen_fname(true, 0, 0); - EXPECT_EQ(fname, "dms1_nao.txt"); - fname = ModuleIO::dmk_gen_fname(true, 1, 1); - EXPECT_EQ(fname, "dms2_nao.txt"); - - fname = ModuleIO::dmk_gen_fname(false, 0, 0); - EXPECT_EQ(fname, "dms1k1_nao.txt"); - fname = ModuleIO::dmk_gen_fname(false, 1, 1); - EXPECT_EQ(fname, "dms2k2_nao.txt"); + bool gamma_only = true; + int ispin = 0; + int nspin = 2; + int ik = 0; + int istep = 0; + std::string fname = ModuleIO::dmk_gen_fname(gamma_only, ispin, nspin, ik, istep); + EXPECT_EQ(fname, "dms1g1_nao.txt"); + + ispin = 1; + + fname = ModuleIO::dmk_gen_fname(gamma_only, ispin, nspin, ik, istep); + EXPECT_EQ(fname, "dms2g1_nao.txt"); + + ispin = 0; + gamma_only = false; + + fname = ModuleIO::dmk_gen_fname(gamma_only, ispin, nspin, ik, istep); + EXPECT_EQ(fname, "dmk1s1g1_nao.txt"); + + ispin = 1; + ik = 1; + + fname = ModuleIO::dmk_gen_fname(gamma_only, ispin, nspin, ik, istep); + EXPECT_EQ(fname, "dmk2s2g1_nao.txt"); }; @@ -132,8 +147,9 @@ TEST(DMKTest,WriteDMK) { gen_dmk(dmk_multik, efs, nspin, nk_multik, nlocal, pv); PARAM.sys.global_out_dir = "./"; - ModuleIO::write_dmk(dmk, 3, efs, ucell, pv); - ModuleIO::write_dmk(dmk_multik, 3, efs, ucell, pv); + const int istep = -1; + ModuleIO::write_dmk(dmk, 3, efs, ucell, pv, istep); + ModuleIO::write_dmk(dmk_multik, 3, efs, ucell, pv, istep); std::ifstream ifs; int pass = 0; @@ -144,7 +160,7 @@ TEST(DMKTest,WriteDMK) { std::string str((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); EXPECT_THAT(str, testing::HasSubstr("0.00000 (fermi energy)")); - EXPECT_THAT(str, testing::HasSubstr("20 20")); + EXPECT_THAT(str, testing::HasSubstr("20 (number of basis)")); EXPECT_THAT( str, testing::HasSubstr("0.000e+00 1.000e-01 2.000e-01 3.000e-01 4.000e-01 " @@ -163,7 +179,7 @@ TEST(DMKTest,WriteDMK) { str = std::string((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); EXPECT_THAT(str, testing::HasSubstr("0.10000 (fermi energy)")); - EXPECT_THAT(str, testing::HasSubstr("20 20")); + EXPECT_THAT(str, testing::HasSubstr("20 (number of basis)")); EXPECT_THAT( str, testing::HasSubstr("1.000e+00 1.100e+00 1.200e+00 1.300e+00 1.400e+00 " @@ -177,84 +193,84 @@ TEST(DMKTest,WriteDMK) { testing::HasSubstr("2.600e+00 2.700e+00 2.800e+00 2.900e+00\n")); ifs.close(); - fn = "dms1k1_nao.txt"; + fn = "dmk1s1_nao.txt"; ifs.open(fn); str = std::string((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); EXPECT_THAT(str, testing::HasSubstr("0.00000 (fermi energy)")); - EXPECT_THAT(str, testing::HasSubstr("20 20")); + EXPECT_THAT(str, testing::HasSubstr("20 (number of basis)")); EXPECT_THAT( str, testing::HasSubstr("(0.000e+00,0.000e+00) (1.000e-01,1.000e+00) (2.000e-01,2.000e+00) " - "(3.000e-01,3.000e+00) (4.000e-01,4.000e+00) (5.000e-01,5.000e+00) " + "(3.000e-01,3.000e+00)\n (4.000e-01,4.000e+00) (5.000e-01,5.000e+00) " "(6.000e-01,6.000e+00) (7.000e-01,7.000e+00)\n")); EXPECT_THAT( str, testing::HasSubstr("(8.000e-01,8.000e+00) (9.000e-01,9.000e+00) (1.000e+00,1.000e+01) " - "(1.100e+00,1.100e+01) (1.200e+00,1.200e+01) (1.300e+00,1.300e+01) " + "(1.100e+00,1.100e+01)\n (1.200e+00,1.200e+01) (1.300e+00,1.300e+01) " "(1.400e+00,1.400e+01) (1.500e+00,1.500e+01)\n")); EXPECT_THAT( str, testing::HasSubstr("(1.600e+00,1.600e+01) (1.700e+00,1.700e+01) (1.800e+00,1.800e+01) (1.900e+00,1.900e+01)\n")); ifs.close(); - fn = "dms1k2_nao.txt"; + fn = "dmk2s1_nao.txt"; ifs.open(fn); str = std::string((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); EXPECT_THAT(str, testing::HasSubstr("0.00000 (fermi energy)")); - EXPECT_THAT(str, testing::HasSubstr("20 20")); + EXPECT_THAT(str, testing::HasSubstr("20 (number of basis)")); EXPECT_THAT( str, testing::HasSubstr("(1.000e+00,1.000e-01) (1.100e+00,1.100e+00) (1.200e+00,2.100e+00) " - "(1.300e+00,3.100e+00) (1.400e+00,4.100e+00) (1.500e+00,5.100e+00) " + "(1.300e+00,3.100e+00)\n (1.400e+00,4.100e+00) (1.500e+00,5.100e+00) " "(1.600e+00,6.100e+00) (1.700e+00,7.100e+00)\n")); EXPECT_THAT( str, testing::HasSubstr("(1.800e+00,8.100e+00) (1.900e+00,9.100e+00) (2.000e+00,1.010e+01) " - "(2.100e+00,1.110e+01) (2.200e+00,1.210e+01) (2.300e+00,1.310e+01) " + "(2.100e+00,1.110e+01)\n (2.200e+00,1.210e+01) (2.300e+00,1.310e+01) " "(2.400e+00,1.410e+01) (2.500e+00,1.510e+01)\n")); EXPECT_THAT( str, testing::HasSubstr("(2.600e+00,1.610e+01) (2.700e+00,1.710e+01) (2.800e+00,1.810e+01) (2.900e+00,1.910e+01)\n")); ifs.close(); - fn = "dms2k1_nao.txt"; + fn = "dmk1s2_nao.txt"; ifs.open(fn); str = std::string((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); EXPECT_THAT(str, testing::HasSubstr("0.10000 (fermi energy)")); - EXPECT_THAT(str, testing::HasSubstr("20 20")); + EXPECT_THAT(str, testing::HasSubstr("20 (number of basis)")); EXPECT_THAT( str, testing::HasSubstr("(2.000e+00,2.000e-01) (2.100e+00,1.200e+00) (2.200e+00,2.200e+00) " - "(2.300e+00,3.200e+00) (2.400e+00,4.200e+00) (2.500e+00,5.200e+00) " + "(2.300e+00,3.200e+00)\n (2.400e+00,4.200e+00) (2.500e+00,5.200e+00) " "(2.600e+00,6.200e+00) (2.700e+00,7.200e+00)\n")); EXPECT_THAT( str, testing::HasSubstr("(2.800e+00,8.200e+00) (2.900e+00,9.200e+00) (3.000e+00,1.020e+01) " - "(3.100e+00,1.120e+01) (3.200e+00,1.220e+01) (3.300e+00,1.320e+01) " + "(3.100e+00,1.120e+01)\n (3.200e+00,1.220e+01) (3.300e+00,1.320e+01) " "(3.400e+00,1.420e+01) (3.500e+00,1.520e+01)\n")); EXPECT_THAT( str, testing::HasSubstr("(3.600e+00,1.620e+01) (3.700e+00,1.720e+01) (3.800e+00,1.820e+01) (3.900e+00,1.920e+01)\n")); ifs.close(); - fn = "dms2k2_nao.txt"; + fn = "dmk2s2_nao.txt"; ifs.open(fn); str = std::string((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); EXPECT_THAT(str, testing::HasSubstr("0.10000 (fermi energy)")); - EXPECT_THAT(str, testing::HasSubstr("20 20")); + EXPECT_THAT(str, testing::HasSubstr("20 (number of basis)")); EXPECT_THAT( str, testing::HasSubstr("(3.000e+00,3.000e-01) (3.100e+00,1.300e+00) (3.200e+00,2.300e+00) " - "(3.300e+00,3.300e+00) (3.400e+00,4.300e+00) (3.500e+00,5.300e+00) " + "(3.300e+00,3.300e+00)\n (3.400e+00,4.300e+00) (3.500e+00,5.300e+00) " "(3.600e+00,6.300e+00) (3.700e+00,7.300e+00)\n")); EXPECT_THAT( str, testing::HasSubstr("(3.800e+00,8.300e+00) (3.900e+00,9.300e+00) (4.000e+00,1.030e+01) " - "(4.100e+00,1.130e+01) (4.200e+00,1.230e+01) (4.300e+00,1.330e+01) " + "(4.100e+00,1.130e+01)\n (4.200e+00,1.230e+01) (4.300e+00,1.330e+01) " "(4.400e+00,1.430e+01) (4.500e+00,1.530e+01)\n")); EXPECT_THAT( str, @@ -262,10 +278,10 @@ TEST(DMKTest,WriteDMK) { ifs.close(); remove("dms1_nao.txt"); remove("dms2_nao.txt"); - remove("dms1k1_nao.txt"); - remove("dms1k2_nao.txt"); - remove("dms2k1_nao.txt"); - remove("dms2k2_nao.txt"); + remove("dmk1s1_nao.txt"); + remove("dmk2s1_nao.txt"); + remove("dmk1s2_nao.txt"); + remove("dmk2s2_nao.txt"); } delete ucell; @@ -287,6 +303,8 @@ TEST(DMKTest, ReadDMK) { std::ofstream ofs_running("running_log.txt"); + GlobalV::ofs_warning.open("warning.log"); + EXPECT_TRUE(ModuleIO::read_dmk(1, 1, pv, "./support/", dmk, ofs_running)); ModuleIO::read_dmk(1, 1, pv, "./support/", dmk_multik, ofs_running); EXPECT_TRUE(ModuleIO::read_dmk(1, 1, pv, "./support/", dmk_multik, ofs_running)); @@ -302,7 +320,9 @@ TEST(DMKTest, ReadDMK) { } ofs_running.close(); + GlobalV::ofs_warning.close(); remove("running_log.txt"); + remove("warning.log"); } diff --git a/source/source_io/test/write_dos_pw_test.cpp b/source/source_io/test/write_dos_pw_test.cpp index 5baae72ef8..a7dcd74202 100644 --- a/source/source_io/test/write_dos_pw_test.cpp +++ b/source/source_io/test/write_dos_pw_test.cpp @@ -65,7 +65,7 @@ TEST_F(DosPWTest,Dos1) PARAM.input.nbands = dosp.nbands; // initialize the Fermi energy - elecstate::efermi fermi_energy; + elecstate::Efermi fermi_energy; std::ofstream ofs("write_dos_pw.log"); @@ -77,6 +77,7 @@ TEST_F(DosPWTest,Dos1) dosp.wg, *kv, PARAM.inp.nbands, + -1, // istep_in fermi_energy, dosp.de_ev, dos_scale, @@ -90,13 +91,13 @@ TEST_F(DosPWTest,Dos1) { #endif std::ifstream ifs; - ifs.open("doss1_pw.txt"); + ifs.open("dos.txt"); std::string str((std::istreambuf_iterator(ifs)),std::istreambuf_iterator()); EXPECT_THAT(str, testing::HasSubstr("4801 # number of points")); EXPECT_THAT(str, testing::HasSubstr(" -4.6 0.25 0.28125 1.42515 0.159819")); EXPECT_THAT(str, testing::HasSubstr(" 18 0 16 0 16")); ifs.close(); - remove("doss1_pw.txt"); + remove("dos.txt"); #ifdef __MPI } #endif @@ -129,7 +130,7 @@ TEST_F(DosPWTest,Dos2) PARAM.input.nbands = dosp.nbands; // initialize the Fermi energy - elecstate::efermi fermi_energy; + elecstate::Efermi fermi_energy; std::ofstream ofs("write_dos_pw.log"); @@ -140,7 +141,8 @@ TEST_F(DosPWTest,Dos2) dosp.ekb, dosp.wg, *kv, - PARAM.inp.nbands, + PARAM.inp.nbands, + -1, // istep_in fermi_energy, dosp.de_ev, dos_scale, @@ -154,13 +156,13 @@ TEST_F(DosPWTest,Dos2) { #endif std::ifstream ifs; - ifs.open("doss1_pw.txt"); + ifs.open("dos.txt"); std::string str1((std::istreambuf_iterator(ifs)),std::istreambuf_iterator()); EXPECT_THAT(str1, testing::HasSubstr("4532 # number of points")); EXPECT_THAT(str1, testing::HasSubstr(" -5.38811 0.03125 0.03125")); EXPECT_THAT(str1, testing::HasSubstr(" 3.07189 0.1875 5.46875")); ifs.close(); - remove("doss1_pw.txt"); + remove("dos.txt"); #ifdef __MPI } #endif diff --git a/source/source_io/test/write_eig_occ_test.cpp b/source/source_io/test/write_eig_occ_test.cpp index 3598817b91..3797efe8a5 100644 --- a/source/source_io/test/write_eig_occ_test.cpp +++ b/source/source_io/test/write_eig_occ_test.cpp @@ -98,17 +98,18 @@ TEST_F(IstateInfoTest, OutIstateInfoS1) } // write eigenvalues and occupations - ModuleIO::write_eig_file(ekb, wg, *kv); + const int istep_in = -1; + ModuleIO::write_eig_file(ekb, wg, *kv, istep_in); // check the output files std::ifstream ifs; - ifs.open("eig.txt"); + ifs.open("eig_occ.txt"); std::string str((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); EXPECT_THAT(str, testing::HasSubstr("Electronic state energy (eV) and occupations")); EXPECT_THAT(str, testing::HasSubstr("spin=1 k-point=1/10 Cartesian=0.0000000 0.0000000 0.0000000 (299 plane wave)")); EXPECT_THAT(str, testing::HasSubstr("1 2.040854700000000 0.000000000000000")); ifs.close(); - remove("eig.txt"); + remove("eig_occ.txt"); } #ifdef __MPI diff --git a/source/source_io/test/write_wfc_nao_test.cpp b/source/source_io/test/write_wfc_nao_test.cpp index 50258a470f..04512196e0 100644 --- a/source/source_io/test/write_wfc_nao_test.cpp +++ b/source/source_io/test/write_wfc_nao_test.cpp @@ -35,7 +35,7 @@ TEST(GenWfcLcaoFnameTest, OutType1GammaOnlyOutAppFlagTrue) nkstot, out_type, out_app_flag, gamma_only, istep); // output .txt file when out_type=1 - std::string expected_output = "wfs1_nao.txt"; + std::string expected_output = "wf_nao.txt"; EXPECT_EQ(result, expected_output); } @@ -88,7 +88,7 @@ TEST(GenWfcLcaoFnameTest, OutTypeInvalid) std::string output = testing::internal::GetCapturedStdout(); // a .txt is chosen if out_type is not 1 or 2 - std::string expected_output = "wfs1k3_nao.txt"; + std::string expected_output = "wfk3_nao.txt"; EXPECT_EQ(result, expected_output); } diff --git a/source/source_io/test_serial/CMakeLists.txt b/source/source_io/test_serial/CMakeLists.txt index be54c7bf82..57a591d597 100644 --- a/source/source_io/test_serial/CMakeLists.txt +++ b/source/source_io/test_serial/CMakeLists.txt @@ -30,6 +30,7 @@ AddTest( SOURCES read_input_test.cpp ../../source_base/test/tool_quit_no_exit.cpp ../../source_base/module_device/device.cpp + ../../source_base/module_device/output_device.cpp ) AddTest( @@ -50,13 +51,13 @@ AddTest( ) AddTest( - TARGET MODULE_IO_nscf_band + TARGET MODULE_IO_write_bands LIBS parameter ${math_libs} base device - SOURCES nscf_band_test.cpp ../nscf_band.cpp + SOURCES write_bands_test.cpp ../write_bands.cpp ) AddTest( TARGET MODULE_IO_system_variable_test LIBS parameter ${math_libs} base device io_input_serial SOURCES io_system_variable_test.cpp -) \ No newline at end of file +) diff --git a/source/source_io/test_serial/prepare_unitcell.h b/source/source_io/test_serial/prepare_unitcell.h index 0ae5df18d3..7e73e71892 100644 --- a/source/source_io/test_serial/prepare_unitcell.h +++ b/source/source_io/test_serial/prepare_unitcell.h @@ -98,7 +98,7 @@ class UcellTestPrepare } //lattice info ucell->lat0 = this->lat0; - ucell->lat0_angstrom = ucell->lat0 * 0.529177; + ucell->lat0_angstrom = ucell->lat0 * ModuleBase::BOHR_TO_A; ucell->tpiba = ModuleBase::TWO_PI/ucell->lat0; ucell->tpiba2 = ucell->tpiba * ucell->tpiba; ucell->latvec.e11 = this->latvec[0]; diff --git a/source/source_io/test_serial/read_input_item_test.cpp b/source/source_io/test_serial/read_input_item_test.cpp index d773eb9456..60d44587cf 100644 --- a/source/source_io/test_serial/read_input_item_test.cpp +++ b/source/source_io/test_serial/read_input_item_test.cpp @@ -766,7 +766,7 @@ TEST_F(InputTest, Item_test) } { // relax_method auto it = find_label("relax_method", readinput.input_lists); - param.input.relax_method = "none"; + param.input.relax_method[0] = "none"; testing::internal::CaptureStdout(); EXPECT_EXIT(it->second.check_value(it->second, param), ::testing::ExitedWithCode(1), ""); output = testing::internal::GetCapturedStdout(); @@ -775,12 +775,12 @@ TEST_F(InputTest, Item_test) { //relax_new auto it = find_label("relax_new", readinput.input_lists); param.input.relax_new = true; - param.input.relax_method = "cg"; + param.input.relax_method[0] = "cg"; it->second.reset_value(it->second, param); EXPECT_EQ(param.input.relax_new, true); param.input.relax_new = true; - param.input.relax_method = "none"; + param.input.relax_method[0] = "none"; it->second.reset_value(it->second, param); EXPECT_EQ(param.input.relax_new, false); } @@ -813,24 +813,27 @@ TEST_F(InputTest, Item_test) } { // out_dmk auto it = find_label("out_dmk", readinput.input_lists); - param.input.calculation = "get_wf"; - param.input.out_dmk = true; - it->second.reset_value(it->second, param); - EXPECT_EQ(param.input.out_dmk, false); + it->second.str_values = {"1"}; + it->second.read_value(it->second, param); + EXPECT_EQ(param.input.out_dmk[0], 1); + EXPECT_EQ(param.input.out_dmk[1], 8); + + it->second.str_values = {"1", "2"}; + it->second.read_value(it->second, param); + EXPECT_EQ(param.input.out_dmk[0], 1); + EXPECT_EQ(param.input.out_dmk[1], 2); } { // out_dmr auto it = find_label("out_dmr", readinput.input_lists); - param.input.calculation = "get_wf"; - param.input.out_dmr = true; - it->second.reset_value(it->second, param); - EXPECT_EQ(param.input.out_dmr, false); + it->second.str_values = {"1"}; + it->second.read_value(it->second, param); + EXPECT_EQ(param.input.out_dmr[0], 1); + EXPECT_EQ(param.input.out_dmr[1], 8); - param.sys.gamma_only_local = true; - param.input.out_dmr = true; - testing::internal::CaptureStdout(); - EXPECT_EXIT(it->second.check_value(it->second, param), ::testing::ExitedWithCode(1), ""); - output = testing::internal::GetCapturedStdout(); - EXPECT_THAT(output, testing::HasSubstr("NOTICE")); + it->second.str_values = {"1", "2"}; + it->second.read_value(it->second, param); + EXPECT_EQ(param.input.out_dmr[0], 1); + EXPECT_EQ(param.input.out_dmr[1], 2); } { // method_sto auto it = find_label("method_sto", readinput.input_lists); @@ -943,12 +946,6 @@ TEST_F(InputTest, Item_test) EXPECT_EQ(param.input.out_mat_hs[0], 1); EXPECT_EQ(param.input.out_mat_hs[1], 2); - it->second.str_values = {"1", "2", "3"}; - testing::internal::CaptureStdout(); - EXPECT_EXIT(it->second.read_value(it->second, param), ::testing::ExitedWithCode(1), ""); - output = testing::internal::GetCapturedStdout(); - EXPECT_THAT(output, testing::HasSubstr("NOTICE")); - param.input.out_mat_hs = {0}; param.input.qo_switch = true; it->second.reset_value(it->second, param); @@ -971,14 +968,6 @@ TEST_F(InputTest, Item_test2) output = testing::internal::GetCapturedStdout(); EXPECT_THAT(output, testing::HasSubstr("NOTICE")); } - { // out_interval - auto it = find_label("out_interval", readinput.input_lists); - param.input.out_interval = 0; - testing::internal::CaptureStdout(); - EXPECT_EXIT(it->second.check_value(it->second, param), ::testing::ExitedWithCode(1), ""); - output = testing::internal::GetCapturedStdout(); - EXPECT_THAT(output, testing::HasSubstr("NOTICE")); - } { // dm_to_rho auto it = find_label("dm_to_rho", readinput.input_lists); param.input.dm_to_rho = true; @@ -1408,15 +1397,7 @@ TEST_F(InputTest, Item_test2) it->second.reset_value(it->second, param); EXPECT_EQ(param.input.exx_ccp_rmesh_times, "1"); - param.input.exx_ccp_rmesh_times = "0"; - testing::internal::CaptureStdout(); - EXPECT_EXIT(it->second.check_value(it->second, param), ::testing::ExitedWithCode(1), ""); - output = testing::internal::GetCapturedStdout(); - EXPECT_THAT(output, testing::HasSubstr("NOTICE")); - } - { // exx_opt_orb_lmax - auto it = find_label("exx_opt_orb_lmax", readinput.input_lists); - param.input.exx_opt_orb_lmax = -1; + param.input.exx_ccp_rmesh_times = "-1"; testing::internal::CaptureStdout(); EXPECT_EXIT(it->second.check_value(it->second, param), ::testing::ExitedWithCode(1), ""); output = testing::internal::GetCapturedStdout(); diff --git a/source/source_io/test_serial/rho_io_test.cpp b/source/source_io/test_serial/rho_io_test.cpp index 2085b83f43..2b2ed1dd0e 100644 --- a/source/source_io/test_serial/rho_io_test.cpp +++ b/source/source_io/test_serial/rho_io_test.cpp @@ -91,7 +91,7 @@ class RhoIOTest : public ::testing::Test TEST_F(RhoIOTest, Read) { int is = 0; - std::string fn = "./support/chgs1.cube"; + std::string fn = "./support/chg.cube"; int nx = 36; int ny = 36; int nz = 36; @@ -117,9 +117,13 @@ TEST_F(RhoIOTest, Write) ucell->atoms[0].tau[1] = ModuleBase::Vector3(-0.75, 0.75, 0.75); ucell->atoms[0].ncpp.zv = 4; Parallel_Grid pgrid(nx, ny, nz, nz, nrxx, nz, 1); - ModuleIO::read_vdata_palgrid(pgrid, my_rank, ofs_running, "support/chgs1.cube", rho[0], ucell->nat); + ModuleIO::read_vdata_palgrid(pgrid, my_rank, ofs_running, "support/chg.cube", rho[0], ucell->nat); ModuleIO::write_vdata_palgrid(pgrid, rho[0], 0, nspin, 0, "test_write_vdata_palgrid.cube", 0.461002, ucell, 11, 1); - EXPECT_EQ(system("diff -q test_write_vdata_palgrid.cube support/chgs1.cube"), 0); + std::ifstream ifs1("test_write_vdata_palgrid.cube", std::ifstream::binary | std::ifstream::ate); + std::ifstream ifs2("support/chg.cube", std::ifstream::binary | std::ifstream::ate); + EXPECT_EQ(ifs1.tellg(), ifs2.tellg()); + ifs1.close(); + ifs2.close(); } TEST_F(RhoIOTest, TrilinearInterpolate) @@ -130,7 +134,7 @@ TEST_F(RhoIOTest, TrilinearInterpolate) int nx_read = 36; int ny_read = 36; int nz_read = 36; - std::ifstream ifs("./support/chgs1.cube"); + std::ifstream ifs("./support/chg.cube"); for (int i = 0; i < 8; ++i) { ifs.ignore(300, '\n'); @@ -190,7 +194,7 @@ struct CubeIOTest : public ::testing::Test std::vector atom_charge; std::vector> atom_pos; std::vector data_read; - const std::string fn = "./support/chgs1.cube"; + const std::string fn = "./support/chg.cube"; }; @@ -235,6 +239,9 @@ TEST_F(CubeIOTest, WriteCube) nx_read, ny_read, nz_read, dx, dy, dz, atom_type, atom_charge, atom_pos, data_read, 11); - - EXPECT_EQ(system("diff -q test_write.cube ./support/chgs1.cube"), 0); + std::ifstream ifs1("test_write.cube", std::ifstream::binary | std::ifstream::ate); + std::ifstream ifs2("./support/chg.cube", std::ifstream::binary | std::ifstream::ate); + EXPECT_EQ(ifs1.tellg(), ifs2.tellg()); + ifs1.close(); + ifs2.close(); } diff --git a/source/source_io/test_serial/support/chgs1.cube b/source/source_io/test_serial/support/chg.cube similarity index 100% rename from source/source_io/test_serial/support/chgs1.cube rename to source/source_io/test_serial/support/chg.cube diff --git a/source/source_io/test_serial/nscf_band_test.cpp b/source/source_io/test_serial/write_bands_test.cpp similarity index 91% rename from source/source_io/test_serial/nscf_band_test.cpp rename to source/source_io/test_serial/write_bands_test.cpp index 08c4a338f2..e7e82684da 100644 --- a/source/source_io/test_serial/nscf_band_test.cpp +++ b/source/source_io/test_serial/write_bands_test.cpp @@ -1,17 +1,17 @@ #include "gtest/gtest.h" #include "gmock/gmock.h" -#include "source_io/nscf_band.h" +#include "source_io/write_bands.h" #include "source_cell/parallel_kpoints.h" #include "source_cell/klist.h" /************************************************ - * unit test of nscf_band + * unit test of ns ***********************************************/ /** * - Tested Functions: - * - nscf_band() + * - nscf_bands() * - output band structure in nscf calculation */ @@ -61,14 +61,14 @@ class BandTest : public ::testing::Test K_Vectors* kv; }; -TEST_F(BandTest, nscf_band) +TEST_F(BandTest, nscf_bands) { kv->para_k.nks_pool.resize(1); kv->para_k.nks_pool[0] = nks; kv->para_k.nkstot_np = nks; kv->para_k.nks_np = nks; // Call the function to be tested - ModuleIO::nscf_band(is, out_band_dir, nband, fermie, 8, ekb, *kv); + ModuleIO::nscf_bands(is, out_band_dir, nband, fermie, 8, ekb, *kv); // Check the output file std::ifstream ifs(out_band_dir); diff --git a/source/source_io/to_wannier90_lcao.cpp b/source/source_io/to_wannier90_lcao.cpp index 1388dc6975..911a42100e 100644 --- a/source/source_io/to_wannier90_lcao.cpp +++ b/source/source_io/to_wannier90_lcao.cpp @@ -265,20 +265,12 @@ void toWannier90_LCAO::out_unk(const psi::Psi>& psi) void toWannier90_LCAO::initialize_orb_table(const UnitCell& ucell) { - int Lmax_used = 0; - int Lmax = 0; - int exx_lmax = 0; -#ifdef __EXX - exx_lmax = GlobalC::exx_info.info_ri.abfs_Lmax; -#endif - #ifdef __LCAO const int ntype = orb_.get_ntype(); - int lmax_orb = -1, lmax_beta = -1; + int lmax_orb = -1; for (int it = 0; it < ntype; it++) { lmax_orb = std::max(lmax_orb, orb_.Phi[it].getLmax()); - lmax_beta = std::max(lmax_beta, ucell.infoNL.Beta[it].getLmax()); } const double dr = orb_.get_dR(); const double dk = orb_.get_dk(); @@ -286,13 +278,9 @@ void toWannier90_LCAO::initialize_orb_table(const UnitCell& ucell) int Rmesh = static_cast(orb_.get_Rmax() / dr) + 4; Rmesh += 1 - Rmesh % 2; - Center2_Orb::init_Table_Spherical_Bessel(2, - 3, - Lmax_used, - Lmax, - exx_lmax, - lmax_orb, - lmax_beta, + const int Lmax = lmax_orb + 1; + const int Lmax_used = 2 * lmax_orb + 1; + Center2_Orb::init_Table_Spherical_Bessel(Lmax_used, dr, dk, kmesh, @@ -435,44 +423,44 @@ void toWannier90_LCAO::unkdotkb(const UnitCell& ucell, ModuleBase::GlobalFunc::ZEROS(out_matrix, nloc); #ifdef __MPI - pzgemm_(&transa, - &transb, - &Bands, - &nlocal, - &nlocal, - &alpha, + ScalapackConnector::gemm(transa, + transb, + Bands, + nlocal, + nlocal, + alpha, &psi_in(ik, 0, 0), - &one, - &one, + one, + one, this->ParaV->desc, midmatrix, - &one, - &one, + one, + one, this->ParaV->desc, - &beta, + beta, C_matrix, - &one, - &one, + one, + one, this->ParaV->desc); - pzgemm_(&transb, - &transb, - &Bands, - &Bands, - &nlocal, - &alpha, + ScalapackConnector::gemm(transb, + transb, + Bands, + Bands, + nlocal, + alpha, C_matrix, - &one, - &one, + one, + one, this->ParaV->desc, &psi_in(ikb, 0, 0), - &one, - &one, + one, + one, this->ParaV->desc, - &beta, + beta, out_matrix, - &one, - &one, + one, + one, this->ParaV->desc); #endif diff --git a/source/source_io/to_wannier90_lcao.h b/source/source_io/to_wannier90_lcao.h index 50560464e9..fa75293d9b 100644 --- a/source/source_io/to_wannier90_lcao.h +++ b/source/source_io/to_wannier90_lcao.h @@ -39,7 +39,6 @@ #include "fR_overlap.h" #include "source_base/abfs-vector3_order.h" #include "source_base/math_lebedev_laikov.h" -#include "source_lcao/module_gint/grid_technique.h" #include "source_lcao/module_hcontainer/hcontainer.h" class Coordinate_3D diff --git a/source/source_io/to_wannier90_lcao_in_pw.h b/source/source_io/to_wannier90_lcao_in_pw.h index 94a5e87483..cf6d5fc915 100644 --- a/source/source_io/to_wannier90_lcao_in_pw.h +++ b/source/source_io/to_wannier90_lcao_in_pw.h @@ -1,5 +1,5 @@ -#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_IO_TO_WANNIER90_LCAO_IN_PW_H -#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_IO_TO_WANNIER90_LCAO_IN_PW_H +#ifndef TO_WANNIER90_LCAO_IN_PW_H +#define TO_WANNIER90_LCAO_IN_PW_H #include "source_base/abfs-vector3_order.h" #include "source_base/complexmatrix.h" @@ -30,7 +30,6 @@ #ifdef __LCAO #include "source_basis/module_ao/parallel_orbitals.h" -#include "source_lcao/module_gint/grid_technique.h" #include "source_psi/psi_initializer.h" class toWannier90_LCAO_IN_PW : public toWannier90_PW diff --git a/source/source_io/unk_overlap_lcao.cpp b/source/source_io/unk_overlap_lcao.cpp index dbd734f7e2..c4badd40ad 100644 --- a/source/source_io/unk_overlap_lcao.cpp +++ b/source/source_io/unk_overlap_lcao.cpp @@ -25,24 +25,14 @@ unkOverlap_lcao::~unkOverlap_lcao() } void unkOverlap_lcao::init(const UnitCell& ucell, - const Grid_Technique& gt, const int nkstot, const LCAO_Orbitals& orb) { - - int Lmax_used = 0; - int Lmax = 0; - int exx_lmax = 0; -#ifdef __EXX - exx_lmax = GlobalC::exx_info.info_ri.abfs_Lmax; -#endif - const int ntype = orb.get_ntype(); - int lmax_orb = -1, lmax_beta = -1; + int lmax_orb = -1; for (int it = 0; it < ntype; it++) { lmax_orb = std::max(lmax_orb, orb.Phi[it].getLmax()); - lmax_beta = std::max(lmax_beta, ucell.infoNL.Beta[it].getLmax()); } const double dr = orb.get_dR(); const double dk = orb.get_dk(); @@ -50,13 +40,9 @@ void unkOverlap_lcao::init(const UnitCell& ucell, int Rmesh = static_cast(orb.get_Rmax() / dr) + 4; Rmesh += 1 - Rmesh % 2; - Center2_Orb::init_Table_Spherical_Bessel(2, - 3, - Lmax_used, - Lmax, - exx_lmax, - lmax_orb, - lmax_beta, + const int Lmax = lmax_orb + 1; + const int Lmax_used = 2 * lmax_orb + 1; + Center2_Orb::init_Table_Spherical_Bessel(Lmax_used, dr, dk, kmesh, @@ -577,51 +563,51 @@ std::complex unkOverlap_lcao::det_berryphase(const UnitCell& ucell, std::complex alpha = {1.0, 0.0}, beta = {0.0, 0.0}; int one = 1; #ifdef __MPI - pzgemm_(&transa, - &transb, - &occBands, - &nlocal, - &nlocal, - &alpha, + ScalapackConnector::gemm(transa, + transb, + occBands, + nlocal, + nlocal, + alpha, &psi_in[0](ik_L, 0, 0), - &one, - &one, + one, + one, para_orb.desc, midmatrix, - &one, - &one, + one, + one, para_orb.desc, - &beta, + beta, C_matrix, - &one, - &one, + one, + one, para_orb.desc); - pzgemm_(&transb, - &transb, - &occBands, - &occBands, - &nlocal, - &alpha, + ScalapackConnector::gemm(transb, + transb, + occBands, + occBands, + nlocal, + alpha, C_matrix, - &one, - &one, + one, + one, para_orb.desc, &psi_in[0](ik_R, 0, 0), - &one, - &one, + one, + one, para_orb.desc, - &beta, + beta, out_matrix, - &one, - &one, + one, + one, para_orb.desc); assert(para_orb.nrow>0); int* ipiv = new int[para_orb.nrow]; int info = 0; - pzgetrf_(&occBands, &occBands, out_matrix, &one, &one, para_orb.desc, ipiv, &info); + ScalapackConnector::getrf(occBands, occBands, out_matrix, one, one, para_orb.desc, ipiv, &info); for (int i = 0; i < occBands; i++) // global { diff --git a/source/source_io/unk_overlap_lcao.h b/source/source_io/unk_overlap_lcao.h index a867a4b0c6..7abc37d337 100644 --- a/source/source_io/unk_overlap_lcao.h +++ b/source/source_io/unk_overlap_lcao.h @@ -12,7 +12,7 @@ #include "source_lcao/center2_orb-orb11.h" #include "source_lcao/center2_orb-orb21.h" #include "source_lcao/center2_orb.h" -#include "source_lcao/module_gint/grid_technique.h" +#include "source_cell/module_neighbor/sltk_grid_driver.h" #include #include @@ -48,7 +48,7 @@ class unkOverlap_lcao unkOverlap_lcao(); ~unkOverlap_lcao(); - void init(const UnitCell& ucell, const Grid_Technique& gt, const int nkstot, const LCAO_Orbitals& orb); + void init(const UnitCell& ucell, const int nkstot, const LCAO_Orbitals& orb); int iw2it(const UnitCell& ucell, int iw); int iw2ia(const UnitCell& ucell, int iw); int iw2iL(const UnitCell& ucell, int iw); diff --git a/source/source_io/winput.cpp b/source/source_io/winput.cpp deleted file mode 100644 index 653a3277f8..0000000000 --- a/source/source_io/winput.cpp +++ /dev/null @@ -1,770 +0,0 @@ -#include "winput.h" - -#ifdef __MPI -#include "mpi.h" -#endif - -#include "source_pw/module_pwdft/global.h" -#include "source_io/module_parameter/parameter.h" -#include -#include - -std::string winput::target; // add 2008-06-04 -std::string winput::wlmr_dir; -double winput::rcut; // a.u. -bool winput::before_iter; //"1" stop before iteration -bool winput::after_iter; -bool winput::begin_stop_flag; -bool winput::end_flag; -std::string winput::wf_type; -bool winput::build_wf; -int winput::imp_pao = 0; -bool winput::b_out_wf; -bool winput::b_fftwan; // add 2008-07-20 -bool winput::b_plot_build; // add 2008-06-04 -bool winput::b_plot_atomic; // add 2008-06-04 -std::string winput::trial; //"atomic" or "gauss" -double winput::bs; // parameters for gauss orbit -double winput::bp; -double winput::px; -double winput::g1; -double winput::g2; -double winput::trunc_ao; -double winput::trunc_wlmr; -double winput::trunc_wan; -double winput::fermi_t; -double winput::clm2_lowest; -int winput::bloch_begin; -int winput::bloch_end; -int winput::sph_proj; //"1" spherical project,"2": first minus atomic orbitals -bool winput::sph_type; // 0:Rewrite 1:Skip -bool winput::b_recon; //"1" reconstruction of wannier function -bool winput::b_mix_wf; // add 2008-06-15 -double winput::mix_wf; // add 2008-06-13 -bool winput::recon_wanq; -bool winput::speed_mode; -bool winput::b_near_atom; -double winput::range0; -double winput::range1; -int winput::L_start; -int winput::L_end; -int winput::atom_start; -int winput::atom_end; -bool winput::plot_wanq; // add 2008-01-26 -std::string winput::plot_option; //(110),[110] etc. -int winput::n_unitcell; // number of unitcell to plot -bool winput::out_all; -int winput::out_chg; -std::string winput::charge_type; -bool winput::cal_bands; // for wan wan basis + wan charge -bool winput::cal_bands2; // for semi-wan ;pw basis + wan charge add 2008-4-11 -bool winput::cal_dos; -int winput::mesh; -double winput::dr; - -bool winput::no_center; -int winput::sum_lm; -bool winput::compare_atomic; -int winput::out_spillage; -std::string winput::spillage_outdir = "./"; // mohan add 2010-06-07 - -winput::winput() -{ -} - -winput::~winput() -{ -} - -void winput::Init(const std::string& fn) -{ - Default(); - //========================================== - // First readin and check value in root cpu - // and then bcast value - //========================================== - Read(fn); - Check(); - -#ifdef __MPI - Bcast(); -#endif - return; -} - -void winput::Read(const std::string& fn) -{ - ModuleBase::TITLE("winput", "Read"); - - if (GlobalV::MY_RANK != 0) - { - return; - } - - std::ifstream ifs(fn.c_str(), std::ios::in); - if (!ifs) - { - return; - } - else - { - GlobalV::ofs_running << "Open file : " << fn << std::endl; - } - - ifs.clear(); - ifs.seekg(0); - - char word[80]; - int ierr = 0; - ifs.rdstate(); - - while (ifs.good()) - { - ifs >> word; - ifs.ignore(75, '\n'); - - if (std::strcmp(word, "WANNIER_PARAMETERS") == 0) - { - ierr = 1; - break; - } - - ifs.rdstate(); - } - - if (ierr == 0) - { - ModuleBase::WARNING("winput::Read", "error parameteters title, should be WANNIER_PARAMETERS"); - } - - ifs.rdstate(); - - while (ifs.good()) - { - ifs >> word; - for (auto& i: word) - { - i = tolower(i); - } - // parameters for users - - if (strcmp("target", word) == 0) - { - read_value(ifs, target); - } - else if (strcmp("trial", word) == 0) - { - read_value(ifs, trial); - } - - else if (strcmp("near_atom", word) == 0) - { - read_value(ifs, b_near_atom); - } - else if (strcmp("range0", word) == 0) - { - read_value(ifs, range0); - } - else if (strcmp("range1", word) == 0) - { - read_value(ifs, range1); - } - - else if (strcmp("wlmr_dir", word) == 0) - { - read_value(ifs, wlmr_dir); - } - else if (strcmp("no_center", word) == 0) - { - read_value(ifs, no_center); - } - else if (strcmp("sph_proj", word) == 0) - { - read_value(ifs, sph_proj); - } - else if (strcmp("sph_type", word) == 0) - { - read_value(ifs, sph_type); - } - else if (strcmp("b_recon", word) == 0) - { - read_value(ifs, b_recon); - } - else if (strcmp("speed_mode", word) == 0) - { - read_value(ifs, speed_mode); - } - else if (strcmp("recon_wanq", word) == 0) - { - read_value(ifs, recon_wanq); - } - else if (strcmp("b_mix_wf", word) == 0) - { - read_value(ifs, b_mix_wf); - } - else if (strcmp("b_near_atom", word) == 0) - { - read_value(ifs, b_near_atom); - } - else if (strcmp("mix_wf", word) == 0) - { - read_value(ifs, mix_wf); - } - - else if (strcmp("wf_type", word) == 0) - { - read_value(ifs, wf_type); - } - else if (strcmp("build_wf", word) == 0) - { - read_value(ifs, build_wf); - } - else if (strcmp("imp_pao", word) == 0) - { - read_value(ifs, imp_pao); - } - else if (strcmp("b_out_wf", word) == 0) - { - read_value(ifs, b_out_wf); - } - else if (strcmp("b_plot_build", word) == 0) - { - read_value(ifs, b_plot_build); - } - else if (strcmp("b_plot_atomic", word) == 0) - { - read_value(ifs, b_plot_atomic); - } - else if (strcmp("plot_option", word) == 0) - { - read_value(ifs, plot_option); - } - else if (strcmp("n_unitcell", word) == 0) - { - read_value(ifs, n_unitcell); - } - - else if (strcmp("l_start", word) == 0) - { - read_value(ifs, L_start); - } - else if (strcmp("l_end", word) == 0) - { - read_value(ifs, L_end); - } - else if (strcmp("atom_start", word) == 0) - { - read_value(ifs, atom_start); - } - else if (strcmp("atom_end", word) == 0) - { - read_value(ifs, atom_end); - } - - else if (strcmp("trunc_ao", word) == 0) - { - read_value(ifs, trunc_ao); - } - else if (strcmp("trunc_wlmr", word) == 0) - { - read_value(ifs, trunc_wlmr); - } - else if (strcmp("trunc_wan", word) == 0) - { - read_value(ifs, trunc_wan); - } - else if (strcmp("fermi_t", word) == 0) - { - read_value(ifs, fermi_t); - } - else if (strcmp("clm2_lowest", word) == 0) - { - read_value(ifs, clm2_lowest); - } - else if (strcmp("rcut", word) == 0) - { - read_value(ifs, rcut); - } - - else if (strcmp("plotflag", word) == 0) - { - read_value(ifs, plot_option); - } - else if (strcmp("unit", word) == 0) - { - read_value(ifs, n_unitcell); - } - - else if (strcmp("bs", word) == 0) - { - read_value(ifs, bs); - } - else if (strcmp("bp", word) == 0) - { - read_value(ifs, bp); - } - else if (strcmp("px", word) == 0) - { - read_value(ifs, px); - } - else if (strcmp("g1", word) == 0) - { - read_value(ifs, g1); - } - else if (strcmp("g2", word) == 0) - { - read_value(ifs, g2); - } - - else if (strcmp("before_iter", word) == 0) - { - read_value(ifs, before_iter); - } - else if (strcmp("after_iter", word) == 0) - { - read_value(ifs, after_iter); - } - - else if (strcmp("begin_stop_flag", word) == 0) - { - read_value(ifs, begin_stop_flag); - } - else if (strcmp("end_flag", word) == 0) - { - read_value(ifs, end_flag); - } - - else if (strcmp("out_all", word) == 0) - { - read_value(ifs, out_all); - } - else if (strcmp("out_chg", word) == 0) - { - read_value(ifs, out_chg); - } - else if (strcmp("charge_type", word) == 0) - { - read_value(ifs, charge_type); - } - else if (strcmp("compare_atomic", word) == 0) - { - read_value(ifs, compare_atomic); - } - // add 2008-1-26 - else if (strcmp("plot_wanq", word) == 0) - { - read_value(ifs, plot_wanq); - } - - // add 2008-3-10 - else if (strcmp("cal_bands", word) == 0) - { - read_value(ifs, cal_bands); - } - else if (strcmp("cal_bands2", word) == 0) - { - read_value(ifs, cal_bands2); - } - else if (strcmp("chgtype", word) == 0) - { - read_value(ifs, charge_type); - } - else if (strcmp("cal_dos", word) == 0) - { - read_value(ifs, cal_dos); - } - else if (strcmp("sum_lm", word) == 0) - { - read_value(ifs, sum_lm); - } - - // add 2008-3-17 - else if (strcmp("bloch_begin", word) == 0) - { - read_value(ifs, bloch_begin); - } - else if (strcmp("bloch_end", word) == 0) - { - read_value(ifs, bloch_end); - } - - else if (strcmp("mesh", word) == 0) - { - read_value(ifs, mesh); - } - else if (strcmp("dr", word) == 0) - { - read_value(ifs, dr); - } - - // add 2008-07-20 - else if (strcmp("b_fftwan", word) == 0) - { - read_value(ifs, b_fftwan); - } - // add 2009-04-19 - else if (strcmp("out_spillage", word) == 0) - { - read_value(ifs, out_spillage); - } - // add 2010-06-07 - else if (strcmp("spillage_outdir", word) == 0) - { - read_value(ifs, spillage_outdir); - } - else - { - if (word[0] != '#' && word[0] != '/') - { - std::cout << " The parameter name '" << word << "' is not used." << std::endl; - } - ifs.ignore(150, '\n'); - } - - ifs.rdstate(); - - if (ifs.eof() != 0) - { - break; - } - else if (ifs.bad() != 0) - { - std::cout << "bad parameter. " << std::endl; - break; - } - else if (ifs.fail() != 0) - { - std::cout << " bad parameter. " << std::endl; - break; - } - else if (ifs.good() == 0) - { - break; - } - } -} - -void winput::Default() -{ - //======================== - // part1 : control - //======================== - target = "test"; - wlmr_dir = "./"; - rcut = 10; - before_iter = false; - after_iter = false; - begin_stop_flag = false; - end_flag = false; - - //======================= - // part2 : Build wf - //======================= - wf_type = "V"; - build_wf = false; - imp_pao = 0; - b_out_wf = false; - b_fftwan = false; - b_plot_build = false; - b_plot_atomic = false; - //========================= - // part2.1 select trial wf - //========================= - trial = "atomic"; // atomic || gauss - bs = 2.5; // - bp = 2.0; // gausss para,eters - px = 2.0; // - g1 = 3.0; // D orbital center - g2 = 3.0; // D orbital center - //======================= - // part2.2 select bands - //======================= - bloch_begin = 0; - bloch_end = 0; - - //======================== - // part3: spheri & recon - //======================== - no_center = false; - sph_proj = 0; - sph_type = false; // Rewrite mode - b_recon = false; - speed_mode = true; - recon_wanq = false; - b_mix_wf = false; - mix_wf = 0; - //=============================== - // part2.1: multi-center shperi - //=============================== - b_near_atom = false; - range0 = 0; - range1 = 0; - //========================== - // part2.2: select L,atom - //========================== - L_start = 0; - L_end = 2; - atom_start = 0; - atom_end = 1; - //======================= - // part2.3: truncation - //======================= - trunc_ao = 6; - trunc_wlmr = 14; - trunc_wan = 6; - fermi_t = 1; - clm2_lowest = 10e-8; - - //============================== - // part3 : Plot wavefunction - //============================== - plot_wanq = false; // add 2008-1-26 - plot_option = "(110)"; - n_unitcell = 2; - - //=============================== - // part4 : out_all || out_charge - //=============================== - out_all = false; - out_chg = 0; - compare_atomic = false; - - //======================================= - // part5 : other functions: bands & dos - //======================================= - // add 2008-3-10 - cal_bands = false; - cal_bands2 = false; - charge_type = "planewave"; - cal_dos = false; - - out_spillage = 0; - spillage_outdir = "./"; - - // add 2008-3-17 - //========================================= - // part6 : Uniform mesh ,but not used now - //========================================= - mesh = 999; - dr = 0.01; - - return; -} - -void winput::Check() -{ - if (GlobalV::MY_RANK != 0) - return; - - if (PARAM.inp.calculation == "nscf") - { - if (out_chg) - { - out_chg = false; - ModuleBase::GlobalFunc::AUTO_SET("winput::out_chg", out_chg); - } - } - //===================== - // calculate sum_lm - //===================== - for (int il = L_start; il <= L_end; il++) - { - sum_lm += il * 2 + 1; - } - - if (out_chg == true || cal_bands == true || out_all == true || cal_bands2 == true || cal_dos == true) - { - end_flag = true; - } - - if (b_plot_build == true || b_plot_atomic == true) - { - if (b_plot_build == true && b_plot_atomic == true) - { - ModuleBase::WARNING_QUIT("winput::Check()", "Plot atomic or plot build wannier functions?"); - } - else - { - b_fftwan = true; - ModuleBase::GlobalFunc::AUTO_SET("b_fftwan", b_fftwan); - } - } - - return; -} - -void winput::Print(const std::string& fn) -{ - if (GlobalV::MY_RANK != 0) - { - return; - } - - std::ofstream ofs(fn.c_str()); - ofs << std::setiosflags(std::ios::left); - ofs << "WANNIER_PARAMETERS" << std::endl; - - ofs << "#Parameters (General)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "target", target); - ModuleBase::GlobalFunc::OUTP(ofs, "wlmr_dir", wlmr_dir); - ModuleBase::GlobalFunc::OUTP(ofs, "rcut", rcut); - ModuleBase::GlobalFunc::OUTP(ofs, "before_iter", before_iter); - ModuleBase::GlobalFunc::OUTP(ofs, "after_iter", after_iter); - ModuleBase::GlobalFunc::OUTP(ofs, "begin_stop_flag", begin_stop_flag); - ModuleBase::GlobalFunc::OUTP(ofs, "end_flag", end_flag); - - ofs << "#Parameters (Build Wannier Functions)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "wf_type", wf_type); - ModuleBase::GlobalFunc::OUTP(ofs, "build_wf", build_wf); - ModuleBase::GlobalFunc::OUTP(ofs, "imp_pao", imp_pao); - ModuleBase::GlobalFunc::OUTP(ofs, "b_out_wf", b_out_wf); - ModuleBase::GlobalFunc::OUTP(ofs, "b_fftwan", b_fftwan); - ModuleBase::GlobalFunc::OUTP(ofs, "b_plot_build", b_plot_build); - ModuleBase::GlobalFunc::OUTP(ofs, "b_plot_atomic", b_plot_atomic); - - ofs << "#Parameters (Select trial wave functions)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "trial", trial); - ModuleBase::GlobalFunc::OUTP(ofs, "bs", bs); - ModuleBase::GlobalFunc::OUTP(ofs, "bp", bp); - ModuleBase::GlobalFunc::OUTP(ofs, "px", px); - ModuleBase::GlobalFunc::OUTP(ofs, "g1", g1); - ModuleBase::GlobalFunc::OUTP(ofs, "g2", g2); - - ofs << "#Parameters (Select bands)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "bloch_begin", bloch_begin); - ModuleBase::GlobalFunc::OUTP(ofs, "bloch_end", bloch_end); - - ofs << "#Parameters (Spheri & recon)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "no_center", no_center); - ModuleBase::GlobalFunc::OUTP(ofs, "sph_proj", sph_proj); - ModuleBase::GlobalFunc::OUTP(ofs, "sph_type", sph_type); - ModuleBase::GlobalFunc::OUTP(ofs, "b_recon", b_recon); - ModuleBase::GlobalFunc::OUTP(ofs, "speed_mode", speed_mode); - ModuleBase::GlobalFunc::OUTP(ofs, "recon_wanq", recon_wanq); - ModuleBase::GlobalFunc::OUTP(ofs, "b_mix_wf", b_mix_wf); - ModuleBase::GlobalFunc::OUTP(ofs, "mix_wf", mix_wf); - - ofs << "#Parameters (Multi-center spheri)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "b_near_atom", b_near_atom); - ModuleBase::GlobalFunc::OUTP(ofs, "range0", range0); - ModuleBase::GlobalFunc::OUTP(ofs, "range1", range1); - - ofs << "#Parameters (Select L, atom)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "L_start", L_start); - ModuleBase::GlobalFunc::OUTP(ofs, "L_end", L_end); - ModuleBase::GlobalFunc::OUTP(ofs, "atom_start", atom_start); - ModuleBase::GlobalFunc::OUTP(ofs, "atom_end", atom_end); - - ofs << "#Parameters (Truncation)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "trunc_ao", trunc_ao); - ModuleBase::GlobalFunc::OUTP(ofs, "trunc_wlmr", trunc_wlmr); - ModuleBase::GlobalFunc::OUTP(ofs, "trunc_wan", trunc_wan); - ModuleBase::GlobalFunc::OUTP(ofs, "fermi_t", fermi_t); - ModuleBase::GlobalFunc::OUTP(ofs, "clm2_lowest", clm2_lowest); - - ofs << "#Parameters (Plot wave functions)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "plot_wanq", plot_wanq); - ModuleBase::GlobalFunc::OUTP(ofs, "plot_option", plot_option); - ModuleBase::GlobalFunc::OUTP(ofs, "n_unitcell", n_unitcell); - - ofs << "#Parameters (out_all || out_chg)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "out_all", out_all); - ModuleBase::GlobalFunc::OUTP(ofs, "out_chg", out_chg); - ModuleBase::GlobalFunc::OUTP(ofs, "compare_atomic", compare_atomic); - - ofs << "#Parameters (Other functions: bands & dos)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "cal_bands", cal_bands); - ModuleBase::GlobalFunc::OUTP(ofs, "cal_bands2", cal_bands2); - ModuleBase::GlobalFunc::OUTP(ofs, "charge_type", charge_type); - ModuleBase::GlobalFunc::OUTP(ofs, "cal_dos", cal_dos); - ModuleBase::GlobalFunc::OUTP(ofs, "out_spillage", out_spillage); - ModuleBase::GlobalFunc::OUTP(ofs, "spillage_outdir", spillage_outdir); - - ofs << "#Parameters (Uniform mesh)" << std::endl; - ModuleBase::GlobalFunc::OUTP(ofs, "mesh", mesh); - ModuleBase::GlobalFunc::OUTP(ofs, "dr", dr); - - ModuleBase::GlobalFunc::OUTP(ofs, "sum_lm", sum_lm); - - ofs.close(); - return; -} - -#include "source_base/parallel_common.h" -#ifdef __MPI -void winput::Bcast() -{ - Parallel_Common::bcast_string(target); - Parallel_Common::bcast_bool(before_iter); - Parallel_Common::bcast_bool(after_iter); - Parallel_Common::bcast_bool(begin_stop_flag); - Parallel_Common::bcast_bool(end_flag); - - Parallel_Common::bcast_double(rcut); - Parallel_Common::bcast_double(trunc_ao); - Parallel_Common::bcast_double(trunc_wlmr); - Parallel_Common::bcast_double(trunc_wan); - - Parallel_Common::bcast_string(wlmr_dir); - Parallel_Common::bcast_string(wf_type); - Parallel_Common::bcast_bool(build_wf); - Parallel_Common::bcast_int(imp_pao); - Parallel_Common::bcast_bool(b_out_wf); - Parallel_Common::bcast_bool(b_fftwan); - Parallel_Common::bcast_bool(b_plot_build); - Parallel_Common::bcast_bool(b_plot_atomic); - - Parallel_Common::bcast_string(trial); - Parallel_Common::bcast_double(bs); - Parallel_Common::bcast_double(bp); - Parallel_Common::bcast_double(px); - Parallel_Common::bcast_double(g1); - Parallel_Common::bcast_double(g2); - - Parallel_Common::bcast_int(bloch_begin); - Parallel_Common::bcast_int(bloch_end); - Parallel_Common::bcast_double(fermi_t); - Parallel_Common::bcast_double(clm2_lowest); - - Parallel_Common::bcast_int(sph_proj); - Parallel_Common::bcast_bool(sph_type); - - Parallel_Common::bcast_bool(b_recon); - Parallel_Common::bcast_bool(b_mix_wf); - Parallel_Common::bcast_double(mix_wf); - Parallel_Common::bcast_bool(recon_wanq); - - Parallel_Common::bcast_bool(speed_mode); - - Parallel_Common::bcast_bool(b_near_atom); - Parallel_Common::bcast_double(range0); - Parallel_Common::bcast_double(range1); - - Parallel_Common::bcast_int(L_start); - Parallel_Common::bcast_int(L_end); - Parallel_Common::bcast_int(atom_start); - Parallel_Common::bcast_int(atom_end); - - Parallel_Common::bcast_bool(plot_wanq); - Parallel_Common::bcast_string(plot_option); - Parallel_Common::bcast_int(n_unitcell); - Parallel_Common::bcast_bool(out_all); - Parallel_Common::bcast_int(out_chg); - - Parallel_Common::bcast_string(charge_type); - Parallel_Common::bcast_bool(cal_bands); - Parallel_Common::bcast_bool(cal_bands2); - Parallel_Common::bcast_bool(cal_dos); - Parallel_Common::bcast_int(mesh); - Parallel_Common::bcast_double(dr); - - Parallel_Common::bcast_int(out_spillage); - Parallel_Common::bcast_string(spillage_outdir); - - Parallel_Common::bcast_bool(no_center); - Parallel_Common::bcast_int(sum_lm); - Parallel_Common::bcast_bool(compare_atomic); - - return; -} -#endif diff --git a/source/source_io/winput.h b/source/source_io/winput.h deleted file mode 100644 index 232edc113d..0000000000 --- a/source/source_io/winput.h +++ /dev/null @@ -1,153 +0,0 @@ -//========================================================== -// AUTHOR : mohan -// DATE : 2008-11-08 -// Last Update: 2010-06-07 -//========================================================== -#ifndef WINPUT_H -#define WINPUT_H - -#include -#include - -//========================================================== -// CLASS : -// NAME : winput -// ( Readin wannier parameters. -// Check wannier parameters. -// Print wannier parameters ) -//========================================================== -class winput -{ -public: - - winput(); - ~winput(); - -//========================================================== -// MEMBER FUNCTIONS : -// NAME : target( no use now) -// NAME : before_iter ( call wannier::runnning ) -// NAME : after_iter ( call wannier::running ) -// NAME : begin_stop_flag ( only use readin information , -// stop at the very beginning ). -// NAME : end_flag ( output data, etc. ) -//========================================================== - static std::string target; - static bool before_iter; - static bool after_iter; - static bool begin_stop_flag; - static bool end_flag; - -//========================================================== -// MEMBER FUNCTIONS : -// NAME : rcut( PAO cutoff ) -// NAME : trunc_ao ( PAO cutoff ) -// NAME : trunc_wlmr ( 1D Radial wave function cutoff ) -// NAME : trunc_wan ( 3D wannier function cutoff ) -//========================================================== - static double rcut; - static double trunc_ao; - static double trunc_wlmr; - static double trunc_wan; - -//========================================================== -// MEMBER FUNCTIONS : -// NAME : wlmr_dir( if reconstruction , this is wlmr adress) -// NAME : wf_type ( type of wannier functions) -// NAME : build_wf -// NAME : imp_pao -// NAME : b_out_wf -// NAME : b_fftwan -// NAME : b_plot_build -// NAME : b_plot_atomic -//========================================================== - static std::string wlmr_dir; - static std::string wf_type; - static bool build_wf; - static int imp_pao; - static bool b_out_wf; - static bool b_fftwan;//add 2008-07-20 - static bool b_plot_build;//add 2008-06-04 - static bool b_plot_atomic;//add 2008-06-04 - -//========================================================== -// MEMBER FUNCTIONS : -// NAME : trial ( trial wave functions , "atomic" or "gauss") -// NAME : bs(parameters for gauss orbit) -// NAME : bp -// NAME : px -// NAME : g1 -// NAME : g2 -//========================================================== - static std::string trial;//"atomic" or "gauss" - static double bs;//parameters for gauss orbit - static double bp; - static double px; - static double g1; - static double g2; - - static int bloch_begin; - static int bloch_end; - - static double fermi_t; - static double clm2_lowest; - - static int sph_proj;//"1" spherical project,"2": first minus atomic orbitals - static bool sph_type;//0:Rewrite 1:Skip - - static bool b_recon;//"1" reconstruction of wannier function - static bool b_mix_wf;// add 2008-06-15 - static double mix_wf;//add 2008-06-13 - static bool recon_wanq; - - static bool speed_mode; - - static bool b_near_atom; - static double range0; - static double range1; - - static int L_start; - static int L_end; - static int atom_start; - static int atom_end; - - static bool plot_wanq;//add 2008-01-26 - static std::string plot_option;//(110),[110] etc. - static int n_unitcell;//number of unitcell to plot - static bool out_all; - static int out_chg; - static std::string charge_type; - static bool cal_bands; //for wan wan basis + wan charge - static bool cal_bands2;//for semi-wan ;pw basis + wan charge add 2008-4-11 - static bool cal_dos; - static int mesh; - static double dr; - - static bool no_center; - static int sum_lm; - static bool compare_atomic; - - static int out_spillage; // output spillage file. - static std::string spillage_outdir; - - static void Init(const std::string &fn); - static void Print(const std::string &fn); -private: - - template - static void read_value(std::ifstream &ifs, T &var) - { - ifs >> var; - ifs.ignore(75, '\n'); - return; - } - - static void Read(const std::string &fn); - static void Default(); - static void Check(void); -#ifdef __MPI - static void Bcast(); -#endif -}; - -#endif diff --git a/source/source_io/write_HS.hpp b/source/source_io/write_HS.hpp index c08771ff4e..111e8d11b3 100644 --- a/source/source_io/write_HS.hpp +++ b/source/source_io/write_HS.hpp @@ -111,16 +111,19 @@ void ModuleIO::save_mat(const int istep, ModuleBase::TITLE("ModuleIO", "save_mat"); ModuleBase::timer::tick("ModuleIO", "save_mat"); - // print out .dat file + const bool gamma_only = std::is_same::value; + + // write .dat file if (bit) { +// write .dat file with MPI #ifdef __MPI - FILE* g = nullptr; + FILE* out_matrix = nullptr; if (drank == 0) { - g = fopen(filename.c_str(), "wb"); - fwrite(&dim, sizeof(int), 1, g); + out_matrix = fopen(filename.c_str(), "wb"); + fwrite(&dim, sizeof(int), 1, out_matrix); } int ir=0; @@ -162,7 +165,7 @@ void ModuleIO::save_mat(const int istep, { for (int j = (tri ? i : 0); j < dim; ++j) { - fwrite(&line[tri ? j - i : j], sizeof(T), 1, g); + fwrite(&line[tri ? j - i : j], sizeof(T), 1, out_matrix); } } delete[] line; @@ -172,39 +175,47 @@ void ModuleIO::save_mat(const int istep, if (drank == 0) { - fclose(g); + fclose(out_matrix); } +// write .dat file without MPI #else - FILE* g = fopen(filename.c_str(), "wb"); + FILE* out_matrix = fopen(filename.c_str(), "wb"); - fwrite(&dim, sizeof(int), 1, g); + fwrite(&dim, sizeof(int), 1, out_matrix); for (int i = 0; i < dim; i++) { for (int j = (tri ? i : 0); j < dim; j++) { - fwrite(&mat[i * dim + j], sizeof(T), 1, g); + fwrite(&mat[i * dim + j], sizeof(T), 1, out_matrix); } } - fclose(g); + fclose(out_matrix); #endif - } // end .dat file - else // .txt file + } // end writing .dat file + else // write .txt file { - std::ofstream g; - g << std::setprecision(precision); + std::ofstream out_matrix; + out_matrix << std::scientific << std::setprecision(precision); #ifdef __MPI if (drank == 0) { if (app && istep > 0) { - g.open(filename.c_str(), std::ofstream::app); + out_matrix.open(filename.c_str(), std::ofstream::app); } else { - g.open(filename.c_str()); + out_matrix.open(filename.c_str()); } - g << dim; + out_matrix << "#------------------------------------------------------------------------" << std::endl; + out_matrix << "# ionic step " << istep+1 << std::endl; // istep starts from 0 + out_matrix << "# filename " << filename << std::endl; + out_matrix << "# gamma only " << gamma_only << std::endl; + out_matrix << "# rows " << dim << std::endl; + out_matrix << "# columns " << dim << std::endl; + out_matrix << "#------------------------------------------------------------------------" << std::endl; + } int ir=0; @@ -223,7 +234,7 @@ void ModuleIO::save_mat(const int istep, ic = pv.global2local_col(j); if (ic >= 0) { - int iic; + int iic=0; if (ModuleBase::GlobalFunc::IS_COLUMN_MAJOR_KS_SOLVER(PARAM.inp.ks_solver)) { iic = ir + ic * pv.nrow; @@ -244,40 +255,50 @@ void ModuleIO::save_mat(const int istep, if (drank == 0) { + out_matrix << "Row " << i+1 << std::endl; + size_t count = 0; for (int j = (tri ? i : 0); j < dim; j++) { - g << " " << line[tri ? j - i : j]; + out_matrix << " " << line[tri ? j - i : j]; + ++count; + if(count%8==0) + { + if(j!=dim-1) + { + out_matrix << std::endl; + } + } } - g << std::endl; + out_matrix << std::endl; } delete[] line; } if (drank == 0) - { // Peize Lin delete ; at 2020.01.31 - g.close(); + { + out_matrix.close(); } #else if (app) { - std::ofstream g(filename.c_str(), std::ofstream::app); + std::ofstream out_matrix(filename.c_str(), std::ofstream::app); } else { - std::ofstream g(filename.c_str()); + std::ofstream out_matrix(filename.c_str()); } - g << dim; - g << std::setprecision(precision); + out_matrix << dim; + out_matrix << std::setprecision(precision); for (int i = 0; i < dim; i++) { for (int j = (tri ? i : 0); j < dim; j++) { - g << " " << mat[i * dim + j]; + out_matrix << " " << mat[i * dim + j]; } - g << std::endl; + out_matrix << std::endl; } - g.close(); + out_matrix.close(); #endif } ModuleBase::timer::tick("ModuleIO", "save_mat"); diff --git a/source/source_io/write_HS_R.cpp b/source/source_io/write_HS_R.cpp index f88a8476f2..293e315918 100644 --- a/source/source_io/write_HS_R.cpp +++ b/source/source_io/write_HS_R.cpp @@ -1,7 +1,7 @@ #include "write_HS_R.h" -#include "source_io/module_parameter/parameter.h" #include "source_base/timer.h" +#include "source_io/module_parameter/parameter.h" #include "source_lcao/LCAO_HS_arrays.hpp" #include "source_lcao/spar_dh.h" #include "source_lcao/spar_hsr.h" @@ -12,14 +12,15 @@ // The 'sparse_thr' is the accuracy of the sparse matrix. // If the absolute value of the matrix element is less than or equal to the // 'sparse_thr', it will be ignored. +template void ModuleIO::output_HSR(const UnitCell& ucell, const int& istep, - const ModuleBase::matrix& v_eff, const Parallel_Orbitals& pv, LCAO_HS_Arrays& HS_Arrays, const Grid_Driver& grid, // mohan add 2024-04-06 - const K_Vectors& kv, - hamilt::Hamilt>* p_ham, + const K_Vectors& kv, + Plus_U &dftu, // mohan add 20251107 + hamilt::Hamilt* p_ham, #ifdef __EXX const std::vector>>>* Hexxd, const std::vector>>>>* Hexxc, @@ -28,64 +29,89 @@ void ModuleIO::output_HSR(const UnitCell& ucell, const std::string& HR_filename_up, const std::string HR_filename_down, const bool& binary, - const double& sparse_thr) + const double& sparse_thr) { ModuleBase::TITLE("ModuleIO", "output_HSR"); ModuleBase::timer::tick("ModuleIO", "output_HSR"); - GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; - GlobalV::ofs_running << " | |" << std::endl; - GlobalV::ofs_running << " | #Print out Hamiltonian matrix H(R) or overlap matrix S(R)# |" << std::endl; - GlobalV::ofs_running << " | Use numerical atomic orbitals basis. Here R is the Bravis lattice |" << std::endl; - GlobalV::ofs_running << " | |" << std::endl; - GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; - + GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; + GlobalV::ofs_running << " | |" << std::endl; + GlobalV::ofs_running << " | #Print out Hamiltonian matrix H(R) or overlap matrix S(R)# |" << std::endl; + GlobalV::ofs_running << " | Use numerical atomic orbitals basis. Here R is the Bravis lattice |" << std::endl; + GlobalV::ofs_running << " | |" << std::endl; + GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; const int nspin = PARAM.inp.nspin; - if (nspin == 1 || nspin == 4) { + if (nspin == 1 || nspin == 4) + { const int spin_now = 0; // jingan add 2021-6-4, modify 2021-12-2 - sparse_format::cal_HSR(ucell,pv, HS_Arrays, grid, spin_now, sparse_thr, kv.nmp, p_ham + sparse_format::cal_HSR(ucell, + dftu, // mohan add 20251107 + pv, + HS_Arrays, + grid, + spin_now, + sparse_thr, + kv.nmp, + p_ham #ifdef __EXX - , Hexxd, Hexxc + , + Hexxd, + Hexxc #endif ); } - else if (nspin == 2) { + else if (nspin == 2) + { int spin_now = 1; // save HR of spin down first (the current spin always be down) - sparse_format::cal_HSR(ucell,pv, HS_Arrays, grid, spin_now, sparse_thr, kv.nmp, p_ham + sparse_format::cal_HSR(ucell, + dftu, + pv, + HS_Arrays, + grid, + spin_now, + sparse_thr, + kv.nmp, + p_ham #ifdef __EXX - , Hexxd, Hexxc + , + Hexxd, + Hexxc #endif - ); + ); // cal HR of the spin up - if (PARAM.inp.vl_in_h) { + if (PARAM.inp.vl_in_h) + { const int ik = 0; p_ham->refresh(); p_ham->updateHk(ik); spin_now = 0; } - sparse_format::cal_HSR(ucell,pv, HS_Arrays, grid, spin_now, sparse_thr, kv.nmp, p_ham + sparse_format::cal_HSR(ucell, + dftu, + pv, + HS_Arrays, + grid, + spin_now, + sparse_thr, + kv.nmp, + p_ham #ifdef __EXX - , Hexxd, Hexxc + , + Hexxd, + Hexxc #endif ); } - ModuleIO::save_HSR_sparse(istep, - pv, - HS_Arrays, - sparse_thr, - binary, - SR_filename, - HR_filename_up, - HR_filename_down); + ModuleIO::save_HSR_sparse(istep, pv, HS_Arrays, sparse_thr, binary, SR_filename, HR_filename_up, HR_filename_down); sparse_format::destroy_HS_R_sparse(HS_Arrays); @@ -94,39 +120,32 @@ void ModuleIO::output_HSR(const UnitCell& ucell, } void ModuleIO::output_dSR(const int& istep, - const UnitCell& ucell, - const Parallel_Orbitals& pv, - LCAO_HS_Arrays& HS_Arrays, - const Grid_Driver& grid, // mohan add 2024-04-06 - const TwoCenterBundle& two_center_bundle, - const LCAO_Orbitals& orb, - const K_Vectors& kv, - const bool& binary, - const double& sparse_thr) + const UnitCell& ucell, + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, // mohan add 2024-04-06 + const TwoCenterBundle& two_center_bundle, + const LCAO_Orbitals& orb, + const K_Vectors& kv, + const bool& binary, + const double& sparse_thr) { - ModuleBase::TITLE("ModuleIO", "output_dSR"); - ModuleBase::timer::tick("ModuleIO", "output_dSR"); + ModuleBase::TITLE("ModuleIO", "output_dSR"); + ModuleBase::timer::tick("ModuleIO", "output_dSR"); - sparse_format::cal_dS(ucell, - pv, - HS_Arrays, - grid, - two_center_bundle, - orb, - sparse_thr); + sparse_format::cal_dS(ucell, pv, HS_Arrays, grid, two_center_bundle, orb, sparse_thr); - // mohan update 2024-04-01 - ModuleIO::save_dH_sparse(istep, pv, HS_Arrays, sparse_thr, binary, "s"); + // mohan update 2024-04-01 + ModuleIO::save_dH_sparse(istep, pv, HS_Arrays, sparse_thr, binary, "s"); - sparse_format::destroy_dH_R_sparse(HS_Arrays); + sparse_format::destroy_dH_R_sparse(HS_Arrays); - ModuleBase::timer::tick("ModuleIO", "output_dSR"); - return; + ModuleBase::timer::tick("ModuleIO", "output_dSR"); + return; } void ModuleIO::output_dHR(const int& istep, const ModuleBase::matrix& v_eff, - Gint_k& gint_k, // mohan add 2024-04-01 const UnitCell& ucell, const Parallel_Orbitals& pv, LCAO_HS_Arrays& HS_Arrays, @@ -140,44 +159,26 @@ void ModuleIO::output_dHR(const int& istep, ModuleBase::TITLE("ModuleIO", "output_dHR"); ModuleBase::timer::tick("ModuleIO", "output_dHR"); - GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; - GlobalV::ofs_running << " | |" << std::endl; - GlobalV::ofs_running << " | #Print out dH/dR# |" << std::endl; - GlobalV::ofs_running << " | |" << std::endl; - GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; + GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; + GlobalV::ofs_running << " | |" << std::endl; + GlobalV::ofs_running << " | #Print out dH/dR# |" << std::endl; + GlobalV::ofs_running << " | |" << std::endl; + GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; const int nspin = PARAM.inp.nspin; - if (nspin == 1 || nspin == 4) - { - // mohan add 2024-04-01 - const int cspin = 0; + if (nspin == 1 || nspin == 4) + { + // mohan add 2024-04-01 + const int cspin = 0; - sparse_format::cal_dH(ucell, - pv, - HS_Arrays, - grid, - two_center_bundle, - orb, - cspin, - sparse_thr, - v_eff, - gint_k); - } - else if (nspin == 2) - { - for (int cspin = 0; cspin < 2; cspin++) - { - sparse_format::cal_dH(ucell, - pv, - HS_Arrays, - grid, - two_center_bundle, - orb, - cspin, - sparse_thr, - v_eff, - gint_k); + sparse_format::cal_dH(ucell, pv, HS_Arrays, grid, two_center_bundle, orb, cspin, sparse_thr, v_eff); + } + else if (nspin == 2) + { + for (int cspin = 0; cspin < 2; cspin++) + { + sparse_format::cal_dH(ucell, pv, HS_Arrays, grid, two_center_bundle, orb, cspin, sparse_thr, v_eff); } } // mohan update 2024-04-01 @@ -189,9 +190,10 @@ void ModuleIO::output_dHR(const int& istep, return; } +template void ModuleIO::output_SR(Parallel_Orbitals& pv, const Grid_Driver& grid, - hamilt::Hamilt>* p_ham, + hamilt::Hamilt* p_ham, const std::string& SR_filename, const bool& binary, const double& sparse_thr) @@ -208,7 +210,6 @@ void ModuleIO::output_SR(Parallel_Orbitals& pv, std::cout << " Overlap matrix file is in " << SR_filename << std::endl; GlobalV::ofs_running << " Overlap matrix file is in " << SR_filename << std::endl; - LCAO_HS_Arrays HS_Arrays; sparse_format::cal_SR(pv, @@ -264,31 +265,25 @@ void ModuleIO::output_TR(const int istep, ModuleBase::TITLE("ModuleIO", "output_TR"); ModuleBase::timer::tick("ModuleIO", "output_TR"); - GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; - GlobalV::ofs_running << " | |" << std::endl; - GlobalV::ofs_running << " | #Print out kinetic energy term matrix T(R)# |" << std::endl; - GlobalV::ofs_running << " | |" << std::endl; - GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; + GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; + GlobalV::ofs_running << " | |" << std::endl; + GlobalV::ofs_running << " | #Print out kinetic energy term matrix T(R)# |" << std::endl; + GlobalV::ofs_running << " | |" << std::endl; + GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; std::stringstream sst; - if (PARAM.inp.calculation == "md" && !PARAM.inp.out_app_flag) - { - sst << PARAM.globalv.global_matrix_dir << TR_filename << "g" << istep; + if (PARAM.inp.calculation == "md" && !PARAM.inp.out_app_flag) + { + sst << PARAM.globalv.global_matrix_dir << TR_filename << "g" << istep; GlobalV::ofs_running << " T(R) data are in file: " << sst.str() << std::endl; - } - else - { + } + else + { sst << PARAM.globalv.global_out_dir << TR_filename; GlobalV::ofs_running << " T(R) data are in file: " << sst.str() << std::endl; } - sparse_format::cal_TR(ucell, - pv, - HS_Arrays, - grid, - two_center_bundle, - orb, - sparse_thr); + sparse_format::cal_TR(ucell, pv, HS_Arrays, grid, two_center_bundle, orb, sparse_thr); ModuleIO::save_sparse(HS_Arrays.TR_sparse, HS_Arrays.all_R_coor, @@ -304,3 +299,54 @@ void ModuleIO::output_TR(const int istep, ModuleBase::timer::tick("ModuleIO", "output_TR"); return; } + +template void ModuleIO::output_HSR( + const UnitCell& ucell, + const int& istep, + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, + const K_Vectors& kv, + Plus_U &dftu, // mohan add 20251107 + hamilt::Hamilt* p_ham, +#ifdef __EXX + const std::vector>>>* Hexxd, + const std::vector>>>>* Hexxc, +#endif + const std::string& SR_filename, + const std::string& HR_filename_up, + const std::string HR_filename_down, + const bool& binary, + const double& sparse_thr); + +template void ModuleIO::output_HSR>( + const UnitCell& ucell, + const int& istep, + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, + const K_Vectors& kv, + Plus_U &dftu, // mohan add 20251107 + hamilt::Hamilt>* p_ham, +#ifdef __EXX + const std::vector>>>* Hexxd, + const std::vector>>>>* Hexxc, +#endif + const std::string& SR_filename, + const std::string& HR_filename_up, + const std::string HR_filename_down, + const bool& binary, + const double& sparse_thr); + +template void ModuleIO::output_SR(Parallel_Orbitals& pv, + const Grid_Driver& grid, + hamilt::Hamilt* p_ham, + const std::string& SR_filename, + const bool& binary, + const double& sparse_thr); +template void ModuleIO::output_SR>(Parallel_Orbitals& pv, + const Grid_Driver& grid, + hamilt::Hamilt>* p_ham, + const std::string& SR_filename, + const bool& binary, + const double& sparse_thr); diff --git a/source/source_io/write_HS_R.h b/source/source_io/write_HS_R.h index bf95c2d648..87da54a293 100644 --- a/source/source_io/write_HS_R.h +++ b/source/source_io/write_HS_R.h @@ -5,71 +5,73 @@ #include "source_basis/module_nao/two_center_bundle.h" #include "source_cell/klist.h" #include "source_hamilt/hamilt.h" -#include "source_lcao/module_gint/gint_k.h" +#include "source_lcao/LCAO_HS_arrays.hpp" #include "source_pw/module_pwdft/global.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 20251107 namespace ModuleIO { - using TAC = std::pair>; - void output_HSR(const UnitCell& ucell, - const int& istep, - const ModuleBase::matrix& v_eff, - const Parallel_Orbitals& pv, - LCAO_HS_Arrays& HS_Arrays, - const Grid_Driver& grid, // mohan add 2024-04-06 - const K_Vectors& kv, - hamilt::Hamilt>* p_ham, +using TAC = std::pair>; +template +void output_HSR(const UnitCell& ucell, + const int& istep, + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, // mohan add 2024-04-06 + const K_Vectors& kv, + Plus_U &dftu, // mohan add 20251107 + hamilt::Hamilt* p_ham, #ifdef __EXX - const std::vector>>>* Hexxd = nullptr, - const std::vector>>>>* Hexxc = nullptr, + const std::vector>>>* Hexxd = nullptr, + const std::vector>>>>* Hexxc = nullptr, #endif - const std::string& SR_filename = "srs1_nao.csr", - const std::string& HR_filename_up = "hrs1_nao.csr", - const std::string HR_filename_down = "hrs2_nao.csr", - const bool& binary = false, - const double& sparse_threshold = 1e-10); // LiuXh add 2019-07-15, modify in 2021-12-3 + const std::string& SR_filename = "srs1_nao.csr", + const std::string& HR_filename_up = "hrs1_nao.csr", + const std::string HR_filename_down = "hrs2_nao.csr", + const bool& binary = false, + const double& sparse_threshold = 1e-10); // LiuXh add 2019-07-15, modify in 2021-12-3 - void output_dHR(const int& istep, - const ModuleBase::matrix& v_eff, - Gint_k& gint_k, // mohan add 2024-04-01 - const UnitCell& ucell, - const Parallel_Orbitals& pv, - LCAO_HS_Arrays& HS_Arrays, - const Grid_Driver& grid, // mohan add 2024-04-06 - const TwoCenterBundle& two_center_bundle, - const LCAO_Orbitals& orb, - const K_Vectors& kv, - const bool& binary = false, - const double& sparse_threshold = 1e-10); +void output_dHR(const int& istep, + const ModuleBase::matrix& v_eff, + const UnitCell& ucell, + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, // mohan add 2024-04-06 + const TwoCenterBundle& two_center_bundle, + const LCAO_Orbitals& orb, + const K_Vectors& kv, + const bool& binary = false, + const double& sparse_threshold = 1e-10); - void output_dSR(const int& istep, - const UnitCell& ucell, - const Parallel_Orbitals& pv, - LCAO_HS_Arrays& HS_Arrays, - const Grid_Driver& grid, // mohan add 2024-04-06 - const TwoCenterBundle& two_center_bundle, - const LCAO_Orbitals& orb, - const K_Vectors& kv, - const bool& binary = false, - const double& sparse_thr = 1e-10); +void output_dSR(const int& istep, + const UnitCell& ucell, + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, // mohan add 2024-04-06 + const TwoCenterBundle& two_center_bundle, + const LCAO_Orbitals& orb, + const K_Vectors& kv, + const bool& binary = false, + const double& sparse_thr = 1e-10); - void output_TR(const int istep, - const UnitCell& ucell, - const Parallel_Orbitals& pv, - LCAO_HS_Arrays& HS_Arrays, - const Grid_Driver& grid, - const TwoCenterBundle& two_center_bundle, - const LCAO_Orbitals& orb, - const std::string& TR_filename = "trs1_nao.csr", - const bool& binary = false, - const double& sparse_threshold = 1e-10); +void output_TR(const int istep, + const UnitCell& ucell, + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, + const TwoCenterBundle& two_center_bundle, + const LCAO_Orbitals& orb, + const std::string& TR_filename = "trs1_nao.csr", + const bool& binary = false, + const double& sparse_threshold = 1e-10); - void output_SR(Parallel_Orbitals& pv, - const Grid_Driver& grid, - hamilt::Hamilt>* p_ham, - const std::string& SR_filename = "srs1_nao.csr", - const bool& binary = false, - const double& sparse_threshold = 1e-10); +template +void output_SR(Parallel_Orbitals& pv, + const Grid_Driver& grid, + hamilt::Hamilt* p_ham, + const std::string& SR_filename = "srs1_nao.csr", + const bool& binary = false, + const double& sparse_threshold = 1e-10); } // namespace ModuleIO #endif diff --git a/source/source_io/write_HS_sparse.cpp b/source/source_io/write_HS_sparse.cpp index 505933ad0d..8abd808cba 100644 --- a/source/source_io/write_HS_sparse.cpp +++ b/source/source_io/write_HS_sparse.cpp @@ -716,7 +716,7 @@ void ModuleIO::save_sparse( ModuleBase::timer::tick("ModuleIO", "save_sparse"); int total_R_num = all_R_coor.size(); - std::vector nonzero_num(total_R_num, 0); + std::vector nonzero_num(total_R_num, 0); int count = 0; for (auto& R_coor: all_R_coor) { auto iter = smat.find(R_coor); diff --git a/source/source_io/nscf_band.cpp b/source/source_io/write_bands.cpp similarity index 72% rename from source/source_io/nscf_band.cpp rename to source/source_io/write_bands.cpp index b93b09937b..067d50d1f1 100644 --- a/source/source_io/nscf_band.cpp +++ b/source/source_io/write_bands.cpp @@ -1,15 +1,50 @@ -#include "nscf_band.h" +#include "write_bands.h" #include "source_base/global_function.h" #include "source_base/global_variable.h" #include "source_base/timer.h" #include "source_base/tool_title.h" #include "source_base/formatter.h" +#include "source_io/module_parameter/parameter.h" // mohan add 20250911 #ifdef __MPI #include #endif -void ModuleIO::nscf_band( + +void ModuleIO::write_bands(const Input_para& inp, + const ModuleBase::matrix& ekb, + const K_Vectors& kv) +{ + // write band information to band.txt + if (inp.out_band[0]) + { + const int nspin0 = (inp.nspin == 2) ? 2 : 1; + for (int is = 0; is < nspin0; is++) + { + std::stringstream ss; + ss << PARAM.globalv.global_out_dir << "band"; + + if(nspin0==1) + { + // do nothing + } + else if(nspin0==2) + { + ss << "s" << is + 1; + } + + ss << ".txt"; + + const double eshift = 0.0; + nscf_bands(is, ss.str(), inp.nbands, eshift, + inp.out_band[1], // precision + ekb, kv); + } + } +} + + +void ModuleIO::nscf_bands( const int &is, const std::string &eig_file, const int &nband, @@ -18,9 +53,12 @@ void ModuleIO::nscf_band( const ModuleBase::matrix& ekb, const K_Vectors& kv) { - ModuleBase::TITLE("ModuleIO","nscf_band"); - ModuleBase::timer::tick("ModuleIO", "nscf_band"); + ModuleBase::TITLE("ModuleIO","nscf_bands"); + ModuleBase::timer::tick("ModuleIO", "nscf_bands"); + + assert(precision>0); +/* GlobalV::ofs_running << "\n"; GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; GlobalV::ofs_running << " | |" << std::endl; @@ -28,8 +66,9 @@ void ModuleIO::nscf_band( GlobalV::ofs_running << " | |" << std::endl; GlobalV::ofs_running << " <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" << std::endl; GlobalV::ofs_running << "\n"; +*/ - GlobalV::ofs_running << " Eigenvalues for plot are in file: " << eig_file << std::endl; + GlobalV::ofs_running << " Write eigenvalues to file: " << eig_file << std::endl; // number of k points without spin; // nspin = 1,2, nkstot = nkstot_np * nspin; @@ -37,11 +76,19 @@ void ModuleIO::nscf_band( const int nkstot_np = kv.para_k.nkstot_np; const int nks_np = kv.para_k.nks_np; + #ifdef __MPI if(GlobalV::MY_RANK==0) - { - std::ofstream ofs(eig_file.c_str());//make the file clear!! - ofs.close(); + { + if(PARAM.inp.out_app_flag==true) + { + // do nothing + } + else + { + std::ofstream ofs(eig_file.c_str()); + ofs.close(); + } } MPI_Barrier(MPI_COMM_WORLD); @@ -88,7 +135,20 @@ void ModuleIO::nscf_band( std::vector klength; klength.resize(nkstot_np); klength[0] = 0.0; - std::ofstream ofs(eig_file.c_str()); + + std::ofstream ofs; + + if(GlobalV::MY_RANK==0) + { + if(PARAM.inp.out_app_flag==true) + { + ofs.open(eig_file.c_str(), std::ios::app); + } + else + { + ofs.open(eig_file.c_str()); + } + } for(int ik=0;iknx; - double lat_factor_y = ucell.lat0 * 0.529177 / rhopw->ny; - double lat_factor_z = ucell.lat0 * 0.529177 / rhopw->nz; + double lat_factor_x = ucell.lat0 * ModuleBase::BOHR_TO_A / rhopw->nx; + double lat_factor_y = ucell.lat0 * ModuleBase::BOHR_TO_A / rhopw->ny; + double lat_factor_z = ucell.lat0 * ModuleBase::BOHR_TO_A / rhopw->nz; for (int k = 0; k < rhopw->nz; k++) { diff --git a/source/source_io/io_dmk.cpp b/source/source_io/write_dmk.cpp similarity index 76% rename from source/source_io/io_dmk.cpp rename to source/source_io/write_dmk.cpp index 01015e1e15..7a6762eeef 100644 --- a/source/source_io/io_dmk.cpp +++ b/source/source_io/write_dmk.cpp @@ -1,4 +1,4 @@ -#include "source_io/io_dmk.h" +#include "source_io/write_dmk.h" #include "source_base/parallel_common.h" #include "source_base/module_external/scalapack_connector.h" @@ -55,24 +55,39 @@ Direct ''' */ -std::string ModuleIO::dmk_gen_fname(const bool gamma_only, const int ispin, const int ik) +std::string ModuleIO::dmk_gen_fname(const bool gamma_only, const int ispin, const int nspin, const int ik, const int istep) { - if (gamma_only) - { - return std::string("dm") + "s" + std::to_string(ispin + 1) + "_nao.txt"; + // set istep = -1 if you don't want the 'g' index appears in the file name + assert(istep>=-1); + + // ik should be the correct one + + std::string fname = "dm"; + + if (!gamma_only) + { + fname += "k" + std::to_string(ik + 1); } - else + + if (nspin == 2) + { + fname += "s" + std::to_string(ispin + 1); + } + + if( istep >= 0 ) { - // mohan update 2025-05-25, the index of 'ik' should be the correct 'ik' without spin - return std::string("dm") + "s" + std::to_string(ispin + 1) - + "k" + std::to_string(ik + 1) + "_nao.txt"; + fname += "g" + std::to_string(istep + 1); } + + fname += "_nao.txt"; + + return fname; } void ModuleIO::dmk_write_ucell(std::ofstream& ofs, const UnitCell* ucell) { // write the UnitCell information - ofs << ucell->latName << std::endl; + ofs << " " << ucell->latName << std::endl; ofs << " " << ucell->lat0 * ModuleBase::BOHR_TO_A << std::endl; ofs << " " << ucell->latvec.e11 << " " << ucell->latvec.e12 << " " << ucell->latvec.e13 << std::endl; ofs << " " << ucell->latvec.e21 << " " << ucell->latvec.e22 << " " << ucell->latvec.e23 << std::endl; @@ -87,7 +102,7 @@ void ModuleIO::dmk_write_ucell(std::ofstream& ofs, const UnitCell* ucell) ofs << " " << ucell->atoms[it].na; } ofs << std::endl; - ofs << "Direct" << std::endl; + ofs << " Direct" << std::endl; for (int it = 0; it < ucell->ntype; it++) { Atom* atom = &ucell->atoms[it]; @@ -141,7 +156,7 @@ void ModuleIO::dmk_readData(std::ifstream& ifs, std::complex& data) else { ModuleBase::WARNING_QUIT("ModuleIO::dmk_readData", - "Invalid complex number format: " + complex_str); + "Invalid complex number format in dmk: " + complex_str); } } @@ -165,18 +180,6 @@ bool ModuleIO::read_dmk(const int nspin, bool gamma_only = std::is_same::value; std::vector> dmk_global(nspin * nk, std::vector(nlocal * nlocal, 0)); - // write a lambda function to check the consistency of the data - auto check_consistency - = [&](const std::string& fn, const std::string& name, const std::string& value, const int& target) { - if (std::stoi(value) != target) - { - ModuleBase::WARNING("ModuleIO::read_dmk", name + " is not consistent in file < " + fn + " >."); - std::cout << name << " = " << target << ", " << name << " in file = " << value << std::endl; - return false; - } - return true; - }; - bool read_success = true; std::string tmp; if (my_rank == 0) @@ -185,7 +188,10 @@ bool ModuleIO::read_dmk(const int nspin, { for (int ik = 0; ik < nk; ik++) { - std::string fn = dmk_dir + dmk_gen_fname(gamma_only, ispin, ik); + // to read density matrix in k space, remember to delete the step information 'g' + // set istep = -1 if you don't want the 'g' index appears in the file name + const int istep = -1; + std::string fn = dmk_dir + dmk_gen_fname(gamma_only, ispin, nspin, ik, istep); std::ifstream ifs(fn.c_str()); if (!ifs) @@ -203,37 +209,32 @@ bool ModuleIO::read_dmk(const int nspin, // read the UnitCell dmk_read_ucell(ifs); - ifs >> tmp; // nspin - if (!check_consistency(fn, "nspin", tmp, nspin)) - { - read_success = false; - ifs.close(); - break; - } - ifs >> tmp; - ifs >> tmp; - ifs >> tmp; // fermi energy - ifs >> tmp; // nlocal - if (!check_consistency(fn, "nlocal", tmp, nlocal)) - { - read_success = false; - ifs.close(); - break; - } - ifs >> tmp; // nlocal - if (!check_consistency(fn, "nlocal", tmp, nlocal)) - { - read_success = false; - ifs.close(); - break; - } + int spin_tmp = 0; + ModuleBase::GlobalFunc::READ_VALUE(ifs, spin_tmp); + + double fermi_tmp = 0.0; + ModuleBase::GlobalFunc::READ_VALUE(ifs, fermi_tmp); + + int nlocal_tmp = 0; + ModuleBase::GlobalFunc::READ_VALUE(ifs, nlocal_tmp); + + if(nlocal_tmp==nlocal) + { + ofs_running << " number of basis (nlocal) is correct: " << nlocal << std::endl; + } + else + { + ModuleBase::WARNING_QUIT("ModuleIO::read_dmk","nlocal does not match!"); + } // read the DMK data + const size_t index_k = ik + nk * ispin; for (int i = 0; i < nlocal; ++i) { + const size_t index_i = i * nlocal; for (int j = 0; j < nlocal; ++j) { - dmk_readData(ifs, dmk_global[ik + nk * ispin][i * nlocal + j]); + dmk_readData(ifs, dmk_global[index_k][index_i + j]); } } ifs.close(); @@ -283,7 +284,8 @@ void ModuleIO::write_dmk(const std::vector>& dmk, const int precision, const std::vector& efs, const UnitCell* ucell, - const Parallel_2D& pv) + const Parallel_2D& pv, + const int istep) { ModuleBase::TITLE("ModuleIO", "write_dmk"); ModuleBase::timer::tick("ModuleIO", "write_dmk"); @@ -294,13 +296,17 @@ void ModuleIO::write_dmk(const std::vector>& dmk, #endif bool gamma_only = std::is_same::value; - int nlocal = pv.get_global_row_size(); - int nspin = efs.size(); - int nk = dmk.size() / nspin; + const int nlocal = pv.get_global_row_size(); + const int nspin = efs.size(); + assert(nspin > 0); + const int nk = dmk.size() / nspin; + const double dm_thr = 1.0e-16; // mohan set 2025-09-02 + if (nk * nspin != dmk.size()) { - ModuleBase::WARNING_QUIT("write_dmk", "The size of dmk is not consistent with nspin and nk."); + ModuleBase::WARNING_QUIT("ModuleIO::write_dmk", "The size of dmk is not consistent with nspin and nk."); } + Parallel_2D pv_glb; // when nspin == 2, assume the order of K in dmk is K1_up, K2_up, ..., @@ -330,7 +336,7 @@ void ModuleIO::write_dmk(const std::vector>& dmk, if (my_rank == 0) { - std::string fn = PARAM.globalv.global_out_dir + dmk_gen_fname(gamma_only, ispin, ik); + std::string fn = PARAM.globalv.global_out_dir + dmk_gen_fname(gamma_only, ispin, nspin, ik, istep); std::ofstream ofs(fn.c_str()); if (!ofs) @@ -347,29 +353,49 @@ void ModuleIO::write_dmk(const std::vector>& dmk, dmk_write_ucell(ofs, ucell); - ofs << "\n " << nspin; // nspin + ofs << "\n " << nspin << " (nspin)"; // nspin ofs << "\n " << std::fixed << std::setprecision(5) << efs[ispin] << " (fermi energy)"; - ofs << "\n " << nlocal << " " << nlocal << std::endl; + ofs << "\n " << nlocal << " (number of basis)" << std::endl; - ofs << std::setprecision(precision); + ofs << std::fixed; ofs << std::scientific; + ofs << std::setprecision(precision); + ofs << std::right; +// ofs << std::showpos; // show positive label for (int i = 0; i < nlocal; ++i) { for (int j = 0; j < nlocal; ++j) { - if (j % 8 == 0) - { - ofs << "\n"; - } if (std::is_same::value) { + if (j % 8 == 0) + { + ofs << "\n"; + } ofs << " " << dmk_global[i * nlocal + j]; } else if (std::is_same, T>::value) { - ofs << " (" << std::real(dmk_global[i * nlocal + j]) << "," - << std::imag(dmk_global[i * nlocal + j]) << ")"; + if (j % 4 == 0) + { + ofs << "\n"; + } + + double real_v = std::real(dmk_global[i * nlocal + j]); + if(std::abs(real_v) < dm_thr) + { + real_v = 0.0; + } + double imag_v = std::imag(dmk_global[i * nlocal + j]); + if(std::abs(imag_v) < dm_thr) + { + imag_v = 0.0; + } + + ofs << " (" << real_v << "," << imag_v << ")"; + // ofs << " (" << std::real(dmk_global[i * nlocal + j]) << "," + // << std::imag(dmk_global[i * nlocal + j]) << ")"; } } } @@ -399,10 +425,12 @@ template void ModuleIO::write_dmk(const std::vector> const int precision, const std::vector& efs, const UnitCell* ucell, - const Parallel_2D& pv); + const Parallel_2D& pv, + const int istep); template void ModuleIO::write_dmk>(const std::vector>>& dmk, const int precision, const std::vector& efs, const UnitCell* ucell, - const Parallel_2D& pv); + const Parallel_2D& pv, + const int istep); diff --git a/source/source_io/io_dmk.h b/source/source_io/write_dmk.h similarity index 94% rename from source/source_io/io_dmk.h rename to source/source_io/write_dmk.h index 19a0c66323..2fe64a9554 100644 --- a/source/source_io/io_dmk.h +++ b/source/source_io/write_dmk.h @@ -1,5 +1,5 @@ -#ifndef DM_IO_H -#define DM_IO_H +#ifndef WRITE_DMK_H +#define WRITE_DMK_H #include "source_base/parallel_2d.h" #include "source_cell/unitcell.h" @@ -17,7 +17,7 @@ namespace ModuleIO { * @param ik The index of the k-point. * @return The generated filename. */ -std::string dmk_gen_fname(const bool gamma_only, const int ispin, const int ik); +std::string dmk_gen_fname(const bool gamma_only, const int ispin, const int nspin, const int ik, const int istep); /** * @brief Writes the unit cell information to a DMK file. @@ -83,8 +83,9 @@ void write_dmk(const std::vector>& dmk, const int precision, const std::vector& efs, const UnitCell* ucell, - const Parallel_2D& pv); + const Parallel_2D& pv, + const int istep); } // namespace ModuleIO -#endif // IO_DMK_H +#endif diff --git a/source/source_io/write_dmr.cpp b/source/source_io/write_dmr.cpp index fe661da5ff..ed1288cfa7 100644 --- a/source/source_io/write_dmr.cpp +++ b/source/source_io/write_dmr.cpp @@ -35,7 +35,10 @@ std::string dmr_gen_fname(const int out_type, const int ispin, const bool append return fname; } -void write_dmr_csr(std::string& fname, hamilt::HContainer* dm_serial, const int istep) +void write_dmr_csr(std::string& fname, + hamilt::HContainer* dm_serial, + const int precision, + const int istep) { // write the head: ION step number, basis number and R loop number @@ -57,22 +60,25 @@ void write_dmr_csr(std::string& fname, hamilt::HContainer* dm_serial, co // write HR_serial to ofs const double sparse_threshold = 1e-10; - const int precision = 8; - hamilt::Output_HContainer out_dmr(dm_serial, ofs, sparse_threshold, precision); - out_dmr.write(); + hamilt::Output_HContainer dmr(dm_serial, ofs, sparse_threshold, precision); + dmr.write(); ofs.close(); } void write_dmr(const std::vector*> dmr, + const int precision, const Parallel_2D& paraV, const bool append, const int* iat2iwt, const int nat, const int istep) { - for (int ispin = 0; ispin < dmr.size(); ispin++) + const int nspin = dmr.size(); + assert(nspin > 0); + for (int ispin = 0; ispin < nspin; ispin++) { const int nbasis = dmr[ispin]->get_nbasis(); + // gather the parallel matrix to serial matrix #ifdef __MPI Parallel_Orbitals serialV; @@ -86,8 +92,11 @@ void write_dmr(const std::vector*> dmr, #endif if (GlobalV::MY_RANK == 0) { - std::string fname = PARAM.globalv.global_out_dir + dmr_gen_fname(1, ispin, append, istep); - write_dmr_csr(fname, &dm_serial, istep); + // out_type = 1, csr format; + // out_type = 2, npz format (currently not support) + const int out_type = 1; + std::string fname = PARAM.globalv.global_out_dir + dmr_gen_fname(out_type, ispin, append, istep); + write_dmr_csr(fname, &dm_serial, precision, istep); } } } diff --git a/source/source_io/write_dmr.h b/source/source_io/write_dmr.h index 2619795706..4cfb4ef6af 100644 --- a/source/source_io/write_dmr.h +++ b/source/source_io/write_dmr.h @@ -24,15 +24,17 @@ std::string dmr_gen_fname(const int out_type, const int ispin, const bool append * Writes HContainer to a csr file. * * @param fname The name of the file to write the CSR representation to. + * @param precision Control the ouptut precision * @param dm_serial A pointer to the Hamiltonian container. * @param istep The current step number. */ -void write_dmr_csr(std::string& fname, hamilt::HContainer* dm_serial, const int istep); +void write_dmr_csr(std::string& fname, const int precision, hamilt::HContainer* dm_serial, const int istep); /** * Writes DMR to a file. * * @param dmr The 2D block parallel matrix representing the density matrix. The first dimension is the spin index. + * @param precision Control the output precision * @param paraV The parallel 2D object. * @param out_type The output file type. 1: csr, 2: npz. * @param sparse Whether output the sparse DM. @@ -42,6 +44,7 @@ void write_dmr_csr(std::string& fname, hamilt::HContainer* dm_serial, co * @param istep The ION step, starting from 0. */ void write_dmr(const std::vector*> dmr, + const int precision, const Parallel_2D& paraV, const bool append, const int* iat2iwt, diff --git a/source/source_io/write_dos_lcao.cpp b/source/source_io/write_dos_lcao.cpp index fc64f4601f..228207d7e2 100644 --- a/source/source_io/write_dos_lcao.cpp +++ b/source/source_io/write_dos_lcao.cpp @@ -16,7 +16,7 @@ void write_dos_lcao( const UnitCell& ucell, const K_Vectors& kv, const int nbands, - const elecstate::efermi &energy_fermi, + const elecstate::Efermi &energy_fermi, const ModuleBase::matrix& ekb, const ModuleBase::matrix& wg, const double& dos_edelta_ev, @@ -69,7 +69,8 @@ void write_dos_lcao( kv.isk, nbands, ekb, - wg); + wg, + istep); } @@ -112,7 +113,7 @@ template void write_dos_lcao( const UnitCell& ucell, const K_Vectors& kv, const int nbands, - const elecstate::efermi &energy_fermi, + const elecstate::Efermi &energy_fermi, const ModuleBase::matrix& ekb, const ModuleBase::matrix& wg, const double& dos_edelta_ev, @@ -130,7 +131,7 @@ template void write_dos_lcao( const UnitCell& ucell, const K_Vectors& kv, const int nbands, - const elecstate::efermi &energy_fermi, + const elecstate::Efermi &energy_fermi, const ModuleBase::matrix& ekb, const ModuleBase::matrix& wg, const double& dos_edelta_ev, diff --git a/source/source_io/write_dos_lcao.h b/source/source_io/write_dos_lcao.h index 73d21a22a4..88b186f3f9 100644 --- a/source/source_io/write_dos_lcao.h +++ b/source/source_io/write_dos_lcao.h @@ -6,7 +6,7 @@ #include "source_psi/psi.h" // use psi::Psi #include "source_hamilt/hamilt.h" // use hamilt::Hamilt #include "source_basis/module_ao/parallel_orbitals.h" // use Parallel_Orbitals -#include "source_estate/fp_energy.h" // use elecstate::efermi +#include "source_estate/fp_energy.h" // use elecstate::Efermi namespace ModuleIO @@ -22,7 +22,7 @@ namespace ModuleIO const UnitCell& ucell, // Unit cell information const K_Vectors& kv, // k-point information in Brillouin zone const int nbands, // Number of bands - const elecstate::efermi &energy_fermi, // Fermi energy + const elecstate::Efermi &energy_fermi, // Fermi energy const ModuleBase::matrix& ekb, // Eigenvalues per k-point and band const ModuleBase::matrix& wg, // Weights of eigenvalues const double& dos_edelta_ev, // Delta energy diff --git a/source/source_io/write_dos_pw.cpp b/source/source_io/write_dos_pw.cpp index 177f2551c4..b766358584 100644 --- a/source/source_io/write_dos_pw.cpp +++ b/source/source_io/write_dos_pw.cpp @@ -10,7 +10,8 @@ void ModuleIO::write_dos_pw( const ModuleBase::matrix& wg, const K_Vectors& kv, const int nbands, - const elecstate::efermi &energy_fermi, + const int istep_in, + const elecstate::Efermi &energy_fermi, const double& dos_edelta_ev, const double& dos_scale, const double& bcoeff, @@ -36,11 +37,19 @@ void ModuleIO::write_dos_pw( for (int is = 0; is < nspin0; ++is) { // DOS_ispin contains not smoothed dos - std::stringstream ss; - ss << PARAM.globalv.global_out_dir << "doss" << is + 1 << "_pw.txt"; + std::stringstream ss; + ss << PARAM.globalv.global_out_dir << "dos"; - std::stringstream ss1; - ss1 << PARAM.globalv.global_out_dir << "doss" << is + 1 << "s_pw.txt"; + if(nspin0==2) + { + ss << "s" << is + 1; + } + else + { + // do nothing; + } + + ss << ".txt"; ModuleBase::GlobalFunc::OUT(ofs_running, "DOS file", ss.str()); @@ -56,7 +65,8 @@ void ModuleIO::write_dos_pw( kv.isk, nbands, ekb, - wg); + wg, + istep_in); } diff --git a/source/source_io/write_dos_pw.h b/source/source_io/write_dos_pw.h index f6ebb398cd..44f507d84e 100644 --- a/source/source_io/write_dos_pw.h +++ b/source/source_io/write_dos_pw.h @@ -15,7 +15,8 @@ namespace ModuleIO const ModuleBase::matrix &wg, const K_Vectors& kv, const int nbands, - const elecstate::efermi &energy_fermi, + const int istep_in, + const elecstate::Efermi &energy_fermi, const double &dos_edelta_ev, const double &dos_scale, const double &bcoeff, diff --git a/source/source_io/write_eband_terms.hpp b/source/source_io/write_eband_terms.hpp index 0aa48770e0..701b097b25 100644 --- a/source/source_io/write_eband_terms.hpp +++ b/source/source_io/write_eband_terms.hpp @@ -21,8 +21,6 @@ void write_eband_terms(const int nspin, const ModulePW::PW_Basis& rhod_basis, const ModuleBase::matrix& vloc, const Charge& chg, - Gint_Gamma& gint_gamma, // mohan add 2024-04-01 - Gint_k& gint_k, // mohan add 2024-04-01 const K_Vectors& kv, const ModuleBase::matrix& wg, Grid_Driver& gd, @@ -45,10 +43,6 @@ void write_eband_terms(const int nspin, set_para2d_MO(*pv, nbands, p2d); - typename TGint::type* gint = nullptr; - - set_gint_pointer(gint_gamma, gint_k, gint); - auto if_gamma_fix = [](hamilt::HContainer& hR) { if (std::is_same::value) @@ -110,7 +104,7 @@ void write_eband_terms(const int nspin, if_gamma_fix(v_pp_local_R_ao); std::vector> e_orb_pp_local; - hamilt::Veff> v_pp_local_op(gint, + hamilt::Veff> v_pp_local_op( &v_pp_local_k_ao, kv.kvec_d, &pot_local, @@ -167,7 +161,7 @@ void write_eband_terms(const int nspin, std::vector>*> v_hartree_op(nspin0); for (int is = 0; is < nspin0; ++is) { - v_hartree_op[is] = new hamilt::Veff>(gint, + v_hartree_op[is] = new hamilt::Veff>( &v_hartree_k_ao, kv.kvec_d, &pot_hartree, &v_hartree_R_ao[is], &ucell, orb_cutoff, &gd, nspin); v_hartree_op[is]->contributeHR(); } @@ -199,8 +193,6 @@ void write_eband_terms(const int nspin, rhod_basis, vloc, chg, - gint_gamma, - gint_k, kv, orb_cutoff, wg, diff --git a/source/source_io/write_eig_occ.cpp b/source/source_io/write_eig_occ.cpp index 2bea604de0..4b13d885b9 100644 --- a/source/source_io/write_eig_occ.cpp +++ b/source/source_io/write_eig_occ.cpp @@ -20,13 +20,6 @@ void ModuleIO::write_eig_iter(const ModuleBase::matrix &ekb,const ModuleBase::ma const int nspin = PARAM.inp.nspin; const int nks = kv.get_nks(); const int nkstot = kv.get_nkstot(); - - std::vector ngk_tot = kv.ngk; - -#ifdef __MPI - MPI_Allreduce(MPI_IN_PLACE, ngk_tot.data(), nks, MPI_INT, MPI_SUM, POOL_WORLD); -#endif - const int nk_fac = nspin == 2 ? 2 : 1; const int nks_np = nks / nk_fac; const int nkstot_np = nkstot / nk_fac; @@ -90,11 +83,14 @@ void ModuleIO::write_eig_iter(const ModuleBase::matrix &ekb,const ModuleBase::ma int source_rank = status.MPI_SOURCE; MPI_Recv(&recv_nbands, 1, MPI_INT, source_rank, 1, MPI_COMM_WORLD, MPI_STATUS_IGNORE); int* recv_ik2iktot = new int[recv_nks_np]; - MPI_Recv(recv_ik2iktot, recv_nks_np, MPI_INT, source_rank, 2, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + MPI_Recv(recv_ik2iktot, recv_nks_np, MPI_INT, source_rank, + 2, MPI_COMM_WORLD, MPI_STATUS_IGNORE); ModuleBase::matrix recv_ekb(recv_nks_np, recv_nbands); - MPI_Recv(recv_ekb.c, recv_nks_np * recv_nbands, MPI_DOUBLE, source_rank, 3, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + MPI_Recv(recv_ekb.c, recv_nks_np * recv_nbands, MPI_DOUBLE, + source_rank, 3, MPI_COMM_WORLD, MPI_STATUS_IGNORE); ModuleBase::matrix recv_wg(recv_nks_np, recv_nbands); - MPI_Recv(recv_wg.c, recv_nks_np * recv_nbands, MPI_DOUBLE, source_rank, 4, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + MPI_Recv(recv_wg.c, recv_nks_np * recv_nbands, MPI_DOUBLE, source_rank, 4, + MPI_COMM_WORLD, MPI_STATUS_IGNORE); // print EIGENVALUES and OCCUPATIONS of received k-points for (int ik = 0; ik < recv_nks_np; ++ik) @@ -158,11 +154,15 @@ void ModuleIO::write_eig_iter(const ModuleBase::matrix &ekb,const ModuleBase::ma ModuleBase::timer::tick("ModuleIO", "write_eig_iter"); } -void ModuleIO::write_eig_file(const ModuleBase::matrix &ekb,const ModuleBase::matrix &wg, const K_Vectors& kv) +void ModuleIO::write_eig_file(const ModuleBase::matrix &ekb, + const ModuleBase::matrix &wg, + const K_Vectors& kv, + const int istep) { ModuleBase::TITLE("ModuleIO","write_eig_file"); ModuleBase::timer::tick("ModuleIO", "write_eig_file"); +/* GlobalV::ofs_running << "\n"; GlobalV::ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; GlobalV::ofs_running << " | |" << std::endl; @@ -170,6 +170,7 @@ void ModuleIO::write_eig_file(const ModuleBase::matrix &ekb,const ModuleBase::ma GlobalV::ofs_running << " | |" << std::endl; GlobalV::ofs_running << " <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" << std::endl; GlobalV::ofs_running << "\n"; +*/ const int nspin = PARAM.inp.nspin; const int nks = kv.get_nks(); @@ -197,26 +198,37 @@ void ModuleIO::write_eig_file(const ModuleBase::matrix &ekb,const ModuleBase::ma { ModuleBase::WARNING_QUIT("ModuleIO::write_eig_file", "Eigenvalues are too large!"); } - std::vector ngk_tot = kv.ngk; - #ifdef __MPI - MPI_Allreduce(MPI_IN_PLACE, ngk_tot.data(), nks, MPI_INT, MPI_SUM, POOL_WORLD); + std::vector send_ngk_tot = kv.ngk; + MPI_Allreduce(send_ngk_tot.data(), ngk_tot.data(), nks, MPI_INT, MPI_SUM, POOL_WORLD); #endif // file name to store eigenvalues - std::string filename = PARAM.globalv.global_out_dir + "eig.txt"; - GlobalV::ofs_running << " Eigenvalues and occupations are in file: " << filename << std::endl; + std::string filename = PARAM.globalv.global_out_dir + "eig_occ.txt"; + + GlobalV::ofs_running << " Write eigenvalues and occupations to file: " << filename << std::endl; if (GlobalV::MY_RANK == 0) { - std::ofstream ofs_eig0(filename.c_str()); // clear eig.txt + std::ofstream ofs_eig0; + + if(PARAM.inp.out_app_flag==true) + { + ofs_eig0.open(filename.c_str(), std::ios::app); + } + else + { + ofs_eig0.open(filename.c_str()); + } + + ofs_eig0 << istep+1 << " # ionic step" << std::endl; ofs_eig0 << " Electronic state energy (eV) and occupations" << std::endl; ofs_eig0 << " Spin number " << nspin << std::endl; ofs_eig0.close(); } - const int nk_fac = nspin == 2 ? 2 : 1; + const int nk_fac = (nspin == 2) ? 2 : 1; const int nks_np = nks / nk_fac; const int nkstot_np = nkstot / nk_fac; const int kpar = GlobalV::KPAR; diff --git a/source/source_io/write_eig_occ.h b/source/source_io/write_eig_occ.h index fe1ffca90c..26b7be7394 100644 --- a/source/source_io/write_eig_occ.h +++ b/source/source_io/write_eig_occ.h @@ -11,8 +11,9 @@ namespace ModuleIO const K_Vectors& kv); void write_eig_file(const ModuleBase::matrix &ekb, - const ModuleBase::matrix &wg, - const K_Vectors& kv); + const ModuleBase::matrix &wg, + const K_Vectors& kv, + const int istep); } #endif diff --git a/source/source_io/write_elecstat_pot.h b/source/source_io/write_elecstat_pot.h index 76c90bf70d..bd3f2a8734 100644 --- a/source/source_io/write_elecstat_pot.h +++ b/source/source_io/write_elecstat_pot.h @@ -18,7 +18,7 @@ namespace ModuleIO /// @param rho_basis /// @param chr /// @param ucell_ -/// @param v_effective_fixed +/// @param v_eff_fixed void write_elecstat_pot( #ifdef __MPI const int& bz, @@ -29,7 +29,7 @@ void write_elecstat_pot( ModulePW::PW_Basis* rho_basis, const Charge* const chr, const UnitCell* ucell_, - const double* v_effective_fixed, + const double* v_eff_fixed, const surchem& solvent); } // namespace ModuleIO diff --git a/source/source_io/write_elf.cpp b/source/source_io/write_elf.cpp index 8bb8acdb9c..e3c72596fa 100644 --- a/source/source_io/write_elf.cpp +++ b/source/source_io/write_elf.cpp @@ -10,7 +10,7 @@ void write_elf( const int& nbz, #endif const std::string& out_dir, - const int& istep, + const int& istep_in, const int& nspin, const double* const* rho, const double* const* tau, @@ -94,14 +94,14 @@ void write_elf( if (nspin == 1) { - std::string fn = out_dir + "/ELF.cube"; + std::string fn = out_dir + "/elf.cube"; int is = -1; ModuleIO::write_vdata_palgrid(pgrid, elf[0].data(), is, nspin, - istep, + istep_in, fn, ef_tmp, ucell_, @@ -112,14 +112,17 @@ void write_elf( { for (int is = 0; is < nspin; ++is) { - std::string fn_temp = out_dir + "/ELF_SPIN" + std::to_string(is + 1) + ".cube"; + std::string fn_temp = out_dir + "/elf"; + + fn_temp += std::to_string(is + 1) + ".cube"; + int ispin = is + 1; ModuleIO::write_vdata_palgrid(pgrid, elf[is].data(), ispin, nspin, - istep, + istep_in, fn_temp, ef_tmp, ucell_, @@ -133,14 +136,14 @@ void write_elf( elf_tot[ir] = (tau[0][ir] + tau[1][ir] - tau_vw[0][ir] - tau_vw[1][ir]) / (tau_TF[0][ir] + tau_TF[1][ir]); elf_tot[ir] = 1. / (1. + elf_tot[ir] * elf_tot[ir]); } - std::string fn = out_dir + "/ELF.cube"; + std::string fn = out_dir + "/elf.cube"; int is = -1; ModuleIO::write_vdata_palgrid(pgrid, elf_tot.data(), is, nspin, - istep, + istep_in, fn, ef_tmp, ucell_, @@ -148,4 +151,4 @@ void write_elf( out_fermi); } } -} \ No newline at end of file +} diff --git a/source/source_io/write_elf.h b/source/source_io/write_elf.h index 6cc71434f6..23a7e7c379 100644 --- a/source/source_io/write_elf.h +++ b/source/source_io/write_elf.h @@ -13,7 +13,7 @@ void write_elf( const int& nbz, #endif const std::string& out_dir, - const int& istep, + const int& istep_in, const int& nspin, const double* const* rho, const double* const* tau, @@ -23,4 +23,4 @@ void write_elf( const int& precision); } -#endif \ No newline at end of file +#endif diff --git a/source/source_io/write_init.cpp b/source/source_io/write_init.cpp new file mode 100644 index 0000000000..ba435790f6 --- /dev/null +++ b/source/source_io/write_init.cpp @@ -0,0 +1,106 @@ +#include "source_io/write_init.h" +#include "source_io/cube_io.h" + +#include +#include + +void ModuleIO::write_chg_init( + const UnitCell& ucell, + const Parallel_Grid ¶_grid, + const Charge &chr, + const elecstate::Efermi &efermi, + const int istep, + const Input_para& inp) +{ + const int nspin = inp.nspin; + assert(nspin == 1 || nspin ==2 || nspin == 4); + + if (inp.out_chg[0] == 2) + { + for (int is = 0; is < nspin; is++) + { + std::stringstream ss; + ss << PARAM.globalv.global_out_dir << "chg"; + + if(nspin==1) + { + ss << "ini.cube"; + } + else if(nspin==2 || nspin==4) + { + ss << "s" << is + 1 << "ini.cube"; + } + + // mohan add 2025-10-18 + double fermi_energy = 0.0; + if(nspin == 1 || nspin ==4) + { + fermi_energy = efermi.ef; + } + else if(nspin == 2) + { + if(is==0) + { + fermi_energy = efermi.ef_up; + } + else if(is==1) + { + fermi_energy = efermi.ef_dw; + } + } + + ModuleIO::write_vdata_palgrid(para_grid, + chr.rho[is], + is, + nspin, + istep, + ss.str(), + fermi_energy, + &(ucell)); + } + } + return; +} + + +void ModuleIO::write_pot_init( + const UnitCell& ucell, + const Parallel_Grid ¶_grid, + elecstate::ElecState *pelec, + const int istep, + const Input_para& inp) +{ + //! output total local potential of the initial charge density + const int nspin = inp.nspin; + assert(nspin == 1 || nspin ==2 || nspin == 4); + + if (inp.out_pot == 3) + { + for (int is = 0; is < nspin; is++) + { + std::stringstream ss; + ss << PARAM.globalv.global_out_dir << "pot"; + + if(nspin==1) + { + ss << "ini.cube"; + } + else if(nspin==2 || nspin==4) + { + ss << "s" << is + 1 << "ini.cube"; + } + + ModuleIO::write_vdata_palgrid(para_grid, + pelec->pot->get_eff_v(is), + is, + nspin, + istep, + ss.str(), + 0.0, // efermi + &(ucell), + 11, // precsion + 0); // out_fermi + } + } + +} diff --git a/source/source_io/write_init.h b/source/source_io/write_init.h new file mode 100644 index 0000000000..08184931e9 --- /dev/null +++ b/source/source_io/write_init.h @@ -0,0 +1,31 @@ +#ifndef WRITE_INIT_H +#define WRITE_INIT_H + +#include "source_io/module_parameter/input_parameter.h" // use inp +#include "source_cell/parallel_kpoints.h" // use para_grid +#include "source_estate/module_charge/charge.h" // use chg +#include "source_estate/fp_energy.h" // use efermi +#include "source_estate/elecstate.h" // use pelec + +namespace ModuleIO +{ + +void write_chg_init( + const UnitCell& ucell, + const Parallel_Grid ¶_grid, + const Charge &chr, + const elecstate::Efermi &efermi, + const int istep, + const Input_para& inp); + +void write_pot_init( + const UnitCell& ucell, + const Parallel_Grid ¶_grid, + elecstate::ElecState *pelec, + const int istep, + const Input_para& inp); + +} + + +#endif diff --git a/source/source_io/write_mlkedf_descriptors.cpp b/source/source_io/write_mlkedf_descriptors.cpp index b758f7a047..840adfac7f 100644 --- a/source/source_io/write_mlkedf_descriptors.cpp +++ b/source/source_io/write_mlkedf_descriptors.cpp @@ -67,6 +67,53 @@ void Write_MLKEDF_Descriptors::generateTrainData_KS( delete ptempRho; } +void Write_MLKEDF_Descriptors::generateTrainData_KS( + const std::string& out_dir, + psi::Psi> *psi, + elecstate::ElecState *pelec, + ModulePW::PW_Basis_K *pw_psi, + ModulePW::PW_Basis *pw_rho, + UnitCell& ucell, + const double* veff +) +{ + psi::Psi, base_device::DEVICE_CPU> psi_double(*psi); + + this->generateTrainData_KS(out_dir, &psi_double, pelec, pw_psi, pw_rho, ucell, veff); +} + +#if ((defined __CUDA) || (defined __ROCM)) +void Write_MLKEDF_Descriptors::generateTrainData_KS( + const std::string& out_dir, + psi::Psi, base_device::DEVICE_GPU>* psi, + elecstate::ElecState *pelec, + ModulePW::PW_Basis_K *pw_psi, + ModulePW::PW_Basis *pw_rho, + UnitCell& ucell, + const double* veff +) +{ + psi::Psi, base_device::DEVICE_CPU> psi_cpu(*psi); + + this->generateTrainData_KS(out_dir, &psi_cpu, pelec, pw_psi, pw_rho, ucell, veff); +} + +void Write_MLKEDF_Descriptors::generateTrainData_KS( + const std::string& dir, + psi::Psi, base_device::DEVICE_GPU>* psi, + elecstate::ElecState *pelec, + ModulePW::PW_Basis_K *pw_psi, + ModulePW::PW_Basis *pw_rho, + UnitCell& ucell, + const double *veff +) +{ + psi::Psi, base_device::DEVICE_CPU> psi_cpu_double(*psi); + + this->generateTrainData_KS(dir, &psi_cpu_double, pelec, pw_psi, pw_rho, ucell, veff); +} +#endif + void Write_MLKEDF_Descriptors::generate_descriptor( const std::string& out_dir, const double * const *prho, diff --git a/source/source_io/write_mlkedf_descriptors.h b/source/source_io/write_mlkedf_descriptors.h index 6beea3b146..5ff1fa2d5d 100644 --- a/source/source_io/write_mlkedf_descriptors.h +++ b/source/source_io/write_mlkedf_descriptors.h @@ -40,7 +40,29 @@ class Write_MLKEDF_Descriptors ModulePW::PW_Basis *pw_rho, UnitCell& ucell, const double *veff - ){} // a mock function + ); + +#if ((defined __CUDA) || (defined __ROCM)) + void generateTrainData_KS( + const std::string& dir, + psi::Psi, base_device::DEVICE_GPU>* psi, + elecstate::ElecState *pelec, + ModulePW::PW_Basis_K *pw_psi, + ModulePW::PW_Basis *pw_rho, + UnitCell& ucell, + const double *veff + ); + void generateTrainData_KS( + const std::string& dir, + psi::Psi, base_device::DEVICE_GPU>* psi, + elecstate::ElecState *pelec, + ModulePW::PW_Basis_K *pw_psi, + ModulePW::PW_Basis *pw_rho, + UnitCell& ucell, + const double *veff + ); +#endif + void generate_descriptor( const std::string& out_dir, const double * const *prho, diff --git a/source/source_io/write_vxc.hpp b/source/source_io/write_vxc.hpp index 43fd803bb7..f579fc8b60 100644 --- a/source/source_io/write_vxc.hpp +++ b/source/source_io/write_vxc.hpp @@ -10,24 +10,6 @@ #include "source_io/write_HS.h" #include "source_io/filename.h" // use filename_output function -#ifndef TGINT_H -#define TGINT_H -template -struct TGint; - -template <> -struct TGint -{ - using type = Gint_Gamma; -}; - -template <> -struct TGint> -{ - using type = Gint_k; -}; -#endif - namespace ModuleIO { @@ -125,29 +107,6 @@ std::vector orbital_energy(const int ik, const int nbands, const std::ve return e; } -#ifndef SET_GINT_POINTER_H -#define SET_GINT_POINTER_H -// mohan update 2024-04-01 -template -void set_gint_pointer(Gint_Gamma& gint_gamma, Gint_k& gint_k, typename TGint::type*& gint); - -// mohan update 2024-04-01 -template <> -void set_gint_pointer(Gint_Gamma& gint_gamma, Gint_k& gint_k, typename TGint::type*& gint) -{ - gint = &gint_gamma; -} - -// mohan update 2024-04-01 -template <> -void set_gint_pointer>(Gint_Gamma& gint_gamma, - Gint_k& gint_k, - typename TGint>::type*& gint) -{ - gint = &gint_k; -} -#endif - inline void write_orb_energy(const K_Vectors& kv, const int nspin0, const int nbands, const std::vector>& e_orb, @@ -187,8 +146,6 @@ void write_Vxc(const int nspin, const ModulePW::PW_Basis& rhod_basis, const ModuleBase::matrix& vloc, const Charge& chg, - Gint_Gamma& gint_gamma, // mohan add 2024-04-01 - Gint_k& gint_k, // mohan add 2024-04-01 const K_Vectors& kv, const std::vector& orb_cutoff, const ModuleBase::matrix& wg, @@ -227,14 +184,11 @@ void write_Vxc(const int nspin, // 3. allocate operators and contribute HR // op (corresponding to hR) - typename TGint::type* gint = nullptr; - - set_gint_pointer(gint_gamma, gint_k, gint); std::vector>*> vxcs_op_ao(nspin0); for (int is = 0; is < nspin0; ++is) { - vxcs_op_ao[is] = new hamilt::Veff>(gint, + vxcs_op_ao[is] = new hamilt::Veff>( &vxc_k_ao, kv.kvec_d, potxc, &vxcs_R_ao[is], &ucell, orb_cutoff, &gd, nspin); vxcs_op_ao[is]->contributeHR(); @@ -249,7 +203,7 @@ void write_Vxc(const int nspin, &vxcs_R_ao[0],ucell,/*for paraV*/ kv, Hexxd, Hexxc, hamilt::Add_Hexx_Type::k); std::vector> e_orb_exx; // orbital energy (EXX) #endif - hamilt::OperatorDFTU> vdftu_op_ao(&vxc_k_ao, kv.kvec_d, nullptr, kv.isk); + hamilt::OperatorDFTU> vdftu_op_ao(&vxc_k_ao, kv.kvec_d, nullptr, nullptr, kv.isk); // 4. calculate and write the MO-matrix Exc Parallel_2D p2d; diff --git a/source/source_io/write_vxc_r.hpp b/source/source_io/write_vxc_r.hpp index 183d032760..127f17fde8 100644 --- a/source/source_io/write_vxc_r.hpp +++ b/source/source_io/write_vxc_r.hpp @@ -1,87 +1,31 @@ #ifndef __WRITE_VXC_R_H_ #define __WRITE_VXC_R_H_ #include "source_io/module_parameter/parameter.h" +#include "source_io/write_HS_sparse.h" #include "source_lcao/module_operator_lcao/op_dftu_lcao.h" #include "source_lcao/module_operator_lcao/veff_lcao.h" #include "source_lcao/spar_hsr.h" -#include "source_io/write_HS_sparse.h" #ifdef __EXX #include "source_lcao/module_operator_lcao/op_exx_lcao.h" #include "source_lcao/module_ri/RI_2D_Comm.h" #endif -#ifndef TGINT_H -#define TGINT_H -template -struct TGint; - -template <> -struct TGint -{ - using type = Gint_Gamma; -}; - -template <> -struct TGint> -{ - using type = Gint_k; -}; -#endif - namespace ModuleIO { - -#ifndef SET_GINT_POINTER_H -#define SET_GINT_POINTER_H -template -void set_gint_pointer(Gint_Gamma& gint_gamma, Gint_k& gint_k, typename TGint::type*& gint); - -template <> -void set_gint_pointer(Gint_Gamma& gint_gamma, Gint_k& gint_k, typename TGint::type*& gint) -{ - gint = &gint_gamma; -} - -template <> -void set_gint_pointer>(Gint_Gamma& gint_gamma, - Gint_k& gint_k, - typename TGint>::type*& gint) -{ - gint = &gint_k; -} -#endif - -template std::set> get_R_range(const hamilt::HContainer& hR) +template +std::set> get_R_range(const hamilt::HContainer& hR) { std::set> all_R_coor; return all_R_coor; } -template -std::map, std::map>> -cal_HR_sparse(const hamilt::HContainer& hR, - const int current_spin, - const double sparse_thr); - -template <> -std::map, std::map>> -cal_HR_sparse(const hamilt::HContainer& hR, - const int current_spin, - const double sparse_thr) -{ - std::map, std::map>> target; - sparse_format::cal_HContainer_d(*hR.get_paraV(), current_spin, sparse_thr, hR, target); - return target; -} -template <> -std::map, std::map>>> -cal_HR_sparse(const hamilt::HContainer>& hR, - const int current_spin, - const double sparse_thr) +template +std::map, std::map>> cal_HR_sparse(const hamilt::HContainer& hR, + const double sparse_thr) { - std::map, std::map>>> target; - sparse_format::cal_HContainer_cd(*hR.get_paraV(), current_spin, sparse_thr, hR, target); + std::map, std::map>> target; + sparse_format::cal_HContainer(*hR.get_paraV(), sparse_thr, hR, target); return target; } @@ -89,24 +33,22 @@ cal_HR_sparse(const hamilt::HContainer>& hR, /// including terms: local/semi-local XC, EXX, DFTU template void write_Vxc_R(const int nspin, - const Parallel_Orbitals* pv, - const UnitCell& ucell, - Structure_Factor& sf, - surchem& solvent, - const ModulePW::PW_Basis& rho_basis, - const ModulePW::PW_Basis& rhod_basis, - const ModuleBase::matrix& vloc, - const Charge& chg, - Gint_Gamma& gint_gamma, - Gint_k& gint_k, - const K_Vectors& kv, - const std::vector& orb_cutoff, - Grid_Driver& gd, + const Parallel_Orbitals* pv, + const UnitCell& ucell, + Structure_Factor& sf, + surchem& solvent, + const ModulePW::PW_Basis& rho_basis, + const ModulePW::PW_Basis& rhod_basis, + const ModuleBase::matrix& vloc, + const Charge& chg, + const K_Vectors& kv, + const std::vector& orb_cutoff, + Grid_Driver& gd, #ifdef __EXX - const std::vector>>>* const Hexxd, - const std::vector>>>>* const Hexxc, + const std::vector>>>* const Hexxd, + const std::vector>>>>* const Hexxc, #endif -const double sparse_thr=1e-10) + const double sparse_thr = 1e-10) { ModuleBase::TITLE("ModuleIO", "write_Vxc_R"); // 1. real-space xc potential @@ -124,40 +66,58 @@ const double sparse_thr=1e-10) // 2. allocate H(R) // (the number of hR: 1 for nspin=1, 4; 2 for nspin=2) int nspin0 = (nspin == 2) ? 2 : 1; - std::vector> vxcs_R_ao(nspin0, hamilt::HContainer(ucell, pv)); // call move constructor + std::vector> vxcs_R_ao(nspin0, hamilt::HContainer(ucell, pv)); // call move constructor #ifdef __EXX - std::array Rs_period = { kv.nmp[0], kv.nmp[1], kv.nmp[2] }; + std::array Rs_period = {kv.nmp[0], kv.nmp[1], kv.nmp[2]}; const auto cell_nearest = hamilt::init_cell_nearest(ucell, Rs_period); #endif for (int is = 0; is < nspin0; ++is) { - if (std::is_same::value) { vxcs_R_ao[is].fix_gamma(); } + if (std::is_same::value) + { + vxcs_R_ao[is].fix_gamma(); + } #ifdef __EXX if (GlobalC::exx_info.info_global.cal_exx) { - GlobalC::exx_info.info_ri.real_number ? - hamilt::reallocate_hcontainer(*Hexxd, &vxcs_R_ao[is], &cell_nearest) : - hamilt::reallocate_hcontainer(*Hexxc, &vxcs_R_ao[is], &cell_nearest); + GlobalC::exx_info.info_ri.real_number + ? hamilt::reallocate_hcontainer(*Hexxd, &vxcs_R_ao[is], &cell_nearest) + : hamilt::reallocate_hcontainer(*Hexxc, &vxcs_R_ao[is], &cell_nearest); } #endif } // 3. calculate the Vxc(R) hamilt::HS_Matrix_K vxc_k_ao(pv, 1); // only hk is needed, sk is skipped - typename TGint::type* gint = nullptr; - set_gint_pointer(gint_gamma, gint_k, gint); std::vector>*> vxcs_op_ao(nspin0); for (int is = 0; is < nspin0; ++is) { - vxcs_op_ao[is] = new hamilt::Veff>(gint, - &vxc_k_ao, kv.kvec_d, potxc, &vxcs_R_ao[is], &ucell, orb_cutoff, &gd, nspin); + vxcs_op_ao[is] = new hamilt::Veff>(&vxc_k_ao, + kv.kvec_d, + potxc, + &vxcs_R_ao[is], + &ucell, + orb_cutoff, + &gd, + nspin); vxcs_op_ao[is]->contributeHR(); #ifdef __EXX if (GlobalC::exx_info.info_global.cal_exx) { - GlobalC::exx_info.info_ri.real_number ? - RI_2D_Comm::add_HexxR(is, GlobalC::exx_info.info_global.hybrid_alpha, *Hexxd, *pv, ucell.get_npol(), vxcs_R_ao[is], &cell_nearest) : - RI_2D_Comm::add_HexxR(is, GlobalC::exx_info.info_global.hybrid_alpha, *Hexxc, *pv, ucell.get_npol(), vxcs_R_ao[is], &cell_nearest); + GlobalC::exx_info.info_ri.real_number ? RI_2D_Comm::add_HexxR(is, + GlobalC::exx_info.info_global.hybrid_alpha, + *Hexxd, + *pv, + ucell.get_npol(), + vxcs_R_ao[is], + &cell_nearest) + : RI_2D_Comm::add_HexxR(is, + GlobalC::exx_info.info_global.hybrid_alpha, + *Hexxc, + *pv, + ucell.get_npol(), + vxcs_R_ao[is], + &cell_nearest); } #endif } @@ -186,16 +146,15 @@ const double sparse_thr=1e-10) { std::set> all_R_coor = sparse_format::get_R_range(vxcs_R_ao[is]); const std::string filename = "Vxc_R_spin" + std::to_string(is); - ModuleIO::save_sparse( - cal_HR_sparse(vxcs_R_ao[is], is, sparse_thr), - all_R_coor, - sparse_thr, - false, //binary - PARAM.globalv.global_out_dir + filename + ".csr", - *pv, - filename, - -1, - true); //all-reduce + ModuleIO::save_sparse(cal_HR_sparse(vxcs_R_ao[is], sparse_thr), + all_R_coor, + sparse_thr, + false, // binary + PARAM.globalv.global_out_dir + filename + ".csr", + *pv, + filename, + -1, + true); // all-reduce } } } // namespace ModuleIO diff --git a/source/source_io/write_wfc_pw.cpp b/source/source_io/write_wfc_pw.cpp index 5f7a254da4..c677eafcca 100644 --- a/source/source_io/write_wfc_pw.cpp +++ b/source/source_io/write_wfc_pw.cpp @@ -12,6 +12,8 @@ #include "source_io/filename.h" void ModuleIO::write_wfc_pw( + const int istep, + const int iter, const int kpar, const int my_pool, const int my_rank, @@ -43,7 +45,6 @@ void ModuleIO::write_wfc_pw( bool out_app_flag = false; // need to modify later, mohan 2025-05-17 bool gamma_only = false; // need to modify later, mohan 2025-05-17 - int istep = -1; // need to modify later, mohan 2025-05-17 std::string* wfilename = new std::string[nks]; @@ -55,9 +56,9 @@ void ModuleIO::write_wfc_pw( { std::string fn = filename_output(global_out_dir,"wf","pw", ik_local,kv.ik2iktot,nspin,nkstot, - out_wfc_pw,out_app_flag,gamma_only,istep); + out_wfc_pw,out_app_flag,gamma_only,istep,iter); - ofs_running << " Write G-space wave functions into file " + ofs_running << " Write G-space wave functions to file: " << fn << std::endl; wfilename[ik_local] = fn; diff --git a/source/source_io/write_wfc_pw.h b/source/source_io/write_wfc_pw.h index b149741f17..7e035bf82c 100644 --- a/source/source_io/write_wfc_pw.h +++ b/source/source_io/write_wfc_pw.h @@ -8,6 +8,8 @@ namespace ModuleIO { void write_wfc_pw( + const int istep, + const int iter, const int kpar, const int my_pool, const int my_rank, diff --git a/source/source_lcao/CMakeLists.txt b/source/source_lcao/CMakeLists.txt index da170bbb73..7b090ab275 100644 --- a/source/source_lcao/CMakeLists.txt +++ b/source/source_lcao/CMakeLists.txt @@ -22,18 +22,18 @@ if(ENABLE_LCAO) module_operator_lcao/td_pot_hybrid.cpp module_operator_lcao/dspin_lcao.cpp module_operator_lcao/dftu_lcao.cpp - pulay_force_stress_center2.cpp + pulay_fs_center2.cpp FORCE_STRESS.cpp FORCE_gamma.cpp FORCE_k.cpp stress_tools.cpp edm.cpp - grid_init.cpp spar_dh.cpp spar_exx.cpp spar_hsr.cpp spar_st.cpp spar_u.cpp + LCAO_set.cpp LCAO_set_fs.cpp LCAO_set_st.cpp LCAO_nl_mu.cpp @@ -41,6 +41,10 @@ if(ENABLE_LCAO) LCAO_allocate.cpp LCAO_set_mat2d.cpp LCAO_init_basis.cpp + setup_exx.cpp + setup_deepks.cpp + setup_dm.cpp + rho_tau_lcao.cpp record_adj.cpp center2_orb.cpp center2_orb-orb11.cpp diff --git a/source/source_lcao/FORCE.h b/source/source_lcao/FORCE.h index 0382bdde71..a80dd02f25 100644 --- a/source/source_lcao/FORCE.h +++ b/source/source_lcao/FORCE.h @@ -1,5 +1,5 @@ -#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_HAMILT_LCAODFT_FORCE_H -#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_HAMILT_LCAODFT_FORCE_H +#ifndef LCAO_FORCE_H +#define LCAO_FORCE_H #include "source_base/global_function.h" #include "source_base/global_variable.h" @@ -10,25 +10,8 @@ #include "source_estate/module_pot/potential_new.h" #include "source_lcao/force_stress_arrays.h" #include "source_lcao/module_deepks/LCAO_deepks.h" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" #include "source_psi/psi.h" - -#ifndef TGINT_H -#define TGINT_H -template -struct TGint; -template <> -struct TGint -{ - using type = Gint_Gamma; -}; -template <> -struct TGint> -{ - using type = Gint_k; -}; -#endif +#include "source_lcao/setup_deepks.h" template class Force_Stress_LCAO; @@ -54,8 +37,9 @@ class Force_LCAO const UnitCell& ucell, const Grid_Driver& gd, const psi::Psi* psi, - const elecstate::ElecState* pelec, - ModuleBase::matrix& foverlap, + const elecstate::ElecState* pelec, + const elecstate::DensityMatrix* dm, // mohan add 2025-11-04 + ModuleBase::matrix& foverlap, ModuleBase::matrix& ftvnl_dphi, ModuleBase::matrix& fvnl_dbeta, ModuleBase::matrix& fvl_dphi, @@ -63,12 +47,9 @@ class Force_LCAO ModuleBase::matrix& stvnl_dphi, ModuleBase::matrix& svnl_dbeta, ModuleBase::matrix& svl_dphi, -#ifdef __MLALGO ModuleBase::matrix& fvnl_dalpha, ModuleBase::matrix& svnl_dalpha, - LCAO_Deepks& ld, -#endif - typename TGint::type& gint, + Setup_DeePKS& deepks, const TwoCenterBundle& two_center_bundle, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -128,7 +109,6 @@ class Force_LCAO void cal_fvl_dphi(const bool isforce, const bool isstress, const elecstate::Potential* pot_in, - typename TGint::type& gint, ModuleBase::matrix& fvl_dphi, ModuleBase::matrix& svl_dphi); diff --git a/source/source_lcao/FORCE_STRESS.cpp b/source/source_lcao/FORCE_STRESS.cpp index cd6230b061..878f54264c 100644 --- a/source/source_lcao/FORCE_STRESS.cpp +++ b/source/source_lcao/FORCE_STRESS.cpp @@ -22,6 +22,34 @@ #include "source_lcao/module_operator_lcao/dspin_lcao.h" #include "source_lcao/module_operator_lcao/nonlocal_new.h" + +// mohan add 2025-11-04 +template <> +void assign_dmk_ptr( + elecstate::DensityMatrix* dm, + std::vector>*& dmk_d, + std::vector>>*& dmk_c, + bool gamma_only_local +) { + auto& dmk_tmp = dm->get_DMK_vector(); + dmk_d = &dmk_tmp; + dmk_c = nullptr; +} + +template <> +void assign_dmk_ptr>( + elecstate::DensityMatrix,double>* dm, + std::vector>*& dmk_d, + std::vector>>*& dmk_c, + bool gamma_only_local +) { + auto& dmk_tmp = dm->get_DMK_vector(); + dmk_c = &dmk_tmp; + dmk_d = nullptr; +} + + + template Force_Stress_LCAO::Force_Stress_LCAO(Record_adj& ra, const int nat_in) : RA(&ra), nat(nat_in) { @@ -39,9 +67,8 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, const Grid_Driver& gd, Parallel_Orbitals& pv, const elecstate::ElecState* pelec, + LCAO_domain::Setup_DM &dmat, // mohan add 2025-11-03 const psi::Psi* psi, - Gint_Gamma& gint_gamma, // mohan add 2024-04-01 - Gint_k& gint_k, // mohan add 2024-04-01 const TwoCenterBundle& two_center_bundle, const LCAO_Orbitals& orb, ModuleBase::matrix& fcs, @@ -50,14 +77,10 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, const Structure_Factor& sf, const K_Vectors& kv, ModulePW::PW_Basis* rhopw, - surchem& solvent, -#ifdef __MLALGO - LCAO_Deepks& ld, -#endif -#ifdef __EXX - Exx_LRI_Interface& exd, - Exx_LRI_Interface>& exc, -#endif + surchem& solvent, + Plus_U &dftu, // mohan add 2025-11-07 + Setup_DeePKS& deepks, + Exx_NAO &exx_nao, ModuleSymmetry::Symmetry* symm) { ModuleBase::TITLE("Force_Stress_LCAO", "getForceStress"); @@ -84,39 +107,25 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, ModuleBase::matrix fewalds; ModuleBase::matrix fcc; ModuleBase::matrix fscc; -#ifdef __MLALGO ModuleBase::matrix fvnl_dalpha; // deepks -#endif fvl_dphi.create(nat, 3); // must do it now, update it later, noted by zhengdy if (isforce) { fcs.create(nat, 3); - foverlap.create(nat, 3); - ftvnl_dphi.create(nat, 3); - fvnl_dbeta.create(nat, 3); - fvl_dvl.create(nat, 3); - fewalds.create(nat, 3); - fcc.create(nat, 3); - fscc.create(nat, 3); -#ifdef __MLALGO + foverlap.create(nat, 3); // overlap force + ftvnl_dphi.create(nat, 3); // pulay force of NAO + fvnl_dbeta.create(nat, 3); // pulay force of non-local projectors + fvl_dvl.create(nat, 3); // force from local potentials + fewalds.create(nat, 3); // Ewald force + fcc.create(nat, 3); // force due to core correction + fscc.create(nat, 3); // force due to self-consistent field fvnl_dalpha.create(nat, 3); // deepks -#endif // calculate basic terms in Force, same method with PW base - this->calForcePwPart(ucell, - fvl_dvl, - fewalds, - fcc, - fscc, - pelec->f_en.etxc, - pelec->vnew, - pelec->vnew_exist, - pelec->charge, - rhopw, - locpp, - sf); + this->calForcePwPart(ucell, fvl_dvl, fewalds, fcc, fscc, pelec->f_en.etxc, + pelec->vnew, pelec->vnew_exist, pelec->charge, rhopw, locpp, sf); } // total stress : ModuleBase::matrix scs @@ -129,9 +138,7 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, ModuleBase::matrix stvnl_dphi; ModuleBase::matrix svnl_dbeta; ModuleBase::matrix svl_dphi; -#ifdef __MLALGO ModuleBase::matrix svnl_dalpha; // deepks -#endif //! stress if (isstress) @@ -147,93 +154,51 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, stvnl_dphi.create(3, 3); svnl_dbeta.create(3, 3); svl_dphi.create(3, 3); -#ifdef __MLALGO svnl_dalpha.create(3, 3); -#endif + // calculate basic terms in Stress, similar method with PW base - this->calStressPwPart(ucell, - sigmadvl, - sigmahar, - sigmaewa, - sigmacc, - sigmaxc, - pelec->f_en.etxc, - pelec->charge, - rhopw, - locpp, - sf); + this->calStressPwPart(ucell, sigmadvl, sigmahar, sigmaewa, sigmacc, + sigmaxc, pelec->f_en.etxc, pelec->charge, rhopw, locpp, sf); } //! atomic forces from integration (4 terms) - this->integral_part(PARAM.globalv.gamma_only_local, - isforce, - isstress, - ucell, - gd, - fsr, - pelec, - psi, - foverlap, - ftvnl_dphi, - fvnl_dbeta, - fvl_dphi, - soverlap, - stvnl_dphi, - svnl_dbeta, - svl_dphi, -#ifdef __MLALGO - fvnl_dalpha, - svnl_dalpha, - ld, -#endif - gint_gamma, - gint_k, - two_center_bundle, - orb, - pv, - kv); + this->integral_part(PARAM.globalv.gamma_only_local, isforce, isstress, + ucell, gd, fsr, pelec, dmat.dm, psi, foverlap, ftvnl_dphi, // add dmat.dm, mohan 20251104 + fvnl_dbeta, fvl_dphi, soverlap, stvnl_dphi, svnl_dbeta, + svl_dphi, fvnl_dalpha, svnl_dalpha, deepks, + two_center_bundle, orb, pv, kv); + // calculate force and stress for Nonlocal part if (PARAM.inp.nspin == 1 || PARAM.inp.nspin == 2) { hamilt::NonlocalNew> tmp_nonlocal(nullptr, - kv.kvec_d, - nullptr, - &ucell, - orb.cutoffs(), - &gd, - two_center_bundle.overlap_orb_beta.get()); - - const auto* dm_p = dynamic_cast*>(pelec)->get_DM(); + kv.kvec_d, nullptr, &ucell, orb.cutoffs(), &gd, two_center_bundle.overlap_orb_beta.get()); + if (PARAM.inp.nspin == 2) { - const_cast*>(dm_p)->switch_dmr(1); + dmat.dm->switch_dmr(1); } - const hamilt::HContainer* dmr = dm_p->get_DMR_pointer(1); + + const hamilt::HContainer* dmr = dmat.dm->get_DMR_pointer(1); tmp_nonlocal.cal_force_stress(isforce, isstress, dmr, fvnl_dbeta, svnl_dbeta); if (PARAM.inp.nspin == 2) { - const_cast*>(dm_p)->switch_dmr(0); + dmat.dm->switch_dmr(0); } } else if (PARAM.inp.nspin == 4) { hamilt::NonlocalNew, std::complex>> tmp_nonlocal( - nullptr, - kv.kvec_d, - nullptr, - &ucell, - orb.cutoffs(), - &gd, + nullptr, kv.kvec_d, nullptr, &ucell, orb.cutoffs(), &gd, two_center_bundle.overlap_orb_beta.get()); // calculate temporary complex DMR for nonlocal force&stress // In fact, only SOC part need the imaginary part of DMR for correct force&stress - const auto* dm_p = dynamic_cast>*>(pelec)->get_DM(); - hamilt::HContainer> tmp_dmr(dm_p->get_DMR_pointer(1)->get_paraV()); - std::vector ijrs = dm_p->get_DMR_pointer(1)->get_ijr_info(); + hamilt::HContainer> tmp_dmr(dmat.dm->get_DMR_pointer(1)->get_paraV()); + std::vector ijrs = dmat.dm->get_DMR_pointer(1)->get_ijr_info(); tmp_dmr.insert_ijrs(&ijrs); tmp_dmr.allocate(); - dm_p->cal_DMR_full(&tmp_dmr); + dmat.dm->cal_DMR_full(&tmp_dmr); tmp_nonlocal.cal_force_stress(isforce, isstress, &tmp_dmr, fvnl_dbeta, svnl_dbeta); } @@ -295,35 +260,41 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, } //! atomic forces from DFT+U (Quxin version) - ModuleBase::matrix force_dftu; - ModuleBase::matrix stress_dftu; + ModuleBase::matrix force_u; + ModuleBase::matrix stress_u; if (PARAM.inp.dft_plus_u) // Quxin add for DFT+U on 20201029 { if (isforce) { - force_dftu.create(nat, 3); + force_u.create(nat, 3); } if (isstress) { - stress_dftu.create(3, 3); + stress_u.create(3, 3); } if (PARAM.inp.dft_plus_u == 2) { - GlobalC::dftu.force_stress(ucell, gd, pelec, pv, fsr, force_dftu, stress_dftu, kv); + // dftu.force_stress(ucell, gd, pelec, pv, fsr, force_u, stress_u, kv); + // mohan modify 2025-11-03 + std::vector>* dmk_d = nullptr; + std::vector>>* dmk_c = nullptr; + // add a new template function + assign_dmk_ptr(dmat.dm, dmk_d, dmk_c, PARAM.globalv.gamma_only_local); + dftu.force_stress(ucell, gd, dmk_d, dmk_c, pv, fsr, force_u, stress_u, kv); } else { - hamilt::DFTU> tmp_dftu(nullptr, // HK and SK are not used for force&stress + hamilt::DFTU> tmpu(nullptr, // HK and SK are not used for force&stress kv.kvec_d, nullptr, // HR are not used for force&stress ucell, &gd, two_center_bundle.overlap_orb_onsite.get(), orb.cutoffs(), - &GlobalC::dftu); + &dftu); - tmp_dftu.cal_force_stress(isforce, isstress, force_dftu, stress_dftu); + tmpu.cal_force_stress(isforce, isstress, force_u, stress_u); } } @@ -349,16 +320,15 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, two_center_bundle.overlap_orb_onsite.get(), orb.cutoffs()); - const auto* dm_p = dynamic_cast>*>(pelec)->get_DM(); if (PARAM.inp.nspin == 2) { - const_cast, double>*>(dm_p)->switch_dmr(2); + dmat.dm->switch_dmr(2); } - const hamilt::HContainer* dmr = dm_p->get_DMR_pointer(1); + const hamilt::HContainer* dmr = dmat.dm->get_DMR_pointer(1); tmp_dspin.cal_force_stress(isforce, isstress, dmr, force_dspin, stress_dspin); if (PARAM.inp.nspin == 2) { - const_cast, double>*>(dm_p)->switch_dmr(0); + dmat.dm->switch_dmr(0); } } @@ -377,26 +347,26 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, { if (GlobalC::exx_info.info_ri.real_number) { - exd.cal_exx_force(ucell.nat); - force_exx = GlobalC::exx_info.info_global.hybrid_alpha * exd.get_force(); + exx_nao.exd->cal_exx_force(ucell.nat); + force_exx = GlobalC::exx_info.info_global.hybrid_alpha * exx_nao.exd->get_force(); } else { - exc.cal_exx_force(ucell.nat); - force_exx = GlobalC::exx_info.info_global.hybrid_alpha * exc.get_force(); + exx_nao.exc->cal_exx_force(ucell.nat); + force_exx = GlobalC::exx_info.info_global.hybrid_alpha * exx_nao.exc->get_force(); } } if (isstress) { if (GlobalC::exx_info.info_ri.real_number) { - exd.cal_exx_stress(ucell.omega, ucell.lat0); - stress_exx = GlobalC::exx_info.info_global.hybrid_alpha * exd.get_stress(); + exx_nao.exd->cal_exx_stress(ucell.omega, ucell.lat0); + stress_exx = GlobalC::exx_info.info_global.hybrid_alpha * exx_nao.exd->get_stress(); } else { - exc.cal_exx_stress(ucell.omega, ucell.lat0); - stress_exx = GlobalC::exx_info.info_global.hybrid_alpha * exc.get_stress(); + exx_nao.exc->cal_exx_stress(ucell.omega, ucell.lat0); + stress_exx = GlobalC::exx_info.info_global.hybrid_alpha * exx_nao.exc->get_stress(); } } } @@ -424,7 +394,7 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, // Force contribution from DFT+U, Quxin add on 20201029 if (PARAM.inp.dft_plus_u) { - fcs(iat, i) += force_dftu(iat, i); + fcs(iat, i) += force_u(iat, i); } if (PARAM.inp.sc_mag_switch) { @@ -493,30 +463,9 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, this->forceSymmetry(ucell, fcs, symm); } -#ifdef __MLALGO - // DeePKS force - if (PARAM.inp.deepks_out_labels) // not parallelized yet - { - const std::string file_ftot = PARAM.globalv.global_out_dir - + (PARAM.inp.deepks_out_labels == 1 ? "deepks_ftot.npy" : "deepks_force.npy"); - LCAO_deepks_io::save_matrix2npy(file_ftot, fcs, GlobalV::MY_RANK); // Hartree/Bohr, F_tot + // compute forces using the DeePKS model + deepks.write_forces(fcs, fvnl_dalpha, PARAM.inp); - if (PARAM.inp.deepks_out_labels == 1) - { - const std::string file_fbase = PARAM.globalv.global_out_dir + "deepks_fbase.npy"; - if (PARAM.inp.deepks_scf) - { - LCAO_deepks_io::save_matrix2npy(file_fbase, - fcs - fvnl_dalpha, - GlobalV::MY_RANK); // Hartree/Bohr, F_base - } - else - { - LCAO_deepks_io::save_matrix2npy(file_fbase, fcs, GlobalV::MY_RANK); // no scf, F_base=F_tot - } - } - } -#endif // print Rydberg force or not bool ry = false; if (istestf) @@ -588,7 +537,7 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, } if (PARAM.inp.dft_plus_u) { - ModuleIO::print_force(GlobalV::ofs_running, ucell, "DFT+U FORCE", force_dftu, false); + ModuleIO::print_force(GlobalV::ofs_running, ucell, "DFT+U FORCE", force_u, false); } if (PARAM.inp.sc_mag_switch) { @@ -617,7 +566,7 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, GlobalV::ofs_running << " " << std::setw(8) << iat; for (int i = 0; i < 3; i++) { - if (std::abs(fcs(iat, i) * ModuleBase::Ry_to_eV / 0.529177) + if (std::abs(fcs(iat, i) * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A) < Force_Stress_LCAO::force_invalid_threshold_ev) { fcs(iat, i) = 0.0; @@ -656,7 +605,7 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, // DFT plus U stress from qux if (PARAM.inp.dft_plus_u) { - scs(i, j) += stress_dftu(i, j); + scs(i, j) += stress_u(i, j); } if (PARAM.inp.sc_mag_switch) { @@ -682,41 +631,7 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, symm->symmetrize_mat3(scs, ucell.lat); } // end symmetry -#ifdef __MLALGO - if (PARAM.inp.deepks_out_labels == 1) - { - const std::string file_stot = PARAM.globalv.global_out_dir + "deepks_stot.npy"; - LCAO_deepks_io::save_matrix2npy(file_stot, - scs, - GlobalV::MY_RANK, - ucell.omega, - 'U'); // change to energy unit Ry when printing, S_tot; - - const std::string file_sbase = PARAM.globalv.global_out_dir + "deepks_sbase.npy"; - if (PARAM.inp.deepks_scf) - { - LCAO_deepks_io::save_matrix2npy(file_sbase, - scs - svnl_dalpha, - GlobalV::MY_RANK, - ucell.omega, - 'U'); // change to energy unit Ry when printing, S_base; - } - else - { - LCAO_deepks_io::save_matrix2npy(file_sbase, - scs, - GlobalV::MY_RANK, - ucell.omega, - 'U'); // sbase = stot - } - } - else if (PARAM.inp.deepks_out_labels == 2) - { - const std::string file_stot = PARAM.globalv.global_out_dir + "deepks_stress.npy"; - LCAO_deepks_io::save_matrix2npy(file_stot, scs, GlobalV::MY_RANK, ucell.omega, - 'F'); // flat mode - } -#endif + deepks.write_stress(scs, svnl_dalpha, ucell.omega, PARAM.inp); // print Rydberg stress or not bool ry = false; @@ -759,7 +674,7 @@ void Force_Stress_LCAO::getForceStress(UnitCell& ucell, } if (PARAM.inp.dft_plus_u) { - ModuleIO::print_stress("DFTU STRESS", stress_dftu, screen, ry, GlobalV::ofs_running); + ModuleIO::print_stress("DFTU STRESS", stress_u, screen, ry, GlobalV::ofs_running); } if (PARAM.inp.sc_mag_switch) { @@ -829,116 +744,69 @@ void Force_Stress_LCAO::calForcePwPart(UnitCell& ucell, // overlap, kinetic, nonlocal pseudopotential, Local potential terms in force and stress template <> void Force_Stress_LCAO::integral_part(const bool isGammaOnly, - const bool isforce, - const bool isstress, - const UnitCell& ucell, - const Grid_Driver& gd, - ForceStressArrays& fsr, // mohan add 2024-06-15 - const elecstate::ElecState* pelec, - const psi::Psi* psi, - ModuleBase::matrix& foverlap, - ModuleBase::matrix& ftvnl_dphi, - ModuleBase::matrix& fvnl_dbeta, - ModuleBase::matrix& fvl_dphi, - ModuleBase::matrix& soverlap, - ModuleBase::matrix& stvnl_dphi, - ModuleBase::matrix& svnl_dbeta, - ModuleBase::matrix& svl_dphi, -#if __MLALGO - ModuleBase::matrix& fvnl_dalpha, - ModuleBase::matrix& svnl_dalpha, - LCAO_Deepks& ld, -#endif - Gint_Gamma& gint_gamma, // mohan add 2024-04-01 - Gint_k& gint_k, // mohan add 2024-04-01 - const TwoCenterBundle& two_center_bundle, - const LCAO_Orbitals& orb, - const Parallel_Orbitals& pv, - const K_Vectors& kv) + const bool isforce, + const bool isstress, + const UnitCell& ucell, + const Grid_Driver& gd, + ForceStressArrays& fsr, // mohan add 2024-06-15 + const elecstate::ElecState* pelec, + const elecstate::DensityMatrix* dm, // mohan add 2025-11-04 + const psi::Psi* psi, + ModuleBase::matrix& foverlap, + ModuleBase::matrix& ftvnl_dphi, + ModuleBase::matrix& fvnl_dbeta, + ModuleBase::matrix& fvl_dphi, + ModuleBase::matrix& soverlap, + ModuleBase::matrix& stvnl_dphi, + ModuleBase::matrix& svnl_dbeta, + ModuleBase::matrix& svl_dphi, + ModuleBase::matrix& fvnl_dalpha, + ModuleBase::matrix& svnl_dalpha, + Setup_DeePKS& deepks, + const TwoCenterBundle& two_center_bundle, + const LCAO_Orbitals& orb, + const Parallel_Orbitals& pv, + const K_Vectors& kv) { - flk.ftable(isforce, - isstress, - fsr, // mohan add 2024-06-15 - ucell, - gd, - psi, - pelec, - foverlap, - ftvnl_dphi, - fvnl_dbeta, - fvl_dphi, - soverlap, - stvnl_dphi, - svnl_dbeta, - svl_dphi, -#if __MLALGO - fvnl_dalpha, - svnl_dalpha, - ld, -#endif - gint_gamma, - two_center_bundle, - orb, - pv); + flk.ftable(isforce, isstress, fsr, ucell, gd, psi, pelec, dm, + foverlap, ftvnl_dphi, fvnl_dbeta, fvl_dphi, + soverlap, stvnl_dphi, svnl_dbeta, svl_dphi, + fvnl_dalpha, svnl_dalpha, deepks, two_center_bundle, orb, pv); return; } template <> void Force_Stress_LCAO>::integral_part(const bool isGammaOnly, - const bool isforce, - const bool isstress, - const UnitCell& ucell, - const Grid_Driver& gd, - ForceStressArrays& fsr, // mohan add 2024-06-15 - const elecstate::ElecState* pelec, - const psi::Psi>* psi, - ModuleBase::matrix& foverlap, - ModuleBase::matrix& ftvnl_dphi, - ModuleBase::matrix& fvnl_dbeta, - ModuleBase::matrix& fvl_dphi, - ModuleBase::matrix& soverlap, - ModuleBase::matrix& stvnl_dphi, - ModuleBase::matrix& svnl_dbeta, - ModuleBase::matrix& svl_dphi, -#if __MLALGO - ModuleBase::matrix& fvnl_dalpha, - ModuleBase::matrix& svnl_dalpha, - LCAO_Deepks>& ld, -#endif - Gint_Gamma& gint_gamma, - Gint_k& gint_k, - const TwoCenterBundle& two_center_bundle, - const LCAO_Orbitals& orb, - const Parallel_Orbitals& pv, - const K_Vectors& kv) + const bool isforce, + const bool isstress, + const UnitCell& ucell, + const Grid_Driver& gd, + ForceStressArrays& fsr, // mohan add 2024-06-15 + const elecstate::ElecState* pelec, + const elecstate::DensityMatrix, double>* dm, // mohan add 2025-11-04 + const psi::Psi>* psi, + ModuleBase::matrix& foverlap, + ModuleBase::matrix& ftvnl_dphi, + ModuleBase::matrix& fvnl_dbeta, + ModuleBase::matrix& fvl_dphi, + ModuleBase::matrix& soverlap, + ModuleBase::matrix& stvnl_dphi, + ModuleBase::matrix& svnl_dbeta, + ModuleBase::matrix& svl_dphi, + ModuleBase::matrix& fvnl_dalpha, + ModuleBase::matrix& svnl_dalpha, + Setup_DeePKS>& deepks, + const TwoCenterBundle& two_center_bundle, + const LCAO_Orbitals& orb, + const Parallel_Orbitals& pv, + const K_Vectors& kv) { - flk.ftable(isforce, - isstress, - fsr, // mohan add 2024-06-16 - ucell, - gd, - psi, - pelec, - foverlap, - ftvnl_dphi, - fvnl_dbeta, - fvl_dphi, - soverlap, - stvnl_dphi, - svnl_dbeta, - svl_dphi, -#if __MLALGO - fvnl_dalpha, - svnl_dalpha, - ld, -#endif - gint_k, - two_center_bundle, - orb, - pv, - &kv, - this->RA); + flk.ftable(isforce, isstress, fsr, ucell, gd, psi, pelec, dm, + foverlap, ftvnl_dphi, fvnl_dbeta, fvl_dphi, + soverlap, stvnl_dphi, svnl_dbeta, svl_dphi, + fvnl_dalpha, svnl_dalpha, deepks, + two_center_bundle, orb, pv, &kv, this->RA); return; } @@ -957,30 +825,20 @@ void Force_Stress_LCAO::calStressPwPart(UnitCell& ucell, const Structure_Factor& sf) { ModuleBase::TITLE("Force_Stress_LCAO", "calStressPwPart"); - //-------------------------------------------------------- + // local pseudopotential stress: - // use charge density; plane wave; local pseudopotential; - //-------------------------------------------------------- sc_pw.stress_loc(ucell, sigmadvl, rhopw, locpp.vloc, &sf, 0, chr); - //-------------------------------------------------------- // hartree term - //-------------------------------------------------------- sc_pw.stress_har(ucell, sigmahar, rhopw, 0, chr); - //-------------------------------------------------------- // ewald stress: use plane wave only. - //-------------------------------------------------------- sc_pw.stress_ewa(ucell, sigmaewa, rhopw, 0); // remain problem - //-------------------------------------------------------- // stress due to core correlation. - //-------------------------------------------------------- sc_pw.stress_cc(sigmacc, rhopw, ucell, &sf, 0, locpp.numeric, chr); - //-------------------------------------------------------- // stress due to self-consistent charge. - //-------------------------------------------------------- for (int i = 0; i < 3; i++) { sigmaxc(i, i) = -etxc / ucell.omega; @@ -999,21 +857,9 @@ void Force_Stress_LCAO::forceSymmetry(const UnitCell& ucell, ModuleBase::matr double d1, d2, d3; for (int iat = 0; iat < ucell.nat; iat++) { - ModuleBase::Mathzone::Cartesian_to_Direct(fcs(iat, 0), - fcs(iat, 1), - fcs(iat, 2), - ucell.a1.x, - ucell.a1.y, - ucell.a1.z, - ucell.a2.x, - ucell.a2.y, - ucell.a2.z, - ucell.a3.x, - ucell.a3.y, - ucell.a3.z, - d1, - d2, - d3); + ModuleBase::Mathzone::Cartesian_to_Direct(fcs(iat, 0), fcs(iat, 1), fcs(iat, 2), + ucell.a1.x, ucell.a1.y, ucell.a1.z, ucell.a2.x, ucell.a2.y, ucell.a2.z, + ucell.a3.x, ucell.a3.y, ucell.a3.z, d1, d2, d3); fcs(iat, 0) = d1; fcs(iat, 1) = d2; @@ -1022,21 +868,9 @@ void Force_Stress_LCAO::forceSymmetry(const UnitCell& ucell, ModuleBase::matr symm->symmetrize_vec3_nat(fcs.c); for (int iat = 0; iat < ucell.nat; iat++) { - ModuleBase::Mathzone::Direct_to_Cartesian(fcs(iat, 0), - fcs(iat, 1), - fcs(iat, 2), - ucell.a1.x, - ucell.a1.y, - ucell.a1.z, - ucell.a2.x, - ucell.a2.y, - ucell.a2.z, - ucell.a3.x, - ucell.a3.y, - ucell.a3.z, - d1, - d2, - d3); + ModuleBase::Mathzone::Direct_to_Cartesian(fcs(iat, 0), fcs(iat, 1), fcs(iat, 2), + ucell.a1.x, ucell.a1.y, ucell.a1.z, ucell.a2.x, ucell.a2.y, ucell.a2.z, + ucell.a3.x, ucell.a3.y, ucell.a3.z, d1, d2, d3); fcs(iat, 0) = d1; fcs(iat, 1) = d2; diff --git a/source/source_lcao/FORCE_STRESS.h b/source/source_lcao/FORCE_STRESS.h index d2400d7b69..1c2ebb790e 100644 --- a/source/source_lcao/FORCE_STRESS.h +++ b/source/source_lcao/FORCE_STRESS.h @@ -14,8 +14,11 @@ #include "source_lcao/module_ri/Exx_LRI_interface.h" #endif #include "force_stress_arrays.h" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" +#include "source_lcao/setup_exx.h" // for exx, mohan add 20251008 +#include "source_lcao/setup_deepks.h" // for deepks, mohan add 20251010 +#include "source_lcao/setup_dm.h" // mohan add 2025-11-03 +#include "source_lcao/module_dftu/dftu.h" // mohan add 2025-11-07 + template class Force_Stress_LCAO @@ -37,9 +40,8 @@ class Force_Stress_LCAO const Grid_Driver& gd, Parallel_Orbitals& pv, const elecstate::ElecState* pelec, + LCAO_domain::Setup_DM &dmat, // mohan add 2025-11-03 const psi::Psi* psi, - Gint_Gamma& gint_gamma, // mohan add 2024-04-01 - Gint_k& gint_k, // mohan add 2024-04-01 const TwoCenterBundle& two_center_bundle, const LCAO_Orbitals& orb, ModuleBase::matrix& fcs, @@ -48,14 +50,10 @@ class Force_Stress_LCAO const Structure_Factor& sf, const K_Vectors& kv, ModulePW::PW_Basis* rhopw, - surchem& solvent, -#ifdef __MLALGO - LCAO_Deepks& ld, -#endif -#ifdef __EXX - Exx_LRI_Interface& exd, - Exx_LRI_Interface>& exc, -#endif + surchem& solvent, + Plus_U &dftu, // mohan add 2025-11-07 + Setup_DeePKS &deepks, + Exx_NAO &exx_nao, ModuleSymmetry::Symmetry* symm); private: @@ -85,8 +83,9 @@ class Force_Stress_LCAO const UnitCell& ucell, const Grid_Driver& gd, ForceStressArrays& fsr, // mohan add 2024-06-15 - const elecstate::ElecState* pelec, - const psi::Psi* psi, + const elecstate::ElecState* pelec, + const elecstate::DensityMatrix* dm, // mohan add 2025-11-04 + const psi::Psi* psi, ModuleBase::matrix& foverlap, ModuleBase::matrix& ftvnl_dphi, ModuleBase::matrix& fvnl_dbeta, @@ -95,13 +94,9 @@ class Force_Stress_LCAO ModuleBase::matrix& stvnl_dphi, ModuleBase::matrix& svnl_dbeta, ModuleBase::matrix& svl_dphi, -#if __MLALGO ModuleBase::matrix& fvnl_dalpha, ModuleBase::matrix& svnl_dalpha, - LCAO_Deepks& ld, -#endif - Gint_Gamma& gint_gamma, - Gint_k& gint_k, + Setup_DeePKS& deepks, const TwoCenterBundle& two_center_bundle, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -125,4 +120,13 @@ class Force_Stress_LCAO template double Force_Stress_LCAO::force_invalid_threshold_ev = 0.00; +// only for DFT+U, mohan add 2025-11-04 +template +void assign_dmk_ptr( + elecstate::DensityMatrix* dm, + std::vector>*& dmk_d, + std::vector>>*& dmk_c, + bool gamma_only_local +); + #endif diff --git a/source/source_lcao/FORCE_gamma.cpp b/source/source_lcao/FORCE_gamma.cpp index 96f2537900..4f7bcb89ab 100644 --- a/source/source_lcao/FORCE_gamma.cpp +++ b/source/source_lcao/FORCE_gamma.cpp @@ -12,7 +12,7 @@ #include "source_cell/module_neighbor/sltk_grid_driver.h" //GridD #include "source_estate/elecstate_lcao.h" #include "source_lcao/LCAO_domain.h" -#include "source_lcao/pulay_force_stress.h" +#include "source_lcao/pulay_fs.h" #include "source_io/write_HS.h" template <> @@ -158,21 +158,19 @@ void Force_LCAO::ftable(const bool isforce, const UnitCell& ucell, const Grid_Driver& gd, const psi::Psi* psi, - const elecstate::ElecState* pelec, - ModuleBase::matrix& foverlap, - ModuleBase::matrix& ftvnl_dphi, + const elecstate::ElecState* pelec, + const elecstate::DensityMatrix* dm, // mohan add 2025-11-04 + ModuleBase::matrix& foverlap, + ModuleBase::matrix& ftvnl_dphi, ModuleBase::matrix& fvnl_dbeta, ModuleBase::matrix& fvl_dphi, ModuleBase::matrix& soverlap, ModuleBase::matrix& stvnl_dphi, ModuleBase::matrix& svnl_dbeta, ModuleBase::matrix& svl_dphi, -#ifdef __MLALGO ModuleBase::matrix& fvnl_dalpha, ModuleBase::matrix& svnl_dalpha, - LCAO_Deepks& ld, -#endif - TGint::type& gint, + Setup_DeePKS& deepks, const TwoCenterBundle& two_center_bundle, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -182,10 +180,6 @@ void Force_LCAO::ftable(const bool isforce, ModuleBase::TITLE("Forces", "ftable"); ModuleBase::timer::tick("Forces", "ftable"); - // get DM - const elecstate::DensityMatrix* dm - = dynamic_cast*>(pelec)->get_DM(); - this->ParaV = dm->get_paraV_pointer(); // allocate DSloc_x, DSloc_y, DSloc_z @@ -222,7 +216,6 @@ void Force_LCAO::ftable(const bool isforce, *dm, ucell, pelec->pot, - gint, isforce, isstress, false /*reset dm to gint*/); @@ -232,16 +225,16 @@ void Force_LCAO::ftable(const bool isforce, { // No need to update E_delta here since it have been done in LCAO_Deepks_Interface in after_scf const int nks = 1; - DeePKS_domain::cal_f_delta(ld.dm_r, + DeePKS_domain::cal_f_delta(deepks.ld.dm_r, ucell, orb, gd, *this->ParaV, nks, + deepks.ld.deepks_param, kv->kvec_d, - ld.phialpha, - ld.gedm, - ld.inl_index, + deepks.ld.phialpha, + deepks.ld.gedm, fvnl_dalpha, isstress, svnl_dalpha); diff --git a/source/source_lcao/FORCE_k.cpp b/source/source_lcao/FORCE_k.cpp index 4e65f639e2..276aab3360 100644 --- a/source/source_lcao/FORCE_k.cpp +++ b/source/source_lcao/FORCE_k.cpp @@ -9,7 +9,7 @@ #include "source_estate/elecstate_lcao.h" #include "source_estate/module_dm/cal_dm_psi.h" #include "source_lcao/LCAO_domain.h" -#include "source_lcao/pulay_force_stress.h" +#include "source_lcao/pulay_fs.h" #include "source_pw/module_pwdft/global.h" #include "source_io/write_HS.h" #include "source_io/module_parameter/parameter.h" @@ -190,38 +190,33 @@ void Force_LCAO>::finish_ftable(ForceStressArrays& fsr) // be called in Force_LCAO::start_force_calculation template <> void Force_LCAO>::ftable(const bool isforce, - const bool isstress, - ForceStressArrays& fsr, // mohan add 2024-06-15 - const UnitCell& ucell, - const Grid_Driver& gd, - const psi::Psi>* psi, - const elecstate::ElecState* pelec, - ModuleBase::matrix& foverlap, - ModuleBase::matrix& ftvnl_dphi, - ModuleBase::matrix& fvnl_dbeta, - ModuleBase::matrix& fvl_dphi, - ModuleBase::matrix& soverlap, - ModuleBase::matrix& stvnl_dphi, - ModuleBase::matrix& svnl_dbeta, - ModuleBase::matrix& svl_dphi, -#ifdef __MLALGO - ModuleBase::matrix& fvnl_dalpha, - ModuleBase::matrix& svnl_dalpha, - LCAO_Deepks>& ld, -#endif - TGint>::type& gint, - const TwoCenterBundle& two_center_bundle, - const LCAO_Orbitals& orb, - const Parallel_Orbitals& pv, - const K_Vectors* kv, - Record_adj* ra) + const bool isstress, + ForceStressArrays& fsr, // mohan add 2024-06-15 + const UnitCell& ucell, + const Grid_Driver& gd, + const psi::Psi>* psi, + const elecstate::ElecState* pelec, + const elecstate::DensityMatrix, double>* dm, // mohan add 2025-11-04 + ModuleBase::matrix& foverlap, + ModuleBase::matrix& ftvnl_dphi, + ModuleBase::matrix& fvnl_dbeta, + ModuleBase::matrix& fvl_dphi, + ModuleBase::matrix& soverlap, + ModuleBase::matrix& stvnl_dphi, + ModuleBase::matrix& svnl_dbeta, + ModuleBase::matrix& svl_dphi, + ModuleBase::matrix& fvnl_dalpha, + ModuleBase::matrix& svnl_dalpha, + Setup_DeePKS>& deepks, + const TwoCenterBundle& two_center_bundle, + const LCAO_Orbitals& orb, + const Parallel_Orbitals& pv, + const K_Vectors* kv, + Record_adj* ra) { ModuleBase::TITLE("Forces", "ftable"); ModuleBase::timer::tick("Forces", "ftable"); - elecstate::DensityMatrix , double>* dm - = dynamic_cast>*>(pelec)->get_DM(); - this->allocate(ucell, gd, pv, @@ -232,53 +227,40 @@ void Force_LCAO>::ftable(const bool isforce, kv->kvec_d); const double* dSx[3] = {fsr.DSloc_Rx, fsr.DSloc_Ry, fsr.DSloc_Rz}; + // calculate the energy density matrix // and the force related to overlap matrix and energy density matrix. PulayForceStress::cal_pulay_fs( - foverlap, - soverlap, + foverlap, soverlap, this->cal_edm(pelec, *psi, *dm, *kv, pv, PARAM.inp.nspin, PARAM.inp.nbands, ucell, *ra), - ucell, - pv, - dSx, - fsr.DH_r, - isforce, - isstress, - ra, - -1.0, - 1.0); + ucell, pv, dSx, fsr.DH_r, isforce, isstress, ra, -1.0, 1.0); const double* dHx[3] = {fsr.DHloc_fixedR_x, fsr.DHloc_fixedR_y, fsr.DHloc_fixedR_z}; // T+Vnl const double* dHxy[6] = {fsr.stvnl11, fsr.stvnl12, fsr.stvnl13, fsr.stvnl22, fsr.stvnl23, fsr.stvnl33}; // T + // tvnl_dphi PulayForceStress::cal_pulay_fs(ftvnl_dphi, stvnl_dphi, *dm, ucell, pv, dHx, dHxy, isforce, isstress, ra, 1.0, -1.0); // doing on the real space grid. // vl_dphi - PulayForceStress::cal_pulay_fs(fvl_dphi, - svl_dphi, - *dm, - ucell, - pelec->pot, - gint, - isforce, - isstress, + PulayForceStress::cal_pulay_fs(fvl_dphi, svl_dphi, *dm, ucell, + pelec->pot, isforce, isstress, false /*reset dm to gint*/); #ifdef __MLALGO if (PARAM.inp.deepks_scf) { // No need to update E_delta since it have been done in LCAO_Deepks_Interface in after_scf - DeePKS_domain::cal_f_delta>(ld.dm_r, + DeePKS_domain::cal_f_delta>(deepks.ld.dm_r, ucell, orb, gd, pv, kv->get_nks(), + deepks.ld.deepks_param, kv->kvec_d, - ld.phialpha, - ld.gedm, - ld.inl_index, + deepks.ld.phialpha, + deepks.ld.gedm, fvnl_dalpha, isstress, svnl_dalpha); diff --git a/source/source_lcao/LCAO_domain.h b/source/source_lcao/LCAO_domain.h index 77281f7efb..cf4af3ace9 100644 --- a/source/source_lcao/LCAO_domain.h +++ b/source/source_lcao/LCAO_domain.h @@ -9,9 +9,7 @@ #include "source_lcao/LCAO_HS_arrays.hpp" #include "source_lcao/force_stress_arrays.h" #include "source_lcao/module_deepks/LCAO_deepks.h" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" -#include "source_lcao/module_gint/grid_technique.h" +#include "source_basis/module_ao/parallel_orbitals.h" namespace LCAO_domain { @@ -35,17 +33,6 @@ void build_Nonlocal_mu_new(const Parallel_Orbitals& pv, const TwoCenterIntegrator& intor_orb_beta, const Grid_Driver* GridD); -/** - * @brief prepare gird integration - */ -void grid_prepare(const Grid_Technique& gt, - Gint_Gamma& gint_gamma, - Gint_k& gint_k, - const UnitCell& ucell, - const LCAO_Orbitals& orb, - const ModulePW::PW_Basis& rhopw, - const ModulePW::PW_Basis_Big& bigpw); - /** * @brief set the elements of force-related matrices in LCAO method */ diff --git a/source/source_lcao/LCAO_hamilt.hpp b/source/source_lcao/LCAO_hamilt.hpp index 4e91ca724d..69179f64c1 100644 --- a/source/source_lcao/LCAO_hamilt.hpp +++ b/source/source_lcao/LCAO_hamilt.hpp @@ -6,8 +6,8 @@ #include "source_base/abfs-vector3_order.h" #include "source_base/global_variable.h" #include "source_base/timer.h" -#include "source_lcao/spar_exx.h" #include "source_lcao/module_ri/RI_2D_Comm.h" +#include "source_lcao/spar_exx.h" #include #include @@ -21,28 +21,27 @@ // Peize Lin add 2022.09.13 template -void sparse_format::cal_HR_exx(const UnitCell& ucell, +void sparse_format::cal_HR_exx( + const UnitCell& ucell, const Parallel_Orbitals& pv, LCAO_HS_Arrays& HS_Arrays, const int& current_spin, const double& sparse_threshold, const int (&nmp)[3], - const std::vector>, - RI::Tensor>>>& Hexxs) { + const std::vector>, RI::Tensor>>>& Hexxs) +{ ModuleBase::TITLE("sparse_format", "cal_HR_exx"); ModuleBase::timer::tick("sparse_format", "cal_HR_exx"); const Tdata frac = GlobalC::exx_info.info_global.hybrid_alpha; std::map> atoms_pos; - for (int iat = 0; iat < ucell.nat; ++iat) { - atoms_pos[iat] = RI_Util::Vector3_to_array3( - ucell.atoms[ucell.iat2it[iat]] - .tau[ucell.iat2ia[iat]]); + for (int iat = 0; iat < ucell.nat; ++iat) + { + atoms_pos[iat] = RI_Util::Vector3_to_array3(ucell.atoms[ucell.iat2it[iat]].tau[ucell.iat2ia[iat]]); } const std::array, 3> latvec - = {RI_Util::Vector3_to_array3(ucell.a1), // too bad to use GlobalC here, + = {RI_Util::Vector3_to_array3(ucell.a1), // too bad to use GlobalC here, RI_Util::Vector3_to_array3(ucell.a2), RI_Util::Vector3_to_array3(ucell.a3)}; @@ -51,92 +50,83 @@ void sparse_format::cal_HR_exx(const UnitCell& ucell, RI::Cell_Nearest cell_nearest; cell_nearest.init(atoms_pos, latvec, Rs_period); - const std::vector is_list = (PARAM.inp.nspin != 4) - ? std::vector{current_spin} - : std::vector{0, 1, 2, 3}; + const std::vector is_list + = (PARAM.inp.nspin != 4) ? std::vector{current_spin} : std::vector{0, 1, 2, 3}; - for (const int is: is_list) + for (const int is: is_list) { int is0_b = 0; int is1_b = 0; std::tie(is0_b, is1_b) = RI_2D_Comm::split_is_block(is); - if (Hexxs.empty()) + if (Hexxs.empty()) { break; } - for (const auto& HexxA: Hexxs[is]) + for (const auto& HexxA: Hexxs[is]) { const int iat0 = HexxA.first; - for (const auto& HexxB: HexxA.second) + for (const auto& HexxB: HexxA.second) { const int iat1 = HexxB.first.first; const Abfs::Vector3_Order R = RI_Util::array3_to_Vector3( - cell_nearest.get_cell_nearest_discrete(iat0, - iat1, - HexxB.first.second)); + cell_nearest.get_cell_nearest_discrete(iat0, iat1, HexxB.first.second)); HS_Arrays.all_R_coor.insert(R); const RI::Tensor& Hexx = HexxB.second; - for (size_t iw0 = 0; iw0 < Hexx.shape[0]; ++iw0) + for (size_t iw0 = 0; iw0 < Hexx.shape[0]; ++iw0) { - const int iwt0 = RI_2D_Comm::get_iwt(ucell,iat0, iw0, is0_b); + const int iwt0 = RI_2D_Comm::get_iwt(ucell, iat0, iw0, is0_b); const int iwt0_local = pv.global2local_row(iwt0); - if (iwt0_local < 0) + if (iwt0_local < 0) { continue; } - for (size_t iw1 = 0; iw1 < Hexx.shape[1]; ++iw1) + for (size_t iw1 = 0; iw1 < Hexx.shape[1]; ++iw1) { - const int iwt1 = RI_2D_Comm::get_iwt(ucell,iat1, iw1, is1_b); + const int iwt1 = RI_2D_Comm::get_iwt(ucell, iat1, iw1, is1_b); const int iwt1_local = pv.global2local_col(iwt1); - if (iwt1_local < 0) + if (iwt1_local < 0) { continue; } - if (std::abs(Hexx(iw0, iw1)) > sparse_threshold) + if (std::abs(Hexx(iw0, iw1)) > sparse_threshold) { - if (PARAM.inp.nspin == 1 || PARAM.inp.nspin == 2) + if (PARAM.inp.nspin == 1 || PARAM.inp.nspin == 2) { - auto& HR_sparse_ptr - = HS_Arrays - .HR_sparse[current_spin][R][iwt0]; + auto& HR_sparse_ptr = HS_Arrays.HR_sparse[current_spin][R][iwt0]; double& HR_sparse = HR_sparse_ptr[iwt1]; - HR_sparse += RI::Global_Func::convert( - frac * Hexx(iw0, iw1)); - if (std::abs(HR_sparse) <= sparse_threshold) + HR_sparse += RI::Global_Func::convert(frac * Hexx(iw0, iw1)); + if (std::abs(HR_sparse) <= sparse_threshold) { HR_sparse_ptr.erase(iwt1); } - } - else if (PARAM.inp.nspin == 4) + } + else if (PARAM.inp.nspin == 4) { - auto& HR_sparse_ptr - = HS_Arrays.HR_soc_sparse[R][iwt0]; - - std::complex& HR_sparse - = HR_sparse_ptr[iwt1]; - - HR_sparse += RI::Global_Func::convert< - std::complex>(frac * Hexx(iw0, iw1)); - - if (std::abs(HR_sparse) <= sparse_threshold) + auto& HR_sparse_ptr = HS_Arrays.HR_soc_sparse[R][iwt0]; + + std::complex& HR_sparse = HR_sparse_ptr[iwt1]; + + HR_sparse += RI::Global_Func::convert>(frac * Hexx(iw0, iw1)); + + if (std::abs(HR_sparse) <= sparse_threshold) { HR_sparse_ptr.erase(iwt1); } - } - else + } + else { throw std::invalid_argument(std::string(__FILE__) + " line " - + std::to_string(__LINE__)); + + std::to_string(__LINE__)); } } } diff --git a/source/source_lcao/LCAO_init_basis.cpp b/source/source_lcao/LCAO_init_basis.cpp index 7743a68f1f..6d198a3a32 100644 --- a/source/source_lcao/LCAO_init_basis.cpp +++ b/source/source_lcao/LCAO_init_basis.cpp @@ -1,6 +1,7 @@ #include "LCAO_domain.h" #include "source_io/module_parameter/parameter.h" +#include "source_base/parallel_comm.h" /// once the GlobalC::exx_info has been deleted, this include can be gone /// mohan note 2024-07-21 #ifdef __EXX @@ -61,11 +62,6 @@ void init_basis_lcao(Parallel_Orbitals& pv, two_center_bundle.build_beta(ucell.ntype, ucell.infoNL.Beta); } - int Lmax = 0; -#ifdef __EXX - Lmax = GlobalC::exx_info.info_ri.abfs_Lmax; -#endif - #ifdef USE_NEW_TWO_CENTER two_center_bundle.tabulate(); #else diff --git a/source/source_lcao/LCAO_set.cpp b/source/source_lcao/LCAO_set.cpp new file mode 100644 index 0000000000..2f868dfaa4 --- /dev/null +++ b/source/source_lcao/LCAO_set.cpp @@ -0,0 +1,205 @@ +#include "source_lcao/LCAO_set.h" +#include "source_io/module_parameter/parameter.h" +#include "source_psi/setup_psi.h" // use Setup_Psi +#include "source_io/read_wfc_nao.h" // use read_wfc_nao +#include "source_estate/elecstate_tools.h" // use fixed_weights +#include "source_lcao/module_hcontainer/read_hcontainer.h" + +template +void LCAO_domain::set_psi_occ_dm_chg( + const K_Vectors &kv, // k-points + psi::Psi* &psi, // coefficients of NAO basis + const Parallel_Orbitals &pv, // parallel scheme of NAO basis + elecstate::ElecState* pelec, // eigen values and weights + LCAO_domain::Setup_DM &dmat, // density matrix + Charge &chr, // charge density + const Input_para &inp) // input parameters +{ + + //! 1) init electronic wave function psi + Setup_Psi::allocate_psi(psi, kv, pv, inp); + + //! 2) read psi from file + if (inp.init_wfc == "file" && inp.esolver_type != "tddft") + { + if (!ModuleIO::read_wfc_nao(PARAM.globalv.global_readin_dir, + pv, *psi, pelec->ekb, pelec->wg, kv.ik2iktot, + kv.get_nkstot(), inp.nspin)) + { + ModuleBase::WARNING_QUIT("set_psi_occ_dm_chg", "read electronic wave functions failed"); + } + } + + //! 3) set occupations, tddft does not need to set occupations in the first scf + if (inp.ocp && inp.esolver_type != "tddft") + { + elecstate::fixed_weights(inp.ocp_kb, inp.nbands, inp.nelec, + &kv, pelec->wg, pelec->skip_weights); + } + + //! 4) init DMK, but DMR is constructed in before_scf() + dmat.allocate_dm(&kv, &pv, inp.nspin); + + ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "CHARGE"); + + return; +} + + +template +void LCAO_domain::set_pot( + UnitCell &ucell, // not const because of dftu + K_Vectors &kv, // not const due to exx + Structure_Factor& sf, // will be modified in potential + const ModulePW::PW_Basis &pw_rho, + const ModulePW::PW_Basis &pw_rhod, + elecstate::ElecState* pelec, + const LCAO_Orbitals& orb, + Parallel_Orbitals &pv, // not const due to deepks + pseudopot_cell_vl &locpp, + Plus_U &dftu, + surchem& solvent, + Exx_NAO &exx_nao, + Setup_DeePKS &deepks, + const Input_para &inp) +{ + //! 1) init local pseudopotentials + locpp.init_vloc(ucell, &pw_rho); + + //! 2) init potentials + if (pelec->pot == nullptr) + { + // where is the pot deleted? + pelec->pot = new elecstate::Potential(&pw_rhod, &pw_rho, + &ucell, &locpp.vloc, &sf, &solvent, + &(pelec->f_en.etxc), &(pelec->f_en.vtxc)); + } + + //! 3) initialize DFT+U + if (inp.dft_plus_u) + { + dftu.init(ucell, &pv, kv.get_nks(), &orb); + } + + //! 4) init exact exchange calculations + exx_nao.before_runner(ucell, kv, orb, pv, inp); + + //! 5) init deepks + deepks.before_runner(ucell, kv.get_nks(), orb, pv, inp); + + ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "POTENTIALS"); + + return; +} + +template +void LCAO_domain::init_dm_from_file( + const std::string dmfile, + LCAO_domain::Setup_DM& dmat, + const UnitCell& ucell, + const Parallel_Orbitals* pv) +{ + ModuleBase::TITLE("LCAO_domain", "init_dm_from_file"); + hamilt::HContainer* dm_container = dmat.dm->get_DMR_vector()[0]; + hamilt::Read_HContainer reader_dm( + dm_container, + dmfile, + PARAM.globalv.nlocal, + &ucell + ); + reader_dm.read(); + return; +} + +template +void LCAO_domain::init_hr_from_file( + const std::string hrfile, + hamilt::HContainer* hmat, + const UnitCell& ucell, + const Parallel_Orbitals* pv) +{ + ModuleBase::TITLE("LCAO_domain", "init_hr_from_file"); + hmat->set_zero(); + hamilt::Read_HContainer reader_hr( + hmat, + hrfile, + PARAM.globalv.nlocal, + &ucell + ); + reader_hr.read(); + return; +} + + + +template void LCAO_domain::set_psi_occ_dm_chg( + const K_Vectors &kv, // k-points + psi::Psi* &psi, // coefficients of NAO basis + const Parallel_Orbitals &pv, // parallel scheme of NAO basis + elecstate::ElecState* pelec, // eigen values and weights + LCAO_domain::Setup_DM &dmat, // density matrix + Charge &chr, // charge density + const Input_para &inp); + +template void LCAO_domain::set_psi_occ_dm_chg>( + const K_Vectors &kv, // k-points + psi::Psi>* &psi, // coefficients of NAO basis + const Parallel_Orbitals &pv, // parallel scheme of NAO basis + elecstate::ElecState* pelec, // eigen values and weights + LCAO_domain::Setup_DM> &dmat, // density matrix + Charge &chr, // charge density + const Input_para &inp); + +template void LCAO_domain::set_pot( + UnitCell &ucell, + K_Vectors &kv, + Structure_Factor& sf, + const ModulePW::PW_Basis &pw_rho, + const ModulePW::PW_Basis &pw_rhod, + elecstate::ElecState* pelec, + const LCAO_Orbitals& orb, + Parallel_Orbitals &pv, + pseudopot_cell_vl &locpp, + Plus_U &dftu, + surchem& solvent, + Exx_NAO &exx_nao, + Setup_DeePKS &deepks, + const Input_para &inp); + +template void LCAO_domain::set_pot>( + UnitCell &ucell, + K_Vectors &kv, + Structure_Factor& sf, + const ModulePW::PW_Basis &pw_rho, + const ModulePW::PW_Basis &pw_rhod, + elecstate::ElecState* pelec, + const LCAO_Orbitals& orb, + Parallel_Orbitals &pv, + pseudopot_cell_vl &locpp, + Plus_U &dftu, + surchem& solvent, + Exx_NAO> &exx_nao, + Setup_DeePKS> &deepks, + const Input_para &inp); + +template void LCAO_domain::init_dm_from_file( + const std::string dmfile, + LCAO_domain::Setup_DM& dmat, + const UnitCell& ucell, + const Parallel_Orbitals* pv); +template void LCAO_domain::init_dm_from_file>( + const std::string dmfile, + LCAO_domain::Setup_DM>& dmat, + const UnitCell& ucell, + const Parallel_Orbitals* pv); + +template void LCAO_domain::init_hr_from_file( + const std::string hrfile, + hamilt::HContainer* hmat, + const UnitCell& ucell, + const Parallel_Orbitals* pv); +template void LCAO_domain::init_hr_from_file>( + const std::string hrfile, + hamilt::HContainer>* hmat, + const UnitCell& ucell, + const Parallel_Orbitals* pv); diff --git a/source/source_lcao/LCAO_set.h b/source/source_lcao/LCAO_set.h new file mode 100644 index 0000000000..1e1aa6e5a3 --- /dev/null +++ b/source/source_lcao/LCAO_set.h @@ -0,0 +1,77 @@ +#ifndef LCAO_SET_H +#define LCAO_SET_H + +#include "source_cell/unitcell.h" +#include "source_cell/klist.h" +#include "source_psi/psi.h" +#include "source_estate/elecstate.h" +#include "source_lcao/setup_dm.h" +#include "source_pw/module_pwdft/structure_factor.h" +#include "source_basis/module_pw/pw_basis.h" +#include "source_hamilt/module_surchem/surchem.h" +#include "source_pw/module_pwdft/VL_in_pw.h" +#include "source_lcao/module_deepks/LCAO_deepks.h" +#include "source_lcao/module_dftu/dftu.h" +#include "source_lcao/setup_exx.h" +#include "source_lcao/setup_deepks.h" + +namespace LCAO_domain +{ + +/** + * @brief set up wave functions, occupation numbers, + * density matrix and charge density + */ +template +void set_psi_occ_dm_chg( + const K_Vectors &kv, // k-points + psi::Psi* &psi, // coefficients of NAO basis + const Parallel_Orbitals &pv, // parallel scheme of NAO basis + elecstate::ElecState* pelec, // eigen values and weights + LCAO_domain::Setup_DM &dmat, // density matrix + Charge &chr, // charge density + const Input_para& inp); // input parameters + +/** + * @brief set up potentials, including local pseudopotentials, + * +U potential, solvent potential, exx potential and deepks potential + */ +template +void set_pot( + UnitCell &ucell, + K_Vectors &kv, + Structure_Factor& sf, + const ModulePW::PW_Basis &pw_rho, + const ModulePW::PW_Basis &pw_rhod, + elecstate::ElecState* pelec, + const LCAO_Orbitals& orb, + Parallel_Orbitals &pv, + pseudopot_cell_vl &locpp, + Plus_U &dftu, + surchem& solvent, + Exx_NAO &exx_nao, + Setup_DeePKS &deepks, + const Input_para &inp); + +/** + * @brief read in DMR from file, and save it into dmat + */ +template +void init_dm_from_file( + const std::string dmfile, + LCAO_domain::Setup_DM& dmat, + const UnitCell& ucell, + const Parallel_Orbitals* pv); + +/** + * @brief read in HR from file, and save it into hmat + */ +template +void init_hr_from_file( + const std::string hrfile, + hamilt::HContainer* hmat, + const UnitCell& ucell, + const Parallel_Orbitals* pv); +} // end namespace + +#endif diff --git a/source/source_lcao/center2_orb-orb11.cpp b/source/source_lcao/center2_orb-orb11.cpp index 394384a3b4..7e4304f01b 100644 --- a/source/source_lcao/center2_orb-orb11.cpp +++ b/source/source_lcao/center2_orb-orb11.cpp @@ -24,6 +24,8 @@ Center2_Orb::Orb11::Orb11(const Numerical_Orbital_Lm& nA_in, void Center2_Orb::Orb11::init_radial_table() { + const int rmesh = Center2_Orb::get_rmesh(this->nA.getRcut(), this->nB.getRcut(), dr_); + const int LA = this->nA.getL(); const int LB = this->nB.getL(); for (int LAB = std::abs(LA - LB); LAB <= LA + LB; ++LAB) @@ -33,8 +35,6 @@ void Center2_Orb::Orb11::init_radial_table() continue; } - const int rmesh = Center2_Orb::get_rmesh(this->nA.getRcut(), this->nB.getRcut(), dr_); - this->Table_r[LAB].resize(rmesh, 0); this->Table_dr[LAB].resize(rmesh, 0); @@ -43,8 +43,8 @@ void Center2_Orb::Orb11::init_radial_table() this->nA, this->nB, rmesh, - this->Table_r[LAB].data(), - this->Table_dr[LAB].data(), + this->Table_r[LAB], + this->Table_dr[LAB], psb_); } return; @@ -58,17 +58,20 @@ void Center2_Orb::Orb11::init_radial_table(const std::set& radials) const size_t rmesh = Center2_Orb::get_rmesh(this->nA.getRcut(), this->nB.getRcut(), dr_); std::set radials_used; - for (const size_t& ir: radials) { - if (ir < rmesh) { + for (const size_t& ir: radials) + { + if (ir < rmesh) + { radials_used.insert(ir); -} -} + } + } for (int LAB = std::abs(LA - LB); LAB <= LA + LB; ++LAB) { - if ((LAB - std::abs(LA - LB)) % 2 == 1) { // if LA+LB-LAB == odd, then Gaunt_Coefficients = 0 + if ((LAB - std::abs(LA - LB)) % 2 == 1) // if LA+LB-LAB == odd, then Gaunt_Coefficients = 0 + { continue; -} + } this->Table_r[LAB].resize(rmesh, 0); this->Table_dr[LAB].resize(rmesh, 0); @@ -78,8 +81,8 @@ void Center2_Orb::Orb11::init_radial_table(const std::set& radials) this->nA, this->nB, radials_used, - this->Table_r[LAB].data(), - this->Table_dr[LAB].data(), + this->Table_r[LAB], + this->Table_dr[LAB], psb_); } } @@ -97,9 +100,10 @@ double Center2_Orb::Orb11::cal_overlap(const ModuleBase::Vector3& RA, const double distance = (distance_true >= tiny1) ? distance_true : distance_true + tiny1; const double RcutA = this->nA.getRcut(); const double RcutB = this->nB.getRcut(); - if (distance > (RcutA + RcutB)) { + if (distance > (RcutA + RcutB)) + { return 0.0; -} + } const int LA = this->nA.getL(); const int LB = this->nB.getL(); @@ -112,6 +116,9 @@ double Center2_Orb::Orb11::cal_overlap(const ModuleBase::Vector3& RA, rly); double overlap = 0.0; + const int idx1 = this->MGT.get_lm_index(LA, mA); + const int idx2 = this->MGT.get_lm_index(LB, mB); + const double* Gaunt_Coefficients_ptr = &(this->MGT.Gaunt_Coefficients(idx1, idx2, 0)); for (const auto& tb_r: this->Table_r) { @@ -120,17 +127,18 @@ double Center2_Orb::Orb11::cal_overlap(const ModuleBase::Vector3& RA, for (int mAB = 0; mAB != 2 * LAB + 1; ++mAB) // const int mAB = mA + mB; { - const double Gaunt_real_A_B_AB = this->MGT.Gaunt_Coefficients(this->MGT.get_lm_index(LA, mA), - this->MGT.get_lm_index(LB, mB), - this->MGT.get_lm_index(LAB, mAB)); - if (0 == Gaunt_real_A_B_AB) { + const int idx3 = this->MGT.get_lm_index(LAB, mAB); + const double Gaunt_real_A_B_AB = *(Gaunt_Coefficients_ptr + idx3); + if (0 == Gaunt_real_A_B_AB) + { continue; -} + } - const double ylm_solid = rly[this->MGT.get_lm_index(LAB, mAB)]; - if (0 == ylm_solid) { + const double ylm_solid = rly[idx3]; + if (0 == ylm_solid) + { continue; -} + } const double ylm_real = (distance > tiny2) ? ylm_solid / pow(distance, LAB) : ylm_solid; const double i_exp = std::pow(-1.0, (LA - LB - LAB) / 2); @@ -166,18 +174,23 @@ ModuleBase::Vector3 Center2_Orb::Orb11::cal_grad_overlap( // caoyu add 2 const double distance = (distance_true >= tiny1) ? distance_true : distance_true + tiny1; const double RcutA = this->nA.getRcut(); const double RcutB = this->nB.getRcut(); - if (distance > (RcutA + RcutB)) { + if (distance > (RcutA + RcutB)) + { return ModuleBase::Vector3(0.0, 0.0, 0.0); -} + } const int LA = this->nA.getL(); const int LB = this->nB.getL(); + const int idx1 = this->MGT.get_lm_index(LA, mA); + const int idx2 = this->MGT.get_lm_index(LB, mB); + const double* Gaunt_Coefficients_ptr = &(this->MGT.Gaunt_Coefficients(idx1, idx2, 0)); - std::vector rly((LA + LB + 1) * (LA + LB + 1)); + const int LAB2 = (LA + LB + 1) * (LA + LB + 1); + std::vector rly(LAB2); std::vector> grly; - ModuleBase::Array_Pool tmp_grly((LA + LB + 1) * (LA + LB + 1), 3); + ModuleBase::Array_Pool tmp_grly(LAB2, 3); ModuleBase::Ylm::grad_rl_sph_harm(LA + LB, delta_R.x, delta_R.y, delta_R.z, rly.data(), tmp_grly.get_ptr_2D()); - for (int i=0; i<(LA + LB + 1) * (LA + LB + 1); ++i) + for (int i=0; i ele(tmp_grly[i][0], tmp_grly[i][1], tmp_grly[i][2]); grly.push_back(ele); @@ -191,17 +204,17 @@ ModuleBase::Vector3 Center2_Orb::Orb11::cal_grad_overlap( // caoyu add 2 for (int mAB = 0; mAB != 2 * LAB + 1; ++mAB) // const int mAB = mA + mB; { - const double Gaunt_real_A_B_AB = this->MGT.Gaunt_Coefficients(this->MGT.get_lm_index(LA, mA), - this->MGT.get_lm_index(LB, mB), - this->MGT.get_lm_index(LAB, mAB)); - if (0 == Gaunt_real_A_B_AB) { + const int idx3 = this->MGT.get_lm_index(LAB, mAB); + const double Gaunt_real_A_B_AB = *(Gaunt_Coefficients_ptr + idx3); + if (0 == Gaunt_real_A_B_AB) + { continue; -} + } - const double ylm_solid = rly[this->MGT.get_lm_index(LAB, mAB)]; + const double ylm_solid = rly[idx3]; const double ylm_real = (distance > tiny2) ? ylm_solid / pow(distance, LAB) : ylm_solid; - const ModuleBase::Vector3 gylm_solid = grly[this->MGT.get_lm_index(LAB, mAB)]; + const ModuleBase::Vector3 gylm_solid = grly[idx3]; const ModuleBase::Vector3 gylm_real = (distance > tiny2) ? gylm_solid / pow(distance, LAB) : gylm_solid; diff --git a/source/source_lcao/center2_orb-orb21.cpp b/source/source_lcao/center2_orb-orb21.cpp index a81db0db26..fa70914f5a 100644 --- a/source/source_lcao/center2_orb-orb21.cpp +++ b/source/source_lcao/center2_orb-orb21.cpp @@ -35,7 +35,9 @@ void Center2_Orb::Orb21::init_radial_table() for (int LA = std::abs(LA1 - LA2); LA <= LA1 + LA2; ++LA) { if ((LA - std::abs(LA1 - LA2)) % 2 == 1) // if LA+LB-LAB == odd, then Gaunt_Coefficients = 0 + { continue; + } this->nA[LA].set_orbital_info(nA_short.getLabel(), nA_short.getType(), @@ -74,7 +76,9 @@ void Center2_Orb::Orb21::init_radial_table(const std::set& radials) for (int LA = std::abs(LA1 - LA2); LA <= LA1 + LA2; ++LA) { if ((LA - std::abs(LA1 - LA2)) % 2 == 1) // if LA+LB-LAB == odd, then Gaunt_Coefficients = 0 + { continue; + } this->nA[LA].set_orbital_info(nA_short.getLabel(), nA_short.getType(), @@ -106,6 +110,9 @@ double Center2_Orb::Orb21::cal_overlap(const ModuleBase::Vector3& RA, { const int LA1 = this->nA1.getL(); const int LA2 = this->nA2.getL(); + const int idx1 = this->MGT.get_lm_index(LA1, mA1); + const int idx2 = this->MGT.get_lm_index(LA2, mA2); + const double* Gaunt_Coefficients_ptr = &(this->MGT.Gaunt_Coefficients(idx1, idx2, 0)); double overlap = 0.0; @@ -116,11 +123,11 @@ double Center2_Orb::Orb21::cal_overlap(const ModuleBase::Vector3& RA, for (int mA = 0; mA != 2 * LA + 1; ++mA) // const int mA=mA1+mA2; { - const double Gaunt_real_A1_A2_A12 = this->MGT.Gaunt_Coefficients(this->MGT.get_lm_index(LA1, mA1), - this->MGT.get_lm_index(LA2, mA2), - this->MGT.get_lm_index(LA, mA)); + const double Gaunt_real_A1_A2_A12 = *(Gaunt_Coefficients_ptr + this->MGT.get_lm_index(LA, mA)); if (0 == Gaunt_real_A1_A2_A12) + { continue; + } overlap += Gaunt_real_A1_A2_A12 * orb11.second.cal_overlap(RA, RB, mA, mB); } @@ -137,6 +144,9 @@ ModuleBase::Vector3 Center2_Orb::Orb21::cal_grad_overlap(const ModuleBas { const int LA1 = this->nA1.getL(); const int LA2 = this->nA2.getL(); + const int idx1 = this->MGT.get_lm_index(LA1, mA1); + const int idx2 = this->MGT.get_lm_index(LA2, mA2); + const double* Gaunt_Coefficients_ptr = &(this->MGT.Gaunt_Coefficients(idx1, idx2, 0)); ModuleBase::Vector3 grad_overlap(0.0, 0.0, 0.0); @@ -147,11 +157,11 @@ ModuleBase::Vector3 Center2_Orb::Orb21::cal_grad_overlap(const ModuleBas for (int mA = 0; mA != 2 * LA + 1; ++mA) // const int mA=mA1+mA2; { - const double Gaunt_real_A1_A2_A12 = this->MGT.Gaunt_Coefficients(this->MGT.get_lm_index(LA1, mA1), - this->MGT.get_lm_index(LA2, mA2), - this->MGT.get_lm_index(LA, mA)); + const double Gaunt_real_A1_A2_A12 = *(Gaunt_Coefficients_ptr + this->MGT.get_lm_index(LA, mA)); if (0 == Gaunt_real_A1_A2_A12) + { continue; + } grad_overlap += Gaunt_real_A1_A2_A12 * orb11.second.cal_grad_overlap(RA, RB, mA, mB); } diff --git a/source/source_lcao/center2_orb.cpp b/source/source_lcao/center2_orb.cpp index a2abeaf8bd..b222716ce1 100644 --- a/source/source_lcao/center2_orb.cpp +++ b/source/source_lcao/center2_orb.cpp @@ -3,7 +3,6 @@ #include "source_base/constants.h" #include "source_base/math_integral.h" #include "source_base/mathzone_add1.h" -#include "source_base/memory.h" #include "source_base/timer.h" #include "source_base/tool_quit.h" #include "source_base/tool_title.h" @@ -29,83 +28,7 @@ int Center2_Orb::get_rmesh(const double& R1, const double& R2, const double dr) } // Peize Lin update 2016-01-26 -void Center2_Orb::init_Lmax(const int orb_num, - const int mode, - int& Lmax_used, - int& Lmax, - const int& Lmax_exx, - const int lmax_orb, - const int lmax_beta) -{ - - Lmax = -1; - - switch (orb_num) - { - case 2: - switch (mode) - { - case 1: // used in or - Lmax = std::max({Lmax, lmax_orb, lmax_beta}); - // use 2lmax+1 in dS - Lmax_used = 2 * Lmax + 1; - break; - case 2: // used in or - Lmax = std::max(Lmax, Lmax_exx); - Lmax_used = 2 * Lmax + 1; - break; - case 3: // used in berryphase by jingan - Lmax = std::max(Lmax, lmax_orb); - Lmax++; - Lmax_used = 2 * Lmax + 1; - break; - default: - throw std::invalid_argument("Center2_Orb::init_Lmax orb_num=2, mode error"); - break; - } - break; - case 3: - switch (mode) - { - case 1: // used in or - Lmax = std::max(Lmax, lmax_orb); - Lmax_used = 2 * Lmax + 1; - Lmax = std::max(Lmax, Lmax_exx); - Lmax_used += Lmax_exx; - break; - default: - throw std::invalid_argument("Center2_Orb::init_Lmax orb_num=3, mode error"); - break; - } - break; - case 4: - switch (mode) - { - case 1: // used in - Lmax = std::max(Lmax, lmax_orb); - Lmax_used = 2 * (2 * Lmax + 1); - break; - default: - throw std::invalid_argument("Center2_Orb::init_Lmax orb_num=4, mode error"); - break; - } - break; - default: - throw std::invalid_argument("Center2_Orb::init_Lmax orb_num error"); - break; - } - - assert(Lmax_used >= 1); -} - -// Peize Lin update 2016-01-26 -void Center2_Orb::init_Table_Spherical_Bessel(const int orb_num, - const int mode, - int& Lmax_used, - int& Lmax, - const int& Lmax_exx, - const int lmax_orb, - const int lmax_beta, +void Center2_Orb::init_Table_Spherical_Bessel(const int Lmax_used, const double dr, const double dk, const int kmesh, @@ -114,8 +37,6 @@ void Center2_Orb::init_Table_Spherical_Bessel(const int orb_num, { ModuleBase::TITLE("Center2_Orb", "init_Table_Spherical_Bessel"); - init_Lmax(orb_num, mode, Lmax_used, Lmax, Lmax_exx, lmax_orb, lmax_beta); // Peize Lin add 2016-01-26 - for (auto& sb: ModuleBase::Sph_Bessel_Recursive_Pool::D2::sb_pool) { if (dr * dk == sb.get_dx()) @@ -132,9 +53,7 @@ void Center2_Orb::init_Table_Spherical_Bessel(const int orb_num, } psb->set_dx(dr * dk); - psb->cal_jlx(Lmax_used, Rmesh, kmesh); - - ModuleBase::Memory::record("ORB::Jl(x)", sizeof(double) * (Lmax_used + 1) * kmesh * Rmesh); + psb->cal_jlx(Lmax_used+1, Rmesh, kmesh); // +1 for drs needs psb.jlx[l+1]. Peize Lin update 2025-12-27 } // Peize Lin accelerate 2017-10-02 @@ -143,12 +62,15 @@ void Center2_Orb::cal_ST_Phi12_R(const int& job, const Numerical_Orbital_Lm& n1, const Numerical_Orbital_Lm& n2, const int& rmesh, - double* rs, - double* drs, + std::vector &rs, + std::vector &drs, const ModuleBase::Sph_Bessel_Recursive::D2* psb) { ModuleBase::timer::tick("Center2_Orb", "cal_ST_Phi12_R"); + assert(rmesh <= rs.size()); + assert(rmesh <= drs.size()); + const int kmesh = n1.getNk(); const double* kpoint = n1.getKpoint(); const double dk = n1.getDk(); @@ -202,15 +124,14 @@ void Center2_Orb::cal_ST_Phi12_R(const int& job, // double* integrated_func = new double[kmesh]; - int ll = 0; - if (l != 0) - { - ll = l - 1; - } - - const std::vector>& jlm1 = psb->get_jlx()[ll]; - const std::vector>& jl = psb->get_jlx()[l]; - const std::vector>& jlp1 = psb->get_jlx()[l + 1]; + assert(psb->get_jlx().size()>=l+2); + const int lml = (l>0) ? (l-1) : 0; + const std::vector>& jlm1 = psb->get_jlx().at(lml); + const std::vector>& jl = psb->get_jlx().at(l); + const std::vector>& jlp1 = psb->get_jlx().at(l+1); + assert(jlm1.size()>=rmesh); + assert(jl.size()>=rmesh); + assert(jlp1.size()>=rmesh); #ifdef _OPENMP #pragma omp parallel for schedule(static) @@ -219,6 +140,7 @@ void Center2_Orb::cal_ST_Phi12_R(const int& job, { std::vector integrated_func(kmesh); const std::vector& jl_r = jl[ir]; + assert(jl_r.size()>=kmesh); for (int ik = 0; ik < kmesh; ++ik) { integrated_func[ik] = jl_r[ik] * k1_dot_k2[ik]; @@ -232,6 +154,8 @@ void Center2_Orb::cal_ST_Phi12_R(const int& job, // Peize Lin accelerate 2017-10-02 const std::vector& jlm1_r = jlm1[ir]; const std::vector& jlp1_r = jlp1[ir]; + assert(jlm1_r.size()>=kmesh); + assert(jlp1_r.size()>=kmesh); const double fac = l / (l + 1.0); if (l == 0) { @@ -281,8 +205,8 @@ void Center2_Orb::cal_ST_Phi12_R(const int& job, const Numerical_Orbital_Lm& n1, const Numerical_Orbital_Lm& n2, const std::set& radials, - double* rs, - double* drs, + std::vector &rs, + std::vector &drs, const ModuleBase::Sph_Bessel_Recursive::D2* psb) { // ModuleBase::TITLE("Center2_Orb","cal_ST_Phi12_R"); @@ -335,21 +259,23 @@ void Center2_Orb::cal_ST_Phi12_R(const int& job, std::vector integrated_func(kmesh); - const int lm1 = (l > 0 ? l - 1 : 0); - const std::vector>& jlm1 = psb->get_jlx()[lm1]; - const std::vector>& jl = psb->get_jlx()[l]; - const std::vector>& jlp1 = psb->get_jlx()[l + 1]; + assert(psb->get_jlx().size()>=l+2); + const int lm1 = (l>0) ? (l-1) : 0; + const std::vector>& jlm1 = psb->get_jlx().at(lm1); + const std::vector>& jl = psb->get_jlx().at(l); + const std::vector>& jlp1 = psb->get_jlx().at(l+1); for (const size_t& ir: radials) { // if(rs[ir]) => rs[ir] has been calculated // if(drs[ir]) => drs[ir] has been calculated // Actually, if(ir[ir]||dr[ir]) is enough. Double insurance for the sake of avoiding numerical errors - if (rs[ir] && drs[ir]) { + if (rs.at(ir) && drs.at(ir)) { continue; } const std::vector& jl_r = jl[ir]; + assert(jl_r.size()>=kmesh); for (int ik = 0; ik < kmesh; ++ik) { integrated_func[ik] = jl_r[ik] * k1_dot_k2[ik]; @@ -357,10 +283,12 @@ void Center2_Orb::cal_ST_Phi12_R(const int& job, double temp = 0.0; ModuleBase::Integral::Simpson_Integral(kmesh, ModuleBase::GlobalFunc::VECTOR_TO_PTR(integrated_func), dk, temp); - rs[ir] = temp * ModuleBase::FOUR_PI; + rs.at(ir) = temp * ModuleBase::FOUR_PI; - const std::vector& jlm1_r = jlm1[ir]; - const std::vector& jlp1_r = jlp1[ir]; + const std::vector& jlm1_r = jlm1.at(ir); + const std::vector& jlp1_r = jlp1.at(ir); + assert(jlm1_r.size()>=kmesh); + assert(jlp1_r.size()>=kmesh); const double fac = l / (l + 1.0); if (l == 0) { @@ -378,7 +306,7 @@ void Center2_Orb::cal_ST_Phi12_R(const int& job, } ModuleBase::Integral::Simpson_Integral(kmesh, ModuleBase::GlobalFunc::VECTOR_TO_PTR(integrated_func), dk, temp); - drs[ir] = -ModuleBase::FOUR_PI * (l + 1) / (2.0 * l + 1) * temp; + drs.at(ir) = -ModuleBase::FOUR_PI * (l + 1) / (2.0 * l + 1) * temp; } // cal rs[0] special @@ -399,7 +327,7 @@ void Center2_Orb::cal_ST_Phi12_R(const int& job, // PLEASE try to make dualfac function as input parameters // mohan note 2021-03-23 - rs[0] = ModuleBase::FOUR_PI / ModuleBase::Mathzone_Add1::dualfac(2 * l + 1) * temp; + rs.at(0) = ModuleBase::FOUR_PI / ModuleBase::Mathzone_Add1::dualfac(2 * l + 1) * temp; } } diff --git a/source/source_lcao/center2_orb.h b/source/source_lcao/center2_orb.h index a10e3dffe5..f9a7688532 100644 --- a/source/source_lcao/center2_orb.h +++ b/source/source_lcao/center2_orb.h @@ -25,21 +25,7 @@ class Center2_Orb static int get_rmesh(const double& R1, const double& R2, const double dr); - static void init_Lmax(const int orb_num, - const int mode, - int& Lmax_used, - int& Lmax, - const int& Lmax_exx, - const int lmax_orb, - const int lmax_beta); - - static void init_Table_Spherical_Bessel(const int orb_num, - const int mode, - int& Lmax_used, - int& Lmax, - const int& Lmax_exx, - const int lmax_orb, - const int lmax_beta, + static void init_Table_Spherical_Bessel(const int Lmax_used, const double dr, const double dk, const int kmesh, @@ -51,8 +37,8 @@ class Center2_Orb const Numerical_Orbital_Lm& n1, const Numerical_Orbital_Lm& n2, const int& rmesh, - double* rs, - double* drs, + std::vector &rs, + std::vector &drs, const ModuleBase::Sph_Bessel_Recursive::D2* psb); // Peize Lin add 2017-10-13 @@ -61,8 +47,8 @@ class Center2_Orb const Numerical_Orbital_Lm& n1, const Numerical_Orbital_Lm& n2, const std::set& radials, // only calculate ir in radials - double* rs, - double* drs, + std::vector &rs, + std::vector &drs, const ModuleBase::Sph_Bessel_Recursive::D2* psb); }; diff --git a/source/source_lcao/edm.cpp b/source/source_lcao/edm.cpp index 7937a503ac..a6ea90b6c7 100644 --- a/source/source_lcao/edm.cpp +++ b/source/source_lcao/edm.cpp @@ -1,5 +1,6 @@ #include "FORCE.h" #include "source_estate/module_dm/cal_dm_psi.h" +#include "source_estate/elecstate_lcao.h" #include "source_base/memory.h" #include "source_io/module_parameter/parameter.h" template<> @@ -30,10 +31,10 @@ elecstate::DensityMatrix Force_LCAO::cal_edm(const elecs #ifdef __PEXSI if (PARAM.inp.ks_solver == "pexsi") { - auto pes = dynamic_cast*>(pelec); + // auto pes = dynamic_cast*>(pelec); for (int ik = 0; ik < nspin; ik++) { - edm.set_DMK_pointer(ik, pes->get_DM()->pexsi_EDM[ik]); + edm.set_DMK_pointer(ik, dm.pexsi_EDM[ik]); } } @@ -46,7 +47,8 @@ elecstate::DensityMatrix Force_LCAO::cal_edm(const elecs } template<> -elecstate::DensityMatrix, double> Force_LCAO>::cal_edm(const elecstate::ElecState* pelec, +elecstate::DensityMatrix, double> Force_LCAO>::cal_edm( + const elecstate::ElecState* pelec, const psi::Psi>& psi, const elecstate::DensityMatrix, double>& dm, const K_Vectors& kv, @@ -100,4 +102,4 @@ elecstate::DensityMatrix, double> Force_LCAO::HamiltLCAO(const UnitCell& ucell, } template -HamiltLCAO::HamiltLCAO(Gint_Gamma* GG_in, - Gint_k* GK_in, - const UnitCell& ucell, +HamiltLCAO::HamiltLCAO(const UnitCell& ucell, const Grid_Driver& grid_d, const Parallel_Orbitals* paraV, elecstate::Potential* pot_in, const K_Vectors& kv_in, const TwoCenterBundle& two_center_bundle, const LCAO_Orbitals& orb, - elecstate::DensityMatrix* DM_in -#ifdef __MLALGO - , - LCAO_Deepks* ld_in -#endif -#ifdef __EXX - , - const int istep, - int* exx_two_level_step, - std::vector>>>* Hexxd, - std::vector>>>>* Hexxc -#endif -) + elecstate::DensityMatrix* DM_in, + Plus_U* p_dftu, // mohan add 2025-11-05 + Setup_DeePKS &deepks, + const int istep, + Exx_NAO &exx_nao) { this->classname = "HamiltLCAO"; @@ -189,8 +180,7 @@ HamiltLCAO::HamiltLCAO(Gint_Gamma* GG_in, // register Potential by gathered operator pot_in->pot_register(pot_register_in); // effective potential term - Operator* veff = new Veff>(GG_in, - this->hsk, + Operator* veff = new Veff>(this->hsk, this->kv->kvec_d, pot_in, this->hR, // no explicit call yet @@ -205,7 +195,7 @@ HamiltLCAO::HamiltLCAO(Gint_Gamma* GG_in, #ifdef __MLALGO if (PARAM.inp.deepks_scf) { - Operator* deepks = new DeePKS>(this->hsk, + Operator* deepks_op = new DeePKS>(this->hsk, this->kv->kvec_d, this->hR, // no explicit call yet &ucell, @@ -214,35 +204,36 @@ HamiltLCAO::HamiltLCAO(Gint_Gamma* GG_in, &orb, this->kv->get_nks(), DM_in, - ld_in); - this->getOperator()->add(deepks); - this->V_delta_R = dynamic_cast>*>(deepks)->get_V_delta_R(); + &deepks.ld); + this->getOperator()->add(deepks_op); + this->V_delta_R = dynamic_cast>*>(deepks_op)->get_V_delta_R(); } #endif // end node should be OperatorDFTU if (PARAM.inp.dft_plus_u) { - Operator* dftu = nullptr; + Operator* plus_u = nullptr; if (PARAM.inp.dft_plus_u == 2) { - dftu = new OperatorDFTU>(this->hsk, + plus_u = new OperatorDFTU>(this->hsk, this->kv->kvec_d, - this->hR, // no explicit call yet - this->kv->isk); + this->hR, // no explicit call yet + p_dftu, // mohan add 2025-11-07 + this->kv->isk); } else { - dftu = new DFTU>(this->hsk, + plus_u = new DFTU>(this->hsk, this->kv->kvec_d, this->hR, ucell, &grid_d, two_center_bundle.overlap_orb_onsite.get(), orb.cutoffs(), - &GlobalC::dftu); + p_dftu); } - this->getOperator()->add(dftu); + this->getOperator()->add(plus_u); } } // multi-k-points case to initialize HamiltLCAO, ops will be used @@ -259,8 +250,7 @@ HamiltLCAO::HamiltLCAO(Gint_Gamma* GG_in, // register Potential by gathered operator pot_in->pot_register(pot_register_in); // Veff term - this->getOperator() = new Veff>(GK_in, - this->hsk, + this->getOperator() = new Veff>(this->hsk, this->kv->kvec_d, pot_in, this->hR, @@ -330,7 +320,7 @@ HamiltLCAO::HamiltLCAO(Gint_Gamma* GG_in, #ifdef __MLALGO if (PARAM.inp.deepks_scf) { - Operator* deepks = new DeePKS>(this->hsk, + Operator* deepks_op = new DeePKS>(this->hsk, this->kv->kvec_d, hR, &ucell, @@ -339,9 +329,9 @@ HamiltLCAO::HamiltLCAO(Gint_Gamma* GG_in, &orb, this->kv->get_nks(), DM_in, - ld_in); - this->getOperator()->add(deepks); - this->V_delta_R = dynamic_cast>*>(deepks)->get_V_delta_R(); + &deepks.ld); + this->getOperator()->add(deepks_op); + this->V_delta_R = dynamic_cast>*>(deepks_op)->get_V_delta_R(); } #endif // TDDFT_velocity_gauge @@ -379,26 +369,27 @@ HamiltLCAO::HamiltLCAO(Gint_Gamma* GG_in, } if (PARAM.inp.dft_plus_u) { - Operator* dftu = nullptr; + Operator* plus_u = nullptr; if (PARAM.inp.dft_plus_u == 2) { - dftu = new OperatorDFTU>(this->hsk, + plus_u = new OperatorDFTU>(this->hsk, this->kv->kvec_d, - this->hR, // no explicit call yet + this->hR, // no explicit call yet + p_dftu, // mohan add 2025-11-07 this->kv->isk); } else { - dftu = new DFTU>(this->hsk, + plus_u = new DFTU>(this->hsk, this->kv->kvec_d, this->hR, ucell, &grid_d, two_center_bundle.overlap_orb_onsite.get(), orb.cutoffs(), - &GlobalC::dftu); + p_dftu); } - this->getOperator()->add(dftu); + this->getOperator()->add(plus_u); } if (PARAM.inp.sc_mag_switch) { @@ -418,6 +409,21 @@ HamiltLCAO::HamiltLCAO(Gint_Gamma* GG_in, #ifdef __EXX if (GlobalC::exx_info.info_global.cal_exx) { + int* exx_two_level_step = nullptr; + std::vector>>>* Hexxd = nullptr; + std::vector>>>>* Hexxc = nullptr; + + if(GlobalC::exx_info.info_ri.real_number) + { + exx_two_level_step = &exx_nao.exd->two_level_step; + Hexxd = &exx_nao.exd->get_Hexxs(); + } + else + { + exx_two_level_step = &exx_nao.exc->two_level_step; + Hexxc = &exx_nao.exc->get_Hexxs(); + } + // Peize Lin add 2016-12-03 // set xc type before the first cal of xc in pelec->init_scf // and calculate Cs, Vs @@ -487,20 +493,32 @@ void HamiltLCAO::updateHk(const int ik) } template -void HamiltLCAO::refresh() +void HamiltLCAO::refresh(bool yes) { ModuleBase::TITLE("HamiltLCAO", "refresh"); - dynamic_cast*>(this->ops)->set_hr_done(false); - if (PARAM.inp.nspin == 2) + if(yes) { - this->refresh_times = 1; - this->current_spin = 0; - if (this->hR->get_nnr() != this->hRS2.size() / 2) + dynamic_cast*>(this->ops)->set_hr_done(false); + if (PARAM.inp.nspin == 2) { - // operator has changed, resize hRS2 - this->hRS2.resize(this->hR->get_nnr() * 2); + this->refresh_times = 1; + this->current_spin = 0; + if (this->hR->get_nnr() != this->hRS2.size() / 2) + { + // operator has changed, resize hRS2 + this->hRS2.resize(this->hR->get_nnr() * 2); + } + this->hR->allocate(this->hRS2.data(), 0); + } + } + else { + dynamic_cast*>(this->ops)->set_hr_done(true); + this->refresh_times = 0; + if (PARAM.inp.nspin == 2) + { + ModuleBase::WARNING_QUIT("HamiltLCAO::refresh", + "When turning off the refresh flag, the nspin==2 case is not supported yet."); } - this->hR->allocate(this->hRS2.data(), 0); } } diff --git a/source/source_lcao/hamilt_lcao.h b/source/source_lcao/hamilt_lcao.h index 16c5c34e0a..deca3c7c73 100644 --- a/source/source_lcao/hamilt_lcao.h +++ b/source/source_lcao/hamilt_lcao.h @@ -8,19 +8,19 @@ #include "source_estate/module_pot/potential_new.h" #include "source_hamilt/hamilt.h" #include "source_lcao/hs_matrix_k.hpp" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" #include "source_lcao/module_hcontainer/hcontainer.h" #include -#ifdef __MLALGO -#include "source_lcao/module_deepks/LCAO_deepks.h" -#endif +#include "source_lcao/setup_deepks.h" // mohan add 20251008 #ifdef __EXX #include "source_lcao/module_ri/Exx_LRI.h" #endif + +#include "source_lcao/setup_exx.h" // for exx, mohan add 20251022 +#include "source_lcao/module_dftu/dftu.h" // mohan add 2025-11-05 + namespace hamilt { @@ -41,28 +41,18 @@ class HamiltLCAO : public Hamilt * @brief Constructor of Hamiltonian for LCAO base * HR and SR will be allocated with Operators */ - HamiltLCAO(Gint_Gamma* GG_in, - Gint_k* GK_in, - const UnitCell& ucell, + HamiltLCAO(const UnitCell& ucell, const Grid_Driver& grid_d, const Parallel_Orbitals* paraV, elecstate::Potential* pot_in, const K_Vectors& kv_in, const TwoCenterBundle& two_center_bundle, const LCAO_Orbitals& orb, - elecstate::DensityMatrix* DM_in -#ifdef __MLALGO - , - LCAO_Deepks* ld_in -#endif -#ifdef __EXX - , - const int istep, - int* exx_two_level_step = nullptr, - std::vector>>>* Hexxd = nullptr, - std::vector>>>>* Hexxc = nullptr -#endif - ); + elecstate::DensityMatrix* DM_in, + Plus_U* p_dftu, // mohan add 2025-11-05 + Setup_DeePKS &deepks, + const int istep, + Exx_NAO &exx_nao); /** * @brief Constructor of vacuum Operators, only HR and SR will be initialed as empty HContainer @@ -110,12 +100,20 @@ class HamiltLCAO : public Hamilt { return this->hR; } + const HContainer* getHR() const + { + return this->hR; + } /// get SR pointer of *this->sR, which is a HContainer and contains S(R) HContainer*& getSR() { return this->sR; } + const HContainer* getSR() const + { + return this->sR; + } #ifdef __MLALGO /// get V_delta_R pointer of *this->V_delta_R, which is a HContainer and contains V_delta(R) @@ -126,7 +124,7 @@ class HamiltLCAO : public Hamilt #endif /// refresh the status of HR - void refresh() override; + void refresh(bool yes) override; // for target K point, update consequence of hPsi() and matrix() virtual void updateHk(const int ik) override; diff --git a/source/source_lcao/module_deepks/LCAO_deepks.cpp b/source/source_lcao/module_deepks/LCAO_deepks.cpp index 6755c0c256..f51f7ffa38 100644 --- a/source/source_lcao/module_deepks/LCAO_deepks.cpp +++ b/source/source_lcao/module_deepks/LCAO_deepks.cpp @@ -20,7 +20,7 @@ template LCAO_Deepks::LCAO_Deepks() { - inl_index = new ModuleBase::IntArray[1]; + deepks_param.inl_index = new ModuleBase::IntArray[1]; gedm = nullptr; this->phialpha.resize(1); } @@ -29,7 +29,7 @@ LCAO_Deepks::LCAO_Deepks() template LCAO_Deepks::~LCAO_Deepks() { - delete[] inl_index; + delete[] deepks_param.inl_index; //=======1. to use deepks, pdm is required========== pdm.clear(); @@ -38,7 +38,7 @@ LCAO_Deepks::~LCAO_Deepks() if (gedm) { // delete gedm** - for (int inl = 0; inl < this->inlmax; inl++) + for (int inl = 0; inl < this->deepks_param.inlmax; inl++) { delete[] gedm[inl]; } @@ -75,25 +75,25 @@ void LCAO_Deepks::init(const LCAO_Orbitals& orb, tot_inl = nat; } - this->lmaxd = lm; - this->nmaxd = nm; + this->deepks_param.lmaxd = lm; + this->deepks_param.nmaxd = nm; - ofs << " lmax of descriptor = " << this->lmaxd << std::endl; - ofs << " nmax of descriptor = " << nmaxd << std::endl; + ofs << " lmax of descriptor = " << deepks_param.lmaxd << std::endl; + ofs << " nmax of descriptor = " << deepks_param.nmaxd << std::endl; int pdm_size = 0; - this->inlmax = tot_inl; - this->pdm.resize(this->inlmax); + this->deepks_param.inlmax = tot_inl; + this->pdm.resize(this->deepks_param.inlmax); // cal n(descriptor) per atom , related to Lmax, nchi(L) and m. (not total_nchi!) if (!PARAM.inp.deepks_equiv) { - this->des_per_atom = 0; // mohan add 2021-04-21 - for (int l = 0; l <= this->lmaxd; l++) + this->deepks_param.des_per_atom = 0; // mohan add 2021-04-21 + for (int l = 0; l <= deepks_param.lmaxd; l++) { - this->des_per_atom += orb.Alpha[0].getNchi(l) * (2 * l + 1); + this->deepks_param.des_per_atom += orb.Alpha[0].getNchi(l) * (2 * l + 1); } - this->n_descriptor = nat * this->des_per_atom; + this->deepks_param.n_descriptor = nat * this->deepks_param.des_per_atom; this->init_index(ntype, nat, na, tot_inl, orb, ofs); } @@ -103,21 +103,21 @@ void LCAO_Deepks::init(const LCAO_Orbitals& orb, ofs << " total basis (all atoms) for descriptor = " << std::endl; // init pdm - for (int inl = 0; inl < this->inlmax; inl++) + for (int inl = 0; inl < this->deepks_param.inlmax; inl++) { - int nm = 2 * inl2l[inl] + 1; + int nm = 2 * deepks_param.inl2l[inl] + 1; pdm_size += nm * nm; this->pdm[inl] = torch::zeros({nm, nm}, torch::kFloat64); } } else { - for (int il = 0; il < this->lmaxd + 1; il++) + for (int il = 0; il < this->deepks_param.lmaxd + 1; il++) { pdm_size += (2 * il + 1) * orb.Alpha[0].getNchi(il); } pdm_size = pdm_size * pdm_size; - this->des_per_atom = pdm_size; + this->deepks_param.des_per_atom = pdm_size; ofs << " Equivariant version, size of pdm matrices : " << pdm_size << std::endl; for (int iat = 0; iat < nat; iat++) { @@ -139,35 +139,35 @@ void LCAO_Deepks::init_index(const int ntype, const LCAO_Orbitals& orb, std::ofstream& ofs) { - delete[] this->inl_index; - this->inl_index = new ModuleBase::IntArray[ntype]; - this->inl2l.resize(this->inlmax, 0); + delete[] this->deepks_param.inl_index; + this->deepks_param.inl_index = new ModuleBase::IntArray[ntype]; + this->deepks_param.inl2l.resize(this->deepks_param.inlmax, 0); int inl = 0; int alpha = 0; for (int it = 0; it < ntype; it++) { - this->inl_index[it].create(na[it], this->lmaxd + 1, this->nmaxd); + this->deepks_param.inl_index[it].create(na[it], this->deepks_param.lmaxd + 1, this->deepks_param.nmaxd); ofs << " Type " << it + 1 << " number_of_atoms " << na[it] << std::endl; for (int ia = 0; ia < na[it]; ia++) { // alpha - for (int l = 0; l < this->lmaxd + 1; l++) + for (int l = 0; l < this->deepks_param.lmaxd + 1; l++) { for (int n = 0; n < orb.Alpha[0].getNchi(l); n++) { - this->inl_index[it](ia, l, n) = inl; - this->inl2l[inl] = l; + this->deepks_param.inl_index[it](ia, l, n) = inl; + this->deepks_param.inl2l[inl] = l; inl++; } } } // end ia } // end it assert(Total_nchi == inl); - ofs << " descriptors_per_atom " << this->des_per_atom << std::endl; - ofs << " total_descriptors " << this->n_descriptor << std::endl; + ofs << " descriptors_per_atom " << this->deepks_param.des_per_atom << std::endl; + ofs << " total_descriptors " << this->deepks_param.n_descriptor << std::endl; return; } @@ -189,15 +189,15 @@ void LCAO_Deepks::allocate_V_delta(const int nat, const int nks) int pdm_size = 0; if (!PARAM.inp.deepks_equiv) { - pdm_size = (this->lmaxd * 2 + 1) * (this->lmaxd * 2 + 1); + pdm_size = (this->deepks_param.lmaxd * 2 + 1) * (this->deepks_param.lmaxd * 2 + 1); } else { - pdm_size = this->des_per_atom; + pdm_size = this->deepks_param.des_per_atom; } - this->gedm = new double*[this->inlmax]; - for (int inl = 0; inl < this->inlmax; inl++) + this->gedm = new double*[this->deepks_param.inlmax]; + for (int inl = 0; inl < this->deepks_param.inlmax; inl++) { this->gedm[inl] = new double[pdm_size]; ModuleBase::GlobalFunc::ZEROS(this->gedm[inl], pdm_size); @@ -214,44 +214,41 @@ void LCAO_Deepks::init_DMR(const UnitCell& ucell, const Grid_Driver& GridD) { this->dm_r = new hamilt::HContainer(&pv); - DeePKS_domain::iterate_ad2( - ucell, - GridD, - orb, - false, // no trace_alpha - [&](const int iat, - const ModuleBase::Vector3& tau0, - const int ibt1, - const ModuleBase::Vector3& tau1, - const int start1, - const int nw1_tot, - ModuleBase::Vector3 dR1, - const int ibt2, - const ModuleBase::Vector3& tau2, - const int start2, - const int nw2_tot, - ModuleBase::Vector3 dR2) - { - auto row_indexes = pv.get_indexes_row(ibt1); - auto col_indexes = pv.get_indexes_col(ibt2); - if (row_indexes.size() * col_indexes.size() == 0) - { - return; // to next loop - } - - int dRx = 0; - int dRy = 0; - int dRz = 0; - if (std::is_same>::value) - { - dRx = (dR1 - dR2).x; - dRy = (dR1 - dR2).y; - dRz = (dR1 - dR2).z; - } - hamilt::AtomPair dm_pair(ibt1, ibt2, dRx, dRy, dRz, &pv); - this->dm_r->insert_pair(dm_pair); - } - ); + DeePKS_domain::iterate_ad2(ucell, + GridD, + orb, + false, // no trace_alpha + [&](const int iat, + const ModuleBase::Vector3& tau0, + const int ibt1, + const ModuleBase::Vector3& tau1, + const int start1, + const int nw1_tot, + ModuleBase::Vector3 dR1, + const int ibt2, + const ModuleBase::Vector3& tau2, + const int start2, + const int nw2_tot, + ModuleBase::Vector3 dR2) { + auto row_indexes = pv.get_indexes_row(ibt1); + auto col_indexes = pv.get_indexes_col(ibt2); + if (row_indexes.size() * col_indexes.size() == 0) + { + return; // to next loop + } + + int dRx = 0; + int dRy = 0; + int dRz = 0; + if (std::is_same>::value) + { + dRx = (dR1 - dR2).x; + dRy = (dR1 - dR2).y; + dRz = (dR1 - dR2).z; + } + hamilt::AtomPair dm_pair(ibt1, ibt2, dRx, dRy, dRz, &pv); + this->dm_r->insert_pair(dm_pair); + }); this->dm_r->allocate(nullptr, true); } diff --git a/source/source_lcao/module_deepks/LCAO_deepks.h b/source/source_lcao/module_deepks/LCAO_deepks.h index 5f2efac8d8..bb98f75a4b 100644 --- a/source/source_lcao/module_deepks/LCAO_deepks.h +++ b/source/source_lcao/module_deepks/LCAO_deepks.h @@ -10,6 +10,7 @@ #include "deepks_fpre.h" #include "deepks_orbital.h" #include "deepks_orbpre.h" +#include "deepks_param.h" #include "deepks_pdm.h" #include "deepks_phialpha.h" #include "deepks_spre.h" @@ -24,7 +25,6 @@ #include "source_basis/module_nao/two_center_integrator.h" #include "source_cell/module_neighbor/sltk_grid_driver.h" #include "source_lcao/module_hcontainer/hcontainer.h" -#include "source_io/winput.h" #include #include @@ -68,14 +68,8 @@ class LCAO_Deepks // private variables //------------------- // private: - public: // change to public to reconstuct the code, 2024-07-22 by mohan - int lmaxd = 0; // max l of descirptors - int nmaxd = 0; //#. descriptors per l - int inlmax = 0; // tot. number {i,n,l} - atom, n, l - int n_descriptor; // natoms * des_per_atom, size of descriptor(projector) basis set - int des_per_atom; // \sum_L{Nchi(L)*(2L+1)} - std::vector inl2l; // inl2l[inl] = inl2l[nl] = l (not related to iat) of descriptor with inl_index - ModuleBase::IntArray* inl_index; // caoyu add 2021-05-07 + public: // change to public to reconstuct the code, 2024-07-22 by mohan + DeePKS_Param deepks_param; // parameters for DeePKS bool init_pdm = false; // for DeePKS NSCF calculation, set init_pdm to skip the calculation of pdm in SCF iteration diff --git a/source/source_lcao/module_deepks/LCAO_deepks_interface.cpp b/source/source_lcao/module_deepks/LCAO_deepks_interface.cpp index d2bfe71d14..1d68dbc603 100644 --- a/source/source_lcao/module_deepks/LCAO_deepks_interface.cpp +++ b/source/source_lcao/module_deepks/LCAO_deepks_interface.cpp @@ -2,12 +2,13 @@ #include "LCAO_deepks_interface.h" #include "LCAO_deepks_io.h" // mohan add 2024-07-22 +#include "source_base/global_variable.h" +#include "source_base/tool_title.h" #include "source_estate/cal_dm.h" +#include "source_io/module_parameter/parameter.h" #include "source_lcao/module_hcontainer/hcontainer.h" +#include "source_lcao/module_hcontainer/hcontainer_funcs.h" #include "source_lcao/module_hcontainer/output_hcontainer.h" -#include "source_io/module_parameter/parameter.h" -#include "source_base/global_variable.h" -#include "source_base/tool_title.h" #include @@ -17,15 +18,10 @@ LCAO_Deepks_Interface::LCAO_Deepks_Interface(std::shared_ptr file_type_map = { - {"etot", "energy"}, - {"ftot", "force"}, - {"stot", "stress"}, - {"otot", "orbital"}, - {"htot", "hamiltonian"} - }; + static const std::unordered_map file_type_map + = {{"etot", "energy"}, {"ftot", "force"}, {"stot", "stress"}, {"otot", "orbital"}, {"htot", "hamiltonian"}}; auto it = file_type_map.find(file_type); return it != file_type_map.end() ? it->second : file_type; @@ -33,13 +29,14 @@ std::string true_file_type(const std::string& file_type) // global_out_dir/deepks_*.npy for iter=-1 (called in after_scf) // global_out_dir/DeePKS_Labels_Elec/*_e*.npy for iter>0 (called during electronic steps) -std::string get_filename(const std::string& file_type, - const int& label_type, - const int& iter) +template +std::string LCAO_Deepks_Interface::get_filename(const std::string& file_type, + const int& label_type, + const int& iter) { std::ostringstream file_name; file_name << (iter == -1 ? PARAM.globalv.global_out_dir : PARAM.globalv.global_deepks_label_elec_dir); - if (iter == -1) + if (iter == -1) { file_name << "deepks_"; } @@ -80,28 +77,32 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, using TH = std::conditional_t::value, ModuleBase::matrix, ModuleBase::ComplexMatrix>; // These variables are frequently used in the following code - const int nlmax = orb.Alpha[0].getTotal_nchi(); - const int inlmax = nlmax * nat; - const int lmaxd = orb.get_lmax_d(); - const int nmaxd = ld->nmaxd; - - const int des_per_atom = ld->des_per_atom; - const std::vector inl2l = ld->inl2l; - const ModuleBase::IntArray* inl_index = ld->inl_index; const std::vector*> phialpha = ld->phialpha; + const DeePKS_Param& deepks_param = ld->deepks_param; + std::vector pdm = ld->pdm; bool init_pdm = ld->init_pdm; double E_delta = ld->E_delta; double e_delta_band = ld->e_delta_band; hamilt::HContainer* dmr = ld->dm_r; + // Used for deepks_bandgap == 1 and deepks_v_delta > 0 + std::vector>* h_delta = &ld->V_delta; const int nspin = PARAM.inp.nspin; const int nk = nks / nspin; - const bool not_first_step = (iter != 1); // not output in the first electronic step, for energy and otot/obase - const bool not_last_step = (iter == -1) || !conv_esolver; //not output in the last electronic step const bool is_after_scf = (iter == -1); // called in after_scf, not in electronic steps + const bool output_base + = PARAM.inp.deepks_out_labels == 1 + && is_after_scf; // not output when deepks_out_labels=2 and in electronic step (output true base elsewhere) + const bool output_precalc + = (PARAM.inp.deepks_out_labels == 1) && (PARAM.inp.deepks_scf || PARAM.inp.deepks_out_freq_elec); + + //================================================================================ + // 1. Update real-space density matrix (DMR) for deepks, projected density matrix (PDM) + // and descriptor. Output descriptor if needed. + //================================================================================ // Update DMR in any case of deepks_out_labels/deepks_scf DeePKS_domain::update_dmr(kvec_d, dm->get_DMK_vector(), ucell, orb, *ParaV, GridD, dmr); @@ -112,36 +113,21 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, { // this part is for integrated test of deepks // so it is printed no matter even if deepks_out_labels is not used - DeePKS_domain::cal_pdm< - TK>(init_pdm, inlmax, lmaxd, inl2l, inl_index, kvec_d, dmr, phialpha, ucell, orb, GridD, *ParaV, pdm); + DeePKS_domain::cal_pdm(init_pdm, deepks_param, kvec_d, dmr, phialpha, ucell, orb, GridD, *ParaV, pdm); - DeePKS_domain::check_pdm(inlmax, inl2l, pdm); // print out the projected dm for NSCF calculaiton + DeePKS_domain::check_pdm(deepks_param, pdm); // print out the projected dm for NSCF calculaiton std::vector descriptor; - DeePKS_domain::cal_descriptor(nat, inlmax, inl2l, pdm, descriptor, - des_per_atom); // final descriptor - DeePKS_domain::check_descriptor(inlmax, - des_per_atom, - inl2l, - ucell, - PARAM.globalv.global_out_dir, - descriptor, - rank); - - if ( not_last_step ) - { - const int true_iter = is_after_scf ? iter : iter + 1; - const std::string file_d = get_filename("dm_eig", PARAM.inp.deepks_out_labels, true_iter); - LCAO_deepks_io::save_npy_d(nat, - des_per_atom, - inlmax, - inl2l, - PARAM.inp.deepks_equiv, - descriptor, - file_d, - rank); // libnpy needed - } + DeePKS_domain::cal_descriptor(nat, deepks_param, pdm, descriptor); // final descriptor + DeePKS_domain::check_descriptor(deepks_param, ucell, PARAM.globalv.global_out_dir, descriptor, rank); + const std::string file_d = get_filename("dm_eig", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_npy_d(nat, + PARAM.inp.deepks_equiv, + deepks_param, + descriptor, + file_d, + rank); // libnpy needed if (PARAM.inp.deepks_scf) { @@ -149,68 +135,108 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, // new gedm is also useful in cal_f_delta, so it should be ld->gedm if (PARAM.inp.deepks_equiv) { - DeePKS_domain::cal_edelta_gedm_equiv(nat, - lmaxd, - nmaxd, - inlmax, - des_per_atom, - inl2l, - descriptor, - ld->gedm, - E_delta, - rank); + DeePKS_domain::cal_edelta_gedm_equiv(nat, deepks_param, descriptor, ld->gedm, E_delta, rank); } else { - DeePKS_domain::cal_edelta_gedm(nat, - inlmax, - des_per_atom, - inl2l, - descriptor, - pdm, - ld->model_deepks, - ld->gedm, - E_delta); + DeePKS_domain::cal_edelta_gedm(nat, deepks_param, descriptor, pdm, ld->model_deepks, ld->gedm, E_delta); } } } - // Used for deepks_bandgap == 1 and deepks_v_delta > 0 - std::vector>* h_delta = &ld->V_delta; - // calculating deepks correction and save the results if (PARAM.inp.deepks_out_labels) { // Used for deepks_scf == 1 or deepks_out_freq_elec!=0, for *precalc items, not for deepks_out_labels=2 std::vector gevdm; - if ((PARAM.inp.deepks_scf || PARAM.inp.deepks_out_freq_elec) && PARAM.inp.deepks_out_labels !=2 ) + if (output_precalc) { - DeePKS_domain::cal_gevdm(nat, inlmax, inl2l, pdm, gevdm); + DeePKS_domain::cal_gevdm(nat, deepks_param, pdm, gevdm); } - if ( not_first_step) + //================================================================================ + // 2. Energy + //================================================================================ + + // etot + const std::string file_etot = get_filename("etot", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_npy_e(etot, file_etot, rank); + + // ebase + if (output_base) { - // Energy Part - const std::string file_etot = get_filename("etot", PARAM.inp.deepks_out_labels, iter); - LCAO_deepks_io::save_npy_e(etot, file_etot, rank); + const std::string file_ebase = get_filename("ebase", PARAM.inp.deepks_out_labels, iter); + if (PARAM.inp.deepks_scf) + { + /// ebase :no deepks E_delta including + LCAO_deepks_io::save_npy_e(etot - E_delta, file_ebase, rank); + } + else // deepks_scf = 0; base calculation + { + /// no scf, e_tot=e_base + LCAO_deepks_io::save_npy_e(etot, file_ebase, rank); + } + } + + //================================================================================ + // 3. Force and Stress + //================================================================================ - if (PARAM.inp.deepks_out_labels == 1) + if (is_after_scf) + { + // Force Part + if (PARAM.inp.cal_force) { - const std::string file_ebase = get_filename("ebase", PARAM.inp.deepks_out_labels, iter); - if (PARAM.inp.deepks_scf) + // these items are not related to model, so can output without deepks_scf + if (output_precalc // don't need these when deepks_out_labels == 2 + && !PARAM.inp.deepks_equiv) // training with force label not supported by equivariant version now { - /// ebase :no deepks E_delta including - LCAO_deepks_io::save_npy_e(etot - E_delta, file_ebase, rank); + torch::Tensor gdmx; + DeePKS_domain::cal_gdmx< + TK>(nks, deepks_param, kvec_d, phialpha, dmr, ucell, orb, *ParaV, GridD, gdmx); + + torch::Tensor gvx; + DeePKS_domain::cal_gvx(ucell.nat, deepks_param, gevdm, gdmx, gvx, rank); + const std::string file_gradvx = get_filename("gradvx", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_tensor2npy(file_gradvx, gvx, rank); + + if (PARAM.inp.deepks_out_unittest) + { + DeePKS_domain::check_tensor(gdmx, "gdmx.dat", rank); + DeePKS_domain::check_tensor(gvx, "gvx.dat", rank); + } } - else // deepks_scf = 0; base calculation + } + + // Stress Part + if (PARAM.inp.cal_stress) + { + // these items are not related to model, so can output without deepks_scf + if (output_precalc // don't need these when deepks_out_labels == 2 + && !PARAM.inp.deepks_equiv) // training with stress label not supported by equivariant version now { - /// no scf, e_tot=e_base - LCAO_deepks_io::save_npy_e(etot, file_ebase, rank); + torch::Tensor gdmepsl; + DeePKS_domain::cal_gdmepsl< + TK>(nks, deepks_param, kvec_d, phialpha, dmr, ucell, orb, *ParaV, GridD, gdmepsl); + + torch::Tensor gvepsl; + DeePKS_domain::cal_gvepsl(ucell.nat, deepks_param, gevdm, gdmepsl, gvepsl, rank); + const std::string file_gvepsl = get_filename("gvepsl", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_tensor2npy(file_gvepsl, gvepsl, rank); + + if (PARAM.inp.deepks_out_unittest) + { + DeePKS_domain::check_tensor(gdmepsl, "gdmepsl.dat", rank); + DeePKS_domain::check_tensor(gvepsl, "gvepsl.dat", rank); + } } - } + } } - // Bandgap Part + //================================================================================ + // 4. Bandgap + //================================================================================ + if (PARAM.inp.deepks_bandgap > 0) { // Get the number of the occupied bands @@ -244,188 +270,132 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, // Calculate the bandgap for each k point ModuleBase::matrix o_tot(nks, range); - if ( not_first_step) + if (nocc + PARAM.inp.deepks_band_range[0] < 0 || nocc + PARAM.inp.deepks_band_range[1] >= ekb.nc) { - for (int iks = 0; iks < nks; ++iks) + ModuleBase::WARNING_QUIT( + "out_deepks_labels", + "DeePKS band index out of range! Please check if `deepks_band_range` is reasonable!"); + } + for (int iks = 0; iks < nks; ++iks) + { + int ib = 0; + if (PARAM.inp.deepks_bandgap == 1 || PARAM.inp.deepks_bandgap == 3) { - int ib = 0; - if (PARAM.inp.deepks_bandgap == 1 || PARAM.inp.deepks_bandgap == 3) - { - o_tot(iks, ib) = ekb(iks, nocc + PARAM.inp.deepks_band_range[1]) - - ekb(iks, nocc + PARAM.inp.deepks_band_range[0]); - } - else if (PARAM.inp.deepks_bandgap == 2) + o_tot(iks, ib) = ekb(iks, nocc + PARAM.inp.deepks_band_range[1]) + - ekb(iks, nocc + PARAM.inp.deepks_band_range[0]); + } + else if (PARAM.inp.deepks_bandgap == 2) + { + for (int ir = PARAM.inp.deepks_band_range[0]; ir <= PARAM.inp.deepks_band_range[1]; ++ir) { - for (int ir = PARAM.inp.deepks_band_range[0]; ir <= PARAM.inp.deepks_band_range[1]; ++ir) + if (ir != -1) { - if (ir != -1) - { - o_tot(iks, ib) = ekb(iks, nocc + ir) - ekb(iks, nocc - 1); - ib++; - } + o_tot(iks, ib) = ekb(iks, nocc + ir) - ekb(iks, nocc - 1); + ib++; } - assert(ib == range); // ensure that we have filled all the bandgap values } + assert(ib == range); // ensure that we have filled all the bandgap values } - - const std::string file_otot = get_filename("otot", PARAM.inp.deepks_out_labels, iter); - LCAO_deepks_io::save_matrix2npy(file_otot, o_tot, rank); // Unit: Hartree } + const std::string file_otot = get_filename("otot", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_matrix2npy(file_otot, o_tot, rank); // Unit: Hartree - if (PARAM.inp.deepks_out_labels == 1) // don't need these when deepks_out_labels == 2 + // don't need these when deepks_out_labels == 2 + // not consider out_base now, because bandgap is not supported in deepks_out_freq_elec now + if (output_precalc) { - if (PARAM.inp.deepks_scf || PARAM.inp.deepks_out_freq_elec) + std::vector wg_hl_range(range); + for (int ir = 0; ir < range; ++ir) + { + wg_hl_range[ir].create(nks, PARAM.inp.nbands); + wg_hl_range[ir].zero_out(); + } + + // Calculate O_delta + for (int iks = 0; iks < nks; ++iks) { - std::vector wg_hl_range(range); - for (int ir = 0; ir < range; ++ir) + int ib = 0; + if (PARAM.inp.deepks_bandgap == 1 || PARAM.inp.deepks_bandgap == 3) { - wg_hl_range[ir].create(nks, PARAM.inp.nbands); - wg_hl_range[ir].zero_out(); + wg_hl_range[ib](iks, nocc + PARAM.inp.deepks_band_range[0]) = -1.0; + wg_hl_range[ib](iks, nocc + PARAM.inp.deepks_band_range[1]) = 1.0; } - - // Calculate O_delta - for (int iks = 0; iks < nks; ++iks) + else if (PARAM.inp.deepks_bandgap == 2) { - int ib = 0; - if (PARAM.inp.deepks_bandgap == 1 || PARAM.inp.deepks_bandgap == 3) - { - wg_hl_range[ib](iks, nocc + PARAM.inp.deepks_band_range[0]) = -1.0; - wg_hl_range[ib](iks, nocc + PARAM.inp.deepks_band_range[1]) = 1.0; - } - else if (PARAM.inp.deepks_bandgap == 2) + for (int ir = PARAM.inp.deepks_band_range[0]; ir <= PARAM.inp.deepks_band_range[1]; ++ir) { - for (int ir = PARAM.inp.deepks_band_range[0]; ir <= PARAM.inp.deepks_band_range[1]; ++ir) + if (ir != -1) { - if (ir != -1) - { - wg_hl_range[ib](iks, nocc - 1) = -1.0; - wg_hl_range[ib](iks, nocc + ir) = 1.0; - ib++; - } + wg_hl_range[ib](iks, nocc - 1) = -1.0; + wg_hl_range[ib](iks, nocc + ir) = 1.0; + ib++; } } } + } - ModuleBase::matrix o_delta(nks, range); - torch::Tensor orbital_precalc; - for (int ir = 0; ir < range; ++ir) + ModuleBase::matrix o_delta(nks, range); + torch::Tensor orbital_precalc; + for (int ir = 0; ir < range; ++ir) + { + std::vector dm_bandgap(nks); + elecstate::cal_dm(ParaV, wg_hl_range[ir], psi, dm_bandgap); + + torch::Tensor orbital_precalc_temp; + ModuleBase::matrix o_delta_temp(nks, 1); + DeePKS_domain::cal_orbital_precalc(dm_bandgap, + nat, + nks, + deepks_param, + kvec_d, + phialpha, + gevdm, + ucell, + orb, + *ParaV, + GridD, + orbital_precalc_temp); + if (ir == 0) { - std::vector dm_bandgap(nks); - elecstate::cal_dm(ParaV, wg_hl_range[ir], psi, dm_bandgap); - - torch::Tensor orbital_precalc_temp; - ModuleBase::matrix o_delta_temp(nks, 1); - DeePKS_domain::cal_orbital_precalc(dm_bandgap, - lmaxd, - inlmax, - nat, - nks, - inl2l, - kvec_d, - phialpha, - gevdm, - inl_index, - ucell, - orb, - *ParaV, - GridD, - orbital_precalc_temp); - if (ir == 0) - { - orbital_precalc = orbital_precalc_temp; - } - else - { - orbital_precalc = torch::cat({orbital_precalc, orbital_precalc_temp}, 0); - } - - if (PARAM.inp.deepks_scf) - { - DeePKS_domain::cal_o_delta(dm_bandgap, *h_delta, o_delta_temp, *ParaV, nks, nspin); - for (int iks = 0; iks < nks; ++iks) - { - o_delta(iks, ir) = o_delta_temp(iks, 0); - } - } + orbital_precalc = orbital_precalc_temp; } - // save obase and orbital_precalc - if ( not_last_step ) + else { - const int true_iter = (iter == -1) ? iter : iter + 1; - const std::string file_orbpre = get_filename("orbpre", PARAM.inp.deepks_out_labels, true_iter); - LCAO_deepks_io::save_tensor2npy(file_orbpre, orbital_precalc, rank); + orbital_precalc = torch::cat({orbital_precalc, orbital_precalc_temp}, 0); } - if ( not_first_step) + if (PARAM.inp.deepks_scf) { - if (PARAM.inp.deepks_scf) + DeePKS_domain::cal_o_delta(dm_bandgap, *h_delta, o_delta_temp, *ParaV, nks, nspin); + for (int iks = 0; iks < nks; ++iks) { - const std::string file_obase = get_filename("obase", PARAM.inp.deepks_out_labels, iter); - LCAO_deepks_io::save_matrix2npy(file_obase, o_tot - o_delta, rank); // Unit: Hartree + o_delta(iks, ir) = o_delta_temp(iks, 0); } - else - { - const std::string file_obase = get_filename("obase", PARAM.inp.deepks_out_labels, iter); - LCAO_deepks_io::save_matrix2npy(file_obase, o_tot, rank); // no scf, o_tot=o_base - } } } - } // end deepks_out_labels == 1 - } // end deepks_bandgap > 0 - - if ( is_after_scf ) - { - // Force Part - if (PARAM.inp.cal_force) - { - // these items are not related to model, so can output without deepks_scf - if (PARAM.inp.deepks_out_labels == 1 // don't need these when deepks_out_labels == 2 - && !PARAM.inp.deepks_equiv) // training with force label not supported by equivariant version now - { - torch::Tensor gdmx; - DeePKS_domain::cal_gdmx< - TK>(lmaxd, inlmax, nks, kvec_d, phialpha, inl_index, dmr, ucell, orb, *ParaV, GridD, gdmx); + // save obase and orbital_precalc + const std::string file_orbpre = get_filename("orbpre", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_tensor2npy(file_orbpre, orbital_precalc, rank); - torch::Tensor gvx; - DeePKS_domain::cal_gvx(ucell.nat, inlmax, des_per_atom, inl2l, gevdm, gdmx, gvx, rank); - const std::string file_gradvx = get_filename("gradvx", PARAM.inp.deepks_out_labels, iter); - LCAO_deepks_io::save_tensor2npy(file_gradvx, gvx, rank); - - if (PARAM.inp.deepks_out_unittest) - { - DeePKS_domain::check_tensor(gdmx, "gdmx.dat", rank); - DeePKS_domain::check_tensor(gvx, "gvx.dat", rank); - } + if (PARAM.inp.deepks_scf) + { + const std::string file_obase = get_filename("obase", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_matrix2npy(file_obase, o_tot - o_delta, rank); // Unit: Hartree } - } - - // Stress Part - if (PARAM.inp.cal_stress) - { - // these items are not related to model, so can output without deepks_scf - if (PARAM.inp.deepks_out_labels == 1 // don't need these when deepks_out_labels == 2 - && !PARAM.inp.deepks_equiv) // training with stress label not supported by equivariant version now + else { - torch::Tensor gdmepsl; - DeePKS_domain::cal_gdmepsl< - TK>(lmaxd, inlmax, nks, kvec_d, phialpha, inl_index, dmr, ucell, orb, *ParaV, GridD, gdmepsl); - - torch::Tensor gvepsl; - DeePKS_domain::cal_gvepsl(ucell.nat, inlmax, des_per_atom, inl2l, gevdm, gdmepsl, gvepsl, rank); - const std::string file_gvepsl = get_filename("gvepsl", PARAM.inp.deepks_out_labels, iter); - LCAO_deepks_io::save_tensor2npy(file_gvepsl, gvepsl, rank); - - if (PARAM.inp.deepks_out_unittest) - { - DeePKS_domain::check_tensor(gdmepsl, "gdmepsl.dat", rank); - DeePKS_domain::check_tensor(gvepsl, "gvepsl.dat", rank); - } + const std::string file_obase = get_filename("obase", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_matrix2npy(file_obase, o_tot, rank); // no scf, o_tot=o_base } - } - - + } // end out_precalc + } // end deepks_bandgap > 0 + //================================================================================ + // 5. HR + //================================================================================ + if (is_after_scf) + { // not add deepks_out_labels = 2 and deepks_out_freq_elec for HR yet // H(R) matrix part, for HR, base will not be calculated since they are HContainer objects if (PARAM.inp.deepks_v_delta < 0) @@ -435,15 +405,26 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, const int precision = 8; const std::string file_hrtot = PARAM.globalv.global_out_dir - + (PARAM.inp.deepks_out_labels == 1 ? "deepks_hrtot.csr" : "deepks_hamiltonian_r.csr"); + + (PARAM.inp.deepks_out_labels == 1 ? "deepks_hrtot.csr" : "deepks_hamiltonian_r.csr"); hamilt::HContainer* hR_tot = (p_ham->getHR()); + const int nbasis = hR_tot->get_nbasis(); +#ifdef __MPI + Parallel_Orbitals serialV; + serialV.init(nbasis, nbasis, nbasis, ParaV->comm()); + serialV.set_serial(nbasis, nbasis); + serialV.set_atomic_trace(ucell.get_iat2iwt(), ucell.nat, nbasis); + hamilt::HContainer hR_serial(&serialV); + hamilt::gatherParallels(*hR_tot, &hR_serial, 0); +#else + hamilt::HContainer hR_serial(*hR_tot); +#endif if (rank == 0) { std::ofstream ofs_hr(file_hrtot, std::ios::out); - ofs_hr << "Matrix Dimension of H(R): " << hR_tot->get_nbasis() << std::endl; + ofs_hr << "Matrix Dimension of H(R): " << nbasis << std::endl; ofs_hr << "Matrix number of H(R): " << hR_tot->size_R_loop() << std::endl; - hamilt::Output_HContainer out_hr(hR_tot, ofs_hr, sparse_threshold, precision); + hamilt::Output_HContainer out_hr(&hR_serial, ofs_hr, sparse_threshold, precision); out_hr.write(true); // write all the matrices, including empty ones ofs_hr.close(); } @@ -455,12 +436,18 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, const std::string file_vdeltar = PARAM.globalv.global_out_dir + "deepks_hrdelta.csr"; hamilt::HContainer* h_deltaR = p_ham->get_V_delta_R(); +#ifdef __MPI + hamilt::HContainer h_deltaR_serial(&serialV); + hamilt::gatherParallels(*h_deltaR, &h_deltaR_serial, 0); +#else + hamilt::HContainer h_deltaR_serial(*h_deltaR); +#endif if (rank == 0) { std::ofstream ofs_hr(file_vdeltar, std::ios::out); ofs_hr << "Matrix Dimension of H_delta(R): " << h_deltaR->get_nbasis() << std::endl; ofs_hr << "Matrix number of H_delta(R): " << h_deltaR->size_R_loop() << std::endl; - hamilt::Output_HContainer out_hr(h_deltaR, ofs_hr, sparse_threshold, precision); + hamilt::Output_HContainer out_hr(&h_deltaR_serial, ofs_hr, sparse_threshold, precision); out_hr.write(true); // write all the matrices, including empty ones ofs_hr.close(); } @@ -470,152 +457,149 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, int R_size = DeePKS_domain::get_R_size(*h_deltaR); torch::Tensor vdr_precalc; DeePKS_domain::cal_vdr_precalc(nlocal, - lmaxd, - inlmax, - nat, - nks, - R_size, - inl2l, - kvec_d, - phialpha, - gevdm, - inl_index, - ucell, - orb, - *ParaV, - GridD, - vdr_precalc); + nat, + nks, + R_size, + deepks_param, + kvec_d, + phialpha, + gevdm, + ucell, + orb, + *ParaV, + GridD, + vdr_precalc); const std::string file_vdrpre = PARAM.globalv.global_out_dir + "deepks_vdrpre.npy"; LCAO_deepks_io::save_tensor2npy(file_vdrpre, vdr_precalc, rank); } else if (PARAM.inp.deepks_v_delta == -2) { - int R_size = DeePKS_domain::get_R_size(*h_deltaR); - torch::Tensor phialpha_r_out; - DeePKS_domain::prepare_phialpha_r(nlocal, - lmaxd, - inlmax, - nat, - R_size, - phialpha, - ucell, - orb, - *ParaV, - GridD, - phialpha_r_out); - const std::string file_phialpha_r = PARAM.globalv.global_out_dir + "deepks_phialpha_r.npy"; - LCAO_deepks_io::save_tensor2npy(file_phialpha_r, phialpha_r_out, rank); - torch::Tensor gevdm_out; - DeePKS_domain::prepare_gevdm(nat, lmaxd, inlmax, orb, gevdm, gevdm_out); + DeePKS_domain::prepare_gevdm(nat, deepks_param, orb, gevdm, gevdm_out); const std::string file_gevdm = PARAM.globalv.global_out_dir + "deepks_gevdm.npy"; LCAO_deepks_io::save_tensor2npy(file_gevdm, gevdm_out, rank); + + int R_size = DeePKS_domain::get_R_size(*h_deltaR); + torch::Tensor overlap_out; + torch::Tensor iRmat; + DeePKS_domain::prepare_phialpha_iRmat(nlocal, R_size, deepks_param, phialpha, ucell, orb, GridD, overlap_out, iRmat); + const std::string file_overlap = PARAM.globalv.global_out_dir + "deepks_phialpha_r.npy"; + LCAO_deepks_io::save_tensor2npy(file_overlap, overlap_out, rank); + const std::string file_iRmat = PARAM.globalv.global_out_dir + "deepks_iRmat.npy"; + LCAO_deepks_io::save_tensor2npy(file_iRmat, iRmat, rank); } } } - } + } } - if ( not_last_step ) + //================================================================================ + // 6. Hk + //================================================================================ + + if (PARAM.inp.deepks_v_delta > 0) { - const int true_iter = is_after_scf ? iter : iter + 1; - // H(k) matrix part - if (PARAM.inp.deepks_v_delta > 0) - { - std::vector h_tot(nks); - DeePKS_domain::get_h_tot(*ParaV, p_ham, h_tot, nlocal, nks, 'H'); + std::vector h_tot(nks); + DeePKS_domain::get_h_tot(*ParaV, p_ham, h_tot, nlocal, nks, 'H'); - const std::string file_htot = get_filename("htot", PARAM.inp.deepks_out_labels, true_iter); - LCAO_deepks_io::save_npy_h(h_tot, file_htot, nlocal, nks, rank); + const std::string file_htot = get_filename("htot", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_npy_h(h_tot, file_htot, nlocal, nks, rank); - if (PARAM.inp.deepks_out_labels == 1) // don't need these when deepks_out_labels == 2 + if (output_base) + { + if (PARAM.inp.deepks_scf) { - if (PARAM.inp.deepks_scf || PARAM.inp.deepks_out_freq_elec) + std::vector v_delta(nks); + std::vector h_base(nks); + for (int ik = 0; ik < nks; ik++) { - if (PARAM.inp.deepks_scf) - { - std::vector v_delta(nks); - std::vector h_base(nks); - for (int ik = 0; ik < nks; ik++) - { - v_delta[ik].create(nlocal, nlocal); - h_base[ik].create(nlocal, nlocal); - } - DeePKS_domain::collect_h_mat(*ParaV, *h_delta, v_delta, nlocal, nks); - - // save v_delta and h_base - const std::string file_hbase = get_filename("hbase", PARAM.inp.deepks_out_labels, true_iter); - for (int ik = 0; ik < nks; ik++) - { - h_base[ik] = h_tot[ik] - v_delta[ik]; - } - LCAO_deepks_io::save_npy_h(h_base, file_hbase, nlocal, nks, rank); + v_delta[ik].create(nlocal, nlocal); + h_base[ik].create(nlocal, nlocal); + } + DeePKS_domain::collect_h_mat(*ParaV, *h_delta, v_delta, nlocal, nks); - const std::string file_vdelta = get_filename("vdelta", PARAM.inp.deepks_out_labels, true_iter); - LCAO_deepks_io::save_npy_h(v_delta, file_vdelta, nlocal, nks, rank); - } - else // deepks_scf == 0 - { - const std::string file_hbase = get_filename("hbase", PARAM.inp.deepks_out_labels, true_iter); - LCAO_deepks_io::save_npy_h(h_tot, file_hbase, nlocal, nks, rank); - } + // save v_delta and h_base + const std::string file_hbase = get_filename("hbase", PARAM.inp.deepks_out_labels, iter); + for (int ik = 0; ik < nks; ik++) + { + h_base[ik] = h_tot[ik] - v_delta[ik]; + } + LCAO_deepks_io::save_npy_h(h_base, file_hbase, nlocal, nks, rank); - if (PARAM.inp.deepks_v_delta == 1) // v_delta_precalc storage method 1 - { - torch::Tensor v_delta_precalc; - DeePKS_domain::cal_v_delta_precalc(nlocal, - lmaxd, - inlmax, - nat, - nks, - inl2l, - kvec_d, - phialpha, - gevdm, - inl_index, - ucell, - orb, - *ParaV, - GridD, - v_delta_precalc); - - const std::string file_vdpre = get_filename("vdpre", PARAM.inp.deepks_out_labels, true_iter); - LCAO_deepks_io::save_tensor2npy(file_vdpre, v_delta_precalc, rank); - } - else if (PARAM.inp.deepks_v_delta == 2) // v_delta_precalc storage method 2 - { - torch::Tensor phialpha_out; - DeePKS_domain::prepare_phialpha(nlocal, - lmaxd, - inlmax, - nat, - nks, - kvec_d, - phialpha, - ucell, - orb, - *ParaV, - GridD, - phialpha_out); - const std::string file_phialpha = get_filename("phialpha", PARAM.inp.deepks_out_labels, true_iter); - LCAO_deepks_io::save_tensor2npy(file_phialpha, phialpha_out, rank); + const std::string file_vdelta = get_filename("vdelta", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_npy_h(v_delta, file_vdelta, nlocal, nks, rank); + } + else // deepks_scf == 0 + { + const std::string file_hbase = get_filename("hbase", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_npy_h(h_tot, file_hbase, nlocal, nks, rank); + } + } - torch::Tensor gevdm_out; - DeePKS_domain::prepare_gevdm(nat, lmaxd, inlmax, orb, gevdm, gevdm_out); - const std::string file_gevdm = get_filename("gevdm", PARAM.inp.deepks_out_labels, true_iter); - LCAO_deepks_io::save_tensor2npy(file_gevdm, gevdm_out, rank); - } - } - } // end deepks_out_labels == 1 - } // end v_delta label - } + if (output_precalc) + { + if (PARAM.inp.deepks_v_delta == 1) // v_delta_precalc storage method 1 + { + torch::Tensor v_delta_precalc; + DeePKS_domain::cal_v_delta_precalc(nlocal, + nat, + nks, + deepks_param, + kvec_d, + phialpha, + gevdm, + ucell, + orb, + *ParaV, + GridD, + v_delta_precalc); + + const std::string file_vdpre = get_filename("vdpre", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_tensor2npy(file_vdpre, v_delta_precalc, rank); + } + else if (PARAM.inp.deepks_v_delta == 2) // v_delta_precalc storage method 2 + { + torch::Tensor phialpha_out; + DeePKS_domain::prepare_phialpha< + TK>(nlocal, nat, nks, deepks_param, kvec_d, phialpha, ucell, orb, *ParaV, GridD, phialpha_out); + const std::string file_phialpha = get_filename("phialpha", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_tensor2npy(file_phialpha, phialpha_out, rank); + + torch::Tensor gevdm_out; + DeePKS_domain::prepare_gevdm(nat, deepks_param, orb, gevdm, gevdm_out); + const std::string file_gevdm = get_filename("gevdm", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_tensor2npy(file_gevdm, gevdm_out, rank); + } + } + } // end v_delta label } // end deepks_out_labels - if (iter < 0)// only output when called in after_scf + //================================================================================ + // 7. atom.npy, box.npy, overlap.npy + //================================================================================ + + if (((PARAM.inp.deepks_out_labels == 2) && is_after_scf) + || (PARAM.inp.deepks_out_freq_elec)) // need overlap when deepks_out_freq_elec + { + if (PARAM.inp.deepks_v_delta > 0) + { + // prepare for overlap.npy, very much like h_tot except for p_ham->getSk() + std::vector s_tot(nks); + DeePKS_domain::get_h_tot(*ParaV, p_ham, s_tot, nlocal, nks, 'S'); + const std::string file_stot = get_filename("overlap", PARAM.inp.deepks_out_labels, iter); + LCAO_deepks_io::save_npy_h(s_tot, + file_stot, + nlocal, + nks, + rank, + 1.0); // don't need unit_scale for overlap + } + } + + if (is_after_scf) // don't need to output in multiple electronic steps { - // don't need to output in multiple electronic steps if (PARAM.inp.deepks_out_labels == 2) { // output atom.npy and box.npy @@ -628,22 +612,11 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, DeePKS_domain::prepare_box(ucell, box_out); const std::string file_box = PARAM.globalv.global_out_dir + "deepks_box.npy"; LCAO_deepks_io::save_tensor2npy(file_box, box_out, rank); - - if (PARAM.inp.deepks_v_delta > 0) - { - // prepare for overlap.npy, very much like h_tot except for p_ham->getSk() - std::vector s_tot(nks); - DeePKS_domain::get_h_tot(*ParaV, p_ham, s_tot, nlocal, nks, 'S'); - const std::string file_stot = PARAM.globalv.global_out_dir + "deepks_overlap.npy"; - LCAO_deepks_io::save_npy_h(s_tot, - file_stot, - nlocal, - nks, - rank, - 1.0); // don't need unit_scale for overlap - } } + //================================================================================ + // 8. print, unittest + //================================================================================ /// print out deepks information to the screen if (PARAM.inp.deepks_scf) { @@ -653,7 +626,8 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, ofs_running << " DeePKS Energy Correction" << std::endl; ofs_running << " -----------------------------------------------" << std::endl; ofs_running << " E_delta_band = " << std::setprecision(8) << e_delta_band << " Ry" - << " = " << std::setprecision(8) << e_delta_band * ModuleBase::Ry_to_eV << " eV" << std::endl; + << " = " << std::setprecision(8) << e_delta_band * ModuleBase::Ry_to_eV << " eV" + << std::endl; ofs_running << " E_delta_NN = " << std::setprecision(8) << E_delta << " Ry" << " = " << std::setprecision(8) << E_delta * ModuleBase::Ry_to_eV << " eV" << std::endl; ofs_running << " -----------------------------------------------" << std::endl; @@ -662,7 +636,7 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, { LCAO_deepks_io::print_dm(nks, PARAM.globalv.nlocal, ParaV->nrow, dm->get_DMK_vector()); - DeePKS_domain::check_gedm(inlmax, inl2l, ld->gedm); + DeePKS_domain::check_gedm(deepks_param, ld->gedm); std::ofstream ofs("E_delta_bands.dat"); ofs << std::setprecision(10) << e_delta_band; @@ -670,8 +644,8 @@ void LCAO_Deepks_Interface::out_deepks_labels(const double& etot, std::ofstream ofs1("E_delta.dat"); ofs1 << std::setprecision(10) << E_delta; } - } - } + } + } ModuleBase::timer::tick("LCAO_Deepks_Interface", "out_deepks_labels"); } diff --git a/source/source_lcao/module_deepks/LCAO_deepks_interface.h b/source/source_lcao/module_deepks/LCAO_deepks_interface.h index dab32855fb..bc60edab04 100644 --- a/source/source_lcao/module_deepks/LCAO_deepks_interface.h +++ b/source/source_lcao/module_deepks/LCAO_deepks_interface.h @@ -3,9 +3,9 @@ #ifdef __MLALGO #include "LCAO_deepks.h" -#include "source_lcao/hamilt_lcao.h" #include "source_base/complexmatrix.h" #include "source_base/matrix.h" +#include "source_lcao/hamilt_lcao.h" #include @@ -47,10 +47,17 @@ class LCAO_Deepks_Interface const elecstate::DensityMatrix* dm, hamilt::HamiltLCAO* p_ham, const int& iter, - const bool& conv_esolver, + const bool& conv_esolver, const int rank, std::ostream& ofs_running); + /// @brief Get the filename for deepks output files + /// @param file_type Type of the file (e.g., "etot", "ftot", etc.) + /// @param label_type Type of the label (from PARAM.inp.deepks_out_labels) + /// @param iter Iteration number (e.g., -1 for after_scf, or specific iteration number) + /// @return The full path to the output file + std::string get_filename(const std::string& file_type, const int& label_type, const int& iter); + private: std::shared_ptr> ld; }; diff --git a/source/source_lcao/module_deepks/LCAO_deepks_io.cpp b/source/source_lcao/module_deepks/LCAO_deepks_io.cpp index 9ade40e34a..12c38dfcf4 100644 --- a/source/source_lcao/module_deepks/LCAO_deepks_io.cpp +++ b/source/source_lcao/module_deepks/LCAO_deepks_io.cpp @@ -3,8 +3,8 @@ #ifdef __MLALGO #include "LCAO_deepks_io.h" -#include "source_base/tool_quit.h" #include "npy.hpp" +#include "source_base/tool_quit.h" #include @@ -75,10 +75,8 @@ void LCAO_deepks_io::load_npy_gedm(const int nat, // saves descriptor into dm_eig.npy void LCAO_deepks_io::save_npy_d(const int nat, - const int des_per_atom, - const int inlmax, - const std::vector& inl2l, const bool deepks_equiv, + const DeePKS_Param& deepks_param, const std::vector& descriptor, const std::string& dm_eig_file, const int rank) @@ -95,16 +93,17 @@ void LCAO_deepks_io::save_npy_d(const int nat, if (!deepks_equiv) { std::vector npy_des; - for (int inl = 0; inl < inlmax; ++inl) + for (int inl = 0; inl < deepks_param.inlmax; ++inl) { auto accessor = descriptor[inl].accessor(); - int nm = 2 * inl2l[inl] + 1; + int nm = 2 * deepks_param.inl2l[inl] + 1; for (int im = 0; im < nm; im++) { npy_des.push_back(accessor[im]); } } - const long unsigned dshape[] = {static_cast(nat), static_cast(des_per_atom)}; + const long unsigned dshape[] + = {static_cast(nat), static_cast(deepks_param.des_per_atom)}; if (rank == 0) { npy::SaveArrayAsNumpy(dm_eig_file, false, 2, dshape, npy_des); @@ -117,12 +116,13 @@ void LCAO_deepks_io::save_npy_d(const int nat, for (int iat = 0; iat < nat; iat++) { auto accessor = descriptor[iat].accessor(); - for (int i = 0; i < des_per_atom; i++) + for (int i = 0; i < deepks_param.des_per_atom; i++) { npy_des.push_back(accessor[i]); } } - const long unsigned dshape[] = {static_cast(nat), static_cast(des_per_atom)}; + const long unsigned dshape[] + = {static_cast(nat), static_cast(deepks_param.des_per_atom)}; if (rank == 0) { npy::SaveArrayAsNumpy(dm_eig_file, false, 2, dshape, npy_des); diff --git a/source/source_lcao/module_deepks/LCAO_deepks_io.h b/source/source_lcao/module_deepks/LCAO_deepks_io.h index ba53ce6388..46e9272508 100644 --- a/source/source_lcao/module_deepks/LCAO_deepks_io.h +++ b/source/source_lcao/module_deepks/LCAO_deepks_io.h @@ -3,6 +3,7 @@ #ifdef __MLALGO +#include "deepks_param.h" #include "source_base/complexmatrix.h" #include "source_base/matrix.h" #include "source_base/tool_title.h" @@ -44,10 +45,8 @@ void load_npy_gedm(const int nat, const int des_per_atom, double** gedm, double& /// save descriptor void save_npy_d(const int nat, - const int des_per_atom, - const int inlmax, - const std::vector& inl2l, const bool deepks_equiv, + const DeePKS_Param& deepks_param, const std::vector& descriptor, const std::string& dm_eig_file, const int rank); diff --git a/source/source_lcao/module_deepks/deepks_basic.cpp b/source/source_lcao/module_deepks/deepks_basic.cpp index fddd6c0bdd..aa1185a23b 100644 --- a/source/source_lcao/module_deepks/deepks_basic.cpp +++ b/source/source_lcao/module_deepks/deepks_basic.cpp @@ -9,29 +9,30 @@ #include "source_base/timer.h" #include "source_io/module_parameter/parameter.h" +#include // use system command + // d(Descriptor) / d(projected density matrix) // Dimension is different for each inl, so there's a vector of tensors void DeePKS_domain::cal_gevdm(const int nat, - const int inlmax, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& pdm, std::vector& gevdm) { ModuleBase::TITLE("DeePKS_domain", "cal_gevdm"); ModuleBase::timer::tick("DeePKS_domain", "cal_gevdm"); // cal gevdm(d(EigenValue(D))/dD) - int nlmax = inlmax / nat; + int nlmax = deepks_param.inlmax / nat; for (int nl = 0; nl < nlmax; ++nl) { std::vector avmmv; for (int iat = 0; iat < nat; ++iat) { int inl = iat * nlmax + nl; - int nm = 2 * inl2l[inl] + 1; + int nm = 2 * deepks_param.inl2l[inl] + 1; // repeat each block for nm times in an additional dimension torch::Tensor tmp_x = pdm[inl].reshape({nm, nm}).unsqueeze(0).repeat({nm, 1, 1}); // torch::Tensor tmp_y = std::get<0>(torch::symeig(tmp_x, true)); - torch::Tensor tmp_y = std::get<0>(torch::linalg::eigh(tmp_x, "U")); + torch::Tensor tmp_y = std::get<0>(torch::linalg_eigh(tmp_x, "U")); torch::Tensor tmp_yshell = torch::eye(nm, torch::TensorOptions().dtype(torch::kFloat64)); std::vector tmp_rpt; // repeated-pdm-tensor (x) std::vector tmp_rdt; // repeated-d-tensor (y) @@ -61,6 +62,15 @@ void DeePKS_domain::load_model(const std::string& model_file, torch::jit::script ModuleBase::TITLE("DeePKS_domain", "load_model"); ModuleBase::timer::tick("DeePKS_domain", "load_model"); + // check whether file exists + std::ifstream ifs(model_file.c_str()); + if (!ifs) + { + ModuleBase::timer::tick("DeePKS_domain", "load_model"); + ModuleBase::WARNING_QUIT("DeePKS_domain::load_model", "No model file named " + model_file + ", please check!"); + return; + } + ifs.close(); try { model = torch::jit::load(model_file); @@ -75,7 +85,7 @@ void DeePKS_domain::load_model(const std::string& model_file, torch::jit::script return; } -inline void generate_py_files(const int lmaxd, const int nmaxd, const std::string& out_dir) +inline void generate_py_files(const DeePKS_Param& deepks_param, const std::string& out_dir) { std::ofstream ofs("cal_edelta_gedm.py"); ofs << "import torch" << std::endl; @@ -107,14 +117,14 @@ inline void generate_py_files(const int lmaxd, const int nmaxd, const std::strin ofs.open("basis.yaml"); ofs << "proj_basis:" << std::endl; - for (int l = 0; l < lmaxd + 1; l++) + for (int l = 0; l < deepks_param.lmaxd + 1; l++) { ofs << " - - " << l << std::endl; ofs << " - ["; - for (int i = 0; i < nmaxd + 1; i++) + for (int i = 0; i < deepks_param.nmaxd + 1; i++) { ofs << "0"; - if (i != nmaxd) + if (i != deepks_param.nmaxd) { ofs << ", "; } @@ -124,11 +134,7 @@ inline void generate_py_files(const int lmaxd, const int nmaxd, const std::strin } void DeePKS_domain::cal_edelta_gedm_equiv(const int nat, - const int lmaxd, - const int nmaxd, - const int inlmax, - const int des_per_atom, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& descriptor, double** gedm, double& E_delta, @@ -137,19 +143,13 @@ void DeePKS_domain::cal_edelta_gedm_equiv(const int nat, ModuleBase::TITLE("DeePKS_domain", "cal_edelta_gedm_equiv"); ModuleBase::timer::tick("DeePKS_domain", "cal_edelta_gedm_equiv"); - const std::string file_d = PARAM.globalv.global_out_dir + "deepks_dm_eig.npy";; - LCAO_deepks_io::save_npy_d(nat, - des_per_atom, - inlmax, - inl2l, - PARAM.inp.deepks_equiv, - descriptor, - file_d, + const std::string file_d = PARAM.globalv.global_out_dir + "deepks_dm_eig.npy"; + LCAO_deepks_io::save_npy_d(nat, PARAM.inp.deepks_equiv, deepks_param, descriptor, file_d, rank); // libnpy needed if (rank == 0) { - generate_py_files(lmaxd, nmaxd, PARAM.globalv.global_out_dir); + generate_py_files(deepks_param, PARAM.globalv.global_out_dir); std::string cmd = "python cal_edelta_gedm.py " + PARAM.inp.deepks_model; int stat = std::system(cmd.c_str()); assert(stat == 0); @@ -157,7 +157,7 @@ void DeePKS_domain::cal_edelta_gedm_equiv(const int nat, MPI_Barrier(MPI_COMM_WORLD); - LCAO_deepks_io::load_npy_gedm(nat, des_per_atom, gedm, E_delta, rank); + LCAO_deepks_io::load_npy_gedm(nat, deepks_param.des_per_atom, gedm, E_delta, rank); std::string cmd = "rm -f cal_edelta_gedm.py basis.yaml ec.npy gedm.npy"; std::system(cmd.c_str()); @@ -169,9 +169,7 @@ void DeePKS_domain::cal_edelta_gedm_equiv(const int nat, // obtain from the machine learning model dE_delta/dDescriptor // E_delta is also calculated here void DeePKS_domain::cal_edelta_gedm(const int nat, - const int inlmax, - const int des_per_atom, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& descriptor, const std::vector& pdm, torch::jit::script::Module& model_deepks, @@ -185,10 +183,30 @@ void DeePKS_domain::cal_edelta_gedm(const int nat, std::vector inputs; // input_dim:(natom, des_per_atom) - inputs.push_back(torch::cat(descriptor, 0).reshape({1, nat, des_per_atom})); + inputs.push_back(torch::cat(descriptor, 0).reshape({1, nat, deepks_param.des_per_atom})); std::vector ec; - ec.push_back(model_deepks.forward(inputs).toTensor()); // Hartree - E_delta = ec[0].item() * 2; // Ry; *2 is for Hartree to Ry + try + { + ec.push_back(model_deepks.forward(inputs).toTensor()); // Hartree + } + catch (const c10::Error& e) + { + ModuleBase::WARNING_QUIT("DeePKS_domain::cal_edelta_gedm", + "Please check whether the input shape required by model file matches the descriptor!"); + throw; + } + E_delta = ec[0].item() * 2; // Ry; *2 is for Hartree to Ry + + // get d ec[0]/d inputs + // inputs: [1, nat, des_per_atom] + // ec: [1, 1] + std::vector tensor_inputs; + tensor_inputs.push_back(inputs[0].toTensor()); + ec[0].reshape({1, 1}).requires_grad_(true); + torch::Tensor derivative = torch::autograd::grad(ec, tensor_inputs, {}, true)[0]; + LCAO_deepks_io::save_tensor2npy("gev.npy", + derivative.reshape({nat, deepks_param.des_per_atom}), + 0); // dm_eig.npy is the input for gedm // cal gedm std::vector gedm_shell; @@ -201,9 +219,9 @@ void DeePKS_domain::cal_edelta_gedm(const int nat, /*allow_unused=*/true); // gedm_tensor(Hartree) to gedm(Ry) - for (int inl = 0; inl < inlmax; ++inl) + for (int inl = 0; inl < deepks_param.inlmax; ++inl) { - int nm = 2 * inl2l[inl] + 1; + int nm = 2 * deepks_param.inl2l[inl] + 1; auto accessor = gedm_tensor[inl].accessor(); for (int m1 = 0; m1 < nm; ++m1) { @@ -218,13 +236,13 @@ void DeePKS_domain::cal_edelta_gedm(const int nat, return; } -void DeePKS_domain::check_gedm(const int inlmax, const std::vector& inl2l, double** gedm) +void DeePKS_domain::check_gedm(const DeePKS_Param& deepks_param, double** gedm) { std::ofstream ofs("gedm.dat"); - for (int inl = 0; inl < inlmax; inl++) + for (int inl = 0; inl < deepks_param.inlmax; inl++) { - int nm = 2 * inl2l[inl] + 1; + int nm = 2 * deepks_param.inl2l[inl] + 1; for (int m1 = 0; m1 < nm; ++m1) { for (int m2 = 0; m2 < nm; ++m2) diff --git a/source/source_lcao/module_deepks/deepks_basic.h b/source/source_lcao/module_deepks/deepks_basic.h index 25b4fdb7e9..768b0aab1f 100644 --- a/source/source_lcao/module_deepks/deepks_basic.h +++ b/source/source_lcao/module_deepks/deepks_basic.h @@ -3,6 +3,7 @@ #ifdef __MLALGO #include "LCAO_deepks_io.h" +#include "deepks_param.h" #include "source_base/parallel_reduce.h" #include "source_base/tool_title.h" #include "source_cell/unitcell.h" @@ -32,28 +33,21 @@ void load_model(const std::string& model_file, torch::jit::script::Module& model // calculate gevdm void cal_gevdm(const int nat, - const int inlmax, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& pdm, std::vector& gevdm); /// calculate partial of energy correction to descriptors void cal_edelta_gedm(const int nat, - const int inlmax, - const int des_per_atom, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& descriptor, const std::vector& pdm, torch::jit::script::Module& model_deepks, double** gedm, double& E_delta); -void check_gedm(const int inlmax, const std::vector& inl2l, double** gedm); +void check_gedm(const DeePKS_Param& deepks_param, double** gedm); void cal_edelta_gedm_equiv(const int nat, - const int lmaxd, - const int nmaxd, - const int inlmax, - const int des_per_atom, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& descriptor, double** gedm, double& E_delta, diff --git a/source/source_lcao/module_deepks/deepks_check.cpp b/source/source_lcao/module_deepks/deepks_check.cpp index 16a07bcabb..1dfc6dbd20 100644 --- a/source/source_lcao/module_deepks/deepks_check.cpp +++ b/source/source_lcao/module_deepks/deepks_check.cpp @@ -56,10 +56,14 @@ void DeePKS_domain::check_tensor(const torch::Tensor& tensor, const std::string& ofs.close(); } - - -template void DeePKS_domain::check_tensor(const torch::Tensor& tensor, const std::string& filename, const int rank); -template void DeePKS_domain::check_tensor(const torch::Tensor& tensor, const std::string& filename, const int rank); -template void DeePKS_domain::check_tensor>(const torch::Tensor& tensor, const std::string& filename, const int rank); +template void DeePKS_domain::check_tensor(const torch::Tensor& tensor, + const std::string& filename, + const int rank); +template void DeePKS_domain::check_tensor(const torch::Tensor& tensor, + const std::string& filename, + const int rank); +template void DeePKS_domain::check_tensor>(const torch::Tensor& tensor, + const std::string& filename, + const int rank); #endif diff --git a/source/source_lcao/module_deepks/deepks_descriptor.cpp b/source/source_lcao/module_deepks/deepks_descriptor.cpp index f1a37452a3..ae8cff433e 100644 --- a/source/source_lcao/module_deepks/deepks_descriptor.cpp +++ b/source/source_lcao/module_deepks/deepks_descriptor.cpp @@ -8,25 +8,25 @@ #include "deepks_descriptor.h" #include "LCAO_deepks_io.h" // mohan add 2024-07-22 -#include "source_base/module_external/blas_connector.h" #include "source_base/constants.h" #include "source_base/libm/libm.h" +#include "source_base/module_external/blas_connector.h" #include "source_base/parallel_reduce.h" -#include "source_lcao/module_hcontainer/atom_pair.h" #include "source_io/module_parameter/parameter.h" +#include "source_lcao/module_hcontainer/atom_pair.h" void DeePKS_domain::cal_descriptor_equiv(const int nat, - const int des_per_atom, + const DeePKS_Param& deepks_param, const std::vector& pdm, std::vector& descriptor) { ModuleBase::TITLE("DeePKS_domain", "cal_descriptor_equiv"); ModuleBase::timer::tick("DeePKS_domain", "cal_descriptor_equiv"); - assert(des_per_atom > 0); + assert(deepks_param.des_per_atom > 0); for (int iat = 0; iat < nat; iat++) { - auto tmp = torch::zeros(des_per_atom, torch::kFloat64); + auto tmp = torch::zeros(deepks_param.des_per_atom, torch::kFloat64); std::memcpy(tmp.data_ptr(), pdm[iat].data_ptr(), sizeof(double) * tmp.numel()); descriptor.push_back(tmp); } @@ -36,45 +36,41 @@ void DeePKS_domain::cal_descriptor_equiv(const int nat, // calculates descriptors from projected density matrices void DeePKS_domain::cal_descriptor(const int nat, - const int inlmax, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& pdm, - std::vector& descriptor, - const int des_per_atom = -1) + std::vector& descriptor) { ModuleBase::TITLE("DeePKS_domain", "cal_descriptor"); ModuleBase::timer::tick("DeePKS_domain", "cal_descriptor"); if (PARAM.inp.deepks_equiv) { - DeePKS_domain::cal_descriptor_equiv(nat, des_per_atom, pdm, descriptor); + DeePKS_domain::cal_descriptor_equiv(nat, deepks_param, pdm, descriptor); return; } - for (int inl = 0; inl < inlmax; ++inl) + for (int inl = 0; inl < deepks_param.inlmax; ++inl) { - const int nm = 2 * inl2l[inl] + 1; + const int nm = 2 * deepks_param.inl2l[inl] + 1; pdm[inl].requires_grad_(true); descriptor.push_back(torch::ones({nm}, torch::requires_grad(true))); } // cal descriptor - for (int inl = 0; inl < inlmax; ++inl) + for (int inl = 0; inl < deepks_param.inlmax; ++inl) { torch::Tensor vd; std::tuple d_v(descriptor[inl], vd); // d_v = torch::symeig(pdm[inl], /*eigenvalues=*/true, // /*upper=*/true); - d_v = torch::linalg::eigh(pdm[inl], /*uplo*/ "U"); + d_v = torch::linalg_eigh(pdm[inl], /*uplo*/ "U"); descriptor[inl] = std::get<0>(d_v); } ModuleBase::timer::tick("DeePKS_domain", "cal_descriptor"); return; } -void DeePKS_domain::check_descriptor(const int inlmax, - const int des_per_atom, - const std::vector& inl2l, +void DeePKS_domain::check_descriptor(const DeePKS_Param& deepks_param, const UnitCell& ucell, const std::string& out_dir, const std::vector& descriptor, @@ -99,13 +95,13 @@ void DeePKS_domain::check_descriptor(const int inlmax, for (int ia = 0; ia < ucell.atoms[it].na; ia++) { int iat = ucell.itia2iat(it, ia); - ofs << ucell.atoms[it].label << " atom_index " << ia + 1 << " n_descriptor " << des_per_atom - << std::endl; + ofs << ucell.atoms[it].label << " atom_index " << ia + 1 << " n_descriptor " + << deepks_param.des_per_atom << std::endl; int id = 0; - for (int inl = 0; inl < inlmax / ucell.nat; inl++) + for (int inl = 0; inl < deepks_param.inlmax / ucell.nat; inl++) { - int nm = 2 * inl2l[inl] + 1; - const int ind = iat * inlmax / ucell.nat + inl; + int nm = 2 * deepks_param.inl2l[inl] + 1; + const int ind = iat * deepks_param.inlmax / ucell.nat + inl; auto accessor = descriptor[ind].accessor(); for (int im = 0; im < nm; im++) { @@ -126,9 +122,10 @@ void DeePKS_domain::check_descriptor(const int inlmax, for (int iat = 0; iat < ucell.nat; iat++) { const int it = ucell.iat2it[iat]; - ofs << ucell.atoms[it].label << " atom_index " << iat + 1 << " n_descriptor " << des_per_atom << std::endl; + ofs << ucell.atoms[it].label << " atom_index " << iat + 1 << " n_descriptor " << deepks_param.des_per_atom + << std::endl; auto accessor = descriptor[iat].accessor(); - for (int i = 0; i < des_per_atom; i++) + for (int i = 0; i < deepks_param.des_per_atom; i++) { ofs << accessor[i] << " "; if (i % 8 == 7) diff --git a/source/source_lcao/module_deepks/deepks_descriptor.h b/source/source_lcao/module_deepks/deepks_descriptor.h index a91025503a..93e1e95559 100644 --- a/source/source_lcao/module_deepks/deepks_descriptor.h +++ b/source/source_lcao/module_deepks/deepks_descriptor.h @@ -3,6 +3,7 @@ #ifdef __MLALGO +#include "deepks_param.h" #include "source_base/intarray.h" #include "source_base/timer.h" #include "source_cell/unitcell.h" @@ -29,22 +30,18 @@ namespace DeePKS_domain /// Calculates descriptors /// which are eigenvalues of pdm in blocks of I_n_l void cal_descriptor(const int nat, - const int inlmax, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& pdm, - std::vector& descriptor, - const int des_per_atom); + std::vector& descriptor); /// print descriptors based on LCAO basis -void check_descriptor(const int inlmax, - const int des_per_atom, - const std::vector& inl2l, +void check_descriptor(const DeePKS_Param& deepks_param, const UnitCell& ucell, const std::string& out_dir, const std::vector& descriptor, const int rank); void cal_descriptor_equiv(const int nat, - const int des_per_atom, + const DeePKS_Param& deepks_param, const std::vector& pdm, std::vector& descriptor); } // namespace DeePKS_domain diff --git a/source/source_lcao/module_deepks/deepks_force.cpp b/source/source_lcao/module_deepks/deepks_force.cpp index fecd13773a..293710f87e 100644 --- a/source/source_lcao/module_deepks/deepks_force.cpp +++ b/source/source_lcao/module_deepks/deepks_force.cpp @@ -17,10 +17,10 @@ void DeePKS_domain::cal_f_delta(const hamilt::HContainer* dmr, const Grid_Driver& GridD, const Parallel_Orbitals& pv, const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, std::vector*> phialpha, double** gedm, - ModuleBase::IntArray* inl_index, ModuleBase::matrix& f_delta, const bool isstress, ModuleBase::matrix& svnl_dalpha) @@ -139,7 +139,7 @@ void DeePKS_domain::cal_f_delta(const hamilt::HContainer* dmr, { for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) { - const int inl = inl_index[T0](I0, L0, N0); + const int inl = deepks_param.inl_index[T0](I0, L0, N0); const int nm = 2 * L0 + 1; for (int m1 = 0; m1 < nm; ++m1) { @@ -269,10 +269,10 @@ template void DeePKS_domain::cal_f_delta(const hamilt::HContainer>& kvec_d, std::vector*> phialpha, double** gedm, - ModuleBase::IntArray* inl_index, ModuleBase::matrix& f_delta, const bool isstress, ModuleBase::matrix& svnl_dalpha); @@ -283,10 +283,10 @@ template void DeePKS_domain::cal_f_delta>(const hamilt::HCo const Grid_Driver& GridD, const Parallel_Orbitals& pv, const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, std::vector*> phialpha, double** gedm, - ModuleBase::IntArray* inl_index, ModuleBase::matrix& f_delta, const bool isstress, ModuleBase::matrix& svnl_dalpha); diff --git a/source/source_lcao/module_deepks/deepks_force.h b/source/source_lcao/module_deepks/deepks_force.h index a76e88e699..3837d3a6d6 100644 --- a/source/source_lcao/module_deepks/deepks_force.h +++ b/source/source_lcao/module_deepks/deepks_force.h @@ -3,6 +3,7 @@ #ifdef __MLALGO +#include "deepks_param.h" #include "source_base/complexmatrix.h" #include "source_base/intarray.h" #include "source_base/matrix.h" @@ -31,10 +32,10 @@ void cal_f_delta(const hamilt::HContainer* dmr, const Grid_Driver& GridD, const Parallel_Orbitals& pv, const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, std::vector*> phialpha, double** gedm, - ModuleBase::IntArray* inl_index, ModuleBase::matrix& f_delta, const bool isstress, ModuleBase::matrix& svnl_dalpha); diff --git a/source/source_lcao/module_deepks/deepks_fpre.cpp b/source/source_lcao/module_deepks/deepks_fpre.cpp index 33a8c005be..461fbd7599 100644 --- a/source/source_lcao/module_deepks/deepks_fpre.cpp +++ b/source/source_lcao/module_deepks/deepks_fpre.cpp @@ -8,18 +8,16 @@ #include "source_base/parallel_reduce.h" #include "source_base/timer.h" #include "source_base/vector3.h" -#include "source_lcao/module_hcontainer/atom_pair.h" #include "source_io/module_parameter/parameter.h" +#include "source_lcao/module_hcontainer/atom_pair.h" /// this subroutine calculates the gradient of projected density matrices /// gdmx_m,m = d/dX sum_{mu,nu} rho_{mu,nu} template -void DeePKS_domain::cal_gdmx(const int lmaxd, - const int inlmax, - const int nks, +void DeePKS_domain::cal_gdmx(const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, std::vector*> phialpha, - const ModuleBase::IntArray* inl_index, const hamilt::HContainer* dmr, const UnitCell& ucell, const LCAO_Orbitals& orb, @@ -32,11 +30,11 @@ void DeePKS_domain::cal_gdmx(const int lmaxd, // get DS_alpha_mu and S_nu_beta int nrow = pv.nrow; - const int nm = 2 * lmaxd + 1; + const int nm = 2 * deepks_param.lmaxd + 1; // gdmx: dD/dX // \sum_{mu,nu} 2*c_mu*c_nu * // size: [3][natom][tot_Inl][2l+1][2l+1] - gdmx = torch::zeros({3, ucell.nat, inlmax, nm, nm}, torch::dtype(torch::kFloat64)); + gdmx = torch::zeros({3, ucell.nat, deepks_param.inlmax, nm, nm}, torch::dtype(torch::kFloat64)); auto accessor = gdmx.accessor(); DeePKS_domain::iterate_ad2( @@ -99,7 +97,7 @@ void DeePKS_domain::cal_gdmx(const int lmaxd, { for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) { - const int inl = inl_index[ucell.iat2it[iat]](ucell.iat2ia[iat], L0, N0); + const int inl = deepks_param.inl_index[ucell.iat2it[iat]](ucell.iat2ia[iat], L0, N0); const int nm = 2 * L0 + 1; for (int m1 = 0; m1 < nm; ++m1) { @@ -136,7 +134,7 @@ void DeePKS_domain::cal_gdmx(const int lmaxd, ); #ifdef __MPI - Parallel_Reduce::reduce_all(gdmx.data_ptr(), 3 * ucell.nat * inlmax * nm * nm); + Parallel_Reduce::reduce_all(gdmx.data_ptr(), 3 * ucell.nat * deepks_param.inlmax * nm * nm); #endif ModuleBase::timer::tick("DeePKS_domain", "cal_gdmx"); return; @@ -144,9 +142,7 @@ void DeePKS_domain::cal_gdmx(const int lmaxd, // calculates gradient of descriptors from gradient of projected density matrices void DeePKS_domain::cal_gvx(const int nat, - const int inlmax, - const int des_per_atom, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& gevdm, const torch::Tensor& gdmx, torch::Tensor& gvx, @@ -161,12 +157,14 @@ void DeePKS_domain::cal_gvx(const int nat, if (rank == 0) { // make gdmx as tensor - int nlmax = inlmax / nat; + int nlmax = deepks_param.inlmax / nat; for (int nl = 0; nl < nlmax; ++nl) { - int nm = 2 * inl2l[nl] + 1; - torch::Tensor gdmx_sliced - = gdmx.slice(2, nl, inlmax, nlmax).slice(3, 0, nm, 1).slice(4, 0, nm, 1).permute({1, 0, 2, 3, 4}); + int nm = 2 * deepks_param.inl2l[nl] + 1; + torch::Tensor gdmx_sliced = gdmx.slice(2, nl, deepks_param.inlmax, nlmax) + .slice(3, 0, nm, 1) + .slice(4, 0, nm, 1) + .permute({1, 0, 2, 3, 4}); gdmr.push_back(gdmx_sliced); } @@ -190,18 +188,16 @@ void DeePKS_domain::cal_gvx(const int nat, assert(gvx.size(0) == nat); assert(gvx.size(1) == 3); assert(gvx.size(2) == nat); - assert(gvx.size(3) == des_per_atom); + assert(gvx.size(3) == deepks_param.des_per_atom); } ModuleBase::timer::tick("DeePKS_domain", "cal_gvx"); return; } -template void DeePKS_domain::cal_gdmx(const int lmaxd, - const int inlmax, - const int nks, +template void DeePKS_domain::cal_gdmx(const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, std::vector*> phialpha, - const ModuleBase::IntArray* inl_index, const hamilt::HContainer* dmr, const UnitCell& ucell, const LCAO_Orbitals& orb, @@ -209,12 +205,10 @@ template void DeePKS_domain::cal_gdmx(const int lmaxd, const Grid_Driver& GridD, torch::Tensor& gdmx); -template void DeePKS_domain::cal_gdmx>(const int lmaxd, - const int inlmax, - const int nks, +template void DeePKS_domain::cal_gdmx>(const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, std::vector*> phialpha, - const ModuleBase::IntArray* inl_index, const hamilt::HContainer* dmr, const UnitCell& ucell, const LCAO_Orbitals& orb, diff --git a/source/source_lcao/module_deepks/deepks_fpre.h b/source/source_lcao/module_deepks/deepks_fpre.h index 3ae94435b5..64c0531a2f 100644 --- a/source/source_lcao/module_deepks/deepks_fpre.h +++ b/source/source_lcao/module_deepks/deepks_fpre.h @@ -3,6 +3,7 @@ #ifdef __MLALGO +#include "deepks_param.h" #include "source_base/complexmatrix.h" #include "source_base/intarray.h" #include "source_base/matrix.h" @@ -30,12 +31,10 @@ namespace DeePKS_domain // calculate the gradient of pdm with regard to atomic positions // d/dX D_{Inl,mm'} template -void cal_gdmx(const int lmaxd, - const int inlmax, - const int nks, +void cal_gdmx(const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, std::vector*> phialpha, - const ModuleBase::IntArray* inl_index, const hamilt::HContainer* dmr, const UnitCell& ucell, const LCAO_Orbitals& orb, @@ -53,9 +52,7 @@ void cal_gdmx(const int lmaxd, /// gevdm*gdmx->gvx ///---------------------------------------------------- void cal_gvx(const int nat, - const int inlmax, - const int des_per_atom, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& gevdm, const torch::Tensor& gdmx, torch::Tensor& gvx, diff --git a/source/source_lcao/module_deepks/deepks_orbital.cpp b/source/source_lcao/module_deepks/deepks_orbital.cpp index a43ff25ec3..1a0d91cafe 100644 --- a/source/source_lcao/module_deepks/deepks_orbital.cpp +++ b/source/source_lcao/module_deepks/deepks_orbital.cpp @@ -9,7 +9,6 @@ template void DeePKS_domain::cal_o_delta(const std::vector& dm_hl, const std::vector>& h_delta, - // std::vector& o_delta, ModuleBase::matrix& o_delta, const Parallel_Orbitals& pv, const int nks, @@ -48,7 +47,7 @@ void DeePKS_domain::cal_o_delta(const std::vector& dm_hl, } } Parallel_Reduce::reduce_all(o_delta_tmp); - + const double* o_delta_ptr = reinterpret_cast(&o_delta_tmp); o_delta(ik, 0) = o_delta_ptr[0]; // real part in complex case } @@ -58,7 +57,6 @@ void DeePKS_domain::cal_o_delta(const std::vector& dm_hl, template void DeePKS_domain::cal_o_delta(const std::vector& dm_hl, const std::vector>& h_delta, - // std::vector& o_delta, ModuleBase::matrix& o_delta, const Parallel_Orbitals& pv, const int nks, @@ -67,7 +65,6 @@ template void DeePKS_domain::cal_o_delta(const std:: template void DeePKS_domain::cal_o_delta, ModuleBase::ComplexMatrix>( const std::vector& dm_hl, const std::vector>>& h_delta, - // std::vector& o_delta, ModuleBase::matrix& o_delta, const Parallel_Orbitals& pv, const int nks, diff --git a/source/source_lcao/module_deepks/deepks_orbital.h b/source/source_lcao/module_deepks/deepks_orbital.h index 93bb3421f0..8f77e58fb1 100644 --- a/source/source_lcao/module_deepks/deepks_orbital.h +++ b/source/source_lcao/module_deepks/deepks_orbital.h @@ -26,7 +26,6 @@ namespace DeePKS_domain template void cal_o_delta(const std::vector& dm_hl, const std::vector>& h_delta, - // std::vector& o_delta, ModuleBase::matrix& o_delta, const Parallel_Orbitals& pv, const int nks, diff --git a/source/source_lcao/module_deepks/deepks_orbpre.cpp b/source/source_lcao/module_deepks/deepks_orbpre.cpp index 90cb40ea95..282ef92c64 100644 --- a/source/source_lcao/module_deepks/deepks_orbpre.cpp +++ b/source/source_lcao/module_deepks/deepks_orbpre.cpp @@ -7,26 +7,23 @@ #include "deepks_orbpre.h" #include "LCAO_deepks_io.h" // mohan add 2024-07-22 -#include "source_base/module_external/blas_connector.h" #include "source_base/constants.h" #include "source_base/libm/libm.h" +#include "source_base/module_external/blas_connector.h" #include "source_base/parallel_reduce.h" -#include "source_lcao/module_hcontainer/atom_pair.h" #include "source_io/module_parameter/parameter.h" +#include "source_lcao/module_hcontainer/atom_pair.h" // calculates orbital_precalc[nks,NAt,NDscrpt] = gevdm * orbital_pdm; // orbital_pdm[nks,Inl,nm,nm] = dm_hl * overlap * overlap; template void DeePKS_domain::cal_orbital_precalc(const std::vector& dm_hl, - const int lmaxd, - const int inlmax, const int nat, const int nks, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const std::vector gevdm, - const ModuleBase::IntArray* inl_index, const UnitCell& ucell, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -39,7 +36,8 @@ void DeePKS_domain::cal_orbital_precalc(const std::vector& dm_hl, const double Rcut_Alpha = orb.Alpha[0].getRcut(); torch::Tensor orbital_pdm - = torch::zeros({nks, inlmax, (2 * lmaxd + 1), (2 * lmaxd + 1)}, torch::dtype(torch::kFloat64)); + = torch::zeros({nks, deepks_param.inlmax, (2 * deepks_param.lmaxd + 1), (2 * deepks_param.lmaxd + 1)}, + torch::dtype(torch::kFloat64)); auto accessor = orbital_pdm.accessor(); for (int T0 = 0; T0 < ucell.ntype; T0++) @@ -60,7 +58,7 @@ void DeePKS_domain::cal_orbital_precalc(const std::vector& dm_hl, { for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) { - const int inl = inl_index[T0](I0, L0, N0); + const int inl = deepks_param.inl_index[T0](I0, L0, N0); const int nm = 2 * L0 + 1; for (int m1 = 0; m1 < nm; ++m1) // m1 = 1 for s, 3 for p, 5 for d @@ -215,19 +213,19 @@ void DeePKS_domain::cal_orbital_precalc(const std::vector& dm_hl, gemm_alpha = 2.0; } - dgemm_(&transa, - &transb, - &row_size_nks, - &trace_alpha_size, - &col_size, - &gemm_alpha, - dm_array.data(), - &col_size, + BlasConnector::gemm(transb, + transa, + trace_alpha_size, + row_size_nks, + col_size, + gemm_alpha, s_2t.data(), - &col_size, - &gemm_beta, + col_size, + dm_array.data(), + col_size, + gemm_beta, g_1dmt.data(), - &row_size_nks); + row_size_nks); } // ad2 for (int ik = 0; ik < nks; ik++) @@ -242,18 +240,18 @@ void DeePKS_domain::cal_orbital_precalc(const std::vector& dm_hl, { for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) { - const int inl = inl_index[T0](I0, L0, N0); + const int inl = deepks_param.inl_index[T0](I0, L0, N0); const int nm = 2 * L0 + 1; for (int m1 = 0; m1 < nm; ++m1) // m1 = 1 for s, 3 for p, 5 for d { for (int m2 = 0; m2 < nm; ++m2) // m1 = 1 for s, 3 for p, 5 for d { - accessor[ik][inl][m1][m2] += ddot_(&row_size, + accessor[ik][inl][m1][m2] += BlasConnector::dot(row_size, p_g1dmt + index * row_size * nks, - &inc, + inc, s_1t.data() + index * row_size, - &inc); + inc); index++; } } @@ -265,19 +263,19 @@ void DeePKS_domain::cal_orbital_precalc(const std::vector& dm_hl, } } #ifdef __MPI - const int size = nks * inlmax * (2 * lmaxd + 1) * (2 * lmaxd + 1); + const int size = nks * deepks_param.inlmax * (2 * deepks_param.lmaxd + 1) * (2 * deepks_param.lmaxd + 1); Parallel_Reduce::reduce_all(orbital_pdm.data_ptr(), size); #endif // transfer orbital_pdm [nks,inl,nm,nm] to orbital_pdm_vector [nl,[nks,nat,nm,nm]] - int nlmax = inlmax / nat; + int nlmax = deepks_param.inlmax / nat; std::vector orbital_pdm_vector; for (int nl = 0; nl < nlmax; ++nl) { - int nm = 2 * inl2l[nl] + 1; + int nm = 2 * deepks_param.inl2l[nl] + 1; torch::Tensor orbital_pdm_sliced - = orbital_pdm.slice(1, nl, inlmax, nlmax).slice(2, 0, nm, 1).slice(3, 0, nm, 1); + = orbital_pdm.slice(1, nl, deepks_param.inlmax, nlmax).slice(2, 0, nm, 1).slice(3, 0, nm, 1); orbital_pdm_vector.push_back(orbital_pdm_sliced); } @@ -297,15 +295,12 @@ void DeePKS_domain::cal_orbital_precalc(const std::vector& dm_hl, template void DeePKS_domain::cal_orbital_precalc( const std::vector& dm_hl, - const int lmaxd, - const int inlmax, const int nat, const int nks, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const std::vector gevdm, - const ModuleBase::IntArray* inl_index, const UnitCell& ucell, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -314,15 +309,12 @@ template void DeePKS_domain::cal_orbital_precalc( template void DeePKS_domain::cal_orbital_precalc, ModuleBase::ComplexMatrix>( const std::vector& dm_hl, - const int lmaxd, - const int inlmax, const int nat, const int nks, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const std::vector gevdm, - const ModuleBase::IntArray* inl_index, const UnitCell& ucell, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, diff --git a/source/source_lcao/module_deepks/deepks_orbpre.h b/source/source_lcao/module_deepks/deepks_orbpre.h index e9ddfeb95d..ec9dc1a123 100644 --- a/source/source_lcao/module_deepks/deepks_orbpre.h +++ b/source/source_lcao/module_deepks/deepks_orbpre.h @@ -3,6 +3,7 @@ #ifdef __MLALGO +#include "deepks_param.h" #include "source_base/complexmatrix.h" #include "source_base/intarray.h" #include "source_base/matrix.h" @@ -27,15 +28,12 @@ namespace DeePKS_domain template void cal_orbital_precalc(const std::vector& dm_hl, - const int lmaxd, - const int inlmax, const int nat, const int nks, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const std::vector gevdm, - const ModuleBase::IntArray* inl_index, const UnitCell& ucell, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, diff --git a/source/source_lcao/module_deepks/deepks_param.h b/source/source_lcao/module_deepks/deepks_param.h new file mode 100644 index 0000000000..75e161b9da --- /dev/null +++ b/source/source_lcao/module_deepks/deepks_param.h @@ -0,0 +1,21 @@ +#ifndef LCAO_DEEPKS_PARAM +#define LCAO_DEEPKS_PARAM + +#include +namespace ModuleBase +{ +struct IntArray; +} + +struct DeePKS_Param +{ + int lmaxd = 0; + int nmaxd = 0; + int inlmax = 0; + int n_descriptor = 0; + int des_per_atom = 0; + std::vector inl2l; + ModuleBase::IntArray* inl_index = nullptr; +}; + +#endif \ No newline at end of file diff --git a/source/source_lcao/module_deepks/deepks_pdm.cpp b/source/source_lcao/module_deepks/deepks_pdm.cpp index ffc0efc8fb..edbfec8ef8 100644 --- a/source/source_lcao/module_deepks/deepks_pdm.cpp +++ b/source/source_lcao/module_deepks/deepks_pdm.cpp @@ -19,6 +19,7 @@ #include "deepks_pdm.h" #include "source_base/constants.h" #include "source_base/libm/libm.h" +#include "source_base/module_external/blas_connector.h" #include "source_base/timer.h" #include "source_lcao/module_hcontainer/atom_pair.h" #ifdef __MPI @@ -29,15 +30,13 @@ void DeePKS_domain::read_pdm(bool read_pdm_file, bool is_equiv, bool& init_pdm, const int nat, - const int inlmax, - const int lmaxd, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const Numerical_Orbital& alpha, std::vector& pdm) { if (read_pdm_file && !init_pdm) // for DeePKS NSCF calculation { - const std::string file_projdm = PARAM.globalv.global_out_dir + "deepks_projdm.dat"; + const std::string file_projdm = PARAM.globalv.global_readin_dir + "deepks_projdm.dat"; std::ifstream ifs(file_projdm.c_str()); if (!ifs) @@ -46,9 +45,9 @@ void DeePKS_domain::read_pdm(bool read_pdm_file, } if (!is_equiv) { - for (int inl = 0; inl < inlmax; inl++) + for (int inl = 0; inl < deepks_param.inlmax; inl++) { - int nm = 2 * inl2l[inl] + 1; + int nm = 2 * deepks_param.inl2l[inl] + 1; auto accessor = pdm[inl].accessor(); for (int m1 = 0; m1 < nm; m1++) { @@ -65,7 +64,7 @@ void DeePKS_domain::read_pdm(bool read_pdm_file, { int pdm_size = 0; int nproj = 0; - for (int il = 0; il < lmaxd + 1; il++) + for (int il = 0; il < deepks_param.lmaxd + 1; il++) { nproj += (2 * il + 1) * alpha.getNchi(il); } @@ -177,10 +176,7 @@ void DeePKS_domain::update_dmr(const std::vector>& k // pdm_m,m'=\sum_{mu,nu} rho_{mu,nu} template void DeePKS_domain::cal_pdm(bool& init_pdm, - const int inlmax, - const int lmaxd, - const std::vector& inl2l, - const ModuleBase::IntArray* inl_index, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const hamilt::HContainer* dmr, const std::vector*> phialpha, @@ -203,9 +199,9 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, if (!PARAM.inp.deepks_equiv) { - for (int inl = 0; inl < inlmax; inl++) + for (int inl = 0; inl < deepks_param.inlmax; inl++) { - int nm = 2 * inl2l[inl] + 1; + int nm = 2 * deepks_param.inl2l[inl] + 1; pdm[inl] = torch::zeros({nm, nm}, torch::kFloat64); } } @@ -213,7 +209,7 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, { int pdm_size = 0; int nproj = 0; - for (int il = 0; il < lmaxd + 1; il++) + for (int il = 0; il < deepks_param.lmaxd + 1; il++) { nproj += (2 * il + 1) * orb.Alpha[0].getNchi(il); } @@ -246,7 +242,7 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, { for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) { - const int inl = inl_index[T0](I0, L0, N0); + const int inl = deepks_param.inl_index[T0](I0, L0, N0); const int nm = 2 * L0 + 1; for (int m1 = 0; m1 < nm; ++m1) // m1 = 1 for s, 3 for p, 5 for d @@ -264,7 +260,7 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, else { int nproj = 0; - for (int il = 0; il < lmaxd + 1; il++) + for (int il = 0; il < deepks_param.lmaxd + 1; il++) { nproj += (2 * il + 1) * orb.Alpha[0].getNchi(il); } @@ -378,19 +374,19 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, // all the input should be data pointer constexpr char transa = 'T', transb = 'N'; const double gemm_alpha = 1.0, gemm_beta = 1.0; - dgemm_(&transa, - &transb, - &row_size, - &trace_alpha_size, - &col_size, - &gemm_alpha, - dm_current, - &col_size, + BlasConnector::gemm(transb, + transa, + trace_alpha_size, + row_size, + col_size, + gemm_alpha, s_2t.data(), - &col_size, - &gemm_beta, + col_size, + dm_current, + col_size, + gemm_beta, g_1dmt.data(), - &row_size); + row_size); } // ad2 if (!PARAM.inp.deepks_equiv) { @@ -399,7 +395,7 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, { for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) { - const int inl = inl_index[T0](I0, L0, N0); + const int inl = deepks_param.inl_index[T0](I0, L0, N0); const int nm = 2 * L0 + 1; auto accessor = pdm[inl].accessor(); @@ -407,11 +403,11 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, { for (int m2 = 0; m2 < nm; ++m2) // m1 = 1 for s, 3 for p, 5 for d { - accessor[m1][m2] += ddot_(&row_size, - g_1dmt.data() + index * row_size, - &inc, - s_1t.data() + index * row_size, - &inc); + accessor[m1][m2] += BlasConnector::dot(row_size, + g_1dmt.data() + index * row_size, + inc, + s_1t.data() + index * row_size, + inc); index++; } } @@ -423,7 +419,7 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, auto accessor = pdm[iat].accessor(); int index = 0, inc = 1; int nproj = 0; - for (int il = 0; il < lmaxd + 1; il++) + for (int il = 0; il < deepks_param.lmaxd + 1; il++) { nproj += (2 * il + 1) * orb.Alpha[0].getNchi(il); } @@ -433,11 +429,11 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, { // ddot_: dot product of two vectors // inc means the increment of the index - accessor[iproj * nproj + jproj] += ddot_(&row_size, - g_1dmt.data() + index * row_size, - &inc, - s_1t.data() + index * row_size, - &inc); + accessor[iproj * nproj + jproj] += BlasConnector::dot(row_size, + g_1dmt.data() + index * row_size, + inc, + s_1t.data() + index * row_size, + inc); index++; } } @@ -446,9 +442,9 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, } // iat #ifdef __MPI - for (int inl = 0; inl < inlmax; inl++) + for (int inl = 0; inl < deepks_param.inlmax; inl++) { - int pdm_size = (2 * inl2l[inl] + 1) * (2 * inl2l[inl] + 1); + int pdm_size = (2 * deepks_param.inl2l[inl] + 1) * (2 * deepks_param.inl2l[inl] + 1); Parallel_Reduce::reduce_all(pdm[inl].data_ptr(), pdm_size); } #endif @@ -456,15 +452,15 @@ void DeePKS_domain::cal_pdm(bool& init_pdm, return; } -void DeePKS_domain::check_pdm(const int inlmax, const std::vector& inl2l, const std::vector& pdm) +void DeePKS_domain::check_pdm(const DeePKS_Param& deepks_param, const std::vector& pdm) { const std::string file_projdm = PARAM.globalv.global_out_dir + "deepks_projdm.dat"; std::ofstream ofs(file_projdm.c_str()); ofs << std::setprecision(10); - for (int inl = 0; inl < inlmax; inl++) + for (int inl = 0; inl < deepks_param.inlmax; inl++) { - const int nm = 2 * inl2l[inl] + 1; + const int nm = 2 * deepks_param.inl2l[inl] + 1; auto accessor = pdm[inl].accessor(); for (int m1 = 0; m1 < nm; m1++) { @@ -494,10 +490,7 @@ template void DeePKS_domain::update_dmr>(const std::vector< hamilt::HContainer* dmr_deepks); template void DeePKS_domain::cal_pdm(bool& init_pdm, - const int inlmax, - const int lmaxd, - const std::vector& inl2l, - const ModuleBase::IntArray* inl_index, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const hamilt::HContainer* dmr, const std::vector*> phialpha, @@ -508,10 +501,7 @@ template void DeePKS_domain::cal_pdm(bool& init_pdm, std::vector& pdm); template void DeePKS_domain::cal_pdm>(bool& init_pdm, - const int inlmax, - const int lmaxd, - const std::vector& inl2l, - const ModuleBase::IntArray* inl_index, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const hamilt::HContainer* dmr, const std::vector*> phialpha, diff --git a/source/source_lcao/module_deepks/deepks_pdm.h b/source/source_lcao/module_deepks/deepks_pdm.h index f7b90b50c1..4b39547576 100644 --- a/source/source_lcao/module_deepks/deepks_pdm.h +++ b/source/source_lcao/module_deepks/deepks_pdm.h @@ -3,6 +3,7 @@ #ifdef __MLALGO +#include "deepks_param.h" #include "source_base/complexmatrix.h" #include "source_base/matrix.h" #include "source_base/timer.h" @@ -33,9 +34,7 @@ void read_pdm(bool read_pdm_file, bool is_equiv, bool& init_pdm, const int nat, - const int inlmax, - const int lmaxd, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const Numerical_Orbital& alpha, std::vector& pdm); @@ -55,10 +54,7 @@ void update_dmr(const std::vector>& kvec_d, // - Relax/Cell-Relax/MD calculation, non-first step will use the convergence pdm from the last step as initial pdm template void cal_pdm(bool& init_pdm, - const int inlmax, - const int lmaxd, - const std::vector& inl2l, - const ModuleBase::IntArray* inl_index, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const hamilt::HContainer* dmr, const std::vector*> phialpha, @@ -68,7 +64,7 @@ void cal_pdm(bool& init_pdm, const Parallel_Orbitals& pv, std::vector& pdm); -void check_pdm(const int inlmax, const std::vector& inl2l, const std::vector& pdm); +void check_pdm(const DeePKS_Param& deepks_param, const std::vector& pdm); } // namespace DeePKS_domain #endif diff --git a/source/source_lcao/module_deepks/deepks_spre.cpp b/source/source_lcao/module_deepks/deepks_spre.cpp index eb0281146c..82fd8a5303 100644 --- a/source/source_lcao/module_deepks/deepks_spre.cpp +++ b/source/source_lcao/module_deepks/deepks_spre.cpp @@ -8,19 +8,17 @@ #include "source_base/parallel_reduce.h" #include "source_base/timer.h" #include "source_base/vector3.h" -#include "source_lcao/module_hcontainer/atom_pair.h" #include "source_io/module_parameter/parameter.h" +#include "source_lcao/module_hcontainer/atom_pair.h" /// this subroutine calculates the gradient of PDM wrt strain tensor: /// gdmepsl = d/d\epsilon_{ab} * /// sum_{mu,nu} rho_{mu,nu} template -void DeePKS_domain::cal_gdmepsl(const int lmaxd, - const int inlmax, - const int nks, +void DeePKS_domain::cal_gdmepsl(const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, std::vector*> phialpha, - const ModuleBase::IntArray* inl_index, const hamilt::HContainer* dmr, const UnitCell& ucell, const LCAO_Orbitals& orb, @@ -33,10 +31,10 @@ void DeePKS_domain::cal_gdmepsl(const int lmaxd, // get DS_alpha_mu and S_nu_beta int nrow = pv.nrow; - const int nm = 2 * lmaxd + 1; + const int nm = 2 * deepks_param.lmaxd + 1; // gdmepsl: dD/d\epsilon_{\alpha\beta} // size: [6][tot_Inl][2l+1][2l+1] - gdmepsl = torch::zeros({6, inlmax, nm, nm}, torch::dtype(torch::kFloat64)); + gdmepsl = torch::zeros({6, deepks_param.inlmax, nm, nm}, torch::dtype(torch::kFloat64)); auto accessor = gdmepsl.accessor(); DeePKS_domain::iterate_ad2( @@ -111,7 +109,7 @@ void DeePKS_domain::cal_gdmepsl(const int lmaxd, { for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) { - const int inl = inl_index[ucell.iat2it[iat]](ucell.iat2ia[iat], L0, N0); + const int inl = deepks_param.inl_index[ucell.iat2it[iat]](ucell.iat2ia[iat], L0, N0); const int nm = 2 * L0 + 1; for (int m1 = 0; m1 < nm; ++m1) { @@ -147,7 +145,7 @@ void DeePKS_domain::cal_gdmepsl(const int lmaxd, ); #ifdef __MPI - Parallel_Reduce::reduce_all(gdmepsl.data_ptr(), 6 * inlmax * nm * nm); + Parallel_Reduce::reduce_all(gdmepsl.data_ptr(), 6 * deepks_param.inlmax * nm * nm); #endif ModuleBase::timer::tick("DeePKS_domain", "cal_gdmepsl"); return; @@ -156,9 +154,7 @@ void DeePKS_domain::cal_gdmepsl(const int lmaxd, // calculates stress of descriptors from gradient of projected density matrices // gv_epsl:d(d)/d\epsilon_{\alpha\beta}, [natom][6][des_per_atom] void DeePKS_domain::cal_gvepsl(const int nat, - const int inlmax, - const int des_per_atom, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& gevdm, const torch::Tensor& gdmepsl, torch::Tensor& gvepsl, @@ -172,11 +168,12 @@ void DeePKS_domain::cal_gvepsl(const int nat, if (rank == 0) { // make gdmepsl as tensor - int nlmax = inlmax / nat; + int nlmax = deepks_param.inlmax / nat; for (int nl = 0; nl < nlmax; ++nl) { - int nm = 2 * inl2l[nl] + 1; - torch::Tensor gdmepsl_sliced = gdmepsl.slice(1, nl, inlmax, nlmax).slice(2, 0, nm, 1).slice(3, 0, nm, 1); + int nm = 2 * deepks_param.inl2l[nl] + 1; + torch::Tensor gdmepsl_sliced + = gdmepsl.slice(1, nl, deepks_param.inlmax, nlmax).slice(2, 0, nm, 1).slice(3, 0, nm, 1); gdmepsl_vector.push_back(gdmepsl_sliced); } assert(gdmepsl_vector.size() == nlmax); @@ -197,19 +194,17 @@ void DeePKS_domain::cal_gvepsl(const int nat, gvepsl = torch::cat(gvepsl_vector, -1); assert(gvepsl.size(0) == 6); assert(gvepsl.size(1) == nat); - assert(gvepsl.size(2) == des_per_atom); + assert(gvepsl.size(2) == deepks_param.des_per_atom); } ModuleBase::timer::tick("DeePKS_domain", "cal_gvepsl"); return; } -template void DeePKS_domain::cal_gdmepsl(const int lmaxd, - const int inlmax, - const int nks, +template void DeePKS_domain::cal_gdmepsl(const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, std::vector*> phialpha, - const ModuleBase::IntArray* inl_index, const hamilt::HContainer* dmr, const UnitCell& ucell, const LCAO_Orbitals& orb, @@ -217,12 +212,10 @@ template void DeePKS_domain::cal_gdmepsl(const int lmaxd, const Grid_Driver& GridD, torch::Tensor& gdmepsl); -template void DeePKS_domain::cal_gdmepsl>(const int lmaxd, - const int inlmax, - const int nks, +template void DeePKS_domain::cal_gdmepsl>(const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, std::vector*> phialpha, - const ModuleBase::IntArray* inl_index, const hamilt::HContainer* dmr, const UnitCell& ucell, const LCAO_Orbitals& orb, diff --git a/source/source_lcao/module_deepks/deepks_spre.h b/source/source_lcao/module_deepks/deepks_spre.h index 54d9f6b05e..759af70209 100644 --- a/source/source_lcao/module_deepks/deepks_spre.h +++ b/source/source_lcao/module_deepks/deepks_spre.h @@ -3,6 +3,7 @@ #ifdef __MLALGO +#include "deepks_param.h" #include "source_base/complexmatrix.h" #include "source_base/intarray.h" #include "source_base/matrix.h" @@ -31,24 +32,19 @@ namespace DeePKS_domain // calculate the gradient of pdm with regard to atomic virial stress tensor // d/d\epsilon D_{Inl,mm'} template -void cal_gdmepsl( // const ModuleBase::matrix& dm, - const int lmaxd, - const int inlmax, - const int nks, - const std::vector>& kvec_d, - std::vector*> phialpha, - const ModuleBase::IntArray* inl_index, - const hamilt::HContainer* dmr, - const UnitCell& ucell, - const LCAO_Orbitals& orb, - const Parallel_Orbitals& pv, - const Grid_Driver& GridD, - torch::Tensor& gdmepsl); +void cal_gdmepsl(const int nks, + const DeePKS_Param& deepks_param, + const std::vector>& kvec_d, + std::vector*> phialpha, + const hamilt::HContainer* dmr, + const UnitCell& ucell, + const LCAO_Orbitals& orb, + const Parallel_Orbitals& pv, + const Grid_Driver& GridD, + torch::Tensor& gdmepsl); void cal_gvepsl(const int nat, - const int inlmax, - const int des_per_atom, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector& gevdm, const torch::Tensor& gdmepsl, torch::Tensor& gvepsl, diff --git a/source/source_lcao/module_deepks/deepks_vdpre.cpp b/source/source_lcao/module_deepks/deepks_vdpre.cpp index 0dad1c0bef..20ee69a499 100644 --- a/source/source_lcao/module_deepks/deepks_vdpre.cpp +++ b/source/source_lcao/module_deepks/deepks_vdpre.cpp @@ -10,27 +10,24 @@ #include "LCAO_deepks_io.h" // mohan add 2024-07-22 #include "deepks_iterate.h" -#include "source_base/module_external/blas_connector.h" #include "source_base/constants.h" #include "source_base/libm/libm.h" +#include "source_base/module_external/blas_connector.h" #include "source_base/parallel_reduce.h" -#include "source_lcao/module_hcontainer/atom_pair.h" #include "source_io/module_parameter/parameter.h" +#include "source_lcao/module_hcontainer/atom_pair.h" // calculates v_delta_precalc[nks,nlocal,nlocal,NAt,NDscrpt] = gevdm * v_delta_pdm; // v_delta_pdm[nks,nlocal,nlocal,Inl,nm,nm] = overlap * overlap; // for deepks_v_delta = 1 template void DeePKS_domain::cal_v_delta_precalc(const int nlocal, - const int lmaxd, - const int inlmax, const int nat, const int nks, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const std::vector gevdm, - const ModuleBase::IntArray* inl_index, const UnitCell& ucell, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -46,8 +43,9 @@ void DeePKS_domain::cal_v_delta_precalc(const int nlocal, using TK_tensor = typename std::conditional>::value, c10::complex, TK>::type; - torch::Tensor v_delta_pdm - = torch::zeros({nks, nlocal, nlocal, inlmax, (2 * lmaxd + 1), (2 * lmaxd + 1)}, torch::dtype(dtype)); + torch::Tensor v_delta_pdm = torch::zeros( + {nks, nlocal, nlocal, deepks_param.inlmax, (2 * deepks_param.lmaxd + 1), (2 * deepks_param.lmaxd + 1)}, + torch::dtype(dtype)); auto accessor = v_delta_pdm.accessor(); DeePKS_domain::iterate_ad2( @@ -112,14 +110,14 @@ void DeePKS_domain::cal_v_delta_precalc(const int nlocal, { for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) { - const int inl = inl_index[T0](I0, L0, N0); + const int inl = deepks_param.inl_index[T0](I0, L0, N0); const int nm = 2 * L0 + 1; for (int m1 = 0; m1 < nm; ++m1) // nm = 1 for s, 3 for p, 5 for d { for (int m2 = 0; m2 < nm; ++m2) // nm = 1 for s, 3 for p, 5 for d { - TK tmp = overlap_1->get_value(iw1, ib + m1) - * overlap_2->get_value(iw2, ib + m2) * *kpase_ptr; + TK tmp = overlap_1->get_value(iw1, ib + m1) * overlap_2->get_value(iw2, ib + m2) + * *kpase_ptr; TK_tensor tmp_tensor = TK_tensor(tmp); accessor[ik][iw1_all][iw2_all][inl][m1][m2] += tmp_tensor; } @@ -133,20 +131,21 @@ void DeePKS_domain::cal_v_delta_precalc(const int nlocal, } ); #ifdef __MPI - const int size = nks * nlocal * nlocal * inlmax * (2 * lmaxd + 1) * (2 * lmaxd + 1); + const int size + = nks * nlocal * nlocal * deepks_param.inlmax * (2 * deepks_param.lmaxd + 1) * (2 * deepks_param.lmaxd + 1); TK_tensor* data_tensor_ptr = v_delta_pdm.data_ptr(); TK* data_ptr = reinterpret_cast(data_tensor_ptr); Parallel_Reduce::reduce_all(data_ptr, size); #endif // transfer v_delta_pdm to v_delta_pdm_vector - int nlmax = inlmax / nat; + int nlmax = deepks_param.inlmax / nat; std::vector v_delta_pdm_vector; for (int nl = 0; nl < nlmax; ++nl) { - int nm = 2 * inl2l[nl] + 1; + int nm = 2 * deepks_param.inl2l[nl] + 1; torch::Tensor v_delta_pdm_sliced - = v_delta_pdm.slice(3, nl, inlmax, nlmax).slice(4, 0, nm, 1).slice(5, 0, nm, 1); + = v_delta_pdm.slice(3, nl, deepks_param.inlmax, nlmax).slice(4, 0, nm, 1).slice(5, 0, nm, 1); v_delta_pdm_vector.push_back(v_delta_pdm_sliced); } @@ -173,10 +172,9 @@ void DeePKS_domain::cal_v_delta_precalc(const int nlocal, // prepare_phialpha and prepare_gevdm for deepks_v_delta = 2 template void DeePKS_domain::prepare_phialpha(const int nlocal, - const int lmaxd, - const int inlmax, const int nat, const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const UnitCell& ucell, @@ -190,8 +188,8 @@ void DeePKS_domain::prepare_phialpha(const int nlocal, constexpr torch::Dtype dtype = std::is_same::value ? torch::kFloat64 : torch::kComplexDouble; using TK_tensor = typename std::conditional>::value, c10::complex, TK>::type; - int nlmax = inlmax / nat; - int mmax = 2 * lmaxd + 1; + int nlmax = deepks_param.inlmax / nat; + int mmax = 2 * deepks_param.lmaxd + 1; phialpha_out = torch::zeros({nat, nlmax, nks, nlocal, mmax}, dtype); auto accessor = phialpha_out.accessor(); @@ -268,16 +266,15 @@ void DeePKS_domain::prepare_phialpha(const int nlocal, } void DeePKS_domain::prepare_gevdm(const int nat, - const int lmaxd, - const int inlmax, + const DeePKS_Param& deepks_param, const LCAO_Orbitals& orb, const std::vector& gevdm_in, torch::Tensor& gevdm_out) { ModuleBase::TITLE("DeePKS_domain", "prepare_gevdm"); ModuleBase::timer::tick("DeePKS_domain", "prepare_gevdm"); - int nlmax = inlmax / nat; - int mmax = 2 * lmaxd + 1; + int nlmax = deepks_param.inlmax / nat; + int mmax = 2 * deepks_param.lmaxd + 1; gevdm_out = torch::zeros({nat, nlmax, mmax, mmax, mmax}, torch::TensorOptions().dtype(torch::kFloat64)); std::vector gevdm_out_vector; @@ -295,15 +292,12 @@ void DeePKS_domain::prepare_gevdm(const int nat, } template void DeePKS_domain::cal_v_delta_precalc(const int nlocal, - const int lmaxd, - const int inlmax, const int nat, const int nks, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const std::vector gevdm, - const ModuleBase::IntArray* inl_index, const UnitCell& ucell, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -311,15 +305,12 @@ template void DeePKS_domain::cal_v_delta_precalc(const int nlocal, torch::Tensor& v_delta_precalc); template void DeePKS_domain::cal_v_delta_precalc>( const int nlocal, - const int lmaxd, - const int inlmax, const int nat, const int nks, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const std::vector gevdm, - const ModuleBase::IntArray* inl_index, const UnitCell& ucell, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -327,10 +318,9 @@ template void DeePKS_domain::cal_v_delta_precalc>( torch::Tensor& v_delta_precalc); template void DeePKS_domain::prepare_phialpha(const int nlocal, - const int lmaxd, - const int inlmax, const int nat, const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const UnitCell& ucell, @@ -341,10 +331,9 @@ template void DeePKS_domain::prepare_phialpha(const int nlocal, template void DeePKS_domain::prepare_phialpha>( const int nlocal, - const int lmaxd, - const int inlmax, const int nat, const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const UnitCell& ucell, diff --git a/source/source_lcao/module_deepks/deepks_vdpre.h b/source/source_lcao/module_deepks/deepks_vdpre.h index 90d2e887f6..bf096a4267 100644 --- a/source/source_lcao/module_deepks/deepks_vdpre.h +++ b/source/source_lcao/module_deepks/deepks_vdpre.h @@ -3,6 +3,7 @@ #ifdef __MLALGO +#include "deepks_param.h" #include "source_base/complexmatrix.h" #include "source_base/intarray.h" #include "source_base/matrix.h" @@ -32,15 +33,12 @@ namespace DeePKS_domain // calculates v_delta_precalc template void cal_v_delta_precalc(const int nlocal, - const int lmaxd, - const int inlmax, const int nat, const int nks, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const std::vector gevdm, - const ModuleBase::IntArray* inl_index, const UnitCell& ucell, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -51,10 +49,9 @@ void cal_v_delta_precalc(const int nlocal, // prepare phialpha for outputting npy file template void prepare_phialpha(const int nlocal, - const int lmaxd, - const int inlmax, const int nat, const int nks, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const UnitCell& ucell, @@ -65,8 +62,7 @@ void prepare_phialpha(const int nlocal, // prepare gevdm for outputting npy file void prepare_gevdm(const int nat, - const int lmaxd, - const int inlmax, + const DeePKS_Param& deepks_param, const LCAO_Orbitals& orb, const std::vector& gevdm_in, torch::Tensor& gevdm_out); diff --git a/source/source_lcao/module_deepks/deepks_vdrpre.cpp b/source/source_lcao/module_deepks/deepks_vdrpre.cpp index 5223549c16..e58f10b2e2 100644 --- a/source/source_lcao/module_deepks/deepks_vdrpre.cpp +++ b/source/source_lcao/module_deepks/deepks_vdrpre.cpp @@ -1,4 +1,4 @@ -// prepare_phialpha_r : prepare phialpha_r for outputting npy file +// prepare_phialpha_iRmat : prepare phialpha_r and iR_mat for outputting npy file #ifdef __MLALGO @@ -6,34 +6,29 @@ #include "LCAO_deepks_io.h" // mohan add 2024-07-22 #include "deepks_iterate.h" -#include "source_base/module_external/blas_connector.h" #include "source_base/constants.h" #include "source_base/libm/libm.h" +#include "source_base/module_external/blas_connector.h" #include "source_base/parallel_reduce.h" -#include "source_lcao/module_hcontainer/atom_pair.h" #include "source_io/module_parameter/parameter.h" +#include "source_lcao/module_hcontainer/atom_pair.h" -void DeePKS_domain::prepare_phialpha_r(const int nlocal, - const int lmaxd, - const int inlmax, - const int nat, - const int R_size, - const std::vector*> phialpha, - const UnitCell& ucell, - const LCAO_Orbitals& orb, - const Parallel_Orbitals& pv, - const Grid_Driver& GridD, - torch::Tensor& phialpha_r_out) +void DeePKS_domain::prepare_phialpha_iRmat(const int nlocal, + const int R_size, + const DeePKS_Param& deepks_param, + const std::vector*> phialpha, + const UnitCell& ucell, + const LCAO_Orbitals& orb, + const Grid_Driver& GridD, + torch::Tensor& overlap, + torch::Tensor& iRmat) { - ModuleBase::TITLE("DeePKS_domain", "prepare_phialpha_r"); - ModuleBase::timer::tick("DeePKS_domain", "prepare_phialpha_r"); + ModuleBase::TITLE("DeePKS_domain", "prepare_phialpha_iRmat"); + ModuleBase::timer::tick("DeePKS_domain", "prepare_phialpha_iRmat"); constexpr torch::Dtype dtype = torch::kFloat64; - int nlmax = inlmax / nat; - int mmax = 2 * lmaxd + 1; - - phialpha_r_out = torch::zeros({R_size, R_size, R_size, nat, nlmax, nlocal, mmax}, dtype); - auto accessor = phialpha_r_out.accessor(); + // get the maximum nnmax + std::vector nnmax_vec(ucell.nat, 0); DeePKS_domain::iterate_ad1( ucell, GridD, @@ -42,7 +37,7 @@ void DeePKS_domain::prepare_phialpha_r(const int nlocal, [&](const int iat, const ModuleBase::Vector3& tau0, const int ibt, - const ModuleBase::Vector3& tau, + const ModuleBase::Vector3& tau1, const int start, const int nw_tot, ModuleBase::Vector3 dR) @@ -51,65 +46,62 @@ void DeePKS_domain::prepare_phialpha_r(const int nlocal, { return; // to next loop } + nnmax_vec[iat]++; + } + ); + + int nnmax = *std::max_element(nnmax_vec.begin(), nnmax_vec.end()); + overlap = torch::zeros({ucell.nat, nnmax, nlocal, deepks_param.des_per_atom}, dtype); + torch::Tensor dRmat_tmp = torch::zeros({ucell.nat, nnmax, 3}, torch::kInt32); + auto overlap_accessor = overlap.accessor(); + auto dRmat_accessor = dRmat_tmp.accessor(); - // middle loop : all atomic basis on the adjacent atom ad - for (int iw1 = 0; iw1 < nw_tot; ++iw1) + std::fill(nnmax_vec.begin(), nnmax_vec.end(), 0); + DeePKS_domain::iterate_ad1( + ucell, + GridD, + orb, + false, // no trace_alpha + [&](const int iat, + const ModuleBase::Vector3& tau0, + const int ibt, + const ModuleBase::Vector3& tau1, + const int start, + const int nw_tot, + ModuleBase::Vector3 dR) + { + hamilt::BaseMatrix* overlap_mat = phialpha[0]->find_matrix(iat, ibt, dR); + if (overlap_mat == nullptr) { - const int iw1_all = start + iw1; - const int iw1_local = pv.global2local_row(iw1_all); - const int iw2_local = pv.global2local_col(iw1_all); - if (iw1_local < 0 || iw2_local < 0) - { - continue; - } - hamilt::BaseMatrix* overlap = phialpha[0]->find_matrix(iat, ibt, dR); - const int iR = phialpha[0]->find_R(dR); + return; // to next loop + } + dRmat_accessor[iat][nnmax_vec[iat]][0] = dR.x; + dRmat_accessor[iat][nnmax_vec[iat]][1] = dR.y; + dRmat_accessor[iat][nnmax_vec[iat]][2] = dR.z; - int ib = 0; - int nl = 0; - for (int L0 = 0; L0 <= orb.Alpha[0].getLmax(); ++L0) + for (int ix = 0; ix < nw_tot; ix++) + { + for (int iy = 0; iy < deepks_param.des_per_atom; iy++) { - for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) - { - const int nm = 2 * L0 + 1; - for (int m1 = 0; m1 < nm; ++m1) // nm = 1 for s, 3 for p, 5 for d - { - int iRx = DeePKS_domain::mapping_R(dR.x); - int iRy = DeePKS_domain::mapping_R(dR.y); - int iRz = DeePKS_domain::mapping_R(dR.z); - accessor[iRx][iRy][iRz][iat][nl][iw1_all][m1] - += overlap->get_value(iw1, ib + m1); - } - ib += nm; - nl++; - } + overlap_accessor[iat][nnmax_vec[iat]][start + ix][iy] = overlap_mat->get_value(ix, iy); } - } // end iw + } + nnmax_vec[iat]++; } ); - -#ifdef __MPI - int size = R_size * R_size * R_size * nat * nlmax * nlocal * mmax; - double* data_ptr = phialpha_r_out.data_ptr(); - Parallel_Reduce::reduce_all(data_ptr, size); - -#endif - - ModuleBase::timer::tick("DeePKS_domain", "prepare_phialpha_r"); + iRmat = mapping_R(dRmat_tmp.unsqueeze(1) - dRmat_tmp.unsqueeze(2)); + ModuleBase::timer::tick("DeePKS_domain", "prepare_phialpha_iRmat"); return; } void DeePKS_domain::cal_vdr_precalc(const int nlocal, - const int lmaxd, - const int inlmax, const int nat, const int nks, const int R_size, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const std::vector gevdm, - const ModuleBase::IntArray* inl_index, const UnitCell& ucell, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -119,101 +111,111 @@ void DeePKS_domain::cal_vdr_precalc(const int nlocal, ModuleBase::TITLE("DeePKS_domain", "calc_vdr_precalc"); ModuleBase::timer::tick("DeePKS_domain", "calc_vdr_precalc"); - torch::Tensor vdr_pdm - = torch::zeros({R_size, R_size, R_size, nlocal, nlocal, inlmax, (2 * lmaxd + 1), (2 * lmaxd + 1)}, - torch::TensorOptions().dtype(torch::kFloat64)); + torch::Tensor vdr_pdm = torch::zeros({R_size, + R_size, + R_size, + nlocal, + nlocal, + deepks_param.inlmax, + (2 * deepks_param.lmaxd + 1), + (2 * deepks_param.lmaxd + 1)}, + torch::TensorOptions().dtype(torch::kFloat64)); auto accessor = vdr_pdm.accessor(); - DeePKS_domain::iterate_ad2( - ucell, - GridD, - orb, - false, // no trace_alpha - [&](const int iat, - const ModuleBase::Vector3& tau0, - const int ibt1, - const ModuleBase::Vector3& tau1, - const int start1, - const int nw1_tot, - ModuleBase::Vector3 dR1, - const int ibt2, - const ModuleBase::Vector3& tau2, - const int start2, - const int nw2_tot, - ModuleBase::Vector3 dR2) - { - const int T0 = ucell.iat2it[iat]; - const int I0 = ucell.iat2ia[iat]; - if (phialpha[0]->find_matrix(iat, ibt1, dR1.x, dR1.y, dR1.z) == nullptr - || phialpha[0]->find_matrix(iat, ibt2, dR2.x, dR2.y, dR2.z) == nullptr) - { - return; // to next loop - } + DeePKS_domain::iterate_ad2(ucell, + GridD, + orb, + false, // no trace_alpha + [&](const int iat, + const ModuleBase::Vector3& tau0, + const int ibt1, + const ModuleBase::Vector3& tau1, + const int start1, + const int nw1_tot, + ModuleBase::Vector3 dR1, + const int ibt2, + const ModuleBase::Vector3& tau2, + const int start2, + const int nw2_tot, + ModuleBase::Vector3 dR2) { + const int T0 = ucell.iat2it[iat]; + const int I0 = ucell.iat2ia[iat]; + if (phialpha[0]->find_matrix(iat, ibt1, dR1.x, dR1.y, dR1.z) == nullptr + || phialpha[0]->find_matrix(iat, ibt2, dR2.x, dR2.y, dR2.z) == nullptr) + { + return; // to next loop + } - hamilt::BaseMatrix* overlap_1 = phialpha[0]->find_matrix(iat, ibt1, dR1); - hamilt::BaseMatrix* overlap_2 = phialpha[0]->find_matrix(iat, ibt2, dR2); - assert(overlap_1->get_col_size() == overlap_2->get_col_size()); - ModuleBase::Vector3 dR = dR1 - dR2; - int iRx = DeePKS_domain::mapping_R(dR.x); - int iRy = DeePKS_domain::mapping_R(dR.y); - int iRz = DeePKS_domain::mapping_R(dR.z); + hamilt::BaseMatrix* overlap_1 = phialpha[0]->find_matrix(iat, ibt1, dR1); + hamilt::BaseMatrix* overlap_2 = phialpha[0]->find_matrix(iat, ibt2, dR2); + assert(overlap_1->get_col_size() == overlap_2->get_col_size()); + ModuleBase::Vector3 dR = dR2 - dR1; + int iRx = DeePKS_domain::mapping_R(dR.x); + int iRy = DeePKS_domain::mapping_R(dR.y); + int iRz = DeePKS_domain::mapping_R(dR.z); + // Make sure the index is in range we need to save + if (iRx >= R_size || iRy >= R_size || iRz >= R_size) + { + return; // to next loop + } - for (int iw1 = 0; iw1 < nw1_tot; ++iw1) - { - const int iw1_all = start1 + iw1; // this is \mu - const int iw1_local = pv.global2local_row(iw1_all); - if (iw1_local < 0) - { - continue; - } - for (int iw2 = 0; iw2 < nw2_tot; ++iw2) - { - const int iw2_all = start2 + iw2; // this is \nu - const int iw2_local = pv.global2local_col(iw2_all); - if (iw2_local < 0) - { - continue; - } + for (int iw1 = 0; iw1 < nw1_tot; ++iw1) + { + const int iw1_all = start1 + iw1; // this is \mu + const int iw1_local = pv.global2local_row(iw1_all); + if (iw1_local < 0) + { + continue; + } + for (int iw2 = 0; iw2 < nw2_tot; ++iw2) + { + const int iw2_all = start2 + iw2; // this is \nu + const int iw2_local = pv.global2local_col(iw2_all); + if (iw2_local < 0) + { + continue; + } - int ib = 0; - for (int L0 = 0; L0 <= orb.Alpha[0].getLmax(); ++L0) - { - for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) - { - const int inl = inl_index[T0](I0, L0, N0); - const int nm = 2 * L0 + 1; + int ib = 0; + for (int L0 = 0; L0 <= orb.Alpha[0].getLmax(); ++L0) + { + for (int N0 = 0; N0 < orb.Alpha[0].getNchi(L0); ++N0) + { + const int inl = deepks_param.inl_index[T0](I0, L0, N0); + const int nm = 2 * L0 + 1; - for (int m1 = 0; m1 < nm; ++m1) // nm = 1 for s, 3 for p, 5 for d - { - for (int m2 = 0; m2 < nm; ++m2) // nm = 1 for s, 3 for p, 5 for d - { - double tmp = overlap_1->get_value(iw1, ib + m1) - * overlap_2->get_value(iw2, ib + m2); - accessor[iRx][iRy][iRz][iw1_all][iw2_all][inl][m1][m2] - += tmp; - } - } - ib += nm; - } - } - } // iw2 - } // iw1 - } - ); + for (int m1 = 0; m1 < nm; ++m1) // nm = 1 for s, 3 for p, 5 for d + { + for (int m2 = 0; m2 < nm; ++m2) // nm = 1 for s, 3 for p, 5 for d + { + double tmp = overlap_1->get_value(iw1, ib + m1) + * overlap_2->get_value(iw2, ib + m2); + accessor[iRx][iRy][iRz][iw1_all][iw2_all][inl][m1][m2] + += tmp; + } + } + ib += nm; + } + } + } // iw2 + } // iw1 + }); #ifdef __MPI - const int size = R_size * R_size * R_size * nlocal * nlocal * inlmax * (2 * lmaxd + 1) * (2 * lmaxd + 1); + const int size = R_size * R_size * R_size * nlocal * nlocal * deepks_param.inlmax * (2 * deepks_param.lmaxd + 1) + * (2 * deepks_param.lmaxd + 1); double* data_ptr = vdr_pdm.data_ptr(); Parallel_Reduce::reduce_all(data_ptr, size); #endif // transfer v_delta_pdm to v_delta_pdm_vector - int nlmax = inlmax / nat; + int nlmax = deepks_param.inlmax / nat; std::vector vdr_pdm_vector; for (int nl = 0; nl < nlmax; ++nl) { - int nm = 2 * inl2l[nl] + 1; - torch::Tensor vdr_pdm_sliced = vdr_pdm.slice(5, nl, inlmax, nlmax).slice(6, 0, nm, 1).slice(7, 0, nm, 1); + int nm = 2 * deepks_param.inl2l[nl] + 1; + torch::Tensor vdr_pdm_sliced + = vdr_pdm.slice(5, nl, deepks_param.inlmax, nlmax).slice(6, 0, nm, 1).slice(7, 0, nm, 1); vdr_pdm_vector.push_back(vdr_pdm_sliced); } @@ -250,6 +252,15 @@ int DeePKS_domain::mapping_R(int R) return R_index; } +torch::Tensor DeePKS_domain::mapping_R(const torch::Tensor& R_tensor) +{ + auto R = R_tensor.to(torch::kInt32); + auto pos = R > 0; + auto twoR_minus1 = R * 2 - 1; + auto neg_minus2R = -2 * R; + return at::where(pos, twoR_minus1, neg_minus2R); +} + template int DeePKS_domain::get_R_size(const hamilt::HContainer& hcontainer) { diff --git a/source/source_lcao/module_deepks/deepks_vdrpre.h b/source/source_lcao/module_deepks/deepks_vdrpre.h index cf1a4a1b61..fc7975ce49 100644 --- a/source/source_lcao/module_deepks/deepks_vdrpre.h +++ b/source/source_lcao/module_deepks/deepks_vdrpre.h @@ -3,6 +3,7 @@ #ifdef __MLALGO +#include "deepks_param.h" #include "source_base/complexmatrix.h" #include "source_base/intarray.h" #include "source_base/matrix.h" @@ -28,29 +29,25 @@ namespace DeePKS_domain // for deepks_v_delta = -1 // calculates v_delta_r_precalc -void prepare_phialpha_r(const int nlocal, - const int lmaxd, - const int inlmax, - const int nat, - const int R_size, - const std::vector*> phialpha, - const UnitCell& ucell, - const LCAO_Orbitals& orb, - const Parallel_Orbitals& pv, - const Grid_Driver& GridD, - torch::Tensor& phialpha_r_out); + +void prepare_phialpha_iRmat(const int nlocal, + const int R_size, + const DeePKS_Param& deepks_param, + const std::vector*> phialpha, + const UnitCell& ucell, + const LCAO_Orbitals& orb, + const Grid_Driver& GridD, + torch::Tensor& overlap, + torch::Tensor& iRmat); void cal_vdr_precalc(const int nlocal, - const int lmaxd, - const int inlmax, const int nat, const int nks, const int R_size, - const std::vector& inl2l, + const DeePKS_Param& deepks_param, const std::vector>& kvec_d, const std::vector*> phialpha, const std::vector gevdm, - const ModuleBase::IntArray* inl_index, const UnitCell& ucell, const LCAO_Orbitals& orb, const Parallel_Orbitals& pv, @@ -58,6 +55,7 @@ void cal_vdr_precalc(const int nlocal, torch::Tensor& vdr_precalc); int mapping_R(int R); +torch::Tensor mapping_R(const torch::Tensor& R_tensor); template int get_R_size(const hamilt::HContainer& hcontainer); diff --git a/source/source_lcao/module_deepks/test/CMakeLists.txt b/source/source_lcao/module_deepks/test/CMakeLists.txt index 4ea1cd1625..36327d3f1d 100644 --- a/source/source_lcao/module_deepks/test/CMakeLists.txt +++ b/source/source_lcao/module_deepks/test/CMakeLists.txt @@ -18,6 +18,8 @@ add_executable( ../../../source_cell/read_pp_upf201.cpp ../../../source_cell/read_pp_vwr.cpp ../../../source_cell/read_pp_blps.cpp + ../../../source_cell/sep.cpp + ../../../source_cell/sep_cell.cpp ../../../source_pw/module_pwdft/soc.cpp ../../../source_io/output.cpp ../../../source_io/sparse_matrix.cpp @@ -27,18 +29,18 @@ add_executable( ../../../source_estate/cal_nelec_nband.cpp ../../../source_estate/module_dm/density_matrix.cpp ../../../source_estate/module_dm/density_matrix_io.cpp - ../../../source_lcao/module_hcontainer/base_matrix.cpp - ../../../source_lcao/module_hcontainer/hcontainer.cpp - ../../../source_lcao/module_hcontainer/atom_pair.cpp - ../../../source_lcao/module_hcontainer/func_transfer.cpp - ../../../source_lcao/module_hcontainer/func_folding.cpp - ../../../source_lcao/module_hcontainer/transfer.cpp - ../../../source_lcao/module_hcontainer/output_hcontainer.cpp - ../../../source_lcao/module_operator_lcao/deepks_lcao.cpp - ../../../source_lcao/module_operator_lcao/operator_lcao.cpp + ../../module_hcontainer/base_matrix.cpp + ../../module_hcontainer/hcontainer.cpp + ../../module_hcontainer/atom_pair.cpp + ../../module_hcontainer/func_transfer.cpp + ../../module_hcontainer/func_folding.cpp + ../../module_hcontainer/transfer.cpp + ../../module_hcontainer/output_hcontainer.cpp + ../../module_operator_lcao/deepks_lcao.cpp + ../../module_operator_lcao/operator_lcao.cpp ../../../source_hamilt/operator.cpp - ../../../source_lcao/module_rt/td_info.cpp - ../../../source_lcao/module_rt/td_folding.cpp + ../../module_rt/td_info.cpp + ../../module_rt/td_folding.cpp ../../../source_estate/module_pot/H_TDDFT_pw.cpp ) diff --git a/source/source_lcao/module_deepks/test/LCAO_deepks_test.cpp b/source/source_lcao/module_deepks/test/LCAO_deepks_test.cpp index 82a963c65d..68718bd9b6 100644 --- a/source/source_lcao/module_deepks/test/LCAO_deepks_test.cpp +++ b/source/source_lcao/module_deepks/test/LCAO_deepks_test.cpp @@ -146,10 +146,7 @@ void test_deepks::check_pdm() Test_Deepks::GridD, this->ld.dm_r); DeePKS_domain::cal_pdm(this->ld.init_pdm, - this->ld.inlmax, - this->ld.lmaxd, - this->ld.inl2l, - this->ld.inl_index, + this->ld.deepks_param, kv.kvec_d, this->ld.dm_r, this->ld.phialpha, @@ -158,32 +155,25 @@ void test_deepks::check_pdm() Test_Deepks::GridD, ParaO, this->ld.pdm); - DeePKS_domain::check_pdm(this->ld.inlmax, this->ld.inl2l, this->ld.pdm); + DeePKS_domain::check_pdm(this->ld.deepks_param, this->ld.pdm); this->compare_with_ref("deepks_projdm.dat", "pdm_ref.dat"); } template void test_deepks::check_descriptor(std::vector& descriptor) { - DeePKS_domain::cal_descriptor(ucell.nat, - this->ld.inlmax, - this->ld.inl2l, - this->ld.pdm, - descriptor, - this->ld.des_per_atom); - DeePKS_domain::check_descriptor(this->ld.inlmax, this->ld.des_per_atom, this->ld.inl2l, ucell, "./", descriptor, 0); + DeePKS_domain::cal_descriptor(ucell.nat, this->ld.deepks_param, this->ld.pdm, descriptor); + DeePKS_domain::check_descriptor(this->ld.deepks_param, ucell, "./", descriptor, 0); this->compare_with_ref("deepks_desc.dat", "descriptor_ref.dat"); } template void test_deepks::check_gdmx(torch::Tensor& gdmx) { - DeePKS_domain::cal_gdmx(this->ld.lmaxd, - this->ld.inlmax, - kv.nkstot, + DeePKS_domain::cal_gdmx(kv.nkstot, + this->ld.deepks_param, kv.kvec_d, this->ld.phialpha, - this->ld.inl_index, this->ld.dm_r, ucell, ORB, @@ -198,9 +188,9 @@ template void test_deepks::check_gvx(torch::Tensor& gdmx) { std::vector gevdm; - DeePKS_domain::cal_gevdm(ucell.nat, this->ld.inlmax, this->ld.inl2l, this->ld.pdm, gevdm); + DeePKS_domain::cal_gevdm(ucell.nat, this->ld.deepks_param, this->ld.pdm, gevdm); torch::Tensor gvx; - DeePKS_domain::cal_gvx(ucell.nat, this->ld.inlmax, this->ld.des_per_atom, this->ld.inl2l, gevdm, gdmx, gvx, 0); + DeePKS_domain::cal_gvx(ucell.nat, this->ld.deepks_param, gevdm, gdmx, gvx, 0); DeePKS_domain::check_tensor(gvx, "gvx.dat", 0); // 0 for rank this->compare_with_ref("gvx.dat", "gvx_ref.dat"); } @@ -208,12 +198,10 @@ void test_deepks::check_gvx(torch::Tensor& gdmx) template void test_deepks::check_gdmepsl(torch::Tensor& gdmepsl) { - DeePKS_domain::cal_gdmepsl(this->ld.lmaxd, - this->ld.inlmax, - kv.nkstot, + DeePKS_domain::cal_gdmepsl(kv.nkstot, + this->ld.deepks_param, kv.kvec_d, this->ld.phialpha, - this->ld.inl_index, this->ld.dm_r, ucell, ORB, @@ -228,16 +216,9 @@ template void test_deepks::check_gvepsl(torch::Tensor& gdmepsl) { std::vector gevdm; - DeePKS_domain::cal_gevdm(ucell.nat, this->ld.inlmax, this->ld.inl2l, this->ld.pdm, gevdm); + DeePKS_domain::cal_gevdm(ucell.nat, this->ld.deepks_param, this->ld.pdm, gevdm); torch::Tensor gvepsl; - DeePKS_domain::cal_gvepsl(ucell.nat, - this->ld.inlmax, - this->ld.des_per_atom, - this->ld.inl2l, - gevdm, - gdmepsl, - gvepsl, - 0); + DeePKS_domain::cal_gvepsl(ucell.nat, this->ld.deepks_param, gevdm, gdmepsl, gvepsl, 0); DeePKS_domain::check_tensor(gvepsl, "gvepsl.dat", 0); // 0 for rank this->compare_with_ref("gvepsl.dat", "gvepsl_ref.dat"); } @@ -248,17 +229,14 @@ void test_deepks::check_orbpre() using TH = std::conditional_t::value, ModuleBase::matrix, ModuleBase::ComplexMatrix>; std::vector gevdm; torch::Tensor orbpre; - DeePKS_domain::cal_gevdm(ucell.nat, this->ld.inlmax, this->ld.inl2l, this->ld.pdm, gevdm); + DeePKS_domain::cal_gevdm(ucell.nat, this->ld.deepks_param, this->ld.pdm, gevdm); DeePKS_domain::cal_orbital_precalc(dm, - this->ld.lmaxd, - this->ld.inlmax, ucell.nat, kv.nkstot, - this->ld.inl2l, + this->ld.deepks_param, kv.kvec_d, this->ld.phialpha, gevdm, - this->ld.inl_index, ucell, ORB, ParaO, @@ -273,17 +251,14 @@ void test_deepks::check_vdpre() { std::vector gevdm; torch::Tensor vdpre; - DeePKS_domain::cal_gevdm(ucell.nat, this->ld.inlmax, this->ld.inl2l, this->ld.pdm, gevdm); + DeePKS_domain::cal_gevdm(ucell.nat, this->ld.deepks_param, this->ld.pdm, gevdm); DeePKS_domain::cal_v_delta_precalc(PARAM.sys.nlocal, - this->ld.lmaxd, - this->ld.inlmax, ucell.nat, kv.nkstot, - this->ld.inl2l, + this->ld.deepks_param, kv.kvec_d, this->ld.phialpha, gevdm, - this->ld.inl_index, ucell, ORB, ParaO, @@ -298,29 +273,41 @@ void test_deepks::check_vdrpre() { std::vector gevdm; torch::Tensor vdrpre; - DeePKS_domain::cal_gevdm(ucell.nat, this->ld.inlmax, this->ld.inl2l, this->ld.pdm, gevdm); - // normally use hR to get R_size, here use phialpha[0] only for test case - int R_size = DeePKS_domain::get_R_size(*(this->ld.phialpha[0])); + torch::Tensor overlap_out; + torch::Tensor iRmat; + DeePKS_domain::cal_gevdm(ucell.nat, this->ld.deepks_param, this->ld.pdm, gevdm); + // normally use hR to get R_size, here use 3 instead for Bravo lattice R in [-1,0,1] + int R_size = 3; DeePKS_domain::cal_vdr_precalc(PARAM.sys.nlocal, - this->ld.lmaxd, - this->ld.inlmax, ucell.nat, kv.nkstot, R_size, - this->ld.inl2l, + this->ld.deepks_param, kv.kvec_d, this->ld.phialpha, gevdm, - this->ld.inl_index, ucell, ORB, ParaO, Test_Deepks::GridD, vdrpre); - // vdrpre is large, we only check the main element in Bravo lattice vector (0, 0, 0) - torch::Tensor vdrpre_sliced = vdrpre.slice(0, 0, 1, 1).slice(1, 0, 1, 1).slice(2, 0, 1, 1); + DeePKS_domain::prepare_phialpha_iRmat(PARAM.sys.nlocal, + R_size, + this->ld.deepks_param, + this->ld.phialpha, + ucell, + ORB, + Test_Deepks::GridD, + overlap_out, + iRmat); + // vdrpre is large, we only check the main element in Bravo lattice vector (0, 0, 0) and (1, 0, 0) + torch::Tensor vdrpre_sliced = vdrpre.slice(0, 0, 2, 1).slice(1, 0, 1, 1).slice(2, 0, 1, 1); DeePKS_domain::check_tensor(vdrpre_sliced, "vdr_precalc.dat", 0); // 0 for rank + DeePKS_domain::check_tensor(overlap_out, "phialpha_r.dat", 0); // 0 for rank + DeePKS_domain::check_tensor(iRmat, "iRmat.dat", 0); // 0 for rank this->compare_with_ref("vdr_precalc.dat", "vdrpre_ref.dat"); + this->compare_with_ref("phialpha_r.dat", "phialpha_r_ref.dat"); + this->compare_with_ref("iRmat.dat", "iRmat_ref.dat"); } template @@ -331,11 +318,7 @@ void test_deepks::check_edelta(std::vector& descriptor) if (PARAM.inp.deepks_equiv) { DeePKS_domain::cal_edelta_gedm_equiv(ucell.nat, - this->ld.lmaxd, - this->ld.nmaxd, - this->ld.inlmax, - this->ld.des_per_atom, - this->ld.inl2l, + this->ld.deepks_param, descriptor, this->ld.gedm, this->ld.E_delta, @@ -344,9 +327,7 @@ void test_deepks::check_edelta(std::vector& descriptor) else { DeePKS_domain::cal_edelta_gedm(ucell.nat, - this->ld.inlmax, - this->ld.des_per_atom, - this->ld.inl2l, + this->ld.deepks_param, descriptor, this->ld.pdm, this->ld.model_deepks, @@ -359,7 +340,7 @@ void test_deepks::check_edelta(std::vector& descriptor) ofs.close(); this->compare_with_ref("E_delta.dat", "E_delta_ref.dat"); - // DeePKS_domain::check_gedm(this->ld.inlmax, this->ld.inl2l, this->ld.gedm); + // DeePKS_domain::check_gedm(this->ld.deepks_param, this->ld.gedm); // this->compare_with_ref("gedm.dat", "gedm_ref.dat"); } @@ -412,10 +393,10 @@ void test_deepks::check_f_delta_and_stress_delta() Test_Deepks::GridD, ParaO, nks, + this->ld.deepks_param, kv.kvec_d, this->ld.phialpha, this->ld.gedm, - this->ld.inl_index, fvnl_dalpha, cal_stress, svnl_dalpha); @@ -462,8 +443,8 @@ void test_deepks::compare_with_ref(const std::string f1, const std::string f2 file2 >> word2; if ((word1[0] - '0' >= 0 && word1[0] - '0' < 10) || word1[0] == '-') { - double num1 = std::stof(word1); - double num2 = std::stof(word2); + double num1 = std::stod(word1); + double num2 = std::stod(word2); if (std::abs(num1 - num2) > test_thr) { this->failed_check += 1; @@ -476,10 +457,10 @@ void test_deepks::compare_with_ref(const std::string f1, const std::string f2 { std::string word1_str = word1.substr(1, word1.size() - 2); std::string word2_str = word2.substr(1, word2.size() - 2); - double word1_real = std::stof(word1_str.substr(0, word1_str.find(','))); - double word1_imag = std::stof(word1_str.substr(word1_str.find(',') + 1)); - double word2_real = std::stof(word2_str.substr(0, word2_str.find(','))); - double word2_imag = std::stof(word2_str.substr(word2_str.find(',') + 1)); + double word1_real = std::stod(word1_str.substr(0, word1_str.find(','))); + double word1_imag = std::stod(word1_str.substr(word1_str.find(',') + 1)); + double word2_real = std::stod(word2_str.substr(0, word2_str.find(','))); + double word2_imag = std::stod(word2_str.substr(word2_str.find(',') + 1)); if (std::abs(word1_real - word2_real) > test_thr || std::abs(word1_imag - word2_imag) > test_thr) { this->failed_check += 1; diff --git a/source/source_lcao/module_deepks/test/klist.h b/source/source_lcao/module_deepks/test/klist.h index 12e0e4d40e..7400d82c45 100644 --- a/source/source_lcao/module_deepks/test/klist.h +++ b/source/source_lcao/module_deepks/test/klist.h @@ -1,72 +1,69 @@ -///klist : adapted from klist from source_pw/module_pwdft -///deals with k point sampling +/// klist : adapted from klist from source_pw/module_pwdft +/// deals with k point sampling -#include "source_base/vector3.h" +#include "source_base/global_function.h" #include "source_base/matrix3.h" #include "source_base/memory.h" -#include "source_base/global_function.h" -#include +#include "source_base/vector3.h" + #include +#include namespace Test_Deepks { class K_Vectors { -public: - - ModuleBase::Vector3 *kvec_c; // Cartesian coordinates of k points - std::vector> kvec_d; // Direct coordinates of k points + public: + ModuleBase::Vector3* kvec_c; // Cartesian coordinates of k points + std::vector> kvec_d; // Direct coordinates of k points - double *wk; // wk, weight of k points + double* wk; // wk, weight of k points - int *isk; // distinguish spin up and down k points + int* isk; // distinguish spin up and down k points - int nkstot; // total number of k points + int nkstot; // total number of k points - int nmp[3]; // Number of Monhorst-Pack + int nmp[3]; // Number of Monhorst-Pack K_Vectors(); ~K_Vectors(); - void set( - const std::string &k_file_name, - const int& nspin, - const ModuleBase::Matrix3 &reciprocal_vec, - const ModuleBase::Matrix3 &latvec, - bool &GAMMA_ONLY_LOCAL, - std::ofstream &ofs_running, - std::ofstream &ofs_warning); + void set(const std::string& k_file_name, + const int& nspin, + const ModuleBase::Matrix3& reciprocal_vec, + const ModuleBase::Matrix3& latvec, + bool& GAMMA_ONLY_LOCAL, + std::ofstream& ofs_running, + std::ofstream& ofs_warning); -private: + private: int nspin; bool kc_done; bool kd_done; - double koffset[3]; // used only in automatic k-points. - std::string k_kword; //LiuXh add 20180619 - int k_nkstot; //LiuXh add 20180619 + double koffset[3]; // used only in automatic k-points. + std::string k_kword; // LiuXh add 20180619 + int k_nkstot; // LiuXh add 20180619 // step 1 : generate kpoints - bool read_kpoints( - const std::string &fn, - bool &GAMMA_ONLY_LOCAL, - std::ofstream &ofs_warning, - std::ofstream &ofs_running); - void Monkhorst_Pack(const int *nmp_in,const double *koffset_in,const int tipo); - double Monkhorst_Pack_formula( const int &k_type, const double &offset, - const int& n, const int &dim); + bool read_kpoints(const std::string& fn, + bool& GAMMA_ONLY_LOCAL, + std::ofstream& ofs_warning, + std::ofstream& ofs_running); + void Monkhorst_Pack(const int* nmp_in, const double* koffset_in, const int tipo); + double Monkhorst_Pack_formula(const int& k_type, const double& offset, const int& n, const int& dim); // step 2 : set both kvec and kved; normalize weight - void set_both_kvec(const ModuleBase::Matrix3 &G,const ModuleBase::Matrix3 &Rm, std::ofstream &ofs_running); - void renew(const int &kpoint_number); - void normalize_wk( const int °spin ); + void set_both_kvec(const ModuleBase::Matrix3& G, const ModuleBase::Matrix3& Rm, std::ofstream& ofs_running); + void renew(const int& kpoint_number); + void normalize_wk(const int& degspin); // step 3 : *2 or *4 kpoints. // *2 for LSDA // *4 for non-collinear - void set_kup_and_kdw(std::ofstream &ofs_running); + void set_kup_and_kdw(std::ofstream& ofs_running); // step 4 // print k lists. - void print_klists(std::ofstream &fn_running); + void print_klists(std::ofstream& fn_running); }; -} +} // namespace Test_Deepks diff --git a/source/source_lcao/module_deepks/test/klist_1.cpp b/source/source_lcao/module_deepks/test/klist_1.cpp index b4e9fdea81..709a193ece 100644 --- a/source/source_lcao/module_deepks/test/klist_1.cpp +++ b/source/source_lcao/module_deepks/test/klist_1.cpp @@ -1,605 +1,589 @@ #include "klist.h" - #include "source_io/module_parameter/parameter.h" namespace Test_Deepks { - K_Vectors::K_Vectors() - { - nspin = 0; // default spin. - kc_done = false; - kd_done = false; - - kvec_c = new ModuleBase::Vector3[1]; - kvec_d.resize(1); - - wk = nullptr; - isk = nullptr; - - nkstot = 0; - } - - K_Vectors::~K_Vectors() - { - delete[] kvec_c; - kvec_d.clear(); - delete[] wk; - delete[] isk; - } - - void K_Vectors::set( - const std::string &k_file_name, - const int& nspin_in, - const ModuleBase::Matrix3 &reciprocal_vec, - const ModuleBase::Matrix3 &latvec, - bool &GAMMA_ONLY_LOCAL, - std::ofstream &ofs_running, - std::ofstream &ofs_warning) - { - - ofs_running << "\n\n\n\n"; - ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; - ofs_running << " | |" << std::endl; - ofs_running << " | Setup K-points |" << std::endl; - ofs_running << " | We setup the k-points according to input parameters. |" << std::endl; - ofs_running << " | The reduced k-points are set according to symmetry operations. |" << std::endl; - ofs_running << " | We treat the spin as another set of k-points. |" << std::endl; - ofs_running << " | |" << std::endl; - ofs_running << " <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" << std::endl; - ofs_running << "\n\n\n\n"; - - ofs_running << "\n SETUP K-POINTS" << std::endl; - - // (1) set nspin, read kpoints. - this->nspin = nspin_in; - ModuleBase::GlobalFunc::OUT(ofs_running,"nspin",nspin); - - bool read_succesfully = this->read_kpoints( - k_file_name, - GAMMA_ONLY_LOCAL, - ofs_warning, - ofs_running); - if(!read_succesfully) - { - ofs_warning << "in K_Vectors::set, something wrong while reading KPOINTS." << std::endl; - exit(1); - } - - // (2) - this->set_both_kvec(reciprocal_vec, latvec, ofs_running); - - int deg = 0; - if(PARAM.inp.nspin == 1) - { - deg = 2; - } - else if(PARAM.inp.nspin == 2||PARAM.inp.nspin==4) - { - deg = 1; - } - else - { - ofs_warning << "In K_Vectors::set, Only available for nspin = 1 or 2 or 4" << std::endl; - exit(1); - } - this->normalize_wk(deg); - - // It's very important in parallel case, - // firstly do the mpi_k() and then - // do set_kup_and_kdw() - - this->set_kup_and_kdw(ofs_running); - - this->print_klists(ofs_running); - //std::cout << " NUMBER OF K-POINTS : " << nkstot << std::endl; - - return; - } - - void K_Vectors::renew(const int &kpoint_number) - { - delete[] kvec_c; - delete[] wk; - delete[] isk; - - kvec_c = new ModuleBase::Vector3[kpoint_number]; - kvec_d.resize(kpoint_number); - wk = new double[kpoint_number]; - isk = new int[kpoint_number]; - - ModuleBase::Memory::record("KV::kvec_c",sizeof(double) * kpoint_number*3); - ModuleBase::Memory::record("KV::kvec_d",sizeof(double) * kpoint_number*3); - ModuleBase::Memory::record("KV::wk",sizeof(double) * kpoint_number*3); - ModuleBase::Memory::record("KV::isk",sizeof(int) * kpoint_number*3); - - return; - } - - bool K_Vectors::read_kpoints(const std::string &fn, bool &GAMMA_ONLY_LOCAL, std::ofstream &ofs_warning, std::ofstream &ofs_running) - { - - std::ifstream ifk(fn.c_str()); - ifk >> std::setiosflags(std::ios::uppercase); - - ifk.clear(); - ifk.seekg(0); - - std::string word; - std::string kword; - - int ierr = 0; - - ifk.rdstate(); - - while (ifk.good()) - { - ifk >> word; - ifk.ignore(150, '\n'); //LiuXh add 20180416, fix bug in k-point file when the first line with comments - if (word == "K_POINTS" || word == "KPOINTS" || word == "K" ) - { - ierr = 1; - break; - } - - ifk.rdstate(); - } - - if (ierr == 0) - { - ofs_warning << " symbol K_POINTS not found." << std::endl; - return 0; - } - - //input k-points are in 2pi/a units - ModuleBase::GlobalFunc::READ_VALUE(ifk, nkstot); - - //std::cout << " nkstot = " << nkstot << std::endl; - ModuleBase::GlobalFunc::READ_VALUE(ifk, kword); - - // mohan update 2021-02-22 - int max_kpoints = 100000; - if (nkstot > 100000) - { - ofs_warning << " nkstot > MAX_KPOINTS" << std::endl; - return 0; - } - - int k_type = 0; - if (nkstot == 0) // nkstot==0, use monkhorst_pack. add by dwan - { - if (kword == "Gamma") - { - k_type = 0; - ModuleBase::GlobalFunc::OUT(ofs_running,"Input type of k points","Monkhorst-Pack(Gamma)"); - } - else if (kword == "Monkhorst-Pack" || kword == "MP" || kword == "mp") - { - k_type = 1; - ModuleBase::GlobalFunc::OUT(ofs_running,"Input type of k points","Monkhorst-Pack"); - } - else - { - ofs_warning << " Error: neither Gamma nor Monkhorst-Pack." << std::endl; - return 0; - } - - ifk >> nmp[0] >> nmp[1] >> nmp[2]; - - ifk >> koffset[0] >> koffset[1] >> koffset[2]; - this->Monkhorst_Pack(nmp, koffset, k_type); - } - else if (nkstot > 0) - { - if (kword == "Cartesian" || kword == "C") - { - this->renew(nkstot * nspin);//mohan fix bug 2009-09-01 - for (int i = 0;i < nkstot;i++) - { - ifk >> kvec_c[i].x >> kvec_c[i].y >> kvec_c[i].z; - ModuleBase::GlobalFunc::READ_VALUE(ifk, wk[i]); - } - - this->kc_done = true; - } - else if (kword == "Direct" || kword == "D") - { - this->renew(nkstot * nspin);//mohan fix bug 2009-09-01 - for (int i = 0;i < nkstot;i++) - { - ifk >> kvec_d[i].x >> kvec_d[i].y >> kvec_d[i].z; - ModuleBase::GlobalFunc::READ_VALUE(ifk, wk[i]); - } - this->kd_done = true; - } - else if (kword == "Line_Cartesian" ) - { - //std::cout << " kword = " << kword << std::endl; - - // how many special points. - int nks_special = this->nkstot; - //std::cout << " nks_special = " << nks_special << std::endl; - - //------------------------------------------ - // number of points to the next k points - //------------------------------------------ - int* nkl = new int[nks_special]; - - //------------------------------------------ - // cartesian coordinates of special points. - //------------------------------------------ - double *ksx = new double[nks_special]; - double *ksy = new double[nks_special]; - double *ksz = new double[nks_special]; - std::vector kposx; - std::vector kposy; - std::vector kposz; - ModuleBase::GlobalFunc::ZEROS(nkl, nks_special); - - //recalculate nkstot. - nkstot = 0; - for(int iks=0; iks> ksx[iks]; - ifk >> ksy[iks]; - ifk >> ksz[iks]; - ModuleBase::GlobalFunc::READ_VALUE( ifk, nkl[iks] ); - //std::cout << " nkl[" << iks << "]=" << nkl[iks] << std::endl; - assert(nkl[iks] >= 0); - nkstot += nkl[iks]; - } - assert( nkl[nks_special-1] == 1); - - //std::cout << " nkstot = " << nkstot << std::endl; - this->renew(nkstot * nspin);//mohan fix bug 2009-09-01 - - int count = 0; - for(int iks=1; ikskc_done = true; - - } - - else if (kword == "Line_Direct" || kword == "L" || kword == "Line" ) - { - //std::cout << " kword = " << kword << std::endl; - - // how many special points. - int nks_special = this->nkstot; - //std::cout << " nks_special = " << nks_special << std::endl; - - //------------------------------------------ - // number of points to the next k points - //------------------------------------------ - int* nkl = new int[nks_special]; - - //------------------------------------------ - // cartesian coordinates of special points. - //------------------------------------------ - double *ksx = new double[nks_special]; - double *ksy = new double[nks_special]; - double *ksz = new double[nks_special]; - std::vector kposx; - std::vector kposy; - std::vector kposz; - ModuleBase::GlobalFunc::ZEROS(nkl, nks_special); - - //recalculate nkstot. - nkstot = 0; - for(int iks=0; iks> ksx[iks]; - ifk >> ksy[iks]; - ifk >> ksz[iks]; - ModuleBase::GlobalFunc::READ_VALUE( ifk, nkl[iks] ); - //std::cout << " nkl[" << iks << "]=" << nkl[iks] << std::endl; - assert(nkl[iks] >= 0); - nkstot += nkl[iks]; - } - assert( nkl[nks_special-1] == 1); - - //std::cout << " nkstot = " << nkstot << std::endl; - this->renew(nkstot * nspin);//mohan fix bug 2009-09-01 - - int count = 0; - for(int iks=1; ikskd_done = true; - - } - - else - { - ofs_warning << " Error : neither Cartesian nor Direct kpoint." << std::endl; - return 0; - } - } - - ModuleBase::GlobalFunc::OUT(ofs_running,"nkstot",nkstot); - return 1; - } // END SUBROUTINE - - - double K_Vectors::Monkhorst_Pack_formula( const int &k_type, const double &offset, - const int& n, const int &dim) - { - double coordinate; - if (k_type==1) coordinate = (offset + 2.0 * (double)n - (double)dim - 1.0) / (2.0 * (double)dim); - else coordinate = (offset + (double)n - 1.0) / (double)dim; - - return coordinate; - } - - //add by dwan - void K_Vectors::Monkhorst_Pack(const int *nmp_in, const double *koffset_in, const int k_type) - { - const int mpnx = nmp_in[0]; - const int mpny = nmp_in[1]; - const int mpnz = nmp_in[2]; - - this->nkstot = mpnx * mpny * mpnz; - // only can renew after nkstot is estimated. - this->renew(nkstot * nspin); // mohan fix bug 2009-09-01 - for (int x = 1;x <= mpnx;x++) - { - double v1 = Monkhorst_Pack_formula( k_type, koffset_in[0], x, mpnx); - if( std::abs(v1) < 1.0e-10 ) v1 = 0.0; //mohan update 2012-06-10 - for (int y = 1;y <= mpny;y++) - { - double v2 = Monkhorst_Pack_formula( k_type, koffset_in[1], y, mpny); - if( std::abs(v2) < 1.0e-10 ) v2 = 0.0; - for (int z = 1;z <= mpnz;z++) - { - double v3 = Monkhorst_Pack_formula( k_type, koffset_in[2], z, mpnz); - if( std::abs(v3) < 1.0e-10 ) v3 = 0.0; - // index of nks kpoint - const int i = mpnx * mpny * (z - 1) + mpnx * (y - 1) + (x - 1); - kvec_d[i].set(v1, v2, v3); - } - } - } - - const double weight = 1.0 / static_cast(nkstot); - for (int ik=0; ikkd_done = true; - - return; - } - - void K_Vectors::set_both_kvec(const ModuleBase::Matrix3 &G, const ModuleBase::Matrix3 &R, std::ofstream &ofs_running) - { - // set cartesian k vectors. - if (!kc_done && kd_done) - { - for (int i = 0;i < nkstot;i++) - { - //wrong!! kvec_c[i] = G * kvec_d[i]; - // mohan fixed bug 2010-1-10 - if( std::abs(kvec_d[i].x) < 1.0e-10 ) kvec_d[i].x = 0.0; - if( std::abs(kvec_d[i].y) < 1.0e-10 ) kvec_d[i].y = 0.0; - if( std::abs(kvec_d[i].z) < 1.0e-10 ) kvec_d[i].z = 0.0; - - // mohan add2012-06-10 - if( std::abs(kvec_c[i].x) < 1.0e-10 ) kvec_c[i].x = 0.0; - if( std::abs(kvec_c[i].y) < 1.0e-10 ) kvec_c[i].y = 0.0; - if( std::abs(kvec_c[i].z) < 1.0e-10 ) kvec_c[i].z = 0.0; - } - kc_done = true; - } - - // set direct k vectors - else if (kc_done && !kd_done) - { - ModuleBase::Matrix3 RT = R.Transpose(); - for (int i = 0;i < nkstot;i++) - { - // std::cout << " ik=" << i - // << " kvec.x=" << kvec_c[i].x - // << " kvec.y=" << kvec_c[i].y - // << " kvec.z=" << kvec_c[i].z << std::endl; - //wrong! kvec_d[i] = RT * kvec_c[i]; - // mohan fixed bug 2011-03-07 - kvec_d[i] = kvec_c[i] * RT; - } - kd_done = true; - } - - ofs_running << "\n " << std::setw(8) << "KPOINTS" - << std::setw(20) << "DIRECT_X" - << std::setw(20) << "DIRECT_Y" - << std::setw(20) << "DIRECT_Z" - << std::setw(20) << "WEIGHT" << std::endl; - - for(int i=0; ikvec_d[i].x - << std::setw(20) << this->kvec_d[i].y - << std::setw(20) << this->kvec_d[i].z - << std::setw(20) << this->wk[i] << std::endl; - } - - return; - } - - - void K_Vectors::normalize_wk(const int °spin) - { - double sum = 0.0; - - for (int ik = 0;ik < nkstot;ik++) - { - sum += this->wk[ik]; - } - assert(sum>0.0); - - for (int ik = 0;ik < nkstot;ik++) - { - this->wk[ik] /= sum; - } - - for (int ik = 0;ik < nkstot;ik++) - { - this->wk[ik] *= degspin; - } - - return; - } - - //---------------------------------------------------------- - // This routine sets the k vectors for the up and down spin - //---------------------------------------------------------- - // from set_kup_and_kdw.f90 - void K_Vectors::set_kup_and_kdw(std::ofstream &ofs_running) - { - //========================================================================= - // on output: the number of points is doubled and xk and wk in the - // first (nks/2) positions correspond to up spin - // those in the second (nks/2) ones correspond to down spin - //========================================================================= - switch (nspin) - { - case 1: - - for (int ik = 0; ik < nkstot; ik++) - { - this->isk[ik] = 0; - } - - break; - - case 2: - - for (int ik = 0; ik < nkstot; ik++) - { - this->kvec_c[ik+nkstot] = kvec_c[ik]; - this->kvec_d[ik+nkstot] = kvec_d[ik]; - this->wk[ik+nkstot] = wk[ik]; - this->isk[ik] = 0; - this->isk[ik+nkstot] = 1; - } - - this->nkstot *= 2; - - ModuleBase::GlobalFunc::OUT(ofs_running,"nkstot(nspin=2)",nkstot); - break; - case 4: - - for (int ik = 0; ik < nkstot; ik++) - { - this->isk[ik] = 0; - } - - break; - } - - return; - } // end subroutine set_kup_and_kdw - - - void K_Vectors::print_klists(std::ofstream &ofs_running) - { - ofs_running << "\n " << std::setw(8) << "KPOINTS" - << std::setw(20) << "CARTESIAN_X" - << std::setw(20) << "CARTESIAN_Y" - << std::setw(20) << "CARTESIAN_Z" - << std::setw(20) << "WEIGHT" << std::endl; - for(int i=0; ikvec_c[i].x - << std::setw(20) << this->kvec_c[i].y - << std::setw(20) << this->kvec_c[i].z - << std::setw(20) << this->wk[i] << std::endl; - } - - ofs_running << "\n " << std::setw(8) << "KPOINTS" - << std::setw(20) << "DIRECT_X" - << std::setw(20) << "DIRECT_Y" - << std::setw(20) << "DIRECT_Z" - << std::setw(20) << "WEIGHT" << std::endl; - for(int i=0; ikvec_d[i].x - << std::setw(20) << this->kvec_d[i].y - << std::setw(20) << this->kvec_d[i].z - << std::setw(20) << this->wk[i] << std::endl; - } - - return; - } +K_Vectors::K_Vectors() +{ + nspin = 0; // default spin. + kc_done = false; + kd_done = false; + + kvec_c = new ModuleBase::Vector3[1]; + kvec_d.resize(1); + + wk = nullptr; + isk = nullptr; + + nkstot = 0; +} + +K_Vectors::~K_Vectors() +{ + delete[] kvec_c; + kvec_d.clear(); + delete[] wk; + delete[] isk; +} + +void K_Vectors::set(const std::string& k_file_name, + const int& nspin_in, + const ModuleBase::Matrix3& reciprocal_vec, + const ModuleBase::Matrix3& latvec, + bool& GAMMA_ONLY_LOCAL, + std::ofstream& ofs_running, + std::ofstream& ofs_warning) +{ + ofs_running << "\n\n\n\n"; + ofs_running << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << std::endl; + ofs_running << " | |" << std::endl; + ofs_running << " | Setup K-points |" << std::endl; + ofs_running << " | We setup the k-points according to input parameters. |" << std::endl; + ofs_running << " | The reduced k-points are set according to symmetry operations. |" << std::endl; + ofs_running << " | We treat the spin as another set of k-points. |" << std::endl; + ofs_running << " | |" << std::endl; + ofs_running << " <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" << std::endl; + ofs_running << "\n\n\n\n"; + + ofs_running << "\n SETUP K-POINTS" << std::endl; + + // (1) set nspin, read kpoints. + this->nspin = nspin_in; + ModuleBase::GlobalFunc::OUT(ofs_running, "nspin", nspin); + + bool read_succesfully = this->read_kpoints(k_file_name, GAMMA_ONLY_LOCAL, ofs_warning, ofs_running); + if (!read_succesfully) + { + ofs_warning << "in K_Vectors::set, something wrong while reading KPOINTS." << std::endl; + exit(1); + } + + // (2) + this->set_both_kvec(reciprocal_vec, latvec, ofs_running); + + int deg = 0; + if (PARAM.inp.nspin == 1) + { + deg = 2; + } + else if (PARAM.inp.nspin == 2 || PARAM.inp.nspin == 4) + { + deg = 1; + } + else + { + ofs_warning << "In K_Vectors::set, Only available for nspin = 1 or 2 or 4" << std::endl; + exit(1); + } + this->normalize_wk(deg); + + // It's very important in parallel case, + // firstly do the mpi_k() and then + // do set_kup_and_kdw() + + this->set_kup_and_kdw(ofs_running); + + this->print_klists(ofs_running); + // std::cout << " NUMBER OF K-POINTS : " << nkstot << std::endl; + + return; } + +void K_Vectors::renew(const int& kpoint_number) +{ + delete[] kvec_c; + delete[] wk; + delete[] isk; + + kvec_c = new ModuleBase::Vector3[kpoint_number]; + kvec_d.resize(kpoint_number); + wk = new double[kpoint_number]; + isk = new int[kpoint_number]; + + ModuleBase::Memory::record("KV::kvec_c", sizeof(double) * kpoint_number * 3); + ModuleBase::Memory::record("KV::kvec_d", sizeof(double) * kpoint_number * 3); + ModuleBase::Memory::record("KV::wk", sizeof(double) * kpoint_number * 3); + ModuleBase::Memory::record("KV::isk", sizeof(int) * kpoint_number * 3); + + return; +} + +bool K_Vectors::read_kpoints(const std::string& fn, + bool& GAMMA_ONLY_LOCAL, + std::ofstream& ofs_warning, + std::ofstream& ofs_running) +{ + + std::ifstream ifk(fn.c_str()); + ifk >> std::setiosflags(std::ios::uppercase); + + ifk.clear(); + ifk.seekg(0); + + std::string word; + std::string kword; + + int ierr = 0; + + ifk.rdstate(); + + while (ifk.good()) + { + ifk >> word; + ifk.ignore(150, '\n'); // LiuXh add 20180416, fix bug in k-point file when the first line with comments + if (word == "K_POINTS" || word == "KPOINTS" || word == "K") + { + ierr = 1; + break; + } + + ifk.rdstate(); + } + + if (ierr == 0) + { + ofs_warning << " symbol K_POINTS not found." << std::endl; + return 0; + } + + // input k-points are in 2pi/a units + ModuleBase::GlobalFunc::READ_VALUE(ifk, nkstot); + + // std::cout << " nkstot = " << nkstot << std::endl; + ModuleBase::GlobalFunc::READ_VALUE(ifk, kword); + + // mohan update 2021-02-22 + int max_kpoints = 100000; + if (nkstot > 100000) + { + ofs_warning << " nkstot > MAX_KPOINTS" << std::endl; + return 0; + } + + int k_type = 0; + if (nkstot == 0) // nkstot==0, use monkhorst_pack. add by dwan + { + if (kword == "Gamma") + { + k_type = 0; + ModuleBase::GlobalFunc::OUT(ofs_running, "Input type of k points", "Monkhorst-Pack(Gamma)"); + } + else if (kword == "Monkhorst-Pack" || kword == "MP" || kword == "mp") + { + k_type = 1; + ModuleBase::GlobalFunc::OUT(ofs_running, "Input type of k points", "Monkhorst-Pack"); + } + else + { + ofs_warning << " Error: neither Gamma nor Monkhorst-Pack." << std::endl; + return 0; + } + + ifk >> nmp[0] >> nmp[1] >> nmp[2]; + + ifk >> koffset[0] >> koffset[1] >> koffset[2]; + this->Monkhorst_Pack(nmp, koffset, k_type); + } + else if (nkstot > 0) + { + if (kword == "Cartesian" || kword == "C") + { + this->renew(nkstot * nspin); // mohan fix bug 2009-09-01 + for (int i = 0; i < nkstot; i++) + { + ifk >> kvec_c[i].x >> kvec_c[i].y >> kvec_c[i].z; + ModuleBase::GlobalFunc::READ_VALUE(ifk, wk[i]); + } + + this->kc_done = true; + } + else if (kword == "Direct" || kword == "D") + { + this->renew(nkstot * nspin); // mohan fix bug 2009-09-01 + for (int i = 0; i < nkstot; i++) + { + ifk >> kvec_d[i].x >> kvec_d[i].y >> kvec_d[i].z; + ModuleBase::GlobalFunc::READ_VALUE(ifk, wk[i]); + } + this->kd_done = true; + } + else if (kword == "Line_Cartesian") + { + // std::cout << " kword = " << kword << std::endl; + + // how many special points. + int nks_special = this->nkstot; + // std::cout << " nks_special = " << nks_special << std::endl; + + //------------------------------------------ + // number of points to the next k points + //------------------------------------------ + int* nkl = new int[nks_special]; + + //------------------------------------------ + // cartesian coordinates of special points. + //------------------------------------------ + double* ksx = new double[nks_special]; + double* ksy = new double[nks_special]; + double* ksz = new double[nks_special]; + std::vector kposx; + std::vector kposy; + std::vector kposz; + ModuleBase::GlobalFunc::ZEROS(nkl, nks_special); + + // recalculate nkstot. + nkstot = 0; + for (int iks = 0; iks < nks_special; iks++) + { + ifk >> ksx[iks]; + ifk >> ksy[iks]; + ifk >> ksz[iks]; + ModuleBase::GlobalFunc::READ_VALUE(ifk, nkl[iks]); + // std::cout << " nkl[" << iks << "]=" << nkl[iks] << std::endl; + assert(nkl[iks] >= 0); + nkstot += nkl[iks]; + } + assert(nkl[nks_special - 1] == 1); + + // std::cout << " nkstot = " << nkstot << std::endl; + this->renew(nkstot * nspin); // mohan fix bug 2009-09-01 + + int count = 0; + for (int iks = 1; iks < nks_special; iks++) + { + double dx = (ksx[iks] - ksx[iks - 1]) / nkl[iks - 1]; + double dy = (ksy[iks] - ksy[iks - 1]) / nkl[iks - 1]; + double dz = (ksz[iks] - ksz[iks - 1]) / nkl[iks - 1]; + // GlobalV::ofs_running << " dx=" << dx << " dy=" << dy << " dz=" << dz << std::endl; + for (int is = 0; is < nkl[iks - 1]; is++) + { + kvec_c[count].x = ksx[iks - 1] + is * dx; + kvec_c[count].y = ksy[iks - 1] + is * dy; + kvec_c[count].z = ksz[iks - 1] + is * dz; + ++count; + } + } + + // deal with the last special k point. + kvec_c[count].x = ksx[nks_special - 1]; + kvec_c[count].y = ksy[nks_special - 1]; + kvec_c[count].z = ksz[nks_special - 1]; + ++count; + + // std::cout << " count = " << count << std::endl; + assert(count == nkstot); + + for (int ik = 0; ik < nkstot; ik++) + { + wk[ik] = 1.0; + } + + ofs_warning << " Error : nkstot == -1, not implemented yet." << std::endl; + + delete[] nkl; + delete[] ksx; + delete[] ksy; + delete[] ksz; + + this->kc_done = true; + } + + else if (kword == "Line_Direct" || kword == "L" || kword == "Line") + { + // std::cout << " kword = " << kword << std::endl; + + // how many special points. + int nks_special = this->nkstot; + // std::cout << " nks_special = " << nks_special << std::endl; + + //------------------------------------------ + // number of points to the next k points + //------------------------------------------ + int* nkl = new int[nks_special]; + + //------------------------------------------ + // cartesian coordinates of special points. + //------------------------------------------ + double* ksx = new double[nks_special]; + double* ksy = new double[nks_special]; + double* ksz = new double[nks_special]; + std::vector kposx; + std::vector kposy; + std::vector kposz; + ModuleBase::GlobalFunc::ZEROS(nkl, nks_special); + + // recalculate nkstot. + nkstot = 0; + for (int iks = 0; iks < nks_special; iks++) + { + ifk >> ksx[iks]; + ifk >> ksy[iks]; + ifk >> ksz[iks]; + ModuleBase::GlobalFunc::READ_VALUE(ifk, nkl[iks]); + // std::cout << " nkl[" << iks << "]=" << nkl[iks] << std::endl; + assert(nkl[iks] >= 0); + nkstot += nkl[iks]; + } + assert(nkl[nks_special - 1] == 1); + + // std::cout << " nkstot = " << nkstot << std::endl; + this->renew(nkstot * nspin); // mohan fix bug 2009-09-01 + + int count = 0; + for (int iks = 1; iks < nks_special; iks++) + { + double dx = (ksx[iks] - ksx[iks - 1]) / nkl[iks - 1]; + double dy = (ksy[iks] - ksy[iks - 1]) / nkl[iks - 1]; + double dz = (ksz[iks] - ksz[iks - 1]) / nkl[iks - 1]; + // GlobalV::ofs_running << " dx=" << dx << " dy=" << dy << " dz=" << dz << std::endl; + for (int is = 0; is < nkl[iks - 1]; is++) + { + kvec_d[count].x = ksx[iks - 1] + is * dx; + kvec_d[count].y = ksy[iks - 1] + is * dy; + kvec_d[count].z = ksz[iks - 1] + is * dz; + ++count; + } + } + + // deal with the last special k point. + kvec_d[count].x = ksx[nks_special - 1]; + kvec_d[count].y = ksy[nks_special - 1]; + kvec_d[count].z = ksz[nks_special - 1]; + ++count; + + // std::cout << " count = " << count << std::endl; + assert(count == nkstot); + + for (int ik = 0; ik < nkstot; ik++) + { + wk[ik] = 1.0; + } + + ofs_warning << " Error : nkstot == -1, not implemented yet." << std::endl; + + delete[] nkl; + delete[] ksx; + delete[] ksy; + delete[] ksz; + + this->kd_done = true; + } + + else + { + ofs_warning << " Error : neither Cartesian nor Direct kpoint." << std::endl; + return 0; + } + } + + ModuleBase::GlobalFunc::OUT(ofs_running, "nkstot", nkstot); + return 1; +} // END SUBROUTINE + +double K_Vectors::Monkhorst_Pack_formula(const int& k_type, const double& offset, const int& n, const int& dim) +{ + double coordinate; + if (k_type == 1) + coordinate = (offset + 2.0 * (double)n - (double)dim - 1.0) / (2.0 * (double)dim); + else + coordinate = (offset + (double)n - 1.0) / (double)dim; + + return coordinate; +} + +// add by dwan +void K_Vectors::Monkhorst_Pack(const int* nmp_in, const double* koffset_in, const int k_type) +{ + const int mpnx = nmp_in[0]; + const int mpny = nmp_in[1]; + const int mpnz = nmp_in[2]; + + this->nkstot = mpnx * mpny * mpnz; + // only can renew after nkstot is estimated. + this->renew(nkstot * nspin); // mohan fix bug 2009-09-01 + for (int x = 1; x <= mpnx; x++) + { + double v1 = Monkhorst_Pack_formula(k_type, koffset_in[0], x, mpnx); + if (std::abs(v1) < 1.0e-10) + v1 = 0.0; // mohan update 2012-06-10 + for (int y = 1; y <= mpny; y++) + { + double v2 = Monkhorst_Pack_formula(k_type, koffset_in[1], y, mpny); + if (std::abs(v2) < 1.0e-10) + v2 = 0.0; + for (int z = 1; z <= mpnz; z++) + { + double v3 = Monkhorst_Pack_formula(k_type, koffset_in[2], z, mpnz); + if (std::abs(v3) < 1.0e-10) + v3 = 0.0; + // index of nks kpoint + const int i = mpnx * mpny * (z - 1) + mpnx * (y - 1) + (x - 1); + kvec_d[i].set(v1, v2, v3); + } + } + } + + const double weight = 1.0 / static_cast(nkstot); + for (int ik = 0; ik < nkstot; ik++) + { + wk[ik] = weight; + } + this->kd_done = true; + + return; +} + +void K_Vectors::set_both_kvec(const ModuleBase::Matrix3& G, const ModuleBase::Matrix3& R, std::ofstream& ofs_running) +{ + // set cartesian k vectors. + if (!kc_done && kd_done) + { + for (int i = 0; i < nkstot; i++) + { + // wrong!! kvec_c[i] = G * kvec_d[i]; + // mohan fixed bug 2010-1-10 + if (std::abs(kvec_d[i].x) < 1.0e-10) + kvec_d[i].x = 0.0; + if (std::abs(kvec_d[i].y) < 1.0e-10) + kvec_d[i].y = 0.0; + if (std::abs(kvec_d[i].z) < 1.0e-10) + kvec_d[i].z = 0.0; + + // mohan add2012-06-10 + if (std::abs(kvec_c[i].x) < 1.0e-10) + kvec_c[i].x = 0.0; + if (std::abs(kvec_c[i].y) < 1.0e-10) + kvec_c[i].y = 0.0; + if (std::abs(kvec_c[i].z) < 1.0e-10) + kvec_c[i].z = 0.0; + } + kc_done = true; + } + + // set direct k vectors + else if (kc_done && !kd_done) + { + ModuleBase::Matrix3 RT = R.Transpose(); + for (int i = 0; i < nkstot; i++) + { + // std::cout << " ik=" << i + // << " kvec.x=" << kvec_c[i].x + // << " kvec.y=" << kvec_c[i].y + // << " kvec.z=" << kvec_c[i].z << std::endl; + // wrong! kvec_d[i] = RT * kvec_c[i]; + // mohan fixed bug 2011-03-07 + kvec_d[i] = kvec_c[i] * RT; + } + kd_done = true; + } + + ofs_running << "\n " << std::setw(8) << "KPOINTS" << std::setw(20) << "DIRECT_X" << std::setw(20) << "DIRECT_Y" + << std::setw(20) << "DIRECT_Z" << std::setw(20) << "WEIGHT" << std::endl; + + for (int i = 0; i < nkstot; i++) + { + ofs_running << " " << std::setw(8) << i + 1 << std::setw(20) << this->kvec_d[i].x << std::setw(20) + << this->kvec_d[i].y << std::setw(20) << this->kvec_d[i].z << std::setw(20) << this->wk[i] + << std::endl; + } + + return; +} + +void K_Vectors::normalize_wk(const int& degspin) +{ + double sum = 0.0; + + for (int ik = 0; ik < nkstot; ik++) + { + sum += this->wk[ik]; + } + assert(sum > 0.0); + + for (int ik = 0; ik < nkstot; ik++) + { + this->wk[ik] /= sum; + } + + for (int ik = 0; ik < nkstot; ik++) + { + this->wk[ik] *= degspin; + } + + return; +} + +//---------------------------------------------------------- +// This routine sets the k vectors for the up and down spin +//---------------------------------------------------------- +// from set_kup_and_kdw.f90 +void K_Vectors::set_kup_and_kdw(std::ofstream& ofs_running) +{ + //========================================================================= + // on output: the number of points is doubled and xk and wk in the + // first (nks/2) positions correspond to up spin + // those in the second (nks/2) ones correspond to down spin + //========================================================================= + switch (nspin) + { + case 1: + + for (int ik = 0; ik < nkstot; ik++) + { + this->isk[ik] = 0; + } + + break; + + case 2: + + for (int ik = 0; ik < nkstot; ik++) + { + this->kvec_c[ik + nkstot] = kvec_c[ik]; + this->kvec_d[ik + nkstot] = kvec_d[ik]; + this->wk[ik + nkstot] = wk[ik]; + this->isk[ik] = 0; + this->isk[ik + nkstot] = 1; + } + + this->nkstot *= 2; + + ModuleBase::GlobalFunc::OUT(ofs_running, "nkstot(nspin=2)", nkstot); + break; + case 4: + + for (int ik = 0; ik < nkstot; ik++) + { + this->isk[ik] = 0; + } + + break; + } + + return; +} // end subroutine set_kup_and_kdw + +void K_Vectors::print_klists(std::ofstream& ofs_running) +{ + ofs_running << "\n " << std::setw(8) << "KPOINTS" << std::setw(20) << "CARTESIAN_X" << std::setw(20) + << "CARTESIAN_Y" << std::setw(20) << "CARTESIAN_Z" << std::setw(20) << "WEIGHT" << std::endl; + for (int i = 0; i < nkstot; i++) + { + ofs_running << " " << std::setw(8) << i + 1 << std::setw(20) << this->kvec_c[i].x << std::setw(20) + << this->kvec_c[i].y << std::setw(20) << this->kvec_c[i].z << std::setw(20) << this->wk[i] + << std::endl; + } + + ofs_running << "\n " << std::setw(8) << "KPOINTS" << std::setw(20) << "DIRECT_X" << std::setw(20) << "DIRECT_Y" + << std::setw(20) << "DIRECT_Z" << std::setw(20) << "WEIGHT" << std::endl; + for (int i = 0; i < nkstot; i++) + { + ofs_running << " " << std::setw(8) << i + 1 << std::setw(20) << this->kvec_d[i].x << std::setw(20) + << this->kvec_d[i].y << std::setw(20) << this->kvec_d[i].z << std::setw(20) << this->wk[i] + << std::endl; + } + + return; +} + +} // namespace Test_Deepks diff --git a/source/source_lcao/module_deepks/test/parallel_orbitals.h b/source/source_lcao/module_deepks/test/parallel_orbitals.h index b9371d9a23..5445ff87ab 100644 --- a/source/source_lcao/module_deepks/test/parallel_orbitals.h +++ b/source/source_lcao/module_deepks/test/parallel_orbitals.h @@ -1,5 +1,5 @@ -///adapted from parallel_orbitals from source_basis/module_ao -///deals with the parallelization of atomic basis +/// adapted from parallel_orbitals from source_basis/module_ao +/// deals with the parallelization of atomic basis #include "source_base/global_function.h" #include "source_base/global_variable.h" @@ -7,19 +7,18 @@ namespace Test_Deepks { - class Parallel_Orbitals - { - public: - - Parallel_Orbitals(); - ~Parallel_Orbitals(); +class Parallel_Orbitals +{ + public: + Parallel_Orbitals(); + ~Parallel_Orbitals(); - int* global2local_row; - int* global2local_col; - void set_global2local(void); + int* global2local_row; + int* global2local_col; + void set_global2local(void); - int ncol; - int nrow; - int nloc; - }; -} + int ncol; + int nrow; + int nloc; +}; +} // namespace Test_Deepks diff --git a/source/source_lcao/module_deltaspin/cal_mw.cpp b/source/source_lcao/module_deltaspin/cal_mw.cpp index 7f6a49e207..becdd82e7c 100644 --- a/source/source_lcao/module_deltaspin/cal_mw.cpp +++ b/source/source_lcao/module_deltaspin/cal_mw.cpp @@ -19,14 +19,16 @@ void spinconstrain::SpinConstrain>::cal_mi_lcao(const int& ModuleBase::timer::tick("spinconstrain::SpinConstrain", "cal_mi_lcao"); // calculate MW from lambda in real space projection method this->zero_Mi(); - const hamilt::HContainer* dmr - = static_cast>*>(this->pelec)->get_DM()->get_DMR_pointer(1); + const hamilt::HContainer* dmr = this->dm_->get_DMR_pointer(1); std::vector moments; if(PARAM.inp.nspin==2) { - static_cast>*>(this->pelec)->get_DM()->switch_dmr(2); + this->dm_->switch_dmr(2); + moments = static_cast, double>>*>(this->p_operator)->cal_moment(dmr, this->get_constrain()); - static_cast>*>(this->pelec)->get_DM()->switch_dmr(0); + + this->dm_->switch_dmr(0); + for(int iat=0;iatMi_.size();iat++) { this->Mi_[iat].x = 0.0; @@ -167,4 +169,4 @@ void spinconstrain::SpinConstrain::set_operator( hamilt::Operator* op_in) { this->p_operator = op_in; -} \ No newline at end of file +} diff --git a/source/source_lcao/module_deltaspin/cal_mw_from_lambda.cpp b/source/source_lcao/module_deltaspin/cal_mw_from_lambda.cpp index 3a83289cb7..e8bb81db23 100644 --- a/source/source_lcao/module_deltaspin/cal_mw_from_lambda.cpp +++ b/source/source_lcao/module_deltaspin/cal_mw_from_lambda.cpp @@ -128,7 +128,9 @@ void spinconstrain::SpinConstrain>::calculate_delta_hcc(std } template <> -void spinconstrain::SpinConstrain>::cal_mw_from_lambda(int i_step, const ModuleBase::Vector3* delta_lambda) +void spinconstrain::SpinConstrain>::cal_mw_from_lambda( + int i_step, + const ModuleBase::Vector3* delta_lambda) { ModuleBase::TITLE("spinconstrain::SpinConstrain", "cal_mw_from_lambda"); ModuleBase::timer::tick("spinconstrain::SpinConstrain", "cal_mw_from_lambda"); @@ -151,7 +153,8 @@ void spinconstrain::SpinConstrain>::cal_mw_from_lambda(int ->update_lambda(); } // diagonalization without update charge - hsolver_t.solve(hamilt_t, psi_t[0], this->pelec, true); + // mohan add two parameters charge and nspin, 2025-10-24 + hsolver_t.solve(hamilt_t, psi_t[0], this->pelec, *this->dm_, *this->pelec->charge, PARAM.inp.nspin, true); elecstate::calculate_weights(this->pelec->ekb, this->pelec->wg, this->pelec->klist, @@ -160,10 +163,11 @@ void spinconstrain::SpinConstrain>::cal_mw_from_lambda(int this->pelec->nelec_spin, this->pelec->skip_weights); elecstate::calEBand(this->pelec->ekb,this->pelec->wg,this->pelec->f_en); - elecstate::ElecStateLCAO>* pelec_lcao - = dynamic_cast>*>(this->pelec); - elecstate::cal_dm_psi(this->ParaV, pelec_lcao->wg, *psi_t, *(pelec_lcao->get_DM())); - pelec_lcao->get_DM()->cal_DMR(); + + elecstate::cal_dm_psi(this->ParaV, this->pelec->wg, *psi_t, *this->dm_); + + this->dm_->cal_DMR(); + this->cal_mi_lcao(i_step); } else @@ -430,27 +434,27 @@ void spinconstrain::SpinConstrain>::update_psi_charge(const if(pw_solve) { - hsolver::HSolverPW, base_device::DEVICE_CPU> hsolver_pw_obj(this->pw_wfc_, - PARAM.inp.calculation, - PARAM.inp.basis_type, - PARAM.inp.ks_solver, - false, - PARAM.globalv.use_uspp, - PARAM.inp.nspin, - hsolver::DiagoIterAssist, base_device::DEVICE_CPU>::SCF_ITER, - hsolver::DiagoIterAssist, base_device::DEVICE_CPU>::PW_DIAG_NMAX, - hsolver::DiagoIterAssist, base_device::DEVICE_CPU>::PW_DIAG_THR, - hsolver::DiagoIterAssist, base_device::DEVICE_CPU>::need_subspace); + hsolver::HSolverPW, base_device::DEVICE_CPU> hsolver_pw_obj(this->pw_wfc_, + PARAM.inp.calculation, + PARAM.inp.basis_type, + PARAM.inp.ks_solver, + false, + PARAM.globalv.use_uspp, + PARAM.inp.nspin, + hsolver::DiagoIterAssist, base_device::DEVICE_CPU>::SCF_ITER, + hsolver::DiagoIterAssist, base_device::DEVICE_CPU>::PW_DIAG_NMAX, + hsolver::DiagoIterAssist, base_device::DEVICE_CPU>::PW_DIAG_THR, + hsolver::DiagoIterAssist, base_device::DEVICE_CPU>::need_subspace); - hsolver_pw_obj.solve(hamilt_t, - psi_t[0], - this->pelec, - this->pelec->ekb.c, - GlobalV::RANK_IN_POOL, - GlobalV::NPROC_IN_POOL, - false, - this->tpiba, - this->get_nat()); + hsolver_pw_obj.solve(hamilt_t, + psi_t[0], + this->pelec, + this->pelec->ekb.c, + GlobalV::RANK_IN_POOL, + GlobalV::NPROC_IN_POOL, + false, + this->tpiba, + this->get_nat()); } else {// update charge density only @@ -460,17 +464,17 @@ void spinconstrain::SpinConstrain>::update_psi_charge(const #if ((defined __CUDA) || (defined __ROCM)) else { - base_device::DEVICE_GPU* ctx = {}; - base_device::DEVICE_CPU* cpu_ctx = {}; - psi::Psi, base_device::DEVICE_GPU>* psi_t = static_cast, base_device::DEVICE_GPU>*>(this->psi); - hamilt::Hamilt, base_device::DEVICE_GPU>* hamilt_t = static_cast, base_device::DEVICE_GPU>*>(this->p_hamilt); - auto* onsite_p = projectors::OnsiteProjector::get_instance(); - nbands = psi_t->get_nbands(); - npol = psi_t->get_npol(); - nkb = onsite_p->get_tot_nproj(); - nk = psi_t->get_nk(); - nh_iat = &onsite_p->get_nh(0); - size_becp = nbands * nkb * npol; + base_device::DEVICE_GPU* ctx = {}; + base_device::DEVICE_CPU* cpu_ctx = {}; + psi::Psi, base_device::DEVICE_GPU>* psi_t = static_cast, base_device::DEVICE_GPU>*>(this->psi); + hamilt::Hamilt, base_device::DEVICE_GPU>* hamilt_t = static_cast, base_device::DEVICE_GPU>*>(this->p_hamilt); + auto* onsite_p = projectors::OnsiteProjector::get_instance(); + nbands = psi_t->get_nbands(); + npol = psi_t->get_npol(); + nkb = onsite_p->get_tot_nproj(); + nk = psi_t->get_nk(); + nh_iat = &onsite_p->get_nh(0); + size_becp = nbands * nkb * npol; std::complex* h_tmp = nullptr; std::complex* s_tmp = nullptr; diff --git a/source/source_lcao/module_deltaspin/init_sc.cpp b/source/source_lcao/module_deltaspin/init_sc.cpp index fbba82a839..ac56047173 100644 --- a/source/source_lcao/module_deltaspin/init_sc.cpp +++ b/source/source_lcao/module_deltaspin/init_sc.cpp @@ -1,21 +1,24 @@ #include "spin_constrain.h" // init sc -template -void spinconstrain::SpinConstrain::init_sc(double sc_thr_in, - int nsc_in, - int nsc_min_in, - double alpha_trial_in, - double sccut_in, - double sc_drop_thr_in, - const UnitCell& ucell, - Parallel_Orbitals* ParaV_in, - int nspin_in, - K_Vectors& kv_in, - void* p_hamilt_in, - void* psi_in, - elecstate::ElecState* pelec_in, - ModulePW::PW_Basis_K* pw_wfc_in) +template +void spinconstrain::SpinConstrain::init_sc(double sc_thr_in, + int nsc_in, + int nsc_min_in, + double alpha_trial_in, + double sccut_in, + double sc_drop_thr_in, + const UnitCell& ucell, + Parallel_Orbitals* ParaV_in, + int nspin_in, + const K_Vectors& kv_in, + void* p_hamilt_in, + void* psi_in, +#ifdef __LCAO + elecstate::DensityMatrix* dm_in, // mohan add 2025-11-03 +#endif + elecstate::ElecState* pelec_in, + ModulePW::PW_Basis_K* pw_wfc_in) { this->set_input_parameters(sc_thr_in, nsc_in, nsc_min_in, alpha_trial_in, sccut_in, sc_drop_thr_in); this->set_atomCounts(ucell.get_atom_Counts()); @@ -31,7 +34,10 @@ void spinconstrain::SpinConstrain::init_sc(double sc_thr_in, this->set_decay_grad(); if(ParaV_in != nullptr) this->set_ParaV(ParaV_in); this->set_solver_parameters(kv_in, p_hamilt_in, psi_in, pelec_in); +#ifdef __LCAO + this->dm_ = dm_in; // mohan add 2025-11-03 +#endif } template class spinconstrain::SpinConstrain>; -template class spinconstrain::SpinConstrain; \ No newline at end of file +template class spinconstrain::SpinConstrain; diff --git a/source/source_lcao/module_deltaspin/lambda_loop.cpp b/source/source_lcao/module_deltaspin/lambda_loop.cpp index ac4fe88c9a..8b87f7eedd 100644 --- a/source/source_lcao/module_deltaspin/lambda_loop.cpp +++ b/source/source_lcao/module_deltaspin/lambda_loop.cpp @@ -99,7 +99,9 @@ void spinconstrain::SpinConstrain>::run_lambda_loop(int out template <> -void spinconstrain::SpinConstrain>::run_lambda_loop(int outer_step, bool rerun) +void spinconstrain::SpinConstrain>::run_lambda_loop( + int outer_step, + bool rerun) { // init controlling parameters int nat = this->get_nat(); @@ -139,6 +141,7 @@ void spinconstrain::SpinConstrain>::run_lambda_loop(int out double duration = 0.0; if (i_step == -1) { + this->cal_mw_from_lambda(i_step); spin = this->Mi_; where_fill_scalar_else_2d(this->constrain_, 0, zero, this->lambda_, initial_lambda); @@ -151,7 +154,9 @@ void spinconstrain::SpinConstrain>::run_lambda_loop(int out { where_fill_scalar_else_2d(this->constrain_, 0, zero, delta_lambda, delta_lambda); add_scalar_multiply_2d(initial_lambda, delta_lambda, one, this->lambda_); - this->cal_mw_from_lambda(i_step, delta_lambda.data()); + + this->cal_mw_from_lambda(i_step); + new_spin = this->Mi_; bool GradLessThanBound = this->check_gradient_decay(new_spin, spin, delta_lambda, dnu_last_step); if (i_step >= this->nsc_min_ && GradLessThanBound) @@ -246,6 +251,7 @@ void spinconstrain::SpinConstrain>::run_lambda_loop(int out where_fill_scalar_else_2d(this->constrain_, 0, zero, delta_lambda, delta_lambda); add_scalar_multiply_2d(initial_lambda, delta_lambda, one, this->lambda_); + this->cal_mw_from_lambda(i_step, delta_lambda.data()); spin_plus = this->Mi_; diff --git a/source/source_lcao/module_deltaspin/spin_constrain.cpp b/source/source_lcao/module_deltaspin/spin_constrain.cpp index 26cf70cea5..6b49487975 100644 --- a/source/source_lcao/module_deltaspin/spin_constrain.cpp +++ b/source/source_lcao/module_deltaspin/spin_constrain.cpp @@ -8,15 +8,15 @@ namespace spinconstrain { -template -SpinConstrain& SpinConstrain::getScInstance() +template +SpinConstrain& SpinConstrain::getScInstance() { - static SpinConstrain instance; // Guaranteed to be created and destroyed only once + static SpinConstrain instance; // Guaranteed to be created and destroyed only once return instance; } -template -double SpinConstrain::cal_escon() +template +double SpinConstrain::cal_escon() { this->escon_ = 0.0; if (!this->is_Mi_converged) @@ -33,30 +33,30 @@ double SpinConstrain::cal_escon() return this->escon_; } -template -double SpinConstrain::get_escon() +template +double SpinConstrain::get_escon() { return this->escon_; } // set atomCounts -template -void SpinConstrain::set_atomCounts(const std::map& atomCounts_in) +template +void SpinConstrain::set_atomCounts(const std::map& atomCounts_in) { this->atomCounts.clear(); this->atomCounts = atomCounts_in; } // get atomCounts -template -const std::map& SpinConstrain::get_atomCounts() const +template +const std::map& SpinConstrain::get_atomCounts() const { return this->atomCounts; } /// set nspin -template -void SpinConstrain::set_nspin(int nspin_in) +template +void SpinConstrain::set_nspin(int nspin_in) { if (nspin_in != 4 && nspin_in != 2) { @@ -66,14 +66,14 @@ void SpinConstrain::set_nspin(int nspin_in) } /// get nspin -template -int SpinConstrain::get_nspin() +template +int SpinConstrain::get_nspin() { return this->nspin_; } -template -int SpinConstrain::get_nat() +template +int SpinConstrain::get_nat() { int nat = 0; for (std::map::iterator it = this->atomCounts.begin(); it != this->atomCounts.end(); ++it) @@ -83,14 +83,14 @@ int SpinConstrain::get_nat() return nat; } -template -int SpinConstrain::get_ntype() +template +int SpinConstrain::get_ntype() { return this->atomCounts.size(); } -template -void SpinConstrain::check_atomCounts() +template +void SpinConstrain::check_atomCounts() { if (!this->atomCounts.size()) { @@ -116,8 +116,8 @@ void SpinConstrain::check_atomCounts() } // get iat -template -int SpinConstrain::get_iat(int itype, int atom_index) +template +int SpinConstrain::get_iat(int itype, int atom_index) { if (itype < 0 || itype >= this->get_ntype()) { @@ -141,38 +141,38 @@ int SpinConstrain::get_iat(int itype, int atom_index) } // set orbitalCounts -template -void SpinConstrain::set_orbitalCounts(const std::map& orbitalCounts_in) +template +void SpinConstrain::set_orbitalCounts(const std::map& orbitalCounts_in) { this->orbitalCounts.clear(); this->orbitalCounts = orbitalCounts_in; } // get orbitalCounts -template -const std::map& SpinConstrain::get_orbitalCounts() const +template +const std::map& SpinConstrain::get_orbitalCounts() const { return this->orbitalCounts; } // set lnchiCounts -template -void SpinConstrain::set_lnchiCounts(const std::map>& lnchiCounts_in) +template +void SpinConstrain::set_lnchiCounts(const std::map>& lnchiCounts_in) { this->lnchiCounts.clear(); this->lnchiCounts = lnchiCounts_in; } // get lnchiCounts -template -const std::map>& SpinConstrain::get_lnchiCounts() const +template +const std::map>& SpinConstrain::get_lnchiCounts() const { return this->lnchiCounts; } // set sc_lambda from ScData -template -void SpinConstrain::set_sc_lambda() +template +void SpinConstrain::set_sc_lambda() { this->check_atomCounts(); int nat = this->get_nat(); @@ -194,8 +194,8 @@ void SpinConstrain::set_sc_lambda() } // set target_mag from ScData -template -void SpinConstrain::set_target_mag() +template +void SpinConstrain::set_target_mag() { this->check_atomCounts(); int nat = this->get_nat(); @@ -234,8 +234,8 @@ void SpinConstrain::set_target_mag() } // set constrain from ScData -template -void SpinConstrain::set_constrain() +template +void SpinConstrain::set_constrain() { this->check_atomCounts(); int nat = this->get_nat(); @@ -266,8 +266,8 @@ void SpinConstrain::set_constrain() } // set sc_lambda from variable -template -void SpinConstrain::set_sc_lambda(const ModuleBase::Vector3* lambda_in, int nat_in) +template +void SpinConstrain::set_sc_lambda(const ModuleBase::Vector3* lambda_in, int nat_in) { this->check_atomCounts(); int nat = this->get_nat(); @@ -283,8 +283,8 @@ void SpinConstrain::set_sc_lambda(const ModuleBase::Vector3* lam } // set target_mag from variable -template -void SpinConstrain::set_target_mag(const ModuleBase::Vector3* target_mag_in, int nat_in) +template +void SpinConstrain::set_target_mag(const ModuleBase::Vector3* target_mag_in, int nat_in) { this->check_atomCounts(); int nat = this->get_nat(); @@ -299,8 +299,8 @@ void SpinConstrain::set_target_mag(const ModuleBase::Vector3* ta } } -template -void SpinConstrain::set_target_mag(const std::vector>& target_mag_in) +template +void SpinConstrain::set_target_mag(const std::vector>& target_mag_in) { int nat = this->get_nat(); assert(target_mag_in.size() == nat); @@ -324,8 +324,8 @@ void SpinConstrain::set_target_mag(const std::vector -void SpinConstrain::set_constrain(const ModuleBase::Vector3* constrain_in, int nat_in) +template +void SpinConstrain::set_constrain(const ModuleBase::Vector3* constrain_in, int nat_in) { this->check_atomCounts(); int nat = this->get_nat(); @@ -340,28 +340,28 @@ void SpinConstrain::set_constrain(const ModuleBase::Vector3* constr } } -template -const std::vector>& SpinConstrain::get_sc_lambda() const +template +const std::vector>& SpinConstrain::get_sc_lambda() const { return this->lambda_; } -template -const std::vector>& SpinConstrain::get_target_mag() const +template +const std::vector>& SpinConstrain::get_target_mag() const { return this->target_mag_; } /// get_constrain -template -const std::vector>& SpinConstrain::get_constrain() const +template +const std::vector>& SpinConstrain::get_constrain() const { return this->constrain_; } /// zero atomic magnetic moment -template -void SpinConstrain::zero_Mi() +template +void SpinConstrain::zero_Mi() { this->check_atomCounts(); int nat = this->get_nat(); @@ -377,15 +377,15 @@ void SpinConstrain::zero_Mi() /// get grad_decay /// this function can only be called by the root process because only /// root process reads the ScDecayGrad from json file -template -double SpinConstrain::get_decay_grad(int itype) +template +double SpinConstrain::get_decay_grad(int itype) { return this->ScDecayGrad[itype]; } /// set grad_decy -template -void SpinConstrain::set_decay_grad() +template +void SpinConstrain::set_decay_grad() { this->check_atomCounts(); int ntype = this->get_ntype(); @@ -397,15 +397,15 @@ void SpinConstrain::set_decay_grad() } /// get decay_grad -template -const std::vector& SpinConstrain::get_decay_grad() +template +const std::vector& SpinConstrain::get_decay_grad() { return this->decay_grad_; } /// set grad_decy from variable -template -void SpinConstrain::set_decay_grad(const double* decay_grad_in, int ntype_in) +template +void SpinConstrain::set_decay_grad(const double* decay_grad_in, int ntype_in) { this->check_atomCounts(); int ntype = this->get_ntype(); @@ -421,8 +421,8 @@ void SpinConstrain::set_decay_grad(const double* decay_grad_in, int ntyp } /// @brief set input parameters -template -void SpinConstrain::set_input_parameters(double sc_thr_in, +template +void SpinConstrain::set_input_parameters(double sc_thr_in, int nsc_in, int nsc_min_in, double alpha_trial_in, @@ -438,56 +438,56 @@ void SpinConstrain::set_input_parameters(double sc_thr_in, } /// get sc_thr -template -double SpinConstrain::get_sc_thr() +template +double SpinConstrain::get_sc_thr() { return this->sc_thr_; } /// get nsc -template -int SpinConstrain::get_nsc() +template +int SpinConstrain::get_nsc() { return this->nsc_; } /// get nsc_min -template -int SpinConstrain::get_nsc_min() +template +int SpinConstrain::get_nsc_min() { return this->nsc_min_; } /// get alpha_trial -template -double SpinConstrain::get_alpha_trial() +template +double SpinConstrain::get_alpha_trial() { return this->alpha_trial_; } /// get sccut -template -double SpinConstrain::get_sccut() +template +double SpinConstrain::get_sccut() { return this->restrict_current_; } /// set sc_drop_thr -template -void SpinConstrain::set_sc_drop_thr(double sc_drop_thr_in) +template +void SpinConstrain::set_sc_drop_thr(double sc_drop_thr_in) { this->sc_drop_thr_ = sc_drop_thr_in; } /// get sc_drop_thr -template -double SpinConstrain::get_sc_drop_thr() +template +double SpinConstrain::get_sc_drop_thr() { return this->sc_drop_thr_; } -template -void SpinConstrain::set_solver_parameters(K_Vectors& kv_in, +template +void SpinConstrain::set_solver_parameters(const K_Vectors& kv_in, void* p_hamilt_in, void* psi_in, elecstate::ElecState* pelec_in) @@ -499,8 +499,8 @@ void SpinConstrain::set_solver_parameters(K_Vectors& kv_in, } /// @brief set ParaV -template -void SpinConstrain::set_ParaV(Parallel_Orbitals* ParaV_in) +template +void SpinConstrain::set_ParaV(Parallel_Orbitals* ParaV_in) { this->ParaV = ParaV_in; int nloc = this->ParaV->nloc; @@ -511,8 +511,8 @@ void SpinConstrain::set_ParaV(Parallel_Orbitals* ParaV_in) } /// print Mi -template -void SpinConstrain::print_Mi(std::ofstream& ofs_running) +template +void SpinConstrain::print_Mi(std::ofstream& ofs_running) { this->check_atomCounts(); int nat = this->get_nat(); @@ -556,8 +556,8 @@ void SpinConstrain::print_Mi(std::ofstream& ofs_running) } /// print magnetic force (defined as \frac{\delta{L}}/{\delta{Mi}} = -lambda[iat]) -template -void SpinConstrain::print_Mag_Force(std::ofstream& ofs_running) +template +void SpinConstrain::print_Mag_Force(std::ofstream& ofs_running) { this->check_atomCounts(); int nat = this->get_nat(); @@ -603,4 +603,4 @@ void SpinConstrain::print_Mag_Force(std::ofstream& ofs_running) template class SpinConstrain>; template class SpinConstrain; -} // namespace spinconstrain \ No newline at end of file +} // namespace spinconstrain diff --git a/source/source_lcao/module_deltaspin/spin_constrain.h b/source/source_lcao/module_deltaspin/spin_constrain.h index 8f510db57c..f4868aa93a 100644 --- a/source/source_lcao/module_deltaspin/spin_constrain.h +++ b/source/source_lcao/module_deltaspin/spin_constrain.h @@ -14,12 +14,16 @@ #include "source_hamilt/operator.h" #include "source_estate/elecstate.h" +#ifdef __LCAO +#include "source_estate/module_dm/density_matrix.h" // mohan add 2025-11-02 +#endif + namespace spinconstrain { struct ScAtomData; -template +template class SpinConstrain { public: @@ -36,10 +40,13 @@ class SpinConstrain const UnitCell& ucell, Parallel_Orbitals* ParaV_in, int nspin_in, - K_Vectors& kv_in, + const K_Vectors& kv_in, void* p_hamilt_in, void* psi_in, - elecstate::ElecState* pelec_in, +#ifdef __LCAO + elecstate::DensityMatrix *dm_in, // mohan add 2025-11-02 +#endif + elecstate::ElecState* pelec_in, ModulePW::PW_Basis_K* pw_wfc_in = nullptr); /// @brief calculate the magnetization of each atom with real space projection method for LCAO base @@ -49,7 +56,8 @@ class SpinConstrain void cal_mi_pw(); - void cal_mw_from_lambda(int i_step, const ModuleBase::Vector3* delta_lambda = nullptr); + void cal_mw_from_lambda(int i_step, + const ModuleBase::Vector3* delta_lambda = nullptr); /** * @brief calculate the energy of \sum_i \lambda_i * Mi @@ -60,13 +68,17 @@ class SpinConstrain double get_escon(); - void run_lambda_loop(int outer_step, bool rerun = true); + void run_lambda_loop(int outer_step, + bool rerun = true); /// @brief update the charge density for LCAO base with new lambda /// update the charge density and psi for PW base with new lambda void update_psi_charge(const ModuleBase::Vector3* delta_lambda, bool pw_solve = true); - void calculate_delta_hcc(std::complex* h_tmp, const std::complex* becp_k, const ModuleBase::Vector3* delta_lambda, const int nbands, const int nkb, const int* nh_iat); + void calculate_delta_hcc(std::complex* h_tmp, + const std::complex* becp_k, + const ModuleBase::Vector3* delta_lambda, + const int nbands, const int nkb, const int* nh_iat); /// lambda loop helper functions bool check_rms_stop(int outer_step, int i_step, double rms_error, double duration, double total_duration); @@ -109,6 +121,9 @@ class SpinConstrain void* psi = nullptr; elecstate::ElecState* pelec = nullptr; ModulePW::PW_Basis_K* pw_wfc_ = nullptr; +#ifdef __LCAO + elecstate::DensityMatrix* dm_; +#endif double tpiba = 0.0; /// save ucell.tpiba const double meV_to_Ry = 7.349864435130999e-05; K_Vectors kv_; @@ -201,7 +216,7 @@ class SpinConstrain /// @brief set orbital parallel info void set_ParaV(Parallel_Orbitals* ParaV_in); /// @brief set parameters for solver - void set_solver_parameters(K_Vectors& kv_in, + void set_solver_parameters(const K_Vectors& kv_in, void* p_hamilt_in, void* psi_in, elecstate::ElecState* pelec_in); @@ -240,20 +255,20 @@ class SpinConstrain public: /// @brief save operator for spin-constrained DFT /// @param op_in the base pointer of operator, actual type should be DeltaSpin>* - void set_operator(hamilt::Operator* op_in); + void set_operator(hamilt::Operator* op_in); /// @brief set is_Mi_converged void set_mag_converged(bool is_Mi_converged_in){this->is_Mi_converged = is_Mi_converged_in;} /// @brief get is_Mi_converged bool mag_converged() const {return this->is_Mi_converged;} private: /// operator for spin-constrained DFT, used for calculating current atomic magnetic moment - hamilt::Operator* p_operator = nullptr; + hamilt::Operator* p_operator = nullptr; /// @brief if atomic magnetic moment is converged bool is_Mi_converged = false; - FPTYPE* sub_h_save; - FPTYPE* sub_s_save; - FPTYPE* becp_save; + TK* sub_h_save; + TK* sub_s_save; + TK* becp_save; }; diff --git a/source/source_lcao/module_deltaspin/template_helpers.cpp b/source/source_lcao/module_deltaspin/template_helpers.cpp index 437ecec662..83e5f17f75 100644 --- a/source/source_lcao/module_deltaspin/template_helpers.cpp +++ b/source/source_lcao/module_deltaspin/template_helpers.cpp @@ -1,7 +1,8 @@ #include "spin_constrain.h" template <> -void spinconstrain::SpinConstrain::cal_mw_from_lambda(int i_step, const ModuleBase::Vector3* delta_lambda) +void spinconstrain::SpinConstrain::cal_mw_from_lambda(int i_step, + const ModuleBase::Vector3* delta_lambda) { } @@ -11,7 +12,8 @@ void spinconstrain::SpinConstrain::cal_mi_lcao(const int& step, bool pri } template <> -void spinconstrain::SpinConstrain::run_lambda_loop(int outer_step, bool rerun) +void spinconstrain::SpinConstrain::run_lambda_loop(int outer_step, + bool rerun) { } @@ -60,4 +62,4 @@ bool spinconstrain::SpinConstrain::check_gradient_decay( bool print) { return false; -} \ No newline at end of file +} diff --git a/source/source_lcao/module_deltaspin/test/lambda_loop_helper_test.cpp b/source/source_lcao/module_deltaspin/test/lambda_loop_helper_test.cpp index 2acf2d34eb..445832e924 100644 --- a/source/source_lcao/module_deltaspin/test/lambda_loop_helper_test.cpp +++ b/source/source_lcao/module_deltaspin/test/lambda_loop_helper_test.cpp @@ -83,7 +83,7 @@ TEST_F(spinconstrain::SpinConstrainTest, CheckRestriction) std::vector> search = { {0.0, 0.0, 40} }; - double alpha_trial = 0.1 / 13.605698; + double alpha_trial = 0.1 / ModuleBase::Ry_to_eV; testing::internal::CaptureStdout(); sc.check_restriction(search, alpha_trial); std::string output = testing::internal::GetCapturedStdout(); diff --git a/source/source_lcao/module_deltaspin/test/prepare_unitcell.h b/source/source_lcao/module_deltaspin/test/prepare_unitcell.h index 0b280cd2ac..7abe206dbf 100644 --- a/source/source_lcao/module_deltaspin/test/prepare_unitcell.h +++ b/source/source_lcao/module_deltaspin/test/prepare_unitcell.h @@ -95,7 +95,7 @@ class UcellTestPrepare } // lattice info ucell.lat0 = this->lat0; - ucell.lat0_angstrom = ucell.lat0 * 0.529177; + ucell.lat0_angstrom = ucell.lat0 * ModuleBase::BOHR_TO_A; ucell.tpiba = ModuleBase::TWO_PI / ucell.lat0; ucell.tpiba2 = ucell.tpiba * ucell.tpiba; ucell.latvec.e11 = this->latvec[0]; diff --git a/source/source_lcao/module_dftu/CMakeLists.txt b/source/source_lcao/module_dftu/CMakeLists.txt index d412154970..42a58af7ba 100644 --- a/source/source_lcao/module_dftu/CMakeLists.txt +++ b/source/source_lcao/module_dftu/CMakeLists.txt @@ -18,4 +18,4 @@ add_library( if(ENABLE_COVERAGE) add_coverage(dftu) -endif() \ No newline at end of file +endif() diff --git a/source/source_lcao/module_dftu/dftu.cpp b/source/source_lcao/module_dftu/dftu.cpp index 1bf05e98d9..8c990379fd 100644 --- a/source/source_lcao/module_dftu/dftu.cpp +++ b/source/source_lcao/module_dftu/dftu.cpp @@ -20,22 +20,30 @@ #include #include -namespace GlobalC -{ -ModuleDFTU::DFTU dftu; -} + // mohan add 2025-11-06 +double Plus_U::energy_u = 0.0; -namespace ModuleDFTU -{ -DFTU::DFTU() -{ -} +std::vector Plus_U::U = {}; // U (Hubbard parameter U) -DFTU::~DFTU() -{ -} +std::vector Plus_U::U0 = {}; // U0 (target Hubbard parameter U0) + +std::vector Plus_U::orbital_corr = {}; // + +double Plus_U::uramping = 0.0; // increase U by uramping, default is -1.0 -void DFTU::init(UnitCell& cell, // unitcell class +int Plus_U::omc=0; // occupation matrix control + +int Plus_U::mixing_dftu=0; //whether to mix locale + +bool Plus_U::Yukawa=false; // whether to use Yukawa potential + +Plus_U::Plus_U() +{} + +Plus_U::~Plus_U() +{} + +void Plus_U::init(UnitCell& cell, // unitcell class const Parallel_Orbitals* pv, const int nks #ifdef __LCAO @@ -43,7 +51,7 @@ void DFTU::init(UnitCell& cell, // unitcell class #endif ) { - ModuleBase::TITLE("DFTU", "init"); + ModuleBase::TITLE("Plus_U", "init"); #ifndef __MPI std::cout << "DFT+U module is only accessible in mpi versioin" << std::endl; @@ -67,7 +75,8 @@ void DFTU::init(UnitCell& cell, // unitcell class const int nlocal = PARAM.globalv.nlocal; // number of total local orbitals const int nspin = PARAM.inp.nspin; // number of spins - this->EU = 0.0; + // mohan update 2025-11-06 + Plus_U::energy_u = 0.0; this->locale.resize(cell.nat); this->locale_save.resize(cell.nat); @@ -221,24 +230,27 @@ void DFTU::init(UnitCell& cell, // unitcell class } } - ModuleBase::Memory::record("DFTU::locale", sizeof(double) * num_locale); + ModuleBase::Memory::record("Plus_U::locale", sizeof(double) * num_locale); return; } #ifdef __LCAO -void DFTU::cal_energy_correction(const UnitCell& ucell, +void Plus_U::cal_energy_correction(const UnitCell& ucell, const int istep) { - ModuleBase::TITLE("DFTU", "cal_energy_correction"); - ModuleBase::timer::tick("DFTU", "cal_energy_correction"); + ModuleBase::TITLE("Plus_U", "cal_energy_correction"); + ModuleBase::timer::tick("Plus_U", "cal_energy_correction"); if (!initialed_locale) { - ModuleBase::timer::tick("DFTU", "cal_energy_correction"); + ModuleBase::timer::tick("Plus_U", "cal_energy_correction"); return; } - this->EU = 0.0; - double EU_dc = 0.0; + + // mohan update 20251106 + Plus_U::energy_u = 0.0; + + double energy_dc = 0.0; for (int T = 0; T < ucell.ntype; T++) { @@ -291,12 +303,12 @@ void DFTU::cal_energy_correction(const UnitCell& ucell, } if (Yukawa) { - this->EU += 0.5 * (this->U_Yukawa[T][l][n] - this->J_Yukawa[T][l][n]) + Plus_U::energy_u += 0.5 * (this->U_Yukawa[T][l][n] - this->J_Yukawa[T][l][n]) * (nm_trace - nm2_trace); } else { - this->EU += 0.5 * this->U[T] * (nm_trace - nm2_trace); + Plus_U::energy_u += 0.5 * this->U[T] * (nm_trace - nm2_trace); } } } @@ -326,12 +338,12 @@ void DFTU::cal_energy_correction(const UnitCell& ucell, } if (Yukawa) { - this->EU - += 0.5 * (this->U_Yukawa[T][l][n] - this->J_Yukawa[T][l][n]) * (nm_trace - nm2_trace); + Plus_U::energy_u += 0.5 * (this->U_Yukawa[T][l][n] - this->J_Yukawa[T][l][n]) + * (nm_trace - nm2_trace); } else { - this->EU += 0.5 * this->U[T] * (nm_trace - nm2_trace); + Plus_U::energy_u += 0.5 * this->U[T] * (nm_trace - nm2_trace); } } @@ -353,14 +365,14 @@ void DFTU::cal_energy_correction(const UnitCell& ucell, { double VU = 0.0; VU = get_onebody_eff_pot(T, iat, l, n, is, m1_all, m2_all, false); - EU_dc += VU * this->locale[iat][l][n][is](m1_all, m2_all); + energy_dc += VU * this->locale[iat][l][n][is](m1_all, m2_all); } } else if (PARAM.inp.nspin == 4) // SOC { double VU = 0.0; VU = get_onebody_eff_pot(T, iat, l, n, 0, m1_all, m2_all, false); - EU_dc += VU * this->locale[iat][l][n][0](m1_all, m2_all); + energy_dc += VU * this->locale[iat][l][n][0](m1_all, m2_all); } } } @@ -371,16 +383,16 @@ void DFTU::cal_energy_correction(const UnitCell& ucell, } // end I } // end T - // substract the double counting EU_dc included in band energy eband - this->EU -= EU_dc; + // substract the double counting energy_dc included in band energy eband + Plus_U::energy_u -= energy_dc; - ModuleBase::timer::tick("DFTU", "cal_energy_correction"); + ModuleBase::timer::tick("Plus_U", "cal_energy_correction"); return; } #endif -void DFTU::uramping_update() +void Plus_U::uramping_update() { // if uramping < 0.1, use the original U if (this->uramping < 0.01) { @@ -400,7 +412,7 @@ void DFTU::uramping_update() } } -bool DFTU::u_converged() +bool Plus_U::u_converged() { for (int i = 0; i < this->U0.size(); i++) { @@ -414,19 +426,19 @@ bool DFTU::u_converged() #ifdef __LCAO -void DFTU::set_dmr(const elecstate::DensityMatrix, double>* dmr) +void Plus_U::set_dmr(const elecstate::DensityMatrix, double>* dmr) { this->dm_in_dftu_cd = dmr; return; } -void DFTU::set_dmr(const elecstate::DensityMatrix* dmr) +void Plus_U::set_dmr(const elecstate::DensityMatrix* dmr) { this->dm_in_dftu_d = dmr; return; } -const hamilt::HContainer* DFTU::get_dmr(int ispin) const +const hamilt::HContainer* Plus_U::get_dmr(int ispin) const { if (this->dm_in_dftu_d != nullptr) { @@ -449,9 +461,10 @@ void dftu_cal_occup_m(const int iter, const std::vector>& dm, const K_Vectors& kv, const double& mixing_beta, - hamilt::Hamilt* p_ham) + hamilt::Hamilt* p_ham, + Plus_U &dftu) { - GlobalC::dftu.cal_occup_m_gamma(iter, ucell ,dm, mixing_beta, p_ham); + dftu.cal_occup_m_gamma(iter, ucell ,dm, mixing_beta, p_ham); } //! dftu occupation matrix for multiple k-points using dm(complex) @@ -461,11 +474,10 @@ void dftu_cal_occup_m(const int iter, const std::vector>>& dm, const K_Vectors& kv, const double& mixing_beta, - hamilt::Hamilt>* p_ham) + hamilt::Hamilt>* p_ham, + Plus_U &dftu) { - GlobalC::dftu.cal_occup_m_k(iter,ucell, dm, kv, mixing_beta, p_ham); + dftu.cal_occup_m_k(iter,ucell, dm, kv, mixing_beta, p_ham); } #endif - -} // namespace ModuleDFTU diff --git a/source/source_lcao/module_dftu/dftu.h b/source/source_lcao/module_dftu/dftu.h index b269acc665..56d213386d 100644 --- a/source/source_lcao/module_dftu/dftu.h +++ b/source/source_lcao/module_dftu/dftu.h @@ -7,7 +7,6 @@ #ifdef __LCAO #include "source_estate/module_charge/charge_mixing.h" #include "source_hamilt/hamilt.h" -#include "source_estate/elecstate.h" #include "source_lcao/module_hcontainer/hcontainer.h" #include "source_estate/module_dm/density_matrix.h" #include "source_lcao/force_stress_arrays.h" // mohan add 2024-06-15 @@ -16,24 +15,14 @@ #include #include -//========================================================== -// CLASS : -// NAME : DTFU (DFT+U) -//========================================================== -namespace ModuleDFTU -{ -class DFTU +class Plus_U { public: - DFTU(); // constructor - ~DFTU(); // deconstructor + Plus_U(); + ~Plus_U(); - //============================================================= - // In dftu.cpp - // Initialization & Calculating energy - //============================================================= public: // allocate relevant data strcutures void init(UnitCell& cell, // unitcell class @@ -44,23 +33,41 @@ class DFTU #endif ); - static DFTU* get_instance(); - // calculate the energy correction void cal_energy_correction(const UnitCell& ucell, const int istep); - double get_energy(){return EU;} + + // mohan change the function to static, 20251106 + static double get_energy() + { + return Plus_U::energy_u; + } + + static void set_energy(const double &e) + { + Plus_U::energy_u = e; + } + + static void set_double_energy() // mohan add 20251107 + { + Plus_U::energy_u *= 2.0; + } + void uramping_update(); // update U by uramping bool u_converged(); // check if U is converged - std::vector U = {}; // U (Hubbard parameter U) - std::vector U0; // U0 (target Hubbard parameter U0) - std::vector orbital_corr = {}; // - double uramping; // increase U by uramping, default is -1.0 - int omc; // occupation matrix control - int mixing_dftu; //whether to mix locale + // mohan change these parameters to static, 2025-11-07 + static std::vector U; // U (Hubbard parameter U) + static std::vector U0; // U0 (target Hubbard parameter U0) + static std::vector orbital_corr; // + static double uramping; // increase U by uramping, default is -1.0 + static int omc; // occupation matrix control + static int mixing_dftu; //whether to mix locale - double EU; //+U energy private: + + // mohan change the variable to static, 20251106 + static double energy_u; //+U energy, mohan update 2025-11-06, change this to private + const Parallel_Orbitals* paraV = nullptr; int cal_type = 3; // 1:dftu_tpye=1, dc=1; 2:dftu_type=1, dc=2; 3:dftu_tpye=2, dc=1; 4:dftu_tpye=2, dc=2; @@ -82,10 +89,21 @@ class DFTU // For calculating contribution to Hamiltonian matrices //============================================================= public: - void cal_eff_pot_mat_complex(const int ik, std::complex* eff_pot, const std::vector& isk, const std::complex* sk); - void cal_eff_pot_mat_real(const int ik, double* eff_pot, const std::vector& isk, const double* sk); + void cal_eff_pot_mat_complex(const int ik, + std::complex* eff_pot, + const std::vector& isk, + const std::complex* sk); + + void cal_eff_pot_mat_real(const int ik, + double* eff_pot, + const std::vector& isk, + const double* sk); + void cal_eff_pot_mat_R_double(const int ispin, double* SR, double* HR); - void cal_eff_pot_mat_R_complex_double(const int ispin, std::complex* SR, std::complex* HR); + + void cal_eff_pot_mat_R_complex_double(const int ispin, + std::complex* SR, + std::complex* HR); #endif //============================================================= @@ -95,13 +113,26 @@ class DFTU //============================================================= public: /// interface for PW base - /// calculate the local occupation number matrix for PW based wave functions - void cal_occ_pw(const int iter, const void* psi_in, const ModuleBase::matrix& wg_in, const UnitCell& cell, const double& mixing_beta); + /// calculate the local occupation number matrix for PW based wave functions + void cal_occ_pw(const int iter, + const void* psi_in, + const ModuleBase::matrix& wg_in, + const UnitCell& cell, + const double& mixing_beta); + /// calculate the local DFT+U effective potential matrix for PW base. void cal_VU_pot_pw(const int spin); + /// get effective potential matrix for PW base - const std::complex* get_eff_pot_pw(const int iat) const { return &(eff_pot_pw[this->eff_pot_pw_index[iat]]); } - int get_size_eff_pot_pw() const { return eff_pot_pw.size(); } + const std::complex* get_eff_pot_pw(const int iat) const + { + return &(eff_pot_pw[this->eff_pot_pw_index[iat]]); + } + + int get_size_eff_pot_pw() const + { + return eff_pot_pw.size(); + } #ifdef __LCAO // calculate the local occupation number matrix @@ -111,6 +142,7 @@ class DFTU const K_Vectors& kv, const double& mixing_beta, hamilt::Hamilt>* p_ham); + void cal_occup_m_gamma(const int iter, const UnitCell& ucell, const std::vector>& dm_gamma, @@ -122,6 +154,7 @@ class DFTU bool initialed_locale = false; private: + void copy_locale(const UnitCell& ucell); void zero_locale(const UnitCell& ucell); void mix_locale(const UnitCell& ucell,const double& mixing_beta); @@ -129,12 +162,13 @@ class DFTU std::vector> eff_pot_pw; std::vector eff_pot_pw_index; -public: - // local occupancy matrix of the correlated subspace + public: + // local occupancy matrix of the correlated subspace // locale: the out put local occupation number matrix of correlated electrons in the current electronic step // locale_save: the input local occupation number matrix of correlated electrons in the current electronic step std::vector>>> locale; // locale[iat][l][n][spin](m1,m2) std::vector>>> locale_save; // locale_save[iat][l][n][spin](m1,m2) + #ifdef __LCAO private: //============================================================= @@ -200,8 +234,9 @@ class DFTU public: void force_stress(const UnitCell& ucell, const Grid_Driver& gd, - const elecstate::ElecState* pelec, - const Parallel_Orbitals& pv, + std::vector>* dmk_d, // mohan modify 2025-11-02 + std::vector>>* dmk_c, // dmat.get_dm()->get_DMK_vector(); + const Parallel_Orbitals& pv, ForceStressArrays& fsr, ModuleBase::matrix& force_dftu, ModuleBase::matrix& stress_dftu, @@ -266,7 +301,7 @@ class DFTU //============================================================= public: - bool Yukawa; // 1:use Yukawa potential; 0: do not use Yukawa potential + static bool Yukawa; // 1:use Yukawa potential; 0: do not use Yukawa potential void cal_slater_UJ(const UnitCell& ucell, double** rho, const int& nrxx); private: @@ -303,6 +338,7 @@ class DFTU #endif }; + #ifdef __LCAO template void dftu_cal_occup_m(const int iter, @@ -310,13 +346,9 @@ void dftu_cal_occup_m(const int iter, const std::vector>& dm, const K_Vectors& kv, const double& mixing_beta, - hamilt::Hamilt* p_ham); + hamilt::Hamilt* p_ham, + Plus_U &dftu); #endif -} // namespace ModuleDFTU -namespace GlobalC -{ - extern ModuleDFTU::DFTU dftu; -} #endif diff --git a/source/source_lcao/module_dftu/dftu_folding.cpp b/source/source_lcao/module_dftu/dftu_folding.cpp index 26e70d0d55..bd2c8ad44a 100644 --- a/source/source_lcao/module_dftu/dftu_folding.cpp +++ b/source/source_lcao/module_dftu/dftu_folding.cpp @@ -8,10 +8,7 @@ #include "source_lcao/module_hcontainer/hcontainer.h" #include "source_lcao/module_hcontainer/hcontainer_funcs.h" -namespace ModuleDFTU -{ - -void DFTU::fold_dSR_gamma(const UnitCell& ucell, +void Plus_U::fold_dSR_gamma(const UnitCell& ucell, const Parallel_Orbitals& pv, const Grid_Driver* gd, double* dsloc_x, @@ -22,7 +19,7 @@ void DFTU::fold_dSR_gamma(const UnitCell& ucell, const int dim2, double* dSR_gamma) { - ModuleBase::TITLE("DFTU", "fold_dSR_gamma"); + ModuleBase::TITLE("Plus_U", "fold_dSR_gamma"); ModuleBase::GlobalFunc::ZEROS(dSR_gamma, pv.nloc); @@ -125,7 +122,7 @@ void DFTU::fold_dSR_gamma(const UnitCell& ucell, return; } -void DFTU::folding_matrix_k(const UnitCell& ucell, +void Plus_U::folding_matrix_k(const UnitCell& ucell, const Grid_Driver& gd, ForceStressArrays& fsr, const Parallel_Orbitals& pv, @@ -135,11 +132,11 @@ void DFTU::folding_matrix_k(const UnitCell& ucell, std::complex* mat_k, const ModuleBase::Vector3& kvec_d) { - ModuleBase::TITLE("DFTU", "folding_matrix_k"); - ModuleBase::timer::tick("DFTU", "folding_matrix_k"); + ModuleBase::TITLE("Plus_U", "folding_matrix_k"); + ModuleBase::timer::tick("Plus_U", "folding_matrix_k"); ModuleBase::GlobalFunc::ZEROS(mat_k, pv.nloc); - double* mat_ptr; + double* mat_ptr = nullptr; if (dim1 == 1 || dim1 == 4) { mat_ptr = fsr.DSloc_Rx; @@ -277,16 +274,16 @@ void DFTU::folding_matrix_k(const UnitCell& ucell, } // ad } // I1 } // T1 - ModuleBase::timer::tick("DFTU", "folding_matrix_k"); + ModuleBase::timer::tick("Plus_U", "folding_matrix_k"); return; } -void DFTU::folding_matrix_k_new(const int ik, +void Plus_U::folding_matrix_k_new(const int ik, hamilt::Hamilt>* p_ham) { - ModuleBase::TITLE("DFTU", "folding_matrix_k_new"); - ModuleBase::timer::tick("DFTU", "folding_matrix_k_new"); + ModuleBase::TITLE("Plus_U", "folding_matrix_k_new"); + ModuleBase::timer::tick("Plus_U", "folding_matrix_k_new"); int hk_type = 0; if (ModuleBase::GlobalFunc::IS_COLUMN_MAJOR_KS_SOLVER(PARAM.inp.ks_solver)) @@ -313,7 +310,8 @@ void DFTU::folding_matrix_k_new(const int ik, ->updateSk(ik, hk_type); } } + + ModuleBase::timer::tick("Plus_U", "folding_matrix_k_new"); } -} // namespace ModuleDFTU #endif // __LCAO diff --git a/source/source_lcao/module_dftu/dftu_force.cpp b/source/source_lcao/module_dftu/dftu_force.cpp index 5f08b8b545..02bfdff5a8 100644 --- a/source/source_lcao/module_dftu/dftu_force.cpp +++ b/source/source_lcao/module_dftu/dftu_force.cpp @@ -1,13 +1,11 @@ -//========================================================== -// Author:Xin Qu #include "source_io/module_parameter/parameter.h" -// DATE : 2019-12-10 -//========================================================== + #ifdef __LCAO #include "dftu.h" #include "source_base/constants.h" #include "source_base/global_function.h" #include "source_base/inverse_matrix.h" +#include "source_base/module_external/scalapack_connector.h" #include "source_base/parallel_reduce.h" #include "source_base/timer.h" #include "source_estate/elecstate_lcao.h" @@ -24,65 +22,19 @@ #include #include -extern "C" -{ - // I'm not sure what's happenig here, but the interface in scalapack_connecter.h - // does not seem to work, so I'll use this one here - void pzgemm_(const char* transa, - const char* transb, - const int* M, - const int* N, - const int* K, - const std::complex* alpha, - const std::complex* A, - const int* IA, - const int* JA, - const int* DESCA, - const std::complex* B, - const int* IB, - const int* JB, - const int* DESCB, - const std::complex* beta, - std::complex* C, - const int* IC, - const int* JC, - const int* DESCC); - - void pdgemm_(const char* transa, - const char* transb, - const int* M, - const int* N, - const int* K, - const double* alpha, - const double* A, - const int* IA, - const int* JA, - const int* DESCA, - const double* B, - const int* IB, - const int* JB, - const int* DESCB, - const double* beta, - double* C, - const int* IC, - const int* JC, - const int* DESCC); -} - -namespace ModuleDFTU -{ -void DFTU::force_stress(const UnitCell& ucell, +void Plus_U::force_stress(const UnitCell& ucell, const Grid_Driver& gd, - const elecstate::ElecState* pelec, + std::vector>* dmk_d, // mohan modify 2025-11-02 + std::vector>>* dmk_c, // dmat.get_dm()->get_DMK_vector(); const Parallel_Orbitals& pv, ForceStressArrays& fsr, // mohan add 2024-06-16 ModuleBase::matrix& force_dftu, ModuleBase::matrix& stress_dftu, const K_Vectors& kv) { - ModuleBase::TITLE("DFTU", "force_stress"); - ModuleBase::timer::tick("DFTU", "force_stress"); + ModuleBase::TITLE("Plus_U", "force_stress"); + ModuleBase::timer::tick("Plus_U", "force_stress"); const int nlocal = PARAM.globalv.nlocal; @@ -114,29 +66,12 @@ void DFTU::force_stress(const UnitCell& ucell, this->cal_VU_pot_mat_real(spin, false, VU); - const std::vector>& dmk - = dynamic_cast*>(pelec)->get_DM()->get_DMK_vector(); - #ifdef __MPI - pdgemm_(&transT, - &transN, - &nlocal, - &nlocal, - &nlocal, - &alpha, - dmk[spin].data(), - &one_int, - &one_int, - pv.desc, - VU, - &one_int, - &one_int, - pv.desc, - &beta, - &rho_VU[0], - &one_int, - &one_int, - pv.desc); + ScalapackConnector::gemm(transT, transN, nlocal, nlocal, nlocal, + alpha, (*dmk_d)[spin].data(), 1, 1, + pv.desc, VU, 1, 1, + pv.desc, beta, &rho_VU[0], + 1, 1, pv.desc); #endif delete[] VU; @@ -178,31 +113,12 @@ void DFTU::force_stress(const UnitCell& ucell, this->cal_VU_pot_mat_complex(spin, false, VU); - const std::vector>>& dmk - = dynamic_cast>*>(pelec) - ->get_DM() - ->get_DMK_vector(); #ifdef __MPI - pzgemm_(&transT, - &transN, - &nlocal, - &nlocal, - &nlocal, - &alpha, - dmk[ik].data(), - &one_int, - &one_int, - pv.desc, - VU, - &one_int, - &one_int, - pv.desc, - &beta, - &rho_VU[0], - &one_int, - &one_int, - pv.desc); + ScalapackConnector::gemm(transT, transN, nlocal, nlocal, nlocal, + alpha, (*dmk_c)[ik].data(), one_int, one_int, + pv.desc, VU, one_int, one_int, pv.desc, beta, + &rho_VU[0], one_int, one_int, pv.desc); #endif delete[] VU; @@ -244,12 +160,12 @@ void DFTU::force_stress(const UnitCell& ucell, } } } - ModuleBase::timer::tick("DFTU", "force_stress"); + ModuleBase::timer::tick("Plus_U", "force_stress"); return; } -void DFTU::cal_force_k(const UnitCell& ucell, +void Plus_U::cal_force_k(const UnitCell& ucell, const Grid_Driver& gd, ForceStressArrays& fsr, const Parallel_Orbitals& pv, @@ -258,8 +174,8 @@ void DFTU::cal_force_k(const UnitCell& ucell, ModuleBase::matrix& force_dftu, const ModuleBase::Vector3& kvec_d) { - ModuleBase::TITLE("DFTU", "cal_force_k"); - ModuleBase::timer::tick("DFTU", "cal_force_k"); + ModuleBase::TITLE("Plus_U", "cal_force_k"); + ModuleBase::timer::tick("Plus_U", "cal_force_k"); const char transN = 'N'; const char transC = 'C'; @@ -275,24 +191,24 @@ void DFTU::cal_force_k(const UnitCell& ucell, this->folding_matrix_k(ucell, gd, fsr, pv, ik, dim + 1, 0, &dSm_k[0], kvec_d); #ifdef __MPI - pzgemm_(&transN, - &transC, - &PARAM.globalv.nlocal, - &PARAM.globalv.nlocal, - &PARAM.globalv.nlocal, - &one, + ScalapackConnector::gemm(transN, + transC, + PARAM.globalv.nlocal, + PARAM.globalv.nlocal, + PARAM.globalv.nlocal, + one, &dSm_k[0], - &one_int, - &one_int, + one_int, + one_int, pv.desc, rho_VU, - &one_int, - &one_int, + one_int, + one_int, pv.desc, - &zero, + zero, &dm_VU_dSm[0], - &one_int, - &one_int, + one_int, + one_int, pv.desc); #endif @@ -313,24 +229,24 @@ void DFTU::cal_force_k(const UnitCell& ucell, } // end ir #ifdef __MPI - pzgemm_(&transN, - &transN, - &PARAM.globalv.nlocal, - &PARAM.globalv.nlocal, - &PARAM.globalv.nlocal, - &one, + ScalapackConnector::gemm(transN, + transN, + PARAM.globalv.nlocal, + PARAM.globalv.nlocal, + PARAM.globalv.nlocal, + one, &dSm_k[0], - &one_int, - &one_int, + one_int, + one_int, pv.desc, rho_VU, - &one_int, - &one_int, + one_int, + one_int, pv.desc, - &zero, + zero, &dm_VU_dSm[0], - &one_int, - &one_int, + one_int, + one_int, pv.desc); #endif @@ -374,12 +290,12 @@ void DFTU::cal_force_k(const UnitCell& ucell, } // ia } // it } // end dim - ModuleBase::timer::tick("DFTU", "cal_force_k"); + ModuleBase::timer::tick("Plus_U", "cal_force_k"); return; } -void DFTU::cal_stress_k(const UnitCell& ucell, +void Plus_U::cal_stress_k(const UnitCell& ucell, const Grid_Driver& gd, ForceStressArrays& fsr, const Parallel_Orbitals& pv, @@ -388,8 +304,8 @@ void DFTU::cal_stress_k(const UnitCell& ucell, ModuleBase::matrix& stress_dftu, const ModuleBase::Vector3& kvec_d) { - ModuleBase::TITLE("DFTU", "cal_stress_k"); - ModuleBase::timer::tick("DFTU", "cal_stress_k"); + ModuleBase::TITLE("Plus_U", "cal_stress_k"); + ModuleBase::timer::tick("Plus_U", "cal_stress_k"); const int nlocal = PARAM.globalv.nlocal; @@ -409,24 +325,24 @@ void DFTU::cal_stress_k(const UnitCell& ucell, this->folding_matrix_k(ucell, gd, fsr, pv, ik, dim1 + 4, dim2, &dSR_k[0], kvec_d); #ifdef __MPI - pzgemm_(&transN, - &transN, - &nlocal, - &nlocal, - &nlocal, - &minus_half, + ScalapackConnector::gemm(transN, + transN, + nlocal, + nlocal, + nlocal, + minus_half, rho_VU, - &one_int, - &one_int, + one_int, + one_int, pv.desc, &dSR_k[0], - &one_int, - &one_int, + one_int, + one_int, pv.desc, - &zero, + zero, &dm_VU_sover[0], - &one_int, - &one_int, + one_int, + one_int, pv.desc); #endif @@ -445,12 +361,12 @@ void DFTU::cal_stress_k(const UnitCell& ucell, } // end dim2 } // end dim1 - ModuleBase::timer::tick("DFTU", "cal_stress_k"); + ModuleBase::timer::tick("Plus_U", "cal_stress_k"); return; } -void DFTU::cal_force_gamma(const UnitCell& ucell, +void Plus_U::cal_force_gamma(const UnitCell& ucell, const double* rho_VU, const Parallel_Orbitals& pv, double* dsloc_x, @@ -458,8 +374,8 @@ void DFTU::cal_force_gamma(const UnitCell& ucell, double* dsloc_z, ModuleBase::matrix& force_dftu) { - ModuleBase::TITLE("DFTU", "cal_force_gamma"); - ModuleBase::timer::tick("DFTU", "cal_force_gamma"); + ModuleBase::TITLE("Plus_U", "cal_force_gamma"); + ModuleBase::timer::tick("Plus_U", "cal_force_gamma"); const char transN = 'N', transT = 'T'; const int one_int = 1; const double one = 1.0, zero = 0.0, minus_one = -1.0; @@ -483,24 +399,24 @@ void DFTU::cal_force_gamma(const UnitCell& ucell, } #ifdef __MPI - pdgemm_(&transN, - &transT, - &PARAM.globalv.nlocal, - &PARAM.globalv.nlocal, - &PARAM.globalv.nlocal, - &one, + ScalapackConnector::gemm(transN, + transT, + PARAM.globalv.nlocal, + PARAM.globalv.nlocal, + PARAM.globalv.nlocal, + one, tmp_ptr, - &one_int, - &one_int, + 1, + 1, pv.desc, rho_VU, - &one_int, - &one_int, + 1, + 1, pv.desc, - &zero, + zero, &dm_VU_dSm[0], - &one_int, - &one_int, + 1, + 1, pv.desc); #endif @@ -521,24 +437,24 @@ void DFTU::cal_force_gamma(const UnitCell& ucell, } // end ir #ifdef __MPI - pdgemm_(&transN, - &transT, - &PARAM.globalv.nlocal, - &PARAM.globalv.nlocal, - &PARAM.globalv.nlocal, - &one, + ScalapackConnector::gemm(transN, + transT, + PARAM.globalv.nlocal, + PARAM.globalv.nlocal, + PARAM.globalv.nlocal, + one, tmp_ptr, - &one_int, - &one_int, + 1, + 1, pv.desc, rho_VU, - &one_int, - &one_int, + 1, + 1, pv.desc, - &zero, + zero, &dm_VU_dSm[0], - &one_int, - &one_int, + 1, + 1, pv.desc); #endif @@ -585,12 +501,12 @@ void DFTU::cal_force_gamma(const UnitCell& ucell, } // it } // end dim - ModuleBase::timer::tick("DFTU", "cal_force_gamma"); + ModuleBase::timer::tick("Plus_U", "cal_force_gamma"); return; } -void DFTU::cal_stress_gamma(const UnitCell& ucell, +void Plus_U::cal_stress_gamma(const UnitCell& ucell, const Parallel_Orbitals& pv, const Grid_Driver* gd, double* dsloc_x, @@ -600,8 +516,8 @@ void DFTU::cal_stress_gamma(const UnitCell& ucell, const double* rho_VU, ModuleBase::matrix& stress_dftu) { - ModuleBase::TITLE("DFTU", "cal_stress_gamma"); - ModuleBase::timer::tick("DFTU", "cal_stress_gamma"); + ModuleBase::TITLE("Plus_U", "cal_stress_gamma"); + ModuleBase::timer::tick("Plus_U", "cal_stress_gamma"); const char transN = 'N'; const int one_int = 1; @@ -621,24 +537,24 @@ void DFTU::cal_stress_gamma(const UnitCell& ucell, this->fold_dSR_gamma(ucell, pv, gd, dsloc_x, dsloc_y, dsloc_z, dh_r, dim1, dim2, &dSR_gamma[0]); #ifdef __MPI - pdgemm_(&transN, - &transN, - &nlocal, - &nlocal, - &nlocal, - &minus_half, + ScalapackConnector::gemm(transN, + transN, + nlocal, + nlocal, + nlocal, + minus_half, rho_VU, - &one_int, - &one_int, + 1, + 1, pv.desc, &dSR_gamma[0], - &one_int, - &one_int, + 1, + 1, pv.desc, - &zero, + zero, &dm_VU_sover[0], - &one_int, - &one_int, + 1, + 1, pv.desc); #endif @@ -658,8 +574,7 @@ void DFTU::cal_stress_gamma(const UnitCell& ucell, } // end dim2 } // end dim1 - ModuleBase::timer::tick("DFTU", "cal_stress_gamma"); + ModuleBase::timer::tick("Plus_U", "cal_stress_gamma"); return; } -} // namespace ModuleDFTU #endif diff --git a/source/source_lcao/module_dftu/dftu_hamilt.cpp b/source/source_lcao/module_dftu/dftu_hamilt.cpp index 9ba7fe1b14..f4d1b79a32 100644 --- a/source/source_lcao/module_dftu/dftu_hamilt.cpp +++ b/source/source_lcao/module_dftu/dftu_hamilt.cpp @@ -4,20 +4,21 @@ #include "source_base/timer.h" #include "source_pw/module_pwdft/global.h" -namespace ModuleDFTU -{ #ifdef __LCAO -void DFTU::cal_eff_pot_mat_complex(const int ik, std::complex* eff_pot, const std::vector& isk, const std::complex* sk) +void Plus_U::cal_eff_pot_mat_complex(const int ik, + std::complex* eff_pot, + const std::vector& isk, + const std::complex* sk) { - ModuleBase::TITLE("DFTU", "cal_eff_pot_mat"); - ModuleBase::timer::tick("DFTU", "cal_eff_pot_mat"); + ModuleBase::TITLE("Plus_U", "cal_eff_pot_c"); if (!this->initialed_locale) { - ModuleBase::timer::tick("DFTU", "cal_eff_pot_mat"); return; } + ModuleBase::timer::tick("Plus_U", "cal_eff_pot_c"); + int spin = isk[ik]; ModuleBase::GlobalFunc::ZEROS(eff_pot, this->paraV->nloc); @@ -35,17 +36,19 @@ void DFTU::cal_eff_pot_mat_complex(const int ik, std::complex* eff_pot, this->cal_VU_pot_mat_complex(spin, true, &VU[0]); #ifdef __MPI - pzgemm_(&transN, &transN, - &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, - &half, - ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), &one_int, &one_int, this->paraV->desc, - sk, &one_int, &one_int, this->paraV->desc, - &zero, - eff_pot, &one_int, &one_int, this->paraV->desc); + ScalapackConnector::gemm(transN, transN, + PARAM.globalv.nlocal, PARAM.globalv.nlocal, PARAM.globalv.nlocal, + half, + ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), one_int, one_int, this->paraV->desc, + sk, one_int, one_int, this->paraV->desc, + zero, + eff_pot, one_int, one_int, this->paraV->desc); #endif - for (int irc = 0; irc < this->paraV->nloc; irc++) - VU[irc] = eff_pot[irc]; + for (int irc = 0; irc < this->paraV->nloc; irc++) + { + VU[irc] = eff_pot[irc]; + } #ifdef __MPI pztranc_(&PARAM.globalv.nlocal, &PARAM.globalv.nlocal, @@ -55,19 +58,18 @@ void DFTU::cal_eff_pot_mat_complex(const int ik, std::complex* eff_pot, eff_pot, &one_int, &one_int, this->paraV->desc); #endif - ModuleBase::timer::tick("DFTU", "cal_eff_pot_mat"); + ModuleBase::timer::tick("Plus_U", "cal_eff_pot_c"); return; } -void DFTU::cal_eff_pot_mat_real(const int ik, double* eff_pot, const std::vector& isk, const double* sk) +void Plus_U::cal_eff_pot_mat_real(const int ik, double* eff_pot, const std::vector& isk, const double* sk) { - ModuleBase::TITLE("DFTU", "cal_eff_pot_mat"); - ModuleBase::timer::tick("DFTU", "cal_eff_pot_mat"); + ModuleBase::TITLE("Plus_U", "cal_eff_pot_r"); if (!this->initialed_locale) { - ModuleBase::timer::tick("DFTU", "cal_eff_pot_mat"); return; } + ModuleBase::timer::tick("Plus_U", "cal_eff_pot_r"); int spin = isk[ik]; @@ -84,13 +86,13 @@ void DFTU::cal_eff_pot_mat_real(const int ik, double* eff_pot, const std::vector this->cal_VU_pot_mat_real(spin, 1, &VU[0]); #ifdef __MPI - pdgemm_(&transN, &transN, - &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, - &half, - ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), &one_int, &one_int, this->paraV->desc, - sk, &one_int, &one_int, this->paraV->desc, - &beta, - eff_pot, &one_int, &one_int, this->paraV->desc); + ScalapackConnector::gemm(transN, transN, + PARAM.globalv.nlocal, PARAM.globalv.nlocal, PARAM.globalv.nlocal, + half, + ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), 1, 1, this->paraV->desc, + sk, 1, 1, this->paraV->desc, + beta, + eff_pot, 1, 1, this->paraV->desc); #endif for (int irc = 0; irc < this->paraV->nloc; irc++) @@ -104,11 +106,11 @@ void DFTU::cal_eff_pot_mat_real(const int ik, double* eff_pot, const std::vector eff_pot, &one_int, &one_int, const_cast(this->paraV->desc)); #endif - ModuleBase::timer::tick("DFTU", "cal_eff_pot_mat"); + ModuleBase::timer::tick("Plus_U", "cal_eff_pot_r"); return; } -void DFTU::cal_eff_pot_mat_R_double(const int ispin, double* SR, double* HR) +void Plus_U::cal_eff_pot_mat_R_double(const int ispin, double* SR, double* HR) { const char transN = 'N', transT = 'T'; const int one_int = 1; @@ -118,27 +120,27 @@ void DFTU::cal_eff_pot_mat_R_double(const int ispin, double* SR, double* HR) this->cal_VU_pot_mat_real(ispin, 1, &VU[0]); #ifdef __MPI - pdgemm_(&transN, &transN, - &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, - &half, - ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), &one_int, &one_int, this->paraV->desc, - SR, &one_int, &one_int, this->paraV->desc, - &beta, - HR, &one_int, &one_int, this->paraV->desc); - - pdgemm_(&transN, &transN, - &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, - &half, - SR, &one_int, &one_int, this->paraV->desc, - ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), &one_int, &one_int, this->paraV->desc, - &one, - HR, &one_int, &one_int, this->paraV->desc); + ScalapackConnector::gemm(transN, transN, + PARAM.globalv.nlocal, PARAM.globalv.nlocal, PARAM.globalv.nlocal, + half, + ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), 1, 1, this->paraV->desc, + SR, 1, 1, this->paraV->desc, + beta, + HR, 1, 1, this->paraV->desc); + + ScalapackConnector::gemm(transN, transN, + PARAM.globalv.nlocal, PARAM.globalv.nlocal, PARAM.globalv.nlocal, + half, + SR, 1, 1, this->paraV->desc, + ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), 1, 1, this->paraV->desc, + one, + HR, 1, 1, this->paraV->desc); #endif return; } -void DFTU::cal_eff_pot_mat_R_complex_double(const int ispin, std::complex* SR, std::complex* HR) +void Plus_U::cal_eff_pot_mat_R_complex_double(const int ispin, std::complex* SR, std::complex* HR) { const char transN = 'N', transT = 'T'; const int one_int = 1; @@ -148,25 +150,24 @@ void DFTU::cal_eff_pot_mat_R_complex_double(const int ispin, std::complexcal_VU_pot_mat_complex(ispin, 1, &VU[0]); #ifdef __MPI - pzgemm_(&transN, &transN, - &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, - &half, - ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), &one_int, &one_int, this->paraV->desc, - SR, &one_int, &one_int, this->paraV->desc, - &zero, - HR, &one_int, &one_int, this->paraV->desc); - - pzgemm_(&transN, &transN, - &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, &PARAM.globalv.nlocal, - &half, - SR, &one_int, &one_int, this->paraV->desc, - ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), &one_int, &one_int, this->paraV->desc, - &one, - HR, &one_int, &one_int, this->paraV->desc); + ScalapackConnector::gemm(transN, transN, + PARAM.globalv.nlocal, PARAM.globalv.nlocal, PARAM.globalv.nlocal, + half, + ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), one_int, one_int, this->paraV->desc, + SR, one_int, one_int, this->paraV->desc, + zero, + HR, one_int, one_int, this->paraV->desc); + + ScalapackConnector::gemm(transN, transN, + PARAM.globalv.nlocal, PARAM.globalv.nlocal, PARAM.globalv.nlocal, + half, + SR, one_int, one_int, this->paraV->desc, + ModuleBase::GlobalFunc::VECTOR_TO_PTR(VU), one_int, one_int, this->paraV->desc, + one, + HR, one_int, one_int, this->paraV->desc); #endif return; } #endif -} \ No newline at end of file diff --git a/source/source_lcao/module_dftu/dftu_io.cpp b/source/source_lcao/module_dftu/dftu_io.cpp index fc9d2a2d10..f7ae8c2f62 100644 --- a/source/source_lcao/module_dftu/dftu_io.cpp +++ b/source/source_lcao/module_dftu/dftu_io.cpp @@ -3,12 +3,10 @@ #include "source_io/module_parameter/parameter.h" #include "source_pw/module_pwdft/global.h" -namespace ModuleDFTU -{ -void DFTU::output(const UnitCell &ucell) +void Plus_U::output(const UnitCell &ucell) { - ModuleBase::TITLE("DFTU", "output"); + ModuleBase::TITLE("Plus_U", "output"); GlobalV::ofs_running << "//=========================L(S)DA+U===========================//" << std::endl; @@ -22,9 +20,10 @@ void DFTU::output(const UnitCell &ucell) if (L >= orbital_corr[T] && orbital_corr[T] != -1) { - if (L != orbital_corr[T]) { - continue; -} + if (L != orbital_corr[T]) + { + continue; + } if (!Yukawa) { @@ -35,10 +34,11 @@ void DFTU::output(const UnitCell &ucell) { for (int n = 0; n < N; n++) { - if (n != 0) { - continue; -} - double Ueff = (this->U_Yukawa[T][L][n] - this->J_Yukawa[T][L][n]) * ModuleBase::Ry_to_eV; + if (n != 0) + { + continue; + } + double Ueff = (this->U_Yukawa[T][L][n] - this->J_Yukawa[T][L][n]) * ModuleBase::Ry_to_eV; GlobalV::ofs_running << "atom_type=" << T << " L=" << L << " chi=" << n << " U=" << this->U_Yukawa[T][L][n] * ModuleBase::Ry_to_eV << "eV " << "J=" << this->J_Yukawa[T][L][n] * ModuleBase::Ry_to_eV << "eV" @@ -61,7 +61,7 @@ void DFTU::output(const UnitCell &ucell) } } if(!ofdftu){ - std::cout << "DFTU::write_occup_m. Can't create file onsite.dm!" << std::endl; + std::cout << "Plus_U::write_occup_m. Can't create file onsite.dm!" << std::endl; exit(0); } this->write_occup_m(ucell,ofdftu); @@ -73,21 +73,24 @@ void DFTU::output(const UnitCell &ucell) // define the function calculate the eigenvalues of a matrix std::vector CalculateEigenvalues(std::vector>& A, int n); -void DFTU::write_occup_m(const UnitCell& ucell, +void Plus_U::write_occup_m(const UnitCell& ucell, std::ofstream &ofs, bool diag) { - ModuleBase::TITLE("DFTU", "write_occup_m"); + ModuleBase::TITLE("Plus_U", "write_occup_m"); - if(GlobalV::MY_RANK != 0) { return; -} + if(GlobalV::MY_RANK != 0) + { + return; + } for (int T = 0; T < ucell.ntype; T++) { - if (orbital_corr[T] == -1) { - continue; -} - const int NL = ucell.atoms[T].nwl + 1; + if (orbital_corr[T] == -1) + { + continue; + } + const int NL = ucell.atoms[T].nwl + 1; const int LC = orbital_corr[T]; for (int I = 0; I < ucell.atoms[T].na; I++) @@ -98,9 +101,10 @@ void DFTU::write_occup_m(const UnitCell& ucell, for (int l = 0; l < NL; l++) { - if (l != orbital_corr[T]) { - continue; -} + if (l != orbital_corr[T]) + { + continue; + } const int N = ucell.atoms[T].l_nchi[l]; ofs << "L" @@ -109,9 +113,10 @@ void DFTU::write_occup_m(const UnitCell& ucell, for (int n = 0; n < N; n++) { // if(!Yukawa && n!=0) continue; - if (n != 0) { - continue; -} + if (n != 0) + { + continue; + } ofs << "zeta" << " " << n << std::endl; @@ -158,7 +163,8 @@ void DFTU::write_occup_m(const UnitCell& ucell, } if(diag) { - ofs << std::setw(12) << std::setprecision(8) << std::fixed<< "atomic mag: "< 0) { std::cout - << "DFTU::read_occup_m. Can not find the file initial_onsite.dm . Please check your initial_onsite.dm" + << "Plus_U::read_occup_m. Can not find the file initial_onsite.dm . Please check your initial_onsite.dm" << std::endl; } else { if (PARAM.inp.init_chg == "file") { - std::cout << "DFTU::read_occup_m. Can not find the file onsite.dm . Please do scf calculation first" + std::cout << "Plus_U::read_occup_m. Can not find the file onsite.dm . Please do scf calculation first" << std::endl; } } @@ -257,16 +267,21 @@ void DFTU::read_occup_m(const UnitCell& ucell, char word[10]; - int T, iat, spin, L, zeta; + int T=0; + int iat=0; + int spin=0; + int L=0; + int zeta=0; ifdftu.rdstate(); while (ifdftu.good()) { ifdftu >> word; - if (ifdftu.eof()) { - break; -} + if (ifdftu.eof()) + { + break; + } if (strcmp("atoms", word) == 0) { @@ -279,9 +294,10 @@ void DFTU::read_occup_m(const UnitCell& ucell, for (int l = 0; l < NL; l++) { - if (l != orbital_corr[T]) { - continue; -} + if (l != orbital_corr[T]) + { + continue; + } ifdftu >> word; @@ -294,9 +310,10 @@ void DFTU::read_occup_m(const UnitCell& ucell, for (int n = 0; n < N; n++) { // if(!Yukawa && n!=0) continue; - if (n != 0) { - continue; -} + if (n != 0) + { + continue; + } ifdftu >> word; if (strcmp("zeta", word) == 0) @@ -327,7 +344,7 @@ void DFTU::read_occup_m(const UnitCell& ucell, } else { - std::cout << "WRONG IN READING LOCAL OCCUPATION NUMBER MATRIX FROM DFTU FILE" + std::cout << "WRONG IN READING LOCAL OCCUPATION NUMBER MATRIX FROM Plus_U FILE" << std::endl; exit(0); } @@ -358,21 +375,21 @@ void DFTU::read_occup_m(const UnitCell& ucell, } else { - std::cout << "WRONG IN READING LOCAL OCCUPATION NUMBER MATRIX FROM DFTU FILE" << std::endl; + std::cout << "WRONG IN READING LOCAL OCCUPATION NUMBER MATRIX FROM Plus_U FILE" << std::endl; exit(0); } } } else { - std::cout << "WRONG IN READING LOCAL OCCUPATION NUMBER MATRIX FROM DFTU FILE" << std::endl; + std::cout << "WRONG IN READING LOCAL OCCUPATION NUMBER MATRIX FROM Plus_U FILE" << std::endl; exit(0); } } } else { - std::cout << "WRONG IN READING LOCAL OCCUPATION NUMBER MATRIX FROM DFTU FILE" << std::endl; + std::cout << "WRONG IN READING LOCAL OCCUPATION NUMBER MATRIX FROM Plus_U FILE" << std::endl; exit(0); } @@ -387,15 +404,16 @@ void DFTU::read_occup_m(const UnitCell& ucell, return; } -void DFTU::local_occup_bcast(const UnitCell& ucell) +void Plus_U::local_occup_bcast(const UnitCell& ucell) { - ModuleBase::TITLE("DFTU", "local_occup_bcast"); + ModuleBase::TITLE("Plus_U", "local_occup_bcast"); for (int T = 0; T < ucell.ntype; T++) { - if (orbital_corr[T] == -1) { - continue; -} + if (orbital_corr[T] == -1) + { + continue; + } for (int I = 0; I < ucell.atoms[T].na; I++) { @@ -404,16 +422,18 @@ void DFTU::local_occup_bcast(const UnitCell& ucell) for (int l = 0; l <= ucell.atoms[T].nwl; l++) { - if (l != orbital_corr[T]) { - continue; -} + if (l != orbital_corr[T]) + { + continue; + } for (int n = 0; n < ucell.atoms[T].l_nchi[l]; n++) { // if(!Yukawa && n!=0) continue; - if (n != 0) { - continue; -} + if (n != 0) + { + continue; + } if (PARAM.inp.nspin == 1 || PARAM.inp.nspin == 2) { @@ -462,9 +482,11 @@ void DFTU::local_occup_bcast(const UnitCell& ucell) return; } -inline void JacobiRotate(std::vector>& A, int p, int q, int n) { - if (std::abs(A[p][q]) > 1e-10) { - double r = (A[q][q] - A[p][p]) / (2.0 * A[p][q]); +inline void JacobiRotate(std::vector>& A, int p, int q, int n) +{ + if (std::abs(A[p][q]) > 1e-10) + { + double r = (A[q][q] - A[p][p]) / (2.0 * A[p][q]); double t; if (r >= 0) { t = 1.0 / (r + sqrt(1.0 + r * r)); @@ -489,7 +511,8 @@ inline void JacobiRotate(std::vector>& A, int p, int q, int } } -inline std::vector CalculateEigenvalues(std::vector>& A, int n) { +inline std::vector CalculateEigenvalues(std::vector>& A, int n) +{ std::vector eigenvalues(n); while (true) { int p = 0, q = 1; @@ -513,4 +536,3 @@ inline std::vector CalculateEigenvalues(std::vector> } return eigenvalues; } -} // namespace ModuleDFTU \ No newline at end of file diff --git a/source/source_lcao/module_dftu/dftu_occup.cpp b/source/source_lcao/module_dftu/dftu_occup.cpp index 1bc771d42f..aaabbb81ac 100644 --- a/source/source_lcao/module_dftu/dftu_occup.cpp +++ b/source/source_lcao/module_dftu/dftu_occup.cpp @@ -7,12 +7,10 @@ #endif #include "source_base/module_external/scalapack_connector.h" -namespace ModuleDFTU +void Plus_U::copy_locale(const UnitCell& ucell) { -void DFTU::copy_locale(const UnitCell& ucell) -{ - ModuleBase::TITLE("DFTU", "copy_locale"); - ModuleBase::timer::tick("DFTU", "copy_locale"); + ModuleBase::TITLE("Plus_U", "copy_locale"); + ModuleBase::timer::tick("Plus_U", "copy_locale"); for (int T = 0; T < ucell.ntype; T++) { @@ -44,13 +42,13 @@ void DFTU::copy_locale(const UnitCell& ucell) } } } - ModuleBase::timer::tick("DFTU", "copy_locale"); + ModuleBase::timer::tick("Plus_U", "copy_locale"); } -void DFTU::zero_locale(const UnitCell& ucell) +void Plus_U::zero_locale(const UnitCell& ucell) { - ModuleBase::TITLE("DFTU", "zero_locale"); - ModuleBase::timer::tick("DFTU", "zero_locale"); + ModuleBase::TITLE("Plus_U", "zero_locale"); + ModuleBase::timer::tick("Plus_U", "zero_locale"); for (int T = 0; T < ucell.ntype; T++) { @@ -82,14 +80,14 @@ void DFTU::zero_locale(const UnitCell& ucell) } } } - ModuleBase::timer::tick("DFTU", "zero_locale"); + ModuleBase::timer::tick("Plus_U", "zero_locale"); } -void DFTU::mix_locale(const UnitCell& ucell, +void Plus_U::mix_locale(const UnitCell& ucell, const double& mixing_beta) { - ModuleBase::TITLE("DFTU", "mix_locale"); - ModuleBase::timer::tick("DFTU", "mix_locale"); + ModuleBase::TITLE("Plus_U", "mix_locale"); + ModuleBase::timer::tick("Plus_U", "mix_locale"); double beta = mixing_beta; @@ -123,20 +121,20 @@ void DFTU::mix_locale(const UnitCell& ucell, } } } - ModuleBase::timer::tick("DFTU", "mix_locale"); + ModuleBase::timer::tick("Plus_U", "mix_locale"); } #ifdef __LCAO -void DFTU::cal_occup_m_k(const int iter, +void Plus_U::cal_occup_m_k(const int iter, const UnitCell& ucell, const std::vector>>& dm_k, const K_Vectors& kv, const double& mixing_beta, hamilt::Hamilt>* p_ham) { - ModuleBase::TITLE("DFTU", "cal_occup_m_k"); - ModuleBase::timer::tick("DFTU", "cal_occup_m_k"); + ModuleBase::TITLE("Plus_U", "cal_occup_m_k"); + ModuleBase::timer::tick("Plus_U", "cal_occup_m_k"); this->copy_locale(ucell); this->zero_locale(ucell); @@ -380,18 +378,18 @@ void DFTU::cal_occup_m_k(const int iter, } this->initialed_locale = true; - ModuleBase::timer::tick("DFTU", "cal_occup_m_k"); + ModuleBase::timer::tick("Plus_U", "cal_occup_m_k"); return; } -void DFTU::cal_occup_m_gamma(const int iter, +void Plus_U::cal_occup_m_gamma(const int iter, const UnitCell &ucell, const std::vector> &dm_gamma, const double& mixing_beta, hamilt::Hamilt* p_ham) { - ModuleBase::TITLE("DFTU", "cal_occup_m_gamma"); - ModuleBase::timer::tick("DFTU", "cal_occup_m_gamma"); + ModuleBase::TITLE("Plus_U", "cal_occup_m_gamma"); + ModuleBase::timer::tick("Plus_U", "cal_occup_m_gamma"); this->copy_locale(ucell); this->zero_locale(ucell); @@ -428,26 +426,6 @@ void DFTU::cal_occup_m_gamma(const int iter, one_int, one_int, &this->paraV->desc[0]); - /*pdgemm_(&transN, - &transT, - &PARAM.globalv.nlocal, - &PARAM.globalv.nlocal, - &PARAM.globalv.nlocal, - &alpha, - s_gamma_pointer, - &one_int, - &one_int, - this->paraV->desc, - dm_gamma[is].data(), - //dm_gamma[is].c, - &one_int, - &one_int, - this->paraV->desc, - &beta, - &srho[0], - &one_int, - &one_int, - this->paraV->desc);*/ #endif for (int it = 0; it < ucell.ntype; it++) @@ -558,8 +536,7 @@ void DFTU::cal_occup_m_gamma(const int iter, } this->initialed_locale = true; - ModuleBase::timer::tick("DFTU", "cal_occup_m_gamma"); + ModuleBase::timer::tick("Plus_U", "cal_occup_m_gamma"); return; } #endif -} // namespace ModuleDFTU diff --git a/source/source_lcao/module_dftu/dftu_pw.cpp b/source/source_lcao/module_dftu/dftu_pw.cpp index 03968cabee..e3107a313a 100644 --- a/source/source_lcao/module_dftu/dftu_pw.cpp +++ b/source/source_lcao/module_dftu/dftu_pw.cpp @@ -5,16 +5,14 @@ #include "source_base/timer.h" -namespace ModuleDFTU -{ -DFTU* DFTU::get_instance() -{ - return &GlobalC::dftu; -} /// calculate occupation matrix for DFT+U -void DFTU::cal_occ_pw(const int iter, const void* psi_in, const ModuleBase::matrix& wg_in, const UnitCell& cell, const double& mixing_beta) +void Plus_U::cal_occ_pw(const int iter, + const void* psi_in, + const ModuleBase::matrix& wg_in, + const UnitCell& cell, + const double& mixing_beta) { - ModuleBase::timer::tick("DFTU", "cal_occ_pw"); + ModuleBase::timer::tick("Plus_U", "cal_occ_pw"); this->copy_locale(cell); this->zero_locale(cell); @@ -137,7 +135,7 @@ void DFTU::cal_occ_pw(const int iter, const void* psi_in, const ModuleBase::matr } #endif - this->EU = 0.0; + Plus_U::energy_u = 0.0; // reduce mag from all k-pools for(int iat = 0; iat < cell.nat; iat++) { @@ -148,7 +146,12 @@ void DFTU::cal_occ_pw(const int iter, const void* psi_in, const ModuleBase::matr continue; } const int size = (2 * target_l + 1) * (2 * target_l + 1); - Parallel_Reduce::reduce_double_allpool(PARAM.inp.kpar, PARAM.globalv.nproc_in_pool, this->locale[iat][target_l][0][0].c, size * PARAM.inp.nspin); + + Parallel_Reduce::reduce_double_allpool(PARAM.inp.kpar, + PARAM.globalv.nproc_in_pool, + this->locale[iat][target_l][0][0].c, + size * PARAM.inp.nspin); + //update effective potential const double u_value = this->U[it]; std::complex* vu_iat = &(this->eff_pot_pw[this->eff_pot_pw_index[iat]]); @@ -157,8 +160,10 @@ void DFTU::cal_occ_pw(const int iter, const void* psi_in, const ModuleBase::matr { for (int m2 = 0; m2 < m_size; m2++) { - vu_iat[m1 * m_size + m2] = u_value * (1.0 * (m1 == m2) - this->locale[iat][target_l][0][0].c[m2 * m_size + m1]); - this->EU += u_value * 0.25 * this->locale[iat][target_l][0][0].c[m2 * m_size + m1] * this->locale[iat][target_l][0][0].c[m1 * m_size + m2]; + vu_iat[m1 * m_size + m2] = u_value * + (1.0 * (m1 == m2) - this->locale[iat][target_l][0][0].c[m2 * m_size + m1]); + Plus_U::energy_u += u_value * 0.25 * this->locale[iat][target_l][0][0].c[m2 * m_size + m1] + * this->locale[iat][target_l][0][0].c[m1 * m_size + m2]; } } for (int is = 1; is < 4; ++is) @@ -168,8 +173,11 @@ void DFTU::cal_occ_pw(const int iter, const void* psi_in, const ModuleBase::matr { for (int m2 = 0; m2 < m_size; m2++) { - vu_iat[start + m1 * m_size + m2] = u_value * (0 - this->locale[iat][target_l][0][0].c[start + m2 * m_size + m1]); - this->EU += u_value * 0.25 * this->locale[iat][target_l][0][0].c[start + m2 * m_size + m1] * this->locale[iat][target_l][0][0].c[start + m1 * m_size + m2]; + vu_iat[start + m1 * m_size + m2] = u_value * + (0 - this->locale[iat][target_l][0][0].c[start + m2 * m_size + m1]); + Plus_U::energy_u += u_value * 0.25 + * this->locale[iat][target_l][0][0].c[start + m2 * m_size + m1] + * this->locale[iat][target_l][0][0].c[start + m1 * m_size + m2]; } } } @@ -201,12 +209,11 @@ void DFTU::cal_occ_pw(const int iter, const void* psi_in, const ModuleBase::matr this->mix_locale(cell, mixing_beta); } // update effective potential - ModuleBase::timer::tick("DFTU", "cal_occ_pw"); + ModuleBase::timer::tick("Plus_U", "cal_occ_pw"); } /// calculate the local DFT+U effective potential matrix for PW base. -void DFTU::cal_VU_pot_pw(const int spin) +void Plus_U::cal_VU_pot_pw(const int spin) { } -} // namespace ModuleDFTU \ No newline at end of file diff --git a/source/source_lcao/module_dftu/dftu_tools.cpp b/source/source_lcao/module_dftu/dftu_tools.cpp index dddb347e71..3ceece7ae0 100644 --- a/source/source_lcao/module_dftu/dftu_tools.cpp +++ b/source/source_lcao/module_dftu/dftu_tools.cpp @@ -3,13 +3,11 @@ #include "source_io/module_parameter/parameter.h" #include "source_pw/module_pwdft/global.h" -namespace ModuleDFTU -{ #ifdef __LCAO -void DFTU::cal_VU_pot_mat_complex(const int spin, const bool newlocale, std::complex* VU) +void Plus_U::cal_VU_pot_mat_complex(const int spin, const bool newlocale, std::complex* VU) { - ModuleBase::TITLE("DFTU", "cal_VU_pot_mat_complex"); + ModuleBase::TITLE("Plus_U", "cal_VU_pot_mat_complex"); ModuleBase::GlobalFunc::ZEROS(VU, this->paraV->nloc); for (int it = 0; it < this->ucell->ntype; ++it) @@ -71,9 +69,9 @@ void DFTU::cal_VU_pot_mat_complex(const int spin, const bool newlocale, std::com return; } -void DFTU::cal_VU_pot_mat_real(const int spin, const bool newlocale, double* VU) +void Plus_U::cal_VU_pot_mat_real(const int spin, const bool newlocale, double* VU) { - ModuleBase::TITLE("DFTU", "cal_VU_pot_mat_real"); + ModuleBase::TITLE("Plus_U", "cal_VU_pot_mat_real"); ModuleBase::GlobalFunc::ZEROS(VU, this->paraV->nloc); for (int it = 0; it < this->ucell->ntype; ++it) @@ -136,7 +134,7 @@ void DFTU::cal_VU_pot_mat_real(const int spin, const bool newlocale, double* VU) return; } -double DFTU::get_onebody_eff_pot(const int T, +double Plus_U::get_onebody_eff_pot(const int T, const int iat, const int L, const int N, @@ -145,7 +143,7 @@ double DFTU::get_onebody_eff_pot(const int T, const int m1, const bool newlocale) { - ModuleBase::TITLE("DFTU", "get_onebody_eff_pot"); + ModuleBase::TITLE("Plus_U", "get_onebody_eff_pot"); double VU = 0.0; @@ -213,4 +211,3 @@ double DFTU::get_onebody_eff_pot(const int T, return VU; } #endif -} // namespace ModuleDFTU \ No newline at end of file diff --git a/source/source_lcao/module_dftu/dftu_yukawa.cpp b/source/source_lcao/module_dftu/dftu_yukawa.cpp index 73a9910052..5f77388a75 100644 --- a/source/source_lcao/module_dftu/dftu_yukawa.cpp +++ b/source/source_lcao/module_dftu/dftu_yukawa.cpp @@ -1,9 +1,5 @@ -//========================================================== -// Author:Xin Qu #ifdef __LCAO #include "source_io/module_parameter/parameter.h" -// DATE : 2019-12-10 -//========================================================== #include "source_base/constants.h" #include "source_base/global_function.h" #include "source_pw/module_pwdft/global.h" @@ -18,12 +14,10 @@ #include #include -namespace ModuleDFTU -{ -void DFTU::cal_yukawa_lambda(double** rho, const int& nrxx) +void Plus_U::cal_yukawa_lambda(double** rho, const int& nrxx) { - ModuleBase::TITLE("DFTU", "cal_yukawa_lambda"); + ModuleBase::TITLE("Plus_U", "cal_yukawa_lambda"); if (PARAM.inp.yukawa_lambda > 0) { @@ -35,8 +29,10 @@ void DFTU::cal_yukawa_lambda(double** rho, const int& nrxx) double sum_rho_lambda = 0.0; for (int is = 0; is < PARAM.inp.nspin; is++) { - if(PARAM.inp.nspin == 4 && is > 0) { continue;// for non-collinear spin case, first spin contains the charge density -} + if(PARAM.inp.nspin == 4 && is > 0) + { + continue;// for non-collinear spin case, first spin contains the charge density + } for (int ir = 0; ir < nrxx; ir++) { double rho_ir = rho[is][ir]; @@ -63,11 +59,11 @@ void DFTU::cal_yukawa_lambda(double** rho, const int& nrxx) return; } -void DFTU::cal_slater_Fk(const UnitCell& ucell, +void Plus_U::cal_slater_Fk(const UnitCell& ucell, const int L, const int T) { - ModuleBase::TITLE("DFTU", "cal_slater_Fk"); + ModuleBase::TITLE("Plus_U", "cal_slater_Fk"); if (Yukawa) { @@ -113,12 +109,13 @@ void DFTU::cal_slater_Fk(const UnitCell& ucell, return; } -void DFTU::cal_slater_UJ(const UnitCell& ucell, double** rho, const int& nrxx) +void Plus_U::cal_slater_UJ(const UnitCell& ucell, double** rho, const int& nrxx) { - ModuleBase::TITLE("DFTU", "cal_slater_UJ"); - if (!Yukawa) { - return; -} + ModuleBase::TITLE("Plus_U", "cal_slater_UJ"); + if (!Yukawa) + { + return; + } this->cal_yukawa_lambda(rho, nrxx); @@ -146,45 +143,36 @@ void DFTU::cal_slater_UJ(const UnitCell& ucell, double** rho, const int& nrxx) if (L >= PARAM.inp.orbital_corr[T] && PARAM.inp.orbital_corr[T] != -1) { - if (L != PARAM.inp.orbital_corr[T]) { - continue; -} - this->cal_slater_Fk(ucell,L, T); + if (L != PARAM.inp.orbital_corr[T]) + { + continue; + } + this->cal_slater_Fk(ucell,L, T); - for (int n = 0; n < N; n++) - { - if (n != 0) { - continue; -} - switch (L) - { - case 1: // p electrons - this->U_Yukawa[T][L][n] = this->Fk[T][L][n][0]; - this->J_Yukawa[T][L][n] = this->Fk[T][L][n][1] / 5.0; - break; - - case 2: // d electrons - this->U_Yukawa[T][L][n] = this->Fk[T][L][n][0]; - this->J_Yukawa[T][L][n] = (this->Fk[T][L][n][1] + this->Fk[T][L][n][2]) / 14.0; - break; - - case 3: // f electrons - if (Yukawa) { - this->U_Yukawa[T][L][n] = this->Fk[T][L][n][0]; -} - this->J_Yukawa[T][L][n] = (286.0 * this->Fk[T][L][n][1] + 195.0 * this->Fk[T][L][n][2] - + 250.0 * this->Fk[T][L][n][3]) - / 6435.0; - break; - } + if( L == 1) + { + this->U_Yukawa[T][L][0] = this->Fk[T][L][0][0]; + this->J_Yukawa[T][L][0] = this->Fk[T][L][0][1] / 5.0; + } + else if( L == 2) + { + this->U_Yukawa[T][L][0] = this->Fk[T][L][0][0]; + this->J_Yukawa[T][L][0] = (this->Fk[T][L][0][1] + this->Fk[T][L][0][2]) / 14.0; + } + else if( L == 3) + { + this->U_Yukawa[T][L][0] = this->Fk[T][L][0][0]; + this->J_Yukawa[T][L][0] = (286.0 * this->Fk[T][L][0][1] + 195.0 * this->Fk[T][L][0][2] + + 250.0 * this->Fk[T][L][0][3]) + / 6435.0; + } - // Hartree to Rydeberg - this->U_Yukawa[T][L][n] *= 2.0; - this->J_Yukawa[T][L][n] *= 2.0; - // update current U with calculated U-J from Slater integrals - this->U[T] = this->U_Yukawa[T][L][n] - this->J_Yukawa[T][L][n]; - } // end n + // Hartree to Rydeberg + this->U_Yukawa[T][L][0] *= 2.0; + this->J_Yukawa[T][L][0] *= 2.0; + // update current U with calculated U-J from Slater integrals + this->U[T] = this->U_Yukawa[T][L][0] - this->J_Yukawa[T][L][0]; } // end if } // end L } // end T @@ -192,9 +180,9 @@ void DFTU::cal_slater_UJ(const UnitCell& ucell, double** rho, const int& nrxx) return; } -double DFTU::spherical_Bessel(const int k, const double r, const double lambda) +double Plus_U::spherical_Bessel(const int k, const double r, const double lambda) { - ModuleBase::TITLE("DFTU", "spherical_Bessel"); + ModuleBase::TITLE("Plus_U", "spherical_Bessel"); double val=0.0; double x = r * lambda; @@ -247,9 +235,9 @@ double DFTU::spherical_Bessel(const int k, const double r, const double lambda) return val; } -double DFTU::spherical_Hankel(const int k, const double r, const double lambda) +double Plus_U::spherical_Hankel(const int k, const double r, const double lambda) { - ModuleBase::TITLE("DFTU", "spherical_Bessel"); + ModuleBase::TITLE("Plus_U", "spherical_Bessel"); double val=0.0; double x = r * lambda; @@ -305,6 +293,4 @@ double DFTU::spherical_Hankel(const int k, const double r, const double lambda) return val; } -} // namespace ModuleDFTU - -#endif \ No newline at end of file +#endif diff --git a/source/source_lcao/module_gint/CMakeLists.txt b/source/source_lcao/module_gint/CMakeLists.txt index 0505957b9c..6969abd7e0 100644 --- a/source/source_lcao/module_gint/CMakeLists.txt +++ b/source/source_lcao/module_gint/CMakeLists.txt @@ -2,103 +2,46 @@ if(ENABLE_LCAO) list(APPEND objects - gint_old.cpp - gint_gamma_env.cpp - gint_gamma_vl.cpp - gint_fvl_old.cpp - gint_rho_old.cpp - gint_tau_old.cpp - gint_vl_old.cpp - gint_k_env.cpp - gint_k_sparse1.cpp - gint_k_pvpr.cpp - gint_k_pvdpr.cpp - gint_tools.cpp - grid_bigcell.cpp - grid_meshball.cpp - grid_meshcell.cpp - grid_meshk.cpp - grid_technique.cpp - gint_force_cpu_interface.cpp - gint_rho_cpu_interface.cpp - gint_vl_cpu_interface.cpp - cal_psir_ylm.cpp - cal_dpsir_ylm.cpp - cal_ddpsir_ylm.cpp - mult_psi_dmr.cpp - init_orb.cpp -) - -if(NOT DEFINED OLD_GINT) - list(APPEND objects - temp_gint/biggrid_info.cpp - temp_gint/big_grid.cpp - temp_gint/divide_info.cpp - temp_gint/gint_atom.cpp - temp_gint/gint_info.cpp - temp_gint/gint.cpp - temp_gint/gint_vl.cpp - temp_gint/gint_vl_metagga.cpp - temp_gint/gint_vl_nspin4.cpp - temp_gint/gint_vl_metagga_nspin4.cpp - temp_gint/gint_rho.cpp - temp_gint/gint_tau.cpp - temp_gint/gint_fvl.cpp - temp_gint/gint_fvl_meta.cpp - temp_gint/gint_env_gamma.cpp - temp_gint/gint_env_k.cpp - temp_gint/gint_dvlocal.cpp - temp_gint/localcell_info.cpp - temp_gint/phi_operator.cpp - temp_gint/set_ddphi.cpp - temp_gint/unitcell_info.cpp - temp_gint/gint_common.cpp - temp_gint/gint_interface.cpp - ) - if(USE_CUDA) - list(APPEND objects - temp_gint/kernel/gint_gpu_vars.cpp - temp_gint/kernel/phi_operator_gpu.cu - temp_gint/kernel/phi_operator_kernel.cu - temp_gint/kernel/set_const_mem.cu - temp_gint/batch_biggrid.cpp - temp_gint/gint_vl_gpu.cpp - temp_gint/gint_rho_gpu.cpp - temp_gint/gint_fvl_gpu.cpp - temp_gint/gint_vl_metagga_gpu.cpp - temp_gint/gint_vl_nspin4_gpu.cpp - temp_gint/gint_vl_metagga_nspin4_gpu.cpp - temp_gint/gint_tau_gpu.cpp - temp_gint/gint_fvl_meta_gpu.cpp - temp_gint/kernel/dgemm_vbatch.cu + biggrid_info.cpp + big_grid.cpp + divide_info.cpp + gint_atom.cpp + gint_info.cpp + gint.cpp + gint_vl.cpp + gint_vl_metagga.cpp + gint_vl_nspin4.cpp + gint_vl_metagga_nspin4.cpp + gint_rho.cpp + gint_tau.cpp + gint_fvl.cpp + gint_fvl_meta.cpp + gint_env_gamma.cpp + gint_env_k.cpp + gint_dvlocal.cpp + localcell_info.cpp + phi_operator.cpp + set_ddphi.cpp + unitcell_info.cpp + gint_common.cpp + gint_interface.cpp ) - endif() -endif() - if(USE_CUDA) list(APPEND objects - gint_gpu_interface.cpp - kernels/cuda/cuda_tools.cu - kernels/cuda/gint_vl.cu - kernels/cuda/gint_rho.cu - kernels/cuda/gint_force.cu - gint_vl_gpu.cu - gint_rho_gpu.cu - gint_force_gpu.cu - kernels/cuda/gemm_selector.cu - kernels/cuda/code_gen_00.cu - kernels/cuda/code_gen_01.cu - kernels/cuda/code_gen_02.cu - kernels/cuda/code_gen_03.cu - kernels/cuda/code_gen_04.cu - kernels/cuda/code_gen_05.cu - kernels/cuda/code_gen_06.cu - kernels/cuda/code_gen_07.cu - kernels/cuda/code_gen_08.cu - kernels/cuda/code_gen_09.cu - gtask_vl.cpp - gtask_rho.cpp - gtask_force.cpp + kernel/gint_gpu_vars.cpp + kernel/phi_operator_gpu.cu + kernel/phi_operator_kernel.cu + kernel/set_const_mem.cu + batch_biggrid.cpp + gint_vl_gpu.cpp + gint_rho_gpu.cpp + gint_fvl_gpu.cpp + gint_vl_metagga_gpu.cpp + gint_vl_nspin4_gpu.cpp + gint_vl_metagga_nspin4_gpu.cpp + gint_tau_gpu.cpp + gint_fvl_meta_gpu.cpp + kernel/dgemm_vbatch.cu ) endif() @@ -112,10 +55,4 @@ if(ENABLE_COVERAGE) add_coverage(gint) endif() -IF (BUILD_TESTING) - if(ENABLE_MPI) - add_subdirectory(test) - endif() -endif() - endif() \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/batch_biggrid.cpp b/source/source_lcao/module_gint/batch_biggrid.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/batch_biggrid.cpp rename to source/source_lcao/module_gint/batch_biggrid.cpp diff --git a/source/source_lcao/module_gint/temp_gint/batch_biggrid.h b/source/source_lcao/module_gint/batch_biggrid.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/batch_biggrid.h rename to source/source_lcao/module_gint/batch_biggrid.h diff --git a/source/source_lcao/module_gint/temp_gint/big_grid.cpp b/source/source_lcao/module_gint/big_grid.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/big_grid.cpp rename to source/source_lcao/module_gint/big_grid.cpp diff --git a/source/source_lcao/module_gint/temp_gint/big_grid.h b/source/source_lcao/module_gint/big_grid.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/big_grid.h rename to source/source_lcao/module_gint/big_grid.h diff --git a/source/source_lcao/module_gint/temp_gint/biggrid_info.cpp b/source/source_lcao/module_gint/biggrid_info.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/biggrid_info.cpp rename to source/source_lcao/module_gint/biggrid_info.cpp diff --git a/source/source_lcao/module_gint/temp_gint/biggrid_info.h b/source/source_lcao/module_gint/biggrid_info.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/biggrid_info.h rename to source/source_lcao/module_gint/biggrid_info.h diff --git a/source/source_lcao/module_gint/cal_ddpsir_ylm.cpp b/source/source_lcao/module_gint/cal_ddpsir_ylm.cpp deleted file mode 100644 index 206c6f95e8..0000000000 --- a/source/source_lcao/module_gint/cal_ddpsir_ylm.cpp +++ /dev/null @@ -1,316 +0,0 @@ -#include "gint_tools.h" -#include "source_base/timer.h" -#include "source_base/ylm.h" -namespace Gint_Tools{ -void cal_ddpsir_ylm( - const Grid_Technique& gt, const int bxyz, - const int na_grid, // number of atoms on this grid - const int grid_index, // 1d index of FFT index (i,j,k) - const double delta_r, // delta_r of the uniform FFT grid - const int* const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const int* const block_size, // block_size[na_grid], number of columns of a band - const bool* const* const cal_flag, // cal_flag[bxyz][na_grid], whether the atom-grid distance is larger than cutoff - double* const* const ddpsir_ylm_xx, double* const* const ddpsir_ylm_xy, double* const* const ddpsir_ylm_xz, - double* const* const ddpsir_ylm_yy, double* const* const ddpsir_ylm_yz, double* const* const ddpsir_ylm_zz) -{ - ModuleBase::timer::tick("Gint_Tools", "cal_ddpsir_ylm"); - const UnitCell& ucell = *gt.ucell; - std::vector it_psi_uniform(gt.nwmax); - std::vector it_dpsi_uniform(gt.nwmax); - std::vector it_d2psi_uniform(gt.nwmax); - std::vector it_psi_nr_uniform(gt.nwmax); - // array to store spherical harmonics and its derivatives - // the first dimension equals 36 because the maximum nwl is 5. - double rly[36]; - ModuleBase::Array_Pool grly(36, 3); - - for (int id = 0; id < na_grid; id++) - { - const int mcell_index = gt.bcell_start[grid_index] + id; - const int imcell = gt.which_bigcell[mcell_index]; - int iat = gt.which_atom[mcell_index]; - const int it = ucell.iat2it[iat]; - const int ia = ucell.iat2ia[iat]; - Atom* atom = &ucell.atoms[it]; - - const double mt[3] = {gt.meshball_positions[imcell][0] - gt.tau_in_bigcell[iat][0], - gt.meshball_positions[imcell][1] - gt.tau_in_bigcell[iat][1], - gt.meshball_positions[imcell][2] - gt.tau_in_bigcell[iat][2]}; - - for (int iw=0; iw< atom->nw; ++iw) - { - if ( atom->iw2_new[iw] ) - { - it_psi_uniform[iw]= gt.psi_u[it*gt.nwmax + iw].data(); - it_dpsi_uniform[iw] = gt.dpsi_u[it*gt.nwmax + iw].data(); - it_psi_nr_uniform[iw]= gt.psi_u[it*gt.nwmax + iw].size(); - } - } - - for (int ib = 0; ib < bxyz; ib++) - { - double* const p_ddpsi_xx = &ddpsir_ylm_xx[ib][block_index[id]]; - double* const p_ddpsi_xy = &ddpsir_ylm_xy[ib][block_index[id]]; - double* const p_ddpsi_xz = &ddpsir_ylm_xz[ib][block_index[id]]; - double* const p_ddpsi_yy = &ddpsir_ylm_yy[ib][block_index[id]]; - double* const p_ddpsi_yz = &ddpsir_ylm_yz[ib][block_index[id]]; - double* const p_ddpsi_zz = &ddpsir_ylm_zz[ib][block_index[id]]; - if (!cal_flag[ib][id]) - { - ModuleBase::GlobalFunc::ZEROS(p_ddpsi_xx, block_size[id]); - ModuleBase::GlobalFunc::ZEROS(p_ddpsi_xy, block_size[id]); - ModuleBase::GlobalFunc::ZEROS(p_ddpsi_xz, block_size[id]); - ModuleBase::GlobalFunc::ZEROS(p_ddpsi_yy, block_size[id]); - ModuleBase::GlobalFunc::ZEROS(p_ddpsi_yz, block_size[id]); - ModuleBase::GlobalFunc::ZEROS(p_ddpsi_zz, block_size[id]); - } - else - { - const double dr[3] - = {// vectors between atom and grid - gt.meshcell_pos[ib][0] + mt[0], gt.meshcell_pos[ib][1] + mt[1], gt.meshcell_pos[ib][2] + mt[2]}; - double distance = std::sqrt(dr[0] * dr[0] + dr[1] * dr[1] + dr[2] * dr[2]); - - // for some unknown reason, the finite difference between dpsi and ddpsi - // using analytical expression is always wrong; as a result, - // I switch to explicit finite difference method for evaluating - // the second derivatives of the orbitals - if (/*distance < 1e-9*/ true) - { - double*** dpsi = new double**[atom->nw]; - for (int i = 0; i < atom->nw; i++) - { - dpsi[i] = new double*[6]; - for (int j = 0; j < 6; j++) - { - dpsi[i][j] = new double[3]; - ModuleBase::GlobalFunc::ZEROS(dpsi[i][j], 3); - } - } - - double* dr1 = new double[3]; - - double** displ = new double*[6]; - for (int i = 0; i < 6; i++) - { - displ[i] = new double[3]; - ModuleBase::GlobalFunc::ZEROS(displ[i], 3); - } - displ[0][0] = 0.0001; // in x direction - displ[1][0] = -0.0001; - displ[2][1] = 0.0001; // in y direction - displ[3][1] = -0.0001; - displ[4][2] = 0.0001; // in z direction - displ[5][2] = -0.0001; - - for (int i = 0; i < 6; i++) - { - dr1[0] = dr[0] + displ[i][0]; - dr1[1] = dr[1] + displ[i][1]; - dr1[2] = dr[2] + displ[i][2]; - - ModuleBase::Ylm::grad_rl_sph_harm(ucell.atoms[it].nwl, dr1[0], dr1[1], dr1[2], rly, grly.get_ptr_2D()); - - double distance1 = std::sqrt(dr1[0] * dr1[0] + dr1[1] * dr1[1] + dr1[2] * dr1[2]); - if (distance1 < 1e-9) { - distance1 = 1e-9; -} - - const double position = distance1 / delta_r; - - const int ip = static_cast(position); - const double iq = static_cast(position); - const double x0 = position - iq; - const double x1 = 1.0 - x0; - const double x2 = 2.0 - x0; - const double x3 = 3.0 - x0; - const double x12 = x1 * x2 / 6; - const double x03 = x0 * x3 / 2; - - double tmp, dtmp; - - for (int iw = 0; iw < atom->nw; ++iw) - { - // this is a new 'l', we need 1D orbital wave - // function from interpolation method. - if (atom->iw2_new[iw]) - { - auto psi_uniform = it_psi_uniform[iw]; - auto dpsi_uniform = it_dpsi_uniform[iw]; - - // if ( iq[id] >= philn.nr_uniform-4) - if (iq >= it_psi_nr_uniform[iw]-4) - { - tmp = dtmp = 0.0; - } - else - { - // use Polynomia Interpolation method to get the - // wave functions - - tmp = x12 * (psi_uniform[ip] * x3 + psi_uniform[ip + 3] * x0) - + x03 * (psi_uniform[ip + 1] * x2 - psi_uniform[ip + 2] * x1); - - dtmp = x12 * (dpsi_uniform[ip] * x3 + dpsi_uniform[ip + 3] * x0) - + x03 * (dpsi_uniform[ip + 1] * x2 - dpsi_uniform[ip + 2] * x1); - } - } // new l is used. - - // get the 'l' of this localized wave function - const int ll = atom->iw2l[iw]; - const int idx_lm = atom->iw2_ylm[iw]; - - const double rl = pow_int(distance1, ll); - - // derivative of wave functions with respect to atom positions. - const double tmpdphi_rly = (dtmp - tmp * ll / distance1) / rl * rly[idx_lm] / distance1; - const double tmprl = tmp / rl; - - dpsi[iw][i][0] = tmpdphi_rly * dr1[0] + tmprl * grly[idx_lm][0]; - dpsi[iw][i][1] = tmpdphi_rly * dr1[1] + tmprl * grly[idx_lm][1]; - dpsi[iw][i][2] = tmpdphi_rly * dr1[2] + tmprl * grly[idx_lm][2]; - } // end iw - } // end i = 0-6 - - for (int iw = 0; iw < atom->nw; iw++) - { - p_ddpsi_xx[iw] = (dpsi[iw][0][0] - dpsi[iw][1][0]) / 0.0002; - p_ddpsi_xy[iw] - = ((dpsi[iw][2][0] - dpsi[iw][3][0]) + (dpsi[iw][0][1] - dpsi[iw][1][1])) / 0.0004; - p_ddpsi_xz[iw] - = ((dpsi[iw][4][0] - dpsi[iw][5][0]) + (dpsi[iw][0][2] - dpsi[iw][1][2])) / 0.0004; - p_ddpsi_yy[iw] = (dpsi[iw][2][1] - dpsi[iw][3][1]) / 0.0002; - p_ddpsi_yz[iw] - = ((dpsi[iw][4][1] - dpsi[iw][5][1]) + (dpsi[iw][2][2] - dpsi[iw][3][2])) / 0.0004; - p_ddpsi_zz[iw] = (dpsi[iw][4][2] - dpsi[iw][5][2]) / 0.0002; - } - - for (int i = 0; i < atom->nw; i++) - { - for (int j = 0; j < 6; j++) - { - delete[] dpsi[i][j]; - } - delete[] dpsi[i]; - } - delete[] dpsi; - - delete[] dr1; - for (int i = 0; i < 6; i++) - { - delete[] displ[i]; - } - delete[] displ; - } - else - // the analytical method for evaluating 2nd derivatives - // it is not used currently - { - // Add it here, but do not run it. If there is a need to run this code - // in the future, include it in the previous initialization process. - for (int iw=0; iw< atom->nw; ++iw) - { - if ( atom->iw2_new[iw] ) - { - it_d2psi_uniform[iw] = gt.d2psi_u[it*gt.nwmax + iw].data(); - } - } - // End of code addition section. - - std::vector> hrly; - ModuleBase::Ylm::grad_rl_sph_harm(ucell.atoms[it].nwl, dr[0], dr[1], dr[2], rly, grly.get_ptr_2D()); - ModuleBase::Ylm::hes_rl_sph_harm(ucell.atoms[it].nwl, dr[0], dr[1], dr[2], hrly); - const double position = distance / delta_r; - - const double iq = static_cast(position); - const int ip = static_cast(position); - const double x0 = position - iq; - const double x1 = 1.0 - x0; - const double x2 = 2.0 - x0; - const double x3 = 3.0 - x0; - const double x12 = x1 * x2 / 6; - const double x03 = x0 * x3 / 2; - - double tmp, dtmp, ddtmp; - - for (int iw = 0; iw < atom->nw; ++iw) - { - // this is a new 'l', we need 1D orbital wave - // function from interpolation method. - if (atom->iw2_new[iw]) - { - auto psi_uniform = it_psi_uniform[iw]; - auto dpsi_uniform = it_dpsi_uniform[iw]; - auto ddpsi_uniform = it_d2psi_uniform[iw]; - - // if ( iq[id] >= philn.nr_uniform-4) - if (iq >= it_psi_nr_uniform[iw]-4) - { - tmp = dtmp = ddtmp = 0.0; - } - else - { - // use Polynomia Interpolation method to get the - // wave functions - - tmp = x12 * (psi_uniform[ip] * x3 + psi_uniform[ip + 3] * x0) - + x03 * (psi_uniform[ip + 1] * x2 - psi_uniform[ip + 2] * x1); - - dtmp = x12 * (dpsi_uniform[ip] * x3 + dpsi_uniform[ip + 3] * x0) - + x03 * (dpsi_uniform[ip + 1] * x2 - dpsi_uniform[ip + 2] * x1); - - ddtmp = x12 * (ddpsi_uniform[ip] * x3 + ddpsi_uniform[ip + 3] * x0) - + x03 * (ddpsi_uniform[ip + 1] * x2 - ddpsi_uniform[ip + 2] * x1); - } - } // new l is used. - - // get the 'l' of this localized wave function - const int ll = atom->iw2l[iw]; - const int idx_lm = atom->iw2_ylm[iw]; - - const double rl = pow_int(distance, ll); - const double r_lp2 =rl * distance * distance; - - // d/dr (R_l / r^l) - const double tmpdphi = (dtmp - tmp * ll / distance) / rl; - const double term1 = ddtmp / r_lp2; - const double term2 = (2 * ll + 1) * dtmp / r_lp2 / distance; - const double term3 = ll * (ll + 2) * tmp / r_lp2 / distance / distance; - const double term4 = tmpdphi / distance; - const double term5 = term1 - term2 + term3; - - // hessian of (R_l / r^l) - const double term_xx = term4 + dr[0] * dr[0] * term5; - const double term_xy = dr[0] * dr[1] * term5; - const double term_xz = dr[0] * dr[2] * term5; - const double term_yy = term4 + dr[1] * dr[1] * term5; - const double term_yz = dr[1] * dr[2] * term5; - const double term_zz = term4 + dr[2] * dr[2] * term5; - - // d/dr (R_l / r^l) * alpha / r - const double term_1x = dr[0] * term4; - const double term_1y = dr[1] * term4; - const double term_1z = dr[2] * term4; - - p_ddpsi_xx[iw] - = term_xx * rly[idx_lm] + 2.0 * term_1x * grly[idx_lm][0] + tmp / rl * hrly[idx_lm][0]; - p_ddpsi_xy[iw] = term_xy * rly[idx_lm] + term_1x * grly[idx_lm][1] + term_1y * grly[idx_lm][0] - + tmp / rl * hrly[idx_lm][1]; - p_ddpsi_xz[iw] = term_xz * rly[idx_lm] + term_1x * grly[idx_lm][2] + term_1z * grly[idx_lm][0] - + tmp / rl * hrly[idx_lm][2]; - p_ddpsi_yy[iw] - = term_yy * rly[idx_lm] + 2.0 * term_1y * grly[idx_lm][1] + tmp / rl * hrly[idx_lm][3]; - p_ddpsi_yz[iw] = term_yz * rly[idx_lm] + term_1y * grly[idx_lm][2] + term_1z * grly[idx_lm][1] - + tmp / rl * hrly[idx_lm][4]; - p_ddpsi_zz[iw] - = term_zz * rly[idx_lm] + 2.0 * term_1z * grly[idx_lm][2] + tmp / rl * hrly[idx_lm][5]; - - } // iw - } // end if - } // else - } // end ib - } // end id(atom) - ModuleBase::timer::tick("Gint_Tools", "cal_ddpsir_ylm"); - return; -} -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/cal_dpsir_ylm.cpp b/source/source_lcao/module_gint/cal_dpsir_ylm.cpp deleted file mode 100644 index 8b32b2fc05..0000000000 --- a/source/source_lcao/module_gint/cal_dpsir_ylm.cpp +++ /dev/null @@ -1,138 +0,0 @@ -#include "gint_tools.h" -#include "source_base/timer.h" -#include "source_base/ylm.h" -#include "source_base/array_pool.h" -namespace Gint_Tools{ -void cal_dpsir_ylm( - const Grid_Technique& gt, const int bxyz, - const int na_grid, // number of atoms on this grid - const int grid_index, // 1d index of FFT index (i,j,k) - const double delta_r, // delta_r of the uniform FFT grid - const int* const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const int* const block_size, // block_size[na_grid], number of columns of a band - const bool* const* const cal_flag, // cal_flag[bxyz][na_grid], whether the atom-grid distance is larger than cutoff - double* const* const psir_ylm, double* const* const dpsir_ylm_x, double* const* const dpsir_ylm_y, - double* const* const dpsir_ylm_z) -{ - ModuleBase::timer::tick("Gint_Tools", "cal_dpsir_ylm"); - const UnitCell& ucell = *gt.ucell; - std::vector it_psi_uniform(gt.nwmax); - std::vector it_dpsi_uniform(gt.nwmax); - std::vector it_psi_nr_uniform(gt.nwmax); - // array to store spherical harmonics and its derivatives - // the first dimension equals 36 because the maximum nwl is 5. - double rly[36]; - ModuleBase::Array_Pool grly(36, 3); - - for (int id = 0; id < na_grid; id++) - { - const int mcell_index = gt.bcell_start[grid_index] + id; - const int imcell = gt.which_bigcell[mcell_index]; - int iat = gt.which_atom[mcell_index]; - const int it = ucell.iat2it[iat]; - const int ia = ucell.iat2ia[iat]; - Atom* atom = &ucell.atoms[it]; - - const double mt[3] = {gt.meshball_positions[imcell][0] - gt.tau_in_bigcell[iat][0], - gt.meshball_positions[imcell][1] - gt.tau_in_bigcell[iat][1], - gt.meshball_positions[imcell][2] - gt.tau_in_bigcell[iat][2]}; - // preprocess index - for (int iw=0; iw< atom->nw; ++iw) - { - if ( atom->iw2_new[iw] ) - { - it_psi_uniform[iw]= gt.psi_u[it*gt.nwmax + iw].data(); - it_dpsi_uniform[iw] = gt.dpsi_u[it*gt.nwmax + iw].data(); - it_psi_nr_uniform[iw]= gt.psi_u[it*gt.nwmax + iw].size(); - } - } - - for (int ib = 0; ib < bxyz; ib++) - { - double* const p_psi = &psir_ylm[ib][block_index[id]]; - double* const p_dpsi_x = &dpsir_ylm_x[ib][block_index[id]]; - double* const p_dpsi_y = &dpsir_ylm_y[ib][block_index[id]]; - double* const p_dpsi_z = &dpsir_ylm_z[ib][block_index[id]]; - if (!cal_flag[ib][id]) - { - ModuleBase::GlobalFunc::ZEROS(p_psi, block_size[id]); - ModuleBase::GlobalFunc::ZEROS(p_dpsi_x, block_size[id]); - ModuleBase::GlobalFunc::ZEROS(p_dpsi_y, block_size[id]); - ModuleBase::GlobalFunc::ZEROS(p_dpsi_z, block_size[id]); - } - else - { - const double dr[3] - = {// vectors between atom and grid - gt.meshcell_pos[ib][0] + mt[0], gt.meshcell_pos[ib][1] + mt[1], gt.meshcell_pos[ib][2] + mt[2]}; - double distance = std::sqrt(dr[0] * dr[0] + dr[1] * dr[1] + dr[2] * dr[2]); - - ModuleBase::Ylm::grad_rl_sph_harm(ucell.atoms[it].nwl, dr[0], dr[1], dr[2], rly, grly.get_ptr_2D()); - if (distance < 1e-9) { - distance = 1e-9; -} - - const double position = distance / delta_r; - - const double iq = static_cast(position); - const int ip = static_cast(position); - const double x0 = position - iq; - const double x1 = 1.0 - x0; - const double x2 = 2.0 - x0; - const double x3 = 3.0 - x0; - const double x12 = x1 * x2 / 6; - const double x03 = x0 * x3 / 2; - - double tmp, dtmp; - - for (int iw = 0; iw < atom->nw; ++iw) - { - - // this is a new 'l', we need 1D orbital wave - // function from interpolation method. - if (atom->iw2_new[iw]) - { - auto psi_uniform = it_psi_uniform[iw]; - auto dpsi_uniform = it_dpsi_uniform[iw]; - // if ( iq[id] >= philn.nr_uniform-4) - if (iq >= it_psi_nr_uniform[iw] - 4) - { - tmp = dtmp = 0.0; - } - else - { - // use Polynomia Interpolation method to get the - // wave functions - - tmp = x12 * (psi_uniform[ip] * x3 + psi_uniform[ip + 3] * x0) - + x03 * (psi_uniform[ip + 1] * x2 - psi_uniform[ip + 2] * x1); - - dtmp = x12 * (dpsi_uniform[ip] * x3 + dpsi_uniform[ip + 3] * x0) - + x03 * (dpsi_uniform[ip + 1] * x2 - dpsi_uniform[ip + 2] * x1); - } - } // new l is used. - - // get the 'l' of this localized wave function - const int ll = atom->iw2l[iw]; - const int idx_lm = atom->iw2_ylm[iw]; - - const double rl = pow_int(distance, ll); - const double tmprl = tmp / rl; - - // 3D wave functions - p_psi[iw] = tmprl * rly[idx_lm]; - - // derivative of wave functions with respect to atom positions. - const double tmpdphi_rly = (dtmp - tmp * ll / distance) / rl * rly[idx_lm] / distance; - - p_dpsi_x[iw] = tmpdphi_rly * dr[0] + tmprl * grly[idx_lm][0]; - p_dpsi_y[iw] = tmpdphi_rly * dr[1] + tmprl * grly[idx_lm][1]; - p_dpsi_z[iw] = tmpdphi_rly * dr[2] + tmprl * grly[idx_lm][2]; - } // iw - } // else - } - } - ModuleBase::timer::tick("Gint_Tools", "cal_dpsir_ylm"); - return; -} -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/cal_psir_ylm.cpp b/source/source_lcao/module_gint/cal_psir_ylm.cpp deleted file mode 100644 index 4eeedd19a5..0000000000 --- a/source/source_lcao/module_gint/cal_psir_ylm.cpp +++ /dev/null @@ -1,113 +0,0 @@ -#include "gint_tools.h" -#include "source_base/timer.h" -#include "source_base/ylm.h" -namespace Gint_Tools{ -void cal_psir_ylm( - const Grid_Technique& gt, - const int bxyz, - const int na_grid, // number of atoms on this grid - const int grid_index, // 1d index of FFT index (i,j,k) - const double delta_r, // delta_r of the uniform FFT grid - const int* const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const int* const block_size, // block_size[na_grid], number of columns of a band - const bool* const* const cal_flag, - double* const* const psir_ylm) // cal_flag[bxyz][na_grid], whether the atom-grid distance is larger than cutoff -{ -// ModuleBase::timer::tick("Gint_Tools", "cal_psir_ylm"); - std::vector ylma; - const UnitCell& ucell = *gt.ucell; - std::vector it_psi_uniform(gt.nwmax); - std::vector it_dpsi_uniform(gt.nwmax); - - for (int id = 0; id < na_grid; id++) - { - // there are two parameters we want to know here: - // in which bigcell of the meshball the atom is in? - // what's the cartesian coordinate of the bigcell? - const int mcell_index = gt.bcell_start[grid_index] + id; - - const int iat = gt.which_atom[mcell_index]; // index of atom - const int it = ucell.iat2it[iat]; // index of atom type - const Atom* const atom = &ucell.atoms[it]; - std::vector it_psi_uniform(atom->nw); - std::vector it_dpsi_uniform(atom->nw); - // preprocess index - for (int iw = 0; iw < atom->nw; ++iw) - { - if (atom->iw2_new[iw]) - { - it_psi_uniform[iw]= gt.psi_u[it*gt.nwmax + iw].data(); - it_dpsi_uniform[iw] = gt.dpsi_u[it*gt.nwmax + iw].data(); - } - } - - // meshball_positions should be the bigcell position in meshball - // to the center of meshball. - // calculated in cartesian coordinates - // the std::vector from the grid which is now being operated to the atom position. - // in meshball language, is the std::vector from imcell to the center cel, plus - // tau_in_bigcell. - const int imcell = gt.which_bigcell[mcell_index]; - const double mt[3] = {gt.meshball_positions[imcell][0] - gt.tau_in_bigcell[iat][0], - gt.meshball_positions[imcell][1] - gt.tau_in_bigcell[iat][1], - gt.meshball_positions[imcell][2] - gt.tau_in_bigcell[iat][2]}; - - // number of grids in each big cell (bxyz) - for (int ib = 0; ib < bxyz; ib++) - { - double* p = &psir_ylm[ib][block_index[id]]; - if (!cal_flag[ib][id]) - { - ModuleBase::GlobalFunc::ZEROS(p, block_size[id]); - } - else - { - // meshcell_pos: z is the fastest - const double dr[3] - = {gt.meshcell_pos[ib][0] + mt[0], gt.meshcell_pos[ib][1] + mt[1], gt.meshcell_pos[ib][2] + mt[2]}; - double distance - = std::sqrt(dr[0] * dr[0] + dr[1] * dr[1] + dr[2] * dr[2]); // distance between atom and grid - // if(distance[id] > gt.orbital_rmax) continue; - if (distance < 1.0E-9) - distance += 1.0E-9; - - //------------------------------------------------------ - // spherical harmonic functions Ylm - //------------------------------------------------------ - // Ylm::get_ylm_real(this->nnn[it], this->dr[id], ylma); - ModuleBase::Ylm::sph_harm(ucell.atoms[it].nwl, dr[0] / distance, dr[1] / distance, dr[2] / distance, - ylma); - // these parameters are related to interpolation - // because once the distance from atom to grid point is known, - // we can obtain the parameters for interpolation and - // store them first! these operations can save lots of efforts. - const double position = distance / delta_r; - const int ip = static_cast(position); - const double dx = position - ip; - const double dx2 = dx * dx; - const double dx3 = dx2 * dx; - - const double c3 = 3.0 * dx2 - 2.0 * dx3; - const double c1 = 1.0 - c3; - const double c2 = (dx - 2.0 * dx2 + dx3) * delta_r; - const double c4 = (dx3 - dx2) * delta_r; - - double phi = 0; - for (int iw = 0; iw < atom->nw; ++iw) - { - if (atom->iw2_new[iw]) - { - auto psi_uniform = it_psi_uniform[iw]; - auto dpsi_uniform = it_dpsi_uniform[iw]; - phi = c1 * psi_uniform[ip] + c2 * dpsi_uniform[ip] // radial wave functions - + c3 * psi_uniform[ip + 1] + c4 * dpsi_uniform[ip + 1]; - } - p[iw] = phi * ylma[atom->iw2_ylm[iw]]; - } // end iw - } // end distance<=(rcuts[it]-1.0e-15) - } // end ib - } // end id -// ModuleBase::timer::tick("Gint_Tools", "cal_psir_ylm"); - return; -} -} diff --git a/source/source_lcao/module_gint/temp_gint/divide_info.cpp b/source/source_lcao/module_gint/divide_info.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/divide_info.cpp rename to source/source_lcao/module_gint/divide_info.cpp diff --git a/source/source_lcao/module_gint/temp_gint/divide_info.h b/source/source_lcao/module_gint/divide_info.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/divide_info.h rename to source/source_lcao/module_gint/divide_info.h diff --git a/source/source_lcao/module_gint/temp_gint/gint.cpp b/source/source_lcao/module_gint/gint.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint.cpp rename to source/source_lcao/module_gint/gint.cpp diff --git a/source/source_lcao/module_gint/gint.h b/source/source_lcao/module_gint/gint.h index 6ca6f53eab..1255bae971 100644 --- a/source/source_lcao/module_gint/gint.h +++ b/source/source_lcao/module_gint/gint.h @@ -1,275 +1,26 @@ -#ifndef GINT_INTERFACE -#define GINT_INTERFACE - -#include "gint_tools.h" -#include "source_cell/module_neighbor/sltk_grid_driver.h" -#include "source_lcao/module_gint/grid_technique.h" -#include "source_lcao/module_hcontainer/hcontainer.h" -#include - -//---------------------------------------------------------- -//!This class provides a unified interface to the -//!grid intergration operation used to calculate -//!electron density, and the contribution of local -//!potential to Hamiltonian and force/stress. -//!There are two derived classes of this class -//! namely Gint_Gamma and Gint_k, which contain -//! specific operations for gamma point/multi-k calculations -//---------------------------------------------------------- - -class Gint { - public: - ~Gint(); - - //! move operator for the next ESolver to directly use its infomation - Gint& operator=(Gint&& rhs); - - hamilt::HContainer* get_hRGint() const { return hRGint; } - - std::vector*> get_DMRGint() const { return DMRGint; } - - int get_ncxyz() const { return ncxyz; } - - //! the unified interface to grid integration - void cal_gint(Gint_inout* inout); - - //! preparing FFT grid - void prep_grid(const Grid_Technique& gt, - const int& nbx_in, - const int& nby_in, - const int& nbz_in, - const int& nbz_start_in, - const int& ncxyz_in, - const int& bx_in, - const int& by_in, - const int& bz_in, - const int& bxyz_in, - const int& nbxx_in, - const int& ny_in, - const int& nplane_in, - const int& startz_current_in, - const UnitCell* ucell_in, - const LCAO_Orbitals* orb_in); - - /** - * @brief calculate the neighbor atoms of each atom in this processor - * size of BaseMatrix with be the non-parallel version - */ - void initialize_pvpR(const UnitCell& unitcell, const Grid_Driver* gd, const int& nspin); - - /** - * @brief resize DMRGint to nspin and reallocate the memory - */ - void reset_DMRGint(const int& nspin); - - /** - * @brief transfer DMR (2D para) to DMR (Grid para) in elecstate_lcao.cpp - */ - void transfer_DM2DtoGrid(std::vector*> DM2D); - - const Grid_Technique* gridt = nullptr; - const UnitCell* ucell; - - // psir_ylm_new = psir_func(psir_ylm) - // psir_func==nullptr means psir_ylm_new=psir_ylm - using T_psir_func = std::function< - const ModuleBase::Array_Pool&( - const ModuleBase::Array_Pool &psir_ylm, - const Grid_Technique >, - const int grid_index, - const int is, - const std::vector &block_iw, - const std::vector &block_size, - const std::vector &block_index, - const ModuleBase::Array_Pool &cal_flag)>; - - T_psir_func psir_func_1 = nullptr; - T_psir_func psir_func_2 = nullptr; - - protected: - - //! variables related to FFT grid - int nbx; - int nby; - int nbz; - int ncxyz; - int nbz_start; - int bx; - int by; - int bz; - int bxyz; - int nbxx; - int ny; - int nplane; - int startz_current; // from rhopw - - //! in cal_gint_gpu.cpp - void gpu_vlocal_interface(Gint_inout* inout); - - void gpu_rho_interface(Gint_inout* inout); - - void gpu_force_interface(Gint_inout* inout); - - //! in cal_gint_cpu.cpp - void gint_kernel_vlocal(Gint_inout* inout); - - //! calculate H_mu_nu(local)= - void gint_kernel_dvlocal(Gint_inout* inout); - - //! calculate vlocal in meta-GGA functionals - void gint_kernel_vlocal_meta(Gint_inout* inout); - - //! calculate charge density rho(r)=\int D_munu \phi_mu \phi_nu - void gint_kernel_rho(Gint_inout* inout); - - //! used in meta-GGA functional - void gint_kernel_tau(Gint_inout* inout); - - //! compute forces - void gint_kernel_force(Gint_inout* inout); - - //! compute forces related to meta-GGA functionals - void gint_kernel_force_meta(Gint_inout* inout); - - //! calculate local potential contribution to the Hamiltonian - //! na_grid: how many atoms on this (i,j,k) grid - //! block_size: dim is [block_size], number of columns of a band - //! block_index: dim is [na_grid+1], total number of atomic orbitals - //! grid_index: index of grid group, for tracing iat - //! cal_flag: dim is [bxyz][na_grid], whether the atom-grid distance is larger than cutoff - //! psir_ylm: dim is [bxyz][LD_pool] - //! psir_vlbr3: dim is [bxyz][LD_pool] - //! hR: HContainer for storing the matrix elements - //! cal_meshball_vlocal is thread-safe! - void cal_meshball_vlocal( - const int na_grid, - const int LD_pool, - const int* const block_size, - const int* const block_index, - const int grid_index, - const bool* const* const cal_flag, - const double* const* const psir_ylm, - const double* const* const psir_vlbr3, - hamilt::HContainer* hR); - - //! in gint_fvl.cpp - //! calculate vl contributuion to force & stress via grid integrals - void gint_kernel_force(const int na_grid, - const int grid_index, - const double delta_r, - double* vldr3, - const int is, - const bool isforce, - const bool isstress, - ModuleBase::matrix* fvl_dphi, - ModuleBase::matrix* svl_dphi, - const UnitCell& ucell); - - //! in gint_fvl.cpp - //! calculate vl contributuion to force & stress via grid integrals - //! used in meta-GGA calculations - void gint_kernel_force_meta(const int na_grid, - const int grid_index, - const double delta_r, - double* vldr3, - double* vkdr3, - const int is, - const bool isforce, - const bool isstress, - ModuleBase::matrix* fvl_dphi, - ModuleBase::matrix* svl_dphi, - const UnitCell& ucell); - - //! Use grid integrals to compute the atomic force contributions - //! na_grid: how many atoms on this (i,j,k) grid - //! block_size: dim is [na_grid], number of columns of a band - //! block_index: dim is [na_grid+1], total number of atomis orbitals - //! psir_vlbr3_DMR: dim is [bxyz][LD_pool] - //! dpsir_x: dim is [bxyz][LD_pool] - //! dpsir_y: dim is [bxyz][LD_pool] - //! dpsir_z: dim is [bxyz][LD_pool] - void cal_meshball_force( - const int grid_index, - const int na_grid, - const int* const block_size, - const int* const block_index, - const double* const* const psir_vlbr3_DMR, - const double* const* const dpsir_x, // psir_vlbr3[bxyz][LD_pool] - const double* const* const dpsir_y, // psir_vlbr3[bxyz][LD_pool] - const double* const* const dpsir_z, // psir_vlbr3[bxyz][LD_pool] - ModuleBase::matrix* force); - - //! Use grid integrals to compute the stress contributions - //! na_grid: how many atoms on this (i,j,k) grid - //! block_index: dim is [na_grid+1], total number of atomis orbitals - void cal_meshball_stress( - const int na_grid, - const int*const block_index, - const double*const psir_vlbr3_DMR, - const double*const dpsirr, - ModuleBase::matrix *stress); - - //! Use grid integrals to compute charge density - //! in gint_k_rho.cpp - //! calculate the charge density & kinetic energy density (tau) via grid integrals - void gint_kernel_rho(const int na_grid, - const int grid_index, - const double delta_r, - int* vindex, - const int LD_pool, - const UnitCell& ucell, - Gint_inout* inout); - - //! Use grid integrals to compute charge density in a meshball - void cal_meshball_rho(const int na_grid, - const int*const block_index, - const int*const vindex, - const double*const*const psir_ylm, - const double*const*const psir_DMR, - double*const rho); - - //! Use grid integrals to compute kinetic energy density tau - //!in meta-GGA functional - void gint_kernel_tau(const int na_grid, - const int grid_index, - const double delta_r, - int* vindex, - const int LD_pool, - Gint_inout* inout, - const UnitCell& ucell); - - //! Use grid integrals to compute kinetic energy density tau - //!in a meshball, used in meta-GGA functional calculations - void cal_meshball_tau(const int na_grid, - int* block_index, - int* vindex, - double** dpsix, - double** dpsiy, - double** dpsiz, - double** dpsix_dm, - double** dpsiy_dm, - double** dpsiz_dm, - double* rho); - - //! save the < phi_0i | V | phi_Rj > in sparse H matrix. - //! stores Hamiltonian in sparse format - hamilt::HContainer* hRGint = nullptr; - - //! size of vec is 4, only used when nspin = 4 - std::vector*> hRGint_tmp; - - //! stores Hamiltonian in sparse format - hamilt::HContainer>* hRGintCd = nullptr; - - //! stores DMR in sparse format - std::vector*> DMRGint; - - //! tmp tools used in transfer_DM2DtoGrid - hamilt::HContainer* DMRGint_full = nullptr; - - std::vector> pvdpRx_reduced; - std::vector> pvdpRy_reduced; - std::vector> pvdpRz_reduced; +#pragma once +#include +#include "gint_info.h" +#include "gint_type.h" + +namespace ModuleGint +{ + +class Gint +{ + public: + Gint() = default; + virtual ~Gint() = default; + + // note that gint_info_ is a static member variable + // it is shared by all instances of Gint + static void set_gint_info(GintInfo* gint_info) + { + gint_info_ = gint_info; + } + + protected: + static GintInfo* gint_info_; }; -#endif +} \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/gint_atom.cpp b/source/source_lcao/module_gint/gint_atom.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_atom.cpp rename to source/source_lcao/module_gint/gint_atom.cpp diff --git a/source/source_lcao/module_gint/temp_gint/gint_atom.h b/source/source_lcao/module_gint/gint_atom.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_atom.h rename to source/source_lcao/module_gint/gint_atom.h diff --git a/source/source_lcao/module_gint/temp_gint/gint_common.cpp b/source/source_lcao/module_gint/gint_common.cpp similarity index 52% rename from source/source_lcao/module_gint/temp_gint/gint_common.cpp rename to source/source_lcao/module_gint/gint_common.cpp index fc3248ad93..69957f0b38 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_common.cpp +++ b/source/source_lcao/module_gint/gint_common.cpp @@ -47,73 +47,6 @@ void compose_hr_gint(HContainer& hr_gint) ModuleBase::timer::tick("Gint", "compose_hr_gint"); } -void compose_hr_gint(const std::vector>& hr_gint_part, - HContainer>& hr_gint_full) -{ - ModuleBase::TITLE("Gint", "compose_hr_gint"); - ModuleBase::timer::tick("Gint", "compose_hr_gint"); - for (int iap = 0; iap < hr_gint_full.size_atom_pairs(); iap++) - { - auto* ap = &(hr_gint_full.get_atom_pair(iap)); - const int iat1 = ap->get_atom_i(); - const int iat2 = ap->get_atom_j(); - if (iat1 <= iat2) - { - hamilt::AtomPair>* upper_ap = ap; - hamilt::AtomPair>* lower_ap = hr_gint_full.find_pair(iat2, iat1); - const hamilt::AtomPair* ap_nspin_0 = hr_gint_part[0].find_pair(iat1, iat2); - const hamilt::AtomPair* ap_nspin_3 = hr_gint_part[3].find_pair(iat1, iat2); - for (int ir = 0; ir < upper_ap->get_R_size(); ir++) - { - const auto R_index = upper_ap->get_R_index(ir); - auto upper_mat = upper_ap->find_matrix(R_index); - auto mat_nspin_0 = ap_nspin_0->find_matrix(R_index); - auto mat_nspin_3 = ap_nspin_3->find_matrix(R_index); - - // The row size and the col size of upper_matrix is double that of matrix_nspin_0 - for (int irow = 0; irow < mat_nspin_0->get_row_size(); ++irow) - { - for (int icol = 0; icol < mat_nspin_0->get_col_size(); ++icol) - { - upper_mat->get_value(2*irow, 2*icol) = mat_nspin_0->get_value(irow, icol) + mat_nspin_3->get_value(irow, icol); - upper_mat->get_value(2*irow+1, 2*icol+1) = mat_nspin_0->get_value(irow, icol) - mat_nspin_3->get_value(irow, icol); - } - } - - if (PARAM.globalv.domag) - { - const hamilt::AtomPair* ap_nspin_1 = hr_gint_part[1].find_pair(iat1, iat2); - const hamilt::AtomPair* ap_nspin_2 = hr_gint_part[2].find_pair(iat1, iat2); - const auto mat_nspin_1 = ap_nspin_1->find_matrix(R_index); - const auto mat_nspin_2 = ap_nspin_2->find_matrix(R_index); - for (int irow = 0; irow < mat_nspin_1->get_row_size(); ++irow) - { - for (int icol = 0; icol < mat_nspin_1->get_col_size(); ++icol) - { - upper_mat->get_value(2*irow, 2*icol+1) = mat_nspin_1->get_value(irow, icol) + std::complex(0.0, 1.0) * mat_nspin_2->get_value(irow, icol); - upper_mat->get_value(2*irow+1, 2*icol) = mat_nspin_1->get_value(irow, icol) - std::complex(0.0, 1.0) * mat_nspin_2->get_value(irow, icol); - } - } - } - - // fill the lower triangle matrix - if (iat1 < iat2) - { - auto lower_mat = lower_ap->find_matrix(-R_index); - for (int irow = 0; irow < upper_mat->get_row_size(); ++irow) - { - for (int icol = 0; icol < upper_mat->get_col_size(); ++icol) - { - lower_mat->get_value(icol, irow) = conj(upper_mat->get_value(irow, icol)); - } - } - } - } - } - } - ModuleBase::timer::tick("Gint", "compose_hr_gint"); -} - template void transfer_hr_gint_to_hR(const HContainer& hr_gint, HContainer& hR) { @@ -136,6 +69,130 @@ void transfer_hr_gint_to_hR(const HContainer& hr_gint, HContainer& hR) ModuleBase::timer::tick("Gint", "transfer_hr_gint_to_hR"); } + +void merge_hr_part_to_hR(const std::vector>& hr_gint_tmp , + hamilt::HContainer>* hR, + const GintInfo& gint_info){ + ModuleBase::TITLE("Gint_k", "transfer_pvpR"); + ModuleBase::timer::tick("Gint_k", "transfer_pvpR"); + + const UnitCell* ucell_in = gint_info.get_ucell(); + int mg = hR->get_paraV()->get_global_row_size()/2; + int ng = hR->get_paraV()->get_global_col_size()/2; + int nb = hR->get_paraV()->get_block_size()/2; + hamilt::HContainer>* hR_tmp; + + +#ifdef __MPI + int blacs_ctxt = hR->get_paraV()->blacs_ctxt; + std::vector iat2iwt(ucell_in->nat); + for (int iat = 0; iat < ucell_in->nat; iat++) { + iat2iwt[iat] = ucell_in->get_iat2iwt()[iat]/2; + } + Parallel_Orbitals *pv = new Parallel_Orbitals(); + pv->set(mg, ng, nb, blacs_ctxt); + pv->set_atomic_trace(iat2iwt.data(), ucell_in->nat, mg); + auto ijr_info = hR->get_ijr_info(); + hR_tmp = new hamilt::HContainer>(pv, nullptr, &ijr_info); +#endif + + //select hr_gint_tmp + std::vector first = {0, 1, 1, 0}; + std::vector second= {3, 2, 2, 3}; + //select position in the big matrix + std::vector row_set = {0, 0, 1, 1}; + std::vector col_set = {0, 1, 0, 1}; + //construct complex matrix + std::vector clx_i = {1, 0, 0, -1}; + std::vector clx_j = {0, 1, -1, 0}; + for (int is = 0; is < 4; is++){ + if(!PARAM.globalv.domag && (is==1 || is==2)) continue; + hR_tmp->set_zero(); + hamilt::HContainer>* hRGint_tmpCd = new hamilt::HContainer>(ucell_in->nat); + hRGint_tmpCd->insert_ijrs( &(gint_info.get_ijr_info()), *(ucell_in)); + hRGint_tmpCd->allocate(nullptr, true); + hRGint_tmpCd->set_zero(); + for (int iap = 0; iap < hRGint_tmpCd->size_atom_pairs(); iap++) + { + auto* ap = &hRGint_tmpCd->get_atom_pair(iap); + const int iat1 = ap->get_atom_i(); + const int iat2 = ap->get_atom_j(); + if (iat1 <= iat2) + { + hamilt::AtomPair>* upper_ap = ap; + hamilt::AtomPair>* lower_ap = hRGint_tmpCd->find_pair(iat2, iat1); + const hamilt::AtomPair* ap_nspin1 = hr_gint_tmp [first[is]].find_pair(iat1, iat2); + const hamilt::AtomPair* ap_nspin2 = hr_gint_tmp [second[is]].find_pair(iat1, iat2); + for (int ir = 0; ir < upper_ap->get_R_size(); ir++) + { + const auto R_index = upper_ap->get_R_index(ir); + auto upper_mat = upper_ap->find_matrix(R_index); + auto mat_nspin1 = ap_nspin1->find_matrix(R_index); + auto mat_nspin2 = ap_nspin2->find_matrix(R_index); + // The row size and the col size of upper_matrix is double that of matrix_nspin_0 + for (int irow = 0; irow < mat_nspin1->get_row_size(); ++irow) + { + for (int icol = 0; icol < mat_nspin1->get_col_size(); ++icol) + { + upper_mat->get_value(irow, icol) = mat_nspin1->get_value(irow, icol) + + std::complex(clx_i[is], clx_j[is]) * mat_nspin2->get_value(irow, icol); + } + } + //fill the lower triangle matrix + //When is=0 or 3, the real part does not need conjugation; + //when is=1 or 2, the small matrix is not Hermitian, so conjugation is not needed + if (iat1 < iat2) + { + auto lower_mat = lower_ap->find_matrix(-R_index); + for (int irow = 0; irow < upper_mat->get_row_size(); ++irow) + { + for (int icol = 0; icol < upper_mat->get_col_size(); ++icol) + { + lower_mat->get_value(icol, irow) = upper_mat->get_value(irow, icol); + } + } + } + + } + } + } + // transfer hRGint_tmpCd to parallel hR_tmp +#ifdef __MPI + hamilt::transferSerials2Parallels( *hRGint_tmpCd, hR_tmp); +#else + hR_tmp = hRGint_tmpCd; +#endif + // merge hR_tmp to hR + for (int iap = 0; iap < hR->size_atom_pairs(); iap++) + { + auto* ap = &hR->get_atom_pair(iap); + const int iat1 = ap->get_atom_i(); + const int iat2 = ap->get_atom_j(); + auto* ap_nspin = hR_tmp ->find_pair(iat1, iat2); + for (int ir = 0; ir < ap->get_R_size(); ir++) + { + const auto R_index = ap->get_R_index(ir); + auto upper_mat = ap->find_matrix(R_index); + auto mat_nspin = ap_nspin->find_matrix(R_index); + // The row size and the col size of upper_matrix is double that of matrix_nspin_0 + for (int irow = 0; irow < mat_nspin->get_row_size(); ++irow) + { + for (int icol = 0; icol < mat_nspin->get_col_size(); ++icol) + { + upper_mat->get_value(2*irow+row_set[is], 2*icol+col_set[is]) = + mat_nspin->get_value(irow, icol); + } + } + } + } + delete hRGint_tmpCd; + } + ModuleBase::timer::tick("Gint_k", "transfer_pvpR"); + return; +} + + + // gint_info should not have been a parameter, but it was added to initialize dm_gint_full // In the future, we might try to remove the gint_info parameter template @@ -162,45 +219,59 @@ void transfer_dm_2d_to_gint( } } else // NSPIN=4 case { + + // is=0:↑↑, 1:↑↓, 2:↓↑, 3:↓↓ + const int row_set[4] = {0, 0, 1, 1}; + const int col_set[4] = {0, 1, 0, 1}; + int mg = dm[0]->get_paraV()->get_global_row_size()/2; + int ng = dm[0]->get_paraV()->get_global_col_size()/2; + int nb = dm[0]->get_paraV()->get_block_size()/2; + const UnitCell* ucell = gint_info.get_ucell(); + auto ijr_info = dm[0]->get_ijr_info(); #ifdef __MPI - const int npol = 2; - HContainer dm_full = gint_info.get_hr(npol); - hamilt::transferParallels2Serials(*dm[0], &dm_full); + int blacs_ctxt = dm[0]->get_paraV()->blacs_ctxt; + std::vector iat2iwt(ucell->nat); + for (int iat = 0; iat < ucell->nat; iat++) { + iat2iwt[iat] = ucell->get_iat2iwt()[iat]/2; + } + Parallel_Orbitals pv{}; + pv.set(mg, ng, nb, blacs_ctxt); + pv.set_atomic_trace(iat2iwt.data(), ucell->nat, mg); + HContainer dm2d_tmp(&pv, nullptr, &ijr_info); #else - HContainer& dm_full = *(dm[0]); + auto* dm2d_tmp = new hamilt::HContainer(ucell->nat); + dm2d_tmp -> insert_ijrs(&ijr_info, *ucell); + dm2d_tmp -> allocate(nullptr, true); #endif - std::vector tmp_pointer(4, nullptr); - for (int iap = 0; iap < dm_full.size_atom_pairs(); iap++) - { - auto& ap = dm_full.get_atom_pair(iap); - const int iat1 = ap.get_atom_i(); - const int iat2 = ap.get_atom_j(); - for (int ir = 0; ir < ap.get_R_size(); ir++) - { - const ModuleBase::Vector3 r_index = ap.get_R_index(ir); - for (int is = 0; is < 4; is++) - { - tmp_pointer[is] = - dm_gint[is].find_matrix(iat1, iat2, r_index)->get_pointer(); - } - T* data_full = ap.get_pointer(ir); - for (int irow = 0; irow < ap.get_row_size(); irow += 2) - { - for (int icol = 0; icol < ap.get_col_size(); icol += 2) - { - *(tmp_pointer[0])++ = data_full[icol]; - *(tmp_pointer[1])++ = data_full[icol + 1]; - } - data_full += ap.get_col_size(); - for (int icol = 0; icol < ap.get_col_size(); icol += 2) - { - *(tmp_pointer[2])++ = data_full[icol]; - *(tmp_pointer[3])++ = data_full[icol + 1]; + for (int is = 0; is < 4; is++){ + for (int iap = 0; iap < dm[0]->size_atom_pairs(); ++iap) { + auto& ap = dm[0]->get_atom_pair(iap); + int iat1 = ap.get_atom_i(); + int iat2 = ap.get_atom_j(); + for (int ir = 0; ir < ap.get_R_size(); ++ir) { + const ModuleBase::Vector3 r_index = ap.get_R_index(ir); +#ifdef __MPI + T* matrix_out = dm2d_tmp.find_matrix(iat1, iat2, r_index)->get_pointer(); +#else + T* matrix_out = dm2d_tmp->find_matrix(iat1, iat2, r_index)->get_pointer(); +#endif + T* matrix_in = ap.get_pointer(ir); + for (int irow = 0; irow < ap.get_row_size()/2; irow ++) { + for (int icol = 0; icol < ap.get_col_size()/2; icol ++) { + int index_i = irow* ap.get_col_size()/2 + icol; + int index_j = (irow*2+row_set[is]) * ap.get_col_size() + icol*2+col_set[is]; + matrix_out[index_i] = matrix_in[index_j]; + } } - data_full += ap.get_col_size(); } } - } +#ifdef __MPI + hamilt::transferParallels2Serials(dm2d_tmp, &dm_gint[is]); +#else + dm_gint[is].set_zero(); + dm_gint[is].add(*dm2d_tmp); +#endif + }//is=4 } ModuleBase::timer::tick("Gint", "transfer_dm_2d_to_gint"); } diff --git a/source/source_lcao/module_gint/temp_gint/gint_common.h b/source/source_lcao/module_gint/gint_common.h similarity index 72% rename from source/source_lcao/module_gint/temp_gint/gint_common.h rename to source/source_lcao/module_gint/gint_common.h index 17a324df2b..180bc9e8ea 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_common.h +++ b/source/source_lcao/module_gint/gint_common.h @@ -1,17 +1,19 @@ #pragma once #include "source_lcao/module_hcontainer/hcontainer.h" -#include "source_lcao/module_gint/temp_gint/gint_info.h" +#include "source_lcao/module_gint/gint_info.h" namespace ModuleGint { // fill the lower triangle matrix with the upper triangle matrix void compose_hr_gint(HContainer& hr_gint); - // for nspin=4 case - void compose_hr_gint(const std::vector>& hr_gint_part, - HContainer>& hr_gint_full); + template void transfer_hr_gint_to_hR(const HContainer& hr_gint, HContainer& hR); + // for nspin=4 case + void merge_hr_part_to_hR(const std::vector>& hr_gint_tmp , + hamilt::HContainer>* hR, + const GintInfo& gint_info); template void transfer_dm_2d_to_gint( diff --git a/source/source_lcao/module_gint/temp_gint/gint_dvlocal.cpp b/source/source_lcao/module_gint/gint_dvlocal.cpp similarity index 98% rename from source/source_lcao/module_gint/temp_gint/gint_dvlocal.cpp rename to source/source_lcao/module_gint/gint_dvlocal.cpp index 78a8b91069..3d3888a0b9 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_dvlocal.cpp +++ b/source/source_lcao/module_gint/gint_dvlocal.cpp @@ -33,9 +33,10 @@ void Gint_dvlocal::cal_hr_gint_() std::vector dphi_y; std::vector dphi_z; #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { - if(biggrid->get_atoms().empty()) + const auto& biggrid = gint_info_->get_biggrids()[i]; + if(biggrid->get_atoms().size() == 0) { continue; } diff --git a/source/source_lcao/module_gint/temp_gint/gint_dvlocal.h b/source/source_lcao/module_gint/gint_dvlocal.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_dvlocal.h rename to source/source_lcao/module_gint/gint_dvlocal.h diff --git a/source/source_lcao/module_gint/temp_gint/gint_env_gamma.cpp b/source/source_lcao/module_gint/gint_env_gamma.cpp similarity index 87% rename from source/source_lcao/module_gint/temp_gint/gint_env_gamma.cpp rename to source/source_lcao/module_gint/gint_env_gamma.cpp index 71fabbd703..af024edf2f 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_env_gamma.cpp +++ b/source/source_lcao/module_gint/gint_env_gamma.cpp @@ -28,9 +28,10 @@ void Gint_env_gamma::cal_env_band(const int iband) PhiOperator phi_op; std::vector phi; #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { - if(biggrid->get_atoms().empty()) + const auto& biggrid = gint_info_->get_biggrids()[i]; + if(biggrid->get_atoms().size() == 0) { continue; } diff --git a/source/source_lcao/module_gint/temp_gint/gint_env_gamma.h b/source/source_lcao/module_gint/gint_env_gamma.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_env_gamma.h rename to source/source_lcao/module_gint/gint_env_gamma.h diff --git a/source/source_lcao/module_gint/temp_gint/gint_env_k.cpp b/source/source_lcao/module_gint/gint_env_k.cpp similarity index 89% rename from source/source_lcao/module_gint/temp_gint/gint_env_k.cpp rename to source/source_lcao/module_gint/gint_env_k.cpp index b92ed8ddfc..4f6ab1c0cf 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_env_k.cpp +++ b/source/source_lcao/module_gint/gint_env_k.cpp @@ -33,9 +33,10 @@ void Gint_env_k::cal_env_band(const int iband) PhiOperator phi_op; std::vector phi; #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { - if(biggrid->get_atoms().empty()) + const auto& biggrid = gint_info_->get_biggrids()[i]; + if(biggrid->get_atoms().size() == 0) { continue; } diff --git a/source/source_lcao/module_gint/temp_gint/gint_env_k.h b/source/source_lcao/module_gint/gint_env_k.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_env_k.h rename to source/source_lcao/module_gint/gint_env_k.h diff --git a/source/source_lcao/module_gint/gint_force_cpu_interface.cpp b/source/source_lcao/module_gint/gint_force_cpu_interface.cpp deleted file mode 100644 index e3b6a30077..0000000000 --- a/source/source_lcao/module_gint/gint_force_cpu_interface.cpp +++ /dev/null @@ -1,313 +0,0 @@ -#include "gint.h" -#include "source_base/memory.h" -#include "source_base/timer.h" - -void Gint::gint_kernel_force(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint_force"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_force"); - const UnitCell& ucell = *this->ucell; - const int max_size = this->gridt->max_atom; - const int ncyz = this->ny * this->nplane; - const double dv = ucell.omega / this->ncxyz; - const double delta_r = this->gridt->dr_uniform; - - -#pragma omp parallel -{ - ModuleBase::matrix* fvl_dphi_thread=inout->fvl_dphi; - ModuleBase::matrix* svl_dphi_thread=inout->svl_dphi; - if (inout->isforce) { - fvl_dphi_thread=new ModuleBase::matrix(*inout->fvl_dphi); - fvl_dphi_thread->zero_out(); - } - if (inout->isstress) { - svl_dphi_thread=new ModuleBase::matrix(*inout->svl_dphi); - svl_dphi_thread->zero_out(); - } - std::vector block_iw(max_size,0); - std::vector block_index(max_size+1,0); - std::vector block_size(max_size,0); - std::vector vldr3(this->bxyz,0.0); -#pragma omp for schedule(dynamic) - for (int grid_index = 0; grid_index < this->nbxx; grid_index++) { - const int na_grid = this->gridt->how_many_atoms[grid_index]; - if (na_grid == 0) { - continue; - } - Gint_Tools::get_gint_vldr3(vldr3.data(), - inout->vl, - this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - dv); - //prepare block information - ModuleBase::Array_Pool cal_flag(this->bxyz,max_size); - Gint_Tools::get_block_info(*this->gridt, this->bxyz, na_grid, grid_index, - block_iw.data(), block_index.data(), block_size.data(), - cal_flag.get_ptr_2D()); - const int LD_pool = block_index[na_grid]; - - //evaluate psi and dpsi on grids - ModuleBase::Array_Pool psir_ylm(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_x(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_y(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_z(this->bxyz, LD_pool); - - Gint_Tools::cal_dpsir_ylm(*this->gridt, this->bxyz, na_grid, grid_index, delta_r, - block_index.data(), block_size.data(), - cal_flag.get_ptr_2D(),psir_ylm.get_ptr_2D(), - dpsir_ylm_x.get_ptr_2D(), dpsir_ylm_y.get_ptr_2D(), dpsir_ylm_z.get_ptr_2D()); - - //calculating f_mu(r) = v(r)*psi_mu(r)*dv - const ModuleBase::Array_Pool psir_vlbr3 = - Gint_Tools::get_psir_vlbr3(this->bxyz, na_grid, LD_pool, block_index.data(), - cal_flag.get_ptr_2D(), vldr3.data(), psir_ylm.get_ptr_2D()); - - ModuleBase::Array_Pool psir_vlbr3_DM(this->bxyz, LD_pool); - ModuleBase::GlobalFunc::ZEROS(psir_vlbr3_DM.get_ptr_1D(), this->bxyz*LD_pool); - - //calculating g_mu(r) = sum_nu rho_mu,nu f_nu(r) - Gint_Tools::mult_psi_DMR( - *this->gridt, - this->bxyz, - LD_pool, - grid_index, - na_grid, - block_index.data(), - block_size.data(), - cal_flag.get_ptr_2D(), - psir_vlbr3.get_ptr_2D(), - psir_vlbr3_DM.get_ptr_2D(), - this->DMRGint[inout->ispin], - false); - - if(inout->isforce) - { - //do integration to get force - this-> cal_meshball_force(grid_index, na_grid, block_size.data(), block_index.data(), - psir_vlbr3_DM.get_ptr_2D(), dpsir_ylm_x.get_ptr_2D(), - dpsir_ylm_y.get_ptr_2D(), dpsir_ylm_z.get_ptr_2D(), - fvl_dphi_thread); - } - if(inout->isstress) - { - //calculating g_mu(r)*(r-R) where R is the location of atom - - // The array dpsirr contains derivatives of psir in the xx, xy, xz, yy, yz, zz directions, - // with each set of six numbers representing the derivatives in these respective directions. - ModuleBase::Array_Pool dpsirr_ylm(this->bxyz, LD_pool * 6); - Gint_Tools::cal_dpsirr_ylm(*this->gridt, this->bxyz, na_grid, grid_index, block_index.data(), - block_size.data(), cal_flag.get_ptr_2D(),dpsir_ylm_x.get_ptr_2D(), - dpsir_ylm_y.get_ptr_2D(),dpsir_ylm_z.get_ptr_2D(), - dpsirr_ylm.get_ptr_2D()); - - //do integration to get stress - this-> cal_meshball_stress(na_grid, block_index.data(), psir_vlbr3_DM.get_ptr_1D(), - dpsirr_ylm.get_ptr_1D(), svl_dphi_thread); - } - } -#pragma omp critical(gint) - { - if (inout->isforce) { - inout->fvl_dphi[0] += fvl_dphi_thread[0]; - delete fvl_dphi_thread; - } - if (inout->isstress) { - inout->svl_dphi[0] += svl_dphi_thread[0]; - delete svl_dphi_thread; - } - } -} - ModuleBase::TITLE("Gint_interface", "cal_gint_force"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_force"); -} - -void Gint::gint_kernel_force_meta(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint_force_meta"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_force_meta"); - const UnitCell& ucell = *this->ucell; - const int max_size = this->gridt->max_atom; - const int ncyz = this->ny * this->nplane; - const double dv = ucell.omega / this->ncxyz; - const double delta_r = this->gridt->dr_uniform; - - -#pragma omp parallel -{ - ModuleBase::matrix* fvl_dphi_thread=inout->fvl_dphi; - ModuleBase::matrix* svl_dphi_thread=inout->svl_dphi; - if (inout->isforce) { - fvl_dphi_thread=new ModuleBase::matrix(*inout->fvl_dphi); - fvl_dphi_thread->zero_out(); - } - if (inout->isstress) { - svl_dphi_thread=new ModuleBase::matrix(*inout->svl_dphi); - svl_dphi_thread->zero_out(); - } - std::vector block_iw(max_size,0); - std::vector block_index(max_size+1,0); - std::vector block_size(max_size,0); - std::vector vldr3(this->bxyz,0.0); - std::vector vkdr3(this->bxyz,0.0); -#pragma omp for schedule(dynamic) - for (int grid_index = 0; grid_index < this->nbxx; grid_index++) { - const int na_grid = this->gridt->how_many_atoms[grid_index]; - if (na_grid == 0) { - continue; - } - Gint_Tools::get_gint_vldr3(vldr3.data(), - inout->vl, - this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - dv); - - Gint_Tools::get_gint_vldr3(vkdr3.data(), - inout->vofk, - this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - dv); - //prepare block information - ModuleBase::Array_Pool cal_flag(this->bxyz,max_size); - Gint_Tools::get_block_info(*this->gridt, this->bxyz, na_grid, grid_index, - block_iw.data(), block_index.data(), block_size.data(), cal_flag.get_ptr_2D()); - const int LD_pool = block_index[na_grid]; - - //evaluate psi and dpsi on grids - ModuleBase::Array_Pool psir_ylm(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_x(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_y(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_z(this->bxyz, LD_pool); - ModuleBase::Array_Pool ddpsir_ylm_xx(this->bxyz, LD_pool); - ModuleBase::Array_Pool ddpsir_ylm_xy(this->bxyz, LD_pool); - ModuleBase::Array_Pool ddpsir_ylm_xz(this->bxyz, LD_pool); - ModuleBase::Array_Pool ddpsir_ylm_yy(this->bxyz, LD_pool); - ModuleBase::Array_Pool ddpsir_ylm_yz(this->bxyz, LD_pool); - ModuleBase::Array_Pool ddpsir_ylm_zz(this->bxyz, LD_pool); - - //psi and gradient of psi - Gint_Tools::cal_dpsir_ylm(*this->gridt, this->bxyz, na_grid, grid_index, delta_r, block_index.data(), block_size.data(), cal_flag.get_ptr_2D(), - psir_ylm.get_ptr_2D(), dpsir_ylm_x.get_ptr_2D(), dpsir_ylm_y.get_ptr_2D(), dpsir_ylm_z.get_ptr_2D()); - - //hessian of psi - Gint_Tools::cal_ddpsir_ylm(*this->gridt, this->bxyz, na_grid, grid_index, delta_r, block_index.data(), block_size.data(), cal_flag.get_ptr_2D(), - ddpsir_ylm_xx.get_ptr_2D(), ddpsir_ylm_xy.get_ptr_2D(), ddpsir_ylm_xz.get_ptr_2D(), - ddpsir_ylm_yy.get_ptr_2D(), ddpsir_ylm_yz.get_ptr_2D(), ddpsir_ylm_zz.get_ptr_2D()); - - //calculating f_mu(r) = v(r)*psi_mu(r)*dv - const ModuleBase::Array_Pool psir_vlbr3 - = Gint_Tools::get_psir_vlbr3(this->bxyz, na_grid, LD_pool, block_index.data(), cal_flag.get_ptr_2D(), vldr3.data(), psir_ylm.get_ptr_2D()); - const ModuleBase::Array_Pool dpsir_x_vlbr3 - = Gint_Tools::get_psir_vlbr3(this->bxyz, na_grid, LD_pool, block_index.data(), cal_flag.get_ptr_2D(), vkdr3.data(), dpsir_ylm_x.get_ptr_2D()); - const ModuleBase::Array_Pool dpsir_y_vlbr3 - = Gint_Tools::get_psir_vlbr3(this->bxyz, na_grid, LD_pool, block_index.data(), cal_flag.get_ptr_2D(), vkdr3.data(), dpsir_ylm_y.get_ptr_2D()); - const ModuleBase::Array_Pool dpsir_z_vlbr3 - = Gint_Tools::get_psir_vlbr3(this->bxyz, na_grid, LD_pool, block_index.data(), cal_flag.get_ptr_2D(), vkdr3.data(), dpsir_ylm_z.get_ptr_2D()); - - ModuleBase::Array_Pool psir_vlbr3_DM(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsirx_v_DM(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsiry_v_DM(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsirz_v_DM(this->bxyz, LD_pool); - - ModuleBase::GlobalFunc::ZEROS(psir_vlbr3_DM.get_ptr_1D(), this->bxyz*LD_pool); - ModuleBase::GlobalFunc::ZEROS(dpsirx_v_DM.get_ptr_1D(), this->bxyz*LD_pool); - ModuleBase::GlobalFunc::ZEROS(dpsiry_v_DM.get_ptr_1D(), this->bxyz*LD_pool); - ModuleBase::GlobalFunc::ZEROS(dpsirz_v_DM.get_ptr_1D(), this->bxyz*LD_pool); - - //calculating g_mu(r) = sum_nu rho_mu,nu f_nu(r) - Gint_Tools::mult_psi_DMR(*this->gridt, this->bxyz, LD_pool, grid_index, - na_grid, block_index.data(), block_size.data(), cal_flag.get_ptr_2D(), - psir_vlbr3.get_ptr_2D(), psir_vlbr3_DM.get_ptr_2D(), this->DMRGint[inout->ispin], false); - - Gint_Tools::mult_psi_DMR(*this->gridt, this->bxyz, LD_pool, grid_index, - na_grid, block_index.data(), block_size.data(), cal_flag.get_ptr_2D(), - dpsir_x_vlbr3.get_ptr_2D(), dpsirx_v_DM.get_ptr_2D(), this->DMRGint[inout->ispin], false); - - Gint_Tools::mult_psi_DMR(*this->gridt, this->bxyz, LD_pool, grid_index, - na_grid, block_index.data(), block_size.data(), cal_flag.get_ptr_2D(), - dpsir_y_vlbr3.get_ptr_2D(), dpsiry_v_DM.get_ptr_2D(), this->DMRGint[inout->ispin], false); - - Gint_Tools::mult_psi_DMR(*this->gridt, this->bxyz, LD_pool, grid_index, - na_grid, block_index.data(), block_size.data(), cal_flag.get_ptr_2D(), - dpsir_z_vlbr3.get_ptr_2D(), dpsirz_v_DM.get_ptr_2D(), this->DMRGint[inout->ispin], false); - - if(inout->isforce) - { - //do integration to get force - this-> cal_meshball_force(grid_index, na_grid, block_size.data(), block_index.data(), - psir_vlbr3_DM.get_ptr_2D(), dpsir_ylm_x.get_ptr_2D(), dpsir_ylm_y.get_ptr_2D(), dpsir_ylm_z.get_ptr_2D(), - fvl_dphi_thread); - - this-> cal_meshball_force(grid_index, na_grid, block_size.data(), block_index.data(), - dpsirx_v_DM.get_ptr_2D(), ddpsir_ylm_xx.get_ptr_2D(), ddpsir_ylm_xy.get_ptr_2D(), ddpsir_ylm_xz.get_ptr_2D(), - fvl_dphi_thread); - this-> cal_meshball_force(grid_index, na_grid, block_size.data(), block_index.data(), - dpsiry_v_DM.get_ptr_2D(), ddpsir_ylm_xy.get_ptr_2D(), ddpsir_ylm_yy.get_ptr_2D(), ddpsir_ylm_yz.get_ptr_2D(), - fvl_dphi_thread); - this-> cal_meshball_force(grid_index, na_grid, block_size.data(), block_index.data(), - dpsirz_v_DM.get_ptr_2D(), ddpsir_ylm_xz.get_ptr_2D(), ddpsir_ylm_yz.get_ptr_2D(), ddpsir_ylm_zz.get_ptr_2D(), - fvl_dphi_thread); - - } - if(inout->isstress) - { - //calculating g_mu(r)*(r-R) where R is the location of atom - ModuleBase::Array_Pool array(this->bxyz, LD_pool * 6); - - //the vxc part - Gint_Tools::cal_dpsirr_ylm(*this->gridt, this->bxyz, na_grid, grid_index, block_index.data(), block_size.data(), cal_flag.get_ptr_2D(), - dpsir_ylm_x.get_ptr_2D(), dpsir_ylm_y.get_ptr_2D(), dpsir_ylm_z.get_ptr_2D(), array.get_ptr_2D()); - //do integration to get stress - this-> cal_meshball_stress(na_grid, block_index.data(), psir_vlbr3_DM.get_ptr_1D(), - array.get_ptr_1D(), svl_dphi_thread); - - //partial x of vtau part - Gint_Tools::cal_dpsirr_ylm(*this->gridt, this->bxyz, na_grid, grid_index, block_index.data(), block_size.data(), cal_flag.get_ptr_2D(), - ddpsir_ylm_xx.get_ptr_2D(), ddpsir_ylm_xy.get_ptr_2D(), ddpsir_ylm_xz.get_ptr_2D(), array.get_ptr_2D()); - //do integration to get stress - this-> cal_meshball_stress(na_grid, block_index.data(), dpsirx_v_DM.get_ptr_1D(), - array.get_ptr_1D(), svl_dphi_thread); - - //partial y of vtau part - Gint_Tools::cal_dpsirr_ylm(*this->gridt, this->bxyz, na_grid, grid_index, block_index.data(), block_size.data(), cal_flag.get_ptr_2D(), - ddpsir_ylm_xy.get_ptr_2D(), ddpsir_ylm_yy.get_ptr_2D(), ddpsir_ylm_yz.get_ptr_2D(), array.get_ptr_2D()); - //do integration to get stress - this-> cal_meshball_stress(na_grid, block_index.data(), dpsiry_v_DM.get_ptr_1D(), - array.get_ptr_1D(), svl_dphi_thread); - - //partial z of vtau part - Gint_Tools::cal_dpsirr_ylm(*this->gridt, this->bxyz, na_grid, grid_index, block_index.data(), block_size.data(), cal_flag.get_ptr_2D(), - ddpsir_ylm_xz.get_ptr_2D(), ddpsir_ylm_yz.get_ptr_2D(), ddpsir_ylm_zz.get_ptr_2D(), array.get_ptr_2D()); - //do integration to get stress - this-> cal_meshball_stress(na_grid, block_index.data(), dpsirz_v_DM.get_ptr_1D(), - array.get_ptr_1D(), svl_dphi_thread); - } - } -#pragma omp critical(gint) - { - if (inout->isforce) { - inout->fvl_dphi[0] += fvl_dphi_thread[0]; - delete fvl_dphi_thread; - } - if (inout->isstress) { - inout->svl_dphi[0] += svl_dphi_thread[0]; - delete svl_dphi_thread; - } - } -} - ModuleBase::TITLE("Gint_interface", "cal_gint_force_meta"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_force_meta"); -} diff --git a/source/source_lcao/module_gint/gint_force_gpu.cu b/source/source_lcao/module_gint/gint_force_gpu.cu deleted file mode 100644 index cb3390aacc..0000000000 --- a/source/source_lcao/module_gint/gint_force_gpu.cu +++ /dev/null @@ -1,301 +0,0 @@ -#ifdef _OPENMP -#include -#endif - -#include "gint_force_gpu.h" -#include "kernels/cuda/cuda_tools.cuh" -#include "kernels/cuda/gint_force.cuh" -#include "source_base/ylm.h" -#include "gint_tools.h" - -namespace GintKernel -{ -/** - * @brief Calculate forces and stresses - * @note The grid integration on the GPU is mainly divided into the following - * steps: - * 1. Use the CPU to divide the grid integration into subtasks. - * 2. Copy the subtask information to the GPU. - * 3. Calculate the matrix elements on the GPU. - * 4. Perform matrix multiplication on the GPU. - * 5. stress dot on the GPU. - * 6. force dot on the GPU. - * 7. Copy the results back to the host. - */ -void gint_fvl_gpu(const hamilt::HContainer* dm, - const double* vlocal, - double* force_in, - double* stress_in, - double dr, - const double* rcut, - const int isforce, - const int isstress, - const Grid_Technique& gridt, - const UnitCell& ucell) -{ - checkCuda(cudaSetDevice(gridt.dev_id)); - // checkCuda(cudaSetDeviceFlags(cudaDeviceScheduleBlockingSync)); - - const int nbzp = gridt.nbzp; - const int max_atom = gridt.max_atom; - const int nwmax = ucell.nwmax; - const int bxyz = gridt.bxyz; - const int max_atom_per_bcell = max_atom * bxyz; - const int max_atom_per_z = max_atom_per_bcell * nbzp; - const int max_phi_per_z = max_atom_per_z * ucell.nwmax; - const int max_atompair_per_z = max_atom * max_atom * nbzp; - const double vfactor = ucell.omega / gridt.ncxyz; - const int nczp = nbzp * gridt.bz; - const int nat=ucell.nat; - - const int num_streams = gridt.nstreams; - - std::vector streams(num_streams); - std::vector events(num_streams); - for (int i = 0; i < num_streams; i++) - { - checkCuda(cudaStreamCreate(&streams[i])); - checkCuda(cudaEventCreateWithFlags(&events[i], cudaEventDisableTiming)); - } - - Cuda_Mem_Wrapper dr_part(3 * max_atom_per_z, num_streams, true); - Cuda_Mem_Wrapper atoms_type(max_atom_per_z, num_streams, true); - Cuda_Mem_Wrapper iat_on_nbz(max_atom_per_z, num_streams, true); - // The first number in every group of two represents the number of atoms on that bigcell. - // The second number represents the cumulative number of atoms up to that bigcell. - Cuda_Mem_Wrapper atoms_num_info(2 * nbzp, num_streams, true); - Cuda_Mem_Wrapper vldr3(nbzp * gridt.bxyz, num_streams, true); - - Cuda_Mem_Wrapper psi(max_phi_per_z, num_streams, false); - Cuda_Mem_Wrapper psi_dm(max_phi_per_z, num_streams, false); - Cuda_Mem_Wrapper dpsi(3 * max_phi_per_z, num_streams, false); - Cuda_Mem_Wrapper d2psi(6 * max_phi_per_z, num_streams, false); - - Cuda_Mem_Wrapper gemm_alpha(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_m(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_n(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_k(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_lda(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_ldb(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_ldc(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_A(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_B(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_C(max_atompair_per_z, num_streams, true); - - Cuda_Mem_Wrapper force(3 * nat, num_streams, true); - Cuda_Mem_Wrapper stress(6, num_streams, true); - - Cuda_Mem_Wrapper dm_matrix(dm->get_nnr(), 1, false); - // retrieve the density matrix on the host - checkCuda(cudaMemcpy(dm_matrix.get_device_pointer(), - dm->get_wrapper(), - dm->get_nnr() * sizeof(double), - cudaMemcpyHostToDevice)); - -#ifdef _OPENMP -const int max_thread_num = std::min(omp_get_max_threads(), num_streams); -#endif -#pragma omp parallel num_threads(max_thread_num) -{ -#ifdef _OPENMP - const int tid = omp_get_thread_num(); - const int num_threads = omp_get_num_threads(); - const int sid_start = tid * num_streams / num_threads; - const int thread_num_streams = tid == num_threads - 1 ? num_streams - sid_start : num_streams / num_threads; -#else - const int sid_start = 0; - const int thread_num_streams = num_streams; -#endif -#pragma omp for collapse(2) schedule(dynamic) - for (int i = 0; i < gridt.nbx; i++) - { - for (int j = 0; j < gridt.nby; j++) - { - // 20240620 Note that it must be set again here because - // cuda's device is not safe in a multi-threaded environment. - checkCuda(cudaSetDevice(gridt.dev_id)); - - const int sid = (i * gridt.nby + j) % thread_num_streams + sid_start; - checkCuda(cudaEventSynchronize(events[sid])); - - int max_m = 0; - int max_n = 0; - int atom_pair_num = 0; - int atoms_per_z = 0; - const int grid_index_ij = i * gridt.nby * nbzp + j * nbzp; - - gtask_force(gridt, - ucell, - grid_index_ij, - nczp, - vfactor, - vlocal, - atoms_per_z, - atoms_num_info.get_host_pointer(sid), - iat_on_nbz.get_host_pointer(sid), - atoms_type.get_host_pointer(sid), - dr_part.get_host_pointer(sid), - vldr3.get_host_pointer(sid)); - - alloc_mult_force(dm, - gridt, - ucell, - grid_index_ij, - max_atom, - atoms_num_info.get_host_pointer(sid), - psi.get_device_pointer(sid), - psi_dm.get_device_pointer(sid), - dm_matrix.get_device_pointer(), - max_m, - max_n, - atom_pair_num, - gemm_m.get_host_pointer(sid), - gemm_n.get_host_pointer(sid), - gemm_k.get_host_pointer(sid), - gemm_lda.get_host_pointer(sid), - gemm_ldb.get_host_pointer(sid), - gemm_ldc.get_host_pointer(sid), - gemm_A.get_host_pointer(sid), - gemm_B.get_host_pointer(sid), - gemm_C.get_host_pointer(sid)); - - dr_part.copy_host_to_device_async(streams[sid], sid, 3 * atoms_per_z); - atoms_type.copy_host_to_device_async(streams[sid], sid, atoms_per_z); - iat_on_nbz.copy_host_to_device_async(streams[sid], sid, atoms_per_z); - vldr3.copy_host_to_device_async(streams[sid], sid); - atoms_num_info.copy_host_to_device_async(streams[sid], sid); - - gemm_m.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_n.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_k.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_lda.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_ldb.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_ldc.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_A.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_B.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_C.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - checkCuda(cudaEventRecord(events[sid], streams[sid])); - - psi.memset_device_async(streams[sid], sid, 0); - psi_dm.memset_device_async(streams[sid], sid, 0); - dpsi.memset_device_async(streams[sid], sid, 0); - d2psi.memset_device_async(streams[sid], sid, 0); - - dim3 grid_psi(nbzp, gridt.bxyz); - dim3 block_psi(64); - get_psi_force<<>>( - gridt.ylmcoef_g, - dr, - bxyz, - nwmax, - max_atom, - gridt.atom_nwl_g, - gridt.atom_new_g, - gridt.atom_ylm_g, - gridt.atom_l_g, - gridt.atom_nw_g, - gridt.rcut_g, - gridt.nr_max, - gridt.psi_u_g, - gridt.mcell_pos_g, - dr_part.get_device_pointer(sid), - vldr3.get_device_pointer(sid), - atoms_type.get_device_pointer(sid), - atoms_num_info.get_device_pointer(sid), - psi.get_device_pointer(sid), - dpsi.get_device_pointer(sid), - d2psi.get_device_pointer(sid)); - checkCudaLastError(); - - gridt.fastest_matrix_mul(max_m, - max_n, - gemm_m.get_device_pointer(sid), - gemm_n.get_device_pointer(sid), - gemm_k.get_device_pointer(sid), - gemm_A.get_device_pointer(sid), - gemm_lda.get_device_pointer(sid), - gemm_B.get_device_pointer(sid), - gemm_ldb.get_device_pointer(sid), - gemm_C.get_device_pointer(sid), - gemm_ldc.get_device_pointer(sid), - atom_pair_num, - streams[sid], - nullptr); - - if (isforce){ - dim3 grid_force(nbzp); - dim3 block_force(64); - dot_product_force<<>>( - bxyz, - nwmax, - atoms_num_info.get_device_pointer(sid), - iat_on_nbz.get_device_pointer(sid), - dpsi.get_device_pointer(sid), - psi_dm.get_device_pointer(sid), - force.get_device_pointer(sid)); - checkCudaLastError(); - } - - if (isstress){ - dim3 grid_stress(nbzp); - dim3 block_stress(64); - dot_product_stress<<>>( - d2psi.get_device_pointer(sid), - psi_dm.get_device_pointer(sid), - atoms_per_z * nwmax * bxyz, - stress.get_device_pointer(sid)); - checkCudaLastError(); - } - } - } -} - - for(int i = 0; i < num_streams; i++) - { - stress.copy_device_to_host_async(streams[i], i); - force.copy_device_to_host_async(streams[i], i); - } - - for (int i = 0; i < num_streams; i++) - { - checkCuda(cudaStreamSynchronize(streams[i])); - checkCuda(cudaEventDestroy(events[i])); - } - - if (isstress){ - for (int i = 0; i < num_streams; i++) - { - const int offset = 6 * i; - for (int j = 0; j < 6; j++) - { - stress_in[j] += stress.get_host_pointer()[offset + j]; - } - } - } - if (isforce){ - for (int i = 0; i < num_streams; i++) - { - const int offset = 3 * i * nat; - for (int j = 0; j < 3 * nat; j++) - { - force_in[j] += force.get_host_pointer()[offset + j]; - } - } - } - - for (int i = 0; i < num_streams; i++) - { - checkCuda(cudaStreamDestroy(streams[i])); - } -} - -} // namespace GintKernel diff --git a/source/source_lcao/module_gint/gint_force_gpu.h b/source/source_lcao/module_gint/gint_force_gpu.h deleted file mode 100644 index 0dac4a99d6..0000000000 --- a/source/source_lcao/module_gint/gint_force_gpu.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_MODULE_GINT_GINT_FORCE_GPU_H -#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_MODULE_GINT_GINT_FORCE_GPU_H - -#include "source_lcao/module_gint/gint.h" -#include "source_lcao/module_gint/grid_technique.h" -namespace GintKernel -{ -void gint_fvl_gpu(const hamilt::HContainer* dm, - const double* vlocal, - double* force_in, - double* stress_in, - double dr, - const double* rcut, - const int isforce, - const int isstress, - const Grid_Technique& gridt, - const UnitCell& ucell); - -void gtask_force(const Grid_Technique& gridt, - const UnitCell& ucell, - const int grid_index_ij, - const int nczp, - const double vfactor, - const double* vlocal_global_value, - int& atoms_per_z, - int* atoms_num_info, - int* iat_on_nbz, - uint8_t* atoms_type, - double* dr_part, - double* vldr3); - -void alloc_mult_force(const hamilt::HContainer* dm, - const Grid_Technique& gridt, - const UnitCell& ucell, - const int grid_index_ij, - const int max_atom, - const int *atoms_num_info, - double* const psi_g, - double* const psi_dm_g, - double* const dm_matrix_g, - int& max_m, - int& max_n, - int& atom_pair_num, - int* mat_m, - int* mat_n, - int* mat_k, - int* mat_lda, - int* mat_ldb, - int* mat_ldc, - double** mat_A, - double** mat_B, - double** mat_C); - -} // namespace GintKernel -#endif diff --git a/source/source_lcao/module_gint/temp_gint/gint_fvl.cpp b/source/source_lcao/module_gint/gint_fvl.cpp similarity index 95% rename from source/source_lcao/module_gint/temp_gint/gint_fvl.cpp rename to source/source_lcao/module_gint/gint_fvl.cpp index 3fc9bde005..11a7e1620d 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_fvl.cpp +++ b/source/source_lcao/module_gint/gint_fvl.cpp @@ -49,8 +49,9 @@ void Gint_fvl::cal_fvl_svl_() svl_thread->zero_out(); } #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { + const auto& biggrid = gint_info_->get_biggrids()[i]; if(biggrid->get_atoms().size() == 0) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_fvl.h b/source/source_lcao/module_gint/gint_fvl.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_fvl.h rename to source/source_lcao/module_gint/gint_fvl.h diff --git a/source/source_lcao/module_gint/temp_gint/gint_fvl_gpu.cpp b/source/source_lcao/module_gint/gint_fvl_gpu.cpp similarity index 97% rename from source/source_lcao/module_gint/temp_gint/gint_fvl_gpu.cpp rename to source/source_lcao/module_gint/gint_fvl_gpu.cpp index 1d90304d2c..0bd8d58f21 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_fvl_gpu.cpp +++ b/source/source_lcao/module_gint/gint_fvl_gpu.cpp @@ -93,8 +93,9 @@ void Gint_fvl_gpu::cal_fvl_svl_() CudaMemWrapper dphi_z(BatchBigGrid::get_max_phi_len(), stream, false); #pragma omp for schedule(dynamic) - for(const auto& bgrid_batch: gint_info_->get_bgrid_batches()) + for (int i = 0; i < gint_info_->get_bgrid_batches_num(); ++i) { + const auto& bgrid_batch = gint_info_->get_bgrid_batches()[i]; if(bgrid_batch->empty()) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_fvl_gpu.h b/source/source_lcao/module_gint/gint_fvl_gpu.h similarity index 95% rename from source/source_lcao/module_gint/temp_gint/gint_fvl_gpu.h rename to source/source_lcao/module_gint/gint_fvl_gpu.h index b613333e7a..cdbcd40aa9 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_fvl_gpu.h +++ b/source/source_lcao/module_gint/gint_fvl_gpu.h @@ -6,7 +6,7 @@ #include "source_base/matrix.h" #include "gint.h" #include "gint_info.h" -#include "source_lcao/module_gint/temp_gint/kernel/cuda_mem_wrapper.h" +#include "source_lcao/module_gint/kernel/cuda_mem_wrapper.h" namespace ModuleGint { diff --git a/source/source_lcao/module_gint/temp_gint/gint_fvl_meta.cpp b/source/source_lcao/module_gint/gint_fvl_meta.cpp similarity index 97% rename from source/source_lcao/module_gint/temp_gint/gint_fvl_meta.cpp rename to source/source_lcao/module_gint/gint_fvl_meta.cpp index 3299600c99..728cd042a4 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_fvl_meta.cpp +++ b/source/source_lcao/module_gint/gint_fvl_meta.cpp @@ -61,8 +61,9 @@ void Gint_fvl_meta::cal_fvl_svl_() svl_thread->zero_out(); } #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { + const auto& biggrid = gint_info_->get_biggrids()[i]; if(biggrid->get_atoms().size() == 0) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_fvl_meta.h b/source/source_lcao/module_gint/gint_fvl_meta.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_fvl_meta.h rename to source/source_lcao/module_gint/gint_fvl_meta.h diff --git a/source/source_lcao/module_gint/temp_gint/gint_fvl_meta_gpu.cpp b/source/source_lcao/module_gint/gint_fvl_meta_gpu.cpp similarity index 98% rename from source/source_lcao/module_gint/temp_gint/gint_fvl_meta_gpu.cpp rename to source/source_lcao/module_gint/gint_fvl_meta_gpu.cpp index fa19925d04..9275f3f4c0 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_fvl_meta_gpu.cpp +++ b/source/source_lcao/module_gint/gint_fvl_meta_gpu.cpp @@ -108,8 +108,9 @@ void Gint_fvl_meta_gpu::cal_fvl_svl_() CudaMemWrapper ddphi_yz(BatchBigGrid::get_max_phi_len(), stream, false); CudaMemWrapper ddphi_zz(BatchBigGrid::get_max_phi_len(), stream, false); #pragma omp for schedule(dynamic) - for(const auto& bgrid_batch: gint_info_->get_bgrid_batches()) + for (int i = 0; i < gint_info_->get_bgrid_batches_num(); ++i) { + const auto& bgrid_batch = gint_info_->get_bgrid_batches()[i]; if(bgrid_batch->empty()) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_fvl_meta_gpu.h b/source/source_lcao/module_gint/gint_fvl_meta_gpu.h similarity index 95% rename from source/source_lcao/module_gint/temp_gint/gint_fvl_meta_gpu.h rename to source/source_lcao/module_gint/gint_fvl_meta_gpu.h index 2b9d88aec2..a1b41cbd61 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_fvl_meta_gpu.h +++ b/source/source_lcao/module_gint/gint_fvl_meta_gpu.h @@ -6,7 +6,7 @@ #include "source_base/matrix.h" #include "gint.h" #include "gint_info.h" -#include "source_lcao/module_gint/temp_gint/kernel/cuda_mem_wrapper.h" +#include "source_lcao/module_gint/kernel/cuda_mem_wrapper.h" namespace ModuleGint { diff --git a/source/source_lcao/module_gint/gint_fvl_old.cpp b/source/source_lcao/module_gint/gint_fvl_old.cpp deleted file mode 100644 index 663a7ddce6..0000000000 --- a/source/source_lcao/module_gint/gint_fvl_old.cpp +++ /dev/null @@ -1,76 +0,0 @@ -#include "gint_k.h" -#include "source_base/timer.h" -#include "source_base/ylm.h" -#include "source_pw/module_pwdft/global.h" -#include "source_base/array_pool.h" - -// This function utilizes the cache more effectively than calling the ddot function, thus performing faster. -void Gint::cal_meshball_force( - const int grid_index, - const int na_grid, // how many atoms on this (i,j,k) grid - const int*const block_size, // block_size[na_grid], number of columns of a band - const int*const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const double*const*const psir_vlbr3_DMR, // psir_vlbr3[this->bxyz][LD_pool] - const double*const*const dpsir_x, // psir_vlbr3[this->bxyz][LD_pool] - const double*const*const dpsir_y, // psir_vlbr3[this->bxyz][LD_pool] - const double*const*const dpsir_z, // psir_vlbr3[this->bxyz][LD_pool] - ModuleBase::matrix *force) -{ - for(int ia1=0;ia1gridt->bcell_start[grid_index] + ia1; - const int iat=this->gridt->which_atom[mcell_index]; // index of atom - double rx = 0; - double ry = 0; - double rz = 0; - for(int ib=0; ibbxyz; ib++) - { - for(int iw=0; iwbxyz; - - for(int i=0; i -#endif - -//========================================================= -// ModuleBase::Integral On 3D Grids, different from Grid_Integral -// Feature : Matrix Elements Of Local Potential For -// Numerical Orbitals -//========================================================= - -class Gint_Gamma : public Gint -{ - public: - - //! @brief move operator for the next ESolver to directly use its infomation - //! @param rhs - //! @return *this - Gint_Gamma& operator=(Gint_Gamma&& rhs); - - //! in gint_gamma_vl.cpp - //! there is an additional step in calculating vlocal for gamma point - //! namely the redistribution of Hamiltonian from grid to 2D block format - //! hence we have an additional layer outside the unified interface - void cal_vlocal(Gint_inout* inout, const bool new_e_iteration); - - //! in gint_gamma_env.cpp - //! calcualte the electronic wave functions via grid integral - void cal_env(const double* wfc, double* rho,const UnitCell &ucell); - - //! transfer this->hRGint to Veff::hR - void transfer_pvpR(hamilt::HContainer* hR,const UnitCell* ucell); - -private: - - //! pointer to density matrix - double*** DM = nullptr; - -}; - -#endif diff --git a/source/source_lcao/module_gint/gint_gamma_env.cpp b/source/source_lcao/module_gint/gint_gamma_env.cpp deleted file mode 100644 index 76ae6e506a..0000000000 --- a/source/source_lcao/module_gint/gint_gamma_env.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include "gint_gamma.h" -#include "grid_technique.h" -#include "source_base/timer.h" -#include "source_base/ylm.h" -#include "source_base/array_pool.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_pw/module_pwdft/global.h" - -void Gint_Gamma::cal_env(const double* wfc, double* rho,const UnitCell& ucell) -{ - ModuleBase::TITLE("Grid_Integral", "cal_env"); - - // it's a uniform grid to save orbital values, so the delta_r is a constant. - const double delta_r = this->gridt->dr_uniform; - const int max_size = this->gridt->max_atom; - if (max_size <= 0){ - ModuleBase::WARNING_QUIT("Gint_Gamma::cal_env", - "the max_size is less than 0!"); - } - const int nbx = this->gridt->nbx; - const int nby = this->gridt->nby; - const int nbz = this->gridt->nbzp; - const int ncyz = this->ny * this->nplane; // mohan add 2012-03-25 - const int bxyz = this->bxyz; - - #pragma omp parallel - { - std::vector block_iw(max_size, 0); - std::vector block_index(max_size+1, 0); - std::vector block_size(max_size, 0); - std::vector vindex(bxyz,0); - #pragma omp for - for (int grid_index = 0; grid_index < this->nbxx; grid_index++) - { - - // get the value: how many atoms has orbital value on this grid. - const int size = this->gridt->how_many_atoms[grid_index]; - if (size == 0) - continue; - - // int *block_iw, *block_index, *block_size; - ModuleBase::Array_Pool cal_flag(bxyz, size); - Gint_Tools::get_block_info(*this->gridt, - this->bxyz, - size, - grid_index, - block_iw.data(), - block_index.data(), - block_size.data(), - cal_flag.get_ptr_2D()); - const int LD_pool = block_index[size]; - - // evaluate psi on grids - ModuleBase::Array_Pool psir_ylm(this->bxyz, LD_pool); - Gint_Tools::cal_psir_ylm(*this->gridt, - this->bxyz, - size, - grid_index, - delta_r, - block_index.data(), - block_size.data(), - cal_flag.get_ptr_2D(), - psir_ylm.get_ptr_2D()); - - Gint_Tools::get_vindex(this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - vindex.data()); - - for (int ia1 = 0; ia1 < size; ia1++) - { - const int mcell_index1 = this->gridt->bcell_start[grid_index] + ia1; - const int iat = this->gridt->which_atom[mcell_index1]; - const int T1 = ucell.iat2it[iat]; - Atom* atom1 = &ucell.atoms[T1]; - const int I1 = ucell.iat2ia[iat]; - // get the start index of local orbitals. - const int start1 = ucell.itiaiw2iwt(T1, I1, 0); - for (int ib = 0; ib < this->bxyz; ib++) - { - if (cal_flag[ib][ia1]) - { - int iw1_lo = this->gridt->trace_lo[start1]; - double* psi1 = &psir_ylm[ib][block_index[ia1]]; - double tmp = 0.0; - for (int iw = 0; iw < atom1->nw; ++iw, ++iw1_lo) - { - tmp += psi1[iw] * wfc[iw1_lo]; - } // iw - rho[vindex[ib]] += tmp; - } // cal_flag - } // ib - } // ia1 - } - } - return; -} diff --git a/source/source_lcao/module_gint/gint_gamma_vl.cpp b/source/source_lcao/module_gint/gint_gamma_vl.cpp deleted file mode 100644 index 161a3e7083..0000000000 --- a/source/source_lcao/module_gint/gint_gamma_vl.cpp +++ /dev/null @@ -1,95 +0,0 @@ -//========================================================= -// REFACTOR : Peize Lin, 2021.06.28 -//========================================================= -#include "gint_gamma.h" -#include "gint_tools.h" -#include "grid_technique.h" -#include "source_base/memory.h" -#include "source_base/timer.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_lcao/module_hcontainer/hcontainer_funcs.h" -#include "source_pw/module_pwdft/global.h" - -#ifdef _OPENMP -#include -#endif - -#ifdef __MKL -#include -#endif - -extern "C" -{ - void Cblacs_gridinfo(int icontxt, int* nprow, int* npcol, int* myprow, int* mypcol); - void Cblacs_pinfo(int* myid, int* nprocs); - void Cblacs_pcoord(int icontxt, int pnum, int* prow, int* pcol); -} - -void Gint_Gamma::cal_vlocal(Gint_inout* inout, bool new_e_iteration) -{ - const int max_size = this->gridt->max_atom; - const int lgd = this->gridt->lgd; - - if (inout->job == Gint_Tools::job_type::vlocal || inout->job == Gint_Tools::job_type::vlocal_meta) - { - if (max_size > 0 && lgd > 0) - { - this->hRGint->set_zero(); - } - - this->cal_gint(inout); - } -} - -#ifdef __MPI -#include "source_lcao/module_hcontainer/hcontainer_funcs.h" -#endif -void Gint_Gamma::transfer_pvpR(hamilt::HContainer* hR, const UnitCell* ucell) -{ - ModuleBase::TITLE("Gint_Gamma", "transfer_pvpR"); - ModuleBase::timer::tick("Gint_Gamma", "transfer_pvpR"); - - for (int iap = 0; iap < this->hRGint->size_atom_pairs(); iap++) - { - auto& ap = this->hRGint->get_atom_pair(iap); - const int iat1 = ap.get_atom_i(); - const int iat2 = ap.get_atom_j(); - if (iat1 > iat2) - { - // fill lower triangle matrix with upper triangle matrix - // gamma_only case, only 1 R_index in each AtomPair - // the upper is - const hamilt::AtomPair* upper_ap = this->hRGint->find_pair(iat2, iat1); -#ifdef __DEBUG - assert(upper_ap != nullptr); -#endif - double* lower_matrix = ap.get_pointer(0); - for (int irow = 0; irow < ap.get_row_size(); ++irow) - { - for (int icol = 0; icol < ap.get_col_size(); ++icol) - { - *lower_matrix++ = upper_ap->get_value(icol, irow); - } - } - } - } - -#ifdef __MPI - int size = 0; - MPI_Comm_size(MPI_COMM_WORLD, &size); - if (size == 1) - { - hR->add(*this->hRGint); - } - else - { - hamilt::transferSerials2Parallels(*this->hRGint, hR); - } -#else - hR->add(*this->hRGint); -#endif - - ModuleBase::timer::tick("Gint_Gamma", "transfer_pvpR"); - - return; -} diff --git a/source/source_lcao/module_gint/gint_gpu_interface.cpp b/source/source_lcao/module_gint/gint_gpu_interface.cpp deleted file mode 100644 index f033722ecf..0000000000 --- a/source/source_lcao/module_gint/gint_gpu_interface.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "gint.h" -#include "gint_force_gpu.h" -#include "source_io/module_parameter/parameter.h" -#include "gint_rho_gpu.h" -#include "gint_vl_gpu.h" -#include "source_base/memory.h" -#include "source_base/timer.h" - -void Gint::gpu_vlocal_interface(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint_vlocal"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_vlocal"); - - const UnitCell& ucell = *this->ucell; - const double dr = this->gridt->dr_uniform; - double ylmcoef[100]; - ModuleBase::GlobalFunc::ZEROS(ylmcoef, 100); - for (int i = 0; i < 100; i++) { - ylmcoef[i] = ModuleBase::Ylm::ylmcoef[i]; - } - - hamilt::HContainer* hRGint_kernel = PARAM.inp.nspin != 4 ? this->hRGint : this->hRGint_tmp[inout->ispin]; - GintKernel::gint_vl_gpu(hRGint_kernel, - inout->vl, - ylmcoef, - dr, - this->gridt->rcuts.data(), - *this->gridt, - ucell); - - ModuleBase::TITLE("Gint_interface", "cal_gint_vlocal"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_vlocal"); -} - -void Gint::gpu_rho_interface(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint_rho"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_rho"); - - const UnitCell& ucell = *this->ucell; - const double dr = this->gridt->dr_uniform; - double ylmcoef[100]; - ModuleBase::GlobalFunc::ZEROS(ylmcoef, 100); - for (int i = 0; i < 100; i++) { - ylmcoef[i] = ModuleBase::Ylm::ylmcoef[i]; - } - int nrxx = this->gridt->ncx * this->gridt->ncy * this->nplane; - for (int is = 0; is < PARAM.inp.nspin; ++is) { - ModuleBase::GlobalFunc::ZEROS(inout->rho[is], nrxx); - GintKernel::gint_rho_gpu(this->DMRGint[is], - ylmcoef, - dr, - this->gridt->rcuts.data(), - *this->gridt, - ucell, - inout->rho[is]); - } - ModuleBase::TITLE("Gint_interface", "cal_gint_rho"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_rho"); -} - -void Gint::gpu_force_interface(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint_force"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_force"); - - const UnitCell& ucell = *this->ucell; - const double dr = this->gridt->dr_uniform; - double ylmcoef[100]; - ModuleBase::GlobalFunc::ZEROS(ylmcoef, 100); - for (int i = 0; i < 100; i++) { - ylmcoef[i] = ModuleBase::Ylm::ylmcoef[i]; - } - - const int ncyz = this->ny * this->nplane; - int nat = ucell.nat; - const int isforce = inout->isforce; - const int isstress = inout->isstress; - if (isforce || isstress) { - std::vector force(nat * 3, 0.0); - std::vector stress(6, 0.0); - GintKernel::gint_fvl_gpu(this->DMRGint[inout->ispin], - inout->vl, - force.data(), - stress.data(), - dr, - this->gridt->rcuts.data(), - isforce, - isstress, - *this->gridt, - ucell); - if (inout->isforce) { - for (int iat = 0; iat < nat; iat++) { - inout->fvl_dphi[0](iat, 0) += force[iat * 3]; - inout->fvl_dphi[0](iat, 1) += force[iat * 3 + 1]; - inout->fvl_dphi[0](iat, 2) += force[iat * 3 + 2]; - } - } - if (inout->isstress) { - inout->svl_dphi[0](0, 0) += stress[0]; - inout->svl_dphi[0](0, 1) += stress[1]; - inout->svl_dphi[0](0, 2) += stress[2]; - inout->svl_dphi[0](1, 1) += stress[3]; - inout->svl_dphi[0](1, 2) += stress[4]; - inout->svl_dphi[0](2, 2) += stress[5]; - } - } - - ModuleBase::TITLE("Gint_interface", "cal_gint_force"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_force"); -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/gint_helper.h b/source/source_lcao/module_gint/gint_helper.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_helper.h rename to source/source_lcao/module_gint/gint_helper.h diff --git a/source/source_lcao/module_gint/temp_gint/gint_info.cpp b/source/source_lcao/module_gint/gint_info.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_info.cpp rename to source/source_lcao/module_gint/gint_info.cpp diff --git a/source/source_lcao/module_gint/temp_gint/gint_info.h b/source/source_lcao/module_gint/gint_info.h similarity index 91% rename from source/source_lcao/module_gint/temp_gint/gint_info.h rename to source/source_lcao/module_gint/gint_info.h index 7cfe476d25..91ea1d913a 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_info.h +++ b/source/source_lcao/module_gint/gint_info.h @@ -15,7 +15,7 @@ #ifdef __CUDA #include "batch_biggrid.h" -#include "source_lcao/module_gint/temp_gint/kernel/gint_gpu_vars.h" +#include "source_lcao/module_gint/kernel/gint_gpu_vars.h" #endif namespace ModuleGint @@ -35,9 +35,12 @@ class GintInfo // getter functions const std::vector>& get_biggrids() { return biggrids_; } + int get_bgrids_num() const { return static_cast(biggrids_.size()); } const std::vector& get_trace_lo() const{ return trace_lo_; } int get_lgd() const { return lgd_; } int get_nat() const { return ucell_->nat; } // return the number of atoms in the unitcell + const UnitCell* get_ucell() const { return ucell_; } + const std::vector& get_ijr_info() const {return ijr_info_;} int get_local_mgrid_num() const { return localcell_info_->get_mgrids_num(); } double get_mgrid_volume() const { return meshgrid_info_->get_volume(); } @@ -101,6 +104,7 @@ class GintInfo #ifdef __CUDA public: std::vector>& get_bgrid_batches() { return bgrid_batches_; }; + int get_bgrid_batches_num() const { return static_cast(bgrid_batches_.size()); }; std::shared_ptr get_gpu_vars() const { return gpu_vars_; }; int get_dev_id() const { return gpu_vars_->dev_id_; }; int get_streams_num() const { return streams_num_; }; diff --git a/source/source_lcao/module_gint/temp_gint/gint_interface.cpp b/source/source_lcao/module_gint/gint_interface.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_interface.cpp rename to source/source_lcao/module_gint/gint_interface.cpp diff --git a/source/source_lcao/module_gint/temp_gint/gint_interface.h b/source/source_lcao/module_gint/gint_interface.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_interface.h rename to source/source_lcao/module_gint/gint_interface.h diff --git a/source/source_lcao/module_gint/gint_k.h b/source/source_lcao/module_gint/gint_k.h deleted file mode 100644 index ec2de50730..0000000000 --- a/source/source_lcao/module_gint/gint_k.h +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_MODULE_GINT_GINT_K_H -#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_MODULE_GINT_GINT_K_H - -#include "gint.h" -#include "grid_technique.h" -#include "source_basis/module_ao/ORB_atomic_lm.h" -#include "source_estate/module_charge/charge.h" -#include "source_lcao/LCAO_HS_arrays.hpp" - -// add by jingan for map<> in 2021-12-2, will be deleted in the future -#include "source_base/abfs-vector3_order.h" - -class Gint_k : public Gint { - public: - /// @brief move operator for the next ESolver to directly use its infomation - /// @param rhs - /// @return *this - Gint_k& operator=(Gint_k&& rhs); - - //------------------------------------------------------ - // in gint_k_pvpr.cpp - //------------------------------------------------------ - // pvpR and reset_spin/get_spin : auxilliary methods - // for calculating hamiltonian - - // allocate the matrix element. - void allocate_pvdpR(); - // destroy the temporary matrix element. - void destroy_pvdpR(); - - /** - * @brief transfer pvpR to this->hRGint - * then pass this->hRGint to Veff::hR - */ - void transfer_pvpR(hamilt::HContainer* hR, const UnitCell* ucell_in, const Grid_Driver* gd); - void transfer_pvpR(hamilt::HContainer>* hR, const UnitCell* ucell_in, const Grid_Driver* gd); - - //------------------------------------------------------ - // in gint_k_env.cpp - //------------------------------------------------------ - // calculate the envelop function via grid integrals - void cal_env_k(int ik, - const std::complex* psi_k, - double* rho, - const std::vector>& kvec_c, - const std::vector>& kvec_d, - const UnitCell& ucell); - - //------------------------------------------------------ - // in gint_k_sparse1.cpp - //------------------------------------------------------ - // similar to the above 3, just for the derivative - void distribute_pvdpR_sparseMatrix( - const int current_spin, - const int dim, - const double& sparse_threshold, - const std::map, - std::map>>& - pvdpR_sparseMatrix, - LCAO_HS_Arrays& HS_Arrays, - const Parallel_Orbitals* pv); - - void distribute_pvdpR_soc_sparseMatrix( - const int dim, - const double& sparse_threshold, - const std::map< - Abfs::Vector3_Order, - std::map>>>& - pvdpR_soc_sparseMatrix, - LCAO_HS_Arrays& HS_Arrays, - const Parallel_Orbitals* pv); - - void cal_dvlocal_R_sparseMatrix(const int& current_spin, - const double& sparse_threshold, - LCAO_HS_Arrays& HS_Arrays, - const Parallel_Orbitals* pv, - const UnitCell& ucell, - const Grid_Driver& gdriver); - - private: - //---------------------------- - // key variable - //---------------------------- -}; - -#endif diff --git a/source/source_lcao/module_gint/gint_k_env.cpp b/source/source_lcao/module_gint/gint_k_env.cpp deleted file mode 100644 index 67ce701461..0000000000 --- a/source/source_lcao/module_gint/gint_k_env.cpp +++ /dev/null @@ -1,138 +0,0 @@ -#include "gint_k.h" -#include "grid_technique.h" -#include "source_io/module_parameter/parameter.h" -#include "source_base/timer.h" -#include "source_base/ylm.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_pw/module_pwdft/global.h" -#include "source_base/array_pool.h" -#include "source_base/vector3.h" - -void Gint_k::cal_env_k(int ik, - const std::complex* psi_k, - double* rho, - const std::vector>& kvec_c, - const std::vector>& kvec_d, - const UnitCell& ucell) -{ - ModuleBase::TITLE("Gint_k", "cal_env_k"); - ModuleBase::timer::tick("Gint_k", "cal_env_k"); - - // it's a uniform grid to save orbital values, so the delta_r is a constant. - const double delta_r = this->gridt->dr_uniform; - const int max_size = this->gridt->max_atom; - if (max_size <= 0){ - ModuleBase::WARNING_QUIT("Gint_Gamma::cal_env", - "the max_size is less than 0!"); - } - const int nbx = this->gridt->nbx; - const int nby = this->gridt->nby; - const int nbz = this->gridt->nbzp; - const int ncyz = this->ny * this->nplane; // mohan add 2012-03-25 - - #pragma omp parallel - { - std::vector vindex(this->bxyz, 0); - std::vector block_iw(max_size, 0); - std::vector block_index(max_size + 1, 0); - std::vector block_size(max_size, 0); - #pragma omp for - for (int grid_index = 0; grid_index < this->nbxx; grid_index++) - { - - // get the value: how many atoms has orbital value on this grid. - const int size = this->gridt->how_many_atoms[grid_index]; - if (size == 0) - { - continue; - } - ModuleBase::Array_Pool cal_flag(this->bxyz, max_size); - Gint_Tools::get_block_info(*this->gridt, - this->bxyz, - size, - grid_index, - block_iw.data(), - block_index.data(), - block_size.data(), - cal_flag.get_ptr_2D()); - const int LD_pool = block_index[size]; - - // evaluate psi on grids - ModuleBase::Array_Pool psir_ylm(this->bxyz, LD_pool); - Gint_Tools::cal_psir_ylm(*this->gridt, - this->bxyz, - size, - grid_index, - delta_r, - block_index.data(), - block_size.data(), - cal_flag.get_ptr_2D(), - psir_ylm.get_ptr_2D()); - - Gint_Tools::get_vindex(this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - vindex.data()); - - for (int ia1 = 0; ia1 < size; ia1++) - { - const int mcell_index1 = this->gridt->bcell_start[grid_index] + ia1; - const int iat = this->gridt->which_atom[mcell_index1]; - const int T1 = ucell.iat2it[iat]; - Atom* atom1 = &ucell.atoms[T1]; - const int I1 = ucell.iat2ia[iat]; - - // find R by which_unitcell and cal kphase - const int id_ucell = this->gridt->which_unitcell[mcell_index1]; - ModuleBase::Vector3 R(this->gridt->get_ucell_coords(id_ucell)); - // std::cout << "kvec_d: " << kvec_d[ik].x << " " << kvec_d[ik].y << " " << kvec_d[ik].z << std::endl; - // std::cout << "kvec_c: " << kvec_c[ik].x << " " << kvec_c[ik].y << " " << kvec_c[ik].z << std::endl; - // std::cout << "R: " << R.x << " " << R.y << " " << R.z << std::endl; - const double arg = (kvec_d[ik] * R) * ModuleBase::TWO_PI; - const double arg1 - = (kvec_c[ik] * (R.x * ucell.a1 + R.y * ucell.a2 + R.z * ucell.a3)) * ModuleBase::TWO_PI; - // std::cout << "arg0=" << arg << ", arg1=" << arg1 << std::endl; - const std::complex kphase = std::complex(cos(arg), sin(arg)); - - // get the start index of local orbitals. - const int start1 = ucell.itiaiw2iwt(T1, I1, 0); - for (int ib = 0; ib < this->bxyz; ib++) - { - if (cal_flag[ib][ia1]) - { - int iw1_lo = 0; - double* psi1 = &psir_ylm[ib][block_index[ia1]]; - std::complex tmp{0.0, 0.0}; - if (PARAM.inp.nspin == 4) // is it a simple add of 2 spins? - { - for (int is = 0; is < 2; ++is) - { - iw1_lo = this->gridt->trace_lo[start1] / PARAM.globalv.npol - + this->gridt->lgd / PARAM.globalv.npol * is; - for (int iw = 0; iw < atom1->nw; ++iw, ++iw1_lo) - { - tmp += std::complex(psi1[iw], 0.0) * psi_k[iw1_lo] * kphase; - } - } - } - else - { - iw1_lo = this->gridt->trace_lo[start1]; - for (int iw = 0; iw < atom1->nw; ++iw, ++iw1_lo) - { - tmp += std::complex(psi1[iw], 0.0) * psi_k[iw1_lo] * kphase; - } - } - rho[vindex[ib]] += tmp.real(); - } // cal_flag - } // ib - } // ia1 - } // i - } - ModuleBase::timer::tick("Gint_k", "cal_env_k"); - return; -} diff --git a/source/source_lcao/module_gint/gint_k_pvdpr.cpp b/source/source_lcao/module_gint/gint_k_pvdpr.cpp deleted file mode 100644 index b03f012a66..0000000000 --- a/source/source_lcao/module_gint/gint_k_pvdpr.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include "gint_k.h" -#include "grid_technique.h" -#include "source_io/module_parameter/parameter.h" -#include "source_base/global_function.h" -#include "source_base/global_variable.h" -#include "source_base/memory.h" -#include "source_base/parallel_reduce.h" -#include "source_base/timer.h" -#include "source_base/tool_threading.h" -#include "source_base/ylm.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_pw/module_pwdft/global.h" - -void Gint_k::allocate_pvdpR(void) -{ - ModuleBase::TITLE("Gint_k","allocate_pvpR"); - - const int nspin = PARAM.inp.nspin; - assert(nspin>0); - - //xiaohui modify 2015-05-30 - // the number of matrix element is this->gridt->nnrg. - for(int is =0;ispvdpRx_reduced.push_back(hamilt::HContainer(this->ucell->nat)); - pvdpRx_reduced[is].insert_ijrs(this->gridt->get_ijr_info(), *this->ucell); - pvdpRx_reduced[is].allocate(nullptr, true); - this->pvdpRy_reduced.push_back(hamilt::HContainer(this->ucell->nat)); - pvdpRy_reduced[is].insert_ijrs(this->gridt->get_ijr_info(), *this->ucell); - pvdpRy_reduced[is].allocate(nullptr, true); - this->pvdpRz_reduced.push_back(hamilt::HContainer(this->ucell->nat)); - pvdpRz_reduced[is].insert_ijrs(this->gridt->get_ijr_info(), *this->ucell); - pvdpRz_reduced[is].allocate(nullptr, true); - } - - ModuleBase::Memory::record("pvdpR_reduced", 3 * sizeof(double) * this->gridt->nnrg * nspin); - return; -} - -void Gint_k::destroy_pvdpR(void) -{ - ModuleBase::TITLE("Gint_k","destroy_pvpR"); - - const int nspin = PARAM.inp.nspin; - assert(nspin>0); - pvdpRx_reduced.clear(); - pvdpRy_reduced.clear(); - pvdpRz_reduced.clear(); - pvdpRx_reduced.shrink_to_fit(); - pvdpRy_reduced.shrink_to_fit(); - pvdpRz_reduced.shrink_to_fit(); - return; -} diff --git a/source/source_lcao/module_gint/gint_k_pvpr.cpp b/source/source_lcao/module_gint/gint_k_pvpr.cpp deleted file mode 100644 index e59ed4443d..0000000000 --- a/source/source_lcao/module_gint/gint_k_pvpr.cpp +++ /dev/null @@ -1,163 +0,0 @@ -#include "gint_k.h" -#include "grid_technique.h" -#include "source_io/module_parameter/parameter.h" -#include "source_base/global_function.h" -#include "source_base/global_variable.h" -#include "source_base/libm/libm.h" -#include "source_base/memory.h" -#include "source_base/parallel_reduce.h" -#include "source_base/timer.h" -#include "source_base/tool_threading.h" -#include "source_base/ylm.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_cell/module_neighbor/sltk_grid_driver.h" -#include "source_pw/module_pwdft/global.h" -#include "source_lcao/module_hcontainer/hcontainer_funcs.h" -#ifdef __MPI -#include -#endif - -// transfer_pvpR, NSPIN = 1 or 2 -void Gint_k::transfer_pvpR(hamilt::HContainer* hR, const UnitCell* ucell, const Grid_Driver* gd) -{ - ModuleBase::TITLE("Gint_k", "transfer_pvpR"); - ModuleBase::timer::tick("Gint_k", "transfer_pvpR"); - - for (int iap = 0; iap < this->hRGint->size_atom_pairs(); iap++) - { - auto& ap = this->hRGint->get_atom_pair(iap); - const int iat1 = ap.get_atom_i(); - const int iat2 = ap.get_atom_j(); - if (iat1 > iat2) - { - // fill lower triangle matrix with upper triangle matrix - // the upper is - const hamilt::AtomPair* upper_ap = this->hRGint->find_pair(iat2, iat1); - const hamilt::AtomPair* lower_ap = this->hRGint->find_pair(iat1, iat2); -#ifdef __DEBUG - assert(upper_ap != nullptr); -#endif - for (int ir = 0; ir < ap.get_R_size(); ir++) - { - auto R_index = ap.get_R_index(ir); - auto upper_mat = upper_ap->find_matrix(-R_index); - auto lower_mat = lower_ap->find_matrix(R_index); - for (int irow = 0; irow < upper_mat->get_row_size(); ++irow) - { - for (int icol = 0; icol < upper_mat->get_col_size(); ++icol) - { - lower_mat->get_value(icol, irow) = upper_ap->get_value(irow, icol); - } - } - } - } - } -#ifdef __MPI - int size = 0; - MPI_Comm_size(MPI_COMM_WORLD, &size); - if (size == 1) - { - hR->add(*this->hRGint); - } - else - { - hamilt::transferSerials2Parallels(*this->hRGint, hR); - } -#else - hR->add(*this->hRGint); -#endif - ModuleBase::timer::tick("Gint_k", "transfer_pvpR"); - return; -} - -// transfer_pvpR, NSPIN = 4 -void Gint_k::transfer_pvpR(hamilt::HContainer>* hR, - const UnitCell* ucell_in, - const Grid_Driver* gd) -{ - ModuleBase::TITLE("Gint_k", "transfer_pvpR"); - ModuleBase::timer::tick("Gint_k", "transfer_pvpR"); - - this->hRGintCd->set_zero(); - - for (int iap = 0; iap < this->hRGintCd->size_atom_pairs(); iap++) - { - auto* ap = &this->hRGintCd->get_atom_pair(iap); - const int iat1 = ap->get_atom_i(); - const int iat2 = ap->get_atom_j(); - if (iat1 <= iat2) - { - hamilt::AtomPair>* upper_ap = ap; - hamilt::AtomPair>* lower_ap = this->hRGintCd->find_pair(iat2, iat1); - const hamilt::AtomPair* ap_nspin_0 = this->hRGint_tmp[0]->find_pair(iat1, iat2); - const hamilt::AtomPair* ap_nspin_3 = this->hRGint_tmp[3]->find_pair(iat1, iat2); - for (int ir = 0; ir < upper_ap->get_R_size(); ir++) - { - const auto R_index = upper_ap->get_R_index(ir); - auto upper_mat = upper_ap->find_matrix(R_index); - auto mat_nspin_0 = ap_nspin_0->find_matrix(R_index); - auto mat_nspin_3 = ap_nspin_3->find_matrix(R_index); - - // The row size and the col size of upper_matrix is double that of matrix_nspin_0 - for (int irow = 0; irow < mat_nspin_0->get_row_size(); ++irow) - { - for (int icol = 0; icol < mat_nspin_0->get_col_size(); ++icol) - { - upper_mat->get_value(2*irow, 2*icol) = mat_nspin_0->get_value(irow, icol) + mat_nspin_3->get_value(irow, icol); - upper_mat->get_value(2*irow+1, 2*icol+1) = mat_nspin_0->get_value(irow, icol) - mat_nspin_3->get_value(irow, icol); - } - } - - if (PARAM.globalv.domag) - { - const hamilt::AtomPair* ap_nspin_1 = this->hRGint_tmp[1]->find_pair(iat1, iat2); - const hamilt::AtomPair* ap_nspin_2 = this->hRGint_tmp[2]->find_pair(iat1, iat2); - const auto mat_nspin_1 = ap_nspin_1->find_matrix(R_index); - const auto mat_nspin_2 = ap_nspin_2->find_matrix(R_index); - for (int irow = 0; irow < mat_nspin_1->get_row_size(); ++irow) - { - for (int icol = 0; icol < mat_nspin_1->get_col_size(); ++icol) - { - upper_mat->get_value(2*irow, 2*icol+1) = mat_nspin_1->get_value(irow, icol) + std::complex(0.0, 1.0) * mat_nspin_2->get_value(irow, icol); - upper_mat->get_value(2*irow+1, 2*icol) = mat_nspin_1->get_value(irow, icol) - std::complex(0.0, 1.0) * mat_nspin_2->get_value(irow, icol); - } - } - } - - // fill the lower triangle matrix - if (iat1 < iat2) - { - auto lower_mat = lower_ap->find_matrix(-R_index); - for (int irow = 0; irow < upper_mat->get_row_size(); ++irow) - { - for (int icol = 0; icol < upper_mat->get_col_size(); ++icol) - { - lower_mat->get_value(icol, irow) = conj(upper_mat->get_value(irow, icol)); - } - } - } - } - } - } - - // =================================== - // transfer HR from Gint to Veff, std::complex>> - // =================================== -#ifdef __MPI - int size; - MPI_Comm_size(MPI_COMM_WORLD, &size); - if (size == 1) - { - hR->add(*this->hRGintCd); - } - else - { - hamilt::transferSerials2Parallels>(*this->hRGintCd, hR); - } -#else - hR->add(*this->hRGintCd); -#endif - - ModuleBase::timer::tick("Gint_k", "transfer_pvpR"); - return; -} diff --git a/source/source_lcao/module_gint/gint_k_sparse1.cpp b/source/source_lcao/module_gint/gint_k_sparse1.cpp deleted file mode 100644 index ab0d8b60ef..0000000000 --- a/source/source_lcao/module_gint/gint_k_sparse1.cpp +++ /dev/null @@ -1,554 +0,0 @@ -#include "gint_k.h" -#include "grid_technique.h" -#include "source_io/module_parameter/parameter.h" -#include "source_base/global_function.h" -#include "source_base/global_variable.h" -#include "source_base/memory.h" -#include "source_base/parallel_reduce.h" -#include "source_base/timer.h" -#include "source_base/ylm.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_cell/module_neighbor/sltk_grid_driver.h" -#include "source_pw/module_pwdft/global.h" - -void Gint_k::distribute_pvdpR_sparseMatrix( - const int current_spin, - const int dim, - const double& sparse_threshold, - const std::map, std::map>>& pvdpR_sparseMatrix, - LCAO_HS_Arrays& HS_Arrays, - const Parallel_Orbitals* pv) -{ - ModuleBase::TITLE("Gint_k", "distribute_pvdpR_sparseMatrix"); - - int total_R_num = HS_Arrays.all_R_coor.size(); - int* nonzero_num = new int[total_R_num]; - int* minus_nonzero_num = new int[total_R_num]; - ModuleBase::GlobalFunc::ZEROS(nonzero_num, total_R_num); - ModuleBase::GlobalFunc::ZEROS(minus_nonzero_num, total_R_num); - int count = 0; - for (auto& R_coor: HS_Arrays.all_R_coor) - { - auto iter = pvdpR_sparseMatrix.find(R_coor); - if (iter != pvdpR_sparseMatrix.end()) - { - for (auto& row_loop: iter->second) - { - nonzero_num[count] += row_loop.second.size(); - } - } - - auto minus_R_coor = -1 * R_coor; - - iter = pvdpR_sparseMatrix.find(minus_R_coor); - if (iter != pvdpR_sparseMatrix.end()) - { - for (auto& row_loop: iter->second) - { - minus_nonzero_num[count] += row_loop.second.size(); - } - } - - count++; - } - - Parallel_Reduce::reduce_all(nonzero_num, total_R_num); - Parallel_Reduce::reduce_all(minus_nonzero_num, total_R_num); - // Parallel_Reduce::reduce_pool(nonzero_num, total_R_num); - // Parallel_Reduce::reduce_pool(minus_nonzero_num, total_R_num); - - double* tmp = nullptr; - tmp = new double[PARAM.globalv.nlocal]; - - count = 0; - for (auto& R_coor: HS_Arrays.all_R_coor) - { - if (nonzero_num[count] != 0 || minus_nonzero_num[count] != 0) - { - auto minus_R_coor = -1 * R_coor; - - for (int row = 0; row < PARAM.globalv.nlocal; ++row) - { - ModuleBase::GlobalFunc::ZEROS(tmp, PARAM.globalv.nlocal); - - auto iter = pvdpR_sparseMatrix.find(R_coor); - if (iter != pvdpR_sparseMatrix.end()) - { - - if (this->gridt->trace_lo[row] >= 0) - { - auto row_iter = iter->second.find(row); - if (row_iter != iter->second.end()) - { - for (auto& value: row_iter->second) - { - tmp[value.first] = value.second; - } - } - } - } - - auto minus_R_iter = pvdpR_sparseMatrix.find(minus_R_coor); - if (minus_R_iter != pvdpR_sparseMatrix.end()) - { - for (int col = 0; col < row; ++col) - { - if (this->gridt->trace_lo[col] >= 0) - { - auto row_iter = minus_R_iter->second.find(col); - if (row_iter != minus_R_iter->second.end()) - { - auto col_iter = row_iter->second.find(row); - if (col_iter != row_iter->second.end()) - { - tmp[col] = col_iter->second; - } - } - } - } - } - - Parallel_Reduce::reduce_pool(tmp, PARAM.globalv.nlocal); - - if (pv->global2local_row(row) >= 0) - { - for (int col = 0; col < PARAM.globalv.nlocal; ++col) - { - if (pv->global2local_col(col) >= 0) - { - if (std::abs(tmp[col]) > sparse_threshold) - { - if (dim == 0) - { - double& value = HS_Arrays.dHRx_sparse[current_spin][R_coor][row][col]; - value += tmp[col]; - if (std::abs(value) <= sparse_threshold) - { - HS_Arrays.dHRx_sparse[current_spin][R_coor][row].erase(col); - } - } - if (dim == 1) - { - double& value = HS_Arrays.dHRy_sparse[current_spin][R_coor][row][col]; - value += tmp[col]; - if (std::abs(value) <= sparse_threshold) - { - HS_Arrays.dHRy_sparse[current_spin][R_coor][row].erase(col); - } - } - if (dim == 2) - { - double& value = HS_Arrays.dHRz_sparse[current_spin][R_coor][row][col]; - value += tmp[col]; - if (std::abs(value) <= sparse_threshold) - { - HS_Arrays.dHRz_sparse[current_spin][R_coor][row].erase(col); - } - } - } - } - } - } - } - } - - count++; - } - - delete[] nonzero_num; - delete[] minus_nonzero_num; - delete[] tmp; - nonzero_num = nullptr; - minus_nonzero_num = nullptr; - tmp = nullptr; - - return; -} - -void Gint_k::distribute_pvdpR_soc_sparseMatrix( - const int dim, - const double& sparse_threshold, - const std::map, std::map>>>& - pvdpR_soc_sparseMatrix, - LCAO_HS_Arrays& HS_Arrays, - const Parallel_Orbitals* pv) -{ - ModuleBase::TITLE("Gint_k", "distribute_pvdpR_soc_sparseMatrix"); - - int total_R_num = HS_Arrays.all_R_coor.size(); - int* nonzero_num = new int[total_R_num]; - int* minus_nonzero_num = new int[total_R_num]; - ModuleBase::GlobalFunc::ZEROS(nonzero_num, total_R_num); - ModuleBase::GlobalFunc::ZEROS(minus_nonzero_num, total_R_num); - int count = 0; - for (auto& R_coor: HS_Arrays.all_R_coor) - { - auto iter = pvdpR_soc_sparseMatrix.find(R_coor); - if (iter != pvdpR_soc_sparseMatrix.end()) - { - for (auto& row_loop: iter->second) - { - nonzero_num[count] += row_loop.second.size(); - } - } - - auto minus_R_coor = -1 * R_coor; - - iter = pvdpR_soc_sparseMatrix.find(minus_R_coor); - if (iter != pvdpR_soc_sparseMatrix.end()) - { - for (auto& row_loop: iter->second) - { - minus_nonzero_num[count] += row_loop.second.size(); - } - } - - count++; - } - - Parallel_Reduce::reduce_all(nonzero_num, total_R_num); - Parallel_Reduce::reduce_all(minus_nonzero_num, total_R_num); - // Parallel_Reduce::reduce_pool(nonzero_num, total_R_num); - // Parallel_Reduce::reduce_pool(minus_nonzero_num, total_R_num); - - std::complex* tmp_soc = nullptr; - tmp_soc = new std::complex[PARAM.globalv.nlocal]; - - count = 0; - for (auto& R_coor: HS_Arrays.all_R_coor) - { - if (nonzero_num[count] != 0 || minus_nonzero_num[count] != 0) - { - auto minus_R_coor = -1 * R_coor; - - for (int row = 0; row < PARAM.globalv.nlocal; ++row) - { - ModuleBase::GlobalFunc::ZEROS(tmp_soc, PARAM.globalv.nlocal); - - auto iter = pvdpR_soc_sparseMatrix.find(R_coor); - if (iter != pvdpR_soc_sparseMatrix.end()) - { - if (this->gridt->trace_lo[row] >= 0) - { - auto row_iter = iter->second.find(row); - if (row_iter != iter->second.end()) - { - for (auto& value: row_iter->second) - { - tmp_soc[value.first] = value.second; - } - } - } - } - - auto minus_R_iter = pvdpR_soc_sparseMatrix.find(minus_R_coor); - if (minus_R_iter != pvdpR_soc_sparseMatrix.end()) - { - for (int col = 0; col < row; ++col) - { - if (this->gridt->trace_lo[col] >= 0) - { - auto row_iter = minus_R_iter->second.find(col); - if (row_iter != minus_R_iter->second.end()) - { - auto col_iter = row_iter->second.find(row); - if (col_iter != row_iter->second.end()) - { - tmp_soc[col] = conj(col_iter->second); - } - } - } - } - } - - Parallel_Reduce::reduce_pool(tmp_soc, PARAM.globalv.nlocal); - - if (pv->global2local_row(row) >= 0) - { - for (int col = 0; col < PARAM.globalv.nlocal; ++col) - { - if (pv->global2local_col(col) >= 0) - { - if (std::abs(tmp_soc[col]) > sparse_threshold) - { - if (dim == 0) - { - std::complex& value = HS_Arrays.dHRx_soc_sparse[R_coor][row][col]; - value += tmp_soc[col]; - if (std::abs(value) <= sparse_threshold) - { - HS_Arrays.dHRx_soc_sparse[R_coor][row].erase(col); - } - } - if (dim == 1) - { - std::complex& value = HS_Arrays.dHRy_soc_sparse[R_coor][row][col]; - value += tmp_soc[col]; - if (std::abs(value) <= sparse_threshold) - { - HS_Arrays.dHRy_soc_sparse[R_coor][row].erase(col); - } - } - if (dim == 2) - { - std::complex& value = HS_Arrays.dHRz_soc_sparse[R_coor][row][col]; - value += tmp_soc[col]; - if (std::abs(value) <= sparse_threshold) - { - HS_Arrays.dHRz_soc_sparse[R_coor][row].erase(col); - } - } - } - } - } - } - } - } - - count++; - } - - delete[] nonzero_num; - delete[] minus_nonzero_num; - delete[] tmp_soc; - nonzero_num = nullptr; - minus_nonzero_num = nullptr; - tmp_soc = nullptr; - - return; -} - -void Gint_k::cal_dvlocal_R_sparseMatrix(const int& current_spin, - const double& sparse_threshold, - LCAO_HS_Arrays& HS_Arrays, - const Parallel_Orbitals* pv, - const UnitCell& ucell, - const Grid_Driver& gdriver) -{ - ModuleBase::TITLE("Gint_k", "cal_dvlocal_R_sparseMatrix"); - - std::map, std::map>> pvdpRx_sparseMatrix; - std::map, std::map>> pvdpRy_sparseMatrix; - std::map, std::map>> pvdpRz_sparseMatrix; - std::map, std::map>>> - pvdpRx_soc_sparseMatrix; - std::map, std::map>>> - pvdpRy_soc_sparseMatrix; - std::map, std::map>>> - pvdpRz_soc_sparseMatrix; - - double temp_value_double; - std::complex temp_value_complex; - - ModuleBase::Vector3 tau1, dtau; - for (int iap = 0; iap < pvdpRx_reduced[0].size_atom_pairs(); iap++) - { - const auto& ap = pvdpRx_reduced[0].get_atom_pair(iap); - const int iat1 = ap.get_atom_i(); - const int iat2 = ap.get_atom_j(); - const int it1 = ucell.iat2it[iat1]; - const int it2 = ucell.iat2it[iat2]; - const Atom* atom1 = &ucell.atoms[it1]; - const Atom* atom2 = &ucell.atoms[it2]; - const int start1 = ucell.itiaiw2iwt(it1, ucell.iat2ia[iat1], 0); - const int start2 = ucell.itiaiw2iwt(it2, ucell.iat2ia[iat2], 0); - - for (int ir = 0; ir < ap.get_R_size(); ir++) - { - const ModuleBase::Vector3 R = ap.get_R_index(ir); - Abfs::Vector3_Order dR(R.x, R.y, R.z); - std::vector pvdpRx; - std::vector pvdpRy; - std::vector pvdpRz; - for(int i = 0; i < PARAM.inp.nspin; i++) - { - pvdpRx.push_back(pvdpRx_reduced[i].get_atom_pair(iap).get_pointer(ir)); - pvdpRy.push_back(pvdpRy_reduced[i].get_atom_pair(iap).get_pointer(ir)); - pvdpRz.push_back(pvdpRz_reduced[i].get_atom_pair(iap).get_pointer(ir)); - } - - for (int iw = 0; iw < atom1->nw * PARAM.globalv.npol; iw++) - { - for (int iw2 = 0; iw2 < atom2->nw * PARAM.globalv.npol; iw2++) - { - const int nw = atom2->nw; - const int mug0 = iw / PARAM.globalv.npol; - const int nug0 = iw2 / PARAM.globalv.npol; - const int iw_nowg = mug0 * nw + nug0; - - if (PARAM.inp.nspin == 4) - { - // pvp is symmetric, only half is calculated. - - if (iw % 2 == 0 && iw2 % 2 == 0) - { - // spin = 0; - temp_value_complex - = std::complex(1.0, 0.0) * pvdpRx[0][iw_nowg] - + std::complex(1.0, 0.0) * pvdpRx[3][iw_nowg]; - - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRx_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - - temp_value_complex - = std::complex(1.0, 0.0) * pvdpRy[0][iw_nowg] - + std::complex(1.0, 0.0) * pvdpRy[3][iw_nowg]; - - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRy_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - temp_value_complex - = std::complex(1.0, 0.0) * pvdpRz[0][iw_nowg] - + std::complex(1.0, 0.0) * pvdpRz[3][iw_nowg]; - - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRz_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - } - else if (iw % 2 == 1 && iw2 % 2 == 1) - { - // spin = 3; - temp_value_complex - = std::complex(1.0, 0.0) * pvdpRx[0][iw_nowg] - - std::complex(1.0, 0.0) * pvdpRx[3][iw_nowg]; - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRx_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - temp_value_complex - = std::complex(1.0, 0.0) * pvdpRy[0][iw_nowg] - - std::complex(1.0, 0.0) * pvdpRy[3][iw_nowg]; - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRy_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - temp_value_complex - = std::complex(1.0, 0.0) * pvdpRz[0][iw_nowg] - - std::complex(1.0, 0.0) * pvdpRz[3][iw_nowg]; - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRz_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - } - else if (iw % 2 == 0 && iw2 % 2 == 1) - { - // spin = 1; - if (!PARAM.globalv.domag) - { - // do nothing - } - else - { - temp_value_complex - = pvdpRx[1][iw_nowg] - - std::complex(0.0, 1.0) * pvdpRx[2][iw_nowg]; - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRx_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - temp_value_complex - = pvdpRy[1][iw_nowg] - - std::complex(0.0, 1.0) * pvdpRy[2][iw_nowg]; - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRy_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - temp_value_complex - = pvdpRz[1][iw_nowg] - - std::complex(0.0, 1.0) * pvdpRz[2][iw_nowg]; - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRz_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - } - } - else if (iw % 2 == 1 && iw2 % 2 == 0) - { - // spin = 2; - if (!PARAM.globalv.domag) - { - // do nothing - } - else - { - temp_value_complex - = pvdpRx[1][iw_nowg] - + std::complex(0.0, 1.0) * pvdpRx[2][iw_nowg]; - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRx_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - temp_value_complex - = pvdpRy[1][iw_nowg] - + std::complex(0.0, 1.0) * pvdpRy[2][iw_nowg]; - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRy_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - temp_value_complex - = pvdpRz[1][iw_nowg] - + std::complex(0.0, 1.0) * pvdpRz[2][iw_nowg]; - if (std::abs(temp_value_complex) > sparse_threshold) - { - pvdpRz_soc_sparseMatrix[dR][start1 + iw][start2 + iw2] - = temp_value_complex; - } - } - } - else - { - ModuleBase::WARNING_QUIT("Gint_k::folding_vl_k_nc", "index is wrong!"); - } - } // endif NC - else - { - temp_value_double = pvdpRx[current_spin][iw_nowg]; - if (std::abs(temp_value_double) > sparse_threshold) - { - pvdpRx_sparseMatrix[dR][start1 + iw][start2 + iw2] = temp_value_double; - } - temp_value_double = pvdpRy[current_spin][iw_nowg]; - if (std::abs(temp_value_double) > sparse_threshold) - { - pvdpRy_sparseMatrix[dR][start1 + iw][start2 + iw2] = temp_value_double; - } - temp_value_double = pvdpRz[current_spin][iw_nowg]; - if (std::abs(temp_value_double) > sparse_threshold) - { - pvdpRz_sparseMatrix[dR][start1 + iw][start2 + iw2] = temp_value_double; - } - } // endif normal - } - } - } - } - if (PARAM.inp.nspin != 4) - { - distribute_pvdpR_sparseMatrix(current_spin, 0, sparse_threshold, pvdpRx_sparseMatrix, HS_Arrays, pv); - distribute_pvdpR_sparseMatrix(current_spin, 1, sparse_threshold, pvdpRy_sparseMatrix, HS_Arrays, pv); - distribute_pvdpR_sparseMatrix(current_spin, 2, sparse_threshold, pvdpRz_sparseMatrix, HS_Arrays, pv); - } - else - { - distribute_pvdpR_soc_sparseMatrix(0, sparse_threshold, pvdpRx_soc_sparseMatrix, HS_Arrays, pv); - distribute_pvdpR_soc_sparseMatrix(1, sparse_threshold, pvdpRy_soc_sparseMatrix, HS_Arrays, pv); - distribute_pvdpR_soc_sparseMatrix(2, sparse_threshold, pvdpRz_soc_sparseMatrix, HS_Arrays, pv); - } - - return; -} diff --git a/source/source_lcao/module_gint/gint_old.cpp b/source/source_lcao/module_gint/gint_old.cpp deleted file mode 100644 index caaf2f92c7..0000000000 --- a/source/source_lcao/module_gint/gint_old.cpp +++ /dev/null @@ -1,298 +0,0 @@ -#include "gint.h" - -#include "source_io/module_parameter/parameter.h" -#if ((defined __CUDA)) -#include "gint_force_gpu.h" -#include "gint_rho_gpu.h" -#include "gint_vl_gpu.h" -#endif - -#include "source_base/memory.h" -#include "source_base/timer.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_lcao/module_hcontainer/hcontainer_funcs.h" -#include "source_pw/module_pwdft/global.h" -#ifdef _OPENMP -#include -#endif - -#ifdef __MKL -#include -#endif - -Gint::~Gint() { - - delete this->hRGint; - delete this->hRGintCd; - // in gamma_only case, DMRGint.size()=0, - // in multi-k case, DMRGint.size()=nspin - for (int is = 0; is < this->DMRGint.size(); is++) { - delete this->DMRGint[is]; - } - for(int is = 0; is < this->hRGint_tmp.size(); is++) { - delete this->hRGint_tmp[is]; - } -#ifdef __MPI - delete this->DMRGint_full; -#endif -} - -void Gint::cal_gint(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint"); - ModuleBase::timer::tick("Gint_interface", "cal_gint"); - // In multi-process environments, - // some processes may not be allocated any data. - if (this->gridt->get_init_malloced() == false) { - ModuleBase::WARNING_QUIT("Gint_interface::cal_gint", - "gridt has not been allocated yet!"); - } - if (this->gridt->max_atom > 0) { -#ifdef __CUDA - if (PARAM.inp.device == "gpu" - && (inout->job == Gint_Tools::job_type::vlocal - || inout->job == Gint_Tools::job_type::rho - || inout->job == Gint_Tools::job_type::force)) { - if (inout->job == Gint_Tools::job_type::vlocal) { - gpu_vlocal_interface(inout); - } else if (inout->job == Gint_Tools::job_type::rho) { - gpu_rho_interface(inout); - } else if (inout->job == Gint_Tools::job_type::force) { - gpu_force_interface(inout); - } - } else -#endif - { -#ifdef __MKL - const int mkl_threads = mkl_get_max_threads(); - mkl_set_num_threads(mkl_threads); -#endif - { - if (inout->job == Gint_Tools::job_type::vlocal) { - gint_kernel_vlocal(inout); - } else if (inout->job == Gint_Tools::job_type::dvlocal) { - gint_kernel_dvlocal(inout); - } else if (inout->job == Gint_Tools::job_type::vlocal_meta) { - gint_kernel_vlocal_meta(inout); - } else if (inout->job == Gint_Tools::job_type::rho) { - gint_kernel_rho(inout); - } else if (inout->job == Gint_Tools::job_type::tau) { - gint_kernel_tau(inout); - } else if (inout->job == Gint_Tools::job_type::force) { - gint_kernel_force(inout); - } else if (inout->job == Gint_Tools::job_type::force_meta) { - gint_kernel_force_meta(inout); - } - } - } - } - ModuleBase::timer::tick("Gint_interface", "cal_gint"); - return; -} -void Gint::prep_grid(const Grid_Technique& gt, - const int& nbx_in, - const int& nby_in, - const int& nbz_in, - const int& nbz_start_in, - const int& ncxyz_in, - const int& bx_in, - const int& by_in, - const int& bz_in, - const int& bxyz_in, - const int& nbxx_in, - const int& ny_in, - const int& nplane_in, - const int& startz_current_in, - const UnitCell* ucell_in, - const LCAO_Orbitals* orb_in) { - ModuleBase::TITLE(GlobalV::ofs_running, "Gint_k", "prep_grid"); - - this->gridt = > - this->nbx = nbx_in; - this->nby = nby_in; - this->nbz = nbz_in; - this->ncxyz = ncxyz_in; - this->nbz_start = nbz_start_in; - this->bx = bx_in; - this->by = by_in; - this->bz = bz_in; - this->bxyz = bxyz_in; - this->nbxx = nbxx_in; - this->ny = ny_in; - this->nplane = nplane_in; - this->startz_current = startz_current_in; - this->ucell = ucell_in; - assert(nbx > 0); - assert(nby > 0); - assert(nbz >= 0); - assert(ncxyz > 0); - assert(bx > 0); - assert(by > 0); - assert(bz > 0); - assert(bxyz > 0); - assert(nbxx >= 0); - assert(ny > 0); - assert(nplane >= 0); - assert(startz_current >= 0); - assert(this->ucell->omega > 0.0); - - return; -} - -void Gint::initialize_pvpR(const UnitCell& ucell_in, const Grid_Driver* gd, const int& nspin) -{ - ModuleBase::TITLE("Gint", "initialize_pvpR"); - - int npol = 1; - // there is the only resize code of DMRGint - if (this->DMRGint.size() == 0) { - this->DMRGint.resize(nspin); - } - hRGint_tmp.resize(nspin); - if (nspin != 4) { - if (this->hRGint != nullptr) { - delete this->hRGint; - } - this->hRGint = new hamilt::HContainer(ucell_in.nat); - } else { - npol = 2; - if (this->hRGintCd != nullptr) { - delete this->hRGintCd; - } - this->hRGintCd - = new hamilt::HContainer>(ucell_in.nat); - for (int is = 0; is < nspin; is++) { - if (this->DMRGint[is] != nullptr) { - delete this->DMRGint[is]; - } - if (this->hRGint_tmp[is] != nullptr) { - delete this->hRGint_tmp[is]; - } - this->DMRGint[is] = new hamilt::HContainer(ucell_in.nat); - this->hRGint_tmp[is] = new hamilt::HContainer(ucell_in.nat); - } -#ifdef __MPI - if (this->DMRGint_full != nullptr) { - delete this->DMRGint_full; - } - this->DMRGint_full = new hamilt::HContainer(ucell_in.nat); -#endif - } - - if (PARAM.globalv.gamma_only_local && nspin != 4) { - this->hRGint->fix_gamma(); - } - if (npol == 1) { - this->hRGint->insert_ijrs(this->gridt->get_ijr_info(), ucell_in); - this->hRGint->allocate(nullptr, true); - ModuleBase::Memory::record("Gint::hRGint", - this->hRGint->get_memory_size()); - // initialize DMRGint with hRGint when NSPIN != 4 - for (int is = 0; is < this->DMRGint.size(); is++) { - if (this->DMRGint[is] != nullptr) { - delete this->DMRGint[is]; - } - this->DMRGint[is] = new hamilt::HContainer(*this->hRGint); - } - ModuleBase::Memory::record("Gint::DMRGint", - this->DMRGint[0]->get_memory_size() - * this->DMRGint.size()); - } else { - this->hRGintCd->insert_ijrs(this->gridt->get_ijr_info(), ucell_in, npol); - this->hRGintCd->allocate(nullptr, true); - for(int is = 0; is < nspin; is++) { - this->hRGint_tmp[is]->insert_ijrs(this->gridt->get_ijr_info(), ucell_in); - this->DMRGint[is]->insert_ijrs(this->gridt->get_ijr_info(), ucell_in); - this->hRGint_tmp[is]->allocate(nullptr, true); - this->DMRGint[is]->allocate(nullptr, true); - } - ModuleBase::Memory::record("Gint::hRGint_tmp", - this->hRGint_tmp[0]->get_memory_size()*nspin); - ModuleBase::Memory::record("Gint::DMRGint", - this->DMRGint[0]->get_memory_size() - * this->DMRGint.size()*nspin); -#ifdef __MPI - this->DMRGint_full->insert_ijrs(this->gridt->get_ijr_info(), ucell_in, npol); - this->DMRGint_full->allocate(nullptr, true); - ModuleBase::Memory::record("Gint::DMRGint_full", - this->DMRGint_full->get_memory_size()); -#endif - } -} - -void Gint::reset_DMRGint(const int& nspin) -{ - if (this->hRGint) - { - for (auto& d : this->DMRGint) { delete d; } - this->DMRGint.resize(nspin); - this->DMRGint.shrink_to_fit(); - for (auto& d : this->DMRGint) { d = new hamilt::HContainer(*this->hRGint); } - if (nspin == 4) - { - for (auto& d : this->DMRGint) { d->allocate(nullptr, false); } -#ifdef __MPI - delete this->DMRGint_full; - this->DMRGint_full = new hamilt::HContainer(*this->hRGint); - this->DMRGint_full->allocate(nullptr, false); -#endif - } - } -} - -void Gint::transfer_DM2DtoGrid(std::vector*> DM2D) { - ModuleBase::TITLE("Gint", "transfer_DMR"); - - // To check whether input parameter DM2D has been initialized -#ifdef __DEBUG - assert(!DM2D.empty() - && "Input parameter DM2D has not been initialized while calling " - "function transfer_DM2DtoGrid!"); -#endif - - ModuleBase::timer::tick("Gint", "transfer_DMR"); - if (PARAM.inp.nspin != 4) { - for (int is = 0; is < this->DMRGint.size(); is++) { -#ifdef __MPI - hamilt::transferParallels2Serials(*DM2D[is], DMRGint[is]); -#else - this->DMRGint[is]->set_zero(); - this->DMRGint[is]->add(*DM2D[is]); -#endif - } - } else // NSPIN=4 case - { -#ifdef __MPI - hamilt::transferParallels2Serials(*DM2D[0], this->DMRGint_full); -#else - this->DMRGint_full = DM2D[0]; -#endif - std::vector tmp_pointer(4, nullptr); - for (int iap = 0; iap < this->DMRGint_full->size_atom_pairs(); ++iap) { - auto& ap = this->DMRGint_full->get_atom_pair(iap); - int iat1 = ap.get_atom_i(); - int iat2 = ap.get_atom_j(); - for (int ir = 0; ir < ap.get_R_size(); ++ir) { - const ModuleBase::Vector3 r_index = ap.get_R_index(ir); - for (int is = 0; is < 4; is++) { - tmp_pointer[is] = this->DMRGint[is] - ->find_matrix(iat1, iat2, r_index) - ->get_pointer(); - } - double* data_full = ap.get_pointer(ir); - for (int irow = 0; irow < ap.get_row_size(); irow += 2) { - for (int icol = 0; icol < ap.get_col_size(); icol += 2) { - *(tmp_pointer[0])++ = data_full[icol]; - *(tmp_pointer[1])++ = data_full[icol + 1]; - } - data_full += ap.get_col_size(); - for (int icol = 0; icol < ap.get_col_size(); icol += 2) { - *(tmp_pointer[2])++ = data_full[icol]; - *(tmp_pointer[3])++ = data_full[icol + 1]; - } - data_full += ap.get_col_size(); - } - } - } - } - ModuleBase::timer::tick("Gint", "transfer_DMR"); -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/gint_rho.cpp b/source/source_lcao/module_gint/gint_rho.cpp similarity index 91% rename from source/source_lcao/module_gint/temp_gint/gint_rho.cpp rename to source/source_lcao/module_gint/gint_rho.cpp index c96b10a731..709be0507f 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_rho.cpp +++ b/source/source_lcao/module_gint/gint_rho.cpp @@ -33,8 +33,9 @@ void Gint_rho::cal_rho_() std::vector phi; std::vector phi_dm; #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { + const auto& biggrid = gint_info_->get_biggrids()[i]; if(biggrid->get_atoms().size() == 0) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_rho.h b/source/source_lcao/module_gint/gint_rho.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_rho.h rename to source/source_lcao/module_gint/gint_rho.h diff --git a/source/source_lcao/module_gint/gint_rho_cpu_interface.cpp b/source/source_lcao/module_gint/gint_rho_cpu_interface.cpp deleted file mode 100644 index 073a1821b0..0000000000 --- a/source/source_lcao/module_gint/gint_rho_cpu_interface.cpp +++ /dev/null @@ -1,197 +0,0 @@ -#include "gint.h" -#include "source_base/memory.h" -#include "source_io/module_parameter/parameter.h" -#include "source_base/timer.h" - -void Gint::gint_kernel_rho(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint_rho"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_rho"); - const int max_size = this->gridt->max_atom; - const int ncyz = this->ny * this->nplane; - const double delta_r = this->gridt->dr_uniform; - -#pragma omp parallel -{ - std::vector block_iw(max_size, 0); - std::vector block_index(max_size+1, 0); - std::vector block_size(max_size, 0); - std::vector vindex(this->bxyz, 0); -#pragma omp for schedule(dynamic) - for (int grid_index = 0; grid_index < this->nbxx; grid_index++) - { - const int na_grid = this->gridt->how_many_atoms[grid_index]; - if (na_grid == 0) { - continue; - } - Gint_Tools::get_vindex(this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - vindex.data()); - // prepare block information - ModuleBase::Array_Pool cal_flag(this->bxyz,max_size); - Gint_Tools::get_block_info(*this->gridt, - this->bxyz, - na_grid, - grid_index, - block_iw.data(), - block_index.data(), - block_size.data(), - cal_flag.get_ptr_2D()); - - // evaluate psi on grids - const int LD_pool = block_index[na_grid]; - ModuleBase::Array_Pool psir_ylm(this->bxyz, LD_pool); - Gint_Tools::cal_psir_ylm(*this->gridt, - this->bxyz, - na_grid, - grid_index, - delta_r, - block_index.data(), - block_size.data(), - cal_flag.get_ptr_2D(), - psir_ylm.get_ptr_2D()); - - for (int is = 0; is < inout->nspin_rho; ++is) - { - // psir_ylm_new = psir_func(psir_ylm) - // psir_func==nullptr means psir_ylm_new=psir_ylm - const ModuleBase::Array_Pool &psir_ylm_1 = (!this->psir_func_1) ? psir_ylm : this->psir_func_1(psir_ylm, *this->gridt, grid_index, is, block_iw, block_size, block_index, cal_flag); - const ModuleBase::Array_Pool &psir_ylm_2 = (!this->psir_func_2) ? psir_ylm : this->psir_func_2(psir_ylm, *this->gridt, grid_index, is, block_iw, block_size, block_index, cal_flag); - - ModuleBase::Array_Pool psir_DM(this->bxyz, LD_pool); - ModuleBase::GlobalFunc::ZEROS(psir_DM.get_ptr_1D(), this->bxyz * LD_pool); - - // calculating g_mu(r) = sum_nu rho_mu,nu psi_nu(r) - Gint_Tools::mult_psi_DMR(*this->gridt, - this->bxyz, - LD_pool, - grid_index, - na_grid, - block_index.data(), - block_size.data(), - cal_flag.get_ptr_2D(), - psir_ylm_1.get_ptr_2D(), - psir_DM.get_ptr_2D(), - this->DMRGint[is], - inout->if_symm); - - // do sum_mu g_mu(r)psi_mu(r) to get electron density on grid - this->cal_meshball_rho(na_grid, block_index.data(), vindex.data(), psir_ylm_2.get_ptr_2D(), psir_DM.get_ptr_2D(), inout->rho[is]); - } - } -} - ModuleBase::TITLE("Gint_interface", "cal_gint_rho"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_rho"); -} - -void Gint::gint_kernel_tau(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint_tau"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_tau"); - const int max_size = this->gridt->max_atom; - const int ncyz = this->ny * this->nplane; - const double delta_r = this->gridt->dr_uniform; - - -#pragma omp parallel -{ - std::vector block_iw(max_size, 0); - std::vector block_index(max_size+1, 0); - std::vector block_size(max_size, 0); - std::vector vindex(bxyz, 0); -#pragma omp for schedule(dynamic) - for (int grid_index = 0; grid_index < this->nbxx; grid_index++) - { - const int na_grid = this->gridt->how_many_atoms[grid_index]; - if (na_grid == 0) { - continue; - } - Gint_Tools::get_vindex(this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - vindex.data()); - //prepare block information - ModuleBase::Array_Pool cal_flag(this->bxyz,max_size); - Gint_Tools::get_block_info(*this->gridt, this->bxyz, na_grid, grid_index, - block_iw.data(), block_index.data(), block_size.data(), cal_flag.get_ptr_2D()); - - //evaluate psi and dpsi on grids - const int LD_pool = block_index[na_grid]; - ModuleBase::Array_Pool psir_ylm(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_x(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_y(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_z(this->bxyz, LD_pool); - - Gint_Tools::cal_dpsir_ylm(*this->gridt, - this->bxyz, na_grid, grid_index, delta_r, - block_index.data(), block_size.data(), - cal_flag.get_ptr_2D(), - psir_ylm.get_ptr_2D(), - dpsir_ylm_x.get_ptr_2D(), - dpsir_ylm_y.get_ptr_2D(), - dpsir_ylm_z.get_ptr_2D()); - - for(int is=0; is dpsix_DM(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsiy_DM(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsiz_DM(this->bxyz, LD_pool); - ModuleBase::GlobalFunc::ZEROS(dpsix_DM.get_ptr_1D(), this->bxyz*LD_pool); - ModuleBase::GlobalFunc::ZEROS(dpsiy_DM.get_ptr_1D(), this->bxyz*LD_pool); - ModuleBase::GlobalFunc::ZEROS(dpsiz_DM.get_ptr_1D(), this->bxyz*LD_pool); - - //calculating g_i,mu(r) = sum_nu rho_mu,nu d/dx_i psi_nu(r), x_i=x,y,z - Gint_Tools::mult_psi_DMR( - *this->gridt, this->bxyz, - LD_pool, - grid_index, na_grid, - block_index.data(), block_size.data(), - cal_flag.get_ptr_2D(), - dpsir_ylm_x.get_ptr_2D(), - dpsix_DM.get_ptr_2D(), - this->DMRGint[is], - true); - Gint_Tools::mult_psi_DMR( - *this->gridt, this->bxyz, - LD_pool, - grid_index, na_grid, - block_index.data(), block_size.data(), - cal_flag.get_ptr_2D(), - dpsir_ylm_y.get_ptr_2D(), - dpsiy_DM.get_ptr_2D(), - this->DMRGint[is], - true); - Gint_Tools::mult_psi_DMR( - *this->gridt, this->bxyz, - LD_pool, - grid_index, na_grid, - block_index.data(), block_size.data(), - cal_flag.get_ptr_2D(), - dpsir_ylm_z.get_ptr_2D(), - dpsiz_DM.get_ptr_2D(), - this->DMRGint[is], - true); - - //do sum_i,mu g_i,mu(r) * d/dx_i psi_mu(r) to get kinetic energy density on grid - if(inout->job==Gint_Tools::job_type::tau) - { - this->cal_meshball_tau( - na_grid, block_index.data(), - vindex.data(), - dpsir_ylm_x.get_ptr_2D(), dpsir_ylm_y.get_ptr_2D(), dpsir_ylm_z.get_ptr_2D(), - dpsix_DM.get_ptr_2D(), dpsiy_DM.get_ptr_2D(), dpsiz_DM.get_ptr_2D(), - inout->rho[is]); - } - } - } -} - ModuleBase::TITLE("Gint_interface", "cal_gint_tau"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_tau"); -} diff --git a/source/source_lcao/module_gint/temp_gint/gint_rho_gpu.cpp b/source/source_lcao/module_gint/gint_rho_gpu.cpp similarity index 95% rename from source/source_lcao/module_gint/temp_gint/gint_rho_gpu.cpp rename to source/source_lcao/module_gint/gint_rho_gpu.cpp index ca24002579..a51f7524a4 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_rho_gpu.cpp +++ b/source/source_lcao/module_gint/gint_rho_gpu.cpp @@ -62,8 +62,9 @@ void Gint_rho_gpu::cal_rho_() CudaMemWrapper phi(BatchBigGrid::get_max_phi_len(), stream, false); CudaMemWrapper phi_dm(BatchBigGrid::get_max_phi_len(), stream, false); #pragma omp for schedule(dynamic) - for(const auto& bgrid_batch: gint_info_->get_bgrid_batches()) + for (int i = 0; i < gint_info_->get_bgrid_batches_num(); ++i) { + const auto& bgrid_batch = gint_info_->get_bgrid_batches()[i]; if(bgrid_batch->empty()) { continue; diff --git a/source/source_lcao/module_gint/gint_rho_gpu.cu b/source/source_lcao/module_gint/gint_rho_gpu.cu deleted file mode 100644 index c5591e662e..0000000000 --- a/source/source_lcao/module_gint/gint_rho_gpu.cu +++ /dev/null @@ -1,234 +0,0 @@ -#include "kernels/cuda/cuda_tools.cuh" -#include "source_base/ylm.h" -#include "gint_rho_gpu.h" -#include "gint_tools.h" -#include "kernels/cuda/gint_rho.cuh" - -#ifdef _OPENMP -#include -#endif - -namespace GintKernel -{ - -void gint_rho_gpu(const hamilt::HContainer* dm, - const double* ylmcoef_now, - const double dr, - const double* rcut, - const Grid_Technique& gridt, - const UnitCell& ucell, - double* rho) -{ - checkCuda(cudaSetDevice(gridt.dev_id)); - // checkCuda(cudaSetDeviceFlags(cudaDeviceScheduleBlockingSync)); - - const int nbzp = gridt.nbzp; - const int nczp =nbzp * gridt.bz; - const int num_mcell_on_proc = nczp * gridt.ncx * gridt.ncy; - const int lgd = gridt.lgd; - const int max_atom = gridt.max_atom; - const int num_streams = gridt.nstreams; - const int max_atom_per_bcell = max_atom * gridt.bxyz; - const int max_atom_per_z = max_atom * nbzp; - const int max_phi_per_z = max_atom_per_bcell * nbzp * ucell.nwmax; - const int max_atompair_per_z = max_atom * max_atom * nbzp; - - std::vector streams(num_streams); - std::vector events(num_streams); - for (int i = 0; i < num_streams; i++) - { - checkCuda(cudaStreamCreate(&streams[i])); - checkCuda(cudaEventCreateWithFlags(&events[i], cudaEventDisableTiming)); - } - - Cuda_Mem_Wrapper dr_part(max_atom_per_z * 3, num_streams, true); - Cuda_Mem_Wrapper atoms_type(max_atom_per_z, num_streams, true); - // The first number in every group of two represents the number of atoms on that bigcell. - // The second number represents the cumulative number of atoms up to that bigcell. - Cuda_Mem_Wrapper atoms_num_info(2 * nbzp, num_streams, true); - - Cuda_Mem_Wrapper psi(max_phi_per_z, num_streams, false); - Cuda_Mem_Wrapper psi_dm(max_phi_per_z, num_streams, false); - - Cuda_Mem_Wrapper gemm_alpha(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_m(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_n(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_k(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_lda(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_ldb(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_ldc(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_A(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_B(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_C(max_atompair_per_z, num_streams, true); - - Cuda_Mem_Wrapper rho_g(num_mcell_on_proc, 1, false); - Cuda_Mem_Wrapper dot_product(nbzp * gridt.bxyz, num_streams, true); - - Cuda_Mem_Wrapper dm_matrix(dm->get_nnr(), 1, false); - // retrieve the density matrix on the host - checkCuda(cudaMemcpy(dm_matrix.get_device_pointer(), - dm->get_wrapper(), - dm->get_nnr() * sizeof(double), - cudaMemcpyHostToDevice)); - -// calculate the rho for every nbzp bigcells -#ifdef _OPENMP -const int max_thread_num = std::min(omp_get_max_threads(), num_streams); -#endif -#pragma omp parallel num_threads(max_thread_num) -{ -#ifdef _OPENMP - const int tid = omp_get_thread_num(); - const int num_threads = omp_get_num_threads(); - const int sid_start = tid * num_streams / num_threads; - const int thread_num_streams = tid == num_threads - 1 ? num_streams - sid_start : num_streams / num_threads; -#else - const int sid_start = 0; - const int thread_num_streams = num_streams; -#endif -#pragma omp for collapse(2) schedule(dynamic) - for (int i = 0; i < gridt.nbx; i++) - { - for (int j = 0; j < gridt.nby; j++) - { - // 20240620 Note that it must be set again here because - // cuda's device is not safe in a multi-threaded environment. - - checkCuda(cudaSetDevice(gridt.dev_id)); - - const int sid = (i * gridt.nby + j) % thread_num_streams + sid_start; - checkCuda(cudaEventSynchronize(events[sid])); - - int max_m = 0; - int max_n = 0; - int atom_pair_num = 0; - int atoms_per_z = 0; - const int grid_index_ij = i * gridt.nby * nbzp + j * nbzp; - - // generate GPU tasks, including the calculation of psir, matrix - // multiplication, and dot product - gtask_rho(gridt, - grid_index_ij, - ucell, - dr_part.get_host_pointer(sid), - atoms_type.get_host_pointer(sid), - atoms_num_info.get_host_pointer(sid), - atoms_per_z); - - alloc_mult_dot_rho( - dm, - gridt, - ucell, - grid_index_ij, - max_atom, - lgd, - nczp, - atoms_num_info.get_host_pointer(sid), - psi.get_device_pointer(sid), - psi_dm.get_device_pointer(sid), - dm_matrix.get_device_pointer(), - gemm_alpha.get_host_pointer(sid), - gemm_m.get_host_pointer(sid), - gemm_n.get_host_pointer(sid), - gemm_k.get_host_pointer(sid), - gemm_lda.get_host_pointer(sid), - gemm_ldb.get_host_pointer(sid), - gemm_ldc.get_host_pointer(sid), - gemm_A.get_host_pointer(sid), - gemm_B.get_host_pointer(sid), - gemm_C.get_host_pointer(sid), - max_m, - max_n, - atom_pair_num, - rho_g.get_device_pointer(), - dot_product.get_host_pointer(sid)); - - dr_part.copy_host_to_device_async(streams[sid], sid, atoms_per_z * 3); - atoms_type.copy_host_to_device_async(streams[sid], sid, atoms_per_z); - atoms_num_info.copy_host_to_device_async(streams[sid], sid); - - gemm_alpha.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_m.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_n.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_k.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_lda.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_ldb.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_ldc.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_A.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_B.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_C.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - dot_product.copy_host_to_device_async(streams[sid], sid); - checkCuda(cudaEventRecord(events[sid], streams[sid])); - - psi.memset_device_async(streams[sid], sid, 0); - psi_dm.memset_device_async(streams[sid], sid, 0); - - // Launching kernel to calculate psi - dim3 grid_psi(nbzp, gridt.bxyz); - dim3 block_psi(64); - get_psi<<>>( - gridt.ylmcoef_g, - dr, - gridt.bxyz, - ucell.nwmax, - max_atom, - gridt.atom_nwl_g, - gridt.atom_new_g, - gridt.atom_ylm_g, - gridt.atom_nw_g, - gridt.rcut_g, - gridt.nr_max, - gridt.psi_u_g, - gridt.mcell_pos_g, - dr_part.get_device_pointer(sid), - atoms_type.get_device_pointer(sid), - atoms_num_info.get_device_pointer(sid), - psi.get_device_pointer(sid)); - checkCudaLastError(); - - // Performing matrix multiplication alpha * mat_dm * mat_psir - gridt.fastest_matrix_mul(max_m, - max_n, - gemm_m.get_device_pointer(sid), - gemm_n.get_device_pointer(sid), - gemm_k.get_device_pointer(sid), - gemm_A.get_device_pointer(sid), - gemm_lda.get_device_pointer(sid), - gemm_B.get_device_pointer(sid), - gemm_ldb.get_device_pointer(sid), - gemm_C.get_device_pointer(sid), - gemm_ldc.get_device_pointer(sid), - atom_pair_num, - streams[sid], - gemm_alpha.get_device_pointer(sid)); - checkCudaLastError(); - - // Launching kernel to calculate dot product psir * psir_dm - // if warpSize is not eauql to 32, the psir_dot kernel should be modified - dim3 grid_dot(nbzp, gridt.bxyz); - dim3 block_dot(64); - psir_dot<<>>( - gridt.bxyz, - ucell.nwmax, - atoms_num_info.get_device_pointer(sid), - psi.get_device_pointer(sid), - psi_dm.get_device_pointer(sid), - dot_product.get_device_pointer(sid)); - checkCudaLastError(); - } - } -} - - // Copy rho from device to host - checkCuda(cudaMemcpy(rho, - rho_g.get_device_pointer(), - num_mcell_on_proc * sizeof(double), - cudaMemcpyDeviceToHost)); - - for (int i = 0; i < num_streams; i++) - { - checkCuda(cudaStreamDestroy(streams[i])); - checkCuda(cudaEventDestroy(events[i])); - } -} -} // namespace GintKernel diff --git a/source/source_lcao/module_gint/gint_rho_gpu.h b/source/source_lcao/module_gint/gint_rho_gpu.h index 7dba352a84..d8a8fe6e01 100644 --- a/source/source_lcao/module_gint/gint_rho_gpu.h +++ b/source/source_lcao/module_gint/gint_rho_gpu.h @@ -1,68 +1,52 @@ -#ifndef GINT_RHO_H -#define GINT_RHO_H -#include -#include // for CUDA_VERSION -#include +#pragma once -#include "source_lcao/module_gint/gint.h" -#include "source_lcao/module_gint/grid_technique.h" +#include +#include +#include "source_lcao/module_hcontainer/hcontainer.h" +#include "gint.h" +#include "gint_info.h" +#include "source_lcao/module_gint/kernel/cuda_mem_wrapper.h" -namespace GintKernel +namespace ModuleGint { -/** - * calculate the rho by GPU - * - * @param dm density matrix. - * @param ylmcoef_now coefficients for the spherical harmonics expansion. - * @param dr The grid spacing. - * @param rcut Pointer to the cutoff radius array. - * @param gridt Grid_Technique object containing grid information. - * @param ucell UnitCell. - * @param rho rho. - */ -void gint_rho_gpu(const hamilt::HContainer* dm, - const double* ylmcoef_now, - const double dr, - const double* rcut, - const Grid_Technique& gridt, - const UnitCell& ucell, - double* rho); +class Gint_rho_gpu: public Gint +{ + public: + Gint_rho_gpu( + const std::vector*>& dm_vec, + const int nspin, + double **rho, + bool is_dm_symm = true) + : dm_vec_(dm_vec), nspin_(nspin), rho_(rho), is_dm_symm_(is_dm_symm) {} + + void cal_gint(); + + private: + void init_dm_gint_(); + + void cal_rho_(); + + void transfer_cpu_to_gpu_(); + + void transfer_gpu_to_cpu_(); + + // input + const std::vector*> dm_vec_; + const int nspin_; + + // if true, it means the DMR matrix is symmetric, + // which leads to faster computations compared to the asymmetric case. + const bool is_dm_symm_; + + // output + double **rho_; -void gtask_rho(const Grid_Technique& gridt, - const int grid_index_ij, - const UnitCell& ucell, - double* dr_part, - uint8_t* atoms_type, - int* atoms_num_info, - int& atoms_per_z); + // Intermediate variables + std::vector> dm_gint_vec_; -void alloc_mult_dot_rho(const hamilt::HContainer* dm, - const Grid_Technique& gridt, - const UnitCell& ucell, - const int grid_index_ij, - const int max_atom, - const int lgd, - const int nczp, - const int* atoms_num_info, - double* const psir_ylm_g, - double* const psir_dm_g, - double* const dm_matrix_g, - double* mat_alpha, - int* mat_m, - int* mat_n, - int* mat_k, - int* mat_lda, - int* mat_ldb, - int* mat_ldc, - double** mat_A, - double** mat_B, - double** mat_C, - int& max_m, - int& max_n, - int& atom_pair_num, - double* rho_g, - double** dot_product); + std::vector> dm_gint_d_vec_; + std::vector> rho_d_vec_; +}; -} // namespace GintKernel -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/source/source_lcao/module_gint/gint_rho_old.cpp b/source/source_lcao/module_gint/gint_rho_old.cpp deleted file mode 100644 index b3027d6b12..0000000000 --- a/source/source_lcao/module_gint/gint_rho_old.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "gint_k.h" -#include "gint_tools.h" -#include "grid_technique.h" -#include "source_base/global_function.h" -#include "source_base/global_variable.h" -#include "source_base/timer.h" -#include "source_base/array_pool.h" -#include "source_base/ylm.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_pw/module_pwdft/global.h" - -void Gint::cal_meshball_rho(const int na_grid, - const int*const block_index, - const int*const vindex, - const double*const*const psir_ylm, - const double*const*const psir_DMR, - double*const rho) -{ - const int inc = 1; - // sum over mu to get density on grid - for (int ib = 0; ib < this->bxyz; ++ib) - { - const double r = ddot_(&block_index[na_grid], psir_ylm[ib], &inc, psir_DMR[ib], &inc); - const int grid = vindex[ib]; - rho[grid] += r; - } -} diff --git a/source/source_lcao/module_gint/temp_gint/gint_tau.cpp b/source/source_lcao/module_gint/gint_tau.cpp similarity index 94% rename from source/source_lcao/module_gint/temp_gint/gint_tau.cpp rename to source/source_lcao/module_gint/gint_tau.cpp index 1b5e282384..eb42b55b21 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_tau.cpp +++ b/source/source_lcao/module_gint/gint_tau.cpp @@ -37,8 +37,9 @@ void Gint_tau::cal_tau_() std::vector dphi_y_dm; std::vector dphi_z_dm; #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { + const auto& biggrid = gint_info_->get_biggrids()[i]; if(biggrid->get_atoms().size() == 0) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_tau.h b/source/source_lcao/module_gint/gint_tau.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_tau.h rename to source/source_lcao/module_gint/gint_tau.h diff --git a/source/source_lcao/module_gint/temp_gint/gint_tau_gpu.cpp b/source/source_lcao/module_gint/gint_tau_gpu.cpp similarity index 96% rename from source/source_lcao/module_gint/temp_gint/gint_tau_gpu.cpp rename to source/source_lcao/module_gint/gint_tau_gpu.cpp index cbeeead322..2063cc6855 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_tau_gpu.cpp +++ b/source/source_lcao/module_gint/gint_tau_gpu.cpp @@ -66,8 +66,9 @@ void Gint_tau_gpu::cal_tau_() CudaMemWrapper dphi_y_dm(BatchBigGrid::get_max_phi_len(), stream, false); CudaMemWrapper dphi_z_dm(BatchBigGrid::get_max_phi_len(), stream, false); #pragma omp for schedule(dynamic) - for(const auto& bgrid_batch: gint_info_->get_bgrid_batches()) + for (int i = 0; i < gint_info_->get_bgrid_batches_num(); ++i) { + const auto& bgrid_batch = gint_info_->get_bgrid_batches()[i]; if(bgrid_batch->empty()) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_tau_gpu.h b/source/source_lcao/module_gint/gint_tau_gpu.h similarity index 92% rename from source/source_lcao/module_gint/temp_gint/gint_tau_gpu.h rename to source/source_lcao/module_gint/gint_tau_gpu.h index da19c98828..638892ff13 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_tau_gpu.h +++ b/source/source_lcao/module_gint/gint_tau_gpu.h @@ -5,7 +5,7 @@ #include "source_lcao/module_hcontainer/hcontainer.h" #include "gint.h" #include "gint_info.h" -#include "source_lcao/module_gint/temp_gint/kernel/cuda_mem_wrapper.h" +#include "source_lcao/module_gint/kernel/cuda_mem_wrapper.h" namespace ModuleGint { diff --git a/source/source_lcao/module_gint/gint_tau_old.cpp b/source/source_lcao/module_gint/gint_tau_old.cpp deleted file mode 100644 index adf20d45b5..0000000000 --- a/source/source_lcao/module_gint/gint_tau_old.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "source_base/global_function.h" -#include "source_base/global_variable.h" -#include "gint_k.h" -#include "source_basis/module_ao/ORB_read.h" -#include "grid_technique.h" -#include "source_base/ylm.h" -#include "source_pw/module_pwdft/global.h" -#include "source_base/module_external/blas_connector.h" -#include "source_base/timer.h" -#include "source_base/array_pool.h" -#include "gint_tools.h" -#include "source_base/memory.h" -#include "source_lcao/module_gint/grid_technique.h" - - -void Gint::cal_meshball_tau( - const int na_grid, - int* block_index, - int* vindex, - double** dpsix, - double** dpsiy, - double** dpsiz, - double** dpsix_dm, - double** dpsiy_dm, - double** dpsiz_dm, - double* rho) -{ - const int inc = 1; - // sum over mu to get density on grid - for(int ib=0; ibbxyz; ++ib) - { - double rx=ddot_(&block_index[na_grid], dpsix[ib], &inc, dpsix_dm[ib], &inc); - double ry=ddot_(&block_index[na_grid], dpsiy[ib], &inc, dpsiy_dm[ib], &inc); - double rz=ddot_(&block_index[na_grid], dpsiz[ib], &inc, dpsiz_dm[ib], &inc); - const int grid = vindex[ib]; - rho[ grid ] += rx + ry + rz; - } -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/gint_tools.cpp b/source/source_lcao/module_gint/gint_tools.cpp deleted file mode 100644 index d60db04a1a..0000000000 --- a/source/source_lcao/module_gint/gint_tools.cpp +++ /dev/null @@ -1,234 +0,0 @@ -//========================================================= -//REFACTOR : Peize Lin, 2021.06.28 -//========================================================= -#include "gint_tools.h" - -#include -#include // for std::pair - -#include "source_base/timer.h" -#include "source_base/ylm.h" -#include "source_base/array_pool.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_pw/module_pwdft/global.h" - -namespace Gint_Tools{ -void get_vindex(const int bxyz, const int bx, const int by, const int bz, - const int nplane, const int start_ind, - const int ncyz,int* vindex) -{ - int bindex = 0; - - for(int ii=0; ii vindex(bxyz,0); - Gint_Tools::get_vindex(bxyz, bx, by, bz, nplane, start_ind, ncyz,vindex.data()); - for(int ib=0; ib gt.rcuts[it] - 1.0e-10) { - cal_flag[ib][id] = false; - } else { - cal_flag[ib][id] = true; - } - } // end ib - } - } - - -void cal_dpsirr_ylm( - const Grid_Technique& gt, const int bxyz, - const int na_grid, // number of atoms on this grid - const int grid_index, // 1d index of FFT index (i,j,k) - const int* const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const int* const block_size, // block_size[na_grid], number of columns of a band - const bool* const* const cal_flag, // cal_flag[bxyz][na_grid], whether the atom-grid distance is larger than cutoff - double* const* const dpsir_ylm_x, double* const* const dpsir_ylm_y, double* const* const dpsir_ylm_z, - double* const* const dpsirr_ylm) -{ - ModuleBase::timer::tick("Gint_Tools", "cal_dpsirr_ylm"); - const UnitCell& ucell = *gt.ucell; - for (int id = 0; id < na_grid; id++) - { - const int mcell_index = gt.bcell_start[grid_index] + id; - const int imcell = gt.which_bigcell[mcell_index]; - int iat = gt.which_atom[mcell_index]; - const int it = ucell.iat2it[iat]; - Atom* atom = &ucell.atoms[it]; - - const double mt[3]={ - gt.meshball_positions[imcell][0] - gt.tau_in_bigcell[iat][0], - gt.meshball_positions[imcell][1] - gt.tau_in_bigcell[iat][1], - gt.meshball_positions[imcell][2] - gt.tau_in_bigcell[iat][2]}; - - for(int ib=0; ibnw; ++iw) - { - p_dpsirr[iw * 6] = p_dpsi_x[iw]*dr[0]; - p_dpsirr[iw * 6 + 1] = p_dpsi_x[iw]*dr[1]; - p_dpsirr[iw * 6 + 2] = p_dpsi_x[iw]*dr[2]; - p_dpsirr[iw * 6 + 3] = p_dpsi_y[iw]*dr[1]; - p_dpsirr[iw * 6 + 4] = p_dpsi_y[iw]*dr[2]; - p_dpsirr[iw * 6 + 5] = p_dpsi_z[iw]*dr[2]; - }//iw - }//else - } - } - ModuleBase::timer::tick("Gint_Tools", "cal_dpsirr_ylm"); - return; - } - - // atomic basis sets - // psir_vlbr3[bxyz][LD_pool] - ModuleBase::Array_Pool get_psir_vlbr3( - const int bxyz, - const int na_grid, // how many atoms on this (i,j,k) grid - const int LD_pool, - const int*const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const bool*const*const cal_flag, // cal_flag[bxyz][na_grid], whether the atom-grid distance is larger than cutoff - const double*const vldr3, // vldr3[bxyz] - const double*const*const psir_ylm) // psir_ylm[bxyz][LD_pool] - { - ModuleBase::Array_Pool psir_vlbr3(bxyz, LD_pool); - for(int ib=0; ib cal_info(const int bxyz, - const int ia1, - const int ia2, - const bool* const* const cal_flag) -{ - int ib_start = bxyz; - int ib_end = 0; - int ib_length = 0; - for(int ib=0; ib=0; --ib) - { - if(cal_flag[ib][ia1] && cal_flag[ib][ia2]) - { - ib_end = ib; - break; - } - } - } - - ib_length = ib_end - ib_start + 1; - return std::make_pair(ib_start, ib_length); -} - -} // namespace Gint_Tools diff --git a/source/source_lcao/module_gint/gint_tools.h b/source/source_lcao/module_gint/gint_tools.h deleted file mode 100644 index a7f0e1b0d0..0000000000 --- a/source/source_lcao/module_gint/gint_tools.h +++ /dev/null @@ -1,311 +0,0 @@ -//========================================================= -// REFACTOR : Peize Lin, 2021.06.28 -//========================================================= -#ifndef GINT_TOOLS_H -#define GINT_TOOLS_H -#include "grid_technique.h" -#include "source_estate/module_charge/charge.h" -#include "source_lcao/module_hcontainer/hcontainer.h" -#include "source_base/array_pool.h" - -#include -#include // for std::pair - -namespace Gint_Tools -{ -enum class job_type -{ - vlocal, - rho, - force, - tau, - vlocal_meta, - force_meta, - dvlocal -}; -// Hamiltonian, electron density, force, kinetic energy density, Hamiltonian for mGGA -} // namespace Gint_Tools - -// the class is used to pass input/output variables -// into the unified interface gint -// not sure if this is the best practice though .. -class Gint_inout -{ - public: - // input - double*** DM=nullptr; - const double* vl=nullptr; - const double* vofk=nullptr; - bool isforce=false; - bool isstress=false; - int ispin=0; - int nspin_rho=0; // usually, but not always, equal to global nspin - bool if_symm = false; // if true, use dsymv in gint_kernel_rho; if false, use dgemv. - - // output - double** rho=nullptr; - ModuleBase::matrix* fvl_dphi=nullptr; - ModuleBase::matrix* svl_dphi=nullptr; - Gint_Tools::job_type job; - - // electron density and kin_r, multi-k - Gint_inout(double** rho_in, Gint_Tools::job_type job_in, const int& nspin_rho_in, bool if_symm_in = true) - { - rho = rho_in; - job = job_in; - nspin_rho = nspin_rho_in; - if_symm = if_symm_in; - } - - // force - Gint_inout(const int ispin_in, - const double* vl_in, - bool isforce_in, - bool isstress_in, - ModuleBase::matrix* fvl_dphi_in, - ModuleBase::matrix* svl_dphi_in, - Gint_Tools::job_type job_in) - { - vl = vl_in; - isforce = isforce_in; - isstress = isstress_in; - fvl_dphi = fvl_dphi_in; - svl_dphi = svl_dphi_in; - job = job_in; - ispin = ispin_in; - } - - // force (mGGA) - Gint_inout(const int ispin_in, - const double* vl_in, - const double* vofk_in, - const bool isforce_in, - const bool isstress_in, - ModuleBase::matrix* fvl_dphi_in, - ModuleBase::matrix* svl_dphi_in, - Gint_Tools::job_type job_in) - { - vl = vl_in; - vofk = vofk_in; - isforce = isforce_in; - isstress = isstress_in; - fvl_dphi = fvl_dphi_in; - svl_dphi = svl_dphi_in; - job = job_in; - ispin = ispin_in; - } - - // vlocal, multi-k - Gint_inout(const double* vl_in, int ispin_in, Gint_Tools::job_type job_in) - { - vl = vl_in; - ispin = ispin_in; - job = job_in; - } - - // mGGA vlocal, multi-k - Gint_inout(const double* vl_in, const double* vofk_in, int ispin_in, Gint_Tools::job_type job_in) - { - vl = vl_in; - vofk = vofk_in; - ispin = ispin_in; - job = job_in; - } - - // vlocal, gamma point - Gint_inout(const double* vl_in, Gint_Tools::job_type job_in) - { - vl = vl_in; - job = job_in; - } - - // mGGA vlocal, gamma point - Gint_inout(const double* vl_in, const double* vofk_in, Gint_Tools::job_type job_in) - { - vl = vl_in; - vofk = vofk_in; - job = job_in; - } -}; - -namespace Gint_Tools -{ -// if exponent is an integer between 0 and 5 (the most common cases in gint), -// pow_int is much faster than std::pow -inline double pow_int(const double base, const int exp) -{ - switch (exp) - { - case 0: - return 1.0; - case 1: - return base; - case 2: - return base * base; - case 3: - return base * base * base; - case 4: - return base * base * base * base; - case 5: - return base * base * base * base * base; - default: - double result = std::pow(base, exp); - return result; - } -} -// vindex[pw.bxyz] - -/** - * @brief Get the vindex form the grid index - * @param bxyz number of big grids - * @param bx number of big grids in x direction - * @param by number of big grids in y direction - * @param bz number of big grids in z direction - * @param nplane Currently using Z-axis 1D division, - * recording the number of the Z-axis process - * (nbz in the current process). - * @param start_ind start index of the grid in the 1D FFT grid - * @param ncyz number of grids in yz plane - * @param vindex the index of the grid -*/ -void get_vindex(const int bxyz, const int bx, const int by, - const int bz, const int nplane, - const int start_ind,const int ncyz,int* vindex); - -/** - * @brief Get the vldr3 form the grid index - * @param vldr3 the local potential multiplied by the grid volume - * @param vlocal the local potential - * @param bxyz number of grids - * @param bx number of grids in x direction - * @param by number of grids in y direction - * @param bz number of grids in z direction - * @param nplane Currently using Z-axis 1D division, - * recording the number of the Z-axis process - * (nbz in the current process). - * @param start_ind start index of the grid in the 1D FFT grid - * @param ncyz number of grids in yz plane - * @param dv the volume of the grid -*/ -void get_gint_vldr3(double* vldr3, - const double* const vlocal, - const int bxyz, - const int bx, - const int by, - const int bz, - const int nplane, - const int start_ind, - const int ncyz, - const double dv); - -/** - * @brief Get the information of a big grid index - * @param gt the grid technique, which contains the tools of the grid intergration - * @param bxyz number of grids - * @param na_grid number of atoms on this grid - * @param grid_index 1d index of FFT index (i,j,k) - * @param block_iw track the atom orbitals in all atoms - * @param block_index count total number of atomis orbitals - * @param block_size count the number of atomis orbitals in each atom - * @param cal_flag whether the atom-grid distance is larger than cutoff -*/ -void get_block_info(const Grid_Technique& gt, const int bxyz, const int na_grid, const int grid_index, - int* block_iw, int* block_index, int* block_size, bool** cal_flag); - -void init_orb(double& dr_uniform, - std::vector& rcuts, - UnitCell& ucell, - const LCAO_Orbitals& orb, - std::vector>& psi_u, - std::vector>& dpsi_u, - std::vector>& d2psi_u); - -// psir_ylm[pw.bxyz][LD_pool] -void cal_psir_ylm(const Grid_Technique& gt, - const int bxyz, - const int na_grid, // number of atoms on this grid - const int grid_index, // 1d index of FFT index (i,j,k) - const double delta_r, // delta_r of the uniform FFT grid - const int* const block_index, // count total number of atomis orbitals - const int* const block_size, - const bool* const* const cal_flag, - double* const* const psir_ylm); // whether the atom-grid distance is larger than cutoff - -// psir_ylm and dpsir_ylm, both[pw.bxyz][LD_pool] -void cal_dpsir_ylm( - const Grid_Technique& gt, - const int bxyz, - const int na_grid, // number of atoms on this grid - const int grid_index, // 1d index of FFT index (i,j,k) - const double delta_r, // delta_r of the uniform FFT grid - const int* const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const int* const block_size, // block_size[na_grid], number of columns of a band - const bool* const* const cal_flag, // cal_flag[bxyz][na_grid], whether the atom-grid distance is larger than cutoff - double* const* const psir_ylm, - double* const* const dpsir_ylm_x, - double* const* const dpsir_ylm_y, - double* const* const dpsir_ylm_z); - -// dpsir_ylm * (r-R), R is the atomic position -void cal_dpsirr_ylm( - const Grid_Technique& gt, const int bxyz, - const int na_grid, // number of atoms on this grid - const int grid_index, // 1d index of FFT index (i,j,k) - const int* const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const int* const block_size, // block_size[na_grid], number of columns of a band - const bool* const* const cal_flag, // cal_flag[bxyz][na_grid], whether the atom-grid distance is larger than cutoff - double* const* const dpsir_ylm_x, double* const* const dpsir_ylm_y, double* const* const dpsir_ylm_z, - double* const* const dpsir_ylm); - -void cal_ddpsir_ylm( - const Grid_Technique& gt, - const int bxyz, - const int na_grid, // number of atoms on this grid - const int grid_index, // 1d index of FFT index (i,j,k) - const double delta_r, // delta_r of the uniform FFT grid - const int* const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const int* const block_size, // block_size[na_grid], number of columns of a band - const bool* const* const cal_flag, // cal_flag[bxyz][na_grid], whether the atom-grid distance is larger than cutoff - double* const* const ddpsir_ylm_xx, - double* const* const ddpsir_ylm_xy, - double* const* const ddpsir_ylm_xz, - double* const* const ddpsir_ylm_yy, - double* const* const ddpsir_ylm_yz, - double* const* const ddpsir_ylm_zz); - -// psir_ylm * vldr3 -ModuleBase::Array_Pool get_psir_vlbr3( - const int bxyz, - const int na_grid, // how many atoms on this (i,j,k) grid - const int LD_pool, - const int* const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const bool* const* const cal_flag, // cal_flag[bxyz][na_grid], whether the atom-grid distance is larger than cutoff - const double* const vldr3, // vldr3[bxyz] - const double* const* const psir_ylm); // psir_ylm[bxyz][LD_pool] - -// sum_nu,R rho_mu,nu(R) psi_nu, for multi-k and gamma point -void mult_psi_DMR( - const Grid_Technique& gt, - const int bxyz, - const int LD_pool, - const int &grid_index, - const int &na_grid, - const int*const block_index, - const int*const block_size, - const bool*const*const cal_flag, - const double*const*const psi, - double*const*const psi_DMR, - const hamilt::HContainer*const DM, - const bool if_symm); - - -// pair.first is the first index of the meshcell which is inside atoms ia1 and ia2. -// pair.second is the number of meshcells which should be calculated in the following gemm. -// If no meshcell is inside both ia1 and ia2, return [bxyz, 0]. -std::pair cal_info(const int bxyz, - const int ia1, - const int ia2, - const bool* const* const cal_flag); - -} // namespace Gint_Tools -#endif diff --git a/source/source_lcao/module_gint/temp_gint/gint_type.h b/source/source_lcao/module_gint/gint_type.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_type.h rename to source/source_lcao/module_gint/gint_type.h diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl.cpp b/source/source_lcao/module_gint/gint_vl.cpp similarity index 87% rename from source/source_lcao/module_gint/temp_gint/gint_vl.cpp rename to source/source_lcao/module_gint/gint_vl.cpp index 3cdd3c4549..4194bc77cb 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl.cpp +++ b/source/source_lcao/module_gint/gint_vl.cpp @@ -34,9 +34,10 @@ void Gint_vl::cal_hr_gint_() std::vector phi; std::vector phi_vldr3; #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { - if(biggrid->get_atoms().empty()) + const auto& biggrid = gint_info_->get_biggrids()[i]; + if(biggrid->get_atoms().size() == 0) { continue; } diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl.h b/source/source_lcao/module_gint/gint_vl.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_vl.h rename to source/source_lcao/module_gint/gint_vl.h diff --git a/source/source_lcao/module_gint/gint_vl_cpu_interface.cpp b/source/source_lcao/module_gint/gint_vl_cpu_interface.cpp deleted file mode 100644 index 4f65c1147a..0000000000 --- a/source/source_lcao/module_gint/gint_vl_cpu_interface.cpp +++ /dev/null @@ -1,265 +0,0 @@ -#include "gint.h" -#include "source_base/memory.h" -#include "source_io/module_parameter/parameter.h" -#include "source_base/timer.h" - -void Gint::gint_kernel_vlocal(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint_vlocal"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_vlocal"); - const UnitCell& ucell = *this->ucell; - const int max_size = this->gridt->max_atom; - const int lgd = this->gridt->lgd; - const int ncyz = this->ny * this->nplane; - const double dv = ucell.omega / this->ncxyz; - const double delta_r = this->gridt->dr_uniform; - hamilt::HContainer* hRGint_kernel = PARAM.inp.nspin != 4 ? this->hRGint : this->hRGint_tmp[inout->ispin]; - hRGint_kernel->set_zero(); - -#pragma omp parallel - { /** - * @brief When in OpenMP, it points to a newly allocated memory, - */ - std::vector block_iw(max_size,0); - std::vector block_index(max_size+1,0); - std::vector block_size(max_size,0); - std::vector vldr3(this->bxyz,0.0); - #pragma omp for schedule(dynamic) - for (int grid_index = 0; grid_index < this->nbxx; grid_index++) { - const int na_grid = this->gridt->how_many_atoms[grid_index]; - if (na_grid == 0) { - continue; - } - /** - * @brief Prepare block information - */ - ModuleBase::Array_Pool cal_flag(this->bxyz,max_size); - - Gint_Tools::get_gint_vldr3(vldr3.data(), - inout->vl, - this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - dv); - - Gint_Tools::get_block_info(*this->gridt, this->bxyz, na_grid, grid_index, - block_iw.data(), block_index.data(), block_size.data(), cal_flag.get_ptr_2D()); - - /** - * @brief Evaluate psi and dpsi on grids - */ - const int LD_pool = block_index[na_grid]; - ModuleBase::Array_Pool psir_ylm(this->bxyz, LD_pool); - Gint_Tools::cal_psir_ylm(*this->gridt, - this->bxyz, na_grid, grid_index, delta_r, - block_index.data(), block_size.data(), - cal_flag.get_ptr_2D(),psir_ylm.get_ptr_2D()); - - // psir_ylm_new=psir_func(psir_ylm) - // psir_func==nullptr means psir_ylm_new=psir_ylm - const ModuleBase::Array_Pool &psir_ylm_1 = (!this->psir_func_1) ? psir_ylm : this->psir_func_1(psir_ylm, *this->gridt, grid_index, 0, block_iw, block_size, block_index, cal_flag); - const ModuleBase::Array_Pool &psir_ylm_2 = (!this->psir_func_2) ? psir_ylm : this->psir_func_2(psir_ylm, *this->gridt, grid_index, 0, block_iw, block_size, block_index, cal_flag); - - //calculating f_mu(r) = v(r)*psi_mu(r)*dv - const ModuleBase::Array_Pool psir_vlbr3 = Gint_Tools::get_psir_vlbr3( - this->bxyz, na_grid, LD_pool, block_index.data(), - cal_flag.get_ptr_2D(), vldr3.data(), psir_ylm_1.get_ptr_2D()); - - //integrate (psi_mu*v(r)*dv) * psi_nu on grid - //and accumulates to the corresponding element in Hamiltonian - this->cal_meshball_vlocal( - na_grid, LD_pool, block_size.data(), block_index.data(), grid_index, - cal_flag.get_ptr_2D(),psir_ylm.get_ptr_2D(), psir_vlbr3.get_ptr_2D(), - hRGint_kernel); - } - ModuleBase::TITLE("Gint_interface", "cal_gint_vlocal"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_vlocal"); - } -} - -void Gint::gint_kernel_dvlocal(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint_dvlocal"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_dvlocal"); - const UnitCell& ucell = *this->ucell; - const int max_size = this->gridt->max_atom; - const int lgd = this->gridt->lgd; - const int nnrg = pvdpRx_reduced[inout->ispin].get_nnr(); - const int ncyz = this->ny * this->nplane; - const double dv = ucell.omega / this->ncxyz; - const double delta_r = this->gridt->dr_uniform; - - if (PARAM.globalv.gamma_only_local) { - ModuleBase::WARNING_QUIT("Gint_interface::cal_gint","dvlocal only for k point!"); - } - pvdpRx_reduced[inout->ispin].set_zero(); - pvdpRy_reduced[inout->ispin].set_zero(); - pvdpRz_reduced[inout->ispin].set_zero(); - -#pragma omp parallel -{ - std::vector block_iw(max_size,0); - std::vector block_index(max_size+1,0); - std::vector block_size(max_size,0); - std::vector vldr3(this->bxyz,0.0); -#pragma omp for schedule(dynamic) - for (int grid_index = 0; grid_index < this->nbxx; grid_index++) { - const int na_grid = this->gridt->how_many_atoms[grid_index]; - if (na_grid == 0) { - continue; - } - Gint_Tools::get_gint_vldr3(vldr3.data(), - inout->vl, - this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - dv); - //prepare block information - ModuleBase::Array_Pool cal_flag(this->bxyz,max_size); - Gint_Tools::get_block_info(*this->gridt, this->bxyz, na_grid, grid_index, - block_iw.data(), block_index.data(), block_size.data(), cal_flag.get_ptr_2D()); - - //evaluate psi and dpsi on grids - const int LD_pool = block_index[na_grid]; - - ModuleBase::Array_Pool psir_ylm(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_x(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_y(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_z(this->bxyz, LD_pool); - Gint_Tools::cal_dpsir_ylm(*this->gridt, this->bxyz, na_grid, grid_index, delta_r, - block_index.data(), block_size.data(), cal_flag.get_ptr_2D(),psir_ylm.get_ptr_2D(), - dpsir_ylm_x.get_ptr_2D(), dpsir_ylm_y.get_ptr_2D(), dpsir_ylm_z.get_ptr_2D()); - - //calculating f_mu(r) = v(r)*psi_mu(r)*dv - const ModuleBase::Array_Pool psir_vlbr3 = Gint_Tools::get_psir_vlbr3( - this->bxyz, na_grid, LD_pool, block_index.data(), cal_flag.get_ptr_2D(), vldr3.data(), psir_ylm.get_ptr_2D()); - - //integrate (psi_mu*v(r)*dv) * psi_nu on grid - //and accumulates to the corresponding element in Hamiltonian - this->cal_meshball_vlocal(na_grid, LD_pool, block_size.data(), block_index.data(), - grid_index, cal_flag.get_ptr_2D(),psir_vlbr3.get_ptr_2D(), - dpsir_ylm_x.get_ptr_2D(), &this->pvdpRx_reduced[inout->ispin]); - this->cal_meshball_vlocal(na_grid, LD_pool, block_size.data(), block_index.data(), - grid_index, cal_flag.get_ptr_2D(),psir_vlbr3.get_ptr_2D(), - dpsir_ylm_y.get_ptr_2D(), &this->pvdpRy_reduced[inout->ispin]); - this->cal_meshball_vlocal(na_grid, LD_pool, block_size.data(), block_index.data(), - grid_index, cal_flag.get_ptr_2D(),psir_vlbr3.get_ptr_2D(), - dpsir_ylm_z.get_ptr_2D(), &this->pvdpRz_reduced[inout->ispin]); - } -} - ModuleBase::TITLE("Gint_interface", "cal_gint_dvlocal"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_dvlocal"); -} - -void Gint::gint_kernel_vlocal_meta(Gint_inout* inout) { - ModuleBase::TITLE("Gint_interface", "cal_gint_vlocal_meta"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_vlocal_meta"); - const UnitCell& ucell = *this->ucell; - const int max_size = this->gridt->max_atom; - const int lgd = this->gridt->lgd; - const int ncyz = this->ny * this->nplane; - const double dv = ucell.omega / this->ncxyz; - const double delta_r = this->gridt->dr_uniform; - hamilt::HContainer* hRGint_kernel = PARAM.inp.nspin != 4 ? this->hRGint : this->hRGint_tmp[inout->ispin]; - hRGint_kernel->set_zero(); - const int nnrg = hRGint_kernel->get_nnr(); - -#pragma omp parallel -{ - // define HContainer here to reference. - //Under the condition of gamma_only, hRGint will be instantiated. - std::vector block_iw(max_size,0); - std::vector block_index(max_size+1,0); - std::vector block_size(max_size,0); - std::vector vldr3(this->bxyz,0.0); - std::vector vkdr3(this->bxyz,0.0); - -#pragma omp for schedule(dynamic) - for (int grid_index = 0; grid_index < this->nbxx; grid_index++) { - const int na_grid = this->gridt->how_many_atoms[grid_index]; - if (na_grid == 0) { - continue; - } - Gint_Tools::get_gint_vldr3(vldr3.data(), - inout->vl, - this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - dv); - Gint_Tools::get_gint_vldr3(vkdr3.data(), - inout->vofk, - this->bxyz, - this->bx, - this->by, - this->bz, - this->nplane, - this->gridt->start_ind[grid_index], - ncyz, - dv); - //prepare block information - ModuleBase::Array_Pool cal_flag(this->bxyz,max_size); - Gint_Tools::get_block_info(*this->gridt, this->bxyz, na_grid, grid_index, - block_iw.data(), block_index.data(), block_size.data(), cal_flag.get_ptr_2D()); - - //evaluate psi and dpsi on grids - const int LD_pool = block_index[na_grid]; - ModuleBase::Array_Pool psir_ylm(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_x(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_y(this->bxyz, LD_pool); - ModuleBase::Array_Pool dpsir_ylm_z(this->bxyz, LD_pool); - - Gint_Tools::cal_dpsir_ylm(*this->gridt, - this->bxyz, na_grid, grid_index, delta_r, - block_index.data(), block_size.data(), - cal_flag.get_ptr_2D(), - psir_ylm.get_ptr_2D(), - dpsir_ylm_x.get_ptr_2D(), - dpsir_ylm_y.get_ptr_2D(), - dpsir_ylm_z.get_ptr_2D() - ); - - //calculating f_mu(r) = v(r)*psi_mu(r)*dv - const ModuleBase::Array_Pool psir_vlbr3 = Gint_Tools::get_psir_vlbr3( - this->bxyz, na_grid, LD_pool, block_index.data(), cal_flag.get_ptr_2D(), vldr3.data(), psir_ylm.get_ptr_2D()); - - //calculating df_mu(r) = vofk(r) * dpsi_mu(r) * dv - const ModuleBase::Array_Pool dpsix_vlbr3 = Gint_Tools::get_psir_vlbr3( - this->bxyz, na_grid, LD_pool, block_index.data(), cal_flag.get_ptr_2D(), vkdr3.data(), dpsir_ylm_x.get_ptr_2D()); - const ModuleBase::Array_Pool dpsiy_vlbr3 = Gint_Tools::get_psir_vlbr3( - this->bxyz, na_grid, LD_pool, block_index.data(), cal_flag.get_ptr_2D(), vkdr3.data(), dpsir_ylm_y.get_ptr_2D()); - const ModuleBase::Array_Pool dpsiz_vlbr3 = Gint_Tools::get_psir_vlbr3( - this->bxyz, na_grid, LD_pool, block_index.data(), cal_flag.get_ptr_2D(), vkdr3.data(), dpsir_ylm_z.get_ptr_2D()); - - - //integrate (psi_mu*v(r)*dv) * psi_nu on grid - //and accumulates to the corresponding element in Hamiltonian - this->cal_meshball_vlocal( - na_grid, LD_pool, block_size.data(), block_index.data(), grid_index, cal_flag.get_ptr_2D(), - psir_ylm.get_ptr_2D(), psir_vlbr3.get_ptr_2D(), hRGint_kernel); - //integrate (d/dx_i psi_mu*vk(r)*dv) * (d/dx_i psi_nu) on grid (x_i=x,y,z) - //and accumulates to the corresponding element in Hamiltonian - this->cal_meshball_vlocal( - na_grid, LD_pool, block_size.data(), block_index.data(), grid_index, cal_flag.get_ptr_2D(), - dpsir_ylm_x.get_ptr_2D(), dpsix_vlbr3.get_ptr_2D(), hRGint_kernel); - this->cal_meshball_vlocal( - na_grid, LD_pool, block_size.data(), block_index.data(), grid_index, cal_flag.get_ptr_2D(), - dpsir_ylm_y.get_ptr_2D(), dpsiy_vlbr3.get_ptr_2D(), hRGint_kernel); - this->cal_meshball_vlocal( - na_grid, LD_pool, block_size.data(), block_index.data(), grid_index, cal_flag.get_ptr_2D(), - dpsir_ylm_z.get_ptr_2D(), dpsiz_vlbr3.get_ptr_2D(), hRGint_kernel); - } -} - - ModuleBase::TITLE("Gint_interface", "cal_gint_vlocal_meta"); - ModuleBase::timer::tick("Gint_interface", "cal_gint_vlocal_meta"); -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_gpu.cpp b/source/source_lcao/module_gint/gint_vl_gpu.cpp similarity index 94% rename from source/source_lcao/module_gint/temp_gint/gint_vl_gpu.cpp rename to source/source_lcao/module_gint/gint_vl_gpu.cpp index fe9162bc4e..359a078689 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_gpu.cpp +++ b/source/source_lcao/module_gint/gint_vl_gpu.cpp @@ -51,8 +51,9 @@ void Gint_vl_gpu::cal_hr_gint_() CudaMemWrapper phi(BatchBigGrid::get_max_phi_len(), stream, false); CudaMemWrapper phi_vldr3(BatchBigGrid::get_max_phi_len(), stream, false); #pragma omp for schedule(dynamic) - for(const auto& bgrid_batch: gint_info_->get_bgrid_batches()) + for (int i = 0; i < gint_info_->get_bgrid_batches_num(); ++i) { + const auto& bgrid_batch = gint_info_->get_bgrid_batches()[i]; if(bgrid_batch->empty()) { continue; diff --git a/source/source_lcao/module_gint/gint_vl_gpu.cu b/source/source_lcao/module_gint/gint_vl_gpu.cu deleted file mode 100644 index ddbca83a60..0000000000 --- a/source/source_lcao/module_gint/gint_vl_gpu.cu +++ /dev/null @@ -1,219 +0,0 @@ -#ifdef _OPENMP -#include -#endif - -#include "kernels/cuda/cuda_tools.cuh" -#include "source_base/ylm.h" -#include "gint_vl_gpu.h" -#include "kernels/cuda/gint_vl.cuh" - -namespace GintKernel -{ - -/** - * Computes the gamma component of the VL (Vlocal) integral on the GPU. - * - * @note The grid integration on the GPU is mainly divided into the following - * steps: - * 1. Use the CPU to divide the grid integration into subtasks. - * 2. Copy the subtask information to the GPU. - * 3. Calculate the matrix elements on the GPU. - * 4. Perform matrix multiplication on the GPU. - * 5. Copy the results back to the host. - */ -void gint_vl_gpu(hamilt::HContainer* hRGint, - const double* vlocal, - const double* ylmcoef_now, - const double dr, - const double* rcut, - const Grid_Technique& gridt, - const UnitCell& ucell) -{ - checkCuda(cudaSetDevice(gridt.dev_id)); - // checkCuda(cudaSetDeviceFlags(cudaDeviceScheduleBlockingSync)); - const int nbzp = gridt.nbzp; - const int num_streams = gridt.nstreams; - const int max_atom = gridt.max_atom; - const int max_atom_per_bcell = max_atom * gridt.bxyz; - const int max_atom_per_z = max_atom_per_bcell * nbzp; - const int max_phi_per_z = max_atom_per_z * ucell.nwmax; - const int max_atompair_per_z = max_atom * max_atom * nbzp; - const double vfactor = ucell.omega / gridt.ncxyz; - const int nczp = nbzp * gridt.bz; - std::vector streams(num_streams); - std::vector events(num_streams); - - for (int i = 0; i < num_streams; i++) - { - checkCuda(cudaStreamCreate(&streams[i])); - checkCuda(cudaEventCreateWithFlags(&events[i], cudaEventDisableTiming)); - } - - const int nnrg = hRGint->get_nnr(); - hRGint->set_zero(); - Cuda_Mem_Wrapper grid_vlocal_g(nnrg, 1, false); - grid_vlocal_g.memset_device_sync(); - - Cuda_Mem_Wrapper dr_part(max_atom_per_z * 3, num_streams, true); - Cuda_Mem_Wrapper atoms_type(max_atom_per_z, num_streams, true); - // The first number in every group of two represents the number of atoms on that bigcell. - // The second number represents the cumulative number of atoms up to that bigcell. - Cuda_Mem_Wrapper atoms_num_info(2 * nbzp, num_streams, true); - Cuda_Mem_Wrapper vldr3(nbzp * gridt.bxyz, num_streams, true); - - Cuda_Mem_Wrapper psi(max_phi_per_z, num_streams, false); - Cuda_Mem_Wrapper psi_vldr3(max_phi_per_z, num_streams, false); - - Cuda_Mem_Wrapper gemm_m(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_n(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_k(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_lda(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_ldb(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_ldc(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_A(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_B(max_atompair_per_z, num_streams, true); - Cuda_Mem_Wrapper gemm_C(max_atompair_per_z, num_streams, true); - -#ifdef _OPENMP -const int max_thread_num = std::min(omp_get_max_threads(), num_streams); -#endif -#pragma omp parallel num_threads(max_thread_num) -{ -#ifdef _OPENMP - const int tid = omp_get_thread_num(); - const int num_threads = omp_get_num_threads(); - const int sid_start = tid * num_streams / num_threads; - const int thread_num_streams = tid == num_threads - 1 ? num_streams - sid_start : num_streams / num_threads; -#else - const int sid_start = 0; - const int thread_num_streams = num_streams; -#endif -#pragma omp for collapse(2) schedule(dynamic) - for (int i = 0; i < gridt.nbx; i++) - { - for (int j = 0; j < gridt.nby; j++) - { - // 20240620 Note that it must be set again here because - // cuda's device is not safe in a multi-threaded environment. - checkCuda(cudaSetDevice(gridt.dev_id)); - - const int sid = (i * gridt.nby + j) % thread_num_streams + sid_start; - checkCuda(cudaEventSynchronize(events[sid])); - int max_m = 0; - int max_n = 0; - int atom_pair_num = 0; - int atoms_per_z = 0; - const int grid_index_ij = i * gridt.nby * nbzp + j * nbzp; - - gtask_vlocal(gridt, - ucell, - grid_index_ij, - nczp, - vfactor, - vlocal, - atoms_per_z, - atoms_num_info.get_host_pointer(sid), - atoms_type.get_host_pointer(sid), - dr_part.get_host_pointer(sid), - vldr3.get_host_pointer(sid)); - - alloc_mult_vlocal(hRGint, - gridt, - ucell, - grid_index_ij, - max_atom, - psi.get_device_pointer(sid), - psi_vldr3.get_device_pointer(sid), - grid_vlocal_g.get_device_pointer(), - gemm_m.get_host_pointer(sid), - gemm_n.get_host_pointer(sid), - gemm_k.get_host_pointer(sid), - gemm_lda.get_host_pointer(sid), - gemm_ldb.get_host_pointer(sid), - gemm_ldc.get_host_pointer(sid), - gemm_A.get_host_pointer(sid), - gemm_B.get_host_pointer(sid), - gemm_C.get_host_pointer(sid), - atom_pair_num, - max_m, - max_n); - - dr_part.copy_host_to_device_async(streams[sid], sid, atoms_per_z * 3); - atoms_type.copy_host_to_device_async(streams[sid], sid, atoms_per_z); - vldr3.copy_host_to_device_async(streams[sid], sid); - atoms_num_info.copy_host_to_device_async(streams[sid], sid, 2 * nbzp); - - gemm_m.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_n.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_k.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_lda.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_ldb.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_ldc.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_A.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_B.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - gemm_C.copy_host_to_device_async(streams[sid], sid, atom_pair_num); - checkCuda(cudaEventRecord(events[sid], streams[sid])); - - psi.memset_device_async(streams[sid], sid, 0); - psi_vldr3.memset_device_async(streams[sid], sid, 0); - - dim3 grid_psi(nbzp, gridt.bxyz); - dim3 block_psi(64); - get_psi_and_vldr3<<>>( - gridt.ylmcoef_g, - dr, - gridt.bxyz, - ucell.nwmax, - max_atom, - gridt.atom_nwl_g, - gridt.atom_new_g, - gridt.atom_ylm_g, - gridt.atom_nw_g, - gridt.rcut_g, - gridt.nr_max, - gridt.psi_u_g, - gridt.mcell_pos_g, - dr_part.get_device_pointer(sid), - vldr3.get_device_pointer(sid), - atoms_type.get_device_pointer(sid), - atoms_num_info.get_device_pointer(sid), - psi.get_device_pointer(sid), - psi_vldr3.get_device_pointer(sid)); - checkCudaLastError(); - - gridt.fastest_matrix_mul(max_m, - max_n, - gemm_m.get_device_pointer(sid), - gemm_n.get_device_pointer(sid), - gemm_k.get_device_pointer(sid), - gemm_A.get_device_pointer(sid), - gemm_lda.get_device_pointer(sid), - gemm_B.get_device_pointer(sid), - gemm_ldb.get_device_pointer(sid), - gemm_C.get_device_pointer(sid), - gemm_ldc.get_device_pointer(sid), - atom_pair_num, - streams[sid], - nullptr); - checkCudaLastError(); - } - } -} - - checkCuda(cudaMemcpy( - hRGint->get_wrapper(), - grid_vlocal_g.get_device_pointer(), - nnrg * sizeof(double), - cudaMemcpyDeviceToHost)); - - for (int i = 0; i < num_streams; i++) - { - checkCuda(cudaStreamDestroy(streams[i])); - checkCuda(cudaEventDestroy(events[i])); - } -} - -} // namespace GintKernel \ No newline at end of file diff --git a/source/source_lcao/module_gint/gint_vl_gpu.h b/source/source_lcao/module_gint/gint_vl_gpu.h index a04b6a130d..a671b6b33a 100644 --- a/source/source_lcao/module_gint/gint_vl_gpu.h +++ b/source/source_lcao/module_gint/gint_vl_gpu.h @@ -1,53 +1,49 @@ -#ifndef GINT_VL_GPU_H -#define GINT_VL_GPU_H +#pragma once +#include +#include +#include "source_lcao/module_hcontainer/hcontainer.h" #include "gint.h" -#include "grid_technique.h" -#include "kernels/cuda/cuda_tools.cuh" +#include "gint_info.h" +#include "source_lcao/module_gint/kernel/cuda_mem_wrapper.h" -namespace GintKernel +namespace ModuleGint { -void gint_vl_gpu(hamilt::HContainer* hRGint, - const double* vlocal, - const double* ylmcoef_now, - const double dr, - const double* rcut, - const Grid_Technique& gridt, - const UnitCell& ucell); - -void gtask_vlocal(const Grid_Technique& gridt, - const UnitCell& ucell, - const int grid_index_ij, - const int nczp, - const double vfactor, - const double* vlocal_global_value, - int& atoms_per_z, - int* atoms_num_info, - uint8_t* atoms_type, - double* dr_part, - double* vldr3); - -void alloc_mult_vlocal(const hamilt::HContainer* hRGint, - const Grid_Technique& gridt, - const UnitCell& ucell, - const int grid_index_ij, - const int max_atom, - double* const psi, - double* const psi_vldr3, - double* const grid_vlocal_g, - int* mat_m, - int* mat_n, - int* mat_k, - int* mat_lda, - int* mat_ldb, - int* mat_ldc, - double** mat_A, - double** mat_B, - double** mat_C, - int& atom_pair_num, - int& max_m, - int& max_n); -} // namespace GintKernel - -#endif \ No newline at end of file +class Gint_vl_gpu : public Gint +{ + public: + Gint_vl_gpu( + const double* vr_eff, + HContainer* hR) + : vr_eff_(vr_eff), hR_(hR), dr3_(gint_info_->get_mgrid_volume()) {} + + void cal_gint(); + + private: + + void init_hr_gint_(); + + void transfer_cpu_to_gpu_(); + + void transfer_gpu_to_cpu_(); + + void cal_hr_gint_(); + + // input + const double* vr_eff_; + + + // output + HContainer* hR_; + + // Intermediate variables + double dr3_; + + HContainer hr_gint_; + + CudaMemWrapper hr_gint_d_; + CudaMemWrapper vr_eff_d_; +}; + +} \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga.cpp b/source/source_lcao/module_gint/gint_vl_metagga.cpp similarity index 95% rename from source/source_lcao/module_gint/temp_gint/gint_vl_metagga.cpp rename to source/source_lcao/module_gint/gint_vl_metagga.cpp index 56dd2ff6b0..a24fe5fe86 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga.cpp +++ b/source/source_lcao/module_gint/gint_vl_metagga.cpp @@ -40,8 +40,9 @@ void Gint_vl_metagga::cal_hr_gint_() std::vector dphi_y_vldr3; std::vector dphi_z_vldr3; #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { + const auto& biggrid = gint_info_->get_biggrids()[i]; if(biggrid->get_atoms().size() == 0) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga.h b/source/source_lcao/module_gint/gint_vl_metagga.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/gint_vl_metagga.h rename to source/source_lcao/module_gint/gint_vl_metagga.h diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_gpu.cpp b/source/source_lcao/module_gint/gint_vl_metagga_gpu.cpp similarity index 96% rename from source/source_lcao/module_gint/temp_gint/gint_vl_metagga_gpu.cpp rename to source/source_lcao/module_gint/gint_vl_metagga_gpu.cpp index 9c2dad8421..0dd101693d 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_gpu.cpp +++ b/source/source_lcao/module_gint/gint_vl_metagga_gpu.cpp @@ -64,8 +64,9 @@ void Gint_vl_metagga_gpu::cal_hr_gint_() CudaMemWrapper dphi_y_vldr3(BatchBigGrid::get_max_phi_len(), stream, false); CudaMemWrapper dphi_z_vldr3(BatchBigGrid::get_max_phi_len(), stream, false); #pragma omp for schedule(dynamic) - for(const auto& bgrid_batch: gint_info_->get_bgrid_batches()) + for (int i = 0; i < gint_info_->get_bgrid_batches_num(); ++i) { + const auto& bgrid_batch = gint_info_->get_bgrid_batches()[i]; if(bgrid_batch->empty()) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_gpu.h b/source/source_lcao/module_gint/gint_vl_metagga_gpu.h similarity index 93% rename from source/source_lcao/module_gint/temp_gint/gint_vl_metagga_gpu.h rename to source/source_lcao/module_gint/gint_vl_metagga_gpu.h index aabae7e52f..f55c409c66 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_gpu.h +++ b/source/source_lcao/module_gint/gint_vl_metagga_gpu.h @@ -5,7 +5,7 @@ #include "source_lcao/module_hcontainer/hcontainer.h" #include "gint.h" #include "gint_info.h" -#include "source_lcao/module_gint/temp_gint/kernel/cuda_mem_wrapper.h" +#include "source_lcao/module_gint/kernel/cuda_mem_wrapper.h" namespace ModuleGint { diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4.cpp b/source/source_lcao/module_gint/gint_vl_metagga_nspin4.cpp similarity index 91% rename from source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4.cpp rename to source/source_lcao/module_gint/gint_vl_metagga_nspin4.cpp index d5880600b0..229152ea9b 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4.cpp +++ b/source/source_lcao/module_gint/gint_vl_metagga_nspin4.cpp @@ -14,8 +14,7 @@ void Gint_vl_metagga_nspin4::cal_gint() ModuleBase::timer::tick("Gint", "cal_gint_vl"); init_hr_gint_(); cal_hr_gint_(); - compose_hr_gint(hr_gint_part_, hr_gint_full_); - transfer_hr_gint_to_hR(hr_gint_full_, *hR_); + merge_hr_part_to_hR(hr_gint_part_, hR_, *gint_info_); ModuleBase::timer::tick("Gint", "cal_gint_vl"); } @@ -26,8 +25,6 @@ void Gint_vl_metagga_nspin4::init_hr_gint_() { hr_gint_part_[i] = gint_info_->get_hr(); } - const int npol = 2; - hr_gint_full_ = gint_info_->get_hr>(npol); } void Gint_vl_metagga_nspin4::cal_hr_gint_() @@ -44,8 +41,9 @@ void Gint_vl_metagga_nspin4::cal_hr_gint_() std::vector dphi_y_vldr3; std::vector dphi_z_vldr3; #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { + const auto& biggrid = gint_info_->get_biggrids()[i]; if(biggrid->get_atoms().size() == 0) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4.h b/source/source_lcao/module_gint/gint_vl_metagga_nspin4.h similarity index 94% rename from source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4.h rename to source/source_lcao/module_gint/gint_vl_metagga_nspin4.h index 12722fef21..138cb1a277 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4.h +++ b/source/source_lcao/module_gint/gint_vl_metagga_nspin4.h @@ -37,7 +37,6 @@ class Gint_vl_metagga_nspin4 : public Gint const int nspin_ = 4; std::vector> hr_gint_part_; - HContainer> hr_gint_full_; }; } \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4_gpu.cpp b/source/source_lcao/module_gint/gint_vl_metagga_nspin4_gpu.cpp similarity index 94% rename from source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4_gpu.cpp rename to source/source_lcao/module_gint/gint_vl_metagga_nspin4_gpu.cpp index 9adc4cb137..6cc178bb9c 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4_gpu.cpp +++ b/source/source_lcao/module_gint/gint_vl_metagga_nspin4_gpu.cpp @@ -13,8 +13,7 @@ void Gint_vl_metagga_nspin4_gpu::cal_gint() ModuleBase::timer::tick("Gint", "cal_gint_vl"); init_hr_gint_(); cal_hr_gint_(); - compose_hr_gint(hr_gint_part_, hr_gint_full_); - transfer_hr_gint_to_hR(hr_gint_full_, *hR_); + merge_hr_part_to_hR(hr_gint_part_, hR_, *gint_info_); ModuleBase::timer::tick("Gint", "cal_gint_vl"); } @@ -25,8 +24,6 @@ void Gint_vl_metagga_nspin4_gpu::init_hr_gint_() { hr_gint_part_[i] = gint_info_->get_hr(); } - const int npol = 2; - hr_gint_full_ = gint_info_->get_hr>(npol); } void Gint_vl_metagga_nspin4_gpu::transfer_cpu_to_gpu_() @@ -75,8 +72,9 @@ void Gint_vl_metagga_nspin4_gpu::cal_hr_gint_() CudaMemWrapper dphi_y_vldr3(BatchBigGrid::get_max_phi_len(), stream, false); CudaMemWrapper dphi_z_vldr3(BatchBigGrid::get_max_phi_len(), stream, false); #pragma omp for schedule(dynamic) - for(const auto& bgrid_batch: gint_info_->get_bgrid_batches()) + for (int i = 0; i < gint_info_->get_bgrid_batches_num(); ++i) { + const auto& bgrid_batch = gint_info_->get_bgrid_batches()[i]; if(bgrid_batch->empty()) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4_gpu.h b/source/source_lcao/module_gint/gint_vl_metagga_nspin4_gpu.h similarity index 89% rename from source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4_gpu.h rename to source/source_lcao/module_gint/gint_vl_metagga_nspin4_gpu.h index fd967a63ec..9c1b8ca166 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_metagga_nspin4_gpu.h +++ b/source/source_lcao/module_gint/gint_vl_metagga_nspin4_gpu.h @@ -5,7 +5,7 @@ #include "source_lcao/module_hcontainer/hcontainer.h" #include "gint.h" #include "gint_info.h" -#include "source_lcao/module_gint/temp_gint/kernel/cuda_mem_wrapper.h" +#include "source_lcao/module_gint/kernel/cuda_mem_wrapper.h" namespace ModuleGint { @@ -42,7 +42,6 @@ class Gint_vl_metagga_nspin4_gpu : public Gint const int nspin_ = 4; std::vector> hr_gint_part_; - HContainer> hr_gint_full_; std::vector> vr_eff_d_; std::vector> vofk_d_; diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_nspin4.cpp b/source/source_lcao/module_gint/gint_vl_nspin4.cpp similarity index 85% rename from source/source_lcao/module_gint/temp_gint/gint_vl_nspin4.cpp rename to source/source_lcao/module_gint/gint_vl_nspin4.cpp index 56aca5edeb..576200397a 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_nspin4.cpp +++ b/source/source_lcao/module_gint/gint_vl_nspin4.cpp @@ -13,8 +13,7 @@ void Gint_vl_nspin4::cal_gint() ModuleBase::timer::tick("Gint", "cal_gint_vl"); init_hr_gint_(); cal_hr_gint_(); - compose_hr_gint(hr_gint_part_, hr_gint_full_); - transfer_hr_gint_to_hR(hr_gint_full_, *hR_); + merge_hr_part_to_hR(hr_gint_part_, hR_, *gint_info_); ModuleBase::timer::tick("Gint", "cal_gint_vl"); } @@ -25,8 +24,6 @@ void Gint_vl_nspin4::init_hr_gint_() { hr_gint_part_[i] = gint_info_->get_hr(); } - const int npol = 2; - hr_gint_full_ = gint_info_->get_hr>(npol); } void Gint_vl_nspin4::cal_hr_gint_() @@ -37,8 +34,9 @@ void Gint_vl_nspin4::cal_hr_gint_() std::vector phi; std::vector phi_vldr3; #pragma omp for schedule(dynamic) - for(const auto& biggrid: gint_info_->get_biggrids()) + for (int i = 0; i < gint_info_->get_bgrids_num(); i++) { + const auto& biggrid = gint_info_->get_biggrids()[i]; if(biggrid->get_atoms().size() == 0) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_nspin4.h b/source/source_lcao/module_gint/gint_vl_nspin4.h similarity index 94% rename from source/source_lcao/module_gint/temp_gint/gint_vl_nspin4.h rename to source/source_lcao/module_gint/gint_vl_nspin4.h index eed9827242..97aa47ca58 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_nspin4.h +++ b/source/source_lcao/module_gint/gint_vl_nspin4.h @@ -39,7 +39,6 @@ class Gint_vl_nspin4 : public Gint const int nspin_ = 4; std::vector> hr_gint_part_; - HContainer> hr_gint_full_; }; } // namespace ModuleGint \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_nspin4_gpu.cpp b/source/source_lcao/module_gint/gint_vl_nspin4_gpu.cpp similarity index 91% rename from source/source_lcao/module_gint/temp_gint/gint_vl_nspin4_gpu.cpp rename to source/source_lcao/module_gint/gint_vl_nspin4_gpu.cpp index c070258db5..d5c21ef71d 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_nspin4_gpu.cpp +++ b/source/source_lcao/module_gint/gint_vl_nspin4_gpu.cpp @@ -13,8 +13,7 @@ void Gint_vl_nspin4_gpu::cal_gint() ModuleBase::timer::tick("Gint", "cal_gint_vl"); init_hr_gint_(); cal_hr_gint_(); - compose_hr_gint(hr_gint_part_, hr_gint_full_); - transfer_hr_gint_to_hR(hr_gint_full_, *hR_); + merge_hr_part_to_hR(hr_gint_part_, hR_, *gint_info_); ModuleBase::timer::tick("Gint", "cal_gint_vl"); } @@ -25,8 +24,6 @@ void Gint_vl_nspin4_gpu::init_hr_gint_() { hr_gint_part_[i] = gint_info_->get_hr(); } - const int npol = 2; - hr_gint_full_ = gint_info_->get_hr>(npol); } void Gint_vl_nspin4_gpu::transfer_cpu_to_gpu_() @@ -66,8 +63,9 @@ void Gint_vl_nspin4_gpu::cal_hr_gint_() CudaMemWrapper phi(BatchBigGrid::get_max_phi_len(), stream, false); CudaMemWrapper phi_vldr3(BatchBigGrid::get_max_phi_len(), stream, false); #pragma omp for schedule(dynamic) - for(const auto& bgrid_batch: gint_info_->get_bgrid_batches()) + for (int i = 0; i < gint_info_->get_bgrid_batches_num(); ++i) { + const auto& bgrid_batch = gint_info_->get_bgrid_batches()[i]; if(bgrid_batch->empty()) { continue; diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_nspin4_gpu.h b/source/source_lcao/module_gint/gint_vl_nspin4_gpu.h similarity index 90% rename from source/source_lcao/module_gint/temp_gint/gint_vl_nspin4_gpu.h rename to source/source_lcao/module_gint/gint_vl_nspin4_gpu.h index 81215b33ac..2e1aa1a475 100644 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_nspin4_gpu.h +++ b/source/source_lcao/module_gint/gint_vl_nspin4_gpu.h @@ -5,7 +5,7 @@ #include "source_lcao/module_hcontainer/hcontainer.h" #include "gint.h" #include "gint_info.h" -#include "source_lcao/module_gint/temp_gint/kernel/cuda_mem_wrapper.h" +#include "source_lcao/module_gint/kernel/cuda_mem_wrapper.h" namespace ModuleGint { @@ -44,7 +44,6 @@ class Gint_vl_nspin4_gpu : public Gint const int nspin_ = 4; std::vector> hr_gint_part_; - HContainer> hr_gint_full_; std::vector> vr_eff_d_; std::vector> hr_gint_part_d_; diff --git a/source/source_lcao/module_gint/gint_vl_old.cpp b/source/source_lcao/module_gint/gint_vl_old.cpp deleted file mode 100644 index 9ebc341d7f..0000000000 --- a/source/source_lcao/module_gint/gint_vl_old.cpp +++ /dev/null @@ -1,94 +0,0 @@ -#include "source_base/global_function.h" -#include "source_base/global_variable.h" -#include "gint_k.h" -#include "source_basis/module_ao/ORB_read.h" -#include "grid_technique.h" -#include "source_base/ylm.h" -#include "source_pw/module_pwdft/global.h" -#include "source_base/timer.h" -#include "source_base/array_pool.h" -#include "source_base/vector3.h" -//#include - -#ifdef _OPENMP -#include -#endif - -#ifdef __MKL -#include -#endif - -// this is a thread-safe function -void Gint::cal_meshball_vlocal( - const int na_grid, // how many atoms on this (i,j,k) grid - const int LD_pool, - const int*const block_size, // block_size[na_grid], number of columns of a band - const int*const block_index, // block_index[na_grid+1], count total number of atomis orbitals - const int grid_index, // index of grid group, for tracing global atom index - const bool*const*const cal_flag, // cal_flag[this->bxyz][na_grid], whether the atom-grid distance is larger than cutoff - const double*const*const psir_ylm, // psir_ylm[this->bxyz][LD_pool] - const double*const*const psir_vlbr3, // psir_vlbr3[this->bxyz][LD_pool] - hamilt::HContainer* hR) // this->hRGint is the container of matrix element. -{ - const char transa='N', transb='T'; - const double alpha=1, beta=1; - const int lgd_now = this->gridt->lgd; - - const int mcell_index = this->gridt->bcell_start[grid_index]; - std::vector hr_tmp; - for(int ia1=0; ia1gridt->which_atom[bcell1]; - const int id1 = this->gridt->which_unitcell[bcell1]; - const ModuleBase::Vector3 r1 = this->gridt->get_ucell_coords(id1); - - for(int ia2=0; ia2gridt->which_atom[bcell2]; - const int id2 = this->gridt->which_unitcell[bcell2]; - const ModuleBase::Vector3 r2 = this->gridt->get_ucell_coords(id2); - - if(iat1<=iat2) - { - int first_ib=0; - for(int ib=0; ibbxyz; ++ib) - { - if(cal_flag[ib][ia1] && cal_flag[ib][ia2]) - { - first_ib=ib; - break; - } - } - int last_ib=0; - for(int ib=this->bxyz-1; ib>=0; --ib) - { - if(cal_flag[ib][ia1] && cal_flag[ib][ia2]) - { - last_ib=ib+1; - break; - } - } - const int ib_length = last_ib-first_ib; - if(ib_length<=0) { continue; } - - const auto tmp_matrix = hR->find_matrix(iat1, iat2, r1-r2); - if (tmp_matrix == nullptr) - { - continue; - } - const int m = tmp_matrix->get_row_size(); - const int n = tmp_matrix->get_col_size(); - hr_tmp.resize(m * n); - ModuleBase::GlobalFunc::ZEROS(hr_tmp.data(), m*n); - - dgemm_(&transa, &transb, &n, &m, &ib_length, &alpha, - &psir_vlbr3[first_ib][block_index[ia2]], &LD_pool, - &psir_ylm[first_ib][block_index[ia1]], &LD_pool, - &beta, hr_tmp.data(), &n); - tmp_matrix->add_array_ts(hr_tmp.data()); - } - } - } -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/grid_bigcell.cpp b/source/source_lcao/module_gint/grid_bigcell.cpp deleted file mode 100644 index ec5b29970c..0000000000 --- a/source/source_lcao/module_gint/grid_bigcell.cpp +++ /dev/null @@ -1,363 +0,0 @@ -#include "grid_bigcell.h" - -#include "source_io/module_parameter/parameter.h" -#include "source_base/memory.h" -#include "source_base/timer.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_pw/module_pwdft/global.h" -#include "source_cell/unitcell.h" -Grid_BigCell::Grid_BigCell() -{ - this->orbital_rmax = 0.0; - this->nxe = this->nye = this->nze = 0; - this->dxe = 0; - this->dye = 0; - this->dze = 0; - this->nxe = 0; - this->nye = 0; - this->nze = 0; - this->nxyze = 0; -} - -Grid_BigCell::~Grid_BigCell() -{ -} - -void Grid_BigCell::init_big_latvec(const UnitCell& ucell) -{ - ModuleBase::TITLE("Grid_BigCell","init_big_latvec"); - // initialize the mesh cell vectors. - assert(nbx>0); - assert(nby>0); - assert(nbz>=0); - - this->nat=ucell.nat; - //size of each big room (same shape with unitcell) - this->bigcell_vec1=std::vector(3,0.0); - this->bigcell_vec1[0]=ucell.a1.x / (double)nbx * ucell.lat0; - this->bigcell_vec1[1]=ucell.a1.y / (double)nbx * ucell.lat0; - this->bigcell_vec1[2]=ucell.a1.z / (double)nbx * ucell.lat0; - - this->bigcell_vec2=std::vector(3,0.0); - this->bigcell_vec2[0]=ucell.a2.x / (double)nby * ucell.lat0; - this->bigcell_vec2[1]=ucell.a2.y / (double)nby * ucell.lat0; - this->bigcell_vec2[2]=ucell.a2.z / (double)nby * ucell.lat0; - - this->bigcell_vec3=std::vector(3,0.0); - this->bigcell_vec3[0]=ucell.a3.x / (double)nbz * ucell.lat0; - this->bigcell_vec3[1]=ucell.a3.y / (double)nbz * ucell.lat0; - this->bigcell_vec3[2]=ucell.a3.z / (double)nbz * ucell.lat0; - - this->bigcell_latvec0.e11 = this->bigcell_vec1[0]; - this->bigcell_latvec0.e12 = this->bigcell_vec1[1]; - this->bigcell_latvec0.e13 = this->bigcell_vec1[2]; - - this->bigcell_latvec0.e21 = this->bigcell_vec2[0]; - this->bigcell_latvec0.e22 = this->bigcell_vec2[1]; - this->bigcell_latvec0.e23 = this->bigcell_vec2[2]; - - this->bigcell_latvec0.e31 = this->bigcell_vec3[0]; - this->bigcell_latvec0.e32 = this->bigcell_vec3[1]; - this->bigcell_latvec0.e33 = this->bigcell_vec3[2]; - - // why we need GT = bigcell_latvec0^(-1)? - // note that (i,j,k) is a grid point. - // (x,y,z) is the cartesian coordinates. - // because - // (x,y,z) = (i,j,k) * bigcell_latvec0 - // once we know (x,y,z) and bigcell_latvec0 - // we need to transform the formula to - // (x,y,z) * bigcell_latvec0^(-1) = (i,j,k) - this->bigcell_GT = this->bigcell_latvec0.Inverse(); - - if(PARAM.inp.test_gridt) - { - GlobalV::ofs_running << " the VECTORS of BIGCELL are (Bohr): " << std::endl; - GlobalV::ofs_running << " vec1( " - << std::setw(15) << bigcell_vec1[0] - << std::setw(15) << bigcell_vec1[1] - << std::setw(15) << bigcell_vec1[2] - << ")" << std::endl; - - GlobalV::ofs_running << " vec2( " - << std::setw(15) << bigcell_vec2[0] - << std::setw(15) << bigcell_vec2[1] - << std::setw(15) << bigcell_vec2[2] - << ")" << std::endl; - - GlobalV::ofs_running << " vec3( " - << std::setw(15) << bigcell_vec3[0] - << std::setw(15) << bigcell_vec3[1] - << std::setw(15) << bigcell_vec3[2] - << ")" << std::endl; - } - return; -} - - -void Grid_BigCell::init_grid_expansion(const UnitCell& ucell,double* rcut) -{ - ModuleBase::TITLE("Grid_BigCell","init_grid_expansion"); - - // calculate the max cutoff radius among all orbitals. - // then we will use this parameter to generate grid expansion. - - for(int T=0; Torbital_rmax = std::max( rcut[T], this->orbital_rmax); - } - if(PARAM.inp.test_gridt)ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"rmax of periodic grid (bohr)",orbital_rmax); - - // mohan fixed serious bug 2010-03-06 - // G = GT^T - // g1 = the norm of first std::vector of G - // g2 = the norm of second std::vector of G - // g3 = the norm of third std::vector of G - double g1 = sqrt(bigcell_GT.e11 * bigcell_GT.e11 - + bigcell_GT.e21 * bigcell_GT.e21 - + bigcell_GT.e31 * bigcell_GT.e31); - - double g2 = sqrt(bigcell_GT.e12 * bigcell_GT.e12 - + bigcell_GT.e22 * bigcell_GT.e22 - + bigcell_GT.e32 * bigcell_GT.e32); - - double g3 = sqrt(bigcell_GT.e13 * bigcell_GT.e13 - + bigcell_GT.e23 * bigcell_GT.e23 - + bigcell_GT.e33 * bigcell_GT.e33); - - // we assume the added bigcell can present even the atom - // is at the edge of the origin grid. - // mohan add +1, 2011-04-23 - this->dxe = static_cast( this->orbital_rmax * g1) +1; - this->dye = static_cast( this->orbital_rmax * g2) +1; - this->dze = static_cast( this->orbital_rmax * g3) +1; - //xiaohui add 'PARAM.inp.out_level' line, 2015-09-16 - if(PARAM.inp.out_level != "m") ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"extended fft grid",dxe,dye,dze); - - // calculate the dimension of expanded grid. - // +1 in order to cover the spillage atom on the right side. - assert(nbx>0); - assert(nby>0); - assert(nbz>=0); - - this->nxe = nbx + 2*dxe +1; - this->nye = nby + 2*dye +1; - this->nze = nbz + 2*dze +1; - this->nxyze = this->nxe * this->nye * this->nze; - - if(PARAM.inp.out_level != "m") ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"dimension of extened grid",nxe,nye,nze); - return; -} - - -void Grid_BigCell::init_tau_in_bigcell(const UnitCell& ucell) -{ - ModuleBase::TITLE("Grid_BigCell","init_tau_in_bigcell"); - - // allcoate space for atom positions relative - // to meshcell. - this->tau_in_bigcell = std::vector>(ucell.nat,std::vector(3,0.0)); - ModuleBase::Memory::record("tau_in_bigcell", sizeof(double) * ucell.nat*3); - // allocate space, these arrays record which meshcell - // the atom is in. - this->index_atom = std::vector(ucell.nat, 0); - ModuleBase::Memory::record("index_atom", sizeof(double) * ucell.nat); - - // get the fraction number of (i,j,k) - ModuleBase::Vector3 fraction; - int iat=0; - int ii,jj,kk; - double delta[3]; - for(int it=0; itbigcell_GT; - - //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - // mohan add 2012-07-03, - // this can make sure faction are always larger than 0. - //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - fraction.x = ucell.atoms[it].taud[ia].x / (1.0/(double)nbx); - fraction.y = ucell.atoms[it].taud[ia].y / (1.0/(double)nby); - fraction.z = ucell.atoms[it].taud[ia].z / (1.0/(double)nbz); - - // never use the following, especially for k-algorithm, - // it may move the atom to a cell that it doesn't belong - // to - //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - // mohan add 2012-06-07 - // fraction may be very very small, about -1.0e-15, - // and the fraction must > 0, so I use periodic boundary condition -// if( fraction.x < 0.0 ) fraction.x += nxe; -// if( fraction.y < 0.0 ) fraction.y += nye; -// if( fraction.z < 0.0 ) fraction.z += nze; - - - - if( fraction.x < 0 || fraction.y < 0 || fraction.z < 0) - { - std::cout << " Atom positions " << std::endl; - std::cout << ucell.atoms[it].tau[ia].x << " " ; - std::cout << ucell.atoms[it].tau[ia].y << " " ; - std::cout << ucell.atoms[it].tau[ia].z << " " ; - std::cout << " fraction " << std::endl; - std::cout << fraction.x << " "; - std::cout << fraction.y << " "; - std::cout << fraction.z << " "; - std::cout << std::endl; - ModuleBase::WARNING_QUIT("Grid_BigCell::init_tau_in_bigcell","fraction.x<0 || fraction.y<0 || fraction.z<0"); - } - - assert(fraction.x >= 0.0); - assert(fraction.y >= 0.0); - assert(fraction.z >= 0.0); - - // make clean which meshcell the atom is in. - ii = static_cast(fraction.x+1.0e-8); - jj = static_cast(fraction.y+1.0e-8); - kk = static_cast(fraction.z+1.0e-8); - - // calculate the index of each corresponding meshcell. - // Notice ! In fact, we need to minus ii,jj,kk by 1. - // to label the atom belong to which meshcell - // in a usual way: left, down corner. - // if we dont' do this, means the start position - // of atom is another tyep: right,up corner. - // which cause minus atom position in grid integration. - - // index_atom: atom 'iat' index in extended grid. - this->index_atom[iat] = (kk+dze) + (jj+dye) * this->nze + (ii+dxe) * this->nye * this->nze; - - /* - if(index_atom[iat]==3483935) - { - std::cout << "\n i=" << kk+dze << " j=" << jj+dye << " k=" << ii+dxe; - BLOCK_HERE("check index atom"); - } - */ - - // get the relative position in direct coordinate. - delta[0] = fraction.x - (double)ii; - delta[1] = fraction.y - (double)jj; - delta[2] = fraction.z - (double)kk; - - if( std::abs(delta[0]) < 1.0e-8) delta[0] = 0.0; - if( std::abs(delta[1]) < 1.0e-8) delta[1] = 0.0; - if( std::abs(delta[2]) < 1.0e-8) delta[2] = 0.0; - -// std::cout << " fraction=" << fraction.x << " " << fraction.y << " " << fraction.z << std::endl; -// std::cout << " delta=" << delta[0] << " " << delta[1] << " " << delta[2] << std::endl; - - // get the true relative cartesian coordinate of each atom to the coresponding - // meshcell. - for(int ic=0; ic<3; ic++) - { - this->tau_in_bigcell[iat][ic] = - delta[0] * this->bigcell_vec1[ic] + - delta[1] * this->bigcell_vec2[ic] + - delta[2] * this->bigcell_vec3[ic]; - } - - ++iat; - } - } - - return; -} - -// (3) -// if f2normal == true, calculate the index2normal. -// if f2normal == false, calculate the index2cell. -void Grid_BigCell::grid_expansion_index(bool f2normal, int *target)const -{ - ModuleBase::TITLE("Grid_BigCell","grid_expansion_index"); - ModuleBase::timer::tick("Grid_BigCell","grid_expansion_index"); - - int ii,jj,kk,in_ext,in_normal; - for(int i=0; inxe; i++) - { - for(int j=0; jnye; j++) - { - for(int k=0; knze; k++) - { - in_ext = k + j * this->nze + i * this->nye * this->nze; - - // range from [-dxe,ncx+dxe] - ii = i - this->dxe; - jj = j - this->dye; - kk = k - this->dze; - - //--------------------------------------------------- - // mohan add 2010-10-28 - // be careful of the box. - // it's useful only when k points are used in LCAO. - // for example, we construct a 2D supercell - // and using 32 * 32 FFT grid (bigcell ) to do - // grid integration, - // then the first cell (0,0) along x is [0,31) - // others are: - // cell index: (-2,0) , (-1,0) , (0,0), (0,1) - // fft index: [-64,-33], [-32,-1], [0,31], [32,63]. - // look at the formulas below, - // at first, we take grid_index2ucell1=(ii/nbx) - // but then we found it is wrong if ii < 0. - // for example, if ii is -31, the box is -1, - // so we add -1, the formula turns to ii/nbx-1, - // but if ii is -32, the box is -1-1 = -2, not correct. - // so we add 1 to ii, the box will be -31/32-1=-1, correct! - // the formula is (ii+1)/nbx-1, - // if ii is -1, the box is still -1, correct! - // if ii is -33, the box is -2, correct! - //--------------------------------------------------- - - int cel1, cel2, cel3; - - if(ii<0) cel1 = (ii+1) / nbx - 1; - else cel1 = ii / nbx; - if(jj<0) cel2 = (jj+1) / nby - 1; - else cel2 = jj / nby; - if(kk<0) cel3 = (kk+1) / nbz - 1; - else cel3 = kk / nbz; - - if(!f2normal) - { - // target: index2ucell - target[in_ext] = this->cal_Rindex(cel1, cel2, cel3); - } - else - { - // if ii < 0, we need to make ii > 0. - // so we add 10000 layers. It should be enough. - // ii, jj, kk shoudl -- ????????????? - ii = (ii + 10000 * nbx) % nbx; - jj = (jj + 10000 * nby) % nby; - kk = (kk + 10000 * nbz) % nbz; - - assert(ii>=0); - assert(jj>=0); - assert(kk>=0); - - assert( in_ext < nxyze); - - if(ii> tau_in_bigcell; - - /// move operator for the next ESolver to directly use its infomation - Grid_BigCell& operator=(Grid_BigCell&& rhs) = default; - - protected: - // get the max radius of all orbitals - // which will use to generate grid expansion, - // and the meshball. - double orbital_rmax; - - // the added number of bigcelli each direction. - int dxe; - int dye; - int dze; - - // expansion grid dimension. - int nxe; - int nye; - int nze; - int nxyze; - - std::vector index_atom; - - // save the position of base vector of bigcell. - std::vector bigcell_vec1; - std::vector bigcell_vec2; - std::vector bigcell_vec3; - - ModuleBase::Matrix3 bigcell_latvec0; - ModuleBase::Matrix3 bigcell_GT; - - //--------------------------------- - void grid_expansion_index(bool f2normal, int *target)const; - //--------------------------------- - void init_big_latvec(const UnitCell &ucell); - //--------------------------------- - void init_tau_in_bigcell(const UnitCell& ucell); - //--------------------------------- - void init_grid_expansion(const UnitCell& ucell,double* rcut); -}; -#endif diff --git a/source/source_lcao/module_gint/grid_meshball.cpp b/source/source_lcao/module_gint/grid_meshball.cpp deleted file mode 100644 index 464ea8d962..0000000000 --- a/source/source_lcao/module_gint/grid_meshball.cpp +++ /dev/null @@ -1,142 +0,0 @@ -#include "grid_meshball.h" -#include "source_base/memory.h" -#include "source_io/module_parameter/parameter.h" - -Grid_MeshBall::Grid_MeshBall() -{ -} - -Grid_MeshBall::~Grid_MeshBall() -{ -} - -void Grid_MeshBall::init_meshball() -{ - ModuleBase::TITLE("Grid_MeshBall","init_meshball"); - - // init meshball_radius, generally the value - // is same as orbital_rmax, of course you can - // incrase meshball_radius, but there will be - // no atoms in the added bigcells. - // (in case subcell are too many). - this->meshball_radius = this->orbital_rmax; - - // select a ball in a cubic. - double pos[3]; - double r2=0.0; - - //------------------------------------------------------------------ - // const double rcut2 = this->meshball_radius * this->meshball_radius; - // qianrui fix a bug and add 0.001 2022-4-30 - // Sometimes r2 is equal to rcut2, for example they are 36. - // However, r2 is either 35.99.. or 36.0..001, which makes count != this->meshball_ncells - // and segment fault. - // I do not know how to solve it and this may occurs in somewhere else in ABACUS. - // May some genius can give a better solution. - //------------------------------------------------------------------ - const double rcut2 = this->meshball_radius * this->meshball_radius + 0.001; - - //------------------------------------------------------------------- - // calculate twice, the first time find the number of mesh points, - // then allocate array and save each bigcell's cartesian coordinate. - // plus one because we need to cover atom spillage. - // meshball_ncells: How many cells in mesh ball. - //------------------------------------------------------------------- - this->meshball_ncells = 0; - for(int i=-dxe; ideal_with_atom_spillage( pos ); - //r2 = pos[0]*pos[0]+pos[1]*pos[1]+pos[2]*pos[2]; - - // calculate the distance. - if( r2 < rcut2 ) - { - ++meshball_ncells; - } - } - } - } - if(PARAM.inp.test_gridt) {ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, "how many cells in meshball",this->meshball_ncells); -} - - // prepare for the second calculation. - this->meshball_positions = std::vector>(meshball_ncells, std::vector(3, 0.0)); - ModuleBase::Memory::record("meshball_pos", sizeof(double) * meshball_ncells*3); - this->index_ball = std::vector(meshball_ncells); - ModuleBase::Memory::record("index_ball", sizeof(int) * meshball_ncells); - - // second time. - int count = 0; - for(int i=-dxe; idxe+1; i++) - { - for(int j=-dye; jdye+1; j++) - { - for(int k=-dze; kdze+1; k++) - { - // caclculate the std::vector away from 'zero point'. - // change to cartesian coordinates. - for(int ip=0; ip<3; ip++) - { - pos[ip] = i*bigcell_vec1[ip]+j*bigcell_vec2[ip]+k*bigcell_vec3[ip]; - } - r2 = this->deal_with_atom_spillage( pos ); - - // calculate the distance. - if( r2 < rcut2 ) - { - for(int ip=0; ip<3; ip++) - { - this->meshball_positions[count][ip] = pos[ip]; - } - - // record each position. - this->index_ball[count] = k + j * this->nze + i * this->nye * this->nze; - ++count; - } - } - } - } - - assert(count == this->meshball_ncells); - return; -} - -double Grid_MeshBall::deal_with_atom_spillage(const double *pos) -{ - double dx; - double r2 = 100000; - double *cell=new double[3]; - - for(int i=-1; i<=1; i++) - { - for(int j=-1; j<=1; j++) - { - for(int k=-1; k<=1; k++) - { - dx = 0.0; - for(int ip=0; ip<3; ip++) - { - // change to cartesian coordinates. - cell[ip] = i*this->bigcell_vec1[ip] + - j*this->bigcell_vec2[ip] + - k*this->bigcell_vec3[ip]; - dx += (cell[ip] - pos[ip]) * (cell[ip] - pos[ip]); - } - r2 = std::min(dx, r2); - } - } - } - delete[] cell; - return r2; -} - - diff --git a/source/source_lcao/module_gint/grid_meshball.h b/source/source_lcao/module_gint/grid_meshball.h deleted file mode 100644 index 571d59126e..0000000000 --- a/source/source_lcao/module_gint/grid_meshball.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef GRID_MESHBALL_H -#define GRID_MESHBALL_H - -#include "grid_bigcell.h" - -class Grid_MeshBall : public Grid_BigCell -{ - public: - Grid_MeshBall(); - ~Grid_MeshBall(); - // cartesian coordinates of meshball. - std::vector> meshball_positions; - - /// move operator for the next ESolver to directly use its infomation - Grid_MeshBall& operator=(Grid_MeshBall&& rhs) = default; - - protected: - // number of meshcells in meshball. - int meshball_ncells=0; - // used in index2normal - std::vector index_ball; - // search each meshcell of this meshball. - void init_meshball(void); - - private: - // init the meshball radius. - double meshball_radius=0.0; - // Handle as a truncation function. - double deal_with_atom_spillage(const double* pos); - -}; -#endif diff --git a/source/source_lcao/module_gint/grid_meshcell.cpp b/source/source_lcao/module_gint/grid_meshcell.cpp deleted file mode 100644 index 77e933c55d..0000000000 --- a/source/source_lcao/module_gint/grid_meshcell.cpp +++ /dev/null @@ -1,168 +0,0 @@ -#include "grid_meshcell.h" - -#include "source_io/module_parameter/parameter.h" -#include "source_base/memory.h" -#include "source_pw/module_pwdft/global.h" - -Grid_MeshCell::Grid_MeshCell() -{ -} - -Grid_MeshCell::~Grid_MeshCell() -{ -} - -void Grid_MeshCell::set_grid_dim( - const int &ncx_in, - const int &ncy_in, - const int &ncz_in, - const int &bx_in, - const int &by_in, - const int &bz_in, - const int &nbx_in, - const int &nby_in, - const int &nbz_in, - const int &nbxx_in, - const int &nbzp_start_in, - const int &nbzp_in - ) -{ - this->ncx = ncx_in; - this->ncy = ncy_in; - this->ncz = ncz_in; - this->ncxyz = ncx * ncy * ncz; - this->bx = bx_in; - this->by = by_in; - this->bz = bz_in; - this->bxyz = bx*by*bz; - this->nbx = nbx_in; - this->nby = nby_in; - this->nbz = nbz_in; - this->nbxyz = nbx*nby*nbz; - this->nbxx = nbxx_in; - this->nbzp_start = nbzp_start_in; - this->nbzp = nbzp_in; - - - //xiaohui add 'PARAM.inp.out_level' line, 2015-09-16 - if(PARAM.inp.out_level != "m") - { - ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"real space grid",ncx,ncy,ncz); // real space uniform grid - } - - if(PARAM.inp.out_level != "m") - { - ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"big cell numbers in grid",nbx,nby,nbz); // reduced by BIG_CELL - } - - if(PARAM.inp.out_level != "m") - { - ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"meshcell numbers in big cell",bx,by,bz); // is small integer, typical number 2*2*2 - } - - return; -} - - - -// (1) -void Grid_MeshCell::init_latvec(const UnitCell &ucell) -{ - ModuleBase::TITLE("Grid_MeshCell","init_latvec"); - // initialize the mesh cell vectors. - assert(ncx>0); - assert(ncy>0); - assert(ncz>0); - - //size of each room (same shape with unitcell) - this->meshcell_vec1=std::vector(3,0.0); - this->meshcell_vec1[0]=ucell.a1.x / (double)ncx * ucell.lat0; - this->meshcell_vec1[1]=ucell.a1.y / (double)ncx * ucell.lat0; - this->meshcell_vec1[2]=ucell.a1.z / (double)ncx * ucell.lat0; - - this->meshcell_vec2=std::vector(3,0.0); - this->meshcell_vec2[0]=ucell.a2.x / (double)ncy * ucell.lat0; - this->meshcell_vec2[1]=ucell.a2.y / (double)ncy * ucell.lat0; - this->meshcell_vec2[2]=ucell.a2.z / (double)ncy * ucell.lat0; - - this->meshcell_vec3=std::vector(3,0.0); - this->meshcell_vec3[0]=ucell.a3.x / (double)ncz * ucell.lat0; - this->meshcell_vec3[1]=ucell.a3.y / (double)ncz * ucell.lat0; - this->meshcell_vec3[2]=ucell.a3.z / (double)ncz * ucell.lat0; - - this->meshcell_latvec0.e11 = this->meshcell_vec1[0]; - this->meshcell_latvec0.e12 = this->meshcell_vec1[1]; - this->meshcell_latvec0.e13 = this->meshcell_vec1[2]; - - this->meshcell_latvec0.e21 = this->meshcell_vec2[0]; - this->meshcell_latvec0.e22 = this->meshcell_vec2[1]; - this->meshcell_latvec0.e23 = this->meshcell_vec2[2]; - - this->meshcell_latvec0.e31 = this->meshcell_vec3[0]; - this->meshcell_latvec0.e32 = this->meshcell_vec3[1]; - this->meshcell_latvec0.e33 = this->meshcell_vec3[2]; - - // why we need GT = meshcell_latvec0^(-1)? - // note that (i,j,k) is a grid point. - // (x,y,z) is the cartesian coordinates. - // because - // (x,y,z) = (i,j,k) * meshcell_latvec0 - // once we know (x,y,z) and meshcell_latvec0 - // we need to transform the formula to - // (x,y,z) * meshcell_latvec0^(-1) = (i,j,k) - this->meshcell_GT = this->meshcell_latvec0.Inverse(); - - if(PARAM.inp.test_gridt) - { - GlobalV::ofs_running << " the VECTORS of MESHCELL are (Bohr): " << std::endl; - GlobalV::ofs_running << " vec1( " - << std::setw(15) << meshcell_vec1[0] - << std::setw(15) << meshcell_vec1[1] - << std::setw(15) << meshcell_vec1[2] - << ")" << std::endl; - - GlobalV::ofs_running << " vec2( " - << std::setw(15) << meshcell_vec2[0] - << std::setw(15) << meshcell_vec2[1] - << std::setw(15) << meshcell_vec2[2] - << ")" << std::endl; - - GlobalV::ofs_running << " vec3( " - << std::setw(15) << meshcell_vec3[0] - << std::setw(15) << meshcell_vec3[1] - << std::setw(15) << meshcell_vec3[2] - << ")" << std::endl; - } - - return; -} - -void Grid_MeshCell::init_meshcell_pos(void) -{ - assert(bx>0); - assert(by>0); - assert(bz>0); - assert(bxyz>0); - - meshcell_pos = std::vector>(bxyz,std::vector(3,0.0)); - ModuleBase::Memory::record("meshcell_pos", sizeof(double) * bxyz*3); - - int index=0; - for(int i=0; i> meshcell_pos; - - private: - // latvec0 and GT are not used in current code. - // these two variables may be removed in the future. - ModuleBase::Matrix3 meshcell_latvec0; - ModuleBase::Matrix3 meshcell_GT; - - protected: - - std::vector meshcell_vec1; - std::vector meshcell_vec2; - std::vector meshcell_vec3; - - /// move operator for the next ESolver to directly use its infomation - Grid_MeshCell& operator=(Grid_MeshCell&& rhs) = default; - - void set_grid_dim( - const int &ncx_in, - const int &ncy_in, - const int &ncz_in, - const int &bx_in, - const int &by_in, - const int &bz_in, - const int &nbx_in, - const int &nby_in, - const int &nbz_in, - const int &nbxx_in, - const int &nbzp_start_in, - const int &nbzp_in); - - void init_latvec(const UnitCell &ucell); - void init_meshcell_pos(); - -}; - -#endif diff --git a/source/source_lcao/module_gint/grid_meshk.cpp b/source/source_lcao/module_gint/grid_meshk.cpp deleted file mode 100644 index e1451a31d8..0000000000 --- a/source/source_lcao/module_gint/grid_meshk.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include "grid_meshk.h" -#include "source_pw/module_pwdft/global.h" -#include "source_io/module_parameter/parameter.h" - -Grid_MeshK::Grid_MeshK() -{ -} - -Grid_MeshK::~Grid_MeshK() -{ -} - -int Grid_MeshK::cal_Rindex(const int &u1, const int &u2, const int &u3)const -{ - const int x1 = u1 - this->minu1; - const int x2 = u2 - this->minu2; - const int x3 = u3 - this->minu3; - - if(x1<0 || x2<0 || x3<0) - { - std::cout << " u1=" << u1 << " minu1=" << minu1 << std::endl; - std::cout << " u2=" << u2 << " minu2=" << minu2 << std::endl; - std::cout << " u3=" << u3 << " minu3=" << minu3 << std::endl; - ModuleBase::WARNING_QUIT("Grid_MeshK::cal_Rindex","x1<0 || x2<0 || x3<0 !"); - } - - assert(x1>=0); - assert(x2>=0); - assert(x3>=0); - - return (x3 + x2 * this->nu3 + x1 * this->nu2 * this->nu3); -} - -ModuleBase::Vector3 Grid_MeshK::get_ucell_coords(const int &Rindex)const -{ - const int x = ucell_index2x[Rindex]; - const int y = ucell_index2y[Rindex]; - const int z = ucell_index2z[Rindex]; - - return ModuleBase::Vector3(x, y, z); -} - -void Grid_MeshK::cal_extended_cell(const int &dxe, const int &dye, const int &dze,const int& nbx, const int& nby, const int& nbz) -{ - ModuleBase::TITLE("Grid_MeshK","cal_extended_cell"); - - //-------------------------------------- - // max and min unitcell in expaned grid. - //-------------------------------------- - this->maxu1 = dxe / nbx + 1; - this->maxu2 = dye / nby + 1; - this->maxu3 = dze / nbz + 1; - - this->minu1 = (-dxe+1) / nbx - 1; - this->minu2 = (-dye+1) / nby - 1; - this->minu3 = (-dze+1) / nbz - 1; - - if(PARAM.inp.test_gridt) {ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"MaxUnitcell",maxu1,maxu2,maxu3); -} - if(PARAM.inp.test_gridt) {ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"MinUnitcell",minu1,minu2,minu3); -} - - //-------------------------------------- - // number of unitcell in each direction. - //-------------------------------------- - this->nu1 = maxu1 - minu1 + 1; - this->nu2 = maxu2 - minu2 + 1; - this->nu3 = maxu3 - minu3 + 1; - this->nutot = nu1 * nu2 * nu3; - - if(PARAM.inp.test_gridt) {ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"UnitCellNumber",nu1,nu2,nu3); -} - if(PARAM.inp.out_level != "m") { ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running,"UnitCellTotal",nutot); -} - - - this->ucell_index2x = std::vector(nutot, 0); - this->ucell_index2y = std::vector(nutot, 0); - this->ucell_index2z = std::vector(nutot, 0); - - this->nutot = nu1 * nu2 * nu3; - - for(int i=minu1; i<=maxu1; i++) - { - for(int j=minu2; j<=maxu2; j++) - { - for(int k=minu3; k<=maxu3; k++) - { - const int cell = cal_Rindex(i,j,k); - assert(cellucell_index2x[cell] = i; - this->ucell_index2y[cell] = j; - this->ucell_index2z[cell] = k; - - } - } - } - - return; -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/grid_meshk.h b/source/source_lcao/module_gint/grid_meshk.h deleted file mode 100644 index fb8d458bb0..0000000000 --- a/source/source_lcao/module_gint/grid_meshk.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef GRID_MESHK_H -#define GRID_MESHK_H -#include "source_base/global_function.h" -#include "source_base/global_variable.h" -#include "source_base/vector3.h" - -class Grid_MeshK -{ - public: - Grid_MeshK(); - ~Grid_MeshK(); - - // calculate the index of unitcell. - int cal_Rindex(const int& u1, const int& u2, const int& u3)const; - - ModuleBase::Vector3 get_ucell_coords(const int& Rindex)const; - - /// move operator for the next ESolver to directly use its infomation - Grid_MeshK& operator=(Grid_MeshK&& rhs) = default; - - private: - // the max and the min unitcell. - int maxu1; - int maxu2; - int maxu3; - - int minu1; - int minu2; - int minu3; - - // the number of unitcells. - int nu1; - int nu2; - int nu3; - int nutot; - - // from 1D index to unitcell. - std::vector ucell_index2x; - std::vector ucell_index2y; - std::vector ucell_index2z; - - protected: - // calculate the extended unitcell. - void cal_extended_cell(const int &dxe, const int &dye, const int &dze, - const int& nbx, const int& nby, const int& nbz); -}; - -#endif diff --git a/source/source_lcao/module_gint/grid_technique.cpp b/source/source_lcao/module_gint/grid_technique.cpp deleted file mode 100644 index 9241c81d0a..0000000000 --- a/source/source_lcao/module_gint/grid_technique.cpp +++ /dev/null @@ -1,784 +0,0 @@ -#if ((defined __CUDA) /* || (defined __ROCM) */) -#include -#include "source_io/module_parameter/parameter.h" -#endif -#include "grid_technique.h" -#include "source_io/module_parameter/parameter.h" -#include "source_base/memory.h" -#include "source_base/parallel_reduce.h" -#include "source_base/timer.h" -#include "source_pw/module_pwdft/global.h" -#include "source_hsolver/kernels/cuda/helper_cuda.h" - -#include "source_lcao/module_gint/temp_gint/gint_helper.h" - -Grid_Technique::Grid_Technique() { -#if ((defined __CUDA) /* || (defined __ROCM) */) - if (PARAM.inp.device == "gpu") { - is_malloced = false; - } -#endif -} - -Grid_Technique::~Grid_Technique() { - -#if ((defined __CUDA) /* || (defined __ROCM) */) - if (PARAM.inp.device == "gpu") { - free_gpu_gint_variables(this->nat); - } -#endif -} - -// This function is called in esolver_ks_lcao_elec.cpp -// after the orbital information has been read, -// this function control the routinue to generate -// grid technique parameters. -void Grid_Technique::set_pbc_grid(const int& ncx_in, - const int& ncy_in, - const int& ncz_in, - const int& bx_in, - const int& by_in, - const int& bz_in, - const int& nbx_in, - const int& nby_in, - const int& nbz_in, - const int& nbxx_in, - const int& nbzp_start_in, - const int& nbzp_in, - const int& ny, - const int& nplane, - const int& startz_current, - const UnitCell& ucell, - const Grid_Driver& gd, - const double& dr_uniform, - const std::vector& rcuts, - const std::vector>& psi_u, - const std::vector>& dpsi_u, - const std::vector>& d2psi_u, - const int& num_stream) -{ - ModuleBase::TITLE("Grid_Technique", "init"); - ModuleBase::timer::tick("Grid_Technique", "init"); - - if (PARAM.inp.out_level != "m") { - GlobalV::ofs_running - << "\n SETUP EXTENDED REAL SPACE GRID FOR GRID INTEGRATION" - << std::endl; - } - this->init_malloced = true; - - // copy ucell and orb parameters - this->ucell = &ucell; - this->dr_uniform = dr_uniform; - - this->nwmax = ucell.nwmax; - this->ntype = ucell.ntype; - - this->rcuts = rcuts; - double max_cut = *std::max_element(this->rcuts.begin(), this->rcuts.end()); - this->nr_max = static_cast(1 / this->dr_uniform * max_cut) + 10; - this->psi_u = psi_u; - this->dpsi_u = dpsi_u; - this->d2psi_u = d2psi_u; - - // (1) init_meshcell cell and big cell. - this->set_grid_dim(ncx_in, - ncy_in, - ncz_in, - bx_in, - by_in, - bz_in, - nbx_in, - nby_in, - nbz_in, - nbxx_in, - nbzp_start_in, - nbzp_in); - this->init_latvec(ucell); - - this->init_big_latvec(ucell); - - this->init_meshcell_pos(); - - // (2) expand the grid - - this->init_grid_expansion(ucell, this->rcuts.data()); - - // (3) calculate the extended grid. - this->cal_extended_cell(this->dxe, - this->dye, - this->dze, - this->nbx, - this->nby, - this->nbz); - - this->init_tau_in_bigcell(ucell); - - this->init_meshball(); - - this->init_atoms_on_grid(ny, nplane, ucell); - - this->init_ijr_and_nnrg(ucell, gd); - this->cal_trace_lo(ucell); -#if ((defined __CUDA) /* || (defined __ROCM) */) - if (PARAM.inp.device == "gpu") { - this->init_gpu_gint_variables(ucell, num_stream); - } -#endif - - ModuleBase::timer::tick("Grid_Technique", "init"); - return; -} - -void Grid_Technique::get_startind(const int& ny, - const int& nplane) { - ModuleBase::TITLE("Grid_Technique", "get_startind"); - - assert(nbxx >= 0); - - // calculates start_ind, which stores the - // starting index of each bigcell - this->start_ind = std::vector(nbxx, 0); - ModuleBase::Memory::record("GT::start_ind", sizeof(int) * nbxx); - - for (int i = 0; i < nbxx; i++) { - int ibx = 0; - int iby = 0; - int ibz = 0; - - int ix = 0; - int iy = 0; - int iz = 0; - - ibx = i / (nby * nbzp); - iby = (i - ibx * nby * nbzp) / nbzp; - ibz = i % nbzp; - - ix = ibx * this->bx; - iy = iby * this->by; - iz = ibz * this->bz; - - int ind = iz + iy * nplane + ix * ny * nplane; - - start_ind[i] = ind; - } - - return; -} - -// PLEASE update this 'init_atoms_on_grid' to make -// it adapted to 'cuboid' shape of grid -// mohan add 2021-04-06 -void Grid_Technique::init_atoms_on_grid(const int& ny, - const int& nplane, - const UnitCell& ucell) { - ModuleBase::TITLE("Grid_Technique", "init_atoms_on_grid"); - - assert(nbxx >= 0); - this->get_startind(ny, nplane); - - // (1) prepare data. - // counting the number of atoms whose orbitals have - // values on the bigcell. - this->how_many_atoms = std::vector(nbxx, 0); - ModuleBase::Memory::record("GT::how_many_atoms", sizeof(int) * nbxx); - - // (2) information about gloabl grid - // and local grid. - // mohan add 2010-07-02 - std::vector ind_bigcell = std::vector(nbxyz, 0); - ModuleBase::Memory::record("GT::ind_bigcell", sizeof(int) * this->nxyze); - std::vector bigcell_on_processor = std::vector(nbxyz, 0); - ModuleBase::Memory::record("GT::bigcell_on_processor", - sizeof(char) * this->nxyze); - this->check_bigcell(ind_bigcell.data(), bigcell_on_processor.data()); - - // (3) Find the atoms using - // when doing grid integration. - this->in_this_processor = std::vector(ucell.nat, false); - ModuleBase::Memory::record("GT::in_this_processor", - sizeof(int) * this->nxyze); - - // (4) init atoms on grid - std::vector index2normal = std::vector(this->nxyze, 0); - ModuleBase::Memory::record("GT::index2normal", sizeof(int) * this->nxyze); - this->grid_expansion_index(true, index2normal.data()); - - // (5) record how many atoms on - // each local grid point (ix,iy,iz) - int nat_local = 0; - this->total_atoms_on_grid = 0; - for (int iat = 0; iat < ucell.nat; iat++) - { - const int it = ucell.iat2it[iat]; - const double rcut_square = this->rcuts[it] * this->rcuts[it]; - for (int im = 0; im < this->meshball_ncells; im++) - { - // bcell[iat]: which bcell iat atom is in. - // ball[im]: relative position of adjacent bcell. - const int normal = index2normal[this->index_atom[iat] + this->index_ball[im]]; -#ifdef __DEBUG - if (normal >= nbxyz) - { - #pragma omp critical - { - std::cout << " index_atom=" << index_atom[iat] << std::endl; - std::cout << " index_ball=" << index_ball[im] << std::endl; - std::cout << " normal=" << normal << std::endl; - std::cout << " nbxyz=" << nbxyz << std::endl; - ModuleBase::WARNING_QUIT( - "Grid_Technique::init_atoms_on_grid", - "normal >= nbxyz"); - } - } -#endif - assert(normal >= 0); - const int bcell_idx_on_proc = ind_bigcell[normal]; - if (!bigcell_on_processor[normal]) - { - continue; - } - - bool is_atom_on_bcell = false; - const double dr_x_part = this->meshball_positions[im][0] - this->tau_in_bigcell[iat][0]; - const double dr_y_part = this->meshball_positions[im][1] - this->tau_in_bigcell[iat][1]; - const double dr_z_part = this->meshball_positions[im][2] - this->tau_in_bigcell[iat][2]; - for(int imcell = 0; imcell < this -> bxyz; imcell++) - { - const double dr_x = this->meshcell_pos[imcell][0] + dr_x_part; - const double dr_y = this->meshcell_pos[imcell][1] + dr_y_part; - const double dr_z = this->meshcell_pos[imcell][2] + dr_z_part; - const double dist_square = dr_x * dr_x + dr_y * dr_y + dr_z * dr_z; - if(dist_square <= rcut_square) - { - is_atom_on_bcell = true; - break; - } - } - if(is_atom_on_bcell) - { - ++how_many_atoms[bcell_idx_on_proc]; - ++this->total_atoms_on_grid; - this->in_this_processor[iat] = true; - } - } - if (this->in_this_processor[iat]) - { - ++nat_local; - } - } - - if (PARAM.inp.test_gridt) { - ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, - "Total_atoms_on_grid", - total_atoms_on_grid); -} - - int stop = 0; - if (total_atoms_on_grid == 0) { - GlobalV::ofs_running << " No atoms on this sub-FFT-mesh." << std::endl; - stop = 1; - } - Parallel_Reduce::reduce_all(stop); - if (stop) { - ModuleBase::WARNING("Grid_Technique::init_atoms_on_grid", - "No atom on this sub-FFT-mesh."); - } - - // calculate the trach of local ia to global iat - if (nat_local > 0) { - this->trace_iat.resize(nat_local); - for (int iat = ucell.nat - 1; iat >= 0; iat--) { - if (this->in_this_processor[iat]) { - this->trace_iat[--nat_local] = iat; - } - } - } - - // need how_many_atoms first. - this->cal_grid_integration_index(); - // bcell_start is needed. - this->init_atoms_on_grid2(index2normal.data(), ucell); - return; -} - -void Grid_Technique::check_bigcell(int* ind_bigcell, - char* bigcell_on_processor) { - // check if a given bigcell is treated on this processor - const int zstart = nbzp_start; - const int zend = nbzp + zstart; - const int nbyz = nby * nbz; - const int nz = nbzp; - - int iz_now = 0; - int ix = 0; - int iy = 0; - int iz = 0; - int ind = 0; - bool flag = false; - - for (int i = 0; i < nbxyz; i++) { - int iz_now = i % nbz; - if (iz_now < zstart || iz_now >= zend) { - flag = false; - } else { - flag = true; - ix = i / nbyz; - iy = (i - ix * nbyz) / nbz; - iz = iz_now - zstart; - ind = ix * nby * nz + iy * nz + iz; - // no need to calculate index if bigcell is - // not on this processor - } - - ind_bigcell[i] = ind; - bigcell_on_processor[i] = flag; - } - return; -} - -void Grid_Technique::init_atoms_on_grid2(const int* index2normal, - const UnitCell& ucell) { - ModuleBase::TITLE("Grid_Techinique", "init_atoms_on_grid2"); - - if (total_atoms_on_grid == 0) { - ModuleBase::WARNING("Grid_Technique::init_atoms_on_grid2", - "no atom on this sub FFT grid."); - return; - } - - std::vector index2ucell = std::vector(this->nxyze, 0); - ModuleBase::Memory::record("GT::index2ucell", sizeof(int) * this->nxyze); - this->grid_expansion_index(false, index2ucell.data()); - - std::vector ind_bigcell = std::vector(nbxyz, 0); - ModuleBase::Memory::record("GT::ind_bigcell", sizeof(int) * nbxyz); - std::vector bigcell_on_processor = std::vector(nbxyz, 0); - this->check_bigcell(ind_bigcell.data(), bigcell_on_processor.data()); - - //-------------------------------------- - // save which atom is in the bigcell,unitcell - //-------------------------------------- - assert(total_atoms_on_grid != 0); - this->which_atom = std::vector(total_atoms_on_grid, 0); - ModuleBase::Memory::record("GT::which_atom", - sizeof(int) * total_atoms_on_grid); - - this->which_bigcell = std::vector(total_atoms_on_grid, 0); - ModuleBase::Memory::record("GT::which_bigcell", - sizeof(int) * total_atoms_on_grid); - - this->which_unitcell = std::vector(total_atoms_on_grid, 0); - ModuleBase::Memory::record("GT::which_unitcell", - sizeof(int) * total_atoms_on_grid); - - // for each atom, first we need to locate which cell - // the atom is in, then we search meshball aroung this - // grid, and record each grid's atom position. - int count = 0; - this->how_many_atoms = std::vector(nbxx, 0); - ModuleBase::Memory::record("GT::how many atoms", sizeof(int) * nbxx); - std::vector coord_x(total_atoms_on_grid* bxyz, 0.0); - std::vector coords3(bxyz * 3, 0.0); - for(int iat = 0; iat < ucell.nat; iat++) - { - const int it = ucell.iat2it[iat]; - const double rcut_square = this->rcuts[it] * this->rcuts[it]; - // zero bigcell of meshball indicate ? - for (int im = 0; im < this->meshball_ncells; im++) - { - const int extgrid = this->index_atom[iat] + this->index_ball[im]; - const int normal = index2normal[extgrid]; - - // mohan add 2010-07-01 - const int bcell_idx_on_proc = ind_bigcell[normal]; - if (!bigcell_on_processor[normal]) - { - continue; - } - - bool is_atom_on_bcell = false; - const double dr_x_part = this->meshball_positions[im][0] - this->tau_in_bigcell[iat][0]; - const double dr_y_part = this->meshball_positions[im][1] - this->tau_in_bigcell[iat][1]; - const double dr_z_part = this->meshball_positions[im][2] - this->tau_in_bigcell[iat][2]; - for(int imcell = 0; imcell < this -> bxyz; imcell++) - { - const double dr_x = this->meshcell_pos[imcell][0] + dr_x_part; - const double dr_y = this->meshcell_pos[imcell][1] + dr_y_part; - const double dr_z = this->meshcell_pos[imcell][2] + dr_z_part; - const double dist_square = dr_x * dr_x + dr_y * dr_y + dr_z * dr_z; - if(dist_square <= rcut_square) - { - is_atom_on_bcell = true; - break; - } - } - - if(is_atom_on_bcell) - { - // it's not the normal order to calculate which_atom - // and which_bigcell, especailly in 1D array. - // Each grid's adjacent atom number is different, - // so, first we need to locate which grid, using - // bcell_start, then we need to count which adjacent atom. - // using how_many_atoms. - const int index = this->bcell_start[bcell_idx_on_proc] + this->how_many_atoms[bcell_idx_on_proc]; - - // we save which_atom and which_bigcell in 1D array, - // once you want to use this in grid integration, - // the only information you got is the 'normal' index, - // so you need to use bcell_start - // to get the 'mesh_index', then you can you this mesh_index - // to use which_atom or which_bigcell. - this->which_atom[index] = iat; - this->which_bigcell[index] = im; - this->which_unitcell[index] = index2ucell[extgrid]; - for(int imcell = 0; imcell < this -> bxyz; imcell++) - { - const double dr_x = this->meshcell_pos[imcell][0] + dr_x_part; - coord_x[index * bxyz + imcell] = dr_x; - } - - ++count; - ++how_many_atoms[bcell_idx_on_proc]; - } - } - } - for(int i = 0; i < this->bxyz; i++) - { - for(int j = 0; j < 3; j++) - { - coords3[i * 3 + j] = this->meshcell_pos[i][j]; - } - } - assert(count == total_atoms_on_grid); - return; -} - -void Grid_Technique::cal_grid_integration_index() { - // save the start - this->bcell_start = std::vector(nbxx, 0); - ModuleBase::Memory::record("GT::bcell_start", sizeof(int) * nbxx); - for (int i = 1; i < nbxx; i++) { - this->bcell_start[i] - = this->bcell_start[i - 1] + this->how_many_atoms[i - 1]; - } - - // calculate which grid has the largest number of atoms, - // and how many atoms. - this->max_atom = 0; - for (int i = 0; i < nbxx; i++) { - this->max_atom = std::max(this->max_atom, this->how_many_atoms[i]); - } - -#ifdef __MPI - int* all = new int[GlobalV::NPROC]; - ModuleBase::GlobalFunc::ZEROS(all, GlobalV::NPROC); - Parallel_Reduce::gather_int_all(max_atom, all); - if (GlobalV::MY_RANK == 0) { - GlobalV::ofs_warning << std::setw(15) << "Processor" << std::setw(15) - << "Atom" << std::endl; - for (int i = 0; i < GlobalV::NPROC; i++) { - GlobalV::ofs_warning << std::setw(15) << i + 1 << std::setw(15) - << all[i] << std::endl; - } - } - delete[] all; -#endif - - if (PARAM.inp.test_gridt) { - ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, - "Max atom on bigcell", - max_atom); - } - return; -} - -// set 'lgd' variable -void Grid_Technique::cal_trace_lo(const UnitCell& ucell) { - ModuleBase::TITLE("Grid_Technique", "cal_trace_lo"); - // save the atom information in trace_lo, - // in fact the trace_lo dimension can be reduced - // to ucell.nat, but I think this is another way. - this->trace_lo = std::vector(PARAM.globalv.nlocal, -1); - ModuleBase::Memory::record("GT::trace_lo", sizeof(int) * PARAM.globalv.nlocal); - - this->lnat = 0; - this->lgd = 0; - int iat = 0; - int iw_all = 0; - int iw_local = 0; - - for (int it = 0; it < ucell.ntype; it++) { - for (int ia = 0; ia < ucell.atoms[it].na; ia++) { - if (this->in_this_processor[iat]) { - ++lnat; - int nw0 = ucell.atoms[it].nw; - if (PARAM.inp.nspin - == 4) { // added by zhengdy-soc, need to be double in soc - nw0 *= 2; - this->lgd += nw0; - } else { - this->lgd += ucell.atoms[it].nw; - } - - for (int iw = 0; iw < nw0; iw++) { - this->trace_lo[iw_all] = iw_local; - ++iw_local; - ++iw_all; - } - } else { - // global index of atomic orbitals - iw_all += ucell.atoms[it].nw; - if (PARAM.inp.nspin == 4) { - iw_all += ucell.atoms[it].nw; -} - } - ++iat; - } - } - - if (PARAM.inp.out_level != "m") { - ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, - "Atom number in sub-FFT-grid", - lnat); - ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, - "Local orbitals number in sub-FFT-grid", - lgd); - } - - assert(iw_local == lgd); - assert(iw_all == PARAM.globalv.nlocal); - return; -} - -void Grid_Technique::init_ijr_and_nnrg(const UnitCell& ucell, const Grid_Driver& gd) -{ - ModuleBase::TITLE("Grid_Technique", "init_ijr_and_nnrg"); - - hamilt::HContainer hRGint_tmp(ucell.nat); - // prepare the row_index and col_index for construct AtomPairs, they are - // same, name as orb_index - std::vector orb_index(ucell.nat + 1); - orb_index[0] = 0; - for (int i = 1; i < orb_index.size(); i++) { - int type = ucell.iat2it[i - 1]; - orb_index[i] = orb_index[i - 1] + ucell.atoms[type].nw; - } - - for (int T1 = 0; T1 < ucell.ntype; ++T1) { - const Atom* atom1 = &(ucell.atoms[T1]); - for (int I1 = 0; I1 < atom1->na; ++I1) { - auto& tau1 = atom1->tau[I1]; - - gd.Find_atom(ucell, tau1, T1, I1); - - const int iat1 = ucell.itia2iat(T1, I1); - // whether this atom is in this processor. - if (this->in_this_processor[iat1]) { - for (int ad = 0; ad < gd.getAdjacentNum() + 1; ++ad) { - const int T2 = gd.getType(ad); - const int I2 = gd.getNatom(ad); - const int iat2 = ucell.itia2iat(T2, I2); - const Atom* atom2 = &(ucell.atoms[T2]); - - // NOTE: hRGint wil save total number of atom pairs, - // if only upper triangle is saved, the lower triangle will - // be lost in 2D-block parallelization. if the adjacent atom - // is in this processor. - if (this->in_this_processor[iat2]) { - ModuleBase::Vector3 dtau - = gd.getAdjacentTau(ad) - tau1; - double distance = dtau.norm() * ucell.lat0; - double rcut - = this->rcuts[T1] + this->rcuts[T2]; - - // if(distance < rcut) - // mohan reset this 2013-07-02 in Princeton - // we should make absolutely sure that the distance is - // smaller than rcuts[it] this should be consistant - // with LCAO_nnr::cal_nnrg function typical example : 7 - // Bohr cutoff Si orbital in 14 Bohr length of cell. - // distance = 7.0000000000000000 - // rcuts[it] = 7.0000000000000008 - if (distance < rcut - 1.0e-15) { - // calculate R index - auto& R_index = gd.getBox(ad); - // insert this atom-pair into this->hRGint - hamilt::AtomPair tmp_atom_pair( - iat1, - iat2, - R_index.x, - R_index.y, - R_index.z, - orb_index.data(), - orb_index.data(), - ucell.nat); - hRGint_tmp.insert_pair(tmp_atom_pair); - } - } - } - } - } - } - this->ijr_info = hRGint_tmp.get_ijr_info(); - this->nnrg = hRGint_tmp.get_nnr(); - return; -} - -#if ((defined __CUDA) /* || (defined __ROCM) */) - -void Grid_Technique::init_gpu_gint_variables(const UnitCell& ucell, - const int num_stream) { -#ifdef __MPI - dev_id = base_device::information::set_device_by_rank(); -#endif - if (is_malloced) { - free_gpu_gint_variables(this->nat); - } - nstreams = num_stream; - double ylmcoef[100]; - ModuleBase::GlobalFunc::ZEROS(ylmcoef, 100); - for (int i = 0; i < 100; i++) { - ylmcoef[i] = ModuleBase::Ylm::ylmcoef[i]; - } - checkCudaErrors(cudaMalloc((void**)&ylmcoef_g, 100 * sizeof(double))); - checkCudaErrors(cudaMemcpy(ylmcoef_g, - ylmcoef, - 100 * sizeof(double), - cudaMemcpyHostToDevice)); - - double max_cut = *std::max_element(this->rcuts.begin(), this->rcuts.end()); - - int atom_nw_now[ucell.ntype]; - int ucell_atom_nwl_now[ucell.ntype]; - for (int i = 0; i < ucell.ntype; i++) { - atom_nw_now[i] = ucell.atoms[i].nw; - ucell_atom_nwl_now[i] = ucell.atoms[i].nwl; - } - - // double psi_u_now[ucell.ntype * ucell.nwmax * nr_max * - // 2]; - double* psi_u_now = (double*)malloc(ucell.ntype * ucell.nwmax * this->nr_max * 2 * sizeof(double)); - memset(psi_u_now, 0, ucell.ntype * ucell.nwmax * this->nr_max * 2 * sizeof(double)); - bool* atom_iw2_new_now = (bool*)malloc(ucell.ntype * ucell.nwmax * sizeof(bool)); - memset(atom_iw2_new_now, 0, ucell.ntype * ucell.nwmax * sizeof(bool)); - int* atom_iw2_ylm_now - = (int*)malloc(ucell.ntype * ucell.nwmax * sizeof(int)); - memset(atom_iw2_ylm_now, 0, ucell.ntype * ucell.nwmax * sizeof(int)); - int* atom_iw2_l_now = (int*)malloc(ucell.ntype * ucell.nwmax * sizeof(int)); - memset(atom_iw2_l_now, 0, ucell.ntype * ucell.nwmax * sizeof(int)); - - Atom* atomx; - for (int i = 0; i < ucell.ntype; i++) { - atomx = &ucell.atoms[i]; - for (int j = 0; j < ucell.nwmax; j++) { - if (j < atomx->nw) { - atom_iw2_new_now[i * ucell.nwmax + j] = atomx->iw2_new[j]; - atom_iw2_ylm_now[i * ucell.nwmax + j] = atomx->iw2_ylm[j]; - atom_iw2_l_now[i * ucell.nwmax + j] = atomx->iw2l[j]; - for (int k = 0; k < this->nr_max; k++) { - int index_temp = (i * ucell.nwmax * this->nr_max - + j * this->nr_max + k) - * 2; - if (k < this->psi_u[i * this->nwmax + j].size()) { - psi_u_now[index_temp] - = this->psi_u[i * this->nwmax + j].data()[k]; - psi_u_now[index_temp + 1] - = this->dpsi_u[i * this->nwmax + j].data()[k]; - } - } - } - } - } - - checkCudaErrors(cudaMalloc((void**)&atom_nw_g, ucell.ntype * sizeof(int))); - checkCudaErrors(cudaMemcpy(atom_nw_g, - atom_nw_now, - ucell.ntype * sizeof(int), - cudaMemcpyHostToDevice)); - - checkCudaErrors(cudaMalloc((void**)&atom_nwl_g, ucell.ntype * sizeof(int))); - checkCudaErrors(cudaMemcpy(atom_nwl_g, ucell_atom_nwl_now, ucell.ntype * sizeof(int), cudaMemcpyHostToDevice)); - - checkCudaErrors(cudaMalloc((void**)&psi_u_g, ucell.ntype * ucell.nwmax * this->nr_max * sizeof(double) * 2)); - checkCudaErrors(cudaMemcpy(psi_u_g, - psi_u_now, - ucell.ntype * ucell.nwmax * this->nr_max * sizeof(double) * 2, - cudaMemcpyHostToDevice)); - - checkCudaErrors(cudaMalloc((void**)&psi_u_g, - ucell.ntype * ucell.nwmax * nr_max * sizeof(double) * 2)); - checkCudaErrors(cudaMemcpy(psi_u_g, - psi_u_now, - ucell.ntype * ucell.nwmax * nr_max * sizeof(double) * 2, - cudaMemcpyHostToDevice)); - - checkCudaErrors(cudaMalloc((void**)&atom_new_g, - ucell.ntype * ucell.nwmax * sizeof(bool))); - checkCudaErrors(cudaMemcpy(atom_new_g, - atom_iw2_new_now, - ucell.ntype * ucell.nwmax * sizeof(bool), - cudaMemcpyHostToDevice)); - - checkCudaErrors(cudaMalloc((void**)&atom_ylm_g, - ucell.ntype * ucell.nwmax * sizeof(int))); - - checkCudaErrors(cudaMemcpy(atom_ylm_g, - atom_iw2_ylm_now, - ucell.ntype * ucell.nwmax * sizeof(int), - cudaMemcpyHostToDevice)); - - checkCudaErrors(cudaMalloc((void**)&atom_l_g, - ucell.ntype * ucell.nwmax * sizeof(int))); - checkCudaErrors(cudaMemcpy(atom_l_g, - atom_iw2_l_now, - ucell.ntype * ucell.nwmax * sizeof(int), - cudaMemcpyHostToDevice)); - - checkCudaErrors(cudaMalloc((void**)&rcut_g, ucell.ntype * sizeof(double))); - checkCudaErrors(cudaMemcpy(rcut_g, - rcuts.data(), - ucell.ntype * sizeof(double), - cudaMemcpyHostToDevice)); - std::vector mcell_pos(bxyz * 3, 0); - for (int i = 0; i < bxyz; i++) - { - mcell_pos[3 * i] = meshcell_pos[i][0]; - mcell_pos[3 * i + 1] = meshcell_pos[i][1]; - mcell_pos[3 * i + 2] = meshcell_pos[i][2]; - } - checkCudaErrors(cudaMalloc((void**)&mcell_pos_g, - bxyz * 3 * sizeof(double))); - checkCudaErrors(cudaMemcpy(mcell_pos_g, - mcell_pos.data(), - bxyz * 3 * sizeof(double), - cudaMemcpyHostToDevice)); - - gemm_algo_selector(bxyz, fastest_matrix_mul, ucell); - - is_malloced = true; - - free(psi_u_now); - free(atom_iw2_new_now); - free(atom_iw2_ylm_now); -} - -void Grid_Technique::free_gpu_gint_variables(int nat) { - if (!is_malloced) { - return; - } - - checkCudaErrors(cudaFree(ylmcoef_g)); - checkCudaErrors(cudaFree(atom_nwl_g)); - checkCudaErrors(cudaFree(psi_u_g)); - checkCudaErrors(cudaFree(atom_new_g)); - checkCudaErrors(cudaFree(atom_ylm_g)); - checkCudaErrors(cudaFree(atom_nw_g)); - checkCudaErrors(cudaFree(atom_l_g)); - checkCudaErrors(cudaFree(rcut_g)); - checkCudaErrors(cudaFree(mcell_pos_g)); - - is_malloced = false; -} -#endif diff --git a/source/source_lcao/module_gint/grid_technique.h b/source/source_lcao/module_gint/grid_technique.h deleted file mode 100644 index 947b8d9337..0000000000 --- a/source/source_lcao/module_gint/grid_technique.h +++ /dev/null @@ -1,172 +0,0 @@ -#ifndef GRID_TECHNIQUE_H -#define GRID_TECHNIQUE_H - -#include "grid_meshball.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_basis/module_ao/parallel_orbitals.h" -#include "source_cell/module_neighbor/sltk_grid_driver.h" -#include "source_cell/unitcell.h" -#include "source_lcao/module_hcontainer/hcontainer.h" -#if ((defined __CUDA) /* || (defined __ROCM) */) -#include "kernels/cuda/gemm_selector.cuh" - -#include -#endif - -// Author: mohan -// Date: 2009-10-17 -class Grid_Technique : public Grid_MeshBall { - // public variables. - public: - Grid_Technique(); - ~Grid_Technique(); - - /// move operator for the next ESolver to directly use its infomation - Grid_Technique& operator=(Grid_Technique&& rhs) = default; - //------------------------------------ - // 1: Info about atom number on grid. - //------------------------------------ - // record how many atoms on each grid. - std::vector how_many_atoms; - // max atom on grid - int max_atom=0; - // sum of how_many_atoms - int total_atoms_on_grid=0; - std::vector start_ind; - - //------------------------------------ - // 2: Info about which atom on grid. - //------------------------------------ - // save the start position of each big cell's adjacent - // atoms in 1D grid. - std::vector bcell_start; - // save the 'iat' atom. - // dim: total_atoms_on_grid. - std::vector which_atom; - - //-------------------------------------- - // save the bigcell index in meshball. - // dim: total_atoms_on_grid. - //-------------------------------------- - std::vector which_bigcell; - std::vector which_unitcell; - - //------------------------------------ - // 3: which atom on local grid. - //------------------------------------ - int lnat=0; // local nat. - int lgd=0; // local grid dimension. lgd * lgd symmetry matrix. - std::vector in_this_processor; - std::vector trace_iat; - std::vector trace_lo; // trace local orbital. - - //--------------------------------------- - // nnrg: number of matrix elements on - // each processor's real space grid. - // use: GridT.in_this_processor - //--------------------------------------- - int nnrg = 0; - - // UnitCell and LCAO_Obrbitals - const UnitCell* ucell=nullptr; - const LCAO_Orbitals* orb=nullptr; - - // UnitCell parameters - int nwmax=0; - int nr_max=0; - int ntype=0; - - // LCAO Orbitals - double dr_uniform={0.0}; - std::vector rcuts; - std::vector> psi_u; - std::vector> dpsi_u; - std::vector> d2psi_u; - - // Determine whether the grid point integration is initialized. - bool init_malloced=false; - - bool get_init_malloced() const { return init_malloced; } - - void set_pbc_grid(const int& ncx_in, - const int& ncy_in, - const int& ncz_in, - const int& bx_in, - const int& by_in, - const int& bz_in, - const int& nbx_in, - const int& nby_in, - const int& nbz_in, - const int& nbxx_in, - const int& nbzp_start_in, - const int& nbzp_in, - const int& ny, - const int& nplane, - const int& startz_current, - const UnitCell& ucell, - const Grid_Driver& gd, - const double& dr_uniform, - const std::vector& rcuts, - const std::vector>& psi_u, - const std::vector>& dpsi_u, - const std::vector>& d2psi_u, - const int& num_stream); - - const std::vector* get_ijr_info() const { return &ijr_info; } - - /// number of elements(basis-pairs) in this processon - /// on all adjacent atoms-pairs(Grid division) - int cal_RindexAtom(const int& u1, - const int& u2, - const int& u3, - const int& iat2) const; - - int find_offset(const int id1, const int id2, const int iat1, const int iat2) const; - - private: - - // store the information of atom pairs on this processor, used to initialize hcontainer. - // The meaning of ijr can be referred to in the get_ijr_info function in hcontainer.cpp. - std::vector ijr_info; - - void cal_max_box_index(); - // atoms on meshball - void init_atoms_on_grid(const int& ny, - const int& nplane, - const UnitCell& ucell); - void init_atoms_on_grid2(const int* index2normal, const UnitCell& ucell); - // initialize the ijr_info and nnrg - void init_ijr_and_nnrg(const UnitCell& ucell, const Grid_Driver& gd); - void cal_grid_integration_index(); - void cal_trace_lo(const UnitCell& ucell); - void check_bigcell(int* ind_bigcell, char* bigcell_on_processor); - void get_startind(const int& ny, - const int& nplane); - -#if ((defined __CUDA) /* || (defined __ROCM) */) - public: - double* ylmcoef_g; - bool is_malloced; - - int* atom_nw_g; - int* atom_nwl_g; - double* psi_u_g; - bool* atom_new_g; - int* atom_ylm_g; - int* atom_l_g; - double* rcut_g; - double*mcell_pos_g; - - int dev_id = 0; - int nstreams = 4; - // streams[nstreams] - // TODO it needs to be implemented through configuration files - matrix_multiple_func_type fastest_matrix_mul; - - private: - void init_gpu_gint_variables(const UnitCell& ucell, const int num_stream); - void free_gpu_gint_variables(int nat); - -#endif -}; -#endif diff --git a/source/source_lcao/module_gint/gtask_force.cpp b/source/source_lcao/module_gint/gtask_force.cpp deleted file mode 100644 index 2fab74907e..0000000000 --- a/source/source_lcao/module_gint/gtask_force.cpp +++ /dev/null @@ -1,152 +0,0 @@ -#include - -#include "gint_force_gpu.h" -#include "source_base/ylm.h" -#include "source_lcao/module_gint/gint_tools.h" -#include "source_base/vector3.h" -namespace GintKernel -{ - -void gtask_force(const Grid_Technique& gridt, - const UnitCell& ucell, - const int grid_index_ij, - const int nczp, - const double vfactor, - const double* vlocal_global_value, - int& atoms_per_z, - int* atoms_num_info, - int* iat_on_nbz, - uint8_t* atoms_type, - double* dr_part, - double* vldr3) -{ - atoms_per_z = 0; - for (int z_index = 0; z_index < gridt.nbzp; z_index++) - { - const int grid_index = grid_index_ij + z_index; - const int bcell_start_index = gridt.bcell_start[grid_index]; - const int na_grid = gridt.how_many_atoms[grid_index]; - atoms_num_info[z_index * 2] = na_grid; - atoms_num_info[z_index * 2 + 1] = atoms_per_z; - for (int id = 0; id < na_grid; id++) - { - const int mcell_index = bcell_start_index + id; - const int imcell = gridt.which_bigcell[mcell_index]; - const int iat = gridt.which_atom[mcell_index]; - const int it_temp = ucell.iat2it[iat]; - - dr_part[atoms_per_z * 3] = gridt.meshball_positions[imcell][0] - - gridt.tau_in_bigcell[iat][0]; - dr_part[atoms_per_z * 3 + 1] = gridt.meshball_positions[imcell][1] - - gridt.tau_in_bigcell[iat][1]; - dr_part[atoms_per_z * 3 + 2] = gridt.meshball_positions[imcell][2] - - gridt.tau_in_bigcell[iat][2]; - atoms_type[atoms_per_z] = it_temp; - iat_on_nbz[atoms_per_z] = iat; - atoms_per_z++; - } - - const int start_ind_grid = gridt.start_ind[grid_index]; - int id = z_index * gridt.bxyz; - for (int bx_index = 0; bx_index < gridt.bx; bx_index++) - { - for (int by_index = 0; by_index < gridt.by; by_index++) - { - for (int bz_index = 0; bz_index < gridt.bz; bz_index++) - { - int vindex_global = bx_index * gridt.ncy * nczp - + by_index * nczp + bz_index - + start_ind_grid; - vldr3[id]= vlocal_global_value[vindex_global] * vfactor; - id++; - } - } - } - } -} - -void alloc_mult_force(const hamilt::HContainer* dm, - const Grid_Technique& gridt, - const UnitCell& ucell, - const int grid_index_ij, - const int max_atom, - const int *atoms_num_info, - double* const psi_g, - double* const psi_dm_g, - double* const dm_matrix_g, - int& max_m, - int& max_n, - int& atom_pair_num, - int* mat_m, - int* mat_n, - int* mat_k, - int* mat_lda, - int* mat_ldb, - int* mat_ldc, - double** mat_A, - double** mat_B, - double** mat_C) -{ - int tid = 0; - max_m = 0; - max_n = 0; - const int nwmax = ucell.nwmax; - const int lgd = gridt.lgd; - for (int z_index = 0; z_index < gridt.nbzp; z_index++) - { - const int grid_index = grid_index_ij + z_index; - const int bcell_start_index = gridt.bcell_start[grid_index]; - const int pre_atoms = atoms_num_info[z_index * 2 + 1]; - - for (int atom1 = 0; atom1 < gridt.how_many_atoms[grid_index]; atom1++) - { - const int mcell_index1 = bcell_start_index + atom1; - const int iat1 = gridt.which_atom[mcell_index1]; - const int uc1 = gridt.which_unitcell[mcell_index1]; - const ModuleBase::Vector3 r1 = gridt.get_ucell_coords(uc1); - const int it1 = ucell.iat2it[iat1]; - const int nw1 = ucell.atoms[it1].nw; - - for (int atom2 = 0; atom2 < gridt.how_many_atoms[grid_index];atom2++) - { - const int mcell_index2 = bcell_start_index + atom2; - const int iat2 = gridt.which_atom[mcell_index2]; - const int uc2 = gridt.which_unitcell[mcell_index2]; - const ModuleBase::Vector3 r2 = gridt.get_ucell_coords(uc2); - const int offset = dm->find_matrix_offset(iat1, iat2, r1-r2); - if (offset == -1) - { - continue; - } - const int it2 = ucell.iat2it[iat2]; - const int nw2 = ucell.atoms[it2].nw; - - const int mat_A_idx = (pre_atoms + atom2) * nwmax * gridt.bxyz; - const int mat_C_idx = (pre_atoms + atom1) * nwmax * gridt.bxyz; - mat_m[tid] = gridt.bxyz; - mat_n[tid] = nw1; - mat_k[tid] = nw2; - mat_lda[tid] = nwmax; - mat_ldb[tid] = nw2; - mat_ldc[tid] = nwmax; - mat_A[tid] = psi_g + mat_A_idx; - mat_B[tid] = dm_matrix_g + offset; - mat_C[tid] = psi_dm_g + mat_C_idx; - - if (mat_m[tid] > max_m) - { - max_m = mat_m[tid]; - } - - if (mat_n[tid] > max_n) - { - max_n = mat_n[tid]; - } - - tid++; - } - } - } - atom_pair_num = tid; -} -} // namespace GintKernel diff --git a/source/source_lcao/module_gint/gtask_rho.cpp b/source/source_lcao/module_gint/gtask_rho.cpp deleted file mode 100644 index 691504d943..0000000000 --- a/source/source_lcao/module_gint/gtask_rho.cpp +++ /dev/null @@ -1,155 +0,0 @@ -#include "gint_rho_gpu.h" -#include "source_base/ylm.h" -#include "source_lcao/module_gint/gint_tools.h" -#include "source_base/vector3.h" -#include "omp.h" -namespace GintKernel -{ - -void gtask_rho(const Grid_Technique& gridt, - const int grid_index_ij, - const UnitCell& ucell, - double* dr_part, - uint8_t* atoms_type, - int* atoms_num_info, - int& atoms_per_z) -{ - atoms_per_z = 0; - for (int z_index = 0; z_index < gridt.nbzp; z_index++) - { - const int grid_index = grid_index_ij + z_index; - const int bcell_start_index = gridt.bcell_start[grid_index]; - const int na_grid = gridt.how_many_atoms[grid_index]; - atoms_num_info[2 * z_index] = na_grid; - atoms_num_info[2 * z_index + 1] = atoms_per_z; - for (int id = 0; id < na_grid; id++) - { - const int mcell_index = bcell_start_index + id; - const int imcell = gridt.which_bigcell[mcell_index]; - const int iat = gridt.which_atom[mcell_index]; - const int it_temp = ucell.iat2it[iat]; - - dr_part[atoms_per_z * 3] = gridt.meshball_positions[imcell][0] - - gridt.tau_in_bigcell[iat][0]; - dr_part[atoms_per_z * 3 + 1] = gridt.meshball_positions[imcell][1] - - gridt.tau_in_bigcell[iat][1]; - dr_part[atoms_per_z * 3 + 2] = gridt.meshball_positions[imcell][2] - - gridt.tau_in_bigcell[iat][2]; - atoms_type[atoms_per_z] = it_temp; - atoms_per_z++; - } - } -} - -void alloc_mult_dot_rho(const hamilt::HContainer* dm, - const Grid_Technique& gridt, - const UnitCell& ucell, - const int grid_index_ij, - const int max_atom, - const int lgd, - const int nczp, - const int* atoms_num_info, - double* const psir_ylm_g, - double* const psir_dm_g, - double* const dm_matrix_g, - double* mat_alpha, - int* mat_m, - int* mat_n, - int* mat_k, - int* mat_lda, - int* mat_ldb, - int* mat_ldc, - double** mat_A, - double** mat_B, - double** mat_C, - int& max_m, - int& max_n, - int& atom_pair_num, - double* rho_g, - double** dot_product) -{ - int tid = 0; - int dot_count = 0; - max_m = 0; - max_n = 0; - const int nwmax=ucell.nwmax; - // generate matrix multiplication tasks - for (int z_index = 0; z_index < gridt.nbzp; z_index++) - { - const int grid_index = grid_index_ij + z_index; - const int bcell_start_index = gridt.bcell_start[grid_index]; - const int bcell_start_psir = atoms_num_info[2 * z_index + 1] * gridt.bxyz * nwmax; - const int na_grid = atoms_num_info[2 * z_index]; - - for (int atom1 = 0; atom1 < gridt.how_many_atoms[grid_index]; atom1++) - { - const int mcell_index1 = bcell_start_index + atom1; - const int iat1 = gridt.which_atom[mcell_index1]; - const int uc1 = gridt.which_unitcell[mcell_index1]; - const ModuleBase::Vector3 r1 = gridt.get_ucell_coords(uc1); - const int it1 = ucell.iat2it[iat1]; - const int nw1 = ucell.atoms[it1].nw; - - for (int atom2 = atom1; atom2 < gridt.how_many_atoms[grid_index]; - atom2++) - { - const int mcell_index2 = bcell_start_index + atom2; - const int iat2 = gridt.which_atom[mcell_index2]; - const int uc2 = gridt.which_unitcell[mcell_index2]; - const ModuleBase::Vector3 r2 = gridt.get_ucell_coords(uc2); - const int offset = dm->find_matrix_offset(iat1, iat2, r1-r2); - if (offset == -1) - { - continue; - } - const int it2 = ucell.iat2it[iat2]; - const int nw2 = ucell.atoms[it2].nw; - - const int mat_A_idx = bcell_start_psir + atom2 * nwmax; - const int mat_C_idx = bcell_start_psir + atom1 * nwmax; - - mat_alpha[tid] = atom2 == atom1 ? 1 : 2; - mat_m[tid] = gridt.bxyz; - mat_n[tid] = nw1; - mat_k[tid] = nw2; - mat_lda[tid] = nwmax * na_grid; - mat_ldb[tid] = nw2; - mat_ldc[tid] = nwmax * na_grid; - mat_A[tid] = psir_ylm_g + mat_A_idx; - mat_B[tid] = dm_matrix_g + offset; - mat_C[tid] = psir_dm_g + mat_C_idx; - - if (mat_m[tid] > max_m) - { - max_m = mat_m[tid]; - } - - if (mat_n[tid] > max_n) - { - max_n = mat_n[tid]; - } - - tid++; - } - } - - // generate vec dot product tasks - std::vector vindex(gridt.bxyz); - Gint_Tools::get_vindex(gridt.bxyz, - gridt.bx, - gridt.by, - gridt.bz, - nczp, - gridt.start_ind[grid_index], - gridt.ncy * nczp, - vindex.data()); - for (int i = 0; i < gridt.bxyz; i++) - { - dot_product[dot_count] = rho_g + vindex[i]; - dot_count++; - } - } - atom_pair_num = tid; -} - -} // namespace GintKernel \ No newline at end of file diff --git a/source/source_lcao/module_gint/gtask_vl.cpp b/source/source_lcao/module_gint/gtask_vl.cpp deleted file mode 100644 index 026ed3ffab..0000000000 --- a/source/source_lcao/module_gint/gtask_vl.cpp +++ /dev/null @@ -1,154 +0,0 @@ -#include - -#include "gint_vl_gpu.h" -#include "source_base/ylm.h" -#include "source_lcao/module_gint/gint_tools.h" -#include "source_base/vector3.h" -namespace GintKernel -{ - -void gtask_vlocal(const Grid_Technique& gridt, - const UnitCell& ucell, - const int grid_index_ij, - const int nczp, - const double vfactor, - const double* vlocal_global_value, - int& atoms_per_z, - int* atoms_num_info, - uint8_t* atoms_type, - double* dr_part, - double* vldr3) -{ - atoms_per_z = 0; - for (int z_index = 0; z_index < gridt.nbzp; z_index++) - { - const int grid_index = grid_index_ij + z_index; - const int bcell_start_index = gridt.bcell_start[grid_index]; - const int na_grid = gridt.how_many_atoms[grid_index]; - atoms_num_info[2 * z_index] = na_grid; - atoms_num_info[2 * z_index + 1] = atoms_per_z; - for (int id = 0; id < na_grid; id++) - { - const int mcell_index = bcell_start_index + id; - const int imcell = gridt.which_bigcell[mcell_index]; - const int iat = gridt.which_atom[mcell_index]; - const int it_temp = ucell.iat2it[iat]; - - dr_part[atoms_per_z * 3] = gridt.meshball_positions[imcell][0] - - gridt.tau_in_bigcell[iat][0]; - dr_part[atoms_per_z * 3 + 1] = gridt.meshball_positions[imcell][1] - - gridt.tau_in_bigcell[iat][1]; - dr_part[atoms_per_z * 3 + 2] = gridt.meshball_positions[imcell][2] - - gridt.tau_in_bigcell[iat][2]; - atoms_type[atoms_per_z] = it_temp; - atoms_per_z++; - } - - const int start_ind_grid = gridt.start_ind[grid_index]; - int id = z_index * gridt.bxyz; - for (int bx_index = 0; bx_index < gridt.bx; bx_index++) - { - for (int by_index = 0; by_index < gridt.by; by_index++) - { - for (int bz_index = 0; bz_index < gridt.bz; bz_index++) - { - int vindex_global = bx_index * gridt.ncy * nczp - + by_index * nczp + bz_index - + start_ind_grid; - vldr3[id]= vlocal_global_value[vindex_global] * vfactor; - id++; - } - } - } - } -} - -void alloc_mult_vlocal(const hamilt::HContainer* hRGint, - const Grid_Technique& gridt, - const UnitCell& ucell, - const int grid_index_ij, - const int max_atom, - double* const psi, - double* const psi_vldr3, - double* const grid_vlocal_g, - int* mat_m, - int* mat_n, - int* mat_k, - int* mat_lda, - int* mat_ldb, - int* mat_ldc, - double** mat_A, - double** mat_B, - double** mat_C, - int& atom_pair_num, - int& max_m, - int& max_n) -{ - atom_pair_num = 0; - max_m = 0; - max_n = 0; - const int nwmax = ucell.nwmax; - for (int z_index = 0; z_index < gridt.nbzp; z_index++) - { - const int grid_index = grid_index_ij + z_index; - const int atom_num = gridt.how_many_atoms[grid_index]; - const int vldr3_index = z_index * max_atom * nwmax * gridt.bxyz; - const int bcell_start_index = gridt.bcell_start[grid_index]; - for (int atom1 = 0; atom1 < atom_num; atom1++) - { - const int iat1 = gridt.which_atom[bcell_start_index + atom1]; - const int uc1 = gridt.which_unitcell[bcell_start_index + atom1]; - const ModuleBase::Vector3 r1 = gridt.get_ucell_coords(uc1); - const int it1 = ucell.iat2it[iat1]; - - for (int atom2 = 0; atom2 < atom_num; atom2++) - { - const int iat2 = gridt.which_atom[bcell_start_index + atom2]; - const int uc2 = gridt.which_unitcell[bcell_start_index + atom2]; - const ModuleBase::Vector3 r2 = gridt.get_ucell_coords(uc2); - int offset = hRGint->find_matrix_offset(iat1, iat2, r1-r2); - if (offset == -1) - { - continue; - } - const int it2 = ucell.iat2it[iat2]; - - if (iat1 <= iat2) - { - const int atom_pair_nw - = ucell.atoms[it1].nw * ucell.atoms[it2].nw; - - const int calc_index1 = vldr3_index + atom1 * nwmax * gridt.bxyz; - const int calc_index2 = vldr3_index + atom2 * nwmax * gridt.bxyz; - - mat_A[atom_pair_num] - = psi + calc_index1; - mat_B[atom_pair_num] - = psi_vldr3 + calc_index2; - mat_C[atom_pair_num] - = grid_vlocal_g + offset; - - mat_lda[atom_pair_num] = gridt.bxyz; - mat_ldb[atom_pair_num] = gridt.bxyz; - mat_ldc[atom_pair_num] = ucell.atoms[it2].nw; - - mat_m[atom_pair_num] = ucell.atoms[it1].nw; - mat_n[atom_pair_num] = ucell.atoms[it2].nw; - mat_k[atom_pair_num] = gridt.bxyz; - - if (mat_m[atom_pair_num] > max_m) - { - max_m = mat_m[atom_pair_num]; - } - if (mat_n[atom_pair_num] > max_n) - { - max_n = mat_n[atom_pair_num]; - } - atom_pair_num++; - } - } - } - } -} - -} // namespace GintKernel \ No newline at end of file diff --git a/source/source_lcao/module_gint/init_orb.cpp b/source/source_lcao/module_gint/init_orb.cpp deleted file mode 100644 index 4ad04e08d6..0000000000 --- a/source/source_lcao/module_gint/init_orb.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#include "gint_tools.h" -#include "source_base/memory.h" -#include "source_basis/module_ao/ORB_read.h" -#include "source_cell/unitcell.h" - -namespace Gint_Tools{ - -void init_orb(double& dr_uniform, - std::vector& rcuts, - UnitCell& ucell, - const LCAO_Orbitals& orb, - std::vector>& psi_u, - std::vector>& dpsi_u, - std::vector>& d2psi_u) -{ - //! set the grid parameters - dr_uniform=orb.dr_uniform; - - assert(dr_uniform>0.0); - - const int nwmax=ucell.nwmax; - const int ntype=ucell.ntype; - - assert(nwmax>0); - assert(ntype>0); - - rcuts=std::vector(ntype); - ModuleBase::Memory::record("rcuts", sizeof(double)*ntype*3); - - for(int it=0; it(1/dr_uniform * max_cut) + 10; - psi_u=std::vector>(ntype * nwmax); - dpsi_u=std::vector>(ntype * nwmax); - d2psi_u=std::vector>(ntype * nwmax); - ModuleBase::Memory::record("psi_u", sizeof(double)*nwmax*ntype*3); - - Atom* atomx = nullptr; - const Numerical_Orbital_Lm* pointer = nullptr; - - for (int i = 0; i < ntype; i++) - { - atomx = &ucell.atoms[i]; - for (int j = 0; j < nwmax; j++) - { - const int k=i*nwmax+j; - if (j < atomx->nw) - { - pointer = &orb.Phi[i].PhiLN(atomx->iw2l[j],atomx->iw2n[j]); - psi_u[k]=pointer->psi_uniform; - dpsi_u[k]=pointer->dpsi_uniform; - d2psi_u[k]=pointer->ddpsi_uniform; - } - } - } -}// End of init_orb() - -}// End of Gint_Tools diff --git a/source/source_lcao/module_gint/temp_gint/kernel/cuda_mem_wrapper.h b/source/source_lcao/module_gint/kernel/cuda_mem_wrapper.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/kernel/cuda_mem_wrapper.h rename to source/source_lcao/module_gint/kernel/cuda_mem_wrapper.h diff --git a/source/source_lcao/module_gint/temp_gint/kernel/dgemm_vbatch.cu b/source/source_lcao/module_gint/kernel/dgemm_vbatch.cu similarity index 96% rename from source/source_lcao/module_gint/temp_gint/kernel/dgemm_vbatch.cu rename to source/source_lcao/module_gint/kernel/dgemm_vbatch.cu index b35e0669b6..f883f2ea6e 100644 --- a/source/source_lcao/module_gint/temp_gint/kernel/dgemm_vbatch.cu +++ b/source/source_lcao/module_gint/kernel/dgemm_vbatch.cu @@ -1,6 +1,7 @@ #include "gemm_tn_vbatch.cuh" #include "gemm_nn_vbatch.cuh" #include "dgemm_vbatch.h" +#include "source_base/module_device/device.h" void dgemm_nn_vbatch( int max_m, int max_n, int max_k, diff --git a/source/source_lcao/module_gint/temp_gint/kernel/dgemm_vbatch.h b/source/source_lcao/module_gint/kernel/dgemm_vbatch.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/kernel/dgemm_vbatch.h rename to source/source_lcao/module_gint/kernel/dgemm_vbatch.h diff --git a/source/source_lcao/module_gint/temp_gint/kernel/gemm_nn_vbatch.cuh b/source/source_lcao/module_gint/kernel/gemm_nn_vbatch.cuh similarity index 99% rename from source/source_lcao/module_gint/temp_gint/kernel/gemm_nn_vbatch.cuh rename to source/source_lcao/module_gint/kernel/gemm_nn_vbatch.cuh index 5ad934e305..02f558aabd 100644 --- a/source/source_lcao/module_gint/temp_gint/kernel/gemm_nn_vbatch.cuh +++ b/source/source_lcao/module_gint/kernel/gemm_nn_vbatch.cuh @@ -8,7 +8,7 @@ #include "gint_helper.cuh" #include - +#include "source_base/module_device/device.h" #define sA(i, j) sA[(j)*slda + (i)] #define sB(i, j) sB[(j)*sldb + (i)] @@ -424,4 +424,4 @@ void vbatched_gemm_nn_impl(int max_m, } } -#endif // GEMM_VBATCH_CUH \ No newline at end of file +#endif // GEMM_VBATCH_CUH diff --git a/source/source_lcao/module_gint/temp_gint/kernel/gemm_tn_vbatch.cuh b/source/source_lcao/module_gint/kernel/gemm_tn_vbatch.cuh similarity index 99% rename from source/source_lcao/module_gint/temp_gint/kernel/gemm_tn_vbatch.cuh rename to source/source_lcao/module_gint/kernel/gemm_tn_vbatch.cuh index 701e93e81f..fb96a8434f 100644 --- a/source/source_lcao/module_gint/temp_gint/kernel/gemm_tn_vbatch.cuh +++ b/source/source_lcao/module_gint/kernel/gemm_tn_vbatch.cuh @@ -8,7 +8,7 @@ #include "gint_helper.cuh" #include - +#include "source_base/module_device/device.h" #define sA(i, j) sA[(j)*slda + (i)] #define sB(i, j) sB[(j)*sldb + (i)] @@ -449,4 +449,4 @@ void vbatched_gemm_tn_impl(int max_m, } } -#endif // GEMM_TN_VBATCH_CUH \ No newline at end of file +#endif // GEMM_TN_VBATCH_CUH diff --git a/source/source_lcao/module_gint/temp_gint/kernel/gint_gpu_vars.cpp b/source/source_lcao/module_gint/kernel/gint_gpu_vars.cpp similarity index 98% rename from source/source_lcao/module_gint/temp_gint/kernel/gint_gpu_vars.cpp rename to source/source_lcao/module_gint/kernel/gint_gpu_vars.cpp index f4443762f0..f81af2779c 100644 --- a/source/source_lcao/module_gint/temp_gint/kernel/gint_gpu_vars.cpp +++ b/source/source_lcao/module_gint/kernel/gint_gpu_vars.cpp @@ -101,8 +101,6 @@ GintGpuVars::GintGpuVars(std::shared_ptr biggrid_info, checkCuda(cudaMalloc((void**)&iat2it_d, sizeof(int) * ucell.nat)); checkCuda(cudaMemcpy(iat2it_d, ucell.iat2it, sizeof(int) * ucell.nat, cudaMemcpyHostToDevice)); - - gemm_algo_selector(mgrid_num, fastest_matrix_mul, ucell); } GintGpuVars::~GintGpuVars() diff --git a/source/source_lcao/module_gint/kernel/gint_gpu_vars.h b/source/source_lcao/module_gint/kernel/gint_gpu_vars.h new file mode 100644 index 0000000000..5f711aa6a0 --- /dev/null +++ b/source/source_lcao/module_gint/kernel/gint_gpu_vars.h @@ -0,0 +1,44 @@ +#pragma once + +#include +#include "set_const_mem.cuh" +#include "source_base/ylm.h" +#include "source_cell/unitcell.h" +#include "source_cell/atom_spec.h" +#include "source_lcao/module_gint/biggrid_info.h" +#include "gint_helper.cuh" + +namespace ModuleGint +{ + +class GintGpuVars +{ + public: + GintGpuVars(std::shared_ptr bgrid_info, + const UnitCell& ucell, + const Numerical_Orbital* Phi); + ~GintGpuVars(); + + int nwmax; + double dr_uniform; + double nr_max; + // ylmcoef_d is __constant__ memory, no need to cudaFree + double* ylmcoef_d = nullptr; + double* rcut_d = nullptr; + int* atom_nw_d = nullptr; + int* ucell_atom_nwl_d = nullptr; + bool* atom_iw2_new_d = nullptr; + int* atom_iw2_ylm_d = nullptr; + int* atom_iw2_l_d = nullptr; + double* psi_u_d = nullptr; + double* dpsi_u_d = nullptr; + double* d2psi_u_d = nullptr; + double3* mgrids_pos_d = nullptr; + int* iat2it_d = nullptr; + + // the index of gpu device + int dev_id_ = 0; + +}; + +} \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/kernel/gint_helper.cuh b/source/source_lcao/module_gint/kernel/gint_helper.cuh similarity index 100% rename from source/source_lcao/module_gint/temp_gint/kernel/gint_helper.cuh rename to source/source_lcao/module_gint/kernel/gint_helper.cuh diff --git a/source/source_lcao/module_gint/temp_gint/kernel/phi_operator_gpu.cu b/source/source_lcao/module_gint/kernel/phi_operator_gpu.cu similarity index 100% rename from source/source_lcao/module_gint/temp_gint/kernel/phi_operator_gpu.cu rename to source/source_lcao/module_gint/kernel/phi_operator_gpu.cu diff --git a/source/source_lcao/module_gint/temp_gint/kernel/phi_operator_gpu.h b/source/source_lcao/module_gint/kernel/phi_operator_gpu.h similarity index 98% rename from source/source_lcao/module_gint/temp_gint/kernel/phi_operator_gpu.h rename to source/source_lcao/module_gint/kernel/phi_operator_gpu.h index 897218a8dd..27568e5ec9 100644 --- a/source/source_lcao/module_gint/temp_gint/kernel/phi_operator_gpu.h +++ b/source/source_lcao/module_gint/kernel/phi_operator_gpu.h @@ -2,7 +2,7 @@ #include #include -#include "source_lcao/module_gint/temp_gint/batch_biggrid.h" +#include "source_lcao/module_gint/batch_biggrid.h" #include "gint_helper.cuh" #include "gint_gpu_vars.h" #include "cuda_mem_wrapper.h" diff --git a/source/source_lcao/module_gint/temp_gint/kernel/phi_operator_kernel.cu b/source/source_lcao/module_gint/kernel/phi_operator_kernel.cu similarity index 99% rename from source/source_lcao/module_gint/temp_gint/kernel/phi_operator_kernel.cu rename to source/source_lcao/module_gint/kernel/phi_operator_kernel.cu index 5db767f501..aed0b9d8bd 100644 --- a/source/source_lcao/module_gint/temp_gint/kernel/phi_operator_kernel.cu +++ b/source/source_lcao/module_gint/kernel/phi_operator_kernel.cu @@ -1,6 +1,7 @@ #include "phi_operator_kernel.cuh" #include "gint_helper.cuh" #include "sph.cuh" +#include "source_base/module_device/device.h" namespace ModuleGint { @@ -577,4 +578,4 @@ __global__ void phi_dot_dphi_r_kernel( } } -} \ No newline at end of file +} diff --git a/source/source_lcao/module_gint/temp_gint/kernel/phi_operator_kernel.cuh b/source/source_lcao/module_gint/kernel/phi_operator_kernel.cuh similarity index 100% rename from source/source_lcao/module_gint/temp_gint/kernel/phi_operator_kernel.cuh rename to source/source_lcao/module_gint/kernel/phi_operator_kernel.cuh diff --git a/source/source_lcao/module_gint/temp_gint/kernel/set_const_mem.cu b/source/source_lcao/module_gint/kernel/set_const_mem.cu similarity index 100% rename from source/source_lcao/module_gint/temp_gint/kernel/set_const_mem.cu rename to source/source_lcao/module_gint/kernel/set_const_mem.cu diff --git a/source/source_lcao/module_gint/temp_gint/kernel/set_const_mem.cuh b/source/source_lcao/module_gint/kernel/set_const_mem.cuh similarity index 100% rename from source/source_lcao/module_gint/temp_gint/kernel/set_const_mem.cuh rename to source/source_lcao/module_gint/kernel/set_const_mem.cuh diff --git a/source/source_lcao/module_gint/temp_gint/kernel/sph.cuh b/source/source_lcao/module_gint/kernel/sph.cuh similarity index 100% rename from source/source_lcao/module_gint/temp_gint/kernel/sph.cuh rename to source/source_lcao/module_gint/kernel/sph.cuh diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen.cpp b/source/source_lcao/module_gint/kernels/cuda/code_gen.cpp deleted file mode 100644 index 42e8c4f0c5..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen.cpp +++ /dev/null @@ -1,4426 +0,0 @@ -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); - -gemm_time_measure(max_m, - max_n, - d_m, - d_n, - d_k, - d_global_A_array, - d_global_lda, - d_global_B_array, - d_global_ldb, - d_global_C_array, - d_global_ldc, - batchCount, - temp_stream, - fastest_time, - fastest_algo, - cpu_result, - h_global_C, - d_global_C); diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen.cuh b/source/source_lcao/module_gint/kernels/cuda/code_gen.cuh deleted file mode 100644 index a4b1a75916..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen.cuh +++ /dev/null @@ -1,473 +0,0 @@ -#ifndef CODE_GEN_CUH -#define CODE_GEN_CUH - -#include "gemm_selector.cuh" -#include - -extern template void gemm_time_measure(int, int, int*, int*, int*, double**, int*, double**, int*, double**, int*, int, cudaStream_t, float&, matrix_multiple_func_type&, double*, double*, double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -extern template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -#endif \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen_00.cu b/source/source_lcao/module_gint/kernels/cuda/code_gen_00.cu deleted file mode 100644 index a07c411485..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen_00.cu +++ /dev/null @@ -1,48 +0,0 @@ -#include "vbatch_matrix_mul.cuh" - -template void gemm_time_measure(int, int, int*, int*, int*, double**, int*, double**, int*, double**, int*, int, cudaStream_t, float&, matrix_multiple_func_type&, double*, double*, double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen_01.cu b/source/source_lcao/module_gint/kernels/cuda/code_gen_01.cu deleted file mode 100644 index 9f725c23c6..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen_01.cu +++ /dev/null @@ -1,48 +0,0 @@ -#include "vbatch_matrix_mul.cuh" - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen_02.cu b/source/source_lcao/module_gint/kernels/cuda/code_gen_02.cu deleted file mode 100644 index 090eab0709..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen_02.cu +++ /dev/null @@ -1,48 +0,0 @@ -#include "vbatch_matrix_mul.cuh" - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen_03.cu b/source/source_lcao/module_gint/kernels/cuda/code_gen_03.cu deleted file mode 100644 index 046d0e5063..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen_03.cu +++ /dev/null @@ -1,48 +0,0 @@ -#include "vbatch_matrix_mul.cuh" - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen_04.cu b/source/source_lcao/module_gint/kernels/cuda/code_gen_04.cu deleted file mode 100644 index f74209d829..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen_04.cu +++ /dev/null @@ -1,48 +0,0 @@ -#include "vbatch_matrix_mul.cuh" - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen_05.cu b/source/source_lcao/module_gint/kernels/cuda/code_gen_05.cu deleted file mode 100644 index c9cb81bd7c..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen_05.cu +++ /dev/null @@ -1,48 +0,0 @@ -#include "vbatch_matrix_mul.cuh" - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen_06.cu b/source/source_lcao/module_gint/kernels/cuda/code_gen_06.cu deleted file mode 100644 index f5fac39df2..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen_06.cu +++ /dev/null @@ -1,48 +0,0 @@ -#include "vbatch_matrix_mul.cuh" - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen_07.cu b/source/source_lcao/module_gint/kernels/cuda/code_gen_07.cu deleted file mode 100644 index 971c6eb0c0..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen_07.cu +++ /dev/null @@ -1,48 +0,0 @@ -#include "vbatch_matrix_mul.cuh" - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen_08.cu b/source/source_lcao/module_gint/kernels/cuda/code_gen_08.cu deleted file mode 100644 index 8643faae70..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen_08.cu +++ /dev/null @@ -1,48 +0,0 @@ -#include "vbatch_matrix_mul.cuh" - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - diff --git a/source/source_lcao/module_gint/kernels/cuda/code_gen_09.cu b/source/source_lcao/module_gint/kernels/cuda/code_gen_09.cu deleted file mode 100644 index 8cf333bf6f..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/code_gen_09.cu +++ /dev/null @@ -1,53 +0,0 @@ -#include "vbatch_matrix_mul.cuh" - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); - -template void gemm_time_measure(int,int,int*,int*,int*,double**,int*,double**,int*,double**,int*,int,cudaStream_t,float&,matrix_multiple_func_type&,double*,double*,double*); \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/cuda_tools.cu b/source/source_lcao/module_gint/kernels/cuda/cuda_tools.cu deleted file mode 100644 index c9bf122628..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/cuda_tools.cu +++ /dev/null @@ -1,292 +0,0 @@ -#include -#include -#include - -#include "cuda_tools.cuh" - -void dump_cuda_array_to_file(const double* cuda_array, - int width, - int hight, - const std::string& filename) -{ - double* h_data = new double[width * hight]; - cudaMemcpy(h_data, - cuda_array, - width * hight * sizeof(double), - cudaMemcpyDeviceToHost); - - std::ofstream outFile(filename); - if (!outFile.is_open()) - { - std::cerr << "Failed to open file for writing." << std::endl; - } - for (int j = 0; j < hight; ++j) - { - for (int i = 0; i < width; ++i) - { - outFile << "hight" << j << " width:" << i << " " - << h_data[j * width + i] << std::endl; - } - } - outFile.close(); - delete[] h_data; -} - -template -Cuda_Mem_Wrapper::Cuda_Mem_Wrapper() -{ - this->device_pointer = nullptr; - this->host_pointer = nullptr; - this->one_stream_size = 0; - this->one_stream_size_aligned = 0; - this->stream_number = 1; - this->total_size_aligned = 0; -} - -template -Cuda_Mem_Wrapper::Cuda_Mem_Wrapper(int one_stream_size_in, - int one_stream_size_aligned_in, - int stream_number_in, - bool malloc_host_in) -{ - this->stream_number = stream_number_in; - this->one_stream_size = one_stream_size_in; - this->one_stream_size_aligned = one_stream_size_aligned_in; - this->total_size_aligned - = this->one_stream_size_aligned * this->stream_number; - - checkCuda(cudaMalloc((void**)&this->device_pointer, - this->total_size_aligned * sizeof(T))); - checkCuda(cudaMemset(this->device_pointer, - 0, - this->total_size_aligned * sizeof(T))); - this->host_pointer = nullptr; - - if (malloc_host_in) - { - checkCuda(cudaMallocHost((void**)&this->host_pointer, - this->total_size_aligned * sizeof(T))); - memset(this->host_pointer, 0, this->total_size_aligned * sizeof(T)); - } -} - -template -Cuda_Mem_Wrapper::Cuda_Mem_Wrapper(int one_stream_size_in, - int stream_number_in, - bool malloc_host_in) - : Cuda_Mem_Wrapper(one_stream_size_in, - one_stream_size_in, - stream_number_in, - malloc_host_in) -{ -} - -template -Cuda_Mem_Wrapper::Cuda_Mem_Wrapper(Cuda_Mem_Wrapper&& other) noexcept -{ - this->device_pointer = other.device_pointer; - this->host_pointer = other.host_pointer; - this->one_stream_size = other.one_stream_size; - this->one_stream_size_aligned = other.one_stream_size_aligned; - this->stream_number = other.stream_number; - this->total_size_aligned = other.total_size_aligned; - - other.device_pointer = nullptr; - other.host_pointer = nullptr; - other.one_stream_size = 0; - other.one_stream_size_aligned = 0; - other.stream_number = 0; - other.total_size_aligned = 0; -} - -template -Cuda_Mem_Wrapper& Cuda_Mem_Wrapper::operator=(Cuda_Mem_Wrapper&& other) noexcept -{ - if (this != &other) - { - this->free_all(); - this->device_pointer = other.device_pointer; - this->host_pointer = other.host_pointer; - this->one_stream_size = other.one_stream_size; - this->one_stream_size_aligned = other.one_stream_size_aligned; - this->stream_number = other.stream_number; - this->total_size_aligned = other.total_size_aligned; - - other.device_pointer = nullptr; - other.host_pointer = nullptr; - other.one_stream_size = 0; - other.one_stream_size_aligned = 0; - other.stream_number = 0; - other.total_size_aligned = 0; - } - return *this; -} - -template -void Cuda_Mem_Wrapper::free_all() -{ - checkCuda(cudaFree(this->device_pointer)); - if (this->host_pointer != nullptr) - { - checkCuda(cudaFreeHost(this->host_pointer)); - } -} - -template -Cuda_Mem_Wrapper::~Cuda_Mem_Wrapper() -{ - this->free_all(); -} - -template -inline void Cuda_Mem_Wrapper::copy_host_to_device_sync(const int stream_id) -{ - if (this->host_pointer == nullptr || this->device_pointer == nullptr) - { - std::cerr << "host_pointer is nullptr, can not copy host to device" - << std::endl; - exit(1); - } - checkCuda(cudaMemcpy( - this->device_pointer + stream_id * this->one_stream_size_aligned, - this->host_pointer + stream_id * this->one_stream_size_aligned, - this->one_stream_size * sizeof(T), - cudaMemcpyHostToDevice)); -} - -template -inline void Cuda_Mem_Wrapper::copy_host_to_device_async(const cudaStream_t stream, - const int stream_id) -{ - if (this->host_pointer == nullptr || this->device_pointer == nullptr) - { - std::cerr << "host_pointer is nullptr, can not copy host to device" - << std::endl; - exit(1); - } - checkCuda(cudaMemcpyAsync( - this->device_pointer + stream_id * this->one_stream_size_aligned, - this->host_pointer + stream_id * this->one_stream_size_aligned, - this->one_stream_size * sizeof(T), - cudaMemcpyHostToDevice, - stream)); -} - -template -inline void Cuda_Mem_Wrapper::copy_host_to_device_async(const cudaStream_t stream, - const int stream_id, - const int size) -{ - if (this->host_pointer == nullptr || this->device_pointer == nullptr) - { - std::cerr << "host_pointer is nullptr, can not copy host to device" - << std::endl; - exit(1); - } - checkCuda(cudaMemcpyAsync( - this->device_pointer + stream_id * this->one_stream_size_aligned, - this->host_pointer + stream_id * this->one_stream_size_aligned, - size * sizeof(T), - cudaMemcpyHostToDevice, - stream)); -} - -template -inline void Cuda_Mem_Wrapper::copy_device_to_host_sync(const int stream_id) -{ - if (this->host_pointer == nullptr || this->device_pointer == nullptr) - { - std::cerr << "host_pointer is nullptr, can not copy device to host" - << std::endl; - exit(1); - } - checkCuda(cudaMemcpy( - this->host_pointer + stream_id * this->one_stream_size_aligned, - this->device_pointer + stream_id * this->one_stream_size_aligned, - this->one_stream_size * sizeof(T), - cudaMemcpyDeviceToHost)); -} - -template -inline void Cuda_Mem_Wrapper::copy_device_to_host_async(const cudaStream_t stream, - const int stream_id) -{ - if (this->host_pointer == nullptr || this->device_pointer == nullptr) - { - std::cerr << "host_pointer is nullptr, can not copy device to host" - << std::endl; - exit(1); - } - checkCuda(cudaMemcpyAsync( - this->host_pointer + stream_id * this->one_stream_size_aligned, - this->device_pointer + stream_id * this->one_stream_size_aligned, - this->one_stream_size * sizeof(T), - cudaMemcpyDeviceToHost, - stream)); -} - -template -inline void Cuda_Mem_Wrapper::copy_device_to_host_async(const cudaStream_t stream, - const int stream_id, - const int size) -{ - if (this->host_pointer == nullptr || this->device_pointer == nullptr) - { - std::cerr << "host_pointer is nullptr, can not copy device to host" - << std::endl; - exit(1); - } - checkCuda(cudaMemcpyAsync( - this->host_pointer + stream_id * this->one_stream_size_aligned, - this->device_pointer + stream_id * this->one_stream_size_aligned, - size * sizeof(T), - cudaMemcpyDeviceToHost, - stream)); -} - -template -inline void Cuda_Mem_Wrapper::memset_device_sync(const int stream_id, const int value) -{ - checkCuda(cudaMemset(this->device_pointer - + stream_id * this->one_stream_size_aligned, - value, - this->one_stream_size * sizeof(T))); -} - -template -inline void Cuda_Mem_Wrapper::memset_device_async(const cudaStream_t stream, - const int stream_id, - const int value) -{ - checkCuda(cudaMemsetAsync(this->device_pointer - + stream_id * this->one_stream_size_aligned, - value, - this->one_stream_size * sizeof(T), - stream)); -} - -template -inline void Cuda_Mem_Wrapper::memset_host(const int stream_id, const int value) -{ - memset(this->host_pointer + stream_id * this->one_stream_size_aligned, - value, - this->one_stream_size * sizeof(T)); -} - -template -inline T* Cuda_Mem_Wrapper::get_device_pointer(const int stream_id) -{ - return this->device_pointer + stream_id * this->one_stream_size_aligned; -} - -template -inline T* Cuda_Mem_Wrapper::get_host_pointer(const int stream_id) -{ - return this->host_pointer + stream_id * this->one_stream_size_aligned; -} -template class Cuda_Mem_Wrapper; -template class Cuda_Mem_Wrapper; -template class Cuda_Mem_Wrapper; -template class Cuda_Mem_Wrapper; -template class Cuda_Mem_Wrapper; - diff --git a/source/source_lcao/module_gint/kernels/cuda/cuda_tools.cuh b/source/source_lcao/module_gint/kernels/cuda/cuda_tools.cuh deleted file mode 100644 index dab697df8c..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/cuda_tools.cuh +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef CUDA_TOOLS_CUH -#define CUDA_TOOLS_CUH -#include // for assert -#include -#include // for CUDA_VERSION -#include - -#include -#include -#include - -#define checkCuda(val) check((val), #val, __FILE__, __LINE__) -#define checkCudaLastError() __getLastCudaError(__FILE__, __LINE__) - -inline void check(cudaError_t result, char const *const func, const char *const file, - int const line) { - if (result) { - fprintf(stderr, "CUDA error at %s:%d code=%d(%s) \"%s\" \n", file, line, - static_cast(result), cudaGetErrorString(result), func); - exit(EXIT_FAILURE); - } -} - -inline void __getLastCudaError(const char *file, - const int line) -{ - cudaError_t err = cudaGetLastError(); - - if (cudaSuccess != err) { - fprintf(stderr, - "%s(%i) : getLastCudaError() CUDA error :" - " (%d) %s.\n", - file, line, static_cast(err), - cudaGetErrorString(err)); - exit(EXIT_FAILURE); - } -} - -static inline int ceildiv(int x, int y) -{ - return (x + y - 1) / y; -} - -void dump_cuda_array_to_file(const double* cuda_array, - int width, - int hight, - const std::string& filename); - -// inline int ceil_div(int a, int b) -// { -// return (a + b - 1) / b; -// } - -/* - * @brief: A simple wrapper for cudaMalloc and cudaFree, sync and async CUDA - * memory copy - * @param: T: the type of the data - * - * @note: - * Manual management of CUDA memory is a very delicate task; complex pointers - * and malloc/free operations make it easy for us to encounter memory bugs. The - * severity of the issues increases significantly when introducing multi-node, - * multi-GPU, and multi-stream parallelism. - * Debugging after encountering bugs is also very difficult, finding the leaking - * pointer from dozens of variables can be quite a headache. - * Therefore, considering that our use and management of memory have some - * homogeneity, we have abstracted these needs into the following encapsulations - * to reduce the cost of maintenance and development. The memory is allocated in - * the constructor and freed in the destructor. - * - * The following interface is primarily designed for the following requirements: - * 1. We need to split a large task into multiple subtasks to run on multiple - * streams across multiple GPUs on multiple nodes. - * 2. It is necessary to allocate memory of the same shape on both host and - * device. - * 3. Data copying between host and device sync or async is required. - */ - -template -class Cuda_Mem_Wrapper -{ - public: - - Cuda_Mem_Wrapper(); - Cuda_Mem_Wrapper(int one_stream_size, - int one_stream_size_aligned, - int stream_number = 1, - bool malloc_host = true); - Cuda_Mem_Wrapper(int one_stream_size, - int stream_number = 1, - bool malloc_host = true); - - Cuda_Mem_Wrapper(const Cuda_Mem_Wrapper& other) = delete; - Cuda_Mem_Wrapper& operator=(const Cuda_Mem_Wrapper& other) = delete; - Cuda_Mem_Wrapper(Cuda_Mem_Wrapper&& other) noexcept; - Cuda_Mem_Wrapper& operator=(Cuda_Mem_Wrapper&& other) noexcept; - - ~Cuda_Mem_Wrapper(); - void copy_host_to_device_sync(const int stream_id = 0); - void copy_host_to_device_async(const cudaStream_t stream, const int stream_id); - void copy_host_to_device_async(const cudaStream_t stream, const int stream_id, const int size); - void copy_device_to_host_sync(const int stream_id = 0); - void copy_device_to_host_async(const cudaStream_t stream, const int stream_id); - void copy_device_to_host_async(const cudaStream_t stream, const int stream_id, const int size); - void memset_device_sync(const int stream_id = 0, const int value = 0); - void memset_device_async(const cudaStream_t stream, - const int stream_id = 0, - const int value = 0); - void memset_host(const int stream_id = 0, const int value = 0); - T* get_device_pointer(const int stream_id = 0); - T* get_host_pointer(const int stream_id = 0); - void free_all(); - - private: - T* device_pointer; - T* host_pointer; - int one_stream_size; - int one_stream_size_aligned; - int stream_number; - int total_size_aligned; -}; - -#endif // CUDA_TOOLS_CUH \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/gemm_selector.cu b/source/source_lcao/module_gint/kernels/cuda/gemm_selector.cu deleted file mode 100644 index 6550b21edb..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/gemm_selector.cu +++ /dev/null @@ -1,138 +0,0 @@ -#include - -#include "gemm_selector.cuh" -#include "vbatch_matrix_mul.cuh" -#include "cuda_tools.cuh" -#include "source_base/module_external/blas_connector.h" -#include "code_gen.cuh" - -/* - * Here we have utilized a very straightforward and brute-force method to select - * the optimal matrix multiplication kernel for a given scale of computation: we - * compute with all scales of kernels under the current computational task to - * find the fastest parameter combination. This approach can lead to an increase - * in compilation time. - */ -void gemm_algo_selector(int matrix_k, matrix_multiple_func_type& fastest_algo,const UnitCell& ucell) -{ - int batchCount_per_type = 32; - int batchCount - = batchCount_per_type * ucell.ntype * ucell.ntype; - - Cuda_Mem_Wrapper m(batchCount); - Cuda_Mem_Wrapper n(batchCount); - Cuda_Mem_Wrapper k(batchCount); - - int max_m = ucell.nwmax, max_n = ucell.nwmax; - - Cuda_Mem_Wrapper A(batchCount * max_m * matrix_k); - Cuda_Mem_Wrapper B(batchCount * max_n * matrix_k); - Cuda_Mem_Wrapper C(batchCount * max_m * max_n); - - Cuda_Mem_Wrapper lda(batchCount); - Cuda_Mem_Wrapper ldb(batchCount); - Cuda_Mem_Wrapper ldc(batchCount); - - Cuda_Mem_Wrapper A_array(batchCount); - Cuda_Mem_Wrapper B_array(batchCount); - Cuda_Mem_Wrapper C_array(batchCount); - - for (int i = 0; i < batchCount * max_m * matrix_k; ++i) - { - A.get_host_pointer()[i] = i * 0.001; - } - for (int i = 0; i < batchCount * max_n * matrix_k; ++i) - { - B.get_host_pointer()[i] = i * 0.002; - } - - double* cpu_result = new double[batchCount * max_m * max_n]; - memset(cpu_result, 0, batchCount * max_m * max_n * sizeof(double)); - int index = 0; - for (int i = 0; i < batchCount_per_type; ++i) - { - for (int j = 0; j < ucell.ntype; j++) - { - for (int l = 0; l < ucell.ntype; l++) - { - m.get_host_pointer()[index] = ucell.atoms[j].nw; - n.get_host_pointer()[index] = ucell.atoms[l].nw; - k.get_host_pointer()[index] = matrix_k; - - lda.get_host_pointer()[index] = matrix_k; - ldb.get_host_pointer()[index] = matrix_k; - ldc.get_host_pointer()[index] = ucell.atoms[l].nw; - - A_array.get_host_pointer()[index] - = &A.get_device_pointer()[index * max_m * matrix_k]; - B_array.get_host_pointer()[index] - = &B.get_device_pointer()[index * max_n * matrix_k]; - C_array.get_host_pointer()[index] - = &C.get_device_pointer()[index * max_n - * max_m]; // test atom add - BlasConnector::gemm( - 'N', - 'T', - m.get_host_pointer()[index], - n.get_host_pointer()[index], - matrix_k, - 1.0, - &A.get_host_pointer()[index * max_m * matrix_k], - matrix_k, - &B.get_host_pointer()[index * max_n * matrix_k], - matrix_k, - 1.0, - &cpu_result[index * max_m * max_n], - n.get_host_pointer()[index]); - index++; - } - } - } - - m.copy_host_to_device_sync(); - n.copy_host_to_device_sync(); - k.copy_host_to_device_sync(); - - lda.copy_host_to_device_sync(); - ldb.copy_host_to_device_sync(); - ldc.copy_host_to_device_sync(); - - A.copy_host_to_device_sync(); - B.copy_host_to_device_sync(); - A_array.copy_host_to_device_sync(); - B_array.copy_host_to_device_sync(); - C_array.copy_host_to_device_sync(); - - cudaStream_t temp_stream; - checkCuda(cudaStreamCreate(&temp_stream)); - - float fastest_time = 1000000; - fastest_algo = vbatched_gemm_impl; - - int* d_m = m.get_device_pointer(); - int* d_n = n.get_device_pointer(); - int* d_k = k.get_device_pointer(); - - double** d_global_A_array = A_array.get_device_pointer(); - double** d_global_B_array = B_array.get_device_pointer(); - double** d_global_C_array = C_array.get_device_pointer(); - - double* h_global_C = C.get_host_pointer(); - double* d_global_C = C.get_device_pointer(); - - int* d_global_lda = lda.get_device_pointer(); - int* d_global_ldb = ldb.get_device_pointer(); - int* d_global_ldc = ldc.get_device_pointer(); - -/* - * Please do not manually modify the code in the following file; - * it should simply be generated through a loop using a short Python program. - */ -#include "code_gen.cpp" - checkCuda(cudaStreamDestroy(temp_stream)); - std::cout << " gemm_algo_selector::Fastest time: " << fastest_time << " ms" - << std::endl; - // fastest_algo = vbatched_gemm_impl; - delete[] cpu_result; -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/gemm_selector.cuh b/source/source_lcao/module_gint/kernels/cuda/gemm_selector.cuh deleted file mode 100644 index 744f3c887d..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/gemm_selector.cuh +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef GEMM_SELECTOR_H -#define GEMM_SELECTOR_H - -#include "cuda_runtime.h" -#include "source_cell/unitcell.h" -typedef std::function< - void(int, int, int*, int*, int*, double**, int*, double**, int*, double**, int*, int, cudaStream_t, double* alpha)> - matrix_multiple_func_type; - -void gemm_algo_selector(int k, matrix_multiple_func_type& func, const UnitCell& ucell); - -#endif \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/gint_force.cu b/source/source_lcao/module_gint/kernels/cuda/gint_force.cu deleted file mode 100644 index 0199c9e37a..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/gint_force.cu +++ /dev/null @@ -1,225 +0,0 @@ -#include "sph.cuh" -#include "interp.cuh" -#include "gint_force.cuh" -#include "cuda_tools.cuh" -#include "source_base/module_device/device.h" -// CUDA kernel to calculate psi and force -namespace GintKernel -{ -__inline__ __device__ double warpReduceSum(double val) -{ - val += __shfl_xor_sync(0xffffffff, val, 16, 32); - val += __shfl_xor_sync(0xffffffff, val, 8, 32); - val += __shfl_xor_sync(0xffffffff, val, 4, 32); - val += __shfl_xor_sync(0xffffffff, val, 2, 32); - val += __shfl_xor_sync(0xffffffff, val, 1, 32); - return val; -} - - -__global__ void get_psi_force(double* ylmcoef, - double delta_r, - int bxyz, - const int nwmax, - const int max_atom, - const int* const ucell_atom_nwl, - const bool* const atom_iw2_new, - const int* const atom_iw2_ylm, - const int* const atom_iw2_l, - const int* const atom_nw, - const double* const rcut, - const int nr_max, - const double* const psi_u, - const double* const mcell_pos, - const double* const dr_part, - const double* const vldr3, - const uint8_t* const atoms_type, - const int* const atoms_num_info, - double* psi, - double* dpsi, - double* d2psi) -{ - const int bcell_id = blockIdx.x; - const int num_atoms = atoms_num_info[2 * bcell_id]; - const int pre_atoms = atoms_num_info[2 * bcell_id + 1]; - const int mcell_id = blockIdx.y; - const double vldr3_value = vldr3[bcell_id*bxyz + mcell_id]; - const double mcell_pos_x = mcell_pos[3 * mcell_id]; - const double mcell_pos_y = mcell_pos[3 * mcell_id + 1]; - const double mcell_pos_z = mcell_pos[3 * mcell_id + 2]; - - for(int atom_id = threadIdx.x; atom_id < num_atoms; atom_id += blockDim.x) - { - const int dr_start = 3 * (pre_atoms + atom_id); - const double dr_x = dr_part[dr_start] + mcell_pos_x; - const double dr_y = dr_part[dr_start + 1] + mcell_pos_y; - const double dr_z = dr_part[dr_start + 2] + mcell_pos_z; - double dist = sqrt(dr_x * dr_x + dr_y * dr_y + dr_z * dr_z); - const int atype = __ldg(atoms_type + pre_atoms + atom_id); - if(dist < rcut[atype]) - { - if (dist < 1.0E-9) - { - dist += 1.0E-9; - } - // dr is different from that in interp_rho and interp_vl - double dr[3] = {dr_x, dr_y, dr_z}; - double ylma[49]; - double grly[49][3]; - const int nwl = __ldg(ucell_atom_nwl + atype); - spherical_harmonics_d(dr, dist*dist, grly, nwl, ylma, ylmcoef); - int psi_idx = ((pre_atoms + atom_id) * bxyz + mcell_id) * nwmax; - interp_f(dist, - delta_r, - atype, - nwmax, - nr_max, - atom_nw, - atom_iw2_new, - psi_u, - ylma, - atom_iw2_l, - atom_iw2_ylm, - vldr3_value, - dr, - grly, - psi_idx, - psi, - dpsi, - d2psi); - } - } -} - - -__global__ void dot_product_stress(const double* d2psi, - const double* psi_dm, - const int size, - double* stress) -{ - __shared__ double cache[32 * 6]; - const int tid = threadIdx.x; - const int stride = blockDim.x * gridDim.x; - const int warp_id = tid / 32; - const int lane_id = tid % 32; - double tmp[6] = {0.0}; - for(int id = threadIdx.x + blockIdx.x * blockDim.x; id < size; id += stride) - { - const double psi_dm_2 = psi_dm[id] * 2; - const int id_stress = id * 6; - tmp[0] += d2psi[id_stress] * psi_dm_2; - tmp[1] += d2psi[id_stress + 1] * psi_dm_2; - tmp[2] += d2psi[id_stress + 2] * psi_dm_2; - tmp[3] += d2psi[id_stress + 3] * psi_dm_2; - tmp[4] += d2psi[id_stress + 4] * psi_dm_2; - tmp[5] += d2psi[id_stress + 5] * psi_dm_2; - } - - for(int i = 0; i<6; i++) - { - tmp[i] = warpReduceSum(tmp[i]); - } - - if (lane_id == 0) - { - for (int i = 0; i < 6; i++) - { - cache[warp_id * 6 + i] = tmp[i]; - } - } - __syncthreads(); - - for (int i = 0; i < 6; i++) - { - tmp[i] = (tid < blockDim.x / 32) ? cache[tid * 6 + i] : 0; - } - - if(warp_id == 0) - { - for (int i = 0; i < 6; i++) - { - tmp[i] = warpReduceSum(tmp[i]); - } - } - - if (tid == 0) - { - for (int i = 0; i < 6; i++) - { - atomicAdd(&stress[i], tmp[i]); // Use atomicAdd() instead of atomic_add(). - } - } -} - - -__global__ void dot_product_force(const int bxyz, - const int nwmax, - const int *atoms_num_info, - const int *iat_on_nbz, - const double* dpsi, - const double* psi_dm, - double* force) -{ - __shared__ double cache[32 * 3]; - const int tid = threadIdx.x; - const int bcell_id = blockIdx.x; - const int warp_id = tid / 32; - const int lane_id = tid % 32; - const int vec_size = bxyz * nwmax; - const int atom_num = atoms_num_info[2 * bcell_id]; - const int pre_atoms = atoms_num_info[2 * bcell_id + 1]; - - for(int k = 0; k < atom_num; k++) - { - const int atom_id = pre_atoms + k; - const int offset = atom_id * vec_size; - const int iat = iat_on_nbz[atom_id]; - double force_iat[3] = {0.0}; - - for(int i =tid; i < vec_size; i += blockDim.x) - { - int psi_offset = offset + i; - double psi_dm_2 = psi_dm[psi_offset] * 2; - force_iat[0] += dpsi[psi_offset * 3] * psi_dm_2; - force_iat[1] += dpsi[psi_offset * 3 + 1] * psi_dm_2; - force_iat[2] += dpsi[psi_offset * 3 + 2] * psi_dm_2; - } - - for (int i = 0; i < 3; i++) - { - force_iat[i] = warpReduceSum(force_iat[i]); - } - - if (lane_id == 0) - { - for (int i = 0; i < 3; i++) - { - cache[warp_id * 3 + i] = force_iat[i]; - } - } - __syncthreads(); - - for (int i = 0; i < 3; i++) - { - force_iat[i] = (tid < blockDim.x / 32) ? cache[tid * 3 + i] : 0; - } - - if (warp_id == 0) - { - for (int i = 0; i < 3; i++) - { - force_iat[i] = warpReduceSum(force_iat[i]); - } - } - - if (tid == 0) - { - for (int i = 0; i < 3; i++) - { - atomicAdd(&force[iat * 3 + i], force_iat[i]); - } - } - } -} - -} // namespace GintKernel diff --git a/source/source_lcao/module_gint/kernels/cuda/gint_force.cuh b/source/source_lcao/module_gint/kernels/cuda/gint_force.cuh deleted file mode 100644 index 74b941f32a..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/gint_force.cuh +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef GINT_FORCE_CUH -#define GINT_FORCE_CUH - -#include -#include -namespace GintKernel -{ - -__global__ void get_psi_force(double* ylmcoef, - double delta_r, - int bxyz, - const int nwmax, - const int max_atom, - const int* const ucell_atom_nwl, - const bool* const atom_iw2_new, - const int* const atom_iw2_ylm, - const int* const atom_iw2_l, - const int* const atom_nw, - const double* const rcut, - const int nr_max, - const double* const psi_u, - const double* const mcell_pos, - const double* const dr_part, - const double* const vldr3, - const uint8_t* const atoms_type, - const int* const atoms_num_info, - double* psi, - double* dpsi, - double* d2psi); - - -__global__ void dot_product_stress(const double* d2psi, - const double* psi_dm, - const int size, - double* stress); - -__global__ void dot_product_force(const int bxyz, - const int nwmax, - const int *atoms_num_info, - const int *iat_on_nbz, - const double* dpsi, - const double* psi_dm, - double* force); - -} // namespace GintKernel -#endif // GINT_VL_CUH diff --git a/source/source_lcao/module_gint/kernels/cuda/gint_rho.cu b/source/source_lcao/module_gint/kernels/cuda/gint_rho.cu deleted file mode 100644 index 6b4069c40b..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/gint_rho.cu +++ /dev/null @@ -1,130 +0,0 @@ -#include "interp.cuh" -#include "gint_rho.cuh" -#include "sph.cuh" -#include "cuda_tools.cuh" - -namespace GintKernel -{ -__inline__ __device__ double warpReduceSum(double val) -{ - val += __shfl_xor_sync(0xffffffff, val, 16, 32); - val += __shfl_xor_sync(0xffffffff, val, 8, 32); - val += __shfl_xor_sync(0xffffffff, val, 4, 32); - val += __shfl_xor_sync(0xffffffff, val, 2, 32); - val += __shfl_xor_sync(0xffffffff, val, 1, 32); - return val; -} - - -/* - each block calculates the wavefunction on a meshcell, - and each thread loops over the atoms on a meshcell. -*/ -__global__ void get_psi(const double* const ylmcoef, - const double delta_r, - const int bxyz, - const int nwmax, - const int max_atom, - const int* const ucell_atom_nwl, - const bool* const atom_iw2_new, - const int* const atom_iw2_ylm, - const int* const atom_nw, - const double* const rcut, - const int nr_max, - const double* const psi_u, - const double* const mcell_pos, - const double* const dr_part, - const uint8_t* const atoms_type, - const int* const atoms_num_info, - double* psi) -{ - const int bcell_id = blockIdx.x; - const int num_atoms = atoms_num_info[2 * bcell_id]; - const int pre_atoms = atoms_num_info[2 * bcell_id + 1]; - const int mcell_id = blockIdx.y; - const double mcell_pos_x = mcell_pos[3 * mcell_id]; - const double mcell_pos_y = mcell_pos[3 * mcell_id + 1]; - const double mcell_pos_z = mcell_pos[3 * mcell_id + 2]; - - for(int atom_id = threadIdx.x; atom_id < num_atoms; atom_id += blockDim.x) - { - const int aid = pre_atoms + atom_id; - const double dr_x = dr_part[aid * 3] + mcell_pos_x; - const double dr_y = dr_part[aid * 3 + 1] + mcell_pos_y; - const double dr_z = dr_part[aid * 3 + 2] + mcell_pos_z; - double dist = sqrt(dr_x * dr_x + dr_y * dr_y + dr_z * dr_z); - const int atype = __ldg(atoms_type + aid); - if(dist < rcut[atype]) - { - if (dist < 1.0E-9) - { - dist += 1.0E-9; - } - double dr[3] = {dr_x / dist, dr_y / dist, dr_z / dist}; - double ylma[49]; - const int nwl = __ldg(ucell_atom_nwl + atype); - int psi_idx = (pre_atoms * bxyz + mcell_id * num_atoms + atom_id) * nwmax; - spherical_harmonics(dr, nwl, ylma, ylmcoef); - interp_rho(dist, - delta_r, - atype, - nwmax, - nr_max, - atom_nw, - atom_iw2_new, - psi_u, - ylma, - atom_iw2_ylm, - psi, - psi_idx); - } - } -} - -/* - Each block calculates the dot product on a meshcell, - and each thread loops over the wavefunction of atoms on a meshcell. -*/ -__global__ void psir_dot(const int bxyz, - const int nwmax, - const int* atoms_num_info, - const double* __restrict__ vec_a_g, - const double* __restrict__ vec_b_g, - double** results_g) -{ - __shared__ double s_data[32]; - const int tid = threadIdx.x; - const int bcell_id = blockIdx.x; - const int mcell_id = blockIdx.y; - const int vec_size = atoms_num_info[2 * bcell_id] * nwmax; - const int offset = atoms_num_info[2 * bcell_id + 1] * nwmax * bxyz + mcell_id * vec_size; - const double* vec_a_mcell = vec_a_g + offset; - const double* vec_b_mcell = vec_b_g + offset; - const int warp_id = tid / 32; - const int lane_id = tid % 32; - double mySum = 0; - - for (int k = tid; k < vec_size; k += blockDim.x) - { - mySum += vec_a_mcell[k] * vec_b_mcell[k]; - } - - mySum = warpReduceSum(mySum); - - if (lane_id == 0) - { - s_data[warp_id] = mySum; - } - __syncthreads(); - - mySum = (tid < blockDim.x / 32) ? s_data[tid] : 0; - if (warp_id == 0) - { - mySum = warpReduceSum(mySum); - } - - if (tid == 0) { - *results_g[bcell_id*bxyz + mcell_id] = mySum; - } -} -} // namespace GintKernel \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/gint_rho.cuh b/source/source_lcao/module_gint/kernels/cuda/gint_rho.cuh deleted file mode 100644 index 70cbbb7692..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/gint_rho.cuh +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef GINT_RHO_CUH -#define GINT_RHO_CUH - -#include -#include -namespace GintKernel -{ - -/** - * @brief CUDA kernel to calculate psir. - * - * This kernel calculates the wave function psi using the provided input - * parameters. - */ -__global__ void get_psi(const double* const ylmcoef, - const double delta_r, - const int bxyz, - const int nwmax, - const int max_atom, - const int* const ucell_atom_nwl, - const bool* const atom_iw2_new, - const int* const atom_iw2_ylm, - const int* const atom_nw, - const double* const rcut, - const int nr_max, - const double* const psi_u, - const double* const mcell_pos, - const double* const dr_part, - const uint8_t* const atoms_type, - const int* const atoms_num_info, - double* psi); - -__global__ void psir_dot(const int bxyz, - const int nwmax, - const int* atoms_num_info, - const double* __restrict__ vec_a_g, - const double* __restrict__ vec_b_g, - double** results_g); - -} // namespace GintKernel -#endif // GINT_RHO_CUH \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/gint_vl.cu b/source/source_lcao/module_gint/kernels/cuda/gint_vl.cu deleted file mode 100644 index 3b92455e60..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/gint_vl.cu +++ /dev/null @@ -1,75 +0,0 @@ -#include "gint_vl.cuh" -#include "interp.cuh" -#include "cuda_tools.cuh" -#include "sph.cuh" -namespace GintKernel -{ - -__global__ void get_psi_and_vldr3(const double* const ylmcoef, - const double delta_r, - const int bxyz, - const double nwmax, - const double max_atom, - const int* const ucell_atom_nwl, - const bool* const atom_iw2_new, - const int* const atom_iw2_ylm, - const int* const atom_nw, - const double* const rcut, - const int nr_max, - const double* const psi_u, - const double* const mcell_pos, - const double* const dr_part, - const double* const vldr3, - const uint8_t* const atoms_type, - const int* const atoms_num_info, - double* psi, - double* psi_vldr3) -{ - const int bcell_id = blockIdx.x; - const int num_atoms = atoms_num_info[2 * bcell_id]; - const int pre_atoms = atoms_num_info[2 * bcell_id + 1]; - const int mcell_id = blockIdx.y; - const double vldr3_value = vldr3[bcell_id * bxyz + mcell_id]; - const double mcell_pos_x = mcell_pos[3 * mcell_id]; - const double mcell_pos_y = mcell_pos[3 * mcell_id + 1]; - const double mcell_pos_z = mcell_pos[3 * mcell_id + 2]; - - for(int atom_id = threadIdx.x; atom_id < num_atoms; atom_id += blockDim.x) - { - const int dr_start = 3 * (pre_atoms + atom_id); - const double dr_x = dr_part[dr_start] + mcell_pos_x; - const double dr_y = dr_part[dr_start + 1] + mcell_pos_y; - const double dr_z = dr_part[dr_start + 2] + mcell_pos_z; - double dist = sqrt(dr_x * dr_x + dr_y * dr_y + dr_z * dr_z); - const int atype = __ldg(atoms_type + pre_atoms + atom_id); - if(dist < rcut[atype]) - { - if (dist < 1.0E-9) - { - dist += 1.0E-9; - } - double dr[3] = {dr_x / dist, dr_y / dist, dr_z / dist}; - double ylma[49]; - const int nwl = __ldg(ucell_atom_nwl + atype); - spherical_harmonics(dr, nwl, ylma, ylmcoef); - int psi_idx = (bcell_id * max_atom + atom_id) * bxyz * nwmax + mcell_id; - interp_vl(dist, - delta_r, - atype, - nwmax, - bxyz, - nr_max, - atom_nw, - atom_iw2_new, - psi_u, - ylma, - atom_iw2_ylm, - vldr3_value, - psi, - psi_vldr3, - psi_idx); - } - } -} - -} // namespace GintKernel \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/gint_vl.cuh b/source/source_lcao/module_gint/kernels/cuda/gint_vl.cuh deleted file mode 100644 index ada7954968..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/gint_vl.cuh +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef GINT_VL_CUH -#define GINT_VL_CUH - -#include -#include -namespace GintKernel -{ -/* - * @brief: get the value of the spherical harmonics - * - * - * @note the left and right matrix elements of the grid point integral. - * We can understand the grid point integral of the local potential term - * as the following operation: - * H = psi * vlocal * psi * dr^3. - * Here, the matrix element of the left matrix is psi, and the matrix - * element of the right matrix is vlocal * psi * dr^3. - */ -__global__ void get_psi_and_vldr3(const double* const ylmcoef, - const double delta_r, - const int bxyz, - const double nwmax, - const double max_atom, - const int* const ucell_atom_nwl, - const bool* const atom_iw2_new, - const int* const atom_iw2_ylm, - const int* const atom_nw, - const double* const rcut, - const int nr_max, - const double* const psi_u, - const double* const mcell_pos, - const double* const dr_part, - const double* const vldr3, - const uint8_t* const atoms_type, - const int* const atoms_num_info, - double* psi, - double* psi_vldr3); - -} // namespace GintKernel -#endif // GINT_VL_CUH \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/interp.cuh b/source/source_lcao/module_gint/kernels/cuda/interp.cuh deleted file mode 100644 index 31ccf3ca2c..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/interp.cuh +++ /dev/null @@ -1,204 +0,0 @@ -#ifndef INTERP_CUH -#define INTERP_CUH - -#include - -namespace GintKernel -{ -// if exponent is an integer between 0 and 5 (the most common cases in gint), -// pow_int is much faster than std::pow -static __device__ double pow_int(double base, int exp) -{ - switch (exp) - { - case 0: - return 1.0; - case 1: - return base; - case 2: - return base * base; - case 3: - return base * base * base; - case 4: - return base * base * base * base; - case 5: - return base * base * base * base * base; - default: - double result = pow(base, exp); - return result; - } -} - -static __device__ void interp_rho(const double dist, - const double delta_r, - const int atype, - const double nwmax, - const int nr_max, - const int* __restrict__ atom_nw, - const bool* __restrict__ atom_iw2_new, - const double* __restrict__ psi_u, - const double ylma[49], - const int* __restrict__ atom_iw2_ylm, - double* psi, - int psi_idx) -{ - const double distance = dist / delta_r; - - const int ip = (int)(distance); - const double dx = distance - ip; - const double dx2 = dx * dx; - const double dx3 = dx2 * dx; - - const double c3 = 3.0 * dx2 - 2.0 * dx3; - const double c1 = 1.0 - c3; - const double c2 = (dx - 2.0 * dx2 + dx3) * delta_r; - const double c4 = (dx3 - dx2) * delta_r; - - double phi = 0.0; - const int it_nw = atype * nwmax; - int iw_nr = (it_nw * nr_max + ip) * 2; - int it_nw_iw = it_nw; - for (int iw = 0; iw < atom_nw[atype]; ++iw) - { - if (atom_iw2_new[it_nw_iw]) - { - phi = c1 * psi_u[iw_nr] + c2 * psi_u[iw_nr + 1] - + c3 * psi_u[iw_nr + 2] + c4 * psi_u[iw_nr + 3]; - } - psi[psi_idx] = phi * ylma[atom_iw2_ylm[it_nw_iw]]; - psi_idx += 1; - iw_nr += 2 * nr_max; - it_nw_iw++; - } -} - -static __device__ void interp_vl(const double dist, - const double delta_r, - const int atype, - const double nwmax, - const int bxyz, - const int nr_max, - const int* __restrict__ atom_nw, - const bool* __restrict__ atom_iw2_new, - const double* __restrict__ psi_u, - const double ylma[49], - const int* __restrict__ atom_iw2_ylm, - const double vldr3_value, - double* psi, - double* psi_vldr3, - int psi_idx) -{ - const double distance = dist / delta_r; - - const int ip = (int)(distance); - const double dx = distance - ip; - const double dx2 = dx * dx; - const double dx3 = dx2 * dx; - - const double c3 = 3.0 * dx2 - 2.0 * dx3; - const double c1 = 1.0 - c3; - const double c2 = (dx - 2.0 * dx2 + dx3) * delta_r; - const double c4 = (dx3 - dx2) * delta_r; - - double phi = 0.0; - const int it_nw = atype * nwmax; - int iw_nr = (it_nw * nr_max + ip) * 2; - int it_nw_iw = it_nw; - for (int iw = 0; iw < atom_nw[atype]; ++iw) - { - if (atom_iw2_new[it_nw_iw]) - { - phi = c1 * psi_u[iw_nr] + c2 * psi_u[iw_nr + 1] - + c3 * psi_u[iw_nr + 2] + c4 * psi_u[iw_nr + 3]; - } - psi[psi_idx] = phi * ylma[atom_iw2_ylm[it_nw_iw]]; - psi_vldr3[psi_idx] = psi[psi_idx] * vldr3_value; - psi_idx += bxyz; - iw_nr += 2 * nr_max; - it_nw_iw++; - } -} - -static __device__ void interp_f(const double dist, - const double delta_r, - const int atype, - const double nwmax, - const int nr_max, - const int* __restrict__ atom_nw, - const bool* __restrict__ atom_iw2_new, - const double* __restrict__ psi_u, - const double ylma[49], - const int* __restrict__ atom_iw2_l, - const int* __restrict__ atom_iw2_ylm, - const double vldr3_value, - const double * __restrict__ dr, - const double grly[49][3], - int psi_idx, - double* psi, - double* dpsi, - double* d2psi) -{ - // Calculate normalized position for interpolation - const double postion = dist / delta_r; - // Extract integer part and fractional part of the position - const double ip = static_cast(postion); - const double x0 = postion - ip; - const double x1 = 1.0 - x0; - const double x2 = 2.0 - x0; - const double x3 = 3.0 - x0; - const double x12 = x1 * x2 / 6; - const double x03 = x0 * x3 / 2; - // Temporary variables for interpolation - double tmp = 0.0; - double dtmp = 0.0; - // Loop over non-zero elements in atom_nw array - const int it_nw = atype * nwmax; - int iw_nr = (it_nw * nr_max + ip) * 2; - int it_nw_iw = it_nw; - for (int iw = 0; iw < atom_nw[atype]; ++iw) - { - if (atom_iw2_new[it_nw_iw]) - { - // Perform interpolation using cubic B-spline - // basis functions - tmp = x12 * (psi_u[iw_nr] * x3 + psi_u[iw_nr + 6] * x0) - + x03 * (psi_u[iw_nr + 2] * x2 - psi_u[iw_nr + 4] * x1); - dtmp = x12 * (psi_u[iw_nr + 1] * x3 + psi_u[iw_nr + 7] * x0) - + x03 * (psi_u[iw_nr + 3] * x2 - psi_u[iw_nr + 5] * x1); - } - // Extract information from atom_iw2_* arrays - const int ll = atom_iw2_l[it_nw_iw]; - const int idx_lm = atom_iw2_ylm[it_nw_iw]; - const double rl = pow_int(dist, ll); - const double rl_r = 1.0 / rl; - const double dist_r = 1 / dist; - const int dpsi_idx = psi_idx * 3; - const int d2psi_idx = psi_idx * 6; - // Compute derivatives with respect to spatial - // coordinates - const double tmpdphi_rly - = (dtmp - tmp * ll * dist_r) * rl_r * ylma[idx_lm] * dist_r; - const double tmprl = tmp * rl_r; - const double dpsirx = tmpdphi_rly * dr[0] + tmprl * grly[idx_lm][0]; - const double dpsiry = tmpdphi_rly * dr[1] + tmprl * grly[idx_lm][1]; - const double dpsirz = tmpdphi_rly * dr[2] + tmprl * grly[idx_lm][2]; - - psi[psi_idx] = tmprl * ylma[idx_lm] * vldr3_value; - dpsi[dpsi_idx] = dpsirx; - dpsi[dpsi_idx + 1] = dpsiry; - dpsi[dpsi_idx + 2] = dpsirz; - d2psi[d2psi_idx] = dpsirx * dr[0]; - d2psi[d2psi_idx + 1] = dpsirx * dr[1]; - d2psi[d2psi_idx + 2] = dpsirx * dr[2]; - d2psi[d2psi_idx + 3] = dpsiry * dr[1]; - d2psi[d2psi_idx + 4] = dpsiry * dr[2]; - d2psi[d2psi_idx + 5] = dpsirz * dr[2]; - // Update loop counters and indices - psi_idx += 1; - iw_nr += 2 * nr_max; - it_nw_iw++; - } -} -} // namespace GintKernel - -#endif \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/sph.cuh b/source/source_lcao/module_gint/kernels/cuda/sph.cuh deleted file mode 100644 index fec963d9fd..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/sph.cuh +++ /dev/null @@ -1,519 +0,0 @@ -#ifndef SPH_CUH -#define SPH_CUH - -#include "cuda_runtime.h" -#include "device_launch_parameters.h" - -namespace GintKernel -{ - -static __device__ void spherical_harmonics(const double* const dr, - const int nwl, - double (&ylma)[49], - const double* const ylmcoef) -{ - /*************************** - L = 0 - ***************************/ - ylma[0] = ylmcoef[0]; // l=0, m=0 - double tmp0; - if (nwl == 0) - return; - - /*************************** - L = 1 - ***************************/ - ylma[1] = ylmcoef[1] * dr[2]; // l=1, m=0 - ylma[2] = -ylmcoef[1] * dr[0]; // l=1, m=1 - ylma[3] = -ylmcoef[1] * dr[1]; // l=1, m=-1 - if (nwl == 1) - return; - - /*************************** - L = 2 - ***************************/ - tmp0=ylmcoef[3] * ylma[0]; - ylma[4] = ylmcoef[2] * dr[2] * ylma[1] - tmp0 ; // l=2, m=0 - tmp0 = ylmcoef[4] * dr[2]; - ylma[5] = tmp0 * ylma[2]; // l=2,m=1 - ylma[6] = tmp0 * ylma[3]; // l=2,m=-1 - - tmp0 = ylmcoef[4] * dr[0]; - ylma[7] = ylmcoef[5] * ylma[4] - ylmcoef[6] * ylma[0] - - tmp0 * ylma[2]; // l=2,m=2 - ylma[8] = -tmp0 * ylma[3]; - if (nwl == 2) - return; - - /*************************** - L = 3 - ***************************/ - tmp0=ylmcoef[8] * ylma[1]; - ylma[9] = ylmcoef[7] * dr[2] * ylma[4] - tmp0; // l=3, m=0 - - tmp0 = ylmcoef[9] * dr[2]; - ylma[10] = tmp0 * ylma[5] - ylmcoef[10] * ylma[2]; // l=3,m=1 - ylma[11] = tmp0 * ylma[6] - ylmcoef[10] * ylma[3]; // l=3,m=-1 - - tmp0 = ylmcoef[11] * dr[2]; - ylma[12] = tmp0 * ylma[7]; // l=3,m=2 - ylma[13] = tmp0 * ylma[8]; // l=3,m=-2 - - tmp0 = ylmcoef[14] * dr[0]; - ylma[14] = ylmcoef[12] * ylma[10] - ylmcoef[13] * ylma[2] - - tmp0 * ylma[7]; // l=3,m=3 - ylma[15] = ylmcoef[12] * ylma[11] - ylmcoef[13] * ylma[3] - - tmp0 * ylma[8]; // l=3,m=-3 - if (nwl == 3) - return; - - /*************************** - L = 4 - ***************************/ - tmp0=ylmcoef[16] * ylma[4]; - ylma[16] = ylmcoef[15] * dr[2] * ylma[9] - tmp0; // l=4,m=0 - - tmp0 = ylmcoef[17] * dr[2]; - ylma[17] = tmp0 * ylma[10] - ylmcoef[18] * ylma[5]; // l=4,m=1 - ylma[18] = tmp0 * ylma[11] - ylmcoef[18] * ylma[6]; // l=4,m=-1 - - tmp0 = ylmcoef[19] * dr[2]; - ylma[19] = tmp0 * ylma[12] - ylmcoef[20] * ylma[7]; // l=4,m=2 - ylma[20] = tmp0 * ylma[13] - ylmcoef[20] * ylma[8]; // l=4,m=-2 - - tmp0 = 3.0 * dr[2]; - ylma[21] = tmp0 * ylma[14]; // l=4,m=3 - ylma[22] = tmp0 * ylma[15]; // l=4,m=-3 - - tmp0 = ylmcoef[23] * dr[0]; - ylma[23] = ylmcoef[21] * ylma[19] - ylmcoef[22] * ylma[7] - - tmp0 * ylma[14]; // l=4,m=4 - ylma[24] = ylmcoef[21] * ylma[20] - ylmcoef[22] * ylma[8] - - tmp0 * ylma[15]; // l=4,m=-4 - if (nwl == 4) - return; - - /*************************** - L = 5 - ***************************/ - tmp0=ylmcoef[25] * ylma[9]; - ylma[25] - = ylmcoef[24] * dr[2] * ylma[16] - tmp0; // l=5,m=0 - - tmp0 = ylmcoef[26] * dr[2]; - ylma[26] = tmp0 * ylma[17] - ylmcoef[27] * ylma[10]; // l=5,m=1 - ylma[27] = tmp0 * ylma[18] - ylmcoef[27] * ylma[11]; // l=5,m=-1 - - tmp0 = ylmcoef[28] * dr[2]; - ylma[28] = tmp0 * ylma[19] - ylmcoef[29] * ylma[12]; // l=5,m=2 - ylma[29] = tmp0 * ylma[20] - ylmcoef[29] * ylma[13]; // l=5,m=-2 - - tmp0 = ylmcoef[30] * dr[2]; - ylma[30] = tmp0 * ylma[21] - ylmcoef[31] * ylma[14]; // l=5,m=3 - ylma[31] = tmp0 * ylma[22] - ylmcoef[31] * ylma[15]; // l=5,m=-3 - - tmp0 = ylmcoef[32] * dr[2]; - ylma[32] = tmp0 * ylma[23]; // l=5,m=4 - ylma[33] = tmp0 * ylma[24]; // l=5,m=-4 - - tmp0 = ylmcoef[35] * dr[0]; - ylma[34] = ylmcoef[33] * ylma[30] - ylmcoef[34] * ylma[14] - - tmp0 * ylma[23]; // l=5,m=5 - ylma[35] = ylmcoef[33] * ylma[31] - ylmcoef[34] * ylma[15] - - tmp0 * ylma[24]; // l=5,m=-5 - if (nwl == 5) - return; - /* - // if nwl > 5 - for (int il = 6; il <= nwl; il++) - { - int istart = il * il; - int istart1 = (il - 1) * (il - 1); - int istart2 = (il - 2) * (il - 2); - - double fac2 = sqrt(4.0 * istart - 1.0); - double fac4 = sqrt(4.0 * istart1 - 1.0); - - for (int im = 0; im < 2 * il - 1; im++) - { - int imm = (im + 1) / 2; - ylma[istart + im] = fac2 / sqrt((double)istart - imm * imm) * (dr[2] - * ylma[istart1 + im] - sqrt((double)istart1 - imm * imm) / fac4 * - ylma[istart2 + im]); - } - - double bl1 = sqrt(2.0 * il / (2.0 * il + 1.0)); - double bl2 = sqrt((2.0 * il - 2.0) / (2.0 * il - 1.0)); - double bl3 = sqrt(2.0) / fac2; - - ylma[istart + 2 * il - 1] = (bl3 * ylma[istart + 2 * il - 5] - bl2 * - ylma[istart2 + 2 * il - 5] - 2.0 * dr[0] * ylma[istart1 + 2 * il - 3]) / - bl1; ylma[istart + 2 * il] = (bl3 * ylma[istart + 2 * il - 4] - bl2 * - ylma[istart2 + 2 * il - 4] - 2.0 * dr[0] * ylma[istart1 + 2 * il - 2]) / - bl1; - }*/ -} - -static __device__ void spherical_harmonics_d(const double* const dr, - const double distance, - double (&grly)[49][3], - const int nwl, - double (&ylma)[49], - const double* const ylmcoef) -{ - double tmp0; - double tx = 2.0 * dr[0]; - double ty = 2.0 * dr[1]; - double tz = 2.0 * dr[2]; - ylma[0] = ylmcoef[0]; // l=0, m=0 - grly[0][0] = grly[0][1] = grly[0][2] = 0.0; - if (nwl == 0) - return; - - /*************************** - L = 1 - ***************************/ - ylma[1] = ylmcoef[1] * dr[2]; // l=1, m=0 - grly[1][0] = grly[1][1] = 0.0; - grly[1][2] = ylmcoef[1]; - ylma[2] = -ylmcoef[1] * dr[0]; // l=1, m=1 - grly[2][1] = grly[2][2] = 0.0; - grly[2][0] = -ylmcoef[1]; - ylma[3] = -ylmcoef[1] * dr[1]; // l=1, m=-1 - grly[3][0] = grly[3][2] = 0.0; - grly[3][1] = -ylmcoef[1]; - if (nwl == 1) - return; - - /*************************** - L = 2 - ***************************/ - ylma[4] = ylmcoef[2] * dr[2] * ylma[1] - - ylmcoef[3] * ylma[0] * distance; // l=2, m=0 - grly[4][0] - = ylmcoef[2] * dr[2] * grly[1][0] - - ylmcoef[3] * (grly[0][0] * distance + ylma[0] * tx); // l=2, m=0 - grly[4][1] - = ylmcoef[2] * dr[2] * grly[1][1] - - ylmcoef[3] * (grly[0][1] * distance + ylma[0] * ty); // l=2, m=0 - grly[4][2] - = ylmcoef[2] * (dr[2] * grly[1][2] + ylma[1]) - - ylmcoef[3] * (grly[0][2] * distance + ylma[0] * tz); // l=2, m=0 - - tmp0 = ylmcoef[4] * dr[2]; - ylma[5] = tmp0 * ylma[2]; // l=2,m=1 - grly[5][0] = tmp0 * grly[2][0]; - grly[5][1] = tmp0 * grly[2][1]; - grly[5][2] = ylmcoef[4] * (ylma[2] + dr[2] * grly[2][2]); - - ylma[6] = tmp0 * ylma[3]; // l=2,m=-1 - grly[6][0] = tmp0 * grly[3][0]; - grly[6][1] = tmp0 * grly[3][1]; - grly[6][2] = ylmcoef[4] * (ylma[3] + dr[2] * grly[3][2]); - - tmp0 = ylmcoef[4] * dr[0]; - ylma[7] = ylmcoef[5] * ylma[4] - ylmcoef[6] * ylma[0] * distance - - tmp0 * ylma[2]; // l=2,m=2 - grly[7][0] = ylmcoef[5] * grly[4][0] - - ylmcoef[6] * (ylma[0] * tx + grly[0][0] * distance) - - ylmcoef[4] * (dr[0] * grly[2][0] + ylma[2]); - grly[7][1] = ylmcoef[5] * grly[4][1] - - ylmcoef[6] * (ylma[0] * ty + grly[0][1] * distance) - - tmp0 * grly[2][1]; - grly[7][2] = ylmcoef[5] * grly[4][2] - - ylmcoef[6] * (ylma[0] * tz + grly[0][2] * distance) - - tmp0 * grly[2][2]; - - ylma[8] = -tmp0 * ylma[3]; - grly[8][0] = -ylmcoef[4] * (ylma[3] + dr[0] * grly[3][0]); - grly[8][1] = -tmp0 * grly[3][1]; - grly[8][2] = -tmp0 * grly[3][2]; - if (nwl == 2) - return; - - /*************************** - L = 3 - ***************************/ - ylma[9] = ylmcoef[7] * dr[2] * ylma[4] - - ylmcoef[8] * ylma[1] * distance; // l=3, m=0 - grly[9][0] = ylmcoef[7] * dr[2] * grly[4][0] - - ylmcoef[8] * (ylma[1] * tx + grly[1][0] * distance); - grly[9][1] = ylmcoef[7] * dr[2] * grly[4][1] - - ylmcoef[8] * (ylma[1] * ty + grly[1][1] * distance); - grly[9][2] = ylmcoef[7] * (ylma[4] + dr[2] * grly[4][2]) - - ylmcoef[8] * (ylma[1] * tz + grly[1][2] * distance); - - tmp0 = ylmcoef[9] * dr[2]; - ylma[10] = tmp0 * ylma[5] - ylmcoef[10] * ylma[2] * distance; // l=3,m=1 - grly[10][0] = tmp0 * grly[5][0] - - ylmcoef[10] * (grly[2][0] * distance + ylma[2] * tx); - grly[10][1] = tmp0 * grly[5][1] - - ylmcoef[10] * (grly[2][1] * distance + ylma[2] * ty); - grly[10][2] = ylmcoef[9] * (dr[2] * grly[5][2] + ylma[5]) - - ylmcoef[10] * (grly[2][2] * distance + ylma[2] * tz); - - ylma[11] = tmp0 * ylma[6] - ylmcoef[10] * ylma[3] * distance; // l=3,m=-1 - grly[11][0] = tmp0 * grly[6][0] - - ylmcoef[10] * (grly[3][0] * distance + ylma[3] * tx); - grly[11][1] = tmp0 * grly[6][1] - - ylmcoef[10] * (grly[3][1] * distance + ylma[3] * ty); - grly[11][2] = ylmcoef[9] * (dr[2] * grly[6][2] + ylma[6]) - - ylmcoef[10] * (grly[3][2] * distance + ylma[3] * tz); - - tmp0 = ylmcoef[11] * dr[2]; - ylma[12] = tmp0 * ylma[7]; // l=3,m=2 - grly[12][0] = tmp0 * grly[7][0]; - grly[12][1] = tmp0 * grly[7][1]; - grly[12][2] = ylmcoef[11] * (dr[2] * grly[7][2] + ylma[7]); - - ylma[13] = tmp0 * ylma[8]; // l=3,m=-2 - grly[13][0] = tmp0 * grly[8][0]; - grly[13][1] = tmp0 * grly[8][1]; - grly[13][2] = ylmcoef[11] * (dr[2] * grly[8][2] + ylma[8]); - - tmp0 = ylmcoef[14] * dr[0]; - ylma[14] = ylmcoef[12] * ylma[10] - ylmcoef[13] * ylma[2] * distance - - tmp0 * ylma[7]; // l=3,m=3 - grly[14][0] = ylmcoef[12] * grly[10][0] - - ylmcoef[13] * (ylma[2] * tx + grly[2][0] * distance) - - ylmcoef[14] * (ylma[7] + dr[0] * grly[7][0]); - grly[14][1] = ylmcoef[12] * grly[10][1] - - ylmcoef[13] * (ylma[2] * ty + grly[2][1] * distance) - - tmp0 * grly[7][1]; - grly[14][2] = ylmcoef[12] * grly[10][2] - - ylmcoef[13] * (ylma[2] * tz + grly[2][2] * distance) - - tmp0 * grly[7][2]; - - ylma[15] = ylmcoef[12] * ylma[11] - ylmcoef[13] * ylma[3] * distance - - tmp0 * ylma[8]; // l=3,m=-3 - grly[15][0] = ylmcoef[12] * grly[11][0] - - ylmcoef[13] * (ylma[3] * tx + grly[3][0] * distance) - - ylmcoef[14] * (ylma[8] + dr[0] * grly[8][0]); - grly[15][1] = ylmcoef[12] * grly[11][1] - - ylmcoef[13] * (ylma[3] * ty + grly[3][1] * distance) - - tmp0 * grly[8][1]; - grly[15][2] = ylmcoef[12] * grly[11][2] - - ylmcoef[13] * (ylma[3] * tz + grly[3][2] * distance) - - tmp0 * grly[8][2]; - if (nwl == 3) - return; - - /*************************** - L = 4 - ***************************/ - ylma[16] = ylmcoef[15] * dr[2] * ylma[9] - - ylmcoef[16] * ylma[4] * distance; // l=4,m=0 - grly[16][0] = ylmcoef[15] * dr[2] * grly[9][0] - - ylmcoef[16] * (ylma[4] * tx + grly[4][0] * distance); - grly[16][1] = ylmcoef[15] * dr[2] * grly[9][1] - - ylmcoef[16] * (ylma[4] * ty + grly[4][1] * distance); - grly[16][2] = ylmcoef[15] * (dr[2] * grly[9][2] + ylma[9]) - - ylmcoef[16] * (ylma[4] * tz + grly[4][2] * distance); - - tmp0 = ylmcoef[17] * dr[2]; - ylma[17] = tmp0 * ylma[10] - ylmcoef[18] * ylma[5] * distance; // l=4,m=1 - grly[17][0] = tmp0 * grly[10][0] - - ylmcoef[18] * (ylma[5] * tx + grly[5][0] * distance); - grly[17][1] = tmp0 * grly[10][1] - - ylmcoef[18] * (ylma[5] * ty + grly[5][1] * distance); - grly[17][2] = ylmcoef[17] * (dr[2] * grly[10][2] + ylma[10]) - - ylmcoef[18] * (ylma[5] * tz + grly[5][2] * distance); - - ylma[18] = tmp0 * ylma[11] - ylmcoef[18] * ylma[6] * distance; // l=4,m=-1 - grly[18][0] = tmp0 * grly[11][0] - - ylmcoef[18] * (ylma[6] * tx + grly[6][0] * distance); - grly[18][1] = tmp0 * grly[11][1] - - ylmcoef[18] * (ylma[6] * ty + grly[6][1] * distance); - grly[18][2] = ylmcoef[17] * (dr[2] * grly[11][2] + ylma[11]) - - ylmcoef[18] * (ylma[6] * tz + grly[6][2] * distance); - - tmp0 = ylmcoef[19] * dr[2]; - ylma[19] = tmp0 * ylma[12] - ylmcoef[20] * ylma[7] * distance; // l=4,m=2 - grly[19][0] = tmp0 * grly[12][0] - - ylmcoef[20] * (ylma[7] * tx + grly[7][0] * distance); - grly[19][1] = tmp0 * grly[12][1] - - ylmcoef[20] * (ylma[7] * ty + grly[7][1] * distance); - grly[19][2] = ylmcoef[19] * (dr[2] * grly[12][2] + ylma[12]) - - ylmcoef[20] * (ylma[7] * tz + grly[7][2] * distance); - - ylma[20] = tmp0 * ylma[13] - ylmcoef[20] * ylma[8] * distance; // l=4,m=-2 - grly[20][0] = tmp0 * grly[13][0] - - ylmcoef[20] * (ylma[8] * tx + grly[8][0] * distance); - grly[20][1] = tmp0 * grly[13][1] - - ylmcoef[20] * (ylma[8] * ty + grly[8][1] * distance); - grly[20][2] = ylmcoef[19] * (dr[2] * grly[13][2] + ylma[13]) - - ylmcoef[20] * (ylma[8] * tz + grly[8][2] * distance); - - tmp0 = 3.0 * dr[2]; - ylma[21] = tmp0 * ylma[14]; // l=4,m=3 - grly[21][0] = tmp0 * grly[14][0]; - grly[21][1] = tmp0 * grly[14][1]; - grly[21][2] = 3.0 * (dr[2] * grly[14][2] + ylma[14]); - - ylma[22] = tmp0 * ylma[15]; // l=4,m=-3 - grly[22][0] = tmp0 * grly[15][0]; - grly[22][1] = tmp0 * grly[15][1]; - grly[22][2] = 3.0 * (dr[2] * grly[15][2] + ylma[15]); - - tmp0 = ylmcoef[23] * dr[0]; - ylma[23] = ylmcoef[21] * ylma[19] - ylmcoef[22] * ylma[7] * distance - - tmp0 * ylma[14]; // l=4,m=4 - grly[23][0] = ylmcoef[21] * grly[19][0] - - ylmcoef[22] * (ylma[7] * tx + grly[7][0] * distance) - - ylmcoef[23] * (dr[0] * grly[14][0] + ylma[14]); - grly[23][1] = ylmcoef[21] * grly[19][1] - - ylmcoef[22] * (ylma[7] * ty + grly[7][1] * distance) - - tmp0 * grly[14][1]; - grly[23][2] = ylmcoef[21] * grly[19][2] - - ylmcoef[22] * (ylma[7] * tz + grly[7][2] * distance) - - tmp0 * grly[14][2]; - - ylma[24] = ylmcoef[21] * ylma[20] - ylmcoef[22] * ylma[8] * distance - - tmp0 * ylma[15]; // l=4,m=-4 - grly[24][0] = ylmcoef[21] * grly[20][0] - - ylmcoef[22] * (ylma[8] * tx + grly[8][0] * distance) - - ylmcoef[23] * (dr[0] * grly[15][0] + ylma[15]); - grly[24][1] = ylmcoef[21] * grly[20][1] - - ylmcoef[22] * (ylma[8] * ty + grly[8][1] * distance) - - tmp0 * grly[15][1]; - grly[24][2] = ylmcoef[21] * grly[20][2] - - ylmcoef[22] * (ylma[8] * tz + grly[8][2] * distance) - - tmp0 * grly[15][2]; - if (nwl == 4) - return; - - /*************************** - L = 5 - ***************************/ - ylma[25] = ylmcoef[24] * dr[2] * ylma[16] - - ylmcoef[25] * ylma[9] * distance; // l=5,m=0 - grly[25][0] = ylmcoef[24] * dr[2] * grly[16][0] - - ylmcoef[25] * (ylma[9] * tx + grly[9][0] * distance); - grly[25][1] = ylmcoef[24] * dr[2] * grly[16][1] - - ylmcoef[25] * (ylma[9] * ty + grly[9][1] * distance); - grly[25][2] = ylmcoef[24] * (dr[2] * grly[16][2] + ylma[16]) - - ylmcoef[25] * (ylma[9] * tz + grly[9][2] * distance); - - tmp0 = ylmcoef[26] * dr[2]; - ylma[26] = tmp0 * ylma[17] - ylmcoef[27] * ylma[10] * distance; // l=5,m=1 - grly[26][0] = tmp0 * grly[17][0] - - ylmcoef[27] * (ylma[10] * tx + grly[10][0] * distance); - grly[26][1] = tmp0 * grly[17][1] - - ylmcoef[27] * (ylma[10] * ty + grly[10][1] * distance); - grly[26][2] = ylmcoef[26] * (dr[2] * grly[17][2] + ylma[17]) - - ylmcoef[27] * (ylma[10] * tz + grly[10][2] * distance); - - ylma[27] = tmp0 * ylma[18] - ylmcoef[27] * ylma[11] * distance; // l=5,m=-1 - grly[27][0] = tmp0 * grly[18][0] - - ylmcoef[27] * (ylma[11] * tx + grly[11][0] * distance); - grly[27][1] = tmp0 * grly[18][1] - - ylmcoef[27] * (ylma[11] * ty + grly[11][1] * distance); - grly[27][2] = ylmcoef[26] * (dr[2] * grly[18][2] + ylma[18]) - - ylmcoef[27] * (ylma[11] * tz + grly[11][2] * distance); - - tmp0 = ylmcoef[28] * dr[2]; - ylma[28] = tmp0 * ylma[19] - ylmcoef[29] * ylma[12] * distance; // l=5,m=2 - grly[28][0] = tmp0 * grly[19][0] - - ylmcoef[29] * (ylma[12] * tx + grly[12][0] * distance); - grly[28][1] = tmp0 * grly[19][1] - - ylmcoef[29] * (ylma[12] * ty + grly[12][1] * distance); - grly[28][2] = ylmcoef[28] * (dr[2] * grly[19][2] + ylma[19]) - - ylmcoef[29] * (ylma[12] * tz + grly[12][2] * distance); - - ylma[29] = tmp0 * ylma[20] - ylmcoef[29] * ylma[13] * distance; // l=5,m=-2 - grly[29][0] = tmp0 * grly[20][0] - - ylmcoef[29] * (ylma[13] * tx + grly[13][0] * distance); - grly[29][1] = tmp0 * grly[20][1] - - ylmcoef[29] * (ylma[13] * ty + grly[13][1] * distance); - grly[29][2] = ylmcoef[28] * (dr[2] * grly[20][2] + ylma[20]) - - ylmcoef[29] * (ylma[13] * tz + grly[13][2] * distance); - - tmp0 = ylmcoef[30] * dr[2]; - ylma[30] = tmp0 * ylma[21] - ylmcoef[31] * ylma[14] * distance; // l=5,m=3 - grly[30][0] = tmp0 * grly[21][0] - - ylmcoef[31] * (grly[14][0] * distance + ylma[14] * tx); - grly[30][1] = tmp0 * grly[21][1] - - ylmcoef[31] * (grly[14][1] * distance + ylma[14] * ty); - grly[30][2] = ylmcoef[30] * (dr[2] * grly[21][2] + ylma[21]) - - ylmcoef[31] * (ylma[14] * tz + grly[14][2] * distance); - - ylma[31] = tmp0 * ylma[22] - ylmcoef[31] * ylma[15] * distance; // l=5,m=-3 - grly[31][0] = tmp0 * grly[22][0] - - ylmcoef[31] * (grly[15][0] * distance + ylma[15] * tx); - grly[31][1] = tmp0 * grly[22][1] - - ylmcoef[31] * (grly[15][1] * distance + ylma[15] * ty); - grly[31][2] = ylmcoef[30] * (dr[2] * grly[22][2] + ylma[22]) - - ylmcoef[31] * (ylma[15] * tz + grly[15][2] * distance); - - tmp0 = ylmcoef[32] * dr[2]; - ylma[32] = tmp0 * ylma[23]; // l=5,m=4 - grly[32][0] = tmp0 * grly[23][0]; - grly[32][1] = tmp0 * grly[23][1]; - grly[32][2] = ylmcoef[32] * (ylma[23] + dr[2] * grly[23][2]); - - ylma[33] = tmp0 * ylma[24]; // l=5,m=-4 - grly[33][0] = tmp0 * grly[24][0]; - grly[33][1] = tmp0 * grly[24][1]; - grly[33][2] = ylmcoef[32] * (ylma[24] + dr[2] * grly[24][2]); - - tmp0 = ylmcoef[35] * dr[0]; - ylma[34] = ylmcoef[33] * ylma[30] - ylmcoef[34] * ylma[14] * distance - - tmp0 * ylma[23]; // l=5,m=5 - grly[34][0] = ylmcoef[33] * grly[30][0] - - ylmcoef[34] * (ylma[14] * tx + grly[14][0] * distance) - - ylmcoef[35] * (dr[0] * grly[23][0] + ylma[23]); - grly[34][1] = ylmcoef[33] * grly[30][1] - - ylmcoef[34] * (ylma[14] * ty + grly[14][1] * distance) - - tmp0 * grly[23][1]; - grly[34][2] = ylmcoef[33] * grly[30][2] - - ylmcoef[34] * (ylma[14] * tz + grly[14][2] * distance) - - tmp0 * grly[23][2]; - - ylma[35] = ylmcoef[33] * ylma[31] - ylmcoef[34] * ylma[15] * distance - - tmp0 * ylma[24]; // l=5,m=-5 - grly[35][0] = ylmcoef[33] * grly[31][0] - - ylmcoef[34] * (ylma[15] * tx + grly[15][0] * distance) - - ylmcoef[35] * (dr[0] * grly[24][0] + ylma[24]); - grly[35][1] = ylmcoef[33] * grly[31][1] - - ylmcoef[34] * (ylma[15] * ty + grly[15][1] * distance) - - tmp0 * grly[24][1]; - grly[35][2] = ylmcoef[33] * grly[31][2] - - ylmcoef[34] * (ylma[15] * tz + grly[15][2] * distance) - - tmp0 * grly[24][2]; - - if (nwl == 5) - return; - /* - // if nwl > 5 - for (int il = 6; il <= nwl; il++) - { - int istart = il * il; - int istart1 = (il - 1) * (il - 1); - int istart2 = (il - 2) * (il - 2); - - double fac2 = sqrt(4.0 * istart - 1.0); - double fac4 = sqrt(4.0 * istart1 - 1.0); - - for (int im = 0; im < 2 * il - 1; im++) - { - int imm = (im + 1) / 2; - ylma[istart + im] = fac2 / sqrt((double)istart - imm * imm) * (dr[2] - * ylma[istart1 + im] - sqrt((double)istart1 - imm * imm) / fac4 * - ylma[istart2 + im]); - } - - double bl1 = sqrt(2.0 * il / (2.0 * il + 1.0)); - double bl2 = sqrt((2.0 * il - 2.0) / (2.0 * il - 1.0)); - double bl3 = sqrt(2.0) / fac2; - - ylma[istart + 2 * il - 1] = (bl3 * ylma[istart + 2 * il - 5] - bl2 * - ylma[istart2 + 2 * il - 5] - 2.0 * dr[0] * ylma[istart1 + 2 * il - 3]) / - bl1; ylma[istart + 2 * il] = (bl3 * ylma[istart + 2 * il - 4] - bl2 * - ylma[istart2 + 2 * il - 4] - 2.0 * dr[0] * ylma[istart1 + 2 * il - 2]) / - bl1; - }*/ -} - -} // namespace GintKernel - -#endif \ No newline at end of file diff --git a/source/source_lcao/module_gint/kernels/cuda/vbatch_matrix_mul.cuh b/source/source_lcao/module_gint/kernels/cuda/vbatch_matrix_mul.cuh deleted file mode 100644 index 77cbec17f6..0000000000 --- a/source/source_lcao/module_gint/kernels/cuda/vbatch_matrix_mul.cuh +++ /dev/null @@ -1,545 +0,0 @@ -#ifndef VBATCH_MATRIX_MUL_CUH -#define VBATCH_MATRIX_MUL_CUH -#include "cuda_tools.cuh" -#include "source_pw/module_pwdft/global.h" -#include "source_base/module_device/device.h" -#include "source_cell/unitcell.h" - -#include // for assert -#include -#include // for CUDA_VERSION -#include -#include -#include // for fprintf and stderr - -#define sA(i, j) sA[(j)*slda + (i)] -#define sB(i, j) sB[(j)*sldb + (i)] -#define fetch(A, m, n, bound) offs_d##A[min(n * LD##A + m, bound)] - -template -static __device__ void vbatched_gemm_device(int M, - int N, - int K, - T* __restrict__ A, - int LDA, - T* __restrict__ B, - int LDB, - T* __restrict__ C, - int LDC, - T* sA, - int slda, - T* sB, - int sldb, - T alpha) -{ - int idx = threadIdx.x; // thread's m dimension - int idy = threadIdx.y; // thread's n dimension - - int idt = DIM_X * idy + idx; // thread's global number - - int idxA = idt % DIM_XA; // idx within A - int idyA = idt / DIM_XA; // idy within A - - int idxB = idt % DIM_XB; // idx within B - int idyB = idt / DIM_XB; // idy within B - - int blx = blockIdx.x; // block's m dimension - int bly = blockIdx.y; // block's n dimension - - // Registers for the innermost loop - T rC[THR_N][THR_M]; - T rA[THR_M]; - T rB[THR_N]; - - // Registers for the dev->shmem copy - T ra[BLK_M / DIM_YA][BLK_K / DIM_XA]; - T rb[BLK_N / DIM_YB][BLK_K / DIM_XB]; - - // bound is the correction to offs_d in order to not get out of memory bound - // so bound could be negative value since offs_d could be out of bound - T* offs_dA = A + blx * BLK_M * LDA + idyA * LDA + idxA; - int boundA = (LDA * (M - 1) + K) - (blx * BLK_M * LDA + idyA * LDA + idxA) - 1; - - T* offs_dB = B + bly * BLK_N * LDB + idyB * LDB + idxB; - int boundB = (LDB * (N - 1) + K) - (bly * BLK_N * LDB + idyB * LDB + idxB) - 1; - - int m, n, k, kk; - -// Zero C -#pragma unroll - for (n = 0; n < THR_N; n++) - { -#pragma unroll - for (m = 0; m < THR_M; m++) - { - rC[n][m] = 0.0; - } - } - -// Load A dev->shmem -#pragma unroll - for (n = 0; n < BLK_M; n += DIM_YA) - { -#pragma unroll - for (m = 0; m < BLK_K; m += DIM_XA) - { - sA(n + idyA, m + idxA) = fetch(A, m, n, boundA); - } - } - -#pragma unroll - for (n = 0; n < BLK_N; n += DIM_YB) - { -#pragma unroll - for (m = 0; m < BLK_K; m += DIM_XB) - { - sB(m + idxB, n + idyB) = fetch(B, m, n, boundB); - } - } - - __syncthreads(); - - for (kk = 0; kk < K - BLK_K; kk += BLK_K) - { - offs_dA += BLK_K; - boundA -= BLK_K; - - offs_dB += BLK_K; - boundB -= BLK_K; - -// Load A dev->regs -#pragma unroll - for (n = 0; n < BLK_M / DIM_YA; n++) - { -#pragma unroll - for (m = 0; m < BLK_K / DIM_XA; m++) - { - ra[n][m] = fetch(A, m * DIM_XA, n * DIM_YA, boundA); - } - } - -// Load B dev->regs -#pragma unroll - for (n = 0; n < BLK_N / DIM_YB; n++) - { -#pragma unroll - for (m = 0; m < BLK_K / DIM_XB; m++) - { - rb[n][m] = fetch(B, m * DIM_XB, n * DIM_YB, boundB); - } - } - -// Multiply -#pragma unroll - for (k = 0; k < BLK_K; k++) - { -// Load A shmem->regs -#pragma unroll - for (m = 0; m < THR_M; m++) - { - rA[m] = sA(m * DIM_X + idx, k); - } - -// Load B shmem->regs -#pragma unroll - for (n = 0; n < THR_N; n++) - { - rB[n] = sB(k, n * DIM_Y + idy); - } - -// Compute -#pragma unroll - for (n = 0; n < THR_N; n++) - { -#pragma unroll - for (m = 0; m < THR_M; m++) - { - rC[n][m] += rA[m] * rB[n]; - } - } - } - - __syncthreads(); - -// Load A regs->shmem -#pragma unroll - for (n = 0; n < BLK_M / DIM_YA; n++) - { -#pragma unroll - for (m = 0; m < BLK_K / DIM_XA; m++) - { - sA(n * DIM_YA + idyA, m * DIM_XA + idxA) = ra[n][m]; - } - } - -// Load B regs->shmem -#pragma unroll - for (n = 0; n < BLK_N / DIM_YB; n++) - { -#pragma unroll - for (m = 0; m < BLK_K / DIM_XB; m++) - { - sB(m * DIM_XB + idxB, n * DIM_YB + idyB) = rb[n][m]; - } - } - __syncthreads(); - } - - // Multiply last full (BLK_K) or partial block of - // columns of op(A) and rows of op(B). - // It's okay that m,n exceed matrix bounds as all work is in registers - // or shared memory, and out-of-bounds rC[n][m] will not be saved later. - kk = K - kk; -#pragma unroll - for (k = 0; k < kk; k++) - { -// Load A shmem->regs -#pragma unroll - for (m = 0; m < THR_M; m++) - { - rA[m] = sA(m * DIM_X + idx, k); - } - -// Load B shmem->regs -#pragma unroll - for (n = 0; n < THR_N; n++) - { - rB[n] = sB(k, n * DIM_Y + idy); - } - -// Compute -#pragma unroll - for (n = 0; n < THR_N; n++) - { -#pragma unroll - for (m = 0; m < THR_M; m++) - { - rC[n][m] += rA[m] * rB[n]; - } - } - } - -// Store C regs->dev -#pragma unroll - for (n = 0; n < THR_N; n++) - { - int coord_dCn = bly * BLK_N + n * DIM_Y + idy; -#pragma unroll - for (m = 0; m < THR_M; m++) - { - int coord_dCm = blx * BLK_M + m * DIM_X + idx; - if (coord_dCm < M && coord_dCn < N) - { - int offsC = coord_dCn * LDC + coord_dCm; - - atomicAdd(C + offsC, rC[n][m] * alpha); - } - } - } -} - -/******************************************************************************/ -template -static __global__ void vbatched_gemm_kernel(int* M, - int* N, - int* K, - T** global_A_array, - int* global_lda, - T** global_B_array, - int* global_ldb, - T** global_C_array, - int* global_ldc, - T* alpha) -{ - extern __shared__ __align__(sizeof(T)) unsigned char smem[]; - T* shared_mem = reinterpret_cast(smem); - - int batchid = blockIdx.z; - int local_M = (int)M[batchid]; - int local_N = (int)N[batchid]; - int local_K = (int)K[batchid]; - - if (blockIdx.x >= (local_M + BLK_M - 1) / BLK_M) - return; - if (blockIdx.y >= (local_N + BLK_N - 1) / BLK_N) - return; - - int shared_lda = BLK_M + 1; - int shared_ldb = BLK_K + 1; - T* shared_A = (T*)shared_mem; - T* shared_B = shared_A + shared_lda * BLK_K; - double alpha_tmp = 1.0; - if (alpha != nullptr) - { - alpha_tmp = alpha[batchid]; - } - vbatched_gemm_device(local_M, - local_N, - local_K, - global_A_array[batchid], - (int)global_lda[batchid], - global_B_array[batchid], - (int)global_ldb[batchid], - global_C_array[batchid], - (int)global_ldc[batchid], - shared_A, - shared_lda, - shared_B, - shared_ldb, - alpha_tmp); -} - -/** - * Performs a batched matrix multiplication using the vbatched_gemm_impl - * function. - * - * C = alpha * A * B + C - * @tparam T The data type of the matrices. - * @tparam DIM_X The number of threads in the x-dimension of each block. - * @tparam DIM_Y The number of threads in the y-dimension of each block. - * @tparam BLK_M The number of rows processed by each thread block. - * @tparam BLK_N The number of columns processed by each thread block. - * @tparam BLK_K The number of elements processed by each thread block along the - * K dimension. - * @tparam DIM_XA The number of threads in the x-dimension used for loading - * matrix A. - * @tparam DIM_YA The number of threads in the y-dimension used for loading - * matrix A. - * @tparam DIM_XB The number of threads in the x-dimension used for loading - * matrix B. - * @tparam DIM_YB The number of threads in the y-dimension used for loading - * matrix B. - * @param max_m The maximum number of rows in the matrices. - * @param max_n The maximum number of columns in the matrices. - * @param m An array of batch sizes for the number of rows in each matrix. - * @param n An array of batch sizes for the number of columns in each matrix. - * @param k An array of batch sizes for the number of elements in each matrix - * along the K dimension. - * @param global_A_array An array of pointers to the input matrices A. - * @param global_lda An array of leading dimensions for the input matrices A. - * @param global_B_array An array of pointers to the input matrices B. - * @param global_ldb An array of leading dimensions for the input matrices B. - * @param global_C_array An array of pointers to the output matrices C. - * @param global_ldc An array of leading dimensions for the output matrices C. - * @param batchCount The number of matrices in the batch. - * @param stream The CUDA stream to use for the computation. - * @param alpha The scalar value to multiply the matrices by (optional, default - * is nullptr). generate by copilot - */ - -/* - * Why do we need to implement our own matrix multiplication based on the magma - * code? There are two main reasons. First is when we are doing batch matrix - * multiplication, since we need to accumulate the results of the - * multiplications, it is necessary to pass the same memory address of matrix C - * to different multiplications. This way, the accumulation can be done directly - * through atomic operations during the matrix multiplication, avoiding the - * reduction operations after the multiplication. Secondly, when calculating the - * charge density, where C = alpha * A * B + C, the value of alpha might be - * different for the same batch of matrices. Using the standard matrix - * multiplication interface would require breaking down the batch matrix - * multiplication into smaller batches. In practice, it is difficult to - * accumulate a batch. - * - * Moreover, taking into account the specific requirements of our application, - * especially the fact that we can relatively easily control the arrangement of - * the matrix elements, we have only implemented one type of requirement for - * matrix transposition. That is, we have implemented the operation C = alpha * - * trans(A) * B + C under the constraint of column-major order. - * - * Finally, we would like to thank Magma for its contributions to the field of - * scientific computing. - */ - -template -void vbatched_gemm_impl(int max_m, - int max_n, - int* m, - int* n, - int* k, - T** global_A_array, - int* global_lda, - T** global_B_array, - int* global_ldb, - T** global_C_array, - int* global_ldc, - int batchCount, - cudaStream_t stream, - T* alpha = nullptr) -{ - // The positions of A and B have been swapped here. - // This is because the original code is for column-major matrices. - // We use row-major matrices, so we need to swap A and B. - // The vbatched_gemm_impl is for C = trans(A) * B + C, but we need trans(C). - // Which means: trans(C) = trans(trans(A)*B + C) = trans(B) * A + trans(C) - // Then, ldc should be N, lda and ldb should be K - - size_t shared_mem_size = 0; - shared_mem_size += (BLK_M + 1) * BLK_K * sizeof(T); - shared_mem_size += (BLK_K + 1) * BLK_N * sizeof(T); - dim3 dimBlock(DIM_X, DIM_Y); - const int max_batch_count = 32768; - const int loop_num = batchCount / max_batch_count; - const int remain_num = batchCount % max_batch_count; - - for (int i = 0; i < loop_num; ++i) - { - dim3 dimGrid(ceildiv(max_n, BLK_M), ceildiv(max_m, BLK_N), max_batch_count); - T* alpha_tmp = nullptr; - if (alpha != nullptr) - { - alpha_tmp = alpha + i * max_batch_count; - } - - vbatched_gemm_kernel - <<>>(n + i * max_batch_count, - m + i * max_batch_count, - k + i * max_batch_count, - global_B_array + i * max_batch_count, - global_ldb + i * max_batch_count, - global_A_array + i * max_batch_count, - global_lda + i * max_batch_count, - global_C_array + i * max_batch_count, - global_ldc + i * max_batch_count, - alpha_tmp); - checkCudaLastError(); - } - if (remain_num > 0) - { - dim3 dimGrid(ceildiv(max_n, BLK_M), ceildiv(max_m, BLK_N), remain_num); - T* alpha_tmp = nullptr; - if (alpha != nullptr) - { - alpha_tmp = alpha + loop_num * max_batch_count; - } - vbatched_gemm_kernel - <<>>(n + loop_num * max_batch_count, - m + loop_num * max_batch_count, - k + loop_num * max_batch_count, - global_B_array + loop_num * max_batch_count, - global_ldb + loop_num * max_batch_count, - global_A_array + loop_num * max_batch_count, - global_lda + loop_num * max_batch_count, - global_C_array + loop_num * max_batch_count, - global_ldc + loop_num * max_batch_count, - alpha_tmp); - checkCudaLastError(); - } -} - -template -void gemm_time_measure(int max_m, - int max_n, - int* m, - int* n, - int* k, - T** global_A_array, - int* global_lda, - T** global_B_array, - int* global_ldb, - T** global_C_array, - int* global_ldc, - int batchCount, - cudaStream_t stream, - float& fast_time, - matrix_multiple_func_type& fastest_algo, - double* cpu_result, - double* h_global_C, - double* d_global_C) -{ - cudaEvent_t start, stop; - checkCuda(cudaMemset(d_global_C, 0, batchCount * max_m * max_n * sizeof(double))); - checkCuda(cudaEventCreate(&start)); - checkCuda(cudaEventCreate(&stop)); - checkCuda(cudaEventRecord(start, stream)); - vbatched_gemm_impl(max_m, - max_n, - m, - n, - k, - global_A_array, - global_lda, - global_B_array, - global_ldb, - global_C_array, - global_ldc, - batchCount, - stream); - checkCuda(cudaEventRecord(stop, stream)); - cudaError_t cuda_status = cudaGetLastError(); - checkCuda(cudaStreamSynchronize(stream)); - float milliseconds = 0; - checkCuda(cudaEventElapsedTime(&milliseconds, start, stop)); - - // WARNING !!!!! Here we assume that all m and n are the same - checkCuda(cudaMemcpy(h_global_C, d_global_C, batchCount * max_m * max_n * sizeof(double), cudaMemcpyDeviceToHost)); - bool check_result = true; - for (int i = 0; i < batchCount * max_m * max_n; ++i) - { - if (abs(cpu_result[i] - h_global_C[i]) > 0.001) - { - check_result = false; - break; - } - } - if (milliseconds < fast_time && cuda_status == cudaSuccess && check_result) - { - fast_time = milliseconds; - fastest_algo = vbatched_gemm_impl; -#ifdef __DEBUG - std::cout << "found! fastest time: " << fast_time << std::endl; - std::cout << DIM_X << "," << DIM_Y << "," << BLK_M << "," << BLK_N << "," << BLK_K << "," << DIM_XA << "," - << DIM_YA << "," << DIM_XB << "," << DIM_YB << std::endl; -#endif - } -} -#endif // VBATCH_MATRIX_MUL_CUH \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/localcell_info.cpp b/source/source_lcao/module_gint/localcell_info.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/localcell_info.cpp rename to source/source_lcao/module_gint/localcell_info.cpp diff --git a/source/source_lcao/module_gint/temp_gint/localcell_info.h b/source/source_lcao/module_gint/localcell_info.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/localcell_info.h rename to source/source_lcao/module_gint/localcell_info.h diff --git a/source/source_lcao/module_gint/temp_gint/meshgrid_info.h b/source/source_lcao/module_gint/meshgrid_info.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/meshgrid_info.h rename to source/source_lcao/module_gint/meshgrid_info.h diff --git a/source/source_lcao/module_gint/mult_psi_dmr.cpp b/source/source_lcao/module_gint/mult_psi_dmr.cpp deleted file mode 100644 index fab47c1aee..0000000000 --- a/source/source_lcao/module_gint/mult_psi_dmr.cpp +++ /dev/null @@ -1,105 +0,0 @@ -#include "gint_tools.h" -#include "source_base/timer.h" -#include "source_base/ylm.h" -#include "source_base/module_external/blas_connector.h" - -namespace Gint_Tools{ - -void mult_psi_DMR( - const Grid_Technique& gt, - const int bxyz, - const int LD_pool, - const int &grid_index, - const int &na_grid, - const int*const block_index, - const int*const block_size, - const bool*const*const cal_flag, - const double*const*const psi, - double*const*const psi_DMR, - const hamilt::HContainer*const DM, - const bool if_symm) -{ - const UnitCell& ucell = *gt.ucell; - - // parameters for lapack subroutines - constexpr char side = 'L'; - constexpr char uplo = 'U'; - const char trans = 'N'; - const double alpha = 1.0; - const double beta = 1.0; - const double alpha1 = if_symm ? 2.0 : 1.0; - - for (int ia1 = 0; ia1 < na_grid; ia1++) - { - const int bcell1 = gt.bcell_start[grid_index] + ia1; - const int iat1 = gt.which_atom[bcell1]; - - //! get cell R1, this step is redundant in gamma_only case. - const int id1 = gt.which_unitcell[bcell1]; - const ModuleBase::Vector3 r1 = gt.get_ucell_coords(id1); - - //! density - if (if_symm) - { - //! ia2==ia1 - const auto tmp_matrix = DM->find_matrix(iat1, iat1, 0, 0, 0); - - //! maybe checking "tmp_matrix == nullptr" is not necessary - if(tmp_matrix == nullptr) - { - continue; - } - - const auto cal_info = Gint_Tools::cal_info(bxyz, ia1, ia1, cal_flag); - const int ib_start = cal_info.first; - const int ib_len = cal_info.second; - - if(ib_len == 0) - { - continue; - } - - const auto tmp_matrix_ptr = tmp_matrix->get_pointer(); - const int idx1 = block_index[ia1]; - BlasConnector::symm_cm(side, uplo, block_size[ia1], ib_len, alpha, tmp_matrix_ptr, block_size[ia1], - &psi[ib_start][idx1], LD_pool, beta, &psi_DMR[ib_start][idx1], LD_pool); - } - - //! get (j,beta,R2) - const int start = if_symm ? ia1 + 1 : 0; - - for (int ia2 = start; ia2 < na_grid; ia2++) - { - const int bcell2 = gt.bcell_start[grid_index] + ia2; - const int iat2 = gt.which_atom[bcell2]; - const int id2 = gt.which_unitcell[bcell2]; - - //! get cell R2, this step is redundant in gamma_only case. - const ModuleBase::Vector3 r2 = gt.get_ucell_coords(id2); - - // get AtomPair - const auto tmp_matrix = DM->find_matrix(iat1, iat2, r1-r2); - if (tmp_matrix == nullptr) - { - continue; - } - const auto tmp_matrix_ptr = tmp_matrix->get_pointer(); - - const auto cal_info = Gint_Tools::cal_info(bxyz, ia1, ia1, cal_flag); - const int ib_start = cal_info.first; - const int ib_len = cal_info.second; - if(ib_len == 0) - { - continue; - } - const int idx1 = block_index[ia1]; - const int idx2 = block_index[ia2]; - - dgemm_(&trans, &trans, &block_size[ia2], &ib_len, &block_size[ia1], &alpha1, tmp_matrix_ptr, &block_size[ia2], - &psi[ib_start][idx1], &LD_pool, &beta, &psi_DMR[ib_start][idx2], &LD_pool); - - } // ia2 - } // ia1 -}// End of mult_psi_DMR - -}// End of Gint_Tools diff --git a/source/source_lcao/module_gint/temp_gint/phi_operator.cpp b/source/source_lcao/module_gint/phi_operator.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/phi_operator.cpp rename to source/source_lcao/module_gint/phi_operator.cpp diff --git a/source/source_lcao/module_gint/temp_gint/phi_operator.h b/source/source_lcao/module_gint/phi_operator.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/phi_operator.h rename to source/source_lcao/module_gint/phi_operator.h diff --git a/source/source_lcao/module_gint/temp_gint/phi_operator.hpp b/source/source_lcao/module_gint/phi_operator.hpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/phi_operator.hpp rename to source/source_lcao/module_gint/phi_operator.hpp diff --git a/source/source_lcao/module_gint/temp_gint/set_ddphi.cpp b/source/source_lcao/module_gint/set_ddphi.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/set_ddphi.cpp rename to source/source_lcao/module_gint/set_ddphi.cpp diff --git a/source/source_lcao/module_gint/temp_gint/gint.h b/source/source_lcao/module_gint/temp_gint/gint.h deleted file mode 100644 index 1255bae971..0000000000 --- a/source/source_lcao/module_gint/temp_gint/gint.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once -#include -#include "gint_info.h" -#include "gint_type.h" - -namespace ModuleGint -{ - -class Gint -{ - public: - Gint() = default; - virtual ~Gint() = default; - - // note that gint_info_ is a static member variable - // it is shared by all instances of Gint - static void set_gint_info(GintInfo* gint_info) - { - gint_info_ = gint_info; - } - - protected: - static GintInfo* gint_info_; -}; - -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/gint_rho_gpu.h b/source/source_lcao/module_gint/temp_gint/gint_rho_gpu.h deleted file mode 100644 index 07bbf0eaed..0000000000 --- a/source/source_lcao/module_gint/temp_gint/gint_rho_gpu.h +++ /dev/null @@ -1,52 +0,0 @@ -#pragma once - -#include -#include -#include "source_lcao/module_hcontainer/hcontainer.h" -#include "gint.h" -#include "gint_info.h" -#include "source_lcao/module_gint/temp_gint/kernel/cuda_mem_wrapper.h" - -namespace ModuleGint -{ - -class Gint_rho_gpu: public Gint -{ - public: - Gint_rho_gpu( - const std::vector*>& dm_vec, - const int nspin, - double **rho, - bool is_dm_symm = true) - : dm_vec_(dm_vec), nspin_(nspin), rho_(rho), is_dm_symm_(is_dm_symm) {} - - void cal_gint(); - - private: - void init_dm_gint_(); - - void cal_rho_(); - - void transfer_cpu_to_gpu_(); - - void transfer_gpu_to_cpu_(); - - // input - const std::vector*> dm_vec_; - const int nspin_; - - // if true, it means the DMR matrix is symmetric, - // which leads to faster computations compared to the asymmetric case. - const bool is_dm_symm_; - - // output - double **rho_; - - // Intermediate variables - std::vector> dm_gint_vec_; - - std::vector> dm_gint_d_vec_; - std::vector> rho_d_vec_; -}; - -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/gint_vl_gpu.h b/source/source_lcao/module_gint/temp_gint/gint_vl_gpu.h deleted file mode 100644 index de113b2ea0..0000000000 --- a/source/source_lcao/module_gint/temp_gint/gint_vl_gpu.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include -#include -#include "source_lcao/module_hcontainer/hcontainer.h" -#include "gint.h" -#include "gint_info.h" -#include "source_lcao/module_gint/temp_gint/kernel/cuda_mem_wrapper.h" - -namespace ModuleGint -{ - -class Gint_vl_gpu : public Gint -{ - public: - Gint_vl_gpu( - const double* vr_eff, - HContainer* hR) - : vr_eff_(vr_eff), hR_(hR), dr3_(gint_info_->get_mgrid_volume()) {} - - void cal_gint(); - - private: - - void init_hr_gint_(); - - void transfer_cpu_to_gpu_(); - - void transfer_gpu_to_cpu_(); - - void cal_hr_gint_(); - - // input - const double* vr_eff_; - - - // output - HContainer* hR_; - - // Intermediate variables - double dr3_; - - HContainer hr_gint_; - - CudaMemWrapper hr_gint_d_; - CudaMemWrapper vr_eff_d_; -}; - -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/kernel/gint_gpu_vars.h b/source/source_lcao/module_gint/temp_gint/kernel/gint_gpu_vars.h index 07139c82db..5f711aa6a0 100644 --- a/source/source_lcao/module_gint/temp_gint/kernel/gint_gpu_vars.h +++ b/source/source_lcao/module_gint/temp_gint/kernel/gint_gpu_vars.h @@ -5,9 +5,8 @@ #include "source_base/ylm.h" #include "source_cell/unitcell.h" #include "source_cell/atom_spec.h" -#include "source_lcao/module_gint/temp_gint/biggrid_info.h" +#include "source_lcao/module_gint/biggrid_info.h" #include "gint_helper.cuh" -#include "source_lcao/module_gint/kernels/cuda/gemm_selector.cuh" namespace ModuleGint { @@ -39,7 +38,6 @@ class GintGpuVars // the index of gpu device int dev_id_ = 0; - matrix_multiple_func_type fastest_matrix_mul; }; diff --git a/source/source_lcao/module_gint/test/CMakeLists.txt b/source/source_lcao/module_gint/test/CMakeLists.txt deleted file mode 100644 index 2030b04a12..0000000000 --- a/source/source_lcao/module_gint/test/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -if(ENABLE_LCAO AND USE_CUDA) - AddTest( - TARGET gint_gpu_test - LIBS parameter ${math_libs} psi base device - SOURCES test_sph.cu test_sph.cpp -) -endif() \ No newline at end of file diff --git a/source/source_lcao/module_gint/test/test_sph.cpp b/source/source_lcao/module_gint/test/test_sph.cpp deleted file mode 100644 index e13a4d5675..0000000000 --- a/source/source_lcao/module_gint/test/test_sph.cpp +++ /dev/null @@ -1,597 +0,0 @@ -#include "test_sph.h" -using namespace std; - -void sph_harm(const int& Lmax, // max momentum of l - const double& xdr, - const double& ydr, - const double& zdr, - std::vector& rly, - double* ylmcoef) -{ - - // begin calculation - /*************************** - L = 0 - ***************************/ - rly[0] = ylmcoef[0]; // l=0, m=0 - if (Lmax == 0) - return; - - /*************************** - L = 1 - ***************************/ - rly[1] = ylmcoef[1] * zdr; // l=1, m=0 - rly[2] = -ylmcoef[1] * xdr; // l=1, m=1 - rly[3] = -ylmcoef[1] * ydr; // l=1, m=-1 - if (Lmax == 1) - return; - - /*************************** - L = 2 - ***************************/ - double tmp0 = ylmcoef[3] * rly[0]; - rly[4] = ylmcoef[2] * zdr * rly[1] - tmp0; // l=2, m=0 - - tmp0 = ylmcoef[4] * zdr; - rly[5] = tmp0 * rly[2]; // l=2,m=1 - rly[6] = tmp0 * rly[3]; // l=2,m=-1 - - double tmp2 = ylmcoef[4] * xdr; - rly[7] - = ylmcoef[5] * rly[4] - ylmcoef[6] * rly[0] - tmp2 * rly[2]; // l=2,m=2 - rly[8] = -tmp2 * rly[3]; - // rly[8] = tmp1+tmp2*rly[3];//l=2,m=-2 - if (Lmax == 2) - return; - - /*************************** - L = 3 - ***************************/ - tmp0 = ylmcoef[8] * rly[1]; - rly[9] = ylmcoef[7] * zdr * rly[4] - tmp0; // l=3, m=0 - - double tmp3 = ylmcoef[9] * zdr; - rly[10] = tmp3 * rly[5] - ylmcoef[10] * rly[2]; // l=3,m=1 - rly[11] = tmp3 * rly[6] - ylmcoef[10] * rly[3]; // l=3,m=-1 - - double tmp4 = ylmcoef[11] * zdr; - rly[12] = tmp4 * rly[7]; // l=3,m=2 - rly[13] = tmp4 * rly[8]; // l=3,m=-2 - - double tmp5 = ylmcoef[14] * xdr; - rly[14] = ylmcoef[12] * rly[10] - ylmcoef[13] * rly[2] - - tmp5 * rly[7]; // l=3,m=3 - rly[15] = ylmcoef[12] * rly[11] - ylmcoef[13] * rly[3] - - tmp5 * rly[8]; // l=3,m=-3 - if (Lmax == 3) - return; - - /*************************** - L = 4 - ***************************/ - tmp0 = ylmcoef[16] * rly[4]; - rly[16] = ylmcoef[15] * zdr * rly[9] - tmp0; // l=4,m=0 - - double tmp6 = ylmcoef[17] * zdr; - rly[17] = tmp6 * rly[10] - ylmcoef[18] * rly[5]; // l=4,m=1 - rly[18] = tmp6 * rly[11] - ylmcoef[18] * rly[6]; // l=4,m=-1 - - double tmp7 = ylmcoef[19] * zdr; - rly[19] = tmp7 * rly[12] - ylmcoef[20] * rly[7]; // l=4,m=2 - rly[20] = tmp7 * rly[13] - ylmcoef[20] * rly[8]; // l=4,m=-2 - - double tmp8 = 3.0 * zdr; - rly[21] = tmp8 * rly[14]; // l=4,m=3 - rly[22] = tmp8 * rly[15]; // l=4,m=-3 - - double tmp9 = ylmcoef[23] * xdr; - rly[23] = ylmcoef[21] * rly[19] - ylmcoef[22] * rly[7] - - tmp9 * rly[14]; // l=4,m=4 - rly[24] = ylmcoef[21] * rly[20] - ylmcoef[22] * rly[8] - - tmp9 * rly[15]; // l=4,m=-4 - if (Lmax == 4) - return; - - /*************************** - L = 5 - ***************************/ - tmp0 = ylmcoef[25] * rly[9]; - rly[25] = ylmcoef[24] * zdr * rly[16] - tmp0; // l=5,m=0 - - double tmp10 = ylmcoef[26] * zdr; - rly[26] = tmp10 * rly[17] - ylmcoef[27] * rly[10]; // l=5,m=1 - rly[27] = tmp10 * rly[18] - ylmcoef[27] * rly[11]; // l=5,m=-1 - - double tmp11 = ylmcoef[28] * zdr; - rly[28] = tmp11 * rly[19] - ylmcoef[29] * rly[12]; // l=5,m=2 - rly[29] = tmp11 * rly[20] - ylmcoef[29] * rly[13]; // l=5,m=-2 - - double tmp12 = ylmcoef[30] * zdr; - rly[30] = tmp12 * rly[21] - ylmcoef[31] * rly[14]; // l=5,m=3 - rly[31] = tmp12 * rly[22] - ylmcoef[31] * rly[15]; // l=5,m=-3 - - double tmp13 = ylmcoef[32] * zdr; - rly[32] = tmp13 * rly[23]; // l=5,m=4 - rly[33] = tmp13 * rly[24]; // l=5,m=-4 - - double tmp14 = ylmcoef[35] * xdr; - rly[34] = ylmcoef[33] * rly[30] - ylmcoef[34] * rly[14] - - tmp14 * rly[23]; // l=5,m=5 - rly[35] = ylmcoef[33] * rly[31] - ylmcoef[34] * rly[15] - - tmp14 * rly[24]; // l=5,m=-5 - if (Lmax == 5) - return; - - // if Lmax > 5 - for (int il = 6; il <= Lmax; il++) - { - int istart = il * il; - int istart1 = (il - 1) * (il - 1); - int istart2 = (il - 2) * (il - 2); - - double fac2 = sqrt(4.0 * istart - 1.0); - double fac4 = sqrt(4.0 * istart1 - 1.0); - - for (int im = 0; im < 2 * il - 1; im++) - { - int imm = (im + 1) / 2; - // if (im % 2 == 0) imm *= -1; - - rly[istart + im] = fac2 / sqrt((double)istart - imm * imm) - * (zdr * rly[istart1 + im] - - sqrt((double)istart1 - imm * imm) / fac4 - * rly[istart2 + im]); - } - - double bl1 = sqrt(2.0 * il / (2.0 * il + 1.0)); - double bl2 = sqrt((2.0 * il - 2.0) / (2.0 * il - 1.0)); - double bl3 = sqrt(2.0) / fac2; - - rly[istart + 2 * il - 1] - = (bl3 * rly[istart + 2 * il - 5] - bl2 * rly[istart2 + 2 * il - 5] - - 2.0 * xdr * rly[istart1 + 2 * il - 3]) - / bl1; - rly[istart + 2 * il] - = (bl3 * rly[istart + 2 * il - 4] - bl2 * rly[istart2 + 2 * il - 4] - - 2.0 * xdr * rly[istart1 + 2 * il - 2]) - / bl1; - } - - return; -} -void grad_rl_sph_harm(const int& Lmax, // max momentum of L - const double& x, - const double& y, - const double& z, - double* rly, - double** grly, - const double* ylmcoef) -{ - double radius2 = x * x + y * y + z * z; - double tx = 2.0 * x; - double ty = 2.0 * y; - double tz = 2.0 * z; - - // begin calculation - /*************************** - L = 0 - ***************************/ - rly[0] = ylmcoef[0]; // l=0, m=0 - grly[0][0] = grly[0][1] = grly[0][2] = 0.0; - if (Lmax == 0) - return; - - /*************************** - L = 1 - ***************************/ - rly[1] = ylmcoef[1] * z; // l=1, m=0 - grly[1][0] = grly[1][1] = 0.0; - grly[1][2] = ylmcoef[1]; - - rly[2] = -ylmcoef[1] * x; // l=1, m=1 - grly[2][1] = grly[2][2] = 0.0; - grly[2][0] = -ylmcoef[1]; - - rly[3] = -ylmcoef[1] * y; // l=1, m=-1 - grly[3][0] = grly[3][2] = 0.0; - grly[3][1] = -ylmcoef[1]; - - if (Lmax == 1) - return; - - /*************************** - L = 2 - ***************************/ - rly[4] - = ylmcoef[2] * z * rly[1] - ylmcoef[3] * rly[0] * radius2; // l=2, m=0 - grly[4][0] - = ylmcoef[2] * z * grly[1][0] - - ylmcoef[3] * (grly[0][0] * radius2 + rly[0] * tx); // l=2, m=0 - grly[4][1] - = ylmcoef[2] * z * grly[1][1] - - ylmcoef[3] * (grly[0][1] * radius2 + rly[0] * ty); // l=2, m=0 - grly[4][2] - = ylmcoef[2] * (z * grly[1][2] + rly[1]) - - ylmcoef[3] * (grly[0][2] * radius2 + rly[0] * tz); // l=2, m=0 - - double tmp0 = ylmcoef[4] * z; - rly[5] = tmp0 * rly[2]; // l=2,m=1 - grly[5][0] = tmp0 * grly[2][0]; - grly[5][1] = tmp0 * grly[2][1]; - grly[5][2] = ylmcoef[4] * (rly[2] + z * grly[2][2]); - - rly[6] = tmp0 * rly[3]; // l=2,m=-1 - grly[6][0] = tmp0 * grly[3][0]; - grly[6][1] = tmp0 * grly[3][1]; - grly[6][2] = ylmcoef[4] * (rly[3] + z * grly[3][2]); - - double tmp2 = ylmcoef[4] * x; - rly[7] = ylmcoef[5] * rly[4] - ylmcoef[6] * rly[0] * radius2 - - tmp2 * rly[2]; // l=2,m=2 - grly[7][0] = ylmcoef[5] * grly[4][0] - - ylmcoef[6] * (rly[0] * tx + grly[0][0] * radius2) - - ylmcoef[4] * (x * grly[2][0] + rly[2]); - - // std::cout << "\np1 = "<< ylmcoef[5]*grly[4][0] << " p2 = " << - //-ylmcoef[6]*rly[0]*tx - // << " p3 = " << -ylmcoef[4]*x*grly[2][0] << " p4 = " - //<< -ylmcoef[4]*rly[2] << std::endl; - - grly[7][1] = ylmcoef[5] * grly[4][1] - - ylmcoef[6] * (rly[0] * ty + grly[0][1] * radius2) - - tmp2 * grly[2][1]; - grly[7][2] = ylmcoef[5] * grly[4][2] - - ylmcoef[6] * (rly[0] * tz + grly[0][2] * radius2) - - tmp2 * grly[2][2]; - - rly[8] = -tmp2 * rly[3]; - grly[8][0] = -ylmcoef[4] * (rly[3] + x * grly[3][0]); - grly[8][1] = -tmp2 * grly[3][1]; - grly[8][2] = -tmp2 * grly[3][2]; - // rly[8] = tmp1+tmp2*rly[3];//l=2,m=-2 - if (Lmax == 2) - return; - - /*************************** - L = 3 - ***************************/ - rly[9] - = ylmcoef[7] * z * rly[4] - ylmcoef[8] * rly[1] * radius2; // l=3, m=0 - grly[9][0] = ylmcoef[7] * z * grly[4][0] - - ylmcoef[8] * (rly[1] * tx + grly[1][0] * radius2); - grly[9][1] = ylmcoef[7] * z * grly[4][1] - - ylmcoef[8] * (rly[1] * ty + grly[1][1] * radius2); - grly[9][2] = ylmcoef[7] * (rly[4] + z * grly[4][2]) - - ylmcoef[8] * (rly[1] * tz + grly[1][2] * radius2); - - double tmp3 = ylmcoef[9] * z; - rly[10] = tmp3 * rly[5] - ylmcoef[10] * rly[2] * radius2; // l=3,m=1 - grly[10][0] = tmp3 * grly[5][0] - - ylmcoef[10] * (grly[2][0] * radius2 + rly[2] * tx); - grly[10][1] = tmp3 * grly[5][1] - - ylmcoef[10] * (grly[2][1] * radius2 + rly[2] * ty); - grly[10][2] = ylmcoef[9] * (z * grly[5][2] + rly[5]) - - ylmcoef[10] * (grly[2][2] * radius2 + rly[2] * tz); - - rly[11] = tmp3 * rly[6] - ylmcoef[10] * rly[3] * radius2; // l=3,m=-1 - grly[11][0] = tmp3 * grly[6][0] - - ylmcoef[10] * (grly[3][0] * radius2 + rly[3] * tx); - grly[11][1] = tmp3 * grly[6][1] - - ylmcoef[10] * (grly[3][1] * radius2 + rly[3] * ty); - grly[11][2] = ylmcoef[9] * (z * grly[6][2] + rly[6]) - - ylmcoef[10] * (grly[3][2] * radius2 + rly[3] * tz); - - double tmp4 = ylmcoef[11] * z; - rly[12] = tmp4 * rly[7]; // l=3,m=2 - grly[12][0] = tmp4 * grly[7][0]; - grly[12][1] = tmp4 * grly[7][1]; - grly[12][2] = ylmcoef[11] * (z * grly[7][2] + rly[7]); - - rly[13] = tmp4 * rly[8]; // l=3,m=-2 - grly[13][0] = tmp4 * grly[8][0]; - grly[13][1] = tmp4 * grly[8][1]; - grly[13][2] = ylmcoef[11] * (z * grly[8][2] + rly[8]); - - double tmp5 = ylmcoef[14] * x; - rly[14] = ylmcoef[12] * rly[10] - ylmcoef[13] * rly[2] * radius2 - - tmp5 * rly[7]; // l=3,m=3 - grly[14][0] = ylmcoef[12] * grly[10][0] - - ylmcoef[13] * (rly[2] * tx + grly[2][0] * radius2) - - ylmcoef[14] * (rly[7] + x * grly[7][0]); - grly[14][1] = ylmcoef[12] * grly[10][1] - - ylmcoef[13] * (rly[2] * ty + grly[2][1] * radius2) - - tmp5 * grly[7][1]; - grly[14][2] = ylmcoef[12] * grly[10][2] - - ylmcoef[13] * (rly[2] * tz + grly[2][2] * radius2) - - tmp5 * grly[7][2]; - - rly[15] = ylmcoef[12] * rly[11] - ylmcoef[13] * rly[3] * radius2 - - tmp5 * rly[8]; // l=3,m=-3 - grly[15][0] = ylmcoef[12] * grly[11][0] - - ylmcoef[13] * (rly[3] * tx + grly[3][0] * radius2) - - ylmcoef[14] * (rly[8] + x * grly[8][0]); - grly[15][1] = ylmcoef[12] * grly[11][1] - - ylmcoef[13] * (rly[3] * ty + grly[3][1] * radius2) - - tmp5 * grly[8][1]; - grly[15][2] = ylmcoef[12] * grly[11][2] - - ylmcoef[13] * (rly[3] * tz + grly[3][2] * radius2) - - tmp5 * grly[8][2]; - if (Lmax == 3) - return; - - /*************************** - L = 4 - ***************************/ - rly[16] - = ylmcoef[15] * z * rly[9] - ylmcoef[16] * rly[4] * radius2; // l=4,m=0 - grly[16][0] = ylmcoef[15] * z * grly[9][0] - - ylmcoef[16] * (rly[4] * tx + grly[4][0] * radius2); - grly[16][1] = ylmcoef[15] * z * grly[9][1] - - ylmcoef[16] * (rly[4] * ty + grly[4][1] * radius2); - grly[16][2] = ylmcoef[15] * (z * grly[9][2] + rly[9]) - - ylmcoef[16] * (rly[4] * tz + grly[4][2] * radius2); - - double tmp6 = ylmcoef[17] * z; - rly[17] = tmp6 * rly[10] - ylmcoef[18] * rly[5] * radius2; // l=4,m=1 - grly[17][0] = tmp6 * grly[10][0] - - ylmcoef[18] * (rly[5] * tx + grly[5][0] * radius2); - grly[17][1] = tmp6 * grly[10][1] - - ylmcoef[18] * (rly[5] * ty + grly[5][1] * radius2); - grly[17][2] = ylmcoef[17] * (z * grly[10][2] + rly[10]) - - ylmcoef[18] * (rly[5] * tz + grly[5][2] * radius2); - - rly[18] = tmp6 * rly[11] - ylmcoef[18] * rly[6] * radius2; // l=4,m=-1 - grly[18][0] = tmp6 * grly[11][0] - - ylmcoef[18] * (rly[6] * tx + grly[6][0] * radius2); - grly[18][1] = tmp6 * grly[11][1] - - ylmcoef[18] * (rly[6] * ty + grly[6][1] * radius2); - grly[18][2] = ylmcoef[17] * (z * grly[11][2] + rly[11]) - - ylmcoef[18] * (rly[6] * tz + grly[6][2] * radius2); - - double tmp7 = ylmcoef[19] * z; - rly[19] = tmp7 * rly[12] - ylmcoef[20] * rly[7] * radius2; // l=4,m=2 - grly[19][0] = tmp7 * grly[12][0] - - ylmcoef[20] * (rly[7] * tx + grly[7][0] * radius2); - grly[19][1] = tmp7 * grly[12][1] - - ylmcoef[20] * (rly[7] * ty + grly[7][1] * radius2); - grly[19][2] = ylmcoef[19] * (z * grly[12][2] + rly[12]) - - ylmcoef[20] * (rly[7] * tz + grly[7][2] * radius2); - - rly[20] = tmp7 * rly[13] - ylmcoef[20] * rly[8] * radius2; // l=4,m=-2 - grly[20][0] = tmp7 * grly[13][0] - - ylmcoef[20] * (rly[8] * tx + grly[8][0] * radius2); - grly[20][1] = tmp7 * grly[13][1] - - ylmcoef[20] * (rly[8] * ty + grly[8][1] * radius2); - grly[20][2] = ylmcoef[19] * (z * grly[13][2] + rly[13]) - - ylmcoef[20] * (rly[8] * tz + grly[8][2] * radius2); - - double tmp8 = 3.0 * z; - rly[21] = tmp8 * rly[14]; // l=4,m=3 - grly[21][0] = tmp8 * grly[14][0]; - grly[21][1] = tmp8 * grly[14][1]; - grly[21][2] = 3.0 * (z * grly[14][2] + rly[14]); - - rly[22] = tmp8 * rly[15]; // l=4,m=-3 - grly[22][0] = tmp8 * grly[15][0]; - grly[22][1] = tmp8 * grly[15][1]; - grly[22][2] = 3.0 * (z * grly[15][2] + rly[15]); - - double tmp9 = ylmcoef[23] * x; - rly[23] = ylmcoef[21] * rly[19] - ylmcoef[22] * rly[7] * radius2 - - tmp9 * rly[14]; // l=4,m=4 - grly[23][0] = ylmcoef[21] * grly[19][0] - - ylmcoef[22] * (rly[7] * tx + grly[7][0] * radius2) - - ylmcoef[23] * (x * grly[14][0] + rly[14]); - grly[23][1] = ylmcoef[21] * grly[19][1] - - ylmcoef[22] * (rly[7] * ty + grly[7][1] * radius2) - - tmp9 * grly[14][1]; - grly[23][2] = ylmcoef[21] * grly[19][2] - - ylmcoef[22] * (rly[7] * tz + grly[7][2] * radius2) - - tmp9 * grly[14][2]; - - rly[24] = ylmcoef[21] * rly[20] - ylmcoef[22] * rly[8] * radius2 - - tmp9 * rly[15]; // l=4,m=-4 - grly[24][0] = ylmcoef[21] * grly[20][0] - - ylmcoef[22] * (rly[8] * tx + grly[8][0] * radius2) - - ylmcoef[23] * (x * grly[15][0] + rly[15]); - grly[24][1] = ylmcoef[21] * grly[20][1] - - ylmcoef[22] * (rly[8] * ty + grly[8][1] * radius2) - - tmp9 * grly[15][1]; - grly[24][2] = ylmcoef[21] * grly[20][2] - - ylmcoef[22] * (rly[8] * tz + grly[8][2] * radius2) - - tmp9 * grly[15][2]; - - if (Lmax == 4) - return; - - /*************************** - L = 5 - ***************************/ - rly[25] - = ylmcoef[24] * z * rly[16] - ylmcoef[25] * rly[9] * radius2; // l=5,m=0 - grly[25][0] = ylmcoef[24] * z * grly[16][0] - - ylmcoef[25] * (rly[9] * tx + grly[9][0] * radius2); - grly[25][1] = ylmcoef[24] * z * grly[16][1] - - ylmcoef[25] * (rly[9] * ty + grly[9][1] * radius2); - grly[25][2] = ylmcoef[24] * (z * grly[16][2] + rly[16]) - - ylmcoef[25] * (rly[9] * tz + grly[9][2] * radius2); - - double tmp10 = ylmcoef[26] * z; - rly[26] = tmp10 * rly[17] - ylmcoef[27] * rly[10] * radius2; // l=5,m=1 - grly[26][0] = tmp10 * grly[17][0] - - ylmcoef[27] * (rly[10] * tx + grly[10][0] * radius2); - grly[26][1] = tmp10 * grly[17][1] - - ylmcoef[27] * (rly[10] * ty + grly[10][1] * radius2); - grly[26][2] = ylmcoef[26] * (z * grly[17][2] + rly[17]) - - ylmcoef[27] * (rly[10] * tz + grly[10][2] * radius2); - - rly[27] = tmp10 * rly[18] - ylmcoef[27] * rly[11] * radius2; // l=5,m=-1 - grly[27][0] = tmp10 * grly[18][0] - - ylmcoef[27] * (rly[11] * tx + grly[11][0] * radius2); - grly[27][1] = tmp10 * grly[18][1] - - ylmcoef[27] * (rly[11] * ty + grly[11][1] * radius2); - grly[27][2] = ylmcoef[26] * (z * grly[18][2] + rly[18]) - - ylmcoef[27] * (rly[11] * tz + grly[11][2] * radius2); - - double tmp11 = ylmcoef[28] * z; - rly[28] = tmp11 * rly[19] - ylmcoef[29] * rly[12] * radius2; // l=5,m=2 - grly[28][0] = tmp11 * grly[19][0] - - ylmcoef[29] * (rly[12] * tx + grly[12][0] * radius2); - grly[28][1] = tmp11 * grly[19][1] - - ylmcoef[29] * (rly[12] * ty + grly[12][1] * radius2); - grly[28][2] = ylmcoef[28] * (z * grly[19][2] + rly[19]) - - ylmcoef[29] * (rly[12] * tz + grly[12][2] * radius2); - - rly[29] = tmp11 * rly[20] - ylmcoef[29] * rly[13] * radius2; // l=5,m=-2 - grly[29][0] = tmp11 * grly[20][0] - - ylmcoef[29] * (rly[13] * tx + grly[13][0] * radius2); - grly[29][1] = tmp11 * grly[20][1] - - ylmcoef[29] * (rly[13] * ty + grly[13][1] * radius2); - grly[29][2] = ylmcoef[28] * (z * grly[20][2] + rly[20]) - - ylmcoef[29] * (rly[13] * tz + grly[13][2] * radius2); - - double tmp12 = ylmcoef[30] * z; - rly[30] = tmp12 * rly[21] - ylmcoef[31] * rly[14] * radius2; // l=5,m=3 - grly[30][0] = tmp12 * grly[21][0] - - ylmcoef[31] * (grly[14][0] * radius2 + rly[14] * tx); - grly[30][1] = tmp12 * grly[21][1] - - ylmcoef[31] * (grly[14][1] * radius2 + rly[14] * ty); - grly[30][2] = ylmcoef[30] * (z * grly[21][2] + rly[21]) - - ylmcoef[31] * (grly[14][2] * radius2 + rly[14] * tz); - - rly[31] = tmp12 * rly[22] - ylmcoef[31] * rly[15] * radius2; // l=5,m=-3 - grly[31][0] = tmp12 * grly[22][0] - - ylmcoef[31] * (grly[15][0] * radius2 + rly[15] * tx); - grly[31][1] = tmp12 * grly[22][1] - - ylmcoef[31] * (grly[15][1] * radius2 + rly[15] * ty); - grly[31][2] = ylmcoef[30] * (z * grly[22][2] + rly[22]) - - ylmcoef[31] * (grly[15][2] * radius2 + rly[15] * tz); - - double tmp13 = ylmcoef[32] * z; - rly[32] = tmp13 * rly[23]; // l=5,m=4 - grly[32][0] = tmp13 * grly[23][0]; - grly[32][1] = tmp13 * grly[23][1]; - grly[32][2] = ylmcoef[32] * (rly[23] + z * grly[23][2]); - - rly[33] = tmp13 * rly[24]; // l=5,m=-4 - grly[33][0] = tmp13 * grly[24][0]; - grly[33][1] = tmp13 * grly[24][1]; - grly[33][2] = ylmcoef[32] * (rly[24] + z * grly[24][2]); - - double tmp14 = ylmcoef[35] * x; - rly[34] = ylmcoef[33] * rly[30] - ylmcoef[34] * rly[14] * radius2 - - tmp14 * rly[23]; // l=5,m=5 - grly[34][0] = ylmcoef[33] * grly[30][0] - - ylmcoef[34] * (rly[14] * tx + grly[14][0] * radius2) - - ylmcoef[35] * (x * grly[23][0] + rly[23]); - grly[34][1] = ylmcoef[33] * grly[30][1] - - ylmcoef[34] * (rly[14] * ty + grly[14][1] * radius2) - - tmp14 * grly[23][1]; - grly[34][2] = ylmcoef[33] * grly[30][2] - - ylmcoef[34] * (rly[14] * tz + grly[14][2] * radius2) - - tmp14 * grly[23][2]; - - rly[35] = ylmcoef[33] * rly[31] - ylmcoef[34] * rly[15] * radius2 - - tmp14 * rly[24]; // l=5,m=-5 - grly[35][0] = ylmcoef[33] * grly[31][0] - - ylmcoef[34] * (rly[15] * tx + grly[15][0] * radius2) - - ylmcoef[35] * (x * grly[24][0] + rly[24]); - grly[35][1] = ylmcoef[33] * grly[31][1] - - ylmcoef[34] * (rly[15] * ty + grly[15][1] * radius2) - - tmp14 * grly[24][1]; - grly[35][2] = ylmcoef[33] * grly[31][2] - - ylmcoef[34] * (rly[15] * tz + grly[15][2] * radius2) - - tmp14 * grly[24][2]; - - if (Lmax == 5) - return; - - // if Lmax > 5 - for (int il = 6; il <= Lmax; il++) - { - int istart = il * il; - int istart1 = (il - 1) * (il - 1); - int istart2 = (il - 2) * (il - 2); - - double fac2 = sqrt(4.0 * istart - 1.0); - double fac4 = sqrt(4.0 * istart1 - 1.0); - - for (int im = 0; im < 2 * il - 1; im++) - { - int imm = (im + 1) / 2; - // if (im % 2 == 0) imm *= -1; - - double var1 = fac2 / sqrt((double)istart - imm * imm); - double var2 = sqrt((double)istart1 - imm * imm) / fac4; - - rly[istart + im] = var1 - * (z * rly[istart1 + im] - - var2 * rly[istart2 + im] * radius2); - - grly[istart + im][0] - = var1 - * (z * grly[istart1 + im][0] - - var2 - * (rly[istart2 + im] * tx - + grly[istart2 + im][0] * radius2)); - grly[istart + im][1] - = var1 - * (z * grly[istart1 + im][1] - - var2 - * (rly[istart2 + im] * ty - + grly[istart2 + im][1] * radius2)); - grly[istart + im][2] - = var1 - * (z * grly[istart1 + im][2] + rly[istart1 + im] - - var2 - * (rly[istart2 + im] * tz - + grly[istart2 + im][2] * radius2)); - } - - double bl1 = sqrt(2.0 * il / (2.0 * il + 1.0)); - double bl2 = sqrt((2.0 * il - 2.0) / (2.0 * il - 1.0)); - double bl3 = sqrt(2.0) / fac2; - - int id1 = istart + 2 * il - 1; - int id2 = istart + 2 * il - 5; - int id3 = istart2 + 2 * il - 5; - int id4 = istart1 + 2 * il - 3; - - rly[id1] - = (bl3 * rly[id2] - bl2 * rly[id3] * radius2 - 2.0 * x * rly[id4]) - / bl1; - grly[id1][0] = (bl3 * grly[id2][0] - - bl2 * (grly[id3][0] * radius2 + rly[id3] * tx) - - 2.0 * (rly[id4] + x * grly[id4][0])) - / bl1; - grly[id1][1] = (bl3 * grly[id2][1] - - bl2 * (grly[id3][1] * radius2 + rly[id3] * ty) - - 2.0 * x * grly[id4][1]) - / bl1; - grly[id1][2] = (bl3 * grly[id2][2] - - bl2 * (grly[id3][2] * radius2 + rly[id3] * tz) - - 2.0 * x * grly[id4][2]) - / bl1; - - rly[id1 + 1] = (bl3 * rly[id2 + 1] - bl2 * rly[id3 + 1] * radius2 - - 2.0 * x * rly[id4 + 1]) - / bl1; - grly[id1 + 1][0] - = (bl3 * grly[id2 + 1][0] - - bl2 * (grly[id3 + 1][0] * radius2 + rly[id3 + 1] * tx) - - 2.0 * (rly[id4 + 1] + x * grly[id4 + 1][0])) - / bl1; - grly[id1 + 1][1] - = (bl3 * grly[id2 + 1][1] - - bl2 * (grly[id3 + 1][1] * radius2 + rly[id3 + 1] * ty) - - 2.0 * x * grly[id4 + 1][1]) - / bl1; - grly[id1 + 1][2] - = (bl3 * grly[id2 + 1][2] - - bl2 * (grly[id3 + 1][2] * radius2 + rly[id3 + 1] * tz) - - 2.0 * x * grly[id4 + 1][2]) - / bl1; - } - - return; -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/test/test_sph.cu b/source/source_lcao/module_gint/test/test_sph.cu deleted file mode 100644 index 9d41705667..0000000000 --- a/source/source_lcao/module_gint/test/test_sph.cu +++ /dev/null @@ -1,138 +0,0 @@ -#include -#include "../kernels/cuda/sph.cuh" - -#include "float.h" -#include "cuda_runtime.h" -#include "device_launch_parameters.h" -#include "gtest/gtest.h" -#include "source_lcao/module_hcontainer/hcontainer.h" -#include "test_sph.h" -#include "source_base/array_pool.h" -using namespace std; - -class gintTest : public ::testing::Test -{ - public: -}; - -__global__ void cuda_test(double* dr, int nwl, double* ylma_g, double* ylmcoef) -{ - double ylma[49] = {0.0}; - GintKernel::spherical_harmonics(dr, nwl, ylma, ylmcoef); - for (int i = 0; i < 49; i++) - { - ylma_g[i] = ylma[i]; - } -} -__global__ void cuda_test2(double* dr, double distance, int nwl, double* dylma_g, double* ylmcoef) -{ - double ylma[49] = {0.0}; - double grly[49][3] = {0.0}; - GintKernel::spherical_harmonics_d(dr, distance, grly, nwl, ylma, ylmcoef); - for (int i = 0; i < 49; i++) - { - dylma_g[i] = ylma[i]; - } -} - -void get_random_double(int min, int max, double* result, int length) -{ - std::random_device rd; - std::default_random_engine eng(rd()); - std::uniform_real_distribution distribution(0, 10); - for (int i = 0; i < 3; i++) - { - result[i] = distribution(eng); - } -} -void get_random_int(int min, int max, int& result) -{ - std::random_device rd; - std::default_random_engine eng(rd()); - std::uniform_int_distribution distribution(min, max); - result = distribution(eng); -} -// __global__ void cuda_test -TEST_F(gintTest, test) -{ - int nwl; - double distance; - - double* dr = new double[3]; - double* dr_g; - - double ylma[49]; - double dylma[49]; - double ylma_ans[49]; - - double* ylmcoef_g; - double* ylma_g; - double* dylma_g; - double* ylmcoef = new double[100]; - - std::vector ylma_cpu(49, 0.0); - std::vector ylma_cpu_dpsir(49, 0.0); - ModuleBase::Array_Pool ylma_cpu_ddpsir(49, 3); - - nwl=3; - for (int i=0;i<3;i++){ - dr[i]=i*1.0; - distance += dr[i] * dr[i]; - } - for (int i=0;i<100;i++) - { - ylmcoef[i]=i*0.1; - } - - cudaMalloc((void**)&ylmcoef_g, 100 * sizeof(double)); - cudaMalloc((void**)&dr_g, 3 * sizeof(double)); - cudaMalloc((void**)&ylma_g, 49 * sizeof(double)); - cudaMalloc((void**)&dylma_g, 49 * 3 * sizeof(double)); - - cudaMemcpy(ylmcoef_g, ylmcoef, 100 * sizeof(double), cudaMemcpyHostToDevice); - cudaMemcpy(dr_g, dr, 3 * sizeof(double), cudaMemcpyHostToDevice); - cudaMemset(ylma_g, 0, 49 * sizeof(double)); - cudaMemset(dylma_g, 0, 49 * sizeof(double)); - - cuda_test<<<1, 1>>>(dr_g, nwl, ylma_g, ylmcoef_g); - cuda_test2<<<1, 1>>>(dr_g, distance, nwl, dylma_g, ylmcoef_g); - sph_harm(nwl, dr[0], dr[1], dr[2], ylma_cpu, ylmcoef); - grad_rl_sph_harm(nwl, dr[0], dr[1], dr[2], ylma_cpu_dpsir.data(), ylma_cpu_ddpsir.get_ptr_2D(), ylmcoef); - cudaMemcpy(ylma, ylma_g, 49 * sizeof(double), cudaMemcpyDeviceToHost); - cudaMemcpy(dylma, dylma_g, 49 * sizeof(double), cudaMemcpyDeviceToHost); - cudaDeviceReset(); - - for (int i = 0; i < 49; i++) - { - ylma_ans[i] = ylma_cpu[i]; - if ((abs(ylma[i])!= 0) && (ylma_ans[i]==ylma_ans[i]) && (ylma[i]==ylma[i])) - { - EXPECT_LT(abs(ylma_ans[i] - ylma[i]) / abs(ylma[i]), 1e-15); - } - ylma_ans[i] = ylma_cpu_dpsir[i]; - if ((abs(dylma[i]) != 0) &&(ylma_ans[i]==ylma_ans[i]) && (dylma[i]==dylma[i])) - { - EXPECT_LT(abs(ylma_ans[i] - dylma[i]) / abs(dylma[i]), 1e-15); - } - } - delete[] dr; - delete[] ylmcoef; - -} - -int main(int argc, char** argv) -{ -#ifdef __MPI - MPI_Init(&argc, &argv); - MPI_Comm_size(MPI_COMM_WORLD, &GlobalV::NPROC); - MPI_Comm_rank(MPI_COMM_WORLD, &GlobalV::MY_RANK); -#endif - testing::InitGoogleTest(&argc, argv); - int result = RUN_ALL_TESTS(); - -#ifdef __MPI - MPI_Finalize(); -#endif - - return result; -} \ No newline at end of file diff --git a/source/source_lcao/module_gint/test/test_sph.h b/source/source_lcao/module_gint/test/test_sph.h deleted file mode 100644 index 141e917200..0000000000 --- a/source/source_lcao/module_gint/test/test_sph.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef TEST_SPH_H -#define TEST_SPH_H -#include -// using namespace std; -void sph_harm(const int& Lmax, - const double& xdr, - const double& ydr, - const double& zdr, - std::vector& rly, - double* ylmcoef); - -void grad_rl_sph_harm(const int& Lmax, // max momentum of L - const double& x, - const double& y, - const double& z, - double* rly, - double** grly, - const double* ylmcoef); -#endif \ No newline at end of file diff --git a/source/source_lcao/module_gint/temp_gint/unitcell_info.cpp b/source/source_lcao/module_gint/unitcell_info.cpp similarity index 100% rename from source/source_lcao/module_gint/temp_gint/unitcell_info.cpp rename to source/source_lcao/module_gint/unitcell_info.cpp diff --git a/source/source_lcao/module_gint/temp_gint/unitcell_info.h b/source/source_lcao/module_gint/unitcell_info.h similarity index 100% rename from source/source_lcao/module_gint/temp_gint/unitcell_info.h rename to source/source_lcao/module_gint/unitcell_info.h diff --git a/source/source_lcao/module_hcontainer/CMakeLists.txt b/source/source_lcao/module_hcontainer/CMakeLists.txt index 65db746a84..7082861c27 100644 --- a/source/source_lcao/module_hcontainer/CMakeLists.txt +++ b/source/source_lcao/module_hcontainer/CMakeLists.txt @@ -5,6 +5,7 @@ list(APPEND objects atom_pair.cpp hcontainer.cpp output_hcontainer.cpp + read_hcontainer.cpp func_folding.cpp transfer.cpp func_transfer.cpp diff --git a/source/source_lcao/module_hcontainer/hcontainer.h b/source/source_lcao/module_hcontainer/hcontainer.h index 7592273fdb..92baed942a 100644 --- a/source/source_lcao/module_hcontainer/hcontainer.h +++ b/source/source_lcao/module_hcontainer/hcontainer.h @@ -1,5 +1,5 @@ -#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_MODULE_HCONTAINER_HCONTAINER_H -#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_MODULE_HCONTAINER_HCONTAINER_H +#ifndef HCONTAINER_H +#define HCONTAINER_H #include "atom_pair.h" #include "source_base/vector3.h" @@ -507,4 +507,4 @@ class HContainer } // namespace hamilt -#endif \ No newline at end of file +#endif diff --git a/source/source_lcao/module_hcontainer/output_hcontainer.cpp b/source/source_lcao/module_hcontainer/output_hcontainer.cpp index b884969815..10d21bd2ca 100644 --- a/source/source_lcao/module_hcontainer/output_hcontainer.cpp +++ b/source/source_lcao/module_hcontainer/output_hcontainer.cpp @@ -32,7 +32,9 @@ template void Output_HContainer::write(bool write_empty) { int size_for_loop_R = this->_hcontainer->size_R_loop(); - int rx, ry, rz; + int rx=0; + int ry=0; + int rz=0; int R_range[2] = {0, 0}; // find the range of R for (int iR = 0; iR < size_for_loop_R; iR++) @@ -135,4 +137,4 @@ void Output_HContainer::write_single_R(int rx, int ry, int rz) template class Output_HContainer; template class Output_HContainer>; -} // namespace hamilt \ No newline at end of file +} // namespace hamilt diff --git a/source/source_lcao/module_hcontainer/read_hcontainer.cpp b/source/source_lcao/module_hcontainer/read_hcontainer.cpp new file mode 100644 index 0000000000..1ff134f898 --- /dev/null +++ b/source/source_lcao/module_hcontainer/read_hcontainer.cpp @@ -0,0 +1,169 @@ +#include "read_hcontainer.h" + +#include "source_io/sparse_matrix.h" +#include "source_io/csr_reader.h" +#include "hcontainer_funcs.h" + +#include + +namespace hamilt +{ + +/** + * @brief Constructor of Read_HContainer + * @attention ifs should be open outside of this interface + */ +template +Read_HContainer::Read_HContainer(hamilt::HContainer* hcontainer, + const std::string& filename, + const int nlocal, + const UnitCell* ucell) + : _hcontainer(hcontainer), _filename(filename), _nlocal(nlocal), _ucell(ucell) +{ +} + +template +void Read_HContainer::read() +{ + // build atom index of col and row + std::vector atom_index_row; + std::vector atom_index_col; + int natom = this->_ucell->nat; + Parallel_Orbitals pv_serial; + pv_serial.set_serial(this->_nlocal, this->_nlocal); + pv_serial.set_atomic_trace(this->_ucell->get_iat2iwt(), this->_ucell->nat, this->_nlocal); + for (int iat = 0; iat < natom; ++iat) + { + int row_size = pv_serial.get_row_size(iat); + int col_size = pv_serial.get_col_size(iat); + for (int i = 0; i < row_size; ++i) + { + atom_index_row.push_back(iat); + } + for (int j = 0; j < col_size; ++j) + { + atom_index_col.push_back(iat); + } + } + // + hamilt::HContainer hcontainer_serial(&pv_serial); + +#ifdef __MPI + if(GlobalV::MY_RANK == 0) + { +#endif + ModuleIO::csrFileReader csr(this->_filename); + int step = csr.getStep(); + int matrix_dimension = csr.getMatrixDimension(); + int r_number = csr.getNumberOfR(); + + //construct serial hcontainer firstly + // prepare atom index mapping from csr row/col to atom index + for (int i = 0; i < r_number; i++) + { + std::vector RCoord = csr.getRCoordinate(i); + ModuleIO::SparseMatrix sparse_matrix = csr.getMatrix(i); + for (const auto& element: sparse_matrix.getElements()) + { + int row = element.first.first; + int col = element.first.second; + T value = element.second; + + + //insert into hcontainer + int atom_i = atom_index_row[row]; + int atom_j = atom_index_col[col]; + auto* ij_pair = hcontainer_serial.find_pair(atom_i, atom_j); + if(ij_pair == nullptr) + { + //insert new pair + hamilt::AtomPair new_pair(atom_i, atom_j, RCoord[0], RCoord[1], RCoord[2], &pv_serial); + hcontainer_serial.insert_pair(new_pair); + } + else + { + if(ij_pair->find_R(RCoord[0], RCoord[1], RCoord[2]) == -1) + { + //insert new R + hamilt::AtomPair new_pair(atom_i, atom_j, RCoord[0], RCoord[1], RCoord[2], &pv_serial); + hcontainer_serial.insert_pair(new_pair); + } + } + } + } + hcontainer_serial.allocate(nullptr, true); + // second loop, add values into hcontainer + for (int i = 0; i < r_number; i++) + { + std::vector RCoord = csr.getRCoordinate(i); + ModuleIO::SparseMatrix sparse_matrix = csr.getMatrix(i); + for (const auto& element: sparse_matrix.getElements()) + { + int row = element.first.first; + int col = element.first.second; + T value = element.second; + + //insert into hcontainer + int atom_i = atom_index_row[row]; + int atom_j = atom_index_col[col]; + auto* matrix = hcontainer_serial.find_matrix(atom_i, atom_j, RCoord[0], RCoord[1], RCoord[2]); + matrix->add_element(row - pv_serial.atom_begin_row[atom_i], + col - pv_serial.atom_begin_col[atom_j], + value); + } + } +#ifdef __MPI +} + // thirdly, distribute hcontainer_serial to parallel hcontainer + // send s from serial_rank to all ranks + int my_rank, size; + MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); + MPI_Comm_size(MPI_COMM_WORLD, &size); + std::vector para_ijrs; + if (my_rank == 0) + { + para_ijrs = hcontainer_serial.get_ijr_info(); + this->_hcontainer->insert_ijrs(¶_ijrs); + this->_hcontainer->allocate(); + } + if (my_rank != 0) + { + std::vector tmp_ijrs; + MPI_Status status; + long tmp_size = 0; + MPI_Recv(&tmp_size, 1, MPI_LONG, 0, 0, MPI_COMM_WORLD, &status); + tmp_ijrs.resize(tmp_size); + MPI_Recv(tmp_ijrs.data(), + tmp_ijrs.size(), + MPI_INT, + 0, + 1, + MPI_COMM_WORLD, + &status); + this->_hcontainer->insert_ijrs(&tmp_ijrs); + this->_hcontainer->allocate(); + } + else + { + for (int i = 1; i < size; ++i) + { + long tmp_size = para_ijrs.size(); + MPI_Send(&tmp_size, 1, MPI_LONG, i, 0, MPI_COMM_WORLD); + MPI_Send(para_ijrs.data(), para_ijrs.size(), MPI_INT, i, 1, MPI_COMM_WORLD); + } + } + // gather values from serial_rank to Parallels + transferSerial2Parallels(hcontainer_serial, this->_hcontainer, 0); +#else + std::vector para_ijrs = hcontainer_serial.get_ijr_info(); + this->_hcontainer->insert_ijrs(¶_ijrs); + this->_hcontainer->allocate(); + this->_hcontainer->add(hcontainer_serial); +#endif + +} + +template class Read_HContainer; +template class Read_HContainer>; + +} // namespace hamilt diff --git a/source/source_lcao/module_hcontainer/read_hcontainer.h b/source/source_lcao/module_hcontainer/read_hcontainer.h new file mode 100644 index 0000000000..2a0ca9d466 --- /dev/null +++ b/source/source_lcao/module_hcontainer/read_hcontainer.h @@ -0,0 +1,47 @@ +#ifndef READ_HCONTAINER_H +#define READ_HCONTAINER_H + +#include "source_lcao/module_hcontainer/hcontainer.h" +#include "source_cell/unitcell.h" + +namespace hamilt +{ + +/** + * @brief A class to read the HContainer + */ +template +class Read_HContainer +{ + public: + Read_HContainer( + hamilt::HContainer* hcontainer, + const std::string& filename, + const int nlocal, + const UnitCell* ucell + ); + // read the matrices of all R vectors to the read stream + void read(); + + /** + * read the matrix of a single R vector to the output stream + * rx_in, ry_in, rz_in: the R vector from the input + */ + void read(int rx_in, int ry_in, int rz_in); + + /** + * read the matrix of a single R vector to the output stream + * rx, ry, rz: the R vector from the HContainer + */ + void read_single_R(int rx, int ry, int rz); + + private: + hamilt::HContainer* _hcontainer; + std::string _filename; + int _nlocal; + const UnitCell* _ucell; +}; + +} // namespace hamilt + +#endif // OUTPUT_HCONTAINER_H \ No newline at end of file diff --git a/source/source_lcao/module_hcontainer/test/prepare_unitcell.h b/source/source_lcao/module_hcontainer/test/prepare_unitcell.h index 3f0f58cabd..3df427d83b 100644 --- a/source/source_lcao/module_hcontainer/test/prepare_unitcell.h +++ b/source/source_lcao/module_hcontainer/test/prepare_unitcell.h @@ -94,7 +94,7 @@ class UcellTestPrepare } // lattice info ucell.lat0 = this->lat0; - ucell.lat0_angstrom = ucell.lat0 * 0.529177; + ucell.lat0_angstrom = ucell.lat0 * ModuleBase::BOHR_TO_A; ucell.tpiba = ModuleBase::TWO_PI / ucell.lat0; ucell.tpiba2 = ucell.tpiba * ucell.tpiba; ucell.latvec.e11 = this->latvec[0]; diff --git a/source/source_lcao/module_hcontainer/test/tmp_mocks.cpp b/source/source_lcao/module_hcontainer/test/tmp_mocks.cpp index 748512d4e1..459874d5d5 100644 --- a/source/source_lcao/module_hcontainer/test/tmp_mocks.cpp +++ b/source/source_lcao/module_hcontainer/test/tmp_mocks.cpp @@ -44,6 +44,10 @@ UnitCell::UnitCell() UnitCell::~UnitCell() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} void UnitCell::set_iat2iwt(const int& npol_in) { @@ -58,7 +62,7 @@ void UnitCell::set_iat2iwt(const int& npol_in) this->iat2iwt[iat] = iwt; iwt += atoms[it].nw * this->npol; ++iat; - } + } } return; -} \ No newline at end of file +} diff --git a/source/source_lcao/module_lr/CMakeLists.txt b/source/source_lcao/module_lr/CMakeLists.txt index 3278252c84..331e7dc22e 100644 --- a/source/source_lcao/module_lr/CMakeLists.txt +++ b/source/source_lcao/module_lr/CMakeLists.txt @@ -11,7 +11,6 @@ if(ENABLE_LCAO) ao_to_mo_transformer/ao_to_mo_serial.cpp dm_trans/dm_trans_parallel.cpp dm_trans/dm_trans_serial.cpp - dm_trans/dmr_complex.cpp operator_casida/operator_lr_hxc.cpp operator_casida/operator_lr_exx.cpp potentials/pot_hxc_lrtd.cpp diff --git a/source/source_lcao/module_lr/ao_to_mo_transformer/ao_to_mo_parallel.cpp b/source/source_lcao/module_lr/ao_to_mo_transformer/ao_to_mo_parallel.cpp index 7e614619db..7d936365ce 100644 --- a/source/source_lcao/module_lr/ao_to_mo_transformer/ao_to_mo_parallel.cpp +++ b/source/source_lcao/module_lr/ao_to_mo_transformer/ao_to_mo_parallel.cpp @@ -51,18 +51,18 @@ namespace LR char transb = 'N'; const double alpha = 1.0; const double beta = add_on ? 1.0 : 0.0; - pdgemm_(&transa, &transb, &naos, &nmo1, &naos, - &alpha, mat_ao[isk].data(), &i1, &i1, pmat_ao.desc, - coeff.get_pointer(), &i1, &imo1, pcoeff.desc, - &beta, Vc.data(), &i1, &i1, pVc.desc); + ScalapackConnector::gemm(transa, transb, naos, nmo1, naos, + alpha, mat_ao[isk].data(), i1, i1, pmat_ao.desc, + coeff.get_pointer(), i1, imo1, pcoeff.desc, + beta, Vc.data(), i1, i1, pVc.desc); transa = 'T'; // mat_mo = c ^ TVc // descC puts M(nvirt) to row - pdgemm_(&transa, &transb, &nmo2, &nmo1, &naos, - &alpha, coeff.get_pointer(), &i1, &imo2, pcoeff.desc, - Vc.data(), &i1, &i1, pVc.desc, - &beta, mat_mo + start, &i1, &i1, pmat_mo.desc); + ScalapackConnector::gemm(transa, transb, nmo2, nmo1, naos, + alpha, coeff.get_pointer(), i1, imo2, pcoeff.desc, + Vc.data(), i1, i1, pVc.desc, + beta, mat_mo + start, i1, i1, pmat_mo.desc); } } @@ -109,18 +109,18 @@ namespace LR char transb = 'N'; const std::complex alpha(1.0, 0.0); const std::complex beta = add_on ? std::complex(1.0, 0.0) : std::complex(0.0, 0.0); - pzgemm_(&transa, &transb, &naos, &nmo1, &naos, - &alpha, mat_ao[isk].data>(), &i1, &i1, pmat_ao.desc, - coeff.get_pointer(), &i1, &imo1, pcoeff.desc, - &beta, Vc.data>(), &i1, &i1, pVc.desc); + ScalapackConnector::gemm(transa, transb, naos, nmo1, naos, + alpha, mat_ao[isk].data>(), i1, i1, pmat_ao.desc, + coeff.get_pointer(), i1, imo1, pcoeff.desc, + beta, Vc.data>(), i1, i1, pVc.desc); transa = 'C'; // mat_mo = c ^ TVc // descC puts M(nvirt) to row - pzgemm_(&transa, &transb, &nmo2, &nmo1, &naos, - &alpha, coeff.get_pointer(), &i1, &imo2, pcoeff.desc, - Vc.data>(), &i1, &i1, pVc.desc, - &beta, mat_mo + start, &i1, &i1, pmat_mo.desc); + ScalapackConnector::gemm(transa, transb, nmo2, nmo1, naos, + alpha, coeff.get_pointer(), i1, imo2, pcoeff.desc, + Vc.data>(), i1, i1, pVc.desc, + beta, mat_mo + start, i1, i1, pmat_mo.desc); } } } diff --git a/source/source_lcao/module_lr/ao_to_mo_transformer/ao_to_mo_serial.cpp b/source/source_lcao/module_lr/ao_to_mo_transformer/ao_to_mo_serial.cpp index 1ddec7f8da..b65f871f32 100644 --- a/source/source_lcao/module_lr/ao_to_mo_transformer/ao_to_mo_serial.cpp +++ b/source/source_lcao/module_lr/ao_to_mo_transformer/ao_to_mo_serial.cpp @@ -110,15 +110,15 @@ namespace LR char transb = 'N'; //coeff is col major const double alpha = 1.0; const double beta = add_on ? 1.0 : 0.0; - dgemm_(&transa, &transb, &naos, &nmo1, &naos, &alpha, - mat_ao[isk].data(), &naos, coeff.get_pointer(imo1), &naos, &beta, - Vc.data(), &naos); + BlasConnector::gemm(transb, transa, nmo1, naos, naos, alpha, + coeff.get_pointer(imo1), naos, mat_ao[isk].data(), naos, beta, + Vc.data(), naos); transa = 'T'; //mat_mo=coeff^TVc (nvirt major) - dgemm_(&transa, &transb, &nmo2, &nmo1, &naos, &alpha, - coeff.get_pointer(imo2), &naos, Vc.data(), &naos, &beta, - mat_mo + start, &nmo2); + BlasConnector::gemm(transb, transa, nmo1, nmo2, naos, alpha, + Vc.data(), naos, coeff.get_pointer(imo2), naos, beta, + mat_mo + start, nmo2); } } template<> @@ -151,15 +151,15 @@ namespace LR char transb = 'N'; //coeff is col major const std::complex alpha(1.0, 0.0); const std::complex beta = add_on ? std::complex(1.0, 0.0) : std::complex(0.0, 0.0); - zgemm_(&transa, &transb, &naos, &nmo1, &naos, &alpha, - mat_ao[isk].data>(), &naos, coeff.get_pointer(imo1), &naos, &beta, - Vc.data>(), &naos); + BlasConnector::gemm(transb, transa, nmo1, naos, naos, alpha, + coeff.get_pointer(imo1), naos, mat_ao[isk].data>(), naos, beta, + Vc.data>(), naos); transa = 'C'; //mat_mo=coeff^\dagger Vc (nvirt major) - zgemm_(&transa, &transb, &nmo2, &nmo1, &naos, &alpha, - coeff.get_pointer(imo2), &naos, Vc.data>(), &naos, &beta, - mat_mo + start, &nmo2); + BlasConnector::gemm(transb, transa, nmo1, nmo2, naos, alpha, + Vc.data>(), naos, coeff.get_pointer(imo2), naos, beta, + mat_mo + start, nmo2); } } } \ No newline at end of file diff --git a/source/source_lcao/module_lr/dm_trans/dm_trans_parallel.cpp b/source/source_lcao/module_lr/dm_trans/dm_trans_parallel.cpp index ebc8f2c697..5b36f798b2 100644 --- a/source/source_lcao/module_lr/dm_trans/dm_trans_parallel.cpp +++ b/source/source_lcao/module_lr/dm_trans/dm_trans_parallel.cpp @@ -53,16 +53,16 @@ std::vector cal_dm_trans_pblas(const double* const X_istate, DEV::CpuDevice, {pXc.get_col_size(), pXc.get_row_size()}); // row is "inside"(memory contiguity) for pblas Xc.zero(); - pdgemm_(&transa, &transb, &naos, &nmo2, &nmo1, - &alpha, c.get_pointer(), &i1, &imo1, pc.desc, - X_istate + x_start, &i1, &i1, px.desc, - &beta, Xc.data(), &i1, &i1, pXc.desc); + ScalapackConnector::gemm(transa, transb, naos, nmo2, nmo1, + alpha, c.get_pointer(), 1, imo1, pc.desc, + X_istate + x_start, 1, 1, px.desc, + beta, Xc.data(), 1, 1, pXc.desc); // 2. C_virt*[X*C_occ^T] - pdgemm_(&transa, &transb, &naos, &naos, &nmo2, - &factor, c.get_pointer(), &i1, &imo2, pc.desc, - Xc.data(), &i1, &i1, pXc.desc, - &beta, dm_trans[isk].data(), &i1, &i1, pmat.desc); + ScalapackConnector::gemm(transa, transb, naos, naos, nmo2, + factor, c.get_pointer(), 1, imo2, pc.desc, + Xc.data(), 1, 1, pXc.desc, + beta, dm_trans[isk].data(), 1, 1, pmat.desc); } return dm_trans; } @@ -130,17 +130,17 @@ std::vector cal_dm_trans_pblas(const std::complex* co Xc.zero(); const std::complex alpha(1.0, 0.0); const std::complex beta(0.0, 0.0); - pzgemm_(&transa, &transb, &nmo2, &naos, &nmo1, &alpha, - X_istate + x_start, &i1, &i1, px.desc, - c.get_pointer(), &i1, &imo1, pc.desc, - &beta, Xc.data>(), &i1, &i1, pXc.desc); + ScalapackConnector::gemm(transa, transb, nmo2, naos, nmo1, alpha, + X_istate + x_start, i1, i1, px.desc, + c.get_pointer(), i1, imo1, pc.desc, + beta, Xc.data>(), i1, i1, pXc.desc); // 2. [X*C_occ^\dagger]^TC_virt^T transa = transb = 'T'; - pzgemm_(&transa, &transb, &naos, &naos, &nmo2, - &factor, Xc.data>(), &i1, &i1, pXc.desc, - c.get_pointer(), &i1, &imo2, pc.desc, - &beta, dm_trans[isk].data>(), &i1, &i1, pmat.desc); + ScalapackConnector::gemm(transa, transb, naos, naos, nmo2, + factor, Xc.data>(), i1, i1, pXc.desc, + c.get_pointer(), i1, imo2, pc.desc, + beta, dm_trans[isk].data>(), i1, i1, pmat.desc); } return dm_trans; } diff --git a/source/source_lcao/module_lr/dm_trans/dm_trans_serial.cpp b/source/source_lcao/module_lr/dm_trans/dm_trans_serial.cpp index 7509760345..3a4553e0b4 100644 --- a/source/source_lcao/module_lr/dm_trans/dm_trans_serial.cpp +++ b/source/source_lcao/module_lr/dm_trans/dm_trans_serial.cpp @@ -112,13 +112,13 @@ namespace LR const double alpha = 1.0; const double beta = 0.0; container::Tensor Xc(DAT::DT_DOUBLE, DEV::CpuDevice, { nmo2, naos }); - dgemm_(&transa, &transb, &naos, &nmo2, &nmo1, &alpha, - c.get_pointer(imo1), &naos, X_istate + x_start, &nmo2, - &beta, Xc.data(), &naos); + BlasConnector::gemm(transb, transa, nmo2, naos, nmo1, alpha, + X_istate + x_start, nmo2, c.get_pointer(imo1), naos, + beta, Xc.data(), naos); // 2. C_virt*[X*C_occ^T] - dgemm_(&transa, &transb, &naos, &naos, &nmo2, &factor, - c.get_pointer(imo2), &naos, Xc.data(), &naos, &beta, - dm_trans[isk].data(), &naos); + BlasConnector::gemm(transb, transa, naos, naos, nmo2, factor, + Xc.data(), naos, c.get_pointer(imo2), naos, beta, + dm_trans[isk].data(), naos); } return dm_trans; } @@ -166,14 +166,14 @@ namespace LR // ============== = [C_occ^* * X^T * C_virt^T]^T============= // 1. X*C_occ^\dagger container::Tensor Xc(DAT::DT_COMPLEX_DOUBLE, DEV::CpuDevice, { naos, nmo2 }); - zgemm_(&transa, &transb, &nmo2, &naos, &nmo1, &alpha, - X_istate + x_start, &nmo2, c.get_pointer(imo1), &naos, - &beta, Xc.data>(), &nmo2); + BlasConnector::gemm_cm(transa, transb, nmo2, naos, nmo1, alpha, + X_istate + x_start, nmo2, c.get_pointer(imo1), naos, + beta, Xc.data>(), nmo2); // 2. [X*C_occ^\dagger]^TC_virt^T transa = transb = 'T'; - zgemm_(&transa, &transb, &naos, &naos, &nmo2, &factor, - Xc.data>(), &nmo2, c.get_pointer(imo2), &naos, &beta, - dm_trans[isk].data>(), &naos); + BlasConnector::gemm_cm(transa, transb, naos, naos, nmo2, factor, + Xc.data>(), nmo2, c.get_pointer(imo2), naos, beta, + dm_trans[isk].data>(), naos); } return dm_trans; } diff --git a/source/source_lcao/module_lr/dm_trans/dmr_complex.cpp b/source/source_lcao/module_lr/dm_trans/dmr_complex.cpp index 8009409d5d..3ed8ab69bf 100644 --- a/source/source_lcao/module_lr/dm_trans/dmr_complex.cpp +++ b/source/source_lcao/module_lr/dm_trans/dmr_complex.cpp @@ -11,8 +11,8 @@ namespace elecstate ModuleBase::timer::tick("DensityMatrix", "cal_DMR"); for (int is = 1; is <= this->_nspin; ++is) { - int ik_begin = this->_nk * (is - 1); // jump this->_nk for spin_down if nspin==2 - hamilt::HContainer>* tmp_DMR = this->_DMR[is - 1]; + const int ik_begin = this->_nk * (is - 1); // jump this->_nk for spin_down if nspin==2 + hamilt::HContainer>*const tmp_DMR = this->_DMR[is - 1]; // set zero since this function is called in every scf step tmp_DMR->set_zero(); #ifdef _OPENMP @@ -21,19 +21,16 @@ namespace elecstate for (int i = 0; i < tmp_DMR->size_atom_pairs(); ++i) { hamilt::AtomPair>& tmp_ap = tmp_DMR->get_atom_pair(i); - int iat1 = tmp_ap.get_atom_i(); - int iat2 = tmp_ap.get_atom_j(); + const int iat1 = tmp_ap.get_atom_i(); + const int iat2 = tmp_ap.get_atom_j(); // get global indexes of whole matrix for each atom in this process - int row_ap = this->_paraV->atom_begin_row[iat1]; - int col_ap = this->_paraV->atom_begin_col[iat2]; - if (row_ap == -1 || col_ap == -1) - { - throw std::string("Atom-pair not belong this process"); - } + const int row_ap = this->_paraV->atom_begin_row[iat1]; + const int col_ap = this->_paraV->atom_begin_col[iat2]; + assert(row_ap != -1 && col_ap != -1 && "Atom-pair not belong this process"); for (int ir = 0; ir < tmp_ap.get_R_size(); ++ir) { const ModuleBase::Vector3 r_index = tmp_ap.get_R_index(ir); - hamilt::BaseMatrix>* tmp_matrix = tmp_ap.find_matrix(r_index); + hamilt::BaseMatrix>*const tmp_matrix = tmp_ap.find_matrix(r_index); #ifdef __DEBUG if (tmp_matrix == nullptr) { @@ -52,13 +49,14 @@ namespace elecstate const double arg = (this->_kvec_d[ik] * dR) * ModuleBase::TWO_PI; double sinp, cosp; ModuleBase::libm::sincos(arg, &sinp, &cosp); - std::complex kphase = std::complex(cosp, sinp); + const std::complex kphase = std::complex(cosp, sinp); // set DMR element std::complex* tmp_DMR_pointer = tmp_matrix->get_pointer(); - std::complex* tmp_DMK_pointer = this->_DMK[ik + ik_begin].data(); + const std::complex* tmp_DMK_pointer + = this->_DMK[ik + ik_begin].data() + + col_ap * this->_paraV->nrow + row_ap; // jump DMK to fill DMR // DMR is row-major, DMK is column-major - tmp_DMK_pointer += col_ap * this->_paraV->nrow + row_ap; for (int mu = 0; mu < this->_paraV->get_row_size(iat1); ++mu) { BlasConnector::axpy(this->_paraV->get_col_size(iat2), @@ -71,11 +69,10 @@ namespace elecstate tmp_DMR_pointer += this->_paraV->get_col_size(iat2); } } -} + } // treat DMR as pauli matrix when NSPIN=4 - if (PARAM.inp.nspin == 4) { - throw std::runtime_error("complex DM(R) with NSPIN=4 is not implemented yet"); -} + if (PARAM.inp.nspin == 4) + { throw std::runtime_error("complex DM(R) with NSPIN=4 is not implemented yet"); } } } } diff --git a/source/source_lcao/module_lr/esolver_lrtd_lcao.cpp b/source/source_lcao/module_lr/esolver_lrtd_lcao.cpp index 6fb0d256eb..16efc5f046 100644 --- a/source/source_lcao/module_lr/esolver_lrtd_lcao.cpp +++ b/source/source_lcao/module_lr/esolver_lrtd_lcao.cpp @@ -1,5 +1,4 @@ #include "esolver_lrtd_lcao.h" -#include "utils/gint_move.hpp" #include "utils/lr_util.h" #include "hamilt_casida.h" #include "hamilt_ulr.hpp" @@ -44,8 +43,6 @@ void LR::ESolver_LR::move_exx_lri(std::shared_ptr::move_exx_lri: cannot move std::complex to double"); } #endif -template<>void LR::ESolver_LR::set_gint() { this->gint_ = &this->gint_g_;this->gint_g_.gridt = &this->gt_; } -template<>void LR::ESolver_LR>::set_gint() { this->gint_ = &this->gint_k_; this->gint_k_.gridt = &this->gt_; } inline int cal_nupdown_form_occ(const ModuleBase::matrix& wg) { // only for nspin=2 @@ -241,23 +238,7 @@ LR::ESolver_LR::ESolver_LR(ModuleESolver::ESolver_KS_LCAO&& ks_sol this->nupdown = cal_nupdown_form_occ(ks_sol.pelec->wg); reset_dim_spin2(); } -#ifdef __OLD_GINT - //grid integration - this->gt_ = std::move(ks_sol.GridT); - - if (std::is_same::value) - { - this->gint_g_ = std::move(ks_sol.GG); - } - else - { - this->gint_k_ = std::move(ks_sol.GK); - } - this->set_gint(); - this->gint_->reset_DMRGint(1); -#else this->gint_info_ = std::move(ks_sol.gint_info_); -#endif // move pw basis if (this->pw_rho_flag) { @@ -274,10 +255,10 @@ LR::ESolver_LR::ESolver_LR(ModuleESolver::ESolver_KS_LCAO&& ks_sol { // if the same kernel is calculated in the esolver_ks, move it std::string dft_functional = LR_Util::tolower(input.dft_functional); - if (ks_sol.exd && std::is_same::value && xc_kernel == dft_functional) { - this->move_exx_lri(ks_sol.exd->exx_ptr); - } else if (ks_sol.exc && std::is_same>::value && xc_kernel == dft_functional) { - this->move_exx_lri(ks_sol.exc->exx_ptr); + if (ks_sol.exx_nao.exd && std::is_same::value && xc_kernel == dft_functional) { + this->move_exx_lri(ks_sol.exx_nao.exd->exx_ptr); + } else if (ks_sol.exx_nao.exc && std::is_same>::value && xc_kernel == dft_functional) { + this->move_exx_lri(ks_sol.exx_nao.exc->exx_ptr); } else // construct C, V from scratch { // set ccp_type according to the xc_kernel @@ -319,7 +300,7 @@ LR::ESolver_LR::ESolver_LR(const Input_para& inp, UnitCell& ucell) : inpu } this->kv.set(ucell,ucell.symm, PARAM.inp.kpoint_file, PARAM.inp.nspin, ucell.G, ucell.latvec, GlobalV::ofs_running); ModuleBase::GlobalFunc::DONE(GlobalV::ofs_running, "INIT K-POINTS"); - ModuleIO::setup_parameters(ucell, this->kv); + ModuleIO::print_parameters(ucell, this->kv, inp); this->parameter_check(); @@ -395,66 +376,6 @@ LR::ESolver_LR::ESolver_LR(const Input_para& inp, UnitCell& ucell) : inpu this->ucell, search_radius, PARAM.inp.test_atom_input); -#ifdef __OLD_GINT - this->set_gint(); - this->gint_->gridt = &this->gt_; - - // (3) Periodic condition search for each grid. - double dr_uniform = 0.001; - std::vector rcuts; - std::vector> psi_u; - std::vector> dpsi_u; - std::vector> d2psi_u; - - Gint_Tools::init_orb(dr_uniform, rcuts, ucell, orb, psi_u, dpsi_u, d2psi_u); - this->gt_.set_pbc_grid(this->pw_rho->nx, - this->pw_rho->ny, - this->pw_rho->nz, - this->pw_big->bx, - this->pw_big->by, - this->pw_big->bz, - this->pw_big->nbx, - this->pw_big->nby, - this->pw_big->nbz, - this->pw_big->nbxx, - this->pw_big->nbzp_start, - this->pw_big->nbzp, - this->pw_rho->ny, - this->pw_rho->nplane, - this->pw_rho->startz_current, - ucell, - this->gd, - dr_uniform, - rcuts, - psi_u, - dpsi_u, - d2psi_u, - PARAM.inp.nstream); - psi_u.clear(); - psi_u.shrink_to_fit(); - dpsi_u.clear(); - dpsi_u.shrink_to_fit(); - d2psi_u.clear(); - d2psi_u.shrink_to_fit(); - - this->gint_->prep_grid(this->gt_, - this->pw_big->nbx, - this->pw_big->nby, - this->pw_big->nbzp, - this->pw_big->nbzp_start, - this->pw_rho->nxyz, - this->pw_big->bx, - this->pw_big->by, - this->pw_big->bz, - this->pw_big->bxyz, - this->pw_big->nbxx, - this->pw_rho->ny, - this->pw_rho->nplane, - this->pw_rho->startz_current, - &ucell, - &orb); - this->gint_->initialize_pvpR(ucell, &this->gd, 1); // always use nspin=1 for transition density -#else gint_info_.reset( new ModuleGint::GintInfo( this->pw_big->nbx, @@ -473,7 +394,6 @@ LR::ESolver_LR::ESolver_LR(const Input_para& inp, UnitCell& ucell) : inpu ucell, this->gd)); ModuleGint::Gint::set_gint_info(gint_info_.get()); -#endif // if EXX from scratch, init 2-center integral and calculate Cs, Vs #ifdef __EXX if ((xc_kernel == "hf" || xc_kernel == "hse") && this->input.lr_solver != "spectrum") @@ -533,7 +453,6 @@ void LR::ESolver_LR::runner(UnitCell& ucell, const int istep) this->exx_lri, this->exx_info.info_global.hybrid_alpha, #endif - this->gint_, this->pot, this->kv, this->paraX_, @@ -564,7 +483,6 @@ void LR::ESolver_LR::runner(UnitCell& ucell, const int istep) this->exx_lri, this->exx_info.info_global.hybrid_alpha, #endif - this->gint_, this->pot[is], this->kv, this->paraX_, @@ -621,7 +539,7 @@ void LR::ESolver_LR::after_all_runners(UnitCell& ucell) auto spin_types = (nspin == 2 && !openshell) ? std::vector({ "singlet", "triplet" }) : std::vector({ "updown" }); for (int is = 0;is < this->X.size();++is) { - LR_Spectrum spectrum(nspin, this->nbasis, this->nocc, this->nvirt, this->gint_, *this->pw_rho, *this->psi_ks, + LR_Spectrum spectrum(nspin, this->nbasis, this->nocc, this->nvirt, *this->pw_rho, *this->psi_ks, this->ucell, this->kv, this->gd, this->orb_cutoff_, this->two_center_bundle_, this->paraX_, this->paraC_, this->paraMat_, &this->pelec->ekb.c[is * nstates], this->X[is].template data(), nstates, openshell, @@ -752,7 +670,8 @@ void LR::ESolver_LR::read_ks_wfc() #endif } else if (!ModuleIO::read_wfc_nao(PARAM.globalv.global_readin_dir, this->paraMat_, *this->psi_ks, - this->pelec, + this->pelec->ekb, + this->pelec->wg, this->pelec->klist->ik2iktot, this->pelec->klist->get_nkstot(), /*skip_bands=*/this->nocc_max - this->nocc_in)) { @@ -765,7 +684,8 @@ template void LR::ESolver_LR::read_ks_chg(Charge& chg_gs) { chg_gs.set_rhopw(this->pw_rho); - chg_gs.allocate(this->nspin); + const bool kin_den = chg_gs.kin_density(); // mohan add 20251202 + chg_gs.allocate(this->nspin, kin_den); GlobalV::ofs_running << " try to read charge from file : "; for (int is = 0; is < this->nspin; ++is) { diff --git a/source/source_lcao/module_lr/esolver_lrtd_lcao.h b/source/source_lcao/module_lr/esolver_lrtd_lcao.h index f08ddec52b..3f2d040501 100644 --- a/source/source_lcao/module_lr/esolver_lrtd_lcao.h +++ b/source/source_lcao/module_lr/esolver_lrtd_lcao.h @@ -11,13 +11,10 @@ #include #include "source_esolver/esolver_ks_lcao.h" //for the move constructor -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" -#include "source_lcao/module_gint/grid_technique.h" #include "source_estate/module_dm/density_matrix.h" #include "source_lcao/module_lr/potentials/pot_hxc_lrtd.h" #include "source_lcao/module_lr/hamilt_casida.h" -#include "source_lcao/module_gint/temp_gint/gint_info.h" +#include "source_lcao/module_gint/gint_info.h" #ifdef __EXX // #include #include "source_lcao/module_ri/Exx_LRI.h" @@ -90,13 +87,7 @@ namespace LR bool openshell = false; std::string xc_kernel; - Grid_Technique gt_; - Gint_Gamma gint_g_; - Gint_k gint_k_; - typename TGint::type* gint_ = nullptr; - #ifndef __OLD_GINT std::unique_ptr gint_info_ = nullptr; - #endif void set_gint(); /// @brief variables for parallel distribution of KS orbitals diff --git a/source/source_lcao/module_lr/hamilt_casida.h b/source/source_lcao/module_lr/hamilt_casida.h index e692dc051a..d835fad2d3 100644 --- a/source/source_lcao/module_lr/hamilt_casida.h +++ b/source/source_lcao/module_lr/hamilt_casida.h @@ -17,7 +17,6 @@ namespace LR class HamiltLR { public: - template HamiltLR(std::string& xc_kernel, const int& nspin, const int& naos, @@ -32,7 +31,6 @@ namespace LR std::weak_ptr> exx_lri_in, const double& exx_alpha, #endif - TGint* gint_in, std::weak_ptr pot_in, const K_Vectors& kv_in, const std::vector& pX_in, @@ -95,7 +93,7 @@ namespace LR #endif { OperatorLRHxc* lr_hxc = new OperatorLRHxc(nspin, naos, nocc, nvirt, psi_ks_in, - this->DM_trans, gint_in, pot_in, ucell_in, orb_cutoff, gd_in, kv_in, pX_in, pc_in, pmat_in); + this->DM_trans, pot_in, ucell_in, orb_cutoff, gd_in, kv_in, pX_in, pc_in, pmat_in); this->ops->add(lr_hxc); } #ifdef __EXX diff --git a/source/source_lcao/module_lr/hamilt_ulr.hpp b/source/source_lcao/module_lr/hamilt_ulr.hpp index 838a3d4999..4f5fdfbfd9 100644 --- a/source/source_lcao/module_lr/hamilt_ulr.hpp +++ b/source/source_lcao/module_lr/hamilt_ulr.hpp @@ -15,7 +15,6 @@ namespace LR class HamiltULR { public: - template HamiltULR(std::string& xc_kernel, const int& nspin, const int& naos, @@ -30,7 +29,6 @@ namespace LR std::weak_ptr> exx_lri_in, const double& exx_alpha, #endif - TGint* gint_in, std::vector>& pot_in, const K_Vectors& kv_in, const std::vector& pX_in, ///< {up, down} @@ -49,7 +47,7 @@ namespace LR this->ops[3] = new OperatorLRDiag(eig_ks.c + nk * (nocc[0] + nvirt[0]), pX_in[1], nk, nocc[1], nvirt[1]); auto newHxc = [&](const int& sl, const int& sr) { return new OperatorLRHxc(nspin, naos, nocc, nvirt, psi_ks_in, - this->DM_trans, gint_in, pot_in[sl], ucell_in, orb_cutoff, gd_in, kv_in, pX_in, pc_in, pmat_in, { sl,sr }); }; + this->DM_trans, pot_in[sl], ucell_in, orb_cutoff, gd_in, kv_in, pX_in, pc_in, pmat_in, { sl,sr }); }; this->ops[0]->add(newHxc(0, 0)); this->ops[1] = newHxc(0, 1); this->ops[2] = newHxc(1, 0); diff --git a/source/source_lcao/module_lr/hsolver_lrtd.hpp b/source/source_lcao/module_lr/hsolver_lrtd.hpp index bbac18160a..b481d56936 100644 --- a/source/source_lcao/module_lr/hsolver_lrtd.hpp +++ b/source/source_lcao/module_lr/hsolver_lrtd.hpp @@ -100,7 +100,6 @@ namespace LR PARAM.inp.pw_diag_ndim, diag_ethr, maxiter, - false, //always do the subspace diag (check the implementation) comm_info, PARAM.inp.diag_subspace, PARAM.inp.nb2d); @@ -135,7 +134,7 @@ namespace LR ////// why diago_cg depends on basis_type? // hsolver::DiagoCG cg("lcao", "nscf", true, subspace_func, diag_ethr, maxiter, GlobalV::NPROC_IN_POOL); - auto subspace_func = [](const ct::Tensor& psi_in, ct::Tensor& psi_out) {}; + auto subspace_func = [](const ct::Tensor& psi_in, ct::Tensor& psi_out, const bool S_orth) {}; hsolver::DiagoCG cg("lcao", "nscf", false, subspace_func, diag_ethr, maxiter, GlobalV::NPROC_IN_POOL); auto psi_tensor = ct::TensorMap(psi, ct::DataTypeToEnum::value, ct::DeviceType::CpuDevice, ct::TensorShape({ nband, dim })); @@ -178,7 +177,7 @@ namespace LR // output iters std::cout << " Average iterative diagonalization steps: " << hsolver::DiagoIterAssist::avg_iter - << "; current threshold: " << hsolver::DiagoIterAssist::PW_DIAG_THR << std::endl; + << "; current threshold: " << diag_ethr << std::endl; } } } diff --git a/source/source_lcao/module_lr/lr_spectrum.cpp b/source/source_lcao/module_lr/lr_spectrum.cpp index 235a9829e2..f698541c30 100644 --- a/source/source_lcao/module_lr/lr_spectrum.cpp +++ b/source/source_lcao/module_lr/lr_spectrum.cpp @@ -6,7 +6,7 @@ #include "source_lcao/module_lr/utils/lr_util.h" #include "source_lcao/module_lr/utils/lr_util_hcontainer.h" #include "source_lcao/module_lr/utils/lr_util_print.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" +#include "source_lcao/module_gint/gint_interface.h" template elecstate::DensityMatrix LR::LR_Spectrum::cal_transition_density_matrix(const int istate, const T* X_in, const bool need_R) @@ -35,16 +35,6 @@ elecstate::DensityMatrix LR::LR_Spectrum::cal_transition_density_matrix return DM_trans; } -#ifdef __OLD_GINT -template -void LR::LR_Spectrum::cal_gint_rho(double** rho, const int& nrxx) -{ - ModuleBase::GlobalFunc::ZEROS(rho[0], nrxx); - Gint_inout inout_rho(rho, Gint_Tools::job_type::rho, 1, false); - this->gint->cal_gint(&inout_rho); -} -#endif - inline void check_sum_rule(const double& osc_tot) { if (std::abs(osc_tot - 1.0) > 1e-3) { @@ -65,13 +55,8 @@ ModuleBase::Vector3 LR::LR_Spectrum::cal_transition_dipole_istat // 2. transition density double** rho_trans; LR_Util::_allocate_2order_nested_ptr(rho_trans, 1, this->rho_basis.nrxx); -#ifdef __OLD_GINT - this->gint->transfer_DM2DtoGrid({ DM_trans.get_DMR_vector().at(is) }); - this->cal_gint_rho(rho_trans, this->rho_basis.nrxx); -#else ModuleBase::GlobalFunc::ZEROS(rho_trans[0], this->rho_basis.nrxx); ModuleGint::cal_gint_rho({ DM_trans.get_DMR_vector().at(is) }, 1, rho_trans, false); -#endif // 3. transition dipole moment for (int ir = 0; ir < rho_basis.nrxx; ++ir) @@ -115,24 +100,14 @@ ModuleBase::Vector3> LR::LR_Spectrum>: // real part LR_Util::get_DMR_real_imag_part(DM_trans, DM_trans_real_imag, ucell.nat, 'R'); -#ifdef __OLD_GINT - this->gint->transfer_DM2DtoGrid(DM_trans_real_imag.get_DMR_vector()); - this->cal_gint_rho(rho_trans_real, this->rho_basis.nrxx); -#else ModuleBase::GlobalFunc::ZEROS(rho_trans_real[0], this->rho_basis.nrxx); ModuleGint::cal_gint_rho(DM_trans_real_imag.get_DMR_vector(), 1, rho_trans_real, false); -#endif // LR_Util::print_grid_nonzero(rho_trans_real[0], this->rho_basis.nrxx, 10, "rho_trans"); // imag part LR_Util::get_DMR_real_imag_part(DM_trans, DM_trans_real_imag, ucell.nat, 'I'); -#ifdef __OLD_GINT - this->gint->transfer_DM2DtoGrid(DM_trans_real_imag.get_DMR_vector()); - this->cal_gint_rho(rho_trans_imag, this->rho_basis.nrxx); -#else ModuleBase::GlobalFunc::ZEROS(rho_trans_imag[0], this->rho_basis.nrxx); ModuleGint::cal_gint_rho(DM_trans_real_imag.get_DMR_vector(), 1, rho_trans_imag, false); -#endif // LR_Util::print_grid_nonzero(rho_trans_imag[0], this->rho_basis.nrxx, 10, "rho_trans"); // 3. transition dipole moment diff --git a/source/source_lcao/module_lr/lr_spectrum.h b/source/source_lcao/module_lr/lr_spectrum.h index bd2d1f489d..79a188621b 100644 --- a/source/source_lcao/module_lr/lr_spectrum.h +++ b/source/source_lcao/module_lr/lr_spectrum.h @@ -1,6 +1,5 @@ #pragma once #include "source_cell/klist.h" -#include "source_lcao/module_lr/utils/gint_template.h" #include "source_psi/psi.h" #include "source_estate/module_dm/density_matrix.h" #include "source_lcao/module_lr/utils/lr_util.h" @@ -13,14 +12,14 @@ namespace LR { public: LR_Spectrum(const int& nspin_global, const int& naos, const std::vector& nocc, const std::vector& nvirt, - typename TGint::type* gint, const ModulePW::PW_Basis& rho_basis, psi::Psi& psi_ks_in, + const ModulePW::PW_Basis& rho_basis, psi::Psi& psi_ks_in, const UnitCell& ucell, const K_Vectors& kv_in, const Grid_Driver& gd, const std::vector& orb_cutoff, const TwoCenterBundle& two_center_bundle_, const std::vector& pX_in, const Parallel_2D& pc_in, const Parallel_Orbitals& pmat_in, const double* eig, const T* X, const int& nstate, const bool& openshell, const std::string& gauge = "length") : nspin_x(openshell ? 2 : 1), naos(naos), nocc(nocc), nvirt(nvirt), nk(kv_in.get_nks() / nspin_global), - gint(gint), rho_basis(rho_basis), ucell(ucell), kv(kv_in), gd_(gd), + rho_basis(rho_basis), ucell(ucell), kv(kv_in), gd_(gd), orb_cutoff_(orb_cutoff), two_center_bundle_(two_center_bundle_), pX(pX_in), pc(pc_in), pmat(pmat_in), eig(eig), X(X), nstate(nstate), @@ -75,7 +74,6 @@ namespace LR const std::vector& pX; const Parallel_2D& pc; const Parallel_Orbitals& pmat; - typename TGint::type* gint = nullptr; const ModulePW::PW_Basis& rho_basis; const Grid_Driver& gd_; const UnitCell& ucell; diff --git a/source/source_lcao/module_lr/operator_casida/operator_lr_hxc.cpp b/source/source_lcao/module_lr/operator_casida/operator_lr_hxc.cpp index 56d2e4fda7..4aed4244f4 100644 --- a/source/source_lcao/module_lr/operator_casida/operator_lr_hxc.cpp +++ b/source/source_lcao/module_lr/operator_casida/operator_lr_hxc.cpp @@ -9,7 +9,7 @@ #include "source_lcao/module_hcontainer/hcontainer_funcs.h" #include "source_lcao/module_lr/ao_to_mo_transformer/ao_to_mo.h" #include "source_pw/module_pwdft/global.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" +#include "source_lcao/module_gint/gint_interface.h" inline double conj(double a) { return a; } inline std::complex conj(std::complex a) { return std::conj(a); } @@ -61,13 +61,7 @@ namespace LR const int& nrxx = this->pot.lock()->nrxx; LR_Util::_allocate_2order_nested_ptr(rho_trans, 1, nrxx); // currently gint_kernel_rho uses PARAM.inp.nspin, it needs refactor ModuleBase::GlobalFunc::ZEROS(rho_trans[0], nrxx); -#ifdef __OLD_GINT - this->gint->transfer_DM2DtoGrid(this->DM_trans->get_DMR_vector()); // 2d block to grid - Gint_inout inout_rho(rho_trans, Gint_Tools::job_type::rho, 1, false); - this->gint->cal_gint(&inout_rho); -#else ModuleGint::cal_gint_rho(this->DM_trans->get_DMR_vector(), 1, rho_trans, false); -#endif // 3. v_hxc = f_hxc * rho_trans ModuleBase::matrix vr_hxc(1, nrxx); //grid this->pot.lock()->cal_v_eff(rho_trans, ucell, vr_hxc, ispin_ks); @@ -75,14 +69,7 @@ namespace LR // 4. V^{Hxc}_{\mu,\nu}=\int{dr} \phi_\mu(r) v_{Hxc}(r) \phi_\mu(r) this->hR->set_zero(); // clear hR for each bands -#ifdef __OLD_GINT - Gint_inout inout_vlocal(vr_hxc.c, 0, Gint_Tools::job_type::vlocal); - this->gint->get_hRGint()->set_zero(); - this->gint->cal_gint(&inout_vlocal); - this->gint->transfer_pvpR(&*this->hR, &ucell); //grid to 2d block -#else ModuleGint::cal_gint_vl(vr_hxc.c, &*this->hR); -#endif ModuleBase::timer::tick("OperatorLRHxc", "grid_calculation"); } @@ -109,14 +96,7 @@ namespace LR LR_Util::_allocate_2order_nested_ptr(rho_trans, 1, nrxx); // nspin=1 for transition density ModuleBase::GlobalFunc::ZEROS(rho_trans[0], nrxx); -#ifdef __OLD_GINT - this->gint->transfer_DM2DtoGrid(DM_trans_real_imag.get_DMR_vector()); - // LR_Util::print_HR(*this->gint->get_DMRGint()[0], this->ucell.nat, "DMR(grid, real)"); - Gint_inout inout_rho(rho_trans, Gint_Tools::job_type::rho, 1, false); - this->gint->cal_gint(&inout_rho); -#else ModuleGint::cal_gint_rho(DM_trans_real_imag.get_DMR_vector(), 1, rho_trans, false); -#endif // print_grid_nonzero(rho_trans[0], nrxx, 10, "rho_trans"); // 3. v_hxc = f_hxc * rho_trans @@ -128,15 +108,7 @@ namespace LR // 4. V^{Hxc}_{\mu,\nu}=\int{dr} \phi_\mu(r) v_{Hxc}(r) \phi_\mu(r) HR_real_imag.set_zero(); -#ifdef __OLD_GINT - Gint_inout inout_vlocal(vr_hxc.c, 0, Gint_Tools::job_type::vlocal); - this->gint->get_hRGint()->set_zero(); - this->gint->cal_gint(&inout_vlocal); - // LR_Util::print_HR(*this->gint->get_hRGint(), this->ucell.nat, "VR(grid)"); - this->gint->transfer_pvpR(&HR_real_imag, &ucell, &this->gd); -#else ModuleGint::cal_gint_vl(vr_hxc.c, &HR_real_imag); -#endif // LR_Util::print_HR(HR_real_imag, this->ucell.nat, "VR(real, 2d)"); LR_Util::set_HR_real_imag_part(HR_real_imag, *this->hR, ucell.nat, type); }; diff --git a/source/source_lcao/module_lr/operator_casida/operator_lr_hxc.h b/source/source_lcao/module_lr/operator_casida/operator_lr_hxc.h index e201561380..bb82780e14 100644 --- a/source/source_lcao/module_lr/operator_casida/operator_lr_hxc.h +++ b/source/source_lcao/module_lr/operator_casida/operator_lr_hxc.h @@ -1,8 +1,6 @@ #pragma once #include "source_cell/klist.h" #include "source_hamilt/operator.h" -#include "source_lcao/module_lr/utils/gint_template.h" -#include "source_lcao/module_gint/grid_technique.h" #include "source_estate/module_dm/density_matrix.h" #include "source_lcao/module_lr/potentials/pot_hxc_lrtd.h" #include "source_lcao/module_lr/utils/lr_util.h" @@ -21,7 +19,6 @@ namespace LR const std::vector& nvirt, const psi::Psi& psi_ks_in, std::unique_ptr>& DM_trans_in, - typename TGint::type* gint_in, std::weak_ptr pot_in, const UnitCell& ucell_in, const std::vector& orb_cutoff, @@ -32,7 +29,7 @@ namespace LR const Parallel_Orbitals& pmat_in, const std::vector& ispin_ks = {0}) : nspin(nspin), naos(naos), nocc(nocc), nvirt(nvirt), nk(kv_in.get_nks() / nspin), psi_ks(psi_ks_in), - DM_trans(DM_trans_in), gint(gint_in), pot(pot_in), ucell(ucell_in), orb_cutoff_(orb_cutoff), gd(gd_in), + DM_trans(DM_trans_in), pot(pot_in), ucell(ucell_in), orb_cutoff_(orb_cutoff), gd(gd_in), kv(kv_in), pX(pX_in), pc(pc_in), pmat(pmat_in), ispin_ks(ispin_ks) { ModuleBase::TITLE("OperatorLRHxc", "OperatorLRHxc"); @@ -82,8 +79,6 @@ namespace LR std::weak_ptr pot; - typename TGint::type* gint = nullptr; - const UnitCell& ucell; std::vector orb_cutoff_; const Grid_Driver& gd; diff --git a/source/source_lcao/module_lr/ri_benchmark/test/ri_benchmark_test.cpp b/source/source_lcao/module_lr/ri_benchmark/test/ri_benchmark_test.cpp index 9e66aad4bb..e565796a2e 100644 --- a/source/source_lcao/module_lr/ri_benchmark/test/ri_benchmark_test.cpp +++ b/source/source_lcao/module_lr/ri_benchmark/test/ri_benchmark_test.cpp @@ -15,6 +15,10 @@ Magnetism::Magnetism() {} Magnetism::~Magnetism() {} Atom::Atom() { this->nw = 2; } Atom::~Atom() {} +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} UnitCell::UnitCell() { atoms = new Atom[1]; iat2it = new int[1]; iat2it[0] = 0; diff --git a/source/source_lcao/module_lr/utils/gint_move.hpp b/source/source_lcao/module_lr/utils/gint_move.hpp deleted file mode 100644 index 0faa68f39d..0000000000 --- a/source/source_lcao/module_lr/utils/gint_move.hpp +++ /dev/null @@ -1,87 +0,0 @@ -#include "lr_util.h" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_io/module_parameter/parameter.h" -#include "source_lcao/module_gint/gint_k.h" -#include "source_lcao/module_gint/grid_technique.h" - -// Here will be the only place where GlobalCs are used (to be moved) in source_lcao/module_lr -#include "source_pw/module_pwdft/global.h" - -template -using D2 = void(*) (T**, size_t); -// template -// using D3 = void(*) (T***, size_t, size_t); -// template -// D2 d2 = LR_Util::_deallocate_2order_nested_ptr; -// template -// D3 d3 = LR_Util::delete_p3; -// Change to C++ 11 -D2 d2 = LR_Util::_deallocate_2order_nested_ptr; -// D3 d3 = LR_Util::delete_p3; - - -Gint& Gint::operator=(Gint&& rhs) -{ - if (this == &rhs) {return *this; -} - - this->nbx = rhs.nbx; - this->nby = rhs.nby; - this->nbz = rhs.nbz; - this->ncxyz = rhs.ncxyz; - this->nbz_start = rhs.nbz_start; - this->bx = rhs.bx; - this->by = rhs.by; - this->bz = rhs.bz; - this->bxyz = rhs.bxyz; - this->nbxx = rhs.nbxx; - this->ny = rhs.ny; - this->nplane = rhs.nplane; - this->startz_current = rhs.startz_current; - - this->gridt = rhs.gridt; - this->ucell = rhs.ucell; - - // move hR after refactor - this->hRGint = rhs.hRGint; - rhs.hRGint = nullptr; - this->hRGintCd = rhs.hRGintCd; - rhs.hRGintCd = nullptr; - for (int i = 0; i < this->DMRGint.size(); i++) - { - delete this->DMRGint[i]; - } - for (int i = 0; i < this->hRGint_tmp.size(); i++) - { - delete this->hRGint_tmp[i]; - } - this->pvdpRx_reduced = std::move(rhs.pvdpRx_reduced); - this->pvdpRy_reduced = std::move(rhs.pvdpRy_reduced); - this->pvdpRz_reduced = std::move(rhs.pvdpRz_reduced); - this->DMRGint = std::move(rhs.DMRGint); - this->hRGint_tmp = std::move(rhs.hRGint_tmp); - this->DMRGint_full = rhs.DMRGint_full; - rhs.DMRGint_full = nullptr; - - return *this; -} - -Gint_Gamma& Gint_Gamma::operator=(Gint_Gamma&& rhs) -{ - if (this == &rhs) {return *this; -} - Gint::operator=(std::move(rhs)); - - // DM may not needed in beyond DFT ESolver - // if (this->DM != nullptr) d3(this->DM, PARAM.inp.nspin, gridt.lgd); - assert(this->DM == nullptr); - return *this; -} - -Gint_k& Gint_k::operator=(Gint_k&& rhs) -{ - if (this == &rhs) {return *this; -} - this->Gint::operator=(std::move(rhs)); - return *this; -} \ No newline at end of file diff --git a/source/source_lcao/module_lr/utils/gint_template.h b/source/source_lcao/module_lr/utils/gint_template.h deleted file mode 100644 index e56bb33961..0000000000 --- a/source/source_lcao/module_lr/utils/gint_template.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" -namespace LR -{ - template struct TGint; - template <> - struct TGint { - using type = Gint_Gamma; - }; - template <> - struct TGint> { - using type = Gint_k; - }; -} \ No newline at end of file diff --git a/source/source_lcao/module_operator_lcao/deepks_lcao.cpp b/source/source_lcao/module_operator_lcao/deepks_lcao.cpp index 5e75cc9b40..67a77a0e4a 100644 --- a/source/source_lcao/module_operator_lcao/deepks_lcao.cpp +++ b/source/source_lcao/module_operator_lcao/deepks_lcao.cpp @@ -152,13 +152,8 @@ void hamilt::DeePKS>::contributeHR() { ModuleBase::timer::tick("DeePKS", "contributeHR"); - const int inlmax = ptr_orb_->Alpha[0].getTotal_nchi() * this->ucell->nat; - DeePKS_domain::cal_pdm(this->ld->init_pdm, - inlmax, - this->ld->lmaxd, - this->ld->inl2l, - this->ld->inl_index, + this->ld->deepks_param, this->kvec_d, this->ld->dm_r, this->ld->phialpha, @@ -170,19 +165,13 @@ void hamilt::DeePKS>::contributeHR() std::vector descriptor; DeePKS_domain::cal_descriptor(this->ucell->nat, - inlmax, - this->ld->inl2l, + this->ld->deepks_param, this->ld->pdm, - descriptor, - this->ld->des_per_atom); + descriptor); if (PARAM.inp.deepks_equiv) { DeePKS_domain::cal_edelta_gedm_equiv(this->ucell->nat, - this->ld->lmaxd, - this->ld->nmaxd, - inlmax, - this->ld->des_per_atom, - this->ld->inl2l, + this->ld->deepks_param, descriptor, this->ld->gedm, this->ld->E_delta, @@ -191,9 +180,7 @@ void hamilt::DeePKS>::contributeHR() else { DeePKS_domain::cal_edelta_gedm(this->ucell->nat, - inlmax, - this->ld->des_per_atom, - this->ld->inl2l, + this->ld->deepks_param, descriptor, this->ld->pdm, this->ld->model_deepks, @@ -253,7 +240,7 @@ void hamilt::DeePKS>::calculate_HR() { for (int N0 = 0; N0 < ptr_orb_->Alpha[0].getNchi(L0); ++N0) { - const int inl = this->ld->inl_index[T0](I0, L0, N0); + const int inl = this->ld->deepks_param.inl_index[T0](I0, L0, N0); const double* pgedm = this->ld->gedm[inl]; const int nm = 2 * L0 + 1; @@ -274,7 +261,7 @@ void hamilt::DeePKS>::calculate_HR() { const double* pgedm = this->ld->gedm[iat0]; int nproj = 0; - for (int il = 0; il < this->ld->lmaxd + 1; il++) + for (int il = 0; il < this->ld->deepks_param.lmaxd + 1; il++) { nproj += (2 * il + 1) * ptr_orb_->Alpha[0].getNchi(il); } @@ -364,19 +351,19 @@ void hamilt::DeePKS>::calculate_HR() constexpr char transa = 'T', transb = 'N'; const double gemm_alpha = 1.0, gemm_beta = 1.0; - dgemm_(&transa, - &transb, - &col_size, - &row_size, - &trace_alpha_size, - &gemm_alpha, - s_2t.data(), - &trace_alpha_size, + BlasConnector::gemm(transb, + transa, + row_size, + col_size, + trace_alpha_size, + gemm_alpha, s_1t.data(), - &trace_alpha_size, - &gemm_beta, + trace_alpha_size, + s_2t.data(), + trace_alpha_size, + gemm_beta, hr_current.data(), - &col_size); + col_size); // add data of HR to target BaseMatrix #pragma omp critical diff --git a/source/source_lcao/module_operator_lcao/dftu_lcao.cpp b/source/source_lcao/module_operator_lcao/dftu_lcao.cpp index c35aa51bef..327076fab5 100644 --- a/source/source_lcao/module_operator_lcao/dftu_lcao.cpp +++ b/source/source_lcao/module_operator_lcao/dftu_lcao.cpp @@ -19,12 +19,12 @@ hamilt::DFTU>::DFTU(HS_Matrix_K* hsk_in, const Grid_Driver* GridD_in, const TwoCenterIntegrator* intor, const std::vector& orb_cutoff, - ModuleDFTU::DFTU* dftu_in) + Plus_U* p_dftu) : hamilt::OperatorLCAO(hsk_in, kvec_d_in, hR_in), intor_(intor), orb_cutoff_(orb_cutoff) { this->cal_type = calculation_type::lcao_dftu; this->ucell = &ucell_in; - this->dftu = dftu_in; + this->dftu = p_dftu; #ifdef __DEBUG assert(this->ucell != nullptr); #endif @@ -186,7 +186,7 @@ void hamilt::DFTU>::contributeHR() // will update this->dftu->locale and this->dftu->EU if (this->current_spin == 0) { - this->dftu->EU = 0.0; + this->dftu->set_energy(0.0); } } ModuleBase::timer::tick("DFTU", "contributeHR"); @@ -272,7 +272,12 @@ void hamilt::DFTU>::contributeHR() ModuleBase::timer::tick("DFTU", "cal_vu"); const double u_value = this->dftu->U[T0]; std::vector VU_tmp(occ.size()); - this->cal_v_of_u(occ, tlp1, u_value, VU_tmp.data(), this->dftu->EU); + + // mohan add 2025-11-08 + double u_energy = Plus_U::get_energy(); + this->cal_v_of_u(occ, tlp1, u_value, VU_tmp.data(), u_energy); + Plus_U::set_energy(u_energy); + // transfer occ from pauli matrix format to normal format std::vector VU(occ.size()); this->transfer_vu(VU_tmp, VU); @@ -311,7 +316,7 @@ void hamilt::DFTU>::contributeHR() // energy correction for NSPIN=1 if (this->nspin == 1) { - this->dftu->EU *= 2.0; + this->dftu->set_double_energy(); } // for readin onsite_dm, set initialed_locale to false to avoid using readin locale in next iteration if (this->current_spin == this->nspin - 1 || this->nspin == 4) diff --git a/source/source_lcao/module_operator_lcao/dftu_lcao.h b/source/source_lcao/module_operator_lcao/dftu_lcao.h index 4ef1890f76..d24c03bd8d 100644 --- a/source/source_lcao/module_operator_lcao/dftu_lcao.h +++ b/source/source_lcao/module_operator_lcao/dftu_lcao.h @@ -33,7 +33,7 @@ class DFTU> : public OperatorLCAO const Grid_Driver* gridD_in, const TwoCenterIntegrator* intor, const std::vector& orb_cutoff, - ModuleDFTU::DFTU* dftu_in); + Plus_U* p_dftu); ~DFTU>(); /** @@ -51,7 +51,7 @@ class DFTU> : public OperatorLCAO private: const UnitCell* ucell = nullptr; - ModuleDFTU::DFTU* dftu = nullptr; + Plus_U* dftu = nullptr; hamilt::HContainer* HR = nullptr; diff --git a/source/source_lcao/module_operator_lcao/meta_lcao.h b/source/source_lcao/module_operator_lcao/meta_lcao.h index 53dca154c4..61bcf7510a 100644 --- a/source/source_lcao/module_operator_lcao/meta_lcao.h +++ b/source/source_lcao/module_operator_lcao/meta_lcao.h @@ -1,8 +1,6 @@ #ifndef METALCAO_H #define METALCAO_H #include "source_base/timer.h" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" #include "operator_lcao.h" namespace hamilt diff --git a/source/source_lcao/module_operator_lcao/op_dftu_lcao.cpp b/source/source_lcao/module_operator_lcao/op_dftu_lcao.cpp index 9fc4418bb2..c3ed6bb51e 100644 --- a/source/source_lcao/module_operator_lcao/op_dftu_lcao.cpp +++ b/source/source_lcao/module_operator_lcao/op_dftu_lcao.cpp @@ -27,7 +27,9 @@ void OperatorDFTU>::contributeHk(int ik) ModuleBase::timer::tick("OperatorDFTU", "contributeHk"); // Effective potential of DFT+U is added to total Hamiltonian here; Quxin adds on 20201029 std::vector eff_pot(this->hsk->get_pv()->nloc); - GlobalC::dftu.cal_eff_pot_mat_real(ik, &eff_pot[0], isk, this->hsk->get_sk()); + + this->dftu->cal_eff_pot_mat_real(ik, &eff_pot[0], isk, this->hsk->get_sk()); + double* hk = this->hsk->get_hk(); for (int irc = 0; irc < this->hsk->get_pv()->nloc; irc++) @@ -43,9 +45,12 @@ void OperatorDFTU, double>>::contributeHk(int { ModuleBase::TITLE("OperatorDFTU", "contributeHk"); ModuleBase::timer::tick("OperatorDFTU", "contributeHk"); + // Effective potential of DFT+U is added to total Hamiltonian here; Quxin adds on 20201029 std::vector> eff_pot(this->hsk->get_pv()->nloc); - GlobalC::dftu.cal_eff_pot_mat_complex(ik, &eff_pot[0], isk, this->hsk->get_sk()); + + this->dftu->cal_eff_pot_mat_complex(ik, &eff_pot[0], isk, this->hsk->get_sk()); + std::complex* hk = this->hsk->get_hk(); for (int irc = 0; irc < this->hsk->get_pv()->nloc; irc++) @@ -63,7 +68,8 @@ void OperatorDFTU, std::complex>>::con ModuleBase::timer::tick("OperatorDFTU", "contributeHk"); // Effective potential of DFT+U is added to total Hamiltonian here; Quxin adds on 20201029 std::vector> eff_pot(this->hsk->get_pv()->nloc); - GlobalC::dftu.cal_eff_pot_mat_complex(ik, &eff_pot[0], isk, this->hsk->get_sk()); + + this->dftu->cal_eff_pot_mat_complex(ik, &eff_pot[0], isk, this->hsk->get_sk()); std::complex* hk = this->hsk->get_hk(); for (int irc = 0; irc < this->hsk->get_pv()->nloc; irc++) @@ -74,4 +80,4 @@ void OperatorDFTU, std::complex>>::con ModuleBase::timer::tick("OperatorDFTU", "contributeHk"); } -} \ No newline at end of file +} diff --git a/source/source_lcao/module_operator_lcao/op_dftu_lcao.h b/source/source_lcao/module_operator_lcao/op_dftu_lcao.h index e15f4ae9dd..a8b275f045 100644 --- a/source/source_lcao/module_operator_lcao/op_dftu_lcao.h +++ b/source/source_lcao/module_operator_lcao/op_dftu_lcao.h @@ -1,7 +1,9 @@ #ifndef OPDFTULCAO_H #define OPDFTULCAO_H + #include "source_base/timer.h" #include "operator_lcao.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 20251107 namespace hamilt { @@ -22,11 +24,13 @@ class OperatorDFTU> : public OperatorLCAO public: OperatorDFTU>(HS_Matrix_K* hsk_in, const std::vector>& kvec_d_in, - hamilt::HContainer* hR_in, - const std::vector& isk_in) + hamilt::HContainer* hR_in, + Plus_U* dftu_in, // mohan add 2025-11-05 + const std::vector& isk_in) : isk(isk_in), OperatorLCAO(hsk_in, kvec_d_in, hR_in) { this->cal_type = calculation_type::lcao_dftu; + this->dftu = dftu_in; // mohan add 2025-11-07 } virtual void contributeHR() override; @@ -35,9 +39,11 @@ class OperatorDFTU> : public OperatorLCAO private: + Plus_U *dftu; // mohan add 20251107 + bool HR_fixed_done = false; const std::vector& isk; }; } // namespace hamilt -#endif \ No newline at end of file +#endif diff --git a/source/source_lcao/module_operator_lcao/operator_lcao.cpp b/source/source_lcao/module_operator_lcao/operator_lcao.cpp index a7e47450fe..09c63faefb 100644 --- a/source/source_lcao/module_operator_lcao/operator_lcao.cpp +++ b/source/source_lcao/module_operator_lcao/operator_lcao.cpp @@ -31,6 +31,8 @@ void OperatorLCAO::get_hs_pointers() { const int inc = 1; BlasConnector::copy(this->hsk->get_size(), this->hsk->get_sk(), inc, this->smatrix_k, inc); #ifdef __ELPA + // DecomposedState may be changed after diagnolization, with smatrix_k changed too + // for example, when DecomposedState equals 1, smatrix_k is an identity matrix, different from the original this->hsk->get_sk() hsolver::DiagoElpa::DecomposedState = 0; hsolver::DiagoElpaNative::DecomposedState = 0; #endif @@ -96,7 +98,7 @@ void OperatorLCAO::init(const int ik_in) { // cal_type=lcao_overlap refer to overlap matrix operators, which are // only rely on stucture, and not changed during SCF - if (!this->hr_done) { + { // update SR first // in cal_type=lcao_overlap, SR should be updated by each sub-chain // nodes @@ -226,7 +228,7 @@ void OperatorLCAO::init(const int ik_in) { != nullptr) { // it is not the last node, loop next init() function // pass HR status to next node and than set HR status of this node to // done - if (!this->hr_done) { + { dynamic_cast*>(this->next_op)->hr_done = this->hr_done; } diff --git a/source/source_lcao/module_operator_lcao/td_ekinetic_lcao.cpp b/source/source_lcao/module_operator_lcao/td_ekinetic_lcao.cpp index e81aafade2..6ee51ad779 100644 --- a/source/source_lcao/module_operator_lcao/td_ekinetic_lcao.cpp +++ b/source/source_lcao/module_operator_lcao/td_ekinetic_lcao.cpp @@ -375,11 +375,8 @@ void TDEkinetic>::contributeHk(int ik) { for (int spin_now = 0; spin_now < spin_tot; spin_now++) { - sparse_format::cal_HContainer_cd(*(paraV), - spin_now, - 1e-10, - *hR_tmp, - TD_info::td_vel_op->HR_sparse_td_vel[spin_now]); + sparse_format::cal_HContainer>( + *(paraV), 1e-10, *hR_tmp, TD_info::td_vel_op->HR_sparse_td_vel[spin_now]); } output_hR_done = true; } diff --git a/source/source_lcao/module_operator_lcao/td_nonlocal_lcao.cpp b/source/source_lcao/module_operator_lcao/td_nonlocal_lcao.cpp index a5eba57688..6f39ad039f 100644 --- a/source/source_lcao/module_operator_lcao/td_nonlocal_lcao.cpp +++ b/source/source_lcao/module_operator_lcao/td_nonlocal_lcao.cpp @@ -1,16 +1,21 @@ #include "td_nonlocal_lcao.h" -#include "source_io/module_parameter/parameter.h" #include "source_base/timer.h" #include "source_base/tool_title.h" #include "source_cell/module_neighbor/sltk_grid_driver.h" -#include "source_lcao/module_operator_lcao/operator_lcao.h" +#include "source_io/module_parameter/parameter.h" #include "source_lcao/module_hcontainer/hcontainer_funcs.h" +#include "source_lcao/module_operator_lcao/operator_lcao.h" #include "source_lcao/module_rt/snap_psibeta_half_tddft.h" +#ifdef __CUDA +#include "source_base/module_device/device.h" +#include "source_lcao/module_rt/kernels/snap_psibeta_gpu.h" +#endif + #include "source_pw/module_pwdft/global.h" #ifdef _OPENMP -#include #include +#include #endif template @@ -127,6 +132,27 @@ void hamilt::TDNonlocal>::calculate_HR() ModuleBase::TITLE("TDNonlocal", "calculate_HR"); ModuleBase::timer::tick("TDNonlocal", "calculate_HR"); + // Determine whether to use GPU path: + // GPU is only used when both __CUDA is defined AND device is set to "gpu" +#ifdef __CUDA + const bool use_gpu = (PARAM.inp.device == "gpu"); +#else + const bool use_gpu = false; +#endif + + // Initialize GPU resources if using GPU + if (use_gpu) + { +#ifdef __CUDA + // Use set_device_by_rank for multi-GPU support + int dev_id = 0; +#ifdef __MPI + dev_id = base_device::information::set_device_by_rank(MPI_COMM_WORLD); +#endif + module_rt::gpu::initialize_gpu_resources(); +#endif + } + const Parallel_Orbitals* paraV = this->hR_tmp->get_atom_pair(0).get_paraV(); const int npol = this->ucell->get_npol(); const int nlm_dim = TD_info::out_current ? 4 : 1; @@ -145,9 +171,27 @@ void hamilt::TDNonlocal>::calculate_HR() nlm_tot[i].resize(nlm_dim); } - #pragma omp parallel + if (use_gpu) { - #pragma omp for schedule(dynamic) +#ifdef __CUDA + // GPU path: Atom-level GPU batch processing + module_rt::gpu::snap_psibeta_atom_batch_gpu(orb_, + this->ucell->infoNL, + T0, + tau0 * this->ucell->lat0, + cart_At, + adjs, + this->ucell, + paraV, + npol, + nlm_dim, + nlm_tot); +#endif + } + else + { + // CPU path: OpenMP parallel over neighbors to compute nlm_tot +#pragma omp parallel for schedule(dynamic) for (int ad = 0; ad < adjs.adj_num + 1; ++ad) { const int T1 = adjs.ntype[ad]; @@ -160,35 +204,36 @@ void hamilt::TDNonlocal>::calculate_HR() all_indexes.insert(all_indexes.end(), col_indexes.begin(), col_indexes.end()); std::sort(all_indexes.begin(), all_indexes.end()); all_indexes.erase(std::unique(all_indexes.begin(), all_indexes.end()), all_indexes.end()); - for (int iw1l = 0; iw1l < all_indexes.size(); iw1l += npol) + + // CPU path: loop over orbitals + for (size_t iw1l = 0; iw1l < all_indexes.size(); iw1l += npol) { const int iw1 = all_indexes[iw1l] / npol; std::vector>> nlm; - // nlm is a vector of vectors, but size of outer vector is only 1 when out_current is false - // and size of outer vector is 4 when out_current is true (3 for , 1 for - // ) inner loop : all projectors (L0,M0) - - // snap_psibeta_half_tddft() are used to calculate - // and as well if current are needed module_rt::snap_psibeta_half_tddft(orb_, - this->ucell->infoNL, - nlm, - tau1 * this->ucell->lat0, - T1, - atom1->iw2l[iw1], - atom1->iw2m[iw1], - atom1->iw2n[iw1], - tau0 * this->ucell->lat0, - T0, - cart_At, - TD_info::out_current); + this->ucell->infoNL, + nlm, + tau1 * this->ucell->lat0, + T1, + atom1->iw2l[iw1], + atom1->iw2m[iw1], + atom1->iw2n[iw1], + tau0 * this->ucell->lat0, + T0, + cart_At, + TD_info::out_current); for (int dir = 0; dir < nlm_dim; dir++) { nlm_tot[ad][dir].insert({all_indexes[iw1l], nlm[dir]}); } } } + } + // 2. calculate D for each pair of atoms + // This runs for BOTH GPU and CPU paths +#pragma omp parallel + { #ifdef _OPENMP // record the iat number of the adjacent atoms std::set ad_atom_set; @@ -205,7 +250,7 @@ void hamilt::TDNonlocal>::calculate_HR() const int thread_id = omp_get_thread_num(); std::set ad_atom_set_thread; int i = 0; - for(const auto iat1 : ad_atom_set) + for (const auto iat1: ad_atom_set) { if (i % num_threads == thread_id) { @@ -215,7 +260,6 @@ void hamilt::TDNonlocal>::calculate_HR() } #endif - // 2. calculate D for each pair of atoms for (int ad1 = 0; ad1 < adjs.adj_num + 1; ++ad1) { const int T1 = adjs.ntype[ad1]; @@ -228,7 +272,7 @@ void hamilt::TDNonlocal>::calculate_HR() continue; } #endif - + const ModuleBase::Vector3& R_index1 = adjs.box[ad1]; for (int ad2 = 0; ad2 < adjs.adj_num + 1; ++ad2) { @@ -247,9 +291,9 @@ void hamilt::TDNonlocal>::calculate_HR() if (TD_info::out_current) { std::complex* tmp_c[3] = {nullptr, nullptr, nullptr}; - for (int i = 0; i < 3; i++) + for (int ii = 0; ii < 3; ii++) { - tmp_c[i] = TD_info::td_vel_op->get_current_term_pointer(i) + tmp_c[ii] = TD_info::td_vel_op->get_current_term_pointer(ii) ->find_matrix(iat1, iat2, R_vector[0], R_vector[1], R_vector[2]) ->get_pointer(); } @@ -276,13 +320,13 @@ void hamilt::TDNonlocal>::calculate_HR() } } } - } - } - + } // end omp parallel for matrix assembly + } // end for iat0 ModuleBase::timer::tick("TDNonlocal", "calculate_HR"); } // cal_HR_IJR() + template void hamilt::TDNonlocal>::cal_HR_IJR( const int& iat1, @@ -396,7 +440,6 @@ void hamilt::TDNonlocal>::set_HR_fixed(void* hR_tmp this->allocated = false; } - // contributeHR() template void hamilt::TDNonlocal>::contributeHR() @@ -436,7 +479,6 @@ void hamilt::TDNonlocal>::contributeHR() return; } - template void hamilt::TDNonlocal>::contributeHk(int ik) { diff --git a/source/source_lcao/module_operator_lcao/test/CMakeLists.txt b/source/source_lcao/module_operator_lcao/test/CMakeLists.txt index e39a3dac19..7d48538c5c 100644 --- a/source/source_lcao/module_operator_lcao/test/CMakeLists.txt +++ b/source/source_lcao/module_operator_lcao/test/CMakeLists.txt @@ -9,8 +9,8 @@ AddTest( ../../../source_basis/module_ao/parallel_orbitals.cpp ../../../source_basis/module_ao/ORB_atomic_lm.cpp tmp_mocks.cpp ../../../source_hamilt/operator.cpp - ../../../source_lcao/module_rt/td_info.cpp - ../../../source_lcao/module_rt/td_folding.cpp + ../../module_rt/td_info.cpp + ../../module_rt/td_folding.cpp ../../../source_estate/module_pot/H_TDDFT_pw.cpp ) @@ -22,8 +22,8 @@ AddTest( ../../../source_basis/module_ao/parallel_orbitals.cpp ../../../source_basis/module_ao/ORB_atomic_lm.cpp tmp_mocks.cpp ../../../source_hamilt/operator.cpp - ../../../source_lcao/module_rt/td_info.cpp - ../../../source_lcao/module_rt/td_folding.cpp + ../../module_rt/td_info.cpp + ../../module_rt/td_folding.cpp ../../../source_estate/module_pot/H_TDDFT_pw.cpp ) diff --git a/source/source_lcao/module_operator_lcao/test/test_dftu.cpp b/source/source_lcao/module_operator_lcao/test/test_dftu.cpp index 12be312278..31adb426ad 100644 --- a/source/source_lcao/module_operator_lcao/test/test_dftu.cpp +++ b/source/source_lcao/module_operator_lcao/test/test_dftu.cpp @@ -7,23 +7,27 @@ #undef private #include "../dftu_lcao.h" #include "source_lcao/module_dftu/dftu.h" -ModuleDFTU::DFTU::DFTU(){}; -ModuleDFTU::DFTU::~DFTU(){}; -namespace GlobalC -{ -ModuleDFTU::DFTU dftu; -} + +Plus_U::Plus_U(){}; +Plus_U::~Plus_U(){}; + +Plus_U dftu; +double Plus_U::energy_u = 0.0; +std::vector Plus_U::U = {}; // U (Hubbard parameter U) +std::vector Plus_U::orbital_corr = {}; + const hamilt::HContainer* tmp_DMR; -const hamilt::HContainer* ModuleDFTU::DFTU::get_dmr(int ispin) const + +const hamilt::HContainer* Plus_U::get_dmr(int ispin) const { return tmp_DMR; } //--------------------------------------- -// Unit test of DFTU class -// DFTU is a derivative class of Operator, it is used to calculate the kinetic matrix +// Unit test of Plus_U class +// Plus_U is a derivative class of Operator, it is used to calculate the kinetic matrix // It use HContainer to store the real space HR matrix -// In this test, we test the correctness and time consuming of 3 functions in DFTU class +// In this test, we test the correctness and time consuming of 3 functions in Plus_U class // - initialize_HR() called in constructor // - contributeHR() // - contributeHk() @@ -35,6 +39,7 @@ const hamilt::HContainer* ModuleDFTU::DFTU::get_dmr(int ispin) const // modify test_size to test different size of unitcell int test_size = 10; int test_nw = 10; // please larger than 5 + class DFTUTest : public ::testing::Test { protected: @@ -82,20 +87,20 @@ class DFTUTest : public ::testing::Test tmp_DMR = DMR; // setting of DFTU - GlobalC::dftu.locale.resize(test_size); + dftu.locale.resize(test_size); for (int iat = 0; iat < test_size; iat++) { - GlobalC::dftu.locale[iat].resize(3); + dftu.locale[iat].resize(3); for (int l = 0; l < 3; l++) { - GlobalC::dftu.locale[iat][l].resize(1); - GlobalC::dftu.locale[iat][l][0].resize(2); - GlobalC::dftu.locale[iat][l][0][0].create(2 * l + 1, 2 * l + 1); - GlobalC::dftu.locale[iat][l][0][1].create(2 * l + 1, 2 * l + 1); + dftu.locale[iat][l].resize(1); + dftu.locale[iat][l][0].resize(2); + dftu.locale[iat][l][0][0].create(2 * l + 1, 2 * l + 1); + dftu.locale[iat][l][0][1].create(2 * l + 1, 2 * l + 1); } } - GlobalC::dftu.U = {U_test}; - GlobalC::dftu.orbital_corr = {orbital_c_test}; + Plus_U::U = {U_test}; + Plus_U::orbital_corr = {orbital_c_test}; PARAM.input.onsite_radius = 1.0; } @@ -155,7 +160,7 @@ TEST_F(DFTUTest, constructHRd2d) } std::chrono::high_resolution_clock::time_point start_time = std::chrono::high_resolution_clock::now(); hamilt::DFTU> - op(&hsk, kvec_d_in, HR, ucell, &gd, &intor_, {1.0}, &GlobalC::dftu); + op(&hsk, kvec_d_in, HR, ucell, &gd, &intor_, {1.0}, &dftu); std::chrono::high_resolution_clock::time_point end_time = std::chrono::high_resolution_clock::now(); std::chrono::duration elapsed_time = std::chrono::duration_cast>(end_time - start_time); @@ -169,7 +174,7 @@ TEST_F(DFTUTest, constructHRd2d) { for (int icc = 0; icc < 25; icc++) { - EXPECT_NEAR(GlobalC::dftu.locale[iat][2][0][0].c[icc], 0.5, 1e-10); + EXPECT_NEAR(dftu.locale[iat][2][0][0].c[icc], 0.5, 1e-10); } } // check the value of HR @@ -220,14 +225,14 @@ TEST_F(DFTUTest, constructHRd2cd) HR->get_wrapper()[i] = 0.0; } hamilt::DFTU, double>> - op(&hsk, kvec_d_in, HR, ucell, &gd, &intor_, {1.0}, &GlobalC::dftu); + op(&hsk, kvec_d_in, HR, ucell, &gd, &intor_, {1.0}, &dftu); op.contributeHR(); // check the occupations of dftu for spin-up for (int iat = 0; iat < test_size; iat++) { for (int icc = 0; icc < 25; icc++) { - EXPECT_NEAR(GlobalC::dftu.locale[iat][2][0][0].c[icc], 0.5, 1e-10); + EXPECT_NEAR(dftu.locale[iat][2][0][0].c[icc], 0.5, 1e-10); } } // check the value of HR @@ -260,7 +265,7 @@ TEST_F(DFTUTest, constructHRd2cd) { for (int icc = 0; icc < 25; icc++) { - EXPECT_NEAR(GlobalC::dftu.locale[iat][2][0][1].c[icc], 0.5, 1e-10); + EXPECT_NEAR(dftu.locale[iat][2][0][1].c[icc], 0.5, 1e-10); } } } diff --git a/source/source_lcao/module_operator_lcao/test/tmp_mocks.cpp b/source/source_lcao/module_operator_lcao/test/tmp_mocks.cpp index 4ea19a1fe8..35c319cc8d 100644 --- a/source/source_lcao/module_operator_lcao/test/tmp_mocks.cpp +++ b/source/source_lcao/module_operator_lcao/test/tmp_mocks.cpp @@ -20,6 +20,10 @@ pseudo::~pseudo() {} // constructor of UnitCell UnitCell::UnitCell() {} UnitCell::~UnitCell() {} +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} void UnitCell::set_iat2iwt(const int& npol_in) { this->iat2iwt.resize(this->nat); diff --git a/source/source_lcao/module_operator_lcao/veff_lcao.cpp b/source/source_lcao/module_operator_lcao/veff_lcao.cpp index 576d9c3a5b..f664844544 100644 --- a/source/source_lcao/module_operator_lcao/veff_lcao.cpp +++ b/source/source_lcao/module_operator_lcao/veff_lcao.cpp @@ -4,7 +4,7 @@ #include "source_base/tool_title.h" #include "source_hamilt/module_xc/xc_functional.h" #include "source_cell/unitcell.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" +#include "source_lcao/module_gint/gint_interface.h" namespace hamilt { @@ -65,23 +65,9 @@ void Veff>::contributeHR() //(1) prepare data for this k point. // copy the local potential from array. //----------------------------------------- - double* vr_eff1 = this->pot->get_effective_v(this->current_spin); - double* vofk_eff1 = this->pot->get_effective_vofk(this->current_spin); + double* vr_eff1 = this->pot->get_eff_v(this->current_spin); + double* vofk_eff1 = this->pot->get_eff_vofk(this->current_spin); -#ifdef __OLD_GINT - if(XC_Functional::get_ked_flag()) - { - Gint_inout inout(vr_eff1, vofk_eff1, Gint_Tools::job_type::vlocal_meta); - this->GG->cal_vlocal(&inout, this->new_e_iteration); - } - else - { - Gint_inout inout(vr_eff1, Gint_Tools::job_type::vlocal); - this->GG->cal_vlocal(&inout, this->new_e_iteration); - } - this->GG->transfer_pvpR(this->hR,this->ucell); - this->new_e_iteration = false; -#else if(XC_Functional::get_ked_flag()) { ModuleGint::cal_gint_vl_metagga(vr_eff1, vofk_eff1, this->hR); @@ -90,7 +76,6 @@ void Veff>::contributeHR() { ModuleGint::cal_gint_vl(vr_eff1, this->hR); } -#endif if(this->nspin == 2) { @@ -110,26 +95,9 @@ void Veff, double>>::contributeHR() //(1) prepare data for this k point. // copy the local potential from array. //----------------------------------------- - double* vr_eff1 = this->pot->get_effective_v(this->current_spin); - double* vofk_eff1 = this->pot->get_effective_vofk(this->current_spin); - -#ifdef __OLD_GINT - // if you change the place of the following code, - // rememeber to delete the #include - if(XC_Functional::get_ked_flag()) - { - Gint_inout inout(vr_eff1, vofk_eff1, 0, Gint_Tools::job_type::vlocal_meta); - this->GK->cal_gint(&inout); - } - else - { - // vlocal = Vh[rho] + Vxc[rho] + Vl(pseudo) - Gint_inout inout(vr_eff1, 0, Gint_Tools::job_type::vlocal); - this->GK->cal_gint(&inout); - } + double* vr_eff1 = this->pot->get_eff_v(this->current_spin); + double* vofk_eff1 = this->pot->get_eff_vofk(this->current_spin); - this->GK->transfer_pvpR(this->hR,this->ucell,this->gd); -#else if(XC_Functional::get_ked_flag()) { ModuleGint::cal_gint_vl_metagga(vr_eff1, vofk_eff1, this->hR); @@ -138,7 +106,6 @@ void Veff, double>>::contributeHR() { ModuleGint::cal_gint_vl(vr_eff1, this->hR); } -#endif if(this->nspin == 2) { @@ -155,48 +122,24 @@ void Veff, std::complex>>::contributeH ModuleBase::TITLE("Veff", "contributeHR"); ModuleBase::timer::tick("Veff", "contributeHR"); -#ifdef __OLD_GINT - double* vr_eff1 = nullptr; - double* vofk_eff1 = nullptr; - for (int is = 0; is < 4; is++) - { - vr_eff1 = this->pot->get_effective_v(is); - if(XC_Functional::get_ked_flag()) - { - vofk_eff1 = this->pot->get_effective_vofk(is); - } - - if(XC_Functional::get_ked_flag()) - { - Gint_inout inout(vr_eff1, vofk_eff1, is, Gint_Tools::job_type::vlocal_meta); - this->GK->cal_gint(&inout); - } - else - { - Gint_inout inout(vr_eff1, is, Gint_Tools::job_type::vlocal); - this->GK->cal_gint(&inout); - } - } - this->GK->transfer_pvpR(this->hR,this->ucell,this->gd); -#else std::vector vr_eff(4, nullptr); std::vector vofk_eff(4, nullptr); for (int is = 0; is < 4; is++) { - vr_eff[is] = this->pot->get_effective_v(is); + vr_eff[is] = this->pot->get_eff_v(is); if(XC_Functional::get_ked_flag()) { - vofk_eff[is] = this->pot->get_effective_vofk(is); + vofk_eff[is] = this->pot->get_eff_vofk(is); } } if(XC_Functional::get_ked_flag()) { ModuleGint::cal_gint_vl_metagga(vr_eff, vofk_eff, this->hR); - } else + } + else { ModuleGint::cal_gint_vl(vr_eff, this->hR); } -#endif ModuleBase::timer::tick("Veff", "contributeHR"); return; @@ -208,4 +151,4 @@ template class Veff>; template class Veff, double>>; template class Veff, std::complex>>; -} \ No newline at end of file +} diff --git a/source/source_lcao/module_operator_lcao/veff_lcao.h b/source/source_lcao/module_operator_lcao/veff_lcao.h index a621f71fc6..8ec1265a00 100644 --- a/source/source_lcao/module_operator_lcao/veff_lcao.h +++ b/source/source_lcao/module_operator_lcao/veff_lcao.h @@ -2,8 +2,6 @@ #define VEFFLCAO_H #include "source_base/timer.h" #include "source_estate/module_pot/potential_new.h" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" #include "operator_lcao.h" #include "source_cell/module_neighbor/sltk_grid_driver.h" #include "source_cell/unitcell.h" @@ -32,11 +30,9 @@ class Veff> : public OperatorLCAO { public: /** - * @brief Construct a new Veff object for multi-kpoint calculation - * @param GK_in: the pointer of Gint_k object, used for grid integration + * @brief Construct a new Veff object */ - Veff>(Gint_k* GK_in, - HS_Matrix_K* hsk_in, + Veff>(HS_Matrix_K* hsk_in, const std::vector>& kvec_d_in, elecstate::Potential* pot_in, hamilt::HContainer* hR_in, @@ -44,36 +40,12 @@ class Veff> : public OperatorLCAO const std::vector& orb_cutoff, const Grid_Driver* GridD_in, const int& nspin) - : GK(GK_in), orb_cutoff_(orb_cutoff), pot(pot_in), ucell(ucell_in), + : orb_cutoff_(orb_cutoff), pot(pot_in), ucell(ucell_in), gd(GridD_in), OperatorLCAO(hsk_in, kvec_d_in, hR_in) { this->cal_type = calculation_type::lcao_gint; this->initialize_HR(ucell_in, GridD_in); -#ifdef __OLD_GINT - GK_in->initialize_pvpR(*ucell_in, GridD_in, nspin); -#endif - } - /** - * @brief Construct a new Veff object for Gamma-only calculation - * @param GG_in: the pointer of Gint_Gamma object, used for grid integration - */ - Veff>(Gint_Gamma* GG_in, - HS_Matrix_K* hsk_in, - const std::vector>& kvec_d_in, - elecstate::Potential* pot_in, - hamilt::HContainer* hR_in, - const UnitCell* ucell_in, - const std::vector& orb_cutoff, - const Grid_Driver* GridD_in, - const int& nspin) - : GG(GG_in), orb_cutoff_(orb_cutoff), pot(pot_in), OperatorLCAO(hsk_in, kvec_d_in, hR_in) - { - this->cal_type = calculation_type::lcao_gint; - this->initialize_HR(ucell_in, GridD_in); -#ifdef __OLD_GINT - GG_in->initialize_pvpR(*ucell_in, GridD_in, nspin); -#endif } ~Veff>(){}; @@ -90,11 +62,6 @@ class Veff> : public OperatorLCAO const Grid_Driver* gd; private: - // used for k-dependent grid integration. - Gint_k* GK = nullptr; - - // used for gamma only algorithms. - Gint_Gamma* GG = nullptr; std::vector orb_cutoff_; diff --git a/source/source_lcao/module_rdmft/rdmft.cpp b/source/source_lcao/module_rdmft/rdmft.cpp index 837128fcf9..34549fb671 100644 --- a/source/source_lcao/module_rdmft/rdmft.cpp +++ b/source/source_lcao/module_rdmft/rdmft.cpp @@ -55,9 +55,7 @@ RDMFT::~RDMFT() } template -void RDMFT::init(Gint_Gamma& GG_in, - Gint_k& GK_in, - Parallel_Orbitals& ParaV_in, +void RDMFT::init(Parallel_Orbitals& ParaV_in, UnitCell& ucell_in, const Grid_Driver& gd_in, K_Vectors& kv_in, @@ -67,8 +65,6 @@ void RDMFT::init(Gint_Gamma& GG_in, std::string XC_func_rdmft_in, double alpha_power_in) { - GG = &GG_in; - GK = &GK_in; ParaV = &ParaV_in; ucell = &ucell_in; kv = &kv_in; diff --git a/source/source_lcao/module_rdmft/rdmft.h b/source/source_lcao/module_rdmft/rdmft.h index a8bf7ea97e..0e6b532d6e 100644 --- a/source/source_lcao/module_rdmft/rdmft.h +++ b/source/source_lcao/module_rdmft/rdmft.h @@ -13,8 +13,6 @@ #include "source_base/parallel_2d.h" #include "source_basis/module_ao/parallel_orbitals.h" #include "source_cell/unitcell.h" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" #include "source_basis/module_ao/ORB_read.h" #include "source_basis/module_nao/two_center_bundle.h" @@ -80,9 +78,7 @@ class RDMFT // std::vector E_RDMFT(4); //! initialization of rdmft calculation - void init(Gint_Gamma& GG_in, - Gint_k& GK_in, - Parallel_Orbitals& ParaV_in, + void init(Parallel_Orbitals& ParaV_in, UnitCell& ucell_in, const Grid_Driver& gd_in, K_Vectors& kv_in, @@ -190,9 +186,6 @@ class RDMFT const int cal_E_type = 1; // cal_type = 2 just support XC-functional without exx /****** these parameters are passed in from outside, don't need delete ******/ - // GK and GG are used for multi-k grid integration and gamma only algorithms respectively - Gint_k* GK = nullptr; - Gint_Gamma* GG = nullptr; Charge* charge = nullptr; // update after ion step diff --git a/source/source_lcao/module_rdmft/rdmft_pot.cpp b/source/source_lcao/module_rdmft/rdmft_pot.cpp index ba29d9ebc6..a962c2cac1 100644 --- a/source/source_lcao/module_rdmft/rdmft_pot.cpp +++ b/source/source_lcao/module_rdmft/rdmft_pot.cpp @@ -69,8 +69,7 @@ void RDMFT::cal_V_TV() if( PARAM.inp.gamma_only ) { - V_local = new rdmft::Veff_rdmft(GG, - hsk_TV, + V_local = new rdmft::Veff_rdmft(hsk_TV, kv->kvec_d, this->pelec->pot, HR_TV, @@ -86,8 +85,7 @@ void RDMFT::cal_V_TV() } else { - V_local = new rdmft::Veff_rdmft(GK, - hsk_TV, + V_local = new rdmft::Veff_rdmft(hsk_TV, kv->kvec_d, this->pelec->pot, HR_TV, @@ -117,8 +115,7 @@ void RDMFT::cal_V_hartree() if( PARAM.inp.gamma_only ) { - V_hartree = new rdmft::Veff_rdmft(GG, - hsk_hartree, + V_hartree = new rdmft::Veff_rdmft(hsk_hartree, kv->kvec_d, this->pelec->pot, HR_hartree, @@ -135,8 +132,7 @@ void RDMFT::cal_V_hartree() else { // this can be optimized, use potHartree.update_from_charge() - V_hartree = new rdmft::Veff_rdmft(GK, - hsk_hartree, + V_hartree = new rdmft::Veff_rdmft(hsk_hartree, kv->kvec_d, this->pelec->pot, HR_hartree, @@ -197,8 +193,7 @@ void RDMFT::cal_V_XC(const UnitCell& ucell) if( PARAM.inp.gamma_only ) { // this can be optimized, use potXC.update_from_charge() - V_dft_XC = new rdmft::Veff_rdmft(GG, - hsk_dft_XC, + V_dft_XC = new rdmft::Veff_rdmft(hsk_dft_XC, kv->kvec_d, this->pelec->pot, HR_dft_XC, @@ -217,8 +212,7 @@ void RDMFT::cal_V_XC(const UnitCell& ucell) else { // this can be optimized, use potXC.update_from_charge() - V_dft_XC = new rdmft::Veff_rdmft(GK, - hsk_dft_XC, + V_dft_XC = new rdmft::Veff_rdmft(hsk_dft_XC, kv->kvec_d, this->pelec->pot, HR_dft_XC, diff --git a/source/source_lcao/module_rdmft/rdmft_tools.cpp b/source/source_lcao/module_rdmft/rdmft_tools.cpp index 32c22dfef2..ffc08c431a 100644 --- a/source/source_lcao/module_rdmft/rdmft_tools.cpp +++ b/source/source_lcao/module_rdmft/rdmft_tools.cpp @@ -12,7 +12,7 @@ #include "source_estate/module_pot/pot_local.h" #include "source_estate/module_pot/pot_xc.h" #include "source_pw/module_pwdft/structure_factor.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" +#include "source_lcao/module_gint/gint_interface.h" #include #include @@ -44,8 +44,8 @@ void HkPsi(const Parallel_Orbitals* ParaV, const int nbands = ParaV->desc_wfc[3]; //because wfc(bands, basis'), H(basis, basis'), we do wfc*H^T(in the perspective of cpp, not in fortran). And get H_wfc(bands, basis) is correct. - pdgemm_( &C_char, &N_char, &nbasis, &nbands, &nbasis, &one_double, &HK, &one_int, &one_int, ParaV->desc, - &wfc, &one_int, &one_int, ParaV->desc_wfc, &zero_double, &H_wfc, &one_int, &one_int, ParaV->desc_wfc ); + ScalapackConnector::gemm( C_char, N_char, nbasis, nbands, nbasis, one_double, &HK, 1, 1, ParaV->desc, + &wfc, 1, 1, ParaV->desc_wfc, zero_double, &H_wfc, 1, 1, ParaV->desc_wfc ); #endif } @@ -71,8 +71,8 @@ void cal_bra_op_ket(const Parallel_Orbitals* ParaV, const int nbasis = ParaV->desc[2]; const int nbands = ParaV->desc_wfc[3]; - pdgemm_( &T_char, &N_char, &nbands, &nbands, &nbasis, &one_double, &wfc, &one_int, &one_int, ParaV->desc_wfc, - &H_wfc, &one_int, &one_int, ParaV->desc_wfc, &zero_double, &Dmn[0], &one_int, &one_int, para_Eij_in.desc ); + ScalapackConnector::gemm( T_char, N_char, nbands, nbands, nbasis, one_double, &wfc, 1, 1, ParaV->desc_wfc, + &H_wfc, 1, 1, ParaV->desc_wfc, zero_double, &Dmn[0], 1, 1, para_Eij_in.desc ); #endif } @@ -186,13 +186,6 @@ double occNum_func(const double eta, const int symbol, const std::string XC_func } - -template class Veff_rdmft; - -template class Veff_rdmft, double>; - -template class Veff_rdmft, std::complex>; - // this part of the code is copying from class Veff // initialize_HR() template @@ -266,12 +259,7 @@ void Veff_rdmft, double>::contributeHR() vr_eff_rdmft = &v_matrix_hartree(is, 0); // do grid integral calculation to get HR -#ifdef __OLD_GINT - Gint_inout inout(vr_eff_rdmft, is, Gint_Tools::job_type::vlocal); - this->GK->cal_gint(&inout); -#else ModuleGint::cal_gint_vl(vr_eff_rdmft, this->hR); -#endif } } else if( potential_ == "local" ) @@ -285,12 +273,7 @@ void Veff_rdmft, double>::contributeHR() vr_eff_rdmft = &v_matrix_local(0, 0); // do grid integral calculation to get HR -#ifdef __OLD_GINT - Gint_inout inout(vr_eff_rdmft, 0, Gint_Tools::job_type::vlocal); - this->GK->cal_gint(&inout); -#else ModuleGint::cal_gint_vl(vr_eff_rdmft, this->hR); -#endif } else if( potential_ == "xc" ) { @@ -309,12 +292,7 @@ void Veff_rdmft, double>::contributeHR() vr_eff_rdmft = &v_matrix_XC(is, 0); // do grid integral calculation to get HR -#ifdef __OLD_GINT - Gint_inout inout(vr_eff_rdmft, is, Gint_Tools::job_type::vlocal); - this->GK->cal_gint(&inout); -#else ModuleGint::cal_gint_vl(vr_eff_rdmft, this->hR); -#endif } } else @@ -323,10 +301,6 @@ void Veff_rdmft, double>::contributeHR() } // get HR for 2D-block parallel format - // this->GK->transfer_pvpR(this->hR); -#ifdef __OLD_GINT - this->GK->transfer_pvpR(this->hR,this->ucell,this->gd); -#endif if(this->nspin == 2) { @@ -351,7 +325,6 @@ void Veff_rdmft::contributeHR() ModuleBase::TITLE("Veff", "contributeHR"); ModuleBase::timer::tick("Veff", "contributeHR"); - // this->GK->reset_spin(this->current_spin); double* vr_eff_rdmft = nullptr; @@ -368,12 +341,7 @@ void Veff_rdmft::contributeHR() vr_eff_rdmft = &v_matrix_hartree(is, 0); // do grid integral calculation to get HR -#ifdef __OLD_GINT - Gint_inout inout(vr_eff_rdmft, is, Gint_Tools::job_type::vlocal); - this->GG->cal_gint(&inout); -#else ModuleGint::cal_gint_vl(vr_eff_rdmft, this->hR); -#endif } } else if( potential_ == "local" ) @@ -387,16 +355,7 @@ void Veff_rdmft::contributeHR() vr_eff_rdmft = &v_matrix_local(0, 0); // do grid integral calculation to get HR -#ifdef __OLD_GINT - Gint_inout inout(vr_eff_rdmft, 0, Gint_Tools::job_type::vlocal); - - // because in gamma_only, cal_gint would not set hRGint zero first - // so must use cal_vlocal(), and in rdmft_test.h, calculate V_hartree->contributeHR() first - - this->GG->cal_vlocal(&inout, false); // cal_gint ??? -#else ModuleGint::cal_gint_vl(vr_eff_rdmft, this->hR); -#endif } else if( potential_ == "xc" ) { @@ -414,12 +373,7 @@ void Veff_rdmft::contributeHR() vr_eff_rdmft = &v_matrix_XC(is, 0); // do grid integral calculation to get HR -#ifdef __OLD_GINT - Gint_inout inout(vr_eff_rdmft, is, Gint_Tools::job_type::vlocal); - this->GG->cal_gint(&inout); -#else ModuleGint::cal_gint_vl(vr_eff_rdmft, this->hR); -#endif } } else @@ -427,10 +381,6 @@ void Veff_rdmft::contributeHR() std::cout << "\n\n!!!!!!\n there may be something wrong when use class Veff_rdmft\n\n!!!!!!\n"; } -#ifdef __OLD_GINT - // get HR for 2D-block parallel format - this->GG->transfer_pvpR(this->hR,this->ucell); -#endif this->new_e_iteration = false; if(this->nspin == 2) @@ -442,6 +392,10 @@ void Veff_rdmft::contributeHR() } } +template class rdmft::Veff_rdmft; + +template class rdmft::Veff_rdmft, double>; +template class rdmft::Veff_rdmft, std::complex>; diff --git a/source/source_lcao/module_rdmft/rdmft_tools.h b/source/source_lcao/module_rdmft/rdmft_tools.h index 7b1639f8e8..0a4e28f548 100644 --- a/source/source_lcao/module_rdmft/rdmft_tools.h +++ b/source/source_lcao/module_rdmft/rdmft_tools.h @@ -9,8 +9,6 @@ #include "source_base/matrix.h" #include "source_cell/module_neighbor/sltk_grid_driver.h" #include "source_cell/unitcell.h" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" #include "source_estate/module_pot/potential_new.h" #include "source_base/module_external/blas_connector.h" #include "source_base/module_external/scalapack_connector.h" @@ -79,8 +77,8 @@ void HkPsi(const Parallel_Orbitals* ParaV, const TK& HK, const TK& wfc, TK& H_wf const int nbands = ParaV->desc_wfc[3]; //because wfc(bands, basis'), H(basis, basis'), we do wfc*H^T(in the perspective of cpp, not in fortran). And get H_wfc(bands, basis) is correct. - pzgemm_( &C_char, &N_char, &nbasis, &nbands, &nbasis, &one_complex, &HK, &one_int, &one_int, ParaV->desc, - &wfc, &one_int, &one_int, ParaV->desc_wfc, &zero_complex, &H_wfc, &one_int, &one_int, ParaV->desc_wfc ); + ScalapackConnector::gemm( C_char, N_char, nbasis, nbands, nbasis, one_complex, &HK, one_int, one_int, ParaV->desc, + &wfc, one_int, one_int, ParaV->desc_wfc, zero_complex, &H_wfc, one_int, one_int, ParaV->desc_wfc ); #endif } @@ -106,8 +104,8 @@ void cal_bra_op_ket(const Parallel_Orbitals* ParaV, const Parallel_2D& para_Eij_ const int nbasis = ParaV->desc[2]; const int nbands = ParaV->desc_wfc[3]; - pzgemm_( &C_char, &N_char, &nbands, &nbands, &nbasis, &one_complex, &wfc, &one_int, &one_int, ParaV->desc_wfc, - &H_wfc, &one_int, &one_int, ParaV->desc_wfc, &zero_complex, &Dmn[0], &one_int, &one_int, para_Eij_in.desc ); + ScalapackConnector::gemm( C_char, N_char, nbands, nbands, nbasis, one_complex, &wfc, one_int, one_int, ParaV->desc_wfc, + &H_wfc, one_int, one_int, ParaV->desc_wfc, zero_complex, &Dmn[0], one_int, one_int, para_Eij_in.desc ); #endif } @@ -259,10 +257,8 @@ class Veff_rdmft : public hamilt::OperatorLCAO public: /** * @brief Construct a new Veff object for multi-kpoint calculation - * @param GK_in: the pointer of Gint_k object, used for grid integration */ - Veff_rdmft(Gint_k* GK_in, - hamilt::HS_Matrix_K* hsk_in, + Veff_rdmft(hamilt::HS_Matrix_K* hsk_in, const std::vector>& kvec_d_in, elecstate::Potential* pot_in, hamilt::HContainer* hR_in, @@ -277,45 +273,15 @@ class Veff_rdmft : public hamilt::OperatorLCAO const std::string potential_in, double* etxc_in = nullptr, double* vtxc_in = nullptr) - : GK(GK_in), orb_cutoff_(orb_cutoff), pot(pot_in), ucell(ucell_in), + : orb_cutoff_(orb_cutoff), pot(pot_in), ucell(ucell_in), gd(GridD_in), hamilt::OperatorLCAO(hsk_in, kvec_d_in, hR_in), charge_(charge_in), rho_basis_(rho_basis_in), vloc_(vloc_in), sf_(sf_in), potential_(potential_in), etxc(etxc_in), vtxc(vtxc_in) { this->cal_type = hamilt::calculation_type::lcao_gint; this->initialize_HR(ucell_in, GridD_in); -#ifdef __OLD_GINT - GK_in->initialize_pvpR(*ucell_in, GridD_in, nspin); -#endif } - Veff_rdmft(Gint_Gamma* GG_in, - hamilt::HS_Matrix_K* hsk_in, - const std::vector>& kvec_d_in, - elecstate::Potential* pot_in, - hamilt::HContainer* hR_in, - const UnitCell* ucell_in, - const std::vector& orb_cutoff, - const Grid_Driver* GridD_in, - const int& nspin, - const Charge* charge_in, - const ModulePW::PW_Basis* rho_basis_in, - const ModuleBase::matrix* vloc_in, - const ModuleBase::ComplexMatrix* sf_in, - const std::string potential_in, - double* etxc_in = nullptr, - double* vtxc_in = nullptr) - : GG(GG_in), orb_cutoff_(orb_cutoff), pot(pot_in), hamilt::OperatorLCAO(hsk_in, kvec_d_in, hR_in), - ucell(ucell_in), gd(GridD_in), charge_(charge_in), rho_basis_(rho_basis_in), vloc_(vloc_in), sf_(sf_in), - potential_(potential_in), etxc(etxc_in), vtxc(vtxc_in) - { - this->cal_type = hamilt::calculation_type::lcao_gint; - - this->initialize_HR(ucell_in, GridD_in); -#ifdef __OLD_GINT - GG_in->initialize_pvpR(*ucell_in, GridD_in, nspin); -#endif - } - + ~Veff_rdmft(){}; /** @@ -331,11 +297,6 @@ class Veff_rdmft : public hamilt::OperatorLCAO const Grid_Driver* gd; private: - // used for k-dependent grid integration. - Gint_k* GK = nullptr; - - // used for gamma only algorithms. - Gint_Gamma* GG = nullptr; std::vector orb_cutoff_; diff --git a/source/source_lcao/module_rdmft/update_state_rdmft.cpp b/source/source_lcao/module_rdmft/update_state_rdmft.cpp index 88a6761d1b..7a43c9be91 100644 --- a/source/source_lcao/module_rdmft/update_state_rdmft.cpp +++ b/source/source_lcao/module_rdmft/update_state_rdmft.cpp @@ -8,7 +8,7 @@ #include "source_estate/module_dm/cal_dm_psi.h" #include "source_estate/module_dm/density_matrix.h" #include "source_estate/module_charge/symmetry_rho.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" +#include "source_lcao/module_gint/gint_interface.h" namespace rdmft @@ -106,22 +106,10 @@ void RDMFT::update_charge(UnitCell& ucell) { ModuleBase::GlobalFunc::ZEROS(charge->rho[is], charge->nrxx); } -#ifdef __OLD_GINT - GG->transfer_DM2DtoGrid(DM_gamma_only.get_DMR_vector()); - Gint_inout inout(charge->rho, Gint_Tools::job_type::rho, nspin); - GG->cal_gint(&inout); -#else ModuleGint::cal_gint_rho(DM_gamma_only.get_DMR_vector(), nspin, charge->rho); -#endif if (XC_Functional::get_ked_flag()) { - // for (int is = 0; is < nspin; is++) - // { - // ModuleBase::GlobalFunc::ZEROS(charge->kin_r[is], charge->nrxx); - // } - // Gint_inout inout1(charge->kin_r, Gint_Tools::job_type::tau); - // GG->cal_gint(&inout1); this->pelec->cal_tau(wfc); } @@ -140,22 +128,10 @@ void RDMFT::update_charge(UnitCell& ucell) ModuleBase::GlobalFunc::ZEROS(charge->rho[is], charge->nrxx); } -#ifdef __OLD_GINT - GK->transfer_DM2DtoGrid(DM.get_DMR_vector()); - Gint_inout inout(charge->rho, Gint_Tools::job_type::rho, nspin); - GK->cal_gint(&inout); -#else ModuleGint::cal_gint_rho(DM.get_DMR_vector(), nspin, charge->rho); -#endif if (XC_Functional::get_ked_flag()) { - // for (int is = 0; is < nspin; is++) - // { - // ModuleBase::GlobalFunc::ZEROS(charge->kin_r[is], charge->nrxx); - // } - // Gint_inout inout1(charge->kin_r, Gint_Tools::job_type::tau); - // GK->cal_gint(&inout1); this->pelec->cal_tau(wfc); } diff --git a/source/source_lcao/module_ri/ABFs_Construct-PCA.cpp b/source/source_lcao/module_ri/ABFs_Construct-PCA.cpp index 9c944f77db..51019df1b0 100644 --- a/source/source_lcao/module_ri/ABFs_Construct-PCA.cpp +++ b/source/source_lcao/module_ri/ABFs_Construct-PCA.cpp @@ -1,9 +1,8 @@ #include "ABFs_Construct-PCA.h" -#include "exx_abfs-abfs_index.h" #include "../../source_base/module_external/lapack_connector.h" #include "../../source_base/global_function.h" -#include "../../source_base/element_basis_index.h" +#include "../../source_basis/module_ao/element_basis_index-ORB.h" #include "../../source_base/matrix.h" #include "../../source_lcao/module_ri/Matrix_Orbs11.h" #include "../../source_lcao/module_ri/Matrix_Orbs21.h" @@ -15,139 +14,209 @@ namespace ABFs_Construct { namespace PCA { - void tensor_dsyev(const char jobz, const char uplo, RI::Tensor & a, double*const w, int & info) +template <> +void tensor_syev(char jobz, char uplo, RI::Tensor& a, double* w, int& info) { - // reference: dsyev in lapack_connector.h (for ModuleBase::matrix) assert(a.shape.size() == 2); assert(a.shape[0] == a.shape[1]); - const int nr = a.shape[0]; - const int nc = a.shape[1]; - double work_tmp=0.0; + const int n = a.shape[0]; + const int lda = a.shape[1]; + + double work_query = 0.0; constexpr int minus_one = -1; - dsyev_(&jobz, &uplo, &nr, a.ptr(), &nc, w, &work_tmp, &minus_one, &info); // get best lwork - const int lwork = work_tmp; + dsyev_(&jobz, &uplo, &n, a.ptr(), &lda, w, &work_query, &minus_one, &info); + + const int lwork = static_cast(work_query); std::vector work(std::max(1, lwork)); - dsyev_(&jobz, &uplo, &nr, a.ptr(), &nc, w, work.data(), &lwork, &info); + + dsyev_(&jobz, &uplo, &n, a.ptr(), &lda, w, work.data(), &lwork, &info); +} + +template <> +void tensor_syev(char jobz, char uplo, RI::Tensor& a, float* w, int& info) +{ + assert(a.shape.size() == 2); + assert(a.shape[0] == a.shape[1]); + + const int n = a.shape[0]; + const int lda = a.shape[1]; + + float work_query = 0.0f; + constexpr int minus_one = -1; + + ssyev_(&jobz, &uplo, &n, a.ptr(), &lda, w, &work_query, &minus_one, &info); + + const int lwork = static_cast(work_query); + std::vector work(std::max(1, lwork)); + + ssyev_(&jobz, &uplo, &n, a.ptr(), &lda, w, work.data(), &lwork, &info); } - RI::Tensor get_sub_matrix( - const RI::Tensor & m, // size: (lcaos, lcaos, abfs) - const std::size_t & T, - const std::size_t & L, - const ModuleBase::Element_Basis_Index::Range & range, - const ModuleBase::Element_Basis_Index::IndexLNM & index ) +template <> +void tensor_syev>(char jobz, char uplo, RI::Tensor>& a, double* w, int& info) +{ + assert(a.shape.size() == 2); + assert(a.shape[0] == a.shape[1]); + + const int n = a.shape[0]; + const int lda = a.shape[1]; + + std::complex work_query; + constexpr int minus_one = -1; + + zheev_(&jobz, &uplo, &n, a.ptr(), &lda, w, &work_query, &minus_one, nullptr, &info); + + const int lwork = static_cast(work_query.real()); + std::vector> work(std::max(1, lwork)); + std::vector rwork(std::max(1, 3 * n - 2)); + + zheev_(&jobz, &uplo, &n, a.ptr(), &lda, w, work.data(), &lwork, rwork.data(), &info); +} + +template <> +void tensor_syev>(char jobz, char uplo, RI::Tensor>& a, float* w, int& info) +{ + assert(a.shape.size() == 2); + assert(a.shape[0] == a.shape[1]); + + const int n = a.shape[0]; + const int lda = a.shape[1]; + + std::complex work_query; + constexpr int minus_one = -1; + + cheev_(&jobz, &uplo, &n, a.ptr(), &lda, w, &work_query, &minus_one, nullptr, &info); + + const int lwork = static_cast(work_query.real()); + std::vector> work(std::max(1, lwork)); + std::vector rwork(std::max(1, 3 * n - 2)); + + cheev_(&jobz, &uplo, &n, a.ptr(), &lda, w, work.data(), &lwork, rwork.data(), &info); +} +// void tensor_dsyev(const char jobz, const char uplo, RI::Tensor & a, double*const w, int & info) +// { +// // reference: dsyev in lapack_connector.h (for ModuleBase::matrix) +// assert(a.shape.size() == 2); +// assert(a.shape[0] == a.shape[1]); +// const int nr = a.shape[0]; +// const int nc = a.shape[1]; + +// double work_tmp=0.0; +// constexpr int minus_one = -1; +// dsyev_(&jobz, &uplo, &nr, a.ptr(), &nc, w, &work_tmp, &minus_one, &info); // get best lwork + +// const int lwork = work_tmp; +// std::vector work(std::max(1, lwork)); +// dsyev_(&jobz, &uplo, &nr, a.ptr(), &nc, w, work.data(), &lwork, &info); +// } + +RI::Tensor get_sub_matrix(const RI::Tensor& m, // size: (lcaos, lcaos, abfs) + const std::size_t& T, + const std::size_t& L, + const ModuleBase::Element_Basis_Index::Range& range, + const ModuleBase::Element_Basis_Index::IndexLNM& index) { ModuleBase::TITLE("ABFs_Construct::PCA::get_sub_matrix"); assert(m.shape.size() == 3); - RI::Tensor m_sub({ m.shape[0], m.shape[1], range[T][L].N }); - for (std::size_t ir=0; ir!=m.shape[0]; ++ir) { - for (std::size_t jr=0; jr!=m.shape[1]; ++jr) { - for (std::size_t N=0; N!=range[T][L].N; ++N) { + RI::Tensor m_sub({m.shape[0], m.shape[1], range[T][L].N}); + for (std::size_t ir = 0; ir != m.shape[0]; ++ir) + { + for (std::size_t jr = 0; jr != m.shape[1]; ++jr) + { + for (std::size_t N = 0; N != range[T][L].N; ++N) + { m_sub(ir, jr, N) = m(ir, jr, index[T][L][N][0]); } } } - m_sub = m_sub.reshape({ m.shape[0] * m.shape[1], range[T][L].N }); + m_sub = m_sub.reshape({m.shape[0] * m.shape[1], range[T][L].N}); return m_sub; } - RI::Tensor get_column_mean0_matrix( const RI::Tensor & m ) +RI::Tensor get_column_mean0_matrix(const RI::Tensor& m) { ModuleBase::TITLE("ABFs_Construct::PCA::get_column_mean0_matrix"); - RI::Tensor m_new( m.shape); - for( std::size_t ic=0; ic!=m.shape[1]; ++ic ) + RI::Tensor m_new(m.shape); + for (std::size_t ic = 0; ic != m.shape[1]; ++ic) { - double sum=0; - for( std::size_t ir=0; ir!=m.shape[0]; ++ir ) { - sum += m(ir,ic); + double sum = 0; + for (std::size_t ir = 0; ir != m.shape[0]; ++ir) + { + sum += m(ir, ic); } - const double mean = sum/m.shape[0]; - for( std::size_t ir=0; ir!=m.shape[0]; ++ir ) { - m_new(ir,ic) = m(ir,ic) - mean; + const double mean = sum / m.shape[0]; + for (std::size_t ir = 0; ir != m.shape[0]; ++ir) + { + m_new(ir, ic) = m(ir, ic) - mean; } } return m_new; } std::vector, RI::Tensor>>> cal_PCA( - const UnitCell &ucell, + const UnitCell& ucell, const LCAO_Orbitals& orb, - const std::vector>> &lcaos, - const std::vector>> &abfs, - const double kmesh_times ) + const std::vector>>& lcaos, + const std::vector>>& abfs, + const double kmesh_times) { ModuleBase::TITLE("ABFs_Construct::PCA::cal_PCA"); - const ModuleBase::Element_Basis_Index::Range - range_lcaos = Exx_Abfs::Abfs_Index::construct_range( lcaos ); - const ModuleBase::Element_Basis_Index::IndexLNM - index_lcaos = ModuleBase::Element_Basis_Index::construct_index( range_lcaos ); - - const ModuleBase::Element_Basis_Index::Range - range_abfs = Exx_Abfs::Abfs_Index::construct_range( abfs ); - const ModuleBase::Element_Basis_Index::IndexLNM - index_abfs = ModuleBase::Element_Basis_Index::construct_index( range_abfs ); - - const int Lmax_bak = GlobalC::exx_info.info_ri.abfs_Lmax; - GlobalC::exx_info.info_ri.abfs_Lmax = std::numeric_limits::min(); - for( std::size_t T=0; T!=abfs.size(); ++T ) { - GlobalC::exx_info.info_ri.abfs_Lmax = std::max( GlobalC::exx_info.info_ri.abfs_Lmax, static_cast(abfs[T].size())-1 ); -} + const ModuleBase::Element_Basis_Index::Range range_lcaos = ModuleBase::Element_Basis_Index::construct_range(lcaos); + const ModuleBase::Element_Basis_Index::IndexLNM index_lcaos + = ModuleBase::Element_Basis_Index::construct_index(range_lcaos); - Matrix_Orbs21 m_abfslcaos_lcaos; - ORB_gaunt_table MGT; - int Lmax; - m_abfslcaos_lcaos.init( 1, ucell , orb, kmesh_times, orb.get_Rmax(), Lmax ); - MGT.init_Gaunt_CH(Lmax); - MGT.init_Gaunt(Lmax); - m_abfslcaos_lcaos.init_radial( abfs, lcaos, lcaos, MGT ); - - std::map>> delta_R; - for( std::size_t it=0; it!=abfs.size(); ++it ) { - delta_R[it][it] = {0.0}; -} - m_abfslcaos_lcaos.init_radial_table(delta_R); + const ModuleBase::Element_Basis_Index::Range range_abfs = ModuleBase::Element_Basis_Index::construct_range(abfs); + const ModuleBase::Element_Basis_Index::IndexLNM index_abfs + = ModuleBase::Element_Basis_Index::construct_index(range_abfs); + + Matrix_Orbs21 m_abfslcaos_lcaos; + m_abfslcaos_lcaos.init(abfs, lcaos, lcaos, ucell, orb, kmesh_times); - GlobalC::exx_info.info_ri.abfs_Lmax = Lmax_bak; + std::map>> delta_R; + for (std::size_t it = 0; it != abfs.size(); ++it) + { delta_R[it][it] = {0.0}; } + m_abfslcaos_lcaos.init_radial_table(delta_R); - std::vector,RI::Tensor>>> eig(abfs.size()); - for( std::size_t T=0; T!=abfs.size(); ++T ) + std::vector, RI::Tensor>>> eig(abfs.size()); + for (std::size_t T = 0; T != abfs.size(); ++T) { - const RI::Tensor A = m_abfslcaos_lcaos.cal_overlap_matrix( - T, + const RI::Tensor A = m_abfslcaos_lcaos.cal_overlap_matrix(T, T, - ModuleBase::Vector3{0,0,0}, - ModuleBase::Vector3{0,0,0}, + ModuleBase::Vector3{0, 0, 0}, + ModuleBase::Vector3{0, 0, 0}, index_abfs, index_lcaos, index_lcaos, Matrix_Orbs21::Matrix_Order::A2BA1); eig[T].resize(abfs[T].size()); - for( std::size_t L=0; L!=abfs[T].size(); ++L ) + for (std::size_t L = 0; L != abfs[T].size(); ++L) { - const RI::Tensor A_sub = get_sub_matrix( A, T, L, range_abfs, index_abfs ); + const RI::Tensor A_sub = get_sub_matrix(A, T, L, range_abfs, index_abfs); RI::Tensor mm = A_sub.transpose() * A_sub; std::vector eig_value(mm.shape[0]); - int info=1; + int info = 1; - tensor_dsyev('V', 'L', mm, eig_value.data(), info); + tensor_syev('V', 'L', mm, eig_value.data(), info); - if( info ) + if (info) { std::cout << std::endl << "info_dsyev = " << info << std::endl; - auto tensor_print = [](RI::Tensor& m, std::ostream& os, const double threshold) - { + auto tensor_print = [](RI::Tensor& m, std::ostream& os, const double threshold) { for (int ir = 0; ir != m.shape[0]; ++ir) { for (int ic = 0; ic != m.shape[1]; ++ic) { - if (std::abs(m(ir, ic)) > threshold) { + if (std::abs(m(ir, ic)) > threshold) + { os << m(ir, ic) << "\t"; - } else { + } + else + { os << 0 << "\t"; } } @@ -156,15 +225,15 @@ namespace PCA os << std::endl; }; tensor_print(mm, GlobalV::ofs_warning, 0.0); - std::cout<<"in file "<<__FILE__<<" line "<<__LINE__<,RI::Tensor>>> cal_PCA( +extern std::vector, RI::Tensor>>> cal_PCA( const UnitCell& ucell, - const LCAO_Orbitals &orb, - const std::vector>> &lcaos, - const std::vector>> &abfs, // abfs must be orthonormal - const double kmesh_times ); -} -} + const LCAO_Orbitals& orb, + const std::vector>>& lcaos, + const std::vector>>& abfs, // abfs must be orthonormal + const double kmesh_times); -#endif // ABFS_CONSTRUCT_PCA_H +template +void tensor_syev(char jobz, char uplo, RI::Tensor& a, RI::Global_Func::To_Real_t* w, int& info); +} // namespace PCA +} // namespace ABFs_Construct + +#endif // ABFS_CONSTRUCT_PCA_H diff --git a/source/source_lcao/module_ri/CMakeLists.txt b/source/source_lcao/module_ri/CMakeLists.txt index a201cab1a3..62cdede596 100644 --- a/source/source_lcao/module_ri/CMakeLists.txt +++ b/source/source_lcao/module_ri/CMakeLists.txt @@ -14,7 +14,6 @@ if (ENABLE_LIBRI) if(ENABLE_LCAO) list(APPEND objects conv_coulomb_pot_k.cpp - exx_abfs-abfs_index.cpp exx_abfs-construct_orbs.cpp exx_abfs-io.cpp exx_abfs-jle.cpp @@ -38,4 +37,4 @@ if (ENABLE_LIBRI) if(ENABLE_COVERAGE) add_coverage(ri) endif() -endif() \ No newline at end of file +endif() diff --git a/source/source_lcao/module_ri/Exx_LRI.h b/source/source_lcao/module_ri/Exx_LRI.h index 0ca4aff9b6..6f94f1a32b 100644 --- a/source/source_lcao/module_ri/Exx_LRI.h +++ b/source/source_lcao/module_ri/Exx_LRI.h @@ -90,7 +90,6 @@ class Exx_LRI const Exx_Info::Exx_Info_RI &info; MPI_Comm mpi_comm; const K_Vectors *p_kv = nullptr; - ORB_gaunt_table MGT; std::vector orb_cutoff_; std::vector>> lcaos; diff --git a/source/source_lcao/module_ri/Exx_LRI.hpp b/source/source_lcao/module_ri/Exx_LRI.hpp index 5cf3a0072a..ee8c62a718 100644 --- a/source/source_lcao/module_ri/Exx_LRI.hpp +++ b/source/source_lcao/module_ri/Exx_LRI.hpp @@ -39,6 +39,7 @@ void Exx_LRI::init(const MPI_Comm &mpi_comm_in, this->orb_cutoff_ = orb.cutoffs(); this->lcaos = Exx_Abfs::Construct_Orbs::change_orbs( orb, this->info.kmesh_times ); + Exx_Abfs::Construct_Orbs::filter_empty_orbs(this->lcaos); const std::vector>> abfs_same_atom = Exx_Abfs::Construct_Orbs::abfs_same_atom(ucell, orb, this->lcaos, this->info.kmesh_times, this->info.pca_threshold ); @@ -46,21 +47,18 @@ void Exx_LRI::init(const MPI_Comm &mpi_comm_in, { this->abfs = abfs_same_atom;} else { this->abfs = Exx_Abfs::IO::construct_abfs( abfs_same_atom, orb, this->info.files_abfs, this->info.kmesh_times ); } + Exx_Abfs::Construct_Orbs::filter_empty_orbs(this->abfs); Exx_Abfs::Construct_Orbs::print_orbs_size(ucell, this->abfs, GlobalV::ofs_running); - for( size_t T=0; T!=this->abfs.size(); ++T ) - { GlobalC::exx_info.info_ri.abfs_Lmax = std::max( GlobalC::exx_info.info_ri.abfs_Lmax, static_cast(this->abfs[T].size())-1 ); } - this->coulomb_settings = RI_Util::update_coulomb_settings(this->info.coulomb_param, ucell, this->p_kv); - bool init_MGT = true; + std::shared_ptr MGT = std::make_shared(); for(const auto &settings_list : this->coulomb_settings) { this->exx_objs[settings_list.first].abfs_ccp = Conv_Coulomb_Pot_K::cal_orbs_ccp(this->abfs, settings_list.second.second, this->info.ccp_rmesh_times); this->exx_objs[settings_list.first].cv.set_orbitals(ucell, orb, this->lcaos, this->abfs, this->exx_objs[settings_list.first].abfs_ccp, - this->info.kmesh_times, this->MGT, init_MGT, settings_list.second.first ); - init_MGT = false; // only init once + this->info.kmesh_times, MGT, settings_list.second.first ); } ModuleBase::timer::tick("Exx_LRI", "init"); @@ -73,11 +71,6 @@ void Exx_LRI::cal_exx_ions(const UnitCell& ucell, ModuleBase::TITLE("Exx_LRI","cal_exx_ions"); ModuleBase::timer::tick("Exx_LRI", "cal_exx_ions"); - // init_radial_table_ions( cal_atom_centres_core(atom_pairs_core_origin), atom_pairs_core_origin ); - - // this->m_abfsabfs.init_radial_table(Rradial); - // this->m_abfslcaos_lcaos.init_radial_table(Rradial); - std::vector atoms(ucell.nat); for(int iat=0; iat class LCAO_Matrix; @@ -96,7 +97,8 @@ class Exx_LRI_Interface void exx_iter_finish(const K_Vectors& kv, const UnitCell& ucell, hamilt::Hamilt& hamilt, - elecstate::ElecState& elec, + elecstate::ElecState& elec, + elecstate::DensityMatrix* dm, // mohan add 2025-11-04 Charge_Mixing& chgmix, const double& scf_ene_thr, int& iter, diff --git a/source/source_lcao/module_ri/Exx_LRI_interface.hpp b/source/source_lcao/module_ri/Exx_LRI_interface.hpp index 0c78872433..06e0845da8 100644 --- a/source/source_lcao/module_ri/Exx_LRI_interface.hpp +++ b/source/source_lcao/module_ri/Exx_LRI_interface.hpp @@ -4,7 +4,6 @@ #include "Exx_LRI_interface.h" #include "source_lcao/module_ri/exx_abfs-jle.h" -#include "source_lcao/hamilt_lcao.h" #include "source_lcao/module_operator_lcao/op_exx_lcao.h" #include "source_base/parallel_common.h" #include "source_base/formatter.h" @@ -17,33 +16,6 @@ #include #include -/* -template -void Exx_LRI_Interface::write_Hexxs_cereal(const std::string& file_name) const -{ - ModuleBase::TITLE("Exx_LRI_Interface", "write_Hexxs_cereal"); - ModuleBase::timer::tick("Exx_LRI_Interface", "write_Hexxs_cereal"); - std::ofstream ofs(file_name + "_" + std::to_string(GlobalV::MY_RANK), std::ofstream::binary); - cereal::BinaryOutputArchive oar(ofs); - oar(this->exx_ptr->Hexxs); - ModuleBase::timer::tick("Exx_LRI_Interface", "write_Hexxs_cereal"); -} - -template -void Exx_LRI_Interface::read_Hexxs_cereal(const std::string& file_name) -{ - ModuleBase::TITLE("Exx_LRI_Interface", "read_Hexxs_cereal"); - ModuleBase::timer::tick("Exx_LRI_Interface", "read_Hexxs_cereal"); - const std::string file_name_rank = file_name + "_" + std::to_string(GlobalV::MY_RANK); - std::ifstream ifs(file_name_rank, std::ofstream::binary); - if(!ifs.is_open()) - { ModuleBase::WARNING_QUIT("Exx_LRI_Interface", file_name_rank+" not found."); } - cereal::BinaryInputArchive iar(ifs); - iar(this->exx_ptr->Hexxs); - ModuleBase::timer::tick("Exx_LRI_Interface", "read_Hexxs_cereal"); -} -*/ - template void Exx_LRI_Interface::init(const MPI_Comm &mpi_comm, const UnitCell &ucell, @@ -139,7 +111,7 @@ void Exx_LRI_Interface::exx_before_all_runners( this->symrot_.find_irreducible_sector( ucell.symm, ucell.atoms, ucell.st, RI_Util::get_Born_von_Karmen_cells(period), period, ucell.lat); - // this->symrot_.set_Cs_rotation(this->exx_ptr->get_abfs_nchis()); + this->symrot_.set_abfs_Lmax(Exx_Abfs::Construct_Orbs::get_Lmax(this->exx_ptr->abfs)); this->symrot_.cal_Ms(kv, ucell, pv); } } @@ -163,20 +135,7 @@ void Exx_LRI_Interface::exx_beforescf(const int istep, } else { - if (ucell.atoms[0].ncpp.xc_func == "HF" || ucell.atoms[0].ncpp.xc_func == "PBE0" || ucell.atoms[0].ncpp.xc_func == "HSE") - { - XC_Functional::set_xc_type("pbe"); - } - else if (ucell.atoms[0].ncpp.xc_func == "SCAN0") - { - XC_Functional::set_xc_type("scan"); - } - // added by jghan, 2024-07-07 - else if ( ucell.atoms[0].ncpp.xc_func == "MULLER" || ucell.atoms[0].ncpp.xc_func == "POWER" - || ucell.atoms[0].ncpp.xc_func == "WP22" || ucell.atoms[0].ncpp.xc_func == "CWP22" ) - { - XC_Functional::set_xc_type("pbe"); - } + XC_Functional::set_xc_first_loop(ucell); } this->cal_exx_ions(ucell,PARAM.inp.out_ri_cv); @@ -290,14 +249,15 @@ void Exx_LRI_Interface::exx_hamilt2rho(elecstate::ElecState& elec, con template void Exx_LRI_Interface::exx_iter_finish(const K_Vectors& kv, - const UnitCell& ucell, - hamilt::Hamilt& hamilt, - elecstate::ElecState& elec, - Charge_Mixing& chgmix, - const double& scf_ene_thr, - int& iter, - const int istep, - bool& conv_esolver) + const UnitCell& ucell, + hamilt::Hamilt& hamilt, + elecstate::ElecState& elec, + elecstate::DensityMatrix* dm, // mohan add 2025-11-04 + Charge_Mixing& chgmix, + const double& scf_ene_thr, + int& iter, + const int istep, + bool& conv_esolver) { ModuleBase::TITLE("Exx_LRI_Interface","exx_iter_finish"); if (GlobalC::restart.info_save.save_H && (this->two_level_step > 0 || istep > 0) @@ -340,11 +300,12 @@ void Exx_LRI_Interface::exx_iter_finish(const K_Vectors& kv, { chgmix.close_kerker_gg0(); } - this->dm_last_step = dynamic_cast*>(&elec)->get_DM(); + // mohan update 2025-11-04 + this->dm_last_step = dm; conv_esolver = this->exx_after_converge( ucell, hamilt, - *dynamic_cast*>(&elec)->get_DM(), + *dm, kv, PARAM.inp.nspin, iter, diff --git a/source/source_lcao/module_ri/Inverse_Matrix.h b/source/source_lcao/module_ri/Inverse_Matrix.h index 48c65db627..141a09b39e 100644 --- a/source/source_lcao/module_ri/Inverse_Matrix.h +++ b/source/source_lcao/module_ri/Inverse_Matrix.h @@ -5,25 +5,33 @@ #pragma once +#include "ABFs_Construct-PCA.h" + #include #include -template +template class Inverse_Matrix { -public: - enum class Method{potrf}; //, syev}; - void cal_inverse(const Method &method); + public: + enum class Method + { + potrf, + syev + }; + void cal_inverse(const Method& method, const double& threshold_condition_number = 0.); - void input(const RI::Tensor &m); - void input(const std::vector>> &ms); - RI::Tensor output() const; - std::vector>> output(const std::vector &n0, const std::vector &n1) const; + void input(const RI::Tensor& m); + void input(const std::vector>>& ms); + RI::Tensor output() const; + std::vector>> output(const std::vector& n0, + const std::vector& n1) const; -private: - void using_potrf(); - void copy_down_triangle(); - RI::Tensor A; + private: + void using_potrf(); + void using_syev(const double& threshold_condition_number); + void copy_down_triangle(); + RI::Tensor A; }; #include "Inverse_Matrix.hpp" \ No newline at end of file diff --git a/source/source_lcao/module_ri/Inverse_Matrix.hpp b/source/source_lcao/module_ri/Inverse_Matrix.hpp index 20ef034239..b632d1a40c 100644 --- a/source/source_lcao/module_ri/Inverse_Matrix.hpp +++ b/source/source_lcao/module_ri/Inverse_Matrix.hpp @@ -8,152 +8,251 @@ #include "Inverse_Matrix.h" #include "source_base/module_external/lapack_connector.h" +#include "source_hamilt/module_xc/exx_info.h" #include -template -void Inverse_Matrix::cal_inverse( const Method &method ) +template +void Inverse_Matrix::cal_inverse(const Method& method, const double& threshold_condition_number) { - switch(method) - { - case Method::potrf: using_potrf(); break; -// case Method::syev: using_syev(1E-6); break; - } + switch (method) + { + case Method::potrf: + using_potrf(); + break; + case Method::syev: + using_syev(threshold_condition_number); + break; + } } -template +template void Inverse_Matrix::using_potrf() { - int info; - LapackConnector::potrf('U', A.shape[0], A.ptr(), A.shape[0], info); - if(info) - throw std::range_error("info="+std::to_string(info)+"\n"+std::string(__FILE__)+" line "+std::to_string(__LINE__)); + int info; + LapackConnector::potrf('U', A.shape[0], A.ptr(), A.shape[0], info); + if (info) + throw std::range_error("info=" + std::to_string(info) + "\n" + std::string(__FILE__) + " line " + + std::to_string(__LINE__)); - LapackConnector::potri('U', A.shape[0], A.ptr(), A.shape[0], info); - if(info) - throw std::range_error("info="+std::to_string(info)+"\n"+std::string(__FILE__)+" line "+std::to_string(__LINE__)); + LapackConnector::potri('U', A.shape[0], A.ptr(), A.shape[0], info); + if (info) + throw std::range_error("info=" + std::to_string(info) + "\n" + std::string(__FILE__) + " line " + + std::to_string(__LINE__)); - copy_down_triangle(); + copy_down_triangle(); +} + +template +struct InverseMatrixTraits; + +// double +template <> +struct InverseMatrixTraits +{ + using matrix_type = ModuleBase::matrix; + using value_type = double; + static void syev(RI::Tensor& A, value_type* w, int& info) + { + ABFs_Construct::PCA::tensor_syev('V', 'U', A, w, info); + } + static constexpr char gemm_trans = 'T'; +}; + +// complex +template <> +struct InverseMatrixTraits> +{ + using matrix_type = ModuleBase::ComplexMatrix; + using value_type = double; // eigenvalues are always real + static void syev(RI::Tensor>& A, value_type* w, int& info) + { + ABFs_Construct::PCA::tensor_syev('V', 'U', A, w, info); + } + static constexpr char gemm_trans = 'C'; +}; + +// float +template <> +struct InverseMatrixTraits +{ + using matrix_type = ModuleBase::matrix; + using value_type = float; + static void syev(RI::Tensor& A, value_type* w, int& info) + { + ABFs_Construct::PCA::tensor_syev('V', 'U', A, w, info); + } + static constexpr char gemm_trans = 'T'; +}; + +// complex +template <> +struct InverseMatrixTraits> +{ + using matrix_type = ModuleBase::ComplexMatrix; + using value_type = float; + static void syev(RI::Tensor>& A, value_type* w, int& info) + { + ABFs_Construct::PCA::tensor_syev('V', 'U', A, w, info); + } + static constexpr char gemm_trans = 'C'; +}; + +template +inline void Inverse_Matrix::using_syev(const double& threshold_condition_number) +{ + using traits = InverseMatrixTraits; + using val_t = typename traits::value_type; + + int info; + std::vector eigen_value(A.shape[0]); + + traits::syev(A, eigen_value.data(), info); + if (info) + throw std::range_error("info=" + std::to_string(info) + "\n" + std::string(__FILE__) + " line " + + std::to_string(__LINE__)); + + val_t eigen_value_max = 0; + for (const val_t& val: eigen_value) + eigen_value_max = std::max(val, eigen_value_max); + + const double threshold = eigen_value_max * threshold_condition_number; + + typename traits::matrix_type eA(A.shape[0], A.shape[1]); + + int ie = 0; + for (int i = 0; i != A.shape[0]; ++i) + { + if (eigen_value[i] > threshold) + { + BlasConnector::axpy(A.shape[1], + sqrt(1.0 / eigen_value[i]), + A.ptr() + i * A.shape[1], + 1, + eA.c + ie * eA.nc, + 1); + ++ie; + } + } + // std::cout << "No. of singularity: " << A.shape[0] - ie << std::endl; + + BlasConnector::gemm(traits::gemm_trans, 'N', eA.nc, eA.nc, ie, 1, eA.c, eA.nc, eA.c, eA.nc, 0, A.ptr(), A.shape[1]); } /* void Inverse_Matrix::using_syev( const double &threshold_condition_number ) { - std::vector eigen_value(A.nr); - LapackConnector::dsyev('V','U',A,eigen_value.data(),info); - - double eigen_value_max = 0; - for( const double &ie : eigen_value ) - eigen_value_max = std::max( ie, eigen_value_max ); - const double threshold = eigen_value_max * threshold_condition_number; - - ModuleBase::matrix eA( A.nr, A.nc ); - int ie=0; - for( int i=0; i!=A.nr; ++i ) - if( eigen_value[i] > threshold ) - { - BlasConnector::axpy( A.nc, sqrt(1.0/eigen_value[i]), A.c+i*A.nc,1, eA.c+ie*eA.nc,1 ); - ++ie; - } - BlasConnector::gemm( 'T','N', eA.nc,eA.nc,ie, 1, eA.c,eA.nc, eA.c,eA.nc, 0, A.c,A.nc ); + std::vector eigen_value(A.nr); + LapackConnector::dsyev('V','U',A,eigen_value.data(),info); + + double eigen_value_max = 0; + for( const double &ie : eigen_value ) + eigen_value_max = std::max( ie, eigen_value_max ); + const double threshold = eigen_value_max * threshold_condition_number; + + ModuleBase::matrix eA( A.nr, A.nc ); + int ie=0; + for( int i=0; i!=A.nr; ++i ) + if( eigen_value[i] > threshold ) + { + BlasConnector::axpy( A.nc, sqrt(1.0/eigen_value[i]), A.c+i*A.nc,1, eA.c+ie*eA.nc,1 ); + ++ie; + } + BlasConnector::gemm( 'T','N', eA.nc,eA.nc,ie, 1, eA.c,eA.nc, eA.c,eA.nc, 0, A.c,A.nc ); } */ -template -void Inverse_Matrix::input( const RI::Tensor &m ) +template +void Inverse_Matrix::input(const RI::Tensor& m) { - assert(m.shape.size()==2); - assert(m.shape[0]==m.shape[1]); - this->A = m.copy(); + assert(m.shape.size() == 2); + assert(m.shape[0] == m.shape[1]); + this->A = m.copy(); } - -template -void Inverse_Matrix::input(const std::vector>> &ms) +template +void Inverse_Matrix::input(const std::vector>>& ms) { - const size_t N0 = ms.size(); - assert(N0>0); - const size_t N1 = ms[0].size(); - assert(N1>0); - for(size_t Im0=0; Im0 n0(N0); - for(size_t Im0=0; Im0 n1(N1); - for(size_t Im1=0; Im1A = RI::Tensor({n_all, n_all}); - - std::vector n0_partial(N0+1); - std::partial_sum(n0.begin(), n0.end(), n0_partial.begin()+1); - std::vector n1_partial(N1+1); - std::partial_sum(n1.begin(), n1.end(), n1_partial.begin()+1); - - for(size_t Im0=0; Im0 &m_tmp = ms.at(Im0).at(Im1); - for(size_t im0=0; im0A(im0+n0_partial[Im0], im1+n1_partial[Im1]) = m_tmp(im0,im1); - } -} + const size_t N0 = ms.size(); + assert(N0 > 0); + const size_t N1 = ms[0].size(); + assert(N1 > 0); + for (size_t Im0 = 0; Im0 < N0; ++Im0) + assert(ms[Im0].size() == N1); + + for (size_t Im0 = 0; Im0 < N0; ++Im0) + for (size_t Im1 = 0; Im1 < N1; ++Im1) + assert(ms[Im0][Im1].shape.size() == 2); + + std::vector n0(N0); + for (size_t Im0 = 0; Im0 < N0; ++Im0) + n0[Im0] = ms[Im0][0].shape[0]; + std::vector n1(N1); + for (size_t Im1 = 0; Im1 < N1; ++Im1) + n1[Im1] = ms[0][Im1].shape[1]; + + for (size_t Im0 = 0; Im0 < N0; ++Im0) + for (size_t Im1 = 0; Im1 < N1; ++Im1) + assert((ms[Im0][Im1].shape[0] == n0[Im0]) && (ms[Im0][Im1].shape[1] == n1[Im1])); + const size_t n_all = std::accumulate(n0.begin(), n0.end(), 0); + assert(n_all == std::accumulate(n1.begin(), n1.end(), 0)); + this->A = RI::Tensor({n_all, n_all}); -template + std::vector n0_partial(N0 + 1); + std::partial_sum(n0.begin(), n0.end(), n0_partial.begin() + 1); + std::vector n1_partial(N1 + 1); + std::partial_sum(n1.begin(), n1.end(), n1_partial.begin() + 1); + + for (size_t Im0 = 0; Im0 < N0; ++Im0) + for (size_t Im1 = 0; Im1 < N1; ++Im1) + { + const RI::Tensor& m_tmp = ms.at(Im0).at(Im1); + for (size_t im0 = 0; im0 < m_tmp.shape[0]; ++im0) + for (size_t im1 = 0; im1 < m_tmp.shape[1]; ++im1) + this->A(im0 + n0_partial[Im0], im1 + n1_partial[Im1]) = m_tmp(im0, im1); + } +} + +template RI::Tensor Inverse_Matrix::output() const { - return this->A.copy(); + return this->A.copy(); } - -template -std::vector>> -Inverse_Matrix::output(const std::vector &n0, const std::vector &n1) const +template +std::vector>> Inverse_Matrix::output(const std::vector& n0, + const std::vector& n1) const { - assert( std::accumulate(n0.begin(), n0.end(), 0) == this->A.shape[0] ); - assert( std::accumulate(n1.begin(), n1.end(), 0) == this->A.shape[1] ); - - const size_t N0 = n0.size(); - const size_t N1 = n1.size(); - - std::vector n0_partial(N0+1); - std::partial_sum(n0.begin(), n0.end(), n0_partial.begin()+1); - std::vector n1_partial(N1+1); - std::partial_sum(n1.begin(), n1.end(), n1_partial.begin()+1); - - std::vector>> ms(N0, std::vector>(N1)); - for(size_t Im0=0; Im0 &m_tmp = ms[Im0][Im1] = RI::Tensor({n0[Im0], n1[Im1]}); - for(size_t im0=0; im0A(im0+n0_partial[Im0], im1+n1_partial[Im1]); - } - return ms; -} + assert(std::accumulate(n0.begin(), n0.end(), 0) == this->A.shape[0]); + assert(std::accumulate(n1.begin(), n1.end(), 0) == this->A.shape[1]); + + const size_t N0 = n0.size(); + const size_t N1 = n1.size(); + std::vector n0_partial(N0 + 1); + std::partial_sum(n0.begin(), n0.end(), n0_partial.begin() + 1); + std::vector n1_partial(N1 + 1); + std::partial_sum(n1.begin(), n1.end(), n1_partial.begin() + 1); + + std::vector>> ms(N0, std::vector>(N1)); + for (size_t Im0 = 0; Im0 < N0; ++Im0) + for (size_t Im1 = 0; Im1 < N1; ++Im1) + { + RI::Tensor& m_tmp = ms[Im0][Im1] = RI::Tensor({n0[Im0], n1[Im1]}); + for (size_t im0 = 0; im0 < n0[Im0]; ++im0) + for (size_t im1 = 0; im1 < n1[Im1]; ++im1) + m_tmp(im0, im1) = this->A(im0 + n0_partial[Im0], im1 + n1_partial[Im1]); + } + return ms; +} -template +template void Inverse_Matrix::copy_down_triangle() { - for( size_t i0=0; i0>> &abfs_in, const std::vector>> &abfs_ccp_in, const double &kmesh_times, - ORB_gaunt_table& MGT, - const bool& init_MGT, + std::shared_ptr MGT, const bool& init_C); inline std::map>> cal_Vs( diff --git a/source/source_lcao/module_ri/LRI_CV.hpp b/source/source_lcao/module_ri/LRI_CV.hpp index b97ac9ed5e..b343d4d20d 100644 --- a/source/source_lcao/module_ri/LRI_CV.hpp +++ b/source/source_lcao/module_ri/LRI_CV.hpp @@ -8,9 +8,9 @@ #include "LRI_CV.h" #include "LRI_CV_Tools.h" -#include "exx_abfs-abfs_index.h" #include "exx_abfs-construct_orbs.h" #include "RI_Util.h" +#include "../../source_basis/module_ao/element_basis_index-ORB.h" #include "../../source_base/tool_title.h" #include "../../source_base/timer.h" #include "../../source_pw/module_pwdft/global.h" @@ -44,8 +44,7 @@ void LRI_CV::set_orbitals( const std::vector>> &abfs_in, const std::vector>> &abfs_ccp_in, const double &kmesh_times, - ORB_gaunt_table& MGT, - const bool& init_MGT, + std::shared_ptr MGT, const bool& init_C) { ModuleBase::TITLE("LRI_CV", "set_orbitals"); @@ -57,37 +56,26 @@ void LRI_CV::set_orbitals( this->lcaos_rcut = Exx_Abfs::Construct_Orbs::get_Rcut(this->lcaos); this->abfs_ccp_rcut = Exx_Abfs::Construct_Orbs::get_Rcut(this->abfs_ccp); - const double lcaos_rmax = Exx_Abfs::Construct_Orbs::get_Rmax(this->lcaos); - const double abfs_ccp_rmax - = Exx_Abfs::Construct_Orbs::get_Rmax(this->abfs_ccp); const ModuleBase::Element_Basis_Index::Range - range_lcaos = Exx_Abfs::Abfs_Index::construct_range( lcaos ); + range_lcaos = ModuleBase::Element_Basis_Index::construct_range( lcaos ); this->index_lcaos = ModuleBase::Element_Basis_Index::construct_index( range_lcaos ); const ModuleBase::Element_Basis_Index::Range - range_abfs = Exx_Abfs::Abfs_Index::construct_range( abfs ); + range_abfs = ModuleBase::Element_Basis_Index::construct_range( abfs ); this->index_abfs = ModuleBase::Element_Basis_Index::construct_index( range_abfs ); - int Lmax_v = std::numeric_limits::min(); - this->m_abfs_abfs.init(2, ucell, orb, kmesh_times, lcaos_rmax + abfs_ccp_rmax, Lmax_v); - int Lmax_c = std::numeric_limits::min(); + this->m_abfs_abfs.MGT = this->m_abfslcaos_lcaos.MGT = MGT; + this->m_abfs_abfs.init( + this->abfs_ccp, this->abfs, + ucell, orb, kmesh_times); if (init_C) - this->m_abfslcaos_lcaos.init(1, ucell, orb, kmesh_times, lcaos_rmax, Lmax_c); - int Lmax = std::max(Lmax_v, Lmax_c); + this->m_abfslcaos_lcaos.init( + this->abfs_ccp, this->lcaos, this->lcaos, + ucell, orb, kmesh_times); - if (init_MGT) { - MGT.init_Gaunt_CH(Lmax); - MGT.init_Gaunt(Lmax); - } - - this->m_abfs_abfs.init_radial(this->abfs_ccp, this->abfs, MGT); this->m_abfs_abfs.init_radial_table(); if (init_C) { - this->m_abfslcaos_lcaos.init_radial(this->abfs_ccp, - this->lcaos, - this->lcaos, - MGT); this->m_abfslcaos_lcaos.init_radial_table(); } @@ -363,8 +351,12 @@ LRI_CV::DPcal_C_dC( it0, it1, {0,0,0}, {0,0,0}, this->index_abfs, this->index_lcaos, this->index_lcaos, Matrix_Orbs21::Matrix_Order::A1A2B); - const RI::Tensor V = this->DPcal_V( it0, it0, {0,0,0}, {{"writable_Vws",true}}); - const RI::Tensor L = LRI_CV_Tools::cal_I(V); + const RI::Tensor V = this->DPcal_V(it0, it0, {0, 0, 0}, {{"writable_Vws", true}}); + RI::Tensor L; + if (GlobalC::exx_info.info_ri.Cs_inv_thr > 0) + L = LRI_CV_Tools::cal_I(V, Inverse_Matrix::Method::syev, GlobalC::exx_info.info_ri.Cs_inv_thr); + else + L = LRI_CV_Tools::cal_I(V); const RI::Tensor C = RI::Global_Func::convert(0.5) * LRI_CV_Tools::mul1(L,A); // Attention 0.5! if(flags.at("writable_Cws")) @@ -412,7 +404,10 @@ LRI_CV::DPcal_C_dC( {DPcal_V(it1, it0, Rm, flags), DPcal_V(it1, it1, {0,0,0}, {{"writable_Vws",true}})}}; - const std::vector>> + std::vector>> L; + if (GlobalC::exx_info.info_ri.Cs_inv_thr > 0) + L = LRI_CV_Tools::cal_I(V, Inverse_Matrix::Method::syev, GlobalC::exx_info.info_ri.Cs_inv_thr); + else L = LRI_CV_Tools::cal_I(V); const std::vector> C = LRI_CV_Tools::mul2(L,A); diff --git a/source/source_lcao/module_ri/LRI_CV_Tools.h b/source/source_lcao/module_ri/LRI_CV_Tools.h index 21e94cbfa5..a87320a2ea 100644 --- a/source/source_lcao/module_ri/LRI_CV_Tools.h +++ b/source/source_lcao/module_ri/LRI_CV_Tools.h @@ -6,6 +6,7 @@ #ifndef LRI_CV_TOOLS_H #define LRI_CV_TOOLS_H +#include "Inverse_Matrix.h" #include "source_base/abfs-vector3_order.h" #include "source_lcao/module_ri/abfs.h" @@ -19,9 +20,15 @@ namespace LRI_CV_Tools { template -extern RI::Tensor cal_I(const RI::Tensor& m); +extern RI::Tensor cal_I(const RI::Tensor& m, + const typename Inverse_Matrix::Method method + = Inverse_Matrix::Method::potrf, + const double& threshold_condition_number = 0.); template -extern std::vector>> cal_I(const std::vector>>& ms); +extern std::vector>> cal_I(const std::vector>>& ms, + const typename Inverse_Matrix::Method method + = Inverse_Matrix::Method::potrf, + const double& threshold_condition_number = 0.); template inline RI::Tensor transform_Rm(const RI::Tensor& V); diff --git a/source/source_lcao/module_ri/LRI_CV_Tools.hpp b/source/source_lcao/module_ri/LRI_CV_Tools.hpp index 2f7951d94e..42567d58e0 100644 --- a/source/source_lcao/module_ri/LRI_CV_Tools.hpp +++ b/source/source_lcao/module_ri/LRI_CV_Tools.hpp @@ -16,21 +16,25 @@ #include "../../source_pw/module_pwdft/global.h" template -RI::Tensor LRI_CV_Tools::cal_I(const RI::Tensor& m) { +RI::Tensor LRI_CV_Tools::cal_I(const RI::Tensor& m, + const typename Inverse_Matrix::Method method, + const double& threshold_condition_number) +{ Inverse_Matrix I; I.input(m); - I.cal_inverse(Inverse_Matrix::Method::potrf); + I.cal_inverse(method, threshold_condition_number); return I.output(); } template -std::vector>> - LRI_CV_Tools::cal_I(const std::vector>>& ms) { +std::vector>> LRI_CV_Tools::cal_I(const std::vector>>& ms, + const typename Inverse_Matrix::Method method, + const double& threshold_condition_number) +{ Inverse_Matrix I; I.input(ms); - I.cal_inverse(Inverse_Matrix::Method::potrf); - return I.output({ms[0][0].shape[0], ms[1][0].shape[0]}, - {ms[0][0].shape[1], ms[0][1].shape[1]}); + I.cal_inverse(method, threshold_condition_number); + return I.output({ms[0][0].shape[0], ms[1][0].shape[0]}, {ms[0][0].shape[1], ms[0][1].shape[1]}); } template diff --git a/source/source_lcao/module_ri/Matrix_Orbs11.cpp b/source/source_lcao/module_ri/Matrix_Orbs11.cpp index 021eb6e5b0..31d7a87dce 100644 --- a/source/source_lcao/module_ri/Matrix_Orbs11.cpp +++ b/source/source_lcao/module_ri/Matrix_Orbs11.cpp @@ -5,63 +5,51 @@ #include "Matrix_Orbs11.h" +#include "exx_abfs-construct_orbs.h" #include "source_base/timer.h" #include "source_base/tool_title.h" #include "source_pw/module_pwdft/global.h" -void Matrix_Orbs11::init(const int mode, - const UnitCell& ucell, - const LCAO_Orbitals& orb, - const double kmesh_times, - const double rmax, - int& Lmax) +void Matrix_Orbs11::init( + const std::vector>>& orb_A, + const std::vector>>& orb_B, + const UnitCell& ucell, + const LCAO_Orbitals& orb, + const double kmesh_times) { ModuleBase::TITLE("Matrix_Orbs11", "init"); ModuleBase::timer::tick("Matrix_Orbs11", "init"); - int Lmax_used; this->lat0 = &ucell.lat0; - const int ntype = orb.get_ntype(); - int lmax_orb = -1, lmax_beta = -1; - for (int it = 0; it < ntype; it++) - { - lmax_orb = std::max(lmax_orb, orb.Phi[it].getLmax()); - lmax_beta = std::max(lmax_beta, ucell.infoNL.Beta[it].getLmax()); - } + + const int Lmax = std::max({ Exx_Abfs::Construct_Orbs::get_Lmax(orb_A), Exx_Abfs::Construct_Orbs::get_Lmax(orb_B) }); + const int Lmax_used = Exx_Abfs::Construct_Orbs::get_Lmax(orb_A) + Exx_Abfs::Construct_Orbs::get_Lmax(orb_B); + + //========================================= + // (3) make Gaunt coefficients table + //========================================= + if(!this->MGT) + { this->MGT = std::make_shared(); } + if(this->MGT->get_Lmax_Gaunt_CH() < Lmax) + { this->MGT->init_Gaunt_CH(Lmax); } + if(this->MGT->get_Lmax_Gaunt_Coefficients() < Lmax) + { this->MGT->init_Gaunt(Lmax); } + const double dr = orb.get_dR(); const double dk = orb.get_dk(); const int kmesh = orb.get_kmesh() * kmesh_times + 1; - int Rmesh = static_cast(rmax / dr) + 4; + const double rmax + = Exx_Abfs::Construct_Orbs::get_Rmax(orb_A) + + Exx_Abfs::Construct_Orbs::get_Rmax(orb_B); + int Rmesh = static_cast(rmax / dr) + 4; // extend Rcut, keep dR Rmesh += 1 - Rmesh % 2; - - Center2_Orb::init_Table_Spherical_Bessel(2, - mode, - Lmax_used, - Lmax, - GlobalC::exx_info.info_ri.abfs_Lmax, - lmax_orb, - lmax_beta, + Center2_Orb::init_Table_Spherical_Bessel(Lmax_used, dr, dk, kmesh, Rmesh, psb_); - //========================================= - // (3) make Gaunt coefficients table - //========================================= - // this->MGT.init_Gaunt_CH(Lmax); - // this->MGT.init_Gaunt(Lmax); - - ModuleBase::timer::tick("Matrix_Orbs11", "init"); -} - -void Matrix_Orbs11::init_radial(const std::vector>>& orb_A, - const std::vector>>& orb_B, - const ORB_gaunt_table& MGT) -{ - ModuleBase::TITLE("Matrix_Orbs11", "init_radial"); - ModuleBase::timer::tick("Matrix_Orbs11", "init_radial"); for (size_t TA = 0; TA != orb_A.size(); ++TA) { for (size_t TB = 0; TB != orb_B.size(); ++TB) { for (int LA = 0; LA != orb_A[TA].size(); ++LA) { @@ -70,17 +58,14 @@ void Matrix_Orbs11::init_radial(const std::vectorMGT))); + }}}}}} + + ModuleBase::timer::tick("Matrix_Orbs11", "init"); } -void Matrix_Orbs11::init_radial(const LCAO_Orbitals& orb_A, const LCAO_Orbitals& orb_B, const ORB_gaunt_table& MGT) +/* +void Matrix_Orbs11::init_radial(const LCAO_Orbitals& orb_A, const LCAO_Orbitals& orb_B) { ModuleBase::TITLE("Matrix_Orbs11", "init_radial"); ModuleBase::timer::tick("Matrix_Orbs11", "init_radial"); @@ -95,7 +80,7 @@ void Matrix_Orbs11::init_radial(const LCAO_Orbitals& orb_A, const LCAO_Orbitals& Center2_Orb::Orb11(orb_A.Phi[TA].PhiLN(LA, NA), orb_B.Phi[TB].PhiLN(LB, NB), psb_, - MGT))); + *this->MGT))); } } } @@ -104,6 +89,7 @@ void Matrix_Orbs11::init_radial(const LCAO_Orbitals& orb_A, const LCAO_Orbitals& } ModuleBase::timer::tick("Matrix_Orbs11", "init_radial"); } +*/ void Matrix_Orbs11::init_radial_table() { diff --git a/source/source_lcao/module_ri/Matrix_Orbs11.h b/source/source_lcao/module_ri/Matrix_Orbs11.h index 04b1bd8600..7b520fe0f6 100644 --- a/source/source_lcao/module_ri/Matrix_Orbs11.h +++ b/source/source_lcao/module_ri/Matrix_Orbs11.h @@ -21,20 +21,12 @@ class Matrix_Orbs11 { public: - // mode: - // 1: - // 2: - void init(const int mode, - const UnitCell& ucell, - const LCAO_Orbitals& orb, - const double kmesh_times, // extend Kcut, keep dK - const double rmax, - int& Lmax); - - void init_radial(const std::vector>>& orb_A, - const std::vector>>& orb_B, - const ORB_gaunt_table& MGT); - void init_radial(const LCAO_Orbitals& orb_A, const LCAO_Orbitals& orb_B, const ORB_gaunt_table& MGT); + void init( + const std::vector>>& orb_A, + const std::vector>>& orb_B, + const UnitCell& ucell, + const LCAO_Orbitals& orb, + const double kmesh_times); // extend Kcut, keep dK void init_radial_table(); void init_radial_table(const std::map>>& Rs); // unit: ucell.lat0 @@ -68,6 +60,8 @@ class Matrix_Orbs11 const UnitCell &ucell, const ModuleBase::Element_Basis_Index::IndexLNM& index_r, const ModuleBase::Element_Basis_Index::IndexLNM& index_c) const; + + std::shared_ptr MGT; private: ModuleBase::Sph_Bessel_Recursive::D2* psb_ = nullptr; diff --git a/source/source_lcao/module_ri/Matrix_Orbs21.cpp b/source/source_lcao/module_ri/Matrix_Orbs21.cpp index 170dc9b548..9317e9dbd8 100644 --- a/source/source_lcao/module_ri/Matrix_Orbs21.cpp +++ b/source/source_lcao/module_ri/Matrix_Orbs21.cpp @@ -5,104 +5,79 @@ #include "Matrix_Orbs21.h" +#include "exx_abfs-construct_orbs.h" #include "source_base/timer.h" #include "source_base/tool_title.h" #include "source_pw/module_pwdft/global.h" -void Matrix_Orbs21::init(const int mode, - const UnitCell& ucell, - const LCAO_Orbitals& orb, - const double kmesh_times, - const double rmax, - int& Lmax) +void Matrix_Orbs21::init( + const std::vector>>& orb_A1, + const std::vector>>& orb_A2, + const std::vector>>& orb_B, + const UnitCell& ucell, + const LCAO_Orbitals& orb, + const double kmesh_times) { ModuleBase::TITLE("Matrix_Orbs21", "init"); ModuleBase::timer::tick("Matrix_Orbs21", "init"); - int Lmax_used; + this->lat0 = &ucell.lat0; - const int ntype = orb.get_ntype(); - int lmax_orb = -1, lmax_beta = -1; - this->lat0 = &ucell.lat0; - for (int it = 0; it < ntype; it++) - { - lmax_orb = std::max(lmax_orb, orb.Phi[it].getLmax()); - lmax_beta = std::max(lmax_beta, ucell.infoNL.Beta[it].getLmax()); - } + const int Lmax = std::max({ + Exx_Abfs::Construct_Orbs::get_Lmax(orb_A1) + Exx_Abfs::Construct_Orbs::get_Lmax(orb_A2), + Exx_Abfs::Construct_Orbs::get_Lmax(orb_B) }); + const int Lmax_used = Exx_Abfs::Construct_Orbs::get_Lmax(orb_A1) + Exx_Abfs::Construct_Orbs::get_Lmax(orb_A2) + Exx_Abfs::Construct_Orbs::get_Lmax(orb_B); + + //========================================= + // (3) make Gaunt coefficients table + //========================================= + if(!this->MGT) + { this->MGT = std::make_shared(); } + if(this->MGT->get_Lmax_Gaunt_CH() < Lmax) + { this->MGT->init_Gaunt_CH(Lmax); } + if(this->MGT->get_Lmax_Gaunt_Coefficients() < Lmax) + { this->MGT->init_Gaunt(Lmax); } + const double dr = orb.get_dR(); const double dk = orb.get_dk(); const int kmesh = orb.get_kmesh() * kmesh_times + 1; - int Rmesh = static_cast(rmax / dr) + 4; + const double rmax + = std::min({Exx_Abfs::Construct_Orbs::get_Rmax(orb_A1), Exx_Abfs::Construct_Orbs::get_Rmax(orb_A2)}) + + Exx_Abfs::Construct_Orbs::get_Rmax(orb_B); + int Rmesh = static_cast(rmax / dr) + 4; // extend Rcut, keep dR Rmesh += 1 - Rmesh % 2; - - Center2_Orb::init_Table_Spherical_Bessel(3, - mode, - Lmax_used, - Lmax, - GlobalC::exx_info.info_ri.abfs_Lmax, - lmax_orb, - lmax_beta, + Center2_Orb::init_Table_Spherical_Bessel(Lmax_used, dr, dk, kmesh, Rmesh, psb_); - //========================================= - // (3) make Gaunt coefficients table - //========================================= - // this->MGT.init_Gaunt_CH(2 * Lmax + 1); // why +1 - // this->MGT.init_Gaunt(2 * Lmax + 1); - Lmax = 2 * Lmax + 1; - - ModuleBase::timer::tick("Matrix_Orbs21", "init"); -} - -void Matrix_Orbs21::init_radial(const std::vector>>& orb_A1, - const std::vector>>& orb_A2, - const std::vector>>& orb_B, - const ORB_gaunt_table& MGT) -{ - ModuleBase::TITLE("Matrix_Orbs21", "init_radial"); - ModuleBase::timer::tick("Matrix_Orbs21", "init_radial"); assert(orb_A1.size() == orb_A2.size()); - for (size_t TA = 0; TA != orb_A1.size(); ++TA) - { - for (size_t TB = 0; TB != orb_B.size(); ++TB) - { - for (int LA1 = 0; LA1 != orb_A1[TA].size(); ++LA1) - { - for (size_t NA1 = 0; NA1 != orb_A1[TA][LA1].size(); ++NA1) - { - for (int LA2 = 0; LA2 != orb_A2[TA].size(); ++LA2) - { - for (size_t NA2 = 0; NA2 != orb_A2[TA][LA2].size(); ++NA2) - { - for (int LB = 0; LB != orb_B[TB].size(); ++LB) - { - for (size_t NB = 0; NB != orb_B[TB][LB].size(); ++NB) - { + for (size_t TA = 0; TA != orb_A1.size(); ++TA) { + for (size_t TB = 0; TB != orb_B.size(); ++TB) { + for (int LA1 = 0; LA1 != orb_A1[TA].size(); ++LA1) { + for (size_t NA1 = 0; NA1 != orb_A1[TA][LA1].size(); ++NA1) { + for (int LA2 = 0; LA2 != orb_A2[TA].size(); ++LA2) { + for (size_t NA2 = 0; NA2 != orb_A2[TA][LA2].size(); ++NA2) { + for (int LB = 0; LB != orb_B[TB].size(); ++LB) { + for (size_t NB = 0; NB != orb_B[TB][LB].size(); ++NB) { center2_orb21_s[TA][TB][LA1][NA1][LA2][NA2][LB].insert( - std::make_pair(NB, - Center2_Orb::Orb21(orb_A1[TA][LA1][NA1], - orb_A2[TA][LA2][NA2], - orb_B[TB][LB][NB], - psb_, - MGT))); - } - } - } - } - } - } - } - } - ModuleBase::timer::tick("Matrix_Orbs21", "init_radial"); + std::make_pair( + NB, + Center2_Orb::Orb21( + orb_A1[TA][LA1][NA1], + orb_A2[TA][LA2][NA2], + orb_B[TB][LB][NB], + psb_, + *this->MGT))); + }}}}}}}} + ModuleBase::timer::tick("Matrix_Orbs21", "init"); } +/* void Matrix_Orbs21::init_radial(const std::vector>>& orb_A1, const LCAO_Orbitals& orb_A2, - const LCAO_Orbitals& orb_B, - const ORB_gaunt_table& MGT) + const LCAO_Orbitals& orb_B) { ModuleBase::TITLE("Matrix_Orbs21", "init_radial"); ModuleBase::timer::tick("Matrix_Orbs21", "init_radial"); @@ -129,7 +104,7 @@ void Matrix_Orbs21::init_radial(const std::vectorMGT))); } } } @@ -140,6 +115,7 @@ void Matrix_Orbs21::init_radial(const std::vector - void init(const int mode, - const UnitCell& ucell, - const LCAO_Orbitals& orb, - const double kmesh_times, // extend Kcut, keep dK - const double rmax, - int& Lmax); // extend Rcut, keep dR - - void init_radial(const std::vector>>& orb_A1, - const std::vector>>& orb_A2, - const std::vector>>& orb_B, - const ORB_gaunt_table& MGT); - void init_radial(const std::vector>>& orb_A1, - const LCAO_Orbitals& orb_A2, - const LCAO_Orbitals& orb_B, - const ORB_gaunt_table& MGT); + void init( + const std::vector>>& orb_A1, + const std::vector>>& orb_A2, + const std::vector>>& orb_B, + const UnitCell& ucell, + const LCAO_Orbitals& orb, + const double kmesh_times); // extend Kcut, keep dK void init_radial_table(); void init_radial_table(const std::map>>& Rs); // unit: ucell.lat0 @@ -77,6 +67,8 @@ class Matrix_Orbs21 const ModuleBase::Element_Basis_Index::IndexLNM& index_A1, const ModuleBase::Element_Basis_Index::IndexLNM& index_A2, const ModuleBase::Element_Basis_Index::IndexLNM& index_B) const; + + std::shared_ptr MGT; private: ModuleBase::Sph_Bessel_Recursive::D2* psb_ = nullptr; diff --git a/source/source_lcao/module_ri/Matrix_Orbs22.cpp b/source/source_lcao/module_ri/Matrix_Orbs22.cpp index 01d0330406..1dca7a351b 100644 --- a/source/source_lcao/module_ri/Matrix_Orbs22.cpp +++ b/source/source_lcao/module_ri/Matrix_Orbs22.cpp @@ -5,94 +5,86 @@ #include "Matrix_Orbs22.h" +#include "exx_abfs-construct_orbs.h" #include "source_base/timer.h" #include "source_base/tool_title.h" #include "source_pw/module_pwdft/global.h" -void Matrix_Orbs22::init(const int mode, - const UnitCell& ucell, - const LCAO_Orbitals& orb, - const double kmesh_times, - const double rmax, - int& Lmax) +void Matrix_Orbs22::init( + const std::vector>>& orb_A1, + const std::vector>>& orb_A2, + const std::vector>>& orb_B1, + const std::vector>>& orb_B2, + const UnitCell& ucell, + const LCAO_Orbitals& orb, + const double kmesh_times) { ModuleBase::TITLE("Matrix_Orbs22", "init"); ModuleBase::timer::tick("Matrix_Orbs22", "init"); - int Lmax_used; - this->lat0 = &ucell.lat0; - const int ntype = orb.get_ntype(); - int lmax_orb = -1, lmax_beta = -1; - for (int it = 0; it < ntype; it++) - { - lmax_orb = std::max(lmax_orb, orb.Phi[it].getLmax()); - lmax_beta = std::max(lmax_beta, ucell.infoNL.Beta[it].getLmax()); - } + this->lat0 = &ucell.lat0; + + const int Lmax = std::max({ + Exx_Abfs::Construct_Orbs::get_Lmax(orb_A1) + Exx_Abfs::Construct_Orbs::get_Lmax(orb_A2), + Exx_Abfs::Construct_Orbs::get_Lmax(orb_B1) + Exx_Abfs::Construct_Orbs::get_Lmax(orb_B2) }); + const int Lmax_used = Exx_Abfs::Construct_Orbs::get_Lmax(orb_A1) + Exx_Abfs::Construct_Orbs::get_Lmax(orb_A2) + Exx_Abfs::Construct_Orbs::get_Lmax(orb_B1) + Exx_Abfs::Construct_Orbs::get_Lmax(orb_B2); + + //========================================= + // (3) make Gaunt coefficients table + //========================================= + if(!this->MGT) + { this->MGT = std::make_shared(); } + if(this->MGT->get_Lmax_Gaunt_CH() < Lmax) + { this->MGT->init_Gaunt_CH(Lmax); } + if(this->MGT->get_Lmax_Gaunt_Coefficients() < Lmax) + { this->MGT->init_Gaunt(Lmax); } + const double dr = orb.get_dR(); const double dk = orb.get_dk(); const int kmesh = orb.get_kmesh() * kmesh_times + 1; - int Rmesh = static_cast(rmax / dr) + 4; + const double rmax + = std::min({Exx_Abfs::Construct_Orbs::get_Rmax(orb_A1), Exx_Abfs::Construct_Orbs::get_Rmax(orb_A2)}) + + std::min({Exx_Abfs::Construct_Orbs::get_Rmax(orb_B1), Exx_Abfs::Construct_Orbs::get_Rmax(orb_B2)}); + int Rmesh = static_cast(rmax / dr) + 4; // extend Rcut, keep dR Rmesh += 1 - Rmesh % 2; - - Center2_Orb::init_Table_Spherical_Bessel(4, - mode, - Lmax_used, - Lmax, - GlobalC::exx_info.info_ri.abfs_Lmax, - lmax_orb, - lmax_beta, + Center2_Orb::init_Table_Spherical_Bessel(Lmax_used, dr, dk, kmesh, Rmesh, psb_); - //========================================= - // (3) make Gaunt coefficients table - //========================================= - // this->MGT.init_Gaunt_CH(2 * Lmax + 1); // why +1 - // this->MGT.init_Gaunt(2 * Lmax + 1); - Lmax = 2 * Lmax + 1; - - ModuleBase::timer::tick("Matrix_Orbs22", "init"); -} - -void Matrix_Orbs22::init_radial(const std::vector>>& orb_A1, - const std::vector>>& orb_A2, - const std::vector>>& orb_B1, - const std::vector>>& orb_B2, - const ORB_gaunt_table& MGT) -{ - ModuleBase::TITLE("Matrix_Orbs22", "init_radial"); - ModuleBase::timer::tick("Matrix_Orbs22", "init_radial"); assert(orb_A1.size() == orb_A2.size()); assert(orb_B1.size() == orb_B2.size()); - for (size_t TA = 0; TA != orb_A1.size(); ++TA) - for (size_t TB = 0; TB != orb_B1.size(); ++TB) - for (int LA1 = 0; LA1 != orb_A1[TA].size(); ++LA1) - for (size_t NA1 = 0; NA1 != orb_A1[TA][LA1].size(); ++NA1) - for (int LA2 = 0; LA2 != orb_A2[TA].size(); ++LA2) - for (size_t NA2 = 0; NA2 != orb_A2[TA][LA2].size(); ++NA2) - for (int LB1 = 0; LB1 != orb_B1[TB].size(); ++LB1) - for (size_t NB1 = 0; NB1 != orb_B1[TB][LB1].size(); ++NB1) - for (int LB2 = 0; LB2 != orb_B2[TB].size(); ++LB2) - for (size_t NB2 = 0; NB2 != orb_B2[TB][LB2].size(); ++NB2) + for (size_t TA = 0; TA != orb_A1.size(); ++TA) { + for (size_t TB = 0; TB != orb_B1.size(); ++TB) { + for (int LA1 = 0; LA1 != orb_A1[TA].size(); ++LA1) { + for (size_t NA1 = 0; NA1 != orb_A1[TA][LA1].size(); ++NA1) { + for (int LA2 = 0; LA2 != orb_A2[TA].size(); ++LA2) { + for (size_t NA2 = 0; NA2 != orb_A2[TA][LA2].size(); ++NA2) { + for (int LB1 = 0; LB1 != orb_B1[TB].size(); ++LB1) { + for (size_t NB1 = 0; NB1 != orb_B1[TB][LB1].size(); ++NB1) { + for (int LB2 = 0; LB2 != orb_B2[TB].size(); ++LB2) { + for (size_t NB2 = 0; NB2 != orb_B2[TB][LB2].size(); ++NB2) { center2_orb22_s[TA][TB][LA1][NA1][LA2][NA2][LB1][NB1][LB2].insert( - std::make_pair(NB2, - Center2_Orb::Orb22(orb_A1[TA][LA1][NA1], - orb_A2[TA][LA2][NA2], - orb_B1[TB][LB1][NB1], - orb_B2[TB][LB2][NB2], - psb_, - MGT))); - ModuleBase::timer::tick("Matrix_Orbs22", "init_radial"); + std::make_pair( + NB2, + Center2_Orb::Orb22( + orb_A1[TA][LA1][NA1], + orb_A2[TA][LA2][NA2], + orb_B1[TB][LB1][NB1], + orb_B2[TB][LB2][NB2], + psb_, + *this->MGT))); + }}}}}}}}}} + ModuleBase::timer::tick("Matrix_Orbs22", "init"); } +/* void Matrix_Orbs22::init_radial(const LCAO_Orbitals& orb_A1, const LCAO_Orbitals& orb_A2, const LCAO_Orbitals& orb_B1, - const LCAO_Orbitals& orb_B2, - const ORB_gaunt_table& MGT) + const LCAO_Orbitals& orb_B2) { ModuleBase::TITLE("Matrix_Orbs22", "init_radial"); ModuleBase::timer::tick("Matrix_Orbs22", "init_radial"); @@ -115,9 +107,10 @@ void Matrix_Orbs22::init_radial(const LCAO_Orbitals& orb_A1, orb_B1.Phi[TB].PhiLN(LB1, NB1), orb_B2.Phi[TB].PhiLN(LB2, NB2), psb_, - MGT))); + *this->MGT))); ModuleBase::timer::tick("Matrix_Orbs22", "init_radial"); } +*/ void Matrix_Orbs22::init_radial_table() { diff --git a/source/source_lcao/module_ri/Matrix_Orbs22.h b/source/source_lcao/module_ri/Matrix_Orbs22.h index a7db572176..7451f80ed6 100644 --- a/source/source_lcao/module_ri/Matrix_Orbs22.h +++ b/source/source_lcao/module_ri/Matrix_Orbs22.h @@ -21,25 +21,14 @@ class Matrix_Orbs22 { public: - // mode: - // 1: - void init(const int mode, - const UnitCell& ucell, - const LCAO_Orbitals& orb, - const double kmesh_times, // extend Kcut, keep dK - const double rmax, - int& Lmax); // extend Rcut, keep dR - - void init_radial(const std::vector>>& orb_A1, - const std::vector>>& orb_A2, - const std::vector>>& orb_B1, - const std::vector>>& , - const ORB_gaunt_table& MGT); - void init_radial(const LCAO_Orbitals& orb_A1, - const LCAO_Orbitals& orb_A2, - const LCAO_Orbitals& orb_B1, - const LCAO_Orbitals& orb_B2, - const ORB_gaunt_table& MGT); + void init( + const std::vector>>& orb_A1, + const std::vector>>& orb_A2, + const std::vector>>& orb_B1, + const std::vector>>& orb_B2, + const UnitCell& ucell, + const LCAO_Orbitals& orb, + const double kmesh_times); // extend Kcut, keep dK void init_radial_table(); void init_radial_table(const std::map>>& Rs); // unit: ucell.lat0 @@ -101,6 +90,8 @@ class Matrix_Orbs22 const ModuleBase::Element_Basis_Index::IndexLNM& index_A2, const ModuleBase::Element_Basis_Index::IndexLNM& index_B1, const ModuleBase::Element_Basis_Index::IndexLNM& index_B2) const; + + std::shared_ptr MGT; private: ModuleBase::Sph_Bessel_Recursive::D2* psb_ = nullptr; diff --git a/source/source_lcao/module_ri/RPA_LRI.h b/source/source_lcao/module_ri/RPA_LRI.h index a6a7b275cb..75161a21a4 100644 --- a/source/source_lcao/module_ri/RPA_LRI.h +++ b/source/source_lcao/module_ri/RPA_LRI.h @@ -49,7 +49,7 @@ template class RPA_LRI const psi::Psi& psi, const elecstate::ElecState* pelec); void out_eigen_vector(const Parallel_Orbitals& parav, const psi::Psi& psi); - void out_struc(const ModuleBase::Matrix3& latvec, const ModuleBase::Matrix3& G); + void out_struc(const UnitCell &ucell); void out_bands(const elecstate::ElecState *pelec); void out_Cs(const UnitCell &ucell); diff --git a/source/source_lcao/module_ri/RPA_LRI.hpp b/source/source_lcao/module_ri/RPA_LRI.hpp index 79e39ff8b7..8b039122ee 100644 --- a/source/source_lcao/module_ri/RPA_LRI.hpp +++ b/source/source_lcao/module_ri/RPA_LRI.hpp @@ -69,6 +69,7 @@ void RPA_LRI::cal_rpa_cv(const UnitCell& ucell) }); std::map>>& Cs = std::get<0>(Cs_dCs); this->Cs_period = RI::RI_Tools::cal_period(Cs, period); + this->Cs_period = exx_lri_rpa.exx_lri.post_2D.set_tensors_map2(this->Cs_period); } template @@ -90,9 +91,15 @@ void RPA_LRI::cal_postSCF_exx(const elecstate::DensityMatrix if (exx_spacegroup_symmetry) { const std::array period = RI_Util::get_Born_vonKarmen_period(kv); + const auto& Rs = RI_Util::get_Born_von_Karmen_cells(period); symrot.find_irreducible_sector(ucell.symm, ucell.atoms, ucell.st, - RI_Util::get_Born_von_Karmen_cells(period), period, ucell.lat); + Rs, period, ucell.lat); + // set Lmax of the rotation matrices to max(l_ao, l_abf), to support rotation under ABF + symrot.set_abfs_Lmax(Exx_Abfs::Construct_Orbs::get_Lmax(exx_lri_rpa.abfs)); symrot.cal_Ms(kv, ucell, *dm.get_paraV_pointer()); + // output Ts (symrot_R.txt) and Ms (symrot_k.txt) + ModuleSymmetry::print_symrot_info_R(symrot, ucell.symm, ucell.lmax, Rs); + ModuleSymmetry::print_symrot_info_k(symrot, kv, ucell); mix_DMk_2D.mix(symrot.restore_dm(kv, dm.get_DMK_vector(), *dm.get_paraV_pointer()), true); } else { mix_DMk_2D.mix(dm.get_DMK_vector(), true); } @@ -106,6 +113,11 @@ void RPA_LRI::cal_postSCF_exx(const elecstate::DensityMatrix GlobalC::exx_info.info_global.ccp_type = Conv_Coulomb_Pot_K::Ccp_Type::Hf; GlobalC::exx_info.info_global.hybrid_alpha = 1; GlobalC::exx_info.info_ri.ccp_rmesh_times = PARAM.inp.rpa_ccp_rmesh_times; + GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Fock].resize(1); + GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Fock] = {{ + {"alpha", "1"}, + {"singularity_correction", "spencer"} }}; + exx_lri_rpa.init(mpi_comm_in, ucell, kv, orb); exx_lri_rpa.cal_exx_ions(ucell,PARAM.inp.out_ri_cv); @@ -114,8 +126,7 @@ void RPA_LRI::cal_postSCF_exx(const elecstate::DensityMatrix exx_lri_rpa.cal_exx_elec(Ds, ucell,*dm.get_paraV_pointer(), &symrot); } else { exx_lri_rpa.cal_exx_elec(Ds, ucell,*dm.get_paraV_pointer()); -} - // cout<<"postSCF_Eexx: "< @@ -127,7 +138,7 @@ void RPA_LRI::out_for_RPA(const UnitCell& ucell, ModuleBase::TITLE("DFT_RPA_interface", "out_for_RPA"); this->out_bands(pelec); this->out_eigen_vector(parav, psi); - this->out_struc(ucell.latvec, ucell.G); + this->out_struc(ucell); this->cal_rpa_cv(ucell); std::cout << "rpa_pca_threshold: " << this->info.pca_threshold << std::endl; @@ -211,7 +222,7 @@ void RPA_LRI::out_eigen_vector(const Parallel_Orbitals& parav, const p } template -void RPA_LRI::out_struc(const ModuleBase::Matrix3& latvec, const ModuleBase::Matrix3& G) +void RPA_LRI::out_struc(const UnitCell &ucell) { if (GlobalV::MY_RANK != 0) { @@ -219,14 +230,16 @@ void RPA_LRI::out_struc(const ModuleBase::Matrix3& latvec, const Modul } ModuleBase::TITLE("DFT_RPA_interface", "out_struc"); double TWOPI_Bohr2A = ModuleBase::TWO_PI * ModuleBase::BOHR_TO_A; - const int nks_tot = PARAM.inp.nspin == 2 ? (int)p_kv->get_nks() / 2 : p_kv->get_nks(); - ModuleBase::Matrix3 lat = latvec / ModuleBase::BOHR_TO_A; - ModuleBase::Matrix3 G_RPA = G * TWOPI_Bohr2A; + const int nks_tot = PARAM.inp.nspin == 2 ? (int)p_kv->get_nkstot() / 2 : p_kv->get_nkstot(); + const int nks_tot_full = p_kv->get_nkstot_full(); + const int natom = ucell.nat; + ModuleBase::Matrix3 lat = ucell.latvec / ModuleBase::BOHR_TO_A; + ModuleBase::Matrix3 G_RPA = ucell.G * TWOPI_Bohr2A; std::stringstream ss; ss << "stru_out"; std::ofstream ofs; ofs.open(ss.str().c_str(), std::ios::out); - ofs << lat.e11 << std::setw(15) << lat.e12 << std::setw(15) << lat.e13 << std::endl; + ofs << std::fixed << std::setprecision(9) << lat.e11 << std::setw(15) << lat.e12 << std::setw(15) << lat.e13 << std::endl; ofs << lat.e21 << std::setw(15) << lat.e22 << std::setw(15) << lat.e23 << std::endl; ofs << lat.e31 << std::setw(15) << lat.e32 << std::setw(15) << lat.e33 << std::endl; @@ -234,14 +247,25 @@ void RPA_LRI::out_struc(const ModuleBase::Matrix3& latvec, const Modul ofs << G_RPA.e21 << std::setw(15) << G_RPA.e22 << std::setw(15) << G_RPA.e23 << std::endl; ofs << G_RPA.e31 << std::setw(15) << G_RPA.e32 << std::setw(15) << G_RPA.e33 << std::endl; + ofs << natom << std::endl; + for(int iat=0; iat < natom; ++iat) { + int it = ucell.iat2it[iat]; + ModuleBase::Vector3 atom_pos = ucell.atoms[ it ].tau[ ucell.iat2ia[iat] ]/ ModuleBase::BOHR_TO_A; + ofs << atom_pos.x << std::setw(15) << atom_pos.y << std::setw(15) << atom_pos.z << std::setw(15) << (it + 1) << std::endl; + } + ofs << p_kv->nmp[0] << std::setw(6) << p_kv->nmp[1] << std::setw(6) << p_kv->nmp[2] << std::setw(6) << std::endl; for (int ik = 0; ik != nks_tot; ik++) { - ofs << std::setw(15) << std::fixed << std::setprecision(9) << p_kv->kvec_c[ik].x * TWOPI_Bohr2A << std::setw(15) - << std::fixed << std::setprecision(9) << p_kv->kvec_c[ik].y * TWOPI_Bohr2A << std::setw(15) << std::fixed - << std::setprecision(9) << p_kv->kvec_c[ik].z * TWOPI_Bohr2A << std::endl; + ofs << std::setw(15) << p_kv->kvec_c[ik].x * TWOPI_Bohr2A << std::setw(15) + << p_kv->kvec_c[ik].y * TWOPI_Bohr2A << std::setw(15) << p_kv->kvec_c[ik].z * TWOPI_Bohr2A << std::endl; + } + + for (int ik = 0; ik != nks_tot_full; ++ik){ + ofs << (p_kv->ibz_index[ik] + 1) << std::endl; } + ofs.close(); return; } @@ -375,11 +399,11 @@ void RPA_LRI::out_coulomb_k(const UnitCell &ucell) size_t nu_num = exx_lri_rpa.exx_objs[Conv_Coulomb_Pot_K::Coulomb_Method::Center2].cv.get_index_abfs_size(ucell.iat2it[iJ]); ofs << all_mu << " " << mu_shift[I] + 1 << " " << mu_shift[I] + mu_num << " " << mu_shift[iJ] + 1 << " " << mu_shift[iJ] + nu_num << std::endl; - ofs << ik + 1 << " " << p_kv->wk[ik] / 2.0 * PARAM.inp.nspin << std::endl; + ofs << ik + 1 << " " << std::fixed << std::setprecision(12) << p_kv->wk[ik] / 2.0 * PARAM.inp.nspin << std::endl; for (int i = 0; i != vq_J.data->size(); i++) { - ofs << std::setw(21) << std::fixed << std::setprecision(12) << (*vq_J.data)[i].real() - << std::setw(21) << std::fixed << std::setprecision(12) << (*vq_J.data)[i].imag() << std::endl; + ofs << std::setw(21) << (*vq_J.data)[i].real() + << std::setw(21) << (*vq_J.data)[i].imag() << std::endl; } } } diff --git a/source/source_lcao/module_ri/exx_abfs-abfs_index.cpp b/source/source_lcao/module_ri/exx_abfs-abfs_index.cpp deleted file mode 100644 index 9826afd63f..0000000000 --- a/source/source_lcao/module_ri/exx_abfs-abfs_index.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include "exx_abfs-abfs_index.h" -#include "../../source_basis/module_ao/ORB_read.h" - -ModuleBase::Element_Basis_Index::Range - Exx_Abfs::Abfs_Index::construct_range( const LCAO_Orbitals &orb ) -{ - ModuleBase::Element_Basis_Index::Range range; - range.resize( orb.get_ntype() ); - for( size_t T=0; T!=range.size(); ++T ) - { - range[T].resize( orb.Phi[T].getLmax()+1 ); - for( size_t L=0; L!=range[T].size(); ++L ) - { - range[T][L].N = orb.Phi[T].getNchi(L); - range[T][L].M = 2*L+1; - } - } - return range; -} - - -ModuleBase::Element_Basis_Index::Range - Exx_Abfs::Abfs_Index::construct_range( const std::vector>> &orb ) -{ - ModuleBase::Element_Basis_Index::Range range; - range.resize( orb.size() ); - for( size_t T=0; T!=range.size(); ++T ) - { - range[T].resize( orb[T].size() ); - for( size_t L=0; L!=range[T].size(); ++L ) - { - range[T][L].N = orb[T][L].size(); - range[T][L].M = 2*L+1; - } - } - return range; -} diff --git a/source/source_lcao/module_ri/exx_abfs-abfs_index.h b/source/source_lcao/module_ri/exx_abfs-abfs_index.h deleted file mode 100644 index 40dce3c5c6..0000000000 --- a/source/source_lcao/module_ri/exx_abfs-abfs_index.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef EXX_ABFS_ABFS_INDEX_H -#define EXX_ABFS_ABFS_INDEX_H - -#include "exx_abfs.h" - -#include -#include "../../source_base/element_basis_index.h" -#include "../../source_basis/module_ao/ORB_atomic_lm.h" - -class LCAO_Orbitals; - -class Exx_Abfs::Abfs_Index -{ -public: - static ModuleBase::Element_Basis_Index::Range construct_range( const LCAO_Orbitals &orb ); - static ModuleBase::Element_Basis_Index::Range construct_range( const std::vector>> &orb ); -}; - -#endif // EXX_ABFS_ABFS_INDEX_H \ No newline at end of file diff --git a/source/source_lcao/module_ri/exx_abfs-construct_orbs.cpp b/source/source_lcao/module_ri/exx_abfs-construct_orbs.cpp index 1556335572..0a0e22b21a 100644 --- a/source/source_lcao/module_ri/exx_abfs-construct_orbs.cpp +++ b/source/source_lcao/module_ri/exx_abfs-construct_orbs.cpp @@ -86,6 +86,8 @@ std::vector>> Exx_Abfs::Construct_ const double times_threshold ) { ModuleBase::TITLE("Exx_Abfs::Construct_Orbs::abfs_same_atom"); + if(times_threshold>1) + { return std::vector>>(orb.get_ntype()); } const std::vector>>> abfs_same_atom_psi = psi_mult_psi( orbs ); diff --git a/source/source_lcao/module_ri/exx_abfs-construct_orbs.h b/source/source_lcao/module_ri/exx_abfs-construct_orbs.h index ae698b33bd..01b2dc36a9 100644 --- a/source/source_lcao/module_ri/exx_abfs-construct_orbs.h +++ b/source/source_lcao/module_ri/exx_abfs-construct_orbs.h @@ -22,7 +22,7 @@ class Exx_Abfs::Construct_Orbs static std::vector>> abfs_same_atom( const UnitCell &ucell, - const LCAO_Orbitals& orb, + const LCAO_Orbitals& orb, const std::vector>> &lcaos, const double kmesh_times_mot, const double times_threshold=0); @@ -32,30 +32,36 @@ class Exx_Abfs::Construct_Orbs const std::vector>> &orbs, std::ostream &os); - // get the max number of orbitals among all elements - // static int get_nmax_total(const - // std::vector>> &orb_in); get - // number of orbitals for each element static std::map - // get_nw(const std::vector>> - // &orb_in); + // get the max number of orbitals among all elements + // static int get_nmax_total(const + // std::vector>> &orb_in); get + // number of orbitals for each element static std::map + // get_nw(const std::vector>> + // &orb_in); - // get multipole of orbitals for each element and angular moment - static std::vector>> get_multipole( - const std::vector>>& - orb_in); + // get multipole of orbitals for each element and angular moment + static std::vector>> get_multipole( + const std::vector>> &orb_in); - static std::vector get_Rcut( - const std::vector>>& - orb_in); - static inline double get_Rmax(const std::vector& rcut) { - return *std::max_element(rcut.begin(), rcut.end()); - } - static inline double get_Rmax( - const std::vector>>& - orb_in) { - std::vector rcut = get_Rcut(orb_in); - return get_Rmax(rcut); - } + static std::vector get_Rcut( + const std::vector>> &orb_in); + static inline double get_Rmax(const std::vector& rcut) + { + return *std::max_element(rcut.begin(), rcut.end()); + } + static inline double get_Rmax( + const std::vector>> &orb_in) + { + std::vector rcut = get_Rcut(orb_in); + return get_Rmax(rcut); + } + template + static int get_Lmax(const std::vector> &orb) + { + return max_element(orb.begin(), orb.end(), + [](const std::vector &orb_A, const std::vector &orb_B){ return orb_A.size() < orb_B.size(); }) + ->size() - 1; + } static void filter_empty_orbs( std::vector>> &orbs); @@ -74,7 +80,7 @@ class Exx_Abfs::Construct_Orbs static std::vector>>> pca( const UnitCell &ucell, - const LCAO_Orbitals& orb, + const LCAO_Orbitals& orb, const std::vector>> &abfs, const std::vector>> &orbs, const double kmesh_times_mot, diff --git a/source/source_lcao/module_ri/exx_abfs-io.cpp b/source/source_lcao/module_ri/exx_abfs-io.cpp index 6e961f3e2f..2d78dcb4d8 100644 --- a/source/source_lcao/module_ri/exx_abfs-io.cpp +++ b/source/source_lcao/module_ri/exx_abfs-io.cpp @@ -4,7 +4,6 @@ #include "exx_abfs-io.h" #include "exx_abfs-jle.h" -#include "exx_abfs-abfs_index.h" #include "../../source_pw/module_pwdft/global.h" #include "../../source_basis/module_ao/ORB_read.h" #include "../../source_base/global_function.h" @@ -16,6 +15,7 @@ std::vector>> Exx_Abfs::IO::constr const std::vector &files_abfs, const double kmesh_times ) { + ModuleBase::TITLE("Exx_Abfs::IO::construct_abfs"); std::vector>> abfs( files_abfs.size() ); for( size_t T=0; T!=files_abfs.size(); ++T ) abfs[T] = construct_abfs_T( @@ -36,7 +36,7 @@ std::vector>> Exx_Abfs::IO::constr const double kmesh_times ) { std::vector>> - &&abfs = construct_abfs( orbs, files_abfs, kmesh_times ); + abfs = construct_abfs( orbs, files_abfs, kmesh_times ); assert( abfs.size() == abfs_pre.size() ); for( size_t T=0; T!=abfs.size(); ++T ) @@ -73,7 +73,7 @@ std::vector> Exx_Abfs::IO::construct_abfs_T( std::ifstream ifs( file_name.c_str() ); if(!ifs) - throw std::runtime_error(" Can't find the abfs ORBITAL file."); + throw std::runtime_error(" Can't find the abfs ORBITAL file " + file_name); while( ifs.good() ) { @@ -130,10 +130,22 @@ std::vector> Exx_Abfs::IO::construct_abfs_T( { ModuleBase::GlobalFunc::READ_VALUE( ifs, N_size[8] ); } + else if ( "Lorbital-->"==word ) + { + ModuleBase::GlobalFunc::READ_VALUE( ifs, N_size[9] ); + } + else if ( "Morbital-->"==word ) + { + ModuleBase::GlobalFunc::READ_VALUE( ifs, N_size[10] ); + } + else if ( "Norbital-->"==word ) + { + ModuleBase::GlobalFunc::READ_VALUE( ifs, N_size[11] ); + } else if ( "END"==word ) { break; - } + } } ModuleBase::CHECK_NAME(ifs, "Mesh"); @@ -169,19 +181,11 @@ std::vector> Exx_Abfs::IO::construct_abfs_T( ----------------------*/ for( size_t L=0; L<=L_size; ++L ) if( N_size.find(L) == N_size.end() ) - { - std::stringstream ss; - ss<<"Can't find N of L="<>> Exx_Abfs::Jle::init_jle( @@ -13,15 +14,19 @@ Exx_Abfs::Jle::init_jle( const UnitCell& ucell, const LCAO_Orbitals& orb) { + ModuleBase::TITLE("Exx_Abfs::Jle","init_jle"); std::vector>> jle( ucell.ntype ); for(int T=0; T0) + { jle[T].resize( info.abfs_Lmax+1 ); } for(int L=0; L<=info.abfs_Lmax; ++L) { const size_t ecut_number = static_cast( std::sqrt( info.ecut_exx ) * orb.Phi[T].getRcut() / ModuleBase::PI ); // Rydberg Unit. + if(ecut_number<=0) + { continue; } jle[T][L].resize( ecut_number ); diff --git a/source/source_lcao/module_ri/exx_abfs.h b/source/source_lcao/module_ri/exx_abfs.h index bda52e69d2..8a78307b36 100644 --- a/source/source_lcao/module_ri/exx_abfs.h +++ b/source/source_lcao/module_ri/exx_abfs.h @@ -15,7 +15,6 @@ using std::map; class Exx_Abfs { public: - class Abfs_Index; class Jle; class IO; class Construct_Orbs; @@ -23,7 +22,6 @@ class Exx_Abfs int rmesh_times = 5; // Peize Lin test int kmesh_times = 1; // Peize Lin test - }; #endif diff --git a/source/source_lcao/module_ri/exx_lip.hpp b/source/source_lcao/module_ri/exx_lip.hpp index aad7b3494c..1ba014a935 100644 --- a/source/source_lcao/module_ri/exx_lip.hpp +++ b/source/source_lcao/module_ri/exx_lip.hpp @@ -26,6 +26,10 @@ #include "source_base/timer.h" #include +#include +#include +#include +#include template void Exx_Lip::cal_exx() @@ -487,12 +491,20 @@ void Exx_Lip::write_q_pack() const if (!GlobalV::RANK_IN_POOL) { const std::string exx_q_pack = "exx_q_pack/"; + const std::string dir_path = PARAM.globalv.global_out_dir + exx_q_pack; - const std::string command_mkdir = "test -d " + PARAM.globalv.global_out_dir + exx_q_pack + " || mkdir " + PARAM.globalv.global_out_dir + exx_q_pack; - assert( system(command_mkdir.c_str()) == 0); + int ret = mkdir(dir_path.c_str(), 0755); + assert(ret == 0 || errno == EEXIST); - const std::string command_kpoint = "test -f " + PARAM.globalv.global_out_dir + exx_q_pack + PARAM.inp.kpoint_file + " || cp " + PARAM.inp.kpoint_file + " " + PARAM.globalv.global_out_dir + exx_q_pack + PARAM.inp.kpoint_file; - assert( system(command_kpoint.c_str()) == 0); + const std::string kpoint_dest = dir_path + PARAM.inp.kpoint_file; + struct stat st; + if (stat(kpoint_dest.c_str(), &st) != 0) + { + std::ifstream src(PARAM.inp.kpoint_file, std::ios::binary); + std::ofstream dst(kpoint_dest, std::ios::binary); + dst << src.rdbuf(); + assert(dst.good()); + } std::stringstream ss_wf_wg; ss_wf_wg << PARAM.globalv.global_out_dir << exx_q_pack << "wf_wg_" << GlobalV::MY_POOL; diff --git a/source/source_lcao/module_ri/exx_opt_orb-print.cpp b/source/source_lcao/module_ri/exx_opt_orb-print.cpp index a851d2c579..bf19815cfc 100644 --- a/source/source_lcao/module_ri/exx_opt_orb-print.cpp +++ b/source/source_lcao/module_ri/exx_opt_orb-print.cpp @@ -1,17 +1,21 @@ #include "exx_opt_orb.h" #include "../../source_pw/module_pwdft/global.h" #include "exx_abfs-jle.h" +#include "source_base/tool_title.h" +#include void Exx_Opt_Orb::print_matrix( const Exx_Info::Exx_Info_Opt_ABFs &info, const UnitCell& ucell, - const K_Vectors &kv, - const std::string& file_name, + const K_Vectors &kv, + const int Lmax, + const std::vector &ecut_number, + const std::string &file_name, const std::vector> &matrix_Q, const std::vector>> &matrix_S, const RI::Tensor &matrix_V, - const size_t TA, const size_t IA, const size_t TB, const size_t IB, - const std::vector& orb_cutoff, + const std::size_t TA, const std::size_t IA, const std::size_t TB, const std::size_t IB, + const std::vector& orb_cutoff, const ModuleBase::Element_Basis_Index::Range &range_jles, const ModuleBase::Element_Basis_Index::IndexLNM &index_jles) const { @@ -60,45 +64,40 @@ void Exx_Opt_Orb::print_matrix( << ucell.atoms[TB].tau[IB].z << std::endl; } - // ecutwfc_jlq determine the jlq corresponding to plane wave calculation. - ofs << info.ecut_exx << " ecutwfc" << std::endl; // mohan add 2009-09-08 + ofs << info.ecut_exx << " ecutwfc" << std::endl; // this parameter determine the total number of jlq. - ofs << info.ecut_exx << " ecutwfc_jlq" << std::endl;//mohan modify 2009-09-08 + ofs << info.ecut_exx << " ecutwfc_jlq" << std::endl; if(TA==TB) { ofs << orb_cutoff[TA] << " rcut_Jlq" << std::endl; } else { ofs << orb_cutoff[TA] << " " << orb_cutoff[TB] << " rcut_Jlq" << std::endl; } - // mohan add 'smooth' and 'smearing_sigma' 2009-08-28 ofs << 0 << " smooth" << std::endl; ofs << 0 << " smearing_sigma" << std::endl; ofs << info.tolerence << " tolerence" << std::endl; - ofs << info.abfs_Lmax << " lmax" << std::endl; + ofs << Lmax << " lmax" << std::endl; ofs << kv.get_nkstot() << " nks" << std::endl; assert( matrix_V.shape[0]*matrix_V.shape[1] == matrix_V.shape[2]*matrix_V.shape[3] ); ofs << matrix_V.shape[0]*matrix_V.shape[1] << " nbands" << std::endl; - auto cal_sum_M = [&range_jles](size_t T) -> size_t + auto cal_sum_M = [&range_jles](std::size_t T) -> std::size_t { - size_t sum_M = 0; - for( size_t L = 0; L!=range_jles[T].size(); ++L ) + std::size_t sum_M = 0; + for( std::size_t L = 0; L!=range_jles[T].size(); ++L ) { sum_M += range_jles[T][L].M; } return sum_M; }; - const size_t nwfc = (TA==TB && IA==IB) ? cal_sum_M(TA) : cal_sum_M(TA)+cal_sum_M(TB); + const std::size_t nwfc = (TA==TB && IA==IB) ? cal_sum_M(TA) : cal_sum_M(TA)+cal_sum_M(TB); ofs << nwfc << " nwfc" << std::endl; - const size_t ecut_numberA = static_cast( std::sqrt( info.ecut_exx ) * orb_cutoff[TA] / ModuleBase::PI ); // Rydberg Unit - const size_t ecut_numberB = static_cast( std::sqrt( info.ecut_exx ) * orb_cutoff[TB] / ModuleBase::PI ); // Rydberg Unit - if(TA==TB) - { ofs << ecut_numberA << " ne" << std::endl; } - else - { ofs << ecut_numberA << " " << ecut_numberB << " ne" << std::endl; } + for(const std::size_t ne : ecut_number) + { ofs << ne << " "; } + ofs << "ne" << std::endl; ofs << "" << std::endl; for( int ik=0; ik!=kv.get_nkstot(); ++ik ) @@ -118,18 +117,18 @@ void Exx_Opt_Orb::print_matrix( // < Psi | jY > //--------------------- ofs<< "" << std::endl; - for( size_t iw0=0; iw0!=matrix_V.shape[0]; ++iw0 ) + for( std::size_t iw0=0; iw0!=matrix_V.shape[0]; ++iw0 ) { - for( size_t iw1=0; iw1!=matrix_V.shape[1]; ++iw1 ) + for( std::size_t iw1=0; iw1!=matrix_V.shape[1]; ++iw1 ) { - for( size_t iat=0; iat!=matrix_Q.size(); ++iat ) + for( std::size_t iat=0; iat!=matrix_Q.size(); ++iat ) { - const size_t it = (iat==0) ? TA : TB; - for( size_t il=0; il!=range_jles[it].size(); ++il ) + const std::size_t it = (iat==0) ? TA : TB; + for( std::size_t il=0; il!=range_jles[it].size(); ++il ) { - for( size_t im=0; im!=range_jles[it][il].M; ++im ) + for( std::size_t im=0; im!=range_jles[it][il].M; ++im ) { - for( size_t iq=0; iq!=range_jles[it][il].N; ++iq ) + for( std::size_t iq=0; iq!=range_jles[it][il].N; ++iq ) { ofs< //--------------------- ofs<< "" < //--------------------- ofs << "" << std::endl; - for( size_t iw0=0; iw0!=matrix_V.shape[0]; ++iw0 ) + for( std::size_t iw0=0; iw0!=matrix_V.shape[0]; ++iw0 ) { - for( size_t iw1=0; iw1!=matrix_V.shape[1]; ++iw1 ) + for( std::size_t iw1=0; iw1!=matrix_V.shape[1]; ++iw1 ) { - for( size_t iw2=0; iw2!=matrix_V.shape[2]; ++iw2 ) + for( std::size_t iw2=0; iw2!=matrix_V.shape[2]; ++iw2 ) { - for( size_t iw3=0; iw3!=matrix_V.shape[3]; ++iw3 ) + for( std::size_t iw3=0; iw3!=matrix_V.shape[3]; ++iw3 ) { ofs<" << std::endl << std::endl; }; + ModuleBase::TITLE("Exx_Opt_Orb","print_matrix"); std::ofstream ofs(file_name+"_"+std::to_string(TA)+"_"+std::to_string(IA)+"_"+std::to_string(TB)+"_"+std::to_string(IB)); print_header(ofs); + ofs<>> &orbs) -> bool + { + for(const auto &orb_t : orbs) { + for(const auto &orb_tl : orb_t) { + if(orb_tl.size()>0) { + return false; + }}} + return true; + }; + std::vector>> lcaos = Exx_Abfs::Construct_Orbs::change_orbs( orb, info.kmesh_times ); Exx_Abfs::Construct_Orbs::filter_empty_orbs(lcaos); std::vector>> - abfs = Exx_Abfs::Construct_Orbs::abfs_same_atom(ucell,orb, lcaos, info.kmesh_times, GlobalC::exx_info.info_ri.pca_threshold ); + abfs = Exx_Abfs::Construct_Orbs::abfs_same_atom(ucell,orb, lcaos, info.kmesh_times, info.pca_threshold ); + if(!info.files_abfs.empty()) + { abfs = Exx_Abfs::IO::construct_abfs( abfs, orb, info.files_abfs, info.kmesh_times ); } Exx_Abfs::Construct_Orbs::filter_empty_orbs(abfs); std::vector< std::vector< std::vector< Numerical_Orbital_Lm>>> jle = Exx_Abfs::Jle::init_jle(info, info.kmesh_times, ucell , orb); + if(!info.files_jles.empty()) + { jle = Exx_Abfs::IO::construct_abfs( jle, orb, info.files_jles, info.kmesh_times ); } Exx_Abfs::Construct_Orbs::filter_empty_orbs(jle); - GlobalC::exx_info.info_ri.abfs_Lmax = info.abfs_Lmax; - for( size_t T=0; T!=abfs.size(); ++T ) - { GlobalC::exx_info.info_ri.abfs_Lmax = std::max( GlobalC::exx_info.info_ri.abfs_Lmax, static_cast(abfs[T].size())-1 ); } - - const ModuleBase::Element_Basis_Index::Range range_lcaos = Exx_Abfs::Abfs_Index::construct_range( lcaos ); + const ModuleBase::Element_Basis_Index::Range range_lcaos = ModuleBase::Element_Basis_Index::construct_range( lcaos ); const ModuleBase::Element_Basis_Index::IndexLNM index_lcaos = ModuleBase::Element_Basis_Index::construct_index( range_lcaos ); - const ModuleBase::Element_Basis_Index::Range range_abfs = Exx_Abfs::Abfs_Index::construct_range( abfs ); + const ModuleBase::Element_Basis_Index::Range range_abfs = ModuleBase::Element_Basis_Index::construct_range( abfs ); const ModuleBase::Element_Basis_Index::IndexLNM index_abfs = ModuleBase::Element_Basis_Index::construct_index( range_abfs ); - const ModuleBase::Element_Basis_Index::Range range_jys = Exx_Abfs::Abfs_Index::construct_range( jle ); + const ModuleBase::Element_Basis_Index::Range range_jys = ModuleBase::Element_Basis_Index::construct_range( jle ); const ModuleBase::Element_Basis_Index::IndexLNM index_jys = ModuleBase::Element_Basis_Index::construct_index( range_jys ); Exx_Abfs::Construct_Orbs::print_orbs_size(ucell, abfs, GlobalV::ofs_running); + Exx_Abfs::Construct_Orbs::print_orbs_size(ucell, jle, GlobalV::ofs_running); const std::map>> radial_R = get_radial_R(ucell); // < lcaos lcaos | lcaos lcaos > const auto ms_lcaoslcaos_lcaoslcaos = [&]() -> std::map>>>> { + if(judge_orbs_empty(lcaos)) { return {}; } Matrix_Orbs22 m_lcaoslcaos_lcaoslcaos; - ORB_gaunt_table MGT; - int Lmax; - m_lcaoslcaos_lcaoslcaos.init( 1, ucell,orb, info.kmesh_times, orb.get_Rmax(), Lmax ); - MGT.init_Gaunt_CH(Lmax); - MGT.init_Gaunt(Lmax); - m_lcaoslcaos_lcaoslcaos.init_radial( lcaos, lcaos, lcaos, lcaos, MGT ); + m_lcaoslcaos_lcaoslcaos.init( lcaos, lcaos, lcaos, lcaos, ucell,orb, info.kmesh_times ); #if TEST_EXX_RADIAL>=1 m_lcaoslcaos_lcaoslcaos.init_radial_table(radial_R); #else @@ -70,13 +78,10 @@ void Exx_Opt_Orb::generate_matrix( // < lcaos lcaos | jys > const auto ms_lcaoslcaos_jys = [&]() -> std::map>>>>> { + if(judge_orbs_empty(lcaos)) { return {}; } + if(judge_orbs_empty(jle)) { return {}; } Matrix_Orbs21 m_jyslcaos_lcaos; - ORB_gaunt_table MGT; - int Lmax; - m_jyslcaos_lcaos.init( 1, ucell , orb, info.kmesh_times, orb.get_Rmax(), Lmax ); - MGT.init_Gaunt_CH(Lmax); - MGT.init_Gaunt(Lmax); - m_jyslcaos_lcaos.init_radial( jle, lcaos, lcaos, MGT); + m_jyslcaos_lcaos.init( jle, lcaos, lcaos, ucell , orb, info.kmesh_times ); #if TEST_EXX_RADIAL>=1 m_jyslcaos_lcaos.init_radial_table( radial_R); #else @@ -88,13 +93,9 @@ void Exx_Opt_Orb::generate_matrix( // < jys | jys > const auto ms_jys_jys = [&]() -> std::map>>>> { + if(judge_orbs_empty(jle)) { return {}; } Matrix_Orbs11 m_jys_jys; - ORB_gaunt_table MGT; - int Lmax; - m_jys_jys.init( 2,ucell,orb, info.kmesh_times, orb.get_Rmax(), Lmax ); - MGT.init_Gaunt_CH(Lmax); - MGT.init_Gaunt(Lmax); - m_jys_jys.init_radial( jle, jle, MGT ); + m_jys_jys.init( jle, jle, ucell,orb, info.kmesh_times ); #if TEST_EXX_RADIAL>=1 m_jys_jys.init_radial_table(radial_R); #else @@ -106,13 +107,9 @@ void Exx_Opt_Orb::generate_matrix( // < abfs | abfs > const auto ms_abfs_abfs = [&]() -> std::map>>>> { + if(judge_orbs_empty(abfs)) { return {}; } Matrix_Orbs11 m_abfs_abfs; - ORB_gaunt_table MGT; - int Lmax; - m_abfs_abfs.init( 2, ucell, orb, info.kmesh_times, orb.get_Rmax(), Lmax ); - MGT.init_Gaunt_CH(Lmax); - MGT.init_Gaunt(Lmax); - m_abfs_abfs.init_radial( abfs, abfs, MGT ); + m_abfs_abfs.init( abfs, abfs, ucell, orb, info.kmesh_times ); #if TEST_EXX_RADIAL>=1 m_abfs_abfs.init_radial_table(radial_R); #else @@ -124,13 +121,10 @@ void Exx_Opt_Orb::generate_matrix( // < lcaos lcaos | abfs > const auto ms_lcaoslcaos_abfs = [&]() -> std::map>>>>> { + if(judge_orbs_empty(lcaos)) { return {}; } + if(judge_orbs_empty(abfs)) { return {}; } Matrix_Orbs21 m_abfslcaos_lcaos; - ORB_gaunt_table MGT; - int Lmax; - m_abfslcaos_lcaos.init( 1, ucell , orb, info.kmesh_times, orb.get_Rmax(), Lmax ); - MGT.init_Gaunt_CH(Lmax); - MGT.init_Gaunt(Lmax); - m_abfslcaos_lcaos.init_radial( abfs, lcaos, lcaos, MGT ); + m_abfslcaos_lcaos.init( abfs, lcaos, lcaos, ucell , orb, info.kmesh_times ); #if TEST_EXX_RADIAL>=1 m_abfslcaos_lcaos.init_radial_table(radial_R); #else @@ -142,13 +136,10 @@ void Exx_Opt_Orb::generate_matrix( // < jys | abfs > const auto ms_jys_abfs = [&]() -> std::map>>>> { + if(judge_orbs_empty(jle)) { return {}; } + if(judge_orbs_empty(abfs)) { return {}; } Matrix_Orbs11 m_jys_abfs; - ORB_gaunt_table MGT; - int Lmax; - m_jys_abfs.init( 2, ucell,orb, info.kmesh_times, orb.get_Rmax(), Lmax ); - MGT.init_Gaunt_CH(Lmax); - MGT.init_Gaunt(Lmax); - m_jys_abfs.init_radial( jle, abfs, MGT ); + m_jys_abfs.init( jle, abfs, ucell,orb, info.kmesh_times ); #if TEST_EXX_RADIAL>=1 m_jys_abfs.init_radial_table(radial_R); #else @@ -168,28 +159,25 @@ void Exx_Opt_Orb::generate_matrix( if( TA==TB && IA==IB ) { const size_t T=TA, I=IA; - if(GlobalC::exx_info.info_ri.pca_threshold<=1) + if(!judge_orbs_empty(abfs)) { // < abfs | abfs >.I const std::vector>> ms_abfs_abfs_I = cal_I( ms_abfs_abfs, T,I,T,I ); // < lcaos lcaos | lcaos lcaos > - < lcaos lcaos | abfs > * < abfs | abfs >.I * < abfs | lcaos lcaos > const RI::Tensor m_lcaoslcaos_lcaoslcaos_proj = - cal_proj_22( - ms_lcaoslcaos_lcaoslcaos.at(T).at(I).at(T).at(I), + ms_lcaoslcaos_lcaoslcaos.at(T).at(I).at(T).at(I) - cal_mul_22( ms_lcaoslcaos_abfs.at(T).at(I).at(T).at(I), ms_abfs_abfs_I, ms_lcaoslcaos_abfs.at(T).at(I).at(T).at(I)); // < lcaos lcaos | jys > - < lcaos lcaos | abfs > * < abfs | abfs >.I * < abfs | jys > const std::vector> m_lcaoslcaos_jys_proj = - {cal_proj_21( - ms_lcaoslcaos_jys.at(T).at(I).at(T).at(I)[0], + {ms_lcaoslcaos_jys.at(T).at(I).at(T).at(I)[0] - cal_mul_21( ms_lcaoslcaos_abfs.at(T).at(I).at(T).at(I), ms_abfs_abfs_I, {ms_jys_abfs.at(T).at(I).at(T).at(I)})}; // < jys | jys > - < jys | abfs > * < abfs | abfs >.I * < abfs | jys > const std::vector>> m_jys_jys_proj = - {{cal_proj_11( - ms_jys_jys.at(T).at(I).at(T).at(I), + {{ms_jys_jys.at(T).at(I).at(T).at(I) - cal_mul_11( {ms_jys_abfs.at(T).at(I).at(T).at(I)}, ms_abfs_abfs_I, {ms_jys_abfs.at(T).at(I).at(T).at(I)})}}; @@ -197,11 +185,13 @@ void Exx_Opt_Orb::generate_matrix( info, ucell, kv, + jle.at(T).size()-1, + {jle.at(T).at(0).size()}, PARAM.globalv.global_out_dir+"/matrix-opt-abfs", m_lcaoslcaos_jys_proj, m_jys_jys_proj, m_lcaoslcaos_lcaoslcaos_proj, - TA, IA, TB, IB, + T, I, T, I, orb.cutoffs(), range_jys, index_jys ); } @@ -211,59 +201,54 @@ void Exx_Opt_Orb::generate_matrix( info, ucell, kv, + jle.at(T).size()-1, + {jle.at(T).at(0).size()}, PARAM.globalv.global_out_dir+"/matrix-opt-abfs", ms_lcaoslcaos_jys.at(T).at(I).at(T).at(I), {{ms_jys_jys.at(T).at(I).at(T).at(I)}}, ms_lcaoslcaos_lcaoslcaos.at(T).at(I).at(T).at(I), - TA, IA, TB, IB, + T, I, T, I, orb.cutoffs(), range_jys, index_jys ); } } else { - if(GlobalC::exx_info.info_ri.pca_threshold<=1) + if(!judge_orbs_empty(abfs)) { // < abfs | abfs >.I const std::vector>> ms_abfs_abfs_I = cal_I( ms_abfs_abfs, TA,IA,TB,IB ); // < lcaos lcaos | lcaos lcaos > - < lcaos lcaos | abfs > * < abfs | abfs >.I * < abfs | lcaos lcaos > const RI::Tensor m_lcaoslcaos_lcaoslcaos_proj = - cal_proj_22( - ms_lcaoslcaos_lcaoslcaos.at(TA).at(IA).at(TB).at(IB), + ms_lcaoslcaos_lcaoslcaos.at(TA).at(IA).at(TB).at(IB) - cal_mul_22( ms_lcaoslcaos_abfs.at(TA).at(IA).at(TB).at(IB), ms_abfs_abfs_I, ms_lcaoslcaos_abfs.at(TA).at(IA).at(TB).at(IB)); // < lcaos lcaos | jys > - < lcaos lcaos | abfs > * < abfs | abfs >.I * < abfs | jys > const std::vector> m_lcaoslcaos_jys_proj = - {cal_proj_21( - ms_lcaoslcaos_jys.at(TA).at(IA).at(TB).at(IB)[0], + {ms_lcaoslcaos_jys.at(TA).at(IA).at(TB).at(IB)[0] - cal_mul_21( ms_lcaoslcaos_abfs.at(TA).at(IA).at(TB).at(IB), ms_abfs_abfs_I, { ms_jys_abfs.at(TA).at(IA).at(TA).at(IA), ms_jys_abfs.at(TA).at(IA).at(TB).at(IB) }), - cal_proj_21( - ms_lcaoslcaos_jys.at(TA).at(IA).at(TB).at(IB)[1], + ms_lcaoslcaos_jys.at(TA).at(IA).at(TB).at(IB)[1] - cal_mul_21( ms_lcaoslcaos_abfs.at(TA).at(IA).at(TB).at(IB), ms_abfs_abfs_I, { ms_jys_abfs.at(TB).at(IB).at(TA).at(IA), ms_jys_abfs.at(TB).at(IB).at(TB).at(IB) })}; // < jys | jys > - < jys | abfs > * < abfs | abfs >.I * < abfs | jys > const std::vector>> m_jys_jys_proj = - {{cal_proj_11( - ms_jys_jys.at(TA).at(IA).at(TA).at(IA), + {{ms_jys_jys.at(TA).at(IA).at(TA).at(IA) - cal_mul_11( { ms_jys_abfs.at(TA).at(IA).at(TA).at(IA), ms_jys_abfs.at(TA).at(IA).at(TB).at(IB) }, ms_abfs_abfs_I, { ms_jys_abfs.at(TA).at(IA).at(TA).at(IA), ms_jys_abfs.at(TA).at(IA).at(TB).at(IB) }), - cal_proj_11( - ms_jys_jys.at(TA).at(IA).at(TB).at(IB), + ms_jys_jys.at(TA).at(IA).at(TB).at(IB) - cal_mul_11( { ms_jys_abfs.at(TA).at(IA).at(TA).at(IA), ms_jys_abfs.at(TA).at(IA).at(TB).at(IB) }, ms_abfs_abfs_I, { ms_jys_abfs.at(TB).at(IB).at(TA).at(IA), ms_jys_abfs.at(TB).at(IB).at(TB).at(IB) }) }, - {cal_proj_11( - ms_jys_jys.at(TB).at(IB).at(TA).at(IA), + {ms_jys_jys.at(TB).at(IB).at(TA).at(IA) - cal_mul_11( { ms_jys_abfs.at(TB).at(IB).at(TA).at(IA), ms_jys_abfs.at(TB).at(IB).at(TB).at(IB) }, ms_abfs_abfs_I, { ms_jys_abfs.at(TA).at(IA).at(TA).at(IA), ms_jys_abfs.at(TA).at(IA).at(TB).at(IB) }), - cal_proj_11( - ms_jys_jys.at(TB).at(IB).at(TB).at(IB), + ms_jys_jys.at(TB).at(IB).at(TB).at(IB) - cal_mul_11( { ms_jys_abfs.at(TB).at(IB).at(TA).at(IA), ms_jys_abfs.at(TB).at(IB).at(TB).at(IB) }, ms_abfs_abfs_I, { ms_jys_abfs.at(TB).at(IB).at(TA).at(IA), ms_jys_abfs.at(TB).at(IB).at(TB).at(IB) }) }}; @@ -271,6 +256,8 @@ void Exx_Opt_Orb::generate_matrix( info, ucell, kv, + std::max(jle.at(TA).size(), jle.at(TB).size())-1, + {jle.at(TA).at(0).size(), jle.at(TB).at(0).size()}, PARAM.globalv.global_out_dir+"/matrix-opt-abfs", m_lcaoslcaos_jys_proj, m_jys_jys_proj, @@ -285,6 +272,8 @@ void Exx_Opt_Orb::generate_matrix( info, ucell, kv, + std::max(jle.at(TA).size(), jle.at(TB).size())-1, + {jle.at(TA).at(0).size(), jle.at(TB).at(0).size()}, PARAM.globalv.global_out_dir+"/matrix-opt-abfs", ms_lcaoslcaos_jys.at(TA).at(IA).at(TB).at(IB), {{ms_jys_jys.at(TA).at(IA).at(TA).at(IA), ms_jys_jys.at(TA).at(IA).at(TB).at(IB)}, @@ -301,86 +290,94 @@ void Exx_Opt_Orb::generate_matrix( } } -// m_big - m_left * m_middle * m_right.T -RI::Tensor Exx_Opt_Orb::cal_proj_22( - const RI::Tensor & m_big, +// m_left * m_middle * m_right.T +RI::Tensor Exx_Opt_Orb::cal_mul_22( const std::vector> & m_left, const std::vector>> & m_middle, const std::vector> & m_right ) const { - ModuleBase::TITLE("Exx_Opt_Orb::cal_proj_22"); - RI::Tensor m_proj = m_big.copy(); + ModuleBase::TITLE("Exx_Opt_Orb::cal_mul_22"); + RI::Tensor m_mul; for( size_t il=0; il!=m_left.size(); ++il ) { for( size_t ir=0; ir!=m_right.size(); ++ir ) { - // m_proj = m_proj - m_left[il] * m_middle[il][ir] * m_right[ir].T; + // m_mul += m_left[il] * m_middle[il][ir] * m_right[ir].T; const RI::Tensor m_lm = RI::Tensor_Multiply::x0x1y1_x0x1a_ay1(m_left[il], m_middle[il][ir]); const RI::Tensor m_lmr = RI::Tensor_Multiply::x0x1y0y1_x0x1a_y0y1a(m_lm, m_right[ir]); - m_proj -= m_lmr; + if(m_mul.empty()) + { m_mul = std::move(m_lmr); } + else + { m_mul += m_lmr; } } } - return m_proj; + return m_mul; } -RI::Tensor Exx_Opt_Orb::cal_proj_21( - const RI::Tensor & m_big, +RI::Tensor Exx_Opt_Orb::cal_mul_21( const std::vector> & m_left, const std::vector>> & m_middle, const std::vector> & m_right ) const { - ModuleBase::TITLE("Exx_Opt_Orb::cal_proj_21"); - RI::Tensor m_proj = m_big.copy(); + ModuleBase::TITLE("Exx_Opt_Orb::cal_mul_21"); + RI::Tensor m_mul; for( size_t il=0; il!=m_left.size(); ++il ) { for( size_t ir=0; ir!=m_right.size(); ++ir ) { - // m_proj = m_proj - m_left[il] * m_middle[il][ir] * m_right[ir].T; + // m_mul += m_left[il] * m_middle[il][ir] * m_right[ir].T; const RI::Tensor m_lm = RI::Tensor_Multiply::x0x1y1_x0x1a_ay1(m_left[il], m_middle[il][ir]); const RI::Tensor m_lmr = RI::Tensor_Multiply::x0x1y0_x0x1a_y0a(m_lm, m_right[ir]); - m_proj -= m_lmr; + if(m_mul.empty()) + { m_mul = std::move(m_lmr); } + else + { m_mul += m_lmr; } } } - return m_proj; + return m_mul; } -RI::Tensor Exx_Opt_Orb::cal_proj_12( - const RI::Tensor & m_big, +RI::Tensor Exx_Opt_Orb::cal_mul_12( const std::vector> & m_left, const std::vector>> & m_middle, const std::vector> & m_right ) const { - ModuleBase::TITLE("Exx_Opt_Orb::cal_proj_12"); - RI::Tensor m_proj = m_big.copy(); + ModuleBase::TITLE("Exx_Opt_Orb::cal_mul_12"); + RI::Tensor m_mul; for( size_t il=0; il!=m_left.size(); ++il ) { for( size_t ir=0; ir!=m_right.size(); ++ir ) { - // m_proj = m_proj - m_left[il] * m_middle[il][ir] * m_right[ir].T; + // m_mul += m_left[il] * m_middle[il][ir] * m_right[ir].T; const RI::Tensor m_lm = RI::Tensor_Multiply::x0y1_x0a_ay1(m_left[il], m_middle[il][ir]); const RI::Tensor m_lmr = RI::Tensor_Multiply::x0y0y1_x0a_y0y1a(m_lm, m_right[ir]); - m_proj -= m_lmr; + if(m_mul.empty()) + { m_mul = std::move(m_lmr); } + else + { m_mul += m_lmr; } } } - return m_proj; + return m_mul; } -RI::Tensor Exx_Opt_Orb::cal_proj_11( - const RI::Tensor & m_big, +RI::Tensor Exx_Opt_Orb::cal_mul_11( const std::vector> & m_left, const std::vector>> & m_middle, const std::vector> & m_right ) const { - ModuleBase::TITLE("Exx_Opt_Orb::cal_proj_11"); - RI::Tensor m_proj = m_big.copy(); + ModuleBase::TITLE("Exx_Opt_Orb::cal_mul_11"); + RI::Tensor m_mul; for( size_t il=0; il!=m_left.size(); ++il ) { for( size_t ir=0; ir!=m_right.size(); ++ir ) { - // m_proj = m_proj - m_left[il] * m_middle[il][ir] * m_right[ir].T; + // m_mul += m_left[il] * m_middle[il][ir] * m_right[ir].T; const RI::Tensor m_lm = RI::Tensor_Multiply::x0y1_x0a_ay1(m_left[il], m_middle[il][ir]); const RI::Tensor m_lmr = RI::Tensor_Multiply::x0y0_x0a_y0a(m_lm, m_right[ir]); - m_proj -= m_lmr; + if(m_mul.empty()) + { m_mul = std::move(m_lmr); } + else + { m_mul += m_lmr; } } } - return m_proj; + return m_mul; } std::vector>> Exx_Opt_Orb::cal_I( diff --git a/source/source_lcao/module_ri/exx_opt_orb.h b/source/source_lcao/module_ri/exx_opt_orb.h index 2520a584ba..f3252877ce 100644 --- a/source/source_lcao/module_ri/exx_opt_orb.h +++ b/source/source_lcao/module_ri/exx_opt_orb.h @@ -23,36 +23,34 @@ class Exx_Opt_Orb std::vector>> cal_I( const std::map>>>> &ms, const size_t TA, const size_t IA, const size_t TB, const size_t IB ) const; - RI::Tensor cal_proj_22( - const RI::Tensor & m_big, + RI::Tensor cal_mul_22( const std::vector> & m_left, const std::vector>> & m_middle, const std::vector> & m_right ) const; - RI::Tensor cal_proj_21( - const RI::Tensor & m_big, + RI::Tensor cal_mul_21( const std::vector> & m_left, const std::vector>> & m_middle, const std::vector> & m_right ) const; - RI::Tensor cal_proj_12( - const RI::Tensor & m_big, + RI::Tensor cal_mul_12( const std::vector> & m_left, const std::vector>> & m_middle, const std::vector> & m_right ) const; - RI::Tensor cal_proj_11( - const RI::Tensor & m_big, + RI::Tensor cal_mul_11( const std::vector> & m_left, const std::vector>> & m_middle, const std::vector> & m_right ) const; - void print_matrix( + void print_matrix( const Exx_Info::Exx_Info_Opt_ABFs &info, const UnitCell& ucell, - const K_Vectors &kv, - const std::string& file_name, + const K_Vectors &kv, + const int Lmax, + const std::vector &ecut_number, + const std::string& file_name, const std::vector> &matrix_Q, const std::vector>> &matrix_S, const RI::Tensor &matrix_V, const size_t TA, const size_t IA, const size_t TB, const size_t IB, - const std::vector& orb_cutoff, + const std::vector& orb_cutoff, const ModuleBase::Element_Basis_Index::Range &range_jles, const ModuleBase::Element_Basis_Index::IndexLNM &index_jles) const; std::map>> get_radial_R(const UnitCell& ucell) const; diff --git a/source/source_lcao/module_ri/module_exx_symmetry/CMakeLists.txt b/source/source_lcao/module_ri/module_exx_symmetry/CMakeLists.txt index 2972f2c1d8..b66e7f5c7a 100644 --- a/source/source_lcao/module_ri/module_exx_symmetry/CMakeLists.txt +++ b/source/source_lcao/module_ri/module_exx_symmetry/CMakeLists.txt @@ -4,6 +4,7 @@ if (ENABLE_LIBRI) irreducible_sector.cpp irreducible_sector_bvk.cpp symmetry_rotation.cpp + symmetry_rotation_output.cpp ) add_library( module_exx_symmetry diff --git a/source/source_lcao/module_ri/module_exx_symmetry/irreducible_sector.cpp b/source/source_lcao/module_ri/module_exx_symmetry/irreducible_sector.cpp index c484712043..b79bfcfc20 100644 --- a/source/source_lcao/module_ri/module_exx_symmetry/irreducible_sector.cpp +++ b/source/source_lcao/module_ri/module_exx_symmetry/irreducible_sector.cpp @@ -148,7 +148,7 @@ namespace ModuleSymmetry if(GlobalV::MY_RANK == 0) { std::ofstream ofs; - ofs.open(PARAM.globalv.global_out_dir + "irreducible_sector.dat"); + ofs.open(PARAM.globalv.global_out_dir + "irreducible_sector.txt"); for (auto& irap_irR : this->irreducible_sector_) { for (auto& irR : irap_irR.second){ofs << "atompair (" << irap_irR.first.first << ", " << irap_irR.first.second << "), R = (" << irR[0] << ", " << irR[1] << ", " << irR[2] << ") \n";} diff --git a/source/source_lcao/module_ri/module_exx_symmetry/irreducible_sector.h b/source/source_lcao/module_ri/module_exx_symmetry/irreducible_sector.h index 8d9e3c71bf..9252273bd5 100644 --- a/source/source_lcao/module_ri/module_exx_symmetry/irreducible_sector.h +++ b/source/source_lcao/module_ri/module_exx_symmetry/irreducible_sector.h @@ -68,6 +68,17 @@ namespace ModuleSymmetry const ModuleBase::Matrix3& gmatd, const TCdouble gtransd, const TCdouble& posd_a1, const TCdouble& posd_a2)const; + // Getting calculated return lattice + TCdouble get_return_lattice(const int iat, const int isym) const + { + if (iat < 0 || iat >= static_cast(this->return_lattice_.size())) { + throw std::out_of_range("Invalid atom index in get_return_lattice"); + } + if (isym < 0 || isym >= static_cast(this->return_lattice_[iat].size())) { + throw std::out_of_range("Invalid symmetry index in get_return_lattice"); + } + return this->return_lattice_[iat][isym]; + } protected: void cal_return_lattice_all(const Symmetry& symm, const Atom* atoms, const Statistics& st); diff --git a/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation.cpp b/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation.cpp index 702b35b666..53922f42ac 100644 --- a/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation.cpp +++ b/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation.cpp @@ -16,9 +16,7 @@ namespace ModuleSymmetry { this->reduce_Cs_ = true; this->abfs_l_nchi_ = abfs_l_nchi; - this->abfs_Lmax_ = 0; - for (auto& abfs_T : abfs_l_nchi) { this->abfs_Lmax_ = std::max(this->abfs_Lmax_, static_cast(abfs_T.size()) - 1); -} + for (auto& abfs_T : abfs_l_nchi) { this->abfs_Lmax_ = std::max(this->abfs_Lmax_, static_cast(abfs_T.size()) - 1); } } void Symmetry_rotation::cal_Ms(const K_Vectors& kv, //const std::vector>& kstars, @@ -36,9 +34,8 @@ namespace ModuleSymmetry } // 1. calculate the rotation matrix in real spherical harmonics representation for each symmetry operation: [T_l (isym)]_mm' std::vector gmatc(nsym_); - for (int i = 0;i < nsym_;++i) { gmatc[i] = this->irs_.direct_to_cartesian(ucell.symm.gmatrix[i], ucell.latvec); -} - this->cal_rotmat_Slm(gmatc.data(), reduce_Cs_ ? std::max(this->abfs_Lmax_, ucell.lmax) : ucell.lmax); + for (int i = 0;i < nsym_;++i) { gmatc[i] = this->irs_.direct_to_cartesian(ucell.symm.gmatrix[i], ucell.latvec); } + this->cal_rotmat_Slm(gmatc.data(), std::max(this->abfs_Lmax_, ucell.lmax)); // 2. calculate the rotation matrix in AO-representation for each ibz_kpoint and symmetry operation: M(k, isym) auto restrict_kpt = [](const TCdouble& kvec, const double& symm_prec) -> TCdouble @@ -47,12 +44,9 @@ namespace ModuleSymmetry kvec_res.x = fmod(kvec.x + 100.5 - 0.5 * symm_prec, 1) - 0.5 + 0.5 * symm_prec; kvec_res.y = fmod(kvec.y + 100.5 - 0.5 * symm_prec, 1) - 0.5 + 0.5 * symm_prec; kvec_res.z = fmod(kvec.z + 100.5 - 0.5 * symm_prec, 1) - 0.5 + 0.5 * symm_prec; - if (std::abs(kvec_res.x) < symm_prec) { kvec_res.x = 0.0; -} - if (std::abs(kvec_res.y) < symm_prec) { kvec_res.y = 0.0; -} - if (std::abs(kvec_res.z) < symm_prec) { kvec_res.z = 0.0; -} + if (std::abs(kvec_res.x) < symm_prec) { kvec_res.x = 0.0; } + if (std::abs(kvec_res.y) < symm_prec) { kvec_res.y = 0.0; } + if (std::abs(kvec_res.z) < symm_prec) { kvec_res.z = 0.0; } return kvec_res; }; int nks_ibz = kv.kstars.size(); // kv.nks = 2 * kv.nks_ibz when nspin=2 @@ -423,24 +417,24 @@ namespace ModuleSymmetry if (TRS_conj) { // D^T* = M^T [M^T (D^T)^T]^\dagger - pzgemm_(&transpose, &transpose, &nbasis, &nbasis, &nbasis, - &alpha, this->Ms_[ik_ibz].at(isym).data(), &i1, &i1, pv.desc, DMkibz.data(), &i1, &i1, pv.desc, - &beta, DMkibz_M.data(), &i1, &i1, pv.desc); + ScalapackConnector::gemm(transpose, transpose, nbasis, nbasis, nbasis, + alpha, this->Ms_[ik_ibz].at(isym).data(), i1, i1, pv.desc, DMkibz.data(), i1, i1, pv.desc, + beta, DMkibz_M.data(), i1, i1, pv.desc); alpha.real(1.0 / static_cast(kstar_size)); - pzgemm_(&transpose, &dagger, &nbasis, &nbasis, &nbasis, - &alpha, this->Ms_[ik_ibz].at(isym).data(), &i1, &i1, pv.desc, DMkibz_M.data(), &i1, &i1, pv.desc, - &beta, DMk.data(), &i1, &i1, pv.desc); + ScalapackConnector::gemm(transpose, dagger, nbasis, nbasis, nbasis, + alpha, this->Ms_[ik_ibz].at(isym).data(), i1, i1, pv.desc, DMkibz_M.data(), i1, i1, pv.desc, + beta, DMk.data(), i1, i1, pv.desc); } else { // D^T = M^\daggger D^T M - pzgemm_(&dagger, ¬rans, &nbasis, &nbasis, &nbasis, - &alpha, this->Ms_[ik_ibz].at(isym).data(), &i1, &i1, pv.desc, DMkibz.data(), &i1, &i1, pv.desc, - &beta, DMkibz_M.data(), &i1, &i1, pv.desc); + ScalapackConnector::gemm(dagger, notrans, nbasis, nbasis, nbasis, + alpha, this->Ms_[ik_ibz].at(isym).data(), i1, i1, pv.desc, DMkibz.data(), i1, i1, pv.desc, + beta, DMkibz_M.data(), i1, i1, pv.desc); alpha.real(1.0 / static_cast(kstar_size)); - pzgemm_(¬rans, ¬rans, &nbasis, &nbasis, &nbasis, - &alpha, DMkibz_M.data(), &i1, &i1, pv.desc, this->Ms_[ik_ibz].at(isym).data(), &i1, &i1, pv.desc, - &beta, DMk.data(), &i1, &i1, pv.desc); + ScalapackConnector::gemm(notrans, notrans, nbasis, nbasis, nbasis, + alpha, DMkibz_M.data(), i1, i1, pv.desc, this->Ms_[ik_ibz].at(isym).data(), i1, i1, pv.desc, + beta, DMk.data(), i1, i1, pv.desc); } return DMk; } diff --git a/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation.h b/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation.h index 229d4666f0..920de546d3 100644 --- a/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation.h +++ b/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation.h @@ -27,6 +27,13 @@ namespace ModuleSymmetry { return this->irs_.get_return_lattice(symm, gmatd, gtransd, posd_a1, posd_a2); } + TCdouble get_return_lattice(const int iat, const int isym) const + { + return this->irs_.get_return_lattice(iat, isym); + } + /// the rotation matrix under the basis of S_l^m. size: [nsym][lmax][nm*nm] + const std::vector>>>& rotmat_Slm = this->rotmat_Slm_; + const int& abfs_Lmax = this->abfs_Lmax_; //-------------------------------------------------------------------------------- // setters void find_irreducible_sector(const Symmetry& symm, const Atom* atoms, const Statistics& st, @@ -34,6 +41,7 @@ namespace ModuleSymmetry { this->irs_.find_irreducible_sector(symm, atoms, st, Rs, period, lat); } + void set_abfs_Lmax(const int l) { this->abfs_Lmax_ = l; } void set_Cs_rotation(const std::vector>& abfs_l_nchi); //-------------------------------------------------------------------------------- /// functions to contruct rotation matrix in AO-representation @@ -167,6 +175,20 @@ namespace ModuleSymmetry Irreducible_Sector irs_; }; + + template std::string vec3_fmt(const T& x, const T& y, const T& z) + { + return "(" + std::to_string(x) + " " + std::to_string(y) + " " + std::to_string(z) + ")"; + } + template std::string vec3_fmt(const ModuleBase::Vector3& v) + { + return vec3_fmt(v.x, v.y, v.z); + } + // output k stars and the rotation matrices of Bloch orbitals + void print_symrot_info_k(const ModuleSymmetry::Symmetry_rotation& symrot, + const K_Vectors& kv, const UnitCell& ucell); + void print_symrot_info_R(const Symmetry_rotation& symrot, const Symmetry& symm, + const int lmax_ao, const std::vector& Rs); } #include "symmetry_rotation_R.hpp" diff --git a/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation_output.cpp b/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation_output.cpp new file mode 100644 index 0000000000..0e9e01a7d2 --- /dev/null +++ b/source/source_lcao/module_ri/module_exx_symmetry/symmetry_rotation_output.cpp @@ -0,0 +1,100 @@ +#include "./symmetry_rotation.h" +namespace ModuleSymmetry +{ + std::string mat3_fmt(const ModuleBase::Matrix3& m) + { + auto s = [](auto x) { return std::to_string(x); }; + return s(m.e11) + " " + s(m.e12) + " " + s(m.e13) + "\n" + + s(m.e21) + " " + s(m.e22) + " " + s(m.e23) + "\n" + + s(m.e31) + " " + s(m.e32) + " " + s(m.e33); + } + + // needs to calculate Ts from l=0 to l=max(l_ao,l_abf) before + + void print_symrot_info_R(const Symmetry_rotation& symrot, const Symmetry& symm, + const int lmax_ao, const std::vector& Rs) + { + ModuleBase::TITLE("ModuleSymmetry", "print_symrot_info_R"); + std::ofstream ofs(PARAM.globalv.global_out_dir + "symrot_R.txt"); + // Print the irreducible sector (to be optimized) + ofs << "Number of irreducible sector: " << symrot.get_irreducible_sector().size() << std::endl; + ofs << "Lmax of AOs: " << lmax_ao << "\n"; + ofs << "Lmax of ABFs: " << symrot.abfs_Lmax << "\n"; + // print AO rotation matrix T + ofs << "Format:\n" + << "The index of the symmetry operation\n" + << "The rotation matrix of this symmetry operation (3*3)\n" + << "(The translation vector of this symmetry operation)\n" + << "Orbital rotation matrix (T) of each angular momentum with size ((2l + 1) * (2l + 1)) \n\n"; + const int lmax = std::max(lmax_ao, symrot.abfs_Lmax); + for (int isym = 0;isym < symm.nrotk;++isym) + { + ofs << isym << "\n" << mat3_fmt(symm.gmatrix[isym]) << "\n" + << vec3_fmt(symm.gtrans[isym]) << "\n"; + for (int l=0;l <= lmax;++l) + { + const int nm = 2 * l + 1; + // ofs << "l = " << l << ", nm = " << nm << "\n"; + const auto& T_block = symrot.rotmat_Slm[isym][l]; + for (int m1 = 0;m1 < nm;++m1) + { + for (int m2 = 0;m2 < nm;++m2) + { + //note: the order of m in orbitals may be different from increasing + //note: is Ts row- or col-major ? + ofs << T_block(m1, m2); + } + ofs << "\n"; + } + } + } + ofs.close(); + } + + void print_symrot_info_k(const Symmetry_rotation& symrot, const K_Vectors& kv, const UnitCell& ucell) + { + ModuleBase::TITLE("Symmetry_rotation", "print_symrot_info_k"); + std::ofstream ofs(PARAM.globalv.global_out_dir + "symrot_k.txt"); + ofs << "Number of IBZ k-points (k stars): " << kv.kstars.size() << std::endl; + ofs << "Format:\n" << "The symmetry operation index to the irreducible k-point. For the irreducible k-points, isym=0.\n\n" + << "(The direct coordinate of the original k-point)\n" + << "For each atom: \n" + << "- Original index->transformed index, type and the Lmax\n" + << "- Bloch orbital rotation matrix (M) of the given operation and atom, for each angular momentum\n\n"; + for (int istar = 0;istar < kv.kstars.size();++istar) + { + ofs << "Star " << istar + 1 << " of IBZ k-point " << vec3_fmt(kv.kstars[istar].at(0)) << ":\n"; + for (const auto& isym_kvd : kv.kstars[istar]) + { + const int& isym = isym_kvd.first; + ofs << isym << "\n" << vec3_fmt(isym_kvd.second) << "\n"; + for (int iat1 =0;iat1 < ucell.nat;++iat1) + { + const int it = ucell.iat2it[iat1]; // it1=it2 + const int lmax = ucell.atoms[it].nwl; + const int iat2 = ucell.symm.get_rotated_atom(isym, iat1); + const double arg = 2 * ModuleBase::PI * isym_kvd.second * symrot.get_return_lattice(iat1,isym); + std::complexphase_factor = std::complex(std::cos(arg), std::sin(arg)); + ofs << "atom " << iat1 + 1 << " -> " << iat2 + 1 << " of type " << it + 1 << " with Lmax= " << lmax << "\n"; + for (int l = 0;l < lmax + 1;++l) + { + const int nm = 2 * l + 1; + const auto& m_block = symrot.rotmat_Slm[isym][l]; + for (int m1 = 0;m1 < nm;++m1) + { + // const int m1_start = m2 * nm; + for (int m2 = 0;m2 < nm;++m2) + { + ofs << phase_factor * m_block(m1, m2); // row-major + } + ofs << "\n"; + } + }// end l + } // end iat + } // end (k, op) + ofs << "\n"; + } // end star + ofs.close(); + ModuleBase::timer::tick("Symmetry_rotation", "print_symrot_info_k"); + } +} \ No newline at end of file diff --git a/source/source_lcao/module_ri/module_exx_symmetry/test/CMakeLists.txt b/source/source_lcao/module_ri/module_exx_symmetry/test/CMakeLists.txt index 6a3a263dc9..b282f3360e 100644 --- a/source/source_lcao/module_ri/module_exx_symmetry/test/CMakeLists.txt +++ b/source/source_lcao/module_ri/module_exx_symmetry/test/CMakeLists.txt @@ -4,7 +4,7 @@ remove_definitions(-D__ROCM) AddTest( TARGET MODULE_RI_EXX_SYMMETRY_rotation LIBS base ${math_libs} device symmetry neighbor parameter - SOURCES symmetry_rotation_test.cpp ../symmetry_rotation.cpp ../irreducible_sector.cpp ../irreducible_sector_bvk.cpp + SOURCES symmetry_rotation_test.cpp ../symmetry_rotation.cpp ../symmetry_rotation_output.cpp ../irreducible_sector.cpp ../irreducible_sector_bvk.cpp ../../../../source_basis/module_ao/parallel_orbitals.cpp ../../../../source_io/output.cpp ) \ No newline at end of file diff --git a/source/source_lcao/module_ri/module_exx_symmetry/test/symmetry_rotation_test.cpp b/source/source_lcao/module_ri/module_exx_symmetry/test/symmetry_rotation_test.cpp index 809a5dfeb7..20884b1beb 100644 --- a/source/source_lcao/module_ri/module_exx_symmetry/test/symmetry_rotation_test.cpp +++ b/source/source_lcao/module_ri/module_exx_symmetry/test/symmetry_rotation_test.cpp @@ -33,6 +33,10 @@ InfoNonlocal::InfoNonlocal() {} InfoNonlocal::~InfoNonlocal() {} Magnetism::Magnetism() {} Magnetism::~Magnetism() {} +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} class SymmetryRotationTest : public testing::Test { diff --git a/source/source_lcao/module_rt/CMakeLists.txt b/source/source_lcao/module_rt/CMakeLists.txt index 58bc834a5f..35a65a5aa7 100644 --- a/source/source_lcao/module_rt/CMakeLists.txt +++ b/source/source_lcao/module_rt/CMakeLists.txt @@ -15,8 +15,16 @@ if(ENABLE_LCAO) snap_psibeta_half_tddft.cpp td_folding.cpp solve_propagation.cpp + boundary_fix.cpp ) + if(USE_CUDA) + list(APPEND objects + kernels/cuda/snap_psibeta_kernel.cu + kernels/cuda/snap_psibeta_gpu.cu + ) + endif() + add_library( tddft OBJECT diff --git a/source/source_lcao/module_rt/band_energy.cpp b/source/source_lcao/module_rt/band_energy.cpp index 8767d37405..63b2fad71b 100644 --- a/source/source_lcao/module_rt/band_energy.cpp +++ b/source/source_lcao/module_rt/band_energy.cpp @@ -96,9 +96,15 @@ void compute_ekb(const Parallel_Orbitals* pv, { bb = 0.0; } - if (aa > 0.0 || bb > 0.0) + if (std::abs(aa) > 0.0 || std::abs(bb) > 0.0) { - ofs_running << i << " " << j << " " << aa << "+" << bb << "i " << std::endl; + std::streamsize original_precision = ofs_running.precision(); + ofs_running << std::fixed << std::setprecision(8); + ofs_running << "i = " << std::setw(2) << i << ", j = " << std::setw(2) << j + << ", Eij = " << std::setw(12) << aa << " + " << std::setw(12) << bb << " i" + << std::endl; + ofs_running.unsetf(std::ios_base::fixed); + ofs_running.precision(original_precision); } } } @@ -233,9 +239,15 @@ void compute_ekb_tensor(const Parallel_Orbitals* pv, { bb = 0.0; } - if (aa > 0.0 || bb > 0.0) + if (std::abs(aa) > 0.0 || std::abs(bb) > 0.0) { - ofs_running << i << " " << j << " " << aa << "+" << bb << "i " << std::endl; + std::streamsize original_precision = ofs_running.precision(); + ofs_running << std::fixed << std::setprecision(8); + ofs_running << "i = " << std::setw(2) << i << ", j = " << std::setw(2) << j + << ", Eij = " << std::setw(12) << aa << " + " << std::setw(12) << bb << " i" + << std::endl; + ofs_running.unsetf(std::ios_base::fixed); + ofs_running.precision(original_precision); } } } @@ -371,9 +383,15 @@ void compute_ekb_tensor_lapack(const Parallel_Orbitals* pv, { bb = 0.0; } - if (aa > 0.0 || bb > 0.0) + if (std::abs(aa) > 0.0 || std::abs(bb) > 0.0) { - ofs_running << i << " " << j << " " << aa << "+" << bb << "i " << std::endl; + std::streamsize original_precision = ofs_running.precision(); + ofs_running << std::fixed << std::setprecision(8); + ofs_running << "i = " << std::setw(2) << i << ", j = " << std::setw(2) << j + << ", Eij = " << std::setw(12) << aa << " + " << std::setw(12) << bb << " i" + << std::endl; + ofs_running.unsetf(std::ios_base::fixed); + ofs_running.precision(original_precision); } } } diff --git a/source/source_lcao/module_rt/boundary_fix.cpp b/source/source_lcao/module_rt/boundary_fix.cpp new file mode 100644 index 0000000000..22e7324633 --- /dev/null +++ b/source/source_lcao/module_rt/boundary_fix.cpp @@ -0,0 +1,99 @@ +#include "boundary_fix.h" +#include "source_base/libm/libm.h" +#include "source_base/constants.h" +#include "source_base/vector3.h" + +namespace module_rt{ + +void reset_matrix_boundary(const UnitCell& ucell, + const K_Vectors& kv, + const Parallel_Orbitals* pv, + ct::Tensor& hk_last, + ct::Tensor& sk_last, + psi::Psi>* psi_last, + const size_t len_hs) +{ + ModuleBase::TITLE("module_rt", "reset_matrix_boundary"); + ModuleBase::timer::tick("module_rt", "reset_matrix_boundary"); + const ModuleBase::Vector3 zero = {0, 0, 0}; + for(size_t iat = 0; iat < ucell.nat; iat++) + { + const size_t it = ucell.iat2it[iat]; + const size_t ia = ucell.iat2ia[iat]; + if(ucell.atoms[it].boundary_shift[ia]!=zero) + { + const auto& rshift = ucell.atoms[it].boundary_shift[ia]; +#ifdef _OPENMP +#pragma omp parallel for schedule(dynamic) +#endif + for(int ik = 0; ik < kv.get_nks(); ik++) + { + const ModuleBase::Vector3 tmp_rshift(rshift.x, rshift.y, rshift.z); + const double arg = -kv.kvec_d[ik] * tmp_rshift * ModuleBase::TWO_PI; + //skip unrelevent ik + if(arg==0)continue; + //calculate correction phase + double sinp, cosp; + ModuleBase::libm::sincos(arg, &sinp, &cosp); + const std::complex phase = std::complex(cosp, sinp); + //phase correction for Hamiltionian, overlap matrix and c vec. + module_rt::boundary_shift_mat(phase, hk_last.template data>() + ik * len_hs, pv, iat); + module_rt::boundary_shift_mat(phase, sk_last.template data>() + ik * len_hs, pv, iat); + psi_last->fix_k(ik); + module_rt::boundary_shift_c(phase, psi_last[0].get_pointer(), pv, iat); + } + } + } + ModuleBase::timer::tick("module_rt", "reset_matrix_boundary"); + return; +} + +void boundary_shift_mat(const std::complex& phase, + std::complex* matk, + const Parallel_Orbitals* pv, + const size_t iat) +{ + const std::complex phase_conj = std::conj(phase); + size_t row0 = pv->atom_begin_row[iat]; + size_t col0 = pv->atom_begin_col[iat]; + std::complex* p_matkc = matk + col0 * pv->get_row_size(); + for(size_t nu = 0; nu < pv->get_col_size(iat); ++nu) + { + + BlasConnector::scal(pv->get_row_size(), + phase, + p_matkc, + 1); + p_matkc += pv->get_row_size(); + } + std::complex* p_matkr = matk + row0; + for(size_t mu = 0; mu < pv->get_row_size(iat); ++mu) + { + BlasConnector::scal(pv->get_col_size(), + phase_conj, + p_matkr, + pv->get_row_size()); + p_matkr += 1; + } + return; +} + +void boundary_shift_c(const std::complex& phase, + std::complex* psi_k_last, + const Parallel_Orbitals* pv, + const size_t iat) +{ + const std::complex phase_conj = std::conj(phase); + size_t row0 = pv->atom_begin_row[iat]; + std::complex* p_ck = psi_k_last + row0; + for(size_t nu = 0; nu < pv->get_row_size(iat); ++nu) + { + BlasConnector::scal(pv->ncol_bands, + phase_conj, + p_ck, + pv->get_row_size()); + p_ck+=1; + } + return; +} +} //namespace module_rt \ No newline at end of file diff --git a/source/source_lcao/module_rt/boundary_fix.h b/source/source_lcao/module_rt/boundary_fix.h new file mode 100644 index 0000000000..14127cf6a1 --- /dev/null +++ b/source/source_lcao/module_rt/boundary_fix.h @@ -0,0 +1,64 @@ +/** + * @file boundary_fix.h + * @brief Correct the discontinuity that occurs when crossing periodic boundary conditions + */ +#ifndef BOUNDARY_FIX_H +#define BOUNDARY_FIX_H + +#include "source_cell/unitcell.h" +#include "source_cell/klist.h" +#include "source_basis/module_ao/parallel_orbitals.h" +#include "source_psi/psi.h" +#include "source_base/module_container/ATen/core/tensor.h" +namespace module_rt{ + +/** +* @brief Add phases to the matrix and coefficient from the previous step to correct the boundary discontinuity. +* +* @param[in] ucell Unitcell information +* @param[in] kv K-point vectors +* @param[in] pv information of parallel +* @param[in] hk_last Hamiltonian matrix from last step +* @param[in] sk_last Overlap matrix from last step +* @param[in] psi_last Wavefunctions from last step +* @param[in] len_hs size of matrix element in this processor +* @param[out] hk_last the fixed hk matrix +* @param[out] sk_last the fixed sk matrix +* @param[out] sk_last the fixed wavefunctions +*/ +void reset_matrix_boundary(const UnitCell& ucell, + const K_Vectors& kv, + const Parallel_Orbitals* pv, + ct::Tensor& hk_last, + ct::Tensor& sk_last, + psi::Psi>* psi_last, + const size_t len_hs); + +/** +* @brief Add extra phase to the matrix element belong to iat +* +* @param[in] phase extra phase +* @param[in] matk the matrix need to be fixed +* @param[in] pv information of parallel +* @param[in] iat atom index +* @param[out] matk the fixed matrix +*/ +void boundary_shift_mat(const std::complex& phase, + std::complex* matk, + const Parallel_Orbitals* pv, + const size_t iat); +/** +* @brief Add extra phase to the wfc coefficient belong to iat +* +* @param[in] phase extra phase +* @param[in] psi_k_last psi of last step +* @param[in] pv information of parallel +* @param[in] iat atom index +* @param[out] psi_k_last fixed psi of last step +*/ +void boundary_shift_c(const std::complex& phase, + std::complex* psi_k_last, + const Parallel_Orbitals* pv, + const size_t iat); +}// namespace module_rt +#endif // BOUNDARY_FIX_H \ No newline at end of file diff --git a/source/source_lcao/module_rt/evolve_elec.cpp b/source/source_lcao/module_rt/evolve_elec.cpp index 833e6b4186..e43c5da4f3 100644 --- a/source/source_lcao/module_rt/evolve_elec.cpp +++ b/source/source_lcao/module_rt/evolve_elec.cpp @@ -28,11 +28,10 @@ void Evolve_elec::solve_psi(const int& istep, Parallel_Orbitals& para_orb, psi::Psi>* psi, psi::Psi>* psi_laststep, - std::complex** Hk_laststep, - std::complex** Sk_laststep, + ct::Tensor& Hk_laststep, + ct::Tensor& Sk_laststep, ModuleBase::matrix& ekb, std::ofstream& ofs_running, - const int htype, const int propagator, const bool use_tensor, const bool use_lapack) @@ -47,180 +46,165 @@ void Evolve_elec::solve_psi(const int& istep, { phm->updateHk(ik); - ModuleBase::timer::tick("Efficiency", "evolve_k"); + ModuleBase::timer::tick("TD_Efficiency", "evolve_k"); psi->fix_k(ik); psi_laststep->fix_k(ik); - if (htype == 0) + + if (!use_tensor) { + const int len_HS_laststep = use_lapack ? nlocal * nlocal : para_orb.nloc; evolve_psi(nband, nlocal, &(para_orb), phm, psi[0].get_pointer(), psi_laststep[0].get_pointer(), - nullptr, - nullptr, + Hk_laststep.data>() + ik * len_HS_laststep, + Sk_laststep.data>() + ik * len_HS_laststep, &(ekb(ik, 0)), - htype, propagator, ofs_running, print_matrix); + // GlobalV::ofs_running << "Print ekb: " << std::endl; + // ekb.print(GlobalV::ofs_running); } - else if (htype == 1) + else { - if (!use_tensor) + ModuleBase::timer::tick("TD_Efficiency", "host_device_comm"); + + const int len_psi_k_1 = use_lapack ? nband : psi->get_nbands(); + const int len_psi_k_2 = use_lapack ? nlocal : psi->get_nbasis(); + const int len_HS_laststep = use_lapack ? nlocal * nlocal : para_orb.nloc; + + // Create Tensor for psi_k, psi_k_laststep, H_laststep, S_laststep, ekb + ct::Tensor psi_k_tensor(ct::DataType::DT_COMPLEX_DOUBLE, + ct_device_type, + ct::TensorShape({len_psi_k_1, len_psi_k_2})); + ct::Tensor psi_k_laststep_tensor(ct::DataType::DT_COMPLEX_DOUBLE, + ct_device_type, + ct::TensorShape({len_psi_k_1, len_psi_k_2})); + ct::Tensor H_laststep_tensor(ct::DataType::DT_COMPLEX_DOUBLE, + ct_device_type, + ct::TensorShape({len_HS_laststep})); + ct::Tensor S_laststep_tensor(ct::DataType::DT_COMPLEX_DOUBLE, + ct_device_type, + ct::TensorShape({len_HS_laststep})); + ct::Tensor ekb_tensor(ct::DataType::DT_DOUBLE, ct_device_type, ct::TensorShape({nband})); + + // Global psi + module_rt::Matrix_g> psi_g; + module_rt::Matrix_g> psi_laststep_g; + + if (use_lapack) { - evolve_psi(nband, - nlocal, - &(para_orb), - phm, - psi[0].get_pointer(), - psi_laststep[0].get_pointer(), - Hk_laststep[ik], - Sk_laststep[ik], - &(ekb(ik, 0)), - htype, - propagator, - ofs_running, - print_matrix); - // GlobalV::ofs_running << "Print ekb: " << std::endl; - // ekb.print(GlobalV::ofs_running); + // Need to gather the psi to the root process on CPU + // H_laststep and S_laststep are already gathered in esolver_ks_lcao_tddft.cpp +#ifdef __MPI + // Access the rank of the calling process in the communicator + int myid = 0; + const int root_proc = 0; + MPI_Comm_rank(MPI_COMM_WORLD, &myid); + + // Gather psi to the root process + gatherPsi(myid, root_proc, psi[0].get_pointer(), para_orb, psi_g); + gatherPsi(myid, root_proc, psi_laststep[0].get_pointer(), para_orb, psi_laststep_g); + + // Syncronize data from CPU to Device + syncmem_complex_h2d_op()(psi_k_tensor.data>(), + psi_g.p.get(), + len_psi_k_1 * len_psi_k_2); + syncmem_complex_h2d_op()(psi_k_laststep_tensor.data>(), + psi_laststep_g.p.get(), + len_psi_k_1 * len_psi_k_2); +#endif } else { - const int len_psi_k_1 = use_lapack ? nband : psi->get_nbands(); - const int len_psi_k_2 = use_lapack ? nlocal : psi->get_nbasis(); - const int len_HS_laststep = use_lapack ? nlocal * nlocal : para_orb.nloc; - - // Create Tensor for psi_k, psi_k_laststep, H_laststep, S_laststep, ekb - ct::Tensor psi_k_tensor(ct::DataType::DT_COMPLEX_DOUBLE, - ct_device_type, - ct::TensorShape({len_psi_k_1, len_psi_k_2})); - ct::Tensor psi_k_laststep_tensor(ct::DataType::DT_COMPLEX_DOUBLE, - ct_device_type, - ct::TensorShape({len_psi_k_1, len_psi_k_2})); - ct::Tensor H_laststep_tensor(ct::DataType::DT_COMPLEX_DOUBLE, - ct_device_type, - ct::TensorShape({len_HS_laststep})); - ct::Tensor S_laststep_tensor(ct::DataType::DT_COMPLEX_DOUBLE, - ct_device_type, - ct::TensorShape({len_HS_laststep})); - ct::Tensor ekb_tensor(ct::DataType::DT_DOUBLE, ct_device_type, ct::TensorShape({nband})); - - // Global psi - ModuleESolver::Matrix_g> psi_g; - ModuleESolver::Matrix_g> psi_laststep_g; + // Syncronize data from CPU to Device + syncmem_complex_h2d_op()(psi_k_tensor.data>(), + psi[0].get_pointer(), + len_psi_k_1 * len_psi_k_2); + syncmem_complex_h2d_op()(psi_k_laststep_tensor.data>(), + psi_laststep[0].get_pointer(), + len_psi_k_1 * len_psi_k_2); + } - if (use_lapack) - { - // Need to gather the psi to the root process on CPU - // H_laststep and S_laststep are already gathered in esolver_ks_lcao_tddft.cpp -#ifdef __MPI - // Access the rank of the calling process in the communicator - int myid = 0; - const int root_proc = 0; - MPI_Comm_rank(MPI_COMM_WORLD, &myid); - - // Gather psi to the root process - gatherPsi(myid, root_proc, psi[0].get_pointer(), para_orb, psi_g); - gatherPsi(myid, root_proc, psi_laststep[0].get_pointer(), para_orb, psi_laststep_g); - - // Syncronize data from CPU to Device - syncmem_complex_h2d_op()(psi_k_tensor.data>(), - psi_g.p.get(), - len_psi_k_1 * len_psi_k_2); - syncmem_complex_h2d_op()(psi_k_laststep_tensor.data>(), - psi_laststep_g.p.get(), - len_psi_k_1 * len_psi_k_2); -#endif - } - else - { - // Syncronize data from CPU to Device - syncmem_complex_h2d_op()(psi_k_tensor.data>(), - psi[0].get_pointer(), - len_psi_k_1 * len_psi_k_2); - syncmem_complex_h2d_op()(psi_k_laststep_tensor.data>(), - psi_laststep[0].get_pointer(), - len_psi_k_1 * len_psi_k_2); - } - - syncmem_complex_h2d_op()(H_laststep_tensor.data>(), - Hk_laststep[ik], - len_HS_laststep); - syncmem_complex_h2d_op()(S_laststep_tensor.data>(), - Sk_laststep[ik], - len_HS_laststep); - syncmem_double_h2d_op()(ekb_tensor.data(), &(ekb(ik, 0)), nband); - - evolve_psi_tensor(nband, - nlocal, - &(para_orb), - phm, - psi_k_tensor, - psi_k_laststep_tensor, - H_laststep_tensor, - S_laststep_tensor, - ekb_tensor, - htype, - propagator, - ofs_running, - print_matrix, - use_lapack); - - // Need to distribute global psi back to all processes - if (use_lapack) - { + syncmem_complex_h2d_op()(H_laststep_tensor.data>(), + Hk_laststep.data>() + ik * len_HS_laststep, + len_HS_laststep); + syncmem_complex_h2d_op()(S_laststep_tensor.data>(), + Sk_laststep.data>() + ik * len_HS_laststep, + len_HS_laststep); + syncmem_double_h2d_op()(ekb_tensor.data(), &(ekb(ik, 0)), nband); + + ModuleBase::timer::tick("TD_Efficiency", "host_device_comm"); + + evolve_psi_tensor(nband, + nlocal, + &(para_orb), + phm, + psi_k_tensor, + psi_k_laststep_tensor, + H_laststep_tensor, + S_laststep_tensor, + ekb_tensor, + propagator, + ofs_running, + print_matrix, + use_lapack); + + ModuleBase::timer::tick("TD_Efficiency", "host_device_comm"); + // Need to distribute global psi back to all processes + if (use_lapack) + { #ifdef __MPI - // Syncronize data from Device to CPU - syncmem_complex_d2h_op()(psi_g.p.get(), - psi_k_tensor.data>(), - len_psi_k_1 * len_psi_k_2); - syncmem_complex_d2h_op()(psi_laststep_g.p.get(), - psi_k_laststep_tensor.data>(), - len_psi_k_1 * len_psi_k_2); - - // Distribute psi to all processes - distributePsi(para_orb, psi[0].get_pointer(), psi_g); - distributePsi(para_orb, psi_laststep[0].get_pointer(), psi_laststep_g); + // Syncronize data from Device to CPU + syncmem_complex_d2h_op()(psi_g.p.get(), + psi_k_tensor.data>(), + len_psi_k_1 * len_psi_k_2); + syncmem_complex_d2h_op()(psi_laststep_g.p.get(), + psi_k_laststep_tensor.data>(), + len_psi_k_1 * len_psi_k_2); + + // Distribute psi to all processes + distributePsi(para_orb, psi[0].get_pointer(), psi_g); + distributePsi(para_orb, psi_laststep[0].get_pointer(), psi_laststep_g); #endif - } - else - { - // Syncronize data from Device to CPU - syncmem_complex_d2h_op()(psi[0].get_pointer(), - psi_k_tensor.data>(), - len_psi_k_1 * len_psi_k_2); - syncmem_complex_d2h_op()(psi_laststep[0].get_pointer(), - psi_k_laststep_tensor.data>(), - len_psi_k_1 * len_psi_k_2); - } - syncmem_complex_d2h_op()(Hk_laststep[ik], - H_laststep_tensor.data>(), - len_HS_laststep); - syncmem_complex_d2h_op()(Sk_laststep[ik], - S_laststep_tensor.data>(), - len_HS_laststep); - syncmem_double_d2h_op()(&(ekb(ik, 0)), ekb_tensor.data(), nband); + } + else + { + // Syncronize data from Device to CPU + syncmem_complex_d2h_op()(psi[0].get_pointer(), + psi_k_tensor.data>(), + len_psi_k_1 * len_psi_k_2); + syncmem_complex_d2h_op()(psi_laststep[0].get_pointer(), + psi_k_laststep_tensor.data>(), + len_psi_k_1 * len_psi_k_2); + } + syncmem_complex_d2h_op()(Hk_laststep.data>() + ik * len_HS_laststep, + H_laststep_tensor.data>(), + len_HS_laststep); + syncmem_complex_d2h_op()(Sk_laststep.data>() + ik * len_HS_laststep, + S_laststep_tensor.data>(), + len_HS_laststep); + syncmem_double_d2h_op()(&(ekb(ik, 0)), ekb_tensor.data(), nband); #ifdef __MPI - const int root_proc = 0; - if (use_lapack) - { - // Synchronize ekb to all MPI processes - MPI_Bcast(&(ekb(ik, 0)), nband, MPI_DOUBLE, root_proc, MPI_COMM_WORLD); - } -#endif - // GlobalV::ofs_running << "Print ekb: " << std::endl; - // ekb.print(GlobalV::ofs_running); + const int root_proc = 0; + if (use_lapack) + { + // Synchronize ekb to all MPI processes + MPI_Bcast(&(ekb(ik, 0)), nband, MPI_DOUBLE, root_proc, MPI_COMM_WORLD); } - } - else - { - std::cout << "method of htype is wrong" << std::endl; +#endif + + ModuleBase::timer::tick("TD_Efficiency", "host_device_comm"); + + // GlobalV::ofs_running << "Print ekb: " << std::endl; + // ekb.print(GlobalV::ofs_running); } - ModuleBase::timer::tick("Efficiency", "evolve_k"); + ModuleBase::timer::tick("TD_Efficiency", "evolve_k"); } // end k ModuleBase::timer::tick("Evolve_elec", "solve_psi"); diff --git a/source/source_lcao/module_rt/evolve_elec.h b/source/source_lcao/module_rt/evolve_elec.h index 7c9fc968b4..5d0a8e5455 100644 --- a/source/source_lcao/module_rt/evolve_elec.h +++ b/source/source_lcao/module_rt/evolve_elec.h @@ -7,10 +7,11 @@ #include "source_base/module_container/ATen/core/tensor_map.h" // TensorMap #include "source_base/module_device/device.h" // base_device #include "source_base/module_device/memory_op.h" // memory operations -#include "source_base/module_external/scalapack_connector.h" // Cpxgemr2d +#include "source_base/module_external/scalapack_connector.h" // Cpxgemr2d #include "source_esolver/esolver_ks_lcao.h" #include "source_esolver/esolver_ks_lcao_tddft.h" #include "source_lcao/hamilt_lcao.h" +#include "source_lcao/module_rt/gather_mat.h" // MPI gathering and distributing functions #include "source_psi/psi.h" //----------------------------------------------------------- @@ -91,52 +92,6 @@ inline void print_tensor_data>(const ct::Tensor& tensor, co namespace module_rt { -#ifdef __MPI -//------------------------ MPI gathering and distributing functions ------------------------// -template -void gatherPsi(const int myid, - const int root_proc, - T* psi_l, - const Parallel_Orbitals& para_orb, - ModuleESolver::Matrix_g& psi_g) -{ - const int* desc_psi = para_orb.desc_wfc; // Obtain the descriptor from Parallel_Orbitals - int ctxt = desc_psi[1]; // BLACS context - int nrows = desc_psi[2]; // Global matrix row number - int ncols = desc_psi[3]; // Global matrix column number - - if (myid == root_proc) - { - psi_g.p.reset(new T[nrows * ncols]); // No need to delete[] since it is a shared_ptr - } - else - { - psi_g.p.reset(new T[nrows * ncols]); // Placeholder for non-root processes - } - - // Set the descriptor of the global psi - psi_g.desc.reset(new int[9]{1, ctxt, nrows, ncols, nrows, ncols, 0, 0, nrows}); - psi_g.row = nrows; - psi_g.col = ncols; - - // Call the Cpxgemr2d function in ScaLAPACK to collect the matrix data - Cpxgemr2d(nrows, ncols, psi_l, 1, 1, const_cast(desc_psi), psi_g.p.get(), 1, 1, psi_g.desc.get(), ctxt); -} - -template -void distributePsi(const Parallel_Orbitals& para_orb, T* psi_l, const ModuleESolver::Matrix_g& psi_g) -{ - const int* desc_psi = para_orb.desc_wfc; // Obtain the descriptor from Parallel_Orbitals - int ctxt = desc_psi[1]; // BLACS context - int nrows = desc_psi[2]; // Global matrix row number - int ncols = desc_psi[3]; // Global matrix column number - - // Call the Cpxgemr2d function in ScaLAPACK to distribute the matrix data - Cpxgemr2d(nrows, ncols, psi_g.p.get(), 1, 1, psi_g.desc.get(), psi_l, 1, 1, const_cast(desc_psi), ctxt); -} -//------------------------ MPI gathering and distributing functions ------------------------// -#endif // __MPI - template class Evolve_elec { @@ -159,11 +114,10 @@ class Evolve_elec Parallel_Orbitals& para_orb, psi::Psi>* psi, psi::Psi>* psi_laststep, - std::complex** Hk_laststep, - std::complex** Sk_laststep, + ct::Tensor& Hk_laststep, + ct::Tensor& Sk_laststep, ModuleBase::matrix& ekb, std::ofstream& ofs_running, - const int htype, const int propagator, const bool use_tensor, const bool use_lapack); diff --git a/source/source_lcao/module_rt/evolve_psi.cpp b/source/source_lcao/module_rt/evolve_psi.cpp index 65ff5dfde0..94d65597e8 100644 --- a/source/source_lcao/module_rt/evolve_psi.cpp +++ b/source/source_lcao/module_rt/evolve_psi.cpp @@ -7,7 +7,7 @@ #include "solve_propagation.h" #include "source_base/module_container/ATen/kernels/blas.h" // cuBLAS handle #include "source_base/module_container/ATen/kernels/lapack.h" // cuSOLVER handle -#include "source_esolver/esolver_ks_lcao_tddft.h" // use gatherMatrix +#include "source_esolver/esolver_ks_lcao_tddft.h" // use gatherMatrix #include "source_io/module_parameter/parameter.h" #include "source_lcao/hamilt_lcao.h" #include "source_pw/module_pwdft/global.h" @@ -26,16 +26,12 @@ void evolve_psi(const int nband, std::complex* H_laststep, std::complex* S_laststep, double* ekb, - int htype, int propagator, std::ofstream& ofs_running, const int print_matrix) { - ModuleBase::TITLE("Evolve_psi", "evolve_psi"); - // ofs_running << " Evolving electronic wave functions begins" << std::endl; - + ModuleBase::TITLE("module_rt", "evolve_psi"); time_t time_start = time(nullptr); - // ofs_running << " Start Time : " << ctime(&time_start); #ifdef __MPI @@ -63,7 +59,7 @@ void evolve_psi(const int nband, /// @brief compute H(t+dt/2) /// @input H_laststep, Htmp, print_matrix /// @output Htmp - if (htype == 1 && propagator != 2) + if (propagator != 2) { half_Hmatrix(pv, nband, nlocal, Htmp, Stmp, H_laststep, S_laststep, ofs_running, print_matrix); } @@ -113,12 +109,10 @@ void evolve_psi(const int nband, delete[] Hold; delete[] U_operator; -#endif +#endif // __MPI time_t time_end = time(nullptr); - ModuleBase::GlobalFunc::OUT_TIME("evolve(std::complex)", time_start, time_end); - - // ofs_running << " Evolving electronic wave functions ends" << std::endl; + ModuleBase::GlobalFunc::OUT_TIME("evolve_psi", time_start, time_end); return; } @@ -133,12 +127,14 @@ void evolve_psi_tensor(const int nband, ct::Tensor& H_laststep, ct::Tensor& S_laststep, ct::Tensor& ekb, - int htype, int propagator, std::ofstream& ofs_running, const int print_matrix, const bool use_lapack) { + ModuleBase::TITLE("module_rt", "evolve_psi_tensor"); + time_t time_start = time(nullptr); + // ct_device_type = ct::DeviceType::CpuDevice or ct::DeviceType::GpuDevice ct::DeviceType ct_device_type = ct::DeviceTypeToEnum::value; // ct_Device = ct::DEVICE_CPU or ct::DEVICE_GPU @@ -148,22 +144,20 @@ void evolve_psi_tensor(const int nband, = base_device::memory::synchronize_memory_op, Device, base_device::DEVICE_CPU>; #if ((defined __CUDA) /* || (defined __ROCM) */) - // Initialize cuBLAS & cuSOLVER handle - ct::kernels::createGpuSolverHandle(); - ct::kernels::createGpuBlasHandle(); + if (ct_device_type == ct::DeviceType::GpuDevice) + { + // Initialize cuBLAS & cuSOLVER handle + ct::kernels::createGpuSolverHandle(); + ct::kernels::createGpuBlasHandle(); + } #endif // __CUDA - // ofs_running << " evolve_psi_tensor::start " << std::endl; - - ModuleBase::TITLE("Evolve_psi", "evolve_psi"); - time_t time_start = time(nullptr); - // ofs_running << " Start Time : " << ctime(&time_start); - #ifdef __MPI - hamilt::MatrixBlock> h_mat, s_mat; p_hamilt->matrix(h_mat, s_mat); + ModuleBase::timer::tick("TD_Efficiency", "host_device_comm"); + // Create Tensor objects for temporary data and sync from host to device const int len_HS = use_lapack ? nlocal * nlocal : pv->nloc; ct::Tensor Stmp(ct::DataType::DT_COMPLEX_DOUBLE, ct_device_type, ct::TensorShape({len_HS})); @@ -178,15 +172,15 @@ void evolve_psi_tensor(const int nband, MPI_Comm_rank(MPI_COMM_WORLD, &myid); MPI_Comm_size(MPI_COMM_WORLD, &num_procs); - ModuleESolver::Matrix_g> h_mat_g, s_mat_g; // Global matrix structure + module_rt::Matrix_g> h_mat_g, s_mat_g; // Global matrix structure // Collect H matrix - ModuleESolver::gatherMatrix(myid, 0, h_mat, h_mat_g); + module_rt::gatherMatrix(myid, 0, h_mat, h_mat_g); syncmem_complex_h2d_op()(Htmp.data>(), h_mat_g.p.get(), len_HS); syncmem_complex_h2d_op()(Hold.data>(), h_mat_g.p.get(), len_HS); // Collect S matrix - ModuleESolver::gatherMatrix(myid, 0, s_mat, s_mat_g); + module_rt::gatherMatrix(myid, 0, s_mat, s_mat_g); syncmem_complex_h2d_op()(Stmp.data>(), s_mat_g.p.get(), len_HS); } else @@ -197,6 +191,8 @@ void evolve_psi_tensor(const int nband, syncmem_complex_h2d_op()(Hold.data>(), h_mat.p, len_HS); } + ModuleBase::timer::tick("TD_Efficiency", "host_device_comm"); + ct::Tensor U_operator(ct::DataType::DT_COMPLEX_DOUBLE, ct_device_type, ct::TensorShape({len_HS})); U_operator.zero(); @@ -209,7 +205,7 @@ void evolve_psi_tensor(const int nband, /// @brief compute H(t+dt/2) /// @input H_laststep, Htmp, print_matrix /// @output Htmp - if (htype == 1 && propagator != 2) + if (propagator != 2) { if (!use_lapack) { @@ -237,7 +233,7 @@ void evolve_psi_tensor(const int nband, /// @brief compute U_operator /// @input Stmp, Htmp, print_matrix /// @output U_operator - Propagator prop(propagator, pv, PARAM.mdp.md_dt); + Propagator prop(propagator, pv, PARAM.inp.td_dt); prop.compute_propagator_tensor(nlocal, Stmp, Htmp, @@ -297,20 +293,20 @@ void evolve_psi_tensor(const int nband, compute_ekb_tensor_lapack(pv, nband, nlocal, Hold, psi_k, ekb, ofs_running); } } - #endif // __MPI - time_t time_end = time(nullptr); - ModuleBase::GlobalFunc::OUT_TIME("evolve(std::complex)", time_start, time_end); - - // ofs_running << " evolve_psi_tensor::end " << std::endl; - #if ((defined __CUDA) /* || (defined __ROCM) */) - // Destroy cuBLAS & cuSOLVER handle - ct::kernels::destroyGpuSolverHandle(); - ct::kernels::destroyGpuBlasHandle(); + if (ct_device_type == ct::DeviceType::GpuDevice) + { + // Destroy cuBLAS & cuSOLVER handle + ct::kernels::destroyGpuSolverHandle(); + ct::kernels::destroyGpuBlasHandle(); + } #endif // __CUDA + time_t time_end = time(nullptr); + ModuleBase::GlobalFunc::OUT_TIME("evolve_psi", time_start, time_end); + return; } @@ -324,7 +320,6 @@ template void evolve_psi_tensor(const int nband, ct::Tensor& H_laststep, ct::Tensor& S_laststep, ct::Tensor& ekb, - int htype, int propagator, std::ofstream& ofs_running, const int print_matrix, @@ -340,7 +335,6 @@ template void evolve_psi_tensor(const int nband, ct::Tensor& H_laststep, ct::Tensor& S_laststep, ct::Tensor& ekb, - int htype, int propagator, std::ofstream& ofs_running, const int print_matrix, diff --git a/source/source_lcao/module_rt/evolve_psi.h b/source/source_lcao/module_rt/evolve_psi.h index ed8cf9b538..413b115a0f 100644 --- a/source/source_lcao/module_rt/evolve_psi.h +++ b/source/source_lcao/module_rt/evolve_psi.h @@ -22,7 +22,6 @@ void evolve_psi(const int nband, std::complex* H_laststep, std::complex* S_laststep, double* ekb, - int htype, int propagator, std::ofstream& ofs_running, const int print_matrix); @@ -37,7 +36,6 @@ void evolve_psi_tensor(const int nband, ct::Tensor& H_laststep, ct::Tensor& S_laststep, ct::Tensor& ekb, - int htype, int propagator, std::ofstream& ofs_running, const int print_matrix, diff --git a/source/source_lcao/module_rt/gather_mat.h b/source/source_lcao/module_rt/gather_mat.h new file mode 100644 index 0000000000..00df8620ad --- /dev/null +++ b/source/source_lcao/module_rt/gather_mat.h @@ -0,0 +1,111 @@ +#ifndef GATHER_MAT_H +#define GATHER_MAT_H + +#include "source_base/module_external/scalapack_connector.h" // Cpxgemr2d +#include "source_hamilt/matrixblock.h" + +namespace module_rt +{ +//------------------------ MPI gathering and distributing functions ------------------------// +// This struct is used for collecting matrices from all processes to root process +template +struct Matrix_g +{ + std::shared_ptr p; + size_t row; + size_t col; + std::shared_ptr desc; +}; + +#ifdef __MPI +// Collect matrices from all processes to root process +template +void gatherMatrix(const int myid, const int root_proc, const hamilt::MatrixBlock& mat_l, Matrix_g& mat_g) +{ + const int* desca = mat_l.desc; // Obtain the descriptor of the local matrix + int ctxt = desca[1]; // BLACS context + int nrows = desca[2]; // Global matrix row number + int ncols = desca[3]; // Global matrix column number + + if (myid == root_proc) + { + mat_g.p.reset(new T[nrows * ncols]); // No need to delete[] since it is a shared_ptr + } + else + { + mat_g.p.reset(new T[nrows * ncols]); // Placeholder for non-root processes + } + + // Set the descriptor of the global matrix + mat_g.desc.reset(new int[9]{1, ctxt, nrows, ncols, nrows, ncols, 0, 0, nrows}); + mat_g.row = nrows; + mat_g.col = ncols; + + // Call the Cpxgemr2d function in ScaLAPACK to collect the matrix data + Cpxgemr2d(nrows, ncols, mat_l.p, 1, 1, const_cast(desca), mat_g.p.get(), 1, 1, mat_g.desc.get(), ctxt); +} + +template +void distributeMatrix(hamilt::MatrixBlock& mat_l, const module_rt::Matrix_g& mat_g) +{ + const int* desc_local = mat_l.desc; // Obtain the descriptor from Parallel_Orbitals + int ctxt = desc_local[1]; // BLACS context + int nrows = desc_local[2]; // Global matrix row number + int ncols = desc_local[3]; // Global matrix column number + + // Check matrix size consistency + if (mat_g.row != static_cast(nrows) || mat_g.col != static_cast(ncols)) + { + throw std::invalid_argument("module_rt::distributeMatrix: Global matrix size mismatch."); + } + + // Call the Cpxgemr2d function in ScaLAPACK to distribute the matrix data + Cpxgemr2d(nrows, ncols, mat_g.p.get(), 1, 1, mat_g.desc.get(), mat_l.p, 1, 1, const_cast(desc_local), ctxt); +} + +template +void gatherPsi(const int myid, + const int root_proc, + T* psi_l, + const Parallel_Orbitals& para_orb, + module_rt::Matrix_g& psi_g) +{ + const int* desc_psi = para_orb.desc_wfc; // Obtain the descriptor from Parallel_Orbitals + int ctxt = desc_psi[1]; // BLACS context + int nrows = desc_psi[2]; // Global matrix row number + int ncols = desc_psi[3]; // Global matrix column number + + if (myid == root_proc) + { + psi_g.p.reset(new T[nrows * ncols]); // No need to delete[] since it is a shared_ptr + } + else + { + psi_g.p.reset(new T[nrows * ncols]); // Placeholder for non-root processes + } + + // Set the descriptor of the global psi + psi_g.desc.reset(new int[9]{1, ctxt, nrows, ncols, nrows, ncols, 0, 0, nrows}); + psi_g.row = nrows; + psi_g.col = ncols; + + // Call the Cpxgemr2d function in ScaLAPACK to collect the matrix data + Cpxgemr2d(nrows, ncols, psi_l, 1, 1, const_cast(desc_psi), psi_g.p.get(), 1, 1, psi_g.desc.get(), ctxt); +} + +template +void distributePsi(const Parallel_Orbitals& para_orb, T* psi_l, const module_rt::Matrix_g& psi_g) +{ + const int* desc_psi = para_orb.desc_wfc; // Obtain the descriptor from Parallel_Orbitals + int ctxt = desc_psi[1]; // BLACS context + int nrows = desc_psi[2]; // Global matrix row number + int ncols = desc_psi[3]; // Global matrix column number + + // Call the Cpxgemr2d function in ScaLAPACK to distribute the matrix data + Cpxgemr2d(nrows, ncols, psi_g.p.get(), 1, 1, psi_g.desc.get(), psi_l, 1, 1, const_cast(desc_psi), ctxt); +} +//------------------------ MPI gathering and distributing functions ------------------------// + +#endif // __MPI +} // namespace module_rt +#endif // GATHER_MAT_H \ No newline at end of file diff --git a/source/source_lcao/module_rt/kernels/cuda/snap_psibeta_gpu.cu b/source/source_lcao/module_rt/kernels/cuda/snap_psibeta_gpu.cu new file mode 100644 index 0000000000..cb381ece78 --- /dev/null +++ b/source/source_lcao/module_rt/kernels/cuda/snap_psibeta_gpu.cu @@ -0,0 +1,380 @@ +/** + * @file snap_psibeta_gpu.cu + * @brief Host-side GPU interface for overlap computation + * + * This file provides the high-level interface for GPU-accelerated computation + * of overlap integrals between atomic orbitals (psi) and non-local projectors + * (beta). It handles: + * - GPU resource initialization and cleanup + * - Data marshalling from ABACUS structures to GPU-friendly formats + * - Kernel launch configuration + * - Result unpacking back to ABACUS data structures + */ + +#include "../snap_psibeta_gpu.h" +#include "snap_psibeta_kernel.cuh" +#include "source_base/timer.h" +#include "source_base/tool_quit.h" + +#include +#include +#include +#include + +namespace module_rt +{ +namespace gpu +{ + +//============================================================================= +// GPU Resource Management +//============================================================================= + +/** + * @brief Initialize GPU resources for snap_psibeta computation + * + * Checks for available CUDA devices and copies integration grids + * (Lebedev-Laikov angular and Gauss-Legendre radial) to constant memory. + * + * @note Call this once at the start of a calculation session before any + * snap_psibeta_atom_batch_gpu calls. + */ +void initialize_gpu_resources() +{ + // Verify CUDA device availability + int device_count = 0; + cudaError_t err = cudaGetDeviceCount(&device_count); + if (err != cudaSuccess || device_count == 0) + { + ModuleBase::WARNING_QUIT("snap_psibeta_gpu", "No CUDA devices found or error getting device count!"); + } + + // Initialize integration grids in constant memory + copy_grids_to_device(); + + // Synchronize to ensure initialization is complete + cudaDeviceSynchronize(); +} + +//============================================================================= +// Internal Helper Structures +//============================================================================= + +/** + * @brief Mapping structure for reconstructing output data + * + * Associates each orbital in the flattened GPU array with its original + * neighbor and orbital indices for proper result placement. + */ +struct OrbitalMapping +{ + int neighbor_idx; ///< Index of neighbor atom in adjacency list + int iw_index; ///< Global orbital index for output mapping +}; + +//============================================================================= +// Main GPU Interface Function +//============================================================================= + +/** + * @brief Compute overlap integrals on GPU + * + * This function processes ALL neighbor atoms for a single center atom (where + * the projectors are located) in a single kernel launch, providing significant + * performance improvement over per-neighbor processing. + * + * Workflow: + * 1. Collect all (neighbor, orbital) pairs into flattened arrays + * 2. Prepare projector data for the center atom + * 3. Transfer data to GPU and launch kernel + * 4. Retrieve results and reconstruct nlm_tot structure + * + * @param orb LCAO orbital information + * @param infoNL_ Non-local projector information + * @param T0 Atom type of center atom (projector location) + * @param R0 Position of center atom + * @param A Vector potential for phase factor + * @param adjs Adjacent atom information + * @param ucell Unit cell information + * @param paraV Parallel orbital distribution + * @param npol Number of spin polarizations + * @param nlm_dim Output dimension (1 for overlap only, 4 for overlap + current) + * @param nlm_tot Output: overlap integrals indexed as [neighbor][direction][orbital] + */ +void snap_psibeta_atom_batch_gpu( + const LCAO_Orbitals& orb, + const InfoNonlocal& infoNL_, + const int T0, + const ModuleBase::Vector3& R0, + const ModuleBase::Vector3& A, + const AdjacentAtomInfo& adjs, + const UnitCell* ucell, + const Parallel_Orbitals* paraV, + const int npol, + const int nlm_dim, + std::vector>>>>& nlm_tot) +{ + ModuleBase::timer::tick("module_rt", "snap_psibeta_gpu"); + + //========================================================================= + // Early exit if no projectors on center atom + //========================================================================= + + const int nproj = infoNL_.nproj[T0]; + if (nproj == 0) + { + ModuleBase::timer::tick("module_rt", "snap_psibeta_gpu"); + return; + } + + //========================================================================= + // Compute projector output indices + //========================================================================= + + int natomwfc = 0; // Total number of projector components + std::vector proj_m0_offset_h(nproj); + + for (int ip = 0; ip < nproj; ip++) + { + proj_m0_offset_h[ip] = natomwfc; + int L0 = infoNL_.Beta[T0].Proj[ip].getL(); + + // Validate angular momentum + if (L0 > MAX_L) + { + ModuleBase::WARNING_QUIT("snap_psibeta_gpu", + "L0=" + std::to_string(L0) + " exceeds MAX_L=" + std::to_string(MAX_L)); + } + natomwfc += 2 * L0 + 1; + } + + //========================================================================= + // Collect all (neighbor, orbital) pairs + //========================================================================= + + std::vector neighbor_orbitals_h; + std::vector psi_radial_h; + std::vector orbital_mappings; + + for (int ad = 0; ad < adjs.adj_num + 1; ++ad) + { + const int T1 = adjs.ntype[ad]; + const int I1 = adjs.natom[ad]; + const int iat1 = ucell->itia2iat(T1, I1); + const ModuleBase::Vector3& tau1 = adjs.adjacent_tau[ad]; + const Atom* atom1 = &ucell->atoms[T1]; + + // Get unique orbital indices (union of row and column indices) + auto all_indexes = paraV->get_indexes_row(iat1); + auto col_indexes = paraV->get_indexes_col(iat1); + all_indexes.insert(all_indexes.end(), col_indexes.begin(), col_indexes.end()); + std::sort(all_indexes.begin(), all_indexes.end()); + all_indexes.erase(std::unique(all_indexes.begin(), all_indexes.end()), all_indexes.end()); + + // Process each orbital + for (size_t iw1l = 0; iw1l < all_indexes.size(); iw1l += npol) + { + const int iw1 = all_indexes[iw1l] / npol; + const int L1 = atom1->iw2l[iw1]; + const int m1 = atom1->iw2m[iw1]; + const int N1 = atom1->iw2n[iw1]; + + // Skip orbitals with angular momentum beyond supported limit + if (L1 > MAX_L) + { + continue; + } + + // Get orbital radial function (use getPsi(), not getPsi_r()) + const double* phi_psi = orb.Phi[T1].PhiLN(L1, N1).getPsi(); + int mesh = orb.Phi[T1].PhiLN(L1, N1).getNr(); + double dk = orb.Phi[T1].PhiLN(L1, N1).getDk(); + double rcut = orb.Phi[T1].getRcut(); + + // Append to flattened psi array + size_t psi_offset = psi_radial_h.size(); + psi_radial_h.insert(psi_radial_h.end(), phi_psi, phi_psi + mesh); + + // Create neighbor-orbital data + NeighborOrbitalData norb; + norb.neighbor_idx = ad; + norb.R1 = make_double3(tau1.x * ucell->lat0, tau1.y * ucell->lat0, tau1.z * ucell->lat0); + norb.L1 = L1; + norb.m1 = m1; + norb.N1 = N1; + norb.iw_index = all_indexes[iw1l]; + norb.psi_offset = static_cast(psi_offset); + norb.psi_mesh = mesh; + norb.psi_dk = dk; + norb.psi_rcut = rcut; + + neighbor_orbitals_h.push_back(norb); + + // Track mapping for result reconstruction + OrbitalMapping mapping; + mapping.neighbor_idx = ad; + mapping.iw_index = all_indexes[iw1l]; + orbital_mappings.push_back(mapping); + } + } + + int total_neighbor_orbitals = static_cast(neighbor_orbitals_h.size()); + if (total_neighbor_orbitals == 0) + { + ModuleBase::timer::tick("module_rt", "snap_psibeta_gpu"); + return; + } + + //========================================================================= + // Prepare projector data + //========================================================================= + + std::vector projectors_h(nproj); + std::vector beta_radial_h; + + for (int ip = 0; ip < nproj; ip++) + { + const auto& proj = infoNL_.Beta[T0].Proj[ip]; + int L0 = proj.getL(); + int mesh = proj.getNr(); + double dk = proj.getDk(); + double rcut = proj.getRcut(); + const double* beta_r = proj.getBeta_r(); + const double* radial = proj.getRadial(); + + projectors_h[ip].L0 = L0; + projectors_h[ip].beta_offset = static_cast(beta_radial_h.size()); + projectors_h[ip].beta_mesh = mesh; + projectors_h[ip].beta_dk = dk; + projectors_h[ip].beta_rcut = rcut; + projectors_h[ip].r_min = radial[0]; + projectors_h[ip].r_max = radial[mesh - 1]; + + beta_radial_h.insert(beta_radial_h.end(), beta_r, beta_r + mesh); + } + + //========================================================================= + // Allocate GPU memory + //========================================================================= + + NeighborOrbitalData* neighbor_orbitals_d = nullptr; + ProjectorData* projectors_d = nullptr; + double* psi_radial_d = nullptr; + double* beta_radial_d = nullptr; + int* proj_m0_offset_d = nullptr; + cuDoubleComplex* nlm_out_d = nullptr; + + size_t output_size = total_neighbor_orbitals * nlm_dim * natomwfc; + + CUDA_CHECK(cudaMalloc(&neighbor_orbitals_d, total_neighbor_orbitals * sizeof(NeighborOrbitalData))); + CUDA_CHECK(cudaMalloc(&projectors_d, nproj * sizeof(ProjectorData))); + CUDA_CHECK(cudaMalloc(&psi_radial_d, psi_radial_h.size() * sizeof(double))); + CUDA_CHECK(cudaMalloc(&beta_radial_d, beta_radial_h.size() * sizeof(double))); + CUDA_CHECK(cudaMalloc(&proj_m0_offset_d, nproj * sizeof(int))); + CUDA_CHECK(cudaMalloc(&nlm_out_d, output_size * sizeof(cuDoubleComplex))); + + //========================================================================= + // Transfer data to GPU + //========================================================================= + + CUDA_CHECK(cudaMemcpy(neighbor_orbitals_d, + neighbor_orbitals_h.data(), + total_neighbor_orbitals * sizeof(NeighborOrbitalData), + cudaMemcpyHostToDevice)); + CUDA_CHECK(cudaMemcpy(projectors_d, projectors_h.data(), nproj * sizeof(ProjectorData), cudaMemcpyHostToDevice)); + CUDA_CHECK( + cudaMemcpy(psi_radial_d, psi_radial_h.data(), psi_radial_h.size() * sizeof(double), cudaMemcpyHostToDevice)); + CUDA_CHECK( + cudaMemcpy(beta_radial_d, beta_radial_h.data(), beta_radial_h.size() * sizeof(double), cudaMemcpyHostToDevice)); + CUDA_CHECK(cudaMemcpy(proj_m0_offset_d, proj_m0_offset_h.data(), nproj * sizeof(int), cudaMemcpyHostToDevice)); + CUDA_CHECK(cudaMemset(nlm_out_d, 0, output_size * sizeof(cuDoubleComplex))); + + //========================================================================= + // Launch kernel + //========================================================================= + + double3 R0_d3 = make_double3(R0.x, R0.y, R0.z); + double3 A_d3 = make_double3(A.x, A.y, A.z); + + dim3 grid(total_neighbor_orbitals, nproj, 1); + dim3 block(BLOCK_SIZE, 1, 1); + + snap_psibeta_atom_batch_kernel<<>>(R0_d3, + A_d3, + neighbor_orbitals_d, + projectors_d, + psi_radial_d, + beta_radial_d, + proj_m0_offset_d, + total_neighbor_orbitals, + nproj, + natomwfc, + nlm_dim, + nlm_out_d); + + // Check for launch errors + cudaError_t err = cudaGetLastError(); + if (err != cudaSuccess) + { + cudaFree(neighbor_orbitals_d); + cudaFree(projectors_d); + cudaFree(psi_radial_d); + cudaFree(beta_radial_d); + cudaFree(proj_m0_offset_d); + cudaFree(nlm_out_d); + ModuleBase::WARNING_QUIT("snap_psibeta_gpu", + std::string("Atom batch kernel launch error: ") + cudaGetErrorString(err)); + } + + CUDA_CHECK(cudaDeviceSynchronize()); + + //========================================================================= + // Retrieve results + //========================================================================= + + std::vector nlm_out_h(output_size); + CUDA_CHECK(cudaMemcpy(nlm_out_h.data(), nlm_out_d, output_size * sizeof(cuDoubleComplex), cudaMemcpyDeviceToHost)); + + //========================================================================= + // Reconstruct output structure + //========================================================================= + + for (int i = 0; i < total_neighbor_orbitals; i++) + { + int ad = orbital_mappings[i].neighbor_idx; + int iw_index = orbital_mappings[i].iw_index; + + std::vector>> nlm(nlm_dim); + for (int d = 0; d < nlm_dim; d++) + { + nlm[d].resize(natomwfc); + for (int k = 0; k < natomwfc; k++) + { + size_t idx = i * nlm_dim * natomwfc + d * natomwfc + k; + nlm[d][k] = std::complex(nlm_out_h[idx].x, nlm_out_h[idx].y); + } + } + + // Insert into nlm_tot[neighbor][direction][orbital] + for (int dir = 0; dir < nlm_dim; dir++) + { + nlm_tot[ad][dir].insert({iw_index, nlm[dir]}); + } + } + + //========================================================================= + // Cleanup GPU memory + //========================================================================= + + cudaFree(neighbor_orbitals_d); + cudaFree(projectors_d); + cudaFree(psi_radial_d); + cudaFree(beta_radial_d); + cudaFree(proj_m0_offset_d); + cudaFree(nlm_out_d); + + ModuleBase::timer::tick("module_rt", "snap_psibeta_gpu"); +} + +} // namespace gpu +} // namespace module_rt diff --git a/source/source_lcao/module_rt/kernels/cuda/snap_psibeta_kernel.cu b/source/source_lcao/module_rt/kernels/cuda/snap_psibeta_kernel.cu new file mode 100644 index 0000000000..60ea9ad26b --- /dev/null +++ b/source/source_lcao/module_rt/kernels/cuda/snap_psibeta_kernel.cu @@ -0,0 +1,567 @@ +/** + * @file snap_psibeta_kernel.cu + * @brief CUDA kernel implementation for overlap integrals + * + * This file implements the GPU-accelerated numerical integration for computing + * overlap integrals between atomic orbitals (psi) and non-local projectors (beta). + * The implementation uses: + * - Lebedev-Laikov quadrature (110 points) for angular integration + * - Gauss-Legendre quadrature (140 points) for radial integration + * - Templated spherical harmonics with compile-time L for optimization + * - Warp-level shuffle reduction for efficient parallel summation + */ + +#include "snap_psibeta_kernel.cuh" +#include "source_base/constants.h" +#include "source_base/math_integral.h" + +#include +#include + +namespace module_rt +{ +namespace gpu +{ + +//============================================================================= +// Constant Memory - Integration Grids +//============================================================================= + +// Lebedev-Laikov angular quadrature grid (110 points) +__constant__ double d_lebedev_x[ANGULAR_GRID_NUM]; ///< x-direction cosines +__constant__ double d_lebedev_y[ANGULAR_GRID_NUM]; ///< y-direction cosines +__constant__ double d_lebedev_z[ANGULAR_GRID_NUM]; ///< z-direction cosines +__constant__ double d_lebedev_w[ANGULAR_GRID_NUM]; ///< Angular integration weights + +// Gauss-Legendre radial quadrature grid (140 points) +__constant__ double d_gl_x[RADIAL_GRID_NUM]; ///< Quadrature abscissae on [-1, 1] +__constant__ double d_gl_w[RADIAL_GRID_NUM]; ///< Quadrature weights + +//============================================================================= +// Spherical Harmonics - Helper Functions +//============================================================================= + +/** + * @brief Access element in lower-triangular stored Legendre polynomial array + * + * For associated Legendre polynomials P_l^m, we only need 0 <= m <= l. + * Storage layout: P_0^0, P_1^0, P_1^1, P_2^0, P_2^1, P_2^2, ... + * Linear index: l*(l+1)/2 + m + */ +__device__ __forceinline__ double& p_access(double* p, int l, int m) +{ + return p[l * (l + 1) / 2 + m]; +} + +/** + * @brief Read-only access to Legendre polynomial array + */ +__device__ __forceinline__ double p_get(const double* p, int l, int m) +{ + return p[l * (l + 1) / 2 + m]; +} + +//============================================================================= +// Spherical Harmonics - Main Implementation +//============================================================================= + +/** + * @brief Compute real spherical harmonics Y_lm (templated version) + * + * Uses the recursive computation of associated Legendre polynomials: + * P_l^m = ((2l-1)*cos(theta)*P_{l-1}^m - (l-1+m)*P_{l-2}^m) / (l-m) + * P_l^{l-1} = (2l-1)*cos(theta)*P_{l-1}^{l-1} + * P_l^l = (-1)^l * (2l-1)!! * sin^l(theta) + * + * Real spherical harmonics are defined as: + * Y_{lm} = c_l * P_l^0 for m = 0 + * Y_{l,2m-1} = c_l * sqrt(2/(l-m)!/(l+m)!) * P_l^m * cos(m*phi) for m > 0 + * Y_{l,2m} = c_l * sqrt(2/(l-m)!/(l+m)!) * P_l^m * sin(m*phi) for m > 0 + * where c_l = sqrt((2l+1)/(4*pi)) + * + * @tparam L Maximum angular momentum (compile-time constant) + * @param x, y, z Direction vector components (need not be normalized) + * @param ylm Output array storing Y_lm values in order: Y_00, Y_10, Y_11c, Y_11s, ... + */ +template +__device__ void compute_ylm_gpu(double x, double y, double z, double* ylm) +{ + + constexpr int P_SIZE = (L + 1) * (L + 2) / 2; // Lower triangular storage size + + // Y_00 = 1/(2*sqrt(pi)) + ylm[0] = 0.5 * sqrt(1.0 / ModuleBase::PI); + + if (L == 0) + { + return; + } + + // Compute spherical angles + double r2 = x * x + y * y + z * z; + double r = sqrt(r2); + + double cost, sint, phi; + if (r < 1e-10) + { + // At origin, default to z-axis direction + cost = 1.0; + sint = 0.0; + phi = 0.0; + } + else + { + cost = z / r; + sint = sqrt(1.0 - cost * cost); + phi = atan2(y, x); + } + + // Ensure sint is non-negative (numerical safety) + if (sint < 0.0) + { + sint = 0.0; + } + + // Associated Legendre polynomials P_l^m in lower-triangular storage + double p[P_SIZE]; + + // Base cases + p_access(p, 0, 0) = 1.0; + + if (L >= 1) + { + p_access(p, 1, 0) = cost; // P_1^0 = cos(theta) + p_access(p, 1, 1) = -sint; // P_1^1 = -sin(theta) + } + + // Recurrence relations for l >= 2 +#pragma unroll + for (int l = 2; l <= L; l++) + { + // P_l^m for m = 0 to l-2: standard recurrence +#pragma unroll + for (int m = 0; m <= l - 2; m++) + { + p_access(p, l, m) = ((2 * l - 1) * cost * p_get(p, l - 1, m) - (l - 1 + m) * p_get(p, l - 2, m)) + / static_cast(l - m); + } + + // P_l^{l-1} = (2l-1) * cos(theta) * P_{l-1}^{l-1} + p_access(p, l, l - 1) = (2 * l - 1) * cost * p_get(p, l - 1, l - 1); + + // P_l^l = (-1)^l * (2l-1)!! * sin^l(theta) + double double_factorial = 1.0; +#pragma unroll + for (int i = 1; i <= 2 * l - 1; i += 2) + { + double_factorial *= i; + } + + double sint_power = 1.0; +#pragma unroll + for (int i = 0; i < l; i++) + { + sint_power *= sint; + } + + p_access(p, l, l) = double_factorial * sint_power; + if (l % 2 == 1) + { + p_access(p, l, l) = -p_access(p, l, l); + } + } + + // Transform Legendre polynomials to real spherical harmonics + int lm = 0; +#pragma unroll + for (int l = 0; l <= L; l++) + { + double c = sqrt((2.0 * l + 1.0) / ModuleBase::FOUR_PI); + + // m = 0 component + ylm[lm] = c * p_get(p, l, 0); + lm++; + + // m > 0 components (cosine and sine parts) +#pragma unroll + for (int m = 1; m <= l; m++) + { + // Compute normalization factor: sqrt(2 * (l-m)! / (l+m)!) + double factorial_ratio = 1.0; +#pragma unroll + for (int i = l - m + 1; i <= l + m; i++) + { + factorial_ratio *= i; + } + double norm = c * sqrt(1.0 / factorial_ratio) * ModuleBase::SQRT2; + + double sin_mphi, cos_mphi; + sincos(m * phi, &sin_mphi, &cos_mphi); + + ylm[lm] = norm * p_get(p, l, m) * cos_mphi; // Y_{l,m} cosine part + lm++; + + ylm[lm] = norm * p_get(p, l, m) * sin_mphi; // Y_{l,m} sine part + lm++; + } + } +} + +// Explicit template instantiations for L = 0, 1, 2, 3, 4 +template __device__ void compute_ylm_gpu<0>(double x, double y, double z, double* ylm); +template __device__ void compute_ylm_gpu<1>(double x, double y, double z, double* ylm); +template __device__ void compute_ylm_gpu<2>(double x, double y, double z, double* ylm); +template __device__ void compute_ylm_gpu<3>(double x, double y, double z, double* ylm); +template __device__ void compute_ylm_gpu<4>(double x, double y, double z, double* ylm); + +//============================================================================= +// Warp-Level Reduction +//============================================================================= + +/** + * @brief Warp-level sum reduction using shuffle instructions + * + * Performs a parallel reduction within a warp (32 threads) using __shfl_down_sync. + * After this function, lane 0 contains the sum of all input values in the warp. + * + * @param val Input value from each thread + * @return Sum across all threads in the warp (valid only in lane 0) + */ +__device__ __forceinline__ double warp_reduce_sum(double val) +{ + for (int offset = 16; offset > 0; offset /= 2) + { + val += __shfl_down_sync(0xffffffff, val, offset); + } + return val; +} + +//============================================================================= +// Main Kernel Implementation +//============================================================================= + +/** + * @brief Atom-level batch kernel for overlap integrals + * + * Integration is performed using restructured loops for efficiency: + * - Outer loop: angular points (each thread handles different angles) + * - Inner loop: radial points (each thread accumulates all radii) + * + * This structure exploits the fact that Y_lm for the projector (ylm0) only + * depends on the angular direction, not the radial distance, saving + * RADIAL_GRID_NUM redundant ylm0 computations per angular point. + */ +__global__ void snap_psibeta_atom_batch_kernel(double3 R0, + double3 A, + const NeighborOrbitalData* __restrict__ neighbor_orbitals, + const ProjectorData* __restrict__ projectors, + const double* __restrict__ psi_radial, + const double* __restrict__ beta_radial, + const int* __restrict__ proj_m0_offset, + int total_neighbor_orbitals, + int nproj, + int natomwfc, + int nlm_dim, + cuDoubleComplex* __restrict__ nlm_out) +{ + // Thread/block indices + const int norb_idx = blockIdx.x; // Which (neighbor, orbital) pair + const int proj_idx = blockIdx.y; // Which projector + const int tid = threadIdx.x; + + // Early exit for out-of-bounds blocks + if (norb_idx >= total_neighbor_orbitals || proj_idx >= nproj) + { + return; + } + + //------------------------------------------------------------------------- + // Load input data + //------------------------------------------------------------------------- + + const NeighborOrbitalData& norb = neighbor_orbitals[norb_idx]; + const ProjectorData& proj = projectors[proj_idx]; + + const double3 R1 = norb.R1; + const int L1 = norb.L1; + const int m1 = norb.m1; + const int L0 = proj.L0; + const int m0_offset = proj_m0_offset[proj_idx]; + + // Skip if angular momentum exceeds supported limit + if (L1 > MAX_L || L0 > MAX_L) + { + return; + } + + //------------------------------------------------------------------------- + // Compute geometry + //------------------------------------------------------------------------- + + // Note: dR (R1 - R0) is computed inline as dRx/dRy/dRz in the integration loop + + // Orbital cutoff + const double r1_max = norb.psi_rcut; + + // Integration range from projector radial grid + const double r_min = proj.r_min; + const double r_max = proj.r_max; + const double xl = 0.5 * (r_max - r_min); // Half-range for Gauss-Legendre + const double xmean = 0.5 * (r_max + r_min); // Midpoint + + // Phase factor exp(i * A · R0) + const double AdotR0 = A.x * R0.x + A.y * R0.y + A.z * R0.z; + const cuDoubleComplex exp_iAR0 = cu_exp_i(AdotR0); + + //------------------------------------------------------------------------- + // Shared memory for warp reduction + //------------------------------------------------------------------------- + + constexpr int NUM_WARPS = BLOCK_SIZE / 32; // 128 / 32 = 4 warps + __shared__ double s_temp_re[NUM_WARPS]; + __shared__ double s_temp_im[NUM_WARPS]; + + //------------------------------------------------------------------------- + // Initialize accumulators (per-thread registers) + //------------------------------------------------------------------------- + + const int num_m0 = 2 * L0 + 1; + + double result_re[MAX_M0_SIZE]; + double result_im[MAX_M0_SIZE]; + double result_r_re[3][MAX_M0_SIZE]; // For current operator: x, y, z components + double result_r_im[3][MAX_M0_SIZE]; + + for (int m0 = 0; m0 < num_m0; m0++) + { + result_re[m0] = 0.0; + result_im[m0] = 0.0; + for (int d = 0; d < 3; d++) + { + result_r_re[d][m0] = 0.0; + result_r_im[d][m0] = 0.0; + } + } + + //------------------------------------------------------------------------- + // Main integration loop + // Outer: angular points (parallelized across threads) + // Inner: radial points (accumulated per thread) + //------------------------------------------------------------------------- + + for (int ian = tid; ian < ANGULAR_GRID_NUM; ian += BLOCK_SIZE) + { + // Load angular grid point + const double leb_x = d_lebedev_x[ian]; + const double leb_y = d_lebedev_y[ian]; + const double leb_z = d_lebedev_z[ian]; + const double w_ang = d_lebedev_w[ian]; + + // Precompute Y_lm for projector (independent of radial distance) + double ylm0[MAX_YLM_SIZE]; + DISPATCH_YLM(L0, leb_x, leb_y, leb_z, ylm0); + const int offset_L0 = L0 * L0; + + // Precompute A · direction (for phase factor) + const double A_dot_leb = A.x * leb_x + A.y * leb_y + A.z * leb_z; + + // Vector from R1 to R0 (for computing distance to orbital center) + const double dRx = R0.x - R1.x; + const double dRy = R0.y - R1.y; + const double dRz = R0.z - R1.z; + + // Radial integration +#pragma unroll 4 + for (int ir = 0; ir < RADIAL_GRID_NUM; ir++) + { + // Transform Gauss-Legendre point from [-1,1] to [r_min, r_max] + const double r_val = xmean + xl * d_gl_x[ir]; + const double w_rad = xl * d_gl_w[ir]; + + // Integration point position relative to R0 + const double rx = r_val * leb_x; + const double ry = r_val * leb_y; + const double rz = r_val * leb_z; + + // Vector from R1 to integration point + const double tx = rx + dRx; + const double ty = ry + dRy; + const double tz = rz + dRz; + const double tnorm = sqrt(tx * tx + ty * ty + tz * tz); + + // Check if within orbital cutoff + if (tnorm <= r1_max) + { + // Compute Y_lm for orbital (depends on direction from R1) + double ylm1[MAX_YLM_SIZE]; + if (tnorm > 1e-10) + { + const double inv_tnorm = 1.0 / tnorm; + DISPATCH_YLM(L1, tx * inv_tnorm, ty * inv_tnorm, tz * inv_tnorm, ylm1); + } + else + { + DISPATCH_YLM(L1, 0.0, 0.0, 1.0, ylm1); + } + + // Interpolate orbital radial function + const double psi_val + = interpolate_radial_gpu(psi_radial + norb.psi_offset, norb.psi_mesh, 1.0 / norb.psi_dk, tnorm); + + // Interpolate projector radial function + const double beta_val + = interpolate_radial_gpu(beta_radial + proj.beta_offset, proj.beta_mesh, 1.0 / proj.beta_dk, r_val); + + // Phase factor exp(i * A · r) + const double phase = r_val * A_dot_leb; + const cuDoubleComplex exp_iAr = cu_exp_i(phase); + + // Orbital Y_lm value + const double ylm_L1_val = ylm1[L1 * L1 + m1]; + + // Combined integration factor: Y_L1m1 * psi * beta * r * dr * dOmega + const double factor = ylm_L1_val * psi_val * beta_val * r_val * w_rad * w_ang; + const cuDoubleComplex common_factor = cu_mul_real(exp_iAr, factor); + + // Accumulate for all m0 components of projector +#pragma unroll + for (int m0 = 0; m0 < num_m0; m0++) + { + const double ylm0_val = ylm0[offset_L0 + m0]; + + result_re[m0] += common_factor.x * ylm0_val; + result_im[m0] += common_factor.y * ylm0_val; + + // Current operator contribution (if requested) + if (nlm_dim == 4) + { + const double r_op_x = rx + R0.x; + const double r_op_y = ry + R0.y; + const double r_op_z = rz + R0.z; + + result_r_re[0][m0] += common_factor.x * ylm0_val * r_op_x; + result_r_im[0][m0] += common_factor.y * ylm0_val * r_op_x; + result_r_re[1][m0] += common_factor.x * ylm0_val * r_op_y; + result_r_im[1][m0] += common_factor.y * ylm0_val * r_op_y; + result_r_re[2][m0] += common_factor.x * ylm0_val * r_op_z; + result_r_im[2][m0] += common_factor.y * ylm0_val * r_op_z; + } + } + } + } // End radial loop + } // End angular loop + + //------------------------------------------------------------------------- + // Parallel reduction and output + // Uses warp shuffle for efficiency, followed by cross-warp reduction + //------------------------------------------------------------------------- + + const int out_base = norb_idx * nlm_dim * natomwfc; + const int warp_id = tid / 32; + const int lane_id = tid % 32; + + for (int m0 = 0; m0 < num_m0; m0++) + { + // Step 1: Warp-level reduction using shuffle + double sum_re = warp_reduce_sum(result_re[m0]); + double sum_im = warp_reduce_sum(result_im[m0]); + + // Step 2: First lane of each warp writes to shared memory + if (lane_id == 0) + { + s_temp_re[warp_id] = sum_re; + s_temp_im[warp_id] = sum_im; + } + __syncthreads(); + + // Step 3: First warp reduces across all warps and writes output + if (warp_id == 0) + { + sum_re = (lane_id < NUM_WARPS) ? s_temp_re[lane_id] : 0.0; + sum_im = (lane_id < NUM_WARPS) ? s_temp_im[lane_id] : 0.0; + sum_re = warp_reduce_sum(sum_re); + sum_im = warp_reduce_sum(sum_im); + + if (lane_id == 0) + { + cuDoubleComplex result = make_cuDoubleComplex(sum_re, sum_im); + result = cu_mul(result, exp_iAR0); + result = cu_conj(result); + nlm_out[out_base + 0 * natomwfc + m0_offset + m0] = result; + } + } + __syncthreads(); + + // Process current operator components (if nlm_dim == 4) + if (nlm_dim == 4) + { + for (int d = 0; d < 3; d++) + { + double sum_r_re = warp_reduce_sum(result_r_re[d][m0]); + double sum_r_im = warp_reduce_sum(result_r_im[d][m0]); + + if (lane_id == 0) + { + s_temp_re[warp_id] = sum_r_re; + s_temp_im[warp_id] = sum_r_im; + } + __syncthreads(); + + if (warp_id == 0) + { + sum_r_re = (lane_id < NUM_WARPS) ? s_temp_re[lane_id] : 0.0; + sum_r_im = (lane_id < NUM_WARPS) ? s_temp_im[lane_id] : 0.0; + sum_r_re = warp_reduce_sum(sum_r_re); + sum_r_im = warp_reduce_sum(sum_r_im); + + if (lane_id == 0) + { + cuDoubleComplex result_r = make_cuDoubleComplex(sum_r_re, sum_r_im); + result_r = cu_mul(result_r, exp_iAR0); + result_r = cu_conj(result_r); + nlm_out[out_base + (d + 1) * natomwfc + m0_offset + m0] = result_r; + } + } + __syncthreads(); + } + } + } +} + +//============================================================================= +// Host-side Helper Functions +//============================================================================= + +/** + * @brief Copy integration grids to GPU constant memory + * + * Initializes the constant memory arrays with Lebedev-Laikov angular grid + * and Gauss-Legendre radial grid for use in kernel integration. + */ +void copy_grids_to_device() +{ + // Copy Lebedev-Laikov 110-point angular quadrature grid + CUDA_CHECK(cudaMemcpyToSymbol(d_lebedev_x, + ModuleBase::Integral::Lebedev_Laikov_grid110_x, + ANGULAR_GRID_NUM * sizeof(double))); + CUDA_CHECK(cudaMemcpyToSymbol(d_lebedev_y, + ModuleBase::Integral::Lebedev_Laikov_grid110_y, + ANGULAR_GRID_NUM * sizeof(double))); + CUDA_CHECK(cudaMemcpyToSymbol(d_lebedev_z, + ModuleBase::Integral::Lebedev_Laikov_grid110_z, + ANGULAR_GRID_NUM * sizeof(double))); + CUDA_CHECK(cudaMemcpyToSymbol(d_lebedev_w, + ModuleBase::Integral::Lebedev_Laikov_grid110_w, + ANGULAR_GRID_NUM * sizeof(double))); + + // Compute and copy Gauss-Legendre radial quadrature grid + std::vector h_gl_x(RADIAL_GRID_NUM); + std::vector h_gl_w(RADIAL_GRID_NUM); + ModuleBase::Integral::Gauss_Legendre_grid_and_weight(RADIAL_GRID_NUM, h_gl_x.data(), h_gl_w.data()); + + CUDA_CHECK(cudaMemcpyToSymbol(d_gl_x, h_gl_x.data(), RADIAL_GRID_NUM * sizeof(double))); + CUDA_CHECK(cudaMemcpyToSymbol(d_gl_w, h_gl_w.data(), RADIAL_GRID_NUM * sizeof(double))); +} + +} // namespace gpu +} // namespace module_rt diff --git a/source/source_lcao/module_rt/kernels/cuda/snap_psibeta_kernel.cuh b/source/source_lcao/module_rt/kernels/cuda/snap_psibeta_kernel.cuh new file mode 100644 index 0000000000..157224ea57 --- /dev/null +++ b/source/source_lcao/module_rt/kernels/cuda/snap_psibeta_kernel.cuh @@ -0,0 +1,331 @@ +/** + * @file snap_psibeta_kernel.cuh + * @brief CUDA kernel declarations for computing overlap integrals + * + * This file provides GPU-accelerated computation of overlap integrals between + * atomic orbitals (psi) and non-local projectors (beta) for real-time TDDFT + * calculations. The implementation uses numerical integration on a combined + * radial (Gauss-Legendre) and angular (Lebedev-Laikov) grid. + * + * Key Features: + * - Atom-level batching: processes all neighbors for a center atom in single kernel + * - Templated spherical harmonics for compile-time optimization + * - Efficient memory access via constant memory for integration grids + * - Warp-level reduction for high-performance summation + */ + +#ifndef SNAP_PSIBETA_KERNEL_CUH +#define SNAP_PSIBETA_KERNEL_CUH + +#include "source_base/tool_quit.h" + +#include +#include +#include +#include + +//============================================================================= +// CUDA Error Checking Macro +//============================================================================= + +/** + * @brief CUDA error checking macro with file/line information + * + * Checks the return value of CUDA API calls and calls WARNING_QUIT + * with error information if the call fails. + */ +#define CUDA_CHECK(call) \ + do \ + { \ + cudaError_t err = (call); \ + if (err != cudaSuccess) \ + { \ + ModuleBase::WARNING_QUIT("CUDA_CHECK", \ + std::string("Error at ") + __FILE__ + ":" + std::to_string(__LINE__) + " - " \ + + cudaGetErrorString(err)); \ + } \ + } while (0) + +namespace module_rt +{ +namespace gpu +{ + +//============================================================================= +// Configuration Constants +//============================================================================= + +/// Number of points in radial Gauss-Legendre grid +constexpr int RADIAL_GRID_NUM = 140; + +/// Number of points in angular Lebedev-Laikov grid (110-point rule) +constexpr int ANGULAR_GRID_NUM = 110; + +/// Thread block size for kernel execution +constexpr int BLOCK_SIZE = 128; + +/// Maximum supported angular momentum quantum number L +constexpr int MAX_L = 4; + +/// Size of spherical harmonics array: (MAX_L + 1)^2 = 25 +constexpr int MAX_YLM_SIZE = (MAX_L + 1) * (MAX_L + 1); + +/// Maximum number of magnetic quantum numbers for a single L: 2*MAX_L + 1 = 9 +constexpr int MAX_M0_SIZE = 2 * MAX_L + 1; + +//============================================================================= +// Device Helper Functions - Complex Arithmetic +//============================================================================= + +/** + * @brief Compute exp(i * theta) = cos(theta) + i * sin(theta) + * @param theta Phase angle in radians + * @return Complex exponential as cuDoubleComplex + */ +__device__ __forceinline__ cuDoubleComplex cu_exp_i(double theta) +{ + double s, c; + sincos(theta, &s, &c); + return make_cuDoubleComplex(c, s); +} + +/** + * @brief Complex multiplication: a * b + */ +__device__ __forceinline__ cuDoubleComplex cu_mul(cuDoubleComplex a, cuDoubleComplex b) +{ + return make_cuDoubleComplex(a.x * b.x - a.y * b.y, a.x * b.y + a.y * b.x); +} + +/** + * @brief Complex addition: a + b + */ +__device__ __forceinline__ cuDoubleComplex cu_add(cuDoubleComplex a, cuDoubleComplex b) +{ + return make_cuDoubleComplex(a.x + b.x, a.y + b.y); +} + +/** + * @brief Complex conjugate: conj(a) + */ +__device__ __forceinline__ cuDoubleComplex cu_conj(cuDoubleComplex a) +{ + return make_cuDoubleComplex(a.x, -a.y); +} + +/** + * @brief Complex times real: a * r + */ +__device__ __forceinline__ cuDoubleComplex cu_mul_real(cuDoubleComplex a, double r) +{ + return make_cuDoubleComplex(a.x * r, a.y * r); +} + +//============================================================================= +// Device Helper Functions - Radial Interpolation +//============================================================================= + +/** + * @brief Cubic spline interpolation for radial functions + * + * Implements cubic polynomial interpolation using 4 consecutive grid points. + * This is the GPU equivalent of CPU-side PolyInt::Polynomial_Interpolation. + * + * @param psi Radial function values on uniform grid + * @param mesh Number of grid points + * @param inv_dk Inverse of grid spacing (1/dk) + * @param distance Radial distance r at which to interpolate + * @return Interpolated function value + */ +__device__ __forceinline__ double interpolate_radial_gpu(const double* __restrict__ psi, + int mesh, + double inv_dk, + double distance) +{ + double position = distance * inv_dk; + int iq = __double2int_rd(position); // floor(position) + + // Boundary checks + if (iq > mesh - 4 || iq < 0) + { + return 0.0; + } + + // Lagrange interpolation weights + double x0 = position - static_cast(iq); + double x1 = 1.0 - x0; + double x2 = 2.0 - x0; + double x3 = 3.0 - x0; + + // 4-point Lagrange interpolation formula + return x1 * x2 * (psi[iq] * x3 + psi[iq + 3] * x0) / 6.0 + x0 * x3 * (psi[iq + 1] * x2 - psi[iq + 2] * x1) / 2.0; +} + +//============================================================================= +// Device Helper Functions - Spherical Harmonics +//============================================================================= + +/** + * @brief Compute real spherical harmonics Y_lm at a given direction + * + * TEMPLATED VERSION: L is a compile-time constant enabling loop unrolling + * and register allocation optimizations by the compiler. + * + * Uses the recursive computation of associated Legendre polynomials + * followed by transformation to real spherical harmonics with proper + * normalization (same as ModuleBase::Ylm). + * + * @tparam L Maximum angular momentum (0 <= L <= MAX_L) + * @param x, y, z Direction vector components (need not be normalized, normalization is done internally) + * @param ylm Output array of size (L+1)^2, indexed as ylm[l*l + l + m] + */ +template +__device__ void compute_ylm_gpu(double x, double y, double z, double* ylm); + +/** + * @brief Runtime dispatch macro for templated compute_ylm_gpu + * + * Converts a runtime L value to the appropriate compile-time template + * instantiation for optimal performance. + * + * @param L_val Runtime angular momentum value + * @param x, y, z Direction vector components + * @param ylm Output array for spherical harmonics + */ +#define DISPATCH_YLM(L_val, x, y, z, ylm) \ + do \ + { \ + switch (L_val) \ + { \ + case 0: \ + compute_ylm_gpu<0>(x, y, z, ylm); \ + break; \ + case 1: \ + compute_ylm_gpu<1>(x, y, z, ylm); \ + break; \ + case 2: \ + compute_ylm_gpu<2>(x, y, z, ylm); \ + break; \ + case 3: \ + compute_ylm_gpu<3>(x, y, z, ylm); \ + break; \ + case 4: \ + compute_ylm_gpu<4>(x, y, z, ylm); \ + break; \ + default: \ + compute_ylm_gpu<4>(x, y, z, ylm); \ + break; \ + } \ + } while (0) + +//============================================================================= +// Data Structures for Kernel Input +//============================================================================= + +/** + * @brief Non-local projector (beta function) information + * + * Contains all data needed to evaluate a single projector during integration. + */ +struct ProjectorData +{ + int L0; ///< Angular momentum quantum number + int beta_offset; ///< Offset into flattened beta radial array + int beta_mesh; ///< Number of radial mesh points + double beta_dk; ///< Radial grid spacing + double beta_rcut; ///< Cutoff radius for projector + double r_min; ///< Minimum radial grid value (integration start) + double r_max; ///< Maximum radial grid value (integration end) +}; + +/** + * @brief Neighbor atom orbital information for atom-level batching + * + * Each structure represents one (neighbor_atom, orbital) pair that contributes + * to the overlap integral. This enables processing ALL neighbors for a center + * atom in a single kernel launch, minimizing launch overhead. + */ +struct NeighborOrbitalData +{ + int neighbor_idx; ///< Index of neighbor atom (ad index in adjacency list) + double3 R1; ///< Neighbor atom position in Cartesian coordinates (tau * lat0) + + // Orbital information + int L1; ///< Angular momentum of orbital + int m1; ///< Magnetic quantum number of orbital + int N1; ///< Radial quantum number of orbital + int iw_index; ///< Global orbital index for output mapping + int psi_offset; ///< Offset into flattened psi radial array + int psi_mesh; ///< Number of radial mesh points for orbital + double psi_dk; ///< Radial grid spacing for orbital + double psi_rcut; ///< Cutoff radius for orbital +}; + +//============================================================================= +// Main CUDA Kernel Declaration +//============================================================================= + +/** + * @brief Atom-level batch kernel for overlap computation + * + * This kernel processes ALL neighbor orbitals for a single center atom in one + * launch, significantly reducing kernel launch overhead. Each thread block + * handles the integration for one (neighbor_orbital, projector) pair. + * + * Grid Configuration: + * - gridDim.x = total_neighbor_orbitals (all orbitals from all neighbors) + * - gridDim.y = nproj (number of projectors on center atom) + * + * Block Configuration: + * - blockDim.x = BLOCK_SIZE threads for parallel integration + * + * Integration Strategy: + * - Angular loop (outer): each thread processes different angular points + * - Radial loop (inner): each thread accumulates over all radial points + * - Warp shuffle reduction for efficient summation + * + * @param R0 Center atom position (projector location) + * @param A Vector potential for phase factor + * @param neighbor_orbitals Array of neighbor-orbital data [total_neighbor_orbitals] + * @param projectors Array of projector data [nproj] + * @param psi_radial Flattened array of orbital radial functions + * @param beta_radial Flattened array of projector radial functions + * @param proj_m0_offset Starting index of each projector's m=0 component in output + * @param total_neighbor_orbitals Total number of (neighbor, orbital) pairs + * @param nproj Number of projectors on center atom + * @param natomwfc Total projector components: sum of (2*L0+1) for all projectors + * @param nlm_dim Output dimension: 1 for overlap only, 4 for overlap + current + * @param nlm_out Output array [total_neighbor_orbitals * nlm_dim * natomwfc] + */ +__global__ void snap_psibeta_atom_batch_kernel(double3 R0, + double3 A, + const NeighborOrbitalData* __restrict__ neighbor_orbitals, + const ProjectorData* __restrict__ projectors, + const double* __restrict__ psi_radial, + const double* __restrict__ beta_radial, + const int* __restrict__ proj_m0_offset, + int total_neighbor_orbitals, + int nproj, + int natomwfc, + int nlm_dim, + cuDoubleComplex* __restrict__ nlm_out); + +//============================================================================= +// Host-side Initialization +//============================================================================= + +/** + * @brief Copy integration grids to GPU constant memory + * + * Copies the Lebedev-Laikov angular grid (110 points) and Gauss-Legendre + * radial grid (140 points) to CUDA constant memory for fast access during + * kernel execution. + * + * @note Must be called once before any kernel launches in a calculation session. + */ +void copy_grids_to_device(); + +} // namespace gpu +} // namespace module_rt + +#endif // SNAP_PSIBETA_KERNEL_CUH diff --git a/source/source_lcao/module_rt/kernels/snap_psibeta_gpu.h b/source/source_lcao/module_rt/kernels/snap_psibeta_gpu.h new file mode 100644 index 0000000000..43b617e188 --- /dev/null +++ b/source/source_lcao/module_rt/kernels/snap_psibeta_gpu.h @@ -0,0 +1,70 @@ +#ifndef SNAP_PSIBETA_GPU_H +#define SNAP_PSIBETA_GPU_H + +#include "source_base/vector3.h" +#include "source_basis/module_ao/ORB_read.h" +#include "source_basis/module_ao/parallel_orbitals.h" +#include "source_cell/module_neighbor/sltk_grid_driver.h" +#include "source_cell/setup_nonlocal.h" +#include "source_cell/unitcell.h" + +#include +#include +#include + +#ifdef __CUDA +#include +#endif + +namespace module_rt +{ +namespace gpu +{ + +/** + * @brief Initialize GPU resources (copy grids to constant memory) + * Should be called at the start of each calculate_HR + */ +void initialize_gpu_resources(); + +/** + * @brief Release GPU resources (clear any error states) + * Should be called at the end of each calculate_HR + */ +void finalize_gpu_resources(); + +/** + * @brief Atom-level GPU batch processing interface + * + * Processes ALL neighbors for a center atom in a SINGLE kernel launch. + * This significantly reduces kernel launch overhead compared to neighbor-level batching. + * + * @param orb Orbital information + * @param infoNL_ Non-local pseudopotential information + * @param T0 Center atom type (projector location) + * @param R0 Center atom position (already multiplied by lat0) + * @param A Vector potential + * @param adjs Adjacent atom information for this center atom + * @param ucell Unit cell pointer + * @param paraV Parallel orbitals information + * @param npol Polarization number + * @param nlm_dim 1 for no current, 4 for current calculation + * @param nlm_tot Output: nlm_tot[ad][dir][iw_index] = nlm_vector + */ +void snap_psibeta_atom_batch_gpu( + const LCAO_Orbitals& orb, + const InfoNonlocal& infoNL_, + const int T0, + const ModuleBase::Vector3& R0, + const ModuleBase::Vector3& A, + const AdjacentAtomInfo& adjs, + const UnitCell* ucell, + const Parallel_Orbitals* paraV, + const int npol, + const int nlm_dim, + std::vector>>>>& nlm_tot); + +} // namespace gpu +} // namespace module_rt + +#endif // SNAP_PSIBETA_GPU_H diff --git a/source/source_lcao/module_rt/propagator.cpp b/source/source_lcao/module_rt/propagator.cpp index c058d0eedf..d9a37b8c8b 100644 --- a/source/source_lcao/module_rt/propagator.cpp +++ b/source/source_lcao/module_rt/propagator.cpp @@ -1,11 +1,11 @@ #include "propagator.h" +#include "source_base/global_function.h" #include "source_base/module_container/ATen/kernels/blas.h" #include "source_base/module_container/ATen/kernels/lapack.h" #include "source_base/module_container/ATen/kernels/memory.h" // memory operations (Tensor) #include "source_base/module_device/memory_op.h" // memory operations #include "source_io/module_parameter/parameter.h" -#include "source_base/global_function.h" #include #include diff --git a/source/source_lcao/module_rt/propagator_cn2.cpp b/source/source_lcao/module_rt/propagator_cn2.cpp index accb578ecb..01614c9792 100644 --- a/source/source_lcao/module_rt/propagator_cn2.cpp +++ b/source/source_lcao/module_rt/propagator_cn2.cpp @@ -1,16 +1,16 @@ -#include "source_base/module_external/blas_connector.h" +#include "propagator.h" +#include "source_base/global_function.h" #include "source_base/module_container/ATen/kernels/blas.h" #include "source_base/module_container/ATen/kernels/lapack.h" #include "source_base/module_container/ATen/kernels/memory.h" // memory operations (Tensor) #include "source_base/module_device/memory_op.h" // memory operations +#include "source_base/module_external/blas_connector.h" #include "source_base/module_external/scalapack_connector.h" #include "source_io/module_parameter/parameter.h" -#include "propagator.h" -#include "source_base/global_function.h" +#include #include #include -#include namespace module_rt { diff --git a/source/source_lcao/module_rt/snap_psibeta_half_tddft.cpp b/source/source_lcao/module_rt/snap_psibeta_half_tddft.cpp index a0bb7c3548..e8adc48215 100644 --- a/source/source_lcao/module_rt/snap_psibeta_half_tddft.cpp +++ b/source/source_lcao/module_rt/snap_psibeta_half_tddft.cpp @@ -6,11 +6,58 @@ #include "source_base/timer.h" #include "source_base/ylm.h" +#include +#include +#include + namespace module_rt { -// nlm[0] : -// nlm[1, 2, 3,] : , which a = x, y, z. +/** + * @brief Initialize Gauss-Legendre grid points and weights. + * Thread-safe initialization using static local variable. + * + * @param grid_size Number of grid points (140) + * @param gl_x Output: Grid points in [-1, 1] + * @param gl_w Output: Weights + */ +static void init_gauss_legendre_grid(int grid_size, std::vector& gl_x, std::vector& gl_w) +{ + static bool init = false; +// Thread-safe initialization +#pragma omp critical(init_gauss_legendre) + { + if (!init) + { + ModuleBase::Integral::Gauss_Legendre_grid_and_weight(grid_size, gl_x.data(), gl_w.data()); + init = true; + } + } +} + +/** + * @brief Main function to calculate overlap integrals + * and its derivatives (if calc_r is true). + * + * This function integrates the overlap between a local orbital phi (at R1) + * and a non-local projector beta (at R0), modulated by a plane-wave-like phase factor + * exp^{-iAr}, where A is a vector potential. + * + * @param orb LCAO Orbitals information + * @param infoNL_ Non-local pseudopotential information + * @param nlm Output: + * nlm[0] : + * nlm[1, 2, 3] : , a = x, y, z (if calc_r=true) + * @param R1 Position of atom 1 (orbital phi) + * @param T1 Type of atom 1 + * @param L1 Angular momentum of orbital phi + * @param m1 Magnetic quantum number of orbital phi + * @param N1 Radial quantum number of orbital phi + * @param R0 Position of atom 0 (projector beta) + * @param T0 Type of atom 0 + * @param A Vector potential A (or related field vector) + * @param calc_r Whether to calculate position operator matrix elements + */ void snap_psibeta_half_tddft(const LCAO_Orbitals& orb, const InfoNonlocal& infoNL_, std::vector>>& nlm, @@ -19,229 +66,286 @@ void snap_psibeta_half_tddft(const LCAO_Orbitals& orb, const int& L1, const int& m1, const int& N1, - const ModuleBase::Vector3& R0, // The projector. + const ModuleBase::Vector3& R0, const int& T0, const ModuleBase::Vector3& A, const bool& calc_r) { ModuleBase::timer::tick("module_rt", "snap_psibeta_half_tddft"); - // find number of projectors on atom R0 + // 1. Initialization and Early Exits const int nproj = infoNL_.nproj[T0]; - if (nproj == 0) - { - if (calc_r) - { - nlm.resize(4); - } - else - { - nlm.resize(1); - } - return; - } - std::vector calproj(nproj); - std::vector rmesh1(nproj); + // Resize output vector based on whether position operator matrix elements are needed + int required_size = calc_r ? 4 : 1; + if (nlm.size() != required_size) + nlm.resize(required_size); - if (calc_r) - { - nlm.resize(4); - } - else - { - nlm.resize(1); - } + if (nproj == 0) + return; - // Count number of projectors (l,m) + // 2. Determine total number of projectors and identify active ones based on cutoff int natomwfc = 0; - for (int ip = 0; ip < nproj; ip++) - { - //============================ - // Use pseudo-atomic orbitals - //============================ - - const int L0 = infoNL_.Beta[T0].Proj[ip].getL(); // mohan add 2021-05-07 - natomwfc += 2 * L0 + 1; - } - - for (int dim = 0; dim < nlm.size(); dim++) - { - nlm[dim].resize(natomwfc); - for (auto& x: nlm[dim]) - { - x = 0.0; - } - } + std::vector calproj(nproj, false); - // rcut of orbtials and projectors - // in our calculation, we always put orbital phi at the left side of - // because = const double Rcut1 = orb.Phi[T1].getRcut(); const ModuleBase::Vector3 dRa = R0 - R1; + const double distance10 = dRa.norm(); - double distance10 = dRa.norm(); - - bool all_out = true; + bool any_active = false; for (int ip = 0; ip < nproj; ip++) { + const int L0 = infoNL_.Beta[T0].Proj[ip].getL(); + natomwfc += 2 * L0 + 1; + const double Rcut0 = infoNL_.Beta[T0].Proj[ip].getRcut(); - if (distance10 > (Rcut1 + Rcut0)) - { - calproj[ip] = false; - } - else + if (distance10 <= (Rcut1 + Rcut0)) { - all_out = false; calproj[ip] = true; + any_active = true; } } - if (all_out) + // Initialize output values to zero and resize inner vectors + for (auto& x: nlm) + { + x.assign(natomwfc, 0.0); + } + + if (!any_active) { ModuleBase::timer::tick("module_rt", "snap_psibeta_half_tddft"); return; } - const int mesh_r1 = orb.Phi[T1].PhiLN(L1, N1).getNr(); - const double* psi_1 = orb.Phi[T1].PhiLN(L1, N1).getPsi(); - const double dk_1 = orb.Phi[T1].PhiLN(L1, N1).getDk(); + // 3. Prepare Orbital Data (Phi) + const auto& phi_ln = orb.Phi[T1].PhiLN(L1, N1); + const int mesh_r1 = phi_ln.getNr(); + const double* psi_1 = phi_ln.getPsi(); + const double dk_1 = phi_ln.getDk(); - const int ridial_grid_num = 140; + // 4. Prepare Integration Grids + const int radial_grid_num = 140; const int angular_grid_num = 110; - std::vector r_ridial(ridial_grid_num); - std::vector weights_ridial(ridial_grid_num); - int index = 0; + // Cached standard Gauss-Legendre grid + static std::vector gl_x(radial_grid_num); + static std::vector gl_w(radial_grid_num); + init_gauss_legendre_grid(radial_grid_num, gl_x, gl_w); + + // Buffers for mapped radial grid + std::vector r_radial(radial_grid_num); + std::vector w_radial(radial_grid_num); + + // Precompute A dot r_angular (A * u_angle) for the Lebedev grid + std::vector A_dot_lebedev(angular_grid_num); + for (int ian = 0; ian < angular_grid_num; ++ian) + { + A_dot_lebedev[ian] = A.x * ModuleBase::Integral::Lebedev_Laikov_grid110_x[ian] + + A.y * ModuleBase::Integral::Lebedev_Laikov_grid110_y[ian] + + A.z * ModuleBase::Integral::Lebedev_Laikov_grid110_z[ian]; + } + + // Reuseable buffers for inner loops to avoid allocation + std::vector> result_angular; // Accumulator for angular integration + // Accumulators for position operator components + std::vector> res_ang_x, res_ang_y, res_ang_z; + + std::vector rly1((L1 + 1) * (L1 + 1)); // Spherical harmonics buffer for L1 + std::vector> rly0_cache(angular_grid_num); // Cache for L0 Ylm + + // 5. Loop over Projectors (Beta) + int index_offset = 0; for (int nb = 0; nb < nproj; nb++) { const int L0 = infoNL_.Beta[T0].Proj[nb].getL(); + const int num_m0 = 2 * L0 + 1; + if (!calproj[nb]) { - index += 2 * L0 + 1; + index_offset += num_m0; continue; } - const int mesh_r0 = infoNL_.Beta[T0].Proj[nb].getNr(); - const double* beta_r = infoNL_.Beta[T0].Proj[nb].getBeta_r(); - const double* radial0 = infoNL_.Beta[T0].Proj[nb].getRadial(); - const double dk_0 = infoNL_.Beta[T0].Proj[nb].getDk(); + const auto& proj = infoNL_.Beta[T0].Proj[nb]; + const int mesh_r0 = proj.getNr(); + const double* beta_r = proj.getBeta_r(); + const double* radial0 = proj.getRadial(); + const double dk_0 = proj.getDk(); + const double Rcut0 = proj.getRcut(); - const double Rcut0 = infoNL_.Beta[T0].Proj[nb].getRcut(); - ModuleBase::Integral::Gauss_Legendre_grid_and_weight(radial0[0], - radial0[mesh_r0 - 1], - ridial_grid_num, - r_ridial.data(), - weights_ridial.data()); + // 5.1 Map Gauss-Legendre grid to radial interval [r_min, r_max] + double r_min = radial0[0]; + double r_max = radial0[mesh_r0 - 1]; + double xl = (r_max - r_min) * 0.5; + double xmean = (r_max + r_min) * 0.5; + + for (int i = 0; i < radial_grid_num; ++i) + { + r_radial[i] = xmean + xl * gl_x[i]; + w_radial[i] = xl * gl_w[i]; + } const double A_phase = A * R0; const std::complex exp_iAR0 = std::exp(ModuleBase::IMAG_UNIT * A_phase); - std::vector rly0(L0); - std::vector rly1(L1); - for (int ir = 0; ir < ridial_grid_num; ir++) + // 5.2 Precompute Spherical Harmonics (Ylm) for L0 on angular grid + // Since L0 changes with projector, we compute this per projector loop. + for (int ian = 0; ian < angular_grid_num; ++ian) + { + ModuleBase::Ylm::rl_sph_harm(L0, + ModuleBase::Integral::Lebedev_Laikov_grid110_x[ian], + ModuleBase::Integral::Lebedev_Laikov_grid110_y[ian], + ModuleBase::Integral::Lebedev_Laikov_grid110_z[ian], + rly0_cache[ian]); + } + + // Resize accumulators if needed + if (result_angular.size() < num_m0) { - std::vector> result_angular(2 * L0 + 1, 0.0); - std::vector> result_angular_r_commu_x; - std::vector> result_angular_r_commu_y; - std::vector> result_angular_r_commu_z; + result_angular.resize(num_m0); if (calc_r) { - result_angular_r_commu_x.resize(2 * L0 + 1, 0.0); - result_angular_r_commu_y.resize(2 * L0 + 1, 0.0); - result_angular_r_commu_z.resize(2 * L0 + 1, 0.0); + res_ang_x.resize(num_m0); + res_ang_y.resize(num_m0); + res_ang_z.resize(num_m0); } + } + + // 5.3 Radial Integration Loop + for (int ir = 0; ir < radial_grid_num; ir++) + { + const double r_val = r_radial[ir]; + // Reset angular accumulators for this radial shell + std::fill(result_angular.begin(), result_angular.begin() + num_m0, 0.0); + if (calc_r) + { + std::fill(res_ang_x.begin(), res_ang_x.begin() + num_m0, 0.0); + std::fill(res_ang_y.begin(), res_ang_y.begin() + num_m0, 0.0); + std::fill(res_ang_z.begin(), res_ang_z.begin() + num_m0, 0.0); + } + + // 5.4 Angular Integration Loop (Lebedev Grid) for (int ian = 0; ian < angular_grid_num; ian++) { const double x = ModuleBase::Integral::Lebedev_Laikov_grid110_x[ian]; const double y = ModuleBase::Integral::Lebedev_Laikov_grid110_y[ian]; const double z = ModuleBase::Integral::Lebedev_Laikov_grid110_z[ian]; - const double weights_angular = ModuleBase::Integral::Lebedev_Laikov_grid110_w[ian]; - const ModuleBase::Vector3 r_angular_tmp(x, y, z); + const double w_ang = ModuleBase::Integral::Lebedev_Laikov_grid110_w[ian]; - const ModuleBase::Vector3 r_coor = r_ridial[ir] * r_angular_tmp; - const ModuleBase::Vector3 tmp_r_coor = r_coor + dRa; - const double tmp_r_coor_norm = tmp_r_coor.norm(); - if (tmp_r_coor_norm > Rcut1) - { + // Vector r = r_val * u_angle + double rx = r_val * x; + double ry = r_val * y; + double rz = r_val * z; + + // Vector r' = r + R0 - R1 = r + dRa + double tx = rx + dRa.x; + double ty = ry + dRa.y; + double tz = rz + dRa.z; + + double tnorm = std::sqrt(tx * tx + ty * ty + tz * tz); + + // If r' is outside the cutoff of Phi(r'), skip + if (tnorm > Rcut1) continue; - } - ModuleBase::Vector3 tmp_r_unit; - if (tmp_r_coor_norm > 1e-10) + // Compute Ylm for L1 at direction r' + if (tnorm > 1e-10) + { + double inv_tnorm = 1.0 / tnorm; + ModuleBase::Ylm::rl_sph_harm(L1, tx * inv_tnorm, ty * inv_tnorm, tz * inv_tnorm, rly1); + } + else { - tmp_r_unit = tmp_r_coor / tmp_r_coor_norm; + // At origin, only Y_00 is non-zero (if using real spherical harmonics convention) + ModuleBase::Ylm::rl_sph_harm(L1, 0.0, 0.0, 1.0, rly1); } - ModuleBase::Ylm::rl_sph_harm(L0, x, y, z, rly0); + // Calculate common phase and weight factor + // phase = A * r = r_val * (A * u_angle) + const double phase = r_val * A_dot_lebedev[ian]; + const std::complex exp_iAr = std::exp(ModuleBase::IMAG_UNIT * phase); - ModuleBase::Ylm::rl_sph_harm(L1, tmp_r_unit.x, tmp_r_unit.y, tmp_r_unit.z, rly1); + // Interpolate Psi at |r'| + double interp_psi = ModuleBase::PolyInt::Polynomial_Interpolation(psi_1, mesh_r1, dk_1, tnorm); - const double phase = A * r_coor; - const std::complex exp_iAr = std::exp(ModuleBase::IMAG_UNIT * phase); + const int offset_L1 = L1 * L1 + m1; + const double ylm_L1_val = rly1[offset_L1]; - const ModuleBase::Vector3 tmp_r_coor_r_commu = r_coor + R0; - const double interp_v = ModuleBase::PolyInt::Polynomial_Interpolation(psi_1, - mesh_r1, dk_1, tmp_r_coor_norm); + // Combined factor: exp(iAr) * Y_L1m1(r') * Psi(|r'|) * weight_angle + const std::complex common_factor = exp_iAr * ylm_L1_val * interp_psi * w_ang; - for (int m0 = 0; m0 < 2 * L0 + 1; m0++) + // Retrieve precomputed Y_L0m0(r) + const std::vector& rly0_vec = rly0_cache[ian]; + const int offset_L0 = L0 * L0; + + // Accumulate results for all m0 components + for (int m0 = 0; m0 < num_m0; m0++) { - std::complex temp = exp_iAr * rly0[L0 * L0 + m0] * rly1[L1 * L1 + m1] - * interp_v * weights_angular; - result_angular[m0] += temp; + std::complex term = common_factor * rly0_vec[offset_L0 + m0]; + result_angular[m0] += term; if (calc_r) { - result_angular_r_commu_x[m0] += temp * tmp_r_coor_r_commu.x; - result_angular_r_commu_y[m0] += temp * tmp_r_coor_r_commu.y; - result_angular_r_commu_z[m0] += temp * tmp_r_coor_r_commu.z; + // Position operator r_op = r + R0 + // Note: Term involves (r_op)_a * exp(...). + double r_op_x = rx + R0.x; + double r_op_y = ry + R0.y; + double r_op_z = rz + R0.z; + + res_ang_x[m0] += term * r_op_x; + res_ang_y[m0] += term * r_op_y; + res_ang_z[m0] += term * r_op_z; } } - } + } // End Angular Loop - int index_tmp = index; - const double temp = ModuleBase::PolyInt::Polynomial_Interpolation(beta_r, - mesh_r0, dk_0, r_ridial[ir]) * r_ridial[ir] * weights_ridial[ir]; + // 5.5 Combine Radial and Angular parts + // Interpolate Beta(|r|) + // Note: The original code implies beta_r stores values that might need scaling or are just the function + // values. Typically radial integration is \int f(r) r^2 dr. Here we have factor: beta_val * r_radial[ir] * + // w_radial[ir] w_radial includes the Jacobian for the change of variable from [-1,1] to [r_min, r_max]. The + // extra r_radial[ir] suggests either beta is stored as r*beta, or we are doing \int ... r dr (2D?), or + // Jacobian r^2 is split. Assuming original logic is correct. - if (!calc_r) - { - for (int m0 = 0; m0 < 2 * L0 + 1; m0++) - { - nlm[0][index_tmp] += temp * result_angular[m0] * exp_iAR0; - index_tmp++; - } - } - else + double beta_val = ModuleBase::PolyInt::Polynomial_Interpolation(beta_r, mesh_r0, dk_0, r_radial[ir]); + + double radial_factor = beta_val * r_radial[ir] * w_radial[ir]; + + int current_idx = index_offset; + for (int m0 = 0; m0 < num_m0; m0++) { - for (int m0 = 0; m0 < 2 * L0 + 1; m0++) + // Final accumulation into global nlm array + // Add phase exp(i A * R0) + nlm[0][current_idx] += radial_factor * result_angular[m0] * exp_iAR0; + + if (calc_r) { - nlm[0][index_tmp] += temp * result_angular[m0] * exp_iAR0; - nlm[1][index_tmp] += temp * result_angular_r_commu_x[m0] * exp_iAR0; - nlm[2][index_tmp] += temp * result_angular_r_commu_y[m0] * exp_iAR0; - nlm[3][index_tmp] += temp * result_angular_r_commu_z[m0] * exp_iAR0; - index_tmp++; + nlm[1][current_idx] += radial_factor * res_ang_x[m0] * exp_iAR0; + nlm[2][current_idx] += radial_factor * res_ang_y[m0] * exp_iAR0; + nlm[3][current_idx] += radial_factor * res_ang_z[m0] * exp_iAR0; } + current_idx++; } - } - index += 2 * L0 + 1; - } + } // End Radial Loop + + index_offset += num_m0; + } // End Projector Loop - for(int dim = 0; dim < nlm.size(); dim++) + // 6. Final Conjugation + // Apply conjugation to all elements as per convention = * + for (int dim = 0; dim < nlm.size(); dim++) { - for (auto &x : nlm[dim]) + for (auto& x: nlm[dim]) { - // nlm[0] is - // nlm[1 or 2 or 3] is , a = x, y, z - x = std::conj(x); + x = std::conj(x); } } - assert(index == natomwfc); + assert(index_offset == natomwfc); ModuleBase::timer::tick("module_rt", "snap_psibeta_half_tddft"); - - return; } -} // namespace module_rt +} // namespace module_rt \ No newline at end of file diff --git a/source/source_lcao/pulay_force_stress_center2.cpp b/source/source_lcao/pulay_force_stress_center2.cpp deleted file mode 100644 index 37f75cd5f0..0000000000 --- a/source/source_lcao/pulay_force_stress_center2.cpp +++ /dev/null @@ -1,129 +0,0 @@ -#include "pulay_force_stress.h" -namespace PulayForceStress -{ - template<> // gamma-only, provided xy - void cal_pulay_fs( - ModuleBase::matrix& f, - ModuleBase::matrix& s, - const elecstate::DensityMatrix& dm, - const UnitCell& ucell, - const Parallel_Orbitals& pv, - const double* (&dHSx)[3], - const double* (&dHSxy)[6], - const bool& isforce, - const bool& isstress, - Record_adj* ra, - const double& factor_force, - const double& factor_stress) - { - ModuleBase::TITLE("Forces", "cal_pulay"); - ModuleBase::timer::tick("Forces", "cal_pulay"); - - const int nspin = PARAM.inp.nspin; - const int nlocal = PARAM.globalv.nlocal; - - for (int i = 0; i < nlocal; ++i) - { - const int iat = ucell.iwt2iat[i]; - for (int j = 0; j < nlocal; ++j) - { - const int mu = pv.global2local_row(j); - const int nu = pv.global2local_col(i); - - if (mu >= 0 && nu >= 0) - { - const int index = mu * pv.ncol + nu; - double sum = 0.0; - for (int is = 0; is < nspin; ++is) { sum += dm.get_DMK(is + 1, 0, nu, mu); } - if (isforce) - { - const double sumf = sum * factor_force; - for (int i = 0; i < 3; ++i) { f(iat, i) += sumf * 2.0 * dHSx[i][index]; } - } - if (isstress) - { - const double sums = sum * factor_stress; - int ij = 0; - for (int i = 0; i < 3;++i) { for (int j = i; j < 3; ++j) { s(i, j) += sums * dHSxy[ij++][index]; } } - } - } - } - } - - if (isstress) { StressTools::stress_fill(ucell.lat0, ucell.omega, s); } - - ModuleBase::timer::tick("Forces", "cal_pulay"); - } - - template<> //multi-k, provided xy - void cal_pulay_fs( - ModuleBase::matrix& f, - ModuleBase::matrix& s, - const elecstate::DensityMatrix, double>& dm, - const UnitCell& ucell, - const Parallel_Orbitals& pv, - const double* (&dHSx)[3], - const double* (&dHSxy)[6], - const bool& isforce, - const bool& isstress, - Record_adj* ra, - const double& factor_force, - const double& factor_stress) - { - auto stress_func = [](ModuleBase::matrix& local_s, - const double& dm2d1_s, - const double** dHSx, - const double** dHSxy, - const double* dtau, - const int& irr) - { - int ij = 0; - for (int i = 0; i < 3; ++i) - { - for (int j = i; j < 3; ++j) - { - local_s(i, j) += dm2d1_s * dHSxy[ij++][irr]; - } - } - }; - cal_pulay_fs(f, s, dm, ucell, pv, dHSx, dHSxy, - nullptr, isforce, isstress, ra, - factor_force, factor_stress, stress_func); - } - - template<> // multi-k, provided x - void cal_pulay_fs( - ModuleBase::matrix& f, - ModuleBase::matrix& s, - const elecstate::DensityMatrix, double>& dm, - const UnitCell& ucell, - const Parallel_Orbitals& pv, - const double* (&dHSx)[3], - const double* dtau, - const bool& isforce, - const bool& isstress, - Record_adj* ra, - const double& factor_force, - const double& factor_stress) - { - auto stress_func = [](ModuleBase::matrix& local_s, - const double& dm2d1_s, - const double** dHSx, - const double** dHSxy, - const double* dtau, - const int& irr) - { - for (int i = 0; i < 3; ++i) - { - for (int j = i; j < 3; ++j) - { - local_s(i, j) += dm2d1_s * dHSx[i][irr] * dtau[irr * 3 + j]; - } - } - }; - cal_pulay_fs(f, s, dm, ucell, pv, dHSx, - nullptr, dtau, isforce, isstress, ra, - factor_force, factor_stress, stress_func); - } - -} diff --git a/source/source_lcao/pulay_force_stress.h b/source/source_lcao/pulay_fs.h similarity index 84% rename from source/source_lcao/pulay_force_stress.h rename to source/source_lcao/pulay_fs.h index f89444ec1e..ea25e9186a 100644 --- a/source/source_lcao/pulay_force_stress.h +++ b/source/source_lcao/pulay_fs.h @@ -1,18 +1,9 @@ #pragma once #include "source_basis/module_nao/two_center_bundle.h" #include "source_estate/module_dm/density_matrix.h" -#include "source_lcao/module_gint/gint_gamma.h" -#include "source_lcao/module_gint/gint_k.h" #include "source_estate/module_pot/potential_new.h" #include "source_cell/unitcell.h" #include "source_lcao/stress_tools.h" -#ifndef TGINT_H -#define TGINT_H -template -struct TGint; -template <> struct TGint { using type = Gint_Gamma; }; -template <> struct TGint> { using type = Gint_k; }; -#endif /// calculate the abstract formulas: /// $Tr[D*dH/dx]$ (force) and $1/V Tr[D*(dH/dx_a*x_b)]$ (stress) @@ -60,10 +51,9 @@ namespace PulayForceStress const elecstate::DensityMatrix& dm, ///< [in] density matrix or energy density matrix const UnitCell& ucell, ///< [in] unit cell const elecstate::Potential* pot, ///< [in] potential on grid - typename TGint::type& gint, ///< [in] Gint object const bool& isforce, const bool& isstress, const bool& set_dmr_gint = true); } -#include "pulay_force_stress_center2_template.hpp" -#include "pulay_force_stress_gint.hpp" \ No newline at end of file +#include "pulay_fs_temp.hpp" +#include "pulay_fs_gint.hpp" diff --git a/source/source_lcao/pulay_fs_center2.cpp b/source/source_lcao/pulay_fs_center2.cpp new file mode 100644 index 0000000000..25bc2cdc66 --- /dev/null +++ b/source/source_lcao/pulay_fs_center2.cpp @@ -0,0 +1,144 @@ +#include "pulay_fs.h" + +template<> // gamma-only, provided xy +void PulayForceStress::cal_pulay_fs( + ModuleBase::matrix& force, + ModuleBase::matrix& stress, + const elecstate::DensityMatrix& dm, + const UnitCell& ucell, + const Parallel_Orbitals& pv, + const double* (&dHSx)[3], + const double* (&dHSxy)[6], + const bool& isforce, + const bool& isstress, + Record_adj* ra, + const double& factor_force, + const double& factor_stress) +{ + ModuleBase::TITLE("Forces", "cal_pulay_fs"); + ModuleBase::timer::tick("Forces", "cal_pulay_fs"); + + const int nspin = PARAM.inp.nspin; + const int nlocal = PARAM.globalv.nlocal; + + for (int i = 0; i < nlocal; ++i) + { + const int iat = ucell.iwt2iat[i]; + for (int j = 0; j < nlocal; ++j) + { + const int mu = pv.global2local_row(j); + const int nu = pv.global2local_col(i); + + if (mu >= 0 && nu >= 0) + { + const int index = mu * pv.ncol + nu; + double sum = 0.0; + for (int is = 0; is < nspin; ++is) + { + sum += dm.get_DMK(is + 1, 0, nu, mu); + } + if (isforce) + { + const double sumf = sum * factor_force; + for (int i = 0; i < 3; ++i) + { + force(iat, i) += sumf * 2.0 * dHSx[i][index]; + } + } + if (isstress) + { + const double sums = sum * factor_stress; + int ij = 0; + for (int i = 0; i < 3;++i) + { + for (int j = i; j < 3; ++j) + { + stress(i, j) += sums * dHSxy[ij++][index]; + } + } + } + } + } + } + + if (isstress) + { + StressTools::stress_fill(ucell.lat0, ucell.omega, stress); + } + + ModuleBase::timer::tick("Forces", "cal_pulay_fs"); +} + + +template<> //multi-k, provided xy +void PulayForceStress::cal_pulay_fs( + ModuleBase::matrix& force, + ModuleBase::matrix& stress, + const elecstate::DensityMatrix, double>& dm, + const UnitCell& ucell, + const Parallel_Orbitals& pv, + const double* (&dHSx)[3], + const double* (&dHSxy)[6], + const bool& isforce, + const bool& isstress, + Record_adj* ra, + const double& factor_force, + const double& factor_stress) +{ + auto stress_func = [](ModuleBase::matrix& local_s, + const double& dm2d1_s, + const double** dHSx, + const double** dHSxy, + const double* dtau, + const int& irr) + { + int ij = 0; + for (int i = 0; i < 3; ++i) + { + for (int j = i; j < 3; ++j) + { + local_s(i, j) += dm2d1_s * dHSxy[ij++][irr]; + } + } + }; + cal_pulay_fs(force, stress, dm, ucell, pv, dHSx, dHSxy, + nullptr, isforce, isstress, ra, + factor_force, factor_stress, stress_func); +} + + +template<> // multi-k, provided x +void PulayForceStress::cal_pulay_fs( + ModuleBase::matrix& force, + ModuleBase::matrix& stress, + const elecstate::DensityMatrix, double>& dm, + const UnitCell& ucell, + const Parallel_Orbitals& pv, + const double* (&dHSx)[3], + const double* dtau, + const bool& isforce, + const bool& isstress, + Record_adj* ra, + const double& factor_force, + const double& factor_stress) +{ + auto stress_func = [](ModuleBase::matrix& local_s, + const double& dm2d1_s, + const double** dHSx, + const double** dHSxy, + const double* dtau, + const int& irr) + { + for (int i = 0; i < 3; ++i) + { + for (int j = i; j < 3; ++j) + { + local_s(i, j) += dm2d1_s * dHSx[i][irr] * dtau[irr * 3 + j]; + } + } + }; + cal_pulay_fs(force, stress, dm, ucell, pv, dHSx, + nullptr, dtau, isforce, isstress, ra, + factor_force, factor_stress, stress_func); +} + diff --git a/source/source_lcao/pulay_force_stress_gint.hpp b/source/source_lcao/pulay_fs_gint.hpp similarity index 56% rename from source/source_lcao/pulay_force_stress_gint.hpp rename to source/source_lcao/pulay_fs_gint.hpp index f310b31fad..46040ce340 100644 --- a/source/source_lcao/pulay_force_stress_gint.hpp +++ b/source/source_lcao/pulay_fs_gint.hpp @@ -1,9 +1,9 @@ #pragma once -#include "pulay_force_stress.h" +#include "pulay_fs.h" #include "source_lcao/stress_tools.h" #include "source_hamilt/module_xc/xc_functional.h" #include "source_io/module_parameter/parameter.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" +#include "source_lcao/module_gint/gint_interface.h" namespace PulayForceStress { template @@ -13,40 +13,19 @@ namespace PulayForceStress const elecstate::DensityMatrix& dm, ///< [in] density matrix const UnitCell& ucell, ///< [in] unit cell const elecstate::Potential* pot, ///< [in] potential on grid - typename TGint::type& gint, const bool& isforce, const bool& isstress, const bool& set_dmr_gint) { const int nspin = PARAM.inp.nspin; - -#ifdef __OLD_GINT - if (set_dmr_gint) { gint.transfer_DM2DtoGrid(dm.get_DMR_vector()); } // 2d block to grid - for (int is = 0; is < nspin; ++is) - { - const double* vr_eff1 = pot->get_effective_v(is); - const double* vofk_eff1 = nullptr; - if (XC_Functional::get_ked_flag()) - { - vofk_eff1 = pot->get_effective_vofk(is); - Gint_inout inout(is, vr_eff1, vofk_eff1, isforce, isstress, &f, &s, Gint_Tools::job_type::force_meta); - gint.cal_gint(&inout); - } - else - { - Gint_inout inout(is, vr_eff1, isforce, isstress, &f, &s, Gint_Tools::job_type::force); - gint.cal_gint(&inout); - } - } -#else std::vector vr_eff(nspin, nullptr); std::vector vofk_eff(nspin, nullptr); if (XC_Functional::get_func_type() == 3 || XC_Functional::get_func_type() == 5) { for (int is = 0; is < nspin; ++is) { - vr_eff[is] = pot->get_effective_v(is); - vofk_eff[is] = pot->get_effective_vofk(is); + vr_eff[is] = pot->get_eff_v(is); + vofk_eff[is] = pot->get_eff_vofk(is); } ModuleGint::cal_gint_fvl_meta(nspin, vr_eff, vofk_eff, dm.get_DMR_vector(), isforce, isstress, &f, &s); } @@ -54,12 +33,11 @@ namespace PulayForceStress { for(int is = 0; is < nspin; ++is) { - vr_eff[is] = pot->get_effective_v(is); + vr_eff[is] = pot->get_eff_v(is); } ModuleGint::cal_gint_fvl(nspin, vr_eff, dm.get_DMR_vector(), isforce, isstress, &f, &s); } -#endif if (isstress) { StressTools::stress_fill(-1.0, ucell.omega, s); } } -} \ No newline at end of file +} diff --git a/source/source_lcao/pulay_force_stress_center2_template.hpp b/source/source_lcao/pulay_fs_temp.hpp similarity index 98% rename from source/source_lcao/pulay_force_stress_center2_template.hpp rename to source/source_lcao/pulay_fs_temp.hpp index a035b5aae1..ba32eedb2e 100644 --- a/source/source_lcao/pulay_force_stress_center2_template.hpp +++ b/source/source_lcao/pulay_fs_temp.hpp @@ -1,7 +1,13 @@ #pragma once -#include "pulay_force_stress.h" +#include +#include "pulay_fs.h" #include "source_base/timer.h" #include "source_io/module_parameter/parameter.h" +#ifdef _OPENMP +#include +#endif + + namespace PulayForceStress { // common kernel diff --git a/source/source_lcao/record_adj.cpp b/source/source_lcao/record_adj.cpp index 7e2b9c7bbe..47118496a5 100644 --- a/source/source_lcao/record_adj.cpp +++ b/source/source_lcao/record_adj.cpp @@ -283,226 +283,4 @@ void Record_adj::for_2d(const UnitCell& ucell, return; } -//-------------------------------------------- -// This will record the orbitals according to -// grid division (cut along z direction) -//-------------------------------------------- -void Record_adj::for_grid(const UnitCell& ucell, - const Grid_Driver& grid_d, - const Grid_Technique& gt, - const std::vector& orb_cutoff) -{ - ModuleBase::TITLE("Record_adj", "for_grid"); - ModuleBase::timer::tick("Record_adj", "for_grid"); - - this->na_proc = 0; - this->iat2ca = new int[ucell.nat]; - for (int iat = 0; iat < ucell.nat; ++iat) - { - { - if (gt.in_this_processor[iat]) - { - iat2ca[iat] = na_proc; - ++na_proc; - } - else - { - iat2ca[iat] = -1; - } - } - } - - // number of adjacents for each atom. - this->na_each = new int[na_proc]; - ModuleBase::GlobalFunc::ZEROS(na_each, na_proc); - this->info = new int**[na_proc]; -#ifdef _OPENMP -#pragma omp parallel - { -#endif - ModuleBase::Vector3 tau1, tau2, dtau; - ModuleBase::Vector3 tau0, dtau1, dtau2; - -#ifdef _OPENMP -#pragma omp for schedule(dynamic) -#endif - for (int iat = 0; iat < ucell.nat; ++iat) - { - const int T1 = ucell.iat2it[iat]; - Atom* atom1 = &ucell.atoms[T1]; - const int I1 = ucell.iat2ia[iat]; - { - const int ca = iat2ca[iat]; - // key in this function - if (gt.in_this_processor[iat]) - { - tau1 = atom1->tau[I1]; - // grid_d.Find_atom(tau1); - AdjacentAtomInfo adjs; - grid_d.Find_atom(ucell, tau1, T1, I1, &adjs); - for (int ad = 0; ad < adjs.adj_num + 1; ad++) - { - const int T2 = adjs.ntype[ad]; - const int I2 = adjs.natom[ad]; - const int iat2 = ucell.itia2iat(T2, I2); - if (gt.in_this_processor[iat2]) - { - // Atom* atom2 = &ucell.atoms[T2]; - tau2 = adjs.adjacent_tau[ad]; - dtau = tau2 - tau1; - double distance = dtau.norm() * ucell.lat0; - double rcut = orb_cutoff[T1] + orb_cutoff[T2]; - - bool is_adj = false; - if (distance < rcut) - { - is_adj = true; - } - /* - else if(distance >= rcut) - { - for (int ad0 = 0; ad0 < grid_d.getAdjacentNum()+1; ++ad0) - { - const int T0 = grid_d.getType(ad0); - const int I0 = grid_d.getNatom(ad0); - const int iat0 = ucell.itia2iat(T0, I0); - const int start0 = ucell.itiaiw2iwt(T0, I0, 0); - - tau0 = grid_d.getAdjacentTau(ad0); - dtau1 = tau0 - tau1; - dtau2 = tau0 - tau2; - - double distance1 = dtau1.norm() * ucell.lat0; - double distance2 = dtau2.norm() * ucell.lat0; - - double rcut1 = orb_cutoff[T1] + ucell.infoNL.Beta[T0].get_rcut_max(); - double rcut2 = orb_cutoff[T2] + ucell.infoNL.Beta[T0].get_rcut_max(); - - if( distance1 < rcut1 && distance2 < rcut2 ) - { - is_adj = true; - break; - } // dis1, dis2 - } - } - */ - - // check the distance - if (is_adj) - { - ++na_each[ca]; - } - } // end judge 2 - } // end ad - } // end judge 1 - } // end I1 - } // end T1 - -#ifdef _OPENMP -#pragma omp for schedule(dynamic) -#endif - for (int i = 0; i < na_proc; i++) - { - assert(na_each[i] > 0); - info[i] = new int*[na_each[i]]; - for (int j = 0; j < na_each[i]; j++) - { - // (Rx, Ry, Rz, T, I) - info[i][j] = new int[5]; - ModuleBase::GlobalFunc::ZEROS(info[i][j], 5); - } - } - -#ifdef _OPENMP -#pragma omp for schedule(dynamic) -#endif - for (int iat = 0; iat < ucell.nat; ++iat) - { - const int T1 = ucell.iat2it[iat]; - Atom* atom1 = &ucell.atoms[T1]; - const int I1 = ucell.iat2ia[iat]; - { - const int ca = iat2ca[iat]; - - // key of this function - if (gt.in_this_processor[iat]) - { - tau1 = atom1->tau[I1]; - // grid_d.Find_atom(tau1); - AdjacentAtomInfo adjs; - grid_d.Find_atom(ucell, tau1, T1, I1, &adjs); - - int cb = 0; - for (int ad = 0; ad < adjs.adj_num + 1; ad++) - { - const int T2 = adjs.ntype[ad]; - const int I2 = adjs.natom[ad]; - const int iat2 = ucell.itia2iat(T2, I2); - // key of this function - if (gt.in_this_processor[iat2]) - { - // Atom* atom2 = &ucell.atoms[T2]; - tau2 = adjs.adjacent_tau[ad]; - dtau = tau2 - tau1; - double distance = dtau.norm() * ucell.lat0; - double rcut = orb_cutoff[T1] + orb_cutoff[T2]; - - // check the distance - if (distance < rcut) - { - info[ca][cb][0] = adjs.box[ad].x; - info[ca][cb][1] = adjs.box[ad].y; - info[ca][cb][2] = adjs.box[ad].z; - info[ca][cb][3] = T2; - info[ca][cb][4] = I2; - ++cb; - } - /* - else if(distance >= rcut) - { - for (int ad0 = 0; ad0 < grid_d.getAdjacentNum()+1; ++ad0) - { - const int T0 = grid_d.getType(ad0); - const int I0 = grid_d.getNatom(ad0); - const int iat0 = ucell.itia2iat(T0, I0); - const int start0 = ucell.itiaiw2iwt(T0, I0, 0); - - tau0 = grid_d.getAdjacentTau(ad0); - dtau1 = tau0 - tau1; - dtau2 = tau0 - tau2; - - double distance1 = dtau1.norm() * ucell.lat0; - double distance2 = dtau2.norm() * ucell.lat0; - - double rcut1 = orb_cutoff[T1] + ucell.infoNL.Beta[T0].get_rcut_max(); - double rcut2 = orb_cutoff[T2] + ucell.infoNL.Beta[T0].get_rcut_max(); - - if( distance1 < rcut1 && distance2 < rcut2 ) - { - info[ca][cb][0] = grid_d.getBox(ad).x; - info[ca][cb][1] = grid_d.getBox(ad).y; - info[ca][cb][2] = grid_d.getBox(ad).z; - info[ca][cb][3] = T2; - info[ca][cb][4] = I2; - ++cb; - break; - } // dis1, dis2 - } - } - */ - } - } // end ad - - assert(cb == na_each[ca]); - } - } - } -#ifdef _OPENMP - } -#endif - ModuleBase::timer::tick("Record_adj", "for_grid"); - info_modified = true; - // std::cout << " after for_grid" << std::endl; - return; -} diff --git a/source/source_lcao/record_adj.h b/source/source_lcao/record_adj.h index 3d1f16a402..871403ca14 100644 --- a/source/source_lcao/record_adj.h +++ b/source/source_lcao/record_adj.h @@ -2,7 +2,8 @@ #define RECORD_ADJ_H #include "source_basis/module_ao/parallel_orbitals.h" -#include "source_lcao/module_gint/grid_technique.h" +#include "source_cell/unitcell.h" +#include "source_cell/module_neighbor/sltk_grid_driver.h" //--------------------------------------------------- // FUNCTION: record the adjacent atoms for each atom @@ -26,14 +27,6 @@ class Record_adj bool gamma_only, const std::vector& orb_cutoff); - //-------------------------------------------- - // This will record the orbitals according to - // grid division (cut along z direction) - //-------------------------------------------- - void for_grid(const UnitCell& ucell, - const Grid_Driver& grid_d, - const Grid_Technique& gt, - const std::vector& orb_cutoff); void delete_grid(); @@ -41,7 +34,7 @@ class Record_adj int* na_each=nullptr; //-------------------------------------------- - // record sparse atom index in for_grid(const Grid_Technique >); + // record sparse atom index in for_grid(); // Map iat(dense atom index) to sparse atom index // Mainly removing the index dependency for OpenMP parallel loop // diff --git a/source/source_lcao/rho_tau_lcao.cpp b/source/source_lcao/rho_tau_lcao.cpp new file mode 100644 index 0000000000..9fbeb9f1c6 --- /dev/null +++ b/source/source_lcao/rho_tau_lcao.cpp @@ -0,0 +1,49 @@ +#include "rho_tau_lcao.h" +#include "source_hamilt/module_xc/xc_functional.h" +#include "source_lcao/module_gint/gint_interface.h" + +void LCAO_domain::dm2rho(std::vector*> &dmr, + const int nspin, + Charge* chr, + bool skip_normalize) +{ + ModuleBase::TITLE("LCAO_domain", "dm2rho"); + ModuleBase::timer::tick("LCAO_domain", "dm2rho"); + + for (int is = 0; is < nspin; is++) + { + ModuleBase::GlobalFunc::ZEROS(chr->rho[is], chr->nrxx); + } + + ModuleGint::cal_gint_rho(dmr, nspin, chr->rho); + + if(!skip_normalize)chr->renormalize_rho(); + + // should be moved somewhere else, mohan 20251024 + if (XC_Functional::get_ked_flag()) + { + dm2tau(dmr, nspin, chr); + } + + // symmetrize of charge density should be here, mohan 20251023 + + ModuleBase::timer::tick("LCAO_domain", "dm2rho"); + return; +} + + +void LCAO_domain::dm2tau(std::vector*> &dmr, + const int nspin, + Charge* chr) +{ + ModuleBase::TITLE("LCAO_domain", "dm2tau"); + ModuleBase::timer::tick("LCAO_domain", "dm2tau"); + + for (int is = 0; is < nspin; is++) + { + ModuleBase::GlobalFunc::ZEROS(chr->kin_r[is], chr->nrxx); + } + ModuleGint::cal_gint_tau(dmr, nspin, chr->kin_r); + + ModuleBase::timer::tick("LCAO_domain", "dm2tau"); +} diff --git a/source/source_lcao/rho_tau_lcao.h b/source/source_lcao/rho_tau_lcao.h new file mode 100644 index 0000000000..b90d23af85 --- /dev/null +++ b/source/source_lcao/rho_tau_lcao.h @@ -0,0 +1,20 @@ +#ifndef RHO_TAU_LCAO_H +#define RHO_TAU_LCAO_H + +#include "source_lcao/module_hcontainer/hcontainer.h" +#include "source_estate/module_charge/charge.h" + +// generate charge density from different basis or methods +namespace LCAO_domain +{ + void dm2rho(std::vector*> &dmr, + const int nspin, + Charge* chr, + bool skip_normalize = false); + + void dm2tau(std::vector*> &dmr, + const int nspin, + Charge* chr); +} + +#endif diff --git a/source/source_lcao/setup_deepks.cpp b/source/source_lcao/setup_deepks.cpp new file mode 100644 index 0000000000..190571661c --- /dev/null +++ b/source/source_lcao/setup_deepks.cpp @@ -0,0 +1,191 @@ +#include "source_lcao/setup_deepks.h" + +#include "source_io/module_parameter/parameter.h" // use parameter +#include "source_lcao/LCAO_domain.h" + +template +Setup_DeePKS::Setup_DeePKS() +{ +} + +template +Setup_DeePKS::~Setup_DeePKS() +{ +} + +template +void Setup_DeePKS::build_overlap(const UnitCell& ucell, + const LCAO_Orbitals& orb, + const Parallel_Orbitals& pv, + const Grid_Driver& gd, + TwoCenterIntegrator& overlap_orb_alpha, + const Input_para& inp) +{ +#ifdef __MLALGO + // 9) for each ionic step, the overlap must be rebuilt + // since it depends on ionic positions + if (PARAM.globalv.deepks_setorb) + { + // allocate , phialpha is different every ion step, so it is allocated here + DeePKS_domain::allocate_phialpha(inp.cal_force, ucell, orb, gd, &pv, this->ld.phialpha); + + // build and save at beginning + DeePKS_domain::build_phialpha(inp.cal_force, ucell, orb, gd, &pv, overlap_orb_alpha, this->ld.phialpha); + + if (inp.deepks_out_unittest) + { + DeePKS_domain::check_phialpha(inp.cal_force, ucell, orb, gd, &pv, this->ld.phialpha, GlobalV::MY_RANK); + } + } +#endif +} + +template +void Setup_DeePKS::before_runner(const UnitCell& ucell, // unitcell + const int nks, // number of k points + const LCAO_Orbitals& orb, // orbital info + Parallel_Orbitals& pv, // parallel orbitals + const Input_para& inp) +{ +#ifdef __MLALGO + LCAO_domain::DeePKS_init(ucell, pv, nks, orb, this->ld, GlobalV::ofs_running); + if (inp.deepks_scf) + { + // load the DeePKS model from deep neural network + DeePKS_domain::load_model(inp.deepks_model, this->ld.model_deepks); + // read pdm from file for NSCF or SCF-restart, do it only once in whole calculation + DeePKS_domain::read_pdm((inp.init_chg == "file"), + inp.deepks_equiv, + this->ld.init_pdm, + ucell.nat, + this->ld.deepks_param, + *orb.Alpha, + this->ld.pdm); + } +#endif +} + +template +void Setup_DeePKS::delta_e(const UnitCell& ucell, + const K_Vectors& kv, + const LCAO_Orbitals& orb, + const Parallel_Orbitals& pv, // parallel orbitals + const Grid_Driver& gd, + const std::vector>& dm_vec, + elecstate::fenergy& f_en, + const Input_para& inp) +{ +#ifdef __MLALGO + if (inp.deepks_scf) + { + this->ld.dpks_cal_e_delta_band(dm_vec, kv.get_nks()); + DeePKS_domain::update_dmr(kv.kvec_d, dm_vec, ucell, orb, pv, gd, this->ld.dm_r); + f_en.edeepks_scf = this->ld.E_delta - this->ld.e_delta_band; + f_en.edeepks_delta = this->ld.E_delta; + } +#endif +} + +template +void Setup_DeePKS::write_forces(const ModuleBase::matrix& fcs, + const ModuleBase::matrix& fvnl_dalpha, + const Input_para& inp) +{ +#ifdef __MLALGO + // DeePKS force + if (inp.deepks_out_labels) // not parallelized yet + { + if (inp.deepks_out_base == "none" || (inp.deepks_out_base != "none" && this->dpks_out_type == "tot")) + { + const std::string file_ftot + = PARAM.globalv.global_out_dir + (inp.deepks_out_labels == 1 ? "deepks_ftot.npy" : "deepks_force.npy"); + LCAO_deepks_io::save_matrix2npy(file_ftot, fcs, GlobalV::MY_RANK); // Hartree/Bohr, F_tot + + if (inp.deepks_out_labels == 1) + { + // this base only considers subtracting the deepks_scf part + const std::string file_fbase = PARAM.globalv.global_out_dir + "deepks_fbase.npy"; + if (inp.deepks_scf) + { + LCAO_deepks_io::save_matrix2npy(file_fbase, + fcs - fvnl_dalpha, + GlobalV::MY_RANK); // Hartree/Bohr, F_base + } + else + { + LCAO_deepks_io::save_matrix2npy(file_fbase, fcs, GlobalV::MY_RANK); // no scf, F_base=F_tot + } + } + } + if (inp.deepks_out_base != "none") + { + // output fcs as tot or base in another dir + // this base considers changing xc functional to base functional + const std::string file_f + = PARAM.globalv.global_deepks_label_elec_dir + (dpks_out_type == "tot" ? "ftot.npy" : "fbase.npy"); + LCAO_deepks_io::save_matrix2npy(file_f, fcs, GlobalV::MY_RANK); + } + } +#endif +} + +template +void Setup_DeePKS::write_stress(const ModuleBase::matrix& scs, + const ModuleBase::matrix& svnl_dalpha, + const double& omega, + const Input_para& inp) +{ +#ifdef __MLALGO + if (inp.deepks_out_labels == 1) + { + assert(omega > 0.0); + + if (inp.deepks_out_base == "none" || (inp.deepks_out_base != "none" && this->dpks_out_type == "tot")) + { + const std::string file_stot = PARAM.globalv.global_out_dir + "deepks_stot.npy"; + LCAO_deepks_io::save_matrix2npy(file_stot, + scs, + GlobalV::MY_RANK, + omega, + 'U'); // change to energy unit Ry when printing, S_tot; + + // this base only considers subtracting the deepks_scf part + const std::string file_sbase = PARAM.globalv.global_out_dir + "deepks_sbase.npy"; + if (inp.deepks_scf) + { + LCAO_deepks_io::save_matrix2npy(file_sbase, + scs - svnl_dalpha, + GlobalV::MY_RANK, + omega, + 'U'); // change to energy unit Ry when printing, S_base; + } + else + { + LCAO_deepks_io::save_matrix2npy(file_sbase, scs, GlobalV::MY_RANK, omega, + 'U'); // sbase = stot + } + } + if (inp.deepks_out_base != "none") + { + // output scs as tot or base in another dir + // this base considers changing xc functional to base functional + const std::string file_s = PARAM.globalv.global_deepks_label_elec_dir + + (this->dpks_out_type == "tot" ? "stot.npy" : "sbase.npy"); + LCAO_deepks_io::save_matrix2npy(file_s, + scs, + GlobalV::MY_RANK, + omega, + 'U'); // change to energy unit Ry when printing, S_tot; + } + } + else if (inp.deepks_out_labels == 2) + { + const std::string file_stot = PARAM.globalv.global_out_dir + "deepks_stress.npy"; + LCAO_deepks_io::save_matrix2npy(file_stot, scs, GlobalV::MY_RANK, omega, + 'F'); // flat mode + } +#endif +} + +template class Setup_DeePKS; +template class Setup_DeePKS>; diff --git a/source/source_lcao/setup_deepks.h b/source/source_lcao/setup_deepks.h new file mode 100644 index 0000000000..f4a5ad5f42 --- /dev/null +++ b/source/source_lcao/setup_deepks.h @@ -0,0 +1,74 @@ +#ifndef SETUP_DEEPKS_H +#define SETUP_DEEPKS_H + +#include "source_cell/unitcell.h" // use unitcell +#include "source_io/module_parameter/input_parameter.h" // Input_para +#include "source_basis/module_ao/parallel_orbitals.h" // parallel orbitals +#include "source_basis/module_ao/ORB_read.h" // orb +#include "source_basis/module_nao/two_center_integrator.h" // overlap_orb_alpha +#include "source_cell/module_neighbor/sltk_grid_driver.h" // grid driver +#include "source_cell/klist.h" // k-points +#include "source_cell/unitcell.h" // use unitcell +#include "source_basis/module_ao/ORB_read.h" // LCAO_Orbitals +#include "source_estate/fp_energy.h" // fp energy + + +#ifdef __MLALGO +#include "source_lcao/module_deepks/LCAO_deepks.h" // deepks +#endif + + +template +class Setup_DeePKS +{ + public: + + Setup_DeePKS(); + ~Setup_DeePKS(); + +#ifdef __MLALGO + LCAO_Deepks ld; +#endif + + std::string dpks_out_type; + + void before_runner( + const UnitCell &ucell, // unitcell + const int nks, // k points + const LCAO_Orbitals &orb, // orbital info + Parallel_Orbitals &pv, // parallel orbitals + const Input_para &inp); + + void build_overlap( + const UnitCell &ucell, + const LCAO_Orbitals &orb, + const Parallel_Orbitals &pv, + const Grid_Driver &gd, + TwoCenterIntegrator &overlap_orb_alpha, + const Input_para &inp); + + void delta_e( + const UnitCell& ucell, + const K_Vectors &kv, + const LCAO_Orbitals& orb, + const Parallel_Orbitals &pv, // parallel orbitals + const Grid_Driver &gd, + const std::vector>& dm_vec, + elecstate::fenergy &f_en, + const Input_para &inp); + + void write_forces( + const ModuleBase::matrix &fcs, + const ModuleBase::matrix &fvnl_dalpha, + const Input_para &inp); + + void write_stress( + const ModuleBase::matrix &scs, + const ModuleBase::matrix &svnl_dalpha, + const double &omega, + const Input_para &inp); + +}; + + +#endif diff --git a/source/source_lcao/setup_dm.cpp b/source/source_lcao/setup_dm.cpp new file mode 100644 index 0000000000..a91b43ab96 --- /dev/null +++ b/source/source_lcao/setup_dm.cpp @@ -0,0 +1,29 @@ +#include "source_lcao/setup_dm.h" + +#include "source_estate/cal_dm.h" +#include "source_base/timer.h" +#include "source_estate/module_dm/cal_dm_psi.h" +#include "source_hamilt/module_xc/xc_functional.h" +#include "source_lcao/module_deltaspin/spin_constrain.h" +#include "source_pw/module_pwdft/global.h" +#include "source_io/module_parameter/parameter.h" + +#include "source_lcao/module_gint/gint_interface.h" + +#include + +namespace LCAO_domain +{ + +// change init_dm to allocate_dm, mohan 2025-10-31 +template +void Setup_DM::allocate_dm(const K_Vectors* kv, const Parallel_Orbitals* pv, const int nspin) +{ + const int nspin_dm = nspin == 2 ? 2 : 1; + this->dm = new elecstate::DensityMatrix(pv, nspin_dm, kv->kvec_d, kv->get_nks() / nspin_dm); +} + +template class Setup_DM; // Gamma_only case +template class Setup_DM>; // multi-k case + +} // namespace elecstate diff --git a/source/source_lcao/setup_dm.h b/source/source_lcao/setup_dm.h new file mode 100644 index 0000000000..672a50c878 --- /dev/null +++ b/source/source_lcao/setup_dm.h @@ -0,0 +1,39 @@ +#ifndef SETUP_DM_H +#define SETUP_DM_H + +#include "source_cell/klist.h" +#include "source_basis/module_ao/parallel_orbitals.h" +#include "source_estate/module_dm/density_matrix.h" + +#include + +namespace LCAO_domain +{ +template +class Setup_DM +{ + public: + + Setup_DM() + { + } // will be called by ElecStateLCAO_TDDFT + + ~Setup_DM() + { + if (this->dm != nullptr) + { + delete this->dm; + } + } + + // allocate density matrix + void allocate_dm(const K_Vectors* kv, const Parallel_Orbitals* pv, const int nspin); + + elecstate::DensityMatrix* dm = nullptr; + +}; + + +} // namespace elecstate + +#endif diff --git a/source/source_lcao/setup_exx.cpp b/source/source_lcao/setup_exx.cpp new file mode 100644 index 0000000000..f552ed06df --- /dev/null +++ b/source/source_lcao/setup_exx.cpp @@ -0,0 +1,95 @@ +#include "source_lcao/setup_exx.h" + +template +Exx_NAO::Exx_NAO(){} + +template +Exx_NAO::~Exx_NAO(){} + + +template +void Exx_NAO::init() +{ +#ifdef __EXX + // 1. currently this initialization must be put in constructor rather than `before_all_runners()` + // because the latter is not reused by ESolver_LCAO_TDDFT, + // which cause the failure of the subsequent procedure reused by ESolver_LCAO_TDDFT + // 2. always construct but only initialize when if(cal_exx) is true + // because some members like two_level_step are used outside if(cal_exx) + if (GlobalC::exx_info.info_ri.real_number) + { + this->exd = std::make_shared>(GlobalC::exx_info.info_ri); + } + else + { + this->exc = std::make_shared>>(GlobalC::exx_info.info_ri); + } +#endif +} + +template +void Exx_NAO::before_runner( + UnitCell& ucell, // unitcell + K_Vectors &kv, // k points + const LCAO_Orbitals &orb, // orbital info + const Parallel_Orbitals &pv, // parallel orbitals + const Input_para& inp) +{ +#ifdef __EXX + if (inp.calculation == "scf" || inp.calculation == "relax" || inp.calculation == "cell-relax" + || inp.calculation == "md") + { + if (GlobalC::exx_info.info_global.cal_exx) + { + if (inp.init_wfc != "file") + { // if init_wfc==file, directly enter the EXX loop + XC_Functional::set_xc_first_loop(ucell); + } + + // initialize 2-center radial tables for EXX-LRI + if (GlobalC::exx_info.info_ri.real_number) + { + this->exd->init(MPI_COMM_WORLD, ucell, kv, orb); + this->exd->exx_before_all_runners(kv, ucell, pv); + } + else + { + this->exc->init(MPI_COMM_WORLD, ucell, kv, orb); + this->exc->exx_before_all_runners(kv, ucell, pv); + } + } + } +#endif +} + +template +void Exx_NAO::before_scf( + const UnitCell &ucell, // unitcell + const K_Vectors &kv, + const LCAO_Orbitals &orb, // orbital info + Charge_Mixing* p_chgmix, + const int istep, + const Input_para& inp) +{ +#ifdef __EXX + if (PARAM.inp.calculation != "nscf") + { + if (GlobalC::exx_info.info_ri.real_number) + { + this->exd->exx_beforescf(istep, kv, *p_chgmix, ucell, orb); + } + else + { + this->exc->exx_beforescf(istep, kv, *p_chgmix, ucell, orb); + } + } + else + { + // do nothing + } +#endif +} + + +template class Exx_NAO; +template class Exx_NAO>; diff --git a/source/source_lcao/setup_exx.h b/source/source_lcao/setup_exx.h new file mode 100644 index 0000000000..9805ff8c91 --- /dev/null +++ b/source/source_lcao/setup_exx.h @@ -0,0 +1,50 @@ +#ifndef SETUP_EXX_NAO_H +#define SETUP_EXX_NAO_H + +#include "source_cell/unitcell.h" // use unitcell +#include "source_cell/klist.h" // k points +#include "source_io/module_parameter/input_parameter.h" // Input_para +#include "source_basis/module_ao/parallel_orbitals.h" // parallel orbitals +#include "source_basis/module_ao/ORB_read.h" // orb +#include "source_estate/module_charge/charge_mixing.h" // use charge mixing + +// for EXX +#ifdef __EXX +#include "source_lcao/module_ri/Exx_LRI_interface.h" +#include "source_lcao/module_ri/Mix_DMk_2D.h" +#endif + +template +class Exx_NAO +{ + public: + + Exx_NAO(); + ~Exx_NAO(); + +#ifdef __EXX + std::shared_ptr> exd = nullptr; + std::shared_ptr>> exc = nullptr; +#endif + + void init(); + + void before_runner( + UnitCell& ucell, // unitcell + K_Vectors &kv, // k points + const LCAO_Orbitals &orb, // orbital info + const Parallel_Orbitals &pv, // parallel orbitals + const Input_para& inp); + + void before_scf( + const UnitCell &ucell, // unitcell + const K_Vectors &kv, + const LCAO_Orbitals &orb, // orbital info + Charge_Mixing* p_chgmix, + const int istep, + const Input_para& inp); + +}; + + +#endif diff --git a/source/source_lcao/spar_dh.cpp b/source/source_lcao/spar_dh.cpp index 21748e830e..7d5d485d56 100644 --- a/source/source_lcao/spar_dh.cpp +++ b/source/source_lcao/spar_dh.cpp @@ -2,7 +2,7 @@ #include "source_io/module_parameter/parameter.h" #include "source_lcao/LCAO_domain.h" -#include "source_lcao/module_gint/temp_gint/gint_interface.h" +#include "source_lcao/module_gint/gint_interface.h" #include void sparse_format::cal_dS(const UnitCell& ucell, @@ -58,8 +58,7 @@ void sparse_format::cal_dH(const UnitCell& ucell, const LCAO_Orbitals& orb, const int& current_spin, const double& sparse_thr, - const ModuleBase::matrix& v_eff, - Gint_k& gint_k) + const ModuleBase::matrix& v_eff) { ModuleBase::TITLE("sparse_format", "cal_dH"); @@ -109,26 +108,6 @@ void sparse_format::cal_dH(const UnitCell& ucell, if(PARAM.inp.nspin==2) { -#ifdef __OLD_GINT - gint_k.allocate_pvdpR(); - // note: some MPI process will not have grids when MPI cores are too - // many, v_eff in these processes are empty - const double* vr_eff1 - = v_eff.nc * v_eff.nr > 0 ? &(v_eff(current_spin, 0)) : nullptr; - - if (!PARAM.globalv.gamma_only_local) - { - if (PARAM.inp.vl_in_h) - { - Gint_inout inout(vr_eff1, - current_spin, - Gint_Tools::job_type::dvlocal); - gint_k.cal_gint(&inout); - } - } - gint_k.cal_dvlocal_R_sparseMatrix(current_spin, sparse_thr, HS_Arrays, &pv, ucell, grid); - gint_k.destroy_pvdpR(); -#else const double* vr_eff1 = v_eff.nc * v_eff.nr > 0 ? &(v_eff(current_spin, 0)) : nullptr; if (!PARAM.globalv.gamma_only_local) @@ -137,7 +116,6 @@ void sparse_format::cal_dH(const UnitCell& ucell, PARAM.inp.nspin, PARAM.globalv.npol, current_spin, PARAM.globalv.nlocal, sparse_thr, vr_eff1, pv, ucell, grid, HS_Arrays); } -#endif } return; } diff --git a/source/source_lcao/spar_dh.h b/source/source_lcao/spar_dh.h index c972524466..9af4fd6009 100644 --- a/source/source_lcao/spar_dh.h +++ b/source/source_lcao/spar_dh.h @@ -1,5 +1,5 @@ -#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_HAMILT_LCAODFT_SPAR_DH_H -#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_MODULE_HAMILT_LCAO_HAMILT_LCAODFT_SPAR_DH_H +#ifndef SPAR_DH_H +#define SPAR_DH_H #include "source_cell/module_neighbor/sltk_atom_arrange.h" #include "source_cell/module_neighbor/sltk_grid_driver.h" @@ -19,8 +19,7 @@ void cal_dH(const UnitCell& ucell, const LCAO_Orbitals& orb, const int& current_spin, const double& sparse_thr, - const ModuleBase::matrix& v_eff, - Gint_k& gint_k); + const ModuleBase::matrix& v_eff); // calculated the derivative of the overlap matrix: void cal_dS(const UnitCell& ucell, diff --git a/source/source_lcao/spar_hsr.cpp b/source/source_lcao/spar_hsr.cpp index 024fbfde2f..b0c1ce2139 100644 --- a/source/source_lcao/spar_hsr.cpp +++ b/source/source_lcao/spar_hsr.cpp @@ -1,8 +1,8 @@ #include "spar_hsr.h" +#include "source_io/module_parameter/parameter.h" #include "source_lcao/module_hcontainer/hcontainer.h" #include "source_lcao/module_rt/td_info.h" -#include "source_io/module_parameter/parameter.h" #include "spar_dh.h" #include "spar_exx.h" #include "spar_u.h" @@ -67,20 +67,22 @@ void sparse_format::sync_all_R_coor(std::set>& all_R_co } #endif // __MPI +template void sparse_format::cal_HSR(const UnitCell& ucell, - const Parallel_Orbitals& pv, - LCAO_HS_Arrays& HS_Arrays, - const Grid_Driver& grid, - const int& current_spin, - const double& sparse_thr, - const int (&nmp)[3], - hamilt::Hamilt>* p_ham + Plus_U &dftu, // mohan add 20251107 + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, + const int& current_spin, + const double& sparse_thr, + const int (&nmp)[3], + hamilt::Hamilt* p_ham #ifdef __EXX - , - const std::vector>>>* Hexxd, - const std::vector>>>>* Hexxc + , + const std::vector>>>* Hexxd, + const std::vector>>>>* Hexxc #endif -) + ) { ModuleBase::TITLE("sparse_format", "cal_HSR"); @@ -91,30 +93,29 @@ void sparse_format::cal_HSR(const UnitCell& ucell, // cal_STN_R_sparse(current_spin, sparse_thr); if (nspin == 1 || nspin == 2) { - hamilt::HamiltLCAO, double>* p_ham_lcao - = dynamic_cast, double>*>(p_ham); + hamilt::HamiltLCAO* p_ham_lcao + = dynamic_cast*>(p_ham); HS_Arrays.all_R_coor = get_R_range(*(p_ham_lcao->getHR())); if (PARAM.inp.esolver_type == "tddft" && PARAM.inp.td_stype == 1) { - sparse_format::cal_HContainer_td(pv, - current_spin, - sparse_thr, - *(p_ham_lcao->getHR()), - TD_info::td_vel_op->HR_sparse_td_vel[current_spin]); + sparse_format::cal_HContainer>( + pv, + sparse_thr, + *(p_ham_lcao->getHR()), + TD_info::td_vel_op->HR_sparse_td_vel[current_spin]); } else { - sparse_format::cal_HContainer_d(pv, - current_spin, - sparse_thr, - *(p_ham_lcao->getHR()), - HS_Arrays.HR_sparse[current_spin]); + sparse_format::cal_HContainer(pv, + sparse_thr, + *(p_ham_lcao->getHR()), + HS_Arrays.HR_sparse[current_spin]); } - sparse_format::cal_HContainer_d(pv, current_spin, sparse_thr, *(p_ham_lcao->getSR()), HS_Arrays.SR_sparse); + sparse_format::cal_HContainer(pv, sparse_thr, *(p_ham_lcao->getSR()), HS_Arrays.SR_sparse); } else if (nspin == 4) { @@ -123,9 +124,15 @@ void sparse_format::cal_HSR(const UnitCell& ucell, HS_Arrays.all_R_coor = get_R_range(*(p_ham_lcao->getHR())); - sparse_format::cal_HContainer_cd(pv, current_spin, sparse_thr, *(p_ham_lcao->getHR()), HS_Arrays.HR_soc_sparse); + sparse_format::cal_HContainer>(pv, + sparse_thr, + *(p_ham_lcao->getHR()), + HS_Arrays.HR_soc_sparse); - sparse_format::cal_HContainer_cd(pv, current_spin, sparse_thr, *(p_ham_lcao->getSR()), HS_Arrays.SR_soc_sparse); + sparse_format::cal_HContainer>(pv, + sparse_thr, + *(p_ham_lcao->getSR()), + HS_Arrays.SR_soc_sparse); } else { @@ -137,17 +144,15 @@ void sparse_format::cal_HSR(const UnitCell& ucell, { if (nspin == 1 || nspin == 2) { - cal_HR_dftu(pv, HS_Arrays.all_R_coor, HS_Arrays.SR_sparse, HS_Arrays.HR_sparse, current_spin, sparse_thr); + cal_HR_dftu(dftu, pv, HS_Arrays.all_R_coor, + HS_Arrays.SR_sparse, HS_Arrays.HR_sparse, current_spin, sparse_thr); } else if (nspin == 4) { - cal_HR_dftu_soc(pv, - HS_Arrays.all_R_coor, - HS_Arrays.SR_soc_sparse, - HS_Arrays.HR_soc_sparse, - current_spin, - sparse_thr); - } + cal_HR_dftu_soc(dftu, pv, HS_Arrays.all_R_coor, + HS_Arrays.SR_soc_sparse, HS_Arrays.HR_soc_sparse, + current_spin, sparse_thr); + } else { ModuleBase::WARNING_QUIT("cal_HSR", "check the value of nspin."); @@ -179,14 +184,13 @@ void sparse_format::cal_HSR(const UnitCell& ucell, return; } -void sparse_format::cal_HContainer_d( - const Parallel_Orbitals& pv, - const int& current_spin, - const double& sparse_thr, - const hamilt::HContainer& hR, - std::map, std::map>>& target) +template +void sparse_format::cal_HContainer(const Parallel_Orbitals& pv, + const double& sparse_thr, + const hamilt::HContainer& hR, + std::map, std::map>>& target) { - ModuleBase::TITLE("sparse_format", "cal_HContainer_d"); + ModuleBase::TITLE("sparse_format", "cal_HContainer"); auto row_indexes = pv.get_indexes_row(); auto col_indexes = pv.get_indexes_col(); @@ -209,93 +213,8 @@ void sparse_format::cal_HContainer_d( for (int j = 0; j < col_size; ++j) { int nu = col_indexes[start_j + j]; - const auto& value_tmp = matrix.get_value(i, j); - if (std::abs(value_tmp) > sparse_thr) - { - target[dR][mu][nu] = value_tmp; - } - } - } - } - } - - return; -} - -void sparse_format::cal_HContainer_cd( - const Parallel_Orbitals& pv, - const int& current_spin, - const double& sparse_thr, - const hamilt::HContainer>& hR, - std::map, std::map>>>& target) -{ - ModuleBase::TITLE("sparse_format", "cal_HContainer_cd"); - - auto row_indexes = pv.get_indexes_row(); - auto col_indexes = pv.get_indexes_col(); - for (int iap = 0; iap < hR.size_atom_pairs(); ++iap) - { - int atom_i = hR.get_atom_pair(iap).get_atom_i(); - int atom_j = hR.get_atom_pair(iap).get_atom_j(); - int start_i = pv.atom_begin_row[atom_i]; - int start_j = pv.atom_begin_col[atom_j]; - int row_size = pv.get_row_size(atom_i); - int col_size = pv.get_col_size(atom_j); - for (int iR = 0; iR < hR.get_atom_pair(iap).get_R_size(); ++iR) - { - auto& matrix = hR.get_atom_pair(iap).get_HR_values(iR); - const ModuleBase::Vector3 r_index = hR.get_atom_pair(iap).get_R_index(iR); - Abfs::Vector3_Order dR(r_index.x, r_index.y, r_index.z); - for (int i = 0; i < row_size; ++i) - { - int mu = row_indexes[start_i + i]; - for (int j = 0; j < col_size; ++j) - { - int nu = col_indexes[start_j + j]; - const auto& value_tmp = matrix.get_value(i, j); - if (std::abs(value_tmp) > sparse_thr) - { - target[dR][mu][nu] = value_tmp; - } - } - } - } - } - - return; -} - -void sparse_format::cal_HContainer_td( - const Parallel_Orbitals& pv, - const int& current_spin, - const double& sparse_thr, - const hamilt::HContainer& hR, - std::map, std::map>>>& target) -{ - ModuleBase::TITLE("sparse_format", "cal_HContainer_td"); - - auto row_indexes = pv.get_indexes_row(); - auto col_indexes = pv.get_indexes_col(); - for (int iap = 0; iap < hR.size_atom_pairs(); ++iap) - { - int atom_i = hR.get_atom_pair(iap).get_atom_i(); - int atom_j = hR.get_atom_pair(iap).get_atom_j(); - int start_i = pv.atom_begin_row[atom_i]; - int start_j = pv.atom_begin_col[atom_j]; - int row_size = pv.get_row_size(atom_i); - int col_size = pv.get_col_size(atom_j); - for (int iR = 0; iR < hR.get_atom_pair(iap).get_R_size(); ++iR) - { - auto& matrix = hR.get_atom_pair(iap).get_HR_values(iR); - const ModuleBase::Vector3 r_index = hR.get_atom_pair(iap).get_R_index(iR); - Abfs::Vector3_Order dR(r_index.x, r_index.y, r_index.z); - for (int i = 0; i < row_size; ++i) - { - int mu = row_indexes[start_i + i]; - for (int j = 0; j < col_size; ++j) - { - int nu = col_indexes[start_j + j]; - const auto& value_tmp = std::complex(matrix.get_value(i, j), 0.0); + // const auto& value_tmp = std::complex(matrix.get_value(i, j), 0.0); + const TO value_tmp = static_cast(matrix.get_value(i, j)); if (std::abs(value_tmp) > sparse_thr) { target[dR][mu][nu] += value_tmp; @@ -396,8 +315,8 @@ void sparse_format::clear_zero_elements(LCAO_HS_Arrays& HS_Arrays, const int& cu iter++; } } // end while iter - } // end row loop - } // end R loop + } // end row loop + } // end R loop for (auto& R_loop: HS_Arrays.SR_soc_sparse) { @@ -416,8 +335,8 @@ void sparse_format::clear_zero_elements(LCAO_HS_Arrays& HS_Arrays, const int& cu iter++; } } // end while iter - } // end row_loop - } // end R_loop + } // end row_loop + } // end R_loop } return; @@ -452,3 +371,55 @@ void sparse_format::destroy_HS_R_sparse(LCAO_HS_Arrays& HS_Arrays) return; } + +template void sparse_format::cal_HSR( + const UnitCell& ucell, + Plus_U &dftu, // mohan add 20251107 + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, + const int& current_spin, + const double& sparse_thr, + const int (&nmp)[3], + hamilt::Hamilt* p_ham +#ifdef __EXX + , + const std::vector>>>* Hexxd, + const std::vector>>>>* Hexxc +#endif + ); + +template void sparse_format::cal_HSR>( + const UnitCell& ucell, + Plus_U &dftu, // mohan add 20251107 + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, + const int& current_spin, + const double& sparse_thr, + const int (&nmp)[3], + hamilt::Hamilt>* p_ham +#ifdef __EXX + , + const std::vector>>>* Hexxd, + const std::vector>>>>* Hexxc +#endif + ); + +template void sparse_format::cal_HContainer( + const Parallel_Orbitals& pv, + const double& sparse_thr, + const hamilt::HContainer& hR, + std::map, std::map>>& target); + +template void sparse_format::cal_HContainer>( + const Parallel_Orbitals& pv, + const double& sparse_thr, + const hamilt::HContainer& hR, + std::map, std::map>>>& target); + +template void sparse_format::cal_HContainer>( + const Parallel_Orbitals& pv, + const double& sparse_thr, + const hamilt::HContainer>& hR, + std::map, std::map>>>& target); diff --git a/source/source_lcao/spar_hsr.h b/source/source_lcao/spar_hsr.h index b3e809ceb2..b9c1334914 100644 --- a/source/source_lcao/spar_hsr.h +++ b/source/source_lcao/spar_hsr.h @@ -1,7 +1,9 @@ #ifndef SPARSE_FORMAT_HSR_H #define SPARSE_FORMAT_HSR_H +#include "source_lcao/LCAO_HS_arrays.hpp" #include "source_lcao/hamilt_lcao.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 20251107 namespace sparse_format { @@ -36,40 +38,28 @@ std::set> get_R_range(const hamilt::HContainer& hR) }; using TAC = std::pair>; +template void cal_HSR(const UnitCell& ucell, - const Parallel_Orbitals& pv, - LCAO_HS_Arrays& HS_Arrays, - const Grid_Driver& grid, - const int& current_spin, - const double& sparse_thr, - const int (&nmp)[3], - hamilt::Hamilt>* p_ham + Plus_U &dftu, // mohan add 2025-11-07 + const Parallel_Orbitals& pv, + LCAO_HS_Arrays& HS_Arrays, + const Grid_Driver& grid, + const int& current_spin, + const double& sparse_thr, + const int (&nmp)[3], + hamilt::Hamilt* p_ham #ifdef __EXX - , - const std::vector>>>* Hexxd = nullptr, - const std::vector>>>>* Hexxc = nullptr + , + const std::vector>>>* Hexxd = nullptr, + const std::vector>>>>* Hexxc = nullptr #endif -); + ); -void cal_HContainer_d(const Parallel_Orbitals& pv, - const int& current_spin, - const double& sparse_threshold, - const hamilt::HContainer& hR, - std::map, std::map>>& target); - -void cal_HContainer_cd( - const Parallel_Orbitals& pv, - const int& current_spin, - const double& sparse_threshold, - const hamilt::HContainer>& hR, - std::map, std::map>>>& target); - -void cal_HContainer_td( - const Parallel_Orbitals& pv, - const int& current_spin, - const double& sparse_threshold, - const hamilt::HContainer& hR, - std::map, std::map>>>& target); +template +void cal_HContainer(const Parallel_Orbitals& pv, + const double& sparse_thr, + const hamilt::HContainer& hR, + std::map, std::map>>& target); void clear_zero_elements(LCAO_HS_Arrays& HS_Arrays, const int& current_spin, const double& sparse_thr); @@ -77,4 +67,4 @@ void destroy_HS_R_sparse(LCAO_HS_Arrays& HS_Arrays); } // namespace sparse_format -#endif \ No newline at end of file +#endif diff --git a/source/source_lcao/spar_st.cpp b/source/source_lcao/spar_st.cpp index 61f19b257b..c3352b7c8a 100644 --- a/source/source_lcao/spar_st.cpp +++ b/source/source_lcao/spar_st.cpp @@ -1,7 +1,7 @@ #include "spar_st.h" -#include "source_io/module_parameter/parameter.h" #include "force_stress_arrays.h" +#include "source_io/module_parameter/parameter.h" #include "source_lcao/LCAO_domain.h" #include "source_pw/module_pwdft/global.h" // only for INPUT #include "spar_dh.h" @@ -9,6 +9,7 @@ #include +template void sparse_format::cal_SR( const Parallel_Orbitals& pv, std::set>& all_R_coor, @@ -16,7 +17,7 @@ void sparse_format::cal_SR( std::map, std::map>>>& SR_soc_sparse, const Grid_Driver& grid, const double& sparse_thr, - hamilt::Hamilt>* p_ham) + hamilt::Hamilt* p_ham) { ModuleBase::TITLE("sparse_format", "cal_SR"); @@ -25,27 +26,19 @@ void sparse_format::cal_SR( const int nspin = PARAM.inp.nspin; // cal_STN_R_sparse(current_spin, sparse_thr); - if (nspin == 1 || nspin == 2) { - hamilt::HamiltLCAO, double>* p_ham_lcao - = dynamic_cast, double>*>( - p_ham); + if (nspin == 1 || nspin == 2) + { + hamilt::HamiltLCAO* p_ham_lcao + = dynamic_cast*>(p_ham); const int cspin = 0; - sparse_format::cal_HContainer_d(pv, - cspin, - sparse_thr, - *(p_ham_lcao->getSR()), - SR_sparse); - } else if (nspin == 4) { - hamilt::HamiltLCAO, std::complex>* - p_ham_lcao - = dynamic_cast, - std::complex>*>(p_ham); + sparse_format::cal_HContainer(pv, sparse_thr, *(p_ham_lcao->getSR()), SR_sparse); + } + else if (nspin == 4) + { + hamilt::HamiltLCAO, std::complex>* p_ham_lcao + = dynamic_cast, std::complex>*>(p_ham); const int cspin = 0; - sparse_format::cal_HContainer_cd(pv, - cspin, - sparse_thr, - *(p_ham_lcao->getSR()), - SR_soc_sparse); + sparse_format::cal_HContainer>(pv, sparse_thr, *(p_ham_lcao->getSR()), SR_soc_sparse); } return; @@ -106,15 +99,18 @@ void sparse_format::cal_STN_R_for_T(const UnitCell& ucell, double tmp = 0.0; std::complex tmpc = std::complex(0.0, 0.0); - for (int T1 = 0; T1 < ucell.ntype; ++T1) { + for (int T1 = 0; T1 < ucell.ntype; ++T1) + { Atom* atom1 = &ucell.atoms[T1]; - for (int I1 = 0; I1 < atom1->na; ++I1) { + for (int I1 = 0; I1 < atom1->na; ++I1) + { tau1 = atom1->tau[I1]; grid.Find_atom(ucell, tau1, T1, I1); Atom* atom1 = &ucell.atoms[T1]; const int start = ucell.itiaiw2iwt(T1, I1, 0); - for (int ad = 0; ad < grid.getAdjacentNum() + 1; ++ad) { + for (int ad = 0; ad < grid.getAdjacentNum() + 1; ++ad) + { const int T2 = grid.getType(ad); const int I2 = grid.getNatom(ad); Atom* atom2 = &ucell.atoms[T2]; @@ -126,12 +122,15 @@ void sparse_format::cal_STN_R_for_T(const UnitCell& ucell, bool adj = false; - if (distance < rcut) { + if (distance < rcut) + { adj = true; } - else if (distance >= rcut) { - for (int ad0 = 0; ad0 < grid.getAdjacentNum() + 1; ++ad0) { + else if (distance >= rcut) + { + for (int ad0 = 0; ad0 < grid.getAdjacentNum() + 1; ++ad0) + { const int T0 = grid.getType(ad0); tau0 = grid.getAdjacentTau(ad0); @@ -141,46 +140,49 @@ void sparse_format::cal_STN_R_for_T(const UnitCell& ucell, double distance1 = dtau1.norm() * ucell.lat0; double distance2 = dtau2.norm() * ucell.lat0; - double rcut1 = orb_cutoff[T1] - + ucell.infoNL.Beta[T0].get_rcut_max(); - double rcut2 = orb_cutoff[T2] - + ucell.infoNL.Beta[T0].get_rcut_max(); + double rcut1 = orb_cutoff[T1] + ucell.infoNL.Beta[T0].get_rcut_max(); + double rcut2 = orb_cutoff[T2] + ucell.infoNL.Beta[T0].get_rcut_max(); - if (distance1 < rcut1 && distance2 < rcut2) { + if (distance1 < rcut1 && distance2 < rcut2) + { adj = true; break; } } } - if (adj) { + if (adj) + { const int start2 = ucell.itiaiw2iwt(T2, I2, 0); - Abfs::Vector3_Order dR(grid.getBox(ad).x, - grid.getBox(ad).y, - grid.getBox(ad).z); + Abfs::Vector3_Order dR(grid.getBox(ad).x, grid.getBox(ad).y, grid.getBox(ad).z); - for (int ii = 0; ii < atom1->nw * PARAM.globalv.npol; ii++) { + for (int ii = 0; ii < atom1->nw * PARAM.globalv.npol; ii++) + { const int iw1_all = start + ii; const int mu = pv.global2local_row(iw1_all); - if (mu < 0) { + if (mu < 0) + { continue; } - for (int jj = 0; jj < atom2->nw * PARAM.globalv.npol; jj++) { + for (int jj = 0; jj < atom2->nw * PARAM.globalv.npol; jj++) + { int iw2_all = start2 + jj; const int nu = pv.global2local_col(iw2_all); - if (nu < 0) { + if (nu < 0) + { continue; } - if (nspin == 1 || nspin == 2) { + if (nspin == 1 || nspin == 2) + { tmp = HS_arrays.Hloc_fixedR[index]; - if (std::abs(tmp) > sparse_thr) { - HS_arrays.TR_sparse[dR][iw1_all][iw2_all] - = tmp; + if (std::abs(tmp) > sparse_thr) + { + HS_arrays.TR_sparse[dR][iw1_all][iw2_all] = tmp; } } @@ -195,14 +197,31 @@ void sparse_format::cal_STN_R_for_T(const UnitCell& ucell, return; } -void sparse_format::destroy_T_R_sparse(LCAO_HS_Arrays& HS_Arrays) { +void sparse_format::destroy_T_R_sparse(LCAO_HS_Arrays& HS_Arrays) +{ ModuleBase::TITLE("sparse_format", "destroy_T_R_sparse"); - if (PARAM.inp.nspin != 4) { - std::map, - std::map>> - empty_TR_sparse; + if (PARAM.inp.nspin != 4) + { + std::map, std::map>> empty_TR_sparse; HS_Arrays.TR_sparse.swap(empty_TR_sparse); } return; } + +template void sparse_format::cal_SR( + const Parallel_Orbitals& pv, + std::set>& all_R_coor, + std::map, std::map>>& SR_sparse, + std::map, std::map>>>& SR_soc_sparse, + const Grid_Driver& grid, + const double& sparse_thr, + hamilt::Hamilt* p_ham); +template void sparse_format::cal_SR>( + const Parallel_Orbitals& pv, + std::set>& all_R_coor, + std::map, std::map>>& SR_sparse, + std::map, std::map>>>& SR_soc_sparse, + const Grid_Driver& grid, + const double& sparse_thr, + hamilt::Hamilt>* p_ham); \ No newline at end of file diff --git a/source/source_lcao/spar_st.h b/source/source_lcao/spar_st.h index 1b732d4316..aa8ce29434 100644 --- a/source/source_lcao/spar_st.h +++ b/source/source_lcao/spar_st.h @@ -4,15 +4,17 @@ #include "source_lcao/LCAO_HS_arrays.hpp" #include "source_lcao/hamilt_lcao.h" -namespace sparse_format { +namespace sparse_format +{ //! calculate overlap matrix with lattice vector R +template void cal_SR(const Parallel_Orbitals& pv, std::set>& all_R_coor, std::map, std::map>>& SR_sparse, std::map, std::map>>>& SR_soc_sparse, const Grid_Driver& grid, const double& sparse_thr, - hamilt::Hamilt>* p_ham); + hamilt::Hamilt* p_ham); //! calculate kinetic matrix with lattice vector R void cal_TR(const UnitCell& ucell, diff --git a/source/source_lcao/spar_u.cpp b/source/source_lcao/spar_u.cpp index af5f4982ac..6a7d48709a 100644 --- a/source/source_lcao/spar_u.cpp +++ b/source/source_lcao/spar_u.cpp @@ -3,9 +3,9 @@ #include "source_io/module_parameter/parameter.h" #include "source_pw/module_pwdft/global.h" #include "source_base/timer.h" -#include "source_lcao/module_dftu/dftu.h" void sparse_format::cal_HR_dftu( + Plus_U &dftu, // mohan add 2025-11-07 const Parallel_Orbitals &pv, std::set> &all_R_coor, std::map, std::map>> &SR_sparse, @@ -74,7 +74,7 @@ void sparse_format::cal_HR_dftu( } } - GlobalC::dftu.cal_eff_pot_mat_R_double(current_spin, SR_tmp, HR_tmp); + dftu.cal_eff_pot_mat_R_double(current_spin, SR_tmp, HR_tmp); for (int i = 0; i < PARAM.globalv.nlocal; ++i) { @@ -128,6 +128,7 @@ void sparse_format::cal_HR_dftu( void sparse_format::cal_HR_dftu_soc( + Plus_U &dftu, // mohan add 2025-11-07 const Parallel_Orbitals &pv, std::set> &all_R_coor, std::map, std::map>>> &SR_soc_sparse, @@ -194,7 +195,7 @@ void sparse_format::cal_HR_dftu_soc( } } - GlobalC::dftu.cal_eff_pot_mat_R_complex_double(current_spin, SR_soc_tmp, HR_soc_tmp); + dftu.cal_eff_pot_mat_R_complex_double(current_spin, SR_soc_tmp, HR_soc_tmp); for (int i = 0; i < PARAM.globalv.nlocal; ++i) { diff --git a/source/source_lcao/spar_u.h b/source/source_lcao/spar_u.h index ced9781d79..972033b47d 100644 --- a/source/source_lcao/spar_u.h +++ b/source/source_lcao/spar_u.h @@ -5,12 +5,14 @@ #include "source_cell/module_neighbor/sltk_grid_driver.h" #include "source_pw/module_pwdft/global.h" #include "source_lcao/hamilt_lcao.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 20251107 namespace sparse_format { void cal_HR_dftu( + Plus_U &dftu, // mohan add 2025-11-07 const Parallel_Orbitals &pv, std::set> &all_R_coor, std::map, std::map>> &SR_sparse, @@ -19,6 +21,7 @@ namespace sparse_format const double &sparse_thr); void cal_HR_dftu_soc( + Plus_U &dftu, // mohan add 2025-11-07 const Parallel_Orbitals &pv, std::set> &all_R_coor, std::map, std::map>>> &SR_soc_sparse, diff --git a/source/source_main/driver.cpp b/source/source_main/driver.cpp index 024983123e..c15ef92057 100644 --- a/source/source_main/driver.cpp +++ b/source/source_main/driver.cpp @@ -10,7 +10,6 @@ #include "source_io/para_json.h" #include "source_io/print_info.h" #include "source_io/read_input.h" -#include "source_io/winput.h" #include "source_io/module_parameter/parameter.h" #include "source_main/version.h" Driver::Driver() @@ -163,10 +162,6 @@ void Driver::reading() GlobalV::RANK_IN_POOL, GlobalV::MY_POOL); #endif - - // (6) Read in parameters about wannier functions. - winput::Init(PARAM.inp.wannier_card); - ModuleBase::timer::tick("Driver", "reading"); } diff --git a/source/source_main/driver.h b/source/source_main/driver.h index d0ef395875..9bdcf1d285 100644 --- a/source/source_main/driver.h +++ b/source/source_main/driver.h @@ -37,6 +37,10 @@ class Driver // the actual calculations void driver_run(); + + // Init harewares according to Input parameters + void init_hardware(); + void finalize_hardware(); }; #endif diff --git a/source/source_main/driver_run.cpp b/source/source_main/driver_run.cpp index 47d21e394c..990aa56751 100644 --- a/source/source_main/driver_run.cpp +++ b/source/source_main/driver_run.cpp @@ -5,8 +5,19 @@ #include "source_io/module_parameter/parameter.h" #include "source_io/para_json.h" #include "source_io/print_info.h" -#include "source_io/winput.h" #include "source_md/run_md.h" +#include "source_base/global_variable.h" +#include "source_base/module_device/device.h" +#include "source_base/module_device/memory_op.h" +#include "source_base/kernels/math_kernel_op.h" +#include "source_hsolver/kernels/hegvd_op.h" + +#include +#include + +#ifdef __DSP +#include "source_base/kernels/dsp/dsp_connector.h" +#endif /** * @brief This is the driver function which defines the workflow of ABACUS @@ -31,7 +42,6 @@ void Driver::driver_run() // this warning should not be here, mohan 2024-05-22 #ifndef __LCAO if (PARAM.inp.basis_type == "lcao_in_pw" || PARAM.inp.basis_type == "lcao") { - ModuleBase::timer::tick("Driver","driver_run"); ModuleBase::WARNING_QUIT("driver", "to use LCAO basis, compile with __LCAO"); } @@ -49,6 +59,8 @@ void Driver::driver_run() unitcell::check_atomic_stru(ucell, PARAM.inp.min_dist_coef); //! 2: initialize the ESolver (depends on a set-up ucell after `setup_cell`) + this->init_hardware(); + ModuleESolver::ESolver* p_esolver = ModuleESolver::init_esolver(PARAM.inp, ucell); //! 3: initialize Esolver and fill json-structure @@ -75,7 +87,7 @@ void Driver::driver_run() { p_esolver->runner(ucell, 0); } - else if (cal == "get_pchg" || cal == "get_wf" || cal == "gen_bessel" || cal == "gen_opt_abfs" || + else if (cal == "get_pchg" || cal == "get_wf" || cal == "gen_bessel" || cal == "gen_opt_abfs" || cal == "test_memory" || cal == "test_neighbour") { //! supported "other" functions: @@ -95,9 +107,53 @@ void Driver::driver_run() p_esolver->after_all_runners(ucell); ModuleESolver::clean_esolver(p_esolver); + this->finalize_hardware(); //! 6: output the json file Json::create_Json(&ucell, PARAM); return; } + +void Driver::init_hardware() +{ +#if ((defined __CUDA) || (defined __ROCM)) + if (PARAM.inp.device == "gpu") + { + ModuleBase::createGpuBlasHandle(); + hsolver::createGpuSolverHandle(); + container::kernels::createGpuBlasHandle(); + container::kernels::createGpuSolverHandle(); + } +#endif + +#ifdef __DSP + if (GlobalV::NPROC > PARAM.inp.kpar) + { + ModuleBase::WARNING_QUIT( + "Driver::init_hardware", + "Number of processors must be equal to KPAR for DSP hardware initialization." + ); + } + std::cout << " ** Initializing DSP Hardware..." << std::endl; + mtfunc::dspInitHandle(GlobalV::MY_RANK % PARAM.inp.dsp_count); +#endif +} + +void Driver::finalize_hardware() +{ +#if defined(__CUDA) || defined(__ROCM) + if (PARAM.inp.device == "gpu") + { + ModuleBase::destoryBLAShandle(); + hsolver::destroyGpuSolverHandle(); + container::kernels::destroyGpuBlasHandle(); + container::kernels::destroyGpuSolverHandle(); + } +#endif + +#ifdef __DSP + std::cout << " ** Closing DSP Hardware..." << std::endl; + mtfunc::dspDestoryHandle(GlobalV::MY_RANK); +#endif +} diff --git a/source/source_main/version.h b/source/source_main/version.h index f81442e9c4..90779daf05 100644 --- a/source/source_main/version.h +++ b/source/source_main/version.h @@ -1,3 +1,3 @@ #ifndef VERSION -#define VERSION "v3.9.0.11" +#define VERSION "v3.9.0.23" #endif diff --git a/source/source_md/fire.cpp b/source/source_md/fire.cpp index 4a58d004b2..9c0cfd6472 100644 --- a/source/source_md/fire.cpp +++ b/source/source_md/fire.cpp @@ -90,7 +90,7 @@ void FIRE::write_restart(const std::string& global_out_dir) if (!my_rank) { std::stringstream ssc; - ssc << global_out_dir << "Restart_md.dat"; + ssc << global_out_dir << "Restart_md.txt"; std::ofstream file(ssc.str().c_str()); file << step_ + step_rst_ << std::endl; @@ -116,7 +116,7 @@ void FIRE::restart(const std::string& global_readin_dir) if (!my_rank) { std::stringstream ssc; - ssc << global_readin_dir << "Restart_md.dat"; + ssc << global_readin_dir << "Restart_md.txt"; std::ifstream file(ssc.str().c_str()); if (!file) @@ -137,7 +137,7 @@ void FIRE::restart(const std::string& global_readin_dir) if (!ok) { - ModuleBase::WARNING_QUIT("mdrun", "no Restart_md.dat !"); + ModuleBase::WARNING_QUIT("mdrun", "no Restart_md.txt !"); } #ifdef __MPI diff --git a/source/source_md/md_base.cpp b/source/source_md/md_base.cpp index 659dea7fe2..e7e9328824 100644 --- a/source/source_md/md_base.cpp +++ b/source/source_md/md_base.cpp @@ -60,7 +60,12 @@ void MD_base::setup(ModuleESolver::ESolver* p_esolver, const std::string& global restart(global_readin_dir); } - ModuleIO::print_screen(0, 0, step_ + step_rst_); + // mohan add 2026-01-04 + const int stress_step = 0; + const int force_step = 0; + const int istep_print = step_ + step_rst_ + 1; + + ModuleIO::print_screen(stress_step, force_step, istep_print); MD_func::force_virial(p_esolver, step_, ucell, potential, force, cal_stress, virial); MD_func::compute_stress(ucell, vel, allmass, cal_stress, virial, stress); @@ -228,7 +233,7 @@ void MD_base::write_restart(const std::string& global_out_dir) if (!my_rank) { std::stringstream ssc; - ssc << global_out_dir << "Restart_md.dat"; + ssc << global_out_dir << "Restart_md.txt"; std::ofstream file(ssc.str().c_str()); file << step_ + step_rst_ << std::endl; diff --git a/source/source_md/md_func.cpp b/source/source_md/md_func.cpp index d3cb2f6aa0..d57815cc33 100644 --- a/source/source_md/md_func.cpp +++ b/source/source_md/md_func.cpp @@ -496,7 +496,7 @@ void current_md_info(const int& my_rank, const std::string& file_dir, int& md_st if (my_rank == 0) { std::stringstream ssc; - ssc << file_dir << "Restart_md.dat"; + ssc << file_dir << "Restart_md.txt"; std::ifstream file(ssc.str().c_str()); if (!file) @@ -517,7 +517,7 @@ void current_md_info(const int& my_rank, const std::string& file_dir, int& md_st if (!ok) { - ModuleBase::WARNING_QUIT("current_md_info", "no Restart_md.dat!"); + ModuleBase::WARNING_QUIT("current_md_info", "no Restart_md.txt!"); } #ifdef __MPI diff --git a/source/source_md/md_func.h b/source/source_md/md_func.h index 4fdd50bd0f..28ae5101b9 100644 --- a/source/source_md/md_func.h +++ b/source/source_md/md_func.h @@ -219,7 +219,7 @@ void temp_vector(const int& natom, /** * @brief determine thr current md step and temperature * - * determine thr current md step and temperature according to Restart_md.dat if md_restart is true + * determine the current md step and temperature according to Restart_md.txt if md_restart is true * * @param my_rank MPI rank of the processor * @param file_dir the directory of read-in files diff --git a/source/source_md/msst.cpp b/source/source_md/msst.cpp index 51a6c5eafd..0a9024cdfe 100644 --- a/source/source_md/msst.cpp +++ b/source/source_md/msst.cpp @@ -171,7 +171,7 @@ void MSST::write_restart(const std::string& global_out_dir) if (!my_rank) { std::stringstream ssc; - ssc << global_out_dir << "Restart_md.dat"; + ssc << global_out_dir << "Restart_md.txt"; std::ofstream file(ssc.str().c_str()); file << step_ + step_rst_ << std::endl; @@ -199,7 +199,7 @@ void MSST::restart(const std::string& global_readin_dir) if (!my_rank) { std::stringstream ssc; - ssc << global_readin_dir << "Restart_md.dat"; + ssc << global_readin_dir << "Restart_md.txt"; std::ifstream file(ssc.str().c_str()); if (!file) @@ -220,7 +220,7 @@ void MSST::restart(const std::string& global_readin_dir) if (!ok) { - ModuleBase::WARNING_QUIT("mdrun", "no Restart_md.dat !"); + ModuleBase::WARNING_QUIT("mdrun", "no Restart_md.txt !"); } #ifdef __MPI diff --git a/source/source_md/nhchain.cpp b/source/source_md/nhchain.cpp index 460becf56c..dfe086490a 100644 --- a/source/source_md/nhchain.cpp +++ b/source/source_md/nhchain.cpp @@ -326,7 +326,7 @@ void Nose_Hoover::write_restart(const std::string& global_out_dir) if (!my_rank) { std::stringstream ssc; - ssc << global_out_dir << "Restart_md.dat"; + ssc << global_out_dir << "Restart_md.txt"; std::ofstream file(ssc.str().c_str()); file << step_ + step_rst_ << std::endl; @@ -380,7 +380,7 @@ void Nose_Hoover::restart(const std::string& global_readin_dir) if (!my_rank) { std::stringstream ssc; - ssc << global_readin_dir << "Restart_md.dat"; + ssc << global_readin_dir << "Restart_md.txt"; std::ifstream file(ssc.str().c_str()); if (!file) @@ -449,7 +449,7 @@ void Nose_Hoover::restart(const std::string& global_readin_dir) if (!ok) { - ModuleBase::WARNING_QUIT("Nose_Hoover", "no Restart_md.dat !"); + ModuleBase::WARNING_QUIT("Nose_Hoover", "no Restart_md.txt !"); } if (!ok2) { diff --git a/source/source_md/run_md.cpp b/source/source_md/run_md.cpp index a24eeb3ae4..2009a39f50 100644 --- a/source/source_md/run_md.cpp +++ b/source/source_md/run_md.cpp @@ -21,7 +21,7 @@ void md_line(UnitCell& unit_in, ModuleESolver::ESolver* p_esolver, const Paramet ModuleBase::timer::tick("Run_MD", "md_line"); /// determine the md_type - MD_base* mdrun; + MD_base* mdrun = nullptr; if (param_in.mdp.md_type == "fire") { mdrun = new FIRE(param_in, unit_in); @@ -47,8 +47,8 @@ void md_line(UnitCell& unit_in, ModuleESolver::ESolver* p_esolver, const Paramet ModuleBase::WARNING_QUIT("md_line", "no such md_type!"); } - /// md cycle - while ((mdrun->step_ + mdrun->step_rst_) <= param_in.mdp.md_nstep && !mdrun->stop) + /// md cycle, mohan update 2026-01-04, change '<=' to '<' + while ((mdrun->step_ + mdrun->step_rst_) < param_in.mdp.md_nstep && !mdrun->stop) { if (mdrun->step_ == 0) { @@ -56,7 +56,11 @@ void md_line(UnitCell& unit_in, ModuleESolver::ESolver* p_esolver, const Paramet } else { - ModuleIO::print_screen(0, 0, mdrun->step_ + mdrun->step_rst_); + // mohan add 2026-01-04 + const int stress_step = 0; + const int force_step = 0; + const int istep_print = mdrun->step_ + mdrun->step_rst_ + 1; + ModuleIO::print_screen(stress_step, force_step, istep_print); mdrun->first_half(GlobalV::ofs_running); /// update force and virial due to the update of atom positions @@ -130,4 +134,4 @@ void md_line(UnitCell& unit_in, ModuleESolver::ESolver* p_esolver, const Paramet return; } -} // namespace Run_MD \ No newline at end of file +} // namespace Run_MD diff --git a/source/source_md/test/CMakeLists.txt b/source/source_md/test/CMakeLists.txt index dee30a6ab7..516fc52b0c 100644 --- a/source/source_md/test/CMakeLists.txt +++ b/source/source_md/test/CMakeLists.txt @@ -1,7 +1,7 @@ remove_definitions(-D__MPI -D__LCAO ) add_definitions(-D__NORMAL) -list(APPEND depend_files +list(APPEND depend_files ../md_func.cpp ../../source_cell/unitcell.cpp ../../source_cell/update_cell.cpp @@ -56,25 +56,27 @@ list(APPEND depend_files ../../source_estate/cal_wfc.cpp ../../source_estate/cal_nelec_nband.cpp ../../source_estate/read_orb.cpp + ../../source_cell/sep.cpp + ../../source_cell/sep_cell.cpp ) AddTest( TARGET MODULE_MD_LJ_pot - LIBS parameter ${math_libs} psi device - SOURCES lj_pot_test.cpp + LIBS parameter ${math_libs} psi device + SOURCES lj_pot_test.cpp ${depend_files} ) AddTest( TARGET MODULE_MD_func - LIBS parameter ${math_libs} psi device - SOURCES md_func_test.cpp + LIBS parameter ${math_libs} psi device + SOURCES md_func_test.cpp ${depend_files} ) AddTest( TARGET MODULE_MD_fire - LIBS parameter ${math_libs} psi device + LIBS parameter ${math_libs} psi device SOURCES fire_test.cpp ../md_base.cpp ../fire.cpp @@ -83,7 +85,7 @@ AddTest( AddTest( TARGET MODULE_MD_verlet - LIBS parameter ${math_libs} psi device + LIBS parameter ${math_libs} psi device SOURCES verlet_test.cpp ../md_base.cpp ../verlet.cpp @@ -92,7 +94,7 @@ AddTest( AddTest( TARGET MODULE_MD_nhc - LIBS parameter ${math_libs} psi device + LIBS parameter ${math_libs} psi device SOURCES nhchain_test.cpp ../md_base.cpp ../nhchain.cpp @@ -102,7 +104,7 @@ AddTest( AddTest( TARGET MODULE_MD_msst - LIBS parameter ${math_libs} psi device + LIBS parameter ${math_libs} psi device SOURCES msst_test.cpp ../md_base.cpp ../msst.cpp @@ -113,7 +115,7 @@ AddTest( AddTest( TARGET MODULE_MD_lgv - LIBS parameter ${math_libs} psi device + LIBS parameter ${math_libs} psi device SOURCES langevin_test.cpp ../md_base.cpp ../langevin.cpp diff --git a/source/source_md/test/fire_test.cpp b/source/source_md/test/fire_test.cpp index 61528b91c0..3b294da46a 100644 --- a/source/source_md/test/fire_test.cpp +++ b/source/source_md/test/fire_test.cpp @@ -145,7 +145,7 @@ TEST_F(FIREtest, WriteRestart) mdrun->step_rst_ = 2; mdrun->write_restart(PARAM.sys.global_out_dir); - std::ifstream ifs("Restart_md.dat"); + std::ifstream ifs("Restart_md.txt"); std::string output_str; getline(ifs, output_str); EXPECT_THAT(output_str, testing::HasSubstr("3")); @@ -165,7 +165,7 @@ TEST_F(FIREtest, WriteRestart) TEST_F(FIREtest, Restart) { mdrun->restart(PARAM.sys.global_readin_dir); - remove("Restart_md.dat"); + remove("Restart_md.txt"); FIRE* fire = dynamic_cast(mdrun); EXPECT_EQ(mdrun->step_rst_, 3); diff --git a/source/source_md/test/langevin_test.cpp b/source/source_md/test/langevin_test.cpp index 7a3254454d..69df605b15 100644 --- a/source/source_md/test/langevin_test.cpp +++ b/source/source_md/test/langevin_test.cpp @@ -146,7 +146,7 @@ TEST_F(Langevin_test, write_restart) mdrun->step_rst_ = 2; mdrun->write_restart(PARAM.sys.global_out_dir); - std::ifstream ifs("Restart_md.dat"); + std::ifstream ifs("Restart_md.txt"); std::string output_str; getline(ifs, output_str); EXPECT_THAT(output_str, testing::HasSubstr("3")); @@ -156,7 +156,7 @@ TEST_F(Langevin_test, write_restart) TEST_F(Langevin_test, restart) { mdrun->restart(PARAM.sys.global_readin_dir); - remove("Restart_md.dat"); + remove("Restart_md.txt"); EXPECT_EQ(mdrun->step_rst_, 3); } diff --git a/source/source_md/test/md_func_test.cpp b/source/source_md/test/md_func_test.cpp index 8455823885..eb9ce57a5f 100644 --- a/source/source_md/test/md_func_test.cpp +++ b/source/source_md/test/md_func_test.cpp @@ -418,9 +418,9 @@ TEST_F(MD_func_test, print_stress) TEST_F(MD_func_test, current_md_info) { - // Set up the file directory and create the Restart_md.dat file + // Set up the file directory and create the Restart_md.txt file std::string file_dir = "./"; - std::ofstream file(file_dir + "Restart_md.dat"); + std::ofstream file(file_dir + "Restart_md.txt"); file << 123; file.close(); int istep = -1; @@ -430,7 +430,7 @@ TEST_F(MD_func_test, current_md_info) // Call the function with the correct file path and check the result EXPECT_EQ(istep, 123); EXPECT_DOUBLE_EQ(temperature, 0.0); - remove("Restart_md.dat"); + remove("Restart_md.txt"); } TEST_F(MD_func_test, current_step_warning) diff --git a/source/source_md/test/msst_test.cpp b/source/source_md/test/msst_test.cpp index b59652a6fd..7d0fd8054d 100644 --- a/source/source_md/test/msst_test.cpp +++ b/source/source_md/test/msst_test.cpp @@ -184,7 +184,7 @@ TEST_F(MSST_test, write_restart) mdrun->step_rst_ = 2; mdrun->write_restart(PARAM.sys.global_out_dir); - std::ifstream ifs("Restart_md.dat"); + std::ifstream ifs("Restart_md.txt"); std::string output_str; getline(ifs, output_str); EXPECT_THAT(output_str, testing::HasSubstr("3")); @@ -206,7 +206,7 @@ TEST_F(MSST_test, write_restart) TEST_F(MSST_test, restart) { mdrun->restart(PARAM.sys.global_readin_dir); - remove("Restart_md.dat"); + remove("Restart_md.txt"); MSST* msst = dynamic_cast(mdrun); EXPECT_EQ(mdrun->step_rst_, 3); diff --git a/source/source_md/test/nhchain_test.cpp b/source/source_md/test/nhchain_test.cpp index 60e9525d97..647df0a730 100644 --- a/source/source_md/test/nhchain_test.cpp +++ b/source/source_md/test/nhchain_test.cpp @@ -150,7 +150,7 @@ TEST_F(NHC_test, write_restart) mdrun->step_rst_ = 2; mdrun->write_restart(PARAM.sys.global_out_dir); - std::ifstream ifs("Restart_md.dat"); + std::ifstream ifs("Restart_md.txt"); std::string output_str; getline(ifs, output_str); EXPECT_THAT(output_str, testing::HasSubstr("3")); @@ -177,7 +177,7 @@ TEST_F(NHC_test, write_restart) TEST_F(NHC_test, restart) { mdrun->restart(PARAM.sys.global_readin_dir); - remove("Restart_md.dat"); + remove("Restart_md.txt"); Nose_Hoover* nhc = dynamic_cast(mdrun); EXPECT_EQ(mdrun->step_rst_, 3); diff --git a/source/source_md/test/setcell.h b/source/source_md/test/setcell.h index 4c633e53b9..3841b8501b 100644 --- a/source/source_md/test/setcell.h +++ b/source/source_md/test/setcell.h @@ -36,7 +36,7 @@ class Setcell ucell.atom_label[0] = "Ar"; ucell.lat0 = 1; - ucell.lat0_angstrom = ucell.lat0 * 0.529177; + ucell.lat0_angstrom = ucell.lat0 * ModuleBase::BOHR_TO_A; ucell.tpiba = ModuleBase::TWO_PI / ucell.lat0; ucell.tpiba2 = ucell.tpiba * ucell.tpiba; diff --git a/source/source_md/test/verlet_test.cpp b/source/source_md/test/verlet_test.cpp index 00013abf15..8f2c00f74f 100644 --- a/source/source_md/test/verlet_test.cpp +++ b/source/source_md/test/verlet_test.cpp @@ -287,7 +287,7 @@ TEST_F(Verlet_test, write_restart) mdrun->step_rst_ = 2; mdrun->write_restart(PARAM.sys.global_out_dir); - std::ifstream ifs("Restart_md.dat"); + std::ifstream ifs("Restart_md.txt"); std::string output_str; getline(ifs, output_str); EXPECT_THAT(output_str, testing::HasSubstr("3")); @@ -297,7 +297,7 @@ TEST_F(Verlet_test, write_restart) TEST_F(Verlet_test, restart) { mdrun->restart(PARAM.sys.global_readin_dir); - remove("Restart_md.dat"); + remove("Restart_md.txt"); EXPECT_EQ(mdrun->step_rst_, 3); } diff --git a/source/source_psi/CMakeLists.txt b/source/source_psi/CMakeLists.txt index a1037885f3..54d636728f 100644 --- a/source/source_psi/CMakeLists.txt +++ b/source/source_psi/CMakeLists.txt @@ -7,6 +7,8 @@ add_library( add_library( psi_overall_init OBJECT + setup_psi_pw.cpp + setup_psi.cpp psi_init.cpp ) @@ -22,6 +24,7 @@ add_library( psi_initializer_nao_random.cpp ) + if(ENABLE_COVERAGE) add_coverage(psi) add_coverage(psi_initializer) @@ -32,4 +35,4 @@ if (BUILD_TESTING) if(ENABLE_MPI) add_subdirectory(test) endif() -endif() \ No newline at end of file +endif() diff --git a/source/source_psi/psi.cpp b/source/source_psi/psi.cpp index 9a2f9f1d79..8f64b0b8ea 100644 --- a/source/source_psi/psi.cpp +++ b/source/source_psi/psi.cpp @@ -171,7 +171,6 @@ Psi::Psi(const Psi& psi_in) this->psi_current = this->psi + psi_in.get_psi_bias(); } - // Constructor 2-2: template template @@ -301,7 +300,7 @@ const int* Psi::get_ngk_pointer() const } template -const int& Psi::get_psi_bias() const +const size_t& Psi::get_psi_bias() const { return this->psi_bias; } @@ -545,6 +544,8 @@ template Psi::Psi(const Psi::Psi(const Psi&); template Psi, base_device::DEVICE_CPU>::Psi( const Psi, base_device::DEVICE_GPU>&); +template Psi, base_device::DEVICE_CPU>::Psi( + const Psi, base_device::DEVICE_GPU>&); template Psi, base_device::DEVICE_GPU>::Psi( const Psi, base_device::DEVICE_CPU>&); template Psi, base_device::DEVICE_GPU>::Psi( diff --git a/source/source_psi/psi.h b/source/source_psi/psi.h index 17354ba2f8..1aed4f46f6 100644 --- a/source/source_psi/psi.h +++ b/source/source_psi/psi.h @@ -130,7 +130,7 @@ class Psi const Device* get_device() const; // return psi_bias - const int& get_psi_bias() const; + const size_t& get_psi_bias() const; const int& get_current_ngk() const; @@ -156,7 +156,7 @@ class Psi // current pointer for getting the psi mutable T* psi_current = nullptr; // psi_current = psi + psi_bias; - mutable int psi_bias = 0; + mutable size_t psi_bias = 0; const int* ngk = nullptr; diff --git a/source/source_psi/psi_init.cpp b/source/source_psi/psi_init.cpp index cf45ac2f2d..e8975c80d0 100644 --- a/source/source_psi/psi_init.cpp +++ b/source/source_psi/psi_init.cpp @@ -51,11 +51,26 @@ void PSIInit::prepare_init(const int& random_seed) } else if ((this->init_wfc.substr(0, 6) == "atomic") && (this->ucell.natomwfc == 0)) { + ModuleBase::WARNING_QUIT("PSIInit::prepare_init", + "init_wfc = atomic requires pseudo wavefunctions, but number of atom wfc = 0. \n" + " Please use init_wfc = random or try a pseudopotential with pseudo wavefunctions."); this->psi_initer = std::unique_ptr>(new psi_initializer_random()); } else if (this->init_wfc == "atomic" || (this->init_wfc == "atomic+random" && this->ucell.natomwfc < PARAM.inp.nbands)) { + if (this->ucell.natomwfc < PARAM.inp.nbands) + { + int nrandom = PARAM.inp.nbands - this->ucell.natomwfc; + GlobalV::ofs_running << "\n Using ATOMIC starting wave functions with " << this->ucell.natomwfc << " atomic orbitals" + << " + " << nrandom << " random orbitals" + << " (total " << PARAM.inp.nbands << " bands)"; + } + else + { + GlobalV::ofs_running << "\n Using ATOMIC starting wave functions for all " << this->ucell.natomwfc << " atomic orbitals" + << " (covers " << PARAM.inp.nbands << " bands)"; + } this->psi_initer = std::unique_ptr>(new psi_initializer_atomic()); } else if (this->init_wfc == "atomic+random") @@ -148,7 +163,7 @@ void PSIInit::initialize_psi(Psi>* psi, { syncmem_h2d_op()(psi_device->get_pointer(), psi_cpu->get_pointer(), nbands_start * nbasis); } - + if (this->ks_solver == "cg") { @@ -157,7 +172,7 @@ void PSIInit::initialize_psi(Psi>* psi, { // for diagH_subspace_init, psi_device->get_pointer() and kspw_psi->get_pointer() should be // different - hsolver::DiagoIterAssist::diagH_subspace_init(p_hamilt, + hsolver::DiagoIterAssist::diag_subspace_init(p_hamilt, psi_device->get_pointer(), nbands_start, nbasis, @@ -167,7 +182,7 @@ void PSIInit::initialize_psi(Psi>* psi, else { // for diagH_subspace, psi_device->get_pointer() and kspw_psi->get_pointer() can be the same - hsolver::DiagoIterAssist::diagH_subspace(p_hamilt, + hsolver::DiagoIterAssist::diag_subspace(p_hamilt, *psi_device, *kspw_psi, etatom.data(), @@ -206,7 +221,7 @@ void PSIInit::initialize_psi(Psi>* psi, { MPI_Status status; Parallel_Common::recv_dev(kspw_psi->get_pointer(), nbands_l * nbasis, 0, 0, BP_WORLD, &status); - } + } } #endif } // end k-point loop diff --git a/source/source_psi/psi_initializer.cpp b/source/source_psi/psi_initializer.cpp index 2f1fd46f99..cc260ec90c 100644 --- a/source/source_psi/psi_initializer.cpp +++ b/source/source_psi/psi_initializer.cpp @@ -92,7 +92,7 @@ void psi_initializer::random_t(T* psi, const int iw_start, const int iw_end, } // then for each g-component, initialize the wavefunction value #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(T)) +#pragma omp parallel for schedule(static) #endif for (int ig = 0; ig < ng; ig++) { @@ -104,7 +104,7 @@ void psi_initializer::random_t(T* psi, const int iw_start, const int iw_end, psi_slice[ig] = this->template cast_to_T(std::complex(rr * cos(arg), rr * sin(arg))); } #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(T)) +#pragma omp parallel for schedule(static) #endif for (int ig = ng; ig < npwk_max; ++ig) { @@ -151,7 +151,7 @@ void psi_initializer::random_t(T* psi, const int iw_start, const int iw_end, for (int ipol = 0; ipol < npol; ipol++) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(T)) +#pragma omp parallel for schedule(static) #endif for (int ig = 0; ig < ng; ig++) { diff --git a/source/source_psi/psi_initializer_nao.cpp b/source/source_psi/psi_initializer_nao.cpp index ff4f5667d4..7f74b40c44 100644 --- a/source/source_psi/psi_initializer_nao.cpp +++ b/source/source_psi/psi_initializer_nao.cpp @@ -264,7 +264,7 @@ void psi_initializer_nao::init_psig(T* psig, const int& ik) std::vector qnorm(npw); std::vector> q(npw); -#pragma omp parallel for schedule(static, 4096 / sizeof(double)) +#pragma omp parallel for schedule(static) for (int ig = 0; ig < npw; ig++) { q[ig] = this->pw_wfc_->getgpluskcar(ik, ig); diff --git a/source/source_psi/setup_psi.cpp b/source/source_psi/setup_psi.cpp new file mode 100644 index 0000000000..ba658a02de --- /dev/null +++ b/source/source_psi/setup_psi.cpp @@ -0,0 +1,62 @@ +#include "source_psi/setup_psi.h" +#include "source_io/module_parameter/parameter.h" // use parameter + +template +Setup_Psi::Setup_Psi(){} + +template +Setup_Psi::~Setup_Psi(){} + +// the size of psi may change during scf (in the future we can support such +// calculations: first SZP or DZ, and then DZP calculations. +// In that case, psi may change its size multiple times during SCF +template +void Setup_Psi::allocate_psi( + psi::Psi* &psi, + const K_Vectors &kv, + const Parallel_Orbitals ¶_orb, + const Input_para &inp) +{ + // init electronic wave function psi + if (psi == nullptr) + { + int nsk = 0; + int ncol = 0; + if (PARAM.globalv.gamma_only_local) + { + nsk = inp.nspin; + ncol = para_orb.ncol_bands; + if (inp.ks_solver == "genelpa" || inp.ks_solver == "elpa" || inp.ks_solver == "lapack" + || inp.ks_solver == "pexsi" || inp.ks_solver == "cusolver" + || inp.ks_solver == "cusolvermp") + { + ncol = para_orb.ncol; + } + } + else + { + nsk = kv.get_nks(); +#ifdef __MPI + ncol = para_orb.ncol_bands; +#else + ncol = inp.nbands; +#endif + } + psi = new psi::Psi(nsk, ncol, para_orb.nrow, kv.ngk, true); + } +} + + +template +void Setup_Psi::deallocate_psi(psi::Psi* &psi) +{ + if(psi!=nullptr) + { + delete psi; + } +} + +template class Setup_Psi; +template class Setup_Psi>; +template class Setup_Psi; +template class Setup_Psi>; diff --git a/source/source_psi/setup_psi.h b/source/source_psi/setup_psi.h new file mode 100644 index 0000000000..d73ddb0659 --- /dev/null +++ b/source/source_psi/setup_psi.h @@ -0,0 +1,28 @@ +#ifndef SETUP_PSI_H +#define SETUP_PSI_H + +#include "source_psi/psi_init.h" +#include "source_cell/klist.h" +#include "source_io/module_parameter/input_parameter.h" +#include "source_basis/module_ao/parallel_orbitals.h" // use para_orb + +template +class Setup_Psi +{ + public: + + Setup_Psi(); + ~Setup_Psi(); + + static void allocate_psi( + psi::Psi* &psi, + const K_Vectors &kv, + const Parallel_Orbitals ¶_orb, + const Input_para &inp); + + static void deallocate_psi(psi::Psi* &psi); + +}; + + +#endif diff --git a/source/source_psi/setup_psi_pw.cpp b/source/source_psi/setup_psi_pw.cpp new file mode 100644 index 0000000000..f5f0ae6005 --- /dev/null +++ b/source/source_psi/setup_psi_pw.cpp @@ -0,0 +1,103 @@ +#include "source_psi/setup_psi_pw.h" +#include "source_io/module_parameter/parameter.h" // use parameter + +template +Setup_Psi_pw::Setup_Psi_pw(){} + +template +Setup_Psi_pw::~Setup_Psi_pw(){} + +template +void Setup_Psi_pw::before_runner( + const UnitCell &ucell, + const K_Vectors &kv, + const Structure_Factor &sf, + const ModulePW::PW_Basis_K &pw_wfc, + const pseudopot_cell_vnl &ppcell, + const Input_para &inp) +{ + //! Allocate and initialize psi + this->p_psi_init = new psi::PSIInit(inp.init_wfc, + inp.ks_solver, inp.basis_type, GlobalV::MY_RANK, ucell, + sf, kv, ppcell, pw_wfc); + + //! Allocate memory for cpu version of psi + allocate_psi(this->psi_cpu, kv.get_nks(), kv.ngk, PARAM.globalv.nbands_l, pw_wfc.npwk_max); + + this->p_psi_init->prepare_init(inp.pw_seed); + + //! If GPU or single precision, allocate a new psi (psi_t). + //! otherwise, transform psi_cpu to psi_t + this->psi_t = inp.device == "gpu" || inp.precision == "single" + ? new psi::Psi(this->psi_cpu[0]) + : reinterpret_cast*>(this->psi_cpu); +} + + +template +void Setup_Psi_pw::update_psi_d() +{ + if (this->psi_d != nullptr && PARAM.inp.precision == "single") + { + delete reinterpret_cast, Device>*>(this->psi_d); + } + + // Refresh this->psi_d + this->psi_d = PARAM.inp.precision == "single" + ? new psi::Psi, Device>(this->psi_t[0]) + : reinterpret_cast, Device>*>(this->psi_t); +} + +template +void Setup_Psi_pw::init(hamilt::Hamilt* p_hamilt) +{ + //! Initialize wave functions + if (!this->already_initpsi) + { + this->p_psi_init->initialize_psi(this->psi_cpu, this->psi_t, p_hamilt, GlobalV::ofs_running); + this->already_initpsi = true; + } +} + + +// Transfer data from GPU to CPU in pw basis +template +void Setup_Psi_pw::copy_d2h(const base_device::AbacusDevice_t &device) +{ + if (device == base_device::GpuDevice) + { + castmem_2d_d2h_op()(this->psi_cpu[0].get_pointer() - this->psi_cpu[0].get_psi_bias(), + this->psi_t[0].get_pointer() - this->psi_t[0].get_psi_bias(), + this->psi_cpu[0].size()); + } + else + { + // do nothing + } + return; +} + + + +template +void Setup_Psi_pw::clean() +{ + if (PARAM.inp.device == "gpu" || PARAM.inp.precision == "single") + { + delete this->psi_t; + } + if (PARAM.inp.precision == "single") + { + delete this->psi_d; + } + + delete this->psi_cpu; + delete this->p_psi_init; +} + +template class Setup_Psi_pw, base_device::DEVICE_CPU>; +template class Setup_Psi_pw, base_device::DEVICE_CPU>; +#if ((defined __CUDA) || (defined __ROCM)) +template class Setup_Psi_pw, base_device::DEVICE_GPU>; +template class Setup_Psi_pw, base_device::DEVICE_GPU>; +#endif diff --git a/source/source_psi/setup_psi_pw.h b/source/source_psi/setup_psi_pw.h new file mode 100644 index 0000000000..99407f67e1 --- /dev/null +++ b/source/source_psi/setup_psi_pw.h @@ -0,0 +1,74 @@ +#ifndef SETUP_PSI_PW_H +#define SETUP_PSI_PW_H + +#include "source_psi/psi_init.h" +#include "source_cell/unitcell.h" +#include "source_cell/klist.h" +#include "source_pw/module_pwdft/structure_factor.h" +#include "source_basis/module_pw/pw_basis_k.h" +#include "source_pw/module_pwdft/VNL_in_pw.h" +#include "source_io/module_parameter/input_parameter.h" +#include "source_base/module_device/device.h" +#include "source_hamilt/hamilt.h" + +template +class Setup_Psi_pw +{ + public: + + Setup_Psi_pw(); + ~Setup_Psi_pw(); + + //------------ + // variables + // psi_cpu, complex on cpu + // psi_t, complex on cpu/gpu + // psi_d, complex on cpu/gpu + //------------ + + // originally, this term is psi + // for PW, we have psi_cpu + psi::Psi, base_device::DEVICE_CPU>* psi_cpu = nullptr; + + // originally, this term is kspw_psi + // if CPU, kspw_psi = psi, otherwise, kspw_psi has a new copy + psi::Psi* psi_t = nullptr; + + // originally, this term is __kspw_psi + psi::Psi, Device>* psi_d = nullptr; + + // psi_initializer controller + psi::PSIInit* p_psi_init = nullptr; + + bool already_initpsi = false; + + //------------ + // functions + //------------ + + void before_runner( + const UnitCell &ucell, + const K_Vectors &kv, + const Structure_Factor &sf, + const ModulePW::PW_Basis_K &pw_wfc, + const pseudopot_cell_vnl &ppcell, + const Input_para &inp); + + void init(hamilt::Hamilt* p_hamilt); + + void update_psi_d(); + + // Transfer data from device to host in pw basis + void copy_d2h(const base_device::AbacusDevice_t &device); + + void clean(); + + private: + + using castmem_2d_d2h_op + = base_device::memory::cast_memory_op, T, base_device::DEVICE_CPU, Device>; + +}; + + +#endif diff --git a/source/source_psi/test/psi_initializer_unit_test.cpp b/source/source_psi/test/psi_initializer_unit_test.cpp index 44d3a6eb9c..0bfad3d371 100644 --- a/source/source_psi/test/psi_initializer_unit_test.cpp +++ b/source/source_psi/test/psi_initializer_unit_test.cpp @@ -80,7 +80,7 @@ InfoNonlocal::~InfoNonlocal() {} #endif Structure_Factor::Structure_Factor() {} Structure_Factor::~Structure_Factor() {} -void Structure_Factor::setup_structure_factor(const UnitCell* Ucell, const Parallel_Grid&, const ModulePW::PW_Basis* rho_basis) {} +void Structure_Factor::setup(const UnitCell* Ucell, const Parallel_Grid&, const ModulePW::PW_Basis* rho_basis) {} std::complex* Structure_Factor::get_sk(int ik, int it, int ia, ModulePW::PW_Basis_K const*wfc_basis) const { int npw = wfc_basis->npwk[ik]; @@ -546,4 +546,4 @@ int main(int argc, char** argv) #endif return result; -} \ No newline at end of file +} diff --git a/source/source_pw/module_ofdft/CMakeLists.txt b/source/source_pw/module_ofdft/CMakeLists.txt index d34ac86492..2b0ff7a363 100644 --- a/source/source_pw/module_ofdft/CMakeLists.txt +++ b/source/source_pw/module_ofdft/CMakeLists.txt @@ -6,6 +6,8 @@ list(APPEND hamilt_ofdft_srcs kedf_lkt.cpp kedf_manager.cpp of_stress_pw.cpp + of_print_info.cpp + evolve_ofdft.cpp ) add_library( @@ -35,4 +37,4 @@ if(ENABLE_MLALGO) if(ENABLE_COVERAGE) add_coverage(hamilt_mlkedf) endif() -endif() \ No newline at end of file +endif() diff --git a/source/source_pw/module_ofdft/evolve_ofdft.cpp b/source/source_pw/module_ofdft/evolve_ofdft.cpp new file mode 100644 index 0000000000..44c0f8b5c6 --- /dev/null +++ b/source/source_pw/module_ofdft/evolve_ofdft.cpp @@ -0,0 +1,383 @@ +#include "evolve_ofdft.h" + +#include "source_io/module_parameter/parameter.h" +#include + +#include "source_base/parallel_reduce.h" + +void Evolve_OFDFT::cal_Hpsi(elecstate::ElecState* pelec, + Charge& chr, + UnitCell& ucell, + std::vector>& psi_, + ModulePW::PW_Basis* pw_rho, + std::vector>& Hpsi) +{ + // update rho +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + chr.rho[is][ir] = abs(psi_[is * pw_rho->nrxx + ir])*abs(psi_[is * pw_rho->nrxx + ir]); + } + } + this->renormalize_psi(chr, pw_rho, psi_); + + pelec->pot->update_from_charge(&chr, &ucell); // Hartree + XC + external + this->cal_tf_potential(chr.rho, pw_rho, pelec->pot->get_eff_v()); // TF potential + if (PARAM.inp.of_cd) + { + this->cal_CD_potential(psi_, pw_rho, pelec->pot->get_eff_v(), PARAM.inp.of_mCD_alpha); // CD potential + } + +#ifdef _OPENMP +#pragma omp parallel for +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + const double* vr_eff = pelec->pot->get_eff_v(is); + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + Hpsi[is * pw_rho->nrxx + ir] = vr_eff[ir]*psi_[is * pw_rho->nrxx + ir]; + } + } + this->cal_vw_potential_phi(psi_, pw_rho, Hpsi); +} + +void Evolve_OFDFT::renormalize_psi(Charge& chr, ModulePW::PW_Basis* pw_rho, std::vector>& pphi_) +{ + const double sr = chr.sum_rho(); + const double normalize_factor = PARAM.inp.nelec / sr; + + std::cout<<"sr="<** rLapPhi = new std::complex*[PARAM.inp.nspin]; +#ifdef _OPENMP +#pragma omp parallel for +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) { + rLapPhi[is] = new std::complex[pw_rho->nrxx]; + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + rLapPhi[is][ir]=pphi[is * pw_rho->nrxx + ir]; + } + } + std::complex** recipPhi = new std::complex*[PARAM.inp.nspin]; + +#ifdef _OPENMP +#pragma omp parallel for +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + recipPhi[is] = new std::complex[pw_rho->npw]; + + pw_rho->real2recip(rLapPhi[is], recipPhi[is]); + for (int ik = 0; ik < pw_rho->npw; ++ik) + { + recipPhi[is][ik] *= pw_rho->gg[ik] * pw_rho->tpiba2; + } + pw_rho->recip2real(recipPhi[is], rLapPhi[is]); + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + Hpsi[is * pw_rho->nrxx + ir] += rLapPhi[is][ir]; + } + } + +#ifdef _OPENMP +#pragma omp parallel for +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + delete[] recipPhi[is]; + delete[] rLapPhi[is]; + } + delete[] recipPhi; + delete[] rLapPhi; +} + +void Evolve_OFDFT::cal_CD_potential(std::vector>& psi_, + ModulePW::PW_Basis* pw_rho, + ModuleBase::matrix& rpot, + double mCD_para) +{ + std::complex imag(0.0,1.0); + + if (PARAM.inp.nspin <= 0) { + ModuleBase::WARNING_QUIT("Evolve_OFDFT","nspin must be positive"); + } + std::complex** recipPhi = new std::complex*[PARAM.inp.nspin]; + std::complex** rPhi = new std::complex*[PARAM.inp.nspin]; +#ifdef _OPENMP +#pragma omp parallel for +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) { + rPhi[is] = new std::complex[pw_rho->nrxx]; + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + rPhi[is][ir]=psi_[is * pw_rho->nrxx + ir]; + } + } + +#ifdef _OPENMP +#pragma omp parallel for +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + std::vector> recipCurrent_x(pw_rho->npw); + std::vector> recipCurrent_y(pw_rho->npw); + std::vector> recipCurrent_z(pw_rho->npw); + std::vector> recipCDPotential(pw_rho->npw); + std::vector> rCurrent_x(pw_rho->nrxx); + std::vector> rCurrent_y(pw_rho->nrxx); + std::vector> rCurrent_z(pw_rho->nrxx); + std::vector> kF_r(pw_rho->nrxx); + std::vector> rCDPotential(pw_rho->nrxx); + recipPhi[is] = new std::complex[pw_rho->npw]; + + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + kF_r[ir]=std::pow(3*std::pow(ModuleBase::PI*std::abs(rPhi[is][ir]),2),1.0/3.0); + } + + pw_rho->real2recip(rPhi[is], recipPhi[is]); + for (int ik = 0; ik < pw_rho->npw; ++ik) + { + recipCurrent_x[ik]=imag*pw_rho->gcar[ik].x*recipPhi[is][ik]* pw_rho->tpiba; + recipCurrent_y[ik]=imag*pw_rho->gcar[ik].y*recipPhi[is][ik]* pw_rho->tpiba; + recipCurrent_z[ik]=imag*pw_rho->gcar[ik].z*recipPhi[is][ik]* pw_rho->tpiba; + } + pw_rho->recip2real(recipCurrent_x.data(),rCurrent_x.data()); + pw_rho->recip2real(recipCurrent_y.data(),rCurrent_y.data()); + pw_rho->recip2real(recipCurrent_z.data(),rCurrent_z.data()); + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + rCurrent_x[ir]=std::imag(rCurrent_x[ir]*std::conj(rPhi[is][ir])); + rCurrent_y[ir]=std::imag(rCurrent_y[ir]*std::conj(rPhi[is][ir])); + rCurrent_z[ir]=std::imag(rCurrent_z[ir]*std::conj(rPhi[is][ir])); + } + pw_rho->real2recip(rCurrent_x.data(),recipCurrent_x.data()); + pw_rho->real2recip(rCurrent_y.data(),recipCurrent_y.data()); + pw_rho->real2recip(rCurrent_z.data(),recipCurrent_z.data()); + for (int ik = 0; ik < pw_rho->npw; ++ik) + { + recipCDPotential[ik]=recipCurrent_x[ik]*pw_rho->gcar[ik].x+recipCurrent_y[ik]*pw_rho->gcar[ik].y+recipCurrent_z[ik]*pw_rho->gcar[ik].z; + if (pw_rho->gg[ik]==0) + { + recipCDPotential[ik]=0.0; + } + else + { + recipCDPotential[ik]*=imag/sqrt(pw_rho->gg[ik]); + } + } + pw_rho->recip2real(recipCDPotential.data(),rCDPotential.data()); + + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + rpot(0, ir) -= mCD_para*2.0*std::real(rCDPotential[ir])*std::pow(ModuleBase::PI,3) / (2.0*std::pow(std::real(kF_r[ir]),2)); + if (isnan(rpot(0, ir))) + { + rpot(0, ir)=0.0; + } + } + } + +#ifdef _OPENMP +#pragma omp parallel for +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + delete[] recipPhi[is]; + delete[] rPhi[is]; + } + delete[] recipPhi; + delete[] rPhi; +} + +void Evolve_OFDFT::propagate_psi_RK4(elecstate::ElecState* pelec, + Charge& chr, + UnitCell& ucell, + std::vector>& pphi_, + ModulePW::PW_Basis* pw_rho) +{ + ModuleBase::timer::tick("ESolver_OF_TDDFT", "propagate_psi_RK4"); + + std::complex imag(0.0,1.0); + double dt=PARAM.inp.mdp.md_dt / ModuleBase::AU_to_FS; + const int nspin = PARAM.inp.nspin; + const int nrxx = pw_rho->nrxx; + const int total_size = nspin * nrxx; + std::vector> K1(total_size); + std::vector> K2(total_size); + std::vector> K3(total_size); + std::vector> K4(total_size); + std::vector> psi1(total_size); + std::vector> psi2(total_size); + std::vector> psi3(total_size); + + cal_Hpsi(pelec,chr,ucell,pphi_,pw_rho,K1); +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is){ + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + K1[is * nrxx + ir]=-0.5*K1[is * nrxx + ir]*dt*imag; // 0.5 convert Ry to Hartree + psi1[is * nrxx + ir]=pphi_[is * nrxx + ir]+0.5*K1[is * nrxx + ir]; + } + } + cal_Hpsi(pelec,chr,ucell,psi1,pw_rho,K2); +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is){ + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + K2[is * nrxx + ir]=-0.5*K2[is * nrxx + ir]*dt*imag; + psi2[is * nrxx + ir]=pphi_[is * nrxx + ir]+0.5*K2[is * nrxx + ir]; + } + } + cal_Hpsi(pelec,chr,ucell,psi2,pw_rho,K3); +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is){ + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + K3[is * nrxx + ir]=-0.5*K3[is * nrxx + ir]*dt*imag; + psi3[is * nrxx + ir]=pphi_[is * nrxx + ir]+K3[is * nrxx + ir]; + } + } + cal_Hpsi(pelec,chr,ucell,psi3,pw_rho,K4); +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is){ + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + K4[is * nrxx + ir]=-0.5*K4[is * nrxx + ir]*dt*imag; + pphi_[is * nrxx + ir]+=1.0/6.0*(K1[is * nrxx + ir]+2.0*K2[is * nrxx + ir]+2.0*K3[is * nrxx + ir]+K4[is * nrxx + ir]); + } + } + +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < PARAM.inp.nspin; ++is) + { + for (int ir = 0; ir < pw_rho->nrxx; ++ir) + { + chr.rho[is][ir] = abs(pphi_[is * pw_rho->nrxx + ir])*abs(pphi_[is * pw_rho->nrxx + ir]); + } + } + this->renormalize_psi(chr, pw_rho, pphi_); + + ModuleBase::timer::tick("ESolver_OF_TDDFT", "propagate_psi_RK4"); +} + +void Evolve_OFDFT::propagate_psi_RK2(elecstate::ElecState* pelec, + Charge& chr, + UnitCell& ucell, + std::vector>& pphi_, + ModulePW::PW_Basis* pw_rho) +{ + ModuleBase::timer::tick("ESolver_OF_TDDFT", "propagate_psi_RK2"); + + const std::complex imag(0.0, 1.0); + double dt=PARAM.inp.mdp.md_dt / ModuleBase::AU_to_FS; + const int nspin = PARAM.inp.nspin; + const int nrxx = pw_rho->nrxx; + const int total_size = nspin * nrxx; + + std::vector> K1(total_size); + std::vector> K2(total_size); + std::vector> psi_mid(total_size); + + cal_Hpsi(pelec, chr, ucell, pphi_, pw_rho, K1); + +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < nspin; ++is) { + for (int ir = 0; ir < nrxx; ++ir) { + const int idx = is * nrxx + ir; + K1[idx] = -0.5 * K1[idx] * dt * imag; + psi_mid[idx] = pphi_[idx] + 0.5 * K1[idx]; + } + } + + cal_Hpsi(pelec, chr, ucell, psi_mid, pw_rho, K2); + +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < nspin; ++is) { + for (int ir = 0; ir < nrxx; ++ir) { + const int idx = is * nrxx + ir; + K2[idx] = -0.5 * K2[idx] * dt * imag; + pphi_[idx] += K2[idx]; + } + } + +#ifdef _OPENMP +#pragma omp parallel for collapse(2) +#endif + for (int is = 0; is < nspin; ++is) { + for (int ir = 0; ir < nrxx; ++ir) { + chr.rho[is][ir] = std::norm(pphi_[is * nrxx + ir]); + } + } + + this->renormalize_psi(chr, pw_rho, pphi_); + + ModuleBase::timer::tick("ESolver_OF_TDDFT", "propagate_psi_RK2"); +} diff --git a/source/source_pw/module_ofdft/evolve_ofdft.h b/source/source_pw/module_ofdft/evolve_ofdft.h new file mode 100644 index 0000000000..8d592a56a4 --- /dev/null +++ b/source/source_pw/module_ofdft/evolve_ofdft.h @@ -0,0 +1,64 @@ +#ifndef Evolve_OFDFT_H +#define Evolve_OFDFT_H +#include +#include + +#include "source_base/global_function.h" +#include "source_base/global_variable.h" +#include "source_base/matrix.h" +#include "source_base/timer.h" +#include "source_basis/module_pw/pw_basis.h" +#include "source_estate/elecstate.h" // electronic states +#include "source_estate/module_charge/charge.h" + +/** + * @brief TDOFDFT + * @author liyuanbo on 2025-09 + */ +class Evolve_OFDFT +{ + public: + Evolve_OFDFT() + { + } + ~Evolve_OFDFT() + { + } + void propagate_psi_RK4(elecstate::ElecState* pelec, + Charge& chr, + UnitCell& ucell, + std::vector>& pphi_, + ModulePW::PW_Basis* pw_rho); + + void propagate_psi_RK2(elecstate::ElecState* pelec, + Charge& chr, + UnitCell& ucell, + std::vector>& pphi_, + ModulePW::PW_Basis* pw_rho); + + void renormalize_psi(Charge& chr, ModulePW::PW_Basis* pw_rho, std::vector>& pphi_); + + private: + const double c_tf_ + = 3.0 / 10.0 * std::pow(3 * std::pow(M_PI, 2.0), 2.0 / 3.0) + * 2; // 10/3*(3*pi^2)^{2/3}, multiply by 2 to convert unit from Hartree to Ry, finally in Ry*Bohr^(-2) + + void cal_Hpsi(elecstate::ElecState* pelec, + Charge& chr, + UnitCell& ucell, + std::vector>& psi_, + ModulePW::PW_Basis* pw_rho, + std::vector>& Hpsi); + void cal_tf_potential(const double* const* prho, + ModulePW::PW_Basis* pw_rho, + ModuleBase::matrix& rpot); + void cal_vw_potential_phi(std::vector>& pphi, + ModulePW::PW_Basis* pw_rho, + std::vector>& Hpsi); // -1/2 \nabla^2 \phi + void cal_CD_potential(std::vector>& psi_, + ModulePW::PW_Basis* pw_rho, + ModuleBase::matrix& rpot, + double mCD_para); + +}; +#endif \ No newline at end of file diff --git a/source/source_pw/module_ofdft/kedf_ml.cpp b/source/source_pw/module_ofdft/kedf_ml.cpp index b50209c165..02577b01ee 100644 --- a/source/source_pw/module_ofdft/kedf_ml.cpp +++ b/source/source_pw/module_ofdft/kedf_ml.cpp @@ -328,15 +328,24 @@ void KEDF_ML::NN_forward(const double * const * prho, ModulePW::PW_Basis *pw_rho void KEDF_ML::loadVector(std::string filename, std::vector &data) { - std::vector cshape = {(long unsigned) this->cal_tool->nx}; - bool fortran_order = false; - npy::LoadArrayFromNumpy(filename, cshape, fortran_order, data); + npy::npy_data d = npy::read_npy(filename); + data = d.data; + // ========== For old version of npy.hpp ========== + // std::vector cshape = {(long unsigned) this->cal_tool->nx}; + // bool fortran_order = false; + // npy::LoadArrayFromNumpy(filename, cshape, fortran_order, data); } void KEDF_ML::dumpVector(std::string filename, const std::vector &data) { - const long unsigned cshape[] = {(long unsigned) this->cal_tool->nx}; // shape - npy::SaveArrayAsNumpy(filename, false, 1, cshape, data); + npy::npy_data_ptr d; + d.data_ptr = data.data(); + d.shape = {(long unsigned) this->cal_tool->nx}; + d.fortran_order = false; // optional + npy::write_npy(filename, d); + // ========== For old version of npy.hpp ========== + // const long unsigned cshape[] = {(long unsigned) this->cal_tool->nx}; // shape + // npy::SaveArrayAsNumpy(filename, false, 1, cshape, data); } /** diff --git a/source/source_pw/module_ofdft/ml_tools/data.cpp b/source/source_pw/module_ofdft/ml_tools/data.cpp index cd6585bf25..ed3e570b8c 100644 --- a/source/source_pw/module_ofdft/ml_tools/data.cpp +++ b/source/source_pw/module_ofdft/ml_tools/data.cpp @@ -208,7 +208,7 @@ void Data::init_data(const int nkernel, const int ndata, const int fftdim, const if (this->load_tanhxi[ik]){ this->tanhxi[ik] = torch::zeros({ndata, fftdim, fftdim, fftdim}).to(device); } - if (this->load_tanhxi_nl[ik{ + if (this->load_tanhxi_nl[ik]){ this->tanhxi_nl[ik] = torch::zeros({ndata, fftdim, fftdim, fftdim}).to(device); } if (this->load_tanh_pnl[ik]){ @@ -319,7 +319,16 @@ void Data::load_data_( enhancement.resize_({this->nx_tot, 1}); pauli.resize_({nx_tot, 1}); - this->tau_tf = this->cTF * torch::pow(this->rho, 5./3.); + if (input.energy_type == "kedf") + { + this->tau_exp = 5. / 3.; + this->tau_lda = this->cTF * torch::pow(this->rho, this->tau_exp); + } + else if (input.energy_type == "exx") + { + this->tau_exp = 4. / 3.; + this->tau_lda = this->cDirac * torch::pow(this->rho, this->tau_exp); + } // Input::print("load_data done"); } diff --git a/source/source_pw/module_ofdft/ml_tools/data.h b/source/source_pw/module_ofdft/ml_tools/data.h index e6bb6f2a6d..cf3797ab86 100644 --- a/source/source_pw/module_ofdft/ml_tools/data.h +++ b/source/source_pw/module_ofdft/ml_tools/data.h @@ -17,7 +17,7 @@ class Data // =========== data =========== torch::Tensor rho; torch::Tensor nablaRho; - torch::Tensor tau_tf; + torch::Tensor tau_lda; // energy density of LDA, i.e. TF for KEDF, Dirac term for EXX // semi-local descriptors torch::Tensor gamma; torch::Tensor p; @@ -67,7 +67,9 @@ class Data void init_data(const int nkernel, const int ndata, const int fftdim, const torch::Device device); void load_data_(Input &input, const int ndata, const int fftdim, std::string *dir); - const double cTF = 3.0/10.0 * std::pow(3*std::pow(M_PI, 2.0), 2.0/3.0) * 2; // 10/3*(3*pi^2)^{2/3}, multiply by 2 to convert unit from Hartree to Ry, finally in Ry*Bohr^(-2) + const double cTF = 3. /10. * std::pow(3. * std::pow(M_PI, 2.), 2. / 3.) * 2.; // 10/3*(3*pi^2)^{2/3}, multiply by 2 to convert unit from Hartree to Ry, finally in Ry*Bohr^(-2) + const double cDirac = - 3. /4. * std::pow(3. / M_PI, 1./3.) * 2.; // -3/4*(3/pi)^{1/3}, multiply by 2 to convert unit from Hartree to Ry, finally in Ry*Bohr^(-2) + double tau_exp = 5. / 3.; // 5/3 for TF KEDF, and 4/3 for Dirac term public: void loadTensor(std::string file, diff --git a/source/source_pw/module_ofdft/ml_tools/input.cpp b/source/source_pw/module_ofdft/ml_tools/input.cpp index aadb1ecc02..1b1d2ffaee 100644 --- a/source/source_pw/module_ofdft/ml_tools/input.cpp +++ b/source/source_pw/module_ofdft/ml_tools/input.cpp @@ -277,6 +277,10 @@ void Input::readInput() { this->read_value(ifs, this->device_type); } + else if (strcmp("energy_type", word) == 0) + { + this->read_value(ifs, this->energy_type); + } } std::cout << "Read nnINPUT done" << std::endl; diff --git a/source/source_pw/module_ofdft/ml_tools/input.h b/source/source_pw/module_ofdft/ml_tools/input.h index 715b4c6064..e456c2b38a 100644 --- a/source/source_pw/module_ofdft/ml_tools/input.h +++ b/source/source_pw/module_ofdft/ml_tools/input.h @@ -73,6 +73,7 @@ class Input double lr_end = 1e-4; int lr_fre = 5000; double exponent = 5.; // exponent of weight rho^{exponent/3.} + std::string energy_type = "kedf"; // kedf or exx // output int dump_fre = 1; diff --git a/source/source_pw/module_ofdft/ml_tools/pauli_potential.cpp b/source/source_pw/module_ofdft/ml_tools/pauli_potential.cpp index 544beef8d9..aee2e35207 100644 --- a/source/source_pw/module_ofdft/ml_tools/pauli_potential.cpp +++ b/source/source_pw/module_ofdft/ml_tools/pauli_potential.cpp @@ -62,6 +62,17 @@ void PauliPotential::init(const Input &input, this->ml_tanh_qnl = this->descriptor2index["tanh_qnl"].size() > 0; this->ml_tanhp_nl = this->descriptor2index["tanhp_nl"].size() > 0; this->ml_tanhq_nl = this->descriptor2index["tanhq_nl"].size() > 0; + + if (input.energy_type == "kedf") + { + this->cLDA = this->cTF; + this->tau_exp = 5. / 3.; + } + else if (input.energy_type == "exx") + { + this->cLDA = this->cDirac; + this->tau_exp = 4. / 3.; + } } torch::Tensor PauliPotential::get_potential(const int istru, @@ -73,7 +84,7 @@ torch::Tensor PauliPotential::get_potential(const int istru, { // Input::print("get potential begin"); this->istru = istru; - torch::Tensor potential = 5. / 3. * F; + torch::Tensor potential = F * this->tau_exp; // semi-local potential terms if (this->ml_gamma) { @@ -97,18 +108,18 @@ torch::Tensor PauliPotential::get_potential(const int istru, if (this->ml_tanhq) { potential += this->potTanhqTerm1(data.q[istru], data.tanhq[istru], gradient); } - potential *= data.tau_tf[istru] / data.rho[istru]; + potential *= data.tau_lda[istru] / data.rho[istru]; // non-local potential terms if (this->ml_gammanl) { - potential += this->potGammanlTerm(data.rho[istru], data.gamma[istru], kernels, data.tau_tf[istru], gradient); + potential += this->potGammanlTerm(data.rho[istru], data.gamma[istru], kernels, data.tau_lda[istru], gradient); } if (this->ml_p || this->ml_pnl) { potential += this->potPPnlTerm(data.rho[istru], data.nablaRho[istru], data.p[istru], kernels, - data.tau_tf[istru], + data.tau_lda[istru], gradient, grid.fft_grid[istru]); } @@ -116,19 +127,19 @@ torch::Tensor PauliPotential::get_potential(const int istru, potential += this->potQQnlTerm(data.rho[istru], data.q[istru], kernels, - data.tau_tf[istru], + data.tau_lda[istru], gradient, grid.fft_gg[istru]); } if (this->ml_xi) { - potential += this->potXinlTerm(data.rho[istru], kernels, data.tau_tf[istru], gradient); + potential += this->potXinlTerm(data.rho[istru], kernels, data.tau_lda[istru], gradient); } if (this->ml_tanhxi) { - potential += this->potTanhxinlTerm(data.rho[istru], data.tanhxi, kernels, data.tau_tf[istru], gradient); + potential += this->potTanhxinlTerm(data.rho[istru], data.tanhxi, kernels, data.tau_lda[istru], gradient); } if (this->ml_tanhxi_nl) { potential - += this->potTanhxi_nlTerm(data.rho[istru], data.xi, data.tanhxi, kernels, data.tau_tf[istru], gradient); + += this->potTanhxi_nlTerm(data.rho[istru], data.xi, data.tanhxi, kernels, data.tau_lda[istru], gradient); } if ((this->ml_tanhp || this->ml_tanhp_nl) && !this->ml_tanh_pnl) { potential += this->potTanhpTanhp_nlTerm(data.rho[istru], @@ -136,7 +147,7 @@ torch::Tensor PauliPotential::get_potential(const int istru, data.p[istru], data.tanhp[istru], kernels, - data.tau_tf[istru], + data.tau_lda[istru], gradient, grid.fft_grid[istru]); } @@ -145,7 +156,7 @@ torch::Tensor PauliPotential::get_potential(const int istru, data.q[istru], data.tanhq[istru], kernels, - data.tau_tf[istru], + data.tau_lda[istru], gradient, grid.fft_gg[istru]); } @@ -156,7 +167,7 @@ torch::Tensor PauliPotential::get_potential(const int istru, data.tanhp[istru], data.tanh_pnl, kernels, - data.tau_tf[istru], + data.tau_lda[istru], gradient, grid.fft_grid[istru]); } @@ -166,7 +177,7 @@ torch::Tensor PauliPotential::get_potential(const int istru, data.tanhq[istru], data.tanh_qnl, kernels, - data.tau_tf[istru], + data.tau_lda[istru], gradient, grid.fft_gg[istru]); } @@ -203,7 +214,7 @@ torch::Tensor PauliPotential::potGammanlTerm(const torch::Tensor &rho, const torch::Tensor &gamma, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient) { // std::cout << "potGmmamnlTerm" << std::endl; @@ -216,7 +227,7 @@ torch::Tensor PauliPotential::potGammanlTerm(const torch::Tensor &rho, * torch::real( torch::fft::ifftn(torch::fft::fftn(gradient.index({"...", d2i}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * tauTF) + * tauLDA) * kernels[d2k].kernel[istru])); } return result; @@ -227,7 +238,7 @@ torch::Tensor PauliPotential::potPPnlTerm(const torch::Tensor &rho, const torch::Tensor &p, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const std::vector &grid) { @@ -240,17 +251,17 @@ torch::Tensor PauliPotential::potPPnlTerm(const torch::Tensor &rho, dFdpnl_nl += torch::real(torch::fft::ifftn(torch::fft::fftn(gradient.index({"...", d2i}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * tauTF) + * tauLDA) * kernels[d2k].kernel[istru])); } torch::Tensor temp = torch::zeros_like(nablaRho); for (int i = 0; i < 3; ++i) { - temp[i] = (this->ml_p) ? -3. / 20. + temp[i] = (this->ml_p) ? - this->pqcoef * 2. * gradient.index({"...", this->descriptor2index["p"][0]}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * nablaRho[i] / rho * /*Ha to Ry*/ 2. + * nablaRho[i] * tauLDA / torch::pow(rho, 8. / 3.) : torch::zeros_like(nablaRho[i]); if (this->ml_pnl) { temp[i] += -this->pqcoef * 2. * nablaRho[i] / torch::pow(rho, 8. / 3.) * dFdpnl_nl; @@ -272,7 +283,7 @@ torch::Tensor PauliPotential::potQQnlTerm(const torch::Tensor &rho, const torch::Tensor &q, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const torch::Tensor &gg) { @@ -285,14 +296,14 @@ torch::Tensor PauliPotential::potQQnlTerm(const torch::Tensor &rho, dFdqnl_nl = torch::real(torch::fft::ifftn(torch::fft::fftn(gradient.index({"...", d2i}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * tauTF) + * tauLDA) * kernels[d2k].kernel[istru])); } - torch::Tensor temp = (this->ml_q) ? 3. / 40. + torch::Tensor temp = (this->ml_q) ? this->pqcoef * gradient.index({"...", this->descriptor2index["q"][0]}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * /*Ha2Ry*/ 2. + * tauLDA / torch::pow(rho, 5. / 3.) : torch::zeros_like(q); if (this->ml_qnl) { temp += this->pqcoef / torch::pow(rho, 5. / 3.) * dFdqnl_nl; @@ -358,7 +369,7 @@ torch::Tensor PauliPotential::potTanhqTerm1(const torch::Tensor &q, torch::Tensor PauliPotential::potXinlTerm(const torch::Tensor &rho, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient) { torch::Tensor result = torch::zeros_like(rho); @@ -370,7 +381,7 @@ torch::Tensor PauliPotential::potXinlTerm(const torch::Tensor &rho, * torch::real( torch::fft::ifftn(torch::fft::fftn(gradient.index({"...", d2i}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * tauTF * torch::pow(rho, -1. / 3.)) + * tauLDA * torch::pow(rho, -1. / 3.)) * kernels[d2k].kernel[istru])); } return result; @@ -380,7 +391,7 @@ torch::Tensor PauliPotential::potTanhxinlTerm(const torch::Tensor &rho, const std::vector &tanhxi, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient) { torch::Tensor result = torch::zeros_like(rho); @@ -392,7 +403,7 @@ torch::Tensor PauliPotential::potTanhxinlTerm(const torch::Tensor &rho, result += 1. / 3. * torch::pow(rho, -2. / 3.) * torch::real(torch::fft::ifftn( torch::fft::fftn(gradient.index({"...", d2i}).reshape({this->fftdim, this->fftdim, this->fftdim}) - * this->dtanh(tanhxi[d2k][istru], this->chi_xi[d2k]) * tauTF + * this->dtanh(tanhxi[d2k][istru], this->chi_xi[d2k]) * tauLDA * torch::pow(rho, -1. / 3.)) * kernels[d2k].kernel[istru])); } @@ -404,7 +415,7 @@ torch::Tensor PauliPotential::potTanhxi_nlTerm(const torch::Tensor &rho, const std::vector &tanhxi, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient) { torch::Tensor result = torch::zeros_like(rho); @@ -414,7 +425,7 @@ torch::Tensor PauliPotential::potTanhxi_nlTerm(const torch::Tensor &rho, int d2i = this->descriptor2index["tanhxi_nl"][ik]; torch::Tensor dFdxi = torch::real(torch::fft::ifftn( - torch::fft::fftn(tauTF + torch::fft::fftn(tauLDA * gradient.index({"...", d2i}).reshape({this->fftdim, this->fftdim, this->fftdim})) * kernels[d2k].kernel[istru])) * this->dtanh(tanhxi[d2k][istru], this->chi_xi[d2k]) * torch::pow(rho, -1. / 3.); @@ -435,7 +446,7 @@ torch::Tensor PauliPotential::potTanhpTanh_pnlTerm(const torch::Tensor &rho, const std::vector &tanh_pnl, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const std::vector &grid) { @@ -448,17 +459,17 @@ torch::Tensor PauliPotential::potTanhpTanh_pnlTerm(const torch::Tensor &rho, torch::fft::fftn(gradient.index({"...", d2i}) .reshape({this->fftdim, this->fftdim, this->fftdim}) * this->dtanh(tanh_pnl[d2k][istru], this->chi_pnl[d2k]) - * tauTF) + * tauLDA) * kernels[d2k].kernel[istru])); } torch::Tensor temp = torch::zeros_like(nablaRho); for (int i = 0; i < 3; ++i) { - temp[i] = (this->ml_tanhp) ? -3. / 20. + temp[i] = (this->ml_tanhp) ? - this->pqcoef * 2. * gradient.index({"...", this->descriptor2index["tanhp"][0]}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * this->dtanh(tanhp, this->chi_p) * nablaRho[i] / rho * /*Ha to Ry*/ 2. + * this->dtanh(tanhp, this->chi_p) * nablaRho[i] * tauLDA / torch::pow(rho, 8./3.) : torch::zeros_like(nablaRho[i]); if (this->ml_tanh_pnl) { temp[i] += -this->pqcoef * 2. * nablaRho[i] / torch::pow(rho, 8. / 3.) * dFdpnl_nl; @@ -479,7 +490,7 @@ torch::Tensor PauliPotential::potTanhqTanh_qnlTerm(const torch::Tensor &rho, const std::vector &tanh_qnl, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const torch::Tensor &gg) { @@ -492,14 +503,14 @@ torch::Tensor PauliPotential::potTanhqTanh_qnlTerm(const torch::Tensor &rho, torch::fft::fftn(gradient.index({"...", d2i}) .reshape({this->fftdim, this->fftdim, this->fftdim}) * this->dtanh(tanh_qnl[d2k][istru], this->chi_qnl[d2k]) - * tauTF) + * tauLDA) * kernels[d2k].kernel[istru])); } - torch::Tensor temp = (this->ml_tanhq) ? 3. / 40. + torch::Tensor temp = (this->ml_tanhq) ? this->pqcoef * gradient.index({"...", this->descriptor2index["tanhq"][0]}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * this->dtanh(tanhq, this->chi_q) * /*Ha2Ry*/ 2. + * this->dtanh(tanhq, this->chi_q) * tauLDA / torch::pow(rho, 5. / 3.) : torch::zeros_like(q); if (this->ml_tanh_qnl) { temp += this->pqcoef / torch::pow(rho, 5. / 3.) * dFdqnl_nl; @@ -519,7 +530,7 @@ torch::Tensor PauliPotential::potTanhpTanhp_nlTerm(const torch::Tensor &rho, const torch::Tensor &tanhp, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const std::vector &grid) { @@ -531,7 +542,7 @@ torch::Tensor PauliPotential::potTanhpTanhp_nlTerm(const torch::Tensor &rho, dFdpnl_nl += torch::real(torch::fft::ifftn( torch::fft::fftn(gradient.index({"...", d2i}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * tauTF) + * tauLDA) * kernels[d2k].kernel[istru])) * this->dtanh(tanhp, this->chi_p); } @@ -539,10 +550,10 @@ torch::Tensor PauliPotential::potTanhpTanhp_nlTerm(const torch::Tensor &rho, torch::Tensor temp = torch::zeros_like(nablaRho); for (int i = 0; i < 3; ++i) { - temp[i] = (this->ml_tanhp) ? -3. / 20. + temp[i] = (this->ml_tanhp) ? - this->pqcoef * 2. * gradient.index({"...", this->descriptor2index["tanhp"][0]}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * this->dtanh(tanhp, this->chi_p) * nablaRho[i] / rho * /*Ha to Ry*/ 2. + * this->dtanh(tanhp, this->chi_p) * nablaRho[i] * tauLDA / torch::pow(rho, 8. / 3.) : torch::zeros_like(nablaRho[i]); if (this->ml_tanhp_nl) { temp[i] += -this->pqcoef * 2. * nablaRho[i] / torch::pow(rho, 8. / 3.) * dFdpnl_nl; @@ -562,7 +573,7 @@ torch::Tensor PauliPotential::potTanhqTanhq_nlTerm(const torch::Tensor &rho, const torch::Tensor &tanhq, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const torch::Tensor &gg) { @@ -574,15 +585,15 @@ torch::Tensor PauliPotential::potTanhqTanhq_nlTerm(const torch::Tensor &rho, dFdqnl_nl += torch::real(torch::fft::ifftn( torch::fft::fftn(gradient.index({"...", d2i}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * tauTF) + * tauLDA) * kernels[d2k].kernel[istru])) * this->dtanh(tanhq, this->chi_q); } - torch::Tensor temp = (this->ml_tanhq) ? 3. / 40. + torch::Tensor temp = (this->ml_tanhq) ? this->pqcoef * gradient.index({"...", this->descriptor2index["tanhq"][0]}) .reshape({this->fftdim, this->fftdim, this->fftdim}) - * this->dtanh(tanhq, this->chi_q) * /*Ha2Ry*/ 2. + * this->dtanh(tanhq, this->chi_q) * tauLDA / torch::pow(rho, 5. / 3.) : torch::zeros_like(q); if (this->ml_tanhq_nl) { temp += this->pqcoef / torch::pow(rho, 5. / 3.) * dFdqnl_nl; diff --git a/source/source_pw/module_ofdft/ml_tools/pauli_potential.h b/source/source_pw/module_ofdft/ml_tools/pauli_potential.h index d5bd9b9c06..780f3d8d1e 100644 --- a/source/source_pw/module_ofdft/ml_tools/pauli_potential.h +++ b/source/source_pw/module_ofdft/ml_tools/pauli_potential.h @@ -69,7 +69,7 @@ class PauliPotential{ const torch::Tensor &gamma, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient ); torch::Tensor potPPnlTerm( @@ -78,7 +78,7 @@ class PauliPotential{ const torch::Tensor &p, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const std::vector &grid ); @@ -87,7 +87,7 @@ class PauliPotential{ const torch::Tensor &q, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const torch::Tensor &gg ); @@ -118,7 +118,7 @@ class PauliPotential{ const torch::Tensor &rho, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient ); torch::Tensor potTanhxinlTerm( @@ -126,7 +126,7 @@ class PauliPotential{ const std::vector &tanhxi, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient ); torch::Tensor potTanhxi_nlTerm( @@ -135,7 +135,7 @@ class PauliPotential{ const std::vector &tanhxi, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient ); torch::Tensor potTanhpTanh_pnlTerm( @@ -146,7 +146,7 @@ class PauliPotential{ const std::vector &tanh_pnl, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const std::vector &grid ); @@ -157,7 +157,7 @@ class PauliPotential{ const std::vector &tanh_qnl, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const torch::Tensor &gg ); @@ -168,7 +168,7 @@ class PauliPotential{ const torch::Tensor &tanhp, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const std::vector &grid ); @@ -178,7 +178,7 @@ class PauliPotential{ const torch::Tensor &tanhq, const Kernel *kernels, // const torch::Tensor &kernel, - const torch::Tensor &tauTF, + const torch::Tensor &tauLDA, const torch::Tensor &gradient, const torch::Tensor &gg ); @@ -198,6 +198,9 @@ class PauliPotential{ ); const double cTF = 3.0/10.0 * std::pow(3*std::pow(M_PI, 2.0), 2.0/3.0) * 2; // 10/3*(3*pi^2)^{2/3}, multiply by 2 to convert unit from Hartree to Ry, finally in Ry*Bohr^(-2) + const double cDirac = - 3. /4. * std::pow(3. / M_PI, 1./3.) * 2.; // -3/4*(3/pi)^{1/3}, multiply by 2 to convert unit from Hartree to Ry, finally in Ry*Bohr^(-2) + double cLDA = cTF; + double tau_exp = 5. / 3.; const double pqcoef = 1.0 / (4.0 * std::pow(3*std::pow(M_PI, 2.0), 2.0/3.0)); // coefficient of p and q }; #endif \ No newline at end of file diff --git a/source/source_pw/module_ofdft/of_print_info.cpp b/source/source_pw/module_ofdft/of_print_info.cpp new file mode 100644 index 0000000000..bdfb72133d --- /dev/null +++ b/source/source_pw/module_ofdft/of_print_info.cpp @@ -0,0 +1,144 @@ +#include "source_pw/module_ofdft/of_print_info.h" +#include "source_estate/module_pot/efield.h" +#include "source_estate/module_pot/gatefield.h" +#include "source_base/formatter.h" + +/** + * @brief Print nessecary information to the screen, + * and write the components of the total energy into running_log. + */ +void OFDFT::print_info(const int iter, + #ifdef __MPI + double &iter_time, + #else + std::chrono::system_clock::time_point &iter_time, + #endif + const double &energy_current, + const double &energy_last, + const double &normdLdphi, + const elecstate::ElecState *pelec, + KEDF_Manager *kedf_manager, + const bool conv_esolver) +{ + if (iter == 0) + { + std::cout << " ============================= Running OFDFT " + "==============================" + << std::endl; + std::cout << " ITER ETOT/eV EDIFF/eV EFERMI/eV POTNORM TIME/s" + << std::endl; + } + + std::map prefix_map = { + {"cg1", "CG"}, + {"cg2", "CG"}, + {"tn", "TN"} + }; + std::string iteration = prefix_map[PARAM.inp.of_method] + std::to_string(iter); +#ifdef __MPI + double duration = (double)(MPI_Wtime() - iter_time); +#else + double duration + = (std::chrono::duration_cast(std::chrono::system_clock::now() - iter_time)).count() + / static_cast(1e6); +#endif + std::cout << " " << std::setw(8) << iteration + << std::setw(18) << std::scientific << std::setprecision(8) << energy_current * ModuleBase::Ry_to_eV + << std::setw(18) << (energy_current - energy_last) * ModuleBase::Ry_to_eV + << std::setw(13) << std::setprecision(4) << pelec->eferm.get_efval(0) * ModuleBase::Ry_to_eV + << std::setw(13) << std::setprecision(4) << normdLdphi + << std::setw(6) << std::fixed << std::setprecision(2) << duration << std::endl; + + GlobalV::ofs_running << std::setprecision(12); + GlobalV::ofs_running << std::setiosflags(std::ios::right); + + GlobalV::ofs_running << "\nIter" << iter << ": the norm of potential is " << normdLdphi << std::endl; + + std::vector titles; + std::vector energies_Ry; + std::vector energies_eV; + if ((PARAM.inp.out_band[0] > 0 && + ((iter + 1) % PARAM.inp.out_band[0] == 0 || + conv_esolver || + iter == PARAM.inp.scf_nmax)) || + PARAM.inp.init_chg == "file") + { + titles.push_back("E_Total"); + energies_Ry.push_back(pelec->f_en.etot); + titles.push_back("E_Kinetic"); + energies_Ry.push_back(pelec->f_en.ekinetic); + titles.push_back("E_Hartree"); + energies_Ry.push_back(pelec->f_en.hartree_energy); + titles.push_back("E_xc"); + energies_Ry.push_back(pelec->f_en.etxc - pelec->f_en.etxcc); + titles.push_back("E_LocalPP"); + energies_Ry.push_back(pelec->f_en.e_local_pp); + titles.push_back("E_Ewald"); + energies_Ry.push_back(pelec->f_en.ewald_energy); + + kedf_manager->record_energy(titles, energies_Ry); + + std::string vdw_method = PARAM.inp.vdw_method; + if (vdw_method == "d2") // Peize Lin add 2014-04, update 2021-03-09 + { + titles.push_back("E_vdwD2"); + energies_Ry.push_back(pelec->f_en.evdw); + } + else if (vdw_method == "d3_0" || vdw_method == "d3_bj") // jiyy add 2019-05, update 2021-05-02 + { + titles.push_back("E_vdwD3"); + energies_Ry.push_back(pelec->f_en.evdw); + } + if (PARAM.inp.imp_sol) + { + titles.push_back("E_sol_el"); + energies_Ry.push_back(pelec->f_en.esol_el); + titles.push_back("E_sol_cav"); + energies_Ry.push_back(pelec->f_en.esol_cav); + } + if (PARAM.inp.efield_flag) + { + titles.push_back("E_efield"); + energies_Ry.push_back(elecstate::Efield::etotefield); + } + if (PARAM.inp.gate_flag) + { + titles.push_back("E_gatefield"); + energies_Ry.push_back(elecstate::Gatefield::etotgatefield); + } + } + else + { + titles.push_back("E_Total"); + energies_Ry.push_back(pelec->f_en.etot); + } + + if (PARAM.globalv.two_fermi) + { + titles.push_back("E_Fermi_up"); + energies_Ry.push_back(pelec->eferm.get_efval(0)); + titles.push_back("E_Fermi_dw"); + energies_Ry.push_back(pelec->eferm.get_efval(1)); + } + else + { + titles.push_back("E_Fermi"); + energies_Ry.push_back(pelec->eferm.get_efval(0)); + } + energies_eV.resize(energies_Ry.size()); + std::transform(energies_Ry.begin(), energies_Ry.end(), energies_eV.begin(), [](double energy) { + return energy * ModuleBase::Ry_to_eV; + }); + FmtTable table(/*titles=*/{"Energy", "Rydberg", "eV"}, + /*nrows=*/titles.size(), + /*formats=*/{"%20s", "%20.12f", "%20.12f"}, 0); + table << titles << energies_Ry << energies_eV; + GlobalV::ofs_running << table.str() << std::endl; + + // reset the iter_time for the next iteration +#ifdef __MPI + iter_time = MPI_Wtime(); +#else + iter_time = std::chrono::system_clock::now(); +#endif +} diff --git a/source/source_pw/module_ofdft/of_print_info.h b/source/source_pw/module_ofdft/of_print_info.h new file mode 100644 index 0000000000..b60eeb69db --- /dev/null +++ b/source/source_pw/module_ofdft/of_print_info.h @@ -0,0 +1,30 @@ +#ifndef OF_PRINT_INFO_H +#define OF_PRINT_INFO_H + +#include "source_estate/elecstate.h" // electronic states +#include "source_pw/module_ofdft/kedf_manager.h" + +#include + + +namespace OFDFT +{ + +void print_info(const int iter, + #ifdef __MPI + double &iter_time, + #else + std::chrono::system_clock::time_point &iter_time, + #endif + const double &energy_current, + const double &energy_last, + const double &normdLdphi, + const elecstate::ElecState *pelec, + KEDF_Manager *kedf_manager, + const bool conv_esolver); + +} + +#endif + + diff --git a/source/source_pw/module_pwdft/CMakeLists.txt b/source/source_pw/module_pwdft/CMakeLists.txt index 03e808f6e6..f958fdc75e 100644 --- a/source/source_pw/module_pwdft/CMakeLists.txt +++ b/source/source_pw/module_pwdft/CMakeLists.txt @@ -10,6 +10,11 @@ list(APPEND objects operator_pw/operator_pw.cpp operator_pw/onsite_proj_pw.cpp operator_pw/op_exx_pw.cpp + operator_pw/exx_pw_ace.cpp + operator_pw/exx_pw_pot.cpp + setup_pot.cpp + setup_pwrho.cpp + setup_pwwfc.cpp forces_nl.cpp forces_cc.cpp forces_scc.cpp @@ -42,6 +47,7 @@ list(APPEND objects radial_proj.cpp onsite_projector.cpp onsite_proj_tools.cpp + VSep_in_pw.cpp ) add_library( diff --git a/source/source_pw/module_pwdft/VNL_in_pw.cpp b/source/source_pw/module_pwdft/VNL_in_pw.cpp index e26e09fa3e..438358c4ae 100644 --- a/source/source_pw/module_pwdft/VNL_in_pw.cpp +++ b/source/source_pw/module_pwdft/VNL_in_pw.cpp @@ -340,7 +340,7 @@ void pseudopot_cell_vnl::getvnl(Device* ctx, ModuleBase::Vector3* _gk = new ModuleBase::Vector3[npw]; #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096 / sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ig = 0; ig < npw; ig++) { @@ -1468,19 +1468,19 @@ void pseudopot_cell_vnl::newq(const ModuleBase::matrix& veff, const ModulePW::PW double* qg_ptr = reinterpret_cast(qg.c); double* aux_ptr = reinterpret_cast(aux.c); - dgemm_(&transa, - &transb, - &nij, - &natom, - &complex_npw, - &fact, - qg_ptr, - &complex_npw, + BlasConnector::gemm(transb, + transa, + natom, + nij, + complex_npw, + fact, aux_ptr, - &complex_npw, - &zero, + complex_npw, + qg_ptr, + complex_npw, + zero, deeaux.c, - &nij); + nij); // I'm not sure if this is correct for gamma_only if (rho_basis->gamma_only && rho_basis->ig_gge0 >= 0) { diff --git a/source/source_pw/module_pwdft/VSep_in_pw.cpp b/source/source_pw/module_pwdft/VSep_in_pw.cpp new file mode 100644 index 0000000000..ee49a839a0 --- /dev/null +++ b/source/source_pw/module_pwdft/VSep_in_pw.cpp @@ -0,0 +1,154 @@ +#include "VSep_in_pw.h" + +#include "source_base/constants.h" +#include "source_base/libm/libm.h" +#include "source_base/math_integral.h" +#include "source_base/timer.h" +#include "source_base/tool_title.h" +#include "source_cell/sep.h" +#include "source_cell/sep_cell.h" + +#include +#include +#include +#include + +// namespace GlobalC +// { +// VSep vsep_cell; +// } +namespace +{ +double sphere_cut(double r, double r_out, double r_power) +{ + if (r <= 0 || r >= r_out) + { + return 0.0; + } + return std::pow(1 - std::pow(r / r_out, r_power), 3); +} + +double shell_cut(double r, double r_in, double r_out, double r_power) +{ + if (r_in <= 0) + { + return sphere_cut(r, r_out, r_power); + } + if (r_in >= r_out) + { + return 0.0; + } + if (r <= r_in || r >= r_out) + { + return 0.0; + } + return std::pow(1 - std::pow(2 * (r - r_in) / (r_out - r_in) - 1.0, r_power), 3); +} +} // namespace + +VSep::VSep() = default; + +VSep::~VSep() = default; + +void VSep::init_vsep(const ModulePW::PW_Basis& rho_basis, const Sep_Cell& sep_cell) +{ + ModuleBase::TITLE("VSep", "init_vsep"); + ModuleBase::timer::tick("VSep", "init_vsep"); + + int ntype = sep_cell.get_ntype(); + + this->vsep_form.create(ntype, rho_basis.ngg, true); + + const double d_fpi_omega = ModuleBase::FOUR_PI / sep_cell.get_omega(); + int igl0 = 0; + for (int it = 0; it < ntype; ++it) + { + if (!sep_cell.get_sep_enable()[it]) + { + continue; + } + const SepPot* sep_pot = &sep_cell.get_seps()[it]; + // Simpson integral requires that the grid points be odd, if it is even, subtract one. + int mesh = sep_pot->mesh; + if ((mesh & 1) == 0) + { + mesh--; + } + + double* r = sep_pot->r; + double* rv = sep_pot->rv; + std::vector shell_rv(sep_pot->mesh); + std::vector rab(sep_pot->mesh); + std::vector aux(sep_pot->mesh); + + // calculate a and b of r [i] = a * (exp(b*i) - 1), i = 1,..., mesh. Note: no 0 + // for rab[i] = (r[i] + a) * b + double b_val = log(r[1] / r[0] - 1); + double a_val = r[0] / (exp(b_val) - 1); + + for (int ir = 0; ir < sep_pot->mesh; ++ir) + { + shell_rv[ir] + = shell_cut(r[ir], sep_pot->r_in, sep_pot->r_out, sep_pot->r_power) * rv[ir] * sep_pot->enhence_a; + rab[ir] = (r[ir] + a_val) * b_val; + } + + igl0 = 0; + // start from |G|=0 or not. + if (rho_basis.gg_uniq[0] < 1.0e-8) + { + for (int ir = 0; ir < sep_pot->mesh; ++ir) + { + aux[ir] = r[ir] * shell_rv[ir]; + } + ModuleBase::Integral::Simpson_Integral(mesh, aux.data(), rab.data(), this->vsep_form(it, 0)); + this->vsep_form(it, 0) *= d_fpi_omega; + igl0 = 1; + } + + for (int ig = igl0; ig < rho_basis.ngg; ++ig) + { + double gx2 = rho_basis.gg_uniq[ig] * sep_cell.get_tpiba2(); + double gx = std::sqrt(gx2); + for (int ir = 0; ir < sep_pot->mesh; ++ir) + { + aux[ir] = shell_rv[ir] * ModuleBase::libm::sin(gx * r[ir]) / gx; + } + ModuleBase::Integral::Simpson_Integral(mesh, aux.data(), rab.data(), this->vsep_form(it, ig)); + this->vsep_form(it, ig) *= d_fpi_omega; + } + } + + ModuleBase::timer::tick("VSep", "init_vsep"); +} + +void VSep::generate_vsep_r(const ModulePW::PW_Basis& rho_basis, + const ModuleBase::ComplexMatrix& sf_in, + const Sep_Cell& sep_cell) +{ + ModuleBase::TITLE("VSep", "generate_vsep_r"); + ModuleBase::timer::tick("VSep", "generate_vsep_r"); + + this->nrxx = rho_basis.nrxx; + this->vsep_r.assign(rho_basis.nrxx, 0.0); + + std::unique_ptr[]> vg(new std::complex[rho_basis.npw]); + ModuleBase::GlobalFunc::ZEROS(vg.get(), rho_basis.npw); + + for (int it = 0; it < sep_cell.get_ntype(); it++) + { + if (!sep_cell.get_sep_enable()[it]) + { + continue; + } + + for (int ig = 0; ig < rho_basis.npw; ++ig) + { + vg[ig] += this->vsep_form(it, rho_basis.ig2igg[ig]) * sf_in(it, ig); + } + } + + rho_basis.recip2real(vg.get(), this->vsep_r.data()); + + ModuleBase::timer::tick("VSep", "generate_vsep_r"); +} diff --git a/source/source_pw/module_pwdft/VSep_in_pw.h b/source/source_pw/module_pwdft/VSep_in_pw.h new file mode 100644 index 0000000000..2c05b26491 --- /dev/null +++ b/source/source_pw/module_pwdft/VSep_in_pw.h @@ -0,0 +1,31 @@ +#ifndef VSEP_IN_PW +#define VSEP_IN_PW + +#include "source_base/matrix.h" +#include "source_basis/module_pw/pw_basis.h" +#include "source_cell/sep_cell.h" + +#include + +class VSep +{ + public: + VSep(); + ~VSep(); + + void init_vsep(const ModulePW::PW_Basis& rho_basis, const Sep_Cell& sep_cell); + void generate_vsep_r(const ModulePW::PW_Basis& rho_basis, const ModuleBase::ComplexMatrix& sf_in, const Sep_Cell& sep_cell); + + ModuleBase::matrix vsep_form; + std::vector vsep_r; + + private: + int nrxx = 0; +}; +// +// namespace GlobalC +// { +// extern VSep vsep_cell; +// } + +#endif /* ifndef VSEP_IN_PW */ diff --git a/source/source_pw/module_pwdft/forces.cpp b/source/source_pw/module_pwdft/forces.cpp index c621bf72f4..819f0cdf23 100644 --- a/source/source_pw/module_pwdft/forces.cpp +++ b/source/source_pw/module_pwdft/forces.cpp @@ -29,6 +29,7 @@ void Forces::cal_force(UnitCell& ucell, ModuleSymmetry::Symmetry* p_symm, Structure_Factor* p_sf, surchem& solvent, + const Plus_U *p_dftu, //mohan add 2025-11-06 const pseudopot_cell_vl* locpp, const pseudopot_cell_vnl* p_nlpp, K_Vectors* pkv, @@ -70,9 +71,10 @@ void Forces::cal_force(UnitCell& ucell, } // DFT+U and DeltaSpin + // here maybe a bug when OFDFT calls +U, mohan add 20251107 if(PARAM.inp.dft_plus_u || PARAM.inp.sc_mag_switch) { - this->cal_force_onsite(forceonsite, wg, wfc_basis, ucell, psi_in); + this->cal_force_onsite(forceonsite, wg, wfc_basis, ucell, *p_dftu, psi_in); } } @@ -368,10 +370,10 @@ void Forces::cal_force_loc(const UnitCell& ucell, // to G space. maybe need fftw with OpenMP rho_basis->real2recip(aux, aux); - std::vector tau_h; - std::vector gcar_h; if(this->device == base_device::GpuDevice) { + std::vector tau_h; + std::vector gcar_h; tau_h.resize(this->nat * 3); for(int iat = 0; iat < this->nat; ++iat) { @@ -389,16 +391,15 @@ void Forces::cal_force_loc(const UnitCell& ucell, gcar_h[ig * 3 + 1] = rho_basis->gcar[ig].y; gcar_h[ig * 3 + 2] = rho_basis->gcar[ig].z; } - } - int* iat2it_d = nullptr; - int* ig2gg_d = nullptr; - double* gcar_d = nullptr; - double* tau_d = nullptr; - std::complex* aux_d = nullptr; - double* forcelc_d = nullptr; - double* vloc_d = nullptr; - if(this->device == base_device::GpuDevice) - { + + int* iat2it_d = nullptr; + int* ig2gg_d = nullptr; + double* gcar_d = nullptr; + double* tau_d = nullptr; + std::complex* aux_d = nullptr; + double* forcelc_d = nullptr; + double* vloc_d = nullptr; + resmem_int_op()(iat2it_d, this->nat); resmem_int_op()(ig2gg_d, rho_basis->npw); resmem_var_op()(gcar_d, rho_basis->npw * 3); @@ -414,10 +415,7 @@ void Forces::cal_force_loc(const UnitCell& ucell, syncmem_complex_h2d_op()(aux_d, aux, rho_basis->npw); syncmem_var_h2d_op()(forcelc_d, forcelc.c, this->nat * 3); syncmem_var_h2d_op()(vloc_d, vloc.c, vloc.nr * vloc.nc); - } - if(this->device == base_device::GpuDevice) - { hamilt::cal_force_loc_op()( this->nat, rho_basis->npw, @@ -431,8 +429,16 @@ void Forces::cal_force_loc(const UnitCell& ucell, vloc.nc, forcelc_d); syncmem_var_d2h_op()(forcelc.c, forcelc_d, this->nat * 3); + + delmem_int_op()(iat2it_d); + delmem_int_op()(ig2gg_d); + delmem_var_op()(gcar_d); + delmem_var_op()(tau_d); + delmem_complex_op()(aux_d); + delmem_var_op()(forcelc_d); + delmem_var_op()(vloc_d); } - else{ + else{ // calculate forces on CPU #ifdef _OPENMP #pragma omp parallel for #endif @@ -457,16 +463,6 @@ void Forces::cal_force_loc(const UnitCell& ucell, forcelc(iat, 2) *= (ucell.tpiba * ucell.omega); } } - if(this->device == base_device::GpuDevice) - { - delmem_int_op()(iat2it_d); - delmem_int_op()(ig2gg_d); - delmem_var_op()(gcar_d); - delmem_var_op()(tau_d); - delmem_complex_op()(aux_d); - delmem_var_op()(forcelc_d); - delmem_var_op()(vloc_d); - } // this->print(GlobalV::ofs_running, "local forces", forcelc); Parallel_Reduce::reduce_pool(forcelc.c, forcelc.nr * forcelc.nc); delete[] aux; @@ -482,9 +478,9 @@ void Forces::cal_force_ew(const UnitCell& ucell, { ModuleBase::TITLE("Forces", "cal_force_ew"); ModuleBase::timer::tick("Forces", "cal_force_ew"); - + this->device = base_device::get_device_type(this->ctx); double fact = 2.0; - std::complex* aux = new std::complex[rho_basis->npw]; + std::vector> aux(rho_basis->npw); /* blocking rho_basis->nrxnpwx for data locality. @@ -494,9 +490,7 @@ void Forces::cal_force_ew(const UnitCell& ucell, performance will be better when number of atom is quite huge */ const int block_ig = 1024; -#ifdef _OPENMP #pragma omp parallel for -#endif for (int igb = 0; igb < rho_basis->npw; igb += block_ig) { // calculate the actual task length of this block @@ -548,9 +542,7 @@ void Forces::cal_force_ew(const UnitCell& ucell, * erfc(sqrt(ucell.tpiba2 * rho_basis->ggecut / 4.0 / alpha)); } while (upperbound > 1.0e-6); const int ig0 = rho_basis->ig_gge0; -#ifdef _OPENMP #pragma omp parallel for -#endif for (int ig = 0; ig < rho_basis->npw; ig++) { if (ig== ig0) @@ -566,83 +558,99 @@ void Forces::cal_force_ew(const UnitCell& ucell, { aux[rho_basis->ig_gge0] = std::complex(0.0, 0.0); } - -#ifdef _OPENMP -#pragma omp parallel + if(this->device == base_device::GpuDevice) { - int num_threads = omp_get_num_threads(); - int thread_id = omp_get_thread_num(); -#else - int num_threads = 1; - int thread_id = 0; -#endif - - /* Here is task distribution for multi-thread, - 0. atom will be iterated both in main nat loop and the loop in `if (rho_basis->ig_gge0 >= 0)`. - To avoid syncing, we must calculate work range of each thread by our self - 1. Calculate the iat range [iat_beg, iat_end) by each thread - a. when it is single thread stage, [iat_beg, iat_end) will be [0, nat) - 2. each thread iterate atoms form `iat_beg` to `iat_end-1` - */ - int iat_beg, iat_end; - int it_beg, ia_beg; - ModuleBase::TASK_DIST_1D(num_threads, thread_id, this->nat, iat_beg, iat_end); - iat_end = iat_beg + iat_end; - ucell.iat2iait(iat_beg, &ia_beg, &it_beg); - - int iat = iat_beg; - int it = it_beg; - int ia = ia_beg; - - // preprocess ig_gap for skipping the ig point - int ig_gap = (rho_basis->ig_gge0 >= 0 && rho_basis->ig_gge0 < rho_basis->npw) ? rho_basis->ig_gge0 : -1; - - double it_fact = 0.; - int last_it = -1; - - // iterating atoms - while (iat < iat_end) + std::vector tau_h(this->nat * 3); + std::vector gcar_h(rho_basis->npw * 3); + for(int iat = 0; iat < this->nat; ++iat) { - if (it != last_it) - { // calculate it_tact when it is changed - double zv; - { - zv = ucell.atoms[it].ncpp.zv; - } - it_fact = zv * ModuleBase::e2 * ucell.tpiba * ModuleBase::TWO_PI / ucell.omega * fact; - last_it = it; - } + int it = ucell.iat2it[iat]; + int ia = ucell.iat2ia[iat]; + tau_h[iat * 3] = ucell.atoms[it].tau[ia].x; + tau_h[iat * 3 + 1] = ucell.atoms[it].tau[ia].y; + tau_h[iat * 3 + 2] = ucell.atoms[it].tau[ia].z; + } + for(int ig = 0; ig < rho_basis->npw; ++ig) + { + gcar_h[ig * 3] = rho_basis->gcar[ig].x; + gcar_h[ig * 3 + 1] = rho_basis->gcar[ig].y; + gcar_h[ig * 3 + 2] = rho_basis->gcar[ig].z; + } + std::vector it_fact_h(ucell.ntype); + for(int it = 0; it < ucell.ntype; ++it) + { + it_fact_h[it] = ucell.atoms[it].ncpp.zv * ModuleBase::e2 * ucell.tpiba * ModuleBase::TWO_PI / ucell.omega * fact; + } - if (ucell.atoms[it].na != 0) - { - const auto ig_loop = [&](int ig_beg, int ig_end) { - for (int ig = ig_beg; ig < ig_end; ig++) - { - const ModuleBase::Vector3 gcar = rho_basis->gcar[ig]; - const double arg = ModuleBase::TWO_PI * (gcar * ucell.atoms[it].tau[ia]); - double sinp, cosp; - ModuleBase::libm::sincos(arg, &sinp, &cosp); - double sumnb = -cosp * aux[ig].imag() + sinp * aux[ig].real(); - forceion(iat, 0) += gcar[0] * sumnb; - forceion(iat, 1) += gcar[1] * sumnb; - forceion(iat, 2) += gcar[2] * sumnb; - } - }; + int* iat2it_d = nullptr; + double* gcar_d = nullptr; + double* tau_d = nullptr; + double* it_fact_d = nullptr; + std::complex* aux_d = nullptr; + double* forceion_d = nullptr; + resmem_int_op()(iat2it_d, this->nat); + resmem_var_op()(gcar_d, rho_basis->npw * 3); + resmem_var_op()(tau_d, this->nat * 3); + resmem_var_op()(it_fact_d, ucell.ntype); + resmem_complex_op()(aux_d, rho_basis->npw); + resmem_var_op()(forceion_d, this->nat * 3); - // skip ig_gge0 point by separating ig loop into two part - ig_loop(0, ig_gap); - ig_loop(ig_gap + 1, rho_basis->npw); + syncmem_int_h2d_op()(iat2it_d, ucell.iat2it, this->nat); + syncmem_var_h2d_op()(gcar_d, gcar_h.data(), rho_basis->npw * 3); + syncmem_var_h2d_op()(tau_d, tau_h.data(), this->nat * 3); + syncmem_var_h2d_op()(it_fact_d, it_fact_h.data(), ucell.ntype); + syncmem_complex_h2d_op()(aux_d, aux.data(), rho_basis->npw); + syncmem_var_h2d_op()(forceion_d, forceion.c, this->nat * 3); - forceion(iat, 0) *= it_fact; - forceion(iat, 1) *= it_fact; - forceion(iat, 2) *= it_fact; + hamilt::cal_force_ew_op()( + this->nat, + rho_basis->npw, + rho_basis->ig_gge0, + iat2it_d, + gcar_d, + tau_d, + it_fact_d, + aux_d, + forceion_d); + + syncmem_var_d2h_op()(forceion.c, forceion_d, this->nat * 3); + delmem_int_op()(iat2it_d); + delmem_var_op()(gcar_d); + delmem_var_op()(tau_d); + delmem_var_op()(it_fact_d); + delmem_complex_op()(aux_d); + delmem_var_op()(forceion_d); + } else // calculate forces on CPU + { + #pragma omp parallel for + for(int iat = 0; iat < this->nat; ++iat) + { + const int it = ucell.iat2it[iat]; + const int ia = ucell.iat2ia[iat]; + double it_fact = ucell.atoms[it].ncpp.zv * ModuleBase::e2 * ucell.tpiba * ModuleBase::TWO_PI / ucell.omega * fact; - ++iat; - ucell.step_iait(&ia, &it); + for(int ig = 0; ig < rho_basis->npw; ++ig) + { + if(ig != rho_basis->ig_gge0) // skip G=0 + { + const ModuleBase::Vector3 gcar = rho_basis->gcar[ig]; + const double arg = ModuleBase::TWO_PI * (gcar * ucell.atoms[it].tau[ia]); + double sinp, cosp; + ModuleBase::libm::sincos(arg, &sinp, &cosp); + double sumnb = -cosp * aux[ig].imag() + sinp * aux[ig].real(); + forceion(iat, 0) += gcar[0] * sumnb; + forceion(iat, 1) += gcar[1] * sumnb; + forceion(iat, 2) += gcar[2] * sumnb; + } } + forceion(iat, 0) *= it_fact; + forceion(iat, 1) *= it_fact; + forceion(iat, 2) *= it_fact; } - - // means that the processor contains G=0 term. + } + // means that the processor contains G=0 term. + #pragma omp parallel + { if (rho_basis->ig_gge0 >= 0) { double rmax = 5.0 / (sqrt(alpha) * ucell.lat0); @@ -651,33 +659,29 @@ void Forces::cal_force_ew(const UnitCell& ucell, // output of rgen: the number of vectors in the sphere const int mxr = 200; // the maximum number of R vectors included in r - ModuleBase::Vector3* r = new ModuleBase::Vector3[mxr]; - double* r2 = new double[mxr]; - ModuleBase::GlobalFunc::ZEROS(r2, mxr); - int* irr = new int[mxr]; - ModuleBase::GlobalFunc::ZEROS(irr, mxr); + std::vector> r(mxr); + std::vector r2(mxr); + std::vector irr(mxr); // the square modulus of R_j-tau_s-tau_s' - int iat1 = iat_beg; - int T1 = it_beg; - int I1 = ia_beg; const double sqa = sqrt(alpha); const double sq8a_2pi = sqrt(8.0 * alpha / ModuleBase::TWO_PI); // iterating atoms. - // do not need to sync threads because task range of each thread is isolated - while (iat1 < iat_end) + #pragma omp for + for(int iat1 = 0; iat1 < this->nat; iat1++) { - int iat2 = 0; // mohan fix bug 2011-06-07 - int I2 = 0; - int T2 = 0; - while (iat2 < this->nat) + int T1 = ucell.iat2it[iat1]; + int I1 = ucell.iat2ia[iat1]; + for(int iat2 = 0; iat2 < this->nat; iat2++) { - if (iat1 != iat2 && ucell.atoms[T2].na != 0 && ucell.atoms[T1].na != 0) + int T2 = ucell.iat2it[iat2]; + int I2 = ucell.iat2ia[iat2]; + if (iat1 != iat2) { ModuleBase::Vector3 d_tau = ucell.atoms[T1].tau[I1] - ucell.atoms[T2].tau[I2]; - H_Ewald_pw::rgen(d_tau, rmax, irr, ucell.latvec, ucell.G, r, r2, nrm); + H_Ewald_pw::rgen(d_tau, rmax, irr.data(), ucell.latvec, ucell.G, r.data(), r2.data(), nrm); for (int n = 0; n < nrm; n++) { @@ -686,39 +690,24 @@ void Forces::cal_force_ew(const UnitCell& ucell, double factor; { factor = ucell.atoms[T1].ncpp.zv * ucell.atoms[T2].ncpp.zv - * ModuleBase::e2 / (rr * rr) - * (erfc(sqa * rr) / rr + sq8a_2pi * ModuleBase::libm::exp(-alpha * rr * rr)) - * ucell.lat0; + * ModuleBase::e2 / (rr * rr) + * (erfc(sqa * rr) / rr + sq8a_2pi * ModuleBase::libm::exp(-alpha * rr * rr)) + * ucell.lat0; } - forceion(iat1, 0) -= factor * r[n].x; forceion(iat1, 1) -= factor * r[n].y; forceion(iat1, 2) -= factor * r[n].z; } } - ++iat2; - ucell.step_iait(&I2, &T2); } // atom b - ++iat1; - ucell.step_iait(&I1, &T1); } // atom a - - delete[] r; - delete[] r2; - delete[] irr; } -#ifdef _OPENMP } -#endif - Parallel_Reduce::reduce_pool(forceion.c, forceion.nr * forceion.nc); - // this->print(GlobalV::ofs_running, "ewald forces", forceion); ModuleBase::timer::tick("Forces", "cal_force_ew"); - delete[] aux; - return; } diff --git a/source/source_pw/module_pwdft/forces.h b/source/source_pw/module_pwdft/forces.h index e67cac0f24..61466fcdd6 100644 --- a/source/source_pw/module_pwdft/forces.h +++ b/source/source_pw/module_pwdft/forces.h @@ -14,6 +14,7 @@ #include "source_base/kernels/math_kernel_op.h" #include "source_psi/psi.h" #include "structure_factor.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 2025-11-06 template class Forces @@ -40,8 +41,9 @@ class Forces const ModulePW::PW_Basis* const rho_basis, ModuleSymmetry::Symmetry* p_symm, Structure_Factor* p_sf, - surchem& solvent, - const pseudopot_cell_vl* locpp, + surchem& solvent, + const Plus_U *p_dftu, //mohan add 2025-11-06 + const pseudopot_cell_vl* locpp, const pseudopot_cell_vnl* nlpp = nullptr, K_Vectors* pkv = nullptr, ModulePW::PW_Basis_K* psi_basis = nullptr, @@ -94,7 +96,9 @@ class Forces const ModuleBase::matrix& wg, const ModulePW::PW_Basis_K* wfc_basis, const UnitCell& ucell_in, - const psi::Psi , Device>* psi_in = nullptr); + const Plus_U &dftu, // mohan add 2025-11-06 + const psi::Psi , Device>* psi_in = nullptr); + void cal_force_scc(ModuleBase::matrix& forcescc, const ModulePW::PW_Basis* const rho_basis, const ModuleBase::matrix& v_current, diff --git a/source/source_pw/module_pwdft/forces_cc.cpp b/source/source_pw/module_pwdft/forces_cc.cpp index 65156e8501..a03d49964b 100644 --- a/source/source_pw/module_pwdft/forces_cc.cpp +++ b/source/source_pw/module_pwdft/forces_cc.cpp @@ -108,44 +108,48 @@ void Forces::cal_force_cc(ModuleBase::matrix& forcecc, double* rhocg = new double[rho_basis->ngg]; ModuleBase::GlobalFunc::ZEROS(rhocg, rho_basis->ngg); - std::vector gv_x(rho_basis->npw); - std::vector gv_y(rho_basis->npw); - std::vector gv_z(rho_basis->npw); + std::vector gv_h(3 * rho_basis->npw); + std::vector tau_h(3 * this->nat); std::vector rhocgigg_vec(rho_basis->npw); - double *gv_x_d = nullptr; - double *gv_y_d = nullptr; - double *gv_z_d = nullptr; + double *gv_d = nullptr; + double *tau_d = nullptr; double *force_d = nullptr; double *rhocgigg_vec_d = nullptr; std::complex* psiv_d = nullptr; this->device = base_device::get_device_type(this->ctx); -#ifdef _OPENMP -#pragma omp parallel for -#endif for (int ig = 0; ig < rho_basis->npw; ig++) { - gv_x[ig] = rho_basis->gcar[ig].x; - gv_y[ig] = rho_basis->gcar[ig].y; - gv_z[ig] = rho_basis->gcar[ig].z; + gv_h[3 * ig] = rho_basis->gcar[ig].x; + gv_h[3 * ig + 1] = rho_basis->gcar[ig].y; + gv_h[3 * ig + 2] = rho_basis->gcar[ig].z; + } + + for (int iat = 0; iat < this->nat; iat++) + { + int it = ucell_in.iat2it[iat]; + int ia = ucell_in.iat2ia[iat]; + tau_h[iat * 3] = ucell_in.atoms[it].tau[ia].x; + tau_h[iat * 3 + 1] = ucell_in.atoms[it].tau[ia].y; + tau_h[iat * 3 + 2] = ucell_in.atoms[it].tau[ia].z; } if(this->device == base_device::GpuDevice ) { - resmem_var_op()(gv_x_d, rho_basis->npw); - resmem_var_op()(gv_y_d, rho_basis->npw); - resmem_var_op()(gv_z_d, rho_basis->npw); + resmem_var_op()(gv_d, rho_basis->npw * 3); + resmem_var_op()(tau_d, this->nat * 3); resmem_var_op()(rhocgigg_vec_d, rho_basis->npw); resmem_complex_op()(psiv_d, rho_basis->nmaxgr); - resmem_var_op()(force_d, 3); + resmem_var_op()(force_d, 3 * this->nat); - syncmem_var_h2d_op()(gv_x_d, gv_x.data(), rho_basis->npw); - syncmem_var_h2d_op()(gv_y_d, gv_y.data(), rho_basis->npw); - syncmem_var_h2d_op()(gv_z_d, gv_z.data(), rho_basis->npw); + syncmem_var_h2d_op()(gv_d, gv_h.data(), rho_basis->npw * 3); + syncmem_var_h2d_op()(tau_d, tau_h.data(), this->nat * 3); syncmem_complex_h2d_op()(psiv_d, psiv, rho_basis->nmaxgr); + syncmem_var_h2d_op()(force_d, forcecc.c, 3 * this->nat); } - + double* tau_it_d = tau_d; // the start address of each atom type's tau + double* force_it_d = force_d; for (int it = 0; it < ucell_in.ntype; ++it) { if (ucell_in.atoms[it].ncpp.nlcc) @@ -166,10 +170,7 @@ void Forces::cal_force_cc(ModuleBase::matrix& forcecc, rho_basis, 1, ucell_in); - -#ifdef _OPENMP -#pragma omp parallel for -#endif + for (int ig = 0; ig < rho_basis->npw; ig++) { rhocgigg_vec[ig] = rhocg[rho_basis->ig2igg[ig]]; @@ -178,42 +179,53 @@ void Forces::cal_force_cc(ModuleBase::matrix& forcecc, if(this->device == base_device::GpuDevice ) { syncmem_var_h2d_op()(rhocgigg_vec_d, rhocgigg_vec.data(), rho_basis->npw); } - for (int ia = 0; ia < ucell_in.atoms[it].na; ++ia) - { - const ModuleBase::Vector3 pos = ucell_in.atoms[it].tau[ia]; - // get iat form table - int iat = ucell_in.itia2iat(it, ia); - double force[3] = {0, 0, 0}; - - if(this->device == base_device::GpuDevice ) { - syncmem_var_h2d_op()(force_d, force, 3); - hamilt::cal_force_npw_op()( - psiv_d, gv_x_d, gv_y_d, gv_z_d, rhocgigg_vec_d, force_d, pos.x, pos.y, pos.z, - rho_basis->npw, ucell_in.omega, ucell_in.tpiba - ); - syncmem_var_d2h_op()(force, force_d, 3); - - } else { - hamilt::cal_force_npw_op()( - psiv, gv_x.data(), gv_y.data(), gv_z.data(), rhocgigg_vec.data(), force, pos.x, pos.y, pos.z, - rho_basis->npw, ucell_in.omega, ucell_in.tpiba - ); - } + if(this->device == base_device::GpuDevice ) { + hamilt::cal_force_npw_op()( + psiv_d, gv_d, rhocgigg_vec_d, force_it_d, tau_it_d, + rho_basis->npw, ucell_in.omega, ucell_in.tpiba, ucell_in.atoms[it].na + ); + } else { + #pragma omp for + for(int ia = 0; ia < ucell_in.atoms[it].na; ia++) { - forcecc(iat, 0) += force[0]; - forcecc(iat, 1) += force[1]; - forcecc(iat, 2) += force[2]; + double fx = 0.0, fy = 0.0, fz = 0.0; + int iat = ucell_in.itia2iat(it, ia); + for (int ig = 0; ig < rho_basis->npw; ig++) + { + const std::complex psiv_conj = conj(psiv[ig]); + + const double arg = ModuleBase::TWO_PI * (gv_h[ig * 3] * tau_h[iat * 3] + + gv_h[ig * 3 + 1] * tau_h[iat * 3 + 1] + gv_h[ig * 3 + 2] * tau_h[iat * 3 + 2]); + double sinp, cosp; + ModuleBase::libm::sincos(arg, &sinp, &cosp); + const std::complex expiarg = std::complex(sinp, cosp); + + const std::complex tmp_var = psiv_conj * expiarg * ucell_in.tpiba * ucell_in.omega * rhocgigg_vec[ig]; + + const std::complex ipol0 = tmp_var * gv_h[ig * 3]; + fx += ipol0.real(); + + const std::complex ipol1 = tmp_var * gv_h[ig * 3 + 1]; + fy += ipol1.real(); + + const std::complex ipol2 = tmp_var * gv_h[ig * 3 + 2]; + fz += ipol2.real(); + } + forcecc(iat, 0) += fx; + forcecc(iat, 1) += fy; + forcecc(iat, 2) += fz; } } - } + tau_it_d += 3 * ucell_in.atoms[it].na; // update the start address of each atom type's tau + force_it_d += 3 * ucell_in.atoms[it].na; } - if (this->device == base_device::GpuDevice) + if(this->device == base_device::GpuDevice) { - delmem_var_op()(gv_x_d); - delmem_var_op()(gv_y_d); - delmem_var_op()(gv_z_d); + syncmem_var_d2h_op()(forcecc.c, force_d, 3 * nat); + delmem_var_op()(gv_d); + delmem_var_op()(tau_d); delmem_var_op()(force_d); delmem_var_op()(rhocgigg_vec_d); delmem_complex_op()(psiv_d); diff --git a/source/source_pw/module_pwdft/forces_onsite.cpp b/source/source_pw/module_pwdft/forces_onsite.cpp index e0650ccc36..9d93e9ef54 100644 --- a/source/source_pw/module_pwdft/forces_onsite.cpp +++ b/source/source_pw/module_pwdft/forces_onsite.cpp @@ -11,8 +11,9 @@ template void Forces::cal_force_onsite(ModuleBase::matrix& force_onsite, const ModuleBase::matrix& wg, const ModulePW::PW_Basis_K* wfc_basis, - const UnitCell& ucell_in, - const psi::Psi , Device>* psi_in) + const UnitCell& ucell_in, + const Plus_U &dftu, // mohan add 2025-11-06 + const psi::Psi , Device>* psi_in) { ModuleBase::TITLE("Forces", "cal_force_onsite"); if(psi_in == nullptr || wfc_basis == nullptr) @@ -53,12 +54,13 @@ void Forces::cal_force_onsite(ModuleBase::matrix& force_onsite, // force for DFT+U if(PARAM.inp.dft_plus_u) { - auto* dftu = ModuleDFTU::DFTU::get_instance(); - onsite_p->get_fs_tools()->cal_force_dftu(ik, npm, force, dftu->orbital_corr.data(), dftu->get_eff_pot_pw(0), dftu->get_size_eff_pot_pw(), wg.c); + onsite_p->get_fs_tools()->cal_force_dftu(ik, npm, force, + dftu.orbital_corr.data(), dftu.get_eff_pot_pw(0), dftu.get_size_eff_pot_pw(), wg.c); } if(PARAM.inp.sc_mag_switch) { - spinconstrain::SpinConstrain>& sc = spinconstrain::SpinConstrain>::getScInstance(); + spinconstrain::SpinConstrain>& sc = + spinconstrain::SpinConstrain>::getScInstance(); const std::vector>& lambda = sc.get_sc_lambda(); onsite_p->get_fs_tools()->cal_force_dspin(ik, npm, force, lambda.data(), wg.c); } @@ -76,4 +78,4 @@ void Forces::cal_force_onsite(ModuleBase::matrix& force_onsite, template class Forces; #if ((defined __CUDA) || (defined __ROCM)) template class Forces; -#endif \ No newline at end of file +#endif diff --git a/source/source_pw/module_pwdft/forces_scc.cpp b/source/source_pw/module_pwdft/forces_scc.cpp index 9279a0bbea..10681e5114 100644 --- a/source/source_pw/module_pwdft/forces_scc.cpp +++ b/source/source_pw/module_pwdft/forces_scc.cpp @@ -75,63 +75,65 @@ void Forces::cal_force_scc(ModuleBase::matrix& forcescc, int igg0 = 0; const int ig0 = rho_basis->ig_gge0; - if (rho_basis->gg_uniq[0] < 1.0e-8) { - igg0 = 1; -} + if (rho_basis->gg_uniq[0] < 1.0e-8) + { + igg0 = 1; + } double fact = 2.0; - for (int nt = 0; nt < ucell_in.ntype; nt++) { - // Here we compute the G.ne.0 term - const int mesh = ucell_in.atoms[nt].ncpp.msh; - this->deriv_drhoc_scc(numeric, - mesh, - ucell_in.atoms[nt].ncpp.r.data(), - ucell_in.atoms[nt].ncpp.rab.data(), - ucell_in.atoms[nt].ncpp.rho_at.data(), - rhocgnt.data(), - rho_basis, - ucell_in); - int iat = 0; - for (int it = 0; it < ucell_in.ntype; it++) { - for (int ia = 0; ia < ucell_in.atoms[it].na; ia++) { - if (nt == it) { - const ModuleBase::Vector3 pos - = ucell_in.atoms[it].tau[ia]; - double &force0 = forcescc(iat, 0), - &force1 = forcescc(iat, 1), - &force2 = forcescc(iat, 2); + for (int nt = 0; nt < ucell_in.ntype; nt++) + { + // Here we compute the G.ne.0 term + const int mesh = ucell_in.atoms[nt].ncpp.msh; + this->deriv_drhoc_scc(numeric, + mesh, + ucell_in.atoms[nt].ncpp.r.data(), + ucell_in.atoms[nt].ncpp.rab.data(), + ucell_in.atoms[nt].ncpp.rho_at.data(), + rhocgnt.data(), + rho_basis, + ucell_in); + int iat = 0; + for (int it = 0; it < ucell_in.ntype; it++) { + for (int ia = 0; ia < ucell_in.atoms[it].na; ia++) { + if (nt == it) { + const ModuleBase::Vector3 pos + = ucell_in.atoms[it].tau[ia]; + double &force0 = forcescc(iat, 0), + &force1 = forcescc(iat, 1), + &force2 = forcescc(iat, 2); #ifdef _OPENMP #pragma omp parallel for reduction(+ : force0) reduction(+ : force1) reduction(+ : force2) #endif - for (int ig = 0; ig < rho_basis->npw; ++ig) { - if (ig == ig0) { - continue; -} - const ModuleBase::Vector3 gv - = rho_basis->gcar[ig]; - const double rhocgntigg - = rhocgnt[rho_basis->ig2igg[ig]]; - const double arg = ModuleBase::TWO_PI * (gv * pos); - double sinp, cosp; - ModuleBase::libm::sincos(arg, &sinp, &cosp); - const std::complex cpm - = std::complex(sinp, cosp) * conj(psic[ig]); - - force0 += fact * rhocgntigg * ucell_in.tpiba - * gv.x * cpm.real(); - force1 += fact * rhocgntigg * ucell_in.tpiba - * gv.y * cpm.real(); - force2 += fact * rhocgntigg * ucell_in.tpiba - * gv.z * cpm.real(); - } - } - iat++; - } - } - } + for (int ig = 0; ig < rho_basis->npw; ++ig) { + if (ig == ig0) { + continue; + } + const ModuleBase::Vector3 gv + = rho_basis->gcar[ig]; + const double rhocgntigg + = rhocgnt[rho_basis->ig2igg[ig]]; + const double arg = ModuleBase::TWO_PI * (gv * pos); + double sinp, cosp; + ModuleBase::libm::sincos(arg, &sinp, &cosp); + const std::complex cpm + = std::complex(sinp, cosp) * conj(psic[ig]); + + force0 += fact * rhocgntigg * ucell_in.tpiba + * gv.x * cpm.real(); + force1 += fact * rhocgntigg * ucell_in.tpiba + * gv.y * cpm.real(); + force2 += fact * rhocgntigg * ucell_in.tpiba + * gv.z * cpm.real(); + } + } + iat++; + } + } + } - Parallel_Reduce::reduce_pool(forcescc.c, forcescc.nr * forcescc.nc); + Parallel_Reduce::reduce_pool(forcescc.c, forcescc.nr * forcescc.nc); ModuleBase::timer::tick("Forces", "cal_force_scc"); return; @@ -163,10 +165,12 @@ void Forces::deriv_drhoc_scc(const bool& numeric, /// /// G=0 term /// - if (rho_basis->gg_uniq[0] < 1.0e-8) { - drhocg[0] = 0.0; + if (rho_basis->gg_uniq[0] < 1.0e-8) + { + drhocg[0] = 0.0; igl0 = 1; - } else { + } else + { igl0 = 0; } @@ -178,17 +182,19 @@ void Forces::deriv_drhoc_scc(const bool& numeric, #ifdef _OPENMP #pragma omp parallel for #endif - for (int igl = igl0; igl < rho_basis->ngg; igl++) { - gx_arr[igl] = sqrt(rho_basis->gg_uniq[igl]) * ucell_in.tpiba; - } + for (int igl = igl0; igl < rho_basis->ngg; igl++) + { + gx_arr[igl] = sqrt(rho_basis->gg_uniq[igl]) * ucell_in.tpiba; + } double *r_d = nullptr; double *rhoc_d = nullptr; double *rab_d = nullptr; double *aux_d = nullptr; double *drhocg_d = nullptr; - if (this->device == base_device::GpuDevice) { - resmem_var_op()(r_d, mesh); + if (this->device == base_device::GpuDevice) + { + resmem_var_op()(r_d, mesh); resmem_var_op()(rhoc_d, mesh); resmem_var_op()(rab_d, mesh); @@ -204,20 +210,43 @@ void Forces::deriv_drhoc_scc(const bool& numeric, syncmem_var_h2d_op()(rhoc_d, rhoc, mesh); } - if(this->device == base_device::GpuDevice) { + if(this->device == base_device::GpuDevice) + { hamilt::cal_stress_drhoc_aux_op()( - r_d,rhoc_d,gx_arr_d+igl0,rab_d,drhocg_d+igl0,mesh,igl0,rho_basis->ngg-igl0,ucell_in.omega,2); + r_d, + rhoc_d, + gx_arr_d+igl0, + rab_d, + drhocg_d+igl0, + mesh, + igl0, + rho_basis->ngg-igl0, + ucell_in.omega, + 2); + syncmem_var_d2h_op()(drhocg+igl0, drhocg_d+igl0, rho_basis->ngg-igl0); - } else { + } + else + { hamilt::cal_stress_drhoc_aux_op()( - r,rhoc,gx_arr.data()+igl0,rab,drhocg+igl0,mesh,igl0,rho_basis->ngg-igl0,ucell_in.omega,2); + r, + rhoc, + gx_arr.data()+igl0, + rab, + drhocg+igl0, + mesh, + igl0, + rho_basis->ngg-igl0, + ucell_in.omega, + 2); } delmem_var_op()(r_d); delmem_var_op()(rhoc_d); delmem_var_op()(rab_d); + delmem_var_op()(aux_d); delmem_var_op()(gx_arr_d); delmem_var_op()(drhocg_d); return; @@ -226,4 +255,4 @@ void Forces::deriv_drhoc_scc(const bool& numeric, template class Forces; #if ((defined __CUDA) || (defined __ROCM)) template class Forces; -#endif \ No newline at end of file +#endif diff --git a/source/source_pw/module_pwdft/forces_us.cpp b/source/source_pw/module_pwdft/forces_us.cpp index dd2fbc5f8d..908212ca02 100644 --- a/source/source_pw/module_pwdft/forces_us.cpp +++ b/source/source_pw/module_pwdft/forces_us.cpp @@ -31,7 +31,7 @@ void Forces::cal_force_us(ModuleBase::matrix& forcenl, ModuleBase::matrix forceq(ucell.nat, 3); - ModuleBase::matrix veff = elec.pot->get_effective_v(); + ModuleBase::matrix veff = elec.pot->get_eff_v(); ModuleBase::ComplexMatrix vg(PARAM.inp.nspin, npw); // fourier transform of the total effective potential for (int is = 0; is < PARAM.inp.nspin; is++) @@ -98,19 +98,19 @@ void Forces::cal_force_us(ModuleBase::matrix& forcenl, const double zero = 0; for (int ipol = 0; ipol < 3; ipol++) { - dgemm_(&transa, - &transb, - &nij, - &atom->na, - &dim, - &(ucell.omega), - qgm_data, - &dim, + BlasConnector::gemm(transb, + transa, + atom->na, + nij, + dim, + ucell.omega, &aux1_data[ipol * dim * atom->na], - &dim, - &zero, + dim, + qgm_data, + dim, + zero, &ddeeq(is, ipol, 0, 0), - &nij); + nij); } } @@ -143,4 +143,4 @@ void Forces::cal_force_us(ModuleBase::matrix& forcenl, template class Forces; #if ((defined __CUDA) || (defined __ROCM)) template class Forces; -#endif \ No newline at end of file +#endif diff --git a/source/source_pw/module_pwdft/global.h b/source/source_pw/module_pwdft/global.h index 5080ddc24d..bea93a9331 100644 --- a/source/source_pw/module_pwdft/global.h +++ b/source/source_pw/module_pwdft/global.h @@ -16,6 +16,7 @@ #ifdef __CUDA #include "cublas_v2.h" #include "cufft.h" +#include "source_base/module_device/cuda_compat.h" static const char* _cublasGetErrorString(cublasStatus_t error) { @@ -41,48 +42,6 @@ static const char* _cublasGetErrorString(cublasStatus_t error) return ""; } -static const char* _cufftGetErrorString(cufftResult_t error) -{ - switch (error) - { - case CUFFT_SUCCESS: - return "CUFFT_SUCCESS"; - case CUFFT_INVALID_PLAN: - return "CUFFT_INVALID_PLAN"; - case CUFFT_ALLOC_FAILED: - return "CUFFT_ALLOC_FAILED"; - case CUFFT_INVALID_TYPE: - return "CUFFT_INVALID_TYPE"; - case CUFFT_INVALID_VALUE: - return "CUFFT_INVALID_VALUE"; - case CUFFT_INTERNAL_ERROR: - return "CUFFT_INTERNAL_ERROR"; - case CUFFT_EXEC_FAILED: - return "CUFFT_EXEC_FAILED"; - case CUFFT_SETUP_FAILED: - return "CUFFT_SETUP_FAILED"; - case CUFFT_INVALID_SIZE: - return "CUFFT_INVALID_SIZE"; - case CUFFT_UNALIGNED_DATA: - return "CUFFT_UNALIGNED_DATA"; - case CUFFT_INCOMPLETE_PARAMETER_LIST: - return "CUFFT_INCOMPLETE_PARAMETER_LIST"; - case CUFFT_INVALID_DEVICE: - return "CUFFT_INVALID_DEVICE"; - case CUFFT_PARSE_ERROR: - return "CUFFT_PARSE_ERROR"; - case CUFFT_NO_WORKSPACE: - return "CUFFT_NO_WORKSPACE"; - case CUFFT_NOT_IMPLEMENTED: - return "CUFFT_NOT_IMPLEMENTED"; - case CUFFT_LICENSE_ERROR: - return "CUFFT_LICENSE_ERROR"; - case CUFFT_NOT_SUPPORTED: - return "CUFFT_NOT_SUPPORTED"; - } - return ""; -} - #define CHECK_CUDA(func) \ { \ cudaError_t status = (func); \ @@ -119,7 +78,7 @@ static const char* _cufftGetErrorString(cufftResult_t error) if (status != CUFFT_SUCCESS) \ { \ printf("In File %s : CUFFT API failed at line %d with error: %s (%d)\n", __FILE__, __LINE__, \ - _cufftGetErrorString(status), status); \ + ModuleBase::cuda_compat::cufftGetErrorStringCompat(status), status); \ } \ } #endif // __CUDA diff --git a/source/source_pw/module_pwdft/hamilt_lcaopw.h b/source/source_pw/module_pwdft/hamilt_lcaopw.h index 63d6c7c5f3..a5b2cedb6e 100644 --- a/source/source_pw/module_pwdft/hamilt_lcaopw.h +++ b/source/source_pw/module_pwdft/hamilt_lcaopw.h @@ -18,7 +18,7 @@ namespace hamilt K_Vectors* p_kv, pseudopot_cell_vnl* nlpp, const UnitCell* ucell) - : HamiltPW(pot_in, wfc_basis, p_kv, nlpp,ucell){}; + : HamiltPW(pot_in, wfc_basis, p_kv, nlpp, nullptr, ucell){}; #ifdef __EXX HamiltLIP(elecstate::Potential* pot_in, ModulePW::PW_Basis_K* wfc_basis, @@ -26,11 +26,12 @@ namespace hamilt pseudopot_cell_vnl* nlpp, const UnitCell* ucell, Exx_Lip& exx_lip_in) - : HamiltPW(pot_in, wfc_basis, p_kv, nlpp,ucell), exx_lip(exx_lip_in){}; + : HamiltPW(pot_in, wfc_basis, p_kv, nlpp, nullptr, ucell), + exx_lip(exx_lip_in){}; Exx_Lip& exx_lip; #endif }; } // namespace hamilt -#endif \ No newline at end of file +#endif diff --git a/source/source_pw/module_pwdft/hamilt_pw.cpp b/source/source_pw/module_pwdft/hamilt_pw.cpp index 86782ed665..9370c50b68 100644 --- a/source/source_pw/module_pwdft/hamilt_pw.cpp +++ b/source/source_pw/module_pwdft/hamilt_pw.cpp @@ -22,6 +22,7 @@ HamiltPW::HamiltPW(elecstate::Potential* pot_in, ModulePW::PW_Basis_K* wfc_basis, K_Vectors* pkv, pseudopot_cell_vnl* nlpp, + Plus_U* p_dftu, // mohan add 2025-11-06 const UnitCell* ucell): ucell(ucell) { this->classname = "HamiltPW"; @@ -73,6 +74,10 @@ HamiltPW::HamiltPW(elecstate::Potential* pot_in, { pot_register_in.push_back("gatefield"); } + // DFT-1/2 + if (PARAM.inp.dfthalf_type == 1) { + pot_register_in.push_back("dfthalf"); + } //only Potential is not empty, Veff and Meta are available if(pot_register_in.size()>0) { @@ -116,7 +121,8 @@ HamiltPW::HamiltPW(elecstate::Potential* pot_in, if(PARAM.inp.sc_mag_switch || PARAM.inp.dft_plus_u) { Operator* onsite_proj - = new OnsiteProj>(isk, ucell, PARAM.inp.sc_mag_switch, (PARAM.inp.dft_plus_u>0)); + = new OnsiteProj>(isk, ucell, p_dftu, + PARAM.inp.sc_mag_switch, (PARAM.inp.dft_plus_u>0)); this->ops->add(onsite_proj); } if (GlobalC::exx_info.info_global.cal_exx) diff --git a/source/source_pw/module_pwdft/hamilt_pw.h b/source/source_pw/module_pwdft/hamilt_pw.h index 34c51c78fd..ca67b6f424 100644 --- a/source/source_pw/module_pwdft/hamilt_pw.h +++ b/source/source_pw/module_pwdft/hamilt_pw.h @@ -9,6 +9,7 @@ #include "source_pw/module_pwdft/VNL_in_pw.h" #include "source_base/kernels/math_kernel_op.h" #include "source_pw/module_pwdft/module_exx_helper/exx_helper.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 2025-11-06 namespace hamilt { @@ -21,10 +22,19 @@ class HamiltPW : public Hamilt // return T if T is real type(float, double), // otherwise return the real type of T(complex, std::complex) using Real = typename GetTypeReal::type; + public: - HamiltPW(elecstate::Potential* pot_in, ModulePW::PW_Basis_K* wfc_basis, K_Vectors* p_kv, pseudopot_cell_vnl* nlpp,const UnitCell* ucell); + + HamiltPW(elecstate::Potential* pot_in, + ModulePW::PW_Basis_K* wfc_basis, + K_Vectors* p_kv, + pseudopot_cell_vnl* nlpp, + Plus_U *p_dftu, // mohan add 2025-11-06 + const UnitCell* ucell); + template explicit HamiltPW(const HamiltPW* hamilt); + ~HamiltPW(); // for target K point, update consequence of hPsi() and matrix() @@ -58,4 +68,4 @@ class HamiltPW : public Hamilt } // namespace hamilt -#endif \ No newline at end of file +#endif diff --git a/source/source_pw/module_pwdft/kernels/cuda/exx_cal_energy_op.cu b/source/source_pw/module_pwdft/kernels/cuda/exx_cal_energy_op.cu index 6fe5517d78..188173e5e5 100644 --- a/source/source_pw/module_pwdft/kernels/cuda/exx_cal_energy_op.cu +++ b/source/source_pw/module_pwdft/kernels/cuda/exx_cal_energy_op.cu @@ -2,6 +2,7 @@ #include "source_psi/psi.h" #include +#include "source_base/module_device/device.h" namespace hamilt { @@ -81,4 +82,4 @@ struct exx_cal_energy_op, base_device::DEVICE_GPU> template struct exx_cal_energy_op, base_device::DEVICE_GPU>; template struct exx_cal_energy_op, base_device::DEVICE_GPU>; -} // namespace hamilt \ No newline at end of file +} // namespace hamilt diff --git a/source/source_pw/module_pwdft/kernels/cuda/force_op.cu b/source/source_pw/module_pwdft/kernels/cuda/force_op.cu index 1c1113ca6b..958e9d353e 100644 --- a/source/source_pw/module_pwdft/kernels/cuda/force_op.cu +++ b/source/source_pw/module_pwdft/kernels/cuda/force_op.cu @@ -710,6 +710,95 @@ __global__ void force_loc_kernel( } } +template +__global__ void force_ew_kernel( + const int nat, + const int npw, + const int ig_gge0, + const int* iat2it, + const FPTYPE* gcar_d, + const FPTYPE* tau_d, + const FPTYPE* it_fact_d, + const thrust::complex* aux_d, + FPTYPE* forceion_d) +{ + const int iat = blockIdx.x; + const int tid = threadIdx.x; + const int warp_id = tid / WARP_SIZE; + const int lane_id = tid % WARP_SIZE; + + if( iat >= nat) return; + const int it = iat2it[iat]; // get the type of atom + const FPTYPE it_fact_val = it_fact_d[it]; // Get it_fact value + + // Initialize force components + FPTYPE force_x = 0.0; + FPTYPE force_y = 0.0; + FPTYPE force_z = 0.0; + + const auto tau_x = tau_d[iat * 3 + 0]; + const auto tau_y = tau_d[iat * 3 + 1]; + const auto tau_z = tau_d[iat * 3 + 2]; + + for (int ig = tid; ig < npw; ig += blockDim.x) { + if(ig == ig_gge0) + { continue; } + const auto gcar_x = gcar_d[ig * 3 + 0]; + const auto gcar_y = gcar_d[ig * 3 + 1]; + const auto gcar_z = gcar_d[ig * 3 + 2]; + + // Calculate phase factor + const FPTYPE phase = ModuleBase::TWO_PI * (gcar_x * tau_x + + gcar_y * tau_y + + gcar_z * tau_z); + FPTYPE sinp, cosp; + sincos(phase, &sinp, &cosp); + + // Calculate force contribution + const FPTYPE sumnb = -cosp * aux_d[ig].imag() + sinp * aux_d[ig].real(); + + // Multiply by gcar components + force_x += gcar_x * sumnb; + force_y += gcar_y * sumnb; + force_z += gcar_z * sumnb; + } + + // Warp-level reduction + warp_reduce(force_x); + warp_reduce(force_y); + warp_reduce(force_z); + + // First thread in each warp writes to shared memory + __shared__ FPTYPE warp_sums_x[THREADS_PER_BLOCK / WARP_SIZE]; // 256 threads / 32 = 8 warps + __shared__ FPTYPE warp_sums_y[THREADS_PER_BLOCK / WARP_SIZE]; + __shared__ FPTYPE warp_sums_z[THREADS_PER_BLOCK / WARP_SIZE]; + + if (lane_id == 0) { + warp_sums_x[warp_id] = force_x; + warp_sums_y[warp_id] = force_y; + warp_sums_z[warp_id] = force_z; + } + + __syncthreads(); + + // Final reduction by first warp + if (warp_id == 0) { + FPTYPE final_x = (lane_id < blockDim.x/WARP_SIZE) ? warp_sums_x[lane_id] : 0.0; + FPTYPE final_y = (lane_id < blockDim.x/WARP_SIZE) ? warp_sums_y[lane_id] : 0.0; + FPTYPE final_z = (lane_id < blockDim.x/WARP_SIZE) ? warp_sums_z[lane_id] : 0.0; + + warp_reduce(final_x); + warp_reduce(final_y); + warp_reduce(final_z); + + if (lane_id == 0) { + forceion_d[iat * 3 + 0] = final_x * it_fact_val; + forceion_d[iat * 3 + 1] = final_y * it_fact_val; + forceion_d[iat * 3 + 2] = final_z * it_fact_val; + } + } +} + template void cal_force_loc_op::operator()( const int nat, @@ -739,6 +828,30 @@ void cal_force_loc_op::operator()( } +template +void cal_force_ew_op::operator()( + const int nat, + const int npw, + const int ig_gge0, + const int* iat2it, + const FPTYPE* gcar, + const FPTYPE* tau, + const FPTYPE* it_fact, + const std::complex* aux, + FPTYPE* forceion) +{ + force_ew_kernel + <<>>(nat, + npw, + ig_gge0, + iat2it, + gcar, + tau, + it_fact, + reinterpret_cast*>(aux), + forceion); // array of data +} + // for revertVkbValues functions instantiation template void revertVkbValues(const int *gcar_zero_ptrs, std::complex *vkb_ptr, const std::complex *vkb_save_ptr, int nkb, int gcar_zero_count, int npw, int ipol, int npwx, const std::complex coeff); @@ -748,8 +861,10 @@ template void saveVkbValues(const int *gcar_zero_ptrs, const std::comple template struct cal_vkb1_nl_op; template struct cal_force_nl_op; template struct cal_force_loc_op; +template struct cal_force_ew_op; template struct cal_vkb1_nl_op; template struct cal_force_nl_op; template struct cal_force_loc_op; +template struct cal_force_ew_op; } // namespace hamilt diff --git a/source/source_pw/module_pwdft/kernels/cuda/mul_potential_op.cu b/source/source_pw/module_pwdft/kernels/cuda/mul_potential_op.cu index ad148deb23..1724a5e2eb 100644 --- a/source/source_pw/module_pwdft/kernels/cuda/mul_potential_op.cu +++ b/source/source_pw/module_pwdft/kernels/cuda/mul_potential_op.cu @@ -37,7 +37,7 @@ struct mul_potential_op, base_device::DEVICE_GPU> int num_blocks = (npw + threads_per_block - 1) / threads_per_block; mul_potential_kernel<<>>( - pot + ik * nks * npw + iq * npw, + pot, reinterpret_cast*>(density_recip), npw); diff --git a/source/source_pw/module_pwdft/kernels/cuda/stress_op.cu b/source/source_pw/module_pwdft/kernels/cuda/stress_op.cu index f2a014f78d..3a99248e05 100644 --- a/source/source_pw/module_pwdft/kernels/cuda/stress_op.cu +++ b/source/source_pw/module_pwdft/kernels/cuda/stress_op.cu @@ -1,11 +1,12 @@ #include "source_pw/module_pwdft/kernels/stress_op.h" +#include "source_base/constants.h" +#include "source_base/module_device/device.h" #include "vnl_tools_cu.hpp" #include "source_base/module_device/types.h" #include #include #include -#include #include @@ -703,43 +704,51 @@ __global__ void cal_stress_drhoc_aux3( template __global__ void cal_force_npw( const thrust::complex *psiv, - const FPTYPE* gv_x, const FPTYPE* gv_y, const FPTYPE* gv_z, + const FPTYPE* gv, const FPTYPE* rhocgigg_vec, FPTYPE* force, - const FPTYPE pos_x, const FPTYPE pos_y, const FPTYPE pos_z, + const FPTYPE* tau, const int npw, const FPTYPE omega, const FPTYPE tpiba ){ - const double TWO_PI = 2.0 * 3.14159265358979323846; - int tid = blockIdx.x * blockDim.x + threadIdx.x; - int begin_idx = tid * 1024; - if(begin_idx > npw) return; + int ia = blockIdx.x; + int tid = threadIdx.x; + if(tid > npw) return; + FPTYPE pos_x = tau[ia * 3]; + FPTYPE pos_y = tau[ia * 3 + 1]; + FPTYPE pos_z = tau[ia * 3 + 2]; FPTYPE t_force0 = 0; FPTYPE t_force1 = 0; FPTYPE t_force2 = 0; - for(int ig = begin_idx; ig psiv_conj = conj(psiv[ig]); - const FPTYPE arg = TWO_PI * (gv_x[ig] * pos_x + gv_y[ig] * pos_y + gv_z[ig] * pos_z); - const FPTYPE sinp = sin(arg); - const FPTYPE cosp = cos(arg); + const FPTYPE arg = ModuleBase::TWO_PI * (gv[ig * 3] * pos_x + gv[ig * 3 + 1] * pos_y + gv[ig * 3 + 2] * pos_z); + FPTYPE sinp, cosp; + sincos(arg, &sinp, &cosp); const thrust::complex expiarg = thrust::complex(sinp, cosp); const thrust::complex tmp_var = psiv_conj * expiarg * tpiba * omega * rhocgigg_vec[ig]; - const thrust::complex ipol0 = tmp_var * gv_x[ig]; + const thrust::complex ipol0 = tmp_var * gv[ig * 3]; t_force0 += ipol0.real(); - const thrust::complex ipol1 = tmp_var * gv_y[ig]; + const thrust::complex ipol1 = tmp_var * gv[ig * 3 + 1]; t_force1 += ipol1.real(); - const thrust::complex ipol2 = tmp_var * gv_z[ig]; + const thrust::complex ipol2 = tmp_var * gv[ig * 3 + 2]; t_force2 += ipol2.real(); } - atomicAdd(&force[0], t_force0); - atomicAdd(&force[1], t_force1); - atomicAdd(&force[2], t_force2); + __syncwarp(); + warp_reduce(t_force0); + warp_reduce(t_force1); + warp_reduce(t_force2); + if (threadIdx.x % WARP_SIZE == 0) { + atomicAdd(&force[ia * 3], t_force0); + atomicAdd(&force[ia * 3 + 1], t_force1); + atomicAdd(&force[ia * 3 + 2], t_force2); + } } template @@ -880,22 +889,17 @@ void cal_stress_drhoc_aux_op::operator()( template void cal_force_npw_op::operator()( const std::complex *psiv, - const FPTYPE* gv_x, const FPTYPE* gv_y, const FPTYPE* gv_z, + const FPTYPE* gv, const FPTYPE* rhocgigg_vec, FPTYPE* force, - const FPTYPE pos_x, const FPTYPE pos_y, const FPTYPE pos_z, + const FPTYPE* tau, const int npw, - const FPTYPE omega, const FPTYPE tpiba + const FPTYPE omega, const FPTYPE tpiba, const int na ) { - // Divide the npw size range into blocksize 1024 blocks - int t_size = 1024; - int t_num = (npw%t_size) ? (npw/t_size + 1) : (npw/t_size); - dim3 npwgrid(((t_num%THREADS_PER_BLOCK) ? (t_num/THREADS_PER_BLOCK + 1) : (t_num/THREADS_PER_BLOCK))); - - cal_force_npw <<< npwgrid, THREADS_PER_BLOCK >>> ( + cal_force_npw <<>> ( reinterpret_cast*>(psiv), - gv_x, gv_y, gv_z, rhocgigg_vec, force, pos_x, pos_y, pos_z, + gv, rhocgigg_vec, force, tau, npw, omega, tpiba ); return ; diff --git a/source/source_pw/module_pwdft/kernels/force_op.h b/source/source_pw/module_pwdft/kernels/force_op.h index ca15580d5a..e31721913c 100644 --- a/source/source_pw/module_pwdft/kernels/force_op.h +++ b/source/source_pw/module_pwdft/kernels/force_op.h @@ -164,6 +164,21 @@ struct cal_force_loc_op{ const int vloc_nr, FPTYPE* forcelc) {}; }; + +template +struct cal_force_ew_op{ + void operator()( + const int nat, + const int npw, + const int ig_gge0, + const int* iat2it, + const FPTYPE* gcar, + const FPTYPE* tau, + const FPTYPE* it_fact, + const std::complex* aux, + FPTYPE* forceion + ) {}; +}; #if __CUDA || __UT_USE_CUDA || __ROCM || __UT_USE_ROCM template struct cal_vkb1_nl_op @@ -305,6 +320,21 @@ struct cal_force_loc_op{ const int vloc_nr, FPTYPE* forcelc); }; + +template +struct cal_force_ew_op{ + void operator()( + const int nat, + const int npw, + const int ig_gge0, + const int* iat2it, + const FPTYPE* gcar, + const FPTYPE* tau, + const FPTYPE* it_fact, + const std::complex* aux, + FPTYPE* forceion + ); +}; #endif // __CUDA || __UT_USE_CUDA || __ROCM || __UT_USE_ROCM } // namespace hamilt #endif // W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_source_pw_HAMILT_PWDFT_KERNELS_FORCE_OP_H \ No newline at end of file diff --git a/source/source_pw/module_pwdft/kernels/mul_potential_op.cpp b/source/source_pw/module_pwdft/kernels/mul_potential_op.cpp index 85647e065d..53cf7a6ff3 100644 --- a/source/source_pw/module_pwdft/kernels/mul_potential_op.cpp +++ b/source/source_pw/module_pwdft/kernels/mul_potential_op.cpp @@ -14,8 +14,8 @@ struct mul_potential_op, base_device::DEVICE_CPU> #endif for (int ig = 0; ig < npw; ig++) { - int ig_kq = ik * nks * npw + iq * npw + ig; - density_recip[ig] *= pot[ig_kq]; + // int ig_kq = ik * nks * npw + iq * npw + ig; + density_recip[ig] *= pot[ig]; } } diff --git a/source/source_pw/module_pwdft/kernels/rocm/stress_op.hip.cu b/source/source_pw/module_pwdft/kernels/rocm/stress_op.hip.cu index 0ea37fa059..dd3a053f02 100644 --- a/source/source_pw/module_pwdft/kernels/rocm/stress_op.hip.cu +++ b/source/source_pw/module_pwdft/kernels/rocm/stress_op.hip.cu @@ -844,23 +844,17 @@ void cal_stress_drhoc_aux_op::operator()( template void cal_force_npw_op::operator()( const std::complex *psiv, - const FPTYPE* gv_x, const FPTYPE* gv_y, const FPTYPE* gv_z, + const FPTYPE* gv, const FPTYPE* rhocgigg_vec, FPTYPE* force, - const FPTYPE pos_x, const FPTYPE pos_y, const FPTYPE pos_z, + const FPTYPE* tau, const int npw, - const FPTYPE omega, const FPTYPE tpiba + const FPTYPE omega, const FPTYPE tpiba, const int na ) { - int t_size = 1024; - int t_num = (npw%t_size) ? (npw/t_size + 1) : (npw/t_size); - - dim3 npwgrid(((t_num%THREADS_PER_BLOCK) ? (t_num/THREADS_PER_BLOCK + 1) : (t_num/THREADS_PER_BLOCK))); - - - hipLaunchKernelGGL(HIP_KERNEL_NAME(cal_force_npw), npwgrid, THREADS_PER_BLOCK,0,0, + hipLaunchKernelGGL(HIP_KERNEL_NAME(cal_force_npw), na, THREADS_PER_BLOCK,0,0, reinterpret_cast*>(psiv), - gv_x, gv_y, gv_z, rhocgigg_vec, force, pos_x, pos_y, pos_z, + gv, rhocgigg_vec, force, tau, npw, omega, tpiba ); diff --git a/source/source_pw/module_pwdft/kernels/stress_op.cpp b/source/source_pw/module_pwdft/kernels/stress_op.cpp index bee19ceb96..46fccdeed6 100644 --- a/source/source_pw/module_pwdft/kernels/stress_op.cpp +++ b/source/source_pw/module_pwdft/kernels/stress_op.cpp @@ -629,49 +629,6 @@ struct cal_stress_drhoc_aux_op { } }; - -template -struct cal_force_npw_op { - void operator()(const std::complex* psiv, - const FPTYPE* gv_x, - const FPTYPE* gv_y, - const FPTYPE* gv_z, - const FPTYPE* rhocgigg_vec, - FPTYPE* force, - const FPTYPE pos_x, - const FPTYPE pos_y, - const FPTYPE pos_z, - const int npw, - const FPTYPE omega, - const FPTYPE tpiba) - { - -#ifdef _OPENMP -#pragma omp for nowait -#endif - for (int ig = 0; ig < npw; ig++) - { - const std::complex psiv_conj = conj(psiv[ig]); - - const FPTYPE arg = ModuleBase::TWO_PI * (gv_x[ig] * pos_x + gv_y[ig] * pos_y + gv_z[ig] * pos_z); - FPTYPE sinp, cosp; - ModuleBase::libm::sincos(arg, &sinp, &cosp); - const std::complex expiarg = std::complex(sinp, cosp); - - const std::complex tmp_var = psiv_conj * expiarg * tpiba * omega * rhocgigg_vec[ig]; - - const std::complex ipol0 = tmp_var * gv_x[ig]; - force[0] += ipol0.real(); - - const std::complex ipol1 = tmp_var * gv_y[ig]; - force[1] += ipol1.real(); - - const std::complex ipol2 = tmp_var * gv_z[ig]; - force[2] += ipol2.real(); - } - } -}; - template struct cal_multi_dot_op { FPTYPE operator()(const int& npw, @@ -768,9 +725,6 @@ template struct cal_vq_deri_op; template struct cal_stress_drhoc_aux_op; template struct cal_stress_drhoc_aux_op; -template struct cal_force_npw_op; -template struct cal_force_npw_op; - template struct cal_multi_dot_op; template struct cal_multi_dot_op; diff --git a/source/source_pw/module_pwdft/kernels/stress_op.h b/source/source_pw/module_pwdft/kernels/stress_op.h index 58c0f22e1b..fc81f355e4 100644 --- a/source/source_pw/module_pwdft/kernels/stress_op.h +++ b/source/source_pw/module_pwdft/kernels/stress_op.h @@ -241,13 +241,13 @@ struct cal_stress_drhoc_aux_op{ template struct cal_force_npw_op{ void operator()(const std::complex *psiv, - const FPTYPE* gv_x, const FPTYPE* gv_y, const FPTYPE* gv_z, + const FPTYPE* gv, const FPTYPE* rhocgigg_vec, FPTYPE* force, - const FPTYPE pos_x, const FPTYPE pos_y, const FPTYPE pos_xz, + const FPTYPE* tau_x, const int npw, - const FPTYPE omega, const FPTYPE tpiba - ); + const FPTYPE omega, const FPTYPE tpiba, const int na + ) {} }; template @@ -480,12 +480,12 @@ struct cal_stress_drhoc_aux_op{ template struct cal_force_npw_op{ void operator()(const std::complex *psiv, - const FPTYPE* gv_x, const FPTYPE* gv_y, const FPTYPE* gv_z, + const FPTYPE* gv, const FPTYPE* rhocgigg_vec, FPTYPE* force, - const FPTYPE pos_x, const FPTYPE pos_y, const FPTYPE pos_xz, + const FPTYPE* tau, const int npw, - const FPTYPE omega, const FPTYPE tpiba + const FPTYPE omega, const FPTYPE tpiba, const int na ); }; diff --git a/source/source_pw/module_pwdft/kernels/veff_op.cpp b/source/source_pw/module_pwdft/kernels/veff_op.cpp index 23646e9608..e8f4b18b3a 100644 --- a/source/source_pw/module_pwdft/kernels/veff_op.cpp +++ b/source/source_pw/module_pwdft/kernels/veff_op.cpp @@ -8,7 +8,7 @@ struct veff_pw_op void operator()(const base_device::DEVICE_CPU* dev, const int& size, std::complex* out, const FPTYPE* in) { #ifdef _OPENMP -#pragma omp parallel for schedule(static, 4096/sizeof(FPTYPE)) +#pragma omp parallel for schedule(static) #endif for (int ir = 0; ir < size; ++ir) { diff --git a/source/source_pw/module_pwdft/module_exx_helper/exx_helper.cpp b/source/source_pw/module_pwdft/module_exx_helper/exx_helper.cpp index ffa671c42d..1b41163967 100644 --- a/source/source_pw/module_pwdft/module_exx_helper/exx_helper.cpp +++ b/source/source_pw/module_pwdft/module_exx_helper/exx_helper.cpp @@ -8,7 +8,7 @@ double Exx_Helper::cal_exx_energy(psi::Psi *psi_) } template -bool Exx_Helper::exx_after_converge(int &iter) +bool Exx_Helper::exx_after_converge(int &iter, bool ene_conv) { if (op_exx->first_iter) { @@ -18,10 +18,20 @@ bool Exx_Helper::exx_after_converge(int &iter) { return true; } - else if (iter == 1) + else if (PARAM.inp.exx_thr_type == "energy" && ene_conv) { return true; } + else if (PARAM.inp.exx_thr_type == "density" && iter == 1) + { + return true; + } + else if (iter >= PARAM.inp.exx_hybrid_step) + { + GlobalV::ofs_running << " !!EXX IS NOT CONVERGED!!" << std::endl; + std::cout << " !!EXX IS NOT CONVERGED!!" << std::endl; + return true; + } GlobalV::ofs_running << "Updating EXX and rerun SCF" << std::endl; iter = 0; return false; diff --git a/source/source_pw/module_pwdft/module_exx_helper/exx_helper.h b/source/source_pw/module_pwdft/module_exx_helper/exx_helper.h index a67afbc80e..77c6c84295 100644 --- a/source/source_pw/module_pwdft/module_exx_helper/exx_helper.h +++ b/source/source_pw/module_pwdft/module_exx_helper/exx_helper.h @@ -21,6 +21,7 @@ struct Exx_Helper void set_firstiter(bool flag = true) { first_iter = flag; } void set_wg(const ModuleBase::matrix *wg_) { wg = wg_; } void set_psi(psi::Psi *psi_); + void iter_inc() { exx_iter++; } void set_op() { @@ -29,7 +30,7 @@ struct Exx_Helper op_exx->set_wg(wg); } - bool exx_after_converge(int &iter); + bool exx_after_converge(int &iter, bool ene_conv); double cal_exx_energy(psi::Psi *psi_); @@ -37,6 +38,7 @@ struct Exx_Helper bool first_iter = false; psi::Psi *psi = nullptr; const ModuleBase::matrix *wg = nullptr; + int exx_iter = 0; }; #endif // EXX_HELPER_H diff --git a/source/source_pw/module_pwdft/operator_pw/CMakeLists.txt b/source/source_pw/module_pwdft/operator_pw/CMakeLists.txt index e4f2ef4f10..0a0e923ee0 100644 --- a/source/source_pw/module_pwdft/operator_pw/CMakeLists.txt +++ b/source/source_pw/module_pwdft/operator_pw/CMakeLists.txt @@ -6,6 +6,9 @@ list(APPEND operator_ks_pw_srcs meta_pw.cpp velocity_pw.cpp onsite_proj_pw.cpp + op_exx_pw.cpp + exx_pw_ace.cpp + exx_pw_pot.cpp ) # this library is included in module_pwdft now diff --git a/source/source_pw/module_pwdft/operator_pw/exx_pw_ace.cpp b/source/source_pw/module_pwdft/operator_pw/exx_pw_ace.cpp new file mode 100644 index 0000000000..1e62477e5d --- /dev/null +++ b/source/source_pw/module_pwdft/operator_pw/exx_pw_ace.cpp @@ -0,0 +1,343 @@ +#include "op_exx_pw.h" +#include "source_base/parallel_comm.h" +#include "source_io/module_parameter/parameter.h" + +namespace hamilt +{ +template +void OperatorEXXPW::act_op_ace(const int nbands, + const int nbasis, + const int npol, + const T *tmpsi_in, + T *tmhpsi, + const int ngk_ik, + const bool is_first_node) const +{ + ModuleBase::timer::tick("OperatorEXXPW", "act_op_ace"); + // std::cout << "act_op_ace" << std::endl; + // hpsi += -Xi^\dagger * Xi * psi + T* Xi_ace = Xi_ace_k[this->ik]; + int nbands_tot = psi.get_nbands(); + int nbasis_max = psi.get_nbasis(); + // T* hpsi = nullptr; + // resmem_complex_op()(hpsi, nbands_tot * nbasis); + // setmem_complex_op()(hpsi, 0, nbands_tot * nbasis); + T* Xi_psi = nullptr; + resmem_complex_op()(Xi_psi, nbands_tot * nbands); + setmem_complex_op()(Xi_psi, 0, nbands_tot * nbands); + + char trans_N = 'N', trans_T = 'T', trans_C = 'C'; + T intermediate_one = 1.0, intermediate_zero = 0.0, intermediate_minus_one = -1.0; + // Xi * psi + gemm_complex_op()(trans_N, + trans_N, + nbands_tot, + nbands, + nbasis, + &intermediate_one, + Xi_ace, + nbands_tot, + tmpsi_in, + nbasis, + &intermediate_zero, + Xi_psi, + nbands_tot + ); + + Parallel_Reduce::reduce_pool(Xi_psi, nbands_tot * nbands); + + // Xi^\dagger * (Xi * psi) + gemm_complex_op()(trans_C, + trans_N, + nbasis, + nbands, + nbands_tot, + &intermediate_minus_one, + Xi_ace, + nbands_tot, + Xi_psi, + nbands_tot, + &intermediate_one, + tmhpsi, + nbasis + ); + + delmem_complex_op()(Xi_psi); + ModuleBase::timer::tick("OperatorEXXPW", "act_op_ace"); + +} + +template +void OperatorEXXPW::construct_ace() const +{ + int nbands = psi.get_nbands(); + int nbasis = psi.get_nbasis(); + int nk = psi.get_nk(); + + int* ik_ = const_cast(&this->ik); + int ik_save = this->ik; + + T intermediate_one = 1.0, intermediate_zero = 0.0; + + if (h_psi_ace == nullptr) + { + resmem_complex_op()(h_psi_ace, nbands * nbasis); + setmem_complex_op()(h_psi_ace, 0, nbands * nbasis); + } + + if (Xi_ace_k.size() != nk) + { + Xi_ace_k.resize(nk); + for (int i = 0; i < nk; i++) + { + resmem_complex_op()(Xi_ace_k[i], nbands * nbasis); + } + } + + for (int i = 0; i < nk; i++) + { + setmem_complex_op()(Xi_ace_k[i], 0, nbands * nbasis); + } + + if (L_ace == nullptr) + { + resmem_complex_op()(L_ace, nbands * nbands); + setmem_complex_op()(L_ace, 0, nbands * nbands); + } + + if (psi_h_psi_ace == nullptr) + { + resmem_complex_op()(psi_h_psi_ace, nbands * nbands); + } + + if (first_iter) return; + ModuleBase::timer::tick("OperatorEXXPW", "construct_ace"); + + int nk_max = kv->para_k.get_max_nks_pool(); + int nspin_fac = PARAM.inp.nspin == 2 ? 2 : 1; + for (int ispin = 0; ispin < nspin_fac; ispin++) + { + for (int ik0 = 0; ik0 < nk_max; ik0++) + { + int ik = ik0 + ispin * wfcpw->nks / nspin_fac; + // printf("ik: %d\n", ik); + int npwk = wfcpw->npwk[ik]; + + T* Xi_ace = Xi_ace_k[ik]; + psi.fix_kb(ik, 0); + T* p_psi = psi.get_pointer(); + + setmem_complex_op()(h_psi_ace, 0, nbands * nbasis); + + setmem_complex_op()(h_psi_recip, 0, wfcpw->npwk_max); + setmem_complex_op()(h_psi_real, 0, rhopw_dev->nrxx); + setmem_complex_op()(density_real, 0, rhopw_dev->nrxx); + setmem_complex_op()(density_recip, 0, rhopw_dev->npw); + setmem_complex_op()(psi_nk_real, 0, wfcpw->nrxx); + setmem_complex_op()(psi_mq_real, 0, wfcpw->nrxx); + int nqs = kv->get_nkstot_full(); + + bool skip_ik = false; + if (ik >= wfcpw->nks) + { + skip_ik = true; + } + if (skip_ik) + { + // ik fixed here, select band n + for (int iq0 = 0; iq0 < nqs; iq0++) + { + // For nspin=2, iq should be in the same spin channel as ik + int iq; + + int nk = wfcpw->nks / 2; + iq = iq0 + ispin * nk; // iq in the same spin channel + + // for \psi_nk, get the pw of iq and band m + get_exx_potential(kv, wfcpw, rhopw_dev, pot, tpiba, gamma_extrapolation, ucell->omega, ik, iq); + + // decide which pool does the iq belong to + int iq_pool = kv->para_k.whichpool[iq0]; + int iq_loc = iq - kv->para_k.startk_pool[iq_pool]; + + for (int m_iband = 0; m_iband < psi.get_nbands(); m_iband++) + { + double wg_mqb = 0; + if (iq_pool == GlobalV::MY_POOL) + { + wg_mqb = (*wg)(iq_loc, m_iband); + } +#ifdef __MPI + MPI_Bcast(&wg_mqb, 1, MPI_DOUBLE, kv->para_k.get_startpro_pool(iq_pool), MPI_COMM_WORLD); +#endif + if (wg_mqb < 1e-12) + continue; + + if (iq_pool == GlobalV::MY_POOL) + { + const T* psi_mq = get_pw(m_iband, iq_loc); + wfcpw->recip_to_real(ctx, psi_mq, psi_mq_real, iq_loc); + // send + } + // if (iq == 0) + // std::cout << "Bcast psi_mq_real" << std::endl; +#ifdef __MPI +#ifdef __CUDA_MPI + MPI_Bcast(psi_mq_real, wfcpw->nrxx, MPI_DOUBLE_COMPLEX, iq_pool, KP_WORLD); +#else + if (PARAM.inp.device == "cpu") + { + MPI_Bcast(psi_mq_real, wfcpw->nrxx, MPI_DOUBLE_COMPLEX, iq_pool, KP_WORLD); + } + else if (PARAM.inp.device == "gpu") + { + // need to copy to cpu first + T* psi_mq_real_cpu = new T[wfcpw->nrxx]; + syncmem_complex_d2c_op()(psi_mq_real_cpu, psi_mq_real, wfcpw->nrxx); + MPI_Bcast(psi_mq_real_cpu, wfcpw->nrxx, MPI_DOUBLE_COMPLEX, iq_pool, KP_WORLD); + syncmem_complex_c2d_op()(psi_mq_real, psi_mq_real_cpu, wfcpw->nrxx); + delete[] psi_mq_real_cpu; + } + else + { + ModuleBase::WARNING_QUIT("OperatorEXXPW", "construct_ace: unknown device"); + } +#endif +#endif + + } // end of iq + + } + } + else + { + *ik_ = ik; + act_op_kpar(nbands, nbasis, 1, p_psi, h_psi_ace, nbasis, false); + // psi_h_psi_ace = psi^\dagger * h_psi_ace + // p_exx_helper->psi.fix_kb(0, 0); + gemm_complex_op()('C', + 'N', + nbands, + nbands, + npwk, + &intermediate_one, + p_psi, + nbasis, + h_psi_ace, + nbasis, + &intermediate_zero, + psi_h_psi_ace, + nbands); + + // reduction of psi_h_psi_ace, due to distributed memory + Parallel_Reduce::reduce_pool(psi_h_psi_ace, nbands * nbands); + + T intermediate_minus_one = -1.0; + axpy_complex_op()(nbands * nbands, + &intermediate_minus_one, + psi_h_psi_ace, + 1, + L_ace, + 1); + + + int info = 0; + char up = 'U', lo = 'L'; + + // for (int i = 0; i < nbands; ++i) + // { + // for (int j = 0; j < nbands; ++j) + // { + // // std::cout << L_ace[i * nbands + j]. << " "; + // if (L_ace[i * nbands + j].imag() >= 0.0) + // { + // std::cout << L_ace[i * nbands + j].real() << "+" << L_ace[i * nbands + j].imag() << "im "; + // } + // else + // { + // std::cout << L_ace[i * nbands + j].real() << L_ace[i * nbands + j].imag() << "im "; + // } + // } + // std::cout << ";" << std::endl; + // } + // MPI_Barrier(MPI_COMM_WORLD); + // MPI_Abort(MPI_COMM_WORLD, 0); + + lapack_potrf()(lo, nbands, L_ace, nbands); + + // expand for-loop + for (int i = 0; i < nbands; ++i) { + setmem_complex_op()(L_ace + i * nbands, 0, i); + } + + // L_ace inv in place + char non = 'N'; + lapack_trtri()(lo, non, nbands, L_ace, nbands); + + // Xi_ace = L_ace^-1 * h_psi_ace^dagger + gemm_complex_op()('N', + 'C', + nbands, + npwk, + nbands, + &intermediate_one, + L_ace, + nbands, + h_psi_ace, + nbasis, + &intermediate_zero, + Xi_ace, + nbands); + + // clear mem + setmem_complex_op()(h_psi_ace, 0, nbands * nbasis); + setmem_complex_op()(psi_h_psi_ace, 0, nbands * nbands); + setmem_complex_op()(L_ace, 0, nbands * nbands); + } + } + } + + *ik_ = ik_save; + + ModuleBase::timer::tick("OperatorEXXPW", "construct_ace"); + +} + +template +double OperatorEXXPW::cal_exx_energy_ace(psi::Psi* ppsi_) const +{ + double Eexx = 0; + int nspin_fac = PARAM.inp.nspin == 2 ? 2 : 1; + psi::Psi psi_ = *ppsi_; + int* ik_ = const_cast(&this->ik); + int ik_save = this->ik; + for (int i = 0; i < wfcpw->nks; i++) + { + setmem_complex_op()(h_psi_ace, 0, psi_.get_nbands() * psi_.get_nbasis()); + *ik_ = i; + psi_.fix_kb(i, 0); + T* psi_i = psi_.get_pointer(); + act_op_ace(psi_.get_nbands(), psi_.get_nbasis(), 1, psi_i, h_psi_ace, 0, true); + + for (int nband = 0; nband < psi_.get_nbands(); nband++) + { + psi_.fix_kb(i, nband); + T* psi_i_n = psi_.get_pointer(); + T* hpsi_i_n = h_psi_ace + nband * psi_.get_nbasis(); + double wg_i_n = (*wg)(i, nband); + // Eexx += dot(psi_i_n, h_psi_i_n) + Eexx += dot_op()(psi_.get_nbasis(), psi_i_n, hpsi_i_n, false) * wg_i_n * 2; + } + } + + Parallel_Reduce::reduce_all(Eexx); + *ik_ = ik_save; + return Eexx; +} +template class OperatorEXXPW, base_device::DEVICE_CPU>; +template class OperatorEXXPW, base_device::DEVICE_CPU>; +#if ((defined __CUDA) || (defined __ROCM)) +template class OperatorEXXPW, base_device::DEVICE_GPU>; +template class OperatorEXXPW, base_device::DEVICE_GPU>; +#endif +} \ No newline at end of file diff --git a/source/source_pw/module_pwdft/operator_pw/exx_pw_pot.cpp b/source/source_pw/module_pwdft/operator_pw/exx_pw_pot.cpp new file mode 100644 index 0000000000..924380d9dd --- /dev/null +++ b/source/source_pw/module_pwdft/operator_pw/exx_pw_pot.cpp @@ -0,0 +1,590 @@ +#include "op_exx_pw.h" +#include "source_io/module_parameter/parameter.h" +#include "source_pw/module_pwdft/global.h" + +namespace hamilt +{ +template +void get_exx_potential(const K_Vectors* kv, + const ModulePW::PW_Basis_K* wfcpw, + ModulePW::PW_Basis* rhopw_dev, + Real* pot, + double tpiba, + bool gamma_extrapolation, + double ucell_omega, + int ik, + int iq, + bool is_stress) +{ + using setmem_real_cpu_op = base_device::memory::set_memory_op; + using syncmem_real_c2d_op = base_device::memory::synchronize_memory_op; + + Real nqs_half1 = 0.5 * kv->nmp[0]; + Real nqs_half2 = 0.5 * kv->nmp[1]; + Real nqs_half3 = 0.5 * kv->nmp[2]; + + Real* pot_cpu = nullptr; + int nks = wfcpw->nks, npw = rhopw_dev->npw; + double tpiba2 = tpiba * tpiba; + pot_cpu = new Real[npw]; + // fill zero + setmem_real_cpu_op()(pot_cpu, 0, npw); + + std::vector> qvec_c, qvec_d; +#ifdef __MPI + kv->para_k.gatherkvec(kv->kvec_c, qvec_c); + kv->para_k.gatherkvec(kv->kvec_d, qvec_d); +#else + qvec_c = kv->kvec_c; + qvec_d = kv->kvec_d; +#endif + + if (ik > nks) + { + return; + } + + // calculate Fock pot + auto param_fock = GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Fock]; + for (int i = 0; i < param_fock.size(); i++) + { + auto param = param_fock[i]; + double exx_div = OperatorEXXPW, Device>::fock_div[i]; + double alpha = std::stod(param["alpha"]); + const ModuleBase::Vector3 k_c = wfcpw->kvec_c[ik]; + const ModuleBase::Vector3 k_d = wfcpw->kvec_d[ik]; + const ModuleBase::Vector3 q_c = qvec_c[iq]; + const ModuleBase::Vector3 q_d = qvec_d[iq]; + +#ifdef _OPENMP +#pragma omp parallel for schedule(static) +#endif + for (int ig = 0; ig < rhopw_dev->npw; ig++) + { + const ModuleBase::Vector3 g_d = rhopw_dev->gdirect[ig]; + const ModuleBase::Vector3 kqg_d = k_d - q_d + g_d; + // For gamma_extrapolation (https://doi.org/10.1103/PhysRevB.79.205114) + // 7/8 of the points in the grid are "activated" and 1/8 are disabled. + // grid_factor is designed for the 7/8 of the grid to function like all of the points + Real grid_factor = 1; + double extrapolate_grid = 8.0 / 7.0; + if (gamma_extrapolation) + { + // if isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3) + auto isint = [](double x) { + double epsilon = 1e-6; // this follows the isint judgement in q-e + return std::abs(x - std::round(x)) < epsilon; + }; + if (isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3)) + { + grid_factor = 0; + } + else + { + grid_factor = extrapolate_grid; + } + } + + const int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1; + const int nk = nks / nk_fac; + + Real gg = (k_c - q_c + rhopw_dev->gcar[ig]).norm2() * tpiba2; + // if (kqgcar2 > 1e-12) // vasp uses 1/40 of the smallest (k spacing)**2 + if (gg >= 1e-8) + { + Real fac = -ModuleBase::FOUR_PI * ModuleBase::e2 / gg; + pot_cpu[ig] += fac * grid_factor * alpha; + } + // } + else + { + pot_cpu[ig] += exx_div * alpha; + } + // assert(is_finite(density_recip[ig])); + } + } + + // calculate erfc pot + auto param_erfc = GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Erfc]; + for (int i = 0; i < param_erfc.size(); i++) + { + auto param = param_erfc[i]; + double erfc_omega = std::stod(param["omega"]); + double erfc_omega2 = erfc_omega * erfc_omega; + double alpha = std::stod(param["alpha"]); + // double exx_div = OperatorEXXPW, Device>::erfc_div[i]; + double exx_div = exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type::Erfc, + erfc_omega, + kv, + wfcpw, + rhopw_dev, + tpiba, + gamma_extrapolation, + ucell_omega); + const ModuleBase::Vector3 k_c = wfcpw->kvec_c[ik]; + const ModuleBase::Vector3 k_d = wfcpw->kvec_d[ik]; + const ModuleBase::Vector3 q_c = qvec_c[iq]; + const ModuleBase::Vector3 q_d = qvec_d[iq]; + +#ifdef _OPENMP +#pragma omp parallel for schedule(static) +#endif + for (int ig = 0; ig < rhopw_dev->npw; ig++) + { + const ModuleBase::Vector3 g_d = rhopw_dev->gdirect[ig]; + const ModuleBase::Vector3 kqg_d = k_d - q_d + g_d; + // For gamma_extrapolation (https://doi.org/10.1103/PhysRevB.79.205114) + // 7/8 of the points in the grid are "activated" and 1/8 are disabled. + // grid_factor is designed for the 7/8 of the grid to function like all of the points + Real grid_factor = 1; + double extrapolate_grid = 8.0 / 7.0; + if (gamma_extrapolation) + { + // if isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3) + auto isint = [](double x) { + double epsilon = 1e-6; // this follows the isint judgement in q-e + return std::abs(x - std::round(x)) < epsilon; + }; + if (isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3)) + { + grid_factor = 0; + } + else + { + grid_factor = extrapolate_grid; + } + } + + const int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1; + const int nk = nks / nk_fac; + // const int ig_kq = ik * nks * npw + iq * npw + ig; + + Real gg = (k_c - q_c + rhopw_dev->gcar[ig]).norm2() * tpiba2; + // if (ig == 0 && GlobalV::MY_RANK==1) + // { + // printf("k-q+G: %f %f %f\n", (k_c - q_c + rhopw_dev->gcar[ig])[0], (k_c - q_c + rhopw_dev->gcar[ig])[1], (k_c - q_c + rhopw_dev->gcar[ig])[2]); + // } + // if (kqgcar2 > 1e-12) // vasp uses 1/40 of the smallest (k spacing)**2 + if (gg >= 1e-8) + { + Real fac = -ModuleBase::FOUR_PI * ModuleBase::e2 / gg; + pot_cpu[ig] += fac * (1.0 - std::exp(-gg / 4.0 / erfc_omega2)) * grid_factor * alpha; + } + // } + else + { + // if (PARAM.inp.dft_functional == "hse") + if (!gamma_extrapolation) + { + if (is_stress) + pot_cpu[ig] += (- ModuleBase::PI * ModuleBase::e2 / erfc_omega2) * alpha; + else + pot_cpu[ig] += (exx_div - ModuleBase::PI * ModuleBase::e2 / erfc_omega2) * alpha; + } + else + { + pot_cpu[ig] += exx_div * alpha; + } + } + // assert(is_finite(density_recip[ig])); + } + } + + // copy the potential to the device memory +#ifdef __CUDA + cudaError_t err = cudaHostRegister(pot_cpu, sizeof(Real) * npw, cudaHostRegisterPortable); + if (err != cudaSuccess) { + throw std::runtime_error("failed to register potential CPU memory operations"); + } +#endif + syncmem_real_c2d_op()(pot, pot_cpu, rhopw_dev->npw); +#ifdef __CUDA + cudaHostUnregister(pot_cpu); +#endif + + delete pot_cpu; +} + +template +void get_exx_stress_potential(const K_Vectors* kv, + const ModulePW::PW_Basis_K* wfcpw, + ModulePW::PW_Basis* rhopw_dev, + Real* pot, + double tpiba, + bool gamma_extrapolation, + double ucell_omega, + int ik, + int iq) +{ + using setmem_real_cpu_op = base_device::memory::set_memory_op; + using syncmem_real_c2d_op = base_device::memory::synchronize_memory_op; + + Real nqs_half1 = 0.5 * kv->nmp[0]; + Real nqs_half2 = 0.5 * kv->nmp[1]; + Real nqs_half3 = 0.5 * kv->nmp[2]; + + Real* pot_cpu = nullptr; + int nks = wfcpw->nks, npw = rhopw_dev->npw; + double tpiba2 = tpiba * tpiba; + pot_cpu = new Real[npw]; + // fill zero + setmem_real_cpu_op()(pot_cpu, 0, npw); + + // calculate Fock pot + auto param_fock = GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Fock]; + for (auto param: param_fock) + { + // double exx_div = exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type::Fock, + // 0.0, + // kv, + // wfcpw, + // rhopw_dev, + // tpiba, + // gamma_extrapolation, + // ucell_omega); + double alpha = std::stod(param["alpha"]); + + const ModuleBase::Vector3 k_c = wfcpw->kvec_c[ik]; + const ModuleBase::Vector3 k_d = wfcpw->kvec_d[ik]; + const ModuleBase::Vector3 q_c = wfcpw->kvec_c[iq]; + const ModuleBase::Vector3 q_d = wfcpw->kvec_d[iq]; + +#ifdef _OPENMP +#pragma omp parallel for schedule(static) +#endif + for (int ig = 0; ig < rhopw_dev->npw; ig++) + { + const ModuleBase::Vector3 g_d = rhopw_dev->gdirect[ig]; + const ModuleBase::Vector3 kqg_d = k_d - q_d + g_d; + // For gamma_extrapolation (https://doi.org/10.1103/PhysRevB.79.205114) + // 7/8 of the points in the grid are "activated" and 1/8 are disabled. + // grid_factor is designed for the 7/8 of the grid to function like all of the points + Real grid_factor = 1; + double extrapolate_grid = 8.0 / 7.0; + if (gamma_extrapolation) + { + // if isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3) + auto isint = [](double x) { + double epsilon = 1e-6; // this follows the isint judgement in q-e + return std::abs(x - std::round(x)) < epsilon; + }; + if (isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3)) + { + grid_factor = 0; + } + else + { + grid_factor = extrapolate_grid; + } + } + + const int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1; + const int nk = nks / nk_fac; + // const int ig_kq = ik * nks * npw + iq * npw + ig; + + Real gg = (k_c - q_c + rhopw_dev->gcar[ig]).norm2() * tpiba2; + // if (kqgcar2 > 1e-12) // vasp uses 1/40 of the smallest (k spacing)**2 + if (gg >= 1e-8) + { + Real fac = -ModuleBase::FOUR_PI * ModuleBase::e2 / gg; + pot_cpu[ig] += 1.0 / gg * grid_factor * alpha; + } + } + } + + // calculate erfc pot + auto param_erfc = GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Erfc]; + for (auto param: param_erfc) + { + double erfc_omega = std::stod(param["omega"]); + double erfc_omega2 = erfc_omega * erfc_omega; + double alpha = std::stod(param["alpha"]); + // double exx_div = exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type::Erfc, + // erfc_omega, + // kv, + // wfcpw, + // rhopw_dev, + // tpiba, + // gamma_extrapolation, + // ucell_omega); + + const ModuleBase::Vector3 k_c = wfcpw->kvec_c[ik]; + const ModuleBase::Vector3 k_d = wfcpw->kvec_d[ik]; + const ModuleBase::Vector3 q_c = wfcpw->kvec_c[iq]; + const ModuleBase::Vector3 q_d = wfcpw->kvec_d[iq]; + +#ifdef _OPENMP +#pragma omp parallel for schedule(static) +#endif + for (int ig = 0; ig < rhopw_dev->npw; ig++) + { + const ModuleBase::Vector3 g_d = rhopw_dev->gdirect[ig]; + const ModuleBase::Vector3 kqg_d = k_d - q_d + g_d; + // For gamma_extrapolation (https://doi.org/10.1103/PhysRevB.79.205114) + // 7/8 of the points in the grid are "activated" and 1/8 are disabled. + // grid_factor is designed for the 7/8 of the grid to function like all of the points + Real grid_factor = 1; + double extrapolate_grid = 8.0 / 7.0; + if (gamma_extrapolation) + { + // if isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3) + auto isint = [](double x) { + double epsilon = 1e-6; // this follows the isint judgement in q-e + return std::abs(x - std::round(x)) < epsilon; + }; + if (isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3)) + { + grid_factor = 0; + } + else + { + grid_factor = extrapolate_grid; + } + } + + const int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1; + const int nk = nks / nk_fac; + // const int ig_kq = ik * nks * npw + iq * npw + ig; + + Real gg = (k_c - q_c + rhopw_dev->gcar[ig]).norm2() * tpiba2; + // if (kqgcar2 > 1e-12) // vasp uses 1/40 of the smallest (k spacing)**2 + if (gg >= 1e-8) + { + Real fac = -ModuleBase::FOUR_PI * ModuleBase::e2 / gg; + pot_cpu[ig] += (1.0 - (1.0 + gg / 4.0 / erfc_omega2) * std::exp(-gg / 4.0 / erfc_omega2)) + / (1.0 - std::exp(-gg / 4.0 / erfc_omega2)) / gg * grid_factor * alpha; + } + // } + else + { + // if (PARAM.inp.dft_functional == "hse") + if (!gamma_extrapolation) + { + pot_cpu[ig] += 1.0 / 4.0 / erfc_omega2 * alpha; + } + } + // assert(is_finite(density_recip[ig])); + } + } + + // copy the potential to the device memory +#ifdef __CUDA + cudaError_t err = cudaHostRegister(pot_cpu, sizeof(Real) * npw, cudaHostRegisterPortable); + if (err != cudaSuccess) { + throw std::runtime_error("failed to register potential CPU memory operations"); + } +#endif + syncmem_real_c2d_op()(pot, pot_cpu, rhopw_dev->npw); +#ifdef __CUDA + cudaHostUnregister(pot_cpu); +#endif + + delete pot_cpu; +} + +double exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type coulomb_type, + double erfc_omega, + const K_Vectors* kv, + const ModulePW::PW_Basis_K* wfcpw, + ModulePW::PW_Basis* rhopw_dev, + double tpiba, + bool gamma_extrapolation, + double ucell_omega) +{ + double exx_div = 0; + // return exx_div; + double nqs_half1 = 0.5 * kv->nmp[0]; + double nqs_half2 = 0.5 * kv->nmp[1]; + double nqs_half3 = 0.5 * kv->nmp[2]; + + int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1; + + // here we follow the exx_divergence subroutine in q-e (PW/src/exx_base.f90) + double alpha = 10.0 / wfcpw->gk_ecut; + double tpiba2 = tpiba * tpiba; + double div = 0; + + // this is the \sum_q F(q) part + // temporarily for all k points, should be replaced to q points later + for (int ik = 0; ik < wfcpw->nks / nk_fac; ik++) + { + const ModuleBase::Vector3 k_c = wfcpw->kvec_c[ik]; + const ModuleBase::Vector3 k_d = wfcpw->kvec_d[ik]; +#ifdef _OPENMP +#pragma omp parallel for reduction(+ : div) +#endif + for (int ig = 0; ig < rhopw_dev->npw; ig++) + { + const ModuleBase::Vector3 q_c = k_c + rhopw_dev->gcar[ig]; + const ModuleBase::Vector3 q_d = k_d + rhopw_dev->gdirect[ig]; + double qq = q_c.norm2(); + // For gamma_extrapolation (https://doi.org/10.1103/PhysRevB.79.205114) + // 7/8 of the points in the grid are "activated" and 1/8 are disabled. + // grid_factor is designed for the 7/8 of the grid to function like all of the points + double grid_factor = 1; + double extrapolate_grid = 8.0 / 7.0; + if (gamma_extrapolation) + { + auto isint = [](double x) { + double epsilon = 1e-6; // this follows the isint judgement in q-e + return std::abs(x - std::round(x)) < epsilon; + }; + if (isint(q_d[0] * nqs_half1) && isint(q_d[1] * nqs_half2) && isint(q_d[2] * nqs_half3)) + { + grid_factor = 0; + } + else + { + grid_factor = extrapolate_grid; + } + } + + if (qq <= 1e-8) + continue; + // else if (PARAM.inp.dft_functional == "hse") + else if (coulomb_type == Conv_Coulomb_Pot_K::Coulomb_Type::Erfc) + { + double omega = erfc_omega; + double omega2 = omega * omega; + div += std::exp(-alpha * qq) / qq * (1.0 - std::exp(-qq * tpiba2 / 4.0 / omega2)) * grid_factor; + } + else + { + div += std::exp(-alpha * qq) / qq * grid_factor; + } + } + } + + Parallel_Reduce::reduce_all(div); + // std::cout << "EXX div: " << div << std::endl; + + // if (PARAM.inp.dft_functional == "hse") + if (!gamma_extrapolation) + { + if (coulomb_type == Conv_Coulomb_Pot_K::Coulomb_Type::Erfc) + { + double omega = erfc_omega; + div += tpiba2 / 4.0 / omega / omega; // compensate for the finite value when qq = 0 + } + else + { + div -= alpha; + } + } + + div *= ModuleBase::e2 * ModuleBase::FOUR_PI / tpiba2 / kv->get_nkstot_full(); + // std::cout << "div: " << div << std::endl; + + // numerically value the mean value of F(q) in the reciprocal space + // This means we need to calculate the average of F(q) in the first brillouin zone + alpha /= tpiba2; + int nqq = 100000; + double dq = 5.0 / std::sqrt(alpha) / nqq; + double aa = 0.0; + // if (PARAM.inp.dft_functional == "hse") + if (coulomb_type == Conv_Coulomb_Pot_K::Coulomb_Type::Erfc) + { + double omega = erfc_omega; + double omega2 = omega * omega; +#ifdef _OPENMP +#pragma omp parallel for reduction(+ : aa) +#endif + for (int i = 0; i < nqq; i++) + { + double q = dq * (i + 0.5); + aa -= exp(-alpha * q * q) * exp(-q * q / 4.0 / omega2) * dq; + } + } + aa *= 8 / ModuleBase::FOUR_PI; + aa += 1.0 / std::sqrt(alpha * ModuleBase::PI); + + div -= ModuleBase::e2 * ucell_omega * aa; + exx_div = div * kv->get_nkstot_full(); + // exx_div = 0; + // std::cout << "EXX divergence: " << exx_div << std::endl; + + return exx_div; +} +template class OperatorEXXPW, base_device::DEVICE_CPU>; +template class OperatorEXXPW, base_device::DEVICE_CPU>; +template void get_exx_potential(const K_Vectors*, + const ModulePW::PW_Basis_K*, + ModulePW::PW_Basis*, + float*, + double, + bool, + double, + int, + int, + bool); +template void get_exx_potential(const K_Vectors*, + const ModulePW::PW_Basis_K*, + ModulePW::PW_Basis*, + double*, + double, + bool, + double, + int, + int, + bool); +template void get_exx_stress_potential(const K_Vectors*, + const ModulePW::PW_Basis_K*, + ModulePW::PW_Basis*, + float*, + double, + bool, + double, + int, + int); +template void get_exx_stress_potential(const K_Vectors*, + const ModulePW::PW_Basis_K*, + ModulePW::PW_Basis*, + double*, + double, + bool, + double, + int, + int); +#if ((defined __CUDA) || (defined __ROCM)) +template class OperatorEXXPW, base_device::DEVICE_GPU>; +template class OperatorEXXPW, base_device::DEVICE_GPU>; +template void get_exx_potential(const K_Vectors*, + const ModulePW::PW_Basis_K*, + ModulePW::PW_Basis*, + float*, + double, + bool, + double, + int, + int, + bool); +template void get_exx_potential(const K_Vectors*, + const ModulePW::PW_Basis_K*, + ModulePW::PW_Basis*, + double*, + double, + bool, + double, + int, + int, + bool); +template void get_exx_stress_potential(const K_Vectors*, + const ModulePW::PW_Basis_K*, + ModulePW::PW_Basis*, + float*, + double, + bool, + double, + int, + int); +template void get_exx_stress_potential(const K_Vectors*, + const ModulePW::PW_Basis_K*, + ModulePW::PW_Basis*, + double*, + double, + bool, + double, + int, + int); +#endif +} // namespace hamilt \ No newline at end of file diff --git a/source/source_pw/module_pwdft/operator_pw/onsite_proj_pw.cpp b/source/source_pw/module_pwdft/operator_pw/onsite_proj_pw.cpp index 56b6d3756a..249f78e4a7 100644 --- a/source/source_pw/module_pwdft/operator_pw/onsite_proj_pw.cpp +++ b/source/source_pw/module_pwdft/operator_pw/onsite_proj_pw.cpp @@ -13,9 +13,10 @@ namespace hamilt { template OnsiteProj>::OnsiteProj(const int* isk_in, - const UnitCell* ucell_in, - const bool cal_delta_spin, - const bool cal_dftu) + const UnitCell* ucell_in, + Plus_U *p_dftu, // mohan add 2025-11-06 + const bool cal_delta_spin, + const bool cal_dftu) { this->classname = "OnsiteProj"; this->cal_type = calculation_type::pw_onsite; @@ -23,6 +24,7 @@ OnsiteProj>::OnsiteProj(const int* isk_in, this->ucell = ucell_in; this->has_delta_spin = cal_delta_spin; this->has_dftu = cal_dftu; + this->dftu = p_dftu; // mohan add 2025-11-08 } template @@ -209,15 +211,18 @@ void OnsiteProj>::cal_ps_delta_spin(const int npol, const } template -void OnsiteProj>::cal_ps_dftu(const int npol, const int m) const +void OnsiteProj>::cal_ps_dftu( + const int npol, + const int m) const { - if(!this->has_dftu) return; + if(!this->has_dftu) + { + return; + } auto* onsite_p = projectors::OnsiteProjector::get_instance(); const std::complex* becp = onsite_p->get_becp(); - auto* dftu = ModuleDFTU::DFTU::get_instance(); - // T *ps = new T[tnp * m]; // ModuleBase::GlobalFunc::ZEROS(ps, m * tnp); if (this->nkb_m < m * tnp) { @@ -247,7 +252,7 @@ void OnsiteProj>::cal_ps_dftu(const int npol, const int m) for(int iat=0;iatucell->nat;iat++) { const int it = this->ucell->iat2it[iat]; - const int target_l = dftu->orbital_corr[it]; + const int target_l = this->dftu->orbital_corr[it]; orb_l_iat0[iat] = target_l; const int nproj = onsite_p->get_nh(iat); if(target_l == -1) @@ -354,30 +359,56 @@ void OnsiteProj>::cal_ps_dftu(const int npol, const int m) } template<> -void OnsiteProj, base_device::DEVICE_CPU>>::add_onsite_proj(std::complex *hpsi_in, const int npol, const int m) const +void OnsiteProj, base_device::DEVICE_CPU>>::add_onsite_proj( + std::complex *hpsi_in, + const int npol, + const int m) const {} + template<> -void OnsiteProj, base_device::DEVICE_CPU>>::update_becp(const std::complex *psi_in, const int npol, const int m) const +void OnsiteProj, base_device::DEVICE_CPU>>::update_becp( + const std::complex *psi_in, + const int npol, + const int m) const {} + template<> -void OnsiteProj, base_device::DEVICE_CPU>>::cal_ps_delta_spin(const int npol, const int m) const +void OnsiteProj, base_device::DEVICE_CPU>>::cal_ps_delta_spin( + const int npol, + const int m) const {} + template<> -void OnsiteProj, base_device::DEVICE_CPU>>::cal_ps_dftu(const int npol, const int m) const +void OnsiteProj, base_device::DEVICE_CPU>>::cal_ps_dftu( + const int npol, + const int m) const {} #if ((defined __CUDA) || (defined __ROCM)) template<> -void OnsiteProj, base_device::DEVICE_GPU>>::add_onsite_proj(std::complex *hpsi_in, const int npol, const int m) const +void OnsiteProj, base_device::DEVICE_GPU>>::add_onsite_proj( + std::complex *hpsi_in, + const int npol, + const int m) const {} + template<> -void OnsiteProj, base_device::DEVICE_GPU>>::update_becp(const std::complex *psi_in, const int npol, const int m) const +void OnsiteProj, base_device::DEVICE_GPU>>::update_becp( + const std::complex *psi_in, + const int npol, + const int m) const {} + template<> -void OnsiteProj, base_device::DEVICE_GPU>>::cal_ps_delta_spin(const int npol, const int m) const +void OnsiteProj, base_device::DEVICE_GPU>>::cal_ps_delta_spin( + const int npol, + const int m) const {} + template<> -void OnsiteProj, base_device::DEVICE_GPU>>::cal_ps_dftu(const int npol, const int m) const +void OnsiteProj, base_device::DEVICE_GPU>>::cal_ps_dftu( + const int npol, + const int m) const {} #endif @@ -405,7 +436,6 @@ hamilt::OnsiteProj>::OnsiteProj(const OnsiteProjclassname = "OnsiteProj"; this->cal_type = calculation_type::pw_nonlocal; - // FIXME: } template class OnsiteProj, base_device::DEVICE_CPU>>; @@ -415,4 +445,4 @@ template class OnsiteProj, base_device::DEVICE_C template class OnsiteProj, base_device::DEVICE_GPU>>; template class OnsiteProj, base_device::DEVICE_GPU>>; #endif -} // namespace hamilt \ No newline at end of file +} // namespace hamilt diff --git a/source/source_pw/module_pwdft/operator_pw/onsite_proj_pw.h b/source/source_pw/module_pwdft/operator_pw/onsite_proj_pw.h index b8606aa087..3eca4d99d4 100644 --- a/source/source_pw/module_pwdft/operator_pw/onsite_proj_pw.h +++ b/source/source_pw/module_pwdft/operator_pw/onsite_proj_pw.h @@ -5,6 +5,7 @@ #include "source_cell/unitcell.h" #include "source_base/kernels/math_kernel_op.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 20251106 namespace hamilt { @@ -22,9 +23,11 @@ class OnsiteProj> : public OperatorPW { private: using Real = typename GetTypeReal::type; + public: OnsiteProj(const int* isk_in, const UnitCell* ucell_in, + Plus_U *p_dftu, // mohan add 2025-11-06 const bool cal_delta_spin, const bool cal_dftu); @@ -40,22 +43,27 @@ class OnsiteProj> : public OperatorPW const int npol, const T* tmpsi_in, T* tmhpsi, - const int ngk = 0, - const bool is_first_node = false)const override; + const int ngk = 0, + const bool is_first_node = false)const override; const int *get_isk() const {return this->isk;} const UnitCell *get_ucell() const {return this->ucell;} private: void cal_ps_delta_spin(const int npol, const int m) const; + void cal_ps_dftu(const int npol, const int m) const; + void update_becp(const T* psi_in, const int npol, const int m) const; + void add_onsite_proj(T *hpsi_in, const int npol, const int m) const; const int* isk = nullptr; const UnitCell* ucell = nullptr; + Plus_U *dftu = nullptr; // mohan add 2025-11-06 + mutable int* ip_iat = nullptr; mutable T* lambda_coeff = nullptr; mutable int* orb_l_iat = nullptr; @@ -95,4 +103,4 @@ class OnsiteProj> : public OperatorPW } // namespace hamilt -#endif \ No newline at end of file +#endif diff --git a/source/source_pw/module_pwdft/operator_pw/op_exx_pw.cpp b/source/source_pw/module_pwdft/operator_pw/op_exx_pw.cpp index 68bfca3158..e4e6f9167d 100644 --- a/source/source_pw/module_pwdft/operator_pw/op_exx_pw.cpp +++ b/source/source_pw/module_pwdft/operator_pw/op_exx_pw.cpp @@ -23,6 +23,11 @@ namespace hamilt { +template +std::vector::type> OperatorEXXPW::fock_div = {}; + +template +std::vector::type> OperatorEXXPW::erfc_div = {}; template OperatorEXXPW::OperatorEXXPW(const int* isk_in, @@ -32,6 +37,11 @@ OperatorEXXPW::OperatorEXXPW(const int* isk_in, const UnitCell *ucell) : isk(isk_in), wfcpw(wfcpw_in), rhopw(rhopw_in), kv(kv_in), ucell(ucell) { + if (GlobalV::KPAR != 1 && PARAM.inp.exxace == false) + { + // GlobalV::ofs_running << "EXX Calculation does not support k-point parallelism" << std::endl; + ModuleBase::WARNING_QUIT("OperatorEXXPW", "EXX Calculation does not support k-point parallelism when exxace is set to false"); + } gamma_extrapolation = PARAM.inp.exx_gamma_extrapolation; bool is_mp = kv_in->get_is_mp(); #ifdef __MPI @@ -41,11 +51,6 @@ OperatorEXXPW::OperatorEXXPW(const int* isk_in, { gamma_extrapolation = false; } - if (GlobalV::KPAR != 1) - { - // GlobalV::ofs_running << "EXX Calculation does not support k-point parallelism" << std::endl; - ModuleBase::WARNING_QUIT("OperatorEXXPW", "EXX Calculation does not support k-point parallelism"); - } this->classname = "OperatorEXXPW"; this->ctx = nullptr; @@ -66,23 +71,55 @@ OperatorEXXPW::OperatorEXXPW(const int* isk_in, int nks = wfcpw->nks; int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1; - resmem_real_op()(pot, rhopw->npw * nks * nks); + resmem_real_op()(pot, rhopw->npw); tpiba = ucell->tpiba; Real tpiba2 = tpiba * tpiba; + // initialize rhopw_dev + double ecut_exx = PARAM.inp.ecutexx; + if (ecut_exx == 0.0) + { + ecut_exx = PARAM.inp.ecutrho; + } + rhopw_dev = new ModulePW::PW_Basis(wfcpw->get_device(), rhopw->get_precision()); rhopw_dev->fft_bundle.setfft(wfcpw->get_device(), rhopw->get_precision()); #ifdef __MPI rhopw_dev->initmpi(rhopw->poolnproc, rhopw->poolrank, rhopw->pool_world); #endif // here we can actually use different ecut to init the grids - rhopw_dev->initgrids(rhopw->lat0, rhopw->latvec, rhopw->gridecut_lat * rhopw->tpiba2); + rhopw_dev->initgrids(rhopw->lat0, rhopw->latvec, ecut_exx); rhopw_dev->initgrids(rhopw->lat0, rhopw->latvec, rhopw->nx, rhopw->ny, rhopw->nz); - rhopw_dev->initparameters(rhopw->gamma_only, rhopw->ggecut * rhopw->tpiba2, rhopw->distribution_type, rhopw->xprime); + rhopw_dev->initparameters(rhopw->gamma_only, ecut_exx, rhopw->distribution_type, rhopw->xprime); rhopw_dev->setuptransform(); rhopw_dev->collect_local_pw(); + auto param_fock = GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Fock]; + for (auto param: param_fock) + { + fock_div.push_back(exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type::Fock, + 0.0, + kv, + wfcpw, + rhopw_dev, + tpiba, + gamma_extrapolation, + ucell->omega)); + } + auto param_erfc = GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Erfc]; + for (auto param: param_erfc) + { + erfc_div.push_back(exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type::Erfc, + std::stod(param["omega"]), + kv, + wfcpw, + rhopw_dev, + tpiba, + gamma_extrapolation, + ucell->omega)); + } + } // end of constructor template @@ -137,6 +174,9 @@ void OperatorEXXPW::act(const int nbands, const bool is_first_node) const { if (first_iter) return; + // std::cout << cal_exx_energy_ace(&psi) << " EXX energy" << std::endl; + // MPI_Abort(MPI_COMM_WORLD, 0); + // return; if (is_first_node) { @@ -162,31 +202,23 @@ void OperatorEXXPW::act_op(const int nbands, const int ngk_ik, const bool is_first_node) const { -// std::cout << "nbands: " << nbands -// << " nbasis: " << nbasis -// << " npol: " << npol -// << " ngk_ik: " << ngk_ik -// << " is_first_node: " << is_first_node -// << std::endl; - if (!potential_got) - { - get_potential(); - potential_got = true; - } - -// set_psi(&p_exx_helper->psi); - ModuleBase::timer::tick("OperatorEXXPW", "act_op"); setmem_complex_op()(h_psi_recip, 0, wfcpw->npwk_max); setmem_complex_op()(h_psi_real, 0, rhopw_dev->nrxx); setmem_complex_op()(density_real, 0, rhopw_dev->nrxx); setmem_complex_op()(density_recip, 0, rhopw_dev->npw); - // setmem_complex_op()(psi_all_real, 0, wfcpw->nrxx * GlobalV::NBANDS); - // std::map, bool> has_real; setmem_complex_op()(psi_nk_real, 0, wfcpw->nrxx); setmem_complex_op()(psi_mq_real, 0, wfcpw->nrxx); + auto q_points = get_q_points(this->ik); + // std::cout << "kpoint " << this->ik << ", qpoints: "; + // for (auto iq: q_points) + // std::cout << iq << ", "; + // std::cout << std::endl; + int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1; + int nk = wfcpw->nks / nk_fac; + // ik fixed here, select band n for (int n_iband = 0; n_iband < nbands; n_iband++) { @@ -195,11 +227,11 @@ void OperatorEXXPW::act_op(const int nbands, wfcpw->recip_to_real(ctx, psi_nk, psi_nk_real, this->ik); // for \psi_nk, get the pw of iq and band m - auto q_points = get_q_points(this->ik); + Real nqs = q_points.size(); for (int iq: q_points) { -// std::cout << "ik" << this->ik << " iq" << iq << std::endl; + get_exx_potential(kv, wfcpw, rhopw_dev, pot, tpiba, gamma_extrapolation, ucell->omega, this->ik, iq % nk); for (int m_iband = 0; m_iband < psi.get_nbands(); m_iband++) { // double wg_mqb_real = GlobalC::exx_helper.wg(iq, m_iband); @@ -216,14 +248,10 @@ void OperatorEXXPW::act_op(const int nbands, // direct multiplication in real space, \psi_nk(r) * \psi_mq(r) cal_density_recip(psi_nk_real, psi_mq_real, ucell->omega); - // bring the density to recip space - // rhopw->real2recip(density_real, density_recip); - // multiply the density with the potential in recip space multiply_potential(density_recip, this->ik, iq); // bring the potential back to real space - // rhopw_dev->recip2real(density_recip, density_real); rho_recip2real(density_recip, density_real); if (false) @@ -236,7 +264,6 @@ void OperatorEXXPW::act_op(const int nbands, } T wk_iq = kv->wk[iq]; - T wk_ik = kv->wk[this->ik]; T tmp_scalar = wg_mqb / wk_iq / nqs; axpy_complex_op()(wfcpw->nrxx, @@ -264,207 +291,130 @@ void OperatorEXXPW::act_op(const int nbands, } template -void OperatorEXXPW::act_op_ace(const int nbands, - const int nbasis, - const int npol, - const T *tmpsi_in, - T *tmhpsi, - const int ngk_ik, - const bool is_first_node) const -{ - ModuleBase::timer::tick("OperatorEXXPW", "act_op_ace"); -// std::cout << "act_op_ace" << std::endl; - // hpsi += -Xi^\dagger * Xi * psi - T* Xi_ace = Xi_ace_k[this->ik]; - int nbands_tot = psi.get_nbands(); - int nbasis_max = psi.get_nbasis(); -// T* hpsi = nullptr; -// resmem_complex_op()(hpsi, nbands_tot * nbasis); -// setmem_complex_op()(hpsi, 0, nbands_tot * nbasis); - T* Xi_psi = nullptr; - resmem_complex_op()(Xi_psi, nbands_tot * nbands); - setmem_complex_op()(Xi_psi, 0, nbands_tot * nbands); - - char trans_N = 'N', trans_T = 'T', trans_C = 'C'; - T intermediate_one = 1.0, intermediate_zero = 0.0, intermediate_minus_one = -1.0; - // Xi * psi - gemm_complex_op()(trans_N, - trans_N, - nbands_tot, - nbands, - nbasis, - &intermediate_one, - Xi_ace, - nbands_tot, - tmpsi_in, - nbasis, - &intermediate_zero, - Xi_psi, - nbands_tot - ); - - Parallel_Reduce::reduce_pool(Xi_psi, nbands_tot * nbands); - - // Xi^\dagger * (Xi * psi) - gemm_complex_op()(trans_C, - trans_N, - nbasis, - nbands, - nbands_tot, - &intermediate_minus_one, - Xi_ace, - nbands_tot, - Xi_psi, - nbands_tot, - &intermediate_one, - tmhpsi, - nbasis - ); - - -// // negative sign, add to hpsi -// vec_add_vec_complex_op()(this->ctx, nbands * nbasis, tmhpsi, hpsi, -1, tmhpsi, 1); -// delmem_complex_op()(hpsi); - delmem_complex_op()(Xi_psi); - ModuleBase::timer::tick("OperatorEXXPW", "act_op_ace"); - -} - -template -void OperatorEXXPW::construct_ace() const +void OperatorEXXPW::act_op_kpar(const int nbands, + const int nbasis, + const int npol, + const T *tmpsi_in, + T *tmhpsi, + const int ngk_ik, + const bool is_first_node) const { - ModuleBase::timer::tick("OperatorEXXPW", "construct_ace"); -// int nkb = p_exx_helper->psi.get_nbands() * p_exx_helper->psi.get_nk(); - int nbands = psi.get_nbands(); - int nbasis = psi.get_nbasis(); - int nk = psi.get_nk(); + ModuleBase::timer::tick("OperatorEXXPW", "act_op_kpar"); - int ik_save = this->ik; - int * ik_ = const_cast(&this->ik); - - T intermediate_one = 1.0, intermediate_zero = 0.0; + setmem_complex_op()(h_psi_recip, 0, wfcpw->npwk_max); + setmem_complex_op()(h_psi_real, 0, rhopw_dev->nrxx); + setmem_complex_op()(density_real, 0, rhopw_dev->nrxx); + setmem_complex_op()(density_recip, 0, rhopw_dev->npw); + // setmem_complex_op()(psi_all_real, 0, wfcpw->nrxx * GlobalV::NBANDS); + // std::map, bool> has_real; + setmem_complex_op()(psi_nk_real, 0, wfcpw->nrxx); + setmem_complex_op()(psi_mq_real, 0, wfcpw->nrxx); + int nqs = kv->get_nkstot_full(); + int nspin_fac = PARAM.inp.nspin == 2 ? 2 : 1; + int ispin = this->ik < (wfcpw->nks / nspin_fac) ? 0 : 1; - if (h_psi_ace == nullptr) + // ik fixed here, select band n + for (int iq = 0; iq < nqs; iq++) { - resmem_complex_op()(h_psi_ace, nbands * nbasis); - setmem_complex_op()(h_psi_ace, 0, nbands * nbasis); - } + // for \psi_nk, get the pw of iq and band m + get_exx_potential(kv, wfcpw, rhopw_dev, pot, tpiba, gamma_extrapolation, ucell->omega, this->ik, iq); - if (Xi_ace_k.size() != nk) - { - Xi_ace_k.resize(nk); - for (int i = 0; i < nk; i++) + // decide which pool does the iq belong to + int iq_pool = kv->para_k.whichpool[iq]; + int iq_loc = iq - kv->para_k.startk_pool[iq_pool]; + int iq_loc_spin = iq_loc; + if (ispin == 1) { - resmem_complex_op()(Xi_ace_k[i], nbands * nbasis); + iq_loc_spin += wfcpw->nks / nspin_fac; } - } - for (int i = 0; i < nk; i++) - { - setmem_complex_op()(Xi_ace_k[i], 0, nbands * nbasis); - } + for (int m_iband = 0; m_iband < psi.get_nbands(); m_iband++) + { + double wg_mqb = 0; + if (iq_pool == GlobalV::MY_POOL) + { + wg_mqb = (*wg)(iq_loc_spin, m_iband); + } +#ifdef __MPI + MPI_Bcast(&wg_mqb, 1, MPI_DOUBLE, kv->para_k.get_startpro_pool(iq_pool), MPI_COMM_WORLD); +#endif + if (wg_mqb < 1e-12) + continue; - if (L_ace == nullptr) - { - resmem_complex_op()(L_ace, nbands * nbands); - setmem_complex_op()(L_ace, 0, nbands * nbands); - } + if (iq_pool == GlobalV::MY_POOL) + { + const T* psi_mq = get_pw(m_iband, iq_loc_spin); + wfcpw->recip_to_real(ctx, psi_mq, psi_mq_real, iq_loc); + // send + } +#ifdef __MPI +#ifdef __CUDA_MPI + MPI_Bcast(psi_mq_real, wfcpw->nrxx, MPI_DOUBLE_COMPLEX, iq_pool, KP_WORLD); +#else + if (PARAM.inp.device == "cpu") + { + MPI_Bcast(psi_mq_real, wfcpw->nrxx, MPI_DOUBLE_COMPLEX, iq_pool, KP_WORLD); + } + else if (PARAM.inp.device == "gpu") + { + // need to copy to cpu first + T* psi_mq_real_cpu = new T[wfcpw->nrxx]; + syncmem_complex_d2c_op()(psi_mq_real_cpu, psi_mq_real, wfcpw->nrxx); + MPI_Bcast(psi_mq_real_cpu, wfcpw->nrxx, MPI_DOUBLE_COMPLEX, iq_pool, KP_WORLD); + syncmem_complex_c2d_op()(psi_mq_real, psi_mq_real_cpu, wfcpw->nrxx); + delete[] psi_mq_real_cpu; + } + else + { + ModuleBase::WARNING_QUIT("OperatorEXXPW", "construct_ace: unknown device"); + } +#endif +#endif + for (int n_iband = 0; n_iband < nbands; n_iband++) + { + const T* psi_nk = tmpsi_in + n_iband * nbasis; + // retrieve \psi_nk in real space + wfcpw->recip_to_real(ctx, psi_nk, psi_nk_real, this->ik); - if (psi_h_psi_ace == nullptr) - { - resmem_complex_op()(psi_h_psi_ace, nbands * nbands); - } - if (first_iter) return; + // direct multiplication in real space, \psi_nk(r) * \psi_mq(r) + cal_density_recip(psi_nk_real, psi_mq_real, ucell->omega); - for (int ik = 0; ik < nk; ik++) - { - int npwk = wfcpw->npwk[ik]; - - T* Xi_ace = Xi_ace_k[ik]; - psi.fix_kb(ik, 0); - T* p_psi = psi.get_pointer(); - - setmem_complex_op()(h_psi_ace, 0, nbands * nbasis); - - *ik_ = ik; - - act_op( - nbands, - nbasis, - 1, - p_psi, - h_psi_ace, - nbasis, - false - ); - - // psi_h_psi_ace = psi^\dagger * h_psi_ace - // p_exx_helper->psi.fix_kb(0, 0); - gemm_complex_op()('C', - 'N', - nbands, - nbands, - npwk, - &intermediate_one, - p_psi, - nbasis, - h_psi_ace, - nbasis, - &intermediate_zero, - psi_h_psi_ace, - nbands); - - // reduction of psi_h_psi_ace, due to distributed memory - Parallel_Reduce::reduce_pool(psi_h_psi_ace, nbands * nbands); - - T intermediate_minus_one = -1.0; - axpy_complex_op()(nbands * nbands, - &intermediate_minus_one, - psi_h_psi_ace, - 1, - L_ace, - 1); - - - int info = 0; - char up = 'U', lo = 'L'; - - lapack_potrf()(lo, nbands, L_ace, nbands); - - // expand for-loop - for (int i = 0; i < nbands; ++i) { - setmem_complex_op()(L_ace + i * nbands, 0, i); - } + mul_potential_op()(pot, density_recip, rhopw_dev->npw, wfcpw->nks, this->ik, iq); - // L_ace inv in place - char non = 'N'; - lapack_trtri()(lo, non, nbands, L_ace, nbands); - - // Xi_ace = L_ace^-1 * h_psi_ace^dagger - gemm_complex_op()('N', - 'C', - nbands, - npwk, - nbands, - &intermediate_one, - L_ace, - nbands, - h_psi_ace, - nbasis, - &intermediate_zero, - Xi_ace, - nbands); - - // clear mem - setmem_complex_op()(h_psi_ace, 0, nbands * nbasis); - setmem_complex_op()(psi_h_psi_ace, 0, nbands * nbands); - setmem_complex_op()(L_ace, 0, nbands * nbands); + // bring the potential back to real space + rho_recip2real(density_recip, density_real); + + if (false) + { + // do nothing + } + else + { + vec_mul_vec_complex_op()(density_real, psi_mq_real, density_real, wfcpw->nrxx); + } + + + Real wk_iq = kv->wk[iq]; + Real wk_ik = kv->wk[this->ik]; + + Real tmp_scalar = wg_mqb / wk_ik / nqs; // wk_ik works for now, but wrong for symmetry. + + T* h_psi_nk = tmhpsi + n_iband * nbasis; + Real hybrid_alpha = GlobalC::exx_info.info_global.hybrid_alpha; + wfcpw->real_to_recip(ctx, density_real, h_psi_nk, this->ik, true, hybrid_alpha * tmp_scalar); + + + } // end of m_iband + setmem_complex_op()(density_real, 0, rhopw_dev->nrxx); + setmem_complex_op()(density_recip, 0, rhopw_dev->npw); + setmem_complex_op()(psi_mq_real, 0, wfcpw->nrxx); + + } // end of iq } - *ik_ = ik_save; - ModuleBase::timer::tick("OperatorEXXPW", "construct_ace"); + ModuleBase::timer::tick("OperatorEXXPW", "act_op_kpar"); } @@ -560,291 +510,6 @@ OperatorEXXPW::OperatorEXXPW(const OperatorEXXPW *op } -template -void OperatorEXXPW::get_potential() const -{ - Real nqs_half1 = 0.5 * kv->nmp[0]; - Real nqs_half2 = 0.5 * kv->nmp[1]; - Real nqs_half3 = 0.5 * kv->nmp[2]; - - Real* pot_cpu = nullptr; - int nks = wfcpw->nks, npw = rhopw_dev->npw; - double tpiba2 = tpiba * tpiba; - pot_cpu = new Real[npw * wfcpw->nks * wfcpw->nks]; - // fill zero - setmem_real_cpu_op()(pot_cpu, 0, npw * nks * nks); - - // calculate Fock pot - auto param_fock = GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Fock]; - for (auto param : param_fock) - { - double exx_div = exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type::Fock); - double alpha = std::stod(param["alpha"]); - for (int ik = 0; ik < nks; ik++) - { - for (int iq = 0; iq < nks; iq++) - { - const ModuleBase::Vector3 k_c = wfcpw->kvec_c[ik]; - const ModuleBase::Vector3 k_d = wfcpw->kvec_d[ik]; - const ModuleBase::Vector3 q_c = wfcpw->kvec_c[iq]; - const ModuleBase::Vector3 q_d = wfcpw->kvec_d[iq]; - -#ifdef _OPENMP -#pragma omp parallel for schedule(static) -#endif - for (int ig = 0; ig < rhopw_dev->npw; ig++) - { - const ModuleBase::Vector3 g_d = rhopw_dev->gdirect[ig]; - const ModuleBase::Vector3 kqg_d = k_d - q_d + g_d; - // For gamma_extrapolation (https://doi.org/10.1103/PhysRevB.79.205114) - // 7/8 of the points in the grid are "activated" and 1/8 are disabled. - // grid_factor is designed for the 7/8 of the grid to function like all of the points - Real grid_factor = 1; - double extrapolate_grid = 8.0 / 7.0; - if (gamma_extrapolation) - { - // if isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3) - auto isint = [](double x) { - double epsilon = 1e-6; // this follows the isint judgement in q-e - return std::abs(x - std::round(x)) < epsilon; - }; - if (isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3)) - { - grid_factor = 0; - } - else - { - grid_factor = extrapolate_grid; - } - } - - const int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1; - const int nk = nks / nk_fac; - const int ig_kq = ik * nks * npw + iq * npw + ig; - - Real gg = (k_c - q_c + rhopw_dev->gcar[ig]).norm2() * tpiba2; - // if (kqgcar2 > 1e-12) // vasp uses 1/40 of the smallest (k spacing)**2 - if (gg >= 1e-8) - { - Real fac = -ModuleBase::FOUR_PI * ModuleBase::e2 / gg; - pot_cpu[ig_kq] += fac * grid_factor * alpha; - } - // } - else - { - pot_cpu[ig_kq] += exx_div * alpha; - } - // assert(is_finite(density_recip[ig])); - } - } - } - } - - // calculate erfc pot - auto param_erfc = GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Erfc]; - for (auto param : param_erfc) - { - double erfc_omega = std::stod(param["omega"]); - double erfc_omega2 = erfc_omega * erfc_omega; - double alpha = std::stod(param["alpha"]); - double exx_div = exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type::Erfc, erfc_omega); - for (int ik = 0; ik < nks; ik++) - { - for (int iq = 0; iq < nks; iq++) - { - const ModuleBase::Vector3 k_c = wfcpw->kvec_c[ik]; - const ModuleBase::Vector3 k_d = wfcpw->kvec_d[ik]; - const ModuleBase::Vector3 q_c = wfcpw->kvec_c[iq]; - const ModuleBase::Vector3 q_d = wfcpw->kvec_d[iq]; - -#ifdef _OPENMP -#pragma omp parallel for schedule(static) -#endif - for (int ig = 0; ig < rhopw_dev->npw; ig++) - { - const ModuleBase::Vector3 g_d = rhopw_dev->gdirect[ig]; - const ModuleBase::Vector3 kqg_d = k_d - q_d + g_d; - // For gamma_extrapolation (https://doi.org/10.1103/PhysRevB.79.205114) - // 7/8 of the points in the grid are "activated" and 1/8 are disabled. - // grid_factor is designed for the 7/8 of the grid to function like all of the points - Real grid_factor = 1; - double extrapolate_grid = 8.0 / 7.0; - if (gamma_extrapolation) - { - // if isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3) - auto isint = [](double x) { - double epsilon = 1e-6; // this follows the isint judgement in q-e - return std::abs(x - std::round(x)) < epsilon; - }; - if (isint(kqg_d[0] * nqs_half1) && isint(kqg_d[1] * nqs_half2) && isint(kqg_d[2] * nqs_half3)) - { - grid_factor = 0; - } - else - { - grid_factor = extrapolate_grid; - } - } - - const int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1; - const int nk = nks / nk_fac; - const int ig_kq = ik * nks * npw + iq * npw + ig; - - Real gg = (k_c - q_c + rhopw_dev->gcar[ig]).norm2() * tpiba2; - // if (kqgcar2 > 1e-12) // vasp uses 1/40 of the smallest (k spacing)**2 - if (gg >= 1e-8) - { - Real fac = -ModuleBase::FOUR_PI * ModuleBase::e2 / gg; - pot_cpu[ig_kq] += fac * (1.0 - std::exp(-gg / 4.0 / erfc_omega2)) * grid_factor * alpha; - } - // } - else - { - // if (PARAM.inp.dft_functional == "hse") - if (!gamma_extrapolation) - { - pot_cpu[ig_kq] += (exx_div - ModuleBase::PI * ModuleBase::e2 / erfc_omega2) * alpha; - } - else - { - pot_cpu[ig_kq] += exx_div * alpha; - } - } - // assert(is_finite(density_recip[ig])); - } - } - } - } - - // copy the potential to the device memory - syncmem_real_c2d_op()(pot, pot_cpu, rhopw_dev->npw * wfcpw->nks * wfcpw->nks); - - delete pot_cpu; -} - -template -double OperatorEXXPW::exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type coulomb_type, double erfc_omega) const -{ - double exx_div = 0; - - Real nqs_half1 = 0.5 * kv->nmp[0]; - Real nqs_half2 = 0.5 * kv->nmp[1]; - Real nqs_half3 = 0.5 * kv->nmp[2]; - - int nk_fac = PARAM.inp.nspin == 2 ? 2 : 1; - - // here we follow the exx_divergence subroutine in q-e (PW/src/exx_base.f90) - double alpha = 10.0 / wfcpw->gk_ecut; - double tpiba2 = tpiba * tpiba; - double div = 0; - - // this is the \sum_q F(q) part - // temporarily for all k points, should be replaced to q points later - for (int ik = 0; ik < wfcpw->nks; ik++) - { - const ModuleBase::Vector3 k_c = wfcpw->kvec_c[ik]; - const ModuleBase::Vector3 k_d = wfcpw->kvec_d[ik]; -#ifdef _OPENMP -#pragma omp parallel for reduction(+:div) -#endif - for (int ig = 0; ig < rhopw_dev->npw; ig++) - { - const ModuleBase::Vector3 q_c = k_c + rhopw_dev->gcar[ig]; - const ModuleBase::Vector3 q_d = k_d + rhopw_dev->gdirect[ig]; - double qq = q_c.norm2(); - // For gamma_extrapolation (https://doi.org/10.1103/PhysRevB.79.205114) - // 7/8 of the points in the grid are "activated" and 1/8 are disabled. - // grid_factor is designed for the 7/8 of the grid to function like all of the points - Real grid_factor = 1; - double extrapolate_grid = 8.0/7.0; - if (gamma_extrapolation) - { - auto isint = [](double x) - { - double epsilon = 1e-6; // this follows the isint judgement in q-e - return std::abs(x - std::round(x)) < epsilon; - }; - if (isint(q_d[0] * nqs_half1) && - isint(q_d[1] * nqs_half2) && - isint(q_d[2] * nqs_half3)) - { - grid_factor = 0; - } - else - { - grid_factor = extrapolate_grid; - } - } - - if (qq <= 1e-8) continue; - // else if (PARAM.inp.dft_functional == "hse") - else if (coulomb_type == Conv_Coulomb_Pot_K::Coulomb_Type::Erfc) - { - double omega = erfc_omega; - double omega2 = omega * omega; - div += std::exp(-alpha * qq) / qq * (1.0 - std::exp(-qq*tpiba2 / 4.0 / omega2)) * grid_factor; - } - else - { - div += std::exp(-alpha * qq) / qq * grid_factor; - } - } - } - - Parallel_Reduce::reduce_pool(div); - // std::cout << "EXX div: " << div << std::endl; - - // if (PARAM.inp.dft_functional == "hse") - if (!gamma_extrapolation) - { - if (coulomb_type == Conv_Coulomb_Pot_K::Coulomb_Type::Erfc) - { - double omega = erfc_omega; - div += tpiba2 / 4.0 / omega / omega; // compensate for the finite value when qq = 0 - } - else - { - div -= alpha; - } - - } - - div *= ModuleBase::e2 * ModuleBase::FOUR_PI / tpiba2 / wfcpw->nks; -// std::cout << "div: " << div << std::endl; - - // numerically value the mean value of F(q) in the reciprocal space - // This means we need to calculate the average of F(q) in the first brillouin zone - alpha /= tpiba2; - int nqq = 100000; - double dq = 5.0 / std::sqrt(alpha) / nqq; - double aa = 0.0; - // if (PARAM.inp.dft_functional == "hse") - if (coulomb_type == Conv_Coulomb_Pot_K::Coulomb_Type::Erfc) - { - double omega = erfc_omega; - double omega2 = omega * omega; -#ifdef _OPENMP -#pragma omp parallel for reduction(+:aa) -#endif - for (int i = 0; i < nqq; i++) - { - double q = dq * (i+0.5); - aa -= exp(-alpha * q * q) * exp(-q*q / 4.0 / omega2) * dq; - } - } - aa *= 8 / ModuleBase::FOUR_PI; - aa += 1.0 / std::sqrt(alpha * ModuleBase::PI); - - // printf("ucell: %p\n", ucell); - double omega = ucell->omega; - div -= ModuleBase::e2 * omega * aa; - exx_div = div * wfcpw->nks / nk_fac; -// exx_div = 0; -// std::cout << "EXX divergence: " << exx_div << std::endl; - - return exx_div; -} - template double OperatorEXXPW::cal_exx_energy(psi::Psi *psi_) const { @@ -858,41 +523,6 @@ double OperatorEXXPW::cal_exx_energy(psi::Psi *psi_) const } } -template -double OperatorEXXPW::cal_exx_energy_ace(psi::Psi *ppsi_) const -{ - double Eexx = 0; - - psi::Psi psi_ = *ppsi_; - int *ik_ = const_cast(&this->ik); - int ik_save = this->ik; - for (int i = 0; i < wfcpw->nks; i++) - { - setmem_complex_op()(h_psi_ace, 0, psi_.get_nbands() * psi_.get_nbasis()); - *ik_ = i; - psi_.fix_kb(i, 0); - T* psi_i = psi_.get_pointer(); - act_op_ace(psi_.get_nbands(), psi_.get_nbasis(), 1, psi_i, h_psi_ace, 0, true); - - for (int nband = 0; nband < psi_.get_nbands(); nband++) - { - psi_.fix_kb(i, nband); - T* psi_i_n = psi_.get_pointer(); - T* hpsi_i_n = h_psi_ace + nband * psi_.get_nbasis(); - double wg_i_n = (*wg)(i, nband); - // Eexx += dot(psi_i_n, h_psi_i_n) - Eexx += dot_op()(psi_.get_nbasis(), psi_i_n, hpsi_i_n, false) * wg_i_n * 2; - - } - - - } - - Parallel_Reduce::reduce_pool(Eexx); - *ik_ = ik_save; - return Eexx; -} - template double OperatorEXXPW::cal_exx_energy_op(psi::Psi *ppsi_) const { @@ -938,14 +568,36 @@ double OperatorEXXPW::cal_exx_energy_op(psi::Psi *ppsi_) c // for \psi_nk, get the pw of iq and band m // q_points is a vector of integers, 0 to nks-1 std::vector q_points; - for (int iq = 0; iq < wfcpw->nks; iq++) + if (PARAM.inp.nspin == 1) + { + for (int iq = 0; iq < wfcpw->nks; iq++) + { + q_points.push_back(iq); + } + } + else if (PARAM.inp.nspin == 2) + { + int nk = wfcpw->nks / nk_fac; + int k_spin = ik / nk; + for (int iq = 0; iq < wfcpw->nks; iq++) + { + int q_spin = iq / nk; + if (k_spin == q_spin) + { + q_points.push_back(iq); + } + } + } + else { - q_points.push_back(iq); + ModuleBase::WARNING_QUIT("OperatorEXXPW", "nspin == 4 not supported"); } double nqs = q_points.size(); for (int iq: q_points) { + int nk = wfcpw->nks / nk_fac; + get_exx_potential(kv, wfcpw, rhopw_dev, pot, tpiba, gamma_extrapolation, ucell->omega, ik, iq % nk); for (int m_iband = 0; m_iband < psi.get_nbands(); m_iband++) { // double wg_f = GlobalC::exx_helper.wg(iq, m_iband); @@ -965,8 +617,8 @@ double OperatorEXXPW::cal_exx_energy_op(psi::Psi *ppsi_) c int nks = wfcpw->nks; int npw = rhopw_dev->npw; - int nk = nks / nk_fac; - Eexx_ik_real += exx_cal_energy_op()(density_recip, pot + ik * nks * npw + iq * npw, wg_iqb_real / nqs * wg_ikb_real / kv->wk[ik], npw); + // int nk = nks / nk_fac; + Eexx_ik_real += exx_cal_energy_op()(density_recip, pot, wg_iqb_real / nqs * wg_ikb_real / kv->wk[ik], npw); } // m_iband diff --git a/source/source_pw/module_pwdft/operator_pw/op_exx_pw.h b/source/source_pw/module_pwdft/operator_pw/op_exx_pw.h index 51b69b13a9..4e9d953afc 100644 --- a/source/source_pw/module_pwdft/operator_pw/op_exx_pw.h +++ b/source/source_pw/module_pwdft/operator_pw/op_exx_pw.h @@ -53,7 +53,9 @@ class OperatorEXXPW : public OperatorPW void construct_ace() const; - bool first_iter = false; + bool first_iter = true; + + static std::vector fock_div, erfc_div; private: const int* isk = nullptr; @@ -61,7 +63,6 @@ class OperatorEXXPW : public OperatorPW const ModulePW::PW_Basis* rhopw = nullptr; ModulePW::PW_Basis* rhopw_dev = nullptr; // for device const UnitCell *ucell = nullptr; -// Real exx_div = 0; Real tpiba = 0; std::vector get_q_points(const int ik) const; @@ -69,10 +70,6 @@ class OperatorEXXPW : public OperatorPW void multiply_potential(T *density_recip, int ik, int iq) const; - double exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type coulomb_type, double erfc_omega = 0) const; - - void get_potential() const; - void act_op(const int nbands, const int nbasis, const int npol, @@ -81,6 +78,14 @@ class OperatorEXXPW : public OperatorPW const int ngk_ik = 0, const bool is_first_node = false) const; + void act_op_kpar(const int nbands, + const int nbasis, + const int npol, + const T *tmpsi_in, + T *tmhpsi, + const int ngk_ik = 0, + const bool is_first_node = false) const; + void act_op_ace(const int nbands, const int nbasis, const int npol, @@ -164,6 +169,38 @@ class OperatorEXXPW : public OperatorPW }; +template +void get_exx_potential(const K_Vectors* kv, + const ModulePW::PW_Basis_K* wfcpw, + ModulePW::PW_Basis* rhopw_dev, + Real* pot, + double tpiba, + bool gamma_extrapolation, + double ucell_omega, + int ik, + int iq, + bool is_stress = false); + +template +void get_exx_stress_potential(const K_Vectors* kv, + const ModulePW::PW_Basis_K* wfcpw, + ModulePW::PW_Basis* rhopw_dev, + Real* pot, + double tpiba, + bool gamma_extrapolation, + double ucell_omega, + int ik, + int iq); + +double exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type coulomb_type, + double erfc_omega, + const K_Vectors* kv, + const ModulePW::PW_Basis_K* wfcpw, + ModulePW::PW_Basis* rhopw_dev, + double tpiba, + bool gamma_extrapolation, + double ucell_omega); + } // namespace hamilt #endif // OPEXXPW_H \ No newline at end of file diff --git a/source/source_pw/module_pwdft/operator_pw/veff_pw.cpp b/source/source_pw/module_pwdft/operator_pw/veff_pw.cpp index e2813b3a9a..6406b9267a 100644 --- a/source/source_pw/module_pwdft/operator_pw/veff_pw.cpp +++ b/source/source_pw/module_pwdft/operator_pw/veff_pw.cpp @@ -58,7 +58,7 @@ void Veff>::act( #ifdef __DSP if (npol == 1) { - ModulePW::FFT_Guard guard(wfcpw->fft_bundle); + ModuleBase::FFT_Guard guard(wfcpw->fft_bundle); for (int ib = 0; ib < nbands; ib += npol) { wfcpw->convolution(this->ctx, diff --git a/source/source_pw/module_pwdft/setup_pot.cpp b/source/source_pw/module_pwdft/setup_pot.cpp new file mode 100644 index 0000000000..5080e265f7 --- /dev/null +++ b/source/source_pw/module_pwdft/setup_pot.cpp @@ -0,0 +1,202 @@ +#include "source_pw/module_pwdft/setup_pot.h" + +#include "source_estate/module_charge/symmetry_rho.h" +#include "source_lcao/module_deltaspin/spin_constrain.h" +#include "source_pw/module_pwdft/onsite_projector.h" +#include "source_lcao/module_dftu/dftu.h" +#include "source_pw/module_pwdft/VSep_in_pw.h" + +template +void pw::setup_pot(const int istep, + UnitCell& ucell, // unitcell + const K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState *pelec, // pointer of electrons + const Parallel_Grid ¶_grid, // parallel of FFT grids + const Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + Plus_U &dftu, // mohan add 2025-11-06 + VSep* vsep_cell, // U-1/2 method + psi::Psi* kspw_psi, // electronic wave functions + hamilt::Hamilt* p_hamilt, // hamiltonian + ModulePW::PW_Basis_K *pw_wfc, // pw for wfc + const ModulePW::PW_Basis *pw_rhod, // pw for rhod + const Input_para& inp) // input parameters +{ + ModuleBase::TITLE("pw", "setup_pot"); + + //---------------------------------------------------------- + //! 0) DFT-1/2 calculations, sep potential need to generate + // before effective potential calculation + //---------------------------------------------------------- + if (PARAM.inp.dfthalf_type > 0) + { + vsep_cell->generate_vsep_r(pw_rhod[0], sf.strucFac, ucell.sep_cell); + } + + //---------------------------------------------------------- + //! 1) Renew local pseudopotential + //---------------------------------------------------------- + pelec->init_scf(ucell, para_grid, sf.strucFac, + locpp.numeric, ucell.symm, (void*)pw_wfc); + + //---------------------------------------------------------- + //! 2) Symmetrize the charge density (rho) + //---------------------------------------------------------- + + //! Symmetry_rho should behind init_scf, because charge should be + //! initialized first. liuyu comment: Symmetry_rho should be + //! located between init_rho and v_of_rho? + Symmetry_rho srho; + for (int is = 0; is < inp.nspin; is++) + { + srho.begin(is, chr, pw_rhod, ucell.symm); + } + + //---------------------------------------------------------- + //! 3) Calculate the effective potential with rho + //---------------------------------------------------------- + //! liuyu move here 2023-10-09 + //! D in uspp need vloc, thus behind init_scf() + //! calculate the effective coefficient matrix + //! for non-local pseudopotential projectors + ModuleBase::matrix veff = pelec->pot->get_eff_v(); + + ppcell.cal_effective_D(veff, pw_rhod, ucell); + + //---------------------------------------------------------- + //! 4) Onsite projectors + //---------------------------------------------------------- + if (PARAM.inp.onsite_radius > 0) + { + auto* onsite_p = projectors::OnsiteProjector::get_instance(); + onsite_p->init(PARAM.inp.orbital_dir, + &ucell, + *(kspw_psi), + kv, + *(pw_wfc), + sf, + PARAM.inp.onsite_radius, + PARAM.globalv.nqx, + PARAM.globalv.dq, + pelec->wg, + pelec->ekb); + } + + //---------------------------------------------------------- + //! 5) Spin-constrained algorithms + //---------------------------------------------------------- + if (PARAM.inp.sc_mag_switch) + { + spinconstrain::SpinConstrain>& sc + = spinconstrain::SpinConstrain>::getScInstance(); + sc.init_sc(PARAM.inp.sc_thr, + PARAM.inp.nsc, + PARAM.inp.nsc_min, + PARAM.inp.alpha_trial, + PARAM.inp.sccut, + PARAM.inp.sc_drop_thr, + ucell, + nullptr, // parallel orbitals + PARAM.inp.nspin, + kv, + p_hamilt, + kspw_psi, +#ifdef __LCAO + nullptr, // density matrix, not useful in LCAO, mohan note 2025-11-03 +#endif + pelec, + pw_wfc); + } + + //---------------------------------------------------------- + //! 6) DFT+U algorithm + // This should not called in before_scf (esolver), it should be + // called in before_all_runners (esolver), which should + // be improved later. Mohan note 2025-11-06 + //---------------------------------------------------------- + if (PARAM.inp.dft_plus_u) + { + dftu.init(ucell, nullptr, kv.get_nks()); + } + + return; +} + +template void pw::setup_pot, base_device::DEVICE_CPU>( + const int istep, // ionic step + UnitCell& ucell, // unitcell + const K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState *pelec, // pointer of electrons + const Parallel_Grid ¶_grid, // parallel of FFT grids + const Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + Plus_U &dftu, // mohan add 2025-11-06 + VSep* vsep_cell, // U-1/2 method + psi::Psi, base_device::DEVICE_CPU>* kspw_psi, // electronic wave functions + hamilt::Hamilt, base_device::DEVICE_CPU>* p_hamilt, // hamiltonian + ModulePW::PW_Basis_K *pw_wfc, // pw for wfc + const ModulePW::PW_Basis *pw_rhod, // pw for rhod + const Input_para& inp); // input parameters + + +template void pw::setup_pot, base_device::DEVICE_CPU>( + const int istep, // ionic step + UnitCell& ucell, // unitcell + const K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState *pelec, // pointer of electrons + const Parallel_Grid ¶_grid, // parallel of FFT grids + const Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + Plus_U &dftu, // mohan add 2025-11-06 + VSep* vsep_cell, // U-1/2 method + psi::Psi, base_device::DEVICE_CPU>* kspw_psi, // electronic wave functions + hamilt::Hamilt, base_device::DEVICE_CPU>* p_hamilt, // hamiltonian + ModulePW::PW_Basis_K *pw_wfc, // pw for wfc + const ModulePW::PW_Basis *pw_rhod, // pw for rhod + const Input_para& inp); // input parameters + +#if ((defined __CUDA) || (defined __ROCM)) + +template void pw::setup_pot, base_device::DEVICE_GPU>( + const int istep, // ionic step + UnitCell& ucell, // unitcell + const K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState *pelec, // pointer of electrons + const Parallel_Grid ¶_grid, // parallel of FFT grids + const Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + Plus_U &dftu, // mohan add 2025-11-06 + VSep* vsep_cell, // U-1/2 method + psi::Psi, base_device::DEVICE_GPU>* kspw_psi, // electronic wave functions + hamilt::Hamilt, base_device::DEVICE_GPU>* p_hamilt, // hamiltonian + ModulePW::PW_Basis_K *pw_wfc, // pw for wfc + const ModulePW::PW_Basis *pw_rhod, // pw for rhod + const Input_para& inp); // input parameters + +template void pw::setup_pot, base_device::DEVICE_GPU>( + const int istep, // ionic step + UnitCell& ucell, // unitcell + const K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState *pelec, // pointer of electrons + const Parallel_Grid ¶_grid, // parallel of FFT grids + const Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + Plus_U &dftu, // mohan add 2025-11-06 + VSep* vsep_cell, // U-1/2 method + psi::Psi, base_device::DEVICE_GPU>* kspw_psi, // electronic wave functions + hamilt::Hamilt, base_device::DEVICE_GPU>* p_hamilt, // hamiltonian + ModulePW::PW_Basis_K *pw_wfc, // pw for wfc + const ModulePW::PW_Basis *pw_rhod, // pw for rhod + const Input_para& inp); // input parameters + +#endif diff --git a/source/source_pw/module_pwdft/setup_pot.h b/source/source_pw/module_pwdft/setup_pot.h new file mode 100644 index 0000000000..3849ee5087 --- /dev/null +++ b/source/source_pw/module_pwdft/setup_pot.h @@ -0,0 +1,38 @@ +#ifndef SETUP_POT_H +#define SETUP_POT_H + +#include "source_base/module_device/device.h" // use Device +#include "source_cell/unitcell.h" +#include "source_cell/klist.h" +#include "source_pw/module_pwdft/structure_factor.h" +#include "source_estate/elecstate.h" +#include "source_pw/module_pwdft/VL_in_pw.h" +#include "source_hamilt/hamilt.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 2025-11-06 + +namespace pw +{ + +template +void setup_pot(const int istep, + UnitCell& ucell, // unitcell + const K_Vectors &kv, // kpoints + Structure_Factor &sf, // structure factors + elecstate::ElecState *pelec, // pointer of electrons + const Parallel_Grid ¶_grid, // parallel of FFT grids + const Charge &chr, // charge density + pseudopot_cell_vl &locpp, // local pseudopotentials + pseudopot_cell_vnl &ppcell, // non-local pseudopotentials + Plus_U &dftu, // mohan add 2025-11-06 + VSep* vsep_cell, // U-1/2 method + psi::Psi* kspw_psi, // electronic wave functions + hamilt::Hamilt* p_hamilt, // hamiltonian + ModulePW::PW_Basis_K *pw_wfc, // pw for wfc + const ModulePW::PW_Basis *pw_rhod, // pw for rhod + const Input_para& inp); // input parameters + +} + + + +#endif diff --git a/source/source_pw/module_pwdft/setup_pwrho.cpp b/source/source_pw/module_pwdft/setup_pwrho.cpp new file mode 100644 index 0000000000..e08ee71d23 --- /dev/null +++ b/source/source_pw/module_pwdft/setup_pwrho.cpp @@ -0,0 +1,141 @@ +#include "source_pw/module_pwdft/setup_pwrho.h" +#include "source_io/print_info.h" // use print_rhofft +#include "source_base/parallel_comm.h" // use POOL_WORLD + +void pw::setup_pwrho( + UnitCell& ucell, // unitcell + const bool double_grid, // for USPP + bool &pw_rho_flag, // flag for allocation of pw_rho + ModulePW::PW_Basis* &pw_rho, // pw for rhod + ModulePW::PW_Basis* &pw_rhod, // pw for rhod + ModulePW::PW_Basis_Big* &pw_big, // pw for rhod + const std::string &classname, + const Input_para& inp) // input parameters * +{ + ModuleBase::TITLE("pw", "setup_pwrho"); + + std::string fft_device = inp.device; + std::string fft_precision = inp.precision; + + // LCAO basis doesn't support GPU acceleration on FFT currently + if(inp.basis_type == "lcao") + { + fft_device = "cpu"; + } + + // single, double, or mixing precision calculations + if ((inp.precision=="single") || (inp.precision=="mixing")) + { + fft_precision = "mixing"; + } + else if (inp.precision=="double") + { + fft_precision = "double"; + } + + // for GPU +#if (not defined(__ENABLE_FLOAT_FFTW) and (defined(__CUDA) || defined(__RCOM))) + if (fft_device == "gpu") + { + fft_precision = "double"; + } +#endif + + // initialize pw_rho + pw_rho = new ModulePW::PW_Basis_Big(fft_device, fft_precision); + pw_rho_flag = true; + + // initialize pw_rhod + if (double_grid) + { + pw_rhod = new ModulePW::PW_Basis_Big(fft_device, fft_precision); + } + else + { + pw_rhod = pw_rho; + } + + // initialize pw_big + pw_big = static_cast(pw_rhod); + pw_big->setbxyz(inp.bx, inp.by, inp.bz); + + //! initialie the plane wave basis for rho +#ifdef __MPI + pw_rho->initmpi(GlobalV::NPROC_IN_POOL, GlobalV::RANK_IN_POOL, POOL_WORLD); +#endif + + //! for OFDFT calculations + if (classname == "ESolver_OF" || inp.of_ml_gene_data == 1) + { + pw_rho->setfullpw(inp.of_full_pw, inp.of_full_pw_dim); + } + + //! initialize the FFT grid + if (inp.nx * inp.ny * inp.nz == 0) + { + pw_rho->initgrids(inp.ref_cell_factor * ucell.lat0, ucell.latvec, 4.0 * inp.ecutwfc); + } + else + { + pw_rho->initgrids(inp.ref_cell_factor * ucell.lat0, ucell.latvec, inp.nx, inp.ny, inp.nz); + } + + pw_rho->initparameters(false, 4.0 * inp.ecutwfc); + pw_rho->fft_bundle.initfftmode(inp.fft_mode); + pw_rho->setuptransform(); + pw_rho->collect_local_pw(); + pw_rho->collect_uniqgg(); + + //! initialize the double grid (for uspp) if necessary + if (double_grid) + { + ModulePW::PW_Basis_Sup* pw_rhod_sup = static_cast(pw_rhod); +#ifdef __MPI + pw_rhod->initmpi(GlobalV::NPROC_IN_POOL, GlobalV::RANK_IN_POOL, POOL_WORLD); +#endif + if (classname == "ESolver_OF") + { + pw_rhod->setfullpw(inp.of_full_pw, inp.of_full_pw_dim); + } + if (inp.ndx * inp.ndy * inp.ndz == 0) + { + pw_rhod->initgrids(inp.ref_cell_factor * ucell.lat0, ucell.latvec, inp.ecutrho); + } + else + { + pw_rhod->initgrids(inp.ref_cell_factor * ucell.lat0, ucell.latvec, inp.ndx, inp.ndy, inp.ndz); + } + pw_rhod->initparameters(false, inp.ecutrho); + pw_rhod->fft_bundle.initfftmode(inp.fft_mode); + pw_rhod_sup->setuptransform(pw_rho); + pw_rhod->collect_local_pw(); + pw_rhod->collect_uniqgg(); + } + + ModuleIO::print_rhofft(pw_rhod, pw_rho, pw_big, GlobalV::ofs_running); + + return; +} + + +void pw::teardown_pwrho(bool &pw_rho_flag, + const bool double_grid, + ModulePW::PW_Basis* &pw_rho, // pw for rhod + ModulePW::PW_Basis* &pw_rhod) // pw for rhod +{ + if (pw_rho_flag == true) + { + delete pw_rho; + pw_rho = nullptr; + pw_rho_flag = false; + } + + if (double_grid == true) + { + delete pw_rhod; + pw_rhod = nullptr; + } + + return; +} + diff --git a/source/source_pw/module_pwdft/setup_pwrho.h b/source/source_pw/module_pwdft/setup_pwrho.h new file mode 100644 index 0000000000..4e11848d62 --- /dev/null +++ b/source/source_pw/module_pwdft/setup_pwrho.h @@ -0,0 +1,32 @@ +#ifndef SETUP_PWRHO_H +#define SETUP_PWRHO_H + +#include "source_cell/unitcell.h" // use UnitCell +#include "source_pw/module_pwdft/structure_factor.h" // use Structure_Factor +#include "source_basis/module_pw/pw_basis.h" // use PW_Basis +#include "source_io/module_parameter/input_parameter.h" // use Input_para + +namespace pw +{ + +void setup_pwrho( + UnitCell& ucell, // unitcell + const bool double_grid, // for USPP + bool &pw_rho_flag, // flag for allocation of pw_rho + ModulePW::PW_Basis* &pw_rho, // pw for rhod + ModulePW::PW_Basis* &pw_rhod, // pw for rhod + ModulePW::PW_Basis_Big* &pw_big, // pw for rhod + const std::string &classname, + const Input_para& inp); // input parameters * + + +void teardown_pwrho(bool &pw_rho_flag, + const bool double_grid, + ModulePW::PW_Basis* &pw_rho, // pw for rhod + ModulePW::PW_Basis* &pw_rhod); // pw for rhod + +} + + + +#endif diff --git a/source/source_pw/module_pwdft/setup_pwwfc.cpp b/source/source_pw/module_pwdft/setup_pwwfc.cpp new file mode 100644 index 0000000000..759178638c --- /dev/null +++ b/source/source_pw/module_pwdft/setup_pwwfc.cpp @@ -0,0 +1,80 @@ +#include "source_pw/module_pwdft/setup_pwwfc.h" // pw_wfc +#include "source_base/parallel_comm.h" // POOL_WORLD +#include "source_io/print_info.h" // print information + +void pw::teardown_pwwfc(ModulePW::PW_Basis_K* &pw_wfc) +{ + delete pw_wfc; +} + +void pw::setup_pwwfc(const Input_para& inp, + const UnitCell& ucell, + const ModulePW::PW_Basis& pw_rho, + K_Vectors& kv, + ModulePW::PW_Basis_K* &pw_wfc) +{ + ModuleBase::TITLE("pw", "pw_setup"); + + std::string fft_device = inp.device; + + //! setup pw_wfc + // currently LCAO doesn't support GPU acceleration of FFT + if(inp.basis_type == "lcao") + { + fft_device = "cpu"; + } + std::string fft_precision = inp.precision; +#ifdef __ENABLE_FLOAT_FFTW + if (inp.cal_cond && inp.esolver_type == "sdft") + { + fft_precision = "mixing"; + } +#endif + + pw_wfc = new ModulePW::PW_Basis_K_Big(fft_device, fft_precision); + + + // for LCAO calculations, we need to set bx, by, and bz + ModulePW::PW_Basis_K_Big* tmp = static_cast(pw_wfc); + tmp->setbxyz(inp.bx, inp.by, inp.bz); + + + + //! new plane wave basis, fft grids, etc. +#ifdef __MPI + pw_wfc->initmpi(GlobalV::NPROC_IN_POOL, GlobalV::RANK_IN_POOL, POOL_WORLD); +#endif + + pw_wfc->initgrids(inp.ref_cell_factor * ucell.lat0, + ucell.latvec, + pw_rho.nx, + pw_rho.ny, + pw_rho.nz); + + pw_wfc->initparameters(false, inp.ecutwfc, kv.get_nks(), kv.kvec_d.data()); + +#ifdef __MPI + if (inp.pw_seed > 0) + { + MPI_Allreduce(MPI_IN_PLACE, &pw_wfc->ggecut, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD); + } + // qianrui add 2021-8-13 to make different kpar parameters can get the same + // results +#endif + + pw_wfc->fft_bundle.initfftmode(inp.fft_mode); + pw_wfc->setuptransform(); + + //! initialize the number of plane waves for each k point + for (int ik = 0; ik < kv.get_nks(); ++ik) + { + kv.ngk[ik] = pw_wfc->npwk[ik]; + } + + pw_wfc->collect_local_pw(inp.erf_ecut, inp.erf_height, inp.erf_sigma); + + ModuleIO::print_wfcfft(inp, *pw_wfc, GlobalV::ofs_running); + + return; +} + diff --git a/source/source_pw/module_pwdft/setup_pwwfc.h b/source/source_pw/module_pwdft/setup_pwwfc.h new file mode 100644 index 0000000000..db39e28941 --- /dev/null +++ b/source/source_pw/module_pwdft/setup_pwwfc.h @@ -0,0 +1,23 @@ +#ifndef SETUP_PWWFC_H +#define SETUP_PWWFC_H + +#include "source_io/module_parameter/parameter.h" // input parameters +#include "source_cell/unitcell.h" // cell information +#include "source_cell/klist.h" // k-points +#include "source_basis/module_pw/pw_basis.h" // pw_rho +#include "source_basis/module_pw/pw_basis_k.h" // pw_wfc + +namespace pw +{ + +void teardown_pwwfc(ModulePW::PW_Basis_K* &pw_wfc); + +void setup_pwwfc(const Input_para& inp, + const UnitCell& ucell, + const ModulePW::PW_Basis& pw_rho, + K_Vectors& kv, + ModulePW::PW_Basis_K* &pw_wfc); + +} + +#endif diff --git a/source/source_pw/module_pwdft/stress_func.h b/source/source_pw/module_pwdft/stress_func.h index 3d4ed38c89..3f0a79b6d3 100644 --- a/source/source_pw/module_pwdft/stress_func.h +++ b/source/source_pw/module_pwdft/stress_func.h @@ -16,6 +16,7 @@ #include "source_pw/module_pwdft/structure_factor.h" #include "source_base/kernels/math_kernel_op.h" #include "source_psi/psi.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 2025-11-06 //------------------------------------------------------------------- // mohan reconstruction note: 2021-02-07 @@ -179,8 +180,9 @@ class Stress_Func void stress_onsite(ModuleBase::matrix& sigma, const ModuleBase::matrix& wg, const ModulePW::PW_Basis_K* wfc_basis, - const UnitCell& ucell_in, - const psi::Psi , Device>* psi_in, + const UnitCell& ucell_in, + const Plus_U &dftu, // mohan add 2025-11-06 + const psi::Psi , Device>* psi_in, ModuleSymmetry::Symmetry* p_symm); // nonlocal part in PW basis void get_dvnl1(ModuleBase::ComplexMatrix& vkb, diff --git a/source/source_pw/module_pwdft/stress_func_ewa.cpp b/source/source_pw/module_pwdft/stress_func_ewa.cpp index c3297cfd72..48887c07b2 100644 --- a/source/source_pw/module_pwdft/stress_func_ewa.cpp +++ b/source/source_pw/module_pwdft/stress_func_ewa.cpp @@ -64,32 +64,18 @@ void Stress_Func::stress_ewa(const UnitCell& ucell, } // else fact=1.0; -#ifdef _OPENMP #pragma omp parallel { - int num_threads = omp_get_num_threads(); - int thread_id = omp_get_thread_num(); ModuleBase::matrix local_sigma(3, 3); - FPTYPE local_sdewald = 0.0; -#else - int num_threads = 1; - int thread_id = 0; - ModuleBase::matrix& local_sigma = sigma; - FPTYPE& local_sdewald = sdewald; -#endif - - // Calculate ig range of this thread, avoid thread sync - int ig=0; - int ig_end=0; - ModuleBase::TASK_DIST_1D(num_threads, thread_id, rho_basis->npw, ig, ig_end); - ig_end = ig + ig_end; + FPTYPE local_sdewald = 0; FPTYPE g2,g2a; FPTYPE arg; std::complex rhostar; FPTYPE sewald; - for(; ig < ig_end; ig++) + #pragma omp for + for(int ig = 0; ig < rho_basis->npw; ig++) { if(ig == ig0) { @@ -136,34 +122,28 @@ void Stress_Func::stress_ewa(const UnitCell& ucell, if(ig0 >= 0) { - r = new ModuleBase::Vector3[mxr]; - r2 = new FPTYPE[mxr]; - irr = new int[mxr]; + std::vector> r(mxr); + std::vector r2(mxr); + std::vector irr(mxr); FPTYPE sqa = sqrt(alpha); FPTYPE sq8a_2pi = sqrt(8 * alpha / (ModuleBase::TWO_PI)); rmax = 4.0/sqa/ucell.lat0; - // collapse it, ia, jt, ja loop into a single loop - long long ijat; - long long ijat_end; - int it=0; - int i=0; - int jt=0; - int j=0; - - ModuleBase::TASK_DIST_1D(num_threads, thread_id, (long long)ucell.nat * ucell.nat, ijat, ijat_end); - ijat_end = ijat + ijat_end; - ucell.ijat2iaitjajt(ijat, &i, &it, &j, &jt); - - while (ijat < ijat_end) + #pragma omp for + for(long long ijat = 0; ijat < ucell.nat * ucell.nat; ijat++) { + int it=0; + int i=0; + int jt=0; + int j=0; + ucell.ijat2iaitjajt(ijat, &i, &it, &j, &jt); if (ucell.atoms[it].na != 0 && ucell.atoms[jt].na != 0) { //calculate tau[na]-tau[nb] d_tau = ucell.atoms[it].tau[i] - ucell.atoms[jt].tau[j]; //generates nearest-neighbors shells - H_Ewald_pw::rgen(d_tau, rmax, irr, ucell.latvec, ucell.G, r, r2, nrm); + H_Ewald_pw::rgen(d_tau, rmax, irr.data(), ucell.latvec, ucell.G, r.data(), r2.data(), nrm); for(int nr=0; nr::stress_ewa(const UnitCell& ucell, }//end l }//end nr } - - ++ijat; - ucell.step_jajtiait(&j, &jt, &i, &it); } - - delete[] r; - delete[] r2; - delete[] irr; }//end if -#ifdef _OPENMP #pragma omp critical(stress_ewa_reduce) { sdewald += local_sdewald; @@ -206,7 +178,6 @@ void Stress_Func::stress_ewa(const UnitCell& ucell, } } } -#endif for(int l=0;l<3;l++) { diff --git a/source/source_pw/module_pwdft/stress_func_exx.cpp b/source/source_pw/module_pwdft/stress_func_exx.cpp index 1885bb16ee..dd2c6570a0 100644 --- a/source/source_pw/module_pwdft/stress_func_exx.cpp +++ b/source/source_pw/module_pwdft/stress_func_exx.cpp @@ -1,5 +1,7 @@ -#include "stress_pw.h" #include "global.h" +#include "operator_pw/op_exx_pw.h" +#include "source_base/parallel_common.h" +#include "stress_pw.h" template void Stress_PW::stress_exx(ModuleBase::matrix& sigma, @@ -9,19 +11,15 @@ void Stress_PW::stress_exx(ModuleBase::matrix& sigma, const K_Vectors *p_kv, const psi::Psi , Device>* d_psi_in, const UnitCell& ucell) { - double nqs_half1 = 0.5 * p_kv->nmp[0]; - double nqs_half2 = 0.5 * p_kv->nmp[1]; - double nqs_half3 = 0.5 * p_kv->nmp[2]; bool gamma_extrapolation = PARAM.inp.exx_gamma_extrapolation; - if (!p_kv->get_is_mp()) + bool is_mp = p_kv->get_is_mp(); +#ifdef __MPI + Parallel_Common::bcast_bool(is_mp); +#endif + if (!is_mp) { gamma_extrapolation = false; } - auto isint = [](double x) - { - double epsilon = 1e-6; // this follows the isint judgement in q-e - return std::abs(x - std::round(x)) < epsilon; - }; // T is complex of FPTYPE, if FPTYPE is double, T is std::complex // but if FPTYPE is std::complex, T is still std::complex @@ -53,201 +51,11 @@ void Stress_PW::stress_exx(ModuleBase::matrix& sigma, resmem_complex_op()(psi_mq_real, wfcpw->nrxx); resmem_complex_op()(density_real, rhopw->nrxx); resmem_complex_op()(density_recip, rhopw->npw); - resmem_real_op()(pot, rhopw->npw * nks * nks); - resmem_real_op()(pot_stress, rhopw->npw * nks * nks); - - // prepare the coefficients - double exx_div = 0; - - // pasted from op_exx_pw.cpp - { - if (GlobalC::exx_info.info_lip.lambda == 0.0) - { - return; - } - - // here we follow the exx_divergence subroutine in q-e (PW/src/exx_base.f90) - double alpha = 10.0 / wfcpw->gk_ecut; - double div = 0; - - // this is the \sum_q F(q) part - // temporarily for all k points, should be replaced to q points later - for (int ik = 0; ik < wfcpw->nks; ik++) - { - const ModuleBase::Vector3 k_c = wfcpw->kvec_c[ik]; - const ModuleBase::Vector3 k_d = wfcpw->kvec_d[ik]; -#ifdef _OPENMP -#pragma omp parallel for reduction(+:div) -#endif - for (int ig = 0; ig < rhopw->npw; ig++) - { - const ModuleBase::Vector3 q_c = k_c + rhopw->gcar[ig]; - const ModuleBase::Vector3 q_d = k_d + rhopw->gdirect[ig]; - double qq = q_c.norm2(); - // For gamma_extrapolation (https://doi.org/10.1103/PhysRevB.79.205114) - // 7/8 of the points in the grid are "activated" and 1/8 are disabled. - // grid_factor is designed for the 7/8 of the grid to function like all of the points - double grid_factor = 1; - double extrapolate_grid = 8.0/7.0; - if (gamma_extrapolation) - { - if (isint(q_d[0] * nqs_half1) && - isint(q_d[1] * nqs_half2) && - isint(q_d[2] * nqs_half3)) - { - grid_factor = 0; - } - else - { - grid_factor = extrapolate_grid; - } - } - - - if (qq <= 1e-8) continue; - else if (GlobalC::exx_info.info_global.ccp_type == Conv_Coulomb_Pot_K::Ccp_Type::Erfc) - { - double hse_omega = GlobalC::exx_info.info_global.hse_omega; - double omega2 = hse_omega * hse_omega; - div += std::exp(-alpha * qq) / qq * (1.0 - std::exp(-qq*tpiba2 / 4.0 / omega2)) * grid_factor; - } - else - { - div += std::exp(-alpha * qq) / qq * grid_factor; - } - } - } - - Parallel_Reduce::reduce_pool(div); - // std::cout << "EXX div: " << div << std::endl; - - // if (PARAM.inp.dft_functional == "hse") - if (!gamma_extrapolation) - { - if (GlobalC::exx_info.info_global.ccp_type == Conv_Coulomb_Pot_K::Ccp_Type::Erfc) - { - double omega = GlobalC::exx_info.info_global.hse_omega; - div += tpiba2 / 4.0 / omega / omega; // compensate for the finite value when qq = 0 - } - else - { - div -= alpha; - } - - } - - div *= ModuleBase::e2 * ModuleBase::FOUR_PI / tpiba2 / wfcpw->nks; + resmem_real_op()(pot, rhopw->npw); + resmem_real_op()(pot_stress, rhopw->npw); - // numerically value the mean value of F(q) in the reciprocal space - // This means we need to calculate the average of F(q) in the first brillouin zone - alpha /= tpiba2; - int nqq = 100000; - double dq = 5.0 / std::sqrt(alpha) / nqq; - double aa = 0.0; - // if (PARAM.inp.dft_functional == "hse") - if (GlobalC::exx_info.info_global.ccp_type == Conv_Coulomb_Pot_K::Ccp_Type::Erfc) - { - double hse_omega = GlobalC::exx_info.info_global.hse_omega; - double omega2 = hse_omega * hse_omega; - #ifdef _OPENMP - #pragma omp parallel for reduction(+:aa) - #endif - for (int i = 0; i < nqq; i++) - { - double q = dq * (i+0.5); - aa -= exp(-alpha * q * q) * exp(-q*q / 4.0 / omega2) * dq; - } - } - aa *= 8 / ModuleBase::FOUR_PI; - aa += 1.0 / std::sqrt(alpha * ModuleBase::PI); - div -= ModuleBase::e2 * omega * aa; - exx_div = div * wfcpw->nks; - // std::cout << "EXX divergence: " << exx_div << std::endl; - - } - - // prepare for the potential - for (int ik = 0; ik < nks; ik++) - { - for (int iq = 0; iq < nks; iq++) - { - const ModuleBase::Vector3 k_c = wfcpw->kvec_c[ik]; - const ModuleBase::Vector3 k_d = wfcpw->kvec_d[ik]; - const ModuleBase::Vector3 q_c = wfcpw->kvec_c[iq]; - const ModuleBase::Vector3 q_d = wfcpw->kvec_d[iq]; - - #ifdef _OPENMP - #pragma omp parallel for schedule(static) - #endif - for (int ig = 0; ig < rhopw->npw; ig++) - { - const ModuleBase::Vector3 g_d = rhopw->gdirect[ig]; - const ModuleBase::Vector3 kqg_d = k_d - q_d + g_d; - - // For gamma_extrapolation (https://doi.org/10.1103/PhysRevB.79.205114) - // 7/8 of the points in the grid are "activated" and 1/8 are disabled. - // grid_factor is designed for the 7/8 of the grid to function like all of the points - Real grid_factor = 1; - if (gamma_extrapolation) - { - double extrapolate_grid = 8.0/7.0; - if (isint(kqg_d[0] * nqs_half1) && - isint(kqg_d[1] * nqs_half2) && - isint(kqg_d[2] * nqs_half3)) - { - grid_factor = 0; - } - else - { - grid_factor = extrapolate_grid; - } - } - - const int ig_kq = ik * nks * rhopw->npw + iq * rhopw->npw + ig; - - Real gg = (k_c - q_c + rhopw->gcar[ig]).norm2() * tpiba2; - Real hse_omega2 = GlobalC::exx_info.info_global.hse_omega * GlobalC::exx_info.info_global.hse_omega; - // if (kqgcar2 > 1e-12) // vasp uses 1/40 of the smallest (k spacing)**2 - if (gg >= 1e-8) - { - Real fac = -ModuleBase::FOUR_PI * ModuleBase::e2 / gg; - // if (PARAM.inp.dft_functional == "hse") - if (GlobalC::exx_info.info_global.ccp_type == Conv_Coulomb_Pot_K::Ccp_Type::Erfc) - { - pot[ig_kq] = fac * (1.0 - std::exp(-gg / 4.0 / hse_omega2)) * grid_factor; - pot_stress[ig_kq] = (1.0 - (1.0 + gg / 4.0 / hse_omega2) * std::exp(-gg / 4.0 / hse_omega2)) / (1.0 - std::exp(-gg / 4.0 / hse_omega2)) / gg; - } - else if (GlobalC::exx_info.info_global.ccp_type == Conv_Coulomb_Pot_K::Ccp_Type::Erf) - { - ModuleBase::WARNING("Stress_PW", "Stress for Erf is not implemented yet"); - pot[ig_kq] = fac * grid_factor; - pot_stress[ig_kq] = 1.0 / gg; - } - else if (GlobalC::exx_info.info_global.ccp_type == Conv_Coulomb_Pot_K::Ccp_Type::Hf) - { - pot[ig_kq] = fac * grid_factor; - pot_stress[ig_kq] = 1.0 / gg; - } - } - // } - else - { - // if (PARAM.inp.dft_functional == "hse") - if (GlobalC::exx_info.info_global.ccp_type == Conv_Coulomb_Pot_K::Ccp_Type::Erfc && !gamma_extrapolation) - { - pot[ig_kq] = - ModuleBase::PI * ModuleBase::e2 / hse_omega2; // maybe we should add a exx_div here, but q-e does not do that - pot_stress[ig_kq] = 1 / 4.0 / hse_omega2; - } - else - { - pot[ig_kq] = exx_div; - pot_stress[ig_kq] = 0; - } - } - // assert(is_finite(density_recip[ig])); - } - } - } + // hamilt::get_exx_potential(p_kv, wfcpw, rhopw, pot, tpiba, gamma_extrapolation, omega); + // hamilt::get_exx_stress_potential(p_kv, wfcpw, rhopw, pot_stress, tpiba, gamma_extrapolation, omega); // calculate the stress @@ -264,6 +72,8 @@ void Stress_PW::stress_exx(ModuleBase::matrix& sigma, for (int iq = 0; iq < nqs; iq++) { + hamilt::get_exx_potential(p_kv, wfcpw, rhopw, pot, tpiba, gamma_extrapolation, omega, ik, iq, true); + hamilt::get_exx_stress_potential(p_kv, wfcpw, rhopw, pot_stress, tpiba, gamma_extrapolation, omega, ik, iq); for (int mband = 0; mband < d_psi_in->get_nbands(); mband++) { // psi_mq in real space @@ -300,7 +110,7 @@ void Stress_PW::stress_exx(ModuleBase::matrix& sigma, double kqg_beta = kqg[beta] * tpiba; // equation 10 of 10.1103/PhysRevB.73.125120 double density_recip2 = std::real(density_recip[ig] * std::conj(density_recip[ig])); - const int idx = ig + iq * rhopw->npw + ik * rhopw->npw * nqs; + const int idx = ig; double pot_local = pot[idx]; double pot_stress_local = pot_stress[idx]; sigma_ab_loc += density_recip2 * pot_local * (kqg_alpha * kqg_beta * pot_stress_local - delta_ab) ; diff --git a/source/source_pw/module_pwdft/stress_func_onsite.cpp b/source/source_pw/module_pwdft/stress_func_onsite.cpp index 1be9831556..bcd37d900f 100644 --- a/source/source_pw/module_pwdft/stress_func_onsite.cpp +++ b/source/source_pw/module_pwdft/stress_func_onsite.cpp @@ -10,7 +10,8 @@ template void Stress_Func::stress_onsite(ModuleBase::matrix& sigma, const ModuleBase::matrix& wg, const ModulePW::PW_Basis_K* wfc_basis, - const UnitCell& ucell_in, + const UnitCell& ucell_in, + const Plus_U &dftu, // mohan add 2025-11-06 const psi::Psi , Device>* psi_in, ModuleSymmetry::Symmetry* p_symm) { @@ -56,13 +57,12 @@ void Stress_Func::stress_onsite(ModuleBase::matrix& sigma, onsite_p->get_fs_tools()->cal_dbecp_s(ik, npm, ipol, jpol); if(PARAM.inp.dft_plus_u) { - auto* dftu = ModuleDFTU::DFTU::get_instance(); onsite_p->get_fs_tools()->cal_stress_dftu(ik, npm, stress_device_tmp, - dftu->orbital_corr.data(), - dftu->get_eff_pot_pw(0), - dftu->get_size_eff_pot_pw(), + dftu.orbital_corr.data(), + dftu.get_eff_pot_pw(0), + dftu.get_size_eff_pot_pw(), wg.c); } if(PARAM.inp.sc_mag_switch) diff --git a/source/source_pw/module_pwdft/stress_func_us.cpp b/source/source_pw/module_pwdft/stress_func_us.cpp index adb8745901..e18ffb9823 100644 --- a/source/source_pw/module_pwdft/stress_func_us.cpp +++ b/source/source_pw/module_pwdft/stress_func_us.cpp @@ -26,7 +26,7 @@ void Stress_PW::stress_us(ModuleBase::matrix& sigma, ModuleBase::matrix stressus(3, 3); - ModuleBase::matrix veff = this->pelec->pot->get_effective_v(); + ModuleBase::matrix veff = this->pelec->pot->get_eff_v(); ModuleBase::ComplexMatrix vg(PARAM.inp.nspin, npw); // fourier transform of the total effective potential for (int is = 0; is < PARAM.inp.nspin; is++) @@ -111,19 +111,19 @@ void Stress_PW::stress_us(ModuleBase::matrix& sigma, const int dim = 2 * npw; const double one = 1; const double zero = 0; - dgemm_(&transa, - &transb, - &dim, - &PARAM.inp.nspin, - &nij, - &one, - qgm_data, - &dim, + BlasConnector::gemm(transb, + transa, + PARAM.inp.nspin, + dim, + nij, + one, tbecsum.c, - &nij, - &zero, + nij, + qgm_data, + dim, + zero, aux2_data, - &dim); + dim); for (int is = 0; is < PARAM.inp.nspin; is++) { @@ -148,19 +148,19 @@ void Stress_PW::stress_us(ModuleBase::matrix& sigma, ModuleBase::matrix fac(PARAM.inp.nspin, 3); const char transc = 'T'; const int three = 3; - dgemm_(&transc, - &transb, - &three, - &PARAM.inp.nspin, - &dim, - &one, + BlasConnector::gemm_cm(transc, + transb, + three, + PARAM.inp.nspin, + dim, + one, aux1_data, - &dim, + dim, aux2_data, - &dim, - &zero, + dim, + zero, fac.c, - &three); + three); for (int is = 0; is < PARAM.inp.nspin; is++) { diff --git a/source/source_pw/module_pwdft/stress_pw.cpp b/source/source_pw/module_pwdft/stress_pw.cpp index fb5bfd026b..f79bd6349c 100644 --- a/source/source_pw/module_pwdft/stress_pw.cpp +++ b/source/source_pw/module_pwdft/stress_pw.cpp @@ -8,6 +8,7 @@ template void Stress_PW::cal_stress(ModuleBase::matrix& sigmatot, UnitCell& ucell, + Plus_U &dftu, // mhan add 2025-11-07 const pseudopot_cell_vl& locpp, const pseudopot_cell_vnl& nlpp, ModulePW::PW_Basis* rho_basis, @@ -91,7 +92,7 @@ void Stress_PW::cal_stress(ModuleBase::matrix& sigmatot, this->stress_mgga(ucell, sigmaxc, this->pelec->wg, - this->pelec->pot->get_effective_vofk(), + this->pelec->pot->get_eff_vofk(), pelec->charge, p_kv, wfc_basis, @@ -119,7 +120,7 @@ void Stress_PW::cal_stress(ModuleBase::matrix& sigmatot, // DFT+U and DeltaSpin stress if (PARAM.inp.dft_plus_u || PARAM.inp.sc_mag_switch) { - this->stress_onsite(sigmaonsite, this->pelec->wg, wfc_basis, ucell, d_psi_in, p_symm); + this->stress_onsite(sigmaonsite, this->pelec->wg, wfc_basis, ucell, dftu, d_psi_in, p_symm); } // EXX PW stress diff --git a/source/source_pw/module_pwdft/stress_pw.h b/source/source_pw/module_pwdft/stress_pw.h index 027bc56039..0fb31fecaa 100644 --- a/source/source_pw/module_pwdft/stress_pw.h +++ b/source/source_pw/module_pwdft/stress_pw.h @@ -1,9 +1,10 @@ -#ifndef W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_source_pw_HAMILT_PWDFT_STRESS_PW_H -#define W_ABACUS_DEVELOP_ABACUS_DEVELOP_SOURCE_source_pw_HAMILT_PWDFT_STRESS_PW_H +#ifndef STRESS_PW_H +#define STRESS_PW_H #include "source_estate/elecstate.h" #include "source_pw/module_pwdft/VL_in_pw.h" #include "stress_func.h" +#include "source_lcao/module_dftu/dftu.h" // mohan add 2025-11-07 template class Stress_PW : public Stress_Func @@ -13,15 +14,16 @@ class Stress_PW : public Stress_Func // calculate the stress in PW basis void cal_stress(ModuleBase::matrix& smearing_sigmatot, - UnitCell& ucell, - const pseudopot_cell_vl& locpp, - const pseudopot_cell_vnl& nlpp, - ModulePW::PW_Basis* rho_basis, - ModuleSymmetry::Symmetry* p_symm, - Structure_Factor* p_sf, - K_Vectors* p_kv, - ModulePW::PW_Basis_K* wfc_basis, - const psi::Psi , Device>* d_psi_in = nullptr); + UnitCell& ucell, + Plus_U &dftu, // mhan add 2025-11-07 + const pseudopot_cell_vl& locpp, + const pseudopot_cell_vnl& nlpp, + ModulePW::PW_Basis* rho_basis, + ModuleSymmetry::Symmetry* p_symm, + Structure_Factor* p_sf, + K_Vectors* p_kv, + ModulePW::PW_Basis_K* wfc_basis, + const psi::Psi , Device>* d_psi_in = nullptr); protected: // call the vdw stress diff --git a/source/source_pw/module_pwdft/structure_factor.cpp b/source/source_pw/module_pwdft/structure_factor.cpp index b97bdee944..2823d11e36 100644 --- a/source/source_pw/module_pwdft/structure_factor.cpp +++ b/source/source_pw/module_pwdft/structure_factor.cpp @@ -46,7 +46,7 @@ Structure_Factor::~Structure_Factor() // called in input.cpp void Structure_Factor::set(const ModulePW::PW_Basis* rho_basis_in, const int& nbspline_in) { - ModuleBase::TITLE("PW_Basis","set"); + ModuleBase::TITLE("Structure_Factor","set"); this->rho_basis = rho_basis_in; this->nbspline = nbspline_in; return; @@ -54,10 +54,11 @@ void Structure_Factor::set(const ModulePW::PW_Basis* rho_basis_in, const int& nb // Peize Lin optimize and add OpenMP 2021.04.01 // Calculate structure factor -void Structure_Factor::setup_structure_factor(const UnitCell* Ucell, const Parallel_Grid& pgrid, const ModulePW::PW_Basis* rho_basis) +void Structure_Factor::setup(const UnitCell* Ucell, const Parallel_Grid& pgrid, const ModulePW::PW_Basis* rho_basis) { - ModuleBase::TITLE("PW_Basis","setup_structure_factor"); - ModuleBase::timer::tick("PW_Basis","setup_struc_factor"); + ModuleBase::TITLE("Structure_Factor","setup"); + ModuleBase::timer::tick("Structure_Factor","setup"); + const std::complex ci_tpi = ModuleBase::NEG_IMAG_UNIT * ModuleBase::TWO_PI; this->ucell = Ucell; this->strucFac.create(Ucell->ntype, rho_basis->npw); @@ -66,9 +67,15 @@ void Structure_Factor::setup_structure_factor(const UnitCell* Ucell, const Paral // std::string outstr; // outstr = PARAM.globalv.global_out_dir + "strucFac.dat"; // std::ofstream ofs( outstr.c_str() ) ; - bool usebspline; - if(nbspline > 0) { usebspline = true; - } else { usebspline = false;} + bool usebspline; + if(nbspline > 0) + { + usebspline = true; + } + else + { + usebspline = false; + } if(usebspline) { @@ -100,12 +107,15 @@ void Structure_Factor::setup_structure_factor(const UnitCell* Ucell, const Paral // ofs.close(); - int i,j; //ng; + int i=0; + int j=0; + this->eigts1.create(Ucell->nat, 2*rho_basis->nx + 1); this->eigts2.create(Ucell->nat, 2*rho_basis->ny + 1); this->eigts3.create(Ucell->nat, 2*rho_basis->nz + 1); - ModuleBase::Memory::record("SF::eigts123",sizeof(std::complex) * (Ucell->nat*2 * (rho_basis->nx + rho_basis->ny + rho_basis->nz) + 3)); + ModuleBase::Memory::record("SF::eigts123",sizeof(std::complex) + * (Ucell->nat*2 * (rho_basis->nx + rho_basis->ny + rho_basis->nz) + 3)); ModuleBase::Vector3 gtau; int inat = 0; @@ -177,7 +187,7 @@ void Structure_Factor::setup_structure_factor(const UnitCell* Ucell, const Paral this->z_eigts3 = this->eigts3.c; // There's no need to delete double precision pointers while in a CPU environment. } - ModuleBase::timer::tick("PW_Basis","setup_struc_factor"); + ModuleBase::timer::tick("Structure_Factor","setup"); return; } @@ -298,7 +308,7 @@ void Structure_Factor::bspline_sf(const int norder, return; } -void Structure_Factor:: bsplinecoef(std::complex *b1, std::complex *b2, std::complex *b3, +void Structure_Factor::bsplinecoef(std::complex *b1, std::complex *b2, std::complex *b3, const int nx, const int ny, const int nz, const int norder) { const std::complex ci_tpi = ModuleBase::NEG_IMAG_UNIT * ModuleBase::TWO_PI; @@ -379,4 +389,4 @@ template <> std::complex * Structure_Factor::get_eigts3_data() const { return this->z_eigts3; -} \ No newline at end of file +} diff --git a/source/source_pw/module_pwdft/structure_factor.h b/source/source_pw/module_pwdft/structure_factor.h index 36e9185400..6de0a5b0e3 100644 --- a/source/source_pw/module_pwdft/structure_factor.h +++ b/source/source_pw/module_pwdft/structure_factor.h @@ -1,5 +1,5 @@ -#ifndef PLANEWAVE_H -#define PLANEWAVE_H +#ifndef STRUCTURE_FACTOR_H +#define STRUCTURE_FACTOR_H #include "source_base/complexmatrix.h" #include "source_basis/module_pw/pw_basis_k.h" @@ -23,9 +23,10 @@ class Structure_Factor // structure factor (ntype, ngmc) ModuleBase::ComplexMatrix strucFac; - void setup_structure_factor(const UnitCell* Ucell, - const Parallel_Grid& pgrid, - const ModulePW::PW_Basis* rho_basis); // Calculate structure factors + + void setup(const UnitCell* Ucell, + const Parallel_Grid& pgrid, + const ModulePW::PW_Basis* rho_basis); // Calculate structure factors /// calculate structure factors through Cardinal B-spline interpolation void bspline_sf( @@ -33,6 +34,7 @@ class Structure_Factor const UnitCell* Ucell, const Parallel_Grid& pgrid, const ModulePW::PW_Basis* rho_basis); + void bsplinecoef(std::complex *b1, std::complex *b2, std::complex *b3, const int nx, const int ny, const int nz, const int norder); @@ -51,7 +53,9 @@ class Structure_Factor // sf with k points std::complex* get_sk(const int ik, const int it, const int ia, const ModulePW::PW_Basis_K* wfc_basis) const; template + void get_sk(Device* ctx, const int ik, const ModulePW::PW_Basis_K* wfc_basis, std::complex* sk) const; + std::complex* get_skq(int ik, int it, int ia, @@ -59,9 +63,16 @@ class Structure_Factor ModuleBase::Vector3 q); private: + const UnitCell* ucell=nullptr; - std::complex * c_eigts1 = nullptr, * c_eigts2 = nullptr, * c_eigts3 = nullptr; - std::complex * z_eigts1 = nullptr, * z_eigts2 = nullptr, * z_eigts3 = nullptr; + std::complex * c_eigts1 = nullptr; + std::complex * c_eigts2 = nullptr; + std::complex * c_eigts3 = nullptr; + + std::complex * z_eigts1 = nullptr; + std::complex * z_eigts2 = nullptr; + std::complex * z_eigts3 = nullptr; + const ModulePW::PW_Basis* rho_basis = nullptr; std::string device = "cpu"; }; diff --git a/source/source_pw/module_pwdft/test/CMakeLists.txt b/source/source_pw/module_pwdft/test/CMakeLists.txt index 32009ba9e7..5922b02567 100644 --- a/source/source_pw/module_pwdft/test/CMakeLists.txt +++ b/source/source_pw/module_pwdft/test/CMakeLists.txt @@ -30,7 +30,7 @@ AddTest( AddTest( TARGET structure_factor_test - LIBS parameter ${math_libs} base device planewave + LIBS parameter ${math_libs} base device planewave SOURCES structure_factor_test.cpp ../structure_factor.cpp ../parallel_grid.cpp ../../../source_cell/unitcell.cpp ../../../source_io/output.cpp @@ -49,8 +49,10 @@ AddTest( ../../../source_cell/read_pp_upf201.cpp ../../../source_cell/read_pp_vwr.cpp ../../../source_cell/read_pp_blps.cpp + ../../../source_cell/sep.cpp + ../../../source_cell/sep_cell.cpp ../../../source_estate/read_pseudo.cpp ../../../source_estate/cal_wfc.cpp ../../../source_estate/cal_nelec_nband.cpp ../../../source_estate/read_orb.cpp -) \ No newline at end of file +) diff --git a/source/source_pw/module_pwdft/test/structure_factor_test.cpp b/source/source_pw/module_pwdft/test/structure_factor_test.cpp index c0f5078a72..0a1866a3f4 100644 --- a/source/source_pw/module_pwdft/test/structure_factor_test.cpp +++ b/source/source_pw/module_pwdft/test/structure_factor_test.cpp @@ -75,7 +75,7 @@ TEST_F(StructureFactorTest, set) TEST_F(StructureFactorTest, setup_structure_factor_double) { rho_basis->npw = 10; - SF.setup_structure_factor(ucell,*pgrid,rho_basis); + SF.setup(ucell,*pgrid,rho_basis); for (int i=0;i< ucell->nat * (2 * rho_basis->nx + 1);i++) { @@ -100,7 +100,7 @@ TEST_F(StructureFactorTest, setup_structure_factor_float) { PARAM.sys.has_float_data = true; rho_basis->npw = 10; - SF.setup_structure_factor(ucell,*pgrid,rho_basis); + SF.setup(ucell,*pgrid,rho_basis); for (int i=0;i< ucell->nat * (2 * rho_basis->nx + 1);i++) { @@ -125,4 +125,4 @@ int main() { testing::InitGoogleTest(); return RUN_ALL_TESTS(); -} \ No newline at end of file +} diff --git a/source/source_pw/module_stodft/hamilt_sdft_pw.cpp b/source/source_pw/module_stodft/hamilt_sdft_pw.cpp index fac4e7f867..b1e752c50e 100644 --- a/source/source_pw/module_stodft/hamilt_sdft_pw.cpp +++ b/source/source_pw/module_stodft/hamilt_sdft_pw.cpp @@ -10,11 +10,11 @@ HamiltSdftPW::HamiltSdftPW(elecstate::Potential* pot_in, ModulePW::PW_Basis_K* wfc_basis, K_Vectors* p_kv, pseudopot_cell_vnl* nlpp, - const UnitCell* ucell, - const int& npol, + const UnitCell* ucell, + const int& npol, Real* emin_in, Real* emax_in) - : HamiltPW(pot_in, wfc_basis, p_kv, nlpp,ucell), ngk(p_kv->ngk) + : HamiltPW(pot_in, wfc_basis, p_kv, nlpp, nullptr, ucell), ngk(p_kv->ngk) { this->classname = "HamiltSdftPW"; this->npwk_max = wfc_basis->npwk_max; @@ -69,4 +69,4 @@ template class HamiltSdftPW, base_device::DEVICE_GPU>; template class HamiltSdftPW, base_device::DEVICE_GPU>; #endif -} // namespace hamilt \ No newline at end of file +} // namespace hamilt diff --git a/source/source_pw/module_stodft/hamilt_sdft_pw.h b/source/source_pw/module_stodft/hamilt_sdft_pw.h index 39bc2bc13e..282ebec424 100644 --- a/source/source_pw/module_stodft/hamilt_sdft_pw.h +++ b/source/source_pw/module_stodft/hamilt_sdft_pw.h @@ -26,7 +26,7 @@ class HamiltSdftPW : public HamiltPW K_Vectors* p_kv, pseudopot_cell_vnl* nlpp, const UnitCell* ucell, - const int& npol, + const int& npol, Real* emin_in, Real* emax_in); /** @@ -64,4 +64,4 @@ class HamiltSdftPW : public HamiltPW } // namespace hamilt -#endif \ No newline at end of file +#endif diff --git a/source/source_pw/module_stodft/sto_dos.cpp b/source/source_pw/module_stodft/sto_dos.cpp index ffcc24203f..dd90224e15 100644 --- a/source/source_pw/module_stodft/sto_dos.cpp +++ b/source/source_pw/module_stodft/sto_dos.cpp @@ -157,7 +157,7 @@ void Sto_DOS::caldos(const double sigmain, const double de, cons double* vec_all = (double*)allorderchi.data(); int LDA = npwx * nchipk_new * 2; int M = npwx * nchipk_new * 2; - dgemm_(&trans, &normal, &N, &N, &M, &kweight, vec_all, &LDA, vec_all, &LDA, &one, spolyv.data(), &N); + BlasConnector::gemm(normal, trans, N, N, M, kweight, vec_all, LDA, vec_all, LDA, one, spolyv.data(), N); } } } @@ -240,7 +240,7 @@ void Sto_DOS::caldos(const double sigmain, const double de, cons #endif if (GlobalV::MY_RANK == 0) { - std::string dosfile = PARAM.globalv.global_out_dir + "doss1_pw.txt"; + std::string dosfile = PARAM.globalv.global_out_dir + "dos_sdft.txt"; ofsdos.open(dosfile.c_str()); double maxerror = 0; double sum = 0; diff --git a/source/source_pw/module_stodft/test/test_hamilt_sto.cpp b/source/source_pw/module_stodft/test/test_hamilt_sto.cpp index 24ff21ffae..a1937caf05 100644 --- a/source/source_pw/module_stodft/test/test_hamilt_sto.cpp +++ b/source/source_pw/module_stodft/test/test_hamilt_sto.cpp @@ -9,7 +9,14 @@ void elecstate::Potential::cal_v_eff(Charge const*, UnitCell const*, ModuleBase: void elecstate::Potential::cal_fixed_v(double*){} template -hamilt::HamiltPW::HamiltPW(elecstate::Potential* pot_in, ModulePW::PW_Basis_K* wfc_basis, K_Vectors* p_kv, pseudopot_cell_vnl*,const UnitCell*){} +hamilt::HamiltPW::HamiltPW( + elecstate::Potential* pot_in, + ModulePW::PW_Basis_K* wfc_basis, + K_Vectors* p_kv, + pseudopot_cell_vnl* ppcell, + Plus_U* p_dftu, // mohan add 20251108 + const UnitCell* ucell){} + template hamilt::HamiltPW::~HamiltPW(){ delete this->ops; diff --git a/source/source_pw/module_stodft/test/test_sto_tool.cpp b/source/source_pw/module_stodft/test/test_sto_tool.cpp index a0654e1e7f..79d4cdcf22 100644 --- a/source/source_pw/module_stodft/test/test_sto_tool.cpp +++ b/source/source_pw/module_stodft/test/test_sto_tool.cpp @@ -8,7 +8,13 @@ ***********************************************/ template -hamilt::HamiltPW::HamiltPW(elecstate::Potential* pot_in, ModulePW::PW_Basis_K* wfc_basis, K_Vectors* p_kv,pseudopot_cell_vnl*,const UnitCell*){} +hamilt::HamiltPW::HamiltPW(elecstate::Potential* pot_in, + ModulePW::PW_Basis_K* wfc_basis, + K_Vectors* p_kv, + pseudopot_cell_vnl*, + Plus_U* p_dftu, // mohan add 20251108 + const UnitCell*){} + template hamilt::HamiltPW::~HamiltPW(){}; template @@ -25,9 +31,10 @@ hamilt::HamiltSdftPW::HamiltSdftPW(elecstate::Potential* pot_in, const int& npol, Real* emin_in, Real* emax_in) - : HamiltPW(pot_in, wfc_basis, p_kv, nlpp, ucell), ngk(p_kv->ngk) + : HamiltPW(pot_in, wfc_basis, p_kv, nlpp, nullptr, ucell), ngk(p_kv->ngk) { } + template void hamilt::HamiltSdftPW::hPsi_norm(const T* psi_in, T* hpsi, const int& nbands){} @@ -35,6 +42,7 @@ template class hamilt::HamiltPW, base_device::DEVICE_CPU>; template class hamilt::HamiltSdftPW, base_device::DEVICE_CPU>; template class hamilt::HamiltPW, base_device::DEVICE_CPU>; template class hamilt::HamiltSdftPW, base_device::DEVICE_CPU>; + #if ((defined __CUDA) || (defined __ROCM)) template class hamilt::HamiltPW, base_device::DEVICE_GPU>; template class hamilt::HamiltSdftPW, base_device::DEVICE_GPU>; diff --git a/source/source_relax/bfgs.cpp b/source/source_relax/bfgs.cpp index 829af3fa1c..d105dc2791 100644 --- a/source/source_relax/bfgs.cpp +++ b/source/source_relax/bfgs.cpp @@ -1,7 +1,6 @@ #include "bfgs.h" #include "source_pw/module_pwdft/global.h" #include "source_base/module_external/lapack_connector.h" -#include "source_base/matrix3.h" #include "source_io/module_parameter/parameter.h" #include "ions_move_basic.h" #include "source_cell/update_cell.h" @@ -10,10 +9,12 @@ //! initialize H0、H、pos0、force0、force void BFGS::allocate(const int _size) { + assert(_size > 0); alpha=70;//default value in ase is 70 maxstep=PARAM.inp.relax_bfgs_rmax; size=_size; - sign =true; + largest_grad=0.0; + sign=true; H = std::vector>(3*size, std::vector(3*size, 0.0)); for (int i = 0; i < 3*size; ++i) @@ -21,13 +22,13 @@ void BFGS::allocate(const int _size) H[i][i] = alpha; } - pos = std::vector> (size, std::vector(3, 0.0)); + pos = std::vector> (size, ModuleBase::Vector3(0.0, 0.0, 0.0)); pos0 = std::vector(3*size, 0.0); - pos_taud = std::vector> (size, std::vector(3, 0.0)); + pos_taud = std::vector> (size, ModuleBase::Vector3(0.0, 0.0, 0.0)); pos_taud0 = std::vector(3*size, 0.0); - dpos = std::vector>(size, std::vector(3, 0.0)); + dpos = std::vector>(size, ModuleBase::Vector3(0.0, 0.0, 0.0)); force0 = std::vector(3*size, 0.0); - force = std::vector>(size, std::vector(3, 0.0)); + force = std::vector>(size, ModuleBase::Vector3(0.0, 0.0, 0.0)); steplength = std::vector(size, 0.0); } @@ -37,12 +38,16 @@ void BFGS::relax_step(const ModuleBase::matrix& _force,UnitCell& ucell) GetPos(ucell,pos); GetPostaud(ucell,pos_taud); ucell.ionic_position_updated = true; + assert(_force.nr == force.size() && _force.nc == 3); for(int i = 0; i < _force.nr; i++) { - for(int j=0;j<_force.nc;j++) - { - force[i][j]=_force(i,j)*ModuleBase::Ry_to_eV/ModuleBase::BOHR_TO_A; - } + force[i].x=_force(i,0)*ModuleBase::Ry_to_eV/ModuleBase::BOHR_TO_A; + force[i].y=_force(i,1)*ModuleBase::Ry_to_eV/ModuleBase::BOHR_TO_A; + force[i].z=_force(i,2)*ModuleBase::Ry_to_eV/ModuleBase::BOHR_TO_A; + // for(int j=0;j<_force.nc;j++) + // { + // force[i][j]=_force(i,j)*ModuleBase::Ry_to_eV/ModuleBase::BOHR_TO_A; + // } } int k=0; for(int i=0;iPrepareStep(force,pos,H,pos0,force0,steplength,dpos,ucell); + this->PrepareStep(force,pos,H,pos0,force0,steplength,dpos,size,ucell); this->DetermineStep(steplength,dpos,maxstep); this->UpdatePos(ucell); this->CalculateLargestGrad(_force,ucell); - this->IsRestrain(dpos); + this->IsRestrain(); // print out geometry information during bfgs_trad relax unitcell::print_tau(ucell.atoms,ucell.Coordinate,ucell.ntype,ucell.lat0,GlobalV::ofs_running); } -void BFGS::GetPos(UnitCell& ucell,std::vector>& pos) +void BFGS::GetPos(UnitCell& ucell,std::vector>& pos) { + assert(pos.size() == ucell.nat); int k=0; for(int i=0;i>& pos_taud) + std::vector>& pos_taud) { + assert(pos_taud.size() == ucell.nat); int k=0; for(int i=0;i>& force, - std::vector>& pos, +void BFGS::PrepareStep(std::vector>& force, + std::vector>& pos, std::vector>& H, std::vector& pos0, std::vector& force0, std::vector& steplength, - std::vector>& dpos, + std::vector>& dpos, + int& size, UnitCell& ucell) { std::vector changedforce = ReshapeMToV(force); @@ -142,8 +150,10 @@ void BFGS::PrepareStep(std::vector>& force, } } std::vector a=DotInMAndV2(V, changedforce); + double threshold=1e-8; for(int i = 0; i < a.size(); i++) { + assert(std::abs(omega[i]) > threshold); a[i]/=std::abs(omega[i]); } std::vector tmpdpos = DotInMAndV1(V, a); @@ -191,7 +201,7 @@ void BFGS::Update(std::vector& pos, //shortest_move=shortest_move*ModuleBase::BOHR_TO_A*ucell.lat0; dpos[i]=shortest_move; } - std::vector> c=ReshapeVToM(dpos); + std::vector> c=ReshapeVToM(dpos); for(int iat=0; iat& pos, //convert unit ModuleBase::Vector3 move_ion_cart; - move_ion_cart.x = c[iat][0] *ModuleBase::BOHR_TO_A * ucell.lat0; - move_ion_cart.y = c[iat][1] * ModuleBase::BOHR_TO_A * ucell.lat0; - move_ion_cart.z = c[iat][2] * ModuleBase::BOHR_TO_A * ucell.lat0; + move_ion_cart.x = c[iat].x * ModuleBase::BOHR_TO_A * ucell.lat0; + move_ion_cart.y = c[iat].y * ModuleBase::BOHR_TO_A * ucell.lat0; + move_ion_cart.z = c[iat].z * ModuleBase::BOHR_TO_A * ucell.lat0; //convert pos ModuleBase::Vector3 move_ion_dr = move_ion_cart* ucell.latvec; @@ -221,7 +231,8 @@ void BFGS::Update(std::vector& pos, dpos[iat * 3 + 2] = move_ion_dr.z ; } } - if(*max_element(dpos.begin(), dpos.end()) < 1e-7) + double threshold=1e-7; + if(*max_element(dpos.begin(), dpos.end()) < threshold) { return; } @@ -238,20 +249,21 @@ void BFGS::Update(std::vector& pos, } void BFGS::DetermineStep(std::vector& steplength, - std::vector>& dpos, + std::vector>& dpos, double& maxstep) { std::vector::iterator maxsteplength = max_element(steplength.begin(), steplength.end()); double a = *maxsteplength; + double threshold=1e-10; + assert(a > threshold); if(a >= maxstep) { double scale = maxstep / a; for(int i = 0; i < size; i++) { - for(int j=0;j<3;j++) - { - dpos[i][j]*=scale; - } + dpos[i].x*=scale; + dpos[i].y*=scale; + dpos[i].z*=scale; } } } @@ -261,11 +273,9 @@ void BFGS::UpdatePos(UnitCell& ucell) double a[3*size]; for(int i=0;iMAddM(pos, dpos);*/ } -void BFGS::IsRestrain(std::vector>& dpos) -{ - Ions_Move_Basic::converged = Ions_Move_Basic::largest_grad - * ModuleBase::Ry_to_eV / 0.529177 grad= std::vector(3*size, 0.0); @@ -334,20 +338,26 @@ void BFGS::CalculateLargestGrad(const ModuleBase::matrix& _force,UnitCell& ucell ++iat; } } - Ions_Move_Basic::largest_grad = 0.0; + largest_grad = 0.0; for (int i = 0; i < 3*size; i++) { - if (Ions_Move_Basic::largest_grad < std::abs(grad[i])) + if (largest_grad < std::abs(grad[i])) { - Ions_Move_Basic::largest_grad = std::abs(grad[i]); + largest_grad = std::abs(grad[i]); } } + assert(ucell.lat0 != 0); Ions_Move_Basic::largest_grad /= ucell.lat0; if (PARAM.inp.out_level == "ie") { - std::cout << " LARGEST GRAD (eV/Angstrom) : " << Ions_Move_Basic::largest_grad - * ModuleBase::Ry_to_eV / 0.5291772109 + std::cout << " LARGEST GRAD (eV/Angstrom) : " << largest_grad + * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A << std::endl; } +} +void BFGS::IsRestrain() +{ + Ions_Move_Basic::converged = largest_grad + * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A steplength;//the length of atoms displacement - std::vector> H;//Hessian matrix - std::vector force0;//force in previous step - std::vector> force; - std::vector pos0;//atom pos in previous step(cartesian coordinates) - std::vector> pos; - std::vector pos_taud0;//atom pos in previous step(relative coordinates) - std::vector> pos_taud; - std::vector> dpos; - void allocate(const int _size);//initialize parameters void relax_step(const ModuleBase::matrix& _force,UnitCell& ucell);//a full iteration step - void PrepareStep(std::vector>& force,std::vector>& pos,std::vector>& H,std::vector& pos0,std::vector& force0,std::vector& steplength,std::vector>& dpos,UnitCell& ucell);//calculate the atomic displacement in one iteration step + private: bool sign;//check if this is the first iteration double alpha;//initialize H,diagonal element is alpha double maxstep;//every movement smaller than maxstep + double largest_grad; int size;//number of atoms + + std::vector steplength;//the length of atoms displacement + std::vector> H;//Hessian matrix + std::vector force0;//force in previous step + std::vector> force; + std::vector pos0;//atom pos in previous step(cartesian coordinates) + std::vector> pos; + std::vector pos_taud0;//atom pos in previous step(relative coordinates) + std::vector> pos_taud; + std::vector> dpos; - void IsRestrain(std::vector>& dpos);//check if converged + void PrepareStep(std::vector>& force,std::vector>& pos,std::vector>& H,std::vector& pos0,std::vector& force0,std::vector& steplength,std::vector>& dpos,int& size,UnitCell& ucell);//calculate the atomic displacement in one iteration step + void IsRestrain();//check if converged void CalculateLargestGrad(const ModuleBase::matrix& _force,UnitCell& ucell); - void GetPos(UnitCell& ucell,std::vector>& pos); - void GetPostaud(UnitCell& ucell,std::vector>& pos_taud); + void GetPos(UnitCell& ucell,std::vector>& pos); + void GetPostaud(UnitCell& ucell,std::vector>& pos_taud); void Update(std::vector& pos, std::vector& force,std::vector>& H,UnitCell& ucell);//update hessian matrix - void DetermineStep(std::vector& steplength,std::vector>& dpos,double& maxstep);//normalize large atomic displacements based on maxstep + void DetermineStep(std::vector& steplength,std::vector>& dpos,double& maxstep);//normalize large atomic displacements based on maxstep void UpdatePos(UnitCell& ucell);//update ucell with the new coordinates }; diff --git a/source/source_relax/ions_move_basic.cpp b/source/source_relax/ions_move_basic.cpp index 5b3e1b58c6..e4a2caef9d 100644 --- a/source/source_relax/ions_move_basic.cpp +++ b/source/source_relax/ions_move_basic.cpp @@ -23,7 +23,7 @@ double Ions_Move_Basic::relax_bfgs_init = -1.0; // default is 0.5 double Ions_Move_Basic::best_xxx = 1.0; int Ions_Move_Basic::out_stru = 0; -std::string Ions_Move_Basic::relax_method = "bfgs"; +std::vector Ions_Move_Basic::relax_method = {"bfgs","2"}; void Ions_Move_Basic::setup_gradient(const UnitCell &ucell, const ModuleBase::matrix &force, double *pos, double *grad) { @@ -147,10 +147,10 @@ void Ions_Move_Basic::check_converged(const UnitCell &ucell, const double *grad) if (PARAM.inp.out_level == "ie") { std::cout << " ETOT DIFF (eV) : " << Ions_Move_Basic::ediff * ModuleBase::Ry_to_eV << std::endl; - std::cout << " LARGEST GRAD (eV/Angstrom) : " << Ions_Move_Basic::largest_grad * ModuleBase::Ry_to_eV / 0.529177 + std::cout << " LARGEST GRAD (eV/Angstrom) : " << Ions_Move_Basic::largest_grad * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A << std::endl; - GlobalV::ofs_running << "\n Largest force is " << largest_grad * ModuleBase::Ry_to_eV / 0.529177 + GlobalV::ofs_running << "\n Largest force is " << largest_grad * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A << " eV/Angstrom while threshold is " << PARAM.inp.force_thr_ev << " eV/Angstrom" << std::endl; } @@ -178,7 +178,7 @@ void Ions_Move_Basic::check_converged(const UnitCell &ucell, const double *grad) else { GlobalV::ofs_running << "\n Ion relaxation is not converged yet (threshold is " - << PARAM.inp.force_thr * ModuleBase::Ry_to_eV / 0.529177 << ")" << std::endl; + << PARAM.inp.force_thr * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A << ")" << std::endl; // std::cout << "\n etot_diff=" << etot_diff << " etot_thr=" << etot_thr //<< " largest_grad=" << largest_grad << " force_thr=" << PARAM.inp.force_thr << std::endl; Ions_Move_Basic::converged = false; diff --git a/source/source_relax/ions_move_basic.h b/source/source_relax/ions_move_basic.h index f6966d2d17..8f03085028 100644 --- a/source/source_relax/ions_move_basic.h +++ b/source/source_relax/ions_move_basic.h @@ -21,7 +21,7 @@ extern double relax_bfgs_rmax; // max value of trust radius, extern double relax_bfgs_rmin; // min value of trust radius, extern double relax_bfgs_init; // initial value of trust radius, extern double best_xxx; // the last step length of cg , we use it as bfgs`s initial step length -extern std::string relax_method; // relaxation method, +extern std::vector relax_method; // relaxation method, extern int out_stru; // output the structure or not // funny way to pass this parameter, but nevertheless diff --git a/source/source_relax/ions_move_cg.cpp b/source/source_relax/ions_move_cg.cpp index 7da54c3831..eec0009764 100644 --- a/source/source_relax/ions_move_cg.cpp +++ b/source/source_relax/ions_move_cg.cpp @@ -1,5 +1,4 @@ #include "ions_move_cg.h" - #include "ions_move_basic.h" #include "source_base/global_function.h" #include "source_base/global_variable.h" @@ -77,20 +76,16 @@ void Ions_Move_CG::start(UnitCell &ucell, const ModuleBase::matrix &force, const // ncggrad is a parameter to control the cg method , every ten cg directions, // we change the direction back to the steepest descent method static int ncggrad = 0; - static double fa = 0.0; static double fb = 0.0; static double fc = 0.0; - static double xa = 0.0; static double xb = 0.0; static double xc = 0.0; static double xpt = 0.0; static double steplength = 0.0; static double fmax = 0.0; - static int nbrent = 0; - // some arrays double *pos = new double[dim]; @@ -100,7 +95,6 @@ void Ions_Move_CG::start(UnitCell &ucell, const ModuleBase::matrix &force, const double *cg_grad = new double[dim]; double best_x = 0.0; double fmin = 0.0; - int flag = 0; ModuleBase::GlobalFunc::ZEROS(pos, dim); @@ -137,7 +131,6 @@ void Ions_Move_CG::start(UnitCell &ucell, const ModuleBase::matrix &force, const { Ions_Move_Basic::check_converged(ucell, grad); } - if (Ions_Move_Basic::converged) { Ions_Move_Basic::terminate(ucell); @@ -155,21 +148,7 @@ void Ions_Move_CG::start(UnitCell &ucell, const ModuleBase::matrix &force, const flag); // we use the last direction ,the last grad and the grad now to get the direction now ncggrad++; - double norm = 0.0; - for (int i = 0; i < dim; ++i) - { - norm += pow(cg_grad[i], 2); - } - norm = sqrt(norm); - - if (norm != 0.0) - { - for (int i = 0; i < dim; ++i) - { - cg_gradn[i] = cg_grad[i] / norm; - } - } - + normalize(cg_gradn, cg_grad, dim); setup_move(move0, cg_gradn, steplength); // move the atom position Ions_Move_Basic::move_atoms(ucell, move0, pos); @@ -181,16 +160,16 @@ void Ions_Move_CG::start(UnitCell &ucell, const ModuleBase::matrix &force, const f_cal(move0, move0, dim, xb); // xb = trial steplength f_cal(move0, grad, dim, fa); // fa is the projection force in this direction - fmax = fa; sd = false; - if (Ions_Move_Basic::relax_method == "cg_bfgs") + if (Ions_Move_Basic::relax_method[0] == "cg_bfgs") { - if (Ions_Move_Basic::largest_grad * ModuleBase::Ry_to_eV / 0.529177 + if (Ions_Move_Basic::largest_grad * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A < RELAX_CG_THR) // cg to bfgs by pengfei 13-8-8 { - Ions_Move_Basic::relax_method = "bfgs"; + Ions_Move_Basic::relax_method[0] = "bfgs"; + Ions_Move_Basic::relax_method[1] = "2"; } Ions_Move_Basic::best_xxx = steplength; } @@ -204,7 +183,6 @@ void Ions_Move_CG::start(UnitCell &ucell, const ModuleBase::matrix &force, const double e1 = etot_in; f_cal(move0, grad, dim, fb); f_cal(move0, move0, dim, xb); - if ((std::abs(fb) < std::abs((fa) / 10.0))) { sd = true; @@ -214,21 +192,7 @@ void Ions_Move_CG::start(UnitCell &ucell, const ModuleBase::matrix &force, const goto CG_begin; } - double norm = 0.0; - for (int i = 0; i < dim; ++i) - { - norm += pow(cg_grad0[i], 2); - } - norm = sqrt(norm); - - if (norm != 0.0) - { - for (int i = 0; i < dim; ++i) - { - cg_gradn[i] = cg_grad0[i] / norm; - } - } - + normalize(cg_gradn, cg_grad0, dim); third_order(e0, e1, fa, fb, xb, best_x); // cubic interpolation if (best_x > 6 * xb || best_x < (-xb)) @@ -238,7 +202,6 @@ void Ions_Move_CG::start(UnitCell &ucell, const ModuleBase::matrix &force, const setup_move(move, cg_gradn, best_x); Ions_Move_Basic::move_atoms(ucell, move, pos); - trial = false; xa = 0; f_cal(move0, move, dim, xc); @@ -250,7 +213,6 @@ void Ions_Move_CG::start(UnitCell &ucell, const ModuleBase::matrix &force, const { double xtemp, ftemp; f_cal(move0, grad, dim, fc); - fmin = std::abs(fc); nbrent++; @@ -275,24 +237,9 @@ void Ions_Move_CG::start(UnitCell &ucell, const ModuleBase::matrix &force, const goto CG_begin; } - double norm = 0.0; - for (int i = 0; i < dim; ++i) - { - norm += pow(cg_grad0[i], 2); - } - norm = sqrt(norm); - - if (norm != 0.0) - { - for (int i = 0; i < dim; ++i) - { - cg_gradn[i] = cg_grad0[i] / norm; - } - } - + normalize(cg_gradn, cg_grad0, dim); setup_move(move, cg_gradn, best_x); Ions_Move_Basic::move_atoms(ucell, move, pos); - Ions_Move_Basic::relax_bfgs_init = xc; } } @@ -342,7 +289,6 @@ void Ions_Move_CG::setup_cg_grad(double *grad, cgp_gp += cg_grad0[i] * grad0[i]; cgp_g += cg_grad0[i] * grad[i]; } - assert(g_gp != 0.0); const double gamma1 = gg / gp_gp; // FR // const double gamma2 = -(gg - g_gp)/(cgp_g - cgp_gp); //CW @@ -508,3 +454,22 @@ void Ions_Move_CG::setup_move(double *move, double *cg_gradn, const double &trus } return; } + +void Ions_Move_CG::normalize(double *cg_gradn, const double *cg_grad, int dim) +{ + double norm = 0.0; + for (int i = 0; i < dim; ++i) + { + norm += pow(cg_grad[i], 2); + } + norm = sqrt(norm); + + if (norm != 0.0) + { + for (int i = 0; i < dim; ++i) + { + cg_gradn[i] = cg_grad[i] / norm; + } + } + return; +} diff --git a/source/source_relax/ions_move_cg.h b/source/source_relax/ions_move_cg.h index d143902486..662ef0c14f 100644 --- a/source/source_relax/ions_move_cg.h +++ b/source/source_relax/ions_move_cg.h @@ -38,6 +38,7 @@ class Ions_Move_CG const double &fb, const double x, double &best_x); + void normalize(double *cg_gradn, const double *cg_grad, int dim); }; #endif diff --git a/source/source_relax/ions_move_methods.cpp b/source/source_relax/ions_move_methods.cpp index 50ab3286c1..15f27d67d3 100644 --- a/source/source_relax/ions_move_methods.cpp +++ b/source/source_relax/ions_move_methods.cpp @@ -16,28 +16,28 @@ void Ions_Move_Methods::allocate(const int &natom) { Ions_Move_Basic::dim = natom * 3; - if (Ions_Move_Basic::relax_method == "bfgs") + if (Ions_Move_Basic::relax_method[0] == "bfgs"&&Ions_Move_Basic::relax_method[1] != "1") { this->bfgs.allocate(); } - else if (Ions_Move_Basic::relax_method == "sd") + else if (Ions_Move_Basic::relax_method[0] == "sd") { this->sd.allocate(); } - else if (Ions_Move_Basic::relax_method == "cg") + else if (Ions_Move_Basic::relax_method[0] == "cg") { this->cg.allocate(); } - else if (Ions_Move_Basic::relax_method == "cg_bfgs") + else if (Ions_Move_Basic::relax_method[0] == "cg_bfgs") { this->cg.allocate(); this->bfgs.allocate(); // added by pengfei 13-8-8 } - else if(Ions_Move_Basic::relax_method == "bfgs_trad") + else if(Ions_Move_Basic::relax_method[0] == "bfgs"&&Ions_Move_Basic::relax_method[1] == "1") { this->bfgs_trad.allocate(natom); } - else if(Ions_Move_Basic::relax_method == "lbfgs") + else if(Ions_Move_Basic::relax_method[0] == "lbfgs") { this->lbfgs.allocate(natom); } @@ -56,34 +56,32 @@ void Ions_Move_Methods::cal_movement(const int &istep, UnitCell &ucell) { ModuleBase::TITLE("Ions_Move_Methods", "init"); - // Ions_Move_Basic::istep = istep; Ions_Move_Basic::istep = force_step; - - if (Ions_Move_Basic::relax_method == "bfgs") + if (Ions_Move_Basic::relax_method[0] == "bfgs"&&Ions_Move_Basic::relax_method[1] != "1") { // move_ions // output tau // check all symmery bfgs.start(ucell, f, etot); } - else if (Ions_Move_Basic::relax_method == "sd") + else if (Ions_Move_Basic::relax_method[0] == "sd") { sd.start(ucell, f, etot); } - else if (Ions_Move_Basic::relax_method == "cg") + else if (Ions_Move_Basic::relax_method[0] == "cg") { cg.start(ucell, f, etot); } - else if (Ions_Move_Basic::relax_method == "cg_bfgs") + else if (Ions_Move_Basic::relax_method[0] == "cg_bfgs") { cg.start(ucell, f, etot); // added by pengfei 13-8-10 } - else if(Ions_Move_Basic::relax_method == "bfgs_trad") + else if(Ions_Move_Basic::relax_method[0] == "bfgs"&&Ions_Move_Basic::relax_method[1] == "1") { bfgs_trad.relax_step(f,ucell); } - else if(Ions_Move_Basic::relax_method == "lbfgs") + else if(Ions_Move_Basic::relax_method[0] == "lbfgs") { lbfgs.relax_step(f,ucell,etot); } diff --git a/source/source_relax/lattice_change_cg.cpp b/source/source_relax/lattice_change_cg.cpp index 94a1bf581d..442b37e671 100644 --- a/source/source_relax/lattice_change_cg.cpp +++ b/source/source_relax/lattice_change_cg.cpp @@ -165,21 +165,7 @@ void Lattice_Change_CG::start(UnitCell &ucell, const ModuleBase::matrix &stress_ flag); // we use the last direction ,the last grad and the grad now to get the direction now ncggrad++; - double norm = 0.0; - for (int i = 0; i < dim; ++i) - { - norm += pow(cg_grad[i], 2); - } - norm = sqrt(norm); - - if (norm != 0.0) - { - for (int i = 0; i < dim; ++i) - { - cg_gradn[i] = cg_grad[i] / norm; - } - } - + normalize(cg_gradn, cg_grad, dim); setup_move(move0, cg_gradn, steplength); // move the atom position Lattice_Change_Basic::change_lattice(ucell, move0, lat); @@ -214,21 +200,7 @@ void Lattice_Change_CG::start(UnitCell &ucell, const ModuleBase::matrix &stress_ goto CG_begin; } - double norm = 0.0; - for (int i = 0; i < dim; ++i) - { - norm += pow(cg_grad0[i], 2); - } - norm = sqrt(norm); - - if (norm != 0.0) - { - for (int i = 0; i < dim; ++i) - { - cg_gradn[i] = cg_grad0[i] / norm; - } - } - + normalize(cg_gradn, cg_grad0, dim); third_order(e0, e1, fa, fb, xb, best_x); // cubic interpolation if (best_x > 6 * xb || best_x < (-xb)) @@ -279,21 +251,7 @@ void Lattice_Change_CG::start(UnitCell &ucell, const ModuleBase::matrix &stress_ goto CG_begin; } - double norm = 0.0; - for (int i = 0; i < dim; ++i) - { - norm += pow(cg_grad0[i], 2); - } - norm = sqrt(norm); - - if (norm != 0.0) - { - for (int i = 0; i < dim; ++i) - { - cg_gradn[i] = cg_grad0[i] / norm; - } - } - + normalize(cg_gradn, cg_grad0, dim); setup_move(move, cg_gradn, best_x); Lattice_Change_Basic::change_lattice(ucell, move, lat); @@ -512,3 +470,22 @@ void Lattice_Change_CG::setup_move(double *move, double *cg_gradn, const double } return; } + +void Lattice_Change_CG::normalize(double *cg_gradn, const double *cg_grad, int dim) +{ + double norm = 0.0; + for (int i = 0; i < dim; ++i) + { + norm += pow(cg_grad[i], 2); + } + norm = sqrt(norm); + + if (norm != 0.0) + { + for (int i = 0; i < dim; ++i) + { + cg_gradn[i] = cg_grad[i] / norm; + } + } + return; +} diff --git a/source/source_relax/lattice_change_cg.h b/source/source_relax/lattice_change_cg.h index 3a6e724637..b93f22c81b 100644 --- a/source/source_relax/lattice_change_cg.h +++ b/source/source_relax/lattice_change_cg.h @@ -40,6 +40,8 @@ class Lattice_Change_CG const double &fb, const double x, double &best_x); + + void normalize(double *cg_gradn, const double *cg_grad, int dim); }; #endif diff --git a/source/source_relax/lbfgs.cpp b/source/source_relax/lbfgs.cpp index 9ad2497d30..31eaa2116a 100644 --- a/source/source_relax/lbfgs.cpp +++ b/source/source_relax/lbfgs.cpp @@ -1,6 +1,5 @@ #include "lbfgs.h" #include "source_pw/module_pwdft/global.h" -#include "source_base/matrix3.h" #include "source_io/module_parameter/parameter.h" #include "ions_move_basic.h" #include "source_cell/update_cell.h" @@ -15,13 +14,13 @@ void LBFGS::allocate(const int _size) // initialize H0、H、pos0、force0、for iteration=0; H = std::vector>(3*size, std::vector(3*size, 0.0)); H0=1/alpha; - pos = std::vector> (size, std::vector(3, 0.0)); + pos = std::vector> (size, ModuleBase::Vector3(0.0, 0.0, 0.0)); pos0 = std::vector(3*size, 0.0); - pos_taud = std::vector> (size, std::vector(3, 0.0)); + pos_taud = std::vector> (size, ModuleBase::Vector3(0.0, 0.0, 0.0)); pos_taud0 = std::vector(3*size, 0.0); - dpos = std::vector>(size, std::vector(3, 0.0)); + dpos = std::vector>(size, ModuleBase::Vector3(0.0, 0.0, 0.0)); force0 = std::vector(3*size, 0.0); - force = std::vector>(size, std::vector(3, 0.0)); + force = std::vector>(size, ModuleBase::Vector3(0.0, 0.0, 0.0)); steplength = std::vector(size, 0.0); //l_search.init_line_search(); } @@ -64,12 +63,12 @@ void LBFGS::relax_step(const ModuleBase::matrix _force,UnitCell& ucell,const dou this->determine_step(steplength,dpos,maxstep); this->update_pos(ucell); this->calculate_largest_grad(_force,ucell); - this->is_restrain(dpos); + this->is_restrain(); // mohan add 2025-06-22 unitcell::print_tau(ucell.atoms,ucell.Coordinate,ucell.ntype,ucell.lat0,GlobalV::ofs_running); } -void LBFGS::get_pos(UnitCell& ucell,std::vector>& pos) +void LBFGS::get_pos(UnitCell& ucell,std::vector>& pos) { int k=0; for(int i=0;i>& pos) } } -void LBFGS::get_pos_taud(UnitCell& ucell,std::vector>& pos_taud) +void LBFGS::get_pos_taud(UnitCell& ucell,std::vector>& pos_taud) { int k=0; for(int i=0;i>& pos_t } } -void LBFGS::prepare_step(std::vector>& force, - std::vector>& pos, +void LBFGS::prepare_step(std::vector>& force, + std::vector>& pos, std::vector>& H, std::vector& pos0, std::vector& force0, - std::vector>& dpos, + std::vector>& dpos, UnitCell& ucell, const double &etot) { @@ -130,7 +129,7 @@ void LBFGS::prepare_step(std::vector>& force, std::vector temp0=DotInVAndFloat(z,-1); dpos=ReshapeVToM(temp0); std::vector temp1=DotInVAndFloat(changedforce,-1); - std::vector> g=ReshapeVToM(temp1); + //std::vector> g=ReshapeVToM(temp1); energy=etot; //alpha_k=l_search.line_search(ucell,pos,g,energy,maxstep,size,dpos,pos,solver); //std::vector temp2=DotInVAndFloat(temp0,alpha_k); @@ -150,7 +149,7 @@ void LBFGS::prepare_step(std::vector>& force, pos_taud0=ReshapeMToV(pos_taud); force0 = changedforce; } -void LBFGS::update(std::vector>& pos_taud, +void LBFGS::update(std::vector>& pos_taud, std::vector& pos_taud0, std::vector& force, std::vector& force0, @@ -178,7 +177,7 @@ void LBFGS::update(std::vector>& pos_taud, } dpos[i]=shortest_move; } - std::vector> c=ReshapeVToM(dpos); + std::vector> c=ReshapeVToM(dpos); for(int iat=0; iat>& pos_taud, //convert unit ModuleBase::Vector3 move_ion_cart; - move_ion_cart.x = c[iat][0] *ModuleBase::BOHR_TO_A * ucell.lat0; - move_ion_cart.y = c[iat][1] * ModuleBase::BOHR_TO_A * ucell.lat0; - move_ion_cart.z = c[iat][2] * ModuleBase::BOHR_TO_A * ucell.lat0; + move_ion_cart.x = c[iat].x * ModuleBase::BOHR_TO_A * ucell.lat0; + move_ion_cart.y = c[iat].y * ModuleBase::BOHR_TO_A * ucell.lat0; + move_ion_cart.z = c[iat].z * ModuleBase::BOHR_TO_A * ucell.lat0; //convert pos ModuleBase::Vector3 move_ion_dr = move_ion_cart* ucell.latvec; @@ -222,7 +221,7 @@ void LBFGS::update(std::vector>& pos_taud, rho.erase(rho.begin()); } } -void LBFGS::determine_step(std::vector& steplength,std::vector>& dpos,double& maxstep) +void LBFGS::determine_step(std::vector& steplength,std::vector>& dpos,double& maxstep) { std::vector::iterator maxsteplength = max_element(steplength.begin(), steplength.end()); double a = *maxsteplength; @@ -252,9 +251,9 @@ void LBFGS::update_pos(UnitCell& ucell) unitcell::update_pos_tau(ucell.lat,a,ucell.ntype,ucell.nat,ucell.atoms); } -void LBFGS::is_restrain(std::vector>& dpos) +void LBFGS::is_restrain() { - Ions_Move_Basic::converged = Ions_Move_Basic::largest_grad * ModuleBase::Ry_to_eV / 0.529177> H; ///< Inverse Hessian approximation - std::vector force0; ///< Previous step forces - std::vector> force; ///< Force history - std::vector pos0; ///< Previous positions - std::vector> pos; ///< Position history - std::vector pos_taud0; ///< Previous fractional positions - std::vector> pos_taud; ///< Fractional position history - std::vector> dpos; ///< Position displacements + std::vector steplength;//the length of atoms displacement + std::vector> H;//Hessian matrix + std::vector force0;//force in previous step + std::vector> force; + std::vector pos0;//atom pos in previous step(cartesian coordinates) + std::vector> pos; + std::vector pos_taud0;//atom pos in previous step(relative coordinates) + std::vector> pos_taud; + std::vector> dpos; std::vector> s; ///< Position difference vectors std::vector> y; ///< Force difference vectors std::vector rho; ///< Scalar products for L-BFGS update - std::vector steplength; ///< Step lengths for each atom /** * @brief Prepare optimization step parameters */ - void prepare_step(std::vector>& force, - std::vector>& pos, + void prepare_step(std::vector>& force, + std::vector>& pos, std::vector>& H, std::vector& pos0, std::vector& force0, - std::vector>& dpos, + std::vector>& dpos, UnitCell& ucell, const double &etot); @@ -78,7 +78,7 @@ class LBFGS * @brief Judge if the cell is restrain * @param dpos Position displacements to constrain */ - void is_restrain(std::vector>& dpos); + void is_restrain(); /** * @brief Calculate maximum gradient component @@ -94,7 +94,7 @@ class LBFGS * @param pos Output position vector */ void get_pos(UnitCell& ucell, - std::vector>& pos); + std::vector>& pos); /** * @brief Get fractional positions from unit cell @@ -102,7 +102,7 @@ class LBFGS * @param pos_taud Output fractional positions */ void get_pos_taud(UnitCell& ucell, - std::vector>& pos_taud); + std::vector>& pos_taud); /** * @brief Update L-BFGS history buffers @@ -117,7 +117,7 @@ class LBFGS * @param y Force differences buffer * @param rho Scalar products buffer */ - void update(std::vector>& pos_taud, + void update(std::vector>& pos_taud, std::vector& pos_taud0, std::vector& force, std::vector& force0, @@ -135,7 +135,7 @@ class LBFGS * @param maxstep Maximum allowed step length */ void determine_step(std::vector& steplength, - std::vector>& dpos, + std::vector>& dpos, double& maxstep); /** diff --git a/source/source_relax/matrix_methods.cpp b/source/source_relax/matrix_methods.cpp index 99019f0668..96079d55e1 100644 --- a/source/source_relax/matrix_methods.cpp +++ b/source/source_relax/matrix_methods.cpp @@ -2,13 +2,18 @@ -std::vector ReshapeMToV(std::vector>& matrix) + +std::vector ReshapeMToV(std::vector>& matrix) { + assert(!matrix.empty()); int size = matrix.size(); std::vector result; result.reserve(3*size); - for (const auto& row : matrix) { - result.insert(result.end(), row.begin(), row.end()); + for (const auto& v : matrix) + { + result.push_back(v.x); + result.push_back(v.y); + result.push_back(v.z); } return result; } @@ -16,6 +21,8 @@ std::vector ReshapeMToV(std::vector>& matrix) std::vector> MAddM(std::vector>& a, std::vector>& b) { + assert(!a.empty() && !b.empty()); + assert(a.size() == b.size() && a[0].size() == b[0].size()); std::vector> result = std::vector>(a.size(), std::vector(a[0].size(), 0.0)); for(int i = 0; i < a.size(); i++) { @@ -29,6 +36,7 @@ std::vector> MAddM(std::vector>& a, std::vector VSubV(std::vector& a, std::vector& b) { + assert(a.size() == b.size()); std::vector result = std::vector(a.size(), 0.0); for(int i = 0; i < a.size(); i++) { @@ -37,21 +45,23 @@ std::vector VSubV(std::vector& a, std::vector& b) return result; } -std::vector> ReshapeVToM(std::vector& matrix) +std::vector> ReshapeVToM(std::vector& matrix) { - std::vector> result = std::vector>(matrix.size() / 3, std::vector(3)); + assert(matrix.size() % 3 == 0); + std::vector> result = std::vector>(matrix.size() / 3, ModuleBase::Vector3(0.0, 0.0, 0.0)); for(int i = 0; i < result.size(); i++) { - for(int j = 0; j < 3; j++) - { - result[i][j] = matrix[i*3 + j]; - } + result[i].x = matrix[i*3 ]; + result[i].y = matrix[i*3 + 1]; + result[i].z = matrix[i*3 + 2]; } return result; } std::vector DotInMAndV1(std::vector>& matrix, std::vector& vec) { + assert(!matrix.empty()); + assert(matrix[0].size() == vec.size()); std::vector result(matrix.size(), 0.0); for(int i = 0; i < result.size(); i++) { @@ -64,6 +74,8 @@ std::vector DotInMAndV1(std::vector>& matrix, std::v } std::vector DotInMAndV2(std::vector>& matrix, std::vector& vec) { + assert(!matrix.empty()); + assert(matrix.size() == vec.size()); std::vector result(matrix.size(), 0.0); for(int i = 0; i < result.size(); i++) { @@ -77,6 +89,7 @@ std::vector DotInMAndV2(std::vector>& matrix, std::v double DotInVAndV(std::vector& vec1, std::vector& vec2) { + assert(vec1.size() == vec2.size()); double result = 0.0; for(int i = 0; i < vec1.size(); i++) { @@ -87,6 +100,7 @@ double DotInVAndV(std::vector& vec1, std::vector& vec2) std::vector> OuterVAndV(std::vector& a, std::vector& b) { + assert(a.size() == b.size()); std::vector> result = std::vector>(a.size(), std::vector(b.size(), 0.0)); for(int i = 0; i < a.size(); i++) { @@ -100,6 +114,8 @@ std::vector> OuterVAndV(std::vector& a, std::vector< std::vector> MPlus(std::vector>& a, double b) { + assert(!a.empty()); + assert(b != 0); std::vector> result = std::vector>(a.size(), std::vector(a[0].size(), 0.0)); for(int i = 0; i < a.size(); i++) { @@ -113,6 +129,8 @@ std::vector> MPlus(std::vector>& a, doub std::vector> MSubM(std::vector>& a, std::vector>& b) { + assert(!a.empty() && !b.empty()); + assert(a.size() == b.size() && a[0].size() == b[0].size()); std::vector> result = std::vector>(a.size(), std::vector(a[0].size(), 0.0)); for(int i = 0; i < a.size(); i++) { @@ -126,6 +144,7 @@ std::vector> MSubM(std::vector>& a, std: std::vector DotInVAndFloat(std::vector& vec, double b) { + assert(b != 0); std::vector result(vec.size(), 0.0); for(int i = 0; i < vec.size(); i++) { @@ -136,6 +155,7 @@ std::vector DotInVAndFloat(std::vector& vec, double b) std::vector VAddV(std::vector& a, std::vector& b) { + assert(a.size() == b.size()); std::vector result = std::vector(a.size(), 0.0); for(int i = 0; i < a.size(); i++) { diff --git a/source/source_relax/matrix_methods.h b/source/source_relax/matrix_methods.h index 7f576c53af..fb6bba42b9 100644 --- a/source/source_relax/matrix_methods.h +++ b/source/source_relax/matrix_methods.h @@ -2,14 +2,15 @@ #define MATRIX_METHODS #include +#include +#include "source_base/vector3.h" - -std::vector ReshapeMToV(std::vector>& matrix); +std::vector ReshapeMToV(std::vector>& matrix); std::vector> MAddM(std::vector>& a, std::vector>& b); std::vector VSubV(std::vector& a, std::vector& b); std::vector VAddV(std::vector& a, std::vector& b); -std::vector> ReshapeVToM(std::vector& matrix); +std::vector> ReshapeVToM(std::vector& matrix); std::vector DotInMAndV1(std::vector>& matrix, std::vector& vec); std::vector DotInMAndV2(std::vector>& matrix, std::vector& vec); double DotInVAndV(std::vector& vec1, std::vector& vec2); diff --git a/source/source_relax/test/bfgs_test.cpp b/source/source_relax/test/bfgs_test.cpp index dcd9bdaa3c..fb82b90ca0 100644 --- a/source/source_relax/test/bfgs_test.cpp +++ b/source/source_relax/test/bfgs_test.cpp @@ -1,74 +1,215 @@ -#include +// source/source_relax/test/bfgs_test.cpp +#include "gtest/gtest.h" +#include "gmock/gmock.h" #include "for_test.h" + +#define private public #include "source_relax/bfgs.h" -#include "source_cell/unitcell.h" -#include "source_base/matrix.h" -#include "source_relax/ions_move_basic.h" -#include "source_relax/matrix_methods.h" +#undef private + +#define private public +#include "source_io/module_parameter/parameter.h" +#undef private + +#include "source_relax/ions_move_basic.h" // for Ions_Move_Basic static members + +/************************************************ + * unit tests for BFGS (no MockUnitCell) + ***********************************************/ class BFGSTest : public ::testing::Test { protected: BFGS bfgs; - UnitCell ucell; - std::vector> force; - - void SetUp() override { - int size = 10; - bfgs.allocate(size); - - ucell.ntype = 2; - ucell.lat0 = 1.0; - ucell.nat = 10; - ucell.atoms = new Atom[ucell.ntype]; - for (int i = 0; i < ucell.ntype; i++) { - ucell.atoms[i].na = 5; - ucell.atoms[i].tau = std::vector>(5); - ucell.atoms[i].taud = std::vector>(5); - ucell.atoms[i].mbl = std::vector>(5, {1, 1, 1}); - } + void SetUp() override + { + // Initialize variables before each test + } - force = std::vector>(size, std::vector(3, 0.0)); - for (int i = 0; i < force.size(); ++i) { - for (int j = 0; j < 3; ++j) { - force[i][j] = -0.1 * (i + 1); - } - } + void TearDown() override + { + // nothing global to clean here } }; -TEST_F(BFGSTest, PrepareStep) { - bfgs.PrepareStep(force, bfgs.pos, bfgs.H, bfgs.pos0, bfgs.force0, bfgs.steplength, bfgs.dpos, ucell); - EXPECT_EQ(bfgs.steplength.size(), 10); - for (int i = 0; i < 10; ++i) { - EXPECT_GT(bfgs.steplength[i], 0); - } +// Test whether the allocate() function can correctly allocate memory space +TEST_F(BFGSTest, TestAllocate) +{ + int size = 2; + bfgs.allocate(size); + + // Check if allocated arrays are not empty + EXPECT_FALSE(bfgs.H.empty()); + EXPECT_FALSE(bfgs.pos.empty()); + EXPECT_FALSE(bfgs.pos0.empty()); + EXPECT_FALSE(bfgs.pos_taud.empty()); + EXPECT_FALSE(bfgs.pos_taud0.empty()); + EXPECT_FALSE(bfgs.force.empty()); + EXPECT_FALSE(bfgs.force0.empty()); + EXPECT_FALSE(bfgs.steplength.empty()); + EXPECT_FALSE(bfgs.dpos.empty()); + EXPECT_EQ(bfgs.size, size); + EXPECT_EQ(bfgs.alpha,70); + EXPECT_EQ(bfgs.maxstep,PARAM.inp.relax_bfgs_rmax); + EXPECT_TRUE(bfgs.sign); + EXPECT_EQ(bfgs.largest_grad,0.0); } +// Test if a dimension less than or equal to 0 results in an assertion error +TEST_F(BFGSTest, TestAllocateWithZeroDimension) +{ + int size = 0; + ASSERT_DEATH(bfgs.allocate(size), ""); +} -TEST_F(BFGSTest, AllocateTest) { - BFGS bfgs; - int size = 5; +// Test DetermineStep scaling +TEST_F(BFGSTest, DetermineStepScaling) +{ + int size = 2; bfgs.allocate(size); + std::vector steplength = {1.0, 0.1}; + std::vector> dpos = { + ModuleBase::Vector3(1.0, 1.0, 1.0), + ModuleBase::Vector3(0.1, 0.1, 0.1) + }; + double maxstep = 0.5; + bfgs.DetermineStep(steplength, dpos, maxstep); + + // first atom scaled down to maxstep + EXPECT_NEAR(dpos[0][0], 0.5, 1e-12); + EXPECT_NEAR(dpos[0][1], 0.5, 1e-12); + EXPECT_NEAR(dpos[0][2], 0.5, 1e-12); + + // second atom unchanged (small) + EXPECT_NEAR(dpos[1][0], 0.05, 1e-12); + EXPECT_NEAR(dpos[1][1], 0.05, 1e-12); + EXPECT_NEAR(dpos[1][2], 0.05, 1e-12); +} + +// Test GetPos and GetPostaud without creating extra helper class +TEST_F(BFGSTest, GetPosAndPostaud) +{ + // prepare UnitCell with 1 type and 2 atoms + UnitCell ucell; + ucell.ntype = 1; + ucell.nat = 2; + ucell.lat0 = 2.0; + + // allocate atoms array + ucell.atoms = new Atom[ucell.ntype]; + ucell.atoms[0].na = 2; + ucell.atoms[0].tau = std::vector>(2); + ucell.atoms[0].taud = std::vector>(2); + ucell.atoms[0].mbl = std::vector>(2, {1, 1, 1}); + + // set coordinates + ucell.atoms[0].tau[0].x = 1.0; ucell.atoms[0].tau[0].y = 2.0; ucell.atoms[0].tau[0].z = 3.0; + ucell.atoms[0].tau[1].x = 2.0; ucell.atoms[0].tau[1].y = 3.0; ucell.atoms[0].tau[1].z = 4.0; + ucell.atoms[0].taud[0].x = 0.1; ucell.atoms[0].taud[0].y = 0.2; ucell.atoms[0].taud[0].z = 0.3; + ucell.atoms[0].taud[1].x = 0.4; ucell.atoms[0].taud[1].y = 0.5; ucell.atoms[0].taud[1].z = 0.6; + + // allocate mapping arrays + ucell.iat2it = new int[ucell.nat]; + ucell.iat2ia = new int[ucell.nat]; + int k = 0; + for (int it = 0; it < ucell.ntype; ++it) { + for (int ia = 0; ia < ucell.atoms[it].na; ++ia) { + ucell.iat2it[k] = it; + ucell.iat2ia[k] = ia; + ++k; + } + } + + // allocate bfgs arrays and call getters + bfgs.allocate(ucell.nat); + bfgs.GetPos(ucell, bfgs.pos); + bfgs.GetPostaud(ucell, bfgs.pos_taud); + + // pos is tau * BOHR_TO_A * lat0 + EXPECT_DOUBLE_EQ(bfgs.pos[0][0], ucell.atoms[0].tau[0].x * ModuleBase::BOHR_TO_A * ucell.lat0); + EXPECT_DOUBLE_EQ(bfgs.pos_taud[1][2], ucell.atoms[0].taud[1].z); +} + +// Test CalculateLargestGrad (uses ModuleBase::matrix) +TEST_F(BFGSTest, CalculateLargestGrad) +{ + // UnitCell with 1 type and 2 atoms + UnitCell ucell; + ucell.ntype = 1; + ucell.nat = 2; + ucell.lat0 = 2.0; + + ucell.atoms = new Atom[ucell.ntype]; + ucell.atoms[0].na = 2; + ucell.atoms[0].mbl = std::vector>(2, {1, 1, 1}); - EXPECT_EQ(bfgs.steplength.size(), size); - EXPECT_EQ(bfgs.force0.size(), 3*size); - EXPECT_EQ(bfgs.H.size(), 3*size); - for (const auto& row : bfgs.H) { - EXPECT_EQ(row.size(), 3*size); + // mapping arrays + ucell.iat2it = new int[ucell.nat]; + ucell.iat2ia = new int[ucell.nat]; + int k = 0; + for (int it = 0; it < ucell.ntype; ++it) { + for (int ia = 0; ia < ucell.atoms[it].na; ++ia) { + ucell.iat2it[k] = it; + ucell.iat2ia[k] = ia; + ++k; + } } + + // build force matrix: 2 atoms x 3 components + ModuleBase::matrix force(2, 3); + force(0, 0) = -2.0; // this yields grad component = -(-2.0)*lat0 = 4.0 -> divided by lat0 => 2.0 + force(0, 1) = 0.0; + force(0, 2) = 1.0; + force(1, 0) = 3.0; // this yields abs = 6.0 -> divided by lat0 => 3.0 (this should be largest) + force(1, 1) = -1.0; + force(1, 2) = 0.0; + + bfgs.allocate(ucell.nat); + bfgs.CalculateLargestGrad(force, ucell); + + // expected largest_grad = 3.0 (see calculation above) + EXPECT_NEAR(bfgs.largest_grad, 6.0, 1e-12); } -TEST_F(BFGSTest, FullStepTest) -{ - BFGS bfgs; - UnitCell ucell; - ModuleBase::matrix force(3, 3); - int size = 3; - bfgs.allocate(size); - force(0, 0)=-0.5; - force(1, 1)=-0.3; - force(2, 2)=0.1; - EXPECT_EQ(bfgs.force.size(), size); - EXPECT_EQ(bfgs.pos.size(), size); +// Test relax_step basic functionality +TEST_F(BFGSTest, RelaxStepBasic) +{ + // Setup UnitCell with 1 type, 2 atoms + UnitCell ucell; + ucell.ntype = 1; + ucell.nat = 2; + ucell.lat0 = 1.0; + ucell.atoms = new Atom[ucell.ntype]; + ucell.atoms[0].na = 2; + ucell.atoms[0].tau = std::vector>(2); + ucell.atoms[0].taud = std::vector>(2); + ucell.atoms[0].mbl = std::vector>(2, {1, 1, 1}); + ucell.iat2it = new int[ucell.nat]; + ucell.iat2ia = new int[ucell.nat]; + int k = 0; + for (int it = 0; it < ucell.ntype; ++it) { + for (int ia = 0; ia < ucell.atoms[it].na; ++ia) { + ucell.iat2it[k] = it; + ucell.iat2ia[k] = ia; + ++k; + } + } + // Set initial positions + ucell.atoms[0].tau[0].x = 0.0; ucell.atoms[0].tau[0].y = 0.0; ucell.atoms[0].tau[0].z = 0.0; + ucell.atoms[0].tau[1].x = 1.0; ucell.atoms[0].tau[1].y = 0.0; ucell.atoms[0].tau[1].z = 0.0; + // Setup force matrix + ModuleBase::matrix force(2, 3); + force(0, 0) = 0.1; force(0, 1) = 0.0; force(0, 2) = 0.0; + force(1, 0) = -0.1; force(1, 1) = 0.0; force(1, 2) = 0.0; + // Allocate and call relax_step + bfgs.allocate(ucell.nat); + bfgs.relax_step(force, ucell); + // Check that ionic_position_updated is true + EXPECT_TRUE(ucell.ionic_position_updated); + // Check that force values are set (converted units) + EXPECT_NEAR(bfgs.force[0][0], 0.1 * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A, 1e-12); + EXPECT_NEAR(bfgs.force[1][0], -0.1 * ModuleBase::Ry_to_eV / ModuleBase::BOHR_TO_A, 1e-12); + // Check that positions are updated (not equal to initial) + EXPECT_NEAR(bfgs.pos[0][0], 0.0, 1e-12); + EXPECT_NE(bfgs.pos[1][0], 1.0); } \ No newline at end of file diff --git a/source/source_relax/test/for_test.h b/source/source_relax/test/for_test.h index 004d7da052..5696476d49 100644 --- a/source/source_relax/test/for_test.h +++ b/source/source_relax/test/for_test.h @@ -99,8 +99,12 @@ pseudo::pseudo() pseudo::~pseudo() { } +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} int ModuleSymmetry::Symmetry::symm_flag = 0; void ModuleSymmetry::Symmetry::symmetrize_mat3(ModuleBase::matrix& sigma, const Lattice& lat)const {}; void ModuleSymmetry::Symmetry::symmetrize_vec3_nat(double* v)const {}; -#endif \ No newline at end of file +#endif diff --git a/source/source_relax/test/ions_move_cg_test.cpp b/source/source_relax/test/ions_move_cg_test.cpp index f3ce632f0f..c0aa34dcec 100644 --- a/source/source_relax/test/ions_move_cg_test.cpp +++ b/source/source_relax/test/ions_move_cg_test.cpp @@ -138,7 +138,7 @@ TEST_F(IonsMoveCGTest, TestStartSd) // setup data Ions_Move_Basic::istep = 1; Ions_Move_Basic::converged = false; - Ions_Move_Basic::relax_method = "cg_bfgs"; + Ions_Move_Basic::relax_method[0] = "cg_bfgs"; Ions_Move_CG::RELAX_CG_THR = 100.0; UnitCell ucell; setupucell(ucell); @@ -162,7 +162,7 @@ TEST_F(IonsMoveCGTest, TestStartSd) EXPECT_THAT(output, testing::HasSubstr(expected_output)); EXPECT_EQ(Ions_Move_Basic::converged, false); EXPECT_EQ(Ions_Move_Basic::update_iter, 5); - EXPECT_EQ(Ions_Move_Basic::relax_method, "bfgs"); + EXPECT_EQ(Ions_Move_Basic::relax_method[0], "bfgs"); EXPECT_DOUBLE_EQ(Ions_Move_Basic::largest_grad, 0.01); EXPECT_DOUBLE_EQ(Ions_Move_Basic::best_xxx, -1.0); EXPECT_DOUBLE_EQ(Ions_Move_Basic::relax_bfgs_init, 1.0); @@ -201,7 +201,7 @@ TEST_F(IonsMoveCGTest, TestStartTrialGoto) EXPECT_THAT(output, testing::HasSubstr(expected_output)); EXPECT_EQ(Ions_Move_Basic::converged, false); EXPECT_EQ(Ions_Move_Basic::update_iter, 5); - EXPECT_EQ(Ions_Move_Basic::relax_method, "bfgs"); + EXPECT_EQ(Ions_Move_Basic::relax_method[0], "bfgs"); EXPECT_DOUBLE_EQ(Ions_Move_Basic::largest_grad, 0.001); EXPECT_DOUBLE_EQ(Ions_Move_Basic::best_xxx, -1.0); EXPECT_DOUBLE_EQ(Ions_Move_Basic::relax_bfgs_init, 10.0); @@ -239,7 +239,7 @@ TEST_F(IonsMoveCGTest, TestStartTrial) EXPECT_THAT(output, testing::HasSubstr(expected_output)); EXPECT_EQ(Ions_Move_Basic::converged, false); EXPECT_EQ(Ions_Move_Basic::update_iter, 5); - EXPECT_EQ(Ions_Move_Basic::relax_method, "bfgs"); + EXPECT_EQ(Ions_Move_Basic::relax_method[0], "bfgs"); EXPECT_DOUBLE_EQ(Ions_Move_Basic::largest_grad, 0.01); EXPECT_DOUBLE_EQ(Ions_Move_Basic::best_xxx, -1.0); EXPECT_DOUBLE_EQ(Ions_Move_Basic::relax_bfgs_init, 70.0); @@ -279,7 +279,7 @@ TEST_F(IonsMoveCGTest, TestStartNoTrialGotoCase1) EXPECT_THAT(output, testing::HasSubstr(expected_output)); EXPECT_EQ(Ions_Move_Basic::converged, false); EXPECT_EQ(Ions_Move_Basic::update_iter, 5); - EXPECT_EQ(Ions_Move_Basic::relax_method, "bfgs"); + EXPECT_EQ(Ions_Move_Basic::relax_method[0], "bfgs"); EXPECT_DOUBLE_EQ(Ions_Move_Basic::largest_grad, 0.001); EXPECT_DOUBLE_EQ(Ions_Move_Basic::best_xxx, -1.0); EXPECT_DOUBLE_EQ(Ions_Move_Basic::relax_bfgs_init, 490.0); @@ -318,7 +318,7 @@ TEST_F(IonsMoveCGTest, TestStartNoTrialGotoCase2) EXPECT_THAT(output, testing::HasSubstr(expected_output)); EXPECT_EQ(Ions_Move_Basic::converged, false); EXPECT_EQ(Ions_Move_Basic::update_iter, 5); - EXPECT_EQ(Ions_Move_Basic::relax_method, "bfgs"); + EXPECT_EQ(Ions_Move_Basic::relax_method[0], "bfgs"); EXPECT_DOUBLE_EQ(Ions_Move_Basic::largest_grad, 0.01); EXPECT_DOUBLE_EQ(Ions_Move_Basic::best_xxx, -1.0); EXPECT_DOUBLE_EQ(Ions_Move_Basic::relax_bfgs_init, 70.0); @@ -358,7 +358,7 @@ TEST_F(IonsMoveCGTest, TestStartNoTrial) EXPECT_THAT(output, testing::HasSubstr(expected_output)); EXPECT_EQ(Ions_Move_Basic::converged, false); EXPECT_EQ(Ions_Move_Basic::update_iter, 5); - EXPECT_EQ(Ions_Move_Basic::relax_method, "bfgs"); + EXPECT_EQ(Ions_Move_Basic::relax_method[0], "bfgs"); EXPECT_DOUBLE_EQ(Ions_Move_Basic::largest_grad, 0.001); EXPECT_DOUBLE_EQ(Ions_Move_Basic::best_xxx, -1.0); EXPECT_NEAR(Ions_Move_Basic::relax_bfgs_init, 1.2345679012345678, 1e-12); diff --git a/source/source_relax/test/ions_move_methods_test.cpp b/source/source_relax/test/ions_move_methods_test.cpp index 27e7315d68..f0027be236 100644 --- a/source/source_relax/test/ions_move_methods_test.cpp +++ b/source/source_relax/test/ions_move_methods_test.cpp @@ -40,19 +40,19 @@ class IonsMoveMethodsTest : public ::testing::Test // Test the allocate() function TEST_F(IonsMoveMethodsTest, Allocate) { - Ions_Move_Basic::relax_method = "bfgs"; + Ions_Move_Basic::relax_method[0] = "bfgs"; imm.allocate(natom); EXPECT_EQ(Ions_Move_Basic::dim, 6); - Ions_Move_Basic::relax_method = "sd"; + Ions_Move_Basic::relax_method[0] = "sd"; imm.allocate(natom); EXPECT_EQ(Ions_Move_Basic::dim, 6); - Ions_Move_Basic::relax_method = "cg"; + Ions_Move_Basic::relax_method[0] = "cg"; imm.allocate(natom); EXPECT_EQ(Ions_Move_Basic::dim, 6); - Ions_Move_Basic::relax_method = "cg_bfgs"; + Ions_Move_Basic::relax_method[0] = "cg_bfgs"; imm.allocate(natom); EXPECT_EQ(Ions_Move_Basic::dim, 6); } @@ -60,7 +60,7 @@ TEST_F(IonsMoveMethodsTest, Allocate) // Test the allocate() function warning quit TEST_F(IonsMoveMethodsTest, AllocateWarningQuit) { - Ions_Move_Basic::relax_method = "none"; + Ions_Move_Basic::relax_method[0] = "none"; GlobalV::ofs_warning.open("log"); imm.allocate(natom); GlobalV::ofs_warning.close(); @@ -81,22 +81,22 @@ TEST_F(IonsMoveMethodsTest, CalMovement) const double etot = 0.0; UnitCell ucell; - Ions_Move_Basic::relax_method = "bfgs"; + Ions_Move_Basic::relax_method[0] = "bfgs"; imm.allocate(natom); imm.cal_movement(istep, force_step, f, etot, ucell); EXPECT_EQ(Ions_Move_Basic::istep, force_step); - Ions_Move_Basic::relax_method = "sd"; + Ions_Move_Basic::relax_method[0] = "sd"; imm.allocate(natom); imm.cal_movement(istep, force_step, f, etot, ucell); EXPECT_EQ(Ions_Move_Basic::istep, force_step); - Ions_Move_Basic::relax_method = "cg"; + Ions_Move_Basic::relax_method[0] = "cg"; imm.allocate(natom); imm.cal_movement(istep, force_step, f, etot, ucell); EXPECT_EQ(Ions_Move_Basic::istep, force_step); - Ions_Move_Basic::relax_method = "cg_bfgs"; + Ions_Move_Basic::relax_method[0] = "cg_bfgs"; imm.allocate(natom); imm.cal_movement(istep, force_step, f, etot, ucell); EXPECT_EQ(Ions_Move_Basic::istep, force_step); @@ -110,7 +110,7 @@ TEST_F(IonsMoveMethodsTest, CalMovementWarningQuit) const ModuleBase::matrix f(3, 3); const double etot = 0.0; UnitCell ucell; - Ions_Move_Basic::relax_method = "none"; + Ions_Move_Basic::relax_method[0] = "none"; imm.allocate(natom); GlobalV::ofs_warning.open("log"); diff --git a/source/source_relax/test/relax_test.h b/source/source_relax/test/relax_test.h index 0cc4564194..fa787a909a 100644 --- a/source/source_relax/test/relax_test.h +++ b/source/source_relax/test/relax_test.h @@ -17,9 +17,13 @@ Atom_pseudo::Atom_pseudo(){}; Atom_pseudo::~Atom_pseudo(){}; pseudo::pseudo(){}; pseudo::~pseudo(){}; +SepPot::SepPot(){} +SepPot::~SepPot(){} +Sep_Cell::Sep_Cell() noexcept {} +Sep_Cell::~Sep_Cell() noexcept {} int ModuleSymmetry::Symmetry::symm_flag = 0; void ModuleSymmetry::Symmetry::symmetrize_mat3(ModuleBase::matrix& sigma, const Lattice& lat)const {}; void ModuleSymmetry::Symmetry::symmetrize_vec3_nat(double* v)const {}; Structure_Factor::Structure_Factor() {}; Structure_Factor::~Structure_Factor(){}; -void Structure_Factor::setup_structure_factor(const UnitCell* Ucell, const Parallel_Grid&, const ModulePW::PW_Basis* rho_basis){}; \ No newline at end of file +void Structure_Factor::setup(const UnitCell* Ucell, const Parallel_Grid&, const ModulePW::PW_Basis* rho_basis){}; diff --git a/tests/01_PW/011_PW_0ATOM/INPUT b/tests/01_PW/011_PW_0ATOM/INPUT index 8488f61585..03dd625920 100644 --- a/tests/01_PW/011_PW_0ATOM/INPUT +++ b/tests/01_PW/011_PW_0ATOM/INPUT @@ -1,7 +1,8 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest -calculation scf +calculation scf +init_wfc random nbands 6 symmetry 0 @@ -25,4 +26,4 @@ test_force 1 cal_stress 1 test_stress 1 -pw_seed 1 \ No newline at end of file +pw_seed 1 diff --git a/tests/01_PW/013_PW_ONCV_LDA/INPUT b/tests/01_PW/013_PW_ONCV_LDA/INPUT index 58e7c76e00..5d23e29076 100644 --- a/tests/01_PW/013_PW_ONCV_LDA/INPUT +++ b/tests/01_PW/013_PW_ONCV_LDA/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/016_PW_BLPS/INPUT b/tests/01_PW/016_PW_BLPS/INPUT index 39cdf2647c..19c2f8c7d7 100644 --- a/tests/01_PW/016_PW_BLPS/INPUT +++ b/tests/01_PW/016_PW_BLPS/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/017_PW_LPS6/INPUT b/tests/01_PW/017_PW_LPS6/INPUT index 54ac435ade..91483101d4 100644 --- a/tests/01_PW/017_PW_LPS6/INPUT +++ b/tests/01_PW/017_PW_LPS6/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 13 symmetry 1 diff --git a/tests/01_PW/018_PW_LPS8/INPUT b/tests/01_PW/018_PW_LPS8/INPUT index 92ffb868c9..62e81c6abc 100644 --- a/tests/01_PW/018_PW_LPS8/INPUT +++ b/tests/01_PW/018_PW_LPS8/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 3 symmetry 1 diff --git a/tests/01_PW/020_PW_kspace/INPUT b/tests/01_PW/020_PW_kspace/INPUT index cb9ee63eb9..fea245ffbb 100644 --- a/tests/01_PW/020_PW_kspace/INPUT +++ b/tests/01_PW/020_PW_kspace/INPUT @@ -1,6 +1,7 @@ INPUT_PARAMETERS suffix autotest calculation scf +init_wfc random symmetry 1 ecutwfc 20 diff --git a/tests/01_PW/021_PW_kspace3/INPUT b/tests/01_PW/021_PW_kspace3/INPUT index d0905b2ee0..fd6882a33c 100644 --- a/tests/01_PW/021_PW_kspace3/INPUT +++ b/tests/01_PW/021_PW_kspace3/INPUT @@ -1,6 +1,7 @@ INPUT_PARAMETERS suffix autotest calculation scf +init_wfc random symmetry 1 ecutwfc 5 diff --git a/tests/01_PW/029_PW_15_CF_CS_S1_smallg/INPUT b/tests/01_PW/029_PW_15_CF_CS_S1_smallg/INPUT index cfed35bc54..9c648e45dc 100644 --- a/tests/01_PW/029_PW_15_CF_CS_S1_smallg/INPUT +++ b/tests/01_PW/029_PW_15_CF_CS_S1_smallg/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/030_PW_15_CF_CS_S2_smallg/INPUT b/tests/01_PW/030_PW_15_CF_CS_S2_smallg/INPUT index 3da3a89c0f..4a1cb22210 100644 --- a/tests/01_PW/030_PW_15_CF_CS_S2_smallg/INPUT +++ b/tests/01_PW/030_PW_15_CF_CS_S2_smallg/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/035_PW_15_SO/INPUT b/tests/01_PW/035_PW_15_SO/INPUT index 6d62acf937..39c2798e90 100644 --- a/tests/01_PW/035_PW_15_SO/INPUT +++ b/tests/01_PW/035_PW_15_SO/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest pseudo_dir ../../PP_ORB +init_wfc random #nbands 40 gamma_only 0 @@ -14,7 +15,7 @@ relax_nmax 1 force_thr_ev 0.001 out_level ie relax_method cg -out_chg 1 +# out_chg 1 #out_band 1 #init_chg file diff --git a/tests/01_PW/036_PW_AF/INPUT b/tests/01_PW/036_PW_AF/INPUT index 63b1c605c7..f22bf6f7ff 100644 --- a/tests/01_PW/036_PW_AF/INPUT +++ b/tests/01_PW/036_PW_AF/INPUT @@ -1,6 +1,7 @@ INPUT_PARAMETERS suffix autotest +init_wfc random #nbands 40 calculation scf @@ -18,7 +19,7 @@ out_chg 0 smearing_method gaussian smearing_sigma 0.07 -mixing_type broyden +mixing_type broyden mixing_beta 0.2 ks_solver cg diff --git a/tests/01_PW/037_PW_FM/INPUT b/tests/01_PW/037_PW_FM/INPUT index 3e35f70dec..717202f9e4 100644 --- a/tests/01_PW/037_PW_FM/INPUT +++ b/tests/01_PW/037_PW_FM/INPUT @@ -1,6 +1,7 @@ INPUT_PARAMETERS suffix autotest +init_wfc random #nbands 40 calculation scf @@ -18,7 +19,7 @@ out_chg 0 smearing_method gaussian smearing_sigma 0.07 -mixing_type broyden +mixing_type broyden mixing_beta 0.2 ks_solver cg diff --git a/tests/01_PW/038_PW_NC/INPUT b/tests/01_PW/038_PW_NC/INPUT index acdac8c09e..6f890fa534 100644 --- a/tests/01_PW/038_PW_NC/INPUT +++ b/tests/01_PW/038_PW_NC/INPUT @@ -1,5 +1,6 @@ INPUT_PARAMETERS +init_wfc random # pw scf non-collinear calculations basis_type pw calculation scf @@ -20,7 +21,7 @@ smearing_method gaussian smearing_sigma 0.02 # charge mixing method -mixing_type broyden +mixing_type broyden mixing_beta 0.2 mixing_ndim 10 diff --git a/tests/01_PW/039_PW_FD_smear/INPUT b/tests/01_PW/039_PW_FD_smear/INPUT index aea44c4a4c..c8aea10376 100644 --- a/tests/01_PW/039_PW_FD_smear/INPUT +++ b/tests/01_PW/039_PW_FD_smear/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 35 symmetry 1 diff --git a/tests/01_PW/041_PW_GA_smear/INPUT b/tests/01_PW/041_PW_GA_smear/INPUT index 149e0a585a..d094d6e3c7 100644 --- a/tests/01_PW/041_PW_GA_smear/INPUT +++ b/tests/01_PW/041_PW_GA_smear/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 30 symmetry 1 @@ -17,7 +18,7 @@ scf_nmax 100 basis_type pw #Parameters (4.Smearing) -smearing_method gauss +smearing_method gauss smearing_sigma 0.002 #Parameters (5.Mixing) diff --git a/tests/01_PW/042_PW_M2_smear/INPUT b/tests/01_PW/042_PW_M2_smear/INPUT index 3432a4d8c4..b99655a898 100644 --- a/tests/01_PW/042_PW_M2_smear/INPUT +++ b/tests/01_PW/042_PW_M2_smear/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 8 symmetry 1 diff --git a/tests/01_PW/043_PW_MP_smear/INPUT b/tests/01_PW/043_PW_MP_smear/INPUT index 6473f5b9f1..9a9d51a91f 100644 --- a/tests/01_PW/043_PW_MP_smear/INPUT +++ b/tests/01_PW/043_PW_MP_smear/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 12 symmetry 1 diff --git a/tests/01_PW/044_PW_MV_smear/INPUT b/tests/01_PW/044_PW_MV_smear/INPUT index 1894fca69a..bfa97ba7ff 100644 --- a/tests/01_PW/044_PW_MV_smear/INPUT +++ b/tests/01_PW/044_PW_MV_smear/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/045_PW_BD_chgmix/INPUT b/tests/01_PW/045_PW_BD_chgmix/INPUT index 0636e83165..90bdb4be31 100644 --- a/tests/01_PW/045_PW_BD_chgmix/INPUT +++ b/tests/01_PW/045_PW_BD_chgmix/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 12 symmetry 1 @@ -21,6 +22,6 @@ smearing_method gauss smearing_sigma 0.002 #Parameters (5.Mixing) -mixing_type broyden +mixing_type broyden mixing_beta 0.7 diff --git a/tests/01_PW/046_PW_KK_chgmix/INPUT b/tests/01_PW/046_PW_KK_chgmix/INPUT index 75730ec689..fddb9df523 100644 --- a/tests/01_PW/046_PW_KK_chgmix/INPUT +++ b/tests/01_PW/046_PW_KK_chgmix/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 12 symmetry 1 diff --git a/tests/01_PW/047_PW_PK_chgmix/INPUT b/tests/01_PW/047_PW_PK_chgmix/INPUT index 2132fca512..dc5aa05437 100644 --- a/tests/01_PW/047_PW_PK_chgmix/INPUT +++ b/tests/01_PW/047_PW_PK_chgmix/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 12 symmetry 1 diff --git a/tests/01_PW/048_PW_PL_chgmix/INPUT b/tests/01_PW/048_PW_PL_chgmix/INPUT index e0b5e7929c..fddb9df523 100644 --- a/tests/01_PW/048_PW_PL_chgmix/INPUT +++ b/tests/01_PW/048_PW_PL_chgmix/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 12 symmetry 1 @@ -21,6 +22,6 @@ smearing_method gauss smearing_sigma 0.002 #Parameters (5.Mixing) -mixing_type plain +mixing_type plain mixing_beta 0.7 diff --git a/tests/01_PW/049_PW_PU_chgmix/INPUT b/tests/01_PW/049_PW_PU_chgmix/INPUT index 0a3df08fa0..d644b81e82 100644 --- a/tests/01_PW/049_PW_PU_chgmix/INPUT +++ b/tests/01_PW/049_PW_PU_chgmix/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 12 symmetry 1 diff --git a/tests/01_PW/050_PW_CHG_mismatch/INPUT b/tests/01_PW/050_PW_CHG_mismatch/INPUT index 40e519643a..b8b13f7e51 100644 --- a/tests/01_PW/050_PW_CHG_mismatch/INPUT +++ b/tests/01_PW/050_PW_CHG_mismatch/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nspin 2 nbands 6 diff --git a/tests/01_PW/051_PW_OBOD_MemSaver/eigs1.txt.ref b/tests/01_PW/051_PW_OBOD_MemSaver/band.txt.ref similarity index 100% rename from tests/01_PW/051_PW_OBOD_MemSaver/eigs1.txt.ref rename to tests/01_PW/051_PW_OBOD_MemSaver/band.txt.ref diff --git a/tests/01_PW/051_PW_OBOD_MemSaver/chgs1.cube b/tests/01_PW/051_PW_OBOD_MemSaver/chg.cube similarity index 100% rename from tests/01_PW/051_PW_OBOD_MemSaver/chgs1.cube rename to tests/01_PW/051_PW_OBOD_MemSaver/chg.cube diff --git a/tests/01_PW/052_PW_OB/eigs1.txt.ref b/tests/01_PW/052_PW_OB/band.txt.ref similarity index 100% rename from tests/01_PW/052_PW_OB/eigs1.txt.ref rename to tests/01_PW/052_PW_OB/band.txt.ref diff --git a/tests/01_PW/052_PW_OB/chgs1.cube b/tests/01_PW/052_PW_OB/chg.cube similarity index 100% rename from tests/01_PW/052_PW_OB/chgs1.cube rename to tests/01_PW/052_PW_OB/chg.cube diff --git a/tests/01_PW/053_PW_OD/chgs1.cube b/tests/01_PW/053_PW_OD/chg.cube similarity index 100% rename from tests/01_PW/053_PW_OD/chgs1.cube rename to tests/01_PW/053_PW_OD/chg.cube diff --git a/tests/01_PW/054_PW_OP_nscf/chgs1.cube b/tests/01_PW/054_PW_OP_nscf/chg.cube similarity index 100% rename from tests/01_PW/054_PW_OP_nscf/chgs1.cube rename to tests/01_PW/054_PW_OP_nscf/chg.cube diff --git a/tests/01_PW/054_PW_OP_nscf/pots1.cube.ref b/tests/01_PW/054_PW_OP_nscf/pot.cube.ref similarity index 99% rename from tests/01_PW/054_PW_OP_nscf/pots1.cube.ref rename to tests/01_PW/054_PW_OP_nscf/pot.cube.ref index cca5229b71..d0b81b19b7 100644 --- a/tests/01_PW/054_PW_OP_nscf/pots1.cube.ref +++ b/tests/01_PW/054_PW_OP_nscf/pot.cube.ref @@ -1,4 +1,4 @@ -STEP: 0 Cubefile created from ABACUS. Inner loop is z, followed by y and x +STEP: -1 Cubefile created from ABACUS. Inner loop is z, followed by y and x 1 (nspin) 1 0.0 0.0 0.0 9 0.000000 0.495556 0.495556 diff --git a/tests/01_PW/055_PW_OW/INPUT b/tests/01_PW/055_PW_OW/INPUT index 02690cc991..8bc826697e 100644 --- a/tests/01_PW/055_PW_OW/INPUT +++ b/tests/01_PW/055_PW_OW/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS basis_type pw nspin 2 calculation scf +init_wfc random out_wfc_pw 1 nbands 6 diff --git a/tests/01_PW/056_PW_IW/chgs1.cube b/tests/01_PW/056_PW_IW/chg.cube similarity index 100% rename from tests/01_PW/056_PW_IW/chgs1.cube rename to tests/01_PW/056_PW_IW/chg.cube diff --git a/tests/01_PW/056_PW_IW/wfs1k1_pw.dat b/tests/01_PW/056_PW_IW/wfk1_pw.dat similarity index 100% rename from tests/01_PW/056_PW_IW/wfs1k1_pw.dat rename to tests/01_PW/056_PW_IW/wfk1_pw.dat diff --git a/tests/01_PW/056_PW_IW/wfs1k2_pw.dat b/tests/01_PW/056_PW_IW/wfk2_pw.dat similarity index 100% rename from tests/01_PW/056_PW_IW/wfs1k2_pw.dat rename to tests/01_PW/056_PW_IW/wfk2_pw.dat diff --git a/tests/01_PW/057_PW_SO_IW/wfs12k1_pw.dat b/tests/01_PW/057_PW_SO_IW/wfk1s4_pw.dat similarity index 100% rename from tests/01_PW/057_PW_SO_IW/wfs12k1_pw.dat rename to tests/01_PW/057_PW_SO_IW/wfk1s4_pw.dat diff --git a/tests/01_PW/058_PW_RE_MB/INPUT b/tests/01_PW/058_PW_RE_MB/INPUT index a501fb7922..34d5a25637 100644 --- a/tests/01_PW/058_PW_RE_MB/INPUT +++ b/tests/01_PW/058_PW_RE_MB/INPUT @@ -2,13 +2,14 @@ INPUT_PARAMETERS # Directories suffix autotest pseudo_dir ../../PP_ORB +init_wfc random # Relaxation Method calculation relax relax_nmax 2 cal_force 1 force_thr_ev 0.01 -relax_method bfgs +relax_method bfgs 2 relax_new 0 # Self-Consistent Field diff --git a/tests/01_PW/059_PW_RE_MB_traj/INPUT b/tests/01_PW/059_PW_RE_MB_traj/INPUT index 2d3058510e..c25e3e4715 100644 --- a/tests/01_PW/059_PW_RE_MB_traj/INPUT +++ b/tests/01_PW/059_PW_RE_MB_traj/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation relax +init_wfc random nbands 8 symmetry 1 @@ -16,7 +17,7 @@ scf_nmax 100 relax_nmax 2 cal_force 1 force_thr_ev 0.01 -relax_method bfgs_trad +relax_method bfgs #Parameters (4.Basis) basis_type pw diff --git a/tests/01_PW/060_PW_RE_MG/INPUT b/tests/01_PW/060_PW_RE_MG/INPUT index af7cac0310..7e6f95d0eb 100644 --- a/tests/01_PW/060_PW_RE_MG/INPUT +++ b/tests/01_PW/060_PW_RE_MG/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation relax +init_wfc random nbands 8 symmetry 1 diff --git a/tests/01_PW/063_PW_CR/INPUT b/tests/01_PW/063_PW_CR/INPUT index 60c12dfef3..2331cca078 100644 --- a/tests/01_PW/063_PW_CR/INPUT +++ b/tests/01_PW/063_PW_CR/INPUT @@ -1,6 +1,7 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest +init_wfc random pseudo_dir ../../PP_ORB calculation cell-relax basis_type pw @@ -19,7 +20,7 @@ relax_new 0 cal_stress 1 stress_thr 0.1 cal_force 1 -force_thr_ev 0.001 +force_thr_ev 0.001 mixing_type broyden mixing_beta 0.7 diff --git a/tests/01_PW/064_PW_CR_fix_a/INPUT b/tests/01_PW/064_PW_CR_fix_a/INPUT index 03af025629..d03c4429d6 100644 --- a/tests/01_PW/064_PW_CR_fix_a/INPUT +++ b/tests/01_PW/064_PW_CR_fix_a/INPUT @@ -2,8 +2,9 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest pseudo_dir ../../PP_ORB +init_wfc random pw_seed 1 - + nbands 8 calculation cell-relax symmetry 0 diff --git a/tests/01_PW/065_PW_CR_fix_ab/INPUT b/tests/01_PW/065_PW_CR_fix_ab/INPUT index edb8c154eb..f721721c36 100644 --- a/tests/01_PW/065_PW_CR_fix_ab/INPUT +++ b/tests/01_PW/065_PW_CR_fix_ab/INPUT @@ -3,7 +3,8 @@ INPUT_PARAMETERS suffix autotest pseudo_dir ../../PP_ORB pw_seed 1 - +init_wfc random + nbands 8 calculation cell-relax symmetry 0 diff --git a/tests/01_PW/066_PW_CR_fix_abc/INPUT b/tests/01_PW/066_PW_CR_fix_abc/INPUT index c8e05d9392..5cd8eddd51 100644 --- a/tests/01_PW/066_PW_CR_fix_abc/INPUT +++ b/tests/01_PW/066_PW_CR_fix_abc/INPUT @@ -3,7 +3,8 @@ INPUT_PARAMETERS suffix autotest pseudo_dir ../../PP_ORB pw_seed 1 - +init_wfc random + nbands 8 calculation cell-relax diff --git a/tests/01_PW/067_PW_CR_fix_ac/INPUT b/tests/01_PW/067_PW_CR_fix_ac/INPUT index 18c4d51efb..32166519cb 100644 --- a/tests/01_PW/067_PW_CR_fix_ac/INPUT +++ b/tests/01_PW/067_PW_CR_fix_ac/INPUT @@ -3,7 +3,8 @@ INPUT_PARAMETERS suffix autotest pseudo_dir ../../PP_ORB pw_seed 1 - +init_wfc random + nbands 8 calculation cell-relax symmetry 0 diff --git a/tests/01_PW/068_PW_CR_fix_b/INPUT b/tests/01_PW/068_PW_CR_fix_b/INPUT index f1022b2611..842555fddf 100644 --- a/tests/01_PW/068_PW_CR_fix_b/INPUT +++ b/tests/01_PW/068_PW_CR_fix_b/INPUT @@ -3,7 +3,8 @@ INPUT_PARAMETERS suffix autotest pseudo_dir ../../PP_ORB pw_seed 1 - +init_wfc random + nbands 8 calculation cell-relax symmetry 0 diff --git a/tests/01_PW/069_PW_CR_fix_bc/INPUT b/tests/01_PW/069_PW_CR_fix_bc/INPUT index 48cef8e62d..0e952f9438 100644 --- a/tests/01_PW/069_PW_CR_fix_bc/INPUT +++ b/tests/01_PW/069_PW_CR_fix_bc/INPUT @@ -3,7 +3,8 @@ INPUT_PARAMETERS suffix autotest pseudo_dir ../../PP_ORB pw_seed 1 - +init_wfc random + nbands 8 calculation cell-relax symmetry 0 diff --git a/tests/01_PW/070_PW_CR_fix_c/INPUT b/tests/01_PW/070_PW_CR_fix_c/INPUT index 5626335f68..c4529c4d68 100644 --- a/tests/01_PW/070_PW_CR_fix_c/INPUT +++ b/tests/01_PW/070_PW_CR_fix_c/INPUT @@ -3,7 +3,8 @@ INPUT_PARAMETERS suffix autotest pseudo_dir ../../PP_ORB pw_seed 1 - +init_wfc random + nbands 8 calculation cell-relax symmetry 0 diff --git a/tests/01_PW/071_PW_CR_move/INPUT b/tests/01_PW/071_PW_CR_move/INPUT index dd42ff24a0..5e62c5f2b7 100644 --- a/tests/01_PW/071_PW_CR_move/INPUT +++ b/tests/01_PW/071_PW_CR_move/INPUT @@ -2,7 +2,8 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest pseudo_dir ../../PP_ORB - +init_wfc random + nbands 8 calculation cell-relax #Parameters (Accuracy) diff --git a/tests/01_PW/072_PW_ELF/INPUT b/tests/01_PW/072_PW_ELF/INPUT index cdf99b9343..b11284454d 100644 --- a/tests/01_PW/072_PW_ELF/INPUT +++ b/tests/01_PW/072_PW_ELF/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/072_PW_ELF/refELF.cube b/tests/01_PW/072_PW_ELF/refelf.cube similarity index 100% rename from tests/01_PW/072_PW_ELF/refELF.cube rename to tests/01_PW/072_PW_ELF/refelf.cube diff --git a/tests/01_PW/075_PW_CHG_BINARY/INPUT b/tests/01_PW/075_PW_CHG_BINARY/INPUT index 20e786ba0e..124745ac5f 100644 --- a/tests/01_PW/075_PW_CHG_BINARY/INPUT +++ b/tests/01_PW/075_PW_CHG_BINARY/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 8 symmetry 0 latname fcc diff --git a/tests/01_PW/076_PW_elec_add/INPUT b/tests/01_PW/076_PW_elec_add/INPUT index 5391f2b2ed..b2daf62677 100644 --- a/tests/01_PW/076_PW_elec_add/INPUT +++ b/tests/01_PW/076_PW_elec_add/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 8 symmetry 1 diff --git a/tests/01_PW/077_PW_elec_minus/INPUT b/tests/01_PW/077_PW_elec_minus/INPUT index 6cfe39d668..e62fde3e8b 100644 --- a/tests/01_PW/077_PW_elec_minus/INPUT +++ b/tests/01_PW/077_PW_elec_minus/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 8 symmetry 1 diff --git a/tests/01_PW/078_PW_S2_elec_add/INPUT b/tests/01_PW/078_PW_S2_elec_add/INPUT index 4590bf72d7..06ab402779 100644 --- a/tests/01_PW/078_PW_S2_elec_add/INPUT +++ b/tests/01_PW/078_PW_S2_elec_add/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 8 symmetry 1 @@ -28,7 +29,6 @@ mixing_type plain mixing_beta 0.7 nupdown 1.0 -out_bandgap 1 cal_force 1 cal_stress 1 diff --git a/tests/01_PW/079_PW_S2_elec_minus/INPUT b/tests/01_PW/079_PW_S2_elec_minus/INPUT index 6aeb5f4f93..d94184e3b1 100644 --- a/tests/01_PW/079_PW_S2_elec_minus/INPUT +++ b/tests/01_PW/079_PW_S2_elec_minus/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 8 symmetry 1 diff --git a/tests/01_PW/080_PW_dipole/INPUT b/tests/01_PW/080_PW_dipole/INPUT index 22b9b9a172..b5cd822ccb 100644 --- a/tests/01_PW/080_PW_dipole/INPUT +++ b/tests/01_PW/080_PW_dipole/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 0 diff --git a/tests/01_PW/081_PW_efield/INPUT b/tests/01_PW/081_PW_efield/INPUT index e6ea9fe492..cdab6d7dd2 100644 --- a/tests/01_PW/081_PW_efield/INPUT +++ b/tests/01_PW/081_PW_efield/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 0 diff --git a/tests/01_PW/082_PW_gatefield/INPUT b/tests/01_PW/082_PW_gatefield/INPUT index d669d47ca6..35ba0dcbf4 100644 --- a/tests/01_PW/082_PW_gatefield/INPUT +++ b/tests/01_PW/082_PW_gatefield/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 0 diff --git a/tests/01_PW/083_PW_sol_H2/INPUT b/tests/01_PW/083_PW_sol_H2/INPUT index f0a5f54268..c1e566f1f6 100644 --- a/tests/01_PW/083_PW_sol_H2/INPUT +++ b/tests/01_PW/083_PW_sol_H2/INPUT @@ -2,8 +2,9 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest pseudo_dir ../../PP_ORB +init_wfc random pw_seed 1 - + nbands 2 calculation scf basis_type pw diff --git a/tests/01_PW/084_PW_sol_H2O/INPUT b/tests/01_PW/084_PW_sol_H2O/INPUT index 8b1175fe87..b0c786df5d 100644 --- a/tests/01_PW/084_PW_sol_H2O/INPUT +++ b/tests/01_PW/084_PW_sol_H2O/INPUT @@ -1,7 +1,8 @@ INPUT_PARAMETERS - + calculation scf basis_type pw +init_wfc random pw_seed 1 cal_force 1 nbands 20 diff --git a/tests/01_PW/085_PW_get_pchg/INPUT b/tests/01_PW/085_PW_get_pchg/INPUT index 1c319c8366..6be22de010 100644 --- a/tests/01_PW/085_PW_get_pchg/INPUT +++ b/tests/01_PW/085_PW_get_pchg/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/086_PW_get_wf/INPUT b/tests/01_PW/086_PW_get_wf/INPUT index cf8619c111..f1a1536905 100644 --- a/tests/01_PW/086_PW_get_wf/INPUT +++ b/tests/01_PW/086_PW_get_wf/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/087_PW_get_pchg_kpar/INPUT b/tests/01_PW/087_PW_get_pchg_kpar/INPUT index 1a7c8d2f35..513a95322b 100644 --- a/tests/01_PW/087_PW_get_pchg_kpar/INPUT +++ b/tests/01_PW/087_PW_get_pchg_kpar/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/088_PW_get_pchg_sepk/INPUT b/tests/01_PW/088_PW_get_pchg_sepk/INPUT index 8bb4019fb5..2febcbb16f 100644 --- a/tests/01_PW/088_PW_get_pchg_sepk/INPUT +++ b/tests/01_PW/088_PW_get_pchg_sepk/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/089_PW_get_wf_kpar/INPUT b/tests/01_PW/089_PW_get_wf_kpar/INPUT index ee62db77cd..25ffb89ecc 100644 --- a/tests/01_PW/089_PW_get_wf_kpar/INPUT +++ b/tests/01_PW/089_PW_get_wf_kpar/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/091_PW_CR_VDW3/INPUT b/tests/01_PW/091_PW_CR_VDW3/INPUT index de91d6509f..634b6a0810 100644 --- a/tests/01_PW/091_PW_CR_VDW3/INPUT +++ b/tests/01_PW/091_PW_CR_VDW3/INPUT @@ -1,5 +1,6 @@ INPUT_PARAMETERS +init_wfc random ecutwfc 20 scf_thr 1e-08 scf_nmax 400 diff --git a/tests/01_PW/092_PW_MSST/INPUT b/tests/01_PW/092_PW_MSST/INPUT index b110b0a8da..bd7aba8f2d 100644 --- a/tests/01_PW/092_PW_MSST/INPUT +++ b/tests/01_PW/092_PW_MSST/INPUT @@ -1,36 +1,37 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest -pseudo_dir ../../PP_ORB - +pseudo_dir ../../PP_ORB +init_wfc random + nbands 8 calculation md read_file_dir ./ #Parameters (Accuracy) ecutwfc 20 -scf_nmax 20 +scf_nmax 20 basis_type pw -md_nstep 3 +md_nstep 3 -smearing_method gauss -smearing_sigma 0.001 +smearing_method gauss +smearing_sigma 0.001 -cal_stress 1 -cal_force 1 +cal_stress 1 +cal_force 1 ks_solver cg mixing_type broyden mixing_beta 0.7 -md_type msst -md_tfirst 10 -md_dt 1 -md_restart 0 -init_vel 1 +md_type msst +md_tfirst 10 +md_dt 1 +md_restart 0 +init_vel 1 -msst_qmass 1 -msst_vel 10 +msst_qmass 1 +msst_vel 10 -pw_seed 1 +pw_seed 1 diff --git a/tests/01_PW/092_PW_MSST/result.ref b/tests/01_PW/092_PW_MSST/result.ref index 13752bd260..83962380b7 100644 --- a/tests/01_PW/092_PW_MSST/result.ref +++ b/tests/01_PW/092_PW_MSST/result.ref @@ -1,5 +1,5 @@ -etotref -250.4498856072767 -etotperatomref -125.2249428036 -totalforceref 7.137474 -totalstressref 322.546737 -totaltimeref 10.48 +etotref -250.1541088328131 +etotperatomref -125.0770544164 +totalforceref 8.894978 +totalstressref 365.361230 +totaltimeref 2.51 diff --git a/tests/01_PW/093_PW_MSST2/INPUT b/tests/01_PW/093_PW_MSST2/INPUT index d25545fa76..8f6860ac7d 100644 --- a/tests/01_PW/093_PW_MSST2/INPUT +++ b/tests/01_PW/093_PW_MSST2/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest calculation md +init_wfc random nbands 8 pseudo_dir ../../PP_ORB @@ -19,7 +20,7 @@ smearing_sigma 0.001 cal_stress 1 cal_force 1 -md_nstep 3 +md_nstep 4 md_type msst md_prec_level 2 md_tfirst 10 diff --git a/tests/01_PW/094_PW_NPT/INPUT b/tests/01_PW/094_PW_NPT/INPUT index cbfc39af19..2273b1cd4a 100644 --- a/tests/01_PW/094_PW_NPT/INPUT +++ b/tests/01_PW/094_PW_NPT/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest calculation md +init_wfc random pseudo_dir ../../PP_ORB pw_seed 1 nbands 8 @@ -17,10 +18,10 @@ ks_solver cg mixing_type broyden mixing_beta 0.7 -cal_stress 1 -cal_force 1 +cal_stress 1 +cal_force 1 -md_nstep 3 +md_nstep 4 md_type npt md_pmode iso md_dt 1 diff --git a/tests/01_PW/095_PW_NVT/INPUT b/tests/01_PW/095_PW_NVT/INPUT index 59ecaf90fa..992840ffb9 100644 --- a/tests/01_PW/095_PW_NVT/INPUT +++ b/tests/01_PW/095_PW_NVT/INPUT @@ -1,32 +1,33 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest -pseudo_dir ../../PP_ORB - +pseudo_dir ../../PP_ORB +init_wfc random + nbands 8 calculation md read_file_dir ./ #Parameters (Accuracy) ecutwfc 20 -scf_nmax 20 +scf_nmax 20 basis_type pw -md_nstep 5 +md_nstep 6 -cal_stress 1 +cal_stress 1 stress_thr 1e-6 -cal_force 1 +cal_force 1 force_thr_ev 1.0e-3 ks_solver cg mixing_type broyden mixing_beta 0.7 -md_tchain 4 -md_type nvt -md_tfreq 0.1 -md_tfirst 10 -md_dt 1 -md_restart 1 -init_vel 1 +md_tchain 4 +md_type nvt +md_tfreq 0.1 +md_tfirst 10 +md_dt 1 +md_restart 1 +init_vel 1 diff --git a/tests/01_PW/095_PW_NVT/Restart_md.dat b/tests/01_PW/095_PW_NVT/Restart_md.txt similarity index 100% rename from tests/01_PW/095_PW_NVT/Restart_md.dat rename to tests/01_PW/095_PW_NVT/Restart_md.txt diff --git a/tests/01_PW/096_PW_PBE0/INPUT b/tests/01_PW/096_PW_PBE0/INPUT index ea943fad41..c35721969f 100644 --- a/tests/01_PW/096_PW_PBE0/INPUT +++ b/tests/01_PW/096_PW_PBE0/INPUT @@ -1,6 +1,7 @@ INPUT_PARAMETERS #Parameters (System) suffix autotest +init_wfc random nbands 2 stru_file STRU @@ -11,7 +12,7 @@ calculation scf #Parameters (PW) ecutwfc 10.0 # Rydberg #Parameters (electronic) -basis_type pw +basis_type pw scf_thr 1e-3 smearing_method fixed diff --git a/tests/01_PW/096_PW_PBE0_AFM/INPUT b/tests/01_PW/096_PW_PBE0_AFM/INPUT new file mode 100644 index 0000000000..34e5220d03 --- /dev/null +++ b/tests/01_PW/096_PW_PBE0_AFM/INPUT @@ -0,0 +1,31 @@ +INPUT_PARAMETERS +#Parameters (System) +suffix autotest +calculation scf +nspin 2 +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB + +#Parameters (PW) +ecutwfc 30 +basis_type pw + +#Parameters (SCF) +scf_thr 1.0e-7 +scf_nmax 100 +smearing_method gaussian +smearing_sigma 0.015 +mixing_type pulay +mixing_ndim 8 +mixing_beta 0.2 + +#Parameters (Hybrid Functional) +dft_functional pbe0 + +#Parameters (Other) +symmetry -1 +init_wfc random +pw_seed 1 +device cpu +exx_thr_type energy +exx_ene_thr 5e-2 \ No newline at end of file diff --git a/tests/01_PW/096_PW_PBE0_AFM/KPT b/tests/01_PW/096_PW_PBE0_AFM/KPT new file mode 100644 index 0000000000..e583e6e418 --- /dev/null +++ b/tests/01_PW/096_PW_PBE0_AFM/KPT @@ -0,0 +1,7 @@ +K_POINTS +0 +Gamma +1 1 1 0 0 0 +### If you are running an energy calculation, please make sure your final energy is +### converged with respect to the k-point settings, unless you set a loose k-point +### mesh on purpose. diff --git a/tests/01_PW/096_PW_PBE0_AFM/README b/tests/01_PW/096_PW_PBE0_AFM/README new file mode 100644 index 0000000000..6f0a2e68a4 --- /dev/null +++ b/tests/01_PW/096_PW_PBE0_AFM/README @@ -0,0 +1 @@ +Fe Anti-ferromagnetic with nspin=2 hybrid functional (PBE0), PW basis, init magnet: up + down \ No newline at end of file diff --git a/tests/01_PW/096_PW_PBE0_AFM/STRU b/tests/01_PW/096_PW_PBE0_AFM/STRU new file mode 100644 index 0000000000..41c2d00632 --- /dev/null +++ b/tests/01_PW/096_PW_PBE0_AFM/STRU @@ -0,0 +1,19 @@ +ATOMIC_SPECIES +Fe 55.845 Fe_ONCV_PBE-1.0.upf + + +LATTICE_CONSTANT +1.889725989 + +LATTICE_VECTORS + 2.8328152400000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 2.8328152400000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 2.8328152400000000 +ATOMIC_POSITIONS +Direct + +Fe +1.0 +2 +0.0 0.0 0.0 mag 5 +0.5 0.5 0.5 mag -5 diff --git a/tests/01_PW/096_PW_PBE0_AFM/result.ref b/tests/01_PW/096_PW_PBE0_AFM/result.ref new file mode 100644 index 0000000000..94d18e2a1c --- /dev/null +++ b/tests/01_PW/096_PW_PBE0_AFM/result.ref @@ -0,0 +1,3 @@ +etotref -6383.448381202996 +etotperatomref -3191.7241906015 +totaltimeref 1.06 diff --git a/tests/01_PW/096_PW_PBE0_FM/INPUT b/tests/01_PW/096_PW_PBE0_FM/INPUT new file mode 100644 index 0000000000..34e5220d03 --- /dev/null +++ b/tests/01_PW/096_PW_PBE0_FM/INPUT @@ -0,0 +1,31 @@ +INPUT_PARAMETERS +#Parameters (System) +suffix autotest +calculation scf +nspin 2 +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB + +#Parameters (PW) +ecutwfc 30 +basis_type pw + +#Parameters (SCF) +scf_thr 1.0e-7 +scf_nmax 100 +smearing_method gaussian +smearing_sigma 0.015 +mixing_type pulay +mixing_ndim 8 +mixing_beta 0.2 + +#Parameters (Hybrid Functional) +dft_functional pbe0 + +#Parameters (Other) +symmetry -1 +init_wfc random +pw_seed 1 +device cpu +exx_thr_type energy +exx_ene_thr 5e-2 \ No newline at end of file diff --git a/tests/01_PW/096_PW_PBE0_FM/KPT b/tests/01_PW/096_PW_PBE0_FM/KPT new file mode 100644 index 0000000000..e583e6e418 --- /dev/null +++ b/tests/01_PW/096_PW_PBE0_FM/KPT @@ -0,0 +1,7 @@ +K_POINTS +0 +Gamma +1 1 1 0 0 0 +### If you are running an energy calculation, please make sure your final energy is +### converged with respect to the k-point settings, unless you set a loose k-point +### mesh on purpose. diff --git a/tests/01_PW/096_PW_PBE0_FM/README b/tests/01_PW/096_PW_PBE0_FM/README new file mode 100644 index 0000000000..99bca880b5 --- /dev/null +++ b/tests/01_PW/096_PW_PBE0_FM/README @@ -0,0 +1,3 @@ +Fe Ferromagnetic with nspin=2 hybrid functional (PBE0), PW basis, init magnet: up + up + + diff --git a/tests/01_PW/096_PW_PBE0_FM/STRU b/tests/01_PW/096_PW_PBE0_FM/STRU new file mode 100644 index 0000000000..34fa5b31d0 --- /dev/null +++ b/tests/01_PW/096_PW_PBE0_FM/STRU @@ -0,0 +1,19 @@ +ATOMIC_SPECIES +Fe 55.845 Fe_ONCV_PBE-1.0.upf + + +LATTICE_CONSTANT +1.889725989 + +LATTICE_VECTORS + 2.8328152400000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 2.8328152400000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 2.8328152400000000 +ATOMIC_POSITIONS +Direct + +Fe +1.0 +2 +0.0 0.0 0.0 mag 5 +0.5 0.5 0.5 mag 5 diff --git a/tests/01_PW/096_PW_PBE0_FM/result.ref b/tests/01_PW/096_PW_PBE0_FM/result.ref new file mode 100644 index 0000000000..5b7663ffcd --- /dev/null +++ b/tests/01_PW/096_PW_PBE0_FM/result.ref @@ -0,0 +1,3 @@ +etotref -6382.460958449486 +etotperatomref -3191.2304792247 +totaltimeref 1.59 \ No newline at end of file diff --git a/tests/01_PW/097_PW_LDOS/INPUT b/tests/01_PW/097_PW_LDOS/INPUT index 9b0aea40f5..fa0e7f14eb 100644 --- a/tests/01_PW/097_PW_LDOS/INPUT +++ b/tests/01_PW/097_PW_LDOS/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/098_PW_15_SO_avg/INPUT b/tests/01_PW/098_PW_15_SO_avg/INPUT index 68dbf0fd2b..ac614c597f 100644 --- a/tests/01_PW/098_PW_15_SO_avg/INPUT +++ b/tests/01_PW/098_PW_15_SO_avg/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest pseudo_dir ../../PP_ORB +init_wfc random #nbands 40 gamma_only 0 @@ -14,7 +15,7 @@ relax_nmax 1 force_thr_ev 0.001 out_level ie relax_method cg -out_chg 1 +# out_chg 1 #out_band 1 #init_chg file diff --git a/tests/01_PW/100_PW_W90/INPUT b/tests/01_PW/100_PW_W90/INPUT index f088e3a40f..32f5b94efd 100644 --- a/tests/01_PW/100_PW_W90/INPUT +++ b/tests/01_PW/100_PW_W90/INPUT @@ -1,5 +1,6 @@ INPUT_PARAMETERS suffix autotest +init_wfc random pseudo_dir ../../PP_ORB orbital_dir ../../PP_ORB ecutwfc 50 diff --git a/tests/01_PW/100_PW_W90/chgs1.cube b/tests/01_PW/100_PW_W90/chg.cube similarity index 100% rename from tests/01_PW/100_PW_W90/chgs1.cube rename to tests/01_PW/100_PW_W90/chg.cube diff --git a/tests/01_PW/101_PW_MD_1O/INPUT b/tests/01_PW/101_PW_MD_1O/INPUT index c20bce745e..a2736a0b94 100644 --- a/tests/01_PW/101_PW_MD_1O/INPUT +++ b/tests/01_PW/101_PW_MD_1O/INPUT @@ -1,31 +1,32 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest - +init_wfc random + nbands 8 calculation md #Parameters (Accuracy) ecutwfc 20 -scf_nmax 50 -scf_thr 1.0e-8 +scf_nmax 50 +scf_thr 1.0e-8 basis_type pw -md_nstep 3 +md_nstep 4 -cal_stress 1 +cal_stress 1 stress_thr 1e-6 -cal_force 1 +cal_force 1 force_thr_ev 1.0e-3 mixing_type broyden mixing_beta 0.7 -chg_extrap first-order +chg_extrap first-order -md_tchain 4 -md_tfirst 10 -md_tfreq 0.1 -init_vel 1 -pseudo_dir ../../PP_ORB -pw_seed 1 +md_tchain 4 +md_tfirst 10 +md_tfreq 0.1 +init_vel 1 +pseudo_dir ../../PP_ORB +pw_seed 1 diff --git a/tests/01_PW/102_PW_MD_2O/INPUT b/tests/01_PW/102_PW_MD_2O/INPUT index bcde3a9ca6..06fcbd3638 100644 --- a/tests/01_PW/102_PW_MD_2O/INPUT +++ b/tests/01_PW/102_PW_MD_2O/INPUT @@ -1,30 +1,31 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest - +init_wfc random + nbands 8 calculation md #Parameters (Accuracy) ecutwfc 20 -scf_nmax 50 -scf_thr 1.0e-8 +scf_nmax 50 +scf_thr 1.0e-8 basis_type pw -md_nstep 3 +md_nstep 4 -cal_stress 1 +cal_stress 1 stress_thr 1e-6 -cal_force 1 +cal_force 1 force_thr_ev 1.0e-3 mixing_type broyden mixing_beta 0.7 -chg_extrap second-order +chg_extrap second-order md_tfirst 10 md_tfreq 0.1 init_vel 1 -pseudo_dir ../../PP_ORB +pseudo_dir ../../PP_ORB pw_seed 1 diff --git a/tests/01_PW/202_PW_ONCV_Libxc/INPUT b/tests/01_PW/202_PW_ONCV_Libxc/INPUT index e46ac262e8..dc4815ce81 100644 --- a/tests/01_PW/202_PW_ONCV_Libxc/INPUT +++ b/tests/01_PW/202_PW_ONCV_Libxc/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 6 symmetry 1 diff --git a/tests/01_PW/203_PW_OK/chgs1.cube.ref b/tests/01_PW/203_PW_OK/chg.cube.ref similarity index 99% rename from tests/01_PW/203_PW_OK/chgs1.cube.ref rename to tests/01_PW/203_PW_OK/chg.cube.ref index a67ff1a69a..3e336b20d8 100644 --- a/tests/01_PW/203_PW_OK/chgs1.cube.ref +++ b/tests/01_PW/203_PW_OK/chg.cube.ref @@ -1,11 +1,11 @@ -STEP: 0 Cubefile created from ABACUS. Inner loop is z, followed by y and x +STEP: -1 Cubefile created from ABACUS. Inner loop is z, followed by y and x 1 (nspin) 0.517574 (fermi energy, in Ry) 2 0.0 0.0 0.0 24 0.000000 0.212500 0.212500 24 0.212500 0.000000 0.212500 24 0.212500 0.212500 0.000000 - 14 4 0.000000 0.000000 0.000000 - 14 4 2.550000 2.550000 2.550000 + 14 4.000000 0.000000 0.000000 0.000000 + 14 4.000000 2.550000 2.550000 2.550000 6.306e-04 4.526e-03 1.770e-02 3.853e-02 5.728e-02 6.466e-02 6.053e-02 5.116e-02 4.192e-02 3.468e-02 2.936e-02 2.589e-02 2.464e-02 2.589e-02 2.936e-02 3.468e-02 4.192e-02 5.116e-02 diff --git a/tests/01_PW/203_PW_OK/result.ref b/tests/01_PW/203_PW_OK/result.ref index 1ebf74fa8d..785824d57e 100644 --- a/tests/01_PW/203_PW_OK/result.ref +++ b/tests/01_PW/203_PW_OK/result.ref @@ -1,5 +1,5 @@ etotref -213.3867238098172 etotperatomref -106.6933619049 -chgs1.cube_pass 0 -taus1.cube_pass 0 +chg.cube_pass 0 +tau.cube_pass 0 totaltimeref 0.84452 diff --git a/tests/01_PW/203_PW_OK/taus1.cube.ref b/tests/01_PW/203_PW_OK/tau.cube.ref similarity index 100% rename from tests/01_PW/203_PW_OK/taus1.cube.ref rename to tests/01_PW/203_PW_OK/tau.cube.ref diff --git a/tests/01_PW/204_PW_SY/INPUT b/tests/01_PW/204_PW_SY/INPUT index 45393cdaa7..3af4d5989f 100644 --- a/tests/01_PW/204_PW_SY/INPUT +++ b/tests/01_PW/204_PW_SY/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random symmetry 1 pseudo_dir ../../PP_ORB diff --git a/tests/01_PW/205_PW_SCAN/INPUT b/tests/01_PW/205_PW_SCAN/INPUT index 2e9a4ec38b..32d21b7a87 100644 --- a/tests/01_PW/205_PW_SCAN/INPUT +++ b/tests/01_PW/205_PW_SCAN/INPUT @@ -3,6 +3,7 @@ INPUT_PARAMETERS suffix autotest calculation scf kpar 2 +init_wfc random pseudo_dir ../../PP_ORB diff --git a/tests/01_PW/206_PW_SCAN_S2/INPUT b/tests/01_PW/206_PW_SCAN_S2/INPUT index 42dacc7dc7..f11e1da3af 100644 --- a/tests/01_PW/206_PW_SCAN_S2/INPUT +++ b/tests/01_PW/206_PW_SCAN_S2/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random pseudo_dir ../../PP_ORB pw_seed 1 diff --git a/tests/01_PW/207_PW_skip/INPUT b/tests/01_PW/207_PW_skip/INPUT index dac128c01f..edb73ebabf 100644 --- a/tests/01_PW/207_PW_skip/INPUT +++ b/tests/01_PW/207_PW_skip/INPUT @@ -2,6 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation scf +init_wfc random nbands 10 symmetry 1 diff --git a/tests/01_PW/209_PW_DFTHALF/INPUT b/tests/01_PW/209_PW_DFTHALF/INPUT new file mode 100644 index 0000000000..68229a9369 --- /dev/null +++ b/tests/01_PW/209_PW_DFTHALF/INPUT @@ -0,0 +1,30 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation scf +ks_solver dav +dfthalf_type 1 +init_wfc random + +symmetry 1 +pseudo_dir ../../PP_ORB + +#Parameters (2.Iteration) +ecutwfc 50 +scf_thr 1e-9 +scf_nmax 100 + +#Parameters (3.Basis) +basis_type pw + +#Parameters (4.Smearing) +smearing_method gauss +smearing_sigma 0.002 + +#Parameters (5.Mixing) +mixing_type broyden +mixing_beta 0.7 + +dft_functional PBE + +pw_seed 1 diff --git a/tests/11_PW_GPU/BUG_PW_OW_GPU/KPT b/tests/01_PW/209_PW_DFTHALF/KPT similarity index 100% rename from tests/11_PW_GPU/BUG_PW_OW_GPU/KPT rename to tests/01_PW/209_PW_DFTHALF/KPT diff --git a/tests/01_PW/209_PW_DFTHALF/README b/tests/01_PW/209_PW_DFTHALF/README new file mode 100644 index 0000000000..cf0b26281c --- /dev/null +++ b/tests/01_PW/209_PW_DFTHALF/README @@ -0,0 +1 @@ +DFT-1/2 method in PW basis, soc off diff --git a/tests/01_PW/209_PW_DFTHALF/STRU b/tests/01_PW/209_PW_DFTHALF/STRU new file mode 100644 index 0000000000..a6f610156f --- /dev/null +++ b/tests/01_PW/209_PW_DFTHALF/STRU @@ -0,0 +1,28 @@ +ATOMIC_SPECIES +Li 0.0 Li_ONCV_PBE-1.2.upf upf201 +F 0.0 F_ONCV_PBE-1.2.upf upf201 + +LATTICE_CONSTANT +1.0000000000 + +LATTICE_VECTORS + 0.0000000000 3.8379626543 3.8379626543 + 3.8379626543 0.0000000000 3.8379626543 + 3.8379626543 3.8379626543 0.0000000000 + +SEP_FILES +Li 0 +F 1 F_pbe_50.sep 0.0 2.2 20.0 1.0 + +ATOMIC_POSITIONS +Direct + +Li #label +0.0000 #magnetism +1 #number of atoms + 0.0000000000 0.0000000000 0.0000000000 m 1 1 1 + +F #label +0.0000 #magnetism +1 #number of atoms + 0.5000000000 0.5000000000 0.5000000000 m 1 1 1 diff --git a/tests/01_PW/209_PW_DFTHALF/result.ref b/tests/01_PW/209_PW_DFTHALF/result.ref new file mode 100644 index 0000000000..e59c803047 --- /dev/null +++ b/tests/01_PW/209_PW_DFTHALF/result.ref @@ -0,0 +1,6 @@ +etotref -906.0447337890729 +etotperatomref -453.0223668945 +pointgroupref O_h +spacegroupref O_h +nksibzref 3 +totaltimeref 0.39 diff --git a/tests/01_PW/CASES_CPU.txt b/tests/01_PW/CASES_CPU.txt index d5a9539192..1057122012 100644 --- a/tests/01_PW/CASES_CPU.txt +++ b/tests/01_PW/CASES_CPU.txt @@ -94,6 +94,8 @@ 094_PW_NPT 095_PW_NVT 096_PW_PBE0 +096_PW_PBE0_AFM +096_PW_PBE0_FM 097_PW_LDOS 098_PW_15_SO_avg 099_PW_DJ_SO @@ -108,6 +110,7 @@ 206_PW_SCAN_S2 207_PW_skip 208_PW_CG_float +209_PW_DFTHALF 801_PW_LT_sc 802_PW_LT_fcc 803_PW_LT_bcc diff --git a/tests/02_NAO_Gamma/001_NO_GO_OHK/INPUT b/tests/02_NAO_Gamma/001_NO_GO_OHK/INPUT new file mode 100644 index 0000000000..0d0396c7d1 --- /dev/null +++ b/tests/02_NAO_Gamma/001_NO_GO_OHK/INPUT @@ -0,0 +1,35 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation scf + +nbands 6 +symmetry 1 +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB +gamma_only 1 + +#Parameters (2.Iteration) +ecutwfc 20 +scf_thr 1e-8 +scf_nmax 100 + +#Parameters (3.Basis) +basis_type lcao + +#Parameters (4.Smearing) +smearing_method gauss +smearing_sigma 0.002 + +out_mat_hs 1 5 +out_ndigits 5 +#Parameters (5.Mixing) +mixing_type broyden +mixing_beta 0.7 +mixing_gg0 1.5 + +ks_solver scalapack_gvx + +bx 2 +by 2 +bz 2 diff --git a/tests/02_NAO_Gamma/006_NO_GO_OH/README b/tests/02_NAO_Gamma/001_NO_GO_OHK/README similarity index 100% rename from tests/02_NAO_Gamma/006_NO_GO_OH/README rename to tests/02_NAO_Gamma/001_NO_GO_OHK/README diff --git a/tests/02_NAO_Gamma/006_NO_GO_OH/STRU b/tests/02_NAO_Gamma/001_NO_GO_OHK/STRU similarity index 100% rename from tests/02_NAO_Gamma/006_NO_GO_OH/STRU rename to tests/02_NAO_Gamma/001_NO_GO_OHK/STRU diff --git a/tests/02_NAO_Gamma/001_NO_GO_OHK/hk_nao.txt.ref b/tests/02_NAO_Gamma/001_NO_GO_OHK/hk_nao.txt.ref new file mode 100644 index 0000000000..137aa45c0c --- /dev/null +++ b/tests/02_NAO_Gamma/001_NO_GO_OHK/hk_nao.txt.ref @@ -0,0 +1,89 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/hk_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + -6.56277e-01 -5.05476e-03 -1.33227e-15 1.55431e-15 1.11022e-16 -6.10623e-16 1.77636e-15 8.88178e-16 + -1.62299e-16 -1.02002e-15 -2.84495e-16 1.17545e-15 4.30211e-16 -4.64911e-02 -1.64084e-01 1.56125e-17 + 4.33681e-18 4.68375e-17 -2.60209e-17 -9.02056e-17 1.56125e-17 6.75277e-19 1.04083e-17 1.64799e-17 + 5.57536e-18 -2.03830e-17 +Row 2 + 4.60976e-01 3.05311e-16 -1.94289e-16 -3.05311e-16 -5.55112e-16 -4.99600e-16 -4.99600e-16 9.59202e-18 + -4.64906e-16 4.51028e-17 -1.67832e-16 -2.15106e-16 -1.64665e-01 1.35775e-02 -7.45931e-17 1.82146e-17 + 8.06646e-17 5.55112e-17 -5.20417e-18 -3.98986e-17 3.00313e-18 -6.31006e-17 -3.55618e-17 3.42436e-17 + -5.78964e-17 +Row 3 + -1.51652e-01 7.84095e-16 5.20417e-17 1.42215e-02 -6.52256e-16 -1.38778e-17 1.27676e-15 2.77556e-16 + -7.77156e-16 7.33767e-17 9.97934e-04 -1.77809e-17 7.97973e-17 3.57734e-02 -1.30104e-17 -7.80626e-18 + -2.51578e-02 -1.12757e-16 -7.97973e-17 -1.19262e-18 -7.15573e-18 2.84061e-17 -1.45213e-18 2.39861e-02 +Row 4 + -1.51652e-01 1.38778e-16 -9.64506e-16 1.42215e-02 -2.35922e-16 -5.55112e-17 8.32667e-17 9.97934e-04 + -1.66533e-16 5.55112e-16 2.51535e-17 -1.21431e-16 -8.23994e-18 3.57734e-02 -3.03577e-18 -5.20417e-18 + -2.51578e-02 -8.67362e-18 6.12574e-18 1.73472e-18 2.39861e-02 -1.84314e-18 -2.27682e-17 +Row 5 + -1.51652e-01 -3.46945e-17 -1.52656e-16 1.42215e-02 -2.77556e-17 9.97934e-04 5.82867e-16 9.99201e-16 + -1.66533e-16 4.98733e-17 7.97973e-17 -3.90313e-18 -2.03830e-17 3.57734e-02 3.29597e-17 -1.73472e-18 + -2.51578e-02 1.16552e-17 2.39861e-02 -5.20417e-18 -1.26852e-17 -6.50521e-18 +Row 6 + 6.77097e-01 -2.28983e-16 7.63278e-17 2.05391e-15 -8.32667e-16 1.22125e-15 -5.73015e-17 -1.33953e-03 + 6.03901e-17 1.73472e-18 -2.59125e-02 2.42861e-17 2.94903e-17 -8.86435e-02 3.46945e-18 -5.03070e-17 + 8.02310e-18 6.53774e-17 4.97649e-17 3.04771e-18 -2.24211e-02 +Row 7 + 6.77097e-01 -1.14492e-16 6.38378e-16 8.32667e-17 -1.33953e-03 3.88578e-16 1.38778e-16 -1.01915e-17 + 2.68882e-17 -8.32667e-17 -2.59125e-02 -7.41594e-17 -1.21431e-17 -8.86435e-02 7.45931e-17 -3.11166e-17 + -2.82977e-17 -2.24211e-02 -1.08420e-18 -5.72459e-17 +Row 8 + 6.77097e-01 2.49800e-16 -1.33953e-03 -1.38778e-16 1.33227e-15 -6.38378e-16 5.52943e-17 1.73472e-17 + 2.25514e-17 5.20417e-18 -2.59125e-02 -2.77556e-17 8.67362e-17 -8.86435e-02 2.86229e-17 -2.24211e-02 + -1.12757e-17 1.86483e-17 -4.01155e-18 +Row 9 + 7.51161e-01 -2.08167e-16 1.94289e-16 1.34361e-16 6.52256e-16 2.41146e-19 -2.15455e-17 -7.80626e-18 + -6.07153e-18 -3.46945e-18 5.55112e-17 -8.67362e-18 2.60209e-18 1.13528e-02 1.51788e-18 2.16840e-18 + -1.72670e-18 4.33681e-18 +Row 10 + 7.50429e-01 1.50921e-16 -1.04083e-16 -1.01481e-16 -5.63785e-18 1.21431e-17 -1.47451e-17 -2.08167e-17 + -2.35685e-02 -5.55112e-17 1.38778e-17 2.18116e-02 6.05798e-18 -2.05655e-02 9.75782e-18 1.23735e-17 + 1.25767e-17 +Row 11 + 7.50429e-01 7.63278e-17 1.02522e-15 -1.01915e-17 1.73472e-18 1.04083e-17 -2.35685e-02 -3.46945e-17 + -2.60209e-17 2.18116e-02 1.90820e-17 2.97478e-18 2.16840e-17 -2.05655e-02 -1.15603e-17 2.19009e-17 +Row 12 + 7.51161e-01 9.54624e-18 6.69062e-19 2.99309e-18 3.31382e-18 -7.80626e-18 1.51788e-17 -6.51442e-18 + -4.16334e-17 7.28584e-17 -1.40118e-18 -8.67362e-19 -2.60209e-18 1.13528e-02 1.97400e-19 +Row 13 + 7.50429e-01 -2.49366e-18 4.59702e-17 -2.35685e-02 4.33681e-18 9.54098e-18 2.18116e-02 6.07153e-17 + -2.25514e-17 -6.17995e-18 3.90313e-18 9.32414e-18 -4.52633e-19 -2.05655e-02 +Row 14 + -6.56278e-01 -5.05718e-03 1.30234e-15 -3.20967e-15 -1.35655e-15 4.35416e-16 -4.33681e-19 -1.85182e-16 + 1.74350e-16 9.40654e-16 5.16080e-16 -2.56515e-16 -8.67362e-17 +Row 15 + 4.60963e-01 2.92301e-16 -3.22659e-16 -3.50414e-16 2.09902e-16 -6.90420e-16 -1.09288e-16 1.98577e-17 + -2.04264e-16 -9.84456e-17 -1.94494e-16 8.19657e-17 +Row 16 + -1.51655e-01 -4.03323e-16 -1.84748e-16 1.42256e-02 -2.67147e-16 4.77049e-17 1.48536e-16 3.68629e-17 + 1.18482e-15 -5.77429e-17 -9.97149e-04 +Row 17 + -1.51655e-01 3.20924e-17 -1.87350e-16 1.42256e-02 -4.68375e-17 -1.07228e-15 -7.14706e-16 -9.97149e-04 + -2.08167e-17 9.49761e-17 +Row 18 + -1.51655e-01 8.06646e-17 3.72966e-17 1.42256e-02 -9.34691e-16 -9.97149e-04 -8.75602e-16 -4.27284e-16 + 2.20527e-15 +Row 19 + 6.77076e-01 -4.85723e-17 -1.28370e-16 2.68665e-16 1.52135e-15 1.01568e-15 -1.78500e-17 1.33804e-03 +Row 20 + 6.77076e-01 -1.90820e-16 -5.74085e-16 3.15286e-16 1.33804e-03 -1.89931e-15 5.42101e-16 +Row 21 + 6.77076e-01 -6.62990e-16 1.33804e-03 -6.43149e-16 7.92769e-16 1.70870e-15 +Row 22 + 7.51153e-01 7.86047e-18 -2.49150e-16 5.11870e-16 2.03071e-16 +Row 23 + 7.50428e-01 2.36356e-17 1.62305e-16 -2.94903e-16 +Row 24 + 7.50428e-01 -1.48536e-17 -3.10732e-16 +Row 25 + 7.51153e-01 3.68701e-17 +Row 26 + 7.50428e-01 diff --git a/tests/02_NAO_Gamma/006_NO_GO_OH/result.ref b/tests/02_NAO_Gamma/001_NO_GO_OHK/result.ref similarity index 50% rename from tests/02_NAO_Gamma/006_NO_GO_OH/result.ref rename to tests/02_NAO_Gamma/001_NO_GO_OHK/result.ref index 4257400dbc..768476ba12 100644 --- a/tests/02_NAO_Gamma/006_NO_GO_OH/result.ref +++ b/tests/02_NAO_Gamma/001_NO_GO_OHK/result.ref @@ -1,8 +1,8 @@ -etotref -204.1062806122546 -etotperatomref -102.0531403061 +etotref -204.106280612482 +etotperatomref -102.0531403062 CompareH_pass 0 CompareS_pass 0 pointgroupref T_d spacegroupref O_h nksibzref 1 -totaltimeref 0.52294 +totaltimeref 1.39 diff --git a/tests/02_NAO_Gamma/001_NO_GO_OHK/sk_nao.txt.ref b/tests/02_NAO_Gamma/001_NO_GO_OHK/sk_nao.txt.ref new file mode 100644 index 0000000000..4ac100c852 --- /dev/null +++ b/tests/02_NAO_Gamma/001_NO_GO_OHK/sk_nao.txt.ref @@ -0,0 +1,89 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/sk_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + 1.00017e+00 1.88614e-03 -1.35525e-20 0.00000e+00 0.00000e+00 -5.42101e-20 0.00000e+00 0.00000e+00 + -2.71051e-20 0.00000e+00 0.00000e+00 3.04932e-20 0.00000e+00 4.67829e-02 2.35350e-01 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + -1.20753e-18 0.00000e+00 +Row 2 + 1.02054e+00 0.00000e+00 0.00000e+00 0.00000e+00 -8.67362e-19 0.00000e+00 0.00000e+00 -2.16840e-19 + 0.00000e+00 0.00000e+00 4.33681e-19 0.00000e+00 2.35350e-01 6.08580e-01 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 -1.51754e-17 + 0.00000e+00 +Row 3 + 9.98375e-01 0.00000e+00 0.00000e+00 5.69658e-03 0.00000e+00 0.00000e+00 6.77626e-21 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 -8.35117e-02 0.00000e+00 0.00000e+00 + 1.49288e-01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 -4.17224e-02 +Row 4 + 9.98375e-01 0.00000e+00 0.00000e+00 5.69658e-03 0.00000e+00 0.00000e+00 1.35525e-20 0.00000e+00 + 0.00000e+00 6.77626e-21 0.00000e+00 0.00000e+00 0.00000e+00 -8.35117e-02 0.00000e+00 0.00000e+00 + 1.49288e-01 0.00000e+00 0.00000e+00 0.00000e+00 -4.17224e-02 0.00000e+00 0.00000e+00 +Row 5 + 9.98375e-01 0.00000e+00 0.00000e+00 5.69658e-03 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 6.77626e-21 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 -8.35117e-02 0.00000e+00 0.00000e+00 + 1.49288e-01 0.00000e+00 -4.17224e-02 0.00000e+00 0.00000e+00 0.00000e+00 +Row 6 + 9.80005e-01 0.00000e+00 0.00000e+00 2.71051e-20 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 1.49288e-01 0.00000e+00 0.00000e+00 -1.30508e-01 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.39401e-01 +Row 7 + 9.80005e-01 0.00000e+00 0.00000e+00 -5.42101e-20 0.00000e+00 0.00000e+00 -1.35525e-20 0.00000e+00 + 0.00000e+00 0.00000e+00 1.49288e-01 0.00000e+00 0.00000e+00 -1.30508e-01 0.00000e+00 0.00000e+00 + 0.00000e+00 1.39401e-01 0.00000e+00 0.00000e+00 +Row 8 + 9.80005e-01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.35525e-20 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 1.49288e-01 0.00000e+00 0.00000e+00 -1.30508e-01 0.00000e+00 1.39401e-01 + 0.00000e+00 0.00000e+00 0.00000e+00 +Row 9 + 1.00007e+00 0.00000e+00 0.00000e+00 -2.37169e-20 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 6.29942e-03 0.00000e+00 0.00000e+00 + -6.16963e-19 0.00000e+00 +Row 10 + 1.00025e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 4.17224e-02 0.00000e+00 0.00000e+00 -1.39401e-01 0.00000e+00 7.89480e-03 0.00000e+00 0.00000e+00 + 0.00000e+00 +Row 11 + 1.00025e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 4.17224e-02 0.00000e+00 + 0.00000e+00 -1.39401e-01 0.00000e+00 0.00000e+00 0.00000e+00 7.89480e-03 0.00000e+00 0.00000e+00 +Row 12 + 1.00007e+00 0.00000e+00 -1.20753e-18 -1.51754e-17 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 0.00000e+00 0.00000e+00 -6.16963e-19 0.00000e+00 0.00000e+00 6.29942e-03 0.00000e+00 +Row 13 + 1.00025e+00 0.00000e+00 0.00000e+00 4.17224e-02 0.00000e+00 0.00000e+00 -1.39401e-01 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 7.89480e-03 +Row 14 + 1.00017e+00 1.88614e-03 -1.35525e-20 0.00000e+00 0.00000e+00 -5.42101e-20 0.00000e+00 0.00000e+00 + -2.71051e-20 0.00000e+00 0.00000e+00 3.04932e-20 0.00000e+00 +Row 15 + 1.02054e+00 0.00000e+00 0.00000e+00 0.00000e+00 -8.67362e-19 0.00000e+00 0.00000e+00 -2.16840e-19 + 0.00000e+00 0.00000e+00 4.33681e-19 0.00000e+00 +Row 16 + 9.98375e-01 0.00000e+00 0.00000e+00 5.69658e-03 0.00000e+00 0.00000e+00 6.77626e-21 0.00000e+00 + 0.00000e+00 0.00000e+00 0.00000e+00 +Row 17 + 9.98375e-01 0.00000e+00 0.00000e+00 5.69658e-03 0.00000e+00 0.00000e+00 1.35525e-20 0.00000e+00 + 0.00000e+00 6.77626e-21 +Row 18 + 9.98375e-01 0.00000e+00 0.00000e+00 5.69658e-03 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 + 6.77626e-21 +Row 19 + 9.80005e-01 0.00000e+00 0.00000e+00 2.71051e-20 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 +Row 20 + 9.80005e-01 0.00000e+00 0.00000e+00 -5.42101e-20 0.00000e+00 0.00000e+00 -1.35525e-20 +Row 21 + 9.80005e-01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.35525e-20 +Row 22 + 1.00007e+00 0.00000e+00 0.00000e+00 -2.37169e-20 0.00000e+00 +Row 23 + 1.00025e+00 0.00000e+00 0.00000e+00 0.00000e+00 +Row 24 + 1.00025e+00 0.00000e+00 0.00000e+00 +Row 25 + 1.00007e+00 0.00000e+00 +Row 26 + 1.00025e+00 diff --git a/tests/02_NAO_Gamma/002_NO_GO_AF/INPUT b/tests/02_NAO_Gamma/002_NO_GO_AF/INPUT deleted file mode 100644 index b69e1c495c..0000000000 --- a/tests/02_NAO_Gamma/002_NO_GO_AF/INPUT +++ /dev/null @@ -1,35 +0,0 @@ -INPUT_PARAMETERS - -calculation scf -ecutwfc 8 -scf_thr 1.0e-6 -scf_nmax 50 -out_chg 0 - -#init_chg file -#out_dos 1 -#dos_sigma 0.05 -#out_band 1 - -smearing_method gaussian -smearing_sigma 0.02 - -#cal_force 1 -#force_thr_ev 0.01 -#relax_method cg -#relax_bfgs_init 0.5 - -mixing_type broyden -mixing_beta 0.4 -mixing_gg0 0.0 - - -ks_solver scalapack_gvx -basis_type lcao -gamma_only 1 -symmetry 0 -nspin 2 - -suffix autotest -pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB diff --git a/tests/02_NAO_Gamma/002_NO_GO_OHK2/INPUT b/tests/02_NAO_Gamma/002_NO_GO_OHK2/INPUT new file mode 100644 index 0000000000..b9b58e2330 --- /dev/null +++ b/tests/02_NAO_Gamma/002_NO_GO_OHK2/INPUT @@ -0,0 +1,35 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation scf +nspin 2 + +nbands 6 +symmetry 1 +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB +gamma_only 1 + +#Parameters (2.Iteration) +ecutwfc 5 +scf_thr 1e-8 +scf_nmax 100 + +#Parameters (3.Basis) +basis_type lcao + +#Parameters (4.Smearing) +smearing_method gauss +smearing_sigma 0.002 + +out_mat_hs 1 2 +#Parameters (5.Mixing) +mixing_type broyden +mixing_beta 0.7 +mixing_gg0 1.5 + +ks_solver scalapack_gvx + +bx 2 +by 2 +bz 2 diff --git a/tests/02_NAO_Gamma/002_NO_GO_OHK2/README b/tests/02_NAO_Gamma/002_NO_GO_OHK2/README new file mode 100644 index 0000000000..77810b9c46 --- /dev/null +++ b/tests/02_NAO_Gamma/002_NO_GO_OHK2/README @@ -0,0 +1 @@ +test for output H matrix with gamma_only and nspin=2, SZ orbital diff --git a/tests/02_NAO_Gamma/002_NO_GO_OHK2/STRU b/tests/02_NAO_Gamma/002_NO_GO_OHK2/STRU new file mode 100644 index 0000000000..8482d4e52d --- /dev/null +++ b/tests/02_NAO_Gamma/002_NO_GO_OHK2/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 14 Si_dojo_nsoc.upf + +NUMERICAL_ORBITAL +Si_dojo_6au_sz.orb + +LATTICE_CONSTANT +20 // add lattice constant + +LATTICE_VECTORS +0.0 0.5 0.5 +0.5 0.0 0.5 +0.5 0.5 0.0 + +ATOMIC_POSITIONS +Direct + +Si // Element type +0.0 // magnetism +2 +0.00 0.00 0.00 1 1 1 +0.25 0.25 0.25 1 1 1 diff --git a/tests/02_NAO_Gamma/002_NO_GO_OHK2/hks1_nao.txt.ref b/tests/02_NAO_Gamma/002_NO_GO_OHK2/hks1_nao.txt.ref new file mode 100644 index 0000000000..00b1f8ae9b --- /dev/null +++ b/tests/02_NAO_Gamma/002_NO_GO_OHK2/hks1_nao.txt.ref @@ -0,0 +1,23 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/hks1_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + -4.41e-01 1.44e-15 -1.83e-15 1.55e-15 -1.34e-02 1.18e-16 3.80e-17 -1.90e-16 +Row 2 + 9.28e-01 -2.33e-15 -1.71e-15 -6.37e-17 -3.35e-02 -6.99e-17 -2.17e-16 +Row 3 + 9.28e-01 -8.05e-16 -1.29e-16 8.38e-17 -3.35e-02 1.23e-16 +Row 4 + 9.28e-01 3.30e-16 -4.16e-17 -2.03e-16 -3.35e-02 +Row 5 + -4.41e-01 1.54e-15 3.61e-16 2.12e-15 +Row 6 + 9.28e-01 1.00e-15 6.24e-16 +Row 7 + 9.28e-01 -4.42e-16 +Row 8 + 9.28e-01 diff --git a/tests/02_NAO_Gamma/002_NO_GO_OHK2/hks2_nao.txt.ref b/tests/02_NAO_Gamma/002_NO_GO_OHK2/hks2_nao.txt.ref new file mode 100644 index 0000000000..645d43e533 --- /dev/null +++ b/tests/02_NAO_Gamma/002_NO_GO_OHK2/hks2_nao.txt.ref @@ -0,0 +1,23 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/hks2_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + -2.59e-01 -2.50e-15 3.61e-15 -2.16e-15 -1.31e-02 -9.33e-16 5.97e-17 5.03e-16 +Row 2 + 1.12e+00 9.21e-15 2.39e-15 1.10e-15 -3.45e-02 -4.14e-15 -1.24e-16 +Row 3 + 1.12e+00 3.23e-15 4.39e-16 2.31e-15 -3.45e-02 1.86e-15 +Row 4 + 1.12e+00 1.16e-15 1.94e-15 5.00e-15 -3.45e-02 +Row 5 + -2.59e-01 -7.13e-16 -9.52e-16 -2.94e-15 +Row 6 + 1.12e+00 -2.08e-15 -2.20e-15 +Row 7 + 1.12e+00 -2.01e-15 +Row 8 + 1.12e+00 diff --git a/tests/02_NAO_Gamma/002_NO_GO_OHK2/result.ref b/tests/02_NAO_Gamma/002_NO_GO_OHK2/result.ref new file mode 100644 index 0000000000..bf82a06207 --- /dev/null +++ b/tests/02_NAO_Gamma/002_NO_GO_OHK2/result.ref @@ -0,0 +1,9 @@ +etotref -170.3619865737633 +etotperatomref -85.1809932869 +CompareH1_pass 0 +CompareH2_pass 0 +CompareS_pass 0 +pointgroupref T_d +spacegroupref O_h +nksibzref 1 +totaltimeref 0.50 diff --git a/tests/02_NAO_Gamma/002_NO_GO_OHK2/sk_nao.txt.ref b/tests/02_NAO_Gamma/002_NO_GO_OHK2/sk_nao.txt.ref new file mode 100644 index 0000000000..b48d97c3fb --- /dev/null +++ b/tests/02_NAO_Gamma/002_NO_GO_OHK2/sk_nao.txt.ref @@ -0,0 +1,23 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/sk_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + 1.00e+00 0.00e+00 0.00e+00 0.00e+00 6.14e-03 0.00e+00 0.00e+00 0.00e+00 +Row 2 + 1.00e+00 0.00e+00 0.00e+00 0.00e+00 -1.54e-02 0.00e+00 0.00e+00 +Row 3 + 1.00e+00 0.00e+00 0.00e+00 0.00e+00 -1.54e-02 0.00e+00 +Row 4 + 1.00e+00 0.00e+00 0.00e+00 0.00e+00 -1.54e-02 +Row 5 + 1.00e+00 0.00e+00 0.00e+00 0.00e+00 +Row 6 + 1.00e+00 0.00e+00 0.00e+00 +Row 7 + 1.00e+00 0.00e+00 +Row 8 + 1.00e+00 diff --git a/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/INPUT b/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/INPUT new file mode 100644 index 0000000000..4722b8caa2 --- /dev/null +++ b/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/INPUT @@ -0,0 +1,34 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation relax + +nbands 4 +symmetry 1 +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB + +#Parameters (2.Iteration) +ecutwfc 5 +scf_thr 1e-8 +scf_nmax 100 + +#Parameters (3.Relaxation) +relax_nmax 2 +cal_force 1 +force_thr_ev 0.01 +relax_method bfgs 2 + +#Parameters (4.Basis) +basis_type lcao + +#Parameters (5.Smearing) +smearing_method fixed + +#Parameters (6.Mixing) +mixing_type broyden +mixing_beta 0.5 + +gamma_only 1 +out_mat_hs 1 5 +out_app_flag 1 diff --git a/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/STRU b/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/STRU new file mode 100644 index 0000000000..086df89083 --- /dev/null +++ b/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 28 Si_dojo_nsoc.upf + +NUMERICAL_ORBITAL +Si_dojo_6au_sz.orb + +LATTICE_CONSTANT +10.2 + +LATTICE_VECTORS +0.0 0.5 0.5 +0.5 0.0 0.5 +0.5 0.5 0.0 + +ATOMIC_POSITIONS +Direct + +Si +0.0 +2 +0.00 0.00 0.00 1 1 1 +0.251 0.251 0.251 1 1 1 diff --git a/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/hk_nao.txt.ref b/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/hk_nao.txt.ref new file mode 100644 index 0000000000..fc93c840e6 --- /dev/null +++ b/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/hk_nao.txt.ref @@ -0,0 +1,46 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/hk_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + -1.59432e-01 9.24250e-04 -9.24250e-04 -9.24250e-04 -4.72133e-01 -4.06675e-04 4.06675e-04 4.06675e-04 +Row 2 + 1.32251e+00 -9.21838e-04 -9.21838e-04 1.98460e-04 -7.16261e-02 -7.43900e-05 -7.43900e-05 +Row 3 + 1.32251e+00 9.21838e-04 -1.98460e-04 -7.43900e-05 -7.16261e-02 7.43900e-05 +Row 4 + 1.32251e+00 -1.98460e-04 -7.43900e-05 7.43900e-05 -7.16261e-02 +Row 5 + -1.59427e-01 -1.31465e-03 1.31465e-03 1.31465e-03 +Row 6 + 1.32243e+00 -9.14026e-04 -9.14026e-04 +Row 7 + 1.32243e+00 9.14026e-04 +Row 8 + 1.32243e+00 +#------------------------------------------------------------------------ +# ionic step 2 +# filename OUT.autotest/hk_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + -1.46817e-01 -2.23052e-03 2.23052e-03 2.23052e-03 -4.61859e-01 -7.94508e-03 7.94508e-03 7.94508e-03 +Row 2 + 1.33207e+00 3.84287e-03 3.84287e-03 7.80125e-03 -7.60615e-02 1.44866e-02 1.44866e-02 +Row 3 + 1.33207e+00 -3.84287e-03 -7.80125e-03 1.44866e-02 -7.60615e-02 -1.44866e-02 +Row 4 + 1.33207e+00 -7.80125e-03 1.44866e-02 -1.44866e-02 -7.60615e-02 +Row 5 + -1.46819e-01 2.16332e-03 -2.16332e-03 -2.16332e-03 +Row 6 + 1.33292e+00 3.21595e-03 3.21595e-03 +Row 7 + 1.33292e+00 -3.21595e-03 +Row 8 + 1.33292e+00 diff --git a/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/result.ref b/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/result.ref new file mode 100644 index 0000000000..00650e8a1c --- /dev/null +++ b/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/result.ref @@ -0,0 +1,9 @@ +etotref -183.7731368896913 +etotperatomref -91.8865684448 +totalforceref 23.972508 +CompareH_pass 0 +CompareS_pass 0 +pointgroupref C_3v +spacegroupref D_3d +nksibzref 1 +totaltimeref 0.42 diff --git a/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/sk_nao.txt.ref b/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/sk_nao.txt.ref new file mode 100644 index 0000000000..59f326ca1a --- /dev/null +++ b/tests/02_NAO_Gamma/003_NO_GO_RE_OHK/sk_nao.txt.ref @@ -0,0 +1,46 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/sk_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + 1.15061e+00 -6.50521e-19 0.00000e+00 0.00000e+00 8.22869e-01 9.81584e-04 -9.81584e-04 -9.81584e-04 +Row 2 + 1.16565e+00 0.00000e+00 0.00000e+00 -9.81584e-04 -3.19683e-01 -3.40116e-03 -3.40116e-03 +Row 3 + 1.16565e+00 0.00000e+00 9.81584e-04 -3.40116e-03 -3.19683e-01 3.40116e-03 +Row 4 + 1.16565e+00 9.81584e-04 -3.40116e-03 3.40116e-03 -3.19683e-01 +Row 5 + 1.15061e+00 -6.50521e-19 0.00000e+00 0.00000e+00 +Row 6 + 1.16565e+00 0.00000e+00 0.00000e+00 +Row 7 + 1.16565e+00 0.00000e+00 +Row 8 + 1.16565e+00 +#------------------------------------------------------------------------ +# ionic step 2 +# filename OUT.autotest/sk_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + 1.15061e+00 -6.50521e-19 1.39379e-20 1.39379e-20 8.23962e-01 -1.82457e-02 1.82457e-02 1.82457e-02 +Row 2 + 1.16565e+00 -1.26565e-19 -1.26565e-19 1.82457e-02 -3.15301e-01 5.22531e-02 5.22531e-02 +Row 3 + 1.16565e+00 8.05970e-19 -1.82457e-02 5.22531e-02 -3.15301e-01 -5.22531e-02 +Row 4 + 1.16565e+00 -1.82457e-02 5.22531e-02 -5.22531e-02 -3.15301e-01 +Row 5 + 1.15061e+00 -6.50521e-19 -2.02733e-20 -2.02733e-20 +Row 6 + 1.16565e+00 1.84095e-19 1.84095e-19 +Row 7 + 1.16565e+00 -1.17232e-18 +Row 8 + 1.16565e+00 diff --git a/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/INPUT b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/INPUT new file mode 100644 index 0000000000..766ad3a919 --- /dev/null +++ b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/INPUT @@ -0,0 +1,35 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation relax +nspin 2 + +nbands 8 +symmetry 1 +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB + +#Parameters (2.Iteration) +ecutwfc 5 +scf_thr 1e-8 +scf_nmax 100 + +#Parameters (3.Relaxation) +relax_nmax 2 +cal_force 1 +force_thr_ev 0.01 +relax_method bfgs 2 + +#Parameters (4.Basis) +basis_type lcao + +#Parameters (5.Smearing) +smearing_method fixed + +#Parameters (6.Mixing) +mixing_type broyden +mixing_beta 0.5 + +gamma_only 1 +out_mat_hs 1 5 +out_app_flag 1 diff --git a/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/STRU b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/STRU new file mode 100644 index 0000000000..086df89083 --- /dev/null +++ b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 28 Si_dojo_nsoc.upf + +NUMERICAL_ORBITAL +Si_dojo_6au_sz.orb + +LATTICE_CONSTANT +10.2 + +LATTICE_VECTORS +0.0 0.5 0.5 +0.5 0.0 0.5 +0.5 0.5 0.0 + +ATOMIC_POSITIONS +Direct + +Si +0.0 +2 +0.00 0.00 0.00 1 1 1 +0.251 0.251 0.251 1 1 1 diff --git a/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/hks1_nao.txt.ref b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/hks1_nao.txt.ref new file mode 100644 index 0000000000..49626df883 --- /dev/null +++ b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/hks1_nao.txt.ref @@ -0,0 +1,46 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/hks1_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + -1.59432e-01 9.24250e-04 -9.24250e-04 -9.24250e-04 -4.72133e-01 -4.06675e-04 4.06675e-04 4.06675e-04 +Row 2 + 1.32251e+00 -9.21838e-04 -9.21838e-04 1.98459e-04 -7.16261e-02 -7.43902e-05 -7.43902e-05 +Row 3 + 1.32251e+00 9.21838e-04 -1.98459e-04 -7.43902e-05 -7.16261e-02 7.43902e-05 +Row 4 + 1.32251e+00 -1.98459e-04 -7.43902e-05 7.43902e-05 -7.16261e-02 +Row 5 + -1.59427e-01 -1.31465e-03 1.31465e-03 1.31465e-03 +Row 6 + 1.32243e+00 -9.14026e-04 -9.14026e-04 +Row 7 + 1.32243e+00 9.14026e-04 +Row 8 + 1.32243e+00 +#------------------------------------------------------------------------ +# ionic step 2 +# filename OUT.autotest/hks1_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + -1.46777e-01 -2.23363e-03 2.23363e-03 2.23363e-03 -4.61821e-01 -7.94405e-03 7.94405e-03 7.94405e-03 +Row 2 + 1.33207e+00 3.84212e-03 3.84212e-03 7.79856e-03 -7.60611e-02 1.44855e-02 1.44855e-02 +Row 3 + 1.33207e+00 -3.84212e-03 -7.79856e-03 1.44855e-02 -7.60611e-02 -1.44855e-02 +Row 4 + 1.33207e+00 -7.79856e-03 1.44855e-02 -1.44855e-02 -7.60611e-02 +Row 5 + -1.46781e-01 2.16502e-03 -2.16502e-03 -2.16502e-03 +Row 6 + 1.33292e+00 3.21564e-03 3.21564e-03 +Row 7 + 1.33292e+00 -3.21564e-03 +Row 8 + 1.33292e+00 diff --git a/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/hks2_nao.txt.ref b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/hks2_nao.txt.ref new file mode 100644 index 0000000000..3040a28b9a --- /dev/null +++ b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/hks2_nao.txt.ref @@ -0,0 +1,46 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/hks2_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + -1.59432e-01 9.24250e-04 -9.24250e-04 -9.24250e-04 -4.72133e-01 -4.06675e-04 4.06675e-04 4.06675e-04 +Row 2 + 1.32251e+00 -9.21838e-04 -9.21838e-04 1.98459e-04 -7.16261e-02 -7.43902e-05 -7.43902e-05 +Row 3 + 1.32251e+00 9.21838e-04 -1.98459e-04 -7.43902e-05 -7.16261e-02 7.43902e-05 +Row 4 + 1.32251e+00 -1.98459e-04 -7.43902e-05 7.43902e-05 -7.16261e-02 +Row 5 + -1.59427e-01 -1.31465e-03 1.31465e-03 1.31465e-03 +Row 6 + 1.32243e+00 -9.14026e-04 -9.14026e-04 +Row 7 + 1.32243e+00 9.14026e-04 +Row 8 + 1.32243e+00 +#------------------------------------------------------------------------ +# ionic step 2 +# filename OUT.autotest/hks2_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + -1.46777e-01 -2.23363e-03 2.23363e-03 2.23363e-03 -4.61821e-01 -7.94405e-03 7.94405e-03 7.94405e-03 +Row 2 + 1.33207e+00 3.84212e-03 3.84212e-03 7.79856e-03 -7.60611e-02 1.44855e-02 1.44855e-02 +Row 3 + 1.33207e+00 -3.84212e-03 -7.79856e-03 1.44855e-02 -7.60611e-02 -1.44855e-02 +Row 4 + 1.33207e+00 -7.79856e-03 1.44855e-02 -1.44855e-02 -7.60611e-02 +Row 5 + -1.46781e-01 2.16502e-03 -2.16502e-03 -2.16502e-03 +Row 6 + 1.33292e+00 3.21564e-03 3.21564e-03 +Row 7 + 1.33292e+00 -3.21564e-03 +Row 8 + 1.33292e+00 diff --git a/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/result.ref b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/result.ref new file mode 100644 index 0000000000..9b76a4a19f --- /dev/null +++ b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/result.ref @@ -0,0 +1,10 @@ +etotref -183.772932286494 +etotperatomref -91.8864661432 +totalforceref 23.971608 +CompareH1_pass 0 +CompareH2_pass 0 +CompareS_pass 0 +pointgroupref C_3v +spacegroupref D_3d +nksibzref 1 +totaltimeref 0.54 diff --git a/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/sk_nao.txt.ref b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/sk_nao.txt.ref new file mode 100644 index 0000000000..59f326ca1a --- /dev/null +++ b/tests/02_NAO_Gamma/004_NO_GO_RE_OHK2/sk_nao.txt.ref @@ -0,0 +1,46 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/sk_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + 1.15061e+00 -6.50521e-19 0.00000e+00 0.00000e+00 8.22869e-01 9.81584e-04 -9.81584e-04 -9.81584e-04 +Row 2 + 1.16565e+00 0.00000e+00 0.00000e+00 -9.81584e-04 -3.19683e-01 -3.40116e-03 -3.40116e-03 +Row 3 + 1.16565e+00 0.00000e+00 9.81584e-04 -3.40116e-03 -3.19683e-01 3.40116e-03 +Row 4 + 1.16565e+00 9.81584e-04 -3.40116e-03 3.40116e-03 -3.19683e-01 +Row 5 + 1.15061e+00 -6.50521e-19 0.00000e+00 0.00000e+00 +Row 6 + 1.16565e+00 0.00000e+00 0.00000e+00 +Row 7 + 1.16565e+00 0.00000e+00 +Row 8 + 1.16565e+00 +#------------------------------------------------------------------------ +# ionic step 2 +# filename OUT.autotest/sk_nao.txt +# gamma only 1 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + 1.15061e+00 -6.50521e-19 1.39379e-20 1.39379e-20 8.23962e-01 -1.82457e-02 1.82457e-02 1.82457e-02 +Row 2 + 1.16565e+00 -1.26565e-19 -1.26565e-19 1.82457e-02 -3.15301e-01 5.22531e-02 5.22531e-02 +Row 3 + 1.16565e+00 8.05970e-19 -1.82457e-02 5.22531e-02 -3.15301e-01 -5.22531e-02 +Row 4 + 1.16565e+00 -1.82457e-02 5.22531e-02 -5.22531e-02 -3.15301e-01 +Row 5 + 1.15061e+00 -6.50521e-19 -2.02733e-20 -2.02733e-20 +Row 6 + 1.16565e+00 1.84095e-19 1.84095e-19 +Row 7 + 1.16565e+00 -1.17232e-18 +Row 8 + 1.16565e+00 diff --git a/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/INPUT b/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/INPUT new file mode 100644 index 0000000000..44098ce286 --- /dev/null +++ b/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/INPUT @@ -0,0 +1,32 @@ +INPUT_PARAMETERS +#Parameters (General) +suffix autotest +nbands 8 +calculation md +basis_type lcao +gamma_only 1 +out_mat_hs 1 5 + +#Parameters (Accuracy) +ecutwfc 5 +scf_nmax 50 +scf_thr 1.0e-8 + +cal_stress 1 +stress_thr 1e-6 +cal_force 1 +force_thr_ev 1.0e-3 + +mixing_type broyden +mixing_beta 0.7 + +md_nstep 2 +md_tchain 4 +md_tfirst 10 +md_tfreq 0.1 +init_vel 1 + +chg_extrap first-order + +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB diff --git a/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/STRU b/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/STRU new file mode 100644 index 0000000000..6fc39c63ca --- /dev/null +++ b/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 1 Si_ONCV_PBE-1.0.upf + +NUMERICAL_ORBITAL +Si_gga_8au_60Ry_2s2p1d.orb + +LATTICE_CONSTANT +10.2 + +LATTICE_VECTORS +0 0.5 0.5 #latvec1 +0.5 0 0.5 #latvec2 +0.5 0.5 0 #latvec3 + +ATOMIC_POSITIONS +Cartesian + +Si #label +0 #magnetism +2 #number of atoms +0 0 0 m 1 1 1 v 0.000135711648533 3.02182240507e-05 -8.2024241958e-05 +0.25 0.25 0.25 m 1 1 1 v -0.000135711648533 -3.02182240507e-05 8.2024241958e-05 diff --git a/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/hk_nao.txt.ref b/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/hk_nao.txt.ref new file mode 100644 index 0000000000..2b21e72d56 --- /dev/null +++ b/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/hk_nao.txt.ref @@ -0,0 +1,178 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/hk_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + -3.31964e-01 -7.79031e-01 -3.88578e-16 8.88178e-16 1.11022e-16 -1.11022e-16 3.33067e-16 -2.22045e-16 + -1.11634e-15 6.93889e-17 1.94289e-16 2.22411e-16 1.94289e-16 -5.55603e-01 -4.17914e-01 -2.22045e-16 + 4.09395e-16 -1.11022e-16 3.94650e-16 -8.58688e-17 -6.99094e-16 1.31213e-15 1.24900e-16 -6.80012e-16 + 6.00266e-16 4.99600e-16 +Row 2 + 8.97102e-01 -1.24900e-16 4.71845e-16 1.24900e-16 8.32667e-17 6.66134e-16 8.88178e-16 -1.07139e-15 + -1.31839e-16 6.17562e-16 -2.25582e-16 -6.93889e-17 -4.17914e-01 9.78300e-02 4.99167e-16 1.25811e-15 + -1.09721e-16 -7.42462e-16 5.20417e-17 -9.36751e-17 1.98278e-15 2.56739e-16 4.85723e-17 1.08715e-15 + -1.04777e-15 +Row 3 + 3.88003e-01 -2.08167e-16 -2.18575e-16 4.20473e-01 4.99600e-16 1.31839e-16 4.71845e-16 -2.77556e-16 + -4.99600e-16 1.17725e-16 6.39674e-02 -2.77556e-16 7.77156e-16 -4.12889e-02 -7.28584e-17 1.04083e-17 + -1.32845e-02 4.33681e-18 4.07660e-17 -2.08167e-17 4.68375e-17 -3.29597e-17 4.11676e-18 -1.77608e-01 +Row 4 + 3.88003e-01 -4.16334e-17 2.91434e-16 4.20473e-01 -1.31839e-16 2.77556e-17 2.77556e-17 6.39674e-02 + 3.60822e-16 -3.33067e-16 2.35922e-16 5.27356e-16 -6.93889e-18 -4.12889e-02 7.45931e-17 9.71445e-17 + -1.32845e-02 -4.85723e-17 -5.03070e-17 -1.12757e-16 -1.77608e-01 9.71445e-17 -4.16334e-17 +Row 5 + 3.88003e-01 -2.15106e-16 -1.17961e-16 4.20473e-01 -2.22045e-16 6.39674e-02 -2.77556e-17 -9.15934e-16 + -5.82867e-16 -8.60423e-16 -3.05311e-16 -2.94903e-17 -2.42861e-17 -4.12889e-02 3.90313e-17 -4.85723e-17 + -1.32845e-02 2.42861e-17 -1.77608e-01 -1.49186e-16 5.55112e-17 2.25514e-16 +Row 6 + 7.68029e-01 7.84095e-16 2.49800e-16 1.94289e-15 1.66533e-16 3.33067e-16 1.82932e-17 3.92224e-02 + 3.60822e-16 2.22045e-16 -1.32845e-02 6.24500e-17 1.00614e-16 1.33549e-01 -9.10730e-17 3.98986e-17 + 6.93889e-18 1.80411e-16 7.63278e-17 1.18341e-17 -3.73234e-02 +Row 7 + 7.68029e-01 -4.23273e-16 2.77556e-16 -1.38778e-16 3.92224e-02 -8.32667e-16 3.05311e-16 1.52656e-16 + -1.44329e-15 5.89806e-17 -1.32845e-02 0.00000e+00 -2.68882e-17 1.33549e-01 3.12250e-17 -1.17961e-16 + 6.24500e-17 -3.73234e-02 2.08167e-17 1.38778e-17 +Row 8 + 7.68029e-01 1.11022e-16 3.92224e-02 -2.22045e-16 1.66533e-16 -9.43690e-16 -4.16334e-16 -1.55431e-15 + -3.46945e-17 2.08167e-17 -1.32845e-02 5.98480e-17 2.60209e-17 1.33549e-01 -6.93889e-18 -3.73234e-02 + 5.89806e-17 9.71445e-17 1.24900e-16 +Row 9 + 1.45535e+00 2.77556e-17 4.16334e-17 -3.70272e-16 8.32667e-17 -1.09877e-15 -1.44173e-15 1.56125e-16 + -2.77556e-17 2.42861e-17 1.81279e-16 -4.51028e-17 3.59955e-17 -2.96562e-01 1.94289e-16 -1.38778e-17 + -6.60954e-18 3.60822e-16 +Row 10 + 1.40881e+00 -1.96024e-16 4.16334e-17 -4.57967e-16 8.18789e-16 -1.15186e-15 -3.46945e-18 3.81639e-17 + 1.77608e-01 -3.38271e-17 -2.60209e-17 3.73234e-02 -2.44596e-16 1.12412e-01 -1.04083e-16 -5.49040e-16 + 1.11022e-16 +Row 11 + 1.40881e+00 7.07767e-16 -1.02349e-16 2.28983e-16 0.00000e+00 -1.49186e-16 1.77608e-01 -4.51028e-17 + -4.85723e-17 3.73234e-02 -1.17961e-16 8.67362e-18 -9.71445e-17 1.12412e-01 1.87350e-16 -2.98372e-16 +Row 12 + 1.45535e+00 4.37652e-17 4.28160e-17 -3.63013e-16 -1.57203e-18 1.21431e-16 1.66533e-16 1.25156e-17 + 5.46438e-17 1.39645e-16 -9.96200e-17 2.08167e-16 3.46945e-16 -2.96562e-01 -6.43394e-18 +Row 13 + 1.40881e+00 -3.19189e-16 1.04083e-15 1.77608e-01 5.89806e-17 -2.42861e-17 3.73234e-02 2.08167e-17 + 3.64292e-17 -1.67401e-16 1.04083e-16 1.38778e-16 8.75060e-18 1.12412e-01 +Row 14 + -3.31964e-01 -7.79031e-01 2.11094e-16 6.60062e-16 8.35920e-17 5.36030e-16 9.10730e-16 -1.47451e-16 + 1.66886e-15 -2.98372e-16 -6.31439e-16 1.43386e-15 -6.93889e-17 +Row 15 + 8.97102e-01 8.01442e-16 -9.08995e-16 -2.74086e-16 7.02563e-16 -1.98626e-16 -8.34402e-16 1.57633e-15 + 3.33067e-16 -6.38378e-16 7.56907e-16 -2.91434e-16 +Row 16 + 3.88003e-01 -1.90820e-16 -3.45210e-16 4.20473e-01 6.07153e-17 -7.28584e-17 -7.32053e-16 -7.02563e-17 + 2.75821e-16 5.18808e-17 -6.39674e-02 +Row 17 + 3.88003e-01 1.04083e-17 -2.56739e-16 4.20473e-01 9.19403e-17 -1.91253e-16 -3.07046e-16 -6.39674e-02 + 2.44596e-16 -7.54605e-17 +Row 18 + 3.88003e-01 -2.18575e-16 1.50921e-16 4.20473e-01 -3.06612e-16 -6.39674e-02 -2.94903e-17 -5.57714e-16 + -2.24647e-16 +Row 19 + 7.68029e-01 -8.84709e-17 9.54098e-17 4.46691e-16 2.93168e-16 4.96131e-16 1.49541e-16 -3.92224e-02 +Row 20 + 7.68029e-01 -2.27249e-16 6.31006e-16 -9.07260e-16 -3.92224e-02 4.20670e-16 4.25007e-16 +Row 21 + 7.68029e-01 2.59775e-16 -3.92224e-02 -7.54605e-16 -8.92082e-16 4.51028e-17 +Row 22 + 1.45535e+00 -2.98372e-16 2.42861e-17 1.51048e-16 -1.14492e-16 +Row 23 + 1.40881e+00 1.28370e-16 -3.81639e-17 -4.85723e-17 +Row 24 + 1.40881e+00 -2.15106e-16 -2.63678e-16 +Row 25 + 1.45535e+00 -6.76992e-17 +Row 26 + 1.40881e+00 +#------------------------------------------------------------------------ +# ionic step 2 +# filename OUT.autotest/hk_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + -3.31972e-01 -7.79028e-01 7.14815e-04 1.18601e-03 2.55992e-04 6.52116e-04 1.08206e-03 2.33033e-04 + 1.28838e-06 -4.54117e-04 -2.04375e-03 -6.71044e-06 -1.23501e-03 -5.55607e-01 -4.17914e-01 -2.74459e-04 + -4.55894e-04 -9.72064e-05 -3.70140e-04 -6.13947e-04 -1.32724e-04 3.16152e-07 -1.41443e-04 -6.41178e-04 + -1.66937e-06 -3.87211e-04 +Row 2 + 8.97124e-01 4.13299e-04 6.86166e-04 1.47246e-04 7.09641e-04 1.17530e-03 2.58552e-04 1.75433e-06 + -6.22688e-04 -2.76647e-03 -9.22457e-06 -1.67368e-03 -4.17914e-01 9.78582e-02 -8.06321e-04 -1.33802e-03 + -2.88550e-04 -9.84117e-04 -1.63254e-03 -3.52887e-04 2.08194e-06 -1.13650e-03 -5.12933e-03 -1.07335e-05 + -3.09869e-03 +Row 3 + 3.87997e-01 1.40062e-04 6.34089e-04 4.20466e-01 1.25482e-04 5.71666e-04 -3.25354e-04 -1.17980e-03 + -2.58013e-04 9.05124e-08 6.39657e-02 2.74459e-04 8.06321e-04 -4.12849e-02 8.86212e-05 3.86770e-04 + -1.32862e-02 -1.30746e-05 -5.42741e-05 -7.55665e-04 -2.76819e-05 -1.60987e-06 7.93538e-09 -1.77600e-01 +Row 4 + 3.88000e-01 3.82956e-04 1.25448e-04 4.20468e-01 3.45051e-04 2.70808e-04 -7.11922e-04 6.39648e-02 + -4.68990e-04 -2.58010e-04 4.55894e-04 1.33802e-03 8.86212e-05 -4.12828e-02 2.34402e-04 -1.30004e-05 + -1.32865e-02 -3.30227e-05 6.24888e-04 -1.55625e-05 -1.77599e-01 -1.08234e-03 -1.59499e-06 +Row 5 + 3.87995e-01 5.71685e-04 3.45096e-04 4.20465e-01 5.62924e-05 6.39661e-02 -7.11918e-04 9.75467e-05 + -1.17979e-03 9.72064e-05 2.88550e-04 3.86770e-04 2.34402e-04 -4.12859e-02 -5.43036e-05 -3.31051e-05 + -1.32860e-02 1.39674e-04 -1.77601e-01 -1.56254e-05 2.41913e-04 -2.77144e-05 +Row 6 + 7.68024e-01 1.19285e-04 5.38466e-04 -3.73100e-04 -8.94455e-04 -1.92126e-04 -3.43987e-07 3.92232e-02 + 3.70140e-04 9.84117e-04 -1.32862e-02 -1.30004e-05 -5.43036e-05 1.33536e-01 -1.55736e-04 -6.60403e-04 + -2.46721e-04 1.23777e-03 2.77104e-04 -1.10668e-07 -3.73205e-02 +Row 7 + 7.68027e-01 3.25302e-04 3.10059e-04 -5.39006e-04 3.92242e-02 -5.37339e-04 -1.92200e-04 6.13947e-04 + 1.63254e-03 -1.30746e-05 -1.32865e-02 -3.31051e-05 -1.55736e-04 1.33532e-01 -4.01356e-04 2.03797e-04 + 7.48369e-04 -3.73229e-02 -3.53085e-04 2.76976e-04 +Row 8 + 7.68023e-01 6.53686e-05 3.92227e-02 -5.38768e-04 1.13042e-04 -8.94297e-04 1.32724e-04 3.52887e-04 + -5.42741e-05 -3.30227e-05 -1.32860e-02 -6.60403e-04 -4.01356e-04 1.33538e-01 4.59822e-05 -3.73193e-02 + 7.48582e-04 7.95927e-05 1.23788e-03 +Row 9 + 1.45534e+00 1.53190e-04 6.95610e-04 -3.65605e-06 -8.39995e-04 3.16152e-07 2.08194e-06 7.55665e-04 + -6.24888e-04 -1.39674e-04 2.46721e-04 -2.03797e-04 -4.59822e-05 -2.96551e-01 -5.05300e-05 -2.09671e-04 + -1.31286e-05 2.55347e-04 +Row 10 + 1.40881e+00 4.37693e-04 2.65290e-04 7.22287e-04 -1.41443e-04 -1.13650e-03 2.76819e-05 1.55625e-05 + 1.77601e-01 -1.23777e-03 -7.48369e-04 3.73193e-02 -5.05300e-05 1.12402e-01 8.72775e-04 -8.75043e-05 + 1.44211e-03 +Row 11 + 1.40880e+00 -1.20483e-03 1.65486e-04 -6.41178e-04 -5.12933e-03 1.60987e-06 1.77599e-01 1.56254e-05 + -2.77104e-04 3.73229e-02 -7.48582e-04 -2.09671e-04 8.72775e-04 1.12414e-01 3.63226e-04 3.26091e-04 +Row 12 + 1.45534e+00 -1.93978e-08 -1.66937e-06 -1.07335e-05 -7.93538e-09 1.08234e-03 -2.41913e-04 1.10668e-07 + 3.53085e-04 -7.95927e-05 -1.31286e-05 -8.75043e-05 3.63226e-04 -2.96546e-01 6.31528e-08 +Row 13 + 1.40881e+00 -3.87211e-04 -3.09869e-03 1.77600e-01 1.59499e-06 2.77144e-05 3.73205e-02 -2.76976e-04 + -1.23788e-03 2.55347e-04 1.44211e-03 3.26091e-04 6.31528e-08 1.12406e-01 +Row 14 + -3.31972e-01 -7.79028e-01 -7.14815e-04 -1.18601e-03 -2.55992e-04 -6.52116e-04 -1.08206e-03 -2.33033e-04 + 1.28838e-06 -4.54117e-04 -2.04375e-03 -6.71044e-06 -1.23501e-03 +Row 15 + 8.97124e-01 -4.13299e-04 -6.86166e-04 -1.47246e-04 -7.09641e-04 -1.17530e-03 -2.58552e-04 1.75433e-06 + -6.22688e-04 -2.76647e-03 -9.22457e-06 -1.67368e-03 +Row 16 + 3.87997e-01 1.40062e-04 6.34089e-04 4.20466e-01 1.25482e-04 5.71666e-04 3.25354e-04 1.17980e-03 + 2.58013e-04 -9.05124e-08 -6.39657e-02 +Row 17 + 3.88000e-01 3.82956e-04 1.25448e-04 4.20468e-01 3.45051e-04 -2.70808e-04 7.11922e-04 -6.39648e-02 + 4.68990e-04 2.58010e-04 +Row 18 + 3.87995e-01 5.71685e-04 3.45096e-04 4.20465e-01 -5.62924e-05 -6.39661e-02 7.11918e-04 -9.75467e-05 + 1.17979e-03 +Row 19 + 7.68024e-01 1.19285e-04 5.38466e-04 3.73100e-04 8.94455e-04 1.92126e-04 3.43987e-07 -3.92232e-02 +Row 20 + 7.68027e-01 3.25302e-04 -3.10059e-04 5.39006e-04 -3.92242e-02 5.37339e-04 1.92200e-04 +Row 21 + 7.68023e-01 -6.53686e-05 -3.92227e-02 5.38768e-04 -1.13042e-04 8.94297e-04 +Row 22 + 1.45534e+00 1.53190e-04 6.95610e-04 -3.65605e-06 -8.39995e-04 +Row 23 + 1.40881e+00 4.37693e-04 2.65290e-04 7.22287e-04 +Row 24 + 1.40880e+00 -1.20483e-03 1.65486e-04 +Row 25 + 1.45534e+00 -1.93978e-08 +Row 26 + 1.40881e+00 diff --git a/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/result.ref b/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/result.ref new file mode 100644 index 0000000000..7b1358e3e3 --- /dev/null +++ b/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/result.ref @@ -0,0 +1,7 @@ +etotref -196.630444282306 +etotperatomref -98.3152221412 +totalforceref 0.717564 +totalstressref 1315.352481 +CompareH_pass 0 +CompareS_pass 0 +totaltimeref 0.90 diff --git a/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/sk_nao.txt.ref b/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/sk_nao.txt.ref new file mode 100644 index 0000000000..8d0685c854 --- /dev/null +++ b/tests/02_NAO_Gamma/005_NO_GO_MD_OHK/sk_nao.txt.ref @@ -0,0 +1,178 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/sk_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + 1.48885e+00 1.85694e+00 1.50298e-17 6.88468e-18 -2.36492e-17 1.00384e-16 4.09828e-17 -4.11861e-17 + 1.20440e-17 -2.12775e-18 9.48677e-20 -3.03848e-17 -6.11897e-18 1.23629e+00 2.25011e+00 1.25400e-16 + 3.90696e-17 -4.36222e-18 -1.23450e-16 -6.48649e-17 6.48861e-17 5.65987e-17 7.06637e-19 8.47965e-18 + 4.95197e-17 2.35825e-17 +Row 2 + 4.31653e+00 7.86589e-17 1.08420e-17 -3.96276e-17 -3.55618e-17 -5.20417e-17 -8.58688e-17 3.03983e-17 + -3.57787e-18 -4.77049e-18 -8.45678e-17 1.40946e-18 2.25011e+00 3.67664e+00 -5.28278e-17 -1.00353e-16 + 1.02837e-16 -2.69262e-16 3.84011e-17 1.30917e-17 -7.82523e-17 1.54296e-17 -3.71339e-18 -1.51241e-16 + -1.15264e-17 +Row 3 + 5.44536e-01 1.10589e-17 -1.03812e-17 5.83149e-01 -2.42861e-17 2.85145e-17 4.43845e-19 7.04731e-19 + -2.53432e-18 5.42101e-19 -5.42101e-20 -1.25400e-16 5.28278e-17 -1.24841e-01 -5.58517e-17 1.37660e-17 + -1.17065e-01 -2.78979e-17 -4.05898e-17 -3.03102e-17 -2.33866e-18 5.04832e-19 -7.17437e-19 -4.82752e-01 +Row 4 + 5.44536e-01 -6.50521e-18 -2.42861e-17 5.83149e-01 8.67362e-19 4.87891e-19 6.48488e-18 -5.42101e-20 + -4.60786e-19 5.83606e-18 -3.90696e-17 1.00353e-16 -5.58517e-17 -1.24841e-01 6.18385e-17 -2.78979e-17 + -1.17065e-01 4.95379e-17 2.29461e-18 1.69457e-17 -4.82752e-01 -1.11861e-17 -1.63689e-18 +Row 5 + 5.44536e-01 2.85145e-17 8.67362e-19 5.83149e-01 -4.84503e-19 -5.42101e-20 1.80249e-18 -1.35525e-18 + -2.48011e-18 4.36222e-18 -1.02837e-16 1.37660e-17 6.18385e-17 -1.24841e-01 -4.05898e-17 4.95379e-17 + -1.17065e-01 4.80776e-18 -4.82752e-01 -8.40765e-18 -1.76522e-17 -8.61433e-19 +Row 6 + 6.96122e-01 4.68375e-17 -5.29091e-17 8.34836e-18 3.14419e-18 -9.05309e-18 2.62919e-18 0.00000e+00 + 1.23450e-16 2.69262e-16 -1.17065e-01 -2.78979e-17 -4.05898e-17 -6.46175e-02 2.56414e-17 1.96241e-17 + 1.85941e-17 -1.39252e-17 -1.35796e-17 1.20617e-18 -4.19177e-01 +Row 7 + 6.96122e-01 -7.80626e-18 1.30104e-18 3.19840e-18 0.00000e+00 -2.57498e-18 5.48877e-18 6.48649e-17 + -3.84011e-17 -2.78979e-17 -1.17065e-01 4.95379e-17 2.56414e-17 -6.46175e-02 -1.10318e-17 6.36969e-19 + -1.88685e-17 -4.19177e-01 7.40053e-18 1.81858e-17 +Row 8 + 6.96122e-01 -3.21195e-18 0.00000e+00 -1.62630e-18 -4.44523e-18 -2.91379e-18 -6.48861e-17 -1.30917e-17 + -4.05898e-17 4.95379e-17 -1.17065e-01 1.96241e-17 -1.10318e-17 -6.46175e-02 3.91668e-18 -4.19177e-01 + -1.15332e-17 2.62648e-17 -1.16467e-17 +Row 9 + 9.91168e-01 -2.23617e-18 2.94429e-18 4.32444e-17 1.48739e-18 5.65987e-17 -7.82523e-17 3.03102e-17 + -2.29461e-18 -4.80776e-18 -1.85941e-17 -6.36969e-19 -3.91668e-18 -5.10937e-01 -7.31921e-18 6.99310e-18 + -6.37714e-17 -1.47968e-17 +Row 10 + 1.13701e+00 -2.29038e-18 -2.98156e-19 -3.06626e-19 7.06637e-19 1.54296e-17 2.33866e-18 -1.69457e-17 + 4.82752e-01 1.39252e-17 1.88685e-17 4.19177e-01 -7.31921e-18 1.32237e-01 1.45266e-17 1.31640e-17 + -5.73399e-18 +Row 11 + 1.13701e+00 -9.04631e-19 -2.79182e-18 8.47965e-18 -3.71339e-18 -5.04832e-19 4.82752e-01 8.40765e-18 + 1.35796e-17 4.19177e-01 1.15332e-17 6.99310e-18 1.45266e-17 1.32237e-01 1.70262e-17 -6.55604e-19 +Row 12 + 9.91168e-01 2.16091e-20 4.95197e-17 -1.51241e-16 7.17437e-19 1.11861e-17 1.76522e-17 -1.20617e-18 + -7.40053e-18 -2.62648e-17 -6.37714e-17 1.31640e-17 1.70262e-17 -5.10937e-01 -2.84074e-19 +Row 13 + 1.13701e+00 2.35825e-17 -1.15264e-17 4.82752e-01 1.63689e-18 8.61433e-19 4.19177e-01 -1.81858e-17 + 1.16467e-17 -1.47968e-17 -5.73399e-18 -6.55604e-19 -2.84074e-19 1.32237e-01 +Row 14 + 1.48885e+00 1.85694e+00 1.50298e-17 6.88468e-18 -2.36492e-17 1.00384e-16 4.09828e-17 -4.11861e-17 + 1.20440e-17 -2.12775e-18 9.48677e-20 -3.03848e-17 -6.11897e-18 +Row 15 + 4.31653e+00 7.86589e-17 1.08420e-17 -3.96276e-17 -3.55618e-17 -5.20417e-17 -8.58688e-17 3.03983e-17 + -3.57787e-18 -4.77049e-18 -8.45678e-17 1.40946e-18 +Row 16 + 5.44536e-01 1.10589e-17 -1.03812e-17 5.83149e-01 -2.42861e-17 2.85145e-17 4.43845e-19 7.04731e-19 + -2.53432e-18 5.42101e-19 -5.42101e-20 +Row 17 + 5.44536e-01 -6.50521e-18 -2.42861e-17 5.83149e-01 8.67362e-19 4.87891e-19 6.48488e-18 -5.42101e-20 + -4.60786e-19 5.83606e-18 +Row 18 + 5.44536e-01 2.85145e-17 8.67362e-19 5.83149e-01 -4.84503e-19 -5.42101e-20 1.80249e-18 -1.35525e-18 + -2.48011e-18 +Row 19 + 6.96122e-01 4.68375e-17 -5.29091e-17 8.34836e-18 3.14419e-18 -9.05309e-18 2.62919e-18 0.00000e+00 +Row 20 + 6.96122e-01 -7.80626e-18 1.30104e-18 3.19840e-18 0.00000e+00 -2.57498e-18 5.48877e-18 +Row 21 + 6.96122e-01 -3.21195e-18 0.00000e+00 -1.62630e-18 -4.44523e-18 -2.91379e-18 +Row 22 + 9.91168e-01 -2.23617e-18 2.94429e-18 4.32444e-17 1.48739e-18 +Row 23 + 1.13701e+00 -2.29038e-18 -2.98156e-19 -3.06626e-19 +Row 24 + 1.13701e+00 -9.04631e-19 -2.79182e-18 +Row 25 + 9.91168e-01 2.16091e-20 +Row 26 + 1.13701e+00 +#------------------------------------------------------------------------ +# ionic step 2 +# filename OUT.autotest/sk_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + 1.48885e+00 1.85694e+00 -1.34848e-17 1.16281e-16 3.25125e-17 -6.35478e-17 -2.30501e-16 1.21566e-17 + 5.10507e-18 -5.48877e-18 4.06576e-20 -4.59837e-17 -9.75104e-18 1.23629e+00 2.25011e+00 3.55178e-04 + 5.90487e-04 1.24492e-04 4.28563e-04 7.11768e-04 1.51827e-04 -1.15453e-06 5.48551e-04 2.46587e-03 + 5.95842e-06 1.49023e-03 +Row 2 + 4.31653e+00 -3.84350e-17 5.42101e-17 2.28225e-17 -1.47451e-17 9.71445e-17 7.80626e-18 9.90690e-18 + -4.55365e-18 -4.87891e-18 -1.05927e-16 -5.74627e-18 2.25011e+00 3.67665e+00 -4.79392e-04 -7.97562e-04 + -1.66751e-04 -5.39661e-04 -8.97294e-04 -1.88913e-04 1.57125e-06 -8.79829e-04 -3.96682e-03 -8.10910e-06 + -2.39668e-03 +Row 3 + 5.44536e-01 -8.45678e-18 -9.08019e-18 5.83149e-01 -3.81639e-17 2.24430e-17 -5.04832e-19 7.66531e-17 + -2.58853e-18 5.96311e-19 -4.98733e-18 -3.55178e-04 4.79392e-04 -1.24838e-01 5.48802e-04 2.46888e-03 + -1.17064e-01 4.87005e-04 2.19831e-03 -1.79153e-03 4.75245e-04 1.17592e-04 -1.72936e-08 -4.82737e-01 +Row 4 + 5.44536e-01 -1.77809e-17 -3.81639e-17 5.83149e-01 7.63278e-17 4.54823e-17 6.48488e-18 -4.87891e-18 + -2.16840e-17 -8.00107e-18 -5.90487e-04 7.97562e-04 5.48802e-04 -1.24830e-01 1.49195e-03 4.87005e-04 + -1.17055e-01 1.32804e-03 1.48203e-03 2.90121e-04 -4.82737e-01 -2.56697e-03 1.17583e-04 +Row 5 + 5.44536e-01 2.24430e-17 7.63278e-17 5.83149e-01 -6.20028e-19 -4.87891e-18 1.74828e-18 -1.32815e-18 + -1.26716e-17 -1.24492e-04 1.66751e-04 2.46888e-03 1.49195e-03 -1.24842e-01 2.19831e-03 1.32804e-03 + -1.17068e-01 3.30013e-04 -4.82737e-01 2.90156e-04 5.71591e-04 4.75264e-04 +Row 6 + 6.96122e-01 3.29597e-17 -1.12757e-17 -5.42101e-18 1.96241e-17 4.82470e-18 2.79182e-18 7.37257e-18 + -4.28563e-04 5.39661e-04 -1.17064e-01 4.87005e-04 2.19831e-03 -6.46215e-02 4.09418e-04 1.86883e-03 + -1.79747e-03 1.26928e-03 2.91200e-04 -4.08999e-08 -4.19167e-01 +Row 7 + 6.96122e-01 -6.33174e-17 -1.09288e-16 -2.98156e-18 7.37257e-18 6.13929e-17 4.43168e-18 -7.11768e-04 + 8.97294e-04 4.87005e-04 -1.17055e-01 1.32804e-03 4.09418e-04 -6.46140e-02 1.12787e-03 1.48692e-03 + 7.69230e-04 -4.19167e-01 -2.57547e-03 2.91180e-04 +Row 8 + 6.96122e-01 4.16063e-18 7.37257e-18 -1.19262e-18 -4.49944e-18 1.00953e-16 -1.51827e-04 1.88913e-04 + 2.19831e-03 1.32804e-03 -1.17068e-01 1.86883e-03 1.12787e-03 -6.46252e-02 3.31113e-04 -4.19167e-01 + 7.69312e-04 5.73485e-04 1.26932e-03 +Row 9 + 9.91168e-01 -6.77626e-19 2.86975e-18 9.53674e-17 4.83486e-18 -1.15453e-06 1.57125e-06 1.79153e-03 + -1.48203e-03 -3.30013e-04 1.79747e-03 -1.48692e-03 -3.31113e-04 -5.10922e-01 -6.05774e-06 -1.33026e-06 + -1.76263e-05 4.43587e-06 +Row 10 + 1.13701e+00 4.91957e-18 -7.44373e-18 3.62361e-18 5.48551e-04 -8.79829e-04 -4.75245e-04 -2.90121e-04 + 4.82737e-01 -1.26928e-03 -7.69230e-04 4.19167e-01 -6.05774e-06 1.32221e-01 2.17786e-03 -1.04671e-05 + 3.60087e-03 +Row 11 + 1.13701e+00 -6.94567e-19 5.61075e-18 2.46587e-03 -3.96682e-03 -1.17592e-04 4.82737e-01 -2.90156e-04 + -2.91200e-04 4.19167e-01 -7.69312e-04 -1.33026e-06 2.17786e-03 1.32237e-01 2.36050e-06 8.08017e-04 +Row 12 + 9.91168e-01 -3.10902e-18 5.95842e-06 -8.10910e-06 1.72936e-08 2.56697e-03 -5.71591e-04 4.08999e-08 + 2.57547e-03 -5.73485e-04 -1.76263e-05 -1.04671e-05 2.36050e-06 -5.10916e-01 5.13066e-08 +Row 13 + 1.13701e+00 1.49023e-03 -2.39668e-03 4.82737e-01 -1.17583e-04 -4.75264e-04 4.19167e-01 -2.91180e-04 + -1.26932e-03 4.43587e-06 3.60087e-03 8.08017e-04 5.13066e-08 1.32226e-01 +Row 14 + 1.48885e+00 1.85694e+00 -7.76763e-17 7.57315e-17 1.30158e-16 1.06442e-16 -2.34621e-16 -1.83013e-16 + -1.86686e-18 -5.54298e-18 -3.57787e-18 -3.55652e-17 -4.91957e-18 +Row 15 + 4.31653e+00 -8.65735e-17 6.07153e-17 8.14236e-17 3.36753e-16 1.28370e-16 -9.10730e-18 -8.60314e-17 + -4.33681e-18 -1.30104e-17 -9.74156e-17 -4.28260e-18 +Row 16 + 5.44536e-01 -5.20417e-18 -2.11962e-17 5.83149e-01 -1.99493e-17 7.28042e-17 -1.60564e-17 6.97142e-17 + 6.62041e-17 -2.16840e-19 -1.23057e-17 +Row 17 + 5.44536e-01 -2.14672e-17 -1.99493e-17 5.83149e-01 3.03577e-18 4.19044e-17 8.00277e-18 -1.22515e-17 + -3.68968e-17 3.90889e-17 +Row 18 + 5.44536e-01 7.28042e-17 3.03577e-18 5.83149e-01 4.06677e-17 -1.22515e-17 4.78404e-18 6.81014e-17 + 8.09763e-18 +Row 19 + 6.96122e-01 6.07153e-17 -8.17488e-17 6.91721e-17 1.14925e-17 1.34441e-17 7.15573e-18 1.85399e-17 +Row 20 + 6.96122e-01 -7.89299e-17 -1.08529e-16 -4.14707e-18 1.83230e-17 7.34276e-17 2.51467e-17 +Row 21 + 6.96122e-01 -9.89199e-17 1.83230e-17 -1.82688e-17 -1.26039e-16 1.00899e-16 +Row 22 + 9.91168e-01 7.99599e-19 3.28310e-18 3.65647e-17 1.79300e-17 +Row 23 + 1.13701e+00 1.34034e-17 -7.09475e-18 7.10999e-18 +Row 24 + 1.13701e+00 2.66307e-18 4.17418e-18 +Row 25 + 9.91168e-01 1.79660e-21 +Row 26 + 1.13701e+00 diff --git a/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/INPUT b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/INPUT new file mode 100644 index 0000000000..8b0691ca96 --- /dev/null +++ b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/INPUT @@ -0,0 +1,33 @@ +INPUT_PARAMETERS +#Parameters (General) +suffix autotest +nbands 8 +calculation md +basis_type lcao +gamma_only 1 +nspin 2 +out_mat_hs 1 5 + +#Parameters (Accuracy) +ecutwfc 5 +scf_nmax 50 +scf_thr 1.0e-8 + +cal_stress 1 +stress_thr 1e-6 +cal_force 1 +force_thr_ev 1.0e-3 + +mixing_type broyden +mixing_beta 0.7 + +md_nstep 2 +md_tchain 4 +md_tfirst 10 +md_tfreq 0.1 +init_vel 1 + +chg_extrap first-order + +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB diff --git a/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/STRU b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/STRU new file mode 100644 index 0000000000..6fc39c63ca --- /dev/null +++ b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 1 Si_ONCV_PBE-1.0.upf + +NUMERICAL_ORBITAL +Si_gga_8au_60Ry_2s2p1d.orb + +LATTICE_CONSTANT +10.2 + +LATTICE_VECTORS +0 0.5 0.5 #latvec1 +0.5 0 0.5 #latvec2 +0.5 0.5 0 #latvec3 + +ATOMIC_POSITIONS +Cartesian + +Si #label +0 #magnetism +2 #number of atoms +0 0 0 m 1 1 1 v 0.000135711648533 3.02182240507e-05 -8.2024241958e-05 +0.25 0.25 0.25 m 1 1 1 v -0.000135711648533 -3.02182240507e-05 8.2024241958e-05 diff --git a/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/hks1_nao.txt.ref b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/hks1_nao.txt.ref new file mode 100644 index 0000000000..caf41031ba --- /dev/null +++ b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/hks1_nao.txt.ref @@ -0,0 +1,178 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/hks1_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + -3.31964e-01 -7.79031e-01 7.49401e-16 -1.38778e-16 -4.71845e-16 8.32667e-16 -1.11022e-15 3.88578e-16 + 5.36551e-15 9.29812e-16 1.80411e-16 5.62746e-15 6.66134e-16 -5.55603e-01 -4.17914e-01 3.64292e-16 + -2.56739e-16 -1.35308e-16 -4.33681e-18 -1.76074e-16 -7.63278e-16 -3.24090e-15 3.33067e-16 4.57967e-16 + -2.81710e-15 1.38778e-17 +Row 2 + 8.97102e-01 2.63678e-16 -4.16334e-17 -6.24500e-16 8.32667e-16 -6.38378e-16 -5.27356e-16 4.40430e-15 + 1.66533e-16 1.87350e-16 4.36975e-15 2.22045e-16 -4.17914e-01 9.78300e-02 9.31113e-16 -1.14188e-15 + -4.11997e-16 4.27436e-15 -2.68188e-15 -1.66533e-15 -6.99030e-15 9.71445e-17 -1.80411e-16 -6.13812e-15 + -9.22873e-16 +Row 3 + 3.88003e-01 1.04083e-16 1.83881e-16 4.20473e-01 -2.08167e-17 1.04083e-16 3.88578e-16 1.94289e-16 + 3.33067e-16 -6.09844e-17 6.39674e-02 -2.08167e-16 3.05311e-16 -4.12889e-02 -4.68375e-17 -1.26635e-16 + -1.32845e-02 3.12250e-17 8.67362e-18 3.92048e-16 1.73472e-16 -9.71445e-17 1.22848e-16 -1.77608e-01 +Row 4 + 3.88003e-01 -1.28370e-16 -2.28983e-16 4.20473e-01 0.00000e+00 -7.91034e-16 -3.88578e-16 6.39674e-02 + 3.05311e-16 8.04912e-16 -1.66533e-16 -6.66134e-16 3.12250e-17 -4.12889e-02 2.94903e-17 1.82146e-16 + -1.32845e-02 -1.31839e-16 2.11636e-16 7.63278e-17 -1.77608e-01 1.00614e-16 3.46945e-18 +Row 5 + 3.88003e-01 7.63278e-17 -2.08167e-16 4.20473e-01 -5.41234e-16 6.39674e-02 3.33067e-16 0.00000e+00 + 7.21645e-16 -2.91434e-16 4.44089e-16 1.78677e-16 7.11237e-17 -4.12889e-02 1.37043e-16 8.67362e-18 + -1.32845e-02 4.16334e-17 -1.77608e-01 5.89806e-17 -1.04083e-16 1.04083e-17 +Row 6 + 7.68029e-01 3.46945e-17 6.93889e-18 -8.32667e-16 -1.66533e-16 4.44089e-16 -4.79955e-17 3.92224e-02 + 2.08167e-16 6.10623e-16 -1.32845e-02 -1.21431e-16 -6.24500e-17 1.33549e-01 1.74340e-16 -2.35922e-16 + 1.04083e-16 6.93889e-18 8.67362e-17 8.82915e-17 -3.73234e-02 +Row 7 + 7.68029e-01 -2.91434e-16 -8.88178e-16 5.55112e-17 3.92224e-02 1.11022e-15 1.94289e-16 -1.94289e-16 + -9.43690e-16 4.51028e-17 -1.32845e-02 -7.97973e-17 1.83881e-16 1.33549e-01 -6.33174e-17 1.56125e-16 + 7.28584e-17 -3.73234e-02 1.63064e-16 -5.89806e-17 +Row 8 + 7.68029e-01 -2.49800e-16 3.92224e-02 1.66533e-16 8.88178e-16 7.49401e-16 8.32667e-17 -4.44089e-16 + 1.97758e-16 -6.93889e-17 -1.32845e-02 1.17094e-16 4.85723e-17 1.33549e-01 -3.46945e-18 -3.73234e-02 + 1.14492e-16 2.08167e-17 3.81639e-17 +Row 9 + 1.45535e+00 4.16334e-17 6.24500e-17 2.11263e-15 6.38378e-16 3.59963e-15 6.71948e-15 2.42861e-17 + 1.75207e-16 5.89806e-17 1.70003e-16 2.34188e-16 7.02563e-17 -2.96562e-01 -1.17961e-16 2.98372e-16 + 2.28410e-17 2.49800e-16 +Row 10 + 1.40881e+00 -3.66027e-16 -3.60822e-16 2.42861e-16 3.40006e-16 3.33067e-16 1.04083e-16 0.00000e+00 + 1.77608e-01 1.73472e-18 1.73472e-18 3.73234e-02 -9.80119e-17 1.12412e-01 -2.49800e-16 -2.15973e-16 + 4.57967e-16 +Row 11 + 1.40881e+00 1.38778e-17 4.87457e-16 -2.81025e-16 1.94289e-16 1.73472e-17 1.77608e-01 6.93889e-18 + -2.60209e-17 3.73234e-02 9.10730e-17 -1.17094e-16 -1.66533e-16 1.12412e-01 1.83013e-16 -2.77556e-16 +Row 12 + 1.45535e+00 -2.77862e-18 3.47608e-15 6.79577e-15 3.11462e-17 1.28370e-16 -3.81639e-17 7.33030e-17 + 1.78677e-16 -3.29597e-16 -9.95292e-18 1.11022e-16 -6.93889e-17 -2.96562e-01 6.51102e-17 +Row 13 + 1.40881e+00 5.16948e-16 9.71445e-17 1.77608e-01 2.77556e-17 -6.24500e-17 3.73234e-02 -3.55618e-17 + 7.02563e-17 1.39645e-16 -5.48173e-16 2.42861e-16 -4.85770e-17 1.12412e-01 +Row 14 + -3.31964e-01 -7.79031e-01 -2.05239e-16 4.49456e-16 5.50992e-16 -4.30211e-16 -1.66880e-15 -1.64452e-15 + -4.70639e-15 2.08167e-16 3.19189e-16 -4.59482e-15 -7.21645e-16 +Row 15 + 8.97102e-01 -5.03070e-16 1.00614e-16 1.28370e-16 9.72313e-16 -2.22912e-16 -2.48065e-16 -4.16214e-15 + 6.80012e-16 5.13478e-16 -3.88083e-15 -4.02456e-16 +Row 16 + 3.88003e-01 -1.68268e-16 -1.40513e-16 4.20473e-01 -1.56125e-17 3.46945e-18 1.55258e-16 -5.88939e-16 + -4.68375e-17 -1.56712e-17 -6.39674e-02 +Row 17 + 3.88003e-01 1.02349e-16 -5.20417e-18 4.20473e-01 2.02963e-16 -8.20091e-16 -9.18536e-16 -6.39674e-02 + -4.02456e-16 7.27716e-16 +Row 18 + 3.88003e-01 -1.47451e-16 2.70617e-16 4.20473e-01 -7.09936e-16 -6.39674e-02 -4.41487e-16 3.61690e-16 + 8.67362e-16 +Row 19 + 7.68029e-01 5.37764e-17 -1.19696e-16 -1.45804e-15 5.86337e-16 1.73472e-16 2.52742e-17 -3.92224e-02 +Row 20 + 7.68029e-01 2.98372e-16 -1.08247e-15 1.68268e-16 -3.92224e-02 4.98733e-17 -3.50414e-16 +Row 21 + 7.68029e-01 4.68375e-17 -3.92224e-02 3.78170e-16 -4.49727e-16 1.59595e-16 +Row 22 + 1.45535e+00 -3.12250e-17 6.24500e-17 -2.09684e-15 -9.33281e-16 +Row 23 + 1.40881e+00 6.93889e-18 -3.85109e-16 -3.05311e-16 +Row 24 + 1.40881e+00 -1.21431e-16 -3.08781e-16 +Row 25 + 1.45535e+00 -8.85787e-17 +Row 26 + 1.40881e+00 +#------------------------------------------------------------------------ +# ionic step 2 +# filename OUT.autotest/hks1_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + -3.31972e-01 -7.79028e-01 7.14816e-04 1.18601e-03 2.55992e-04 6.52117e-04 1.08206e-03 2.33033e-04 + 1.28836e-06 -4.54117e-04 -2.04375e-03 -6.71035e-06 -1.23501e-03 -5.55607e-01 -4.17914e-01 -2.74459e-04 + -4.55894e-04 -9.72065e-05 -3.70140e-04 -6.13947e-04 -1.32724e-04 3.16148e-07 -1.41443e-04 -6.41178e-04 + -1.66935e-06 -3.87211e-04 +Row 2 + 8.97124e-01 4.13300e-04 6.86167e-04 1.47246e-04 7.09641e-04 1.17531e-03 2.58553e-04 1.75433e-06 + -6.22688e-04 -2.76647e-03 -9.22457e-06 -1.67368e-03 -4.17914e-01 9.78582e-02 -8.06321e-04 -1.33802e-03 + -2.88550e-04 -9.84118e-04 -1.63254e-03 -3.52887e-04 2.08192e-06 -1.13650e-03 -5.12933e-03 -1.07334e-05 + -3.09869e-03 +Row 3 + 3.87997e-01 1.40062e-04 6.34089e-04 4.20466e-01 1.25482e-04 5.71666e-04 -3.25354e-04 -1.17980e-03 + -2.58013e-04 9.05126e-08 6.39657e-02 2.74459e-04 8.06321e-04 -4.12849e-02 8.86212e-05 3.86770e-04 + -1.32862e-02 -1.30746e-05 -5.42741e-05 -7.55665e-04 -2.76819e-05 -1.60986e-06 7.93547e-09 -1.77600e-01 +Row 4 + 3.88000e-01 3.82956e-04 1.25448e-04 4.20468e-01 3.45051e-04 2.70808e-04 -7.11923e-04 6.39647e-02 + -4.68990e-04 -2.58010e-04 4.55894e-04 1.33802e-03 8.86212e-05 -4.12828e-02 2.34402e-04 -1.30004e-05 + -1.32865e-02 -3.30227e-05 6.24888e-04 -1.55625e-05 -1.77599e-01 -1.08234e-03 -1.59498e-06 +Row 5 + 3.87995e-01 5.71685e-04 3.45096e-04 4.20465e-01 5.62924e-05 6.39661e-02 -7.11918e-04 9.75467e-05 + -1.17979e-03 9.72065e-05 2.88550e-04 3.86770e-04 2.34402e-04 -4.12859e-02 -5.43036e-05 -3.31051e-05 + -1.32860e-02 1.39674e-04 -1.77601e-01 -1.56254e-05 2.41914e-04 -2.77144e-05 +Row 6 + 7.68024e-01 1.19285e-04 5.38466e-04 -3.73100e-04 -8.94456e-04 -1.92126e-04 -3.43987e-07 3.92231e-02 + 3.70140e-04 9.84118e-04 -1.32862e-02 -1.30004e-05 -5.43036e-05 1.33536e-01 -1.55736e-04 -6.60403e-04 + -2.46721e-04 1.23777e-03 2.77104e-04 -1.10668e-07 -3.73205e-02 +Row 7 + 7.68027e-01 3.25302e-04 3.10059e-04 -5.39006e-04 3.92242e-02 -5.37339e-04 -1.92200e-04 6.13947e-04 + 1.63254e-03 -1.30746e-05 -1.32865e-02 -3.31051e-05 -1.55736e-04 1.33532e-01 -4.01356e-04 2.03797e-04 + 7.48369e-04 -3.73229e-02 -3.53085e-04 2.76976e-04 +Row 8 + 7.68023e-01 6.53686e-05 3.92226e-02 -5.38769e-04 1.13042e-04 -8.94298e-04 1.32724e-04 3.52887e-04 + -5.42741e-05 -3.30227e-05 -1.32860e-02 -6.60403e-04 -4.01356e-04 1.33538e-01 4.59822e-05 -3.73193e-02 + 7.48582e-04 7.95927e-05 1.23788e-03 +Row 9 + 1.45534e+00 1.53190e-04 6.95610e-04 -3.65601e-06 -8.39995e-04 3.16148e-07 2.08192e-06 7.55665e-04 + -6.24888e-04 -1.39674e-04 2.46721e-04 -2.03797e-04 -4.59822e-05 -2.96551e-01 -5.05300e-05 -2.09671e-04 + -1.31286e-05 2.55348e-04 +Row 10 + 1.40881e+00 4.37693e-04 2.65290e-04 7.22287e-04 -1.41443e-04 -1.13650e-03 2.76819e-05 1.55625e-05 + 1.77601e-01 -1.23777e-03 -7.48369e-04 3.73193e-02 -5.05300e-05 1.12402e-01 8.72776e-04 -8.75043e-05 + 1.44211e-03 +Row 11 + 1.40880e+00 -1.20483e-03 1.65486e-04 -6.41178e-04 -5.12933e-03 1.60986e-06 1.77599e-01 1.56254e-05 + -2.77104e-04 3.73229e-02 -7.48582e-04 -2.09671e-04 8.72776e-04 1.12414e-01 3.63226e-04 3.26091e-04 +Row 12 + 1.45534e+00 -1.93980e-08 -1.66935e-06 -1.07334e-05 -7.93547e-09 1.08234e-03 -2.41914e-04 1.10668e-07 + 3.53085e-04 -7.95927e-05 -1.31286e-05 -8.75043e-05 3.63226e-04 -2.96546e-01 6.31527e-08 +Row 13 + 1.40881e+00 -3.87211e-04 -3.09869e-03 1.77600e-01 1.59498e-06 2.77144e-05 3.73205e-02 -2.76976e-04 + -1.23788e-03 2.55348e-04 1.44211e-03 3.26091e-04 6.31527e-08 1.12406e-01 +Row 14 + -3.31972e-01 -7.79028e-01 -7.14816e-04 -1.18601e-03 -2.55992e-04 -6.52117e-04 -1.08206e-03 -2.33033e-04 + 1.28836e-06 -4.54117e-04 -2.04375e-03 -6.71035e-06 -1.23501e-03 +Row 15 + 8.97124e-01 -4.13300e-04 -6.86167e-04 -1.47246e-04 -7.09641e-04 -1.17531e-03 -2.58553e-04 1.75433e-06 + -6.22688e-04 -2.76647e-03 -9.22457e-06 -1.67368e-03 +Row 16 + 3.87997e-01 1.40062e-04 6.34089e-04 4.20466e-01 1.25482e-04 5.71666e-04 3.25354e-04 1.17980e-03 + 2.58013e-04 -9.05126e-08 -6.39657e-02 +Row 17 + 3.88000e-01 3.82956e-04 1.25448e-04 4.20468e-01 3.45051e-04 -2.70808e-04 7.11923e-04 -6.39647e-02 + 4.68990e-04 2.58010e-04 +Row 18 + 3.87995e-01 5.71685e-04 3.45096e-04 4.20465e-01 -5.62924e-05 -6.39661e-02 7.11918e-04 -9.75467e-05 + 1.17979e-03 +Row 19 + 7.68024e-01 1.19285e-04 5.38466e-04 3.73100e-04 8.94456e-04 1.92126e-04 3.43987e-07 -3.92231e-02 +Row 20 + 7.68027e-01 3.25302e-04 -3.10059e-04 5.39006e-04 -3.92242e-02 5.37339e-04 1.92200e-04 +Row 21 + 7.68023e-01 -6.53686e-05 -3.92226e-02 5.38769e-04 -1.13042e-04 8.94298e-04 +Row 22 + 1.45534e+00 1.53190e-04 6.95610e-04 -3.65601e-06 -8.39995e-04 +Row 23 + 1.40881e+00 4.37693e-04 2.65290e-04 7.22287e-04 +Row 24 + 1.40880e+00 -1.20483e-03 1.65486e-04 +Row 25 + 1.45534e+00 -1.93980e-08 +Row 26 + 1.40881e+00 diff --git a/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/hks2_nao.txt.ref b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/hks2_nao.txt.ref new file mode 100644 index 0000000000..a61ec33508 --- /dev/null +++ b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/hks2_nao.txt.ref @@ -0,0 +1,178 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/hks2_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + -3.31964e-01 -7.79031e-01 -8.32667e-17 1.66533e-16 7.49401e-16 -3.88578e-16 6.10623e-16 -2.22045e-16 + -3.61572e-15 6.10623e-16 7.63278e-16 -5.94430e-15 -7.07767e-16 -5.55603e-01 -4.17914e-01 1.73472e-16 + -9.02056e-17 -2.18575e-16 5.27356e-16 1.95156e-16 -1.43115e-16 2.49215e-15 -3.33067e-16 1.52656e-16 + 4.65652e-15 1.38778e-17 +Row 2 + 8.97102e-01 -6.66134e-16 4.44089e-16 2.22045e-16 -2.22045e-16 5.55112e-17 -3.33067e-16 -3.03169e-15 + -4.78784e-16 3.40006e-16 -5.08615e-15 1.24900e-16 -4.17914e-01 9.78300e-02 -6.60496e-16 1.24336e-15 + 1.32056e-15 -1.01308e-15 9.95731e-16 -1.63064e-16 5.05095e-15 2.63678e-16 -1.31839e-16 8.90029e-15 + 3.74700e-16 +Row 3 + 3.88003e-01 -1.73472e-17 -3.46945e-18 4.20473e-01 4.02456e-16 2.08167e-16 8.32667e-17 2.22045e-16 + 4.99600e-16 1.60750e-16 6.39674e-02 3.05311e-16 -8.32667e-16 -4.12889e-02 2.22045e-16 1.90820e-16 + -1.32845e-02 1.43982e-16 2.41127e-16 -2.08167e-17 6.24500e-17 -2.46331e-16 -1.10038e-16 -1.77608e-01 +Row 4 + 3.88003e-01 -4.51028e-17 -1.80411e-16 4.20473e-01 2.49800e-16 5.41234e-16 3.88578e-16 6.39674e-02 + -2.22045e-16 -6.93889e-16 3.60822e-16 1.27676e-15 -8.67362e-18 -4.12889e-02 1.42247e-16 -1.25767e-16 + -1.32845e-02 -8.67362e-18 -3.45210e-16 -1.90820e-16 -1.77608e-01 5.55112e-17 -2.02963e-16 +Row 5 + 3.88003e-01 -4.85723e-17 5.82867e-16 4.20473e-01 1.38778e-17 6.39674e-02 -2.77556e-17 1.66533e-16 + -4.99600e-16 5.13478e-16 2.77556e-16 -1.80411e-16 3.29597e-17 -4.12889e-02 -2.73219e-16 -9.97466e-17 + -1.32845e-02 -1.30104e-16 -1.77608e-01 -8.84709e-17 7.97973e-17 1.16226e-16 +Row 6 + 7.68029e-01 8.32667e-17 1.24900e-16 1.66533e-16 2.77556e-17 -9.15934e-16 1.49227e-16 3.92224e-02 + -3.33067e-16 1.05471e-15 -1.32845e-02 1.83881e-16 3.22659e-16 1.33549e-01 -4.33681e-17 1.19696e-16 + -1.38778e-17 4.51028e-17 -3.60822e-16 -5.00242e-19 -3.73234e-02 +Row 7 + 7.68029e-01 2.84495e-16 2.49800e-16 1.11022e-16 3.92224e-02 -1.11022e-16 -4.71845e-16 5.13478e-16 + -2.77556e-16 -7.97973e-17 -1.32845e-02 4.16334e-17 2.94903e-17 1.33549e-01 3.64292e-17 -2.53270e-16 + -9.71445e-17 -3.73234e-02 -6.93889e-18 -2.70617e-16 +Row 8 + 7.68029e-01 3.05311e-16 3.92224e-02 1.94289e-16 -2.77556e-16 -1.74860e-15 2.49800e-16 6.66134e-16 + -5.89806e-17 -1.35308e-16 -1.32845e-02 -1.03216e-16 -1.18829e-16 1.33549e-01 -7.63278e-17 -3.73234e-02 + -8.67362e-17 2.08167e-17 5.55112e-17 +Row 9 + 1.45535e+00 7.63278e-17 -8.32667e-17 -2.49849e-15 1.52656e-16 -2.12639e-15 -4.72244e-15 -5.55112e-17 + -3.40006e-16 -1.04083e-16 -1.17094e-16 -2.50668e-16 -1.40079e-16 -2.96562e-01 -1.38778e-17 -1.94289e-16 + -3.11723e-17 2.77556e-17 +Row 10 + 1.40881e+00 1.56125e-16 -3.88578e-16 -1.09288e-16 1.38778e-17 3.33067e-16 1.38778e-17 -6.93889e-17 + 1.77608e-01 -9.97466e-17 -1.34441e-16 3.73234e-02 6.02816e-17 1.12412e-01 -1.73472e-16 1.51788e-16 + -6.17562e-16 +Row 11 + 1.40881e+00 -1.52656e-16 -1.12757e-16 6.24500e-17 4.16334e-16 -3.12250e-17 1.77608e-01 6.93889e-18 + 1.35308e-16 3.73234e-02 -1.21431e-16 2.99240e-17 9.71445e-17 1.12412e-01 -2.32453e-16 -2.49800e-16 +Row 12 + 1.45535e+00 -2.14484e-18 -4.00842e-15 -8.15517e-15 -6.61672e-17 1.45717e-16 -6.93889e-17 -4.91598e-17 + -6.67869e-17 1.30972e-16 -8.04433e-17 -1.38778e-17 2.08167e-16 -2.96562e-01 -8.27256e-17 +Row 13 + 1.40881e+00 3.92048e-16 -3.19189e-16 1.77608e-01 5.55112e-17 -5.55112e-17 3.73234e-02 1.83013e-16 + -2.60209e-17 2.53270e-16 6.93889e-16 6.80012e-16 1.16037e-16 1.12412e-01 +Row 14 + -3.31964e-01 -7.79031e-01 4.72333e-16 -5.62321e-16 -4.24953e-16 -2.79290e-16 9.36751e-17 -3.72966e-16 + 3.87623e-15 -2.22045e-16 -2.49800e-16 6.76799e-15 1.11022e-15 +Row 15 + 8.97102e-01 3.33067e-16 1.11022e-16 5.79398e-16 2.32453e-16 2.15106e-16 -3.82507e-16 3.26546e-15 + -7.49401e-16 -9.43690e-16 5.65082e-15 5.41234e-16 +Row 16 + 3.88003e-01 3.67761e-16 8.32667e-17 4.20473e-01 -1.04083e-16 7.45931e-17 7.23380e-16 -5.18682e-16 + -4.90059e-16 1.85559e-16 -6.39674e-02 +Row 17 + 3.88003e-01 -1.04083e-16 -1.94289e-16 4.20473e-01 -2.27249e-16 6.29705e-16 2.74086e-16 -6.39674e-02 + -3.20056e-16 -8.06646e-17 +Row 18 + 3.88003e-01 -8.50015e-17 5.55112e-17 4.20473e-01 3.80338e-16 -6.39674e-02 1.97758e-16 2.19443e-16 + -8.46545e-16 +Row 19 + 7.68029e-01 7.97973e-17 -8.32667e-17 2.53270e-16 5.03070e-16 9.54098e-17 2.15085e-16 -3.92224e-02 +Row 20 + 7.68029e-01 -7.33788e-16 8.69530e-16 -2.32453e-16 -3.92224e-02 -3.41741e-16 -4.83988e-16 +Row 21 + 7.68029e-01 6.40113e-16 -3.92224e-02 7.28584e-17 9.88792e-16 -1.18482e-15 +Row 22 + 1.45535e+00 2.61943e-16 3.10516e-16 2.59965e-15 2.70617e-16 +Row 23 + 1.40881e+00 -2.08167e-16 2.11636e-16 2.70617e-16 +Row 24 + 1.40881e+00 -2.77556e-17 5.27356e-16 +Row 25 + 1.45535e+00 3.04353e-17 +Row 26 + 1.40881e+00 +#------------------------------------------------------------------------ +# ionic step 2 +# filename OUT.autotest/hks2_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + -3.31972e-01 -7.79028e-01 7.14816e-04 1.18601e-03 2.55992e-04 6.52117e-04 1.08206e-03 2.33033e-04 + 1.28840e-06 -4.54117e-04 -2.04375e-03 -6.71053e-06 -1.23501e-03 -5.55607e-01 -4.17914e-01 -2.74459e-04 + -4.55894e-04 -9.72065e-05 -3.70140e-04 -6.13947e-04 -1.32724e-04 3.16157e-07 -1.41443e-04 -6.41178e-04 + -1.66939e-06 -3.87212e-04 +Row 2 + 8.97124e-01 4.13300e-04 6.86166e-04 1.47246e-04 7.09641e-04 1.17531e-03 2.58552e-04 1.75433e-06 + -6.22688e-04 -2.76647e-03 -9.22459e-06 -1.67368e-03 -4.17914e-01 9.78582e-02 -8.06321e-04 -1.33802e-03 + -2.88550e-04 -9.84118e-04 -1.63254e-03 -3.52887e-04 2.08197e-06 -1.13650e-03 -5.12933e-03 -1.07336e-05 + -3.09869e-03 +Row 3 + 3.87997e-01 1.40062e-04 6.34089e-04 4.20466e-01 1.25483e-04 5.71666e-04 -3.25354e-04 -1.17980e-03 + -2.58013e-04 9.05122e-08 6.39657e-02 2.74459e-04 8.06321e-04 -4.12849e-02 8.86212e-05 3.86770e-04 + -1.32862e-02 -1.30746e-05 -5.42741e-05 -7.55665e-04 -2.76819e-05 -1.60987e-06 7.93546e-09 -1.77600e-01 +Row 4 + 3.88000e-01 3.82956e-04 1.25448e-04 4.20468e-01 3.45051e-04 2.70808e-04 -7.11923e-04 6.39647e-02 + -4.68990e-04 -2.58010e-04 4.55894e-04 1.33802e-03 8.86212e-05 -4.12828e-02 2.34402e-04 -1.30004e-05 + -1.32865e-02 -3.30227e-05 6.24888e-04 -1.55625e-05 -1.77599e-01 -1.08234e-03 -1.59499e-06 +Row 5 + 3.87995e-01 5.71685e-04 3.45096e-04 4.20465e-01 5.62924e-05 6.39661e-02 -7.11918e-04 9.75468e-05 + -1.17979e-03 9.72065e-05 2.88550e-04 3.86770e-04 2.34402e-04 -4.12859e-02 -5.43036e-05 -3.31051e-05 + -1.32860e-02 1.39674e-04 -1.77601e-01 -1.56255e-05 2.41914e-04 -2.77144e-05 +Row 6 + 7.68024e-01 1.19285e-04 5.38466e-04 -3.73100e-04 -8.94456e-04 -1.92126e-04 -3.43987e-07 3.92231e-02 + 3.70140e-04 9.84118e-04 -1.32862e-02 -1.30004e-05 -5.43036e-05 1.33536e-01 -1.55736e-04 -6.60403e-04 + -2.46721e-04 1.23777e-03 2.77104e-04 -1.10668e-07 -3.73205e-02 +Row 7 + 7.68027e-01 3.25302e-04 3.10060e-04 -5.39006e-04 3.92242e-02 -5.37340e-04 -1.92200e-04 6.13947e-04 + 1.63254e-03 -1.30746e-05 -1.32865e-02 -3.31051e-05 -1.55736e-04 1.33532e-01 -4.01356e-04 2.03797e-04 + 7.48369e-04 -3.73229e-02 -3.53085e-04 2.76976e-04 +Row 8 + 7.68023e-01 6.53687e-05 3.92226e-02 -5.38769e-04 1.13042e-04 -8.94297e-04 1.32724e-04 3.52887e-04 + -5.42741e-05 -3.30227e-05 -1.32860e-02 -6.60403e-04 -4.01356e-04 1.33538e-01 4.59822e-05 -3.73193e-02 + 7.48582e-04 7.95927e-05 1.23788e-03 +Row 9 + 1.45534e+00 1.53190e-04 6.95610e-04 -3.65609e-06 -8.39995e-04 3.16157e-07 2.08197e-06 7.55665e-04 + -6.24888e-04 -1.39674e-04 2.46721e-04 -2.03797e-04 -4.59822e-05 -2.96551e-01 -5.05301e-05 -2.09671e-04 + -1.31286e-05 2.55348e-04 +Row 10 + 1.40881e+00 4.37693e-04 2.65290e-04 7.22287e-04 -1.41443e-04 -1.13650e-03 2.76819e-05 1.55625e-05 + 1.77601e-01 -1.23777e-03 -7.48369e-04 3.73193e-02 -5.05301e-05 1.12402e-01 8.72775e-04 -8.75043e-05 + 1.44211e-03 +Row 11 + 1.40880e+00 -1.20483e-03 1.65486e-04 -6.41178e-04 -5.12933e-03 1.60987e-06 1.77599e-01 1.56255e-05 + -2.77104e-04 3.73229e-02 -7.48582e-04 -2.09671e-04 8.72775e-04 1.12414e-01 3.63226e-04 3.26091e-04 +Row 12 + 1.45534e+00 -1.93977e-08 -1.66939e-06 -1.07336e-05 -7.93546e-09 1.08234e-03 -2.41914e-04 1.10668e-07 + 3.53085e-04 -7.95927e-05 -1.31286e-05 -8.75043e-05 3.63226e-04 -2.96546e-01 6.31525e-08 +Row 13 + 1.40881e+00 -3.87212e-04 -3.09869e-03 1.77600e-01 1.59499e-06 2.77144e-05 3.73205e-02 -2.76976e-04 + -1.23788e-03 2.55348e-04 1.44211e-03 3.26091e-04 6.31525e-08 1.12406e-01 +Row 14 + -3.31972e-01 -7.79028e-01 -7.14816e-04 -1.18601e-03 -2.55992e-04 -6.52117e-04 -1.08206e-03 -2.33033e-04 + 1.28840e-06 -4.54117e-04 -2.04375e-03 -6.71053e-06 -1.23501e-03 +Row 15 + 8.97124e-01 -4.13300e-04 -6.86166e-04 -1.47246e-04 -7.09641e-04 -1.17531e-03 -2.58552e-04 1.75433e-06 + -6.22688e-04 -2.76647e-03 -9.22459e-06 -1.67368e-03 +Row 16 + 3.87997e-01 1.40062e-04 6.34089e-04 4.20466e-01 1.25483e-04 5.71666e-04 3.25354e-04 1.17980e-03 + 2.58013e-04 -9.05122e-08 -6.39657e-02 +Row 17 + 3.88000e-01 3.82956e-04 1.25448e-04 4.20468e-01 3.45051e-04 -2.70808e-04 7.11923e-04 -6.39647e-02 + 4.68990e-04 2.58010e-04 +Row 18 + 3.87995e-01 5.71685e-04 3.45096e-04 4.20465e-01 -5.62924e-05 -6.39661e-02 7.11918e-04 -9.75468e-05 + 1.17979e-03 +Row 19 + 7.68024e-01 1.19285e-04 5.38466e-04 3.73100e-04 8.94456e-04 1.92126e-04 3.43987e-07 -3.92231e-02 +Row 20 + 7.68027e-01 3.25302e-04 -3.10060e-04 5.39006e-04 -3.92242e-02 5.37340e-04 1.92200e-04 +Row 21 + 7.68023e-01 -6.53687e-05 -3.92226e-02 5.38769e-04 -1.13042e-04 8.94297e-04 +Row 22 + 1.45534e+00 1.53190e-04 6.95610e-04 -3.65609e-06 -8.39995e-04 +Row 23 + 1.40881e+00 4.37693e-04 2.65290e-04 7.22287e-04 +Row 24 + 1.40880e+00 -1.20483e-03 1.65486e-04 +Row 25 + 1.45534e+00 -1.93977e-08 +Row 26 + 1.40881e+00 diff --git a/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/result.ref b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/result.ref new file mode 100644 index 0000000000..4a8cc1a5b6 --- /dev/null +++ b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/result.ref @@ -0,0 +1,8 @@ +etotref -196.6304397731159 +etotperatomref -98.3152198866 +totalforceref 0.717564 +totalstressref 1315.352680 +CompareH1_pass 0 +CompareH2_pass 0 +CompareS_pass 0 +totaltimeref 1.35 diff --git a/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/sk_nao.txt.ref b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/sk_nao.txt.ref new file mode 100644 index 0000000000..fe46bb7516 --- /dev/null +++ b/tests/02_NAO_Gamma/006_NO_GO_MD_OHK2/sk_nao.txt.ref @@ -0,0 +1,178 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/sk_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + 1.48885e+00 1.85694e+00 1.50298e-17 6.88468e-18 -2.36492e-17 1.00384e-16 4.09828e-17 -4.11861e-17 + 1.20440e-17 -2.12775e-18 9.48677e-20 -3.03848e-17 -6.11897e-18 1.23629e+00 2.25011e+00 1.25400e-16 + 3.90696e-17 -4.36222e-18 -1.23450e-16 -6.48649e-17 6.48861e-17 5.65987e-17 7.06637e-19 8.47965e-18 + 4.95197e-17 2.35825e-17 +Row 2 + 4.31653e+00 7.86589e-17 1.08420e-17 -3.96276e-17 -3.55618e-17 -5.20417e-17 -8.58688e-17 3.03983e-17 + -3.57787e-18 -4.77049e-18 -8.45678e-17 1.40946e-18 2.25011e+00 3.67664e+00 -5.28278e-17 -1.00353e-16 + 1.02837e-16 -2.69262e-16 3.84011e-17 1.30917e-17 -7.82523e-17 1.54296e-17 -3.71339e-18 -1.51241e-16 + -1.15264e-17 +Row 3 + 5.44536e-01 1.10589e-17 -1.03812e-17 5.83149e-01 -2.42861e-17 2.85145e-17 4.43845e-19 7.04731e-19 + -2.53432e-18 5.42101e-19 -5.42101e-20 -1.25400e-16 5.28278e-17 -1.24841e-01 -5.58517e-17 1.37660e-17 + -1.17065e-01 -2.78979e-17 -4.05898e-17 -3.03102e-17 -2.33866e-18 5.04832e-19 -7.17437e-19 -4.82752e-01 +Row 4 + 5.44536e-01 -6.50521e-18 -2.42861e-17 5.83149e-01 8.67362e-19 4.87891e-19 6.48488e-18 -5.42101e-20 + -4.60786e-19 5.83606e-18 -3.90696e-17 1.00353e-16 -5.58517e-17 -1.24841e-01 6.18385e-17 -2.78979e-17 + -1.17065e-01 4.95379e-17 2.29461e-18 1.69457e-17 -4.82752e-01 -1.11861e-17 -1.63689e-18 +Row 5 + 5.44536e-01 2.85145e-17 8.67362e-19 5.83149e-01 -4.84503e-19 -5.42101e-20 1.80249e-18 -1.35525e-18 + -2.48011e-18 4.36222e-18 -1.02837e-16 1.37660e-17 6.18385e-17 -1.24841e-01 -4.05898e-17 4.95379e-17 + -1.17065e-01 4.80776e-18 -4.82752e-01 -8.40765e-18 -1.76522e-17 -8.61433e-19 +Row 6 + 6.96122e-01 4.68375e-17 -5.29091e-17 8.34836e-18 3.14419e-18 -9.05309e-18 2.62919e-18 0.00000e+00 + 1.23450e-16 2.69262e-16 -1.17065e-01 -2.78979e-17 -4.05898e-17 -6.46175e-02 2.56414e-17 1.96241e-17 + 1.85941e-17 -1.39252e-17 -1.35796e-17 1.20617e-18 -4.19177e-01 +Row 7 + 6.96122e-01 -7.80626e-18 1.30104e-18 3.19840e-18 0.00000e+00 -2.57498e-18 5.48877e-18 6.48649e-17 + -3.84011e-17 -2.78979e-17 -1.17065e-01 4.95379e-17 2.56414e-17 -6.46175e-02 -1.10318e-17 6.36969e-19 + -1.88685e-17 -4.19177e-01 7.40053e-18 1.81858e-17 +Row 8 + 6.96122e-01 -3.21195e-18 0.00000e+00 -1.62630e-18 -4.44523e-18 -2.91379e-18 -6.48861e-17 -1.30917e-17 + -4.05898e-17 4.95379e-17 -1.17065e-01 1.96241e-17 -1.10318e-17 -6.46175e-02 3.91668e-18 -4.19177e-01 + -1.15332e-17 2.62648e-17 -1.16467e-17 +Row 9 + 9.91168e-01 -2.23617e-18 2.94429e-18 4.32444e-17 1.48739e-18 5.65987e-17 -7.82523e-17 3.03102e-17 + -2.29461e-18 -4.80776e-18 -1.85941e-17 -6.36969e-19 -3.91668e-18 -5.10937e-01 -7.31921e-18 6.99310e-18 + -6.37714e-17 -1.47968e-17 +Row 10 + 1.13701e+00 -2.29038e-18 -2.98156e-19 -3.06626e-19 7.06637e-19 1.54296e-17 2.33866e-18 -1.69457e-17 + 4.82752e-01 1.39252e-17 1.88685e-17 4.19177e-01 -7.31921e-18 1.32237e-01 1.45266e-17 1.31640e-17 + -5.73399e-18 +Row 11 + 1.13701e+00 -9.04631e-19 -2.79182e-18 8.47965e-18 -3.71339e-18 -5.04832e-19 4.82752e-01 8.40765e-18 + 1.35796e-17 4.19177e-01 1.15332e-17 6.99310e-18 1.45266e-17 1.32237e-01 1.70262e-17 -6.55604e-19 +Row 12 + 9.91168e-01 2.16091e-20 4.95197e-17 -1.51241e-16 7.17437e-19 1.11861e-17 1.76522e-17 -1.20617e-18 + -7.40053e-18 -2.62648e-17 -6.37714e-17 1.31640e-17 1.70262e-17 -5.10937e-01 -2.84074e-19 +Row 13 + 1.13701e+00 2.35825e-17 -1.15264e-17 4.82752e-01 1.63689e-18 8.61433e-19 4.19177e-01 -1.81858e-17 + 1.16467e-17 -1.47968e-17 -5.73399e-18 -6.55604e-19 -2.84074e-19 1.32237e-01 +Row 14 + 1.48885e+00 1.85694e+00 1.50298e-17 6.88468e-18 -2.36492e-17 1.00384e-16 4.09828e-17 -4.11861e-17 + 1.20440e-17 -2.12775e-18 9.48677e-20 -3.03848e-17 -6.11897e-18 +Row 15 + 4.31653e+00 7.86589e-17 1.08420e-17 -3.96276e-17 -3.55618e-17 -5.20417e-17 -8.58688e-17 3.03983e-17 + -3.57787e-18 -4.77049e-18 -8.45678e-17 1.40946e-18 +Row 16 + 5.44536e-01 1.10589e-17 -1.03812e-17 5.83149e-01 -2.42861e-17 2.85145e-17 4.43845e-19 7.04731e-19 + -2.53432e-18 5.42101e-19 -5.42101e-20 +Row 17 + 5.44536e-01 -6.50521e-18 -2.42861e-17 5.83149e-01 8.67362e-19 4.87891e-19 6.48488e-18 -5.42101e-20 + -4.60786e-19 5.83606e-18 +Row 18 + 5.44536e-01 2.85145e-17 8.67362e-19 5.83149e-01 -4.84503e-19 -5.42101e-20 1.80249e-18 -1.35525e-18 + -2.48011e-18 +Row 19 + 6.96122e-01 4.68375e-17 -5.29091e-17 8.34836e-18 3.14419e-18 -9.05309e-18 2.62919e-18 0.00000e+00 +Row 20 + 6.96122e-01 -7.80626e-18 1.30104e-18 3.19840e-18 0.00000e+00 -2.57498e-18 5.48877e-18 +Row 21 + 6.96122e-01 -3.21195e-18 0.00000e+00 -1.62630e-18 -4.44523e-18 -2.91379e-18 +Row 22 + 9.91168e-01 -2.23617e-18 2.94429e-18 4.32444e-17 1.48739e-18 +Row 23 + 1.13701e+00 -2.29038e-18 -2.98156e-19 -3.06626e-19 +Row 24 + 1.13701e+00 -9.04631e-19 -2.79182e-18 +Row 25 + 9.91168e-01 2.16091e-20 +Row 26 + 1.13701e+00 +#------------------------------------------------------------------------ +# ionic step 2 +# filename OUT.autotest/sk_nao.txt +# gamma only 1 +# rows 26 +# columns 26 +#------------------------------------------------------------------------ +Row 1 + 1.48885e+00 1.85694e+00 -1.34848e-17 6.07695e-17 4.77456e-17 -6.35478e-17 -2.30501e-16 -1.85385e-16 + -3.56855e-18 -5.48877e-18 3.51010e-18 -3.21059e-17 2.27208e-17 1.23629e+00 2.25011e+00 3.55178e-04 + 5.90487e-04 1.24492e-04 4.28563e-04 7.11768e-04 1.51827e-04 -1.15453e-06 5.48551e-04 2.46587e-03 + 5.95842e-06 1.49023e-03 +Row 2 + 4.31653e+00 -3.84350e-17 5.24754e-17 1.42952e-16 -1.47451e-17 9.71445e-17 -6.67869e-17 2.36763e-17 + -4.55365e-18 1.10589e-17 -7.47015e-17 4.55365e-18 2.25011e+00 3.67665e+00 -4.79392e-04 -7.97562e-04 + -1.66751e-04 -5.39661e-04 -8.97294e-04 -1.88913e-04 1.57125e-06 -8.79829e-04 -3.96682e-03 -8.10910e-06 + -2.39668e-03 +Row 3 + 5.44536e-01 -8.45678e-18 2.21448e-17 5.83149e-01 -3.81639e-17 -1.65883e-17 1.12147e-18 9.05309e-17 + 2.60344e-17 5.96311e-19 6.72205e-18 -3.55178e-04 4.79392e-04 -1.24838e-01 5.48802e-04 2.46888e-03 + -1.17064e-01 4.87005e-04 2.19831e-03 -1.79153e-03 4.75245e-04 1.17592e-04 -1.72936e-08 -4.82737e-01 +Row 4 + 5.44536e-01 9.12898e-17 -3.81639e-17 5.83149e-01 -7.37257e-17 6.27753e-17 1.33154e-17 6.83047e-18 + -7.58942e-18 -4.59685e-17 -5.90487e-04 7.97562e-04 5.48802e-04 -1.24830e-01 1.49195e-03 4.87005e-04 + -1.17055e-01 1.32804e-03 1.48203e-03 2.90121e-04 -4.82737e-01 -2.56697e-03 1.17583e-04 +Row 5 + 5.44536e-01 -1.65883e-17 -7.37257e-17 5.83149e-01 1.37999e-17 6.83047e-18 1.85670e-18 -3.42676e-17 + -4.06440e-17 -1.24492e-04 1.66751e-04 2.46888e-03 1.49195e-03 -1.24842e-01 2.19831e-03 1.32804e-03 + -1.17068e-01 3.30013e-04 -4.82737e-01 2.90156e-04 5.71591e-04 4.75264e-04 +Row 6 + 6.96122e-01 3.29597e-17 4.07660e-17 1.84314e-18 -1.48536e-17 -4.14707e-17 2.79182e-18 -9.54098e-18 + -4.28563e-04 5.39661e-04 -1.17064e-01 4.87005e-04 2.19831e-03 -6.46215e-02 4.09418e-04 1.86883e-03 + -1.79747e-03 1.26928e-03 2.91200e-04 -4.08999e-08 -4.19167e-01 +Row 7 + 6.96122e-01 3.46945e-17 -1.02240e-16 -2.76472e-18 -9.54098e-18 4.69731e-17 -2.11419e-18 -7.11768e-04 + 8.97294e-04 4.87005e-04 -1.17055e-01 1.32804e-03 4.09418e-04 -6.46140e-02 1.12787e-03 1.48692e-03 + 7.69230e-04 -4.19167e-01 -2.57547e-03 2.91180e-04 +Row 8 + 6.96122e-01 -1.24277e-17 -9.54098e-18 -1.19262e-18 4.21484e-17 1.01820e-16 -1.51827e-04 1.88913e-04 + 2.19831e-03 1.32804e-03 -1.17068e-01 1.86883e-03 1.12787e-03 -6.46252e-02 3.31113e-04 -4.19167e-01 + 7.69312e-04 5.73485e-04 1.26932e-03 +Row 9 + 9.91168e-01 -7.45389e-19 3.76083e-19 8.49591e-17 3.33155e-17 -1.15453e-06 1.57125e-06 1.79153e-03 + -1.48203e-03 -3.30013e-04 1.79747e-03 -1.48692e-03 -3.31113e-04 -5.10922e-01 -6.05774e-06 -1.33026e-06 + -1.76263e-05 4.43587e-06 +Row 10 + 1.13701e+00 1.31053e-17 -7.51826e-18 -8.62110e-18 5.48551e-04 -8.79829e-04 -4.75245e-04 -2.90121e-04 + 4.82737e-01 -1.26928e-03 -7.69230e-04 4.19167e-01 -6.05774e-06 1.32221e-01 2.17786e-03 -1.04671e-05 + 3.60087e-03 +Row 11 + 1.13701e+00 -1.09979e-17 5.71917e-18 2.46587e-03 -3.96682e-03 -1.17592e-04 4.82737e-01 -2.90156e-04 + -2.91200e-04 4.19167e-01 -7.69312e-04 -1.33026e-06 2.17786e-03 1.32237e-01 2.36050e-06 8.08017e-04 +Row 12 + 9.91168e-01 -6.89463e-19 5.95842e-06 -8.10910e-06 1.72936e-08 2.56697e-03 -5.71591e-04 4.08999e-08 + 2.57547e-03 -5.73485e-04 -1.76263e-05 -1.04671e-05 2.36050e-06 -5.10916e-01 5.13066e-08 +Row 13 + 1.13701e+00 1.49023e-03 -2.39668e-03 4.82737e-01 -1.17583e-04 -4.75264e-04 4.19167e-01 -2.91180e-04 + -1.26932e-03 4.43587e-06 3.60087e-03 8.08017e-04 5.13066e-08 1.32226e-01 +Row 14 + 1.48885e+00 1.85694e+00 -1.51504e-16 8.97177e-17 1.28464e-16 2.93805e-16 -1.79327e-16 -2.05334e-16 + -1.91540e-17 -9.01243e-18 -1.37152e-17 -4.08151e-17 -5.02799e-18 +Row 15 + 4.31653e+00 -1.13028e-16 7.37257e-18 3.97360e-17 -1.74340e-16 6.59195e-17 -2.16840e-17 -2.51128e-17 + -4.77049e-18 -2.64545e-17 -1.05628e-16 -4.39102e-18 +Row 16 + 5.44536e-01 3.64292e-17 -1.34170e-17 5.83149e-01 3.46945e-17 1.46476e-16 2.57600e-17 4.88433e-17 + 4.56585e-17 -2.01458e-17 -1.87838e-17 +Row 17 + 5.44536e-01 -1.85399e-17 3.46945e-17 5.83149e-01 -4.77049e-18 2.44488e-17 -3.18417e-17 -1.87296e-17 + -4.21822e-17 3.01425e-17 +Row 18 + 5.44536e-01 1.46476e-16 -4.77049e-18 5.83149e-01 2.34764e-17 -1.87296e-17 -1.25361e-17 4.38018e-17 + 2.53907e-17 +Row 19 + 6.96122e-01 8.84709e-17 -1.01481e-16 -7.54605e-17 6.78711e-17 6.26127e-17 2.30664e-17 2.74303e-17 +Row 20 + 6.96122e-01 -5.03070e-17 -5.96311e-17 -3.73779e-17 2.72135e-17 8.47846e-17 2.59124e-17 +Row 21 + 6.96122e-01 -5.05916e-17 2.72135e-17 -8.40257e-17 -9.99363e-17 5.90755e-17 +Row 22 + 9.91168e-01 4.06305e-17 3.54907e-17 3.79539e-17 1.84585e-17 +Row 23 + 1.13701e+00 1.26987e-17 1.01881e-17 1.52991e-17 +Row 24 + 1.13701e+00 1.98782e-17 -3.22279e-17 +Row 25 + 9.91168e-01 3.71455e-20 +Row 26 + 1.13701e+00 diff --git a/tests/02_NAO_Gamma/006_NO_GO_OH/hks1_nao.txt.ref b/tests/02_NAO_Gamma/006_NO_GO_OH/hks1_nao.txt.ref deleted file mode 100644 index 15755a4b37..0000000000 --- a/tests/02_NAO_Gamma/006_NO_GO_OH/hks1_nao.txt.ref +++ /dev/null @@ -1,26 +0,0 @@ -26 -0.65628 -0.0050548 -2.3592e-16 3.3304e-16 -2.7756e-16 -1.9429e-16 1.3878e-17 2.7755e-16 2.7783e-17 1.1102e-16 -1.9429e-16 4.6488e-16 3.3307e-16 -0.046491 -0.16408 -2.8189e-18 2.3852e-18 -3.0358e-18 -5.2042e-18 -6.5052e-17 -3.4694e-18 -7.5894e-19 -1.301e-18 -2.5479e-18 2.4215e-18 1.0842e-18 - 0.46098 1.0407e-17 -1.5916e-16 -6.9389e-18 2.0123e-16 -2.0036e-16 -8.6736e-17 -3.8001e-17 7.6328e-17 5.5516e-17 -1.2337e-16 -1.3184e-16 -0.16467 0.013578 3.2526e-18 3.6863e-18 -2.5804e-17 -3.1008e-17 -2.6455e-17 2.3636e-17 7.3014e-18 -1.4095e-18 -6.9389e-18 1.5881e-17 -8.6736e-18 - -0.15165 1.3878e-17 1.5265e-16 0.014221 1.1102e-16 -1.2837e-16 -6.8001e-16 3.3567e-16 -2.498e-16 3.6429e-17 0.00099793 3.3068e-18 -1.0192e-17 0.035773 -2.1684e-19 -9.9747e-18 -0.025158 1.7347e-18 3.1659e-17 8.2128e-18 -5.421e-18 -2.06e-18 1.6424e-18 0.023986 - -0.15165 5.5511e-17 1.1102e-16 0.014221 -1.6654e-16 -1.249e-16 -2.6368e-16 0.00099793 5.8287e-16 5.5511e-17 3.5508e-18 -1.2577e-17 -2.1684e-19 0.035773 4.3368e-19 -2.6021e-18 -0.025158 6.0715e-18 -2.1413e-18 3.4694e-18 0.023986 -1.0842e-18 -6.0715e-18 - -0.15165 -5.8982e-17 -1.1103e-16 0.014221 1.8735e-16 0.00099793 4.8572e-17 -1.1102e-16 5.9328e-16 4.7976e-18 1.8865e-17 1.1059e-17 2.1684e-18 0.035773 -2.1684e-18 1.5613e-17 -0.025158 1.0571e-18 0.023986 2.3852e-18 -1.0842e-18 -9.7036e-18 - 0.6771 2.3592e-16 2.5327e-16 -3.747e-16 2.2638e-16 -6.9389e-17 2.4286e-17 -0.0013395 8.3433e-19 -5.9631e-18 -0.025912 7.0744e-18 1.362e-18 -0.088644 -9.9747e-18 -3.361e-18 -2.6455e-17 8.6736e-18 2.0275e-17 1.44e-18 -0.022421 - 0.6771 -1.6652e-16 -2.2206e-16 -3.5389e-16 -0.0013395 -1.9429e-16 -5.1695e-16 1.2949e-17 -4.12e-17 3.0141e-17 -0.025912 5.2313e-18 -1.301e-17 -0.088644 4.3368e-19 2.7105e-19 -2.6455e-17 -0.022421 -7.481e-18 -7.6978e-18 - 0.6771 2.7756e-17 -0.0013395 -1.6653e-16 -1.9429e-16 -4.0072e-16 -1.4501e-17 2.06e-18 -3.0019e-18 -1.3634e-17 -0.025912 -1.0192e-17 1.3661e-17 -0.088644 9.2699e-18 -0.022421 -1.5287e-17 -1.236e-17 1.5287e-17 - 0.75116 9.7145e-17 -5.7246e-17 -3.0535e-16 2.3592e-16 1.1384e-18 1.1818e-17 -4.7705e-18 -3.2526e-18 -3.4694e-18 -2.4286e-17 -3.0358e-18 9.541e-18 0.011353 -8.6736e-19 -1.0842e-18 -2.015e-18 6.5052e-19 - 0.75043 -2.5674e-16 1.3878e-16 -1.4572e-16 3.2526e-18 6.9389e-18 3.5508e-18 -3.1713e-18 -0.023569 -1.0517e-17 4.0115e-18 0.021812 1.7347e-18 -0.020566 4.6756e-19 -1.4095e-18 -3.2153e-18 - 0.75043 -2.3592e-16 2.7062e-16 5.5836e-18 1.1276e-17 3.3881e-18 -0.023569 -4.4181e-18 -6.8305e-18 0.021812 6.3968e-18 3.5101e-18 2.3039e-19 -0.020566 -7.5894e-19 -5.3261e-18 - 0.75116 1.0408e-16 3.1872e-18 2.3749e-17 -1.0029e-18 5.2042e-18 -1.7347e-18 -7.5894e-18 -7.8063e-18 0 -2.1675e-18 -3.1442e-18 1.1926e-18 0.011353 -2.0329e-20 - 0.75043 4.8789e-18 -5.2042e-18 -0.023569 -1.1926e-18 6.2342e-19 0.021812 -8.9989e-18 1.7998e-17 3.1984e-18 -4.4825e-18 -4.6214e-18 2.5157e-19 -0.020566 - -0.65628 -0.0050572 6.206e-16 3.9853e-16 -5.2475e-17 4.1156e-16 -2.0903e-16 -4.6057e-16 2.3009e-16 3.2201e-16 1.6285e-16 5.6809e-16 -2.871e-16 - 0.46096 1.197e-16 1.1926e-16 -4.1633e-17 -4.5103e-17 2.6715e-16 2.498e-16 -7.2981e-17 6.2016e-17 -1.3883e-17 -1.8516e-16 1.7304e-16 - -0.15165 2.6411e-16 9.7579e-17 0.014226 -1.4313e-17 -1.5916e-16 -9.2526e-16 -1.5005e-16 2.4286e-17 9.1533e-18 -0.00099715 - -0.15165 2.125e-16 -6.6355e-17 0.014226 2.4284e-17 -2.4801e-16 1.0322e-16 -0.00099715 3.6895e-16 2.5804e-16 - -0.15165 -1.0278e-16 5.8542e-17 0.014226 4.288e-17 -0.00099715 -6.8088e-17 -3.3589e-16 4.6491e-16 - 0.67708 1.4615e-16 -7.7629e-17 -5.5197e-16 4.5146e-16 4.0289e-16 -2.8899e-17 0.001338 - 0.67708 1.6741e-16 2.0329e-19 -3.1745e-16 0.001338 8.4535e-16 3.6646e-16 - 0.67708 -1.0842e-18 0.001338 -2.6411e-16 -3.9259e-16 2.6541e-16 - 0.75115 1.313e-16 1.2382e-16 6.1314e-17 1.7748e-16 - 0.75043 6.3534e-17 -1.507e-17 -8.8471e-17 - 0.75043 3.9194e-17 -1.4528e-16 - 0.75115 -5.0131e-18 - 0.75043 diff --git a/tests/02_NAO_Gamma/006_NO_GO_OH/sks1_nao.txt.ref b/tests/02_NAO_Gamma/006_NO_GO_OH/sks1_nao.txt.ref deleted file mode 100644 index 5b98bf0dfb..0000000000 --- a/tests/02_NAO_Gamma/006_NO_GO_OH/sks1_nao.txt.ref +++ /dev/null @@ -1,26 +0,0 @@ -26 1.0002 0.0018861 0 1.3553e-20 0 0 5.421e-20 0 -2.7105e-20 0 0 2.8292e-20 0 0.046783 0.23535 0 0 0 0 0 0 0 0 0 -1.2075e-18 0 - 1.0205 0 -2.1684e-19 0 0 8.6736e-19 0 -2.1684e-19 0 0 4.2902e-19 0 0.23535 0.60858 0 0 0 0 0 0 0 0 0 -1.5175e-17 0 - 0.99838 0 0 0.0056966 0 0 0 -4.0658e-20 -6.7763e-20 0 0 0 0 -0.083512 0 0 0.14929 0 0 0 0 0 0 -0.041722 - 0.99838 0 0 0.0056966 0 0 0 0 0 0 0 0 0 -0.083512 0 0 0.14929 0 0 0 -0.041722 0 0 - 0.99838 0 0 0.0056966 0 0 0 -1.6941e-21 0 0 0 0 0 -0.083512 0 0 0.14929 0 -0.041722 0 0 0 - 0.98001 0 0 0 5.421e-20 0 0 0 0 0 0.14929 0 0 -0.13051 0 0 0 0 0 0 0.1394 - 0.98001 0 0 0 0 0 0 0 0 0 0.14929 0 0 -0.13051 0 0 0 0.1394 0 0 - 0.98001 0 0 0 6.7763e-21 0 0 0 0 0 0.14929 0 0 -0.13051 0 0.1394 0 0 0 - 1.0001 0 0 -3.942e-20 0 0 0 0 0 0 0 0 0 0.0062994 0 0 -6.1696e-19 0 - 1.0002 0 0 0 0 0 0 0 0.041722 0 0 -0.1394 0 0.0078948 0 0 0 - 1.0002 0 0 0 0 0 0.041722 0 0 -0.1394 0 0 0 0.0078948 0 0 - 1.0001 0 -1.2075e-18 -1.5175e-17 0 0 0 0 0 0 -6.1696e-19 0 0 0.0062994 0 - 1.0002 0 0 0.041722 0 0 -0.1394 0 0 0 0 0 0 0.0078948 - 1.0002 0.0018861 0 1.3553e-20 0 0 5.421e-20 0 -2.7105e-20 0 0 2.8292e-20 0 - 1.0205 0 -2.1684e-19 0 0 8.6736e-19 0 -2.1684e-19 0 0 4.2902e-19 0 - 0.99838 0 0 0.0056966 0 0 0 -4.0658e-20 -6.7763e-20 0 0 - 0.99838 0 0 0.0056966 0 0 0 0 0 0 - 0.99838 0 0 0.0056966 0 0 0 -1.6941e-21 0 - 0.98001 0 0 0 5.421e-20 0 0 0 - 0.98001 0 0 0 0 0 0 - 0.98001 0 0 0 6.7763e-21 0 - 1.0001 0 0 -3.942e-20 0 - 1.0002 0 0 0 - 1.0002 0 0 - 1.0001 0 - 1.0002 \ No newline at end of file diff --git a/tests/02_NAO_Gamma/007_NO_GO_OHR/INPUT b/tests/02_NAO_Gamma/007_NO_GO_OHR/INPUT new file mode 100644 index 0000000000..78862b0e7e --- /dev/null +++ b/tests/02_NAO_Gamma/007_NO_GO_OHR/INPUT @@ -0,0 +1,34 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation scf + +nbands 6 +symmetry 1 +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB +gamma_only 1 + +#Parameters (2.Iteration) +ecutwfc 20 +scf_thr 1e-8 +scf_nmax 100 + +#Parameters (3.Basis) +basis_type lcao + +#Parameters (4.Smearing) +smearing_method gauss +smearing_sigma 0.002 + +out_mat_hs2 1 5 +#Parameters (5.Mixing) +mixing_type broyden +mixing_beta 0.7 +mixing_gg0 1.5 + +ks_solver scalapack_gvx + +bx 2 +by 2 +bz 2 diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/STRU b/tests/02_NAO_Gamma/007_NO_GO_OHR/STRU similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/STRU rename to tests/02_NAO_Gamma/007_NO_GO_OHR/STRU diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/vxcs1_nao.txt.ref b/tests/02_NAO_Gamma/007_NO_GO_OXC/vxcs1_nao.txt.ref deleted file mode 100644 index 3e11a37e42..0000000000 --- a/tests/02_NAO_Gamma/007_NO_GO_OXC/vxcs1_nao.txt.ref +++ /dev/null @@ -1,6 +0,0 @@ -6 -0.684691 -8.83712e-07 1.13515e-16 1.82341e-16 2.58361e-17 3.54064e-17 - -0.71493 -8.00801e-18 2.58871e-17 -5.41766e-17 6.18429e-17 - -0.593224 7.78235e-17 -6.23292e-17 -1.32096e-06 - -0.593224 -8.16693e-17 6.51331e-07 - -0.593224 8.8859e-07 - -0.619565 diff --git a/tests/02_NAO_Gamma/016_NO_GO_OW/INPUT b/tests/02_NAO_Gamma/008_NO_GO_OW/INPUT similarity index 100% rename from tests/02_NAO_Gamma/016_NO_GO_OW/INPUT rename to tests/02_NAO_Gamma/008_NO_GO_OW/INPUT diff --git a/tests/02_NAO_Gamma/001_NO_GO_15_CF_CS/KPT b/tests/02_NAO_Gamma/008_NO_GO_OW/KPT similarity index 100% rename from tests/02_NAO_Gamma/001_NO_GO_15_CF_CS/KPT rename to tests/02_NAO_Gamma/008_NO_GO_OW/KPT diff --git a/tests/02_NAO_Gamma/008_NO_GO_OW/README b/tests/02_NAO_Gamma/008_NO_GO_OW/README new file mode 100644 index 0000000000..c24232a9f6 --- /dev/null +++ b/tests/02_NAO_Gamma/008_NO_GO_OW/README @@ -0,0 +1 @@ +test out_wfc_lcao > 0 for gamma only and nspin==1 diff --git a/tests/02_NAO_Gamma/013_NO_GO_get_wf/STRU b/tests/02_NAO_Gamma/008_NO_GO_OW/STRU similarity index 100% rename from tests/02_NAO_Gamma/013_NO_GO_get_wf/STRU rename to tests/02_NAO_Gamma/008_NO_GO_OW/STRU diff --git a/tests/02_NAO_Gamma/016_NO_GO_OW/result.ref b/tests/02_NAO_Gamma/008_NO_GO_OW/result.ref similarity index 100% rename from tests/02_NAO_Gamma/016_NO_GO_OW/result.ref rename to tests/02_NAO_Gamma/008_NO_GO_OW/result.ref diff --git a/tests/02_NAO_Gamma/016_NO_GO_OW/wfs1_nao.txt.ref b/tests/02_NAO_Gamma/008_NO_GO_OW/wf_nao.txt.ref similarity index 100% rename from tests/02_NAO_Gamma/016_NO_GO_OW/wfs1_nao.txt.ref rename to tests/02_NAO_Gamma/008_NO_GO_OW/wf_nao.txt.ref diff --git a/tests/02_NAO_Gamma/009_NO_GO_OW2/INPUT b/tests/02_NAO_Gamma/009_NO_GO_OW2/INPUT new file mode 100644 index 0000000000..ffaf2d254c --- /dev/null +++ b/tests/02_NAO_Gamma/009_NO_GO_OW2/INPUT @@ -0,0 +1,21 @@ +INPUT_PARAMETERS + +calculation scf +basis_type lcao +gamma_only 1 +out_wfc_lcao 1 +nspin 2 + +nbands 4 +latname sc +ecutwfc 25.0 # Rydberg +scf_thr 1e-10 + +suffix autotest +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB +stru_file STRU +kpoint_file KPT + +smearing_method gauss +smearing_sigma 0.01 diff --git a/tests/02_NAO_Gamma/014_NO_GO_wfc_file/STRU b/tests/02_NAO_Gamma/009_NO_GO_OW2/STRU similarity index 100% rename from tests/02_NAO_Gamma/014_NO_GO_wfc_file/STRU rename to tests/02_NAO_Gamma/009_NO_GO_OW2/STRU diff --git a/tests/02_NAO_Gamma/010_NO_GO_RE_OW/INPUT b/tests/02_NAO_Gamma/010_NO_GO_RE_OW/INPUT new file mode 100644 index 0000000000..96cf2b5836 --- /dev/null +++ b/tests/02_NAO_Gamma/010_NO_GO_RE_OW/INPUT @@ -0,0 +1,33 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation relax + +nbands 4 +symmetry 1 +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB + +#Parameters (2.Iteration) +ecutwfc 20 +scf_thr 1e-9 +scf_nmax 100 + +#Parameters (3.Relaxation) +relax_nmax 2 +cal_force 1 +force_thr_ev 0.01 +relax_method bfgs 2 + +#Parameters (4.Basis) +basis_type lcao + +#Parameters (5.Smearing) +smearing_method fixed + +#Parameters (6.Mixing) +mixing_type broyden +mixing_beta 0.5 + +gamma_only 1 +out_wfc_lcao 1 diff --git a/tests/02_NAO_Gamma/010_NO_GO_RE_MB/STRU b/tests/02_NAO_Gamma/010_NO_GO_RE_OW/STRU similarity index 100% rename from tests/02_NAO_Gamma/010_NO_GO_RE_MB/STRU rename to tests/02_NAO_Gamma/010_NO_GO_RE_OW/STRU diff --git a/tests/02_NAO_Gamma/011_NO_GO_RE_OW2/INPUT b/tests/02_NAO_Gamma/011_NO_GO_RE_OW2/INPUT new file mode 100644 index 0000000000..3e4c4d6a5b --- /dev/null +++ b/tests/02_NAO_Gamma/011_NO_GO_RE_OW2/INPUT @@ -0,0 +1,34 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation relax +nspin 2 + +nbands 6 +symmetry 1 +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB + +#Parameters (2.Iteration) +ecutwfc 20 +scf_thr 1e-9 +scf_nmax 100 + +#Parameters (3.Relaxation) +relax_nmax 2 +cal_force 1 +force_thr_ev 0.01 +relax_method bfgs 2 + +#Parameters (4.Basis) +basis_type lcao + +#Parameters (5.Smearing) +smearing_method fixed + +#Parameters (6.Mixing) +mixing_type broyden +mixing_beta 0.5 + +gamma_only 1 +out_wfc_lcao 1 diff --git a/tests/02_NAO_Gamma/011_NO_GO_RE_OW2/STRU b/tests/02_NAO_Gamma/011_NO_GO_RE_OW2/STRU new file mode 100644 index 0000000000..f4a07dbf54 --- /dev/null +++ b/tests/02_NAO_Gamma/011_NO_GO_RE_OW2/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 28 Si_ONCV_PBE-1.0.upf upf201 + +NUMERICAL_ORBITAL +Si_gga_8au_60Ry_2s2p1d.orb + +LATTICE_CONSTANT +10.2 + +LATTICE_VECTORS +0.0 0.5 0.5 +0.5 0.0 0.5 +0.5 0.5 0.0 + +ATOMIC_POSITIONS +Direct + +Si +0.0 +2 +0.00 0.00 0.00 1 1 1 +0.251 0.251 0.251 1 1 1 diff --git a/tests/02_NAO_Gamma/012_NO_GO_MD_OW/INPUT b/tests/02_NAO_Gamma/012_NO_GO_MD_OW/INPUT new file mode 100644 index 0000000000..9367060d86 --- /dev/null +++ b/tests/02_NAO_Gamma/012_NO_GO_MD_OW/INPUT @@ -0,0 +1,32 @@ +INPUT_PARAMETERS +#Parameters (General) +suffix autotest +nbands 6 +calculation md +basis_type lcao +gamma_only 1 +out_wfc_lcao 1 + +#Parameters (Accuracy) +ecutwfc 10 +scf_nmax 50 +scf_thr 1.0e-6 + +cal_stress 1 +stress_thr 1e-6 +cal_force 1 +force_thr_ev 1.0e-3 + +mixing_type broyden +mixing_beta 0.7 + +md_nstep 2 +md_tchain 4 +md_tfirst 10 +md_tfreq 0.1 +init_vel 1 + +chg_extrap first-order + +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB diff --git a/tests/02_NAO_Gamma/023_NO_GO_NVT_OW/README b/tests/02_NAO_Gamma/012_NO_GO_MD_OW/README similarity index 100% rename from tests/02_NAO_Gamma/023_NO_GO_NVT_OW/README rename to tests/02_NAO_Gamma/012_NO_GO_MD_OW/README diff --git a/tests/02_NAO_Gamma/012_NO_GO_MD_OW/STRU b/tests/02_NAO_Gamma/012_NO_GO_MD_OW/STRU new file mode 100644 index 0000000000..6fc39c63ca --- /dev/null +++ b/tests/02_NAO_Gamma/012_NO_GO_MD_OW/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 1 Si_ONCV_PBE-1.0.upf + +NUMERICAL_ORBITAL +Si_gga_8au_60Ry_2s2p1d.orb + +LATTICE_CONSTANT +10.2 + +LATTICE_VECTORS +0 0.5 0.5 #latvec1 +0.5 0 0.5 #latvec2 +0.5 0.5 0 #latvec3 + +ATOMIC_POSITIONS +Cartesian + +Si #label +0 #magnetism +2 #number of atoms +0 0 0 m 1 1 1 v 0.000135711648533 3.02182240507e-05 -8.2024241958e-05 +0.25 0.25 0.25 m 1 1 1 v -0.000135711648533 -3.02182240507e-05 8.2024241958e-05 diff --git a/tests/02_NAO_Gamma/023_NO_GO_NVT_OW/result.ref b/tests/02_NAO_Gamma/012_NO_GO_MD_OW/result.ref similarity index 100% rename from tests/02_NAO_Gamma/023_NO_GO_NVT_OW/result.ref rename to tests/02_NAO_Gamma/012_NO_GO_MD_OW/result.ref diff --git a/tests/02_NAO_Gamma/023_NO_GO_NVT_OW/wfs1_nao.txt.ref b/tests/02_NAO_Gamma/012_NO_GO_MD_OW/wf_nao.txt.ref similarity index 100% rename from tests/02_NAO_Gamma/023_NO_GO_NVT_OW/wfs1_nao.txt.ref rename to tests/02_NAO_Gamma/012_NO_GO_MD_OW/wf_nao.txt.ref diff --git a/tests/02_NAO_Gamma/013_NO_GO_MD_OW2/INPUT b/tests/02_NAO_Gamma/013_NO_GO_MD_OW2/INPUT new file mode 100644 index 0000000000..779fdb2ba1 --- /dev/null +++ b/tests/02_NAO_Gamma/013_NO_GO_MD_OW2/INPUT @@ -0,0 +1,33 @@ +INPUT_PARAMETERS +#Parameters (General) +suffix autotest +nbands 6 +calculation md +basis_type lcao +gamma_only 1 +nspin 2 +out_wfc_lcao 1 + +#Parameters (Accuracy) +ecutwfc 10 +scf_nmax 50 +scf_thr 1.0e-6 + +cal_stress 1 +stress_thr 1e-6 +cal_force 1 +force_thr_ev 1.0e-3 + +mixing_type broyden +mixing_beta 0.7 + +md_nstep 2 +md_tchain 4 +md_tfirst 10 +md_tfreq 0.1 +init_vel 1 + +chg_extrap first-order + +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB diff --git a/tests/02_NAO_Gamma/013_NO_GO_MD_OW2/STRU b/tests/02_NAO_Gamma/013_NO_GO_MD_OW2/STRU new file mode 100644 index 0000000000..6fc39c63ca --- /dev/null +++ b/tests/02_NAO_Gamma/013_NO_GO_MD_OW2/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 1 Si_ONCV_PBE-1.0.upf + +NUMERICAL_ORBITAL +Si_gga_8au_60Ry_2s2p1d.orb + +LATTICE_CONSTANT +10.2 + +LATTICE_VECTORS +0 0.5 0.5 #latvec1 +0.5 0 0.5 #latvec2 +0.5 0.5 0 #latvec3 + +ATOMIC_POSITIONS +Cartesian + +Si #label +0 #magnetism +2 #number of atoms +0 0 0 m 1 1 1 v 0.000135711648533 3.02182240507e-05 -8.2024241958e-05 +0.25 0.25 0.25 m 1 1 1 v -0.000135711648533 -3.02182240507e-05 8.2024241958e-05 diff --git a/tests/02_NAO_Gamma/014_NO_GO_wfc_file/INPUT b/tests/02_NAO_Gamma/014_NO_GO_IW/INPUT similarity index 64% rename from tests/02_NAO_Gamma/014_NO_GO_wfc_file/INPUT rename to tests/02_NAO_Gamma/014_NO_GO_IW/INPUT index 5adb3b80b2..d61bdbee34 100644 --- a/tests/02_NAO_Gamma/014_NO_GO_wfc_file/INPUT +++ b/tests/02_NAO_Gamma/014_NO_GO_IW/INPUT @@ -1,15 +1,17 @@ INPUT_PARAMETERS #Parameters (System) -suffix autotest +suffix autotest -nbands 4 -stru_file STRU -kpoint_file KPT +nbands 4 +stru_file STRU +kpoint_file KPT pseudo_dir ../../PP_ORB orbital_dir ../../PP_ORB -latname sc +latname sc + #Parameters (PW) -ecutwfc 25.0 # Rydberg +ecutwfc 25.0 # Rydberg + #Parameters (electronic) basis_type lcao scf_thr 1e-10 diff --git a/tests/02_NAO_Gamma/002_NO_GO_AF/KPT b/tests/02_NAO_Gamma/014_NO_GO_IW/KPT similarity index 100% rename from tests/02_NAO_Gamma/002_NO_GO_AF/KPT rename to tests/02_NAO_Gamma/014_NO_GO_IW/KPT diff --git a/tests/02_NAO_Gamma/014_NO_GO_wfc_file/README b/tests/02_NAO_Gamma/014_NO_GO_IW/README similarity index 100% rename from tests/02_NAO_Gamma/014_NO_GO_wfc_file/README rename to tests/02_NAO_Gamma/014_NO_GO_IW/README diff --git a/tests/02_NAO_Gamma/015_NO_GO_get_pchg/STRU b/tests/02_NAO_Gamma/014_NO_GO_IW/STRU similarity index 100% rename from tests/02_NAO_Gamma/015_NO_GO_get_pchg/STRU rename to tests/02_NAO_Gamma/014_NO_GO_IW/STRU diff --git a/tests/02_NAO_Gamma/014_NO_GO_wfc_file/result.ref b/tests/02_NAO_Gamma/014_NO_GO_IW/result.ref similarity index 100% rename from tests/02_NAO_Gamma/014_NO_GO_wfc_file/result.ref rename to tests/02_NAO_Gamma/014_NO_GO_IW/result.ref diff --git a/tests/02_NAO_Gamma/014_NO_GO_wfc_file/wfs1_nao.txt b/tests/02_NAO_Gamma/014_NO_GO_IW/wf_nao.txt similarity index 100% rename from tests/02_NAO_Gamma/014_NO_GO_wfc_file/wfs1_nao.txt rename to tests/02_NAO_Gamma/014_NO_GO_IW/wf_nao.txt diff --git a/tests/02_NAO_Gamma/018_NO_GO_ODM/INPUT b/tests/02_NAO_Gamma/016_NO_GO_ODM/INPUT similarity index 85% rename from tests/02_NAO_Gamma/018_NO_GO_ODM/INPUT rename to tests/02_NAO_Gamma/016_NO_GO_ODM/INPUT index df0ce8c0ca..5fb7fec073 100644 --- a/tests/02_NAO_Gamma/018_NO_GO_ODM/INPUT +++ b/tests/02_NAO_Gamma/016_NO_GO_ODM/INPUT @@ -4,7 +4,7 @@ basis_type lcao calculation scf gamma_only 1 -out_dmk 1 // file name is dms1_nao.txt +out_dmk 1 3 // file name is dm_nao.txt nbands 4 latname sc ecutwfc 25.0 // Rydberg diff --git a/tests/02_NAO_Gamma/003_NO_GO_AF_mag/KPT b/tests/02_NAO_Gamma/016_NO_GO_ODM/KPT similarity index 100% rename from tests/02_NAO_Gamma/003_NO_GO_AF_mag/KPT rename to tests/02_NAO_Gamma/016_NO_GO_ODM/KPT diff --git a/tests/02_NAO_Gamma/018_NO_GO_ODM/README b/tests/02_NAO_Gamma/016_NO_GO_ODM/README similarity index 100% rename from tests/02_NAO_Gamma/018_NO_GO_ODM/README rename to tests/02_NAO_Gamma/016_NO_GO_ODM/README diff --git a/tests/02_NAO_Gamma/016_NO_GO_OW/STRU b/tests/02_NAO_Gamma/016_NO_GO_ODM/STRU similarity index 100% rename from tests/02_NAO_Gamma/016_NO_GO_OW/STRU rename to tests/02_NAO_Gamma/016_NO_GO_ODM/STRU diff --git a/tests/02_NAO_Gamma/018_NO_GO_ODM/dms1_nao.txt.ref b/tests/02_NAO_Gamma/016_NO_GO_ODM/dms1_nao.txt.ref similarity index 100% rename from tests/02_NAO_Gamma/018_NO_GO_ODM/dms1_nao.txt.ref rename to tests/02_NAO_Gamma/016_NO_GO_ODM/dms1_nao.txt.ref diff --git a/tests/02_NAO_Gamma/018_NO_GO_ODM/result.ref b/tests/02_NAO_Gamma/016_NO_GO_ODM/result.ref similarity index 100% rename from tests/02_NAO_Gamma/018_NO_GO_ODM/result.ref rename to tests/02_NAO_Gamma/016_NO_GO_ODM/result.ref diff --git a/tests/02_NAO_Gamma/016_NO_GO_OW/README b/tests/02_NAO_Gamma/016_NO_GO_OW/README deleted file mode 100644 index 20528b428c..0000000000 --- a/tests/02_NAO_Gamma/016_NO_GO_OW/README +++ /dev/null @@ -1 +0,0 @@ -test out_wfc_lcao > 0 for gamma only diff --git a/tests/02_NAO_Gamma/021_NO_GO_MSST/result.ref b/tests/02_NAO_Gamma/021_NO_GO_MSST/result.ref deleted file mode 100644 index 98da325475..0000000000 --- a/tests/02_NAO_Gamma/021_NO_GO_MSST/result.ref +++ /dev/null @@ -1,5 +0,0 @@ -etotref -207.2084422005094 -etotperatomref -103.6042211003 -totalforceref 0.186002 -totalstressref 63.088667 -totaltimeref +1.0314 diff --git a/tests/02_NAO_Gamma/022_NO_GO_MSST2/result.ref b/tests/02_NAO_Gamma/022_NO_GO_MSST2/result.ref deleted file mode 100644 index fe1f873c56..0000000000 --- a/tests/02_NAO_Gamma/022_NO_GO_MSST2/result.ref +++ /dev/null @@ -1,5 +0,0 @@ -etotref -207.070585498893 -etotperatomref -103.5352927494 -totalforceref 0.218882 -totalstressref 63.052389 -totaltimeref +1.1941 diff --git a/tests/02_NAO_Gamma/023_NO_GO_NVT_OW/INPUT b/tests/02_NAO_Gamma/023_NO_GO_NVT_OW/INPUT deleted file mode 100644 index b304a903c0..0000000000 --- a/tests/02_NAO_Gamma/023_NO_GO_NVT_OW/INPUT +++ /dev/null @@ -1,42 +0,0 @@ -INPUT_PARAMETERS - -# general -calculation md -md_nstep 2 -basis_type lcao -gamma_only 1 -nbands 8 - -# scf -ecutwfc 20 -scf_nmax 20 -scf_thr 1E-7 - -# solver -ks_solver genelpa -mixing_type broyden -mixing_beta 0.7 - -# force and stress -cal_force 1 -force_thr_ev 1.0e-3 -cal_stress 1 -stress_thr 1e-6 - -# md parameters -md_type nvt -md_tchain 4 -md_tfirst 10 -md_dt 1 -md_restart 0 - -# input and output -init_vel 1 -out_wfc_lcao 1 -out_app_flag 1 - -# directories -suffix autotest -read_file_dir ./ -pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB diff --git a/tests/02_NAO_Gamma/023_NO_GO_NVT_OW/STRU b/tests/02_NAO_Gamma/023_NO_GO_NVT_OW/STRU deleted file mode 100644 index 7f7a971c9a..0000000000 --- a/tests/02_NAO_Gamma/023_NO_GO_NVT_OW/STRU +++ /dev/null @@ -1,22 +0,0 @@ -ATOMIC_SPECIES -Si 14 Si_dojo_nsoc.upf - -NUMERICAL_ORBITAL -Si_dojo_6au_sz.orb - -LATTICE_CONSTANT -10.2 - -LATTICE_VECTORS -0 0.5 0.5 #latvec1 -0.5 0 0.5 #latvec2 -0.5 0.5 0 #latvec3 - -ATOMIC_POSITIONS -Cartesian - -Si #label -0 #magnetism -2 #number of atoms -0 0 0 m 1 1 1 v 7.84179508201e-05 0.000114236741577 8.28212578036e-05 -0.241 0.255 0.250999999999 m 1 1 1 v -7.84179508201e-05 -0.000114236741577 -8.28212578036e-05 diff --git a/tests/02_NAO_Gamma/025_NO_GO_BS/INPUT b/tests/02_NAO_Gamma/110_NO_GO_BS/INPUT similarity index 100% rename from tests/02_NAO_Gamma/025_NO_GO_BS/INPUT rename to tests/02_NAO_Gamma/110_NO_GO_BS/INPUT diff --git a/tests/02_NAO_Gamma/004_NO_GO_FM/KPT b/tests/02_NAO_Gamma/110_NO_GO_BS/KPT similarity index 100% rename from tests/02_NAO_Gamma/004_NO_GO_FM/KPT rename to tests/02_NAO_Gamma/110_NO_GO_BS/KPT diff --git a/tests/02_NAO_Gamma/025_NO_GO_BS/README b/tests/02_NAO_Gamma/110_NO_GO_BS/README similarity index 100% rename from tests/02_NAO_Gamma/025_NO_GO_BS/README rename to tests/02_NAO_Gamma/110_NO_GO_BS/README diff --git a/tests/02_NAO_Gamma/025_NO_GO_BS/STRU b/tests/02_NAO_Gamma/110_NO_GO_BS/STRU similarity index 100% rename from tests/02_NAO_Gamma/025_NO_GO_BS/STRU rename to tests/02_NAO_Gamma/110_NO_GO_BS/STRU diff --git a/tests/02_NAO_Gamma/025_NO_GO_BS/result.ref b/tests/02_NAO_Gamma/110_NO_GO_BS/result.ref similarity index 100% rename from tests/02_NAO_Gamma/025_NO_GO_BS/result.ref rename to tests/02_NAO_Gamma/110_NO_GO_BS/result.ref diff --git a/tests/02_NAO_Gamma/013_NO_GO_get_wf/INPUT b/tests/02_NAO_Gamma/111_NO_GO_get_wf/INPUT similarity index 100% rename from tests/02_NAO_Gamma/013_NO_GO_get_wf/INPUT rename to tests/02_NAO_Gamma/111_NO_GO_get_wf/INPUT diff --git a/tests/02_NAO_Gamma/005_NO_GO_ocp/KPT b/tests/02_NAO_Gamma/111_NO_GO_get_wf/KPT similarity index 100% rename from tests/02_NAO_Gamma/005_NO_GO_ocp/KPT rename to tests/02_NAO_Gamma/111_NO_GO_get_wf/KPT diff --git a/tests/02_NAO_Gamma/013_NO_GO_get_wf/README b/tests/02_NAO_Gamma/111_NO_GO_get_wf/README similarity index 100% rename from tests/02_NAO_Gamma/013_NO_GO_get_wf/README rename to tests/02_NAO_Gamma/111_NO_GO_get_wf/README diff --git a/tests/02_NAO_Gamma/017_NO_GO_mulliken/STRU b/tests/02_NAO_Gamma/111_NO_GO_get_wf/STRU similarity index 100% rename from tests/02_NAO_Gamma/017_NO_GO_mulliken/STRU rename to tests/02_NAO_Gamma/111_NO_GO_get_wf/STRU diff --git a/tests/02_NAO_Gamma/013_NO_GO_get_wf/result.ref b/tests/02_NAO_Gamma/111_NO_GO_get_wf/result.ref similarity index 100% rename from tests/02_NAO_Gamma/013_NO_GO_get_wf/result.ref rename to tests/02_NAO_Gamma/111_NO_GO_get_wf/result.ref diff --git a/tests/02_NAO_Gamma/013_NO_GO_get_wf/wfs1_nao.txt b/tests/02_NAO_Gamma/111_NO_GO_get_wf/wfs1_nao.txt similarity index 100% rename from tests/02_NAO_Gamma/013_NO_GO_get_wf/wfs1_nao.txt rename to tests/02_NAO_Gamma/111_NO_GO_get_wf/wfs1_nao.txt diff --git a/tests/02_NAO_Gamma/013_NO_GO_get_wf/wfs2_nao.txt b/tests/02_NAO_Gamma/111_NO_GO_get_wf/wfs2_nao.txt similarity index 100% rename from tests/02_NAO_Gamma/013_NO_GO_get_wf/wfs2_nao.txt rename to tests/02_NAO_Gamma/111_NO_GO_get_wf/wfs2_nao.txt diff --git a/tests/02_NAO_Gamma/015_NO_GO_get_pchg/INPUT b/tests/02_NAO_Gamma/114_NO_GO_get_pchg/INPUT similarity index 87% rename from tests/02_NAO_Gamma/015_NO_GO_get_pchg/INPUT rename to tests/02_NAO_Gamma/114_NO_GO_get_pchg/INPUT index 2404831564..5aee334d31 100644 --- a/tests/02_NAO_Gamma/015_NO_GO_get_pchg/INPUT +++ b/tests/02_NAO_Gamma/114_NO_GO_get_pchg/INPUT @@ -1,5 +1,6 @@ INPUT_PARAMETERS basis_type lcao +nspin 1 gamma_only 1 calculation get_pchg @@ -15,4 +16,4 @@ read_file_dir ./ pseudo_dir ../../PP_ORB orbital_dir ../../PP_ORB -out_pchg 4*1 \ No newline at end of file +out_pchg 4*1 diff --git a/tests/02_NAO_Gamma/006_NO_GO_OH/KPT b/tests/02_NAO_Gamma/114_NO_GO_get_pchg/KPT similarity index 100% rename from tests/02_NAO_Gamma/006_NO_GO_OH/KPT rename to tests/02_NAO_Gamma/114_NO_GO_get_pchg/KPT diff --git a/tests/02_NAO_Gamma/015_NO_GO_get_pchg/README b/tests/02_NAO_Gamma/114_NO_GO_get_pchg/README similarity index 100% rename from tests/02_NAO_Gamma/015_NO_GO_get_pchg/README rename to tests/02_NAO_Gamma/114_NO_GO_get_pchg/README diff --git a/tests/02_NAO_Gamma/018_NO_GO_ODM/STRU b/tests/02_NAO_Gamma/114_NO_GO_get_pchg/STRU similarity index 100% rename from tests/02_NAO_Gamma/018_NO_GO_ODM/STRU rename to tests/02_NAO_Gamma/114_NO_GO_get_pchg/STRU diff --git a/tests/02_NAO_Gamma/015_NO_GO_get_pchg/result.ref b/tests/02_NAO_Gamma/114_NO_GO_get_pchg/result.ref similarity index 100% rename from tests/02_NAO_Gamma/015_NO_GO_get_pchg/result.ref rename to tests/02_NAO_Gamma/114_NO_GO_get_pchg/result.ref diff --git a/tests/02_NAO_Gamma/015_NO_GO_get_pchg/wfs1_nao.txt b/tests/02_NAO_Gamma/114_NO_GO_get_pchg/wf_nao.txt similarity index 100% rename from tests/02_NAO_Gamma/015_NO_GO_get_pchg/wfs1_nao.txt rename to tests/02_NAO_Gamma/114_NO_GO_get_pchg/wf_nao.txt diff --git a/tests/02_NAO_Gamma/017_NO_GO_mulliken/INPUT b/tests/02_NAO_Gamma/115_NO_GO_mulliken/INPUT similarity index 100% rename from tests/02_NAO_Gamma/017_NO_GO_mulliken/INPUT rename to tests/02_NAO_Gamma/115_NO_GO_mulliken/INPUT diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/KPT b/tests/02_NAO_Gamma/115_NO_GO_mulliken/KPT similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/KPT rename to tests/02_NAO_Gamma/115_NO_GO_mulliken/KPT diff --git a/tests/02_NAO_Gamma/017_NO_GO_mulliken/README b/tests/02_NAO_Gamma/115_NO_GO_mulliken/README similarity index 100% rename from tests/02_NAO_Gamma/017_NO_GO_mulliken/README rename to tests/02_NAO_Gamma/115_NO_GO_mulliken/README diff --git a/tests/02_NAO_Gamma/115_NO_GO_mulliken/STRU b/tests/02_NAO_Gamma/115_NO_GO_mulliken/STRU new file mode 100644 index 0000000000..30af97b4b4 --- /dev/null +++ b/tests/02_NAO_Gamma/115_NO_GO_mulliken/STRU @@ -0,0 +1,19 @@ +#This is the atom file containing all the information +#about the lattice structure. + +ATOMIC_SPECIES +H 1.0008 H_ONCV_PBE-1.0.upf + +NUMERICAL_ORBITAL +H_gga_6au_60Ry_2s1p.orb + +LATTICE_CONSTANT +10.0 #Lattice constant + +ATOMIC_POSITIONS +Cartesian #Cartesian(Unit is LATTICE_CONSTANT) +H #Name of element +0.0 #Magnetic for this element. +2 #Number of atoms +0.00 0.00 -0.0661400 0 0 0 #x,y,z, move_x, move_y, move_z +0.00 0.00 0.0661400 0 0 0 #x,y,z, move_x, move_y, move_z diff --git a/tests/02_NAO_Gamma/017_NO_GO_mulliken/mulliken.txt.ref b/tests/02_NAO_Gamma/115_NO_GO_mulliken/mulliken.txt.ref similarity index 100% rename from tests/02_NAO_Gamma/017_NO_GO_mulliken/mulliken.txt.ref rename to tests/02_NAO_Gamma/115_NO_GO_mulliken/mulliken.txt.ref diff --git a/tests/02_NAO_Gamma/017_NO_GO_mulliken/result.ref b/tests/02_NAO_Gamma/115_NO_GO_mulliken/result.ref similarity index 100% rename from tests/02_NAO_Gamma/017_NO_GO_mulliken/result.ref rename to tests/02_NAO_Gamma/115_NO_GO_mulliken/result.ref diff --git a/tests/02_NAO_Gamma/001_NO_GO_15_CF_CS/INPUT b/tests/02_NAO_Gamma/131_NO_GO_15_CF_CS/INPUT similarity index 100% rename from tests/02_NAO_Gamma/001_NO_GO_15_CF_CS/INPUT rename to tests/02_NAO_Gamma/131_NO_GO_15_CF_CS/INPUT diff --git a/tests/02_NAO_Gamma/008_NO_GO_CF_RE/KPT b/tests/02_NAO_Gamma/131_NO_GO_15_CF_CS/KPT similarity index 100% rename from tests/02_NAO_Gamma/008_NO_GO_CF_RE/KPT rename to tests/02_NAO_Gamma/131_NO_GO_15_CF_CS/KPT diff --git a/tests/02_NAO_Gamma/001_NO_GO_15_CF_CS/README b/tests/02_NAO_Gamma/131_NO_GO_15_CF_CS/README similarity index 100% rename from tests/02_NAO_Gamma/001_NO_GO_15_CF_CS/README rename to tests/02_NAO_Gamma/131_NO_GO_15_CF_CS/README diff --git a/tests/02_NAO_Gamma/001_NO_GO_15_CF_CS/STRU b/tests/02_NAO_Gamma/131_NO_GO_15_CF_CS/STRU similarity index 100% rename from tests/02_NAO_Gamma/001_NO_GO_15_CF_CS/STRU rename to tests/02_NAO_Gamma/131_NO_GO_15_CF_CS/STRU diff --git a/tests/02_NAO_Gamma/001_NO_GO_15_CF_CS/result.ref b/tests/02_NAO_Gamma/131_NO_GO_15_CF_CS/result.ref similarity index 100% rename from tests/02_NAO_Gamma/001_NO_GO_15_CF_CS/result.ref rename to tests/02_NAO_Gamma/131_NO_GO_15_CF_CS/result.ref diff --git a/tests/02_NAO_Gamma/008_NO_GO_CF_RE/INPUT b/tests/02_NAO_Gamma/132_NO_GO_CF_RE/INPUT similarity index 100% rename from tests/02_NAO_Gamma/008_NO_GO_CF_RE/INPUT rename to tests/02_NAO_Gamma/132_NO_GO_CF_RE/INPUT diff --git a/tests/02_NAO_Gamma/009_NO_GO_CS_CR/KPT b/tests/02_NAO_Gamma/132_NO_GO_CF_RE/KPT similarity index 100% rename from tests/02_NAO_Gamma/009_NO_GO_CS_CR/KPT rename to tests/02_NAO_Gamma/132_NO_GO_CF_RE/KPT diff --git a/tests/02_NAO_Gamma/008_NO_GO_CF_RE/README b/tests/02_NAO_Gamma/132_NO_GO_CF_RE/README similarity index 100% rename from tests/02_NAO_Gamma/008_NO_GO_CF_RE/README rename to tests/02_NAO_Gamma/132_NO_GO_CF_RE/README diff --git a/tests/02_NAO_Gamma/008_NO_GO_CF_RE/STRU b/tests/02_NAO_Gamma/132_NO_GO_CF_RE/STRU similarity index 100% rename from tests/02_NAO_Gamma/008_NO_GO_CF_RE/STRU rename to tests/02_NAO_Gamma/132_NO_GO_CF_RE/STRU diff --git a/tests/02_NAO_Gamma/008_NO_GO_CF_RE/result.ref b/tests/02_NAO_Gamma/132_NO_GO_CF_RE/result.ref similarity index 100% rename from tests/02_NAO_Gamma/008_NO_GO_CF_RE/result.ref rename to tests/02_NAO_Gamma/132_NO_GO_CF_RE/result.ref diff --git a/tests/02_NAO_Gamma/009_NO_GO_CS_CR/INPUT b/tests/02_NAO_Gamma/133_NO_GO_CS_CR/INPUT similarity index 100% rename from tests/02_NAO_Gamma/009_NO_GO_CS_CR/INPUT rename to tests/02_NAO_Gamma/133_NO_GO_CS_CR/INPUT diff --git a/tests/02_NAO_Gamma/010_NO_GO_RE_MB/KPT b/tests/02_NAO_Gamma/133_NO_GO_CS_CR/KPT similarity index 100% rename from tests/02_NAO_Gamma/010_NO_GO_RE_MB/KPT rename to tests/02_NAO_Gamma/133_NO_GO_CS_CR/KPT diff --git a/tests/02_NAO_Gamma/009_NO_GO_CS_CR/README b/tests/02_NAO_Gamma/133_NO_GO_CS_CR/README similarity index 100% rename from tests/02_NAO_Gamma/009_NO_GO_CS_CR/README rename to tests/02_NAO_Gamma/133_NO_GO_CS_CR/README diff --git a/tests/02_NAO_Gamma/009_NO_GO_CS_CR/STRU b/tests/02_NAO_Gamma/133_NO_GO_CS_CR/STRU similarity index 100% rename from tests/02_NAO_Gamma/009_NO_GO_CS_CR/STRU rename to tests/02_NAO_Gamma/133_NO_GO_CS_CR/STRU diff --git a/tests/02_NAO_Gamma/009_NO_GO_CS_CR/result.ref b/tests/02_NAO_Gamma/133_NO_GO_CS_CR/result.ref similarity index 100% rename from tests/02_NAO_Gamma/009_NO_GO_CS_CR/result.ref rename to tests/02_NAO_Gamma/133_NO_GO_CS_CR/result.ref diff --git a/tests/02_NAO_Gamma/010_NO_GO_RE_MB/INPUT b/tests/02_NAO_Gamma/134_NO_GO_RE_MB/INPUT similarity index 95% rename from tests/02_NAO_Gamma/010_NO_GO_RE_MB/INPUT rename to tests/02_NAO_Gamma/134_NO_GO_RE_MB/INPUT index 71cb9f7036..f0d05d15e8 100644 --- a/tests/02_NAO_Gamma/010_NO_GO_RE_MB/INPUT +++ b/tests/02_NAO_Gamma/134_NO_GO_RE_MB/INPUT @@ -17,7 +17,7 @@ scf_nmax 100 relax_nmax 2 cal_force 1 force_thr_ev 0.01 -relax_method bfgs +relax_method bfgs 2 #Parameters (4.Basis) basis_type lcao diff --git a/tests/02_NAO_Gamma/011_NO_GO_elec_minus/KPT b/tests/02_NAO_Gamma/134_NO_GO_RE_MB/KPT similarity index 100% rename from tests/02_NAO_Gamma/011_NO_GO_elec_minus/KPT rename to tests/02_NAO_Gamma/134_NO_GO_RE_MB/KPT diff --git a/tests/02_NAO_Gamma/010_NO_GO_RE_MB/README b/tests/02_NAO_Gamma/134_NO_GO_RE_MB/README similarity index 100% rename from tests/02_NAO_Gamma/010_NO_GO_RE_MB/README rename to tests/02_NAO_Gamma/134_NO_GO_RE_MB/README diff --git a/tests/02_NAO_Gamma/134_NO_GO_RE_MB/STRU b/tests/02_NAO_Gamma/134_NO_GO_RE_MB/STRU new file mode 100644 index 0000000000..f4a07dbf54 --- /dev/null +++ b/tests/02_NAO_Gamma/134_NO_GO_RE_MB/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 28 Si_ONCV_PBE-1.0.upf upf201 + +NUMERICAL_ORBITAL +Si_gga_8au_60Ry_2s2p1d.orb + +LATTICE_CONSTANT +10.2 + +LATTICE_VECTORS +0.0 0.5 0.5 +0.5 0.0 0.5 +0.5 0.5 0.0 + +ATOMIC_POSITIONS +Direct + +Si +0.0 +2 +0.00 0.00 0.00 1 1 1 +0.251 0.251 0.251 1 1 1 diff --git a/tests/02_NAO_Gamma/010_NO_GO_RE_MB/result.ref b/tests/02_NAO_Gamma/134_NO_GO_RE_MB/result.ref similarity index 100% rename from tests/02_NAO_Gamma/010_NO_GO_RE_MB/result.ref rename to tests/02_NAO_Gamma/134_NO_GO_RE_MB/result.ref diff --git a/tests/02_NAO_Gamma/011_NO_GO_elec_minus/INPUT b/tests/02_NAO_Gamma/135_NO_GO_elec_minus/INPUT similarity index 100% rename from tests/02_NAO_Gamma/011_NO_GO_elec_minus/INPUT rename to tests/02_NAO_Gamma/135_NO_GO_elec_minus/INPUT diff --git a/tests/02_NAO_Gamma/012_NO_GO_S2_elec_minus/KPT b/tests/02_NAO_Gamma/135_NO_GO_elec_minus/KPT similarity index 100% rename from tests/02_NAO_Gamma/012_NO_GO_S2_elec_minus/KPT rename to tests/02_NAO_Gamma/135_NO_GO_elec_minus/KPT diff --git a/tests/02_NAO_Gamma/011_NO_GO_elec_minus/README b/tests/02_NAO_Gamma/135_NO_GO_elec_minus/README similarity index 100% rename from tests/02_NAO_Gamma/011_NO_GO_elec_minus/README rename to tests/02_NAO_Gamma/135_NO_GO_elec_minus/README diff --git a/tests/02_NAO_Gamma/011_NO_GO_elec_minus/STRU b/tests/02_NAO_Gamma/135_NO_GO_elec_minus/STRU similarity index 100% rename from tests/02_NAO_Gamma/011_NO_GO_elec_minus/STRU rename to tests/02_NAO_Gamma/135_NO_GO_elec_minus/STRU diff --git a/tests/02_NAO_Gamma/011_NO_GO_elec_minus/result.ref b/tests/02_NAO_Gamma/135_NO_GO_elec_minus/result.ref similarity index 100% rename from tests/02_NAO_Gamma/011_NO_GO_elec_minus/result.ref rename to tests/02_NAO_Gamma/135_NO_GO_elec_minus/result.ref diff --git a/tests/02_NAO_Gamma/012_NO_GO_S2_elec_minus/INPUT b/tests/02_NAO_Gamma/136_NO_GO_S2_elec_minus/INPUT similarity index 100% rename from tests/02_NAO_Gamma/012_NO_GO_S2_elec_minus/INPUT rename to tests/02_NAO_Gamma/136_NO_GO_S2_elec_minus/INPUT diff --git a/tests/02_NAO_Gamma/013_NO_GO_get_wf/KPT b/tests/02_NAO_Gamma/136_NO_GO_S2_elec_minus/KPT similarity index 100% rename from tests/02_NAO_Gamma/013_NO_GO_get_wf/KPT rename to tests/02_NAO_Gamma/136_NO_GO_S2_elec_minus/KPT diff --git a/tests/02_NAO_Gamma/012_NO_GO_S2_elec_minus/README b/tests/02_NAO_Gamma/136_NO_GO_S2_elec_minus/README similarity index 100% rename from tests/02_NAO_Gamma/012_NO_GO_S2_elec_minus/README rename to tests/02_NAO_Gamma/136_NO_GO_S2_elec_minus/README diff --git a/tests/02_NAO_Gamma/012_NO_GO_S2_elec_minus/STRU b/tests/02_NAO_Gamma/136_NO_GO_S2_elec_minus/STRU similarity index 100% rename from tests/02_NAO_Gamma/012_NO_GO_S2_elec_minus/STRU rename to tests/02_NAO_Gamma/136_NO_GO_S2_elec_minus/STRU diff --git a/tests/02_NAO_Gamma/012_NO_GO_S2_elec_minus/result.ref b/tests/02_NAO_Gamma/136_NO_GO_S2_elec_minus/result.ref similarity index 100% rename from tests/02_NAO_Gamma/012_NO_GO_S2_elec_minus/result.ref rename to tests/02_NAO_Gamma/136_NO_GO_S2_elec_minus/result.ref diff --git a/tests/02_NAO_Gamma/019_NO_GO_sol_H2O/INPUT b/tests/02_NAO_Gamma/137_NO_GO_sol_H2O/INPUT similarity index 100% rename from tests/02_NAO_Gamma/019_NO_GO_sol_H2O/INPUT rename to tests/02_NAO_Gamma/137_NO_GO_sol_H2O/INPUT diff --git a/tests/02_NAO_Gamma/014_NO_GO_wfc_file/KPT b/tests/02_NAO_Gamma/137_NO_GO_sol_H2O/KPT similarity index 100% rename from tests/02_NAO_Gamma/014_NO_GO_wfc_file/KPT rename to tests/02_NAO_Gamma/137_NO_GO_sol_H2O/KPT diff --git a/tests/02_NAO_Gamma/019_NO_GO_sol_H2O/README b/tests/02_NAO_Gamma/137_NO_GO_sol_H2O/README similarity index 100% rename from tests/02_NAO_Gamma/019_NO_GO_sol_H2O/README rename to tests/02_NAO_Gamma/137_NO_GO_sol_H2O/README diff --git a/tests/02_NAO_Gamma/019_NO_GO_sol_H2O/STRU b/tests/02_NAO_Gamma/137_NO_GO_sol_H2O/STRU similarity index 100% rename from tests/02_NAO_Gamma/019_NO_GO_sol_H2O/STRU rename to tests/02_NAO_Gamma/137_NO_GO_sol_H2O/STRU diff --git a/tests/02_NAO_Gamma/019_NO_GO_sol_H2O/result.ref b/tests/02_NAO_Gamma/137_NO_GO_sol_H2O/result.ref similarity index 100% rename from tests/02_NAO_Gamma/019_NO_GO_sol_H2O/result.ref rename to tests/02_NAO_Gamma/137_NO_GO_sol_H2O/result.ref diff --git a/tests/02_NAO_Gamma/020_NO_GO_SCAN_Si2/INPUT b/tests/02_NAO_Gamma/138_NO_GO_SCAN_Si2/INPUT similarity index 100% rename from tests/02_NAO_Gamma/020_NO_GO_SCAN_Si2/INPUT rename to tests/02_NAO_Gamma/138_NO_GO_SCAN_Si2/INPUT diff --git a/tests/02_NAO_Gamma/020_NO_GO_SCAN_Si2/README b/tests/02_NAO_Gamma/138_NO_GO_SCAN_Si2/README similarity index 100% rename from tests/02_NAO_Gamma/020_NO_GO_SCAN_Si2/README rename to tests/02_NAO_Gamma/138_NO_GO_SCAN_Si2/README diff --git a/tests/02_NAO_Gamma/020_NO_GO_SCAN_Si2/STRU b/tests/02_NAO_Gamma/138_NO_GO_SCAN_Si2/STRU similarity index 100% rename from tests/02_NAO_Gamma/020_NO_GO_SCAN_Si2/STRU rename to tests/02_NAO_Gamma/138_NO_GO_SCAN_Si2/STRU diff --git a/tests/02_NAO_Gamma/020_NO_GO_SCAN_Si2/result.ref b/tests/02_NAO_Gamma/138_NO_GO_SCAN_Si2/result.ref similarity index 100% rename from tests/02_NAO_Gamma/020_NO_GO_SCAN_Si2/result.ref rename to tests/02_NAO_Gamma/138_NO_GO_SCAN_Si2/result.ref diff --git a/tests/02_NAO_Gamma/024_NO_GO_FeBiTe/INPUT b/tests/02_NAO_Gamma/139_NO_GO_FeBiTe/INPUT similarity index 100% rename from tests/02_NAO_Gamma/024_NO_GO_FeBiTe/INPUT rename to tests/02_NAO_Gamma/139_NO_GO_FeBiTe/INPUT diff --git a/tests/02_NAO_Gamma/015_NO_GO_get_pchg/KPT b/tests/02_NAO_Gamma/139_NO_GO_FeBiTe/KPT similarity index 100% rename from tests/02_NAO_Gamma/015_NO_GO_get_pchg/KPT rename to tests/02_NAO_Gamma/139_NO_GO_FeBiTe/KPT diff --git a/tests/02_NAO_Gamma/024_NO_GO_FeBiTe/STRU b/tests/02_NAO_Gamma/139_NO_GO_FeBiTe/STRU similarity index 100% rename from tests/02_NAO_Gamma/024_NO_GO_FeBiTe/STRU rename to tests/02_NAO_Gamma/139_NO_GO_FeBiTe/STRU diff --git a/tests/02_NAO_Gamma/024_NO_GO_FeBiTe/result.ref b/tests/02_NAO_Gamma/139_NO_GO_FeBiTe/result.ref similarity index 100% rename from tests/02_NAO_Gamma/024_NO_GO_FeBiTe/result.ref rename to tests/02_NAO_Gamma/139_NO_GO_FeBiTe/result.ref diff --git a/tests/02_NAO_Gamma/005_NO_GO_ocp/INPUT b/tests/02_NAO_Gamma/140_NO_GO_ocp/INPUT similarity index 100% rename from tests/02_NAO_Gamma/005_NO_GO_ocp/INPUT rename to tests/02_NAO_Gamma/140_NO_GO_ocp/INPUT diff --git a/tests/02_NAO_Gamma/016_NO_GO_OW/KPT b/tests/02_NAO_Gamma/140_NO_GO_ocp/KPT similarity index 100% rename from tests/02_NAO_Gamma/016_NO_GO_OW/KPT rename to tests/02_NAO_Gamma/140_NO_GO_ocp/KPT diff --git a/tests/02_NAO_Gamma/005_NO_GO_ocp/README b/tests/02_NAO_Gamma/140_NO_GO_ocp/README similarity index 100% rename from tests/02_NAO_Gamma/005_NO_GO_ocp/README rename to tests/02_NAO_Gamma/140_NO_GO_ocp/README diff --git a/tests/02_NAO_Gamma/005_NO_GO_ocp/STRU b/tests/02_NAO_Gamma/140_NO_GO_ocp/STRU similarity index 100% rename from tests/02_NAO_Gamma/005_NO_GO_ocp/STRU rename to tests/02_NAO_Gamma/140_NO_GO_ocp/STRU diff --git a/tests/02_NAO_Gamma/005_NO_GO_ocp/result.ref b/tests/02_NAO_Gamma/140_NO_GO_ocp/result.ref similarity index 100% rename from tests/02_NAO_Gamma/005_NO_GO_ocp/result.ref rename to tests/02_NAO_Gamma/140_NO_GO_ocp/result.ref diff --git a/tests/02_NAO_Gamma/005_NO_GO_ocp/threshold b/tests/02_NAO_Gamma/140_NO_GO_ocp/threshold similarity index 100% rename from tests/02_NAO_Gamma/005_NO_GO_ocp/threshold rename to tests/02_NAO_Gamma/140_NO_GO_ocp/threshold diff --git a/tests/02_NAO_Gamma/021_NO_GO_MSST/INPUT b/tests/02_NAO_Gamma/141_NO_GO_MSST/INPUT similarity index 100% rename from tests/02_NAO_Gamma/021_NO_GO_MSST/INPUT rename to tests/02_NAO_Gamma/141_NO_GO_MSST/INPUT diff --git a/tests/02_NAO_Gamma/021_NO_GO_MSST/README b/tests/02_NAO_Gamma/141_NO_GO_MSST/README similarity index 100% rename from tests/02_NAO_Gamma/021_NO_GO_MSST/README rename to tests/02_NAO_Gamma/141_NO_GO_MSST/README diff --git a/tests/02_NAO_Gamma/021_NO_GO_MSST/STRU b/tests/02_NAO_Gamma/141_NO_GO_MSST/STRU similarity index 100% rename from tests/02_NAO_Gamma/021_NO_GO_MSST/STRU rename to tests/02_NAO_Gamma/141_NO_GO_MSST/STRU diff --git a/tests/02_NAO_Gamma/141_NO_GO_MSST/result.ref b/tests/02_NAO_Gamma/141_NO_GO_MSST/result.ref new file mode 100644 index 0000000000..36d41df666 --- /dev/null +++ b/tests/02_NAO_Gamma/141_NO_GO_MSST/result.ref @@ -0,0 +1,5 @@ +etotref -207.1644382026449 +etotperatomref -103.5822191013 +totalforceref 4.003278 +totalstressref 98.512702 +totaltimeref 2.52 diff --git a/tests/02_NAO_Gamma/022_NO_GO_MSST2/INPUT b/tests/02_NAO_Gamma/142_NO_GO_MSST2/INPUT similarity index 100% rename from tests/02_NAO_Gamma/022_NO_GO_MSST2/INPUT rename to tests/02_NAO_Gamma/142_NO_GO_MSST2/INPUT diff --git a/tests/02_NAO_Gamma/017_NO_GO_mulliken/KPT b/tests/02_NAO_Gamma/142_NO_GO_MSST2/KPT similarity index 100% rename from tests/02_NAO_Gamma/017_NO_GO_mulliken/KPT rename to tests/02_NAO_Gamma/142_NO_GO_MSST2/KPT diff --git a/tests/02_NAO_Gamma/022_NO_GO_MSST2/README b/tests/02_NAO_Gamma/142_NO_GO_MSST2/README similarity index 100% rename from tests/02_NAO_Gamma/022_NO_GO_MSST2/README rename to tests/02_NAO_Gamma/142_NO_GO_MSST2/README diff --git a/tests/02_NAO_Gamma/022_NO_GO_MSST2/STRU b/tests/02_NAO_Gamma/142_NO_GO_MSST2/STRU similarity index 100% rename from tests/02_NAO_Gamma/022_NO_GO_MSST2/STRU rename to tests/02_NAO_Gamma/142_NO_GO_MSST2/STRU diff --git a/tests/02_NAO_Gamma/142_NO_GO_MSST2/result.ref b/tests/02_NAO_Gamma/142_NO_GO_MSST2/result.ref new file mode 100644 index 0000000000..d7f5a647fa --- /dev/null +++ b/tests/02_NAO_Gamma/142_NO_GO_MSST2/result.ref @@ -0,0 +1,5 @@ +etotref -207.0265694269335 +etotperatomref -103.5132847135 +totalforceref 4.002666 +totalstressref 98.468360 +totaltimeref 2.79 diff --git a/tests/02_NAO_Gamma/143_NO_GO_AF/INPUT b/tests/02_NAO_Gamma/143_NO_GO_AF/INPUT new file mode 100644 index 0000000000..63f9ebc504 --- /dev/null +++ b/tests/02_NAO_Gamma/143_NO_GO_AF/INPUT @@ -0,0 +1,24 @@ +INPUT_PARAMETERS + +calculation scf +ecutwfc 8 +scf_thr 1.0e-8 +scf_nmax 50 +#out_chg 1 + +smearing_method gaussian +smearing_sigma 0.02 + +mixing_type broyden +mixing_beta 0.4 +mixing_gg0 0.0 + +ks_solver scalapack_gvx +basis_type lcao +gamma_only 1 +symmetry 0 +nspin 2 + +suffix autotest +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB diff --git a/tests/02_NAO_Gamma/018_NO_GO_ODM/KPT b/tests/02_NAO_Gamma/143_NO_GO_AF/KPT similarity index 100% rename from tests/02_NAO_Gamma/018_NO_GO_ODM/KPT rename to tests/02_NAO_Gamma/143_NO_GO_AF/KPT diff --git a/tests/02_NAO_Gamma/002_NO_GO_AF/README b/tests/02_NAO_Gamma/143_NO_GO_AF/README similarity index 100% rename from tests/02_NAO_Gamma/002_NO_GO_AF/README rename to tests/02_NAO_Gamma/143_NO_GO_AF/README diff --git a/tests/02_NAO_Gamma/002_NO_GO_AF/STRU b/tests/02_NAO_Gamma/143_NO_GO_AF/STRU similarity index 100% rename from tests/02_NAO_Gamma/002_NO_GO_AF/STRU rename to tests/02_NAO_Gamma/143_NO_GO_AF/STRU diff --git a/tests/02_NAO_Gamma/002_NO_GO_AF/result.ref b/tests/02_NAO_Gamma/143_NO_GO_AF/result.ref similarity index 100% rename from tests/02_NAO_Gamma/002_NO_GO_AF/result.ref rename to tests/02_NAO_Gamma/143_NO_GO_AF/result.ref diff --git a/tests/02_NAO_Gamma/002_NO_GO_AF/threshold b/tests/02_NAO_Gamma/143_NO_GO_AF/threshold similarity index 100% rename from tests/02_NAO_Gamma/002_NO_GO_AF/threshold rename to tests/02_NAO_Gamma/143_NO_GO_AF/threshold diff --git a/tests/02_NAO_Gamma/003_NO_GO_AF_mag/INPUT b/tests/02_NAO_Gamma/144_NO_GO_AF_mag/INPUT similarity index 100% rename from tests/02_NAO_Gamma/003_NO_GO_AF_mag/INPUT rename to tests/02_NAO_Gamma/144_NO_GO_AF_mag/INPUT diff --git a/tests/02_NAO_Gamma/019_NO_GO_sol_H2O/KPT b/tests/02_NAO_Gamma/144_NO_GO_AF_mag/KPT similarity index 100% rename from tests/02_NAO_Gamma/019_NO_GO_sol_H2O/KPT rename to tests/02_NAO_Gamma/144_NO_GO_AF_mag/KPT diff --git a/tests/02_NAO_Gamma/003_NO_GO_AF_mag/README b/tests/02_NAO_Gamma/144_NO_GO_AF_mag/README similarity index 100% rename from tests/02_NAO_Gamma/003_NO_GO_AF_mag/README rename to tests/02_NAO_Gamma/144_NO_GO_AF_mag/README diff --git a/tests/02_NAO_Gamma/003_NO_GO_AF_mag/STRU b/tests/02_NAO_Gamma/144_NO_GO_AF_mag/STRU similarity index 100% rename from tests/02_NAO_Gamma/003_NO_GO_AF_mag/STRU rename to tests/02_NAO_Gamma/144_NO_GO_AF_mag/STRU diff --git a/tests/02_NAO_Gamma/003_NO_GO_AF_mag/mulliken.txt.ref b/tests/02_NAO_Gamma/144_NO_GO_AF_mag/mulliken.txt.ref similarity index 100% rename from tests/02_NAO_Gamma/003_NO_GO_AF_mag/mulliken.txt.ref rename to tests/02_NAO_Gamma/144_NO_GO_AF_mag/mulliken.txt.ref diff --git a/tests/02_NAO_Gamma/003_NO_GO_AF_mag/result.ref b/tests/02_NAO_Gamma/144_NO_GO_AF_mag/result.ref similarity index 100% rename from tests/02_NAO_Gamma/003_NO_GO_AF_mag/result.ref rename to tests/02_NAO_Gamma/144_NO_GO_AF_mag/result.ref diff --git a/tests/02_NAO_Gamma/004_NO_GO_FM/INPUT b/tests/02_NAO_Gamma/145_NO_GO_FM/INPUT similarity index 100% rename from tests/02_NAO_Gamma/004_NO_GO_FM/INPUT rename to tests/02_NAO_Gamma/145_NO_GO_FM/INPUT diff --git a/tests/02_NAO_Gamma/022_NO_GO_MSST2/KPT b/tests/02_NAO_Gamma/145_NO_GO_FM/KPT similarity index 100% rename from tests/02_NAO_Gamma/022_NO_GO_MSST2/KPT rename to tests/02_NAO_Gamma/145_NO_GO_FM/KPT diff --git a/tests/02_NAO_Gamma/004_NO_GO_FM/README b/tests/02_NAO_Gamma/145_NO_GO_FM/README similarity index 100% rename from tests/02_NAO_Gamma/004_NO_GO_FM/README rename to tests/02_NAO_Gamma/145_NO_GO_FM/README diff --git a/tests/02_NAO_Gamma/004_NO_GO_FM/STRU b/tests/02_NAO_Gamma/145_NO_GO_FM/STRU similarity index 100% rename from tests/02_NAO_Gamma/004_NO_GO_FM/STRU rename to tests/02_NAO_Gamma/145_NO_GO_FM/STRU diff --git a/tests/02_NAO_Gamma/004_NO_GO_FM/result.ref b/tests/02_NAO_Gamma/145_NO_GO_FM/result.ref similarity index 100% rename from tests/02_NAO_Gamma/004_NO_GO_FM/result.ref rename to tests/02_NAO_Gamma/145_NO_GO_FM/result.ref diff --git a/tests/02_NAO_Gamma/026_NO_GO_PU_AF/INPUT b/tests/02_NAO_Gamma/146_NO_GO_PU_AF/INPUT similarity index 100% rename from tests/02_NAO_Gamma/026_NO_GO_PU_AF/INPUT rename to tests/02_NAO_Gamma/146_NO_GO_PU_AF/INPUT diff --git a/tests/02_NAO_Gamma/024_NO_GO_FeBiTe/KPT b/tests/02_NAO_Gamma/146_NO_GO_PU_AF/KPT similarity index 100% rename from tests/02_NAO_Gamma/024_NO_GO_FeBiTe/KPT rename to tests/02_NAO_Gamma/146_NO_GO_PU_AF/KPT diff --git a/tests/02_NAO_Gamma/026_NO_GO_PU_AF/README b/tests/02_NAO_Gamma/146_NO_GO_PU_AF/README similarity index 100% rename from tests/02_NAO_Gamma/026_NO_GO_PU_AF/README rename to tests/02_NAO_Gamma/146_NO_GO_PU_AF/README diff --git a/tests/02_NAO_Gamma/026_NO_GO_PU_AF/STRU b/tests/02_NAO_Gamma/146_NO_GO_PU_AF/STRU similarity index 100% rename from tests/02_NAO_Gamma/026_NO_GO_PU_AF/STRU rename to tests/02_NAO_Gamma/146_NO_GO_PU_AF/STRU diff --git a/tests/02_NAO_Gamma/026_NO_GO_PU_AF/result.ref b/tests/02_NAO_Gamma/146_NO_GO_PU_AF/result.ref similarity index 100% rename from tests/02_NAO_Gamma/026_NO_GO_PU_AF/result.ref rename to tests/02_NAO_Gamma/146_NO_GO_PU_AF/result.ref diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/INPUT b/tests/02_NAO_Gamma/147_NO_GO_OXC/INPUT similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/INPUT rename to tests/02_NAO_Gamma/147_NO_GO_OXC/INPUT diff --git a/tests/02_NAO_Gamma/025_NO_GO_BS/KPT b/tests/02_NAO_Gamma/147_NO_GO_OXC/KPT similarity index 100% rename from tests/02_NAO_Gamma/025_NO_GO_BS/KPT rename to tests/02_NAO_Gamma/147_NO_GO_OXC/KPT diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/README b/tests/02_NAO_Gamma/147_NO_GO_OXC/README similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/README rename to tests/02_NAO_Gamma/147_NO_GO_OXC/README diff --git a/tests/02_NAO_Gamma/147_NO_GO_OXC/STRU b/tests/02_NAO_Gamma/147_NO_GO_OXC/STRU new file mode 100644 index 0000000000..697ce08219 --- /dev/null +++ b/tests/02_NAO_Gamma/147_NO_GO_OXC/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 14 Si_ONCV_PBE-1.0.upf upf201 + +NUMERICAL_ORBITAL +Si_gga_8au_60Ry_2s2p1d.orb + +LATTICE_CONSTANT +20 // add lattice constant + +LATTICE_VECTORS +0.0 0.5 0.5 +0.5 0.0 0.5 +0.5 0.5 0.0 + +ATOMIC_POSITIONS +Direct + +Si // Element type +0.0 // magnetism +2 +0.00 0.00 0.00 1 1 1 +0.25 0.25 0.25 1 1 1 diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/Vxc_R_spin0.ref b/tests/02_NAO_Gamma/147_NO_GO_OXC/Vxc_R_spin0.ref similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/Vxc_R_spin0.ref rename to tests/02_NAO_Gamma/147_NO_GO_OXC/Vxc_R_spin0.ref diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/kinetic_out.ref b/tests/02_NAO_Gamma/147_NO_GO_OXC/kinetic_out.ref similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/kinetic_out.ref rename to tests/02_NAO_Gamma/147_NO_GO_OXC/kinetic_out.ref diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/result.ref b/tests/02_NAO_Gamma/147_NO_GO_OXC/result.ref similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/result.ref rename to tests/02_NAO_Gamma/147_NO_GO_OXC/result.ref diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/vhartree_out.ref b/tests/02_NAO_Gamma/147_NO_GO_OXC/vhartree_out.ref similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/vhartree_out.ref rename to tests/02_NAO_Gamma/147_NO_GO_OXC/vhartree_out.ref diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/vpp_local_out.ref b/tests/02_NAO_Gamma/147_NO_GO_OXC/vpp_local_out.ref similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/vpp_local_out.ref rename to tests/02_NAO_Gamma/147_NO_GO_OXC/vpp_local_out.ref diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/vpp_nonlocal_out.ref b/tests/02_NAO_Gamma/147_NO_GO_OXC/vpp_nonlocal_out.ref similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/vpp_nonlocal_out.ref rename to tests/02_NAO_Gamma/147_NO_GO_OXC/vpp_nonlocal_out.ref diff --git a/tests/02_NAO_Gamma/147_NO_GO_OXC/vxc_nao.txt.ref b/tests/02_NAO_Gamma/147_NO_GO_OXC/vxc_nao.txt.ref new file mode 100644 index 0000000000..928cc55fda --- /dev/null +++ b/tests/02_NAO_Gamma/147_NO_GO_OXC/vxc_nao.txt.ref @@ -0,0 +1,19 @@ +#------------------------------------------------------------------------ +# ionic step 0 +# filename OUT.autotest/vxc_nao.txt +# gamma only 1 +# rows 6 +# columns 6 +#------------------------------------------------------------------------ +Row 1 + -6.84690722e-01 -8.83711720e-07 3.07396085e-16 -2.58938613e-16 4.20655377e-16 -3.02896732e-16 +Row 2 + -7.14929921e-01 3.44009688e-16 3.58682784e-17 2.06556129e-16 -5.92093671e-16 +Row 3 + -5.93223965e-01 -8.19837896e-18 2.92934486e-16 1.71874896e-06 +Row 4 + -5.93223965e-01 1.09189323e-16 -6.32572300e-08 +Row 5 + -5.93223965e-01 -2.56551521e-08 +Row 6 + -6.19565208e-01 diff --git a/tests/02_NAO_Gamma/007_NO_GO_OXC/vxc_out.ref b/tests/02_NAO_Gamma/147_NO_GO_OXC/vxc_out.ref similarity index 100% rename from tests/02_NAO_Gamma/007_NO_GO_OXC/vxc_out.ref rename to tests/02_NAO_Gamma/147_NO_GO_OXC/vxc_out.ref diff --git a/tests/02_NAO_Gamma/CASES_CPU.txt b/tests/02_NAO_Gamma/CASES_CPU.txt index f56b3e3a62..378efc18fc 100644 --- a/tests/02_NAO_Gamma/CASES_CPU.txt +++ b/tests/02_NAO_Gamma/CASES_CPU.txt @@ -1,26 +1,37 @@ -001_NO_GO_15_CF_CS -002_NO_GO_AF -003_NO_GO_AF_mag -004_NO_GO_FM -005_NO_GO_ocp -006_NO_GO_OH -007_NO_GO_OXC -008_NO_GO_CF_RE -009_NO_GO_CS_CR -010_NO_GO_RE_MB -011_NO_GO_elec_minus -012_NO_GO_S2_elec_minus -013_NO_GO_get_wf -014_NO_GO_wfc_file -015_NO_GO_get_pchg -016_NO_GO_OW -017_NO_GO_mulliken -018_NO_GO_ODM -019_NO_GO_sol_H2O -020_NO_GO_SCAN_Si2 -021_NO_GO_MSST -022_NO_GO_MSST2 -023_NO_GO_NVT_OW -024_NO_GO_FeBiTe -025_NO_GO_BS -026_NO_GO_PU_AF +001_NO_GO_OHK +002_NO_GO_OHK2 +003_NO_GO_RE_OHK +004_NO_GO_RE_OHK2 +005_NO_GO_MD_OHK +006_NO_GO_MD_OHK2 +#007_NO_GO_OHR +008_NO_GO_OW +#009_NO_GO_OW2 +#010_NO_GO_RE_OW +#011_NO_GO_RE_OW2 +#012_NO_GO_MD_OW +#013_NO_GO_MD_OW2 +014_NO_GO_IW +#015_NO_GO_IW2 +016_NO_GO_ODM +110_NO_GO_BS +111_NO_GO_get_wf +114_NO_GO_get_pchg +115_NO_GO_mulliken +131_NO_GO_15_CF_CS +132_NO_GO_CF_RE +133_NO_GO_CS_CR +134_NO_GO_RE_MB +135_NO_GO_elec_minus +136_NO_GO_S2_elec_minus +137_NO_GO_sol_H2O +138_NO_GO_SCAN_Si2 +139_NO_GO_FeBiTe +140_NO_GO_ocp +141_NO_GO_MSST +142_NO_GO_MSST2 +143_NO_GO_AF +144_NO_GO_AF_mag +145_NO_GO_FM +146_NO_GO_PU_AF +147_NO_GO_OXC diff --git a/tests/03_NAO_multik/01_NO_KP_15f_ODM/pot_es.cube.ref b/tests/03_NAO_multik/01_NO_KP_15f_ODM/potes.cube.ref similarity index 100% rename from tests/03_NAO_multik/01_NO_KP_15f_ODM/pot_es.cube.ref rename to tests/03_NAO_multik/01_NO_KP_15f_ODM/potes.cube.ref diff --git a/tests/03_NAO_multik/02_NO_KP_15/INPUT b/tests/03_NAO_multik/02_NO_KP_15/INPUT index 4f0cca65d3..50aa01baa7 100644 --- a/tests/03_NAO_multik/02_NO_KP_15/INPUT +++ b/tests/03_NAO_multik/02_NO_KP_15/INPUT @@ -4,7 +4,7 @@ suffix autotest calculation scf nbands 6 -symmetry 1 +symmetry 0 pseudo_dir ../../PP_ORB orbital_dir ../../PP_ORB gamma_only 0 @@ -21,6 +21,9 @@ basis_type lcao #Parameters (4.Smearing) smearing_method gauss smearing_sigma 0.002 +init_chg dm +#out_dmr 1 +read_file_dir ./ #Parameters (5.Mixing) mixing_type broyden diff --git a/tests/03_NAO_multik/02_NO_KP_15/dmrs1_nao.csr b/tests/03_NAO_multik/02_NO_KP_15/dmrs1_nao.csr new file mode 100644 index 0000000000..53ffd0b63e --- /dev/null +++ b/tests/03_NAO_multik/02_NO_KP_15/dmrs1_nao.csr @@ -0,0 +1,55 @@ +IONIC_STEP: 1 +Matrix Dimension of DM(R): 26 +Matrix number of DM(R): 13 +-1 0 0 507 + 6.73361942e-04 -3.97537772e-05 7.92408229e-04 -2.08943763e-02 1.31266047e-04 -1.72965599e-05 5.42656099e-04 7.00477616e-06 3.94541403e-06 4.81371689e-08 -1.20934462e-04 -7.37597696e-06 -1.16470146e-05 -2.30970536e-02 5.66887190e-03 -1.83768890e-04 -6.04318066e-05 4.79903222e-05 -2.02907584e-03 -2.10279721e-03 1.92358576e-03 -5.47231757e-08 -1.60788675e-03 1.48588589e-03 -5.25276936e-05 1.54738933e-03 -3.97537772e-05 1.60670407e-05 -2.12667446e-04 8.26935955e-03 7.98001436e-06 4.25595524e-06 -2.30924551e-04 1.75054518e-06 -2.62363319e-06 -1.61175046e-06 9.06842324e-06 4.37520218e-06 3.04562873e-06 5.94037473e-03 -3.35393364e-04 4.11745563e-03 4.02735793e-03 -4.26787793e-03 -1.05916310e-04 -9.60150546e-05 1.11812472e-04 1.96413971e-07 1.93401252e-05 -6.19264361e-06 -2.84529967e-06 -1.29767783e-05 7.92408229e-04 -2.12667446e-04 -2.14829023e-02 -3.71268150e-03 1.75293540e-02 4.88599897e-04 9.01879561e-05 -2.04695642e-03 7.52737246e-05 1.59938622e-03 1.22639815e-04 -1.39228798e-04 3.19255962e-04 2.09662763e-06 -4.04833836e-03 -5.36715690e-02 -2.44138640e-01 2.21052348e-01 2.33518808e-05 5.92110603e-03 -5.21750510e-03 -8.88773026e-04 1.73137916e-03 -1.86241064e-03 1.52367404e-04 -1.73326849e-03 -2.08943763e-02 8.26935955e-03 -3.71268150e-03 -1.81977887e-01 -1.89085567e-02 1.40640772e-04 4.95961374e-03 4.61074437e-04 9.19749440e-04 1.52966528e-04 1.40876300e-03 -1.55859666e-03 -4.40258755e-05 -8.15517156e-05 -3.87799502e-03 -2.43868036e-01 -7.16630172e-02 2.34367319e-01 5.83941993e-03 4.12201360e-04 -5.51280191e-03 4.53245914e-04 1.98883091e-03 -1.97088972e-03 -6.39785684e-04 -2.02052298e-03 1.31266047e-04 7.98001436e-06 1.75293540e-02 -1.89085567e-02 -2.08026443e-02 -2.04072172e-03 3.33041135e-04 4.72221132e-04 1.06213432e-04 3.10813800e-04 2.12351595e-04 -4.96620554e-06 1.58339328e-03 1.14474191e-04 4.13501486e-03 2.21022945e-01 2.34513293e-01 -3.14277441e-02 -5.37854297e-03 -5.76269634e-03 -5.38296209e-04 -3.52799019e-04 -1.41761428e-03 1.61511410e-03 -7.72206803e-04 1.51421276e-03 -1.72965599e-05 4.25595524e-06 4.88599897e-04 1.40640772e-04 -2.04072172e-03 -1.57823544e-05 -4.39825444e-06 9.12826691e-05 -1.27991946e-06 -2.31224839e-05 -2.72506963e-06 3.80797434e-06 -1.05398619e-05 2.31797641e-03 9.94342201e-05 8.40500891e-05 5.94337156e-03 -5.46740884e-03 2.38849929e-05 -1.49379862e-04 1.34427742e-04 1.50846888e-05 -3.54165283e-05 4.25840113e-05 -4.27319573e-06 2.97436636e-05 5.42656099e-04 -2.30924551e-04 9.01879561e-05 4.95961374e-03 3.33041135e-04 -4.39825444e-06 -1.28104111e-04 -9.01745553e-06 -1.61753760e-05 -2.13841414e-06 -3.53600279e-05 2.74194417e-05 1.83218511e-06 2.40771110e-03 9.15295789e-05 6.06657551e-03 5.58610719e-04 -5.82300543e-03 -1.49956653e-04 1.22086375e-05 1.42290366e-04 -8.39813516e-06 -4.15542569e-05 3.60498903e-05 1.00704641e-05 4.49706024e-05 7.00477616e-06 1.75054518e-06 -2.04695642e-03 4.61074437e-04 4.72221132e-04 9.12826691e-05 -9.01745553e-06 -1.53380790e-05 -2.22079191e-06 -1.03262115e-05 -4.00517617e-06 -1.64895602e-08 -2.27178464e-05 -2.22301970e-03 -1.07877289e-04 -5.37624081e-03 -5.61031003e-03 -4.01763639e-04 1.35489660e-04 1.42989791e-04 3.79055304e-05 5.39509780e-06 2.24733557e-05 -3.61413449e-05 1.32282734e-05 -3.23124980e-05 3.94541403e-06 -2.62363319e-06 7.52737246e-05 9.19749440e-04 1.06213432e-04 -1.27991946e-06 -1.61753760e-05 -2.22079191e-06 -9.34885278e-07 -1.20221699e-06 -1.25341370e-05 2.91206873e-07 -1.66578969e-06 -2.43071797e-07 -2.86358914e-07 8.85894806e-04 -4.55645634e-04 3.51863680e-04 -1.49866022e-05 8.21974934e-06 -5.06922523e-06 6.28992205e-06 5.57191371e-06 -5.68520737e-06 2.85704469e-07 1.25586484e-05 4.81371689e-08 -1.61175046e-06 1.59938622e-03 1.52966528e-04 3.10813800e-04 -2.31224839e-05 -2.13841414e-06 -1.03262115e-05 -1.20221699e-06 -5.82926895e-06 -2.42238671e-06 1.76507771e-08 -1.98888934e-05 -1.54432729e-03 1.99491717e-05 -1.68902008e-03 -1.96572509e-03 1.37253496e-03 3.42841905e-05 4.04904295e-05 -2.02684488e-05 5.50844326e-06 1.52786244e-05 -2.04037581e-05 1.09640961e-05 -1.67291900e-05 -1.20934462e-04 9.06842324e-06 1.22639815e-04 1.40876300e-03 2.12351595e-04 -2.72506963e-06 -3.53600279e-05 -4.00517617e-06 -1.25341370e-05 -2.42238671e-06 -1.00227308e-05 2.11474313e-05 -1.03082780e-06 1.42206233e-03 -7.24007071e-06 1.82357183e-03 1.92551919e-03 -1.60786809e-03 -4.09493519e-05 -3.33531383e-05 3.44249429e-05 -5.60896386e-06 -2.07810848e-05 3.07999331e-05 9.09812263e-06 2.34815694e-05 -7.37597696e-06 4.37520218e-06 -1.39228798e-04 -1.55859666e-03 -4.96620554e-06 3.80797434e-06 2.74194417e-05 -1.64895602e-08 2.91206873e-07 1.76507771e-08 2.11474313e-05 -1.19495073e-06 5.11705169e-07 -5.19099848e-05 -2.66335103e-06 -1.50808329e-04 6.38070122e-04 7.70527997e-04 4.12883227e-06 -1.04591462e-05 -1.35261994e-05 2.52154614e-07 1.07864540e-05 8.89189683e-06 6.17212951e-06 -9.84746047e-07 -1.16470146e-05 3.04562873e-06 3.19255962e-04 -4.40258755e-05 1.58339328e-03 -1.05398619e-05 1.83218511e-06 -2.27178464e-05 -1.66578969e-06 -1.98888934e-05 -1.03082780e-06 5.11705169e-07 -5.95160958e-06 1.47631583e-03 -1.16926507e-05 1.70725211e-03 2.00321284e-03 -1.49575572e-03 -2.87870079e-05 -4.32676487e-05 3.03095393e-05 1.25949487e-05 -1.73577445e-05 2.38041797e-05 -9.90651717e-07 2.40545549e-05 6.75660007e-04 -3.70583968e-05 -7.60183549e-04 2.09274361e-02 -1.51406289e-04 -1.64162023e-06 -5.54621534e-04 8.02440447e-06 3.71527257e-06 1.41830964e-06 -1.20903168e-04 -7.05570119e-06 -1.46557977e-05 -3.70583968e-05 1.50522051e-05 2.16903688e-04 -8.22741963e-03 6.71138355e-06 -3.48363816e-06 2.29517192e-04 9.16193695e-07 -2.54427436e-06 -5.37690715e-07 9.28543243e-06 4.37638627e-06 3.64659964e-06 -7.60183549e-04 2.16903688e-04 -2.12881964e-02 -3.67288888e-03 1.76032039e-02 4.85036763e-04 1.05677681e-04 -2.04259252e-03 -7.38170330e-05 -1.59888601e-03 -1.10916847e-04 1.38435699e-04 -3.17602844e-04 2.09274361e-02 -8.22741963e-03 -3.67288888e-03 -1.82082090e-01 -1.90264795e-02 3.35823876e-05 4.94466670e-03 5.70967741e-04 -9.18925056e-04 -1.17448539e-04 -1.40231869e-03 1.56254351e-03 -2.57406725e-06 -1.51406289e-04 6.71138355e-06 1.76032039e-02 -1.90264795e-02 -2.08557672e-02 -2.04011682e-03 3.53343551e-04 4.82257184e-04 -1.05167768e-04 -3.06738183e-04 -2.05459987e-04 5.27889387e-06 -1.58582400e-03 -1.64162023e-06 -3.48363816e-06 4.85036763e-04 3.35823876e-05 -2.04011682e-03 -1.51869930e-05 -6.98851141e-07 9.03878041e-05 1.27799009e-06 2.30237241e-05 3.22070996e-06 -3.75439524e-06 1.05310605e-05 -5.54621534e-04 2.29517192e-04 1.05677681e-04 4.94466670e-03 3.53343551e-04 -6.98851141e-07 -1.27406033e-04 -1.24035629e-05 1.61114847e-05 1.80762506e-06 3.51900561e-05 -2.73107074e-05 3.94949154e-08 8.02440447e-06 9.16193695e-07 -2.04259252e-03 5.70967741e-04 4.82257184e-04 9.03878041e-05 -1.24035629e-05 -1.53786153e-05 2.71694594e-06 1.02971341e-05 4.34454045e-06 -9.81035752e-07 2.27171575e-05 3.71527257e-06 -2.54427436e-06 -7.38170330e-05 -9.18925056e-04 -1.05167768e-04 1.27799009e-06 1.61114847e-05 2.71694594e-06 -8.99249570e-07 -1.00005934e-06 -1.24953939e-05 2.66013274e-07 -1.65640447e-06 1.41830964e-06 -5.37690715e-07 -1.59888601e-03 -1.17448539e-04 -3.06738183e-04 2.30237241e-05 1.80762506e-06 1.02971341e-05 -1.00005934e-06 -5.72796451e-06 -2.00165153e-06 -3.38554894e-07 -1.98226003e-05 -1.20903168e-04 9.28543243e-06 -1.10916847e-04 -1.40231869e-03 -2.05459987e-04 3.22070996e-06 3.51900561e-05 4.34454045e-06 -1.24953939e-05 -2.00165153e-06 -9.81822232e-06 2.11801885e-05 -6.70871051e-07 -7.05570119e-06 4.37638627e-06 1.38435699e-04 1.56254351e-03 5.27889387e-06 -3.75439524e-06 -2.73107074e-05 -9.81035752e-07 2.66013274e-07 -3.38554894e-07 2.11801885e-05 -1.19986110e-06 5.24586487e-07 -1.46557977e-05 3.64659964e-06 -3.17602844e-04 -2.57406725e-06 -1.58582400e-03 1.05310605e-05 3.94949154e-08 2.27171575e-05 -1.65640447e-06 -1.98226003e-05 -6.70871051e-07 5.24586487e-07 -5.94200596e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 26 52 78 104 130 156 182 208 234 260 286 312 338 351 364 377 390 403 416 429 442 455 468 481 494 507 +-1 0 1 338 + 9.71085217e-04 -5.39348870e-05 -7.82534933e-04 -1.12629834e-04 2.28947051e-02 -4.36601610e-06 -8.06803305e-06 -7.06290632e-04 4.12868179e-06 1.15246216e-04 4.10506076e-06 7.21610794e-06 1.69048349e-05 -5.39348870e-05 3.75923941e-05 2.13260123e-04 -8.32275071e-06 -8.28899270e-03 -4.01966247e-06 -1.25495233e-06 2.31714385e-04 2.53846290e-06 -1.03995572e-05 8.51559750e-07 4.24952023e-06 -3.30483140e-06 -7.82534933e-04 2.13260123e-04 2.12260058e-02 -1.88611657e-02 4.49743116e-03 -4.28539915e-04 2.00461619e-03 -2.98277030e-05 -7.48913815e-05 1.27504318e-05 -1.72695364e-03 -1.44978187e-04 -2.85669752e-04 -1.12629834e-04 -8.32275071e-06 -1.88611657e-02 2.06041132e-02 1.89297857e-02 1.99716134e-03 -4.10802222e-04 -3.32065905e-04 5.26255113e-06 -2.07560882e-04 -2.79617879e-04 5.85336743e-05 -1.71158075e-03 2.28947051e-02 -8.28899270e-03 4.49743116e-03 1.89297857e-02 -2.51030638e-01 -6.97149552e-05 -5.79195367e-04 5.87964879e-03 -7.58572004e-04 2.52034017e-03 -8.98211232e-05 -1.29388692e-03 -1.19719034e-04 -4.36601610e-06 -4.01966247e-06 -4.28539915e-04 1.99716134e-03 -6.97149552e-05 1.72996833e-06 -8.91563251e-05 5.55982718e-07 1.25402677e-06 -1.54915996e-06 2.64578367e-05 3.83703323e-06 2.60875899e-06 -8.06803305e-06 -1.25495233e-06 2.00461619e-03 -4.10802222e-04 -5.79195367e-04 -8.91563251e-05 1.20450077e-06 1.19334873e-05 -6.39506503e-07 4.76540983e-06 2.43465918e-06 -1.38199706e-06 2.60428974e-05 -7.06290632e-04 2.31714385e-04 -2.98277030e-05 -3.32065905e-04 5.87964879e-03 5.55982718e-07 1.19334873e-05 -1.32121017e-04 1.22464831e-05 -5.65057823e-05 6.06232335e-07 2.09370319e-05 1.52372290e-06 4.12868179e-06 2.53846290e-06 -7.48913815e-05 5.26255113e-06 -7.58572004e-04 1.25402677e-06 -6.39506503e-07 1.22464831e-05 7.63410118e-07 1.11093842e-05 1.08692028e-07 2.55846362e-07 1.84499944e-06 1.15246216e-04 -1.03995572e-05 1.27504318e-05 -2.07560882e-04 2.52034017e-03 -1.54915996e-06 4.76540983e-06 -5.65057823e-05 1.11093842e-05 -2.15933355e-05 1.82532486e-06 1.88266319e-05 1.25079886e-06 4.10506076e-06 8.51559750e-07 -1.72695364e-03 -2.79617879e-04 -8.98211232e-05 2.64578367e-05 2.43465918e-06 6.06232335e-07 1.08692028e-07 1.82532486e-06 1.28177961e-06 -4.95456302e-07 2.20350761e-05 7.21610794e-06 4.24952023e-06 -1.44978187e-04 5.85336743e-05 -1.29388692e-03 3.83703323e-06 -1.38199706e-06 2.09370319e-05 2.55846362e-07 1.88266319e-05 -4.95456302e-07 1.10150480e-06 5.83536261e-07 1.69048349e-05 -3.30483140e-06 -2.85669752e-04 -1.71158075e-03 -1.19719034e-04 2.60875899e-06 2.60428974e-05 1.52372290e-06 1.84499944e-06 1.25079886e-06 2.20350761e-05 5.83536261e-07 1.25888020e-06 9.73358697e-04 -5.24497521e-05 7.71791276e-04 1.26566916e-04 -2.29247964e-02 -1.15752095e-05 -5.84545877e-06 7.19758021e-04 4.19780550e-06 1.16006584e-04 1.69924216e-06 7.32000399e-06 1.21633219e-05 -5.24497521e-05 3.67228436e-05 -2.14994175e-04 -1.24687861e-05 8.23015024e-03 4.60503564e-06 -1.14862855e-06 -2.30017748e-04 2.45015475e-06 -1.06511582e-05 -2.80630140e-07 4.24054409e-06 -2.69920059e-06 7.71791276e-04 -2.14994175e-04 2.10343535e-02 -1.89470691e-02 4.54940609e-03 -4.27187482e-04 2.00198249e-03 -4.87863270e-05 7.35030715e-05 -2.64818782e-05 1.72950757e-03 1.45111271e-04 2.83888757e-04 1.26566916e-04 -1.24687861e-05 -1.89470691e-02 2.06649222e-02 1.89833575e-02 1.99039120e-03 -4.24913256e-04 -3.39360139e-04 -6.81302687e-06 2.00339240e-04 2.75085383e-04 -5.92197483e-05 1.71326927e-03 -2.29247964e-02 8.23015024e-03 4.54940609e-03 1.89833575e-02 -2.50832380e-01 5.33732012e-05 -4.13388431e-04 5.83183195e-03 7.66323778e-04 -2.51496652e-03 1.50325116e-04 1.29681999e-03 1.68779109e-04 -1.15752095e-05 4.60503564e-06 -4.27187482e-04 1.99039120e-03 5.33732012e-05 2.04807668e-06 -8.81771803e-05 -3.45556406e-06 -1.24927244e-06 1.15957686e-06 -2.65596570e-05 -3.78423205e-06 -2.77897092e-06 -5.84545877e-06 -1.14862855e-06 2.00198249e-03 -4.24913256e-04 -4.13388431e-04 -8.81771803e-05 2.23914575e-06 8.12114536e-06 2.23858063e-07 -3.48181621e-06 -2.58085711e-06 5.59776877e-07 -2.61227899e-05 7.19758021e-04 -2.30017748e-04 -4.87863270e-05 -3.39360139e-04 5.83183195e-03 -3.45556406e-06 8.12114536e-06 -1.30557911e-04 -1.23291589e-05 5.59860131e-05 -1.69660670e-06 -2.08151108e-05 -3.49791356e-06 4.19780550e-06 2.45015475e-06 7.35030715e-05 -6.81302687e-06 7.66323778e-04 -1.24927244e-06 2.23858063e-07 -1.23291589e-05 7.37765619e-07 1.11765612e-05 -5.91716112e-08 2.37232914e-07 1.83193233e-06 1.16006584e-04 -1.06511582e-05 -2.64818782e-05 2.00339240e-04 -2.51496652e-03 1.15957686e-06 -3.48181621e-06 5.59860131e-05 1.11765612e-05 -2.15196201e-05 2.28329556e-06 1.88698103e-05 8.46277756e-07 1.69924216e-06 -2.80630140e-07 1.72950757e-03 2.75085383e-04 1.50325116e-04 -2.65596570e-05 -2.58085711e-06 -1.69660670e-06 -5.91716112e-08 2.28329556e-06 1.10854705e-06 -8.00955041e-07 2.19288060e-05 7.32000399e-06 4.24054409e-06 1.45111271e-04 -5.92197483e-05 1.29681999e-03 -3.78423205e-06 5.59776877e-07 -2.08151108e-05 2.37232914e-07 1.88698103e-05 -8.00955041e-07 1.10635148e-06 6.06165209e-07 1.21633219e-05 -2.69920059e-06 2.83888757e-04 1.71326927e-03 1.68779109e-04 -2.77897092e-06 -2.61227899e-05 -3.49791356e-06 1.83193233e-06 8.46277756e-07 2.19288060e-05 6.06165209e-07 1.18296820e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 182 195 208 221 234 247 260 273 286 299 312 325 338 +-1 1 0 314 + 8.00191823e-04 -5.87354670e-05 -2.15487940e-02 7.66760554e-04 7.66760554e-04 5.79664525e-04 -7.14099363e-06 -7.14099363e-06 -7.82059509e-06 -1.13448964e-05 -1.13448964e-05 -1.24491448e-04 -5.87354670e-05 2.31851909e-05 8.34376508e-03 -2.15531485e-04 -2.15531485e-04 -2.32461259e-04 4.34485113e-06 4.34485113e-06 9.91808434e-07 2.72052752e-06 2.72052752e-06 8.94449176e-06 -2.15487940e-02 8.34376508e-03 -2.06932720e-01 -1.79956951e-02 -1.79956951e-02 5.31351769e-03 5.31750642e-04 5.31750642e-04 -1.68310116e-03 4.85404194e-05 4.85404194e-05 1.78049713e-03 7.66760554e-04 -2.15531485e-04 -1.79956951e-02 4.10592132e-03 1.86127797e-02 3.54165425e-04 -4.06760377e-05 -2.02985282e-03 -2.12467694e-04 1.63440378e-03 -3.13237152e-05 -3.80330475e-05 2.69080937e-04 7.66760554e-04 -2.15531485e-04 -1.79956951e-02 1.86127797e-02 4.10592132e-03 3.54165425e-04 -2.02985282e-03 -4.06760377e-05 -2.12467694e-04 -3.13237152e-05 1.63440378e-03 3.80330475e-05 2.69080937e-04 5.79664525e-04 -2.32461259e-04 5.31351769e-03 3.54165425e-04 3.54165425e-04 -1.30377522e-04 -1.20574908e-05 -1.20574908e-05 2.85649901e-05 1.25818052e-07 1.25818052e-07 -4.25052695e-05 -7.14099363e-06 4.34485113e-06 5.31750642e-04 -4.06760377e-05 -2.02985282e-03 -1.20574908e-05 -6.50696410e-06 9.03552037e-05 5.21054342e-06 -2.41440578e-05 -2.61806781e-06 1.72409542e-06 -6.15471610e-06 -7.14099363e-06 4.34485113e-06 5.31750642e-04 -2.02985282e-03 -4.06760377e-05 -1.20574908e-05 9.03552037e-05 -6.50696410e-06 5.21054342e-06 -2.61806781e-06 -2.41440578e-05 -1.72409542e-06 -6.15471610e-06 -7.82059509e-06 9.91808434e-07 -1.68310116e-03 -2.12467694e-04 -2.12467694e-04 2.85649901e-05 5.21054342e-06 5.21054342e-06 7.34061477e-07 1.81143976e-06 1.81143976e-06 2.34668312e-05 -1.13448964e-05 2.72052752e-06 4.85404194e-05 1.63440378e-03 -3.13237152e-05 1.25818052e-07 -2.41440578e-05 -2.61806781e-06 1.81143976e-06 -2.10338601e-06 -2.05844595e-05 8.94007524e-07 -2.09281114e-06 -1.13448964e-05 2.72052752e-06 4.85404194e-05 -3.13237152e-05 1.63440378e-03 1.25818052e-07 -2.61806781e-06 -2.41440578e-05 1.81143976e-06 -2.05844595e-05 -2.10338601e-06 -8.94007524e-07 -2.09281114e-06 -3.80330475e-05 3.80330475e-05 1.72409542e-06 -1.72409542e-06 8.94007524e-07 -8.94007524e-07 1.92518589e-07 -1.24491448e-04 8.94449176e-06 1.78049713e-03 2.69080937e-04 2.69080937e-04 -4.25052695e-05 -6.15471610e-06 -6.15471610e-06 2.34668312e-05 -2.09281114e-06 -2.09281114e-06 -1.34870436e-05 8.16435485e-04 -4.34560325e-05 2.16989349e-02 -7.61794638e-04 -7.61794638e-04 -6.37180982e-04 6.39657600e-06 6.39657600e-06 -7.76766664e-06 -1.12762136e-05 -1.12762136e-05 -1.23026063e-04 -4.34560325e-05 2.56551279e-05 -8.18703017e-03 2.20932884e-04 2.20932884e-04 2.29769813e-04 -4.59485855e-06 -4.59485855e-06 1.78988980e-08 2.72943586e-06 2.72943586e-06 1.00491890e-05 2.16989349e-02 -8.18703017e-03 -2.06565600e-01 -1.79997021e-02 -1.79997021e-02 5.14854770e-03 5.40088650e-04 5.40088650e-04 1.68700198e-03 -4.31460992e-05 -4.31460992e-05 -1.81811033e-03 -7.61794638e-04 2.20932884e-04 -1.79997021e-02 3.78294925e-03 1.87514707e-02 3.53407664e-04 -1.01363895e-05 -2.03409318e-03 2.14694489e-04 -1.63539304e-03 4.23692834e-05 3.93485777e-05 -2.67534175e-04 -7.61794638e-04 2.20932884e-04 -1.79997021e-02 1.87514707e-02 3.78294925e-03 3.53407664e-04 -2.03409318e-03 -1.01363895e-05 2.14694489e-04 4.23692834e-05 -1.63539304e-03 -3.93485777e-05 -2.67534175e-04 -6.37180982e-04 2.29769813e-04 5.14854770e-03 3.53407664e-04 3.53407664e-04 -1.22636886e-04 -1.21436270e-05 -1.21436270e-05 -2.84631798e-05 -2.11405637e-07 -2.11405637e-07 4.35697451e-05 6.39657600e-06 -4.59485855e-06 5.40088650e-04 -1.01363895e-05 -2.03409318e-03 -1.21436270e-05 -4.79824282e-06 8.87240864e-05 -5.36472971e-06 2.42749794e-05 3.38336064e-06 -1.73037555e-06 6.27995462e-06 6.39657600e-06 -4.59485855e-06 5.40088650e-04 -2.03409318e-03 -1.01363895e-05 -1.21436270e-05 8.87240864e-05 -4.79824282e-06 -5.36472971e-06 3.38336064e-06 2.42749794e-05 1.73037555e-06 6.27995462e-06 -7.76766664e-06 1.78988980e-08 1.68700198e-03 2.14694489e-04 2.14694489e-04 -2.84631798e-05 -5.36472971e-06 -5.36472971e-06 7.64740405e-07 1.76825758e-06 1.76825758e-06 2.35272294e-05 -1.12762136e-05 2.72943586e-06 -4.31460992e-05 -1.63539304e-03 4.23692834e-05 -2.11405637e-07 2.42749794e-05 3.38336064e-06 1.76825758e-06 -1.56608428e-06 -2.03379520e-05 8.92242809e-07 -1.97462922e-06 -1.12762136e-05 2.72943586e-06 -4.31460992e-05 4.23692834e-05 -1.63539304e-03 -2.11405637e-07 3.38336064e-06 2.42749794e-05 1.76825758e-06 -2.03379520e-05 -1.56608428e-06 -8.92242809e-07 -1.97462922e-06 3.93485777e-05 -3.93485777e-05 -1.73037555e-06 1.73037555e-06 8.92242809e-07 -8.92242809e-07 1.99858664e-07 -1.23026063e-04 1.00491890e-05 -1.81811033e-03 -2.67534175e-04 -2.67534175e-04 4.35697451e-05 6.27995462e-06 6.27995462e-06 2.35272294e-05 -1.97462922e-06 -1.97462922e-06 -1.30828454e-05 + 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 3 4 6 7 9 10 11 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 16 17 19 20 22 23 24 13 14 15 16 17 18 19 20 21 22 23 25 + 0 12 24 36 49 62 74 87 100 112 125 138 145 157 169 181 193 206 219 231 244 257 269 282 295 302 314 +0 -1 0 507 + 6.73361942e-04 -3.97537772e-05 7.92408229e-04 1.31266047e-04 -2.08943763e-02 -1.72965599e-05 7.00477616e-06 5.42656099e-04 3.94541403e-06 -1.20934462e-04 4.81371689e-08 7.37597696e-06 -1.16470146e-05 -2.30970536e-02 5.66887190e-03 -1.83768890e-04 4.79903222e-05 -6.04318066e-05 -2.02907584e-03 1.92358576e-03 -2.10279721e-03 -5.47231757e-08 1.48588589e-03 -1.60788675e-03 5.25276936e-05 1.54738933e-03 -3.97537772e-05 1.60670407e-05 -2.12667446e-04 7.98001436e-06 8.26935955e-03 4.25595524e-06 1.75054518e-06 -2.30924551e-04 -2.62363319e-06 9.06842324e-06 -1.61175046e-06 -4.37520218e-06 3.04562873e-06 5.94037473e-03 -3.35393364e-04 4.11745563e-03 -4.26787793e-03 4.02735793e-03 -1.05916310e-04 1.11812472e-04 -9.60150546e-05 1.96413971e-07 -6.19264361e-06 1.93401252e-05 2.84529967e-06 -1.29767783e-05 7.92408229e-04 -2.12667446e-04 -2.14829023e-02 1.75293540e-02 -3.71268150e-03 4.88599897e-04 -2.04695642e-03 9.01879561e-05 7.52737246e-05 1.22639815e-04 1.59938622e-03 1.39228798e-04 3.19255962e-04 2.09662763e-06 -4.04833836e-03 -5.36715690e-02 2.21052348e-01 -2.44138640e-01 2.33518808e-05 -5.21750510e-03 5.92110603e-03 -8.88773026e-04 -1.86241064e-03 1.73137916e-03 -1.52367404e-04 -1.73326849e-03 1.31266047e-04 7.98001436e-06 1.75293540e-02 -2.08026443e-02 -1.89085567e-02 -2.04072172e-03 4.72221132e-04 3.33041135e-04 1.06213432e-04 2.12351595e-04 3.10813800e-04 4.96620554e-06 1.58339328e-03 1.14474191e-04 4.13501486e-03 2.21022945e-01 -3.14277441e-02 2.34513293e-01 -5.37854297e-03 -5.38296209e-04 -5.76269634e-03 -3.52799019e-04 1.61511410e-03 -1.41761428e-03 7.72206803e-04 1.51421276e-03 -2.08943763e-02 8.26935955e-03 -3.71268150e-03 -1.89085567e-02 -1.81977887e-01 1.40640772e-04 4.61074437e-04 4.95961374e-03 9.19749440e-04 1.40876300e-03 1.52966528e-04 1.55859666e-03 -4.40258755e-05 -8.15517156e-05 -3.87799502e-03 -2.43868036e-01 2.34367319e-01 -7.16630172e-02 5.83941993e-03 -5.51280191e-03 4.12201360e-04 4.53245914e-04 -1.97088972e-03 1.98883091e-03 6.39785684e-04 -2.02052298e-03 -1.72965599e-05 4.25595524e-06 4.88599897e-04 -2.04072172e-03 1.40640772e-04 -1.57823544e-05 9.12826691e-05 -4.39825444e-06 -1.27991946e-06 -2.72506963e-06 -2.31224839e-05 -3.80797434e-06 -1.05398619e-05 2.31797641e-03 9.94342201e-05 8.40500891e-05 -5.46740884e-03 5.94337156e-03 2.38849929e-05 1.34427742e-04 -1.49379862e-04 1.50846888e-05 4.25840113e-05 -3.54165283e-05 4.27319573e-06 2.97436636e-05 7.00477616e-06 1.75054518e-06 -2.04695642e-03 4.72221132e-04 4.61074437e-04 9.12826691e-05 -1.53380790e-05 -9.01745553e-06 -2.22079191e-06 -4.00517617e-06 -1.03262115e-05 1.64895602e-08 -2.27178464e-05 -2.22301970e-03 -1.07877289e-04 -5.37624081e-03 -4.01763639e-04 -5.61031003e-03 1.35489660e-04 3.79055304e-05 1.42989791e-04 5.39509780e-06 -3.61413449e-05 2.24733557e-05 -1.32282734e-05 -3.23124980e-05 5.42656099e-04 -2.30924551e-04 9.01879561e-05 3.33041135e-04 4.95961374e-03 -4.39825444e-06 -9.01745553e-06 -1.28104111e-04 -1.61753760e-05 -3.53600279e-05 -2.13841414e-06 -2.74194417e-05 1.83218511e-06 2.40771110e-03 9.15295789e-05 6.06657551e-03 -5.82300543e-03 5.58610719e-04 -1.49956653e-04 1.42290366e-04 1.22086375e-05 -8.39813516e-06 3.60498903e-05 -4.15542569e-05 -1.00704641e-05 4.49706024e-05 3.94541403e-06 -2.62363319e-06 7.52737246e-05 1.06213432e-04 9.19749440e-04 -1.27991946e-06 -2.22079191e-06 -1.61753760e-05 -9.34885278e-07 -1.25341370e-05 -1.20221699e-06 -2.91206873e-07 -1.66578969e-06 -2.43071797e-07 -2.86358914e-07 8.85894806e-04 3.51863680e-04 -4.55645634e-04 -1.49866022e-05 -5.06922523e-06 8.21974934e-06 6.28992205e-06 -5.68520737e-06 5.57191371e-06 -2.85704469e-07 1.25586484e-05 -1.20934462e-04 9.06842324e-06 1.22639815e-04 2.12351595e-04 1.40876300e-03 -2.72506963e-06 -4.00517617e-06 -3.53600279e-05 -1.25341370e-05 -1.00227308e-05 -2.42238671e-06 -2.11474313e-05 -1.03082780e-06 1.42206233e-03 -7.24007071e-06 1.82357183e-03 -1.60786809e-03 1.92551919e-03 -4.09493519e-05 3.44249429e-05 -3.33531383e-05 -5.60896386e-06 3.07999331e-05 -2.07810848e-05 -9.09812263e-06 2.34815694e-05 4.81371689e-08 -1.61175046e-06 1.59938622e-03 3.10813800e-04 1.52966528e-04 -2.31224839e-05 -1.03262115e-05 -2.13841414e-06 -1.20221699e-06 -2.42238671e-06 -5.82926895e-06 -1.76507771e-08 -1.98888934e-05 -1.54432729e-03 1.99491717e-05 -1.68902008e-03 1.37253496e-03 -1.96572509e-03 3.42841905e-05 -2.02684488e-05 4.04904295e-05 5.50844326e-06 -2.04037581e-05 1.52786244e-05 -1.09640961e-05 -1.67291900e-05 7.37597696e-06 -4.37520218e-06 1.39228798e-04 4.96620554e-06 1.55859666e-03 -3.80797434e-06 1.64895602e-08 -2.74194417e-05 -2.91206873e-07 -2.11474313e-05 -1.76507771e-08 -1.19495073e-06 -5.11705169e-07 5.19099848e-05 2.66335103e-06 1.50808329e-04 -7.70527997e-04 -6.38070122e-04 -4.12883227e-06 1.35261994e-05 1.04591462e-05 -2.52154614e-07 -8.89189683e-06 -1.07864540e-05 6.17212951e-06 9.84746047e-07 -1.16470146e-05 3.04562873e-06 3.19255962e-04 1.58339328e-03 -4.40258755e-05 -1.05398619e-05 -2.27178464e-05 1.83218511e-06 -1.66578969e-06 -1.03082780e-06 -1.98888934e-05 -5.11705169e-07 -5.95160958e-06 1.47631583e-03 -1.16926507e-05 1.70725211e-03 -1.49575572e-03 2.00321284e-03 -2.87870079e-05 3.03095393e-05 -4.32676487e-05 1.25949487e-05 2.38041797e-05 -1.73577445e-05 9.90651717e-07 2.40545549e-05 6.75660007e-04 -3.70583968e-05 -7.60183549e-04 -1.51406289e-04 2.09274361e-02 -1.64162023e-06 8.02440447e-06 -5.54621534e-04 3.71527257e-06 -1.20903168e-04 1.41830964e-06 7.05570119e-06 -1.46557977e-05 -3.70583968e-05 1.50522051e-05 2.16903688e-04 6.71138355e-06 -8.22741963e-03 -3.48363816e-06 9.16193695e-07 2.29517192e-04 -2.54427436e-06 9.28543243e-06 -5.37690715e-07 -4.37638627e-06 3.64659964e-06 -7.60183549e-04 2.16903688e-04 -2.12881964e-02 1.76032039e-02 -3.67288888e-03 4.85036763e-04 -2.04259252e-03 1.05677681e-04 -7.38170330e-05 -1.10916847e-04 -1.59888601e-03 -1.38435699e-04 -3.17602844e-04 -1.51406289e-04 6.71138355e-06 1.76032039e-02 -2.08557672e-02 -1.90264795e-02 -2.04011682e-03 4.82257184e-04 3.53343551e-04 -1.05167768e-04 -2.05459987e-04 -3.06738183e-04 -5.27889387e-06 -1.58582400e-03 2.09274361e-02 -8.22741963e-03 -3.67288888e-03 -1.90264795e-02 -1.82082090e-01 3.35823876e-05 5.70967741e-04 4.94466670e-03 -9.18925056e-04 -1.40231869e-03 -1.17448539e-04 -1.56254351e-03 -2.57406725e-06 -1.64162023e-06 -3.48363816e-06 4.85036763e-04 -2.04011682e-03 3.35823876e-05 -1.51869930e-05 9.03878041e-05 -6.98851141e-07 1.27799009e-06 3.22070996e-06 2.30237241e-05 3.75439524e-06 1.05310605e-05 8.02440447e-06 9.16193695e-07 -2.04259252e-03 4.82257184e-04 5.70967741e-04 9.03878041e-05 -1.53786153e-05 -1.24035629e-05 2.71694594e-06 4.34454045e-06 1.02971341e-05 9.81035752e-07 2.27171575e-05 -5.54621534e-04 2.29517192e-04 1.05677681e-04 3.53343551e-04 4.94466670e-03 -6.98851141e-07 -1.24035629e-05 -1.27406033e-04 1.61114847e-05 3.51900561e-05 1.80762506e-06 2.73107074e-05 3.94949154e-08 3.71527257e-06 -2.54427436e-06 -7.38170330e-05 -1.05167768e-04 -9.18925056e-04 1.27799009e-06 2.71694594e-06 1.61114847e-05 -8.99249570e-07 -1.24953939e-05 -1.00005934e-06 -2.66013274e-07 -1.65640447e-06 -1.20903168e-04 9.28543243e-06 -1.10916847e-04 -2.05459987e-04 -1.40231869e-03 3.22070996e-06 4.34454045e-06 3.51900561e-05 -1.24953939e-05 -9.81822232e-06 -2.00165153e-06 -2.11801885e-05 -6.70871051e-07 1.41830964e-06 -5.37690715e-07 -1.59888601e-03 -3.06738183e-04 -1.17448539e-04 2.30237241e-05 1.02971341e-05 1.80762506e-06 -1.00005934e-06 -2.00165153e-06 -5.72796451e-06 3.38554894e-07 -1.98226003e-05 7.05570119e-06 -4.37638627e-06 -1.38435699e-04 -5.27889387e-06 -1.56254351e-03 3.75439524e-06 9.81035752e-07 2.73107074e-05 -2.66013274e-07 -2.11801885e-05 3.38554894e-07 -1.19986110e-06 -5.24586487e-07 -1.46557977e-05 3.64659964e-06 -3.17602844e-04 -1.58582400e-03 -2.57406725e-06 1.05310605e-05 2.27171575e-05 3.94949154e-08 -1.65640447e-06 -6.70871051e-07 -1.98226003e-05 -5.24586487e-07 -5.94200596e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 26 52 78 104 130 156 182 208 234 260 286 312 338 351 364 377 390 403 416 429 442 455 468 481 494 507 +0 -1 1 338 + 9.71085217e-04 -5.39348870e-05 -7.82534933e-04 2.28947051e-02 -1.12629834e-04 -4.36601610e-06 -7.06290632e-04 -8.06803305e-06 4.12868179e-06 4.10506076e-06 1.15246216e-04 -7.21610794e-06 1.69048349e-05 -5.39348870e-05 3.75923941e-05 2.13260123e-04 -8.28899270e-03 -8.32275071e-06 -4.01966247e-06 2.31714385e-04 -1.25495233e-06 2.53846290e-06 8.51559750e-07 -1.03995572e-05 -4.24952023e-06 -3.30483140e-06 -7.82534933e-04 2.13260123e-04 2.12260058e-02 4.49743116e-03 -1.88611657e-02 -4.28539915e-04 -2.98277030e-05 2.00461619e-03 -7.48913815e-05 -1.72695364e-03 1.27504318e-05 1.44978187e-04 -2.85669752e-04 2.28947051e-02 -8.28899270e-03 4.49743116e-03 -2.51030638e-01 1.89297857e-02 -6.97149552e-05 5.87964879e-03 -5.79195367e-04 -7.58572004e-04 -8.98211232e-05 2.52034017e-03 1.29388692e-03 -1.19719034e-04 -1.12629834e-04 -8.32275071e-06 -1.88611657e-02 1.89297857e-02 2.06041132e-02 1.99716134e-03 -3.32065905e-04 -4.10802222e-04 5.26255113e-06 -2.79617879e-04 -2.07560882e-04 -5.85336743e-05 -1.71158075e-03 -4.36601610e-06 -4.01966247e-06 -4.28539915e-04 -6.97149552e-05 1.99716134e-03 1.72996833e-06 5.55982718e-07 -8.91563251e-05 1.25402677e-06 2.64578367e-05 -1.54915996e-06 -3.83703323e-06 2.60875899e-06 -7.06290632e-04 2.31714385e-04 -2.98277030e-05 5.87964879e-03 -3.32065905e-04 5.55982718e-07 -1.32121017e-04 1.19334873e-05 1.22464831e-05 6.06232335e-07 -5.65057823e-05 -2.09370319e-05 1.52372290e-06 -8.06803305e-06 -1.25495233e-06 2.00461619e-03 -5.79195367e-04 -4.10802222e-04 -8.91563251e-05 1.19334873e-05 1.20450077e-06 -6.39506503e-07 2.43465918e-06 4.76540983e-06 1.38199706e-06 2.60428974e-05 4.12868179e-06 2.53846290e-06 -7.48913815e-05 -7.58572004e-04 5.26255113e-06 1.25402677e-06 1.22464831e-05 -6.39506503e-07 7.63410118e-07 1.08692028e-07 1.11093842e-05 -2.55846362e-07 1.84499944e-06 4.10506076e-06 8.51559750e-07 -1.72695364e-03 -8.98211232e-05 -2.79617879e-04 2.64578367e-05 6.06232335e-07 2.43465918e-06 1.08692028e-07 1.28177961e-06 1.82532486e-06 4.95456302e-07 2.20350761e-05 1.15246216e-04 -1.03995572e-05 1.27504318e-05 2.52034017e-03 -2.07560882e-04 -1.54915996e-06 -5.65057823e-05 4.76540983e-06 1.11093842e-05 1.82532486e-06 -2.15933355e-05 -1.88266319e-05 1.25079886e-06 -7.21610794e-06 -4.24952023e-06 1.44978187e-04 1.29388692e-03 -5.85336743e-05 -3.83703323e-06 -2.09370319e-05 1.38199706e-06 -2.55846362e-07 4.95456302e-07 -1.88266319e-05 1.10150480e-06 -5.83536261e-07 1.69048349e-05 -3.30483140e-06 -2.85669752e-04 -1.19719034e-04 -1.71158075e-03 2.60875899e-06 1.52372290e-06 2.60428974e-05 1.84499944e-06 2.20350761e-05 1.25079886e-06 -5.83536261e-07 1.25888020e-06 9.73358697e-04 -5.24497521e-05 7.71791276e-04 -2.29247964e-02 1.26566916e-04 -1.15752095e-05 7.19758021e-04 -5.84545877e-06 4.19780550e-06 1.69924216e-06 1.16006584e-04 -7.32000399e-06 1.21633219e-05 -5.24497521e-05 3.67228436e-05 -2.14994175e-04 8.23015024e-03 -1.24687861e-05 4.60503564e-06 -2.30017748e-04 -1.14862855e-06 2.45015475e-06 -2.80630140e-07 -1.06511582e-05 -4.24054409e-06 -2.69920059e-06 7.71791276e-04 -2.14994175e-04 2.10343535e-02 4.54940609e-03 -1.89470691e-02 -4.27187482e-04 -4.87863270e-05 2.00198249e-03 7.35030715e-05 1.72950757e-03 -2.64818782e-05 -1.45111271e-04 2.83888757e-04 -2.29247964e-02 8.23015024e-03 4.54940609e-03 -2.50832380e-01 1.89833575e-02 5.33732012e-05 5.83183195e-03 -4.13388431e-04 7.66323778e-04 1.50325116e-04 -2.51496652e-03 -1.29681999e-03 1.68779109e-04 1.26566916e-04 -1.24687861e-05 -1.89470691e-02 1.89833575e-02 2.06649222e-02 1.99039120e-03 -3.39360139e-04 -4.24913256e-04 -6.81302687e-06 2.75085383e-04 2.00339240e-04 5.92197483e-05 1.71326927e-03 -1.15752095e-05 4.60503564e-06 -4.27187482e-04 5.33732012e-05 1.99039120e-03 2.04807668e-06 -3.45556406e-06 -8.81771803e-05 -1.24927244e-06 -2.65596570e-05 1.15957686e-06 3.78423205e-06 -2.77897092e-06 7.19758021e-04 -2.30017748e-04 -4.87863270e-05 5.83183195e-03 -3.39360139e-04 -3.45556406e-06 -1.30557911e-04 8.12114536e-06 -1.23291589e-05 -1.69660670e-06 5.59860131e-05 2.08151108e-05 -3.49791356e-06 -5.84545877e-06 -1.14862855e-06 2.00198249e-03 -4.13388431e-04 -4.24913256e-04 -8.81771803e-05 8.12114536e-06 2.23914575e-06 2.23858063e-07 -2.58085711e-06 -3.48181621e-06 -5.59776877e-07 -2.61227899e-05 4.19780550e-06 2.45015475e-06 7.35030715e-05 7.66323778e-04 -6.81302687e-06 -1.24927244e-06 -1.23291589e-05 2.23858063e-07 7.37765619e-07 -5.91716112e-08 1.11765612e-05 -2.37232914e-07 1.83193233e-06 1.69924216e-06 -2.80630140e-07 1.72950757e-03 1.50325116e-04 2.75085383e-04 -2.65596570e-05 -1.69660670e-06 -2.58085711e-06 -5.91716112e-08 1.10854705e-06 2.28329556e-06 8.00955041e-07 2.19288060e-05 1.16006584e-04 -1.06511582e-05 -2.64818782e-05 -2.51496652e-03 2.00339240e-04 1.15957686e-06 5.59860131e-05 -3.48181621e-06 1.11765612e-05 2.28329556e-06 -2.15196201e-05 -1.88698103e-05 8.46277756e-07 -7.32000399e-06 -4.24054409e-06 -1.45111271e-04 -1.29681999e-03 5.92197483e-05 3.78423205e-06 2.08151108e-05 -5.59776877e-07 -2.37232914e-07 8.00955041e-07 -1.88698103e-05 1.10635148e-06 -6.06165209e-07 1.21633219e-05 -2.69920059e-06 2.83888757e-04 1.68779109e-04 1.71326927e-03 -2.77897092e-06 -3.49791356e-06 -2.61227899e-05 1.83193233e-06 2.19288060e-05 8.46277756e-07 -6.06165209e-07 1.18296820e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 182 195 208 221 234 247 260 273 286 299 312 325 338 +0 0 -1 471 + 8.27104610e-04 -3.98659597e-05 2.19421402e-02 -7.52756885e-04 -7.52756885e-04 -6.59182760e-04 6.13204445e-06 6.13204445e-06 -8.98360229e-06 1.47730474e-05 1.47730474e-05 1.15340247e-04 -2.51099580e-02 6.29348353e-03 -6.31050033e-05 -1.02757553e-04 -1.02757553e-04 2.60857304e-03 2.52870419e-03 2.52870419e-03 -3.53858037e-05 -1.65890102e-03 -1.65890102e-03 -1.59030648e-03 -3.98659597e-05 3.04867240e-05 -8.25959908e-03 2.16830303e-04 2.16830303e-04 2.31079442e-04 -3.92703250e-06 -3.92703250e-06 -8.77599430e-07 -3.48442376e-06 -3.48442376e-06 -9.80783619e-06 6.19555076e-03 -3.52773476e-04 -3.73009218e-03 -3.83582926e-03 -3.83582926e-03 8.99427453e-05 1.00011400e-04 1.00011400e-04 -1.51781937e-06 2.53152986e-05 2.53152986e-05 1.84962941e-05 2.19421402e-02 -8.25959908e-03 -2.25776063e-01 1.89809289e-02 1.89809289e-02 5.53116207e-03 -4.57345177e-04 -4.57345177e-04 1.67957642e-03 -2.05339061e-04 -2.05339061e-04 2.13977213e-03 1.69229525e-05 3.73429640e-03 -5.41240037e-02 -2.63046522e-01 -2.63046522e-01 2.57178258e-04 6.22850503e-03 6.22850503e-03 6.27445862e-04 -2.17977514e-03 -2.17977514e-03 -1.74058321e-03 -7.52756885e-04 2.16830303e-04 1.89809289e-02 -4.42337412e-03 -1.99801595e-02 -2.96907823e-04 9.87691772e-05 2.06245949e-03 1.02094724e-04 -1.62612876e-03 6.79594298e-05 -2.59762802e-05 -1.35102921e-04 7.00887608e-05 3.92447806e-03 -2.63136107e-01 -3.47195602e-02 -2.48816247e-01 6.29755746e-03 -1.84758420e-04 5.89069487e-03 -4.38409070e-04 -1.89467534e-03 -1.49426456e-03 5.69688749e-04 -2.01592823e-03 -7.52756885e-04 2.16830303e-04 1.89809289e-02 -1.99801595e-02 -4.42337412e-03 -2.96907823e-04 2.06245949e-03 9.87691772e-05 1.02094724e-04 6.79594298e-05 -1.62612876e-03 2.59762802e-05 -1.35102921e-04 7.00887608e-05 3.92447806e-03 -2.63136107e-01 -2.48816247e-01 -3.47195602e-02 6.29755746e-03 5.89069487e-03 -1.84758420e-04 -4.38409070e-04 -1.49426456e-03 -1.89467534e-03 -5.69688749e-04 -2.01592823e-03 -6.59182760e-04 2.31079442e-04 5.53116207e-03 -2.96907823e-04 -2.96907823e-04 -1.30343116e-04 8.15257998e-06 8.15257998e-06 -2.84912122e-05 3.01530942e-06 3.01530942e-06 -4.91702808e-05 -2.47473809e-03 -9.36892358e-05 1.85055545e-04 6.25899244e-03 6.25899244e-03 1.67811984e-05 -1.52552102e-04 -1.52552102e-04 -9.48786416e-06 4.42482840e-05 4.42482840e-05 3.01227762e-05 6.13204445e-06 -3.92703250e-06 -4.57345177e-04 9.87691772e-05 2.06245949e-03 8.15257998e-06 -7.39028050e-06 -9.10026813e-05 -2.55956238e-06 2.39686419e-05 -5.34389762e-06 5.89912211e-08 1.90580090e-06 -2.38289235e-03 -1.01946718e-04 6.11171644e-03 -3.27586255e-04 5.88159758e-03 -1.51455682e-04 2.98383132e-05 -1.43726904e-04 7.39129912e-06 3.75821848e-05 2.36039275e-05 -8.39798432e-06 4.17074093e-05 6.13204445e-06 -3.92703250e-06 -4.57345177e-04 2.06245949e-03 9.87691772e-05 8.15257998e-06 -9.10026813e-05 -7.39028050e-06 -2.55956238e-06 -5.34389762e-06 2.39686419e-05 -5.89912211e-08 1.90580090e-06 -2.38289235e-03 -1.01946718e-04 6.11171644e-03 5.88159758e-03 -3.27586255e-04 -1.51455682e-04 -1.43726904e-04 2.98383132e-05 7.39129912e-06 2.36039275e-05 3.75821848e-05 8.39798432e-06 4.17074093e-05 -8.98360229e-06 -8.77599430e-07 1.67957642e-03 1.02094724e-04 1.02094724e-04 -2.84912122e-05 -2.55956238e-06 -2.55956238e-06 -5.70652424e-07 -8.59672212e-07 -8.59672212e-07 -2.36211053e-05 -3.86038745e-05 -1.08295240e-06 -6.16597941e-04 4.41211161e-04 4.41211161e-04 9.07578221e-06 -7.64320267e-06 -7.64320267e-06 6.65712733e-06 5.97486234e-06 5.97486234e-06 -9.23640909e-06 1.47730474e-05 -3.48442376e-06 -2.05339061e-04 -1.62612876e-03 6.79594298e-05 3.01530942e-06 2.39686419e-05 -5.34389762e-06 -8.59672212e-07 -2.51151738e-06 2.04683267e-05 -1.56482757e-06 2.19597788e-06 -1.70448353e-03 2.43991765e-05 2.24188540e-03 1.92309318e-03 1.54556997e-03 -4.55107520e-05 -3.86120149e-05 -2.57795373e-05 6.03234159e-06 1.81574088e-05 1.80451259e-05 8.93697594e-06 2.25340319e-05 1.47730474e-05 -3.48442376e-06 -2.05339061e-04 6.79594298e-05 -1.62612876e-03 3.01530942e-06 -5.34389762e-06 2.39686419e-05 -8.59672212e-07 2.04683267e-05 -2.51151738e-06 1.56482757e-06 2.19597788e-06 -1.70448353e-03 2.43991765e-05 2.24188540e-03 1.54556997e-03 1.92309318e-03 -4.55107520e-05 -2.57795373e-05 -3.86120149e-05 6.03234159e-06 1.80451259e-05 1.81574088e-05 -8.93697594e-06 2.25340319e-05 -2.59762802e-05 2.59762802e-05 5.89912211e-08 -5.89912211e-08 -1.56482757e-06 1.56482757e-06 -3.53216145e-07 -5.67713655e-04 5.67713655e-04 7.94898406e-06 -7.94898406e-06 9.02916025e-06 -9.02916025e-06 6.82205343e-06 1.15340247e-04 -9.80783619e-06 2.13977213e-03 -1.35102921e-04 -1.35102921e-04 -4.91702808e-05 1.90580090e-06 1.90580090e-06 -2.36211053e-05 2.19597788e-06 2.19597788e-06 -1.79402382e-05 -1.64089484e-03 1.97314544e-05 1.76316450e-03 2.04213106e-03 2.04213106e-03 -3.07909725e-05 -4.35028479e-05 -4.35028479e-05 -9.33248770e-06 2.18671970e-05 2.18671970e-05 2.52734444e-05 8.15725212e-04 -5.05906081e-05 -2.18500845e-02 7.52686511e-04 7.52686511e-04 6.26926343e-04 -3.63481072e-06 -3.63481072e-06 -8.75085739e-06 1.48099130e-05 1.48099130e-05 1.17349286e-04 -5.05906081e-05 2.62254306e-05 8.33373538e-03 -2.15977210e-04 -2.15977210e-04 -2.30644690e-04 3.99602285e-06 3.99602285e-06 1.09623033e-07 -3.51931327e-06 -3.51931327e-06 -8.78544054e-06 -2.18500845e-02 8.33373538e-03 -2.26052722e-01 1.89193599e-02 1.89193599e-02 5.63429114e-03 -4.65884716e-04 -4.65884716e-04 -1.68355408e-03 2.05502133e-04 2.05502133e-04 -2.09251695e-03 7.52686511e-04 -2.15977210e-04 1.89193599e-02 -4.10207947e-03 -1.99611802e-02 -2.88305530e-04 6.88335999e-05 2.06132901e-03 -1.03715979e-04 1.63080656e-03 -7.82907019e-05 2.57365101e-05 1.33566268e-04 7.52686511e-04 -2.15977210e-04 1.89193599e-02 -1.99611802e-02 -4.10207947e-03 -2.88305530e-04 2.06132901e-03 6.88335999e-05 -1.03715979e-04 -7.82907019e-05 1.63080656e-03 -2.57365101e-05 1.33566268e-04 6.26926343e-04 -2.30644690e-04 5.63429114e-03 -2.88305530e-04 -2.88305530e-04 -1.35699991e-04 8.00918394e-06 8.00918394e-06 2.83805832e-05 -3.10746156e-06 -3.10746156e-06 4.75031374e-05 -3.63481072e-06 3.99602285e-06 -4.65884716e-04 6.88335999e-05 2.06132901e-03 8.00918394e-06 -8.47747415e-06 -9.12584526e-05 2.64110970e-06 -2.38213614e-05 4.37847663e-06 -1.57238704e-08 -1.96776833e-06 -3.63481072e-06 3.99602285e-06 -4.65884716e-04 2.06132901e-03 6.88335999e-05 8.00918394e-06 -9.12584526e-05 -8.47747415e-06 2.64110970e-06 4.37847663e-06 -2.38213614e-05 1.57238704e-08 -1.96776833e-06 -8.75085739e-06 1.09623033e-07 -1.68355408e-03 -1.03715979e-04 -1.03715979e-04 2.83805832e-05 2.64110970e-06 2.64110970e-06 -6.09131767e-07 -8.32998995e-07 -8.32998995e-07 -2.36780374e-05 1.48099130e-05 -3.51931327e-06 2.05502133e-04 1.63080656e-03 -7.82907019e-05 -3.10746156e-06 -2.38213614e-05 4.37847663e-06 -8.32998995e-07 -3.10927343e-06 2.05811303e-05 -1.59128036e-06 2.15926195e-06 1.48099130e-05 -3.51931327e-06 2.05502133e-04 -7.82907019e-05 1.63080656e-03 -3.10746156e-06 4.37847663e-06 -2.38213614e-05 -8.32998995e-07 2.05811303e-05 -3.10927343e-06 1.59128036e-06 2.15926195e-06 2.57365101e-05 -2.57365101e-05 -1.57238704e-08 1.57238704e-08 -1.59128036e-06 1.59128036e-06 -3.63854940e-07 1.17349286e-04 -8.78544054e-06 -2.09251695e-03 1.33566268e-04 1.33566268e-04 4.75031374e-05 -1.96776833e-06 -1.96776833e-06 -2.36780374e-05 2.15926195e-06 2.15926195e-06 -1.81079545e-05 + 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 4 6 7 9 10 11 16 17 19 20 22 23 24 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 16 17 19 20 22 23 24 13 14 15 16 17 18 19 20 21 22 23 25 + 0 24 48 72 98 124 148 174 200 224 250 276 290 314 326 338 350 363 376 388 401 414 426 439 452 459 471 +0 0 0 628 + 1.99260091e+00 -1.75144175e-02 -1.02750088e-03 -4.17823329e-03 -4.17823329e-03 2.60603267e-04 6.81049240e-05 6.81049240e-05 3.70981740e-05 1.84242778e-03 1.84242778e-03 1.46101812e-04 -2.11117916e-02 5.77475205e-03 5.83412971e-05 -9.28697342e-05 -9.28697342e-05 2.23771540e-03 -2.33786484e-03 -2.33786484e-03 2.50009800e-05 1.29464718e-03 1.29464718e-03 -1.34875862e-03 -1.75144175e-02 6.95336019e-04 -1.26443980e-04 -1.10294372e-04 -1.10294372e-04 3.65040008e-06 1.09201094e-05 1.09201094e-05 -4.41016479e-07 -2.08002958e-05 -2.08002958e-05 -2.05232644e-06 5.67001664e-03 -3.25779578e-04 -4.34699780e-03 4.21399613e-03 4.21399613e-03 1.03798709e-04 -9.84988221e-05 -9.84988221e-05 1.60498129e-06 -1.65049900e-06 -1.65049900e-06 7.75238899e-06 -1.02750088e-03 -1.26443980e-04 5.88519897e-01 2.42103707e-02 2.42103707e-02 -1.35113803e-02 -5.27286187e-04 -5.27286187e-04 -7.38278356e-05 -2.47997580e-04 -2.47997580e-04 -5.29194473e-03 -1.58904072e-04 4.36260980e-03 -3.74836897e-02 2.12825117e-01 2.12825117e-01 -3.04467391e-04 -5.40453219e-03 -5.40453219e-03 9.67248841e-04 1.45612957e-03 1.45612957e-03 -1.41025838e-03 -4.17823329e-03 -1.10294372e-04 2.42103707e-02 5.87760421e-01 1.06406231e-03 -5.27681867e-04 -1.34760450e-02 1.07506905e-04 -1.09596827e-04 -8.63085367e-05 -5.29497248e-03 1.70552890e-04 -2.32570998e-04 1.41884587e-04 -4.30789668e-03 2.13045074e-01 -5.97021554e-02 -2.20865737e-01 -5.27596403e-03 2.56416836e-04 5.55065464e-03 4.42428956e-04 -1.65920515e-03 -1.72780240e-03 -8.84003183e-04 1.65691459e-03 -4.17823329e-03 -1.10294372e-04 2.42103707e-02 1.06406231e-03 5.87760421e-01 -5.27681867e-04 1.07506905e-04 -1.34760450e-02 -1.09596827e-04 -5.29497248e-03 -8.63085367e-05 -1.70552890e-04 -2.32570998e-04 1.41884587e-04 -4.30789668e-03 2.13045074e-01 -2.20865737e-01 -5.97021554e-02 -5.27596403e-03 5.55065464e-03 2.56416836e-04 4.42428956e-04 -1.72780240e-03 -1.65920515e-03 8.84003183e-04 1.65691459e-03 2.60603267e-04 3.65040008e-06 -1.35113803e-02 -5.27681867e-04 -5.27681867e-04 3.36845603e-04 1.28508746e-05 1.28508746e-05 1.18904386e-06 5.44917801e-06 5.44917801e-06 1.13248449e-04 -2.11427968e-03 -1.08158388e-04 -3.40232567e-04 -5.23614074e-03 -5.23614074e-03 3.37410762e-05 1.37679663e-04 1.37679663e-04 -1.75098012e-05 -3.26394890e-05 -3.26394890e-05 2.27814420e-05 6.81049240e-05 1.09201094e-05 -5.27286187e-04 -1.34760450e-02 1.07506905e-04 1.28508746e-05 3.35736131e-04 -5.37408247e-06 3.04803462e-06 6.63416174e-07 1.12980674e-04 -4.88314999e-06 4.87378685e-06 2.20209326e-03 1.00372389e-04 -5.32503467e-03 1.37953680e-04 5.52524203e-03 1.37111593e-04 1.98857860e-05 -1.43459194e-04 -7.11491360e-06 3.81526444e-05 3.00034158e-05 1.64887590e-05 -3.55937666e-05 6.81049240e-05 1.09201094e-05 -5.27286187e-04 1.07506905e-04 -1.34760450e-02 1.28508746e-05 -5.37408247e-06 3.35736131e-04 3.04803462e-06 1.12980674e-04 6.63416174e-07 4.88314999e-06 4.87378685e-06 2.20209326e-03 1.00372389e-04 -5.32503467e-03 5.52524203e-03 1.37953680e-04 1.37111593e-04 -1.43459194e-04 1.98857860e-05 -7.11491360e-06 3.00034158e-05 3.81526444e-05 -1.64887590e-05 -3.55937666e-05 3.70981740e-05 -4.41016479e-07 -7.38278356e-05 -1.09596827e-04 -1.09596827e-04 1.18904386e-06 3.04803462e-06 3.04803462e-06 1.22213836e-05 7.19336588e-07 7.19336588e-07 1.11214604e-06 2.67115377e-05 2.21398341e-06 -9.71173080e-04 -4.34586285e-04 -4.34586285e-04 1.75574968e-05 7.19579975e-06 7.19579975e-06 5.00193697e-06 -6.13609840e-06 -6.13609840e-06 -1.32819983e-05 1.84242778e-03 -2.08002958e-05 -2.47997580e-04 -8.63085367e-05 -5.29497248e-03 5.44917801e-06 6.63416174e-07 1.12980674e-04 7.19336588e-07 7.06644832e-05 3.31044684e-06 9.71979270e-07 3.65444658e-06 1.33346873e-03 -3.44522580e-07 -1.50002187e-03 1.68151364e-03 1.76531888e-03 3.38217457e-05 -3.94083474e-05 -3.19479331e-05 -6.36492427e-06 2.64331732e-05 2.22189072e-05 -1.14026272e-05 -2.01185218e-05 1.84242778e-03 -2.08002958e-05 -2.47997580e-04 -5.29497248e-03 -8.63085367e-05 5.44917801e-06 1.12980674e-04 6.63416174e-07 7.19336588e-07 3.31044684e-06 7.06644832e-05 -9.71979270e-07 3.65444658e-06 1.33346873e-03 -3.44522580e-07 -1.50002187e-03 1.76531888e-03 1.68151364e-03 3.38217457e-05 -3.19479331e-05 -3.94083474e-05 -6.36492427e-06 2.22189072e-05 2.64331732e-05 1.14026272e-05 -2.01185218e-05 1.70552890e-04 -1.70552890e-04 -4.88314999e-06 4.88314999e-06 9.71979270e-07 -9.71979270e-07 1.21159784e-05 8.81456465e-04 -8.81456465e-04 -1.57842819e-05 1.57842819e-05 -1.15627507e-05 1.15627507e-05 4.53122334e-06 1.46101812e-04 -2.05232644e-06 -5.29194473e-03 -2.32570998e-04 -2.32570998e-04 1.13248449e-04 4.87378685e-06 4.87378685e-06 1.11214604e-06 3.65444658e-06 3.65444658e-06 6.88904225e-05 -1.39639746e-03 8.89341158e-06 1.43539625e-03 -1.68312735e-03 -1.68312735e-03 -2.32099577e-05 3.70356697e-05 3.70356697e-05 -1.32588649e-05 -1.97642971e-05 -1.97642971e-05 1.81253684e-05 -2.11117916e-02 5.67001664e-03 -1.58904072e-04 1.41884587e-04 1.41884587e-04 -2.11427968e-03 2.20209326e-03 2.20209326e-03 2.67115377e-05 1.33346873e-03 1.33346873e-03 -1.39639746e-03 1.99242684e+00 -1.76383763e-02 5.74691481e-04 4.14268207e-03 4.14268207e-03 -4.05761935e-05 -6.08480824e-05 -6.08480824e-05 3.35775277e-05 1.84328969e-03 1.84328969e-03 7.93915814e-05 5.77475205e-03 -3.25779578e-04 4.36260980e-03 -4.30789668e-03 -4.30789668e-03 -1.08158388e-04 1.00372389e-04 1.00372389e-04 2.21398341e-06 -3.44522580e-07 -3.44522580e-07 8.89341158e-06 -1.76383763e-02 6.89816854e-04 -1.65392524e-04 1.18961341e-04 1.18961341e-04 1.13065679e-05 -1.08970667e-05 -1.08970667e-05 -3.86017134e-07 -2.06364396e-05 -2.06364396e-05 -1.46028404e-06 5.83412971e-05 -4.34699780e-03 -3.74836897e-02 2.13045074e-01 2.13045074e-01 -3.40232567e-04 -5.32503467e-03 -5.32503467e-03 -9.71173080e-04 -1.50002187e-03 -1.50002187e-03 1.43539625e-03 5.74691481e-04 -1.65392524e-04 5.88422498e-01 2.42518266e-02 2.42518266e-02 -1.34397019e-02 -5.45202092e-04 -5.45202092e-04 7.82513904e-05 2.31617630e-04 2.31617630e-04 5.28116267e-03 -9.28697342e-05 4.21399613e-03 2.12825117e-01 -5.97021554e-02 -2.20865737e-01 -5.23614074e-03 1.37953680e-04 5.52524203e-03 -4.34586285e-04 1.68151364e-03 1.76531888e-03 8.81456465e-04 -1.68312735e-03 4.14268207e-03 1.18961341e-04 2.42518266e-02 5.87665974e-01 9.44118100e-04 -5.44063371e-04 -1.34026621e-02 -2.33346351e-04 9.97080619e-05 -3.15590458e-05 5.28033814e-03 -1.71707719e-04 2.33040018e-04 -9.28697342e-05 4.21399613e-03 2.12825117e-01 -2.20865737e-01 -5.97021554e-02 -5.23614074e-03 5.52524203e-03 1.37953680e-04 -4.34586285e-04 1.76531888e-03 1.68151364e-03 -8.81456465e-04 -1.68312735e-03 4.14268207e-03 1.18961341e-04 2.42518266e-02 9.44118100e-04 5.87665974e-01 -5.44063371e-04 -2.33346351e-04 -1.34026621e-02 9.97080619e-05 5.28033814e-03 -3.15590458e-05 1.71707719e-04 2.33040018e-04 2.23771540e-03 1.03798709e-04 -3.04467391e-04 -5.27596403e-03 -5.27596403e-03 3.37410762e-05 1.37111593e-04 1.37111593e-04 1.75574968e-05 3.38217457e-05 3.38217457e-05 -2.32099577e-05 -4.05761935e-05 1.13065679e-05 -1.34397019e-02 -5.44063371e-04 -5.44063371e-04 3.32884265e-04 1.35025537e-05 1.35025537e-05 -1.34374640e-06 -5.12309825e-06 -5.12309825e-06 -1.12169694e-04 -2.33786484e-03 -9.84988221e-05 -5.40453219e-03 2.56416836e-04 5.55065464e-03 1.37679663e-04 1.98857860e-05 -1.43459194e-04 7.19579975e-06 -3.94083474e-05 -3.19479331e-05 -1.57842819e-05 3.70356697e-05 -6.08480824e-05 -1.08970667e-05 -5.45202092e-04 -1.34026621e-02 -2.33346351e-04 1.35025537e-05 3.31788422e-04 1.18356265e-05 -2.85726926e-06 -1.85544434e-06 -1.11784697e-04 4.79629696e-06 -5.12423742e-06 -2.33786484e-03 -9.84988221e-05 -5.40453219e-03 5.55065464e-03 2.56416836e-04 1.37679663e-04 -1.43459194e-04 1.98857860e-05 7.19579975e-06 -3.19479331e-05 -3.94083474e-05 1.57842819e-05 3.70356697e-05 -6.08480824e-05 -1.08970667e-05 -5.45202092e-04 -2.33346351e-04 -1.34026621e-02 1.35025537e-05 1.18356265e-05 3.31788422e-04 -2.85726926e-06 -1.11784697e-04 -1.85544434e-06 -4.79629696e-06 -5.12423742e-06 2.50009800e-05 1.60498129e-06 9.67248841e-04 4.42428956e-04 4.42428956e-04 -1.75098012e-05 -7.11491360e-06 -7.11491360e-06 5.00193697e-06 -6.36492427e-06 -6.36492427e-06 -1.32588649e-05 3.35775277e-05 -3.86017134e-07 7.82513904e-05 9.97080619e-05 9.97080619e-05 -1.34374640e-06 -2.85726926e-06 -2.85726926e-06 1.22800214e-05 5.91950284e-07 5.91950284e-07 1.16734423e-06 1.29464718e-03 -1.65049900e-06 1.45612957e-03 -1.65920515e-03 -1.72780240e-03 -3.26394890e-05 3.81526444e-05 3.00034158e-05 -6.13609840e-06 2.64331732e-05 2.22189072e-05 -1.15627507e-05 -1.97642971e-05 1.84328969e-03 -2.06364396e-05 2.31617630e-04 -3.15590458e-05 5.28033814e-03 -5.12309825e-06 -1.85544434e-06 -1.11784697e-04 5.91950284e-07 7.05160741e-05 5.71862272e-07 1.00228546e-06 3.39036125e-06 1.29464718e-03 -1.65049900e-06 1.45612957e-03 -1.72780240e-03 -1.65920515e-03 -3.26394890e-05 3.00034158e-05 3.81526444e-05 -6.13609840e-06 2.22189072e-05 2.64331732e-05 1.15627507e-05 -1.97642971e-05 1.84328969e-03 -2.06364396e-05 2.31617630e-04 5.28033814e-03 -3.15590458e-05 -5.12309825e-06 -1.11784697e-04 -1.85544434e-06 5.91950284e-07 5.71862272e-07 7.05160741e-05 -1.00228546e-06 3.39036125e-06 -8.84003183e-04 8.84003183e-04 1.64887590e-05 -1.64887590e-05 -1.14026272e-05 1.14026272e-05 4.53122334e-06 -1.71707719e-04 1.71707719e-04 4.79629696e-06 -4.79629696e-06 1.00228546e-06 -1.00228546e-06 1.21802672e-05 -1.34875862e-03 7.75238899e-06 -1.41025838e-03 1.65691459e-03 1.65691459e-03 2.27814420e-05 -3.55937666e-05 -3.55937666e-05 -1.32819983e-05 -2.01185218e-05 -2.01185218e-05 1.81253684e-05 7.93915814e-05 -1.46028404e-06 5.28116267e-03 2.33040018e-04 2.33040018e-04 -1.12169694e-04 -5.12423742e-06 -5.12423742e-06 1.16734423e-06 3.39036125e-06 3.39036125e-06 6.88069378e-05 + 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 4 6 7 9 10 11 16 17 19 20 22 23 24 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 4 6 7 9 10 11 16 17 19 20 22 23 24 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 + 0 24 48 72 98 124 148 174 200 224 250 276 290 314 338 362 386 412 438 462 488 514 538 564 590 604 628 +0 0 1 471 + 8.27104610e-04 -3.98659597e-05 2.19421402e-02 -7.52756885e-04 -7.52756885e-04 -6.59182760e-04 6.13204445e-06 6.13204445e-06 -8.98360229e-06 1.47730474e-05 1.47730474e-05 1.15340247e-04 -3.98659597e-05 3.04867240e-05 -8.25959908e-03 2.16830303e-04 2.16830303e-04 2.31079442e-04 -3.92703250e-06 -3.92703250e-06 -8.77599430e-07 -3.48442376e-06 -3.48442376e-06 -9.80783619e-06 2.19421402e-02 -8.25959908e-03 -2.25776063e-01 1.89809289e-02 1.89809289e-02 5.53116207e-03 -4.57345177e-04 -4.57345177e-04 1.67957642e-03 -2.05339061e-04 -2.05339061e-04 2.13977213e-03 -7.52756885e-04 2.16830303e-04 1.89809289e-02 -4.42337412e-03 -1.99801595e-02 -2.96907823e-04 9.87691772e-05 2.06245949e-03 1.02094724e-04 -1.62612876e-03 6.79594298e-05 -2.59762802e-05 -1.35102921e-04 -7.52756885e-04 2.16830303e-04 1.89809289e-02 -1.99801595e-02 -4.42337412e-03 -2.96907823e-04 2.06245949e-03 9.87691772e-05 1.02094724e-04 6.79594298e-05 -1.62612876e-03 2.59762802e-05 -1.35102921e-04 -6.59182760e-04 2.31079442e-04 5.53116207e-03 -2.96907823e-04 -2.96907823e-04 -1.30343116e-04 8.15257998e-06 8.15257998e-06 -2.84912122e-05 3.01530942e-06 3.01530942e-06 -4.91702808e-05 6.13204445e-06 -3.92703250e-06 -4.57345177e-04 9.87691772e-05 2.06245949e-03 8.15257998e-06 -7.39028050e-06 -9.10026813e-05 -2.55956238e-06 2.39686419e-05 -5.34389762e-06 5.89912211e-08 1.90580090e-06 6.13204445e-06 -3.92703250e-06 -4.57345177e-04 2.06245949e-03 9.87691772e-05 8.15257998e-06 -9.10026813e-05 -7.39028050e-06 -2.55956238e-06 -5.34389762e-06 2.39686419e-05 -5.89912211e-08 1.90580090e-06 -8.98360229e-06 -8.77599430e-07 1.67957642e-03 1.02094724e-04 1.02094724e-04 -2.84912122e-05 -2.55956238e-06 -2.55956238e-06 -5.70652424e-07 -8.59672212e-07 -8.59672212e-07 -2.36211053e-05 1.47730474e-05 -3.48442376e-06 -2.05339061e-04 -1.62612876e-03 6.79594298e-05 3.01530942e-06 2.39686419e-05 -5.34389762e-06 -8.59672212e-07 -2.51151738e-06 2.04683267e-05 -1.56482757e-06 2.19597788e-06 1.47730474e-05 -3.48442376e-06 -2.05339061e-04 6.79594298e-05 -1.62612876e-03 3.01530942e-06 -5.34389762e-06 2.39686419e-05 -8.59672212e-07 2.04683267e-05 -2.51151738e-06 1.56482757e-06 2.19597788e-06 -2.59762802e-05 2.59762802e-05 5.89912211e-08 -5.89912211e-08 -1.56482757e-06 1.56482757e-06 -3.53216145e-07 1.15340247e-04 -9.80783619e-06 2.13977213e-03 -1.35102921e-04 -1.35102921e-04 -4.91702808e-05 1.90580090e-06 1.90580090e-06 -2.36211053e-05 2.19597788e-06 2.19597788e-06 -1.79402382e-05 -2.51099580e-02 6.19555076e-03 1.69229525e-05 7.00887608e-05 7.00887608e-05 -2.47473809e-03 -2.38289235e-03 -2.38289235e-03 -3.86038745e-05 -1.70448353e-03 -1.70448353e-03 -1.64089484e-03 8.15725212e-04 -5.05906081e-05 -2.18500845e-02 7.52686511e-04 7.52686511e-04 6.26926343e-04 -3.63481072e-06 -3.63481072e-06 -8.75085739e-06 1.48099130e-05 1.48099130e-05 1.17349286e-04 6.29348353e-03 -3.52773476e-04 3.73429640e-03 3.92447806e-03 3.92447806e-03 -9.36892358e-05 -1.01946718e-04 -1.01946718e-04 -1.08295240e-06 2.43991765e-05 2.43991765e-05 1.97314544e-05 -5.05906081e-05 2.62254306e-05 8.33373538e-03 -2.15977210e-04 -2.15977210e-04 -2.30644690e-04 3.99602285e-06 3.99602285e-06 1.09623033e-07 -3.51931327e-06 -3.51931327e-06 -8.78544054e-06 -6.31050033e-05 -3.73009218e-03 -5.41240037e-02 -2.63136107e-01 -2.63136107e-01 1.85055545e-04 6.11171644e-03 6.11171644e-03 -6.16597941e-04 2.24188540e-03 2.24188540e-03 1.76316450e-03 -2.18500845e-02 8.33373538e-03 -2.26052722e-01 1.89193599e-02 1.89193599e-02 5.63429114e-03 -4.65884716e-04 -4.65884716e-04 -1.68355408e-03 2.05502133e-04 2.05502133e-04 -2.09251695e-03 -1.02757553e-04 -3.83582926e-03 -2.63046522e-01 -3.47195602e-02 -2.48816247e-01 6.25899244e-03 -3.27586255e-04 5.88159758e-03 4.41211161e-04 1.92309318e-03 1.54556997e-03 -5.67713655e-04 2.04213106e-03 7.52686511e-04 -2.15977210e-04 1.89193599e-02 -4.10207947e-03 -1.99611802e-02 -2.88305530e-04 6.88335999e-05 2.06132901e-03 -1.03715979e-04 1.63080656e-03 -7.82907019e-05 2.57365101e-05 1.33566268e-04 -1.02757553e-04 -3.83582926e-03 -2.63046522e-01 -2.48816247e-01 -3.47195602e-02 6.25899244e-03 5.88159758e-03 -3.27586255e-04 4.41211161e-04 1.54556997e-03 1.92309318e-03 5.67713655e-04 2.04213106e-03 7.52686511e-04 -2.15977210e-04 1.89193599e-02 -1.99611802e-02 -4.10207947e-03 -2.88305530e-04 2.06132901e-03 6.88335999e-05 -1.03715979e-04 -7.82907019e-05 1.63080656e-03 -2.57365101e-05 1.33566268e-04 2.60857304e-03 8.99427453e-05 2.57178258e-04 6.29755746e-03 6.29755746e-03 1.67811984e-05 -1.51455682e-04 -1.51455682e-04 9.07578221e-06 -4.55107520e-05 -4.55107520e-05 -3.07909725e-05 6.26926343e-04 -2.30644690e-04 5.63429114e-03 -2.88305530e-04 -2.88305530e-04 -1.35699991e-04 8.00918394e-06 8.00918394e-06 2.83805832e-05 -3.10746156e-06 -3.10746156e-06 4.75031374e-05 2.52870419e-03 1.00011400e-04 6.22850503e-03 -1.84758420e-04 5.89069487e-03 -1.52552102e-04 2.98383132e-05 -1.43726904e-04 -7.64320267e-06 -3.86120149e-05 -2.57795373e-05 7.94898406e-06 -4.35028479e-05 -3.63481072e-06 3.99602285e-06 -4.65884716e-04 6.88335999e-05 2.06132901e-03 8.00918394e-06 -8.47747415e-06 -9.12584526e-05 2.64110970e-06 -2.38213614e-05 4.37847663e-06 -1.57238704e-08 -1.96776833e-06 2.52870419e-03 1.00011400e-04 6.22850503e-03 5.89069487e-03 -1.84758420e-04 -1.52552102e-04 -1.43726904e-04 2.98383132e-05 -7.64320267e-06 -2.57795373e-05 -3.86120149e-05 -7.94898406e-06 -4.35028479e-05 -3.63481072e-06 3.99602285e-06 -4.65884716e-04 2.06132901e-03 6.88335999e-05 8.00918394e-06 -9.12584526e-05 -8.47747415e-06 2.64110970e-06 4.37847663e-06 -2.38213614e-05 1.57238704e-08 -1.96776833e-06 -3.53858037e-05 -1.51781937e-06 6.27445862e-04 -4.38409070e-04 -4.38409070e-04 -9.48786416e-06 7.39129912e-06 7.39129912e-06 6.65712733e-06 6.03234159e-06 6.03234159e-06 -9.33248770e-06 -8.75085739e-06 1.09623033e-07 -1.68355408e-03 -1.03715979e-04 -1.03715979e-04 2.83805832e-05 2.64110970e-06 2.64110970e-06 -6.09131767e-07 -8.32998995e-07 -8.32998995e-07 -2.36780374e-05 -1.65890102e-03 2.53152986e-05 -2.17977514e-03 -1.89467534e-03 -1.49426456e-03 4.42482840e-05 3.75821848e-05 2.36039275e-05 5.97486234e-06 1.81574088e-05 1.80451259e-05 9.02916025e-06 2.18671970e-05 1.48099130e-05 -3.51931327e-06 2.05502133e-04 1.63080656e-03 -7.82907019e-05 -3.10746156e-06 -2.38213614e-05 4.37847663e-06 -8.32998995e-07 -3.10927343e-06 2.05811303e-05 -1.59128036e-06 2.15926195e-06 -1.65890102e-03 2.53152986e-05 -2.17977514e-03 -1.49426456e-03 -1.89467534e-03 4.42482840e-05 2.36039275e-05 3.75821848e-05 5.97486234e-06 1.80451259e-05 1.81574088e-05 -9.02916025e-06 2.18671970e-05 1.48099130e-05 -3.51931327e-06 2.05502133e-04 -7.82907019e-05 1.63080656e-03 -3.10746156e-06 4.37847663e-06 -2.38213614e-05 -8.32998995e-07 2.05811303e-05 -3.10927343e-06 1.59128036e-06 2.15926195e-06 5.69688749e-04 -5.69688749e-04 -8.39798432e-06 8.39798432e-06 8.93697594e-06 -8.93697594e-06 6.82205343e-06 2.57365101e-05 -2.57365101e-05 -1.57238704e-08 1.57238704e-08 -1.59128036e-06 1.59128036e-06 -3.63854940e-07 -1.59030648e-03 1.84962941e-05 -1.74058321e-03 -2.01592823e-03 -2.01592823e-03 3.01227762e-05 4.17074093e-05 4.17074093e-05 -9.23640909e-06 2.25340319e-05 2.25340319e-05 2.52734444e-05 1.17349286e-04 -8.78544054e-06 -2.09251695e-03 1.33566268e-04 1.33566268e-04 4.75031374e-05 -1.96776833e-06 -1.96776833e-06 -2.36780374e-05 2.15926195e-06 2.15926195e-06 -1.81079545e-05 + 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 3 4 6 7 9 10 11 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 4 6 7 9 10 11 16 17 19 20 22 23 24 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 + 0 12 24 36 49 62 74 87 100 112 125 138 145 157 181 205 229 255 281 305 331 357 381 407 433 447 471 +0 1 -1 338 + 9.71085217e-04 -5.39348870e-05 -7.82534933e-04 2.28947051e-02 -1.12629834e-04 -4.36601610e-06 -7.06290632e-04 -8.06803305e-06 4.12868179e-06 4.10506076e-06 1.15246216e-04 -7.21610794e-06 1.69048349e-05 -5.39348870e-05 3.75923941e-05 2.13260123e-04 -8.28899270e-03 -8.32275071e-06 -4.01966247e-06 2.31714385e-04 -1.25495233e-06 2.53846290e-06 8.51559750e-07 -1.03995572e-05 -4.24952023e-06 -3.30483140e-06 -7.82534933e-04 2.13260123e-04 2.12260058e-02 4.49743116e-03 -1.88611657e-02 -4.28539915e-04 -2.98277030e-05 2.00461619e-03 -7.48913815e-05 -1.72695364e-03 1.27504318e-05 1.44978187e-04 -2.85669752e-04 2.28947051e-02 -8.28899270e-03 4.49743116e-03 -2.51030638e-01 1.89297857e-02 -6.97149552e-05 5.87964879e-03 -5.79195367e-04 -7.58572004e-04 -8.98211232e-05 2.52034017e-03 1.29388692e-03 -1.19719034e-04 -1.12629834e-04 -8.32275071e-06 -1.88611657e-02 1.89297857e-02 2.06041132e-02 1.99716134e-03 -3.32065905e-04 -4.10802222e-04 5.26255113e-06 -2.79617879e-04 -2.07560882e-04 -5.85336743e-05 -1.71158075e-03 -4.36601610e-06 -4.01966247e-06 -4.28539915e-04 -6.97149552e-05 1.99716134e-03 1.72996833e-06 5.55982718e-07 -8.91563251e-05 1.25402677e-06 2.64578367e-05 -1.54915996e-06 -3.83703323e-06 2.60875899e-06 -7.06290632e-04 2.31714385e-04 -2.98277030e-05 5.87964879e-03 -3.32065905e-04 5.55982718e-07 -1.32121017e-04 1.19334873e-05 1.22464831e-05 6.06232335e-07 -5.65057823e-05 -2.09370319e-05 1.52372290e-06 -8.06803305e-06 -1.25495233e-06 2.00461619e-03 -5.79195367e-04 -4.10802222e-04 -8.91563251e-05 1.19334873e-05 1.20450077e-06 -6.39506503e-07 2.43465918e-06 4.76540983e-06 1.38199706e-06 2.60428974e-05 4.12868179e-06 2.53846290e-06 -7.48913815e-05 -7.58572004e-04 5.26255113e-06 1.25402677e-06 1.22464831e-05 -6.39506503e-07 7.63410118e-07 1.08692028e-07 1.11093842e-05 -2.55846362e-07 1.84499944e-06 4.10506076e-06 8.51559750e-07 -1.72695364e-03 -8.98211232e-05 -2.79617879e-04 2.64578367e-05 6.06232335e-07 2.43465918e-06 1.08692028e-07 1.28177961e-06 1.82532486e-06 4.95456302e-07 2.20350761e-05 1.15246216e-04 -1.03995572e-05 1.27504318e-05 2.52034017e-03 -2.07560882e-04 -1.54915996e-06 -5.65057823e-05 4.76540983e-06 1.11093842e-05 1.82532486e-06 -2.15933355e-05 -1.88266319e-05 1.25079886e-06 -7.21610794e-06 -4.24952023e-06 1.44978187e-04 1.29388692e-03 -5.85336743e-05 -3.83703323e-06 -2.09370319e-05 1.38199706e-06 -2.55846362e-07 4.95456302e-07 -1.88266319e-05 1.10150480e-06 -5.83536261e-07 1.69048349e-05 -3.30483140e-06 -2.85669752e-04 -1.19719034e-04 -1.71158075e-03 2.60875899e-06 1.52372290e-06 2.60428974e-05 1.84499944e-06 2.20350761e-05 1.25079886e-06 -5.83536261e-07 1.25888020e-06 9.73358697e-04 -5.24497521e-05 7.71791276e-04 -2.29247964e-02 1.26566916e-04 -1.15752095e-05 7.19758021e-04 -5.84545877e-06 4.19780550e-06 1.69924216e-06 1.16006584e-04 -7.32000399e-06 1.21633219e-05 -5.24497521e-05 3.67228436e-05 -2.14994175e-04 8.23015024e-03 -1.24687861e-05 4.60503564e-06 -2.30017748e-04 -1.14862855e-06 2.45015475e-06 -2.80630140e-07 -1.06511582e-05 -4.24054409e-06 -2.69920059e-06 7.71791276e-04 -2.14994175e-04 2.10343535e-02 4.54940609e-03 -1.89470691e-02 -4.27187482e-04 -4.87863270e-05 2.00198249e-03 7.35030715e-05 1.72950757e-03 -2.64818782e-05 -1.45111271e-04 2.83888757e-04 -2.29247964e-02 8.23015024e-03 4.54940609e-03 -2.50832380e-01 1.89833575e-02 5.33732012e-05 5.83183195e-03 -4.13388431e-04 7.66323778e-04 1.50325116e-04 -2.51496652e-03 -1.29681999e-03 1.68779109e-04 1.26566916e-04 -1.24687861e-05 -1.89470691e-02 1.89833575e-02 2.06649222e-02 1.99039120e-03 -3.39360139e-04 -4.24913256e-04 -6.81302687e-06 2.75085383e-04 2.00339240e-04 5.92197483e-05 1.71326927e-03 -1.15752095e-05 4.60503564e-06 -4.27187482e-04 5.33732012e-05 1.99039120e-03 2.04807668e-06 -3.45556406e-06 -8.81771803e-05 -1.24927244e-06 -2.65596570e-05 1.15957686e-06 3.78423205e-06 -2.77897092e-06 7.19758021e-04 -2.30017748e-04 -4.87863270e-05 5.83183195e-03 -3.39360139e-04 -3.45556406e-06 -1.30557911e-04 8.12114536e-06 -1.23291589e-05 -1.69660670e-06 5.59860131e-05 2.08151108e-05 -3.49791356e-06 -5.84545877e-06 -1.14862855e-06 2.00198249e-03 -4.13388431e-04 -4.24913256e-04 -8.81771803e-05 8.12114536e-06 2.23914575e-06 2.23858063e-07 -2.58085711e-06 -3.48181621e-06 -5.59776877e-07 -2.61227899e-05 4.19780550e-06 2.45015475e-06 7.35030715e-05 7.66323778e-04 -6.81302687e-06 -1.24927244e-06 -1.23291589e-05 2.23858063e-07 7.37765619e-07 -5.91716112e-08 1.11765612e-05 -2.37232914e-07 1.83193233e-06 1.69924216e-06 -2.80630140e-07 1.72950757e-03 1.50325116e-04 2.75085383e-04 -2.65596570e-05 -1.69660670e-06 -2.58085711e-06 -5.91716112e-08 1.10854705e-06 2.28329556e-06 8.00955041e-07 2.19288060e-05 1.16006584e-04 -1.06511582e-05 -2.64818782e-05 -2.51496652e-03 2.00339240e-04 1.15957686e-06 5.59860131e-05 -3.48181621e-06 1.11765612e-05 2.28329556e-06 -2.15196201e-05 -1.88698103e-05 8.46277756e-07 -7.32000399e-06 -4.24054409e-06 -1.45111271e-04 -1.29681999e-03 5.92197483e-05 3.78423205e-06 2.08151108e-05 -5.59776877e-07 -2.37232914e-07 8.00955041e-07 -1.88698103e-05 1.10635148e-06 -6.06165209e-07 1.21633219e-05 -2.69920059e-06 2.83888757e-04 1.68779109e-04 1.71326927e-03 -2.77897092e-06 -3.49791356e-06 -2.61227899e-05 1.83193233e-06 2.19288060e-05 8.46277756e-07 -6.06165209e-07 1.18296820e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 182 195 208 221 234 247 260 273 286 299 312 325 338 +0 1 0 507 + 6.73361942e-04 -3.97537772e-05 7.92408229e-04 1.31266047e-04 -2.08943763e-02 -1.72965599e-05 7.00477616e-06 5.42656099e-04 3.94541403e-06 -1.20934462e-04 4.81371689e-08 7.37597696e-06 -1.16470146e-05 -3.97537772e-05 1.60670407e-05 -2.12667446e-04 7.98001436e-06 8.26935955e-03 4.25595524e-06 1.75054518e-06 -2.30924551e-04 -2.62363319e-06 9.06842324e-06 -1.61175046e-06 -4.37520218e-06 3.04562873e-06 7.92408229e-04 -2.12667446e-04 -2.14829023e-02 1.75293540e-02 -3.71268150e-03 4.88599897e-04 -2.04695642e-03 9.01879561e-05 7.52737246e-05 1.22639815e-04 1.59938622e-03 1.39228798e-04 3.19255962e-04 1.31266047e-04 7.98001436e-06 1.75293540e-02 -2.08026443e-02 -1.89085567e-02 -2.04072172e-03 4.72221132e-04 3.33041135e-04 1.06213432e-04 2.12351595e-04 3.10813800e-04 4.96620554e-06 1.58339328e-03 -2.08943763e-02 8.26935955e-03 -3.71268150e-03 -1.89085567e-02 -1.81977887e-01 1.40640772e-04 4.61074437e-04 4.95961374e-03 9.19749440e-04 1.40876300e-03 1.52966528e-04 1.55859666e-03 -4.40258755e-05 -1.72965599e-05 4.25595524e-06 4.88599897e-04 -2.04072172e-03 1.40640772e-04 -1.57823544e-05 9.12826691e-05 -4.39825444e-06 -1.27991946e-06 -2.72506963e-06 -2.31224839e-05 -3.80797434e-06 -1.05398619e-05 7.00477616e-06 1.75054518e-06 -2.04695642e-03 4.72221132e-04 4.61074437e-04 9.12826691e-05 -1.53380790e-05 -9.01745553e-06 -2.22079191e-06 -4.00517617e-06 -1.03262115e-05 1.64895602e-08 -2.27178464e-05 5.42656099e-04 -2.30924551e-04 9.01879561e-05 3.33041135e-04 4.95961374e-03 -4.39825444e-06 -9.01745553e-06 -1.28104111e-04 -1.61753760e-05 -3.53600279e-05 -2.13841414e-06 -2.74194417e-05 1.83218511e-06 3.94541403e-06 -2.62363319e-06 7.52737246e-05 1.06213432e-04 9.19749440e-04 -1.27991946e-06 -2.22079191e-06 -1.61753760e-05 -9.34885278e-07 -1.25341370e-05 -1.20221699e-06 -2.91206873e-07 -1.66578969e-06 -1.20934462e-04 9.06842324e-06 1.22639815e-04 2.12351595e-04 1.40876300e-03 -2.72506963e-06 -4.00517617e-06 -3.53600279e-05 -1.25341370e-05 -1.00227308e-05 -2.42238671e-06 -2.11474313e-05 -1.03082780e-06 4.81371689e-08 -1.61175046e-06 1.59938622e-03 3.10813800e-04 1.52966528e-04 -2.31224839e-05 -1.03262115e-05 -2.13841414e-06 -1.20221699e-06 -2.42238671e-06 -5.82926895e-06 -1.76507771e-08 -1.98888934e-05 7.37597696e-06 -4.37520218e-06 1.39228798e-04 4.96620554e-06 1.55859666e-03 -3.80797434e-06 1.64895602e-08 -2.74194417e-05 -2.91206873e-07 -2.11474313e-05 -1.76507771e-08 -1.19495073e-06 -5.11705169e-07 -1.16470146e-05 3.04562873e-06 3.19255962e-04 1.58339328e-03 -4.40258755e-05 -1.05398619e-05 -2.27178464e-05 1.83218511e-06 -1.66578969e-06 -1.03082780e-06 -1.98888934e-05 -5.11705169e-07 -5.95160958e-06 -2.30970536e-02 5.94037473e-03 2.09662763e-06 1.14474191e-04 -8.15517156e-05 2.31797641e-03 -2.22301970e-03 2.40771110e-03 -2.43071797e-07 1.42206233e-03 -1.54432729e-03 5.19099848e-05 1.47631583e-03 6.75660007e-04 -3.70583968e-05 -7.60183549e-04 -1.51406289e-04 2.09274361e-02 -1.64162023e-06 8.02440447e-06 -5.54621534e-04 3.71527257e-06 -1.20903168e-04 1.41830964e-06 7.05570119e-06 -1.46557977e-05 5.66887190e-03 -3.35393364e-04 -4.04833836e-03 4.13501486e-03 -3.87799502e-03 9.94342201e-05 -1.07877289e-04 9.15295789e-05 -2.86358914e-07 -7.24007071e-06 1.99491717e-05 2.66335103e-06 -1.16926507e-05 -3.70583968e-05 1.50522051e-05 2.16903688e-04 6.71138355e-06 -8.22741963e-03 -3.48363816e-06 9.16193695e-07 2.29517192e-04 -2.54427436e-06 9.28543243e-06 -5.37690715e-07 -4.37638627e-06 3.64659964e-06 -1.83768890e-04 4.11745563e-03 -5.36715690e-02 2.21022945e-01 -2.43868036e-01 8.40500891e-05 -5.37624081e-03 6.06657551e-03 8.85894806e-04 1.82357183e-03 -1.68902008e-03 1.50808329e-04 1.70725211e-03 -7.60183549e-04 2.16903688e-04 -2.12881964e-02 1.76032039e-02 -3.67288888e-03 4.85036763e-04 -2.04259252e-03 1.05677681e-04 -7.38170330e-05 -1.10916847e-04 -1.59888601e-03 -1.38435699e-04 -3.17602844e-04 4.79903222e-05 -4.26787793e-03 2.21052348e-01 -3.14277441e-02 2.34367319e-01 -5.46740884e-03 -4.01763639e-04 -5.82300543e-03 3.51863680e-04 -1.60786809e-03 1.37253496e-03 -7.70527997e-04 -1.49575572e-03 -1.51406289e-04 6.71138355e-06 1.76032039e-02 -2.08557672e-02 -1.90264795e-02 -2.04011682e-03 4.82257184e-04 3.53343551e-04 -1.05167768e-04 -2.05459987e-04 -3.06738183e-04 -5.27889387e-06 -1.58582400e-03 -6.04318066e-05 4.02735793e-03 -2.44138640e-01 2.34513293e-01 -7.16630172e-02 5.94337156e-03 -5.61031003e-03 5.58610719e-04 -4.55645634e-04 1.92551919e-03 -1.96572509e-03 -6.38070122e-04 2.00321284e-03 2.09274361e-02 -8.22741963e-03 -3.67288888e-03 -1.90264795e-02 -1.82082090e-01 3.35823876e-05 5.70967741e-04 4.94466670e-03 -9.18925056e-04 -1.40231869e-03 -1.17448539e-04 -1.56254351e-03 -2.57406725e-06 -2.02907584e-03 -1.05916310e-04 2.33518808e-05 -5.37854297e-03 5.83941993e-03 2.38849929e-05 1.35489660e-04 -1.49956653e-04 -1.49866022e-05 -4.09493519e-05 3.42841905e-05 -4.12883227e-06 -2.87870079e-05 -1.64162023e-06 -3.48363816e-06 4.85036763e-04 -2.04011682e-03 3.35823876e-05 -1.51869930e-05 9.03878041e-05 -6.98851141e-07 1.27799009e-06 3.22070996e-06 2.30237241e-05 3.75439524e-06 1.05310605e-05 1.92358576e-03 1.11812472e-04 -5.21750510e-03 -5.38296209e-04 -5.51280191e-03 1.34427742e-04 3.79055304e-05 1.42290366e-04 -5.06922523e-06 3.44249429e-05 -2.02684488e-05 1.35261994e-05 3.03095393e-05 8.02440447e-06 9.16193695e-07 -2.04259252e-03 4.82257184e-04 5.70967741e-04 9.03878041e-05 -1.53786153e-05 -1.24035629e-05 2.71694594e-06 4.34454045e-06 1.02971341e-05 9.81035752e-07 2.27171575e-05 -2.10279721e-03 -9.60150546e-05 5.92110603e-03 -5.76269634e-03 4.12201360e-04 -1.49379862e-04 1.42989791e-04 1.22086375e-05 8.21974934e-06 -3.33531383e-05 4.04904295e-05 1.04591462e-05 -4.32676487e-05 -5.54621534e-04 2.29517192e-04 1.05677681e-04 3.53343551e-04 4.94466670e-03 -6.98851141e-07 -1.24035629e-05 -1.27406033e-04 1.61114847e-05 3.51900561e-05 1.80762506e-06 2.73107074e-05 3.94949154e-08 -5.47231757e-08 1.96413971e-07 -8.88773026e-04 -3.52799019e-04 4.53245914e-04 1.50846888e-05 5.39509780e-06 -8.39813516e-06 6.28992205e-06 -5.60896386e-06 5.50844326e-06 -2.52154614e-07 1.25949487e-05 3.71527257e-06 -2.54427436e-06 -7.38170330e-05 -1.05167768e-04 -9.18925056e-04 1.27799009e-06 2.71694594e-06 1.61114847e-05 -8.99249570e-07 -1.24953939e-05 -1.00005934e-06 -2.66013274e-07 -1.65640447e-06 1.48588589e-03 -6.19264361e-06 -1.86241064e-03 1.61511410e-03 -1.97088972e-03 4.25840113e-05 -3.61413449e-05 3.60498903e-05 -5.68520737e-06 3.07999331e-05 -2.04037581e-05 -8.89189683e-06 2.38041797e-05 -1.20903168e-04 9.28543243e-06 -1.10916847e-04 -2.05459987e-04 -1.40231869e-03 3.22070996e-06 4.34454045e-06 3.51900561e-05 -1.24953939e-05 -9.81822232e-06 -2.00165153e-06 -2.11801885e-05 -6.70871051e-07 -1.60788675e-03 1.93401252e-05 1.73137916e-03 -1.41761428e-03 1.98883091e-03 -3.54165283e-05 2.24733557e-05 -4.15542569e-05 5.57191371e-06 -2.07810848e-05 1.52786244e-05 -1.07864540e-05 -1.73577445e-05 1.41830964e-06 -5.37690715e-07 -1.59888601e-03 -3.06738183e-04 -1.17448539e-04 2.30237241e-05 1.02971341e-05 1.80762506e-06 -1.00005934e-06 -2.00165153e-06 -5.72796451e-06 3.38554894e-07 -1.98226003e-05 5.25276936e-05 2.84529967e-06 -1.52367404e-04 7.72206803e-04 6.39785684e-04 4.27319573e-06 -1.32282734e-05 -1.00704641e-05 -2.85704469e-07 -9.09812263e-06 -1.09640961e-05 6.17212951e-06 9.90651717e-07 7.05570119e-06 -4.37638627e-06 -1.38435699e-04 -5.27889387e-06 -1.56254351e-03 3.75439524e-06 9.81035752e-07 2.73107074e-05 -2.66013274e-07 -2.11801885e-05 3.38554894e-07 -1.19986110e-06 -5.24586487e-07 1.54738933e-03 -1.29767783e-05 -1.73326849e-03 1.51421276e-03 -2.02052298e-03 2.97436636e-05 -3.23124980e-05 4.49706024e-05 1.25586484e-05 2.34815694e-05 -1.67291900e-05 9.84746047e-07 2.40545549e-05 -1.46557977e-05 3.64659964e-06 -3.17602844e-04 -1.58582400e-03 -2.57406725e-06 1.05310605e-05 2.27171575e-05 3.94949154e-08 -1.65640447e-06 -6.70871051e-07 -1.98226003e-05 -5.24586487e-07 -5.94200596e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 195 221 247 273 299 325 351 377 403 429 455 481 507 +1 -1 0 314 + 8.00191823e-04 -5.87354670e-05 -2.15487940e-02 7.66760554e-04 7.66760554e-04 5.79664525e-04 -7.14099363e-06 -7.14099363e-06 -7.82059509e-06 -1.13448964e-05 -1.13448964e-05 -1.24491448e-04 -5.87354670e-05 2.31851909e-05 8.34376508e-03 -2.15531485e-04 -2.15531485e-04 -2.32461259e-04 4.34485113e-06 4.34485113e-06 9.91808434e-07 2.72052752e-06 2.72052752e-06 8.94449176e-06 -2.15487940e-02 8.34376508e-03 -2.06932720e-01 -1.79956951e-02 -1.79956951e-02 5.31351769e-03 5.31750642e-04 5.31750642e-04 -1.68310116e-03 4.85404194e-05 4.85404194e-05 1.78049713e-03 7.66760554e-04 -2.15531485e-04 -1.79956951e-02 4.10592132e-03 1.86127797e-02 3.54165425e-04 -4.06760377e-05 -2.02985282e-03 -2.12467694e-04 1.63440378e-03 -3.13237152e-05 -3.80330475e-05 2.69080937e-04 7.66760554e-04 -2.15531485e-04 -1.79956951e-02 1.86127797e-02 4.10592132e-03 3.54165425e-04 -2.02985282e-03 -4.06760377e-05 -2.12467694e-04 -3.13237152e-05 1.63440378e-03 3.80330475e-05 2.69080937e-04 5.79664525e-04 -2.32461259e-04 5.31351769e-03 3.54165425e-04 3.54165425e-04 -1.30377522e-04 -1.20574908e-05 -1.20574908e-05 2.85649901e-05 1.25818052e-07 1.25818052e-07 -4.25052695e-05 -7.14099363e-06 4.34485113e-06 5.31750642e-04 -4.06760377e-05 -2.02985282e-03 -1.20574908e-05 -6.50696410e-06 9.03552037e-05 5.21054342e-06 -2.41440578e-05 -2.61806781e-06 1.72409542e-06 -6.15471610e-06 -7.14099363e-06 4.34485113e-06 5.31750642e-04 -2.02985282e-03 -4.06760377e-05 -1.20574908e-05 9.03552037e-05 -6.50696410e-06 5.21054342e-06 -2.61806781e-06 -2.41440578e-05 -1.72409542e-06 -6.15471610e-06 -7.82059509e-06 9.91808434e-07 -1.68310116e-03 -2.12467694e-04 -2.12467694e-04 2.85649901e-05 5.21054342e-06 5.21054342e-06 7.34061477e-07 1.81143976e-06 1.81143976e-06 2.34668312e-05 -1.13448964e-05 2.72052752e-06 4.85404194e-05 1.63440378e-03 -3.13237152e-05 1.25818052e-07 -2.41440578e-05 -2.61806781e-06 1.81143976e-06 -2.10338601e-06 -2.05844595e-05 8.94007524e-07 -2.09281114e-06 -1.13448964e-05 2.72052752e-06 4.85404194e-05 -3.13237152e-05 1.63440378e-03 1.25818052e-07 -2.61806781e-06 -2.41440578e-05 1.81143976e-06 -2.05844595e-05 -2.10338601e-06 -8.94007524e-07 -2.09281114e-06 -3.80330475e-05 3.80330475e-05 1.72409542e-06 -1.72409542e-06 8.94007524e-07 -8.94007524e-07 1.92518589e-07 -1.24491448e-04 8.94449176e-06 1.78049713e-03 2.69080937e-04 2.69080937e-04 -4.25052695e-05 -6.15471610e-06 -6.15471610e-06 2.34668312e-05 -2.09281114e-06 -2.09281114e-06 -1.34870436e-05 8.16435485e-04 -4.34560325e-05 2.16989349e-02 -7.61794638e-04 -7.61794638e-04 -6.37180982e-04 6.39657600e-06 6.39657600e-06 -7.76766664e-06 -1.12762136e-05 -1.12762136e-05 -1.23026063e-04 -4.34560325e-05 2.56551279e-05 -8.18703017e-03 2.20932884e-04 2.20932884e-04 2.29769813e-04 -4.59485855e-06 -4.59485855e-06 1.78988980e-08 2.72943586e-06 2.72943586e-06 1.00491890e-05 2.16989349e-02 -8.18703017e-03 -2.06565600e-01 -1.79997021e-02 -1.79997021e-02 5.14854770e-03 5.40088650e-04 5.40088650e-04 1.68700198e-03 -4.31460992e-05 -4.31460992e-05 -1.81811033e-03 -7.61794638e-04 2.20932884e-04 -1.79997021e-02 3.78294925e-03 1.87514707e-02 3.53407664e-04 -1.01363895e-05 -2.03409318e-03 2.14694489e-04 -1.63539304e-03 4.23692834e-05 3.93485777e-05 -2.67534175e-04 -7.61794638e-04 2.20932884e-04 -1.79997021e-02 1.87514707e-02 3.78294925e-03 3.53407664e-04 -2.03409318e-03 -1.01363895e-05 2.14694489e-04 4.23692834e-05 -1.63539304e-03 -3.93485777e-05 -2.67534175e-04 -6.37180982e-04 2.29769813e-04 5.14854770e-03 3.53407664e-04 3.53407664e-04 -1.22636886e-04 -1.21436270e-05 -1.21436270e-05 -2.84631798e-05 -2.11405637e-07 -2.11405637e-07 4.35697451e-05 6.39657600e-06 -4.59485855e-06 5.40088650e-04 -1.01363895e-05 -2.03409318e-03 -1.21436270e-05 -4.79824282e-06 8.87240864e-05 -5.36472971e-06 2.42749794e-05 3.38336064e-06 -1.73037555e-06 6.27995462e-06 6.39657600e-06 -4.59485855e-06 5.40088650e-04 -2.03409318e-03 -1.01363895e-05 -1.21436270e-05 8.87240864e-05 -4.79824282e-06 -5.36472971e-06 3.38336064e-06 2.42749794e-05 1.73037555e-06 6.27995462e-06 -7.76766664e-06 1.78988980e-08 1.68700198e-03 2.14694489e-04 2.14694489e-04 -2.84631798e-05 -5.36472971e-06 -5.36472971e-06 7.64740405e-07 1.76825758e-06 1.76825758e-06 2.35272294e-05 -1.12762136e-05 2.72943586e-06 -4.31460992e-05 -1.63539304e-03 4.23692834e-05 -2.11405637e-07 2.42749794e-05 3.38336064e-06 1.76825758e-06 -1.56608428e-06 -2.03379520e-05 8.92242809e-07 -1.97462922e-06 -1.12762136e-05 2.72943586e-06 -4.31460992e-05 4.23692834e-05 -1.63539304e-03 -2.11405637e-07 3.38336064e-06 2.42749794e-05 1.76825758e-06 -2.03379520e-05 -1.56608428e-06 -8.92242809e-07 -1.97462922e-06 3.93485777e-05 -3.93485777e-05 -1.73037555e-06 1.73037555e-06 8.92242809e-07 -8.92242809e-07 1.99858664e-07 -1.23026063e-04 1.00491890e-05 -1.81811033e-03 -2.67534175e-04 -2.67534175e-04 4.35697451e-05 6.27995462e-06 6.27995462e-06 2.35272294e-05 -1.97462922e-06 -1.97462922e-06 -1.30828454e-05 + 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 3 4 6 7 9 10 11 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 16 17 19 20 22 23 24 13 14 15 16 17 18 19 20 21 22 23 25 + 0 12 24 36 49 62 74 87 100 112 125 138 145 157 169 181 193 206 219 231 244 257 269 282 295 302 314 +1 0 -1 338 + 9.71085217e-04 -5.39348870e-05 -7.82534933e-04 -1.12629834e-04 2.28947051e-02 -4.36601610e-06 -8.06803305e-06 -7.06290632e-04 4.12868179e-06 1.15246216e-04 4.10506076e-06 7.21610794e-06 1.69048349e-05 -5.39348870e-05 3.75923941e-05 2.13260123e-04 -8.32275071e-06 -8.28899270e-03 -4.01966247e-06 -1.25495233e-06 2.31714385e-04 2.53846290e-06 -1.03995572e-05 8.51559750e-07 4.24952023e-06 -3.30483140e-06 -7.82534933e-04 2.13260123e-04 2.12260058e-02 -1.88611657e-02 4.49743116e-03 -4.28539915e-04 2.00461619e-03 -2.98277030e-05 -7.48913815e-05 1.27504318e-05 -1.72695364e-03 -1.44978187e-04 -2.85669752e-04 -1.12629834e-04 -8.32275071e-06 -1.88611657e-02 2.06041132e-02 1.89297857e-02 1.99716134e-03 -4.10802222e-04 -3.32065905e-04 5.26255113e-06 -2.07560882e-04 -2.79617879e-04 5.85336743e-05 -1.71158075e-03 2.28947051e-02 -8.28899270e-03 4.49743116e-03 1.89297857e-02 -2.51030638e-01 -6.97149552e-05 -5.79195367e-04 5.87964879e-03 -7.58572004e-04 2.52034017e-03 -8.98211232e-05 -1.29388692e-03 -1.19719034e-04 -4.36601610e-06 -4.01966247e-06 -4.28539915e-04 1.99716134e-03 -6.97149552e-05 1.72996833e-06 -8.91563251e-05 5.55982718e-07 1.25402677e-06 -1.54915996e-06 2.64578367e-05 3.83703323e-06 2.60875899e-06 -8.06803305e-06 -1.25495233e-06 2.00461619e-03 -4.10802222e-04 -5.79195367e-04 -8.91563251e-05 1.20450077e-06 1.19334873e-05 -6.39506503e-07 4.76540983e-06 2.43465918e-06 -1.38199706e-06 2.60428974e-05 -7.06290632e-04 2.31714385e-04 -2.98277030e-05 -3.32065905e-04 5.87964879e-03 5.55982718e-07 1.19334873e-05 -1.32121017e-04 1.22464831e-05 -5.65057823e-05 6.06232335e-07 2.09370319e-05 1.52372290e-06 4.12868179e-06 2.53846290e-06 -7.48913815e-05 5.26255113e-06 -7.58572004e-04 1.25402677e-06 -6.39506503e-07 1.22464831e-05 7.63410118e-07 1.11093842e-05 1.08692028e-07 2.55846362e-07 1.84499944e-06 1.15246216e-04 -1.03995572e-05 1.27504318e-05 -2.07560882e-04 2.52034017e-03 -1.54915996e-06 4.76540983e-06 -5.65057823e-05 1.11093842e-05 -2.15933355e-05 1.82532486e-06 1.88266319e-05 1.25079886e-06 4.10506076e-06 8.51559750e-07 -1.72695364e-03 -2.79617879e-04 -8.98211232e-05 2.64578367e-05 2.43465918e-06 6.06232335e-07 1.08692028e-07 1.82532486e-06 1.28177961e-06 -4.95456302e-07 2.20350761e-05 7.21610794e-06 4.24952023e-06 -1.44978187e-04 5.85336743e-05 -1.29388692e-03 3.83703323e-06 -1.38199706e-06 2.09370319e-05 2.55846362e-07 1.88266319e-05 -4.95456302e-07 1.10150480e-06 5.83536261e-07 1.69048349e-05 -3.30483140e-06 -2.85669752e-04 -1.71158075e-03 -1.19719034e-04 2.60875899e-06 2.60428974e-05 1.52372290e-06 1.84499944e-06 1.25079886e-06 2.20350761e-05 5.83536261e-07 1.25888020e-06 9.73358697e-04 -5.24497521e-05 7.71791276e-04 1.26566916e-04 -2.29247964e-02 -1.15752095e-05 -5.84545877e-06 7.19758021e-04 4.19780550e-06 1.16006584e-04 1.69924216e-06 7.32000399e-06 1.21633219e-05 -5.24497521e-05 3.67228436e-05 -2.14994175e-04 -1.24687861e-05 8.23015024e-03 4.60503564e-06 -1.14862855e-06 -2.30017748e-04 2.45015475e-06 -1.06511582e-05 -2.80630140e-07 4.24054409e-06 -2.69920059e-06 7.71791276e-04 -2.14994175e-04 2.10343535e-02 -1.89470691e-02 4.54940609e-03 -4.27187482e-04 2.00198249e-03 -4.87863270e-05 7.35030715e-05 -2.64818782e-05 1.72950757e-03 1.45111271e-04 2.83888757e-04 1.26566916e-04 -1.24687861e-05 -1.89470691e-02 2.06649222e-02 1.89833575e-02 1.99039120e-03 -4.24913256e-04 -3.39360139e-04 -6.81302687e-06 2.00339240e-04 2.75085383e-04 -5.92197483e-05 1.71326927e-03 -2.29247964e-02 8.23015024e-03 4.54940609e-03 1.89833575e-02 -2.50832380e-01 5.33732012e-05 -4.13388431e-04 5.83183195e-03 7.66323778e-04 -2.51496652e-03 1.50325116e-04 1.29681999e-03 1.68779109e-04 -1.15752095e-05 4.60503564e-06 -4.27187482e-04 1.99039120e-03 5.33732012e-05 2.04807668e-06 -8.81771803e-05 -3.45556406e-06 -1.24927244e-06 1.15957686e-06 -2.65596570e-05 -3.78423205e-06 -2.77897092e-06 -5.84545877e-06 -1.14862855e-06 2.00198249e-03 -4.24913256e-04 -4.13388431e-04 -8.81771803e-05 2.23914575e-06 8.12114536e-06 2.23858063e-07 -3.48181621e-06 -2.58085711e-06 5.59776877e-07 -2.61227899e-05 7.19758021e-04 -2.30017748e-04 -4.87863270e-05 -3.39360139e-04 5.83183195e-03 -3.45556406e-06 8.12114536e-06 -1.30557911e-04 -1.23291589e-05 5.59860131e-05 -1.69660670e-06 -2.08151108e-05 -3.49791356e-06 4.19780550e-06 2.45015475e-06 7.35030715e-05 -6.81302687e-06 7.66323778e-04 -1.24927244e-06 2.23858063e-07 -1.23291589e-05 7.37765619e-07 1.11765612e-05 -5.91716112e-08 2.37232914e-07 1.83193233e-06 1.16006584e-04 -1.06511582e-05 -2.64818782e-05 2.00339240e-04 -2.51496652e-03 1.15957686e-06 -3.48181621e-06 5.59860131e-05 1.11765612e-05 -2.15196201e-05 2.28329556e-06 1.88698103e-05 8.46277756e-07 1.69924216e-06 -2.80630140e-07 1.72950757e-03 2.75085383e-04 1.50325116e-04 -2.65596570e-05 -2.58085711e-06 -1.69660670e-06 -5.91716112e-08 2.28329556e-06 1.10854705e-06 -8.00955041e-07 2.19288060e-05 7.32000399e-06 4.24054409e-06 1.45111271e-04 -5.92197483e-05 1.29681999e-03 -3.78423205e-06 5.59776877e-07 -2.08151108e-05 2.37232914e-07 1.88698103e-05 -8.00955041e-07 1.10635148e-06 6.06165209e-07 1.21633219e-05 -2.69920059e-06 2.83888757e-04 1.71326927e-03 1.68779109e-04 -2.77897092e-06 -2.61227899e-05 -3.49791356e-06 1.83193233e-06 8.46277756e-07 2.19288060e-05 6.06165209e-07 1.18296820e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 182 195 208 221 234 247 260 273 286 299 312 325 338 +1 0 0 507 + 6.73361942e-04 -3.97537772e-05 7.92408229e-04 -2.08943763e-02 1.31266047e-04 -1.72965599e-05 5.42656099e-04 7.00477616e-06 3.94541403e-06 4.81371689e-08 -1.20934462e-04 -7.37597696e-06 -1.16470146e-05 -3.97537772e-05 1.60670407e-05 -2.12667446e-04 8.26935955e-03 7.98001436e-06 4.25595524e-06 -2.30924551e-04 1.75054518e-06 -2.62363319e-06 -1.61175046e-06 9.06842324e-06 4.37520218e-06 3.04562873e-06 7.92408229e-04 -2.12667446e-04 -2.14829023e-02 -3.71268150e-03 1.75293540e-02 4.88599897e-04 9.01879561e-05 -2.04695642e-03 7.52737246e-05 1.59938622e-03 1.22639815e-04 -1.39228798e-04 3.19255962e-04 -2.08943763e-02 8.26935955e-03 -3.71268150e-03 -1.81977887e-01 -1.89085567e-02 1.40640772e-04 4.95961374e-03 4.61074437e-04 9.19749440e-04 1.52966528e-04 1.40876300e-03 -1.55859666e-03 -4.40258755e-05 1.31266047e-04 7.98001436e-06 1.75293540e-02 -1.89085567e-02 -2.08026443e-02 -2.04072172e-03 3.33041135e-04 4.72221132e-04 1.06213432e-04 3.10813800e-04 2.12351595e-04 -4.96620554e-06 1.58339328e-03 -1.72965599e-05 4.25595524e-06 4.88599897e-04 1.40640772e-04 -2.04072172e-03 -1.57823544e-05 -4.39825444e-06 9.12826691e-05 -1.27991946e-06 -2.31224839e-05 -2.72506963e-06 3.80797434e-06 -1.05398619e-05 5.42656099e-04 -2.30924551e-04 9.01879561e-05 4.95961374e-03 3.33041135e-04 -4.39825444e-06 -1.28104111e-04 -9.01745553e-06 -1.61753760e-05 -2.13841414e-06 -3.53600279e-05 2.74194417e-05 1.83218511e-06 7.00477616e-06 1.75054518e-06 -2.04695642e-03 4.61074437e-04 4.72221132e-04 9.12826691e-05 -9.01745553e-06 -1.53380790e-05 -2.22079191e-06 -1.03262115e-05 -4.00517617e-06 -1.64895602e-08 -2.27178464e-05 3.94541403e-06 -2.62363319e-06 7.52737246e-05 9.19749440e-04 1.06213432e-04 -1.27991946e-06 -1.61753760e-05 -2.22079191e-06 -9.34885278e-07 -1.20221699e-06 -1.25341370e-05 2.91206873e-07 -1.66578969e-06 4.81371689e-08 -1.61175046e-06 1.59938622e-03 1.52966528e-04 3.10813800e-04 -2.31224839e-05 -2.13841414e-06 -1.03262115e-05 -1.20221699e-06 -5.82926895e-06 -2.42238671e-06 1.76507771e-08 -1.98888934e-05 -1.20934462e-04 9.06842324e-06 1.22639815e-04 1.40876300e-03 2.12351595e-04 -2.72506963e-06 -3.53600279e-05 -4.00517617e-06 -1.25341370e-05 -2.42238671e-06 -1.00227308e-05 2.11474313e-05 -1.03082780e-06 -7.37597696e-06 4.37520218e-06 -1.39228798e-04 -1.55859666e-03 -4.96620554e-06 3.80797434e-06 2.74194417e-05 -1.64895602e-08 2.91206873e-07 1.76507771e-08 2.11474313e-05 -1.19495073e-06 5.11705169e-07 -1.16470146e-05 3.04562873e-06 3.19255962e-04 -4.40258755e-05 1.58339328e-03 -1.05398619e-05 1.83218511e-06 -2.27178464e-05 -1.66578969e-06 -1.98888934e-05 -1.03082780e-06 5.11705169e-07 -5.95160958e-06 -2.30970536e-02 5.94037473e-03 2.09662763e-06 -8.15517156e-05 1.14474191e-04 2.31797641e-03 2.40771110e-03 -2.22301970e-03 -2.43071797e-07 -1.54432729e-03 1.42206233e-03 -5.19099848e-05 1.47631583e-03 6.75660007e-04 -3.70583968e-05 -7.60183549e-04 2.09274361e-02 -1.51406289e-04 -1.64162023e-06 -5.54621534e-04 8.02440447e-06 3.71527257e-06 1.41830964e-06 -1.20903168e-04 -7.05570119e-06 -1.46557977e-05 5.66887190e-03 -3.35393364e-04 -4.04833836e-03 -3.87799502e-03 4.13501486e-03 9.94342201e-05 9.15295789e-05 -1.07877289e-04 -2.86358914e-07 1.99491717e-05 -7.24007071e-06 -2.66335103e-06 -1.16926507e-05 -3.70583968e-05 1.50522051e-05 2.16903688e-04 -8.22741963e-03 6.71138355e-06 -3.48363816e-06 2.29517192e-04 9.16193695e-07 -2.54427436e-06 -5.37690715e-07 9.28543243e-06 4.37638627e-06 3.64659964e-06 -1.83768890e-04 4.11745563e-03 -5.36715690e-02 -2.43868036e-01 2.21022945e-01 8.40500891e-05 6.06657551e-03 -5.37624081e-03 8.85894806e-04 -1.68902008e-03 1.82357183e-03 -1.50808329e-04 1.70725211e-03 -7.60183549e-04 2.16903688e-04 -2.12881964e-02 -3.67288888e-03 1.76032039e-02 4.85036763e-04 1.05677681e-04 -2.04259252e-03 -7.38170330e-05 -1.59888601e-03 -1.10916847e-04 1.38435699e-04 -3.17602844e-04 -6.04318066e-05 4.02735793e-03 -2.44138640e-01 -7.16630172e-02 2.34513293e-01 5.94337156e-03 5.58610719e-04 -5.61031003e-03 -4.55645634e-04 -1.96572509e-03 1.92551919e-03 6.38070122e-04 2.00321284e-03 2.09274361e-02 -8.22741963e-03 -3.67288888e-03 -1.82082090e-01 -1.90264795e-02 3.35823876e-05 4.94466670e-03 5.70967741e-04 -9.18925056e-04 -1.17448539e-04 -1.40231869e-03 1.56254351e-03 -2.57406725e-06 4.79903222e-05 -4.26787793e-03 2.21052348e-01 2.34367319e-01 -3.14277441e-02 -5.46740884e-03 -5.82300543e-03 -4.01763639e-04 3.51863680e-04 1.37253496e-03 -1.60786809e-03 7.70527997e-04 -1.49575572e-03 -1.51406289e-04 6.71138355e-06 1.76032039e-02 -1.90264795e-02 -2.08557672e-02 -2.04011682e-03 3.53343551e-04 4.82257184e-04 -1.05167768e-04 -3.06738183e-04 -2.05459987e-04 5.27889387e-06 -1.58582400e-03 -2.02907584e-03 -1.05916310e-04 2.33518808e-05 5.83941993e-03 -5.37854297e-03 2.38849929e-05 -1.49956653e-04 1.35489660e-04 -1.49866022e-05 3.42841905e-05 -4.09493519e-05 4.12883227e-06 -2.87870079e-05 -1.64162023e-06 -3.48363816e-06 4.85036763e-04 3.35823876e-05 -2.04011682e-03 -1.51869930e-05 -6.98851141e-07 9.03878041e-05 1.27799009e-06 2.30237241e-05 3.22070996e-06 -3.75439524e-06 1.05310605e-05 -2.10279721e-03 -9.60150546e-05 5.92110603e-03 4.12201360e-04 -5.76269634e-03 -1.49379862e-04 1.22086375e-05 1.42989791e-04 8.21974934e-06 4.04904295e-05 -3.33531383e-05 -1.04591462e-05 -4.32676487e-05 -5.54621534e-04 2.29517192e-04 1.05677681e-04 4.94466670e-03 3.53343551e-04 -6.98851141e-07 -1.27406033e-04 -1.24035629e-05 1.61114847e-05 1.80762506e-06 3.51900561e-05 -2.73107074e-05 3.94949154e-08 1.92358576e-03 1.11812472e-04 -5.21750510e-03 -5.51280191e-03 -5.38296209e-04 1.34427742e-04 1.42290366e-04 3.79055304e-05 -5.06922523e-06 -2.02684488e-05 3.44249429e-05 -1.35261994e-05 3.03095393e-05 8.02440447e-06 9.16193695e-07 -2.04259252e-03 5.70967741e-04 4.82257184e-04 9.03878041e-05 -1.24035629e-05 -1.53786153e-05 2.71694594e-06 1.02971341e-05 4.34454045e-06 -9.81035752e-07 2.27171575e-05 -5.47231757e-08 1.96413971e-07 -8.88773026e-04 4.53245914e-04 -3.52799019e-04 1.50846888e-05 -8.39813516e-06 5.39509780e-06 6.28992205e-06 5.50844326e-06 -5.60896386e-06 2.52154614e-07 1.25949487e-05 3.71527257e-06 -2.54427436e-06 -7.38170330e-05 -9.18925056e-04 -1.05167768e-04 1.27799009e-06 1.61114847e-05 2.71694594e-06 -8.99249570e-07 -1.00005934e-06 -1.24953939e-05 2.66013274e-07 -1.65640447e-06 -1.60788675e-03 1.93401252e-05 1.73137916e-03 1.98883091e-03 -1.41761428e-03 -3.54165283e-05 -4.15542569e-05 2.24733557e-05 5.57191371e-06 1.52786244e-05 -2.07810848e-05 1.07864540e-05 -1.73577445e-05 1.41830964e-06 -5.37690715e-07 -1.59888601e-03 -1.17448539e-04 -3.06738183e-04 2.30237241e-05 1.80762506e-06 1.02971341e-05 -1.00005934e-06 -5.72796451e-06 -2.00165153e-06 -3.38554894e-07 -1.98226003e-05 1.48588589e-03 -6.19264361e-06 -1.86241064e-03 -1.97088972e-03 1.61511410e-03 4.25840113e-05 3.60498903e-05 -3.61413449e-05 -5.68520737e-06 -2.04037581e-05 3.07999331e-05 8.89189683e-06 2.38041797e-05 -1.20903168e-04 9.28543243e-06 -1.10916847e-04 -1.40231869e-03 -2.05459987e-04 3.22070996e-06 3.51900561e-05 4.34454045e-06 -1.24953939e-05 -2.00165153e-06 -9.81822232e-06 2.11801885e-05 -6.70871051e-07 -5.25276936e-05 -2.84529967e-06 1.52367404e-04 -6.39785684e-04 -7.72206803e-04 -4.27319573e-06 1.00704641e-05 1.32282734e-05 2.85704469e-07 1.09640961e-05 9.09812263e-06 6.17212951e-06 -9.90651717e-07 -7.05570119e-06 4.37638627e-06 1.38435699e-04 1.56254351e-03 5.27889387e-06 -3.75439524e-06 -2.73107074e-05 -9.81035752e-07 2.66013274e-07 -3.38554894e-07 2.11801885e-05 -1.19986110e-06 5.24586487e-07 1.54738933e-03 -1.29767783e-05 -1.73326849e-03 -2.02052298e-03 1.51421276e-03 2.97436636e-05 4.49706024e-05 -3.23124980e-05 1.25586484e-05 -1.67291900e-05 2.34815694e-05 -9.84746047e-07 2.40545549e-05 -1.46557977e-05 3.64659964e-06 -3.17602844e-04 -2.57406725e-06 -1.58582400e-03 1.05310605e-05 3.94949154e-08 2.27171575e-05 -1.65640447e-06 -1.98226003e-05 -6.70871051e-07 5.24586487e-07 -5.94200596e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 195 221 247 273 299 325 351 377 403 429 455 481 507 diff --git a/tests/03_NAO_multik/02_NO_KP_15/result.ref b/tests/03_NAO_multik/02_NO_KP_15/result.ref index e549847aad..cc7d63c6c3 100644 --- a/tests/03_NAO_multik/02_NO_KP_15/result.ref +++ b/tests/03_NAO_multik/02_NO_KP_15/result.ref @@ -1,8 +1,5 @@ -etotref -204.8201098650446568 -etotperatomref -102.4100549325 -totalforceref 0.393746 -totalstressref 46.724863 -pointgroupref C_1h -spacegroupref C_2h -nksibzref 6 -totaltimeref +0.79966 +etotref -204.8201568334281149 +etotperatomref -102.4100784167 +totalforceref 0.393726 +totalstressref 46.701814 +totaltimeref 0.27 diff --git a/tests/03_NAO_multik/05_NO_KP_DJ_OC2/INPUT b/tests/03_NAO_multik/05_NO_KP_DJ_OC2/INPUT index 01a4c87d0d..4aec322903 100644 --- a/tests/03_NAO_multik/05_NO_KP_DJ_OC2/INPUT +++ b/tests/03_NAO_multik/05_NO_KP_DJ_OC2/INPUT @@ -26,7 +26,7 @@ basis_type lcao ks_solver scalapack_gvx chg_extrap second-order out_dmk 0 -out_chg 2 3 +out_chg 2 3 // 2 outputs the initial charge density pw_diag_thr 0.00001 mixing_type broyden diff --git a/tests/03_NAO_multik/15_NO_KP_OB/eigs1.txt.ref b/tests/03_NAO_multik/15_NO_KP_OB/band.txt.ref similarity index 100% rename from tests/03_NAO_multik/15_NO_KP_OB/eigs1.txt.ref rename to tests/03_NAO_multik/15_NO_KP_OB/band.txt.ref diff --git a/tests/03_NAO_multik/15_NO_KP_OB/chgs1.cube b/tests/03_NAO_multik/15_NO_KP_OB/chg.cube similarity index 100% rename from tests/03_NAO_multik/15_NO_KP_OB/chgs1.cube rename to tests/03_NAO_multik/15_NO_KP_OB/chg.cube diff --git a/tests/03_NAO_multik/16_NO_KP_OD/chgs1.cube b/tests/03_NAO_multik/16_NO_KP_OD/chg.cube similarity index 100% rename from tests/03_NAO_multik/16_NO_KP_OD/chgs1.cube rename to tests/03_NAO_multik/16_NO_KP_OD/chg.cube diff --git a/tests/03_NAO_multik/17_NO_KP_OH/INPUT b/tests/03_NAO_multik/17_NO_KP_OH/INPUT index 0efe436f03..489e9f4ee0 100644 --- a/tests/03_NAO_multik/17_NO_KP_OH/INPUT +++ b/tests/03_NAO_multik/17_NO_KP_OH/INPUT @@ -25,6 +25,5 @@ smearing_sigma 0.002 mixing_type broyden mixing_beta 0.7 -out_mat_hs 1 5 +out_mat_hs 1 3 ks_solver scalapack_gvx -out_ndigits 5 diff --git a/tests/03_NAO_multik/17_NO_KP_OH/STRU b/tests/03_NAO_multik/17_NO_KP_OH/STRU index 8bff6c3384..b1c8ce954a 100644 --- a/tests/03_NAO_multik/17_NO_KP_OH/STRU +++ b/tests/03_NAO_multik/17_NO_KP_OH/STRU @@ -1,8 +1,8 @@ ATOMIC_SPECIES -Si 14 Si_ONCV_PBE-1.0.upf upf201 +Si 14 Si_dojo_nsoc.upf NUMERICAL_ORBITAL -Si_gga_8au_60Ry_2s2p1d.orb +Si_dojo_6au_sz.orb LATTICE_CONSTANT 10.2 // add lattice constant diff --git a/tests/03_NAO_multik/17_NO_KP_OH/hk2_nao.txt.ref b/tests/03_NAO_multik/17_NO_KP_OH/hk2_nao.txt.ref new file mode 100644 index 0000000000..2febe1208f --- /dev/null +++ b/tests/03_NAO_multik/17_NO_KP_OH/hk2_nao.txt.ref @@ -0,0 +1,23 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/hk2_nao.txt +# gamma only 0 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + (5.166e-02,-3.852e-32) (6.663e-03,1.288e-16) (6.663e-03,1.288e-16) (-6.663e-03,-1.288e-16) (-1.844e-01,-8.423e-16) (9.209e-02,-2.027e-16) (9.209e-02,-2.027e-16) (-9.209e-02,2.027e-16) +Row 2 + (1.445e+00,-6.019e-36) (1.126e-01,2.138e-29) (-1.126e-01,-2.586e-29) (-9.209e-02,2.027e-16) (1.090e-01,-3.838e-16) (-3.637e-02,4.150e-16) (3.637e-02,-4.150e-16) +Row 3 + (1.445e+00,-5.381e-33) (-1.126e-01,-4.535e-30) (-9.209e-02,2.027e-16) (-3.637e-02,4.150e-16) (1.090e-01,-3.838e-16) (3.637e-02,-4.150e-16) +Row 4 + (1.445e+00,1.852e-32) (9.209e-02,-2.027e-16) (3.637e-02,-4.150e-16) (3.637e-02,-4.150e-16) (1.090e-01,-3.838e-16) +Row 5 + (5.166e-02,-1.233e-32) (-6.663e-03,1.288e-16) (-6.663e-03,1.288e-16) (6.663e-03,-1.288e-16) +Row 6 + (1.445e+00,-2.312e-32) (1.126e-01,-2.271e-29) (-1.126e-01,2.667e-29) +Row 7 + (1.445e+00,2.543e-32) (-1.126e-01,3.883e-30) +Row 8 + (1.445e+00,-5.621e-32) diff --git a/tests/03_NAO_multik/17_NO_KP_OH/hks1k2_nao.txt.ref b/tests/03_NAO_multik/17_NO_KP_OH/hks1k2_nao.txt.ref deleted file mode 100644 index 409d3c29fc..0000000000 --- a/tests/03_NAO_multik/17_NO_KP_OH/hks1k2_nao.txt.ref +++ /dev/null @@ -1,26 +0,0 @@ -26 (-0.082776,-9.1297e-33) (-0.11465,2.1006e-17) (-0.020367,-9.5125e-16) (-0.020367,-9.5125e-16) (0.020367,9.5125e-16) (0.029184,1.3014e-15) (0.029184,1.3014e-15) (-0.029184,-1.3014e-15) (1.0922e-16,5.4272e-32) (-0.066314,-1.4078e-16) (0.066314,1.4078e-16) (4.2246e-16,4.4042e-32) (0.066314,1.4078e-16) (-0.19457,-1.035e-15) (0.10188,-2.722e-16) (0.11256,-8.2438e-16) (0.11256,-8.2438e-16) (-0.11256,8.2438e-16) (0.0034458,7.6953e-16) (0.0034458,7.6953e-16) (-0.0034458,-7.6953e-16) (-3.4085e-17,5.981e-31) (-0.038015,8.7631e-17) (0.038015,-8.7631e-17) (1.1196e-16,1.4241e-31) (0.038015,-8.7631e-17) - (0.70902,3.8567e-31) (-0.051417,2.1842e-16) (-0.051417,2.1842e-16) (0.051417,-2.1842e-16) (0.061774,-2.1271e-15) (0.061774,-2.1271e-15) (-0.061774,2.1271e-15) (1.0242e-16,5.9747e-31) (0.029537,-4.4615e-16) (-0.029537,4.4615e-16) (-3.8764e-17,-2.539e-31) (-0.029537,4.4615e-16) (0.10188,-2.722e-16) (0.058306,2.548e-15) (-0.14708,6.1324e-16) (-0.14708,6.1324e-16) (0.14708,-6.1324e-16) (0.16668,-1.8109e-15) (0.16668,-1.8109e-15) (-0.16668,1.8109e-15) (1.9326e-17,-8.9906e-32) (0.0087689,2.0855e-16) (-0.0087689,-2.0855e-16) (1.49e-16,-8.3232e-31) (-0.0087689,-2.0855e-16) - (0.28447,5.7303e-32) (-0.06343,1.9518e-31) (0.06343,8.9706e-31) (0.26975,2.2586e-17) (-0.074643,2.6518e-18) (0.074643,-2.6518e-18) (-0.008018,-5.1887e-17) (-0.031919,-6.006e-17) (0.031919,6.006e-17) (1.6266e-17,-6.8941e-31) (0.10178,-2.8642e-17) (-0.11256,8.2438e-16) (0.14708,-6.1324e-16) (-0.027588,-3.458e-16) (0.013264,-4.1515e-16) (-0.013264,4.1515e-16) (-0.080332,5.945e-16) (-0.12029,8.2169e-16) (0.12029,-8.2169e-16) (0.042437,-1.42e-16) (-0.039652,2.1512e-16) (0.039652,-2.1512e-16) (1.5921e-17,-3.314e-31) (-0.069547,-3.4356e-16) - (0.28447,-5.9725e-33) (0.06343,-1.6844e-31) (-0.074643,2.6518e-18) (0.26975,2.2586e-17) (0.074643,-2.6518e-18) (0.004009,2.5944e-17) (-0.031919,-6.006e-17) (0.10178,-2.8642e-17) (-0.0069438,-4.4936e-17) (0.031919,6.006e-17) (-0.11256,8.2438e-16) (0.14708,-6.1324e-16) (0.013264,-4.1515e-16) (-0.027588,-3.458e-16) (-0.013264,4.1515e-16) (-0.12029,8.2169e-16) (-0.080332,5.945e-16) (0.12029,-8.2169e-16) (-0.021219,7.1e-17) (-0.039652,2.1512e-16) (-0.069547,-3.4356e-16) (0.036752,-1.2298e-16) (0.039652,-2.1512e-16) - (0.28447,6.9645e-32) (0.074643,-2.6518e-18) (0.074643,-2.6518e-18) (0.26975,2.2586e-17) (-0.004009,-2.5944e-17) (0.10178,-2.8642e-17) (-0.031919,-6.006e-17) (-0.0069438,-4.4936e-17) (-0.031919,-6.006e-17) (0.11256,-8.2438e-16) (-0.14708,6.1324e-16) (-0.013264,4.1515e-16) (-0.013264,4.1515e-16) (-0.027588,-3.458e-16) (0.12029,-8.2169e-16) (0.12029,-8.2169e-16) (-0.080332,5.945e-16) (0.021219,-7.1e-17) (-0.069547,-3.4356e-16) (-0.039652,2.1512e-16) (0.036752,-1.2298e-16) (-0.039652,2.1512e-16) - (1.0055,4.7569e-33) (0.28657,3.8931e-30) (-0.28657,-3.3844e-32) (0.00042938,2.1669e-16) (0.061926,-2.9486e-16) (-0.061926,2.9486e-16) (-7.359e-17,1.6781e-30) (-0.026141,1.5691e-16) (-0.0034458,-7.6953e-16) (-0.16668,1.8109e-15) (-0.080332,5.945e-16) (-0.12029,8.2169e-16) (0.12029,-8.2169e-16) (0.31908,-5.8099e-16) (0.15471,-3.9248e-16) (-0.15471,3.9248e-16) (-0.018858,-1.3465e-16) (-0.077067,-2.8751e-16) (0.077067,2.8751e-16) (-1.0408e-17,1.155e-31) (0.073506,2.4706e-16) - (1.0055,-6.6696e-32) (-0.28657,3.3727e-30) (-0.00021469,-1.0834e-16) (0.061926,-2.9486e-16) (-0.026141,1.5691e-16) (0.00037185,1.8766e-16) (-0.061926,2.9486e-16) (-0.0034458,-7.6953e-16) (-0.16668,1.8109e-15) (-0.12029,8.2169e-16) (-0.080332,5.945e-16) (0.12029,-8.2169e-16) (0.15471,-3.9248e-16) (0.31908,-5.8099e-16) (-0.15471,3.9248e-16) (0.0094292,6.7324e-17) (-0.077067,-2.8751e-16) (0.073506,2.4706e-16) (-0.016332,-1.1661e-16) (0.077067,2.8751e-16) - (1.0055,-1.4293e-31) (0.00021469,1.0834e-16) (-0.026141,1.5691e-16) (0.061926,-2.9486e-16) (0.00037185,1.8766e-16) (0.061926,-2.9486e-16) (0.0034458,7.6953e-16) (0.16668,-1.8109e-15) (0.12029,-8.2169e-16) (0.12029,-8.2169e-16) (-0.080332,5.945e-16) (-0.15471,3.9248e-16) (-0.15471,3.9248e-16) (0.31908,-5.8099e-16) (-0.0094292,-6.7324e-17) (0.073506,2.4706e-16) (-0.077067,-2.8751e-16) (-0.016332,-1.1661e-16) (-0.077067,-2.8751e-16) - (1.3565,3.9521e-33) (-0.0083012,-3.7999e-17) (0.0083012,3.7999e-17) (-1.1507e-17,2.6613e-32) (-0.016602,-7.5998e-17) (3.2485e-17,9.6106e-32) (-2.0659e-16,-3.322e-31) (-0.042437,1.42e-16) (0.021219,-7.1e-17) (-0.021219,7.1e-17) (0.018858,1.3465e-16) (-0.0094292,-6.7324e-17) (0.0094292,6.7324e-17) (-0.11025,-5.1483e-16) (0.053608,-2.01e-16) (-0.053608,2.01e-16) (-5.9267e-17,-6.5921e-32) (0.10722,-4.02e-16) - (1.2857,-7.7255e-33) (0.027582,5.2214e-31) (-0.014378,6.5817e-17) (0.027582,1.1109e-31) (-0.038015,8.7631e-17) (0.0087689,2.0855e-16) (0.039652,-2.1512e-16) (0.039652,-2.1512e-16) (0.069547,3.4356e-16) (0.077067,2.8751e-16) (0.077067,2.8751e-16) (-0.073506,-2.4706e-16) (0.053608,-2.01e-16) (0.048247,1.8491e-16) (0.11466,-5.1565e-16) (0.092851,-3.4815e-16) (0.11466,-5.1565e-16) - (1.2857,6.8651e-32) (-0.014378,6.5817e-17) (-0.027582,3.1108e-31) (0.038015,-8.7631e-17) (-0.0087689,-2.0855e-16) (-0.039652,2.1512e-16) (0.069547,3.4356e-16) (0.039652,-2.1512e-16) (-0.077067,-2.8751e-16) (-0.073506,-2.4706e-16) (0.077067,2.8751e-16) (-0.053608,2.01e-16) (0.11466,-5.1565e-16) (0.048247,1.8491e-16) (0.092851,-3.4815e-16) (-0.11466,5.1565e-16) - (1.3565,6.28e-33) (1.1813e-17,-1.2652e-31) (2.0931e-16,6.8859e-31) (1.1554e-16,5.7494e-31) (-2.8145e-16,9.5266e-31) (-0.036752,1.2298e-16) (-0.036752,1.2298e-16) (2.7461e-16,-6.9214e-31) (0.016332,1.1661e-16) (0.016332,1.1661e-16) (-5.2225e-17,-1.7437e-32) (0.092851,-3.4815e-16) (0.092851,-3.4815e-16) (-0.11025,-5.1483e-16) (-1.2277e-16,2.7021e-31) - (1.2857,1.7309e-32) (0.038015,-8.7631e-17) (-0.0087689,-2.0855e-16) (0.069547,3.4356e-16) (-0.039652,2.1512e-16) (0.039652,-2.1512e-16) (-0.073506,-2.4706e-16) (-0.077067,-2.8751e-16) (0.077067,2.8751e-16) (0.10722,-4.02e-16) (0.11466,-5.1565e-16) (-0.11466,5.1565e-16) (-5.1327e-17,1.342e-31) (0.048247,1.8491e-16) - (-0.082776,-5.2578e-33) (-0.11465,-2.1006e-17) (0.020367,-9.5125e-16) (0.020367,-9.5125e-16) (-0.020367,9.5125e-16) (-0.029184,1.3014e-15) (-0.029184,1.3014e-15) (0.029184,-1.3014e-15) (2.9066e-16,4.7894e-32) (-0.066314,1.4078e-16) (0.066314,-1.4078e-16) (1.0835e-16,1.5036e-32) (0.066314,-1.4078e-16) - (0.70902,-2.8462e-31) (0.051417,2.1842e-16) (0.051417,2.1842e-16) (-0.051417,-2.1842e-16) (-0.061774,-2.1271e-15) (-0.061774,-2.1271e-15) (0.061774,2.1271e-15) (-8.627e-17,2.3684e-31) (0.029537,4.4615e-16) (-0.029537,-4.4615e-16) (3.4093e-17,-6.1297e-32) (-0.029537,-4.4615e-16) - (0.28447,-1.1435e-31) (-0.06343,3.2491e-32) (0.06343,6.0296e-31) (0.26975,-2.2586e-17) (-0.074643,-2.6518e-18) (0.074643,2.6518e-18) (0.008018,-5.1887e-17) (0.031919,-6.006e-17) (-0.031919,6.006e-17) (-6.2555e-17,-1.1012e-31) (-0.10178,-2.8642e-17) - (0.28447,9.505e-32) (0.06343,-5.2051e-31) (-0.074643,-2.6518e-18) (0.26975,-2.2586e-17) (0.074643,2.6518e-18) (-0.004009,2.5944e-17) (0.031919,-6.006e-17) (-0.10178,-2.8642e-17) (0.0069438,-4.4936e-17) (-0.031919,6.006e-17) - (0.28447,-8.1192e-32) (0.074643,2.6518e-18) (0.074643,2.6518e-18) (0.26975,-2.2586e-17) (0.004009,-2.5944e-17) (-0.10178,-2.8642e-17) (0.031919,-6.006e-17) (0.0069438,-4.4936e-17) (0.031919,-6.006e-17) - (1.0055,-8.3122e-31) (0.28657,9.0876e-31) (-0.28657,-9.0792e-32) (-0.00042938,2.1669e-16) (-0.061926,-2.9486e-16) (0.061926,2.9486e-16) (1.538e-17,3.5072e-31) (0.026141,1.5691e-16) - (1.0055,-1.3511e-31) (-0.28657,-7.5834e-31) (0.00021469,-1.0834e-16) (-0.061926,-2.9486e-16) (0.026141,1.5691e-16) (-0.00037185,1.8766e-16) (0.061926,2.9486e-16) - (1.0055,-4.6716e-31) (-0.00021469,1.0834e-16) (0.026141,1.5691e-16) (-0.061926,-2.9486e-16) (-0.00037185,1.8766e-16) (-0.061926,-2.9486e-16) - (1.3565,1.5062e-33) (-0.0083012,3.7999e-17) (0.0083012,-3.7999e-17) (-2.1236e-16,-5.9465e-32) (-0.016602,7.5998e-17) - (1.2857,3.5983e-33) (0.027582,-1.4237e-31) (-0.014378,-6.5817e-17) (0.027582,-1.322e-31) - (1.2857,9.3771e-34) (-0.014378,-6.5817e-17) (-0.027582,-1.697e-31) - (1.3565,7.2768e-33) (-8.0332e-18,6.5361e-32) - (1.2857,1.0457e-32) diff --git a/tests/03_NAO_multik/17_NO_KP_OH/result.ref b/tests/03_NAO_multik/17_NO_KP_OH/result.ref index 3604bdcfc3..e92647c437 100644 --- a/tests/03_NAO_multik/17_NO_KP_OH/result.ref +++ b/tests/03_NAO_multik/17_NO_KP_OH/result.ref @@ -1,5 +1,5 @@ -etotref -211.4466153062836 -etotperatomref -105.7233076531 +etotref -194.1602102900063 +etotperatomref -97.0801051450 CompareH_pass 0 CompareS_pass 0 -totaltimeref 0.62879 +totaltimeref 0.33 diff --git a/tests/03_NAO_multik/17_NO_KP_OH/sk2_nao.txt.ref b/tests/03_NAO_multik/17_NO_KP_OH/sk2_nao.txt.ref new file mode 100644 index 0000000000..40dc7dd22e --- /dev/null +++ b/tests/03_NAO_multik/17_NO_KP_OH/sk2_nao.txt.ref @@ -0,0 +1,23 @@ +#------------------------------------------------------------------------ +# ionic step 1 +# filename OUT.autotest/sk2_nao.txt +# gamma only 0 +# rows 8 +# columns 8 +#------------------------------------------------------------------------ +Row 1 + (9.996e-01,2.696e-32) (6.505e-19,-6.918e-16) (0.000e+00,-6.918e-16) (0.000e+00,6.918e-16) (3.859e-01,1.528e-15) (-1.288e-02,-1.723e-16) (-1.288e-02,-1.723e-16) (1.288e-02,1.723e-16) +Row 2 + (1.012e+00,0.000e+00) (-7.121e-02,0.000e+00) (7.121e-02,0.000e+00) (1.288e-02,1.723e-16) (-1.220e-01,-5.729e-16) (9.660e-02,-1.723e-16) (-9.660e-02,1.723e-16) +Row 3 + (1.012e+00,2.196e-32) (7.121e-02,0.000e+00) (1.288e-02,1.723e-16) (9.660e-02,-1.723e-16) (-1.220e-01,-5.729e-16) (-9.660e-02,1.723e-16) +Row 4 + (1.012e+00,3.852e-34) (-1.288e-02,-1.723e-16) (-9.660e-02,1.723e-16) (-9.660e-02,1.723e-16) (-1.220e-01,-5.729e-16) +Row 5 + (9.996e-01,2.696e-32) (6.505e-19,-6.918e-16) (0.000e+00,-6.918e-16) (0.000e+00,6.918e-16) +Row 6 + (1.012e+00,0.000e+00) (-7.121e-02,0.000e+00) (7.121e-02,0.000e+00) +Row 7 + (1.012e+00,2.196e-32) (7.121e-02,0.000e+00) +Row 8 + (1.012e+00,3.852e-34) diff --git a/tests/03_NAO_multik/17_NO_KP_OH/sks1k2_nao.txt.ref b/tests/03_NAO_multik/17_NO_KP_OH/sks1k2_nao.txt.ref deleted file mode 100644 index fe7ca72f8d..0000000000 --- a/tests/03_NAO_multik/17_NO_KP_OH/sks1k2_nao.txt.ref +++ /dev/null @@ -1,26 +0,0 @@ -26 (0.98506,6.051e-33) (-0.097322,4.5979e-31) (1.4623e-17,2.204e-15) (-2.2985e-17,2.204e-15) (1.0435e-18,-2.204e-15) (-9.3919e-18,-4.7412e-15) (6.7871e-17,-4.7412e-15) (-1.4894e-17,4.7412e-15) (2.6309e-18,-1.509e-33) (0.085054,-2.1775e-33) (-0.085054,5.2285e-33) (-1.4383e-18,1.0987e-33) (-0.085054,5.1332e-33) (0.44884,2.2113e-15) (0.30005,3.5326e-15) (-0.48489,2.7256e-15) (-0.48489,2.7256e-15) (0.48489,-2.7256e-15) (0.50089,-4.1094e-15) (0.50089,-4.1094e-15) (-0.50089,4.1094e-15) (3.0632e-17,9.9267e-32) (0.2435,-8.2215e-16) (-0.2435,8.2215e-16) (3.4849e-17,8.3295e-32) (-0.2435,8.2215e-16) - (0.52584,-1.7849e-31) (2.1305e-17,4.8136e-15) (-8.2399e-18,4.8136e-15) (-5.4698e-17,-4.8136e-15) (-1.1493e-17,-5.5917e-15) (-8.6736e-18,-5.5917e-15) (-3.1876e-17,5.5917e-15) (-5.8276e-19,1.881e-32) (0.19474,1.6187e-32) (-0.19474,2.2817e-32) (6.18e-18,-1.3226e-32) (-0.19474,1.5018e-32) (0.30005,3.5326e-15) (-0.1912,2.4585e-15) (-0.11272,3.2857e-15) (-0.11272,3.2857e-15) (0.11272,-3.2857e-15) (0.11541,-4.3523e-15) (0.11541,-4.3523e-15) (-0.11541,4.3523e-15) (-2.1413e-18,-1.4102e-31) (-0.093884,1.3106e-15) (0.093884,-1.3106e-15) (1.8208e-17,-2.4998e-31) (0.093884,-1.3106e-15) - (1.0467,-4.2517e-32) (0.44713,-3.4401e-32) (-0.44713,3.1086e-32) (-0.11227,-1.9033e-31) (-0.68287,-2.6335e-32) (0.68287,2.0323e-32) (2.2023e-19,4.5287e-17) (-4.7705e-18,4.1314e-16) (2.8189e-18,-4.1314e-16) (8.6736e-19,2.0632e-31) (1.6263e-19,-3.1793e-17) (0.48489,-2.7256e-15) (0.11272,-3.2857e-15) (0.21954,1.3501e-16) (0.50325,-5.4124e-16) (-0.50325,5.4124e-16) (-0.55027,-1.2526e-15) (-0.35946,-1.4452e-15) (0.35946,1.4452e-15) (0.19188,-6.2657e-16) (-0.024506,3.0536e-16) (0.024506,-3.0536e-16) (2.8465e-17,2.7868e-32) (-0.30449,-8.9756e-16) - (1.0467,3.248e-32) (-0.44713,-1.5155e-32) (-0.68287,-2.6335e-32) (-0.11227,-1.0888e-31) (0.68287,9.3286e-32) (-1.1113e-18,-2.2644e-17) (1.2604e-18,4.1314e-16) (5.421e-20,-3.1793e-17) (5.8276e-19,3.922e-17) (-2.4733e-18,-4.1314e-16) (0.48489,-2.7256e-15) (0.11272,-3.2857e-15) (0.50325,-5.4124e-16) (0.21954,1.3501e-16) (-0.50325,5.4124e-16) (-0.35946,-1.4452e-15) (-0.55027,-1.2526e-15) (0.35946,1.4452e-15) (-0.095942,3.1329e-16) (-0.024506,3.0536e-16) (-0.30449,-8.9756e-16) (0.16618,-5.4263e-16) (0.024506,-3.0536e-16) - (1.0467,-4.2902e-32) (0.68287,2.0323e-32) (0.68287,9.3286e-32) (-0.11227,-1.1949e-31) (2.741e-18,2.2644e-17) (5.421e-20,-3.1793e-17) (3.1035e-18,4.1314e-16) (5.2855e-19,3.922e-17) (3.9844e-18,4.1314e-16) (-0.48489,2.7256e-15) (-0.11272,3.2857e-15) (-0.50325,5.4124e-16) (-0.50325,5.4124e-16) (0.21954,1.3501e-16) (0.35946,1.4452e-15) (0.35946,1.4452e-15) (-0.55027,-1.2526e-15) (0.095942,-3.1329e-16) (-0.30449,-8.9756e-16) (-0.024506,3.0536e-16) (0.16618,-5.4263e-16) (-0.024506,3.0536e-16) - (1.2292,4.3876e-33) (0.58205,-2.8391e-32) (-0.58205,2.5082e-32) (-2.575e-19,2.4193e-16) (1.301e-18,-1.3008e-16) (2.8189e-18,1.3008e-16) (-1.3824e-18,-3.5917e-31) (0,8.7897e-17) (-0.50089,4.1094e-15) (-0.11541,4.3523e-15) (-0.55027,-1.2526e-15) (-0.35946,-1.4452e-15) (0.35946,1.4452e-15) (0.38305,2.6688e-15) (0.46484,2.7809e-15) (-0.46484,-2.7809e-15) (0.12648,-6.3282e-16) (-0.26248,4.269e-16) (0.26248,-4.269e-16) (2.9985e-17,-5.2375e-31) (-0.013886,-8.3534e-16) - (1.2292,8.8387e-32) (-0.58205,1.4753e-32) (1.6263e-18,-1.2097e-16) (6.7763e-19,-1.3008e-16) (0,8.7897e-17) (-1.2468e-18,2.0952e-16) (-3.6185e-18,1.3008e-16) (-0.50089,4.1094e-15) (-0.11541,4.3523e-15) (-0.35946,-1.4452e-15) (-0.55027,-1.2526e-15) (0.35946,1.4452e-15) (0.46484,2.7809e-15) (0.38305,2.6688e-15) (-0.46484,-2.7809e-15) (-0.063239,3.1641e-16) (-0.26248,4.269e-16) (-0.013886,-8.3534e-16) (0.10953,-5.4804e-16) (0.26248,-4.269e-16) - (1.2292,-4.8569e-33) (1.0151e-17,1.2097e-16) (0,8.7897e-17) (-3.361e-18,-1.3008e-16) (1.3553e-18,2.0952e-16) (-1.7212e-18,-1.3008e-16) (0.50089,-4.1094e-15) (0.11541,-4.3523e-15) (0.35946,1.4452e-15) (0.35946,1.4452e-15) (-0.55027,-1.2526e-15) (-0.46484,-2.7809e-15) (-0.46484,-2.7809e-15) (0.38305,2.6688e-15) (0.063239,-3.1641e-16) (-0.013886,-8.3534e-16) (-0.26248,4.269e-16) (0.10953,-5.4804e-16) (-0.26248,4.269e-16) - (1.0122,1.2137e-32) (-0.05654,4.7639e-33) (0.05654,-2.6921e-33) (3.1171e-19,-5.4211e-33) (-0.11308,1.0697e-32) (3.0632e-17,9.9267e-32) (-2.1413e-18,-1.4102e-31) (-0.19188,6.2657e-16) (0.095942,-3.1329e-16) (-0.095942,3.1329e-16) (-0.12648,6.3282e-16) (0.063239,-3.1641e-16) (-0.063239,3.1641e-16) (-0.29169,-9.5242e-16) (0.11303,-4.3584e-16) (-0.11303,4.3584e-16) (-2.8155e-17,-1.1033e-31) (0.22606,-8.7168e-16) - (0.99552,6.2322e-33) (-0.030829,9.7026e-34) (-0.097931,-1.2331e-32) (-0.030829,-4.7837e-35) (0.2435,-8.2215e-16) (-0.093884,1.3106e-15) (0.024506,-3.0536e-16) (0.024506,-3.0536e-16) (0.30449,8.9756e-16) (0.26248,-4.269e-16) (0.26248,-4.269e-16) (0.013886,8.3534e-16) (0.11303,-4.3584e-16) (0.038813,2.889e-16) (0.13077,-4.249e-16) (0.19578,-7.549e-16) (0.13077,-4.249e-16) - (0.99552,-2.5219e-32) (-0.097931,-1.1642e-32) (0.030829,4.7012e-35) (-0.2435,8.2215e-16) (0.093884,-1.3106e-15) (-0.024506,3.0536e-16) (0.30449,8.9756e-16) (0.024506,-3.0536e-16) (-0.26248,4.269e-16) (0.013886,8.3534e-16) (0.26248,-4.269e-16) (-0.11303,4.3584e-16) (0.13077,-4.249e-16) (0.038813,2.889e-16) (0.19578,-7.549e-16) (-0.13077,4.249e-16) - (1.0122,-3.2171e-33) (3.4797e-17,-9.2822e-35) (3.4849e-17,8.3295e-32) (1.8208e-17,-2.4998e-31) (-2.8465e-17,-2.7868e-32) (-0.16618,5.4263e-16) (-0.16618,5.4263e-16) (-2.9985e-17,5.2375e-31) (-0.10953,5.4804e-16) (-0.10953,5.4804e-16) (-2.8155e-17,-1.1033e-31) (0.19578,-7.549e-16) (0.19578,-7.549e-16) (-0.29169,-9.5242e-16) (8.0045e-19,5.1353e-33) - (0.99552,-4.3545e-32) (-0.2435,8.2215e-16) (0.093884,-1.3106e-15) (0.30449,8.9756e-16) (-0.024506,3.0536e-16) (0.024506,-3.0536e-16) (0.013886,8.3534e-16) (-0.26248,4.269e-16) (0.26248,-4.269e-16) (0.22606,-8.7168e-16) (0.13077,-4.249e-16) (-0.13077,4.249e-16) (8.0045e-19,5.1353e-33) (0.038813,2.889e-16) - (0.98506,6.051e-33) (-0.097322,4.5979e-31) (1.4623e-17,2.204e-15) (-2.2985e-17,2.204e-15) (1.0435e-18,-2.204e-15) (-9.3919e-18,-4.7412e-15) (6.7871e-17,-4.7412e-15) (-1.4894e-17,4.7412e-15) (2.6309e-18,-1.509e-33) (0.085054,-2.1775e-33) (-0.085054,5.2285e-33) (-1.4383e-18,1.0987e-33) (-0.085054,5.1332e-33) - (0.52584,-1.7849e-31) (2.1305e-17,4.8136e-15) (-8.2399e-18,4.8136e-15) (-5.4698e-17,-4.8136e-15) (-1.1493e-17,-5.5917e-15) (-8.6736e-18,-5.5917e-15) (-3.1876e-17,5.5917e-15) (-5.8276e-19,1.881e-32) (0.19474,1.6187e-32) (-0.19474,2.2817e-32) (6.18e-18,-1.3226e-32) (-0.19474,1.5018e-32) - (1.0467,-4.2517e-32) (0.44713,-3.4401e-32) (-0.44713,3.1086e-32) (-0.11227,-1.9033e-31) (-0.68287,-2.6335e-32) (0.68287,2.0323e-32) (2.2023e-19,4.5287e-17) (-4.7705e-18,4.1314e-16) (2.8189e-18,-4.1314e-16) (8.6736e-19,2.0632e-31) (1.6263e-19,-3.1793e-17) - (1.0467,3.248e-32) (-0.44713,-1.5155e-32) (-0.68287,-2.6335e-32) (-0.11227,-1.0888e-31) (0.68287,9.3286e-32) (-1.1113e-18,-2.2644e-17) (1.2604e-18,4.1314e-16) (5.421e-20,-3.1793e-17) (5.8276e-19,3.922e-17) (-2.4733e-18,-4.1314e-16) - (1.0467,-4.2902e-32) (0.68287,2.0323e-32) (0.68287,9.3286e-32) (-0.11227,-1.1949e-31) (2.741e-18,2.2644e-17) (5.421e-20,-3.1793e-17) (3.1035e-18,4.1314e-16) (5.2855e-19,3.922e-17) (3.9844e-18,4.1314e-16) - (1.2292,4.3876e-33) (0.58205,-2.8391e-32) (-0.58205,2.5082e-32) (-2.575e-19,2.4193e-16) (1.301e-18,-1.3008e-16) (2.8189e-18,1.3008e-16) (-1.3824e-18,-3.5917e-31) (0,8.7897e-17) - (1.2292,8.8387e-32) (-0.58205,1.4753e-32) (1.6263e-18,-1.2097e-16) (6.7763e-19,-1.3008e-16) (0,8.7897e-17) (-1.2468e-18,2.0952e-16) (-3.6185e-18,1.3008e-16) - (1.2292,-4.8569e-33) (1.0151e-17,1.2097e-16) (0,8.7897e-17) (-3.361e-18,-1.3008e-16) (1.3553e-18,2.0952e-16) (-1.7212e-18,-1.3008e-16) - (1.0122,1.2137e-32) (-0.05654,4.7639e-33) (0.05654,-2.6921e-33) (3.1171e-19,-5.4211e-33) (-0.11308,1.0697e-32) - (0.99552,6.2322e-33) (-0.030829,9.7026e-34) (-0.097931,-1.2331e-32) (-0.030829,-4.7837e-35) - (0.99552,-2.5219e-32) (-0.097931,-1.1642e-32) (0.030829,4.7012e-35) - (1.0122,-3.2171e-33) (3.4797e-17,-9.2822e-35) - (0.99552,-4.3545e-32) diff --git a/tests/03_NAO_multik/18_NO_KP_OH2/INPUT b/tests/03_NAO_multik/18_NO_KP_OH2/INPUT index 538b7bd007..08ab40f702 100644 --- a/tests/03_NAO_multik/18_NO_KP_OH2/INPUT +++ b/tests/03_NAO_multik/18_NO_KP_OH2/INPUT @@ -5,26 +5,26 @@ calculation scf nbands 6 symmetry 0 -pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB gamma_only 0 #Parameters (2.Iteration) ecutwfc 20 -scf_thr 1e-8 -scf_nmax 1 +scf_thr 1e-8 +scf_nmax 1 #Parameters (3.Basis) basis_type lcao #Parameters (4.Smearing) -smearing_method gauss -smearing_sigma 0.002 +smearing_method gauss +smearing_sigma 0.002 #Parameters (5.Mixing) mixing_type broyden mixing_beta 0.7 mixing_gg0 0.0 -out_mat_hs2 1 5 +out_mat_hs2 1 5 ks_solver scalapack_gvx diff --git a/tests/03_NAO_multik/19_NO_KP_OH_nscf/chgs1.cube b/tests/03_NAO_multik/19_NO_KP_OH_nscf/chg.cube similarity index 100% rename from tests/03_NAO_multik/19_NO_KP_OH_nscf/chgs1.cube rename to tests/03_NAO_multik/19_NO_KP_OH_nscf/chg.cube diff --git a/tests/03_NAO_multik/23_NO_KP_OK/chgs1.cube.ref b/tests/03_NAO_multik/23_NO_KP_OK/chg.cube.ref similarity index 99% rename from tests/03_NAO_multik/23_NO_KP_OK/chgs1.cube.ref rename to tests/03_NAO_multik/23_NO_KP_OK/chg.cube.ref index 40d6199ff1..1db488c5a5 100644 --- a/tests/03_NAO_multik/23_NO_KP_OK/chgs1.cube.ref +++ b/tests/03_NAO_multik/23_NO_KP_OK/chg.cube.ref @@ -1,4 +1,4 @@ -STEP: 0 Cubefile created from ABACUS. Inner loop is z, followed by y and x +STEP: -1 Cubefile created from ABACUS. Inner loop is z, followed by y and x 1 (nspin) 0.644033 (fermi energy, in Ry) 2 0.0 0.0 0.0 15 0.000000 0.340000 0.340000 diff --git a/tests/03_NAO_multik/23_NO_KP_OK/result.ref b/tests/03_NAO_multik/23_NO_KP_OK/result.ref index e62d956fce..d55c773f93 100644 --- a/tests/03_NAO_multik/23_NO_KP_OK/result.ref +++ b/tests/03_NAO_multik/23_NO_KP_OK/result.ref @@ -1,5 +1,5 @@ etotref -196.4521105421520 etotperatomref -98.2260552711 -chgs1.cube_pass 0 -taus1.cube_pass 0 +chg.cube_pass 0 +tau.cube_pass 0 totaltimeref 0.62163 diff --git a/tests/03_NAO_multik/23_NO_KP_OK/taus1.cube.ref b/tests/03_NAO_multik/23_NO_KP_OK/tau.cube.ref similarity index 100% rename from tests/03_NAO_multik/23_NO_KP_OK/taus1.cube.ref rename to tests/03_NAO_multik/23_NO_KP_OK/tau.cube.ref diff --git a/tests/03_NAO_multik/26_NO_KP_RE_MB/INPUT b/tests/03_NAO_multik/26_NO_KP_RE_MB/INPUT index 8478291249..fd216bc63c 100644 --- a/tests/03_NAO_multik/26_NO_KP_RE_MB/INPUT +++ b/tests/03_NAO_multik/26_NO_KP_RE_MB/INPUT @@ -17,7 +17,7 @@ scf_nmax 100 relax_nmax 2 cal_force 1 force_thr_ev 0.01 -relax_method bfgs +relax_method bfgs 2 #Parameters (4.Basis) basis_type lcao diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf/wfs1k1_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf/wfk1s1_nao.txt similarity index 100% rename from tests/03_NAO_multik/32_NO_KP_get_wf/wfs1k1_nao.txt rename to tests/03_NAO_multik/32_NO_KP_get_wf/wfk1s1_nao.txt diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf/wfs2k1_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf/wfk1s2_nao.txt similarity index 100% rename from tests/03_NAO_multik/32_NO_KP_get_wf/wfs2k1_nao.txt rename to tests/03_NAO_multik/32_NO_KP_get_wf/wfk1s2_nao.txt diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf/wfs1k2_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf/wfk2s1_nao.txt similarity index 100% rename from tests/03_NAO_multik/32_NO_KP_get_wf/wfs1k2_nao.txt rename to tests/03_NAO_multik/32_NO_KP_get_wf/wfk2s1_nao.txt diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf/wfs2k2_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf/wfk2s2_nao.txt similarity index 100% rename from tests/03_NAO_multik/32_NO_KP_get_wf/wfs2k2_nao.txt rename to tests/03_NAO_multik/32_NO_KP_get_wf/wfk2s2_nao.txt diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf/wfs1k3_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf/wfk3s1_nao.txt similarity index 100% rename from tests/03_NAO_multik/32_NO_KP_get_wf/wfs1k3_nao.txt rename to tests/03_NAO_multik/32_NO_KP_get_wf/wfk3s1_nao.txt diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf/wfs2k3_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf/wfk3s2_nao.txt similarity index 100% rename from tests/03_NAO_multik/32_NO_KP_get_wf/wfs2k3_nao.txt rename to tests/03_NAO_multik/32_NO_KP_get_wf/wfk3s2_nao.txt diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/INPUT b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/INPUT new file mode 100644 index 0000000000..6c25a14814 --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/INPUT @@ -0,0 +1,24 @@ +INPUT_PARAMETERS +suffix autotest + +#calculation scf +#out_wfc_lcao 1 + +calculation get_wf +symmetry -1 +nbands 2 +nspin 2 +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB +latname sc +ecutwfc 25.0 +basis_type lcao +scf_thr 1e-10 +read_file_dir ./ + +out_wfc_norm 1 +out_wfc_re_im 1 + +bx 2 +by 2 +bz 2 diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/KPT b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/KPT new file mode 100644 index 0000000000..488317ce5a --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/KPT @@ -0,0 +1,6 @@ +K_POINTS +3 +Direct +0.0000 0.0000 0.0000 0.0 +0.3333 0.0000 0.0000 0.0 +0.6667 0.0000 0.0000 0.0 diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/README b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/README new file mode 100644 index 0000000000..54533e01dd --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/README @@ -0,0 +1,3 @@ +Test the 'calculation get_wf' option with zero-weight k-points. +This test verifies that ABACUS can handle k-points with zero weights +by automatically assigning equal weights and issuing a warning. diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/STRU b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/STRU new file mode 100644 index 0000000000..30af97b4b4 --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/STRU @@ -0,0 +1,19 @@ +#This is the atom file containing all the information +#about the lattice structure. + +ATOMIC_SPECIES +H 1.0008 H_ONCV_PBE-1.0.upf + +NUMERICAL_ORBITAL +H_gga_6au_60Ry_2s1p.orb + +LATTICE_CONSTANT +10.0 #Lattice constant + +ATOMIC_POSITIONS +Cartesian #Cartesian(Unit is LATTICE_CONSTANT) +H #Name of element +0.0 #Magnetic for this element. +2 #Number of atoms +0.00 0.00 -0.0661400 0 0 0 #x,y,z, move_x, move_y, move_z +0.00 0.00 0.0661400 0 0 0 #x,y,z, move_x, move_y, move_z diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/result.ref b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/result.ref new file mode 100644 index 0000000000..e4d060972b --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/result.ref @@ -0,0 +1,19 @@ +wfi1s1k1.cube -11.77152988 +wfi1s1k1im.cube 0 +wfi1s1k1re.cube -11.77169544 +wfi1s1k2.cube -3.754629032 +wfi1s1k2im.cube -5.256421773e-15 +wfi1s1k2re.cube -3.754662163 +wfi1s1k3.cube -3.754629032 +wfi1s1k3im.cube -2.592407863e-14 +wfi1s1k3re.cube -3.754662163 +wfi1s2k1.cube -11.77152988 +wfi1s2k1im.cube 0 +wfi1s2k1re.cube -15.5263576 +wfi1s2k2.cube -3.754629032 +wfi1s2k2im.cube 8.143533574e-14 +wfi1s2k2re.cube -7.509324327 +wfi1s2k3.cube -3.754629032 +wfi1s2k3im.cube -3.563679367e-14 +wfi1s2k3re.cube -7.509324327 +totaltimeref 0.22 diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk1s1_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk1s1_nao.txt new file mode 100644 index 0000000000..6d2b11e5df --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk1s1_nao.txt @@ -0,0 +1,14 @@ +1 (index of k points) +0 0 0 +2 (number of bands) +10 (number of orbitals) +1 (band) +-7.51324209e-01 (Ry) +3.33333333e-01 (Occupations) +-5.37247451e-01 0.00000000e+00 -3.61675036e-02 0.00000000e+00 -1.54180993e-02 0.00000000e+00 -6.00760481e-17 0.00000000e+00 4.95327447e-17 0.00000000e+00 +-5.37247451e-01 0.00000000e+00 -3.61675036e-02 0.00000000e+00 1.54180993e-02 0.00000000e+00 7.40355316e-17 0.00000000e+00 -2.60742120e-17 0.00000000e+00 +2 (band) +4.36966415e-01 (Ry) +0.00000000e+00 (Occupations) +-1.75242688e+00 0.00000000e+00 4.89257747e-01 0.00000000e+00 -1.47270024e-02 0.00000000e+00 2.73797359e-16 0.00000000e+00 5.21506844e-17 0.00000000e+00 +1.75242688e+00 0.00000000e+00 -4.89257747e-01 0.00000000e+00 -1.47270024e-02 0.00000000e+00 -1.13418218e-16 0.00000000e+00 -1.40732906e-16 0.00000000e+00 diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk1s2_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk1s2_nao.txt new file mode 100644 index 0000000000..001ee5dd2f --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk1s2_nao.txt @@ -0,0 +1,14 @@ +4 (index of k points) +0 0 0 +2 (number of bands) +10 (number of orbitals) +1 (band) +-7.51324209e-01 (Ry) +3.33333333e-01 (Occupations) +-5.37247451e-01 0.00000000e+00 -3.61675036e-02 0.00000000e+00 -1.54180993e-02 0.00000000e+00 2.25946347e-17 0.00000000e+00 -3.23946428e-17 0.00000000e+00 +-5.37247451e-01 0.00000000e+00 -3.61675036e-02 0.00000000e+00 1.54180993e-02 0.00000000e+00 -4.69322153e-17 0.00000000e+00 9.89372825e-18 0.00000000e+00 +2 (band) +4.36966415e-01 (Ry) +0.00000000e+00 (Occupations) +-1.75242688e+00 0.00000000e+00 4.89257747e-01 0.00000000e+00 -1.47270024e-02 0.00000000e+00 -2.23164913e-16 0.00000000e+00 -1.71182391e-16 0.00000000e+00 +1.75242688e+00 0.00000000e+00 -4.89257747e-01 0.00000000e+00 -1.47270024e-02 0.00000000e+00 -2.19012650e-16 0.00000000e+00 1.56688230e-16 0.00000000e+00 diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk2s1_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk2s1_nao.txt new file mode 100644 index 0000000000..af110a045e --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk2s1_nao.txt @@ -0,0 +1,14 @@ +2 (index of k points) +0.33333333 0 0 +2 (number of bands) +10 (number of orbitals) +1 (band) +-7.50769326e-01 (Ry) +3.33333333e-01 (Occupations) +-5.37427336e-01 -1.05559980e-18 -3.71097795e-02 5.89767804e-19 -1.53531997e-02 -2.52000064e-19 -6.10794919e-17 -2.98003376e-04 4.28540990e-17 -6.70070819e-20 +-5.37427336e-01 1.15844342e-18 -3.71097795e-02 -5.70793079e-19 1.53531997e-02 -1.99414845e-19 7.22531527e-17 -2.98003376e-04 -2.77072393e-17 7.08987808e-20 +2 (band) +4.40705472e-01 (Ry) +0.00000000e+00 (Occupations) +-1.74611098e+00 1.79777627e-18 4.85703522e-01 2.96309663e-18 -9.76081786e-03 1.02686625e-19 2.79195633e-16 -7.11522605e-04 1.78966954e-16 -2.29212014e-18 +1.74611098e+00 -1.30843780e-18 -4.85703522e-01 3.69605802e-18 -9.76081786e-03 -1.72277732e-18 -1.27636301e-16 7.11522605e-04 -9.62680330e-17 1.00089304e-19 diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk2s2_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk2s2_nao.txt new file mode 100644 index 0000000000..4fd74b63c0 --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk2s2_nao.txt @@ -0,0 +1,14 @@ +5 (index of k points) +0.33333333 0 0 +2 (number of bands) +10 (number of orbitals) +1 (band) +-7.50769326e-01 (Ry) +3.33333333e-01 (Occupations) +-5.37427336e-01 -1.06901834e-18 -3.71097795e-02 9.88948368e-19 -1.53531997e-02 1.80111026e-20 1.14141119e-17 -2.98003376e-04 -3.06324474e-17 -1.14953806e-19 +-5.37427336e-01 1.17059117e-18 -3.71097795e-02 -6.82945997e-19 1.53531997e-02 1.67973109e-19 -5.00148318e-17 -2.98003376e-04 9.69124493e-18 4.66316044e-20 +2 (band) +4.40705472e-01 (Ry) +0.00000000e+00 (Occupations) +-1.74611098e+00 -2.08369602e-18 4.85703522e-01 -1.37343732e-17 -9.76081786e-03 1.67507422e-18 -3.24174080e-17 -7.11522605e-04 -2.44161562e-16 -1.32000126e-18 +1.74611098e+00 -7.08124980e-19 -4.85703522e-01 -1.23075988e-17 -9.76081786e-03 2.63869504e-18 -1.40848625e-16 7.11522605e-04 1.21290669e-16 1.14340373e-18 diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk3s1_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk3s1_nao.txt new file mode 100644 index 0000000000..985ae5c9d5 --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk3s1_nao.txt @@ -0,0 +1,14 @@ +3 (index of k points) +0.66666667 0 0 +2 (number of bands) +10 (number of orbitals) +1 (band) +-7.50769326e-01 (Ry) +3.33333333e-01 (Occupations) +-5.37427336e-01 1.25616529e-18 -3.71097795e-02 -5.11002849e-19 -1.53531997e-02 2.62263916e-19 -7.47922807e-17 2.98003376e-04 4.23522015e-17 1.46891825e-19 +-5.37427336e-01 -1.25520762e-18 -3.71097795e-02 6.78972343e-19 1.53531997e-02 3.53226637e-19 7.22078030e-17 2.98003376e-04 -2.67636433e-17 -1.69280472e-19 +2 (band) +4.40705472e-01 (Ry) +0.00000000e+00 (Occupations) +-1.74611098e+00 -4.13533757e-18 4.85703522e-01 -4.94201126e-18 -9.76081786e-03 1.06240055e-18 2.77206952e-16 7.11522605e-04 1.61957571e-16 2.65671499e-18 +1.74611098e+00 2.68898237e-18 -4.85703522e-01 -7.21715533e-18 -9.76081786e-03 5.06512961e-19 -1.24025501e-16 -7.11522605e-04 -9.08141901e-17 4.33505600e-20 diff --git a/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk3s2_nao.txt b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk3s2_nao.txt new file mode 100644 index 0000000000..5ccbb6839a --- /dev/null +++ b/tests/03_NAO_multik/32_NO_KP_get_wf_zero_weight/wfk3s2_nao.txt @@ -0,0 +1,14 @@ +6 (index of k points) +0.66666667 0 0 +2 (number of bands) +10 (number of orbitals) +1 (band) +-7.50769326e-01 (Ry) +3.33333333e-01 (Occupations) +-5.37427336e-01 8.61417023e-19 -3.71097795e-02 -6.23082852e-19 -1.53531997e-02 2.44581316e-21 1.16838265e-17 2.98003376e-04 -2.92860654e-17 8.50798608e-20 +-5.37427336e-01 -9.02644351e-19 -3.71097795e-02 5.33082486e-19 1.53531997e-02 -1.02404229e-19 -5.05065573e-17 2.98003376e-04 1.04755659e-17 -9.40792559e-20 +2 (band) +4.40705472e-01 (Ry) +0.00000000e+00 (Occupations) +-1.74611098e+00 2.39469645e-18 4.85703522e-01 1.09268415e-17 -9.76081786e-03 -1.48128168e-18 -3.40426592e-17 7.11522605e-04 -2.47663622e-16 3.17776521e-18 +1.74611098e+00 3.42509704e-19 -4.85703522e-01 1.00219566e-17 -9.76081786e-03 -9.76641093e-19 -1.37890471e-16 -7.11522605e-04 1.27874741e-16 -1.32051002e-18 diff --git a/tests/03_NAO_multik/33_NO_KP_OW/wfs1k2_nao_mod.txt.ref b/tests/03_NAO_multik/33_NO_KP_OW/wfk2_nao_mod.txt.ref similarity index 100% rename from tests/03_NAO_multik/33_NO_KP_OW/wfs1k2_nao_mod.txt.ref rename to tests/03_NAO_multik/33_NO_KP_OW/wfk2_nao_mod.txt.ref diff --git a/tests/03_NAO_multik/35_NO_KP_MU_nscf/chgs1.cube b/tests/03_NAO_multik/35_NO_KP_MU_nscf/chg.cube similarity index 100% rename from tests/03_NAO_multik/35_NO_KP_MU_nscf/chgs1.cube rename to tests/03_NAO_multik/35_NO_KP_MU_nscf/chg.cube diff --git a/tests/03_NAO_multik/39_NO_OP_nscf/chgs1.cube b/tests/03_NAO_multik/39_NO_OP_nscf/chg.cube similarity index 100% rename from tests/03_NAO_multik/39_NO_OP_nscf/chgs1.cube rename to tests/03_NAO_multik/39_NO_OP_nscf/chg.cube diff --git a/tests/03_NAO_multik/39_NO_OP_nscf/pots1.cube.ref b/tests/03_NAO_multik/39_NO_OP_nscf/pot.cube.ref similarity index 99% rename from tests/03_NAO_multik/39_NO_OP_nscf/pots1.cube.ref rename to tests/03_NAO_multik/39_NO_OP_nscf/pot.cube.ref index ac71d0f37a..eb55ecfac5 100644 --- a/tests/03_NAO_multik/39_NO_OP_nscf/pots1.cube.ref +++ b/tests/03_NAO_multik/39_NO_OP_nscf/pot.cube.ref @@ -1,4 +1,4 @@ -STEP: 0 Cubefile created from ABACUS. Inner loop is z, followed by y and x +STEP: -1 Cubefile created from ABACUS. Inner loop is z, followed by y and x 1 (nspin) 2 0.0 0.0 0.0 12 0.000000 0.425000 0.425000 diff --git a/tests/03_NAO_multik/40_NO_ELF/refELF.cube b/tests/03_NAO_multik/40_NO_ELF/refelf.cube similarity index 100% rename from tests/03_NAO_multik/40_NO_ELF/refELF.cube rename to tests/03_NAO_multik/40_NO_ELF/refelf.cube diff --git a/tests/03_NAO_multik/41_NO_KP_MSST/INPUT b/tests/03_NAO_multik/41_NO_KP_MSST/INPUT index 1a90f706c0..1b643202e3 100644 --- a/tests/03_NAO_multik/41_NO_KP_MSST/INPUT +++ b/tests/03_NAO_multik/41_NO_KP_MSST/INPUT @@ -1,8 +1,8 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest -pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB nbands 8 calculation md @@ -10,25 +10,25 @@ read_file_dir ./ #Parameters (Accuracy) ecutwfc 10 -scf_nmax 20 +scf_nmax 20 scf_thr 1e-7 basis_type lcao -md_nstep 2 +md_nstep 2 -cal_stress 1 -cal_force 1 +cal_stress 1 +cal_force 1 -ks_solver scalapack_gvx -mixing_type broyden -mixing_beta 0.7 +ks_solver scalapack_gvx +mixing_type broyden +mixing_beta 0.7 smearing_method gauss smearing_sigma 0.001 md_type msst md_tfirst 10 md_dt 1 -md_restart 0 +md_restart 0 init_vel 1 msst_qmass 1 diff --git a/tests/03_NAO_multik/41_NO_KP_MSST/result.ref b/tests/03_NAO_multik/41_NO_KP_MSST/result.ref index ffa0d6b1f4..598fef7b05 100644 --- a/tests/03_NAO_multik/41_NO_KP_MSST/result.ref +++ b/tests/03_NAO_multik/41_NO_KP_MSST/result.ref @@ -1,5 +1,5 @@ -etotref -207.6323459951594 -etotperatomref -103.8161729976 -totalforceref 2.520068 -totalstressref 87.760114 -totaltimeref 2.27 +etotref -207.6071587315466 +etotperatomref -103.8035793658 +totalforceref 3.619098 +totalstressref 101.484403 +totaltimeref 1.04 diff --git a/tests/03_NAO_multik/42_NO_KP_MSST2/INPUT b/tests/03_NAO_multik/42_NO_KP_MSST2/INPUT index 5a7d5ceaf5..5bc4c3eaf8 100644 --- a/tests/03_NAO_multik/42_NO_KP_MSST2/INPUT +++ b/tests/03_NAO_multik/42_NO_KP_MSST2/INPUT @@ -1,8 +1,8 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest -pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB nbands 8 calculation md diff --git a/tests/03_NAO_multik/42_NO_KP_MSST2/result.ref b/tests/03_NAO_multik/42_NO_KP_MSST2/result.ref index ffa0d6b1f4..c98c295a92 100644 --- a/tests/03_NAO_multik/42_NO_KP_MSST2/result.ref +++ b/tests/03_NAO_multik/42_NO_KP_MSST2/result.ref @@ -1,5 +1,5 @@ -etotref -207.6323459951594 -etotperatomref -103.8161729976 -totalforceref 2.520068 -totalstressref 87.760114 -totaltimeref 2.27 +etotref -207.6071587315466 +etotperatomref -103.8035793658 +totalforceref 3.619098 +totalstressref 101.484403 +totaltimeref 1.02 diff --git a/tests/03_NAO_multik/43_NO_KP_NVT/INPUT b/tests/03_NAO_multik/43_NO_KP_NVT/INPUT index aeaf868a86..05245deb25 100644 --- a/tests/03_NAO_multik/43_NO_KP_NVT/INPUT +++ b/tests/03_NAO_multik/43_NO_KP_NVT/INPUT @@ -1,8 +1,8 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest -pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB nbands 8 calculation md @@ -10,22 +10,22 @@ read_file_dir ./ #Parameters (Accuracy) ecutwfc 10 -scf_nmax 20 -scf_thr 1e-7 +scf_nmax 20 +scf_thr 1e-7 basis_type lcao -md_nstep 2 +md_nstep 2 -cal_stress 1 -cal_force 1 +cal_stress 1 +cal_force 1 ks_solver scalapack_gvx mixing_type broyden mixing_beta 0.7 -md_tchain 4 -md_type nvt -md_tfirst 10 -md_dt 1 -md_restart 0 -init_vel 1 +md_tchain 4 +md_type nvt +md_tfirst 10 +md_dt 1 +md_restart 0 +init_vel 1 diff --git a/tests/03_NAO_multik/43_NO_KP_NVT/result.ref b/tests/03_NAO_multik/43_NO_KP_NVT/result.ref index 267cfc747e..1eeaf02021 100644 --- a/tests/03_NAO_multik/43_NO_KP_NVT/result.ref +++ b/tests/03_NAO_multik/43_NO_KP_NVT/result.ref @@ -1,5 +1,5 @@ -etotref -204.1399519257427 -etotperatomref -102.0699759629 -totalforceref 1.226368 -totalstressref 1450.704608 -totaltimeref 5.85 +etotref -204.12922883082 +etotperatomref -102.0646144154 +totalforceref 2.248078 +totalstressref 1441.592005 +totaltimeref 1.45 diff --git a/tests/03_NAO_multik/44_NO_KP_MD_OW/INPUT b/tests/03_NAO_multik/44_NO_KP_MD_OW/INPUT index 15816b9f56..271ac47277 100644 --- a/tests/03_NAO_multik/44_NO_KP_MD_OW/INPUT +++ b/tests/03_NAO_multik/44_NO_KP_MD_OW/INPUT @@ -2,8 +2,8 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest -pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB nbands 8 calculation md @@ -11,14 +11,14 @@ read_file_dir ./ #Parameters (Accuracy) ecutwfc 10 -scf_nmax 20 -scf_thr 1e-7 +scf_nmax 20 +scf_thr 1e-7 basis_type lcao -md_nstep 2 +md_nstep 3 -cal_stress 1 -cal_force 1 +cal_stress 1 +cal_force 1 ks_solver scalapack_gvx mixing_type broyden @@ -26,11 +26,11 @@ mixing_beta 0.7 mixing_gg0 0.0 out_wfc_lcao 1 -out_interval 2 +out_freq_ion 2 out_app_flag 0 -md_type nve -md_tfirst 10 -md_dt 1 -md_restart 0 -init_vel 1 +md_type nve +md_tfirst 10 +md_dt 1 +md_restart 0 +init_vel 1 diff --git a/tests/03_NAO_multik/44_NO_KP_MD_OW/result.ref b/tests/03_NAO_multik/44_NO_KP_MD_OW/result.ref index 274543ff46..08e971ac8e 100644 --- a/tests/03_NAO_multik/44_NO_KP_MD_OW/result.ref +++ b/tests/03_NAO_multik/44_NO_KP_MD_OW/result.ref @@ -1,6 +1,6 @@ -etotref -196.6232944871745 +etotref -196.6232944871748 etotperatomref -98.3116472436 totalforceref 0.975500 totalstressref 1500.928040 Compare_wfc_lcao_pass 0 -totaltimeref 5.81 +totaltimeref 1.94 diff --git a/tests/03_NAO_multik/44_NO_KP_MD_OW/wfs1k1g3_nao_mod.txt.ref b/tests/03_NAO_multik/44_NO_KP_MD_OW/wfk1g3_nao_mod.txt.ref similarity index 100% rename from tests/03_NAO_multik/44_NO_KP_MD_OW/wfs1k1g3_nao_mod.txt.ref rename to tests/03_NAO_multik/44_NO_KP_MD_OW/wfk1g3_nao_mod.txt.ref diff --git a/tests/03_NAO_multik/57_NO_MD_1O/INPUT b/tests/03_NAO_multik/57_NO_MD_1O/INPUT index f0c93e9168..da92254752 100644 --- a/tests/03_NAO_multik/57_NO_MD_1O/INPUT +++ b/tests/03_NAO_multik/57_NO_MD_1O/INPUT @@ -7,26 +7,25 @@ calculation md #Parameters (Accuracy) ecutwfc 10 -scf_nmax 50 -scf_thr 1.0e-6 +scf_nmax 50 +scf_thr 1.0e-6 basis_type lcao -md_nstep 2 +md_nstep 2 -cal_stress 1 -cal_force 1 +cal_stress 1 +cal_force 1 -smearing_method gaussian +smearing_method gaussian smearing_sigma 0.002 -mixing_type broyden -mixing_beta 0.7 +mixing_type broyden +mixing_beta 0.7 -md_tfirst 10 -md_tfreq 0.1 -init_vel 1 +md_tfirst 10 +md_tfreq 0.1 +init_vel 1 chg_extrap first-order -read_file_dir ./ -pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB diff --git a/tests/03_NAO_multik/57_NO_MD_1O/result.ref b/tests/03_NAO_multik/57_NO_MD_1O/result.ref index a0dd701901..95c9705706 100644 --- a/tests/03_NAO_multik/57_NO_MD_1O/result.ref +++ b/tests/03_NAO_multik/57_NO_MD_1O/result.ref @@ -1,5 +1,5 @@ -etotref -203.9507557549999 -etotperatomref -101.9753778775 -totalforceref 6.437138 -totalstressref 1540.841015 -totaltimeref 6.35 +etotref -203.5228729135615 +etotperatomref -101.7614364568 +totalforceref 12.870552 +totalstressref 1579.045899 +totaltimeref 1.60 diff --git a/tests/03_NAO_multik/58_NO_MD_2O/INPUT b/tests/03_NAO_multik/58_NO_MD_2O/INPUT index 3ac7645b66..4fafba7b6a 100644 --- a/tests/03_NAO_multik/58_NO_MD_2O/INPUT +++ b/tests/03_NAO_multik/58_NO_MD_2O/INPUT @@ -7,19 +7,19 @@ calculation md #Parameters (Accuracy) ecutwfc 10 -scf_nmax 50 -scf_thr 1.0e-6 +scf_nmax 50 +scf_thr 1.0e-6 basis_type lcao -md_nstep 3 +md_nstep 3 -cal_stress 1 +cal_stress 1 stress_thr 1e-6 -cal_force 1 +cal_force 1 force_thr_ev 1.0e-3 -smearing_method gaussian -smearing_sigma 0.002 +smearing_method gaussian +smearing_sigma 0.002 mixing_type broyden mixing_beta 0.7 @@ -29,6 +29,5 @@ init_vel 1 chg_extrap second-order -read_file_dir ./ pseudo_dir ../../PP_ORB orbital_dir ../../PP_ORB diff --git a/tests/03_NAO_multik/58_NO_MD_2O/result.ref b/tests/03_NAO_multik/58_NO_MD_2O/result.ref index 643dc101ab..0650225aaf 100644 --- a/tests/03_NAO_multik/58_NO_MD_2O/result.ref +++ b/tests/03_NAO_multik/58_NO_MD_2O/result.ref @@ -1,5 +1,5 @@ -etotref -204.0642782467743 -etotperatomref -102.0321391234 -totalforceref 4.405896 -totalstressref 1503.234347 -totaltimeref 8.31 +etotref -203.9507557549832 +etotperatomref -101.9753778775 +totalforceref 6.437138 +totalstressref 1540.840989 +totaltimeref 2.21 diff --git a/tests/02_NAO_Gamma/006_NO_GO_OH/INPUT b/tests/03_NAO_multik/59_NO_KP_initHR/INPUT similarity index 70% rename from tests/02_NAO_Gamma/006_NO_GO_OH/INPUT rename to tests/03_NAO_multik/59_NO_KP_initHR/INPUT index 0446a0c709..b146d03d7a 100644 --- a/tests/02_NAO_Gamma/006_NO_GO_OH/INPUT +++ b/tests/03_NAO_multik/59_NO_KP_initHR/INPUT @@ -4,14 +4,11 @@ suffix autotest calculation scf nbands 6 -symmetry 1 -pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB -gamma_only 1 +symmetry 0 #Parameters (2.Iteration) ecutwfc 20 -scf_thr 1e-8 +scf_thr 1e-6 scf_nmax 100 @@ -22,15 +19,12 @@ basis_type lcao smearing_method gauss smearing_sigma 0.002 -out_mat_hs 1 5 -out_ndigits 5 #Parameters (5.Mixing) mixing_type broyden mixing_beta 0.7 -mixing_gg0 1.5 - -ks_solver scalapack_gvx +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB -bx 2 -by 2 -bz 2 +#out_mat_hs2 1 +init_chg hr +read_file_dir ./ diff --git a/tests/03_NAO_multik/59_NO_KP_initHR/KPT b/tests/03_NAO_multik/59_NO_KP_initHR/KPT new file mode 100644 index 0000000000..f5f7f4ec34 --- /dev/null +++ b/tests/03_NAO_multik/59_NO_KP_initHR/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +2 2 2 0 0 0 diff --git a/tests/03_NAO_multik/59_NO_KP_initHR/README b/tests/03_NAO_multik/59_NO_KP_initHR/README new file mode 100644 index 0000000000..20da67ae65 --- /dev/null +++ b/tests/03_NAO_multik/59_NO_KP_initHR/README @@ -0,0 +1 @@ +test upf201 pseudopotential, init charge from HR diff --git a/tests/03_NAO_multik/59_NO_KP_initHR/STRU b/tests/03_NAO_multik/59_NO_KP_initHR/STRU new file mode 100644 index 0000000000..ea028ef206 --- /dev/null +++ b/tests/03_NAO_multik/59_NO_KP_initHR/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 28 Si.pz-n-nc.UPF upf201 + +NUMERICAL_ORBITAL +Si_gga_8au_60Ry_2s2p1d.orb + +LATTICE_CONSTANT +20.2 // add lattice constant + +LATTICE_VECTORS +0.0 0.5 0.5 +0.5 0.0 0.5 +0.5 0.5 0.0 + +ATOMIC_POSITIONS +Direct + +Si // Element type +0.0 // magnetism +2 +0.00 0.00 0.00 1 1 1 +0.25 0.25 0.25 1 1 1 diff --git a/tests/03_NAO_multik/59_NO_KP_initHR/hrs1_nao.csr b/tests/03_NAO_multik/59_NO_KP_initHR/hrs1_nao.csr new file mode 100644 index 0000000000..72c436a70f --- /dev/null +++ b/tests/03_NAO_multik/59_NO_KP_initHR/hrs1_nao.csr @@ -0,0 +1,55 @@ +STEP: 0 +Matrix Dimension of H(R): 26 +Matrix number of H(R): 13 +-1 0 0 491 + -3.08720237e-05 -3.07390885e-04 -1.04971511e-04 1.40312477e-06 1.04971511e-04 3.59371792e-04 -4.82934036e-06 -3.59371792e-04 -9.57555071e-06 1.01771600e-06 3.34354066e-05 1.65853403e-05 -1.01771600e-06 -1.10678938e-02 -4.01898009e-02 -1.59965704e-02 -1.59965704e-02 1.59965704e-02 3.48221871e-02 3.48221871e-02 -3.48221871e-02 2.30243503e-03 -2.30243503e-03 -2.30243503e-03 -3.07390885e-04 -3.02853625e-03 -1.01904693e-03 1.52691305e-05 1.01904693e-03 3.47759038e-03 -5.25303803e-05 -3.47759038e-03 -7.34123089e-05 1.11116241e-05 2.57169624e-04 1.27153849e-04 -1.11116241e-05 -4.02101705e-02 -8.51941384e-04 -2.06513817e-02 -2.06513817e-02 2.06513817e-02 -1.28347617e-02 -1.28347617e-02 1.28347617e-02 5.95672459e-03 -5.95672459e-03 -5.95672459e-03 1.04971511e-04 1.01904693e-03 3.23522367e-04 -5.62416573e-06 -3.63336653e-04 -1.09979124e-03 1.94156142e-05 1.23944563e-03 4.82254533e-06 -3.96066075e-06 -7.77363679e-05 -4.83364399e-05 4.11041279e-06 1.60075545e-02 2.06367891e-02 9.20684060e-03 1.62457954e-02 -1.62457954e-02 -7.47144879e-03 -1.78038327e-02 1.78038327e-02 2.69551701e-03 -3.61086424e-03 3.61086424e-03 5.94234981e-03 1.40312477e-06 1.52691305e-05 5.62416573e-06 -4.12471245e-05 -5.62416573e-06 -1.93518153e-05 1.44520599e-04 1.93518153e-05 9.71049589e-07 -2.10524692e-05 -4.00502527e-06 -1.68190722e-06 2.10524692e-05 1.60075545e-02 2.06367891e-02 1.62457954e-02 9.20684060e-03 -1.62457954e-02 -1.78038327e-02 -7.47144879e-03 1.78038327e-02 -1.34775851e-03 -3.61086424e-03 5.94234981e-03 2.33438621e-03 3.61086424e-03 -1.04971511e-04 -1.01904693e-03 -3.63336653e-04 5.62416573e-06 3.23522367e-04 1.23944563e-03 -1.94156142e-05 -1.09979124e-03 -3.94493122e-05 4.11041279e-06 7.77363679e-05 2.83446667e-05 -3.96066075e-06 -1.60075545e-02 -2.06367891e-02 -1.62457954e-02 -1.62457954e-02 9.20684060e-03 1.78038327e-02 1.78038327e-02 -7.47144879e-03 1.34775851e-03 5.94234981e-03 -3.61086424e-03 2.33438621e-03 -3.61086424e-03 -3.59371792e-04 -3.47759038e-03 -1.09979124e-03 1.93518153e-05 1.23944563e-03 3.72486395e-03 -6.67426116e-05 -4.21589662e-03 -7.62760775e-06 1.37086540e-05 2.41287214e-04 1.54060042e-04 -1.42204009e-05 -3.48613875e-02 1.27621922e-02 -7.53206233e-03 -1.78560844e-02 1.78560844e-02 -2.05536306e-02 -2.16538149e-02 2.16538149e-02 -7.11790393e-03 9.20772072e-04 -9.20772072e-04 -7.07642391e-03 -4.82934036e-06 -5.25303803e-05 -1.94156142e-05 1.44520599e-04 1.94156142e-05 6.67426116e-05 -5.07533292e-04 -6.67426116e-05 -3.38618226e-06 7.40430828e-05 1.39044038e-05 5.86503972e-06 -7.40430828e-05 -3.48613875e-02 1.27621922e-02 -1.78560844e-02 -7.53206233e-03 1.78560844e-02 -2.16538149e-02 -2.05536306e-02 2.16538149e-02 3.55895196e-03 9.20772072e-04 -7.07642391e-03 -6.16428562e-03 -9.20772072e-04 3.59371792e-04 3.47759038e-03 1.23944563e-03 -1.93518153e-05 -1.09979124e-03 -4.21589662e-03 6.67426116e-05 3.72486395e-03 1.29606106e-04 -1.42204009e-05 -2.41287214e-04 -8.36357232e-05 1.37086540e-05 3.48613875e-02 -1.27621922e-02 1.78560844e-02 1.78560844e-02 -7.53206233e-03 2.16538149e-02 2.16538149e-02 -2.05536306e-02 -3.55895196e-03 -7.07642391e-03 9.20772072e-04 -6.16428562e-03 9.20772072e-04 -9.57555071e-06 -7.34123089e-05 -4.82254533e-06 9.71049589e-07 3.94493122e-05 7.62760775e-06 -3.38618226e-06 -1.29606106e-04 1.60708725e-05 5.81086888e-07 -1.86919672e-05 -2.61781210e-06 -7.73544764e-07 -2.69864160e-03 1.34932080e-03 -1.34932080e-03 7.12031599e-03 -3.56015800e-03 3.56015800e-03 2.45879056e-03 7.22168763e-04 -7.22168763e-04 1.44433753e-03 -1.01771600e-06 -1.11116241e-05 -3.96066075e-06 2.10524692e-05 4.11041279e-06 1.37086540e-05 -7.40430828e-05 -1.42204009e-05 -5.81086888e-07 7.46646087e-06 2.81468585e-06 1.22870323e-06 -8.65011321e-06 2.28290009e-03 5.88060035e-03 3.56615668e-03 3.56615668e-03 -5.90018653e-03 -8.44999113e-04 -8.44999113e-04 7.00213894e-03 7.22214326e-04 -4.89935284e-03 6.10850862e-03 1.25091191e-03 6.10850862e-03 3.34354066e-05 2.57169624e-04 7.77363679e-05 -4.00502527e-06 -7.77363679e-05 -2.41287214e-04 1.39044038e-05 2.41287214e-04 -1.86919672e-05 -2.81468585e-06 6.28234069e-05 3.23754368e-05 2.81468585e-06 -2.28290009e-03 -5.88060035e-03 -3.56615668e-03 -5.90018653e-03 3.56615668e-03 8.44999113e-04 7.00213894e-03 -8.44999113e-04 -7.22214326e-04 6.10850862e-03 -4.89935284e-03 1.25091191e-03 -6.10850862e-03 1.65853403e-05 1.27153849e-04 4.83364399e-05 -1.68190722e-06 -2.83446667e-05 -1.54060042e-04 5.86503972e-06 8.36357232e-05 -2.61781210e-06 -1.22870323e-06 3.23754368e-05 1.90936616e-05 1.11758762e-06 -2.33709218e-03 -2.33709218e-03 6.16637453e-03 6.16637453e-03 1.25083299e-03 1.25083299e-03 2.45879056e-03 1.01771600e-06 1.11116241e-05 4.11041279e-06 -2.10524692e-05 -3.96066075e-06 -1.42204009e-05 7.40430828e-05 1.37086540e-05 7.73544764e-07 -8.65011321e-06 -2.81468585e-06 -1.11758762e-06 7.46646087e-06 -2.28290009e-03 -5.88060035e-03 -5.90018653e-03 -3.56615668e-03 3.56615668e-03 7.00213894e-03 8.44999113e-04 -8.44999113e-04 1.44442865e-03 6.10850862e-03 -6.10850862e-03 -4.89935284e-03 -3.08602939e-05 -3.07263521e-04 -1.04923873e-04 -1.41324097e-06 1.04923873e-04 3.59208493e-04 4.86525398e-06 -3.59208493e-04 -9.56706174e-06 -1.02478251e-06 3.34006108e-05 1.65706370e-05 1.02478251e-06 -3.07263521e-04 -3.02715668e-03 -1.01852759e-03 -1.53820756e-05 1.01852759e-03 3.47581608e-03 5.29298815e-05 -3.47581608e-03 -7.33191558e-05 -1.11912408e-05 2.56788439e-04 1.26992503e-04 1.11912408e-05 1.04923873e-04 1.01852759e-03 3.23331675e-04 5.66366604e-06 -3.63143075e-04 -1.09913471e-03 -1.95566627e-05 1.23877805e-03 4.79009339e-06 3.98776946e-06 -7.75974336e-05 -4.82772103e-05 -4.13755885e-06 -1.41324097e-06 -1.53820756e-05 -5.66366604e-06 -4.12162075e-05 5.66366604e-06 1.94925310e-05 1.44413999e-04 -1.94925310e-05 -9.77693072e-07 -2.10289351e-05 4.03239561e-06 1.69341407e-06 2.10289351e-05 -1.04923873e-04 -1.01852759e-03 -3.63143075e-04 -5.66366604e-06 3.23331675e-04 1.23877805e-03 1.95566627e-05 -1.09913471e-03 -3.94142439e-05 -4.13755885e-06 7.75974336e-05 2.82869477e-05 3.98776946e-06 -3.59208493e-04 -3.47581608e-03 -1.09913471e-03 -1.94925310e-05 1.23877805e-03 3.72261408e-03 6.72429653e-05 -4.21360468e-03 -7.51561916e-06 -1.38061213e-05 2.40805687e-04 1.53853854e-04 1.43184607e-05 4.86525398e-06 5.29298815e-05 1.95566627e-05 1.44413999e-04 -1.95566627e-05 -6.72429653e-05 -5.07169119e-04 6.72429653e-05 3.41053946e-06 7.39612442e-05 -1.40030592e-05 -5.90722763e-06 -7.39612442e-05 3.59208493e-04 3.47581608e-03 1.23877805e-03 1.94925310e-05 -1.09913471e-03 -4.21360468e-03 -6.72429653e-05 3.72261408e-03 1.29483537e-04 1.43184607e-05 -2.40805687e-04 -8.34356441e-05 -1.38061213e-05 -9.56706174e-06 -7.33191558e-05 -4.79009339e-06 -9.77693072e-07 3.94142439e-05 7.51561916e-06 3.41053946e-06 -1.29483537e-04 1.60757249e-05 -5.85506643e-07 -1.87156494e-05 -2.62806909e-06 7.77681284e-07 1.02478251e-06 1.11912408e-05 3.98776946e-06 2.10289351e-05 -4.13755885e-06 -1.38061213e-05 -7.39612442e-05 1.43184607e-05 5.85506643e-07 7.44879307e-06 -2.83293240e-06 -1.23603141e-06 -8.63228531e-06 3.34006108e-05 2.56788439e-04 7.75974336e-05 4.03239561e-06 -7.75974336e-05 -2.40805687e-04 -1.40030592e-05 2.40805687e-04 -1.87156494e-05 2.83293240e-06 6.29222274e-05 3.24164557e-05 -2.83293240e-06 1.65706370e-05 1.26992503e-04 4.82772103e-05 1.69341407e-06 -2.82869477e-05 -1.53853854e-04 -5.90722763e-06 8.34356441e-05 -2.62806909e-06 1.23603141e-06 3.24164557e-05 1.91103577e-05 -1.12507933e-06 -1.02478251e-06 -1.11912408e-05 -4.13755885e-06 -2.10289351e-05 3.98776946e-06 1.43184607e-05 7.39612442e-05 -1.38061213e-05 -7.77681284e-07 -8.63228531e-06 2.83293240e-06 1.12507933e-06 7.44879307e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 16 17 19 20 22 23 24 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 24 48 73 99 125 150 176 202 225 251 277 297 322 335 348 361 374 387 400 413 426 439 452 465 478 491 +-1 0 1 338 + -3.08720237e-05 -3.07390885e-04 -1.04971511e-04 -1.04971511e-04 -1.40312477e-06 3.59371792e-04 3.59371792e-04 4.82934036e-06 -9.57555071e-06 -3.34354066e-05 -1.01771600e-06 -1.65853403e-05 -1.01771600e-06 -3.07390885e-04 -3.02853625e-03 -1.01904693e-03 -1.01904693e-03 -1.52691305e-05 3.47759038e-03 3.47759038e-03 5.25303803e-05 -7.34123089e-05 -2.57169624e-04 -1.11116241e-05 -1.27153849e-04 -1.11116241e-05 1.04971511e-04 1.01904693e-03 3.23522367e-04 3.63336653e-04 5.62416573e-06 -1.09979124e-03 -1.23944563e-03 -1.94156142e-05 4.82254533e-06 7.77363679e-05 3.96066075e-06 4.83364399e-05 4.11041279e-06 1.04971511e-04 1.01904693e-03 3.63336653e-04 3.23522367e-04 5.62416573e-06 -1.23944563e-03 -1.09979124e-03 -1.94156142e-05 3.94493122e-05 7.77363679e-05 4.11041279e-06 2.83446667e-05 3.96066075e-06 -1.40312477e-06 -1.52691305e-05 -5.62416573e-06 -5.62416573e-06 -4.12471245e-05 1.93518153e-05 1.93518153e-05 1.44520599e-04 -9.71049589e-07 -4.00502527e-06 -2.10524692e-05 -1.68190722e-06 -2.10524692e-05 -3.59371792e-04 -3.47759038e-03 -1.09979124e-03 -1.23944563e-03 -1.93518153e-05 3.72486395e-03 4.21589662e-03 6.67426116e-05 -7.62760775e-06 -2.41287214e-04 -1.37086540e-05 -1.54060042e-04 -1.42204009e-05 -3.59371792e-04 -3.47759038e-03 -1.23944563e-03 -1.09979124e-03 -1.93518153e-05 4.21589662e-03 3.72486395e-03 6.67426116e-05 -1.29606106e-04 -2.41287214e-04 -1.42204009e-05 -8.36357232e-05 -1.37086540e-05 4.82934036e-06 5.25303803e-05 1.94156142e-05 1.94156142e-05 1.44520599e-04 -6.67426116e-05 -6.67426116e-05 -5.07533292e-04 3.38618226e-06 1.39044038e-05 7.40430828e-05 5.86503972e-06 7.40430828e-05 -9.57555071e-06 -7.34123089e-05 -4.82254533e-06 -3.94493122e-05 -9.71049589e-07 7.62760775e-06 1.29606106e-04 3.38618226e-06 1.60708725e-05 1.86919672e-05 -5.81086888e-07 2.61781210e-06 -7.73544764e-07 -3.34354066e-05 -2.57169624e-04 -7.77363679e-05 -7.77363679e-05 -4.00502527e-06 2.41287214e-04 2.41287214e-04 1.39044038e-05 1.86919672e-05 6.28234069e-05 -2.81468585e-06 3.23754368e-05 -2.81468585e-06 1.01771600e-06 1.11116241e-05 3.96066075e-06 4.11041279e-06 2.10524692e-05 -1.37086540e-05 -1.42204009e-05 -7.40430828e-05 5.81086888e-07 2.81468585e-06 7.46646087e-06 1.22870323e-06 8.65011321e-06 -1.65853403e-05 -1.27153849e-04 -4.83364399e-05 -2.83446667e-05 -1.68190722e-06 1.54060042e-04 8.36357232e-05 5.86503972e-06 2.61781210e-06 3.23754368e-05 -1.22870323e-06 1.90936616e-05 -1.11758762e-06 1.01771600e-06 1.11116241e-05 4.11041279e-06 3.96066075e-06 2.10524692e-05 -1.42204009e-05 -1.37086540e-05 -7.40430828e-05 7.73544764e-07 2.81468585e-06 8.65011321e-06 1.11758762e-06 7.46646087e-06 -3.08602939e-05 -3.07263521e-04 -1.04923873e-04 -1.04923873e-04 1.41324097e-06 3.59208493e-04 3.59208493e-04 -4.86525398e-06 -9.56706174e-06 -3.34006108e-05 1.02478251e-06 -1.65706370e-05 1.02478251e-06 -3.07263521e-04 -3.02715668e-03 -1.01852759e-03 -1.01852759e-03 1.53820756e-05 3.47581608e-03 3.47581608e-03 -5.29298815e-05 -7.33191558e-05 -2.56788439e-04 1.11912408e-05 -1.26992503e-04 1.11912408e-05 1.04923873e-04 1.01852759e-03 3.23331675e-04 3.63143075e-04 -5.66366604e-06 -1.09913471e-03 -1.23877805e-03 1.95566627e-05 4.79009339e-06 7.75974336e-05 -3.98776946e-06 4.82772103e-05 -4.13755885e-06 1.04923873e-04 1.01852759e-03 3.63143075e-04 3.23331675e-04 -5.66366604e-06 -1.23877805e-03 -1.09913471e-03 1.95566627e-05 3.94142439e-05 7.75974336e-05 -4.13755885e-06 2.82869477e-05 -3.98776946e-06 1.41324097e-06 1.53820756e-05 5.66366604e-06 5.66366604e-06 -4.12162075e-05 -1.94925310e-05 -1.94925310e-05 1.44413999e-04 9.77693072e-07 4.03239561e-06 -2.10289351e-05 1.69341407e-06 -2.10289351e-05 -3.59208493e-04 -3.47581608e-03 -1.09913471e-03 -1.23877805e-03 1.94925310e-05 3.72261408e-03 4.21360468e-03 -6.72429653e-05 -7.51561916e-06 -2.40805687e-04 1.38061213e-05 -1.53853854e-04 1.43184607e-05 -3.59208493e-04 -3.47581608e-03 -1.23877805e-03 -1.09913471e-03 1.94925310e-05 4.21360468e-03 3.72261408e-03 -6.72429653e-05 -1.29483537e-04 -2.40805687e-04 1.43184607e-05 -8.34356441e-05 1.38061213e-05 -4.86525398e-06 -5.29298815e-05 -1.95566627e-05 -1.95566627e-05 1.44413999e-04 6.72429653e-05 6.72429653e-05 -5.07169119e-04 -3.41053946e-06 -1.40030592e-05 7.39612442e-05 -5.90722763e-06 7.39612442e-05 -9.56706174e-06 -7.33191558e-05 -4.79009339e-06 -3.94142439e-05 9.77693072e-07 7.51561916e-06 1.29483537e-04 -3.41053946e-06 1.60757249e-05 1.87156494e-05 5.85506643e-07 2.62806909e-06 7.77681284e-07 -3.34006108e-05 -2.56788439e-04 -7.75974336e-05 -7.75974336e-05 4.03239561e-06 2.40805687e-04 2.40805687e-04 -1.40030592e-05 1.87156494e-05 6.29222274e-05 2.83293240e-06 3.24164557e-05 2.83293240e-06 -1.02478251e-06 -1.11912408e-05 -3.98776946e-06 -4.13755885e-06 2.10289351e-05 1.38061213e-05 1.43184607e-05 -7.39612442e-05 -5.85506643e-07 -2.83293240e-06 7.44879307e-06 -1.23603141e-06 8.63228531e-06 -1.65706370e-05 -1.26992503e-04 -4.82772103e-05 -2.82869477e-05 1.69341407e-06 1.53853854e-04 8.34356441e-05 -5.90722763e-06 2.62806909e-06 3.24164557e-05 1.23603141e-06 1.91103577e-05 1.12507933e-06 -1.02478251e-06 -1.11912408e-05 -4.13755885e-06 -3.98776946e-06 2.10289351e-05 1.43184607e-05 1.38061213e-05 -7.39612442e-05 -7.77681284e-07 -2.83293240e-06 8.63228531e-06 -1.12507933e-06 7.44879307e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 182 195 208 221 234 247 260 273 286 299 312 325 338 +-1 1 0 314 + -3.08720237e-05 -3.07390885e-04 1.40312477e-06 -1.04971511e-04 1.04971511e-04 -4.82934036e-06 3.59371792e-04 -3.59371792e-04 1.91511014e-05 1.01771600e-06 -1.01771600e-06 3.34354066e-05 -3.07390885e-04 -3.02853625e-03 1.52691305e-05 -1.01904693e-03 1.01904693e-03 -5.25303803e-05 3.47759038e-03 -3.47759038e-03 1.46824618e-04 1.11116241e-05 -1.11116241e-05 2.57169624e-04 1.40312477e-06 1.52691305e-05 -4.12471245e-05 5.62416573e-06 -5.62416573e-06 1.44520599e-04 -1.93518153e-05 1.93518153e-05 -1.94209918e-06 -2.10524692e-05 2.10524692e-05 -4.00502527e-06 1.04971511e-04 1.01904693e-03 -5.62416573e-06 3.23522367e-04 -3.63336653e-04 1.94156142e-05 -1.09979124e-03 1.23944563e-03 -4.42718575e-05 -3.96066075e-06 4.11041279e-06 -1.99917732e-05 -7.77363679e-05 -1.04971511e-04 -1.01904693e-03 5.62416573e-06 -3.63336653e-04 3.23522367e-04 -1.94156142e-05 1.23944563e-03 -1.09979124e-03 4.42718575e-05 4.11041279e-06 -3.96066075e-06 -1.99917732e-05 7.77363679e-05 -4.82934036e-06 -5.25303803e-05 1.44520599e-04 -1.94156142e-05 1.94156142e-05 -5.07533292e-04 6.67426116e-05 -6.67426116e-05 6.77236452e-06 7.40430828e-05 -7.40430828e-05 1.39044038e-05 -3.59371792e-04 -3.47759038e-03 1.93518153e-05 -1.09979124e-03 1.23944563e-03 -6.67426116e-05 3.72486395e-03 -4.21589662e-03 1.37233714e-04 1.37086540e-05 -1.42204009e-05 7.04243190e-05 2.41287214e-04 3.59371792e-04 3.47759038e-03 -1.93518153e-05 1.23944563e-03 -1.09979124e-03 6.67426116e-05 -4.21589662e-03 3.72486395e-03 -1.37233714e-04 -1.42204009e-05 1.37086540e-05 7.04243190e-05 -2.41287214e-04 1.91511014e-05 1.46824618e-04 -1.94209918e-06 4.42718575e-05 -4.42718575e-05 6.77236452e-06 -1.37233714e-04 1.37233714e-04 2.06050561e-05 -1.35463165e-06 1.35463165e-06 3.73839344e-05 -1.01771600e-06 -1.11116241e-05 2.10524692e-05 -3.96066075e-06 4.11041279e-06 -7.40430828e-05 1.37086540e-05 -1.42204009e-05 1.35463165e-06 7.46646087e-06 -8.65011321e-06 1.11115607e-07 2.81468585e-06 1.01771600e-06 1.11116241e-05 -2.10524692e-05 4.11041279e-06 -3.96066075e-06 7.40430828e-05 -1.42204009e-05 1.37086540e-05 -1.35463165e-06 -8.65011321e-06 7.46646087e-06 1.11115607e-07 -2.81468585e-06 1.99917732e-05 1.99917732e-05 -7.04243190e-05 -7.04243190e-05 -1.11115607e-07 -1.11115607e-07 1.45594780e-05 3.34354066e-05 2.57169624e-04 -4.00502527e-06 7.77363679e-05 -7.77363679e-05 1.39044038e-05 -2.41287214e-04 2.41287214e-04 3.73839344e-05 -2.81468585e-06 2.81468585e-06 6.28234069e-05 -3.08602939e-05 -3.07263521e-04 -1.41324097e-06 -1.04923873e-04 1.04923873e-04 4.86525398e-06 3.59208493e-04 -3.59208493e-04 1.91341235e-05 -1.02478251e-06 1.02478251e-06 3.34006108e-05 -3.07263521e-04 -3.02715668e-03 -1.53820756e-05 -1.01852759e-03 1.01852759e-03 5.29298815e-05 3.47581608e-03 -3.47581608e-03 1.46638312e-04 -1.11912408e-05 1.11912408e-05 2.56788439e-04 -1.41324097e-06 -1.53820756e-05 -4.12162075e-05 -5.66366604e-06 5.66366604e-06 1.44413999e-04 1.94925310e-05 -1.94925310e-05 1.95538614e-06 -2.10289351e-05 2.10289351e-05 4.03239561e-06 1.04923873e-04 1.01852759e-03 5.66366604e-06 3.23331675e-04 -3.63143075e-04 -1.95566627e-05 -1.09913471e-03 1.23877805e-03 -4.42043373e-05 3.98776946e-06 -4.13755885e-06 -1.99902626e-05 -7.75974336e-05 -1.04923873e-04 -1.01852759e-03 -5.66366604e-06 -3.63143075e-04 3.23331675e-04 1.95566627e-05 1.23877805e-03 -1.09913471e-03 4.42043373e-05 -4.13755885e-06 3.98776946e-06 -1.99902626e-05 7.75974336e-05 4.86525398e-06 5.29298815e-05 1.44413999e-04 1.95566627e-05 -1.95566627e-05 -5.07169119e-04 -6.72429653e-05 6.72429653e-05 -6.82107892e-06 7.39612442e-05 -7.39612442e-05 -1.40030592e-05 -3.59208493e-04 -3.47581608e-03 -1.94925310e-05 -1.09913471e-03 1.23877805e-03 6.72429653e-05 3.72261408e-03 -4.21360468e-03 1.36999156e-04 -1.38061213e-05 1.43184607e-05 7.04182099e-05 2.40805687e-04 3.59208493e-04 3.47581608e-03 1.94925310e-05 1.23877805e-03 -1.09913471e-03 -6.72429653e-05 -4.21360468e-03 3.72261408e-03 -1.36999156e-04 1.43184607e-05 -1.38061213e-05 7.04182099e-05 -2.40805687e-04 1.91341235e-05 1.46638312e-04 1.95538614e-06 4.42043373e-05 -4.42043373e-05 -6.82107892e-06 -1.36999156e-04 1.36999156e-04 2.06276741e-05 1.36318793e-06 -1.36318793e-06 3.74312988e-05 1.02478251e-06 1.11912408e-05 2.10289351e-05 3.98776946e-06 -4.13755885e-06 -7.39612442e-05 -1.38061213e-05 1.43184607e-05 -1.36318793e-06 7.44879307e-06 -8.63228531e-06 -1.10952081e-07 -2.83293240e-06 -1.02478251e-06 -1.11912408e-05 -2.10289351e-05 -4.13755885e-06 3.98776946e-06 7.39612442e-05 1.43184607e-05 -1.38061213e-05 1.36318793e-06 -8.63228531e-06 7.44879307e-06 -1.10952081e-07 2.83293240e-06 1.99902626e-05 1.99902626e-05 -7.04182099e-05 -7.04182099e-05 1.10952081e-07 1.10952081e-07 1.45584085e-05 3.34006108e-05 2.56788439e-04 4.03239561e-06 7.75974336e-05 -7.75974336e-05 -1.40030592e-05 -2.40805687e-04 2.40805687e-04 3.74312988e-05 2.83293240e-06 -2.83293240e-06 6.29222274e-05 + 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 3 4 6 7 9 10 11 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 16 17 19 20 22 23 24 13 14 15 16 17 18 19 20 21 22 23 25 + 0 12 24 36 49 62 74 87 100 112 125 138 145 157 169 181 193 206 219 231 244 257 269 282 295 302 314 +0 -1 0 491 + -3.08720237e-05 -3.07390885e-04 -1.04971511e-04 1.04971511e-04 1.40312477e-06 3.59371792e-04 -3.59371792e-04 -4.82934036e-06 -9.57555071e-06 3.34354066e-05 1.01771600e-06 -1.65853403e-05 -1.01771600e-06 -1.10678938e-02 -4.01898009e-02 -1.59965704e-02 1.59965704e-02 -1.59965704e-02 3.48221871e-02 -3.48221871e-02 3.48221871e-02 -2.30243503e-03 2.30243503e-03 -2.30243503e-03 -3.07390885e-04 -3.02853625e-03 -1.01904693e-03 1.01904693e-03 1.52691305e-05 3.47759038e-03 -3.47759038e-03 -5.25303803e-05 -7.34123089e-05 2.57169624e-04 1.11116241e-05 -1.27153849e-04 -1.11116241e-05 -4.02101705e-02 -8.51941384e-04 -2.06513817e-02 2.06513817e-02 -2.06513817e-02 -1.28347617e-02 1.28347617e-02 -1.28347617e-02 -5.95672459e-03 5.95672459e-03 -5.95672459e-03 1.04971511e-04 1.01904693e-03 3.23522367e-04 -3.63336653e-04 -5.62416573e-06 -1.09979124e-03 1.23944563e-03 1.94156142e-05 4.82254533e-06 -7.77363679e-05 -3.96066075e-06 4.83364399e-05 4.11041279e-06 1.60075545e-02 2.06367891e-02 9.20684060e-03 -1.62457954e-02 1.62457954e-02 -7.47144879e-03 1.78038327e-02 -1.78038327e-02 2.69551701e-03 3.61086424e-03 -3.61086424e-03 5.94234981e-03 -1.04971511e-04 -1.01904693e-03 -3.63336653e-04 3.23522367e-04 5.62416573e-06 1.23944563e-03 -1.09979124e-03 -1.94156142e-05 -3.94493122e-05 7.77363679e-05 4.11041279e-06 -2.83446667e-05 -3.96066075e-06 -1.60075545e-02 -2.06367891e-02 -1.62457954e-02 9.20684060e-03 -1.62457954e-02 1.78038327e-02 -7.47144879e-03 1.78038327e-02 1.34775851e-03 -3.61086424e-03 5.94234981e-03 -2.33438621e-03 -3.61086424e-03 1.40312477e-06 1.52691305e-05 5.62416573e-06 -5.62416573e-06 -4.12471245e-05 -1.93518153e-05 1.93518153e-05 1.44520599e-04 9.71049589e-07 -4.00502527e-06 -2.10524692e-05 1.68190722e-06 2.10524692e-05 1.60075545e-02 2.06367891e-02 1.62457954e-02 -1.62457954e-02 9.20684060e-03 -1.78038327e-02 1.78038327e-02 -7.47144879e-03 -1.34775851e-03 5.94234981e-03 -3.61086424e-03 -2.33438621e-03 3.61086424e-03 -3.59371792e-04 -3.47759038e-03 -1.09979124e-03 1.23944563e-03 1.93518153e-05 3.72486395e-03 -4.21589662e-03 -6.67426116e-05 -7.62760775e-06 2.41287214e-04 1.37086540e-05 -1.54060042e-04 -1.42204009e-05 -3.48613875e-02 1.27621922e-02 -7.53206233e-03 1.78560844e-02 -1.78560844e-02 -2.05536306e-02 2.16538149e-02 -2.16538149e-02 -7.11790393e-03 -9.20772072e-04 9.20772072e-04 -7.07642391e-03 3.59371792e-04 3.47759038e-03 1.23944563e-03 -1.09979124e-03 -1.93518153e-05 -4.21589662e-03 3.72486395e-03 6.67426116e-05 1.29606106e-04 -2.41287214e-04 -1.42204009e-05 8.36357232e-05 1.37086540e-05 3.48613875e-02 -1.27621922e-02 1.78560844e-02 -7.53206233e-03 1.78560844e-02 2.16538149e-02 -2.05536306e-02 2.16538149e-02 -3.55895196e-03 9.20772072e-04 -7.07642391e-03 6.16428562e-03 9.20772072e-04 -4.82934036e-06 -5.25303803e-05 -1.94156142e-05 1.94156142e-05 1.44520599e-04 6.67426116e-05 -6.67426116e-05 -5.07533292e-04 -3.38618226e-06 1.39044038e-05 7.40430828e-05 -5.86503972e-06 -7.40430828e-05 -3.48613875e-02 1.27621922e-02 -1.78560844e-02 1.78560844e-02 -7.53206233e-03 -2.16538149e-02 2.16538149e-02 -2.05536306e-02 3.55895196e-03 -7.07642391e-03 9.20772072e-04 6.16428562e-03 -9.20772072e-04 -9.57555071e-06 -7.34123089e-05 -4.82254533e-06 3.94493122e-05 9.71049589e-07 7.62760775e-06 -1.29606106e-04 -3.38618226e-06 1.60708725e-05 -1.86919672e-05 5.81086888e-07 2.61781210e-06 -7.73544764e-07 -2.69864160e-03 -1.34932080e-03 1.34932080e-03 7.12031599e-03 3.56015800e-03 -3.56015800e-03 2.45879056e-03 -7.22168763e-04 7.22168763e-04 1.44433753e-03 3.34354066e-05 2.57169624e-04 7.77363679e-05 -7.77363679e-05 -4.00502527e-06 -2.41287214e-04 2.41287214e-04 1.39044038e-05 -1.86919672e-05 6.28234069e-05 -2.81468585e-06 -3.23754368e-05 2.81468585e-06 -2.28290009e-03 -5.88060035e-03 -3.56615668e-03 3.56615668e-03 -5.90018653e-03 8.44999113e-04 -8.44999113e-04 7.00213894e-03 -7.22214326e-04 -4.89935284e-03 6.10850862e-03 -1.25091191e-03 -6.10850862e-03 -1.01771600e-06 -1.11116241e-05 -3.96066075e-06 4.11041279e-06 2.10524692e-05 1.37086540e-05 -1.42204009e-05 -7.40430828e-05 -5.81086888e-07 2.81468585e-06 7.46646087e-06 -1.22870323e-06 -8.65011321e-06 2.28290009e-03 5.88060035e-03 3.56615668e-03 -5.90018653e-03 3.56615668e-03 -8.44999113e-04 7.00213894e-03 -8.44999113e-04 7.22214326e-04 6.10850862e-03 -4.89935284e-03 -1.25091191e-03 6.10850862e-03 -1.65853403e-05 -1.27153849e-04 -4.83364399e-05 2.83446667e-05 1.68190722e-06 1.54060042e-04 -8.36357232e-05 -5.86503972e-06 2.61781210e-06 -3.23754368e-05 1.22870323e-06 1.90936616e-05 -1.11758762e-06 2.33709218e-03 2.33709218e-03 -6.16637453e-03 -6.16637453e-03 -1.25083299e-03 -1.25083299e-03 2.45879056e-03 1.01771600e-06 1.11116241e-05 4.11041279e-06 -3.96066075e-06 -2.10524692e-05 -1.42204009e-05 1.37086540e-05 7.40430828e-05 7.73544764e-07 -2.81468585e-06 -8.65011321e-06 1.11758762e-06 7.46646087e-06 -2.28290009e-03 -5.88060035e-03 -5.90018653e-03 3.56615668e-03 -3.56615668e-03 7.00213894e-03 -8.44999113e-04 8.44999113e-04 1.44442865e-03 -6.10850862e-03 6.10850862e-03 -4.89935284e-03 -3.08602939e-05 -3.07263521e-04 -1.04923873e-04 1.04923873e-04 -1.41324097e-06 3.59208493e-04 -3.59208493e-04 4.86525398e-06 -9.56706174e-06 3.34006108e-05 -1.02478251e-06 -1.65706370e-05 1.02478251e-06 -3.07263521e-04 -3.02715668e-03 -1.01852759e-03 1.01852759e-03 -1.53820756e-05 3.47581608e-03 -3.47581608e-03 5.29298815e-05 -7.33191558e-05 2.56788439e-04 -1.11912408e-05 -1.26992503e-04 1.11912408e-05 1.04923873e-04 1.01852759e-03 3.23331675e-04 -3.63143075e-04 5.66366604e-06 -1.09913471e-03 1.23877805e-03 -1.95566627e-05 4.79009339e-06 -7.75974336e-05 3.98776946e-06 4.82772103e-05 -4.13755885e-06 -1.04923873e-04 -1.01852759e-03 -3.63143075e-04 3.23331675e-04 -5.66366604e-06 1.23877805e-03 -1.09913471e-03 1.95566627e-05 -3.94142439e-05 7.75974336e-05 -4.13755885e-06 -2.82869477e-05 3.98776946e-06 -1.41324097e-06 -1.53820756e-05 -5.66366604e-06 5.66366604e-06 -4.12162075e-05 1.94925310e-05 -1.94925310e-05 1.44413999e-04 -9.77693072e-07 4.03239561e-06 -2.10289351e-05 -1.69341407e-06 2.10289351e-05 -3.59208493e-04 -3.47581608e-03 -1.09913471e-03 1.23877805e-03 -1.94925310e-05 3.72261408e-03 -4.21360468e-03 6.72429653e-05 -7.51561916e-06 2.40805687e-04 -1.38061213e-05 -1.53853854e-04 1.43184607e-05 3.59208493e-04 3.47581608e-03 1.23877805e-03 -1.09913471e-03 1.94925310e-05 -4.21360468e-03 3.72261408e-03 -6.72429653e-05 1.29483537e-04 -2.40805687e-04 1.43184607e-05 8.34356441e-05 -1.38061213e-05 4.86525398e-06 5.29298815e-05 1.95566627e-05 -1.95566627e-05 1.44413999e-04 -6.72429653e-05 6.72429653e-05 -5.07169119e-04 3.41053946e-06 -1.40030592e-05 7.39612442e-05 5.90722763e-06 -7.39612442e-05 -9.56706174e-06 -7.33191558e-05 -4.79009339e-06 3.94142439e-05 -9.77693072e-07 7.51561916e-06 -1.29483537e-04 3.41053946e-06 1.60757249e-05 -1.87156494e-05 -5.85506643e-07 2.62806909e-06 7.77681284e-07 3.34006108e-05 2.56788439e-04 7.75974336e-05 -7.75974336e-05 4.03239561e-06 -2.40805687e-04 2.40805687e-04 -1.40030592e-05 -1.87156494e-05 6.29222274e-05 2.83293240e-06 -3.24164557e-05 -2.83293240e-06 1.02478251e-06 1.11912408e-05 3.98776946e-06 -4.13755885e-06 2.10289351e-05 -1.38061213e-05 1.43184607e-05 -7.39612442e-05 5.85506643e-07 -2.83293240e-06 7.44879307e-06 1.23603141e-06 -8.63228531e-06 -1.65706370e-05 -1.26992503e-04 -4.82772103e-05 2.82869477e-05 -1.69341407e-06 1.53853854e-04 -8.34356441e-05 5.90722763e-06 2.62806909e-06 -3.24164557e-05 -1.23603141e-06 1.91103577e-05 1.12507933e-06 -1.02478251e-06 -1.11912408e-05 -4.13755885e-06 3.98776946e-06 -2.10289351e-05 1.43184607e-05 -1.38061213e-05 7.39612442e-05 -7.77681284e-07 2.83293240e-06 -8.63228531e-06 -1.12507933e-06 7.44879307e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 16 17 19 20 22 23 24 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 24 48 73 99 125 150 176 202 225 251 277 297 322 335 348 361 374 387 400 413 426 439 452 465 478 491 +0 -1 1 338 + -3.08720237e-05 -3.07390885e-04 -1.04971511e-04 -1.40312477e-06 -1.04971511e-04 3.59371792e-04 4.82934036e-06 3.59371792e-04 -9.57555071e-06 -1.01771600e-06 -3.34354066e-05 1.65853403e-05 -1.01771600e-06 -3.07390885e-04 -3.02853625e-03 -1.01904693e-03 -1.52691305e-05 -1.01904693e-03 3.47759038e-03 5.25303803e-05 3.47759038e-03 -7.34123089e-05 -1.11116241e-05 -2.57169624e-04 1.27153849e-04 -1.11116241e-05 1.04971511e-04 1.01904693e-03 3.23522367e-04 5.62416573e-06 3.63336653e-04 -1.09979124e-03 -1.94156142e-05 -1.23944563e-03 4.82254533e-06 3.96066075e-06 7.77363679e-05 -4.83364399e-05 4.11041279e-06 -1.40312477e-06 -1.52691305e-05 -5.62416573e-06 -4.12471245e-05 -5.62416573e-06 1.93518153e-05 1.44520599e-04 1.93518153e-05 -9.71049589e-07 -2.10524692e-05 -4.00502527e-06 1.68190722e-06 -2.10524692e-05 1.04971511e-04 1.01904693e-03 3.63336653e-04 5.62416573e-06 3.23522367e-04 -1.23944563e-03 -1.94156142e-05 -1.09979124e-03 3.94493122e-05 4.11041279e-06 7.77363679e-05 -2.83446667e-05 3.96066075e-06 -3.59371792e-04 -3.47759038e-03 -1.09979124e-03 -1.93518153e-05 -1.23944563e-03 3.72486395e-03 6.67426116e-05 4.21589662e-03 -7.62760775e-06 -1.37086540e-05 -2.41287214e-04 1.54060042e-04 -1.42204009e-05 4.82934036e-06 5.25303803e-05 1.94156142e-05 1.44520599e-04 1.94156142e-05 -6.67426116e-05 -5.07533292e-04 -6.67426116e-05 3.38618226e-06 7.40430828e-05 1.39044038e-05 -5.86503972e-06 7.40430828e-05 -3.59371792e-04 -3.47759038e-03 -1.23944563e-03 -1.93518153e-05 -1.09979124e-03 4.21589662e-03 6.67426116e-05 3.72486395e-03 -1.29606106e-04 -1.42204009e-05 -2.41287214e-04 8.36357232e-05 -1.37086540e-05 -9.57555071e-06 -7.34123089e-05 -4.82254533e-06 -9.71049589e-07 -3.94493122e-05 7.62760775e-06 3.38618226e-06 1.29606106e-04 1.60708725e-05 -5.81086888e-07 1.86919672e-05 -2.61781210e-06 -7.73544764e-07 1.01771600e-06 1.11116241e-05 3.96066075e-06 2.10524692e-05 4.11041279e-06 -1.37086540e-05 -7.40430828e-05 -1.42204009e-05 5.81086888e-07 7.46646087e-06 2.81468585e-06 -1.22870323e-06 8.65011321e-06 -3.34354066e-05 -2.57169624e-04 -7.77363679e-05 -4.00502527e-06 -7.77363679e-05 2.41287214e-04 1.39044038e-05 2.41287214e-04 1.86919672e-05 -2.81468585e-06 6.28234069e-05 -3.23754368e-05 -2.81468585e-06 1.65853403e-05 1.27153849e-04 4.83364399e-05 1.68190722e-06 2.83446667e-05 -1.54060042e-04 -5.86503972e-06 -8.36357232e-05 -2.61781210e-06 1.22870323e-06 -3.23754368e-05 1.90936616e-05 1.11758762e-06 1.01771600e-06 1.11116241e-05 4.11041279e-06 2.10524692e-05 3.96066075e-06 -1.42204009e-05 -7.40430828e-05 -1.37086540e-05 7.73544764e-07 8.65011321e-06 2.81468585e-06 -1.11758762e-06 7.46646087e-06 -3.08602939e-05 -3.07263521e-04 -1.04923873e-04 1.41324097e-06 -1.04923873e-04 3.59208493e-04 -4.86525398e-06 3.59208493e-04 -9.56706174e-06 1.02478251e-06 -3.34006108e-05 1.65706370e-05 1.02478251e-06 -3.07263521e-04 -3.02715668e-03 -1.01852759e-03 1.53820756e-05 -1.01852759e-03 3.47581608e-03 -5.29298815e-05 3.47581608e-03 -7.33191558e-05 1.11912408e-05 -2.56788439e-04 1.26992503e-04 1.11912408e-05 1.04923873e-04 1.01852759e-03 3.23331675e-04 -5.66366604e-06 3.63143075e-04 -1.09913471e-03 1.95566627e-05 -1.23877805e-03 4.79009339e-06 -3.98776946e-06 7.75974336e-05 -4.82772103e-05 -4.13755885e-06 1.41324097e-06 1.53820756e-05 5.66366604e-06 -4.12162075e-05 5.66366604e-06 -1.94925310e-05 1.44413999e-04 -1.94925310e-05 9.77693072e-07 -2.10289351e-05 4.03239561e-06 -1.69341407e-06 -2.10289351e-05 1.04923873e-04 1.01852759e-03 3.63143075e-04 -5.66366604e-06 3.23331675e-04 -1.23877805e-03 1.95566627e-05 -1.09913471e-03 3.94142439e-05 -4.13755885e-06 7.75974336e-05 -2.82869477e-05 -3.98776946e-06 -3.59208493e-04 -3.47581608e-03 -1.09913471e-03 1.94925310e-05 -1.23877805e-03 3.72261408e-03 -6.72429653e-05 4.21360468e-03 -7.51561916e-06 1.38061213e-05 -2.40805687e-04 1.53853854e-04 1.43184607e-05 -4.86525398e-06 -5.29298815e-05 -1.95566627e-05 1.44413999e-04 -1.95566627e-05 6.72429653e-05 -5.07169119e-04 6.72429653e-05 -3.41053946e-06 7.39612442e-05 -1.40030592e-05 5.90722763e-06 7.39612442e-05 -3.59208493e-04 -3.47581608e-03 -1.23877805e-03 1.94925310e-05 -1.09913471e-03 4.21360468e-03 -6.72429653e-05 3.72261408e-03 -1.29483537e-04 1.43184607e-05 -2.40805687e-04 8.34356441e-05 1.38061213e-05 -9.56706174e-06 -7.33191558e-05 -4.79009339e-06 9.77693072e-07 -3.94142439e-05 7.51561916e-06 -3.41053946e-06 1.29483537e-04 1.60757249e-05 5.85506643e-07 1.87156494e-05 -2.62806909e-06 7.77681284e-07 -1.02478251e-06 -1.11912408e-05 -3.98776946e-06 2.10289351e-05 -4.13755885e-06 1.38061213e-05 -7.39612442e-05 1.43184607e-05 -5.85506643e-07 7.44879307e-06 -2.83293240e-06 1.23603141e-06 8.63228531e-06 -3.34006108e-05 -2.56788439e-04 -7.75974336e-05 4.03239561e-06 -7.75974336e-05 2.40805687e-04 -1.40030592e-05 2.40805687e-04 1.87156494e-05 2.83293240e-06 6.29222274e-05 -3.24164557e-05 2.83293240e-06 1.65706370e-05 1.26992503e-04 4.82772103e-05 -1.69341407e-06 2.82869477e-05 -1.53853854e-04 5.90722763e-06 -8.34356441e-05 -2.62806909e-06 -1.23603141e-06 -3.24164557e-05 1.91103577e-05 -1.12507933e-06 -1.02478251e-06 -1.11912408e-05 -4.13755885e-06 2.10289351e-05 -3.98776946e-06 1.43184607e-05 -7.39612442e-05 1.38061213e-05 -7.77681284e-07 8.63228531e-06 -2.83293240e-06 1.12507933e-06 7.44879307e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 182 195 208 221 234 247 260 273 286 299 312 325 338 +0 0 -1 467 + -3.08720237e-05 -3.07390885e-04 -1.40312477e-06 1.04971511e-04 1.04971511e-04 4.82934036e-06 -3.59371792e-04 -3.59371792e-04 1.91511014e-05 1.01771600e-06 1.01771600e-06 -3.34354066e-05 -1.10678938e-02 -4.01898009e-02 1.59965704e-02 1.59965704e-02 1.59965704e-02 -3.48221871e-02 -3.48221871e-02 -3.48221871e-02 2.30243503e-03 2.30243503e-03 2.30243503e-03 -3.07390885e-04 -3.02853625e-03 -1.52691305e-05 1.01904693e-03 1.01904693e-03 5.25303803e-05 -3.47759038e-03 -3.47759038e-03 1.46824618e-04 1.11116241e-05 1.11116241e-05 -2.57169624e-04 -4.02101705e-02 -8.51941384e-04 2.06513817e-02 2.06513817e-02 2.06513817e-02 1.28347617e-02 1.28347617e-02 1.28347617e-02 5.95672459e-03 5.95672459e-03 5.95672459e-03 -1.40312477e-06 -1.52691305e-05 -4.12471245e-05 5.62416573e-06 5.62416573e-06 1.44520599e-04 -1.93518153e-05 -1.93518153e-05 1.94209918e-06 2.10524692e-05 2.10524692e-05 -4.00502527e-06 -1.60075545e-02 -2.06367891e-02 9.20684060e-03 1.62457954e-02 1.62457954e-02 -7.47144879e-03 -1.78038327e-02 -1.78038327e-02 -2.69551701e-03 3.61086424e-03 3.61086424e-03 5.94234981e-03 -1.04971511e-04 -1.01904693e-03 -5.62416573e-06 3.23522367e-04 3.63336653e-04 1.94156142e-05 -1.09979124e-03 -1.23944563e-03 4.42718575e-05 3.96066075e-06 4.11041279e-06 1.99917732e-05 -7.77363679e-05 -1.60075545e-02 -2.06367891e-02 1.62457954e-02 9.20684060e-03 1.62457954e-02 -1.78038327e-02 -7.47144879e-03 -1.78038327e-02 1.34775851e-03 3.61086424e-03 5.94234981e-03 -2.33438621e-03 3.61086424e-03 -1.04971511e-04 -1.01904693e-03 -5.62416573e-06 3.63336653e-04 3.23522367e-04 1.94156142e-05 -1.23944563e-03 -1.09979124e-03 4.42718575e-05 4.11041279e-06 3.96066075e-06 -1.99917732e-05 -7.77363679e-05 -1.60075545e-02 -2.06367891e-02 1.62457954e-02 1.62457954e-02 9.20684060e-03 -1.78038327e-02 -1.78038327e-02 -7.47144879e-03 1.34775851e-03 5.94234981e-03 3.61086424e-03 2.33438621e-03 3.61086424e-03 4.82934036e-06 5.25303803e-05 1.44520599e-04 -1.94156142e-05 -1.94156142e-05 -5.07533292e-04 6.67426116e-05 6.67426116e-05 -6.77236452e-06 -7.40430828e-05 -7.40430828e-05 1.39044038e-05 3.48613875e-02 -1.27621922e-02 -7.53206233e-03 -1.78560844e-02 -1.78560844e-02 -2.05536306e-02 -2.16538149e-02 -2.16538149e-02 7.11790393e-03 -9.20772072e-04 -9.20772072e-04 -7.07642391e-03 3.59371792e-04 3.47759038e-03 1.93518153e-05 -1.09979124e-03 -1.23944563e-03 -6.67426116e-05 3.72486395e-03 4.21589662e-03 -1.37233714e-04 -1.37086540e-05 -1.42204009e-05 -7.04243190e-05 2.41287214e-04 3.48613875e-02 -1.27621922e-02 -1.78560844e-02 -7.53206233e-03 -1.78560844e-02 -2.16538149e-02 -2.05536306e-02 -2.16538149e-02 -3.55895196e-03 -9.20772072e-04 -7.07642391e-03 6.16428562e-03 -9.20772072e-04 3.59371792e-04 3.47759038e-03 1.93518153e-05 -1.23944563e-03 -1.09979124e-03 -6.67426116e-05 4.21589662e-03 3.72486395e-03 -1.37233714e-04 -1.42204009e-05 -1.37086540e-05 7.04243190e-05 2.41287214e-04 3.48613875e-02 -1.27621922e-02 -1.78560844e-02 -1.78560844e-02 -7.53206233e-03 -2.16538149e-02 -2.16538149e-02 -2.05536306e-02 -3.55895196e-03 -7.07642391e-03 -9.20772072e-04 -6.16428562e-03 -9.20772072e-04 1.91511014e-05 1.46824618e-04 1.94209918e-06 -4.42718575e-05 -4.42718575e-05 -6.77236452e-06 1.37233714e-04 1.37233714e-04 2.06050561e-05 -1.35463165e-06 -1.35463165e-06 -3.73839344e-05 2.69864160e-03 -1.34932080e-03 -1.34932080e-03 -7.12031599e-03 3.56015800e-03 3.56015800e-03 2.45879056e-03 7.22168763e-04 7.22168763e-04 -1.44433753e-03 -1.01771600e-06 -1.11116241e-05 -2.10524692e-05 3.96066075e-06 4.11041279e-06 7.40430828e-05 -1.37086540e-05 -1.42204009e-05 1.35463165e-06 7.46646087e-06 8.65011321e-06 1.11115607e-07 -2.81468585e-06 2.28290009e-03 5.88060035e-03 -3.56615668e-03 -3.56615668e-03 -5.90018653e-03 8.44999113e-04 8.44999113e-04 7.00213894e-03 7.22214326e-04 -4.89935284e-03 -6.10850862e-03 1.25091191e-03 -6.10850862e-03 -1.01771600e-06 -1.11116241e-05 -2.10524692e-05 4.11041279e-06 3.96066075e-06 7.40430828e-05 -1.42204009e-05 -1.37086540e-05 1.35463165e-06 8.65011321e-06 7.46646087e-06 -1.11115607e-07 -2.81468585e-06 2.28290009e-03 5.88060035e-03 -3.56615668e-03 -5.90018653e-03 -3.56615668e-03 8.44999113e-04 7.00213894e-03 8.44999113e-04 7.22214326e-04 -6.10850862e-03 -4.89935284e-03 -1.25091191e-03 -6.10850862e-03 -1.99917732e-05 1.99917732e-05 7.04243190e-05 -7.04243190e-05 -1.11115607e-07 1.11115607e-07 1.45594780e-05 2.33709218e-03 -2.33709218e-03 -6.16637453e-03 6.16637453e-03 1.25083299e-03 -1.25083299e-03 2.45879056e-03 -3.34354066e-05 -2.57169624e-04 -4.00502527e-06 7.77363679e-05 7.77363679e-05 1.39044038e-05 -2.41287214e-04 -2.41287214e-04 -3.73839344e-05 2.81468585e-06 2.81468585e-06 6.28234069e-05 2.28290009e-03 5.88060035e-03 -5.90018653e-03 -3.56615668e-03 -3.56615668e-03 7.00213894e-03 8.44999113e-04 8.44999113e-04 -1.44442865e-03 -6.10850862e-03 -6.10850862e-03 -4.89935284e-03 -3.08602939e-05 -3.07263521e-04 1.41324097e-06 1.04923873e-04 1.04923873e-04 -4.86525398e-06 -3.59208493e-04 -3.59208493e-04 1.91341235e-05 -1.02478251e-06 -1.02478251e-06 -3.34006108e-05 -3.07263521e-04 -3.02715668e-03 1.53820756e-05 1.01852759e-03 1.01852759e-03 -5.29298815e-05 -3.47581608e-03 -3.47581608e-03 1.46638312e-04 -1.11912408e-05 -1.11912408e-05 -2.56788439e-04 1.41324097e-06 1.53820756e-05 -4.12162075e-05 -5.66366604e-06 -5.66366604e-06 1.44413999e-04 1.94925310e-05 1.94925310e-05 -1.95538614e-06 2.10289351e-05 2.10289351e-05 4.03239561e-06 -1.04923873e-04 -1.01852759e-03 5.66366604e-06 3.23331675e-04 3.63143075e-04 -1.95566627e-05 -1.09913471e-03 -1.23877805e-03 4.42043373e-05 -3.98776946e-06 -4.13755885e-06 1.99902626e-05 -7.75974336e-05 -1.04923873e-04 -1.01852759e-03 5.66366604e-06 3.63143075e-04 3.23331675e-04 -1.95566627e-05 -1.23877805e-03 -1.09913471e-03 4.42043373e-05 -4.13755885e-06 -3.98776946e-06 -1.99902626e-05 -7.75974336e-05 -4.86525398e-06 -5.29298815e-05 1.44413999e-04 1.95566627e-05 1.95566627e-05 -5.07169119e-04 -6.72429653e-05 -6.72429653e-05 6.82107892e-06 -7.39612442e-05 -7.39612442e-05 -1.40030592e-05 3.59208493e-04 3.47581608e-03 -1.94925310e-05 -1.09913471e-03 -1.23877805e-03 6.72429653e-05 3.72261408e-03 4.21360468e-03 -1.36999156e-04 1.38061213e-05 1.43184607e-05 -7.04182099e-05 2.40805687e-04 3.59208493e-04 3.47581608e-03 -1.94925310e-05 -1.23877805e-03 -1.09913471e-03 6.72429653e-05 4.21360468e-03 3.72261408e-03 -1.36999156e-04 1.43184607e-05 1.38061213e-05 7.04182099e-05 2.40805687e-04 1.91341235e-05 1.46638312e-04 -1.95538614e-06 -4.42043373e-05 -4.42043373e-05 6.82107892e-06 1.36999156e-04 1.36999156e-04 2.06276741e-05 1.36318793e-06 1.36318793e-06 -3.74312988e-05 1.02478251e-06 1.11912408e-05 -2.10289351e-05 -3.98776946e-06 -4.13755885e-06 7.39612442e-05 1.38061213e-05 1.43184607e-05 -1.36318793e-06 7.44879307e-06 8.63228531e-06 -1.10952081e-07 2.83293240e-06 1.02478251e-06 1.11912408e-05 -2.10289351e-05 -4.13755885e-06 -3.98776946e-06 7.39612442e-05 1.43184607e-05 1.38061213e-05 -1.36318793e-06 8.63228531e-06 7.44879307e-06 1.10952081e-07 2.83293240e-06 -1.99902626e-05 1.99902626e-05 7.04182099e-05 -7.04182099e-05 1.10952081e-07 -1.10952081e-07 1.45584085e-05 -3.34006108e-05 -2.56788439e-04 4.03239561e-06 7.75974336e-05 7.75974336e-05 -1.40030592e-05 -2.40805687e-04 -2.40805687e-04 -3.74312988e-05 -2.83293240e-06 -2.83293240e-06 6.29222274e-05 + 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 4 6 7 9 10 11 16 17 19 20 22 23 24 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 16 17 19 20 22 23 24 13 14 15 16 17 18 19 20 21 22 23 25 + 0 23 46 70 96 122 146 172 198 220 246 272 286 310 322 334 346 359 372 384 397 410 422 435 448 455 467 +0 0 0 372 + -6.85962295e-01 -2.49343638e-03 -1.10678938e-02 -4.01898009e-02 1.59965704e-02 -1.59965704e-02 -1.59965704e-02 -3.48221871e-02 3.48221871e-02 3.48221871e-02 -2.30243503e-03 -2.30243503e-03 2.30243503e-03 -2.49343638e-03 4.23563560e-01 -4.02101705e-02 -8.51941384e-04 2.06513817e-02 -2.06513817e-02 -2.06513817e-02 1.28347617e-02 -1.28347617e-02 -1.28347617e-02 -5.95672459e-03 -5.95672459e-03 5.95672459e-03 -1.83358455e-01 1.59157921e-02 7.03211926e-04 -1.60075545e-02 -2.06367891e-02 9.20684060e-03 -1.62457954e-02 -1.62457954e-02 -7.47144879e-03 1.78038327e-02 1.78038327e-02 -2.69551701e-03 -3.61086424e-03 -3.61086424e-03 5.94234981e-03 -1.83358455e-01 1.59157921e-02 7.03211926e-04 1.60075545e-02 2.06367891e-02 -1.62457954e-02 9.20684060e-03 1.62457954e-02 1.78038327e-02 -7.47144879e-03 -1.78038327e-02 -1.34775851e-03 3.61086424e-03 5.94234981e-03 2.33438621e-03 -3.61086424e-03 -1.83358455e-01 1.59157921e-02 7.03211926e-04 1.60075545e-02 2.06367891e-02 -1.62457954e-02 1.62457954e-02 9.20684060e-03 1.78038327e-02 -1.78038327e-02 -7.47144879e-03 -1.34775851e-03 5.94234981e-03 3.61086424e-03 -2.33438621e-03 -3.61086424e-03 1.59157921e-02 6.01587239e-01 -1.47714525e-03 3.48613875e-02 -1.27621922e-02 -7.53206234e-03 1.78560844e-02 1.78560844e-02 -2.05536306e-02 2.16538149e-02 2.16538149e-02 7.11790393e-03 9.20772072e-04 9.20772072e-04 -7.07642391e-03 1.59157921e-02 6.01587239e-01 -1.47714525e-03 -3.48613875e-02 1.27621922e-02 1.78560844e-02 -7.53206234e-03 -1.78560844e-02 2.16538149e-02 -2.05536306e-02 -2.16538149e-02 3.55895196e-03 -9.20772072e-04 -7.07642391e-03 -6.16428562e-03 9.20772072e-04 1.59157921e-02 6.01587239e-01 -1.47714525e-03 -3.48613875e-02 1.27621922e-02 1.78560844e-02 -1.78560844e-02 -7.53206234e-03 2.16538149e-02 -2.16538149e-02 -2.05536306e-02 3.55895196e-03 -7.07642391e-03 -9.20772072e-04 6.16428562e-03 9.20772072e-04 7.26235429e-01 2.69864160e-03 1.34932080e-03 1.34932080e-03 -7.12031599e-03 -3.56015800e-03 -3.56015800e-03 2.45879056e-03 -7.22168763e-04 -7.22168763e-04 -1.44433753e-03 7.03211926e-04 -1.47714525e-03 7.25552655e-01 -2.28290009e-03 -5.88060035e-03 3.56615668e-03 -3.56615668e-03 -5.90018653e-03 -8.44999113e-04 8.44999113e-04 7.00213894e-03 -7.22214326e-04 -4.89935284e-03 -6.10850862e-03 -1.25091191e-03 6.10850862e-03 7.03211926e-04 -1.47714525e-03 7.25552655e-01 -2.28290009e-03 -5.88060035e-03 3.56615668e-03 -5.90018653e-03 -3.56615668e-03 -8.44999113e-04 7.00213894e-03 8.44999113e-04 -7.22214326e-04 -6.10850862e-03 -4.89935284e-03 1.25091191e-03 6.10850862e-03 7.26235429e-01 -2.33709218e-03 2.33709218e-03 6.16637453e-03 -6.16637453e-03 -1.25083299e-03 1.25083299e-03 2.45879056e-03 7.03211926e-04 -1.47714525e-03 7.25552655e-01 2.28290009e-03 5.88060035e-03 -5.90018653e-03 3.56615668e-03 3.56615668e-03 7.00213894e-03 -8.44999113e-04 -8.44999113e-04 -1.44442865e-03 6.10850862e-03 6.10850862e-03 -4.89935284e-03 -1.10678938e-02 -4.02101705e-02 -1.60075545e-02 1.60075545e-02 1.60075545e-02 3.48613875e-02 -3.48613875e-02 -3.48613875e-02 -2.28290009e-03 -2.28290009e-03 2.28290009e-03 -6.85940189e-01 -2.50823111e-03 -4.01898009e-02 -8.51941384e-04 -2.06367891e-02 2.06367891e-02 2.06367891e-02 -1.27621922e-02 1.27621922e-02 1.27621922e-02 -5.88060035e-03 -5.88060035e-03 5.88060035e-03 -2.50823111e-03 4.23515229e-01 1.59965704e-02 2.06513817e-02 9.20684060e-03 -1.62457954e-02 -1.62457954e-02 -7.53206234e-03 1.78560844e-02 1.78560844e-02 2.69864160e-03 3.56615668e-03 3.56615668e-03 -5.90018653e-03 -1.83349369e-01 1.59486915e-02 -7.01697013e-04 -1.59965704e-02 -2.06513817e-02 -1.62457954e-02 9.20684060e-03 1.62457954e-02 1.78560844e-02 -7.53206234e-03 -1.78560844e-02 1.34932080e-03 -3.56615668e-03 -5.90018653e-03 -2.33709218e-03 3.56615668e-03 -1.83349369e-01 1.59486915e-02 -7.01697013e-04 -1.59965704e-02 -2.06513817e-02 -1.62457954e-02 1.62457954e-02 9.20684060e-03 1.78560844e-02 -1.78560844e-02 -7.53206234e-03 1.34932080e-03 -5.90018653e-03 -3.56615668e-03 2.33709218e-03 3.56615668e-03 -1.83349369e-01 1.59486915e-02 -7.01697013e-04 -3.48221871e-02 1.28347617e-02 -7.47144879e-03 1.78038327e-02 1.78038327e-02 -2.05536306e-02 2.16538149e-02 2.16538149e-02 -7.12031599e-03 -8.44999113e-04 -8.44999113e-04 7.00213894e-03 1.59486915e-02 6.01537957e-01 1.46884921e-03 3.48221871e-02 -1.28347617e-02 1.78038327e-02 -7.47144879e-03 -1.78038327e-02 2.16538149e-02 -2.05536306e-02 -2.16538149e-02 -3.56015800e-03 8.44999113e-04 7.00213894e-03 6.16637453e-03 -8.44999113e-04 1.59486915e-02 6.01537957e-01 1.46884921e-03 3.48221871e-02 -1.28347617e-02 1.78038327e-02 -1.78038327e-02 -7.47144879e-03 2.16538149e-02 -2.16538149e-02 -2.05536306e-02 -3.56015800e-03 7.00213894e-03 8.44999113e-04 -6.16637453e-03 -8.44999113e-04 1.59486915e-02 6.01537957e-01 1.46884921e-03 -2.69551701e-03 -1.34775851e-03 -1.34775851e-03 7.11790393e-03 3.55895196e-03 3.55895196e-03 2.45879056e-03 -7.22214326e-04 -7.22214326e-04 -1.44442865e-03 7.26258908e-01 -2.30243503e-03 -5.95672459e-03 -3.61086424e-03 3.61086424e-03 5.94234981e-03 9.20772072e-04 -9.20772072e-04 -7.07642391e-03 -7.22168763e-04 -4.89935284e-03 -6.10850862e-03 -1.25083299e-03 6.10850862e-03 -7.01697013e-04 1.46884921e-03 7.25573052e-01 -2.30243503e-03 -5.95672459e-03 -3.61086424e-03 5.94234981e-03 3.61086424e-03 9.20772072e-04 -7.07642391e-03 -9.20772072e-04 -7.22168763e-04 -6.10850862e-03 -4.89935284e-03 1.25083299e-03 6.10850862e-03 -7.01697013e-04 1.46884921e-03 7.25573052e-01 2.33438621e-03 -2.33438621e-03 -6.16428562e-03 6.16428562e-03 -1.25091191e-03 1.25091191e-03 2.45879056e-03 7.26258908e-01 2.30243503e-03 5.95672459e-03 5.94234981e-03 -3.61086424e-03 -3.61086424e-03 -7.07642391e-03 9.20772072e-04 9.20772072e-04 -1.44433753e-03 6.10850862e-03 6.10850862e-03 -4.89935284e-03 -7.01697013e-04 1.46884921e-03 7.25573052e-01 + 0 1 13 14 15 16 17 18 19 20 22 23 25 0 1 13 14 15 16 17 18 19 20 22 23 25 2 5 12 13 14 15 16 17 18 19 20 21 22 23 25 3 6 10 13 14 15 16 17 18 19 20 21 22 23 24 25 4 7 9 13 14 15 16 17 18 19 20 21 22 23 24 25 2 5 12 13 14 15 16 17 18 19 20 21 22 23 25 3 6 10 13 14 15 16 17 18 19 20 21 22 23 24 25 4 7 9 13 14 15 16 17 18 19 20 21 22 23 24 25 8 15 16 17 18 19 20 21 22 23 25 4 7 9 13 14 15 16 17 18 19 20 21 22 23 24 25 3 6 10 13 14 15 16 17 18 19 20 21 22 23 24 25 11 16 17 19 20 22 23 24 2 5 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 9 10 12 13 14 0 1 2 3 4 5 6 7 9 10 12 13 14 0 1 2 3 4 5 6 7 8 9 10 12 15 18 25 0 1 2 3 4 5 6 7 8 9 10 11 12 16 19 23 0 1 2 3 4 5 6 7 8 9 10 11 12 17 20 22 0 1 2 3 4 5 6 7 8 9 10 12 15 18 25 0 1 2 3 4 5 6 7 8 9 10 11 12 16 19 23 0 1 2 3 4 5 6 7 8 9 10 11 12 17 20 22 2 3 4 5 6 7 8 9 10 12 21 0 1 2 3 4 5 6 7 8 9 10 11 12 17 20 22 0 1 2 3 4 5 6 7 8 9 10 11 12 16 19 23 3 4 6 7 9 10 11 24 0 1 2 3 4 5 6 7 8 9 10 12 15 18 25 + 0 13 26 41 57 73 88 104 120 131 147 163 171 186 199 212 227 243 259 274 290 306 317 333 349 357 372 +0 0 1 467 + -3.08720237e-05 -3.07390885e-04 -1.40312477e-06 -1.04971511e-04 -1.04971511e-04 4.82934036e-06 3.59371792e-04 3.59371792e-04 1.91511014e-05 -1.01771600e-06 -1.01771600e-06 -3.34354066e-05 -3.07390885e-04 -3.02853625e-03 -1.52691305e-05 -1.01904693e-03 -1.01904693e-03 5.25303803e-05 3.47759038e-03 3.47759038e-03 1.46824618e-04 -1.11116241e-05 -1.11116241e-05 -2.57169624e-04 -1.40312477e-06 -1.52691305e-05 -4.12471245e-05 -5.62416573e-06 -5.62416573e-06 1.44520599e-04 1.93518153e-05 1.93518153e-05 1.94209918e-06 -2.10524692e-05 -2.10524692e-05 -4.00502527e-06 1.04971511e-04 1.01904693e-03 5.62416573e-06 3.23522367e-04 3.63336653e-04 -1.94156142e-05 -1.09979124e-03 -1.23944563e-03 -4.42718575e-05 3.96066075e-06 4.11041279e-06 -1.99917732e-05 7.77363679e-05 1.04971511e-04 1.01904693e-03 5.62416573e-06 3.63336653e-04 3.23522367e-04 -1.94156142e-05 -1.23944563e-03 -1.09979124e-03 -4.42718575e-05 4.11041279e-06 3.96066075e-06 1.99917732e-05 7.77363679e-05 4.82934036e-06 5.25303803e-05 1.44520599e-04 1.94156142e-05 1.94156142e-05 -5.07533292e-04 -6.67426116e-05 -6.67426116e-05 -6.77236452e-06 7.40430828e-05 7.40430828e-05 1.39044038e-05 -3.59371792e-04 -3.47759038e-03 -1.93518153e-05 -1.09979124e-03 -1.23944563e-03 6.67426116e-05 3.72486395e-03 4.21589662e-03 1.37233714e-04 -1.37086540e-05 -1.42204009e-05 7.04243190e-05 -2.41287214e-04 -3.59371792e-04 -3.47759038e-03 -1.93518153e-05 -1.23944563e-03 -1.09979124e-03 6.67426116e-05 4.21589662e-03 3.72486395e-03 1.37233714e-04 -1.42204009e-05 -1.37086540e-05 -7.04243190e-05 -2.41287214e-04 1.91511014e-05 1.46824618e-04 1.94209918e-06 4.42718575e-05 4.42718575e-05 -6.77236452e-06 -1.37233714e-04 -1.37233714e-04 2.06050561e-05 1.35463165e-06 1.35463165e-06 -3.73839344e-05 1.01771600e-06 1.11116241e-05 2.10524692e-05 3.96066075e-06 4.11041279e-06 -7.40430828e-05 -1.37086540e-05 -1.42204009e-05 -1.35463165e-06 7.46646087e-06 8.65011321e-06 -1.11115607e-07 2.81468585e-06 1.01771600e-06 1.11116241e-05 2.10524692e-05 4.11041279e-06 3.96066075e-06 -7.40430828e-05 -1.42204009e-05 -1.37086540e-05 -1.35463165e-06 8.65011321e-06 7.46646087e-06 1.11115607e-07 2.81468585e-06 1.99917732e-05 -1.99917732e-05 -7.04243190e-05 7.04243190e-05 1.11115607e-07 -1.11115607e-07 1.45594780e-05 -3.34354066e-05 -2.57169624e-04 -4.00502527e-06 -7.77363679e-05 -7.77363679e-05 1.39044038e-05 2.41287214e-04 2.41287214e-04 -3.73839344e-05 -2.81468585e-06 -2.81468585e-06 6.28234069e-05 -1.10678938e-02 -4.02101705e-02 -1.60075545e-02 -1.60075545e-02 -1.60075545e-02 3.48613875e-02 3.48613875e-02 3.48613875e-02 2.28290009e-03 2.28290009e-03 2.28290009e-03 -3.08602939e-05 -3.07263521e-04 1.41324097e-06 -1.04923873e-04 -1.04923873e-04 -4.86525398e-06 3.59208493e-04 3.59208493e-04 1.91341235e-05 1.02478251e-06 1.02478251e-06 -3.34006108e-05 -4.01898009e-02 -8.51941384e-04 -2.06367891e-02 -2.06367891e-02 -2.06367891e-02 -1.27621922e-02 -1.27621922e-02 -1.27621922e-02 5.88060035e-03 5.88060035e-03 5.88060035e-03 -3.07263521e-04 -3.02715668e-03 1.53820756e-05 -1.01852759e-03 -1.01852759e-03 -5.29298815e-05 3.47581608e-03 3.47581608e-03 1.46638312e-04 1.11912408e-05 1.11912408e-05 -2.56788439e-04 1.59965704e-02 2.06513817e-02 9.20684060e-03 1.62457954e-02 1.62457954e-02 -7.53206233e-03 -1.78560844e-02 -1.78560844e-02 2.69864160e-03 -3.56615668e-03 -3.56615668e-03 -5.90018653e-03 1.41324097e-06 1.53820756e-05 -4.12162075e-05 5.66366604e-06 5.66366604e-06 1.44413999e-04 -1.94925310e-05 -1.94925310e-05 -1.95538614e-06 -2.10289351e-05 -2.10289351e-05 4.03239561e-06 1.59965704e-02 2.06513817e-02 1.62457954e-02 9.20684060e-03 1.62457954e-02 -1.78560844e-02 -7.53206233e-03 -1.78560844e-02 -1.34932080e-03 -3.56615668e-03 -5.90018653e-03 2.33709218e-03 -3.56615668e-03 1.04923873e-04 1.01852759e-03 -5.66366604e-06 3.23331675e-04 3.63143075e-04 1.95566627e-05 -1.09913471e-03 -1.23877805e-03 -4.42043373e-05 -3.98776946e-06 -4.13755885e-06 -1.99902626e-05 7.75974336e-05 1.59965704e-02 2.06513817e-02 1.62457954e-02 1.62457954e-02 9.20684060e-03 -1.78560844e-02 -1.78560844e-02 -7.53206233e-03 -1.34932080e-03 -5.90018653e-03 -3.56615668e-03 -2.33709218e-03 -3.56615668e-03 1.04923873e-04 1.01852759e-03 -5.66366604e-06 3.63143075e-04 3.23331675e-04 1.95566627e-05 -1.23877805e-03 -1.09913471e-03 -4.42043373e-05 -4.13755885e-06 -3.98776946e-06 1.99902626e-05 7.75974336e-05 -3.48221871e-02 1.28347617e-02 -7.47144879e-03 -1.78038327e-02 -1.78038327e-02 -2.05536306e-02 -2.16538149e-02 -2.16538149e-02 -7.12031599e-03 8.44999113e-04 8.44999113e-04 7.00213894e-03 -4.86525398e-06 -5.29298815e-05 1.44413999e-04 -1.95566627e-05 -1.95566627e-05 -5.07169119e-04 6.72429653e-05 6.72429653e-05 6.82107892e-06 7.39612442e-05 7.39612442e-05 -1.40030592e-05 -3.48221871e-02 1.28347617e-02 -1.78038327e-02 -7.47144879e-03 -1.78038327e-02 -2.16538149e-02 -2.05536306e-02 -2.16538149e-02 3.56015800e-03 8.44999113e-04 7.00213894e-03 -6.16637453e-03 8.44999113e-04 -3.59208493e-04 -3.47581608e-03 1.94925310e-05 -1.09913471e-03 -1.23877805e-03 -6.72429653e-05 3.72261408e-03 4.21360468e-03 1.36999156e-04 1.38061213e-05 1.43184607e-05 7.04182099e-05 -2.40805687e-04 -3.48221871e-02 1.28347617e-02 -1.78038327e-02 -1.78038327e-02 -7.47144879e-03 -2.16538149e-02 -2.16538149e-02 -2.05536306e-02 3.56015800e-03 7.00213894e-03 8.44999113e-04 6.16637453e-03 8.44999113e-04 -3.59208493e-04 -3.47581608e-03 1.94925310e-05 -1.23877805e-03 -1.09913471e-03 -6.72429653e-05 4.21360468e-03 3.72261408e-03 1.36999156e-04 1.43184607e-05 1.38061213e-05 -7.04182099e-05 -2.40805687e-04 -2.69551701e-03 1.34775851e-03 1.34775851e-03 7.11790393e-03 -3.55895196e-03 -3.55895196e-03 2.45879056e-03 7.22214326e-04 7.22214326e-04 -1.44442865e-03 1.91341235e-05 1.46638312e-04 -1.95538614e-06 4.42043373e-05 4.42043373e-05 6.82107892e-06 -1.36999156e-04 -1.36999156e-04 2.06276741e-05 -1.36318793e-06 -1.36318793e-06 -3.74312988e-05 2.30243503e-03 5.95672459e-03 3.61086424e-03 3.61086424e-03 5.94234981e-03 -9.20772072e-04 -9.20772072e-04 -7.07642391e-03 7.22168763e-04 -4.89935284e-03 -6.10850862e-03 1.25083299e-03 -6.10850862e-03 -1.02478251e-06 -1.11912408e-05 2.10289351e-05 -3.98776946e-06 -4.13755885e-06 -7.39612442e-05 1.38061213e-05 1.43184607e-05 1.36318793e-06 7.44879307e-06 8.63228531e-06 1.10952081e-07 -2.83293240e-06 2.30243503e-03 5.95672459e-03 3.61086424e-03 5.94234981e-03 3.61086424e-03 -9.20772072e-04 -7.07642391e-03 -9.20772072e-04 7.22168763e-04 -6.10850862e-03 -4.89935284e-03 -1.25083299e-03 -6.10850862e-03 -1.02478251e-06 -1.11912408e-05 2.10289351e-05 -4.13755885e-06 -3.98776946e-06 -7.39612442e-05 1.43184607e-05 1.38061213e-05 1.36318793e-06 8.63228531e-06 7.44879307e-06 -1.10952081e-07 -2.83293240e-06 -2.33438621e-03 2.33438621e-03 6.16428562e-03 -6.16428562e-03 1.25091191e-03 -1.25091191e-03 2.45879056e-03 1.99902626e-05 -1.99902626e-05 -7.04182099e-05 7.04182099e-05 -1.10952081e-07 1.10952081e-07 1.45584085e-05 2.30243503e-03 5.95672459e-03 5.94234981e-03 3.61086424e-03 3.61086424e-03 -7.07642391e-03 -9.20772072e-04 -9.20772072e-04 -1.44433753e-03 -6.10850862e-03 -6.10850862e-03 -4.89935284e-03 -3.34006108e-05 -2.56788439e-04 4.03239561e-06 -7.75974336e-05 -7.75974336e-05 -1.40030592e-05 2.40805687e-04 2.40805687e-04 -3.74312988e-05 2.83293240e-06 2.83293240e-06 6.29222274e-05 + 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 3 4 6 7 9 10 11 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 4 6 7 9 10 11 16 17 19 20 22 23 24 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 + 0 12 24 36 49 62 74 87 100 112 125 138 145 157 180 203 227 253 279 303 329 355 377 403 429 443 467 +0 1 -1 338 + -3.08720237e-05 -3.07390885e-04 1.04971511e-04 -1.40312477e-06 1.04971511e-04 -3.59371792e-04 4.82934036e-06 -3.59371792e-04 -9.57555071e-06 1.01771600e-06 -3.34354066e-05 1.65853403e-05 1.01771600e-06 -3.07390885e-04 -3.02853625e-03 1.01904693e-03 -1.52691305e-05 1.01904693e-03 -3.47759038e-03 5.25303803e-05 -3.47759038e-03 -7.34123089e-05 1.11116241e-05 -2.57169624e-04 1.27153849e-04 1.11116241e-05 -1.04971511e-04 -1.01904693e-03 3.23522367e-04 -5.62416573e-06 3.63336653e-04 -1.09979124e-03 1.94156142e-05 -1.23944563e-03 -4.82254533e-06 3.96066075e-06 -7.77363679e-05 4.83364399e-05 4.11041279e-06 -1.40312477e-06 -1.52691305e-05 5.62416573e-06 -4.12471245e-05 5.62416573e-06 -1.93518153e-05 1.44520599e-04 -1.93518153e-05 -9.71049589e-07 2.10524692e-05 -4.00502527e-06 1.68190722e-06 2.10524692e-05 -1.04971511e-04 -1.01904693e-03 3.63336653e-04 -5.62416573e-06 3.23522367e-04 -1.23944563e-03 1.94156142e-05 -1.09979124e-03 -3.94493122e-05 4.11041279e-06 -7.77363679e-05 2.83446667e-05 3.96066075e-06 3.59371792e-04 3.47759038e-03 -1.09979124e-03 1.93518153e-05 -1.23944563e-03 3.72486395e-03 -6.67426116e-05 4.21589662e-03 7.62760775e-06 -1.37086540e-05 2.41287214e-04 -1.54060042e-04 -1.42204009e-05 4.82934036e-06 5.25303803e-05 -1.94156142e-05 1.44520599e-04 -1.94156142e-05 6.67426116e-05 -5.07533292e-04 6.67426116e-05 3.38618226e-06 -7.40430828e-05 1.39044038e-05 -5.86503972e-06 -7.40430828e-05 3.59371792e-04 3.47759038e-03 -1.23944563e-03 1.93518153e-05 -1.09979124e-03 4.21589662e-03 -6.67426116e-05 3.72486395e-03 1.29606106e-04 -1.42204009e-05 2.41287214e-04 -8.36357232e-05 -1.37086540e-05 -9.57555071e-06 -7.34123089e-05 4.82254533e-06 -9.71049589e-07 3.94493122e-05 -7.62760775e-06 3.38618226e-06 -1.29606106e-04 1.60708725e-05 5.81086888e-07 1.86919672e-05 -2.61781210e-06 7.73544764e-07 -1.01771600e-06 -1.11116241e-05 3.96066075e-06 -2.10524692e-05 4.11041279e-06 -1.37086540e-05 7.40430828e-05 -1.42204009e-05 -5.81086888e-07 7.46646087e-06 -2.81468585e-06 1.22870323e-06 8.65011321e-06 -3.34354066e-05 -2.57169624e-04 7.77363679e-05 -4.00502527e-06 7.77363679e-05 -2.41287214e-04 1.39044038e-05 -2.41287214e-04 1.86919672e-05 2.81468585e-06 6.28234069e-05 -3.23754368e-05 2.81468585e-06 1.65853403e-05 1.27153849e-04 -4.83364399e-05 1.68190722e-06 -2.83446667e-05 1.54060042e-04 -5.86503972e-06 8.36357232e-05 -2.61781210e-06 -1.22870323e-06 -3.23754368e-05 1.90936616e-05 -1.11758762e-06 -1.01771600e-06 -1.11116241e-05 4.11041279e-06 -2.10524692e-05 3.96066075e-06 -1.42204009e-05 7.40430828e-05 -1.37086540e-05 -7.73544764e-07 8.65011321e-06 -2.81468585e-06 1.11758762e-06 7.46646087e-06 -3.08602939e-05 -3.07263521e-04 1.04923873e-04 1.41324097e-06 1.04923873e-04 -3.59208493e-04 -4.86525398e-06 -3.59208493e-04 -9.56706174e-06 -1.02478251e-06 -3.34006108e-05 1.65706370e-05 -1.02478251e-06 -3.07263521e-04 -3.02715668e-03 1.01852759e-03 1.53820756e-05 1.01852759e-03 -3.47581608e-03 -5.29298815e-05 -3.47581608e-03 -7.33191558e-05 -1.11912408e-05 -2.56788439e-04 1.26992503e-04 -1.11912408e-05 -1.04923873e-04 -1.01852759e-03 3.23331675e-04 5.66366604e-06 3.63143075e-04 -1.09913471e-03 -1.95566627e-05 -1.23877805e-03 -4.79009339e-06 -3.98776946e-06 -7.75974336e-05 4.82772103e-05 -4.13755885e-06 1.41324097e-06 1.53820756e-05 -5.66366604e-06 -4.12162075e-05 -5.66366604e-06 1.94925310e-05 1.44413999e-04 1.94925310e-05 9.77693072e-07 2.10289351e-05 4.03239561e-06 -1.69341407e-06 2.10289351e-05 -1.04923873e-04 -1.01852759e-03 3.63143075e-04 5.66366604e-06 3.23331675e-04 -1.23877805e-03 -1.95566627e-05 -1.09913471e-03 -3.94142439e-05 -4.13755885e-06 -7.75974336e-05 2.82869477e-05 -3.98776946e-06 3.59208493e-04 3.47581608e-03 -1.09913471e-03 -1.94925310e-05 -1.23877805e-03 3.72261408e-03 6.72429653e-05 4.21360468e-03 7.51561916e-06 1.38061213e-05 2.40805687e-04 -1.53853854e-04 1.43184607e-05 -4.86525398e-06 -5.29298815e-05 1.95566627e-05 1.44413999e-04 1.95566627e-05 -6.72429653e-05 -5.07169119e-04 -6.72429653e-05 -3.41053946e-06 -7.39612442e-05 -1.40030592e-05 5.90722763e-06 -7.39612442e-05 3.59208493e-04 3.47581608e-03 -1.23877805e-03 -1.94925310e-05 -1.09913471e-03 4.21360468e-03 6.72429653e-05 3.72261408e-03 1.29483537e-04 1.43184607e-05 2.40805687e-04 -8.34356441e-05 1.38061213e-05 -9.56706174e-06 -7.33191558e-05 4.79009339e-06 9.77693072e-07 3.94142439e-05 -7.51561916e-06 -3.41053946e-06 -1.29483537e-04 1.60757249e-05 -5.85506643e-07 1.87156494e-05 -2.62806909e-06 -7.77681284e-07 1.02478251e-06 1.11912408e-05 -3.98776946e-06 -2.10289351e-05 -4.13755885e-06 1.38061213e-05 7.39612442e-05 1.43184607e-05 5.85506643e-07 7.44879307e-06 2.83293240e-06 -1.23603141e-06 8.63228531e-06 -3.34006108e-05 -2.56788439e-04 7.75974336e-05 4.03239561e-06 7.75974336e-05 -2.40805687e-04 -1.40030592e-05 -2.40805687e-04 1.87156494e-05 -2.83293240e-06 6.29222274e-05 -3.24164557e-05 -2.83293240e-06 1.65706370e-05 1.26992503e-04 -4.82772103e-05 -1.69341407e-06 -2.82869477e-05 1.53853854e-04 5.90722763e-06 8.34356441e-05 -2.62806909e-06 1.23603141e-06 -3.24164557e-05 1.91103577e-05 1.12507933e-06 1.02478251e-06 1.11912408e-05 -4.13755885e-06 -2.10289351e-05 -3.98776946e-06 1.43184607e-05 7.39612442e-05 1.38061213e-05 7.77681284e-07 8.63228531e-06 2.83293240e-06 -1.12507933e-06 7.44879307e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 182 195 208 221 234 247 260 273 286 299 312 325 338 +0 1 0 491 + -3.08720237e-05 -3.07390885e-04 1.04971511e-04 -1.04971511e-04 1.40312477e-06 -3.59371792e-04 3.59371792e-04 -4.82934036e-06 -9.57555071e-06 3.34354066e-05 -1.01771600e-06 -1.65853403e-05 1.01771600e-06 -3.07390885e-04 -3.02853625e-03 1.01904693e-03 -1.01904693e-03 1.52691305e-05 -3.47759038e-03 3.47759038e-03 -5.25303803e-05 -7.34123089e-05 2.57169624e-04 -1.11116241e-05 -1.27153849e-04 1.11116241e-05 -1.04971511e-04 -1.01904693e-03 3.23522367e-04 -3.63336653e-04 5.62416573e-06 -1.09979124e-03 1.23944563e-03 -1.94156142e-05 -4.82254533e-06 7.77363679e-05 -3.96066075e-06 -4.83364399e-05 4.11041279e-06 1.04971511e-04 1.01904693e-03 -3.63336653e-04 3.23522367e-04 -5.62416573e-06 1.23944563e-03 -1.09979124e-03 1.94156142e-05 3.94493122e-05 -7.77363679e-05 4.11041279e-06 2.83446667e-05 -3.96066075e-06 1.40312477e-06 1.52691305e-05 -5.62416573e-06 5.62416573e-06 -4.12471245e-05 1.93518153e-05 -1.93518153e-05 1.44520599e-04 9.71049589e-07 -4.00502527e-06 2.10524692e-05 1.68190722e-06 -2.10524692e-05 3.59371792e-04 3.47759038e-03 -1.09979124e-03 1.23944563e-03 -1.93518153e-05 3.72486395e-03 -4.21589662e-03 6.67426116e-05 7.62760775e-06 -2.41287214e-04 1.37086540e-05 1.54060042e-04 -1.42204009e-05 -3.59371792e-04 -3.47759038e-03 1.23944563e-03 -1.09979124e-03 1.93518153e-05 -4.21589662e-03 3.72486395e-03 -6.67426116e-05 -1.29606106e-04 2.41287214e-04 -1.42204009e-05 -8.36357232e-05 1.37086540e-05 -4.82934036e-06 -5.25303803e-05 1.94156142e-05 -1.94156142e-05 1.44520599e-04 -6.67426116e-05 6.67426116e-05 -5.07533292e-04 -3.38618226e-06 1.39044038e-05 -7.40430828e-05 -5.86503972e-06 7.40430828e-05 -9.57555071e-06 -7.34123089e-05 4.82254533e-06 -3.94493122e-05 9.71049589e-07 -7.62760775e-06 1.29606106e-04 -3.38618226e-06 1.60708725e-05 -1.86919672e-05 -5.81086888e-07 2.61781210e-06 7.73544764e-07 3.34354066e-05 2.57169624e-04 -7.77363679e-05 7.77363679e-05 -4.00502527e-06 2.41287214e-04 -2.41287214e-04 1.39044038e-05 -1.86919672e-05 6.28234069e-05 2.81468585e-06 -3.23754368e-05 -2.81468585e-06 1.01771600e-06 1.11116241e-05 -3.96066075e-06 4.11041279e-06 -2.10524692e-05 1.37086540e-05 -1.42204009e-05 7.40430828e-05 5.81086888e-07 -2.81468585e-06 7.46646087e-06 1.22870323e-06 -8.65011321e-06 -1.65853403e-05 -1.27153849e-04 4.83364399e-05 -2.83446667e-05 1.68190722e-06 -1.54060042e-04 8.36357232e-05 -5.86503972e-06 2.61781210e-06 -3.23754368e-05 -1.22870323e-06 1.90936616e-05 1.11758762e-06 -1.01771600e-06 -1.11116241e-05 4.11041279e-06 -3.96066075e-06 2.10524692e-05 -1.42204009e-05 1.37086540e-05 -7.40430828e-05 -7.73544764e-07 2.81468585e-06 -8.65011321e-06 -1.11758762e-06 7.46646087e-06 -1.10678938e-02 -4.02101705e-02 1.60075545e-02 -1.60075545e-02 1.60075545e-02 -3.48613875e-02 3.48613875e-02 -3.48613875e-02 -2.28290009e-03 2.28290009e-03 -2.28290009e-03 -3.08602939e-05 -3.07263521e-04 1.04923873e-04 -1.04923873e-04 -1.41324097e-06 -3.59208493e-04 3.59208493e-04 4.86525398e-06 -9.56706174e-06 3.34006108e-05 1.02478251e-06 -1.65706370e-05 -1.02478251e-06 -4.01898009e-02 -8.51941384e-04 2.06367891e-02 -2.06367891e-02 2.06367891e-02 1.27621922e-02 -1.27621922e-02 1.27621922e-02 -5.88060035e-03 5.88060035e-03 -5.88060035e-03 -3.07263521e-04 -3.02715668e-03 1.01852759e-03 -1.01852759e-03 -1.53820756e-05 -3.47581608e-03 3.47581608e-03 5.29298815e-05 -7.33191558e-05 2.56788439e-04 1.11912408e-05 -1.26992503e-04 -1.11912408e-05 -1.59965704e-02 -2.06513817e-02 9.20684060e-03 -1.62457954e-02 1.62457954e-02 -7.53206233e-03 1.78560844e-02 -1.78560844e-02 -2.69864160e-03 -3.56615668e-03 3.56615668e-03 -5.90018653e-03 -1.04923873e-04 -1.01852759e-03 3.23331675e-04 -3.63143075e-04 -5.66366604e-06 -1.09913471e-03 1.23877805e-03 1.95566627e-05 -4.79009339e-06 7.75974336e-05 3.98776946e-06 -4.82772103e-05 -4.13755885e-06 1.59965704e-02 2.06513817e-02 -1.62457954e-02 9.20684060e-03 -1.62457954e-02 1.78560844e-02 -7.53206233e-03 1.78560844e-02 -1.34932080e-03 3.56615668e-03 -5.90018653e-03 2.33709218e-03 3.56615668e-03 1.04923873e-04 1.01852759e-03 -3.63143075e-04 3.23331675e-04 5.66366604e-06 1.23877805e-03 -1.09913471e-03 -1.95566627e-05 3.94142439e-05 -7.75974336e-05 -4.13755885e-06 2.82869477e-05 3.98776946e-06 -1.59965704e-02 -2.06513817e-02 1.62457954e-02 -1.62457954e-02 9.20684060e-03 -1.78560844e-02 1.78560844e-02 -7.53206233e-03 1.34932080e-03 -5.90018653e-03 3.56615668e-03 2.33709218e-03 -3.56615668e-03 -1.41324097e-06 -1.53820756e-05 5.66366604e-06 -5.66366604e-06 -4.12162075e-05 -1.94925310e-05 1.94925310e-05 1.44413999e-04 -9.77693072e-07 4.03239561e-06 2.10289351e-05 -1.69341407e-06 -2.10289351e-05 3.48221871e-02 -1.28347617e-02 -7.47144879e-03 1.78038327e-02 -1.78038327e-02 -2.05536306e-02 2.16538149e-02 -2.16538149e-02 7.12031599e-03 8.44999113e-04 -8.44999113e-04 7.00213894e-03 3.59208493e-04 3.47581608e-03 -1.09913471e-03 1.23877805e-03 1.94925310e-05 3.72261408e-03 -4.21360468e-03 -6.72429653e-05 7.51561916e-06 -2.40805687e-04 -1.38061213e-05 1.53853854e-04 1.43184607e-05 -3.48221871e-02 1.28347617e-02 1.78038327e-02 -7.47144879e-03 1.78038327e-02 2.16538149e-02 -2.05536306e-02 2.16538149e-02 3.56015800e-03 -8.44999113e-04 7.00213894e-03 -6.16637453e-03 -8.44999113e-04 -3.59208493e-04 -3.47581608e-03 1.23877805e-03 -1.09913471e-03 -1.94925310e-05 -4.21360468e-03 3.72261408e-03 6.72429653e-05 -1.29483537e-04 2.40805687e-04 1.43184607e-05 -8.34356441e-05 -1.38061213e-05 3.48221871e-02 -1.28347617e-02 -1.78038327e-02 1.78038327e-02 -7.47144879e-03 -2.16538149e-02 2.16538149e-02 -2.05536306e-02 -3.56015800e-03 7.00213894e-03 -8.44999113e-04 -6.16637453e-03 8.44999113e-04 4.86525398e-06 5.29298815e-05 -1.95566627e-05 1.95566627e-05 1.44413999e-04 6.72429653e-05 -6.72429653e-05 -5.07169119e-04 3.41053946e-06 -1.40030592e-05 -7.39612442e-05 5.90722763e-06 7.39612442e-05 2.69551701e-03 1.34775851e-03 -1.34775851e-03 -7.11790393e-03 -3.55895196e-03 3.55895196e-03 2.45879056e-03 -7.22214326e-04 7.22214326e-04 1.44442865e-03 -9.56706174e-06 -7.33191558e-05 4.79009339e-06 -3.94142439e-05 -9.77693072e-07 -7.51561916e-06 1.29483537e-04 3.41053946e-06 1.60757249e-05 -1.87156494e-05 5.85506643e-07 2.62806909e-06 -7.77681284e-07 -2.30243503e-03 -5.95672459e-03 3.61086424e-03 -3.61086424e-03 5.94234981e-03 -9.20772072e-04 9.20772072e-04 -7.07642391e-03 -7.22168763e-04 -4.89935284e-03 6.10850862e-03 -1.25083299e-03 -6.10850862e-03 3.34006108e-05 2.56788439e-04 -7.75974336e-05 7.75974336e-05 4.03239561e-06 2.40805687e-04 -2.40805687e-04 -1.40030592e-05 -1.87156494e-05 6.29222274e-05 -2.83293240e-06 -3.24164557e-05 2.83293240e-06 2.30243503e-03 5.95672459e-03 -3.61086424e-03 5.94234981e-03 -3.61086424e-03 9.20772072e-04 -7.07642391e-03 9.20772072e-04 7.22168763e-04 6.10850862e-03 -4.89935284e-03 -1.25083299e-03 6.10850862e-03 -1.02478251e-06 -1.11912408e-05 3.98776946e-06 -4.13755885e-06 -2.10289351e-05 -1.38061213e-05 1.43184607e-05 7.39612442e-05 -5.85506643e-07 2.83293240e-06 7.44879307e-06 -1.23603141e-06 -8.63228531e-06 -2.33438621e-03 -2.33438621e-03 6.16428562e-03 6.16428562e-03 -1.25091191e-03 -1.25091191e-03 2.45879056e-03 -1.65706370e-05 -1.26992503e-04 4.82772103e-05 -2.82869477e-05 -1.69341407e-06 -1.53853854e-04 8.34356441e-05 5.90722763e-06 2.62806909e-06 -3.24164557e-05 1.23603141e-06 1.91103577e-05 -1.12507933e-06 -2.30243503e-03 -5.95672459e-03 5.94234981e-03 -3.61086424e-03 3.61086424e-03 -7.07642391e-03 9.20772072e-04 -9.20772072e-04 1.44433753e-03 -6.10850862e-03 6.10850862e-03 -4.89935284e-03 1.02478251e-06 1.11912408e-05 -4.13755885e-06 3.98776946e-06 2.10289351e-05 1.43184607e-05 -1.38061213e-05 -7.39612442e-05 7.77681284e-07 -2.83293240e-06 -8.63228531e-06 1.12507933e-06 7.44879307e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 4 6 7 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 193 217 242 268 294 319 345 371 394 420 446 466 491 +1 -1 0 314 + -3.08720237e-05 -3.07390885e-04 1.40312477e-06 1.04971511e-04 -1.04971511e-04 -4.82934036e-06 -3.59371792e-04 3.59371792e-04 1.91511014e-05 -1.01771600e-06 1.01771600e-06 3.34354066e-05 -3.07390885e-04 -3.02853625e-03 1.52691305e-05 1.01904693e-03 -1.01904693e-03 -5.25303803e-05 -3.47759038e-03 3.47759038e-03 1.46824618e-04 -1.11116241e-05 1.11116241e-05 2.57169624e-04 1.40312477e-06 1.52691305e-05 -4.12471245e-05 -5.62416573e-06 5.62416573e-06 1.44520599e-04 1.93518153e-05 -1.93518153e-05 -1.94209918e-06 2.10524692e-05 -2.10524692e-05 -4.00502527e-06 -1.04971511e-04 -1.01904693e-03 5.62416573e-06 3.23522367e-04 -3.63336653e-04 -1.94156142e-05 -1.09979124e-03 1.23944563e-03 4.42718575e-05 -3.96066075e-06 4.11041279e-06 1.99917732e-05 7.77363679e-05 1.04971511e-04 1.01904693e-03 -5.62416573e-06 -3.63336653e-04 3.23522367e-04 1.94156142e-05 1.23944563e-03 -1.09979124e-03 -4.42718575e-05 4.11041279e-06 -3.96066075e-06 1.99917732e-05 -7.77363679e-05 -4.82934036e-06 -5.25303803e-05 1.44520599e-04 1.94156142e-05 -1.94156142e-05 -5.07533292e-04 -6.67426116e-05 6.67426116e-05 6.77236452e-06 -7.40430828e-05 7.40430828e-05 1.39044038e-05 3.59371792e-04 3.47759038e-03 -1.93518153e-05 -1.09979124e-03 1.23944563e-03 6.67426116e-05 3.72486395e-03 -4.21589662e-03 -1.37233714e-04 1.37086540e-05 -1.42204009e-05 -7.04243190e-05 -2.41287214e-04 -3.59371792e-04 -3.47759038e-03 1.93518153e-05 1.23944563e-03 -1.09979124e-03 -6.67426116e-05 -4.21589662e-03 3.72486395e-03 1.37233714e-04 -1.42204009e-05 1.37086540e-05 -7.04243190e-05 2.41287214e-04 1.91511014e-05 1.46824618e-04 -1.94209918e-06 -4.42718575e-05 4.42718575e-05 6.77236452e-06 1.37233714e-04 -1.37233714e-04 2.06050561e-05 1.35463165e-06 -1.35463165e-06 3.73839344e-05 1.01771600e-06 1.11116241e-05 -2.10524692e-05 -3.96066075e-06 4.11041279e-06 7.40430828e-05 1.37086540e-05 -1.42204009e-05 -1.35463165e-06 7.46646087e-06 -8.65011321e-06 -1.11115607e-07 -2.81468585e-06 -1.01771600e-06 -1.11116241e-05 2.10524692e-05 4.11041279e-06 -3.96066075e-06 -7.40430828e-05 -1.42204009e-05 1.37086540e-05 1.35463165e-06 -8.65011321e-06 7.46646087e-06 -1.11115607e-07 2.81468585e-06 -1.99917732e-05 -1.99917732e-05 7.04243190e-05 7.04243190e-05 1.11115607e-07 1.11115607e-07 1.45594780e-05 3.34354066e-05 2.57169624e-04 -4.00502527e-06 -7.77363679e-05 7.77363679e-05 1.39044038e-05 2.41287214e-04 -2.41287214e-04 3.73839344e-05 2.81468585e-06 -2.81468585e-06 6.28234069e-05 -3.08602939e-05 -3.07263521e-04 -1.41324097e-06 1.04923873e-04 -1.04923873e-04 4.86525398e-06 -3.59208493e-04 3.59208493e-04 1.91341235e-05 1.02478251e-06 -1.02478251e-06 3.34006108e-05 -3.07263521e-04 -3.02715668e-03 -1.53820756e-05 1.01852759e-03 -1.01852759e-03 5.29298815e-05 -3.47581608e-03 3.47581608e-03 1.46638312e-04 1.11912408e-05 -1.11912408e-05 2.56788439e-04 -1.41324097e-06 -1.53820756e-05 -4.12162075e-05 5.66366604e-06 -5.66366604e-06 1.44413999e-04 -1.94925310e-05 1.94925310e-05 1.95538614e-06 2.10289351e-05 -2.10289351e-05 4.03239561e-06 -1.04923873e-04 -1.01852759e-03 -5.66366604e-06 3.23331675e-04 -3.63143075e-04 1.95566627e-05 -1.09913471e-03 1.23877805e-03 4.42043373e-05 3.98776946e-06 -4.13755885e-06 1.99902626e-05 7.75974336e-05 1.04923873e-04 1.01852759e-03 5.66366604e-06 -3.63143075e-04 3.23331675e-04 -1.95566627e-05 1.23877805e-03 -1.09913471e-03 -4.42043373e-05 -4.13755885e-06 3.98776946e-06 1.99902626e-05 -7.75974336e-05 4.86525398e-06 5.29298815e-05 1.44413999e-04 -1.95566627e-05 1.95566627e-05 -5.07169119e-04 6.72429653e-05 -6.72429653e-05 -6.82107892e-06 -7.39612442e-05 7.39612442e-05 -1.40030592e-05 3.59208493e-04 3.47581608e-03 1.94925310e-05 -1.09913471e-03 1.23877805e-03 -6.72429653e-05 3.72261408e-03 -4.21360468e-03 -1.36999156e-04 -1.38061213e-05 1.43184607e-05 -7.04182099e-05 -2.40805687e-04 -3.59208493e-04 -3.47581608e-03 -1.94925310e-05 1.23877805e-03 -1.09913471e-03 6.72429653e-05 -4.21360468e-03 3.72261408e-03 1.36999156e-04 1.43184607e-05 -1.38061213e-05 -7.04182099e-05 2.40805687e-04 1.91341235e-05 1.46638312e-04 1.95538614e-06 -4.42043373e-05 4.42043373e-05 -6.82107892e-06 1.36999156e-04 -1.36999156e-04 2.06276741e-05 -1.36318793e-06 1.36318793e-06 3.74312988e-05 -1.02478251e-06 -1.11912408e-05 -2.10289351e-05 3.98776946e-06 -4.13755885e-06 7.39612442e-05 -1.38061213e-05 1.43184607e-05 1.36318793e-06 7.44879307e-06 -8.63228531e-06 1.10952081e-07 2.83293240e-06 1.02478251e-06 1.11912408e-05 2.10289351e-05 -4.13755885e-06 3.98776946e-06 -7.39612442e-05 1.43184607e-05 -1.38061213e-05 -1.36318793e-06 -8.63228531e-06 7.44879307e-06 1.10952081e-07 -2.83293240e-06 -1.99902626e-05 -1.99902626e-05 7.04182099e-05 7.04182099e-05 -1.10952081e-07 -1.10952081e-07 1.45584085e-05 3.34006108e-05 2.56788439e-04 4.03239561e-06 -7.75974336e-05 7.75974336e-05 -1.40030592e-05 2.40805687e-04 -2.40805687e-04 3.74312988e-05 -2.83293240e-06 2.83293240e-06 6.29222274e-05 + 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 3 4 6 7 9 10 11 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 16 17 19 20 22 23 24 13 14 15 16 17 18 19 20 21 22 23 25 + 0 12 24 36 49 62 74 87 100 112 125 138 145 157 169 181 193 206 219 231 244 257 269 282 295 302 314 +1 0 -1 338 + -3.08720237e-05 -3.07390885e-04 1.04971511e-04 1.04971511e-04 -1.40312477e-06 -3.59371792e-04 -3.59371792e-04 4.82934036e-06 -9.57555071e-06 -3.34354066e-05 1.01771600e-06 -1.65853403e-05 1.01771600e-06 -3.07390885e-04 -3.02853625e-03 1.01904693e-03 1.01904693e-03 -1.52691305e-05 -3.47759038e-03 -3.47759038e-03 5.25303803e-05 -7.34123089e-05 -2.57169624e-04 1.11116241e-05 -1.27153849e-04 1.11116241e-05 -1.04971511e-04 -1.01904693e-03 3.23522367e-04 3.63336653e-04 -5.62416573e-06 -1.09979124e-03 -1.23944563e-03 1.94156142e-05 -4.82254533e-06 -7.77363679e-05 3.96066075e-06 -4.83364399e-05 4.11041279e-06 -1.04971511e-04 -1.01904693e-03 3.63336653e-04 3.23522367e-04 -5.62416573e-06 -1.23944563e-03 -1.09979124e-03 1.94156142e-05 -3.94493122e-05 -7.77363679e-05 4.11041279e-06 -2.83446667e-05 3.96066075e-06 -1.40312477e-06 -1.52691305e-05 5.62416573e-06 5.62416573e-06 -4.12471245e-05 -1.93518153e-05 -1.93518153e-05 1.44520599e-04 -9.71049589e-07 -4.00502527e-06 2.10524692e-05 -1.68190722e-06 2.10524692e-05 3.59371792e-04 3.47759038e-03 -1.09979124e-03 -1.23944563e-03 1.93518153e-05 3.72486395e-03 4.21589662e-03 -6.67426116e-05 7.62760775e-06 2.41287214e-04 -1.37086540e-05 1.54060042e-04 -1.42204009e-05 3.59371792e-04 3.47759038e-03 -1.23944563e-03 -1.09979124e-03 1.93518153e-05 4.21589662e-03 3.72486395e-03 -6.67426116e-05 1.29606106e-04 2.41287214e-04 -1.42204009e-05 8.36357232e-05 -1.37086540e-05 4.82934036e-06 5.25303803e-05 -1.94156142e-05 -1.94156142e-05 1.44520599e-04 6.67426116e-05 6.67426116e-05 -5.07533292e-04 3.38618226e-06 1.39044038e-05 -7.40430828e-05 5.86503972e-06 -7.40430828e-05 -9.57555071e-06 -7.34123089e-05 4.82254533e-06 3.94493122e-05 -9.71049589e-07 -7.62760775e-06 -1.29606106e-04 3.38618226e-06 1.60708725e-05 1.86919672e-05 5.81086888e-07 2.61781210e-06 7.73544764e-07 -3.34354066e-05 -2.57169624e-04 7.77363679e-05 7.77363679e-05 -4.00502527e-06 -2.41287214e-04 -2.41287214e-04 1.39044038e-05 1.86919672e-05 6.28234069e-05 2.81468585e-06 3.23754368e-05 2.81468585e-06 -1.01771600e-06 -1.11116241e-05 3.96066075e-06 4.11041279e-06 -2.10524692e-05 -1.37086540e-05 -1.42204009e-05 7.40430828e-05 -5.81086888e-07 -2.81468585e-06 7.46646087e-06 -1.22870323e-06 8.65011321e-06 -1.65853403e-05 -1.27153849e-04 4.83364399e-05 2.83446667e-05 -1.68190722e-06 -1.54060042e-04 -8.36357232e-05 5.86503972e-06 2.61781210e-06 3.23754368e-05 1.22870323e-06 1.90936616e-05 1.11758762e-06 -1.01771600e-06 -1.11116241e-05 4.11041279e-06 3.96066075e-06 -2.10524692e-05 -1.42204009e-05 -1.37086540e-05 7.40430828e-05 -7.73544764e-07 -2.81468585e-06 8.65011321e-06 -1.11758762e-06 7.46646087e-06 -3.08602939e-05 -3.07263521e-04 1.04923873e-04 1.04923873e-04 1.41324097e-06 -3.59208493e-04 -3.59208493e-04 -4.86525398e-06 -9.56706174e-06 -3.34006108e-05 -1.02478251e-06 -1.65706370e-05 -1.02478251e-06 -3.07263521e-04 -3.02715668e-03 1.01852759e-03 1.01852759e-03 1.53820756e-05 -3.47581608e-03 -3.47581608e-03 -5.29298815e-05 -7.33191558e-05 -2.56788439e-04 -1.11912408e-05 -1.26992503e-04 -1.11912408e-05 -1.04923873e-04 -1.01852759e-03 3.23331675e-04 3.63143075e-04 5.66366604e-06 -1.09913471e-03 -1.23877805e-03 -1.95566627e-05 -4.79009339e-06 -7.75974336e-05 -3.98776946e-06 -4.82772103e-05 -4.13755885e-06 -1.04923873e-04 -1.01852759e-03 3.63143075e-04 3.23331675e-04 5.66366604e-06 -1.23877805e-03 -1.09913471e-03 -1.95566627e-05 -3.94142439e-05 -7.75974336e-05 -4.13755885e-06 -2.82869477e-05 -3.98776946e-06 1.41324097e-06 1.53820756e-05 -5.66366604e-06 -5.66366604e-06 -4.12162075e-05 1.94925310e-05 1.94925310e-05 1.44413999e-04 9.77693072e-07 4.03239561e-06 2.10289351e-05 1.69341407e-06 2.10289351e-05 3.59208493e-04 3.47581608e-03 -1.09913471e-03 -1.23877805e-03 -1.94925310e-05 3.72261408e-03 4.21360468e-03 6.72429653e-05 7.51561916e-06 2.40805687e-04 1.38061213e-05 1.53853854e-04 1.43184607e-05 3.59208493e-04 3.47581608e-03 -1.23877805e-03 -1.09913471e-03 -1.94925310e-05 4.21360468e-03 3.72261408e-03 6.72429653e-05 1.29483537e-04 2.40805687e-04 1.43184607e-05 8.34356441e-05 1.38061213e-05 -4.86525398e-06 -5.29298815e-05 1.95566627e-05 1.95566627e-05 1.44413999e-04 -6.72429653e-05 -6.72429653e-05 -5.07169119e-04 -3.41053946e-06 -1.40030592e-05 -7.39612442e-05 -5.90722763e-06 -7.39612442e-05 -9.56706174e-06 -7.33191558e-05 4.79009339e-06 3.94142439e-05 9.77693072e-07 -7.51561916e-06 -1.29483537e-04 -3.41053946e-06 1.60757249e-05 1.87156494e-05 -5.85506643e-07 2.62806909e-06 -7.77681284e-07 -3.34006108e-05 -2.56788439e-04 7.75974336e-05 7.75974336e-05 4.03239561e-06 -2.40805687e-04 -2.40805687e-04 -1.40030592e-05 1.87156494e-05 6.29222274e-05 -2.83293240e-06 3.24164557e-05 -2.83293240e-06 1.02478251e-06 1.11912408e-05 -3.98776946e-06 -4.13755885e-06 -2.10289351e-05 1.38061213e-05 1.43184607e-05 7.39612442e-05 5.85506643e-07 2.83293240e-06 7.44879307e-06 1.23603141e-06 8.63228531e-06 -1.65706370e-05 -1.26992503e-04 4.82772103e-05 2.82869477e-05 1.69341407e-06 -1.53853854e-04 -8.34356441e-05 -5.90722763e-06 2.62806909e-06 3.24164557e-05 -1.23603141e-06 1.91103577e-05 -1.12507933e-06 1.02478251e-06 1.11912408e-05 -4.13755885e-06 -3.98776946e-06 -2.10289351e-05 1.43184607e-05 1.38061213e-05 7.39612442e-05 7.77681284e-07 2.83293240e-06 8.63228531e-06 1.12507933e-06 7.44879307e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 182 195 208 221 234 247 260 273 286 299 312 325 338 +1 0 0 491 + -3.08720237e-05 -3.07390885e-04 1.04971511e-04 1.40312477e-06 -1.04971511e-04 -3.59371792e-04 -4.82934036e-06 3.59371792e-04 -9.57555071e-06 -1.01771600e-06 3.34354066e-05 1.65853403e-05 1.01771600e-06 -3.07390885e-04 -3.02853625e-03 1.01904693e-03 1.52691305e-05 -1.01904693e-03 -3.47759038e-03 -5.25303803e-05 3.47759038e-03 -7.34123089e-05 -1.11116241e-05 2.57169624e-04 1.27153849e-04 1.11116241e-05 -1.04971511e-04 -1.01904693e-03 3.23522367e-04 5.62416573e-06 -3.63336653e-04 -1.09979124e-03 -1.94156142e-05 1.23944563e-03 -4.82254533e-06 -3.96066075e-06 7.77363679e-05 4.83364399e-05 4.11041279e-06 1.40312477e-06 1.52691305e-05 -5.62416573e-06 -4.12471245e-05 5.62416573e-06 1.93518153e-05 1.44520599e-04 -1.93518153e-05 9.71049589e-07 2.10524692e-05 -4.00502527e-06 -1.68190722e-06 -2.10524692e-05 1.04971511e-04 1.01904693e-03 -3.63336653e-04 -5.62416573e-06 3.23522367e-04 1.23944563e-03 1.94156142e-05 -1.09979124e-03 3.94493122e-05 4.11041279e-06 -7.77363679e-05 -2.83446667e-05 -3.96066075e-06 3.59371792e-04 3.47759038e-03 -1.09979124e-03 -1.93518153e-05 1.23944563e-03 3.72486395e-03 6.67426116e-05 -4.21589662e-03 7.62760775e-06 1.37086540e-05 -2.41287214e-04 -1.54060042e-04 -1.42204009e-05 -4.82934036e-06 -5.25303803e-05 1.94156142e-05 1.44520599e-04 -1.94156142e-05 -6.67426116e-05 -5.07533292e-04 6.67426116e-05 -3.38618226e-06 -7.40430828e-05 1.39044038e-05 5.86503972e-06 7.40430828e-05 -3.59371792e-04 -3.47759038e-03 1.23944563e-03 1.93518153e-05 -1.09979124e-03 -4.21589662e-03 -6.67426116e-05 3.72486395e-03 -1.29606106e-04 -1.42204009e-05 2.41287214e-04 8.36357232e-05 1.37086540e-05 -9.57555071e-06 -7.34123089e-05 4.82254533e-06 9.71049589e-07 -3.94493122e-05 -7.62760775e-06 -3.38618226e-06 1.29606106e-04 1.60708725e-05 -5.81086888e-07 -1.86919672e-05 -2.61781210e-06 7.73544764e-07 1.01771600e-06 1.11116241e-05 -3.96066075e-06 -2.10524692e-05 4.11041279e-06 1.37086540e-05 7.40430828e-05 -1.42204009e-05 5.81086888e-07 7.46646087e-06 -2.81468585e-06 -1.22870323e-06 -8.65011321e-06 3.34354066e-05 2.57169624e-04 -7.77363679e-05 -4.00502527e-06 7.77363679e-05 2.41287214e-04 1.39044038e-05 -2.41287214e-04 -1.86919672e-05 2.81468585e-06 6.28234069e-05 3.23754368e-05 -2.81468585e-06 1.65853403e-05 1.27153849e-04 -4.83364399e-05 -1.68190722e-06 2.83446667e-05 1.54060042e-04 5.86503972e-06 -8.36357232e-05 -2.61781210e-06 1.22870323e-06 3.23754368e-05 1.90936616e-05 -1.11758762e-06 -1.01771600e-06 -1.11116241e-05 4.11041279e-06 2.10524692e-05 -3.96066075e-06 -1.42204009e-05 -7.40430828e-05 1.37086540e-05 -7.73544764e-07 -8.65011321e-06 2.81468585e-06 1.11758762e-06 7.46646087e-06 -1.10678938e-02 -4.02101705e-02 1.60075545e-02 1.60075545e-02 -1.60075545e-02 -3.48613875e-02 -3.48613875e-02 3.48613875e-02 2.28290009e-03 -2.28290009e-03 -2.28290009e-03 -3.08602939e-05 -3.07263521e-04 1.04923873e-04 -1.41324097e-06 -1.04923873e-04 -3.59208493e-04 4.86525398e-06 3.59208493e-04 -9.56706174e-06 1.02478251e-06 3.34006108e-05 1.65706370e-05 -1.02478251e-06 -4.01898009e-02 -8.51941384e-04 2.06367891e-02 2.06367891e-02 -2.06367891e-02 1.27621922e-02 1.27621922e-02 -1.27621922e-02 5.88060035e-03 -5.88060035e-03 -5.88060035e-03 -3.07263521e-04 -3.02715668e-03 1.01852759e-03 -1.53820756e-05 -1.01852759e-03 -3.47581608e-03 5.29298815e-05 3.47581608e-03 -7.33191558e-05 1.11912408e-05 2.56788439e-04 1.26992503e-04 -1.11912408e-05 -1.59965704e-02 -2.06513817e-02 9.20684060e-03 1.62457954e-02 -1.62457954e-02 -7.53206233e-03 -1.78560844e-02 1.78560844e-02 -2.69864160e-03 3.56615668e-03 -3.56615668e-03 -5.90018653e-03 -1.04923873e-04 -1.01852759e-03 3.23331675e-04 -5.66366604e-06 -3.63143075e-04 -1.09913471e-03 1.95566627e-05 1.23877805e-03 -4.79009339e-06 3.98776946e-06 7.75974336e-05 4.82772103e-05 -4.13755885e-06 -1.59965704e-02 -2.06513817e-02 1.62457954e-02 9.20684060e-03 -1.62457954e-02 -1.78560844e-02 -7.53206233e-03 1.78560844e-02 1.34932080e-03 3.56615668e-03 -5.90018653e-03 -2.33709218e-03 -3.56615668e-03 -1.41324097e-06 -1.53820756e-05 5.66366604e-06 -4.12162075e-05 -5.66366604e-06 -1.94925310e-05 1.44413999e-04 1.94925310e-05 -9.77693072e-07 2.10289351e-05 4.03239561e-06 1.69341407e-06 -2.10289351e-05 1.59965704e-02 2.06513817e-02 -1.62457954e-02 -1.62457954e-02 9.20684060e-03 1.78560844e-02 1.78560844e-02 -7.53206233e-03 -1.34932080e-03 -5.90018653e-03 3.56615668e-03 -2.33709218e-03 3.56615668e-03 1.04923873e-04 1.01852759e-03 -3.63143075e-04 5.66366604e-06 3.23331675e-04 1.23877805e-03 -1.95566627e-05 -1.09913471e-03 3.94142439e-05 -4.13755885e-06 -7.75974336e-05 -2.82869477e-05 3.98776946e-06 3.48221871e-02 -1.28347617e-02 -7.47144879e-03 -1.78038327e-02 1.78038327e-02 -2.05536306e-02 -2.16538149e-02 2.16538149e-02 7.12031599e-03 -8.44999113e-04 8.44999113e-04 7.00213894e-03 3.59208493e-04 3.47581608e-03 -1.09913471e-03 1.94925310e-05 1.23877805e-03 3.72261408e-03 -6.72429653e-05 -4.21360468e-03 7.51561916e-06 -1.38061213e-05 -2.40805687e-04 -1.53853854e-04 1.43184607e-05 3.48221871e-02 -1.28347617e-02 -1.78038327e-02 -7.47144879e-03 1.78038327e-02 -2.16538149e-02 -2.05536306e-02 2.16538149e-02 -3.56015800e-03 -8.44999113e-04 7.00213894e-03 6.16637453e-03 8.44999113e-04 4.86525398e-06 5.29298815e-05 -1.95566627e-05 1.44413999e-04 1.95566627e-05 6.72429653e-05 -5.07169119e-04 -6.72429653e-05 3.41053946e-06 -7.39612442e-05 -1.40030592e-05 -5.90722763e-06 7.39612442e-05 -3.48221871e-02 1.28347617e-02 1.78038327e-02 1.78038327e-02 -7.47144879e-03 2.16538149e-02 2.16538149e-02 -2.05536306e-02 3.56015800e-03 7.00213894e-03 -8.44999113e-04 6.16637453e-03 -8.44999113e-04 -3.59208493e-04 -3.47581608e-03 1.23877805e-03 -1.94925310e-05 -1.09913471e-03 -4.21360468e-03 6.72429653e-05 3.72261408e-03 -1.29483537e-04 1.43184607e-05 2.40805687e-04 8.34356441e-05 -1.38061213e-05 2.69551701e-03 -1.34775851e-03 1.34775851e-03 -7.11790393e-03 3.55895196e-03 -3.55895196e-03 2.45879056e-03 7.22214326e-04 -7.22214326e-04 1.44442865e-03 -9.56706174e-06 -7.33191558e-05 4.79009339e-06 -9.77693072e-07 -3.94142439e-05 -7.51561916e-06 3.41053946e-06 1.29483537e-04 1.60757249e-05 5.85506643e-07 -1.87156494e-05 -2.62806909e-06 -7.77681284e-07 2.30243503e-03 5.95672459e-03 -3.61086424e-03 -3.61086424e-03 5.94234981e-03 9.20772072e-04 9.20772072e-04 -7.07642391e-03 7.22168763e-04 -4.89935284e-03 6.10850862e-03 1.25083299e-03 6.10850862e-03 -1.02478251e-06 -1.11912408e-05 3.98776946e-06 -2.10289351e-05 -4.13755885e-06 -1.38061213e-05 7.39612442e-05 1.43184607e-05 -5.85506643e-07 7.44879307e-06 2.83293240e-06 1.23603141e-06 -8.63228531e-06 -2.30243503e-03 -5.95672459e-03 3.61086424e-03 5.94234981e-03 -3.61086424e-03 -9.20772072e-04 -7.07642391e-03 9.20772072e-04 -7.22168763e-04 6.10850862e-03 -4.89935284e-03 1.25083299e-03 -6.10850862e-03 3.34006108e-05 2.56788439e-04 -7.75974336e-05 4.03239561e-06 7.75974336e-05 2.40805687e-04 -1.40030592e-05 -2.40805687e-04 -1.87156494e-05 -2.83293240e-06 6.29222274e-05 3.24164557e-05 2.83293240e-06 2.33438621e-03 2.33438621e-03 -6.16428562e-03 -6.16428562e-03 1.25091191e-03 1.25091191e-03 2.45879056e-03 1.65706370e-05 1.26992503e-04 -4.82772103e-05 1.69341407e-06 2.82869477e-05 1.53853854e-04 -5.90722763e-06 -8.34356441e-05 -2.62806909e-06 -1.23603141e-06 3.24164557e-05 1.91103577e-05 1.12507933e-06 -2.30243503e-03 -5.95672459e-03 5.94234981e-03 3.61086424e-03 -3.61086424e-03 -7.07642391e-03 -9.20772072e-04 9.20772072e-04 1.44433753e-03 6.10850862e-03 -6.10850862e-03 -4.89935284e-03 1.02478251e-06 1.11912408e-05 -4.13755885e-06 2.10289351e-05 3.98776946e-06 1.43184607e-05 -7.39612442e-05 -1.38061213e-05 7.77681284e-07 -8.63228531e-06 -2.83293240e-06 -1.12507933e-06 7.44879307e-06 + 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 4 6 7 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 + 0 13 26 39 52 65 78 91 104 117 130 143 156 169 193 217 242 268 294 319 345 371 394 420 446 466 491 diff --git a/tests/03_NAO_multik/59_NO_KP_initHR/result.ref b/tests/03_NAO_multik/59_NO_KP_initHR/result.ref new file mode 100644 index 0000000000..3c21042a34 --- /dev/null +++ b/tests/03_NAO_multik/59_NO_KP_initHR/result.ref @@ -0,0 +1,3 @@ +etotref -252.9538842277285 +etotperatomref -126.4769421139 +totaltimeref 0.28 diff --git a/tests/03_NAO_multik/CASES_CPU.txt b/tests/03_NAO_multik/CASES_CPU.txt index c7efa3ad29..fb4a945505 100644 --- a/tests/03_NAO_multik/CASES_CPU.txt +++ b/tests/03_NAO_multik/CASES_CPU.txt @@ -30,6 +30,7 @@ 30_NO_KP_S2_eminus 31_NO_KP_nupdown0 32_NO_KP_get_wf +32_NO_KP_get_wf_zero_weight 33_NO_KP_OW 34_NO_KP_MU 35_NO_KP_MU_nscf @@ -56,3 +57,4 @@ 56_NO_PK_PU_SO 57_NO_MD_1O 58_NO_MD_2O +59_NO_KP_initHR diff --git a/tests/04_LJ_DP/01_LJ_Anderson/INPUT b/tests/04_FF/01_LJ_Anderson/INPUT similarity index 95% rename from tests/04_LJ_DP/01_LJ_Anderson/INPUT rename to tests/04_FF/01_LJ_Anderson/INPUT index 1a9900435a..2b2d8604c1 100644 --- a/tests/04_LJ_DP/01_LJ_Anderson/INPUT +++ b/tests/04_FF/01_LJ_Anderson/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type nvt md_dt 1 md_tfirst 300 diff --git a/tests/04_LJ_DP/01_LJ_Anderson/README b/tests/04_FF/01_LJ_Anderson/README similarity index 100% rename from tests/04_LJ_DP/01_LJ_Anderson/README rename to tests/04_FF/01_LJ_Anderson/README diff --git a/tests/04_LJ_DP/01_LJ_Anderson/STRU b/tests/04_FF/01_LJ_Anderson/STRU similarity index 100% rename from tests/04_LJ_DP/01_LJ_Anderson/STRU rename to tests/04_FF/01_LJ_Anderson/STRU diff --git a/tests/04_LJ_DP/01_LJ_Anderson/result.ref b/tests/04_FF/01_LJ_Anderson/result.ref similarity index 100% rename from tests/04_LJ_DP/01_LJ_Anderson/result.ref rename to tests/04_FF/01_LJ_Anderson/result.ref diff --git a/tests/04_LJ_DP/02_LJ_Berendsen/INPUT b/tests/04_FF/02_LJ_Berendsen/INPUT similarity index 95% rename from tests/04_LJ_DP/02_LJ_Berendsen/INPUT rename to tests/04_FF/02_LJ_Berendsen/INPUT index c015bbb9b9..87df0c69c2 100644 --- a/tests/04_LJ_DP/02_LJ_Berendsen/INPUT +++ b/tests/04_FF/02_LJ_Berendsen/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type nvt md_dt 1 md_tfirst 300 diff --git a/tests/04_LJ_DP/02_LJ_Berendsen/README b/tests/04_FF/02_LJ_Berendsen/README similarity index 100% rename from tests/04_LJ_DP/02_LJ_Berendsen/README rename to tests/04_FF/02_LJ_Berendsen/README diff --git a/tests/04_LJ_DP/02_LJ_Berendsen/STRU b/tests/04_FF/02_LJ_Berendsen/STRU similarity index 100% rename from tests/04_LJ_DP/02_LJ_Berendsen/STRU rename to tests/04_FF/02_LJ_Berendsen/STRU diff --git a/tests/04_LJ_DP/02_LJ_Berendsen/result.ref b/tests/04_FF/02_LJ_Berendsen/result.ref similarity index 100% rename from tests/04_LJ_DP/02_LJ_Berendsen/result.ref rename to tests/04_FF/02_LJ_Berendsen/result.ref diff --git a/tests/04_LJ_DP/03_LJ_FIRE/INPUT b/tests/04_FF/03_LJ_FIRE/INPUT similarity index 100% rename from tests/04_LJ_DP/03_LJ_FIRE/INPUT rename to tests/04_FF/03_LJ_FIRE/INPUT diff --git a/tests/04_LJ_DP/03_LJ_FIRE/README b/tests/04_FF/03_LJ_FIRE/README similarity index 100% rename from tests/04_LJ_DP/03_LJ_FIRE/README rename to tests/04_FF/03_LJ_FIRE/README diff --git a/tests/04_LJ_DP/03_LJ_FIRE/STRU b/tests/04_FF/03_LJ_FIRE/STRU similarity index 100% rename from tests/04_LJ_DP/03_LJ_FIRE/STRU rename to tests/04_FF/03_LJ_FIRE/STRU diff --git a/tests/04_LJ_DP/03_LJ_FIRE/result.ref b/tests/04_FF/03_LJ_FIRE/result.ref similarity index 100% rename from tests/04_LJ_DP/03_LJ_FIRE/result.ref rename to tests/04_FF/03_LJ_FIRE/result.ref diff --git a/tests/04_LJ_DP/04_LJ_Langevin/INPUT b/tests/04_FF/04_LJ_Langevin/INPUT similarity index 95% rename from tests/04_LJ_DP/04_LJ_Langevin/INPUT rename to tests/04_FF/04_LJ_Langevin/INPUT index c585cacca6..b1359b82a1 100644 --- a/tests/04_LJ_DP/04_LJ_Langevin/INPUT +++ b/tests/04_FF/04_LJ_Langevin/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type langevin md_dt 1 md_tfirst 300 diff --git a/tests/04_LJ_DP/04_LJ_Langevin/README b/tests/04_FF/04_LJ_Langevin/README similarity index 100% rename from tests/04_LJ_DP/04_LJ_Langevin/README rename to tests/04_FF/04_LJ_Langevin/README diff --git a/tests/04_LJ_DP/04_LJ_Langevin/STRU b/tests/04_FF/04_LJ_Langevin/STRU similarity index 100% rename from tests/04_LJ_DP/04_LJ_Langevin/STRU rename to tests/04_FF/04_LJ_Langevin/STRU diff --git a/tests/04_LJ_DP/04_LJ_Langevin/result.ref b/tests/04_FF/04_LJ_Langevin/result.ref similarity index 100% rename from tests/04_LJ_DP/04_LJ_Langevin/result.ref rename to tests/04_FF/04_LJ_Langevin/result.ref diff --git a/tests/04_LJ_DP/05_LJ_MSST/INPUT b/tests/04_FF/05_LJ_MSST/INPUT similarity index 95% rename from tests/04_LJ_DP/05_LJ_MSST/INPUT rename to tests/04_FF/05_LJ_MSST/INPUT index 233aac73f8..a8402a55f7 100644 --- a/tests/04_LJ_DP/05_LJ_MSST/INPUT +++ b/tests/04_FF/05_LJ_MSST/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type msst md_dt 1 md_tfirst 300 diff --git a/tests/04_LJ_DP/05_LJ_MSST/README b/tests/04_FF/05_LJ_MSST/README similarity index 100% rename from tests/04_LJ_DP/05_LJ_MSST/README rename to tests/04_FF/05_LJ_MSST/README diff --git a/tests/04_LJ_DP/05_LJ_MSST/STRU b/tests/04_FF/05_LJ_MSST/STRU similarity index 100% rename from tests/04_LJ_DP/05_LJ_MSST/STRU rename to tests/04_FF/05_LJ_MSST/STRU diff --git a/tests/04_LJ_DP/05_LJ_MSST/result.ref b/tests/04_FF/05_LJ_MSST/result.ref similarity index 100% rename from tests/04_LJ_DP/05_LJ_MSST/result.ref rename to tests/04_FF/05_LJ_MSST/result.ref diff --git a/tests/04_LJ_DP/06_LJ_NHC_NVT/INPUT b/tests/04_FF/06_LJ_NHC_NVT/INPUT similarity index 95% rename from tests/04_LJ_DP/06_LJ_NHC_NVT/INPUT rename to tests/04_FF/06_LJ_NHC_NVT/INPUT index 435d4d71f5..2ac541fca8 100644 --- a/tests/04_LJ_DP/06_LJ_NHC_NVT/INPUT +++ b/tests/04_FF/06_LJ_NHC_NVT/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type nvt md_dt 1 md_tfirst 300 diff --git a/tests/04_LJ_DP/06_LJ_NHC_NVT/README b/tests/04_FF/06_LJ_NHC_NVT/README similarity index 100% rename from tests/04_LJ_DP/06_LJ_NHC_NVT/README rename to tests/04_FF/06_LJ_NHC_NVT/README diff --git a/tests/04_LJ_DP/06_LJ_NHC_NVT/STRU b/tests/04_FF/06_LJ_NHC_NVT/STRU similarity index 100% rename from tests/04_LJ_DP/06_LJ_NHC_NVT/STRU rename to tests/04_FF/06_LJ_NHC_NVT/STRU diff --git a/tests/04_LJ_DP/06_LJ_NHC_NVT/result.ref b/tests/04_FF/06_LJ_NHC_NVT/result.ref similarity index 100% rename from tests/04_LJ_DP/06_LJ_NHC_NVT/result.ref rename to tests/04_FF/06_LJ_NHC_NVT/result.ref diff --git a/tests/04_LJ_DP/07_LJ_NPT_aniso_none/INPUT b/tests/04_FF/07_LJ_NPT_aniso_none/INPUT similarity index 96% rename from tests/04_LJ_DP/07_LJ_NPT_aniso_none/INPUT rename to tests/04_FF/07_LJ_NPT_aniso_none/INPUT index 427d6c30ca..315f0d335a 100644 --- a/tests/04_LJ_DP/07_LJ_NPT_aniso_none/INPUT +++ b/tests/04_FF/07_LJ_NPT_aniso_none/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type npt md_dt 1 md_tchain 3 diff --git a/tests/04_LJ_DP/07_LJ_NPT_aniso_none/README b/tests/04_FF/07_LJ_NPT_aniso_none/README similarity index 100% rename from tests/04_LJ_DP/07_LJ_NPT_aniso_none/README rename to tests/04_FF/07_LJ_NPT_aniso_none/README diff --git a/tests/04_LJ_DP/07_LJ_NPT_aniso_none/STRU b/tests/04_FF/07_LJ_NPT_aniso_none/STRU similarity index 100% rename from tests/04_LJ_DP/07_LJ_NPT_aniso_none/STRU rename to tests/04_FF/07_LJ_NPT_aniso_none/STRU diff --git a/tests/04_LJ_DP/07_LJ_NPT_aniso_none/result.ref b/tests/04_FF/07_LJ_NPT_aniso_none/result.ref similarity index 100% rename from tests/04_LJ_DP/07_LJ_NPT_aniso_none/result.ref rename to tests/04_FF/07_LJ_NPT_aniso_none/result.ref diff --git a/tests/04_LJ_DP/08_LJ_NPT_aniso_xy/INPUT b/tests/04_FF/08_LJ_NPT_aniso_xy/INPUT similarity index 96% rename from tests/04_LJ_DP/08_LJ_NPT_aniso_xy/INPUT rename to tests/04_FF/08_LJ_NPT_aniso_xy/INPUT index b5e4b05980..246b0f6979 100644 --- a/tests/04_LJ_DP/08_LJ_NPT_aniso_xy/INPUT +++ b/tests/04_FF/08_LJ_NPT_aniso_xy/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type npt md_dt 1 md_tchain 3 diff --git a/tests/04_LJ_DP/08_LJ_NPT_aniso_xy/README b/tests/04_FF/08_LJ_NPT_aniso_xy/README similarity index 100% rename from tests/04_LJ_DP/08_LJ_NPT_aniso_xy/README rename to tests/04_FF/08_LJ_NPT_aniso_xy/README diff --git a/tests/04_LJ_DP/08_LJ_NPT_aniso_xy/STRU b/tests/04_FF/08_LJ_NPT_aniso_xy/STRU similarity index 100% rename from tests/04_LJ_DP/08_LJ_NPT_aniso_xy/STRU rename to tests/04_FF/08_LJ_NPT_aniso_xy/STRU diff --git a/tests/04_LJ_DP/08_LJ_NPT_aniso_xy/result.ref b/tests/04_FF/08_LJ_NPT_aniso_xy/result.ref similarity index 100% rename from tests/04_LJ_DP/08_LJ_NPT_aniso_xy/result.ref rename to tests/04_FF/08_LJ_NPT_aniso_xy/result.ref diff --git a/tests/04_LJ_DP/09_LJ_NPT_aniso_xz/INPUT b/tests/04_FF/09_LJ_NPT_aniso_xz/INPUT similarity index 96% rename from tests/04_LJ_DP/09_LJ_NPT_aniso_xz/INPUT rename to tests/04_FF/09_LJ_NPT_aniso_xz/INPUT index 90105325a5..33d21ffbe9 100644 --- a/tests/04_LJ_DP/09_LJ_NPT_aniso_xz/INPUT +++ b/tests/04_FF/09_LJ_NPT_aniso_xz/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type npt md_dt 1 md_tchain 3 diff --git a/tests/04_LJ_DP/09_LJ_NPT_aniso_xz/README b/tests/04_FF/09_LJ_NPT_aniso_xz/README similarity index 100% rename from tests/04_LJ_DP/09_LJ_NPT_aniso_xz/README rename to tests/04_FF/09_LJ_NPT_aniso_xz/README diff --git a/tests/04_LJ_DP/09_LJ_NPT_aniso_xz/STRU b/tests/04_FF/09_LJ_NPT_aniso_xz/STRU similarity index 100% rename from tests/04_LJ_DP/09_LJ_NPT_aniso_xz/STRU rename to tests/04_FF/09_LJ_NPT_aniso_xz/STRU diff --git a/tests/04_LJ_DP/09_LJ_NPT_aniso_xz/result.ref b/tests/04_FF/09_LJ_NPT_aniso_xz/result.ref similarity index 100% rename from tests/04_LJ_DP/09_LJ_NPT_aniso_xz/result.ref rename to tests/04_FF/09_LJ_NPT_aniso_xz/result.ref diff --git a/tests/04_FF/101_NEP_HfO2/INPUT b/tests/04_FF/101_NEP_HfO2/INPUT new file mode 100644 index 0000000000..9265e9d3a2 --- /dev/null +++ b/tests/04_FF/101_NEP_HfO2/INPUT @@ -0,0 +1,21 @@ +INPUT_PARAMETERS +#Parameters (General) +suffix autotest +calculation md +pseudo_dir ../../PP_ORB + +esolver_type nep +pot_file ../../PP_ORB/nep_hfo2.txt + +cal_force 1 +cal_stress 1 + +md_nstep 4 +md_type npt +md_dt 1 +md_tfirst 300 +md_thermostat nhc +md_dumpfreq 1 +md_seed 1 + +init_vel 1 diff --git a/tests/04_FF/101_NEP_HfO2/README b/tests/04_FF/101_NEP_HfO2/README new file mode 100644 index 0000000000..59471a3d63 --- /dev/null +++ b/tests/04_FF/101_NEP_HfO2/README @@ -0,0 +1 @@ +This test is for NEP potential in source_esolver diff --git a/tests/04_FF/101_NEP_HfO2/STRU b/tests/04_FF/101_NEP_HfO2/STRU new file mode 100644 index 0000000000..392b39a9de --- /dev/null +++ b/tests/04_FF/101_NEP_HfO2/STRU @@ -0,0 +1,46 @@ +ATOMIC_SPECIES +Hf 178.4900 Hf_ONCV_PBE-1.0.upf auto +O 15.9990 O_ONCV_PBE-1.0.upf auto + +LATTICE_CONSTANT +1.8897261258 + +LATTICE_VECTORS + 5.1413473800 0.0000000000 0.0000000000 + -0.0000000000 5.2590020200 0.0000000000 + 0.0000000000 0.0000000000 10.0937313500 + +ATOMIC_POSITIONS +Cartesian + +Hf #label +0.0000 #magnetism +8 #number of atoms + 4.9321554152 1.8022228111 1.3940670392 m 1 1 1 v 0.0000268564 -0.0000166075 0.0000474562 + 2.7798656548 4.4317238211 1.3940670392 m 1 1 1 v 0.0000000200 -0.0000374927 0.0000788386 + 2.3614817252 1.8022228111 3.6527986358 m 1 1 1 v -0.0001343687 0.0000268300 -0.0000099511 + 0.2091919648 4.4317238211 3.6527986358 m 1 1 1 v 0.0000934051 -0.0001263072 0.0000256511 + 4.9321554152 0.8272781989 6.4409327142 m 1 1 1 v 0.0000128512 0.0000820486 -0.0000459705 + 2.7798656548 3.4567792089 6.4409327142 m 1 1 1 v -0.0000189326 -0.0000173409 0.0000299337 + 2.3614817252 0.8272781989 8.6996643108 m 1 1 1 v -0.0000999091 -0.0000152428 0.0000155321 + 0.2091919648 3.4567792089 8.6996643108 m 1 1 1 v 0.0000343673 0.0000511675 -0.0000742881 + +O #label +0.0000 #magnetism +16 #number of atoms + 4.2746040259 3.5082243969 0.3396171169 m 1 1 1 v 0.0003865583 0.0000777522 0.0000116095 + 3.4374170441 0.8787233869 0.3396171169 m 1 1 1 v 0.0000534470 -0.0001395648 0.0001993588 + 1.2729952463 0.4601737732 2.2581040693 m 1 1 1 v -0.0000071474 0.0002991102 -0.0000305321 + 1.2976784437 3.0896747832 2.2581040693 m 1 1 1 v 0.0001336825 -0.0002496113 -0.0001592126 + 3.8436689363 0.4601737732 2.7887616057 m 1 1 1 v -0.0000261747 -0.0001610814 -0.0001891739 + 3.8683521337 3.0896747832 2.7887616057 m 1 1 1 v 0.0000706455 0.0001527269 -0.0000451254 + 0.8667433541 0.8787233869 4.7072485581 m 1 1 1 v -0.0000497111 -0.0001335833 -0.0003114608 + 1.7039303359 3.5082243969 4.7072485581 m 1 1 1 v 0.0000187769 -0.0001188673 0.0002670967 + 3.4374170441 1.7507776231 5.3864827919 m 1 1 1 v -0.0000068889 0.0003990208 0.0000201697 + 4.2746040259 4.3802786331 5.3864827919 m 1 1 1 v -0.0001434703 -0.0000170121 0.0001518021 + 1.2729952463 2.1693272368 7.3049697443 m 1 1 1 v 0.0000242375 0.0000341991 -0.0001566654 + 1.2976784437 4.7988282468 7.3049697443 m 1 1 1 v 0.0001509503 0.0002535810 -0.0002483829 + 3.8436689363 2.1693272368 7.8356272807 m 1 1 1 v 0.0000596892 -0.0001679403 -0.0000174792 + 3.8683521337 4.7988282468 7.8356272807 m 1 1 1 v 0.0001558498 0.0001883150 -0.0000826476 + 0.8667433541 1.7507776231 9.7541142331 m 1 1 1 v -0.0000825808 0.0000699638 -0.0001914502 + 1.7039303359 4.3802786331 9.7541142331 m 1 1 1 v 0.0002183493 0.0001036635 0.0000323666 diff --git a/tests/04_FF/101_NEP_HfO2/result.ref b/tests/04_FF/101_NEP_HfO2/result.ref new file mode 100644 index 0000000000..65d0d35b78 --- /dev/null +++ b/tests/04_FF/101_NEP_HfO2/result.ref @@ -0,0 +1,5 @@ +etotref -243.9772424704458 +etotperatomref -10.1657184363 +totalforceref 11.696847 +totalstressref 186.519888 +totaltimeref 0.02 diff --git a/tests/04_LJ_DP/10_LJ_NPT_aniso_yz/INPUT b/tests/04_FF/10_LJ_NPT_aniso_yz/INPUT similarity index 96% rename from tests/04_LJ_DP/10_LJ_NPT_aniso_yz/INPUT rename to tests/04_FF/10_LJ_NPT_aniso_yz/INPUT index 64f323152c..df5f47d646 100644 --- a/tests/04_LJ_DP/10_LJ_NPT_aniso_yz/INPUT +++ b/tests/04_FF/10_LJ_NPT_aniso_yz/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type npt md_dt 1 md_tchain 3 diff --git a/tests/04_LJ_DP/10_LJ_NPT_aniso_yz/README b/tests/04_FF/10_LJ_NPT_aniso_yz/README similarity index 100% rename from tests/04_LJ_DP/10_LJ_NPT_aniso_yz/README rename to tests/04_FF/10_LJ_NPT_aniso_yz/README diff --git a/tests/04_LJ_DP/10_LJ_NPT_aniso_yz/STRU b/tests/04_FF/10_LJ_NPT_aniso_yz/STRU similarity index 100% rename from tests/04_LJ_DP/10_LJ_NPT_aniso_yz/STRU rename to tests/04_FF/10_LJ_NPT_aniso_yz/STRU diff --git a/tests/04_LJ_DP/10_LJ_NPT_aniso_yz/result.ref b/tests/04_FF/10_LJ_NPT_aniso_yz/result.ref similarity index 100% rename from tests/04_LJ_DP/10_LJ_NPT_aniso_yz/result.ref rename to tests/04_FF/10_LJ_NPT_aniso_yz/result.ref diff --git a/tests/04_LJ_DP/11_LJ_NPT_iso/INPUT b/tests/04_FF/11_LJ_NPT_iso/INPUT similarity index 96% rename from tests/04_LJ_DP/11_LJ_NPT_iso/INPUT rename to tests/04_FF/11_LJ_NPT_iso/INPUT index ec888fcd77..aad17dcbf7 100644 --- a/tests/04_LJ_DP/11_LJ_NPT_iso/INPUT +++ b/tests/04_FF/11_LJ_NPT_iso/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type npt md_dt 1 md_tchain 3 diff --git a/tests/04_LJ_DP/11_LJ_NPT_iso/README b/tests/04_FF/11_LJ_NPT_iso/README similarity index 100% rename from tests/04_LJ_DP/11_LJ_NPT_iso/README rename to tests/04_FF/11_LJ_NPT_iso/README diff --git a/tests/04_LJ_DP/11_LJ_NPT_iso/STRU b/tests/04_FF/11_LJ_NPT_iso/STRU similarity index 100% rename from tests/04_LJ_DP/11_LJ_NPT_iso/STRU rename to tests/04_FF/11_LJ_NPT_iso/STRU diff --git a/tests/04_LJ_DP/11_LJ_NPT_iso/result.ref b/tests/04_FF/11_LJ_NPT_iso/result.ref similarity index 100% rename from tests/04_LJ_DP/11_LJ_NPT_iso/result.ref rename to tests/04_FF/11_LJ_NPT_iso/result.ref diff --git a/tests/04_LJ_DP/12_LJ_NPT_tri/INPUT b/tests/04_FF/12_LJ_NPT_tri/INPUT similarity index 96% rename from tests/04_LJ_DP/12_LJ_NPT_tri/INPUT rename to tests/04_FF/12_LJ_NPT_tri/INPUT index 33c05e6132..566b964a6e 100644 --- a/tests/04_LJ_DP/12_LJ_NPT_tri/INPUT +++ b/tests/04_FF/12_LJ_NPT_tri/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type npt md_dt 1 md_tchain 3 diff --git a/tests/04_LJ_DP/12_LJ_NPT_tri/README b/tests/04_FF/12_LJ_NPT_tri/README similarity index 100% rename from tests/04_LJ_DP/12_LJ_NPT_tri/README rename to tests/04_FF/12_LJ_NPT_tri/README diff --git a/tests/04_LJ_DP/12_LJ_NPT_tri/STRU b/tests/04_FF/12_LJ_NPT_tri/STRU similarity index 100% rename from tests/04_LJ_DP/12_LJ_NPT_tri/STRU rename to tests/04_FF/12_LJ_NPT_tri/STRU diff --git a/tests/04_LJ_DP/12_LJ_NPT_tri/result.ref b/tests/04_FF/12_LJ_NPT_tri/result.ref similarity index 100% rename from tests/04_LJ_DP/12_LJ_NPT_tri/result.ref rename to tests/04_FF/12_LJ_NPT_tri/result.ref diff --git a/tests/04_LJ_DP/13_LJ_NVE/INPUT b/tests/04_FF/13_LJ_NVE/INPUT similarity index 94% rename from tests/04_LJ_DP/13_LJ_NVE/INPUT rename to tests/04_FF/13_LJ_NVE/INPUT index 9673def0f2..0f2e033e63 100644 --- a/tests/04_LJ_DP/13_LJ_NVE/INPUT +++ b/tests/04_FF/13_LJ_NVE/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 160 +md_nstep 161 md_type nve md_dt 1 md_tfirst 300 diff --git a/tests/04_LJ_DP/13_LJ_NVE/README b/tests/04_FF/13_LJ_NVE/README similarity index 100% rename from tests/04_LJ_DP/13_LJ_NVE/README rename to tests/04_FF/13_LJ_NVE/README diff --git a/tests/04_LJ_DP/13_LJ_NVE/Restart_md.dat b/tests/04_FF/13_LJ_NVE/Restart_md.txt similarity index 100% rename from tests/04_LJ_DP/13_LJ_NVE/Restart_md.dat rename to tests/04_FF/13_LJ_NVE/Restart_md.txt diff --git a/tests/04_LJ_DP/13_LJ_NVE/STRU_MD_155 b/tests/04_FF/13_LJ_NVE/STRU_MD_155 similarity index 100% rename from tests/04_LJ_DP/13_LJ_NVE/STRU_MD_155 rename to tests/04_FF/13_LJ_NVE/STRU_MD_155 diff --git a/tests/04_LJ_DP/13_LJ_NVE/result.ref b/tests/04_FF/13_LJ_NVE/result.ref similarity index 100% rename from tests/04_LJ_DP/13_LJ_NVE/result.ref rename to tests/04_FF/13_LJ_NVE/result.ref diff --git a/tests/04_LJ_DP/14_LJ_rescale_v/INPUT b/tests/04_FF/14_LJ_rescale_v/INPUT similarity index 95% rename from tests/04_LJ_DP/14_LJ_rescale_v/INPUT rename to tests/04_FF/14_LJ_rescale_v/INPUT index 41bcb07bcd..54cfab3c71 100644 --- a/tests/04_LJ_DP/14_LJ_rescale_v/INPUT +++ b/tests/04_FF/14_LJ_rescale_v/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 14 +md_nstep 15 md_type nvt md_dt 1 md_tfirst 300 diff --git a/tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/Restart_md.dat b/tests/04_FF/14_LJ_rescale_v/OUT.autotest/Restart_md.txt similarity index 100% rename from tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/Restart_md.dat rename to tests/04_FF/14_LJ_rescale_v/OUT.autotest/Restart_md.txt diff --git a/tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 b/tests/04_FF/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 similarity index 100% rename from tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 rename to tests/04_FF/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 diff --git a/tests/04_LJ_DP/14_LJ_rescale_v/README b/tests/04_FF/14_LJ_rescale_v/README similarity index 100% rename from tests/04_LJ_DP/14_LJ_rescale_v/README rename to tests/04_FF/14_LJ_rescale_v/README diff --git a/tests/04_LJ_DP/14_LJ_rescale_v/result.ref b/tests/04_FF/14_LJ_rescale_v/result.ref similarity index 100% rename from tests/04_LJ_DP/14_LJ_rescale_v/result.ref rename to tests/04_FF/14_LJ_rescale_v/result.ref diff --git a/tests/04_LJ_DP/15_LJ_rescaling/INPUT b/tests/04_FF/15_LJ_rescaling/INPUT similarity index 95% rename from tests/04_LJ_DP/15_LJ_rescaling/INPUT rename to tests/04_FF/15_LJ_rescaling/INPUT index 714eaf3434..0a83481e79 100644 --- a/tests/04_LJ_DP/15_LJ_rescaling/INPUT +++ b/tests/04_FF/15_LJ_rescaling/INPUT @@ -15,7 +15,7 @@ cal_force 1 cal_stress 1 #Parameters (MD) -md_nstep 5 +md_nstep 6 md_type nvt md_dt 1 md_tfirst 300 diff --git a/tests/04_LJ_DP/15_LJ_rescaling/README b/tests/04_FF/15_LJ_rescaling/README similarity index 100% rename from tests/04_LJ_DP/15_LJ_rescaling/README rename to tests/04_FF/15_LJ_rescaling/README diff --git a/tests/04_LJ_DP/15_LJ_rescaling/STRU b/tests/04_FF/15_LJ_rescaling/STRU similarity index 100% rename from tests/04_LJ_DP/15_LJ_rescaling/STRU rename to tests/04_FF/15_LJ_rescaling/STRU diff --git a/tests/04_LJ_DP/15_LJ_rescaling/result.ref b/tests/04_FF/15_LJ_rescaling/result.ref similarity index 100% rename from tests/04_LJ_DP/15_LJ_rescaling/result.ref rename to tests/04_FF/15_LJ_rescaling/result.ref diff --git a/tests/04_LJ_DP/16_LJ_RE_rule1/INPUT b/tests/04_FF/16_LJ_RE_rule1/INPUT similarity index 100% rename from tests/04_LJ_DP/16_LJ_RE_rule1/INPUT rename to tests/04_FF/16_LJ_RE_rule1/INPUT diff --git a/tests/04_LJ_DP/16_LJ_RE_rule1/README b/tests/04_FF/16_LJ_RE_rule1/README similarity index 100% rename from tests/04_LJ_DP/16_LJ_RE_rule1/README rename to tests/04_FF/16_LJ_RE_rule1/README diff --git a/tests/04_LJ_DP/16_LJ_RE_rule1/STRU b/tests/04_FF/16_LJ_RE_rule1/STRU similarity index 100% rename from tests/04_LJ_DP/16_LJ_RE_rule1/STRU rename to tests/04_FF/16_LJ_RE_rule1/STRU diff --git a/tests/04_LJ_DP/16_LJ_RE_rule1/result.ref b/tests/04_FF/16_LJ_RE_rule1/result.ref similarity index 100% rename from tests/04_LJ_DP/16_LJ_RE_rule1/result.ref rename to tests/04_FF/16_LJ_RE_rule1/result.ref diff --git a/tests/04_LJ_DP/17_LJ_CR_multi_ele/INPUT b/tests/04_FF/17_LJ_CR_multi_ele/INPUT similarity index 100% rename from tests/04_LJ_DP/17_LJ_CR_multi_ele/INPUT rename to tests/04_FF/17_LJ_CR_multi_ele/INPUT diff --git a/tests/04_LJ_DP/17_LJ_CR_multi_ele/README b/tests/04_FF/17_LJ_CR_multi_ele/README similarity index 100% rename from tests/04_LJ_DP/17_LJ_CR_multi_ele/README rename to tests/04_FF/17_LJ_CR_multi_ele/README diff --git a/tests/04_LJ_DP/17_LJ_CR_multi_ele/STRU b/tests/04_FF/17_LJ_CR_multi_ele/STRU similarity index 100% rename from tests/04_LJ_DP/17_LJ_CR_multi_ele/STRU rename to tests/04_FF/17_LJ_CR_multi_ele/STRU diff --git a/tests/04_LJ_DP/17_LJ_CR_multi_ele/result.ref b/tests/04_FF/17_LJ_CR_multi_ele/result.ref similarity index 100% rename from tests/04_LJ_DP/17_LJ_CR_multi_ele/result.ref rename to tests/04_FF/17_LJ_CR_multi_ele/result.ref diff --git a/tests/04_LJ_DP/18_LJ_single_rule2/INPUT b/tests/04_FF/18_LJ_single_rule2/INPUT similarity index 100% rename from tests/04_LJ_DP/18_LJ_single_rule2/INPUT rename to tests/04_FF/18_LJ_single_rule2/INPUT diff --git a/tests/04_LJ_DP/18_LJ_single_rule2/README b/tests/04_FF/18_LJ_single_rule2/README similarity index 100% rename from tests/04_LJ_DP/18_LJ_single_rule2/README rename to tests/04_FF/18_LJ_single_rule2/README diff --git a/tests/04_LJ_DP/18_LJ_single_rule2/STRU b/tests/04_FF/18_LJ_single_rule2/STRU similarity index 100% rename from tests/04_LJ_DP/18_LJ_single_rule2/STRU rename to tests/04_FF/18_LJ_single_rule2/STRU diff --git a/tests/04_LJ_DP/18_LJ_single_rule2/result.ref b/tests/04_FF/18_LJ_single_rule2/result.ref similarity index 100% rename from tests/04_LJ_DP/18_LJ_single_rule2/result.ref rename to tests/04_FF/18_LJ_single_rule2/result.ref diff --git a/tests/04_LJ_DP/19_LJ_RE_stop/EXIT b/tests/04_FF/19_LJ_RE_stop/EXIT similarity index 100% rename from tests/04_LJ_DP/19_LJ_RE_stop/EXIT rename to tests/04_FF/19_LJ_RE_stop/EXIT diff --git a/tests/04_LJ_DP/19_LJ_RE_stop/INPUT b/tests/04_FF/19_LJ_RE_stop/INPUT similarity index 100% rename from tests/04_LJ_DP/19_LJ_RE_stop/INPUT rename to tests/04_FF/19_LJ_RE_stop/INPUT diff --git a/tests/04_LJ_DP/19_LJ_RE_stop/README b/tests/04_FF/19_LJ_RE_stop/README similarity index 100% rename from tests/04_LJ_DP/19_LJ_RE_stop/README rename to tests/04_FF/19_LJ_RE_stop/README diff --git a/tests/04_LJ_DP/19_LJ_RE_stop/STRU b/tests/04_FF/19_LJ_RE_stop/STRU similarity index 100% rename from tests/04_LJ_DP/19_LJ_RE_stop/STRU rename to tests/04_FF/19_LJ_RE_stop/STRU diff --git a/tests/04_LJ_DP/19_LJ_RE_stop/result.ref b/tests/04_FF/19_LJ_RE_stop/result.ref similarity index 100% rename from tests/04_LJ_DP/19_LJ_RE_stop/result.ref rename to tests/04_FF/19_LJ_RE_stop/result.ref diff --git a/tests/04_LJ_DP/20_LJ_dry_run/INPUT b/tests/04_FF/20_LJ_dry_run/INPUT similarity index 100% rename from tests/04_LJ_DP/20_LJ_dry_run/INPUT rename to tests/04_FF/20_LJ_dry_run/INPUT diff --git a/tests/04_LJ_DP/20_LJ_dry_run/README b/tests/04_FF/20_LJ_dry_run/README similarity index 100% rename from tests/04_LJ_DP/20_LJ_dry_run/README rename to tests/04_FF/20_LJ_dry_run/README diff --git a/tests/04_LJ_DP/20_LJ_dry_run/STRU b/tests/04_FF/20_LJ_dry_run/STRU similarity index 100% rename from tests/04_LJ_DP/20_LJ_dry_run/STRU rename to tests/04_FF/20_LJ_dry_run/STRU diff --git a/tests/04_LJ_DP/20_LJ_dry_run/result.ref b/tests/04_FF/20_LJ_dry_run/result.ref similarity index 100% rename from tests/04_LJ_DP/20_LJ_dry_run/result.ref rename to tests/04_FF/20_LJ_dry_run/result.ref diff --git a/tests/04_LJ_DP/50_DP_Al/INPUT b/tests/04_FF/50_DP_Al/INPUT similarity index 95% rename from tests/04_LJ_DP/50_DP_Al/INPUT rename to tests/04_FF/50_DP_Al/INPUT index 5a0498ea07..e67b738de4 100644 --- a/tests/04_LJ_DP/50_DP_Al/INPUT +++ b/tests/04_FF/50_DP_Al/INPUT @@ -10,7 +10,7 @@ pot_file ../../PP_ORB/Al-SCAN.pb cal_force 1 cal_stress 1 -md_nstep 3 +md_nstep 4 md_type msst md_dt 1 md_tfirst 200 diff --git a/tests/04_LJ_DP/50_DP_Al/README b/tests/04_FF/50_DP_Al/README similarity index 100% rename from tests/04_LJ_DP/50_DP_Al/README rename to tests/04_FF/50_DP_Al/README diff --git a/tests/04_LJ_DP/50_DP_Al/STRU b/tests/04_FF/50_DP_Al/STRU similarity index 100% rename from tests/04_LJ_DP/50_DP_Al/STRU rename to tests/04_FF/50_DP_Al/STRU diff --git a/tests/04_LJ_DP/50_DP_Al/result.ref b/tests/04_FF/50_DP_Al/result.ref similarity index 100% rename from tests/04_LJ_DP/50_DP_Al/result.ref rename to tests/04_FF/50_DP_Al/result.ref diff --git a/tests/04_LJ_DP/CASES_CPU.txt b/tests/04_FF/CASES_CPU.txt similarity index 95% rename from tests/04_LJ_DP/CASES_CPU.txt rename to tests/04_FF/CASES_CPU.txt index 8d21e87079..886fac4f08 100644 --- a/tests/04_LJ_DP/CASES_CPU.txt +++ b/tests/04_FF/CASES_CPU.txt @@ -19,3 +19,4 @@ 19_LJ_RE_stop 20_LJ_dry_run #50_DP_Al +#101_NEP_HfO2 diff --git a/tests/04_LJ_DP/CMakeLists.txt b/tests/04_FF/CMakeLists.txt similarity index 62% rename from tests/04_LJ_DP/CMakeLists.txt rename to tests/04_FF/CMakeLists.txt index a047d2b969..e40cc5079a 100644 --- a/tests/04_LJ_DP/CMakeLists.txt +++ b/tests/04_FF/CMakeLists.txt @@ -3,14 +3,14 @@ enable_testing() find_program(BASH bash) if(ENABLE_ASAN) add_test( - NAME 04_LJ_DP_test_with_asan + NAME 04_FF_test_with_asan COMMAND ${BASH} ../integrate/Autotest.sh -a ${ABACUS_BIN_PATH} -n 2 -s true - WORKING_DIRECTORY ${ABACUS_TEST_DIR}/04_LJ_DP + WORKING_DIRECTORY ${ABACUS_TEST_DIR}/04_FF ) else() add_test( - NAME 04_LJ_DP + NAME 04_FF COMMAND ${BASH} ../integrate/Autotest.sh -a ${ABACUS_BIN_PATH} -n 4 - WORKING_DIRECTORY ${ABACUS_TEST_DIR}/04_LJ_DP + WORKING_DIRECTORY ${ABACUS_TEST_DIR}/04_FF ) endif() diff --git a/tests/05_rtTDDFT/01_NO_KP_ocp_TDDFT/INPUT b/tests/05_rtTDDFT/01_NO_KP_ocp_TDDFT/INPUT index 673a3b581c..fdd81a988a 100644 --- a/tests/05_rtTDDFT/01_NO_KP_ocp_TDDFT/INPUT +++ b/tests/05_rtTDDFT/01_NO_KP_ocp_TDDFT/INPUT @@ -15,8 +15,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -32,4 +32,4 @@ md_type nve md_dt 0.05 init_vel 1 ocp 1 -ocp_set 1*1 1*1 3*0 +ocp_set 1*1 1*1 3*0 diff --git a/tests/05_rtTDDFT/02_NO_CH_OW_TDDFT/INPUT b/tests/05_rtTDDFT/02_NO_CH_OW_TDDFT/INPUT index 63e34a60ee..5fee8bc514 100644 --- a/tests/05_rtTDDFT/02_NO_CH_OW_TDDFT/INPUT +++ b/tests/05_rtTDDFT/02_NO_CH_OW_TDDFT/INPUT @@ -18,8 +18,8 @@ smearing_sigma 0.02 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -31,8 +31,8 @@ stress_thr 1e-6 cal_force 1 force_thr_ev 1e-3 -md_type nve -md_dt 0.01 -init_vel 1 -out_wfc_lcao 1 -out_app_flag 0 +md_type nve +md_dt 0.01 +init_vel 1 +out_wfc_lcao 1 +out_app_flag 0 diff --git a/tests/05_rtTDDFT/02_NO_CH_OW_TDDFT/wfs1k1g3_nao_mod.txt.ref b/tests/05_rtTDDFT/02_NO_CH_OW_TDDFT/wfk1g3_nao_mod.txt.ref similarity index 100% rename from tests/05_rtTDDFT/02_NO_CH_OW_TDDFT/wfs1k1g3_nao_mod.txt.ref rename to tests/05_rtTDDFT/02_NO_CH_OW_TDDFT/wfk1g3_nao_mod.txt.ref diff --git a/tests/05_rtTDDFT/03_NO_CO_TDDFT/INPUT b/tests/05_rtTDDFT/03_NO_CO_TDDFT/INPUT index 22cbe3b7dc..19e4576b82 100644 --- a/tests/05_rtTDDFT/03_NO_CO_TDDFT/INPUT +++ b/tests/05_rtTDDFT/03_NO_CO_TDDFT/INPUT @@ -15,8 +15,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/05_rtTDDFT/04_NO_CO_ocp_TDDFT/INPUT b/tests/05_rtTDDFT/04_NO_CO_ocp_TDDFT/INPUT index e5a908356c..6f74978f21 100644 --- a/tests/05_rtTDDFT/04_NO_CO_ocp_TDDFT/INPUT +++ b/tests/05_rtTDDFT/04_NO_CO_ocp_TDDFT/INPUT @@ -15,8 +15,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/05_rtTDDFT/05_NO_cur_TDDFT/INPUT b/tests/05_rtTDDFT/05_NO_cur_TDDFT/INPUT index cae0409438..ab50659e0b 100644 --- a/tests/05_rtTDDFT/05_NO_cur_TDDFT/INPUT +++ b/tests/05_rtTDDFT/05_NO_cur_TDDFT/INPUT @@ -14,8 +14,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 3 -estep_per_md 1 +md_nstep 4 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/05_rtTDDFT/05_NO_cur_TDDFT/README b/tests/05_rtTDDFT/05_NO_cur_TDDFT/README index 26c2f588bb..a90ee94200 100644 --- a/tests/05_rtTDDFT/05_NO_cur_TDDFT/README +++ b/tests/05_rtTDDFT/05_NO_cur_TDDFT/README @@ -1 +1 @@ -test TDDFT length-gauge current output for non-periodic system +Test RT-TDDFT length gauge current output for non-periodic system diff --git a/tests/05_rtTDDFT/05_NO_cur_TDDFT/current_tot.txt.ref b/tests/05_rtTDDFT/05_NO_cur_TDDFT/current_tot.txt.ref new file mode 100644 index 0000000000..82c0d4abd5 --- /dev/null +++ b/tests/05_rtTDDFT/05_NO_cur_TDDFT/current_tot.txt.ref @@ -0,0 +1,4 @@ +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 1.3253329345180294e-07 -1.1309759467631443e-08 -1.8100967210899005e-08 +3 -1.8712729254912170e-07 -1.9255546268413473e-08 -3.0821009248506392e-08 +4 1.6157844599855616e-08 1.2274265605918762e-08 1.9637494049601714e-08 diff --git a/tests/05_rtTDDFT/05_NO_cur_TDDFT/refcurrent_total.dat b/tests/05_rtTDDFT/05_NO_cur_TDDFT/refcurrent_total.dat deleted file mode 100644 index 56a9f6e13b..0000000000 --- a/tests/05_rtTDDFT/05_NO_cur_TDDFT/refcurrent_total.dat +++ /dev/null @@ -1,4 +0,0 @@ -0 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1 1.3253329345174151e-07 -1.1309759467952081e-08 -1.8100967211240555e-08 -2 -1.8712729254901428e-07 -1.9255546268328018e-08 -3.0821009248708681e-08 -3 1.6157844599780660e-08 1.2274265606089292e-08 1.9637494050295524e-08 diff --git a/tests/05_rtTDDFT/05_NO_cur_TDDFT/result.ref b/tests/05_rtTDDFT/05_NO_cur_TDDFT/result.ref index d3cd1841df..6f2c4d9b7b 100644 --- a/tests/05_rtTDDFT/05_NO_cur_TDDFT/result.ref +++ b/tests/05_rtTDDFT/05_NO_cur_TDDFT/result.ref @@ -1,6 +1,6 @@ -etotref -30.91255300422832 +etotref -30.91255300422819 etotperatomref -15.4562765021 totalforceref 0.479532 totalstressref 0.981046 CompareCurrent_pass 0 -totaltimeref 1.72 +totaltimeref 1.73 diff --git a/tests/05_rtTDDFT/06_NO_dir_TDDFT/INPUT b/tests/05_rtTDDFT/06_NO_dir_TDDFT/INPUT index aefea252be..14efbef06e 100644 --- a/tests/05_rtTDDFT/06_NO_dir_TDDFT/INPUT +++ b/tests/05_rtTDDFT/06_NO_dir_TDDFT/INPUT @@ -15,8 +15,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/05_rtTDDFT/07_NO_EDM_TDDFT/INPUT b/tests/05_rtTDDFT/07_NO_EDM_TDDFT/INPUT index 2ef3cb7c96..7c26198858 100644 --- a/tests/05_rtTDDFT/07_NO_EDM_TDDFT/INPUT +++ b/tests/05_rtTDDFT/07_NO_EDM_TDDFT/INPUT @@ -15,8 +15,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -32,5 +32,5 @@ md_type nve md_dt 0.05 init_vel 1 ocp 1 -ocp_set 1*0.5 1*0.5 3*0 1*0.5 1*0.5 3*0 +ocp_set 1*0.5 1*0.5 3*0 1*0.5 1*0.5 3*0 td_edm 1 diff --git a/tests/05_rtTDDFT/08_NO_ETRS_TDDFT/INPUT b/tests/05_rtTDDFT/08_NO_ETRS_TDDFT/INPUT index d0144baf53..f08a94a5d2 100644 --- a/tests/05_rtTDDFT/08_NO_ETRS_TDDFT/INPUT +++ b/tests/05_rtTDDFT/08_NO_ETRS_TDDFT/INPUT @@ -6,7 +6,7 @@ esolver_type tddft gamma_only 0 # multiple k points md_type nve md_dt 0.05 # MD time step -md_nstep 2 # number of MD steps +md_nstep 3 # number of MD steps estep_per_md 1 init_vel 1 # initial velocity diff --git a/tests/05_rtTDDFT/09_NO_HEAV_TDDFT/INPUT b/tests/05_rtTDDFT/09_NO_HEAV_TDDFT/INPUT index 51499b8a4e..b5e1fadaa2 100644 --- a/tests/05_rtTDDFT/09_NO_HEAV_TDDFT/INPUT +++ b/tests/05_rtTDDFT/09_NO_HEAV_TDDFT/INPUT @@ -15,8 +15,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/05_rtTDDFT/10_NO_HHG_TDDFT/INPUT b/tests/05_rtTDDFT/10_NO_HHG_TDDFT/INPUT index 67adfbee74..1b52e0b40f 100644 --- a/tests/05_rtTDDFT/10_NO_HHG_TDDFT/INPUT +++ b/tests/05_rtTDDFT/10_NO_HHG_TDDFT/INPUT @@ -14,8 +14,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -39,7 +39,7 @@ td_tstart 1 td_tend 2 td_lcut1 0.05 td_lcut2 0.95 -td_gauss_freq 1.164656 0.029116 +td_gauss_freq 1.164656 0.029116 td_gauss_amp 2.0 5.0 td_gauss_phase 2*0.0 td_gauss_t0 2*0 diff --git a/tests/05_rtTDDFT/11_NO_O3_TDDFT/INPUT b/tests/05_rtTDDFT/11_NO_O3_TDDFT/INPUT index 9fb483ce2f..7e7fc57c1f 100644 --- a/tests/05_rtTDDFT/11_NO_O3_TDDFT/INPUT +++ b/tests/05_rtTDDFT/11_NO_O3_TDDFT/INPUT @@ -14,10 +14,10 @@ scf_nmax 30 ks_solver genelpa basis_type lcao -out_chg 1 +# out_chg 1 gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/05_rtTDDFT/12_NO_re_TDDFT/INPUT b/tests/05_rtTDDFT/12_NO_re_TDDFT/INPUT index 679c171d33..65c9130837 100644 --- a/tests/05_rtTDDFT/12_NO_re_TDDFT/INPUT +++ b/tests/05_rtTDDFT/12_NO_re_TDDFT/INPUT @@ -16,7 +16,7 @@ ks_solver scalapack_gvx basis_type lcao gamma_only 0 md_nstep 2 -estep_per_md 1 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -36,4 +36,4 @@ md_dt 0.05 md_restart 1 init_vel 1 ocp 1 -ocp_set 1*1 1*1 3*0 +ocp_set 1*1 1*1 3*0 diff --git a/tests/05_rtTDDFT/12_NO_re_TDDFT/restart/Restart_md.dat b/tests/05_rtTDDFT/12_NO_re_TDDFT/restart/Restart_md.txt similarity index 100% rename from tests/05_rtTDDFT/12_NO_re_TDDFT/restart/Restart_md.dat rename to tests/05_rtTDDFT/12_NO_re_TDDFT/restart/Restart_md.txt diff --git a/tests/05_rtTDDFT/12_NO_re_TDDFT/restart/WFC/wfs1k1g6_nao.txt b/tests/05_rtTDDFT/12_NO_re_TDDFT/restart/WFC/wfk1g6_nao.txt similarity index 100% rename from tests/05_rtTDDFT/12_NO_re_TDDFT/restart/WFC/wfs1k1g6_nao.txt rename to tests/05_rtTDDFT/12_NO_re_TDDFT/restart/WFC/wfk1g6_nao.txt diff --git a/tests/05_rtTDDFT/13_NO_Taylor_TDDFT/INPUT b/tests/05_rtTDDFT/13_NO_Taylor_TDDFT/INPUT index 64c81c8fc9..1b04dc588f 100644 --- a/tests/05_rtTDDFT/13_NO_Taylor_TDDFT/INPUT +++ b/tests/05_rtTDDFT/13_NO_Taylor_TDDFT/INPUT @@ -15,8 +15,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -34,4 +34,4 @@ md_type nve md_dt 0.05 init_vel 1 ocp 1 -ocp_set 1*1 1*1 3*0 +ocp_set 1*1 1*1 3*0 diff --git a/tests/05_rtTDDFT/14_NO_TRAP_TDDFT/INPUT b/tests/05_rtTDDFT/14_NO_TRAP_TDDFT/INPUT index 8b3cc43a28..6da597f863 100644 --- a/tests/05_rtTDDFT/14_NO_TRAP_TDDFT/INPUT +++ b/tests/05_rtTDDFT/14_NO_TRAP_TDDFT/INPUT @@ -14,8 +14,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/05_rtTDDFT/15_NO_TRI_TDDFT/INPUT b/tests/05_rtTDDFT/15_NO_TRI_TDDFT/INPUT index 4e255477d6..544fad72dc 100644 --- a/tests/05_rtTDDFT/15_NO_TRI_TDDFT/INPUT +++ b/tests/05_rtTDDFT/15_NO_TRI_TDDFT/INPUT @@ -2,7 +2,7 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB +orbital_dir ../../PP_ORB nbands 5 calculation md esolver_type tddft @@ -14,8 +14,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/05_rtTDDFT/16_NO_vel_TDDFT/INPUT b/tests/05_rtTDDFT/16_NO_vel_TDDFT/INPUT index 7a258e2e94..23ba57f185 100644 --- a/tests/05_rtTDDFT/16_NO_vel_TDDFT/INPUT +++ b/tests/05_rtTDDFT/16_NO_vel_TDDFT/INPUT @@ -14,8 +14,8 @@ scf_nmax 50 ks_solver scalapack_gvx basis_type lcao gamma_only 0 -md_nstep 3 -estep_per_md 1 +md_nstep 4 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/05_rtTDDFT/16_NO_vel_TDDFT/README b/tests/05_rtTDDFT/16_NO_vel_TDDFT/README index 127af73539..18c2e75edd 100644 --- a/tests/05_rtTDDFT/16_NO_vel_TDDFT/README +++ b/tests/05_rtTDDFT/16_NO_vel_TDDFT/README @@ -1 +1 @@ -test TDDFT velocity-gauge output for non-periodic system +Test RT-TDDFT velocity gauge output for non-periodic system diff --git a/tests/05_rtTDDFT/16_NO_vel_TDDFT/current_tot.txt.ref b/tests/05_rtTDDFT/16_NO_vel_TDDFT/current_tot.txt.ref new file mode 100644 index 0000000000..3dff6c2cc8 --- /dev/null +++ b/tests/05_rtTDDFT/16_NO_vel_TDDFT/current_tot.txt.ref @@ -0,0 +1,4 @@ +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 2.7669187278007763e-07 -1.3892875564214303e-09 -2.2297436845106647e-09 +3 2.2955881029815729e-07 3.4521250840365067e-09 5.5110950480092966e-09 +4 1.3457006814280224e-07 1.5269022219512386e-08 2.4393767949903552e-08 diff --git a/tests/05_rtTDDFT/16_NO_vel_TDDFT/refcurrent_total.dat b/tests/05_rtTDDFT/16_NO_vel_TDDFT/refcurrent_total.dat deleted file mode 100644 index 77e00cbc27..0000000000 --- a/tests/05_rtTDDFT/16_NO_vel_TDDFT/refcurrent_total.dat +++ /dev/null @@ -1,4 +0,0 @@ -0 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1 2.7669187278007260e-07 -1.3892875565558252e-09 -2.2297436846799228e-09 -2 2.2955881029817558e-07 3.4521250836946458e-09 5.5110950473557321e-09 -3 1.3457006814286624e-07 1.5269022218929118e-08 2.4393767948848288e-08 diff --git a/tests/05_rtTDDFT/16_NO_vel_TDDFT/result.ref b/tests/05_rtTDDFT/16_NO_vel_TDDFT/result.ref index dcbb5f1498..ea0efc68e2 100644 --- a/tests/05_rtTDDFT/16_NO_vel_TDDFT/result.ref +++ b/tests/05_rtTDDFT/16_NO_vel_TDDFT/result.ref @@ -1,6 +1,6 @@ -etotref -30.91272578807960 +etotref -30.91272578807966 etotperatomref -15.4563628940 totalforceref 0.479236 totalstressref 0.980314 CompareCurrent_pass 0 -totaltimeref 1.81 +totaltimeref 1.10 diff --git a/tests/05_rtTDDFT/17_NO_vel_TDDFT/INPUT b/tests/05_rtTDDFT/17_NO_vel_TDDFT/INPUT index 9148d55634..099ad8be4c 100644 --- a/tests/05_rtTDDFT/17_NO_vel_TDDFT/INPUT +++ b/tests/05_rtTDDFT/17_NO_vel_TDDFT/INPUT @@ -4,8 +4,8 @@ INPUT_PARAMETERS calculation md esolver_type tddft md_type nve -md_nstep 2 -estep_per_md 1 +md_nstep 3 +estep_per_md 1 md_dt 0.05 md_tfirst 0 diff --git a/tests/05_rtTDDFT/17_NO_vel_TDDFT/README b/tests/05_rtTDDFT/17_NO_vel_TDDFT/README index cf7f610eb0..3d074619ac 100644 --- a/tests/05_rtTDDFT/17_NO_vel_TDDFT/README +++ b/tests/05_rtTDDFT/17_NO_vel_TDDFT/README @@ -1 +1 @@ -test TDDFT velocity gauge output for periodic system +Test RT-TDDFT velocity gauge output for periodic system diff --git a/tests/05_rtTDDFT/17_NO_vel_TDDFT/current_tot.txt.ref b/tests/05_rtTDDFT/17_NO_vel_TDDFT/current_tot.txt.ref new file mode 100644 index 0000000000..02366c9d8d --- /dev/null +++ b/tests/05_rtTDDFT/17_NO_vel_TDDFT/current_tot.txt.ref @@ -0,0 +1,3 @@ +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 6.8191006588607104e-18 1.3391450275092762e-18 5.1985933203095592e-06 +3 1.1447467359283047e-17 1.3353524657917940e-18 1.3886066143094786e-05 diff --git a/tests/05_rtTDDFT/17_NO_vel_TDDFT/refcurrent_total.dat b/tests/05_rtTDDFT/17_NO_vel_TDDFT/refcurrent_total.dat deleted file mode 100644 index b17941d582..0000000000 --- a/tests/05_rtTDDFT/17_NO_vel_TDDFT/refcurrent_total.dat +++ /dev/null @@ -1,3 +0,0 @@ -0 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1 -1.4281057782732242e-18 5.1480765086224919e-18 5.1985933203093457e-06 -2 -3.1989018653041680e-18 1.4638762354532585e-17 1.3886066143094195e-05 diff --git a/tests/05_rtTDDFT/17_NO_vel_TDDFT/result.ref b/tests/05_rtTDDFT/17_NO_vel_TDDFT/result.ref index 2ab84c92e8..aa36e31008 100644 --- a/tests/05_rtTDDFT/17_NO_vel_TDDFT/result.ref +++ b/tests/05_rtTDDFT/17_NO_vel_TDDFT/result.ref @@ -1,4 +1,4 @@ etotref -194.7715239600903 etotperatomref -97.3857619800 CompareCurrent_pass 0 -totaltimeref 6.74 +totaltimeref 3.65 diff --git a/tests/05_rtTDDFT/18_NO_hyb_TDDFT/INPUT b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/INPUT new file mode 100644 index 0000000000..b562b3e03a --- /dev/null +++ b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/INPUT @@ -0,0 +1,40 @@ +INPUT_PARAMETERS + +# general information +calculation md +esolver_type tddft +md_type nve +md_nstep 1 +estep_per_md 10 +td_dt 0.005 +md_tfirst 0 + +# rt-TDDFT parameters +td_vext 1 # add time-dependent external potential +td_vext_dire 3 # direction along z +td_stype 2 # 2: hybrid gauge +td_ttype 3 # Heaviside type potential +td_tstart 1 # the step electric field starts +td_tend 10 # the step electric field ends +td_heavi_t0 3 +td_heavi_amp 0.05 + +# print out current information +out_current 1 + +suffix autotest +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB +basis_type lcao +gamma_only 0 + +# electronic structure calculations +ecutwfc 20 +scf_nmax 50 +scf_thr 1e-6 +ks_solver scalapack_gvx + +# charge mixing +mixing_type broyden +mixing_beta 0.7 +mixing_gg0 0.0 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_basic/KPT b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_basic/KPT rename to tests/05_rtTDDFT/18_NO_hyb_TDDFT/KPT diff --git a/tests/05_rtTDDFT/18_NO_hyb_TDDFT/README b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/README new file mode 100644 index 0000000000..a47d3411f7 --- /dev/null +++ b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/README @@ -0,0 +1 @@ +Test RT-TDDFT hybrid gauge output and parameter td_dt for periodic system diff --git a/tests/05_rtTDDFT/18_NO_hyb_TDDFT/STRU b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/STRU new file mode 100644 index 0000000000..822d2c7cc6 --- /dev/null +++ b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 28.085 Si_ONCV_PBE-1.0.upf + +NUMERICAL_ORBITAL +Si_gga_6au_100Ry_2s2p1d.orb + +LATTICE_CONSTANT +10.2 // add lattice constant + +LATTICE_VECTORS +0.0 0.5 0.5 +0.5 0.0 0.5 +0.5 0.5 0.0 + +ATOMIC_POSITIONS +Cartesian //Cartesian or Direct coordinate. + +Si // Element type +0.0 // magnetism +2 // number of atoms +0.00 0.00 0.00 0 0 0 +0.25 0.25 0.25 1 1 1 diff --git a/tests/05_rtTDDFT/18_NO_hyb_TDDFT/current_tot.txt.ref b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/current_tot.txt.ref new file mode 100644 index 0000000000..e19d79a92b --- /dev/null +++ b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/current_tot.txt.ref @@ -0,0 +1,11 @@ +1 -1.2080528880846261e-19 1.2080528880846066e-19 1.2080528880845773e-19 +2 9.6988649203065955e-09 -9.6988647723290744e-09 2.4283263685858898e-06 +3 2.6772041590862983e-08 -2.6772038966231164e-08 7.2673271979666816e-06 +4 2.7319060127512691e-08 -2.7319057936239790e-08 9.6256951598233973e-06 +5 9.5656716023055945e-09 -9.5656714606956783e-09 9.4882668471607465e-06 +6 -1.5805949584040751e-08 1.5805949767647706e-08 9.2880215292310497e-06 +7 -4.7582174004461010e-08 4.7582174205200823e-08 9.0311994708317000e-06 +8 -8.4545887860098823e-08 8.4545888087037147e-08 8.7249297042081756e-06 +9 -1.2566554788492410e-07 1.2566554814454782e-07 8.3765586452439330e-06 +10 -1.7019855732619671e-07 1.7019855762999082e-07 7.9931205849008677e-06 +11 -2.1769144339022118e-07 2.1769144375450180e-07 7.5810111633604005e-06 diff --git a/tests/05_rtTDDFT/18_NO_hyb_TDDFT/result.ref b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/result.ref new file mode 100644 index 0000000000..fe01bf77eb --- /dev/null +++ b/tests/05_rtTDDFT/18_NO_hyb_TDDFT/result.ref @@ -0,0 +1,4 @@ +etotref -202.3030324186811 +etotperatomref -101.1515162093 +CompareCurrent_pass 0 +totaltimeref 5.26 diff --git a/tests/05_rtTDDFT/CASES_CPU.txt b/tests/05_rtTDDFT/CASES_CPU.txt index 90ead8173b..1d0ef0832a 100644 --- a/tests/05_rtTDDFT/CASES_CPU.txt +++ b/tests/05_rtTDDFT/CASES_CPU.txt @@ -15,3 +15,4 @@ 15_NO_TRI_TDDFT 16_NO_vel_TDDFT 17_NO_vel_TDDFT +18_NO_hyb_TDDFT \ No newline at end of file diff --git a/tests/06_SDFT/01_PW_SDFT_10S_M/INPUT b/tests/06_SDFT/01_PW_SDFT_10S_M/INPUT index 9cf2dd3026..99a517e9d9 100644 --- a/tests/06_SDFT/01_PW_SDFT_10S_M/INPUT +++ b/tests/06_SDFT/01_PW_SDFT_10S_M/INPUT @@ -4,6 +4,7 @@ suffix autotest calculation scf esolver_type sdft method_sto 1 +init_wfc random symmetry 0 pseudo_dir ../../PP_ORB diff --git a/tests/06_SDFT/05_PW_MD_SDFT_10S/INPUT b/tests/06_SDFT/05_PW_MD_SDFT_10S/INPUT index e0dd83a2dc..bd98327e54 100644 --- a/tests/06_SDFT/05_PW_MD_SDFT_10S/INPUT +++ b/tests/06_SDFT/05_PW_MD_SDFT_10S/INPUT @@ -37,5 +37,5 @@ mixing_beta 0.4 #MD md_tfirst 10 md_tfreq 0.1 -md_nstep 3 +md_nstep 4 init_vel 1 diff --git a/tests/06_SDFT/06_PW_MD_SDFT_5D10S/INPUT b/tests/06_SDFT/06_PW_MD_SDFT_5D10S/INPUT index 615cdc3cd7..f87bca6141 100644 --- a/tests/06_SDFT/06_PW_MD_SDFT_5D10S/INPUT +++ b/tests/06_SDFT/06_PW_MD_SDFT_5D10S/INPUT @@ -37,5 +37,5 @@ mixing_beta 0.4 #MD md_tfirst 10 md_tfreq 0.1 -md_nstep 3 +md_nstep 4 init_vel 1 diff --git a/tests/06_SDFT/07_PW_MD_SDFT_ALL/INPUT b/tests/06_SDFT/07_PW_MD_SDFT_ALL/INPUT index 1428d2eef9..9ba59243ec 100644 --- a/tests/06_SDFT/07_PW_MD_SDFT_ALL/INPUT +++ b/tests/06_SDFT/07_PW_MD_SDFT_ALL/INPUT @@ -39,5 +39,5 @@ mixing_beta 0.4 #MD md_tfirst 10 md_tfreq 0.1 -md_nstep 2 +md_nstep 3 init_vel 1 diff --git a/tests/06_SDFT/18_PW_NSCF_KG_100/chgs1.cube b/tests/06_SDFT/18_PW_NSCF_KG_100/chg.cube similarity index 100% rename from tests/06_SDFT/18_PW_NSCF_KG_100/chgs1.cube rename to tests/06_SDFT/18_PW_NSCF_KG_100/chg.cube diff --git a/tests/06_SDFT/20_PW_SDOS_MALL/chgs1.cube b/tests/06_SDFT/20_PW_SDOS_MALL/chg.cube similarity index 100% rename from tests/06_SDFT/20_PW_SDOS_MALL/chgs1.cube rename to tests/06_SDFT/20_PW_SDOS_MALL/chg.cube diff --git a/tests/06_SDFT/21_PW_SKG_10D10S/chgs1.cube b/tests/06_SDFT/21_PW_SKG_10D10S/chg.cube similarity index 100% rename from tests/06_SDFT/21_PW_SKG_10D10S/chgs1.cube rename to tests/06_SDFT/21_PW_SKG_10D10S/chg.cube diff --git a/tests/07_OFDFT/04_OF_KE_CPN5/INPUT b/tests/07_OFDFT/04_OF_KE_CPN5/INPUT index 432af30174..e92ee00849 100644 --- a/tests/07_OFDFT/04_OF_KE_CPN5/INPUT +++ b/tests/07_OFDFT/04_OF_KE_CPN5/INPUT @@ -5,7 +5,6 @@ calculation scf esolver_type ofdft ntype 1 symmetry 1 -out_chg 1 pseudo_dir ../../PP_ORB/ pseudo_rcut 16 diff --git a/tests/07_OFDFT/23_OF_LPS/INPUT b/tests/07_OFDFT/23_OF_LPS/INPUT index 3c0bc2e6c5..1424de11fc 100644 --- a/tests/07_OFDFT/23_OF_LPS/INPUT +++ b/tests/07_OFDFT/23_OF_LPS/INPUT @@ -21,8 +21,7 @@ scf_nmax 50 of_kinetic wt of_method tn of_conv energy -of_tole 2e-6 +of_tole 2e-10 #Parameters (3.Basis) basis_type pw - diff --git a/tests/07_OFDFT/23_OF_LPS/result.ref b/tests/07_OFDFT/23_OF_LPS/result.ref index db38ca5101..98a09f87f3 100644 --- a/tests/07_OFDFT/23_OF_LPS/result.ref +++ b/tests/07_OFDFT/23_OF_LPS/result.ref @@ -1,8 +1,8 @@ -etotref -55.9081453813626368 -etotperatomref -55.9081453814 +etotref -55.9081453854520234 +etotperatomref -55.9081453855 totalforceref 0.000000 -totalstressref 282.735417 +totalstressref 282.762102 pointgroupref O_h spacegroupref O_h nksibzref 1 -totaltimeref 0.54 +totaltimeref 0.96 diff --git a/tests/07_OFDFT/24_OF_out_elf/refELF.cube b/tests/07_OFDFT/24_OF_out_elf/refelf.cube similarity index 100% rename from tests/07_OFDFT/24_OF_out_elf/refELF.cube rename to tests/07_OFDFT/24_OF_out_elf/refelf.cube diff --git a/tests/07_OFDFT/25_OF_MD_LDA/INPUT b/tests/07_OFDFT/25_OF_MD_LDA/INPUT index 47a88e2397..8a37804625 100644 --- a/tests/07_OFDFT/25_OF_MD_LDA/INPUT +++ b/tests/07_OFDFT/25_OF_MD_LDA/INPUT @@ -24,7 +24,7 @@ basis_type pw md_restart 0 md_type nvt -md_nstep 2 +md_nstep 3 md_dt 0.25 md_tfirst 58022.52706 md_dumpfreq 10 diff --git a/tests/07_OFDFT/26_OF_MD_LibxcPBE/INPUT b/tests/07_OFDFT/26_OF_MD_LibxcPBE/INPUT index c72751096f..e27257cee5 100644 --- a/tests/07_OFDFT/26_OF_MD_LibxcPBE/INPUT +++ b/tests/07_OFDFT/26_OF_MD_LibxcPBE/INPUT @@ -24,7 +24,7 @@ basis_type pw md_restart 0 md_type nvt -md_nstep 2 +md_nstep 3 md_dt 0.25 md_tfirst 58022.52706 md_dumpfreq 10 diff --git a/tests/07_OFDFT/30_TDOFDFT_Al/INPUT b/tests/07_OFDFT/30_TDOFDFT_Al/INPUT new file mode 100644 index 0000000000..6201da0767 --- /dev/null +++ b/tests/07_OFDFT/30_TDOFDFT_Al/INPUT @@ -0,0 +1,36 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation md +esolver_type tdofdft + +pseudo_dir ../../PP_ORB +pseudo_rcut 16 +cal_force 1 +cal_stress 1 + +#Parameters (2.Iteration) +ecutwfc 17 +scf_nmax 100 + +#OFDFT +of_kinetic tf+ +of_method tn +of_full_pw 1 +of_full_pw_dim 1 +of_cd 0 + +#Parameters (3.Basis) +basis_type pw + +init_vel 1 + +md_restart 0 +md_type nve +md_nstep 3 +md_dt 0.25 +md_tfirst 58022.52706 +md_dumpfreq 10 +md_tfreq 1.08 +md_tchain 1 +nbspline 10 # be sure fft dimension is odd diff --git a/tests/02_NAO_Gamma/026_NO_GO_PU_AF/KPT b/tests/07_OFDFT/30_TDOFDFT_Al/KPT similarity index 100% rename from tests/02_NAO_Gamma/026_NO_GO_PU_AF/KPT rename to tests/07_OFDFT/30_TDOFDFT_Al/KPT diff --git a/tests/07_OFDFT/30_TDOFDFT_Al/README b/tests/07_OFDFT/30_TDOFDFT_Al/README new file mode 100644 index 0000000000..be31e1c21f --- /dev/null +++ b/tests/07_OFDFT/30_TDOFDFT_Al/README @@ -0,0 +1 @@ +Test case without current dependent potential in TDOFDFT diff --git a/tests/07_OFDFT/30_TDOFDFT_Al/STRU b/tests/07_OFDFT/30_TDOFDFT_Al/STRU new file mode 100644 index 0000000000..1498bc2cc1 --- /dev/null +++ b/tests/07_OFDFT/30_TDOFDFT_Al/STRU @@ -0,0 +1,19 @@ +ATOMIC_SPECIES +Al 26.98 al.lda.lps blps + +LATTICE_CONSTANT +7.50241114482312 // add lattice constant + +LATTICE_VECTORS +0.000000000000 0.500000000000 0.500000000000 +0.500000000000 0.000000000000 0.500000000000 +0.500000000000 0.500000000000 0.000000000000 + +ATOMIC_POSITIONS +Direct + +Al +0 +2 +0.000000000000 0.000000000000 0.000000000000 1 1 1 v 0 0 0.5 +0.500000000000 0.500000000000 0.500000000000 1 1 1 v 0 0 -0.5 diff --git a/tests/07_OFDFT/30_TDOFDFT_Al/result.ref b/tests/07_OFDFT/30_TDOFDFT_Al/result.ref new file mode 100644 index 0000000000..b53afa1a10 --- /dev/null +++ b/tests/07_OFDFT/30_TDOFDFT_Al/result.ref @@ -0,0 +1,5 @@ +etotref 226.9979568201541724 +etotperatomref 113.4989784101 +totalforceref 562.524006 +totalstressref 194931.772028 +totaltimeref 0.45 diff --git a/tests/07_OFDFT/30_TDOFDFT_Al/threshold b/tests/07_OFDFT/30_TDOFDFT_Al/threshold new file mode 100644 index 0000000000..a137b5cae7 --- /dev/null +++ b/tests/07_OFDFT/30_TDOFDFT_Al/threshold @@ -0,0 +1,4 @@ +threshold 0.0001 +force_threshold 0.001 +stress_threshold 0.01 +fatal_threshold 1 diff --git a/tests/07_OFDFT/31_TDOFDFT_Al_CD/INPUT b/tests/07_OFDFT/31_TDOFDFT_Al_CD/INPUT new file mode 100644 index 0000000000..255850ba96 --- /dev/null +++ b/tests/07_OFDFT/31_TDOFDFT_Al_CD/INPUT @@ -0,0 +1,37 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation md +esolver_type tdofdft + +pseudo_dir ../../PP_ORB +pseudo_rcut 16 +cal_force 1 +cal_stress 1 + +#Parameters (2.Iteration) +ecutwfc 17 +scf_nmax 100 + +#OFDFT +of_kinetic tf+ +of_method tn +of_full_pw 1 +of_full_pw_dim 1 +of_cd 1 +of_mcd_alpha 1.0 + +#Parameters (3.Basis) +basis_type pw + +init_vel 1 + +md_restart 0 +md_type nve +md_nstep 3 +md_dt 0.25 +md_tfirst 58022.52706 +md_dumpfreq 10 +md_tfreq 1.08 +md_tchain 1 +nbspline 10 # be sure fft dimension is odd diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/KPT b/tests/07_OFDFT/31_TDOFDFT_Al_CD/KPT similarity index 100% rename from tests/09_DeePKS/100_NO_GO_deepks_UT/KPT rename to tests/07_OFDFT/31_TDOFDFT_Al_CD/KPT diff --git a/tests/07_OFDFT/31_TDOFDFT_Al_CD/README b/tests/07_OFDFT/31_TDOFDFT_Al_CD/README new file mode 100644 index 0000000000..d09f6a4ab9 --- /dev/null +++ b/tests/07_OFDFT/31_TDOFDFT_Al_CD/README @@ -0,0 +1 @@ +Test case with current dependent potential in TDOFDFT diff --git a/tests/07_OFDFT/31_TDOFDFT_Al_CD/STRU b/tests/07_OFDFT/31_TDOFDFT_Al_CD/STRU new file mode 100644 index 0000000000..1498bc2cc1 --- /dev/null +++ b/tests/07_OFDFT/31_TDOFDFT_Al_CD/STRU @@ -0,0 +1,19 @@ +ATOMIC_SPECIES +Al 26.98 al.lda.lps blps + +LATTICE_CONSTANT +7.50241114482312 // add lattice constant + +LATTICE_VECTORS +0.000000000000 0.500000000000 0.500000000000 +0.500000000000 0.000000000000 0.500000000000 +0.500000000000 0.500000000000 0.000000000000 + +ATOMIC_POSITIONS +Direct + +Al +0 +2 +0.000000000000 0.000000000000 0.000000000000 1 1 1 v 0 0 0.5 +0.500000000000 0.500000000000 0.500000000000 1 1 1 v 0 0 -0.5 diff --git a/tests/07_OFDFT/31_TDOFDFT_Al_CD/result.ref b/tests/07_OFDFT/31_TDOFDFT_Al_CD/result.ref new file mode 100644 index 0000000000..286a081395 --- /dev/null +++ b/tests/07_OFDFT/31_TDOFDFT_Al_CD/result.ref @@ -0,0 +1,5 @@ +etotref 225.6175831066692297 +etotperatomref 112.8087915533 +totalforceref 488.530072 +totalstressref 185999.479726 +totaltimeref 0.09 diff --git a/tests/07_OFDFT/31_TDOFDFT_Al_CD/threshold b/tests/07_OFDFT/31_TDOFDFT_Al_CD/threshold new file mode 100644 index 0000000000..a137b5cae7 --- /dev/null +++ b/tests/07_OFDFT/31_TDOFDFT_Al_CD/threshold @@ -0,0 +1,4 @@ +threshold 0.0001 +force_threshold 0.001 +stress_threshold 0.01 +fatal_threshold 1 diff --git a/tests/07_OFDFT/32_TDOFDFT_Al_mCD/INPUT b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/INPUT new file mode 100644 index 0000000000..4ed6311b27 --- /dev/null +++ b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/INPUT @@ -0,0 +1,37 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation md +esolver_type tdofdft + +pseudo_dir ../../PP_ORB +pseudo_rcut 16 +cal_force 1 +cal_stress 1 + +#Parameters (2.Iteration) +ecutwfc 17 +scf_nmax 100 + +#OFDFT +of_kinetic tf+ +of_method tn +of_full_pw 1 +of_full_pw_dim 1 +of_cd 1 +of_mcd_alpha 2.0 + +#Parameters (3.Basis) +basis_type pw + +init_vel 1 + +md_restart 0 +md_type nve +md_nstep 3 +md_dt 0.25 +md_tfirst 58022.52706 +md_dumpfreq 10 +md_tfreq 1.08 +md_tchain 1 +nbspline 10 # be sure fft dimension is odd diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_d/KPT b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/KPT similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_d/KPT rename to tests/07_OFDFT/32_TDOFDFT_Al_mCD/KPT diff --git a/tests/07_OFDFT/32_TDOFDFT_Al_mCD/README b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/README new file mode 100644 index 0000000000..cedbc26afd --- /dev/null +++ b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/README @@ -0,0 +1 @@ +Test case with modified current dependent potential (alpha=2.0) in TDOFDFT diff --git a/tests/07_OFDFT/32_TDOFDFT_Al_mCD/STRU b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/STRU new file mode 100644 index 0000000000..1498bc2cc1 --- /dev/null +++ b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/STRU @@ -0,0 +1,19 @@ +ATOMIC_SPECIES +Al 26.98 al.lda.lps blps + +LATTICE_CONSTANT +7.50241114482312 // add lattice constant + +LATTICE_VECTORS +0.000000000000 0.500000000000 0.500000000000 +0.500000000000 0.000000000000 0.500000000000 +0.500000000000 0.500000000000 0.000000000000 + +ATOMIC_POSITIONS +Direct + +Al +0 +2 +0.000000000000 0.000000000000 0.000000000000 1 1 1 v 0 0 0.5 +0.500000000000 0.500000000000 0.500000000000 1 1 1 v 0 0 -0.5 diff --git a/tests/07_OFDFT/32_TDOFDFT_Al_mCD/result.ref b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/result.ref new file mode 100644 index 0000000000..a6e3cab7f3 --- /dev/null +++ b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/result.ref @@ -0,0 +1,5 @@ +etotref 223.1193797466232809 +etotperatomref 111.5596898733 +totalforceref 386.437466 +totalstressref 181323.311310 +totaltimeref 0.08 diff --git a/tests/07_OFDFT/32_TDOFDFT_Al_mCD/threshold b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/threshold new file mode 100644 index 0000000000..a137b5cae7 --- /dev/null +++ b/tests/07_OFDFT/32_TDOFDFT_Al_mCD/threshold @@ -0,0 +1,4 @@ +threshold 0.0001 +force_threshold 0.001 +stress_threshold 0.01 +fatal_threshold 1 diff --git a/tests/07_OFDFT/33_OF_out_chg/INPUT b/tests/07_OFDFT/33_OF_out_chg/INPUT new file mode 100644 index 0000000000..f2e9b6a262 --- /dev/null +++ b/tests/07_OFDFT/33_OF_out_chg/INPUT @@ -0,0 +1,25 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation scf +esolver_type ofdft + +symmetry 1 +pseudo_dir ../../PP_ORB/ +pseudo_rcut 16 +nspin 1 + +#Parameters (2.Iteration) +ecutwfc 20 +scf_nmax 50 + +#OFDFT +of_kinetic wt +of_method tn +of_conv energy +of_tole 2e-6 + +#Parameters (3.Basis) +basis_type pw + +out_chg 1 \ No newline at end of file diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_p/KPT b/tests/07_OFDFT/33_OF_out_chg/KPT similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_p/KPT rename to tests/07_OFDFT/33_OF_out_chg/KPT diff --git a/tests/07_OFDFT/33_OF_out_chg/README b/tests/07_OFDFT/33_OF_out_chg/README new file mode 100644 index 0000000000..2466695ab4 --- /dev/null +++ b/tests/07_OFDFT/33_OF_out_chg/README @@ -0,0 +1 @@ +Test out_chg in OFDFT, symmetry=on diff --git a/tests/07_OFDFT/33_OF_out_chg/STRU b/tests/07_OFDFT/33_OF_out_chg/STRU new file mode 100644 index 0000000000..e797c06432 --- /dev/null +++ b/tests/07_OFDFT/33_OF_out_chg/STRU @@ -0,0 +1,18 @@ +ATOMIC_SPECIES +Al 26.98 al.lda.lps blps + +LATTICE_CONSTANT +7.50241114482312 // add lattice constant + +LATTICE_VECTORS +0.000000000000 0.500000000000 0.500000000000 +0.500000000000 0.000000000000 0.500000000000 +0.500000000000 0.500000000000 0.000000000000 + +ATOMIC_POSITIONS +Direct + +Al +0 +1 + 0.000000000000 0.000000000000 0.000000000000 1 1 1 diff --git a/tests/07_OFDFT/33_OF_out_chg/chg.cube.ref b/tests/07_OFDFT/33_OF_out_chg/chg.cube.ref new file mode 100644 index 0000000000..c69798f5fb --- /dev/null +++ b/tests/07_OFDFT/33_OF_out_chg/chg.cube.ref @@ -0,0 +1,682 @@ +STEP: -1 Cubefile created from ABACUS. Inner loop is z, followed by y and x +1 (nspin) 0.603379 (fermi energy, in Ry) +1 0.0 0.0 0.0 +15 0.000000 0.250080 0.250080 +15 0.250080 0.000000 0.250080 +15 0.250080 0.250080 0.000000 + 13 3.000000 0.000000 0.000000 0.000000 + 4.393e-03 5.807e-03 1.087e-02 2.000e-02 2.921e-02 3.333e-02 + 3.299e-02 3.184e-02 3.184e-02 3.299e-02 3.333e-02 2.921e-02 + 2.000e-02 1.087e-02 5.807e-03 + 5.807e-03 9.080e-03 1.644e-02 2.596e-02 3.227e-02 3.332e-02 + 3.208e-02 3.140e-02 3.208e-02 3.332e-02 3.227e-02 2.596e-02 + 1.644e-02 9.080e-03 5.807e-03 + 1.087e-02 1.644e-02 2.463e-02 3.124e-02 3.319e-02 3.209e-02 + 3.088e-02 3.088e-02 3.209e-02 3.319e-02 3.124e-02 2.463e-02 + 1.644e-02 1.087e-02 9.080e-03 + 2.000e-02 2.596e-02 3.124e-02 3.306e-02 3.200e-02 3.044e-02 + 2.980e-02 3.044e-02 3.200e-02 3.306e-02 3.124e-02 2.596e-02 + 2.000e-02 1.644e-02 1.644e-02 + 2.921e-02 3.227e-02 3.319e-02 3.200e-02 3.026e-02 2.918e-02 + 2.918e-02 3.026e-02 3.200e-02 3.319e-02 3.227e-02 2.921e-02 + 2.596e-02 2.463e-02 2.596e-02 + 3.333e-02 3.332e-02 3.209e-02 3.044e-02 2.918e-02 2.874e-02 + 2.918e-02 3.044e-02 3.209e-02 3.332e-02 3.333e-02 3.227e-02 + 3.124e-02 3.124e-02 3.227e-02 + 3.299e-02 3.208e-02 3.088e-02 2.980e-02 2.918e-02 2.918e-02 + 2.980e-02 3.088e-02 3.208e-02 3.299e-02 3.332e-02 3.319e-02 + 3.306e-02 3.319e-02 3.332e-02 + 3.184e-02 3.140e-02 3.088e-02 3.044e-02 3.026e-02 3.044e-02 + 3.088e-02 3.140e-02 3.184e-02 3.208e-02 3.209e-02 3.200e-02 + 3.200e-02 3.209e-02 3.208e-02 + 3.184e-02 3.208e-02 3.209e-02 3.200e-02 3.200e-02 3.209e-02 + 3.208e-02 3.184e-02 3.140e-02 3.088e-02 3.044e-02 3.026e-02 + 3.044e-02 3.088e-02 3.140e-02 + 3.299e-02 3.332e-02 3.319e-02 3.306e-02 3.319e-02 3.332e-02 + 3.299e-02 3.208e-02 3.088e-02 2.980e-02 2.918e-02 2.918e-02 + 2.980e-02 3.088e-02 3.208e-02 + 3.333e-02 3.227e-02 3.124e-02 3.124e-02 3.227e-02 3.333e-02 + 3.332e-02 3.209e-02 3.044e-02 2.918e-02 2.874e-02 2.918e-02 + 3.044e-02 3.209e-02 3.332e-02 + 2.921e-02 2.596e-02 2.463e-02 2.596e-02 2.921e-02 3.227e-02 + 3.319e-02 3.200e-02 3.026e-02 2.918e-02 2.918e-02 3.026e-02 + 3.200e-02 3.319e-02 3.227e-02 + 2.000e-02 1.644e-02 1.644e-02 2.000e-02 2.596e-02 3.124e-02 + 3.306e-02 3.200e-02 3.044e-02 2.980e-02 3.044e-02 3.200e-02 + 3.306e-02 3.124e-02 2.596e-02 + 1.087e-02 9.080e-03 1.087e-02 1.644e-02 2.463e-02 3.124e-02 + 3.319e-02 3.209e-02 3.088e-02 3.088e-02 3.209e-02 3.319e-02 + 3.124e-02 2.463e-02 1.644e-02 + 5.807e-03 5.807e-03 9.080e-03 1.644e-02 2.596e-02 3.227e-02 + 3.332e-02 3.208e-02 3.140e-02 3.208e-02 3.332e-02 3.227e-02 + 2.596e-02 1.644e-02 9.080e-03 + 5.807e-03 9.080e-03 1.644e-02 2.596e-02 3.227e-02 3.332e-02 + 3.208e-02 3.140e-02 3.208e-02 3.332e-02 3.227e-02 2.596e-02 + 1.644e-02 9.080e-03 5.807e-03 + 9.080e-03 1.461e-02 2.329e-02 3.085e-02 3.352e-02 3.267e-02 + 3.148e-02 3.148e-02 3.267e-02 3.352e-02 3.085e-02 2.329e-02 + 1.461e-02 9.080e-03 7.373e-03 + 1.644e-02 2.329e-02 3.016e-02 3.336e-02 3.290e-02 3.142e-02 + 3.078e-02 3.142e-02 3.290e-02 3.336e-02 3.016e-02 2.329e-02 + 1.644e-02 1.268e-02 1.268e-02 + 2.596e-02 3.085e-02 3.336e-02 3.293e-02 3.132e-02 3.022e-02 + 3.022e-02 3.132e-02 3.293e-02 3.336e-02 3.085e-02 2.596e-02 + 2.154e-02 1.985e-02 2.154e-02 + 3.227e-02 3.352e-02 3.290e-02 3.132e-02 3.001e-02 2.953e-02 + 3.001e-02 3.132e-02 3.290e-02 3.352e-02 3.227e-02 2.979e-02 + 2.787e-02 2.787e-02 2.979e-02 + 3.332e-02 3.267e-02 3.142e-02 3.022e-02 2.953e-02 2.953e-02 + 3.022e-02 3.142e-02 3.267e-02 3.332e-02 3.303e-02 3.226e-02 + 3.186e-02 3.226e-02 3.303e-02 + 3.208e-02 3.148e-02 3.078e-02 3.022e-02 3.001e-02 3.022e-02 + 3.078e-02 3.148e-02 3.208e-02 3.236e-02 3.228e-02 3.208e-02 + 3.208e-02 3.228e-02 3.236e-02 + 3.140e-02 3.148e-02 3.142e-02 3.132e-02 3.132e-02 3.142e-02 + 3.148e-02 3.140e-02 3.117e-02 3.081e-02 3.046e-02 3.030e-02 + 3.046e-02 3.081e-02 3.117e-02 + 3.208e-02 3.267e-02 3.290e-02 3.293e-02 3.290e-02 3.267e-02 + 3.208e-02 3.117e-02 3.012e-02 2.921e-02 2.866e-02 2.866e-02 + 2.921e-02 3.012e-02 3.117e-02 + 3.332e-02 3.352e-02 3.336e-02 3.336e-02 3.352e-02 3.332e-02 + 3.236e-02 3.081e-02 2.921e-02 2.806e-02 2.765e-02 2.806e-02 + 2.921e-02 3.081e-02 3.236e-02 + 3.227e-02 3.085e-02 3.016e-02 3.085e-02 3.227e-02 3.303e-02 + 3.228e-02 3.046e-02 2.866e-02 2.765e-02 2.765e-02 2.866e-02 + 3.046e-02 3.228e-02 3.303e-02 + 2.596e-02 2.329e-02 2.329e-02 2.596e-02 2.979e-02 3.226e-02 + 3.208e-02 3.030e-02 2.866e-02 2.806e-02 2.866e-02 3.030e-02 + 3.208e-02 3.226e-02 2.979e-02 + 1.644e-02 1.461e-02 1.644e-02 2.154e-02 2.787e-02 3.186e-02 + 3.208e-02 3.046e-02 2.921e-02 2.921e-02 3.046e-02 3.208e-02 + 3.186e-02 2.787e-02 2.154e-02 + 9.080e-03 9.080e-03 1.268e-02 1.985e-02 2.787e-02 3.226e-02 + 3.228e-02 3.081e-02 3.012e-02 3.081e-02 3.228e-02 3.226e-02 + 2.787e-02 1.985e-02 1.268e-02 + 5.807e-03 7.373e-03 1.268e-02 2.154e-02 2.979e-02 3.303e-02 + 3.236e-02 3.117e-02 3.117e-02 3.236e-02 3.303e-02 2.979e-02 + 2.154e-02 1.268e-02 7.373e-03 + 1.087e-02 1.644e-02 2.463e-02 3.124e-02 3.319e-02 3.209e-02 + 3.088e-02 3.088e-02 3.209e-02 3.319e-02 3.124e-02 2.463e-02 + 1.644e-02 1.087e-02 9.080e-03 + 1.644e-02 2.329e-02 3.016e-02 3.336e-02 3.290e-02 3.142e-02 + 3.078e-02 3.142e-02 3.290e-02 3.336e-02 3.016e-02 2.329e-02 + 1.644e-02 1.268e-02 1.268e-02 + 2.463e-02 3.016e-02 3.332e-02 3.322e-02 3.169e-02 3.059e-02 + 3.059e-02 3.169e-02 3.322e-02 3.332e-02 3.016e-02 2.463e-02 + 1.985e-02 1.806e-02 1.985e-02 + 3.124e-02 3.336e-02 3.322e-02 3.177e-02 3.043e-02 2.994e-02 + 3.043e-02 3.177e-02 3.322e-02 3.336e-02 3.124e-02 2.787e-02 + 2.546e-02 2.546e-02 2.787e-02 + 3.319e-02 3.290e-02 3.169e-02 3.043e-02 2.971e-02 2.971e-02 + 3.043e-02 3.169e-02 3.290e-02 3.319e-02 3.226e-02 3.088e-02 + 3.024e-02 3.088e-02 3.226e-02 + 3.209e-02 3.142e-02 3.059e-02 2.994e-02 2.971e-02 2.994e-02 + 3.059e-02 3.142e-02 3.209e-02 3.228e-02 3.197e-02 3.160e-02 + 3.160e-02 3.197e-02 3.228e-02 + 3.088e-02 3.078e-02 3.059e-02 3.043e-02 3.043e-02 3.059e-02 + 3.078e-02 3.088e-02 3.081e-02 3.056e-02 3.024e-02 3.010e-02 + 3.024e-02 3.056e-02 3.081e-02 + 3.088e-02 3.142e-02 3.169e-02 3.177e-02 3.169e-02 3.142e-02 + 3.088e-02 3.012e-02 2.929e-02 2.853e-02 2.806e-02 2.806e-02 + 2.853e-02 2.929e-02 3.012e-02 + 3.209e-02 3.290e-02 3.322e-02 3.322e-02 3.290e-02 3.209e-02 + 3.081e-02 2.929e-02 2.785e-02 2.683e-02 2.646e-02 2.683e-02 + 2.785e-02 2.929e-02 3.081e-02 + 3.319e-02 3.336e-02 3.332e-02 3.336e-02 3.319e-02 3.228e-02 + 3.056e-02 2.853e-02 2.683e-02 2.590e-02 2.590e-02 2.683e-02 + 2.853e-02 3.056e-02 3.228e-02 + 3.124e-02 3.016e-02 3.016e-02 3.124e-02 3.226e-02 3.197e-02 + 3.024e-02 2.806e-02 2.646e-02 2.590e-02 2.646e-02 2.806e-02 + 3.024e-02 3.197e-02 3.226e-02 + 2.463e-02 2.329e-02 2.463e-02 2.787e-02 3.088e-02 3.160e-02 + 3.010e-02 2.806e-02 2.683e-02 2.683e-02 2.806e-02 3.010e-02 + 3.160e-02 3.088e-02 2.787e-02 + 1.644e-02 1.644e-02 1.985e-02 2.546e-02 3.024e-02 3.160e-02 + 3.024e-02 2.853e-02 2.785e-02 2.853e-02 3.024e-02 3.160e-02 + 3.024e-02 2.546e-02 1.985e-02 + 1.087e-02 1.268e-02 1.806e-02 2.546e-02 3.088e-02 3.197e-02 + 3.056e-02 2.929e-02 2.929e-02 3.056e-02 3.197e-02 3.088e-02 + 2.546e-02 1.806e-02 1.268e-02 + 9.080e-03 1.268e-02 1.985e-02 2.787e-02 3.226e-02 3.228e-02 + 3.081e-02 3.012e-02 3.081e-02 3.228e-02 3.226e-02 2.787e-02 + 1.985e-02 1.268e-02 9.080e-03 + 2.000e-02 2.596e-02 3.124e-02 3.306e-02 3.200e-02 3.044e-02 + 2.980e-02 3.044e-02 3.200e-02 3.306e-02 3.124e-02 2.596e-02 + 2.000e-02 1.644e-02 1.644e-02 + 2.596e-02 3.085e-02 3.336e-02 3.293e-02 3.132e-02 3.022e-02 + 3.022e-02 3.132e-02 3.293e-02 3.336e-02 3.085e-02 2.596e-02 + 2.154e-02 1.985e-02 2.154e-02 + 3.124e-02 3.336e-02 3.322e-02 3.177e-02 3.043e-02 2.994e-02 + 3.043e-02 3.177e-02 3.322e-02 3.336e-02 3.124e-02 2.787e-02 + 2.546e-02 2.546e-02 2.787e-02 + 3.306e-02 3.293e-02 3.177e-02 3.049e-02 2.975e-02 2.975e-02 + 3.049e-02 3.177e-02 3.293e-02 3.306e-02 3.186e-02 3.024e-02 + 2.950e-02 3.024e-02 3.186e-02 + 3.200e-02 3.132e-02 3.043e-02 2.975e-02 2.951e-02 2.975e-02 + 3.043e-02 3.132e-02 3.200e-02 3.208e-02 3.160e-02 3.108e-02 + 3.108e-02 3.160e-02 3.208e-02 + 3.044e-02 3.022e-02 2.994e-02 2.975e-02 2.975e-02 2.994e-02 + 3.022e-02 3.044e-02 3.046e-02 3.024e-02 2.993e-02 2.978e-02 + 2.993e-02 3.024e-02 3.046e-02 + 2.980e-02 3.022e-02 3.043e-02 3.049e-02 3.043e-02 3.022e-02 + 2.980e-02 2.921e-02 2.853e-02 2.791e-02 2.752e-02 2.752e-02 + 2.791e-02 2.853e-02 2.921e-02 + 3.044e-02 3.132e-02 3.177e-02 3.177e-02 3.132e-02 3.044e-02 + 2.921e-02 2.785e-02 2.661e-02 2.572e-02 2.540e-02 2.572e-02 + 2.661e-02 2.785e-02 2.921e-02 + 3.200e-02 3.293e-02 3.322e-02 3.293e-02 3.200e-02 3.046e-02 + 2.853e-02 2.661e-02 2.508e-02 2.424e-02 2.424e-02 2.508e-02 + 2.661e-02 2.853e-02 3.046e-02 + 3.306e-02 3.336e-02 3.336e-02 3.306e-02 3.208e-02 3.024e-02 + 2.791e-02 2.572e-02 2.424e-02 2.372e-02 2.424e-02 2.572e-02 + 2.791e-02 3.024e-02 3.208e-02 + 3.124e-02 3.085e-02 3.124e-02 3.186e-02 3.160e-02 2.993e-02 + 2.752e-02 2.540e-02 2.424e-02 2.424e-02 2.540e-02 2.752e-02 + 2.993e-02 3.160e-02 3.186e-02 + 2.596e-02 2.596e-02 2.787e-02 3.024e-02 3.108e-02 2.978e-02 + 2.752e-02 2.572e-02 2.508e-02 2.572e-02 2.752e-02 2.978e-02 + 3.108e-02 3.024e-02 2.787e-02 + 2.000e-02 2.154e-02 2.546e-02 2.950e-02 3.108e-02 2.993e-02 + 2.791e-02 2.661e-02 2.661e-02 2.791e-02 2.993e-02 3.108e-02 + 2.950e-02 2.546e-02 2.154e-02 + 1.644e-02 1.985e-02 2.546e-02 3.024e-02 3.160e-02 3.024e-02 + 2.853e-02 2.785e-02 2.853e-02 3.024e-02 3.160e-02 3.024e-02 + 2.546e-02 1.985e-02 1.644e-02 + 1.644e-02 2.154e-02 2.787e-02 3.186e-02 3.208e-02 3.046e-02 + 2.921e-02 2.921e-02 3.046e-02 3.208e-02 3.186e-02 2.787e-02 + 2.154e-02 1.644e-02 1.461e-02 + 2.921e-02 3.227e-02 3.319e-02 3.200e-02 3.026e-02 2.918e-02 + 2.918e-02 3.026e-02 3.200e-02 3.319e-02 3.227e-02 2.921e-02 + 2.596e-02 2.463e-02 2.596e-02 + 3.227e-02 3.352e-02 3.290e-02 3.132e-02 3.001e-02 2.953e-02 + 3.001e-02 3.132e-02 3.290e-02 3.352e-02 3.227e-02 2.979e-02 + 2.787e-02 2.787e-02 2.979e-02 + 3.319e-02 3.290e-02 3.169e-02 3.043e-02 2.971e-02 2.971e-02 + 3.043e-02 3.169e-02 3.290e-02 3.319e-02 3.226e-02 3.088e-02 + 3.024e-02 3.088e-02 3.226e-02 + 3.200e-02 3.132e-02 3.043e-02 2.975e-02 2.951e-02 2.975e-02 + 3.043e-02 3.132e-02 3.200e-02 3.208e-02 3.160e-02 3.108e-02 + 3.108e-02 3.160e-02 3.208e-02 + 3.026e-02 3.001e-02 2.971e-02 2.951e-02 2.951e-02 2.971e-02 + 3.001e-02 3.026e-02 3.030e-02 3.010e-02 2.978e-02 2.963e-02 + 2.978e-02 3.010e-02 3.030e-02 + 2.918e-02 2.953e-02 2.971e-02 2.975e-02 2.971e-02 2.953e-02 + 2.918e-02 2.866e-02 2.806e-02 2.751e-02 2.718e-02 2.718e-02 + 2.752e-02 2.806e-02 2.866e-02 + 2.918e-02 3.001e-02 3.043e-02 3.043e-02 3.001e-02 2.918e-02 + 2.806e-02 2.683e-02 2.572e-02 2.494e-02 2.466e-02 2.494e-02 + 2.572e-02 2.683e-02 2.806e-02 + 3.026e-02 3.132e-02 3.169e-02 3.132e-02 3.026e-02 2.866e-02 + 2.683e-02 2.508e-02 2.371e-02 2.295e-02 2.295e-02 2.371e-02 + 2.508e-02 2.683e-02 2.866e-02 + 3.200e-02 3.290e-02 3.290e-02 3.200e-02 3.030e-02 2.806e-02 + 2.572e-02 2.371e-02 2.236e-02 2.189e-02 2.236e-02 2.371e-02 + 2.572e-02 2.806e-02 3.030e-02 + 3.319e-02 3.352e-02 3.319e-02 3.208e-02 3.010e-02 2.751e-02 + 2.494e-02 2.295e-02 2.189e-02 2.189e-02 2.295e-02 2.494e-02 + 2.752e-02 3.010e-02 3.208e-02 + 3.227e-02 3.227e-02 3.226e-02 3.160e-02 2.978e-02 2.718e-02 + 2.466e-02 2.295e-02 2.236e-02 2.295e-02 2.466e-02 2.718e-02 + 2.978e-02 3.160e-02 3.226e-02 + 2.921e-02 2.979e-02 3.088e-02 3.108e-02 2.963e-02 2.718e-02 + 2.494e-02 2.371e-02 2.371e-02 2.494e-02 2.718e-02 2.963e-02 + 3.108e-02 3.088e-02 2.979e-02 + 2.596e-02 2.787e-02 3.024e-02 3.108e-02 2.978e-02 2.752e-02 + 2.572e-02 2.508e-02 2.572e-02 2.752e-02 2.978e-02 3.108e-02 + 3.024e-02 2.787e-02 2.596e-02 + 2.463e-02 2.787e-02 3.088e-02 3.160e-02 3.010e-02 2.806e-02 + 2.683e-02 2.683e-02 2.806e-02 3.010e-02 3.160e-02 3.088e-02 + 2.787e-02 2.463e-02 2.329e-02 + 2.596e-02 2.979e-02 3.226e-02 3.208e-02 3.030e-02 2.866e-02 + 2.806e-02 2.866e-02 3.030e-02 3.208e-02 3.226e-02 2.979e-02 + 2.596e-02 2.329e-02 2.329e-02 + 3.333e-02 3.332e-02 3.209e-02 3.044e-02 2.918e-02 2.874e-02 + 2.918e-02 3.044e-02 3.209e-02 3.332e-02 3.333e-02 3.227e-02 + 3.124e-02 3.124e-02 3.227e-02 + 3.332e-02 3.267e-02 3.142e-02 3.022e-02 2.953e-02 2.953e-02 + 3.022e-02 3.142e-02 3.267e-02 3.332e-02 3.303e-02 3.226e-02 + 3.186e-02 3.226e-02 3.303e-02 + 3.209e-02 3.142e-02 3.059e-02 2.994e-02 2.971e-02 2.994e-02 + 3.059e-02 3.142e-02 3.209e-02 3.228e-02 3.197e-02 3.160e-02 + 3.160e-02 3.197e-02 3.228e-02 + 3.044e-02 3.022e-02 2.994e-02 2.975e-02 2.975e-02 2.994e-02 + 3.022e-02 3.044e-02 3.046e-02 3.024e-02 2.993e-02 2.978e-02 + 2.993e-02 3.024e-02 3.046e-02 + 2.918e-02 2.953e-02 2.971e-02 2.975e-02 2.971e-02 2.953e-02 + 2.918e-02 2.866e-02 2.806e-02 2.751e-02 2.718e-02 2.718e-02 + 2.752e-02 2.806e-02 2.866e-02 + 2.874e-02 2.953e-02 2.994e-02 2.994e-02 2.953e-02 2.874e-02 + 2.765e-02 2.646e-02 2.540e-02 2.466e-02 2.440e-02 2.466e-02 + 2.540e-02 2.646e-02 2.765e-02 + 2.918e-02 3.022e-02 3.059e-02 3.022e-02 2.918e-02 2.765e-02 + 2.590e-02 2.424e-02 2.295e-02 2.226e-02 2.226e-02 2.295e-02 + 2.424e-02 2.590e-02 2.765e-02 + 3.044e-02 3.142e-02 3.142e-02 3.044e-02 2.866e-02 2.646e-02 + 2.424e-02 2.236e-02 2.112e-02 2.069e-02 2.112e-02 2.236e-02 + 2.424e-02 2.646e-02 2.866e-02 + 3.209e-02 3.267e-02 3.209e-02 3.046e-02 2.806e-02 2.540e-02 + 2.295e-02 2.112e-02 2.014e-02 2.014e-02 2.112e-02 2.295e-02 + 2.540e-02 2.806e-02 3.046e-02 + 3.332e-02 3.332e-02 3.228e-02 3.024e-02 2.751e-02 2.466e-02 + 2.226e-02 2.069e-02 2.014e-02 2.069e-02 2.226e-02 2.466e-02 + 2.752e-02 3.024e-02 3.228e-02 + 3.333e-02 3.303e-02 3.197e-02 2.993e-02 2.718e-02 2.440e-02 + 2.226e-02 2.112e-02 2.112e-02 2.226e-02 2.440e-02 2.718e-02 + 2.993e-02 3.197e-02 3.303e-02 + 3.227e-02 3.226e-02 3.160e-02 2.978e-02 2.718e-02 2.466e-02 + 2.295e-02 2.236e-02 2.295e-02 2.466e-02 2.718e-02 2.978e-02 + 3.160e-02 3.226e-02 3.227e-02 + 3.124e-02 3.186e-02 3.160e-02 2.993e-02 2.752e-02 2.540e-02 + 2.424e-02 2.424e-02 2.540e-02 2.752e-02 2.993e-02 3.160e-02 + 3.186e-02 3.124e-02 3.085e-02 + 3.124e-02 3.226e-02 3.197e-02 3.024e-02 2.806e-02 2.646e-02 + 2.590e-02 2.646e-02 2.806e-02 3.024e-02 3.197e-02 3.226e-02 + 3.124e-02 3.016e-02 3.016e-02 + 3.227e-02 3.303e-02 3.228e-02 3.046e-02 2.866e-02 2.765e-02 + 2.765e-02 2.866e-02 3.046e-02 3.228e-02 3.303e-02 3.227e-02 + 3.085e-02 3.016e-02 3.085e-02 + 3.299e-02 3.208e-02 3.088e-02 2.980e-02 2.918e-02 2.918e-02 + 2.980e-02 3.088e-02 3.208e-02 3.299e-02 3.332e-02 3.319e-02 + 3.306e-02 3.319e-02 3.332e-02 + 3.208e-02 3.148e-02 3.078e-02 3.022e-02 3.001e-02 3.022e-02 + 3.078e-02 3.148e-02 3.208e-02 3.236e-02 3.228e-02 3.208e-02 + 3.208e-02 3.228e-02 3.236e-02 + 3.088e-02 3.078e-02 3.059e-02 3.043e-02 3.043e-02 3.059e-02 + 3.078e-02 3.088e-02 3.081e-02 3.056e-02 3.024e-02 3.010e-02 + 3.024e-02 3.056e-02 3.081e-02 + 2.980e-02 3.022e-02 3.043e-02 3.049e-02 3.043e-02 3.022e-02 + 2.980e-02 2.921e-02 2.853e-02 2.791e-02 2.752e-02 2.752e-02 + 2.791e-02 2.853e-02 2.921e-02 + 2.918e-02 3.001e-02 3.043e-02 3.043e-02 3.001e-02 2.918e-02 + 2.806e-02 2.683e-02 2.572e-02 2.494e-02 2.466e-02 2.494e-02 + 2.572e-02 2.683e-02 2.806e-02 + 2.918e-02 3.022e-02 3.059e-02 3.022e-02 2.918e-02 2.765e-02 + 2.590e-02 2.424e-02 2.295e-02 2.226e-02 2.226e-02 2.295e-02 + 2.424e-02 2.590e-02 2.765e-02 + 2.980e-02 3.078e-02 3.078e-02 2.980e-02 2.806e-02 2.590e-02 + 2.372e-02 2.189e-02 2.069e-02 2.027e-02 2.069e-02 2.189e-02 + 2.372e-02 2.590e-02 2.806e-02 + 3.088e-02 3.148e-02 3.088e-02 2.921e-02 2.683e-02 2.424e-02 + 2.189e-02 2.014e-02 1.922e-02 1.922e-02 2.014e-02 2.189e-02 + 2.424e-02 2.683e-02 2.921e-02 + 3.208e-02 3.208e-02 3.081e-02 2.853e-02 2.572e-02 2.295e-02 + 2.069e-02 1.922e-02 1.871e-02 1.922e-02 2.069e-02 2.295e-02 + 2.572e-02 2.853e-02 3.081e-02 + 3.299e-02 3.236e-02 3.056e-02 2.791e-02 2.494e-02 2.226e-02 + 2.027e-02 1.922e-02 1.922e-02 2.027e-02 2.226e-02 2.494e-02 + 2.791e-02 3.056e-02 3.236e-02 + 3.332e-02 3.228e-02 3.024e-02 2.752e-02 2.466e-02 2.226e-02 + 2.069e-02 2.014e-02 2.069e-02 2.226e-02 2.466e-02 2.751e-02 + 3.024e-02 3.228e-02 3.332e-02 + 3.319e-02 3.208e-02 3.010e-02 2.752e-02 2.494e-02 2.295e-02 + 2.189e-02 2.189e-02 2.295e-02 2.494e-02 2.751e-02 3.010e-02 + 3.208e-02 3.319e-02 3.352e-02 + 3.306e-02 3.208e-02 3.024e-02 2.791e-02 2.572e-02 2.424e-02 + 2.372e-02 2.424e-02 2.572e-02 2.791e-02 3.024e-02 3.208e-02 + 3.306e-02 3.336e-02 3.336e-02 + 3.319e-02 3.228e-02 3.056e-02 2.853e-02 2.683e-02 2.590e-02 + 2.590e-02 2.683e-02 2.853e-02 3.056e-02 3.228e-02 3.319e-02 + 3.336e-02 3.332e-02 3.336e-02 + 3.332e-02 3.236e-02 3.081e-02 2.921e-02 2.806e-02 2.765e-02 + 2.806e-02 2.921e-02 3.081e-02 3.236e-02 3.332e-02 3.352e-02 + 3.336e-02 3.336e-02 3.352e-02 + 3.184e-02 3.140e-02 3.088e-02 3.044e-02 3.026e-02 3.044e-02 + 3.088e-02 3.140e-02 3.184e-02 3.208e-02 3.209e-02 3.200e-02 + 3.200e-02 3.209e-02 3.208e-02 + 3.140e-02 3.148e-02 3.142e-02 3.132e-02 3.132e-02 3.142e-02 + 3.148e-02 3.140e-02 3.117e-02 3.081e-02 3.046e-02 3.030e-02 + 3.046e-02 3.081e-02 3.117e-02 + 3.088e-02 3.142e-02 3.169e-02 3.177e-02 3.169e-02 3.142e-02 + 3.088e-02 3.012e-02 2.929e-02 2.853e-02 2.806e-02 2.806e-02 + 2.853e-02 2.929e-02 3.012e-02 + 3.044e-02 3.132e-02 3.177e-02 3.177e-02 3.132e-02 3.044e-02 + 2.921e-02 2.785e-02 2.661e-02 2.572e-02 2.540e-02 2.572e-02 + 2.661e-02 2.785e-02 2.921e-02 + 3.026e-02 3.132e-02 3.169e-02 3.132e-02 3.026e-02 2.866e-02 + 2.683e-02 2.508e-02 2.371e-02 2.295e-02 2.295e-02 2.371e-02 + 2.508e-02 2.683e-02 2.866e-02 + 3.044e-02 3.142e-02 3.142e-02 3.044e-02 2.866e-02 2.646e-02 + 2.424e-02 2.236e-02 2.112e-02 2.069e-02 2.112e-02 2.236e-02 + 2.424e-02 2.646e-02 2.866e-02 + 3.088e-02 3.148e-02 3.088e-02 2.921e-02 2.683e-02 2.424e-02 + 2.189e-02 2.014e-02 1.922e-02 1.922e-02 2.014e-02 2.189e-02 + 2.424e-02 2.683e-02 2.921e-02 + 3.140e-02 3.140e-02 3.012e-02 2.785e-02 2.508e-02 2.236e-02 + 2.014e-02 1.871e-02 1.822e-02 1.871e-02 2.014e-02 2.236e-02 + 2.508e-02 2.785e-02 3.012e-02 + 3.184e-02 3.117e-02 2.929e-02 2.661e-02 2.371e-02 2.112e-02 + 1.922e-02 1.822e-02 1.822e-02 1.922e-02 2.112e-02 2.371e-02 + 2.661e-02 2.929e-02 3.117e-02 + 3.208e-02 3.081e-02 2.853e-02 2.572e-02 2.295e-02 2.069e-02 + 1.922e-02 1.871e-02 1.922e-02 2.069e-02 2.295e-02 2.572e-02 + 2.853e-02 3.081e-02 3.208e-02 + 3.209e-02 3.046e-02 2.806e-02 2.540e-02 2.295e-02 2.112e-02 + 2.014e-02 2.014e-02 2.112e-02 2.295e-02 2.540e-02 2.806e-02 + 3.046e-02 3.209e-02 3.267e-02 + 3.200e-02 3.030e-02 2.806e-02 2.572e-02 2.371e-02 2.236e-02 + 2.189e-02 2.236e-02 2.371e-02 2.572e-02 2.806e-02 3.030e-02 + 3.200e-02 3.290e-02 3.290e-02 + 3.200e-02 3.046e-02 2.853e-02 2.661e-02 2.508e-02 2.424e-02 + 2.424e-02 2.508e-02 2.661e-02 2.853e-02 3.046e-02 3.200e-02 + 3.293e-02 3.322e-02 3.293e-02 + 3.209e-02 3.081e-02 2.929e-02 2.785e-02 2.683e-02 2.646e-02 + 2.683e-02 2.785e-02 2.929e-02 3.081e-02 3.209e-02 3.290e-02 + 3.322e-02 3.322e-02 3.290e-02 + 3.208e-02 3.117e-02 3.012e-02 2.921e-02 2.866e-02 2.866e-02 + 2.921e-02 3.012e-02 3.117e-02 3.208e-02 3.267e-02 3.290e-02 + 3.293e-02 3.290e-02 3.267e-02 + 3.184e-02 3.208e-02 3.209e-02 3.200e-02 3.200e-02 3.209e-02 + 3.208e-02 3.184e-02 3.140e-02 3.088e-02 3.044e-02 3.026e-02 + 3.044e-02 3.088e-02 3.140e-02 + 3.208e-02 3.267e-02 3.290e-02 3.293e-02 3.290e-02 3.267e-02 + 3.208e-02 3.117e-02 3.012e-02 2.921e-02 2.866e-02 2.866e-02 + 2.921e-02 3.012e-02 3.117e-02 + 3.209e-02 3.290e-02 3.322e-02 3.322e-02 3.290e-02 3.209e-02 + 3.081e-02 2.929e-02 2.785e-02 2.683e-02 2.646e-02 2.683e-02 + 2.785e-02 2.929e-02 3.081e-02 + 3.200e-02 3.293e-02 3.322e-02 3.293e-02 3.200e-02 3.046e-02 + 2.853e-02 2.661e-02 2.508e-02 2.424e-02 2.424e-02 2.508e-02 + 2.661e-02 2.853e-02 3.046e-02 + 3.200e-02 3.290e-02 3.290e-02 3.200e-02 3.030e-02 2.806e-02 + 2.572e-02 2.371e-02 2.236e-02 2.189e-02 2.236e-02 2.371e-02 + 2.572e-02 2.806e-02 3.030e-02 + 3.209e-02 3.267e-02 3.209e-02 3.046e-02 2.806e-02 2.540e-02 + 2.295e-02 2.112e-02 2.014e-02 2.014e-02 2.112e-02 2.295e-02 + 2.540e-02 2.806e-02 3.046e-02 + 3.208e-02 3.208e-02 3.081e-02 2.853e-02 2.572e-02 2.295e-02 + 2.069e-02 1.922e-02 1.871e-02 1.922e-02 2.069e-02 2.295e-02 + 2.572e-02 2.853e-02 3.081e-02 + 3.184e-02 3.117e-02 2.929e-02 2.661e-02 2.371e-02 2.112e-02 + 1.922e-02 1.822e-02 1.822e-02 1.922e-02 2.112e-02 2.371e-02 + 2.661e-02 2.929e-02 3.117e-02 + 3.140e-02 3.012e-02 2.785e-02 2.508e-02 2.236e-02 2.014e-02 + 1.871e-02 1.822e-02 1.871e-02 2.014e-02 2.236e-02 2.508e-02 + 2.785e-02 3.012e-02 3.140e-02 + 3.088e-02 2.921e-02 2.683e-02 2.424e-02 2.189e-02 2.014e-02 + 1.922e-02 1.922e-02 2.014e-02 2.189e-02 2.424e-02 2.683e-02 + 2.921e-02 3.088e-02 3.148e-02 + 3.044e-02 2.866e-02 2.646e-02 2.424e-02 2.236e-02 2.112e-02 + 2.069e-02 2.112e-02 2.236e-02 2.424e-02 2.646e-02 2.866e-02 + 3.044e-02 3.142e-02 3.142e-02 + 3.026e-02 2.866e-02 2.683e-02 2.508e-02 2.371e-02 2.295e-02 + 2.295e-02 2.371e-02 2.508e-02 2.683e-02 2.866e-02 3.026e-02 + 3.132e-02 3.169e-02 3.132e-02 + 3.044e-02 2.921e-02 2.785e-02 2.661e-02 2.572e-02 2.540e-02 + 2.572e-02 2.661e-02 2.785e-02 2.921e-02 3.044e-02 3.132e-02 + 3.177e-02 3.177e-02 3.132e-02 + 3.088e-02 3.012e-02 2.929e-02 2.853e-02 2.806e-02 2.806e-02 + 2.853e-02 2.929e-02 3.012e-02 3.088e-02 3.142e-02 3.169e-02 + 3.177e-02 3.169e-02 3.142e-02 + 3.140e-02 3.117e-02 3.081e-02 3.046e-02 3.030e-02 3.046e-02 + 3.081e-02 3.117e-02 3.140e-02 3.148e-02 3.142e-02 3.132e-02 + 3.132e-02 3.142e-02 3.148e-02 + 3.299e-02 3.332e-02 3.319e-02 3.306e-02 3.319e-02 3.332e-02 + 3.299e-02 3.208e-02 3.088e-02 2.980e-02 2.918e-02 2.918e-02 + 2.980e-02 3.088e-02 3.208e-02 + 3.332e-02 3.352e-02 3.336e-02 3.336e-02 3.352e-02 3.332e-02 + 3.236e-02 3.081e-02 2.921e-02 2.806e-02 2.765e-02 2.806e-02 + 2.921e-02 3.081e-02 3.236e-02 + 3.319e-02 3.336e-02 3.332e-02 3.336e-02 3.319e-02 3.228e-02 + 3.056e-02 2.853e-02 2.683e-02 2.590e-02 2.590e-02 2.683e-02 + 2.853e-02 3.056e-02 3.228e-02 + 3.306e-02 3.336e-02 3.336e-02 3.306e-02 3.208e-02 3.024e-02 + 2.791e-02 2.572e-02 2.424e-02 2.372e-02 2.424e-02 2.572e-02 + 2.791e-02 3.024e-02 3.208e-02 + 3.319e-02 3.352e-02 3.319e-02 3.208e-02 3.010e-02 2.751e-02 + 2.494e-02 2.295e-02 2.189e-02 2.189e-02 2.295e-02 2.494e-02 + 2.752e-02 3.010e-02 3.208e-02 + 3.332e-02 3.332e-02 3.228e-02 3.024e-02 2.751e-02 2.466e-02 + 2.226e-02 2.069e-02 2.014e-02 2.069e-02 2.226e-02 2.466e-02 + 2.752e-02 3.024e-02 3.228e-02 + 3.299e-02 3.236e-02 3.056e-02 2.791e-02 2.494e-02 2.226e-02 + 2.027e-02 1.922e-02 1.922e-02 2.027e-02 2.226e-02 2.494e-02 + 2.791e-02 3.056e-02 3.236e-02 + 3.208e-02 3.081e-02 2.853e-02 2.572e-02 2.295e-02 2.069e-02 + 1.922e-02 1.871e-02 1.922e-02 2.069e-02 2.295e-02 2.572e-02 + 2.853e-02 3.081e-02 3.208e-02 + 3.088e-02 2.921e-02 2.683e-02 2.424e-02 2.189e-02 2.014e-02 + 1.922e-02 1.922e-02 2.014e-02 2.189e-02 2.424e-02 2.683e-02 + 2.921e-02 3.088e-02 3.148e-02 + 2.980e-02 2.806e-02 2.590e-02 2.372e-02 2.189e-02 2.069e-02 + 2.027e-02 2.069e-02 2.189e-02 2.372e-02 2.590e-02 2.806e-02 + 2.980e-02 3.078e-02 3.078e-02 + 2.918e-02 2.765e-02 2.590e-02 2.424e-02 2.295e-02 2.226e-02 + 2.226e-02 2.295e-02 2.424e-02 2.590e-02 2.765e-02 2.918e-02 + 3.022e-02 3.059e-02 3.022e-02 + 2.918e-02 2.806e-02 2.683e-02 2.572e-02 2.494e-02 2.466e-02 + 2.494e-02 2.572e-02 2.683e-02 2.806e-02 2.918e-02 3.001e-02 + 3.043e-02 3.043e-02 3.001e-02 + 2.980e-02 2.921e-02 2.853e-02 2.791e-02 2.752e-02 2.752e-02 + 2.791e-02 2.853e-02 2.921e-02 2.980e-02 3.022e-02 3.043e-02 + 3.049e-02 3.043e-02 3.022e-02 + 3.088e-02 3.081e-02 3.056e-02 3.024e-02 3.010e-02 3.024e-02 + 3.056e-02 3.081e-02 3.088e-02 3.078e-02 3.059e-02 3.043e-02 + 3.043e-02 3.059e-02 3.078e-02 + 3.208e-02 3.236e-02 3.228e-02 3.208e-02 3.208e-02 3.228e-02 + 3.236e-02 3.208e-02 3.148e-02 3.078e-02 3.022e-02 3.001e-02 + 3.022e-02 3.078e-02 3.148e-02 + 3.333e-02 3.227e-02 3.124e-02 3.124e-02 3.227e-02 3.333e-02 + 3.332e-02 3.209e-02 3.044e-02 2.918e-02 2.874e-02 2.918e-02 + 3.044e-02 3.209e-02 3.332e-02 + 3.227e-02 3.085e-02 3.016e-02 3.085e-02 3.227e-02 3.303e-02 + 3.228e-02 3.046e-02 2.866e-02 2.765e-02 2.765e-02 2.866e-02 + 3.046e-02 3.228e-02 3.303e-02 + 3.124e-02 3.016e-02 3.016e-02 3.124e-02 3.226e-02 3.197e-02 + 3.024e-02 2.806e-02 2.646e-02 2.590e-02 2.646e-02 2.806e-02 + 3.024e-02 3.197e-02 3.226e-02 + 3.124e-02 3.085e-02 3.124e-02 3.186e-02 3.160e-02 2.993e-02 + 2.752e-02 2.540e-02 2.424e-02 2.424e-02 2.540e-02 2.752e-02 + 2.993e-02 3.160e-02 3.186e-02 + 3.227e-02 3.227e-02 3.226e-02 3.160e-02 2.978e-02 2.718e-02 + 2.466e-02 2.295e-02 2.236e-02 2.295e-02 2.466e-02 2.718e-02 + 2.978e-02 3.160e-02 3.226e-02 + 3.333e-02 3.303e-02 3.197e-02 2.993e-02 2.718e-02 2.440e-02 + 2.226e-02 2.112e-02 2.112e-02 2.226e-02 2.440e-02 2.718e-02 + 2.993e-02 3.197e-02 3.303e-02 + 3.332e-02 3.228e-02 3.024e-02 2.752e-02 2.466e-02 2.226e-02 + 2.069e-02 2.014e-02 2.069e-02 2.226e-02 2.466e-02 2.751e-02 + 3.024e-02 3.228e-02 3.332e-02 + 3.209e-02 3.046e-02 2.806e-02 2.540e-02 2.295e-02 2.112e-02 + 2.014e-02 2.014e-02 2.112e-02 2.295e-02 2.540e-02 2.806e-02 + 3.046e-02 3.209e-02 3.267e-02 + 3.044e-02 2.866e-02 2.646e-02 2.424e-02 2.236e-02 2.112e-02 + 2.069e-02 2.112e-02 2.236e-02 2.424e-02 2.646e-02 2.866e-02 + 3.044e-02 3.142e-02 3.142e-02 + 2.918e-02 2.765e-02 2.590e-02 2.424e-02 2.295e-02 2.226e-02 + 2.226e-02 2.295e-02 2.424e-02 2.590e-02 2.765e-02 2.918e-02 + 3.022e-02 3.059e-02 3.022e-02 + 2.874e-02 2.765e-02 2.646e-02 2.540e-02 2.466e-02 2.440e-02 + 2.466e-02 2.540e-02 2.646e-02 2.765e-02 2.874e-02 2.953e-02 + 2.994e-02 2.994e-02 2.953e-02 + 2.918e-02 2.866e-02 2.806e-02 2.752e-02 2.718e-02 2.718e-02 + 2.751e-02 2.806e-02 2.866e-02 2.918e-02 2.953e-02 2.971e-02 + 2.975e-02 2.971e-02 2.953e-02 + 3.044e-02 3.046e-02 3.024e-02 2.993e-02 2.978e-02 2.993e-02 + 3.024e-02 3.046e-02 3.044e-02 3.022e-02 2.994e-02 2.975e-02 + 2.975e-02 2.994e-02 3.022e-02 + 3.209e-02 3.228e-02 3.197e-02 3.160e-02 3.160e-02 3.197e-02 + 3.228e-02 3.209e-02 3.142e-02 3.059e-02 2.994e-02 2.971e-02 + 2.994e-02 3.059e-02 3.142e-02 + 3.332e-02 3.303e-02 3.226e-02 3.186e-02 3.226e-02 3.303e-02 + 3.332e-02 3.267e-02 3.142e-02 3.022e-02 2.953e-02 2.953e-02 + 3.022e-02 3.142e-02 3.267e-02 + 2.921e-02 2.596e-02 2.463e-02 2.596e-02 2.921e-02 3.227e-02 + 3.319e-02 3.200e-02 3.026e-02 2.918e-02 2.918e-02 3.026e-02 + 3.200e-02 3.319e-02 3.227e-02 + 2.596e-02 2.329e-02 2.329e-02 2.596e-02 2.979e-02 3.226e-02 + 3.208e-02 3.030e-02 2.866e-02 2.806e-02 2.866e-02 3.030e-02 + 3.208e-02 3.226e-02 2.979e-02 + 2.463e-02 2.329e-02 2.463e-02 2.787e-02 3.088e-02 3.160e-02 + 3.010e-02 2.806e-02 2.683e-02 2.683e-02 2.806e-02 3.010e-02 + 3.160e-02 3.088e-02 2.787e-02 + 2.596e-02 2.596e-02 2.787e-02 3.024e-02 3.108e-02 2.978e-02 + 2.752e-02 2.572e-02 2.508e-02 2.572e-02 2.752e-02 2.978e-02 + 3.108e-02 3.024e-02 2.787e-02 + 2.921e-02 2.979e-02 3.088e-02 3.108e-02 2.963e-02 2.718e-02 + 2.494e-02 2.371e-02 2.371e-02 2.494e-02 2.718e-02 2.963e-02 + 3.108e-02 3.088e-02 2.979e-02 + 3.227e-02 3.226e-02 3.160e-02 2.978e-02 2.718e-02 2.466e-02 + 2.295e-02 2.236e-02 2.295e-02 2.466e-02 2.718e-02 2.978e-02 + 3.160e-02 3.226e-02 3.227e-02 + 3.319e-02 3.208e-02 3.010e-02 2.752e-02 2.494e-02 2.295e-02 + 2.189e-02 2.189e-02 2.295e-02 2.494e-02 2.751e-02 3.010e-02 + 3.208e-02 3.319e-02 3.352e-02 + 3.200e-02 3.030e-02 2.806e-02 2.572e-02 2.371e-02 2.236e-02 + 2.189e-02 2.236e-02 2.371e-02 2.572e-02 2.806e-02 3.030e-02 + 3.200e-02 3.290e-02 3.290e-02 + 3.026e-02 2.866e-02 2.683e-02 2.508e-02 2.371e-02 2.295e-02 + 2.295e-02 2.371e-02 2.508e-02 2.683e-02 2.866e-02 3.026e-02 + 3.132e-02 3.169e-02 3.132e-02 + 2.918e-02 2.806e-02 2.683e-02 2.572e-02 2.494e-02 2.466e-02 + 2.494e-02 2.572e-02 2.683e-02 2.806e-02 2.918e-02 3.001e-02 + 3.043e-02 3.043e-02 3.001e-02 + 2.918e-02 2.866e-02 2.806e-02 2.752e-02 2.718e-02 2.718e-02 + 2.751e-02 2.806e-02 2.866e-02 2.918e-02 2.953e-02 2.971e-02 + 2.975e-02 2.971e-02 2.953e-02 + 3.026e-02 3.030e-02 3.010e-02 2.978e-02 2.963e-02 2.978e-02 + 3.010e-02 3.030e-02 3.026e-02 3.001e-02 2.971e-02 2.951e-02 + 2.951e-02 2.971e-02 3.001e-02 + 3.200e-02 3.208e-02 3.160e-02 3.108e-02 3.108e-02 3.160e-02 + 3.208e-02 3.200e-02 3.132e-02 3.043e-02 2.975e-02 2.951e-02 + 2.975e-02 3.043e-02 3.132e-02 + 3.319e-02 3.226e-02 3.088e-02 3.024e-02 3.088e-02 3.226e-02 + 3.319e-02 3.290e-02 3.169e-02 3.043e-02 2.971e-02 2.971e-02 + 3.043e-02 3.169e-02 3.290e-02 + 3.227e-02 2.979e-02 2.787e-02 2.787e-02 2.979e-02 3.227e-02 + 3.352e-02 3.290e-02 3.132e-02 3.001e-02 2.953e-02 3.001e-02 + 3.132e-02 3.290e-02 3.352e-02 + 2.000e-02 1.644e-02 1.644e-02 2.000e-02 2.596e-02 3.124e-02 + 3.306e-02 3.200e-02 3.044e-02 2.980e-02 3.044e-02 3.200e-02 + 3.306e-02 3.124e-02 2.596e-02 + 1.644e-02 1.461e-02 1.644e-02 2.154e-02 2.787e-02 3.186e-02 + 3.208e-02 3.046e-02 2.921e-02 2.921e-02 3.046e-02 3.208e-02 + 3.186e-02 2.787e-02 2.154e-02 + 1.644e-02 1.644e-02 1.985e-02 2.546e-02 3.024e-02 3.160e-02 + 3.024e-02 2.853e-02 2.785e-02 2.853e-02 3.024e-02 3.160e-02 + 3.024e-02 2.546e-02 1.985e-02 + 2.000e-02 2.154e-02 2.546e-02 2.950e-02 3.108e-02 2.993e-02 + 2.791e-02 2.661e-02 2.661e-02 2.791e-02 2.993e-02 3.108e-02 + 2.950e-02 2.546e-02 2.154e-02 + 2.596e-02 2.787e-02 3.024e-02 3.108e-02 2.978e-02 2.752e-02 + 2.572e-02 2.508e-02 2.572e-02 2.752e-02 2.978e-02 3.108e-02 + 3.024e-02 2.787e-02 2.596e-02 + 3.124e-02 3.186e-02 3.160e-02 2.993e-02 2.752e-02 2.540e-02 + 2.424e-02 2.424e-02 2.540e-02 2.752e-02 2.993e-02 3.160e-02 + 3.186e-02 3.124e-02 3.085e-02 + 3.306e-02 3.208e-02 3.024e-02 2.791e-02 2.572e-02 2.424e-02 + 2.372e-02 2.424e-02 2.572e-02 2.791e-02 3.024e-02 3.208e-02 + 3.306e-02 3.336e-02 3.336e-02 + 3.200e-02 3.046e-02 2.853e-02 2.661e-02 2.508e-02 2.424e-02 + 2.424e-02 2.508e-02 2.661e-02 2.853e-02 3.046e-02 3.200e-02 + 3.293e-02 3.322e-02 3.293e-02 + 3.044e-02 2.921e-02 2.785e-02 2.661e-02 2.572e-02 2.540e-02 + 2.572e-02 2.661e-02 2.785e-02 2.921e-02 3.044e-02 3.132e-02 + 3.177e-02 3.177e-02 3.132e-02 + 2.980e-02 2.921e-02 2.853e-02 2.791e-02 2.752e-02 2.752e-02 + 2.791e-02 2.853e-02 2.921e-02 2.980e-02 3.022e-02 3.043e-02 + 3.049e-02 3.043e-02 3.022e-02 + 3.044e-02 3.046e-02 3.024e-02 2.993e-02 2.978e-02 2.993e-02 + 3.024e-02 3.046e-02 3.044e-02 3.022e-02 2.994e-02 2.975e-02 + 2.975e-02 2.994e-02 3.022e-02 + 3.200e-02 3.208e-02 3.160e-02 3.108e-02 3.108e-02 3.160e-02 + 3.208e-02 3.200e-02 3.132e-02 3.043e-02 2.975e-02 2.951e-02 + 2.975e-02 3.043e-02 3.132e-02 + 3.306e-02 3.186e-02 3.024e-02 2.950e-02 3.024e-02 3.186e-02 + 3.306e-02 3.293e-02 3.177e-02 3.049e-02 2.975e-02 2.975e-02 + 3.049e-02 3.177e-02 3.293e-02 + 3.124e-02 2.787e-02 2.546e-02 2.546e-02 2.787e-02 3.124e-02 + 3.336e-02 3.322e-02 3.177e-02 3.043e-02 2.994e-02 3.043e-02 + 3.177e-02 3.322e-02 3.336e-02 + 2.596e-02 2.154e-02 1.985e-02 2.154e-02 2.596e-02 3.085e-02 + 3.336e-02 3.293e-02 3.132e-02 3.022e-02 3.022e-02 3.132e-02 + 3.293e-02 3.336e-02 3.085e-02 + 1.087e-02 9.080e-03 1.087e-02 1.644e-02 2.463e-02 3.124e-02 + 3.319e-02 3.209e-02 3.088e-02 3.088e-02 3.209e-02 3.319e-02 + 3.124e-02 2.463e-02 1.644e-02 + 9.080e-03 9.080e-03 1.268e-02 1.985e-02 2.787e-02 3.226e-02 + 3.228e-02 3.081e-02 3.012e-02 3.081e-02 3.228e-02 3.226e-02 + 2.787e-02 1.985e-02 1.268e-02 + 1.087e-02 1.268e-02 1.806e-02 2.546e-02 3.088e-02 3.197e-02 + 3.056e-02 2.929e-02 2.929e-02 3.056e-02 3.197e-02 3.088e-02 + 2.546e-02 1.806e-02 1.268e-02 + 1.644e-02 1.985e-02 2.546e-02 3.024e-02 3.160e-02 3.024e-02 + 2.853e-02 2.785e-02 2.853e-02 3.024e-02 3.160e-02 3.024e-02 + 2.546e-02 1.985e-02 1.644e-02 + 2.463e-02 2.787e-02 3.088e-02 3.160e-02 3.010e-02 2.806e-02 + 2.683e-02 2.683e-02 2.806e-02 3.010e-02 3.160e-02 3.088e-02 + 2.787e-02 2.463e-02 2.329e-02 + 3.124e-02 3.226e-02 3.197e-02 3.024e-02 2.806e-02 2.646e-02 + 2.590e-02 2.646e-02 2.806e-02 3.024e-02 3.197e-02 3.226e-02 + 3.124e-02 3.016e-02 3.016e-02 + 3.319e-02 3.228e-02 3.056e-02 2.853e-02 2.683e-02 2.590e-02 + 2.590e-02 2.683e-02 2.853e-02 3.056e-02 3.228e-02 3.319e-02 + 3.336e-02 3.332e-02 3.336e-02 + 3.209e-02 3.081e-02 2.929e-02 2.785e-02 2.683e-02 2.646e-02 + 2.683e-02 2.785e-02 2.929e-02 3.081e-02 3.209e-02 3.290e-02 + 3.322e-02 3.322e-02 3.290e-02 + 3.088e-02 3.012e-02 2.929e-02 2.853e-02 2.806e-02 2.806e-02 + 2.853e-02 2.929e-02 3.012e-02 3.088e-02 3.142e-02 3.169e-02 + 3.177e-02 3.169e-02 3.142e-02 + 3.088e-02 3.081e-02 3.056e-02 3.024e-02 3.010e-02 3.024e-02 + 3.056e-02 3.081e-02 3.088e-02 3.078e-02 3.059e-02 3.043e-02 + 3.043e-02 3.059e-02 3.078e-02 + 3.209e-02 3.228e-02 3.197e-02 3.160e-02 3.160e-02 3.197e-02 + 3.228e-02 3.209e-02 3.142e-02 3.059e-02 2.994e-02 2.971e-02 + 2.994e-02 3.059e-02 3.142e-02 + 3.319e-02 3.226e-02 3.088e-02 3.024e-02 3.088e-02 3.226e-02 + 3.319e-02 3.290e-02 3.169e-02 3.043e-02 2.971e-02 2.971e-02 + 3.043e-02 3.169e-02 3.290e-02 + 3.124e-02 2.787e-02 2.546e-02 2.546e-02 2.787e-02 3.124e-02 + 3.336e-02 3.322e-02 3.177e-02 3.043e-02 2.994e-02 3.043e-02 + 3.177e-02 3.322e-02 3.336e-02 + 2.463e-02 1.985e-02 1.806e-02 1.985e-02 2.463e-02 3.016e-02 + 3.332e-02 3.322e-02 3.169e-02 3.059e-02 3.059e-02 3.169e-02 + 3.322e-02 3.332e-02 3.016e-02 + 1.644e-02 1.268e-02 1.268e-02 1.644e-02 2.329e-02 3.016e-02 + 3.336e-02 3.290e-02 3.142e-02 3.078e-02 3.142e-02 3.290e-02 + 3.336e-02 3.016e-02 2.329e-02 + 5.807e-03 5.807e-03 9.080e-03 1.644e-02 2.596e-02 3.227e-02 + 3.332e-02 3.208e-02 3.140e-02 3.208e-02 3.332e-02 3.227e-02 + 2.596e-02 1.644e-02 9.080e-03 + 5.807e-03 7.373e-03 1.268e-02 2.154e-02 2.979e-02 3.303e-02 + 3.236e-02 3.117e-02 3.117e-02 3.236e-02 3.303e-02 2.979e-02 + 2.154e-02 1.268e-02 7.373e-03 + 9.080e-03 1.268e-02 1.985e-02 2.787e-02 3.226e-02 3.228e-02 + 3.081e-02 3.012e-02 3.081e-02 3.228e-02 3.226e-02 2.787e-02 + 1.985e-02 1.268e-02 9.080e-03 + 1.644e-02 2.154e-02 2.787e-02 3.186e-02 3.208e-02 3.046e-02 + 2.921e-02 2.921e-02 3.046e-02 3.208e-02 3.186e-02 2.787e-02 + 2.154e-02 1.644e-02 1.461e-02 + 2.596e-02 2.979e-02 3.226e-02 3.208e-02 3.030e-02 2.866e-02 + 2.806e-02 2.866e-02 3.030e-02 3.208e-02 3.226e-02 2.979e-02 + 2.596e-02 2.329e-02 2.329e-02 + 3.227e-02 3.303e-02 3.228e-02 3.046e-02 2.866e-02 2.765e-02 + 2.765e-02 2.866e-02 3.046e-02 3.228e-02 3.303e-02 3.227e-02 + 3.085e-02 3.016e-02 3.085e-02 + 3.332e-02 3.236e-02 3.081e-02 2.921e-02 2.806e-02 2.765e-02 + 2.806e-02 2.921e-02 3.081e-02 3.236e-02 3.332e-02 3.352e-02 + 3.336e-02 3.336e-02 3.352e-02 + 3.208e-02 3.117e-02 3.012e-02 2.921e-02 2.866e-02 2.866e-02 + 2.921e-02 3.012e-02 3.117e-02 3.208e-02 3.267e-02 3.290e-02 + 3.293e-02 3.290e-02 3.267e-02 + 3.140e-02 3.117e-02 3.081e-02 3.046e-02 3.030e-02 3.046e-02 + 3.081e-02 3.117e-02 3.140e-02 3.148e-02 3.142e-02 3.132e-02 + 3.132e-02 3.142e-02 3.148e-02 + 3.208e-02 3.236e-02 3.228e-02 3.208e-02 3.208e-02 3.228e-02 + 3.236e-02 3.208e-02 3.148e-02 3.078e-02 3.022e-02 3.001e-02 + 3.022e-02 3.078e-02 3.148e-02 + 3.332e-02 3.303e-02 3.226e-02 3.186e-02 3.226e-02 3.303e-02 + 3.332e-02 3.267e-02 3.142e-02 3.022e-02 2.953e-02 2.953e-02 + 3.022e-02 3.142e-02 3.267e-02 + 3.227e-02 2.979e-02 2.787e-02 2.787e-02 2.979e-02 3.227e-02 + 3.352e-02 3.290e-02 3.132e-02 3.001e-02 2.953e-02 3.001e-02 + 3.132e-02 3.290e-02 3.352e-02 + 2.596e-02 2.154e-02 1.985e-02 2.154e-02 2.596e-02 3.085e-02 + 3.336e-02 3.293e-02 3.132e-02 3.022e-02 3.022e-02 3.132e-02 + 3.293e-02 3.336e-02 3.085e-02 + 1.644e-02 1.268e-02 1.268e-02 1.644e-02 2.329e-02 3.016e-02 + 3.336e-02 3.290e-02 3.142e-02 3.078e-02 3.142e-02 3.290e-02 + 3.336e-02 3.016e-02 2.329e-02 + 9.080e-03 7.373e-03 9.080e-03 1.461e-02 2.329e-02 3.085e-02 + 3.352e-02 3.267e-02 3.148e-02 3.148e-02 3.267e-02 3.352e-02 + 3.085e-02 2.329e-02 1.461e-02 diff --git a/tests/07_OFDFT/33_OF_out_chg/result.ref b/tests/07_OFDFT/33_OF_out_chg/result.ref new file mode 100644 index 0000000000..9ab70af1b8 --- /dev/null +++ b/tests/07_OFDFT/33_OF_out_chg/result.ref @@ -0,0 +1,7 @@ +etotref -57.93385514279165 +etotperatomref -57.9338551428 +pointgroupref O_h +spacegroupref O_h +chg.cube_pass 0 +nksibzref 1 +totaltimeref 0.34 diff --git a/tests/07_OFDFT/CASES_CPU.txt b/tests/07_OFDFT/CASES_CPU.txt index 67e095d710..a6e6110ca3 100644 --- a/tests/07_OFDFT/CASES_CPU.txt +++ b/tests/07_OFDFT/CASES_CPU.txt @@ -26,4 +26,8 @@ 26_OF_MD_LibxcPBE 27_OF_CR_LDA 28_OF_KE_XWM -29_OF_XWM_para \ No newline at end of file +29_OF_XWM_para +30_TDOFDFT_Al +31_TDOFDFT_Al_CD +32_TDOFDFT_Al_mCD +33_OF_out_chg diff --git a/tests/08_EXX/06_KP_MD_HSE/INPUT b/tests/08_EXX/06_KP_MD_HSE/INPUT index 61dc49d3ea..327d987f4c 100644 --- a/tests/08_EXX/06_KP_MD_HSE/INPUT +++ b/tests/08_EXX/06_KP_MD_HSE/INPUT @@ -28,7 +28,7 @@ mixing_beta 0.4 #Parameters (9.Molecular dynamics) md_type nve -md_nstep 2 +md_nstep 3 md_dt 1 md_tfirst 300 diff --git a/tests/08_EXX/12_KP_OXC/vxck2_nao.txt.ref b/tests/08_EXX/12_KP_OXC/vxck2_nao.txt.ref new file mode 100644 index 0000000000..ff015bac04 --- /dev/null +++ b/tests/08_EXX/12_KP_OXC/vxck2_nao.txt.ref @@ -0,0 +1,19 @@ +#------------------------------------------------------------------------ +# ionic step 0 +# filename OUT.autotest/vxck2_nao.txt +# gamma only 0 +# rows 6 +# columns 6 +#------------------------------------------------------------------------ +Row 1 + (-1.04521692e+00,1.21238377e-15) (-2.94170695e-11,1.41798087e-15) (-1.99490049e-04,-2.26049394e-17) (2.79409680e-10,-1.86234457e-17) (-1.03725452e-10,-6.59450471e-18) (-4.06431774e-12,1.49751217e-23) +Row 2 + (-1.09707710e+00,-2.36477591e-15) (1.01850879e-10,-2.69600684e-19) (-5.02033582e-12,9.26336605e-24) (-3.65275222e-04,-3.06863320e-17) (-3.82248902e-11,1.47984502e-16) +Row 3 + (-1.10514811e+00,1.16179705e-15) (-3.34409897e-10,-3.33120847e-17) (2.31186850e-10,-1.41182530e-15) (-1.79607311e-13,8.86811471e-22) +Row 4 + (-1.10467119e+00,1.16025891e-15) (1.96365784e-13,8.74104627e-22) (-3.08273934e-10,1.40935092e-15) +Row 5 + (-8.01253751e-01,-1.73913949e-15) (1.18411485e-10,3.77818493e-17) +Row 6 + (-8.00580320e-01,-1.73052617e-15) diff --git a/tests/08_EXX/12_KP_OXC/vxcs1k2_nao.txt.ref b/tests/08_EXX/12_KP_OXC/vxcs1k2_nao.txt.ref deleted file mode 100644 index 6730bdcb9b..0000000000 --- a/tests/08_EXX/12_KP_OXC/vxcs1k2_nao.txt.ref +++ /dev/null @@ -1,6 +0,0 @@ -6 (-1.0452169,1.2123838e-15) (4.9059386e-11,1.4179809e-15) (-0.00019949431,-2.2604179e-17) (-2.2290933e-10,-1.8623075e-17) (-1.1384613e-11,-6.5945089e-18) (-2.7169425e-11,-6.6468877e-24) - (-1.0970771,-2.3647759e-15) (2.3737271e-11,-2.6964156e-19) (-3.3538934e-11,-1.2422321e-24) (-0.000365275,-3.0685935e-17) (3.0494717e-11,1.4798433e-16) - (-1.1051481,1.1617971e-15) (2.667783e-10,-3.3313604e-17) (-2.1070688e-10,-1.4118254e-15) (-1.2088768e-12,-7.0485115e-22) - (-1.1046712,1.1602589e-15) (1.2991642e-12,-6.9476958e-22) (2.3448149e-10,1.4093508e-15) - (-0.80125376,-1.73914e-15) (-9.4467851e-11,3.7782225e-17) - (-0.80058031,-1.7305258e-15) diff --git a/tests/09_DeePKS/102_NO_GO_deepks_scf/INPUT b/tests/09_DeePKS/01_NO_GO_deepks_scf/INPUT similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_scf/INPUT rename to tests/09_DeePKS/01_NO_GO_deepks_scf/INPUT diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_s/KPT b/tests/09_DeePKS/01_NO_GO_deepks_scf/KPT similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_s/KPT rename to tests/09_DeePKS/01_NO_GO_deepks_scf/KPT diff --git a/tests/09_DeePKS/102_NO_GO_deepks_scf/README b/tests/09_DeePKS/01_NO_GO_deepks_scf/README similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_scf/README rename to tests/09_DeePKS/01_NO_GO_deepks_scf/README diff --git a/tests/09_DeePKS/102_NO_GO_deepks_nscf/STRU b/tests/09_DeePKS/01_NO_GO_deepks_scf/STRU similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_nscf/STRU rename to tests/09_DeePKS/01_NO_GO_deepks_scf/STRU diff --git a/tests/09_DeePKS/102_NO_GO_deepks_scf/result.ref b/tests/09_DeePKS/01_NO_GO_deepks_scf/result.ref similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_scf/result.ref rename to tests/09_DeePKS/01_NO_GO_deepks_scf/result.ref diff --git a/tests/09_DeePKS/102_NO_KP_deepks_scf/INPUT b/tests/09_DeePKS/02_NO_KP_deepks_scf/INPUT similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_scf/INPUT rename to tests/09_DeePKS/02_NO_KP_deepks_scf/INPUT diff --git a/tests/09_DeePKS/102_NO_KP_deepks_nscf/KPT b/tests/09_DeePKS/02_NO_KP_deepks_scf/KPT similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_nscf/KPT rename to tests/09_DeePKS/02_NO_KP_deepks_scf/KPT diff --git a/tests/09_DeePKS/102_NO_KP_deepks_scf/README b/tests/09_DeePKS/02_NO_KP_deepks_scf/README similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_scf/README rename to tests/09_DeePKS/02_NO_KP_deepks_scf/README diff --git a/tests/09_DeePKS/102_NO_KP_deepks_nscf/STRU b/tests/09_DeePKS/02_NO_KP_deepks_scf/STRU similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_nscf/STRU rename to tests/09_DeePKS/02_NO_KP_deepks_scf/STRU diff --git a/tests/09_DeePKS/102_NO_KP_deepks_scf/result.ref b/tests/09_DeePKS/02_NO_KP_deepks_scf/result.ref similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_scf/result.ref rename to tests/09_DeePKS/02_NO_KP_deepks_scf/result.ref diff --git a/tests/09_DeePKS/102_NO_GO_deepks_md/INPUT b/tests/09_DeePKS/03_NO_GO_deepks_md/INPUT similarity index 97% rename from tests/09_DeePKS/102_NO_GO_deepks_md/INPUT rename to tests/09_DeePKS/03_NO_GO_deepks_md/INPUT index 76cb63f2e1..8cb1526c4a 100644 --- a/tests/09_DeePKS/102_NO_GO_deepks_md/INPUT +++ b/tests/09_DeePKS/03_NO_GO_deepks_md/INPUT @@ -35,7 +35,7 @@ cal_force 1 cal_stress 1 md_type nvt -md_nstep 1 +md_nstep 2 md_dt 1 md_tfirst 300 md_tfreq 0.025 diff --git a/tests/09_DeePKS/102_NO_GO_deepks_md/KPT b/tests/09_DeePKS/03_NO_GO_deepks_md/KPT similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_md/KPT rename to tests/09_DeePKS/03_NO_GO_deepks_md/KPT diff --git a/tests/09_DeePKS/102_NO_GO_deepks_md/README b/tests/09_DeePKS/03_NO_GO_deepks_md/README similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_md/README rename to tests/09_DeePKS/03_NO_GO_deepks_md/README diff --git a/tests/09_DeePKS/102_NO_GO_deepks_md/STRU b/tests/09_DeePKS/03_NO_GO_deepks_md/STRU similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_md/STRU rename to tests/09_DeePKS/03_NO_GO_deepks_md/STRU diff --git a/tests/09_DeePKS/102_NO_GO_deepks_md/result.ref b/tests/09_DeePKS/03_NO_GO_deepks_md/result.ref similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_md/result.ref rename to tests/09_DeePKS/03_NO_GO_deepks_md/result.ref diff --git a/tests/09_DeePKS/102_NO_KP_deepks_md/INPUT b/tests/09_DeePKS/04_NO_KP_deepks_md/INPUT similarity index 94% rename from tests/09_DeePKS/102_NO_KP_deepks_md/INPUT rename to tests/09_DeePKS/04_NO_KP_deepks_md/INPUT index 92ddd973d0..1231091480 100644 --- a/tests/09_DeePKS/102_NO_KP_deepks_md/INPUT +++ b/tests/09_DeePKS/04_NO_KP_deepks_md/INPUT @@ -35,8 +35,8 @@ cal_stress 1 deepks_model ../Model_ProjOrb/model_lda_pbe_18.ptg md_type nvt -md_nstep 1 +md_nstep 2 md_dt 1 md_tfirst 300 md_tfreq 0.025 -md_tchain 1 \ No newline at end of file +md_tchain 1 diff --git a/tests/09_DeePKS/102_NO_KP_deepks_md/KPT b/tests/09_DeePKS/04_NO_KP_deepks_md/KPT similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_md/KPT rename to tests/09_DeePKS/04_NO_KP_deepks_md/KPT diff --git a/tests/09_DeePKS/102_NO_KP_deepks_md/README b/tests/09_DeePKS/04_NO_KP_deepks_md/README similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_md/README rename to tests/09_DeePKS/04_NO_KP_deepks_md/README diff --git a/tests/09_DeePKS/102_NO_KP_deepks_md/STRU b/tests/09_DeePKS/04_NO_KP_deepks_md/STRU similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_md/STRU rename to tests/09_DeePKS/04_NO_KP_deepks_md/STRU diff --git a/tests/09_DeePKS/102_NO_KP_deepks_md/result.ref b/tests/09_DeePKS/04_NO_KP_deepks_md/result.ref similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_md/result.ref rename to tests/09_DeePKS/04_NO_KP_deepks_md/result.ref diff --git a/tests/09_DeePKS/102_NO_GO_deepks_nscf/INPUT b/tests/09_DeePKS/05_NO_GO_deepks_nscf/INPUT similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_nscf/INPUT rename to tests/09_DeePKS/05_NO_GO_deepks_nscf/INPUT diff --git a/tests/09_DeePKS/102_NO_GO_deepks_nscf/KPT b/tests/09_DeePKS/05_NO_GO_deepks_nscf/KPT similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_nscf/KPT rename to tests/09_DeePKS/05_NO_GO_deepks_nscf/KPT diff --git a/tests/09_DeePKS/102_NO_GO_deepks_nscf/README b/tests/09_DeePKS/05_NO_GO_deepks_nscf/README similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_nscf/README rename to tests/09_DeePKS/05_NO_GO_deepks_nscf/README diff --git a/tests/09_DeePKS/102_NO_GO_deepks_scf/STRU b/tests/09_DeePKS/05_NO_GO_deepks_nscf/STRU similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_scf/STRU rename to tests/09_DeePKS/05_NO_GO_deepks_nscf/STRU diff --git a/tests/09_DeePKS/102_NO_GO_deepks_nscf/chgs1.cube b/tests/09_DeePKS/05_NO_GO_deepks_nscf/chg.cube similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_nscf/chgs1.cube rename to tests/09_DeePKS/05_NO_GO_deepks_nscf/chg.cube diff --git a/tests/09_DeePKS/102_NO_GO_deepks_nscf/OUT.autotest/deepks_projdm.dat b/tests/09_DeePKS/05_NO_GO_deepks_nscf/deepks_projdm.dat similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_nscf/OUT.autotest/deepks_projdm.dat rename to tests/09_DeePKS/05_NO_GO_deepks_nscf/deepks_projdm.dat diff --git a/tests/09_DeePKS/102_NO_GO_deepks_nscf/result.ref b/tests/09_DeePKS/05_NO_GO_deepks_nscf/result.ref similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_nscf/result.ref rename to tests/09_DeePKS/05_NO_GO_deepks_nscf/result.ref diff --git a/tests/09_DeePKS/102_NO_KP_deepks_nscf/INPUT b/tests/09_DeePKS/06_NO_KP_deepks_nscf/INPUT similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_nscf/INPUT rename to tests/09_DeePKS/06_NO_KP_deepks_nscf/INPUT diff --git a/tests/09_DeePKS/102_NO_KP_deepks_scf/KPT b/tests/09_DeePKS/06_NO_KP_deepks_nscf/KPT similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_scf/KPT rename to tests/09_DeePKS/06_NO_KP_deepks_nscf/KPT diff --git a/tests/09_DeePKS/102_NO_KP_deepks_nscf/README b/tests/09_DeePKS/06_NO_KP_deepks_nscf/README similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_nscf/README rename to tests/09_DeePKS/06_NO_KP_deepks_nscf/README diff --git a/tests/09_DeePKS/102_NO_KP_deepks_scf/STRU b/tests/09_DeePKS/06_NO_KP_deepks_nscf/STRU similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_scf/STRU rename to tests/09_DeePKS/06_NO_KP_deepks_nscf/STRU diff --git a/tests/09_DeePKS/102_NO_KP_deepks_nscf/chgs1.cube b/tests/09_DeePKS/06_NO_KP_deepks_nscf/chg.cube similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_nscf/chgs1.cube rename to tests/09_DeePKS/06_NO_KP_deepks_nscf/chg.cube diff --git a/tests/09_DeePKS/102_NO_KP_deepks_nscf/OUT.autotest/deepks_projdm.dat b/tests/09_DeePKS/06_NO_KP_deepks_nscf/deepks_projdm.dat similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_nscf/OUT.autotest/deepks_projdm.dat rename to tests/09_DeePKS/06_NO_KP_deepks_nscf/deepks_projdm.dat diff --git a/tests/09_DeePKS/102_NO_KP_deepks_nscf/result.ref b/tests/09_DeePKS/06_NO_KP_deepks_nscf/result.ref similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_nscf/result.ref rename to tests/09_DeePKS/06_NO_KP_deepks_nscf/result.ref diff --git a/tests/09_DeePKS/102_NO_GO_deepks_relax/INPUT b/tests/09_DeePKS/07_NO_GO_deepks_relax/INPUT similarity index 96% rename from tests/09_DeePKS/102_NO_GO_deepks_relax/INPUT rename to tests/09_DeePKS/07_NO_GO_deepks_relax/INPUT index c111a61dc5..d1cce921c3 100644 --- a/tests/09_DeePKS/102_NO_GO_deepks_relax/INPUT +++ b/tests/09_DeePKS/07_NO_GO_deepks_relax/INPUT @@ -2,7 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation relax -relax_method bfgs +relax_method bfgs 2 relax_nmax 10 dft_functional pbe diff --git a/tests/09_DeePKS/102_NO_GO_deepks_relax/KPT b/tests/09_DeePKS/07_NO_GO_deepks_relax/KPT similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_relax/KPT rename to tests/09_DeePKS/07_NO_GO_deepks_relax/KPT diff --git a/tests/09_DeePKS/102_NO_GO_deepks_relax/README b/tests/09_DeePKS/07_NO_GO_deepks_relax/README similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_relax/README rename to tests/09_DeePKS/07_NO_GO_deepks_relax/README diff --git a/tests/09_DeePKS/102_NO_GO_deepks_relax/STRU b/tests/09_DeePKS/07_NO_GO_deepks_relax/STRU similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_relax/STRU rename to tests/09_DeePKS/07_NO_GO_deepks_relax/STRU diff --git a/tests/09_DeePKS/102_NO_GO_deepks_relax/result.ref b/tests/09_DeePKS/07_NO_GO_deepks_relax/result.ref similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_relax/result.ref rename to tests/09_DeePKS/07_NO_GO_deepks_relax/result.ref diff --git a/tests/09_DeePKS/102_NO_KP_deepks_relax/INPUT b/tests/09_DeePKS/08_NO_KP_deepks_relax/INPUT similarity index 96% rename from tests/09_DeePKS/102_NO_KP_deepks_relax/INPUT rename to tests/09_DeePKS/08_NO_KP_deepks_relax/INPUT index 329564682c..64337f5fdd 100644 --- a/tests/09_DeePKS/102_NO_KP_deepks_relax/INPUT +++ b/tests/09_DeePKS/08_NO_KP_deepks_relax/INPUT @@ -2,7 +2,7 @@ INPUT_PARAMETERS #Parameters (1.General) suffix autotest calculation relax -relax_method bfgs +relax_method bfgs 2 relax_nmax 10 dft_functional pbe diff --git a/tests/09_DeePKS/102_NO_KP_deepks_relax/KPT b/tests/09_DeePKS/08_NO_KP_deepks_relax/KPT similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_relax/KPT rename to tests/09_DeePKS/08_NO_KP_deepks_relax/KPT diff --git a/tests/09_DeePKS/102_NO_KP_deepks_relax/README b/tests/09_DeePKS/08_NO_KP_deepks_relax/README similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_relax/README rename to tests/09_DeePKS/08_NO_KP_deepks_relax/README diff --git a/tests/09_DeePKS/102_NO_KP_deepks_relax/STRU b/tests/09_DeePKS/08_NO_KP_deepks_relax/STRU similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_relax/STRU rename to tests/09_DeePKS/08_NO_KP_deepks_relax/STRU diff --git a/tests/09_DeePKS/102_NO_KP_deepks_relax/result.ref b/tests/09_DeePKS/08_NO_KP_deepks_relax/result.ref similarity index 100% rename from tests/09_DeePKS/102_NO_KP_deepks_relax/result.ref rename to tests/09_DeePKS/08_NO_KP_deepks_relax/result.ref diff --git a/tests/09_DeePKS/103_NO_GO_deepks_basic/INPUT b/tests/09_DeePKS/09_NO_GO_deepks_basic/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_basic/INPUT rename to tests/09_DeePKS/09_NO_GO_deepks_basic/INPUT diff --git a/tests/09_DeePKS/102_NO_GO_deepks_scf/KPT b/tests/09_DeePKS/09_NO_GO_deepks_basic/KPT similarity index 100% rename from tests/09_DeePKS/102_NO_GO_deepks_scf/KPT rename to tests/09_DeePKS/09_NO_GO_deepks_basic/KPT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_basic/README b/tests/09_DeePKS/09_NO_GO_deepks_basic/README similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_basic/README rename to tests/09_DeePKS/09_NO_GO_deepks_basic/README diff --git a/tests/09_DeePKS/103_NO_GO_deepks_basic/STRU b/tests/09_DeePKS/09_NO_GO_deepks_basic/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_basic/STRU rename to tests/09_DeePKS/09_NO_GO_deepks_basic/STRU diff --git a/tests/09_DeePKS/103_NO_GO_deepks_basic/result.ref b/tests/09_DeePKS/09_NO_GO_deepks_basic/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_basic/result.ref rename to tests/09_DeePKS/09_NO_GO_deepks_basic/result.ref diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/E_delta_bands_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/E_delta_bands_ref.dat deleted file mode 100644 index a764a14cfc..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/E_delta_bands_ref.dat +++ /dev/null @@ -1 +0,0 @@ --0.007602894356 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/E_delta_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/E_delta_ref.dat deleted file mode 100644 index fa51fec592..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/E_delta_ref.dat +++ /dev/null @@ -1 +0,0 @@ --0.1377737748 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/F_delta_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/F_delta_ref.dat deleted file mode 100644 index eff645c525..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/F_delta_ref.dat +++ /dev/null @@ -1,5 +0,0 @@ --0.0003706779237 8.336190151e-06 0.001631126762 -9.708686281e-05 1.690692748e-05 -0.005582105144 --0.003585987888 2.035424355e-05 0.001126977947 -0.001908170566 0.00362839126 0.001398407512 -0.001951408382 -0.003673988622 0.001425592923 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/descriptor_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/descriptor_ref.dat deleted file mode 100644 index 568fa37104..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/descriptor_ref.dat +++ /dev/null @@ -1,85 +0,0 @@ -C atom_index 1 n_descriptor 117 -1.324860831 0.5600247713 0.08683995213 0.002391330993 0.0002024558499 0.001941592692 0.0009357014709 0.001285464024 -0.0003747383084 0.0003981271759 3.380417477e-05 6.431403684e-05 2.556932909e-06 0.8695818932 0.916560116 0.9348722622 -0.5671462004 0.5827725011 0.6038780645 0.2225610471 0.2375338231 0.2689329217 0.05107183751 0.0550662635 -0.06725417066 0.0274640254 0.02763567155 0.03036736102 0.009236827855 0.009784456469 0.01047491505 0.007756248553 -0.008939652399 0.009556260509 0.00269143549 0.002988436311 0.0030097818 0.002698641498 0.00275369074 0.002809538324 -0.0004430358294 0.000473965429 0.0005461798262 0.0006207625589 0.0006252586984 0.0006801435171 4.150871189e-05 4.330816918e-05 -4.667738734e-05 0.0001557875346 0.0001718841495 0.0001850356996 -1.183981499e-19 6.063545581e-07 0.04038715139 0.05269214728 -0.06114420692 1.292616484e-18 5.575625058e-07 0.04171422912 0.04594499957 0.04814794243 -7.089220973e-20 1.765877947e-07 -0.0123284183 0.01390481134 0.01663859359 -3.852003475e-20 3.615081622e-09 0.0001736888643 0.0005485798217 0.002063123394 --2.168214613e-20 4.401821355e-10 1.690595317e-05 7.715571121e-05 0.0001213088347 -5.227637072e-20 2.690574911e-09 0.0001582957773 -0.0003014056198 0.0003098393785 -2.578746165e-21 2.002926017e-11 1.091401345e-06 9.842946442e-06 2.886364082e-05 -1.467890701e-21 -3.781819455e-11 2.738852614e-07 1.682185927e-06 3.057534856e-05 -6.145488072e-21 4.629796289e-11 4.595018067e-06 2.141227898e-05 -2.536254421e-05 -8.938399573e-23 3.772623386e-12 2.778571396e-08 4.457119135e-07 3.033763681e-06 -1.039006993e-21 5.051850135e-11 -2.864461584e-06 4.258478683e-06 6.253775845e-06 1.263644019e-21 3.715492028e-11 2.13443985e-06 6.156461998e-06 6.427224849e-06 -8.615639474e-23 2.171014683e-11 1.415717567e-06 1.797491267e-06 2.149757784e-06 - -H atom_index 1 n_descriptor 117 -1.098605102 0.7495795634 0.3252209747 0.06672575817 0.005898566349 0.000519189802 0.0002552736779 0.0003234603839 -0.0002335484133 0.0004497605392 0.0001012210655 8.786165673e-05 3.539866253e-05 0.5905397681 0.598461126 0.8795152914 -0.1044141671 0.1114081517 0.1266379876 0.009515278265 0.009902643111 0.06160116406 4.612177997e-05 9.115920963e-05 -0.05014362463 0.0002442240299 0.0002958040607 0.004301186338 0.0003868073526 0.0004226864861 0.0005105677415 1.449869113e-05 -1.580735669e-05 0.001406025591 0.0001296467764 0.0001356599856 0.0001724887798 0.0001272755945 0.0001385483305 0.0004430266012 -4.65141336e-05 5.300624993e-05 0.0001647060554 2.272102161e-05 5.384463551e-05 5.551241557e-05 4.849594913e-05 4.997326859e-05 -0.0001351349529 3.923290381e-05 4.204567163e-05 6.184414284e-05 -7.325504269e-14 4.743830918e-08 0.3119131633 0.4891762159 -0.5011445533 -4.583638385e-15 5.374932893e-08 0.08730883866 0.1769972762 0.186367201 -2.371984657e-16 1.693664909e-06 -0.004676598456 0.03183582515 0.03379273604 -2.400925284e-15 1.919260555e-07 0.001195586854 0.001365496543 0.01930914966 --6.043462235e-17 6.483234972e-08 0.000982477601 0.001206386856 0.00839954464 -1.255767316e-18 4.504838611e-08 0.0001187273216 -0.0001537274649 0.003235584061 -1.067876998e-16 9.335912398e-08 3.936269894e-06 3.957751825e-06 0.0001799379967 -4.812116629e-17 -1.130748427e-10 6.236657691e-05 0.0002721719788 0.0002786798993 -3.910423899e-18 1.098368929e-09 6.058274681e-05 7.539783521e-05 -0.0004622823936 -1.412067608e-18 1.508439812e-09 1.417642678e-05 2.631797473e-05 3.28595603e-05 -1.314050125e-17 1.6384074e-11 -1.969568504e-05 5.901670367e-05 5.913736007e-05 -6.071600775e-18 2.700911728e-11 3.929750348e-05 4.006934305e-05 5.969216787e-05 --3.278345683e-18 2.297319961e-12 8.799274201e-06 3.001252069e-05 3.388745239e-05 - -H atom_index 2 n_descriptor 117 -1.066059296 0.7453159715 0.2272757978 0.02268097303 0.00210041428 0.0006983231607 0.0009453295944 0.001533508085 -0.0004715005968 0.0002363166266 7.650629389e-05 7.034243271e-05 3.474045631e-05 0.4707547845 0.4852871597 0.8459050647 -0.0425861505 0.04975191971 0.1333461159 0.0009068345858 0.0009986348456 0.08651615735 0.0009734263907 0.001277773457 -0.02389125178 9.440348353e-05 0.0001230076263 0.002068445798 0.0002898134263 0.000405323856 0.0009215389789 0.0001136309834 -0.0001336591021 0.001354683766 5.971564529e-05 6.357551643e-05 0.0003786453155 4.784147073e-05 0.0001139331031 0.0001214582535 -7.640800882e-05 9.309400337e-05 0.0002991784943 4.485703977e-05 5.470324742e-05 0.0001456595214 4.57071795e-05 5.133796737e-05 -6.113873751e-05 4.230789719e-05 4.610390344e-05 0.0001052539477 -9.942399523e-15 1.635602839e-07 0.4166274084 0.5201712957 -0.5458105194 -2.881672179e-17 8.251041194e-07 0.05825466592 0.1171892841 0.1341075864 -4.887469832e-16 2.717085945e-06 -0.01015981041 0.01176405702 0.02713831111 -2.638235092e-17 1.345076142e-07 0.0002893168385 0.0005239157678 0.03049069728 --5.221577314e-17 1.410609052e-07 9.404937335e-05 0.0001948845312 0.001713559167 -7.268488418e-18 2.881045976e-10 9.810194935e-05 -0.0004344160694 0.0006252264378 -3.39040841e-19 4.644683891e-10 4.306033514e-05 4.674548199e-05 0.001581342823 -7.409489793e-19 -3.055740839e-09 6.97100551e-05 7.978386841e-05 0.0001000042475 -3.283402357e-18 5.219274745e-09 2.136057469e-05 0.0001516153737 -0.0001798260934 -1.376225085e-18 6.24846001e-09 6.160379901e-05 8.814700702e-05 0.0002389709743 -7.25718242e-19 1.921027202e-11 -2.698746144e-05 4.690575194e-05 5.34539035e-05 -1.023580241e-18 3.513446915e-10 3.104686508e-05 5.335830712e-05 5.651805483e-05 --8.762999951e-19 1.312018938e-09 4.196691081e-05 5.130099515e-05 6.00940637e-05 - -H atom_index 3 n_descriptor 117 -1.072875794 0.7492115734 0.2520946 0.03085946079 0.002353586074 0.0004022672543 0.0005672046673 0.001282863354 -0.000496264943 0.0003186440715 7.841854164e-05 5.784777788e-05 3.522718558e-05 0.495726934 0.513259289 0.8554494483 -0.05270001399 0.06314503126 0.1284387793 0.002010572212 0.002245774641 0.08459686849 0.0006781104219 0.001043545509 -0.0321046318 7.477142908e-05 0.0001198309287 0.0008740942697 0.000314370922 0.0004766160339 0.0006031258316 8.621238219e-05 -0.0001035671389 0.001839325965 6.135074924e-05 6.792331266e-05 0.0002019288118 3.748894875e-05 0.0001227724732 0.0001358936561 -6.614301922e-05 8.667688695e-05 0.0003637961651 4.325828215e-05 5.320922396e-05 9.256091574e-05 4.717813107e-05 5.26975738e-05 -6.512425766e-05 4.036925952e-05 4.582077217e-05 0.0001115153413 -4.205279615e-14 2.318992809e-07 0.3946701482 0.5114627326 -0.5430379672 -1.530603065e-15 1.321771425e-06 0.06358728311 0.1289176481 0.1518655472 -2.813829039e-15 5.329534275e-06 -0.01423222587 0.01686477908 0.01947627673 -2.237125186e-15 1.789596519e-06 7.945394706e-05 0.0002056196701 0.03075041389 --7.171536746e-17 3.570102327e-08 0.000128020796 0.0003106019487 0.00349602538 -4.14699737e-17 5.72335645e-07 0.0001428120485 -0.0004176966772 0.0006499234709 -1.095915408e-19 3.240749442e-10 1.447820741e-05 2.195383392e-05 0.001351212072 -1.065894228e-17 -1.654236155e-09 9.240769839e-05 0.000111777506 0.0001497317319 -2.119091765e-17 1.747308723e-08 9.276902073e-05 0.0001425894753 -0.0001793036357 -5.935703804e-18 4.431695181e-09 4.29546023e-05 7.150592423e-05 0.0001874481269 -4.41374928e-18 1.117382431e-09 -1.218200499e-05 4.835160026e-05 5.541954064e-05 -4.95657466e-18 6.770259067e-10 4.529460622e-05 5.182849641e-05 5.54090552e-05 --4.59078958e-18 1.28291777e-09 3.529558353e-05 4.647622419e-05 5.018985314e-05 - -H atom_index 4 n_descriptor 117 -1.076905759 0.7505672105 0.2654735826 0.03602771298 0.002602551235 0.0003282954594 0.0004230428263 0.001104631382 -0.000484227278 0.0003667222204 7.970678348e-05 5.526037756e-05 3.597855097e-05 0.5093264096 0.5295797518 0.8603779172 -0.05978648191 0.07011888455 0.1267264325 0.002799184517 0.00320095235 0.08227264164 0.0005340127392 0.0008612190756 -0.03636668558 7.341019579e-05 0.0001326467689 0.0007106140273 0.0002726371094 0.0004284535045 0.000531731561 7.25178725e-05 -8.169619072e-05 0.00199688686 6.526238644e-05 7.214393049e-05 0.0001522542184 5.168144081e-05 0.0001273129985 0.0001438518239 -6.099455487e-05 8.211188965e-05 0.0003724476668 4.329148742e-05 5.2767521e-05 6.939157346e-05 4.797154716e-05 5.365169042e-05 -7.187699257e-05 3.916720294e-05 4.558041043e-05 0.0001095943866 -5.333407762e-14 4.884262051e-07 0.381812448 0.5064834489 -0.5400106478 -5.167787288e-15 9.055336292e-07 0.0673416006 0.1362313965 0.1599758942 -2.88206e-15 6.863623229e-06 -0.0154092469 0.01667488876 0.02016716968 -8.95122582e-15 2.61519226e-06 0.0001008043504 0.000122793475 0.02994082585 --2.320235995e-18 4.284069415e-09 0.0001755709327 0.0004102819955 0.004612884769 -3.990181075e-17 5.16398016e-07 0.0003206919486 -0.0004590677531 0.0006049351942 -5.061440383e-18 1.603035762e-09 5.661183523e-06 1.284970954e-05 0.001120873834 -1.306564849e-17 -2.826054946e-09 0.0001133291171 0.0001310638632 0.0001793411122 -2.139171125e-17 2.417480231e-08 0.0001201588268 0.0001716169249 -0.0001768421225 -5.145551842e-18 3.09719065e-09 3.627318582e-05 6.258724207e-05 0.0001430005699 -5.616122447e-18 1.758833697e-09 -8.498437259e-06 5.075844714e-05 5.56219579e-05 -5.638988892e-18 1.008359145e-09 5.013459407e-05 5.306528676e-05 5.506585846e-05 --4.655884534e-18 1.326652709e-09 3.17974234e-05 4.146664705e-05 4.554097626e-05 - diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/dphialpha_x_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/dphialpha_x_ref.dat deleted file mode 100644 index 11af4570b5..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/dphialpha_x_ref.dat +++ /dev/null @@ -1,870 +0,0 @@ -iat : 0 -ad : 0 2.003222249 -iw : 6 --0.05049612269 -0.1196778774 -0.07940397858 -0.01557328695 0.02113192621 0.01571037924 -0.005022529568 -0.004957416241 -0.004733445364 -0.002375809462 0.002519307608 0.0008764020239 -0.0006617332614 0.01740517535 0.2242165536 -0.04205856012 0.04360372101 0.09708956734 --0.1053657711 0.04103742188 0.0007647111047 -0.09916446348 0.0183248609 -0.0357883053 --0.04428092496 0.00058035741 -0.01092256156 -0.0014023988 -0.006995100477 0.0002679120117 -0.01690323987 -0.005647806797 0.01086172703 0.01364758567 -0.0003954975947 0.0003715329919 -0.0009556961667 0.001941571702 0.001182691945 -0.004691691323 0.001430414057 -0.00414737546 --0.003456509595 0.0004815340735 0.0005532731213 -0.001163598147 -0.0004475305332 -0.00128306526 -0.001081430635 -0.0007611501307 0.002583600515 0.001839273543 -0.05139674818 -0.07093888351 -0.01592788191 0.1209190823 0.1714195483 -0.02660607556 -0.0482065624 0.04530343964 -0.1368081035 0.1164882606 0.003664572036 -0.01107183104 0.05091279545 0.09561114451 -0.02675441424 0.01916540714 0.01338996318 0.03621161289 0.03932220533 -0.03235604124 -0.0103149816 0.009207307563 0.01303335471 0.008234627669 -0.02224890533 0.001671590366 -0.003535668068 -0.004482235713 -0.01187144036 -0.008543729378 -0.004434578207 -0.00336242855 --0.007526274256 -0.007391261973 0.008125106496 -0.003152373447 -0.002521436681 -0.004926734474 --0.004406246702 0.006092900192 -0.001448786964 -0.001786814247 -0.0002378000919 0.002033152274 -0.004317729233 0.002040783191 0.001792516815 0.002672560081 0.001817349919 -0.004331509147 -0.0006523086106 0.0003031534762 0.001724854847 0.002324376392 -0.0007325521547 0.0003814670284 -0.0006253518637 -0.0004371692711 -0.001536198937 -0.001511125193 -0.0003626171853 -0.0004475048397 --5.860668182e-05 0.0005107051812 0.001081368548 -ad : 1 1.950638213 -iw : 7 --0.04943631382 -0.1193639747 -0.08359218663 -0.02069917269 0.0184952385 0.0163465701 -0.007227997823 -0.003617072158 -0.004993635851 -0.003126815688 0.001886730247 0.0007542358207 -0.00112751067 0.01676741657 0.2282152504 0.0401149638 0.04283184637 0.1060762143 -0.1024724327 0.0417980023 0.007365529964 0.09999902741 0.02041870897 -0.03503282249 -0.0488504456 0.002603146149 -0.01334498415 0.006227859437 -0.00639250614 -0.001775114541 --0.01529365906 -0.006117988857 0.01040759375 -0.01463689415 -0.001221597812 0.001331259479 --0.002922594056 0.001420987333 0.002192449992 0.003399620638 0.001581245757 -0.004071198837 -0.003783028591 0.0008986727763 0.0001211812756 0.002150016715 -0.0003264896965 -0.001517437293 --0.0007811055627 -0.0007747368081 0.00245914261 -0.001853507896 -0.05134695765 -0.07116715987 --0.0149519678 0.1184574744 -0.1702628446 -0.02922892153 -0.05110965629 -0.04337520604 -0.1362682169 -0.1222765596 0.0007188401668 -0.01432920807 -0.05020554014 0.09788333537 --0.03428170706 0.01799027278 0.01182960218 -0.03787159098 0.04361555238 0.02830156102 -0.01111575679 0.009650005967 -0.01569971462 0.01174526925 0.02308701751 0.003240899009 -0.004897774395 0.002278886404 -0.01011295238 0.01171760967 -0.003583706203 -0.002539938415 -0.006940626664 -0.007496769369 -0.006076639007 -0.00347410616 -0.002703911172 0.005933425683 --0.005697932745 -0.006468933263 -0.002024558301 -0.002255411816 0.001221834878 0.001094184155 --0.00539592745 0.00163662558 0.001416562937 -0.002325534758 0.001756936889 0.003389035555 -0.000600770207 0.0002321048416 -0.001800681108 0.002514792957 0.0005552958786 0.0007128169875 -0.0009045436046 -6.68649822e-05 -0.001102613576 0.002164062293 -0.0001826835223 -0.0002989425778 --0.0002036701928 0.0007185540562 -0.0007152008563 -ad : 2 1.709269535 -iw : 4 --0.001906233814 -0.004969763301 -0.00427261119 -0.001910493969 5.248550005e-05 0.0005783916132 -0.0006351002597 0.0001767735295 -7.944349401e-05 -0.0001730405835 -8.14673288e-05 -5.411943811e-05 -7.888454267e-05 -0.001661674077 0.2631875757 -4.689242281e-06 -0.00460768555 0.196774913 --1.300288318e-05 -0.005182561547 0.09840674725 -1.462518256e-05 -0.003441748503 0.01266960686 --9.712610208e-06 -0.001518182755 -0.00357475365 -4.284309941e-06 0.0001051856997 -0.01356243435 -2.968339204e-07 0.0006379681254 -0.002825554445 1.800345296e-06 0.0005191103337 -0.002741128819 -1.464928748e-06 0.0002504356879 0.003856969179 7.067292153e-07 -8.290848723e-05 -0.000846998014 --2.33967653e-07 -0.0001844134227 0.002517468495 -5.204144609e-07 -6.634842024e-05 -0.001857434491 --1.872351635e-07 -3.629256546e-05 0.001134125042 -1.024175768e-07 -0.003351525604 0.2151861897 --4.49538975e-06 0.00421204458 0.000607255173 -0.005490558151 0.228852132 -1.419401187e-05 -0.0044801933 0.0006458204461 -0.005507173323 0.1530063896 -1.846365612e-05 0.002995997831 -0.0004317838507 -0.004248829922 0.06186365026 -1.73474183e-05 0.001212028625 0.0001745791479 --0.002406461935 0.01785265297 -1.077432678e-05 0.0003501676716 5.038016559e-05 -0.0006913972806 --0.01218151334 -4.051511789e-06 -0.0002381420394 -3.437621624e-05 0.0001128679253 -0.007194030538 -1.54299885e-07 -0.0001408159008 -2.030154568e-05 0.0006633038063 -0.008097130948 2.794368688e-06 --0.0001586747578 -2.285009397e-05 0.0003691593514 0.001001958108 1.85938681e-06 1.948200329e-05 -2.827524597e-06 0.0001296808771 0.0002008887841 6.448349337e-07 3.887219398e-06 5.669079114e-07 --4.291839606e-05 0.003072071398 -4.00894292e-08 6.013091529e-05 8.669381856e-06 -0.0001310295011 --0.001160690834 -7.044289349e-07 -2.266882234e-05 -3.275468161e-06 -9.398371615e-05 0.00169904143 --3.654651632e-07 3.327982099e-05 4.794692909e-06 -ad : 3 2.100474535 -iw : 5 -0.1083959897 0.2477616301 0.1470294523 0.01325828564 -0.05127318523 -0.0279669025 --0.001909961502 0.01397221654 0.007171530368 0.001694688779 -0.006536474784 -0.001423910185 -0.0002774902093 -0.03561091284 0.1329346535 3.087036588e-05 -0.08591907134 -0.1212308148 -7.448147088e-05 -0.07517004875 -0.1867984341 6.516336489e-05 -0.02741770227 -0.1001890009 -2.376784061e-05 0.005421455664 0.006845700548 -4.699748098e-06 0.01438792524 0.03721274253 --1.247259564e-05 0.008311901229 0.03028645831 -7.205415744e-06 -0.001958938613 -0.006271806089 -1.698163481e-06 -0.004755791141 -0.01148004899 4.122697253e-06 -0.001755772211 -0.007970661122 -1.522042717e-06 0.0006020371753 0.003024751862 -5.218936104e-07 0.0009759757456 0.001259493196 --8.460532446e-07 0.0009697837113 0.004732877444 -8.406854977e-07 0.1041827662 -0.03492406155 --1.113842299e-05 -0.167600981 3.027494866e-05 0.03933736813 0.04323560982 -3.050407748e-05 --0.03294597058 -3.748005842e-05 -0.02363439111 0.08268094041 -3.231802948e-05 0.07821682225 --7.167440196e-05 -0.04580690964 0.06945606413 -2.031903295e-05 0.1027791625 -6.021002947e-05 --0.01778126602 0.02073184666 -4.983835762e-06 0.03654722054 -1.797201028e-05 0.003196006044 --0.01233826489 4.909814057e-06 -0.01119942058 1.069578735e-05 0.01215999139 -0.01726384826 -4.846684609e-06 -0.02665267489 1.496567399e-05 0.0044804803 -0.006063537162 1.647141803e-06 --0.009660499986 5.256355306e-06 0.0004690547704 0.001651547571 -8.932223734e-07 0.0002179608407 --1.431692526e-06 -0.005232180589 0.006559584591 -1.68053364e-06 0.01100100264 -5.686368591e-06 --0.001041362651 0.002191175007 -7.472643082e-07 0.002665708853 -1.899484421e-06 0.0004498783732 --0.001776717613 7.097394704e-07 -0.001597940799 1.540199854e-06 0.001441977313 -0.001408879786 -2.772112815e-07 -0.002817358415 1.221328829e-06 -ad : 4 0 -iw : 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.3323408577 0 0 0.3381829911 -0 0 0.1941332719 0 0 0.04638680834 -0 0 -0.04028417335 0 0 -0.08462892004 -0 0 -0.08958563666 0 0 -0.08083690751 -0 0 -0.05951877109 0 0 -0.04132486996 -0 0 -0.02364071707 0 0 -0.01300175494 -0 0 -0.003849155413 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 1 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0.2775418879 -0 0 0 0 0.3405120677 0 -0 0 0 0.3362776137 0 0 -0 0 0.2791435086 0 0 0 -0 0.2353955451 0 0 0 0 -0.1851183885 0 0 0 0 0.1526566016 -0 0 0 0 0.1173755327 0 -0 0 0 0.09486198903 0 0 -0 0 0.06752677913 0 0 0 -0 0.05189252662 0 0 0 0 -0.03329269882 0 0 0 0 0.02312125451 -0 0 0 -iw : 2 --0.1246276028 -0.36586141 -0.4376268693 -0.4231135336 -0.3565090714 -0.2974409008 --0.2377487477 -0.193381104 -0.1514250008 -0.1200356898 -0.08743554786 -0.06534687476 --0.04344417142 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 -0.1602388837 0 -0 0.2775418879 0 -0.196594734 0 0 -0.3405120677 0 -0.1941499708 0 0 0.3362776137 -0 -0.1611635798 0 0 0.2791435086 0 --0.1359056813 0 0 0.2353955451 0 -0.1068781514 -0 0 0.1851183885 0 -0.08813633004 0 -0 0.1526566016 0 -0.06776679537 0 0 -0.1173755327 0 -0.0547685949 0 0 0.09486198903 -0 -0.03898660411 0 0 0.06752677913 0 --0.02996016421 0 0 0.05189252662 0 -0.01922154863 -0 0 0.03329269882 0 -0.01334906251 0 -0 0.02312125451 0 -iw : 3 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.2775418879 0 0 0 -0 0.3405120677 0 0 0 0 -0.3362776137 0 0 0 0 0.2791435086 -0 0 0 0 0.2353955451 0 -0 0 0 0.1851183885 0 0 -0 0 0.1526566016 0 0 0 -0 0.1173755327 0 0 0 0 -0.09486198903 0 0 0 0 0.06752677913 -0 0 0 0 0.05189252662 0 -0 0 0 0.03329269882 0 0 -0 0 0.02312125451 -iat : 1 -ad : 0 3.03052076 -iw : 6 --0.04085782418 -0.05645149359 0.01142653251 0.01755186815 -0.00122510922 -0.008268824929 -0.002273562711 0.002071756675 0.0001659589024 -0.002126625134 0.001097888488 2.232716697e-06 -0.0002569301859 0.04700579041 0.1656850969 -0.03226389442 0.06874722846 0.002690854844 --0.04718681043 0.008493309252 -0.02070468192 -0.005829648446 -0.01964880866 -0.005187033397 -0.01348657437 -0.006043404255 0.01197139803 0.004148079527 0.00804303874 -0.005003358419 --0.005520591198 0.002135257927 0.0008835265928 -0.001465601061 -0.002718702046 -0.002486186968 -0.001866066181 -0.001777601692 0.003912336977 0.001220112518 0.00175713701 -0.002843938444 --0.001206065944 0.0003828348371 0.001747325854 -0.0002627706642 -0.0002297879902 -0.001920773131 -0.000157722174 -0.0006507616215 0.002164884151 0.0004466705924 -0.06579338749 -0.1745014763 -0.04066494441 0.08262373017 0.119774546 -0.05467377531 -0.03218999124 0.068211178 -0.04213866197 0.02209460728 -0.01180759283 0.01994216113 0.02293603287 0.002778336398 --0.01368792601 0.01338139007 0.01322965815 -0.01506213042 -0.01157135 -0.009080589652 -0.00459342813 -0.01263427086 -0.01041031429 6.545980722e-05 0.008671926961 -0.003247528896 -0.002199576161 0.005305997018 0.001536429049 -0.001509747893 -0.003235988413 -0.0004013555982 -0.004496033557 0.002140545479 0.0002754829678 0.002214400809 0.003563173719 -0.002073391676 --0.002237834017 -0.002445695725 0.0007575788033 -0.004168125862 -0.00235284678 0.0005007856317 -0.00286092355 -0.0003268325156 0.002528824359 0.00123795717 -0.0003877987087 -0.001735737692 --0.001027208253 -0.001735372119 0.0009366283474 0.001057472034 0.00119112693 0.0008160355735 -0.001983687579 -0.0005594815915 -0.0009823149696 -0.001361566013 -8.175768775e-05 -0.00212931658 --0.0005329256838 0.0005522463192 0.001461523032 -ad : 1 2.994710688 -iw : 7 --0.03998728222 -0.05671805793 0.009467802864 0.01776361079 -0.0001588082202 -0.00827995989 -0.001583722348 0.002122808159 0.0005240081833 -0.002093070624 0.0008471530753 3.451584892e-06 -0.0003561500439 0.04588064815 0.1689161012 0.03096893175 0.06883063931 0.006836783236 -0.0464599228 0.01076169996 -0.02094971704 0.007264028845 -0.0191659024 -0.006542397759 --0.01293677285 -0.007199930086 0.01199216583 -0.004859873442 0.007630815156 -0.004376387037 -0.005150716115 0.002837850666 0.0007777563923 0.001915517917 -0.002511118416 -0.002721189425 --0.00169497725 -0.002155705513 0.003931034038 -0.001455077458 0.001615763861 -0.002689637235 -0.001090622796 0.000637443377 0.001685343428 0.0004302672528 -0.0002029917558 -0.001943838133 --0.0001370171976 -0.0007777744641 0.002167863571 -0.0005249891897 -0.06495534276 -0.1776348296 --0.03892980974 0.08110841225 -0.1199015519 -0.05585812597 -0.03794384219 -0.06692177829 -0.04277558052 -0.02561167522 -0.01366258023 0.01888197294 -0.0245723456 0.003846276074 -0.0127451236 0.01290975821 0.01503457952 0.01364176539 -0.01135804556 0.01014817545 -0.005368507623 -0.01206255479 0.01100786323 -0.000420502453 -0.008142091518 -0.002843555198 -0.001302115677 -0.004348730678 0.001417858169 0.0008789137285 -0.003546729725 -0.0006096984277 --0.004773420242 0.002293272951 -0.0004115397179 0.001915174066 0.003984638616 0.001512766933 --0.002097106996 0.002689587143 0.0009083134186 -0.004005626442 0.002434765654 0.0003904341669 --0.002703753694 -0.0001677911337 0.002246611172 -0.0008886505452 -0.0004260887352 0.001516437777 --0.001061789193 -0.001787002504 -0.0009616509622 0.00106348527 -0.001206206992 0.000723756088 -0.002096732176 0.0003995546752 -0.0009313347991 0.001415271106 -9.370131008e-05 -0.002043230395 -0.0004643792117 0.0005368250185 -0.001379157994 -ad : 2 1.709269535 -iw : 0 -0.002003027398 0.005350290244 0.003502338518 0.0008734329637 -4.246828655e-05 0.0003621815261 -0.0004593249833 0.0002454972783 -0.0001202086191 -0.0001544611445 -0.0001165580223 1.001231146e-05 --1.880862745e-06 -0.001842020004 0.282131922 -5.198178274e-06 -0.004540294558 0.1983836263 --1.281270588e-05 -0.003378162744 0.06316094512 -9.533171271e-06 -0.0008110155381 0.001616157415 --2.28868489e-06 0.000398255837 0.00421967824 1.123877501e-06 -5.491664527e-05 0.005268247269 --1.549747081e-07 -0.0006073275437 0.006850623153 -1.713877611e-06 -0.0006421634447 -0.0009835693136 --1.812184482e-06 -0.0002213341819 -0.0004000151007 -6.246047999e-07 6.14712455e-05 -0.002587230875 -1.734717822e-07 0.0001389011597 0.000694000358 3.919789086e-07 4.888293028e-05 -0.0009156962771 -1.379475715e-07 1.549896245e-05 0.001002373421 4.373805372e-08 0.003667511107 -0.2333849762 -5.034592563e-06 -0.004568277808 -0.0006586121271 0.004677962848 -0.1963686141 1.20167614e-05 --0.003844258579 -0.0005541519969 0.002671003874 -0.07437432959 8.94581468e-06 -0.00145631187 --0.0002098842702 -2.076732255e-05 0.002442141515 3.337452399e-08 4.779651852e-05 6.891720469e-06 --0.001108291047 0.004338389286 -5.176559489e-06 8.527181293e-05 1.224292944e-05 -0.0006661123421 --0.00494113617 -3.528109063e-06 -9.646597375e-05 -1.394388043e-05 0.0002566971368 -0.01286769022 -5.438651629e-07 -0.0002518906335 -3.631260659e-05 0.0006297028207 -0.005090763729 2.796184383e-06 --9.98327414e-05 -1.436612923e-05 0.0004544273969 -0.001968542777 2.112045011e-06 -3.867565037e-05 --5.555225389e-06 0.0001140327199 0.002633832627 7.027185287e-07 5.150201831e-05 7.432672562e-06 --4.194388042e-05 1.253326616e-06 -2.04907542e-07 3.872784654e-08 3.536886228e-09 -5.88203823e-05 -0.001233809765 -2.193160529e-07 2.416394516e-05 3.4818097e-06 -3.285770791e-06 -0.0009079376911 --6.619658221e-08 -1.776602998e-05 -2.562199091e-06 -iw : 1 -0.0004131054314 0.003551264227 0.007214406179 0.007448296404 0.004646929856 0.00117686772 --0.001027824559 -0.001566671927 -0.000951538314 -0.0001164657075 0.0003604474975 0.0003517313279 -0.0001455475826 0.001393048037 0.09523430657 -1.32946208e-06 0.001132143559 0.2250705722 --9.240087698e-06 -0.002940977645 0.2216532401 -2.055001158e-05 -0.006404206026 0.142080475 --2.593020879e-05 -0.006802675328 0.05112428017 -2.202935694e-05 -0.004384413181 -0.0006109130191 --1.234379409e-05 -0.001275763425 -0.02055352537 -2.465903772e-06 0.0009584069599 -0.01492011767 -3.530064567e-06 0.001534195923 -0.006154101842 4.671198765e-06 0.001002651639 0.00239634704 -2.698154886e-06 0.0001496699335 0.002870682821 2.639114976e-07 -0.0002805285689 0.002582414137 --9.346440915e-07 -0.0003125710044 -0.0001949152381 -8.716418671e-07 -0.0006795341881 0.1422627538 --3.321159582e-06 -0.001717626111 -0.0002476351413 -0.0005170279163 -0.02503029229 -2.525196807e-06 --0.004438636724 -0.000639870617 0.001863859626 -0.1506999547 9.11505203e-06 -0.00545847579 --0.0007867677678 0.004779101704 -0.1870807627 2.336658769e-05 -0.004546973078 -0.0006552289911 -0.006238931753 -0.1226322207 3.050236313e-05 -0.002656972547 -0.0003827073456 0.005452314999 --0.05670376788 2.665580995e-05 -0.0009527509764 -0.0001370761334 0.003125482975 0.002860397904 -1.527979922e-05 0.0001213505329 1.764578324e-05 0.0006252122445 0.0175010978 3.05629356e-06 -0.0004490444709 6.476190649e-05 -0.0009147641443 0.02010129798 -4.472293547e-06 0.0003577496977 -5.152621547e-05 -0.001186591544 0.004325442231 -5.801067227e-06 0.00010933164 1.57025859e-05 --0.0006749671976 0.0007820060809 -3.299761671e-06 -3.155588304e-05 -4.581863375e-06 -8.818752911e-05 --0.005265579955 -4.310902603e-07 -7.522886718e-05 -1.0848818e-05 0.0001902342456 -0.0002211871258 -9.300344461e-07 -3.323513871e-05 -4.781671829e-06 -iw : 2 --0.1137917283 -0.263287392 -0.1905369997 -0.08075047369 0.002017475376 0.0208773693 -0.02045503814 0.004094841907 -0.0006445638297 -0.005660047764 -0.001049503668 -0.001478969768 -0.001767038467 0.09523430657 0.005592283229 0.0002687511006 0.2250705722 0.01321809442 -0.0006351488887 0.2216532401 0.0130205076 0.0006255051815 0.142080475 0.008349652648 -0.0004009509324 0.05112428017 0.003007871347 0.0001442726582 -0.0006109130191 -3.252016327e-05 --1.723995818e-06 -0.02055352537 -0.001206182102 -5.80020243e-05 -0.01492011767 -0.0008770297452 --4.210455443e-05 -0.006154101842 -0.0003626207828 -1.736686813e-05 0.00239634704 0.000139975586 -6.762488516e-06 0.002870682821 0.0001684876738 8.101063528e-06 0.002582414137 0.000151886264 -7.287569643e-06 -0.0001949152381 -1.120870901e-05 -5.500505715e-07 -0.1834330364 -0.005152975469 --0.0002476351413 0.2299643563 -1.454169068e-05 -0.2472941324 -0.01331654673 -0.000639870617 -0.2015840494 -3.757927914e-05 -0.2348284266 -0.01637698792 -0.0007867677678 0.1279389361 --4.621584055e-05 -0.160016704 -0.01364322295 -0.0006552289911 0.04497277816 -3.850115904e-05 --0.08574841449 -0.007973335902 -0.0003827073456 0.01290599041 -2.250074449e-05 -0.02333436513 --0.002860120423 -0.0001370761334 -0.008157435773 -8.071256454e-06 0.00556675328 0.0003631005367 -1.764578324e-05 -0.003389011454 1.024669286e-06 0.0163872365 0.001347018491 6.476190649e-05 --0.005434760143 3.80128459e-06 0.009471808976 0.001073596566 5.152621547e-05 0.001852965995 -3.029688239e-06 0.003925993192 0.0003283825746 1.57025859e-05 -0.001235715135 9.266952375e-07 --0.0023257528 -9.446380173e-05 -4.581863375e-06 0.002404711525 -2.665767369e-07 -0.001397732452 --0.0002256725079 -1.0848818e-05 -0.001423399449 -6.368475506e-07 -0.001828286057 -9.977011037e-05 --4.781671829e-06 0.001472270538 -2.815511336e-07 -iw : 3 -1.165783039e-06 1.002166345e-05 2.035904571e-05 2.101908365e-05 1.311363056e-05 3.321119316e-06 --2.900519692e-06 -4.421146326e-06 -2.685239998e-06 -3.28666089e-07 1.017182412e-06 9.925853918e-07 -4.10735106e-07 -1.32946208e-06 0.0002687511006 0.001864150819 -9.240087698e-06 0.0006351488887 -0.004406423496 -2.055001158e-05 0.0006255051815 0.00434104097 -2.593020879e-05 0.0004009509324 -0.002784317414 -2.202935694e-05 0.0001442726582 0.0010035581 -1.234379409e-05 -1.723995818e-06 --1.031645476e-05 -2.465903772e-06 -5.80020243e-05 -0.0004019557828 3.530064567e-06 -4.210455443e-05 --0.0002924923785 4.671198765e-06 -1.736686813e-05 -0.0001210710933 2.698154886e-06 6.762488516e-06 -4.654443512e-05 2.639114976e-07 8.101063528e-06 5.615132738e-05 -9.346440915e-07 7.287569643e-06 -5.066811417e-05 -8.716418671e-07 -5.500505715e-07 -3.699533573e-06 6.478341931e-06 -0.0002476351413 --0.001717723247 2.862722084e-10 0.2300137364 2.023956699e-05 -0.000639870617 -0.004439273282 -1.876023102e-09 0.20171166 3.194796105e-05 -0.0007867677678 -0.005460036337 4.599160095e-09 -0.1280958751 3.572328009e-05 -0.0006552289911 -0.004549276793 6.789405672e-09 0.04510352062 -3.060547323e-05 -0.0003827073456 -0.002659390807 7.127005054e-09 0.0129823995 2.005285876e-05 --0.0001370761334 -0.0009546184704 5.503799726e-09 -0.008130026149 8.231821347e-06 1.764578324e-05 -0.000120399471 2.802874232e-09 -0.003392490156 -4.299253042e-07 6.476190649e-05 0.0004489295493 -3.385590462e-10 -0.00544766828 -4.331862543e-06 5.152621547e-05 0.0003580971701 -1.02423052e-09 -0.001842677603 -3.884935164e-06 1.57025859e-05 0.0001097192946 -1.142624599e-09 -0.001238862313 --1.751557028e-06 -4.581863375e-06 -3.135203565e-05 -6.00830957e-10 0.002405616572 1.187700582e-07 --1.0848818e-05 -7.521477352e-05 -4.151504603e-11 -0.001421236882 6.996193739e-07 -4.781671829e-06 --3.329983295e-05 1.907220129e-10 0.001473226677 -ad : 3 3.113220902 -iw : 5 -0.09210255759 0.1194240892 -0.03420934809 -0.03576349534 0.007778280569 0.01700191485 --0.008169599296 -0.003634947939 0.001247354388 0.004355623889 -0.003455578806 0.0002668374287 --0.0002332841824 -0.10406378 0.08796830669 -0.0001877756196 -0.1431458584 -0.1029421729 --0.000258296424 -0.006637814684 -0.02394864911 -1.197746002e-05 0.04251126538 0.02642871901 -7.670852618e-05 0.006742734249 0.01607351795 1.216677984e-05 -0.01802965459 -0.01850525756 --3.253321722e-05 -0.0007300246887 0.0008998706941 -1.317277137e-06 0.006059821715 0.002049460082 -1.09345132e-05 0.001629158803 0.004805266983 2.939700091e-06 -0.003951628223 -0.005806537739 --7.130429413e-06 0.0006531078647 0.002445573106 1.17848625e-06 0.0003669809289 -0.001665096887 -6.621907379e-07 0.0006157635983 0.002508983347 1.111101203e-06 0.1397588484 -0.07623735545 -0.0002324076561 -0.1132713399 -0.0001375648343 0.1022989397 0.118415794 0.0003675266402 -0.02649276582 0.0002136727983 0.01414542313 0.05711370945 9.698303242e-05 0.02924647165 -0.0001030575881 -0.02793918576 -0.0260746437 -9.327590208e-05 -0.003300517984 -4.704982247e-05 --0.004748464313 -0.02968877426 -4.447244525e-05 -0.0164216197 -5.357126157e-05 0.007394119776 -0.01829563835 3.759742841e-05 0.008029141858 3.301316583e-05 0.004687163931 0.006442563779 -1.799178102e-05 0.001852465813 1.162514378e-05 -0.005370493727 -0.003578838634 -1.630552093e-05 -0.0002656052237 -6.457757363e-06 -0.0003750975696 -0.007875789528 -9.779853743e-06 -0.004770212774 --1.421129674e-05 0.0009199559615 0.006730888021 9.725376444e-06 0.003796299562 1.214540417e-05 -0.00174181583 -0.0003981540803 3.521974999e-06 -0.001065068866 -7.184404516e-07 -0.001873686816 -0.0002345345741 -4.008177749e-06 0.00102402723 4.232008e-07 0.0003388392022 -0.003356787599 --3.030754058e-06 -0.002266501444 -6.057082215e-06 -ad : 4 0 -iw : 4 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.3077382577 0 0 0.340113108 -0 0 0.2965292449 0 0 0.2106036639 -0 0 0.1684140928 0 0 0.1131428086 -0 0 0.1019205506 0 0 0.06113809996 -0 0 0.06480538679 0 0 0.02956059757 -0 0 0.04222106929 0 0 0.008651775987 -0 0 0.0303465245 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 2 -ad : 0 3.347258395 -iw : 6 --0.125250151 -0.1322633867 0.07199553683 0.02855363232 -0.02321695176 -0.01215473054 -0.01727590414 -0.00251908848 -0.003222937441 -0.002039670329 0.004946188747 -0.002885189043 -0.00148552754 0.001757933547 -0.01025971856 -0.09697804215 0.001988014882 -0.1940534019 --0.1096706933 -0.0003672083141 0.01893833768 0.02025738881 -0.0005609271349 0.05057919519 -0.03094406806 0.0001485764814 -0.004492485678 -0.008196360037 0.0002184178553 -0.02680086774 --0.01204922451 -0.000141959579 0.01605929671 0.007831332452 -3.352717538e-05 0.0007885103192 -0.00184955787 5.222299172e-05 -0.001871579675 -0.002880929999 2.692908247e-05 -0.005494941673 --0.001485567926 -5.773072489e-05 0.007887293175 0.003184769231 1.933846456e-05 -0.003922152091 --0.001066824417 7.755267513e-06 0.001194925414 -0.0004278265586 -0.02121018741 0.0005254601307 -0.001490706086 0.1189462903 -0.02898749773 0.1085316417 0.003104396981 0.001955630667 --0.08013357963 -0.1712569521 0.01761027028 0.0003724166172 0.0001001108743 -0.02498098791 --0.0205447097 -0.03104254817 -0.0009027902427 -0.0005839400695 0.02156425774 0.04980326495 --0.008828151059 -0.0001690304844 -2.096411745e-05 0.01413468112 0.009324724171 0.01897168929 -0.0004854299799 0.00024717802 -0.01922860459 -0.02677919716 -0.003568566036 -8.519112045e-05 --3.637311554e-05 0.004175040214 0.00469964754 -0.003858788619 -0.0001219657241 -8.870531914e-05 -0.001791714331 0.006728352813 -0.00132241624 -1.271113087e-05 1.771827381e-05 0.00326761602 -0.0007012213786 0.004841648653 0.0001113502475 4.234706807e-05 -0.006050633622 -0.006142740155 --0.003031065945 -6.779091817e-05 -2.333673093e-05 0.00396299074 0.003739749167 0.001474630709 -2.695377682e-05 1.383279108e-06 -0.002477850504 -0.001486930213 -0.001549132638 -2.818104283e-05 --1.230657623e-06 0.002615308371 0.001554633486 -ad : 1 3.303653192 -iw : 7 --0.1254741982 -0.1381147446 0.06816681006 0.03282017257 -0.02173153757 -0.01455759627 -0.01687267716 -0.0009443445761 -0.00352962835 -0.002832276014 0.00531352736 -0.002400737997 -0.00105025918 0.001058404368 -0.006670372595 0.094871103 0.001244917912 -0.197693091 -0.1115894255 -0.0001742847026 0.010679363 -0.01562217851 -0.0003614416658 0.05323921877 --0.03239817458 6.507128261e-05 -0.000276742574 0.005832727584 0.0001462668388 -0.02872300844 -0.01311077009 -7.246817554e-05 0.01368296012 -0.006495755263 -3.120021059e-05 0.002486914378 --0.002796661164 2.631656171e-05 -0.0009421581137 0.002358910556 2.226030981e-05 -0.00641005737 -0.001995324479 -3.273248094e-05 0.007444038088 -0.002934007704 8.514069694e-06 -0.003380599382 -0.0007631669021 5.089672198e-06 0.00114359027 0.0004562177082 -0.02444628828 0.0002868575355 --0.0008764727263 0.1208959189 0.02571275366 0.107854319 0.001901309213 -0.00119354734 --0.0798377014 0.170425697 0.02274323861 0.0003119945356 -0.0001095728959 -0.02957199433 -0.02796593307 -0.030489797 -0.000547284831 0.0003530616333 0.02116679412 -0.0490564071 --0.01159776378 -0.0001484992301 3.893749438e-05 0.01659815041 -0.01331087265 0.01896060186 -0.0002980401448 -0.0001519680464 -0.0192206178 0.0267151177 -0.001800744976 -2.314530679e-05 -6.186853146e-06 0.002564486225 -0.002074652042 -0.004402260324 -8.425148316e-05 5.933690732e-05 -0.002306879237 -0.00755196348 -0.002189245503 -2.173087025e-05 -2.717701592e-06 0.004035457942 --0.00194786765 0.005323138827 7.612927247e-05 -3.060876872e-05 -0.006476641686 0.00682392124 --0.002494010756 -3.265112186e-05 9.519710406e-06 0.003466551065 -0.002926715004 0.0009717582361 -8.108056699e-06 3.663615608e-06 -0.002011485507 0.0007267735331 -0.001768669293 -2.073969715e-05 -2.891456218e-06 0.00280427885 -0.001859022887 -ad : 2 2.100474535 -iw : 0 --0.114106211 -0.2662472869 -0.120739825 -0.007064026188 0.001313341311 -0.01771783593 -0.001522075293 0.01240165908 0.01148565895 -0.00209120645 -0.002802712662 -0.002771906088 -0.001203312594 -0.03923940207 0.1385415731 3.401582835e-05 -0.08506375815 -0.1163289744 -7.374001751e-05 -0.04847595871 -0.1209767294 4.20228088e-05 -0.007051874071 -0.026979494 -6.113124188e-06 -0.0009116860912 0.003205323708 7.903218691e-07 -0.01067803242 -0.03221660697 -9.256566075e-06 -0.006892586117 -0.0211666876 5.975040746e-06 0.001367285072 -0.0002654664903 --1.185271229e-06 0.0053840539 0.01728750765 -4.667325281e-06 0.001806521639 0.004705550783 --1.56603635e-06 -0.0001621922659 0.001214478625 1.406011301e-07 -0.001120883616 -0.004533724659 -9.716708886e-07 0.0001345169221 0.001439523245 -1.166099454e-07 -0.1119249245 0.03668783681 -1.235373846e-05 0.1796088506 -3.180392905e-05 -0.03457602382 -0.03622000231 2.598111444e-05 -0.02991659938 3.139837297e-05 0.01081598038 -0.03938332816 1.551026813e-05 -0.03662588603 -3.41405949e-05 0.002036493325 -0.001382210125 1.083288426e-07 -0.003652273963 1.19820945e-06 --0.01107398825 0.01117845134 -2.296069819e-06 0.02182936957 -9.690368916e-06 0.004865416323 --0.01081257956 3.759372841e-06 -0.01276381854 9.37320221e-06 0.01086987296 -0.01778847988 -5.430720676e-06 -0.02509184613 1.542046633e-05 0.007932970731 -0.008859254832 2.041675829e-06 --0.01609550835 7.679905293e-06 -0.002593143832 0.0042229392 -1.285906419e-06 0.005974829861 --3.660778895e-06 -0.002460718467 0.004444730636 -1.424132281e-06 0.005904914524 -3.853045317e-06 --0.001999585712 0.001950004916 -3.826907002e-07 0.00390484156 -1.690419043e-06 0.001015577013 --0.0009650908814 1.825718325e-07 -0.001969638945 8.366173802e-07 -0.0005502741948 0.0002216707563 -4.148830436e-08 0.0009052435254 -1.921618067e-07 -iw : 1 -0.009165946355 0.07118074161 0.1201570225 0.08520812423 0.01472733708 -0.02878889488 --0.02723131426 -0.005744322555 0.009911842029 0.009113874884 0.001619270351 -0.003480323272 --0.002387645667 -0.1003970471 -0.0220575786 -3.373160216e-06 -0.1921841965 0.004524622993 --2.123746261e-05 -0.117908969 0.08764519279 -3.986283013e-05 -0.01668262464 0.1140686333 --3.778456062e-05 0.03336887611 0.06765731348 -1.795222442e-05 0.02193577702 0.0006125437014 -2.067082427e-06 0.001228499904 -0.03164071814 1.013049876e-05 -0.01092191628 -0.02460640825 -6.654202173e-06 -0.005069646215 -0.001405614089 -7.807636289e-08 0.0003650621178 0.01063680013 --3.325428686e-06 0.003861637069 0.007953968578 -2.116827788e-06 0.0007439424368 0.0001627903108 -2.52041377e-08 -8.270232708e-06 -0.002970683463 9.383936879e-07 -0.02438988973 0.09141702319 -2.977618078e-05 -0.0281308336 5.717928937e-06 -0.06853239706 -0.09840983892 6.250300781e-05 --0.03540388297 -3.163877939e-06 -0.09117242333 -0.1413333634 5.226796614e-05 0.01658086024 --3.227068044e-05 -0.07810270995 -0.07974378717 1.934124262e-05 0.06664841882 -5.075488716e-05 --0.04146803916 0.01477891466 -6.379201365e-06 0.06971490441 -4.2075145e-05 -0.005864374814 -0.03290153423 -1.12630574e-05 0.03122302624 -1.536452485e-05 0.01318133866 0.02177297373 --4.811276739e-06 -0.008058176983 7.160148317e-06 0.01313565673 -0.008976067798 2.429805703e-06 --0.02292683632 1.369968616e-05 0.004110637842 -0.009265604105 3.403647893e-06 -0.01262503697 -6.68891182e-06 -0.003052711585 -0.007185389498 1.285215881e-06 0.001513711895 -1.502908752e-06 --0.003854534796 0.00500508524 -1.005919802e-06 0.007331650429 -4.28619918e-06 -0.001292124456 -0.001161864663 -8.311132182e-07 0.003476156791 -1.885608109e-06 0.0006597105013 0.002840262697 --3.148970075e-07 -0.0002505122618 2.910296212e-07 -iw : 2 --0.08036308957 -0.001480700788 0.2589200306 0.2516972307 0.07803291957 -0.07251419055 --0.08099895131 -0.02608295728 0.02818224115 0.02668899255 0.008052729249 -0.01110640425 --0.006303413682 -0.0220575786 -0.2762440517 1.912125995e-05 0.004524622993 -0.4194853816 --3.922302353e-06 0.08764519279 -0.05891093875 -7.597780996e-05 0.1140686333 0.2293977049 --9.88837456e-05 0.06765731348 0.2328770181 -5.865072963e-05 0.0006125437014 0.05051975615 --5.310015011e-07 -0.03164071814 -0.07123717322 2.742868597e-05 -0.02460640825 -0.08197862279 -2.133078781e-05 -0.001405614089 -0.01463155531 1.218497864e-06 0.01063680013 0.02568920139 --9.220822651e-06 0.007953968578 0.02724045162 -6.895131311e-06 0.0001627903108 0.002045452035 --1.411195629e-07 -0.002970683463 -0.006964916136 2.575224224e-06 0.02133357082 -0.0922883251 -5.717928937e-06 -0.04354681505 8.00028456e-05 0.1963601174 -0.1528120685 -3.163877939e-06 --0.3364559701 0.0001324696305 0.1669845445 -0.04787826407 -3.227068044e-05 -0.2519994792 -4.150467964e-05 0.03661908488 0.08697877319 -5.075488716e-05 -0.004877198034 -7.540010455e-05 --0.06757999675 0.1299611769 -4.2075145e-05 0.1655882833 -0.0001126606639 -0.06098082529 -0.07051904435 -1.536452485e-05 0.1233458222 -6.11315051e-05 -0.01600293985 -0.006893899182 -7.160148317e-06 0.0194582287 5.976179016e-06 0.02521454525 -0.04322595823 1.369968616e-05 --0.05947631308 3.747169166e-05 0.02019919518 -0.02682895845 6.68891182e-06 -0.04270210792 -2.325747074e-05 0.005498374742 0.0007362628614 -1.502908752e-06 -0.007789765739 -6.382510892e-07 --0.009718835766 0.01415831179 -4.28619918e-06 0.02177791454 -1.227354848e-05 -0.004563461909 -0.007231704705 -1.885608109e-06 0.01007931406 -6.269015656e-06 -0.002052162041 2.786152569e-05 -2.910296212e-07 0.003218728161 -2.415258198e-08 -iw : 3 --7.94576985e-06 -6.170511681e-05 -0.0001041616446 -7.38651655e-05 -1.276682477e-05 2.49564992e-05 -2.360626469e-05 4.979634747e-06 -8.592371425e-06 -7.900630165e-06 -1.40371207e-06 3.017020463e-06 -2.069800784e-06 -3.373160216e-06 1.912125995e-05 -0.1042881971 -2.123746261e-05 -3.922302353e-06 --0.2166829298 -3.986283013e-05 -7.597780996e-05 -0.1638932216 -3.778456062e-05 -9.88837456e-05 --0.06026946418 -1.795222442e-05 -5.865072963e-05 0.01265986924 2.067082427e-06 -5.310015011e-07 -0.0243202851 1.013049876e-05 2.742868597e-05 0.01291465998 6.654202173e-06 2.133078781e-05 --0.003245880417 -7.807636289e-08 1.218497864e-06 -0.005159712153 -3.325428686e-06 -9.220822651e-06 --0.003471026596 -2.116827788e-06 -6.895131311e-06 0.001419744623 2.52041377e-08 -1.411195629e-07 -0.0007730169764 9.383936879e-07 2.575224224e-06 0.001074225221 -3.295018421e-05 5.717928937e-06 --0.03602665791 -6.84472834e-06 0.09801300967 -6.371843787e-05 -3.163877939e-06 -0.08200430259 --4.03969491e-05 -0.1020595688 -4.264437489e-05 -3.227068044e-05 -0.08103998456 -8.462551046e-05 --0.1785595994 -1.84000544e-06 -5.075488716e-05 -0.04631806446 -9.792833008e-05 -0.1382927047 -2.17308158e-05 -4.2075145e-05 -0.009468631888 -6.864258543e-05 -0.03375738069 1.720512877e-05 --1.536452485e-05 0.008072991869 -2.006829054e-05 0.01517759968 2.420696834e-06 7.160148317e-06 -0.009222454784 1.498022566e-05 0.03003264992 -7.441565456e-06 1.369968616e-05 0.002627714405 -2.21527165e-05 0.006827371824 -5.934086655e-06 6.68891182e-06 -0.001578884518 9.575683261e-06 --0.001549528507 -7.937985e-07 -1.502908752e-06 -0.002291160929 -3.298366303e-06 -0.008919088172 -2.58318429e-06 -4.28619918e-06 -0.0005049890707 -6.793422238e-06 6.068803614e-05 1.539615211e-06 --1.885608109e-06 0.0002793911221 -2.771210669e-06 -0.00101330151 2.222221205e-07 2.910296212e-07 -0.0005288860492 6.756444288e-07 0.003175983456 -ad : 3 3.113220902 -iw : 4 --0.09210255759 -0.1194240892 0.03420934809 0.03576349534 -0.007778280569 -0.01700191485 -0.008169599296 0.003634947939 -0.001247354388 -0.004355623889 0.003455578806 -0.0002668374287 -0.0002332841824 -0.10406378 0.08796830669 -0.0001877756196 -0.1431458584 -0.1029421729 --0.000258296424 -0.006637814684 -0.02394864911 -1.197746002e-05 0.04251126538 0.02642871901 -7.670852618e-05 0.006742734249 0.01607351795 1.216677984e-05 -0.01802965459 -0.01850525756 --3.253321722e-05 -0.0007300246887 0.0008998706941 -1.317277137e-06 0.006059821715 0.002049460082 -1.09345132e-05 0.001629158803 0.004805266983 2.939700091e-06 -0.003951628223 -0.005806537739 --7.130429413e-06 0.0006531078647 0.002445573106 1.17848625e-06 0.0003669809289 -0.001665096887 -6.621907379e-07 0.0006157635983 0.002508983347 1.111101203e-06 -0.1397588484 0.07623735545 --0.0002324076561 0.1132713399 0.0001375648343 -0.1022989397 -0.118415794 -0.0003675266402 --0.02649276582 -0.0002136727983 -0.01414542313 -0.05711370945 -9.698303242e-05 -0.02924647165 --0.0001030575881 0.02793918576 0.0260746437 9.327590208e-05 0.003300517984 4.704982247e-05 -0.004748464313 0.02968877426 4.447244525e-05 0.0164216197 5.357126157e-05 -0.007394119776 --0.01829563835 -3.759742841e-05 -0.008029141858 -3.301316583e-05 -0.004687163931 -0.006442563779 --1.799178102e-05 -0.001852465813 -1.162514378e-05 0.005370493727 0.003578838634 1.630552093e-05 --0.0002656052237 6.457757363e-06 0.0003750975696 0.007875789528 9.779853743e-06 0.004770212774 -1.421129674e-05 -0.0009199559615 -0.006730888021 -9.725376444e-06 -0.003796299562 -1.214540417e-05 --0.00174181583 0.0003981540803 -3.521974999e-06 0.001065068866 7.184404516e-07 0.001873686816 --0.0002345345741 4.008177749e-06 -0.00102402723 -4.232008e-07 -0.0003388392022 0.003356787599 -3.030754058e-06 0.002266501444 6.057082215e-06 -ad : 4 0 -iw : 5 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.3077382577 0 0 0.340113108 -0 0 0.2965292449 0 0 0.2106036639 -0 0 0.1684140928 0 0 0.1131428086 -0 0 0.1019205506 0 0 0.06113809996 -0 0 0.06480538679 0 0 0.02956059757 -0 0 0.04222106929 0 0 0.008651775987 -0 0 0.0303465245 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 3 -ad : 0 3.245352337 -iw : 7 -0.001116775942 0.00129620617 -0.0005545366424 -0.0003397506626 0.000169764751 0.0001563893924 --0.0001402900814 -9.872022548e-06 3.127438262e-05 3.479228806e-05 -4.915911844e-05 1.517459569e-05 --5.179206692e-06 6.33196742e-06 0.1685459137 -0.001719194225 7.832955213e-06 0.008519335656 --0.002126727836 -6.383986497e-07 -0.01804955998 0.0001733317939 -2.328826506e-06 -0.006649638414 -0.0006323003286 1.702117738e-07 0.01042912955 -4.621424577e-05 9.746308407e-07 -0.004476813165 --0.0002646222891 -3.080516344e-07 0.001723717523 8.363918444e-05 -2.642491557e-07 -0.002702999739 -7.174636134e-05 9.73716732e-08 0.003396942544 -2.643740991e-05 1.779569024e-07 -0.002710715974 --4.831712779e-05 -1.638238984e-07 0.00203426698 4.447987194e-05 2.478712665e-08 -0.001979224499 --6.729959611e-06 2.232499018e-08 0.001984338396 -6.061464258e-06 0.0002557617969 0.0008915021144 --1.067639247e-05 -0.003341703375 -0.2420519856 -0.0009458068261 0.0002037130797 -1.525360502e-05 --0.002503268859 -0.0553101946 -0.0002624530305 -7.237395036e-05 -2.217173456e-06 -0.0001473952287 -0.01965027128 0.0002582460339 -7.027321364e-05 4.393976361e-06 0.0007456983017 0.01907989967 -0.0001354349672 5.073808751e-05 9.347590759e-07 1.921300801e-05 -0.01377591217 -0.0001631433081 --1.154793074e-05 -1.901102609e-06 -0.0002335893946 0.003135381869 -5.14182051e-06 8.145379199e-06 --1.929725477e-07 -4.348742467e-05 -0.002211554159 4.16530511e-05 -1.705788633e-05 7.982064894e-07 -0.000144573124 0.004631391435 3.034173041e-05 1.774461887e-05 1.09692004e-07 -2.277131633e-05 --0.004817846376 -5.056798268e-05 -1.303110956e-05 -4.414763845e-07 -3.227743399e-05 0.003538080159 -1.51333428e-05 1.017661083e-05 3.397269164e-08 -1.698790884e-05 -0.00276305442 -3.588048988e-06 --1.003384929e-05 1.111102728e-07 3.638185481e-05 0.002724293195 1.834694489e-05 1.026327712e-05 -7.362235327e-08 -1.178888638e-05 -0.00278658521 -ad : 1 2.003222249 -iw : 0 -0.05313301447 0.1286680393 0.06517620847 0.007472252791 -0.0006570116273 0.009648489909 -0.002701841246 -0.004204341885 -0.006654797904 -0.0008599562261 0.0007120250877 0.001629385081 --0.0002778088774 0.01920531896 0.2390925999 -0.04640849895 0.04311818406 0.09987945243 --0.1041925002 0.02655052661 -0.000123043826 -0.06415775176 0.004543585305 -0.01021304657 --0.0109793008 -0.0003388288342 0.006482812572 0.000818759513 0.0050843439 -0.004670819845 --0.01228601145 0.00494269421 -0.005367783514 -0.01194372348 0.0009578834066 -0.005718893876 --0.00231466768 -0.002287486172 0.003060469891 0.005527572849 -0.001515471155 0.0008221766565 -0.003662044961 -0.0004055129126 0.0022111326 0.0009798975805 0.0004553027313 -0.00154584638 --0.001100211685 9.688088572e-06 0.001005773637 -2.341068374e-05 0.05531768482 0.07652261642 --0.01769791485 -0.1312550258 -0.1849123033 0.02318366944 0.04171504285 -0.03853825564 --0.1173323109 -0.1008018938 -0.001551598068 0.005597003162 -0.02449038179 -0.04635718684 --0.01352482174 -0.0009002984412 -0.001109166184 -0.0001516048289 0.001255757605 0.002680233418 -0.00615240244 0.006002985478 0.006124024444 0.001607746488 -0.01450585361 0.0003342346836 -0.001410691101 -0.003167074193 -0.006921319443 -0.003408850259 -0.003856446465 -0.002262674751 --0.008679317147 -0.0107017084 0.005467617542 -0.004677049612 -0.004273944976 -0.005589710817 --0.003093111822 0.01032773115 -0.0002162521096 -0.0003528028887 0.0002423227069 0.0008598370229 -0.0008525269758 0.0006956281023 0.0002539650561 0.00206308977 0.002926696781 -0.0006136912939 -0.001182254339 0.001158501333 0.00116079864 0.000276900015 -0.002799448842 -0.0002434233547 --0.0003135552925 3.081828248e-06 0.0004277933119 0.0007576875185 0.0002771508332 0.0003690389612 --4.235723098e-05 -0.0005648642525 -0.0008917604691 -iw : 1 --0.004434869179 -0.03542222125 -0.06296459969 -0.05010339901 -0.01541423611 0.01076808903 -0.01551334377 0.00691363842 -0.002587209354 -0.005170285736 -0.002584157319 0.0006779445738 -0.001411811693 0.04681525403 -0.03350547565 0.004792275253 0.09222228228 -0.06059218776 -0.03096916525 0.06053321819 -0.02956017213 0.06095721959 0.01200646291 0.006890398373 -0.06283399294 -0.01546054828 0.02063043935 0.03647592104 -0.01295505854 0.01074183426 -0.004522297057 -0.002908509865 -0.001194654192 -0.0133335208 0.00494321241 -0.006984100466 --0.0132060984 0.003688339935 -0.003730301453 -0.003961568389 0.0009385972063 0.0001540228098 -0.003381817098 -0.001762751952 0.002378779731 0.004264740234 -0.0008660441348 0.001030258986 -0.001544399574 -0.0003781485969 9.15101331e-05 -0.000751492539 0.01168668606 0.1783255734 --0.04061963359 0.01950770206 0.02880090282 0.03299097888 0.08259866035 -0.08765787282 -0.05267825644 0.05699425583 0.04480271139 0.007624627423 -0.07722976259 0.06783707207 -0.03976761357 0.04043829497 -0.02708304678 -0.03229553432 0.05791688072 0.002222679007 -0.02441982922 -0.00545215461 0.006780896791 0.03264795009 -0.02231372175 0.007159953059 -0.001071390591 0.01792449384 0.008161613185 -0.02088564328 -0.004129119807 0.009745602543 -0.01037962667 -0.006540867586 -0.006600993493 -0.006686967916 -0.0007425184934 -0.001454585297 --0.008975789762 0.005748146334 -0.003736297075 0.0003321396618 -0.005541162917 -0.004596551167 -0.007467473162 0.0001516248894 -0.004328285797 -0.003508317569 0.000517050282 0.003056959875 -0.001672699301 0.001543628765 0.0004543893562 0.002237245301 -0.001519321744 0.001170788646 --0.001150454971 0.0014310236 0.001467400698 -0.002065153595 0.0001079762479 0.00218769172 -0.0009591287437 6.209993218e-05 -0.0009349260225 -iw : 2 --0.1039118588 -0.1831869295 -0.04403335488 0.0433690457 0.05010717646 0.005265929088 --0.01378932476 -0.01625732965 5.095234039e-05 0.004151010891 0.006036686805 -0.0009483426263 --0.0004600809192 -0.03350547565 0.1427876306 0.08096396812 -0.06059218776 0.2918007385 -0.1464173799 -0.02956017213 0.2113880267 0.07143037929 0.006890398373 0.0667249212 --0.01665023353 0.02063043935 -0.02855672559 -0.04985221673 0.01074183426 -0.03665535066 --0.02595699687 -0.001194654192 -0.01524149211 0.002886810052 -0.006984100466 0.008375994931 -0.016876659 -0.003730301453 0.009129105626 0.009014049256 0.0001540228098 0.004468522052 --0.0003721868625 0.002378779731 -0.003204074081 -0.005748178247 0.001030258986 -0.001843404526 --0.002489558917 9.15101331e-05 -0.001501728589 -0.0002211287365 -0.07658154545 0.05148755303 -0.02880090282 0.1903200449 -0.1244165773 0.009711544053 0.1152617743 0.05699425583 -0.09731626271 -0.2785231499 0.04714678456 0.1099552632 0.03976761357 -0.00202168677 --0.2657002847 0.03854091738 0.05757290422 0.002222679007 -0.0623036724 -0.1391214627 -0.0003829055874 0.005490500862 -0.02231372175 -0.04534884873 -0.01326746533 -0.01149210275 --0.01614130463 -0.02088564328 -0.02192084964 0.03900449249 -0.01243728305 -0.01376723887 --0.006600993493 0.008322804035 0.03326770528 0.000931749128 -0.001951639915 0.005748146334 -0.009897446778 0.004716020553 0.003075044205 0.004176428498 0.007467473162 0.009628288399 --0.01009208845 0.004723669345 0.003988852535 0.003056959875 -0.002059743124 -0.009638822406 --0.00107419296 0.000387380657 -0.001519321744 -0.001182049036 -0.0009360820747 -0.0001666432587 --0.0009685854809 -0.002065153595 -0.003847058438 0.002340528599 -0.001861992343 -0.001010680207 --0.0009349260225 0.001352775045 0.002442247974 -iw : 3 -0.01071659482 0.08559566864 0.1521501707 0.1210718523 0.03724757511 -0.02602043993 --0.03748706282 -0.01670639171 0.006251835904 0.01249368473 0.006244460845 -0.001638212316 --0.0034115581 0.004792275253 0.08096396812 0.03721820546 0.03096916525 0.1464173799 -0.03020318542 0.06095721959 0.07143037929 -0.06154019501 0.06283399294 -0.01665023353 --0.1138253915 0.03647592104 -0.04985221673 -0.08850751812 0.004522297057 -0.02595699687 --0.02201144663 -0.0133335208 0.002886810052 0.02379330504 -0.0132060984 0.016876659 -0.03138985019 -0.003961568389 0.009014049256 0.01162180833 0.003381817098 -0.0003721868625 --0.005833856635 0.004264740234 -0.005748178247 -0.01030335469 0.001544399574 -0.002489558917 --0.003958871015 -0.000751492539 -0.0002211287365 0.001126796344 0.04586663358 0.02880090282 -0.01247214891 -0.004353603965 0.1206486561 0.09491483776 0.05699425583 0.009905261381 --0.02646795564 -0.03153849009 0.07538926176 0.03976761357 -0.02571888098 -0.05789249042 --0.07201431208 0.02016976244 0.002222679007 -0.05826085722 -0.07189087505 -0.03153420146 --0.02145539515 -0.02231372175 -0.05980539931 -0.05721019663 0.03923348219 -0.02668481057 --0.02088564328 -0.032464531 -0.02513944905 0.04289714608 -0.01112247971 -0.006600993493 --0.000685503702 0.003623378633 0.02296480466 0.005360390854 0.005748146334 0.01599993961 -0.01545507516 -0.0122538021 0.009046143443 0.007467473162 0.01336953083 0.01111745453 --0.01462228154 0.004410338878 0.003056959875 0.002954751971 0.001508426178 -0.01045017798 --0.001456707276 -0.001519321744 -0.004087109946 -0.003913562445 0.004586234585 -0.002443911237 --0.002065153595 -0.003903386877 -0.003323473433 0.002985238058 -0.001283916299 -0.0009349260225 --0.001134880071 -0.0007406890314 0.004059982016 -ad : 2 3.03052076 -iw : 4 -0.04085782418 0.05645149359 -0.01142653251 -0.01755186815 0.00122510922 0.008268824929 --0.002273562711 -0.002071756675 -0.0001659589024 0.002126625134 -0.001097888488 -2.232716697e-06 --0.0002569301859 0.04700579041 0.1656850969 -0.03226389442 0.06874722846 0.002690854844 --0.04718681043 0.008493309252 -0.02070468192 -0.005829648446 -0.01964880866 -0.005187033397 -0.01348657437 -0.006043404255 0.01197139803 0.004148079527 0.00804303874 -0.005003358419 --0.005520591198 0.002135257927 0.0008835265928 -0.001465601061 -0.002718702046 -0.002486186968 -0.001866066181 -0.001777601692 0.003912336977 0.001220112518 0.00175713701 -0.002843938444 --0.001206065944 0.0003828348371 0.001747325854 -0.0002627706642 -0.0002297879902 -0.001920773131 -0.000157722174 -0.0006507616215 0.002164884151 0.0004466705924 0.06579338749 0.1745014763 --0.04066494441 -0.08262373017 -0.119774546 0.05467377531 0.03218999124 -0.068211178 --0.04213866197 -0.02209460728 0.01180759283 -0.01994216113 -0.02293603287 -0.002778336398 -0.01368792601 -0.01338139007 -0.01322965815 0.01506213042 0.01157135 0.009080589652 --0.00459342813 0.01263427086 0.01041031429 -6.545980722e-05 -0.008671926961 0.003247528896 --0.002199576161 -0.005305997018 -0.001536429049 0.001509747893 0.003235988413 0.0004013555982 --0.004496033557 -0.002140545479 -0.0002754829678 -0.002214400809 -0.003563173719 0.002073391676 -0.002237834017 0.002445695725 -0.0007575788033 0.004168125862 0.00235284678 -0.0005007856317 --0.00286092355 0.0003268325156 -0.002528824359 -0.00123795717 0.0003877987087 0.001735737692 -0.001027208253 0.001735372119 -0.0009366283474 -0.001057472034 -0.00119112693 -0.0008160355735 --0.001983687579 0.0005594815915 0.0009823149696 0.001361566013 8.175768775e-05 0.00212931658 -0.0005329256838 -0.0005522463192 -0.001461523032 -ad : 3 3.347258395 -iw : 5 -0.125250151 0.1322633867 -0.07199553683 -0.02855363232 0.02321695176 0.01215473054 --0.01727590414 0.00251908848 0.003222937441 0.002039670329 -0.004946188747 0.002885189043 --0.00148552754 0.001757933547 -0.01025971856 -0.09697804215 0.001988014882 -0.1940534019 --0.1096706933 -0.0003672083141 0.01893833768 0.02025738881 -0.0005609271349 0.05057919519 -0.03094406806 0.0001485764814 -0.004492485678 -0.008196360037 0.0002184178553 -0.02680086774 --0.01204922451 -0.000141959579 0.01605929671 0.007831332452 -3.352717538e-05 0.0007885103192 -0.00184955787 5.222299172e-05 -0.001871579675 -0.002880929999 2.692908247e-05 -0.005494941673 --0.001485567926 -5.773072489e-05 0.007887293175 0.003184769231 1.933846456e-05 -0.003922152091 --0.001066824417 7.755267513e-06 0.001194925414 -0.0004278265586 0.02121018741 -0.0005254601307 --0.001490706086 -0.1189462903 0.02898749773 -0.1085316417 -0.003104396981 -0.001955630667 -0.08013357963 0.1712569521 -0.01761027028 -0.0003724166172 -0.0001001108743 0.02498098791 -0.0205447097 0.03104254817 0.0009027902427 0.0005839400695 -0.02156425774 -0.04980326495 -0.008828151059 0.0001690304844 2.096411745e-05 -0.01413468112 -0.009324724171 -0.01897168929 --0.0004854299799 -0.00024717802 0.01922860459 0.02677919716 0.003568566036 8.519112045e-05 -3.637311554e-05 -0.004175040214 -0.00469964754 0.003858788619 0.0001219657241 8.870531914e-05 --0.001791714331 -0.006728352813 0.00132241624 1.271113087e-05 -1.771827381e-05 -0.00326761602 --0.0007012213786 -0.004841648653 -0.0001113502475 -4.234706807e-05 0.006050633622 0.006142740155 -0.003031065945 6.779091817e-05 2.333673093e-05 -0.00396299074 -0.003739749167 -0.001474630709 --2.695377682e-05 -1.383279108e-06 0.002477850504 0.001486930213 0.001549132638 2.818104283e-05 -1.230657623e-06 -0.002615308371 -0.001554633486 -ad : 4 0 -iw : 6 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.3077382577 0 0 0.340113108 -0 0 0.2965292449 0 0 0.2106036639 -0 0 0.1684140928 0 0 0.1131428086 -0 0 0.1019205506 0 0 0.06113809996 -0 0 0.06480538679 0 0 0.02956059757 -0 0 0.04222106929 0 0 0.008651775987 -0 0 0.0303465245 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 4 -ad : 0 3.245352337 -iw : 6 --0.001116775942 -0.00129620617 0.0005545366424 0.0003397506626 -0.000169764751 -0.0001563893924 -0.0001402900814 9.872022548e-06 -3.127438262e-05 -3.479228806e-05 4.915911844e-05 -1.517459569e-05 -5.179206692e-06 6.33196742e-06 0.1685459137 -0.001719194225 7.832955213e-06 0.008519335656 --0.002126727836 -6.383986497e-07 -0.01804955998 0.0001733317939 -2.328826506e-06 -0.006649638414 -0.0006323003286 1.702117738e-07 0.01042912955 -4.621424577e-05 9.746308407e-07 -0.004476813165 --0.0002646222891 -3.080516344e-07 0.001723717523 8.363918444e-05 -2.642491557e-07 -0.002702999739 -7.174636134e-05 9.73716732e-08 0.003396942544 -2.643740991e-05 1.779569024e-07 -0.002710715974 --4.831712779e-05 -1.638238984e-07 0.00203426698 4.447987194e-05 2.478712665e-08 -0.001979224499 --6.729959611e-06 2.232499018e-08 0.001984338396 -6.061464258e-06 -0.0002557617969 -0.0008915021144 -1.067639247e-05 0.003341703375 0.2420519856 0.0009458068261 -0.0002037130797 1.525360502e-05 -0.002503268859 0.0553101946 0.0002624530305 7.237395036e-05 2.217173456e-06 0.0001473952287 --0.01965027128 -0.0002582460339 7.027321364e-05 -4.393976361e-06 -0.0007456983017 -0.01907989967 --0.0001354349672 -5.073808751e-05 -9.347590759e-07 -1.921300801e-05 0.01377591217 0.0001631433081 -1.154793074e-05 1.901102609e-06 0.0002335893946 -0.003135381869 5.14182051e-06 -8.145379199e-06 -1.929725477e-07 4.348742467e-05 0.002211554159 -4.16530511e-05 1.705788633e-05 -7.982064894e-07 --0.000144573124 -0.004631391435 -3.034173041e-05 -1.774461887e-05 -1.09692004e-07 2.277131633e-05 -0.004817846376 5.056798268e-05 1.303110956e-05 4.414763845e-07 3.227743399e-05 -0.003538080159 --1.51333428e-05 -1.017661083e-05 -3.397269164e-08 1.698790884e-05 0.00276305442 3.588048988e-06 -1.003384929e-05 -1.111102728e-07 -3.638185481e-05 -0.002724293195 -1.834694489e-05 -1.026327712e-05 --7.362235327e-08 1.178888638e-05 0.00278658521 -ad : 1 1.950638213 -iw : 0 -0.05200549356 0.1283623673 0.06859735187 0.009746705202 -0.0006889193902 0.00995919682 -0.004532324493 -0.002797238223 -0.006784772713 -0.001813582803 0.0001533600954 0.001628351584 --0.0001295695695 0.01851604131 0.243486829 0.04429843583 0.04232783217 0.1087998431 -0.1012666112 0.02708488509 0.004094774289 0.06479884247 0.004993283389 -0.009938953852 -0.01194610878 -0.0008295120218 0.007034073825 -0.001984554066 0.004594160092 -0.003120752651 -0.01099123201 0.005454416684 -0.00509549877 0.01304934048 0.001918403712 -0.006743021229 -0.004589657275 -0.001770347013 0.001991299199 -0.004235441163 -0.001663976755 0.0007270967499 --0.003980957174 -0.0006753792216 0.002473515549 -0.001615801272 0.0003237925779 -0.0012972451 -0.0007746528802 2.876743362e-05 0.0009840056195 6.882423142e-05 0.0553000848 0.07680699484 -0.01663199818 -0.12862163 0.1837557864 0.02541657714 0.04418610179 0.03687136002 --0.1168235143 0.1057124016 -0.0001591949482 0.007143756606 0.0241795874 -0.04746568841 -0.0170909774 -0.0008610783333 -0.001074595046 0.0001402741366 0.001214466946 -0.002570899411 -0.00652214722 0.006205813558 -0.007423243197 0.003360143161 0.01484700909 0.00164230799 -0.002536495745 0.00133434377 -0.005479157913 0.006068402639 -0.003007112038 -0.001422243715 -0.008156371394 -0.01089588874 -0.003402626452 -0.004905220663 -0.004368818459 0.00656484213 --0.004465870852 -0.01045211668 -0.0009359866516 -0.000947364215 0.0008785372655 -0.0001134527689 --0.002266507845 0.0003269185913 -8.289358978e-05 -0.001668044079 0.002727232491 -0.0001983175726 -0.001205100062 0.001157974792 -0.001334345044 0.0005473050125 0.002770380079 -0.0001264214975 --0.0002176626867 -0.0001764299121 0.000567320758 -0.0005207439537 0.0002933359397 0.0003830726274 -8.136735868e-06 -0.0005241383414 0.0009164765792 -iw : 1 --0.004250698777 -0.03444477438 -0.06285629416 -0.05285023305 -0.01969837362 0.007849418645 -0.01552086361 0.008835181344 -0.0008051620705 -0.004855025169 -0.003331571452 -0.0001186769411 -0.001235217821 0.04601001979 -0.03336831634 -0.004483920613 0.09268307552 -0.06223698594 --0.02937221604 0.06426030908 -0.03363484708 -0.05922752823 0.01628772983 0.003378402888 --0.06362509905 -0.01360809341 0.02006561873 -0.04031495757 -0.01392377002 0.01264602246 --0.009048566476 -0.004761378696 0.0008883415485 0.01093829754 0.004005611476 -0.006389021329 -0.01383777257 0.004066657512 -0.004538470121 0.006093639708 0.001755467287 -0.0008676450696 --0.001827019805 -0.00135916666 0.002049986286 -0.004213832618 -0.000993189815 0.00130233848 --0.002280169931 -0.0006516488195 0.000452423315 0.0001459009472 0.0112011946 0.1825465418 -0.03893503702 0.01874946701 -0.02799864435 0.03187083324 0.09083814193 0.08588214813 -0.05117918652 -0.05712519163 0.04399070431 0.01333731556 0.07901990204 0.06719931102 --0.04307373659 0.04095526111 -0.02641683276 0.03688274522 0.05936718356 -0.006894513786 -0.02637162789 -0.007694966435 -0.002900320781 0.03590611668 0.01968384075 0.00961792565 --0.0005918283323 -0.01725988991 0.01168401912 0.02184505053 -0.002436917991 0.009841889477 --0.01222816323 -0.004406378233 0.009492646373 -0.006378691628 0.00038498633 -0.0006494163313 --0.008802520086 -0.003538206429 -0.004478867604 0.001023949 0.004960445526 -0.005709015211 --0.00738736672 -0.0007002645879 -0.004415373196 0.004207834554 -0.0005936492074 -0.004261907792 -0.001310362888 0.001055824757 0.0004517629707 0.001836008733 0.000438676032 0.001318194356 --0.001382672614 -0.001174501039 0.001705102125 0.001915838525 0.0003545692766 0.002204158283 --0.001133026538 0.0003874715179 0.001254971728 -iw : 2 --0.1049577673 -0.1909248486 -0.05575377979 0.03758148223 0.05262561288 0.01089972671 --0.01093758996 -0.01738368137 -0.002654801611 0.00280038641 0.006492457277 0.0001728529859 -2.300704848e-05 -0.03336831634 0.1403127791 -0.07983154687 -0.06223698594 0.2930023294 --0.1488979789 -0.03363484708 0.2229330665 -0.0804692045 0.003378402888 0.08125408375 -0.008082611236 0.02006561873 -0.02030033825 0.04800569996 0.01264602246 -0.03716475604 -0.03025479394 0.0008883415485 -0.01985268235 0.002125299918 -0.006389021329 0.004972185848 --0.01528532188 -0.004538470121 0.009097759801 -0.01085799735 -0.0008676450696 0.006196499104 --0.002075784926 0.002049986286 -0.001932298401 0.004904460105 0.00130233848 -0.001818760884 -0.003115760903 0.000452423315 -0.002029214961 0.001082393631 -0.0803644529 0.04983745509 --0.02799864435 0.1944772803 0.1192329002 0.003350690986 0.1139572158 -0.05712519163 -0.1069873522 0.2726352964 0.0448413683 0.1130959964 -0.04307373659 0.007379474808 -0.2705748845 0.04145202208 0.06426774722 -0.006894513786 -0.05818412537 0.1537564444 -0.004811355085 0.01158060598 0.01968384075 -0.04719829996 0.02770585365 -0.009556560634 --0.01389528527 0.02184505053 -0.02657954379 -0.03324357473 -0.01345418064 -0.01504457456 -0.009492646373 0.004560554766 -0.03599317529 -0.001147962535 -0.004311818974 -0.003538206429 -0.008974346357 -0.01031574908 0.002112815413 0.003029606872 -0.00738736672 0.01092649352 -0.00724813924 0.005097319034 0.004311980497 -0.004261907792 -0.0004138853997 0.01031613551 --0.0002222904938 0.001241777575 0.000438676032 -0.0004811261115 0.002970872838 0.0001792039371 --0.0005724657212 0.001915838525 -0.004093120535 -0.001369587353 -0.00194506265 -0.001067751629 -0.001254971728 0.0008910665462 -0.002554526976 -iw : 3 --0.01016952295 -0.08240690338 -0.1503796339 -0.1264407774 -0.04712708969 0.01877922836 -0.03713266615 0.0211376021 -0.001926298376 -0.0116153349 -0.00797057004 -0.0002839269351 -0.00295517905 -0.004483920613 -0.07983154687 0.0371567361 -0.02937221604 -0.1488979789 -0.03468906008 -0.05922752823 -0.0804692045 -0.05268157172 -0.06362509905 0.008082611236 --0.1093369412 -0.04031495757 0.04800569996 -0.09320802107 -0.009048566476 0.03025479394 --0.0317897255 0.01093829754 0.002125299918 0.01683575907 0.01383777257 -0.01528532188 -0.03132762202 0.006093639708 -0.01085799735 0.01609825346 -0.001827019805 -0.002075784926 --0.001851894671 -0.004213832618 0.004904460105 -0.009679174711 -0.002280169931 0.003115760903 --0.005495274711 0.0001459009472 0.001082393631 -0.0003635744782 -0.04409184978 -0.02799864435 -0.01233852108 0.003928539179 0.127264577 -0.09381876088 -0.05712519163 0.01159884276 -0.02425428773 -0.02195277727 -0.07928302079 -0.04307373659 -0.02130262561 0.05423276229 --0.07170968743 -0.02720354414 -0.006894513786 -0.05446661989 0.06975577855 -0.04002971571 -0.01634230662 0.01968384075 -0.06023162737 0.0589118798 0.03116982207 0.02654537921 -0.02184505053 -0.03726332352 0.02999426067 0.04254016402 0.01436656977 0.009492646373 --0.006231818091 0.001118616712 0.02858465916 -0.002236435122 -0.003538206429 0.0132932212 --0.01353995201 -0.006601030592 -0.008452065379 -0.00738736672 0.01444763729 -0.01235171295 --0.01356204816 -0.005682262568 -0.004261907792 0.005499278912 -0.00373366651 -0.01283030334 -5.495228671e-05 0.000438676032 -0.002430239892 0.00261429002 0.001921969298 0.002124920281 -0.001915838525 -0.003982669971 0.003485383574 0.002400057597 0.001609719521 0.001254971728 --0.001842694665 0.001366615559 0.00468203907 -ad : 2 2.994710688 -iw : 4 -0.03998728222 0.05671805793 -0.009467802864 -0.01776361079 0.0001588082202 0.00827995989 --0.001583722348 -0.002122808159 -0.0005240081833 0.002093070624 -0.0008471530753 -3.451584892e-06 --0.0003561500439 0.04588064815 0.1689161012 0.03096893175 0.06883063931 0.006836783236 -0.0464599228 0.01076169996 -0.02094971704 0.007264028845 -0.0191659024 -0.006542397759 --0.01293677285 -0.007199930086 0.01199216583 -0.004859873442 0.007630815156 -0.004376387037 -0.005150716115 0.002837850666 0.0007777563923 0.001915517917 -0.002511118416 -0.002721189425 --0.00169497725 -0.002155705513 0.003931034038 -0.001455077458 0.001615763861 -0.002689637235 -0.001090622796 0.000637443377 0.001685343428 0.0004302672528 -0.0002029917558 -0.001943838133 --0.0001370171976 -0.0007777744641 0.002167863571 -0.0005249891897 0.06495534276 0.1776348296 -0.03892980974 -0.08110841225 0.1199015519 0.05585812597 0.03794384219 0.06692177829 --0.04277558052 0.02561167522 0.01366258023 -0.01888197294 0.0245723456 -0.003846276074 --0.0127451236 -0.01290975821 -0.01503457952 -0.01364176539 0.01135804556 -0.01014817545 --0.005368507623 0.01206255479 -0.01100786323 0.000420502453 0.008142091518 0.002843555198 --0.001302115677 0.004348730678 -0.001417858169 -0.0008789137285 0.003546729725 0.0006096984277 -0.004773420242 -0.002293272951 0.0004115397179 -0.001915174066 -0.003984638616 -0.001512766933 -0.002097106996 -0.002689587143 -0.0009083134186 0.004005626442 -0.002434765654 -0.0003904341669 -0.002703753694 0.0001677911337 -0.002246611172 0.0008886505452 0.0004260887352 -0.001516437777 -0.001061789193 0.001787002504 0.0009616509622 -0.00106348527 0.001206206992 -0.000723756088 --0.002096732176 -0.0003995546752 0.0009313347991 -0.001415271106 9.370131008e-05 0.002043230395 --0.0004643792117 -0.0005368250185 0.001379157994 -ad : 3 3.303653192 -iw : 5 -0.1254741982 0.1381147446 -0.06816681006 -0.03282017257 0.02173153757 0.01455759627 --0.01687267716 0.0009443445761 0.00352962835 0.002832276014 -0.00531352736 0.002400737997 --0.00105025918 0.001058404368 -0.006670372595 0.094871103 0.001244917912 -0.197693091 -0.1115894255 -0.0001742847026 0.010679363 -0.01562217851 -0.0003614416658 0.05323921877 --0.03239817458 6.507128261e-05 -0.000276742574 0.005832727584 0.0001462668388 -0.02872300844 -0.01311077009 -7.246817554e-05 0.01368296012 -0.006495755263 -3.120021059e-05 0.002486914378 --0.002796661164 2.631656171e-05 -0.0009421581137 0.002358910556 2.226030981e-05 -0.00641005737 -0.001995324479 -3.273248094e-05 0.007444038088 -0.002934007704 8.514069694e-06 -0.003380599382 -0.0007631669021 5.089672198e-06 0.00114359027 0.0004562177082 0.02444628828 -0.0002868575355 -0.0008764727263 -0.1208959189 -0.02571275366 -0.107854319 -0.001901309213 0.00119354734 -0.0798377014 -0.170425697 -0.02274323861 -0.0003119945356 0.0001095728959 0.02957199433 --0.02796593307 0.030489797 0.000547284831 -0.0003530616333 -0.02116679412 0.0490564071 -0.01159776378 0.0001484992301 -3.893749438e-05 -0.01659815041 0.01331087265 -0.01896060186 --0.0002980401448 0.0001519680464 0.0192206178 -0.0267151177 0.001800744976 2.314530679e-05 --6.186853146e-06 -0.002564486225 0.002074652042 0.004402260324 8.425148316e-05 -5.933690732e-05 --0.002306879237 0.00755196348 0.002189245503 2.173087025e-05 2.717701592e-06 -0.004035457942 -0.00194786765 -0.005323138827 -7.612927247e-05 3.060876872e-05 0.006476641686 -0.00682392124 -0.002494010756 3.265112186e-05 -9.519710406e-06 -0.003466551065 0.002926715004 -0.0009717582361 --8.108056699e-06 -3.663615608e-06 0.002011485507 -0.0007267735331 0.001768669293 2.073969715e-05 --2.891456218e-06 -0.00280427885 0.001859022887 -ad : 4 0 -iw : 7 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.3077382577 0 0 0.340113108 -0 0 0.2965292449 0 0 0.2106036639 -0 0 0.1684140928 0 0 0.1131428086 -0 0 0.1019205506 0 0 0.06113809996 -0 0 0.06480538679 0 0 0.02956059757 -0 0 0.04222106929 0 0 0.008651775987 -0 0 0.0303465245 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/dphialpha_y_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/dphialpha_y_ref.dat deleted file mode 100644 index 7e2989d798..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/dphialpha_y_ref.dat +++ /dev/null @@ -1,870 +0,0 @@ -iat : 0 -ad : 0 2.003222249 -iw : 6 --0.09046914024 -0.214415565 -0.142260619 -0.02790118937 0.03786007902 0.02814680468 -0.008998392502 -0.008881735096 -0.0084804676 -0.004256513726 0.00451360582 0.001570166844 -0.00118556507 0.03118321102 -0.04205856012 0.1723395426 0.07812067423 -0.1053657711 --0.03287354227 0.07352287815 -0.09916446348 -0.1215494134 0.03283092487 -0.04428092496 --0.09040648582 0.001039771632 -0.0014023988 -0.01265234635 -0.01253246175 0.01690323987 -0.02111716499 -0.01011864274 0.01364758567 0.02769530263 -0.0007085757372 0.0009556961667 -0.001550333701 0.00347853089 -0.004691691323 -0.004604261327 0.002562737949 -0.003456509595 --0.008410797356 0.0008627191813 -0.001163598147 -0.000881963692 -0.0008017982453 0.001081430635 -5.082227107e-05 -0.001363680898 0.001839273543 0.004852247217 -0.09208270598 0.01592788191 --0.05129268302 -0.169165452 0.06918134219 -0.04766759609 0.04530343964 0.007672835938 --0.1100769678 -0.01034878773 0.006565468075 0.05091279545 0.05172641121 -0.0195492916 --0.06976633594 0.03433685229 0.03621161289 0.05805507376 0.03748066875 -0.078302161 -0.01848037963 0.01303335471 0.02528326173 0.02409337131 -0.03410096486 0.002994830795 --0.004482235713 -0.00199293278 0.007909408325 0.002687981141 -0.007945015504 -0.007526274256 --0.01264569005 -0.009190216525 0.01705595729 -0.005647810173 -0.004926734474 -0.008598303258 --0.00679012622 0.01159701784 -0.002595654954 -0.0002378000919 -0.002080128091 -0.00435138244 -0.002805586388 0.003656278757 0.002672560081 0.00508897842 0.004709726901 -0.006863792977 -0.001168679812 0.001724854847 0.002430670765 0.0009766517097 -0.003278383116 0.0006834384949 --0.0004371692711 8.612667388e-05 0.00144925748 -0.0001161639155 -0.000649667009 -5.860668182e-05 --0.0005197930841 -0.001089662501 0.0007010743269 -ad : 1 1.950638213 -iw : 7 -0.08859888324 0.2139219946 0.1498124316 0.03709668951 -0.03314683781 -0.02929603248 --0.01295388927 0.006482452452 0.008949505444 0.005603823519 -0.003381364425 -0.001351728036 --0.00202070459 -0.03005026605 0.0401149638 0.1787052314 -0.07676247401 0.1024724327 --0.02039559621 -0.07490963705 0.09999902741 -0.1160535956 -0.03659404741 0.0488504456 --0.09532420167 -0.004665312274 0.006227859437 -0.02103142856 0.01145653592 -0.01529365906 -0.01710036932 0.01096455092 -0.01463689415 0.02847249622 0.002189325893 -0.002922594056 -0.004938334589 -0.00254666825 0.003399620638 -0.002003372881 -0.002833880549 0.003783028591 --0.008740225054 -0.001610585382 0.002150016715 -0.002532376362 0.0005851290329 -0.0007811055627 --0.0005533942619 0.001388469542 -0.001853507896 0.004746748097 0.09202310515 -0.0149519678 --0.05271339248 0.1681479314 0.0703686226 0.05238355382 -0.04337520604 0.002424164378 -0.1161412604 -0.003236086699 -0.001288292574 -0.05020554014 0.04763463321 0.02718027657 --0.0635888409 -0.03224184723 -0.03787159098 0.05857084321 -0.03365838956 -0.07818790193 --0.01992146181 -0.01569971462 0.02902664492 -0.02530769738 -0.03874850254 -0.005808281618 -0.002278886404 0.002085165367 -0.01139526769 -0.002783547176 0.006422654581 0.006940626664 --0.01110608247 0.007058370857 0.01482582867 0.006226231331 0.005933425683 -0.01002696449 -0.007308199406 0.01338528307 0.003628377414 0.001221834878 -0.003763404405 0.005568752509 -0.005023876701 -0.002933131284 -0.002325534758 0.004286745515 -0.003717975815 -0.00572249979 --0.00107668969 -0.001800681108 0.002454511334 -0.0008099970865 -0.003276597723 -0.00127749794 --6.68649822e-05 0.0009870685835 -0.002173520154 -0.001317666221 0.0003274021628 -0.0002036701928 --4.757216199e-05 0.0006863922883 6.350544626e-05 -ad : 2 1.709269535 -iw : 4 --0.0002748441824 -0.0007165493136 -0.0006160326821 -0.0002754584191 7.567452766e-06 8.339353173e-05 -9.156988526e-05 2.548752195e-05 -1.145430429e-05 -2.494929917e-05 -1.174610439e-05 -7.803036862e-06 -1.137371369e-05 -0.0002395831244 -4.689242281e-06 0.2632194228 -0.0006643442995 -1.300288318e-05 -0.1968632222 -0.0007472309434 -1.462518256e-05 0.09850607428 -0.0004962374219 -9.712610208e-06 -0.01273557013 -0.0002188942904 -4.284309941e-06 -0.003545656728 1.516586131e-05 2.968339204e-07 --0.0135644503 9.198337924e-05 1.800345296e-06 -0.002837781504 7.484625139e-05 1.464928748e-06 --0.002751077894 3.610826299e-05 7.067292153e-07 0.003852169422 -1.195389318e-05 -2.33967653e-07 --0.000845409021 -2.658905535e-05 -5.204144609e-07 0.002521002893 -9.566233261e-06 -1.872351635e-07 --0.001856162882 -5.23272665e-06 -1.024175768e-07 0.001134820612 -0.0004832289237 -4.49538975e-06 -0.2152167201 -0.0006073862375 0.004212330673 -0.0007916384417 -1.419401187e-05 0.2289485308 --0.0006462342771 0.004481096627 -0.0007940340467 -1.846365612e-05 0.1531317857 -0.0004323221645 -0.002997172884 -0.0006126038566 -1.73474183e-05 0.06198146538 -0.0001750849175 0.00121313264 --0.0003469679627 -1.077432678e-05 0.01792582689 -5.069429453e-05 0.000350853365 -9.968688987e-05 --4.051511789e-06 -0.01215399746 3.425809312e-05 -0.0002378841954 1.627349826e-05 1.54299885e-07 --0.007195078467 2.030604434e-05 -0.0001408257207 9.563632277e-05 2.794368688e-06 -0.008116108924 -2.293156468e-05 -0.0001588525954 5.322605199e-05 1.85938681e-06 0.0009893300689 -2.773313581e-06 -1.936366929e-05 1.869761956e-05 6.448349337e-07 0.0001965093829 -5.481075429e-07 3.846181191e-06 --6.188050693e-06 -4.00894292e-08 0.003072343666 -8.670550676e-06 6.013346664e-05 -1.889206656e-05 --7.044289349e-07 -0.001155906699 3.25493031e-06 -2.262399149e-05 -1.355073939e-05 -3.654651632e-07 -0.00170152349 -4.805348162e-06 3.330307971e-05 -ad : 3 2.100474535 -iw : 5 --3.063011411e-05 -7.001151081e-05 -4.154700663e-05 -3.746474417e-06 1.448857582e-05 7.902777747e-06 -5.397094389e-07 -3.948214212e-06 -2.026502956e-06 -4.788785161e-07 1.847051437e-06 4.023629618e-07 --7.841209627e-08 1.006279224e-05 3.087036588e-05 0.2421808542 2.427867459e-05 7.448147088e-05 -0.1423494015 2.124125789e-05 6.516336489e-05 0.04380621975 7.747586897e-06 2.376784061e-05 --0.01607771132 -1.531973703e-06 -4.699748098e-06 -0.009786095328 -4.065683549e-06 -1.247259564e-05 --0.006926147572 -2.348744487e-06 -7.205415744e-06 0.004787431261 5.535491989e-07 1.698163481e-06 --0.0002622268984 1.34387283e-06 4.122697253e-06 0.003109639169 4.961392331e-07 1.522042717e-06 --0.002584350353 -1.701213065e-07 -5.218936104e-07 0.001177838407 -2.757874028e-07 -8.460532446e-07 --0.001734578948 -2.74037682e-07 -8.406854977e-07 0.001757801056 -2.943955793e-05 -1.113842299e-05 --0.07434148854 -8.153018311e-05 -0.2280628374 -1.111579938e-05 -3.050407748e-05 -0.06471434399 --0.0001028893318 -0.1985289399 6.67851365e-06 -3.231802948e-05 -0.03168835306 -7.704217845e-05 --0.09721268504 1.294393708e-05 -2.031903295e-05 -0.002450344769 -3.329124973e-05 -0.007517102381 -5.024560493e-06 -4.983835762e-06 0.003094701577 -4.961906908e-06 0.009493843024 -9.031148675e-07 -4.909814057e-06 0.005036927036 1.189750712e-05 0.01545215053 -3.436122729e-06 4.846684609e-06 --0.0001120632253 7.337120235e-06 -0.000343784576 -1.266076571e-06 1.647141803e-06 -0.0002345170358 -2.323231085e-06 -0.0007194451125 -1.325436595e-07 -8.932223734e-07 -0.001509449971 -2.678613054e-06 --0.004630650395 1.478489094e-06 -1.68053364e-06 0.0006123951084 -2.046875674e-06 0.001878689393 -2.942641783e-07 -7.472643082e-07 -0.0004532959683 -1.539171782e-06 -0.001390609291 -1.271248683e-07 -7.097394704e-07 0.0007349578532 1.725779808e-06 0.002254684116 -4.074683e-07 2.772112815e-07 --0.0004278651971 5.430321014e-08 -0.001312593449 -ad : 4 0 -iw : 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0.3323408577 0 0 -0.3381829911 0 0 0.1941332719 0 0 -0.04638680834 0 0 -0.04028417335 0 0 --0.08462892004 0 0 -0.08958563666 0 0 --0.08083690751 0 0 -0.05951877109 0 0 --0.04132486996 0 0 -0.02364071707 0 0 --0.01300175494 0 0 -0.003849155413 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 1 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0.2775418879 0 0 0 0 0.3405120677 -0 0 0 0 0.3362776137 0 -0 0 0 0.2791435086 0 0 -0 0 0.2353955451 0 0 0 -0 0.1851183885 0 0 0 0 -0.1526566016 0 0 0 0 0.1173755327 -0 0 0 0 0.09486198903 0 -0 0 0 0.06752677913 0 0 -0 0 0.05189252662 0 0 0 -0 0.03329269882 0 0 0 0 -0.02312125451 0 0 -iw : 2 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.2775418879 0 0 0 -0 0.3405120677 0 0 0 0 -0.3362776137 0 0 0 0 0.2791435086 -0 0 0 0 0.2353955451 0 -0 0 0 0.1851183885 0 0 -0 0 0.1526566016 0 0 0 -0 0.1173755327 0 0 0 0 -0.09486198903 0 0 0 0 0.06752677913 -0 0 0 0 0.05189252662 0 -0 0 0 0.03329269882 0 0 -0 0 0.02312125451 -iw : 3 --0.1246276028 -0.36586141 -0.4376268693 -0.4231135336 -0.3565090714 -0.2974409008 --0.2377487477 -0.193381104 -0.1514250008 -0.1200356898 -0.08743554786 -0.06534687476 --0.04344417142 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 -0.1602388837 0 -0 -0.2775418879 0 -0.196594734 0 0 --0.3405120677 0 -0.1941499708 0 0 -0.3362776137 -0 -0.1611635798 0 0 -0.2791435086 0 --0.1359056813 0 0 -0.2353955451 0 -0.1068781514 -0 0 -0.1851183885 0 -0.08813633004 0 -0 -0.1526566016 0 -0.06776679537 0 0 --0.1173755327 0 -0.0547685949 0 0 -0.09486198903 -0 -0.03898660411 0 0 -0.06752677913 0 --0.02996016421 0 0 -0.05189252662 0 -0.01922154863 -0 0 -0.03329269882 0 -0.01334906251 0 -0 -0.02312125451 0 -iat : 1 -ad : 0 3.03052076 -iw : 6 --0.07574572706 -0.1046546044 0.02118348272 0.03253915354 -0.002271212197 -0.01532945449 -0.004214924901 0.003840799621 0.0003076687997 -0.003942519461 0.002035359528 4.139201069e-06 -0.0004763191414 0.08714335238 -0.03226389442 0.1232749227 0.1274494887 -0.04718681043 --0.05933516169 0.01574562271 -0.005829648446 -0.0283676256 -0.0364266411 0.01348657437 -0.01254076971 -0.01120377941 0.004148079527 0.01742395664 0.01491087275 -0.005520591198 --0.0122600532 0.00395852367 -0.001465601061 -0.001042973521 -0.005040162252 0.001866066181 --3.328432979e-05 -0.003295469968 0.001220112518 0.005516147841 0.003257530791 -0.001206065944 --0.004429285397 0.0007097319464 -0.0002627706642 0.00140191964 -0.0004260006189 0.000157722174 --0.001713450828 -0.001206437522 0.0004466705924 0.002752022746 -0.1219734059 0.04066494441 --0.1210483081 -0.11648568 0.04481684174 -0.1013589183 0.068211178 0.05747209051 --0.01657787951 -0.02127842698 -0.02188992492 0.02293603287 0.05009106802 0.01554292769 --0.01854568232 0.02480756478 -0.01506213042 -0.006569178465 0.007862407008 0.002432168085 -0.008515689721 -0.01041031429 -0.02631839828 -0.009513883831 0.009744105548 -0.006020546671 -0.005305997018 0.009174191647 0.001938881973 -0.00339664636 -0.005999151937 0.004496033557 -0.005508580869 8.814355065e-05 -0.002039493165 0.004105245511 -0.002073391676 0.0008377463125 -0.002278005652 -0.0003101666144 0.001404464345 -0.00235284678 -0.007260890809 -0.003051215164 -0.002688267184 -0.0006059100555 0.00123795717 0.004156091623 0.001835860178 -0.001538748484 --0.001904326467 0.0009366283474 -0.0005041949139 -0.00111537507 0.0001866727757 0.001512836502 --0.0005594815915 0.001248261427 0.001316316719 -0.000462155446 -0.0001515693903 -0.0005329256838 --0.00282983558 -0.001504624559 0.001047716365 -ad : 1 2.994710688 -iw : 7 -0.07467809645 0.1059235929 -0.01768155914 -0.03317436361 0.0002965816861 0.01546320753 --0.002957674633 -0.003964442285 -0.0009786094851 0.003908906063 -0.001582097496 -6.445994205e-06 --0.0006651266567 -0.08568422954 0.03096893175 0.1276628766 -0.128544398 0.0464599228 --0.0550517457 -0.02009797173 0.007264028845 -0.03062601507 0.03579320796 -0.01293677285 -0.01069047291 0.01344620198 -0.004859873442 0.01846592644 -0.01425089975 0.005150716115 --0.01123757457 -0.005299817191 0.001915517917 -0.001773874753 0.004689629624 -0.00169497725 --0.0004633370163 0.004025879612 -0.001455077458 0.005869319725 -0.003017513639 0.001090622796 --0.004142438625 -0.001190454948 0.0004302672528 0.00111219122 0.0003790964797 -0.0001370171976 --0.001761319689 0.001452529735 -0.0005249891897 0.002867193374 0.1213071027 -0.03892980974 --0.1257770453 0.1164702733 0.0454597159 0.1043176302 -0.06692177829 0.05120160107 -0.01971318078 -0.01850584288 0.02551549962 -0.0245723456 0.05161440619 -0.01491093341 --0.01865504342 -0.02410956974 0.01364176539 -0.00313740057 -0.008945788431 0.001133953642 --0.01002593594 0.01100786323 -0.02672595544 0.009112326047 0.009659587237 0.00531047067 --0.004348730678 0.007094991087 -0.001262211428 -0.002564349309 0.006623681577 -0.004773420242 -0.005748899239 -9.190176754e-06 -0.002077830065 -0.003576676026 0.001512766933 0.001969505692 --0.002556251664 -0.0007118402964 -0.001696317262 0.002434765654 -0.007248939292 0.002918354262 -0.002619990953 0.000313357692 -0.0008886505452 0.00343036852 -0.001594763554 -0.001239841324 -0.001982940359 -0.0009616509622 -0.0005060024549 0.001121446948 0.0001828849437 -0.001351647923 -0.0003995546752 0.001564491708 -0.001380054304 -0.0005654557109 0.0001749915244 0.0004643792117 --0.002661822604 0.001420088439 0.0009620650498 -ad : 2 1.709269535 -iw : 0 -0.0002888000535 0.0007714143653 0.000504973398 0.0001259331185 -6.123153103e-06 5.221997674e-05 -6.622629321e-05 3.539623431e-05 -1.733189254e-05 -2.227048259e-05 -1.6805543e-05 1.443592877e-06 --2.711861366e-07 -0.000265585721 -5.198178274e-06 0.2821672255 -0.0006546277463 -1.281270588e-05 -0.1984706439 -0.000487069514 -9.533171271e-06 0.06322568972 -0.000116933663 -2.28868489e-06 -0.001631701036 5.742123506e-05 1.123877501e-06 0.004212045417 -7.917979609e-06 -1.549747081e-07 -0.005269299781 -8.756556566e-05 -1.713877611e-06 0.006862262965 -9.258826783e-05 -1.812184482e-06 --0.0009712618494 -3.19123561e-05 -6.246047999e-07 -0.0003957730926 8.863033531e-06 1.734717822e-07 --0.00258840901 2.002701631e-05 3.919789086e-07 0.0006913382303 7.048027849e-06 1.379475715e-07 --0.0009166331491 2.234667978e-06 4.373805372e-08 0.001002076374 0.0005287882757 5.034592563e-06 --0.2334191687 0.0006587589122 -0.004568598217 0.0006744770053 1.20167614e-05 -0.196450226 -0.0005545023495 -0.003845023343 0.0003851100901 8.94581468e-06 -0.07443508516 0.0002101450883 --0.001456881195 -2.994269509e-06 3.337452399e-08 0.002441914851 -6.890747424e-06 4.779439452e-05 --0.0001597953747 -5.176559489e-06 0.004373545928 -1.239385368e-05 8.560125649e-05 -9.604126246e-05 --3.528109063e-06 -0.004917174991 1.384101728e-05 -9.62414399e-05 3.701104983e-05 5.438651629e-07 --0.01287138388 3.632846316e-05 -0.0002519252459 9.07916729e-05 2.796184383e-06 -0.005109754036 -1.444765288e-05 -0.0001000106945 6.552015049e-05 2.112045011e-06 -0.001982886746 5.616802736e-06 --3.881006389e-05 1.644144041e-05 7.027185287e-07 0.002629060109 -7.412184579e-06 5.145729631e-05 --6.047543295e-06 -2.04907542e-07 2.644957698e-06 -9.511031078e-09 5.176845196e-08 -8.480827358e-06 --2.193160529e-07 0.001235299252 -3.488203929e-06 2.417790274e-05 -4.737482778e-07 -6.619658221e-08 --0.0009074881165 2.560269109e-06 -1.776181714e-05 -iw : 1 -5.956227599e-05 0.0005120275937 0.001040185917 0.001073908626 0.0006700026133 0.0001696828815 --0.0001481935734 -0.0002258855454 -0.0001371944868 -1.67922329e-05 5.196996141e-05 5.071324857e-05 -2.098530938e-05 0.0002008521442 -1.32946208e-06 0.09524333562 0.0001632344723 -9.240087698e-06 -0.2251333263 -0.0004240353887 -2.055001158e-05 0.2217928056 -0.0009233698176 -2.593020879e-05 -0.1422565802 -0.0009808218304 -2.202935694e-05 0.05127389271 -0.0006321524921 -1.234379409e-05 --0.0005270800505 -0.0001839418401 -2.465903772e-06 -0.02053677816 0.0001381848204 3.530064567e-06 --0.01494409213 0.0002212030975 4.671198765e-06 -0.006185826323 0.000144564097 2.698154886e-06 -0.002378022501 2.157967726e-05 2.639114976e-07 0.002868890464 -4.044710812e-05 -9.346440915e-07 -0.002588761779 -4.506704346e-05 -8.716418671e-07 -0.0001889954759 -9.797644809e-05 -3.321159582e-06 -0.1422853094 0.0002476796401 -0.001717723245 -7.454600474e-05 -2.525196807e-06 -0.0250131424 -0.0006401622433 -0.004439273298 0.0002687345966 9.11505203e-06 -0.1507618597 0.0007874827572 --0.005460036498 0.0006890593854 2.336658769e-05 -0.187239457 0.0006562845574 -0.004549277211 -0.0008995402788 3.050236313e-05 -0.1228393777 0.0003838154653 -0.002659391396 0.000786124476 -2.665580995e-05 -0.05688480101 0.0001379318413 -0.0009546188503 0.0004506376954 1.527979922e-05 -0.002756625035 -1.721019837e-05 0.0001203997206 9.014421364e-05 3.05629356e-06 0.01748034096 --6.470973511e-05 0.0004489305891 -0.0001318923216 -4.472293547e-06 0.0201316716 -5.16860708e-05 -0.0003580986364 -0.0001710848797 -5.801067227e-06 0.004364840222 -1.588074658e-05 0.0001097205364 --9.731797128e-05 -3.299761671e-06 0.0008044164366 4.488236553e-06 -3.135151062e-05 -1.271503483e-05 --4.310902603e-07 -0.005262652202 1.084243777e-05 -7.521494015e-05 2.742831194e-05 9.300344461e-07 --0.0002275034616 4.811527305e-06 -3.330030845e-05 -iw : 2 -1.165783039e-06 1.002166345e-05 2.035904571e-05 2.101908365e-05 1.311363056e-05 3.321119316e-06 --2.900519692e-06 -4.421146326e-06 -2.685239998e-06 -3.28666089e-07 1.017182412e-06 9.925853918e-07 -4.10735106e-07 -1.32946208e-06 0.0002687511013 0.001864150814 -9.240087698e-06 0.0006351488864 -0.004406423512 -2.055001158e-05 0.0006255051557 0.004341041149 -2.593020879e-05 0.0004009508692 -0.002784317852 -2.202935694e-05 0.0001442725858 0.001003558603 -1.234379409e-05 -1.724021338e-06 --1.031627776e-05 -2.465903772e-06 -5.800196041e-05 -0.0004019562259 3.530064567e-06 -4.210441556e-05 --0.0002924933416 4.671198765e-06 -1.736671916e-05 -0.0001210721265 2.698154886e-06 6.762571283e-06 -4.654386107e-05 2.639114976e-07 8.101056302e-06 5.61513775e-05 -9.346440915e-07 7.287505798e-06 -5.066855698e-05 -8.716418671e-07 -5.501108936e-07 -3.699115197e-06 6.478341931e-06 -0.0002476351417 --0.001717723245 2.862595107e-10 0.2300137364 2.023956699e-05 -0.0006398706148 -0.004439273298 -1.876110617e-09 0.20171166 3.194796105e-05 -0.0007867677447 -0.005460036498 4.600065238e-09 -0.1280958751 3.572328009e-05 -0.0006552289308 -0.004549277211 6.791763562e-09 0.04510352061 -3.060547323e-05 -0.0003827072607 -0.002659391396 7.130329455e-09 0.01298239949 2.005285876e-05 --0.0001370760786 -0.0009546188503 5.50594376e-09 -0.008130026156 8.231821347e-06 1.764574725e-05 -0.0001203997206 2.801465317e-09 -0.003392490151 -4.299253042e-07 6.476175657e-05 0.0004489305891 -3.326904311e-10 -0.00544766826 -4.331862543e-06 5.152600406e-05 0.0003580986364 -1.032506416e-09 -0.001842677631 -3.884935164e-06 1.570240685e-05 0.0001097205364 -1.149633491e-09 -0.001238862289 --1.751557028e-06 -4.581939074e-06 -3.135151062e-05 -6.037942095e-10 0.002405616582 1.187700582e-07 --1.084879398e-05 -7.521494015e-05 -4.057456955e-11 -0.001421236886 6.996193739e-07 -4.781603272e-06 --3.330030845e-05 1.934056985e-10 0.001473226668 -iw : 3 --0.1137996457 -0.2633554542 -0.1906752683 -0.08089322496 0.001928414057 0.02085481389 -0.02047473704 0.004124868154 -0.0006263270024 -0.005657815626 -0.00105641187 -0.001485710919 -0.001764248956 0.09524333562 0.001864150814 0.0008063308243 0.2251333263 0.004406423512 -0.001905985459 0.2217928056 0.004341041149 0.001877713803 0.1422565802 0.002784317852 -0.001204364741 0.05127389271 0.001003558603 0.0004341024481 -0.0005270800505 -1.031627776e-05 --4.452238453e-06 -0.02053677816 -0.0004019562259 -0.0001738622206 -0.01494409213 -0.0002924933416 --0.0001265193647 -0.006185826323 -0.0001210721265 -5.2372836e-05 0.002378022501 4.654386107e-05 -2.013021718e-05 0.002868890464 5.61513775e-05 2.428779451e-05 0.002588761779 5.066855698e-05 -2.191714478e-05 -0.0001889954759 -3.699115197e-06 -1.599386042e-06 -0.1834770342 -0.001717723245 --0.0007429944218 -0.2300631182 -1.454226322e-05 -0.2474315895 -0.004439273298 -0.001920195101 --0.2018392821 -3.758303127e-05 -0.2350454014 -0.005460036498 -0.002361733259 -0.1282528426 --4.622503977e-05 -0.160259319 -0.004549277211 -0.001967798046 -0.04523430519 -3.851474021e-05 --0.08595627179 -0.002659391396 -0.001150338191 -0.0130588528 -2.251500183e-05 -0.02347055426 --0.0009546188503 -0.0004129397613 0.008102582388 -8.082266198e-06 0.005510846805 0.0001203997206 -5.206614398e-05 0.003395951472 1.019064946e-06 0.01639015634 0.0004489305891 0.0001941812268 -0.005460574316 3.80061334e-06 0.009501228852 0.0003580986364 0.0001548981456 -0.00183238286 -3.031744976e-06 0.003952377758 0.0001097205364 4.746390001e-05 0.001242016576 9.289874956e-07 --0.002313857088 -3.135151062e-05 -1.355841218e-05 -0.002406517892 -2.653721117e-07 -0.00139853908 --7.521494015e-05 -3.253366952e-05 0.001419074573 -6.36765461e-07 -0.001833037527 -3.330030845e-05 --1.440465788e-05 -0.001474183999 -2.819352613e-07 -ad : 3 3.113220902 -iw : 5 -0.0001931541906 0.0002504519297 -7.174262165e-05 -7.50019237e-05 1.631233189e-05 3.565580792e-05 --1.713299154e-05 -7.623082849e-06 2.615907022e-06 9.134458682e-06 -7.246916316e-06 5.596019145e-07 --4.892352461e-07 -0.0002182388386 -0.0001877756196 0.1775057829 -0.000300200376 -0.000258296424 -0.02022189911 -1.392058762e-05 -1.197746002e-05 -0.01823740958 8.915310574e-05 7.670852618e-05 --0.01014838219 1.414062118e-05 1.216677984e-05 0.01027200461 -3.781114694e-05 -3.253321722e-05 --0.00299236952 -1.530981675e-06 -1.317277137e-06 0.001527990951 1.270844143e-05 1.09345132e-05 --0.003164468747 3.416613591e-06 2.939700091e-06 0.003403523095 -8.287213418e-06 -7.130429413e-06 --0.002406518846 1.369674462e-06 1.17848625e-06 0.001883632824 7.696192824e-07 6.621907379e-07 --0.001980850804 1.291357401e-06 1.111101203e-06 0.00197917443 0.0002930972596 0.0002324076561 --0.1870568273 0.0004375143843 -0.1609461994 0.0002145376786 0.0003675266402 -0.05683277072 -0.0002606637714 -0.04889967707 2.966527561e-05 9.698303242e-05 0.01086906928 2.211047834e-05 -0.009351892771 -5.859306139e-05 -9.327590208e-05 0.01840231707 -7.333375408e-05 0.01583360006 --9.958309574e-06 -4.447244525e-05 -0.008482876927 -3.825685528e-06 -0.007298780916 1.550668361e-05 -3.759742841e-05 0.0003679709525 1.551075944e-05 0.0003166071356 9.829752605e-06 1.799178102e-05 --0.002136498129 1.159537619e-05 -0.001838271604 -1.126280742e-05 -1.630552093e-05 0.004196160037 --1.458644466e-05 0.003610432294 -7.866412112e-07 -9.779853743e-06 -0.003212439599 1.589239538e-06 --0.002764026054 1.929298749e-06 9.725376444e-06 0.002093514627 4.063436364e-07 0.001801288023 -3.652873879e-06 3.521974999e-06 -0.002077545438 5.263965474e-06 -0.001787547919 -3.929428997e-06 --4.008177749e-06 0.002145763097 -5.59622794e-06 0.001846243306 7.106014596e-07 -3.030754058e-06 --0.001911626241 2.145535877e-06 -0.00164478882 -ad : 4 0 -iw : 4 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0.3077382577 0 0 -0.340113108 0 0 0.2965292449 0 0 -0.2106036639 0 0 0.1684140928 0 0 -0.1131428086 0 0 0.1019205506 0 0 -0.06113809996 0 0 0.06480538679 0 0 -0.02956059757 0 0 0.04222106929 0 0 -0.008651775987 0 0 0.0303465245 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 2 -ad : 0 3.347258395 -iw : 6 --0.07065428613 -0.07461049022 0.04061307087 0.01610725809 -0.01309680778 -0.006856549094 -0.009745430757 -0.001421031406 -0.001818076404 -0.00115058904 0.002790171766 -0.00162755071 -0.0008379941022 0.0009916598011 -0.09697804215 0.1069492014 0.001121449923 -0.1096706933 --0.06150397901 -0.0002071441917 0.02025738881 -0.005545005264 -0.000316422024 0.03094406806 -0.01317979306 8.381279498e-05 -0.008196360037 0.005413741405 0.0001232106909 -0.01204922451 --0.01223801867 -8.008016464e-05 0.007831332452 0.0065942467 -1.891286057e-05 0.00184955787 --0.001446889319 2.945927146e-05 -0.002880929999 0.001610349699 1.519084075e-05 -0.001485567926 --0.003699465003 -3.256621347e-05 0.003184769231 0.004038139762 1.090893222e-05 -0.001066824417 --0.00263277426 4.374788257e-06 -0.0004278265586 0.001712002143 -0.01196478119 0.001490706086 --0.001276226586 -0.1664899708 0.1248068698 0.0612232848 0.001955630667 0.0007407963829 --0.08518644461 -0.07244519015 0.009934048501 0.0001001108743 0.0002514213156 0.007417091546 --0.02458741084 -0.01751126895 -0.0005839400695 -0.0001970326984 0.02676925837 0.01926854886 --0.004980007656 -2.096411745e-05 -0.00014369298 -0.006575682864 0.01405226254 0.01070203231 -0.00024717802 0.0001866874179 -0.005633452174 -0.01825684601 -0.002013047359 -3.637311554e-05 --4.123010109e-05 6.998787927e-05 0.004032042518 -0.002176763485 -8.870531914e-05 -1.475532445e-05 -0.004903645867 0.001442977193 -0.0007459821378 1.771827381e-05 -3.412566648e-05 -0.003024632642 -0.00333727385 0.002731200134 4.234706807e-05 6.016903156e-05 0.0005897356153 -0.005884149859 --0.001709840658 -2.333673093e-05 -3.958584239e-05 -0.0006795851772 0.003871244441 0.000831847141 -1.383279108e-06 2.528192774e-05 0.001305539729 -0.002472412264 -0.0008738740814 -1.230657623e-06 --2.669365406e-05 -0.001393256379 0.002610470149 -ad : 1 3.303653192 -iw : 7 -0.06949993455 0.07650151067 -0.03775747449 -0.01817903504 0.01203705989 0.008063426606 --0.009345745778 0.0005230707761 0.001955054846 0.001568792632 -0.002943153326 0.001329764494 --0.0005817366865 -0.0005862482916 0.094871103 0.1120596393 -0.0006895578105 0.1115894255 --0.0580403052 9.653598589e-05 -0.01562217851 -0.008871600166 0.0002002018939 -0.03239817458 -0.01269330402 -3.604286736e-05 0.005832727584 0.007022843851 -8.101694112e-05 0.01311077009 --0.01231504185 4.013999316e-05 -0.006495755263 0.005553602758 1.728174099e-05 -0.002796661164 --0.001013072476 -1.457669659e-05 0.002358910556 0.002009989268 -1.23299459e-05 0.001995324479 --0.003912933465 1.81304628e-05 -0.002934007704 0.003772163737 -4.715928016e-06 0.0007631669021 --0.002425505444 -2.819160351e-06 0.0004562177082 0.001714541089 0.01354075547 -0.0008764727263 --0.0008100372401 0.1652852618 0.131086312 -0.0597403149 -0.00119354734 0.0004075994811 -0.08966816149 -0.0659608103 -0.01259743929 -0.0001095728959 0.0001748654118 -0.004088172775 --0.02829803469 0.01688824417 0.0003530616333 -0.0001054325641 -0.02788160737 0.01706188962 -0.00642398067 3.893749438e-05 -9.976943756e-05 0.004825743642 0.01614543995 -0.01050224355 --0.0001519680464 0.0001078540145 0.006401252508 -0.01745374692 0.0009974294301 6.186853146e-06 --1.54025366e-05 0.0007264336234 0.002492554191 0.002438404141 5.933690732e-05 -9.99207761e-06 --0.00537853761 0.001616993069 0.001212619179 -2.717701592e-06 -2.513204017e-05 0.002540100123 -0.004067055557 -0.002948477101 -3.060876872e-05 3.782277703e-05 -0.0001537603716 -0.006120765939 -0.001381428109 9.519710406e-06 -2.073732204e-05 0.000852211439 0.003355869251 -0.0005382551535 -3.663615608e-06 1.269302632e-05 -0.001525136437 -0.002054080881 0.0009796627663 2.891456218e-06 --1.712107546e-05 0.001228926384 0.00277066106 -ad : 2 2.100474535 -iw : 0 -3.22436861e-05 7.523511528e-05 3.411818674e-05 1.996124846e-06 -3.711188426e-07 5.006636667e-06 --4.301020735e-07 -3.504412238e-06 -3.245572511e-06 5.909249262e-07 7.919795643e-07 7.832743632e-07 --3.400273589e-07 1.108811651e-05 3.401582835e-05 0.2589191554 2.403698354e-05 7.374001751e-05 -0.1446273351 1.369814651e-05 4.20228088e-05 0.02773651296 1.992690949e-06 6.113124188e-06 --0.00534594438 2.576206841e-07 7.903218691e-07 0.006002169779 3.01735657e-06 9.256566075e-06 -0.0005411737197 1.947679983e-06 5.975040746e-06 -2.179728749e-05 -3.863620592e-07 -1.185271229e-06 --0.004459986862 -1.521404859e-06 -4.667325281e-06 0.0007704518928 -5.104798077e-07 -1.56603635e-06 --0.0008364477161 4.58316551e-08 1.406011301e-07 0.001712047696 3.167349011e-07 9.716708886e-07 --0.001095108048 -3.801126488e-08 -1.166099454e-07 0.001026855849 3.162730669e-05 1.235373846e-05 -0.08040610683 8.865163197e-05 0.2466677117 9.770357359e-06 2.598111444e-05 0.05572377487 -8.815787957e-05 0.1709479115 -3.056337364e-06 1.551026813e-05 0.01550548889 3.723238404e-05 -0.04756732561 -5.754643058e-07 1.083288426e-07 -0.0009988484728 -6.997169585e-07 -0.003064240726 -3.129244218e-06 -2.296069819e-06 0.003052959562 -8.753635042e-07 0.009365787984 -1.374850284e-06 -3.759372841e-06 0.00249135087 7.926153054e-06 0.007642899806 -3.071566117e-06 5.430720676e-06 -0.001430132657 9.569863251e-06 0.004387322854 -2.241667791e-06 2.041675829e-06 -0.001634030219 -1.715192503e-06 -0.00501283436 7.327604253e-07 -1.285906419e-06 -0.0003277159919 -2.256525114e-06 --0.001005358386 6.953401844e-07 -1.424132281e-06 -0.0005950878599 -2.700327096e-06 -0.001825594678 -5.65035097e-07 -3.826907002e-07 0.0005957124141 -7.05934074e-08 0.001827510668 -2.869777739e-07 -1.825718325e-07 -0.0003189929657 3.516100708e-09 -0.000978598119 1.554943262e-07 4.148830436e-08 -0.0003684924572 3.830768734e-07 0.00113045134 -iw : 1 --2.590077213e-06 -2.011397511e-05 -3.395350071e-05 -2.407777794e-05 -4.161593217e-06 8.135053132e-06 -7.694918102e-06 1.623208164e-06 -2.80084949e-06 -2.575363061e-06 -4.575670723e-07 9.834561158e-07 -6.746915588e-07 2.836980426e-05 -3.373160216e-06 -0.03399475289 5.430665736e-05 -2.123746261e-05 --0.07063198874 3.331825455e-05 -3.986283013e-05 -0.05342416665 4.714110716e-06 -3.778456062e-05 --0.01964600121 -9.429246287e-06 -1.795222442e-05 0.004126731438 -6.198525936e-06 2.067082427e-06 -0.007927678954 -3.4714469e-07 1.013049876e-05 0.004209796378 3.086272315e-06 6.654202173e-06 --0.001058054181 1.432560767e-06 -7.807636289e-08 -0.00168191616 -1.031578231e-07 -3.325428686e-06 --0.001131458498 -1.091206275e-06 -2.116827788e-06 0.0004627909779 -2.102203394e-07 2.52041377e-08 -0.0002519844686 2.336969959e-09 9.383936879e-07 0.0003501694726 6.891999491e-06 2.977618078e-05 -0.1967910454 -1.241144367e-05 -0.03602665792 1.936561628e-05 6.250300781e-05 0.122780158 --3.634062333e-05 -0.08200430354 2.576314621e-05 5.226796614e-05 0.04363615531 -5.048528849e-05 --0.08103998885 2.206995781e-05 1.934124262e-05 -0.01129765079 -4.501001685e-05 -0.04631807005 -1.171787605e-05 -6.379201365e-06 -0.007796247402 -2.505098912e-05 -0.009468631167 1.657132061e-06 --1.12630574e-05 -0.006956957678 -4.260406305e-06 0.008073004945 -3.724731039e-06 -4.811276739e-06 -0.004746492532 7.489150824e-06 0.00922247406 -3.71182242e-06 2.429805703e-06 -0.0003773021552 -7.963643246e-06 0.002627726553 -1.161567938e-06 3.403647893e-06 0.0027794621 2.675222183e-06 --0.001578888582 8.626232807e-07 1.285215881e-06 -0.002637178032 -1.72260083e-06 -0.00229117358 -1.089199342e-06 -1.005919802e-06 0.00144526619 -2.357150483e-06 -0.0005049980121 3.651234667e-07 --8.311132182e-07 -0.001779336675 -8.243796259e-07 0.0002793927734 -1.86418409e-07 -3.148970075e-07 -0.001725883236 3.696928515e-07 0.0005288912016 -iw : 2 --7.94576985e-06 -6.170511681e-05 -0.0001041616446 -7.38651655e-05 -1.276682477e-05 2.49564992e-05 -2.360626469e-05 4.979634747e-06 -8.592371425e-06 -7.900630165e-06 -1.40371207e-06 3.017020463e-06 -2.069800784e-06 -3.373160216e-06 1.912125999e-05 -0.104288197 -2.123746261e-05 -3.922303169e-06 --0.2166829327 -3.986283013e-05 -7.597781366e-05 -0.1638932347 -3.778456062e-05 -9.888374978e-05 --0.06026947895 -1.795222442e-05 -5.865072752e-05 0.01265987673 2.067082427e-06 -5.309910108e-07 -0.02432032222 1.013049876e-05 2.74286976e-05 0.01291470114 6.654202173e-06 2.133079064e-05 --0.003245870421 -7.807636289e-08 1.218490681e-06 -0.005159737573 -3.325428686e-06 -9.220831589e-06 --0.003471058226 -2.116827788e-06 -6.895133231e-06 0.001419737829 2.52041377e-08 -1.411155331e-07 -0.0007730312374 9.383936879e-07 2.575228563e-06 0.001074240576 -3.295018421e-05 5.717928935e-06 --0.03602665792 -6.844728353e-06 0.09801300965 -6.371843787e-05 -3.163878207e-06 -0.08200430354 --4.039695074e-05 -0.1020595717 -4.264437489e-05 -3.227068166e-05 -0.08103998885 -8.462551791e-05 --0.1785596126 -1.84000544e-06 -5.075488874e-05 -0.04631807005 -9.792833978e-05 -0.1382927218 -2.17308158e-05 -4.20751448e-05 -0.009468631167 -6.864258418e-05 -0.03375737847 1.720512877e-05 --1.536452116e-05 0.008073004945 -2.006826787e-05 0.0151776398 2.420696834e-06 7.160153764e-06 -0.00922247406 1.498025908e-05 0.03003270906 -7.441565456e-06 1.369968959e-05 0.002627726553 -2.215273756e-05 0.006827409093 -5.934086655e-06 6.688910672e-06 -0.001578888582 9.575676216e-06 --0.001549540973 -7.937985e-07 -1.502912327e-06 -0.00229117358 -3.298388237e-06 -0.008919126983 -2.58318429e-06 -4.286201706e-06 -0.0005049980121 -6.79343774e-06 6.066060593e-05 1.539615211e-06 --1.885607643e-06 0.0002793927734 -2.771207806e-06 -0.001013296444 2.222221205e-07 2.910310772e-07 -0.0005288912016 6.756533618e-07 0.003175999263 -iw : 3 --0.1084821333 -0.2198470655 -0.1096944515 -0.009701961142 0.03285279095 0.01580360688 -0.00254054219 -0.008460679041 -0.002225041253 -0.001270307707 0.003085175215 -0.0004295621219 -0.001021341479 -0.03399475289 -0.104288197 8.840805213e-05 -0.07063198874 -0.2166829327 -0.0001836882524 -0.05342416665 -0.1638932347 0.0001389369405 -0.01964600121 -0.06026947895 -5.109215409e-05 0.004126731438 0.01265987673 -1.07321242e-05 0.007927678954 0.02432032222 --2.061701466e-05 0.004209796378 0.01291470114 -1.094815029e-05 -0.001058054181 -0.003245870421 -2.751615608e-06 -0.00168191616 -0.005159737573 4.374048145e-06 -0.001131458498 -0.003471058226 -2.942506798e-06 0.0004627909779 0.001419737829 -1.203552744e-06 0.0002519844686 0.0007730312374 --6.553163986e-07 0.0003501694726 0.001074240576 -9.106602017e-07 -0.09527283581 -0.03602665792 -3.054081628e-05 -0.263795428 9.369230229e-05 -0.02913112807 -0.08200430354 6.951736845e-05 --0.2752963237 0.0002132635303 0.01607166078 -0.08103998885 6.869989531e-05 -0.1943588348 -0.000210755708 0.03010754548 -0.04631807005 3.926514496e-05 -0.07484727257 0.0001204565653 -0.009322527619 -0.009468631167 8.026833454e-06 -0.009814039582 2.462450576e-05 -9.411738932e-05 -0.008073004945 -6.843708549e-06 0.02197158138 -2.09949467e-05 -0.007436409312 0.00922247406 --7.818147884e-06 0.01240597777 -2.398430573e-05 -0.001120184847 0.002627726553 -2.227596899e-06 -0.00526449418 -6.833762402e-06 -0.0008007639492 -0.001578888582 1.338466305e-06 -0.005715966918 -4.10611126e-06 0.002689225328 -0.00229117358 1.942289332e-06 -0.001624074051 5.958503451e-06 --0.0005772832977 -0.0005049980121 4.280992604e-07 -0.002384489586 1.313311502e-06 0.0008850356236 -0.0002793927734 -2.36848391e-07 0.002298966898 -7.265971819e-07 -0.001265746925 0.0005288912016 --4.483546258e-07 -0.0007422219567 -1.375450373e-06 -ad : 3 3.113220902 -iw : 4 --0.0001931541906 -0.0002504519297 7.174262165e-05 7.50019237e-05 -1.631233189e-05 -3.565580792e-05 -1.713299154e-05 7.623082849e-06 -2.615907022e-06 -9.134458682e-06 7.246916316e-06 -5.596019145e-07 -4.892352461e-07 -0.0002182388386 -0.0001877756196 0.1775057829 -0.000300200376 -0.000258296424 -0.02022189911 -1.392058762e-05 -1.197746002e-05 -0.01823740958 8.915310574e-05 7.670852618e-05 --0.01014838219 1.414062118e-05 1.216677984e-05 0.01027200461 -3.781114694e-05 -3.253321722e-05 --0.00299236952 -1.530981675e-06 -1.317277137e-06 0.001527990951 1.270844143e-05 1.09345132e-05 --0.003164468747 3.416613591e-06 2.939700091e-06 0.003403523095 -8.287213418e-06 -7.130429413e-06 --0.002406518846 1.369674462e-06 1.17848625e-06 0.001883632824 7.696192824e-07 6.621907379e-07 --0.001980850804 1.291357401e-06 1.111101203e-06 0.00197917443 -0.0002930972596 -0.0002324076561 -0.1870568273 -0.0004375143843 0.1609461994 -0.0002145376786 -0.0003675266402 0.05683277072 --0.0002606637714 0.04889967707 -2.966527561e-05 -9.698303242e-05 -0.01086906928 -2.211047834e-05 --0.009351892771 5.859306139e-05 9.327590208e-05 -0.01840231707 7.333375408e-05 -0.01583360006 -9.958309574e-06 4.447244525e-05 0.008482876927 3.825685528e-06 0.007298780916 -1.550668361e-05 --3.759742841e-05 -0.0003679709525 -1.551075944e-05 -0.0003166071356 -9.829752605e-06 -1.799178102e-05 -0.002136498129 -1.159537619e-05 0.001838271604 1.126280742e-05 1.630552093e-05 -0.004196160037 -1.458644466e-05 -0.003610432294 7.866412112e-07 9.779853743e-06 0.003212439599 -1.589239538e-06 -0.002764026054 -1.929298749e-06 -9.725376444e-06 -0.002093514627 -4.063436364e-07 -0.001801288023 --3.652873879e-06 -3.521974999e-06 0.002077545438 -5.263965474e-06 0.001787547919 3.929428997e-06 -4.008177749e-06 -0.002145763097 5.59622794e-06 -0.001846243306 -7.106014596e-07 3.030754058e-06 -0.001911626241 -2.145535877e-06 0.00164478882 -ad : 4 0 -iw : 5 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0.3077382577 0 0 -0.340113108 0 0 0.2965292449 0 0 -0.2106036639 0 0 0.1684140928 0 0 -0.1131428086 0 0 0.1019205506 0 0 -0.06113809996 0 0 0.06480538679 0 0 -0.02956059757 0 0 0.04222106929 0 0 -0.008651775987 0 0 0.0303465245 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 3 -ad : 0 3.245352337 -iw : 7 -0.1428560236 0.1658084243 -0.07093535661 -0.04346031005 0.02171600979 0.02000505732 --0.01794566164 -0.001262811844 0.004000564281 0.004450568587 -0.006288348381 0.001941107719 --0.0006625150542 0.0008099741886 -0.001719194225 -0.05135696244 0.00100197792 -0.002126727836 --0.2635113407 -8.166283779e-05 0.0001733317939 0.004121384667 -0.0002978994102 0.0006323003286 -0.07422816981 2.177319216e-05 -4.621424577e-05 0.004517845403 0.0001246730711 -0.0002646222891 --0.03832476449 -3.940542585e-05 8.363918444e-05 0.01242204174 -3.380228945e-05 7.174636134e-05 -0.006474108339 1.245561399e-05 -2.643740991e-05 1.532201941e-05 2.276393546e-05 -4.831712779e-05 --0.008890980666 -2.095606631e-05 4.447987194e-05 0.007723706619 3.170725853e-06 -6.729959611e-06 --0.002840056541 2.855773666e-06 -6.061464258e-06 0.001209013884 0.03271660137 -1.067639247e-05 --0.000474119859 0.05668444674 0.001006333455 -0.1209859536 -1.525360502e-05 -0.001747382129 --0.2095286289 0.003708870365 -0.03357253225 -2.217173456e-06 -0.0003559735651 -0.05814567017 -0.0007555644439 0.03303438062 4.393976361e-06 0.0004917622012 0.05720996944 -0.001043779849 -0.01732460394 9.347590759e-07 0.0001703035248 0.03000555058 -0.0003614742796 -0.0208690064 --1.901102609e-06 -0.0002547187869 -0.03614303992 0.0005406481757 -0.0006577326792 -1.929725477e-07 --1.653782275e-05 -0.001138907745 3.510201901e-05 0.005328185386 7.982064894e-07 8.50410506e-05 -0.009227369647 -0.0001805021507 0.003881261042 1.09692004e-07 3.177537049e-05 0.006722360178 --6.744416578e-05 -0.006468567829 -4.414763845e-07 -6.950054465e-05 -0.01120315908 0.0001475169662 -0.001935830721 3.397269164e-08 1.45220725e-05 0.003352901061 -3.082352934e-05 -0.0004589769459 -1.111102728e-07 4.178313712e-06 -0.0007951548766 -8.86859471e-06 0.002346909075 7.362235327e-08 -1.968034414e-05 0.004064844179 -4.177211381e-05 -ad : 1 2.003222249 -iw : 0 -0.09519341052 0.23052239 0.1167700653 0.01338733054 -0.001177105763 0.01728628933 -0.004840634123 -0.007532522803 -0.01192277373 -0.001540702459 0.001275668192 0.002919215566 --0.0004977239628 0.03440835853 -0.04640849895 0.1818501693 0.07725078347 -0.1041925002 --0.0286364896 0.04756807428 -0.06415775176 -0.07925823963 0.008140313241 -0.0109793008 --0.02375543381 -0.000607047664 0.000818759513 0.007492709156 0.009109139412 -0.01228601145 --0.0198249656 0.008855359021 -0.01194372348 -0.02009973516 0.001716149352 -0.00231466768 --0.008573914119 -0.004098273219 0.005527572849 0.009878438846 -0.002715126729 0.003662044961 -0.005339115562 -0.0007265192376 0.0009798975805 0.003419784474 0.0008157229596 -0.001100211685 --0.002902899342 1.735723452e-05 -2.341068374e-05 0.0009768977961 0.09910747833 -0.01769791485 -0.05469317385 0.1824077139 -0.07376777648 0.04153599386 -0.03853825564 -0.005819858587 -0.0953480024 0.00784957239 -0.002779851911 -0.02449038179 -0.02461058836 0.01005896993 -0.03319369226 -0.001612979801 -0.0001516048289 -0.001296162727 -0.002701688366 0.001748207968 -0.01102267916 0.006124024444 0.01355664595 0.01537251879 -0.01828461502 0.0005988167576 --0.003167074193 -0.002495727523 0.002960649413 0.003366128844 -0.006909231391 -0.008679317147 --0.01296815372 -0.006695904929 0.01749088227 -0.00837942865 -0.005589710817 -0.01116855783 --0.01111878086 0.01506366553 -0.000387438508 0.0002423227069 -5.391063751e-05 -0.0008182337337 -7.271232546e-05 0.001246291259 0.00206308977 0.002798677246 0.0009056574821 -0.003774734267 -0.002118133589 0.00116079864 0.002590285103 0.002963723785 -0.003493664 -0.000436118665 -3.081828248e-06 -0.0003097540202 -0.0007572513815 0.0004177827637 0.0004965450071 -4.235723098e-05 -0.0003167935555 0.0008857661205 -0.0004272773831 -iw : 1 --0.007945536811 -0.06346265279 -0.1128077345 -0.08976553425 -0.02761623297 0.01929216947 -0.02779379482 0.01238651386 -0.004635258975 -0.009263113292 -0.004629790932 0.001214609349 -0.002529409848 0.08387447504 0.004792275253 -0.02759445742 0.1652259648 0.03096916525 --0.02239335926 0.1084516576 0.06095721959 0.0456273364 0.02151084715 0.06283399294 -0.08439280764 -0.02769920612 0.03647592104 0.06562156006 -0.02321035647 0.004522297057 -0.01631984866 -0.005210902794 -0.0133335208 -0.01764084738 0.008856287431 -0.0132060984 --0.02327312484 0.006608050778 -0.003961568389 -0.008616686676 0.001681596086 0.003381817098 -0.004325315458 -0.003158156409 0.004264740234 0.007639111401 -0.001551609591 0.001544399574 -0.002935194233 -0.0006774931742 -0.000751492539 -0.0008354161944 0.02093793313 -0.04061963359 -0.1282234022 -0.02849437969 0.01247214883 0.05910682516 -0.08765787282 -0.02552269271 --0.05513073329 0.009905263116 0.08026879221 -0.07722976259 -0.08763420284 -0.03569159276 --0.02571887209 0.07244947896 -0.03229553432 -0.06691788143 0.002838921499 -0.05826084173 -0.04375070473 0.006780896791 0.002911723185 0.02634170466 -0.05980539156 0.01282781257 -0.01792449384 0.02318030636 0.02265563321 -0.03246454824 -0.0073977545 0.01037962667 -0.02254832344 0.006345890386 -0.0006855461402 -0.0119804097 -0.001454585297 -0.002536672577 --0.006836280407 0.01599989494 -0.006693971063 -0.005541162917 -0.006502591924 -0.008250213899 -0.01336951233 0.0002716520131 -0.003508317569 -0.00865561009 -0.003163165627 0.002954765849 -0.002996817569 0.0004543893562 0.002104094019 0.00179485843 -0.004087083249 0.002097591588 -0.0014310236 0.0006146370045 0.002299145999 -0.003903371762 0.0001934508591 0.0009591287437 -0.003370726332 0.0009870758019 -0.001134881653 -iw : 2 -0.01071659482 0.08559566864 0.1521501707 0.1210718523 0.03724757511 -0.02602043993 --0.03748706282 -0.01670639171 0.006251835904 0.01249368473 0.006244460845 -0.001638212316 --0.0034115581 0.004792275253 0.0809639686 0.03721820519 0.03096916525 0.1464173717 -0.03020318998 0.06095721959 0.0714303324 -0.06154016884 0.06283399294 -0.01665030421 --0.1138253521 0.03647592104 -0.04985223315 -0.08850750896 0.004522297057 -0.02595689627 --0.02201150278 -0.0133335208 0.002886983108 0.02379320845 -0.0132060984 0.01687678551 -0.03138977957 -0.003961568389 0.00901404161 0.0116218126 0.003381817098 -0.0003722927105 --0.005833797555 0.004264740234 -0.005748273477 -0.01030330154 0.001544399574 -0.002489574268 --0.003958862447 -0.000751492539 -0.0002210870287 0.001126773064 0.04586663358 0.02880090296 -0.01247214883 -0.004353604332 0.1206486559 0.09491483776 0.05699425272 0.009905263116 --0.02646794726 -0.03153848491 0.07538926176 0.03976759764 -0.02571887209 -0.05789244746 --0.07201428558 0.02016976244 0.002222651244 -0.05826084173 -0.07189080016 -0.03153415527 --0.02145539515 -0.02231373563 -0.05980539156 -0.05721015919 0.03923350528 -0.02668481057 --0.02088561239 -0.03246454824 -0.02513953236 0.0428970947 -0.01112247971 -0.00660091746 --0.0006855461402 0.003623173534 0.02296467817 0.005360390854 0.005748226356 0.01599989494 -0.0154548593 -0.01225393523 0.009046143443 0.0074675063 0.01336951233 0.01111736513 --0.01462233667 0.004410338878 0.00305693501 0.002954765849 0.00150849325 -0.01045013661 --0.001456707276 -0.001519369574 -0.004087083249 -0.003913433423 0.004586314155 -0.002443911237 --0.002065180675 -0.003903371762 -0.003323400384 0.002985283109 -0.001283916299 -0.0009349231887 --0.001134881653 -0.0007406966756 0.004059977301 -iw : 3 --0.09069350553 -0.0776091963 0.143635839 0.1927047764 0.09605009167 -0.02682890829 --0.06002763541 -0.03686378082 0.007762261494 0.01956131066 0.01373889921 -0.002968990932 --0.004668057522 -0.02759445742 0.03721820519 0.2415355098 -0.02239335926 0.03020318998 -0.4304866873 0.0456273364 -0.06154016884 0.197037894 0.08439280764 -0.1138253521 --0.06773516599 0.06562156006 -0.08850750896 -0.1598807308 0.01631984866 -0.02201150278 --0.07915087098 -0.01764084738 0.02379320845 0.01243449352 -0.02327312484 0.03138977957 -0.05436792847 -0.008616686676 0.0116218126 0.0281634137 0.004325315458 -0.005833797555 --0.002073848485 0.007639111401 -0.01030330154 -0.01845171264 0.002935194233 -0.003958862447 --0.00790581555 -0.0008354161944 0.001126773064 -0.0004506437117 -0.02000747715 0.01247214883 -0.08578966233 -0.04222871332 -0.115709369 0.1267839798 0.009905263116 0.1672557193 -0.2135805024 -0.225587247 0.1401354543 -0.02571887209 0.1111507832 0.2583416441 --0.1499153468 0.0634192533 -0.05826084173 -0.003455191754 0.1452290951 0.00466021251 --0.02608119033 -0.05980539156 -0.07499714495 -0.008852164685 0.1011528905 -0.0444064062 --0.03246454824 -0.06619687882 -0.05719736338 0.0892834739 -0.02615627391 -0.0006855461402 --0.01929269823 -0.04488764062 0.02602115311 0.007543507929 0.01599989494 0.01942078717 -0.003348476352 -0.02619391391 0.01423298402 0.01336951233 0.0239679341 0.01653250672 --0.03232690811 0.01016358925 0.002954765849 0.009383266263 0.01580932644 -0.01265574183 --0.002870964392 -0.004087083249 -0.005109086434 -0.002490436058 0.006890913793 -0.003181078599 --0.003903371762 -0.006663472674 -0.003139143652 0.008987402416 -0.003445635237 -0.001134881653 --0.002909074793 -0.005278764326 0.003923633681 -ad : 2 3.03052076 -iw : 4 -0.07574572706 0.1046546044 -0.02118348272 -0.03253915354 0.002271212197 0.01532945449 --0.004214924901 -0.003840799621 -0.0003076687997 0.003942519461 -0.002035359528 -4.139201069e-06 --0.0004763191414 0.08714335238 -0.03226389442 0.1232749227 0.1274494887 -0.04718681043 --0.05933516169 0.01574562271 -0.005829648446 -0.0283676256 -0.0364266411 0.01348657437 -0.01254076971 -0.01120377941 0.004148079527 0.01742395664 0.01491087275 -0.005520591198 --0.0122600532 0.00395852367 -0.001465601061 -0.001042973521 -0.005040162252 0.001866066181 --3.328432979e-05 -0.003295469968 0.001220112518 0.005516147841 0.003257530791 -0.001206065944 --0.004429285397 0.0007097319464 -0.0002627706642 0.00140191964 -0.0004260006189 0.000157722174 --0.001713450828 -0.001206437522 0.0004466705924 0.002752022746 0.1219734059 -0.04066494441 -0.1210483081 0.11648568 -0.04481684174 0.1013589183 -0.068211178 -0.05747209051 -0.01657787951 0.02127842698 0.02188992492 -0.02293603287 -0.05009106802 -0.01554292769 -0.01854568232 -0.02480756478 0.01506213042 0.006569178465 -0.007862407008 -0.002432168085 --0.008515689721 0.01041031429 0.02631839828 0.009513883831 -0.009744105548 0.006020546671 --0.005305997018 -0.009174191647 -0.001938881973 0.00339664636 0.005999151937 -0.004496033557 --0.005508580869 -8.814355065e-05 0.002039493165 -0.004105245511 0.002073391676 -0.0008377463125 --0.002278005652 0.0003101666144 -0.001404464345 0.00235284678 0.007260890809 0.003051215164 --0.002688267184 0.0006059100555 -0.00123795717 -0.004156091623 -0.001835860178 0.001538748484 -0.001904326467 -0.0009366283474 0.0005041949139 0.00111537507 -0.0001866727757 -0.001512836502 -0.0005594815915 -0.001248261427 -0.001316316719 0.000462155446 0.0001515693903 0.0005329256838 -0.00282983558 0.001504624559 -0.001047716365 -ad : 3 3.347258395 -iw : 5 -0.07065428613 0.07461049022 -0.04061307087 -0.01610725809 0.01309680778 0.006856549094 --0.009745430757 0.001421031406 0.001818076404 0.00115058904 -0.002790171766 0.00162755071 --0.0008379941022 0.0009916598011 -0.09697804215 0.1069492014 0.001121449923 -0.1096706933 --0.06150397901 -0.0002071441917 0.02025738881 -0.005545005264 -0.000316422024 0.03094406806 -0.01317979306 8.381279498e-05 -0.008196360037 0.005413741405 0.0001232106909 -0.01204922451 --0.01223801867 -8.008016464e-05 0.007831332452 0.0065942467 -1.891286057e-05 0.00184955787 --0.001446889319 2.945927146e-05 -0.002880929999 0.001610349699 1.519084075e-05 -0.001485567926 --0.003699465003 -3.256621347e-05 0.003184769231 0.004038139762 1.090893222e-05 -0.001066824417 --0.00263277426 4.374788257e-06 -0.0004278265586 0.001712002143 0.01196478119 -0.001490706086 -0.001276226586 0.1664899708 -0.1248068698 -0.0612232848 -0.001955630667 -0.0007407963829 -0.08518644461 0.07244519015 -0.009934048501 -0.0001001108743 -0.0002514213156 -0.007417091546 -0.02458741084 0.01751126895 0.0005839400695 0.0001970326984 -0.02676925837 -0.01926854886 -0.004980007656 2.096411745e-05 0.00014369298 0.006575682864 -0.01405226254 -0.01070203231 --0.00024717802 -0.0001866874179 0.005633452174 0.01825684601 0.002013047359 3.637311554e-05 -4.123010109e-05 -6.998787927e-05 -0.004032042518 0.002176763485 8.870531914e-05 1.475532445e-05 --0.004903645867 -0.001442977193 0.0007459821378 -1.771827381e-05 3.412566648e-05 0.003024632642 --0.00333727385 -0.002731200134 -4.234706807e-05 -6.016903156e-05 -0.0005897356153 0.005884149859 -0.001709840658 2.333673093e-05 3.958584239e-05 0.0006795851772 -0.003871244441 -0.000831847141 --1.383279108e-06 -2.528192774e-05 -0.001305539729 0.002472412264 0.0008738740814 1.230657623e-06 -2.669365406e-05 0.001393256379 -0.002610470149 -ad : 4 0 -iw : 6 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0.3077382577 0 0 -0.340113108 0 0 0.2965292449 0 0 -0.2106036639 0 0 0.1684140928 0 0 -0.1131428086 0 0 0.1019205506 0 0 -0.06113809996 0 0 0.06480538679 0 0 -0.02956059757 0 0 0.04222106929 0 0 -0.008651775987 0 0 0.0303465245 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 4 -ad : 0 3.245352337 -iw : 6 --0.1428560236 -0.1658084243 0.07093535661 0.04346031005 -0.02171600979 -0.02000505732 -0.01794566164 0.001262811844 -0.004000564281 -0.004450568587 0.006288348381 -0.001941107719 -0.0006625150542 0.0008099741886 -0.001719194225 -0.05135696244 0.00100197792 -0.002126727836 --0.2635113407 -8.166283779e-05 0.0001733317939 0.004121384667 -0.0002978994102 0.0006323003286 -0.07422816981 2.177319216e-05 -4.621424577e-05 0.004517845403 0.0001246730711 -0.0002646222891 --0.03832476449 -3.940542585e-05 8.363918444e-05 0.01242204174 -3.380228945e-05 7.174636134e-05 -0.006474108339 1.245561399e-05 -2.643740991e-05 1.532201941e-05 2.276393546e-05 -4.831712779e-05 --0.008890980666 -2.095606631e-05 4.447987194e-05 0.007723706619 3.170725853e-06 -6.729959611e-06 --0.002840056541 2.855773666e-06 -6.061464258e-06 0.001209013884 -0.03271660137 1.067639247e-05 -0.000474119859 -0.05668444674 -0.001006333455 0.1209859536 1.525360502e-05 0.001747382129 -0.2095286289 -0.003708870365 0.03357253225 2.217173456e-06 0.0003559735651 0.05814567017 --0.0007555644439 -0.03303438062 -4.393976361e-06 -0.0004917622012 -0.05720996944 0.001043779849 --0.01732460394 -9.347590759e-07 -0.0001703035248 -0.03000555058 0.0003614742796 0.0208690064 -1.901102609e-06 0.0002547187869 0.03614303992 -0.0005406481757 0.0006577326792 1.929725477e-07 -1.653782275e-05 0.001138907745 -3.510201901e-05 -0.005328185386 -7.982064894e-07 -8.50410506e-05 --0.009227369647 0.0001805021507 -0.003881261042 -1.09692004e-07 -3.177537049e-05 -0.006722360178 -6.744416578e-05 0.006468567829 4.414763845e-07 6.950054465e-05 0.01120315908 -0.0001475169662 --0.001935830721 -3.397269164e-08 -1.45220725e-05 -0.003352901061 3.082352934e-05 0.0004589769459 --1.111102728e-07 -4.178313712e-06 0.0007951548766 8.86859471e-06 -0.002346909075 -7.362235327e-08 --1.968034414e-05 -0.004064844179 4.177211381e-05 -ad : 1 1.950638213 -iw : 0 --0.09320332151 -0.2300487538 -0.1229389552 -0.01746787188 0.00123466909 -0.01784869558 --0.008122751426 0.005013160642 0.0121595491 0.003250270876 -0.0002748492381 -0.002918302775 -0.0002322122802 -0.03318412024 0.04429843583 0.1888135551 -0.07585918873 0.1012666112 --0.01618373858 -0.04854104981 0.06479884247 -0.0758801683 -0.008948873768 0.01194610878 --0.02468288025 0.001486636707 -0.001984554066 0.009483416921 -0.008233572087 0.01099123201 --0.01668616703 -0.009775308665 0.01304934048 -0.02120103733 -0.003438129045 0.004589657275 --0.0124075912 0.003172784461 -0.004235441163 0.007218694488 0.002982149574 -0.003980957174 -0.00564040707 0.001210402641 -0.001615801272 0.004467742745 -0.0005802953048 0.0007746528802 --0.002253324209 -5.155648339e-05 6.882423142e-05 0.0008990625288 -0.09910782939 0.01663199818 -0.05627972847 -0.1814032377 -0.07512942702 -0.04555113795 0.03687136002 -0.001320650922 --0.1004970528 0.001762974871 0.0002853063575 0.0241795874 -0.02269876898 -0.01367084371 -0.03030123907 0.001543209289 0.0001402741366 -0.001247721843 0.002590740788 0.001665619748 --0.01168887636 -0.007423243197 0.01536760451 -0.01589700567 -0.02051465692 -0.002943315199 -0.00133434377 0.0008896443144 -0.005879663518 -0.001187611764 0.005389292764 0.008156371394 --0.01148886388 0.004556321927 0.01533681458 0.008791049315 0.00656484213 -0.01247116801 -0.01138069487 0.0166481206 0.001677458646 0.0008785372655 -0.002031657772 0.002390774435 -0.002712118349 -0.0005858976907 -0.001668044079 0.001975811849 -3.76225057e-05 -0.002637568023 --0.002159758918 -0.001334345044 0.002804827794 -0.002959119381 -0.003744245233 0.0002265703615 --0.0001764299121 8.768585841e-08 0.0004957884457 -1.170543725e-07 -0.000525711459 8.136735868e-06 -0.0003730302415 -0.0009153256611 -0.0004979687903 -iw : 1 -0.007618026821 0.06173131262 0.1126499336 0.09471724861 0.03530307519 -0.01406758863 --0.02781621598 -0.01583425502 0.001442997157 0.008701089842 0.005970783159 0.0002126907052 --0.002213735431 -0.08245833995 -0.004483920613 -0.0278342469 -0.1661049611 -0.02937221604 --0.02598570117 -0.1151661841 -0.05922752823 0.03946396131 -0.02919058 -0.06362509905 -0.08190470752 0.02438818322 -0.04031495757 0.06982247077 0.02495393323 -0.009048566476 -0.0238137927 0.008533258298 0.01093829754 -0.01261174092 -0.007178785715 0.01383777257 --0.02346764534 -0.007288191336 0.006093639708 -0.01205926011 -0.00314611728 -0.001827019805 -0.001387268728 0.002435874339 -0.004213832618 0.007250712237 0.001779977139 -0.002280169931 -0.004116531641 0.001167873436 0.0001459009472 0.0002723518904 -0.02007458193 0.03893503702 -0.1344927922 0.02771669554 0.01233852109 -0.05711834105 0.08588214813 -0.01515788522 -0.05538447649 0.01159884248 -0.07883935863 0.07901990204 -0.08418930511 0.03918148484 --0.02130262709 -0.07339929127 0.03688274522 -0.07193763713 0.001888184651 -0.05446662251 --0.04726276292 -0.002900320781 -0.004115381074 -0.02391190983 -0.06023162878 -0.01723707546 --0.01725988991 0.02071038405 -0.02399771942 -0.03726332079 0.004367401125 -0.01222816323 -0.0249339284 -0.009572927603 -0.006231811142 0.0114317778 -0.0006494163313 0.001186498083 -0.004509961607 0.01329322862 0.008026946939 0.004960445526 -0.005098249037 0.008273841973 -0.01444764034 0.001255001752 0.004207834554 -0.009608696317 0.004529870294 0.005499276509 --0.002348409085 0.0004517629707 0.0004982574264 -0.0006263027899 -0.002430244522 -0.002362444503 --0.001174501039 6.690039578e-05 -0.002165982776 -0.00398267258 -0.0006354527574 -0.001133026538 -0.003602543329 -0.001353052825 -0.001842694378 -iw : 2 --0.01016952295 -0.08240690338 -0.1503796339 -0.1264407774 -0.04712708969 0.01877922836 -0.03713266615 0.0211376021 -0.001926298376 -0.0116153349 -0.00797057004 -0.0002839269351 -0.00295517905 -0.004483920613 -0.07983154678 0.03715673615 -0.02937221604 -0.1488979802 -0.03468905932 -0.05922752823 -0.08046921244 -0.05268157615 -0.06362509905 0.008082598994 --0.109336948 -0.04031495757 0.04800569662 -0.09320802294 -0.009048566476 0.03025481045 --0.03178971628 0.01093829754 0.002125329226 0.01683577542 0.01383777257 -0.01528529999 -0.03132763423 0.006093639708 -0.01085799833 0.01609825291 -0.001827019805 -0.00207580325 --0.001851904896 -0.004213832618 0.004904443185 -0.009679184152 -0.002280169931 0.00311575788 --0.005495276398 0.0001459009472 0.001082401001 -0.0003635703659 -0.04409184978 -0.02799864433 -0.01233852109 0.003928539123 0.127264577 -0.09381876088 -0.05712519213 0.01159884248 -0.02425428906 -0.02195277809 -0.07928302079 -0.04307373925 -0.02130262709 0.05423276939 --0.0717096918 -0.02720354414 -0.00689451847 -0.05446662251 0.06975579105 -0.04002972343 -0.01634230662 0.01968383822 -0.06023162878 0.05891188653 0.03116981791 0.02654537921 -0.02184505542 -0.03726332079 0.02999424762 0.04254017208 0.01436656977 0.009492658828 --0.006231811142 0.001118583458 0.02858467968 -0.002236435122 -0.003538193134 0.01329322862 --0.01353998751 -0.006601008687 -0.008452065379 -0.007387361255 0.01444764034 -0.01235172754 --0.01356203915 -0.005682262568 -0.004261912098 0.005499276509 -0.003733655014 -0.01283031044 -5.495228671e-05 0.0004386677346 -0.002430244522 0.002614312173 0.001921955627 0.002124920281 -0.001915833849 -0.00398267258 0.003485396057 0.002400049894 0.001609719521 0.001254972243 --0.001842694378 0.001366614185 0.004682039918 -iw : 3 --0.09240650892 -0.08921797981 0.1298452545 0.1936351018 0.1107900206 -0.01227765814 --0.05676684756 -0.04347177879 -0.0002773578769 0.0171360706 0.0163297608 0.0005232765347 --0.003624284568 -0.0278342469 0.03715673615 -0.238226165 -0.02598570117 0.03468905932 --0.4383847055 0.03946396131 -0.05268157615 -0.2246524915 0.08190470752 -0.109336948 -0.04224699912 0.06982247077 -0.09320802294 0.1554219681 0.0238137927 -0.03178971628 -0.09332418617 -0.01261174092 0.01683577542 0.003281547073 -0.02346764534 0.03132763423 --0.04977057069 -0.01205926011 0.01609825291 -0.03429784894 0.001387268728 -0.001851904896 --0.005710519618 0.007250712237 -0.009679184152 0.01590543261 0.004116531641 -0.005495276398 -0.009992326756 0.0002723518904 -0.0003635703659 0.003205913717 -0.02594614818 0.01233852109 --0.08343203541 -0.05216826207 0.1113758219 0.1191421115 0.01159884248 -0.1678941451 -0.1995652975 0.2241267196 0.142692731 -0.02130262709 -0.1214367089 0.2596306732 -0.1621093529 0.07502672493 -0.05446662251 -0.01067088777 0.1618580132 0.01424487477 --0.01535837301 -0.06023162878 0.06750765788 0.008683716617 -0.09011791268 -0.04231895418 --0.03726332079 0.06984049426 -0.05146879073 -0.09323208302 -0.03118544788 -0.006231811142 -0.02863851403 -0.05036402889 -0.03823037546 0.001612252983 0.01329322862 -0.01255811635 --0.004995002689 0.01676419043 0.01254438205 0.01444764034 -0.0239350452 0.01326371695 -0.03195157973 0.01211038602 0.005499276509 -0.01332165269 0.01775418976 0.01778345704 --0.0002901127852 -0.002430244522 0.001691273314 0.0009212081172 -0.002257729355 -0.0024433796 --0.00398267258 0.006247799402 -0.001898908111 -0.008340366984 -0.00393178373 -0.001842694378 -0.003961077892 -0.005730552596 -0.00528775672 -ad : 2 2.994710688 -iw : 4 --0.07467809645 -0.1059235929 0.01768155914 0.03317436361 -0.0002965816861 -0.01546320753 -0.002957674633 0.003964442285 0.0009786094851 -0.003908906063 0.001582097496 6.445994205e-06 -0.0006651266567 -0.08568422954 0.03096893175 0.1276628766 -0.128544398 0.0464599228 --0.0550517457 -0.02009797173 0.007264028845 -0.03062601507 0.03579320796 -0.01293677285 -0.01069047291 0.01344620198 -0.004859873442 0.01846592644 -0.01425089975 0.005150716115 --0.01123757457 -0.005299817191 0.001915517917 -0.001773874753 0.004689629624 -0.00169497725 --0.0004633370163 0.004025879612 -0.001455077458 0.005869319725 -0.003017513639 0.001090622796 --0.004142438625 -0.001190454948 0.0004302672528 0.00111219122 0.0003790964797 -0.0001370171976 --0.001761319689 0.001452529735 -0.0005249891897 0.002867193374 -0.1213071027 0.03892980974 -0.1257770453 -0.1164702733 -0.0454597159 -0.1043176302 0.06692177829 -0.05120160107 --0.01971318078 0.01850584288 -0.02551549962 0.0245723456 -0.05161440619 0.01491093341 -0.01865504342 0.02410956974 -0.01364176539 0.00313740057 0.008945788431 -0.001133953642 -0.01002593594 -0.01100786323 0.02672595544 -0.009112326047 -0.009659587237 -0.00531047067 -0.004348730678 -0.007094991087 0.001262211428 0.002564349309 -0.006623681577 0.004773420242 --0.005748899239 9.190176754e-06 0.002077830065 0.003576676026 -0.001512766933 -0.001969505692 -0.002556251664 0.0007118402964 0.001696317262 -0.002434765654 0.007248939292 -0.002918354262 --0.002619990953 -0.000313357692 0.0008886505452 -0.00343036852 0.001594763554 0.001239841324 --0.001982940359 0.0009616509622 0.0005060024549 -0.001121446948 -0.0001828849437 0.001351647923 --0.0003995546752 -0.001564491708 0.001380054304 0.0005654557109 -0.0001749915244 -0.0004643792117 -0.002661822604 -0.001420088439 -0.0009620650498 -ad : 3 3.303653192 -iw : 5 --0.06949993455 -0.07650151067 0.03775747449 0.01817903504 -0.01203705989 -0.008063426606 -0.009345745778 -0.0005230707761 -0.001955054846 -0.001568792632 0.002943153326 -0.001329764494 -0.0005817366865 -0.0005862482916 0.094871103 0.1120596393 -0.0006895578105 0.1115894255 --0.0580403052 9.653598589e-05 -0.01562217851 -0.008871600166 0.0002002018939 -0.03239817458 -0.01269330402 -3.604286736e-05 0.005832727584 0.007022843851 -8.101694112e-05 0.01311077009 --0.01231504185 4.013999316e-05 -0.006495755263 0.005553602758 1.728174099e-05 -0.002796661164 --0.001013072476 -1.457669659e-05 0.002358910556 0.002009989268 -1.23299459e-05 0.001995324479 --0.003912933465 1.81304628e-05 -0.002934007704 0.003772163737 -4.715928016e-06 0.0007631669021 --0.002425505444 -2.819160351e-06 0.0004562177082 0.001714541089 -0.01354075547 0.0008764727263 -0.0008100372401 -0.1652852618 -0.131086312 0.0597403149 0.00119354734 -0.0004075994811 --0.08966816149 0.0659608103 0.01259743929 0.0001095728959 -0.0001748654118 0.004088172775 -0.02829803469 -0.01688824417 -0.0003530616333 0.0001054325641 0.02788160737 -0.01706188962 --0.00642398067 -3.893749438e-05 9.976943756e-05 -0.004825743642 -0.01614543995 0.01050224355 -0.0001519680464 -0.0001078540145 -0.006401252508 0.01745374692 -0.0009974294301 -6.186853146e-06 -1.54025366e-05 -0.0007264336234 -0.002492554191 -0.002438404141 -5.933690732e-05 9.99207761e-06 -0.00537853761 -0.001616993069 -0.001212619179 2.717701592e-06 2.513204017e-05 -0.002540100123 --0.004067055557 0.002948477101 3.060876872e-05 -3.782277703e-05 0.0001537603716 0.006120765939 --0.001381428109 -9.519710406e-06 2.073732204e-05 -0.000852211439 -0.003355869251 0.0005382551535 --3.663615608e-06 -1.269302632e-05 0.001525136437 0.002054080881 -0.0009796627663 -2.891456218e-06 -1.712107546e-05 -0.001228926384 -0.00277066106 -ad : 4 0 -iw : 7 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0.3077382577 0 0 -0.340113108 0 0 0.2965292449 0 0 -0.2106036639 0 0 0.1684140928 0 0 -0.1131428086 0 0 0.1019205506 0 0 -0.06113809996 0 0 0.06480538679 0 0 -0.02956059757 0 0 0.04222106929 0 0 -0.008651775987 0 0 0.0303465245 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/dphialpha_z_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/dphialpha_z_ref.dat deleted file mode 100644 index d604201535..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/dphialpha_z_ref.dat +++ /dev/null @@ -1,870 +0,0 @@ -iat : 0 -ad : 0 2.003222249 -iw : 6 --0.03743901944 -0.08873200832 -0.05887198737 -0.01154640321 0.01566770979 0.01164804667 -0.003723822188 -0.003675545628 -0.003509488323 -0.001761481315 0.001867874234 0.0006497851846 -0.0004906246879 -0.2347872893 -0.01740517535 -0.03118321102 -0.1235715418 -0.04360372101 --0.07812067423 -0.02568808768 -0.04103742188 -0.07352287815 0.02465901433 -0.0183248609 --0.03283092487 0.01057009141 -0.00058035741 -0.001039771632 0.00398044267 0.006995100477 -0.01253246175 -0.007431628133 0.005647806797 0.01011864274 -0.0001313342894 0.0003954975947 -0.0007085757372 -0.002361872324 -0.001941571702 -0.00347853089 0.003278637938 -0.001430414057 --0.002562737949 -0.0008457246082 -0.0004815340735 -0.0008627191813 0.001554865278 0.0004475305332 -0.0008017982453 -0.002121328996 0.0007611501307 0.001363680898 0.1001614082 -0.1010786453 --0.1810930751 0.009823100245 -0.01592788191 0.107567347 -0.08037624113 -0.1440025302 -0.02793969917 -0.04530343964 0.0711143744 -0.03219203352 -0.05767543012 0.03139912112 --0.05091279545 0.02602548999 0.00578449676 0.01036353725 0.02233255529 -0.03621161289 -0.004300358952 0.008000264979 0.01433332018 0.008037977083 -0.01303335471 -0.009217841551 -0.006288179778 0.01126593861 -0.002764300424 0.004482235713 -0.00474009698 -0.00198378055 --0.003554152501 -0.004641630751 0.007526274256 -0.002732952373 -0.001730700162 -0.00310073224 --0.003038433288 0.004926734474 0.00179079278 -0.002329366031 -0.004173305413 -0.0001466569224 -0.0002378000919 0.0009920760688 0.001511702884 0.002708375474 0.001648230802 -0.002672560081 -0.001626078649 -0.0001758249324 -0.0003150089476 0.001063758644 -0.001724854847 -0.001222949826 -0.000991642578 0.001776632475 -0.0002696125949 0.0004371692711 0.0004495896294 -0.0005837081193 --0.001045774782 -3.614412222e-05 5.860668182e-05 -ad : 1 1.950638213 -iw : 7 --0.03703292344 -0.08941598988 -0.06261921264 -0.01550582595 0.01385485078 0.01224527543 -0.005414519596 -0.002709561978 -0.003740750874 -0.002342309065 0.001413356526 0.0005650008109 -0.0008446223656 -0.2380380237 -0.01676741657 0.03005026605 -0.1311681843 -0.04283184637 -0.07676247401 -0.03185184817 -0.0417980023 0.07490963705 0.02307103059 -0.02041870897 -0.03659404741 0.01181999584 -0.002603146149 0.004665312274 0.005520004987 0.00639250614 --0.01145653592 -0.006823522416 0.006117988857 -0.01096455092 -0.0006156168379 0.001221597812 --0.002189325893 -0.003024900015 -0.001420987333 0.00254666825 0.003144865409 -0.001581245757 -0.002833880549 -0.0006476463302 -0.0008986727763 0.001610585382 0.001708703147 0.0003264896965 --0.0005851290329 -0.002005282355 0.0007747368081 -0.001388469542 0.09925124134 -0.09989055756 -0.1790220824 0.009226883696 0.0149519678 0.1085489075 -0.08240615307 0.1476868433 -0.02676691033 0.04337520604 0.07387844253 -0.03553956216 0.06369337182 0.03098192064 -0.05020554014 0.02958802781 0.00341228305 -0.006115433052 0.02337062051 0.03787159098 -0.006785510114 0.007750177762 -0.01388973088 0.009688319478 0.01569971462 -0.008257849846 -0.007283097811 -0.01305263849 -0.001406304514 -0.002278886404 -0.004993019306 -0.001121898083 -0.002010645809 -0.004283072025 -0.006940626664 -0.003653501065 -0.001670021949 0.002992983664 --0.003661526659 -0.005933425683 0.001209044043 -0.002611423017 0.00468014593 -0.0007539962946 --0.001221834878 0.00101995148 0.001130844243 -0.00202667896 0.001435091289 0.002325534758 -0.001788286309 -0.0002787597565 0.0004995882826 0.001111203246 0.001800681108 -0.0009681201456 -0.001185644558 -0.002124891109 4.126248949e-05 6.68649822e-05 0.0005777714751 -0.0004656423601 -0.0008345159641 0.0001256852079 0.0002036701928 -ad : 2 1.709269535 -iw : 4 -0.09739344347 0.2539155258 0.2182965769 0.09761110364 -0.002681593173 -0.02955122844 --0.03244859093 -0.009031726657 0.004058933058 0.008841002698 0.004162334979 0.002765074461 --0.004030375073 -0.1783217201 0.001661674077 0.0002395831244 0.03855112479 0.00460768555 -0.0006643442995 0.166279647 0.005182561547 0.0007472309434 0.1631091066 0.003441748503 -0.0004962374219 0.08111214818 0.001518182755 0.0002188942904 0.008190337299 -0.0001051856997 --1.516586131e-05 -0.02975707506 -0.0006379681254 -9.198337924e-05 -0.02377113567 -0.0005191103337 --7.484625139e-05 -0.0166473468 -0.0002504356879 -3.610826299e-05 0.005081342043 8.290848723e-05 -1.195389318e-05 0.006900986736 0.0001844134227 2.658905535e-05 0.005246014436 6.634842024e-05 -9.566233261e-06 0.0007194271447 3.629256546e-05 5.23272665e-06 -0.2015310147 -0.002619362624 --0.0003776643629 1.526523631e-05 4.49538975e-06 -0.1160300163 0.0005486357537 7.910327896e-05 -4.819936812e-05 1.419401187e-05 0.01613627568 0.003545533288 0.0005112012967 6.269802833e-05 -1.846365612e-05 0.1097221632 0.004934028033 0.0007113969392 5.890755964e-05 1.73474183e-05 -0.09190000318 0.003467093301 0.0004998916799 3.658695989e-05 1.077432678e-05 0.05637525195 -0.001673561453 0.0002412970675 1.375793609e-05 4.051511789e-06 0.00669562335 8.614864033e-05 -1.242106422e-05 -5.239644031e-07 -1.54299885e-07 -0.01983135783 -0.0008313485401 -0.0001198653114 --9.488987771e-06 -2.794368688e-06 -0.02057422335 -0.0006782484252 -9.779106452e-05 -6.314019614e-06 --1.85938681e-06 -0.00696586847 -0.0002323472685 -3.350024251e-05 -2.189700603e-06 -6.448349337e-07 --0.003128675373 -4.592753938e-05 -6.62191433e-06 1.36133827e-07 4.00894292e-08 0.008696482482 -0.000272242567 3.925241761e-05 2.392067152e-06 7.044289349e-07 0.001854606795 9.620167076e-05 -1.387052803e-05 1.241029675e-06 3.654651632e-07 -ad : 3 2.100474535 -iw : 5 --0.03533376729 -0.08076269065 -0.04792709091 -0.004321794386 0.01671348544 0.009116352255 -0.0006225888565 -0.004554513955 -0.002337698894 -0.0005524165528 0.002130690256 0.000464151038 --9.045329549e-05 -0.2305727978 0.03561091284 -1.006279224e-05 -0.1143424411 0.08591907134 --2.427867459e-05 -0.01930310831 0.07517004875 -2.124125789e-05 0.02501503443 0.02741770227 --7.747586897e-06 0.008018868428 -0.005421455664 1.531973703e-06 0.002236128856 -0.01438792524 -4.065683549e-06 -0.007496854036 -0.008311901229 2.348744487e-06 0.0009007803105 0.001958938613 --5.535491989e-07 -0.001559398319 0.004755791141 -1.34387283e-06 0.0031566778 0.001755772211 --4.961392331e-07 -0.001374083909 -0.0006020371753 1.701213065e-07 0.001416441034 -0.0009759757456 -2.757874028e-07 -0.002073920558 -0.0009697837113 2.74037682e-07 0.09480285502 0.215213974 --6.081432167e-05 -0.0197087135 1.113842299e-05 0.09926577146 0.1633405902 -4.615614409e-05 --0.0539749769 3.050407748e-05 0.06258993978 0.05993182899 -1.693530145e-05 -0.05718464674 -3.231802948e-05 0.01917577887 -0.01592216525 4.499223081e-06 -0.03595320445 2.031903295e-05 -0.0004359693088 -0.01524300739 4.307309314e-06 -0.008818572544 4.983835762e-06 -0.009766015867 --0.009788374796 2.765960604e-06 0.00868759596 -4.909814057e-06 -0.003769687324 0.005934736565 --1.677014609e-06 0.008575892517 -4.846684609e-06 -0.001054304512 0.002619525577 -7.402152753e-07 -0.002914510063 -1.647141803e-06 0.002461547013 0.00360026286 -1.017348175e-06 -0.001580498771 -8.932223734e-07 0.0006448317413 -0.003817289416 1.078674689e-06 -0.002973594741 1.68053364e-06 -0.001124584291 0.0005285934586 -1.493678687e-07 -0.001322235488 7.472643082e-07 -0.001419631239 --0.001435955516 4.057666843e-07 0.001255837733 -7.097394704e-07 0.0002710437571 0.001632373895 --4.612698204e-07 0.0004905072945 -2.772112815e-07 -ad : 4 0 -iw : 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 -0.3323408577 0 0 -0.3381829911 0 -0 -0.1941332719 0 0 -0.04638680834 0 -0 0.04028417335 0 0 0.08462892004 0 -0 0.08958563666 0 0 0.08083690751 0 -0 0.05951877109 0 0 0.04132486996 0 -0 0.02364071707 0 0 0.01300175494 0 -0 0.003849155413 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 1 -0.1246276028 0.36586141 0.4376268693 0.4231135336 0.3565090714 0.2974409008 -0.2377487477 0.193381104 0.1514250008 0.1200356898 0.08743554786 0.06534687476 -0.04344417142 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 -0.3204777674 0 -0 0 0 -0.3931894679 0 0 -0 0 -0.3882999415 0 0 0 -0 -0.3223271597 0 0 0 0 --0.2718113627 0 0 0 0 -0.2137563028 -0 0 0 0 -0.1762726601 0 -0 0 0 -0.1355335907 0 0 -0 0 -0.1095371898 0 0 0 -0 -0.07797320822 0 0 0 0 --0.05992032843 0 0 0 0 -0.03844309726 -0 0 0 0 -0.02669812503 0 -0 0 0 -iw : 2 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 -0.2775418879 -0 0 0 0 -0.3405120677 0 -0 0 0 -0.3362776137 0 0 -0 0 -0.2791435086 0 0 0 -0 -0.2353955451 0 0 0 0 --0.1851183885 0 0 0 0 -0.1526566016 -0 0 0 0 -0.1173755327 0 -0 0 0 -0.09486198903 0 0 -0 0 -0.06752677913 0 0 0 -0 -0.05189252662 0 0 0 0 --0.03329269882 0 0 0 0 -0.02312125451 -0 0 0 -iw : 3 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 --0.2775418879 0 0 0 0 -0.3405120677 -0 0 0 0 -0.3362776137 0 -0 0 0 -0.2791435086 0 0 -0 0 -0.2353955451 0 0 0 -0 -0.1851183885 0 0 0 0 --0.1526566016 0 0 0 0 -0.1173755327 -0 0 0 0 -0.09486198903 0 -0 0 0 -0.06752677913 0 0 -0 0 -0.05189252662 0 0 0 -0 -0.03329269882 0 0 0 0 --0.02312125451 0 0 -iat : 1 -ad : 0 3.03052076 -iw : 6 --0.1103551767 -0.1524729883 0.03086255911 0.04740681987 -0.00330896584 -0.02233373055 -0.006140792364 0.005595723182 0.000448247658 -0.005743920465 0.002965348266 6.030469086e-06 -0.0006939570726 -0.05612792653 -0.04700579041 -0.08714335238 0.1575394435 -0.06874722846 --0.1274494887 0.04050017777 -0.008493309252 -0.01574562271 -0.04060876876 0.01964880866 -0.0364266411 -0.02605685993 0.006043404255 0.01120377941 0.02374940137 -0.00804303874 --0.01491087275 0.004093154248 -0.002135257927 -0.00395852367 -0.003850336698 0.002718702046 -0.005040162252 -0.008055422536 0.001777601692 0.003295469968 0.006939326631 -0.00175713701 --0.003257530791 -0.0008550463899 -0.0003828348371 -0.0007097319464 0.001385202475 0.0002297879902 -0.0004260006189 -0.003681624987 0.0006507616215 0.001206437522 0.1625328952 -0.01348308198 --0.02499608993 0.02672658409 -0.04066494441 -0.02818831157 0.07383752169 0.1368863095 -0.04483104087 -0.068211178 -0.04500391253 0.03621869662 0.06714531583 0.01507445344 --0.02293603287 -0.0008441661022 -0.01403806557 -0.02602496595 -0.00989941831 0.01506213042 -0.02456368186 -0.01776561626 -0.03293541805 -0.006842063709 0.01041031429 -0.007623915071 -0.007485102358 0.01387652259 0.003487307743 -0.005305997018 -0.003844532615 0.00550384403 -0.01020349654 0.002954968233 -0.004496033557 -0.002127730606 -0.001287454078 -0.002386792424 --0.001362713703 0.002073391676 0.007067371529 -0.004501217793 -0.008344742316 -0.001546382474 -0.00235284678 -0.004106212034 0.002492637715 0.00462106487 0.0008136336318 -0.00123795717 -0.001106383089 0.0005350320748 0.0009918881957 0.0006155886023 -0.0009366283474 -0.001754484939 -3.10553416e-05 5.757304692e-05 -0.0003677130763 0.0005594815915 0.002969358024 -0.001458354215 --0.002703621707 -0.0003502595002 0.0005329256838 -ad : 1 2.994710688 -iw : 7 --0.1106360237 -0.156926404 0.02619533022 0.04914800796 -0.0004393874512 -0.02290882971 -0.004381811755 0.005873343744 0.001449815506 -0.005791066517 0.002343886419 9.549776998e-06 -0.0009853889168 -0.05855711466 -0.04588064815 0.08568422954 0.1587249492 -0.06883063931 -0.128544398 0.04683536488 -0.01076169996 0.02009797173 -0.03955829282 0.0191659024 --0.03579320796 -0.02931051287 0.007199930086 -0.01344620198 0.02273116319 -0.007630815156 -0.01425089975 0.006048265817 -0.002837850666 0.005299817191 -0.003318927586 0.002511118416 --0.004689629624 -0.009116258858 0.002155705513 -0.004025879612 0.006576113763 -0.001615763861 -0.003017513639 -0.0001520694252 -0.000637443377 0.001190454948 0.001455572048 0.0002029917558 --0.0003790964797 -0.004038682861 0.0007777744641 -0.001452529735 0.1640607388 -0.01406217428 -0.02626175996 0.02592889216 0.03892980974 -0.02676007114 0.07247937456 -0.1353585796 -0.04457272163 0.06692177829 -0.04771633658 0.03847305047 -0.07185019873 0.01636621662 -0.0245723456 -0.00297421069 -0.01213626523 0.02266503585 -0.009085990044 -0.01364176539 -0.02553722493 -0.01853761275 0.03461984801 -0.007331700324 -0.01100786323 -0.006089604098 -0.006071673218 -0.01133913017 0.002896437705 0.004348730678 -0.004329897125 0.005927673199 --0.01107020348 0.003179298834 0.004773420242 -0.003005742421 -0.0005082314961 0.0009491457929 --0.001007566462 -0.001512766933 0.007192935152 -0.00458367011 0.00856021564 -0.001621656425 --0.002434765654 -0.00353130928 0.001956552828 -0.003653952774 0.0005918786737 0.0008886505452 -0.001049322394 0.0005927026155 -0.00110689951 0.0006405000246 0.0009616509622 -0.001999738525 -0.0002432081933 -0.0004542025342 -0.0002661202343 -0.0003995546752 0.002849040638 -0.001336594638 -0.002496152221 -0.0003092961046 -0.0004643792117 -ad : 2 1.709269535 -iw : 0 --0.1023388287 -0.2733574374 -0.1789417468 -0.04462550363 0.002169792937 -0.01850460617 --0.0234678671 -0.01254296567 0.006141707938 0.007891740578 0.005955191367 -0.0005115497809 -9.60971829e-05 -0.1880553484 0.001842020004 0.000265585721 0.03350058474 0.004540294558 -0.0006546277463 0.1093702844 0.003378162744 0.000487069514 0.03980443673 0.0008110155381 -0.000116933663 -0.02455960099 -0.000398255837 -5.742123506e-05 -0.002463516694 5.491664527e-05 -7.917979609e-06 0.02416711513 0.0006073275437 8.756556566e-05 0.03378046428 0.0006421634447 -9.258826783e-05 0.01170410595 0.0002213341819 3.19123561e-05 -0.0005522595438 -6.14712455e-05 --8.863033531e-06 -0.007788030366 -0.0001389011597 -2.002701631e-05 -0.001580877365 -4.888293028e-05 --7.048027849e-06 -0.00179394424 -1.549896245e-05 -2.234667978e-06 0.2169143596 0.00278456045 -0.0004014828793 -1.709623625e-05 -5.034592563e-06 0.1012579388 -0.0004131874059 -5.957409522e-05 --4.080596181e-05 -1.20167614e-05 -0.00753955032 -0.001713121351 -0.000247000884 -3.037778317e-05 --8.94581468e-06 -0.003168466628 -5.962085525e-05 -8.596240972e-06 -1.133316629e-07 -3.337452399e-08 -0.04904839424 0.001748743333 0.0002521369247 1.757832097e-05 5.176559489e-06 0.04254897845 -0.001346447834 0.0001941332439 1.198058935e-05 3.528109063e-06 0.009178836971 5.920339629e-05 -8.536050997e-06 -1.846832131e-06 -5.438651629e-07 -0.02332177267 -0.0008908338432 -0.0001284420083 --9.495153424e-06 -2.796184383e-06 -0.01978265121 -0.0007096056255 -0.0001023122014 -7.17198463e-06 --2.112045011e-06 -0.01037965862 -0.0003004697792 -4.332226729e-05 -2.386259034e-06 -7.027185287e-07 -0.002138367566 7.255843566e-05 1.046160433e-05 6.95815541e-07 2.04907542e-07 0.000865599624 -5.353804276e-05 7.719210246e-06 7.447432951e-07 2.193160529e-07 0.001739675846 4.121896907e-05 -5.943024287e-06 2.24787288e-07 6.619658221e-08 -iw : 1 -0.09269339957 0.08191543633 -0.1779207873 -0.2996526727 -0.2393478181 -0.08098295041 -0.03203853558 0.07591901602 0.04924200798 0.01160824305 -0.01735945252 -0.01648482981 --0.009200517931 -0.2616607712 -0.001393048032 -0.0002008521435 -0.5081128822 -0.001132143575 --0.0001632344747 -0.2933308829 0.002940977466 0.0004240353628 0.0426835453 0.006404205587 -0.0009233697543 0.245008669 0.006802674825 0.0009808217579 0.2250593734 0.004384413004 -0.0006321524666 0.1062542475 0.001275763868 0.000183941904 -0.01907779932 -0.0009584059967 --0.0001381846816 -0.06601225553 -0.00153419489 -0.0002212029485 -0.05598282099 -0.001002651065 --0.0001445640142 -0.01338465249 -0.0001496699836 -2.157968449e-05 0.009154993974 0.0002805281261 -4.044704427e-05 0.01634764121 0.000312570586 4.506698314e-05 -0.02824943372 0.004612337093 -0.0006650149671 1.127783987e-05 3.321159576e-06 0.3171739403 0.009773428658 0.00140915033 -8.574946515e-06 2.525196851e-06 0.4009510266 0.007690212877 0.001108788573 -3.095246999e-05 --9.115051577e-06 0.2404043288 0.0008186037412 0.0001180277437 -7.934717226e-05 -2.336658651e-05 --0.02002763193 -0.005489782248 -0.0007915265705 -0.0001035785064 -3.050236147e-05 -0.1565626261 --0.007536316391 -0.001086599504 -9.051656125e-05 -2.665580888e-05 -0.1699678734 -0.005655245814 --0.0008153834019 -5.188643693e-05 -1.527979993e-05 -0.07860968545 -0.001980875473 -0.0002856061495 --1.037843009e-05 -3.056296495e-06 0.002365151116 0.0008685681744 0.0001252317045 1.518679325e-05 -4.472289409e-06 0.04911091406 0.001836183423 0.0002647441925 1.969898352e-05 5.801063722e-06 -0.03540496592 0.001231984348 0.000177629695 1.120517282e-05 3.299760189e-06 0.01501931351 -0.000303189255 4.371436614e-05 1.463877937e-06 4.310907305e-07 -0.007492044378 -0.000262959456 --3.791396216e-05 -3.158163342e-06 -9.300331042e-07 -iw : 2 --0.0004131054314 -0.003551264227 -0.007214406179 -0.007448296404 -0.004646929856 -0.00117686772 -0.001027824559 0.001566671927 0.000951538314 0.0001164657075 -0.0003604474975 -0.0003517313279 --0.0001455475826 -0.001393048032 -0.09523430682 1.32946208e-06 -0.001132143575 -0.2250705714 -9.240087698e-06 0.002940977466 -0.2216532309 2.055001158e-05 0.006404205587 -0.1420804525 -2.593020879e-05 0.006802674825 -0.05112425449 2.202935694e-05 0.004384413004 0.0006109220625 -1.234379409e-05 0.001275763868 0.02055350273 2.465903772e-06 -0.0009584059967 0.01492006846 --3.530064567e-06 -0.00153419489 0.006154049055 -4.671198765e-06 -0.001002651065 -0.002396376369 --2.698154886e-06 -0.0001496699836 -0.00287068026 -2.639114976e-07 0.0002805281261 -0.002582391513 -9.346440915e-07 0.000312570586 0.0001949366137 8.716418671e-07 0.0006795341842 -0.1422627537 -3.321159576e-06 0.001717626113 0.0002476351417 0.0005170279432 0.0250302915 2.525196851e-06 -0.004438636709 0.0006398706148 -0.001863859348 0.1506999466 -9.115051577e-06 0.005458475629 -0.0007867677447 -0.00477910098 0.1870807413 -2.336658651e-05 0.00454697266 0.0006552289308 --0.006238930732 0.1226321906 -3.050236147e-05 0.002656971958 0.0003827072607 -0.005452314341 -0.05670374848 -2.665580888e-05 0.0009527505965 0.0001370760786 -0.003125483408 -0.002860385155 --1.527979993e-05 -0.0001213502833 -1.764574725e-05 -0.0006252140455 -0.01750104469 -3.056296495e-06 --0.0004490434311 -6.476175657e-05 0.0009147616045 -0.02010122309 4.472289409e-06 -0.0003577482314 --5.152600406e-05 0.001186589393 -0.004325378808 5.801063722e-06 -0.0001093303982 -1.570240685e-05 -0.0006749662882 -0.0007819792664 3.299760189e-06 3.155640807e-05 4.581939074e-06 8.818781773e-05 -0.005265571444 4.310907305e-07 7.522870055e-05 1.084879398e-05 -0.000190233422 0.0002211628411 --9.300331042e-07 3.323466321e-05 4.781603272e-06 -iw : 3 --5.956227599e-05 -0.0005120275937 -0.001040185917 -0.001073908626 -0.0006700026133 -0.0001696828815 -0.0001481935734 0.0002258855454 0.0001371944868 1.67922329e-05 -5.196996141e-05 -5.071324857e-05 --2.098530938e-05 -0.0002008521435 1.32946208e-06 -0.09524333587 -0.0001632344747 9.240087698e-06 --0.2251333255 0.0004240353628 2.055001158e-05 -0.2217927965 0.0009233697543 2.593020879e-05 --0.1422565577 0.0009808217579 2.202935694e-05 -0.05127386703 0.0006321524666 1.234379409e-05 -0.0005270890939 0.000183941904 2.465903772e-06 0.02053675553 -0.0001381846816 -3.530064567e-06 -0.01494404292 -0.0002212029485 -4.671198765e-06 0.006185773536 -0.0001445640142 -2.698154886e-06 --0.002378051831 -2.157968449e-05 -2.639114976e-07 -0.002868887903 4.044704427e-05 9.346440915e-07 --0.002588739155 4.506698314e-05 8.716418671e-07 0.0001890168516 9.797644753e-05 3.321159576e-06 --0.1422853093 -0.0002476796404 0.001717723247 7.454600861e-05 2.525196851e-06 0.02501314161 --0.0006401622411 0.004439273282 -0.0002687345565 -9.115051577e-06 0.1507618515 -0.0007874827341 -0.005460036337 -0.0006890592811 -2.336658651e-05 0.1872394357 -0.0006562844971 0.004549276793 --0.0008995401317 -3.050236147e-05 0.1228393476 -0.0003838153804 0.002659390807 -0.0007861243811 --2.665580888e-05 0.0568847816 -0.0001379317866 0.0009546184704 -0.0004506377578 -1.527979993e-05 --0.002756612281 1.721016237e-05 -0.000120399471 -9.014447331e-05 -3.056296495e-06 -0.01748028783 -6.470958519e-05 -0.0004489295493 0.0001318919555 4.472289409e-06 -0.02013159668 5.168585938e-05 --0.0003580971701 0.0001710845695 5.801063722e-06 -0.004364776775 1.588056753e-05 -0.0001097192946 -9.731784016e-05 3.299760189e-06 -0.000804389612 -4.488312252e-06 3.135203565e-05 1.271507644e-05 -4.310907305e-07 0.005262643689 -1.084241374e-05 7.521477352e-05 -2.74281932e-05 -9.300331042e-07 -0.0002274791678 -4.811458747e-06 3.329983295e-05 -ad : 3 3.113220902 -iw : 5 --0.107044542 -0.138798501 0.03975919992 0.04156547963 -0.009040166779 -0.01976016993 -0.009494969936 0.004224652905 -0.001449715216 -0.005062245574 0.004016184354 -0.0003101270051 -0.0002711303477 -0.0565599189 0.10406378 0.0002182388386 0.1461462601 0.1431458584 -0.000300200376 0.02595206527 0.006637814684 1.392058762e-05 -0.039259411 -0.04251126538 --8.915310574e-05 -0.01810860078 -0.006742734249 -1.414062118e-05 0.02394694326 0.01802965459 -3.781114694e-05 -0.0006795356408 0.0007300246887 1.530981675e-06 -0.003878427186 -0.006059821715 --1.270844143e-05 -0.005296977465 -0.001629158803 -3.416613591e-06 0.006999212765 0.003951628223 -8.287213418e-06 -0.002642693229 -0.0006531078647 -1.369674462e-06 0.001554335205 -0.0003669809289 --7.696192824e-07 -0.002694832274 -0.0006157635983 -1.291357401e-06 0.1615605636 0.03214811309 -6.741987331e-05 -0.05540973591 -0.0002324076561 -0.02045652244 -0.1547800498 -0.0003245991863 --0.08762428235 -0.0003675266402 -0.03526569171 -0.06309895597 -0.0001323288743 -0.02312232009 --9.698303242e-05 0.0005977294908 0.03585900718 7.520222769e-05 0.02223848039 9.327590208e-05 -0.02021142959 0.03194498207 6.699387418e-05 0.01060294866 4.447244525e-05 -0.009230890619 --0.02115274012 -4.436077026e-05 -0.008963833699 -3.759742841e-05 -0.001746983366 -0.008132600282 --1.705539853e-05 -0.004289530954 -1.799178102e-05 -0.001026261808 0.005425930479 1.137906739e-05 -0.003887499335 1.630552093e-05 0.006000023486 0.008183926877 1.716303883e-05 0.002331674964 -9.779853743e-06 -0.004695240654 -0.007190998051 -1.508070399e-05 -0.002318686697 -9.725376444e-06 -0.001574032908 -0.0001642967295 -3.445572266e-07 -0.0008396956791 -3.521974999e-06 -0.00153892644 -0.0003750502277 7.865419274e-07 0.0009556142613 4.008177749e-06 0.002917212993 0.00332440355 -6.97182026e-06 0.0007225806791 3.030754058e-06 -ad : 4 0 -iw : 4 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 -0.3077382577 0 0 -0.340113108 0 -0 -0.2965292449 0 0 -0.2106036639 0 -0 -0.1684140928 0 0 -0.1131428086 0 -0 -0.1019205506 0 0 -0.06113809996 0 -0 -0.06480538679 0 0 -0.02956059757 0 -0 -0.04222106929 0 0 -0.008651775987 0 -0 -0.0303465245 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 2 -ad : 0 3.347258395 -iw : 6 --0.001280759408 -0.001352474033 0.0007361984028 0.0002919783563 -0.0002374075332 -0.0001242895547 -0.0001766566872 -2.57592206e-05 -3.295650676e-05 -2.085687675e-05 5.057780546e-05 -2.950282279e-05 -1.519042777e-05 -0.1616370624 -0.001757933547 -0.0009916598011 -0.000341522301 -0.001988014882 --0.001121449923 0.01696855268 0.0003672083141 0.0002071441917 0.004270186912 0.0005609271349 -0.000316422024 -0.01003583305 -0.0001485764814 -8.381279498e-05 0.005443219552 -0.0002184178553 --0.0001232106909 -0.002178001424 0.000141959579 8.008016464e-05 0.002489892059 3.352717538e-05 -1.891286057e-05 -0.003234963847 -5.222299172e-05 -2.945927146e-05 0.002861723485 -2.692908247e-05 --1.519084075e-05 -0.002242184583 5.773072489e-05 3.256621347e-05 0.002031170596 -1.933846456e-05 --1.090893222e-05 -0.001953262112 -7.755267513e-06 -4.374788257e-06 0.003450110257 -0.2070160378 --0.1167788641 -0.0009008433584 -0.001490706086 0.001737472401 -0.03540354788 -0.01997133242 --0.001181800299 -0.001955630667 -0.0001575844557 0.0190665159 0.01075552452 -6.049765077e-05 --0.0001001108743 -0.0005467024207 0.01293446402 0.007296400957 0.0003528787721 0.0005839400695 -0.0001381271135 -0.01289613749 -0.007274780753 1.266875217e-05 2.096411745e-05 0.0001121525953 -0.004625520843 0.00260928127 -0.000149371281 -0.00024717802 -6.168281322e-07 -0.002026145047 --0.001142959356 2.198050968e-05 3.637311554e-05 -0.0001005718512 0.003448926419 0.001945558006 -5.36051998e-05 8.870531914e-05 6.289667581e-05 -0.004314397753 -0.002433775056 -1.070726781e-05 --1.771827381e-05 -1.333140787e-05 0.003548802022 0.002001898372 -2.559060795e-05 -4.234706807e-05 -1.476881909e-05 -0.002584274962 -0.001457803453 1.410253789e-05 2.333673093e-05 -2.735903676e-05 -0.002396127458 0.00135166843 -8.359245386e-07 -1.383279108e-06 2.91915109e-05 -0.002542602083 --0.001434295557 7.436943853e-07 1.230657623e-06 -ad : 1 3.303653192 -iw : 7 --0.0007753576379 -0.00085346887 0.0004212312777 0.0002028095963 -0.000134288275 -8.995748625e-05 -0.0001042633409 -5.835500768e-06 -2.181105231e-05 -1.750182007e-05 3.283451166e-05 -1.483516587e-05 -6.489991481e-06 -0.1646020337 -0.001058404368 0.0005862482916 -0.00376118566 -0.001244917912 -0.0006895578105 0.01752362 0.0001742847026 -9.653598589e-05 0.005249753592 0.0003614416658 --0.0002002018939 -0.01025317915 -6.507128261e-05 3.604286736e-05 0.005053913527 -0.0001462668388 -8.101694112e-05 -0.001956063316 7.246817554e-05 -4.013999316e-05 0.002561945307 3.120021059e-05 --1.728174099e-05 -0.003316422996 -2.631656171e-05 1.457669659e-05 0.002807864352 -2.226030981e-05 -1.23299459e-05 -0.002147224371 3.273248094e-05 -1.81304628e-05 0.002002841271 -8.514069694e-06 -4.715928016e-06 -0.001967207812 -5.089672198e-06 2.819160351e-06 0.002092832074 -0.2096400175 -0.1161192317 -0.0005484473878 0.0008764727263 0.001105559283 -0.04101064864 0.02271572512 --0.0007468548662 0.00119354734 -5.721374937e-05 0.01847758422 -0.01023470094 -6.856456191e-05 -0.0001095728959 -0.0003445148893 0.01458119377 -0.008076497219 0.0002209261335 -0.0003530616333 -6.378244601e-05 -0.01265567424 0.007009955385 2.436489629e-05 -3.893749438e-05 7.615195157e-05 -0.00383363895 -0.002123445776 -9.509306519e-05 0.0001519680464 9.614876069e-06 -0.001938058626 -0.001073487215 3.871385093e-06 -6.186853146e-06 -6.682325817e-05 0.003701066243 -0.00205001399 -3.712970278e-05 -5.933690732e-05 3.260901349e-05 -0.004310629058 0.002387649746 -1.700584963e-06 -2.717701592e-06 -3.251630541e-06 0.003377460721 -0.001870769468 -1.915324772e-05 3.060876872e-05 -1.13735397e-05 -0.002502666972 0.001386222771 5.95689991e-06 -9.519710406e-06 -1.949486422e-05 -0.00238243175 -0.001319624696 2.292484809e-06 -3.663615608e-06 1.595121919e-05 -0.002511514833 -0.001391123586 1.809310846e-06 -2.891456218e-06 -ad : 2 2.100474535 -iw : 0 -0.03719512428 0.08678844766 0.03935747893 0.002302655829 -0.0004281089771 0.005775470971 --0.0004961498518 -0.004042560405 -0.003743972464 0.0006816691493 0.0009135983472 0.0009035563489 --0.0003922429909 -0.2461283237 0.03923940207 -1.108811651e-05 -0.1168991803 0.08506375815 --2.403698354e-05 -0.01193484942 0.04847595871 -1.369814651e-05 0.007644637265 0.007051874071 --1.992690949e-06 -0.005704988305 0.0009116860912 -2.576206841e-07 0.002939534657 0.01067803242 --3.01735657e-06 0.002268567225 0.006892586117 -1.947679983e-06 0.004014294208 -0.001367285072 -3.863620592e-07 -0.002525486975 -0.0053840539 1.521404859e-06 0.0002475775241 -0.001806521639 -5.104798077e-07 -0.001659178033 0.0001621922659 -4.58316551e-08 0.001460481446 0.001120883616 --3.167349011e-07 -0.001070704206 -0.0001345169221 3.801126488e-08 -0.1027833765 -0.2324169064 -6.567545892e-05 0.02185913501 -1.235373846e-05 -0.08524569893 -0.1409770809 3.983675124e-05 -0.04597188859 -2.598111444e-05 -0.03038197995 -0.02967526713 8.385520732e-06 0.02744440852 --1.551026813e-05 0.001066221902 0.00318920478 -9.011929928e-07 0.0001916808263 -1.083288426e-07 --0.001678099505 -0.01201444725 3.394995438e-06 -0.004062745891 2.296069819e-06 -0.005901124588 --0.003306229534 9.342613893e-07 0.006651965213 -3.759372841e-06 -0.006020310203 0.001877351044 --5.304945035e-07 0.009609306271 -5.430720676e-06 0.0002443172687 0.007368034349 -2.082030282e-06 -0.003612612306 -2.041675829e-06 0.001412906715 -0.0004780146062 1.350754948e-07 -0.002275327596 -1.285906419e-06 0.001832841836 0.0001827695614 -5.164630665e-08 -0.002519909248 1.424132281e-06 --0.0003800003812 -0.002268968181 6.411561398e-07 -0.000677146251 3.826907002e-07 0.0002214649836 -0.001189206077 -3.360411945e-07 0.0003230489579 -1.825718325e-07 -0.000458875172 -0.001082592002 -3.059146068e-07 7.341085043e-05 -4.148830436e-08 -iw : 1 -0.1054943182 0.1966443448 0.07052697775 -0.0180732525 -0.03765344743 -0.006419317377 -0.006336024193 0.01033315056 -0.001005912748 -0.00170053368 -0.003613007277 0.001564039888 --0.000243042824 0.1007158651 0.100397047 -2.836980422e-05 0.2039101418 0.1921841994 --5.430665817e-05 0.1452830626 0.1179089821 -3.331825825e-05 0.04473004762 0.01668263941 --4.71411489e-06 -0.01913068266 -0.0333688836 9.429248402e-06 -0.02300574945 -0.02193581414 -6.198536426e-06 -0.008820051762 -0.001228541064 3.47156321e-07 0.00567631425 0.01092190628 --3.086269491e-06 0.005016381505 0.005069671635 -1.43256795e-06 0.002143919823 -0.0003650304873 -1.031488851e-07 -0.002184355978 -0.003861630274 1.091204355e-06 -0.0007464713634 -0.0007439566978 -2.102243692e-07 -0.0006976436334 8.254877674e-06 -2.332630994e-09 -0.2376289028 0.1064020197 --3.00666659e-05 0.05268701114 -2.977618078e-05 -0.1611908974 0.2361097811 -6.671897698e-05 -0.1105949999 -6.250300863e-05 -0.06193229931 0.2223744024 -6.283768746e-05 0.09248476594 --5.226796986e-05 0.01491963817 0.1149475187 -3.248141951e-05 0.03422307677 -1.934124747e-05 -0.01769827459 0.01157847676 -3.271800603e-06 -0.01128758214 6.37920199e-06 0.01405552849 --0.02913864913 8.233885319e-06 -0.01992926601 1.126306873e-05 -0.005081467269 -0.02399506462 -6.780431358e-06 -0.008513270167 4.811293449e-06 -0.00250812886 -0.002452527235 6.930255383e-07 -0.004299364187 -2.429795172e-06 -0.005353347446 0.007084096016 -2.0017961e-06 0.006022539335 --3.403651415e-06 0.002873590934 0.006064925903 -1.713803002e-06 0.002274125139 -1.285226848e-06 --0.0006695313155 -0.0001503933688 4.249756897e-08 -0.00177989581 1.005912051e-06 0.002618058807 --0.001517526009 4.288165547e-07 -0.001470603202 8.311146496e-07 -0.001938615821 -0.001421036199 -4.015508421e-07 -0.0005571976336 3.149014741e-07 -iw : 2 --0.009165946355 -0.07118074161 -0.1201570225 -0.08520812423 -0.01472733708 0.02878889488 -0.02723131426 0.005744322555 -0.009911842029 -0.009113874884 -0.001619270351 0.003480323272 -0.002387645667 0.100397047 0.02205757864 3.373160216e-06 0.1921841994 -0.004524623935 -2.123746261e-05 0.1179089821 -0.08764519706 3.986283013e-05 0.01668263941 -0.1140686382 -3.778456062e-05 -0.0333688836 -0.06765731104 1.795222442e-05 -0.02193581414 -0.0006125316001 --2.067082427e-06 -0.001228541064 0.03164073156 -1.013049876e-05 0.01092190628 0.02460641151 --6.654202173e-06 0.005069671635 0.001405605803 7.807636289e-08 -0.0003650304873 -0.01063681044 -3.325428686e-06 -0.003861630274 -0.007953970793 2.116827788e-06 -0.0007439566978 -0.0001627856621 --2.52041377e-08 8.254877674e-06 0.002970688468 -9.383936879e-07 0.02438988974 -0.09141702317 --2.977618078e-05 0.02813083359 -5.717928935e-06 0.06853239871 0.09840984153 -6.250300863e-05 -0.03540388202 3.163878207e-06 0.09117243077 0.1413333752 -5.226796986e-05 -0.01658086454 -3.227068166e-05 0.07810271963 0.0797438025 -1.934124747e-05 -0.06664842442 5.075488874e-05 -0.04146803791 -0.01477891663 6.37920199e-06 -0.06971490369 4.20751448e-05 0.005864352165 --0.03290157008 1.126306873e-05 -0.03122301316 1.536452116e-05 -0.01318137204 -0.02177302658 -4.811293449e-06 0.008058196259 -7.160153764e-06 -0.01313567777 0.00897603449 -2.429795172e-06 -0.02292684847 -1.369968959e-05 -0.004110630804 0.009265615246 -3.403651415e-06 0.0126250329 --6.688910672e-06 0.003052733498 0.007185424185 -1.285226848e-06 -0.001513724546 1.502912327e-06 -0.003854550283 -0.005005060724 1.005912051e-06 -0.007331659371 4.286201706e-06 0.001292121596 --0.00116186919 8.311146496e-07 -0.00347615514 1.885607643e-06 -0.0006597194256 -0.002840276823 -3.149014741e-07 0.0002505174142 -2.910310772e-07 -iw : 3 -2.590077213e-06 2.011397511e-05 3.395350071e-05 2.407777794e-05 4.161593217e-06 -8.135053132e-06 --7.694918102e-06 -1.623208164e-06 2.80084949e-06 2.575363061e-06 4.575670723e-07 -9.834561158e-07 --6.746915588e-07 -2.836980422e-05 3.373160216e-06 0.03399475293 -5.430665817e-05 2.123746261e-05 -0.0706319878 -3.331825825e-05 3.986283013e-05 0.05342416239 -4.71411489e-06 3.778456062e-05 -0.01964599639 9.429248402e-06 1.795222442e-05 -0.004126728998 6.198536426e-06 -2.067082427e-06 --0.007927666852 3.47156321e-07 -1.013049876e-05 -0.004209782961 -3.086269491e-06 -6.654202173e-06 -0.00105805744 -1.43256795e-06 7.807636289e-08 0.001681907874 1.031488851e-07 3.325428686e-06 -0.001131448187 1.091204355e-06 2.116827788e-06 -0.0004627931927 2.102243692e-07 -2.52041377e-08 --0.0002519798199 -2.332630994e-09 -9.383936879e-07 -0.0003501644673 -6.891999494e-06 -2.977618078e-05 --0.1967910454 1.241144367e-05 0.03602665791 -1.936561675e-05 -6.250300863e-05 -0.1227801583 -3.634062306e-05 0.08200430259 -2.576314831e-05 -5.226796986e-05 -0.04363615671 5.048528727e-05 -0.08103998456 -2.206996054e-05 -1.934124747e-05 0.01129764896 4.501001527e-05 0.04631806446 --1.17178757e-05 6.37920199e-06 0.007796247637 2.505098933e-05 0.009468631888 -1.657125661e-06 -1.126306873e-05 0.006956961941 4.26041e-06 -0.008072991869 3.724740474e-06 4.811293449e-06 --0.004746486248 -7.489145377e-06 -0.009222454784 3.711828366e-06 -2.429795172e-06 0.0003773061153 --7.963639813e-06 -0.002627714405 1.161565949e-06 -3.403651415e-06 -0.002779463425 -2.675223332e-06 -0.001578884518 -8.626294727e-07 -1.285226848e-06 0.002637173908 1.722597255e-06 0.002291160929 --1.089203719e-06 1.005912051e-06 -0.001445269104 2.357147957e-06 0.0005049890707 -3.651226585e-07 -8.311146496e-07 0.001779337214 8.243800925e-07 -0.0002793911221 1.864209308e-07 3.149014741e-07 --0.001725881556 -3.696913955e-07 -0.0005288860492 -ad : 3 3.113220902 -iw : 4 -0.107044542 0.138798501 -0.03975919992 -0.04156547963 0.009040166779 0.01976016993 --0.009494969936 -0.004224652905 0.001449715216 0.005062245574 -0.004016184354 0.0003101270051 --0.0002711303477 -0.0565599189 0.10406378 0.0002182388386 0.1461462601 0.1431458584 -0.000300200376 0.02595206527 0.006637814684 1.392058762e-05 -0.039259411 -0.04251126538 --8.915310574e-05 -0.01810860078 -0.006742734249 -1.414062118e-05 0.02394694326 0.01802965459 -3.781114694e-05 -0.0006795356408 0.0007300246887 1.530981675e-06 -0.003878427186 -0.006059821715 --1.270844143e-05 -0.005296977465 -0.001629158803 -3.416613591e-06 0.006999212765 0.003951628223 -8.287213418e-06 -0.002642693229 -0.0006531078647 -1.369674462e-06 0.001554335205 -0.0003669809289 --7.696192824e-07 -0.002694832274 -0.0006157635983 -1.291357401e-06 -0.1615605636 -0.03214811309 --6.741987331e-05 0.05540973591 0.0002324076561 0.02045652244 0.1547800498 0.0003245991863 -0.08762428235 0.0003675266402 0.03526569171 0.06309895597 0.0001323288743 0.02312232009 -9.698303242e-05 -0.0005977294908 -0.03585900718 -7.520222769e-05 -0.02223848039 -9.327590208e-05 --0.02021142959 -0.03194498207 -6.699387418e-05 -0.01060294866 -4.447244525e-05 0.009230890619 -0.02115274012 4.436077026e-05 0.008963833699 3.759742841e-05 0.001746983366 0.008132600282 -1.705539853e-05 0.004289530954 1.799178102e-05 0.001026261808 -0.005425930479 -1.137906739e-05 --0.003887499335 -1.630552093e-05 -0.006000023486 -0.008183926877 -1.716303883e-05 -0.002331674964 --9.779853743e-06 0.004695240654 0.007190998051 1.508070399e-05 0.002318686697 9.725376444e-06 --0.001574032908 0.0001642967295 3.445572266e-07 0.0008396956791 3.521974999e-06 0.00153892644 --0.0003750502277 -7.865419274e-07 -0.0009556142613 -4.008177749e-06 -0.002917212993 -0.00332440355 --6.97182026e-06 -0.0007225806791 -3.030754058e-06 -ad : 4 0 -iw : 5 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 -0.3077382577 0 0 -0.340113108 0 -0 -0.2965292449 0 0 -0.2106036639 0 -0 -0.1684140928 0 0 -0.1131428086 0 -0 -0.1019205506 0 0 -0.06113809996 0 -0 -0.06480538679 0 0 -0.02956059757 0 -0 -0.04222106929 0 0 -0.008651775987 0 -0 -0.0303465245 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 3 -ad : 0 3.245352337 -iw : 7 -0.0005261532839 0.0006106893134 -0.0002612621427 -0.0001600687481 7.99822757e-05 7.36806635e-05 --6.609569948e-05 -4.651064631e-06 1.473448568e-05 1.639189737e-05 -2.316062751e-05 7.149297419e-06 --2.440110418e-06 -0.1685563703 -6.33196742e-06 -0.0008099741886 -0.008532270949 -7.832955213e-06 --0.00100197792 0.01805061423 6.383986497e-07 8.166283779e-05 0.006653484224 2.328826506e-06 -0.0002978994102 -0.01042941063 -1.702117738e-07 -2.177319216e-05 0.004475203666 -9.746308407e-07 --0.0001246730711 -0.001723208808 3.080516344e-07 3.940542585e-05 0.002703436119 2.642491557e-07 -3.380228945e-05 -0.003397103343 -9.73716732e-08 -1.245561399e-05 0.002710422097 -1.779569024e-07 --2.276393546e-05 -0.002033996442 1.638238984e-07 2.095606631e-05 0.001979183566 -2.478712665e-08 --3.170725853e-06 -0.001984375264 -2.232499018e-08 -2.855773666e-06 -0.001423772944 0.001892377494 -0.2420696165 -0.0006828109867 1.067639247e-05 -0.0007986515314 0.0004325839706 0.05533538431 --0.0009755476043 1.525360502e-05 1.67428257e-06 -0.0001535872318 -0.01964660985 -0.0001417998074 -2.217173456e-06 0.0002434452603 -0.0001492137042 -0.01908715585 0.0002810177074 -4.393976361e-06 --2.406000783e-05 0.0001076810272 0.01377436851 5.978271864e-05 -9.347590759e-07 -5.688681467e-05 --2.448628253e-05 -0.0031322424 -0.0001215854281 1.901102609e-06 -1.653331997e-05 1.729130003e-05 -0.002211872832 -1.234160097e-05 1.929725477e-07 4.918018317e-05 -3.621617404e-05 -0.004632709589 -5.104946847e-05 -7.982064894e-07 -1.643801648e-05 3.766206345e-05 0.004817665232 7.015375812e-06 --1.09692004e-07 -1.259827987e-06 -2.765321695e-05 -0.003537351107 -2.823471755e-05 4.414763845e-07 --1.049608531e-05 2.159971957e-05 0.002762998318 2.172730833e-06 -3.397269164e-08 1.569018239e-05 --2.129857695e-05 -0.002724476682 7.1060815e-06 -1.111102728e-07 -9.131615421e-06 2.178315948e-05 -0.00278646363 4.708533508e-06 -7.362235327e-08 -ad : 1 2.003222249 -iw : 0 -0.03939407335 0.09539752689 0.04832318217 0.005540104914 -0.0004871239567 0.007153618575 -0.00200320899 -0.003117198493 -0.004934024531 -0.0006375918813 0.0005279122371 0.001208064629 --0.000205974071 -0.250756622 -0.01920531896 -0.03440835853 -0.1260665443 -0.04311818406 --0.07725078347 -0.01600196458 -0.02655052661 -0.04756807428 0.007453577712 -0.004543585305 --0.008140313241 -0.006277030672 0.0003388288342 0.000607047664 0.001582930503 -0.0050843439 --0.009109139412 0.00236592269 -0.00494269421 -0.008855359021 0.005137139766 -0.0009578834066 --0.001716149352 -0.001671204273 0.002287486172 0.004098273219 9.821884001e-05 0.001515471155 -0.002715126729 -0.001964851266 0.0004055129126 0.0007265192376 0.00126932605 -0.0004553027313 --0.0008157229596 -0.001011657532 -9.688088572e-06 -1.735723452e-05 -0.1086368373 0.1092097616 -0.1956608293 -0.01091472128 0.01769791485 -0.09232085607 0.06932744514 0.1242074445 --0.02376745072 0.03853825564 -0.03452098087 0.01585094127 0.02839863641 -0.01510379576 -0.02449038179 0.001107064307 -0.001444602931 -0.002588158817 -9.349827175e-05 0.0001516048289 -8.451618548e-05 0.006020594923 0.01078653206 0.003776830237 -0.006124024444 -0.005257376452 -0.002976279146 0.005332318623 -0.001953209312 0.003167074193 -0.007331000413 -0.0001096126574 --0.0001963826596 -0.005352739483 0.008679317147 -0.001468888235 -0.00386966615 -0.006932915854 --0.003447306427 0.005589710817 0.0006850057437 -0.0005579897072 -0.0009996975289 0.0001494461256 --0.0002423227069 0.002070385223 -0.0003568257309 -0.0006392910063 0.001272356095 -0.00206308977 --7.819384208e-06 0.001169039402 0.002094457634 0.000715891885 -0.00116079864 0.0003655932512 --0.0004239544575 -0.0007595592142 1.900636129e-06 -3.081828248e-06 -0.000474657281 0.000512102311 -0.0009174854092 -2.612270284e-05 4.235723098e-05 -iw : 1 -0.1066053008 0.20470001 0.08227382802 -0.01293960292 -0.04074560369 -0.01180574386 -0.00436756065 0.01205844955 0.001520345028 -0.001010926244 -0.004467243037 0.00053660458 --0.0003973587751 0.1070705863 -0.04681525376 -0.08387447456 0.2241315641 -0.09222228684 --0.1652259729 0.1720486883 -0.06053324436 -0.1084517044 0.06526373755 -0.01200650236 --0.02151091783 -0.01200500157 0.01546053912 0.02769918971 -0.02604053788 0.01295511469 -0.02321045706 -0.01465156646 0.002908606457 0.005211075849 0.00289102246 -0.004943141799 --0.008856160924 0.005772858942 -0.003688344203 -0.006608058424 0.004163032692 -0.0009386562863 --0.001681701934 -0.001303703129 0.001762698798 0.003158061179 -0.0009785839683 0.0008660355664 -0.00155159424 -0.001302292526 0.0003781718765 0.0006775348821 -0.2372911634 -0.05222178485 --0.09356084636 -0.02505108545 0.0406196334 -0.160082834 -0.1197255729 -0.2145010165 --0.05406067911 0.08765787701 -0.05971864055 -0.1197187813 -0.2144888486 -0.04762942838 -0.07722978407 0.01838613232 -0.06969723595 -0.1248699638 -0.01991744041 0.03229557177 -0.02174592272 -0.01513895118 -0.02712303093 0.004181927354 -0.006780878074 0.01737926823 -0.01190154982 0.02132288426 0.01105448358 -0.0179245355 -0.003677532863 0.01437830146 -0.02576024657 0.006401423694 -0.01037972922 -0.003017830949 0.004558107662 0.008166331577 --0.0008970104791 0.001454477368 -0.006728292601 -0.002301486305 -0.004123355937 -0.003417338228 -0.005541118221 0.001955530753 -0.003734452022 -0.006690665455 -0.002163682829 0.003508351105 --0.0007330602981 -0.001047388924 -0.001876507946 0.0002801928421 -0.0004543248456 0.003046705053 -0.0004080905293 0.0007311373102 0.0008825234622 -0.001430987076 -0.001636527277 0.0008857629551 -0.001586937942 0.000591519663 -0.0009591325658 -iw : 2 -0.004434869179 0.03542222125 0.06296459969 0.05010339901 0.01541423611 -0.01076808903 --0.01551334377 -0.00691363842 0.002587209354 0.005170285736 0.002584157319 -0.0006779445738 --0.001411811693 -0.04681525376 0.03350547585 -0.004792275253 -0.09222228684 0.06059218437 --0.03096916525 -0.06053324436 0.02956015273 -0.06095721959 -0.01200650236 -0.006890427622 --0.06283399294 0.01546053912 -0.02063044615 -0.03647592104 0.01295511469 -0.01074179263 --0.004522297057 0.002908606457 0.001194725808 0.0133335208 -0.004943141799 0.006984152818 -0.0132060984 -0.003688344203 0.003730298289 0.003961568389 -0.0009386562863 -0.0001540666131 --0.003381817098 0.001762698798 -0.002378819141 -0.004264740234 0.0008660355664 -0.001030265339 --0.001544399574 0.0003781718765 -9.149287305e-05 0.000751492539 -0.01168668593 -0.1783255734 -0.0406196334 -0.01950770213 -0.02880090296 -0.03299098189 -0.08259865929 0.08765787701 --0.05267825471 -0.05699425272 -0.04480272679 -0.007624622024 0.07722978407 -0.06783706318 --0.03976759764 -0.04043832181 0.02708305619 0.03229557177 -0.05791686523 -0.002222651244 --0.02441984263 0.005452159314 -0.006780878074 -0.03264794234 0.02231373563 -0.007159923198 --0.001071401061 -0.0179245355 -0.008161630425 0.02088561239 0.004129193312 -0.009745628317 --0.01037972922 0.006540825148 0.00660091746 0.006687045278 0.000742491367 0.001454477368 -0.008975745097 -0.005748226356 0.003736329112 -0.0003321508952 0.005541118221 0.00459653267 --0.0074675063 -0.0001516489275 0.004328294226 0.003508351105 -0.0005170364036 -0.00305693501 --0.001672745541 -0.001543612551 -0.0004543248456 -0.002237218605 0.001519369574 -0.001170814826 -0.001150464151 -0.001430987076 -0.001467385583 0.002065180675 -0.0001079735083 -0.002187692681 --0.0009591325658 -6.210151389e-05 0.0009349231887 -iw : 3 -0.007945536811 0.06346265279 0.1128077345 0.08976553425 0.02761623297 -0.01929216947 --0.02779379482 -0.01238651386 0.004635258975 0.009263113292 0.004629790932 -0.001214609349 --0.002529409848 -0.08387447456 -0.004792275253 0.02759445762 -0.1652259729 -0.03096916525 -0.02239335588 -0.1084517044 -0.06095721959 -0.04562735581 -0.02151091783 -0.06283399294 --0.08439283689 0.02769918971 -0.03647592104 -0.06562156685 0.02321045706 -0.004522297057 --0.01631980703 0.005211075849 0.0133335208 0.01764091899 -0.008856160924 0.0132060984 -0.0232731772 -0.006608058424 0.003961568389 0.008616683512 -0.001681701934 -0.003381817098 --0.004325359261 0.003158061179 -0.004264740234 -0.00763915081 0.00155159424 -0.001544399574 --0.002935200585 0.0006775348821 0.000751492539 0.0008354334545 -0.0209379329 0.0406196334 --0.1282234025 0.02849437982 -0.01247214891 -0.05910683055 0.08765787701 0.02552269893 -0.05513073018 -0.009905261381 -0.0802688198 0.07722978407 0.08763423473 0.03569157683 -0.02571888098 -0.07244952705 0.03229557177 0.06691793702 -0.002838949261 0.05826085722 --0.04375072877 -0.006780878074 -0.002911695395 -0.02634171854 0.05980539931 -0.01282775907 --0.0179245355 -0.02318036821 -0.02265560233 0.032464531 0.007397886192 -0.01037972922 --0.0225484757 -0.006345814353 0.000685503702 0.0119805483 0.001454477368 0.002536512325 -0.006836360429 -0.01599993961 0.00669402846 0.005541118221 0.006502525561 0.008250247037 --0.01336953083 -0.0002716950799 0.003508351105 0.008655659884 0.003163140762 -0.002954751971 --0.002996900413 -0.0004543248456 -0.002103998235 -0.00179490626 0.004087109946 -0.002097638493 --0.001430987076 -0.0006145827731 -0.00229917308 0.003903386877 -0.0001934459508 -0.0009591325658 --0.003370732007 -0.0009870729681 0.001134880071 -ad : 2 3.03052076 -iw : 4 -0.1103551767 0.1524729883 -0.03086255911 -0.04740681987 0.00330896584 0.02233373055 --0.006140792364 -0.005595723182 -0.000448247658 0.005743920465 -0.002965348266 -6.030469086e-06 --0.0006939570726 -0.05612792653 -0.04700579041 -0.08714335238 0.1575394435 -0.06874722846 --0.1274494887 0.04050017777 -0.008493309252 -0.01574562271 -0.04060876876 0.01964880866 -0.0364266411 -0.02605685993 0.006043404255 0.01120377941 0.02374940137 -0.00804303874 --0.01491087275 0.004093154248 -0.002135257927 -0.00395852367 -0.003850336698 0.002718702046 -0.005040162252 -0.008055422536 0.001777601692 0.003295469968 0.006939326631 -0.00175713701 --0.003257530791 -0.0008550463899 -0.0003828348371 -0.0007097319464 0.001385202475 0.0002297879902 -0.0004260006189 -0.003681624987 0.0006507616215 0.001206437522 -0.1625328952 0.01348308198 -0.02499608993 -0.02672658409 0.04066494441 0.02818831157 -0.07383752169 -0.1368863095 --0.04483104087 0.068211178 0.04500391253 -0.03621869662 -0.06714531583 -0.01507445344 -0.02293603287 0.0008441661022 0.01403806557 0.02602496595 0.00989941831 -0.01506213042 --0.02456368186 0.01776561626 0.03293541805 0.006842063709 -0.01041031429 0.007623915071 --0.007485102358 -0.01387652259 -0.003487307743 0.005305997018 0.003844532615 -0.00550384403 --0.01020349654 -0.002954968233 0.004496033557 0.002127730606 0.001287454078 0.002386792424 -0.001362713703 -0.002073391676 -0.007067371529 0.004501217793 0.008344742316 0.001546382474 --0.00235284678 0.004106212034 -0.002492637715 -0.00462106487 -0.0008136336318 0.00123795717 --0.001106383089 -0.0005350320748 -0.0009918881957 -0.0006155886023 0.0009366283474 0.001754484939 --3.10553416e-05 -5.757304692e-05 0.0003677130763 -0.0005594815915 -0.002969358024 0.001458354215 -0.002703621707 0.0003502595002 -0.0005329256838 -ad : 3 3.347258395 -iw : 5 -0.001280759408 0.001352474033 -0.0007361984028 -0.0002919783563 0.0002374075332 0.0001242895547 --0.0001766566872 2.57592206e-05 3.295650676e-05 2.085687675e-05 -5.057780546e-05 2.950282279e-05 --1.519042777e-05 -0.1616370624 -0.001757933547 -0.0009916598011 -0.000341522301 -0.001988014882 --0.001121449923 0.01696855268 0.0003672083141 0.0002071441917 0.004270186912 0.0005609271349 -0.000316422024 -0.01003583305 -0.0001485764814 -8.381279498e-05 0.005443219552 -0.0002184178553 --0.0001232106909 -0.002178001424 0.000141959579 8.008016464e-05 0.002489892059 3.352717538e-05 -1.891286057e-05 -0.003234963847 -5.222299172e-05 -2.945927146e-05 0.002861723485 -2.692908247e-05 --1.519084075e-05 -0.002242184583 5.773072489e-05 3.256621347e-05 0.002031170596 -1.933846456e-05 --1.090893222e-05 -0.001953262112 -7.755267513e-06 -4.374788257e-06 -0.003450110257 0.2070160378 -0.1167788641 0.0009008433584 0.001490706086 -0.001737472401 0.03540354788 0.01997133242 -0.001181800299 0.001955630667 0.0001575844557 -0.0190665159 -0.01075552452 6.049765077e-05 -0.0001001108743 0.0005467024207 -0.01293446402 -0.007296400957 -0.0003528787721 -0.0005839400695 --0.0001381271135 0.01289613749 0.007274780753 -1.266875217e-05 -2.096411745e-05 -0.0001121525953 --0.004625520843 -0.00260928127 0.000149371281 0.00024717802 6.168281322e-07 0.002026145047 -0.001142959356 -2.198050968e-05 -3.637311554e-05 0.0001005718512 -0.003448926419 -0.001945558006 --5.36051998e-05 -8.870531914e-05 -6.289667581e-05 0.004314397753 0.002433775056 1.070726781e-05 -1.771827381e-05 1.333140787e-05 -0.003548802022 -0.002001898372 2.559060795e-05 4.234706807e-05 --1.476881909e-05 0.002584274962 0.001457803453 -1.410253789e-05 -2.333673093e-05 2.735903676e-05 --0.002396127458 -0.00135166843 8.359245386e-07 1.383279108e-06 -2.91915109e-05 0.002542602083 -0.001434295557 -7.436943853e-07 -1.230657623e-06 -ad : 4 0 -iw : 6 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 -0.3077382577 0 0 -0.340113108 0 -0 -0.2965292449 0 0 -0.2106036639 0 -0 -0.1684140928 0 0 -0.1131428086 0 -0 -0.1019205506 0 0 -0.06113809996 0 -0 -0.06480538679 0 0 -0.02956059757 0 -0 -0.04222106929 0 0 -0.008651775987 0 -0 -0.0303465245 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 4 -ad : 0 3.245352337 -iw : 6 --0.0005261532839 -0.0006106893134 0.0002612621427 0.0001600687481 -7.99822757e-05 -7.36806635e-05 -6.609569948e-05 4.651064631e-06 -1.473448568e-05 -1.639189737e-05 2.316062751e-05 -7.149297419e-06 -2.440110418e-06 -0.1685563703 -6.33196742e-06 -0.0008099741886 -0.008532270949 -7.832955213e-06 --0.00100197792 0.01805061423 6.383986497e-07 8.166283779e-05 0.006653484224 2.328826506e-06 -0.0002978994102 -0.01042941063 -1.702117738e-07 -2.177319216e-05 0.004475203666 -9.746308407e-07 --0.0001246730711 -0.001723208808 3.080516344e-07 3.940542585e-05 0.002703436119 2.642491557e-07 -3.380228945e-05 -0.003397103343 -9.73716732e-08 -1.245561399e-05 0.002710422097 -1.779569024e-07 --2.276393546e-05 -0.002033996442 1.638238984e-07 2.095606631e-05 0.001979183566 -2.478712665e-08 --3.170725853e-06 -0.001984375264 -2.232499018e-08 -2.855773666e-06 0.001423772944 -0.001892377494 --0.2420696165 0.0006828109867 -1.067639247e-05 0.0007986515314 -0.0004325839706 -0.05533538431 -0.0009755476043 -1.525360502e-05 -1.67428257e-06 0.0001535872318 0.01964660985 0.0001417998074 --2.217173456e-06 -0.0002434452603 0.0001492137042 0.01908715585 -0.0002810177074 4.393976361e-06 -2.406000783e-05 -0.0001076810272 -0.01377436851 -5.978271864e-05 9.347590759e-07 5.688681467e-05 -2.448628253e-05 0.0031322424 0.0001215854281 -1.901102609e-06 1.653331997e-05 -1.729130003e-05 --0.002211872832 1.234160097e-05 -1.929725477e-07 -4.918018317e-05 3.621617404e-05 0.004632709589 --5.104946847e-05 7.982064894e-07 1.643801648e-05 -3.766206345e-05 -0.004817665232 -7.015375812e-06 -1.09692004e-07 1.259827987e-06 2.765321695e-05 0.003537351107 2.823471755e-05 -4.414763845e-07 -1.049608531e-05 -2.159971957e-05 -0.002762998318 -2.172730833e-06 3.397269164e-08 -1.569018239e-05 -2.129857695e-05 0.002724476682 -7.1060815e-06 1.111102728e-07 9.131615421e-06 -2.178315948e-05 --0.00278646363 -4.708533508e-06 7.362235327e-08 -ad : 1 1.950638213 -iw : 0 -0.03895750537 0.09615671863 0.05138652709 0.007301292503 -0.0005160720341 0.007460470751 -0.003395180849 -0.00209542138 -0.005082498046 -0.001358561509 0.0001148826082 0.001219804125 --9.706103823e-05 -0.2543339905 -0.01851604131 0.03318412024 -0.1335965489 -0.04232783217 -0.07585918873 -0.01996177937 -0.02708488509 0.04854104981 0.007013763192 -0.004993283389 -0.008948873768 -0.006548124875 0.0008295120218 -0.001486636707 0.0004293784301 -0.004594160092 -0.008233572087 0.001900164659 -0.005454416684 0.009775308665 0.005619172214 -0.001918403712 -0.003438129045 -0.0009541855119 0.001770347013 -0.003172784461 0.0002477025723 0.001663976755 --0.002982149574 -0.002077861459 0.0006753792216 -0.001210402641 0.001107559286 -0.0003237925779 -0.0005802953048 -0.001000858304 -2.876743362e-05 5.155648339e-05 -0.1076820819 0.1079685005 --0.1934992281 -0.01026363319 -0.01663199818 -0.09312717198 0.0710377365 -0.1273125692 --0.02275337636 -0.03687136002 -0.0358609151 0.01744018307 -0.03125598622 -0.01492126279 --0.0241795874 0.001080648641 -0.001388655271 0.002488723303 -8.656339828e-05 -0.0001402741366 -0.001311157963 0.005857823403 -0.01049828702 0.004580895475 0.007423243197 -0.004452654357 -0.003822208796 -0.00685009469 -0.0008234257151 -0.00133434377 -0.007671948495 0.0007675449963 --0.001375580505 -0.00503331008 -0.008156371394 -0.002452081278 -0.003686158342 0.006606267484 --0.004051174777 -0.00656484213 9.067140931e-05 -0.0009774891449 0.001751838677 -0.0005421467783 --0.0008785372655 0.002000549568 -0.0006559040785 0.001175499635 0.00102935272 0.001668044079 -0.0001866486944 0.001109645686 -0.001988687282 0.0008234265012 0.001334345044 0.0004528103496 --0.0003482352468 0.0006241010217 0.0001088751863 0.0001764299121 -0.0004516259603 0.0005140343804 --0.0009212432831 -5.021192965e-06 -8.136735868e-06 -iw : 1 -0.1074479333 0.2111034614 0.09257657359 -0.006620490016 -0.04108581151 -0.01549811305 -0.001845078739 0.01220781052 0.003126485749 4.380911652e-05 -0.004540739151 -0.000103329057 --0.0007466286322 0.1062067736 -0.04601001984 0.08245834004 0.2266813605 -0.09268307477 -0.1661049598 0.1815027573 -0.06426030464 0.1151661762 0.07644732696 -0.016287723 -0.02919056775 -0.005335312798 0.01360809528 -0.02438818656 -0.0256245723 0.01392376081 --0.02495391672 -0.01755012932 0.004761362343 -0.00853322899 0.0003362886177 -0.004005623686 -0.007178807597 0.005323042608 -0.004066656963 0.007288190352 0.005089194368 -0.001755457062 -0.003146098956 -0.0004156692986 0.001359176101 -0.002435891259 -0.0008041053325 0.0009931915015 --0.001779980162 -0.001555818464 0.0006516447072 -0.001167866066 -0.2404509372 -0.05048902625 -0.09048553575 -0.02402687481 -0.03893503705 -0.1674641388 -0.1179799312 0.2114415364 --0.05299801316 -0.08588214746 -0.06711904131 -0.1220908174 0.2188089936 -0.04876330814 --0.0790198985 0.01451676313 -0.07583715152 0.1359139955 -0.02276039833 -0.03688273897 -0.02195614618 -0.02135148586 0.03826575359 0.001789794758 0.002900324148 0.0196554821 -0.008920563048 -0.01598727459 0.01065110216 0.01725988338 -0.001616336942 0.0148590482 --0.02663012216 0.0075460092 0.01222814661 -0.002421643729 0.006557502036 -0.01175223863 -0.000400744924 0.0006493985831 -0.007319420757 -0.000981001931 0.00175813423 -0.00306110352 --0.004960452822 0.001129690948 -0.003692731054 0.006618046981 -0.002596658013 -0.004207828805 --0.001092121608 -0.00167537468 0.003002576733 -0.0002787768301 -0.0004517518942 0.003152552755 --5.606535399e-06 1.004793312e-05 0.0007247903566 0.00117450728 -0.001410220836 0.0008410905712 --0.001507387577 0.0006991920992 0.001133025851 -iw : 2 -0.004250698777 0.03444477438 0.06285629416 0.05285023305 0.01969837362 -0.007849418645 --0.01552086361 -0.008835181344 0.0008051620705 0.004855025169 0.003331571452 0.0001186769411 --0.001235217821 -0.04601001984 0.0333683163 0.004483920613 -0.09268307477 0.06223698651 -0.02937221604 -0.06426030464 0.0336348504 0.05922752823 -0.016287723 -0.003378397771 -0.06362509905 0.01360809528 -0.02006561734 0.04031495757 0.01392376081 -0.01264602936 -0.009048566476 0.004761362343 -0.0008883537989 -0.01093829754 -0.004005623686 0.006389012182 --0.01383777257 -0.004066656963 0.004538470533 -0.006093639708 -0.001755457062 0.0008676527289 -0.001827019805 0.001359176101 -0.002049979213 0.004213832618 0.0009931915015 -0.001302337217 -0.002280169931 0.0006516447072 -0.0004524263955 -0.0001459009472 -0.01120119462 -0.1825465418 --0.03893503705 -0.018749467 0.02799864433 -0.03187083276 -0.09083814209 -0.08588214746 --0.0511791868 0.05712519213 -0.04399070175 -0.01333731643 -0.0790198985 -0.0671993125 -0.04307373925 -0.04095525659 0.02641683123 -0.03688273897 -0.05936718617 0.00689451847 --0.02637162545 0.007694965611 0.002900324148 -0.03590611808 -0.01968383822 -0.009617930377 -0.000591829931 0.01725988338 -0.01168401639 -0.02184505542 0.002436905954 -0.009841885405 -0.01222814661 0.004406385182 -0.009492658828 0.006378678778 -0.000384981984 0.0006493985831 -0.008802527504 0.003538193134 0.004478862323 -0.001023947213 -0.004960452822 0.00570901826 -0.007387361255 0.0007002687496 0.004415371788 -0.004207828805 0.0005936468047 0.004261912098 --0.001310354869 -0.001055827469 -0.0004517518942 -0.001836013363 -0.0004386677346 -0.001318189838 -0.001382671086 0.00117450728 -0.001705104734 -0.001915833849 -0.0003545697737 -0.002204158115 -0.001133025851 -0.0003874712309 -0.001254972243 -iw : 3 --0.007618026821 -0.06173131262 -0.1126499336 -0.09471724861 -0.03530307519 0.01406758863 -0.02781621598 0.01583425502 -0.001442997157 -0.008701089842 -0.005970783159 -0.0002126907052 -0.002213735431 0.08245834004 0.004483920613 0.02783424686 0.1661049598 0.02937221604 -0.02598570174 0.1151661762 0.05922752823 -0.03946395799 0.02919056775 0.06362509905 --0.0819047024 -0.02438818656 0.04031495757 -0.06982246937 -0.02495391672 0.009048566476 --0.0238137996 -0.00853322899 -0.01093829754 0.01261172867 0.007178807597 -0.01383777257 -0.0234676362 0.007288190352 -0.006093639708 0.01205926052 0.003146098956 0.001827019805 --0.001387261069 -0.002435891259 0.004213832618 -0.007250705165 -0.001779980162 0.002280169931 --0.004116530378 -0.001167866066 -0.0001459009472 -0.0002723549709 0.02007458197 -0.03893503705 --0.1344927921 -0.02771669552 -0.01233852108 0.05711834019 -0.08588214746 0.01515788423 --0.05538447699 -0.01159884276 0.07883935403 -0.0790198985 0.08418929986 -0.0391814875 -0.02130262561 0.07339928316 -0.03688273897 0.07193762788 -0.001888189335 0.05446661989 -0.04726275855 0.002900324148 0.004115376094 0.02391190731 0.06023162737 0.01723708393 -0.01725988338 -0.02071037439 0.02399772431 0.03726332352 -0.004367379552 0.01222814661 --0.0249339038 0.009572940058 0.006231818091 -0.01143175477 0.0006493985831 -0.001186471832 --0.004509948312 -0.0132932212 -0.008026937473 -0.004960452822 0.005098259827 -0.008273836508 --0.01444763729 -0.00125500921 -0.004207828805 0.009608687815 -0.0045298746 -0.005499278912 -0.002348394713 -0.0004517518942 -0.0004982738092 0.0006262944925 0.002430239892 0.002362436405 -0.00117450728 -6.690962706e-05 0.002165978101 0.003982669971 0.0006354536483 0.001133025851 --0.003602542314 0.001353053339 0.001842694665 -ad : 2 2.994710688 -iw : 4 -0.1106360237 0.156926404 -0.02619533022 -0.04914800796 0.0004393874512 0.02290882971 --0.004381811755 -0.005873343744 -0.001449815506 0.005791066517 -0.002343886419 -9.549776998e-06 --0.0009853889168 -0.05855711466 -0.04588064815 0.08568422954 0.1587249492 -0.06883063931 -0.128544398 0.04683536488 -0.01076169996 0.02009797173 -0.03955829282 0.0191659024 --0.03579320796 -0.02931051287 0.007199930086 -0.01344620198 0.02273116319 -0.007630815156 -0.01425089975 0.006048265817 -0.002837850666 0.005299817191 -0.003318927586 0.002511118416 --0.004689629624 -0.009116258858 0.002155705513 -0.004025879612 0.006576113763 -0.001615763861 -0.003017513639 -0.0001520694252 -0.000637443377 0.001190454948 0.001455572048 0.0002029917558 --0.0003790964797 -0.004038682861 0.0007777744641 -0.001452529735 -0.1640607388 0.01406217428 --0.02626175996 -0.02592889216 -0.03892980974 0.02676007114 -0.07247937456 0.1353585796 --0.04457272163 -0.06692177829 0.04771633658 -0.03847305047 0.07185019873 -0.01636621662 --0.0245723456 0.00297421069 0.01213626523 -0.02266503585 0.009085990044 0.01364176539 --0.02553722493 0.01853761275 -0.03461984801 0.007331700324 0.01100786323 0.006089604098 --0.006071673218 0.01133913017 -0.002896437705 -0.004348730678 0.004329897125 -0.005927673199 -0.01107020348 -0.003179298834 -0.004773420242 0.003005742421 0.0005082314961 -0.0009491457929 -0.001007566462 0.001512766933 -0.007192935152 0.00458367011 -0.00856021564 0.001621656425 -0.002434765654 0.00353130928 -0.001956552828 0.003653952774 -0.0005918786737 -0.0008886505452 --0.001049322394 -0.0005927026155 0.00110689951 -0.0006405000246 -0.0009616509622 0.001999738525 --0.0002432081933 0.0004542025342 0.0002661202343 0.0003995546752 -0.002849040638 0.001336594638 --0.002496152221 0.0003092961046 0.0004643792117 -ad : 3 3.303653192 -iw : 5 -0.0007753576379 0.00085346887 -0.0004212312777 -0.0002028095963 0.000134288275 8.995748625e-05 --0.0001042633409 5.835500768e-06 2.181105231e-05 1.750182007e-05 -3.283451166e-05 1.483516587e-05 --6.489991481e-06 -0.1646020337 -0.001058404368 0.0005862482916 -0.00376118566 -0.001244917912 -0.0006895578105 0.01752362 0.0001742847026 -9.653598589e-05 0.005249753592 0.0003614416658 --0.0002002018939 -0.01025317915 -6.507128261e-05 3.604286736e-05 0.005053913527 -0.0001462668388 -8.101694112e-05 -0.001956063316 7.246817554e-05 -4.013999316e-05 0.002561945307 3.120021059e-05 --1.728174099e-05 -0.003316422996 -2.631656171e-05 1.457669659e-05 0.002807864352 -2.226030981e-05 -1.23299459e-05 -0.002147224371 3.273248094e-05 -1.81304628e-05 0.002002841271 -8.514069694e-06 -4.715928016e-06 -0.001967207812 -5.089672198e-06 2.819160351e-06 -0.002092832074 0.2096400175 --0.1161192317 0.0005484473878 -0.0008764727263 -0.001105559283 0.04101064864 -0.02271572512 -0.0007468548662 -0.00119354734 5.721374937e-05 -0.01847758422 0.01023470094 6.856456191e-05 --0.0001095728959 0.0003445148893 -0.01458119377 0.008076497219 -0.0002209261335 0.0003530616333 --6.378244601e-05 0.01265567424 -0.007009955385 -2.436489629e-05 3.893749438e-05 -7.615195157e-05 --0.00383363895 0.002123445776 9.509306519e-05 -0.0001519680464 -9.614876069e-06 0.001938058626 --0.001073487215 -3.871385093e-06 6.186853146e-06 6.682325817e-05 -0.003701066243 0.00205001399 --3.712970278e-05 5.933690732e-05 -3.260901349e-05 0.004310629058 -0.002387649746 1.700584963e-06 --2.717701592e-06 3.251630541e-06 -0.003377460721 0.001870769468 1.915324772e-05 -3.060876872e-05 --1.13735397e-05 0.002502666972 -0.001386222771 -5.95689991e-06 9.519710406e-06 1.949486422e-05 --0.00238243175 0.001319624696 -2.292484809e-06 3.663615608e-06 -1.595121919e-05 0.002511514833 --0.001391123586 -1.809310846e-06 2.891456218e-06 -ad : 4 0 -iw : 7 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 -0.3077382577 0 0 -0.340113108 0 -0 -0.2965292449 0 0 -0.2106036639 0 -0 -0.1684140928 0 0 -0.1131428086 0 -0 -0.1019205506 0 0 -0.06113809996 0 -0 -0.06480538679 0 0 -0.02956059757 0 -0 -0.04222106929 0 0 -0.008651775987 0 -0 -0.0303465245 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/gdmepsl_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/gdmepsl_ref.dat deleted file mode 100644 index bf5801392e..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/gdmepsl_ref.dat +++ /dev/null @@ -1,5850 +0,0 @@ -0.1454413692 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1944948489 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04069268286 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006548023108 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.401391561e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001113789936 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001497408684 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005517480338 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002044555516 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.445868663e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.951769811e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.404748462e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.352705162e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04382278235 0.068638404 -0.001514595763 0 0 -0.06472500428 -0.5542284543 -0.003843258643 0 0 --0.001402839913 0.001650026592 0.07564406261 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.08719490988 0.1264090136 -0.002438484549 0 0 -0.1438504175 0.1454767552 0.002957987633 0 0 --0.001809762058 0.00192099433 0.152473817 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05142220065 0.06697147004 -0.000749582847 0 0 -0.0807314053 0.2170607713 0.001444533602 0 0 --0.0001181026101 -5.928553605e-05 0.09321248408 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01022400205 0.01062673074 0.0002547446874 0 0 -0.01338465869 0.06496839394 -0.0001409930455 0 0 -0.0004550352274 -0.0005606869724 0.02096517698 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005685484952 -0.002531159933 0.0003256005946 0 0 --0.002830233814 -0.0006913998812 -0.0003053756215 0 0 -0.0003560187213 -0.0004183474552 0.001202750646 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001826679963 -0.00297527895 9.658605883e-05 0 0 --0.003270142159 -0.009479594851 -0.000167755422 0 0 -0.0001026677733 -0.0001209417318 -0.003061906236 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001137143598 -0.001435765025 -1.222120191e-05 0 0 --0.001623153636 -0.008527025998 -7.70919414e-05 0 0 --8.940673689e-06 1.825618018e-05 -0.002568115354 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.229349007e-05 0.0003153613366 -4.276236147e-05 0 0 -0.0003341298118 0.0008099188746 4.526233529e-05 0 0 --4.370975871e-05 5.553979616e-05 -0.0002017323352 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002922317878 0.0005255516604 -3.265319474e-05 0 0 -0.0005883287893 0.001402786436 4.054630934e-05 0 0 --3.23456534e-05 3.840188548e-05 0.0004130193636 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.467221158e-05 5.740446825e-05 1.725367341e-06 0 0 -7.270000743e-05 0.0005112177546 -1.337901816e-08 0 0 -2.843027091e-06 -3.650727583e-06 0.0001512140239 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.094059494e-06 -5.595025781e-05 9.637575301e-06 0 0 --6.366311175e-05 -0.0001980654171 -9.652811995e-06 0 0 -1.066672304e-05 -1.262119383e-05 7.898652688e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.09576109e-06 -1.342497367e-05 9.135112336e-07 0 0 --1.516437623e-05 -1.105445297e-05 -1.00929911e-06 0 0 -9.94847975e-07 -1.140985075e-06 -1.157057825e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.960289637e-05 -2.217953002e-05 3.736067959e-07 0 0 --2.740826523e-05 -0.0001976918627 -3.020130433e-06 0 0 -4.698233863e-07 -5.270969003e-07 -4.651618374e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.032161473 0.02709099457 -0.0004686092419 0.0422464178 0.0004959554494 --0.006061288424 -0.02233295524 -0.0005264958412 -0.03357290373 0.0008045317246 -0.0001955312783 0.0001348261778 0.004073928503 0.000214303681 -0.005467667943 -0.05806580009 -0.03803857557 0.001362483962 -0.05980882763 -0.00163973174 -0.001302482737 0.000822234156 0.04503914855 0.001390177654 -0.06044457856 --0.0129991709 0.007721879922 0.0001079491886 0.0122032208 -0.0001906154993 --0.01960136992 0.005811523734 1.871987602e-05 0.009581787151 -7.2809215e-05 -0.0003654340501 0.0002125412498 0.01091618398 0.0003536315156 -0.01464930103 -0.03042135222 0.009016884917 0.0008316035915 0.01246735553 -0.001140275989 -2.123104089e-05 -0.0001659817341 0.0293630365 -0.0001282216708 -0.03940166369 -0.003013328671 -0.003290088014 0.0002516177119 -0.005105924962 -0.0003163388106 --0.0118231534 0.01110242059 3.369248893e-05 0.01730522941 -0.0001216818457 -6.097005895e-05 -8.928763254e-06 0.006838226835 1.149400645e-05 -0.0091754234 -0.001321424381 0.01848018128 -0.0002362921773 0.02794249691 0.0002234081762 --0.0003882003367 -0.0003033722917 0.00412426411 -0.0004272403174 -0.005532932159 -0.001873520354 -0.0004062377596 5.534216026e-05 -0.0007061311116 -6.183501169e-05 --0.00148998422 0.001104825908 -0.0001141601497 0.001752596332 0.0001356392694 --0.0001034085195 -8.013620431e-05 0.0009854680507 -0.0001142994649 -0.001321484957 --0.001198160687 0.001933183802 -0.0003009086528 0.002999922641 0.0003797553356 --1.088283233e-05 3.135889312e-05 -0.0008017189569 4.587950861e-05 0.001074972229 -8.048990345e-05 0.0001937969389 2.455519961e-07 0.0002862939208 8.803782346e-07 -4.572333357e-05 -0.0003037754103 -2.385188062e-05 -0.0004592655069 3.212971458e-05 --2.669309103e-05 -9.986620546e-06 -6.610942573e-05 -1.44611795e-05 8.879809116e-05 -5.304325828e-05 -0.0005092201284 -2.777812942e-05 -0.0007682028334 3.710732697e-05 -3.090040934e-05 2.207676094e-05 0.000106398918 3.29979785e-05 -0.0001430344998 -1.516841175e-05 -0.0001006497156 1.517551209e-05 -0.000152953781 -1.98647163e-05 --0.000223362013 0.0002388399976 1.041202005e-05 0.0003700686167 -1.505824043e-05 -1.404547207e-05 1.256534795e-05 6.871921745e-05 1.880723584e-05 -9.228681343e-05 --2.559411672e-05 0.000379407971 2.110242156e-05 0.0005757538828 -3.022526761e-05 --1.454889408e-05 -1.578666213e-05 0.0002038309664 -2.252609048e-05 -0.0002734293428 -4.079254739e-05 2.877504119e-06 3.586356258e-06 2.100232587e-06 -4.449341648e-06 --2.053304974e-05 6.893125123e-06 -5.129693824e-06 1.207323316e-05 6.393941772e-06 --1.907225768e-06 -2.509832357e-06 2.569640668e-05 -3.672364944e-06 -3.444280133e-05 --1.567648737e-05 1.50397615e-05 -1.166404034e-05 2.459673929e-05 1.491584753e-05 --1.459418596e-06 1.47472596e-06 -2.490403524e-05 2.247901838e-06 3.337827107e-05 -2.456317702e-05 4.865459238e-06 -3.267465774e-07 6.070881525e-06 6.04260243e-07 --6.334679303e-06 -3.367724657e-06 -2.505077553e-06 -4.602903097e-06 3.23888159e-06 --4.045464595e-06 -2.006602665e-06 7.592262121e-06 -2.863427211e-06 -1.017309434e-05 --3.19486173e-06 -4.575053254e-06 -5.038241818e-06 -6.470630028e-06 6.597011879e-06 -3.105610276e-06 2.14594782e-06 -8.638401223e-06 3.120793467e-06 1.156838013e-05 --5.039919103e-06 -1.941608689e-06 1.148241584e-06 -2.781090723e-06 -1.512299874e-06 --9.410995909e-06 5.266646811e-06 8.420769662e-07 8.272145092e-06 -1.122265477e-06 -8.615691338e-07 1.350417293e-06 -3.783836915e-06 2.00326469e-06 5.067430703e-06 -2.65669401e-06 6.227906004e-06 2.885124468e-06 9.364844476e-06 -3.913249886e-06 --4.209222105e-08 -8.706723397e-07 2.582391972e-05 -1.209021886e-06 -3.464850739e-05 --7.176694775e-06 1.172226207e-05 2.106187812e-08 1.793997556e-05 -4.136953342e-08 -9.096491357e-06 -1.737404256e-05 -1.18449474e-06 -2.656404502e-05 1.623480576e-06 --5.397588235e-07 -5.553384575e-07 -1.793304079e-06 -8.347258545e-07 2.412593027e-06 -1.5271772e-05 -2.848473298e-05 -1.5907541e-06 -4.355775026e-05 2.18722139e-06 -8.122440164e-07 1.01336053e-06 2.815124694e-06 1.52621325e-06 -3.788027324e-06 -3.321688217e-06 -1.493215297e-06 1.065732775e-07 -2.402942264e-06 -1.273809142e-07 --3.99968216e-06 5.04140958e-06 -9.321669611e-08 7.813280678e-06 8.637888862e-08 --1.885665463e-07 -1.684066855e-07 4.16961734e-06 -2.32443865e-07 -5.593296704e-06 --8.242295255e-08 8.708665839e-06 -5.5456092e-07 1.320634314e-05 6.92876772e-07 --1.421499605e-07 -6.763362298e-08 -1.517539202e-06 -1.020546747e-07 2.036006175e-06 -2.448360106e-08 -2.362601682e-06 4.323395643e-07 -3.577911514e-06 -5.682044287e-07 --4.240940689e-06 4.78958381e-06 3.304450833e-07 7.402910105e-06 -4.601421804e-07 -3.6882792e-07 3.997981565e-07 5.528055097e-07 5.952961027e-07 -7.445370557e-07 --9.310825844e-07 7.451608417e-06 7.259393679e-07 1.132298988e-05 -1.01034687e-06 --3.199706876e-07 -4.325559384e-07 5.252160556e-06 -6.220993952e-07 -7.045109792e-06 --2.498133881e-06 2.493987631e-06 -1.400332783e-07 3.874884177e-06 1.737822234e-07 -1.629455868e-06 -2.962012429e-06 -1.132340452e-07 -4.548417247e-06 1.666054806e-07 --1.423350786e-07 -1.04341259e-07 9.363424118e-08 -1.517122592e-07 -1.254052724e-07 -4.969790886e-06 -4.812368978e-06 -1.056871029e-07 -7.484704898e-06 1.693570075e-07 -2.345658032e-07 1.712400621e-07 1.237464811e-06 2.550735671e-07 -1.661094727e-06 -0.06799027659 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0715619195 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01992819508 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01149427301 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001442782027 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003370889339 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001306328117 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001047843743 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.521375529e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001457312801 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.242861256e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.761837667e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.205407029e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1637297135 0.1736251329 -0.002692534808 0 0 -0.06191801259 -0.3053837469 -0.001972896798 0 0 --0.001027299435 0.001320521004 0.04508593624 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04994019074 0.09819387477 -0.00140544364 0 0 -0.02003232937 0.08273045677 0.0006546786039 0 0 -4.663136935e-05 0.0004722228409 0.02902971272 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00253452717 0.001877384142 0.000155451686 0 0 --0.004699765454 0.007971141766 -2.345332225e-05 0 0 --8.368735496e-05 -6.455838751e-05 0.001227746956 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01299410712 0.000696481194 2.159322954e-05 0 0 -0.00492185286 0.000465102506 1.274700866e-05 0 0 --4.201178731e-05 -3.598395163e-06 0.0002305465555 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005384660702 -0.0001223132097 -7.4699298e-06 0 0 --3.290771791e-05 -0.0009117869787 -1.729281733e-05 0 0 -1.824164001e-05 2.612314051e-06 -0.0001292782365 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004112662051 -0.0008477398553 1.642394161e-05 0 0 --0.0002844381912 -0.001149134765 -1.832648374e-05 0 0 -8.141436817e-06 -9.596019491e-06 -0.0002005160077 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001241113383 -5.375483707e-06 2.755935936e-06 0 0 --5.555426161e-05 -1.31682231e-05 -5.506786827e-07 0 0 -8.293772631e-06 -7.777813727e-07 1.23210339e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.425015086e-05 0.0001511229882 -4.494573799e-06 0 0 --3.622362927e-05 2.698355498e-05 1.066369139e-06 0 0 -5.586070639e-07 1.628052122e-06 3.861435528e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.473077473e-05 -3.101215578e-05 -2.933611288e-06 0 0 --4.363003114e-05 -0.0001924020231 -2.142919785e-06 0 0 --1.491004417e-06 8.310198516e-07 -2.799539397e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.95531754e-05 -6.42149069e-05 1.333108556e-06 0 0 --6.32008637e-05 -0.0001303026197 -2.238318601e-06 0 0 -1.211979708e-06 -8.062558389e-07 -1.456752019e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.139556458e-06 -1.499022274e-05 1.630195541e-06 0 0 --4.85331277e-06 -5.943320461e-05 -7.447961688e-07 0 0 -3.776874472e-07 -6.119734328e-07 4.707108143e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.718790892e-06 4.040880461e-06 -2.448086536e-07 0 0 --1.394197398e-06 -4.404482643e-05 -3.260354971e-07 0 0 --1.475029684e-07 1.027700726e-07 1.882187557e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.2145513e-05 -5.74078052e-06 -5.211896076e-07 0 0 --7.35803098e-06 -5.608607507e-05 -6.297770285e-07 0 0 --1.920084149e-07 1.544690382e-07 -5.634591566e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1279745282 0.2091911536 -0.002671586364 0.04617420016 0.0009587456907 -0.05443875529 -0.2575895386 -0.002224175096 -0.05806963911 0.0003287940024 --0.0007866945568 0.001537383246 0.05089101305 0.0003116037276 -0.00867194852 --0.1217463376 -0.1527612258 0.003428986292 -0.03355742547 -0.001028151202 --0.00120687087 0.001229716374 0.1435210063 0.0001765302774 -0.02445596004 -0.05031556594 0.09055780346 -0.0007631177009 0.01114375935 0.0003096871153 -0.04624194964 0.1104093176 0.001203985055 0.01372104177 0.0001860324852 --0.0002933361537 0.0009448075801 0.05384344849 -2.866645822e-05 -0.004873451631 --0.005975270156 0.04126406949 8.920827073e-05 0.005349773339 0.0001061386696 -0.0005854056142 -0.0004231484628 0.01378578475 -9.891018841e-05 -0.001249705928 -0.0004117288118 0.006431524574 0.0001883027413 -0.0001731669302 2.905801678e-05 --0.0007729008306 0.02933299868 6.070347002e-05 -0.0006695015299 0.000136609661 -1.464562447e-05 -7.721841157e-05 0.008120889438 -4.276310147e-05 0.0003544334314 -0.0001475441659 0.01234764251 -0.0002683188783 -0.0002931675483 4.01921877e-05 -2.239509977e-05 -5.017496629e-05 -0.005889375991 3.145344959e-05 -0.0002581800733 -0.005561318189 -0.001481460779 7.382554521e-05 0.0006310177118 1.253731468e-05 -0.00386535452 -0.001639294799 -3.97089835e-06 0.0006796449127 -1.957989333e-05 --7.332338694e-05 -4.671888327e-05 -0.0008201168745 1.971151588e-05 -0.000397489451 --0.0009886642618 -0.0008127723497 -3.038391165e-05 0.0003203258366 -1.231641496e-05 -7.119461005e-05 7.68489255e-06 -0.0006363357063 -1.557257702e-06 -0.0003088290913 -0.0008100831604 -4.612444397e-05 -5.628015048e-06 -1.809892733e-05 -3.757164363e-07 -0.0009638635809 -0.0029706488 -4.889361056e-05 -0.0005839538897 9.855109524e-06 -2.873558526e-05 -6.717968818e-06 -0.0006125090366 -2.824659466e-06 7.407789685e-05 -0.001391730844 -0.001424697113 1.624240121e-05 -0.0002899466208 -1.133906528e-06 -2.12095774e-05 1.632017532e-05 0.0004619225659 3.801070261e-06 -5.595159774e-05 --0.0004862969206 -0.0002339192492 3.390126922e-06 -7.945448941e-06 3.169637481e-08 --0.001035442153 -0.0006472818263 -1.596346221e-05 -1.908479897e-05 -9.474803405e-07 -2.312481711e-05 -8.656629827e-06 -9.816126818e-05 -2.891404352e-07 -6.887778135e-06 --0.0003435914713 -0.0002936119123 -4.516384051e-06 -8.086277968e-06 -9.589535653e-08 --1.668419753e-05 2.697113528e-06 1.896253007e-05 -6.629767714e-09 1.306785135e-06 -8.829989475e-05 -7.751078855e-06 7.668727688e-07 1.25470785e-05 -3.413470801e-07 -6.524949166e-05 -1.497521456e-05 -5.337056661e-07 2.644391754e-05 -6.015157213e-08 -2.64377459e-06 -9.815277272e-07 -5.418091284e-08 -3.747464191e-07 -1.700939883e-05 --4.03502757e-06 -6.575157556e-06 -9.456364876e-07 1.27001532e-05 3.609996687e-07 -9.405579908e-07 -6.904751634e-08 1.246853412e-08 -1.069112842e-07 -1.661877674e-06 --7.39288338e-05 0.0001960122046 -7.217277056e-06 4.362276044e-05 1.52868922e-06 --7.3723089e-05 7.963357518e-05 3.044945282e-06 1.792467231e-05 -3.412935566e-07 -1.92098001e-06 6.00149674e-06 5.521552925e-05 1.255032903e-06 -9.465577825e-06 -1.798238966e-05 2.134517795e-05 3.612275011e-06 4.622800406e-06 -6.274409027e-07 --7.082073643e-07 -1.167358469e-06 7.27653137e-05 -3.342071241e-07 -1.247748878e-05 --2.403880494e-05 -6.691318715e-06 -8.229034043e-07 -1.820375413e-06 1.245001127e-07 --0.0001238202166 -0.0002078205511 -4.504056531e-06 -6.058110725e-05 9.745491381e-07 -4.022243106e-08 -7.436570365e-07 -3.38866102e-05 -2.753216517e-07 7.613752965e-06 --0.0001179291371 -0.0001036001011 8.456529325e-08 -2.983704137e-05 -2.08230436e-07 --3.182564728e-06 1.204476458e-06 3.84160867e-05 4.396850879e-07 -8.641127111e-06 --1.53512805e-06 -1.043039e-05 8.090173906e-07 -3.086273119e-06 -1.955686364e-07 --7.529269957e-06 -0.0001084715461 -2.297159679e-06 -3.181857545e-05 5.0829497e-07 -3.410162784e-07 -1.282422282e-06 -9.893247108e-06 -3.808025986e-07 2.190247876e-06 --5.866844899e-06 -5.212175428e-05 -1.715297182e-07 -1.536027057e-05 -6.520078642e-09 --3.669423316e-07 7.294378194e-07 1.47583887e-05 2.261632543e-07 -3.263711375e-06 -1.232040463e-05 2.617598469e-05 -1.467065556e-07 5.97009507e-06 9.12478271e-08 -6.442520185e-06 -2.104270618e-05 -5.295811722e-08 -4.920427671e-06 4.068130252e-09 -3.799578156e-08 7.845245213e-08 1.330423667e-05 2.850358117e-09 -2.388092386e-06 --9.397600002e-06 -1.320825284e-05 3.027382484e-07 -2.989143473e-06 -9.62534587e-08 --1.434871121e-08 6.144005208e-08 1.570269622e-05 -3.410943005e-09 -2.818816977e-06 -2.147705861e-05 2.413979331e-05 -7.121994096e-07 6.751176488e-06 2.291865444e-07 -1.187333929e-05 -1.617192774e-05 1.86549287e-07 -4.751697198e-06 -1.384955011e-08 --6.522292119e-07 6.005997818e-07 5.416533373e-06 1.769074275e-07 -1.246326091e-06 --1.605631816e-05 -1.073764172e-05 5.077678019e-07 -2.946236851e-06 -1.636613676e-07 -7.007582613e-08 -6.221879702e-09 1.518848292e-05 -6.381926851e-09 -3.490055907e-06 -1.409078738e-06 5.02160001e-06 4.373851381e-08 1.351179357e-06 -2.352907336e-09 --4.562397215e-06 -6.019939094e-05 -1.043484673e-06 -1.61992789e-05 2.089468923e-07 -1.600479217e-07 -3.141034323e-07 -4.956965243e-06 -8.720118468e-08 1.017604999e-06 --9.503042373e-06 -3.021912806e-05 2.015901096e-07 -8.130796381e-06 -8.728773876e-08 --3.155965958e-07 3.673905772e-07 1.366250493e-05 1.062356643e-07 -2.803804902e-06 -0.4883887919 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.09180895673 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.5832564661 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1559430082 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004629739133 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.008581633878 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007920322478 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003594768609 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001193480854 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001328755201 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.567300879e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004203334368 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.455512095e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.4676551549 0.1663769908 -0.001009820216 0 0 --0.3073308032 0.1105143794 0.007827603008 0 0 --0.002386084436 0.006304323199 0.6698026188 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2460505976 0.01154840827 0.0006891527627 0 0 --0.2363910607 -0.08724350761 -0.004427309689 0 0 -0.0004751311587 -0.007122129596 0.2998382737 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03163179095 0.04507105187 -5.384475928e-05 0 0 --0.01154994986 -0.01104447034 -0.0007023344827 0 0 -0.0007013858279 0.00149919228 0.01421395525 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01699342262 0.05877922627 -0.0001668144604 0 0 -0.05177121035 0.1529360629 -0.0005107769203 0 0 --8.386375237e-06 -0.0002652805624 -0.0005974591775 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003386679054 -0.009068292467 -7.290375035e-06 0 0 --0.009594157712 -0.030055814 0.0001296779253 0 0 -1.561237534e-05 0.0001999059716 -1.907857193e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002511624737 -0.0009326119764 -1.54558588e-05 0 0 --0.001033823041 -0.003803452746 6.605970717e-05 0 0 --3.827016838e-05 1.356185412e-06 0.0001817172198 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008300615462 0.003974504384 1.985209223e-05 0 0 -0.003480329878 0.008142759454 -8.174551393e-05 0 0 -6.722057616e-06 -0.0001139894575 -0.001040052017 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003278606594 -0.001119387528 7.971208534e-07 0 0 --0.001287917591 -0.004030012697 -3.864120176e-05 0 0 -4.558234389e-06 -3.087607532e-05 2.124098193e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.732191214e-05 -0.0001763402922 -1.373773578e-06 0 0 --0.0004040798925 -0.000287079488 3.152202752e-05 0 0 --9.16198816e-06 7.929486652e-06 0.0003800982519 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.104607948e-07 0.0006114179677 2.689010702e-06 0 0 -0.0004983489287 0.001166795119 2.564802544e-05 0 0 --3.75427679e-06 1.142405941e-05 -0.0002221773682 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001279077065 -0.0002818882087 -5.146442522e-07 0 0 --0.000235715965 -0.001386654174 -2.260298232e-05 0 0 -1.918748622e-06 -1.159193656e-05 -0.0001767785759 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.736984912e-05 -1.864274255e-05 5.07108132e-08 0 0 -4.666101596e-06 -0.0001730478959 -1.468874428e-05 0 0 -2.588303875e-06 -5.560996479e-06 -2.082056472e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.12604998e-06 8.639991775e-05 9.27946557e-08 0 0 -4.660758143e-05 0.0001344432465 -1.613098079e-06 0 0 -1.179962917e-07 -6.460095438e-07 -7.445213883e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04415801223 0.3560073897 -0.000641563875 0.1901039195 -0.005004937351 --0.2582262272 -0.3346036034 -0.0006085817478 0.07653954964 -0.0001231229025 -0.0007248635808 0.0005363440335 0.0142309958 -0.0007106524382 0.08804591259 -0.3032328109 -0.1559972359 9.611203168e-05 -0.4628954929 -0.002894617757 --0.004013319751 -0.001805396325 -0.02119836891 0.00382829594 -0.1311149348 -0.2351526592 0.294528693 -0.0005150743966 -0.1263249185 0.00148529822 -0.06426451236 0.189527248 -0.0001686511403 0.03536738286 -0.001158767471 -0.001200640203 0.0004960776213 0.02425200077 -0.001000829407 0.09338504754 --0.1251141683 -0.08341725778 0.0004867239716 0.1147575962 -0.001397236132 -0.002709659914 -0.000807865397 0.1217975908 -0.002711321381 0.4689500064 -0.0004724570948 0.09309725529 0.0004923877935 0.04010185513 0.001806830056 -0.04581695634 0.02773605788 -4.069081593e-05 -0.05697110253 0.0001401480757 -0.0001504001162 -6.719543101e-06 0.01173902416 -5.92405784e-05 0.02648722501 -0.03371962464 -0.1011460576 -0.0003815426685 -0.0952796834 -0.001588240547 -0.0006635719095 0.001755283054 0.03201488311 0.0002069200909 0.07225415104 --0.0009872548223 -0.003517132313 -1.886217913e-06 -0.002459524288 -0.0001082190549 --0.01852232477 0.0155086407 -2.55182602e-05 0.0301167963 -0.0003375775058 --9.886783211e-05 -1.931564758e-05 0.0004010357856 9.70359525e-05 -0.002833256576 --0.004370197039 0.01305110443 4.831816616e-06 0.01592840622 7.222771589e-05 --0.0002524294388 7.300135388e-05 0.0004475708776 0.0003156379862 -0.003167178277 -0.003109055654 -0.005177095476 2.204589669e-05 -0.007497759502 -4.10734551e-05 --0.004952470886 0.008914813687 5.149782338e-06 0.0127115612 -0.0001229126502 --1.053425618e-05 -3.48182813e-06 -9.846632281e-05 2.405123793e-06 0.0004611851814 --0.007351385313 0.01219280701 -1.626272946e-05 0.01768450839 -6.745801398e-05 --6.134234427e-05 -8.52222308e-05 -0.0001470960634 -5.665577346e-05 0.0006906080341 --0.0006591967766 -0.0001118906965 5.947408095e-06 0.0009150469211 7.855253536e-06 -0.0001010056172 -0.001109284349 4.52982482e-07 -0.0009514155986 7.799520374e-05 --1.947055744e-05 -6.623597394e-06 0.0001643722572 1.462411856e-05 0.0007281885363 -0.0006451458623 -0.0009995947943 -8.193442109e-06 -0.001693996861 5.379966427e-05 -6.368110692e-05 1.622547347e-05 -0.0006085884496 -4.74296605e-05 -0.002695902369 --0.000880815308 0.0005865238139 4.722947362e-06 0.001451446017 4.128592498e-05 --0.000508907645 -6.950670831e-06 -3.960283401e-07 0.0005878585316 1.021670812e-05 -2.074543911e-06 1.169408121e-06 -3.198822813e-05 -5.017351722e-07 -0.0002123873878 -0.000959594318 -0.0006423129891 -4.194126232e-06 -0.001585596806 -3.633511852e-05 -8.242110917e-05 -4.723565464e-05 -0.0001250290804 -0.0001258862988 -0.0008312009632 -0.0003466256748 0.0002539737624 1.751880361e-06 -0.000180300993 1.071329007e-05 -8.96232797e-07 0.0003357992875 3.751426531e-07 0.0002754780834 1.041433561e-05 -1.447724547e-06 5.205984271e-07 5.904487492e-06 -1.260133719e-06 7.413908363e-05 --0.0003099552275 1.875075679e-05 -1.303416624e-06 0.0003661396645 -5.128147707e-07 -1.643883492e-05 7.601918727e-06 4.535988491e-05 -1.242984011e-05 0.0005695399122 -0.0001230633972 -0.0001206357944 -4.532611216e-06 -0.0002193257304 -3.638250567e-05 --0.000295111484 1.395201823e-05 -7.706642719e-07 0.0003429600869 2.280703478e-06 --2.57214564e-07 -2.31655742e-07 1.024819793e-05 -1.153734797e-07 7.367100729e-05 --0.0002592375145 0.0002449415441 3.432356017e-06 0.0004568878425 3.245813876e-05 --2.214180136e-05 -1.7403669e-05 -4.878443623e-06 1.326415993e-05 -3.4501453e-05 --0.0003551696848 -9.19890931e-06 -1.87983508e-06 0.0003970781198 -3.830937216e-06 --0.0001864471707 -0.0002878504828 -4.290044435e-07 4.556197339e-06 6.481420798e-06 -9.68093071e-07 -4.64256973e-08 -8.280028712e-06 -6.654125784e-07 -7.381831457e-05 -0.0003812311619 -0.0001511220044 1.520179968e-06 -0.0005422284561 1.717253298e-06 --1.234031987e-06 1.491774823e-06 -7.490081864e-05 6.60700519e-06 -0.0006673723964 --0.0001020090587 8.524456334e-05 1.463408543e-06 0.0001735803497 1.642304443e-05 -7.403934782e-05 -0.0001155592662 2.064060362e-07 -0.0001635263677 -2.031656766e-06 --3.248759623e-07 -1.591835372e-08 1.699574545e-06 2.845170263e-07 1.373534239e-05 -0.0002090050516 -0.0001447498128 -1.20120939e-06 -0.0003347346921 -1.905606463e-05 -1.14842477e-05 4.66440895e-06 -1.859492084e-05 -8.835178277e-06 -0.0001505771343 -1.627328134e-05 -1.461609413e-05 1.738592572e-06 -2.926712485e-05 1.204800636e-05 --6.294567279e-05 3.083783209e-05 -3.059771602e-08 9.404030219e-05 1.136226784e-06 --5.851885803e-08 8.186615962e-09 1.035050958e-06 4.603657504e-08 7.334924744e-06 --1.171946268e-05 9.365897009e-05 -1.635528963e-06 7.954057856e-05 -1.151526288e-05 -9.702952511e-06 4.465139195e-06 -1.094014728e-05 -7.710145534e-06 -7.774163655e-05 --7.809196932e-05 -1.586006343e-06 -6.330529025e-07 8.705273273e-05 -3.104623777e-06 --5.616135442e-05 -0.0001104509267 -1.508575644e-07 -1.472940571e-05 5.771590318e-07 -1.108805448e-07 -1.758537497e-08 -1.613245703e-06 -8.057844055e-08 -1.327877958e-05 -0.0001038165631 -3.985750276e-05 5.063232928e-07 -0.0001453875526 1.480350216e-06 --2.527234273e-06 -7.319025977e-07 -1.883577251e-05 2.992640589e-06 -0.0001549321569 -0.1579692184 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0429065983 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1490579882 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04533316801 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002373125614 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001057299745 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001333387549 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001424303465 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.752507295e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003330512114 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.584489205e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.224046997e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.047746172e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.09812544067 -0.05574073268 -0.01625766687 0 0 -0.2267670911 0.02212656913 -0.2209384724 0 0 -0.0317473048 0.4006269406 0.1334649772 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05930579629 -0.02532677772 0.01060109524 0 0 -0.1301448407 0.1423724662 -0.1735511489 0 0 -0.04048803623 0.1330065108 -0.01014682602 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008567029953 -0.006616974442 -0.0036447946 0 0 -0.02463817936 -0.02693247154 -0.06526878852 0 0 --0.007681520283 0.01656290989 0.02169652426 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004642620849 -0.006498675504 -0.01391067206 0 0 --1.784200307e-05 0.00435449262 0.005211198034 0 0 --0.01519332917 0.02043524541 0.03530755461 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003098053372 0.0004206628911 0.000741573164 0 0 -0.0005458260483 -0.0004788890707 -0.0011449778 0 0 -0.0006097385511 -0.0005334525131 -0.001499678333 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.787979427e-05 1.422805497e-05 0.00052647116 0 0 --0.0002782844437 -0.001708822337 -0.0005765087291 0 0 -0.0002214513835 -0.0008184383416 -0.0006050471575 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001928268897 -0.0003076916198 -0.0007273339904 0 0 -0.0001218650297 -0.001324670255 -0.0007804984235 0 0 --0.0006834753991 0.0002510536164 0.001267957756 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.864384761e-05 7.13104196e-05 0.000138408611 0 0 -0.0001500868359 -0.0001157853205 -0.0002735992852 0 0 -0.0001506616485 -0.0001227521935 -0.0003301585146 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.996029989e-06 -2.719945778e-05 7.667171609e-06 0 0 -7.323835075e-05 0.0001657047916 9.210719461e-06 0 0 -6.91564606e-05 0.0001786053514 1.158313552e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.289017189e-05 -2.430139795e-05 -8.884064381e-05 0 0 -1.244212972e-05 -0.0003268462567 -0.0001176118939 0 0 --7.750533303e-05 -4.664717622e-06 0.0001584840656 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.638571376e-05 3.238756978e-05 5.250980496e-05 0 0 --1.079473974e-06 -0.000301968193 -0.0001489927075 0 0 -2.68000278e-05 -0.0001755396167 -0.0001511336314 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.495831478e-06 -8.685507216e-06 -1.263338508e-05 0 0 --1.915695044e-05 -0.0001027145746 -4.948613754e-06 0 0 --2.108251843e-05 -9.185810691e-06 2.839289954e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.351677627e-06 3.794407745e-07 -8.824667711e-06 0 0 -1.589439802e-05 -5.985807046e-05 -2.710611202e-05 0 0 --3.593096281e-06 1.171217351e-05 1.857052214e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007232636198 -0.05931727264 -0.04871761331 0.1038453303 0.1270494307 -0.1903009257 -0.1451396588 -0.2790651828 -0.03920537493 -0.01073766962 --0.02246764924 0.04080613658 0.0642416394 -0.00759441844 -0.03730990751 -0.2104437489 0.1056363875 0.009643087185 -0.2688866824 -0.4723033787 -0.003622898192 0.02595128432 0.1494861375 0.288207712 0.0459634376 -0.09040241673 -0.01532096148 -0.08634359265 -0.05092614361 -0.09938322308 -0.04840874312 -0.02335688264 -0.06886935545 -0.03019041117 -0.03382296403 --0.03282472439 0.04321914426 0.06188739904 -0.01875182739 -0.02217468774 --0.01421073663 0.01119007328 0.03974630244 0.03242401616 0.009465864258 --0.08585390787 -0.04660970624 0.1047368782 0.2356981961 0.2169810089 -0.004823490249 -0.009614092717 -0.02379368427 -0.008563285807 0.001254357258 --0.004051860367 -0.001242958925 -0.01531958019 -0.01805389517 0.003427334309 --0.01100551346 0.0099933639 0.009858777016 -0.01165877138 0.002818116123 -0.009292372858 0.002656238082 0.008529610981 0.01260214134 -0.01303348894 -0.01215524271 -0.00181049606 0.03682596882 0.05211413308 -0.005206484062 --0.0001390454693 -0.0002181177518 0.0004857865199 -0.0001851035674 -0.000335879322 --0.003078620201 -0.002804136379 -0.006184200168 -0.004277111703 0.007756450303 -0.004377240257 0.003211599905 0.005035871659 0.00480009514 -0.006918791743 -0.007486092876 0.00777165983 0.01348826714 0.011177634 -0.01770881348 -0.0042821598 0.004188687335 0.007760000184 0.006130333321 -0.01015088355 -0.0007795166709 0.0007542652375 0.001317468089 0.001242242745 -0.001600068644 -0.0003487505063 0.0003720633864 0.0007395607564 0.0001807901966 -0.001081139693 -0.001540433239 0.001638803137 0.00298301297 0.002107021932 -0.003804757538 -0.00236093774 0.001740385748 0.003178693193 0.002330223236 -0.004579453421 --0.001046788209 -0.0009400815186 -0.001738602065 -0.001102355359 0.002384080056 --0.0003550758044 -4.935772912e-05 0.0007830440692 0.001368104299 0.0008673219293 -0.0003490293329 -9.859812933e-08 -6.861980242e-05 5.995856451e-05 -0.000412778598 -0.0002824928682 0.000166327577 0.0002514881142 0.0001540944467 -0.0004855195006 -0.0009292319332 0.00024636908 -0.0005329420434 -0.001141712385 -0.001728313299 -0.0003691476814 -0.0001431120281 -0.00110467788 -0.001415700658 -0.0006939390576 --0.0003726635039 -0.0002366532349 -0.0004160978584 -0.0003198654943 0.0006724187932 --0.0002476687934 -0.0002460035039 -0.0004374144054 -0.0002909943404 0.000579570957 --3.715429236e-05 -6.862339511e-05 -0.0001209244802 -5.04089882e-05 0.0001447157266 -0.0003083441755 0.0002677811888 0.0004735945948 0.0003108093414 -0.0006717634425 -0.0008004663657 0.0005983059818 0.001057131271 0.0007685111281 -0.001577952694 -0.0001369681842 -3.345298132e-05 -9.994990159e-05 -9.386440613e-05 -0.0001224776418 -3.114985213e-05 3.046228893e-06 -1.427092061e-05 -5.346818143e-05 -5.831814896e-05 -7.322502432e-06 9.187590555e-05 0.000153597779 3.227206213e-05 -0.0001528652253 -9.561411087e-05 8.042196581e-05 0.0001611468704 0.0001836819078 -0.0001712532729 --0.0001400542236 2.664564864e-05 0.0001430943096 0.0002966942028 0.0002118714766 -2.324284551e-05 3.840498084e-05 0.0001002789709 0.0001317828519 -3.921515573e-05 -0.0001195995313 -8.784863063e-06 -1.706592048e-05 5.900607377e-05 -0.0001008799568 -0.0001147531361 5.410719888e-05 9.631392489e-05 0.0001020091248 -0.0001741927492 -0.0001642341817 7.659569469e-05 6.929889426e-05 -5.058726903e-05 -0.0003122124573 --0.0001091209344 -7.351432632e-05 -0.0001288342189 -0.0001055026882 0.0001952640515 --0.0001507213444 -4.522198038e-05 -4.262352026e-05 3.865514979e-05 0.0002508173476 --1.968299215e-05 -5.11995466e-05 -8.516774546e-05 -2.240309543e-05 9.498243668e-05 --1.381137607e-05 -3.558053317e-05 -5.990045031e-05 -1.91412971e-05 6.514888313e-05 -0.0001167827573 3.868248944e-05 2.169752543e-05 -0.0001002136103 -0.0002253748981 -0.0002305847735 0.0001062237019 0.0001394959991 1.760802379e-09 -0.0004210038381 --2.724255985e-05 -1.036175146e-05 4.141442252e-06 5.012127269e-05 6.196587792e-05 -1.194659312e-05 -9.839397597e-06 -2.153221179e-05 -1.194671465e-05 -2.010769551e-06 --1.854252259e-05 3.977875536e-06 5.069568501e-06 -1.29038229e-05 9.419353636e-06 -4.226414153e-05 -3.20602972e-07 -3.286666362e-05 -7.798371415e-05 -7.162136867e-05 -4.413562617e-05 5.923790461e-06 -5.111476921e-06 -2.279299163e-05 -6.416226924e-05 --1.061458999e-05 7.88748262e-07 1.707971455e-05 4.081498549e-05 2.357634447e-05 -2.798545472e-05 -1.025087735e-05 -1.805689161e-05 9.763201843e-06 -1.182520916e-05 -1.491063196e-05 1.371673828e-05 2.51014388e-05 2.005265196e-05 -3.092839185e-05 -4.837608169e-05 2.347276414e-05 1.595420255e-05 -3.236974222e-05 -9.948919061e-05 -5.773623394e-06 -7.166515252e-06 -2.198902196e-05 -2.907548013e-05 -4.627703654e-06 --3.146391706e-05 -8.025097126e-06 -1.599924422e-06 2.062414992e-05 5.395268079e-05 -9.641438608e-06 -1.755053242e-05 -3.041002275e-05 -3.459301077e-06 1.56504374e-05 --1.739828911e-06 -7.614108231e-06 -1.294171603e-05 -4.008732167e-06 1.238217342e-05 -3.300566388e-05 8.90730057e-06 -5.012619467e-06 -4.739049828e-05 -6.633467304e-05 -3.97952357e-05 1.854432703e-05 2.333719201e-05 1.33509759e-06 -7.166395484e-05 -0.1564468625 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05022320962 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1426945041 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04969736155 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003035206731 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006683975075 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009824575382 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001468864668 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001417394342 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002831313549 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.945719855e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.815311266e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.957402391e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.09480409366 -0.05211866263 0.01478635482 0 0 -0.2248624175 0.009200902809 0.2096759236 0 0 --0.03304998669 -0.3908302575 0.1296356814 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06151029377 -0.02619230985 -0.009805415038 0 0 -0.1332919577 0.1645558903 0.1611253473 0 0 --0.0426726322 -0.1443336878 -0.005654667265 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009041413544 -0.00610646782 0.0009581753863 0 0 -0.02744949653 -0.02668370639 0.07114972265 0 0 -0.004474037339 -0.01468359476 0.01507937157 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00451456762 -0.006374946932 0.01361470451 0 0 -0.001029579705 0.002676900102 -0.00263687866 0 0 -0.01532261636 -0.02029538217 0.03526078615 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.49682272e-05 -5.884380798e-05 3.387580809e-05 0 0 -7.219150508e-05 2.584456458e-05 0.0001654614283 0 0 -0.0001719607384 -0.0004513910831 0.000271028661 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.118172279e-05 2.420662756e-05 -0.0005293141996 0 0 --0.0004304835314 -0.001832798327 0.0003282654978 0 0 --0.0001980179549 0.0009461858819 -0.0005839859504 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001300631541 -0.0002117456858 0.0005547808344 0 0 -0.0003146442986 -0.00134472999 0.001115537101 0 0 -0.0004936486241 -9.924730359e-05 0.0008497901675 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.353102484e-05 2.153200034e-05 -7.073948022e-05 0 0 -0.0001264145335 2.840902345e-05 0.0001606238012 0 0 --9.794790081e-05 -2.646523389e-05 -0.0001496051691 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.421162762e-05 -4.574637272e-05 3.963698015e-05 0 0 -3.226819424e-05 0.0001464539087 -8.446367401e-05 0 0 --1.939850191e-05 -0.0002072971161 0.0001213784055 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.87864015e-05 2.787643475e-06 4.319822185e-05 0 0 -4.048609465e-05 -0.0004026180769 0.0002087067202 0 0 -3.471003779e-05 9.134307863e-05 3.362587231e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.852060468e-06 2.233585249e-05 -4.290448182e-05 0 0 --1.345357351e-05 -0.0002499045173 0.0001048171273 0 0 --1.53485031e-05 0.0001383323579 -0.0001137416689 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.144137427e-05 -1.346267818e-05 2.357157884e-05 0 0 --1.892543461e-05 -8.458945569e-05 -8.30948992e-06 0 0 -2.87920355e-05 -1.02145976e-05 5.28579546e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.260596651e-05 5.760692013e-06 -4.497351033e-07 0 0 -2.05925686e-05 -6.475190455e-05 3.768753512e-05 0 0 --5.708144315e-06 2.440270961e-07 -3.48901238e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01317897148 -0.05744976912 0.04416979148 0.1072391944 -0.133027706 -0.1888524322 -0.1420028431 0.2732968903 -0.03698007071 0.008811419528 -0.02162688056 -0.03737520965 0.05947689667 0.006422175106 -0.03363357438 -0.2093873868 0.1017297033 -0.006118735733 -0.2697108369 0.4651025038 --0.004054751219 -0.02809034789 0.1425959139 -0.2655427403 0.03683737656 -0.09310847947 -0.01483829201 0.08427875668 -0.04907859583 0.1013640091 -0.05321280171 -0.02609273483 0.07270508858 -0.0282154493 0.03445162711 -0.03189606529 -0.04225708802 0.06117382542 0.01693221617 -0.02245823481 --0.01592322507 0.01177490491 -0.03893178779 0.02893740231 -0.009533743522 -0.09249090434 0.04750406741 0.1024343402 -0.2337481775 0.2242794738 -0.007076930386 -0.00962847624 0.02529973447 -0.008895713915 0.001546996092 --0.002109101258 -0.001098381544 0.01583123323 -0.01759023216 -0.0008003379669 -0.01188294884 -0.0106370787 0.0105079132 0.01231982586 0.00286060791 -0.00762333657 0.00169651939 -0.007589630137 0.01167349347 0.009862374504 --0.008975266669 0.004784375924 0.03692873046 -0.05466302728 0.002453197556 --0.0006322874895 -0.0008819153745 0.0003397342279 -0.0005290939544 -0.0008685620602 --0.003773571704 -0.00290932048 0.006954486946 -0.005357095764 -0.008603529747 --0.003339194803 -0.002873938094 0.004052859709 -0.003368839387 -0.005283692323 -0.007011587665 0.007147686433 -0.01211382537 0.01026180104 0.01664113754 --0.005436311017 -0.004836865346 0.009328656382 -0.007601964202 -0.0123005366 -0.0007801045708 0.0007641971711 -0.001350735511 0.001392910346 0.001553633157 -0.0002175666106 0.0002964571762 -0.0005643692685 -0.0001426754009 0.0009382351142 --0.001621126086 -0.001852796355 0.003347512051 -0.002203489884 -0.004227262462 -0.002744239353 0.00199178545 -0.003585559944 0.002556226388 0.005343468371 -0.000806581937 0.0008068335035 -0.001464605026 0.0008018976889 0.002030038369 --0.0002901102407 8.636473059e-06 -0.00090846198 0.001421377073 -0.0007330683004 -0.0004525888496 5.512199591e-05 -7.624691544e-05 0.0002712094666 0.0005588878083 --0.000540561041 -0.0003105334243 0.0005377033376 -0.0004867589624 -0.0009004057465 -0.001143900645 0.0005034137248 9.445795362e-05 -0.0007714419455 0.002211269593 --0.0002237570403 0.0002306744074 -0.001356344003 0.001681005887 -0.0004737030613 --0.0003358947729 -0.0002423619694 0.0004433811616 -0.0003501223631 -0.0006276030832 --0.0002628308508 -0.0002492197689 0.0004588884849 -0.0003298436965 -0.0005955823505 -0.0001265160704 0.000132687032 -0.0002456102902 0.0001693074648 0.0003115456376 -0.0001469039796 0.0001396449266 -0.0002632749051 0.0001703624741 0.000345097411 --0.0007313944924 -0.000586252766 0.001077376015 -0.0008128483863 -0.001473290801 -0.0001424626762 -5.550510818e-05 0.000153442122 -0.0001437382053 0.0001086836886 -2.276626612e-05 -4.583365227e-06 3.531004052e-05 -8.39654587e-05 4.683305161e-05 -1.249666947e-05 -9.298997481e-05 0.0001520886644 -1.238824617e-05 -0.0001391396738 -9.977399676e-05 8.535560741e-05 -0.0001788454263 0.0002172871162 0.0001724424355 -0.0001278984213 -6.268204982e-05 0.0002414401428 -0.0004213179461 0.0001799308608 -2.123284606e-06 4.77657906e-05 -0.0001305005494 0.0001698313145 1.64919358e-05 -0.0001243770433 -5.991045472e-06 5.979519089e-06 8.350199576e-05 0.0001001711865 --0.0001551033773 -7.03811795e-05 0.0001291227055 -0.0001499450288 -0.0002259602916 -0.0002182617466 0.0001147943599 -0.0001281668136 -2.442206776e-05 0.0004204610951 -8.577521561e-05 7.778717743e-05 -0.0001675889956 0.0001898535674 0.0001468654675 --0.0001484665192 -4.757581696e-05 5.143592892e-05 3.224912229e-05 -0.0002486828908 --2.529398801e-05 -4.620575883e-05 7.853827647e-05 -2.844514684e-05 -9.15009432e-05 -3.158885325e-05 4.007684951e-05 -6.924961234e-05 3.558262821e-05 8.566293602e-05 -9.37163391e-05 2.17701525e-05 1.880000555e-06 -0.0001140155405 0.0001795071115 --0.0002287987187 -0.0001034035079 0.0001405339754 -4.429190415e-06 -0.0004112762365 --1.571936399e-05 -8.870107566e-06 -2.826390052e-06 4.317766682e-05 -4.47485375e-05 -1.432578842e-05 -8.370442789e-06 2.001950439e-05 -1.287630982e-05 6.922467082e-06 -1.729942006e-05 -6.422691693e-06 8.999512162e-06 1.267070941e-05 4.170525644e-06 -3.721754329e-05 -9.381106015e-07 3.060198283e-05 -6.855820873e-05 6.157403955e-05 --2.773517127e-05 -2.198547915e-06 -4.747183367e-06 1.03291171e-05 -3.619549128e-05 --7.230426659e-06 2.449332557e-06 -1.592183189e-05 3.270519914e-05 -1.481475607e-05 -2.762920236e-05 -1.136923587e-05 1.943809384e-05 1.098749148e-05 8.502034519e-06 --1.881890836e-05 -1.317421638e-05 2.46079647e-05 -2.363727539e-05 -3.299504026e-05 -4.454171201e-05 2.583458937e-05 -2.485758549e-05 -2.05233135e-05 9.511110882e-05 -1.076430535e-06 6.176066036e-06 -1.64673542e-05 2.167780276e-05 3.675319413e-06 --3.237969711e-05 -8.45155402e-06 2.34686572e-06 2.146231357e-05 -5.569578292e-05 -7.955425461e-06 -1.588034129e-05 2.795115184e-05 -4.647488262e-06 -1.479332662e-05 -4.803990623e-06 8.035538023e-06 -1.394235179e-05 6.741714403e-06 1.536278892e-05 -3.081128127e-05 5.938302751e-06 9.497917039e-06 -5.051215344e-05 6.05585187e-05 --4.150673615e-05 -1.817612987e-05 2.199947935e-05 1.565219601e-06 -7.346787084e-05 -0.002251016997 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000392008583 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001676198375 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000195846796 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.769292049e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.494133299e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.392171177e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.744674153e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.69565811e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.510288037e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.592220718e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.164200196e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.649749878e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008977603466 -0.001147492263 -0.05636165102 0 0 --0.001402839913 0.001650026592 0.07564406261 0 0 --0.06809613942 -0.7665594993 0.001116409688 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001046000966 -0.001258194732 -0.1136147375 0 0 --0.001809762058 0.00192099433 0.152473817 0 0 --0.1202064538 -0.2458435493 0.01116232136 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.766074613e-05 0.000158225321 -0.06946433988 0 0 --0.0001181026101 -5.928553605e-05 0.09321248408 0 0 --0.07477822583 0.00946208197 0.00427388677 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000378797166 0.0004475886114 -0.01562756258 0 0 -0.0004550352274 -0.0005606869724 0.02096517698 0 0 --0.01742241976 0.03188273627 -0.0007616563603 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002650849304 0.0003164682097 -0.0008992439619 0 0 -0.0003560187213 -0.0004183474552 0.001202750646 0 0 --0.001025150246 0.007043204125 -0.00126540618 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.01972864e-05 8.690764993e-05 0.002281050292 0 0 -0.0001026677733 -0.0001209417318 -0.003061906236 0 0 -0.002275897015 -0.0002799237541 -0.0004728803717 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.117366706e-05 -1.729670741e-05 0.001914016092 0 0 --8.940673689e-06 1.825618018e-05 -0.002568115354 0 0 -0.001811582619 -0.004061316955 -5.604092873e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.266279936e-05 -4.207547052e-05 0.0001507254663 0 0 --4.370975871e-05 5.553979616e-05 -0.0002017323352 0 0 -0.0001662095988 -0.0001524974325 0.000171052233 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.310761571e-05 -2.831996509e-05 -0.000307526699 0 0 --3.23456534e-05 3.840188548e-05 0.0004130193636 0 0 --0.0003022165851 -0.0002188686901 0.0001401280915 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.419347463e-06 2.953729619e-06 -0.0001127135475 0 0 -2.843027091e-06 -3.650727583e-06 0.0001512140239 0 0 --0.0001223462826 0.0003316051901 -4.179337094e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.049631172e-06 9.610466942e-06 -5.895149151e-05 0 0 -1.066672304e-05 -1.262119383e-05 7.898652688e-05 0 0 --6.782256796e-05 -2.834455777e-05 -3.780389084e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.121726067e-07 8.403447623e-07 8.61502485e-06 0 0 -9.94847975e-07 -1.140985075e-06 -1.157057825e-05 0 0 -9.507390899e-06 3.039850653e-05 -3.792723728e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.589524395e-07 3.225245403e-07 3.466282138e-05 0 0 -4.698233863e-07 -5.270969003e-07 -4.651618374e-05 0 0 -3.193623968e-05 -0.0001285439471 -4.401545147e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006495391799 -0.000405247102 -0.02426580513 -0.0006938359267 0.032565645 -0.0001955312783 0.0001348261778 0.004073928503 0.000214303681 -0.005467667943 -0.006055795101 -0.03263776209 -0.0001975361369 -0.04963746243 0.0004136513657 --0.001263550203 -0.0008196557052 -0.0444627223 -0.001385266654 0.05967102969 -0.06315708377 -0.06568631568 0.0005155840069 -0.1018691818 -0.0003718924374 -0.000198872441 0.0002185450963 -0.01229819982 0.0002712206587 0.01650213021 -0.0003654340501 0.0002125412498 0.01091618398 0.0003536315156 -0.01464930103 -0.01244170998 -0.01836108282 0.0007836661259 -0.02827677513 -0.0009611274972 -5.921385242e-05 0.0001563680969 -0.02781832136 0.0001170319578 0.03732889823 -0.04033341882 -0.05916252626 -0.0005547358038 -0.09117700703 0.001057875013 -0.0002894608027 0.0001914202192 0.000533375676 0.0002803615703 -0.0007162568446 -6.097005895e-05 -8.928763254e-06 0.006838226835 1.149400645e-05 -0.0091754234 -0.008187403629 -0.001043365651 0.0003893210449 -0.001906395013 -0.0005082830897 -0.0004137583839 0.0002811956202 -0.003156459468 0.0003964970819 0.004234478902 -0.004091419367 -0.01905823557 -0.000268103785 -0.02903984274 0.0004638085426 --2.812810651e-05 -4.952710074e-05 0.0008822451358 -7.149701967e-05 -0.001182982517 --0.0001034085195 -8.013620431e-05 0.0009854680507 -0.0001142994649 -0.001321484957 -0.00203556941 0.0006725555869 -0.0001099588856 0.0009295867512 0.0001501400076 --1.332065635e-06 -4.393384549e-05 0.000941289844 -6.404766684e-05 -0.001262110165 --0.002616518851 -0.00106283214 0.0001561461102 -0.001496477677 -0.0002112161553 --2.845764743e-05 -1.725560957e-05 -8.967213514e-05 -2.56397655e-05 0.000120524124 --2.669309103e-05 -9.986620546e-06 -6.610942573e-05 -1.44611795e-05 8.879809116e-05 -0.0001731815649 -0.0001355819364 -2.640421156e-05 -0.0002142271303 3.724716161e-05 --3.466471473e-05 -2.32023113e-05 -0.0001157382177 -3.461295195e-05 0.0001555796161 --0.0002495072647 3.482666747e-06 2.768041358e-05 2.031064776e-05 -3.999872357e-05 -1.461412402e-05 1.462420254e-05 -8.825130714e-05 2.124766939e-05 0.0001183395847 -1.404547207e-05 1.256534795e-05 6.871921745e-05 1.880723584e-05 -9.228681343e-05 -6.279061513e-05 -0.0001168676851 4.175235227e-05 -0.0001791124462 -5.549925006e-05 -1.683691754e-05 1.705960381e-05 -0.0001941048261 2.441125008e-05 0.0002603699402 -0.0002105402776 -0.000357157117 -5.331140455e-05 -0.0005489594194 7.320952778e-05 -2.416769335e-07 -1.861911609e-06 2.531630275e-05 -2.782457943e-06 -3.393162593e-05 --1.907225768e-06 -2.509832357e-06 2.569640668e-05 -3.672364944e-06 -3.444280133e-05 -5.200515119e-05 1.541568206e-05 -2.331092112e-06 2.115691049e-05 3.160423947e-06 -1.231026937e-06 -1.833595572e-06 2.854629265e-05 -2.775887366e-06 -3.825965108e-05 --7.295024511e-05 -2.079950348e-05 2.732263363e-06 -2.83912255e-05 -3.73645686e-06 --3.35698442e-06 -2.075357655e-06 8.206138564e-06 -3.001314762e-06 -1.099119827e-05 --4.045464595e-06 -2.006602665e-06 7.592262121e-06 -2.863427211e-06 -1.017309434e-05 -3.517599397e-05 4.173400874e-06 -4.350711187e-06 4.681979853e-06 5.966527298e-06 --3.659215588e-06 -2.424366474e-06 9.714264495e-06 -3.51873309e-06 -1.300977756e-05 --5.241202369e-05 -6.526864486e-06 5.536118936e-06 -7.398314511e-06 -7.644079824e-06 -3.80655528e-07 1.060974904e-06 -1.650660338e-05 1.526102104e-06 2.214336119e-05 -8.615691338e-07 1.350417293e-06 -3.783836915e-06 2.00326469e-06 5.067430703e-06 --1.186546088e-06 -1.889304503e-05 3.747337235e-06 -2.85679447e-05 -4.927742345e-06 -1.765026336e-07 1.034480115e-06 -2.635934133e-05 1.450778534e-06 3.536565373e-05 -2.245379028e-05 -2.007298957e-05 -5.19309766e-06 -3.112153896e-05 6.988072571e-06 --6.998469053e-07 -8.296512055e-07 -2.393456476e-06 -1.24891657e-06 3.220477458e-06 --5.397588235e-07 -5.553384575e-07 -1.793304079e-06 -8.347258545e-07 2.412593027e-06 -9.91427117e-07 -4.705882197e-06 -1.364930521e-06 -7.170727351e-06 1.854911217e-06 --8.989572777e-07 -1.07339635e-06 -3.068065744e-06 -1.615962839e-06 4.128290007e-06 -2.406224086e-06 -3.788838316e-07 1.565466433e-06 -6.157630011e-07 -2.121052545e-06 -2.575469502e-08 -2.040632711e-08 2.651807314e-06 -2.247857639e-08 -3.55744832e-06 --1.885665463e-07 -1.684066855e-07 4.16961734e-06 -2.32443865e-07 -5.593296704e-06 -5.651850203e-06 1.965301701e-06 -1.202150411e-07 2.744585937e-06 1.6049388e-07 -1.220312407e-07 3.66752416e-08 2.107714883e-06 5.808016635e-08 -2.827636982e-06 --4.177806436e-06 -6.986460727e-06 2.763161553e-07 -1.041744005e-05 -3.384828362e-07 -3.432922089e-07 4.203682663e-07 -2.792172844e-06 6.132257486e-07 3.74405018e-06 -3.6882792e-07 3.997981565e-07 5.528055097e-07 5.952961027e-07 -7.445370557e-07 -5.021850066e-07 -3.295886029e-06 1.252216613e-06 -5.004209279e-06 -1.664758993e-06 -3.777124544e-07 4.784737173e-07 -5.173909139e-06 6.900047021e-07 6.939762192e-06 -4.910124444e-06 -6.49788192e-06 -1.657754494e-06 -1.001879592e-05 2.248465973e-06 --1.952295916e-07 -1.426262424e-07 -6.756472271e-07 -2.108965988e-07 9.070668569e-07 --1.423350786e-07 -1.04341259e-07 9.363424118e-08 -1.517122592e-07 -1.254052724e-07 -2.254746796e-07 -1.044288084e-06 -3.344128332e-07 -1.590315862e-06 4.532513719e-07 --2.565896241e-07 -1.836706888e-07 -1.224227932e-06 -2.729329216e-07 1.643353844e-06 -2.434354399e-06 -2.155889283e-06 4.575190919e-07 -3.359273829e-06 -6.013780874e-07 -0.001167868092 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007412733243 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000826526002 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.727748894e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.669128808e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.715985335e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.262168278e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.189014315e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.555620234e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.609331967e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.435252947e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.213058143e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.910243265e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002576231355 -0.001303906761 -0.1186109084 0 0 --0.001027299435 0.001320521004 0.04508593624 0 0 --0.08073220954 -0.4496860808 0.0005625685873 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000243919481 7.354651709e-05 -0.0746319742 0 0 -4.663136935e-05 0.0004722228408 0.02902971272 0 0 --0.02376360653 0.002766692133 0.00196518745 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002623293417 0.0002150932106 -0.001977495812 0 0 --8.368735494e-05 -6.455838766e-05 0.001227746957 0 0 --0.00252049791 0.007457295728 -0.0001589482331 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.40827531e-05 2.011060037e-05 -0.0007152974333 0 0 --4.201178734e-05 -3.598395129e-06 0.0002305465552 0 0 --0.006351937619 -0.0001769734909 -3.876368226e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.251996165e-05 -1.053525622e-05 0.0004040060596 0 0 -1.824163999e-05 2.612313985e-06 -0.0001292782361 0 0 --0.000485433572 -0.0007679742094 -9.703085557e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.180661823e-05 1.527925663e-05 0.0005484001886 0 0 -8.141436826e-06 -9.59601946e-06 -0.000200516008 0 0 -7.74328242e-05 -0.0004258571734 -3.3627723e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.511277339e-05 2.369097139e-06 -3.885020462e-05 0 0 -8.293772629e-06 -7.777813571e-07 1.232103379e-05 0 0 --0.0001684884448 -1.210002956e-05 -2.998897938e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.475610941e-06 -2.461524712e-06 -9.457416846e-05 0 0 -5.58607073e-07 1.628052027e-06 3.861435595e-05 0 0 -1.066132764e-05 -9.341322469e-05 5.198119195e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.036130279e-06 -3.191307181e-06 7.220588384e-05 0 0 --1.491004398e-06 8.31019951e-07 -2.799539467e-05 0 0 -2.361237247e-05 -0.0001701638274 3.784381442e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.340617187e-06 1.385240827e-06 3.876752315e-05 0 0 -1.211979699e-06 -8.062558728e-07 -1.456751996e-05 0 0 -1.418527209e-05 -7.640744004e-05 -3.491955257e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.122049094e-06 1.684453387e-06 -1.15820989e-05 0 0 -3.776874471e-07 -6.11973436e-07 4.707108165e-06 0 0 --3.97785074e-06 -4.533332128e-05 -2.19162883e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.15419687e-07 -2.106580325e-07 -6.271389762e-06 0 0 --1.475029668e-07 1.02770099e-07 1.882187373e-06 0 0 --8.002171432e-06 -4.835315847e-05 -1.105327688e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.960188355e-07 -6.002467616e-07 1.534007211e-05 0 0 --1.920084183e-07 1.544690158e-07 -5.63459141e-06 0 0 -3.221088983e-06 -5.139677747e-05 -1.736209462e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001578946293 -0.001258420158 -0.1477428888 -0.0001819810098 0.02517627686 --0.0007866945568 0.001537383246 0.05089101305 0.0003116037276 -0.00867194852 --0.04762079047 -0.4170304545 0.0005441882047 -0.09323722251 -0.000538855108 -0.001405667645 -0.0007050473313 -0.1392328963 -6.319647573e-05 0.02372627003 --0.1283640673 -0.2627004086 0.001277235977 -0.05816912339 -0.0007629080856 --0.0001248242036 0.0004453167645 -0.07542608516 0.0002721430848 0.006831871067 --0.0002933361537 0.0009448075801 0.05384344849 -2.866645823e-05 -0.004873451631 --0.03846651601 -0.03666403088 0.0034646387 -0.004351954487 -0.0004089362374 --0.000389398028 0.0008657711877 -0.009249070862 0.0001409778618 0.0008400424875 --0.008222356738 -0.06529881334 -0.001028895478 -0.008296286945 -8.478143906e-05 --4.676677793e-05 0.0003172963637 -0.005472173386 2.485885455e-05 -0.000236928092 -1.464562448e-05 -7.721841183e-05 0.00812088944 -4.276310148e-05 0.0003544334315 --0.002139786527 0.01444601908 -3.780187485e-05 -0.0002468472248 9.195727547e-05 --1.745028694e-05 7.954038504e-05 0.006572498748 -3.609138248e-05 0.0002880839781 -0.0007417699892 -0.000686030745 -9.703420773e-05 -2.650275742e-05 -2.154370114e-05 -4.461063601e-05 3.233432428e-05 0.001707242122 -1.5619311e-05 0.0008277608394 --7.332338696e-05 -4.671888339e-05 -0.0008201168737 1.971151593e-05 -0.0003974894506 --0.004721634522 0.001297871897 -0.0001365528868 -0.0005557485894 -4.691563937e-05 --5.515368384e-05 -1.898730208e-05 0.0005669392184 6.321743865e-06 0.0002750990815 --0.002029596399 0.001291630727 2.519804534e-05 -0.0005322942982 2.189256881e-05 --5.674760126e-05 -1.324843965e-05 0.0006928710011 -5.303807098e-07 -8.371722803e-05 -2.873558524e-05 -6.717968974e-06 -0.0006125090355 -2.824659494e-06 7.407789671e-05 --0.001937111406 -0.001701112542 -6.040435459e-05 -0.0003066348736 1.28838856e-05 --1.121647204e-05 -2.003947491e-05 -0.0005139114824 -4.732872286e-06 6.223464868e-05 -0.001349010036 -0.0002909220239 2.862274329e-05 -7.134091287e-05 -4.833343348e-06 --1.830609908e-05 5.699819166e-06 9.913623701e-05 2.600425051e-07 6.971580843e-06 -2.312481711e-05 -8.65662979e-06 -9.816126842e-05 -2.891404351e-07 -6.887778153e-06 -0.0001394239461 -0.0001083068245 -2.63135374e-05 -5.161480664e-07 -1.13281708e-06 -1.560107918e-05 -4.770581533e-06 -2.719201357e-05 -6.468062328e-08 -1.885744144e-06 --0.0001483572943 1.52848567e-05 9.886317132e-06 -6.828657264e-07 4.015601718e-07 --4.629398998e-06 1.191915741e-06 2.892113605e-08 9.172220586e-07 2.383513008e-05 -2.643774586e-06 -9.815277274e-07 -5.418091297e-08 -3.747464148e-07 -1.70093988e-05 --9.541183704e-05 -1.058691946e-07 -1.875449778e-06 2.333404627e-06 3.427782834e-07 --2.964045887e-07 -5.042893445e-08 -1.320716763e-08 1.336740097e-07 2.22874455e-07 -1.877523487e-06 6.035382267e-06 8.339908357e-07 -1.160118872e-05 -1.396043313e-07 --2.332842093e-06 -5.083788762e-06 -0.000101075391 -1.000121045e-06 1.733081259e-05 -1.920980018e-06 6.001496597e-06 5.521553026e-05 1.255032871e-06 -9.465578e-06 -2.745672701e-05 -0.0001928404754 1.744434437e-05 -4.271148584e-05 -3.213579331e-06 -6.11356635e-07 2.351047142e-06 -6.816372193e-05 5.908874563e-07 1.168965591e-05 -4.294209858e-05 -0.0001416026338 -4.893987078e-06 -3.145302374e-05 6.443049743e-07 -2.420836523e-06 -6.625228141e-07 1.74775275e-05 -1.832992194e-07 -3.918236015e-06 -4.022244486e-08 -7.436569421e-07 -3.388661086e-05 -2.753216249e-07 7.613753114e-06 -4.514316877e-05 -0.0001278375081 -4.089697974e-06 -3.805871508e-05 1.255520802e-06 -2.744637399e-06 -1.462762454e-06 -4.12709842e-05 -5.177823475e-07 9.28157783e-06 --0.0001161193981 -4.220495633e-05 1.185173886e-06 -1.170384337e-05 -5.421757168e-07 --2.460411432e-07 8.653929214e-07 5.493929347e-06 2.540748198e-07 -1.217715524e-06 -3.410162738e-07 -1.282422336e-06 -9.893246738e-06 -3.808026139e-07 2.190247795e-06 -7.467944867e-07 -5.033226992e-05 -4.65348528e-06 -1.464478464e-05 1.107161813e-06 -3.744462968e-07 -9.835341147e-07 -1.558952246e-05 -3.014029805e-07 3.447511488e-06 --4.26573174e-06 -1.844085644e-05 1.772401831e-06 -5.485784106e-06 -4.432623834e-07 --6.93065048e-08 1.562746523e-07 -2.61701165e-05 6.627109813e-08 4.697850429e-06 -3.799578002e-08 7.845248589e-08 1.330423643e-05 2.850366214e-09 -2.388092343e-06 --6.48517842e-06 -4.339786532e-05 4.10852729e-08 -1.000122174e-05 -7.523440792e-08 -5.147339393e-08 -4.59697769e-10 -1.457970271e-05 1.598720487e-08 2.617400091e-06 --8.281623459e-06 -3.367519682e-05 2.022651759e-07 -7.73669252e-06 -9.835510121e-08 -8.100389168e-07 -5.990314298e-07 -1.673454076e-05 -1.748648549e-07 3.847594664e-06 --6.522292121e-07 6.005997903e-07 5.416533312e-06 1.769074299e-07 -1.246326078e-06 --8.851366504e-06 -4.217079608e-05 1.487367266e-06 -1.204393768e-05 -3.766951115e-07 --7.165603914e-08 1.221427184e-07 -1.473293032e-05 3.959559614e-08 3.38539871e-06 --1.924736373e-05 -2.629928429e-05 -4.545804345e-07 -7.391023286e-06 4.453155141e-08 --2.574152893e-08 5.40178515e-08 -1.033922305e-06 1.39825305e-08 2.11851956e-07 -1.600479209e-07 -3.14103454e-07 -4.956965091e-06 -8.720119045e-08 1.017604968e-06 -2.542901528e-06 -4.302206689e-05 -1.617679892e-06 -1.157790742e-05 3.630744668e-07 -3.106892085e-07 -4.366844639e-07 -1.408029884e-05 -1.251063002e-07 2.889478129e-06 --8.920530856e-06 -1.864700723e-05 6.860217928e-07 -5.016647237e-06 -1.874450016e-07 -0.002603600421 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00225812302 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001809795384 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004065454268 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.75222115e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.67792367e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.531053468e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.40365507e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.624034242e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.658838324e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.321963687e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.251700546e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.79514931e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006007296745 -0.0004958601357 0.08077406274 0 0 --0.002386084436 0.006304323198 0.6698026185 0 0 --0.3378724732 -1.00713807 0.00437167834 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002799686825 -0.001239819958 0.05070693974 0 0 -0.0004751311583 -0.007122129644 0.2998382758 0 0 --0.15633803 -0.2950297621 0.001666898049 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.484523231e-05 2.493185474e-05 0.005748466168 0 0 -0.0007013858258 0.001499192298 0.01421395665 0 0 --0.05859992185 -0.1824181604 -0.0002464102899 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.823311702e-06 6.532563604e-05 -0.002231534287 0 0 --8.38637549e-06 -0.0002652804941 -0.000597460818 0 0 --0.01258864378 -0.0291824181 9.948313997e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.001628826e-08 -2.037125749e-06 -0.0001667826176 0 0 -1.56123753e-05 0.0001999059714 -1.907886702e-05 0 0 --0.00113919032 -0.003608825007 4.860817536e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.077758056e-06 2.384178761e-05 0.0005795622106 0 0 --3.827017337e-05 1.356286804e-06 0.0001817198742 0 0 --5.368068581e-05 -0.002182437573 -1.481002369e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.923993336e-08 -4.911558112e-06 -0.0001683865626 0 0 -6.722060426e-06 -0.0001139895175 -0.001040053705 0 0 --0.0005365537492 -0.002374246582 -5.010732096e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.827195503e-07 5.483714478e-07 -2.992138693e-05 0 0 -4.558234354e-06 -3.087607583e-05 2.124125648e-05 0 0 --0.0001944468546 -0.0005079454892 -1.103465447e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.685050141e-08 -2.326667362e-07 6.438130406e-05 0 0 --9.161988992e-06 7.929485656e-06 0.0003800992476 0 0 --3.451695366e-05 -4.900374421e-05 1.198339005e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.080348057e-07 -8.557800523e-07 -3.797561625e-05 0 0 --3.75427538e-06 1.142403933e-05 -0.0002221784527 0 0 --6.952799801e-05 -0.0004837707697 2.076505445e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.58840969e-08 9.547351998e-08 -1.100205351e-05 0 0 -1.918748394e-06 -1.15919312e-05 -0.0001767783973 0 0 --1.686983013e-05 -0.0002928114551 -1.018768439e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.71816487e-08 2.211490581e-07 6.77230392e-06 0 0 -2.588303498e-06 -5.560990689e-06 -2.08202011e-05 0 0 -3.645782565e-06 -9.624087612e-05 -6.361397598e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.424839467e-09 -1.239256304e-07 -8.600777899e-06 0 0 -1.179966332e-07 -6.460121273e-07 -7.445584412e-06 0 0 --3.060840552e-05 -0.0001322177012 -9.749053521e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001326469693 0.000853698029 0.04916153084 -0.001748021933 0.3041738951 -0.0007248635808 0.0005363440335 0.0142309958 -0.0007106524382 0.08804591261 --0.4026746815 -0.7958375877 -0.0008216575934 -0.06735387811 0.0009322744996 --0.005878790729 -0.002130498034 0.2309048821 0.001871263677 1.42881996 -0.4888971339 -0.2963325597 0.001671005835 -0.7772054031 0.004728275534 -0.0003085892935 0.0009154541877 -0.02315529587 -9.463220111e-05 -0.08914193426 -0.001200640212 0.0004960776209 0.02425200106 -0.001000829415 0.09338504866 --0.1093200352 -0.2179873699 -0.0001946926758 0.007430216057 -0.001805545021 -0.005826904898 0.001414262706 0.1305632665 -0.005337921758 0.5027435875 --0.009536892573 -0.1072116253 0.00187161533 -0.05382839054 0.006689804458 --0.0001494395311 -0.0006256561574 -0.005163741649 -0.0001143936247 -0.01165742513 -0.000150400124 -6.719543401e-06 0.01173902478 -5.92405811e-05 0.02648722642 -0.004498279503 -0.03899353425 2.773399321e-05 -0.02420770737 -0.0001730202315 -0.0004715007658 0.0007864381375 0.02676493473 9.55098152e-06 0.06039891653 -0.04650332933 -0.06312678445 -0.0004089265718 -0.09904409355 -0.001174143184 -8.062278735e-05 -5.438976773e-05 -2.3916065e-06 -0.0001185386282 1.976863115e-05 --9.886784761e-05 -1.931564795e-05 0.0004010358332 9.703596897e-05 -0.002833256913 -0.01080204605 -0.0174190224 2.690756025e-06 -0.02544313784 6.978413383e-05 -3.98036128e-05 -0.0001038562477 0.0002341516005 -0.0001116732827 -0.001651390588 -0.02787305884 -0.04591114106 -1.628981214e-05 -0.06660015034 0.000289338774 -1.547815314e-05 2.866858923e-05 -5.488052969e-06 2.208722235e-05 2.510792866e-05 --1.053425535e-05 -3.481828047e-06 -9.846631535e-05 2.405123387e-06 0.0004611851464 -0.0004957567333 -0.0008426341334 -2.673484422e-07 -0.00123365446 5.863487784e-06 --4.175640423e-05 -4.232181873e-05 -0.0002040291233 -2.141204785e-05 0.000956358439 -0.001893804248 -0.002181136786 -1.3463299e-05 -0.003559795259 6.935065716e-05 --4.099265985e-05 -1.521318087e-05 0.0003568715816 2.922655035e-05 0.001581082754 --1.947058234e-05 -6.623600116e-06 0.0001643725125 1.462413866e-05 0.0007281896669 --0.0003779261164 -0.0006384793325 1.050422746e-06 0.0001111806816 3.134704654e-05 --3.661831143e-05 -3.039758404e-05 0.0002254741385 1.971938463e-05 0.0009998580604 -0.0009407019698 0.001127759628 -1.874596597e-05 -0.0006067527189 -0.0001201889187 --3.063872996e-05 1.862190544e-05 3.498135518e-05 4.79469434e-05 0.0002326658033 -2.07454953e-06 1.169408527e-06 -3.198829526e-05 -5.017391694e-07 -0.0002123878335 -0.0005008546023 -0.0008495868648 2.419040587e-07 -0.00119416695 -1.530688286e-07 -2.569984964e-05 -1.495160758e-05 -4.122271791e-05 -3.933707761e-05 -0.0002740256286 -0.001788603249 -0.002470625327 -3.859810153e-06 -0.00386085965 -3.730663295e-05 --4.703400291e-06 -2.193585457e-06 -1.209319399e-05 3.518181759e-06 -0.0001518424887 -1.447728601e-06 5.205984042e-07 5.904516185e-06 -1.260138648e-06 7.413944397e-05 --4.906296961e-05 -0.0001554291884 -2.706574013e-07 -6.918786637e-05 -1.543982835e-06 -1.06083457e-05 4.448431181e-06 3.348235394e-05 -8.472744083e-06 0.0004204201861 -1.931972503e-05 -0.0002265147963 -5.345161793e-07 -0.0001992506685 -5.84704989e-06 -7.593984013e-06 6.117866311e-06 1.639064364e-05 -4.808773661e-06 0.0001176241094 --2.572155523e-07 -2.316560414e-07 1.024822461e-05 -1.153732287e-07 7.367119907e-05 --0.0001489690411 -0.0001741176147 -2.851069443e-07 5.21487379e-05 1.127655457e-06 --1.15151415e-05 -7.737238322e-06 6.918338184e-05 6.01486958e-06 0.0004975979037 -9.735099624e-05 8.257644428e-05 3.900735495e-06 -5.379225709e-05 2.556805993e-05 --3.578733524e-07 -6.942000788e-07 2.828284288e-05 -1.657311009e-06 0.0002520358105 -9.680999791e-07 -4.642488461e-08 -8.280075728e-06 -6.654171907e-07 -7.381873379e-05 -1.4054068e-05 -0.0001599402203 -5.101159353e-09 -0.0001298568101 8.227875055e-07 --7.726782622e-06 1.936698971e-07 -3.64387627e-06 9.061139525e-06 -3.2164466e-05 -0.0004250124958 -0.0002823515475 9.977615882e-07 -0.0006821771771 -4.889925744e-06 --4.915480095e-06 -1.862067884e-06 1.037209078e-05 3.779836513e-06 8.393379057e-05 --3.248787158e-07 -1.591868068e-08 1.699603031e-06 2.845187443e-07 1.37355725e-05 --3.922443769e-05 -6.33024753e-05 -6.095901725e-08 -4.959543743e-07 8.453505686e-07 -8.314085845e-07 8.461291079e-07 1.182487228e-05 -8.069437211e-07 9.544347265e-05 -8.732383807e-05 6.956514477e-06 -1.457290125e-06 -9.275041007e-05 -1.520608173e-05 --3.877573695e-06 -1.71527876e-06 7.732038787e-06 3.043578341e-06 5.487415375e-05 --5.851911957e-08 8.186561993e-09 1.035057118e-06 4.603667963e-08 7.334968394e-06 --4.561656047e-05 -7.487393663e-05 -7.866162718e-08 1.187945194e-07 4.703539299e-07 -1.84021477e-06 1.102157587e-06 1.772412741e-05 -1.78908239e-06 0.0001255341827 -5.689238699e-05 -5.989896299e-06 -1.416928531e-06 -6.914323721e-05 -1.141975725e-05 -6.945782491e-07 1.929433197e-07 8.818598522e-06 -9.562818652e-07 7.255051382e-05 -1.108815883e-07 -1.758517922e-08 -1.613261525e-06 -8.057892165e-08 -1.327890982e-05 --2.516041627e-05 -6.968526936e-05 -6.209369973e-08 -2.090052995e-05 3.633441228e-07 --2.778915554e-06 -6.392602707e-07 9.256080825e-06 2.354058199e-06 7.624848416e-05 -9.945255018e-05 -4.649394892e-05 4.331797369e-07 -0.0001451416786 1.010642212e-06 -0.1769258718 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04387037427 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2207160399 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.07533872057 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003315553281 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001518701407 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002298830926 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002398077028 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.02243067e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006671999118 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.243166318e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.054683477e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.839167468e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1799356286 -0.01732118436 -0.07012788035 0 0 -0.0317473048 0.4006269412 0.1334649769 0 0 -0.1020239273 -0.4209349429 -0.04527919858 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1086306036 0.00767088451 -0.01344438332 0 0 -0.04048803621 0.1330065078 -0.01014682414 0 0 -0.0773015248 -0.05293938599 -0.03628009851 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01533593544 -0.003490261387 -0.01107463948 0 0 --0.007681520309 0.01656290646 0.0216965262 0 0 -0.02405707214 -0.03311871028 -0.03848034569 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008373639467 -0.01360112635 -0.02345079648 0 0 --0.01519332916 0.02043524827 0.0353075526 0 0 --0.01693048459 0.02274997158 0.03298965126 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005596050691 0.0007565022346 0.001340987264 0 0 -0.0006097385513 -0.0005334528132 -0.001499678179 0 0 -0.001308552548 -0.002258478474 -0.003610820968 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001199270241 0.000561016758 0.0006922794116 0 0 -0.0002214513788 -0.0008184421539 -0.0006050454394 0 0 -0.001139665269 -0.002548068634 -0.001486479442 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003485675421 -0.0007571555476 -0.001226324056 0 0 --0.0006834754054 0.0002510566241 0.001267956437 0 0 --0.0007986060871 0.0007621499487 0.001283961877 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.915255365e-05 0.00013767334 0.0002426840854 0 0 -0.0001506616441 -0.0001227538098 -0.0003301575958 0 0 -0.0003042584498 -0.0004473300152 -0.0007020358422 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.771951171e-05 5.942579893e-06 -1.530480568e-05 0 0 -6.915646025e-05 0.000178605205 1.158321615e-05 0 0 -5.147585037e-05 -7.026320973e-05 0.0001341913972 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.435326486e-05 -9.36601339e-05 -0.0001356402361 0 0 --7.750533386e-05 -4.663052796e-06 0.0001584832579 0 0 --6.814917384e-05 -1.63827064e-05 6.326724615e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.958737743e-05 5.579228686e-05 9.348969918e-05 0 0 -2.680002732e-05 -0.0001755408074 -0.0001511330765 0 0 -7.774280393e-05 -0.0002705651421 -0.0002768416543 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.696130776e-05 -1.258678729e-05 -2.46262717e-05 0 0 --2.108251816e-05 -9.185623146e-06 2.839280412e-05 0 0 --2.626864633e-05 -4.849326448e-05 4.756717363e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.524751081e-05 -9.280366402e-06 -1.023101614e-05 0 0 --3.593095803e-06 1.171264188e-05 1.857027494e-05 0 0 -6.536387863e-06 -4.365440749e-05 -2.961900302e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02480518551 -0.06228688497 -0.1253083353 -0.06474038268 0.04412881633 --0.02246764924 0.04080613661 0.06424163938 -0.007594418598 -0.03730990761 -0.1551501343 -0.1106512864 -0.1868491396 0.04353055987 0.003001918033 --0.246617594 -0.09428030943 -0.03081663347 0.1476097747 0.4588153264 -0.1462838088 0.07767500796 -0.04262754584 -0.3322116595 -0.3789215474 -0.09440350044 -0.03293211352 -0.1064133488 -0.04054739856 -0.0786173895 --0.03282472437 0.04321914375 0.06188739932 -0.01875182565 -0.02217468672 -0.005652755645 0.001939914505 0.02749473359 0.04807253406 0.001000842072 --0.04005041971 -0.03635118359 0.03400672363 0.1205194207 0.1223770852 --0.06594761198 0.002755636546 0.02493558163 -0.009765661517 0.07355224274 -0.007236311639 -0.01858052813 -0.03608948952 -0.007316796902 0.007001941265 --0.0110055134 0.009993362595 0.009858777762 -0.01165876862 0.002818117814 --0.01711287495 -0.003976124978 0.005720130215 -0.0004504790459 0.02666172966 --0.01157292692 -0.02577369586 -0.01867385799 0.008248627509 0.04223393752 -0.001387928014 0.01329800538 0.03024665966 0.01467695224 -0.01185957054 --0.003696796765 -0.002398565739 -0.003136369352 -0.003585687628 0.00461540064 -0.004377240199 0.00321159959 0.005035871843 0.004800094829 -0.006918791803 -0.0019564288 -0.0002107559965 0.0007060582477 0.0002527259835 -0.0009005557177 --0.01101256545 -0.008989859674 -0.01419009324 -0.01321111734 0.01925362124 --0.001523271455 -0.002116361135 -0.004032447258 -0.002993515766 0.005070518892 -0.001446987865 0.00115546568 0.001985201999 0.002108637205 -0.002508270148 -0.001540433208 0.001638803169 0.002983012952 0.00210702232 -0.003804757302 -0.002177181827 0.00248110751 0.004372385974 0.00383796095 -0.005143063998 -0.001183912132 0.001254615312 0.001966268493 0.003108048139 -0.001786392004 --0.003483432269 -0.003333162318 -0.005901957537 -0.005127042064 0.007387714012 -7.454364762e-05 0.0001014553873 0.0005896886323 0.0008221412127 3.445592949e-05 -0.0002824927915 0.0001663272482 0.0002514882967 0.0001540956219 -0.0004855187194 -0.0006975349308 0.0001047838455 0.0002717504399 0.0005747916376 -0.0008116500657 -0.0006131732546 0.0001529144512 0.0001425942731 0.0001380980446 -0.0008590367921 --0.0002576846246 -0.0001181868714 -0.001111655508 -0.001828625742 -6.225283034e-05 --0.0005587023948 -0.0003670836243 -0.0006554246676 -0.0005917411045 0.0009786274226 --3.715426197e-05 -6.862337231e-05 -0.0001209244852 -5.040944781e-05 0.0001447154352 --0.0002822279406 -0.0003208729976 -0.000581926456 -0.0004780112144 0.0006690941377 --0.0006859465534 -0.000533454802 -0.0009689597835 -0.0009525668652 0.001252941918 -0.0006615170778 0.0004385552177 0.0007755070392 0.0006246610446 -0.001202472723 -0.0001982232505 -4.597161083e-05 -9.981924488e-05 1.965098681e-05 -0.0001252618112 -7.322519146e-06 9.187575486e-05 0.0001535978686 3.227332302e-05 -0.0001528645268 -3.878376476e-05 9.750977835e-05 0.0001919619883 0.0001631224817 -0.0001488482863 -3.662226658e-05 -3.971137452e-06 7.604406699e-05 0.0003353071503 8.822813099e-05 --0.0002156897182 -6.049060934e-05 -8.466917979e-05 -8.720159605e-05 0.0003009591572 -7.689258645e-05 8.54948544e-05 0.0001569231764 0.0001144075748 -0.0001740026211 -0.0001147531567 5.410731523e-05 9.631386057e-05 0.0001020084239 -0.0001741931755 -0.0002615486196 5.683510725e-05 0.0001004528392 0.000186421423 -0.0003140354359 -7.522566246e-05 7.66215759e-05 0.0001674836083 0.0001850794815 -0.0001363486232 --0.0001682782377 -0.0001260493611 -0.0002946266672 -0.0003854787856 0.0002470111587 --0.0001580594485 -4.783302892e-05 -7.112451579e-05 -6.305821382e-05 0.0002256412896 --1.381135377e-05 -3.558049291e-05 -5.990047109e-05 -1.914162617e-05 6.514867251e-05 --3.023144995e-05 -8.72170393e-05 -0.000163596213 -0.0001111168774 0.0001315666242 --0.0001271994567 -7.082129999e-05 -0.0001443440785 -0.0001914798542 0.0001811995896 -0.0002379817706 0.0001065919231 0.0001427245941 1.564772012e-05 -0.0004244146215 --5.782362838e-06 -1.711331786e-05 -1.931782208e-05 2.1886939e-05 3.949738992e-05 --1.854254571e-05 3.977789711e-06 5.069616373e-06 -1.290326518e-05 9.419697658e-06 --1.187087322e-05 -9.367958228e-06 -1.266999438e-05 1.499568601e-06 2.730128681e-05 --1.191438915e-05 -1.416066601e-05 -1.275432781e-05 2.445620468e-05 4.25170226e-05 -5.132888147e-05 1.57143024e-05 -2.224432791e-06 -5.893029951e-05 -9.878711614e-05 -5.217473089e-06 8.395684065e-06 1.919837851e-05 2.149408024e-05 -1.173192134e-05 -1.491064038e-05 1.371679041e-05 2.510140981e-05 2.005233355e-05 -3.092858433e-05 -4.635682583e-05 7.57662353e-06 1.276143174e-05 2.991746489e-05 -5.28307846e-05 --1.010521414e-06 1.068156561e-05 2.391219982e-05 2.144563959e-05 -8.461672984e-06 -5.145084727e-07 -2.014107892e-05 -6.263727043e-05 -9.281895321e-05 4.324615317e-07 --3.193472393e-05 -7.67041038e-06 -1.007594847e-05 -1.065521199e-05 4.292103306e-05 --1.739827731e-06 -7.614103903e-06 -1.294171838e-05 -4.008763064e-06 1.238215449e-05 -8.104088254e-06 -2.549044022e-05 -4.746628806e-05 -1.968806391e-05 2.401902916e-05 --3.810949043e-05 -1.608617921e-05 -2.647630237e-05 -2.45070244e-05 5.783889799e-05 -5.660684438e-05 2.25520923e-05 1.918287485e-05 -2.524641951e-05 -0.00010557962 --0.1706695708 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0335837107 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2098431572 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.08131601825 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004721303535 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007767522701 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001620299735 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002575381094 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000216109082 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006139385663 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.684592783e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.886431809e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.722959568e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1738082006 0.01497007182 -0.06734993115 0 0 --0.03304998669 -0.3908302574 0.1296356815 0 0 -0.09810901218 -0.4338627493 0.05470464129 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1125716567 -0.008453261944 -0.0148228946 0 0 --0.0426726322 -0.1443336883 -0.005654667574 0 0 -0.07412224189 -0.04650041064 0.02862149176 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01623998467 0.000905956593 -0.007331193802 0 0 -0.004474037335 -0.01468359542 0.01507937119 0 0 -0.02943364078 -0.03917362787 0.0463307764 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.008160423804 0.01344666442 -0.02309799256 0 0 -0.01532261636 -0.02029538174 0.03526078643 0 0 --0.0150276001 0.01997348359 -0.02824051803 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001297034066 1.987782224e-05 -0.0001010131663 0 0 -0.0001719607384 -0.0004513911454 0.0002710286287 0 0 --0.0002146273792 -0.0004111123306 -6.495099432e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001781787176 -0.0005363452516 0.0006929080796 0 0 --0.0001980179547 0.000946185263 -0.0005839862565 0 0 -0.001098898371 -0.002433375601 0.001246056811 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002374142038 0.0005716609689 -0.0009118922288 0 0 -0.0004936486228 -9.924686955e-05 0.0008497903756 0 0 --0.0004107727348 0.0002907661228 -0.0003706816973 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.667507329e-05 -7.021492773e-05 0.0001091576686 0 0 --9.794790174e-05 -2.646551443e-05 -0.0001496053283 0 0 -0.0001795749598 -0.0002502162328 0.0003178461258 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.409974217e-05 4.157382116e-05 -9.271155771e-05 0 0 --1.939850192e-05 -0.000207297135 0.0001213783951 0 0 --2.939304817e-05 2.77197706e-05 -0.0003041688549 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.279525039e-05 4.58582948e-05 -5.213005727e-05 0 0 -3.47100373e-05 9.134334897e-05 3.362600951e-05 0 0 -1.371039809e-05 -0.0001448832053 0.0001547049062 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.218669542e-05 -4.524159574e-05 7.339972052e-05 0 0 --1.534850313e-05 0.0001383321563 -0.0001137417706 0 0 -5.466440083e-05 -0.0002240245478 0.0001943233061 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.055380769e-05 2.38078564e-05 -4.264852724e-05 0 0 -2.879203552e-05 -1.021456185e-05 5.28579735e-05 0 0 --4.107727336e-05 -1.822083507e-05 -8.41626018e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.300526312e-05 -1.745161522e-07 6.536029661e-06 0 0 --5.70814432e-06 2.441071075e-07 -3.488969461e-06 0 0 -2.246809654e-05 -6.534345392e-05 6.889636318e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0195321587 0.05949056662 -0.1187072567 0.06191071545 0.04730330833 -0.02162688056 -0.03737520964 0.05947689667 0.006422175083 -0.03363357437 -0.1567348635 -0.1100505407 0.1882605277 0.03975249736 -0.003049440846 -0.2433017506 0.09016440954 -0.02995393168 -0.1401275804 0.4447668144 -0.1555413992 0.07712642471 0.04388317412 -0.3346749132 0.3896088198 --0.09443775895 0.0304527034 -0.1038263684 0.04438336888 -0.08111078534 -0.0318960653 -0.0422570881 0.06117382538 0.01693221645 -0.02245823497 -0.01130820613 -0.0009522581648 -0.0219325038 0.04905945121 0.001779101077 -0.04739742112 0.03359167404 0.03690722821 -0.1156524436 0.1258202865 --0.06472215012 0.00327867032 -0.01972488408 -0.01758585593 -0.06892676638 --0.01015904932 0.01818938519 -0.03705537844 0.007284968809 0.003123523691 -0.01188294885 -0.01063707893 0.01050791307 0.01231982634 0.002860607612 --0.01651437182 -0.003956527678 -0.006604278788 0.001348976533 -0.02558856353 -0.01006278026 0.02447935527 -0.01472543451 -0.01206070001 0.03935660705 --0.0009094122597 0.01303730246 -0.03035716927 0.01379250978 0.008743738037 -0.00436035336 0.003708577068 -0.005029819554 0.004203916788 0.006580910935 --0.003339194806 -0.002873938168 0.004052859666 -0.003368839391 -0.005283692334 -0.0002202290655 -0.001370259055 0.0008455941309 -0.001350354964 -0.002422633009 -0.01174610565 0.01079377273 -0.01650064759 0.01378488804 0.02190357789 -0.0003124460961 -0.000198202155 0.0006146860023 -0.0006140673725 -0.001098712663 --0.001444729506 -0.001010692 0.001766620272 -0.002156886663 -0.002241178996 --0.00162112609 -0.001852796353 0.003347512052 -0.002203489804 -0.004227262509 -0.002163586737 0.002619753119 -0.004675717708 0.004083910889 0.005275177656 --0.00102279228 -0.0008892240565 0.001481527285 -0.003129821151 -0.001001275609 --0.003664875077 -0.003503690161 0.00624993959 -0.005461302274 -0.007759983414 --0.0002282149848 -0.0003033460348 0.0009333496113 -0.00101053421 -0.0003497905508 --0.0005405610479 -0.0003105334751 0.0005377033098 -0.0004867587856 -0.0009004058602 -0.00113084122 0.0004010837929 -0.0007443683503 0.0009833690805 0.001612190023 --0.0008881582694 -0.0004717701995 0.0005567900578 -0.000296488552 -0.001547688614 --0.0006913727448 -0.0004913133648 0.001778588061 -0.002321467198 -0.0008006479918 -0.000553228324 0.0004164096693 -0.0007439795736 0.0006344359886 0.001024624309 -0.0001265160734 0.0001326870251 -0.0002456102951 0.0001693074192 0.0003115456654 --0.0004127656786 -0.0004216921207 0.0007489280343 -0.0006107639555 -0.0009289212334 -0.0007206305426 0.0006088761594 -0.001064752867 0.0009537947467 0.001389382778 -0.0007401842942 0.0005593941322 -0.001014698657 0.0008179361285 0.001407574512 --0.0001990743031 7.741413899e-05 -0.0001621608625 1.775196413e-05 -8.810784971e-05 -1.24966698e-05 -9.299000417e-05 0.0001520886473 -1.238802357e-05 -0.0001391398013 -4.786323045e-06 8.227569838e-05 -0.0001732354099 0.0001572495213 8.925265293e-05 --4.453463945e-06 3.280720799e-05 5.361716366e-05 -0.0003742078148 0.0001801541476 --0.0002011110495 -2.576726607e-05 1.561265887e-05 -3.749394693e-05 -0.000244766517 --6.538553875e-05 -0.0001101551509 0.0002065053238 -0.0001429246155 -0.0001884289781 --0.0001551033747 -7.038116165e-05 0.0001291227151 -0.0001499451395 -0.0002259602244 -0.0003182049354 8.718676363e-05 -0.0001472484746 0.0002220335459 0.0004069647003 --9.389724778e-05 -0.0001007079636 0.0001862136236 -0.0001434556608 -0.0002060521635 --0.0001906633312 -0.0001692651367 0.00038218976 -0.0004686783253 -0.0003057765389 -0.0001538745706 5.541267165e-05 -8.476999187e-05 6.23485464e-05 0.0002303821878 -3.158885576e-05 4.007685522e-05 -6.924960951e-05 3.558257578e-05 8.56629687e-05 --6.04275111e-05 -9.025222943e-05 0.0001670961505 -0.000123007322 -0.0001643105157 -0.0001199742476 7.279762707e-05 -0.0001432577377 0.0001769198533 0.000177791947 -0.0002497291647 0.0001168082103 -0.0001689377878 4.606461022e-05 0.0004397155572 --6.160885671e-06 1.607686828e-05 -1.954038753e-05 -2.15459407e-05 2.508420813e-05 -1.729941749e-05 -6.422706529e-06 8.999503963e-06 1.267080454e-05 4.170467894e-06 --8.171073851e-06 -5.783927175e-06 5.518620659e-06 6.953844143e-06 -1.966629813e-05 -6.907726826e-06 1.274315263e-05 -6.610215485e-06 -3.766447316e-05 3.950175087e-05 -3.45859512e-05 1.116172219e-05 6.681483711e-06 -5.616662583e-05 7.248372624e-05 --3.444130938e-06 -1.078747924e-05 2.096465958e-05 -1.49013966e-05 -1.565416468e-05 --1.881890732e-05 -1.317420805e-05 2.460796923e-05 -2.363732796e-05 -3.299500863e-05 -5.08219749e-05 6.867322667e-06 -1.019802921e-05 2.855473543e-05 5.613903795e-05 -7.028832677e-06 -1.020097553e-05 2.187396281e-05 -1.437452354e-05 -3.670647686e-06 --3.363092084e-06 -2.218406021e-05 6.226283691e-05 -8.668922741e-05 -9.48357371e-06 -3.122400598e-05 9.132817218e-06 -1.197078312e-05 8.44595899e-06 4.464103938e-05 -4.803990777e-06 8.035538739e-06 -1.394235141e-05 6.741709051e-06 1.536279217e-05 -2.486126144e-06 -2.483008645e-05 4.597217201e-05 -2.11370233e-05 -2.874956267e-05 -3.468394728e-05 1.617100477e-05 -2.634028366e-05 2.154593791e-05 5.459938152e-05 -5.900290266e-05 2.379722112e-05 -2.250594984e-05 -2.181747973e-05 0.0001084548354 --0.003547788951 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001443919023 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002557681148 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001507101849 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001672729621 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001075115376 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.626398616e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.769274702e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.789699423e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.011445021e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.229941134e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.624882424e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.272676231e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004909669675 0.8009929054 0.004131020386 0 0 --0.04382278235 -0.068638404 0.001514595763 0 0 --0.0008977603466 0.001147492263 0.05636165102 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0113230764 0.3178957524 -0.003718467329 0 0 --0.08719490988 -0.1264090136 0.002438484549 0 0 --0.001046000966 0.001258194732 0.1136147375 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.008298790895 0.03736233983 -0.002748033736 0 0 --0.05142220065 -0.06697147004 0.000749582847 0 0 -9.766074613e-05 -0.000158225321 0.06946433988 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001857436719 -0.01992467253 -0.0003616521459 0 0 --0.01022400205 -0.01062673074 -0.0002547446874 0 0 -0.000378797166 -0.0004475886114 0.01562756258 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001346296617 -0.005321170112 0.0001537391942 0 0 -0.0005685484952 0.002531159933 -0.0003256005946 0 0 -0.0002650849304 -0.0003164682097 0.0008992439619 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001681249921 -0.00108423113 0.0001259400034 0 0 -0.001826679963 0.00297527895 -9.658605883e-05 0 0 -7.01972864e-05 -8.690764993e-05 -0.002281050292 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001649993614 0.002575611174 8.472637227e-05 0 0 -0.001137143598 0.001435765025 1.222120191e-05 0 0 --1.117366706e-05 1.729670741e-05 -0.001914016092 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.818457802e-06 -0.0001012208013 -2.40328159e-05 0 0 --5.229349007e-05 -0.0003153613366 4.276236147e-05 0 0 --3.266279936e-05 4.207547052e-05 -0.0001507254663 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.600977481e-05 0.0003551047285 -3.009233907e-05 0 0 --0.0002922317878 -0.0005255516604 3.265319474e-05 0 0 --2.310761571e-05 2.831996509e-05 0.000307526699 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.532934578e-06 -0.0002387578125 -2.897396738e-06 0 0 --6.467221158e-05 -5.740446825e-05 -1.725367341e-06 0 0 -2.419347463e-06 -2.953729619e-06 0.0001127135475 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.471204459e-06 0.0001057017145 4.861905523e-06 0 0 --2.094059494e-06 5.595025781e-05 -9.637575301e-06 0 0 -8.049631172e-06 -9.610466942e-06 5.895149151e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.083651175e-07 -3.481284365e-05 6.296929763e-07 0 0 -8.09576109e-06 1.342497367e-05 -9.135112336e-07 0 0 -7.121726067e-07 -8.403447623e-07 -8.61502485e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.097727521e-07 0.0001002970489 2.72692278e-06 0 0 -1.960289637e-05 2.217953002e-05 -3.736067959e-07 0 0 -2.589524395e-07 -3.225245403e-07 -3.466282138e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002643660957 0.04659904812 0.000873104565 0.07064981299 -0.001386019012 --0.06551757858 0.05680191223 -0.001066412953 0.08850506735 0.001152604141 --0.00144099808 -0.0009399812909 -0.04747226349 -0.001573685231 0.06371025653 -0.006058541762 -0.005152403428 0.0001644798521 -0.00803227935 -0.0001954401794 --0.0001955312783 -0.0001348261778 -0.004073928503 -0.000214303681 0.005467667943 --0.001127344626 0.04393481681 0.0002624510631 0.06657312828 -0.0005630329568 --0.04823954659 0.03677095298 -0.0004638412671 0.05757305306 0.0004125567054 --0.0003064743604 -5.618137947e-05 -0.03588025093 -0.0002245143323 0.04814803396 -0.01602153995 -0.01208630328 0.0003824731249 -0.01892928114 -0.0004441591411 --0.0003654340501 -0.0002125412498 -0.01091618398 -0.0003536315156 0.01464930103 -0.0004506381296 0.01442542801 -0.0002572244557 0.02183536464 0.0002709928565 --0.01063208211 0.006276653887 6.858130123e-05 0.009941067282 -0.0001393018265 -0.0003005979036 0.0002530183666 -0.008204557348 0.000338136915 0.01100800431 -0.01000527851 -0.006072893119 0.000177814278 -0.00960581221 -0.000193300622 --6.097005895e-05 8.928763254e-06 -0.006838226835 -1.149400645e-05 0.0091754234 -0.0002812482371 0.000593975817 -0.0001278221808 0.0008919888194 0.0001667230898 -0.0005696470961 -0.0001667272228 4.89071092e-05 -0.0002803900016 -6.143779828e-05 -5.827007629e-05 1.049071623e-05 0.0002149154011 1.390929521e-05 -0.0002880965713 -0.001762776815 -0.0002161351605 2.100632058e-06 -0.0004115047904 7.2503691e-06 -0.0001034085195 8.013620431e-05 -0.0009854680507 0.0001142994649 0.001321484957 --5.700378879e-06 -2.80010063e-05 -2.778551599e-07 -4.199488273e-05 4.078031431e-07 -5.70514041e-05 0.0001700713171 -3.275926988e-07 0.0002520165689 1.366536768e-06 --1.627503286e-05 -1.539147975e-05 -6.682044169e-05 -2.320155389e-05 8.986020961e-05 -6.372911566e-05 8.409673694e-05 -1.276165465e-06 0.0001225191883 2.558723515e-06 -2.669309103e-05 9.986620546e-06 6.610942573e-05 1.44611795e-05 -8.879809116e-05 --3.217971569e-06 0.000322931145 1.229139288e-05 0.0004891376863 -1.802193301e-05 --0.0002112186207 0.0001520795673 5.924225021e-06 0.0002381292565 -8.577562263e-06 -6.073406313e-06 7.51640411e-06 -0.0002450800447 1.013529764e-05 0.0003288291097 -0.0001430763141 -0.0001778538413 1.567016611e-05 -0.0002745905314 -2.022050482e-05 --1.404547207e-05 -1.256534795e-05 -6.871921745e-05 -1.880723584e-05 9.228681343e-05 -1.679693583e-05 7.433145149e-06 -3.739333669e-06 1.069500523e-05 4.934318432e-06 -1.797196783e-05 7.757586438e-07 2.720025726e-06 1.56776666e-07 -3.472904881e-06 -2.271848805e-06 -8.339602556e-08 9.601205269e-06 -2.044306764e-07 -1.286662206e-05 -3.626910046e-05 4.261278468e-06 1.399300856e-06 4.541838665e-06 -1.616758912e-06 -1.907225768e-06 2.509832357e-06 -2.569640668e-05 3.672364944e-06 3.444280133e-05 -5.560467947e-06 4.918211514e-07 -1.962438325e-06 5.352613851e-07 2.626016679e-06 -1.306221482e-05 2.674695137e-06 6.806455476e-08 3.353869291e-06 4.585029536e-10 --9.503582876e-07 -9.756893919e-07 4.139216791e-06 -1.4410969e-06 -5.540843844e-06 -2.075533664e-05 3.770562765e-06 -9.228168172e-07 4.642441475e-06 1.363822854e-06 -4.045464595e-06 2.006602665e-06 -7.592262121e-06 2.863427211e-06 1.017309434e-05 --3.113988059e-06 2.135380738e-05 2.033579325e-06 3.24442316e-05 -2.822033076e-06 --1.638108833e-05 1.720804846e-05 3.191604287e-07 2.657368492e-05 -4.554424671e-07 --4.4071986e-07 6.74900155e-08 -2.359298533e-05 1.651403767e-08 3.166073448e-05 -4.11222491e-06 -1.207984592e-05 1.452630134e-06 -1.84200449e-05 -1.902738434e-06 --8.615691338e-07 -1.350417293e-06 3.783836915e-06 -2.00326469e-06 -5.067430703e-06 -9.171123765e-07 -2.223664859e-06 -2.93572624e-07 -3.396823466e-06 4.012747572e-07 --5.2475961e-06 8.560063333e-06 -1.119257616e-08 1.310056411e-05 5.485288242e-09 --4.990308966e-07 -6.4975884e-07 -1.737602217e-06 -9.789891357e-07 2.33828675e-06 --4.05253212e-06 6.33408018e-06 -9.021789035e-08 9.696658835e-06 1.157153203e-07 -5.397588235e-07 5.553384575e-07 1.793304079e-06 8.347258545e-07 -2.412593027e-06 -1.742864154e-06 4.530659005e-06 -3.697986747e-07 6.793582006e-06 4.741842935e-07 --1.49310337e-06 8.641196505e-07 9.365443326e-08 1.373114998e-06 -1.337637205e-07 -2.195727609e-07 1.396536599e-07 -9.678109157e-07 1.990688774e-07 1.298038077e-06 -4.825766181e-06 -1.538053939e-06 -1.349917248e-08 -2.53434737e-06 3.70574957e-08 -1.885665463e-07 1.684066855e-07 -4.16961734e-06 2.32443865e-07 5.593296704e-06 --4.506357117e-07 6.521118706e-06 4.537739533e-07 9.892268001e-06 -6.394454829e-07 --4.021448701e-06 3.138419653e-06 1.829810347e-07 4.892930561e-06 -2.539601632e-07 -1.030835944e-07 1.829304606e-07 -5.589884465e-06 2.499659443e-07 7.499986847e-06 -2.371562848e-06 -4.04273492e-06 4.608857646e-07 -6.203559692e-06 -6.023084064e-07 --3.6882792e-07 -3.997981565e-07 -5.528055097e-07 -5.952961027e-07 7.445370557e-07 -3.659993412e-08 9.239879406e-07 -6.716728276e-08 1.397186913e-06 8.585942713e-08 --3.077250478e-06 2.64854497e-06 -1.092872361e-07 4.132482459e-06 1.310214396e-07 --1.530078556e-07 -1.078748526e-07 -1.291437417e-06 -1.627228644e-07 1.733362689e-06 --7.019905941e-07 9.588621724e-07 -1.10589394e-07 1.479050693e-06 1.433229456e-07 -1.423350786e-07 1.04341259e-07 -9.363424118e-08 1.517122592e-07 1.254052724e-07 --0.01294210574 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002866384581 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01322658661 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003786998537 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007359722459 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.023428272e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.457865293e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001051376931 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.777917118e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.211751692e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.169638066e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.047194432e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.558036243e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004044527003 0.1569990717 -0.0003893873877 0 0 --0.1637297135 -0.1736251329 0.002692534808 0 0 --0.002576231355 0.001303906761 0.1186109083 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.006994429763 -0.1730632226 -0.0002393237412 0 0 --0.04994019074 -0.09819387475 0.00140544364 0 0 -0.0002439194811 -7.354651715e-05 0.07463197422 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002131784059 -0.01075766227 0.0005197787122 0 0 -0.002534527168 -0.001877384088 -0.0001554516862 0 0 --0.0002623293411 -0.0002150932108 0.001977495867 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009993783207 -0.0009735716211 2.162107587e-05 0 0 --0.01299410712 -0.000696481203 -2.15932291e-05 0 0 --9.408275401e-05 -2.011059997e-05 0.0007152974206 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005138703571 0.001273308909 -1.582367424e-05 0 0 --0.0005384660682 0.000122313236 7.469930256e-06 0 0 -5.251996069e-05 1.053525664e-05 -0.0004040060357 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.236776899e-05 0.001848657287 5.022536606e-05 0 0 -0.0004112662043 0.0008477398434 -1.642394174e-05 0 0 -2.180661858e-05 -1.527925674e-05 -0.0005484001995 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004247207032 -6.233128798e-06 8.154357968e-06 0 0 --0.000124111338 5.375478547e-06 -2.755935883e-06 0 0 -2.511277332e-05 -2.369097088e-06 3.885019927e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.198050778e-05 -0.0001537669427 -6.324972903e-06 0 0 -5.425014918e-05 -0.0001511229547 4.494573749e-06 0 0 -1.47561116e-06 2.461524669e-06 9.457420258e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001269495979 0.000258532354 -6.029089694e-06 0 0 -7.473077369e-05 3.101211866e-05 2.933610986e-06 0 0 --5.036129457e-06 3.191306909e-06 -7.220591936e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.196068288e-05 0.000182500537 4.99210972e-06 0 0 -8.955317614e-05 6.421491969e-05 -1.333108427e-06 0 0 -3.340616841e-06 -1.385240712e-06 -3.876751122e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.196843648e-05 5.406132208e-05 4.747673555e-06 0 0 -1.139556453e-06 1.499022388e-05 -1.630195539e-06 0 0 -1.122049089e-06 -1.684453385e-06 1.158210002e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.207996022e-06 3.81106501e-05 -1.271313444e-07 0 0 --7.718790866e-06 -4.040890012e-06 2.448086226e-07 0 0 --4.154195979e-07 2.10658005e-07 6.271380377e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.713262595e-06 7.040080315e-05 -9.343803281e-07 0 0 -1.214551317e-05 5.740788821e-06 5.211896653e-07 0 0 --5.960189863e-07 6.002468135e-07 -1.534006412e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003267010323 0.3997470679 0.002639996213 0.08961435073 -0.0001356082038 -0.02845202004 0.05313192796 -7.889895142e-05 0.01175048819 0.0001304630394 --0.0001222766871 0.0002448839458 -0.02685571273 7.547360185e-05 0.004575639406 --0.05102977288 -0.07972045797 0.00138418165 -0.0175837917 -0.0004338245552 -0.0007866945568 -0.001537383246 -0.05089101305 -0.0003116037276 0.00867194852 -0.0005712040789 -0.03334595319 -0.000764785361 -0.004277189916 -2.127847958e-05 --0.07295148972 -0.1328159727 0.002261445837 -0.01635504377 -0.0005577510487 --0.0007586017796 0.0005176083889 0.1076069561 -0.0002314775996 -0.009743399386 --0.04235423282 -0.07353667423 0.001130326823 -0.009036498128 -0.0002974843613 -0.0002933361537 -0.0009448075801 -0.05384344849 2.866645823e-05 0.004873451631 -0.001851588559 -0.0243493266 0.0003785839613 0.0005120261783 -0.0001087431495 --0.00160244938 -0.02280133901 3.920317039e-05 0.0006196042252 -6.897844756e-05 -4.115704876e-05 -0.000419858072 0.02193995716 -0.0001106016316 0.0009566355484 --0.0006834428482 -0.007443489798 -4.925267257e-05 0.0002113271525 -2.232619276e-05 --1.464562448e-05 7.721841182e-05 -0.008120889438 4.276310147e-05 -0.0003544334314 -0.001656264611 5.012666763e-05 7.300458839e-05 -4.470029673e-06 2.991338301e-05 --0.006614225 0.002087107005 -0.0001226837286 -0.0008809862932 -3.129141965e-05 --0.0002036161828 -8.267688685e-05 -0.001753755132 3.493244162e-05 -0.0008497956383 --0.004293494521 0.001468583349 -6.629099426e-05 -0.0006176967512 -1.366787305e-05 -7.332338695e-05 4.671888339e-05 0.0008201168745 -1.971151593e-05 0.000397489451 -3.14540881e-05 0.002640359955 3.275616852e-05 0.0005080841421 -9.073998195e-06 --0.004143846072 0.001795509079 -3.511713556e-05 0.0003926358071 6.618009599e-06 -6.586367838e-05 -1.341267878e-05 -0.002175921769 -7.615295928e-06 0.0002631887321 --0.001450487494 0.0006347681298 -5.755372085e-06 0.0001386595082 1.514388045e-06 --2.873558526e-05 6.717968991e-06 0.0006125090366 2.824659499e-06 -7.407789685e-05 --0.0003478914698 0.0003604195665 2.104743461e-05 5.858795074e-06 1.800253724e-07 -0.001334239739 0.0006834870656 -1.124180536e-05 2.253106467e-05 -3.605645215e-07 -6.399237078e-05 -1.734007163e-05 -0.0002178635556 -5.084577237e-07 -1.52676624e-05 -0.0005874330498 0.0002694875008 -5.17503758e-06 9.284325447e-06 -9.266836827e-08 --2.312481711e-05 8.656629787e-06 9.816126818e-05 2.891404344e-07 6.887778135e-06 -4.641143199e-05 5.410829375e-06 2.849873233e-06 -1.696774526e-05 -1.261272897e-06 --0.0001507823996 1.396503838e-05 -1.216616849e-06 -2.283114326e-05 3.698351287e-07 -6.781391558e-06 -2.045839951e-06 -7.576857156e-08 -1.348089887e-06 -3.939890266e-05 --8.033066435e-05 7.434672689e-06 -6.708720549e-07 -1.205525647e-05 2.014649254e-07 --2.643774589e-06 9.815277292e-07 5.418091311e-08 3.747464153e-07 1.700939883e-05 -3.874744894e-05 8.742956258e-05 -1.167102515e-05 1.910164999e-05 2.063155825e-06 -6.712400547e-05 -0.0002192455904 1.378240266e-05 -4.872660284e-05 -2.664631425e-06 -5.360165093e-06 1.232378608e-05 3.413872906e-05 2.657354995e-06 -5.850712176e-06 -5.058990798e-05 -0.0001362370248 7.199699473e-06 -3.031807896e-05 -1.436142874e-06 --1.920980017e-06 -6.001496596e-06 -5.521552925e-05 -1.255032871e-06 9.465577825e-06 --1.250321854e-05 0.0001865279471 3.57010464e-06 5.518108757e-05 -1.134368695e-06 -0.0002756849665 0.0001573947242 1.55570718e-07 4.469385644e-05 5.347658242e-07 -1.734190954e-06 -1.519716283e-06 -0.0001099590705 -6.39984096e-07 2.470929643e-05 -8.448169267e-05 3.999152113e-05 2.071793208e-07 1.126119598e-05 1.404858232e-07 --4.02224315e-08 7.436569315e-07 3.388661019e-05 2.753216206e-07 -7.613752965e-06 --1.137189749e-07 8.811115263e-05 3.865433354e-06 2.589673966e-05 -8.676946926e-07 -1.279149643e-05 8.862859692e-05 -3.002131072e-06 2.61916426e-05 7.885171973e-07 -1.167544155e-06 -3.211876206e-06 -3.986365699e-05 -9.676366403e-07 8.820363837e-06 -4.138032223e-06 2.906963829e-05 -1.178162825e-06 8.586895465e-06 2.994334265e-07 --3.410162784e-07 1.282422341e-06 9.893247108e-06 3.808026157e-07 -2.190247877e-06 --7.321827975e-06 3.793381925e-05 5.12626814e-07 8.83912253e-06 -6.323443876e-08 --3.660342812e-06 1.54530226e-06 -2.509002195e-07 3.853252269e-07 3.656267569e-08 -1.858644895e-07 -3.325753907e-07 1.504556042e-05 -9.53867482e-08 -2.700696392e-06 --6.463849297e-06 -1.117757969e-05 4.702171209e-08 -2.54039706e-06 -3.965127226e-08 --3.799578009e-08 -7.845248594e-08 -1.330423667e-05 -2.850365957e-09 2.388092386e-06 -4.058096888e-06 3.5609725e-05 -9.783062866e-07 1.01985988e-05 2.423206865e-07 --1.895674685e-06 -4.774425569e-06 1.180378185e-06 -1.35612144e-06 -2.778329214e-07 --1.544760418e-06 1.165917461e-06 -9.363415057e-07 3.488523343e-07 2.11225885e-07 --1.03623529e-05 -1.29994342e-05 6.504089936e-07 -3.64612025e-06 -1.814227817e-07 -6.522292123e-07 -6.005997905e-07 -5.416533373e-06 -1.7690743e-07 1.246326091e-06 -1.492551082e-06 5.859616837e-05 1.43112787e-06 1.576801003e-05 -3.065927441e-07 -1.598297711e-05 4.016847708e-05 -9.633691597e-07 1.080713451e-05 2.788080769e-07 -6.708713761e-07 -8.976366406e-07 -2.595199004e-05 -2.555603964e-07 5.326343087e-06 -3.55264937e-06 8.588662106e-06 -2.870976198e-07 2.310685766e-06 7.706378932e-08 --1.600479222e-07 3.141034553e-07 4.956965243e-06 8.720119086e-08 -1.017604999e-06 --0.1313078157 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0618324269 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1732064856 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05157283049 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001097301509 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002848458223 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002540163952 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001017227178 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003925628327 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004254507803 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.809130134e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001132708909 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.791050763e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1451013308 1.136880975 0.001749937321 0 0 --0.4676551546 -0.1663769909 0.001009820215 0 0 --0.0006007296745 0.0004958601355 -0.08077406284 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.09635059004 0.3297103242 -0.003062799224 0 0 --0.2460506 -0.0115484078 -0.0006891527791 0 0 --0.000279968682 0.001239819942 -0.05070693904 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04527418809 0.1765041946 6.898845961e-06 0 0 --0.03163179243 -0.04507105144 5.384476626e-05 0 0 -3.484523203e-05 -2.493184903e-05 -0.005748465711 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004824607774 0.01232611995 -0.0001221818126 0 0 --0.01699342061 -0.05877922648 0.000166814484 0 0 --8.823312352e-06 -6.53256137e-05 0.002231533753 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002633712013 0.007340298421 3.782334697e-06 0 0 -0.003386679301 0.009068292344 7.290374658e-06 0 0 --6.0016371e-08 2.037125717e-06 0.0001667825214 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005097327362 0.002251364086 3.44024045e-05 0 0 --0.0002511645407 0.0009326132877 1.545589949e-05 0 0 -4.077757014e-06 -2.384175493e-05 -0.0005795613454 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004330412563 0.0005697605755 6.999014234e-06 0 0 --0.0008300600429 -0.003974505075 -1.985211608e-05 0 0 -6.924042459e-08 4.911538755e-06 0.0001683860122 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001880666809 0.0008701801499 -1.208326887e-06 0 0 -0.0003278603698 0.0011193876 -7.971208845e-07 0 0 --4.827194798e-07 -5.483716331e-07 2.992147642e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.491961582e-05 0.000169308548 -3.775040964e-08 0 0 --7.73228652e-05 0.0001763406321 1.373774383e-06 0 0 --6.685050338e-08 2.326663157e-07 -6.438097949e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002005804974 0.0002327967393 3.875705217e-06 0 0 -6.114068031e-07 -0.0006114184195 -2.689019384e-06 0 0 -2.08034998e-07 8.557736352e-07 3.797526274e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.9590595e-05 0.0003002046196 4.933392757e-06 0 0 -0.0001279075503 0.0002818882829 5.146463932e-07 0 0 -6.588406643e-08 -9.547179319e-08 1.100211172e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.26235186e-05 8.662745123e-05 2.159150662e-06 0 0 --1.737018885e-05 1.864287482e-05 -5.070832139e-08 0 0 -4.71816219e-08 -2.211472081e-07 -6.772185391e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.661302148e-05 0.0001136244445 8.148803521e-07 0 0 -5.1263999e-06 -8.640004939e-05 -9.279600572e-08 0 0 -7.424851894e-09 1.239248254e-07 8.600657118e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.4128193969 0.8598995319 0.0004786702608 0.09901585155 -0.003263095582 --0.8686138655 -0.1642930912 -0.0006558966389 0.9108312487 0.006835148004 --0.004162983881 -0.00180375007 0.1669529818 0.001070630538 1.033090255 --0.07222422717 -0.2306169922 -0.0001065379229 -0.07194671387 0.0005276987011 --0.0007248635808 -0.0005363440335 -0.0142309958 0.0007106524382 -0.08804591259 -0.0916121237 0.2035474432 -0.0001586454013 0.006875224441 0.0002095523213 --0.2726452931 -0.3195097786 -0.001466204277 0.1578719717 -0.007865180315 -0.002582752625 0.0006365149394 0.04887182382 -0.002462692575 0.1881919372 --0.08679227486 -0.2037573106 -1.302076784e-05 -0.01396858298 -0.000323388786 --0.001200640203 -0.0004960776204 -0.02425200077 0.001000829407 -0.09338504754 --0.006440170656 0.04380507636 -4.445069258e-05 0.02940212939 0.0001449719673 --0.08104127442 0.003023664319 -6.237143306e-05 0.1248653269 -0.0003671377346 -6.676569589e-05 0.0001148233374 0.003693912795 7.664680252e-07 0.008336014256 --0.02065933959 -0.03336479832 3.421240864e-05 0.01638169838 -0.0001565841638 --0.0001504001156 6.719544377e-06 -0.01173902416 5.924057795e-05 -0.02648722501 --0.01752815632 0.02464188121 -7.358755873e-06 0.03789025123 -0.000174041315 --0.02179288596 0.03895188885 1.472502233e-05 0.0549317652 -0.0001741255738 -0.00015259033 -8.265175953e-05 -0.0002092770235 -0.0002219963873 0.001481548338 -0.01466218592 -0.01646383101 1.410451056e-05 -0.02777996698 0.0002036808417 -9.886783182e-05 1.931564727e-05 -0.0004010357856 -9.703595255e-05 0.002833256576 --0.001541625208 0.003134506918 2.421670046e-06 0.0043871544 -3.711790682e-05 -7.253873264e-05 -0.001044677817 -8.458584554e-06 -0.001138212731 6.924866712e-05 --7.223009892e-06 -6.755041295e-06 -4.742749372e-05 -3.012464577e-06 0.0002222622925 -0.002724113847 -0.004878723895 -2.708565151e-06 -0.006972607835 6.438806777e-05 -1.053425616e-05 3.481828122e-06 9.846632281e-05 -2.405123791e-06 -0.0004611851814 -0.0008169653383 0.0008283226907 1.061874006e-06 -0.0006366389503 -1.778362309e-05 --0.0004440861226 6.56348042e-05 1.663819478e-05 0.0007158421977 5.278357965e-05 --2.92979803e-05 -2.027304763e-05 0.0002159421771 1.652711978e-05 0.0009572416689 --0.0002394667867 0.0002354013833 2.98720048e-07 0.0005312987181 -2.332404098e-05 -1.947055796e-05 6.62359803e-06 -0.0001643722572 -1.462411889e-05 -0.0007281885363 --0.0007354689425 0.001041103477 -3.480579622e-07 0.001605304153 2.705544947e-06 --0.001222580398 0.002097049647 -1.264477623e-07 0.002932478126 2.132426655e-06 --3.653438046e-06 2.995948933e-08 2.321706207e-05 3.502690154e-06 0.0001541875642 -0.0005048815887 -0.0004213175188 3.1896709e-07 -0.0008910128709 -5.184896972e-06 --2.074544174e-06 -1.169408447e-06 3.198822813e-05 5.017352457e-07 0.0002123873878 --2.777530508e-05 0.000156995782 6.622771461e-08 0.0001562110211 2.100344018e-06 --0.0003097380454 -0.0002321317418 -1.196413753e-06 0.0001454015195 -1.219610203e-05 -2.316028009e-06 6.459140696e-07 9.068416782e-06 -2.136560022e-06 0.0001138781911 --2.49800121e-05 -0.0002456147304 -3.229011531e-07 -0.0001723329212 -5.979164782e-06 --1.447724314e-06 -5.205981488e-07 -5.904487491e-06 1.260133689e-06 -7.413908363e-05 -0.00017913758 0.0003058553653 2.613694102e-07 1.322163171e-06 -1.446829696e-06 --5.126565751e-05 -0.0001185707998 5.176211717e-07 -2.321223341e-05 4.990150549e-06 --2.526503534e-06 -9.30023747e-07 4.567232477e-05 1.079749257e-06 0.0003283678973 -7.307103848e-05 -9.403502595e-05 2.427783461e-07 -0.0001454056078 -5.765223258e-07 -2.572146674e-07 2.316558604e-07 -1.024819793e-05 1.15373442e-07 -7.367100729e-05 --2.276604815e-05 0.0002433832745 1.086902301e-07 0.0001985071407 5.224380172e-09 --0.0001910714654 0.0004494067885 7.38028897e-07 0.0005366460523 9.808043906e-06 --5.872914819e-06 -9.571741967e-08 2.226975042e-05 5.324693881e-06 0.0001986702507 -0.0001002510074 6.395552744e-05 2.119524701e-07 -6.720666165e-05 -2.829327139e-06 --9.680932903e-07 4.642547339e-08 8.280028711e-06 6.654126677e-07 7.381831458e-05 -5.714948262e-05 3.900605428e-05 1.265173873e-07 -3.651490048e-05 -1.198103518e-06 --0.0001196441649 -9.854784095e-06 1.238012281e-07 0.000126835165 5.816601524e-06 --2.138970261e-06 -5.930827154e-07 1.24547268e-05 1.481360947e-06 0.0001006423863 --5.663211927e-05 2.612813832e-05 -1.336830034e-07 8.151527984e-05 1.438507898e-06 -3.248760903e-07 1.591849903e-08 -1.699574545e-06 -2.845170676e-07 -1.37353424e-05 -3.459926179e-05 8.537797633e-05 7.1417196e-08 1.992195065e-05 -2.895397937e-07 --7.335910274e-05 -6.235329005e-05 4.112676676e-08 4.029481471e-05 2.067261209e-06 --1.146582367e-06 -3.920314898e-07 1.527197377e-05 6.49430531e-07 0.0001082308772 -8.664512695e-06 -5.285593636e-05 -2.403203599e-08 -4.696074029e-05 -3.329359985e-07 -5.851888259e-08 -8.186586574e-09 -1.035050958e-06 -4.60365827e-08 -7.334924744e-06 -3.270755241e-05 9.102036049e-05 8.453788369e-08 2.745909619e-05 -4.369091782e-07 --6.80097726e-05 8.909858625e-05 1.569769438e-07 0.0001397494468 2.886372732e-06 --1.454728983e-06 -2.415458681e-07 1.281763603e-05 1.017747714e-06 0.000105519822 -1.550059512e-05 2.038296829e-05 4.438218904e-08 -3.085605668e-06 -1.069091189e-07 --1.10880616e-07 1.758529607e-08 1.613245703e-06 8.057846516e-08 1.327877958e-05 -0.0651799823 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02586884108 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.08383658385 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03210024488 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001284129654 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006929474058 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008690991639 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009136745361 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.89055074e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002662894195 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.326263856e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.429724938e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.158723993e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06695943257 0.59107623 0.3017613427 0 0 --0.09812544036 0.05574073291 0.01625766687 0 0 --0.1799356281 0.01732118436 0.07012788058 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06057289722 0.0707010989 0.1266994852 0 0 --0.05930579827 0.02532677658 -0.01060109503 0 0 --0.1086306072 -0.007670884319 0.0134443823 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02179291112 0.04188457937 0.07994821182 0 0 --0.008567032027 0.006616973056 0.003644794686 0 0 --0.01533593914 0.003490261448 0.0110746382 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005201873843 0.005479781681 0.00910998114 0 0 --0.004642618547 0.006498676417 0.01391067157 0 0 --0.008373635347 0.01360112587 0.0234507971 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005845160149 0.001099367125 0.0012375601 0 0 -0.0003098052205 -0.0004206630306 -0.0007415731915 0 0 -0.0005596048598 -0.000756502262 -0.001340987427 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002056862647 0.0008254689295 0.0007167069464 0 0 -5.787829887e-05 -1.422984867e-05 -0.0005264715407 0 0 -0.0001199243484 -0.000561017145 -0.0006922813675 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003515641933 0.0003964042857 0.0005671477268 0 0 --0.0001928254569 0.0003076929416 0.0007273341307 0 0 --0.0003485649704 0.0007571556858 0.001226325285 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.34626797e-06 0.0001761087856 0.0001886437997 0 0 -2.864285724e-05 -7.131105052e-05 -0.0001384085373 0 0 -4.915078256e-05 -0.000137673272 -0.0002426846344 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.288721001e-05 0.0001179785369 -3.229921291e-05 0 0 --9.996105152e-06 2.719939538e-05 -7.667174468e-06 0 0 --1.771964611e-05 -5.942583112e-06 1.530474077e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001307592045 0.0001727046886 0.0001355573683 0 0 -1.289091383e-05 2.430214753e-05 8.884075258e-05 0 0 -2.435459476e-05 9.366024251e-05 0.0001356410298 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.334645885e-05 0.0001031738919 7.252639508e-05 0 0 -1.638515767e-05 -3.238809695e-05 -5.250986496e-05 0 0 -2.958638149e-05 -5.579234857e-05 -9.349021806e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.041111572e-05 5.655177418e-05 3.812593703e-06 0 0 --9.495736189e-06 8.685587486e-06 1.263338944e-05 0 0 --1.696113724e-05 1.258679205e-05 2.462635026e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.683298697e-05 7.124218902e-05 4.141218647e-05 0 0 -8.351914023e-06 -3.792397837e-07 8.824679919e-06 0 0 -1.524793398e-05 9.280379237e-06 1.023122129e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1959074896 0.1813380442 0.3272034525 0.01788854654 -0.04278895104 --0.3442002642 -0.08057086561 0.1173658401 0.421232954 0.6311688573 --0.2932043337 -0.01234754437 0.03673763227 -0.02846430539 0.3364185367 --0.01757539559 0.01724418619 0.04610802151 0.04136796749 0.006869793842 -0.02246764909 -0.04080613652 -0.06424163924 0.007594418534 0.03730990763 --0.04724603779 0.04559826771 0.08129029887 -0.0009506520303 -0.003952011915 --0.07642323104 0.01259097536 0.08486960548 0.06554830972 0.08911868287 --0.1177081722 0.06729861667 0.1135831739 -0.04494861915 0.04156539085 --0.02137799478 0.01264839943 0.04818204557 0.03913147164 0.01741190294 -0.03282472605 -0.04321914492 -0.06188740116 0.01875182643 0.02217468643 -0.0001840048523 0.00970755614 0.0174148338 0.005349494871 -0.008902654177 --0.01903483218 0.0006978571259 0.002435599265 -0.01244705361 0.02272044595 --0.03626183077 0.008219218848 0.00700900607 -0.03119243896 0.03531270647 --0.006530508811 -0.001366581288 0.010519857 0.008801706389 0.01161719773 -0.01100551584 -0.009993364823 -0.009858781016 0.01165877009 -0.002818118668 -0.007901497334 0.006573670259 0.01182178888 0.009813871256 -0.01557457266 --0.005721987177 -0.005277507098 -0.01029722738 -0.007863508857 0.01322005495 --0.008891684956 -0.009024109815 -0.01651774247 -0.01313085798 0.02141039664 -0.002517524977 0.001296690189 0.003445128856 0.002264918888 -0.004328502717 --0.004377240945 -0.003211599445 -0.005035871357 -0.004800094761 0.006918791354 -0.00118332259 0.001347885011 0.002420285964 0.001878946999 -0.002959289889 --0.0002276680229 0.0002863508151 0.0004413427647 0.0006451904505 -3.686086118e-05 --0.0002755564432 0.0001933716498 0.0002663999016 0.0005581371543 0.0001739796202 -0.0009142154674 0.001054522087 0.001816412692 0.001828585191 -0.002030962196 --0.001540432881 -0.001638803224 -0.002983013079 -0.002107022194 0.003804757266 --0.0001847553356 0.0002591255014 0.0004694358898 4.004402537e-05 -3.399632294e-05 --5.653819049e-05 -4.269122359e-05 0.0002883254157 0.0006007093972 0.0002883190713 -0.0001149114228 0.000120300566 0.0002259023392 0.0001298095408 -0.0002247758244 -0.0001742522698 5.244165938e-05 0.0001701855793 0.0002574158792 -0.0001994357216 --0.0002824918988 -0.0001663278089 -0.000251489122 -0.0001540950879 0.000485518346 -0.0001989820428 0.0001561518324 0.000279924786 0.0002351615012 -0.000385356898 --0.0003243889525 -0.000296441146 -0.0005283992119 -0.0003814461326 0.0007095732493 --0.0005187115162 -0.0004959534813 -0.0008908626297 -0.0006961528741 0.001135861828 --1.727922628e-05 -3.743493296e-05 -7.225635124e-05 -9.350824112e-05 4.476169333e-05 -3.715368506e-05 6.86236638e-05 0.000120925016 5.040933819e-05 -0.0001447154704 -3.75719242e-05 7.465388673e-05 0.0001331494549 7.696243814e-05 -0.0001386417981 --0.0001171608386 3.801151016e-05 9.664095675e-05 6.609489228e-05 8.243022298e-05 --0.0001666572289 4.900871656e-05 0.000105842812 4.577797686e-06 9.331743151e-05 -3.816119434e-06 4.723226616e-05 0.0001031172031 0.0001082946945 -4.526525217e-05 --7.321169734e-06 -9.187648351e-05 -0.000153599123 -3.227286061e-05 0.0001528645082 --4.048607305e-05 9.70788819e-05 0.0001752320235 4.759165319e-05 -8.226283268e-05 --3.621351798e-05 -1.706607801e-05 5.163941278e-05 0.0002078129831 0.000133124745 -5.116521787e-05 2.054388734e-06 2.45184383e-05 9.242170729e-05 -3.023195755e-05 -7.097492077e-05 3.280975404e-05 5.875907521e-05 6.370804908e-05 -0.0001065776941 --0.0001147537767 -5.410699313e-05 -9.631333754e-05 -0.000102008714 0.0001741932946 --1.074736008e-05 2.980896054e-05 5.404202682e-05 1.789839667e-05 -2.881626919e-05 --9.370742984e-05 -6.694777684e-05 -9.059606037e-05 1.761391834e-05 0.0002153615263 --8.401699606e-05 -9.419580326e-05 -0.0001606489832 -8.226193444e-05 0.0002113809198 --5.274061596e-06 -1.800883413e-05 -3.921435488e-05 -4.435672074e-05 1.829211441e-05 -1.38110724e-05 3.558061702e-05 5.990067683e-05 1.914149904e-05 -6.514861068e-05 --2.197086203e-05 8.805908652e-06 1.607166437e-05 -4.448576204e-06 8.656336257e-06 --4.640769831e-05 2.553669096e-06 2.791800596e-05 5.010021947e-05 6.307977695e-05 --4.603509336e-05 9.556772833e-06 2.581701026e-05 9.340503291e-06 3.826832343e-05 --1.190905369e-05 2.359175171e-07 4.431384186e-06 6.722857144e-06 1.465597685e-05 -1.854307588e-05 -3.978071653e-06 -5.070084725e-06 1.290347407e-05 -9.4197701e-06 --1.112028603e-05 2.366737322e-05 4.280968101e-05 1.1773137e-05 -2.031120048e-05 --3.050547106e-05 -4.698011067e-06 1.710007764e-05 5.449575543e-05 5.82216721e-05 --1.582083476e-05 3.306275465e-06 1.26484098e-05 1.329194247e-05 1.648602631e-05 -9.185872167e-06 8.913632469e-06 1.540899851e-05 1.007729628e-05 -2.050275778e-05 --1.491094677e-05 -1.371662271e-05 -2.510113214e-05 -2.005245661e-05 3.092862288e-05 --1.849720863e-05 1.525294101e-05 2.769521141e-05 1.608489333e-06 -3.041650585e-06 --3.511539606e-05 -1.755953132e-05 -1.139910981e-05 3.691490916e-05 7.846554469e-05 --2.259213936e-05 -2.13449702e-05 -3.236145994e-05 -7.386786138e-06 5.516141393e-05 --7.686581946e-07 -3.969963669e-06 -8.528146204e-06 -8.114365307e-06 4.184298329e-06 -1.739799661e-06 7.614117785e-06 1.294174141e-05 4.008750922e-06 -1.23821499e-05 -0.06314684687 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0234515164 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.08000296359 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03473968385 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001918500921 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003881036914 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005838641132 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001012948374 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.301512563e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002530377204 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.114694716e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.984036157e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.009556415e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06650469847 0.6002201729 -0.2916620501 0 0 --0.09480409372 0.05211866259 -0.01478635482 0 0 -0.1738082007 -0.01497007182 0.06734993111 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06854528989 0.07003400993 -0.1190607763 0 0 --0.06151029343 0.02619231005 0.00980541507 0 0 -0.1125716561 0.008453261974 0.01482289477 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02024428886 0.04243931598 -0.08208409634 0 0 --0.009041413133 0.006106468087 -0.0009581753628 0 0 -0.01623998393 -0.0009059565736 0.007331194046 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006997843657 0.007494402214 -0.01264895254 0 0 --0.004514567978 0.006374946792 -0.01361470459 0 0 -0.008160424445 -0.01344666449 0.02309799249 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001799040583 0.0006611851535 -0.0004028767511 0 0 --7.496820515e-05 5.884383782e-05 -3.387581497e-05 0 0 -0.0001297033671 -1.987782903e-05 0.0001010132029 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001686080569 0.0006990582223 -0.0005268610712 0 0 -9.118196897e-05 -2.420633621e-05 0.0005293141407 0 0 --0.0001781791589 0.0005363451931 -0.0006929077448 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004448249549 0.0005141376189 -0.0008041677386 0 0 --0.000130063371 0.0002117454965 -0.0005547808195 0 0 -0.0002374145936 -0.0005716609548 0.0009118920461 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.30970523e-05 0.0001415531935 -0.0001181646511 0 0 --1.35308519e-05 -2.153189013e-05 7.073949394e-05 0 0 -2.667476404e-05 7.021494036e-05 -0.000109157574 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.731330925e-06 0.0001051058665 6.807639498e-05 0 0 --1.421161819e-05 4.574638091e-05 -3.963698067e-05 0 0 -2.409972527e-05 -4.15738217e-05 9.27115664e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001435598265 0.0001917965592 -0.0001774182467 0 0 -2.878628287e-05 -2.787766699e-06 -4.319820299e-05 0 0 --5.279503741e-05 -4.585827647e-05 5.212992069e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.993367488e-06 8.696983202e-05 -5.047462328e-05 0 0 -6.852157575e-06 -2.23357636e-05 4.290447367e-05 0 0 --1.218686943e-05 4.524158747e-05 -7.33996298e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.284752155e-06 5.256218344e-05 1.863436933e-06 0 0 --1.14413926e-05 1.346266281e-05 -2.357157812e-05 0 0 -2.055384052e-05 -2.380785565e-05 4.264851179e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.120899574e-05 7.474226955e-05 -4.744338429e-05 0 0 -1.260592674e-05 -5.760726823e-06 4.497375691e-07 0 0 --2.300519185e-05 1.745186026e-07 -6.536066231e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1959074085 0.1749776237 -0.3182742347 0.01864636768 0.03803106266 --0.3421021379 -0.07935020902 -0.1142687614 0.4186420167 -0.6243005779 -0.2811871931 0.01521407348 0.03305715436 0.01818265521 0.3259977045 --0.01605878437 0.01597615121 -0.04251818133 0.03836628402 -0.005930430185 --0.02162688059 0.03737520966 -0.05947689669 -0.006422175092 0.03363357436 --0.05112581433 0.04690125687 -0.08424382781 -0.0008600391001 0.002196645286 --0.08062324175 0.01064710019 -0.08731841666 0.07365507576 -0.09710710423 -0.1184775132 -0.06665802286 0.114305433 0.04122148431 0.04202881367 --0.02095229762 0.0125702382 -0.04731879602 0.03863745041 -0.01633626303 --0.03189606503 0.04225708792 -0.06117382509 -0.01693221633 0.02245823502 --0.001897031476 0.009632859577 -0.01720912651 0.003856109847 0.006449892148 --0.01897152711 0.001943187588 -0.00587362613 -0.01005817372 -0.0212855889 -0.0366340362 -0.01180995997 0.01252763257 0.02998439162 0.03149330725 --0.00720263501 -0.00142907337 -0.0112177557 0.009469604637 -0.01239411277 --0.01188294842 0.01063707854 -0.01050791251 -0.01231982609 -0.002860607464 -0.00747790786 0.006407025665 -0.011515271 0.009303105669 0.01484853339 --0.006228879745 -0.005421962193 0.01091070233 -0.008731316047 -0.01403803124 -0.009630063168 0.009207194077 -0.01711740098 0.01410545473 0.0228056423 -0.001996900332 0.0007695306844 -0.003054446439 0.002003370424 0.003090448419 -0.003339194721 0.002873938156 -0.004052859697 0.003368839433 0.00528369242 -0.001385900308 0.001642088405 -0.002952183526 0.002224023813 0.003535021963 --0.0004305450085 0.0001882763817 -0.0003248370988 0.000492484566 -0.0002744566117 -0.000672970638 5.451234766e-05 -0.0001137437779 -0.000195881468 0.0008505218417 -0.0009730101013 0.001161647963 -0.002055674202 0.002113293185 0.002168471263 -0.001621126154 0.001852796339 -0.003347512023 0.002203489833 0.004227262518 -2.408161103e-06 0.0003566768171 -0.0006411646588 0.0002146574165 0.0003411323303 -4.995781862e-05 -2.705930545e-05 -0.0002995437124 0.0006310122205 -0.0001409102612 --0.0002691213891 -0.0001770338677 0.0002965249842 -0.0002271976715 -0.0004681307393 -0.0003391262652 0.0001729808328 -0.0003340606501 0.0003560799088 0.0005266511095 -0.0005405611808 0.0003105333916 -0.0005377031882 0.0004867588706 0.0009004059148 -0.0001170981383 8.801149012e-05 -0.0001575993946 0.0001329889002 0.000216684914 --0.0003053014862 -0.0002792558147 0.0005100148265 -0.0003818689726 -0.0006656314347 -0.000493805529 0.0004738861887 -0.0008535184195 0.0006677677085 0.001087972242 --7.49674587e-05 -8.623615847e-05 0.0001450197336 -0.0001404601446 -0.0001666694236 --0.0001265161474 -0.0001326869937 0.0002456102307 -0.0001693074231 -0.0003115456491 -2.663405031e-05 8.630400963e-05 -0.0001550243098 8.313834856e-05 0.0001435987792 --0.0001454154424 3.654921533e-05 -0.000102536727 6.916917857e-05 -0.0001159218381 -0.0002124547477 -3.859590874e-05 9.304768847e-05 1.636306407e-05 0.0001528303838 --8.989827313e-06 4.342944568e-05 -0.0001042725962 0.000120607602 2.120976917e-05 --1.249643625e-05 9.298987789e-05 -0.0001520884304 1.238810443e-05 0.0001391398079 --5.277592203e-06 0.0001154093401 -0.000208823527 8.349239957e-05 0.0001382624852 --3.127608723e-05 -2.826194395e-05 -2.798937821e-05 0.0001989436896 -0.000143249302 --6.642131261e-05 1.229916488e-05 -3.875022202e-06 -8.575664538e-05 -2.654896374e-05 -9.691388741e-05 4.658893921e-05 -7.661404253e-05 6.92657154e-05 0.0001533967642 -0.0001551032785 7.038120974e-05 -0.0001291227934 0.0001499450928 0.0002259602059 --1.968332821e-05 1.530867417e-05 -2.814144004e-05 2.34622363e-06 2.776714012e-06 --8.6293963e-05 -5.617461167e-05 7.796813774e-05 1.20936997e-05 -0.0001884912062 -8.22544285e-05 8.022356615e-05 -0.0001369657533 7.335813936e-05 0.0001900345794 --1.756678819e-05 -2.202322236e-05 4.427891875e-05 -4.72811152e-05 -3.640478262e-05 --3.158890009e-05 -4.007683685e-05 6.924957862e-05 -3.55825968e-05 -8.566297759e-05 --2.129826376e-05 9.478246902e-06 -1.741844383e-05 -3.858804218e-06 -6.756029239e-06 --4.457672453e-05 5.139815982e-06 -3.238799802e-05 4.993912495e-05 -5.655113472e-05 -4.531379366e-05 -1.290423591e-05 3.198184083e-05 -1.06748266e-05 3.225003392e-05 --1.124837583e-05 1.293223984e-06 -7.250394642e-06 9.915126027e-06 -1.329439197e-05 --1.72993267e-05 6.422658427e-06 -8.999423733e-06 -1.267076807e-05 -4.170456951e-06 --8.770779299e-06 2.577191427e-05 -4.681338097e-05 1.528758275e-05 2.557642508e-05 --2.865517272e-05 -7.892869857e-06 -9.827839527e-06 5.056536197e-05 -5.996756487e-05 -1.191785126e-05 2.307411447e-06 2.029501302e-06 -1.024240512e-05 1.976788801e-05 -1.159635529e-05 9.118298265e-06 -1.481808809e-05 8.783594669e-06 2.381850698e-05 -1.881885665e-05 1.317423507e-05 -2.460801432e-05 2.363730748e-05 3.299500287e-05 --1.913453074e-05 1.217914984e-05 -2.235562026e-05 -6.8307398e-07 -1.092044512e-06 --3.373090511e-05 -1.509700053e-05 8.943141277e-06 3.515580417e-05 -7.254542225e-05 -2.210912247e-05 1.852863043e-05 -2.760575504e-05 5.351882681e-06 5.074670894e-05 --2.734652589e-06 -4.474870961e-06 9.010507817e-06 -8.244770333e-06 -6.978117572e-06 --4.803995595e-06 -8.035536438e-06 1.394234756e-05 -6.741711192e-06 -1.536279291e-05 -0.135553984 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2027622963 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05088000428 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00145011892 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005568395734 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001483043333 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003720548272 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000354780514 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002312310408 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001375325211 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.144123342e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.582658641e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.314977267e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04515113839 -0.05637151063 -0.003923850458 0 0 --0.06059489242 0.07565560481 0.005963456281 0 0 --0.001769190901 0.0004950287866 -0.5785590409 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.09450380684 -0.1123747165 -0.005019336928 0 0 --0.1268176417 0.1508041756 0.008142752829 0 0 --0.008884673343 0.009523334418 0.07026481773 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.059936372 -0.06811880297 -0.0003226146201 0 0 --0.08042051519 0.0914024134 0.001293515943 0 0 --0.003111103229 0.00301172682 0.1993251619 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01387596623 -0.01530849053 0.001240182213 0 0 --0.01861350963 0.02053597817 -0.001470509673 0 0 -0.0007895724159 -0.001040034655 0.07493690099 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007632257432 -0.0009004138475 0.001007805033 0 0 --0.001020497729 0.001204302818 -0.00134117258 0 0 -0.001070810823 -0.001272206083 0.00957714165 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001810662009 0.002314170513 0.0002804510707 0 0 -0.00243048207 -0.003106315412 -0.0004045808236 0 0 -0.0003822811378 -0.0004668005109 -0.006521023269 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001472314283 0.001940295498 -5.172786182e-05 0 0 -0.001975404018 -0.002603349714 4.569786992e-05 0 0 -5.014466341e-05 -4.951700451e-05 -0.009143161863 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001185115585 0.0001508815182 -0.0001339853651 0 0 -0.0001585841474 -0.0002019390154 0.0001779197035 0 0 --0.000133976503 0.0001723623132 -0.0006046530388 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002489936562 -0.0003044491696 -9.407651552e-05 0 0 --0.0003344138289 0.0004088713267 0.000130045651 0 0 --0.0001119693678 0.000135004822 0.0006066784697 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.777860621e-05 -0.0001107062912 8.035258479e-06 0 0 --0.0001311710086 0.0001485134246 -9.385617424e-06 0 0 -4.303637368e-06 -6.142574504e-06 0.00064210009 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.985031185e-05 -5.889087879e-05 3.034960921e-05 0 0 --6.678520876e-05 7.890335152e-05 -3.999398991e-05 0 0 -3.210856621e-05 -3.850742809e-05 0.0001453932689 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.282219335e-06 8.691508751e-06 2.717666784e-06 0 0 -9.781014203e-06 -1.167297842e-05 -3.753408756e-06 0 0 -3.184530934e-06 -3.732288718e-06 5.439457745e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.711322407e-05 3.516396175e-05 1.04736862e-06 0 0 -3.638547677e-05 -4.718834428e-05 -1.834840104e-06 0 0 -3.450297155e-06 -4.375046023e-06 -0.0002167471671 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0280890869 -0.02465832297 -0.00131919043 -0.0362675276 0.001882255198 -0.004717588362 0.004139572001 0.0004493922481 0.006089400506 -0.0006218610795 --0.000711141253 -0.0002044717241 -0.02455491334 -0.0003869102 0.03295171172 --0.05147012957 -0.04518171749 -0.002631507411 -0.06645423334 0.003736512143 -0.0006856739715 0.0003905206759 0.03294972811 0.0007077569871 -0.04421907962 --0.01544985236 -0.01225551094 0.0005796454437 -0.01795207821 -0.0007282186991 -0.01371822278 0.01087343911 0.00083294397 0.01593285857 -0.001161740239 -0.0005600545594 0.0006556082676 0.002249652193 0.0009822923823 -0.003022629968 --0.03495172858 -0.02771830873 0.0002967056513 -0.04060617204 -0.000285955331 --0.001169578486 -0.0008799434116 -0.003027965528 -0.001299513447 0.004066752014 -0.0007606509149 0.0005106926457 0.000645446102 0.0007453925304 -0.0008676379715 -0.009763733218 0.006611331305 0.0001629822834 0.009620208553 -0.000239239036 -0.0003035194501 0.0002089923436 0.01204306041 0.000353462867 -0.01616045999 --0.004509184474 -0.003059574871 0.0008889446864 -0.004448515281 -0.001183265283 --0.0006448915717 -0.0003276754246 -0.01616365767 -0.0005352157503 0.02168923454 -0.002139374894 0.0007274705812 -6.127408969e-05 0.001008164808 8.498625152e-05 -0.002387505043 0.0008161894866 -0.000163160493 0.001131430159 0.0002219265517 --0.0002442866181 -0.0002036826023 0.002776541134 -0.000290512946 -0.003723288435 -0.002282925391 0.0007746174564 -2.777858464e-05 0.001073387227 4.026336845e-05 -0.0002774232828 0.0002627996724 -0.003724000057 0.0003762415594 0.00499364479 -0.0002306379136 -0.0001209061569 -3.621259322e-05 -0.000195661986 5.108607595e-05 -0.000174318096 -8.900224725e-05 -2.038469994e-05 -0.000144200689 2.920086113e-05 --8.399018836e-05 -3.824374972e-05 -0.0002253143711 -5.602250093e-05 0.0003027140995 -0.0002959593814 -0.0001561285911 -4.928620274e-05 -0.0002525922298 6.935051097e-05 -0.000108752374 5.238878257e-05 0.000302680143 7.700923158e-05 -0.0004066931886 --9.037170033e-05 -8.592089755e-05 4.752000078e-05 -0.0001266417214 -6.327078936e-05 -7.081916807e-05 6.669370165e-05 4.243700377e-05 9.86099964e-05 -5.733124325e-05 -4.133691993e-05 3.998749797e-05 -1.102098413e-07 5.906407694e-05 -8.578257404e-08 --0.0001990318285 -0.0001888507824 5.566592713e-05 -0.0002785435318 -7.360734326e-05 --5.677919016e-05 -5.356985612e-05 -3.643953187e-07 -7.906810448e-05 7.983978564e-07 -5.81577372e-05 1.666096985e-05 -6.449557125e-07 2.276912553e-05 9.163834754e-07 -5.894116579e-05 1.711644933e-05 -3.678811374e-06 2.342008445e-05 4.983396628e-06 --3.527699093e-06 -6.717980146e-06 7.537698672e-05 -9.881877668e-06 -0.0001010329745 -6.560585539e-05 1.869468227e-05 5.824660856e-07 2.553609409e-05 -7.220936691e-07 -3.740650168e-06 8.787862467e-06 -0.0001011079904 1.296108149e-05 0.0001355196691 -4.301379506e-05 5.027929273e-06 -4.533448556e-06 5.592293256e-06 6.252174393e-06 -3.949782681e-05 4.738563756e-06 -4.730411345e-06 5.320535646e-06 6.500240141e-06 --1.167106676e-05 -6.070035989e-06 2.32401136e-05 -8.688136228e-06 -3.113761067e-05 -5.101161882e-05 5.920047819e-06 -5.176331348e-06 6.566953326e-06 7.147087601e-06 -1.480233671e-05 8.062106454e-06 -3.112538843e-05 1.157427187e-05 4.169810609e-05 --1.135506891e-05 -1.650716221e-05 3.636931781e-06 -2.464131844e-05 -4.753896873e-06 --2.516490749e-06 -3.769050323e-06 4.404242848e-06 -5.613619261e-06 -5.881451257e-06 -1.961624793e-06 3.700877167e-06 -2.76205961e-05 5.429821475e-06 3.703784734e-05 --1.818186404e-05 -2.636882299e-05 3.744810493e-06 -3.936982872e-05 -4.822922675e-06 --2.579224406e-06 -4.847050393e-06 3.70150862e-05 -7.107528715e-06 -4.963619399e-05 -1.517850842e-07 -4.036784103e-06 -1.736277537e-06 -6.139618557e-06 2.356442177e-06 -1.545694496e-07 -3.029837079e-06 -1.190152362e-06 -4.608852561e-06 1.616797844e-06 --1.799967051e-06 -1.96953304e-06 -6.057485026e-06 -2.962399626e-06 8.149830732e-06 -1.810277851e-07 -5.173577398e-06 -2.26275358e-06 -7.868350296e-06 3.070452284e-06 -2.41256428e-06 2.683926486e-06 8.144454581e-06 4.037644076e-06 -1.095787708e-05 -4.201626788e-06 2.436374719e-06 8.780298951e-08 3.518544552e-06 -1.233757405e-07 -6.609438468e-06 3.838990501e-06 -3.287014539e-07 5.542945935e-06 4.321640228e-07 --3.690343329e-07 -3.292726925e-07 1.034939249e-05 -4.462936676e-07 -1.388355361e-05 -3.338019085e-06 1.932884e-06 2.678283821e-07 2.791934157e-06 -3.637318585e-07 -3.658598293e-07 4.023561794e-07 -1.388480549e-05 5.447840875e-07 1.862603417e-05 --2.428169573e-06 -2.721751544e-06 1.38431852e-06 -4.033781426e-06 -1.839239151e-06 -4.992359595e-07 5.387238142e-07 1.324692734e-06 8.045243997e-07 -1.781288015e-06 -1.052926274e-06 1.218597454e-06 -2.69588604e-06 1.798509525e-06 3.609423137e-06 --4.51034353e-06 -5.04333627e-06 1.596777452e-06 -7.478204574e-06 -2.108633952e-06 --1.418270112e-06 -1.622561416e-06 3.60190173e-06 -2.394010695e-06 -4.822509014e-06 --9.771180705e-07 -7.173984739e-07 -4.327250428e-07 -1.047901074e-06 5.824539508e-07 -1.34420272e-07 1.002808736e-07 -3.160826042e-07 1.449087239e-07 4.239382469e-07 --5.017867625e-07 -3.550946074e-07 -7.140106425e-07 -5.200593291e-07 9.589907598e-07 --1.77003885e-06 -1.300379257e-06 -5.627392431e-07 -1.898526662e-06 7.58344836e-07 -6.558912286e-07 4.799551897e-07 9.621367208e-07 7.039446654e-07 -1.292349192e-06 -0.06277837037 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06875729086 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01475740487 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01250936213 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.577734578e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002571176452 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.872938491e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000130356071 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.782578756e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000141437206 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.279663323e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.629673871e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.557320193e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.162908328 -0.1263420045 -0.005035044835 0 0 --0.05961324233 0.04623591187 0.003091832751 0 0 --0.002430957327 -4.759478084e-05 -0.3320411669 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0610302437 -0.08085728727 -0.0003229840917 0 0 --0.02232023824 0.02958196636 0.001015145938 0 0 --0.001399626541 0.00145579179 0.06580162161 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00456547292 -0.003530384071 0.00084947682 0 0 -0.001668698056 0.001289950947 -0.0002108605758 0 0 --0.0006731476094 -0.0002037465955 0.01009093763 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01327336725 -0.0003080761889 4.49429267e-05 0 0 --0.004856141225 0.0001127006132 -1.571171427e-05 0 0 --0.000607980216 -7.297865629e-06 0.0003773049867 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000878976762 0.0004078505292 -2.618516529e-05 0 0 --0.0003210377205 -0.0001490441506 9.320507306e-06 0 0 -4.51336839e-05 -6.785542584e-06 -0.0009676167034 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003059639295 0.0005924359262 5.229104061e-05 0 0 -0.0001121454556 -0.0002168694382 -2.358299963e-05 0 0 -3.673127261e-05 -3.458730008e-05 -0.0008216129841 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003305447474 -2.853811401e-05 9.121643274e-06 0 0 --0.0001207448327 1.042113054e-05 -3.327719745e-06 0 0 -1.872410569e-05 -2.495716853e-06 1.925121963e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.924126842e-05 -0.0001097314233 -8.448600649e-06 0 0 -1.437221445e-05 4.016922489e-05 4.526352461e-06 0 0 -1.990425278e-07 4.575805412e-06 -9.822714837e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001323323981 7.924390299e-05 -1.150892844e-05 0 0 -4.83901269e-05 -2.89671703e-05 3.353039542e-06 0 0 --1.586026725e-06 5.767250052e-07 -0.0002213963236 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.799401083e-05 4.15724582e-05 4.561270338e-06 0 0 -2.855356654e-05 -1.522226187e-05 -2.047968487e-06 0 0 -6.608005767e-06 -3.584604134e-06 -0.0001009587198 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.914623689e-06 -1.342911447e-05 5.840451916e-06 0 0 --3.252387285e-06 4.899187805e-06 -1.961719624e-06 0 0 -1.616724389e-06 -2.36701098e-06 -3.18271696e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.95257771e-06 -5.319196269e-06 -8.838848266e-07 0 0 --3.276184383e-06 1.947138146e-06 3.062613863e-07 0 0 --2.688565486e-07 -1.301789657e-07 -4.167704957e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.042142658e-05 1.606418748e-05 -2.029031976e-06 0 0 -7.464440542e-06 -5.871995866e-06 6.120515009e-07 0 0 -4.079327321e-07 -1.268307561e-07 -6.071088639e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1420797802 -0.1577486695 -0.004435424919 -0.03618289007 0.001018346511 --0.04649442491 0.05162915049 0.003618233429 0.01184056455 -0.0007024233894 --0.002544064634 -1.732293157e-05 -0.2929968063 0.000227237509 0.04991488042 -0.1360447563 -0.1510466497 -0.003185965979 -0.03464643605 0.0007943053991 --0.0004315139695 -0.001517563894 0.1071851675 -0.0004170585239 -0.01826492282 -0.06490327911 -0.08233178784 0.001496223051 -0.01117977781 -0.0003718577313 --0.04264467169 0.05410204246 0.002024651861 0.007337908489 -2.803749404e-05 --0.002516288284 0.002624348808 0.08044258849 0.0001320679977 -0.007277414141 -0.01144935626 -0.01452263234 0.002780469455 -0.001979160578 -0.0002934923325 -0.0009295421882 -0.002028254217 -0.02944815405 -0.0001855045381 0.002661123061 -0.001473551826 -0.008312236898 0.001361615538 0.0001010105616 -5.330914092e-06 --0.001477496227 0.00833051968 -0.0003541506137 -0.0001066208749 4.953792493e-05 --6.684844626e-05 -0.0002210240967 0.03212458717 -0.0001690272491 0.0014031965 --0.000947546595 0.005338946457 0.0005004226903 -7.219233292e-05 6.356904335e-05 -1.930037241e-05 -0.0001821175676 -0.01174955527 6.626629317e-05 -0.0005149090904 -0.005637779721 0.001768931377 0.0001765115277 -0.0006751727591 6.720209639e-05 --0.00330793954 -0.001038349628 -0.0001314094997 0.0003963789485 -5.29323147e-05 --0.0006179443832 -0.0001334276561 -0.0005282690664 4.999005141e-05 -0.0002541305667 -0.001938480276 0.0006068894116 -1.289896939e-05 -0.0002314856783 -1.258073069e-05 -0.000138620533 3.870507519e-05 0.0001935648311 -1.501104776e-05 9.340219019e-05 -0.001301911452 0.000628735345 -1.684800833e-05 0.0001060418321 -1.087671175e-06 --0.001503119638 -0.0007270810997 -1.483488185e-05 -0.0001227227195 5.406918437e-06 --4.189451865e-05 -5.079813976e-05 -0.002848344152 -1.509753669e-05 0.0003446875356 --0.001306539202 -0.0006334058436 -5.949384132e-05 -0.0001070357886 1.034076163e-05 --3.579213501e-06 2.010671096e-05 0.001042127461 5.953743662e-06 -0.0001261207163 --0.0004532811314 0.0001133248597 1.632386425e-05 -8.720201913e-07 4.591374852e-08 -0.0003868231252 -9.672369724e-05 -2.246809799e-05 7.186378751e-07 -6.440678359e-07 -6.657525971e-05 -2.807136374e-05 -0.0003059690374 -8.577810162e-07 -2.144911828e-05 -0.0001285544083 -3.218617951e-05 -1.339641643e-05 2.208669264e-07 -6.339594701e-07 --3.801131135e-05 9.63788086e-06 0.0001120909019 2.471319079e-07 7.846044953e-06 -0.0001275054581 1.048302718e-05 3.996454784e-06 -2.365273325e-05 -2.142309495e-06 --9.359788537e-05 -7.731335777e-06 -2.938162758e-06 1.736325798e-05 1.024900026e-06 -3.352855925e-06 -2.179257381e-06 -1.568712112e-07 -9.190986884e-07 -3.847117589e-05 --9.647838926e-07 -9.505070548e-08 -3.206683345e-08 1.800281723e-07 -2.111790425e-07 --1.404023489e-06 8.183215051e-07 6.189940693e-08 2.765841467e-07 1.40720927e-05 --4.945367309e-05 -0.0001228723425 -1.650671589e-05 -2.687024267e-05 2.793732706e-06 -2.310283969e-05 5.742971192e-05 1.77405577e-05 1.254802333e-05 -3.024878489e-06 -5.961910635e-06 1.718042278e-05 -7.893659873e-05 3.851183171e-06 1.35416829e-05 --3.107655104e-05 -7.721054556e-05 6.230768872e-06 -1.690295875e-05 -1.091519448e-06 --2.424197327e-06 -7.292640446e-06 2.875005742e-05 -1.629827235e-06 -4.932910501e-06 --5.713959929e-05 2.183512265e-05 -3.25703404e-06 6.824295373e-06 5.319388263e-07 -8.840438026e-05 -3.383780893e-05 -7.879434375e-07 -1.058416582e-05 4.861209838e-07 -1.392587277e-06 -4.60358335e-06 -0.0001902635797 -1.676615019e-06 4.275500547e-05 -0.0001103187699 -4.225142465e-05 -3.914807224e-06 -1.322021962e-05 1.265219808e-06 --3.312536981e-06 1.751265016e-06 6.962448981e-05 6.530554891e-07 -1.565319396e-05 --1.07280479e-06 4.676672101e-06 2.942260985e-06 1.34280401e-06 -6.720825465e-07 -2.44075109e-06 -1.076168982e-05 -3.580435238e-06 -3.086104912e-06 8.419889346e-07 -1.593545203e-06 -4.934188162e-06 -6.569948289e-05 -1.494539513e-06 1.45325791e-05 -3.898181623e-06 -1.730904419e-05 -2.946323974e-06 -4.960130215e-06 7.331394206e-07 --6.813796983e-07 1.838651048e-06 2.407084217e-05 5.561564986e-07 -5.325182859e-06 -1.705214447e-05 -2.773588119e-05 4.461194308e-07 -6.549639962e-06 -6.296658554e-08 --8.325382859e-06 1.354594193e-05 3.174979812e-08 3.198479606e-06 -1.405330773e-08 --3.571349969e-08 -1.458505612e-07 -1.316095034e-05 -1.863222034e-08 2.362319459e-06 -9.810949199e-06 -1.596279988e-05 -1.837536276e-07 -3.768986018e-06 4.283092256e-08 --3.334904431e-08 -1.70755959e-07 4.816158132e-06 -4.473556131e-08 -8.648547382e-07 -2.12821308e-05 -1.617318617e-05 -2.246187159e-06 -4.833960256e-06 5.702766003e-07 --7.132162264e-06 5.423872e-06 1.838998531e-06 1.62079787e-06 -4.407270796e-07 --2.565929818e-06 1.448604508e-06 -2.956056106e-05 4.465876226e-07 6.786339561e-06 -2.00210027e-05 -1.520412061e-05 2.975219149e-07 -4.54507369e-06 -1.746142898e-08 -6.664498583e-07 -6.254065453e-07 1.080072593e-05 -1.884127745e-07 -2.480295841e-06 -1.004088407e-06 -1.696559361e-06 2.272323866e-07 -4.564817707e-07 -3.991686587e-08 -3.083169097e-06 -5.201363703e-06 -8.582774002e-07 -1.400333252e-06 1.965199679e-07 -1.014792117e-06 -1.648497743e-06 -5.083191702e-05 -4.710288462e-07 1.043080927e-05 -9.030346701e-06 -1.523823571e-05 -1.376121272e-06 -4.101889966e-06 3.422838794e-07 --4.655067358e-07 5.869414853e-07 1.860806611e-05 1.679870292e-07 -3.818974735e-06 -0.04945767301 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05813377112 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02183901395 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002773431955 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005683478927 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003045087541 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001197365695 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.409970668e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.595807151e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.421739079e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.216267193e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.353259715e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.530509697e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006752477586 -0.001617522924 -0.0005457304798 0 0 --0.08167360545 0.1959778208 0.00680033178 0 0 --0.001386741188 0.001927535828 -0.2625389508 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003778939193 -0.0001629215055 -0.000174013445 0 0 --0.04596799987 0.02033143769 -2.050187732e-05 0 0 --0.001054342678 -0.0004411421361 0.04252014529 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.630797781e-05 -4.891721287e-05 4.46593318e-06 0 0 -0.00309903234 0.005765362641 -0.0002861920287 0 0 -0.0002861770773 0.0005548074547 0.0007439349815 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.271138146e-07 -5.830572958e-05 -5.688215445e-06 0 0 --2.42132161e-05 0.007162446533 -6.974772584e-05 0 0 --5.089998244e-07 3.949141471e-05 0.001391690811 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.922687484e-07 -5.398968175e-06 -9.097616958e-07 0 0 -4.565520843e-05 0.0006299679817 5.037543677e-05 0 0 -4.233525487e-06 6.509960527e-05 -0.0002368845872 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.425866931e-06 -8.339693694e-07 1.535114009e-06 0 0 -0.0005428735732 0.00011029976 7.492828784e-06 0 0 -6.776952872e-06 -3.051209717e-05 -0.0008504372318 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.902081266e-07 3.638373437e-06 9.173240065e-07 0 0 -3.436269594e-05 -0.0004296583647 -3.530676663e-05 0 0 -3.360969387e-06 -4.375381932e-05 -0.0002420570327 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.747748267e-08 -6.948931988e-07 -2.169182167e-08 0 0 --1.109921518e-05 8.900867742e-05 -1.152182311e-05 0 0 -9.958976725e-07 -8.832686029e-06 -3.282653496e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.022281401e-07 -3.775500718e-07 -3.161114236e-07 0 0 --4.771202551e-05 4.482426946e-05 1.164668458e-05 0 0 --3.33237641e-06 3.137790199e-06 -6.855361626e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.156003071e-07 4.98393524e-07 7.003310352e-08 0 0 -1.449663224e-05 -6.256288591e-05 7.039098701e-06 0 0 --3.997540468e-07 -1.422436998e-07 -0.0001263473152 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.67628206e-07 6.975220078e-07 2.06237752e-07 0 0 -2.013123195e-05 -8.336376733e-05 -5.474362044e-06 0 0 -1.288881854e-06 -7.881941653e-06 -9.954809293e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.18944992e-08 1.501656682e-07 7.93517686e-08 0 0 -8.392939045e-06 -1.745962724e-05 -4.303647735e-06 0 0 -1.246510703e-06 -3.547283811e-06 -6.253959899e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.608248416e-08 -8.121681052e-08 -1.755062844e-08 0 0 --3.198441737e-06 9.933985419e-06 -1.089300702e-07 0 0 -1.241448469e-07 -7.236605852e-07 -4.005238534e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01751505567 -0.006839448736 -0.0002640990078 0.01597649899 -0.001409069332 -0.001635002619 0.0006396219723 -0.0001350873585 -0.001488092345 -0.0008568762987 --0.0005981445435 -0.0006792830213 0.0004234899002 0.0002354380494 0.002628642879 --0.228096653 -0.08909041846 0.0010835202 0.2079753324 0.009635427914 --0.001689891029 -0.0009315260113 -0.05189983613 0.00216566258 -0.3211128312 -0.03266655873 0.02464151024 -0.0005326155055 -0.02772954871 -0.001552307208 -0.0008499077131 0.0006443408159 -0.0001281002332 -0.0007207237623 -0.0004802144045 -6.342885384e-05 1.700732073e-05 -0.0001711548536 -7.544323282e-05 -0.0006576109051 --0.04722630701 -0.03559896715 -0.0002393429717 0.04009339514 -0.001641720842 --0.001690052055 -0.001814151506 0.0205268113 0.001327535073 0.07900104778 -0.0004468307068 0.002977886608 0.0001556831 0.0005880570783 0.0003811107129 -4.142207812e-06 2.778239071e-05 -2.959561735e-06 5.463096916e-06 -6.399557728e-06 -4.031883615e-06 2.658424772e-05 -3.009509794e-05 5.078245163e-06 -6.769516234e-05 -0.0002251890779 0.001528762443 -0.0002585614824 0.0003033314093 -0.0005680899164 -9.550773947e-05 0.0004174695828 0.003713851259 8.697187256e-05 0.008383826348 -0.002050801494 -0.001654976949 8.368110611e-06 -0.00326347594 9.182060551e-06 -5.576489182e-05 -4.518310492e-05 9.963872874e-07 -8.884718762e-05 -5.175563657e-06 -2.890986913e-06 -5.132859787e-06 1.255335254e-06 -7.101932634e-06 -8.802349868e-06 --0.003259380043 0.002628048369 -4.694142666e-06 0.00518530744 -7.532143645e-05 --0.0001182069148 0.0001374713959 -0.0001501322206 0.0002154706594 0.001055671395 --7.756513457e-05 -0.0001246432058 5.39033032e-06 -9.005400586e-05 -2.263628416e-05 --4.004201762e-07 -6.514856877e-07 1.081728585e-07 -4.737860774e-07 -4.929783484e-07 --1.115835605e-06 -2.828119887e-07 -1.228777676e-06 3.345888121e-07 5.761009654e-06 --7.959351827e-05 -0.0001252544879 -1.055641276e-05 -8.95147009e-05 5.205928536e-05 -4.114609094e-06 -1.607134779e-05 0.0001509704625 -2.002182408e-05 -0.0007066895135 --0.0002343881183 -0.000457316396 5.183362706e-06 2.500620666e-05 4.327138499e-05 --4.507725165e-06 -8.644271525e-06 9.178128562e-07 5.394162235e-07 4.448533914e-06 --1.108116863e-06 -1.658260462e-06 2.797626893e-06 3.113622513e-07 1.246294587e-05 -0.0001320998008 0.00025922708 5.270249491e-06 -1.352444974e-05 1.182289174e-05 -4.68603445e-05 3.062727366e-05 -0.0003378236002 -2.817456992e-05 -0.001497421385 --4.6101707e-05 3.07049548e-05 1.751913404e-06 7.579463483e-05 1.230149271e-05 --6.579275618e-07 4.370281483e-07 6.064444918e-08 1.079635531e-06 4.121584952e-07 --5.375606183e-07 3.439519622e-07 9.574317623e-08 8.714208663e-07 6.431848472e-07 --9.718805285e-06 6.584395174e-06 -1.32103142e-06 1.611551871e-05 -8.62804334e-06 -2.511182974e-05 -1.583851131e-05 -1.10289168e-05 -4.030866591e-05 -7.358357821e-05 -3.247645383e-05 2.579986983e-05 2.898191786e-07 -1.413792415e-05 3.310814722e-06 -1.039155198e-06 8.312117757e-07 -3.567132495e-08 -4.469491383e-07 -4.585726403e-07 --9.00805439e-08 -1.232737293e-07 -2.871608391e-08 1.792007919e-09 -3.577632146e-07 --7.234577998e-05 -5.748654958e-05 -5.239798615e-07 3.14807164e-05 -5.847624064e-06 -1.317630083e-06 6.223892335e-07 3.499290085e-06 -9.79084919e-07 4.393918672e-05 --1.958479688e-05 -1.497377761e-05 -1.413019531e-06 1.193943516e-05 -9.654609019e-06 -2.089758965e-07 1.58490683e-07 -5.13799622e-08 -1.266213157e-07 -3.746913098e-07 --1.941606167e-07 -2.145870721e-07 1.884503357e-07 7.117756381e-08 1.358883313e-06 --5.608787595e-05 -4.27887138e-05 1.735193862e-06 3.411387798e-05 1.391172433e-05 --5.625414884e-06 -4.752374389e-06 -2.351655505e-05 3.695864504e-06 -0.000168897513 --6.02437639e-05 1.89715831e-06 -3.175415261e-07 6.936124959e-05 -4.563659344e-07 --7.801159409e-07 2.343972533e-08 2.45135946e-08 8.957956527e-07 2.49167965e-07 --3.155255809e-07 -5.528245952e-08 1.765258905e-07 3.075048614e-07 1.585681067e-06 --8.070844097e-06 2.337419315e-07 7.964022541e-07 9.231327355e-06 7.414464685e-06 -2.165886302e-06 4.43567677e-07 -2.160438072e-05 -9.317918384e-07 -0.0001925965714 --2.026854107e-05 -8.960060398e-06 5.501506232e-07 1.636531954e-05 5.220722861e-06 --2.177001547e-07 -9.57198216e-08 2.133220276e-08 1.755266595e-07 1.806024513e-07 --1.685552912e-07 -1.158660073e-07 9.322701729e-08 1.036058661e-07 7.590177977e-07 --9.965858117e-06 -4.420452336e-06 -2.467406185e-07 8.056816849e-06 -1.609284031e-06 -4.997880033e-06 1.851238919e-06 -1.115888434e-05 -3.848237086e-06 -9.0289741e-05 --9.230747535e-06 -4.418197233e-06 5.572296702e-07 7.466770033e-06 4.166344856e-06 -1.455746376e-08 7.172780477e-09 8.778462568e-09 -1.187885918e-08 6.185225539e-08 --1.236854523e-07 -1.069955894e-07 6.874241488e-08 6.527451527e-08 4.899286851e-07 --1.89380324e-05 -9.078968822e-06 -3.419745572e-07 1.534675092e-05 -1.975047595e-06 -3.492630272e-06 1.549076805e-06 -8.187128268e-06 -2.707389596e-06 -5.808941823e-05 --1.310471628e-05 -3.151138808e-06 -1.331941625e-07 1.254374835e-05 -7.269287114e-07 --2.895604894e-08 -7.053515747e-09 -1.955222135e-09 2.771084951e-08 -1.527405678e-08 --1.02227107e-07 -7.002493023e-08 6.519218008e-08 6.350472727e-08 5.394463065e-07 --1.859781465e-05 -4.471393138e-06 2.794803892e-07 1.778567492e-05 2.823792912e-06 --1.66685611e-07 -8.453048351e-08 -8.001362076e-06 4.093321667e-07 -6.584011451e-05 -0.3604552665 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01957955409 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.4130133555 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1407343575 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.006252578156 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003005583138 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003971235496 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004144103765 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.934049981e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001105534499 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.988557843e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000143296498 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.572381072e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.327197601 -0.02705813112 -0.12823946 0 0 --0.02516830935 0.3676379204 0.1809034136 0 0 -0.3231218536 -0.4227641517 0.1415901811 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1969727509 0.01534471742 -0.02485486781 0 0 -0.02141524015 0.1386929442 0.006687028825 0 0 -0.2287218507 -0.2882970316 0.1193259349 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02746314277 -0.006224182699 -0.01969086715 0 0 --0.009214732607 0.02959208577 0.03135690744 0 0 -0.04093593082 -0.0582623194 -0.06626245588 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01514169508 -0.02438920094 -0.04217064342 0 0 --0.02633310965 0.02996575668 0.05772631297 0 0 --0.03184470765 0.04175163742 0.07729959387 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00101098333 0.001363629384 0.002408459818 0 0 -0.001098853861 -0.001534003269 -0.002988216359 0 0 -0.002352430373 -0.003658537203 -0.006587201571 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002270071088 0.0009780084474 0.001233245515 0 0 -0.0009687779125 -0.0004821570392 -0.001568411256 0 0 -0.0008774915997 -0.00107727083 -0.004171046416 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006284727343 -0.001363750361 -0.002200886484 0 0 --0.00126313034 0.001033163094 0.002656403029 0 0 --0.001421349483 0.001794848187 0.001703471879 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.473318529e-05 0.0002471294846 0.0004326180635 0 0 -0.0002539087282 -0.0002966027927 -0.0006087337401 0 0 -0.0006121386163 -0.0008000766793 -0.001002713622 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.966235775e-05 1.223670375e-05 -2.827654836e-05 0 0 -7.083673894e-05 0.0001734083017 3.118462779e-05 0 0 -0.000126410778 -4.356558761e-05 0.0002351487906 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.572391173e-05 -0.0001684294461 -0.0002415101073 0 0 --0.0001311293827 7.290163865e-05 0.0003131070533 0 0 --0.0001484594557 0.0002375669471 -0.0002375699592 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.273963051e-05 9.845577775e-05 0.0001677711221 0 0 -7.081089594e-05 -0.0001896044421 -0.0002420222553 0 0 -0.0001121843368 -0.0002508233367 -0.0006929370412 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.053469997e-05 -2.299234603e-05 -4.411431532e-05 0 0 --2.832424768e-05 2.239764048e-05 5.658649477e-05 0 0 --4.797952985e-05 4.098772602e-05 1.9497419e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.790568935e-05 -1.637234013e-05 -1.823114204e-05 0 0 --8.834657829e-06 5.457947497e-06 2.921230458e-05 0 0 -1.6023353e-05 -6.972543391e-06 -7.423612552e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02032438212 -0.09169808444 -0.2307995808 -0.2253837521 0.04325253867 --0.04353301768 0.07360058122 0.1176318323 -0.01089101709 -0.0630803911 -0.2835775675 -0.2008155372 -0.3404216844 0.07675027573 0.002526724921 --0.2620032566 -0.09522598028 -0.1537056707 -0.1773661457 0.3779619869 -0.06780654964 0.1089058111 0.003779346038 -0.3815664236 -0.3523676854 -0.2086432067 -0.1265608832 -0.1820160861 0.1337474142 -0.05321771594 --0.06093617846 0.0779169014 0.1133475625 -0.03192192938 -0.03745410463 -0.01000531424 0.003211507225 0.05056265293 0.088970844 0.002914419829 -0.1148779494 -0.1504114329 -0.02066855239 0.4099092283 0.1512477381 --0.07463478381 0.01774232584 0.007012518751 -0.0841254488 0.04795428378 -0.01558762773 -0.04310260499 -0.06678862459 0.0008292219038 0.02098599993 --0.01984360728 0.01796832336 0.01781996866 -0.02090088664 0.005152830265 --0.03090242532 -0.007083463802 0.01054475264 -0.0007157603022 0.04806798955 --0.01561715958 -0.06273577854 -0.04031918435 0.03527423456 0.0883746186 -0.004636430108 0.0246852097 0.0455312048 0.01724124936 -0.02673965318 --0.004924442635 -0.002352093054 -0.004700652025 -0.003973571804 0.006399709332 -0.007788914678 0.005748753329 0.008981407808 0.008578907275 -0.01234597514 -0.003541677881 -0.0003355743999 0.001305927571 0.0005084172511 -0.001675019117 --0.01057870229 -0.01000684889 -0.01578836707 -0.01436866552 0.02136136477 --0.0007565978416 -0.002979434077 -0.004655920911 -0.003812021015 0.005948044708 -0.002580592257 0.002238333131 0.004086407452 0.002901980235 -0.005556729935 -0.002769845318 0.002937325889 0.005346613768 0.0037782606 -0.006825406316 -0.003926389965 0.00444874539 0.007842704086 0.006872518104 -0.009246981562 -0.002098971174 0.00260091725 0.004528725446 0.004232623663 -0.00505848525 --0.006415720484 -0.005584813083 -0.01003349526 -0.008019372835 0.01328798813 --2.734369248e-05 0.0009641743822 0.0009859150117 -0.0008403691288 -0.001245443328 -0.0005193430434 0.0002973359462 0.0004363185019 0.0002592010779 -0.0008902462642 -0.001257011031 0.0001936912502 0.0004765731664 0.0009997350919 -0.001478644763 --6.526399123e-05 0.001473365214 0.001120663138 -0.001992548541 -0.002073122545 --0.001125926144 -0.000342373589 -0.00124542573 -0.001905223562 0.001215422511 --0.0009254688719 -0.0006206547843 -0.001110311271 -0.00101131754 0.001630512211 --6.49869074e-05 -0.0001206216751 -0.0002124989794 -8.792537726e-05 0.0002543872883 --0.0005033807883 -0.0005718711575 -0.001037194169 -0.0008529538056 0.00119238818 --0.00120138063 -0.0009421023272 -0.001710449758 -0.001667457156 0.002209800605 -0.001065698076 0.0007225921301 0.001282057469 0.001060610387 -0.001942447655 -0.000400658144 -0.0001382846684 -0.0002174840699 0.0002540315103 -9.730838441e-05 -1.090731818e-05 0.0001655604287 0.0002777941691 6.060087018e-05 -0.0002721523149 -7.087155038e-05 0.0001735211504 0.0003425870478 0.000295150528 -0.0002650762014 -0.0002535310708 -0.0001521839492 -0.0001009959939 0.0006908456991 0.000240571436 --0.0003704434651 -0.0001142254127 -0.0001775149549 -0.0002091896201 0.0005130833814 -6.946148684e-05 0.0001974974218 0.0002924230036 -7.54909747e-07 -0.0003698174243 -0.00020615467 9.615354439e-05 0.0001714302462 0.0001833723581 -0.0003113635954 -0.0004719104695 9.998960319e-05 0.0001755510357 0.0003313739647 -0.000564504984 -6.348325018e-05 0.0002171824744 0.0002948924792 -8.430472932e-05 -0.0004210804556 --0.0003870987529 -0.0002350656001 -0.0004851180287 -0.0005727198849 0.0005896035439 --0.000338557398 -6.32486345e-05 -0.0001502953974 -0.000377532222 0.0003304368729 --2.357820653e-05 -6.380043369e-05 -0.0001077657924 -3.510711853e-05 0.0001152355298 --5.332822892e-05 -0.0001568117863 -0.0002950454404 -0.0002028286994 0.0002342899808 --0.0004167742151 -0.000111325638 -0.0003068776321 -0.0007357076057 0.0003593325566 -0.0002959174008 0.0001589635016 0.0002464116711 0.0001267919701 -0.0005309161017 --8.46316188e-06 -1.768959683e-05 -4.075187517e-05 -4.2507307e-05 2.136065478e-05 --3.315597835e-05 7.301534319e-06 9.193623783e-06 -2.360306035e-05 1.637688066e-05 --2.073910498e-05 -1.676880195e-05 -2.313785696e-05 1.528819115e-06 4.792897528e-05 --5.081196241e-05 -3.034163065e-06 -1.319037687e-05 -5.099106811e-05 4.188932579e-05 -3.774943805e-05 2.709280918e-05 2.913782714e-05 -2.552712485e-05 -8.990366147e-05 -1.649167946e-05 1.893022797e-05 2.978485444e-05 1.125813048e-05 -4.364033549e-05 -2.659469902e-05 2.469850112e-05 4.51850919e-05 3.592188466e-05 -5.54714459e-05 -8.383182747e-05 1.333258098e-05 2.220943111e-05 5.32229485e-05 -9.525643121e-05 -8.080633034e-06 2.587957601e-05 3.617800628e-05 -6.330586217e-06 -5.084188556e-05 --3.857063582e-05 -4.098314966e-05 -9.728362787e-05 -0.0001224532213 6.571054441e-05 --7.454860955e-05 -2.980117016e-06 -1.976481174e-05 -9.293203386e-05 5.2870834e-05 --2.988878126e-06 -1.373506896e-05 -2.336755799e-05 -7.2221383e-06 2.217606892e-05 -1.525678999e-05 -4.604765813e-05 -8.606216553e-05 -3.630001223e-05 4.245800591e-05 --9.989149737e-05 -1.067849228e-05 -5.038726466e-05 -0.0001699216744 6.51743922e-05 -6.163350936e-05 3.450754676e-05 4.393999312e-05 -2.404636589e-06 -0.0001217253331 -0.3562023 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002193818211 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.3962837069 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1515937321 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008754426351 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001633176947 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002863467616 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00451803618 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000407134755 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001011574411 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.204251125e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.743536142e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.458485312e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.3181807133 -0.02603679085 0.1187375903 0 0 --0.0255817835 0.3573671498 -0.1631140271 0 0 --0.3256833348 0.4258706027 0.1374355301 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2054588451 0.01533963322 0.02587798453 0 0 -0.02016599994 0.1499740696 -0.008218292007 0 0 --0.2320560069 0.288554435 0.1489385215 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02910178341 -0.001525545243 0.01295442633 0 0 --0.004173872945 0.02666184686 -0.02109726963 0 0 --0.04954706546 0.06932901622 -0.07922661682 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01476705056 -0.0241289899 0.04143684605 0 0 --0.02604989378 0.02929775162 -0.05625727011 0 0 -0.02929199019 -0.03811189867 0.06940464558 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000223410182 -3.319247812e-05 0.00017796023 0 0 --0.0003443577512 0.0004409723114 -0.0003664773269 0 0 -0.0003577848373 0.0002366039776 -1.583532101e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003433312035 0.0009529735691 -0.001223607773 0 0 -0.001002877968 -0.0006230664297 0.00153218919 0 0 --0.0007555137242 0.000777369072 -0.004109652691 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004319258247 -0.001030479971 0.001644594323 0 0 --0.0009426924356 0.0006423408184 -0.001883910836 0 0 -0.0006989164985 -0.0007927974057 -1.816319015e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.207737335e-05 0.000125701185 -0.0001961016746 0 0 -0.000141064326 -5.927766319e-05 0.0002826990378 0 0 --0.0004104797571 0.0004959400546 -0.0003544565472 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.016905629e-05 -7.427321601e-05 0.0001660053963 0 0 --7.622238641e-06 0.00024642839 -0.0002183056149 0 0 -1.104477677e-05 -0.0001575996091 0.0005435376562 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.703147175e-05 -8.226280128e-05 9.400420073e-05 0 0 --5.366468953e-05 -5.734217876e-05 -0.0001071939904 0 0 --2.490091509e-06 -6.859026328e-06 -0.0006416619137 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.149302944e-05 8.06253131e-05 -0.0001307294117 0 0 -5.211276475e-05 -0.0001401669161 0.0001828908405 0 0 --6.339753619e-05 0.000175131526 -0.0005540363078 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.699545309e-05 -4.281665586e-05 7.658880939e-05 0 0 --4.493136573e-05 4.604741997e-05 -9.959984957e-05 0 0 -7.697088247e-05 -8.801109118e-05 7.940910384e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.202409393e-05 4.917219716e-07 -1.203650345e-05 0 0 -7.742170235e-06 -1.680343475e-05 1.107150021e-05 0 0 --4.450225174e-05 4.594365615e-05 -0.0001458360157 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01221741547 -0.08654105547 0.2203336668 -0.2254996606 -0.0443728364 --0.04122353824 0.06773162879 -0.1089181598 -0.009851244665 0.0581596692 --0.2851168879 0.1998879765 -0.3435799961 -0.06813427942 0.003794169916 --0.2601676911 -0.08907989876 0.1497430539 -0.1904794454 -0.3585232074 --0.07731902845 -0.1060507396 0.003858803213 0.371835988 -0.3579438204 -0.2122254028 -0.1250670158 0.1788720851 0.1348859891 0.05566434264 --0.05903244907 0.07647143059 -0.1119780586 -0.02928430917 0.03879237643 --0.01799219311 0.0001971621475 0.04114617544 -0.08593292538 -0.002941182175 -0.1166389091 -0.1483604094 0.01829713823 0.4109436894 -0.148267741 -0.06888603817 -0.01461080797 -0.0002956671701 0.08380888849 0.04462298188 -0.02115991029 -0.04340862425 0.06761679984 0.00365502909 -0.0150885395 --0.02146662228 0.0191543352 -0.01904478264 -0.02209713078 -0.005256737888 -0.02999333923 0.006788194727 0.01232301063 -0.002231454195 0.04605006659 --0.01128728837 -0.0616874656 0.03452376639 0.04377133492 -0.08263074897 --0.001797517415 -0.02414168985 0.04383806645 -0.01443005292 -0.02292129209 --0.006240025093 -0.004027035314 0.008006331981 -0.005995055638 -0.009340695572 -0.005962001576 0.005156298047 -0.007246689452 0.006034956684 0.009469548348 --0.0003370474019 0.002506207208 -0.001578725108 0.002473081387 0.004423463632 --0.01236801577 -0.01224702966 0.01876342973 -0.01605152792 -0.02584213571 --0.002433697741 -0.0005003946934 0.001692266911 -0.0007666950076 -0.0008884127087 -0.002581995659 0.002086200282 -0.003751441025 0.002696733992 0.005322246311 -0.002919855395 0.003322215243 -0.006002142652 0.003953719944 0.007590123958 --0.003913243392 -0.00469413527 0.008376863255 -0.007335261861 -0.00947485603 -0.001804686764 0.002278859624 -0.004024365381 0.004218888506 0.004119128897 -0.006709599584 0.005753490624 -0.01030485739 0.008233876651 0.0138169065 -0.0001320437251 0.001310509688 -0.001555799433 -0.0005462455033 0.001783348894 -0.000978038908 0.0005557513996 -0.0009542046354 0.0008633541053 0.001627027543 --0.002044743808 -0.0007079974117 0.001320473518 -0.001777451784 -0.002895993988 -0.0001714041726 0.00191692028 -0.001617876185 -0.0019813659 0.002902045283 -0.001932237945 0.00104021742 -0.002587738657 0.003091819071 0.002760115952 --0.0009505748342 -0.0007252814799 0.001294930376 -0.001103373463 -0.00177405527 --0.0002258195872 -0.0002357078714 0.0004363554122 -0.0003009711358 -0.0005542889852 -0.00073883937 0.0007533737501 -0.001337798971 0.001092011939 0.00166012049 --0.001245029053 -0.001063910832 0.001860542506 -0.001662497452 -0.002418407219 --0.001261851223 -0.0009676383502 0.001749032403 -0.001423493087 -0.002409464374 -0.0003982098697 -0.0002066670696 0.0003342349403 0.0002160297081 -4.265157902e-08 --2.420117409e-05 0.0001674463478 -0.0002747209227 2.426608809e-05 0.0002480569709 --8.68255596e-06 -0.0001483750866 0.0003113979304 -0.0002800546543 -0.0001622521707 -0.000201811502 -0.0002439298509 0.0002120236044 0.0007309954159 -0.0004513583615 -0.0003375450531 6.038129063e-05 -7.054002054e-05 0.0001241252694 0.0004183898806 -5.373673797e-05 0.0002385502676 -0.0003700259351 2.676437555e-05 0.0004077732886 -0.0002790100779 0.0001252165647 -0.000229767916 0.0002687220225 0.0004047481538 --0.0005750516061 -0.0001533652676 0.0002586224515 -0.0003984481264 -0.000730146666 -7.292404766e-05 0.0002513996874 -0.0003256234947 -0.0001541634988 0.0005108515152 -0.0004541860445 0.0003189379069 -0.0006462574945 0.0007159358953 0.0007364114108 --0.0003297004812 -7.949814901e-05 0.0001713414734 -0.0003709584209 -0.0003355849266 --5.581825658e-05 -7.189600646e-05 0.0001244525955 -6.433675618e-05 -0.0001525708972 -0.0001056196603 0.0001624669769 -0.0003006666732 0.0002190660435 0.0002933456015 --0.0004097240761 -0.0001201899463 0.0003000921787 -0.0006919983391 -0.000360789594 --0.0003189954344 -0.0001807153868 0.0002919283698 -0.0001695377543 -0.0005704522138 -6.903886398e-06 -1.511380073e-05 3.788168683e-05 -3.834056525e-05 -2.238635707e-06 --3.120854366e-05 1.170981888e-05 -1.640945914e-05 -2.292680789e-05 -7.316545227e-06 -1.401273516e-05 1.058304473e-05 -1.036640315e-05 -1.239747257e-05 3.488404867e-05 --4.114691292e-05 1.655616205e-06 1.228585194e-06 -3.352906966e-05 -2.951327804e-05 --1.623486083e-05 -2.089003441e-05 2.025665433e-05 3.106359211e-05 -5.909080871e-05 -8.369337832e-06 2.253766645e-05 -3.49283555e-05 4.792618292e-06 4.272323612e-05 -3.355466993e-05 2.370345628e-05 -4.430752175e-05 4.244671877e-05 5.906355739e-05 --9.167443142e-05 -1.195882541e-05 1.748561895e-05 -5.076813018e-05 -0.0001008440798 -4.439993953e-07 2.54477803e-05 -3.211407121e-05 -2.207779003e-05 4.773763182e-05 -3.902697694e-05 4.440263972e-05 -0.0001010806206 0.0001206919234 7.131798903e-05 --7.255241538e-05 -5.633716565e-06 2.283695405e-05 -9.07511224e-05 -5.309434132e-05 --8.456784513e-06 -1.448807081e-05 2.51685158e-05 -1.214623123e-05 -2.748286381e-05 --5.605478245e-06 4.50728663e-05 -8.345031071e-05 3.774058565e-05 5.124900031e-05 --9.750437195e-05 -1.153727844e-05 4.833904738e-05 -0.0001622503443 -6.276029548e-05 --6.426035714e-05 -3.752889557e-05 5.064422656e-05 -3.49362673e-06 -0.0001265567772 -0.001218420573 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001099693352 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001520877974 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001666719917 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.691881489e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.750592852e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.633753849e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.785060879e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.450010928e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.105065749e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.178996108e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.414505232e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.708264947e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002532729875 0.00428462652 0.7794416246 0 0 --0.0008977603466 0.001147492263 0.05636165102 0 0 --0.04515113839 0.05637151063 0.003923850458 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002749765883 -0.003649456262 0.3346354434 0 0 --0.001046000966 0.001258194732 0.1136147375 0 0 --0.09450380684 0.1123747165 0.005019336928 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001809553371 -0.002721800585 0.04819219681 0 0 -9.766074613e-05 -0.000158225321 0.06946433988 0 0 --0.059936372 0.06811880297 0.0003226146201 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.886300353e-05 -0.0003590665138 -0.01927106838 0 0 -0.000378797166 -0.0004475886114 0.01562756258 0 0 --0.01387596623 0.01530849053 -0.001240182213 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002142502266 0.000158148336 -0.006387117361 0 0 -0.0002650849304 -0.0003164682097 0.0008992439619 0 0 --0.0007632257432 0.0009004138475 -0.001007805033 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001031102843 0.0001287257191 -0.001610758839 0 0 -7.01972864e-05 -8.690764993e-05 -0.002281050292 0 0 -0.001810662009 -0.002314170513 -0.0002804510707 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.265524804e-05 8.662540481e-05 0.00232378187 0 0 --1.117366706e-05 1.729670741e-05 -0.001914016092 0 0 -0.001472314283 -0.001940295498 5.172786182e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.702848295e-05 -2.467809344e-05 6.944824738e-05 0 0 --3.266279936e-05 4.207547052e-05 -0.0001507254663 0 0 -0.0001185115585 -0.0001508815182 0.0001339853651 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.984462943e-05 -3.044655661e-05 0.0004904264581 0 0 --2.310761571e-05 2.831996509e-05 0.000307526699 0 0 --0.0002489936562 0.0003044491696 9.407651552e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.366544675e-06 -2.945023819e-06 -0.0002405891291 0 0 -2.419347463e-06 -2.953729619e-06 0.0001127135475 0 0 --9.777860621e-05 0.0001107062912 -8.035258479e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.520469079e-06 5.091798605e-06 6.424064807e-05 0 0 -8.049631172e-06 -9.610466942e-06 5.895149151e-05 0 0 --4.985031185e-05 5.889087879e-05 -3.034960921e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.753468674e-07 6.310193234e-07 -3.617449282e-05 0 0 -7.121726067e-07 -8.403447623e-07 -8.61502485e-06 0 0 -7.282219335e-06 -8.691508751e-06 -2.717666784e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.277169614e-06 2.769710238e-06 9.322099081e-05 0 0 -2.589524395e-07 -3.225245403e-07 -3.466282138e-05 0 0 -2.711322407e-05 -3.516396175e-05 -1.04736862e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001657422 0.000875320201 0.04710399583 0.001464208531 -0.06321482949 --0.00144099808 -0.0009399812909 -0.04747226349 -0.001573685231 0.06371025653 --0.05495600075 -0.04823965947 -0.003041953215 -0.07095283432 0.00430119692 -0.0002107043266 0.0001538152416 0.00450335235 0.0002443347213 -0.006044026432 --0.004717588362 -0.004139572001 -0.0004493922481 -0.006089400506 0.0006218610795 -0.0008348679534 0.0002640581064 0.0476443634 0.000567328149 -0.06393455438 --0.0003064743604 -5.618137947e-05 -0.03588025093 -0.0002245143323 0.04814803396 --0.04508443647 -0.03574788223 -0.0005291131276 -0.0523727024 0.000854709303 -0.0003895630101 0.000246172431 0.01206687926 0.0004084752393 -0.01619357566 --0.01371822278 -0.01087343911 -0.00083294397 -0.01593285857 0.001161740239 --0.0002311590136 -0.0002626058813 0.01756698115 -0.0003177386794 -0.02357043806 -0.0003005979036 0.0002530183666 -0.008204557348 0.000338136915 0.01100800431 --0.01171725469 -0.007939092045 0.0006364452143 -0.01154919479 -0.000829299507 -5.839250608e-05 -4.20882728e-06 0.007559104994 2.164888402e-05 -0.01014272847 --0.009763733218 -0.006611331305 -0.0001629822834 -0.009620208553 0.000239239036 --0.0002462047612 -0.0001352292497 0.00132979222 -0.0001904341428 -0.001783491091 -5.827007629e-05 1.049071623e-05 0.0002149154011 1.390929521e-05 -0.0002880965713 -0.0005225612679 0.0001737467728 7.35937952e-05 0.0002405104131 -9.798769887e-05 --0.0001159094204 -8.83740027e-05 0.001089372371 -0.0001259539039 -0.001460827092 --0.002387505043 -0.0008161894866 0.000163160493 -0.001131430159 -0.0002219265517 --3.349243491e-05 -2.870741671e-06 -4.396240993e-05 -3.070948563e-06 5.890769811e-05 --1.627503286e-05 -1.539147975e-05 -6.682044169e-05 -2.320155389e-05 8.986020961e-05 -0.0001677809305 -9.024853375e-05 -3.296201314e-05 -0.000145884945 4.608020625e-05 --2.956951719e-05 -1.111880878e-05 -7.307927853e-05 -1.610129867e-05 9.815920153e-05 --0.000174318096 8.900224725e-05 2.038469994e-05 0.000144200689 -2.920086113e-05 -1.983058932e-05 1.237583478e-05 0.0003164529082 1.931643478e-05 -0.0004247058635 -6.073406313e-06 7.51640411e-06 -0.0002450800447 1.013529764e-05 0.0003288291097 --0.0002515558378 -0.0002383191906 2.30162665e-05 -0.0003516902486 -2.950913541e-05 -1.540166316e-05 1.405340076e-05 7.595190854e-05 2.104192291e-05 -0.0001020007381 --7.081916807e-05 -6.669370165e-05 -4.243700377e-05 -9.86099964e-05 5.733124325e-05 --4.738238235e-06 -3.77848129e-06 3.122091666e-05 -5.464854875e-06 -4.184900146e-05 -2.271848805e-06 -8.339602556e-08 9.601205269e-06 -2.044306764e-07 -1.286662206e-05 -2.21405163e-05 6.110191542e-06 2.800867714e-06 8.321595223e-06 -3.734264465e-06 --2.139871486e-06 -2.777933525e-06 2.840452636e-05 -4.063148594e-06 -3.807292904e-05 --5.894116579e-05 -1.711644933e-05 3.678811374e-06 -2.342008445e-05 -4.983396628e-06 --6.158210289e-06 -2.299883352e-06 8.11623951e-06 -3.206431457e-06 -1.08845714e-05 --9.503582876e-07 -9.756893919e-07 4.139216791e-06 -1.4410969e-06 -5.540843844e-06 -2.193316407e-05 2.461171763e-06 -1.831714276e-06 2.695191967e-06 2.546071492e-06 --4.491003196e-06 -2.221566741e-06 8.393543145e-06 -3.169497702e-06 -1.124687272e-05 --3.949782681e-05 -4.738563756e-06 4.730411345e-06 -5.320535646e-06 -6.500240141e-06 -1.885712331e-06 1.969943873e-06 1.448666659e-05 2.985845984e-06 -1.945607057e-05 --4.4071986e-07 6.74900155e-08 -2.359298533e-05 1.651403767e-08 3.166073448e-05 --1.634018492e-05 -2.361324066e-05 5.673879404e-07 -3.526555127e-05 -5.80054568e-07 -9.488346143e-07 1.503682743e-06 -4.184019676e-06 2.231070788e-06 5.603329277e-06 -2.516490749e-06 3.769050323e-06 -4.404242848e-06 5.613619261e-06 5.881451257e-06 --3.991835881e-07 -2.971743702e-07 -1.263305214e-06 -4.448795291e-07 1.699099724e-06 --4.990308966e-07 -6.4975884e-07 -1.737602217e-06 -9.789891357e-07 2.33828675e-06 -7.731880356e-08 -2.926527981e-06 -1.349684363e-06 -4.450432937e-06 1.830522106e-06 --5.929952109e-07 -6.197082117e-07 -1.982342525e-06 -9.31640571e-07 2.666918452e-06 --1.545694496e-07 3.029837079e-06 1.190152362e-06 4.608852561e-06 -1.616797844e-06 --4.478975723e-07 -3.843228624e-07 7.239722291e-06 -5.381874113e-07 -9.711233745e-06 -2.195727609e-07 1.396536599e-07 -9.678109157e-07 1.990688774e-07 1.298038077e-06 --1.536502095e-06 -8.973000693e-07 4.298152384e-07 -1.294650712e-06 -5.745550662e-07 --2.126755027e-07 -1.846762099e-07 4.609273898e-06 -2.545204639e-07 -6.183087583e-06 --6.609438468e-06 -3.838990501e-06 3.287014539e-07 -5.542945935e-06 -4.321640228e-07 -5.365142263e-07 4.468570771e-07 5.658862426e-06 6.818615154e-07 -7.596675649e-06 -1.030835944e-07 1.829304606e-07 -5.589884465e-06 2.499659443e-07 7.499986847e-06 --4.885630104e-06 -5.448709748e-06 6.083878336e-07 -8.083564449e-06 -7.795423733e-07 -4.056412406e-07 4.456377098e-07 6.107084134e-07 6.637152368e-07 -8.225391798e-07 --4.992359595e-07 -5.387238142e-07 -1.324692734e-06 -8.045243997e-07 1.781288015e-06 --1.077766846e-07 -7.313244174e-08 1.254930219e-06 -1.006704698e-07 -1.684006246e-06 --1.530078556e-07 -1.078748526e-07 -1.291437417e-06 -1.627228644e-07 1.733362689e-06 --1.866668787e-06 -1.372368541e-06 -3.312624244e-07 -2.002526728e-06 4.478778326e-07 --1.567390179e-07 -1.162115597e-07 1.035997475e-07 -1.690470726e-07 -1.387479721e-07 --1.34420272e-07 -1.002808736e-07 3.160826042e-07 -1.449087239e-07 -4.239382469e-07 -0.001003785764 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009871072136 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008269037695 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0011050467 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001760657763 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.49830036e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.169128568e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.306967991e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.655514342e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.084248197e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.289312562e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.253820555e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.314276302e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006813495942 -0.0003832511084 0.1517471741 0 0 --0.002593607016 0.0006770324249 0.1229686991 0 0 --0.162908328 0.1263420045 0.005035044833 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001191682354 -0.0002593340323 -0.1818427785 0 0 -0.0003142536055 -0.00071787107 0.07911076095 0 0 --0.0610302437 0.08085728727 0.0003229840941 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001173045012 0.000600948362 -0.01493008362 0 0 --0.0002408312969 -0.0004064819495 0.003290902683 0 0 -0.004565472921 0.003530384071 -0.0008494768122 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.918954588e-05 2.879601742e-05 -0.001311342262 0 0 --0.0001036326025 -9.30073205e-06 0.0006343551019 0 0 --0.01327336725 0.0003080761889 -4.494292853e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002979596592 -1.795411046e-05 0.001489897733 0 0 -5.00234143e-05 3.783584054e-06 -0.0003562924875 0 0 --0.0008789767621 -0.0004078505292 2.618516874e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001000714043 4.827055988e-05 0.001624482505 0 0 -2.178003512e-05 -1.537192024e-05 -0.0005477669936 0 0 -0.0003059639296 -0.0005924359262 -5.229104218e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.995076898e-05 6.846436787e-06 -6.926980487e-05 0 0 -2.501025183e-05 -1.647745688e-06 3.399475385e-05 0 0 --0.0003305447474 2.853811402e-05 -9.121644045e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.927548829e-06 -6.836485915e-06 -0.0001439092146 0 0 -1.61591852e-06 9.825287785e-07 0.000104938752 0 0 -3.924126845e-05 0.0001097314233 8.448605569e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.768405799e-06 -7.02423524e-06 0.00033368269 0 0 --4.922305676e-06 3.786797305e-06 -7.636315024e-05 0 0 -0.0001323323982 -7.924390303e-05 1.150892332e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.801350937e-06 5.345105353e-06 0.000159146984 0 0 -3.377357443e-06 -1.244975881e-06 -3.973343643e-05 0 0 -7.799401078e-05 -4.157245818e-05 -4.561268617e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.43681831e-06 5.19017167e-06 1.287868919e-05 0 0 -1.116853195e-06 -1.866370428e-06 1.283508704e-05 0 0 --8.91462369e-06 1.342911447e-05 -5.840451755e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.702542962e-07 -1.361707196e-07 3.406374457e-05 0 0 --4.056489332e-07 3.650966532e-07 5.197988073e-06 0 0 --8.952577697e-06 5.319196265e-06 8.838834735e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.886196386e-06 -9.999008671e-07 8.336088824e-05 0 0 --5.944687446e-07 6.103635758e-07 -1.541058605e-05 0 0 -2.042142656e-05 -1.606418747e-05 2.029033128e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004025903139 0.002760725531 0.3877856772 0.0003347894851 -0.06607111734 --0.0001361577492 0.001076897367 -0.03269573101 0.0002664288605 0.005571276309 -0.02992325753 -0.03322184721 0.001348600371 -0.007621805886 -0.0001744669336 --0.000901131248 0.0008054658028 0.06254367921 0.0001395289147 -0.01065823724 -0.04649442491 -0.05162915049 -0.003618233429 -0.01184056455 0.0007024233894 -0.0001701805752 -0.0007193728775 -0.04065825414 2.192528747e-05 0.003680189429 --0.000753633246 0.0004260969396 0.1082470415 -0.0002450783132 -0.009801617739 --0.0859156903 0.1089874889 0.003162265759 0.01478475396 2.650654792e-05 --0.0002664990689 8.567728081e-05 0.06613974526 -0.00017399365 -0.005989373681 -0.04264467169 -0.05410204246 -0.002024651861 -0.007337908489 2.803749403e-05 -3.057196714e-05 0.00043386892 -0.02927852751 0.0001539610185 -0.001276133561 -5.196066856e-05 -0.0006589291276 0.02358794331 -0.0001145121456 0.001027434397 --0.004322384999 0.02437004683 -0.00127265498 -0.0003106074597 0.0001345810743 -2.78422947e-05 -0.0002454441559 0.009928716678 -4.935447679e-05 0.0004324758844 -0.001477496227 -0.00833051968 0.0003541506139 0.0001066208749 -4.953792492e-05 -0.0005324159859 8.507165174e-05 -0.0001980771162 -2.969458114e-05 -9.782333767e-05 --0.0002108151336 -0.0001357613308 -0.001407104158 5.563911861e-05 -0.0006817537665 --0.005608983882 -0.001762584573 -0.0003259494998 0.0006730645194 -0.0001397654271 --9.010164799e-05 -4.006920196e-05 -0.00101912848 1.727154909e-05 -0.000493920499 -0.00330793954 0.001038349628 0.0001314094998 -0.0003963789485 5.293231475e-05 --0.0001113124389 3.014479914e-05 0.002688264928 1.242480477e-05 -0.0003251162077 -6.283074372e-05 -4.596725418e-05 -0.00194839892 -1.339230334e-05 0.0002357320931 --0.004740850001 -0.002294371567 -9.268472449e-05 -0.0003873810196 2.260820153e-05 -3.893835268e-05 1.391858808e-06 -0.0007599773493 -1.67135453e-06 9.18887235e-05 -0.001503119638 0.0007270810997 1.483488201e-05 0.0001227227195 -5.406918456e-06 --0.0001442686507 1.742563317e-05 0.000257581421 2.486248882e-07 1.798655016e-05 -6.52348107e-05 -1.177984897e-05 -0.0002546421587 -4.977875178e-07 -1.788629415e-05 -0.001009693615 -0.0002525278771 -5.383151576e-05 1.889778039e-06 -1.339598877e-06 -2.895854318e-05 -7.563323404e-06 -0.0001199232384 -2.893464715e-07 -8.421872201e-06 --0.0003868231252 9.672369724e-05 2.246809795e-05 -7.186378752e-07 6.440678334e-07 --3.733772323e-06 9.821777357e-07 1.893343766e-07 1.041053622e-06 2.789569321e-05 -6.742827034e-06 -2.048401027e-06 -7.72493765e-08 -1.30057998e-06 -3.907275288e-05 --0.0002148483923 -1.77000061e-05 -6.73820902e-06 3.985697827e-05 3.086681683e-06 -3.554566228e-06 -1.085123306e-06 -4.410729164e-08 -7.088287604e-07 -2.096604083e-05 -9.359788537e-05 7.731335777e-06 2.938162758e-06 -1.736325798e-05 -1.024900021e-06 --7.076380526e-07 -1.268210099e-05 0.0001450121911 -2.959042152e-06 -2.487064495e-05 -5.503271838e-06 9.914019686e-06 5.125787194e-05 2.105968625e-06 -8.788634341e-06 -2.156511171e-05 5.358025466e-05 3.992624495e-05 1.16812113e-05 -6.83032934e-06 -2.524630563e-06 5.72313353e-06 6.733028926e-05 1.177439383e-06 -1.154413559e-05 --2.310283969e-05 -5.742971192e-05 -1.774055756e-05 -1.254802333e-05 3.024878464e-06 --3.434040348e-06 3.354673143e-06 0.000186938658 1.314789212e-06 -4.201260771e-05 -1.923771422e-06 -2.238224921e-07 -0.0001190619536 -2.731873495e-07 2.67528107e-05 -0.0003121364624 -0.0001194652831 -2.350836416e-06 -3.736712635e-05 1.619499972e-06 --1.78909456e-07 -2.479983453e-07 -4.151229759e-05 -1.398423525e-07 9.325457003e-06 --8.840438026e-05 3.383780893e-05 7.879433416e-07 1.058416582e-05 -4.861209623e-07 --1.856979644e-06 4.362327858e-06 6.607450552e-05 1.35181768e-06 -1.460564749e-05 -1.151292343e-06 -3.40182927e-06 -3.856302573e-05 -1.02157377e-06 8.533243842e-06 -9.45065003e-06 -4.181612068e-05 -1.075296969e-05 -1.198742142e-05 2.573983344e-06 -4.268729297e-07 -1.278136135e-06 -1.219447015e-05 -3.808535219e-07 2.699526749e-06 --2.440751091e-06 1.076168982e-05 3.580435292e-06 3.086104912e-06 -8.419889464e-07 --1.547915155e-06 5.939581072e-07 2.809185506e-05 1.174693866e-07 -5.045679196e-06 -1.83514466e-07 -2.808127515e-07 1.468294776e-05 -8.297330751e-08 -2.635550549e-06 --9.209482596e-06 1.496932732e-05 -1.052976125e-06 3.535869994e-06 1.797700438e-07 -7.692529801e-08 -1.165198745e-07 1.636209521e-05 -4.604213991e-08 -2.937129226e-06 -8.325382859e-06 -1.354594193e-05 -3.174983222e-08 -3.198479606e-06 1.405331385e-08 -2.536773802e-06 -9.724157659e-07 3.948331279e-05 -3.122371606e-07 -9.066852551e-06 --1.551340538e-06 1.435703127e-06 -2.85112325e-06 4.26955649e-07 6.512867282e-07 -3.778385221e-06 -2.850409852e-06 4.36668291e-06 -8.534416415e-07 -9.938341722e-07 --8.109323547e-07 6.02657981e-07 6.688988035e-06 1.785512526e-07 -1.53916643e-06 -7.132162264e-06 -5.423872e-06 -1.83899854e-06 -1.62079787e-06 4.407270816e-07 --7.247288756e-07 1.490911171e-06 5.384251203e-05 4.301768835e-07 -1.104642301e-05 -6.704728768e-07 -9.080403645e-07 -2.587929398e-05 -2.583207628e-07 5.311436831e-06 -1.606214264e-05 -2.710003502e-05 -3.106756705e-06 -7.295252356e-06 7.439688913e-07 -1.941714761e-07 -2.789761959e-07 -6.109557645e-06 -7.837162843e-08 1.254159203e-06 --3.083169097e-06 5.201363703e-06 8.582774221e-07 1.400333252e-06 -1.965199724e-07 -0.0001346851614 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.242337523e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.845413557e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.88252662e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.112643134e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.682492265e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.008922137e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.214462545e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.002697913e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.240457311e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.20973304e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.535761101e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.238567953e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006786040899 0.00176247141 0.3911849015 0 0 --0.0006602036968 0.0006970643441 0.003392012913 0 0 --0.0006752477586 0.001617522924 0.0005457304799 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005264563447 -0.000416351824 0.00144664505 0 0 --0.0002895419078 6.804365865e-05 0.001150765242 0 0 --0.0003778939193 0.0001629215055 0.0001740134448 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.922067004e-05 -7.541618546e-05 -0.001788336059 0 0 -2.613091796e-05 4.819394741e-05 -2.832682707e-05 0 0 -2.630797781e-05 4.891721287e-05 -4.465933309e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.400239598e-05 -0.0001337108177 0.000511880788 0 0 --9.160211297e-06 2.557094474e-05 4.949451906e-05 0 0 --2.271138144e-07 5.830572957e-05 5.688215596e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.170554875e-07 1.40816978e-06 0.0003873287794 0 0 --8.22640119e-08 1.924673117e-06 4.110569454e-06 0 0 -3.922687484e-07 5.398968175e-06 9.09761723e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.057316913e-05 8.60962589e-06 0.0003640585125 0 0 -3.01245642e-06 -2.189933524e-06 -1.272920274e-05 0 0 -4.425866932e-06 8.339693602e-07 -1.535114254e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.85401573e-07 1.101343028e-05 8.229423875e-05 0 0 -3.566530955e-07 -1.223299038e-06 -4.299464e-06 0 0 -2.902081265e-07 -3.638373431e-06 -9.17323851e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.250556796e-07 -7.052330197e-07 6.719306974e-05 0 0 --4.790275419e-07 -4.948114141e-07 8.605904578e-07 0 0 --8.747748269e-08 6.948931988e-07 2.169179639e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.771895681e-07 -2.104064078e-07 0.0001242751897 0 0 --1.219149594e-07 1.667972479e-07 1.499384567e-06 0 0 --4.022281401e-07 3.775500719e-07 3.161113319e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.233565194e-07 4.083498583e-06 9.419102196e-05 0 0 -2.584688153e-07 1.375707748e-07 -8.182237143e-07 0 0 -1.15600307e-07 -4.983935222e-07 -7.003300362e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.985587864e-07 3.671728465e-06 5.592557038e-05 0 0 -8.147212491e-08 -4.60674471e-07 -1.161611287e-06 0 0 -1.676282061e-07 -6.975220083e-07 -2.062377685e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.659613508e-07 1.526307447e-06 4.983474145e-05 0 0 -4.052542873e-08 -1.188453269e-07 -3.473293426e-07 0 0 -7.18944992e-08 -1.501656687e-07 -7.935180209e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.64068103e-08 7.198920292e-07 4.582319786e-05 0 0 -1.521172788e-08 6.500790976e-08 1.509024039e-07 0 0 --2.608248416e-08 8.121681075e-08 1.755066257e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001199551708 0.0008137430946 -0.001127283271 -0.0008412246505 -0.00699102509 --0.002903270773 -0.001285429535 0.08452406893 0.001225856158 0.5230377679 --0.1601164893 -0.06253922301 0.0007214843559 0.1459921567 0.00652175213 --0.0003478109478 -0.0002645342174 0.0002946446003 0.0002249742549 0.001827777459 --0.001635002619 -0.0006396219723 0.0001350873585 0.001488092345 0.0008568762987 -0.0001222105898 3.815099118e-05 -0.0004229856419 -0.0001426334651 -0.001626238783 -0.001496401264 0.0006823689904 0.0113090004 -0.001422700837 0.0435622768 --0.01153129616 -0.008686554835 -0.0003077886358 0.009790387698 -0.001360823484 --0.0001786437585 -0.0002157203619 0.0002867283407 0.0001036587582 0.001101663784 --0.0008499077131 -0.0006443408159 0.0001281002332 0.0007207237623 0.0004802144042 --1.316527821e-05 -4.117751113e-05 1.525319363e-05 2.04990179e-06 3.409930926e-05 --1.157134362e-05 0.0001178781219 -0.00264116609 2.822619438e-05 -0.005958078959 -0.0004143394742 0.002779343346 -6.848766552e-05 0.0005498280178 -0.0001266868052 --2.534773956e-06 3.458615155e-07 9.046649833e-06 4.103898501e-06 2.041409561e-05 --4.142207814e-06 -2.778239071e-05 2.959561559e-06 -5.463096915e-06 6.399557331e-06 -1.652290121e-05 -1.743118554e-05 3.70969667e-06 -2.988141005e-05 -2.573449101e-05 -0.0001212904409 -8.338848911e-05 -0.0001131622118 -0.0001887284283 0.0008022165868 --0.0009171428932 0.0007389414572 6.831580721e-07 0.001458714998 -3.533738698e-05 --1.089464836e-05 4.768525207e-06 -2.398977486e-06 1.33979666e-05 1.647915919e-05 --5.576489182e-05 4.518310492e-05 -9.963873008e-07 8.884718761e-05 5.175563752e-06 -2.307633201e-06 -5.469234986e-08 1.027464348e-06 -1.384993227e-06 -4.814188792e-06 --1.623249658e-05 -7.654110399e-06 -0.0001280582049 1.379736655e-06 0.0005999002934 --9.848547624e-05 -0.000156545316 -3.62622081e-06 -0.0001124673317 2.025813117e-05 --1.811446102e-07 1.244953353e-06 1.867567894e-07 1.505712028e-06 -8.823523265e-07 -4.004201759e-07 6.514856876e-07 -1.081728606e-07 4.737860775e-07 4.929783583e-07 --1.149988744e-07 -4.26436703e-07 1.787537208e-06 -2.391221413e-07 7.944247431e-06 --1.604912977e-05 -1.882500531e-05 8.011995472e-05 5.83434451e-06 0.000355684043 --5.277828933e-05 -0.0001022320688 5.291059672e-06 5.914209211e-06 2.797336394e-05 -1.623807481e-06 1.834310328e-06 -2.319256353e-06 -9.898298733e-07 -1.033551094e-05 -4.507725172e-06 8.644271526e-06 -9.178129283e-07 -5.394162291e-07 -4.448534233e-06 -6.815302797e-08 -3.262454129e-07 -1.501782385e-08 -3.127783622e-07 -9.798788387e-08 --2.269982341e-06 1.299439351e-07 6.687348266e-06 2.518429757e-06 4.4435944e-05 --3.371868237e-05 2.253034952e-05 1.465207838e-07 5.552663283e-05 1.46382131e-06 -1.728989593e-07 -3.994106602e-07 -4.424543647e-08 -4.864972276e-07 -2.93577366e-07 -6.579275603e-07 -4.370281483e-07 -6.064443021e-08 -1.07963553e-06 -4.121583693e-07 -2.665534095e-07 2.058348551e-07 -1.914657021e-07 -1.182090016e-07 -2.408357009e-06 -2.190119594e-06 6.466252099e-07 8.177271929e-06 -1.983467137e-06 0.0001026868301 --2.810736153e-05 -2.234574573e-05 -1.109021618e-07 1.221976548e-05 -1.107931116e-06 --2.281119245e-07 -2.115142407e-07 1.034827392e-07 7.754818107e-08 1.304866682e-06 --1.039155199e-06 -8.312117758e-07 3.567131684e-08 4.469491397e-07 4.585725384e-07 -5.225250911e-07 5.077117907e-07 -3.041759909e-07 -2.417575727e-07 -2.198564616e-06 --1.85048276e-06 -7.252235321e-07 2.742558883e-05 9.080450658e-07 0.0001971896167 --4.850379899e-05 -3.702173615e-05 3.192589441e-07 2.951742058e-05 3.539185667e-06 --1.929570119e-08 9.102916973e-08 4.001737401e-08 7.986282318e-08 2.889214319e-07 --2.089758963e-07 -1.584906829e-07 5.137995466e-08 1.266213156e-07 3.746912556e-07 -1.981455612e-07 1.635463603e-07 -2.964306406e-08 -1.065216979e-07 -2.729405427e-07 --4.432908046e-06 7.368692351e-08 1.246924035e-05 4.363265234e-06 0.0001112836572 --4.11874819e-05 1.285555497e-06 2.853095232e-07 4.738492699e-05 4.164799374e-06 -9.655549915e-08 9.731323793e-08 -8.049812005e-08 -3.589616939e-08 -7.216342388e-07 -7.80115939e-07 -2.34397255e-08 -2.451358131e-08 -8.957956514e-07 -2.491678466e-07 -4.426718683e-08 5.767322173e-08 -4.030958809e-08 -7.513600311e-09 -3.269841e-07 --1.693888863e-06 -5.402338931e-07 7.850330303e-06 1.203666851e-06 6.344906661e-05 --1.859419983e-05 -8.230235608e-06 1.495637725e-07 1.50202803e-05 1.922026221e-06 -5.677768674e-08 -1.321819503e-08 -3.109726256e-08 -7.147885802e-08 -2.534512977e-07 -2.177001555e-07 9.571982166e-08 -2.13322108e-08 -1.7552666e-07 -1.806025163e-07 -8.359414363e-08 6.524553914e-08 -8.472834388e-08 -4.809570154e-08 -6.0225142e-07 --8.64755124e-07 -3.338780427e-07 8.634240569e-06 5.367304027e-07 6.119505021e-05 --1.791036936e-05 -8.582258773e-06 1.100192208e-07 1.450574457e-05 1.203077779e-06 --2.182220442e-09 -1.313380617e-08 2.501337895e-09 -6.603835623e-09 1.773562813e-08 --1.455746369e-08 -7.17278047e-09 -8.778464308e-09 1.187885915e-08 -6.185226773e-08 -1.437899595e-07 1.079065586e-07 -6.715842689e-08 -8.354169871e-08 -5.568551051e-07 --1.105186905e-06 -1.759792797e-07 7.517684966e-06 8.565964935e-07 6.18955676e-05 --2.001413487e-05 -4.812020947e-06 1.011951791e-07 1.914708151e-05 1.396543988e-06 -1.115208074e-09 1.956171798e-08 -3.745512205e-09 1.267036055e-08 -3.08944526e-08 -2.895604866e-08 7.053515714e-09 1.955226606e-09 -2.771084939e-08 1.527409358e-08 -0.1172619211 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04533430621 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1502557946 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05770092911 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00229602364 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001243899764 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001553507779 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001629680041 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.204525531e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004749774316 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.409695209e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.312635046e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.729056931e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1235622128 0.3063927475 0.9394174931 0 0 --0.1798004727 0.09376530931 0.02843743257 0 0 --0.3271976 0.02705813112 0.1282394604 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1150702893 0.1219725883 0.2327645939 0 0 --0.108408884 0.04354934414 -0.01862808168 0 0 --0.1969727572 -0.01534471708 0.02485486597 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03900183171 0.08004169974 0.1405992994 0 0 --0.01527469178 0.01182602749 0.006345827608 0 0 --0.02746314939 0.006224182808 0.01969086484 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.009197486733 0.009151724329 0.01722643276 0 0 --0.008376910881 0.01156184683 0.02489008657 0 0 --0.0151416877 0.02438920008 0.04217064454 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001056184691 0.001244930817 0.002575204029 0 0 -0.0005596102071 -0.0007653810197 -0.001336429031 0 0 -0.001010982955 -0.001363629433 -0.002408460111 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004435873472 0.000736988328 0.001598079171 0 0 -0.000120606799 -3.044670776e-06 -0.0009437385363 0 0 -0.000227002315 -0.0009780091408 -0.00123324902 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006214049335 0.0005551000835 0.00103326555 0 0 --0.0003481564411 0.000562622568 0.001311623426 0 0 --0.0006284681268 0.001363750609 0.002200888686 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.21213276e-06 0.0001880535409 0.0004096710928 0 0 -4.917493103e-05 -0.0001288164214 -0.0002477194957 0 0 -8.473001219e-05 -0.0002471293629 -0.0004326190472 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.865792434e-05 -3.324170036e-05 7.500237446e-05 0 0 --1.759356781e-05 4.618754212e-05 -1.339654995e-05 0 0 --2.966259854e-05 -1.223670952e-05 2.827643208e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002382999074 0.0001340975058 0.0003140152299 0 0 -2.437907357e-05 4.481096454e-05 0.0001593410878 0 0 -4.572629437e-05 0.0001684296407 0.0002415115294 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.562325052e-05 7.719879875e-05 0.0001707075192 0 0 -2.958639576e-05 -5.575691085e-05 -9.350673189e-05 0 0 -5.273784619e-05 -9.84558883e-05 -0.0001677720517 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.7428797e-05 5.073658427e-06 5.155669442e-05 0 0 --1.69557423e-05 1.626933538e-05 2.275266951e-05 0 0 --3.053439447e-05 2.299235456e-05 4.411445606e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.733517956e-05 4.160037028e-05 0.0001172383029 0 0 -1.523744426e-05 -9.995164988e-07 1.56569293e-05 0 0 -2.790644751e-05 1.637236313e-05 1.82315096e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.3583231289 0.3266702496 0.5945310243 0.04228604608 -0.0679763406 --0.3008840508 -0.09072859834 0.08038232426 0.3908808195 0.5884816583 --0.682004987 0.1512457532 0.03614463482 -0.9071139404 0.2607609467 --0.02981411537 0.03129535365 0.08297177765 0.07446651055 0.009958726819 -0.04353301742 -0.07360058107 -0.117631832 0.01089101698 0.06308039114 --0.08485879591 0.08071808244 0.1458088006 0.0008054762097 -0.004978718152 --0.1158982101 0.02915314995 0.1351968571 0.08661167793 0.118928537 --0.2352129234 0.151277123 0.2056686251 -0.168087381 0.04365125195 --0.03753462024 0.02291170885 0.08648789795 0.07032928961 0.0299916245 -0.06093618147 -0.0779169035 -0.1133475657 0.03192193078 0.03745410411 -0.0005739287005 0.017264361 0.03090588351 0.009624459682 -0.01614500825 --0.03592539915 0.0007693486678 0.01126544726 -0.0154592797 0.04496067614 --0.06427017839 0.009077353294 0.01348128993 -0.04612007089 0.06955363796 --0.01175791476 -0.002442169207 0.01888287741 0.01575823957 0.02088126918 -0.01984361165 -0.01796832736 -0.01781997449 0.02090088926 -0.005152831795 -0.01412426764 0.01177364876 0.02113131792 0.01756617358 -0.02784910486 --0.008857350599 -0.008840426684 -0.01662558939 -0.01294908944 0.02144554607 --0.01721038754 -0.01740702478 -0.03048586727 -0.02516482922 0.03988388592 -0.004585577087 0.002377936707 0.006276841575 0.004142333257 -0.007890133443 --0.007788916016 -0.005748753069 -0.008981406937 -0.008578907154 0.01234597434 -0.002095486394 0.002414061996 0.004333537427 0.003366436224 -0.005279682429 --0.0002384084753 0.0001554883988 0.0002878153498 9.585787534e-05 -0.0001074984479 --0.0004265183169 0.0003938706824 0.0007782014474 4.889410634e-05 -0.0005716803772 -0.00164395413 0.001891901803 0.003259306294 0.003278891754 -0.003648041872 --0.002769844733 -0.002937325987 -0.005346613994 -0.003778260375 0.00682540625 --0.0003342912928 0.0004701398943 0.0008432879363 5.752234168e-05 -6.672399454e-05 -7.513034801e-05 -5.005595584e-05 0.000320427513 0.0007387646352 0.0001800496594 -0.0002303556135 0.0003329089773 0.000341377795 -0.0001842112989 -0.0006781462854 -0.0003061545754 9.569557795e-05 0.0003105149247 0.0004640198097 -0.0003514357157 --0.0005193414441 -0.0002973369509 -0.0004363199807 -0.0002592001212 0.0008902455952 -0.0003565123267 0.0002784769197 0.0004991929517 0.0004203064763 -0.0006884421448 --0.0005215409594 -0.0004980773571 -0.0008903927039 -0.0006533509876 0.001162992011 --0.0009521365718 -0.000895516891 -0.001612067064 -0.00130487816 0.002043754688 --3.094902927e-05 -6.608771352e-05 -0.000127630043 -0.0001661723432 7.895340532e-05 -6.49858738e-05 0.0001206221973 0.0002124999303 8.792518086e-05 -0.0002543873513 -6.556954394e-05 0.0001341733218 0.0002406886895 0.0001423820158 -0.0002456296314 --0.0001666831749 4.924264843e-05 0.0001057036304 2.620381392e-06 9.223303521e-05 --0.0003368650597 0.000135862772 0.0002216911267 -0.0001837108301 5.565763504e-05 -7.500246554e-06 8.397445315e-05 0.0001834754663 0.0001935123452 -8.086946769e-05 --1.090490057e-05 -0.0001655617342 -0.0002777964165 -6.060004172e-05 0.0002721522816 --7.685400441e-05 0.0001757875027 0.0003186929261 8.816399139e-05 -0.0001443465211 -4.73503248e-05 -1.94916133e-05 3.642814139e-05 0.0002221927783 4.869241458e-05 -5.010282924e-05 5.976372945e-05 3.338170947e-05 -0.0001416025085 -0.0001927001119 -0.0001279488513 5.840332271e-05 0.0001042900187 0.0001134519636 -0.0001914976783 --0.0002061557808 -9.615296732e-05 -0.0001714293091 -0.0001833728777 0.0003113638088 --2.030253178e-05 5.42844483e-05 9.852405537e-05 3.264856675e-05 -5.166584315e-05 --8.782534036e-05 -0.0001010719089 -0.0001571007767 -2.606520561e-05 0.0002473494269 --0.0001684588016 -0.0001548497606 -0.0003014992801 -0.0003006348687 0.0003191170038 --1.039379867e-05 -3.256085058e-05 -7.076814993e-05 -8.011013728e-05 3.4031804e-05 -2.357770242e-05 6.380065605e-05 0.000107766161 3.510689076e-05 -0.0001152354191 --3.975897086e-05 1.590326442e-05 2.923835543e-05 -7.422064893e-06 1.592877922e-05 --4.715238574e-05 5.409539267e-06 2.813028239e-05 3.629078354e-05 5.489215681e-05 --9.465185928e-05 3.607998912e-05 4.714788907e-05 -7.979865043e-05 2.020534214e-05 --2.173350233e-05 5.452184916e-07 8.274868247e-06 1.227688678e-05 2.657815007e-05 -3.31569282e-05 -7.302039448e-06 -9.194462884e-06 2.360343461e-05 -1.637701044e-05 --2.058491498e-05 4.264076405e-05 7.752412603e-05 2.20589542e-05 -3.571609409e-05 --1.690621004e-05 -3.415525645e-06 1.638668035e-05 5.435292391e-05 4.130685809e-05 --4.514617807e-05 2.361783734e-05 2.020042924e-05 -7.374755177e-05 -1.087914984e-05 -1.645015822e-05 1.60086836e-05 2.774291142e-05 1.827267587e-05 -3.671353858e-05 --2.659524796e-05 -2.469820067e-05 -4.518459441e-05 -3.592210513e-05 5.547151498e-05 --3.408282717e-05 2.776530442e-05 5.070177215e-05 3.684208147e-06 -4.823080716e-06 --2.382499367e-05 -2.586649951e-05 -2.990250886e-05 2.489043854e-05 7.493212284e-05 --5.443788962e-05 -2.502033369e-05 -6.225543503e-05 -0.0001073352984 6.016246305e-05 --1.37787415e-06 -7.16016932e-06 -1.538975368e-05 -1.465810671e-05 7.528671541e-06 -2.988827835e-06 1.373509383e-05 2.336759925e-05 7.222116546e-06 -2.217606069e-05 --0.1135226662 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04115390523 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1433057039 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06246830661 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003431712366 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006939808282 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001043949679 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001808665623 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001480021231 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004516587818 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.848716859e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.585771795e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.134997343e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1242874614 -0.2960453488 0.9408472971 0 0 -0.173732361 -0.08980066503 0.02632420307 0 0 --0.3181807135 0.02603679085 -0.1187375902 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1287467293 -0.1171083349 0.2203081386 0 0 -0.1123839631 -0.0456717528 -0.01739252518 0 0 --0.205458844 -0.01533963327 -0.02587798484 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03617623427 -0.08212398256 0.1438811212 0 0 -0.016182666 -0.01090801494 0.001579995611 0 0 --0.0291017821 0.001525545208 -0.01295442676 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0123854831 -0.01263557897 0.02329732362 0 0 -0.008161941388 -0.01139676567 0.02441520806 0 0 --0.01476705171 0.02412899004 -0.04143684592 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003349919433 -0.0004062740868 0.001112036789 0 0 -0.0001297356939 -0.0001011156159 5.882496469e-05 0 0 --0.0002234101111 3.319249029e-05 -0.0001779602955 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003556014254 -0.0005198443141 0.001276546157 0 0 --0.0001780019255 2.591810408e-05 -0.0009453187703 0 0 -0.0003433319945 -0.0009529734642 0.001223607173 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007859111799 -0.0007963303098 0.001466065541 0 0 -0.0002368285519 -0.0003860931305 0.001000860453 0 0 --0.0004319265233 0.001030479946 -0.001644593995 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.222664105e-05 -0.0001185643052 0.0002878160613 0 0 -2.657283039e-05 3.960716371e-05 -0.0001265307532 0 0 --5.207681912e-05 -0.0001257012077 0.0001961015049 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.826086086e-06 7.019803095e-05 1.775454407e-05 0 0 -2.406542325e-05 -8.071133171e-05 7.124469727e-05 0 0 --4.016902601e-05 7.427321696e-05 -0.0001660054118 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002606165935 -0.0001767853545 0.0003943072255 0 0 --5.288560046e-05 4.036794903e-06 7.745240348e-05 0 0 -9.703109006e-05 8.226276843e-05 -9.400395595e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.511397005e-06 -5.368357935e-05 0.0001369327213 0 0 --1.218784909e-05 3.880766718e-05 -7.664211214e-05 0 0 -2.14933413e-05 -8.062529829e-05 0.0001307292491 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.430602549e-05 1.271954182e-06 4.45476735e-05 0 0 -2.055342095e-05 -2.444500452e-05 4.231180632e-05 0 0 --3.699551193e-05 4.281665452e-05 -7.658878171e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.532131463e-05 -4.750762006e-05 0.0001300817468 0 0 --2.300587842e-05 1.056121461e-05 -9.644091364e-07 0 0 -4.20239662e-05 -4.917263631e-07 1.203656899e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.3611412033 -0.3180311673 0.5795012231 -0.0335774598 -0.06364752861 -0.2876167149 0.09140149112 0.07486109646 -0.3956313329 0.575000017 --0.6733804556 0.1470456644 -0.0333117922 -0.9046653288 -0.2403747623 -0.02967456824 -0.0298292479 0.07718547956 -0.06600327023 0.008978418945 -0.04122353828 -0.06773162881 0.1089181598 0.009851244682 -0.05815966919 -0.09247626814 -0.08388865935 0.1510114727 0.001656276237 -0.002729347266 -0.1178154783 -0.02661183534 0.1368191879 -0.09697967004 0.124720396 --0.2364956059 0.152182132 -0.2062271951 -0.1679431735 -0.03986885217 -0.03842272143 -0.02375565074 0.08573207461 -0.06728902101 0.02824606491 -0.05903244859 -0.07647143026 0.1119780581 0.02928430895 -0.03879237651 -0.003086203426 -0.01707985701 0.0304845538 -0.007005742281 -0.01177048939 -0.03636478348 -0.002974303809 0.01755522161 0.01125101437 0.04305473426 --0.0648099173 0.01506810798 -0.0233999967 -0.04309614609 -0.0630934297 -0.01302374021 0.002451658081 0.02021832281 -0.01685548784 0.02223545073 -0.02146662151 -0.01915433451 0.01904478162 0.02209713033 0.005256737624 --0.01334435758 -0.01144689274 0.02056421653 -0.01661987971 -0.02653040361 -0.009624125738 0.009042423261 -0.01721343046 0.01409545048 0.02278091549 --0.01833414031 -0.0180750836 0.03149953976 -0.02632130984 -0.04251987136 --0.003582355667 -0.001373756797 0.005502533138 -0.003607075147 -0.005566006477 --0.005962001423 -0.005156298025 0.007246689508 -0.006034956758 -0.009469548502 --0.002450284651 -0.002938935586 0.005284350992 -0.003971638142 -0.00630461311 -0.0006470362054 6.691085059e-05 -0.0001059226593 0.000332284958 0.000534911296 --0.001141812777 7.095810302e-05 -0.0001765712812 -0.0007306702338 -0.0004400413069 --0.001753229152 -0.002082922809 0.00368546753 -0.003797278856 -0.003891217992 --0.00291985551 -0.003322215217 0.0060021426 -0.003953719997 -0.007590123974 --4.268999767e-06 -0.0006415661214 0.001151933104 -0.0003832754481 -0.0006138467043 --0.0002430956337 1.348220351e-05 0.0004006585409 -0.0008896010054 -4.229351942e-05 -0.0004714951616 0.0004312839652 -0.0004832547155 2.081836346e-05 0.001059077815 --0.000610355842 -0.0003036232774 0.0005976732806 -0.0006546073487 -0.000935642702 --0.0009780391461 -0.00055575125 0.0009542044174 -0.0008633542577 -0.001627027641 --0.0002085272259 -0.0001555325127 0.0002784715945 -0.0002355464412 -0.000383920488 -0.000495097766 0.0004708591089 -0.0008556291196 0.0006479418099 0.001100017915 --0.0009084960852 -0.0008632269818 0.001545274845 -0.001240049112 -0.001967832193 -0.0001342522253 0.0001534573811 -0.0002578786446 0.000250606498 0.0002967852632 -0.0002258197198 0.0002357078152 -0.0004363552967 0.0003009711428 0.0005542889559 --4.413702729e-05 -0.0001566850163 0.0002818243173 -0.0001496769138 -0.0002566953632 -0.0002124557784 -3.868549652e-05 9.299556197e-05 1.704212157e-05 0.0001524413535 --0.0004161985447 0.0001281865619 -0.0002053650105 -0.0002417948399 -0.0001370823645 -1.700236283e-05 -7.863142353e-05 0.0001874190023 -0.0002130970886 -3.948569626e-05 -2.420075551e-05 -0.0001674461215 0.0002747205341 -2.426623299e-05 -0.0002480569828 -1.402791716e-05 -0.0002095315873 0.0003795142061 -0.0001500987446 -0.0002465965101 --6.316130051e-05 3.449943683e-05 7.995047681e-06 -0.0002233617146 5.698690016e-05 -6.894657524e-05 2.875925783e-05 2.230917933e-05 -0.0001590239104 0.0001751278741 --0.0001746465283 -8.28337907e-05 0.0001361622129 -0.0001243720225 -0.0002749104175 --0.0002790099054 -0.0001252166509 0.0002297680564 -0.0002687219389 -0.0004047481207 -3.601154924e-05 -2.828046077e-05 5.201178718e-05 -4.664108966e-06 -5.388272042e-06 -8.441382297e-05 8.514169367e-05 -0.0001345266297 2.82423062e-05 0.0002181544592 --0.0001708508152 -0.0001326473414 0.0002573388861 -0.0002774981693 -0.0002897019345 -3.126100269e-05 3.972992599e-05 -7.954614504e-05 8.35723558e-05 6.589162679e-05 -5.581833601e-05 7.189597353e-05 -0.0001244525401 6.433679385e-05 0.0001525709132 -3.881454852e-05 -1.728570233e-05 3.179053602e-05 6.957204924e-06 1.232412867e-05 -4.604083783e-05 -8.71303149e-06 3.429799205e-05 -3.754926698e-05 4.856415104e-05 --9.638465663e-05 4.360864047e-05 -6.033277156e-05 -7.850315775e-05 -9.39877363e-06 -2.043498885e-05 -2.436316402e-06 1.328564253e-05 -1.793655323e-05 2.39963725e-05 -3.120838096e-05 -1.170973267e-05 1.640931536e-05 2.292674253e-05 7.316525614e-06 -1.684130847e-05 -4.673174559e-05 8.49566436e-05 -2.738529343e-05 -4.547743522e-05 -1.272921927e-05 8.811679286e-06 5.575174072e-06 -5.131276724e-05 4.44748968e-05 --4.060061536e-05 1.248525147e-05 -8.542623448e-07 -7.994113251e-05 2.539945846e-06 --2.063714878e-05 -1.645051608e-05 2.668058671e-05 -1.551795694e-05 -4.277415386e-05 --3.355457912e-05 -2.370350471e-05 4.430760256e-05 -4.244668206e-05 -5.906354707e-05 -3.533070052e-05 -2.24001373e-05 4.118006743e-05 1.106303864e-06 2.208563276e-06 -2.294961916e-05 2.244779883e-05 -2.552899553e-05 -2.396621959e-05 6.854435646e-05 --5.542700381e-05 -2.047011072e-05 5.277532969e-05 -0.0001030390184 -5.351193693e-05 -4.791169537e-06 8.102961015e-06 -1.626027936e-05 1.463784811e-05 1.257015787e-05 -8.456793147e-06 1.448806668e-05 -2.51685089e-05 1.214623507e-05 2.748286514e-05 -0.1042346798 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.193192565 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.07087139199 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.006443565709 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001346346402 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001576037354 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001051986844 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.080582815e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.021952525e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001049739842 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.125219698e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.805920513e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.021475406e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.5713639857 -0.005656870873 0.002209209607 0 0 -0.002591577329 0.04122219874 0.0007160262062 0 0 --8.544245319e-05 0.0007146784006 0.04199748968 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02381004684 0.007314818496 -0.001919891886 0 0 -0.00471188849 0.07875197251 0.0006988988016 0 0 -0.000556055785 0.0006565207389 0.0846683744 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1778008985 0.004274174574 -0.0006698736191 0 0 -0.002656501528 0.0445779916 -0.0002323370901 0 0 -0.001058510861 -0.0002875258711 0.05177457549 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0993621733 0.0004752120576 0.0003231057334 0 0 -0.0006663468417 0.008577914432 -0.0003472011669 0 0 -0.0005993357537 -0.0003701916147 0.01165140227 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03281971448 -5.411503119e-05 0.0002372468988 0 0 -0.000139282179 -0.0005177311953 -0.0002295055947 0 0 -0.000284784153 -0.0002361681202 0.0006726741664 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00208808284 -0.0001602002489 9.651162678e-05 0 0 --1.353993696e-05 -0.001742160529 -5.764045529e-05 0 0 -4.5572444e-05 -5.875170392e-05 -0.001699385376 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006327063519 -0.0001594216354 6.182169809e-05 0 0 --1.177962754e-06 -0.001117643933 1.701242639e-05 0 0 --2.919645815e-05 1.733319177e-05 -0.001426556645 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002692791809 2.881373102e-05 -2.584705928e-05 0 0 --1.806993628e-06 5.177921839e-05 3.090028646e-05 0 0 --3.322854763e-05 3.151119997e-05 -0.0001126398059 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002016420571 3.353364895e-05 -3.131914318e-05 0 0 --1.618746899e-05 0.0002726352883 2.000989856e-05 0 0 --2.093645109e-05 2.023682014e-05 0.0002289681543 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003307342228 -1.125395268e-07 -1.267386067e-06 0 0 --7.291791414e-06 5.566604701e-05 -2.308883592e-06 0 0 -2.628339641e-06 -2.464342883e-06 8.402300649e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003738236028 -8.68871144e-06 5.752175292e-06 0 0 --5.433845263e-06 1.546194821e-06 -7.052004584e-06 0 0 -7.660194783e-06 -7.259765582e-06 4.400624132e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.885819794e-05 3.91244102e-07 5.840198774e-07 0 0 -7.819884212e-07 -7.258641303e-06 -5.90378004e-07 0 0 -6.630669045e-07 -6.004773462e-07 -6.414401812e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.078958052e-06 -7.660042649e-07 1.92306989e-06 0 0 -3.63946434e-06 -1.894144609e-05 -1.602177364e-07 0 0 -2.831549229e-07 -1.521277849e-07 -2.583071504e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06749780147 -0.001895800656 0.0001489477599 0.0003066173636 -0.0005114882315 -0.001899794956 -0.0346426094 -0.0005804206859 -0.05252052285 0.0009387220029 --0.001136422324 -0.0005805292566 -0.03537368663 -0.0009875618431 0.04747216957 --0.0002289545536 0.003206077093 0.0001021131924 0.004863540782 -0.000152180598 --0.0001309565066 -9.553115436e-05 -0.003035169037 -0.0001527917566 0.004073522632 --0.03081204072 -0.0004846612469 0.0001742407061 0.0008121425429 -0.0004273705156 -0.0009258138014 -0.02390307061 4.517011333e-05 -0.03623626721 5.700784773e-05 --0.0001065311419 5.062946847e-05 -0.02673910454 -3.224481177e-05 0.03588119749 --0.0001428357733 0.007950216086 0.0001556536817 0.01204584674 -0.0002475376318 --0.0002297165504 -0.0001444313623 -0.008133571442 -0.0002440995982 0.01091507212 -0.01276513366 0.001187632311 -9.349572511e-05 0.001252811839 0.0001515113755 -0.0005542561562 -0.004646652858 0.0002043550703 -0.007067336635 -0.0002462677561 -0.0003939773423 0.0002153703768 -0.006116195641 0.0002848113342 0.008206624043 -0.000356996117 0.0044187306 -1.4739136e-05 0.00667960122 -2.489474769e-06 --1.518513713e-05 1.60256871e-05 -0.005095863012 4.372450489e-06 0.006837557945 -0.01212217457 0.0009505731364 -0.0001841789052 0.0008476760716 0.0003108194374 -0.0004895276258 0.0001471622533 2.931778954e-06 0.000199808402 -2.310135502e-06 -0.0001161804735 1.251211679e-05 0.0001592443935 1.389391534e-05 -0.00021306557 -0.0003121455661 0.0003720804055 -6.335098375e-05 0.0005520311187 8.285840825e-05 -8.455091562e-05 6.129582792e-05 -0.0007347661071 8.722406333e-05 0.0009853226862 -0.002274317677 0.0001881033719 -4.981748956e-05 0.0001623717795 8.466652613e-05 -0.0001215988573 -7.802012942e-05 -1.26077636e-05 -0.0001239561654 1.788950137e-05 --9.394633947e-08 -1.011364728e-05 -4.999718837e-05 -1.588471516e-05 6.732856136e-05 -4.446932867e-05 -6.013348411e-05 -6.958486143e-06 -9.301147283e-05 9.749509337e-06 -2.053630046e-05 7.345179269e-06 4.922283643e-05 1.059422849e-05 -6.610993787e-05 --0.001357918503 -7.432572807e-05 7.579194596e-06 -5.219802423e-05 -1.43992048e-05 --5.865490281e-05 -0.0001312242207 6.162172191e-06 -0.0001962883541 -7.727827997e-06 --1.388574557e-06 5.867825587e-06 -0.0001827081448 8.219117014e-06 0.0002451220754 --2.091255443e-05 8.252306368e-05 1.037302547e-05 0.0001258182635 -1.432554348e-05 --1.035163681e-05 -9.348397298e-06 -5.112246226e-05 -1.399505455e-05 6.865470081e-05 --6.001017004e-05 -3.508965764e-06 1.339838362e-07 -2.282623747e-06 -5.551937242e-07 -5.149336586e-07 1.681353067e-06 5.088440963e-08 2.617127302e-06 -1.233620019e-07 -1.500502459e-06 -9.096357334e-08 7.153191807e-06 -1.868917024e-07 -9.586818549e-06 -9.925988498e-06 4.93039041e-06 -1.87636347e-06 7.166630337e-06 2.450022667e-06 -1.559212514e-06 1.906368707e-06 -1.915689022e-05 2.785133135e-06 2.567767001e-05 -0.0002595330592 1.898311329e-05 -4.783463406e-06 1.564033568e-05 8.013518946e-06 -1.343331001e-05 6.813046508e-07 -7.882518e-07 3.895500486e-07 1.12173582e-06 -7.734610827e-07 -6.243547459e-07 3.067300877e-06 -9.93509107e-07 -4.096565485e-06 -7.929674616e-06 5.317941055e-07 -1.464175803e-06 4.626312481e-07 1.980812608e-06 -3.139505914e-06 1.509402235e-06 -5.668445901e-06 2.149103014e-06 7.595929265e-06 --7.002537979e-05 -4.050724956e-06 -1.669065514e-08 -3.537300758e-06 7.257208582e-08 --2.565074787e-06 -1.355108901e-05 8.62556145e-08 -2.043430647e-05 -4.451706639e-08 --6.581322481e-07 9.896277387e-08 -1.759077932e-05 9.828332198e-08 2.360590464e-05 --2.293504854e-06 2.543680877e-06 1.159698548e-06 3.929020415e-06 -1.560780931e-06 --6.51343599e-07 -1.021198927e-06 2.829227241e-06 -1.514988918e-06 -3.788924053e-06 -1.090564736e-06 -2.114619273e-06 6.716218499e-07 -3.181788509e-06 -9.217023428e-07 -1.78175867e-06 -3.836371625e-06 -4.166736112e-07 -5.860165777e-06 5.679408846e-07 --3.671299724e-07 -4.855474017e-07 -1.288041891e-06 -7.314198481e-07 1.733183629e-06 -1.379750161e-06 -3.181420867e-06 -4.048532634e-07 -4.859510063e-06 5.522709826e-07 -4.002337508e-07 4.116454678e-07 1.334201416e-06 6.187417096e-07 -1.794921622e-06 --1.384271955e-05 -2.913609892e-07 -5.636320191e-08 2.329435903e-07 -6.374529777e-10 --2.77468713e-07 -5.965983486e-07 1.168213989e-07 -8.911758958e-07 -1.545346186e-07 -1.29656084e-07 1.040974161e-07 -7.219029571e-07 1.500124861e-07 9.680477022e-07 -8.657489094e-07 1.917650138e-06 -1.271107227e-07 2.870980636e-06 1.611038746e-07 -1.564633747e-07 1.320164829e-07 -3.108107346e-06 1.8243067e-07 4.169338939e-06 --2.296355376e-05 -1.488175966e-06 2.045079494e-07 -1.284618626e-06 -3.177780167e-07 --1.094751987e-06 -2.878840344e-06 1.503235493e-07 -4.31709301e-06 -1.879565646e-07 --2.76166116e-08 1.439328269e-07 -4.167814936e-06 2.022096023e-07 5.591713404e-06 --5.966531016e-07 1.515168978e-06 3.369204506e-07 2.31718758e-06 -4.587420529e-07 --2.745208519e-07 -2.99459482e-07 -4.091540872e-07 -4.459168921e-07 5.51075734e-07 -6.401548973e-06 2.712579559e-07 -2.123048816e-08 1.153216546e-07 5.451662811e-08 -6.819635132e-07 -1.314406399e-06 -7.082583488e-08 -2.018916103e-06 1.025892862e-07 --6.642575477e-08 -7.555348492e-08 -9.615245321e-07 -1.161400386e-07 1.290739158e-06 -2.826376862e-07 -2.752321688e-07 -8.07346695e-08 -4.283586952e-07 1.09930824e-07 -1.070809441e-07 7.856172763e-08 -7.045455958e-08 1.142254919e-07 9.436392265e-08 -0.4439020615 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.07403857836 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.4033597397 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2741830495 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0442282963 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004717757531 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007495504351 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003824452351 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001995961369 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001079054519 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002118081478 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004328526706 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.611379991e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1702469709 -0.01433944737 -0.003771512754 0 0 -0.01417200412 0.5637136761 0.003361109924 0 0 --0.003026633994 0.003425151492 0.558771512 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1686340372 -0.02124089835 -0.0006225706139 0 0 --0.01788468712 0.4229064774 -0.001551311256 0 0 -0.004669122624 -0.001502364616 0.4449475579 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2064804725 -0.01236125824 0.0007428198604 0 0 --0.001109490141 0.07063928713 -0.0008570182462 0 0 --0.0001636843348 -0.0009159515267 0.07606809176 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05828386933 0.001017359799 0.0002095891262 0 0 -0.003817811881 -0.001665592958 0.0001081058196 0 0 -0.0001053668298 8.963417954e-05 -0.002377283126 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04844787887 0.0007249387146 0.0002313827872 0 0 -0.000885491592 0.002031419636 8.149289365e-05 0 0 -0.0002209551368 7.936781991e-05 0.00147128334 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01235760615 0.0005021845891 2.564486924e-06 0 0 -0.000129417838 -0.001604519065 -3.980636708e-05 0 0 -9.097397581e-05 -3.724872606e-05 -0.001464408988 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.009768064125 -0.0002330465994 -1.48937646e-05 0 0 --0.0003655678371 -0.0002103755544 -6.029557894e-06 0 0 -4.783281107e-05 -4.813384009e-06 -0.0001546729577 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.887184324e-05 -1.468385342e-06 -2.183676994e-05 0 0 --3.438379441e-05 0.0008068453942 4.906707162e-06 0 0 -8.134232926e-06 5.509023457e-06 0.0008161101103 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003693582066 0.0002234309224 -2.777501841e-05 0 0 -0.0001455009229 -0.0003396460638 7.183646281e-06 0 0 -2.664815137e-06 8.445790107e-06 -0.0004216414105 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002157745406 -8.660863968e-05 1.484102375e-05 0 0 --5.0645754e-05 -0.0001743165969 -4.084759472e-06 0 0 -3.855485717e-06 -4.338863493e-06 -0.000157958408 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.973399767e-06 -4.918084788e-05 1.300140443e-05 0 0 --1.150519525e-05 6.138337526e-05 -4.389337517e-06 0 0 -2.892471573e-06 -4.836078286e-06 9.922386306e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002515391843 4.771417114e-06 -1.380152794e-07 0 0 -7.083389698e-06 -4.365218707e-05 3.595245381e-07 0 0 -8.606042824e-07 4.039075278e-07 -4.067037511e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004673113422 4.516936165e-06 -2.954329271e-06 0 0 -2.453003837e-06 -2.862344856e-05 1.693816179e-06 0 0 --2.953380846e-06 1.783464043e-06 -4.576868879e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.6615177489 -0.03032925719 0.002779820636 -0.003074991573 -0.00235776379 -0.01095621019 -0.3920370709 -1.112060448e-05 -0.08796918748 -0.0002682882039 --0.0001657247752 5.047335811e-05 -0.3878848696 0.0002987858566 0.06608850163 --0.00513165469 0.1676834616 0.001393990358 0.03762740822 -0.0001238846528 -0.00188533624 -0.001129377453 -0.1352648325 -0.0001640329189 0.02305113859 -0.1555245007 -0.01286868922 -0.001597584931 -0.003312990464 2.86798715e-05 --0.007038916927 0.307971691 0.0007127811028 0.03956846107 0.0007807681506 -0.0008594629967 0.0007123617112 0.3285475218 -0.0008487667265 -0.02975179616 --0.01003693561 0.1659218628 -0.0009486785105 0.02138291997 0.000542991306 -0.0004807666191 0.0007288834877 -0.1410575751 0.0004888520097 0.01277617451 --0.02343338952 -0.01412675527 0.0007543146631 -0.001223691585 -0.0005092212498 --0.00723160484 0.1338800655 -0.001687392023 -0.002739758598 0.000637991051 -0.0001166246448 -0.001788464771 0.1486332485 -0.0007722684859 0.006486036398 --0.001390035725 0.02309853383 -0.001127398394 -0.0004493063973 7.965944655e-05 --8.507597706e-05 0.0009635187486 -0.01900047056 8.483217238e-05 -0.000824827974 --0.1015492682 -0.004025478786 -0.0006917083781 0.0007032871029 6.300182363e-06 --0.0003154024441 0.01466098603 -6.053439429e-05 -0.005900055584 -5.554804716e-06 --0.001066415302 -0.0001124676021 0.01388580321 1.431265534e-05 0.006737295905 -0.000411167904 -0.00268006036 -0.0001401118254 0.001080092616 -7.374727947e-05 -0.0001835841704 0.000154237021 0.002694243611 -6.542068243e-05 0.001306047775 -0.01294147196 -0.0001388374299 7.825079211e-05 -0.00019880233 -3.823706684e-05 -0.0002807484928 0.007795941849 0.0001735559928 0.00149724322 -3.675785462e-05 -0.000247503413 0.0001668100379 0.006329683741 4.193869681e-05 -0.0007663999732 --0.0003835869919 -0.001475679919 -2.800564134e-05 -0.0002795198994 6.892171129e-06 --8.945757657e-05 3.681460931e-05 0.00194064248 1.192772215e-05 -0.0002347340595 -0.02501669798 0.001150647105 9.891899598e-05 0.0001350119059 3.19052904e-05 -0.000589250364 -0.003131216638 -8.017018244e-05 -5.985391724e-05 3.41015627e-06 -0.0003712009174 -6.854697057e-05 -0.002578466425 -6.584116763e-06 -0.0001819016151 --0.0001366817132 -0.0004816496777 -1.813207135e-05 -1.040731205e-05 -1.842374627e-07 --5.911171979e-05 1.122833625e-05 0.0002345409234 4.688851718e-07 1.64740503e-05 --0.0009391606292 0.0001266300438 -6.317128269e-05 5.283488356e-05 1.299394692e-05 --8.856141708e-05 -2.445993318e-05 -7.18746642e-06 5.901983851e-05 3.477324374e-06 -1.757131876e-05 -3.760285894e-06 -3.317510692e-07 -3.473313993e-06 -9.015861328e-05 --3.637655828e-05 -1.896108536e-05 -3.262436312e-06 3.746538646e-05 1.577476508e-06 --8.205661011e-06 2.489206809e-06 9.498530427e-08 1.550876149e-06 4.728640358e-05 --0.001584667915 -4.033254579e-05 -4.856913027e-05 -9.40560171e-09 8.607509325e-06 --0.0001421956827 0.00115088684 3.172276574e-05 0.0002547147379 -4.239261958e-06 -7.748989444e-06 3.472749169e-05 0.001014041725 6.521405226e-06 -0.0001738726578 --2.830047383e-05 0.000259251017 1.13544871e-05 5.734584764e-05 -1.667727033e-06 --5.789266201e-06 -9.480667392e-06 -0.0001269799937 -1.925851929e-06 2.177400307e-05 --0.0001627954058 4.749946557e-05 5.629865156e-07 1.661905954e-05 1.61192392e-07 -6.666070249e-05 -0.0008139912874 -1.226172634e-05 -0.0002409793705 4.185112284e-06 -1.34640059e-05 -1.096460282e-05 -0.0007917973367 -4.619828478e-06 0.0001779312483 -2.482953997e-05 -0.0001021664025 7.164540546e-07 -3.035452473e-05 6.47433522e-08 -9.48511309e-07 -9.213744909e-07 8.385590021e-05 -1.417487534e-07 -1.883383321e-05 -8.52831422e-05 -5.706565914e-05 1.844650412e-05 -2.336745039e-05 -6.549639577e-06 -2.515520397e-07 -7.981276818e-05 -7.085940248e-06 -2.363733262e-05 1.499914754e-06 -2.76433391e-06 -8.182125763e-06 -3.859431567e-05 -2.428427768e-06 8.548975566e-06 --1.382497113e-06 -4.688175003e-05 -3.515308397e-06 -1.372837361e-05 7.991305692e-07 --9.477962916e-07 3.074742765e-06 2.874886334e-05 9.162082531e-07 -6.363786936e-06 -0.0004281935753 2.753487055e-06 3.81228245e-06 -2.611146541e-06 2.114952633e-07 -9.777403626e-06 -2.405047926e-06 -9.123150584e-07 -6.30739386e-07 1.776231659e-07 -3.018259533e-06 -1.075279564e-06 2.164375369e-05 -2.961845028e-07 -3.879596994e-06 --3.906671677e-06 3.246116356e-05 -5.058277846e-07 7.546334909e-06 1.165252463e-07 --1.51880901e-07 3.965263926e-07 -3.561054482e-05 1.331824108e-07 6.392558579e-06 --0.0003838568096 -5.032992345e-06 -3.947498783e-06 1.987288538e-06 1.551871138e-08 -1.856652966e-06 -9.321162144e-05 2.919672223e-06 -2.680654354e-05 -6.860014322e-07 --5.333634595e-06 2.955696573e-06 -0.0001057462368 9.241563187e-07 2.428676509e-05 -2.17904414e-06 2.1244355e-05 1.829727675e-06 6.086807939e-06 -4.087244363e-07 -1.778514871e-06 -1.518000515e-06 -1.624938976e-05 -4.475882805e-07 3.738527549e-06 --0.0001008341734 -1.063403745e-05 3.438950139e-06 -2.839252173e-06 -1.297882866e-06 --2.586413741e-06 -7.356402454e-05 -2.253799612e-06 -1.97958171e-05 4.745063746e-07 -1.112459327e-06 -2.365558671e-06 -6.697087477e-05 -6.725927175e-07 1.374134572e-05 -1.094403513e-07 -1.662580102e-05 -7.829231374e-07 -4.474249791e-06 1.674289213e-07 --4.353661185e-07 6.866271154e-07 1.410981598e-05 1.923907726e-07 -2.896373821e-06 -0.07704793255 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0304665172 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06983588379 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0215074914 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005621090573 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00121273192 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006648662614 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002042264568 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000123096335 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.295549821e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.450360431e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.936103147e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.257103016e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1264752965 -0.1920575428 0.0007042307428 0 0 -0.3187331326 0.09392586748 0.0007541307587 0 0 -0.0004378734096 0.0001766767824 0.02746683218 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1009237445 -0.1141987318 0.0008312397877 0 0 -0.148386379 -0.002882060351 0.000929920122 0 0 -0.0001790720971 -0.0004027450968 0.01691556158 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0128455376 -0.05933847677 -2.55002414e-06 0 0 -0.0103735207 0.01343607864 -2.316902858e-05 0 0 --5.421006796e-06 1.615155738e-05 0.001864344865 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002924871763 0.0007977343798 3.959669956e-05 0 0 -0.01041154532 0.02373947544 -1.375812937e-05 0 0 -1.306140794e-05 3.825032461e-05 -0.0007107316089 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001381958508 -0.002437652204 -1.887437489e-06 0 0 --0.001313116509 -0.003169333507 -2.081697343e-06 0 0 --3.256540614e-07 1.854655918e-07 -5.29906793e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008876624598 6.864645797e-05 7.152376983e-06 0 0 --0.0003545745151 0.0003213622987 -3.902020582e-06 0 0 --1.676336171e-06 9.034163247e-06 0.0001846702164 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001663840491 -0.0001233468581 1.799350296e-06 0 0 -0.0002916242306 0.001304171671 5.511836585e-06 0 0 -8.241240809e-08 -2.359106229e-06 -5.633031201e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.652198798e-05 -0.0001723849923 6.789663593e-07 0 0 -2.594100642e-05 -0.0002808745353 7.496444126e-07 0 0 -4.330589437e-07 3.752194417e-07 -9.464472965e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001318511332 -8.4381835e-06 -3.227335428e-07 0 0 --1.133477058e-05 -5.299404153e-05 -3.028264872e-07 0 0 --1.376524882e-07 1.025035543e-08 2.148787527e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002259131648 -6.167382145e-05 5.044700501e-07 0 0 --8.271631409e-05 0.0001722477524 8.099692618e-07 0 0 --2.328966602e-07 -3.732179139e-07 -1.26526638e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.331638998e-05 -7.501570642e-05 7.899683947e-08 0 0 --5.195043349e-05 -9.581180525e-05 -3.553553451e-07 0 0 --1.342508959e-08 -1.082111148e-07 -3.975071447e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.075943146e-05 -8.433007819e-06 1.148346711e-07 0 0 -1.136808305e-05 -5.509201731e-06 -6.294222981e-08 0 0 -1.391923766e-08 3.585425474e-08 2.091202952e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.536004436e-05 -2.261521192e-05 2.432405602e-08 0 0 --1.122329714e-05 2.552517739e-05 2.763327837e-08 0 0 --2.597074954e-08 -3.486839261e-08 -2.7531376e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2434651761 -0.5125442627 -0.000713457542 -0.06209829473 -0.0007397880309 -0.08980470094 -0.05970811621 0.0003166932083 -0.1463033608 0.0009419945506 --0.0002936911633 -0.0002059216392 -0.02617511317 0.0006140588804 -0.1619569633 -0.06107770662 0.1548983875 0.0002116488881 0.03351077103 0.0003558991874 -0.0001302495451 0.0004056062491 0.004927248431 4.581207336e-05 0.03048565502 --0.02225061955 -0.05133433873 1.107347953e-05 -0.00283060398 -0.0001749925323 -0.1306586247 0.205843461 0.0002207904373 -0.04249938819 0.001709290812 --0.0002408723892 0.0002998550122 -0.01215242756 0.0003701105254 -0.04679063627 -0.05862344288 0.1290163674 0.0001262661366 0.003957747877 0.0007537114778 -0.0004001374537 0.0003280707852 0.008185680507 -0.0002293306207 0.03151862428 -0.006711289059 -0.008981128155 2.324217625e-05 -0.01420029698 1.132296763e-05 -0.03511668756 0.01149566359 -2.389436276e-05 -0.04836787946 0.0001194394255 --6.741711177e-06 4.045234331e-05 -0.002086868188 -2.360504959e-06 -0.004708390355 -0.009758320464 0.01435056909 -8.527670797e-06 -0.008366319555 8.243296347e-05 -6.191212101e-05 1.300806971e-05 0.003835381759 -3.191823278e-05 0.008654036931 -0.00573785599 -0.007995889881 3.049104956e-06 -0.01233686653 5.427265856e-05 -0.005674559129 -0.00816953871 9.412695792e-07 -0.01246489567 4.815260768e-05 --1.567394095e-05 1.659641527e-05 3.042041726e-05 3.115097944e-05 -0.000214900302 --0.005077400159 0.007700705037 -2.362164895e-06 0.01149413772 -4.280330046e-05 --4.118400182e-05 1.032153218e-05 0.0001284063687 5.450735685e-05 -0.0009072807458 -7.117894631e-05 -0.001011601843 -2.107456442e-06 -0.001183577637 1.531874978e-05 --0.0008119510561 0.0001871173008 -2.624610862e-06 0.0006388437669 1.509500526e-06 --5.471709361e-06 -9.311262828e-07 -2.735182479e-05 2.145498333e-06 0.0001281043041 --0.001114563272 0.001595183479 3.367842693e-08 0.002401851889 -1.855117717e-05 --4.436532473e-06 -1.22727489e-06 -3.192256622e-05 1.232983166e-06 0.0001495111999 --0.0005189384542 -0.0005029367365 -6.047138897e-07 0.0004205719582 1.035677031e-05 --0.0004875755927 -0.0006587649341 -1.400089934e-06 0.0002607958142 1.828806309e-05 -2.21457793e-06 -1.624952905e-06 -4.360200376e-05 -1.863485786e-06 -0.0001930546074 --0.0001643896554 -0.0002973991309 -8.851760425e-07 3.335693654e-05 9.40860045e-06 --6.495867996e-06 -1.79781248e-06 5.131481207e-05 5.385323704e-06 0.0002272993575 -0.0002353061423 -0.0002919834305 1.606242297e-07 -0.0004841992516 -8.872958342e-07 -0.0003414678353 -0.0004386506386 3.259157235e-07 -0.0007139955339 2.425851293e-07 -1.410399614e-07 9.795299713e-07 -5.332416191e-06 7.172743108e-07 -3.540772515e-05 --0.0001754220838 0.0002536589677 -3.177126956e-08 0.0003863364697 1.386797226e-06 -9.11266712e-07 6.843731638e-07 -1.046989766e-05 -2.19922394e-07 -6.952271352e-05 --1.906497624e-06 -6.744594819e-05 -8.517803356e-08 -5.184420246e-05 -1.167750493e-06 -0.000132548879 0.0001407526087 4.268776598e-07 -3.102527075e-05 3.037626088e-06 -4.23545662e-08 1.807305193e-07 -2.233624949e-07 9.795035253e-08 -2.809119775e-06 -5.193900348e-05 0.0001435157015 2.704103069e-07 5.86954911e-05 2.804828227e-06 -5.422101408e-07 3.335378042e-07 2.026534316e-06 -3.626173627e-07 2.544236524e-05 --0.0001437656943 -0.0002216423617 -4.036591344e-07 1.523257557e-05 -2.136693579e-07 --0.0001523807982 -0.000167862841 -3.75642582e-07 6.097051651e-05 4.242079415e-07 --3.178548065e-07 -5.819859954e-07 -5.7232926e-06 1.137606622e-07 -4.113436571e-05 --5.729595348e-05 -1.696448945e-05 -1.626015434e-07 5.366709058e-05 2.189641618e-07 --3.167494061e-07 -3.452091842e-07 3.379262654e-06 4.444880686e-08 2.429743483e-05 --1.987121448e-05 -0.0001619749166 -1.79792711e-07 -9.234642716e-05 3.208464908e-07 --2.369542145e-05 -0.0002716793316 -2.278441202e-07 -0.0001664291962 1.120821869e-06 -1.505362706e-07 -2.832481254e-07 -3.092176051e-06 -1.982821987e-07 -2.755745267e-05 --4.592427656e-05 -6.16652532e-05 -1.42125176e-07 7.99066184e-06 1.056871599e-06 -3.492317366e-07 -1.872210799e-07 -2.777865781e-06 -3.722532649e-07 -2.476516376e-05 --2.981207714e-05 -3.28150528e-05 -8.483876813e-08 1.032803581e-05 4.077016611e-07 -2.030530525e-05 -3.482726353e-06 6.79112949e-08 -2.51342559e-05 -2.972522162e-07 -6.183211416e-08 -9.016046585e-09 -1.436095412e-06 -1.839279488e-08 -1.159747133e-05 -2.456018979e-05 2.264963075e-06 5.745794136e-08 -2.583953836e-05 -5.589202467e-07 --2.25566506e-08 6.473657188e-08 5.237141878e-07 4.974063355e-08 4.229629857e-06 --2.267058517e-05 -4.926150852e-05 -7.24198271e-08 -8.363417854e-06 7.505671998e-10 -7.587319496e-06 1.639436679e-05 5.306168098e-08 2.792702924e-06 1.867944725e-07 -2.705535734e-08 -2.144818899e-09 -2.092602831e-06 2.085235398e-08 -1.482697568e-05 -4.361219552e-06 3.059049091e-05 2.945202632e-08 1.637855199e-05 1.010056188e-07 -3.111727399e-08 6.834373187e-08 3.399184477e-07 3.208243797e-09 2.407692112e-06 --2.828101787e-05 -6.796221982e-05 -1.08854853e-07 -1.610596337e-05 4.134167939e-08 --1.952444031e-05 -7.787785841e-05 -7.515255891e-08 -3.302823056e-05 1.178661968e-07 --2.978563046e-08 -1.207870119e-07 -1.665958403e-06 6.972305693e-09 -1.370846477e-05 --9.453906375e-06 -1.613795321e-05 -3.069437698e-08 -7.312613173e-07 4.3030042e-08 -1.101561147e-08 -4.716000174e-08 -5.295966503e-07 -2.704635305e-08 -4.358371359e-06 -0.08492008587 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03457858964 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.07322623009 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03058795793 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009972052725 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006732227052 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005626570199 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005026941523 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.437593925e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001241440791 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.637868389e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.767408909e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.36060998e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1265775035 0.1009943871 0.176170032 0 0 --0.1529678668 0.04461698639 0.02537335238 0 0 --0.2809811773 0.02379636752 0.077568876 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1335541795 0.0549375205 0.09878072147 0 0 --0.08325177627 0.01654034807 -0.009705243867 0 0 --0.1526511214 -0.008463104726 0.006217849423 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01250447225 0.03505994083 0.06273665334 0 0 --0.006586276006 0.004050875103 0.001107488102 0 0 --0.01186901667 0.00100399593 0.005358954904 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001192430616 0.0008949663759 0.001638979637 0 0 --0.005836737857 0.006011559818 0.01249583241 0 0 --0.01066100292 0.0123897814 0.02151237771 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001041564093 0.0005641317363 0.001012782202 0 0 -0.0003713505314 -0.0003575632654 -0.0006267844305 0 0 -0.0006774675188 -0.0006375223541 -0.001132707026 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009079077737 -0.0001037398913 -0.000107414907 0 0 -0.000252015033 0.0001546589126 -0.0001352884353 0 0 -0.000468504806 -0.0001231084444 -3.370678336e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001331851302 0.0001497878112 0.0002662432161 0 0 --0.0002066199992 0.0002591934994 0.0005900986218 0 0 --0.000375920545 0.0006108373048 0.0009980459663 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.533868519e-05 5.478753392e-05 9.610301895e-05 0 0 --3.763464267e-05 -4.332621908e-05 -8.357960082e-05 0 0 --7.248566622e-05 -8.331532259e-05 -0.0001443546142 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002124408008 -2.520030117e-05 -4.173532459e-05 0 0 -3.292310837e-05 2.193624952e-05 -3.350180692e-07 0 0 -6.23954612e-05 9.097558799e-07 2.113355187e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002486472646 5.984974262e-05 0.0001127033118 0 0 -4.594969423e-05 1.262676989e-05 5.382109989e-05 0 0 -8.542386148e-05 5.831790298e-05 7.779258345e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.301091861e-05 2.521046618e-05 4.312845969e-05 0 0 -6.43106737e-06 -2.22831347e-05 -3.766530539e-05 0 0 -1.101331086e-05 -3.989186751e-05 -6.738504476e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.532746664e-05 -1.045311846e-06 -1.63567983e-06 0 0 --1.060870699e-05 7.016629777e-06 9.819896703e-06 0 0 --1.932415699e-05 9.861612923e-06 1.901677418e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.190046329e-05 1.791888309e-05 3.306926299e-05 0 0 -1.629881871e-05 -1.700465471e-06 4.040277505e-06 0 0 -3.007845879e-05 4.464731153e-06 3.004443052e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2746940763 0.2444081678 0.4456085914 0.02985475774 -0.0440594483 --0.05523870786 -0.03746041659 -0.006980993606 0.09759597123 0.1465229067 --0.09036042209 -0.008716878665 -0.04746544331 -0.1422270106 0.07007514749 --0.03297381126 0.03109040346 0.0670207158 0.03188172127 0.0007748819088 -0.04961753087 -0.05767030364 -0.09865701017 0.0008299020824 0.02976961667 --0.02389743884 0.0232739052 0.04195314935 0.0003955140429 -0.002049483631 --0.07425926014 0.03979916196 0.1013018353 0.03000615856 0.0426393977 --0.1369364943 0.1020710899 0.1695551958 -0.04440062161 0.01865828726 --0.03415028582 0.02598594887 0.06534869651 0.02806195745 0.01259136899 -0.0535860024 -0.05696259524 -0.09212830877 0.01343512797 0.01435395899 -0.007405595019 0.003024159347 0.005351121125 0.007002853616 -0.01167982281 --0.02094068873 0.003553931107 0.01187554755 -0.007606006256 0.02335675778 --0.0382781643 0.01215328615 0.01869748321 -0.02541153237 0.03509802501 --0.007270928465 0.0003866638598 0.01030839101 0.005484238396 0.01030002831 -0.01186547007 -0.009535859512 -0.01116694856 0.0101874327 -0.004680535399 -0.005839633085 0.004897105778 0.008790036762 0.007299753391 -0.01157895668 --0.003130932554 -0.002909990409 -0.005389482461 -0.004291858347 0.007027257208 --0.005604472576 -0.005294453573 -0.009464109564 -0.007746830259 0.01242703109 -0.002084229148 0.001423398986 0.003410097687 0.00230769633 -0.004270861817 --0.003504331639 -0.003052840443 -0.004942942346 -0.004456858419 0.006630771296 -0.0001524762734 0.0008673328142 0.001573177244 0.001023876802 -0.00154869907 -0.0004460321931 9.3495381e-05 0.0001842754095 0.0001154118675 -0.00050592805 -0.0008178977023 0.0002011343538 0.0003251091514 0.0005606166704 -0.0007411068843 -0.0008793666894 0.0008194756936 0.001409573648 0.001461120906 -0.001685518131 --0.001449052667 -0.001271628791 -0.002306347451 -0.00172052386 0.003094425024 --0.0003210498505 0.0002946974944 0.0005300417346 -3.383056642e-05 8.689038821e-05 -0.0002432419406 -0.0001148138561 -8.127207989e-05 0.0003019261585 -9.889294404e-05 -0.0004824562804 -8.731676189e-05 -0.0002330102288 9.008489786e-05 -0.0004908725915 -0.000211236033 -8.412688997e-06 4.533813828e-05 0.0002241951825 -0.0001949369367 --0.0003447264685 -5.31324236e-05 -5.180714007e-05 -0.0001443282667 0.0004519024205 -0.0001339172386 6.832899918e-05 0.0001215201482 0.0001239817774 -0.0002052738967 --0.0001855838615 -0.0001333362836 -0.0002371577254 -0.0001937952556 0.0003482407623 --0.0003283248496 -0.0002312669246 -0.0004143241899 -0.00037274483 0.0005931073779 --2.725637939e-06 8.515056007e-06 1.221076734e-05 -3.079335885e-05 -2.797213632e-05 -1.097960104e-05 -4.945216675e-06 -1.15183042e-05 -2.184194263e-05 -1.207940884e-05 --7.819516495e-06 7.058340624e-05 0.0001275876258 5.286101737e-05 -9.240564331e-05 --8.154865348e-05 2.551484428e-05 4.758309278e-05 -2.305387304e-05 3.406317001e-05 --0.0001476716194 4.632792355e-05 8.634708292e-05 -4.181415821e-05 6.146160832e-05 --1.911559088e-05 4.437626485e-05 9.354586984e-05 7.526308059e-05 -2.803033379e-05 -2.926440315e-05 -8.293085475e-05 -0.0001419007117 -1.965298451e-05 0.0001033025174 --0.0001274822121 0.0001415212793 0.0002577205169 3.57084077e-05 -5.410350336e-05 -0.000100805006 -4.981296285e-05 -7.480229379e-05 6.623479064e-05 -1.749608702e-05 -0.0001894462881 -7.67638265e-05 -0.0001502670159 2.015789403e-05 -9.220239591e-05 -7.390166906e-05 9.103960217e-06 1.562473184e-05 4.720506726e-05 -8.044642072e-05 --0.0001169355101 -1.689920762e-05 -2.914912862e-05 -7.628242065e-05 0.0001304330346 --3.091890471e-05 5.194950636e-05 9.453227531e-05 2.638494474e-05 -3.889418673e-05 --7.925617385e-06 -5.621579313e-05 -9.643849776e-05 -2.843501745e-05 8.771597699e-05 --9.605567203e-06 -9.696273706e-05 -0.0001782406204 -9.430925327e-05 0.000130059966 -2.586850429e-07 -1.935864026e-05 -3.989635772e-05 -3.521626572e-05 1.769384495e-05 -2.805134751e-06 3.525421775e-05 6.079080417e-05 1.850877401e-05 -5.269333758e-05 --2.620015281e-05 1.281986656e-05 2.354590696e-05 -3.363014096e-06 7.52847371e-06 --1.745944773e-05 5.289685338e-06 1.308164605e-05 5.490583207e-06 1.265310802e-05 --3.060558224e-05 1.288712243e-05 2.202315827e-05 -1.094166448e-05 9.731093353e-06 --1.439296558e-05 3.674267208e-06 9.786421413e-06 5.020702953e-06 1.156294123e-05 -2.183723819e-05 -8.279933933e-06 -1.342144215e-05 1.00586582e-05 -7.444974426e-06 --2.259453853e-05 2.947355161e-05 5.371532591e-05 1.076170294e-05 -1.69464929e-05 -2.915734147e-07 -7.814771926e-07 3.783824931e-06 1.493528942e-05 5.70011457e-06 -1.596520989e-06 3.670501746e-06 3.848892931e-06 -4.39537616e-06 -8.84878687e-06 -3.849351301e-06 9.114285437e-06 1.601288999e-05 7.845370231e-06 -1.567346358e-05 --6.575135013e-06 -1.398510287e-05 -2.558226495e-05 -1.54085745e-05 2.36912458e-05 --3.331146342e-05 2.821629651e-05 5.158749245e-05 4.707422305e-06 -6.008961207e-06 -6.733176587e-06 -1.790170877e-05 -2.903951403e-05 1.572134513e-06 2.110473029e-05 -1.405710344e-05 -2.933736759e-05 -5.524299629e-05 -2.192831976e-05 2.265192155e-05 -1.70351898e-06 -4.943483677e-06 -9.977157468e-06 -6.390722548e-06 3.609581811e-06 --2.190542164e-06 8.685156195e-06 1.516019818e-05 3.564930568e-06 -9.915830614e-06 -0.08491837286 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03725370429 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06973771224 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03382171645 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001439061879 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003769054565 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003932654044 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005809124761 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.146955418e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001097620757 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.188578209e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.52244674e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.136360459e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1344330849 0.09860549301 -0.1705998469 0 0 --0.1498626728 0.0434587455 -0.02458045444 0 0 -0.2767328839 -0.02249824565 0.07623005417 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1456528774 0.05267214675 -0.09252376227 0 0 --0.08780749583 0.01782666303 0.008477745603 0 0 -0.1617846123 0.008715676964 0.008812243549 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01012934954 0.03684668608 -0.06595632708 0 0 --0.007316232083 0.003484137306 0.001250908988 0 0 -0.01321355151 0.001361214704 0.001866628352 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002921382299 0.00214458841 -0.00381405237 0 0 --0.005702649458 0.006076804749 -0.01257709556 0 0 -0.01045983179 -0.01256528651 0.02180405777 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007272115083 0.0001315986879 -0.0002458410367 0 0 -7.898169184e-05 3.543507384e-05 -8.544128513e-06 0 0 --0.0001555648582 -1.985605421e-06 4.525340152e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008778540776 -0.0001489988253 0.0002018707512 0 0 -0.0002760337414 0.0001303662867 0.0001605609411 0 0 --0.0005158888448 0.0001340222921 -7.399304212e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000145427912 0.0002189581708 -0.000385858088 0 0 --0.0001812377544 0.0002004884644 -0.0004898093395 0 0 -0.0003338756018 -0.0005023587504 0.0008186203295 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.416157151e-05 4.006272628e-05 -6.845567027e-05 0 0 --6.298284276e-05 -1.181741431e-05 4.295080443e-05 0 0 -0.0001183929247 4.359624641e-05 -6.291190232e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002483109486 -4.242401692e-05 7.017115105e-05 0 0 -3.951021346e-05 3.694266478e-05 -3.465176961e-05 0 0 --7.599489922e-05 -3.724352038e-05 7.86965297e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002459583692 7.889618262e-05 -0.0001452127372 0 0 -5.407271038e-05 -7.627587843e-06 -2.04171974e-05 0 0 --0.0001001948597 -2.306811156e-05 1.635581551e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.289744206e-06 1.765392325e-05 -2.956962323e-05 0 0 --4.448812358e-06 -1.56685047e-05 3.102476049e-05 0 0 -8.97994371e-06 3.285714352e-05 -5.307233913e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.786263958e-05 -3.143798917e-06 5.509278124e-06 0 0 --1.181325988e-05 1.045551692e-05 -1.811904458e-05 0 0 -2.151119257e-05 -1.828201071e-05 3.276929724e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.971847483e-05 2.109522429e-05 -3.897159523e-05 0 0 -2.131936329e-05 -5.871714145e-06 3.268456378e-06 0 0 --3.943678916e-05 2.893193033e-06 -1.033120489e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2763961501 0.2406065501 -0.4409030698 0.03013417733 0.04322326002 --0.05191561084 -0.03747987205 0.009037216922 0.09651024226 -0.1426788725 -0.08381814509 0.01128599824 -0.05026714151 0.1368960712 0.06613083854 --0.03170907193 0.02941062291 -0.06352759875 0.03038707721 -0.0007442673769 --0.04731257367 0.053930903 -0.09274128126 -0.0005815380121 0.02809946022 --0.02721216049 0.02494014401 -0.04502445932 -0.0001182647208 0.00102954888 --0.07510194623 0.03932560879 -0.1024537388 0.0339410865 -0.04360291418 -0.1380130869 -0.1032422738 0.1717407912 0.04263124368 0.01597564274 --0.03460590873 0.02629035395 -0.06591085172 0.02863093645 -0.01200184278 --0.05321667123 0.05676040176 -0.09229081213 -0.01194300479 0.01550418901 -0.006799748524 0.002246889834 -0.00387768641 0.005974192492 0.010104784 --0.02209535215 0.005040525666 -0.01569642974 -0.005879437997 -0.02305590707 -0.04050732779 -0.01608421956 0.02516841061 0.02481137457 0.03311418673 --0.0082092099 0.0006359437405 -0.01147565466 0.006015466539 -0.01107937315 --0.01314046849 0.01052537309 -0.01253080147 -0.01079978221 -0.00487081686 -0.005660310535 0.004911469414 -0.008816430823 0.007142792072 0.01141327269 --0.00343229343 -0.003182977757 0.005890250877 -0.004839378265 -0.007815228803 -0.006105508507 0.005765654148 -0.01036842432 0.008581779982 0.01386330072 -0.00175416369 0.0009521189933 -0.002989530609 0.002110785006 0.003322478322 -0.002846680033 0.002698932997 -0.004024737772 0.00339715707 0.005405768762 -0.0001561973156 0.001051816094 -0.001911446226 0.00114270953 0.001765908203 -0.0003777269207 2.76346765e-05 -4.84090639e-05 1.204122608e-05 0.0003997581729 --0.0007244230092 -6.835409071e-05 9.65449039e-05 -0.0004507207698 -0.0005418980633 -0.0009818994221 0.0009221968269 -0.001627446334 0.001735815683 0.001877794827 -0.00159462732 0.00146456399 -0.002636595236 0.001875548604 0.003546897238 --0.0001258462641 0.0003573214252 -0.0006411312384 0.0001265224263 0.0001955388222 -0.0002552241642 -8.620652055e-05 1.542393298e-05 0.0003573282846 0.0001334681397 --0.000491528423 2.114252239e-05 -0.000123312649 -0.0001468434344 -0.0005663507367 -0.000313403067 8.633930183e-05 -0.0001749411527 0.0002853225884 0.00042035275 -0.0005008748522 0.0001695160347 -0.0002837466716 0.0003812247373 0.0007268049828 -6.926208917e-05 1.721239649e-05 -2.931565119e-05 4.251622595e-05 7.047258374e-05 --0.0001732209511 -0.0001264859635 0.0002287079068 -0.0001882176037 -0.0003206624837 -0.0003063759554 0.0002217830902 -0.0003952443986 0.0003436558728 0.0005518859322 --4.277921637e-05 -2.892003132e-05 4.365624688e-05 -6.340125355e-05 -5.771094875e-05 --7.449679935e-05 -4.572602205e-05 8.622871254e-05 -6.391926584e-05 -0.0001322460266 --3.61828916e-05 8.521347133e-05 -0.0001552763291 5.132973218e-05 8.640185286e-05 --8.951949171e-05 1.498418143e-05 -2.907364497e-05 -3.54717962e-05 -5.655637867e-05 -0.0001608833901 -2.670832857e-05 5.192832617e-05 6.366632622e-05 0.0001020523553 --2.508891336e-05 3.917278262e-05 -9.036342394e-05 8.530498655e-05 9.337033563e-06 --3.781261367e-05 8.011718975e-05 -0.0001340077284 4.362343857e-06 9.334046351e-05 --9.247374945e-05 0.0001582527229 -0.0002885608726 7.000550942e-05 0.0001096264963 -0.0001023576367 -5.605551747e-05 8.647787607e-05 6.374682969e-05 8.272173938e-06 --0.0001928343688 8.861444635e-05 -0.0001728509513 -1.075634471e-05 -7.811714331e-05 -9.246434192e-05 1.869834744e-05 -2.76334944e-05 5.031153393e-05 0.000113387928 -0.0001459292647 2.838448852e-05 -5.207556969e-05 0.0001100565246 0.0001668355775 --3.328300911e-05 3.451177773e-05 -6.332768076e-05 1.165575189e-05 1.598421583e-05 --1.277439276e-05 -4.523308021e-05 7.823037551e-05 -2.678354735e-05 -7.704871154e-05 -1.955812276e-05 7.861420529e-05 -0.0001443626271 8.224224976e-05 0.0001170251646 --1.029383891e-05 -2.041621665e-05 4.027111525e-05 -3.689828647e-05 -3.002045628e-05 --1.863116409e-05 -3.573584747e-05 6.247486718e-05 -2.941386845e-05 -6.703530156e-05 --2.577390905e-05 1.296362378e-05 -2.395863031e-05 -3.272981992e-06 -6.490635484e-06 --1.861222914e-05 6.88395181e-06 -1.607695698e-05 5.630898252e-06 -1.13136182e-05 -3.304743709e-05 -1.574074564e-05 2.750528509e-05 1.014258403e-05 7.873257619e-06 --1.441163575e-05 4.547518033e-06 -1.208520541e-05 7.182139953e-06 -1.081915452e-05 --2.179607678e-05 1.018241791e-05 -1.662618679e-05 -1.009248352e-05 -4.181257714e-06 --2.218016856e-05 3.293228667e-05 -6.024129247e-05 1.430893288e-05 2.254196055e-05 -3.352543607e-06 -4.271837828e-06 2.827578977e-06 1.362190081e-05 -7.550083305e-06 --7.19565497e-06 2.971557326e-06 -8.127560318e-06 6.352432067e-06 -5.30877374e-06 -6.65643756e-06 8.650750861e-06 -1.443565361e-05 6.910624086e-06 1.837026421e-05 -1.098068622e-05 1.259176569e-05 -2.346294582e-05 1.827549025e-05 2.539619346e-05 --3.276262438e-05 2.43648074e-05 -4.486846264e-05 2.338560578e-06 2.380563438e-06 -5.447239594e-06 -1.549380518e-05 2.526924491e-05 1.340926514e-06 -1.902258086e-05 --1.164237904e-05 2.557971125e-05 -4.826967315e-05 1.967125363e-05 2.055842006e-05 --7.897468328e-08 -5.01099125e-06 9.795151298e-06 -6.451955609e-06 -5.626660835e-06 --5.923521211e-07 -8.503356735e-06 1.502859514e-05 -5.517657284e-06 -1.202539237e-05 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/gdmx_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/gdmx_ref.dat deleted file mode 100644 index 26a20dd2e0..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/gdmx_ref.dat +++ /dev/null @@ -1,14625 +0,0 @@ -0.004264241577 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005660860289 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005766717256 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004705695994 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002523341852 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000198737253 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001228478458 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001015391237 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.362290068e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.244311953e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.063499268e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.150719929e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.749007251e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002638031266 0.05782964746 0.0008530522436 0 0 -0.05782964746 0.09952063528 -0.0004198457211 0 0 -0.0008530522436 -0.0004198457211 -0.08349973243 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0082542325 0.1401398236 0.0005634463365 0 0 -0.1401398236 0.2063475568 -0.003782600316 0 0 -0.0005634463365 -0.003782600316 -0.1683414068 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007742578845 0.08601256415 -0.000718254345 0 0 -0.08601256415 0.1122837165 -0.001517639339 0 0 --0.000718254345 -0.001517639339 -0.1029445657 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002996203448 0.01834358595 -0.0006529541849 0 0 -0.01834358595 0.01855535588 0.0002252291858 0 0 --0.0006529541849 0.0002252291858 -0.02316933616 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00101548011 -6.060508629e-05 -0.0003757769461 0 0 --6.060508629e-05 -0.003810302821 0.0004467544689 0 0 --0.0003757769461 0.0004467544689 -0.001340082424 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.153059767e-06 -0.002942657942 -8.171233781e-05 0 0 --0.002942657942 -0.004906589014 0.0001676980626 0 0 --8.171233781e-05 0.0001676980626 0.003378480404 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002396170272 -0.002077727731 3.189105049e-05 0 0 --0.002077727731 -0.002520448343 1.808807886e-05 0 0 -3.189105049e-05 1.808807886e-05 0.002836965886 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001206944725 1.181973503e-06 4.827007874e-05 0 0 -1.181973503e-06 0.0004834344829 -6.036360159e-05 0 0 -4.827007874e-05 -6.036360159e-05 0.0002243586611 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.905145875e-05 0.0004236688266 3.039029414e-05 0 0 -0.0004236688266 0.0008566604466 -4.93967013e-05 0 0 -3.039029414e-05 -4.93967013e-05 -0.000455067112 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.906609172e-05 0.000113961084 -4.219363662e-06 0 0 -0.000113961084 0.0001048642356 1.08461584e-06 0 0 --4.219363662e-06 1.08461584e-06 -0.0001671013903 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.024397521e-05 2.168763881e-05 -1.161185725e-05 0 0 -2.168763881e-05 -8.376533876e-05 1.350983765e-05 0 0 --1.161185725e-05 1.350983765e-05 -8.758915684e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.013305536e-06 -1.109343198e-05 -9.19114728e-07 0 0 --1.109343198e-05 -2.146697578e-05 1.3364722e-06 0 0 --9.19114728e-07 1.3364722e-06 1.274761839e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.147993931e-06 -3.426450544e-05 -1.189527245e-07 0 0 --3.426450544e-05 -4.088765503e-05 1.446249627e-06 0 0 --1.189527245e-07 1.446249627e-06 5.136290606e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002928453387 0.04878901627 2.280876649e-05 0.01836084336 -0.0006347466869 -0.04878901627 0.007571609286 0.0002350254082 -0.01969035103 -0.0005568506397 -2.280876649e-05 0.0002350254082 -0.004495917348 -0.0005331891059 -0.02184473673 -0.01836084336 -0.01969035103 -0.0005331891059 -0.07218763209 0.0002356620508 --0.0006347466869 -0.0005568506397 -0.02184473673 0.0002356620508 0.06672966133 --0.0002323270941 0.03714041747 -0.0003099547983 -0.0031657519 0.0004370059752 -0.03714041747 0.01617319052 -0.0001845552743 -0.001920435672 0.0004387477619 --0.0003099547983 -0.0001845552743 -0.01205004731 -0.0002883866115 -0.008131510136 --0.0031657519 -0.001920435672 -0.0002883866115 -0.0376691429 0.0005025354331 -0.0004370059752 0.0004387477619 -0.008131510136 0.0005025354331 0.04352172323 -0.0002029587963 0.01006228441 -8.534325244e-05 -0.009261581224 0.0004126668983 -0.01006228441 0.008304536433 -0.0001641373024 0.004735209572 0.0004719690209 --8.534325244e-05 -0.0001641373024 -0.007551545643 0.0001263267697 0.002784831281 --0.009261581224 0.004735209572 0.0001263267697 -0.002489543351 0.0001140192226 -0.0004126668983 0.0004719690209 0.002784831281 0.0001140192226 0.006121465487 --0.0003898764379 0.0008522498471 0.0001015544426 -0.001899942586 -4.028282469e-05 -0.0008522498471 0.0005690565272 3.956576757e-06 0.0004488915986 4.337038291e-05 -0.0001015544426 3.956576757e-06 -0.001089830493 0.0001080774333 0.001173540903 --0.001899942586 0.0004488915986 0.0001080774333 0.0003640560268 -9.164731432e-05 --4.028282469e-05 4.337038291e-05 0.001173540903 -9.164731432e-05 -0.001187412693 --0.0001102139388 0.000167638184 2.454515013e-05 7.958837394e-05 -3.058195426e-05 -0.000167638184 -7.572730995e-05 4.486601759e-06 -0.0001616331775 -9.933580657e-06 -2.454515013e-05 4.486601759e-06 7.285269468e-05 3.297507151e-06 -0.0001074790817 -7.958837394e-05 -0.0001616331775 3.297507151e-06 -0.0002965636403 -1.19471253e-05 --3.058195426e-05 -9.933580657e-06 -0.0001074790817 -1.19471253e-05 0.0001574250355 -6.367163958e-05 7.463048343e-05 -1.580707998e-05 -0.0001131922164 2.064950964e-05 -7.463048343e-05 0.0002028989031 -1.423172233e-05 0.000148538355 1.922179777e-05 --1.580707998e-05 -1.423172233e-05 -7.553537423e-05 -2.11351108e-05 -6.206295515e-05 --0.0001131922164 0.000148538355 -2.11351108e-05 2.933794575e-06 2.82997721e-05 -2.064950964e-05 1.922179777e-05 -6.206295515e-05 2.82997721e-05 0.0003025775457 --9.438560625e-06 5.926087303e-06 2.487848436e-06 -3.597644049e-05 -8.497069119e-07 -5.926087303e-06 2.595999132e-06 -4.553916546e-07 -2.627738522e-06 1.691905343e-06 -2.487848436e-06 -4.553916546e-07 -2.841193271e-05 2.109256087e-06 3.279287208e-05 --3.597644049e-05 -2.627738522e-06 2.109256087e-06 -9.567127591e-06 -1.511912946e-06 --8.497069119e-07 1.691905343e-06 3.279287208e-05 -1.511912946e-06 -3.685991262e-05 --1.418590515e-05 1.99551345e-05 3.518824164e-06 -1.67843336e-05 -3.339975722e-06 -1.99551345e-05 5.945888198e-07 9.549760151e-07 -3.697299622e-06 -8.414598354e-07 -3.518824164e-06 9.549760151e-07 -8.425852784e-06 2.555348438e-06 1.043574447e-05 --1.67843336e-05 -3.697299622e-06 2.555348438e-06 -7.787387842e-06 -3.115390047e-06 --3.339975722e-06 -8.414598354e-07 1.043574447e-05 -3.115390047e-06 -1.282992627e-05 -3.955919718e-06 5.705403183e-06 -1.165721755e-06 3.482769443e-06 9.987057384e-07 -5.705403183e-06 1.232849134e-05 -1.242532652e-06 7.033838663e-06 1.187017965e-06 --1.165721755e-06 -1.242532652e-06 4.217425907e-06 -2.658472784e-06 -1.709916348e-05 -3.482769443e-06 7.033838663e-06 -2.658472784e-06 -6.65539467e-06 2.881376751e-06 -9.987057384e-07 1.187017965e-06 -1.709916348e-05 2.881376751e-06 3.8305022e-05 --3.690228341e-06 6.184743899e-06 7.217317336e-07 9.793442827e-06 -1.035481078e-06 -6.184743899e-06 -6.904775329e-06 3.701534966e-07 -1.146274402e-05 -6.229974499e-07 -7.217317336e-07 3.701534966e-07 1.970740477e-06 3.665860552e-07 -2.870779132e-06 -9.793442827e-06 -1.146274402e-05 3.665860552e-07 -1.890509996e-05 -6.803241175e-07 --1.035481078e-06 -6.229974499e-07 -2.870779132e-06 -6.803241175e-07 4.158174725e-06 --5.775379084e-07 2.59291078e-06 1.501475176e-07 -5.475148252e-06 6.751917586e-08 -2.59291078e-06 2.619392485e-06 -7.584378664e-09 1.629712139e-06 1.982323421e-07 -1.501475176e-07 -7.584378664e-09 -4.608239531e-06 3.381959816e-07 3.927550477e-06 --5.475148252e-06 1.629712139e-06 3.381959816e-07 -2.065624978e-07 -2.158353515e-07 -6.751917586e-08 1.982323421e-07 3.927550477e-06 -2.158353515e-07 -2.245016099e-06 -1.452466157e-06 8.78926848e-07 -4.48858374e-07 -1.592107325e-06 5.338527575e-07 -8.78926848e-07 4.40610564e-06 -4.205728818e-07 3.509336645e-06 5.166077567e-07 --4.48858374e-07 -4.205728818e-07 -5.991451867e-07 -7.045432467e-07 -2.503171371e-06 --1.592107325e-06 3.509336645e-06 -7.045432467e-07 7.407183921e-07 8.772617316e-07 -5.338527575e-07 5.166077567e-07 -2.503171371e-06 8.772617316e-07 7.797603687e-06 --9.402385583e-07 3.134540516e-06 1.483611174e-07 1.965948742e-06 -2.171415445e-07 -3.134540516e-06 -9.253608544e-07 1.288386839e-07 -2.407503673e-06 -1.712626454e-07 -1.483611174e-07 1.288386839e-07 -1.061566158e-07 1.581706214e-07 -6.100702252e-07 -1.965948742e-06 -2.407503673e-06 1.581706214e-07 -4.912395866e-06 -2.198965332e-07 --2.171415445e-07 -1.712626454e-07 -6.100702252e-07 -2.198965332e-07 1.82867734e-06 --0.004106501462 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002676718886 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005046258454 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00331976488 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005069334605 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001198735964 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.567679553e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.113072615e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.25898373e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.246442207e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.250573766e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.762230257e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.173199228e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004306311685 0.06940186736 -0.0001189960032 0 0 -0.06940186736 0.001487094754 -0.0001242295495 0 0 --0.0001189960032 -0.0001242295495 -0.002551393032 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00434577981 0.002603436488 0.0002425511693 0 0 -0.002603436488 -0.00205740842 -2.167089405e-05 0 0 -0.0002425511693 -2.167089405e-05 -0.002618003146 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001978225946 0.03163025501 8.507919807e-05 0 0 -0.03163025501 0.0006896035135 7.074444299e-05 0 0 -8.507919807e-05 7.074444299e-05 -0.0007675901662 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00218649673 0.02903421779 -4.57276818e-05 0 0 -0.02903421779 0.0009304055127 0.0001154981048 0 0 --4.57276818e-05 0.0001154981048 4.687975377e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007477046949 0.002117258358 -1.609943889e-05 0 0 -0.002117258358 3.224588611e-06 1.427082892e-05 0 0 --1.609943889e-05 1.427082892e-05 -2.808491362e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001575040461 -2.818179047e-07 2.096649985e-07 0 0 --2.818179047e-07 -6.381124679e-06 9.396999995e-07 0 0 -2.096649985e-07 9.396999995e-07 -3.687369424e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.246341586e-05 0.0007981856667 -4.311545382e-07 0 0 -0.0007981856667 3.178135938e-05 2.954966143e-06 0 0 --4.311545382e-07 2.954966143e-06 2.833929964e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.282339321e-06 5.772020528e-06 2.375678571e-07 0 0 -5.772020528e-06 -3.799018498e-06 -1.403769313e-07 0 0 -2.375678571e-07 -1.403769313e-07 -6.062257855e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.992356234e-05 0.0001756350007 4.580034121e-07 0 0 -0.0001756350007 1.138509609e-05 1.375689456e-07 0 0 -4.580034121e-07 1.375689456e-07 2.438771216e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.054529572e-05 5.607463e-05 1.514459054e-07 0 0 -5.607463e-05 4.374940037e-06 -8.713362391e-08 0 0 -1.514459054e-07 -8.713362391e-08 5.668396673e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.72905734e-08 -2.39557105e-05 -3.243414376e-08 0 0 --2.39557105e-05 -1.869814516e-06 -4.821032134e-08 0 0 --3.243414376e-08 -4.821032134e-08 -7.33597189e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.898180589e-06 4.480700775e-05 3.929847708e-08 0 0 -4.480700775e-05 2.696968054e-06 6.907573337e-08 0 0 -3.929847708e-08 6.907573337e-08 6.2868297e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.837984393e-06 6.393763906e-06 7.396389817e-09 0 0 -6.393763906e-06 4.874754679e-07 -2.073731586e-08 0 0 -7.396389817e-09 -2.073731586e-08 4.132296111e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002575066572 0.01551458622 -0.0002802334839 -0.02803093118 -8.298084936e-05 -0.01551458622 0.00141221143 -0.0004145449384 0.1412098749 0.0007365060648 --0.0002802334839 -0.0004145449384 -0.0021093629 0.0003266959736 0.1413567167 --0.02803093118 0.1412098749 0.0003266959736 0.06361076751 9.634678832e-06 --8.298084936e-05 0.0007365060648 0.1413567167 9.634678832e-06 -0.04810815143 -0.005327285248 -0.05620963909 0.0002866169741 -0.01486343599 -0.0001166141733 --0.05620963909 -0.007888031194 -0.0001743473117 0.07422778428 -0.0002317863034 -0.0002866169741 -0.0001743473117 -0.003393483563 -0.000252874144 0.0772824584 --0.01486343599 0.07422778428 -0.000252874144 0.01931245042 -2.095304321e-05 --0.0001166141733 -0.0002317863034 0.0772824584 -2.095304321e-05 -0.01397094187 -0.003349603068 -0.02959612055 0.0002044441455 -4.907070199e-05 -0.0001697783485 --0.02959612055 -0.003448577055 -0.0001668693489 0.02050654048 -9.068550509e-05 -0.0002044441455 -0.0001668693489 -0.001781752815 -9.756290706e-05 0.02087637157 --4.907070199e-05 0.02050654048 -9.756290706e-05 -0.0008293424305 -4.671388187e-06 --0.0001697783485 -9.068550509e-05 0.02087637157 -4.671388187e-06 0.001828587346 --0.0004821875147 0.01812809521 -2.886917322e-05 0.002431316726 1.845108365e-05 -0.01812809521 0.000654333964 0.0001370018957 0.001467654399 7.005068025e-06 --2.886917322e-05 0.0001370018957 -0.0002523025553 2.078292509e-05 0.001188767819 -0.002431316726 0.001467654399 2.078292509e-05 -0.001110266882 1.286786554e-06 -1.845108365e-05 7.005068025e-06 0.001188767819 1.286786554e-06 0.001212057727 --0.0007253542209 0.007382958718 -4.285531216e-05 -0.0003051729937 3.388104534e-05 -0.007382958718 7.829768052e-05 7.775206139e-05 0.0003122996405 -1.081766705e-05 --4.285531216e-05 7.775206139e-05 -0.0001479907679 5.362919834e-06 0.0003695590255 --0.0003051729937 0.0003122996405 5.362919834e-06 0.0001493972301 -2.848500378e-07 -3.388104534e-05 -1.081766705e-05 0.0003695590255 -2.848500378e-07 -8.728559327e-05 --0.000482802363 0.003123294442 1.808349486e-06 6.272740678e-05 5.105378542e-06 -0.003123294442 0.0002847304613 8.763584812e-06 0.000104528823 3.892182651e-06 -1.808349486e-06 8.763584812e-06 1.85337628e-05 1.419820432e-06 7.941880509e-05 -6.272740678e-05 0.000104528823 1.419820432e-06 4.003884104e-06 1.535458177e-07 -5.105378542e-06 3.892182651e-06 7.941880509e-05 1.535458177e-07 1.115561284e-05 --2.494335227e-06 0.000157830808 -2.958236837e-07 1.271024295e-05 -3.117528056e-08 -0.000157830808 3.130677673e-06 2.089633739e-06 1.825994158e-06 1.759385028e-08 --2.958236837e-07 2.089633739e-06 -2.752563014e-09 4.523951835e-07 -1.778802613e-07 -1.271024295e-05 1.825994158e-06 4.523951835e-07 -1.072928073e-05 1.77637893e-08 --3.117528056e-08 1.759385028e-08 -1.778802613e-07 1.77637893e-08 1.198549718e-05 -3.386237737e-05 -0.0001055256438 -1.443222477e-08 -5.337444255e-05 2.476734801e-07 --0.0001055256438 -1.805466076e-05 -4.130536702e-07 7.564270404e-05 -1.964614137e-07 --1.443222477e-08 -4.130536702e-07 -1.314632349e-05 -1.205408743e-07 8.089160682e-05 --5.337444255e-05 7.564270404e-05 -1.205408743e-07 3.457291307e-05 -2.111293296e-08 -2.476734801e-07 -1.964614137e-07 8.089160682e-05 -2.111293296e-08 -2.735652175e-05 --2.994079315e-05 0.0004551007284 1.06334421e-06 2.828729663e-05 4.291164571e-07 -0.0004551007284 4.802752214e-05 3.881750492e-07 1.827187274e-05 1.167098544e-06 -1.06334421e-06 3.881750492e-07 4.866171117e-06 3.429963675e-07 1.19383444e-05 -2.828729663e-05 1.827187274e-05 3.429963675e-07 8.206304486e-06 4.216290091e-08 -4.291164571e-07 1.167098544e-06 1.19383444e-05 4.216290091e-08 -5.60676414e-06 --2.202534495e-06 -5.00908923e-06 -3.013912477e-07 -5.267356768e-06 7.03985788e-08 --5.00908923e-06 -2.079249307e-06 3.253037726e-08 5.573625551e-06 3.793539968e-08 --3.013912477e-07 3.253037726e-08 -9.819246766e-07 5.649752668e-08 5.637583372e-06 --5.267356768e-06 5.573625551e-06 5.649752668e-08 3.532497469e-06 1.156553485e-09 -7.03985788e-08 3.793539968e-08 5.637583372e-06 1.156553485e-09 -2.442862067e-06 --4.01655239e-06 -1.254304257e-05 -2.733110042e-08 -4.218378816e-06 -5.766373823e-09 --1.254304257e-05 -1.26234165e-06 -6.093009629e-08 1.588807329e-05 1.274900319e-08 --2.733110042e-08 -6.093009629e-08 -4.223237426e-07 -3.359593053e-09 1.6239421e-05 --4.218378816e-06 1.588807329e-05 -3.359593053e-09 7.445729841e-06 -2.240314803e-09 --5.766373823e-09 1.274900319e-08 1.6239421e-05 -2.240314803e-09 -5.816711769e-06 -6.277102538e-07 4.475422792e-05 2.593083102e-08 2.595095304e-06 8.337870535e-08 -4.475422792e-05 4.100606583e-06 1.555638031e-07 7.995287683e-06 9.748391043e-08 -2.593083102e-08 1.555638031e-07 8.189388662e-07 4.209508258e-08 7.639620159e-06 -2.595095304e-06 7.995287683e-06 4.209508258e-08 4.439674394e-06 2.526226899e-09 -8.337870535e-08 9.748391043e-08 7.639620159e-06 2.526226899e-09 -3.553896646e-06 -9.839183396e-07 -8.005531152e-06 -7.795727268e-08 -2.575792368e-06 -3.201928326e-08 --8.005531152e-06 -7.410905833e-07 -6.60007794e-08 7.279192387e-06 7.262386557e-08 --7.795727268e-08 -6.60007794e-08 -3.18853368e-07 5.664236964e-08 7.07552291e-06 --2.575792368e-06 7.279192387e-06 5.664236964e-08 3.970855732e-06 2.537981188e-09 --3.201928326e-08 7.262386557e-08 7.07552291e-06 2.537981188e-09 -2.88922744e-06 -0.1479046236 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1649512493 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2502830925 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.07122777737 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001305346886 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00366360697 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004241950341 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001779955805 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006138794545 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007488960997 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.235430303e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001717021979 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.382726676e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1330943533 0.0001320133227 -7.536715407e-05 0 0 -0.0001320133227 0.05904995212 0.0001910954206 0 0 --7.536715407e-05 0.0001910954206 0.1292915842 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0815377711 -0.03243372868 0.0001243169713 0 0 --0.03243372868 -0.07302262441 -0.001548599012 0 0 -0.0001243169713 -0.001548599012 0.07966153451 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0158604559 0.00764068317 -2.78657916e-05 0 0 -0.00764068317 -0.006962845158 6.890866109e-05 0 0 --2.78657916e-05 6.890866109e-05 0.008786986415 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005591416573 0.02548347313 -5.183062956e-05 0 0 -0.02548347313 0.06437930596 6.217541607e-06 0 0 --5.183062956e-05 6.217541607e-06 -0.003351899714 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001569724603 -0.004459978192 -3.113941538e-07 0 0 --0.004459978192 -0.01492931252 -1.623141933e-06 0 0 --3.113941538e-07 -1.623141933e-06 -0.0002498867435 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003969899064 -0.001079847637 -6.675644444e-06 0 0 --0.001079847637 -0.002506579214 2.324519757e-05 0 0 --6.675644444e-06 2.324519757e-05 0.0008707381112 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000403686203 0.001835574079 4.271559254e-06 0 0 -0.001835574079 0.004884432016 1.008102643e-06 0 0 -4.271559254e-06 1.008102643e-06 -0.0002652750862 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002438928986 -0.0006370418476 1.656738931e-07 0 0 --0.0006370418476 -0.002091128771 5.539270698e-07 0 0 -1.656738931e-07 5.539270698e-07 -4.464202492e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.969979961e-05 -0.0001028739116 -9.544409877e-08 0 0 --0.0001028739116 -0.0001725114668 -1.030522007e-07 0 0 --9.544409877e-08 -1.030522007e-07 0.0001012021843 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.93617136e-05 0.0002994996119 6.302262356e-07 0 0 -0.0002994996119 0.0007997580822 3.687911329e-07 0 0 -6.302262356e-07 3.687911329e-07 -5.95933105e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.753283139e-05 -0.0001400755575 -2.582607321e-07 0 0 --0.0001400755575 -0.0005003014969 -1.597332553e-06 0 0 --2.582607321e-07 -1.597332553e-06 -1.868461199e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.441396972e-06 -1.115712126e-05 -5.44127216e-08 0 0 --1.115712126e-05 -2.250493027e-05 1.543684955e-08 0 0 --5.44127216e-08 1.543684955e-08 9.869573658e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.09449147e-06 4.200863397e-05 4.413978641e-08 0 0 -4.200863397e-05 9.752628041e-05 -2.636851159e-08 0 0 -4.413978641e-08 -2.636851159e-08 -1.298012918e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007381473561 -0.01495489262 -4.362547e-05 0.05301538946 0.0002676000952 --0.01495489262 -0.1018711465 -0.0001186106441 0.004350717961 0.0002745677032 --4.362547e-05 -0.0001186106441 0.00755626927 -5.108370623e-06 0.0130996642 -0.05301538946 0.004350717961 -5.108370623e-06 -0.08547833182 -0.000198355881 -0.0002676000952 0.0002745677032 0.0130996642 -0.000198355881 -0.1272048947 -0.0439778531 0.03512857089 0.0001798866385 -0.02385378761 0.0006649874985 -0.03512857089 0.04314483312 -1.822515652e-05 -0.00226572933 -0.0001856982352 -0.0001798866385 -1.822515652e-05 0.01256252074 -0.0001681434995 0.03200241302 --0.02385378761 -0.00226572933 -0.0001681434995 0.0247635252 -0.0007409357535 -0.0006649874985 -0.0001856982352 0.03200241302 -0.0007409357535 0.0602002146 --0.001589833875 0.02950693574 9.397833991e-06 0.0179032779 0.0001692095064 -0.02950693574 0.008653084662 -1.571212216e-05 -0.03544570237 2.222454838e-05 -9.397833991e-06 -1.571212216e-05 0.005891367395 1.769847364e-05 0.01313678559 -0.0179032779 -0.03544570237 1.769847364e-05 -0.04414227759 -0.0001171190124 -0.0001692095064 2.222454838e-05 0.01313678559 -0.0001171190124 0.02928903473 --0.00357221949 -0.005005184936 -3.611911341e-05 0.001153255178 -0.0001513638148 --0.005005184936 0.006201269215 -1.074689411e-05 0.009001138474 -9.501940402e-05 --3.611911341e-05 -1.074689411e-05 0.0001973217366 3.490469943e-05 -0.0004027128884 -0.001153255178 0.009001138474 3.490469943e-05 0.004130542394 0.0001282985949 --0.0001513638148 -9.501940402e-05 -0.0004027128884 0.0001282985949 -0.004163935266 -0.001742019153 -0.002245603627 -1.937850079e-06 -0.003651562157 2.93619932e-06 --0.002245603627 0.004459343159 1.073765366e-06 0.005975589827 -3.582997847e-05 --1.937850079e-06 1.073765366e-06 -4.903679256e-05 6.410740908e-07 2.742935534e-05 --0.003651562157 0.005975589827 6.410740908e-07 0.008518432031 -3.129521904e-05 -2.93619932e-06 -3.582997847e-05 2.742935534e-05 -3.129521904e-05 0.0008188253217 -0.0001654406058 0.0005719898821 -3.540937389e-06 0.0001951942734 -2.778320696e-05 -0.0005719898821 -0.0002667510747 -8.483972629e-07 -0.0009265708833 1.300891214e-05 --3.540937389e-06 -8.483972629e-07 7.89217827e-05 2.51143684e-06 0.0002489585371 -0.0001951942734 -0.0009265708833 2.51143684e-06 -0.0009189979152 4.053121409e-05 --2.778320696e-05 1.300891214e-05 0.0002489585371 4.053121409e-05 0.0006571234076 --0.0003603913478 -3.739729347e-05 5.599425833e-07 0.0004672080168 3.190007597e-06 --3.739729347e-05 -0.0001092211842 -1.779711548e-07 -4.252269512e-05 2.394114309e-06 -5.599425833e-07 -1.779711548e-07 -1.608224584e-05 -4.337026385e-07 -7.957738688e-05 -0.0004672080168 -4.252269512e-05 -4.337026385e-07 -0.0006674524068 -1.947612911e-06 -3.190007597e-06 2.394114309e-06 -7.957738688e-05 -1.947612911e-06 -0.0003477309646 -8.490742705e-05 3.92587495e-06 2.896801808e-07 -9.851867234e-05 -6.135004964e-07 -3.92587495e-06 0.0001319678676 4.497434106e-08 8.48627782e-05 2.629801962e-06 -2.896801808e-07 4.497434106e-08 3.107690784e-06 -3.351351007e-07 2.355066382e-05 --9.851867234e-05 8.48627782e-05 -3.351351007e-07 0.0001721287353 2.502449339e-06 --6.135004964e-07 2.629801962e-06 2.355066382e-05 2.502449339e-06 0.000101400177 -9.63547375e-05 -5.581876405e-05 7.157588355e-10 -0.0001421074047 -7.737820751e-07 --5.581876405e-05 0.0001034128182 -1.287631534e-07 0.0001448467757 6.928972326e-07 -7.157588355e-10 -1.287631534e-07 5.190224173e-06 -1.418711249e-07 2.120332263e-05 --0.0001421074047 0.0001448467757 -1.418711249e-07 0.0002611637589 1.303122154e-06 --7.737820751e-07 6.928972326e-07 2.120332263e-05 1.303122154e-06 3.661773976e-05 --7.806850706e-05 -3.300412516e-05 2.639427759e-07 8.798538452e-05 1.904156917e-06 --3.300412516e-05 -7.325869145e-05 -3.928382027e-08 -4.035936252e-06 1.290309396e-06 -2.639427759e-07 -3.928382027e-08 -4.263553663e-06 -1.680913346e-07 -2.730732292e-05 -8.798538452e-05 -4.035936252e-06 -1.680913346e-07 -0.0001211159486 -1.346160281e-06 -1.904156917e-06 1.290309396e-06 -2.730732292e-05 -1.346160281e-06 -0.0001479915097 --2.615379671e-05 4.152100557e-05 -6.43874783e-08 6.272695181e-05 4.932812904e-07 -4.152100557e-05 -5.455239957e-05 3.131823782e-08 -8.285849761e-05 -6.95825485e-07 --6.43874783e-08 3.131823782e-08 8.055724041e-07 8.690514087e-08 3.205512982e-06 -6.272695181e-05 -8.285849761e-05 8.690514087e-08 -0.0001318460664 -1.138102019e-06 -4.932812904e-07 -6.95825485e-07 3.205512982e-06 -1.138102019e-06 -7.807376466e-07 -1.443758902e-05 -2.31033898e-05 9.738667217e-10 -2.803586119e-05 -2.983176585e-08 --2.31033898e-05 1.75069629e-05 -2.863661323e-08 4.480990523e-05 1.708796097e-07 -9.738667217e-10 -2.863661323e-08 5.219002689e-07 -1.863136646e-08 9.026727508e-07 --2.803586119e-05 4.480990523e-05 -1.863136646e-08 6.236368474e-05 1.329079435e-07 --2.983176585e-08 1.708796097e-07 9.026727508e-07 1.329079435e-07 -1.341305486e-05 --1.932559995e-05 -6.972728315e-06 1.353703926e-08 2.4453944e-05 2.865472441e-07 --6.972728315e-06 -2.881661515e-05 -1.255339538e-08 -6.625676288e-06 1.287330384e-07 -1.353703926e-08 -1.255339538e-08 -8.132618763e-07 4.012218575e-09 -5.788908907e-06 -2.4453944e-05 -6.625676288e-06 4.012218575e-09 -3.668232042e-05 -2.506106225e-07 -2.865472441e-07 1.287330384e-07 -5.788908907e-06 -2.506106225e-07 -4.019800227e-05 --0.07122073454 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06589395339 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1196292908 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04278451261 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001769679533 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007062062178 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001419613871 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001457088469 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.450482064e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004388006575 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.49815972e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.515851061e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.921960449e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06408907338 -0.0169652623 0.008311370634 0 0 --0.0169652623 -0.003715370827 0.04519280125 0 0 -0.008311370634 0.04519280125 -0.0834811956 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04388814701 -0.01691211474 -0.01169592846 0 0 --0.01691211474 -0.0004176374282 0.04705680387 0 0 --0.01169592846 0.04705680387 -0.01061502468 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.009098364099 -0.01165642451 0.004436964994 0 0 --0.01165642451 0.02822365802 0.02848488154 0 0 -0.004436964994 0.02848488154 -0.01753897088 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003704151628 0.002626944944 0.01429539245 0 0 -0.002626944944 0.004794514199 -0.006748187461 0 0 -0.01429539245 -0.006748187461 -0.03248833684 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002587438843 -0.0004428470045 -0.0006922547544 0 0 --0.0004428470045 0.0007590598127 0.001192530581 0 0 --0.0006922547544 0.001192530581 0.001873959103 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.037570346e-05 -0.0004293790178 -0.0007020336533 0 0 --0.0004293790178 1.56281039e-05 0.0008828005242 0 0 --0.0007020336533 0.0008828005242 0.001186666101 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001754518407 0.0001404218954 0.0007629906951 0 0 -0.0001404218954 0.0003757364152 -0.0003263556367 0 0 -0.0007629906951 -0.0003263556367 -0.00170912313 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.357543344e-05 -0.0001063311374 -0.0001673102883 0 0 --0.0001063311374 0.0001498816715 0.000250142203 0 0 --0.0001673102883 0.000250142203 0.0003849380224 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.450573828e-05 1.327446244e-05 -1.12566342e-05 0 0 -1.327446244e-05 -9.150829157e-05 -3.687411558e-05 0 0 --1.12566342e-05 -3.687411558e-05 -1.890824079e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.028805208e-06 1.331750658e-05 9.801376907e-05 0 0 -1.331750658e-05 8.455425513e-05 -2.882559597e-05 0 0 -9.801376907e-05 -2.882559597e-05 -0.0002055330486 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.153626368e-05 -3.419983641e-05 -5.46630655e-05 0 0 --3.419983641e-05 5.461026653e-05 8.707730461e-05 0 0 --5.46630655e-05 8.707730461e-05 0.0001382533612 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.146641318e-06 8.244747002e-06 1.334478215e-05 0 0 -8.244747002e-06 -1.515615293e-05 -2.024116119e-05 0 0 -1.334478215e-05 -2.024116119e-05 -3.60088061e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.419869932e-06 -2.614649953e-06 1.052295653e-05 0 0 --2.614649953e-06 2.472114169e-05 7.263945556e-06 0 0 -1.052295653e-05 7.263945556e-06 -1.743988644e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00736980496 -0.048122369 0.01420259996 -0.09305186018 -0.08868949537 --0.048122369 0.09226493448 0.07725976811 -0.01142495209 0.0151140149 -0.01420259996 0.07725976811 -0.04274173433 -0.005921346213 -0.01487231351 --0.09305186018 -0.01142495209 -0.005921346213 0.1137622269 -0.01265477349 --0.08868949537 0.0151140149 -0.01487231351 -0.01265477349 0.01034552742 --0.02515515127 -0.0114865098 0.02218641803 -0.03281074364 -0.004867873017 --0.0114865098 0.01928464129 0.01437396134 0.007990518435 0.03240094445 -0.02218641803 0.01437396134 -0.04294343877 0.01408959792 -0.001978901851 --0.03281074364 0.007990518435 0.01408959792 0.02529387295 -0.02732054191 --0.004867873017 0.03240094445 -0.001978901851 -0.02732054191 -0.06142579931 --0.002840182107 0.00648009087 0.01461646972 -0.004073372627 -0.009533416888 -0.00648009087 0.002391359311 0.004361501651 0.007702008896 -0.0008821726328 -0.01461646972 0.004361501651 -0.00863607422 0.005296360661 -0.01828370341 --0.004073372627 0.007702008896 0.005296360661 -0.005840877264 -0.01529467526 --0.009533416888 -0.0008821726328 -0.01828370341 -0.01529467526 0.008698547158 -0.002989924575 0.002242705101 -0.0009302941483 -0.00397471913 -0.006458320711 -0.002242705101 0.002755570605 0.001570795191 -0.002396362996 -0.00710684049 --0.0009302941483 0.001570795191 -0.004713262644 -0.01074131563 -0.003793482648 --0.00397471913 -0.002396362996 -0.01074131563 -0.01344736249 0.005845495864 --0.006458320711 -0.00710684049 -0.003793482648 0.005845495864 0.01807668664 --0.001017251912 -0.0003949249902 -0.001327058613 -0.001583962194 0.001459227493 --0.0003949249902 -0.0003625762528 -0.001243929992 -0.001162584004 0.0008779620886 --0.001327058613 -0.001243929992 -0.003195066793 -0.003082589237 0.002753606335 --0.001583962194 -0.001162584004 -0.003082589237 -0.003574797234 0.00270747829 -0.001459227493 0.0008779620886 0.002753606335 0.00270747829 -0.002475364434 --0.0002806784514 -0.0001964481753 -0.0001791582404 -0.0003176586809 0.0003749036105 --0.0001964481753 -1.895081969e-05 -7.957414452e-05 -9.900541292e-05 0.0003878711121 --0.0001791582404 -7.957414452e-05 -0.0003363022555 -0.0001365531849 0.0003710809003 --0.0003176586809 -9.900541292e-05 -0.0001365531849 5.025640407e-06 0.000223756819 -0.0003749036105 0.0003878711121 0.0003710809003 0.000223756819 -0.0009371523215 -0.0003065606022 0.0002268328012 0.0001893959833 2.879809208e-05 -0.0006393086143 -0.0002268328012 0.0002640001631 0.0002872460254 4.641387205e-05 -0.0006040349819 -0.0001893959833 0.0002872460254 0.0001867711388 -0.0001527219862 -0.0006234934583 -2.879809208e-05 4.641387205e-05 -0.0001527219862 -0.0002710297877 -0.0001307798024 --0.0006393086143 -0.0006040349819 -0.0006234934583 -0.0001307798024 0.001498135303 --8.492003074e-05 4.153645229e-06 -5.199946592e-07 -7.649899588e-05 6.36469263e-05 -4.153645229e-06 -1.779056826e-05 -5.24027353e-05 -4.735669854e-06 3.346165737e-05 --5.199946592e-07 -5.24027353e-05 -0.0001538529595 -8.443827394e-05 7.508206434e-05 --7.649899588e-05 -4.735669854e-06 -8.443827394e-05 -0.0001507667364 4.495669062e-05 -6.36469263e-05 3.346165737e-05 7.508206434e-05 4.495669062e-05 -0.0001288236517 --6.128654777e-05 -6.993786822e-05 -9.686628884e-05 -0.000105608748 0.0001043131261 --6.993786822e-05 -1.329242029e-05 -4.738981749e-05 -6.807575547e-05 0.0001028338509 --9.686628884e-05 -4.738981749e-05 -0.0001286480502 -0.0001090098158 0.0001745239195 --0.000105608748 -6.807575547e-05 -0.0001090098158 -4.464847339e-05 0.0001540763026 -0.0001043131261 0.0001028338509 0.0001745239195 0.0001540763026 -0.0002385248413 -6.614724552e-05 2.70333453e-05 2.955543354e-05 9.789046596e-06 -0.0001192955119 -2.70333453e-05 4.498793558e-05 5.373184478e-05 5.166932702e-06 -8.617175029e-05 -2.955543354e-05 5.373184478e-05 5.603963439e-05 4.075132683e-06 -9.783902595e-05 -9.789046596e-06 5.166932702e-06 4.075132683e-06 2.445573458e-05 -2.414092919e-05 --0.0001192955119 -8.617175029e-05 -9.783902595e-05 -2.414092919e-05 0.0002407184675 --3.15678222e-06 1.046597709e-06 1.394696954e-05 -5.373246565e-07 -7.250107142e-06 -1.046597709e-06 5.216794614e-06 6.258859769e-06 9.476178144e-06 3.300861671e-07 -1.394696954e-05 6.258859769e-06 9.291648571e-08 1.306658101e-05 -1.272883609e-05 --5.373246565e-07 9.476178144e-06 1.306658101e-05 1.276950015e-05 -2.15839781e-05 --7.250107142e-06 3.300861671e-07 -1.272883609e-05 -2.15839781e-05 -3.926015529e-06 --5.567892714e-06 -1.431281068e-05 -1.76068969e-05 -2.187404436e-05 9.105664112e-06 --1.431281068e-05 3.600637626e-06 -3.380687941e-06 -1.433018567e-05 1.524429427e-05 --1.76068969e-05 -3.380687941e-06 -2.345236778e-05 -2.258941492e-05 2.938858445e-05 --2.187404436e-05 -1.433018567e-05 -2.258941492e-05 -3.37890006e-06 2.9699023e-05 -9.105664112e-06 1.524429427e-05 2.938858445e-05 2.9699023e-05 -3.058402146e-05 -1.343927447e-05 1.088538587e-06 4.972221984e-06 -1.415665011e-06 -2.51477149e-05 -1.088538587e-06 1.230311404e-05 1.372739184e-05 9.820565416e-08 -1.362009901e-05 -4.972221984e-06 1.372739184e-05 1.100685359e-05 2.250458594e-06 -1.743866842e-05 --1.415665011e-06 9.820565416e-08 2.250458594e-06 1.486055846e-05 -5.074680564e-06 --2.51477149e-05 -1.362009901e-05 -1.743866842e-05 -5.074680564e-06 4.127145782e-05 --0.07008092128 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06090680002 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1167352951 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04715619178 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002773565759 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002931945489 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001004090865 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001633730266 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001270899251 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004261153704 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.693929132e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.191283012e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.945001064e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06353758305 -0.01710255114 -0.007690958569 0 0 --0.01710255114 -0.003670597047 -0.04595513699 0 0 --0.007690958569 -0.04595513699 -0.08188131451 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04647662989 -0.01562961204 0.01215641507 0 0 --0.01562961204 -0.008237771254 -0.04299003442 0 0 -0.01215641507 -0.04299003442 -0.01214252314 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.009772204205 -0.01315273084 -0.001714794648 0 0 --0.01315273084 0.02848835684 -0.03200336038 0 0 --0.001714794648 -0.03200336038 -0.01232047464 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003748155073 0.001729091036 -0.01440761756 0 0 -0.001729091036 0.007252869337 0.004550284721 0 0 --0.01440761756 0.004550284721 -0.03241844496 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001595235559 5.615085912e-05 -0.000162255927 0 0 -5.615085912e-05 -1.998751526e-05 -2.966010236e-06 0 0 --0.000162255927 -2.966010236e-06 -0.0002044212866 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.483937227e-06 -0.0003973847051 0.0007232433749 0 0 --0.0003973847051 -5.830947171e-05 -0.0007843469142 0 0 -0.0007232433749 -0.0007843469142 0.001197168029 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.991450037e-05 -7.077399401e-06 -0.0005783388726 0 0 --7.077399401e-06 0.0006188894457 -2.649410841e-05 0 0 --0.0005783388726 -2.649410841e-05 -0.001243723262 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.373443321e-05 -5.583437363e-05 9.258745186e-05 0 0 --5.583437363e-05 5.154174595e-05 -0.0001271791112 0 0 -9.258745186e-05 -0.0001271791112 0.0001826781545 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.43548651e-05 3.953763457e-05 -3.89457206e-05 0 0 -3.953763457e-05 -0.000115723481 0.0001030475382 0 0 --3.89457206e-05 0.0001030475382 -0.0001356408516 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.429910503e-05 -1.781596513e-05 -4.993794206e-05 0 0 --1.781596513e-05 0.0001345828539 -4.841299981e-05 0 0 --4.993794206e-05 -4.841299981e-05 -8.277926528e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.333101316e-05 -2.536879258e-05 4.568878896e-05 0 0 --2.536879258e-05 3.080104138e-05 -6.432903435e-05 0 0 -4.568878896e-05 -6.432903435e-05 0.0001100206891 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.092219495e-05 1.363627888e-05 -2.558578314e-05 0 0 -1.363627888e-05 -1.786948004e-05 3.312491246e-05 0 0 --2.558578314e-05 3.312491246e-05 -6.32514093e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.488389816e-06 -8.298864799e-06 -8.055509151e-07 0 0 --8.298864799e-06 3.301089249e-05 -2.125263294e-05 0 0 --8.055509151e-07 -2.125263294e-05 6.93752412e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008824225891 -0.04984269086 -0.01367866273 -0.09330949118 0.09137867718 --0.04984269086 0.09309633737 -0.07875485041 -0.01200297342 -0.01428328129 --0.01367866273 -0.07875485041 -0.04053324605 0.005534575753 -0.0149656151 --0.09330949118 -0.01200297342 0.005534575753 0.1183001229 0.01275201205 -0.09137867718 -0.01428328129 -0.0149656151 0.01275201205 0.0114524867 --0.02537593994 -0.0142247662 -0.02121473512 -0.03533966857 0.005298073855 --0.0142247662 0.02156837251 -0.01643721647 0.00699181161 -0.03495154791 --0.02121473512 -0.01643721647 -0.04349537646 -0.01431231307 -4.234317768e-05 --0.03533966857 0.00699181161 -0.01431231307 0.03036318371 0.02605330797 -0.005298073855 -0.03495154791 -4.234317768e-05 0.02605330797 -0.0655054221 --0.004284722834 0.00568363985 -0.01519092462 -0.004596406638 0.008053336066 -0.00568363985 0.002332576519 -0.00455821395 0.008108446843 -0.001896134492 --0.01519092462 -0.00455821395 -0.009232011181 -0.007261162475 -0.0176163804 --0.004596406638 0.008108446843 -0.007261162475 -0.003191218272 0.01651440933 -0.008053336066 -0.001896134492 -0.0176163804 0.01651440933 0.003044091551 -0.003374820185 0.002980727476 -0.0003357667086 -0.003346781201 0.007554408764 -0.002980727476 0.002940408739 -0.002172507091 -0.001543176943 0.007981655294 --0.0003357667086 -0.002172507091 -0.003921800078 0.009672018231 -0.00598369655 --0.003346781201 -0.001543176943 0.009672018231 -0.0130585604 -0.004114831532 -0.007554408764 0.007981655294 -0.00598369655 -0.004114831532 0.02020525319 --0.001059828969 -0.0002768502881 0.001290368123 -0.001773215054 -0.00131846953 --0.0002768502881 -0.0002806447039 0.001288299026 -0.001199985922 -0.0006538055452 -0.001290368123 0.001288299026 -0.003675035773 0.003585261793 0.00272991095 --0.001773215054 -0.001199985922 0.003585261793 -0.004320273597 -0.002837409425 --0.00131846953 -0.0006538055452 0.00272991095 -0.002837409425 -0.002071030898 --0.0003704979247 -0.0003316754091 0.0004769542395 -0.0005501726678 -0.0005881211268 --0.0003316754091 -7.512864612e-05 0.0002401447248 -0.0003403964829 -0.000576002519 -0.0004769542395 0.0002401447248 -0.000661947504 0.0005140093773 0.0008538698501 --0.0005501726678 -0.0003403964829 0.0005140093773 -0.000240549994 -0.0007388009724 --0.0005881211268 -0.000576002519 0.0008538698501 -0.0007388009724 -0.001310871109 -0.000325271114 0.0002595729233 -0.00028207034 0.000120016104 0.0006785976752 -0.0002595729233 0.0002750359435 -0.0003423770684 0.0001273368614 0.0006436337582 --0.00028207034 -0.0003423770684 0.0003291408652 -9.791386213e-06 -0.0007777139289 -0.000120016104 0.0001273368614 -9.791386213e-06 -0.000134543012 0.0003106704232 -0.0006785976752 0.0006436337582 -0.0007777139289 0.0003106704232 0.001561060799 --8.821582328e-05 2.151515511e-05 -3.016762952e-05 -7.383587715e-05 -4.019115088e-05 -2.151515511e-05 -1.032759166e-05 4.463149503e-05 1.370145394e-05 -1.266609343e-05 --3.016762952e-05 4.463149503e-05 -0.0001609877129 7.702644707e-05 3.838220794e-05 --7.383587715e-05 1.370145394e-05 7.702644707e-05 -0.0001681237964 -7.819220543e-06 --4.019115088e-05 -1.266609343e-05 3.838220794e-05 -7.819220543e-06 -8.837539398e-05 --6.192775192e-05 -8.472832327e-05 0.0001380728373 -0.0001382516191 -0.0001170254655 --8.472832327e-05 -1.559198477e-05 6.311946206e-05 -0.0001030124884 -0.0001125986943 -0.0001380728373 6.311946206e-05 -0.0001694348683 0.0001709212775 0.0002268493109 --0.0001382516191 -0.0001030124884 0.0001709212775 -8.66375803e-05 -0.0002291082388 --0.0001170254655 -0.0001125986943 0.0002268493109 -0.0002291082388 -0.000247850548 -6.690064945e-05 3.224061244e-05 -4.379965886e-05 2.520646599e-05 0.000121256614 -3.224061244e-05 4.328282072e-05 -5.722772311e-05 1.718784098e-05 8.804562372e-05 --4.379965886e-05 -5.722772311e-05 7.160942355e-05 -2.7093582e-05 -0.0001147677955 -2.520646599e-05 1.718784098e-05 -2.7093582e-05 4.053258672e-05 5.193579479e-05 -0.000121256614 8.804562372e-05 -0.0001147677955 5.193579479e-05 0.0002384517446 --7.39090981e-06 -9.523617292e-08 -1.327704947e-05 -2.793539842e-06 2.460106569e-06 --9.523617292e-08 3.839513236e-06 -4.120921792e-06 9.651882566e-06 -4.064573119e-06 --1.327704947e-05 -4.120921792e-06 -4.480290723e-06 -1.229830705e-05 -8.345533645e-06 --2.793539842e-06 9.651882566e-06 -1.229830705e-05 1.075070506e-05 2.076465859e-05 -2.460106569e-06 -4.064573119e-06 -8.345533645e-06 2.076465859e-05 -1.482592092e-05 --2.911386703e-06 -1.48022385e-05 2.061270398e-05 -2.355812025e-05 -6.376718521e-06 --1.48022385e-05 4.770626884e-06 3.021544579e-06 -1.746986083e-05 -1.289138091e-05 -2.061270398e-05 3.021544579e-06 -2.479223343e-05 2.833228845e-05 3.076057157e-05 --2.355812025e-05 -1.746986083e-05 2.833228845e-05 -6.78125617e-06 -3.55457995e-05 --6.376718521e-06 -1.289138091e-05 3.076057157e-05 -3.55457995e-05 -2.298700655e-05 -1.309744014e-05 2.061590441e-06 -7.4190828e-06 9.701518308e-07 2.506378609e-05 -2.061590441e-06 1.167441883e-05 -1.390263038e-05 2.187819208e-06 1.37945414e-05 --7.4190828e-06 -1.390263038e-05 1.308363507e-05 -5.922600495e-06 -1.995977554e-05 -9.701518308e-07 2.187819208e-06 -5.922600495e-06 1.691614811e-05 9.659229961e-06 -2.506378609e-05 1.37945414e-05 -1.995977554e-05 9.659229961e-06 4.011977683e-05 -0.0007997406674 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001651144474 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006806214651 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.067415794e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.82406205e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.431752309e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.12690231e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.278633793e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.141147868e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.910756391e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.151201875e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.547406636e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.242804756e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001983502018 -0.1570676896 5.914561811e-06 0 0 --0.1570676896 -0.004048286195 -0.0004934727516 0 0 -5.914561811e-06 -0.0004934727516 1.758580282e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004602264149 -0.09825467187 1.850996719e-05 0 0 --0.09825467187 -0.001453874822 -0.0005131123786 0 0 -1.850996719e-05 -0.0005131123786 6.781926438e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003468800914 -0.03292675428 1.663340549e-05 0 0 --0.03292675428 -0.0002328499215 -0.0002228820977 0 0 -1.663340549e-05 -0.0002228820977 6.625449006e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001156331608 -0.00212662654 5.753425735e-06 0 0 --0.00212662654 -1.244909626e-05 -1.5168366e-05 0 0 -5.753425735e-06 -1.5168366e-05 2.326366943e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000341386073 0.0004037827556 1.171235219e-06 0 0 -0.0004037827556 8.779811295e-06 1.628869785e-06 0 0 -1.171235219e-06 1.628869785e-06 3.891760279e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.298006123e-05 0.0008366902343 -2.08032751e-08 0 0 -0.0008366902343 3.129836263e-05 3.205089389e-07 0 0 --2.08032751e-08 3.205089389e-07 -1.404461613e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.167760973e-05 0.0001580637789 -9.969790059e-08 0 0 -0.0001580637789 5.898788812e-06 -8.253296511e-09 0 0 --9.969790059e-08 -8.253296511e-09 8.122640417e-12 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.442080179e-05 9.070203697e-05 -9.432758974e-08 0 0 -9.070203697e-05 1.862737384e-06 2.411342518e-07 0 0 --9.432758974e-08 2.411342518e-07 -2.582685346e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.673521537e-05 -0.0001289273959 -6.265376696e-08 0 0 --0.0001289273959 -1.773096213e-06 -6.014248874e-07 0 0 --6.265376696e-08 -6.014248874e-07 -2.203438574e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.504439051e-06 1.279678471e-05 1.216883596e-08 0 0 -1.279678471e-05 8.246199098e-08 8.822781586e-08 0 0 -1.216883596e-08 8.822781586e-08 4.873633688e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.20083267e-06 -4.228971535e-05 2.253828406e-08 0 0 --4.228971535e-05 -9.488967947e-07 -1.881374257e-07 0 0 -2.253828406e-08 -1.881374257e-07 7.782459141e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.846104245e-07 8.187713559e-06 1.332222221e-09 0 0 -8.187713559e-06 2.566053403e-07 1.421591985e-08 0 0 -1.332222221e-09 1.421591985e-08 2.86341028e-12 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.795708353e-07 -9.049947552e-06 7.624681979e-10 0 0 --9.049947552e-06 -3.566191176e-07 1.74438508e-09 0 0 -7.624681979e-10 1.74438508e-09 -3.121464156e-13 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008476469813 -0.02719868612 2.740948874e-06 -0.0005319167301 -7.819389548e-05 --0.02719868612 -0.001680808771 -0.0001394672223 -6.301892013e-05 8.766350668e-05 -2.740948874e-06 -0.0001394672223 5.827868848e-09 -2.729295792e-06 -3.955067781e-07 --0.0005319167301 -6.301892013e-05 -2.729295792e-06 -1.823074362e-06 1.630926099e-06 --7.819389548e-05 8.766350668e-05 -3.955067781e-07 1.630926099e-06 5.081580432e-07 -0.001425471799 -0.02967972126 3.34005129e-06 -0.000572004829 -8.308265057e-05 --0.02967972126 -0.002321370093 -6.234576099e-05 -0.0004217935743 -3.462256889e-05 -3.34005129e-06 -6.234576099e-05 7.742626409e-09 -1.197188605e-06 -1.741985852e-07 --0.000572004829 -0.0004217935743 -1.197188605e-06 -1.562507215e-05 -1.739854452e-06 --8.308265057e-05 -3.462256889e-05 -1.741985852e-07 -1.739854452e-06 -1.769230546e-07 -0.0009130539267 -0.01266154666 7.86083595e-07 -0.0002360484985 -3.283369184e-05 --0.01266154666 -0.001233077639 2.075876008e-05 -0.0003540849156 -8.397234817e-05 -7.86083595e-07 2.075876008e-05 -4.992065057e-09 4.462892202e-07 6.829443634e-08 --0.0002360484985 -0.0003540849156 4.462892202e-07 -1.339380483e-05 -2.575342231e-06 --3.283369184e-05 -8.397234817e-05 6.829443634e-08 -2.575342231e-06 -4.641199022e-07 -0.0002540348528 -0.001840553983 -8.148688065e-07 -2.908448555e-05 -2.736335006e-06 --0.001840553983 -0.000257431551 1.945155066e-05 -0.0001066084081 -3.651107035e-05 --8.148688065e-07 1.945155066e-05 -1.088872229e-08 4.095736933e-07 6.492674659e-08 --2.908448555e-05 -0.0001066084081 4.095736933e-07 -4.078516503e-06 -1.001938342e-06 --2.736335006e-06 -3.651107035e-05 6.492674659e-08 -1.001938342e-06 -2.040182929e-07 -3.440816581e-05 -0.0001260986689 -3.006008942e-07 -1.109839281e-06 2.808198122e-07 --0.0001260986689 -2.273176658e-05 2.808341043e-06 -1.056117537e-05 -4.787369574e-06 --3.006008942e-07 2.808341043e-06 -3.381466944e-09 6.118843351e-08 1.077566504e-08 --1.109839281e-06 -1.056117537e-05 6.118843351e-08 -4.055551726e-07 -1.2244639e-07 -2.808198122e-07 -4.787369574e-06 1.077566504e-08 -1.2244639e-07 -2.68388741e-08 --1.059877905e-05 -9.362698636e-05 -3.878791883e-08 -1.984975173e-06 -2.680377021e-07 --9.362698636e-05 -9.115661467e-06 -1.377802738e-07 -2.902370997e-06 -9.307107003e-08 --3.878791883e-08 -1.377802738e-07 -9.064172114e-11 -3.599574177e-09 -4.112149478e-10 --1.984975173e-06 -2.902370997e-06 -3.599574177e-09 -1.099957494e-07 -9.507079005e-09 --2.680377021e-07 -9.307107003e-08 -4.112149478e-10 -9.507079005e-09 -4.526987127e-10 -7.783799588e-07 -2.476608887e-05 -7.884029862e-09 -4.4372156e-07 -5.662764658e-08 --2.476608887e-05 -5.136136924e-06 5.364835916e-07 -2.716979192e-06 -8.598084219e-07 --7.884029862e-09 5.364835916e-07 -2.301098309e-11 1.055724422e-08 1.532086634e-09 --4.4372156e-07 -2.716979192e-06 1.055724422e-08 -1.043963958e-07 -2.421348697e-08 --5.662764658e-08 -8.598084219e-07 1.532086634e-09 -2.421348697e-08 -4.811854164e-09 -4.872860642e-06 -2.957065088e-05 -2.423991868e-08 -4.46402447e-07 -2.24706237e-08 --2.957065088e-05 -4.187590559e-06 4.219238242e-07 -1.706561417e-06 -7.561890556e-07 --2.423991868e-08 4.219238242e-07 -2.907181746e-10 8.828819988e-09 1.447555686e-09 --4.46402447e-07 -1.706561417e-06 8.828819988e-09 -6.527686296e-08 -1.940293245e-08 --2.24706237e-08 -7.561890556e-07 1.447555686e-09 -1.940293245e-08 -4.234580623e-09 --7.865518249e-07 -1.077617466e-06 -9.195872057e-09 -2.180651414e-08 6.971509886e-09 --1.077617466e-06 -5.538580659e-08 -1.963410629e-08 -3.39317123e-09 2.7019366e-08 --9.195872057e-09 -1.963410629e-08 -7.268136636e-11 -3.860625823e-10 -4.976102267e-12 --2.180651414e-08 -3.39317123e-09 -3.860625823e-10 -1.110136543e-10 5.18826196e-10 -6.971509886e-09 2.7019366e-08 -4.976102267e-12 5.18826196e-10 1.529383126e-10 -1.460242115e-08 -3.488476812e-10 4.403708097e-09 -1.734882083e-08 -5.95264363e-09 --3.488476812e-10 -3.612243643e-08 6.707573741e-09 -2.756359292e-08 -9.321659016e-09 -4.403708097e-09 6.707573741e-09 4.343360551e-11 4.355925287e-11 -1.066571197e-11 --1.734882083e-08 -2.756359292e-08 4.355925287e-11 -1.053191723e-09 -2.561870218e-10 --5.95264363e-09 -9.321659016e-09 -1.066571197e-11 -2.561870218e-10 -5.232375402e-11 -1.381870625e-07 -4.941465047e-06 -5.035291816e-10 -9.370435139e-08 -1.287835861e-08 --4.941465047e-06 -6.021004806e-07 4.066590294e-08 -2.277382058e-07 -7.803493111e-08 --5.035291816e-10 4.066590294e-08 -1.061248344e-12 7.98788531e-10 1.157552849e-10 --9.370435139e-08 -2.277382058e-07 7.98788531e-10 -8.684551109e-09 -2.136828999e-09 --1.287835861e-08 -7.803493111e-08 1.157552849e-10 -2.136828999e-09 -4.356340328e-10 --2.197680554e-07 -9.787106383e-07 -1.144481933e-09 -2.252104218e-08 -2.185012496e-09 --9.787106383e-07 -9.44552977e-08 -4.933766116e-09 -3.201925481e-08 4.843835022e-09 --1.144481933e-09 -4.933766116e-09 -5.953862443e-12 -1.146717579e-10 -1.082156286e-11 --2.252104218e-08 -3.201925481e-08 -1.146717579e-10 -1.214672444e-09 9.449908842e-12 --2.185012496e-09 4.843835022e-09 -1.082156286e-11 9.449908842e-12 2.809080493e-11 -1.733514276e-07 -1.565032625e-06 7.823895659e-10 -3.186400404e-08 -4.635866007e-09 --1.565032625e-06 -6.849560085e-08 -8.043549554e-09 2.051593711e-08 3.772047542e-09 -7.823895659e-10 -8.043549554e-09 3.463516994e-12 -1.622538871e-10 -2.355183557e-11 --3.186400404e-08 2.051593711e-08 -1.622538871e-10 8.29987617e-10 1.355667305e-10 --4.635866007e-09 3.772047542e-09 -2.355183557e-11 1.355667305e-10 2.183490427e-11 -0.00780054048 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00531682413 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007793324578 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003003158698 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004493253224 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.356225089e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.177710073e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.042349769e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.622789246e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.706412193e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.012733729e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.279909411e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.984863115e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007740243746 -0.119245355 0.001135415949 0 0 --0.119245355 0.06359016526 -0.0005688020927 0 0 -0.001135415949 -0.0005688020927 -0.04903203915 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.008574263837 0.04468635888 -0.0005326988196 0 0 -0.04468635888 0.04542131888 -0.0008120760921 0 0 --0.0005326988196 -0.0008120760921 -0.03056791867 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001030685031 -0.03331032718 -0.0001519978232 0 0 --0.03331032718 -0.00036795441 -3.171044381e-05 0 0 --0.0001519978232 -3.171044381e-05 -0.0006129896712 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002265314069 -0.02805002677 5.19479096e-05 0 0 --0.02805002677 -0.0006412307899 -0.0001218455117 0 0 -5.19479096e-05 -0.0001218455117 -0.0003132070516 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005843250692 -0.001841656656 1.078465442e-05 0 0 --0.001841656656 -0.0001018682139 -1.110894566e-05 0 0 -1.078465442e-05 -1.110894566e-05 0.0001775074104 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.723299582e-05 -0.0004622744446 -1.247542872e-05 0 0 --0.0004622744446 -0.0003916686053 1.042278073e-05 0 0 --1.247542872e-05 1.042278073e-05 0.0002301326402 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001765890453 -0.0008194157406 -6.522970249e-06 0 0 --0.0008194157406 -3.324136593e-05 -2.315043373e-06 0 0 --6.522970249e-06 -2.315043373e-06 -1.71027922e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.726370736e-05 5.782426366e-05 5.639163257e-07 0 0 -5.782426366e-05 6.87460677e-05 -1.76223659e-06 0 0 -5.639163257e-07 -1.76223659e-06 -3.795361081e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.499203911e-05 -0.0002725316281 2.525977206e-06 0 0 --0.0002725316281 -3.098768371e-05 -3.913031144e-07 0 0 -2.525977206e-06 -3.913031144e-07 2.960446738e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.739316498e-05 -0.0001266393997 -1.550178773e-06 0 0 --0.0001266393997 -3.619562492e-05 1.156840946e-06 0 0 --1.550178773e-06 1.156840946e-06 1.609945653e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.87127609e-06 1.472621688e-05 -1.159377347e-06 0 0 -1.472621688e-05 -5.983495005e-06 7.717388397e-07 0 0 --1.159377347e-06 7.717388397e-07 -4.65413986e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.383117819e-06 -6.105907851e-05 1.449656047e-07 0 0 --6.105907851e-05 -1.874112266e-06 -9.410585728e-08 0 0 -1.449656047e-07 -9.410585728e-08 -2.808660558e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.642746621e-08 -2.801534732e-05 4.958244467e-07 0 0 --2.801534732e-05 -4.994711464e-06 4.685412701e-08 0 0 -4.958244467e-07 4.685412701e-08 6.424665359e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006776836063 -0.003575980524 0.001092300523 0.05964658036 6.289613233e-05 --0.003575980524 0.07288479333 -0.0002655958349 -0.2144980744 -0.001067459067 -0.001092300523 -0.0002655958349 -0.05614349229 -0.001163692054 -0.2240874615 -0.05964658036 -0.2144980744 -0.001163692054 -0.1005432247 0.0001101484988 -6.289613233e-05 -0.001067459067 -0.2240874615 0.0001101484988 0.07799110381 --0.01119000704 0.09871088063 -0.0006397075853 0.03034170595 -8.901630374e-05 -0.09871088063 0.08687094524 -0.001282377881 -0.07275541705 0.0009961863137 --0.0006397075853 -0.001282377881 -0.05821264079 0.0004570191434 -0.08536773679 -0.03034170595 -0.07275541705 0.0004570191434 -0.02042525879 0.0001003171641 --8.901630374e-05 0.0009961863137 -0.08536773679 0.0001003171641 0.01594359159 --0.003789447092 0.03300203843 -0.0004142647992 0.0001083221555 0.0001691496229 -0.03300203843 0.01184133952 0.0001350394719 -0.01776515437 0.0001433877993 --0.0004142647992 0.0001350394719 -0.007467260132 0.0001978012091 -0.01850497813 -0.0001083221555 -0.01776515437 0.0001978012091 0.0006830913575 4.177216788e-06 -0.0001691496229 0.0001433877993 -0.01850497813 4.177216788e-06 -0.001602824894 -0.0005435109881 -0.01909743567 5.447610175e-05 -0.001155305095 -7.278546807e-05 --0.01909743567 -0.002350167618 -9.635014488e-05 -0.0009396656511 -7.347523842e-06 -5.447610175e-05 -9.635014488e-05 0.001201500835 -1.390640403e-05 -0.0006416724807 --0.001155305095 -0.0009396656511 -1.390640403e-05 0.0009710799176 5.966492012e-06 --7.278546807e-05 -7.347523842e-06 -0.0006416724807 5.966492012e-06 -0.0009042341277 -0.0004958596116 -0.00642095547 3.080977522e-05 0.0006244865706 -3.825312309e-05 --0.00642095547 -0.0008002468458 -5.638950383e-05 -0.0007341587721 -3.693712896e-06 -3.080977522e-05 -5.638950383e-05 0.0008560039234 -1.189296582e-05 -0.0006907646455 -0.0006244865706 -0.0007341587721 -1.189296582e-05 -0.0002880634318 -1.262193791e-06 --3.825312309e-05 -3.693712896e-06 -0.0006907646455 -1.262193791e-06 0.0001547074835 -0.0004501226269 -0.00347310407 -1.818839248e-05 -0.0002001213379 2.407882766e-06 --0.00347310407 -0.0005677939015 -1.220391209e-06 -0.000166908404 -6.087461383e-06 --1.818839248e-05 -1.220391209e-06 9.311338843e-05 -9.551075201e-07 -8.934278985e-05 --0.0002001213379 -0.000166908404 -9.551075201e-07 -8.12372218e-06 -2.403703733e-07 -2.407882766e-06 -6.087461383e-06 -8.934278985e-05 -2.403703733e-07 -1.307692307e-05 --1.444941473e-05 -0.0001480728151 -2.241577645e-06 1.49281118e-05 4.329398296e-08 --0.0001480728151 -1.116391306e-05 -1.831651072e-06 5.560378889e-06 2.899441451e-07 --2.241577645e-06 -1.831651072e-06 3.607973358e-08 2.952852776e-07 9.934710631e-06 -1.49281118e-05 5.560378889e-06 2.952852776e-07 9.486477565e-06 -1.156852137e-07 -4.329398296e-08 2.899441451e-07 9.934710631e-06 -1.156852137e-07 -1.053422744e-05 --4.630513262e-05 0.0001843675972 1.399179023e-06 6.173997196e-05 -1.26414468e-07 -0.0001843675972 0.0001632214073 -5.645171136e-06 -8.362067699e-05 2.094180547e-06 -1.399179023e-06 -5.645171136e-06 -4.952189884e-05 -1.885948913e-06 -0.0001203255354 -6.173997196e-05 -8.362067699e-05 -1.885948913e-06 -4.508058783e-05 5.858199286e-07 --1.26414468e-07 2.094180547e-06 -0.0001203255354 5.858199286e-07 4.272374077e-05 -4.468559214e-05 -0.0005514310902 -4.008745644e-07 -5.16637834e-05 5.626391894e-07 --0.0005514310902 -9.863762427e-05 5.967579187e-07 -5.321693307e-05 -2.380732244e-06 --4.008745644e-07 5.967579187e-07 3.380048483e-05 -1.019163781e-06 -3.877228612e-05 --5.16637834e-05 -5.321693307e-05 -1.019163781e-06 -2.451130542e-05 -1.745971308e-07 -5.626391894e-07 -2.380732244e-06 -3.877228612e-05 -1.745971308e-07 1.572051261e-05 -1.917308267e-06 -2.986715321e-06 -3.511832288e-07 3.060681856e-06 2.1297601e-07 --2.986715321e-06 -3.016730119e-05 1.498810284e-06 -2.491567398e-05 -7.876378585e-07 --3.511832288e-07 1.498810284e-06 1.233310425e-05 1.445460619e-07 -1.555684958e-05 -3.060681856e-06 -2.491567398e-05 1.445460619e-07 -1.207116193e-05 -1.611861901e-07 -2.1297601e-07 -7.876378585e-07 -1.555684958e-05 -1.611861901e-07 6.273371813e-06 -1.945444577e-06 2.012934e-05 -1.5968856e-07 8.953477761e-06 6.925593302e-10 -2.012934e-05 1.302303175e-05 -1.781055198e-08 -2.414328267e-05 3.640536485e-08 --1.5968856e-07 -1.781055198e-08 -1.481970645e-05 4.216663998e-08 -2.449610612e-05 -8.953477761e-06 -2.414328267e-05 4.216663998e-08 -1.194374669e-05 1.211067769e-08 -6.925593302e-10 3.640536485e-08 -2.449610612e-05 1.211067769e-08 9.272071166e-06 --1.155063595e-07 -4.46682355e-05 6.62115839e-07 2.560902119e-06 -2.92130832e-07 --4.46682355e-05 8.274625385e-06 -7.277076216e-07 -1.340375552e-05 1.369691047e-08 -6.62115839e-07 -7.277076216e-07 -7.045895739e-06 -3.15658749e-07 -1.592986775e-05 -2.560902119e-06 -1.340375552e-05 -3.15658749e-07 -8.660818186e-06 6.919241645e-08 --2.92130832e-07 1.369691047e-08 -1.592986775e-05 6.919241645e-08 7.692550495e-06 --7.497778327e-07 2.716302919e-06 -3.4949659e-08 2.11443175e-06 1.644639736e-07 -2.716302919e-06 -9.773975164e-06 5.864919734e-07 -1.851112245e-05 -4.115102962e-07 --3.4949659e-08 5.864919734e-07 6.008263926e-06 -1.142125848e-07 -1.575785069e-05 -2.11443175e-06 -1.851112245e-05 -1.142125848e-07 -9.254618372e-06 -4.831937574e-08 -1.644639736e-07 -4.115102962e-07 -1.575785069e-05 -4.831937574e-08 6.21239204e-06 -0.01713196725 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02539244665 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.006680163896 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002367614667 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001010369664 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001426832559 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.215666825e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.48004306e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.428531499e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.809126667e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.588403564e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.127912909e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.870681928e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.09835545479 -0.03039156402 0.0002506513043 0 0 --0.03039156402 -0.01890138804 -0.0001166972695 0 0 -0.0002506513043 -0.0001166972695 5.843230264e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04039026074 0.01251474729 0.0001964066528 0 0 -0.01251474729 -0.002888671118 0.0001114141913 0 0 -0.0001964066528 0.0001114141913 5.772942875e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.03249794e-05 -0.0003484152428 2.188149636e-07 0 0 --0.0003484152428 -0.002778673645 2.8454734e-08 0 0 -2.188149636e-07 2.8454734e-08 7.234944401e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002869453701 0.00222203605 1.267043237e-05 0 0 -0.00222203605 0.0016537935 8.667627582e-06 0 0 -1.267043237e-05 8.667627582e-06 3.638294129e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001234246155 -0.0002116250589 -3.166986475e-07 0 0 --0.0002116250589 -0.0003075783454 -6.059129407e-07 0 0 --3.166986475e-07 -6.059129407e-07 -7.41054191e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002598096982 5.055059073e-05 6.066689556e-07 0 0 -5.055059073e-05 0.0003774656117 1.195061743e-06 0 0 -6.066689556e-07 1.195061743e-06 3.035311427e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.221471562e-05 -3.854365729e-06 -7.212199666e-09 0 0 --3.854365729e-06 -9.057365754e-06 2.910374023e-08 0 0 --7.212199666e-09 2.910374023e-08 -6.579843232e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.827072084e-05 3.775485041e-05 2.072786812e-07 0 0 -3.775485041e-05 1.658494094e-05 9.046257245e-08 0 0 -2.072786812e-07 9.046257245e-08 4.931925708e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.126644654e-05 -3.01601044e-05 -6.695732292e-08 0 0 --3.01601044e-05 7.096586837e-06 -1.387300219e-07 0 0 --6.695732292e-08 -1.387300219e-07 -1.723966402e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.866809454e-05 -4.356670654e-05 -4.666867917e-08 0 0 --4.356670654e-05 -2.295256931e-05 -1.814790237e-08 0 0 --4.666867917e-08 -1.814790237e-08 -9.959137228e-12 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.145377777e-06 -1.244264963e-05 5.840926785e-10 0 0 --1.244264963e-05 -7.016592521e-06 2.125781824e-08 0 0 -5.840926785e-10 2.125781824e-08 2.211701783e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.315242686e-06 -7.306848061e-06 4.403846871e-09 0 0 --7.306848061e-06 -1.944240892e-06 -6.023620272e-09 0 0 -4.403846871e-09 -6.023620272e-09 5.098549638e-12 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.6090657e-06 -1.222978041e-05 -1.178535572e-08 0 0 --1.222978041e-05 -6.539411502e-06 -2.884868852e-08 0 0 --1.178535572e-08 -2.884868852e-08 -2.426875653e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05664242547 0.04393621964 0.0001454675037 -0.01588745222 0.000154136528 -0.04393621964 -0.06478834226 4.509186777e-05 -0.05198493641 -0.0001577396951 -0.0001454675037 4.509186777e-05 3.271680835e-07 -6.797735291e-05 2.058457962e-07 --0.01588745222 -0.05198493641 -6.797735291e-05 -0.0114540522 -0.0001544727833 -0.000154136528 -0.0001577396951 2.058457962e-07 -0.0001544727833 -3.583115843e-07 -0.02106825047 0.03379403237 6.571166116e-05 0.002432636389 0.0001922861088 -0.03379403237 0.05000668878 0.0001098589703 0.005251941931 0.0002422276922 -6.571166116e-05 0.0001098589703 2.002268072e-07 6.155191055e-06 6.699764722e-07 -0.002432636389 0.005251941931 6.155191055e-06 -0.0001530164364 4.348190419e-05 -0.0001922861088 0.0002422276922 6.699764722e-07 4.348190419e-05 7.113451231e-07 -0.001090036638 0.002828334745 4.253687786e-06 0.0005820482259 9.743703022e-06 -0.002828334745 0.005069325314 6.391334736e-06 -0.0009017878612 2.788245724e-05 -4.253687786e-06 6.391334736e-06 7.088766855e-09 -2.666429318e-06 4.334641142e-08 -0.0005820482259 -0.0009017878612 -2.666429318e-06 -0.002252844794 7.966618004e-06 -9.743703022e-06 2.788245724e-05 4.334641142e-08 7.966618004e-06 8.411825818e-08 --0.0002053794868 0.000761489313 6.239575053e-07 0.0008780285047 7.818597551e-06 -0.000761489313 0.001600223406 3.764482489e-06 0.0009320318463 8.901951581e-06 -6.239575053e-07 3.764482489e-06 6.455325451e-09 3.086036162e-06 2.830806566e-08 -0.0008780285047 0.0009320318463 3.086036162e-06 0.0002103130257 2.443092916e-06 -7.818597551e-06 8.901951581e-06 2.830806566e-08 2.443092916e-06 2.691559976e-08 --5.979937798e-05 -0.0001863312416 -3.878199259e-07 -8.641446508e-05 -3.490510144e-08 --0.0001863312416 7.63122313e-06 -6.682184608e-07 0.0001083223106 1.897686438e-06 --3.878199259e-07 -6.682184608e-07 -2.019045716e-09 -2.136696734e-07 1.616269656e-09 --8.641446508e-05 0.0001083223106 -2.136696734e-07 0.0001174969195 1.237502159e-06 --3.490510144e-08 1.897686438e-06 1.616269656e-09 1.237502159e-06 6.823630892e-09 --0.0001185786442 -0.000201068663 -4.13815748e-07 -1.416537288e-05 5.578806071e-07 --0.000201068663 -0.00026904171 -5.544152875e-07 6.521632386e-05 1.79265393e-06 --4.13815748e-07 -5.544152875e-07 -1.142476946e-09 1.333450036e-07 3.6811213e-09 --1.416537288e-05 6.521632386e-05 1.333450036e-07 0.0001090569511 1.117443875e-06 -5.578806071e-07 1.79265393e-06 3.6811213e-09 1.117443875e-06 7.345419969e-09 --7.132761189e-06 3.257599883e-05 1.546733169e-08 2.957032777e-05 -6.598781384e-08 -3.257599883e-05 0.0001030280216 1.839368424e-07 5.739426858e-05 1.441034696e-08 -1.546733169e-08 1.839368424e-07 2.238392651e-10 1.304402227e-07 -1.47027184e-10 -2.957032777e-05 5.739426858e-05 1.304402227e-07 2.448776646e-05 5.425255613e-08 --6.598781384e-08 1.441034696e-08 -1.47027184e-10 5.425255613e-08 -2.834503616e-10 -3.594118622e-05 3.791093026e-05 1.171899747e-07 6.974073623e-08 3.109731535e-07 -3.791093026e-05 3.456630031e-05 1.204788574e-07 -6.439423766e-07 2.240154871e-07 -1.171899747e-07 1.204788574e-07 3.80299084e-10 -1.872640142e-10 9.538563206e-10 -6.974073623e-08 -6.439423766e-07 -1.872640142e-10 -9.4808032e-08 -1.31583664e-08 -3.109731535e-07 2.240154871e-07 9.538563206e-10 -1.31583664e-08 6.958931949e-10 --3.164414819e-06 -3.547391931e-05 -4.60267186e-08 -1.982653789e-05 -6.446460753e-08 --3.547391931e-05 -9.46056702e-05 -1.589789148e-07 -2.246053944e-05 -1.80251422e-07 --4.60267186e-08 -1.589789148e-07 -2.489485487e-10 -5.302711903e-08 -2.987152784e-10 --1.982653789e-05 -2.246053944e-05 -5.302711903e-08 7.498167133e-06 -4.630800603e-08 --6.446460753e-08 -1.80251422e-07 -2.987152784e-10 -4.630800603e-08 -3.424691131e-10 --3.161619306e-06 -1.633369447e-05 -2.441031498e-08 -8.110918179e-06 3.599470197e-09 --1.633369447e-05 -6.976531672e-05 -1.067291589e-07 -3.128946536e-05 1.160891559e-07 --2.441031498e-08 -1.067291589e-07 -1.627742121e-10 -4.855216051e-08 1.570425206e-10 --8.110918179e-06 -3.128946536e-05 -4.855216051e-08 -1.310226024e-05 8.001750894e-08 -3.599470197e-09 1.160891559e-07 1.570425206e-10 8.001750894e-08 6.461022538e-10 -7.35473882e-06 5.723762563e-06 2.05732282e-08 -1.762457635e-06 -1.701925796e-08 -5.723762563e-06 -3.001035169e-06 1.027016432e-08 -4.125035558e-06 8.360649829e-10 -2.05732282e-08 1.027016432e-08 5.312855598e-11 -7.050224143e-09 -3.676498849e-11 --1.762457635e-06 -4.125035558e-06 -7.050224143e-09 -5.945265827e-07 9.278781472e-09 --1.701925796e-08 8.360649829e-10 -3.676498849e-11 9.278781472e-09 1.278849235e-11 -8.30361629e-06 7.195872255e-06 2.330634381e-08 -1.65351291e-06 8.413726723e-09 -7.195872255e-06 -1.931557477e-06 1.46994887e-08 -4.293846427e-06 -2.913228579e-09 -2.330634381e-08 1.46994887e-08 6.171496903e-11 -6.566769685e-09 1.67465451e-11 --1.65351291e-06 -4.293846427e-06 -6.566769685e-09 -6.728638009e-07 -5.24990562e-09 -8.413726723e-09 -2.913228579e-09 1.67465451e-11 -5.24990562e-09 -4.224347533e-12 -1.218388828e-06 -4.723871462e-06 -3.079385547e-09 -3.836474999e-06 -1.100029486e-08 --4.723871462e-06 -2.598042253e-05 -3.520316125e-08 -1.113311761e-05 -2.234670852e-08 --3.079385547e-09 -3.520316125e-08 -4.238926394e-11 -1.798277688e-08 -4.137129612e-11 --3.836474999e-06 -1.113311761e-05 -1.798277688e-08 -3.189822149e-06 -3.524174507e-09 --1.100029486e-08 -2.234670852e-08 -4.137129612e-11 -3.524174507e-09 3.94518391e-12 --0.007951417174 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01162898931 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002422787134 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001457206784 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.081627248e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.465637553e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.73778962e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.712245155e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.90686461e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.574043427e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.645497741e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.851846967e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.950052392e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04575806323 -0.0786095556 0.01974328601 0 0 --0.0786095556 0.0143388821 0.01284241031 0 0 -0.01974328601 0.01284241031 -0.005545338972 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02233772061 -0.0007758396679 0.007060637623 0 0 --0.0007758396679 -2.651243741e-05 0.0002087625102 0 0 -0.007060637623 0.0002087625102 0.0008311514006 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001638347047 -4.656643847e-05 -0.0003803183292 0 0 --4.656643847e-05 0.00120065521 0.001233222624 0 0 --0.0003803183292 0.001233222624 0.0005992724449 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001387127395 0.0001819300585 0.001123287453 0 0 -0.0001819300585 0.0001927222373 -7.968163837e-05 0 0 -0.001123287453 -7.968163837e-05 -0.0008885045243 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.16836117e-05 -9.227796085e-05 -4.928576276e-05 0 0 --9.227796085e-05 4.50627808e-05 4.990667042e-05 0 0 --4.928576276e-05 4.990667042e-05 2.917492708e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001169972711 8.254622758e-06 3.490672607e-05 0 0 -8.254622758e-06 -5.554497729e-05 -7.733577544e-05 0 0 -3.490672607e-05 -7.733577544e-05 -0.0001030383138 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.648168228e-05 -4.056562599e-07 2.596665216e-05 0 0 --4.056562599e-07 5.910459838e-06 6.617226103e-07 0 0 -2.596665216e-05 6.617226103e-07 -1.845882468e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.386067114e-05 -1.249204633e-05 1.717483098e-05 0 0 --1.249204633e-05 5.469175961e-06 3.026640124e-06 0 0 -1.717483098e-05 3.026640124e-06 -7.624550606e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.36035821e-05 -2.500944864e-05 -6.586873821e-06 0 0 --2.500944864e-05 -4.248642207e-06 -3.993910609e-06 0 0 --6.586873821e-06 -3.993910609e-06 -2.077888333e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.094575678e-05 -1.875763487e-05 -1.076177147e-05 0 0 --1.875763487e-05 5.84995906e-06 7.023980621e-06 0 0 --1.076177147e-05 7.023980621e-06 4.905407513e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.442507864e-06 -7.744677477e-06 1.45308197e-06 0 0 --7.744677477e-06 1.017169332e-06 1.163354832e-06 0 0 -1.45308197e-06 1.163354832e-06 -3.72904769e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.117897343e-06 -8.806002544e-06 8.391725551e-07 0 0 --8.806002544e-06 7.629272995e-07 9.076310566e-07 0 0 -8.391725551e-07 9.076310566e-07 -1.542024372e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.845877856e-06 -1.008491982e-05 -2.714913797e-06 0 0 --1.008491982e-05 2.403198074e-06 2.605425481e-06 0 0 --2.714913797e-06 2.605425481e-06 9.728263647e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0294848068 -0.02620281988 0.03266156989 0.02003584984 0.02476983649 --0.02620281988 0.06841747753 0.05448827636 -0.01215989141 -0.02896562497 -0.03266156989 0.05448827636 -0.02911077762 -0.03051474662 -0.04159316195 -0.02003584984 -0.01215989141 -0.03051474662 -0.003823304683 -0.0001739596001 -0.02476983649 -0.02896562497 -0.04159316195 -0.0001739596001 0.007530134116 --0.01318343063 0.001921305227 0.01877272515 0.004958467153 0.002836649682 -0.001921305227 0.006832349655 -0.001028128144 -0.004543786223 -0.00224304527 -0.01877272515 -0.001028128144 -0.02632163304 -0.007978171129 -0.004478599529 -0.004958467153 -0.004543786223 -0.007978171129 0.0001879942585 -8.391549439e-05 -0.002836649682 -0.00224304527 -0.004478599529 -8.391549439e-05 -0.0001396829397 --0.00109882109 0.001243888621 0.001636792086 -0.0001030502873 -0.0002541092364 -0.001243888621 -0.001067315236 -0.001575740179 0.0003180343625 -0.0002802180285 -0.001636792086 -0.001575740179 -0.002212766992 0.0003172702278 -8.329453418e-05 --0.0001030502873 0.0003180343625 0.0003172702278 0.0001093334931 -0.0003593962979 --0.0002541092364 -0.0002802180285 -8.329453418e-05 -0.0003593962979 0.0008875055769 -0.000152005754 0.000251418878 0.0002366825762 0.0001721316013 -0.000451423295 -0.000251418878 0.0003485579623 0.0001201590479 8.272338223e-05 -0.0005149358102 -0.0002366825762 0.0001201590479 -0.0007254096613 -0.0005463738504 0.0002314040236 -0.0001721316013 8.272338223e-05 -0.0005463738504 -0.0004113609814 0.0001843549738 --0.000451423295 -0.0005149358102 0.0002314040236 0.0001843549738 0.0005426722293 -7.80787654e-05 -0.0001001335224 -7.636675696e-05 2.08350046e-05 3.890328778e-05 --0.0001001335224 -3.985322781e-05 -4.972806667e-05 -5.567342956e-05 0.0001093925661 --7.636675696e-05 -4.972806667e-05 -5.489160002e-05 -4.578596483e-05 0.000101729663 -2.08350046e-05 -5.567342956e-05 -4.578596483e-05 5.779724424e-07 3.778814976e-05 -3.890328778e-05 0.0001093925661 0.000101729663 3.778814976e-05 -0.0001313943953 -4.583263519e-05 -2.807189856e-05 -6.013770019e-05 -3.636383009e-06 -3.706067537e-06 --2.807189856e-05 1.700110115e-05 3.587770612e-05 1.057398053e-06 3.89129148e-06 --6.013770019e-05 3.587770612e-05 7.416311055e-05 -1.035231847e-06 1.291059144e-05 --3.636383009e-06 1.057398053e-06 -1.035231847e-06 -6.817937317e-06 1.014342884e-05 --3.706067537e-06 3.89129148e-06 1.291059144e-05 1.014342884e-05 -1.335136536e-05 -6.613651206e-06 1.19286093e-05 1.628926932e-05 1.004123395e-05 -1.981199665e-05 -1.19286093e-05 2.857242342e-06 -1.341340367e-05 -6.102547318e-06 -3.402920248e-06 -1.628926932e-05 -1.341340367e-05 -5.803106032e-05 -3.080447393e-05 2.535750676e-05 -1.004123395e-05 -6.102547318e-06 -3.080447393e-05 -1.617802667e-05 1.187801114e-05 --1.981199665e-05 -3.402920248e-06 2.535750676e-05 1.187801114e-05 3.3252996e-06 --2.095228419e-05 -1.238753527e-05 1.811569606e-05 8.729137871e-06 1.440166737e-05 --1.238753527e-05 1.438378836e-05 9.181245983e-06 -7.506308874e-06 -3.805787096e-07 -1.811569606e-05 9.181245983e-06 -1.5555406e-05 -6.654999613e-06 -1.182528647e-05 -8.729137871e-06 -7.506308874e-06 -6.654999613e-06 3.755050029e-06 -8.093305668e-07 -1.440166737e-05 -3.805787096e-07 -1.182528647e-05 -8.093305668e-07 -6.254035479e-06 -5.966375739e-06 -1.856636191e-05 -1.32014067e-05 1.998706124e-06 1.110363824e-05 --1.856636191e-05 2.369283361e-05 2.834474404e-05 -1.570296248e-06 -7.239387634e-06 --1.32014067e-05 2.834474404e-05 2.445081881e-05 -2.685060181e-06 -1.436198822e-05 -1.998706124e-06 -1.570296248e-06 -2.685060181e-06 3.532090643e-08 -6.251263817e-09 -1.110363824e-05 -7.239387634e-06 -1.436198822e-05 -6.251263817e-09 -1.224189909e-06 -1.045416535e-06 -4.730546512e-06 -3.230420718e-06 3.220703611e-07 3.185505972e-06 --4.730546512e-06 1.061813059e-05 1.227485922e-05 1.492683299e-06 -6.812604618e-06 --3.230420718e-06 1.227485922e-05 9.473420794e-06 -3.545223379e-07 -8.192467034e-06 -3.220703611e-07 1.492683299e-06 -3.545223379e-07 -7.075129116e-07 -1.097465599e-06 -3.185505972e-06 -6.812604618e-06 -8.192467034e-06 -1.097465599e-06 4.349682718e-06 --5.240679681e-06 -2.74187192e-06 5.483051156e-06 2.632093854e-06 3.282973176e-06 --2.74187192e-06 5.693119477e-06 3.690275361e-06 -1.845155326e-06 -1.540786226e-06 -5.483051156e-06 3.690275361e-06 -5.641927045e-06 -3.1252482e-06 -3.81039811e-06 -2.632093854e-06 -1.845155326e-06 -3.1252482e-06 1.347501658e-07 -1.758001628e-07 -3.282973176e-06 -1.540786226e-06 -3.81039811e-06 -1.758001628e-07 -5.670045837e-07 --3.780099939e-06 -2.990342398e-06 4.230474641e-06 2.509010284e-06 2.842980924e-06 --2.990342398e-06 7.799000683e-06 6.033945889e-06 -1.362594106e-06 -3.431557388e-06 -4.230474641e-06 6.033945889e-06 -4.024031366e-06 -3.69293422e-06 -4.683538262e-06 -2.509010284e-06 -1.362594106e-06 -3.69293422e-06 -5.629635124e-07 -1.627600289e-08 -2.842980924e-06 -3.431557388e-06 -4.683538262e-06 -1.627600289e-08 1.036454075e-06 --3.069792995e-07 -3.862952725e-06 -7.544051485e-07 1.062479146e-06 2.710448165e-06 --3.862952725e-06 7.009444804e-06 7.286518222e-06 -2.394440562e-07 -3.274808837e-06 --7.544051485e-07 7.286518222e-06 3.208269105e-06 -1.494723377e-06 -4.616813556e-06 -1.062479146e-06 -2.394440562e-07 -1.494723377e-06 -3.472845619e-07 -2.341064157e-07 -2.710448165e-06 -3.274808837e-06 -4.616813556e-06 -2.341064157e-07 1.193250514e-06 --0.007923874883 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01151770907 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002079371511 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001631365138 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.323058964e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.833714431e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.104313272e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.703922777e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.204989324e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.671081644e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.846342134e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.358431943e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.728931594e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04515613397 -0.08118481338 -0.01925768197 0 0 --0.08118481338 0.01428135596 -0.01348269678 0 0 --0.01925768197 -0.01348269678 -0.005423854529 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02385648312 -0.001490085486 -0.007686436356 0 0 --0.001490085486 -6.064580648e-05 -0.0001698076792 0 0 --0.007686436356 -0.0001698076792 0.0004927354877 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003280463634 4.107956144e-06 0.0004456687678 0 0 -4.107956144e-06 0.001227174059 -0.001295858604 0 0 -0.0004456687678 -0.001295858604 0.0007511042539 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001343976294 0.0001594857004 -0.001152516913 0 0 -0.0001594857004 0.0002654883136 2.390014502e-05 0 0 --0.001152516913 2.390014502e-05 -0.0009435432243 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.808765078e-05 -6.681292433e-05 3.098348165e-05 0 0 --6.681292433e-05 5.93529138e-06 -8.913237972e-06 0 0 -3.098348165e-05 -8.913237972e-06 6.249493298e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001173651534 7.067240963e-06 -2.939439096e-05 0 0 -7.067240963e-06 -4.671002136e-05 6.706239937e-05 0 0 --2.939439096e-05 6.706239937e-05 -9.315453127e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.811827533e-05 4.586339231e-06 -3.696113779e-05 0 0 -4.586339231e-06 6.12816258e-06 1.867413698e-06 0 0 --3.696113779e-05 1.867413698e-06 -2.797354802e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.035230512e-05 -1.499425246e-05 -1.316302634e-05 0 0 --1.499425246e-05 3.145814694e-06 -2.183773728e-06 0 0 --1.316302634e-05 -2.183773728e-06 -3.940978024e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.909192103e-05 -2.551143677e-05 8.39159201e-06 0 0 --2.551143677e-05 -3.697540366e-06 3.286111165e-06 0 0 -8.39159201e-06 3.286111165e-06 -1.926109391e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.871898209e-05 -1.738346992e-05 9.847700841e-06 0 0 --1.738346992e-05 6.004122597e-06 -7.093671667e-06 0 0 -9.847700841e-06 -7.093671667e-06 4.765621374e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.620300069e-06 -7.332096331e-06 -2.180545788e-06 0 0 --7.332096331e-06 5.165656551e-07 -6.842054263e-07 0 0 --2.180545788e-06 -6.842054263e-07 -3.830231583e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.895774457e-06 -9.023737851e-06 -7.639030581e-07 0 0 --9.023737851e-06 1.018483342e-06 -1.152380186e-06 0 0 --7.639030581e-07 -1.152380186e-06 -1.675182613e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.859674087e-06 -9.977025087e-06 3.151641885e-06 0 0 --9.977025087e-06 2.32547213e-06 -2.61323637e-06 0 0 -3.151641885e-06 -2.61323637e-06 1.129310137e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02915914345 -0.02733100872 -0.03176623178 0.01980571824 -0.02485833873 --0.02733100872 0.06858723318 -0.05546014823 -0.01128159788 0.02876548402 --0.03176623178 -0.05546014823 -0.02760310524 0.0297141136 -0.04127683159 -0.01980571824 -0.01128159788 0.0297141136 -0.003997034099 0.0003893432246 --0.02485833873 0.02876548402 -0.04127683159 0.0003893432246 0.007583731792 --0.01388352148 0.00135519562 -0.01940982416 0.005344608297 -0.003292846121 -0.00135519562 0.00824747372 -0.0002623881693 -0.004629368813 0.002708783065 --0.01940982416 -0.0002623881693 -0.02658062533 0.008529364401 -0.005218081791 -0.005344608297 -0.004629368813 0.008529364401 -4.392424762e-05 9.735503162e-05 --0.003292846121 0.002708783065 -0.005218081791 9.735503162e-05 -0.0001008350625 --0.001356837856 0.001347965725 -0.001963319872 -6.482940961e-05 0.0001982251356 -0.001347965725 -0.001134297924 0.001765149744 0.0002380160045 0.0002178585116 --0.001963319872 0.001765149744 -0.002673217176 -0.0002508734126 -8.843245071e-05 --6.482940961e-05 0.0002380160045 -0.0002508734126 0.0001440348302 0.0003609974872 -0.0001982251356 0.0002178585116 -8.843245071e-05 0.0003609974872 0.0008109017996 -0.0002004236729 0.0002682533787 -0.0001729853618 0.0001561831245 0.0004829690608 -0.0002682533787 0.0003529818389 -0.0001646395698 0.0001512353361 0.0005898498191 --0.0001729853618 -0.0001646395698 -0.0005893847449 0.0005035638589 0.0002078894369 -0.0001561831245 0.0001512353361 0.0005035638589 -0.000429959452 -0.0001635312457 -0.0004829690608 0.0005898498191 0.0002078894369 -0.0001635312457 0.0006354621542 -0.0001068919152 -0.0001092068216 9.127341298e-05 2.776191367e-05 -2.75705451e-05 --0.0001092068216 -4.889927472e-05 6.346385645e-05 -7.263707531e-05 -0.0001366853267 -9.127341298e-05 6.346385645e-05 -7.510769422e-05 6.694280871e-05 0.0001374510802 -2.776191367e-05 -7.263707531e-05 6.694280871e-05 -5.00485462e-06 -5.264348546e-05 --2.75705451e-05 -0.0001366853267 0.0001374510802 -5.264348546e-05 -0.0001622431733 -3.48512393e-05 -2.005342298e-05 4.851361824e-05 -4.464256628e-06 3.163052662e-06 --2.005342298e-05 1.105773047e-05 -2.847696182e-05 4.085823924e-06 -1.828804362e-07 -4.851361824e-05 -2.847696182e-05 6.687484595e-05 -4.441220153e-06 6.31646026e-06 --4.464256628e-06 4.085823924e-06 -4.441220153e-06 -4.212888673e-06 -5.568542939e-06 -3.163052662e-06 -1.828804362e-07 6.31646026e-06 -5.568542939e-06 -5.284898452e-06 -8.647050562e-06 1.22310819e-05 -1.510403273e-05 1.066930603e-05 2.213368854e-05 -1.22310819e-05 3.949623431e-06 1.186435542e-05 -5.113239328e-06 5.051614497e-06 --1.510403273e-05 1.186435542e-05 -5.63188482e-05 3.165037398e-05 2.668601569e-05 -1.066930603e-05 -5.113239328e-06 3.165037398e-05 -1.741241582e-05 -1.242462726e-05 -2.213368854e-05 5.051614497e-06 2.668601569e-05 -1.242462726e-05 5.020079801e-06 --2.043549597e-05 -1.753344966e-05 -1.508319477e-05 8.894638235e-06 -1.812710078e-05 --1.753344966e-05 1.55010606e-05 -1.164714455e-05 -8.851377071e-06 -2.628300247e-06 --1.508319477e-05 -1.164714455e-05 -1.107789879e-05 5.866694252e-06 -1.283181975e-05 -8.894638235e-06 -8.851377071e-06 5.866694252e-06 5.023291642e-06 9.153657737e-07 --1.812710078e-05 -2.628300247e-06 -1.283181975e-05 9.153657737e-07 -1.061058745e-05 -6.408053146e-06 -1.674702789e-05 1.339328905e-05 1.127785507e-06 -9.7908264e-06 --1.674702789e-05 2.30852334e-05 -2.820493385e-05 -2.501097595e-08 8.908980873e-06 -1.339328905e-05 -2.820493385e-05 2.575878378e-05 1.396654359e-06 -1.498174633e-05 -1.127785507e-06 -2.501097595e-08 1.396654359e-06 -2.144497292e-07 6.33573737e-07 --9.7908264e-06 8.908980873e-06 -1.498174633e-05 6.33573737e-07 1.509061836e-06 -5.068905941e-07 -3.709318801e-06 1.921165886e-06 5.083844904e-07 -2.482001184e-06 --3.709318801e-06 8.458191156e-06 -9.423591425e-06 1.00834676e-06 5.417993028e-06 -1.921165886e-06 -9.423591425e-06 6.131655174e-06 7.538795366e-07 -6.245638582e-06 -5.083844904e-07 1.00834676e-06 7.538795366e-07 -6.867267407e-07 7.358501091e-07 --2.482001184e-06 5.417993028e-06 -6.245638582e-06 7.358501091e-07 3.460533663e-06 --5.67618445e-06 -3.066134986e-06 -5.734832442e-06 2.689483789e-06 -3.599168381e-06 --3.066134986e-06 5.757257638e-06 -3.776629301e-06 -1.970876082e-06 1.311817904e-06 --5.734832442e-06 -3.776629301e-06 -5.731931134e-06 3.030758829e-06 -3.934490023e-06 -2.689483789e-06 -1.970876082e-06 3.030758829e-06 3.067731245e-07 2.016847187e-07 --3.599168381e-06 1.311817904e-06 -3.934490023e-06 2.016847187e-07 -8.521395869e-07 --3.218879771e-06 -3.237687036e-06 -3.509529553e-06 2.348855007e-06 -2.761879194e-06 --3.237687036e-06 8.255822149e-06 -6.806536422e-06 -1.028715922e-06 3.902528992e-06 --3.509529553e-06 -6.806536422e-06 -2.893912893e-06 3.526127234e-06 -4.912584788e-06 -2.348855007e-06 -1.028715922e-06 3.526127234e-06 -7.14990448e-07 4.744193459e-08 --2.761879194e-06 3.902528992e-06 -4.912584788e-06 4.744193459e-08 1.506891992e-06 --3.468702648e-07 -3.637168395e-06 5.931674106e-07 1.019234762e-06 -2.520174781e-06 --3.637168395e-06 6.311482877e-06 -6.525607739e-06 -2.707603786e-07 2.840053442e-06 -5.931674106e-07 -6.525607739e-06 2.640222183e-06 1.39915392e-06 -4.08195092e-06 -1.019234762e-06 -2.707603786e-07 1.39915392e-06 -2.933989523e-07 1.903548719e-07 --2.520174781e-06 2.840053442e-06 -4.08195092e-06 1.903548719e-07 9.584340711e-07 --0.05167482111 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06574267786 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01243044652 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001005796204 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.979780871e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003262026191 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.677534424e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002209875871 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.631097991e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.582191136e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.880799355e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.568458848e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.040047881e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01486931205 0.00617305182 7.72081239e-05 0 0 -0.00617305182 0.1611177061 -0.0002454496245 0 0 -7.72081239e-05 -0.0002454496245 -1.22686272e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02884723166 -0.06076264294 0.0002267332935 0 0 --0.06076264294 -0.1140391545 0.0003373072472 0 0 -0.0002267332935 0.0003373072472 -3.714227183e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01634424313 -0.04238684994 0.0001666730377 0 0 --0.04238684994 -0.1097333061 0.0004157198447 0 0 -0.0001666730377 0.0004157198447 -2.766884682e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002936378384 -0.009219251398 3.356191881e-05 0 0 --0.009219251398 -0.02816807923 0.0001213313609 0 0 -3.356191881e-05 0.0001213313609 -5.598164122e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000409375701 0.0008220196022 -3.142985926e-06 0 0 -0.0008220196022 0.00142321827 -4.233148657e-06 0 0 --3.142985926e-06 -4.233148657e-06 5.14154176e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006320924452 0.001742784709 -2.485420021e-06 0 0 -0.001742784709 0.004786713667 -6.521836778e-06 0 0 --2.485420021e-06 -6.521836778e-06 3.834113973e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003386114781 0.001127660902 -1.034370851e-06 0 0 -0.001127660902 0.003722114139 -3.676962658e-06 0 0 --1.034370851e-06 -3.676962658e-06 1.53888981e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.523704572e-05 -0.0001396127549 2.844691584e-07 0 0 --0.0001396127549 -0.0004302773372 9.062414749e-07 0 0 -2.844691584e-07 9.062414749e-07 -4.592061643e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001077773069 -0.000285405805 8.719614079e-07 0 0 --0.000285405805 -0.0007498736072 2.12671688e-06 0 0 -8.719614079e-07 2.12671688e-06 -1.430778246e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.709377826e-05 -6.180465105e-05 1.970571289e-07 0 0 --6.180465105e-05 -0.0002088659143 8.80885177e-07 0 0 -1.970571289e-07 8.80885177e-07 -3.288038916e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.828046315e-06 2.656991129e-05 -5.181653503e-08 0 0 -2.656991129e-05 9.462763798e-05 -2.536305861e-07 0 0 --5.181653503e-08 -2.536305861e-07 8.47062318e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.927854438e-06 5.928224014e-06 -1.767784461e-08 0 0 -5.928224014e-06 1.042471051e-05 -2.467684555e-08 0 0 --1.767784461e-08 -2.467684555e-08 2.844889416e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.597221059e-06 2.195326709e-05 -1.273953319e-08 0 0 -2.195326709e-05 8.096574387e-05 -5.752414058e-08 0 0 --1.273953319e-08 -5.752414058e-08 1.788107829e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01173801515 -0.01067268187 1.277898364e-05 -0.0228467666 2.574337576e-05 --0.01067268187 0.005836352291 -3.563398568e-06 0.01849803238 -1.058766311e-05 -1.277898364e-05 -3.563398568e-06 -2.866630426e-09 -2.013406118e-05 1.325897484e-09 --0.0228467666 0.01849803238 -2.013406118e-05 0.04313035803 -4.256569781e-05 -2.574337576e-05 -1.058766311e-05 1.325897484e-09 -4.256569781e-05 1.397055241e-08 -0.004123507354 -0.0006224012376 1.604402649e-05 -0.006181717487 -1.026872613e-05 --0.0006224012376 -0.006349421117 2.163102805e-05 -0.002477264075 -6.375165423e-06 -1.604402649e-05 2.163102805e-05 -2.736215648e-08 -1.132168562e-05 -1.03702401e-08 --0.006181717487 -0.002477264075 -1.132168562e-05 0.007462251237 1.11996718e-05 --1.026872613e-05 -6.375165423e-06 -1.03702401e-08 1.11996718e-05 1.582446087e-08 --0.001375044897 0.003269116528 -1.359708263e-05 0.003612025153 9.479315517e-06 -0.003269116528 -0.006044661951 4.545958126e-05 -0.007535384294 -3.783582368e-05 --1.359708263e-05 4.545958126e-05 -3.461462633e-08 4.371537891e-05 -2.257065274e-08 -0.003612025153 -0.007535384294 4.371537891e-05 -0.008847511075 -3.421779315e-05 -9.479315517e-06 -3.783582368e-05 -2.257065274e-08 -3.421779315e-05 7.014063205e-08 --0.0006002820936 0.000613676381 -1.874947094e-05 0.0009289616252 2.170198763e-05 -0.000613676381 -0.0004808993369 2.829790286e-05 -0.0007432515627 -3.3296026e-05 --1.874947094e-05 2.829790286e-05 -1.651567041e-08 4.188370712e-05 -1.466832156e-08 -0.0009289616252 -0.0007432515627 4.188370712e-05 -0.001146648341 -4.924311885e-05 -2.170198763e-05 -3.3296026e-05 -1.466832156e-08 -4.924311885e-05 5.808866259e-08 --3.766332552e-06 -5.572802405e-05 -2.896001181e-06 -8.304320254e-05 3.77720239e-06 --5.572802405e-05 0.0001350707894 3.359706079e-06 0.0002203911381 -4.464746545e-06 --2.896001181e-06 3.359706079e-06 -1.623119934e-09 5.926931131e-06 -1.867304301e-09 --8.304320254e-05 0.0002203911381 5.926931131e-06 0.0003572814865 -7.855336481e-06 -3.77720239e-06 -4.464746545e-06 -1.867304301e-09 -7.855336481e-06 7.639290414e-09 --2.186392652e-05 6.069935434e-05 -1.14991037e-07 6.67259768e-05 8.622204503e-09 -6.069935434e-05 -0.0001428103155 4.075065435e-07 -0.0001745238158 -1.126240248e-07 --1.14991037e-07 4.075065435e-07 -3.017071354e-10 3.877582517e-07 -2.591781517e-10 -6.67259768e-05 -0.0001745238158 3.877582517e-07 -0.000199166198 -6.330994072e-08 -8.622204503e-09 -1.126240248e-07 -2.591781517e-10 -6.330994072e-08 3.025819631e-10 --1.134368977e-05 8.631751615e-06 -9.494651657e-07 1.368190133e-05 1.177148521e-06 -8.631751615e-06 -1.644864115e-06 1.345001153e-06 -3.044593486e-06 -1.68042508e-06 --9.494651657e-07 1.345001153e-06 -7.550665684e-10 2.076612721e-06 -6.937878126e-10 -1.368190133e-05 -3.044593486e-06 2.076612721e-06 -5.480295529e-06 -2.593874917e-06 -1.177148521e-06 -1.68042508e-06 -6.937878126e-10 -2.593874917e-06 2.914687769e-09 --5.510922052e-06 2.905683052e-06 -2.729070154e-07 4.85936826e-06 3.335217656e-07 -2.905683052e-06 2.228505673e-06 3.676577761e-07 3.239218645e-06 -4.567033848e-07 --2.729070154e-07 3.676577761e-07 -1.99910725e-10 5.858413234e-07 -1.951776096e-10 -4.85936826e-06 3.239218645e-06 5.858413234e-07 4.664853553e-06 -7.273554716e-07 -3.335217656e-07 -4.567033848e-07 -1.951776096e-10 -7.273554716e-07 7.901388126e-10 -7.397995178e-07 5.012707098e-07 -5.460505901e-09 -1.053173526e-06 7.979984185e-09 -5.012707098e-07 -5.641723881e-06 -1.522066879e-08 -4.685726978e-06 3.451834079e-08 --5.460505901e-09 -1.522066879e-08 1.811412825e-11 1.228117821e-10 -2.829321563e-12 --1.053173526e-06 -4.685726978e-06 1.228117821e-10 -1.13852321e-06 7.972030181e-09 -7.979984185e-09 3.451834079e-08 -2.829321563e-12 7.972030181e-09 -5.560683356e-11 -3.617493534e-06 -5.517515639e-06 -1.401135874e-07 -8.773706549e-06 1.961123617e-07 --5.517515639e-06 8.148773646e-06 1.753449036e-07 1.306487029e-05 -2.469335911e-07 --1.401135874e-07 1.753449036e-07 -9.037987389e-11 2.942229492e-07 -9.054945992e-11 --8.773706549e-06 1.306487029e-05 2.942229492e-07 2.090243635e-05 -4.136081474e-07 -1.961123617e-07 -2.469335911e-07 -9.054945992e-11 -4.136081474e-07 4.21999635e-10 --1.005748878e-06 1.62201955e-06 -2.008728147e-08 2.163303256e-06 2.121273879e-08 -1.62201955e-06 -2.373052594e-06 4.19118516e-08 -3.286782002e-06 -4.553609097e-08 --2.008728147e-08 4.19118516e-08 -2.831070423e-11 5.112487823e-08 -2.010162515e-11 -2.163303256e-06 -3.286782002e-06 5.112487823e-08 -4.484978656e-06 -5.50510722e-08 -2.121273879e-08 -4.553609097e-08 -2.010162515e-11 -5.50510722e-08 8.073189739e-11 --3.945593299e-07 1.158345679e-06 -7.480194122e-10 1.281958013e-06 -1.651822795e-09 -1.158345679e-06 -2.995355928e-06 2.3232841e-09 -3.642457165e-06 5.154500976e-09 --7.480194122e-10 2.3232841e-09 -1.378169338e-12 2.468404763e-09 -3.035798353e-12 -1.281958013e-06 -3.642457165e-06 2.468404763e-09 -4.129005891e-06 5.45807991e-09 --1.651822795e-09 5.154500976e-09 -3.035798353e-12 5.45807991e-09 -6.685711543e-12 -1.10139542e-06 -1.218388681e-06 1.401115514e-09 -2.12785172e-06 2.410873451e-09 --1.218388681e-06 1.329431025e-06 -1.39630708e-09 2.35698756e-06 -2.476040025e-09 -1.401115514e-09 -1.39630708e-09 4.980066607e-13 -2.732894219e-09 1.470858225e-12 --2.12785172e-06 2.35698756e-06 -2.732894219e-09 4.11039794e-06 -4.690014411e-09 -2.410873451e-09 -2.476040025e-09 1.470858225e-12 -4.690014411e-09 3.293815432e-12 --0.02448470597 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02541610372 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007631025207 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003827021899 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.280678188e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001313900767 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.553726607e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.390261254e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.041993493e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.144144138e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.481843675e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.451723763e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.694565647e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0573866176 -0.0264028563 9.094565819e-05 0 0 --0.0264028563 0.08564584641 -0.0002120552334 0 0 -9.094565819e-05 -0.0002120552334 5.150584179e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01598697328 -0.03460490624 0.0001818581206 0 0 --0.03460490624 -0.04150376808 8.90850432e-05 0 0 -0.0001818581206 8.90850432e-05 7.083528072e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005664631434 0.0006267769465 4.576880743e-06 0 0 -0.0006267769465 -0.002850954119 1.395615716e-05 0 0 -4.576880743e-06 1.395615716e-05 1.46729234e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004475228568 -0.001598443761 -5.218966403e-06 0 0 --0.001598443761 -0.0002578101727 -1.108574692e-06 0 0 --5.218966403e-06 -1.108574692e-06 -4.263330028e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001279684787 -8.043724463e-05 -2.616904996e-08 0 0 --8.043724463e-05 0.0003437011133 3.429237918e-07 0 0 --2.616904996e-08 3.429237918e-07 3.2222005e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001615590504 0.0003340482023 3.393146154e-07 0 0 -0.0003340482023 0.0005155250919 6.518196316e-07 0 0 -3.393146154e-07 6.518196316e-07 6.985077337e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.550069189e-05 7.684168114e-06 -1.779861313e-08 0 0 -7.684168114e-06 4.608555281e-06 1.327830366e-09 0 0 --1.779861313e-08 1.327830366e-09 -1.376298859e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.097795283e-05 -3.896887133e-05 3.125648263e-07 0 0 --3.896887133e-05 -2.875841831e-05 2.259222476e-08 0 0 -3.125648263e-07 2.259222476e-08 1.059698176e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.880463151e-05 3.99449623e-05 2.851481038e-08 0 0 -3.99449623e-05 7.204229377e-05 5.610076384e-08 0 0 -2.851481038e-08 5.610076384e-08 4.167870668e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.266635902e-05 4.251013952e-05 7.198607909e-08 0 0 -4.251013952e-05 5.43976322e-05 9.587042971e-08 0 0 -7.198607909e-08 9.587042971e-08 1.534270271e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.825821286e-06 6.470295669e-06 -9.145243482e-09 0 0 -6.470295669e-06 2.285568031e-05 -3.49058769e-08 0 0 --9.145243482e-09 -3.49058769e-08 -3.894867367e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.447224935e-06 3.910356387e-06 3.620886519e-10 0 0 -3.910356387e-06 1.489610033e-05 -1.462287202e-08 0 0 -3.620886519e-10 -1.462287202e-08 9.274795237e-12 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.01499728e-06 8.67896707e-06 2.405819912e-09 0 0 -8.67896707e-06 2.067063475e-05 3.296127e-09 0 0 -2.405819912e-09 3.296127e-09 -1.134455377e-12 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04285556915 -0.04918206695 8.32974328e-05 0.003840707601 -0.0001031297001 --0.04918206695 0.06640903909 -0.0001660985799 0.05671268844 0.0001276768066 -8.32974328e-05 -0.0001660985799 3.955422815e-07 -0.0001188827981 -3.236327084e-07 -0.003840707601 0.05671268844 -0.0001188827981 0.02192505795 0.0001139920316 --0.0001031297001 0.0001276768066 -3.236327084e-07 0.0001139920316 2.445420109e-07 --0.01563626615 -0.03568862346 0.0001172363954 -0.005368564559 -0.000101372723 --0.03568862346 -0.06167123695 7.251537132e-05 -0.01076943587 -0.0001540817965 -0.0001172363954 7.251537132e-05 1.044206037e-06 2.562180279e-05 -1.990894103e-09 --0.005368564559 -0.01076943587 2.562180279e-05 -0.001731951491 -2.900828009e-05 --0.000101372723 -0.0001540817965 -1.990894103e-09 -2.900828009e-05 -3.552599275e-07 --4.844833421e-05 -0.001656570171 1.289974295e-05 -1.27273887e-05 -6.080553201e-06 --0.001656570171 -0.01258735113 4.206762509e-05 -0.0030719956 -3.519480531e-05 -1.289974295e-05 4.206762509e-05 1.791623395e-07 2.727047354e-05 5.471299103e-08 --1.27273887e-05 -0.0030719956 2.727047354e-05 0.0001544773834 -1.193482381e-05 --6.080553201e-06 -3.519480531e-05 5.471299103e-08 -1.193482381e-05 -8.602907247e-08 --0.001928835937 -0.0003286257449 -1.000232456e-05 -0.0003497826911 -3.789545921e-07 --0.0003286257449 0.001066592422 -4.422200702e-06 -0.0001526095558 2.124333169e-06 --1.000232456e-05 -4.422200702e-06 -4.528775883e-08 -1.588647538e-06 -7.265007498e-09 --0.0003497826911 -0.0001526095558 -1.588647538e-06 -5.572387859e-05 -2.500895058e-07 --3.789545921e-07 2.124333169e-06 -7.265007498e-09 -2.500895058e-07 4.193629891e-09 --0.0002019589518 -0.000532241032 -1.174287868e-06 -0.000328999337 -1.16423906e-06 --0.000532241032 0.001239352604 -5.00711403e-07 0.0004691682326 9.618039824e-07 --1.174287868e-06 -5.00711403e-07 -4.281031001e-09 -6.01037863e-07 -2.812669489e-09 --0.000328999337 0.0004691682326 -6.01037863e-07 0.0001398405774 1.416114685e-07 --1.16423906e-06 9.618039824e-07 -2.812669489e-09 1.416114685e-07 -5.642714531e-10 -0.0001828737381 0.0002878267533 1.007247042e-06 0.0001011209445 4.343335166e-07 -0.0002878267533 0.0003047407163 1.654987816e-06 7.139982617e-05 3.394907775e-07 -1.007247042e-06 1.654987816e-06 5.515060069e-09 5.981977153e-07 2.553952447e-09 -0.0001011209445 7.139982617e-05 5.981977153e-07 3.977131305e-06 3.650418486e-08 -4.343335166e-07 3.394907775e-07 2.553952447e-09 3.650418486e-08 2.329495374e-10 --2.531619304e-05 -1.465705738e-05 5.213367728e-08 -9.911296937e-06 -8.466373586e-08 --1.465705738e-05 7.536862744e-06 1.489675749e-07 -5.663304969e-06 -6.641904786e-08 -5.213367728e-08 1.489675749e-07 7.732476263e-10 2.09658968e-08 4.533741537e-11 --9.911296937e-06 -5.663304969e-06 2.09658968e-08 -3.879925156e-06 -3.322726603e-08 --8.466373586e-08 -6.641904786e-08 4.533741537e-11 -3.322726603e-08 -2.642365385e-10 -2.881311556e-05 -4.354042462e-05 3.699287922e-07 -1.251055858e-05 -1.091132779e-07 --4.354042462e-05 -7.082490026e-05 5.602612761e-08 -5.233948477e-06 -1.481551078e-07 -3.699287922e-07 5.602612761e-08 1.980702449e-09 -5.195256923e-08 8.348291099e-12 --1.251055858e-05 -5.233948477e-06 -5.195256923e-08 1.1669791e-06 -7.933504944e-09 --1.091132779e-07 -1.481551078e-07 8.348291099e-12 -7.933504944e-09 -3.04067387e-10 -4.203631673e-06 4.61848101e-05 7.195180095e-08 2.732241204e-05 7.884504333e-08 -4.61848101e-05 8.624306333e-05 4.136710386e-07 3.85704922e-05 6.1299757e-08 -7.195180095e-08 4.136710386e-07 8.943773011e-10 2.335835228e-07 6.293171494e-10 -2.732241204e-05 3.85704922e-05 2.335835228e-07 1.508461763e-05 1.247009823e-08 -7.884504333e-08 6.1299757e-08 6.293171494e-10 1.247009823e-08 -5.958204199e-11 -6.393329686e-07 5.556080406e-06 1.049970748e-08 2.266237274e-06 4.696822341e-09 -5.556080406e-06 4.707793904e-05 8.610730535e-08 2.020573016e-05 4.596096322e-08 -1.049970748e-08 8.610730535e-08 1.505461329e-10 3.939514654e-08 9.904146591e-11 -2.266237274e-06 2.020573016e-05 3.939514654e-08 7.816611075e-06 1.447021548e-08 -4.696822341e-09 4.596096322e-08 9.904146591e-11 1.447021548e-08 1.258257653e-11 --3.57664528e-06 -7.753743978e-06 2.736733592e-08 -7.833953604e-07 -1.923833199e-08 --7.753743978e-06 3.731673706e-06 -2.358709134e-08 5.42017777e-06 7.932985014e-09 -2.736733592e-08 -2.358709134e-08 1.252974927e-10 -2.274052174e-08 -5.317123832e-11 --7.833953604e-07 5.42017777e-06 -2.274052174e-08 2.295339842e-06 1.298886452e-08 --1.923833199e-08 7.932985014e-09 -5.317123832e-11 1.298886452e-08 1.647881921e-11 --7.558636724e-06 -6.747180913e-06 -3.408243905e-09 2.319084221e-08 -1.254433336e-08 --6.747180913e-06 1.807557092e-06 -1.603086943e-08 4.201730187e-06 3.307862069e-09 --3.408243905e-09 -1.603086943e-08 2.00076478e-11 -6.924743592e-09 -2.971704853e-11 -2.319084221e-08 4.201730187e-06 -6.924743592e-09 2.232383471e-06 7.783679817e-09 --1.254433336e-08 3.307862069e-09 -2.971704853e-11 7.783679817e-09 6.052263566e-12 --5.672125627e-07 1.603072314e-06 1.681957709e-09 1.572402677e-06 3.987636259e-09 -1.603072314e-06 2.390568201e-05 1.925981923e-08 1.128672007e-05 3.22881474e-08 -1.681957709e-09 1.925981923e-08 1.529091432e-11 8.621325855e-09 2.495864561e-11 -1.572402677e-06 1.128672007e-05 8.621325855e-09 4.343109381e-06 1.304155229e-08 -3.987636259e-09 3.22881474e-08 2.495864561e-11 1.304155229e-08 3.868731595e-11 --0.2195481507 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.07545823539 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2810316 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.07665946689 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002032566429 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004142467893 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004027314339 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001774185354 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006019607672 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006829544062 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.169986311e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001987065543 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.403625262e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2321889666 0.03336767616 0.0004186624035 0 0 -0.03336767616 -0.05080766962 -0.002167683123 0 0 -0.0004186624035 -0.002167683123 -0.2710863586 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1223420321 0.04509081445 -0.0003618107034 0 0 -0.04509081445 0.05369655184 0.002654182139 0 0 --0.0003618107034 0.002654182139 -0.1281557335 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0158520067 -0.008052450315 -9.871393058e-05 0 0 --0.008052450315 0.006815635675 -0.0001530954648 0 0 --9.871393058e-05 -0.0001530954648 -0.007639003383 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.008461090017 -0.02766127556 4.24438342e-05 0 0 --0.02766127556 -0.0732726556 0.0001463143639 0 0 -4.24438342e-05 0.0001463143639 0.001251216565 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001693576404 0.004669793201 -1.185407835e-06 0 0 -0.004669793201 0.0151053263 -5.511609611e-05 0 0 --1.185407835e-06 -5.511609611e-05 8.46570397e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001323255038 0.0006603835183 1.190373785e-05 0 0 -0.0006603835183 0.001978725023 -2.166243397e-05 0 0 -1.190373785e-05 -2.166243397e-05 -0.0003342011969 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004155833324 -0.001855653431 -5.8561421e-06 0 0 --0.001855653431 -0.004326688854 3.201950303e-05 0 0 --5.8561421e-06 3.201950303e-05 0.000440993075 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001655265576 0.0006020855965 -1.052625409e-06 0 0 -0.0006020855965 0.002035729185 1.195383767e-05 0 0 --1.052625409e-06 1.195383767e-05 6.575733018e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.887363091e-05 0.0001411272446 1.798612722e-06 0 0 -0.0001411272446 0.0001506128936 -6.589812803e-06 0 0 -1.798612722e-06 -6.589812803e-06 -0.0001624961397 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.66960947e-07 -0.0002715199082 2.157084683e-08 0 0 --0.0002715199082 -0.0006445573779 -6.846039222e-06 0 0 -2.157084683e-08 -6.846039222e-06 9.515719461e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.386175001e-05 0.0001366038324 -1.328255651e-07 0 0 -0.0001366038324 0.000635888881 6.007255673e-06 0 0 --1.328255651e-07 6.007255673e-06 6.672099808e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.678046571e-06 8.087308046e-06 -4.27203171e-07 0 0 -8.087308046e-06 6.720620798e-05 3.340218118e-06 0 0 --4.27203171e-07 3.340218118e-06 4.083298061e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.485901765e-06 -3.234282836e-05 -5.105172703e-08 0 0 --3.234282836e-05 -7.47813522e-05 3.826177743e-07 0 0 --5.105172703e-08 3.826177743e-07 6.613816784e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02992308136 -0.0253776314 -2.977750721e-05 -0.09675216626 0.001450192241 --0.0253776314 0.1665248623 3.653448117e-05 0.02794857046 0.0002727820294 --2.977750721e-05 3.653448117e-05 -0.007260664985 6.035430303e-05 -0.01560217223 --0.09675216626 0.02794857046 6.035430303e-05 0.1895895091 -0.0004118140862 -0.001450192241 0.0002727820294 -0.01560217223 -0.0004118140862 0.08486883486 --0.1010669921 -0.08291780113 -0.0002359978094 0.05002580056 -0.001278396373 --0.08291780113 -0.09377998525 -8.385985641e-05 0.007405510946 0.0002263724914 --0.0002359978094 -8.385985641e-05 -0.01227486438 0.0001701212652 -0.04705169248 -0.05002580056 0.007405510946 0.0001701212652 -0.04721769286 0.001154249399 --0.001278396373 0.0002263724914 -0.04705169248 0.001154249399 -0.1803444887 -5.345193119e-06 -0.03398549409 -0.000118748957 -0.01847672455 -0.0004911924366 --0.03398549409 -0.01377824169 1.112094623e-05 0.03856721624 -0.0003506121421 --0.000118748957 1.112094623e-05 -0.005882290366 7.637927667e-05 -0.01417660908 --0.01847672455 0.03856721624 7.637927667e-05 0.04727421045 0.000282041672 --0.0004911924366 -0.0003506121421 -0.01417660908 0.000282041672 -0.0340336881 -0.001516133549 0.005129214377 2.885303787e-05 0.0005530044353 9.664597808e-05 -0.005129214377 -0.007758515554 9.892230601e-06 -0.01052428568 7.889217419e-05 -2.885303787e-05 9.892230601e-06 -0.0001997234585 -2.97207754e-05 0.0005365598885 -0.0005530044353 -0.01052428568 -2.97207754e-05 -0.006839549475 -9.326647068e-05 -9.664597808e-05 7.889217419e-05 0.0005365598885 -9.326647068e-05 0.002389929786 --0.001596610843 0.00250151458 -1.399902173e-06 0.003723111003 1.758611649e-05 -0.00250151458 -0.004464830033 -4.245695417e-07 -0.006186842933 4.680491291e-05 --1.399902173e-06 -4.245695417e-07 4.922272053e-05 2.457679384e-06 -6.268740315e-05 -0.003723111003 -0.006186842933 2.457679384e-06 -0.008785584161 3.004424149e-05 -1.758611649e-05 4.680491291e-05 -6.268740315e-05 3.004424149e-05 -0.0004931715668 -0.0002110264607 -0.0001161681297 4.035500636e-06 -0.0003253127042 -8.887586278e-07 --0.0001161681297 0.0005462134049 1.492587707e-06 0.0006055591337 -1.922974239e-05 -4.035500636e-06 1.492587707e-06 -8.124838218e-05 -2.420212935e-06 -9.826903339e-05 --0.0003253127042 0.0006055591337 -2.420212935e-06 0.0008374762654 -1.632997493e-05 --8.887586278e-07 -1.922974239e-05 -9.826903339e-05 -1.632997493e-05 0.0007236223569 -0.0004179606241 -1.14679552e-05 -1.33896966e-06 -0.0005698735098 -2.206467125e-05 --1.14679552e-05 5.515697678e-06 -1.321372808e-07 5.382478121e-06 5.534695559e-06 --1.33896966e-06 -1.321372808e-07 1.603791695e-05 8.911683337e-07 8.294415854e-05 --0.0005698735098 5.382478121e-06 8.911683337e-07 0.0007470313494 2.820491938e-05 --2.206467125e-05 5.534695559e-06 8.294415854e-05 2.820491938e-05 0.0003947666464 --0.0001567211887 -5.65228613e-05 -6.880877032e-07 0.0001151763305 -4.87463251e-06 --5.65228613e-05 -0.0001672452235 -2.037309725e-07 -7.696169966e-05 -4.102787817e-06 --6.880877032e-07 -2.037309725e-07 -3.003936184e-06 5.519295463e-07 -2.793448172e-05 -0.0001151763305 -7.696169966e-05 5.519295463e-07 -0.0001798203848 1.591129477e-06 --4.87463251e-06 -4.102787817e-06 -2.793448172e-05 1.591129477e-06 -0.0002278881025 --7.148488317e-05 9.969783878e-05 8.54024568e-07 0.0001327118389 1.048571745e-05 -9.969783878e-05 -8.644372148e-06 2.609555097e-07 -0.0001397199573 2.471465719e-06 -8.54024568e-07 2.609555097e-07 -5.14998423e-06 -5.426384288e-07 -1.846013547e-05 -0.0001327118389 -0.0001397199573 -5.426384288e-07 -0.0002411242531 -8.515146025e-06 -1.048571745e-05 2.471465719e-06 -1.846013547e-05 -8.515146025e-06 5.379736233e-07 -0.0001476753191 4.890467698e-05 1.056466242e-07 -0.0001590915045 6.820311703e-07 -4.890467698e-05 0.0001429862763 1.267062319e-07 3.59089313e-05 -1.812672843e-06 -1.056466242e-07 1.267062319e-07 4.182862556e-06 -1.093834586e-07 3.413965443e-05 --0.0001590915045 3.59089313e-05 -1.093834586e-07 0.000228539023 -1.521854631e-06 -6.820311703e-07 -1.812672843e-06 3.413965443e-05 -1.521854631e-06 0.0002761109905 -4.108220955e-05 -4.2114043e-05 -1.710331437e-07 -8.493366979e-05 -4.80442968e-06 --4.2114043e-05 5.773286777e-05 -4.558952761e-08 8.019520864e-05 -2.09010014e-07 --1.710331437e-07 -4.558952761e-08 -8.368152797e-07 1.177165912e-07 -1.643050532e-07 --8.493366979e-05 8.019520864e-05 1.177165912e-07 0.0001566254061 4.984522921e-06 --4.80442968e-06 -2.09010014e-07 -1.643050532e-07 4.984522921e-06 5.208961623e-05 --1.261500932e-05 1.840406539e-05 -2.907461829e-07 1.631202152e-05 -3.677726698e-06 -1.840406539e-05 -1.550581472e-05 8.47291871e-09 -4.502031751e-05 -1.007128006e-06 --2.907461829e-07 8.47291871e-09 -5.194097074e-07 2.706543545e-07 3.376697559e-07 -1.631202152e-05 -4.502031751e-05 2.706543545e-07 -4.666417226e-05 3.178192925e-06 --3.677726698e-06 -1.007128006e-06 3.376697559e-07 3.178192925e-06 3.09411288e-05 -3.257067452e-05 1.354251323e-05 9.32598619e-08 -3.935849238e-05 9.712176123e-07 -1.354251323e-05 5.484845243e-05 4.359769617e-08 1.48149338e-05 1.833884602e-09 -9.32598619e-08 4.359769617e-08 8.095190415e-07 -8.000719385e-08 7.338676265e-06 --3.935849238e-05 1.48149338e-05 -8.000719385e-08 6.249422758e-05 -8.117145704e-07 -9.712176123e-07 1.833884602e-09 7.338676265e-06 -8.117145704e-07 6.592672859e-05 --0.029339154 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03194044399 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01271441505 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001632033707 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002533395362 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001297141981 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.552351787e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.089764797e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.184656915e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.918479072e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.337372886e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.370832395e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.963539048e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004142313897 -0.0003260303819 -0.01126448559 0 0 --0.0003260303819 -0.01030383271 -0.0496385739 0 0 --0.01126448559 -0.0496385739 -0.01779042892 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002595965653 -0.01242044247 -0.007220040505 0 0 --0.01242044247 -0.04868504841 -0.007939964594 0 0 --0.007220040505 -0.007939964594 0.006575480929 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.325427025e-05 0.0005999373813 0.0006604546581 0 0 -0.0005999373813 -2.904001816e-05 -0.0009971315705 0 0 -0.0006604546581 -0.0009971315705 -0.002099936982 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.841371593e-06 0.0002352606464 0.0001481164439 0 0 -0.0002352606464 -0.003063225374 -0.002251455508 0 0 -0.0001481164439 -0.002251455508 -0.001608313799 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.684375593e-08 1.716835686e-06 1.2319389e-06 0 0 -1.716835686e-06 -8.842372898e-05 -0.0001038646678 0 0 -1.2319389e-06 -0.0001038646678 -8.466184862e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.936879687e-06 0.000177743887 8.223112411e-05 0 0 -0.000177743887 0.0005988925035 -1.547498642e-05 0 0 -8.223112411e-05 -1.547498642e-05 -0.0001349658656 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.900347723e-07 -1.222616075e-05 -6.229363572e-06 0 0 --1.222616075e-05 0.0003342278239 0.0001932209802 0 0 --6.229363572e-06 0.0001932209802 0.0001089682642 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.773810094e-08 -7.21001733e-07 -2.092851134e-06 0 0 --7.21001733e-07 -9.084823069e-06 -1.186360715e-05 0 0 --2.092851134e-06 -1.186360715e-05 -5.670644331e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.757913345e-07 -4.572071502e-06 -7.630848439e-06 0 0 --4.572071502e-06 -2.651064133e-05 -1.955440558e-05 0 0 --7.630848439e-06 -1.955440558e-05 2.615468172e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.64409134e-08 3.512679297e-06 9.24683282e-07 0 0 -3.512679297e-06 8.376229713e-05 2.774175646e-05 0 0 -9.24683282e-07 2.774175646e-05 8.877874295e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.178044352e-07 7.732143868e-06 3.173206256e-06 0 0 -7.732143868e-06 8.612687815e-05 2.77975276e-05 0 0 -3.173206256e-06 2.77975276e-05 8.406125358e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.856727568e-08 4.82690444e-06 1.324687811e-06 0 0 -4.82690444e-06 3.983650803e-05 8.448177282e-06 0 0 -1.324687811e-06 8.448177282e-06 1.64854539e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.345851465e-08 1.07597304e-06 -3.606049891e-07 0 0 -1.07597304e-06 1.205961113e-05 -5.224502661e-07 0 0 --3.606049891e-07 -5.224502661e-07 -1.171808402e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009107213062 0.0006428701442 -0.002176872224 -0.03067093496 -0.001536998853 -0.0006428701442 -3.744240554e-05 -7.110094268e-06 -0.004110643683 0.001225026204 --0.002176872224 -7.110094268e-06 0.000261005941 0.01077394068 -0.001992278511 --0.03067093496 -0.004110643683 0.01077394068 0.05758726364 0.03650259643 --0.001536998853 0.001225026204 -0.001992278511 0.03650259643 -0.02121169893 --0.01908414606 -0.002640906483 0.0077529798 0.02000493837 0.03249031506 --0.002640906483 -0.0001354649179 0.0001840128828 0.002119064983 0.004235183836 -0.0077529798 0.0001840128828 0.0002855980629 -0.005617788904 -0.0121909514 -0.02000493837 0.002119064983 -0.005617788904 -0.01913728303 -0.03332142485 -0.03249031506 0.004235183836 -0.0121909514 -0.03332142485 -0.05501804582 --0.0004264343859 -7.477113666e-05 0.0008678922671 0.00118934196 0.0007773399723 --7.477113666e-05 -2.97176221e-06 1.798012771e-05 0.0001184255771 9.314855831e-05 -0.0008678922671 1.798012771e-05 9.881369951e-06 -0.001227823231 -0.001010920252 -0.00118934196 0.0001184255771 -0.001227823231 -0.002516170892 -0.001784501922 -0.0007773399723 9.314855831e-05 -0.001010920252 -0.001784501922 -0.00123334944 --0.0009400920309 -0.0002172402949 -0.0006128426424 -5.237431381e-05 0.001497125979 --0.0002172402949 -1.184060255e-05 -2.139510893e-05 0.0001303943873 0.0003482072774 --0.0006128426424 -2.139510893e-05 -2.272366082e-05 0.0004124522945 0.0009830080202 --5.237431381e-05 0.0001303943873 0.0004124522945 0.0005264194197 9.174842753e-05 -0.001497125979 0.0003482072774 0.0009830080202 9.174842753e-05 -0.002384088549 -2.931342293e-05 -3.439705138e-05 -4.899446672e-05 -0.000125414278 -1.739631863e-05 --3.439705138e-05 -1.327930388e-06 -1.021100394e-06 5.357018733e-05 3.659158904e-05 --4.899446672e-05 -1.021100394e-06 -2.328585922e-07 7.825827609e-05 5.178256275e-05 --0.000125414278 5.357018733e-05 7.825827609e-05 0.0003264547477 0.0001107483513 --1.739631863e-05 3.659158904e-05 5.178256275e-05 0.0001107483513 4.045822513e-06 -0.0001962816614 1.900491643e-05 -0.0001080664627 -0.0002928862834 -0.0003289185752 -1.900491643e-05 8.440550694e-07 -2.582927536e-06 -2.166609931e-05 -2.815304923e-05 --0.0001080664627 -2.582927536e-06 -2.849267602e-06 0.0001083058932 0.0001518638832 --0.0002928862834 -2.166609931e-05 0.0001083058932 0.0003920713565 0.000465981641 --0.0003289185752 -2.815304923e-05 0.0001518638832 0.000465981641 0.0005374824497 -2.926780765e-05 8.000778547e-06 1.314030837e-05 -1.014013604e-05 -4.516276766e-05 -8.000778547e-06 3.653197176e-07 3.881214257e-07 -8.785131209e-06 -1.069467724e-05 -1.314030837e-05 3.881214257e-07 2.648282832e-07 -1.512783039e-05 -1.737267756e-05 --1.014013604e-05 -8.785131209e-06 -1.512783039e-05 -1.63343244e-05 2.109722726e-05 --4.516276766e-05 -1.069467724e-05 -1.737267756e-05 2.109722726e-05 6.819346869e-05 --1.387546014e-05 2.845270849e-06 1.055150884e-05 2.114960295e-05 2.069478661e-05 -2.845270849e-06 1.937242588e-07 4.089926399e-07 -8.562711944e-07 -5.071734957e-06 -1.055150884e-05 4.089926399e-07 4.924457379e-07 -4.5611997e-06 -1.84785091e-05 -2.114960295e-05 -8.562711944e-07 -4.5611997e-06 -1.664892653e-05 -3.525268268e-05 -2.069478661e-05 -5.071734957e-06 -1.84785091e-05 -3.525268268e-05 -2.998319873e-05 -9.517915751e-06 5.634530642e-07 -2.363722013e-06 -1.811448579e-05 -1.06375832e-05 -5.634530642e-07 9.952503383e-09 -2.90438126e-08 -1.340319682e-06 -3.525127838e-07 --2.363722013e-06 -2.90438126e-08 6.163159796e-08 5.768222289e-06 1.328287388e-06 --1.811448579e-05 -1.340319682e-06 5.768222289e-06 3.14075175e-05 2.341948994e-05 --1.06375832e-05 -3.525127838e-07 1.328287388e-06 2.341948994e-05 8.605137575e-06 -3.054658273e-05 4.052702199e-06 1.350268782e-06 -2.984338743e-05 -4.587074757e-05 -4.052702199e-06 1.702545423e-07 6.035609984e-08 -4.873087074e-06 -5.305424085e-06 -1.350268782e-06 6.035609984e-08 2.128321539e-08 -1.614572999e-06 -1.775359531e-06 --2.984338743e-05 -4.873087074e-06 -1.614572999e-06 2.688434715e-05 4.675533874e-05 --4.587074757e-05 -5.305424085e-06 -1.775359531e-06 4.675533874e-05 6.722507781e-05 -1.192910096e-05 2.306566732e-07 -3.586895454e-06 -1.647489467e-05 -1.686636981e-05 -2.306566732e-07 4.350390607e-09 -8.050051675e-08 -3.212128689e-07 -3.32630265e-07 --3.586895454e-06 -8.050051675e-08 -5.593945417e-08 4.682953709e-06 4.408996158e-06 --1.647489467e-05 -3.212128689e-07 4.682953709e-06 2.268830633e-05 2.313547053e-05 --1.686636981e-05 -3.32630265e-07 4.408996158e-06 2.313547053e-05 2.346026016e-05 -6.541843921e-06 4.803877823e-07 -1.224986147e-06 -9.168496057e-06 -8.712623678e-06 -4.803877823e-07 1.537575528e-08 -2.205223095e-08 -7.738672168e-07 -5.230754493e-07 --1.224986147e-06 -2.205223095e-08 -2.303955884e-09 2.060078821e-06 1.233218313e-06 --9.168496057e-06 -7.738672168e-07 2.060078821e-06 1.234128224e-05 1.280088668e-05 --8.712623678e-06 -5.230754493e-07 1.233218313e-06 1.280088668e-05 1.091916013e-05 -6.652360502e-06 5.522218479e-07 -7.64316952e-07 -9.075077769e-06 -8.930936127e-06 -5.522218479e-07 1.789001538e-08 -1.356151305e-08 -8.930677312e-07 -5.952037278e-07 --7.64316952e-07 -1.356151305e-08 -1.218571372e-09 1.29206332e-06 7.652396075e-07 --9.075077769e-06 -8.930677312e-07 1.29206332e-06 1.16815628e-05 1.291420655e-05 --8.930936127e-06 -5.952037278e-07 7.652396075e-07 1.291420655e-05 1.122560996e-05 --0.03012520863 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03276853498 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01269173634 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002142441306 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001930831899 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001352398315 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.245075241e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.454263771e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.043631594e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.87051646e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.171191299e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.098390683e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.601384624e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002534895001 -0.0002608633115 0.01126085507 0 0 --0.0002608633115 -0.006780244648 0.04884733448 0 0 -0.01126085507 0.04884733448 -0.01793322393 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001690645768 -0.01325247875 0.007608180121 0 0 --0.01325247875 -0.05439133592 0.01042063964 0 0 -0.007608180121 0.01042063964 0.005565746496 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.190208084e-05 0.0003639887851 -0.0005425462411 0 0 -0.0003639887851 8.131651843e-05 0.0004992911337 0 0 --0.0005425462411 0.0004992911337 -0.001634772957 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.505714661e-06 0.0003428534317 -0.0002125604416 0 0 -0.0003428534317 -0.003244844685 0.00255209986 0 0 --0.0002125604416 0.00255209986 -0.001904475366 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.223496031e-07 3.141325335e-07 5.302289186e-06 0 0 -3.141325335e-07 -4.884928655e-06 5.224878589e-05 0 0 -5.302289186e-06 5.224878589e-05 -3.247933155e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.965045239e-06 0.0001912479199 -8.885095341e-05 0 0 -0.0001912479199 0.0006653173284 1.639108245e-06 0 0 --8.885095341e-05 1.639108245e-06 -0.0001401161972 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.723952649e-07 -1.699644137e-05 8.275853164e-06 0 0 --1.699644137e-05 0.0002723354416 -0.0001683858399 0 0 -8.275853164e-06 -0.0001683858399 9.850001888e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.006986895e-07 -3.845230846e-06 4.49362918e-06 0 0 --3.845230846e-06 -2.678637733e-05 1.661429178e-05 0 0 -4.49362918e-06 1.661429178e-05 -3.492793216e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.345895953e-07 -2.213114597e-06 6.034721137e-06 0 0 --2.213114597e-06 -1.40413941e-05 1.748175368e-05 0 0 -6.034721137e-06 1.748175368e-05 4.816364978e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.340282351e-08 3.202999031e-06 -9.790536582e-07 0 0 -3.202999031e-06 9.59066151e-05 -3.503041759e-05 0 0 --9.790536582e-07 -3.503041759e-05 1.251564538e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.627805332e-08 8.504870309e-06 -3.388075755e-06 0 0 -8.504870309e-06 7.674408394e-05 -2.207239333e-05 0 0 --3.388075755e-06 -2.207239333e-05 5.477281763e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.086027243e-08 4.098039054e-06 -9.276609769e-07 0 0 -4.098039054e-06 3.44285827e-05 -6.766546439e-06 0 0 --9.276609769e-07 -6.766546439e-06 1.300511733e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.570101215e-09 9.883318328e-07 3.770027616e-07 0 0 -9.883318328e-07 1.14729019e-05 6.949989621e-07 0 0 -3.770027616e-07 6.949989621e-07 -1.271380351e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01050444454 0.0007905272686 0.002288800574 -0.03183751998 0.003343242812 -0.0007905272686 -1.999877484e-05 5.904822267e-06 -0.004145433618 -0.001000358507 -0.002288800574 5.904822267e-06 0.0001506179185 -0.0105979299 -0.001891382185 --0.03183751998 -0.004145433618 -0.0105979299 0.05799278289 -0.03768626803 -0.003343242812 -0.001000358507 -0.001891382185 -0.03768626803 -0.01865391037 --0.02024816824 -0.002648417617 -0.00777340811 0.02057928763 -0.03414822376 --0.002648417617 -8.708283032e-05 -0.0001116753708 0.002059013684 -0.004222846184 --0.00777340811 -0.0001116753708 0.0001745252486 0.005692290223 -0.01225930158 -0.02057928763 0.002059013684 0.005692290223 -0.01937209414 0.03411213442 --0.03414822376 -0.004222846184 -0.01225930158 0.03411213442 -0.05736149408 --0.0007214786397 -0.0001261477361 -0.001155992071 0.001659651079 -0.001265211624 --0.0001261477361 -3.325247401e-06 -1.52979671e-05 0.000173922387 -0.0001603021533 --0.001155992071 -1.52979671e-05 1.115547669e-05 0.00149960741 -0.001419629495 -0.001659651079 0.000173922387 0.00149960741 -0.003096160963 0.002532335925 --0.001265211624 -0.0001603021533 -0.001419629495 0.002532335925 -0.002020621367 --0.0008834063665 -0.000195181731 0.0006740964053 -0.0001338836483 -0.001384113971 --0.000195181731 -6.722305768e-06 1.417639614e-05 0.0001220886589 -0.0003133682555 -0.0006740964053 1.417639614e-05 -1.549316626e-05 -0.0004593229622 0.001084152849 --0.0001338836483 0.0001220886589 -0.0004593229622 0.0006116477179 -0.0002412632099 --0.001384113971 -0.0003133682555 0.001084152849 -0.0002412632099 -0.002167048897 -2.570892488e-05 -5.184611863e-05 8.836257081e-05 -0.0001762128535 7.252559003e-06 --5.184611863e-05 -1.33190335e-06 1.306575081e-06 7.241447597e-05 -5.978926398e-05 -8.836257081e-05 1.306575081e-06 -5.936140071e-07 -0.0001259920984 0.0001014893438 --0.0001762128535 7.241447597e-05 -0.0001259920984 0.0004517175385 -0.0001703927011 -7.252559003e-06 -5.978926398e-05 0.0001014893438 -0.0001703927011 -1.721712229e-05 -0.0002044764161 2.864299193e-05 8.891786479e-05 -0.0002725565901 0.0003464480642 -2.864299193e-05 8.499507509e-07 1.193882015e-06 -3.006185668e-05 4.127453313e-05 -8.891786479e-05 1.193882015e-06 -1.438477736e-06 -8.96140548e-05 0.000124815905 --0.0002725565901 -3.006185668e-05 -8.96140548e-05 0.0003424655432 -0.00044317181 -0.0003464480642 4.127453313e-05 0.000124815905 -0.00044317181 0.000570345222 -1.316539636e-05 3.572896979e-06 -6.963093113e-06 -5.090672586e-06 1.896209369e-05 -3.572896979e-06 8.967122497e-08 -1.01192004e-07 -4.912697266e-06 4.16512868e-06 --6.963093113e-06 -1.01192004e-07 4.769105162e-08 9.86938932e-06 -8.035268359e-06 --5.090672586e-06 -4.912697266e-06 9.86938932e-06 -1.220165799e-05 -1.126833298e-05 -1.896209369e-05 4.16512868e-06 -8.035268359e-06 -1.126833298e-05 2.621763064e-05 --1.596345418e-05 4.230070489e-06 -1.490316752e-05 2.77775252e-05 -2.304408458e-05 -4.230070489e-06 1.677591136e-07 -3.463542161e-07 -1.845130337e-06 7.339651662e-06 --1.490316752e-05 -3.463542161e-07 4.046519208e-07 7.547927105e-06 -2.56245062e-05 -2.77775252e-05 -1.845130337e-06 7.547927105e-06 -2.472850132e-05 4.537694796e-05 --2.304408458e-05 7.339651662e-06 -2.56245062e-05 4.537694796e-05 -3.208498738e-05 -1.649051972e-05 1.37371646e-06 2.772886927e-06 -2.476958068e-05 2.153130321e-05 -1.37371646e-06 2.564674646e-08 2.902632074e-08 -2.476324955e-06 1.29033913e-06 -2.772886927e-06 2.902632074e-08 6.859040711e-09 -5.104303987e-06 2.475673631e-06 --2.476958068e-05 -2.476324955e-06 -5.104303987e-06 3.528468054e-05 -3.468177991e-05 -2.153130321e-05 1.29033913e-06 2.475673631e-06 -3.468177991e-05 2.526006582e-05 -3.055186415e-05 3.749609177e-06 -1.403603141e-06 -2.973591826e-05 4.59706048e-05 -3.749609177e-06 1.010017108e-07 -3.912203375e-08 -4.455782049e-06 4.904080937e-06 --1.403603141e-06 -3.912203375e-08 1.51316475e-08 1.66499794e-06 -1.838458997e-06 --2.973591826e-05 -4.455782049e-06 1.66499794e-06 2.713171938e-05 -4.639924873e-05 -4.59706048e-05 4.904080937e-06 -1.838458997e-06 -4.639924873e-05 6.765503255e-05 -9.410364389e-06 -2.704219183e-09 3.303246585e-06 -1.384663003e-05 1.289595954e-05 --2.704219183e-09 -1.683700951e-09 4.372606097e-08 -6.278644397e-09 2.108471256e-08 -3.303246585e-06 4.372606097e-08 -2.535427968e-08 -4.588422188e-06 3.869278445e-06 --1.384663003e-05 -6.278644397e-09 -4.588422188e-06 2.031179031e-05 -1.8824453e-05 -1.289595954e-05 2.108471256e-08 3.869278445e-06 -1.8824453e-05 1.730777323e-05 -4.358538967e-06 3.317927482e-07 6.859849764e-07 -6.78449956e-06 5.222493552e-06 -3.317927482e-07 5.233326944e-09 6.837435147e-09 -6.68124067e-07 2.645229705e-07 -6.859849764e-07 6.837435147e-09 5.110499211e-09 -1.411515426e-06 5.204448107e-07 --6.78449956e-06 -6.68124067e-07 -1.411515426e-06 9.412173433e-06 -9.136904795e-06 -5.222493552e-06 2.645229705e-07 5.204448107e-07 -9.136904795e-06 5.37381988e-06 -7.260421256e-06 5.304343921e-07 8.78524606e-07 -9.647436547e-06 9.87266666e-06 -5.304343921e-07 1.144158765e-08 9.573737724e-09 -8.191601381e-07 5.838143043e-07 -8.78524606e-07 9.573737724e-09 -2.891863946e-09 -1.395975031e-06 9.197404021e-07 --9.647436547e-06 -8.191601381e-07 -1.395975031e-06 1.234058675e-05 -1.369399802e-05 -9.87266666e-06 5.838143043e-07 9.197404021e-07 -1.369399802e-05 1.273286067e-05 -0.02368413948 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03428144091 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008121632139 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001863357907 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.994039579e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002348813993 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.974034653e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.160157644e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.005088591e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.104615183e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.819015789e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.903268458e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.209620183e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007930717391 0.04613093963 -0.01848138333 0 0 -0.04613093963 -0.1275725581 -0.1026777413 0 0 --0.01848138333 -0.1026777413 0.04300940362 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01634508434 0.008482601392 -0.03744276531 0 0 -0.008482601392 -0.04326203022 -0.01592385744 0 0 --0.03744276531 -0.01592385744 0.08551446528 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01013385285 -0.00565480977 -0.02282937728 0 0 --0.00565480977 -0.000214267822 0.01369541265 0 0 --0.02282937728 0.01369541265 0.05115822728 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002237124155 -0.003414144858 -0.004973041896 0 0 --0.003414144858 0.004802806157 0.007404754219 0 0 --0.004973041896 0.007404754219 0.0109711391 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.826339849e-05 -0.0004825299999 -0.0001095211159 0 0 --0.0004825299999 0.001067555272 0.001032295443 0 0 --0.0001095211159 0.001032295443 0.0002474836311 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003285459238 0.0002156038202 0.0007674429406 0 0 -0.0002156038202 -1.603329236e-05 -0.0005199799291 0 0 -0.0007674429406 -0.0005199799291 -0.00179052011 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002462775427 0.0003986556363 0.0005840864135 0 0 -0.0003986556363 -0.0006224863104 -0.0009421177019 0 0 -0.0005840864135 -0.0009421177019 -0.001384760087 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.011031208e-05 1.11615415e-05 2.376152241e-05 0 0 -1.11615415e-05 -1.204825468e-05 -2.634231882e-05 0 0 -2.376152241e-05 -2.634231882e-05 -5.580063147e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.930292673e-05 -1.50813427e-05 -0.0001142890534 0 0 --1.50813427e-05 -3.666736253e-05 3.939658436e-05 0 0 --0.0001142890534 3.939658436e-05 0.0002644565057 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.584844025e-05 -3.191162067e-05 -3.559858542e-05 0 0 --3.191162067e-05 5.18182236e-05 6.928923822e-05 0 0 --3.559858542e-05 6.928923822e-05 7.950176069e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.99750593e-06 -8.989396897e-08 -1.363258924e-05 0 0 --8.989396897e-08 -8.12421337e-06 1.205373203e-06 0 0 --1.363258924e-05 1.205373203e-06 3.086413775e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.453106373e-06 -1.218880196e-06 3.295573244e-06 0 0 --1.218880196e-06 4.954960478e-06 2.326737671e-06 0 0 -3.295573244e-06 2.326737671e-06 -7.442157088e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.679460987e-06 1.097162861e-05 1.101112915e-05 0 0 -1.097162861e-05 -2.056828334e-05 -2.550583598e-05 0 0 -1.101112915e-05 -2.550583598e-05 -2.589124026e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004965194229 -0.005577891488 -0.003030742607 0.002661751951 0.01338936973 --0.005577891488 -0.005938700619 -0.004578272802 0.0006737530324 0.01422730104 --0.003030742607 -0.004578272802 0.002355306913 0.009925506105 0.01109078582 -0.002661751951 0.0006737530324 0.009925506105 0.0149580035 -0.00141806221 -0.01338936973 0.01422730104 0.01109078582 -0.00141806221 -0.03408168328 --0.002563069494 -0.003327668698 0.000362051909 0.005109118462 0.008057328124 --0.003327668698 -0.003644393369 -0.001585273837 0.002488820189 0.008835840008 -0.000362051909 -0.001585273837 0.006198270443 0.01187976885 0.003803105959 -0.005109118462 0.002488820189 0.01187976885 0.01522559906 -0.006097470569 -0.008057328124 0.008835840008 0.003803105959 -0.006097470569 -0.02142227729 -0.0002158006437 -0.0002537788247 0.001634897261 0.002920771522 0.0006053064838 --0.0002537788247 -0.0004364120366 0.0005930701748 0.001565335288 0.001078536976 -0.001634897261 0.0005930701748 0.003773730419 0.005010262974 -0.001543358451 -0.002920771522 0.001565335288 0.005010262974 0.005509289992 -0.003989562717 -0.0006053064838 0.001078536976 -0.001543358451 -0.003989562717 -0.002664150345 -0.0003540245513 0.0001777968714 0.0004633547874 0.0004377598958 -0.0004714458142 -0.0001777968714 7.563162587e-05 0.0001923271072 0.0001631581146 -0.000211970199 -0.0004633547874 0.0001923271072 0.0004871062042 0.0004053855665 -0.000543744465 -0.0004377598958 0.0001631581146 0.0004053855665 0.0003060309576 -0.0004800452713 --0.0004714458142 -0.000211970199 -0.000543744465 -0.0004800452713 0.00058279968 -3.041558165e-05 7.056167823e-07 2.516077395e-06 -8.337511955e-06 -1.015283753e-05 -7.056167823e-07 -2.29742787e-05 -3.116680066e-05 -2.855272067e-05 4.797536882e-05 -2.516077395e-06 -3.116680066e-05 -4.220090234e-05 -3.920640707e-05 6.463865212e-05 --8.337511955e-06 -2.855272067e-05 -3.920640707e-05 -3.26961262e-05 6.225194332e-05 --1.015283753e-05 4.797536882e-05 6.463865212e-05 6.225194332e-05 -9.770820111e-05 --1.086557447e-05 -1.655799291e-05 5.184191653e-06 3.10675865e-05 4.038853376e-05 --1.655799291e-05 -2.143419512e-05 -6.261028352e-06 2.008768071e-05 5.259215079e-05 -5.184191653e-06 -6.261028352e-06 5.032163008e-05 8.679180209e-05 1.411813045e-05 -3.10675865e-05 2.008768071e-05 8.679180209e-05 0.0001067475131 -5.121907099e-05 -4.038853376e-05 5.259215079e-05 1.411813045e-05 -5.121907099e-05 -0.0001290133814 -9.938723284e-06 4.89775008e-06 1.22272598e-05 9.790426757e-06 -1.418479985e-05 -4.89775008e-06 1.713345525e-06 4.793768538e-06 3.02640694e-06 -5.921794336e-06 -1.22272598e-05 4.793768538e-06 1.287603141e-05 8.881571569e-06 -1.557168373e-05 -9.790426757e-06 3.02640694e-06 8.881571569e-06 5.026279803e-06 -1.122942379e-05 --1.418479985e-05 -5.921794336e-06 -1.557168373e-05 -1.122942379e-05 1.861478422e-05 -6.268628556e-06 2.617834357e-06 5.761406821e-06 4.39907115e-06 -7.198490822e-06 -2.617834357e-06 1.773152876e-07 8.634222935e-07 1.693812518e-07 -1.126464974e-06 -5.761406821e-06 8.634222935e-07 2.697181331e-06 1.234353898e-06 -3.450244566e-06 -4.39907115e-06 1.693812518e-07 1.234353898e-06 5.050578443e-08 -1.629052793e-06 --7.198490822e-06 -1.126464974e-06 -3.450244566e-06 -1.629052793e-06 4.408693613e-06 --1.809181005e-06 -2.354181791e-06 -2.348899328e-06 -5.881711278e-07 5.658327467e-06 --2.354181791e-06 -3.055012521e-06 -2.91710893e-06 -5.529480916e-07 7.344747308e-06 --2.348899328e-06 -2.91710893e-06 -7.22343061e-07 2.783052171e-06 7.044026763e-06 --5.881711278e-07 -5.529480916e-07 2.783052171e-06 5.213792524e-06 1.378843518e-06 -5.658327467e-06 7.344747308e-06 7.044026763e-06 1.378843518e-06 -1.765750742e-05 --1.876409924e-07 -5.502854757e-07 -6.338860292e-07 -7.9318604e-07 8.884420464e-07 --5.502854757e-07 -8.219197822e-07 -1.061576292e-06 -1.039961464e-06 1.598514021e-06 --6.338860292e-07 -1.061576292e-06 -1.338441336e-06 -1.384396213e-06 1.987332996e-06 --7.9318604e-07 -1.039961464e-06 -1.384396213e-06 -1.263886793e-06 2.120028842e-06 -8.884420464e-07 1.598514021e-06 1.987332996e-06 2.120028842e-06 -2.926087099e-06 -7.204502439e-07 3.708311611e-07 1.363023673e-06 1.578423863e-06 -9.557118242e-07 -3.708311611e-07 1.890749026e-07 7.28668405e-07 8.618689149e-07 -4.84596182e-07 -1.363023673e-06 7.28668405e-07 2.170941024e-06 2.242357132e-06 -1.918434093e-06 -1.578423863e-06 8.618689149e-07 2.242357132e-06 2.101146221e-06 -2.295101026e-06 --9.557118242e-07 -4.84596182e-07 -1.918434093e-06 -2.295101026e-06 1.237952371e-06 --3.070876401e-07 -4.187011929e-07 -1.310214566e-07 3.693459381e-07 1.021324187e-06 --4.187011929e-07 -5.475099791e-07 -3.118765573e-07 2.643149829e-07 1.33869358e-06 --1.310214566e-07 -3.118765573e-07 7.036246894e-07 1.521602444e-06 7.426773778e-07 -3.693459381e-07 2.643149829e-07 1.521602444e-06 2.005386789e-06 -6.771917952e-07 -1.021324187e-06 1.33869358e-06 7.426773778e-07 -6.771917952e-07 -3.272734861e-06 --2.25546188e-07 -2.215788744e-07 -1.576194473e-07 3.808476883e-08 5.235673665e-07 --2.215788744e-07 -2.033938217e-07 -1.853429472e-07 -3.294962756e-08 4.768467953e-07 --1.576194473e-07 -1.853429472e-07 -4.505774167e-08 1.768043973e-07 4.459525088e-07 -3.808476883e-08 -3.294962756e-08 1.768043973e-07 3.401066144e-07 9.633083066e-08 -5.235673665e-07 4.768467953e-07 4.459525088e-07 9.633083066e-08 -1.116889744e-06 -0.01061100472 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01148087107 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002653836334 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002027081997 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.33317158e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.706867628e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.187888728e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.101693102e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.479445308e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.391307772e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.993720289e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.206717864e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.912840721e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02740047709 0.03767462007 -0.02867852567 0 0 -0.03767462007 -0.0748361294 -0.06065350087 0 0 --0.02867852567 -0.06065350087 0.02645991372 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009886450889 -0.006453536373 -0.01557354515 0 0 --0.006453536373 -0.0005203458494 0.004085625826 0 0 --0.01557354515 0.004085625826 0.01672108221 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006708756523 0.0005617792185 -0.0002189723592 0 0 -0.0005617792185 0.001247837539 0.00127074107 0 0 --0.0002189723592 0.00127074107 0.0006166594936 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002197112156 0.0002671372193 -0.0008465029974 0 0 -0.0002671372193 -1.207344855e-05 -8.716309865e-06 0 0 --0.0008465029974 -8.716309865e-06 0.0001269457701 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001273963404 -9.442975247e-05 8.049256461e-06 0 0 --9.442975247e-05 -0.0001257879323 -0.0001243450255 0 0 -8.049256461e-06 -0.0001243450255 -7.106858705e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.682670563e-05 6.886033041e-05 0.0001075733128 0 0 -6.886033041e-05 -6.368181045e-05 -8.991908024e-05 0 0 -0.0001075733128 -8.991908024e-05 -0.0001209004601 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.661249685e-05 7.659569855e-06 -2.039368567e-05 0 0 -7.659569855e-06 -1.641948498e-06 -4.57432341e-07 0 0 --2.039368567e-05 -4.57432341e-07 6.035643138e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.884238357e-06 -1.256593038e-05 -1.450399196e-05 0 0 --1.256593038e-05 -1.722542288e-05 -8.95962078e-06 0 0 --1.450399196e-05 -8.95962078e-06 2.315383429e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.023072501e-05 2.828563751e-05 1.773186645e-05 0 0 -2.828563751e-05 -2.651063503e-05 -2.78791486e-05 0 0 -1.773186645e-05 -2.78791486e-05 -1.481055813e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.37361739e-05 1.475943321e-05 1.117760943e-05 0 0 -1.475943321e-05 -1.17936937e-05 -1.296194481e-05 0 0 -1.117760943e-05 -1.296194481e-05 -8.872827613e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.121370308e-06 1.720391361e-06 -1.884745136e-06 0 0 -1.720391361e-06 -7.655719736e-06 -6.27016415e-06 0 0 --1.884745136e-06 -6.27016415e-06 2.059008399e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.579544539e-06 6.131955282e-06 -1.396884937e-06 0 0 -6.131955282e-06 -7.851780244e-06 -6.82281156e-06 0 0 --1.396884937e-06 -6.82281156e-06 1.173437483e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.153641643e-06 6.473108306e-06 3.274356537e-06 0 0 -6.473108306e-06 -8.167094376e-06 -8.134837761e-06 0 0 -3.274356537e-06 -8.134837761e-06 -3.009172732e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02370141309 0.01823486045 -0.03152997181 -0.01789121819 -0.01742771282 -0.01823486045 -0.07000042365 -0.05604285675 0.008591311273 0.03501999498 --0.03152997181 -0.05604285675 0.02992128313 0.03225707992 0.04150251051 --0.01789121819 0.008591311273 0.03225707992 0.007557515592 0.000271159304 --0.01742771282 0.03501999498 0.04150251051 0.000271159304 -0.01509559016 -0.01056638191 -0.003597108973 -0.01904977521 -0.00494702973 -0.001026039565 --0.003597108973 -0.007898473944 0.001033409486 0.00465455142 0.003363615478 --0.01904977521 0.001033409486 0.03108640255 0.01069389192 0.003651095024 --0.00494702973 0.00465455142 0.01069389192 0.001348962904 -0.0005010777944 --0.001026039565 0.003363615478 0.003651095024 -0.0005010777944 -0.0008963221966 -0.0002268040272 -0.0008238823841 -0.001368901869 -1.23335069e-05 7.628278028e-05 --0.0008238823841 0.002136001633 0.003168273489 0.0001245573418 -0.0006398637254 --0.001368901869 0.003168273489 0.00446234871 0.0002423965957 -0.001224353078 --1.23335069e-05 0.0001245573418 0.0002423965957 -6.753171982e-06 2.961878901e-05 -7.628278028e-05 -0.0006398637254 -0.001224353078 2.961878901e-05 -0.0001279305402 -0.0009359992208 0.0006129720816 -0.000300110463 -0.000462487064 -0.0002091876797 -0.0006129720816 0.0002971502234 5.494637486e-05 -0.0001870878947 5.187817697e-06 --0.000300110463 5.494637486e-05 -0.0005102835268 -0.0001309599925 -0.0002758296768 --0.000462487064 -0.0001870878947 -0.0001309599925 9.994885793e-05 -5.451653351e-05 --0.0002091876797 5.187817697e-06 -0.0002758296768 -5.451653351e-05 -0.0001471148343 -0.0001952053218 -0.0002192559384 -0.0001428939353 9.894463148e-06 0.0001745511801 --0.0002192559384 -0.0002706566641 -0.0003268935285 -2.268795205e-05 0.0001196018672 --0.0001428939353 -0.0003268935285 -0.0003549458134 -1.815607633e-05 0.0001698497363 -9.894463148e-06 -2.268795205e-05 -1.815607633e-05 2.423640231e-07 1.591543022e-05 -0.0001745511801 0.0001196018672 0.0001698497363 1.591543022e-05 -3.667339814e-05 --8.055672043e-05 3.753217319e-05 8.481780141e-05 1.903215392e-05 -1.747788058e-05 -3.753217319e-05 -1.388661078e-05 -2.962396617e-05 -4.833841088e-06 3.921031476e-06 -8.481780141e-05 -2.962396617e-05 -6.211508559e-05 -8.954238915e-06 6.799282708e-06 -1.903215392e-05 -4.833841088e-06 -8.954238915e-06 2.25436998e-08 -6.011249988e-07 --1.747788058e-05 3.921031476e-06 6.799282708e-06 -6.011249988e-07 1.159604569e-06 -1.946050158e-05 2.24389956e-06 -1.31871737e-05 -8.242319312e-06 2.534834988e-06 -2.24389956e-06 2.572526732e-07 -1.399723728e-06 -9.099901071e-07 3.28844437e-07 --1.31871737e-05 -1.399723728e-06 -9.222464339e-07 2.289608668e-06 -4.701007284e-06 --8.242319312e-06 -9.099901071e-07 2.289608668e-06 2.389192549e-06 -2.070939419e-06 -2.534834988e-06 3.28844437e-07 -4.701007284e-06 -2.070939419e-06 -5.72622017e-07 --8.768237124e-06 -1.796728308e-05 -1.535390476e-05 2.063762307e-06 8.175485363e-06 --1.796728308e-05 -3.511950131e-05 -2.109314779e-05 7.219999212e-06 1.741650098e-05 --1.535390476e-05 -2.109314779e-05 3.643949032e-05 2.1880807e-05 1.837015763e-05 -2.063762307e-06 7.219999212e-06 2.1880807e-05 4.783590441e-06 -7.547616157e-07 -8.175485363e-06 1.741650098e-05 1.837015763e-05 -7.547616157e-07 -7.363247e-06 --8.6917645e-06 2.561039467e-05 1.661386028e-05 -2.336710743e-06 -1.712720412e-05 -2.561039467e-05 -1.870391699e-05 -2.242659341e-05 -1.825783334e-06 1.035505718e-05 -1.661386028e-05 -2.242659341e-05 -1.935908587e-05 3.953304788e-07 1.399159809e-05 --2.336710743e-06 -1.825783334e-06 3.953304788e-07 7.087171907e-07 1.551502538e-06 --1.712720412e-05 1.035505718e-05 1.399159809e-05 1.551502538e-06 -5.403259254e-06 --2.488437821e-07 1.480258157e-06 1.358177398e-06 1.690573015e-09 -8.591106383e-07 -1.480258157e-06 -8.009104961e-06 -8.822652617e-06 -5.412536124e-07 4.283222296e-06 -1.358177398e-06 -8.822652617e-06 -6.718691837e-06 4.867465203e-07 5.461365803e-06 -1.690573015e-09 -5.412536124e-07 4.867465203e-07 3.543512658e-07 5.576867904e-07 --8.591106383e-07 4.283222296e-06 5.461365803e-06 5.576867904e-07 -2.106603597e-06 -2.759066557e-06 7.179468892e-08 -5.396440589e-06 -1.948791053e-06 -8.553803701e-07 -7.179468892e-08 -7.632053746e-06 -4.932086496e-06 1.432303239e-06 3.876665247e-06 --5.396440589e-06 -4.932086496e-06 7.547229803e-06 4.742486507e-06 4.120311069e-06 --1.948791053e-06 1.432303239e-06 4.742486507e-06 1.088375681e-06 -1.53254779e-07 --8.553803701e-07 3.876665247e-06 4.120311069e-06 -1.53254779e-07 -1.726133393e-06 -3.726063482e-06 3.103232926e-06 -3.937356963e-06 -2.667982199e-06 -2.492491547e-06 -3.103232926e-06 -6.930841197e-06 -5.488868834e-06 6.8213606e-07 3.876027208e-06 --3.937356963e-06 -5.488868834e-06 3.647503329e-06 3.493679038e-06 4.015983709e-06 --2.667982199e-06 6.8213606e-07 3.493679038e-06 1.023994654e-06 -3.185200002e-08 --2.492491547e-06 3.876027208e-06 4.015983709e-06 -3.185200002e-08 -2.055612253e-06 -1.584996659e-07 1.930991675e-06 2.804205995e-07 -5.712313099e-07 -1.367736048e-06 -1.930991675e-06 -6.928274367e-06 -7.017559529e-06 -3.719497374e-08 3.652737386e-06 -2.804205995e-07 -7.017559529e-06 -3.078723587e-06 1.360999525e-06 4.540737436e-06 --5.712313099e-07 -3.719497374e-08 1.360999525e-06 4.853194425e-07 3.115194632e-07 --1.367736048e-06 3.652737386e-06 4.540737436e-06 3.115194632e-07 -1.750297629e-06 -0.02743123901 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03168066388 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01216632568 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001381393209 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003204925236 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001567980395 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.540789475e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.29296079e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.422186622e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.602862585e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.35139174e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.436588731e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.301602532e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004621132313 -0.001902400881 -0.01339955576 0 0 --0.001902400881 0.006465378403 0.03436804127 0 0 --0.01339955576 0.03436804127 0.07205798937 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002546063734 -0.01247747262 -0.007239663068 0 0 --0.01247747262 0.009995278402 0.02399291892 0 0 --0.007239663068 0.02399291892 0.02392702628 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.951363692e-05 0.0004851260221 0.0005441616175 0 0 -0.0004851260221 0.001863922928 0.0006916772522 0 0 -0.0005441616175 0.0006916772522 -0.0006529038021 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.381477896e-07 -2.536346621e-05 -1.300160861e-05 0 0 --2.536346621e-05 0.003450837284 0.001884367871 0 0 --1.300160861e-05 0.001884367871 0.001014069298 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.96368619e-07 2.43161292e-06 7.295746237e-06 0 0 -2.43161292e-06 0.0001239115258 0.0001396133757 0 0 -7.295746237e-06 0.0001396133757 9.697942121e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.912908057e-06 0.0001785101751 8.272300326e-05 0 0 -0.0001785101751 4.991170687e-05 -0.0002803704418 0 0 -8.272300326e-05 -0.0002803704418 -0.0002621881918 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.123803256e-07 1.334933153e-05 6.742670763e-06 0 0 -1.334933153e-05 -0.0003023808684 -0.0001737983251 0 0 -6.742670763e-06 -0.0001737983251 -9.759862703e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.965893163e-08 -7.817277912e-07 -1.50766828e-06 0 0 --7.817277912e-07 9.302756395e-06 1.415429594e-05 0 0 --1.50766828e-06 1.415429594e-05 1.521781611e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.930211648e-07 -5.387692683e-06 -8.389102062e-06 0 0 --5.387692683e-06 9.820570776e-06 1.85503395e-05 0 0 --8.389102062e-06 1.85503395e-05 3.383980504e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.96755565e-08 7.260840081e-06 2.061285077e-06 0 0 -7.260840081e-06 -6.207708452e-05 -3.684164525e-05 0 0 -2.061285077e-06 -3.684164525e-05 -1.538319421e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.175774537e-07 8.280175906e-06 3.473205467e-06 0 0 -8.280175906e-06 -6.785644885e-05 -4.513242767e-05 0 0 -3.473205467e-06 -4.513242767e-05 -2.538411485e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.465766485e-08 5.600348259e-06 1.582002365e-06 0 0 -5.600348259e-06 -2.337287947e-05 -1.826454801e-05 0 0 -1.582002365e-06 -1.826454801e-05 -8.20668922e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.735341439e-08 1.309875211e-06 -5.067953318e-07 0 0 -1.309875211e-06 -8.327947529e-06 -2.844426043e-06 0 0 --5.067953318e-07 -2.844426043e-06 3.104373955e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.009017346414 -0.00165256425 0.001642111447 0.02937293596 0.002096017917 --0.00165256425 8.741547337e-05 9.116563537e-05 0.009792658475 -0.002615759387 -0.001642111447 9.116563537e-05 -0.0001862811461 -0.007719206998 0.001230775423 -0.02937293596 0.009792658475 -0.007719206998 -0.04585521571 -0.04072274534 -0.002096017917 -0.002615759387 0.001230775423 -0.04072274534 0.02257184338 -0.017762981 0.007072443219 -0.004814562084 -0.01407688443 -0.0330307736 -0.007072443219 0.0003900617667 -1.943076265e-05 -0.005249397476 -0.01130299444 --0.004814562084 -1.943076265e-05 -0.0001792744574 0.003537469218 0.007506986941 --0.01407688443 -0.005249397476 0.003537469218 0.01110364225 0.02590556872 --0.0330307736 -0.01130299444 0.007506986941 0.02590556872 0.06001325571 -0.0002050235559 0.0007202256948 -0.0003836228061 -1.828619418e-06 -0.0009793031978 -0.0007202256948 3.037053438e-05 -4.043046522e-06 -0.001015561837 -0.0008558902911 --0.0003836228061 -4.043046522e-06 -4.368264022e-06 0.0005458297493 0.0004433393351 --1.828619418e-06 -0.001015561837 0.0005458297493 -0.0004073756643 0.001052022457 --0.0009793031978 -0.0008558902911 0.0004433393351 0.001052022457 0.002005930049 -0.001114257166 -0.0004435318332 5.095656443e-05 -0.001279986972 -0.001160939268 --0.0004435318332 -2.674031563e-05 -7.47089522e-06 0.0002933931007 0.0007298091065 -5.095656443e-05 -7.47089522e-06 1.522801302e-06 -4.491525769e-05 -6.996312291e-05 --0.001279986972 0.0002933931007 -4.491525769e-05 0.001240631765 0.001618187948 --0.001160939268 0.0007298091065 -6.996312291e-05 0.001618187948 0.0008570697697 --4.039546095e-05 -3.033091277e-05 -1.392445382e-05 1.163459483e-05 8.69476118e-05 --3.033091277e-05 -1.146668468e-06 -3.367979817e-07 4.754699143e-05 3.288480855e-05 --1.392445382e-05 -3.367979817e-07 -6.590471193e-08 2.21683713e-05 1.481283911e-05 -1.163459483e-05 4.754699143e-05 2.21683713e-05 6.629746166e-05 -8.318530212e-05 -8.69476118e-05 3.288480855e-05 1.481283911e-05 -8.318530212e-05 -0.0001386089617 --0.0001397060594 -0.000128311774 5.453267227e-05 8.198585752e-05 0.0003497500745 --0.000128311774 -6.474779886e-06 -2.29841242e-07 0.0001285240774 0.0001850198285 -5.453267227e-05 -2.29841242e-07 1.44470368e-06 -5.604782888e-05 -7.498721499e-05 -8.198585752e-05 0.0001285240774 -5.604782888e-05 -2.267673728e-05 -0.0002703418478 -0.0003497500745 0.0001850198285 -7.498721499e-05 -0.0002703418478 -0.0007090141503 --3.370439043e-05 1.074258105e-05 1.674917109e-06 4.732492453e-05 3.469820676e-05 -1.074258105e-05 5.321159534e-07 1.576811202e-07 -1.237985675e-05 -1.437881846e-05 -1.674917109e-06 1.576811202e-07 3.764520782e-08 -1.879122074e-06 -2.304550312e-06 -4.732492453e-05 -1.237985675e-05 -1.879122074e-06 -6.460157817e-05 -5.098922326e-05 -3.469820676e-05 -1.437881846e-05 -2.304550312e-06 -5.098922326e-05 -3.293601808e-05 -1.632762244e-05 6.912954911e-06 -1.156879426e-06 -7.181040482e-06 -3.120496734e-05 -6.912954911e-06 4.206874865e-07 1.104849221e-07 -3.197176615e-06 -1.214018971e-05 --1.156879426e-06 1.104849221e-07 -6.18165824e-08 5.463626619e-07 1.954304391e-06 --7.181040482e-06 -3.197176615e-06 5.463626619e-07 3.148478976e-06 1.379128328e-05 --3.120496734e-05 -1.214018971e-05 1.954304391e-06 1.379128328e-05 5.917992793e-05 --8.285247441e-06 -3.181288664e-06 1.348760807e-06 1.273991113e-05 1.15990796e-05 --3.181288664e-06 -6.039192423e-08 5.452153787e-08 7.786460171e-06 1.756164931e-06 -1.348760807e-06 5.452153787e-08 -3.46551524e-08 -3.229109185e-06 -8.117365546e-07 -1.273991113e-05 7.786460171e-06 -3.229109185e-06 -1.237310868e-05 -2.456047131e-05 -1.15990796e-05 1.756164931e-06 -8.117365546e-07 -2.456047131e-05 -9.971412606e-06 --3.244132467e-05 7.063306523e-08 2.527434712e-06 3.874629081e-05 4.500410146e-05 -7.063306523e-08 2.040799345e-08 6.527047175e-08 -1.295711148e-07 -1.188730166e-09 -2.527434712e-06 6.527047175e-08 4.66937394e-08 -3.174255197e-06 -3.173001101e-06 -3.874629081e-05 -1.295711148e-07 -3.174255197e-06 -4.617721875e-05 -5.396347445e-05 -4.500410146e-05 -1.188730166e-09 -3.173001101e-06 -5.396347445e-05 -6.19760841e-05 --1.24652657e-05 -2.858127927e-06 1.387086022e-06 1.315655519e-05 1.951620162e-05 --2.858127927e-06 -1.21610941e-07 1.116390326e-08 3.666626282e-06 3.618890892e-06 -1.387086022e-06 1.116390326e-08 2.209776655e-08 -1.837741489e-06 -1.679548414e-06 -1.315655519e-05 3.666626282e-06 -1.837741489e-06 -1.309458424e-05 -2.164091042e-05 -1.951620162e-05 3.618890892e-06 -1.679548414e-06 -2.164091042e-05 -2.918282794e-05 --6.154791303e-06 -1.523086884e-06 8.162568449e-07 7.648453217e-06 8.979573281e-06 --1.523086884e-06 -5.362265096e-08 1.359660308e-08 2.510038561e-06 1.5864845e-06 -8.162568449e-07 1.359660308e-08 1.536797275e-09 -1.374098864e-06 -8.204633924e-07 -7.648453217e-06 2.510038561e-06 -1.374098864e-06 -8.325800124e-06 -1.237252273e-05 -8.979573281e-06 1.5864845e-06 -8.204633924e-07 -1.237252273e-05 -1.18510486e-05 --6.846042908e-06 -8.844693845e-07 7.042181159e-07 9.029949834e-06 9.34913471e-06 --8.844693845e-07 -2.991408054e-08 1.220708108e-08 1.447212214e-06 9.327028236e-07 -7.042181159e-07 1.220708108e-08 1.123206506e-09 -1.190897645e-06 -7.04749552e-07 -9.029949834e-06 1.447212214e-06 -1.190897645e-06 -1.097716416e-05 -1.324679457e-05 -9.34913471e-06 9.327028236e-07 -7.04749552e-07 -1.324679457e-05 -1.186991676e-05 -0.1087602295 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02202570648 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1348715373 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04589550365 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00203584534 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008719033557 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001417480361 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00146070253 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.682499841e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000403565291 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.021995618e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.892312043e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.519750515e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1094312275 0.07357299623 -0.01656537386 0 0 -0.07357299623 0.05341378031 -0.08747719601 0 0 --0.01656537386 -0.08747719601 0.1084246406 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06596515599 0.02950265628 0.01200591075 0 0 -0.02950265628 0.05052555544 -0.04036471592 0 0 -0.01200591075 -0.04036471592 0.003640173761 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009285495583 0.01170395821 -0.004722891086 0 0 -0.01170395821 -0.03094677275 -0.02924928129 0 0 --0.004722891086 -0.02924928129 0.0190499253 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005096138733 -0.003017973933 -0.01556938679 0 0 --0.003017973933 -0.00203105327 0.0087960328 0 0 --0.01556938679 0.0087960328 0.03503999827 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003404106848 0.0005324123842 0.0007403111577 0 0 -0.0005324123842 -0.0007084354456 -0.001250912193 0 0 -0.0007403111577 -0.001250912193 -0.001817476711 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.3670676e-05 0.0002111897184 0.0005829977013 0 0 -0.0002111897184 -0.0004676456736 -0.0008060900336 0 0 -0.0005829977013 -0.0008060900336 -0.0009508843809 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002117431627 -0.0001268789593 -0.0007826801974 0 0 --0.0001268789593 -0.0007185686983 0.0001123300236 0 0 --0.0007826801974 0.0001123300236 0.001616665263 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.979320197e-05 0.0001159563845 0.0001523220246 0 0 -0.0001159563845 -0.0001386605191 -0.0002570110552 0 0 -0.0001523220246 -0.0002570110552 -0.0003708144193 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.06258041e-05 6.52627294e-06 2.554992881e-05 0 0 -6.52627294e-06 0.0001473162732 4.108764021e-05 0 0 -2.554992881e-05 4.108764021e-05 1.867009779e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.488021549e-05 -3.208101484e-07 -8.821540941e-05 0 0 --3.208101484e-07 -0.0001679141897 -2.63245595e-05 0 0 --8.821540941e-05 -2.63245595e-05 0.0001910210967 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.797557167e-05 3.185461812e-05 4.998600863e-05 0 0 -3.185461812e-05 -0.0001354843823 -0.0001256403739 0 0 -4.998600863e-05 -0.0001256403739 -0.0001467094889 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.031317535e-05 -7.036900372e-06 -1.551795609e-05 0 0 --7.036900372e-06 -1.842699919e-05 2.164724727e-06 0 0 --1.551795609e-05 2.164724727e-06 3.44550765e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.27925063e-06 9.653613901e-06 -7.441528596e-06 0 0 -9.653613901e-06 -3.427126381e-05 -1.900286666e-05 0 0 --7.441528596e-06 -1.900286666e-05 1.769781375e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01289659431 0.07351232074 -0.04467763324 0.1043054304 0.1180676791 -0.07351232074 -0.1604790808 -0.1317163304 0.02700836696 -0.009914539813 --0.04467763324 -0.1317163304 0.07159089292 0.02557070894 0.05150808844 -0.1043054304 0.02700836696 0.02557070894 -0.1647058043 0.07854970879 -0.1180676791 -0.009914539813 0.05150808844 0.07854970879 0.01466744522 -0.05761008417 0.01211653217 -0.04873651593 0.008283453291 -0.02495973976 -0.01211653217 -0.02595162966 -0.01352538607 -0.00579001418 -0.03845621524 --0.04873651593 -0.01352538607 0.06897863821 -0.0005591625501 0.01713395812 -0.008283453291 -0.00579001418 -0.0005591625501 -0.005348486481 0.07178624929 --0.02495973976 -0.03845621524 0.01713395812 0.07178624929 0.1190530788 -0.004373674814 -0.007659635233 -0.01712786594 0.003001988304 0.008709619155 --0.007659635233 -0.001327449323 -0.002805699736 -0.008141489474 0.001937105073 --0.01712786594 -0.002805699736 0.01083884585 -0.004389490229 0.01988311725 -0.003001988304 -0.008141489474 -0.004389490229 0.008261860746 0.01649999826 -0.008709619155 0.001937105073 0.01988311725 0.01649999826 -0.009520729505 --0.002193013685 -0.002274660197 0.001310710532 0.003872624165 0.005732563276 --0.002274660197 -0.003094151507 -0.001670638658 0.002191793392 0.007528200076 -0.001310710532 -0.001670638658 0.005461538251 0.01088739447 0.002887889039 -0.003872624165 0.002191793392 0.01088739447 0.01336072659 -0.005775443587 -0.005732563276 0.007528200076 0.002887889039 -0.005775443587 -0.01712889705 -0.000909705716 0.0005298050093 0.001453311207 0.001687968463 -0.001474199593 -0.0005298050093 0.0004040408515 0.001295015903 0.001164530339 -0.001062910885 -0.001453311207 0.001295015903 0.003250203564 0.003050239573 -0.002997848186 -0.001687968463 0.001164530339 0.003050239573 0.003247605038 -0.002799026258 --0.001474199593 -0.001062910885 -0.002997848186 -0.002799026258 0.002866695223 -3.721447354e-05 0.0002063386749 0.0003478019352 0.0006113449234 -2.997091001e-05 -0.0002063386749 1.229009541e-06 4.632118744e-05 0.0001207292459 -0.0003804010354 -0.0003478019352 4.632118744e-05 0.0002649988395 2.990131407e-05 -0.0005444613936 -0.0006113449234 0.0001207292459 2.990131407e-05 -0.000395634536 -0.0006648866457 --2.997091001e-05 -0.0003804010354 -0.0005444613936 -0.0006648866457 0.0004384442513 --0.0003424002841 -0.0002467849246 -0.0002188055143 -2.849422746e-05 0.0007132405348 --0.0002467849246 -0.0002672555318 -0.0002742508695 -3.14834434e-05 0.000622629338 --0.0002188055143 -0.0002742508695 -0.0001290034609 0.0001988182694 0.0006237927476 --2.849422746e-05 -3.14834434e-05 0.0001988182694 0.0003040207798 0.0001097451898 -0.0007132405348 0.000622629338 0.0006237927476 0.0001097451898 -0.001593050228 -0.0001199221894 5.270595389e-06 -2.824350107e-05 4.710136767e-05 -8.893326214e-05 -5.270595389e-06 3.280471718e-06 4.285103704e-05 1.273948976e-05 -3.720793488e-05 --2.824350107e-05 4.285103704e-05 0.0001689121652 9.531787724e-05 -5.566845993e-05 -4.710136767e-05 1.273948976e-05 9.531787724e-05 0.0001648992083 1.133870737e-05 --8.893326214e-05 -3.720793488e-05 -5.566845993e-05 1.133870737e-05 0.0001903184344 -4.558993917e-05 8.792974739e-05 0.0001124551719 0.0001215842386 -8.795363709e-05 -8.792974739e-05 -1.03506498e-05 1.908841841e-05 7.081941664e-05 -0.0001033668156 -0.0001124551719 1.908841841e-05 0.0001041357743 0.000105907743 -0.0001653231244 -0.0001215842386 7.081941664e-05 0.000105907743 1.353579364e-05 -0.0001425396079 --8.795363709e-05 -0.0001033668156 -0.0001653231244 -0.0001425396079 0.0002409770566 --9.802492846e-05 -2.63833134e-05 -2.771077643e-05 1.937089458e-05 0.000172015522 --2.63833134e-05 -5.577168365e-05 -6.607580703e-05 -1.850415257e-06 9.76707317e-05 --2.771077643e-05 -6.607580703e-05 -6.553493639e-05 -2.130256567e-06 0.0001102034138 -1.937089458e-05 -1.850415257e-06 -2.130256567e-06 -5.09775053e-05 -2.585992336e-06 -0.000172015522 9.76707317e-05 0.0001102034138 -2.585992336e-06 -0.0003179719324 --3.587145812e-06 1.461739906e-06 -1.583200178e-05 1.435422808e-05 2.588733123e-05 -1.461739906e-06 -1.089303418e-05 -9.861077159e-06 -7.365895204e-06 -1.347803287e-06 --1.583200178e-05 -9.861077159e-06 5.605000235e-06 -1.463697116e-05 1.008790301e-05 -1.435422808e-05 -7.365895204e-06 -1.463697116e-05 -3.54644696e-05 9.055919384e-06 -2.588733123e-05 -1.347803287e-06 1.008790301e-05 9.055919384e-06 -1.407409815e-05 -2.790395843e-06 1.680381517e-05 1.460280857e-05 2.859827604e-05 2.743308328e-06 -1.680381517e-05 -1.139780987e-05 -2.628067565e-06 1.639317643e-05 -1.362803766e-05 -1.460280857e-05 -2.628067565e-06 2.747863149e-05 2.421101446e-05 -2.681613682e-05 -2.859827604e-05 1.639317643e-05 2.421101446e-05 -8.092810649e-06 -3.09939244e-05 -2.743308328e-06 -1.362803766e-05 -2.681613682e-05 -3.09939244e-05 2.015913492e-05 --1.985989036e-05 2.211904491e-06 -3.45189906e-06 9.379300662e-06 3.707985436e-05 -2.211904491e-06 -1.93184158e-05 -2.099932545e-05 9.864840546e-07 1.585556857e-05 --3.45189906e-06 -2.099932545e-05 -1.421389007e-05 -2.049217616e-06 2.102417093e-05 -9.379300662e-06 9.864840546e-07 -2.049217616e-06 -2.61008516e-05 3.503533947e-06 -3.707985436e-05 1.585556857e-05 2.102417093e-05 3.503533947e-06 -5.315109061e-05 -0.0002591462567 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002991883947 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001071689887 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.354227291e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.604964346e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.204305912e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.943413238e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.525404695e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.688022439e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.411210377e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.718248433e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.52787836e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.672153165e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.711288803e-06 0.02277472502 -0.0002353346622 0 0 -0.02277472502 -0.05507470989 -0.08006402904 0 0 --0.0002353346622 -0.08006402904 0.00163906095 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.162179835e-06 0.0006313405988 -0.0001586296337 0 0 -0.0006313405988 -0.001454460494 -0.0007513693174 0 0 --0.0001586296337 -0.0007513693174 0.000465775605 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.588887108e-08 -0.0006486830864 6.213421648e-06 0 0 --0.0006486830864 0.001643877198 -0.0004667213244 0 0 -6.213421648e-06 -0.0004667213244 8.812348739e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.74342495e-08 -3.914322849e-05 3.62226752e-06 0 0 --3.914322849e-05 0.0001376452753 -0.0002979988456 0 0 -3.62226752e-06 -0.0002979988456 5.542763546e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.819157246e-10 1.16999461e-05 -5.331475112e-08 0 0 -1.16999461e-05 -4.01041634e-05 -8.984109857e-05 0 0 --5.331475112e-08 -8.984109857e-05 7.97007077e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.404324426e-08 3.226258777e-05 1.91192441e-06 0 0 -3.226258777e-05 -9.070118269e-05 -2.786063728e-05 0 0 -1.91192441e-06 -2.786063728e-05 -2.976753842e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.517822502e-10 -1.824009353e-06 -8.476930038e-08 0 0 --1.824009353e-06 5.261092448e-06 -2.065136352e-05 0 0 --8.476930038e-08 -2.065136352e-05 -2.016500912e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.499290503e-10 4.857866788e-06 -1.302646095e-07 0 0 -4.857866788e-06 -1.097728813e-05 -1.322215934e-05 0 0 --1.302646095e-07 -1.322215934e-05 7.096517809e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.464405376e-10 9.531305314e-06 -7.478364028e-08 0 0 -9.531305314e-06 -2.465600501e-05 -2.088922716e-05 0 0 --7.478364028e-08 -2.088922716e-05 3.266429135e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.427552747e-10 1.849051514e-06 3.432704847e-08 0 0 -1.849051514e-06 -5.33767244e-06 -2.094300003e-05 0 0 -3.432704847e-08 -2.094300003e-05 -7.449007139e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.296828018e-10 2.668052836e-06 5.907582263e-08 0 0 -2.668052836e-06 -6.980747528e-06 -9.317030602e-06 0 0 -5.907582263e-08 -9.317030602e-06 -4.041020309e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.812100619e-11 2.71973617e-06 9.361924925e-09 0 0 -2.71973617e-06 -6.846824067e-06 -9.126256345e-06 0 0 -9.361924925e-09 -9.126256345e-06 -6.198487907e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.339644186e-11 1.928601005e-06 -6.000881001e-09 0 0 -1.928601005e-06 -4.892514149e-06 -9.733436677e-06 0 0 --6.000881001e-09 -9.733436677e-06 5.951018508e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001119778598 -0.0001717207567 -5.15692101e-06 0.0006235454189 0.05299453515 --0.0001717207567 0.0001633970228 -2.710036751e-05 -0.0006826506057 -0.02215819153 --5.15692101e-06 -2.710036751e-05 6.256594935e-07 0.0001024233044 0.007092097762 -0.0006235454189 -0.0006826506057 0.0001024233044 0.002821884278 0.10211059 -0.05299453515 -0.02215819153 0.007092097762 0.10211059 -0.0129205692 -0.0001934502802 -9.118771915e-05 2.694687218e-05 0.0004490979912 0.005635314497 --9.118771915e-05 3.030669011e-05 -6.602626459e-06 -0.0002277974106 -0.004109741794 -2.694687218e-05 -6.602626459e-06 8.188609805e-07 7.030579779e-05 0.001484271197 -0.0004490979912 -0.0002277974106 7.030579779e-05 0.001022131796 0.01123622094 -0.005635314497 -0.004109741794 0.001484271197 0.01123622094 -0.002469174958 -1.00227788e-05 -1.076965233e-05 6.713803336e-06 1.698422867e-05 -0.0003827396858 --1.076965233e-05 -6.701836575e-06 1.73706619e-06 -2.916948758e-06 0.0009077325352 -6.713803336e-06 1.73706619e-06 1.127196058e-07 3.866441975e-06 -0.0004995668858 -1.698422867e-05 -2.916948758e-06 3.866441975e-06 1.591569477e-05 -0.001065143721 --0.0003827396858 0.0009077325352 -0.0004995668858 -0.001065143721 0.001127427775 -7.957888006e-06 2.95393063e-06 -4.359898304e-06 1.546217365e-05 0.000300176452 -2.95393063e-06 -2.196895559e-06 1.273508928e-06 1.057502567e-05 0.0002965523111 --4.359898304e-06 1.273508928e-06 -1.506684474e-07 -1.271731683e-05 -0.0003270171867 -1.546217365e-05 1.057502567e-05 -1.271731683e-05 2.294316844e-05 0.0003114263618 -0.000300176452 0.0002965523111 -0.0003270171867 0.0003114263618 0.000916373904 --1.075025127e-07 5.543779329e-07 -1.117192413e-06 -6.436361581e-07 7.068922458e-06 -5.543779329e-07 4.304616865e-07 -4.144302723e-07 -1.567676421e-07 -5.783739379e-05 --1.117192413e-06 -4.144302723e-07 -1.541638745e-08 -1.628236522e-07 0.0001136097366 --6.436361581e-07 -1.567676421e-07 -1.628236522e-07 -1.804509312e-07 6.491972878e-05 -7.068922458e-06 -5.783739379e-05 0.0001136097366 6.491972878e-05 -0.0003258079702 --1.610782885e-06 7.231015046e-07 -2.867647641e-07 -3.156600576e-06 1.590154578e-05 -7.231015046e-07 1.104386064e-07 -1.054343162e-08 9.751545617e-07 -1.49626617e-05 --2.867647641e-07 -1.054343162e-08 -6.464586609e-09 -4.204994122e-07 5.335770013e-06 --3.156600576e-06 9.751545617e-07 -4.204994122e-07 -5.737062362e-06 3.910896018e-05 -1.590154578e-05 -1.49626617e-05 5.335770013e-06 3.910896018e-05 -1.626160884e-05 -3.768102873e-08 -1.802600824e-08 -1.825547428e-08 1.830140558e-07 8.130104372e-06 --1.802600824e-08 -3.744933659e-08 3.048301271e-08 6.247473329e-08 5.041817961e-06 --1.825547428e-08 3.048301271e-08 -1.423329845e-09 -1.594893187e-07 -8.155009449e-06 -1.830140558e-07 6.247473329e-08 -1.594893187e-07 4.003596997e-07 1.040503663e-05 -8.130104372e-06 5.041817961e-06 -8.155009449e-06 1.040503663e-05 2.287306024e-05 -1.677253132e-07 -1.34595853e-07 1.220795099e-07 4.737082696e-07 9.180002459e-06 --1.34595853e-07 8.211114806e-08 -5.125739679e-08 -4.227554494e-07 -1.10877672e-05 -1.220795099e-07 -5.125739679e-08 4.617278886e-09 4.21646242e-07 1.339252472e-05 -4.737082696e-07 -4.227554494e-07 4.21646242e-07 1.267778943e-06 1.980450043e-05 -9.180002459e-06 -1.10877672e-05 1.339252472e-05 1.980450043e-05 -3.217019995e-05 --2.265342466e-07 -2.421934207e-08 -1.195544007e-08 -1.424615207e-07 1.800156984e-05 --2.421934207e-08 4.915127007e-08 -6.600449802e-09 -1.645664773e-07 -6.662993067e-06 --1.195544007e-08 -6.600449802e-09 -8.348231173e-11 7.842834555e-09 1.833396612e-06 --1.424615207e-07 -1.645664773e-07 7.842834555e-09 3.414270758e-07 3.610650706e-05 -1.800156984e-05 -6.662993067e-06 1.833396612e-06 3.610650706e-05 -5.182803589e-06 --2.718338172e-07 -2.821099215e-08 2.824070786e-08 -3.421961146e-07 9.477181521e-06 --2.821099215e-08 3.511915889e-09 7.642756358e-09 -6.147631946e-08 -4.851331984e-07 -2.824070786e-08 7.642756358e-09 5.13821671e-10 1.655330147e-08 -2.059218538e-06 --3.421961146e-07 -6.147631946e-08 1.655330147e-08 -3.260944236e-07 1.785162727e-05 -9.477181521e-06 -4.851331984e-07 -2.059218538e-06 1.785162727e-05 4.546478323e-06 --5.577210776e-08 -1.686301512e-09 -1.32116381e-08 -2.574298901e-08 5.107358775e-06 --1.686301512e-09 2.295254739e-08 -8.803927505e-09 -5.751905446e-08 -3.105229351e-06 --1.32116381e-08 -8.803927505e-09 -5.903628619e-11 1.463236665e-08 2.400794431e-06 --2.574298901e-08 -5.751905446e-08 1.463236665e-08 1.280747563e-07 1.039771399e-05 -5.107358775e-06 -3.105229351e-06 2.400794431e-06 1.039771399e-05 -5.80863336e-06 --1.62296891e-08 -1.995375944e-08 -5.526078917e-10 6.703874608e-08 6.161963951e-06 --1.995375944e-08 1.531964419e-08 -2.332894145e-09 -7.040202339e-08 -2.07799585e-06 --5.526078917e-10 -2.332894145e-09 4.978826594e-11 8.623359139e-09 6.103557614e-07 -6.703874608e-08 -7.040202339e-08 8.623359139e-09 3.091320779e-07 1.156773645e-05 -6.161963951e-06 -2.07799585e-06 6.103557614e-07 1.156773645e-05 -9.364745196e-07 --7.370735402e-08 -1.012165671e-08 -2.74628829e-09 -4.78032827e-08 5.60089211e-06 --1.012165671e-08 1.174099884e-08 -1.411434449e-09 -4.67311158e-08 -1.591969448e-06 --2.74628829e-09 -1.411434449e-09 -2.085366256e-11 1.382762661e-09 3.946664645e-07 --4.78032827e-08 -4.67311158e-08 1.382762661e-09 9.186418154e-08 1.085492948e-05 -5.60089211e-06 -1.591969448e-06 3.946664645e-07 1.085492948e-05 -1.048829429e-06 -0.02292669939 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03547095276 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00939491017 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003141392712 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001120135745 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002757409497 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.86138204e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.012552072e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.94688799e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.632780342e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.98325368e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.535003047e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.664684922e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007593123903 0.04693405066 0.0175452084 0 0 -0.04693405066 -0.129017497 0.1038365094 0 0 -0.0175452084 0.1038365094 0.04049043391 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01615411566 0.01039488978 0.03663407571 0 0 -0.01039488978 -0.04759249725 0.01988226288 0 0 -0.03663407571 0.01988226288 0.08282724511 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01048416821 -0.005044150165 0.02336432518 0 0 --0.005044150165 -0.002103292687 -0.01237061105 0 0 -0.02336432518 -0.01237061105 0.05178654887 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002539126069 -0.003583563159 0.005586680736 0 0 --0.003583563159 0.004822366294 -0.0077361464 0 0 -0.005586680736 -0.0077361464 0.01219822978 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002164549373 -0.0006826672716 0.0004872698127 0 0 --0.0006826672716 0.001310749468 -0.001476445633 0 0 -0.0004872698127 -0.001476445633 0.001092589759 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00029371952 0.0001475791785 -0.0006832243795 0 0 -0.0001475791785 0.0001046102774 0.0003584831943 0 0 --0.0006832243795 0.0003584831943 -0.001587964113 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002602733529 0.0003933474139 -0.0006148433953 0 0 -0.0003933474139 -0.0005850782748 0.000927714839 0 0 --0.0006148433953 0.000927714839 -0.001452207346 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.09263129e-05 3.656720291e-05 -7.222174271e-05 0 0 -3.656720291e-05 -4.297162841e-05 8.555854468e-05 0 0 --7.222174271e-05 8.555854468e-05 -0.0001685573121 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.61581368e-05 5.745716958e-06 8.308945162e-05 0 0 -5.745716958e-06 -6.834638065e-05 8.474824951e-06 0 0 -8.308945162e-05 8.474824951e-06 0.0001906122575 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.780699067e-05 -3.304159703e-05 3.960872312e-05 0 0 --3.304159703e-05 5.210099305e-05 -7.134296705e-05 0 0 -3.960872312e-05 -7.134296705e-05 8.759990966e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.12175903e-05 -5.877940788e-06 2.527372474e-05 0 0 --5.877940788e-06 -1.789189055e-06 -1.427344284e-05 0 0 -2.527372474e-05 -1.427344284e-05 5.672485657e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.046052953e-06 -1.803625396e-06 -2.360112893e-06 0 0 --1.803625396e-06 5.830699447e-06 -3.652748945e-06 0 0 --2.360112893e-06 -3.652748945e-06 -5.305492619e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.645324838e-06 1.03895573e-05 -1.088019936e-05 0 0 -1.03895573e-05 -1.915318638e-05 2.411536611e-05 0 0 --1.088019936e-05 2.411536611e-05 -2.547168337e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004692014516 -0.005339756796 0.002992413908 0.002356088028 -0.01270217252 --0.005339756796 -0.005788452187 0.004486278014 0.000581584544 -0.01374752624 -0.002992413908 0.004486278014 0.002140607473 -0.009369453642 0.01075434509 -0.002356088028 0.000581584544 -0.009369453642 0.01410109363 0.001223334931 --0.01270217252 -0.01374752624 0.01075434509 0.001223334931 -0.03264850018 --0.002753582565 -0.00351062627 -7.148118846e-05 0.004810355754 -0.008400982723 --0.00351062627 -0.003858005945 0.001810543844 0.002330673132 -0.009233590035 --7.148118846e-05 0.001810543844 0.005851796489 -0.01157886336 0.004328588746 -0.004810355754 0.002330673132 -0.01157886336 0.01499691767 0.005585475318 --0.008400982723 -0.009233590035 0.004328588746 0.005585475318 -0.02209928484 -4.32315304e-05 -0.0004160754533 -0.00153674301 0.002964833047 -0.0009946190058 --0.0004160754533 -0.0005903848057 -0.0004951512137 0.00158892435 -0.001428697825 --0.00153674301 -0.0004951512137 0.003777854831 -0.005180751411 -0.001241518553 -0.002964833047 0.00158892435 -0.005180751411 0.005841158239 0.00391233663 --0.0009946190058 -0.001428697825 -0.001241518553 0.00391233663 -0.003456921163 -0.0003820991274 0.0001968308831 -0.0005453448903 0.0005623055508 0.0004927629863 -0.0001968308831 9.364273479e-05 -0.0002440331374 0.0002378102576 0.0002384069124 --0.0005453448903 -0.0002440331374 0.0006027516935 -0.0005557562806 -0.0006298466967 -0.0005623055508 0.0002378102576 -0.0005557562806 0.0004806398732 0.0006219376428 -0.0004927629863 0.0002384069124 -0.0006298466967 0.0006219376428 0.0006047589428 -4.915652385e-05 1.348289221e-05 -2.386462545e-05 1.290217984e-05 3.667676959e-05 -1.348289221e-05 -1.36374342e-05 2.051215178e-05 -1.964406464e-05 -2.878967205e-05 --2.386462545e-05 2.051215178e-05 -3.064678776e-05 2.992078035e-05 4.283152127e-05 -1.290217984e-05 -1.964406464e-05 2.992078035e-05 -2.761616479e-05 -4.232703515e-05 -3.667676959e-05 -2.878967205e-05 4.283152127e-05 -4.232703515e-05 -5.969763475e-05 --2.034335954e-05 -2.514485849e-05 1.077666728e-05 1.738362827e-05 -6.07786279e-05 --2.514485849e-05 -2.953873099e-05 2.022302441e-05 8.800151094e-06 -7.160825347e-05 -1.077666728e-05 2.022302441e-05 2.52141365e-05 -6.604084997e-05 4.794549509e-05 -1.738362827e-05 8.800151094e-06 -6.604084997e-05 8.959488609e-05 2.299211591e-05 --6.07786279e-05 -7.160825347e-05 4.794549509e-05 2.299211591e-05 -0.0001735640142 -1.006514716e-05 5.310499869e-06 -1.375775905e-05 1.294783396e-05 1.391398589e-05 -5.310499869e-06 2.471656383e-06 -6.219861628e-06 5.362904259e-06 6.770122495e-06 --1.375775905e-05 -6.219861628e-06 1.553667938e-05 -1.307799762e-05 -1.722202665e-05 -1.294783396e-05 5.362904259e-06 -1.307799762e-05 1.012553971e-05 1.535942514e-05 -1.391398589e-05 6.770122495e-06 -1.722202665e-05 1.535942514e-05 1.824702557e-05 -8.555338006e-06 4.091998966e-06 -8.983084051e-06 7.972296635e-06 1.02274154e-05 -4.091998966e-06 1.187180779e-06 -2.607979909e-06 1.995261143e-06 3.18081725e-06 --8.983084051e-06 -2.607979909e-06 5.729162082e-06 -4.384372479e-06 -6.986752282e-06 -7.972296635e-06 1.995261143e-06 -4.384372479e-06 3.137305368e-06 5.491201243e-06 -1.02274154e-05 3.18081725e-06 -6.986752282e-06 5.491201243e-06 8.424677102e-06 --2.099986406e-06 -2.774874635e-06 3.529277461e-06 -1.819618276e-06 -6.6719847e-06 --2.774874635e-06 -3.576369131e-06 4.194496357e-06 -1.791770422e-06 -8.59330298e-06 -3.529277461e-06 4.194496357e-06 -3.495028279e-06 -1.243161361e-07 1.005514453e-05 --1.819618276e-06 -1.791770422e-06 -1.243161361e-07 2.580236369e-06 -4.268711125e-06 --6.6719847e-06 -8.59330298e-06 1.005514453e-05 -4.268711125e-06 -2.064761192e-05 -2.457733779e-07 -1.165939369e-07 4.786417498e-08 -2.092014179e-07 -4.312068611e-08 --1.165939369e-07 -3.859560993e-07 5.093703183e-07 -5.346012084e-07 -7.192613208e-07 -4.786417498e-08 5.093703183e-07 -6.322521949e-07 7.235436496e-07 8.835473518e-07 --2.092014179e-07 -5.346012084e-07 7.235436496e-07 -7.323964116e-07 -1.02584039e-06 --4.312068611e-08 -7.192613208e-07 8.835473518e-07 -1.02584039e-06 -1.232457302e-06 -7.246494795e-07 3.557035559e-07 -1.49258038e-06 1.827125484e-06 8.798582682e-07 -3.557035559e-07 1.666856869e-07 -8.036617809e-07 1.022939154e-06 4.09934862e-07 --1.49258038e-06 -8.036617809e-07 2.437327879e-06 -2.63247678e-06 -2.009212037e-06 -1.827125484e-06 1.022939154e-06 -2.63247678e-06 2.599079484e-06 2.568124278e-06 -8.798582682e-07 4.09934862e-07 -2.009212037e-06 2.568124278e-06 1.00741863e-06 --5.310511317e-07 -6.398606961e-07 5.81772332e-07 -3.667558445e-08 -1.551340109e-06 --6.398606961e-07 -7.687844352e-07 7.350599211e-07 -9.917520798e-08 -1.865299673e-06 -5.81772332e-07 7.350599211e-07 -1.044721707e-07 -8.194129299e-07 1.760507851e-06 --3.667558445e-08 -9.917520798e-08 -8.194129299e-07 1.384115382e-06 -2.055374662e-07 --1.551340109e-06 -1.865299673e-06 1.760507851e-06 -2.055374662e-07 -4.524890231e-06 --1.089621017e-07 -1.295403355e-07 7.074824819e-09 1.556822132e-07 -3.042008295e-07 --1.295403355e-07 -1.321807477e-07 6.594411996e-08 6.294980398e-08 -3.068801573e-07 -7.074824819e-09 6.594411996e-08 1.512103959e-07 -3.320798706e-07 1.641397974e-07 -1.556822132e-07 6.294980398e-08 -3.320798706e-07 4.610613241e-07 1.281201502e-07 --3.042008295e-07 -3.068801573e-07 1.641397974e-07 1.281201502e-07 -7.118127239e-07 -0.01017966223 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01129512741 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002230122749 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002116546085 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.86692803e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.801005489e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.558073592e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.217845306e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.248117143e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.29286638e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.56624333e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.85299045e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.05152309e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02655220845 0.03857172385 0.02757116007 0 0 -0.03857172385 -0.07588697703 0.06155858775 0 0 -0.02757116007 0.06155858775 0.0251230034 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01032900641 -0.006231352751 0.01568183468 0 0 --0.006231352751 -0.001339796533 -0.003340963883 0 0 -0.01568183468 -0.003340963883 0.01646413125 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008431284053 0.0004915160006 0.0002813141037 0 0 -0.0004915160006 0.001281467476 -0.001323731226 0 0 -0.0002813141037 -0.001323731226 0.000763905671 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002199299074 0.0003471155161 0.000845501736 0 0 -0.0003471155161 -1.929110163e-05 1.617229142e-05 0 0 -0.000845501736 1.617229142e-05 0.000139385791 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000163951764 -0.0001007347059 -2.708302939e-06 0 0 --0.0001007347059 -0.0001192695556 0.0001208402184 0 0 --2.708302939e-06 0.0001208402184 -7.835423196e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.446129448e-05 5.964772979e-05 -9.564686366e-05 0 0 -5.964772979e-05 -5.379355149e-05 7.790477988e-05 0 0 --9.564686366e-05 7.790477988e-05 -0.0001088641416 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.30138245e-05 5.886335885e-06 2.736560907e-05 0 0 -5.886335885e-06 -1.506600234e-06 -1.838182593e-07 0 0 -2.736560907e-05 -1.838182593e-07 8.233232864e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.11234644e-06 -1.206148248e-05 1.338994295e-05 0 0 --1.206148248e-05 -1.896320801e-05 1.083964208e-05 0 0 -1.338994295e-05 1.083964208e-05 2.086097467e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.364238327e-05 2.866602765e-05 -2.074436188e-05 0 0 -2.866602765e-05 -2.592907112e-05 2.807678201e-05 0 0 --2.074436188e-05 2.807678201e-05 -1.723272215e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.208231587e-05 1.329519698e-05 -9.850862637e-06 0 0 -1.329519698e-05 -1.078325362e-05 1.179636705e-05 0 0 --9.850862637e-06 1.179636705e-05 -7.793622015e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.836793922e-06 1.038806594e-06 3.08570187e-06 0 0 -1.038806594e-06 -7.346651055e-06 5.581541509e-06 0 0 -3.08570187e-06 5.581541509e-06 3.328767599e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.382743166e-06 6.209759091e-06 1.212258766e-06 0 0 -6.209759091e-06 -7.867175874e-06 6.862464556e-06 0 0 -1.212258766e-06 6.862464556e-06 1.00653083e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.612912564e-06 6.469508034e-06 -3.779983193e-06 0 0 -6.469508034e-06 -7.996304376e-06 8.105424823e-06 0 0 --3.779983193e-06 8.105424823e-06 -3.456814454e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02335592555 0.01900860081 0.03063460734 -0.01756513858 0.01755092724 -0.01900860081 -0.0707056202 0.05688909611 0.007984199801 -0.03481671879 -0.03063460734 0.05688909611 0.02833117652 -0.03130120105 0.04122855791 --0.01756513858 0.007984199801 -0.03130120105 0.007449883651 -0.0005049345132 -0.01755092724 -0.03481671879 0.04122855791 -0.0005049345132 -0.01478760676 -0.01093260603 -0.003215509102 0.01928562943 -0.005162675668 0.001333042765 --0.003215509102 -0.009413203147 0.0003508003356 0.00464251722 -0.003973933691 -0.01928562943 0.0003508003356 0.03051867759 -0.01092365872 0.004434185352 --0.005162675668 0.00464251722 -0.01092365872 0.001495796957 0.0004507219536 -0.001333042765 -0.003973933691 0.004434185352 0.0004507219536 -0.001075972268 -0.0002614883311 -0.0009254653273 0.001565822779 -3.41905579e-05 -6.957350155e-05 --0.0009254653273 0.00205858703 -0.003178511237 0.0002060521463 0.0006223562365 -0.001565822779 -0.003178511237 0.004786485074 -0.0003699053712 -0.001147095073 --3.41905579e-05 0.0002060521463 -0.0003699053712 -1.473138471e-06 -1.718979379e-05 --6.957350155e-05 0.0006223562365 -0.001147095073 -1.718979379e-05 -9.77458826e-05 -0.0009315132433 0.0006849941234 0.000284505859 -0.0004637418766 0.0002639010188 -0.0006849941234 0.0003320910086 -9.1175925e-05 -0.0001882912977 -6.96969505e-06 -0.000284505859 -9.1175925e-05 -0.0004388694648 0.000125672119 -0.0002712583969 --0.0004637418766 -0.0001882912977 0.000125672119 9.496198547e-05 4.751334445e-05 -0.0002639010188 -6.96969505e-06 -0.0002712583969 4.751334445e-05 -0.0001607129586 -0.0002362482392 -0.0002105062773 0.0001561137601 -2.087030718e-07 -0.0001690148633 --0.0002105062773 -0.0002467467746 0.0003060316824 -2.462114896e-05 -0.0001060522912 -0.0001561137601 0.0003060316824 -0.0003530630611 2.528716018e-05 0.0001513586964 --2.087030718e-07 -2.462114896e-05 2.528716018e-05 -1.416739751e-06 -1.450999786e-05 --0.0001690148633 -0.0001060522912 0.0001513586964 -1.450999786e-05 -3.074792779e-05 --6.963728157e-05 2.445070172e-05 -6.944500545e-05 1.724083268e-05 9.530285756e-06 -2.445070172e-05 -7.79066529e-06 2.042578475e-05 -4.18640411e-06 -2.065243522e-06 --6.944500545e-05 2.042578475e-05 -4.953758071e-05 7.891328287e-06 3.122148097e-06 -1.724083268e-05 -4.18640411e-06 7.891328287e-06 1.201630707e-07 6.514453696e-07 -9.530285756e-06 -2.065243522e-06 3.122148097e-06 6.514453696e-07 7.614727143e-07 -2.279944141e-05 2.655164876e-06 1.567244135e-05 -9.484738503e-06 -2.462289955e-06 -2.655164876e-06 2.39119971e-07 9.927734853e-07 -8.130779712e-07 -5.699633844e-07 -1.567244135e-05 9.927734853e-07 8.881460158e-07 -3.058255026e-06 -5.055868423e-06 --9.484738503e-06 -8.130779712e-07 -3.058255026e-06 2.733535767e-06 2.20208811e-06 --2.462289955e-06 -5.699633844e-07 -5.055868423e-06 2.20208811e-06 -8.783834818e-07 --7.602123196e-06 -1.733424574e-05 1.359922917e-05 2.081266865e-06 -8.187631098e-06 --1.733424574e-05 -3.9222345e-05 2.709534647e-05 5.991922209e-06 -1.916606501e-05 -1.359922917e-05 2.709534647e-05 2.62267513e-05 -1.982236465e-05 2.106376263e-05 -2.081266865e-06 5.991922209e-06 -1.982236465e-05 4.557105217e-06 1.97988125e-07 --8.187631098e-06 -1.916606501e-05 2.106376263e-05 1.97988125e-07 -8.003667955e-06 --1.025666616e-05 2.453515702e-05 -1.734828173e-05 -1.609214531e-06 1.605660343e-05 -2.453515702e-05 -1.692904421e-05 2.10279894e-05 -1.799648534e-06 -9.202723232e-06 --1.734828173e-05 2.10279894e-05 -1.930846445e-05 4.725341187e-08 1.284171432e-05 --1.609214531e-06 -1.799648534e-06 4.725341187e-08 5.116661092e-07 -1.431538406e-06 -1.605660343e-05 -9.202723232e-06 1.284171432e-05 -1.431538406e-06 -4.710429631e-06 --1.052629582e-07 9.59465987e-07 -7.161026291e-07 -6.12529341e-08 5.710392271e-07 -9.59465987e-07 -6.822283584e-06 7.20520465e-06 -3.224281115e-07 -3.5794808e-06 --7.161026291e-07 7.20520465e-06 -4.632638282e-06 -7.271852555e-07 4.457801363e-06 --6.12529341e-08 -3.224281115e-07 -7.271852555e-07 3.677021249e-07 -4.121273693e-07 -5.710392271e-07 -3.5794808e-06 4.457801363e-06 -4.121273693e-07 -1.723918731e-06 -2.888686536e-06 9.565185807e-08 5.556092913e-06 -2.002912533e-06 8.796925166e-07 -9.565185807e-08 -7.860310063e-06 5.034414235e-06 1.402728367e-06 -3.9337526e-06 -5.556092913e-06 5.034414235e-06 7.694675096e-06 -4.758553032e-06 4.136427221e-06 --2.002912533e-06 1.402728367e-06 -4.758553032e-06 1.11430133e-06 1.303955516e-07 -8.796925166e-07 -3.9337526e-06 4.136427221e-06 1.303955516e-07 -1.729242483e-06 -3.320369348e-06 3.557955562e-06 3.252718537e-06 -2.511206066e-06 2.713788007e-06 -3.557955562e-06 -7.251947864e-06 6.077043522e-06 5.246015868e-07 -3.990515891e-06 -3.252718537e-06 6.077043522e-06 2.579433536e-06 -3.213190627e-06 4.274293598e-06 --2.511206066e-06 5.246015868e-07 -3.213190627e-06 9.647656667e-07 -4.765032314e-08 -2.713788007e-06 -3.990515891e-06 4.274293598e-06 -4.765032314e-08 -2.083047648e-06 -1.745723899e-07 1.755164244e-06 -1.691956255e-07 -5.398107489e-07 1.231303721e-06 -1.755164244e-06 -6.462341898e-06 6.477808516e-06 -1.759502957e-08 -3.346139103e-06 --1.691956255e-07 6.477808516e-06 -2.610702262e-06 -1.312050635e-06 4.141565387e-06 --5.398107489e-07 -1.759502957e-08 -1.312050635e-06 4.553338171e-07 -2.787796209e-07 -1.231303721e-06 -3.346139103e-06 4.141565387e-06 -2.787796209e-07 -1.572905659e-06 -0.02708032077 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03241990335 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01190201794 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001682681646 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003056900521 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001793796271 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.707143934e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.610037144e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.067969148e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.182180097e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.295184517e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.15105561e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.864855222e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002770453058 -0.001205724586 0.0128056092 0 0 --0.001205724586 0.004193727136 -0.03227475629 0 0 -0.0128056092 -0.03227475629 0.06973620074 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001593939292 -0.01269436044 0.007280750147 0 0 --0.01269436044 0.01221946529 -0.02520991624 0 0 -0.007280750147 -0.02520991624 0.02456659541 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.260547804e-06 0.000275056365 -0.0004178007103 0 0 -0.000275056365 0.001061960201 -0.0006075189032 0 0 --0.0004178007103 -0.0006075189032 -0.0004950799531 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.159479916e-08 -1.88701563e-05 9.71797159e-06 0 0 --1.88701563e-05 0.003788718861 -0.002045567404 0 0 -9.71797159e-06 -0.002045567404 0.001086577469 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.308170771e-07 -6.215633272e-07 -5.4822456e-06 0 0 --6.215633272e-07 7.653035714e-06 -8.226822467e-05 0 0 --5.4822456e-06 -8.226822467e-05 6.825102368e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.941796323e-06 0.0001904033533 -8.855776562e-05 0 0 -0.0001904033533 0.0001004768722 0.0002775926164 0 0 --8.855776562e-05 0.0002775926164 -0.0002743517578 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.052059133e-07 1.058438571e-05 -5.150875717e-06 0 0 -1.058438571e-05 -0.0002463049283 0.0001407416157 0 0 --5.150875717e-06 0.0001407416157 -7.811929598e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.596128898e-08 -2.016871513e-06 2.187341115e-06 0 0 --2.016871513e-06 2.951188858e-05 -2.675252326e-05 0 0 -2.187341115e-06 -2.675252326e-05 2.28479826e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.472566707e-07 -2.705535905e-06 6.752890761e-06 0 0 --2.705535905e-06 4.981415547e-06 -1.171874448e-05 0 0 -6.752890761e-06 -1.171874448e-05 2.74543227e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.698255398e-08 8.326162748e-06 -2.66641348e-06 0 0 -8.326162748e-06 -7.017105053e-05 4.333704124e-05 0 0 --2.66641348e-06 4.333704124e-05 -2.018067994e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.596338675e-08 7.634198857e-06 -3.082703263e-06 0 0 -7.634198857e-06 -6.07143427e-05 4.070124673e-05 0 0 --3.082703263e-06 4.070124673e-05 -2.265229335e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.393542234e-08 4.776313018e-06 -1.10479032e-06 0 0 -4.776313018e-06 -1.938415735e-05 1.491491666e-05 0 0 --1.10479032e-06 1.491491666e-05 -5.746187597e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.131904997e-08 1.25409959e-06 5.254926282e-07 0 0 -1.25409959e-06 -7.877569178e-06 2.517025469e-06 0 0 -5.254926282e-07 2.517025469e-06 3.261962713e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01032052413 -0.001951131373 -0.001714175974 0.03025129306 -0.003967946781 --0.001951131373 4.721096243e-05 -5.418134016e-05 0.009892989513 0.002226149349 --0.001714175974 -5.418134016e-05 -0.0001096503073 0.007731938418 0.001271526762 -0.03025129306 0.009892989513 0.007731938418 -0.04680190942 0.04148738809 --0.003967946781 0.002226149349 0.001271526762 0.04148738809 0.01976457479 -0.01825790753 0.006922754655 0.004804961593 -0.01452776491 0.03345189637 -0.006922754655 0.0002384015808 1.165680525e-05 -0.005142326071 0.01102009249 -0.004804961593 1.165680525e-05 -0.0001085821265 -0.003545602175 0.007541622543 --0.01452776491 -0.005142326071 -0.003545602175 0.01150354185 -0.02636236426 -0.03345189637 0.01102009249 0.007541622543 -0.02636236426 0.06013030704 -0.0002894284877 0.0009299979109 0.0004887202414 -6.772960004e-06 0.001291542425 -0.0009299979109 2.546118408e-05 2.242887712e-06 -0.001204164167 0.001156395428 -0.0004887202414 2.242887712e-06 -4.71585319e-06 -0.0006372410703 0.0005964408091 --6.772960004e-06 -0.001204164167 -0.0006372410703 -0.000471712404 -0.001224911735 -0.001291542425 0.001156395428 0.0005964408091 -0.001224911735 0.002738639204 -0.001147208261 -0.0004419869206 -4.431444638e-05 -0.001304301146 0.001207838507 --0.0004419869206 -1.623675066e-05 4.561076242e-06 0.0002977222567 -0.0007225838282 --4.431444638e-05 4.561076242e-06 8.724652865e-07 3.664529751e-05 -6.391218523e-05 --0.001304301146 0.0002977222567 3.664529751e-05 0.001258062289 -0.001655663165 -0.001207838507 -0.0007225838282 -6.391218523e-05 -0.001655663165 0.0009169087951 --4.521347087e-05 -3.924879835e-05 1.7650026e-05 3.231023808e-06 -0.0001074350225 --3.924879835e-05 -9.976805764e-07 3.558206186e-07 5.538380422e-05 -4.575742943e-05 -1.7650026e-05 3.558206186e-07 -1.180042143e-07 -2.50534551e-05 2.044359243e-05 -3.231023808e-06 5.538380422e-05 -2.50534551e-05 8.335774829e-05 8.319877751e-05 --0.0001074350225 -4.575742943e-05 2.044359243e-05 8.319877751e-05 -0.0001870516168 --0.0001181823629 -0.0001264413154 -5.461341977e-05 6.229794622e-05 -0.0003216359895 --0.0001264413154 -3.945840307e-06 1.400660856e-07 0.0001272713484 -0.0001805916522 --5.461341977e-05 1.400660856e-07 8.830382796e-07 5.582325997e-05 -7.570596985e-05 -6.229794622e-05 0.0001272713484 5.582325997e-05 -4.858563952e-06 0.0002450231648 --0.0003216359895 -0.0001805916522 -7.570596985e-05 0.0002450231648 -0.0006717389596 --1.673212468e-05 5.546668798e-06 -9.113573639e-07 2.577024069e-05 -1.575755529e-05 -5.546668798e-06 1.453489306e-07 -3.150952697e-08 -7.874194827e-06 6.435598243e-06 --9.113573639e-07 -3.150952697e-08 6.459843756e-09 1.291216156e-06 -1.062074319e-06 -2.577024069e-05 -7.874194827e-06 1.291216156e-06 -3.946513091e-05 2.467766424e-05 --1.575755529e-05 6.435598243e-06 -1.062074319e-06 2.467766424e-05 -1.409938028e-05 -1.954495298e-05 7.773101174e-06 1.438096974e-06 -9.546358395e-06 3.638212719e-05 -7.773101174e-06 2.903680723e-07 -7.220714804e-08 -4.059959553e-06 1.338916007e-05 -1.438096974e-06 -7.220714804e-08 -4.231831614e-08 -7.629698435e-07 2.42855965e-06 --9.546358395e-06 -4.059959553e-06 -7.629698435e-07 4.637978629e-06 -1.787170373e-05 -3.638212719e-05 1.338916007e-05 2.42855965e-06 -1.787170373e-05 6.730730168e-05 --1.342019207e-05 -5.223866758e-06 -2.157474416e-06 1.648219259e-05 -2.124655037e-05 --5.223866758e-06 -1.023839225e-07 -2.773497933e-08 9.547260903e-06 -4.740276461e-06 --2.157474416e-06 -2.773497933e-08 -5.335841649e-09 3.966645857e-06 -1.931151893e-06 -1.648219259e-05 9.547260903e-06 3.966645857e-06 -1.516456427e-05 3.181880318e-05 --2.124655037e-05 -4.740276461e-06 -1.931151893e-06 3.181880318e-05 -2.718395831e-05 --3.400386804e-05 3.625095782e-07 -2.872613797e-06 4.047074732e-05 -4.759388902e-05 -3.625095782e-07 1.732389966e-08 -4.596372451e-08 -4.539585766e-07 4.074630214e-07 --2.872613797e-06 -4.596372451e-08 3.416014206e-08 3.500282151e-06 -3.659487451e-06 -4.047074732e-05 -4.539585766e-07 3.500282151e-06 -4.814359542e-05 5.675147186e-05 --4.759388902e-05 4.074630214e-07 -3.659487451e-06 5.675147186e-05 -6.614404287e-05 --9.817885954e-06 -2.272597197e-06 -1.172238628e-06 1.081262043e-05 -1.518803397e-05 --2.272597197e-06 -5.782209193e-08 -7.162777784e-09 3.121698248e-06 -2.714891458e-06 --1.172238628e-06 -7.162777784e-09 9.091980481e-09 1.640169981e-06 -1.36162275e-06 -1.081262043e-05 3.121698248e-06 1.640169981e-06 -1.109022889e-05 1.778521074e-05 --1.518803397e-05 -2.714891458e-06 -1.36162275e-06 1.778521074e-05 -2.212606344e-05 --3.971404694e-06 -9.734609551e-07 -5.497908725e-07 5.728899364e-06 -5.280428544e-06 --9.734609551e-07 -1.596804892e-08 -8.132397262e-09 1.994220154e-06 -7.473228753e-07 --5.497908725e-07 -8.132397262e-09 -4.089073827e-09 1.128642646e-06 -4.198958609e-07 -5.728899364e-06 1.994220154e-06 1.128642646e-06 -6.700848547e-06 9.066671768e-06 --5.280428544e-06 -7.473228753e-07 -4.198958609e-07 9.066671768e-06 -5.67702112e-06 --7.617420484e-06 -9.614440681e-07 -8.079356316e-07 9.711073543e-06 -1.059589927e-05 --9.614440681e-07 -2.150067515e-08 -8.048220618e-09 1.496647886e-06 -1.040923038e-06 --8.079356316e-07 -8.048220618e-09 2.662017518e-09 1.284875397e-06 -8.449764344e-07 -9.711073543e-06 1.496647886e-06 1.284875397e-06 -1.164492085e-05 1.431264394e-05 --1.059589927e-05 -1.040923038e-06 -8.449764344e-07 1.431264394e-05 -1.385881352e-05 --0.0002489238229 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002988136131 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001050442716 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.175054822e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.009998387e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.326564211e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.791313279e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.611355788e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.585177399e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.101414689e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.823267747e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.513771828e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.539121333e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.677710479e-06 0.02232785205 -0.0002247971988 0 0 -0.02232785205 -0.05373345886 0.07908055835 0 0 --0.0002247971988 0.07908055835 -0.001607677102 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.115055775e-06 0.0006057406034 -0.0001505794035 0 0 -0.0006057406034 -0.001396357157 0.001039114141 0 0 --0.0001505794035 0.001039114141 -0.0004317814083 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.250898449e-08 -0.000600904649 5.789762414e-06 0 0 --0.000600904649 0.001551499532 0.0005283086948 0 0 -5.789762414e-06 0.0005283086948 -1.028988489e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.833776358e-08 -2.616171566e-05 2.590442003e-06 0 0 --2.616171566e-05 0.0001070422072 0.0002832918072 0 0 -2.590442003e-06 0.0002832918072 -5.484310605e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.250466442e-11 9.957453906e-07 -2.57946517e-09 0 0 -9.957453906e-07 -7.263418923e-06 0.0001123396098 0 0 --2.57946517e-09 0.0001123396098 -9.95470731e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.401195266e-08 3.21907897e-05 1.898101799e-06 0 0 -3.21907897e-05 -9.132995651e-05 1.610027128e-05 0 0 -1.898101799e-06 1.610027128e-05 2.222459691e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.255725566e-10 -9.111190637e-07 -4.778627725e-08 0 0 --9.111190637e-07 2.693999374e-06 2.014291034e-05 0 0 --4.778627725e-08 2.014291034e-05 1.948428237e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.015698893e-10 3.587800965e-06 -9.371616155e-08 0 0 -3.587800965e-06 -7.605505308e-06 1.570581918e-05 0 0 --9.371616155e-08 1.570581918e-05 -8.284081371e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.607432693e-10 9.780784759e-06 -7.557235187e-08 0 0 -9.780784759e-06 -2.504869811e-05 1.933479157e-05 0 0 --7.557235187e-08 1.933479157e-05 -2.994368382e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.951668223e-10 2.24825914e-06 3.872852962e-08 0 0 -2.24825914e-06 -6.252321573e-06 2.03844184e-05 0 0 -3.872852962e-08 2.03844184e-05 7.286701342e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.797090073e-10 2.3577519e-06 5.076864377e-08 0 0 -2.3577519e-06 -6.269931667e-06 9.602186851e-06 0 0 -5.076864377e-08 9.602186851e-06 4.229071278e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.941129951e-11 2.771251474e-06 9.313577023e-09 0 0 -2.771251474e-06 -7.016283207e-06 8.720628126e-06 0 0 -9.313577023e-09 8.720628126e-06 5.938664868e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.432758479e-11 1.969982828e-06 -5.909146669e-09 0 0 -1.969982828e-06 -4.912687081e-06 9.655945887e-06 0 0 --5.909146669e-09 9.655945887e-06 -5.894527883e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001111944648 0.0001699979965 -9.664381322e-06 -0.000618485131 -0.05261102133 -0.0001699979965 -0.0001658887951 -2.46039263e-05 0.0006871202246 0.02254112368 --9.664381322e-06 -2.46039263e-05 6.130916437e-07 9.144321603e-05 0.006949665538 --0.000618485131 0.0006871202246 9.144321603e-05 -0.002820381498 -0.1022235721 --0.05261102133 0.02254112368 0.006949665538 -0.1022235721 -0.01133140783 --0.0001873562092 8.95788827e-05 2.439294622e-05 -0.0004361151818 -0.005499351974 -8.95788827e-05 -2.989635954e-05 -4.460004187e-06 0.0002242169846 0.004063132226 -2.439294622e-05 -4.460004187e-06 8.355312407e-07 6.552466084e-05 0.001514494667 --0.0004361151818 0.0002242169846 6.552466084e-05 -0.0009960976999 -0.01106036704 --0.005499351974 0.004063132226 0.001514494667 -0.01106036704 -0.002469550752 --8.237230295e-06 1.04268781e-05 6.711867936e-06 -1.490735025e-05 0.0003005669973 -1.04268781e-05 6.377010853e-06 1.958136635e-06 3.020639018e-06 -0.0008678629698 -6.711867936e-06 1.958136635e-06 1.139900639e-07 3.68257111e-06 -0.0005051990576 --1.490735025e-05 3.020639018e-06 3.68257111e-06 -1.414608407e-05 0.0009385752214 -0.0003005669973 -0.0008678629698 -0.0005051990576 0.0009385752214 0.00116802621 --8.824612722e-06 -2.223486992e-06 -4.256317665e-06 -1.766232263e-05 -0.0003199452486 --2.223486992e-06 1.863541937e-06 1.079527847e-06 -8.548165549e-06 -0.0002546310525 --4.256317665e-06 1.079527847e-06 -1.422851335e-07 -1.215728848e-05 -0.000308818435 --1.766232263e-05 -8.548165549e-06 -1.215728848e-05 -2.842254592e-05 -0.0003461556784 --0.0003199452486 -0.0002546310525 -0.000308818435 -0.0003461556784 0.0008936267335 -1.540073764e-07 -3.494453413e-07 -8.913695975e-07 5.730043709e-07 -6.534869621e-06 --3.494453413e-07 -2.834405033e-07 -3.36744406e-07 1.569073245e-07 3.89646414e-05 --8.913695975e-07 -3.36744406e-07 -1.231163025e-08 -1.226470008e-07 9.072962495e-05 -5.730043709e-07 1.569073245e-07 -1.226470008e-07 1.594751725e-07 -5.698853334e-05 --6.534869621e-06 3.89646414e-05 9.072962495e-05 -5.698853334e-05 -0.0002639822163 -1.349681304e-06 -8.235174811e-07 -4.395319863e-07 2.836423834e-06 -1.230805776e-05 --8.235174811e-07 -1.233460734e-07 -4.182151021e-08 -1.115131692e-06 1.679168102e-05 --4.395319863e-07 -4.182151021e-08 -1.042697345e-08 -6.187904516e-07 8.606018622e-06 -2.836423834e-06 -1.115131692e-06 -6.187904516e-07 5.355476393e-06 -3.499524319e-05 --1.230805776e-05 1.679168102e-05 8.606018622e-06 -3.499524319e-05 -2.542301411e-05 --4.177689735e-08 2.273558627e-08 -2.004673165e-08 -2.049625292e-07 -8.95715617e-06 -2.273558627e-08 3.280666598e-08 3.012639965e-08 -4.275011731e-08 -4.496758689e-06 --2.004673165e-08 3.012639965e-08 -1.445865052e-09 -1.639787888e-07 -8.284118545e-06 --2.049625292e-07 -4.275011731e-08 -1.639787888e-07 -4.786411284e-07 -1.194062581e-05 --8.95715617e-06 -4.496758689e-06 -8.284118545e-06 -1.194062581e-05 2.339615637e-05 --1.74414304e-07 1.180238065e-07 9.629082618e-08 -4.811126071e-07 -9.810118145e-06 -1.180238065e-07 -6.741607153e-08 -3.854036622e-08 3.587601663e-07 9.198591173e-06 -9.629082618e-08 -3.854036622e-08 3.75453412e-09 3.365960094e-07 1.089019117e-05 --4.811126071e-07 3.587601663e-07 3.365960094e-07 -1.238595461e-06 -2.023338474e-05 --9.810118145e-06 9.198591173e-06 1.089019117e-05 -2.023338474e-05 -2.525754847e-05 -2.123171097e-07 1.102967342e-08 -2.375430042e-08 1.402891366e-07 -1.682554404e-05 -1.102967342e-08 -5.971602211e-08 -1.43011431e-08 1.669547676e-07 8.124865108e-06 --2.375430042e-08 -1.43011431e-08 -1.745289464e-10 1.891071876e-08 3.832905677e-06 -1.402891366e-07 1.669547676e-07 1.891071876e-08 -3.301586503e-07 -3.494993334e-05 --1.682554404e-05 8.124865108e-06 3.832905677e-06 -3.494993334e-05 -9.833163002e-06 -2.856836786e-07 2.781241481e-08 3.549482909e-08 3.613758944e-07 -1.003476846e-05 -2.781241481e-08 -4.637061375e-09 8.746925651e-09 6.388632986e-08 6.190472849e-07 -3.549482909e-08 8.746925651e-09 5.979902917e-10 2.421922094e-08 -2.396561268e-06 -3.613758944e-07 6.388632986e-08 2.421922094e-08 3.449364798e-07 -1.893095161e-05 --1.003476846e-05 6.190472849e-07 -2.396561268e-06 -1.893095161e-05 5.678704345e-06 -5.550675283e-08 2.877631116e-09 -1.11234702e-08 2.58973982e-08 -5.053827453e-06 -2.877631116e-09 -2.123030242e-08 -7.557453787e-09 5.60852548e-08 2.89113361e-06 --1.11234702e-08 -7.557453787e-09 -5.022166458e-11 1.268464671e-08 2.042335027e-06 -2.58973982e-08 5.60852548e-08 1.268464671e-08 -1.280870421e-07 -1.043161164e-05 --5.053827453e-06 2.89113361e-06 2.042335027e-06 -1.043161164e-05 -4.893141891e-06 -1.575288939e-08 1.895013112e-08 -1.400156877e-09 -6.47458992e-08 -5.979329687e-06 -1.895013112e-08 -1.72041909e-08 -3.138152452e-09 7.347056533e-08 2.338376227e-06 --1.400156877e-09 -3.138152452e-09 7.161057529e-11 1.125586263e-08 8.778723215e-07 --6.47458992e-08 7.347056533e-08 1.125586263e-08 -3.066080201e-07 -1.148970928e-05 --5.979329687e-06 2.338376227e-06 8.778723215e-07 -1.148970928e-05 -1.530727661e-06 -7.523468034e-08 1.028779927e-08 -1.600823572e-09 4.896297194e-08 -5.7116515e-06 -1.028779927e-08 -1.203306197e-08 -1.023100788e-09 4.782207869e-08 1.634543007e-06 --1.600823572e-09 -1.023100788e-09 -1.405898549e-11 1.419079241e-09 2.660714317e-07 -4.896297194e-08 4.782207869e-08 1.419079241e-09 -9.398509946e-08 -1.110895352e-05 --5.7116515e-06 1.634543007e-06 2.660714317e-07 -1.110895352e-05 -5.392276835e-07 -0.1078708585 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01691974436 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.131399234 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05090645595 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00296597629 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004455672188 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00102737787 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001611386216 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001352243715 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003810405104 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.514568965e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.809632674e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.487444812e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1084385162 0.07577350281 0.01592312013 0 0 -0.07577350281 0.05124419562 0.09065452833 0 0 -0.01592312013 0.09065452833 0.103599332 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.07016288626 0.02974083568 -0.0119195292 0 0 -0.02974083568 0.06414421348 0.03349057178 0 0 --0.0119195292 0.03349057178 0.005618265552 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01011219854 0.01343331719 0.0018054587 0 0 -0.01343331719 -0.03144072461 0.03326664918 0 0 -0.0018054587 0.03326664918 0.01319533099 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005096664516 -0.002192286939 0.01576907265 0 0 --0.002192286939 -0.004411158241 -0.00682828588 0 0 -0.01576907265 -0.00682828588 0.03521103591 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.131317357e-05 -1.352013429e-06 0.0001260234709 0 0 --1.352013429e-06 5.904131594e-05 4.947156089e-05 0 0 -0.0001260234709 4.947156089e-05 0.0002298541177 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001109021277 0.0001668069565 -0.0006069099549 0 0 -0.0001668069565 -0.0004695966526 0.0007435060439 0 0 --0.0006069099549 0.0007435060439 -0.0009609205468 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001478597287 2.131151089e-05 0.0006071089266 0 0 -2.131151089e-05 -0.0009026141423 0.0002136638981 0 0 -0.0006071089266 0.0002136638981 0.001175213292 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.651622329e-05 6.981599014e-05 -8.378779008e-05 0 0 -6.981599014e-05 -1.692389518e-05 0.0001259707525 0 0 --8.378779008e-05 0.0001259707525 -0.000175954035 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.512780803e-05 -2.134438852e-05 2.459419109e-05 0 0 --2.134438852e-05 0.0001581184205 -0.0001029261758 0 0 -2.459419109e-05 -0.0001029261758 0.0001367586816 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.299444154e-05 3.014738451e-05 4.103496783e-05 0 0 -3.014738451e-05 -0.0002311559192 0.0001114800891 0 0 -4.103496783e-05 0.0001114800891 6.624289924e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.634005353e-06 2.152796577e-05 -4.017924324e-05 0 0 -2.152796577e-05 -0.0001010809435 9.64026637e-05 0 0 --4.017924324e-05 9.64026637e-05 -0.0001147108456 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.28388978e-05 -1.143031626e-05 2.726798525e-05 0 0 --1.143031626e-05 -1.073076193e-05 -1.607972949e-05 0 0 -2.726798525e-05 -1.607972949e-05 6.218040071e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.43566774e-05 1.535895705e-05 -2.717092851e-06 0 0 -1.535895705e-05 -4.191675237e-05 3.290430703e-05 0 0 --2.717092851e-06 3.290430703e-05 -6.854964091e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009942450875 0.07655489308 0.04316125086 0.1047177475 -0.1228581164 -0.07655489308 -0.1618269688 0.1342361942 0.02811265553 0.008676347307 -0.04316125086 0.1342361942 0.06798510772 -0.02475318275 0.05104173112 -0.1047177475 0.02811265553 -0.02475318275 -0.175117756 -0.07756567726 --0.1228581164 0.008676347307 0.05104173112 -0.07756567726 0.01253826108 -0.05931417938 0.01560917592 0.04837102052 0.008966674651 0.02650768153 -0.01560917592 -0.02975907009 0.01681788263 -0.00419365907 0.04057535282 -0.04837102052 0.01681788263 0.06990065768 2.035264585e-05 0.01603545535 -0.008966674651 -0.00419365907 2.035264585e-05 -0.01196929712 -0.07149901836 -0.02650768153 0.04057535282 0.01603545535 -0.07149901836 0.1254369262 -0.006353016552 -0.006894688186 0.01830352276 0.00298460074 -0.006603609892 --0.006894688186 -0.001188251511 0.002806625107 -0.008517468286 0.0009308455989 -0.01830352276 0.002806625107 0.01189396016 0.006008562035 0.01962400923 -0.00298460074 -0.008517468286 0.006008562035 0.00612742871 -0.01834259902 --0.006603609892 0.0009308455989 0.01962400923 -0.01834259902 -0.002961799759 --0.00269979538 -0.003056753055 -0.0001609844366 0.003309019551 -0.006953440307 --0.003056753055 -0.003284471377 0.002321696756 0.001259277922 -0.008554689169 --0.0001609844366 0.002321696756 0.004526828658 -0.009703541811 0.005018671451 -0.003309019551 0.001259277922 -0.009703541811 0.01285392897 0.004208199626 --0.006953440307 -0.008554689169 0.005018671451 0.004208199626 -0.01959004035 -0.0009273356315 0.0004373488504 -0.001468886914 0.00192230963 0.001331718594 -0.0004373488504 0.0003304454203 -0.001352655027 0.001200365289 0.0009081175297 --0.001468886914 -0.001352655027 0.003750752498 -0.003526049679 -0.00308246111 -0.00192230963 0.001200365289 -0.003526049679 0.003873741364 0.002995525883 -0.001331718594 0.0009081175297 -0.00308246111 0.002995525883 0.002576299164 -0.0001327810522 0.0003223627386 -0.0006140989578 0.0008303501151 0.0002226084642 -0.0003223627386 6.311052629e-05 -0.0002128511016 0.0003653973611 0.000549873528 --0.0006140989578 -0.0002128511016 0.0005965176004 -0.000419533603 -0.0009903379853 -0.0008303501151 0.0003653973611 -0.000419533603 -9.196559818e-05 0.001148432365 -0.0002226084642 0.000549873528 -0.0009903379853 0.001148432365 0.0007620723944 --0.000347121242 -0.0002753588762 0.0003041557213 -0.0001257777515 -0.0007278235618 --0.0002753588762 -0.0002790377889 0.000330583422 -0.0001173733996 -0.0006578923193 -0.0003041557213 0.000330583422 -0.0002728682847 -3.156888777e-05 0.000767218191 --0.0001257777515 -0.0001173733996 -3.156888777e-05 0.0001637567261 -0.0002973824996 --0.0007278235618 -0.0006578923193 0.000767218191 -0.0002973824996 -0.00161517157 -0.0001244470481 -8.077180087e-06 6.00319123e-05 3.669000545e-05 7.218233378e-05 --8.077180087e-06 -5.4233392e-06 -3.258673887e-05 -2.582191084e-06 1.904250921e-05 -6.00319123e-05 -3.258673887e-05 0.0001716563425 -9.086271467e-05 -1.331840671e-05 -3.669000545e-05 -2.582191084e-06 -9.086271467e-05 0.0001865612271 -5.827759362e-05 -7.218233378e-05 1.904250921e-05 -1.331840671e-05 -5.827759362e-05 0.0001632411688 -3.92557133e-05 0.000100125854 -0.0001542270578 0.0001620358758 8.728341888e-05 -0.000100125854 -7.568046649e-06 -3.493695409e-05 0.0001056783908 0.0001090623674 --0.0001542270578 -3.493695409e-05 0.000143669309 -0.0001672214707 -0.0002161766348 -0.0001620358758 0.0001056783908 -0.0001672214707 5.122592241e-05 0.0002270499379 -8.728341888e-05 0.0001090623674 -0.0002161766348 0.0002270499379 0.0002262642239 --9.768757037e-05 -3.225269182e-05 4.325385541e-05 4.363263894e-06 -0.0001742223992 --3.225269182e-05 -5.18455255e-05 6.668279381e-05 -1.367892937e-05 -9.788256449e-05 -4.325385541e-05 6.668279381e-05 -7.775672419e-05 2.465815122e-05 0.0001249111116 -4.363263894e-06 -1.367892937e-05 2.465815122e-05 -6.665148494e-05 -2.412402344e-05 --0.0001742223992 -9.788256449e-05 0.0001249111116 -2.412402344e-05 -0.0003141137891 -3.712501978e-06 3.165761679e-06 1.572184697e-05 1.397642908e-05 -1.68642565e-05 -3.165761679e-06 -9.61803972e-06 7.862628959e-06 -7.617208786e-06 5.836899853e-06 -1.572184697e-05 7.862628959e-06 1.023763517e-05 1.384133804e-05 6.009950791e-06 -1.397642908e-05 -7.617208786e-06 1.384133804e-05 -3.149734325e-05 -1.25396043e-05 --1.68642565e-05 5.836899853e-06 6.009950791e-06 -1.25396043e-05 4.178920635e-06 -1.787957197e-06 1.772808654e-05 -1.778860679e-05 2.792672605e-05 -2.245859788e-06 -1.772808654e-05 -1.3047002e-05 3.780487302e-06 1.923710284e-05 1.08023248e-05 --1.778860679e-05 3.780487302e-06 2.768098603e-05 -3.045552362e-05 -2.697878735e-05 -2.792672605e-05 1.923710284e-05 -3.045552362e-05 -2.225058893e-06 3.306752591e-05 --2.245859788e-06 1.08023248e-05 -2.697878735e-05 3.306752591e-05 1.70427692e-05 --1.993728377e-05 1.055265218e-06 5.950137071e-06 7.705853237e-06 -3.801717008e-05 -1.055265218e-06 -1.800908429e-05 2.042007581e-05 -1.051167576e-06 -1.56264397e-05 -5.950137071e-06 2.042007581e-05 -1.572094454e-05 5.918038845e-06 2.272731959e-05 -7.705853237e-06 -1.051167576e-06 5.918038845e-06 -2.905520009e-05 -7.010516291e-06 --3.801717008e-05 -1.56264397e-05 2.272731959e-05 -7.010516291e-06 -5.276224214e-05 --0.00147372564 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001894944774 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002184983043 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002189362119 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.745999586e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.120667834e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.014567663e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.81816318e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.098415134e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.344868572e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.466258704e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.373049952e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.465536128e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008906431428 0.0008588011494 0.05792085549 0 0 -0.0008588011494 -0.001289265906 -0.08694592389 0 0 -0.05792085549 -0.08694592389 -0.002192536016 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00100454106 0.0005763471541 0.1471491481 0 0 -0.0005763471541 -0.001044360631 -0.1622953308 0 0 -0.1471491481 -0.1622953308 -0.008457880088 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001289152828 -0.0007117322218 0.09612642655 0 0 --0.0007117322218 0.0007319644541 -0.09782135977 0 0 -0.09612642655 -0.09782135977 -0.001973470769 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003749805835 -0.0006543214059 0.0230811533 0 0 --0.0006543214059 0.0007751896065 -0.02194540831 0 0 -0.0230811533 -0.02194540831 0.001396313229 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002523517421 -0.0003793297594 0.001872194087 0 0 --0.0003793297594 0.0004756008806 -0.001308301286 0 0 -0.001872194087 -0.001308301286 0.001442959106 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.427594089e-05 -8.246103626e-05 -0.002832112797 0 0 --8.246103626e-05 0.0001119063639 0.00325480546 0 0 --0.002832112797 0.00325480546 0.0004585626717 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.479474522e-05 3.251859337e-05 -0.002523688176 0 0 -3.251859337e-05 -3.980131204e-05 0.002715261948 0 0 --0.002523688176 0.002715261948 -1.375906841e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.23618264e-05 4.86600525e-05 -0.0002543193702 0 0 -4.86600525e-05 -6.34619236e-05 0.0002250791858 0 0 --0.0002543193702 0.0002250791858 -0.0001948488172 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.114697543e-05 3.048575777e-05 0.0003468582203 0 0 -3.048575777e-05 -3.974878194e-05 -0.0004308082507 0 0 -0.0003468582203 -0.0004308082507 -0.0001449216321 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.153291942e-06 -4.294188596e-06 0.0001579009707 0 0 --4.294188596e-06 5.18684661e-06 -0.0001582007578 0 0 -0.0001579009707 -0.0001582007578 8.201184376e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.466682688e-06 -1.173626643e-05 8.968821292e-05 0 0 --1.173626643e-05 1.467402485e-05 -8.691352394e-05 0 0 -8.968821292e-05 -8.691352394e-05 4.398713492e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.452132864e-07 -9.274695722e-07 -9.51786785e-06 0 0 --9.274695722e-07 1.181891069e-06 1.245900448e-05 0 0 --9.51786785e-06 1.245900448e-05 4.021846988e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.350166398e-08 -1.149723738e-07 -4.42964008e-05 0 0 --1.149723738e-07 2.208143112e-07 4.862421222e-05 0 0 --4.42964008e-05 4.862421222e-05 3.106645788e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003678267688 2.148864341e-05 0.04968482597 0.0006307135436 -0.01115303995 -2.148864341e-05 -0.0001191775554 -0.003328492322 0.0001368216744 -0.02178055818 -0.04968482597 -0.003328492322 0.0003362107139 0.02133471009 -0.0001636909634 -0.0006307135436 0.0001368216744 0.02133471009 0.0008887501497 -0.07074911904 --0.01115303995 -0.02178055818 -0.0001636909634 -0.07074911904 0.0003629388599 --0.0005472737391 -0.000319330604 0.0394223448 -0.0004797628149 0.002521059337 --0.000319330604 -0.0001553704065 -0.009997229088 -0.0003710135462 -0.005956261751 -0.0394223448 -0.009997229088 -0.0005397891413 0.007874424279 0.00108407117 --0.0004797628149 -0.0003710135462 0.007874424279 -0.0005567686646 -0.04233856344 -0.002521059337 -0.005956261751 0.00108407117 -0.04233856344 -0.001400878691 --0.0004411851726 -9.578784755e-05 0.0103688252 -0.0004274192421 0.007434134601 --9.578784755e-05 5.923127301e-05 -0.006317813594 -0.000149924045 0.004209698496 -0.0103688252 -0.006317813594 -0.0002570994004 -0.002614262627 0.0004852814196 --0.0004274192421 -0.000149924045 -0.002614262627 -0.0005061559591 -0.003928082414 -0.007434134601 0.004209698496 0.0004852814196 -0.003928082414 -0.0006268880572 -1.372204764e-05 9.675334567e-05 0.00022344212 4.932711327e-05 0.002292411888 -9.675334567e-05 9.504035481e-05 -0.0008202182106 9.450449436e-05 0.001237838226 -0.00022344212 -0.0008202182106 0.000114344 -0.0009778858118 -0.0001607865809 -4.932711327e-05 9.450449436e-05 -0.0009778858118 7.825324006e-05 0.001392667421 -0.002292411888 0.001237838226 -0.0001607865809 0.001392667421 0.0002545304692 -2.864262495e-05 2.416435242e-05 7.578515434e-05 3.311765358e-05 7.103014279e-05 -2.416435242e-05 1.035295692e-05 8.981159153e-05 1.959653808e-05 -0.000149548433 -7.578515434e-05 8.981159153e-05 1.856950841e-05 0.0001432888712 -3.154569761e-05 -3.311765358e-05 1.959653808e-05 0.0001432888712 3.61491564e-05 -0.0002450947485 -7.103014279e-05 -0.000149548433 -3.154569761e-05 -0.0002450947485 5.378549897e-05 --1.547020996e-05 -1.576212094e-05 0.0001593979584 -2.251345952e-05 -1.095027525e-05 --1.576212094e-05 -1.348226462e-05 -6.21233098e-05 -2.056984729e-05 -3.886399304e-05 -0.0001593979584 -6.21233098e-05 -4.486379496e-05 6.57350466e-05 6.146395426e-05 --2.251345952e-05 -2.056984729e-05 6.57350466e-05 -3.006177857e-05 -0.0002817003671 --1.095027525e-05 -3.886399304e-05 6.146395426e-05 -0.0002817003671 -8.225404748e-05 -1.168711396e-07 2.409640074e-06 -1.899301496e-05 1.177210565e-06 5.90003766e-05 -2.409640074e-06 2.918409538e-06 -2.025778556e-05 3.212836235e-06 3.066740519e-05 --1.899301496e-05 -2.025778556e-05 2.136249171e-06 -2.488073966e-05 -3.366816451e-06 -1.177210565e-06 3.212836235e-06 -2.488073966e-05 3.267229366e-06 3.702096609e-05 -5.90003766e-05 3.066740519e-05 -3.366816451e-06 3.702096609e-05 5.544015825e-06 -3.397679264e-06 3.541366726e-06 4.225385451e-06 3.8263086e-06 3.424177964e-05 -3.541366726e-06 2.257830136e-06 -4.660871327e-06 2.965188232e-06 8.900806605e-06 -4.225385451e-06 -4.660871327e-06 4.101725376e-06 -6.582535186e-06 -5.988483178e-06 -3.8263086e-06 2.965188232e-06 -6.582535186e-06 3.937782372e-06 1.082356806e-05 -3.424177964e-05 8.900806605e-06 -5.988483178e-06 1.082356806e-05 9.178266991e-06 --4.086038689e-07 -1.139034489e-06 1.462768723e-05 -1.122214264e-06 -1.293585353e-05 --1.139034489e-06 -1.533812179e-06 4.31993669e-06 -1.837943414e-06 -1.711420345e-05 -1.462768723e-05 4.31993669e-06 -4.438453587e-06 1.773838771e-05 5.827173774e-06 --1.122214264e-06 -1.837943414e-06 1.773838771e-05 -1.987254549e-06 -4.116680343e-05 --1.293585353e-05 -1.711420345e-05 5.827173774e-06 -4.116680343e-05 -7.57160096e-06 -7.755661628e-07 7.362981148e-07 1.426321214e-06 1.156174675e-06 -1.004018017e-06 -7.362981148e-07 5.940340448e-07 2.373360576e-06 1.020791539e-06 -4.845359493e-06 -1.426321214e-06 2.373360576e-06 1.336979447e-06 3.792716711e-06 -1.899112915e-06 -1.156174675e-06 1.020791539e-06 3.792716711e-06 1.729273438e-06 -7.630686588e-06 --1.004018017e-06 -4.845359493e-06 -1.899112915e-06 -7.630686588e-06 2.695465967e-06 --1.226708497e-08 1.554844859e-07 8.783287822e-07 -3.607501089e-08 6.518878867e-06 -1.554844859e-07 2.165578068e-07 -3.887852146e-06 1.348842355e-07 4.542582686e-06 -8.783287822e-07 -3.887852146e-06 1.988711234e-07 -3.689131603e-06 -2.339783353e-07 --3.607501089e-08 1.348842355e-07 -3.689131603e-06 -4.955200882e-08 3.56921518e-06 -6.518878867e-06 4.542582686e-06 -2.339783353e-07 3.56921518e-06 3.481310952e-07 --3.699853859e-07 -4.427926612e-07 3.242091664e-06 -5.833403214e-07 -1.605636863e-06 --4.427926612e-07 -4.407204952e-07 -4.149050494e-07 -6.190218802e-07 -2.106965688e-06 -3.242091664e-06 -4.149050494e-07 -1.392412301e-06 2.621442216e-06 1.873501895e-06 --5.833403214e-07 -6.190218802e-07 2.621442216e-06 -8.411710258e-07 -7.656938861e-06 --1.605636863e-06 -2.106965688e-06 1.873501895e-06 -7.656938861e-06 -2.493963882e-06 -1.841269997e-07 1.533147455e-07 2.279671e-06 2.408868884e-07 -2.03370486e-07 -1.533147455e-07 1.169389736e-07 -9.200718367e-08 1.808742374e-07 -7.208898964e-07 -2.279671e-06 -9.200718367e-08 3.812002424e-07 5.286564652e-07 -4.926452751e-07 -2.408868884e-07 1.808742374e-07 5.286564652e-07 2.854404685e-07 -2.116026031e-06 --2.03370486e-07 -7.208898964e-07 -4.926452751e-07 -2.116026031e-06 6.642871627e-07 -9.48609846e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002100409006 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006076147638 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000253309473 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.444014752e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.197031286e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.816165481e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.305562142e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.421864454e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.005192658e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.376595671e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.44861316e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.360743536e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001014111923 -0.0001137123075 0.07006011179 0 0 --0.0001137123075 -0.0003757105609 0.002042195982 0 0 -0.07006011179 0.002042195982 -0.0005986372109 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001476198448 0.0002258581379 0.0007774676725 0 0 -0.0002258581379 -0.0003592854189 0.0002170104561 0 0 -0.0007774676725 0.0002170104561 -0.000458830713 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003575033436 7.649413322e-05 0.03127681928 0 0 -7.649413322e-05 -0.0001060398999 0.0007175399085 0 0 -0.03127681928 0.0007175399085 1.936964931e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.974093554e-05 -4.11492202e-05 0.02942202394 0 0 --4.11492202e-05 3.279855121e-06 0.0004551131981 0 0 -0.02942202394 0.0004551131981 0.0002446644146 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.316605893e-05 -1.320059034e-05 0.002198418648 0 0 --1.320059034e-05 -4.932477611e-06 1.830491514e-05 0 0 -0.002198418648 1.830491514e-05 2.654274302e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.191446092e-05 -8.75924747e-07 6.020318645e-06 0 0 --8.75924747e-07 -8.386260334e-08 -2.898208409e-06 0 0 -6.020318645e-06 -2.898208409e-06 1.844262457e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.495481236e-05 -4.47943405e-07 0.0007992359082 0 0 --4.47943405e-07 3.719882698e-07 1.455023712e-05 0 0 -0.0007992359082 1.455023712e-05 6.406691945e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.856441514e-06 1.852265261e-07 2.636045429e-06 0 0 -1.852265261e-07 -8.503599831e-07 1.020607197e-06 0 0 -2.636045429e-06 1.020607197e-06 -1.197345858e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.060108891e-05 2.554787227e-07 0.0001740983631 0 0 -2.554787227e-07 3.809688367e-07 4.384742338e-06 0 0 -0.0001740983631 4.384742338e-06 5.540392643e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.86383631e-06 2.077097299e-07 5.447648715e-05 0 0 -2.077097299e-07 9.484075099e-08 1.85828565e-06 0 0 -5.447648715e-05 1.85828565e-06 -1.171161179e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.679275915e-07 -2.80206229e-08 -2.362473555e-05 0 0 --2.80206229e-08 -1.088566943e-07 -5.552274061e-07 0 0 --2.362473555e-05 -5.552274061e-07 -1.962761804e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.983446974e-07 2.686735713e-08 4.463978279e-05 0 0 -2.686735713e-08 9.365244197e-08 1.024896464e-06 0 0 -4.463978279e-05 1.024896464e-06 2.217021967e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.070250553e-07 2.097749314e-08 6.251435333e-06 0 0 -2.097749314e-08 6.812687353e-09 2.203088571e-07 0 0 -6.251435333e-06 2.203088571e-07 -3.677043407e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001638691976 -0.0002670124997 0.01596998387 7.218728351e-05 0.01652251839 --0.0002670124997 -0.0003103564065 0.001768350164 -0.0003744254485 0.1419872755 -0.01596998387 0.001768350164 -0.001116119439 -0.1412997983 0.0008094282359 -7.218728351e-05 -0.0003744254485 -0.1412997983 5.54686131e-05 0.05587145134 -0.01652251839 0.1419872755 0.0008094282359 0.05587145134 8.180517725e-05 --0.0007013514008 0.0002668411525 -0.05890947695 0.0001436267477 0.005535225832 -0.0002668411525 -0.00046693295 -0.00233626498 0.0001807128925 0.07523848535 --0.05890947695 -0.00233626498 -0.0008809495477 -0.0775619546 -0.0001999467838 -0.0001436267477 0.0001807128925 -0.0775619546 0.0004931780131 0.01665222912 -0.005535225832 0.07523848535 -0.0001999467838 0.01665222912 0.000457448112 --2.062101e-05 0.0001884140306 -0.03067859822 0.0001825106539 -0.00249516376 -0.0001884140306 -0.0002421767859 -0.000876453516 0.0001004840685 0.02037448063 --0.03067859822 -0.000876453516 -0.0006239516844 -0.02085839324 -0.0001051359292 -0.0001825106539 0.0001004840685 -0.02085839324 0.0002193277975 -0.001330594687 --0.00249516376 0.02037448063 -0.0001051359292 -0.001330594687 0.000209008757 -0.0001146941406 -2.544622382e-05 0.01859435288 -2.152396788e-05 -0.001691523531 --2.544622382e-05 -4.169823981e-05 0.0004791141781 -1.444107422e-06 0.001334101639 -0.01859435288 0.0004791141781 0.0002464576845 -0.001289007783 -7.070732479e-06 --2.152396788e-05 -1.444107422e-06 -0.001289007783 1.145288687e-05 -0.001164528867 --0.001691523531 0.001334101639 -7.070732479e-06 -0.001164528867 1.20494036e-05 --4.113196455e-05 -3.669638859e-05 0.00762010095 -3.481221741e-05 0.0004831577856 --3.669638859e-05 -2.554931621e-05 0.0001265028641 -8.874703384e-06 0.0004089417927 -0.00762010095 0.0001265028641 0.0001435166277 -0.000417150127 -7.055238862e-06 --3.481221741e-05 -8.874703384e-06 -0.000417150127 -3.437304539e-06 0.0001190439759 -0.0004831577856 0.0004089417927 -7.055238862e-06 0.0001190439759 -3.589831215e-06 --8.493821691e-05 2.082295092e-07 0.003108891965 -5.364717767e-06 7.495624543e-05 -2.082295092e-07 3.206068088e-06 0.0001308696305 -1.355493239e-06 9.281980016e-05 -0.003108891965 0.0001308696305 1.90932385e-05 -6.681301968e-05 4.068693914e-06 --5.364717767e-06 -1.355493239e-06 -6.681301968e-05 -5.286086468e-07 -3.562653115e-06 -7.495624543e-05 9.281980016e-05 4.068693914e-06 -3.562653115e-06 -2.140035414e-07 -1.946643211e-06 -6.571320939e-07 0.0001630995777 -1.387734607e-07 -5.370593235e-06 --6.571320939e-07 -6.066390374e-08 1.781806019e-06 -3.369277364e-07 2.600170418e-06 -0.0001630995777 1.781806019e-06 4.272321485e-06 -1.387088431e-06 2.675857408e-08 --1.387734607e-07 -3.369277364e-07 -1.387088431e-06 -2.011951838e-07 -1.136885933e-05 --5.370593235e-06 2.600170418e-06 2.675857408e-08 -1.136885933e-05 -1.722701119e-07 -8.705762802e-07 -3.214435466e-08 -0.0001113810521 -2.221497154e-07 3.971606713e-05 --3.214435466e-08 -1.864937292e-06 -2.717736967e-06 -2.870524936e-07 7.960007238e-05 --0.0001113810521 -2.717736967e-06 -2.739506423e-06 -7.97502493e-05 1.296945057e-07 --2.221497154e-07 -2.870524936e-07 -7.97502493e-05 1.413297221e-07 3.103807517e-05 -3.971606713e-05 7.960007238e-05 1.296945057e-07 3.103807517e-05 1.42277185e-07 --6.992002427e-06 7.959964642e-07 0.0004501874807 -4.457712072e-07 -6.867179732e-06 -7.959964642e-07 8.379982291e-07 2.116160247e-05 -1.160671673e-07 1.345377275e-05 -0.0004501874807 2.116160247e-05 1.163315019e-06 -9.784024949e-06 1.004154227e-06 --4.457712072e-07 -1.160671673e-07 -9.784024949e-06 -1.720848487e-07 6.86831398e-06 --6.867179732e-06 1.345377275e-05 1.004154227e-06 6.86831398e-06 -1.103621627e-07 -1.223857877e-07 -1.885029659e-07 -3.474188905e-06 -4.165635666e-08 4.18278358e-06 --1.885029659e-07 -1.651856893e-07 -4.643264584e-07 -9.510010714e-08 6.18582291e-06 --3.474188905e-06 -4.643264584e-07 -2.112176616e-08 -5.721564213e-06 7.535907202e-08 --4.165635666e-08 -9.510010714e-08 -5.721564213e-06 -5.313142664e-08 2.995270403e-06 -4.18278358e-06 6.18582291e-06 7.535907202e-08 2.995270403e-06 -4.635607963e-08 --7.810739578e-07 -2.615306304e-08 -1.253010286e-05 4.023072409e-09 2.158953888e-06 --2.615306304e-08 -6.124967652e-08 -4.210115534e-07 -1.003985645e-08 1.61006292e-05 --1.253010286e-05 -4.210115534e-07 -1.813078368e-07 -1.627921123e-05 2.432909695e-08 -4.023072409e-09 -1.003985645e-08 -1.627921123e-05 3.530665986e-08 6.633704817e-06 -2.158953888e-06 1.61006292e-05 2.432909695e-08 6.633704817e-06 3.228980713e-08 -1.427852503e-07 2.431439888e-08 4.47726177e-05 -8.278520358e-08 -1.331997337e-06 -2.431439888e-08 1.202138508e-07 1.643478417e-06 -7.379838822e-09 7.630273898e-06 -4.47726177e-05 1.643478417e-06 4.216807528e-07 -7.697338023e-06 7.11148148e-08 --8.278520358e-08 -7.379838822e-09 -7.697338023e-06 -8.517667297e-09 3.990707921e-06 --1.331997337e-06 7.630273898e-06 7.11148148e-08 3.990707921e-06 -7.04621317e-09 -2.378149008e-07 -6.29214698e-08 -7.639094692e-06 3.25215051e-08 1.683483022e-06 --6.29214698e-08 -5.037663466e-08 -1.978058317e-07 -6.477392386e-08 7.415600508e-06 --7.639094692e-06 -1.978058317e-07 -1.674967108e-07 -7.05693513e-06 8.694221122e-08 -3.25215051e-08 -6.477392386e-08 -7.05693513e-06 -3.876641446e-08 3.432268116e-06 -1.683483022e-06 7.415600508e-06 8.694221122e-08 3.432268116e-06 -3.23780767e-08 -0.0003841648298 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009741402683 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004132469821 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.569324766e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.685441148e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.068045643e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.707847028e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.574118334e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.366737323e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.968573049e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.181649632e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.352664229e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.52629651e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.739017455e-05 -6.941413182e-06 -0.01997430315 0 0 --6.941413182e-06 0.0002174552353 -0.06795316869 0 0 --0.01997430315 -0.06795316869 -0.0004420679823 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.783430045e-05 -0.0002986613448 -0.01213189156 0 0 --0.0002986613448 -0.001824072715 -0.03923194536 0 0 --0.01213189156 -0.03923194536 -0.0002170480438 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.845372675e-06 5.459391994e-06 -0.01271169507 0 0 -5.459391994e-06 8.968203805e-05 -0.03916597537 0 0 --0.01271169507 -0.03916597537 2.144834886e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.748698683e-06 1.450692896e-05 -0.003345426607 0 0 -1.450692896e-05 0.0001167517149 -0.009969389493 0 0 --0.003345426607 -0.009969389493 4.024362241e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.324263865e-07 1.166569783e-06 -0.0002122600025 0 0 -1.166569783e-06 3.732770278e-06 -0.0006790463643 0 0 --0.0002122600025 -0.0006790463643 -4.336383511e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.456169886e-07 4.843165978e-06 -8.70187548e-05 0 0 -4.843165978e-06 3.361544438e-05 -0.0001898797278 0 0 --8.70187548e-05 -0.0001898797278 8.121790195e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.98467938e-08 -1.871882421e-06 -0.0001776098221 0 0 --1.871882421e-06 -1.104372062e-05 -0.0005562989439 0 0 --0.0001776098221 -0.0005562989439 -1.849919532e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.076698715e-08 1.876259768e-07 -3.782442284e-05 0 0 -1.876259768e-07 6.206216051e-07 -0.0001153184029 0 0 --3.782442284e-05 -0.0001153184029 2.119077902e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.444272829e-08 -2.993860213e-08 1.57060057e-05 0 0 --2.993860213e-08 -5.298449629e-08 4.963378323e-05 0 0 -1.57060057e-05 4.963378323e-05 -3.625312676e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.130591136e-08 -2.303948183e-07 -2.628686714e-05 0 0 --2.303948183e-07 -1.360233561e-06 -8.458452399e-05 0 0 --2.628686714e-05 -8.458452399e-05 -3.036628013e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.406289553e-08 -4.177809156e-08 -9.761660415e-06 0 0 --4.177809156e-08 -4.325980428e-07 -3.228778953e-05 0 0 --9.761660415e-06 -3.228778953e-05 -2.967050666e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.870677941e-09 2.355356486e-08 1.253666627e-06 0 0 -2.355356486e-08 1.6271894e-07 3.529245482e-06 0 0 -1.253666627e-06 3.529245482e-06 -3.237026517e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.024809944e-09 -2.178613136e-08 -6.168709642e-06 0 0 --2.178613136e-08 -1.25540112e-07 -1.971663841e-05 0 0 --6.168709642e-06 -1.971663841e-05 -4.973300921e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003032978675 -0.0001337557985 -0.05164172017 -0.0004131745036 0.1386197901 --0.0001337557985 -8.552230274e-05 -0.1144095022 -0.0002045339636 -0.01204517986 --0.05164172017 -0.1144095022 -0.0002298584977 0.01983119637 0.0002576258578 --0.0004131745036 -0.0002045339636 0.01983119637 -0.0002094336207 0.0567030511 -0.1386197901 -0.01204517986 0.0002576258578 0.0567030511 -0.001149034223 -0.0001166383745 0.0001629176959 -0.01932709515 0.0005658126558 0.02805665655 -0.0001629176959 -5.153539744e-05 -0.03619976422 -0.0002005973334 0.02046868926 --0.01932709515 -0.03619976422 -2.053522939e-05 0.02289763556 -0.0002938277249 -0.0005658126558 -0.0002005973334 0.02289763556 -0.001206097163 0.0533675871 -0.02805665655 0.02046868926 -0.0002938277249 0.0533675871 0.0001333404615 --1.399820632e-05 2.856568021e-05 0.000112514757 9.147003967e-05 0.01042799018 -2.856568021e-05 -1.10948928e-05 -0.007332815664 -1.515175019e-05 -0.006446117168 -0.000112514757 -0.007332815664 1.820374441e-05 0.001424398596 -4.689528165e-05 -9.147003967e-05 -1.515175019e-05 0.001424398596 -7.568550051e-05 -0.007871841112 -0.01042799018 -0.006446117168 -4.689528165e-05 -0.007871841112 -9.003313037e-05 -4.277713626e-05 -2.94797455e-05 0.002563566316 -6.998183497e-05 0.008341967678 --2.94797455e-05 -5.40134982e-06 -0.003681857301 2.2095318e-05 -0.01248082048 -0.002563566316 -0.003681857301 2.269209099e-06 -0.005601807772 2.652118311e-05 --6.998183497e-05 2.2095318e-05 -0.005601807772 8.918471771e-05 -0.01883133259 -0.008341967678 -0.01248082048 2.652118311e-05 -0.01883133259 0.0001315131781 -4.902340261e-06 -1.7852149e-06 0.000203331639 -2.880511036e-06 0.0003153423178 --1.7852149e-06 -1.926055089e-06 -0.0002353998027 -1.124950982e-06 -0.000580265369 -0.000203331639 -0.0002353998027 4.795821071e-07 -0.000364282536 3.312811884e-07 --2.880511036e-06 -1.124950982e-06 -0.000364282536 -7.966263307e-07 -0.000905554269 -0.0003153423178 -0.000580265369 3.312811884e-07 -0.000905554269 1.038406278e-05 -4.299667417e-08 -4.031425312e-06 -9.059128359e-05 -1.053286546e-05 5.922968619e-05 --4.031425312e-06 -8.532080098e-07 -0.0001147929161 2.196507858e-06 0.0001145613678 --9.059128359e-05 -0.0001147929161 -1.485939891e-07 0.0001325121723 5.977432177e-06 --1.053286546e-05 2.196507858e-06 0.0001325121723 1.701683561e-05 0.0003404651833 -5.922968619e-05 0.0001145613678 5.977432177e-06 0.0003404651833 1.029197838e-05 --9.835045422e-07 6.794345606e-07 0.0001306173148 1.3864866e-06 0.0004448860946 -6.794345606e-07 1.759905632e-08 -0.000203639921 -8.063255259e-07 -0.0006273069309 -0.0001306173148 -0.000203639921 1.091364303e-07 -0.0002960786181 8.122470082e-09 -1.3864866e-06 -8.063255259e-07 -0.0002960786181 -2.095376223e-06 -0.0009528160969 -0.0004448860946 -0.0006273069309 8.122470082e-09 -0.0009528160969 -1.989561265e-06 --2.111741803e-07 2.195050461e-07 1.252303132e-06 5.966113963e-07 1.845288224e-05 -2.195050461e-07 -5.015448615e-08 -1.68190901e-05 -3.157809822e-07 -1.180607966e-05 -1.252303132e-06 -1.68190901e-05 -3.13225864e-08 -1.34144577e-05 -1.169745888e-07 -5.966113963e-07 -3.157809822e-07 -1.34144577e-05 -1.178656974e-06 -1.433936907e-05 -1.845288224e-05 -1.180607966e-05 -1.169745888e-07 -1.433936907e-05 -2.049625071e-07 --1.247522761e-07 -1.017158497e-07 -2.193613975e-05 -2.938757828e-07 1.239022395e-05 --1.017158497e-07 -1.009115848e-07 -2.117709538e-05 -1.121925126e-07 3.07727948e-05 --2.193613975e-05 -2.117709538e-05 -8.565226079e-08 1.972169856e-05 2.203750949e-07 --2.938757828e-07 -1.121925126e-07 1.972169856e-05 1.082217431e-07 7.214618459e-05 -1.239022395e-05 3.07727948e-05 2.203750949e-07 7.214618459e-05 1.188505213e-08 --7.13237725e-07 2.814666385e-07 1.014762251e-05 4.722960247e-07 7.480056154e-05 -2.814666385e-07 7.799424666e-08 -3.115882141e-05 -2.237444468e-07 -7.841435261e-05 -1.014762251e-05 -3.115882141e-05 -2.694719027e-09 -3.088858996e-05 2.986522763e-08 -4.722960247e-07 -2.237444468e-07 -3.088858996e-05 -3.774773857e-07 -0.0001154128241 -7.480056154e-05 -7.841435261e-05 2.986522763e-08 -0.0001154128241 -1.735825093e-06 --8.162998851e-08 -5.741953996e-08 -4.722589897e-06 -1.712505444e-07 8.240935811e-06 --5.741953996e-08 1.754745019e-09 -7.407023544e-06 2.55283279e-08 2.476407952e-06 --4.722589897e-06 -7.407023544e-06 -2.471869342e-08 2.223860395e-06 8.623189285e-08 --1.712505444e-07 2.55283279e-08 2.223860395e-06 2.60331733e-07 9.753709245e-06 -8.240935811e-06 2.476407952e-06 8.623189285e-08 9.753709245e-06 -2.612050319e-07 --7.427307746e-08 -1.362187684e-08 -5.645481803e-06 -6.649846763e-08 1.06552298e-05 --1.362187684e-08 -1.500557463e-08 -9.446430598e-06 -2.702076267e-08 1.562219282e-06 --5.645481803e-06 -9.446430598e-06 -2.629779564e-08 2.801134115e-06 5.907762522e-08 --6.649846763e-08 -2.702076267e-08 2.801134115e-06 4.887110536e-08 9.535335876e-06 -1.06552298e-05 1.562219282e-06 5.907762522e-08 9.535335876e-06 -1.521745189e-07 --1.229037955e-07 1.599644869e-08 -1.692307187e-06 -8.822477328e-09 1.886242986e-05 -1.599644869e-08 1.261361599e-08 -1.029855825e-05 -2.392038573e-08 -1.261683674e-05 --1.692307187e-06 -1.029855825e-05 -1.666322581e-08 -3.427683104e-06 4.746463514e-08 --8.822477328e-09 -2.392038573e-08 -3.427683104e-06 2.377327226e-08 -1.414316953e-05 -1.886242986e-05 -1.261683674e-05 4.746463514e-08 -1.414316953e-05 -2.88860772e-07 --0.1250540102 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1268123657 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2129037573 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.07644593472 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003130702472 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001355052364 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002507806087 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002605300545 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.949515096e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007901987423 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.190706963e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.295494431e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.954238956e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.114969541 0.008084024712 -0.006885761397 0 0 -0.008084024712 -0.1244122073 0.01159851226 0 0 --0.006885761397 0.01159851226 -0.03206781874 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.07887172464 -0.01071230614 -0.02960794178 0 0 --0.01071230614 -0.05795342445 0.047136598 0 0 --0.02960794178 0.047136598 0.02827476982 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01636738325 0.00443191145 -0.006033687118 0 0 -0.00443191145 -0.01826481198 0.008463592127 0 0 --0.006033687118 0.008463592127 0.03727953235 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00663281182 0.01411423381 0.02019108737 0 0 -0.01411423381 -0.01582221207 -0.02712416241 0 0 -0.02019108737 -0.02712416241 -0.03277905228 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004635611894 -0.0007007263962 -0.001291752539 0 0 --0.0007007263962 0.001078115254 0.001966085891 0 0 --0.001291752539 0.001966085891 0.0036341089 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.30805773e-05 -0.0007200525716 -0.001316726476 0 0 --0.0007200525716 9.568667564e-05 0.001623089951 0 0 --0.001316726476 0.001623089951 0.002265692197 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000314785435 0.0007789387751 0.00108601213 0 0 -0.0007789387751 -0.0007814433973 -0.001484346923 0 0 -0.00108601213 -0.001484346923 -0.00168497222 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001138758048 -0.0001670812378 -0.0003127359599 0 0 --0.0001670812378 0.0002052935305 0.0004093040568 0 0 --0.0003127359599 0.0004093040568 0.000752413555 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.19579846e-05 -1.13196176e-05 -5.726727313e-07 0 0 --1.13196176e-05 -6.367949938e-05 -4.516472121e-06 0 0 --5.726727313e-07 -4.516472121e-06 -0.0001324545172 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.082790137e-05 0.0001005346019 0.0001347891589 0 0 -0.0001005346019 -6.920611274e-05 -0.0001874729685 0 0 -0.0001347891589 -0.0001874729685 -0.0001601579198 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.858447641e-05 -5.606607488e-05 -0.0001008425344 0 0 --5.606607488e-05 8.091331551e-05 0.0001463941799 0 0 --0.0001008425344 0.0001463941799 0.0002637127236 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.460144409e-05 1.347441807e-05 2.454281132e-05 0 0 -1.347441807e-05 -2.433716598e-05 -3.423657732e-05 0 0 -2.454281132e-05 -3.423657732e-05 -6.70272058e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.138482782e-06 1.069721156e-05 1.041945182e-05 0 0 -1.069721156e-05 4.745746893e-07 -1.380740197e-05 0 0 -1.041945182e-05 -1.380740197e-05 1.126912454e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008951871668 0.01407829771 -0.02969810906 0.0869661283 -0.01072514151 -0.01407829771 -0.02874050943 0.01587131164 0.01454440379 -0.002357439042 --0.02969810906 0.01587131164 0.1207016185 -0.002490556641 0.00749506057 -0.0869661283 0.01454440379 -0.002490556641 0.08864311925 0.03301717587 --0.01072514151 -0.002357439042 0.00749506057 0.03301717587 0.1199955066 --0.04441968673 0.02205924509 0.01527331986 0.0002810291812 0.02950276136 -0.02205924509 -0.03284714681 -0.01660322567 0.02109646673 0.002597970358 -0.01527331986 -0.01660322567 -0.008919990039 -0.02858138905 -0.001483011706 -0.0002810291812 0.02109646673 -0.02858138905 -0.06428815553 0.009692457225 -0.02950276136 0.002597970358 -0.001483011706 0.009692457225 -0.006345072655 --0.00512508642 0.01460661499 0.0241365583 0.008770664809 -0.006285484664 -0.01460661499 -0.009698069526 -0.0008585327844 0.02035631973 -0.008857565745 -0.0241365583 -0.0008585327844 -0.001652368309 0.008943381679 -0.02645630297 -0.008770664809 0.02035631973 0.008943381679 -0.01179038987 -0.02688141845 --0.006285484664 -0.008857565745 -0.02645630297 -0.02688141845 0.0164422652 -0.005469405291 -0.0009051462512 0.001209090983 0.006917395519 -0.003261719301 --0.0009051462512 -0.003090943559 -0.002154199574 0.001925882506 0.004009452052 -0.001209090983 -0.002154199574 -0.0004393063365 0.005899250775 0.001234532435 -0.006917395519 0.001925882506 0.005899250775 0.01210394647 -0.007419467184 --0.003261719301 0.004009452052 0.001234532435 -0.007419467184 -0.002452213638 --0.001768386185 -0.00133235991 -0.00198245444 -0.00160574593 0.003317965802 --0.00133235991 -0.001752600198 -0.002906776329 -0.00168668814 0.003620766481 --0.00198245444 -0.002906776329 -0.004622971442 -0.002897815025 0.00554971361 --0.00160574593 -0.00168668814 -0.002897815025 -0.002828627135 0.00313510783 -0.003317965802 0.003620766481 0.00554971361 0.00313510783 -0.007922613911 --0.0005193651028 -0.0001810954847 -0.0004036913119 -0.0003530743135 0.0007626702789 --0.0001810954847 -0.0002220228688 -0.0002598505583 -0.0001341703796 0.0003769681647 --0.0004036913119 -0.0002598505583 -0.0004126419141 -0.0004784687676 0.0007028859176 --0.0003530743135 -0.0001341703796 -0.0004784687676 -0.0005296933731 0.0006736854507 -0.0007626702789 0.0003769681647 0.0007028859176 0.0006736854507 -0.001066528487 -0.0005443788225 0.0001898313486 0.0004549673629 0.0006626218572 -0.0007614673136 -0.0001898313486 0.0001050814391 0.000286725266 0.0003349210215 -0.0003224685398 -0.0004549673629 0.000286725266 0.0007013169466 0.0008092033109 -0.0007838046404 -0.0006626218572 0.0003349210215 0.0008092033109 0.001039265948 -0.001007097861 --0.0007614673136 -0.0003224685398 -0.0007838046404 -0.001007097861 0.001147551179 --0.000152982795 -1.663288665e-06 2.77577696e-06 -7.587539456e-05 0.0001559432665 --1.663288665e-06 -9.244123537e-05 -0.000131694985 -1.096601504e-05 0.0001223573824 -2.77577696e-06 -0.000131694985 -0.000215386584 -9.538334255e-05 0.0001398773567 --7.587539456e-05 -1.096601504e-05 -9.538334255e-05 -0.0002146371936 5.303186192e-05 -0.0001559432665 0.0001223573824 0.0001398773567 5.303186192e-05 -0.0003066117928 --0.0001121960592 -9.681220221e-05 -0.0001894780642 -0.0001163348185 0.0002290321161 --9.681220221e-05 -7.176946483e-05 -0.0001151982965 -0.000109263386 0.0001741688012 --0.0001894780642 -0.0001151982965 -0.0001817281743 -0.0001903791967 0.0003256336668 --0.0001163348185 -0.000109263386 -0.0001903791967 -0.0001117479326 0.0002912569337 -0.0002290321161 0.0001741688012 0.0003256336668 0.0002912569337 -0.0003979245314 -0.0001145513723 2.967927991e-05 6.092219513e-05 0.0001184919294 -0.0001490244309 -2.967927991e-05 3.353530658e-05 6.695914778e-05 4.3108076e-05 -7.389385023e-05 -6.092219513e-05 6.695914778e-05 0.0001474226975 0.0001284192331 -0.0001329254712 -0.0001184919294 4.3108076e-05 0.0001284192331 0.000210318314 -0.0001346088098 --0.0001490244309 -7.389385023e-05 -0.0001329254712 -0.0001346088098 0.0002540439838 --5.902007185e-06 1.383944709e-05 1.899384117e-05 8.350333253e-06 -9.18574497e-06 -1.383944709e-05 -1.376026143e-06 4.347068592e-06 1.315626757e-05 -1.255055273e-05 -1.899384117e-05 4.347068592e-06 1.117385843e-05 5.935303976e-06 -2.756682454e-05 -8.350333253e-06 1.315626757e-05 5.935303976e-06 -1.484341797e-05 -1.982385745e-05 --9.18574497e-06 -1.255055273e-05 -2.756682454e-05 -1.982385745e-05 3.056933311e-05 --1.070163773e-05 -1.755743007e-05 -3.612772279e-05 -1.135269633e-05 3.27364258e-05 --1.755743007e-05 -1.28214903e-05 -1.823930981e-05 -2.02269481e-05 3.073460508e-05 --3.612772279e-05 -1.823930981e-05 -2.241541135e-05 -3.055865657e-05 5.869312248e-05 --1.135269633e-05 -2.02269481e-05 -3.055865657e-05 -3.623073482e-06 5.142469946e-05 -3.27364258e-05 3.073460508e-05 5.869312248e-05 5.142469946e-05 -5.845391899e-05 -2.31471826e-05 4.99681848e-06 6.949985373e-06 2.543967259e-05 -2.822344386e-05 -4.99681848e-06 6.599365196e-06 1.48691694e-05 7.065080071e-06 -1.450741267e-05 -6.949985373e-06 1.48691694e-05 3.536261122e-05 2.230448211e-05 -2.317044994e-05 -2.543967259e-05 7.065080071e-06 2.230448211e-05 4.464065044e-05 -1.938398189e-05 --2.822344386e-05 -1.450741267e-05 -2.317044994e-05 -1.938398189e-05 5.431335233e-05 -0.1238410012 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1159786129 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2089244237 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0843868982 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004945907769 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005989260057 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00177315732 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002924409859 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002276499792 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007678802626 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.073795214e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.289793938e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.325470172e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1139558687 -0.00753765076 -0.007799338274 0 0 --0.00753765076 0.1231006369 0.01272862095 0 0 --0.007799338274 0.01272862095 0.03020381877 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.08350480855 0.01160686912 -0.0294816765 0 0 -0.01160686912 0.06268974522 0.04621637242 0 0 --0.0294816765 0.04621637242 -0.02048466189 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01757776746 -0.001747200388 -0.01085835865 0 0 --0.001747200388 0.01723992429 0.01501781366 0 0 --0.01085835865 0.01501781366 -0.04583206623 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.006715677931 -0.01430177847 0.01947029704 0 0 --0.01430177847 0.01583409377 -0.02595550867 0 0 -0.01947029704 -0.02595550867 0.02864898315 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000285859076 -0.0001527218234 0.0002599118572 0 0 --0.0001527218234 0.0001746416885 -7.724906722e-05 0 0 -0.0002599118572 -7.724906722e-05 0.0002199650964 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.837529339e-06 0.000728432549 -0.001305572203 0 0 -0.000728432549 -0.0001298531474 0.001546333321 0 0 --0.001305572203 0.001546333321 -0.002029465325 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001797213644 -0.0005871562117 0.0007109818572 0 0 --0.0005871562117 0.0005151023114 -0.000956312247 0 0 -0.0007109818572 -0.000956312247 0.0006542987783 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.450044112e-05 9.232919987e-05 -0.000169906098 0 0 -9.232919987e-05 -6.9734703e-05 0.0002139182807 0 0 --0.000169906098 0.0002139182807 -0.0003490394768 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.953041977e-05 -3.922223135e-05 8.73027645e-05 0 0 --3.922223135e-05 0.0001170733931 -0.000129167494 0 0 -8.73027645e-05 -0.000129167494 0.000331860528 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.552517076e-05 -5.13435354e-05 4.460246642e-05 0 0 --5.13435354e-05 -3.336298449e-06 -5.970022121e-05 0 0 -4.460246642e-05 -5.970022121e-05 -8.030164016e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.389050771e-05 4.669748984e-05 -8.138809272e-05 0 0 -4.669748984e-05 -5.716027063e-05 0.0001169883366 0 0 --8.138809272e-05 0.0001169883366 -0.0001958922078 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.957503367e-05 -2.57960399e-05 4.508721991e-05 0 0 --2.57960399e-05 3.652716456e-05 -6.198200736e-05 0 0 -4.508721991e-05 -6.198200736e-05 0.0001089708723 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.34197902e-05 -8.816340801e-07 -7.220512789e-06 0 0 --8.816340801e-07 -1.454518969e-05 1.070164012e-05 0 0 --7.220512789e-06 1.070164012e-05 -5.610012957e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01211425092 -0.01347021722 -0.03233892026 -0.08952404207 -0.01264894961 --0.01347021722 0.02719459223 0.01789720919 -0.01389253103 -0.003330115315 --0.03233892026 0.01789720919 -0.1254626431 -0.001660438126 -0.006704663414 --0.08952404207 -0.01389253103 -0.001660438126 -0.0955176641 0.0352958277 --0.01264894961 -0.003330115315 -0.006704663414 0.0352958277 -0.1257861973 -0.04521647615 -0.02104445911 0.01182921375 -0.001691040751 0.03101439284 --0.02104445911 0.03315021714 -0.0158317712 -0.01959214338 0.003400057254 -0.01182921375 -0.0158317712 0.005185348931 -0.03065554676 -0.001900885685 --0.001691040751 -0.01959214338 -0.03065554676 0.06155985339 0.01393163219 -0.03101439284 0.003400057254 -0.001900885685 0.01393163219 0.005415318704 -0.007682171142 -0.01519563026 0.02415435162 -0.007454330589 -0.004083193874 --0.01519563026 0.01048902421 -0.0009055409442 -0.02072442631 -0.009189762474 -0.02415435162 -0.0009055409442 0.002050243887 0.006680697005 0.02608332223 --0.007454330589 -0.02072442631 0.006680697005 0.01560938978 -0.02470275665 --0.004083193874 -0.009189762474 0.02608332223 -0.02470275665 -0.01526725413 --0.006078224944 -0.0003739549896 0.003403955916 -0.007868943912 -0.005127517512 --0.0003739549896 0.002896527144 -0.001155782885 -0.003742314667 0.002281103411 -0.003403955916 -0.001155782885 -0.001093000668 0.007865004789 0.002350661286 --0.007868943912 -0.003742314667 0.007865004789 -0.01245548532 -0.01043936039 --0.005127517512 0.002281103411 0.002350661286 -0.01043936039 -0.001278726224 -0.001855960841 0.001296892482 -0.001823682854 0.001482475446 0.003361307519 -0.001296892482 0.002031070302 -0.003250983912 0.001582959719 0.003970486053 --0.001823682854 -0.003250983912 0.00505633053 -0.002817261159 -0.005767410806 -0.001482475446 0.001582959719 -0.002817261159 0.002967948199 0.002765286935 -0.003361307519 0.003970486053 -0.005767410806 0.002765286935 0.008438159834 -0.0006789848685 0.0004791954857 -0.0009168496563 0.0006365195747 0.001252389561 -0.0004791954857 0.0003847506843 -0.0005850432504 0.0005067062475 0.0008629968598 --0.0009168496563 -0.0005850432504 0.0009353912968 -0.0009584782315 -0.001633611448 -0.0006365195747 0.0005067062475 -0.0009584782315 0.0006724019821 0.001437829067 -0.001252389561 0.0008629968598 -0.001633611448 0.001437829067 0.002087889352 --0.000580338003 -0.0002826219182 0.0006042261199 -0.0007181713744 -0.0009018716207 --0.0002826219182 -0.0001782971107 0.0004185479695 -0.0004485819854 -0.0005064796868 -0.0006042261199 0.0004185479695 -0.0009037138635 0.0009500603964 0.001102582466 --0.0007181713744 -0.0004485819854 0.0009500603964 -0.001056842793 -0.001209545424 --0.0009018716207 -0.0005064796868 0.001102582466 -0.001209545424 -0.001498953301 -0.0001582210401 -2.874064897e-05 5.92292008e-05 5.035938647e-05 0.0001247266871 --2.874064897e-05 9.886763831e-05 -0.000130294086 -2.183857927e-05 0.0001013687327 -5.92292008e-05 -0.000130294086 0.0002081423827 -6.486916567e-05 -7.529501943e-05 -5.035938647e-05 -2.183857927e-05 -6.486916567e-05 0.0002289091031 -2.146482211e-05 -0.0001247266871 0.0001013687327 -7.529501943e-05 -2.146482211e-05 0.0002492378538 -0.0001134925974 0.0001380101827 -0.0002559901189 0.0001345302316 0.0002780369237 -0.0001380101827 9.232368305e-05 -0.0001536952796 0.0001542597664 0.0002369576808 --0.0002559901189 -0.0001536952796 0.0002385316187 -0.0002347448612 -0.0004411324578 -0.0001345302316 0.0001542597664 -0.0002347448612 8.746399423e-05 0.000375205031 -0.0002780369237 0.0002369576808 -0.0004411324578 0.000375205031 0.0005145891823 --0.0001176442651 -4.394140018e-05 8.473079502e-05 -0.0001250087438 -0.0001669574038 --4.394140018e-05 -4.153476459e-05 8.004998756e-05 -5.694919552e-05 -9.653008169e-05 -8.473079502e-05 8.004998756e-05 -0.000164304024 0.0001414619993 0.0001732287889 --0.0001250087438 -5.694919552e-05 0.0001414619993 -0.0002009791044 -0.0001618602321 --0.0001669574038 -9.653008169e-05 0.0001732287889 -0.0001618602321 -0.0002933414231 -1.336516526e-05 -1.313730072e-05 1.691125936e-05 -3.2415248e-06 -7.877140013e-07 --1.313730072e-05 4.209791774e-06 2.165179758e-07 -1.241358227e-05 -8.165520126e-06 -1.691125936e-05 2.165179758e-07 -3.457354102e-06 4.463782236e-07 2.118635976e-05 --3.2415248e-06 -1.241358227e-05 4.463782236e-07 2.499269252e-05 -1.463695392e-05 --7.877140013e-07 -8.165520126e-06 2.118635976e-05 -1.463695392e-05 -1.707386957e-05 -5.826320296e-06 2.054192061e-05 -4.044342409e-05 8.842132386e-06 3.148458662e-05 -2.054192061e-05 1.323330282e-05 -1.92198913e-05 2.305530407e-05 3.386934946e-05 --4.044342409e-05 -1.92198913e-05 2.227152297e-05 -3.009435478e-05 -6.459329972e-05 -8.842132386e-06 2.305530407e-05 -3.009435478e-05 -6.171239167e-06 5.421630415e-05 -3.148458662e-05 3.386934946e-05 -6.459329972e-05 5.421630415e-05 6.036073617e-05 --2.284607876e-05 -7.439877416e-06 1.103629364e-05 -2.594152108e-05 -3.041603496e-05 --7.439877416e-06 -7.614010492e-06 1.647470207e-05 -9.455295945e-06 -1.783923362e-05 -1.103629364e-05 1.647470207e-05 -3.697811213e-05 2.409421206e-05 2.947572276e-05 --2.594152108e-05 -9.455295945e-06 2.409421206e-05 -4.178898824e-05 -2.371372833e-05 --3.041603496e-05 -1.783923362e-05 2.947572276e-05 -2.371372833e-05 -5.940468168e-05 -0.0001153080321 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002380649475 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.813321363e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.018992582e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.39723627e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.064325949e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.624787797e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.285374738e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.970780666e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.284768708e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.101641132e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.231078415e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.117351374e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002859848495 4.641324357e-06 -0.1570990276 0 0 -4.641324357e-06 7.212876496e-08 -0.002024379236 0 0 --0.1570990276 -0.002024379236 -0.0009871370661 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006635626323 8.948051625e-06 -0.09831406397 0 0 -8.948051625e-06 9.607202554e-08 -0.0007272297383 0 0 --0.09831406397 -0.0007272297383 -0.001026781424 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005001378866 5.778524499e-06 -0.03296443409 0 0 -5.778524499e-06 3.460608857e-08 -0.0001165093473 0 0 --0.03296443409 -0.0001165093473 -0.0004462487693 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001667219484 1.875383497e-06 -0.002138804077 0 0 -1.875383497e-06 9.543565218e-09 -6.24532389e-06 0 0 --0.002138804077 -6.24532389e-06 -3.050427095e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.922165132e-05 7.505043592e-07 0.0003987463614 0 0 -7.505043592e-07 1.052252448e-08 4.356119626e-06 0 0 -0.0003987463614 4.356119626e-06 3.220786126e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.871488319e-06 -3.581417392e-08 0.0008369356308 0 0 --3.581417392e-08 -6.850109238e-10 1.565150042e-05 0 0 -0.0008369356308 1.565150042e-05 6.417982728e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.033460528e-05 -1.971519426e-07 0.0001594167888 0 0 --1.971519426e-07 -3.758503648e-09 2.96216142e-06 0 0 -0.0001594167888 2.96216142e-06 -1.280325435e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.962852435e-06 -7.399866104e-08 9.120166836e-05 0 0 --7.399866104e-08 -9.954940917e-10 9.346200105e-07 0 0 -9.120166836e-05 9.346200105e-07 4.850180304e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.412913123e-06 -3.191308551e-08 -0.0001287150902 0 0 --3.191308551e-08 -3.248921205e-10 -8.85555025e-07 0 0 --0.0001287150902 -8.85555025e-07 -1.201028416e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.610944776e-07 4.115665293e-09 1.276999426e-05 0 0 -4.115665293e-09 2.277861125e-11 4.117801311e-08 0 0 -1.276999426e-05 4.117801311e-08 1.761018599e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.940470853e-07 1.376041098e-08 -4.238190367e-05 0 0 -1.376041098e-08 1.96157217e-10 -4.750755866e-07 0 0 --4.238190367e-05 -4.750755866e-07 -3.769995549e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.429017099e-08 1.485674497e-09 8.177601465e-06 0 0 -1.485674497e-09 2.586661499e-11 1.282162652e-07 0 0 -8.177601465e-06 1.282162652e-07 2.838652622e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.356355407e-08 1.640474554e-09 -9.06121544e-06 0 0 -1.640474554e-09 3.220461987e-11 -1.784190738e-07 0 0 --9.06121544e-06 -1.784190738e-07 3.458685485e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001222152497 2.455711697e-06 -0.02721532298 7.691274866e-05 -0.0005328804048 -2.455711697e-06 3.51132688e-08 -0.0008405207074 2.373104908e-06 -1.645303501e-05 --0.02721532298 -0.0008405207074 -0.000279009138 -4.618177967e-05 8.731744689e-05 -7.691274866e-05 2.373104908e-06 -4.618177967e-05 2.628913954e-07 -1.165732955e-06 --0.0005328804048 -1.645303501e-05 8.731744689e-05 -1.165732955e-06 3.524926271e-06 -0.0002055270599 5.857548557e-06 -0.02971986583 8.526889667e-05 -0.0005815880606 -5.857548557e-06 1.439774861e-07 -0.001161170087 3.302302123e-06 -2.272514072e-05 --0.02971986583 -0.001161170087 -0.0001248880836 -0.0003990629147 -3.258250774e-05 -8.526889667e-05 3.302302123e-06 -0.0003990629147 2.253799453e-06 -7.72559308e-06 --0.0005815880606 -2.272514072e-05 -3.258250774e-05 -7.72559308e-06 -1.227600191e-06 -0.0001316457394 4.730135707e-06 -0.01269424007 3.76130082e-05 -0.000248029247 -4.730135707e-06 1.487985016e-07 -0.0006170465988 1.783312447e-06 -1.206717657e-05 --0.01269424007 -0.0006170465988 4.140262531e-05 -0.0003423512903 -8.189469322e-05 -3.76130082e-05 1.783312447e-06 -0.0003423512903 1.932724595e-06 -6.467179724e-06 --0.000248029247 -1.206717657e-05 -8.189469322e-05 -6.467179724e-06 -3.221629488e-06 -3.662719699e-05 1.793201593e-06 -0.001853108561 6.264824361e-06 -3.590826309e-05 -1.793201593e-06 7.218734717e-08 -0.0001289663503 3.934754077e-07 -2.513951831e-06 --0.001853108561 -0.0001289663503 3.89048648e-05 -0.000104339792 -3.583594282e-05 -6.264824361e-06 3.934754077e-07 -0.000104339792 5.891665513e-07 -1.938811099e-06 --3.590826309e-05 -2.513951831e-06 -3.583594282e-05 -1.938811099e-06 -1.417702246e-06 -4.961030557e-06 2.979239386e-07 -0.0001282083179 5.633442238e-07 -2.415872882e-06 -2.979239386e-07 1.371894036e-08 -1.141416016e-05 3.851377305e-08 -2.205007458e-07 --0.0001282083179 -1.141416016e-05 5.625928404e-06 -1.038857043e-05 -4.719729165e-06 -5.633442238e-07 3.851377305e-08 -1.038857043e-05 5.871282542e-08 -1.89671553e-07 --2.415872882e-06 -2.205007458e-07 -4.719729165e-06 -1.89671553e-07 -1.86909058e-07 --1.528150817e-06 -6.835264953e-08 -9.315850614e-05 2.395575727e-07 -1.823980035e-06 --6.835264953e-08 -3.031824444e-09 -4.547580726e-06 1.18823169e-08 -8.903334374e-08 --9.315850614e-05 -4.547580726e-06 -2.719131293e-07 -2.806529967e-06 -8.268871025e-08 -2.395575727e-07 1.18823169e-08 -2.806529967e-06 1.582351708e-08 -5.47127552e-08 --1.823980035e-06 -8.903334374e-08 -8.268871025e-08 -5.47127552e-08 -3.132685351e-09 -1.122282072e-07 6.341240688e-09 -2.481120648e-05 7.60514111e-08 -4.83665187e-07 -6.341240688e-09 1.101615197e-10 -2.568454049e-06 7.305888557e-09 -5.025257259e-08 --2.481120648e-05 -2.568454049e-06 1.073013301e-06 -2.668614425e-06 -8.421847454e-07 -7.60514111e-08 7.305888557e-09 -2.668614425e-06 1.505425048e-08 -4.979537776e-08 --4.83665187e-07 -5.025257259e-08 -8.421847454e-07 -4.979537776e-08 -3.337838612e-08 -7.025777159e-07 3.499430537e-08 -2.981685546e-05 1.039034373e-07 -5.746315651e-07 -3.499430537e-08 1.445162739e-09 -2.098848055e-06 6.504539519e-09 -4.081794607e-08 --2.981685546e-05 -2.098848055e-06 8.443769003e-07 -1.670627053e-06 -7.437755813e-07 -1.039034373e-07 6.504539519e-09 -1.670627053e-06 9.43376644e-09 -3.05501722e-08 --5.746315651e-07 -4.081794607e-08 -7.437755813e-07 -3.05501722e-08 -2.943857138e-08 --1.134064414e-07 -3.451960762e-09 -1.055001616e-06 2.802841379e-09 -1.918919021e-08 --3.451960762e-09 -1.027823792e-10 -2.738022034e-08 7.135337268e-11 -4.84901968e-10 --1.055001616e-06 -2.738022034e-08 -3.867181417e-08 -2.764530513e-09 2.637754342e-08 -2.802841379e-09 7.135337268e-11 -2.764530513e-09 1.580308096e-11 -1.30172721e-10 --1.918919021e-08 -4.84901968e-10 2.637754342e-08 -1.30172721e-10 1.0473638e-09 -2.105403058e-09 -1.644733445e-09 1.16934467e-08 -2.563798067e-09 -6.463194409e-10 --1.644733445e-09 -1.159497729e-10 -1.764576454e-08 -3.80763745e-11 -3.755549772e-10 -1.16934467e-08 -1.764576454e-08 1.32361176e-08 -2.663929463e-08 -8.939056045e-09 --2.563798067e-09 -3.80763745e-11 -2.663929463e-08 1.485026361e-10 -4.95742206e-10 --6.463194409e-10 -3.755549772e-10 -8.939056045e-09 -4.95742206e-10 -3.549899985e-10 -1.992405651e-08 6.709425021e-10 -4.946191095e-06 1.440542102e-08 -9.665228079e-08 -6.709425021e-10 7.857195182e-12 -3.01077452e-07 8.525729677e-10 -5.891822786e-09 --4.946191095e-06 -3.01077452e-07 8.133115616e-08 -2.219800508e-07 -7.639628108e-08 -1.440542102e-08 8.525729677e-10 -2.219800508e-07 1.252264997e-09 -4.124613414e-09 --9.665228079e-08 -5.891822786e-09 -7.639628108e-08 -4.124613414e-09 -3.021690014e-09 --3.168654919e-08 -1.359452728e-09 -9.694469102e-07 2.223500809e-09 -1.88919331e-08 --1.359452728e-09 -5.732538142e-11 -4.70359629e-08 1.135678527e-10 -9.175327946e-10 --9.694469102e-07 -4.70359629e-08 -9.769771149e-09 -3.095494677e-08 4.860987284e-09 -2.223500809e-09 1.135678527e-10 -3.095494677e-08 1.744102139e-10 -6.200924622e-10 --1.88919331e-08 -9.175327946e-10 4.860987284e-09 -6.200924622e-10 1.940260446e-10 -2.499411721e-08 6.101912855e-10 -1.569151916e-06 4.262717596e-09 -3.074434782e-08 -6.101912855e-10 1.473345823e-11 -3.429609986e-08 9.230474213e-11 -6.721266946e-10 --1.569151916e-06 -3.429609986e-08 -1.612535507e-08 2.124048385e-08 3.716539601e-09 -4.262717596e-09 9.230474213e-11 2.124048385e-08 -1.198437777e-10 4.043421268e-10 --3.074434782e-08 -6.721266946e-10 3.716539601e-09 4.043421268e-10 1.516613413e-10 --0.0007041107372 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002237155318 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001314331354 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004561050542 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.551635978e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.028543081e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.760673985e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.77816063e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.740279752e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.409080446e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.323174717e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.540510981e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.623572076e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009881106598 0.001147228452 -0.1213855804 0 0 -0.001147228452 -0.0001012741428 -0.05772660273 0 0 --0.1213855804 -0.05772660273 -0.001379859252 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002471274537 -0.0005164969377 0.05184776872 0 0 --0.0005164969377 0.0004433408364 -0.03201766091 0 0 -0.05184776872 -0.03201766091 -0.001002836123 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.54607702e-05 -0.000162065775 -0.03248550569 0 0 --0.000162065775 0.0002004536914 -0.002113810991 0 0 --0.03248550569 -0.002113810991 0.0001782825154 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.322449852e-05 4.702195284e-05 -0.02827740927 0 0 -4.702195284e-05 4.222534673e-06 -0.0006681313986 0 0 --0.02827740927 -0.0006681313986 -0.0002480883034 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001034436959 9.557561307e-06 -0.001911418043 0 0 -9.557561307e-06 -7.673803107e-08 0.0001299504159 0 0 --0.001911418043 0.0001299504159 -2.601246743e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.38923286e-05 -1.160046002e-05 -0.0004093513956 0 0 --1.160046002e-05 6.131166955e-06 0.0002231856745 0 0 --0.0004093513956 0.0002231856745 2.907123847e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.634469168e-05 -6.258897344e-06 -0.0007648388691 0 0 --6.258897344e-06 6.216507827e-07 -2.828458705e-05 0 0 --0.0007648388691 -2.828458705e-05 -3.093407851e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.159947554e-06 7.051858606e-07 6.357439021e-05 0 0 -7.051858606e-07 -1.133292506e-07 -4.350102132e-05 0 0 -6.357439021e-05 -4.350102132e-05 -3.785520998e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.91385714e-06 2.850136785e-06 -0.00030115679 0 0 -2.850136785e-06 -1.755039997e-06 2.41696091e-05 0 0 --0.00030115679 2.41696091e-05 -3.154849104e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.68667401e-07 -1.617948293e-06 -0.0001199883354 0 0 --1.617948293e-06 4.673552372e-07 1.269024875e-05 0 0 --0.0001199883354 1.269024875e-05 3.048868265e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.179648714e-06 -1.254965009e-06 2.472186828e-05 0 0 --1.254965009e-06 8.221375399e-07 -5.445329071e-06 0 0 -2.472186828e-05 -5.445329071e-06 2.639158192e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.575189695e-07 1.577604615e-07 -6.015530655e-05 0 0 -1.577604615e-07 -1.779274985e-07 -3.908934475e-06 0 0 --6.015530655e-05 -3.908934475e-06 -3.847386186e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.414138627e-06 5.112333534e-07 -3.327034144e-05 0 0 -5.112333534e-07 -2.673440631e-07 5.338783349e-06 0 0 --3.327034144e-05 5.338783349e-06 -3.002825513e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.769152144e-05 0.001077927956 -5.103989687e-05 -1.128557422e-05 -0.04011995603 -0.001077927956 -0.0003041540115 -0.06305469078 0.0006995194249 -0.2251589941 --5.103989687e-05 -0.06305469078 -0.001032395408 0.2197440494 -0.0006571401163 --1.128557422e-05 0.0006995194249 0.2197440494 -1.384946805e-05 -0.09010780773 --0.04011995603 -0.2251589941 -0.0006571401163 -0.09010780773 -0.000326096287 -0.0015624279 -0.0006450039623 0.1120127583 8.968957655e-06 -0.0173865065 --0.0006450039623 0.0005234534324 -0.05666820869 -0.0004339366136 -0.08027637609 -0.1120127583 -0.05666820869 -0.00180004926 0.08216127699 0.0009414335593 -8.968957655e-06 -0.0004339366136 0.08216127699 -0.0006347782115 -0.01833660696 --0.0173865065 -0.08027637609 0.0009414335593 -0.01833660696 -0.0006245131744 -8.859545691e-05 -0.0004184298434 0.03628670398 -0.0001976817969 0.00235469294 --0.0004184298434 0.0004858500911 -0.008046556049 -9.471049709e-05 -0.01753517652 -0.03628670398 -0.008046556049 0.0009123916526 0.01793618056 5.204249455e-05 --0.0001976817969 -9.471049709e-05 0.01793618056 -0.0001873760624 0.001149982479 -0.00235469294 -0.01753517652 5.204249455e-05 0.001149982479 -0.0001709405395 --0.0001062404148 4.975495432e-05 -0.01969465503 7.866764856e-05 0.0006271349889 -4.975495432e-05 7.486612142e-05 0.0004802866535 3.21003203e-06 -0.0008200735477 --0.01969465503 0.0004802866535 -0.0001337714211 0.0008151113025 9.458838277e-06 -7.866764856e-05 3.21003203e-06 0.0008151113025 -1.709598961e-05 0.0009115826199 -0.0006271349889 -0.0008200735477 9.458838277e-06 0.0009115826199 -3.208372639e-05 -0.000120871692 2.775819582e-05 -0.006598386956 3.763021294e-05 -0.0007105939243 -2.775819582e-05 2.153452528e-05 0.0006056952209 1.804006586e-05 -0.0008072498344 --0.006598386956 0.0006056952209 -0.0001025593743 0.0007830993214 -8.940692012e-06 -3.763021294e-05 1.804006586e-05 0.0007830993214 7.928870497e-06 -0.000221754874 --0.0007105939243 -0.0008072498344 -8.940692012e-06 -0.000221754874 8.395705524e-06 -0.0001038467954 -1.648053502e-05 -0.003379591856 -3.603832013e-06 -9.956418543e-06 --1.648053502e-05 3.647293033e-06 -2.792587771e-05 3.706780312e-06 -0.0001099285761 --0.003379591856 -2.792587771e-05 7.430221225e-06 8.48907301e-05 -8.919397712e-06 --3.603832013e-06 3.706780312e-06 8.48907301e-05 5.994488408e-07 4.909151375e-06 --9.956418543e-06 -0.0001099285761 -8.919397712e-06 4.909151375e-06 -1.754215088e-07 -4.607917539e-06 -1.747176203e-06 -0.0001338271696 -1.837589347e-07 -2.570838071e-05 --1.747176203e-06 1.0492854e-06 2.377283626e-06 7.111961554e-07 7.181124218e-06 --0.0001338271696 2.377283626e-06 -1.980910449e-06 -7.342903281e-06 -8.240912243e-07 --1.837589347e-07 7.111961554e-07 -7.342903281e-06 1.380534442e-07 1.192187597e-05 --2.570838071e-05 7.181124218e-06 -8.240912243e-07 1.192187597e-05 3.2605877e-07 -1.126989196e-06 1.625144924e-06 0.0001952830035 1.459411809e-07 -4.355910338e-05 -1.625144924e-06 -3.357475061e-06 -5.631537267e-05 -1.459981537e-06 -0.0001149847346 -0.0001952830035 -5.631537267e-05 -1.617272948e-05 0.0001157429709 5.105134346e-06 -1.459411809e-07 -1.459981537e-06 0.0001157429709 -7.626272381e-07 -4.730680979e-05 --4.355910338e-05 -0.0001149847346 5.105134346e-06 -4.730680979e-05 -1.496751998e-06 -3.94192495e-06 -1.722200567e-07 -0.0005632720197 -4.552660936e-07 2.43970046e-05 --1.722200567e-07 -6.770905753e-07 1.219227424e-05 8.578249874e-07 -4.449817283e-05 --0.0005632720197 1.219227424e-05 7.987002063e-07 3.87169053e-05 -2.336705554e-06 --4.552660936e-07 8.578249874e-07 3.87169053e-05 6.707036054e-07 -2.02810574e-05 -2.43970046e-05 -4.449817283e-05 -2.336705554e-06 -2.02810574e-05 6.346240933e-07 -1.410178645e-07 -4.9786623e-07 -2.372471181e-06 -3.007472216e-07 -3.288204339e-06 --4.9786623e-07 1.319364609e-06 1.060849992e-05 7.516100739e-07 -1.806078311e-05 --2.372471181e-06 1.060849992e-05 4.661916699e-06 1.608392008e-05 -1.606439278e-06 --3.007472216e-07 7.516100739e-07 1.608392008e-05 3.535785897e-07 -8.108233264e-06 --3.288204339e-06 -1.806078311e-05 -1.606439278e-06 -8.108233264e-06 5.025367014e-07 -1.068336866e-06 -1.768828933e-07 2.463726264e-05 -2.598367803e-08 -6.295938952e-06 --1.768828933e-07 2.049469676e-07 -1.471427501e-05 4.657838029e-08 -2.392215131e-05 -2.463726264e-05 -1.471427501e-05 2.691639207e-07 2.354542114e-05 -3.939363664e-08 --2.598367803e-08 4.657838029e-08 2.354542114e-05 -5.102392496e-08 -1.036374374e-05 --6.295938952e-06 -2.392215131e-05 -3.939363664e-08 -1.036374374e-05 -6.495948345e-08 --8.336854226e-07 6.651047028e-07 -4.624487101e-05 3.472301811e-07 -2.176454449e-06 -6.651047028e-07 -6.621694912e-07 -8.139443223e-06 -1.383871894e-07 -1.581359935e-05 --4.624487101e-05 -8.139443223e-06 -2.373012097e-06 1.556485304e-05 4.45942197e-07 -3.472301811e-07 -1.383871894e-07 1.556485304e-05 -3.670666501e-08 -8.546091636e-06 --2.176454449e-06 -1.581359935e-05 4.45942197e-07 -8.546091636e-06 -1.538804587e-07 --2.044435909e-07 -5.122464841e-08 1.746163729e-06 -1.73265323e-07 -1.338927416e-06 --5.122464841e-08 2.940609331e-07 5.048807479e-06 3.088448684e-07 -1.708220902e-05 -1.746163729e-06 5.048807479e-06 1.541324699e-06 1.593565034e-05 -5.958136389e-07 --1.73265323e-07 3.088448684e-07 1.593565034e-05 1.606405045e-07 -7.587280852e-06 --1.338927416e-06 -1.708220902e-05 -5.958136389e-07 -7.587280852e-06 1.79383281e-07 -3.592854916e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.325213119e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.400940087e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.965276825e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.118911133e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.992302226e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.722960271e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.358971461e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.093029426e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.891200004e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.591412863e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.365418623e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.021461999e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000206267543 0.0001121837188 -0.08388409171 0 0 -0.0001121837188 4.034657461e-05 -0.01906967638 0 0 --0.08388409171 -0.01906967638 -0.0005523651927 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.470501065e-05 3.222868567e-05 -0.002852585968 0 0 -3.222868567e-05 -7.248083064e-06 0.0002840130638 0 0 --0.002852585968 0.0002840130638 -4.519608386e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.262482006e-08 -7.892397994e-07 2.792188191e-05 0 0 --7.892397994e-07 -1.389700619e-06 -0.001058009406 0 0 -2.792188191e-05 -0.001058009406 1.101624586e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.017715703e-06 5.378267063e-06 -0.000342479987 0 0 -5.378267063e-06 4.80008365e-06 -0.0003175024666 0 0 --0.000342479987 -0.0003175024666 -4.813389226e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.588416905e-07 -2.466509152e-07 -9.401408834e-05 0 0 --2.466509152e-07 -2.328200973e-07 -9.828147467e-05 0 0 --9.401408834e-05 -9.828147467e-05 -6.256472268e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.448636094e-07 1.51227182e-07 -2.155845566e-05 0 0 -1.51227182e-07 6.636044214e-07 3.052031988e-05 0 0 --2.155845566e-05 3.052031988e-05 2.79184605e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.561626484e-08 1.87250962e-08 -1.278315038e-05 0 0 -1.87250962e-08 1.325863916e-08 -7.689789327e-06 0 0 --1.278315038e-05 -7.689789327e-06 7.63236576e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.641465571e-07 1.220375032e-07 -2.043639137e-05 0 0 -1.220375032e-07 8.848586865e-08 -1.280374205e-05 0 0 --2.043639137e-05 -1.280374205e-05 -1.427308603e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.459923129e-08 -1.666400056e-08 -2.221427655e-05 0 0 --1.666400056e-08 4.341452212e-09 2.513134949e-06 0 0 --2.221427655e-05 2.513134949e-06 -1.995972134e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.020649877e-07 -6.028823726e-08 -1.481930053e-05 0 0 --6.028823726e-08 -2.818575935e-08 -4.756349733e-06 0 0 --1.481930053e-05 -4.756349733e-06 -3.361207305e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.288786654e-08 -7.50931263e-09 -8.861950019e-06 0 0 --7.50931263e-09 -3.381194285e-09 -2.702153917e-06 0 0 --8.861950019e-06 -2.702153917e-06 3.535072279e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.952608423e-09 3.440379486e-09 -8.947330024e-06 0 0 -3.440379486e-09 7.73203242e-10 -1.156462028e-06 0 0 --8.947330024e-06 -1.156462028e-06 -1.525159682e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.176313203e-08 -6.743474442e-09 -9.01428471e-06 0 0 --6.743474442e-09 -2.895972983e-09 -2.57927119e-06 0 0 --9.01428471e-06 -2.57927119e-06 -4.322927762e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001187884694 0.0001716364431 -0.03790563122 0.0001034784843 -0.03261430856 -0.0001716364431 0.000197505628 -0.0794825367 0.0001976557215 -0.06838767714 --0.03790563122 -0.0794825367 -0.0002633261947 -0.00945733008 -0.0003568957448 -0.0001034784843 0.0001976557215 -0.00945733008 4.424166432e-05 -0.008136908635 --0.03261430856 -0.06838767714 -0.0003568957448 -0.008136908635 -0.0004192124244 -4.418358157e-05 8.314502562e-05 -0.00585223608 2.622201505e-05 -0.00503503547 -8.314502562e-05 0.0001552055659 -0.01200006719 5.397744717e-05 -0.01032449289 --0.00585223608 -0.01200006719 -3.096222962e-05 0.0001641978474 -0.0001079220793 -2.622201505e-05 5.397744717e-05 0.0001641978474 -1.505537084e-06 0.0001416508262 --0.00503503547 -0.01032449289 -0.0001079220793 0.0001416508262 -0.0001627935193 -2.285985862e-06 5.053245293e-06 0.0004187826089 -2.90643379e-07 0.0003603373393 -5.053245293e-06 8.608065313e-06 0.0004823645094 -2.754037308e-06 0.0004150694144 -0.0004187826089 0.0004823645094 7.944513189e-07 -0.0004186193665 4.777585443e-06 --2.90643379e-07 -2.754037308e-06 -0.0004186193665 -1.703161894e-06 -0.0003601773811 -0.0003603373393 0.0004150694144 4.777585443e-06 -0.0003601773811 7.633255786e-06 --4.307145163e-07 1.455120265e-06 6.763926056e-05 1.597274329e-06 5.82127407e-05 -1.455120265e-06 5.724422676e-06 -0.000564679819 5.222104955e-06 -0.000485834176 -6.763926056e-05 -0.000564679819 -1.273565231e-06 -0.0005863064904 -5.811565471e-06 -1.597274329e-06 5.222104955e-06 -0.0005863064904 4.672916124e-06 -0.0005044471641 -5.82127407e-05 -0.000485834176 -5.811565471e-06 -0.0005044471641 -9.057862915e-06 --1.254091173e-07 -2.787501166e-07 -5.341441749e-05 1.153670115e-08 -4.595765145e-05 --2.787501166e-07 1.143122818e-08 1.089212762e-06 1.595921635e-07 9.408741903e-07 --5.341441749e-05 1.089212762e-06 -3.851219834e-07 3.034746491e-05 3.745704911e-07 -1.153670115e-08 1.595921635e-07 3.034746491e-05 2.737283366e-08 2.611168361e-05 --4.595765145e-05 9.408741903e-07 3.745704911e-07 2.611168361e-05 9.296810543e-07 --2.486788927e-07 -4.154875407e-07 -2.950789417e-06 -1.906127013e-08 -2.536970903e-06 --4.154875407e-07 -5.528791201e-07 -2.706121392e-06 1.412914837e-07 -2.323708878e-06 --2.950789417e-06 -2.706121392e-06 -1.118157139e-08 2.498773003e-06 3.612632903e-08 --1.906127013e-08 1.412914837e-07 2.498773003e-06 2.106770766e-07 2.151906095e-06 --2.536970903e-06 -2.323708878e-06 3.612632903e-08 2.151906095e-06 7.044499726e-08 --1.495857173e-08 6.490795955e-08 1.625684995e-06 5.614708744e-08 1.398588693e-06 -6.490795955e-08 2.877204893e-07 -1.708308531e-05 2.116320937e-07 -1.469883103e-05 -1.625684995e-06 -1.708308531e-05 -2.658059092e-08 -1.412112429e-05 1.461146156e-08 -5.614708744e-08 2.116320937e-07 -1.412112429e-05 1.532794086e-07 -1.215020789e-05 -1.398588693e-06 -1.469883103e-05 1.461146156e-08 -1.215020789e-05 4.482170376e-08 -7.537457065e-08 1.089521198e-07 -1.404093983e-05 5.081888036e-08 -1.208051884e-05 -1.089521198e-07 1.574872719e-07 -2.026416693e-05 7.335190134e-08 -1.743484568e-05 --1.404093983e-05 -2.026416693e-05 -9.786843522e-08 -7.487415147e-07 -2.681944684e-07 -5.081888036e-08 7.335190134e-08 -7.487415147e-07 5.206645007e-09 -6.435876616e-07 --1.208051884e-05 -1.743484568e-05 -2.681944684e-07 -6.435876616e-07 -3.890631256e-07 --6.636297613e-09 -4.597727014e-08 -1.355047301e-05 7.321856593e-09 -1.165900932e-05 --4.597727014e-08 -1.174776973e-07 -1.929438064e-05 1.723148527e-08 -1.660115424e-05 --1.355047301e-05 -1.929438064e-05 -8.177342903e-08 2.524793247e-06 -7.388675872e-08 -7.321856593e-09 1.723148527e-08 2.524793247e-06 -2.498082211e-09 2.172367669e-06 --1.165900932e-05 -1.660115424e-05 -7.388675872e-08 2.172367669e-06 -6.660852761e-08 --6.630434964e-09 -2.671017816e-08 -3.597414575e-06 -4.02755971e-09 -3.095198471e-06 --2.671017816e-08 -1.00803039e-07 -1.084966844e-05 -1.888857885e-08 -9.334871321e-06 --3.597414575e-06 -1.084966844e-05 -3.503928057e-08 -3.612702164e-06 4.061049042e-08 --4.02755971e-09 -1.888857885e-08 -3.612702164e-06 -1.402423593e-09 -3.108403591e-06 --3.095198471e-06 -9.334871321e-06 4.061049042e-08 -3.108403591e-06 9.582359176e-08 -1.542409528e-08 2.120222384e-08 -4.386143427e-06 1.213295437e-08 -3.773952764e-06 -2.120222384e-08 2.654643355e-08 -7.829589197e-06 2.082122307e-08 -6.736737607e-06 --4.386143427e-06 -7.829589197e-06 -3.133951523e-08 -5.798082434e-07 5.008049905e-09 -1.213295437e-08 2.082122307e-08 -5.798082434e-07 2.938370939e-09 -4.989557891e-07 --3.773952764e-06 -6.736737607e-06 5.008049905e-09 -4.989557891e-07 3.181898075e-08 -1.741404718e-08 2.506232727e-08 -4.754658005e-06 1.369136624e-08 -4.090977842e-06 -2.506232727e-08 3.301016804e-08 -8.835904676e-06 2.436127904e-08 -7.602537265e-06 --4.754658005e-06 -8.835904676e-06 -3.303887985e-08 -7.049217219e-07 -2.492294233e-08 -1.369136624e-08 2.436127904e-08 -7.049217219e-07 3.677147534e-09 -6.065332293e-07 --4.090977842e-06 -7.602537265e-06 -2.492294233e-08 -6.065332293e-07 -1.842901373e-08 -2.555161486e-09 -2.699041895e-09 -3.436881967e-06 4.357472002e-09 -2.957143781e-06 --2.699041895e-09 -2.345703106e-08 -7.397697691e-06 6.170161119e-09 -6.365058945e-06 --3.436881967e-06 -7.397697691e-06 -2.67367222e-08 -1.34517446e-06 -1.087976329e-08 -4.357472002e-09 6.170161119e-09 -1.34517446e-06 3.019577985e-09 -1.157419729e-06 --2.957143781e-06 -6.365058945e-06 -1.087976329e-08 -1.157419729e-06 1.071306969e-09 --0.01474101686 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02155881444 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004491569893 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0027014945 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.005213052e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.424895143e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.221662947e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.882077397e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.095065054e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.918096257e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.050564372e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.641031058e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.103071574e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.08483020909 0.01947456164 -0.05251249172 0 0 -0.01947456164 -0.002792213583 0.002561620127 0 0 --0.05251249172 0.002561620127 0.02118780902 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04141157593 0.007038229838 0.008517298936 0 0 -0.007038229838 0.0004649219042 0.0007078842513 0 0 -0.008517298936 0.0007078842513 0.001045133212 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003037307805 -0.0004003142596 -0.0005357004957 0 0 --0.0004003142596 0.0003380586965 0.00112214916 0 0 --0.0005357004957 0.00112214916 0.002916116899 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002571575339 0.001152758079 0.00164256984 0 0 -0.001152758079 -0.0005010885003 -0.0006772260076 0 0 -0.00164256984 -0.0006772260076 -0.0008261942821 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001514320618 -4.911970481e-05 -0.0001571525766 0 0 --4.911970481e-05 1.561421632e-05 4.73811246e-05 0 0 --0.0001571525766 4.73811246e-05 0.0001225489196 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002168995423 4.261444755e-05 4.998113668e-05 0 0 -4.261444755e-05 -6.128705702e-05 -0.0001195718846 0 0 -4.998113668e-05 -0.0001195718846 -0.0002288260738 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.763286111e-05 2.576068737e-05 3.383803151e-05 0 0 -2.576068737e-05 -9.804318605e-06 -1.271796218e-05 0 0 -3.383803151e-05 -1.271796218e-05 -1.313595212e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.277380663e-05 1.716440252e-05 1.008951355e-05 0 0 -1.716440252e-05 -4.105018822e-06 -3.775665454e-06 0 0 -1.008951355e-05 -3.775665454e-06 1.359962789e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.375833817e-05 -6.31115381e-06 -3.381647378e-05 0 0 --6.31115381e-06 -1.324993622e-06 -4.034102645e-06 0 0 --3.381647378e-05 -4.034102645e-06 -9.394165757e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.88310344e-05 -1.053874528e-05 -3.3024047e-05 0 0 --1.053874528e-05 2.480868181e-06 7.008206407e-06 0 0 --3.3024047e-05 7.008206407e-06 1.801514252e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.382015348e-06 1.388014302e-06 -5.799535433e-06 0 0 -1.388014302e-06 -1.529664661e-07 2.215967669e-07 0 0 --5.799535433e-06 2.215967669e-07 1.989501077e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.926339135e-06 8.114458436e-07 -7.687972818e-06 0 0 -8.114458436e-07 -6.264693648e-08 2.631884264e-07 0 0 --7.687972818e-06 2.631884264e-07 1.675213364e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.083758808e-05 -2.675872603e-06 -1.367467295e-05 0 0 --2.675872603e-06 4.958408084e-07 2.013898096e-06 0 0 --1.367467295e-05 2.013898096e-06 5.99376885e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05466145525 0.03302313853 0.01653505698 -0.02327900666 0.006207976211 -0.03302313853 -0.01594366409 0.009174553411 0.02189464001 -0.007507470392 -0.01653505698 0.009174553411 0.08665474478 0.04449492592 -0.01984660362 --0.02327900666 0.02189464001 0.04449492592 0.005390221972 -0.004698603079 -0.006207976211 -0.007507470392 -0.01984660362 -0.004698603079 0.002817600568 --0.02444057065 0.01898059825 0.02648550805 -0.00222480096 -0.002245025044 -0.01898059825 -0.01447787342 -0.01926006356 0.001911489757 0.002042564181 -0.02648550805 -0.01926006356 -0.02217758615 0.003326773807 0.003923836706 --0.00222480096 0.001911489757 0.003326773807 -7.395930532e-05 4.938002233e-06 --0.002245025044 0.002042564181 0.003923836706 4.938002233e-06 0.0001345230171 --0.002037088466 0.001653000227 0.003386672747 0.000292508969 -0.0001532799672 -0.001653000227 -0.001227548869 -0.002446834005 3.535808755e-05 -0.0002472823419 -0.003386672747 -0.002446834005 -0.00483256466 0.000235838999 -0.0007293139654 -0.000292508969 3.535808755e-05 0.000235838999 0.0006116475235 -0.0008687967961 --0.0001532799672 -0.0002472823419 -0.0007293139654 -0.0008687967961 0.00120247556 -0.0002818012604 0.0002412498005 0.0005600692832 0.0004856103793 -0.0007274580595 -0.0002412498005 -0.0003968375769 -0.0004492429495 -0.0001641547583 0.0004821096988 -0.0005600692832 -0.0004492429495 -0.00031637925 7.256431571e-05 0.0002548609265 -0.0004856103793 -0.0001641547583 7.256431571e-05 0.0002795082219 -0.0001917039972 --0.0007274580595 0.0004821096988 0.0002548609265 -0.0001917039972 -0.0001453507016 -0.0001447490896 -7.504605254e-05 -0.00020122833 -4.326384031e-05 1.830123922e-05 --7.504605254e-05 -3.283803486e-05 -6.895484844e-05 -6.096372189e-05 9.423523658e-05 --0.00020122833 -6.895484844e-05 -0.0001387718902 -0.0001412706053 0.0002250735804 --4.326384031e-05 -6.096372189e-05 -0.0001412706053 -8.400212142e-05 0.000115093158 -1.830123922e-05 9.423523658e-05 0.0002250735804 0.000115093158 -0.0001476397186 -8.496845695e-05 -6.070917253e-05 -0.0001068133161 -3.236448313e-07 -2.652601578e-06 --6.070917253e-05 4.101144283e-05 7.253642219e-05 -4.279674888e-06 1.033484856e-05 --0.0001068133161 7.253642219e-05 0.0001282297346 -6.805243342e-06 1.682786401e-05 --3.236448313e-07 -4.279674888e-06 -6.805243342e-06 -8.603830921e-06 1.610953954e-05 --2.652601578e-06 1.033484856e-05 1.682786401e-05 1.610953954e-05 -3.003803931e-05 -1.226095195e-05 1.675946664e-05 3.308686478e-05 2.258041936e-05 -3.412314078e-05 -1.675946664e-05 -3.200717146e-05 -4.862326776e-05 -1.730402998e-05 3.439491441e-05 -3.308686478e-05 -4.862326776e-05 -7.110017856e-05 -2.13854909e-05 4.640852732e-05 -2.258041936e-05 -1.730402998e-05 -2.13854909e-05 -6.66180059e-07 8.239123294e-06 --3.412314078e-05 3.439491441e-05 4.640852732e-05 8.239123294e-06 -2.461831256e-05 --3.884313546e-05 1.809504937e-05 1.14362827e-05 -1.422131967e-05 6.716256873e-06 -1.809504937e-05 -8.369849298e-06 -6.086799525e-06 6.337475793e-06 -3.277036145e-06 -1.14362827e-05 -6.086799525e-06 6.285104821e-06 7.842388049e-06 -9.237071351e-08 --1.422131967e-05 6.337475793e-06 7.842388049e-06 -3.822457396e-06 3.172839892e-06 -6.716256873e-06 -3.277036145e-06 -9.237071351e-08 3.172839892e-06 -7.931456849e-07 -1.106097736e-05 -1.325671248e-05 -3.588948608e-05 -1.196552201e-05 1.028535211e-05 --1.325671248e-05 1.337426198e-05 3.286191169e-05 8.589020684e-06 -7.137052448e-06 --3.588948608e-05 3.286191169e-05 7.545528552e-05 1.559807783e-05 -1.241478782e-05 --1.196552201e-05 8.589020684e-06 1.559807783e-05 -2.152052266e-07 7.476109427e-07 -1.028535211e-05 -7.137052448e-06 -1.241478782e-05 7.476109427e-07 -1.150310207e-06 -1.938082537e-06 -3.251943831e-06 -8.965253221e-06 -3.488840678e-06 3.220136155e-06 --3.251943831e-06 5.197984923e-06 1.346209368e-05 4.983527392e-06 -4.781613117e-06 --8.965253221e-06 1.346209368e-05 3.180433521e-05 1.081568172e-05 -1.109509941e-05 --3.488840678e-06 4.983527392e-06 1.081568172e-05 3.349404602e-06 -3.703964697e-06 -3.220136155e-06 -4.781613117e-06 -1.109509941e-05 -3.703964697e-06 3.85603638e-06 --9.715619974e-06 5.512974899e-06 4.449336211e-06 -2.966578531e-06 9.294420318e-07 -5.512974899e-06 -3.072734101e-06 -1.993924222e-06 1.889243999e-06 -5.291310779e-07 -4.449336211e-06 -1.993924222e-06 3.037096762e-06 3.327193968e-06 -4.422219501e-07 --2.966578531e-06 1.889243999e-06 3.327193968e-06 -1.421285582e-07 2.773660009e-07 -9.294420318e-07 -5.291310779e-07 -4.422219501e-07 2.773660009e-07 -8.886065524e-08 --7.007872396e-06 4.269744923e-06 2.549340069e-06 -2.615267131e-06 4.946129526e-07 -4.269744923e-06 -2.199639379e-06 4.41796052e-07 2.427274597e-06 -6.955526942e-07 -2.549340069e-06 4.41796052e-07 8.97803111e-06 5.09144552e-06 -2.137112072e-06 --2.615267131e-06 2.427274597e-06 5.09144552e-06 7.543795081e-07 -6.334350189e-07 -4.946129526e-07 -6.955526942e-07 -2.137112072e-06 -6.334350189e-07 3.518029172e-07 --5.691044664e-07 -7.510263503e-07 -4.856424123e-06 -2.77708323e-06 1.905080187e-06 --7.510263503e-07 1.754324932e-06 6.261867576e-06 2.644085575e-06 -1.942027618e-06 --4.856424123e-06 6.261867576e-06 1.703591015e-05 5.418782155e-06 -4.308881768e-06 --2.77708323e-06 2.644085575e-06 5.418782155e-06 9.461953167e-07 -9.436526835e-07 -1.905080187e-06 -1.942027618e-06 -4.308881768e-06 -9.436526835e-07 8.554008821e-07 -0.01479820233 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02150985367 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003883322338 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003046649745 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.741124322e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.424546394e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.700272554e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.917246861e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.117919406e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.120822153e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.652095253e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.536934396e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.630168292e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.08433116585 -0.01886212022 -0.05532015129 0 0 --0.01886212022 0.002618331438 0.00268483175 0 0 --0.05532015129 0.00268483175 -0.02235869409 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0445530841 -0.00748130389 0.008858735551 0 0 --0.00748130389 -0.000412123566 0.0004905364852 0 0 -0.008858735551 0.0004905364852 -0.0005838569487 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006126417353 0.0004779267969 -0.0005722874179 0 0 -0.0004779267969 -0.0004255058789 0.001272543985 0 0 --0.0005722874179 0.001272543985 -0.003166745436 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002509937805 -0.001179822798 0.001680114003 0 0 --0.001179822798 0.000524969917 -0.0006886795204 0 0 -0.001680114003 -0.0006886795204 0.0007797093908 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001458322945 2.968162103e-05 -0.0001087826275 0 0 -2.968162103e-05 -2.405300707e-06 7.694423869e-06 0 0 --0.0001087826275 7.694423869e-06 -2.374602649e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002191848449 -3.644120584e-05 4.24497431e-05 0 0 --3.644120584e-05 5.497458467e-05 -0.000106547664 0 0 -4.24497431e-05 -0.000106547664 0.000203239893 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.986310164e-05 -3.711903199e-05 5.373714042e-05 0 0 --3.711903199e-05 1.509290742e-05 -2.097520444e-05 0 0 -5.373714042e-05 -2.097520444e-05 2.590504121e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.668433172e-05 -1.295444477e-05 2.651694418e-06 0 0 --1.295444477e-05 1.959468272e-06 -1.702670024e-06 0 0 -2.651694418e-06 -1.702670024e-06 -1.077301184e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.433050622e-05 7.924986833e-06 -3.693959321e-05 0 0 -7.924986833e-06 1.368649466e-06 -3.723403041e-06 0 0 --3.693959321e-05 -3.723403041e-06 7.769312743e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.495856364e-05 9.685576599e-06 -3.058824795e-05 0 0 -9.685576599e-06 -2.434615675e-06 7.006428518e-06 0 0 --3.058824795e-05 7.006428518e-06 -1.810093658e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.049616997e-05 -2.079260306e-06 -4.373191221e-06 0 0 --2.079260306e-06 1.318789285e-07 -2.106566985e-08 0 0 --4.373191221e-06 -2.106566985e-08 -9.90070685e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.54044636e-06 -7.39128143e-07 -7.992888634e-06 0 0 --7.39128143e-07 7.179081993e-08 3.776668322e-07 0 0 --7.992888634e-06 3.776668322e-07 -2.153402763e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.281075819e-05 3.094168154e-06 -1.420605243e-05 0 0 -3.094168154e-06 -5.631570849e-07 2.10247746e-06 0 0 --1.420605243e-05 2.10247746e-06 -6.167651842e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05445604717 -0.03215716695 0.0147749557 0.02315335588 0.006367358516 --0.03215716695 0.0150313311 0.01048056467 -0.02152614813 -0.007545159996 -0.0147749557 0.01048056467 -0.08918196729 0.04439066477 0.02009423856 -0.02315335588 -0.02152614813 0.04439066477 -0.005739671644 -0.004803482937 -0.006367358516 -0.007545159996 0.02009423856 -0.004803482937 -0.002875311347 -0.02592811761 -0.01965393487 0.02708000364 0.002396293312 -0.002094457899 --0.01965393487 0.01454611805 -0.01885490279 -0.002108069109 0.001879477049 -0.02708000364 -0.01885490279 0.02033673655 0.003888645599 -0.00357437067 -0.002396293312 -0.002108069109 0.003888645599 -2.024254548e-05 4.830751975e-05 --0.002094457899 0.001879477049 -0.00357437067 4.830751975e-05 -7.285887422e-05 -0.002533957366 -0.001986543218 0.003950837879 -0.0002626557231 -0.0001146158338 --0.001986543218 0.001476136031 -0.002886926289 -1.221823948e-05 -0.0002213685096 -0.003950837879 -0.002886926289 0.005615113811 0.0001553469738 0.000627231816 --0.0002626557231 -1.221823948e-05 0.0001553469738 -0.0005583826328 -0.000823645937 --0.0001146158338 -0.0002213685096 0.000627231816 -0.000823645937 -0.001186917347 --0.0003743004662 -0.0001771281909 0.000496466118 -0.0005257761283 -0.0007460486179 --0.0001771281909 0.0003202813506 -0.0003315223158 0.0001531902925 0.0004404240033 -0.000496466118 -0.0003315223158 0.0001355496142 0.0001338656231 -0.0001227253594 --0.0005257761283 0.0001531902925 0.0001338656231 -0.0003386433231 -0.0002586223832 --0.0007460486179 0.0004404240033 -0.0001227253594 -0.0002586223832 7.100632305e-05 --0.0001996255886 8.926672416e-05 -0.0002318651982 3.105263325e-05 -3.725150186e-06 -8.926672416e-05 4.462375818e-05 -9.1724786e-05 8.397805236e-05 0.0001292530026 --0.0002318651982 -9.1724786e-05 0.0001823537272 -0.0001901343869 -0.0002992311651 -3.105263325e-05 8.397805236e-05 -0.0001901343869 0.0001084556506 0.0001482728622 --3.725150186e-06 0.0001292530026 -0.0002992311651 0.0001482728622 0.000192481512 --6.508629908e-05 4.919809406e-05 -8.431113636e-05 -1.54542547e-07 -2.512852898e-07 -4.919809406e-05 -3.692996912e-05 6.356320233e-05 1.101272717e-06 2.18604575e-06 --8.431113636e-05 6.356320233e-05 -0.0001091068799 -8.355370705e-07 -1.613749991e-06 --1.54542547e-07 1.101272717e-06 -8.355370705e-07 3.750414778e-06 7.604563231e-06 --2.512852898e-07 2.18604575e-06 -1.613749991e-06 7.604563231e-06 1.541940381e-05 --1.614876631e-05 -1.563520605e-05 3.206650209e-05 -2.513501823e-05 -3.78658751e-05 --1.563520605e-05 3.092219297e-05 -4.678009467e-05 1.815163468e-05 3.584386275e-05 -3.206650209e-05 -4.678009467e-05 6.782796552e-05 -2.187940227e-05 -4.732092561e-05 --2.513501823e-05 1.815163468e-05 -2.187940227e-05 6.977938629e-08 7.944350259e-06 --3.78658751e-05 3.584386275e-05 -4.732092561e-05 7.944350259e-06 2.534596853e-05 -3.816423259e-05 -1.502784535e-05 2.588273226e-06 1.792167936e-05 1.085288134e-05 --1.502784535e-05 5.88497331e-06 -1.708059065e-06 -6.783969584e-06 -4.368581807e-06 -2.588273226e-06 -1.708059065e-06 -1.44225685e-05 7.000815159e-06 -1.278529563e-06 -1.792167936e-05 -6.783969584e-06 7.000815159e-06 6.123100846e-06 5.894836394e-06 -1.085288134e-05 -4.368581807e-06 -1.278529563e-06 5.894836394e-06 2.80825395e-06 --1.196733522e-05 1.347661379e-05 -3.454339934e-05 1.076019649e-05 9.715264446e-06 -1.347661379e-05 -1.403204573e-05 3.376794177e-05 -9.078191474e-06 -8.229233234e-06 --3.454339934e-05 3.376794177e-05 -7.669069076e-05 1.742824754e-05 1.588214069e-05 -1.076019649e-05 -9.078191474e-06 1.742824754e-05 -1.602934206e-06 -1.533946693e-06 -9.715264446e-06 -8.229233234e-06 1.588214069e-05 -1.533946693e-06 -1.462310848e-06 --9.466415965e-07 1.932164585e-06 -6.262584131e-06 2.661378957e-06 2.230300065e-06 -1.932164585e-06 -3.345650673e-06 9.523267359e-06 -3.718154492e-06 -3.347875447e-06 --6.262584131e-06 9.523267359e-06 -2.366941313e-05 8.266264687e-06 8.191505244e-06 -2.661378957e-06 -3.718154492e-06 8.266264687e-06 -2.570278646e-06 -2.81876257e-06 -2.230300065e-06 -3.347875447e-06 8.191505244e-06 -2.81876257e-06 -2.829336425e-06 -1.060053663e-05 -5.764688605e-06 4.55715784e-06 3.283553097e-06 1.189275504e-06 --5.764688605e-06 3.098189473e-06 -2.050861365e-06 -1.945204297e-06 -6.342888829e-07 -4.55715784e-06 -2.050861365e-06 -3.016033196e-06 3.26921766e-06 3.663080673e-07 -3.283553097e-06 -1.945204297e-06 3.26921766e-06 3.234927593e-07 4.225074216e-07 -1.189275504e-06 -6.342888829e-07 3.663080673e-07 4.225074216e-07 1.292012908e-07 -6.011406645e-06 -3.549539942e-06 1.415877776e-06 2.550038032e-06 5.378471968e-07 --3.549539942e-06 1.573234949e-06 1.633113922e-06 -2.563591829e-06 -9.005223423e-07 -1.415877776e-06 1.633113922e-06 -1.133137216e-05 5.598294354e-06 2.880640623e-06 -2.550038032e-06 -2.563591829e-06 5.598294354e-06 -1.059474687e-06 -9.517492821e-07 -5.378471968e-07 -9.005223423e-07 2.880640623e-06 -9.517492821e-07 -6.02061809e-07 -6.477962406e-07 5.892642027e-07 -4.429407348e-06 2.580672522e-06 1.719916447e-06 -5.892642027e-07 -1.4344547e-06 5.431259748e-06 -2.320209233e-06 -1.647254514e-06 --4.429407348e-06 5.431259748e-06 -1.513375902e-05 4.764350228e-06 3.659809831e-06 -2.580672522e-06 -2.320209233e-06 4.764350228e-06 -7.761420309e-07 -7.563450192e-07 -1.719916447e-06 -1.647254514e-06 3.659809831e-06 -7.563450192e-07 -6.685788913e-07 -1.460206851e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.857730836e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.51254688e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.842139511e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.689743052e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.217705818e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.740311056e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.244580662e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.873789693e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.470893729e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.792077573e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.290937204e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.590448208e-11 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.201711947e-06 1.254303636e-05 0.05056120415 0 0 -1.254303636e-05 3.741509383e-05 0.1467623616 0 0 -0.05056120415 0.1467623616 -0.0009624850666 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.151537711e-06 2.392274202e-05 0.02389676527 0 0 -2.392274202e-05 7.006307747e-05 0.06695228602 0 0 -0.02389676527 0.06695228602 -0.0007098651656 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.618492195e-06 1.332325058e-05 0.004762353746 0 0 -1.332325058e-05 3.827971844e-05 0.0128666754 0 0 -0.004762353746 0.0128666754 -0.0001860044499 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.297503003e-07 2.3618577e-06 -0.0008609536977 0 0 -2.3618577e-06 6.682314538e-06 -0.002260147575 0 0 --0.0008609536977 -0.002260147575 3.786867648e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.156797818e-07 -3.366880207e-07 -0.0003694746206 0 0 --3.366880207e-07 -9.770756563e-07 -0.001017259984 0 0 --0.0003694746206 -0.001017259984 1.07060244e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.786142069e-07 -5.354604978e-07 -0.0001521396414 0 0 --5.354604978e-07 -1.604362914e-06 -0.0004454568558 0 0 --0.0001521396414 -0.0004454568558 2.129118906e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.568350494e-08 -2.910944507e-07 9.751579695e-05 0 0 --2.910944507e-07 -8.855238057e-07 0.0002941811818 0 0 -9.751579695e-05 0.0002941811818 -1.022471075e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.278290716e-08 3.859565591e-08 -3.027829291e-06 0 0 -3.859565591e-08 1.165025274e-07 -8.995269466e-06 0 0 --3.027829291e-06 -8.995269466e-06 7.090966774e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.045528916e-08 9.060566198e-08 3.523560088e-05 0 0 -9.060566198e-08 2.69293438e-07 0.0001015596675 0 0 -3.523560088e-05 0.0001015596675 -1.079197381e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.830292896e-09 1.390962249e-08 -1.258036201e-05 0 0 -1.390962249e-08 3.98841249e-08 -3.38607621e-05 0 0 --1.258036201e-05 -3.38607621e-05 5.582921185e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.929442578e-09 -5.620620316e-09 6.679281734e-06 0 0 --5.620620316e-09 -1.632714414e-08 1.842404397e-05 0 0 -6.679281734e-06 1.842404397e-05 -1.911697157e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.27341637e-10 -2.410381924e-09 -2.601799093e-06 0 0 --2.410381924e-09 -7.002705674e-09 -7.178461785e-06 0 0 --2.601799093e-06 -7.178461785e-06 5.832594249e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.581640799e-09 -4.770050913e-09 5.072680964e-06 0 0 --4.770050913e-09 -1.438167954e-08 1.503543631e-05 0 0 -5.072680964e-06 1.503543631e-05 -3.738779649e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.316882337e-06 1.832434026e-06 -0.00418793981 -8.049212276e-07 -0.01284764531 -1.832434026e-06 1.861403217e-06 0.006211806382 8.245657268e-06 0.0190564159 --0.00418793981 0.006211806382 -1.913283175e-05 0.009565491448 -4.650025337e-05 --8.049212276e-07 8.245657268e-06 0.009565491448 2.098093917e-05 0.02934477312 --0.01284764531 0.0190564159 -4.650025337e-05 0.02934477312 -0.0001052409323 --1.165204554e-06 -7.82569942e-07 -0.003391819004 -4.133782507e-06 -0.01040531431 --7.82569942e-07 4.479715552e-06 0.00475184045 1.100955425e-05 0.01457761791 --0.003391819004 0.00475184045 -5.804876438e-05 0.007328842408 -7.537869995e-05 --4.133782507e-06 1.100955425e-05 0.007328842408 2.330439899e-05 0.02248339071 --0.01040531431 0.01457761791 -7.537869995e-05 0.02248339071 8.382093233e-05 -3.885548002e-07 -1.184256106e-06 -0.0009218079475 -2.618871174e-06 -0.002827912095 --1.184256106e-06 2.362715787e-06 0.001158323304 4.644040959e-06 0.00355354227 --0.0009218079475 0.001158323304 -3.394020359e-05 0.001792175854 -3.655530111e-05 --2.618871174e-06 4.644040959e-06 0.001792175854 8.714641013e-06 0.005498153593 --0.002827912095 0.00355354227 -3.655530111e-05 0.005498153593 9.513241806e-05 -1.696253624e-07 -1.779471552e-07 -1.605015665e-05 -2.903386221e-07 -4.926062489e-05 --1.779471552e-07 1.406847566e-07 8.474580845e-06 2.285947588e-07 2.603322801e-05 --1.605015665e-05 8.474580845e-06 -1.991683694e-06 1.365501782e-05 -1.873010927e-06 --2.903386221e-07 2.285947588e-07 1.365501782e-05 3.714114355e-07 4.194806545e-05 --4.926062489e-05 2.603322801e-05 -1.873010927e-06 4.194806545e-05 7.252253947e-06 -1.064275498e-09 1.584002143e-08 3.285697496e-07 2.403426472e-08 1.004399611e-06 -1.584002143e-08 -3.247036512e-08 1.008038844e-05 -4.052445465e-08 3.092789592e-05 -3.285697496e-07 1.008038844e-05 1.007872662e-06 1.512591797e-05 8.882362461e-07 -2.403426472e-08 -4.052445465e-08 1.512591797e-05 -4.850703965e-08 4.640642135e-05 -1.004399611e-06 3.092789592e-05 8.882362461e-07 4.640642135e-05 -4.035509822e-06 -6.178222704e-09 -2.202064738e-08 -1.722881993e-05 -4.872583876e-08 -5.285421253e-05 --2.202064738e-08 5.682906804e-08 2.915002326e-05 1.125114879e-07 8.942619674e-05 --1.722881993e-05 2.915002326e-05 -3.095182037e-07 4.478702324e-05 -4.035189536e-07 --4.872583876e-08 1.125114879e-07 4.478702324e-05 2.115807012e-07 0.000137397726 --5.285421253e-05 8.942619674e-05 -4.035189536e-07 0.000137397726 4.371386496e-07 -3.205455417e-09 -2.424356427e-09 5.25378614e-08 -3.775555263e-09 1.600185325e-07 --2.424356427e-09 4.617821862e-10 -5.716110614e-09 8.478180427e-10 -1.590557947e-08 -5.25378614e-08 -5.716110614e-09 1.745836624e-08 -1.209268859e-08 1.586653917e-08 --3.775555263e-09 8.478180427e-10 -1.209268859e-08 1.508651097e-09 -3.462983284e-08 -1.600185325e-07 -1.590557947e-08 1.586653917e-08 -3.462983284e-08 -6.695486616e-08 -1.557254764e-09 -7.803217461e-10 1.443030094e-07 -1.123088343e-09 4.423580685e-07 --7.803217461e-10 -6.053669261e-10 4.299556221e-08 -8.246087296e-10 1.323310801e-07 -1.443030094e-07 4.299556221e-08 2.846292319e-08 5.648070451e-08 2.603252052e-08 --1.123088343e-09 -8.246087296e-10 5.648070451e-08 -1.121839739e-09 1.738771196e-07 -4.423580685e-07 1.323310801e-07 2.603252052e-08 1.738771196e-07 -1.08147466e-07 --2.090496495e-10 -4.780151243e-10 -1.190361095e-06 -1.76619999e-09 -3.651764741e-06 --4.780151243e-10 3.051267843e-09 2.578166689e-06 6.907984691e-09 7.909185929e-06 --1.190361095e-06 2.578166689e-06 3.061093316e-08 3.942349598e-06 1.764023896e-08 --1.76619999e-09 6.907984691e-09 3.942349598e-06 1.399179376e-08 1.209409969e-05 --3.651764741e-06 7.909185929e-06 1.764023896e-08 1.209409969e-05 -1.798541244e-07 --1.022217151e-09 1.499295831e-09 -2.116631179e-07 2.112198198e-09 -6.495112988e-07 -1.499295831e-09 -2.08767614e-09 3.803347756e-07 -2.867933429e-09 1.166981879e-06 --2.116631179e-07 3.803347756e-07 3.293489125e-08 5.817351011e-07 2.779470453e-08 -2.112198198e-09 -2.867933429e-09 5.817351011e-07 -3.889162643e-09 1.784876245e-06 --6.495112988e-07 1.166981879e-06 2.779470453e-08 1.784876245e-06 -1.394222386e-07 -2.842005778e-10 -5.201989601e-10 -2.188912294e-07 -9.908121848e-10 -6.71532034e-07 --5.201989601e-10 8.092906768e-10 2.454466521e-07 1.462090432e-09 7.530340039e-07 --2.188912294e-07 2.454466521e-07 -1.717347924e-08 3.812995736e-07 -1.67091771e-08 --9.908121848e-10 1.462090432e-09 3.812995736e-07 2.589612359e-09 1.169862824e-06 --6.71532034e-07 7.530340039e-07 -1.67091771e-08 1.169862824e-06 5.910368381e-08 -1.114930297e-10 -4.183928439e-10 -3.222919619e-07 -9.210275488e-10 -9.887187945e-07 --4.183928439e-10 1.196544861e-09 6.195294901e-07 2.371707271e-09 1.900576633e-06 --3.222919619e-07 6.195294901e-07 -1.427138296e-09 9.49547052e-07 -3.784223807e-09 --9.210275488e-10 2.371707271e-09 9.49547052e-07 4.459336038e-09 2.912996536e-06 --9.887187945e-07 1.900576633e-06 -3.784223807e-09 2.912996536e-06 -9.787150399e-09 --3.112280031e-10 2.9811354e-10 -1.634040356e-07 3.179775131e-10 -5.012859722e-07 -2.9811354e-10 -2.615789379e-10 2.0186888e-07 -2.278398202e-10 6.192875804e-07 --1.634040356e-07 2.0186888e-07 -7.686545688e-10 3.121179915e-07 -1.755986228e-09 -3.179775131e-10 -2.278398202e-10 3.121179915e-07 -7.92259167e-11 9.5750718e-07 --5.012859722e-07 6.192875804e-07 -1.755986228e-09 9.5750718e-07 -3.539948012e-09 --5.13484499e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.330174396e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.600351321e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.02589349e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.526877797e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.755465709e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.164707686e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.109934681e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.28239574e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.078811515e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.107669571e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.044503169e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.613676795e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001203491626 -0.000158013562 0.04894363235 0 0 --0.000158013562 -0.0001828181362 0.08640997481 0 0 -0.04894363235 0.08640997481 -0.0004868888087 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.352730873e-05 -7.49403999e-05 0.001129633829 0 0 --7.49403999e-05 -0.0001041388051 0.004076841914 0 0 -0.001129633829 0.004076841914 -5.545659045e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.18796625e-06 -3.17513416e-07 0.000778187856 0 0 --3.17513416e-07 -1.425850319e-06 -0.001085523996 0 0 -0.000778187856 -0.001085523996 2.234164117e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.385289339e-06 -4.472455253e-06 0.0005341656953 0 0 --4.472455253e-06 -7.482859224e-07 4.949622208e-05 0 0 -0.0005341656953 4.949622208e-05 5.640299023e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.683709179e-07 3.572995994e-08 -9.74745726e-05 0 0 -3.572995994e-08 2.601630701e-07 0.0001098236432 0 0 --9.74745726e-05 0.0001098236432 2.720395933e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.388158639e-07 6.724380676e-07 1.340732882e-05 0 0 -6.724380676e-07 9.063202574e-07 4.168151923e-05 0 0 -1.340732882e-05 4.168151923e-05 6.424797269e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.25074968e-08 -1.790529143e-08 1.622198922e-05 0 0 --1.790529143e-08 -6.746240927e-09 3.91268347e-06 0 0 -1.622198922e-05 3.91268347e-06 1.596453885e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.399421261e-08 -7.02370431e-08 -5.47677934e-06 0 0 --7.02370431e-08 -1.534351937e-07 2.220274709e-05 0 0 --5.47677934e-06 2.220274709e-05 -3.066786511e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.943640084e-08 4.257735463e-08 1.964267585e-05 0 0 -4.257735463e-08 4.407304283e-08 2.551344304e-05 0 0 -1.964267585e-05 2.551344304e-05 4.825473224e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.850672014e-08 6.82907751e-08 9.946901482e-06 0 0 -6.82907751e-08 6.680030236e-08 1.127262267e-05 0 0 -9.946901482e-06 1.127262267e-05 5.178159838e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.829047118e-09 8.047589587e-09 2.632909146e-06 0 0 -8.047589587e-09 1.101382123e-08 8.801947954e-06 0 0 -2.632909146e-06 8.801947954e-06 -6.225359027e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.132232632e-09 -5.650461078e-09 6.604691218e-06 0 0 --5.650461078e-09 -5.924015442e-09 8.860435689e-06 0 0 -6.604691218e-06 8.860435689e-06 -2.774425034e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.322944494e-09 8.039693658e-09 4.845369822e-06 0 0 -8.039693658e-09 9.153973526e-09 8.152861787e-06 0 0 -4.845369822e-06 8.152861787e-06 -2.020774587e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.98751673e-05 -0.0001632886435 0.02867974588 -9.544585956e-05 0.02467596235 --0.0001632886435 -0.0002024462814 0.08147117798 -0.0002130482759 0.07009851592 -0.02867974588 0.08147117798 -0.000318358205 0.01810394459 2.93008735e-05 --9.544585956e-05 -0.0002130482759 0.01810394459 -8.468627846e-05 0.01557616718 -0.02467596235 0.07009851592 2.93008735e-05 0.01557616718 0.0002861058748 --3.279181828e-05 -8.395387124e-05 0.004343714053 -2.693371463e-05 0.003736949169 --8.395387124e-05 -0.0001914087788 0.01479984554 -7.989060321e-05 0.01273323055 -0.004343714053 0.01479984554 -0.0001614716208 0.001858077464 -2.222008842e-05 --2.693371463e-05 -7.989060321e-05 0.001858077464 -1.704076542e-05 0.001598179434 -0.003736949169 0.01273323055 -2.222008842e-05 0.001598179434 8.130232705e-05 --1.016041142e-07 -3.435065145e-06 -1.858597983e-05 4.048033783e-08 -1.602758411e-05 --3.435065145e-06 -2.137419359e-05 -0.001197633284 -2.180347834e-06 -0.001030577273 --1.858597983e-05 -0.001197633284 2.007905745e-05 2.872517413e-05 4.101574859e-06 -4.048033783e-08 -2.180347834e-06 2.872517413e-05 1.167856718e-07 2.468872378e-05 --1.602758411e-05 -0.001030577273 4.101574859e-06 2.468872378e-05 -7.806651367e-06 --4.045085761e-06 -2.021356669e-06 0.0006352056209 -3.025993328e-06 0.0005465542733 --2.021356669e-06 3.815483402e-06 -0.0003763992523 7.124654745e-07 -0.0003238353177 -0.0006352056209 -0.0003763992523 8.934780354e-06 0.0001553287955 3.023687587e-06 --3.025993328e-06 7.124654745e-07 0.0001553287955 -1.238121176e-06 0.0001336655618 -0.0005465542733 -0.0003238353177 3.023687587e-06 0.0001336655618 -1.411275431e-06 --4.235410925e-07 -7.378842936e-07 -0.0001803948994 -3.89552454e-08 -0.0001552138274 --7.378842936e-07 1.856494322e-06 0.0001770559542 2.692069151e-07 0.0001523429218 --0.0001803948994 0.0001770559542 -8.165833675e-07 3.611837264e-05 -3.959751282e-07 --3.89552454e-08 2.692069151e-07 3.611837264e-05 3.257815506e-08 3.107686983e-05 --0.0001552138274 0.0001523429218 -3.959751282e-07 3.107686983e-05 -7.687878898e-08 -3.835162648e-07 5.9407911e-07 4.551525031e-06 1.956490521e-07 3.915269242e-06 -5.9407911e-07 6.262403665e-07 3.067305743e-06 1.384889341e-07 2.636910974e-06 -4.551525031e-06 3.067305743e-06 5.397661469e-08 9.227243454e-08 2.451935075e-08 -1.956490521e-07 1.384889341e-07 9.227243454e-08 7.68305356e-09 7.846834357e-08 -3.915269242e-06 2.636910974e-06 2.451935075e-08 7.846834357e-08 2.234062803e-09 --5.309221485e-08 -4.283868911e-08 5.770011461e-06 -4.160836581e-08 4.964301678e-06 --4.283868911e-08 2.104776742e-08 -1.249309437e-06 -1.205912752e-08 -1.075459702e-06 -5.770011461e-06 -1.249309437e-06 -9.182204394e-08 2.237659649e-06 -1.522143074e-08 --4.160836581e-08 -1.205912752e-08 2.237659649e-06 -2.428611177e-08 1.924966159e-06 -4.964301678e-06 -1.075459702e-06 -1.522143074e-08 1.924966159e-06 4.178344239e-08 -6.042583574e-08 -6.770478921e-08 -1.125567803e-05 1.438622937e-08 -9.685389861e-06 --6.770478921e-08 -3.22684818e-07 4.152180849e-05 -1.801526844e-07 3.572468412e-05 --1.125567803e-05 4.152180849e-05 -5.097257854e-07 9.219136608e-06 -1.204980874e-07 -1.438622937e-08 -1.801526844e-07 9.219136608e-06 -6.40878813e-08 7.931162927e-06 --9.685389861e-06 3.572468412e-05 -1.204980874e-07 7.931162927e-06 1.699993747e-07 -8.815706041e-09 5.910729786e-08 1.800056962e-05 -7.661340796e-09 1.548789858e-05 -5.910729786e-08 1.070933324e-07 1.758920009e-05 6.761777741e-09 1.513357806e-05 -1.800056962e-05 1.758920009e-05 2.937807798e-07 5.07920003e-06 1.196522488e-07 --7.661340796e-09 6.761777741e-09 5.07920003e-06 -5.025576825e-09 4.370277587e-06 -1.548789858e-05 1.513357806e-05 1.196522488e-07 4.370277587e-06 -1.158840881e-08 -1.340786242e-09 1.012643565e-08 7.274698202e-07 2.127417125e-09 6.259129273e-07 -1.012643565e-08 6.802232899e-08 7.321423784e-06 1.143336116e-08 6.29939135e-06 -7.274698202e-07 7.321423784e-06 3.24070264e-08 2.155284802e-06 1.502615498e-08 -2.127417125e-09 1.143336116e-08 2.155284802e-06 8.366647882e-10 1.854433413e-06 -6.259129273e-07 6.29939135e-06 1.502615498e-08 1.854433413e-06 1.866125167e-09 --7.500812597e-09 -2.073417604e-08 2.133081269e-06 -9.340685615e-09 1.835233892e-06 --2.073417604e-08 -3.300948589e-08 9.73589366e-06 -2.846321079e-08 8.376798999e-06 -2.133081269e-06 9.73589366e-06 -7.391058555e-08 2.238762405e-06 -7.970570434e-09 --9.340685615e-09 -2.846321079e-08 2.238762405e-06 -1.134442106e-08 1.926120222e-06 -1.835233892e-06 8.376798999e-06 -7.970570434e-09 1.926120222e-06 4.100086365e-08 --1.585170268e-08 -2.322673879e-08 4.328119394e-06 -1.557095219e-08 3.723935356e-06 --2.322673879e-08 -3.089101104e-08 8.268704117e-06 -2.593397578e-08 7.114466494e-06 -4.328119394e-06 8.268704117e-06 -1.071102007e-08 2.338900049e-06 1.07355012e-08 --1.557095219e-08 -2.593397578e-08 2.338900049e-06 -1.219979937e-08 2.012368893e-06 -3.723935356e-06 7.114466494e-06 1.07355012e-08 2.012368893e-06 2.640342621e-08 --1.189537906e-09 6.414161253e-12 1.600017349e-06 -2.476633457e-09 1.376675629e-06 -6.414161253e-12 2.158380315e-08 6.806921651e-06 -4.736027114e-09 5.856769652e-06 -1.600017349e-06 6.806921651e-06 9.644633814e-09 1.831540268e-06 1.025407994e-08 --2.476633457e-09 -4.736027114e-09 1.831540268e-06 -4.111313063e-09 1.575879581e-06 -1.376675629e-06 5.856769652e-06 1.025407994e-08 1.575879581e-06 1.050546492e-08 --0.0008944619759 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000941299234 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006978398536 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000145248396 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.63677199e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.967625063e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.296939131e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.490554749e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.737993288e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.589452981e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.748905368e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.754090131e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.933701189e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002461030355 0.0003527664577 0.07571902349 0 0 -0.0003527664577 -0.001724192818 0.08505038365 0 0 -0.07571902349 0.08505038365 -0.001909517551 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001122075265 0.0001530876582 0.02283675832 0 0 -0.0001530876582 0.003079790041 0.01132340806 0 0 -0.02283675832 0.01132340806 -0.000378506362 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.468109484e-05 -0.0001224811967 0.01306193203 0 0 --0.0001224811967 -0.0005285613085 0.04151194584 0 0 -0.01306193203 0.04151194584 7.988073081e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.30175172e-06 -1.606100384e-05 0.003699504279 0 0 --1.606100384e-05 7.28308778e-05 0.008335310032 0 0 -0.003699504279 0.008335310032 -4.16347962e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.886090431e-08 -2.574190776e-06 0.0003194394977 0 0 --2.574190776e-06 -6.827338564e-05 0.0008664782136 0 0 -0.0003194394977 0.0008664782136 -1.706230613e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.758110234e-06 1.659387167e-06 -5.696200496e-05 0 0 -1.659387167e-06 -1.085531919e-05 0.0003946940283 0 0 --5.696200496e-05 0.0003946940283 1.947273354e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.068461479e-09 3.175565178e-07 0.0001806886723 0 0 -3.175565178e-07 4.155767794e-05 0.0007639140947 0 0 -0.0001806886723 0.0007639140947 1.716616448e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.374685396e-07 -9.907894183e-07 5.659149742e-05 0 0 --9.907894183e-07 1.065762931e-05 0.0001236353641 0 0 -5.659149742e-05 0.0001236353641 3.749740299e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.312346414e-09 1.568002324e-06 -3.375228726e-06 0 0 -1.568002324e-06 -2.596075458e-06 -7.32554136e-05 0 0 --3.375228726e-06 -7.32554136e-05 -4.242139059e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.85008988e-08 9.043494627e-07 3.117100028e-05 0 0 -9.043494627e-07 -3.671787424e-06 0.0001494369719 0 0 -3.117100028e-05 0.0001494369719 -9.60018017e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.861404495e-08 -3.036522582e-07 1.051080913e-05 0 0 --3.036522582e-07 3.905313456e-06 9.176181284e-05 0 0 -1.051080913e-05 9.176181284e-05 3.323876391e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.54929655e-08 -4.808608564e-07 5.039666156e-07 0 0 --4.808608564e-07 1.817971424e-06 1.940211856e-05 0 0 -5.039666156e-07 1.940211856e-05 2.037992623e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.218768966e-09 5.426286015e-09 1.138702627e-05 0 0 -5.426286015e-09 2.893641499e-07 3.098384861e-05 0 0 -1.138702627e-05 3.098384861e-05 2.565160227e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004452767333 -0.0002887887472 0.08839505614 0.001126002141 -0.1700687765 --0.0002887887472 -0.0002157272537 0.194212819 0.0003718826943 0.06018159555 -0.08839505614 0.194212819 0.0004350442238 -0.03151802308 -0.0004879654281 -0.001126002141 0.0003718826943 -0.03151802308 -3.251847617e-05 -0.1274809945 --0.1700687765 0.06018159555 -0.0004879654281 -0.1274809945 -0.002009621472 --6.799299059e-05 -0.0004060083022 0.03060782348 -0.001272818297 0.009755918216 --0.0004060083022 -0.0001997349097 0.04827166578 -7.377797736e-05 -0.0009043329021 -0.03060782348 0.04827166578 8.232586806e-05 -0.03096445329 0.0001394528281 --0.001272818297 -7.377797736e-05 -0.03096445329 0.002323793735 -0.09402483706 -0.009755918216 -0.0009043329021 0.0001394528281 -0.09402483706 -0.002084811506 -5.637124916e-05 7.54598198e-05 -4.605369996e-05 -8.886891369e-05 -0.009363355778 -7.54598198e-05 3.264798354e-06 0.006837606333 -0.000117654704 0.008198520488 --4.605369996e-05 0.006837606333 -1.555355761e-05 -0.0007594298457 0.0001183554088 --8.886891369e-05 -0.000117654704 -0.0007594298457 2.164673565e-05 0.009220457807 --0.009363355778 0.008198520488 0.0001183554088 0.009220457807 0.0004529125367 --3.546829302e-05 3.300658873e-05 -0.002680424875 2.612898498e-05 -0.00742487276 -3.300658873e-05 6.498446879e-06 0.004249821483 -3.866547904e-06 0.01243652047 --0.002680424875 0.004249821483 -1.248927752e-06 0.006266269508 -1.595642659e-05 -2.612898498e-05 -3.866547904e-06 0.006266269508 2.321887448e-05 0.01778355595 --0.00742487276 0.01243652047 -1.595642659e-05 0.01778355595 -0.0001351476449 --7.033294479e-06 -2.651798032e-06 -0.0001318319145 4.055007713e-06 -0.0004151554607 --2.651798032e-06 1.795241635e-06 0.000235225083 7.010105679e-06 0.0004769953059 --0.0001318319145 0.000235225083 5.490435352e-08 0.0003521710099 1.304429568e-06 -4.055007713e-06 7.010105679e-06 0.0003521710099 7.3764891e-06 0.0007231653809 --0.0004151554607 0.0004769953059 1.304429568e-06 0.0007231653809 -2.931597439e-05 -1.355362428e-05 6.735388783e-06 3.277740285e-05 4.776228533e-06 -0.0004520208438 -6.735388783e-06 2.691056784e-06 0.0001182941624 2.339521095e-06 -0.0003547151065 -3.277740285e-05 0.0001182941624 -3.046676535e-07 -0.0001000736588 -4.48437121e-06 -4.776228533e-06 2.339521095e-06 -0.0001000736588 -1.220195317e-05 -0.0001745910379 --0.0004520208438 -0.0003547151065 -4.48437121e-06 -0.0001745910379 3.41451863e-05 -1.074339764e-05 -3.756357862e-06 -0.0001335391817 -1.30475306e-05 -0.0004873489154 --3.756357862e-06 -4.936587641e-07 0.0002205238265 2.860415036e-06 0.0006622760684 --0.0001335391817 0.0002205238265 -1.091457353e-07 0.0003094192187 6.703900946e-07 --1.30475306e-05 2.860415036e-06 0.0003094192187 1.420419759e-05 0.001013116668 --0.0004873489154 0.0006622760684 6.703900946e-07 0.001013116668 1.326260313e-05 -1.751214265e-06 6.343144906e-08 1.436322452e-05 -2.751420814e-06 2.070916636e-05 -6.343144906e-08 -2.087962147e-07 3.709265867e-05 -5.508027068e-07 3.517047214e-05 -1.436322452e-05 3.709265867e-05 1.323474281e-07 1.055964046e-05 4.793539853e-07 --2.751420814e-06 -5.508027068e-07 1.055964046e-05 3.370093842e-06 -3.344388052e-05 -2.070916636e-05 3.517047214e-05 4.793539853e-07 -3.344388052e-05 2.313711632e-06 --2.628279078e-06 -9.83959389e-07 3.37506056e-05 2.842140565e-06 -3.741671296e-05 --9.83959389e-07 1.470122102e-07 4.063174302e-05 1.324796849e-06 -3.153543516e-05 -3.37506056e-05 4.063174302e-05 1.500227176e-07 -2.780983302e-05 -9.426278691e-07 -2.842140565e-06 1.324796849e-06 -2.780983302e-05 -2.013490878e-06 -9.958820214e-05 --3.741671296e-05 -3.153543516e-05 -9.426278691e-07 -9.958820214e-05 -9.247849772e-06 -1.855126338e-07 -1.254547644e-07 -9.378880114e-06 1.553027692e-06 -0.0001390359036 --1.254547644e-07 2.201282839e-08 4.195824563e-05 1.5825693e-07 8.862288617e-05 --9.378880114e-06 4.195824563e-05 1.360013311e-08 3.372018247e-05 -3.621024339e-07 -1.553027692e-06 1.5825693e-07 3.372018247e-05 -2.978898421e-06 0.0001600034492 --0.0001390359036 8.862288617e-05 -3.621024339e-07 0.0001600034492 1.678703006e-06 -1.659820032e-06 3.759275721e-07 7.761737308e-06 -7.359888773e-07 -3.092568911e-05 -3.759275721e-07 -3.295656475e-09 1.527488656e-05 -2.147120823e-07 -2.310509808e-06 -7.761737308e-06 1.527488656e-05 3.837958186e-08 -2.471336929e-06 6.301025545e-08 --7.359888773e-07 -2.147120823e-07 -2.471336929e-06 2.176368644e-07 -3.363886306e-06 --3.092568911e-05 -2.310509808e-06 6.301025545e-08 -3.363886306e-06 5.067842722e-06 -1.329056045e-06 2.963621437e-07 9.716372679e-06 -8.401514718e-07 -2.133844163e-05 -2.963621437e-07 -8.037512933e-09 1.832125858e-05 -2.0893266e-07 1.567109976e-06 -9.716372679e-06 1.832125858e-05 4.541600181e-08 -3.736170197e-06 1.417598944e-07 --8.401514718e-07 -2.0893266e-07 -3.736170197e-06 6.413981224e-07 -1.251295899e-05 --2.133844163e-05 1.567109976e-06 1.417598944e-07 -1.251295899e-05 3.831115059e-06 --2.370372333e-07 -6.080168826e-08 4.375291335e-06 6.367535417e-07 -3.462764621e-05 --6.080168826e-08 9.152204811e-09 1.771740558e-05 1.23630438e-07 1.614475635e-05 -4.375291335e-06 1.771740558e-05 3.47994773e-08 3.479779771e-06 -1.588038167e-07 -6.367535417e-07 1.23630438e-07 3.479779771e-06 -7.714869097e-07 1.663203573e-05 --3.462764621e-05 1.614475635e-05 -1.588038167e-07 1.663203573e-05 -4.357608395e-07 --0.01655037511 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01801777683 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007172270147 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009206390217 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001429101996 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.317247918e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.756900207e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.307058394e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.617009136e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.082224398e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.318524659e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.73293952e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.799959164e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002336701624 -0.01092776845 0.0126914684 0 0 --0.01092776845 -0.09739502285 0.04480931331 0 0 -0.0126914684 0.04480931331 0.01961961825 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001464398235 -0.007019765839 -0.00404923842 0 0 --0.007019765839 -0.02751470968 -0.004427466192 0 0 --0.00404923842 -0.004427466192 0.003687568927 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.311785934e-05 0.0006415805603 -0.0001648382276 0 0 -0.0006415805603 -3.106264915e-05 -0.00104571714 0 0 --0.0001648382276 -0.00104571714 0.0005748105903 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.731043843e-06 0.0001431211135 6.510050463e-05 0 0 -0.0001431211135 -0.001874064111 -0.001203260487 0 0 -6.510050463e-05 -0.001203260487 -0.0006850179816 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.501653622e-09 1.289426955e-06 1.259882172e-07 0 0 -1.289426955e-06 -0.000161325549 1.094728702e-05 0 0 -1.259882172e-07 1.094728702e-05 5.591962203e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.656709681e-06 7.963121846e-05 8.296718398e-05 0 0 -7.963121846e-05 0.0002692521116 6.925252124e-05 0 0 -8.296718398e-05 6.925252124e-05 -0.0001370805882 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.071996406e-07 -6.075041177e-06 -4.970841265e-06 0 0 --6.075041177e-06 0.0001629865399 0.0001231042206 0 0 --4.970841265e-06 0.0001231042206 9.175496262e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.385248227e-08 -2.035295108e-06 1.706414677e-06 0 0 --2.035295108e-06 -2.130968434e-05 5.499846788e-06 0 0 -1.706414677e-06 5.499846788e-06 4.436084347e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.555753802e-07 -7.398499925e-06 4.238782446e-06 0 0 --7.398499925e-06 -4.080793509e-05 1.271291332e-05 0 0 -4.238782446e-06 1.271291332e-05 -1.461964847e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.055651591e-08 8.893674684e-07 2.457700076e-06 0 0 -8.893674684e-07 2.264529625e-05 3.263538629e-05 0 0 -2.457700076e-06 3.263538629e-05 2.210830261e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.645411767e-08 3.071589072e-06 4.077104266e-06 0 0 -3.071589072e-06 3.477672573e-05 2.625070079e-05 0 0 -4.077104266e-06 2.625070079e-05 1.065857731e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.739706232e-08 1.284229596e-06 3.297590585e-06 0 0 -1.284229596e-06 1.083552051e-05 1.419455137e-05 0 0 -3.297590585e-06 1.419455137e-05 4.068380701e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.592020745e-09 -3.491497931e-07 1.491498072e-06 0 0 --3.491497931e-07 -4.317777383e-06 8.053162246e-06 0 0 -1.491498072e-06 8.053162246e-06 4.689139689e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005137428038 0.0001062446265 -0.0007734570267 0.03284731919 -0.03117237067 -0.0001062446265 -0.0001062223727 0.0001759726366 0.006292598314 -0.003901230506 --0.0007734570267 0.0001759726366 -0.0002234529825 -0.01488420409 0.01045920103 -0.03284731919 0.006292598314 -0.01488420409 -0.08060530361 -0.03070248072 --0.03117237067 -0.003901230506 0.01045920103 -0.03070248072 0.09132784662 --0.01076546978 -0.001507722466 0.004405358576 0.0148001585 0.01620366474 --0.001507722466 -8.533681403e-05 0.0001266361628 0.002092136952 0.00189475926 -0.004405358576 0.0001266361628 0.0001081850553 -0.006131807918 -0.005170912096 -0.0148001585 0.002092136952 -0.006131807918 -0.02034399447 -0.0223340893 -0.01620366474 0.00189475926 -0.005170912096 -0.0223340893 -0.02327375761 --0.0002405539385 -4.084731832e-05 0.0004872223666 0.000410492948 0.0005958759364 --4.084731832e-05 -7.988518754e-07 3.937555241e-06 -2.455122093e-05 0.0001011046799 -0.0004872223666 3.937555241e-06 2.481635537e-05 0.0003787112822 -0.001205894399 -0.000410492948 -2.455122093e-05 0.0003787112822 0.000747074932 -0.001015631107 -0.0005958759364 0.0001011046799 -0.001205894399 -0.001015631107 -0.00147604273 --0.000530310988 -0.0001236770938 -0.0003437034806 0.0001916002865 0.0007108975346 --0.0001236770938 -7.658702929e-06 -1.265392782e-05 0.0001684194765 0.0001403355781 --0.0003437034806 -1.265392782e-05 -7.667403633e-06 0.0005184494851 0.0003796277248 -0.0001916002865 0.0001684194765 0.0005184494851 0.0006534821475 -0.0004055352078 -0.0007108975346 0.0001403355781 0.0003796277248 -0.0004055352078 -0.0009223878546 -1.653586007e-05 -1.952706125e-05 -2.741911426e-05 -4.659204639e-05 -2.441027447e-05 --1.952706125e-05 -1.646974433e-07 -6.808667568e-07 -2.607189933e-05 5.519385757e-05 --2.741911426e-05 -6.808667568e-07 -1.596067429e-06 -3.817901232e-05 7.801146548e-05 --4.659204639e-05 -2.607189933e-05 -3.817901232e-05 -0.0001518720424 0.0001608490711 --2.441027447e-05 5.519385757e-05 7.801146548e-05 0.0001608490711 6.097012534e-06 -0.0001107235445 1.058288584e-05 -6.071643452e-05 -0.0001382491816 -0.0002018426183 -1.058288584e-05 4.297877542e-07 -1.262329794e-06 -7.417642545e-06 -1.835284499e-05 --6.071643452e-05 -1.262329794e-06 -2.151981036e-06 3.056565349e-05 0.0001033515599 --0.0001382491816 -7.417642545e-06 3.056565349e-05 0.0001148661217 0.0002426628098 --0.0002018426183 -1.835284499e-05 0.0001033515599 0.0002426628098 0.0003664312361 -1.651012824e-05 4.465370258e-06 7.497453524e-06 3.650893542e-06 -3.113951646e-05 -4.465370258e-06 1.559765411e-07 2.208163648e-07 -7.890966762e-08 -8.9090701e-06 -7.497453524e-06 2.208163648e-07 3.001914113e-07 -1.741328536e-07 -1.497753984e-05 -3.650893542e-06 -7.890966762e-08 -1.741328536e-07 -2.738188534e-07 -7.379658019e-06 --3.113951646e-05 -8.9090701e-06 -1.497753984e-05 -7.379658019e-06 5.850629497e-05 --7.827221949e-06 1.569247534e-06 6.015599999e-06 1.89297184e-05 7.444431274e-06 -1.569247534e-06 1.408950944e-07 2.579411788e-07 -3.482220218e-06 -9.483300339e-07 -6.015599999e-06 2.579411788e-07 8.191387739e-08 -1.354268958e-05 -3.972452286e-06 -1.89297184e-05 -3.482220218e-06 -1.354268958e-05 -4.556554488e-05 -1.763012706e-05 -7.444431274e-06 -9.483300339e-07 -3.972452286e-06 -1.763012706e-05 -6.430262077e-06 -5.369107641e-06 2.282803845e-07 -1.174612111e-06 7.299598474e-06 -1.658700607e-05 -2.282803845e-07 -1.387297337e-08 4.417557848e-08 1.269258382e-06 -1.197785589e-06 --1.174612111e-06 4.417557848e-08 -1.187034008e-07 -5.42447507e-06 5.594831073e-06 -7.299598474e-06 1.269258382e-06 -5.42447507e-06 -2.907202133e-05 -2.52007849e-06 --1.658700607e-05 -1.197785589e-06 5.594831073e-06 -2.52007849e-06 4.095382925e-05 -1.723149217e-05 2.221589217e-06 8.761440877e-07 -4.20731416e-06 -3.350681748e-05 -2.221589217e-06 6.474867238e-08 5.664083609e-08 3.567740671e-07 -4.730152402e-06 -8.761440877e-07 5.664083609e-08 3.024035705e-08 1.452525356e-08 -1.807897307e-06 --4.20731416e-06 3.567740671e-07 1.452525356e-08 -2.620330035e-06 9.84532898e-06 --3.350681748e-05 -4.730152402e-06 -1.807897307e-06 9.84532898e-06 6.439511067e-05 -6.72927023e-06 1.007855221e-07 -1.971394756e-06 -3.557166699e-06 -1.298096019e-05 -1.007855221e-07 1.497603186e-09 -2.66995431e-08 -4.499620465e-08 -1.974141367e-07 --1.971394756e-06 -2.66995431e-08 -9.488948659e-08 -9.278173056e-07 4.515629828e-06 --3.557166699e-06 -4.499620465e-08 -9.278173056e-07 -3.890656752e-06 8.949934416e-06 --1.298096019e-05 -1.974141367e-07 4.515629828e-06 8.949934416e-06 2.428515861e-05 -3.69028946e-06 2.403314809e-07 -6.366735454e-07 8.242905369e-07 -8.538434162e-06 -2.403314809e-07 7.890901965e-10 6.059047372e-09 3.689271146e-07 -7.102715661e-07 --6.366735454e-07 6.059047372e-09 -4.210896112e-08 -1.150197632e-06 1.966166762e-06 -8.242905369e-07 3.689271146e-07 -1.150197632e-06 -6.502423876e-06 1.363531781e-06 --8.538434162e-06 -7.102715661e-07 1.966166762e-06 1.363531781e-06 1.815597342e-05 -3.75263246e-06 2.80020697e-07 -3.753313035e-07 1.039867151e-06 -8.760014141e-06 -2.80020697e-07 7.812515648e-10 7.863606614e-09 4.394881822e-07 -8.330382867e-07 --3.753313035e-07 7.863606614e-09 -2.64314965e-08 -7.494016976e-07 1.196042383e-06 -1.039867151e-06 4.394881822e-07 -7.494016976e-07 -6.223133024e-06 7.998025652e-07 --8.760014141e-06 -8.330382867e-07 1.196042383e-06 7.998025652e-07 1.884953589e-05 -0.01668629932 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01815043307 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007029930121 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001186694418 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001069484344 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.490910143e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.797441387e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.055141085e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.780656783e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.589973946e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.202618987e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.083966399e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.994800519e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001404073819 0.01106293632 0.01347463781 0 0 -0.01106293632 0.09643378676 0.04798611137 0 0 -0.01347463781 0.04798611137 -0.02118232572 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.364456752e-05 0.007482274649 -0.003958243393 0 0 -0.007482274649 0.03070161885 -0.005201446594 0 0 --0.003958243393 -0.005201446594 -0.002894876677 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.592541346e-06 -0.0005330597551 -0.0002978743572 0 0 --0.0005330597551 -0.000118952897 -0.0008511622587 0 0 --0.0002978743572 -0.0008511622587 -0.0009283629698 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.495707313e-06 -0.0002080380453 8.500133845e-05 0 0 --0.0002080380453 0.00197461659 -0.001339055907 0 0 -8.500133845e-05 -0.001339055907 0.0007461557671 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.77692269e-08 5.165356922e-06 6.702666294e-06 0 0 -5.165356922e-06 0.0001029565408 4.574228856e-05 0 0 -6.702666294e-06 4.574228856e-05 -3.910645072e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.088435052e-06 -8.71310622e-05 8.315711795e-05 0 0 --8.71310622e-05 -0.0003036876358 7.256990566e-05 0 0 -8.315711795e-05 7.256990566e-05 0.0001316121647 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.548942969e-08 8.125866716e-06 -6.91009691e-06 0 0 -8.125866716e-06 -0.0001292866721 0.0001045173948 0 0 --6.91009691e-06 0.0001045173948 -8.421345238e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.577682447e-08 4.420042193e-06 1.645637584e-06 0 0 -4.420042193e-06 3.012263787e-05 3.709469073e-06 0 0 -1.645637584e-06 3.709469073e-06 -1.265241824e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.454893673e-08 5.923413073e-06 5.138310257e-06 0 0 -5.923413073e-06 3.515587486e-05 1.521869247e-05 0 0 -5.138310257e-06 1.521869247e-05 4.103946161e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.29627822e-08 -9.566277146e-07 2.01821297e-06 0 0 --9.566277146e-07 -2.985383839e-05 3.55302755e-05 0 0 -2.01821297e-06 3.55302755e-05 -2.45438214e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.225027766e-08 -3.325170951e-06 4.378302853e-06 0 0 --3.325170951e-06 -3.024806307e-05 2.218314446e-05 0 0 -4.378302853e-06 2.218314446e-05 -7.041973208e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.155446769e-08 -9.109014894e-07 2.967340157e-06 0 0 --9.109014894e-07 -7.772217831e-06 1.300112998e-05 0 0 -2.967340157e-06 1.300112998e-05 -4.133300699e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.746963775e-09 3.699532642e-07 1.447419063e-06 0 0 -3.699532642e-07 4.576937344e-06 7.964751012e-06 0 0 -1.447419063e-06 7.964751012e-06 -4.778056203e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005818393092 -0.0002837008112 -0.0009894247154 -0.03226341934 -0.03307528429 --0.0002837008112 6.110482919e-05 0.0001035455408 -0.005971793965 -0.004251527084 --0.0009894247154 0.0001035455408 0.0001392012773 -0.01439605066 -0.01096946815 --0.03226341934 -0.005971793965 -0.01439605066 0.07928598743 -0.02851448773 --0.03307528429 -0.004251527084 -0.01096946815 -0.02851448773 -0.09509958934 -0.01121542427 0.00148013434 0.004329472859 -0.01566478099 0.01624524822 -0.00148013434 5.466626876e-05 7.792828874e-05 -0.002198271749 0.001711413037 -0.004329472859 7.792828874e-05 -5.960082051e-05 -0.006506367293 0.004753931823 --0.01566478099 -0.002198271749 -0.006506367293 0.02175739075 -0.02309263189 -0.01624524822 0.001711413037 0.004753931823 -0.02309263189 0.02220093974 -0.0003996257315 6.886992679e-05 0.0006384910008 -0.0005946261372 0.0009039472143 -6.886992679e-05 1.16783131e-06 4.645877864e-06 1.604984452e-05 0.0001547591469 -0.0006384910008 4.645877864e-06 -1.780282441e-05 0.0002172599514 0.001434176127 --0.0005946261372 1.604984452e-05 0.0002172599514 -0.0004280279787 -0.001333697986 -0.0009039472143 0.0001547591469 0.001434176127 -0.001333697986 0.002044616691 -0.0004893172105 0.0001088340219 -0.0003720751246 -0.0001599124016 0.000620190207 -0.0001088340219 4.336660035e-06 -8.394097819e-06 -0.0001661339145 0.0001125838761 --0.0003720751246 -8.394097819e-06 4.626626317e-06 0.000610231595 -0.0003766864377 --0.0001599124016 -0.0001661339145 0.000610231595 -0.0008056827796 -0.000369314888 -0.000620190207 0.0001125838761 -0.0003766864377 -0.000369314888 0.0007537027532 --1.424012763e-05 2.876548218e-05 -4.885719458e-05 8.206545261e-05 -1.374032017e-05 -2.876548218e-05 3.492339936e-07 -7.442276668e-07 2.217111149e-05 7.243015528e-05 --4.885719458e-05 -7.442276668e-07 1.52101558e-06 -3.81425779e-05 -0.0001231356083 -8.206545261e-05 2.217111149e-05 -3.81425779e-05 0.0001313322861 0.0002228194876 --1.374032017e-05 7.243015528e-05 -0.0001231356083 0.0002228194876 2.088353043e-05 --0.0001132591221 -1.57945796e-05 -4.912376522e-05 0.0001280789051 -0.0002062200554 --1.57945796e-05 -4.333824064e-07 -5.65449853e-07 1.048139848e-05 -2.650948859e-05 --4.912376522e-05 -5.65449853e-07 1.020909344e-06 2.933518674e-05 -8.145431391e-05 -0.0001280789051 1.048139848e-05 2.933518674e-05 -0.0001140550444 0.0002238227302 --0.0002062200554 -2.650948859e-05 -8.145431391e-05 0.0002238227302 -0.0003726227702 --7.292289557e-06 -1.954772992e-06 3.900622339e-06 -5.028360379e-06 -1.541395416e-05 --1.954772992e-06 -2.396955484e-08 5.36823376e-08 -1.421919217e-06 -4.867509055e-06 -3.900622339e-06 5.36823376e-08 -1.187296919e-07 2.836480968e-06 9.704187245e-06 --5.028360379e-06 -1.421919217e-06 2.836480968e-06 -3.456323741e-06 -1.051972014e-05 --1.541395416e-05 -4.867509055e-06 9.704187245e-06 -1.051972014e-05 -3.149871102e-05 -8.842128795e-06 -2.320056261e-06 8.296311658e-06 -2.282100165e-05 8.111622015e-06 --2.320056261e-06 -1.181499316e-07 2.122739282e-07 5.036764348e-06 -1.483806614e-06 -8.296311658e-06 2.122739282e-07 -6.814162687e-08 -1.828608968e-05 5.49236902e-06 --2.282100165e-05 5.036764348e-06 -1.828608968e-05 5.765502253e-05 -2.00921729e-05 -8.111622015e-06 -1.483806614e-06 5.49236902e-06 -2.00921729e-05 6.869895802e-06 --9.134069455e-06 -7.053302741e-07 -1.435573956e-06 -4.265302157e-06 -2.31802335e-05 --7.053302741e-07 3.207428092e-09 1.825992188e-08 -1.51079286e-06 -2.382345335e-06 --1.435573956e-06 1.825992188e-08 6.342921799e-08 -3.31527465e-06 -4.969339387e-06 --4.265302157e-06 -1.51079286e-06 -3.31527465e-06 2.22097771e-05 1.310393478e-06 --2.31802335e-05 -2.382345335e-06 -4.969339387e-06 1.310393478e-06 -5.274182312e-05 --1.692262305e-05 -2.043730424e-06 8.373404694e-07 5.734578623e-06 -3.218108007e-05 --2.043730424e-06 -4.060905755e-08 3.265581256e-08 -3.788536919e-08 -4.21198416e-06 -8.373404694e-07 3.265581256e-08 -1.869794028e-08 -4.121669418e-08 1.700415512e-06 -5.734578623e-06 -3.788536919e-08 -4.121669418e-08 6.441275364e-07 1.205822829e-05 --3.218108007e-05 -4.21198416e-06 1.700415512e-06 1.205822829e-05 -6.068367501e-05 --5.212384048e-06 1.765782516e-08 -1.800487422e-06 2.43937044e-06 -1.04158476e-05 -1.765782516e-08 4.908972357e-10 -1.321181441e-08 4.986247199e-08 5.837660412e-08 --1.800487422e-06 -1.321181441e-08 5.523065729e-08 -1.195620608e-06 -4.407602595e-06 -2.43937044e-06 4.986247199e-08 -1.195620608e-06 4.993418451e-06 7.311762605e-06 --1.04158476e-05 5.837660412e-08 -4.407602595e-06 7.311762605e-06 -1.984567131e-05 --2.414186959e-06 -1.654917474e-07 -3.469495651e-07 -2.160972146e-06 -6.596441395e-06 --1.654917474e-07 2.364672447e-09 6.651592237e-09 -5.007693627e-07 -6.493564112e-07 --3.469495651e-07 6.651592237e-09 1.77059244e-08 -1.09342846e-06 -1.385726244e-06 --2.160972146e-06 -5.007693627e-07 -1.09342846e-06 7.136441501e-06 -8.327453845e-07 --6.596441395e-06 -6.493564112e-07 -1.385726244e-06 -8.327453845e-07 -1.518803337e-05 --4.021534382e-06 -2.761628295e-07 -4.547592838e-07 -3.66817672e-07 -9.041772249e-06 --2.761628295e-07 -1.595146232e-09 3.276708965e-09 -3.326223218e-07 -7.741553505e-07 --4.547592838e-07 3.276708965e-09 1.712348972e-08 -6.522215765e-07 -1.326892853e-06 --3.66817672e-07 -3.326223218e-07 -6.522215765e-07 5.408047299e-06 1.887728808e-06 --9.041772249e-06 -7.741553505e-07 -1.326892853e-06 1.887728808e-06 -1.8976873e-05 -0.04243263882 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06141882426 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01455076227 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000333840261 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001432216672 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004208148492 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.911508737e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001282817911 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.175539469e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.770640516e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.042538174e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.20151226e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.112519079e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01420871832 -0.01845321131 0.02331940565 0 0 --0.01845321131 0.02393007127 -0.02752333821 0 0 -0.02331940565 -0.02752333821 -0.1762357277 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02928394595 -0.03715330828 -0.03786263353 0 0 --0.03715330828 0.04694981445 0.05008127485 0 0 --0.03786263353 0.05008127485 0.02668004382 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01815586833 -0.02254427507 -0.03397277225 0 0 --0.02254427507 0.0277853342 0.04260785032 0 0 --0.03397277225 0.04260785032 0.06270646053 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004008044343 -0.004905900238 -0.009585604881 0 0 --0.004905900238 0.005942519414 0.01155186443 0 0 --0.009585604881 0.01155186443 0.02239930924 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.646897888e-05 -0.000109125684 -0.0006178392214 0 0 --0.000109125684 0.0001370684179 0.0007420527761 0 0 --0.0006178392214 0.0007420527761 0.002232780446 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005886247432 0.0007719606182 0.001159682545 0 0 -0.0007719606182 -0.001011580574 -0.001527142287 0 0 -0.001159682545 -0.001527142287 -0.002236891204 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004412322444 0.0005875074895 0.001117185853 0 0 -0.0005875074895 -0.0007821440572 -0.001485989876 0 0 -0.001117185853 -0.001485989876 -0.002810119724 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.811369255e-05 2.370450208e-05 4.050194989e-05 0 0 -2.370450208e-05 -3.099178557e-05 -5.303780781e-05 0 0 -4.050194989e-05 -5.303780781e-05 -9.05199817e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.833140357e-05 -0.0001134917617 -0.0001564958646 0 0 --0.0001134917617 0.0001454579507 0.0002036019186 0 0 --0.0001564958646 0.0002036019186 0.0002595283402 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.839415558e-05 -3.515810821e-05 -7.606645038e-05 0 0 --3.515810821e-05 4.318639314e-05 9.229405883e-05 0 0 --7.606645038e-05 9.229405883e-05 0.0001934533031 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.074516569e-05 -1.358035222e-05 -1.69341288e-05 0 0 --1.358035222e-05 1.708617183e-05 2.190740713e-05 0 0 --1.69341288e-05 2.190740713e-05 2.33938572e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.603393631e-06 3.303870293e-06 2.841404146e-06 0 0 -3.303870293e-06 -4.176284891e-06 -3.819211645e-06 0 0 -2.841404146e-06 -3.819211645e-06 -3.497471891e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.383748885e-06 1.108201317e-05 2.451370991e-05 0 0 -1.108201317e-05 -1.464262728e-05 -3.226021521e-05 0 0 -2.451370991e-05 -3.226021521e-05 -6.830452109e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.008895670184 -0.003085027328 -0.009285852825 -0.01386656751 0.01249559431 --0.003085027328 0.001333414307 -0.0009693488173 -0.006095744781 0.001312390377 --0.009285852825 -0.0009693488173 -0.00758481332 -0.01568003743 0.01021404623 --0.01386656751 -0.006095744781 -0.01568003743 -0.02092620432 0.02109571717 -0.01249559431 0.001312390377 0.01021404623 0.02109571717 -0.0137546541 --0.004592009864 0.0003803067312 -0.002891285889 -0.00795457954 0.003884583068 -0.0003803067312 0.003424918658 0.00338916661 -0.001639936223 -0.004556849764 --0.002891285889 0.00338916661 0.001049772657 -0.00710322652 -0.001413463976 --0.00795457954 -0.001639936223 -0.00710322652 -0.01225064696 0.009545751092 -0.003884583068 -0.004556849764 -0.001413463976 0.009545751092 0.001903149718 -0.000386629659 0.001628479209 0.001766362827 -0.0003864557049 -0.002381100616 -0.001628479209 0.002006800563 0.002906300405 0.001081562828 -0.003909866388 -0.001766362827 0.002906300405 0.003834036802 0.0007657745164 -0.005160996721 --0.0003864557049 0.001081562828 0.0007657745164 -0.001126466136 -0.001036692877 --0.002381100616 -0.003909866388 -0.005160996721 -0.001036692877 0.006947190332 -0.000634272397 0.0004314253714 0.0007671421875 0.0004797884318 -0.001032440215 -0.0004314253714 0.0002045370193 0.0004075117164 0.0002467637186 -0.0005472635321 -0.0007671421875 0.0004075117164 0.0007809369523 0.0004779997115 -0.0010494933 -0.0004797884318 0.0002467637186 0.0004779997115 0.0002916989232 -0.0006422515994 --0.001032440215 -0.0005472635321 -0.0010494933 -0.0006422515994 0.001410384974 -5.449272884e-05 -3.840729981e-06 7.357171551e-06 -1.16695325e-06 -9.69723976e-06 --3.840729981e-06 -3.252111666e-05 -5.264412978e-05 -5.593405052e-05 7.11633566e-05 -7.357171551e-06 -5.264412978e-05 -8.186506721e-05 -8.920057104e-05 0.0001107249569 --1.16695325e-06 -5.593405052e-05 -8.920057104e-05 -9.56643021e-05 0.0001206042276 --9.69723976e-06 7.11633566e-05 0.0001107249569 0.0001206042276 -0.000149757657 --1.946682495e-05 5.489838751e-06 -1.033416605e-05 -3.917083687e-05 1.387538083e-05 -5.489838751e-06 2.717254929e-05 3.120166917e-05 -3.822466102e-06 -4.198932591e-05 --1.033416605e-05 3.120166917e-05 2.237446502e-05 -3.54388984e-05 -3.013585341e-05 --3.917083687e-05 -3.822466102e-06 -3.54388984e-05 -7.112108079e-05 4.763234383e-05 -1.387538083e-05 -4.198932591e-05 -3.013585341e-05 4.763234383e-05 4.05894804e-05 -1.780627309e-05 1.045811264e-05 2.096689338e-05 1.299992572e-05 -2.821389911e-05 -1.045811264e-05 3.835057943e-06 9.659859103e-06 4.900510928e-06 -1.296690608e-05 -2.096689338e-05 9.659859103e-06 2.163438333e-05 1.216108516e-05 -2.907552465e-05 -1.299992572e-05 4.900510928e-06 1.216108516e-05 6.249622848e-06 -1.632676771e-05 --2.821389911e-05 -1.296690608e-05 -2.907552465e-05 -1.632676771e-05 3.907554501e-05 -1.123091053e-05 5.097096237e-06 1.009501578e-05 6.783595751e-06 -1.357389933e-05 -5.097096237e-06 3.464633266e-07 1.65092041e-06 2.669873109e-07 -2.190209615e-06 -1.009501578e-05 1.65092041e-06 4.707211875e-06 1.907933465e-06 -6.285216545e-06 -6.783595751e-06 2.669873109e-07 1.907933465e-06 7.783056063e-08 -2.523060136e-06 --1.357389933e-05 -2.190209615e-06 -6.285216545e-06 -2.523060136e-06 8.391356638e-06 --3.241338964e-06 -2.367442626e-06 -5.241074864e-06 -6.045040843e-06 7.059257694e-06 --2.367442626e-06 -4.065796206e-07 -2.139425027e-06 -4.024802343e-06 2.884677023e-06 --5.241074864e-06 -2.139425027e-06 -6.318610226e-06 -9.276021776e-06 8.514512408e-06 --6.045040843e-06 -4.024802343e-06 -9.276021776e-06 -1.115863554e-05 1.249487358e-05 -7.059257694e-06 2.884677023e-06 8.514512408e-06 1.249487358e-05 -1.147354542e-05 --3.361786678e-07 -9.611187798e-07 -1.149502637e-06 -1.487909671e-06 1.550520296e-06 --9.611187798e-07 -1.225444571e-06 -1.835941114e-06 -2.009095548e-06 2.476326109e-06 --1.149502637e-06 -1.835941114e-06 -2.548604659e-06 -2.948916231e-06 3.437615759e-06 --1.487909671e-06 -2.009095548e-06 -2.948916231e-06 -3.275407541e-06 3.977526054e-06 -1.550520296e-06 2.476326109e-06 3.437615759e-06 3.977526054e-06 -4.63673408e-06 -1.290762749e-06 1.316967641e-06 2.077755387e-06 1.067558118e-06 -2.797911183e-06 -1.316967641e-06 1.075781041e-06 1.84346749e-06 1.084166726e-06 -2.479784191e-06 -2.077755387e-06 1.84346749e-06 3.059296779e-06 1.713233989e-06 -4.116939261e-06 -1.067558118e-06 1.084166726e-06 1.713233989e-06 8.828553139e-07 -2.306995857e-06 --2.797911183e-06 -2.479784191e-06 -4.116939261e-06 -2.306995857e-06 5.5401955e-06 --5.501799604e-07 -1.232186216e-07 -5.846644537e-07 -1.029426408e-06 7.868389531e-07 --1.232186216e-07 3.827517793e-07 3.141094e-07 -3.490841382e-07 -4.225498194e-07 --5.846644537e-07 3.141094e-07 -1.386210289e-07 -1.222506992e-06 1.867478733e-07 --1.029426408e-06 -3.490841382e-07 -1.222506992e-06 -1.89189156e-06 1.645193538e-06 -7.868389531e-07 -4.225498194e-07 1.867478733e-07 1.645193538e-06 -2.515831897e-07 --4.040898315e-07 -1.658654532e-07 -4.113915532e-07 -5.552069435e-07 5.535362272e-07 --1.658654532e-07 -2.663711303e-08 -1.406535172e-07 -2.671440035e-07 1.895872985e-07 --4.113915532e-07 -1.406535172e-07 -3.996251243e-07 -5.919542357e-07 5.379322223e-07 --5.552069435e-07 -2.671440035e-07 -5.919542357e-07 -7.256660746e-07 7.961700093e-07 -5.535362272e-07 1.895872985e-07 5.379322223e-07 7.961700093e-07 -7.24103477e-07 -0.0196715876 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02128422019 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004919908651 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003757977884 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.471547437e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.72599356e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.202209666e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.896298329e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.450493141e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.433210761e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.55001458e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.237116729e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.466950053e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05079734667 -0.02908390644 0.0001959991483 0 0 --0.02908390644 0.01457285551 -0.01461026004 0 0 -0.0001959991483 -0.01461026004 -0.1010988871 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01832834777 -0.01571575232 -0.02684790869 0 0 --0.01571575232 0.009124780925 0.01409752933 0 0 --0.02684790869 0.01409752933 0.0210259627 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001243726632 -0.0002442433057 0.000287576247 0 0 --0.0002442433057 0.0003513434401 0.001163165099 0 0 -0.000287576247 0.001163165099 0.003000723937 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004073194327 -0.0007964220328 -0.0008725862653 0 0 --0.0007964220328 3.139163551e-05 7.806796536e-05 0 0 --0.0008725862653 7.806796536e-05 0.0001180431461 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002361782259 1.513990759e-05 -8.767393466e-05 0 0 -1.513990759e-05 -4.358541463e-05 -0.0001270742905 0 0 --8.767393466e-05 -0.0001270742905 -0.000298522719 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001053502045 0.0001143937936 0.0002065840465 0 0 -0.0001143937936 -7.026505254e-05 -0.0001384720625 0 0 -0.0002065840465 -0.0001384720625 -0.0002684940833 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.641423116e-05 -1.967523874e-05 -1.953501375e-05 0 0 --1.967523874e-05 2.723677454e-06 3.986954145e-06 0 0 --1.953501375e-05 3.986954145e-06 4.295177003e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.276258954e-05 -1.509765071e-05 -3.13108823e-05 0 0 --1.509765071e-05 1.292894682e-05 1.146161273e-05 0 0 --3.13108823e-05 1.146161273e-05 -4.129863475e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.750544737e-05 1.810831709e-05 5.139072263e-05 0 0 -1.810831709e-05 -8.267681917e-06 -2.60944389e-05 0 0 -5.139072263e-05 -2.60944389e-05 -6.695876571e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.546529337e-05 1.146854821e-05 2.929521847e-05 0 0 -1.146854821e-05 -5.001504989e-06 -1.362044439e-05 0 0 -2.929521847e-05 -1.362044439e-05 -3.258551988e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.078892134e-06 -1.939650772e-06 -7.274478296e-07 0 0 --1.939650772e-06 1.151301319e-06 -2.041675635e-06 0 0 --7.274478296e-07 -2.041675635e-06 -1.098510871e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.928294688e-06 -1.412792425e-06 4.304361613e-06 0 0 --1.412792425e-06 6.44740303e-07 -2.915422961e-06 0 0 -4.304361613e-06 -2.915422961e-06 -1.274790586e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.846490457e-06 3.357962267e-06 1.073207984e-05 0 0 -3.357962267e-06 -1.685079029e-06 -6.695633073e-06 0 0 -1.073207984e-05 -6.695633073e-06 -1.854008736e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04393970561 -0.03178909183 -0.02307081739 0.01540300662 -0.0003860506769 --0.03178909183 0.01631254587 -0.009318330248 -0.02150404143 0.006426459633 --0.02307081739 -0.009318330248 -0.08906739583 -0.04839119404 0.02411618881 -0.01540300662 -0.02150404143 -0.04839119404 -0.01065483658 0.009390219009 --0.0003860506769 0.006426459633 0.02411618881 0.009390219009 -0.005648417777 -0.01958886202 -0.01902656979 -0.02865013348 -2.043505061e-05 0.004112096485 --0.01902656979 0.01673701021 0.0225941788 -0.0009420568658 -0.003994126305 --0.02865013348 0.0225941788 0.02619219596 -0.002857670038 -0.006014438741 --2.043505061e-05 -0.0009420568658 -0.002857670038 -0.0005306989696 -4.326296961e-06 -0.004112096485 -0.003994126305 -0.006014438741 -4.326296961e-06 0.0008632118311 -0.0004204686931 -0.001392594483 -0.002610493575 -0.0001226733612 7.582153992e-05 --0.001392594483 0.002456674748 0.004913797427 0.0008045254577 -0.0008860297587 --0.002610493575 0.004913797427 0.009745530712 0.001451109913 -0.001570007884 --0.0001226733612 0.0008045254577 0.001451109913 -3.777946538e-05 9.517296882e-05 -7.582153992e-05 -0.0008860297587 -0.001570007884 9.517296882e-05 -0.0001733322607 -0.001735235366 -0.0002481813835 0.0001904725868 0.0001678400732 0.0002860163954 --0.0002481813835 -0.0003383092267 -0.000328916642 0.000153348863 -9.469659447e-05 -0.0001904725868 -0.000328916642 -0.0002225544105 0.0001615545907 -1.201450759e-05 -0.0001678400732 0.000153348863 0.0001615545907 -6.791243902e-05 5.318545024e-05 -0.0002860163954 -9.469659447e-05 -1.201450759e-05 5.318545024e-05 3.940360906e-05 -0.000361888312 -0.0001299884142 -0.0004140481861 -0.0001863894992 0.0001890395996 --0.0001299884142 -0.0002230141311 -0.0004593748051 -0.0001211772321 0.0001263836645 --0.0004140481861 -0.0004593748051 -0.0008973413311 -0.000210912495 0.000221765495 --0.0001863894992 -0.0001211772321 -0.000210912495 -3.522502217e-05 3.815571552e-05 -0.0001890395996 0.0001263836645 0.000221765495 3.815571552e-05 -4.1207619e-05 --0.0001493429345 8.48138659e-05 0.0001490254162 2.40033418e-05 -3.981570455e-05 -8.48138659e-05 -3.349841514e-05 -6.001731033e-05 -6.081456615e-06 8.684333733e-06 -0.0001490254162 -6.001731033e-05 -0.0001073984206 -1.128153426e-05 1.635830974e-05 -2.40033418e-05 -6.081456615e-06 -1.128153426e-05 2.844880678e-08 -7.695257061e-07 --3.981570455e-05 8.684333733e-06 1.635830974e-05 -7.695257061e-07 2.608890302e-06 -3.607754135e-05 -1.159645725e-05 -1.594839263e-05 -3.613046224e-06 1.236747763e-05 --1.159645725e-05 -2.881775305e-06 -2.226511766e-06 2.480899559e-06 -4.019136903e-06 --1.594839263e-05 -2.226511766e-06 -1.12994465e-06 3.065190295e-06 -5.51592433e-06 --3.613046224e-06 2.480899559e-06 3.065190295e-06 9.838235936e-08 -1.22980906e-06 -1.236747763e-05 -4.019136903e-06 -5.51592433e-06 -1.22980906e-06 4.239313592e-06 --1.62553075e-05 -1.612620032e-05 -3.773306848e-05 -8.897727946e-06 6.793898239e-06 --1.612620032e-05 2.043584945e-05 1.40912301e-05 -9.010247749e-06 -1.592637737e-06 --3.773306848e-05 1.40912301e-05 -1.47232426e-05 -2.09131549e-05 3.98666142e-06 --8.897727946e-06 -9.010247749e-06 -2.09131549e-05 -4.869461264e-06 3.760697392e-06 -6.793898239e-06 -1.592637737e-06 3.98666142e-06 3.760697392e-06 -9.338174694e-07 --1.611353602e-05 1.664837779e-05 4.74303268e-05 1.849722893e-05 -1.674762118e-05 -1.664837779e-05 -1.055809069e-05 -2.597068954e-05 -8.510850498e-06 8.253464997e-06 -4.74303268e-05 -2.597068954e-05 -5.974218546e-05 -1.76904553e-05 1.791606293e-05 -1.849722893e-05 -8.510850498e-06 -1.76904553e-05 -4.318112387e-06 4.783558216e-06 --1.674762118e-05 8.253464997e-06 1.791606293e-05 4.783558216e-06 -5.077173257e-06 --4.613278748e-07 1.430774689e-06 3.226392713e-06 9.757190366e-07 -9.534720861e-07 -1.430774689e-06 -3.920766136e-06 -9.940778495e-06 -3.472792094e-06 3.187937508e-06 -3.226392713e-06 -9.940778495e-06 -2.255611061e-05 -6.880643168e-06 6.69763027e-06 -9.757190366e-07 -3.472792094e-06 -6.880643168e-06 -1.677518163e-06 1.817075464e-06 --9.534720861e-07 3.187937508e-06 6.69763027e-06 1.817075464e-06 -1.867524745e-06 -5.114993432e-06 -5.445437111e-06 -6.995277768e-06 5.179513494e-07 1.129136593e-06 --5.445437111e-06 4.119230574e-06 2.664906677e-06 -1.970673294e-06 -2.681747602e-07 --6.995277768e-06 2.664906677e-06 -4.062737255e-06 -4.753238633e-06 1.117422041e-06 -5.179513494e-07 -1.970673294e-06 -4.753238633e-06 -1.14797088e-06 9.042424751e-07 -1.129136593e-06 -2.681747602e-07 1.117422041e-06 9.042424751e-07 -2.705187026e-07 -6.907694992e-06 -3.920175054e-06 -2.081603594e-06 2.216674283e-06 8.688212719e-08 --3.920175054e-06 1.95478265e-06 -3.569096985e-07 -2.007940944e-06 3.850303589e-07 --2.081603594e-06 -3.569096985e-07 -8.13795803e-06 -4.941432627e-06 2.4487718e-06 -2.216674283e-06 -2.007940944e-06 -4.941432627e-06 -1.372168118e-06 1.234531131e-06 -8.688212719e-08 3.850303589e-07 2.4487718e-06 1.234531131e-06 -6.977350995e-07 -2.938402294e-07 2.69993767e-07 2.305222651e-06 1.391871018e-06 -9.248198715e-07 -2.69993767e-07 -1.734009583e-06 -6.14315756e-06 -2.682009945e-06 2.02361798e-06 -2.305222651e-06 -6.14315756e-06 -1.63480234e-05 -5.589568385e-06 4.720824334e-06 -1.391871018e-06 -2.682009945e-06 -5.589568385e-06 -1.322278713e-06 1.361329351e-06 --9.248198715e-07 2.02361798e-06 4.720824334e-06 1.361329351e-06 -1.254729094e-06 -0.01547410997 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01787123346 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.006863089976 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007792513642 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001807915622 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.845062027e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.125589245e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.421682349e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.494579339e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.041834342e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.326432771e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.103874562e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.426557203e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002606805677 -0.01305891118 0.01368860917 0 0 --0.01305891118 0.0611127621 0.0023308453 0 0 -0.01368860917 0.0023308453 -0.07946690041 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001436248293 -0.007051680665 -0.004060761761 0 0 --0.007051680665 0.005648904383 0.01354748277 0 0 --0.004060761761 0.01354748277 0.01341841906 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.10077479e-05 0.0005280503517 -0.0001439940322 0 0 -0.0005280503517 0.001993744757 -0.0005993233278 0 0 --0.0001439940322 -0.0005993233278 0.0001787177535 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.792991367e-08 -1.460469631e-05 -6.807730336e-06 0 0 --1.460469631e-05 0.002111202904 0.00095663968 0 0 --6.807730336e-06 0.00095663968 0.0004319155277 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.671831374e-07 7.018865251e-06 -5.89528863e-06 0 0 -7.018865251e-06 0.0002260716118 -2.617106808e-05 0 0 --5.89528863e-06 -2.617106808e-05 -6.405544725e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.643187155e-06 8.023191491e-05 8.294607818e-05 0 0 -8.023191491e-05 2.243947351e-05 -0.0001196985619 0 0 -8.294607818e-05 -0.0001196985619 -0.0002662963067 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.198048878e-07 6.611994912e-06 5.431703643e-06 0 0 -6.611994912e-06 -0.0001474563395 -0.0001108809252 0 0 -5.431703643e-06 -0.0001108809252 -8.218134375e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.801287133e-08 -1.481306522e-06 9.937276805e-07 0 0 --1.481306522e-06 2.182087651e-05 -9.262109776e-07 0 0 -9.937276805e-07 -9.262109776e-07 -1.190473461e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.652948204e-07 -8.15968228e-06 4.344788249e-06 0 0 --8.15968228e-06 1.511684345e-05 1.269498135e-05 0 0 -4.344788249e-06 1.269498135e-05 -1.891539187e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.930435744e-08 2.007664969e-06 4.864597543e-06 0 0 -2.007664969e-06 -1.67826578e-05 -2.858827039e-05 0 0 -4.864597543e-06 -2.858827039e-05 -3.83083046e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.632607619e-08 3.383222728e-06 4.241928771e-06 0 0 -3.383222728e-06 -2.739940378e-05 -3.00626444e-05 0 0 -4.241928771e-06 -3.00626444e-05 -3.2185881e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.083268372e-08 1.540124747e-06 3.762556898e-06 0 0 -1.540124747e-06 -6.357417544e-06 -1.194795568e-05 0 0 -3.762556898e-06 -1.194795568e-05 -2.02529674e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.789154708e-09 -4.939035247e-07 1.899541081e-06 0 0 --4.939035247e-07 2.981706715e-06 -4.413651498e-06 0 0 -1.899541081e-06 -4.413651498e-06 -1.242254544e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005086733776 -0.0006783486006 0.0004762807061 -0.03308467584 0.03118867432 --0.0006783486006 0.0002479936547 -0.0001992970106 -0.01413596655 0.00980103877 -0.0004762807061 -0.0001992970106 0.0001594794261 0.01064843403 -0.007301155497 --0.03308467584 -0.01413596655 0.01064843403 0.06418387245 0.04076352975 -0.03118867432 0.00980103877 -0.007301155497 0.04076352975 -0.09718400478 -0.01002019344 0.004006332021 -0.00274557561 -0.0112127551 -0.01665560204 -0.004006332021 0.0002457213939 -4.309737767e-05 -0.005487250148 -0.004893956412 --0.00274557561 -4.309737767e-05 -6.790948403e-05 0.003853235849 0.00319076057 --0.0112127551 -0.005487250148 0.003853235849 0.01180378825 0.01994501731 --0.01665560204 -0.004893956412 0.00319076057 0.01994501731 0.02538683346 -0.0001156548944 0.0004056430431 -0.0002152688751 0.0001241752893 -0.0006280935146 -0.0004056430431 8.164030845e-06 8.067558379e-06 0.0003032477775 -0.00100743761 --0.0002152688751 8.067558379e-06 -1.097058332e-05 -0.0001597696368 0.0005241527019 -0.0001241752893 0.0003032477775 -0.0001597696368 0.0001209536871 -0.0005625711252 --0.0006280935146 -0.00100743761 0.0005241527019 -0.0005625711252 0.002400648487 -0.0006285584808 -0.0002488585571 2.636917584e-05 -0.0009841626533 -0.0004964942543 --0.0002488585571 -1.729609053e-05 -2.156617453e-06 0.0003796502259 0.0002803391286 -2.636917584e-05 -2.156617453e-06 5.13822677e-07 -4.057231914e-05 -2.681967878e-05 --0.0009841626533 0.0003796502259 -4.057231914e-05 0.001540085111 0.0007846152171 --0.0004964942543 0.0002803391286 -2.681967878e-05 0.0007846152171 0.0003315945402 --2.278729753e-05 -1.693964347e-05 -8.156555143e-06 -2.672349955e-05 6.91629479e-05 --1.693964347e-05 -1.422163139e-07 -5.203443488e-07 -2.235321352e-05 4.781965955e-05 --8.156555143e-06 -5.203443488e-07 -4.517263596e-07 -1.06729478e-05 2.315596165e-05 --2.672349955e-05 -2.235321352e-05 -1.06729478e-05 -3.084265424e-05 8.182812518e-05 -6.91629479e-05 4.781965955e-05 2.315596165e-05 8.182812518e-05 -0.0002088822666 --7.880894206e-05 -7.228321908e-05 3.058819114e-05 2.705273094e-05 0.0002088961318 --7.228321908e-05 -3.296918894e-06 -5.226886277e-07 3.771591014e-05 0.0001250292452 -3.058819114e-05 -5.226886277e-07 1.091148799e-06 -1.635309076e-05 -5.088232134e-05 -2.705273094e-05 3.771591014e-05 -1.635309076e-05 -6.643660195e-06 -8.534185462e-05 -0.0002088961318 0.0001250292452 -5.088232134e-05 -8.534185462e-05 -0.0004833737951 --1.901282854e-05 6.115122833e-06 8.470202386e-07 1.590473634e-05 2.609482458e-05 -6.115122833e-06 2.27191695e-07 1.475871655e-07 6.282858808e-08 -1.246490302e-05 -8.470202386e-07 1.475871655e-07 4.267205877e-08 2.827647108e-07 -1.942054249e-06 -1.590473634e-05 6.282858808e-08 2.827647108e-07 -1.082942253e-06 -3.143971133e-05 -2.609482458e-05 -1.246490302e-05 -1.942054249e-06 -3.143971133e-05 -2.825731593e-05 -9.210499937e-06 3.941744458e-06 -7.272498325e-07 -1.228690612e-05 -1.262579661e-05 -3.941744458e-06 3.059647949e-07 -5.46105837e-09 -8.534832662e-06 -2.87868649e-06 --7.272498325e-07 -5.46105837e-09 -1.028262722e-08 1.6956515e-06 4.378968826e-07 --1.228690612e-05 -8.534832662e-06 1.6956515e-06 8.616901507e-06 2.283309537e-05 --1.262579661e-05 -2.87868649e-06 4.378968826e-07 2.283309537e-05 1.269185619e-05 --4.673752794e-06 -1.716615364e-06 6.226301781e-07 -8.062653205e-06 1.575835784e-05 --1.716615364e-06 8.418138876e-08 -9.839489764e-08 -7.218720324e-06 7.801892639e-06 -6.226301781e-07 -9.839489764e-08 6.67463538e-08 3.022547724e-06 -3.021050565e-06 --8.062653205e-06 -7.218720324e-06 3.022547724e-06 1.145303125e-05 1.518679726e-05 -1.575835784e-05 7.801892639e-06 -3.021050565e-06 1.518679726e-05 -4.745624643e-05 --1.830032632e-05 1.084111044e-07 1.30419027e-06 8.446231941e-06 3.349126566e-05 -1.084111044e-07 7.761264187e-09 2.886068413e-08 2.156347834e-07 -3.255894924e-07 -1.30419027e-06 2.886068413e-08 6.634502005e-08 5.547331842e-07 -2.94052882e-06 -8.446231941e-06 2.156347834e-07 5.547331842e-07 4.500743594e-06 -1.947830779e-05 -3.349126566e-05 -3.255894924e-07 -2.94052882e-06 -1.947830779e-05 -5.936708331e-05 --7.031723655e-06 -1.58163801e-06 7.281335394e-07 1.427445096e-06 1.463155199e-05 --1.58163801e-06 -4.186404146e-08 -2.445787541e-08 -5.710031794e-07 3.563389052e-06 -7.281335394e-07 -2.445787541e-08 3.748420062e-08 3.871528687e-07 -1.678406151e-06 -1.427445096e-06 -5.710031794e-07 3.871528687e-07 2.245497386e-06 -3.744173462e-06 -1.463155199e-05 3.563389052e-06 -1.678406151e-06 -3.744173462e-06 -3.020894059e-05 --3.47195099e-06 -8.303375641e-07 4.093226618e-07 -1.326980435e-06 8.474629359e-06 --8.303375641e-07 -2.751936891e-09 -2.437991352e-08 -1.29631595e-06 2.464857975e-06 -4.093226618e-07 -2.437991352e-08 2.808774993e-08 7.676899116e-07 -1.272651636e-06 --1.326980435e-06 -1.29631595e-06 7.676899116e-07 4.386730686e-06 1.048906546e-06 -8.474629359e-06 2.464857975e-06 -1.272651636e-06 1.048906546e-06 -1.970548291e-05 --3.861889751e-06 -4.665264809e-07 3.398039185e-07 -1.244647234e-06 9.104288374e-06 --4.665264809e-07 -1.306338857e-09 -1.360600797e-08 -7.368857362e-07 1.390200716e-06 -3.398039185e-07 -1.360600797e-08 2.436297906e-08 6.91824505e-07 -1.08936694e-06 --1.244647234e-06 -7.368857362e-07 6.91824505e-07 5.847877887e-06 -1.595421993e-07 -9.104288374e-06 1.390200716e-06 -1.08936694e-06 -1.595421993e-07 -1.993142669e-05 -0.1881873019 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04901206006 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2380046767 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.08285036029 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003550780277 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001662165566 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002448640367 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002538938174 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.499119823e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007105227819 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.651663195e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.900377642e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.082391151e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1993514701 -0.01627394775 0.05313180702 0 0 --0.01627394775 0.2240513542 -0.0663520626 0 0 -0.05313180702 -0.0663520626 0.03928603706 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1199942248 0.01092733102 0.04379416907 0 0 -0.01092733102 0.08465463204 -0.06479646808 0 0 -0.04379416907 -0.06479646808 0.02049222643 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01668966956 -0.004682458341 0.006594586768 0 0 --0.004682458341 0.01797271514 -0.008357746732 0 0 -0.006594586768 -0.008357746732 -0.04052579282 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009209463938 -0.01541500016 -0.0222039226 0 0 --0.01541500016 0.0182075431 0.0296295125 0 0 --0.0222039226 0.0296295125 0.0407285079 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006149879075 0.0007485686688 0.001448113249 0 0 -0.0007485686688 -0.0009324361072 -0.002022343329 0 0 -0.001448113249 -0.002022343329 -0.003909893383 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001403698708 0.0005946330043 0.0009088103176 0 0 -0.0005946330043 -0.0002982532601 -0.001182956516 0 0 -0.0009088103176 -0.001182956516 -0.002221660327 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003822694498 -0.0007985494297 -0.001107856051 0 0 --0.0007985494297 0.0006281304563 0.001363279241 0 0 --0.001107856051 0.001363279241 0.001316973811 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.123559428e-05 0.0001520949273 0.0003093391217 0 0 -0.0001520949273 -0.0001800807021 -0.0004197222231 0 0 -0.0003093391217 -0.0004197222231 -0.0006822333565 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.797234176e-05 2.515131831e-05 3.003570817e-05 0 0 -2.515131831e-05 0.0001056174814 -3.956128653e-06 0 0 -3.003570817e-05 -3.956128653e-06 0.0001431371067 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.794481929e-05 -9.095154727e-05 -0.0001114246384 0 0 --9.095154727e-05 4.419139275e-05 0.0001577186546 0 0 --0.0001114246384 0.0001577186546 -1.405031827e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.208743523e-05 5.152262911e-05 9.371363308e-05 0 0 -5.152262911e-05 -0.0001153999808 -0.00016117509 0 0 -9.371363308e-05 -0.00016117509 -0.0003497965031 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.856405926e-05 -1.558513651e-05 -2.411493943e-05 0 0 --1.558513651e-05 1.358814988e-05 2.478309589e-05 0 0 --2.411493943e-05 2.478309589e-05 3.622232612e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.698933319e-05 -7.662636401e-06 5.495532478e-07 0 0 --7.662636401e-06 3.332355333e-06 5.266410537e-06 0 0 -5.495532478e-07 5.266410537e-06 -3.370920221e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02634835425 -0.04416144265 0.01497894791 -0.1226627734 0.0347049837 --0.04416144265 0.04478840925 -0.02526625584 -0.03745327677 0.01386001802 -0.01497894791 -0.02526625584 -0.2071601366 -0.0252925361 0.001932334071 --0.1226627734 -0.03745327677 -0.0252925361 -0.06126943671 0.0006324264183 -0.0347049837 0.01386001802 0.001932334071 0.0006324264183 -0.2141880642 -0.1035920055 -0.04840838948 -0.04930467818 0.03196781596 -0.04112779139 --0.04840838948 0.04740811847 0.03560801485 -0.0404719752 -0.006262801569 --0.04930467818 0.03560801485 0.03089367655 0.02599551273 0.002870675135 -0.03196781596 -0.0404719752 0.02599551273 0.1680814865 0.01657641249 --0.04112779139 -0.006262801569 0.002870675135 0.01657641249 0.0293187095 -0.008456420905 -0.01769780397 -0.02886788834 -0.006950157886 0.006828819486 --0.01769780397 0.01092622189 0.003285689475 -0.02292868478 0.009037096435 --0.02886788834 0.003285689475 0.006441815181 -0.01103555222 0.02842151366 --0.006950157886 -0.02292868478 -0.01103555222 0.01601212986 0.0304576993 -0.006828819486 0.009037096435 0.02842151366 0.0304576993 -0.01621360933 --0.004092066551 0.001225660134 -0.0008821973319 -0.005987577201 0.002486846544 -0.001225660134 0.003495556361 0.002622687998 -0.001171501497 -0.004645839978 --0.0008821973319 0.002622687998 0.0007792771656 -0.005554610083 -0.001897436948 --0.005987577201 -0.001171501497 -0.005554610083 -0.01085635928 0.006657070483 -0.002486846544 -0.004645839978 -0.001897436948 0.006657070483 0.003568838697 -0.001587400882 0.001475323106 0.002325095479 0.001606641332 -0.003477643423 -0.001475323106 0.001785608152 0.002976893887 0.001857530573 -0.003771214191 -0.002325095479 0.002976893887 0.004765582453 0.003274158096 -0.005856810858 -0.001606641332 0.001857530573 0.003274158096 0.002815443975 -0.00369704197 --0.003477643423 -0.003771214191 -0.005856810858 -0.00369704197 0.008071083402 -0.0001510242315 0.0003426672082 0.0006273975184 0.0001029111996 -0.0006405460778 -0.0003426672082 0.0001806019443 0.000189942034 0.0003388719167 -0.0003718452687 -0.0006273975184 0.000189942034 0.0002879612161 0.0005509052309 -0.0008255806718 -0.0001029111996 0.0003388719167 0.0005509052309 -0.0004052161145 -0.001072791707 --0.0006405460778 -0.0003718452687 -0.0008255806718 -0.001072791707 0.000734519096 --0.0005678058751 -0.0002097308459 -0.0004930204348 -0.000680606758 0.0008231082747 --0.0002097308459 -7.322946694e-05 -0.0002382887874 -0.000315243464 0.0002969109856 --0.0004930204348 -0.0002382887874 -0.0006303930483 -0.0007832859891 0.000752154673 --0.000680606758 -0.000315243464 -0.0007832859891 -0.001025790645 0.001000020937 -0.0008231082747 0.0002969109856 0.000752154673 0.001000020937 -0.001181067815 -0.0002219639248 -2.852834752e-05 -3.258074e-05 0.0001133099051 -0.0001559530877 --2.852834752e-05 0.0001006670349 0.0001373539167 -1.011999757e-05 -0.0001177731499 --3.258074e-05 0.0001373539167 0.0002086195567 7.974647987e-05 -0.0001351561305 -0.0001133099051 -1.011999757e-05 7.974647987e-05 0.0003430784656 -1.418679463e-05 --0.0001559530877 -0.0001177731499 -0.0001351561305 -1.418679463e-05 0.0003128508222 -6.86067412e-05 0.0001163710606 0.0002295186897 6.934381525e-05 -0.0002264552931 -0.0001163710606 5.840944497e-05 8.234576337e-05 0.0001107157017 -0.0001659475601 -0.0002295186897 8.234576337e-05 0.0001064421494 0.0001853231526 -0.0003188997912 -6.934381525e-05 0.0001107157017 0.0001853231526 4.356844577e-05 -0.0002958556593 --0.0002264552931 -0.0001659475601 -0.0003188997912 -0.0002958556593 0.000358258665 --0.0001702651031 -2.749926706e-05 -5.741032226e-05 -0.0001770054266 0.0001849189146 --2.749926706e-05 -3.879788308e-05 -8.046581557e-05 -4.645743967e-05 8.337972342e-05 --5.741032226e-05 -8.046581557e-05 -0.0001793514132 -0.0001472082759 0.0001459841505 --0.0001770054266 -4.645743967e-05 -0.0001472082759 -0.0003307712259 0.0001382463448 -0.0001849189146 8.337972342e-05 0.0001459841505 0.0001382463448 -0.0003225318992 -1.788030269e-06 -1.74340184e-05 -2.006755042e-05 -1.52735282e-05 1.957969267e-05 --1.74340184e-05 4.447333515e-06 -2.311271844e-06 -1.150325591e-05 1.324491606e-05 --2.006755042e-05 -2.311271844e-06 -1.409459779e-05 -5.911139432e-06 2.345777483e-05 --1.52735282e-05 -1.150325591e-05 -5.911139432e-06 -6.404317324e-06 7.743904255e-06 -1.957969267e-05 1.324491606e-05 2.345777483e-05 7.743904255e-06 -5.471104513e-05 -1.200413863e-05 1.3441082e-05 3.437213378e-05 9.464144179e-06 -2.484101796e-05 -1.3441082e-05 1.502015008e-05 1.778783681e-05 1.811290691e-05 -2.932114649e-05 -3.437213378e-05 1.778783681e-05 1.347679627e-05 2.689125373e-05 -5.851814541e-05 -9.464144179e-06 1.811290691e-05 2.689125373e-05 2.669951468e-06 -5.241555733e-05 --2.484101796e-05 -2.932114649e-05 -5.851814541e-05 -5.241555733e-05 3.994115956e-05 --3.595459921e-05 -3.150160414e-06 -1.53449735e-06 -4.139192667e-05 3.493695121e-05 --3.150160414e-06 -8.354385062e-06 -2.112735656e-05 -7.766057248e-06 1.725798383e-05 --1.53449735e-06 -2.112735656e-05 -5.23683317e-05 -2.666419883e-05 2.627739675e-05 --4.139192667e-05 -7.766057248e-06 -2.666419883e-05 -7.177006328e-05 1.930105214e-05 -3.493695121e-05 1.725798383e-05 2.627739675e-05 1.930105214e-05 -7.401020584e-05 -0.03314953554 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03827165574 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01370886944 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003011486341 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002053042297 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001540527042 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.602710177e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.951270985e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.239274872e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.363560603e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.197953319e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.350347732e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.138989059e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002189050681 -0.0003646513859 -0.007326022372 0 0 --0.0003646513859 0.0005617705058 0.009210329591 0 0 --0.007326022372 0.009210329591 0.04896316565 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001486640102 -0.000243303043 -0.01965838246 0 0 --0.000243303043 0.0003630848395 0.0227268269 0 0 --0.01965838246 0.0227268269 0.05771173541 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.870024062e-06 9.948402104e-06 0.0001460491631 0 0 -9.948402104e-06 -1.578632299e-05 -0.0001832729237 0 0 -0.0001460491631 -0.0001832729237 0.0002095350089 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.509341174e-06 6.807549057e-06 0.0004241576742 0 0 -6.807549057e-06 -1.308840382e-05 -0.0007405352384 0 0 -0.0004241576742 -0.0007405352384 0.006506863513 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.885399097e-08 -9.371032671e-08 4.880749044e-06 0 0 --9.371032671e-08 1.777122104e-07 -8.287955357e-06 0 0 -4.880749044e-06 -8.287955357e-06 -7.791438978e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.796387224e-06 3.169393977e-06 0.0002768078349 0 0 -3.169393977e-06 -5.36130361e-06 -0.0003897222989 0 0 -0.0002768078349 -0.0003897222989 -0.000431117841 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.337484454e-08 -1.486189735e-07 -1.266638805e-05 0 0 --1.486189735e-07 2.552816664e-07 1.794888989e-05 0 0 --1.266638805e-05 1.794888989e-05 -0.0002994895116 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.215132613e-07 -1.975958381e-07 -1.180380933e-05 0 0 --1.975958381e-07 2.91372755e-07 1.350098932e-05 0 0 --1.180380933e-05 1.350098932e-05 6.403617447e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.989971705e-08 -1.1938536e-07 -3.395375282e-08 0 0 --1.1938536e-07 1.918904729e-07 1.07715602e-07 0 0 --3.395375282e-08 1.07715602e-07 -1.893086001e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.105282981e-08 5.536751531e-08 6.239674632e-06 0 0 -5.536751531e-08 -9.514128512e-08 -9.12606802e-06 0 0 -6.239674632e-06 -9.12606802e-06 -0.0001370714309 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.496427187e-08 9.428784505e-08 1.022419156e-05 0 0 -9.428784505e-08 -1.526361875e-07 -1.345430512e-05 0 0 -1.022419156e-05 -1.345430512e-05 -7.017029039e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.713919871e-09 1.473209688e-08 3.917182051e-06 0 0 -1.473209688e-08 -2.328126468e-08 -4.943362786e-06 0 0 -3.917182051e-06 -4.943362786e-06 -2.615774409e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.55119688e-09 -9.411836937e-09 1.161052388e-06 0 0 --9.411836937e-09 1.494493061e-08 -1.460695716e-06 0 0 -1.161052388e-06 -1.460695716e-06 -1.18698448e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01432401182 0.003000532676 -0.0008548417081 -0.02622250083 0.000652897977 -0.003000532676 -1.956799334e-06 -4.313618297e-05 0.005199150477 9.193686817e-05 --0.0008548417081 -4.313618297e-05 2.778444046e-05 -0.001460731026 -4.21407459e-05 --0.02622250083 0.005199150477 -0.001460731026 -0.04786689035 0.001087991908 -0.000652897977 9.193686817e-05 -4.21407459e-05 0.001087991908 5.371739053e-05 -0.02474582121 -0.008998067885 0.003426151332 0.04612835485 -0.003079842612 --0.008998067885 -2.269300925e-06 -0.0001295708554 -0.01558282473 0.0002755465316 -0.003426151332 -0.0001295708554 9.380490983e-05 0.005980818893 -0.0001385554398 -0.04612835485 -0.01558282473 0.005980818893 0.08555448329 -0.005434121993 --0.003079842612 0.0002755465316 -0.0001385554398 -0.005434121993 0.0001655725476 -0.00128209632 -0.001554367942 0.0008601995785 0.002922834301 -0.0009775335002 --0.001554367942 -2.053105308e-07 -1.642523783e-05 -0.002692028347 3.491907474e-05 -0.0008601995785 -1.642523783e-05 1.809745639e-05 0.001497262324 -2.941812624e-05 -0.002922834301 -0.002692028347 0.001497262324 0.006278552887 -0.001708837054 --0.0009775335002 3.491907474e-05 -2.941812624e-05 -0.001708837054 4.335025852e-05 -0.001017959104 0.0005164314778 -0.0005587938281 0.001389656992 0.0007772093851 -0.0005164314778 1.373653865e-07 7.611450969e-06 0.0008943224708 -1.620991196e-05 --0.0005587938281 7.611450969e-06 -1.686241373e-05 -0.0009732932902 2.970472177e-05 -0.001389656992 0.0008943224708 -0.0009732932902 0.001760199751 0.001357789751 -0.0007772093851 -1.620991196e-05 2.970472177e-05 0.001357789751 -5.013090383e-05 --1.375153324e-05 7.349055658e-05 -0.0001429294318 -9.32659686e-05 0.0002050117117 -7.349055658e-05 7.930491432e-09 7.147189423e-07 0.0001272790826 -1.522319225e-06 --0.0001429294318 7.147189423e-07 -2.808707816e-06 -0.0002482309953 4.994669249e-06 --9.32659686e-05 0.0001272790826 -0.0002482309953 -0.0002818158168 0.0003565214696 -0.0002050117117 -1.522319225e-06 4.994669249e-06 0.0003565214696 -8.549067378e-06 --0.0002060485271 9.978095973e-05 -3.67393821e-05 -0.0004347039309 5.678741108e-05 -9.978095973e-05 1.818118999e-08 1.214768943e-06 0.0001728035894 -2.58031371e-06 --3.67393821e-05 1.214768943e-06 -8.661561195e-07 -6.457913619e-05 1.579768514e-06 --0.0004347039309 0.0001728035894 -6.457913619e-05 -0.0008876895902 0.0001003669378 -5.678741108e-05 -2.58031371e-06 1.579768514e-06 0.0001003669378 -2.804063275e-06 -4.820091236e-06 1.512708668e-06 -2.365059912e-06 7.200806719e-06 3.272689409e-06 -1.512708668e-06 8.8721393e-10 3.730562534e-08 2.619019278e-06 -7.969491355e-08 --2.365059912e-06 3.730562534e-08 -1.21979924e-07 -4.124060163e-06 2.149744475e-07 -7.200806719e-06 2.619019278e-06 -4.124060163e-06 1.048516361e-05 5.72801204e-06 -3.272689409e-06 -7.969491355e-08 2.149744475e-07 5.72801204e-06 -3.630436055e-07 -2.145512847e-05 -1.282247354e-05 1.558184096e-05 4.19397785e-05 -1.886852323e-05 --1.282247354e-05 -3.842307889e-09 -2.023714176e-07 -2.220528683e-05 4.316672694e-07 -1.558184096e-05 -2.023714176e-07 4.919256515e-07 2.706103634e-05 -8.174160532e-07 -4.19397785e-05 -2.220528683e-05 2.706103634e-05 8.091590345e-05 -3.283863013e-05 --1.886852323e-05 4.316672694e-07 -8.174160532e-07 -3.283863013e-05 1.253789571e-06 --2.897786429e-05 5.374992238e-06 -1.595557272e-06 -5.419218958e-05 2.339407718e-06 -5.374992238e-06 3.038386652e-10 4.396596135e-08 9.309395671e-06 -9.334865243e-08 --1.595557272e-06 4.396596135e-08 -2.418299683e-08 -2.796278985e-06 4.275575886e-08 --5.419218958e-05 9.309395671e-06 -2.796278985e-06 -0.0001007932851 4.121413177e-06 -2.339407718e-06 -9.334865243e-08 4.275575886e-08 4.121413177e-06 -7.255313622e-08 --3.477250607e-05 8.704608207e-07 3.577486103e-06 -6.278743433e-05 -3.759599325e-06 -8.704608207e-07 1.189789651e-10 9.622194199e-09 1.507409296e-06 -2.016174295e-08 -3.577486103e-06 9.622194199e-09 8.088968569e-08 6.168440209e-06 -1.304999229e-07 --6.278743433e-05 1.507409296e-06 6.168440209e-06 -0.000113183957 -6.452929769e-06 --3.759599325e-06 -2.016174295e-08 -1.304999229e-07 -6.452929769e-06 1.895611911e-07 --7.134270399e-06 2.182994564e-06 -1.708761465e-06 -1.347563582e-05 2.091599037e-06 -2.182994564e-06 7.662274091e-11 1.63471795e-08 3.780974595e-06 -3.472431664e-08 --1.708761465e-06 1.63471795e-08 -2.523583462e-08 -2.968006014e-06 4.204642277e-08 --1.347563582e-05 3.780974595e-06 -2.968006014e-06 -2.527809575e-05 3.640511401e-06 -2.091599037e-06 -3.472431664e-08 4.204642277e-08 3.640511401e-06 -6.479878916e-08 --2.076073421e-06 3.50633447e-07 -9.33834681e-08 -3.748282204e-06 5.882906291e-08 -3.50633447e-07 -1.696427559e-10 -3.164822872e-09 6.074918157e-07 6.751171842e-09 --9.33834681e-08 -3.164822872e-09 1.872293075e-09 -1.604022602e-07 -2.705145474e-09 --3.748282204e-06 6.074918157e-07 -1.604022602e-07 -6.756331709e-06 9.898938864e-08 -5.882906291e-08 6.751171842e-09 -2.705145474e-09 9.898938864e-08 3.04857531e-09 --9.428515705e-06 1.342262359e-06 -3.71915174e-07 -1.730916316e-05 5.25578949e-07 -1.342262359e-06 8.422260782e-11 1.124654767e-08 2.324766358e-06 -2.387940687e-08 --3.71915174e-07 1.124654767e-08 -5.574492494e-09 -6.523661167e-07 9.619707904e-09 --1.730916316e-05 2.324766358e-06 -6.523661167e-07 -3.167505155e-05 9.277269235e-07 -5.25578949e-07 -2.387940687e-08 9.619707904e-09 9.277269235e-07 -1.572240537e-08 --0.04108882328 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06357041129 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01683739108 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005629948202 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000200748738 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004941780305 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001408902921 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.983406759e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.073542526e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.718422149e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.930898702e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.543187418e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.552869436e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01360826174 0.0175772258 0.02529756229 0 0 -0.0175772258 -0.02267829258 -0.03026872023 0 0 -0.02529756229 -0.03026872023 0.1803778859 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02895111906 0.03654409033 -0.03486921582 0 0 -0.03654409033 -0.04597561297 0.04598899962 0 0 --0.03486921582 0.04598899962 -0.01648551714 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01878953999 0.02323690552 -0.03395157395 0 0 -0.02323690552 -0.02855561298 0.0424633434 0 0 --0.03395157395 0.0424633434 -0.06010073654 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004550576625 0.005555984402 -0.01049579064 0 0 -0.005555984402 -0.006724400878 0.01265993678 0 0 --0.01049579064 0.01265993678 -0.02380298687 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003879266926 0.000488041627 -0.001283626606 0 0 -0.000488041627 -0.0006117027454 0.001579152375 0 0 --0.001283626606 0.001579152375 -0.003689666362 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005263989048 -0.0006889283072 0.0009876342629 0 0 --0.0006889283072 0.0009012792583 -0.001297857817 0 0 -0.0009876342629 -0.001297857817 0.001775557615 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004664572784 -0.0006195378365 0.001149569737 0 0 --0.0006195378365 0.0008228346516 -0.001526415415 0 0 -0.001149569737 -0.001526415415 0.002824914066 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.542558848e-05 -7.232915157e-05 0.0001256435813 0 0 --7.232915157e-05 9.433820213e-05 -0.0001639807285 0 0 -0.0001256435813 -0.0001639807285 0.0002848128712 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.480197031e-05 8.294731135e-05 -9.688286635e-05 0 0 -8.294731135e-05 -0.0001059781373 0.0001265322197 0 0 --9.688286635e-05 0.0001265322197 -0.0001123264823 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.191337229e-05 3.943427151e-05 -8.202415254e-05 0 0 -3.943427151e-05 -4.841314665e-05 9.972628305e-05 0 0 --8.202415254e-05 9.972628305e-05 -0.0002023888815 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.010396602e-05 2.530847885e-05 -3.705146218e-05 0 0 -2.530847885e-05 -3.17440657e-05 4.705714843e-05 0 0 --3.705146218e-05 4.705714843e-05 -6.681282285e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.874717516e-06 -2.375476014e-06 1.100661331e-06 0 0 --2.375476014e-06 3.001370661e-06 -1.589547312e-06 0 0 -1.100661331e-06 -1.589547312e-06 -3.758812268e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.325268635e-06 -1.096391122e-05 2.377122536e-05 0 0 --1.096391122e-05 1.443616244e-05 -3.122101424e-05 0 0 -2.377122536e-05 -3.122101424e-05 6.523180441e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008408945048 0.003059250539 -0.008995710359 0.01315974614 0.01203797135 -0.003059250539 -0.001216133268 -0.001073444535 0.005948304345 0.001428204934 --0.008995710359 -0.001073444535 0.007546744576 -0.01517398233 -0.01009117246 -0.01315974614 0.005948304345 -0.01517398233 0.02001621034 0.02030979449 -0.01203797135 0.001428204934 -0.01009117246 0.02030979449 0.01349343125 -0.004934921748 -6.605110584e-05 -0.003419374082 0.008353207241 0.004581259964 --6.605110584e-05 -0.003274171945 0.003017392115 0.001996637913 -0.004041781252 --0.003419374082 0.003017392115 -0.0003270466678 -0.007700977252 0.0004373540131 -0.008353207241 0.001996637913 -0.007700977252 0.01278185743 0.01031714723 -0.004581259964 -0.004041781252 0.0004373540131 0.01031714723 -0.0005848643595 --7.747878063e-05 -0.001536237241 0.001480859987 0.00077888081 -0.001977092643 --0.001536237241 -0.00206854335 0.002870236485 -0.0009380661366 -0.003841307201 -0.001480859987 0.002870236485 -0.003584399823 0.0003986635464 0.004794165295 -0.00077888081 -0.0009380661366 0.0003986635464 0.00162197473 -0.000526911122 --0.001977092643 -0.003841307201 0.004794165295 -0.000526911122 -0.006412213064 --0.000684791267 -0.0005297939715 0.0008785744099 -0.0005350900308 -0.001174802785 --0.0005297939715 -0.0002997902463 0.0005331982637 -0.0003418902831 -0.0007140939699 -0.0008785744099 0.0005331982637 -0.0009321941334 0.0005905708745 0.001247988835 --0.0005350900308 -0.0003418902831 0.0005905708745 -0.0003709127412 -0.0007904250762 --0.001174802785 -0.0007140939699 0.001247988835 -0.0007904250762 -0.001670749994 --8.809744863e-05 -2.06373864e-05 4.473742227e-05 -3.253807882e-05 -5.992142976e-05 --2.06373864e-05 2.218691117e-05 -3.583369002e-05 3.633952313e-05 4.767768127e-05 -4.473742227e-05 -3.583369002e-05 5.666175773e-05 -5.882564773e-05 -7.534776637e-05 --3.253807882e-05 3.633952313e-05 -5.882564773e-05 5.950493992e-05 7.82737711e-05 --5.992142976e-05 4.767768127e-05 -7.534776637e-05 7.82737711e-05 0.0001001945769 -3.645900751e-05 1.036265549e-05 -3.867646624e-05 6.149346465e-05 5.175308698e-05 -1.036265549e-05 -1.374408191e-05 6.3191981e-06 2.426791958e-05 -8.483844441e-06 --3.867646624e-05 6.3191981e-06 2.307076127e-05 -7.227664147e-05 -3.084189318e-05 -6.149346465e-05 2.426791958e-05 -7.227664147e-05 0.0001009554551 9.672501002e-05 -5.175308698e-05 -8.483844441e-06 -3.084189318e-05 9.672501002e-05 4.123056112e-05 --1.803857789e-05 -1.28716696e-05 2.27847902e-05 -1.424941214e-05 -3.046283084e-05 --1.28716696e-05 -6.754039425e-06 1.317209662e-05 -8.12150087e-06 -1.763434096e-05 -2.27847902e-05 1.317209662e-05 -2.486110416e-05 1.540036162e-05 3.326865931e-05 --1.424941214e-05 -8.12150087e-06 1.540036162e-05 -9.533415116e-06 -2.060977317e-05 --3.046283084e-05 -1.763434096e-05 3.326865931e-05 -2.060977317e-05 -4.451922758e-05 --1.533272476e-05 -8.672676947e-06 1.535215122e-05 -1.07126847e-05 -2.053560681e-05 --8.672676947e-06 -2.605133259e-06 5.06580341e-06 -3.237855473e-06 -6.802110124e-06 -1.535215122e-05 5.06580341e-06 -9.681777075e-06 6.288748069e-06 1.299144278e-05 --1.07126847e-05 -3.237855473e-06 6.288748069e-06 -4.02392486e-06 -8.443834869e-06 --2.053560681e-05 -6.802110124e-06 1.299144278e-05 -8.443834869e-06 -1.743203759e-05 -3.763558324e-06 3.510407091e-06 -7.141249651e-06 7.166218466e-06 9.547549772e-06 -3.510407091e-06 1.937443314e-06 -4.731298131e-06 5.855766418e-06 6.320825402e-06 --7.141249651e-06 -4.731298131e-06 1.076512469e-05 -1.2401951e-05 -1.438570396e-05 -7.166218466e-06 5.855766418e-06 -1.2401951e-05 1.31318825e-05 1.657796032e-05 -9.547549772e-06 6.320825402e-06 -1.438570396e-05 1.657796032e-05 1.922395314e-05 --4.404706809e-07 2.249661026e-07 -7.684890614e-08 3.321865959e-07 1.0365534e-07 -2.249661026e-07 6.336141522e-07 -9.00108473e-07 9.912100185e-07 1.202427059e-06 --7.684890614e-08 -9.00108473e-07 1.165454204e-06 -1.398896286e-06 -1.557358493e-06 -3.321865959e-07 9.912100185e-07 -1.398896286e-06 1.549874763e-06 1.868780032e-06 -1.0365534e-07 1.202427059e-06 -1.557358493e-06 1.868780032e-06 2.081045341e-06 --1.298703921e-06 -1.47260287e-06 2.208998155e-06 -1.044897716e-06 -2.952783369e-06 --1.47260287e-06 -1.293155996e-06 2.100015456e-06 -1.221365625e-06 -2.809940676e-06 -2.208998155e-06 2.100015456e-06 -3.322325579e-06 1.816578091e-06 4.444023054e-06 --1.044897716e-06 -1.221365625e-06 1.816578091e-06 -8.371451825e-07 -2.427957534e-06 --2.952783369e-06 -2.809940676e-06 4.444023054e-06 -2.427957534e-06 -5.944408589e-06 -9.517404024e-07 5.677891284e-07 -1.365688338e-06 1.611464256e-06 1.826408638e-06 -5.677891284e-07 5.682949646e-08 -4.716978778e-07 9.656207432e-07 6.298564071e-07 --1.365688338e-06 -4.716978778e-07 1.542230239e-06 -2.317527329e-06 -2.061326532e-06 -1.611464256e-06 9.656207432e-07 -2.317527329e-06 2.72842884e-06 3.099368879e-06 -1.826408638e-06 6.298564071e-07 -2.061326532e-06 3.099368879e-06 2.755140196e-06 -1.952799426e-07 1.164240281e-08 -1.357234949e-07 3.097393599e-07 1.818645788e-07 -1.164240281e-08 -9.005501513e-08 6.508792072e-08 8.640530109e-08 -8.731285575e-08 --1.357234949e-07 6.508792072e-08 3.531889153e-08 -2.700607049e-07 -4.72475005e-08 -3.097393599e-07 8.640530109e-08 -2.700607049e-07 4.404246759e-07 3.619444996e-07 -1.818645788e-07 -8.731285575e-08 -4.72475005e-08 3.619444996e-07 6.32046009e-08 --0.01901098939 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02109417213 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004164857238 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003952747571 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.486574325e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.098553309e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.411505152e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.141928545e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.330916411e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.282033867e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.527670322e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.460545251e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.963767937e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04958747566 0.02820840386 0.002185837076 0 0 -0.02820840386 -0.01391305267 -0.01611530802 0 0 -0.002185837076 -0.01611530802 0.1035642724 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01928989655 0.01608133152 -0.02690696153 0 0 -0.01608133152 -0.009104697537 0.01362627921 0 0 --0.02690696153 0.01362627921 -0.01950883928 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001574581239 0.0003301324609 0.0001429223036 0 0 -0.0003301324609 -0.0004443313812 0.001318629979 0 0 -0.0001429223036 0.001318629979 -0.003220717743 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0041072926 0.0007950217554 -0.0008061940954 0 0 -0.0007950217554 -3.814573938e-05 8.545401299e-05 0 0 --0.0008061940954 8.545401299e-05 -0.0001151832872 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003061874919 -1.153260852e-05 -0.0001018520985 0 0 --1.153260852e-05 4.83344672e-05 -0.0001310046838 0 0 --0.0001018520985 -0.0001310046838 0.0002977204038 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.3033521e-05 -0.0001025898469 0.0001833397017 0 0 --0.0001025898469 6.331142793e-05 -0.0001234969229 0 0 -0.0001833397017 -0.0001234969229 0.0002375143344 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001176812277 2.639998478e-05 -3.108401459e-05 0 0 -2.639998478e-05 -3.710570266e-06 5.83471232e-06 0 0 --3.108401459e-05 5.83471232e-06 -7.624425636e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.141508929e-05 1.427747537e-05 -2.9422774e-05 0 0 -1.427747537e-05 -1.181182239e-05 8.816054299e-06 0 0 --2.9422774e-05 8.816054299e-06 5.702531855e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.415324274e-05 -2.125650995e-05 5.602502845e-05 0 0 --2.125650995e-05 9.597680034e-06 -2.797335558e-05 0 0 -5.602502845e-05 -2.797335558e-05 6.951132081e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.256428294e-05 -1.012660043e-05 2.626972832e-05 0 0 --1.012660043e-05 4.372508699e-06 -1.220071269e-05 0 0 -2.626972832e-05 -1.220071269e-05 2.960198613e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.430297487e-06 3.214588814e-06 -3.002594042e-06 0 0 -3.214588814e-06 -1.875595985e-06 -7.597158425e-07 0 0 --3.002594042e-06 -7.597158425e-07 8.604480291e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.582336728e-06 1.233815067e-06 4.606470926e-06 0 0 -1.233815067e-06 -5.545412311e-07 -3.060974717e-06 0 0 -4.606470926e-06 -3.060974717e-06 1.293868653e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.747281084e-06 -3.898212807e-06 1.144145644e-05 0 0 --3.898212807e-06 1.936456431e-06 -7.01632092e-06 0 0 -1.144145644e-05 -7.01632092e-06 1.887916112e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04361826973 0.03114146501 -0.02152787247 -0.01536846247 -0.0006924740239 -0.03114146501 -0.01549558917 -0.01086650712 0.02139199573 0.006646742997 --0.02152787247 -0.01086650712 0.09153426888 -0.0481570016 -0.0242977778 --0.01536846247 0.02139199573 -0.0481570016 0.01069790372 0.009269970208 --0.0006924740239 0.006646742997 -0.0242977778 0.009269970208 0.005606603012 --0.0204171467 0.01948868647 -0.02879686195 -0.0001052269402 0.004002235014 -0.01948868647 -0.01660212192 0.02161044934 0.00127517119 -0.003701213513 --0.02879686195 0.02161044934 -0.02334972553 -0.003599729816 0.005295172053 --0.0001052269402 0.00127517119 -0.003599729816 0.0006893399334 9.052470641e-05 -0.004002235014 -0.003701213513 0.005295172053 9.052470641e-05 -0.0007774490958 --0.0004883415359 0.001626045361 -0.002979026203 0.0001378040237 8.067686361e-05 -0.001626045361 -0.00267897386 0.005206845422 -0.0008081186812 -0.000922697078 --0.002979026203 0.005206845422 -0.01005404974 0.001442377593 0.001618999743 -0.0001378040237 -0.0008081186812 0.001442377593 5.710944616e-06 6.075051546e-05 -8.067686361e-05 -0.000922697078 0.001618999743 6.075051546e-05 0.0001430706945 --0.001739644006 0.0002258940096 0.0002746239473 -0.0002219577606 0.0002318178735 -0.0002258940096 0.0003013258616 -0.0002540849372 -0.0001558272531 -9.549617892e-05 -0.0002746239473 -0.0002540849372 0.0001009333668 0.0001570130947 6.602714209e-06 --0.0002219577606 -0.0001558272531 0.0001570130947 7.479366293e-05 6.609523492e-05 -0.0002318178735 -9.549617892e-05 6.602714209e-06 6.609523492e-05 -1.795801084e-05 --0.0004412044984 0.0001396644913 -0.0004272709082 0.0001836104589 0.0001936103665 -0.0001396644913 0.0002251724277 -0.0004498792341 0.0001117426627 0.0001195814554 --0.0004272709082 -0.0004498792341 0.000857200661 -0.0001911550721 -0.000205373589 -0.0001836104589 0.0001117426627 -0.0001911550721 3.070087806e-05 3.347831277e-05 -0.0001936103665 0.0001195814554 -0.000205373589 3.347831277e-05 3.647862348e-05 -0.0001300508397 -6.91356395e-05 0.0001171229497 -1.523044107e-05 -2.909939158e-05 --6.91356395e-05 2.601881365e-05 -4.599374823e-05 3.591680608e-06 5.787531258e-06 -0.0001171229497 -4.599374823e-05 8.082098425e-05 -6.8884486e-06 -1.153212529e-05 --1.523044107e-05 3.591680608e-06 -6.8884486e-06 -1.069720544e-07 -6.554408973e-07 --2.909939158e-05 5.787531258e-06 -1.153212529e-05 -6.554408973e-07 -2.221699315e-06 --4.257900989e-05 1.404360423e-05 -1.909402694e-05 3.977186985e-06 1.374719464e-05 -1.404360423e-05 1.872106041e-06 -6.832684424e-07 -2.84310885e-06 -4.68669803e-06 --1.909402694e-05 -6.832684424e-07 -1.069644342e-06 3.427141768e-06 6.328478411e-06 -3.977186985e-06 -2.84310885e-06 3.427141768e-06 -1.095450799e-08 -1.248173744e-06 -1.374719464e-05 -4.68669803e-06 6.328478411e-06 -1.248173744e-06 -4.434885693e-06 -1.419731619e-05 1.460090454e-05 -3.491320492e-05 8.959550251e-06 6.734527871e-06 -1.460090454e-05 -1.489075228e-05 3.420071045e-06 1.093743446e-05 1.252615827e-06 --3.491320492e-05 3.420071045e-06 3.414520428e-05 -2.429870334e-05 -9.100992184e-06 -8.959550251e-06 1.093743446e-05 -2.429870334e-05 5.554846661e-06 4.576874302e-06 -6.734527871e-06 1.252615827e-06 -9.100992184e-06 4.576874302e-06 2.118292908e-06 -1.915479779e-05 -1.73312615e-05 4.765364264e-05 -1.758853029e-05 -1.627010226e-05 --1.73312615e-05 1.02900897e-05 -2.497238727e-05 7.7623309e-06 7.657357023e-06 -4.765364264e-05 -2.497238727e-05 5.748638945e-05 -1.632162508e-05 -1.670316385e-05 --1.758853029e-05 7.7623309e-06 -1.632162508e-05 3.824519207e-06 4.258907614e-06 --1.627010226e-05 7.657357023e-06 -1.670316385e-05 4.258907614e-06 4.564499735e-06 -1.965834363e-07 -7.545319285e-07 1.892797553e-06 -6.354428755e-07 -5.670200824e-07 --7.545319285e-07 2.698564888e-06 -7.524818753e-06 2.804848766e-06 2.387631343e-06 -1.892797553e-06 -7.524818753e-06 1.788290866e-05 -5.636997501e-06 -5.181576219e-06 --6.354428755e-07 2.804848766e-06 -5.636997501e-06 1.376234336e-06 1.441453983e-06 --5.670200824e-07 2.387631343e-06 -5.181576219e-06 1.441453983e-06 1.409477998e-06 --5.394755528e-06 5.669207243e-06 -7.244963281e-06 -4.866500582e-07 1.172614579e-06 -5.669207243e-06 -4.229918379e-06 2.734486229e-06 1.962597981e-06 -2.871021323e-07 --7.244963281e-06 2.734486229e-06 4.048791756e-06 -4.751733686e-06 -1.094386931e-06 --4.866500582e-07 1.962597981e-06 -4.751733686e-06 1.175032566e-06 8.996762223e-07 -1.172614579e-06 -2.871021323e-07 -1.094386931e-06 8.996762223e-07 2.621875152e-07 --6.200943117e-06 3.253982691e-06 -7.742624912e-07 -2.465548308e-06 -3.023656973e-07 -3.253982691e-06 -1.381935999e-06 -1.415829612e-06 2.179641948e-06 6.838286013e-07 --7.742624912e-07 -1.415829612e-06 1.010000039e-05 -5.264982442e-06 -2.976564313e-06 --2.465548308e-06 2.179641948e-06 -5.264982442e-06 1.42959225e-06 1.308483693e-06 --3.023656973e-07 6.838286013e-07 -2.976564313e-06 1.308483693e-06 8.322583451e-07 --3.260220013e-07 -1.55854063e-07 1.987690962e-06 -1.248650567e-06 -7.964113637e-07 --1.55854063e-07 1.468741481e-06 -5.514765738e-06 2.442675028e-06 1.786220884e-06 -1.987690962e-06 -5.514765738e-06 1.496455078e-05 -5.120687091e-06 -4.222206986e-06 --1.248650567e-06 2.442675028e-06 -5.120687091e-06 1.204515936e-06 1.217803804e-06 --7.964113637e-07 1.786220884e-06 -4.222206986e-06 1.217803804e-06 1.097218425e-06 --0.01499974137 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01795732663 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006592506506 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009320343618 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001693211745 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.935805547e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.268973276e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.917967019e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.807139071e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.208705663e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.27129861e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.375676492e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.586838197e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001534549007 0.01260090242 0.01445076221 0 0 -0.01260090242 -0.05964637109 -0.0003583838773 0 0 -0.01445076221 -0.0003583838773 0.08237085114 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.828801302e-05 0.007165025666 -0.003791519029 0 0 -0.007165025666 -0.006897373626 0.01407704146 0 0 --0.003791519029 0.01407704146 -0.01277766857 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.129400909e-06 -0.0004102393072 -0.0002341648059 0 0 --0.0004102393072 -0.001553475786 -0.0006886377414 0 0 --0.0002341648059 -0.0006886377414 -0.0002811484577 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.51952137e-08 1.078050413e-05 -4.789953858e-06 0 0 -1.078050413e-05 -0.00230558558 0.0009949422473 0 0 --4.789953858e-06 0.0009949422473 -0.0004257109647 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.245934563e-08 -5.364593343e-06 -7.270118165e-06 0 0 --5.364593343e-06 -0.0001612981764 -6.297930661e-05 0 0 --7.270118165e-06 -6.297930661e-05 8.217703896e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.075557519e-06 -8.688569523e-05 8.259313724e-05 0 0 --8.688569523e-05 -4.586320312e-05 -0.0001156360585 0 0 -8.259313724e-05 -0.0001156360585 0.0002577006046 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.827336772e-08 -5.076394105e-06 4.272596507e-06 0 0 --5.076394105e-06 0.0001169291236 -8.904443627e-05 0 0 -4.272596507e-06 -8.904443627e-05 6.678877514e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.545787598e-08 2.162432461e-06 6.755891049e-07 0 0 -2.162432461e-06 -3.318761329e-05 5.412991826e-06 0 0 -6.755891049e-07 5.412991826e-06 8.276534393e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.156520724e-08 6.638282558e-06 5.538711327e-06 0 0 -6.638282558e-06 -1.247212495e-05 8.413514075e-06 0 0 -5.538711327e-06 8.413514075e-06 2.339338127e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.1562535e-08 -2.621331377e-06 5.070569851e-06 0 0 --2.621331377e-06 2.184286454e-05 -3.150782784e-05 0 0 -5.070569851e-06 -3.150782784e-05 3.957534662e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.653700225e-08 -3.030283065e-06 3.870872537e-06 0 0 --3.030283065e-06 2.393006956e-05 -2.6709225e-05 0 0 -3.870872537e-06 -2.6709225e-05 2.912335896e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.325778774e-08 -1.086257835e-06 3.427139884e-06 0 0 --1.086257835e-06 4.375953977e-06 -9.826946335e-06 0 0 -3.427139884e-06 -9.826946335e-06 1.826259664e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.269601587e-09 5.170068445e-07 1.896427001e-06 0 0 -5.170068445e-07 -3.14263478e-06 -4.27428751e-06 0 0 -1.896427001e-06 -4.27428751e-06 1.22589917e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005716519908 0.0009292567033 0.0006760145412 0.03226836972 0.03287462069 -0.0009292567033 -0.0001442497262 -0.0001214830465 0.0137709621 0.01045022268 -0.0006760145412 -0.0001214830465 -0.0001013389575 0.01049572276 0.007888390812 -0.03226836972 0.0137709621 0.01049572276 -0.06398616201 0.03815132229 -0.03287462069 0.01045022268 0.007888390812 0.03815132229 0.1007618729 --0.01011302241 -0.003846386441 -0.002682916642 0.01189353872 -0.01612193726 --0.003846386441 -0.0001496566527 -2.873699766e-05 0.005707648012 -0.004345907058 --0.002682916642 -2.873699766e-05 3.708107498e-05 0.004049384029 -0.002928463594 -0.01189353872 0.005707648012 0.004049384029 -0.01291997928 0.02057058183 --0.01612193726 -0.004345907058 -0.002928463594 0.02057058183 -0.0232725689 --0.0001603139231 -0.0005147217884 -0.0002699747909 -0.0001264857719 -0.0007968782317 --0.0005147217884 -8.942001712e-06 4.777263176e-06 -0.0001676872859 -0.001160035125 --0.0002699747909 4.777263176e-06 7.525945202e-06 -8.657974683e-05 -0.0006003904145 --0.0001264857719 -0.0001676872859 -8.657974683e-05 -6.521176036e-05 -0.0004258681884 --0.0007968782317 -0.001160035125 -0.0006003904145 -0.0004258681884 -0.002771161149 --0.0006354366096 0.0002438765936 2.285012266e-05 0.001026418229 -0.0004788134039 -0.0002438765936 1.047457079e-05 -1.127744793e-06 -0.0004031011009 0.0002497950575 -2.285012266e-05 -1.127744793e-06 -2.605387941e-07 -3.75829266e-05 2.206648772e-05 -0.001026418229 -0.0004031011009 -3.75829266e-05 -0.001657161619 0.0007676085796 --0.0004788134039 0.0002497950575 2.206648772e-05 0.0007676085796 -0.0003189022104 -2.504366086e-05 2.165540652e-05 -9.928751834e-06 2.553746617e-05 7.660784646e-05 -2.165540652e-05 2.615985403e-07 -3.941487267e-07 1.630846666e-05 5.450952933e-05 --9.928751834e-06 -3.941487267e-07 3.023618824e-07 -7.562991032e-06 -2.51662429e-05 -2.553746617e-05 1.630846666e-05 -7.562991032e-06 2.423541864e-05 7.444907933e-05 -7.660784646e-05 5.450952933e-05 -2.51662429e-05 7.444907933e-05 0.0002268844971 -6.5461e-05 6.999474315e-05 3.017647903e-05 -2.127703274e-05 0.0001864319966 -6.999474315e-05 2.01194924e-06 -2.724362197e-07 -4.239323057e-05 0.0001174482024 -3.017647903e-05 -2.724362197e-07 -6.267055846e-07 -1.858419582e-05 4.935313404e-05 --2.127703274e-05 -4.239323057e-05 -1.858419582e-05 1.618100678e-06 -8.268419687e-05 -0.0001864319966 0.0001174482024 4.935313404e-05 -8.268419687e-05 0.0004388661854 -9.267894014e-06 -3.10310749e-06 4.49161672e-07 -4.299839423e-06 1.496940759e-05 --3.10310749e-06 -3.885247653e-08 5.159269029e-08 -2.328550192e-06 -7.805403537e-06 -4.49161672e-07 5.159269029e-08 -1.608216286e-08 4.977590778e-07 1.248930223e-06 --4.299839423e-06 -2.328550192e-06 4.977590778e-07 -1.117915852e-05 -1.671065155e-05 -1.496940759e-05 -7.805403537e-06 1.248930223e-06 -1.671065155e-05 1.693945236e-05 --1.082591459e-05 -4.333633073e-06 -8.473379908e-07 1.439089666e-05 -1.445573315e-05 --4.333633073e-06 -2.04501366e-07 -3.940586925e-09 9.32806445e-06 -3.050860317e-06 --8.473379908e-07 -3.940586925e-09 7.126220734e-09 1.907907256e-06 -5.320818106e-07 -1.439089666e-05 9.32806445e-06 1.907907256e-06 -1.081354502e-05 2.559374189e-05 --1.445573315e-05 -3.050860317e-06 -5.320818106e-07 2.559374189e-05 -1.441154219e-05 -7.433420446e-06 2.848267873e-06 1.113376978e-06 5.507066566e-06 2.092714049e-05 -2.848267873e-06 -1.28043169e-08 -6.187210417e-08 5.988884503e-06 9.561901962e-06 -1.113376978e-06 -6.187210417e-08 -4.934338158e-08 2.540793488e-06 3.817190098e-06 -5.507066566e-06 5.988884503e-06 2.540793488e-06 -9.545264036e-06 1.008285262e-05 -2.092714049e-05 9.561901962e-06 3.817190098e-06 1.008285262e-05 5.675881967e-05 -1.883468185e-05 -2.377128003e-07 1.524481911e-06 -1.04675281e-05 3.383927484e-05 --2.377128003e-07 -6.965300214e-09 2.138352733e-08 -1.312586878e-07 -5.480727382e-07 -1.524481911e-06 2.138352733e-08 -4.221115356e-08 2.263764732e-07 3.232155536e-06 --1.04675281e-05 -1.312586878e-07 2.263764732e-07 -1.142965364e-06 -2.200391373e-05 -3.383927484e-05 -5.480727382e-07 3.232155536e-06 -2.200391373e-05 5.93283818e-05 -5.438109516e-06 1.241927754e-06 6.188624766e-07 -5.323386284e-07 1.182715408e-05 -1.241927754e-06 1.685851937e-08 -1.38159415e-08 7.393657108e-07 3.007450411e-06 -6.188624766e-07 -1.38159415e-08 -1.980557382e-08 4.401319078e-07 1.524155953e-06 --5.323386284e-07 7.393657108e-07 4.401319078e-07 -2.726404355e-06 -2.146693688e-06 -1.182715408e-05 3.007450411e-06 1.524155953e-06 -2.146693688e-06 2.537048392e-05 -2.199753975e-06 5.2253497e-07 2.744444677e-07 2.219939008e-06 6.299560312e-06 -5.2253497e-07 -7.215143583e-09 -1.454339285e-08 1.507908094e-06 2.008350033e-06 -2.744444677e-07 -1.454339285e-08 -1.416707626e-08 8.722678918e-07 1.096737058e-06 -2.219939008e-06 1.507908094e-06 8.722678918e-07 -5.080677061e-06 2.535249796e-06 -6.299560312e-06 2.008350033e-06 1.096737058e-06 2.535249796e-06 1.604497138e-05 -4.219275618e-06 5.140307624e-07 4.140939002e-07 6.123586979e-07 9.618071761e-06 -5.140307624e-07 2.997549116e-09 -7.543630994e-09 6.310055228e-07 1.446938625e-06 -4.140939002e-07 -7.543630994e-09 -1.576250836e-08 6.012532872e-07 1.211585884e-06 -6.123586979e-07 6.310055228e-07 6.012532872e-07 -5.103183828e-06 -1.171904277e-06 -9.618071761e-06 1.446938625e-06 1.211585884e-06 -1.171904277e-06 2.065497699e-05 --0.0318418997 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03822371433 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01343707934 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002782292055 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002571154753 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001696917718 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.570599087e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.061218118e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.098200865e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.967275382e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.332292186e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.332302903e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.968817067e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002146097878 -0.0003568701584 -0.006425022298 0 0 --0.0003568701584 0.0005480895392 0.007382616903 0 0 --0.006425022298 0.007382616903 -0.04802564559 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001426359829 -0.0002334888786 -0.01865428781 0 0 --0.0002334888786 0.0003485801891 0.02137945202 0 0 --0.01865428781 0.02137945202 -0.05349969839 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.437674887e-06 9.280589891e-06 0.0001396390734 0 0 -9.280589891e-06 -1.489921069e-05 -0.0001822774151 0 0 -0.0001396390734 -0.0001822774151 -0.0002446670218 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.345734619e-06 4.887155731e-06 0.0003051648857 0 0 -4.887155731e-06 -1.017842152e-05 -0.0006248635968 0 0 -0.0003051648857 -0.0006248635968 -0.006438243355 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.157939775e-09 -1.199469897e-08 6.658784897e-07 0 0 --1.199469897e-08 3.218614034e-08 -2.070973268e-06 0 0 -6.658784897e-07 -2.070973268e-06 9.731594209e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.792384458e-06 3.173901223e-06 0.0002749678373 0 0 -3.173901223e-06 -5.398470131e-06 -0.0003898140719 0 0 -0.0002749678373 -0.0003898140719 0.000321874792 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.164667155e-08 -7.499153185e-08 -7.023269757e-06 0 0 --7.499153185e-08 1.307197424e-07 1.068142317e-05 0 0 --7.023269757e-06 1.068142317e-05 0.0002893793986 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.974359218e-08 -1.427969368e-07 -8.399090062e-06 0 0 --1.427969368e-07 2.018747261e-07 8.693984996e-06 0 0 --8.399090062e-06 8.693984996e-06 -7.475227912e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.172929747e-08 -1.220469758e-07 1.146558941e-07 0 0 --1.220469758e-07 1.949466884e-07 -2.062099013e-07 0 0 -1.146558941e-07 -2.062099013e-07 1.735410943e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.775722324e-08 6.632315303e-08 7.201826375e-06 0 0 -6.632315303e-08 -1.114444388e-07 -9.889278878e-06 0 0 -7.201826375e-06 -9.889278878e-06 0.0001340847929 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.857171155e-08 8.384239951e-08 8.851332506e-06 0 0 -8.384239951e-08 -1.370939805e-07 -1.169138741e-05 0 0 -8.851332506e-06 -1.169138741e-05 7.343570112e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.878971932e-09 1.504299795e-08 3.962510345e-06 0 0 -1.504299795e-08 -2.385747681e-08 -5.004258363e-06 0 0 -3.962510345e-06 -5.004258363e-06 2.506128562e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.670307053e-09 -9.552760378e-09 1.214169808e-06 0 0 --9.552760378e-09 1.500655191e-08 -1.526068911e-06 0 0 -1.214169808e-06 -1.526068911e-06 1.175716914e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0142238013 -0.003046238214 -0.0010424388 0.02612833257 0.0009845522697 --0.003046238214 1.986640137e-06 4.441814739e-05 -0.00527836535 -9.387808393e-05 --0.0010424388 4.441814739e-05 2.72263243e-05 -0.001827629098 -3.999205019e-05 -0.02612833257 -0.00527836535 -0.001827629098 0.04784139909 0.001751481512 -0.0009845522697 -9.387808393e-05 -3.999205019e-05 0.001751481512 4.711043688e-05 --0.02396627832 0.008876268603 0.003140491698 -0.04482420269 -0.002333609662 -0.008876268603 2.238576239e-06 0.0001286382128 0.01537188176 -0.0002724922299 -0.003140491698 0.0001286382128 9.571457739e-05 0.005390910439 -0.000140588039 --0.04482420269 0.01537188176 0.005390910439 -0.0833753772 -0.003939718409 --0.002333609662 -0.0002724922299 -0.000140588039 -0.003939718409 0.0001655977468 --0.001053692081 0.00147903607 0.0008574349219 -0.00252350884 -0.0009859307917 -0.00147903607 1.95359506e-07 1.573975987e-05 0.002561558181 -3.335302844e-05 -0.0008574349219 1.573975987e-05 1.830143209e-05 0.001477620257 -3.0002328e-05 --0.00252350884 0.002561558181 0.001477620257 -0.005580462445 -0.001691852952 --0.0009859307917 -3.335302844e-05 -3.0002328e-05 -0.001691852952 4.491129214e-05 --0.001128829012 -0.0004380865898 -0.0005432594535 -0.001607028985 0.0007914332812 --0.0004380865898 -1.165217698e-07 -6.591546556e-06 -0.0007586457269 1.394264895e-05 --0.0005432594535 -6.591546556e-06 -1.592417544e-05 -0.0009356544925 2.841586155e-05 --0.001607028985 -0.0007586457269 -0.0009356544925 -0.00218057756 0.001359635906 -0.0007914332812 1.394264895e-05 2.841586155e-05 0.001359635906 -4.888650326e-05 -1.9700354e-05 -4.839008295e-05 -0.0001139935948 8.896048456e-05 0.0001657866566 --4.839008295e-05 -5.22188746e-09 -4.818430074e-07 -8.380681167e-05 1.018616371e-06 --0.0001139935948 -4.818430074e-07 -2.243052869e-06 -0.0001968934531 4.012201781e-06 -8.896048456e-05 -8.380681167e-05 -0.0001968934531 0.0002490573237 0.0002859919106 -0.0001657866566 1.018616371e-06 4.012201781e-06 0.0002859919106 -6.926784978e-06 -0.0001726488699 -0.0001114454368 -5.617645589e-05 0.0003887359402 8.237101877e-05 --0.0001114454368 -2.030610914e-08 -1.36556812e-06 -0.0001930042197 2.89510051e-06 --5.617645589e-05 -1.36556812e-06 -1.397055591e-06 -9.61968735e-05 2.51533026e-06 -0.0003887359402 -0.0001930042197 -9.61968735e-05 0.0008286471968 0.0001403339069 -8.237101877e-05 2.89510051e-06 2.51533026e-06 0.0001403339069 -4.383806111e-06 --5.344027582e-06 -1.325339608e-06 -2.531246403e-06 -8.246412127e-06 3.621696189e-06 --1.325339608e-06 -7.772242101e-10 -3.40271418e-08 -2.294617925e-06 7.170990514e-08 --2.531246403e-06 -3.40271418e-08 -1.239112e-07 -4.357698122e-06 2.189798781e-07 --8.246412127e-06 -2.294617925e-06 -4.357698122e-06 -1.253530399e-05 6.217458571e-06 -3.621696189e-06 7.170990514e-08 2.189798781e-07 6.217458571e-06 -3.713462419e-07 --2.231077247e-05 1.052733928e-05 1.235308034e-05 -4.214290924e-05 -1.415086697e-05 -1.052733928e-05 3.154666688e-09 1.699266208e-07 1.823075704e-05 -3.588662663e-07 -1.235308034e-05 1.699266208e-07 4.000086824e-07 2.133716421e-05 -6.564031713e-07 --4.214290924e-05 1.823075704e-05 2.133716421e-05 -7.905326969e-05 -2.438778011e-05 --1.415086697e-05 -3.588662663e-07 -6.564031713e-07 -2.438778011e-05 9.843784283e-07 -2.715923302e-05 -6.530426255e-06 -2.976527295e-06 5.165692675e-05 3.72483092e-06 --6.530426255e-06 -3.691468485e-10 -5.355414197e-08 -1.13105948e-05 1.135969724e-07 --2.976527295e-06 -5.355414197e-08 -5.05572123e-08 -5.117558631e-06 8.608115381e-08 -5.165692675e-05 -1.13105948e-05 -5.117558631e-06 9.746671342e-05 6.371193157e-06 -3.72483092e-06 1.135969724e-07 8.608115381e-08 6.371193157e-06 -1.376526821e-07 -3.654415609e-05 -1.149658237e-06 4.577236265e-06 6.620965209e-05 -5.607802362e-06 --1.149658237e-06 -1.57097374e-10 -1.206673203e-08 -1.990937791e-06 2.589233234e-08 -4.577236265e-06 -1.206673203e-08 9.414014526e-08 7.958835829e-06 -1.556826532e-07 -6.620965209e-05 -1.990937791e-06 7.958835829e-06 0.0001197238373 -9.778899272e-06 --5.607802362e-06 2.589233234e-08 -1.556826532e-07 -9.778899272e-06 2.367683035e-07 -7.10032666e-06 -2.019189112e-06 -1.404232209e-06 1.344694017e-05 1.657570452e-06 --2.019189112e-06 -7.087335161e-11 -1.517298256e-08 -3.49725945e-06 3.218188818e-08 --1.404232209e-06 -1.517298256e-08 -2.146790904e-08 -2.423541206e-06 3.564183403e-08 -1.344694017e-05 -3.49725945e-06 -2.423541206e-06 2.52805206e-05 2.852652783e-06 -1.657570452e-06 3.218188818e-08 3.564183403e-08 2.852652783e-06 -5.458593271e-08 -2.015082036e-06 -3.93728341e-07 -1.570775172e-07 3.679528741e-06 1.48413374e-07 --3.93728341e-07 1.90511367e-10 3.617905471e-09 -6.821605253e-07 -7.634329178e-09 --1.570775172e-07 3.617905471e-09 2.692923356e-09 -2.738450409e-07 -4.031761659e-09 -3.679528741e-06 -6.821605253e-07 -2.738450409e-07 6.701166382e-06 2.607611073e-07 -1.48413374e-07 -7.634329178e-09 -4.031761659e-09 2.607611073e-07 4.983091858e-09 -9.623888616e-06 -1.375652412e-06 -1.837325971e-07 1.768947016e-05 1.414265972e-07 --1.375652412e-06 -8.631768673e-11 -1.154402678e-08 -2.382596581e-06 2.449474201e-08 --1.837325971e-07 -1.154402678e-08 -3.758174798e-09 -3.096637319e-07 5.892574793e-09 -1.768947016e-05 -2.382596581e-06 -3.096637319e-07 3.240635055e-05 2.267798698e-07 -1.414265972e-07 2.449474201e-08 5.892574793e-09 2.267798698e-07 -8.08325548e-09 --0.1884750384 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03804667044 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2335465456 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0916317287 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005259901558 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008621332752 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001781731719 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002843779821 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002417054653 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006771366955 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.508013382e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.730688416e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.490743855e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1983655323 0.01570148605 0.05697087413 0 0 -0.01570148605 -0.2227145256 -0.07260989366 0 0 -0.05697087413 -0.07260989366 -0.03562596461 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1281129121 -0.01136453683 0.0442395668 0 0 --0.01136453683 -0.09334232534 -0.06423228921 0 0 -0.0442395668 -0.06423228921 -0.0337483399 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01819113172 0.001792384944 0.01158247127 0 0 -0.001792384944 -0.01667967919 -0.01525592247 0 0 -0.01158247127 -0.01525592247 0.04971763963 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.009224602102 0.01568283176 -0.02165957006 0 0 -0.01568283176 -0.01832059187 0.02872377933 0 0 --0.02165957006 0.02872377933 -0.03668171182 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001400078663 0.0001179685558 -0.0001627126451 0 0 -0.0001179685558 -0.0002753706408 3.210031016e-05 0 0 --0.0001627126451 3.210031016e-05 -7.919822936e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002120552677 -0.0006080296749 0.0009031575071 0 0 --0.0006080296749 0.0003839275022 -0.001122633264 0 0 -0.0009031575071 -0.001122633264 0.002125731108 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002695723514 0.0006162979959 -0.0007451425126 0 0 -0.0006162979959 -0.0004011638284 0.0008548211668 0 0 --0.0007451425126 0.0008548211668 -0.0002965008556 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.224962703e-05 -8.359720145e-05 0.0001774125753 0 0 --8.359720145e-05 3.73612241e-05 -0.0002294260691 0 0 -0.0001774125753 -0.0002294260691 0.0002873458453 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.519526434e-05 2.549321681e-05 -5.546752779e-05 0 0 -2.549321681e-05 -0.0001537898079 0.0001175644889 0 0 --5.546752779e-05 0.0001175644889 -0.0003398509268 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.050182445e-05 4.2559219e-05 -2.227210607e-05 0 0 -4.2559219e-05 3.57198938e-05 2.628958522e-05 0 0 --2.227210607e-05 2.628958522e-05 0.0002600178291 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.340705173e-05 -4.138734643e-05 7.115878952e-05 0 0 --4.138734643e-05 8.742909095e-05 -0.0001256961103 0 0 -7.115878952e-05 -0.0001256961103 0.0002740945421 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.311832057e-05 2.743133743e-05 -4.397885349e-05 0 0 -2.743133743e-05 -2.880345629e-05 5.354657334e-05 0 0 --4.397885349e-05 5.354657334e-05 -7.65264247e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.622974416e-05 -2.573075501e-06 1.881809377e-05 0 0 --2.573075501e-06 1.05164645e-05 -1.930817287e-05 0 0 -1.881809377e-05 -1.930817287e-05 7.891568242e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02219939135 0.0429105523 0.01940823098 0.1248566064 0.0387039774 -0.0429105523 -0.04228507136 -0.02843818321 0.03619132265 0.01503486553 -0.01940823098 -0.02843818321 0.2144776246 -0.02687344496 -0.002377966256 -0.1248566064 0.03619132265 -0.02687344496 0.06983823867 -0.003065848942 -0.0387039774 0.01503486553 -0.002377966256 -0.003065848942 0.2237073806 --0.1071058392 0.04821632753 -0.04666484158 -0.03116882642 -0.04208534055 -0.04821632753 -0.04774873215 0.03473831656 0.03948130897 -0.007266493872 --0.04666484158 0.03473831656 -0.02555628957 0.02729244956 0.0008598799725 --0.03116882642 0.03948130897 0.02729244956 -0.1688514849 0.01454681417 --0.04208534055 -0.007266493872 0.0008598799725 0.01454681417 -0.02770897212 --0.01189785056 0.0186676715 -0.02960388008 0.005388778149 0.004271395994 -0.0186676715 -0.01196612276 0.003804246593 0.02341262305 0.009221452762 --0.02960388008 0.003804246593 -0.00766565233 -0.008550566255 -0.02811531205 -0.005388778149 0.02341262305 -0.008550566255 -0.02090153205 0.02856893763 -0.004271395994 0.009221452762 -0.02811531205 0.02856893763 0.01436620452 -0.004945249096 -7.418231918e-05 -0.002969553082 0.00716497545 0.004476166538 --7.418231918e-05 -0.00322128252 0.001488087848 0.002860935819 -0.002817901378 --0.002969553082 0.001488087848 0.0009696868408 -0.007635808717 -0.001880954211 -0.00716497545 0.002860935819 -0.007635808717 0.01183961167 0.009709507914 -0.004476166538 -0.002817901378 -0.001880954211 0.009709507914 0.0005041480518 --0.001628343591 -0.001488415245 0.002247334679 -0.001502327563 -0.00354885376 --0.001488415245 -0.002076051225 0.003342738206 -0.001816387966 -0.004170646892 -0.002247334679 0.003342738206 -0.005237396565 0.003293769119 0.00618478291 --0.001502327563 -0.001816387966 0.003293769119 -0.002925920319 -0.003492900754 --0.00354885376 -0.004170646892 0.00618478291 -0.003492900754 -0.008642975809 --0.0002945909202 -0.0006123799599 0.00108702394 -0.0003297400063 -0.001102705631 --0.0006123799599 -0.000347405514 0.000520830729 -0.0006910925081 -0.0008360931032 -0.00108702394 0.000520830729 -0.00082643917 0.000994557718 0.001715099744 --0.0003297400063 -0.0006910925081 0.000994557718 0.0003255922377 -0.001769623298 --0.001102705631 -0.0008360931032 0.001715099744 -0.001769623298 -0.001727881922 -0.0005989589676 0.0002986991886 -0.0006378281844 0.0007411339463 0.0009518787605 -0.0002986991886 0.000147398 -0.0003718588628 0.0004292332507 0.0004755830281 --0.0006378281844 -0.0003718588628 0.0008361266076 -0.000926893415 -0.001065180702 -0.0007411339463 0.0004292332507 -0.000926893415 0.001049744173 0.001206392782 -0.0009518787605 0.0004755830281 -0.001065180702 0.001206392782 0.001505469087 --0.00022668253 5.891102412e-05 -8.569562664e-05 -8.739984268e-05 -0.0001248226672 -5.891102412e-05 -0.0001046306194 0.0001319922425 4.579107133e-05 -9.594801157e-05 --8.569562664e-05 0.0001319922425 -0.0001941435982 4.909340385e-05 7.189859602e-05 --8.739984268e-05 4.579107133e-05 4.909340385e-05 -0.0003736031299 6.850078875e-05 --0.0001248226672 -9.594801157e-05 7.189859602e-05 6.850078875e-05 -0.0002601697932 --6.341332844e-05 -0.0001561564585 0.0002935646495 -8.683293632e-05 -0.0002669113623 --0.0001561564585 -7.829514859e-05 0.000119865112 -0.0001529801777 -0.0002262527536 -0.0002935646495 0.000119865112 -0.0001618801742 0.0002234281672 0.0004301769008 --8.683293632e-05 -0.0001529801777 0.0002234281672 -7.277552063e-06 -0.000379102891 --0.0002669113623 -0.0002262527536 0.0004301769008 -0.000379102891 -0.0004603124952 -0.0001702860359 4.31825052e-05 -8.288303746e-05 0.0001794002206 0.0002006677831 -4.31825052e-05 4.492090534e-05 -8.961553293e-05 5.919782609e-05 0.000104110103 --8.288303746e-05 -8.961553293e-05 0.0001879112454 -0.0001558554875 -0.0001829902098 -0.0001794002206 5.919782609e-05 -0.0001558554875 0.0003160892125 0.0001590736962 -0.0002006677831 0.000104110103 -0.0001829902098 0.0001590736962 0.0003566648733 --1.161904744e-05 1.670133694e-05 -1.795916832e-05 1.099423708e-05 7.922687058e-06 -1.670133694e-05 -7.308548767e-06 1.831208025e-06 1.05279495e-05 8.776156722e-06 --1.795916832e-05 1.831208025e-06 6.443392476e-06 4.480307384e-07 -1.718711166e-05 -1.099423708e-05 1.05279495e-05 4.480307384e-07 -5.031507989e-06 3.26217249e-06 -7.922687058e-06 8.776156722e-06 -1.718711166e-05 3.26217249e-06 3.685513838e-05 --7.347466562e-06 -1.717752237e-05 3.946787935e-05 -5.482916068e-06 -2.548482148e-05 --1.717752237e-05 -1.48087328e-05 1.758329061e-05 -2.059843469e-05 -3.232622188e-05 -3.946787935e-05 1.758329061e-05 -1.095972903e-05 2.574989115e-05 6.310109049e-05 --5.482916068e-06 -2.059843469e-05 2.574989115e-05 6.850604062e-06 -5.253079887e-05 --2.548482148e-05 -3.232622188e-05 6.310109049e-05 -5.253079887e-05 -4.457368956e-05 -3.56483326e-05 5.784513683e-06 -5.780211837e-06 4.10368294e-05 3.721231181e-05 -5.784513683e-06 9.049976116e-06 -2.192048507e-05 9.783361142e-06 2.028452289e-05 --5.780211837e-06 -2.192048507e-05 5.210032215e-05 -2.755397459e-05 -3.181825945e-05 -4.10368294e-05 9.783361142e-06 -2.755397459e-05 6.883213452e-05 2.165461762e-05 -3.721231181e-05 2.028452289e-05 -3.181825945e-05 2.165461762e-05 7.906585598e-05 --0.01071845062 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01094181196 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01766308793 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003204626962 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.393088453e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002444747582 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004745209709 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002790916183 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.971831702e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.043078378e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.225910396e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.344673116e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.178111448e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.09819398993 0.005596655204 -0.0002618514929 0 0 -0.005596655204 -0.06251730277 -0.0007322985285 0 0 --0.0002618514929 -0.0007322985285 -0.06221886246 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.172687895 0.001093018311 0.003183445032 0 0 -0.001093018311 -0.1194345393 -0.0003285551238 0 0 -0.003183445032 -0.0003285551238 -0.1254452949 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1298244978 0.00159112664 0.001892615903 0 0 -0.00159112664 -0.06758005558 0.0008111785119 0 0 -0.001892615903 0.0008111785119 -0.07672011765 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04624170154 0.001304276942 0.0002116119838 0 0 -0.001304276942 -0.01297498605 0.0006326474781 0 0 -0.0002116119838 0.0006326474781 -0.01727083014 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01577189862 0.0008708234789 -0.0001891141265 0 0 -0.0008708234789 0.0008184418017 0.0003532693044 0 0 --0.0001891141265 0.0003532693044 -0.001001752686 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004718772892 0.0001458129937 -0.000107356385 0 0 -0.0001458129937 0.002645835743 7.355150058e-05 0 0 --0.000107356385 7.355150058e-05 0.002517084205 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00242353661 -9.495021036e-05 -3.18635382e-05 0 0 --9.495021036e-05 0.001687783648 -3.63414872e-05 0 0 --3.18635382e-05 -3.63414872e-05 0.002114548623 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001578058585 -0.0001113883227 2.812563415e-05 0 0 --0.0001113883227 -8.248851267e-05 -4.731396131e-05 0 0 -2.812563415e-05 -4.731396131e-05 0.0001676254613 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009401627131 -5.618380819e-05 2.59430098e-05 0 0 --5.618380819e-05 -0.0004152544035 -2.829070852e-05 0 0 -2.59430098e-05 -2.829070852e-05 -0.0003388743701 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.101926984e-05 9.026224176e-06 5.87561432e-07 0 0 -9.026224176e-06 -8.410861387e-05 4.186391946e-06 0 0 -5.87561432e-07 4.186391946e-06 -0.0001245635151 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002662450541 2.692589945e-05 -6.501593745e-06 0 0 -2.692589945e-05 -1.435418008e-06 1.09917946e-05 0 0 --6.501593745e-06 1.09917946e-05 -6.537219518e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.145142194e-05 1.292262353e-06 -7.115662125e-07 0 0 -1.292262353e-06 1.107003369e-05 8.387427054e-07 0 0 --7.115662125e-07 8.387427054e-07 9.492310738e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.852406407e-05 2.529998874e-08 -1.163536507e-06 0 0 -2.529998874e-08 2.869525882e-05 4.314581354e-08 0 0 --1.163536507e-06 4.314581354e-08 3.827729879e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.08039672996 -0.004103209798 7.979473679e-05 0.0002682811347 0.0005897744437 --0.004103209798 0.05253170427 0.0005867166778 0.03745509124 -0.0004600304922 -7.979473679e-05 0.0005867166778 0.05240814329 0.0004743491971 -0.03291841503 -0.0002682811347 0.03745509124 0.0004743491971 -0.007385329114 0.0001930714782 -0.0005897744437 -0.0004600304922 -0.03291841503 0.0001930714782 -0.006033887399 --0.0611179519 -0.00219917989 -0.0001201942756 -0.0006907115347 0.0002260303481 --0.00219917989 0.03628998162 -0.0002672394005 0.0214770329 0.000168330923 --0.0001201942756 -0.0002672394005 0.03962663968 -0.0002002560736 -0.02056192903 --0.0006907115347 0.0214770329 -0.0002002560736 -0.01828041752 0.0002764697725 -0.0002260303481 0.000168330923 -0.02056192903 0.0002764697725 -0.0161706062 --0.009597089562 -3.489692389e-06 -6.586242304e-05 -0.0008646656871 -0.0001549124844 --3.489692389e-06 0.007143264918 -0.0003506614019 0.002038259392 0.0001906866237 --6.586242304e-05 -0.0003506614019 0.009067650715 -0.0002059726285 -0.002306938851 --0.0008646656871 0.002038259392 -0.0002059726285 -0.01012628394 -5.599053165e-05 --0.0001549124844 0.0001906866237 -0.002306938851 -5.599053165e-05 -0.01013240055 -0.005199756782 0.0002662319112 8.647967345e-06 -0.0001898398524 -7.571963516e-05 -0.0002662319112 -0.000149394486 -1.039684247e-05 -0.0004017421749 -3.667983474e-05 -8.647967345e-06 -1.039684247e-05 -0.0002371881474 4.495773374e-05 0.0007040060353 --0.0001898398524 -0.0004017421749 4.495773374e-05 -0.0008322599307 -0.0001334944884 --7.571963516e-05 -3.667983474e-05 0.0007040060353 -0.0001334944884 -0.001461461804 -0.00127122826 6.471706e-05 -9.999367103e-07 3.55245626e-05 8.479774608e-06 -6.471706e-05 0.0001346399319 1.569788466e-05 0.0001471332779 -1.503950407e-05 --9.999367103e-07 1.569788466e-05 7.336538015e-05 1.738225941e-05 -8.572315384e-05 -3.55245626e-05 0.0001471332779 1.738225941e-05 0.0001409467962 -1.442436987e-05 -8.479774608e-06 -1.503950407e-05 -8.572315384e-05 -1.442436987e-05 9.784088009e-05 --0.001042766655 -2.043020365e-05 -1.318229886e-05 1.200743854e-05 1.557204905e-05 --2.043020365e-05 0.0001940894539 -1.063027458e-05 8.428085013e-05 1.333116852e-05 --1.318229886e-05 -1.063027458e-05 0.0002708938527 -1.471894081e-05 -0.0001439631888 -1.200743854e-05 8.428085013e-05 -1.471894081e-05 -0.0001918187469 2.043268826e-05 -1.557204905e-05 1.333116852e-05 -0.0001439631888 2.043268826e-05 -0.0001014386892 --7.433895472e-05 -7.175008909e-06 5.365489593e-07 -1.429219379e-05 -3.807639564e-06 --7.175008909e-06 -2.729539803e-06 9.588840344e-08 -5.749153576e-06 -1.459319182e-06 -5.365489593e-07 9.588840344e-08 -1.057974716e-05 1.636306642e-06 2.129477464e-05 --1.429219379e-05 -5.749153576e-06 1.636306642e-06 -1.070437316e-05 -4.076242997e-06 --3.807639564e-06 -1.459319182e-06 2.129477464e-05 -4.076242997e-06 -3.808328794e-05 -0.000129959571 4.923789004e-06 9.623203445e-07 -2.899051435e-06 -1.871529246e-06 -4.923789004e-06 5.377421761e-07 1.027123294e-06 -3.883867678e-08 -1.710076411e-06 -9.623203445e-07 1.027123294e-06 -4.600029132e-06 1.943081535e-06 7.29482504e-06 --2.899051435e-06 -3.883867678e-08 1.943081535e-06 -6.396195652e-07 -3.108230203e-06 --1.871529246e-06 -1.710076411e-06 7.29482504e-06 -3.108230203e-06 -1.129138557e-05 --5.120934248e-05 3.932292439e-07 -1.292707664e-06 4.37094204e-06 2.339674602e-06 -3.932292439e-07 2.03846202e-05 -3.212498838e-07 1.349032918e-05 9.486475912e-07 --1.292707664e-06 -3.212498838e-07 2.606045673e-05 -1.041960511e-06 -1.959381964e-05 -4.37094204e-06 1.349032918e-05 -1.041960511e-06 -6.101693754e-06 2.311623528e-06 -2.339674602e-06 9.486475912e-07 -1.959381964e-05 2.311623528e-06 5.647930615e-06 -1.168258115e-06 -1.982364453e-06 6.059730584e-07 -2.058519419e-06 -7.440309959e-07 --1.982364453e-06 5.70159211e-06 6.764438244e-07 6.776593534e-06 -7.543675438e-07 -6.059730584e-07 6.764438244e-07 1.909577537e-06 8.114710099e-07 -2.270188965e-06 --2.058519419e-06 6.776593534e-06 8.114710099e-07 7.393884168e-06 -8.525130009e-07 --7.440309959e-07 -7.543675438e-07 -2.270188965e-06 -8.525130009e-07 2.651178137e-06 --1.511269234e-05 -9.108268121e-07 6.914164938e-08 -1.557840913e-06 -4.366650862e-07 --9.108268121e-07 8.733194555e-07 -1.692999492e-07 -7.818384069e-07 6.098727513e-09 -6.914164938e-08 -1.692999492e-07 1.072880435e-06 -8.742795184e-09 1.58460381e-06 --1.557840913e-06 -7.818384069e-07 -8.742795184e-09 -4.33464687e-06 -2.875209143e-07 --4.366650862e-07 6.098727513e-09 1.58460381e-06 -2.875209143e-07 -6.181626242e-06 --1.753691322e-05 -1.211508328e-07 -3.751429222e-07 6.508126266e-07 5.463547939e-07 --1.211508328e-07 4.274614839e-06 -2.579509555e-07 2.08016311e-06 3.841274546e-07 --3.751429222e-07 -2.579509555e-07 6.179165706e-06 -4.236380139e-07 -3.845631325e-06 -6.508126266e-07 2.08016311e-06 -4.236380139e-07 -3.545316447e-06 6.66043495e-07 -5.463547939e-07 3.841274546e-07 -3.845631325e-06 6.66043495e-07 -8.069912556e-07 -2.589510148e-06 -2.789326589e-07 1.395225248e-07 -3.728979145e-07 -1.38450097e-07 --2.789326589e-07 2.015388254e-06 1.037411231e-07 1.745207546e-06 -1.306124782e-07 -1.395225248e-07 1.037411231e-07 1.423708213e-06 1.400911986e-07 -9.022973427e-07 --3.728979145e-07 1.745207546e-06 1.400911986e-07 6.590211555e-07 -1.669389781e-07 --1.38450097e-07 -1.306124782e-07 -9.022973427e-07 -1.669389781e-07 -1.421744436e-07 -0.1411916509 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0843119338 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2051738492 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1384945653 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02605500459 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003295616567 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006017031218 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002457085734 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001170797631 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000370272811 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000123431325 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002555009455 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.041557682e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03635310043 -4.794548206e-05 -0.0002965177758 0 0 --4.794548206e-05 0.131583249 0.0002355162091 0 0 --0.0002965177758 0.0002355162091 0.1303196751 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01131636889 -0.006131774974 0.0007341567777 0 0 --0.006131774974 0.1304127464 -0.0004769351219 0 0 -0.0007341567777 -0.0004769351219 0.1338312032 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.10818679 -0.003039243709 -1.308014563e-05 0 0 --0.003039243709 0.03861234831 -0.0001633408929 0 0 --1.308014563e-05 -0.0001633408929 0.03924216092 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01573244246 0.001273713977 4.542853825e-05 0 0 -0.001273713977 -0.001689885185 8.4110643e-05 0 0 -4.542853825e-05 8.4110643e-05 -0.002407146745 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02617838745 0.0004590839491 0.0001012327269 0 0 -0.0004590839491 0.001576237361 2.830866594e-05 0 0 -0.0001012327269 2.830866594e-05 0.001430992446 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007946416707 0.0002805758962 -1.735430566e-05 0 0 -0.0002805758962 2.836304635e-05 2.33482528e-07 0 0 --1.735430566e-05 2.33482528e-07 1.880810991e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006007762843 -9.354422952e-05 -1.812980465e-05 0 0 --9.354422952e-05 -0.0001414638491 1.152958707e-06 0 0 --1.812980465e-05 1.152958707e-06 -0.0001449995327 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.589204291e-06 -7.905315934e-06 2.84527104e-07 0 0 --7.905315934e-06 0.0003040213102 -4.355770788e-07 0 0 -2.84527104e-07 -4.355770788e-07 0.0003097987905 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002513076946 6.516857311e-05 3.96831393e-06 0 0 -6.516857311e-05 -0.0001283903216 -9.10680797e-07 0 0 -3.96831393e-06 -9.10680797e-07 -0.0001244493175 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001038447786 -2.880045873e-05 5.123617154e-07 0 0 --2.880045873e-05 -3.167807441e-05 -3.176372082e-07 0 0 -5.123617154e-07 -3.176372082e-07 -2.891597039e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.315932066e-05 -4.604908178e-07 -2.06350165e-07 0 0 --4.604908178e-07 3.813615274e-05 6.41744569e-08 0 0 --2.06350165e-07 6.41744569e-08 3.747046658e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001886146425 5.388709927e-06 6.768725424e-07 0 0 -5.388709927e-06 -3.253376413e-05 -8.595171498e-08 0 0 -6.768725424e-07 -8.595171498e-08 -3.210541591e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002041788177 -5.342557949e-06 3.887258256e-08 0 0 --5.342557949e-06 -2.319062313e-06 -1.832452143e-08 0 0 -3.887258256e-08 -1.832452143e-08 -2.109079357e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1547266294 0.0003787468741 0.0003077483288 -0.0002006544658 -0.0002472999972 -0.0003787468741 -0.1753820047 -0.0004300972375 -0.01862216579 0.000134538551 -0.0003077483288 -0.0004300972375 -0.1746637391 -0.0001324379862 0.01593499366 --0.0002006544658 -0.01862216579 -0.0001324379862 0.0004750604381 6.023281094e-05 --0.0002472999972 0.000134538551 0.01593499366 6.023281094e-05 -0.0003591758738 -0.0717835464 -0.0002148996808 0.0003485240191 -0.0006680292899 -3.564653007e-05 --0.0002148996808 0.01854320793 -5.226649211e-05 0.002826716782 0.0002602351664 -0.0003485240191 -5.226649211e-05 0.01913055966 -0.0002837701127 0.0008303237118 --0.0006680292899 0.002826716782 -0.0002837701127 0.0004264040062 5.233366386e-05 --3.564653007e-05 0.0002602351664 0.0008303237118 5.233366386e-05 -0.0003060332918 --0.01635855465 -0.003776559685 -9.972651592e-05 -0.0003596239032 -0.0001357921375 --0.003776559685 0.04787652533 -0.0002487239548 0.0003696814793 0.0002399730328 --9.972651592e-05 -0.0002487239548 0.04923341696 -0.0002635977184 0.001966354685 --0.0003596239032 0.0003696814793 -0.0002635977184 -3.430433707e-05 -8.465456119e-06 --0.0001357921375 0.0002399730328 0.001966354685 -8.465456119e-06 7.920216014e-05 --0.05909834675 -0.001607751912 -0.0004296937209 0.0001768927508 -2.39067103e-05 --0.001607751912 0.01141849944 6.080759171e-05 -0.002160579071 4.673752582e-05 --0.0004296937209 6.080759171e-05 0.01037281963 -3.93416218e-05 0.002641859492 -0.0001768927508 -0.002160579071 -3.93416218e-05 -0.0001117246703 -1.67868498e-05 --2.39067103e-05 4.673752582e-05 0.002641859492 -1.67868498e-05 0.0001224326414 -0.003362404598 5.003054005e-05 -5.022809291e-06 -5.861665076e-05 -5.594483238e-06 -5.003054005e-05 0.007463189097 0.000109922793 0.0007960060696 -2.040185888e-06 --5.022809291e-06 0.000109922793 0.006819135138 7.395893689e-06 -0.0003385764854 --5.861665076e-05 0.0007960060696 7.395893689e-06 3.091497659e-05 3.573443964e-06 --5.594483238e-06 -2.040185888e-06 -0.0003385764854 3.573443964e-06 -1.795442821e-05 -0.01542597974 0.0006841775232 7.76122104e-05 4.634947967e-05 1.023893646e-05 -0.0006841775232 -0.001229093911 -1.36537804e-05 -2.109357069e-05 -1.420950892e-07 -7.76122104e-05 -1.36537804e-05 -0.001101924925 -1.91984864e-07 -4.820088328e-05 -4.634947967e-05 -2.109357069e-05 -1.91984864e-07 -3.715597537e-07 6.486518488e-08 -1.023893646e-05 -1.420950892e-07 -4.820088328e-05 6.486518488e-08 -1.30084847e-06 --0.0006336468643 2.896723018e-05 -2.106913637e-05 1.952579268e-05 4.590877152e-06 -2.896723018e-05 6.992862492e-06 1.609015969e-07 -3.594746203e-06 1.172238068e-07 --2.106913637e-05 1.609015969e-07 -1.322040298e-07 1.842984083e-07 4.889357706e-06 -1.952579268e-05 -3.594746203e-06 1.842984083e-07 -3.683586055e-07 -5.394274907e-08 -4.590877152e-06 1.172238068e-07 4.889357706e-06 -5.394274907e-08 4.252891924e-07 --0.0009632689172 -5.949509754e-05 -5.867023145e-06 -5.047856951e-06 7.37468602e-07 --5.949509754e-05 0.0005004652591 1.026307763e-07 6.181281622e-05 1.173724116e-06 --5.867023145e-06 1.026307763e-07 0.0005118246352 -1.203436167e-06 -3.730961208e-05 --5.047856951e-06 6.181281622e-05 -1.203436167e-06 2.850014703e-06 3.673090401e-07 -7.37468602e-07 1.173724116e-06 -3.730961208e-05 3.673090401e-07 -2.252451557e-06 -0.0002239906499 2.665392964e-05 3.948322144e-06 4.574788055e-06 7.448665835e-07 -2.665392964e-05 -0.0002973610446 -4.529494656e-06 -4.664650959e-05 3.933620971e-07 -3.948322144e-06 -4.529494656e-06 -0.0002728596474 -5.552532018e-07 2.823153541e-05 -4.574788055e-06 -4.664650959e-05 -5.552532018e-07 -1.562987921e-06 -1.928137469e-07 -7.448665835e-07 3.933620971e-07 2.823153541e-05 -1.928137469e-07 1.09500198e-06 -6.186445243e-05 -9.231211697e-06 2.623384981e-06 -4.888530191e-06 -1.222774624e-06 --9.231211697e-06 4.205821104e-05 5.589966975e-07 6.60767242e-06 -4.12270262e-08 -2.623384981e-06 5.589966975e-07 3.899068301e-05 6.716524632e-09 -3.818906304e-06 --4.888530191e-06 6.60767242e-06 6.716524632e-09 3.098275876e-07 3.763096243e-08 --1.222774624e-06 -4.12270262e-08 -3.818906304e-06 3.763096243e-08 -2.171963884e-07 -0.0002631525399 9.132926131e-06 1.334912188e-06 5.197785529e-08 1.729603785e-07 -9.132926131e-06 -1.045158853e-05 4.239871613e-08 -1.03541562e-06 3.096959991e-08 -1.334912188e-06 4.239871613e-08 -1.08346683e-05 -2.427337152e-08 1.185044859e-06 -5.197785529e-08 -1.03541562e-06 -2.427337152e-08 9.710081798e-08 1.248830939e-08 -1.729603785e-07 3.096959991e-08 1.185044859e-06 1.248830939e-08 -7.569496845e-08 --0.0001920772835 -3.757858456e-06 -4.733589753e-07 1.770211939e-07 -1.776018589e-07 --3.757858456e-06 -5.721312813e-05 -1.868596222e-07 -8.617825514e-06 -4.827184243e-08 --4.733589753e-07 -1.868596222e-07 -5.72737221e-05 4.153388922e-08 6.170490826e-06 -1.770211939e-07 -8.617825514e-06 4.153388922e-08 -2.346310396e-07 -3.051047121e-08 --1.776018589e-07 -4.827184243e-08 6.170490826e-06 -3.051047121e-08 1.881526705e-07 --3.682533344e-05 -2.414275155e-06 6.951636822e-08 -4.851525999e-07 -1.444110296e-07 --2.414275155e-06 2.164135863e-06 1.56970426e-08 4.574548216e-07 1.803253069e-08 -6.951636822e-08 1.56970426e-08 2.177779267e-06 -2.072081383e-08 -6.443136547e-08 --4.851525999e-07 4.574548216e-07 -2.072081383e-08 8.936353679e-08 1.11551632e-08 --1.444110296e-07 1.803253069e-08 -6.443136547e-08 1.11551632e-08 -6.544609961e-08 --0.04615760921 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06020523165 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.07912514463 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02306232958 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000437582793 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001261666907 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001367524318 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000586723471 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001993295275 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002458003026 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.746996467e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.570354074e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.412583924e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00263534257 0.06269107145 0.0002641358372 0 0 -0.06269107145 -0.06315708216 -1.447813984e-05 0 0 -0.0002641358372 -1.447813984e-05 -0.04214515448 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005558146269 0.03951442735 -4.212801589e-05 0 0 -0.03951442735 -0.0101276637 0.0001666362483 0 0 --4.212801589e-05 0.0001666362483 -0.02596704256 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02008758626 0.03225038533 4.317648064e-06 0 0 -0.03225038533 -0.0234296788 3.328997707e-06 0 0 -4.317648064e-06 3.328997707e-06 -0.002864300365 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005113455254 0.001056326419 5.002112267e-06 0 0 -0.001056326419 -0.02682134722 2.84012835e-05 0 0 -5.002112267e-06 2.84012835e-05 0.001092602849 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009227213857 0.002039288439 3.0748638e-07 0 0 -0.002039288439 0.004401062784 2.906380526e-07 0 0 -3.0748638e-07 2.906380526e-07 8.145550258e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000107445452 0.0006336891865 1.40346347e-07 0 0 -0.0006336891865 0.0008395845398 4.396808166e-07 0 0 -1.40346347e-07 4.396808166e-07 -0.0002838376837 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002141456926 -0.0001180786228 -1.036599536e-06 0 0 --0.0001180786228 -0.001976924543 -2.512866466e-06 0 0 --1.036599536e-06 -2.512866466e-06 8.647259896e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001559511134 0.0003123298074 -5.781500939e-08 0 0 -0.0003123298074 0.0006092660383 -1.770315078e-07 0 0 --5.781500939e-08 -1.770315078e-07 1.455192918e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.945964747e-05 -8.560343434e-06 4.765691291e-08 0 0 --8.560343434e-06 9.01453562e-05 7.301622507e-08 0 0 -4.765691291e-08 7.301622507e-08 -3.298883055e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.400232928e-05 -2.629774027e-05 -1.218602847e-07 0 0 --2.629774027e-05 -0.0003212455597 -4.102143108e-07 0 0 --1.218602847e-07 -4.102143108e-07 1.942572584e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.751397178e-05 7.332262911e-05 1.989974419e-07 0 0 -7.332262911e-05 0.0001403582778 3.596917105e-07 0 0 -1.989974419e-07 3.596917105e-07 6.09067361e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.06958351e-06 9.013733563e-07 4.345939158e-08 0 0 -9.013733563e-07 1.000974672e-05 2.391160309e-08 0 0 -4.345939158e-08 2.391160309e-08 -3.217197349e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.109333782e-05 3.589297329e-06 4.706122346e-09 0 0 -3.589297329e-06 -4.50252163e-05 -2.370116121e-08 0 0 -4.706122346e-09 -2.370116121e-08 4.231137277e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1367194956 0.04900267737 -0.0001588523704 0.01182299085 -0.0001727413693 -0.04900267737 -0.009843769536 -0.000221072989 0.07579399189 0.0006480792766 --0.0001588523704 -0.000221072989 0.04127532842 -8.932303081e-05 0.1239229853 -0.01182299085 0.07579399189 -8.932303081e-05 -0.03114374402 1.443766659e-05 --0.0001727413693 0.0006480792766 0.1239229853 1.443766659e-05 -0.04675671345 -0.04947125846 0.01228976564 0.00029351211 -0.010371035 7.456332648e-05 -0.01228976564 -0.07959770371 6.162524073e-06 -0.0008110377221 -0.0002675007043 -0.00029351211 6.162524073e-06 0.01880912357 -0.0002781074938 0.0299295946 --0.010371035 -0.0008110377221 -0.0002781074938 -0.007903944099 0.0001318581879 -7.456332648e-05 -0.0002675007043 0.0299295946 0.0001318581879 -0.04836997111 --0.0004580396843 -0.005579007354 1.168623809e-05 0.001717420187 9.739132927e-06 --0.005579007354 0.002756573085 1.741703551e-05 0.02104872703 -1.064258152e-05 -1.168623809e-05 1.741703551e-05 0.003172203241 -5.253171776e-06 0.0006331175805 -0.001717420187 0.02104872703 -5.253171776e-06 0.006395024196 -1.810135714e-05 -9.739132927e-06 -1.064258152e-05 0.0006331175805 -1.810135714e-05 -0.01329287172 --0.008828883064 0.001352986748 6.962273576e-06 0.01314678643 -1.110090925e-05 -0.001352986748 0.02055698033 7.772241996e-07 0.01030405818 4.257245999e-06 -6.962273576e-06 7.772241996e-07 -4.813029999e-05 -7.62275544e-06 7.142224968e-05 -0.01314678643 0.01030405818 -7.62275544e-06 -0.01251832139 2.540716998e-05 --1.110090925e-05 4.257245999e-06 7.142224968e-05 2.540716998e-05 0.001394554157 --0.001032026522 0.0006788430467 2.248844331e-06 0.001785260585 -4.741739409e-06 -0.0006788430467 -0.000264012025 -7.52688129e-07 -0.001298915177 9.12888863e-06 -2.248844331e-06 -7.52688129e-07 4.037542209e-05 -1.975950153e-06 -7.003273021e-05 -0.001785260585 -0.001298915177 -1.975950153e-06 -0.003414577543 1.632638797e-05 --4.741739409e-06 9.12888863e-06 -7.003273021e-05 1.632638797e-05 -0.0002296804064 -0.0002604638219 -0.0001012877455 -3.283888352e-06 -0.0002300317256 -2.651206091e-07 --0.0001012877455 -0.0001198904275 -1.218392636e-07 0.0003101635583 -3.607181273e-06 --3.283888352e-06 -1.218392636e-07 6.80112002e-05 2.760292323e-06 0.0001111515826 --0.0002300317256 0.0003101635583 2.760292323e-06 0.0003901250481 -6.885985141e-06 --2.651206091e-07 -3.607181273e-06 0.0001111515826 -6.885985141e-06 -0.0003495401414 --0.0003711009333 -1.048708957e-05 -3.495530574e-07 0.0005366690616 -1.371751261e-07 --1.048708957e-05 0.00114621859 -2.336524888e-07 0.0006738976179 -4.100818685e-07 --3.495530574e-07 -2.336524888e-07 8.277079615e-06 1.567505824e-07 3.551963111e-05 -0.0005366690616 0.0006738976179 1.567505824e-07 -0.0003879280926 -6.694775214e-07 --1.371751261e-07 -4.100818685e-07 3.551963111e-05 -6.694775214e-07 0.0001067829141 --2.194180232e-05 -2.699940627e-06 6.293729005e-08 4.640707404e-05 4.607340926e-07 --2.699940627e-06 -2.712881728e-05 -7.600760015e-08 -1.45973843e-05 -1.006084822e-06 -6.293729005e-08 -7.600760015e-08 4.462749732e-07 -8.898019906e-08 1.248414983e-06 -4.640707404e-05 -1.45973843e-05 -8.898019906e-08 -8.512825912e-05 -1.09773158e-06 -4.607340926e-07 -1.006084822e-06 1.248414983e-06 -1.09773158e-06 -3.902668877e-05 -3.737100569e-05 3.052140933e-05 -1.354259598e-07 1.373934695e-05 -2.078057508e-08 -3.052140933e-05 -0.0001000142909 -4.910000572e-08 -6.06557249e-05 -5.325440392e-08 --1.354259598e-07 -4.910000572e-08 9.136837956e-06 6.720558183e-08 3.024788185e-05 -1.373934695e-05 -6.06557249e-05 6.720558183e-08 -6.915204163e-05 -2.717484833e-07 --2.078057508e-08 -5.325440392e-08 3.024788185e-05 -2.717484833e-07 -3.731278572e-05 --2.796670564e-05 8.761698656e-06 -3.574143477e-07 6.238866602e-05 -1.213476414e-07 -8.761698656e-06 0.0001471906401 -6.846981014e-08 8.761014505e-05 1.642970665e-07 --3.574143477e-07 -6.846981014e-08 4.907489248e-06 2.554963634e-07 2.401060655e-05 -6.238866602e-05 8.761014505e-05 2.554963634e-07 -4.129836377e-05 -3.707439296e-07 --1.213476414e-07 1.642970665e-07 2.401060655e-05 -3.707439296e-07 3.801718281e-05 -2.170585584e-05 -1.101641103e-05 -8.532285879e-08 -2.196266565e-05 -2.178547541e-07 --1.101641103e-05 9.505414197e-06 -3.899834511e-08 2.95096926e-05 4.243573121e-07 --8.532285879e-08 -3.899834511e-08 2.305609376e-06 4.253740259e-08 8.90914498e-06 --2.196266565e-05 2.95096926e-05 4.253740259e-08 4.138995863e-05 3.643092891e-07 --2.178547541e-07 4.243573121e-07 8.90914498e-06 3.643092891e-07 -6.507887607e-06 -1.010888704e-05 1.168783262e-05 -5.738635278e-08 8.914380452e-06 -2.269020208e-08 -1.168783262e-05 -1.433374439e-05 -1.83435088e-08 -1.063555648e-05 5.282857899e-08 --5.738635278e-08 -1.83435088e-08 3.323767492e-06 3.260611118e-08 1.151534634e-05 -8.914380452e-06 -1.063555648e-05 3.260611118e-08 -2.288354286e-05 -5.865226124e-08 --2.269020208e-08 5.282857899e-08 1.151534634e-05 -5.865226124e-08 -3.698151526e-06 -5.424850991e-06 4.199124819e-06 -7.627059273e-08 7.477022747e-06 -6.004219301e-08 -4.199124819e-06 2.616194358e-05 -2.524921856e-08 1.953324184e-05 9.477638257e-08 --7.627059273e-08 -2.524921856e-08 2.653888966e-06 4.073008631e-08 1.132875991e-05 -7.477022747e-06 1.953324184e-05 4.073008631e-08 -2.563626519e-06 -1.90536292e-08 --6.004219301e-08 9.477638257e-08 1.132875991e-05 -1.90536292e-08 6.69409863e-06 --0.04933546276 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05947896104 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.08458397237 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03111354371 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001362101112 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006602415118 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009912332927 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001090340038 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.020954548e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003315992192 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.948762349e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.603845382e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.149944924e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003412463412 -0.03052222696 -0.05293759831 0 0 --0.03052222696 -0.05118026604 -0.008669491369 0 0 --0.05293759831 -0.008669491369 -0.0613432805 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01646883675 -0.01569048344 -0.02822785838 0 0 --0.01569048344 -0.02665171594 0.009016474355 0 0 --0.02822785838 0.009016474355 -0.01701280532 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02104181857 -0.01706409904 -0.03053776658 0 0 --0.01706409904 -0.007679114146 -0.00468479735 0 0 --0.03053776658 -0.00468479735 -0.01355235116 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00830910873 -0.001446747559 -0.002572924019 0 0 --0.001446747559 -0.006266180515 -0.01362859304 0 0 --0.002572924019 -0.01362859304 -0.02317414807 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002936600179 -0.00036728573 -0.0006497141233 0 0 --0.00036728573 0.0004454945804 0.0007800094244 0 0 --0.0006497141233 0.0007800094244 0.001387255869 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001252734392 -0.0003645033685 -0.0006635584038 0 0 --0.0003645033685 8.603924774e-05 0.0007437984227 0 0 --0.0006635584038 0.0007437984227 0.001026457178 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004409551791 -6.932728835e-05 -0.0001276129902 0 0 --6.932728835e-05 -0.0003307144836 -0.0007884213084 0 0 --0.0001276129902 -0.0007884213084 -0.001291072113 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.273638114e-05 -8.633010839e-05 -0.0001546895255 0 0 --8.633010839e-05 8.465166081e-05 0.0001615371377 0 0 --0.0001546895255 0.0001615371377 0.0002843379146 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.232049378e-05 2.119091692e-05 3.782696034e-05 0 0 -2.119091692e-05 -2.541328769e-05 1.117958113e-05 0 0 -3.782696034e-05 1.117958113e-05 -1.134104564e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.51184051e-05 -1.498924377e-05 -2.709094354e-05 0 0 --1.498924377e-05 -3.125267649e-05 -0.0001066717362 0 0 --2.709094354e-05 -0.0001066717362 -0.0001607864197 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.178324371e-05 -2.792884382e-05 -4.853804424e-05 0 0 --2.792884382e-05 3.348605723e-05 5.86293938e-05 0 0 --4.853804424e-05 5.86293938e-05 0.0001025091286 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.291494401e-06 6.196741586e-06 1.110090984e-05 0 0 -6.196741586e-06 -9.994838895e-06 -1.37666405e-05 0 0 -1.110090984e-05 -1.37666405e-05 -2.64726965e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.911666358e-05 -7.308996465e-06 -1.299720737e-05 0 0 --7.308996465e-06 -3.45700758e-08 -1.108316693e-05 0 0 --1.299720737e-05 -1.108316693e-05 -1.363551243e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1478920701 -0.01843485366 -0.03907291575 -0.005562471529 0.009899502877 --0.01843485366 0.0358289477 -0.02160431836 -0.07503848854 -0.08843880904 --0.03907291575 -0.02160431836 0.008048857331 0.08623224976 -0.02556572701 --0.005562471529 -0.07503848854 0.08623224976 -0.04246013727 -0.007399900161 -0.009899502877 -0.08843880904 -0.02556572701 -0.007399900161 -0.03470622828 -0.05897784425 -0.004440146057 -0.007441903868 0.006029609575 -0.009315263906 --0.004440146057 -0.003514365568 -0.04819856662 -0.02481926911 -0.01382447255 --0.007441903868 -0.04819856662 -0.06345776883 0.01382023332 0.009405940835 -0.006029609575 -0.02481926911 0.01382023332 -0.04190268435 -0.01806455644 --0.009315263906 -0.01382447255 0.009405940835 -0.01806455644 -0.02257054735 -0.003823018155 0.003025686566 0.005607182295 0.0008434079137 -0.001511414232 -0.003025686566 0.001590492678 -0.005262356209 0.00417463332 -0.008208484319 -0.005607182295 -0.005262356209 -0.004789816561 0.009000221612 -0.01382224958 -0.0008434079137 0.00417463332 0.009000221612 -0.01013752109 -0.01174689577 --0.001511414232 -0.008208484319 -0.01382224958 -0.01174689577 0.001655227804 --0.008543218501 -0.0009866445879 -0.00175942116 -0.006641734306 0.01068790693 --0.0009866445879 0.005565226315 0.01021918468 0.00343337838 -0.005074463304 --0.00175942116 0.01021918468 0.01827810109 0.005635164183 -0.009484541972 --0.006641734306 0.00343337838 0.005635164183 -0.002154596243 0.004431821411 -0.01068790693 -0.005074463304 -0.009484541972 0.004431821411 -0.006578916194 --0.001689581868 -0.0005715390836 -0.001001558907 -0.00157442423 0.002544327674 --0.0005715390836 6.382416596e-05 6.876398371e-05 -0.0003669199008 0.0007755391764 --0.001001558907 6.876398371e-05 0.000138769603 -0.0008706049378 0.001263735441 --0.00157442423 -0.0003669199008 -0.0008706049378 -0.001934182081 0.002158245672 -0.002544327674 0.0007755391764 0.001263735441 0.002158245672 -0.003991672685 -9.383634687e-05 -0.0001073034463 -0.0002136594749 -0.0001032274198 0.0001763699195 --0.0001073034463 -3.478117852e-05 -0.0002466854107 -0.0002025029481 6.949561627e-05 --0.0002136594749 -0.0002466854107 -0.0003369436516 -7.6431851e-05 0.0003142120221 --0.0001032274198 -0.0002025029481 -7.6431851e-05 -0.0002751784532 0.000153534142 -0.0001763699195 6.949561627e-05 0.0003142120221 0.000153534142 -0.0004992982532 --0.0002242881197 5.745910215e-05 0.0001010324652 -0.0001294472725 0.000208024473 -5.745910215e-05 0.0003330109643 0.0005956919308 0.0002458345542 -0.0004242608808 -0.0001010324652 0.0005956919308 0.001070230384 0.0004667740137 -0.0007445882468 --0.0001294472725 0.0002458345542 0.0004667740137 0.0001236332543 -8.566214634e-05 -0.000208024473 -0.0004242608808 -0.0007445882468 -8.566214634e-05 0.0002082228838 --5.916331594e-05 1.470093184e-06 2.793359847e-06 -5.369950696e-05 9.034061631e-05 -1.470093184e-06 -1.899267863e-05 -3.446002878e-05 -9.097793846e-06 2.731656954e-05 -2.793359847e-06 -3.446002878e-05 -6.31219203e-05 -2.702777548e-05 4.246741107e-05 --5.369950696e-05 -9.097793846e-06 -2.702777548e-05 -0.0001185498631 4.72685801e-05 -9.034061631e-05 2.731656954e-05 4.246741107e-05 4.72685801e-05 -0.0001703335171 --8.099703651e-06 -4.592978125e-05 -8.485407486e-05 -6.001547977e-05 9.838428204e-05 --4.592978125e-05 -1.678970249e-05 -5.36042127e-05 -6.929923679e-05 4.651244979e-05 --8.485407486e-05 -5.36042127e-05 -8.31722611e-05 -5.355213972e-05 0.0001263416299 --6.001547977e-05 -6.929923679e-05 -5.355213972e-05 -6.895324693e-05 0.0001136622114 -9.838428204e-05 4.651244979e-05 0.0001263416299 0.0001136622114 -0.0001880475767 --6.843803461e-07 1.142995205e-05 1.826721233e-05 -1.851324269e-06 1.498072079e-06 -1.142995205e-05 4.559838798e-05 7.441356174e-05 2.146759381e-05 -6.937614674e-05 -1.826721233e-05 7.441356174e-05 0.0001375562243 7.270421827e-05 -0.0001026874532 --1.851324269e-06 2.146759381e-05 7.270421827e-05 4.65077157e-05 -1.905594858e-05 -1.498072079e-06 -6.937614674e-05 -0.0001026874532 -1.905594858e-05 6.64904856e-05 -1.867432521e-05 4.763520202e-06 7.78462441e-06 7.281091513e-06 -1.225601548e-05 -4.763520202e-06 -1.615100981e-06 -7.520458518e-06 -2.983670445e-06 -7.803203546e-06 -7.78462441e-06 -7.520458518e-06 -1.115186537e-05 7.133893454e-06 -6.207136904e-06 -7.281091513e-06 -2.983670445e-06 7.133893454e-06 -7.654009763e-06 -1.51609313e-05 --1.225601548e-05 -7.803203546e-06 -6.207136904e-06 -1.51609313e-05 9.364341418e-06 -4.666775992e-06 -9.735171431e-06 -1.824486131e-05 -1.195726224e-05 1.947572678e-05 --9.735171431e-06 6.601032385e-07 -6.152452955e-06 -1.489730204e-05 2.65087584e-06 --1.824486131e-05 -6.152452955e-06 -6.977723768e-06 -4.002700137e-06 1.850574131e-05 --1.195726224e-05 -1.489730204e-05 -4.002700137e-06 -1.0783347e-05 2.177367981e-05 -1.947572678e-05 2.65087584e-06 1.850574131e-05 2.177367981e-05 -3.330519355e-05 -9.800663772e-06 8.584847733e-07 7.430749262e-07 8.747646287e-07 -1.749348518e-06 -8.584847733e-07 9.373691771e-06 1.190893184e-05 -9.100350313e-07 -1.630822504e-05 -7.430749262e-07 1.190893184e-05 2.408433173e-05 1.669311448e-05 -1.804380055e-05 -8.747646287e-07 -9.100350313e-07 1.669311448e-05 8.613257191e-06 -4.179403321e-06 --1.749348518e-06 -1.630822504e-05 -1.804380055e-05 -4.179403321e-06 1.303751377e-05 --0.0490168533 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0575985298 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.08381128785 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03452112762 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002142376139 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003831251792 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006775304209 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001232864897 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.864000259e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003284868402 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.64772734e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.397789034e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.887631325e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00365429749 -0.03041937726 0.05334769263 0 0 --0.03041937726 -0.0511574803 0.008025739314 0 0 -0.05334769263 0.008025739314 -0.0606076141 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02220156008 -0.01360810638 0.02444228409 0 0 --0.01360810638 -0.02881470651 -0.009528958778 0 0 -0.02444228409 -0.009528958778 -0.01801911114 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02021147947 -0.01779909484 0.03189334964 0 0 --0.01779909484 -0.007450382633 0.002117621146 0 0 -0.03189334964 0.002117621146 -0.01017849213 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01029810753 -0.002579531311 0.004623055765 0 0 --0.002579531311 -0.006320100168 0.01372851978 0 0 -0.004623055765 0.01372851978 -0.02331839609 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.27530142e-05 9.943613064e-06 -2.530010526e-05 0 0 -9.943613064e-06 -6.561798214e-05 3.614626145e-05 0 0 --2.530010526e-05 3.614626145e-05 -0.0001291188341 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.02588455e-05 -0.0003152558708 0.0005771066894 0 0 --0.0003152558708 9.45387932e-05 -0.0007359255812 0 0 -0.0005771066894 -0.0007359255812 0.001026909652 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005819628722 -0.0001979665564 0.0003555740373 0 0 --0.0001979665564 -0.0002203032129 0.0005938441882 0 0 -0.0003555740373 0.0005938441882 -0.0009488291177 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.683166991e-05 -4.317054772e-05 7.73388211e-05 0 0 --4.317054772e-05 2.799791556e-05 -8.471666979e-05 0 0 -7.73388211e-05 -8.471666979e-05 0.0001328323932 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.600057195e-05 3.953035538e-05 -7.038856543e-05 0 0 -3.953035538e-05 -4.801526813e-05 4.194115361e-05 0 0 --7.038856543e-05 4.194115361e-05 -9.87137645e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.690663406e-05 -3.942687295e-05 7.037893389e-05 0 0 --3.942687295e-05 -1.427465555e-06 5.703571873e-05 0 0 -7.037893389e-05 5.703571873e-05 -7.133785921e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.161068452e-06 -1.942231679e-05 3.392161323e-05 0 0 --1.942231679e-05 2.411210112e-05 -4.941064061e-05 0 0 -3.392161323e-05 -4.941064061e-05 8.311348026e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.635068139e-06 9.500441761e-06 -1.695208269e-05 0 0 -9.500441761e-06 -1.525661216e-05 2.641875871e-05 0 0 --1.695208269e-05 2.641875871e-05 -4.734752544e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.248108688e-05 -1.150622423e-05 2.050194976e-05 0 0 --1.150622423e-05 5.814286251e-06 1.136871236e-06 0 0 -2.050194976e-05 1.136871236e-06 4.339192332e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1514573401 -0.01844804988 0.03893761898 -0.005144642859 -0.009537566107 --0.01844804988 0.03635073245 0.02057741063 -0.07624367175 0.08945432217 -0.03893761898 0.02057741063 0.009236660536 -0.08779829508 -0.02497797806 --0.005144642859 -0.07624367175 -0.08779829508 -0.04087283465 0.007305119685 --0.009537566107 0.08945432217 -0.02497797806 0.007305119685 -0.03324181381 -0.06433995328 -0.004965820757 0.009138797068 0.006216468608 0.009641694163 --0.004965820757 -0.002838804621 0.05030870516 -0.02754382603 0.01532967827 -0.009138797068 0.05030870516 -0.06560780328 -0.01458977155 0.0108762416 -0.006216468608 -0.02754382603 -0.01458977155 -0.0426324435 0.01770293962 -0.009641694163 0.01532967827 0.0108762416 0.01770293962 -0.02410679848 -0.006680029943 0.002959060483 -0.005469892007 0.001958064378 0.003328137508 -0.002959060483 0.0006852381561 0.008653445196 0.003080718328 0.007657956625 --0.005469892007 0.008653445196 -0.009851579444 -0.00831826611 -0.01203310627 -0.001958064378 0.003080718328 -0.00831826611 -0.01117231204 0.01286924432 -0.003328137508 0.007657956625 -0.01203310627 0.01286924432 0.001724706832 --0.00829837329 -0.0006523007625 0.001170304715 -0.006200011467 -0.009952321329 --0.0006523007625 0.005767086279 -0.01058691829 0.004096190126 0.005736335057 -0.001170304715 -0.01058691829 0.01898567775 -0.006405565178 -0.01092905711 --0.006200011467 0.004096190126 -0.006405565178 -0.001933149231 -0.003093980629 --0.009952321329 0.005736335057 -0.01092905711 -0.003093980629 -0.005045095293 --0.002041186719 -0.0005969881034 0.001055056492 -0.001869099771 -0.003027171722 --0.0005969881034 0.0002288870013 -0.0003893936999 -0.0002487937893 -0.0006575341975 -0.001055056492 -0.0003893936999 0.0006942096634 0.0007285079003 0.001019171279 --0.001869099771 -0.0002487937893 0.0007285079003 -0.00228508059 -0.002313273247 --0.003027171722 -0.0006575341975 0.001019171279 -0.002313273247 -0.004523287974 --7.721077577e-05 -0.0002342705833 0.0004332635604 -0.0002979266976 -0.0004910035181 --0.0002342705833 -5.470276e-05 0.0003096629383 -0.0003424047482 -0.0002283470309 -0.0004332635604 0.0003096629383 -0.0004351973052 0.0002586569282 0.000633912782 --0.0002979266976 -0.0003424047482 0.0002586569282 -0.0003960985922 -0.0005452374547 --0.0004910035181 -0.0002283470309 0.000633912782 -0.0005452374547 -0.0009937968209 --0.0001410812187 9.226821902e-05 -0.0001643309387 -4.446087346e-05 -7.018760772e-05 -9.226821902e-05 0.0003254251216 -0.000588396284 0.0002788139376 0.0004570665719 --0.0001643309387 -0.000588396284 0.001055348045 -0.0005057438249 -0.0008172009191 --4.446087346e-05 0.0002788139376 -0.0005057438249 0.0001806152898 0.0002242897749 --7.018760772e-05 0.0004570665719 -0.0008172009191 0.0002242897749 0.0004047276859 --5.99111991e-05 1.417982582e-05 -2.537337345e-05 -5.153085354e-05 -8.609056451e-05 -1.417982582e-05 -1.517464007e-05 2.832780881e-05 2.562228045e-06 -1.092569281e-05 --2.537337345e-05 2.832780881e-05 -5.30357131e-05 1.022673981e-05 1.126241322e-05 --5.153085354e-05 2.562228045e-06 1.022673981e-05 -0.0001361039392 -2.376172537e-05 --8.609056451e-05 -1.092569281e-05 1.126241322e-05 -2.376172537e-05 -0.0001607663923 --4.213486465e-05 -6.409179374e-05 0.0001171790251 -9.410052521e-05 -0.0001533703237 --6.409179374e-05 -1.023682738e-05 4.301082442e-05 -8.222306804e-05 -5.763929736e-05 -0.0001171790251 4.301082442e-05 -6.343021211e-05 6.662869846e-05 0.0001520676753 --9.410052521e-05 -8.222306804e-05 6.662869846e-05 -7.839057399e-05 -0.0001710263494 --0.0001533703237 -5.763929736e-05 0.0001520676753 -0.0001710263494 -0.0002542718928 -1.183745507e-05 1.762855708e-05 -3.023869138e-05 1.227674999e-05 2.107316792e-05 -1.762855708e-05 4.132269821e-05 -6.873753134e-05 2.590556236e-05 6.998260876e-05 --3.023869138e-05 -6.873753134e-05 0.0001262591073 -7.428331805e-05 -0.0001082600769 -1.227674999e-05 2.590556236e-05 -7.428331805e-05 5.176937337e-05 3.948838054e-05 -2.107316792e-05 6.998260876e-05 -0.0001082600769 3.948838054e-05 9.300931991e-05 -1.859490096e-05 4.472797105e-06 -7.414403995e-06 6.59608758e-06 1.069063823e-05 -4.472797105e-06 -3.49955814e-06 1.113258391e-05 -4.050605519e-06 5.411352333e-06 --7.414403995e-06 1.113258391e-05 -1.765597844e-05 -5.060725765e-06 -2.094346187e-06 -6.59608758e-06 -4.050605519e-06 -5.060725765e-06 -1.13963274e-05 1.43367125e-05 -1.069063823e-05 5.411352333e-06 -2.094346187e-06 1.43367125e-05 3.834819446e-06 -1.547815181e-06 -1.134999187e-05 2.104667286e-05 -1.504783458e-05 -2.443231549e-05 --1.134999187e-05 2.942054902e-06 1.978998298e-06 -1.497252554e-05 -1.667876338e-06 -2.104667286e-05 1.978998298e-06 4.838878579e-07 2.947115926e-06 1.736307279e-05 --1.504783458e-05 -1.497252554e-05 2.947115926e-06 -9.604639331e-06 -2.634675254e-05 --2.443231549e-05 -1.667876338e-06 1.736307279e-05 -2.634675254e-05 -3.645760541e-05 -1.149219286e-05 2.013680198e-06 -2.996167384e-06 3.113544664e-06 5.239581101e-06 -2.013680198e-06 8.450869879e-06 -1.079414557e-05 -1.070778938e-07 1.614701381e-05 --2.996167384e-06 -1.079414557e-05 2.173945731e-05 -1.675301437e-05 -1.869058009e-05 -3.113544664e-06 -1.070778938e-07 -1.675301437e-05 9.044709302e-06 7.498268143e-06 -5.239581101e-06 1.614701381e-05 -1.869058009e-05 7.498268143e-06 1.683177051e-05 --0.0408604112 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.08436039944 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03477436383 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00361088947 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.975634226e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007315119821 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005757577879 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001164201316 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.115798429e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.552690454e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.099093703e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.90602179e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.167737043e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2128585243 0.0003796992879 0.0001913825575 0 0 -0.0003796992879 -2.555945966e-05 -4.958445816e-06 0 0 -0.0001913825575 -4.958445816e-06 -8.984951797e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03850576555 -0.002443549898 -0.0004323170546 0 0 --0.002443549898 -3.404396378e-05 -1.447043482e-05 0 0 --0.0004323170546 -1.447043482e-05 -3.465027031e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1112945763 -0.001931125803 -0.0006267060613 0 0 --0.001931125803 -1.226297061e-05 -1.262297791e-05 0 0 --0.0006267060613 -1.262297791e-05 -3.385079461e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05480011554 -0.0006583009256 -0.0002787006541 0 0 --0.0006583009256 -3.38184593e-06 -4.3656428e-06 0 0 --0.0002787006541 -4.3656428e-06 -1.188589174e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01823927827 -0.0002703012088 -6.14509517e-05 0 0 --0.0002703012088 -3.728748721e-06 -9.583484839e-07 0 0 --6.14509517e-05 -9.583484839e-07 -1.988381131e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001010698982 -2.960490594e-06 7.419823697e-07 0 0 --2.960490594e-06 2.427396211e-07 1.998773157e-08 0 0 -7.419823697e-07 1.998773157e-08 7.175685987e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003343295579 6.690008945e-05 5.100174957e-06 0 0 -6.690008945e-05 1.331858689e-06 9.457571318e-08 0 0 -5.100174957e-06 9.457571318e-08 -4.15002564e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001576199694 2.528725281e-05 4.576864778e-06 0 0 -2.528725281e-05 3.527620512e-07 7.119078879e-08 0 0 -4.576864778e-06 7.119078879e-08 1.319547568e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001112449014 1.219410282e-05 3.801609365e-06 0 0 -1.219410282e-05 1.151283687e-07 4.734009446e-08 0 0 -3.801609365e-06 4.734009446e-08 1.125782517e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001534934706 -1.49957405e-06 -7.097785117e-07 0 0 --1.49957405e-06 -8.071800421e-09 -9.216977208e-09 0 0 --7.097785117e-07 -9.216977208e-09 -2.490040643e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002320431094 -4.400993524e-06 -9.630223412e-07 0 0 --4.400993524e-06 -6.951002806e-08 -1.879995258e-08 0 0 --9.630223412e-07 -1.879995258e-08 -3.976219963e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.622377918e-05 -6.546747402e-07 -8.225905604e-08 0 0 --6.546747402e-07 -9.166061595e-09 -1.168126791e-09 0 0 --8.225905604e-08 -1.168126791e-09 -1.462975765e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.14888266e-05 -4.028952883e-07 -4.068544859e-08 0 0 --4.028952883e-07 -1.141198914e-08 -7.673945396e-10 0 0 --4.068544859e-08 -7.673945396e-10 1.594820848e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05096996904 0.001118310875 0.0001783916846 4.168334476e-05 -8.48901969e-05 -0.001118310875 2.045971295e-05 3.172843036e-06 5.072436159e-07 -1.113512869e-06 -0.0001783916846 3.172843036e-06 4.89607909e-07 7.18361135e-08 -1.60930854e-07 -4.168334476e-05 5.072436159e-07 7.18361135e-08 -6.607162014e-09 5.414205294e-09 --8.48901969e-05 -1.113512869e-06 -1.60930854e-07 5.414205294e-09 3.76179333e-09 -0.03012398949 0.0005172583264 2.137784965e-05 0.0001960756775 1.405071869e-05 -0.0005172583264 -5.565107125e-06 -5.508299227e-07 -1.201164005e-06 -1.471383562e-07 -2.137784965e-05 -5.508299227e-07 -4.314968469e-08 -1.510858825e-07 -1.470651812e-08 -0.0001960756775 -1.201164005e-06 -1.510858825e-07 -1.680995783e-07 -3.135356742e-08 -1.405071869e-05 -1.471383562e-07 -1.470651812e-08 -3.135356742e-08 -3.888461494e-09 --0.002675290755 -0.0003589343887 -4.019554134e-05 -4.126660444e-05 -1.020293391e-05 --0.0003589343887 -2.857343296e-05 -1.58057683e-06 -8.177911097e-06 -1.979927399e-06 --4.019554134e-05 -1.58057683e-06 1.382147779e-07 -1.134203553e-06 -2.722464057e-07 --4.126660444e-05 -8.177911097e-06 -1.134203553e-06 -2.802956484e-07 -7.496821725e-08 --1.020293391e-05 -1.979927399e-06 -2.722464057e-07 -7.496821725e-08 -1.984638902e-08 --0.006560218717 -0.0003757931567 1.316851698e-05 -0.0001863703811 -6.463085843e-05 --0.0003757931567 -2.053183871e-05 6.835032052e-08 -8.424149172e-06 -2.919118332e-06 -1.316851698e-05 6.835032052e-08 4.465335172e-07 -1.178449432e-06 -4.102352628e-07 --0.0001863703811 -8.424149172e-06 -1.178449432e-06 -1.98225891e-07 -6.360786647e-08 --6.463085843e-05 -2.919118332e-06 -4.102352628e-07 -6.360786647e-08 -2.027269987e-08 --0.00131400813 -8.32947575e-05 1.084738609e-05 -5.347967214e-05 -2.45558331e-05 --8.32947575e-05 -4.414646705e-06 2.258088762e-07 -2.031042124e-06 -9.303665639e-07 -1.084738609e-05 2.258088762e-07 1.568884279e-07 -2.837395158e-07 -1.314621622e-07 --5.347967214e-05 -2.031042124e-06 -2.837395158e-07 -4.237407401e-08 -1.598470436e-08 --2.45558331e-05 -9.303665639e-07 -1.314621622e-07 -1.598470436e-08 -5.739774705e-09 -0.0008642047863 3.39207799e-05 2.48010508e-06 1.312507196e-05 4.022553077e-07 -3.39207799e-05 1.252358326e-06 1.090043524e-07 3.916494488e-07 1.253543674e-08 -2.48010508e-06 1.090043524e-07 5.398375382e-09 5.58804133e-08 1.634135509e-09 -1.312507196e-05 3.916494488e-07 5.58804133e-08 6.354671754e-09 1.026267931e-09 -4.022553077e-07 1.253543674e-08 1.634135509e-09 1.026267931e-09 5.335416087e-11 -4.617555442e-05 2.687207808e-06 -4.564342078e-07 2.480153552e-06 7.92963268e-07 -2.687207808e-06 6.150532865e-08 -1.989766861e-09 3.174687977e-08 1.015435601e-08 --4.564342078e-07 -1.989766861e-09 -1.852372726e-09 4.643359277e-09 1.483520247e-09 -2.480153552e-06 3.174687977e-08 4.643359277e-09 -3.884504158e-10 -1.192912814e-10 -7.92963268e-07 1.015435601e-08 1.483520247e-09 -1.192912814e-10 -3.657202047e-11 --0.0001456880574 -8.18177629e-06 5.913128963e-07 -4.114044252e-06 -1.847838343e-06 --8.18177629e-06 -4.299482521e-07 1.225021748e-08 -1.734570408e-07 -7.775535909e-08 -5.913128963e-07 1.225021748e-08 1.247044626e-08 -2.416196103e-08 -1.096136384e-08 --4.114044252e-06 -1.734570408e-07 -2.416196103e-08 -3.903654009e-09 -1.454034482e-09 --1.847838343e-06 -7.775535909e-08 -1.096136384e-08 -1.454034482e-09 -5.17852553e-10 -4.383660568e-05 1.291203763e-06 5.062913666e-07 6.534521178e-08 -5.544399433e-07 -1.291203763e-06 3.749192286e-08 1.595881509e-08 2.106932094e-09 -1.829153848e-08 -5.062913666e-07 1.595881509e-08 3.822544157e-09 4.020238014e-10 -2.608375548e-09 -6.534521178e-08 2.106932094e-09 4.020238014e-10 3.597896892e-11 -1.654622359e-10 --5.544399433e-07 -1.829153848e-08 -2.608375548e-09 -1.654622359e-10 -1.005725932e-10 --7.843758256e-07 6.131957574e-07 -2.36483188e-07 9.435326144e-07 3.214271822e-07 -6.131957574e-07 4.177908425e-08 -4.813118651e-09 3.167260921e-08 1.0780423e-08 --2.36483188e-07 -4.813118651e-09 -2.256447723e-09 4.464483386e-09 1.524264841e-09 -9.435326144e-07 3.167260921e-08 4.464483386e-09 5.932710033e-10 1.884059519e-10 -3.214271822e-07 1.0780423e-08 1.524264841e-09 1.884059519e-10 5.951616441e-11 -1.007359312e-05 3.805350902e-07 -3.075068795e-08 2.257140486e-07 7.854299547e-08 -3.805350902e-07 9.001416292e-09 4.102263793e-11 3.303256754e-09 1.149994458e-09 --3.075068795e-08 4.102263793e-11 -1.75295477e-10 4.799947683e-10 1.669053031e-10 -2.257140486e-07 3.303256754e-09 4.799947683e-10 -1.966145322e-11 -6.315349315e-12 -7.854299547e-08 1.149994458e-09 1.669053031e-10 -6.315349315e-12 -2.014482694e-12 -1.458609724e-05 5.821616217e-07 6.966939719e-08 2.349995611e-07 -3.670028603e-08 -5.821616217e-07 2.215469612e-08 2.747654458e-09 7.391171831e-09 -1.138729643e-09 -6.966939719e-08 2.747654458e-09 3.317630543e-10 1.061747808e-09 -1.653397722e-10 -2.349995611e-07 7.391171831e-09 1.061747808e-09 1.281750772e-10 8.615520305e-12 --3.670028603e-08 -1.138729643e-09 -1.653397722e-10 8.615520305e-12 -6.041266416e-12 --3.420791905e-06 -1.261047561e-07 -2.15800446e-08 2.198210745e-08 3.885867806e-09 --1.261047561e-07 -3.87829933e-09 -7.354421446e-10 1.174603167e-09 2.116831988e-10 --2.15800446e-08 -7.354421446e-10 -1.314511323e-10 1.670825422e-10 2.985124979e-11 -2.198210745e-08 1.174603167e-09 1.670825422e-10 3.095086548e-11 7.38309764e-12 -3.885867806e-09 2.116831988e-10 2.985124979e-11 7.38309764e-12 1.664318655e-12 --0.2264733036 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007487936792 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2273810253 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1542735296 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02592921246 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002910614929 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004841600543 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002299554324 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001168777853 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000558086442 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001237810486 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002538975668 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.635642052e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06144352115 3.483536007e-05 0.001499913144 0 0 -3.483536007e-05 -0.2747433262 -0.001297175837 0 0 -0.001499913144 -0.001297175837 -0.2712959638 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0741128951 0.0095694371 -0.001242419731 0 0 -0.0095694371 -0.2149083601 0.0009004782281 0 0 --0.001242419731 0.0009004782281 -0.2245459173 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1172698952 0.003673618118 -0.0001256196864 0 0 -0.003673618118 -0.04057270082 0.0004234349108 0 0 --0.0001256196864 0.0004234349108 -0.04302127304 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02894551763 -0.00139902668 -9.024935398e-05 0 0 --0.00139902668 0.001172942867 -6.457436032e-05 0 0 --9.024935398e-05 -6.457436032e-05 0.00167861702 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02773878857 -0.0004664356331 -0.000123064249 0 0 --0.0004664356331 -0.001296948938 -4.234311323e-05 0 0 --0.000123064249 -4.234311323e-05 -0.001022250017 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007431592899 -0.000207721865 -1.321259159e-05 0 0 --0.000207721865 0.0006700790862 1.522324117e-05 0 0 --1.321259159e-05 1.522324117e-05 0.0006089426593 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005798537932 0.0001520085605 -2.086431833e-06 0 0 -0.0001520085605 0.0001282597344 1.996284873e-06 0 0 --2.086431833e-06 1.996284873e-06 0.0001059179652 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.984396769e-05 9.587353886e-06 2.71492729e-06 0 0 -9.587353886e-06 -0.0004253895687 -1.893618542e-06 0 0 -2.71492729e-06 -1.893618542e-06 -0.0004300527749 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002260277101 -9.535353198e-05 4.504422803e-06 0 0 --9.535353198e-05 0.0001790795945 -3.140489697e-06 0 0 -4.504422803e-06 -3.140489697e-06 0.0002121311844 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001199729084 3.7438926e-05 -3.882501249e-06 0 0 -3.7438926e-05 8.246294971e-05 1.79484199e-06 0 0 --3.882501249e-06 1.79484199e-06 7.444450348e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.828711792e-06 1.299684718e-05 -3.272834751e-06 0 0 -1.299684718e-05 -3.648843478e-05 1.937200035e-06 0 0 --3.272834751e-06 1.937200035e-06 -5.224177104e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001588126383 -3.955324674e-06 -3.239006477e-07 0 0 --3.955324674e-06 2.748983252e-05 -1.276909416e-07 0 0 --3.239006477e-07 -1.276909416e-07 2.615117428e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002539755776 1.746743316e-07 1.308391227e-06 0 0 -1.746743316e-07 1.271601299e-05 -7.484719297e-07 0 0 -1.308391227e-06 -7.484719297e-07 1.980096659e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.3218094719 0.004708819061 -0.0003140026535 0.001848938311 0.000155048939 -0.004708819061 0.2143916382 6.258382819e-05 -0.01165825659 0.0002187842107 --0.0003140026535 6.258382819e-05 0.2121677586 -0.0002746220744 0.00999687541 -0.001848938311 -0.01165825659 -0.0002746220744 -0.01602654361 2.524711916e-05 -0.000155048939 0.0002187842107 0.00999687541 2.524711916e-05 -0.009567639018 --0.08559554644 0.004064541828 -4.157004095e-05 0.002915782513 -6.143142884e-05 -0.004064541828 -0.135251452 -0.0001149658628 -0.04418159339 -0.0004419320294 --4.157004095e-05 -0.0001149658628 -0.1432421424 0.0005210097993 0.03559230899 -0.002915782513 -0.04418159339 0.0005210097993 -0.009148591088 -0.000242394368 --6.143142884e-05 -0.0004419320294 0.03559230899 -0.000242394368 -0.005273183613 -0.01446007574 0.005509691131 -0.0001800955636 0.0006507237956 0.000163104266 -0.005509691131 -0.06985683343 0.000836984291 -0.004399096768 -0.0004098700901 --0.0001800955636 0.000836984291 -0.07629252479 0.0004807344845 0.00206879915 -0.0006507237956 -0.004399096768 0.0004807344845 0.0001993435619 -3.178455918e-05 -0.000163104266 -0.0004098700901 0.00206879915 -3.178455918e-05 0.0003235345033 -0.05933073532 0.001353324017 0.0004858993067 -0.0002916314453 -3.061475975e-05 -0.001353324017 -0.009368294761 1.655628955e-05 0.002412865873 -4.41066802e-05 -0.0004858993067 1.655628955e-05 -0.008762010109 3.719619513e-05 -0.002726170796 --0.0002916314453 0.002412865873 3.719619513e-05 -0.0004252091181 3.325772822e-05 --3.061475975e-05 -4.41066802e-05 -0.002726170796 3.325772822e-05 -0.0005824859065 --0.00638969893 -4.642280688e-05 -6.851791123e-05 0.0001374041372 2.926834472e-05 --4.642280688e-05 -0.005369871037 -0.0001057891438 -0.0002262905063 1.317003544e-06 --6.851791123e-05 -0.0001057891438 -0.004585801942 -5.904737546e-06 -0.0001504415236 -0.0001374041372 -0.0002262905063 -5.904737546e-06 0.0001094102133 -4.792024329e-06 -2.926834472e-05 1.317003544e-06 -0.0001504415236 -4.792024329e-06 0.0001035492367 --0.0148594316 -0.0005551878904 -0.0001195898871 -1.161955454e-05 2.52856195e-06 --0.0005551878904 0.001665006959 3.468701377e-05 0.0001203461872 -2.965569736e-06 --0.0001195898871 3.468701377e-05 0.001393545206 5.154270397e-06 2.618586165e-06 --1.161955454e-05 0.0001203461872 5.154270397e-06 4.51503775e-06 -8.472210747e-08 -2.52856195e-06 -2.965569736e-06 2.618586165e-06 -8.472210747e-08 -6.541957814e-06 -0.0005732570765 -1.638747963e-05 1.53629682e-05 -9.10941317e-06 -2.210710412e-06 --1.638747963e-05 8.373635118e-06 2.238956442e-06 -7.446877269e-06 -1.309747448e-06 -1.53629682e-05 2.238956442e-06 1.661936521e-07 1.392218192e-06 1.751236507e-05 --9.10941317e-06 -7.446877269e-06 1.392218192e-06 -1.57037948e-05 -6.712179092e-07 --2.210710412e-06 -1.309747448e-06 1.751236507e-05 -6.712179092e-07 -1.995951264e-05 -0.0009374068459 5.536850283e-05 1.035151595e-05 7.493170513e-06 -8.362883697e-07 -5.536850283e-05 -0.0006255361222 -1.388446525e-05 -0.000125802084 2.491609931e-06 -1.035151595e-05 -1.388446525e-05 -0.0005702259905 -3.34584556e-06 7.364864193e-05 -7.493170513e-06 -0.000125802084 -3.34584556e-06 -2.503278643e-05 6.299343198e-07 --8.362883697e-07 2.491609931e-06 7.364864193e-05 6.299343198e-07 -8.492357551e-06 -5.557318014e-06 -3.070246826e-05 -3.670653029e-06 -9.763574062e-06 -5.439490283e-07 --3.070246826e-05 0.0004265489987 5.974456829e-06 8.54376796e-05 -7.48772822e-07 --3.670653029e-06 5.974456829e-06 0.0004094064964 9.163340444e-07 -6.290173774e-05 --9.763574062e-06 8.54376796e-05 9.163340444e-07 1.324997973e-05 8.62176835e-08 --5.439490283e-07 -7.48772822e-07 -6.290173774e-05 8.62176835e-08 7.590444991e-06 --5.3259708e-05 1.472308553e-05 -5.132991644e-06 6.632863531e-06 1.905667371e-06 -1.472308553e-05 2.207384245e-05 2.983372855e-06 1.307446665e-05 -9.326252972e-07 --5.132991644e-06 2.983372855e-06 5.13766218e-06 1.226505207e-06 -6.737833e-06 -6.632863531e-06 1.307446665e-05 1.226505207e-06 5.718598952e-06 -3.658789268e-07 -1.905667371e-06 -9.326252972e-07 -6.737833e-06 -3.658789268e-07 2.729908253e-06 --0.0002540939215 -5.141230764e-06 -1.796328134e-06 1.360922081e-06 -5.878550942e-08 --5.141230764e-06 3.951629638e-06 4.278366945e-07 -6.424777029e-06 -1.41884126e-07 --1.796328134e-06 4.278366945e-07 -6.014711056e-06 1.906181592e-07 7.948105236e-06 -1.360922081e-06 -6.424777029e-06 1.906181592e-07 -3.211420178e-06 -6.078745031e-08 --5.878550942e-08 -1.41884126e-07 7.948105236e-06 -6.078745031e-08 -2.66035213e-06 -0.0002154707216 1.779580242e-06 2.114163852e-06 -9.273955232e-07 -3.275088175e-07 -1.779580242e-06 5.527230411e-05 -1.183947109e-06 3.566124501e-06 4.721064177e-07 -2.114163852e-06 -1.183947109e-06 6.058129732e-05 -5.848863356e-07 -3.434734144e-06 --9.273955232e-07 3.566124501e-06 -5.848863356e-07 -2.507599843e-06 1.857031401e-07 --3.275088175e-07 4.721064177e-07 -3.434734144e-06 1.857031401e-07 -1.620961528e-06 -5.277323272e-05 3.589414306e-06 -9.202412543e-07 7.442935516e-07 3.936447096e-07 -3.589414306e-06 3.048343721e-05 9.23911862e-07 7.567255952e-06 -2.403279005e-07 --9.202412543e-07 9.23911862e-07 2.747430426e-05 3.009021384e-07 -5.822568706e-06 -7.442935516e-07 7.567255952e-06 3.009021384e-07 1.865413839e-06 -7.653048726e-08 -3.936447096e-07 -2.403279005e-07 -5.822568706e-06 -7.653048726e-08 1.233305504e-06 --0.019911321 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02951191469 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007763900414 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00275171759 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001174283981 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001658310495 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.548511093e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.531313569e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.822517083e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.264856975e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.819485643e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.310896504e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.660862522e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05345737532 -0.04310132889 -1.513176395e-05 0 0 --0.04310132889 -0.02235975615 -0.0001853596666 0 0 --1.513176395e-05 -0.0001853596666 -6.791189344e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04123685881 -0.0181446176 -0.0002056714546 0 0 --0.0181446176 0.004016830957 -0.0001557540128 0 0 --0.0002056714546 -0.0001557540128 -6.70949909e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.9465188e-05 0.001495398836 -8.051252926e-07 0 0 -0.001495398836 0.0007701612161 6.070998018e-07 0 0 --8.051252926e-07 6.070998018e-07 -8.408684084e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002649957868 -0.002663067859 -1.231924952e-05 0 0 --0.002663067859 -0.002660168824 -1.287097625e-05 0 0 --1.231924952e-05 -1.287097625e-05 -4.228541955e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003314748892 0.0002349728685 6.809001468e-07 0 0 -0.0002349728685 0.0001290270774 3.406387056e-07 0 0 -6.809001468e-07 3.406387056e-07 8.612769133e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003450786076 -0.0001143270281 -8.446792087e-07 0 0 --0.0001143270281 -0.0003677643812 -1.226704084e-06 0 0 --8.446792087e-07 -1.226704084e-06 -3.527736147e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.136993684e-05 -2.687531558e-06 -2.977964837e-08 0 0 --2.687531558e-06 -7.347834148e-06 1.052768081e-08 0 0 --2.977964837e-08 1.052768081e-08 7.647304526e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.009508627e-05 -5.482814857e-05 -1.695399741e-07 0 0 --5.482814857e-05 -4.903817648e-05 -1.880822883e-07 0 0 --1.695399741e-07 -1.880822883e-07 -5.732042005e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.914481749e-05 6.721842208e-06 1.77618371e-07 0 0 -6.721842208e-06 -2.405998867e-06 4.524754757e-08 0 0 -1.77618371e-07 4.524754757e-08 2.003648963e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.62020234e-05 3.816758486e-05 5.592042671e-08 0 0 -3.816758486e-05 1.562032743e-05 1.913883407e-08 0 0 -5.592042671e-08 1.913883407e-08 1.157482823e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.486625735e-05 6.863763769e-06 -1.835418942e-08 0 0 -6.863763769e-06 1.873831433e-06 -4.163673026e-09 0 0 --1.835418942e-08 -4.163673026e-09 -2.570510642e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.40415973e-05 -7.501660205e-07 2.507511887e-09 0 0 --7.501660205e-07 -4.285031906e-07 -1.862108955e-09 0 0 -2.507511887e-09 -1.862108955e-09 -5.925697672e-12 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.454755578e-05 6.316436823e-06 3.531193121e-08 0 0 -6.316436823e-06 1.604925582e-06 8.40767382e-09 0 0 -3.531193121e-08 8.40767382e-09 2.820592605e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06547837426 0.07516363454 0.0001273793174 -0.003059878246 0.0001633104363 -0.07516363454 0.02732024139 5.127550738e-05 -0.02191884827 -5.68851325e-05 -0.0001273793174 5.127550738e-05 9.490922594e-08 -3.559231059e-05 -7.57806371e-08 --0.003059878246 -0.02191884827 -3.559231059e-05 -0.005603059063 -8.391274353e-05 -0.0001633104363 -5.68851325e-05 -7.57806371e-08 -8.391274353e-05 -6.053462419e-07 --0.004212977571 -0.02025768082 -3.899756749e-05 -0.008963941692 -7.189690748e-05 --0.02025768082 -0.06536322159 -0.0001107004319 -0.01805476794 -0.000335244454 --3.899756749e-05 -0.0001107004319 -1.768401296e-07 -2.293124405e-05 -6.404303039e-07 --0.008963941692 -0.01805476794 -2.293124405e-05 0.000506098741 -0.0001447950597 --7.189690748e-05 -0.000335244454 -6.404303039e-07 -0.0001447950597 -1.223544996e-06 --0.002717550099 -0.003996245582 -6.387421373e-06 0.0004673564432 -1.812910611e-05 --0.003996245582 -0.005600566621 -8.178695495e-06 0.001404093667 -3.005552931e-05 --6.387421373e-06 -8.178695495e-06 -9.672295399e-09 4.251583687e-06 -5.754950144e-08 -0.0004673564432 0.001404093667 4.251583687e-06 0.001781103685 -5.701233252e-06 --1.812910611e-05 -3.005552931e-05 -5.754950144e-08 -5.701233252e-06 -7.916004936e-08 -4.393878087e-06 0.0001134572514 2.55720344e-07 6.269292498e-05 1.71862794e-07 -0.0001134572514 -0.002200698243 -3.548456163e-06 -0.00182488718 -1.311906922e-05 -2.55720344e-07 -3.548456163e-06 -5.204504524e-09 -3.165515652e-06 -2.473797834e-08 -6.269292498e-05 -0.00182488718 -3.165515652e-06 -0.001417063055 -9.33276536e-06 -1.71862794e-07 -1.311906922e-05 -2.473797834e-08 -9.33276536e-06 -5.33599643e-08 -0.0002545309046 0.0001985506157 8.806395059e-07 -5.542869002e-06 -1.007183847e-06 -0.0001985506157 -8.211160351e-06 7.165398326e-07 -0.0001156460922 -2.04020911e-06 -8.806395059e-07 7.165398326e-07 3.04151692e-09 1.015486427e-09 -3.257144158e-09 --5.542869002e-06 -0.0001156460922 1.015486427e-09 -7.586424655e-05 -8.34374932e-07 --1.007183847e-06 -2.04020911e-06 -3.257144158e-09 -8.34374932e-07 -5.664670615e-09 -0.0001480347259 0.0002374832443 4.959542865e-07 9.186045933e-06 -7.254624565e-07 -0.0002374832443 0.0003110560706 6.475530856e-07 -7.774738482e-05 -2.076799758e-06 -4.959542865e-07 6.475530856e-07 1.347995314e-09 -1.650757368e-07 -4.363890884e-09 -9.186045933e-06 -7.774738482e-05 -1.650757368e-07 -0.0001217525348 -1.252561405e-06 --7.254624565e-07 -2.076799758e-06 -4.363890884e-09 -1.252561405e-06 -8.365417085e-09 -2.658497832e-06 -7.780728752e-06 2.109871958e-09 -8.282867746e-06 3.498756272e-08 --7.780728752e-06 -0.0001300547028 -1.869626713e-07 -8.805107141e-05 -4.471357886e-08 -2.109871958e-09 -1.869626713e-07 -2.121895475e-10 -1.394111993e-07 9.60072099e-11 --8.282867746e-06 -8.805107141e-05 -1.394111993e-07 -5.670335803e-05 -6.662197966e-08 -3.498756272e-08 -4.471357886e-08 9.60072099e-11 -6.662197966e-08 4.386850546e-10 -6.868096052e-06 -1.320000663e-05 -2.610838852e-08 -1.282507697e-05 7.343346894e-10 --1.320000663e-05 -5.240648199e-05 -1.182278901e-07 -1.974214909e-05 -3.710949805e-07 --2.610838852e-08 -1.182278901e-07 -2.653977709e-10 -4.73656039e-08 -8.032583287e-10 --1.282507697e-05 -1.974214909e-05 -4.73656039e-08 -1.387646509e-06 -2.123701833e-07 -7.343346894e-10 -3.710949805e-07 -8.032583287e-10 -2.123701833e-07 -1.75709622e-09 -5.061766529e-05 7.055758759e-05 1.487618226e-07 5.119653582e-06 1.135480173e-07 -7.055758759e-05 9.830708201e-05 2.072449703e-07 7.572243936e-06 1.573485051e-07 -1.487618226e-07 2.072449703e-07 4.368893154e-10 1.618761992e-08 3.3127492e-10 -5.119653582e-06 7.572243936e-06 1.618761992e-08 -3.665096173e-06 2.040844269e-08 -1.135480173e-07 1.573485051e-07 3.3127492e-10 2.040844269e-08 2.356785519e-10 -1.613616751e-05 3.668964444e-05 6.520624524e-08 1.208672233e-05 -1.08175339e-07 -3.668964444e-05 7.45343341e-05 1.383334543e-07 2.442576816e-05 -1.408691859e-07 -6.520624524e-08 1.383334543e-07 2.524066523e-10 4.542819826e-08 -3.197389784e-10 -1.208672233e-05 2.442576816e-05 4.542819826e-08 8.002539323e-06 -4.489117927e-08 --1.08175339e-07 -1.408691859e-07 -3.197389784e-10 -4.489117927e-08 -5.173634034e-10 -6.646282995e-06 5.585167526e-06 1.11446069e-08 -1.333472192e-06 -2.144485961e-08 -5.585167526e-06 -1.238365466e-06 -2.537725781e-09 -3.210404702e-06 -1.181094703e-08 -1.11446069e-08 -2.537725781e-09 -5.197603024e-12 -6.429519334e-09 -2.349765817e-11 --1.333472192e-06 -3.210404702e-06 -6.429519334e-09 -4.687221816e-07 6.490447271e-09 --2.144485961e-08 -1.181094703e-08 -2.349765817e-11 6.490447271e-09 6.269239189e-11 -6.820059013e-06 5.506016914e-06 1.010476937e-08 -1.611901581e-06 -1.200815032e-09 -5.506016914e-06 -3.088802896e-06 -6.12623709e-09 -4.058296665e-06 -1.837694072e-08 -1.010476937e-08 -6.12623709e-09 -1.211059332e-11 -7.615331245e-09 -3.478307545e-11 --1.611901581e-06 -4.058296665e-06 -7.615331245e-09 -6.279112756e-07 -6.086261264e-09 --1.200815032e-09 -1.837694072e-08 -3.478307545e-11 -6.086261264e-09 -4.000922443e-11 -1.048963549e-05 1.726603058e-05 3.293515925e-08 3.351927349e-06 4.498911603e-09 -1.726603058e-05 2.572978073e-05 5.022796607e-08 5.135612038e-06 1.064586691e-08 -3.293515925e-08 5.022796607e-08 9.751049524e-11 9.959132276e-09 1.892413999e-11 -3.351927349e-06 5.135612038e-06 9.959132276e-09 1.016943475e-06 1.897386173e-09 -4.498911603e-09 1.064586691e-08 1.892413999e-11 1.897386173e-09 -1.974033325e-12 --0.02147642624 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03140938598 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006543840933 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003935851098 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.921427377e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.360533807e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.693692933e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001002661004 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.595418016e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.251421706e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.444416648e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.39084473e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.607082845e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05463806031 0.02045029259 0.03759162641 0 0 -0.02045029259 -0.004068021198 -0.007810369806 0 0 -0.03759162641 -0.007810369806 -0.01497771539 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05118856648 0.01039275849 0.01931833321 0 0 -0.01039275849 0.0006773522533 0.001233325724 0 0 -0.01931833321 0.001233325724 0.002244903186 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007812425604 -0.001092376212 -0.0019297902 0 0 --0.001092376212 0.0004925231909 0.0008930856626 0 0 --0.0019297902 0.0008930856626 0.001618608379 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002866816845 0.001447965315 0.00262345407 0 0 -0.001447965315 -0.0007300439529 -0.001323947259 0 0 -0.00262345407 -0.001323947259 -0.002399811437 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000352188657 -8.988347018e-05 -0.0001673496391 0 0 --8.988347018e-05 2.274860468e-05 4.23393659e-05 0 0 --0.0001673496391 4.23393659e-05 7.880018817e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003454683285 7.332881404e-05 0.0001131839437 0 0 -7.332881404e-05 -8.929010612e-05 -0.0001578259099 0 0 -0.0001131839437 -0.0001578259099 -0.0002783019301 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.993307502e-05 3.193167059e-05 5.959248197e-05 0 0 -3.193167059e-05 -1.428407059e-05 -2.668699588e-05 0 0 -5.959248197e-05 -2.668699588e-05 -4.985646935e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.79548632e-05 2.116536881e-05 3.925293918e-05 0 0 -2.116536881e-05 -5.980668417e-06 -1.109790282e-05 0 0 -3.925293918e-05 -1.109790282e-05 -2.059357409e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001069625598 -7.427856956e-06 -1.50198556e-05 0 0 --7.427856956e-06 -1.930404671e-06 -3.303029182e-06 0 0 --1.50198556e-05 -3.303029182e-06 -5.612284519e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.271947324e-05 -1.76099486e-05 -3.352760832e-05 0 0 --1.76099486e-05 3.614417039e-06 6.923741469e-06 0 0 --3.352760832e-05 6.923741469e-06 1.324928881e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.688704463e-06 1.472380213e-06 2.58429825e-06 0 0 -1.472380213e-06 -2.228593223e-07 -4.782233302e-07 0 0 -2.58429825e-06 -4.782233302e-07 -1.007199294e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.276705818e-05 7.838488257e-07 1.286024458e-06 0 0 -7.838488257e-07 -9.127133654e-08 -1.969333171e-07 0 0 -1.286024458e-06 -1.969333171e-07 -4.164939652e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.307252499e-05 -4.966391016e-06 -9.427992222e-06 0 0 --4.966391016e-06 7.223985055e-07 1.378285295e-06 0 0 --9.427992222e-06 1.378285295e-06 2.627561001e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0728378823 -0.03488362491 -0.06377704356 0.002228159602 -0.004002683546 --0.03488362491 0.005286364781 0.009726218419 -0.00492744231 0.007547996516 --0.06377704356 0.009726218419 0.01789392869 -0.008988037376 0.01376964628 -0.002228159602 -0.00492744231 -0.008988037376 -0.001236737604 0.00178099842 --0.004002683546 0.007547996516 0.01376964628 0.00178099842 -0.002556573958 --0.006797018279 0.01189367752 0.02194234236 0.005342152546 -0.008134741455 -0.01189367752 -0.01567206906 -0.02877348645 -0.004593004351 0.007005534911 -0.02194234236 -0.02877348645 -0.0528222985 -0.008344453674 0.01272811632 -0.005342152546 -0.004593004351 -0.008344453674 0.0002000058354 -0.0002938678755 --0.008134741455 0.007005534911 0.01272811632 -0.0002938678755 0.0004312336373 --0.00418808888 0.00288958278 0.005295179232 -0.0001840817471 0.0003917747888 -0.00288958278 -0.001938444208 -0.003543936604 0.0003092452309 -0.0005604098508 -0.005295179232 -0.003543936604 -0.006477883048 0.0005939977653 -0.001070419703 --0.0001840817471 0.0003092452309 0.0005939977653 0.0005932120578 -0.0009399940485 -0.0003917747888 -0.0005604098508 -0.001070419703 -0.0009399940485 0.00148713962 --9.589295593e-06 -9.085312564e-05 -0.0001681431669 -7.123120076e-05 0.0001107734885 --9.085312564e-05 -0.0003698568377 -0.0006808808664 -0.0003799348555 0.0006178887034 --0.0001681431669 -0.0006808808664 -0.001253392529 -0.0007009769258 0.001140354016 --7.123120076e-05 -0.0003799348555 -0.0007009769258 -0.0003519238838 0.0005635324806 -0.0001107734885 0.0006178887034 0.001140354016 0.0005635324806 -0.0009001397712 -0.0004175317212 -0.0001122478106 -0.0002151571467 5.029113363e-05 -9.761382008e-05 --0.0001122478106 -5.60394153e-05 -9.878268082e-05 -8.922130325e-05 0.0001510086199 --0.0002151571467 -9.878268082e-05 -0.0001736621723 -0.0001634388457 0.00027695951 -5.029113363e-05 -8.922130325e-05 -0.0001634388457 -6.041148669e-05 9.779297575e-05 --9.761382008e-05 0.0001510086199 0.00027695951 9.779297575e-05 -0.0001577339105 -0.0001075969235 -8.228254404e-05 -0.0001512008224 -7.692682159e-06 3.731161372e-06 --8.228254404e-05 5.785431963e-05 0.000105938119 -3.130494076e-06 1.259130651e-05 --0.0001512008224 0.000105938119 0.000193955269 -6.417244091e-06 2.427654427e-05 --7.692682159e-06 -3.130494076e-06 -6.417244091e-06 -1.547500395e-05 2.719263749e-05 -3.731161372e-06 1.259130651e-05 2.427654427e-05 2.719263749e-05 -4.692326786e-05 -7.857382205e-06 8.060249193e-06 1.438415861e-05 1.150864096e-05 -1.860883701e-05 -8.060249193e-06 -3.918175373e-05 -7.183876189e-05 -3.131692821e-05 4.922148391e-05 -1.438415861e-05 -7.183876189e-05 -0.0001316982437 -5.762863415e-05 9.059770933e-05 -1.150864096e-05 -3.131692821e-05 -5.762863415e-05 -2.233335165e-05 3.482469806e-05 --1.860883701e-05 4.922148391e-05 9.059770933e-05 3.482469806e-05 -5.427071846e-05 -2.013222546e-05 1.796233756e-06 3.310173082e-06 8.232031879e-06 -1.252951375e-05 -1.796233756e-06 -5.197183311e-06 -9.64698669e-06 -1.670331577e-06 2.538811561e-06 -3.310173082e-06 -9.64698669e-06 -1.790666261e-05 -3.109309173e-06 4.725997847e-06 -8.232031879e-06 -1.670331577e-06 -3.109309173e-06 2.286612006e-06 -3.481897734e-06 --1.252951375e-05 2.538811561e-06 4.725997847e-06 -3.481897734e-06 5.301994426e-06 -5.565968035e-05 -3.781135262e-05 -6.958197598e-05 -5.84009842e-06 7.752956565e-06 --3.781135262e-05 2.558622454e-05 4.71053263e-05 4.236305069e-06 -5.724094877e-06 --6.958197598e-05 4.71053263e-05 8.671868654e-05 7.740733389e-06 -1.044005073e-05 --5.84009842e-06 4.236305069e-06 7.740733389e-06 -1.090678869e-07 4.138230319e-07 -7.752956565e-06 -5.724094877e-06 -1.044005073e-05 4.138230319e-07 -1.006783731e-06 -1.313425609e-05 -1.260717889e-05 -2.310185686e-05 -5.047011942e-06 7.124877794e-06 --1.260717889e-05 1.046618863e-05 1.923896587e-05 3.981984729e-06 -5.722212992e-06 --2.310185686e-05 1.923896587e-05 3.536252553e-05 7.328562936e-06 -1.05268036e-05 --5.047011942e-06 3.981984729e-06 7.328562936e-06 1.484420363e-06 -2.148750339e-06 -7.124877794e-06 -5.722212992e-06 -1.05268036e-05 -2.148750339e-06 3.102266508e-06 -5.644619144e-06 -4.499873862e-07 -8.019948866e-07 1.640816895e-06 -2.652608789e-06 --4.499873862e-07 -1.755244016e-06 -3.238435305e-06 -9.756715349e-07 1.409023091e-06 --8.019948866e-07 -3.238435305e-06 -5.974793366e-06 -1.790850498e-06 2.584882405e-06 -1.640816895e-06 -9.756715349e-07 -1.790850498e-06 7.844242074e-08 -2.061930925e-07 --2.652608789e-06 1.409023091e-06 2.584882405e-06 -2.061930925e-07 4.458572406e-07 -8.127254038e-06 -3.520865986e-06 -6.44285082e-06 3.489271738e-07 -6.280595542e-07 --3.520865986e-06 1.220961571e-07 2.248578091e-07 -7.139454142e-07 1.087999684e-06 --6.44285082e-06 2.248578091e-07 4.140900257e-07 -1.30587749e-06 1.990102746e-06 -3.489271738e-07 -7.139454142e-07 -1.30587749e-06 -2.10735916e-07 3.002747606e-07 --6.280595542e-07 1.087999684e-06 1.990102746e-06 3.002747606e-07 -4.258897255e-07 -1.114918329e-05 -7.625252639e-06 -1.401363056e-05 -1.591220016e-06 2.212656177e-06 --7.625252639e-06 4.800720321e-06 8.83971633e-06 1.035054229e-06 -1.472494144e-06 --1.401363056e-05 8.83971633e-06 1.627608925e-05 1.904396841e-06 -2.707811306e-06 --1.591220016e-06 1.035054229e-06 1.904396841e-06 2.20263518e-07 -3.105508024e-07 -2.212656177e-06 -1.472494144e-06 -2.707811306e-06 -3.105508024e-07 4.351035406e-07 --0.02192362073 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03186697029 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005753164083 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004513628887 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.579485565e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.073484919e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.518963439e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001024794048 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.100720971e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.623515731e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.447588493e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.758482705e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.415103576e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05763242285 0.0201026517 -0.03703777816 0 0 -0.0201026517 -0.003879072886 0.007639909523 0 0 --0.03703777816 0.007639909523 -0.01500661373 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05501356823 0.01122425533 -0.02143485517 0 0 -0.01122425533 0.0006105634019 -0.0009351228875 0 0 --0.02143485517 -0.0009351228875 0.001363290829 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001427671389 -0.001207717179 0.002115079332 0 0 --0.001207717179 0.0006303893745 -0.001145023244 0 0 -0.002115079332 -0.001145023244 0.002078140435 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002773957974 0.001474619296 -0.002697560482 0 0 -0.001474619296 -0.0007777459114 0.001425170527 0 0 --0.002697560482 0.001425170527 -0.002610576782 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003178904608 -4.629716215e-05 9.176189045e-05 0 0 --4.629716215e-05 3.563466649e-06 -7.956799172e-06 0 0 -9.176189045e-05 -7.956799172e-06 1.729097479e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000349614871 6.262446367e-05 -9.596257278e-05 0 0 -6.262446367e-05 -8.144515918e-05 0.0001450557816 0 0 --9.596257278e-05 0.0001450557816 -0.0002577381197 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000102553712 4.788713614e-05 -8.909492114e-05 0 0 -4.788713614e-05 -2.2360228e-05 4.160086435e-05 0 0 --8.909492114e-05 4.160086435e-05 -7.73966609e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.011642865e-05 1.709456571e-05 -3.220057183e-05 0 0 -1.709456571e-05 -2.902963366e-06 5.629999738e-06 0 0 --3.220057183e-05 5.629999738e-06 -1.090382026e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001230267684 -1.025857267e-05 2.113158401e-05 0 0 --1.025857267e-05 -2.027661952e-06 3.320147171e-06 0 0 -2.113158401e-05 3.320147171e-06 -5.329121472e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.618573402e-05 -1.669947592e-05 3.184688372e-05 0 0 --1.669947592e-05 3.60689694e-06 -6.89817087e-06 0 0 -3.184688372e-05 -6.89817087e-06 1.318542722e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.340787012e-06 2.786845039e-06 -5.180399015e-06 0 0 -2.786845039e-06 -1.95379381e-07 4.661655005e-07 0 0 --5.180399015e-06 4.661655005e-07 -1.05974092e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.359383438e-05 5.665602397e-07 -8.804264869e-07 0 0 -5.665602397e-07 -1.063585072e-07 2.234043397e-07 0 0 --8.804264869e-07 2.234043397e-07 -4.634862212e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.561964225e-05 -5.595989139e-06 1.074920711e-05 0 0 --5.595989139e-06 8.343204175e-07 -1.615605646e-06 0 0 -1.074920711e-05 -1.615605646e-06 3.124553013e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.07364860861 -0.0348293754 0.06405806406 0.001777409301 0.003549610026 --0.0348293754 0.005429597497 -0.0100553906 -0.004659256676 -0.007070951712 -0.06405806406 -0.0100553906 0.01862084939 0.008545323433 0.01297102899 -0.001777409301 -0.004659256676 0.008545323433 -0.001277779496 -0.001779230024 -0.003549610026 -0.007070951712 0.01297102899 -0.001779230024 -0.002462297035 --0.006651208145 0.01191564866 -0.0221360776 0.005553008038 0.008264016381 -0.01191564866 -0.0157541172 0.02910479277 -0.004881376337 -0.007130380691 --0.0221360776 0.02910479277 -0.05376300186 0.008921404438 0.01302385429 -0.005553008038 -0.004881376337 0.008921404438 -4.576964796e-05 5.338362768e-05 -0.008264016381 -0.007130380691 0.01302385429 5.338362768e-05 0.0002634759983 --0.004738733882 0.00334362241 -0.006163262128 -8.076879672e-05 -0.0002978173075 -0.00334362241 -0.002311193931 0.004250865788 0.0002287824455 0.0004858458063 --0.006163262128 0.004250865788 -0.007816558845 -0.0004550807106 -0.0009491070035 --8.076879672e-05 0.0002287824455 -0.0004550807106 0.0006128798834 0.0009807369213 --0.0002978173075 0.0004858458063 -0.0009491070035 0.0009807369213 0.001563402592 --4.617454645e-05 -0.0001291218642 0.0002401866008 -0.0001268243402 -0.0001990141383 --0.0001291218642 -0.0002849352197 0.0005282350732 -0.000336369932 -0.0005401172181 -0.0002401866008 0.0005282350732 -0.0009792300332 0.0006252706282 0.001004316116 --0.0001268243402 -0.000336369932 0.0006252706282 -0.000343950663 -0.0005426798177 --0.0001990141383 -0.0005401172181 0.001004316116 -0.0005426798177 -0.0008542250444 -0.0005084695919 -0.0001327889473 0.0002575350246 7.898262879e-05 0.0001448450906 --0.0001327889473 -7.514791301e-05 0.0001334130437 -0.000125178743 -0.0002070065065 -0.0002575350246 0.0001334130437 -0.0002362145045 0.0002310365757 0.0003824795943 -7.898262879e-05 -0.000125178743 0.0002310365757 -8.726249745e-05 -0.0001385557119 -0.0001448450906 -0.0002070065065 0.0003824795943 -0.0001385557119 -0.0002193478983 -7.463553011e-05 -6.306472548e-05 0.0001163104512 -8.70265477e-06 -8.341140089e-06 --6.306472548e-05 5.156141436e-05 -9.483180257e-05 3.278061408e-06 2.105328702e-07 -0.0001163104512 -9.483180257e-05 0.0001743733148 -5.424725847e-06 6.536086835e-07 --8.70265477e-06 3.278061408e-06 -5.424725847e-06 -8.606199032e-06 -1.516882582e-05 --8.341140089e-06 2.105328702e-07 6.536086835e-07 -1.516882582e-05 -2.614886909e-05 -1.055643995e-05 6.798589371e-06 -1.204821587e-05 1.256245081e-05 2.058978264e-05 -6.798589371e-06 -3.839943798e-05 7.082497048e-05 -3.280162812e-05 -5.161482746e-05 --1.204821587e-05 7.082497048e-05 -0.0001306109829 6.078241024e-05 9.567818654e-05 -1.256245081e-05 -3.280162812e-05 6.078241024e-05 -2.41398536e-05 -3.751286835e-05 -2.058978264e-05 -5.161482746e-05 9.567818654e-05 -3.751286835e-05 -5.822755252e-05 -3.207219553e-05 -3.13498378e-06 5.941594345e-06 8.975414736e-06 1.399976386e-05 --3.13498378e-06 -1.977124648e-06 3.707059722e-06 -1.351125476e-06 -1.939984328e-06 -5.941594345e-06 3.707059722e-06 -6.950536001e-06 2.552408367e-06 3.666729997e-06 -8.975414736e-06 -1.351125476e-06 2.552408367e-06 2.413467791e-06 3.799254204e-06 -1.399976386e-05 -1.939984328e-06 3.666729997e-06 3.799254204e-06 5.967959016e-06 -5.074538126e-05 -3.689581728e-05 6.824479418e-05 -7.695700016e-06 -1.059582192e-05 --3.689581728e-05 2.641661569e-05 -4.891376387e-05 5.931779082e-06 8.295178144e-06 -6.824479418e-05 -4.891376387e-05 9.056343611e-05 -1.092910767e-05 -1.526827346e-05 --7.695700016e-06 5.931779082e-06 -1.092910767e-05 8.90710421e-07 1.121211535e-06 --1.059582192e-05 8.295178144e-06 -1.526827346e-05 1.121211535e-06 1.358929971e-06 -1.06679502e-05 -9.602789627e-06 1.770217603e-05 -3.739725032e-06 -5.371539914e-06 --9.602789627e-06 7.366160208e-06 -1.362839249e-05 2.690859105e-06 3.905266729e-06 -1.770217603e-05 -1.362839249e-05 2.521213603e-05 -4.98650605e-06 -7.235014998e-06 --3.739725032e-06 2.690859105e-06 -4.98650605e-06 9.539302002e-07 1.391456536e-06 --5.371539914e-06 3.905266729e-06 -7.235014998e-06 1.391456536e-06 2.027913821e-06 -5.609538596e-06 -1.060671654e-07 1.685797185e-07 1.863358016e-06 2.941082642e-06 --1.060671654e-07 -1.909533787e-06 3.549476501e-06 -9.462767649e-07 -1.339733754e-06 -1.685797185e-07 3.549476501e-06 -6.597686699e-06 1.749205518e-06 2.474974262e-06 -1.863358016e-06 -9.462767649e-07 1.749205518e-06 1.847587357e-07 3.649435051e-07 -2.941082642e-06 -1.339733754e-06 2.474974262e-06 3.649435051e-07 6.79370008e-07 -8.893766826e-06 -4.477786177e-06 8.251923772e-06 -1.758245072e-07 -1.760954481e-07 --4.477786177e-06 9.576252095e-07 -1.774964373e-06 -4.305642715e-07 -6.57141052e-07 -8.251923772e-06 -1.774964373e-06 3.289718908e-06 7.893871133e-07 1.205153248e-06 --1.758245072e-07 -4.305642715e-07 7.893871133e-07 -2.043018533e-07 -2.950441502e-07 --1.760954481e-07 -6.57141052e-07 1.205153248e-06 -2.950441502e-07 -4.254207817e-07 -1.054678403e-05 -6.874255549e-06 1.271931053e-05 -1.351051561e-06 -1.849494454e-06 --6.874255549e-06 4.128704328e-06 -7.654869039e-06 8.42958071e-07 1.181654866e-06 -1.271931053e-05 -7.654869039e-06 1.419184214e-05 -1.561379139e-06 -2.187450927e-06 --1.351051561e-06 8.42958071e-07 -1.561379139e-06 1.690441948e-07 2.34373378e-07 --1.849494454e-06 1.181654866e-06 -2.187450927e-06 2.34373378e-07 3.227163679e-07 -0.01684440642 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02143009615 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004051944228 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.27858707e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.949225118e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001063320467 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.468247593e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.203517399e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.161534518e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.157457724e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.22083747e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.489177435e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.909623477e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.09627551237 -0.1322932451 0.0004560750708 0 0 --0.1322932451 0.04316066906 -7.686126032e-05 0 0 -0.0004560750708 -7.686126032e-05 3.999196094e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03839034612 -0.03935609082 0.0002810245373 0 0 --0.03935609082 0.08082217604 -0.0002256489654 0 0 -0.0002810245373 -0.0002256489654 1.210724118e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004197079831 0.002502390172 3.867196688e-05 0 0 -0.002502390172 0.04415806806 -0.000165827801 0 0 -3.867196688e-05 -0.000165827801 9.019195246e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0026790577 0.004984670368 -2.987448626e-05 0 0 -0.004984670368 0.007708471016 -3.337829065e-05 0 0 --2.987448626e-05 -3.337829065e-05 1.824829765e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006055070976 0.0006288718391 -4.328495933e-06 0 0 -0.0006288718391 -0.001127118356 3.124794595e-06 0 0 --4.328495933e-06 3.124794595e-06 -1.675984883e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.823794139e-05 -0.0001722284356 -2.543893146e-07 0 0 --0.0001722284356 -0.001850733746 2.472932615e-06 0 0 --2.543893146e-07 2.472932615e-06 -1.249803533e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003054079634 -0.0006299760843 8.484084855e-07 0 0 --0.0006299760843 -0.001021507526 1.031929995e-06 0 0 -8.484084855e-07 1.031929995e-06 -5.016308685e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.080138695e-05 5.351754524e-05 -1.281829878e-07 0 0 -5.351754524e-05 0.0001343930086 -2.838497524e-07 0 0 --1.281829878e-07 -2.838497524e-07 1.496871222e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.533959886e-05 2.958921204e-06 2.553662234e-07 0 0 -2.958921204e-06 0.0003106469547 -8.691371454e-07 0 0 -2.553662234e-07 -8.691371454e-07 4.663898154e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.073265998e-05 4.990621835e-05 -3.433805916e-07 0 0 -4.990621835e-05 4.600885203e-05 -1.961485076e-07 0 0 --3.433805916e-07 -1.961485076e-07 1.071799817e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.558426781e-05 -2.490773912e-05 1.124754467e-07 0 0 --2.490773912e-05 -1.883438989e-05 5.151806282e-08 0 0 -1.124754467e-07 5.151806282e-08 -2.761163297e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.249217449e-06 4.39794952e-06 -2.340054024e-08 0 0 -4.39794952e-06 -8.078062386e-06 1.755012991e-08 0 0 --2.340054024e-08 1.755012991e-08 -9.273466749e-12 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.196987708e-05 -2.053797973e-05 2.284659272e-08 0 0 --2.053797973e-05 -1.659017384e-05 1.26574686e-08 0 0 -2.284659272e-08 1.26574686e-08 -5.828682971e-12 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01068120371 0.004202300016 8.773526891e-06 -0.01330852723 2.250113572e-05 -0.004202300016 -0.03596559262 3.277568561e-05 -0.02604471586 4.872517292e-05 -8.773526891e-06 3.277568561e-05 -1.565142436e-08 5.288806694e-06 -1.259824728e-08 --0.01330852723 -0.02604471586 5.288806694e-06 0.00507183111 -5.980528929e-06 -2.250113572e-05 4.872517292e-05 -1.259824728e-08 -5.980528929e-06 5.139890538e-09 -0.01040545309 0.001272120405 4.210155686e-05 -0.01407077324 -1.935672539e-05 -0.001272120405 -0.02398759257 7.664741194e-05 -0.01453501198 -3.672188485e-05 -4.210155686e-05 7.664741194e-05 -4.14020597e-08 -1.898060069e-05 2.342487436e-08 --0.01407077324 -0.01453501198 -1.898060069e-05 0.01222531408 7.939809755e-06 --1.935672539e-05 -3.672188485e-05 2.342487436e-08 7.939809755e-06 -1.287913095e-08 -0.003641472163 -0.0005445097897 3.302621917e-05 -0.005203433173 -2.968515597e-05 --0.0005445097897 -0.004381513376 3.271441984e-05 -0.001299264458 -3.050602786e-05 -3.302621917e-05 3.271441984e-05 -1.813876467e-08 -2.966634262e-05 2.559376352e-08 --0.005203433173 -0.001299264458 -2.966634262e-05 0.006468452448 2.61526424e-05 --2.968515597e-05 -3.050602786e-05 2.559376352e-08 2.61526424e-05 -3.162645174e-08 -0.0002512912741 -0.0001707115054 7.822686911e-06 -0.0003425431207 -9.11694482e-06 --0.0001707115054 0.0001102417594 -6.486485019e-06 0.0002132834999 7.610249154e-06 -7.822686911e-06 -6.486485019e-06 3.65704833e-09 -1.463679879e-05 6.08748374e-09 --0.0003425431207 0.0002132834999 -1.463679879e-05 0.0004011093421 1.722989259e-05 --9.11694482e-06 7.610249154e-06 6.08748374e-09 1.722989259e-05 -1.960313688e-08 -9.234468441e-08 -1.941465486e-07 7.144873126e-08 1.197041872e-06 -9.213003908e-08 --1.941465486e-07 -9.931025805e-05 -2.468115967e-06 -0.0001032340538 3.255877227e-06 -7.144873126e-08 -2.468115967e-06 1.402790931e-09 -1.414948581e-06 -1.038853906e-10 -1.197041872e-06 -0.0001032340538 -1.414948581e-06 -8.620936586e-05 1.898598359e-06 --9.213003908e-08 3.255877227e-06 -1.038853906e-10 1.898598359e-06 -2.118459102e-09 -6.68094648e-05 -2.303758695e-05 2.905989147e-07 -0.0001165535281 -1.21345388e-07 --2.303758695e-05 -0.0001132963918 3.167543055e-07 -3.67586847e-05 -1.668702439e-07 -2.905989147e-07 3.167543055e-07 -1.699677504e-10 -2.423311647e-07 1.899778398e-10 --0.0001165535281 -3.67586847e-05 -2.423311647e-07 0.0001544968729 7.922816443e-08 --1.21345388e-07 -1.668702439e-07 1.899778398e-10 7.922816443e-08 -1.388977853e-10 -3.516627782e-06 -2.947752555e-06 2.944226241e-07 -4.387655545e-06 -3.64828101e-07 --2.947752555e-06 5.654495488e-07 -4.623671591e-07 1.018693947e-06 5.776884224e-07 -2.944226241e-07 -4.623671591e-07 2.612626503e-10 -6.681929524e-07 2.142271086e-10 --4.387655545e-06 1.018693947e-06 -6.681929524e-07 1.763366176e-06 8.346144216e-07 --3.64828101e-07 5.776884224e-07 2.142271086e-10 8.346144216e-07 -9.439315836e-10 -1.29677838e-06 -1.417246146e-06 6.443477568e-08 -1.537850531e-06 -7.822889684e-08 --1.417246146e-06 -9.627429424e-07 -1.588275989e-07 -1.168035738e-06 1.971870937e-07 -6.443477568e-08 -1.588275989e-07 8.983863564e-11 -1.766857817e-07 4.432053714e-11 --1.537850531e-06 -1.168035738e-06 -1.766857817e-07 -1.407356001e-06 2.194532271e-07 --7.822889684e-08 1.971870937e-07 4.432053714e-11 2.194532271e-07 -2.475994473e-10 -3.882385189e-06 -1.365158553e-06 -2.576179359e-08 -7.675364281e-06 4.850755464e-08 --1.365158553e-06 -1.229857941e-05 -3.476817379e-08 -6.703516036e-06 6.839133986e-08 --2.576179359e-08 -3.476817379e-08 2.063134094e-11 1.868295485e-08 -2.881392867e-11 --7.675364281e-06 -6.703516036e-06 1.868295485e-08 8.255769833e-06 -3.302611192e-08 -4.850755464e-08 6.839133986e-08 -2.881392867e-11 -3.302611192e-08 3.4692692e-11 --4.458322137e-07 1.720151263e-06 1.696678005e-08 1.640567163e-06 -2.450824282e-08 -1.720151263e-06 -4.742103249e-06 -1.019777898e-07 -5.473520561e-06 1.426891355e-07 -1.696678005e-08 -1.019777898e-07 5.801162205e-11 -7.893588102e-08 5.164363705e-12 -1.640567163e-06 -5.473520561e-06 -7.893588102e-08 -5.64997363e-06 1.11935499e-07 --2.450824282e-08 1.426891355e-07 5.164363705e-12 1.11935499e-07 -1.247166045e-10 -1.086124404e-06 -3.537069839e-07 2.123075654e-08 -1.584548444e-06 -2.353768966e-08 --3.537069839e-07 -5.724691427e-07 1.00939754e-08 2.713218889e-07 -1.163778639e-08 -2.123075654e-08 1.00939754e-08 -5.658920821e-12 -2.492131937e-08 1.73295691e-11 --1.584548444e-06 2.713218889e-07 -2.492131937e-08 2.224623268e-06 2.747020464e-08 --2.353768966e-08 -1.163778639e-08 1.73295691e-11 2.747020464e-08 -3.176023176e-11 -1.245067075e-06 -5.669812172e-07 1.200381299e-09 -2.384838247e-06 3.392406555e-09 --5.669812172e-07 -2.420867467e-06 1.736206035e-09 -7.966175946e-07 2.518331022e-09 -1.200381299e-09 1.736206035e-09 -7.879161665e-13 -6.95049138e-10 -1.915929252e-13 --2.384838247e-06 -7.966175946e-07 -6.95049138e-10 3.245027226e-06 -3.642642269e-09 -3.392406555e-09 2.518331022e-09 -1.915929252e-13 -3.642642269e-09 3.08084263e-12 -2.070256932e-07 4.955314286e-07 6.730234195e-11 -1.039329213e-08 2.596222236e-10 -4.955314286e-07 -1.540321979e-06 1.683898897e-09 -1.422203119e-06 2.331973212e-09 -6.730234195e-11 1.683898897e-09 -8.286655641e-13 7.770810201e-10 -8.710052094e-13 --1.039329213e-08 -1.422203119e-06 7.770810201e-10 -7.156278598e-07 8.636466484e-10 -2.596222236e-10 2.331973212e-09 -8.710052094e-13 8.636466484e-10 -7.476142178e-13 -0.02845690941 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0295394097 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008869021882 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004447887413 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.461837356e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001527057549 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.454718923e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.940270203e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.373270232e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.97868906e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.722246176e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.687239849e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.942870616e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03119031844 0.00115997146 0.0001377449879 0 0 -0.00115997146 0.1013163815 -3.648212748e-05 0 0 -0.0001377449879 -3.648212748e-05 -5.986173882e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01632206744 0.03745478669 -0.0001836322938 0 0 -0.03745478669 0.05771291146 -0.0001357650662 0 0 --0.0001836322938 -0.0001357650662 -8.232703177e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002214718121 0.001261493289 -1.649020257e-05 0 0 -0.001261493289 0.0007901950971 -3.237225255e-06 0 0 --1.649020257e-05 -3.237225255e-06 -1.705334148e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004132900682 0.00242910059 5.783630471e-06 0 0 -0.00242910059 0.0004146942069 1.616193014e-06 0 0 -5.783630471e-06 1.616193014e-06 4.954978693e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003436780996 -0.0001296244737 -1.056049508e-07 0 0 --0.0001296244737 -0.0001441803391 -2.40470842e-07 0 0 --1.056049508e-07 -2.40470842e-07 -3.744944613e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002145823368 -0.0004143401385 -4.264855666e-07 0 0 --0.0004143401385 -0.0005022755996 -7.202309761e-07 0 0 --4.264855666e-07 -7.202309761e-07 -8.11828058e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.442865257e-05 6.010275074e-06 1.270383433e-08 0 0 -6.010275074e-06 3.738713969e-06 7.734018957e-09 0 0 -1.270383433e-08 7.734018957e-09 1.599578611e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.342637893e-05 1.672244194e-05 -2.099324144e-07 0 0 -1.672244194e-05 8.503258455e-05 -2.044745735e-07 0 0 --2.099324144e-07 -2.044745735e-07 -1.231615158e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.114057707e-05 -4.910941299e-05 -5.726814824e-08 0 0 --4.910941299e-05 -2.44249357e-05 -3.716055758e-08 0 0 --5.726814824e-08 -3.716055758e-08 -4.844032767e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.785938964e-05 -4.911868947e-05 -1.095551648e-07 0 0 --4.911868947e-05 -3.702020522e-05 -8.133275469e-08 0 0 --1.095551648e-07 -8.133275469e-08 -1.783178044e-10 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.38788462e-06 -1.32618671e-05 4.175564915e-08 0 0 --1.32618671e-05 -6.103773601e-06 4.392217316e-09 0 0 -4.175564915e-08 4.392217316e-09 4.526739589e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.036513773e-05 -5.728995918e-06 1.345130387e-08 0 0 --5.728995918e-06 3.283043034e-06 8.725307349e-10 0 0 -1.345130387e-08 8.725307349e-10 -1.077946405e-11 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.319485595e-05 -1.260838811e-05 -1.785734846e-09 0 0 --1.260838811e-05 -5.073060548e-06 -5.005167446e-09 0 0 --1.785734846e-09 -5.005167446e-09 1.31850037e-12 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04954083397 -0.07529524251 0.0001271458403 -0.007140610875 -0.0001079663275 --0.07529524251 -0.02800366417 -2.007172792e-06 0.02102189942 7.264910773e-05 -0.0001271458403 -2.007172792e-06 1.147441137e-07 -5.367680362e-05 -2.57695581e-07 --0.007140610875 0.02102189942 -5.367680362e-05 0.0107252344 7.174221204e-05 --0.0001079663275 7.264910773e-05 -2.57695581e-07 7.174221204e-05 4.131392726e-07 -0.003126754102 0.01715587301 -4.252947634e-06 0.007365299009 4.509386343e-05 -0.01715587301 0.0806098309 -0.000135352268 0.02787680564 0.0002243757732 --4.252947634e-06 -0.000135352268 -9.222417991e-07 -0.0001138675297 -2.52257993e-07 -0.007365299009 0.02787680564 -0.0001138675297 0.005728394216 8.485704688e-05 -4.509386343e-05 0.0002243757732 -2.52257993e-07 8.485704688e-05 6.110627491e-07 -0.0001207856423 0.00399417918 -3.234755693e-05 -5.353801103e-05 1.488540197e-05 -0.00399417918 0.01390644597 -4.37011165e-05 0.002381334682 3.702355953e-05 --3.234755693e-05 -4.37011165e-05 -2.444587483e-07 -2.170707152e-05 -3.43492818e-08 --5.353801103e-05 0.002381334682 -2.170707152e-05 -0.0001221301341 9.394746679e-06 -1.488540197e-05 3.702355953e-05 -3.43492818e-08 9.394746679e-06 8.095823393e-08 -4.126541599e-05 0.001225572926 2.740972133e-06 0.0007726841818 3.193103187e-06 -0.001225572926 -0.001466825232 7.167130992e-06 -0.0001521258999 -3.505828542e-06 -2.740972133e-06 7.167130992e-06 3.651254263e-08 6.033499947e-06 1.929242883e-08 -0.0007726841818 -0.0001521258999 6.033499947e-06 0.0003754605753 -2.03670642e-07 -3.193103187e-06 -3.505828542e-06 1.929242883e-08 -2.03670642e-07 -8.313838192e-09 -0.0008596208928 0.0002574715299 2.397474333e-06 0.0001394226415 1.052182729e-06 -0.0002574715299 -0.001333537598 1.392290382e-07 -0.0003573250636 -7.600073161e-07 -2.397474333e-06 1.392290382e-07 6.449001189e-09 2.250856321e-07 2.493342087e-09 -0.0001394226415 -0.0003573250636 2.250856321e-07 -9.029087811e-05 -1.335146749e-07 -1.052182729e-06 -7.600073161e-07 2.493342087e-09 -1.335146749e-07 4.684327113e-10 --0.0002283013428 -0.0003384551887 -1.225598961e-06 -0.0001131344037 -4.975036096e-07 --0.0003384551887 -0.0003523299408 -1.920864585e-06 -7.989177274e-05 -3.877498182e-07 --1.225598961e-06 -1.920864585e-06 -6.50715549e-09 -6.684264288e-07 -2.914040637e-09 --0.0001131344037 -7.989177274e-05 -6.684264288e-07 -4.440118788e-06 -4.093727749e-08 --4.975036096e-07 -3.877498182e-07 -2.914040637e-09 -4.093727749e-08 -2.652972938e-10 -9.435763027e-06 2.094094076e-05 8.518823589e-09 1.341375178e-05 6.844262173e-08 -2.094094076e-05 -9.513959686e-06 -1.847369062e-07 6.00766037e-06 8.190207626e-08 -8.518823589e-09 -1.847369062e-07 -7.33003943e-10 -7.431638735e-08 -1.927913947e-10 -1.341375178e-05 6.00766037e-06 -7.431638735e-08 8.984273254e-06 6.759154907e-08 -6.844262173e-08 8.190207626e-08 -1.927913947e-10 6.759154907e-08 4.08948571e-10 -5.505974233e-06 -2.471008426e-05 3.180744991e-08 -1.268289062e-05 -6.790126954e-08 --2.471008426e-05 0.0001073786846 -2.169603022e-07 5.038648152e-05 2.89084008e-07 -3.180744991e-08 -2.169603022e-07 -1.38226474e-09 -2.111178369e-07 -7.224561105e-10 --1.268289062e-05 5.038648152e-05 -2.111178369e-07 1.70803511e-05 1.273430806e-07 --6.790126954e-08 2.89084008e-07 -7.224561105e-10 1.273430806e-07 7.677552536e-10 --6.724087492e-05 -7.870902278e-05 -3.705251446e-07 -2.255206577e-05 -4.22224806e-08 --7.870902278e-05 -8.961729125e-05 -4.681851946e-07 -2.570621131e-05 -3.63907696e-08 --3.705251446e-07 -4.681851946e-07 -1.569576882e-09 -1.337539231e-07 -4.112099176e-10 --2.255206577e-05 -2.570621131e-05 -1.337539231e-07 -7.373345163e-06 -1.057531337e-08 --4.22224806e-08 -3.63907696e-08 -4.112099176e-10 -1.057531337e-08 4.100284913e-11 --3.263006352e-06 -1.891872134e-05 -4.158075832e-08 -5.639466701e-06 -5.811498418e-09 --1.891872134e-05 -5.02960927e-05 -1.083969124e-07 -1.551197167e-05 -3.773608307e-08 --4.158075832e-08 -1.083969124e-07 -2.334451196e-10 -3.347195873e-08 -8.308483248e-11 --5.639466701e-06 -1.551197167e-05 -3.347195873e-08 -4.774194402e-06 -1.12133876e-08 --5.811498418e-09 -3.773608307e-08 -8.308483248e-11 -1.12133876e-08 -1.007544019e-11 --3.232119765e-06 -7.207578e-06 2.835258957e-08 -8.339907843e-07 -1.443572987e-08 --7.207578e-06 1.539860611e-06 -1.307833157e-09 4.112035786e-06 1.838897433e-08 -2.835258957e-08 -1.307833157e-09 -1.225793954e-11 -1.456519294e-08 -5.869720366e-11 --8.339907843e-07 4.112035786e-06 -1.456519294e-08 1.809635985e-06 1.342514159e-08 --1.443572987e-08 1.838897433e-08 -5.869720366e-11 1.342514159e-08 8.078329827e-11 --6.208180474e-06 -5.173755448e-06 5.427428437e-09 2.500880054e-07 -2.919527392e-09 --5.173755448e-06 2.890510714e-06 2.094867488e-09 4.091263284e-06 1.812733272e-08 -5.427428437e-09 2.094867488e-09 -3.926186624e-12 -1.527740785e-09 -4.379591798e-12 -2.500880054e-07 4.091263284e-06 -1.527740785e-09 2.083242925e-06 1.120211938e-08 --2.919527392e-09 1.812733272e-08 -4.379591798e-12 1.120211938e-08 5.732160279e-11 --4.883377859e-06 -1.31701097e-05 -1.31944053e-08 -3.399802553e-06 -1.185301802e-08 --1.31701097e-05 -2.367505593e-05 -3.321146522e-08 -5.758103373e-06 -2.140858515e-08 --1.31944053e-08 -3.321146522e-08 -3.517458171e-11 -8.502561828e-09 -2.991038634e-11 --3.399802553e-06 -5.758103373e-06 -8.502561828e-09 -1.384621631e-06 -5.211396799e-09 --1.185301802e-08 -2.140858515e-08 -2.991038634e-11 -5.211396799e-09 -1.935779236e-11 -0.06562108837 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03121760729 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.08669108936 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02578952359 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005498449721 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001424786139 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001273082043 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005108718628 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001965835471 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002134504814 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.032752286e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.679640871e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.916980518e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03475380425 -0.1218931057 0.000250086976 0 0 --0.1218931057 0.08374361038 -0.0001924354425 0 0 -0.000250086976 -0.0001924354425 0.04097806738 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04732031008 -0.02128784512 0.0006522282539 0 0 --0.02128784512 0.005931485594 -9.828189834e-05 0 0 -0.0006522282539 -9.828189834e-05 0.02557123774 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02184094914 -0.03546647694 -1.066916693e-05 0 0 --0.03546647694 0.02260604578 -6.173916827e-06 0 0 --1.066916693e-05 -6.173916827e-06 0.002874036853 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002461260582 0.00127438465 2.539799601e-05 0 0 -0.00127438465 0.02941752434 -2.233091394e-05 0 0 -2.539799601e-05 -2.233091394e-05 -0.001109644459 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001294827601 -0.002554649479 -4.195643568e-07 0 0 --0.002554649479 -0.004535987371 -1.787039538e-06 0 0 --4.195643568e-07 -1.787039538e-06 -8.286978943e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003128368053 -0.0005078813828 -5.922763632e-06 0 0 --0.0005078813828 -0.0004727385825 1.659991836e-06 0 0 --5.922763632e-06 1.659991836e-06 0.0002882175805 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000219417483 8.249713936e-05 -7.741368674e-07 0 0 -8.249713936e-05 0.001988249826 3.343810251e-06 0 0 --7.741368674e-07 3.343810251e-06 -8.499193792e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.839408904e-05 -0.0002873427179 4.506575137e-07 0 0 --0.0002873427179 -0.0005609936605 3.456090487e-07 0 0 -4.506575137e-07 3.456090487e-07 -1.484815471e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.702342664e-05 -1.519598773e-05 1.166160361e-07 0 0 --1.519598773e-05 -8.815252428e-05 -3.105838379e-07 0 0 -1.166160361e-07 -3.105838379e-07 3.247294572e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001056123607 -4.346668736e-05 -5.552900168e-07 0 0 --4.346668736e-05 0.0003061731378 4.362502112e-07 0 0 --5.552900168e-07 4.362502112e-07 -1.914372997e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.348653217e-05 -9.867970566e-05 -8.422449626e-07 0 0 --9.867970566e-05 -0.0001414684672 -1.856637571e-07 0 0 --8.422449626e-07 -1.856637571e-07 -5.691101793e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.399371672e-06 -1.198466421e-05 -3.271849543e-07 0 0 --1.198466421e-05 -9.417182625e-06 3.926326981e-08 0 0 --3.271849543e-07 3.926326981e-08 3.336629792e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.689529401e-05 -2.347346891e-05 -9.205925515e-08 0 0 --2.347346891e-05 4.333118096e-05 -1.82654187e-10 0 0 --9.205925515e-08 -1.82654187e-10 -4.28306664e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2045481913 -0.03636786912 0.000428831175 -0.007385726086 0.0006802119598 --0.03636786912 0.05146520403 0.0005068872597 -0.13423717 -0.0005666394277 -0.000428831175 0.0005068872597 -0.07039529586 6.947855262e-05 -0.214165851 --0.007385726086 -0.13423717 6.947855262e-05 0.03618719917 -0.0001881600312 -0.0006802119598 -0.0005666394277 -0.214165851 -0.0001881600312 0.04492282638 --0.04572979915 0.01415783709 -0.0005135411449 0.01969492595 0.0001657410029 -0.01415783709 0.1545515639 0.0001777970403 0.0135795009 0.001682352024 --0.0005135411449 0.0001777970403 -0.02270628414 0.0005337028565 -0.03757946949 -0.01969492595 0.0135795009 0.0005337028565 0.007126478423 -0.0001118800226 -0.0001657410029 0.001682352024 -0.03757946949 -0.0001118800226 0.04726477427 -0.003178152522 0.009355452126 -4.992071588e-06 -0.002182246976 3.383869091e-06 -0.009355452126 -0.0002187935347 -1.182570657e-05 -0.02275039007 6.637715887e-05 --4.992071588e-06 -1.182570657e-05 -0.002262398018 -4.911805297e-06 0.0003885984212 --0.002182246976 -0.02275039007 -4.911805297e-06 -0.008174047625 2.414872039e-05 -3.383869091e-06 6.637715887e-05 0.0003885984212 2.414872039e-05 0.0132724461 -0.008791902861 -0.0009467829889 -2.849781711e-05 -0.01317302524 1.625150765e-05 --0.0009467829889 -0.01917198847 1.336810326e-05 -0.009293067538 3.042364478e-05 --2.849781711e-05 1.336810326e-05 8.712125695e-05 4.110363136e-05 -0.0002084606883 --0.01317302524 -0.009293067538 4.110363136e-05 0.01390195178 -2.335146712e-05 -1.625150765e-05 3.042364478e-05 -0.0002084606883 -2.335146712e-05 -0.001411148927 -0.0007766149274 -0.0008239027994 -2.701707522e-07 -0.001780278291 6.355312424e-06 --0.0008239027994 0.0004447341294 2.257098797e-06 0.001476459641 -1.395520578e-05 --2.701707522e-07 2.257098797e-06 3.735615455e-06 1.450410962e-06 -3.337843165e-05 --0.001780278291 0.001476459641 1.450410962e-06 0.003490260004 -1.552043996e-05 -6.355312424e-06 -1.395520578e-05 -3.337843165e-05 -1.552043996e-05 0.0002305448666 --0.0004071980058 -0.0001059648213 5.670929607e-06 0.0002199235836 2.680453253e-08 --0.0001059648213 -7.871468909e-05 4.398654186e-07 -0.0002372538536 -7.994334288e-06 -5.670929607e-06 4.398654186e-07 -9.560192207e-05 -3.705184376e-06 -0.0001712219273 -0.0002199235836 -0.0002372538536 -3.705184376e-06 -0.0002681723188 9.04695545e-06 -2.680453253e-08 -7.994334288e-06 -0.0001712219273 9.04695545e-06 0.0003599140315 -0.0003683589219 3.686835506e-05 7.523122728e-07 -0.0005284387707 -7.567026749e-08 -3.686835506e-05 -0.001040990187 1.850215402e-07 -0.0006163537891 3.470559544e-08 -7.523122728e-07 1.850215402e-07 -1.058065407e-05 -5.906523639e-07 -4.315043337e-05 --0.0005284387707 -0.0006163537891 -5.906523639e-07 0.0004450311384 1.033766982e-06 --7.567026749e-08 3.470559544e-08 -4.315043337e-05 1.033766982e-06 -0.0001064863972 -1.435147958e-05 3.112395019e-05 -4.60291344e-07 -3.323062566e-05 -2.610083961e-07 -3.112395019e-05 0.0001041869498 1.349811767e-07 2.774516685e-05 2.753196873e-06 --4.60291344e-07 1.349811767e-07 -3.263865203e-06 4.822736617e-07 -1.899129103e-05 --3.323062566e-05 2.774516685e-05 4.822736617e-07 8.634705899e-05 1.221526954e-06 --2.610083961e-07 2.753196873e-06 -1.899129103e-05 1.221526954e-06 3.771938545e-05 --8.858262838e-05 -7.457767964e-05 3.220372009e-07 -1.863989503e-05 1.740630061e-07 --7.457767964e-05 4.251468396e-05 1.117649034e-08 3.68451987e-05 -6.648752521e-07 -3.220372009e-07 1.117649034e-08 -1.858532205e-05 -2.138533362e-07 -6.423315082e-05 --1.863989503e-05 3.68451987e-05 -2.138533362e-07 7.27702033e-05 1.586379446e-07 -1.740630061e-07 -6.648752521e-07 -6.423315082e-05 1.586379446e-07 3.702266749e-05 -1.172044021e-05 -2.277292878e-05 1.029396742e-06 -7.455934108e-05 2.369072194e-07 --2.277292878e-05 -0.0002231439613 -1.123276778e-07 -0.0001381263019 -1.556725732e-06 -1.029396742e-06 -1.123276778e-07 -9.202947773e-06 -9.834392579e-07 -4.313541192e-05 --7.455934108e-05 -0.0001381263019 -9.834392579e-07 3.363350094e-05 4.997333957e-07 -2.369072194e-07 -1.556725732e-06 -4.313541192e-05 4.997333957e-07 -3.729272246e-05 --2.845764854e-05 1.56478251e-05 3.448573368e-07 2.329800744e-05 2.246824773e-07 -1.56478251e-05 8.009029345e-07 9.325889348e-08 -3.458999544e-05 -1.048015627e-06 -3.448573368e-07 9.325889348e-08 -5.009950185e-06 -2.233159117e-07 -1.982139713e-05 -2.329800744e-05 -3.458999544e-05 -2.233159117e-07 -4.085558121e-05 -3.14965877e-07 -2.246824773e-07 -1.048015627e-06 -1.982139713e-05 -3.14965877e-07 6.761900523e-06 --1.712280886e-05 -7.371510993e-06 1.75849657e-07 -7.221102898e-06 4.640594288e-08 --7.371510993e-06 2.688144847e-05 6.808287023e-08 6.701387708e-06 -2.832725494e-07 -1.75849657e-07 6.808287023e-08 -6.29830741e-06 -9.608213546e-08 -2.205705354e-05 --7.221102898e-06 6.701387708e-06 -9.608213546e-08 2.350662598e-05 8.544960644e-08 -4.640594288e-08 -2.832725494e-07 -2.205705354e-05 8.544960644e-08 3.680598995e-06 --1.611219154e-05 -1.046231017e-05 2.228962238e-07 -1.074010809e-05 1.110345445e-07 --1.046231017e-05 -4.658909393e-05 1.099900024e-08 -3.522078559e-05 -4.496622927e-07 -2.228962238e-07 1.099900024e-08 -5.243788027e-06 -1.728897003e-07 -2.198778088e-05 --1.074010809e-05 -3.522078559e-05 -1.728897003e-07 1.557317794e-06 9.830496323e-09 -1.110345445e-07 -4.496622927e-07 -2.198778088e-05 9.830496323e-09 -6.663144864e-06 --0.000300010796 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003266105773 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001300126711 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.668854294e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.590551722e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.32640702e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.587374657e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.182034671e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.36931234e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.961762202e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.39010675e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.401759976e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.075522289e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03808741525 -0.08137314584 -0.01494283386 0 0 --0.08137314584 -0.00176549221 -0.000659206548 0 0 --0.01494283386 -0.000659206548 -0.0001819180178 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.459625385e-05 -0.0001726396593 -6.298165524e-05 0 0 --0.0001726396593 -0.0004987627108 -8.108007063e-05 0 0 --6.298165524e-05 -8.108007063e-05 6.723831463e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00107457074 -1.382641302e-06 -0.0008729446346 0 0 --1.382641302e-06 -5.630766698e-07 -1.91917323e-05 0 0 --0.0008729446346 -1.91917323e-05 -2.147314015e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.685605549e-05 -0.0001268868768 -0.0001096056749 0 0 --0.0001268868768 -3.397140318e-05 -2.415878235e-05 0 0 --0.0001096056749 -2.415878235e-05 -1.644599238e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.137738092e-06 -9.875714414e-05 -5.182631654e-05 0 0 --9.875714414e-05 -2.92436915e-06 -1.592164365e-06 0 0 --5.182631654e-05 -1.592164365e-06 -8.657191886e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.319035758e-05 -5.9348684e-05 3.131367105e-05 0 0 --5.9348684e-05 4.880767946e-06 1.533618946e-07 0 0 -3.131367105e-05 1.533618946e-07 -1.380108532e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.915590533e-06 -2.275941825e-05 -1.520638742e-05 0 0 --2.275941825e-05 2.954478147e-06 1.820959462e-06 0 0 --1.520638742e-05 1.820959462e-06 1.114267155e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.773211672e-06 -1.438251698e-05 -3.838863392e-06 0 0 --1.438251698e-05 -3.862834118e-07 -1.603485312e-07 0 0 --3.838863392e-06 -1.603485312e-07 -5.798580694e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.708395033e-05 -2.304928101e-05 1.390652186e-06 0 0 --2.304928101e-05 -7.397307317e-07 -1.849375836e-07 0 0 -1.390652186e-06 -1.849375836e-07 2.67447619e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.872535124e-06 -2.179316055e-05 -8.540667451e-06 0 0 --2.179316055e-05 4.10494222e-07 1.962461923e-07 0 0 --8.540667451e-06 1.962461923e-07 9.078169514e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.575367606e-06 -1.218308969e-05 -2.925870338e-06 0 0 --1.218308969e-05 6.304022175e-07 2.539961088e-07 0 0 --2.925870338e-06 2.539961088e-07 8.59577737e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.101150714e-06 -1.029081148e-05 -1.555667932e-06 0 0 --1.029081148e-05 1.964168856e-07 7.034161064e-08 0 0 --1.555667932e-06 7.034161064e-08 1.685738501e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.389696964e-06 -9.863236292e-06 -2.678768973e-06 0 0 --9.863236292e-06 -7.82689106e-08 -3.269671887e-08 0 0 --2.678768973e-06 -3.269671887e-08 -1.198245769e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001481405543 0.04432126793 0.0253732448 0.001028578683 0.001582353975 -0.04432126793 0.01475122086 -0.01396247325 -0.05008080477 -0.07568922969 -0.0253732448 -0.01396247325 -0.02044667128 -0.02834782124 -0.04285716622 -0.001028578683 -0.05008080477 -0.02834782124 -0.0004361388981 -0.0006904566021 -0.001582353975 -0.07568922969 -0.04285716622 -0.0006904566021 -0.001090829191 --0.0003055162214 0.00307476192 0.001882743466 0.0003113727786 0.0004510289089 -0.00307476192 0.001544885766 -0.002149407594 -0.004201704599 -0.005644207354 -0.001882743466 -0.002149407594 -0.002916590514 -0.002471043963 -0.003350796339 -0.0003113727786 -0.004201704599 -0.002471043963 -0.0002822343256 -0.0004233519033 -0.0004510289089 -0.005644207354 -0.003350796339 -0.0004233519033 -0.0006282663353 -3.815922728e-06 -0.0002302200207 -0.0001380001582 -7.203745562e-06 -3.51799396e-06 --0.0002302200207 -0.0001521445307 0.0008980604137 0.0009604638553 0.0005727043418 --0.0001380001582 0.0008980604137 0.001061616108 0.0005386809948 0.0003178996066 --7.203745562e-06 0.0009604638553 0.0005386809948 -6.093531145e-06 -6.857666895e-06 --3.51799396e-06 0.0005727043418 0.0003178996066 -6.857666895e-06 -6.009901944e-06 --1.655632734e-05 0.0001922683954 9.984475422e-05 -1.329670431e-06 2.192737263e-05 -0.0001922683954 0.0001696427812 0.0002995164735 0.0001601899983 -0.0003057578572 -9.984475422e-05 0.0002995164735 0.0002839348578 9.592467301e-05 -0.0001632779848 --1.329670431e-06 0.0001601899983 9.592467301e-05 8.614358104e-06 -1.318701117e-06 -2.192737263e-05 -0.0003057578572 -0.0001632779848 -1.318701117e-06 -2.795328448e-05 --4.586439979e-07 2.195305593e-05 1.284489057e-05 1.574059681e-06 -4.83975965e-09 -2.195305593e-05 -0.0001013141087 -0.000100197736 -0.0001488749014 -2.715347082e-06 -1.284489057e-05 -0.000100197736 -8.08045084e-05 -8.393884841e-05 -1.461766005e-06 -1.574059681e-06 -0.0001488749014 -8.393884841e-05 2.925976369e-07 2.448421081e-07 --4.83975965e-09 -2.715347082e-06 -1.461766005e-06 2.448421081e-07 9.095936435e-09 -1.160334085e-06 2.402539232e-05 1.285144875e-05 -1.916095883e-06 -2.404157044e-06 -2.402539232e-05 8.042754832e-06 -2.439114437e-05 -4.728705985e-05 -4.663406506e-05 -1.285144875e-05 -2.439114437e-05 -3.007767676e-05 -2.574071449e-05 -2.476067117e-05 --1.916095883e-06 -4.728705985e-05 -2.574071449e-05 3.045681265e-06 4.01898825e-06 --2.404157044e-06 -4.663406506e-05 -2.476067117e-05 4.01898825e-06 4.961084044e-06 -5.058952796e-09 8.31009741e-06 4.689270263e-06 -8.89306004e-08 -1.536333326e-07 -8.31009741e-06 8.688590225e-06 9.826699619e-06 3.916391147e-06 -1.47780118e-05 -4.689270263e-06 9.826699619e-06 8.321749716e-06 2.155824277e-06 -8.424776748e-06 --8.89306004e-08 3.916391147e-06 2.155824277e-06 -8.599600416e-08 8.831965912e-08 --1.536333326e-07 -1.47780118e-05 -8.424776748e-06 8.831965912e-08 5.277861574e-07 --3.616369932e-07 6.280708984e-06 3.777087077e-06 5.636427001e-07 3.835700958e-07 -6.280708984e-06 -5.478102306e-06 -1.111843525e-05 -1.606658912e-05 -7.755080701e-06 -3.777087077e-06 -1.111843525e-05 -1.080072488e-05 -9.188028661e-06 -4.581165903e-06 -5.636427001e-07 -1.606658912e-05 -9.188028661e-06 -4.981089996e-07 -5.315717511e-07 -3.835700958e-07 -7.755080701e-06 -4.581165903e-06 -5.315717511e-07 -3.952927686e-07 --4.526904943e-07 1.550152995e-05 8.867777351e-06 3.408057216e-07 4.496852023e-07 -1.550152995e-05 3.378067512e-06 -6.550850656e-06 -2.073027063e-05 -2.64654354e-05 -8.867777351e-06 -6.550850656e-06 -8.465691828e-06 -1.171504432e-05 -1.496402365e-05 -3.408057216e-07 -2.073027063e-05 -1.171504432e-05 -1.029156116e-07 -1.508497117e-07 -4.496852023e-07 -2.64654354e-05 -1.496402365e-05 -1.508497117e-07 -2.174323094e-07 --8.410956323e-08 1.118473184e-05 6.311766761e-06 -5.110996988e-08 -6.063824134e-08 -1.118473184e-05 5.426118735e-06 2.422247737e-06 -7.903632986e-06 -1.945110979e-05 -6.311766761e-06 2.422247737e-06 1.006134219e-06 -4.453876643e-06 -1.096485507e-05 --5.110996988e-08 -7.903632986e-06 -4.453876643e-06 1.13704916e-07 2.341084247e-07 --6.063824134e-08 -1.945110979e-05 -1.096485507e-05 2.341084247e-07 4.634389334e-07 --5.812434873e-08 5.084878511e-06 2.886375575e-06 1.45250261e-08 4.018429275e-10 -5.084878511e-06 1.658423551e-07 -3.0505498e-06 -7.397999691e-06 -8.106608341e-06 -2.886375575e-06 -3.0505498e-06 -3.494436718e-06 -4.156094002e-06 -4.544589384e-06 -1.45250261e-08 -7.397999691e-06 -4.156094002e-06 8.073768542e-08 1.110360792e-07 -4.018429275e-10 -8.106608341e-06 -4.544589384e-06 1.110360792e-07 1.463963903e-07 --1.213717762e-07 5.307117669e-06 3.020959968e-06 6.627857251e-08 9.738622159e-08 -5.307117669e-06 1.366868534e-06 -1.609936716e-06 -5.967362996e-06 -8.798285386e-06 -3.020959968e-06 -1.609936716e-06 -2.251305912e-06 -3.365391025e-06 -4.961785726e-06 -6.627857251e-08 -5.967362996e-06 -3.365391025e-06 4.1634395e-09 6.514082355e-09 -9.738622159e-08 -8.798285386e-06 -4.961785726e-06 6.514082355e-09 1.015800604e-08 --1.253556018e-07 5.450016842e-06 3.094063179e-06 6.359674458e-08 1.027498344e-07 -5.450016842e-06 1.614106001e-06 -8.035526794e-07 -5.678642139e-06 -9.180129616e-06 -3.094063179e-06 -8.035526794e-07 -1.420209384e-06 -3.20285132e-06 -5.177731019e-06 -6.359674458e-08 -5.678642139e-06 -3.20285132e-06 3.321792859e-09 5.433447166e-09 -1.027498344e-07 -9.180129616e-06 -5.177731019e-06 5.433447166e-09 8.886263286e-09 --0.0001861562851 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000202490506 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.842755606e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.323904241e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.193141922e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.357035775e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.005267944e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.986505102e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.449036848e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.77381238e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.341670065e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.7874162e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.225446439e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03942244428 -0.08378339528 0.01562733877 0 0 --0.08378339528 -0.001075838036 0.0003979860194 0 0 -0.01562733877 0.0003979860194 -0.0001108169038 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005107832862 -0.0006019401344 -4.697605695e-05 0 0 --0.0006019401344 -0.0003425144905 6.38126933e-05 0 0 --4.697605695e-05 6.38126933e-05 3.439307936e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001196705957 7.266661926e-05 0.0009135777766 0 0 -7.266661926e-05 1.327066533e-06 8.751426164e-06 0 0 -0.0009135777766 8.751426164e-06 -1.010194699e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.544317925e-05 -0.0001577291582 0.0001530513703 0 0 --0.0001577291582 -2.202928772e-05 1.672437944e-05 0 0 -0.0001530513703 1.672437944e-05 -1.176855116e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.927843358e-05 -9.055330242e-05 2.858111233e-05 0 0 --9.055330242e-05 -1.148607417e-06 4.992793356e-07 0 0 -2.858111233e-05 4.992793356e-07 -2.007033968e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.789760954e-05 -5.754992973e-05 -2.755007377e-05 0 0 --5.754992973e-05 3.388010788e-06 -1.567219183e-07 0 0 --2.755007377e-05 -1.567219183e-07 -8.65836684e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.653298514e-06 -1.955221092e-05 1.487837378e-05 0 0 --1.955221092e-05 1.442352562e-06 -9.489029599e-07 0 0 -1.487837378e-05 -9.489029599e-07 6.086728832e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.268679282e-06 -1.38476144e-05 1.627714895e-06 0 0 --1.38476144e-05 -3.360552423e-07 1.125534115e-07 0 0 -1.627714895e-06 1.125534115e-07 -2.158343258e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.696103137e-05 -2.47803454e-05 -3.012950364e-07 0 0 --2.47803454e-05 -3.922072196e-07 1.059348146e-07 0 0 --3.012950364e-07 1.059348146e-07 2.976233701e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.951978406e-06 -2.099378653e-05 8.799663893e-06 0 0 --2.099378653e-05 3.33056452e-07 -1.620534311e-07 0 0 -8.799663893e-06 -1.620534311e-07 7.733941623e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.003778827e-06 -1.10302331e-05 1.983121966e-06 0 0 --1.10302331e-05 3.374545154e-07 -1.240106497e-07 0 0 -1.983121966e-06 -1.240106497e-07 3.384641872e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.907149699e-06 -1.018820308e-05 1.700742379e-06 0 0 --1.018820308e-05 8.670869257e-08 -3.126830266e-08 0 0 -1.700742379e-06 -3.126830266e-08 8.036406848e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.312427482e-06 -9.872147189e-06 2.743465414e-06 0 0 --9.872147189e-06 -5.106139093e-08 2.123331599e-08 0 0 -2.743465414e-06 2.123331599e-08 -7.856391831e-09 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008992791954 0.04496766678 -0.02512774071 0.0006197897223 -0.000947454571 -0.04496766678 0.01461542051 0.01396512208 -0.05026218238 0.07601354126 --0.02512774071 0.01396512208 -0.01995457069 0.02789784669 -0.04219599679 -0.0006197897223 -0.05026218238 0.02789784669 -0.0002630857235 0.0004091603024 --0.000947454571 0.07601354126 -0.04219599679 0.0004091603024 -0.0006358573606 --0.0002075535831 0.003824275092 -0.002213112467 0.000204234227 -0.000298089383 -0.003824275092 0.001878349577 0.002478163001 -0.004958378796 0.006874302358 --0.002213112467 0.002478163001 -0.003321583856 0.002810514838 -0.003910066212 -0.000204234227 -0.004958378796 0.002810514838 -0.0001812194304 0.0002704905708 --0.000298089383 0.006874302358 -0.003910066212 0.0002704905708 -0.0004017214531 -1.814978895e-06 -0.0002927752299 0.0001652489866 -1.90758473e-06 3.289531372e-07 --0.0002927752299 -0.0001969346636 -0.0008860487548 0.0009676585293 -0.0006681139673 -0.0001652489866 -0.0008860487548 0.001041981841 -0.0005322917137 0.0003641659665 --1.90758473e-06 0.0009676585293 -0.0005322917137 -7.178647395e-06 8.213087549e-06 -3.289531372e-07 -0.0006681139673 0.0003641659665 8.213087549e-06 -7.916965763e-06 --9.981917773e-06 0.0002091207156 -0.0001094444938 -1.777110325e-06 -1.272418468e-05 -0.0002091207156 0.000179100968 -0.0003695302144 0.000212030052 0.0003198911292 --0.0001094444938 -0.0003695302144 0.000354415497 -0.0001215389044 -0.0001706415768 --1.777110325e-06 0.000212030052 -0.0001215389044 6.384007168e-06 -2.214691533e-07 --1.272418468e-05 0.0003198911292 -0.0001706415768 -2.214691533e-07 -1.559636892e-05 --1.413874385e-07 1.431304021e-05 -8.255724427e-06 8.409124697e-07 8.440676311e-08 -1.431304021e-05 -0.0001135099145 0.0001279062812 -0.0001721023928 -8.359440665e-06 --8.255724427e-06 0.0001279062812 -0.0001068689132 9.520200519e-05 4.830366233e-06 -8.409124697e-07 -0.0001721023928 9.520200519e-05 6.630890012e-07 -5.140830883e-07 -8.440676311e-08 -8.359440665e-06 4.830366233e-06 -5.140830883e-07 -5.036421127e-08 -8.212438746e-07 2.078010062e-05 -1.108950139e-05 -1.19117809e-06 1.632322845e-06 -2.078010062e-05 1.093276983e-05 1.511613903e-05 -3.428874213e-05 4.113916967e-05 --1.108950139e-05 1.511613903e-05 -2.009981403e-05 1.846730901e-05 -2.194764896e-05 --1.19117809e-06 -3.428874213e-05 1.846730901e-05 1.694331502e-06 -2.368932327e-06 -1.632322845e-06 4.113916967e-05 -2.194764896e-05 -2.368932327e-06 3.244389568e-06 --7.029515897e-08 7.066028611e-06 -3.887119279e-06 -3.702548549e-08 -3.813588113e-08 -7.066028611e-06 7.508567185e-06 -9.549205537e-06 4.603078788e-06 1.225772627e-05 --3.887119279e-06 -9.549205537e-06 8.274923131e-06 -2.538869844e-06 -6.806739896e-06 --3.702548549e-08 4.603078788e-06 -2.538869844e-06 -1.841979745e-08 -9.743260939e-09 --3.813588113e-08 1.225772627e-05 -6.806739896e-06 -9.743260939e-09 7.818401704e-08 --2.423141617e-07 6.77692214e-06 -3.944727985e-06 4.254744154e-07 -2.495349849e-07 -6.77692214e-06 -7.369455932e-06 1.466079592e-05 -1.987368287e-05 7.921180234e-06 --3.944727985e-06 1.466079592e-05 -1.39802045e-05 1.111412642e-05 -4.557132043e-06 -4.254744154e-07 -1.987368287e-05 1.111412642e-05 -3.980103897e-07 3.969037509e-07 --2.495349849e-07 7.921180234e-06 -4.557132043e-06 3.969037509e-07 -2.520965478e-07 --2.456278107e-07 1.621569167e-05 -9.033651053e-06 1.489659362e-07 -2.216733933e-07 -1.621569167e-05 5.087399137e-06 4.03071577e-06 -1.884433838e-05 2.794864581e-05 --9.033651053e-06 4.03071577e-06 -6.026043057e-06 1.044054726e-05 -1.548502287e-05 -1.489659362e-07 -1.884433838e-05 1.044054726e-05 -1.486934024e-08 2.290797663e-08 --2.216733933e-07 2.794864581e-05 -1.548502287e-05 2.290797663e-08 -3.524331907e-08 --1.866255564e-08 9.690218548e-06 -5.367785788e-06 -4.815370075e-08 7.171970647e-08 -9.690218548e-06 4.480921727e-06 -2.075822312e-06 -7.087075218e-06 1.67630399e-05 --5.367785788e-06 -2.075822312e-06 9.248272745e-07 3.923215072e-06 -9.281337078e-06 --4.815370075e-08 -7.087075218e-06 3.923215072e-06 8.023611118e-08 -1.590589946e-07 -7.171970647e-08 1.67630399e-05 -9.281337078e-06 -1.590589946e-07 3.034673425e-07 --4.291447127e-08 4.721806193e-06 -2.630383433e-06 2.208262085e-08 -1.567014988e-08 -4.721806193e-06 -1.290535369e-07 3.368474909e-06 -7.331866884e-06 7.399790489e-06 --2.630383433e-06 3.368474909e-06 -3.691990444e-06 4.053260418e-06 -4.086189565e-06 -2.208262085e-08 -7.331866884e-06 4.053260418e-06 3.490365485e-08 -4.550345143e-08 --1.567014988e-08 7.399790489e-06 -4.086189565e-06 -4.550345143e-08 5.629690239e-08 --8.743854409e-08 5.336560926e-06 -2.972993422e-06 5.075146885e-08 -8.028931035e-08 -5.336560926e-06 1.53773521e-06 1.235792232e-06 -5.573215514e-06 8.806760247e-06 --2.972993422e-06 1.235792232e-06 -1.840788361e-06 3.089002859e-06 -4.881258934e-06 -5.075146885e-08 -5.573215514e-06 3.089002859e-06 -1.072702962e-08 1.704682806e-08 --8.028931035e-08 8.806760247e-06 -4.881258934e-06 1.704682806e-08 -2.7089058e-08 --6.548005969e-08 5.150508249e-06 -2.86327119e-06 3.138405948e-08 -4.869198008e-08 -5.150508249e-06 1.38554179e-06 8.722099296e-07 -5.526619755e-06 8.60175904e-06 --2.86327119e-06 8.722099296e-07 -1.39131975e-06 3.060003603e-06 -4.762611282e-06 -3.138405948e-08 -5.526619755e-06 3.060003603e-06 7.962103148e-09 -1.255829687e-08 --4.869198008e-08 8.60175904e-06 -4.762611282e-06 -1.255829687e-08 1.980422587e-08 -0.01755998106 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02541707094 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.006021570118 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001381537615 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.926969977e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001741466237 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.687866911e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.308710192e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.969467389e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.560411464e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.314355907e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.152551888e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.603959241e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1069814926 0.06282813766 0.1129432751 0 0 -0.06282813766 0.009903027715 0.01777049273 0 0 -0.1129432751 0.01777049273 0.03188818888 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04632144291 0.01935850943 0.03550312735 0 0 -0.01935850943 0.0194293326 0.03509915968 0 0 -0.03550312735 0.03509915968 0.0634024467 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006343461373 -0.001468096379 -0.002451785128 0 0 --0.001468096379 0.01149845864 0.02088580602 0 0 --0.002451785128 0.02088580602 0.03792991943 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003010406295 -0.002773187308 -0.005058807912 0 0 --0.002773187308 0.002459204313 0.004473066073 0 0 --0.005058807912 0.004473066073 0.008134261961 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008790247611 -0.0005406843755 -0.0009758952286 0 0 --0.0005406843755 5.672328872e-05 0.0001020211982 0 0 --0.0009758952286 0.0001020211982 0.0001834902163 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001869534567 4.516743795e-05 8.349294578e-05 0 0 -4.516743795e-05 -0.0004186243473 -0.0007454920808 0 0 -8.349294578e-05 -0.0007454920808 -0.00132753395 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003240626284 0.0003360923267 0.000597643322 0 0 -0.0003360923267 -0.0003236761893 -0.0005764790233 0 0 -0.000597643322 -0.0005764790233 -0.001026693873 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.357367202e-06 7.184642522e-06 1.28909813e-05 0 0 -7.184642522e-06 -1.282539062e-05 -2.303506301e-05 0 0 -1.28909813e-05 -2.303506301e-05 -4.137190768e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.997574954e-05 1.196146409e-05 2.240011198e-05 0 0 -1.196146409e-05 6.019514531e-05 0.000108643256 0 0 -2.240011198e-05 0.000108643256 0.0001960743068 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.632605343e-05 -2.840623284e-05 -5.190238158e-05 0 0 --2.840623284e-05 1.787190867e-05 3.245989031e-05 0 0 --5.190238158e-05 3.245989031e-05 5.894448533e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.053349832e-05 3.210519549e-06 5.843729625e-06 0 0 -3.210519549e-06 7.070803565e-06 1.272032885e-05 0 0 -5.843729625e-06 1.272032885e-05 2.288340156e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.048559766e-06 -2.275747726e-06 -4.048415929e-06 0 0 --2.275747726e-06 -1.728280061e-06 -3.088099324e-06 0 0 --4.048415929e-06 -3.088099324e-06 -5.517791248e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.304167979e-05 1.078377895e-05 1.912272552e-05 0 0 -1.078377895e-05 -6.059586791e-06 -1.07855061e-05 0 0 -1.912272552e-05 -1.07855061e-05 -1.919637777e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009676115001 -0.0006898196004 -0.001341674173 0.006669594126 -0.01072641809 --0.0006898196004 -0.008461872866 -0.01505358126 -0.005840671022 0.00938153533 --0.001341674173 -0.01505358126 -0.02677881302 -0.01047455444 0.01682483485 -0.006669594126 -0.005840671022 -0.01047455444 0.001215142929 -0.001961675902 --0.01072641809 0.00938153533 0.01682483485 -0.001961675902 0.003166786006 -0.01036239205 0.000194538216 0.0004223393215 0.007331444957 -0.01207298796 -0.000194538216 -0.0060764059 -0.01094167065 -0.003416488061 0.005678165769 -0.0004223393215 -0.01094167065 -0.01970196156 -0.006101829575 0.01014195068 -0.007331444957 -0.003416488061 -0.006101829575 0.003109455116 -0.005090012861 --0.01207298796 0.005678165769 0.01014195068 -0.005090012861 0.00833133606 -0.004187809004 0.00045366927 0.0009373446142 0.002973391924 -0.005039798193 -0.00045366927 -0.001268894988 -0.002329739898 -0.0003086614825 0.0005994084449 -0.0009373446142 -0.002329739898 -0.004274986732 -0.0004980079254 0.0009847360087 -0.002973391924 -0.0003086614825 -0.0004980079254 0.001809275108 -0.003030174877 --0.005039798193 0.0005994084449 0.0009847360087 -0.003030174877 0.005069792983 -0.0004807444136 0.0001269267392 0.0002707609264 0.0003075377897 -0.0005688381784 -0.0001269267392 3.267304688e-05 6.8174142e-05 8.558075728e-05 -0.0001543639257 -0.0002707609264 6.8174142e-05 0.0001394067507 0.0001905328304 -0.0003368875454 -0.0003075377897 8.558075728e-05 0.0001905328304 0.0001738064593 -0.0003420390655 --0.0005688381784 -0.0001543639257 -0.0003368875454 -0.0003420390655 0.0006522465541 -1.268038314e-05 6.429935654e-06 1.417008881e-05 3.313283952e-06 -9.772877905e-06 -6.429935654e-06 -1.996243919e-05 -3.083450105e-05 -2.591105656e-05 3.382752371e-05 -1.417008881e-05 -3.083450105e-05 -4.64100808e-05 -4.146883691e-05 5.257352613e-05 -3.313283952e-06 -2.591105656e-05 -4.146883691e-05 -3.191531222e-05 4.352466597e-05 --9.772877905e-06 3.382752371e-05 5.257352613e-05 4.352466597e-05 -5.72372269e-05 -5.991727753e-05 7.503518855e-06 1.512881168e-05 5.042740222e-05 -8.416394256e-05 -7.503518855e-06 -3.812068037e-05 -6.944700911e-05 -1.989255368e-05 3.389061161e-05 -1.512881168e-05 -6.944700911e-05 -0.0001264816113 -3.513416513e-05 5.989904405e-05 -5.042740222e-05 -1.989255368e-05 -3.513416513e-05 2.485647797e-05 -4.10230059e-05 --8.416394256e-05 3.389061161e-05 5.989904405e-05 -4.10230059e-05 6.768336868e-05 -1.062344828e-05 3.430684887e-06 8.03746649e-06 6.813087526e-06 -1.386372691e-05 -3.430684887e-06 1.010847213e-06 2.602456415e-06 1.857100452e-06 -4.189969763e-06 -8.03746649e-06 2.602456415e-06 6.080482543e-06 5.178941192e-06 -1.050933353e-05 -6.813087526e-06 1.857100452e-06 5.178941192e-06 3.156448111e-06 -7.876081325e-06 --1.386372691e-05 -4.189969763e-06 -1.050933353e-05 -7.876081325e-06 1.724284738e-05 -5.434591928e-06 1.816880273e-06 3.831057544e-06 3.036689834e-06 -5.887263674e-06 -1.816880273e-06 1.217082306e-07 5.827696015e-07 1.167549649e-07 -7.993806653e-07 -3.831057544e-06 5.827696015e-07 1.697521381e-06 8.494784374e-07 -2.470402774e-06 -3.036689834e-06 1.167549649e-07 8.494784374e-07 3.482747723e-08 -1.127508896e-06 --5.887263674e-06 -7.993806653e-07 -2.470402774e-06 -1.127508896e-06 3.564880783e-06 -2.236262722e-06 7.650284232e-08 1.141422316e-07 2.204574964e-06 -3.513278302e-06 -7.650284232e-08 -3.982642519e-06 -7.105510963e-06 -3.112073472e-06 4.966302467e-06 -1.141422316e-07 -7.105510963e-06 -1.267685888e-05 -5.573731419e-06 8.894612061e-06 -2.204574964e-06 -3.112073472e-06 -5.573731419e-06 -3.760853406e-07 6.047852756e-07 --3.513278302e-06 4.966302467e-06 8.894612061e-06 6.047852756e-07 -9.72491942e-07 --9.121700868e-08 -2.969447013e-07 -3.729317381e-07 -4.207463645e-07 4.579562179e-07 --2.969447013e-07 -6.93158633e-07 -9.99470449e-07 -9.035416511e-07 1.123326576e-06 --3.729317381e-07 -9.99470449e-07 -1.356377996e-06 -1.354502065e-06 1.584022214e-06 --4.207463645e-07 -9.035416511e-07 -1.354502065e-06 -1.146271899e-06 1.48604289e-06 -4.579562179e-07 1.123326576e-06 1.584022214e-06 1.48604289e-06 -1.805408533e-06 -1.795942504e-06 4.099914745e-07 8.493517941e-07 1.322396695e-06 -2.326487555e-06 -4.099914745e-07 -1.096608964e-07 -2.088831455e-07 2.522602996e-07 -3.893257455e-07 -8.493517941e-07 -2.088831455e-07 -3.964773315e-07 5.270573093e-07 -8.193010172e-07 -1.322396695e-06 2.522602996e-07 5.270573093e-07 9.615966087e-07 -1.678432915e-06 --2.326487555e-06 -3.893257455e-07 -8.193010172e-07 -1.678432915e-06 2.914861603e-06 -9.844960328e-07 1.362155657e-07 2.69059786e-07 9.067537971e-07 -1.500272516e-06 -1.362155657e-07 -8.682059472e-07 -1.575766566e-06 -5.292296413e-07 8.824541445e-07 -2.69059786e-07 -1.575766566e-06 -2.859493007e-06 -9.426559573e-07 1.572067644e-06 -9.067537971e-07 -5.292296413e-07 -9.426559573e-07 3.519580198e-07 -5.773031548e-07 --1.500272516e-06 8.824541445e-07 1.572067644e-06 -5.773031548e-07 9.468038259e-07 -2.796426402e-07 -7.936116978e-08 -1.524077037e-07 1.384624696e-07 -2.139524178e-07 --7.936116978e-08 -2.652990865e-07 -4.620376811e-07 -2.025755069e-07 3.147595468e-07 --1.524077037e-07 -4.620376811e-07 -8.040081526e-07 -3.621135024e-07 5.625922613e-07 -1.384624696e-07 -2.025755069e-07 -3.621135024e-07 -2.407035505e-08 3.818040216e-08 --2.139524178e-07 3.147595468e-07 5.625922613e-07 3.818040216e-08 -6.053181589e-08 -0.02865985462 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03100932516 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007167894608 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005475058852 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.600837496e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001271304136 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.208434935e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.676580149e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.397827944e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.458816568e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.085906143e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.2592916e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.137223294e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03271792585 -0.001024394882 -0.002383161421 0 0 --0.001024394882 0.02123142925 0.03895525767 0 0 --0.002383161421 0.03895525767 0.0714670571 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02265554563 -0.02017537291 -0.0370769525 0 0 --0.02017537291 0.01329404114 0.02450342269 0 0 --0.0370769525 0.02450342269 0.04516290377 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003199057325 -0.0008850021295 -0.001520188589 0 0 --0.0008850021295 0.000511877949 0.0009236921516 0 0 --0.001520188589 0.0009236921516 0.001665570028 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00454083609 -0.001145816992 -0.002227717283 0 0 --0.001145816992 4.573498226e-05 0.0001348683842 0 0 --0.002227717283 0.0001348683842 0.0003428749125 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005492845517 7.319638985e-05 0.0001051255344 0 0 -7.319638985e-05 -6.350029659e-05 -0.0001106316268 0 0 -0.0001051255344 -0.0001106316268 -0.0001919531115 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000167797307 0.0001795523228 0.0003127299995 0 0 -0.0001795523228 -0.0001023702932 -0.0001829623196 0 0 -0.0003127299995 -0.0001829623196 -0.0003265467976 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.93532051e-05 -2.710961355e-05 -5.163533626e-05 0 0 --2.710961355e-05 3.968169802e-06 8.07497932e-06 0 0 --5.163533626e-05 8.07497932e-06 1.630200527e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.749739078e-06 -9.896314071e-06 -1.750586924e-05 0 0 --9.896314071e-06 1.883639205e-05 3.432685499e-05 0 0 --1.750586924e-05 3.432685499e-05 6.253748274e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.167803951e-05 3.74077926e-05 6.764383083e-05 0 0 -3.74077926e-05 -1.204531971e-05 -2.195419269e-05 0 0 -6.764383083e-05 -2.195419269e-05 -4.00026627e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.424721968e-05 2.12566355e-05 3.825838567e-05 0 0 -2.12566355e-05 -7.286773635e-06 -1.321790506e-05 0 0 -3.825838567e-05 -1.321790506e-05 -2.39651151e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.504536005e-06 1.312461605e-06 2.31052396e-06 0 0 -1.312461605e-06 1.67734954e-06 3.054708324e-06 0 0 -2.31052396e-06 3.054708324e-06 5.561290652e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.521772667e-06 2.041458877e-06 3.688737831e-06 0 0 -2.041458877e-06 9.393325912e-07 1.725507565e-06 0 0 -3.688737831e-06 1.725507565e-06 3.16940276e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.784144223e-05 8.521344554e-06 1.53246051e-05 0 0 -8.521344554e-06 -2.455018933e-06 -4.467718227e-06 0 0 -1.53246051e-05 -4.467718227e-06 -8.127642508e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05855085802 0.03502821566 0.06429818253 0.002619373249 -0.002917713818 -0.03502821566 -0.005408673158 -0.009973959006 0.004743977533 -0.007306613777 -0.06429818253 -0.009973959006 -0.01839213345 0.008689531362 -0.01338547079 -0.002619373249 0.004743977533 0.008689531362 0.002444655737 -0.003544013067 --0.002917713818 -0.007306613777 -0.01338547079 -0.003544013067 0.005125140148 -0.005447739137 -0.01059329614 -0.019650722 -0.004783264821 0.007163090202 --0.01059329614 0.01811754892 0.03361920008 0.006681968192 -0.009866205626 --0.019650722 0.03361920008 0.06238424616 0.01240663165 -0.01831976653 --0.004783264821 0.006681968192 0.01240663165 0.001435152619 -0.002001145178 -0.007163090202 -0.009866205626 -0.01831976653 -0.002001145178 0.002767154542 -0.0008644495748 -0.002758031039 -0.005022770763 -9.008301664e-05 9.972817867e-06 --0.002758031039 0.0038793787 0.007119248953 0.0007632935839 -0.001059083193 --0.005022770763 0.007119248953 0.01306354134 0.001384811136 -0.001917396485 --9.008301664e-05 0.0007632935839 0.001384811136 -3.664076702e-05 9.831944379e-05 -9.972817867e-06 -0.001059083193 -0.001917396485 9.831944379e-05 -0.0002143654981 --5.904758845e-05 -0.0005004464954 -0.0009244945418 -0.0003425756324 0.0005199435049 --0.0005004464954 -0.0003153077934 -0.0005300671044 -5.054729737e-05 5.543910757e-05 --0.0009244945418 -0.0005300671044 -0.0008816887812 -5.5292288e-05 4.432623826e-05 --0.0003425756324 -5.054729737e-05 -5.5292288e-05 8.550735692e-05 -0.0001452407841 -0.0005199435049 5.543910757e-05 4.432623826e-05 -0.0001452407841 0.0002440219088 -0.001043874267 -0.0001143828538 -0.0002810658986 -9.990905928e-05 0.0001692621086 --0.0001143828538 -0.0003805825033 -0.0006556427774 -0.0001061752564 0.0001490722758 --0.0002810658986 -0.0006556427774 -0.001122952528 -0.0001776135643 0.0002471145045 --9.990905928e-05 -0.0001061752564 -0.0001776135643 -2.533264544e-05 3.373949404e-05 -0.0001692621086 0.0001490722758 0.0002471145045 3.373949404e-05 -4.402500188e-05 --0.0001891153596 0.000116902095 0.0002167323357 4.319635052e-05 -6.288118906e-05 -0.000116902095 -4.725578723e-05 -8.761588866e-05 -1.095331741e-05 1.387463529e-05 -0.0002167323357 -8.761588866e-05 -0.0001624466402 -2.03104222e-05 2.572841497e-05 -4.319635052e-05 -1.095331741e-05 -2.03104222e-05 5.116853194e-08 -1.378189559e-06 --6.288118906e-05 1.387463529e-05 2.572841497e-05 -1.378189559e-06 4.075421076e-06 -2.312014862e-05 -1.531734107e-05 -3.028645507e-05 -1.103081286e-05 1.75147084e-05 --1.531734107e-05 -3.527740976e-06 -3.834500393e-06 2.124579515e-06 -4.279288617e-06 --3.028645507e-05 -3.834500393e-06 -2.092986669e-06 5.391302342e-06 -1.014342852e-05 --1.103081286e-05 2.124579515e-06 5.391302342e-06 3.298219149e-06 -5.580263e-06 -1.75147084e-05 -4.279288617e-06 -1.014342852e-05 -5.580263e-06 9.345506273e-06 -8.425054044e-06 1.303464294e-05 2.342266689e-05 4.972046812e-06 -7.307920934e-06 -1.303464294e-05 1.268945855e-05 2.307578983e-05 8.091647694e-06 -1.215599132e-05 -2.342266689e-05 2.307578983e-05 4.194745279e-05 1.452572746e-05 -2.181269869e-05 -4.972046812e-06 8.091647694e-06 1.452572746e-05 2.912934648e-06 -4.267397909e-06 --7.307920934e-06 -1.215599132e-05 -2.181269869e-05 -4.267397909e-06 6.242352586e-06 --8.108454024e-05 4.167837314e-05 7.694492073e-05 1.387179719e-05 -2.017106918e-05 -4.167837314e-05 -2.019862325e-05 -3.724084574e-05 -6.654679875e-06 9.529638951e-06 -7.694492073e-05 -3.724084574e-05 -6.866005235e-05 -1.226655669e-05 1.755965671e-05 -1.387179719e-05 -6.654679875e-06 -1.226655669e-05 -2.188457042e-06 3.125168125e-06 --2.017106918e-05 9.529638951e-06 1.755965671e-05 3.125168125e-06 -4.443684326e-06 --3.126388238e-06 7.451367519e-06 1.290189451e-05 2.185768898e-06 -2.96306033e-06 -7.451367519e-06 -7.894497305e-06 -1.40818197e-05 -2.427264533e-06 3.472996293e-06 -1.290189451e-05 -1.40818197e-05 -2.507963246e-05 -4.319143058e-06 6.163557616e-06 -2.185768898e-06 -2.427264533e-06 -4.319143058e-06 -7.434581416e-07 1.059331211e-06 --2.96306033e-06 3.472996293e-06 6.163557616e-06 1.059331211e-06 -1.50246494e-06 --2.971729023e-06 1.714356225e-06 3.125447055e-06 -2.573729966e-07 4.5622211e-07 -1.714356225e-06 2.353036278e-06 4.336739446e-06 1.628993272e-06 -2.447288803e-06 -3.125447055e-06 4.336739446e-06 7.992506496e-06 2.990604185e-06 -4.492317205e-06 --2.573729966e-07 1.628993272e-06 2.990604185e-06 6.335786128e-07 -9.280433859e-07 -4.5622211e-07 -2.447288803e-06 -4.492317205e-06 -9.280433859e-07 1.357324251e-06 --8.011075095e-06 3.135913216e-06 5.850565266e-06 7.496481717e-08 -4.709714577e-08 -3.135913216e-06 -1.085048085e-07 -2.018093701e-07 6.261931068e-07 -9.539485613e-07 -5.850565266e-06 -2.018093701e-07 -3.753436816e-07 1.168632635e-06 -1.780291465e-06 -7.496481717e-08 6.261931068e-07 1.168632635e-06 3.833151646e-07 -5.691859981e-07 --4.709714577e-08 -9.539485613e-07 -1.780291465e-06 -5.691859981e-07 8.446723873e-07 --5.756550455e-06 6.244401998e-06 1.119771401e-05 1.644265929e-06 -2.294607471e-06 -6.244401998e-06 -4.74512725e-06 -8.610933707e-06 -1.210637234e-06 1.740256143e-06 -1.119771401e-05 -8.610933707e-06 -1.561888303e-05 -2.199713021e-06 3.158269795e-06 -1.644265929e-06 -1.210637234e-06 -2.199713021e-06 -3.078114592e-07 4.439028501e-07 --2.294607471e-06 1.740256143e-06 3.158269795e-06 4.439028501e-07 -6.382236478e-07 -0.0002805011982 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003239541668 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001244081221 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.412559054e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.277232095e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.603355865e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.665796161e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.389815002e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.52195632e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.639025038e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.404441886e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.468999852e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.398651712e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04249001637 0.05069844826 0.05992058189 0 0 -0.05069844826 0.001107798964 0.0009655599464 0 0 -0.05992058189 0.0009655599464 0.0007368370181 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.373898571e-05 -0.0001185076427 -3.455718801e-05 0 0 --0.0001185076427 0.0001023984224 0.0002457459056 0 0 --3.455718801e-05 0.0002457459056 0.0002446684795 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009017175358 0.0008447845526 -0.0002679477705 0 0 -0.0008447845526 3.614086979e-05 4.275993896e-06 0 0 --0.0002679477705 4.275993896e-06 -6.676340749e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.051681843e-06 0.0001456007034 6.993026846e-05 0 0 -0.0001456007034 3.827004885e-05 1.998525338e-05 0 0 -6.993026846e-05 1.998525338e-05 1.036947886e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.001868636e-05 0.0001385521187 5.945563453e-05 0 0 -0.0001385521187 4.098029427e-06 2.034839531e-06 0 0 -5.945563453e-05 2.034839531e-06 9.916739029e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.259295749e-05 -3.612045644e-06 6.00431597e-05 0 0 --3.612045644e-06 4.067632465e-07 -2.261631007e-06 0 0 -6.00431597e-05 -2.261631007e-06 -2.681034638e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.258425073e-06 2.06110097e-05 1.363166369e-05 0 0 -2.06110097e-05 -2.67296019e-06 -1.638507119e-06 0 0 -1.363166369e-05 -1.638507119e-06 -9.980056611e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.687915195e-06 1.46629043e-05 1.022917657e-05 0 0 -1.46629043e-05 3.955498584e-07 2.49493568e-07 0 0 -1.022917657e-05 2.49493568e-07 1.556114782e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.815125567e-05 8.340756041e-06 1.891652056e-05 0 0 -8.340756041e-06 2.740249817e-07 3.839987529e-07 0 0 -1.891652056e-05 3.839987529e-07 3.460327059e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.404343488e-06 1.619947257e-05 1.483635876e-05 0 0 -1.619947257e-05 -3.042214145e-07 -2.252330491e-07 0 0 -1.483635876e-05 -2.252330491e-07 -1.573025705e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.566551947e-06 9.703839324e-06 8.968798063e-06 0 0 -9.703839324e-06 -4.966725458e-07 -3.701584027e-07 0 0 -8.968798063e-06 -3.701584027e-07 -2.595681014e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.74084056e-06 6.079402341e-06 7.827941803e-06 0 0 -6.079402341e-06 -1.152417323e-07 -1.068861015e-07 0 0 -7.827941803e-06 -1.068861015e-07 -8.391841719e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.370676676e-06 6.797883847e-06 7.081687479e-06 0 0 -6.797883847e-06 5.404978433e-08 4.338158216e-08 0 0 -7.081687479e-06 4.338158216e-08 3.174412259e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001466787575 -0.04371865024 -0.02503937926 -0.0008565226356 -0.001660138572 --0.04371865024 -0.03443915891 0.003220878872 0.0398286456 0.08047512261 --0.02503937926 0.003220878872 0.01459288377 0.02256610897 0.04555953882 --0.0008565226356 0.0398286456 0.02256610897 0.0003472858752 0.0006380746581 --0.001660138572 0.08047512261 0.04555953882 0.0006380746581 0.001160775746 -0.0002843658197 -0.00278803017 -0.001713955693 -0.0002170861919 -0.0004644651104 --0.00278803017 -0.004448390628 0.0003680572765 0.002378585942 0.006080339074 --0.001713955693 0.0003680572765 0.001830790365 0.001437823822 0.003588895696 --0.0002170861919 0.002378585942 0.001437823822 0.0001637551672 0.0003425582037 --0.0004644651104 0.006080339074 0.003588895696 0.0003425582037 0.0006853080234 --1.834641091e-06 0.0001045632842 6.604741141e-05 -1.637063642e-06 7.110301625e-06 -0.0001045632842 0.001554872286 2.257925776e-05 0.0001529961302 -0.0009348836122 -6.604741141e-05 2.257925776e-05 -0.0004693093644 8.901735652e-05 -0.000522886072 --1.637063642e-06 0.0001529961302 8.901735652e-05 -9.865610904e-07 2.137138293e-06 -7.110301625e-06 -0.0009348836122 -0.000522886072 2.137138293e-06 9.774555785e-06 -1.962361745e-05 -0.0002402347096 -0.0001302375351 -2.205960833e-05 -1.51842529e-05 --0.0002402347096 0.0003831140768 9.119308505e-05 0.0003772979288 0.00011994334 --0.0001302375351 9.119308505e-05 -1.902758426e-05 0.0002094276242 6.202087572e-05 --2.205960833e-05 0.0003772979288 0.0002094276242 2.030177061e-05 1.983394238e-05 --1.51842529e-05 0.00011994334 6.202087572e-05 1.983394238e-05 1.004908777e-05 -6.320359022e-07 -2.903627301e-05 -1.64266946e-05 3.529210121e-07 -9.786437459e-07 --2.903627301e-05 -8.748477688e-05 -4.494605447e-05 -3.020112046e-05 9.591953186e-05 --1.64266946e-05 -4.494605447e-05 -2.286966437e-05 -1.704094196e-05 5.410156544e-05 -3.529210121e-07 -3.020112046e-05 -1.704094196e-05 5.942165262e-08 -4.499325775e-08 --9.786437459e-07 9.591953186e-05 5.410156544e-05 -4.499325775e-08 -3.116247192e-07 --8.258830777e-07 -1.777894862e-05 -9.279519002e-06 6.161113793e-07 2.394793029e-06 --1.777894862e-05 -6.169629104e-05 -3.88400582e-06 3.723666492e-06 6.28818062e-05 --9.279519002e-06 -3.88400582e-06 1.525070171e-05 1.102070915e-06 3.381970952e-05 -6.161113793e-07 3.723666492e-06 1.102070915e-06 -1.761569998e-07 -2.123151054e-06 -2.394793029e-06 6.28818062e-05 3.381970952e-05 -2.123151054e-06 -6.544360267e-06 --5.825817987e-09 -9.566340387e-06 -5.397191731e-06 1.085729306e-07 1.739298144e-07 --9.566340387e-06 1.265559248e-05 4.618047145e-06 1.560691101e-05 6.986207845e-06 --5.397191731e-06 4.618047145e-06 1.182932554e-06 8.831292082e-06 3.986214975e-06 -1.085729306e-07 1.560691101e-05 8.831292082e-06 -3.401106437e-07 -3.584275354e-07 -1.739298144e-07 6.986207845e-06 3.986214975e-06 -3.584275354e-07 -2.549096674e-07 -4.255478539e-07 -7.123242388e-06 -4.151145229e-06 -2.01773989e-07 -6.299637018e-07 --7.123242388e-06 -1.189613063e-05 -2.153599219e-06 2.937854101e-06 1.501471337e-05 --4.151145229e-06 -2.153599219e-06 1.35581212e-06 1.728087994e-06 8.587087327e-06 --2.01773989e-07 2.937854101e-06 1.728087994e-06 9.419740728e-08 3.136834969e-07 --6.299637018e-07 1.501471337e-05 8.587087327e-06 3.136834969e-07 7.802168733e-07 -3.940624037e-07 -1.336594178e-05 -7.685595116e-06 -1.526236024e-07 -5.027019328e-07 --1.336594178e-05 -2.049815904e-05 -1.562298142e-06 8.142983127e-06 3.063341455e-05 --7.685595116e-06 -1.562298142e-06 4.760217974e-06 4.618320298e-06 1.732154563e-05 --1.526236024e-07 8.142983127e-06 4.618320298e-06 4.054398909e-08 1.096748973e-07 --5.027019328e-07 3.063341455e-05 1.732154563e-05 1.096748973e-07 2.519549806e-07 -8.932670709e-08 -1.189054356e-05 -6.714180536e-06 3.486324697e-08 7.462020907e-08 --1.189054356e-05 6.504155139e-07 2.139984032e-06 1.353952651e-05 1.789862273e-05 --6.714180536e-06 2.139984032e-06 2.207381176e-06 7.624934188e-06 1.007555189e-05 -3.486324697e-08 1.353952651e-05 7.624934188e-06 -1.953023724e-07 -2.906880962e-07 -7.462020907e-08 1.789862273e-05 1.007555189e-05 -2.906880962e-07 -4.272532104e-07 -6.073680264e-08 -5.300671395e-06 -3.004602399e-06 4.598662933e-09 -9.637458339e-09 --5.300671395e-06 -4.635961844e-06 -8.404860521e-08 4.28215292e-06 1.010402158e-05 --3.004602399e-06 -8.404860521e-08 1.380407585e-06 2.40177309e-06 5.676876353e-06 -4.598662933e-09 4.28215292e-06 2.40177309e-06 -4.659785562e-08 -9.357882267e-08 --9.637458339e-09 1.010402158e-05 5.676876353e-06 -9.357882267e-08 -1.821062785e-07 -1.14190733e-07 -4.973245791e-06 -2.835984294e-06 -4.421992515e-08 -1.06140983e-07 --4.973245791e-06 -4.766927737e-06 -1.349838546e-08 4.026433184e-06 9.550116961e-06 --2.835984294e-06 -1.349838546e-08 1.501678402e-06 2.270399283e-06 5.385727927e-06 --4.421992515e-08 4.026433184e-06 2.270399283e-06 -2.808781488e-09 -5.655190653e-09 --1.06140983e-07 9.550116961e-06 5.385727927e-06 -5.655190653e-09 -1.102493432e-08 -1.2900531e-07 -5.602735375e-06 -3.182594512e-06 -5.961908063e-08 -1.087220092e-07 --5.602735375e-06 -2.698963411e-06 3.99051355e-07 5.336392713e-06 9.707273838e-06 --3.182594512e-06 3.99051355e-07 1.309064414e-06 3.009725887e-06 5.4749955e-06 --5.961908063e-08 5.336392713e-06 3.009725887e-06 -3.121488635e-09 -5.421825932e-09 --1.087220092e-07 9.707273838e-06 5.4749955e-06 -5.421825932e-09 -9.396300589e-09 -0.07122917675 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02760218266 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.09130731611 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03507633081 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001394852919 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000755798249 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009443235921 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009904162242 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.168082251e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002887427071 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.471829547e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.618541009e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.484855503e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03152231168 0.06457752283 0.1092075134 0 0 -0.06457752283 0.05701176078 0.017012916 0 0 -0.1092075134 0.017012916 0.07726034838 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06891660594 0.004771683477 0.009909961967 0 0 -0.004771683477 0.02647184254 -0.01025003919 0 0 -0.009909961967 -0.01025003919 0.01490409155 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02253708112 0.01893363171 0.03387357217 0 0 -0.01893363171 0.007187208907 0.003814432146 0 0 -0.03387357217 0.003814432146 0.01196006385 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005531539143 0.0001792120091 0.0003464505595 0 0 -0.0001792120091 0.007030233359 0.01497919778 0 0 -0.0003464505595 0.01497919778 0.02561624406 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00064499475 0.0005522945533 0.000981218702 0 0 -0.0005522945533 -0.0004653189345 -0.0008207623747 0 0 -0.000981218702 -0.0008207623747 -0.001464721336 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003332128531 0.0003048676716 0.0005369573444 0 0 -0.0003048676716 -1.610026458e-06 -0.0005848582608 0 0 -0.0005369573444 -0.0005848582608 -0.0007478222197 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003757589137 6.150180095e-05 0.0001033193441 0 0 -6.150180095e-05 0.0003420435946 0.0008132529633 0 0 -0.0001033193441 0.0008132529633 0.001338896341 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.183080225e-05 7.574424076e-05 0.0001349277226 0 0 -7.574424076e-05 -7.828545251e-05 -0.000150324916 0 0 -0.0001349277226 -0.000150324916 -0.0002632960618 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.994902115e-06 -3.238440498e-06 -4.923663429e-06 0 0 --3.238440498e-06 2.808270508e-05 -7.73698613e-06 0 0 --4.923663429e-06 -7.73698613e-06 1.706766086e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001494697228 5.126638347e-05 8.957826534e-05 0 0 -5.126638347e-05 2.722817569e-05 9.957665936e-05 0 0 -8.957826534e-05 9.957665936e-05 0.0001471030465 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.018220875e-05 3.550481452e-05 5.85247782e-05 0 0 -3.550481452e-05 -3.389309519e-05 -5.837365043e-05 0 0 -5.85247782e-05 -5.837365043e-05 -0.0001017871338 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.167887386e-06 -1.978826878e-07 -2.103329586e-06 0 0 --1.978826878e-07 9.889781215e-06 1.38987429e-05 0 0 --2.103329586e-06 1.38987429e-05 2.68443539e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.485939748e-05 1.968225676e-05 3.475542559e-05 0 0 -1.968225676e-05 -6.096147898e-07 9.734151838e-06 0 0 -3.475542559e-05 9.734151838e-06 1.104770513e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2186295503 0.008453381299 0.02481499391 0.003054990724 -0.007448167917 -0.008453381299 -0.05551440381 0.04841680474 0.1291846289 0.1565367407 -0.02481499391 0.04841680474 0.008404728591 -0.1510687895 0.04898743689 -0.003054990724 0.1291846289 -0.1510687895 0.04470930295 0.006320835469 --0.007448167917 0.1565367407 0.04898743689 0.006320835469 0.03835313163 --0.05171710374 -0.0106297429 -0.02188578762 -0.01142761188 0.01701529519 --0.0106297429 0.01770503367 0.08319374107 0.03345632711 0.01245460704 --0.02188578762 0.08319374107 0.122227708 -0.01404094839 -0.02001818077 --0.01142761188 0.03345632711 -0.01404094839 0.04237310156 0.01880052003 -0.01701529519 0.01245460704 -0.02001818077 0.01880052003 0.02276689899 -0.0003612022535 -0.005682565353 -0.01045600859 -0.0006499775328 0.001123072884 --0.005682565353 0.0004865631884 0.007038733577 -0.005443219358 0.008200852175 --0.01045600859 0.007038733577 0.009196005418 -0.009193765341 0.01515873096 --0.0006499775328 -0.005443219358 -0.009193765341 0.009564011631 0.01269785544 -0.001123072884 0.008200852175 0.01515873096 0.01269785544 -0.003136489313 -0.008577682974 0.0008859078067 0.001505544343 0.006723736052 -0.01082638387 -0.0008859078067 -0.005368969186 -0.0100933178 -0.003212751101 0.004765768486 -0.001505544343 -0.0100933178 -0.01792672106 -0.00538931873 0.008954378091 -0.006723736052 -0.003212751101 -0.00538931873 0.002508616855 -0.005000699806 --0.01082638387 0.004765768486 0.008954378091 -0.005000699806 0.007507215046 -0.00127253615 0.0006617054108 0.001195881082 0.0015226249 -0.002446477957 -0.0006617054108 9.413090145e-05 0.0001693997548 0.0006047361925 -0.0009248667841 -0.001195881082 0.0001693997548 0.0002971180838 0.001061210116 -0.001671215659 -0.0015226249 0.0006047361925 0.001061210116 0.001993804751 -0.002256852407 --0.002446477957 -0.0009248667841 -0.001671215659 -0.002256852407 0.004149415412 --0.0002030642279 0.0001657631212 0.0003392083629 0.0001116811423 -0.0001779196912 -0.0001657631212 -3.08543524e-05 0.0001819336826 0.0002532891457 -3.556228338e-05 -0.0003392083629 0.0001819336826 0.0001902454626 7.301696393e-05 -0.0003264318877 -0.0001116811423 0.0002532891457 7.301696393e-05 0.0002848202012 -0.0001852169078 --0.0001779196912 -3.556228338e-05 -0.0003264318877 -0.0001852169078 0.0005412758519 -0.0002165600105 -7.386639885e-05 -0.0001290296039 0.0001181686858 -0.00018935024 --7.386639885e-05 -0.000302587444 -0.0005381989621 -0.0002185043211 0.0003899084829 --0.0001290296039 -0.0005381989621 -0.0009634265561 -0.0004234273761 0.0006741143552 -0.0001181686858 -0.0002185043211 -0.0004234273761 -0.0001010780697 5.06827854e-05 --0.00018935024 0.0003899084829 0.0006741143552 5.06827854e-05 -0.00015447791 -3.959866023e-05 -9.720044934e-06 -1.969558403e-05 4.522138209e-05 -7.806224041e-05 --9.720044934e-06 2.981109758e-05 6.446530887e-05 2.657869917e-05 -2.219747652e-05 --1.969558403e-05 6.446530887e-05 0.0001136202434 1.936023982e-05 -5.524273429e-05 -4.522138209e-05 2.657869917e-05 1.936023982e-05 0.0001171987142 -4.311932929e-05 --7.806224041e-05 -2.219747652e-05 -5.524273429e-05 -4.311932929e-05 0.0001654224624 --4.699226072e-05 6.80801738e-05 0.0001286993226 6.560939377e-05 -0.0001065697651 -6.80801738e-05 -1.20478453e-05 2.11861508e-05 8.553197786e-05 -1.436153798e-05 -0.0001286993226 2.11861508e-05 1.258456564e-05 2.260664951e-05 -0.0001058540394 -6.560939377e-05 8.553197786e-05 2.260664951e-05 6.906351532e-05 -0.0001139315486 --0.0001065697651 -1.436153798e-05 -0.0001058540394 -0.0001139315486 0.0001892720166 --1.237288357e-05 -1.008539424e-05 -1.147010312e-05 6.862958554e-06 -8.560053544e-06 --1.008539424e-05 -6.148085507e-05 -9.546412862e-05 -1.768868158e-05 9.457158302e-05 --1.147010312e-05 -9.546412862e-05 -0.0001787163104 -9.44991799e-05 0.0001270181779 -6.862958554e-06 -1.768868158e-05 -9.44991799e-05 -4.840757451e-05 2.099560814e-05 --8.560053544e-06 9.457158302e-05 0.0001270181779 2.099560814e-05 -7.005689963e-05 --2.4222322e-05 -9.448971929e-06 -1.494388777e-05 -8.900848366e-06 1.491757858e-05 --9.448971929e-06 3.249563672e-06 1.670747312e-05 1.127817823e-05 1.44816277e-05 --1.494388777e-05 1.670747312e-05 2.470562241e-05 -1.160170103e-05 5.720297504e-06 --8.900848366e-06 1.127817823e-05 -1.160170103e-05 7.478447495e-06 1.525429252e-05 -1.491757858e-05 1.44816277e-05 5.720297504e-06 1.525429252e-05 -9.956534886e-06 --1.260377243e-05 7.888714039e-06 1.568095549e-05 1.162377018e-05 -1.894088935e-05 -7.888714039e-06 -2.112549065e-06 9.880109947e-06 2.148277149e-05 5.05352149e-06 -1.568095549e-05 9.880109947e-06 1.057086498e-05 -2.808582603e-06 -1.629943791e-05 -1.162377018e-05 2.148277149e-05 -2.808582603e-06 1.104980597e-05 -2.207894046e-05 --1.894088935e-05 5.05352149e-06 -1.629943791e-05 -2.207894046e-05 3.372086284e-05 --2.078704576e-05 1.266735171e-06 4.462443203e-06 6.796047889e-07 -5.650230212e-07 -1.266735171e-06 -1.576297868e-05 -1.83095369e-05 5.469551716e-06 2.695869803e-05 -4.462443203e-06 -1.83095369e-05 -3.840810619e-05 -2.650153868e-05 2.565973377e-05 -6.796047889e-07 5.469551716e-06 -2.650153868e-05 -8.874380567e-06 4.484358578e-06 --5.650230212e-07 2.695869803e-05 2.565973377e-05 4.484358578e-06 -1.348148933e-05 -0.0001220931155 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001409584058 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.04911623e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.10916109e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.561563871e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.673917988e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.800155587e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.186729762e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.564375566e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.60714381e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.095285921e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.075518113e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.878114545e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04555434511 0.02753820771 0.08024044635 0 0 -0.02753820771 2.069057986e-06 0.0001353535521 0 0 -0.08024044635 0.0001353535521 0.0007722205225 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001265937692 0.0007277533438 0.0008599962142 0 0 -0.0007277533438 1.337278442e-06 8.638890821e-05 0 0 -0.0008599962142 8.638890821e-05 0.0002194436279 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001297500096 -0.0008219636628 0.0004617899744 0 0 --0.0008219636628 -5.814263531e-08 -3.702523678e-06 0 0 -0.0004617899744 -3.702523678e-06 4.151814214e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.837996766e-05 -6.884872402e-05 0.0002933778767 0 0 --6.884872402e-05 -4.820592424e-08 -2.98113591e-06 0 0 -0.0002933778767 -2.98113591e-06 2.611395118e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.340117743e-05 2.005243119e-05 8.990795148e-05 0 0 -2.005243119e-05 6.545321697e-10 4.333103383e-08 0 0 -8.990795148e-05 4.333103383e-08 3.75498679e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.448223839e-05 4.534130857e-05 2.60691264e-05 0 0 -4.534130857e-05 -1.974622721e-08 -1.268433254e-06 0 0 -2.60691264e-05 -1.268433254e-06 -1.402455722e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.646002128e-06 -2.630095771e-06 2.07311845e-05 0 0 --2.630095771e-06 9.402283763e-10 5.642269493e-08 0 0 -2.07311845e-05 5.642269493e-08 -9.500460541e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.718375439e-06 5.489055202e-06 1.330924723e-05 0 0 -5.489055202e-06 1.073155531e-09 6.994494842e-08 0 0 -1.330924723e-05 6.994494842e-08 3.343424594e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.906421977e-05 1.232831285e-05 2.09512159e-05 0 0 -1.232831285e-05 7.067521546e-10 4.58047788e-08 0 0 -2.09512159e-05 4.58047788e-08 1.538932164e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.697351728e-06 2.668668261e-06 2.090869047e-05 0 0 -2.668668261e-06 -3.504150426e-10 -2.378401203e-08 0 0 -2.090869047e-05 -2.378401203e-08 -3.509494986e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.334833922e-06 3.49012442e-06 9.266965719e-06 0 0 -3.49012442e-06 -5.621746234e-10 -3.670037136e-08 0 0 -9.266965719e-06 -3.670037136e-08 -1.903869905e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.439274098e-06 3.423375293e-06 9.118784169e-06 0 0 -3.423375293e-06 -8.574726888e-11 -5.598468581e-09 0 0 -9.118784169e-06 -5.598468581e-09 -2.920330431e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.857328718e-06 2.446280826e-06 9.738314522e-06 0 0 -2.446280826e-06 5.50437015e-11 3.630138008e-09 0 0 -9.738314522e-06 3.630138008e-09 2.803738703e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006233575501 -0.0005447377687 -0.05294985047 0.0007506233403 -4.033718614e-05 --0.0005447377687 0.0003468402862 0.02212815245 -0.0008615779969 5.148530689e-05 --0.05294985047 0.02212815245 -0.01418579863 -0.102187216 0.006460442332 -0.0007506233403 -0.0008615779969 -0.102187216 0.0005765962359 -2.273180382e-05 --4.033718614e-05 5.148530689e-05 0.006460442332 -2.273180382e-05 5.698985171e-07 -0.0001633519216 -0.0001036474812 -0.005637565033 0.000262818877 -1.938677085e-05 --0.0001036474812 6.435614425e-05 0.004104551433 -0.0001608829045 1.079042473e-05 --0.005637565033 0.004104551433 -0.002970575611 -0.0112710543 0.001234740312 -0.000262818877 -0.0001608829045 -0.0112710543 0.0003983344502 -2.488951723e-05 --1.938677085e-05 1.079042473e-05 0.001234740312 -2.488951723e-05 6.809561925e-07 --6.393892203e-08 3.010179084e-06 0.0003750981357 2.617191344e-06 5.695052945e-09 -3.010179084e-06 -1.422219628e-05 -0.0009057350909 1.726813078e-06 -4.303352891e-06 -0.0003750981357 -0.0009057350909 0.0009988204176 0.001064322168 -0.0005636652107 -2.617191344e-06 1.726813078e-06 0.001064322168 1.531150277e-05 -4.187563258e-06 -5.695052945e-09 -4.303352891e-06 -0.0005636652107 -4.187563258e-06 1.272095892e-07 -7.501800077e-06 1.506297044e-06 -0.0002982605428 8.074884208e-06 5.778422579e-06 -1.506297044e-06 -4.6647493e-06 -0.0002957950306 2.097160575e-06 -3.651918115e-06 --0.0002982605428 -0.0002957950306 0.0006544942213 -0.0002984487186 -0.0004582858686 -8.074884208e-06 2.097160575e-06 -0.0002984487186 8.646173098e-06 6.680796711e-06 -5.778422579e-06 -3.651918115e-06 -0.0004582858686 6.680796711e-06 -2.11034929e-07 -1.909781019e-08 -1.447988026e-07 -5.268350524e-06 8.926078566e-08 -2.841452849e-07 --1.447988026e-07 9.135653088e-07 5.75428802e-05 -2.520785709e-07 1.26939279e-06 --5.268350524e-06 5.75428802e-05 -0.0002271719071 -6.517825972e-05 0.0001628934392 -8.926078566e-08 -2.520785709e-07 -6.517825972e-05 -5.614866368e-07 7.113369276e-07 --2.841452849e-07 1.26939279e-06 0.0001628934392 7.113369276e-07 -2.210757106e-08 --5.616675824e-07 1.511367418e-07 -1.555969714e-05 -1.298815271e-06 1.569064807e-07 -1.511367418e-07 2.34174501e-07 1.493596405e-05 2.806938179e-07 5.440826497e-08 --1.555969714e-05 1.493596405e-05 -1.065100441e-05 -3.867137494e-05 8.125895309e-06 --1.298815271e-06 2.806938179e-07 -3.867137494e-05 -2.98619372e-06 3.386464317e-07 -1.569064807e-07 5.440826497e-08 8.125895309e-06 3.386464317e-07 -9.860038836e-09 -1.211618538e-07 -2.535135691e-08 -8.165655693e-06 1.213273699e-07 8.479107564e-08 --2.535135691e-08 -7.949878073e-08 -5.02090372e-06 -5.122375114e-08 -8.98614821e-08 --8.165655693e-06 -5.02090372e-06 1.63143652e-05 -1.022713327e-05 -1.14374664e-05 -1.213273699e-07 -5.122375114e-08 -1.022713327e-05 1.136208846e-07 6.29333905e-08 -8.479107564e-08 -8.98614821e-08 -1.14374664e-05 6.29333905e-08 -1.995823928e-09 -1.980349916e-07 -1.912850048e-07 -9.185076889e-06 3.18414485e-07 -1.724128014e-07 --1.912850048e-07 1.74332949e-07 1.10454354e-05 -2.816597874e-07 1.277020965e-07 --9.185076889e-06 1.10454354e-05 -2.679821882e-05 -2.016474154e-05 1.608736936e-05 -3.18414485e-07 -2.816597874e-07 -2.016474154e-05 4.476588692e-07 -1.807976468e-07 --1.724128014e-07 1.277020965e-07 1.608736936e-05 -1.807976468e-07 5.544437934e-09 -1.227277953e-07 -1.633603143e-07 -1.797831837e-05 9.704489735e-08 -8.432121772e-09 --1.633603143e-07 1.043211052e-07 6.657955021e-06 -2.726314601e-07 2.010558396e-08 --1.797831837e-05 6.657955021e-06 -3.66653736e-06 -3.612006674e-05 2.591346102e-06 -9.704489735e-08 -2.726314601e-07 -3.612006674e-05 -1.051866837e-07 4.595745563e-09 --8.432121772e-09 2.010558396e-08 2.591346102e-06 4.595745563e-09 -1.180012951e-10 --6.772345517e-09 -7.415670889e-08 -9.506979087e-06 -8.225336623e-08 3.77155162e-10 --7.415670889e-08 7.452609587e-09 4.927547786e-07 -1.358836385e-07 -1.782685848e-08 --9.506979087e-06 4.927547786e-07 4.11702125e-06 -1.785225218e-05 -2.273027652e-06 --8.225336623e-08 -1.358836385e-07 -1.785225218e-05 -2.85251422e-07 -1.591089962e-08 -3.77155162e-10 -1.782685848e-08 -2.273027652e-06 -1.591089962e-08 5.67302809e-10 -3.868205515e-08 -5.163812782e-08 -5.082228531e-06 3.556222443e-08 -1.097010073e-08 --5.163812782e-08 4.871647304e-08 3.097095445e-06 -7.897178189e-08 2.266570248e-08 --5.082228531e-06 3.097095445e-06 -4.801419952e-06 -1.041724677e-05 2.904287228e-06 -3.556222443e-08 -7.897178189e-08 -1.041724677e-05 -1.638059013e-08 2.411875536e-09 --1.097010073e-08 2.266570248e-08 2.904287228e-06 2.411875536e-09 -7.141911811e-11 -7.097082092e-08 -6.014738854e-08 -6.158246868e-06 8.273009806e-08 -2.948036944e-09 --6.014738854e-08 3.251858896e-08 2.075088567e-06 -9.591044413e-08 3.745509342e-09 --6.158246868e-06 2.075088567e-06 -1.220831937e-06 -1.157317699e-05 4.682439024e-07 -8.273009806e-08 -9.591044413e-08 -1.157317699e-05 6.03794873e-08 -1.693401164e-09 --2.948036944e-09 3.745509342e-09 4.682439024e-07 -1.693401164e-09 3.819410464e-11 -3.668551983e-08 -4.897923228e-08 -5.595901859e-06 2.612070488e-08 -1.570616546e-09 --4.897923228e-08 2.491953077e-08 1.590746319e-06 -8.217873651e-08 4.057318104e-09 --5.595901859e-06 1.590746319e-06 -7.892707811e-07 -1.085734121e-05 5.244022609e-07 -2.612070488e-08 -8.217873651e-08 -1.085734121e-05 -3.669096158e-08 1.172960021e-09 --1.570616546e-09 4.057318104e-09 5.244022609e-07 1.172960021e-09 -2.771036409e-11 -0.01717447434 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0265714204 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007037761558 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002353228766 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.390977821e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002065585535 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.888990029e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.754921084e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.956628224e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.97222538e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.732973552e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.898980051e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.490747155e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1077955092 0.06348875299 -0.1133288813 0 0 -0.06348875299 0.009479165449 -0.0169563745 0 0 --0.1133288813 -0.0169563745 0.03033153209 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0494703404 0.02134811298 -0.03853527987 0 0 -0.02134811298 0.01921707467 -0.03453048515 0 0 --0.03853527987 -0.03453048515 0.06204619214 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007989380252 -0.0006942946302 0.00114720332 0 0 --0.0006942946302 0.01193579186 -0.02151853375 0 0 -0.00114720332 -0.02151853375 0.0387934931 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002868950006 -0.002857459076 0.005155771069 0 0 --0.002857459076 0.00281069257 -0.005067969618 0 0 -0.005155771069 -0.005067969618 0.009137738525 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000982847797 -0.0006887097337 0.001230788803 0 0 --0.0006887097337 0.0002556820143 -0.0004574569487 0 0 -0.001230788803 -0.0004574569487 0.0008184629834 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002536302945 -1.579150548e-05 2.337584619e-05 0 0 --1.579150548e-05 -0.0003767203891 0.0006694476599 0 0 -2.337584619e-05 0.0006694476599 -0.001189549723 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002902883773 0.0003219338785 -0.0005717283673 0 0 -0.0003219338785 -0.0003439317917 0.0006116940048 0 0 --0.0005717283673 0.0006116940048 -0.001087853833 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.558512857e-05 2.539888214e-05 -4.546529724e-05 0 0 -2.539888214e-05 -3.943186741e-05 7.056168328e-05 0 0 --4.546529724e-05 7.056168328e-05 -0.0001262668988 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.697095253e-05 2.906932008e-05 -5.240009737e-05 0 0 -2.906932008e-05 4.429717509e-05 -7.953075039e-05 0 0 --5.240009737e-05 -7.953075039e-05 0.000142788339 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.54154873e-05 -2.902663564e-05 5.236797925e-05 0 0 --2.902663564e-05 2.023592496e-05 -3.644091677e-05 0 0 -5.236797925e-05 -3.644091677e-05 6.562141261e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.084178562e-06 -8.276863539e-07 1.508411015e-06 0 0 --8.276863539e-07 1.326851436e-05 -2.374484157e-05 0 0 -1.508411015e-06 -2.374484157e-05 4.249279745e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.474580031e-06 -2.759789406e-06 4.865641738e-06 0 0 --2.759789406e-06 -1.254525179e-06 2.232974616e-06 0 0 -4.865641738e-06 2.232974616e-06 -3.974363919e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.20236806e-05 1.013179608e-05 -1.794135015e-05 0 0 -1.013179608e-05 -6.034086196e-06 1.073047021e-05 0 0 --1.794135015e-05 1.073047021e-05 -1.908093114e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009069442211 -0.0005275814922 0.001074714225 0.006328968627 0.01019903271 --0.0005275814922 -0.008124698491 0.01443091605 -0.005570211607 -0.008969116498 -0.001074714225 0.01443091605 -0.02562980423 0.009994844597 0.0160937537 -0.006328968627 -0.005570211607 0.009994844597 0.001098361683 0.001774579539 -0.01019903271 -0.008969116498 0.0160937537 0.001774579539 0.002867092492 -0.01022611727 0.0002152629431 -0.0003656244524 0.00723396414 0.01185226362 -0.0002152629431 -0.006220418048 0.01113281347 -0.003524331693 -0.005809627669 --0.0003656244524 0.01113281347 -0.01992459357 0.006321217335 0.01041996963 -0.00723396414 -0.003524331693 0.006321217335 0.002945816418 0.004805634632 -0.01185226362 -0.005809627669 0.01041996963 0.004805634632 0.007839286909 -0.00444309915 0.0004532646009 -0.0008643128689 0.003135973541 0.005234598767 -0.0004532646009 -0.00146428312 0.002649267457 -0.0004221555399 -0.0007576091134 --0.0008643128689 0.002649267457 -0.004792784059 0.0007347811 0.001322449495 -0.003135973541 -0.0004221555399 0.0007347811 0.001848836682 0.003060087735 -0.005234598767 -0.0007576091134 0.001322449495 0.003060087735 0.005062659042 -0.0006284262471 0.0001533460118 -0.0003004000976 0.0004112155646 0.0007183056168 -0.0001533460118 2.701151838e-05 -5.135916483e-05 0.0001113020669 0.0001863526296 --0.0003004000976 -5.135916483e-05 9.733120614e-05 -0.000219675316 -0.0003667143421 -0.0004112155646 0.0001113020669 -0.000219675316 0.0002575423551 0.0004583672692 -0.0007183056168 0.0001863526296 -0.0003667143421 0.0004583672692 0.0008092551259 -3.000714177e-05 1.234190839e-05 -2.408898692e-05 1.344478371e-05 2.594106644e-05 -1.234190839e-05 -1.095258797e-05 1.737892348e-05 -1.59571254e-05 -2.111353031e-05 --2.408898692e-05 1.737892348e-05 -2.711359057e-05 2.57852656e-05 3.328119376e-05 -1.344478371e-05 -1.59571254e-05 2.57852656e-05 -2.277974404e-05 -3.098290975e-05 -2.594106644e-05 -2.111353031e-05 3.328119376e-05 -3.098290975e-05 -4.059579496e-05 -5.1835126e-05 2.043491842e-06 -4.717216816e-06 4.099361542e-05 6.831098359e-05 -2.043491842e-06 -4.392474003e-05 7.965152503e-05 -2.80212612e-05 -4.706744532e-05 --4.717216816e-06 7.965152503e-05 -0.0001444174699 5.003955669e-05 8.406232065e-05 -4.099361542e-05 -2.80212612e-05 5.003955669e-05 1.245904143e-05 2.05100632e-05 -6.831098359e-05 -4.706744532e-05 8.406232065e-05 2.05100632e-05 3.375540604e-05 -1.402332424e-05 4.004868768e-06 -8.412003865e-06 9.386608257e-06 1.724323131e-05 -4.004868768e-06 1.091737713e-06 -2.233987893e-06 2.841612298e-06 5.061446167e-06 --8.412003865e-06 -2.233987893e-06 4.50085573e-06 -6.151698241e-06 -1.078713885e-05 -9.386608257e-06 2.841612298e-06 -6.151698241e-06 5.784947323e-06 1.111782919e-05 -1.724323131e-05 5.061446167e-06 -1.078713885e-05 1.111782919e-05 2.084142106e-05 -8.997116115e-06 2.858353159e-06 -5.449125561e-06 5.514256385e-06 9.68486016e-06 -2.858353159e-06 7.332407879e-07 -1.463315515e-06 1.263576491e-06 2.390025342e-06 --5.449125561e-06 -1.463315515e-06 2.889947466e-06 -2.591712229e-06 -4.813505223e-06 -5.514256385e-06 1.263576491e-06 -2.591712229e-06 2.016051743e-06 4.017739907e-06 -9.68486016e-06 2.390025342e-06 -4.813505223e-06 4.017739907e-06 7.72727024e-06 -1.254088881e-06 -3.957772961e-07 6.980358593e-07 1.034502066e-06 1.679536088e-06 --3.957772961e-07 -4.140890191e-06 7.445570205e-06 -3.676846604e-06 -5.96504986e-06 -6.980358593e-07 7.445570205e-06 -1.338744102e-05 6.596606952e-06 1.070184477e-05 -1.034502066e-06 -3.676846604e-06 6.596606952e-06 -1.778026717e-06 -2.883217229e-06 -1.679536088e-06 -5.96504986e-06 1.070184477e-05 -2.883217229e-06 -4.675372793e-06 -1.53166933e-07 -5.403786615e-08 -1.352491234e-08 -1.048339941e-07 -1.084416148e-08 --5.403786615e-08 -3.081093129e-07 4.29817533e-07 -4.31203932e-07 -5.224285903e-07 --1.352491234e-08 4.29817533e-07 -5.510011046e-07 6.175024524e-07 6.846373217e-07 --1.048339941e-07 -4.31203932e-07 6.175024524e-07 -5.982319098e-07 -7.456537941e-07 --1.084416148e-08 -5.224285903e-07 6.846373217e-07 -7.456537941e-07 -8.45704404e-07 -2.157032303e-06 4.740072313e-07 -9.089735121e-07 1.594278614e-06 2.708147335e-06 -4.740072313e-07 -2.001908327e-07 3.680480967e-07 2.549529617e-07 3.937148099e-07 --9.089735121e-07 3.680480967e-07 -6.762221495e-07 -4.938731895e-07 -7.654870274e-07 -1.594278614e-06 2.549529617e-07 -4.938731895e-07 1.148446655e-06 1.93848994e-06 -2.708147335e-06 3.937148099e-07 -7.654870274e-07 1.93848994e-06 3.266798414e-06 -7.212528712e-07 -3.024513743e-08 3.521335774e-08 5.922722625e-07 9.872256012e-07 --3.024513743e-08 -1.007696121e-06 1.829233661e-06 -7.61707046e-07 -1.267961201e-06 -3.521335774e-08 1.829233661e-06 -3.320003674e-06 1.365927273e-06 2.273729213e-06 -5.922722625e-07 -7.61707046e-07 1.365927273e-06 -5.179697373e-08 -8.510631339e-08 -9.872256012e-07 -1.267961201e-06 2.273729213e-06 -8.510631339e-08 -1.398096098e-07 -3.446134245e-07 -1.113284375e-08 3.439792114e-08 2.228466296e-07 3.482570248e-07 --1.113284375e-08 -2.058888893e-07 3.573481013e-07 -1.216035228e-07 -1.86690725e-07 -3.439792114e-08 3.573481013e-07 -6.195677805e-07 2.210781402e-07 3.396761012e-07 -2.228466296e-07 -1.216035228e-07 2.210781402e-07 8.064610852e-08 1.278875462e-07 -3.482570248e-07 -1.86690725e-07 3.396761012e-07 1.278875462e-07 2.027053428e-07 -0.02816488868 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03125113573 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.006170259636 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00585601796 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.165379649e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001051654701 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.091152894e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.136290647e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.453265892e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.343857476e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.263379198e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.12681743e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.909333344e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03388837728 -0.0001224664567 0.001042021064 0 0 --0.0001224664567 0.0206122665 -0.03785711592 0 0 -0.001042021064 -0.03785711592 0.06950983029 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02381891313 -0.02071707591 0.03776884775 0 0 --0.02071707591 0.01348866107 -0.02479120073 0 0 -0.03776884775 -0.02479120073 0.04555263361 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003669329813 -0.001010865569 0.001675378623 0 0 --0.001010865569 0.000658279463 -0.001180548944 0 0 -0.001675378623 -0.001180548944 0.002113559143 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004539338401 -0.001157970895 0.002266754469 0 0 --0.001157970895 5.651312938e-05 -0.0001560208599 0 0 -0.002266754469 -0.0001560208599 0.0003856498573 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006674384657 6.377976777e-05 -8.318840745e-05 0 0 -6.377976777e-05 -7.160778747e-05 0.0001249065449 0 0 --8.318840745e-05 0.0001249065449 -0.0002167889435 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001324441649 0.0001619337845 -0.0002817366167 0 0 -0.0001619337845 -9.37962398e-05 0.0001682258268 0 0 --0.0002817366167 0.0001682258268 -0.0003012031598 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001343003581 -3.736499249e-05 7.183886891e-05 0 0 --3.736499249e-05 5.497230907e-06 -1.123195692e-05 0 0 -7.183886891e-05 -1.123195692e-05 2.277954629e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.078645388e-06 -8.508165816e-06 1.471634727e-05 0 0 --8.508165816e-06 1.749928191e-05 -3.179318479e-05 0 0 -1.471634727e-05 -3.179318479e-05 5.771773326e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.998122872e-05 4.188657926e-05 -7.605929941e-05 0 0 -4.188657926e-05 -1.421901744e-05 2.604252374e-05 0 0 --7.605929941e-05 2.604252374e-05 -4.767915574e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.917468795e-05 1.92235867e-05 -3.477869097e-05 0 0 -1.92235867e-05 -6.477896453e-06 1.182203304e-05 0 0 --3.477869097e-05 1.182203304e-05 -2.156323967e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.38188247e-07 -5.869508639e-07 1.126905306e-06 0 0 --5.869508639e-07 2.778706097e-06 -5.060475034e-06 0 0 -1.126905306e-06 -5.060475034e-06 9.209968536e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.915093809e-06 2.254151788e-06 -4.05516103e-06 0 0 -2.254151788e-06 8.21555981e-07 -1.512737439e-06 0 0 --4.05516103e-06 -1.512737439e-06 2.784849648e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.876046171e-05 9.254927177e-06 -1.667008317e-05 0 0 -9.254927177e-06 -2.868871193e-06 5.239519846e-06 0 0 --1.667008317e-05 5.239519846e-06 -9.564246048e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05899115051 0.03517946092 -0.06441907404 0.00287295378 0.003117931204 -0.03517946092 -0.005597296182 0.01034347959 0.004514545421 0.006880641908 --0.06441907404 0.01034347959 -0.01911200086 -0.008228794498 -0.01254614058 -0.00287295378 0.004514545421 -0.008228794498 0.002381593036 0.003386790925 -0.003117931204 0.006880641908 -0.01254614058 0.003386790925 0.004801261605 -0.005237506807 -0.01041221902 0.01934802097 -0.004829787411 -0.007111106106 --0.01041221902 0.01798086428 -0.03331661546 0.006796102774 0.009823526716 -0.01934802097 -0.03331661546 0.06172825883 -0.0125300038 -0.01810261392 --0.004829787411 0.006796102774 -0.0125300038 0.001558640247 0.002106348836 --0.007111106106 0.009823526716 -0.01810261392 0.002106348836 0.0028114513 -0.0009132436927 -0.002969279587 0.0053349404 -0.0001474788648 -5.217034829e-05 --0.002969279587 0.004194483432 -0.007663808172 0.0008847870224 0.00119195669 -0.0053349404 -0.007663808172 0.01399581096 -0.00158024083 -0.002117723001 --0.0001474788648 0.0008847870224 -0.00158024083 -6.268323663e-06 -6.746417517e-05 --5.217034829e-05 0.00119195669 -0.002117723001 -6.746417517e-05 -0.0001884521236 --0.0002146063931 -0.0004706985362 0.0008655479838 -0.0003153698549 -0.0004686151381 --0.0004706985362 -0.0002680716514 0.0004455360921 -4.961360473e-05 -5.456412464e-05 -0.0008655479838 0.0004455360921 -0.0007291572514 5.140421473e-05 3.996577331e-05 --0.0003153698549 -4.961360473e-05 5.140421473e-05 7.596585611e-05 0.0001289735764 --0.0004686151381 -5.456412464e-05 3.996577331e-05 0.0001289735764 0.0002160396701 -0.001123799172 -0.0001466964092 0.0003522091448 -0.0001183010687 -0.0001939881528 --0.0001466964092 -0.0003791979587 0.0006513698992 -0.0001062152433 -0.0001475890861 -0.0003522091448 0.0006513698992 -0.001110387117 0.0001758973225 0.0002419010111 --0.0001183010687 -0.0001062152433 0.0001758973225 -2.470166634e-05 -3.2387399e-05 --0.0001939881528 -0.0001475890861 0.0002419010111 -3.2387399e-05 -4.157027503e-05 --0.0001491314378 9.256346096e-05 -0.00017352906 3.520812811e-05 5.061119425e-05 -9.256346096e-05 -3.63273207e-05 6.850351988e-05 -8.407526341e-06 -1.037922064e-05 --0.00017352906 6.850351988e-05 -0.0001291671335 1.601656309e-05 1.985679618e-05 -3.520812811e-05 -8.407526341e-06 1.601656309e-05 2.454722598e-07 1.438983759e-06 -5.061119425e-05 -1.037922064e-05 1.985679618e-05 1.438983759e-06 3.767650505e-06 -2.783387612e-05 -1.820335024e-05 3.598410442e-05 -1.279931842e-05 -1.996331776e-05 --1.820335024e-05 -2.324796947e-06 1.619379261e-06 2.909383587e-06 5.389910182e-06 -3.598410442e-05 1.619379261e-06 2.059730051e-06 -6.893502555e-06 -1.225810147e-05 --1.279931842e-05 2.909383587e-06 -6.893502555e-06 3.789661005e-06 6.237832109e-06 --1.996331776e-05 5.389910182e-06 -1.225810147e-05 6.237832109e-06 1.018830822e-05 -1.193104302e-05 1.580203604e-05 -2.793896714e-05 5.265530247e-06 7.474641972e-06 -1.580203604e-05 5.002719945e-06 -9.076995051e-06 5.51113858e-06 8.201573266e-06 --2.793896714e-05 -9.076995051e-06 1.645528476e-05 -9.765327893e-06 -1.452560871e-05 -5.265530247e-06 5.51113858e-06 -9.765327893e-06 2.189485988e-06 3.142811468e-06 -7.474641972e-06 8.201573266e-06 -1.452560871e-05 3.142811468e-06 4.501688766e-06 --8.122255277e-05 4.107918827e-05 -7.68520647e-05 1.386905459e-05 2.00123741e-05 -4.107918827e-05 -1.937203957e-05 3.626406876e-05 -6.430278831e-06 -9.137837456e-06 --7.68520647e-05 3.626406876e-05 -6.78852271e-05 1.203922977e-05 1.711095683e-05 -1.386905459e-05 -6.430278831e-06 1.203922977e-05 -2.125189606e-06 -3.007996748e-06 -2.00123741e-05 -9.137837456e-06 1.711095683e-05 -3.007996748e-06 -4.241803648e-06 --2.21534984e-06 5.975479991e-06 -1.035070709e-05 1.709364463e-06 2.285979081e-06 -5.975479991e-06 -5.941463481e-06 1.064784706e-05 -1.742902862e-06 -2.461407887e-06 --1.035070709e-05 1.064784706e-05 -1.904847928e-05 3.119393284e-06 4.393264772e-06 -1.709364463e-06 -1.742902862e-06 3.119393284e-06 -5.107739961e-07 -7.198698588e-07 -2.285979081e-06 -2.461407887e-06 4.393264772e-06 -7.198698588e-07 -1.010236849e-06 --2.854769566e-06 1.501526408e-06 -2.692383698e-06 -3.215361555e-07 -5.559612493e-07 -1.501526408e-06 2.607062006e-06 -4.805667024e-06 1.719163591e-06 2.539814355e-06 --2.692383698e-06 -4.805667024e-06 8.856885115e-06 -3.14238378e-06 -4.640774193e-06 --3.215361555e-07 1.719163591e-06 -3.14238378e-06 6.711047622e-07 9.629173853e-07 --5.559612493e-07 2.539814355e-06 -4.640774193e-06 9.629173853e-07 1.378642065e-06 --9.17418259e-06 4.016120446e-06 -7.496797571e-06 4.253215067e-07 5.551273495e-07 -4.016120446e-06 -8.411818916e-07 1.570521233e-06 3.342446214e-07 5.119866533e-07 --7.496797571e-06 1.570521233e-06 -2.932227606e-06 -6.237524476e-07 -9.554608375e-07 -4.253215067e-07 3.342446214e-07 -6.237524476e-07 2.756727929e-07 4.027912098e-07 -5.551273495e-07 5.119866533e-07 -9.554608375e-07 4.027912098e-07 5.880791482e-07 --5.307970964e-06 5.750568549e-06 -1.033379471e-05 1.496395673e-06 2.057226809e-06 -5.750568549e-06 -4.227389899e-06 7.704536268e-06 -1.055970167e-06 -1.496552188e-06 --1.033379471e-05 7.704536268e-06 -1.403316532e-05 1.928034258e-06 2.728760187e-06 -1.496395673e-06 -1.055970167e-06 1.928034258e-06 -2.623442855e-07 -3.733161292e-07 -2.057226809e-06 -1.496552188e-06 2.728760187e-06 -3.733161292e-07 -5.296163989e-07 -0.0001673406473 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002003361651 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.354755519e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.039799485e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.8889869e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.108461867e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.762567127e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.949094036e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.131710459e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.348460504e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.41829067e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.11285485e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.770314065e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04308582062 0.05160491489 -0.06041967294 0 0 -0.05160491489 0.0006654289633 -0.0005732866975 0 0 --0.06041967294 -0.0005732866975 0.0004309292003 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004815660173 3.654300464e-05 -0.0003698715954 0 0 -3.654300464e-05 7.694872459e-05 -0.0001583462427 0 0 --0.0003698715954 -0.0001583462427 0.0001518072852 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009311105233 0.0008759082245 0.0002751044147 0 0 -0.0008759082245 1.733094173e-05 -2.038174578e-06 0 0 -0.0002751044147 -2.038174578e-06 -3.059306443e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.185122332e-06 0.0001867560876 -8.801112722e-05 0 0 -0.0001867560876 2.572165573e-05 -1.318464669e-05 0 0 --8.801112722e-05 -1.318464669e-05 6.714417403e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.061264007e-05 0.0001418360532 -6.00244567e-05 0 0 -0.0001418360532 1.799480443e-06 -8.790767508e-07 0 0 --6.00244567e-05 -8.790767508e-07 4.21751669e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.709429685e-05 -7.868729912e-06 -5.341606321e-05 0 0 --7.868729912e-06 5.116606954e-07 1.388662438e-06 0 0 --5.341606321e-05 1.388662438e-06 -1.695334451e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.839721384e-06 1.765800525e-05 -1.179114764e-05 0 0 -1.765800525e-05 -1.304488841e-06 7.970356529e-07 0 0 --1.179114764e-05 7.970356529e-07 -4.827318579e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.774022879e-06 1.517815477e-05 -1.04524791e-05 0 0 -1.517815477e-05 3.7024883e-07 -2.299888207e-07 0 0 --1.04524791e-05 -2.299888207e-07 1.411872566e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.855734099e-05 8.693732913e-06 -1.925841188e-05 0 0 -8.693732913e-06 1.391419632e-07 -1.916786876e-07 0 0 --1.925841188e-05 -1.916786876e-07 1.696517619e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.187648481e-06 1.53973702e-05 -1.421512889e-05 0 0 -1.53973702e-05 -2.436841411e-07 1.800583146e-07 0 0 --1.421512889e-05 1.800583146e-07 -1.24704876e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.327145012e-06 8.789473452e-06 -8.307196353e-06 0 0 -8.789473452e-06 -2.669694918e-07 2.002941224e-07 0 0 --8.307196353e-06 2.002941224e-07 -1.399780108e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.630544901e-06 5.754054534e-06 -7.546723752e-06 0 0 -5.754054534e-06 -4.881917315e-08 4.557333752e-08 0 0 --7.546723752e-06 4.557333752e-08 -3.550810052e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.374922915e-06 6.769850916e-06 -7.029646277e-06 0 0 -6.769850916e-06 3.505997374e-08 -2.790544058e-08 0 0 --7.029646277e-06 -2.790544058e-08 2.01570342e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008835338798 -0.04407979254 0.02464202114 -0.0005208638784 0.0009893575451 --0.04407979254 -0.03450251698 -0.00355796865 0.04053338081 -0.08049967733 -0.02464202114 -0.00355796865 0.01452698876 -0.02251067218 0.04468340266 --0.0005208638784 0.04053338081 -0.02251067218 0.0002123180435 -0.00038043955 -0.0009893575451 -0.08049967733 0.04468340266 -0.00038043955 0.000673716669 -0.0001871524418 -0.003401891739 0.001972982295 -0.0001428630644 0.0002960576885 --0.003401891739 -0.005142247981 -0.000441316409 0.002907718818 -0.00715994594 -0.001972982295 -0.000441316409 0.002066547053 -0.00167048794 0.004061619623 --0.0001428630644 0.002907718818 -0.00167048794 0.0001076117681 -0.0002177413092 -0.0002960576885 -0.00715994594 0.004061619623 -0.0002177413092 0.0004211123631 --7.280972268e-07 0.0001152375257 -6.635415654e-05 -8.925908125e-07 -2.104197538e-06 -0.0001152375257 0.001507914785 -1.999189121e-05 0.0001445732468 0.0009092045641 --6.635415654e-05 -1.999189121e-05 -0.0004404861867 -8.310396314e-05 -0.0004987723802 --8.925908125e-07 0.0001445732468 -8.310396314e-05 -1.093695405e-06 -2.483268286e-06 --2.104197538e-06 0.0009092045641 -0.0004987723802 -2.483268286e-06 1.07302205e-05 -1.296270773e-05 -0.0002794263012 0.0001515173583 -1.439451449e-05 9.861791703e-06 --0.0002794263012 0.0004325923068 -0.0001017899563 0.000436598606 -0.0001415051615 -0.0001515173583 -0.0001017899563 -1.995816819e-05 -0.0002397429845 7.504230086e-05 --1.439451449e-05 0.000436598606 -0.0002397429845 1.313088963e-05 -1.255687988e-05 -9.861791703e-06 -0.0001415051615 7.504230086e-05 -1.255687988e-05 6.599042529e-06 -2.486536042e-07 -2.445458993e-05 1.356738151e-05 2.076540935e-07 3.722545777e-07 --2.445458993e-05 -8.502616718e-05 4.272510397e-05 -3.169725148e-05 -8.905300561e-05 -1.356738151e-05 4.272510397e-05 -2.124441469e-05 1.756546566e-05 4.931285357e-05 -2.076540935e-07 -3.169725148e-05 1.756546566e-05 1.223632056e-07 7.342017943e-08 -3.722545777e-07 -8.905300561e-05 4.931285357e-05 7.342017943e-08 -5.471708333e-07 --4.746588553e-07 -1.245172889e-05 6.396523461e-06 3.059846715e-07 -1.431014496e-06 --1.245172889e-05 -5.075466292e-05 2.918426579e-06 1.114013649e-06 -4.920349088e-05 -6.396523461e-06 2.918426579e-06 1.233867216e-05 7.896875017e-09 2.625499914e-05 -3.059846715e-07 1.114013649e-06 7.896875017e-09 -2.403750719e-08 1.214742151e-06 --1.431014496e-06 -4.920349088e-05 2.625499914e-05 1.214742151e-06 -3.821164426e-06 -8.933930529e-08 -9.034196359e-06 4.992322643e-06 -5.599610935e-08 3.92801654e-09 --9.034196359e-06 1.217070706e-05 -4.382453525e-06 1.490033162e-05 -6.566117993e-06 -4.992322643e-06 -4.382453525e-06 1.120854095e-06 -8.257979101e-06 3.64449128e-06 --5.599610935e-08 1.490033162e-05 -8.257979101e-06 -5.957712621e-08 6.076005452e-08 -3.92801654e-09 -6.566117993e-06 3.64449128e-06 6.076005452e-08 -4.20459882e-08 -2.966788293e-07 -8.100760541e-06 4.574607672e-06 -1.495974238e-07 4.295036706e-07 --8.100760541e-06 -1.275551991e-05 2.212853533e-06 3.656512442e-06 -1.639073044e-05 -4.574607672e-06 2.212853533e-06 1.462043508e-06 -2.074015853e-06 9.156591979e-06 --1.495974238e-07 3.656512442e-06 -2.074015853e-06 7.464923399e-08 -2.251086874e-07 -4.295036706e-07 -1.639073044e-05 9.156591979e-06 -2.251086874e-07 5.288435428e-07 -1.998949974e-07 -1.31353755e-05 7.350222052e-06 -6.648190035e-08 2.358714845e-07 --1.31353755e-05 -2.030931602e-05 1.392976687e-06 8.095299137e-06 -3.007263339e-05 -7.350222052e-06 1.392976687e-06 4.687829228e-06 -4.487860164e-06 1.666339206e-05 --6.648190035e-08 8.095299137e-06 -4.487860164e-06 6.390508917e-09 -1.697280127e-08 -2.358714845e-07 -3.007263339e-05 1.666339206e-05 -1.697280127e-08 3.792757006e-08 -2.07712065e-08 -1.078787076e-05 5.976991897e-06 4.908948938e-08 -8.20044481e-08 --1.078787076e-05 7.685715195e-07 -2.097519998e-06 1.255086216e-05 -1.636532488e-05 -5.976991897e-06 -2.097519998e-06 2.087824943e-06 -6.942419492e-06 9.049573219e-06 -4.908948938e-08 1.255086216e-05 -6.942419492e-06 -1.423741275e-07 2.065898094e-07 --8.20044481e-08 -1.636532488e-05 9.049573219e-06 2.065898094e-07 -2.966897828e-07 -4.47729086e-08 -4.915910203e-06 2.733923314e-06 -6.46825546e-09 2.425459471e-08 --4.915910203e-06 -4.431989821e-06 3.232578262e-08 4.008554623e-06 -9.468552317e-06 -2.733923314e-06 3.232578262e-08 1.323938423e-06 -2.214565062e-06 5.235399296e-06 --6.46825546e-09 4.008554623e-06 -2.214565062e-06 -1.905738073e-08 3.774496333e-08 -2.425459471e-08 -9.468552317e-06 5.235399296e-06 3.774496333e-08 -7.196932946e-08 -7.967207522e-08 -4.849092753e-06 2.70741622e-06 -3.715604775e-08 8.362605718e-08 --4.849092753e-06 -4.691973447e-06 -3.011473888e-08 3.966032257e-06 -9.30129605e-06 -2.70741622e-06 -3.011473888e-08 1.472873627e-06 -2.199307927e-06 5.156014054e-06 --3.715604775e-08 3.966032257e-06 -2.199307927e-06 7.636939687e-09 -1.505589328e-08 -8.362605718e-08 -9.30129605e-06 5.156014054e-06 -1.505589328e-08 2.861747468e-08 -6.869975314e-08 -5.40010985e-06 3.003033722e-06 -2.922292469e-08 5.323074617e-08 --5.40010985e-06 -2.603666976e-06 -4.350291027e-07 5.215539001e-06 -9.363033795e-06 -3.003033722e-06 -4.350291027e-07 1.280737136e-06 -2.887525406e-06 5.184006539e-06 --2.922292469e-08 5.215539001e-06 -2.887525406e-06 -7.513261954e-09 1.274757264e-08 -5.323074617e-08 -9.363033795e-06 5.184006539e-06 1.274757264e-08 -2.155549176e-08 --0.0001172769595 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001407818327 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.94901317e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.0247465e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.469824812e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.249920775e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.315088008e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.59167625e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.044785631e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.461187927e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.590069651e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.068872018e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.25135377e-09 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04466049333 0.02686755738 -0.07891870763 0 0 -0.02686755738 2.018669592e-06 0.0001261517211 0 0 --0.07891870763 0.0001261517211 -0.000757434464 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001214606459 0.0006986811267 -0.0009374551398 0 0 -0.0006986811267 1.283856337e-06 8.131918022e-05 0 0 --0.0009374551398 8.131918022e-05 -0.00020342774 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001201934372 -0.0007757738219 -0.0005330707555 0 0 --0.0007757738219 -5.487531038e-08 -3.528726171e-06 0 0 --0.0005330707555 -3.528726171e-06 -4.847934598e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.239120235e-05 -5.354288855e-05 -0.0002873749354 0 0 --5.354288855e-05 -3.748816308e-08 -2.498706473e-06 0 0 --0.0002873749354 -2.498706473e-06 -2.583855837e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.991663004e-06 3.631791091e-06 -0.000112328623 0 0 -3.631791091e-06 1.185448328e-10 5.748813714e-09 0 0 --0.000112328623 5.748813714e-09 -4.690020394e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.433855703e-05 4.565556681e-05 -1.789655533e-05 0 0 -4.565556681e-05 -1.988311529e-08 -1.267613879e-06 0 0 --1.789655533e-05 -1.267613879e-06 1.047080637e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.821219025e-06 -1.346764938e-06 -2.009244839e-05 0 0 --1.346764938e-06 4.814541243e-10 3.438151423e-08 0 0 --2.009244839e-05 3.438151423e-08 9.179745706e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.177504024e-06 3.803015795e-06 -1.56522729e-05 0 0 -3.803015795e-06 7.435251759e-10 4.602966373e-08 0 0 --1.56522729e-05 4.602966373e-08 -3.90292847e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.956321353e-05 1.252466154e-05 -1.927409349e-05 0 0 -1.252466154e-05 7.180085075e-10 4.537176754e-08 0 0 --1.927409349e-05 4.537176754e-08 -1.410754565e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.495620381e-06 3.125969454e-06 -2.041904603e-05 0 0 -3.125969454e-06 -4.104612179e-10 -2.49108571e-08 0 0 --2.041904603e-05 -2.49108571e-08 3.433026892e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.71437182e-06 3.134738768e-06 -9.645161872e-06 0 0 -3.134738768e-06 -5.049310922e-10 -3.151614572e-08 0 0 --9.645161872e-06 -3.151614572e-08 1.992467475e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.542300453e-06 3.508103756e-06 -8.727936776e-06 0 0 -3.508103756e-06 -8.786951684e-11 -5.510693854e-09 0 0 --8.727936776e-06 -5.510693854e-09 2.79791846e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.940094128e-06 2.456367014e-06 -9.651457025e-06 0 0 -2.456367014e-06 5.527065902e-11 3.426512244e-09 0 0 --9.651457025e-06 3.426512244e-09 -2.77712394e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006189965524 0.0005438293469 0.0526617206 -0.0007492574812 -3.100538959e-05 -0.0005438293469 -0.000352129532 -0.02257623155 0.0008621067289 4.330150589e-05 -0.0526617206 -0.02257623155 -0.01390084334 0.1021723984 0.005665810055 --0.0007492574812 0.0008621067289 0.1021723984 -0.0005762891727 -1.147712544e-05 --3.100538959e-05 4.330150589e-05 0.005665810055 -1.147712544e-05 4.998040272e-07 --0.0001582060091 0.0001014495127 0.005502605654 -0.000255523024 -1.631873444e-05 -0.0001014495127 -6.34848088e-05 -0.004072280414 0.0001576509572 8.537955701e-06 -0.005502605654 -0.004072280414 -0.003031050185 0.0110362127 0.001234919959 --0.000255523024 0.0001576509572 0.0110362127 -0.0003881887162 -1.874381631e-05 --1.631873444e-05 8.537955701e-06 0.001234919959 -1.874381631e-05 6.810598303e-07 -5.254826391e-08 -2.483971327e-06 -0.0003083527769 -2.144888167e-06 8.455387204e-08 --2.483971327e-06 1.353287252e-05 0.0008694988214 -1.123047443e-06 -4.662347329e-06 --0.0003083527769 0.0008694988214 0.001010078082 -0.0009391350303 -0.0005839612812 --2.144888167e-06 -1.123047443e-06 -0.0009391350303 -1.360907007e-05 -4.107945787e-06 -8.455387204e-08 -4.662347329e-06 -0.0005839612812 -4.107945787e-06 1.317903795e-07 --8.318850473e-06 -6.784885287e-07 0.0003221752294 -9.440875343e-06 5.77607866e-06 --6.784885287e-07 3.95692727e-06 0.0002554975137 -8.824217841e-07 -3.436027801e-06 -0.0003221752294 0.0002554975137 0.0006180776351 0.0003592067998 -0.0004469121496 --9.440875343e-06 -8.824217841e-07 0.0003592067998 -1.071108607e-05 6.664615699e-06 -5.77607866e-06 -3.436027801e-06 -0.0004469121496 6.664615699e-06 -2.057964042e-07 --2.735939438e-08 1.284275097e-07 7.990080751e-06 -6.586313621e-08 -2.310575568e-07 -1.284275097e-07 -6.015434568e-07 -3.918332172e-05 2.79912986e-07 1.034334864e-06 -7.990080751e-06 -3.918332172e-05 -0.0001814210061 5.677251594e-05 0.0001319824738 --6.586313621e-08 2.79912986e-07 5.677251594e-05 4.962189867e-07 5.689165669e-07 --2.310575568e-07 1.034334864e-06 0.0001319824738 5.689165669e-07 -1.791240896e-08 -4.706234726e-07 -2.025232385e-07 1.280048567e-05 1.155055532e-06 2.227673921e-07 --2.025232385e-07 -2.615435501e-07 -1.679524649e-05 -3.686437483e-07 1.094256683e-07 -1.280048567e-05 -1.679524649e-05 -1.717940325e-05 3.557284565e-05 1.270399246e-05 -1.155055532e-06 -3.686437483e-07 3.557284565e-05 2.787574714e-06 4.711400894e-07 -2.227673921e-07 1.094256683e-07 1.270399246e-05 4.711400894e-07 -1.541495119e-08 --1.343319569e-07 3.695010191e-08 8.923709843e-06 -1.411236634e-07 8.82374065e-08 -3.695010191e-08 6.964315478e-08 4.519093577e-06 7.030393733e-08 -9.107420776e-08 -8.923709843e-06 4.519093577e-06 1.657266625e-05 1.212617219e-05 -1.169904088e-05 --1.411236634e-07 7.030393733e-08 1.212617219e-05 -1.358369198e-07 6.634321597e-08 -8.82374065e-08 -9.107420776e-08 -1.169904088e-05 6.634321597e-08 -2.041467482e-09 --2.059327515e-07 1.730090088e-07 9.814964028e-06 -3.175497099e-07 -1.324322502e-07 -1.730090088e-07 -1.431333362e-07 -9.239858151e-06 2.560153742e-07 9.717611733e-08 -9.814964028e-06 -9.239858151e-06 -2.179093562e-05 1.996487349e-05 1.263049128e-05 --3.175497099e-07 2.560153742e-07 1.996487349e-05 -4.373540405e-07 -1.35781324e-07 --1.324322502e-07 9.717611733e-08 1.263049128e-05 -1.35781324e-07 4.353063087e-09 --1.150254814e-07 1.594301272e-07 1.686895091e-05 -9.462129399e-08 -1.715867742e-08 -1.594301272e-07 -1.267442615e-07 -8.136413745e-06 2.612244917e-07 3.861846899e-08 -1.686895091e-05 -8.136413745e-06 -7.665299259e-06 3.491980114e-05 4.916483908e-06 --9.462129399e-08 2.612244917e-07 3.491980114e-05 1.017151128e-07 6.363940512e-09 --1.715867742e-08 3.861846899e-08 4.916483908e-06 6.363940512e-09 -2.23879981e-10 -7.117394736e-09 7.788923438e-08 9.992980892e-06 8.648762716e-08 -2.258087024e-09 -7.788923438e-08 -9.840272134e-09 -6.106467224e-07 1.427360303e-07 -2.211349279e-08 -9.992980892e-06 -6.106467224e-07 4.791426438e-06 1.892027533e-05 -2.839066095e-06 -8.648762716e-08 1.427360303e-07 1.892027533e-05 3.017335294e-07 -2.501764662e-08 --2.258087024e-09 -2.211349279e-08 -2.839066095e-06 -2.501764662e-08 7.085802895e-10 --3.8498012e-08 5.056060243e-08 5.074882674e-06 -3.558506871e-08 -9.356154739e-09 -5.056060243e-08 -4.506103125e-08 -2.898029501e-06 7.91634442e-08 1.916109918e-08 -5.074882674e-06 -2.898029501e-06 -4.084526956e-06 1.041475208e-05 2.44654638e-06 --3.558506871e-08 7.91634442e-08 1.041475208e-05 1.638216147e-08 1.795788453e-09 --9.356154739e-09 1.916109918e-08 2.44654638e-06 1.795788453e-09 -6.016283986e-11 --6.888582308e-08 6.020570897e-08 5.985796664e-06 -8.171368285e-08 -4.164097009e-09 -6.020570897e-08 -3.651886462e-08 -2.342578086e-06 9.583895849e-08 5.888373564e-09 -5.985796664e-06 -2.342578086e-06 -1.755925331e-06 1.148255126e-05 7.653795741e-07 --8.171368285e-08 9.583895849e-08 1.148255126e-05 -5.988648986e-08 -1.528194067e-09 --4.164097009e-09 5.888373564e-09 7.653795741e-07 -1.528194067e-09 6.243071352e-11 --3.744569853e-08 5.001585222e-08 5.714049256e-06 -2.674614594e-08 -1.034472522e-09 -5.001585222e-08 -2.553941639e-08 -1.635558585e-06 8.407122594e-08 2.150771161e-09 -5.714049256e-06 -1.635558585e-06 -5.321054e-07 1.110687868e-05 2.696091079e-07 --2.674614594e-08 8.407122594e-08 1.110687868e-05 3.75380656e-08 1.62098931e-10 --1.034472522e-09 2.150771161e-09 2.696091079e-07 1.62098931e-10 -1.424654479e-11 -0.0710045372 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02567002742 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.08959238833 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03903690394 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00214539261 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004341283401 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006525133118 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001130547225 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.255812823e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000282235016 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.397647076e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.397323188e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.458151399e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03099866402 0.06656191313 -0.1121776996 0 0 -0.06656191313 0.05611032216 -0.01619898841 0 0 --0.1121776996 -0.01619898841 0.07495282422 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.07899184928 0.002258037843 -0.003820449083 0 0 -0.002258037843 0.02854532032 0.01031388006 0 0 --0.003820449083 0.01031388006 0.0164019836 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02127801414 0.01975610907 -0.03538379672 0 0 -0.01975610907 0.006818724335 -0.0009776468041 0 0 --0.03538379672 -0.0009776468041 0.00810630183 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007667972698 0.001331489898 -0.002371924531 0 0 -0.001331489898 0.007119923573 -0.01516743355 0 0 --0.002371924531 -0.01516743355 0.02591462747 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002324578356 0.0001068544203 -0.000184950849 0 0 -0.0001068544203 6.320246837e-05 -2.873207264e-05 0 0 --0.000184950849 -2.873207264e-05 0.000111653064 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002874938685 0.0002648400283 -0.0004796631692 0 0 -0.0002648400283 -1.646189858e-05 0.0005922949547 0 0 --0.0004796631692 0.0005922949547 -0.0007669032395 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004877084608 0.0001722617269 -0.0003020886745 0 0 -0.0001722617269 0.0002412201481 -0.0006345525723 0 0 --0.0003020886745 -0.0006345525723 0.001026567152 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.127181346e-05 3.44345412e-05 -6.00752114e-05 0 0 -3.44345412e-05 -2.47599701e-05 7.890417169e-05 0 0 --6.00752114e-05 7.890417169e-05 -0.000122241332 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.100094529e-05 -1.681975016e-05 2.860706055e-05 0 0 --1.681975016e-05 5.043443055e-05 -4.541304038e-05 0 0 -2.860706055e-05 -4.541304038e-05 0.0001038860165 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001664430379 7.445146714e-05 -0.000131934172 0 0 -7.445146714e-05 -2.512137422e-06 -4.995171042e-05 0 0 --0.000131934172 -4.995171042e-05 5.842604207e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.632427154e-07 2.417558043e-05 -3.99913019e-05 0 0 -2.417558043e-05 -2.425361408e-05 4.910518613e-05 0 0 --3.99913019e-05 4.910518613e-05 -8.189719877e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.387657556e-06 -3.302174213e-06 7.012982634e-06 0 0 --3.302174213e-06 1.527634773e-05 -2.660529627e-05 0 0 -7.012982634e-06 -2.660529627e-05 4.783217856e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.093097294e-05 2.452807974e-05 -4.37329368e-05 0 0 -2.452807974e-05 -6.597600322e-06 4.538709557e-07 0 0 --4.37329368e-05 4.538709557e-07 -7.48392634e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2248300271 0.008854496267 -0.02491809185 0.001996820495 0.006975747838 -0.008854496267 -0.05674259075 -0.04661529456 0.1320266888 -0.158448397 --0.02491809185 -0.04661529456 0.006282859392 0.153542341 0.04774250353 -0.001996820495 0.1320266888 0.153542341 0.04183710363 -0.005912318159 -0.006975747838 -0.158448397 0.04774250353 -0.005912318159 0.03633939831 --0.05764454347 -0.01067045552 0.02084795803 -0.01223652975 -0.01758823439 --0.01067045552 0.0166502161 -0.08599621236 0.03754446406 -0.01508439037 -0.02084795803 -0.08599621236 0.1256629646 0.01412890657 -0.02122476998 --0.01223652975 0.03754446406 0.01412890657 0.04246109813 -0.0180019243 --0.01758823439 -0.01508439037 -0.02122476998 -0.0180019243 0.02424436298 --0.001943047101 -0.006012917842 0.01109280701 -0.001878005188 -0.003030654849 --0.006012917842 0.001837112634 -0.01111252714 -0.004278886116 -0.007471385111 -0.01109280701 -0.01111252714 0.01562733603 0.008241316366 0.01318171252 --0.001878005188 -0.004278886116 0.008241316366 0.0105512993 -0.01385400676 --0.003030654849 -0.007471385111 0.01318171252 -0.01385400676 -0.003280319668 -0.008347027955 0.000570795614 -0.001002786279 0.006320538033 0.01015828123 -0.000570795614 -0.005656587278 0.01072400846 -0.003973947407 -0.00551245705 --0.001002786279 0.01072400846 -0.01901535744 0.006200282173 0.01055366844 -0.006320538033 -0.003973947407 0.006200282173 0.002262069713 0.003630201119 -0.01015828123 -0.00551245705 0.01055366844 0.003630201119 0.005915127741 -0.001532839417 0.0007156088093 -0.001299067442 0.001789186969 0.00288252637 -0.0007156088093 -4.114273915e-05 7.053149485e-05 0.0005463270037 0.0008716307519 --0.001299067442 7.053149485e-05 -0.0001239543387 -0.0009895682215 -0.001569374679 -0.001789186969 0.0005463270037 -0.0009895682215 0.002372241485 0.002451631705 -0.00288252637 0.0008716307519 -0.001569374679 0.002451631705 0.004742708344 -2.315669366e-06 0.0002764040714 -0.0005229248131 0.0003091193457 0.0004975554288 -0.0002764040714 -8.025598696e-06 -0.0002448832388 0.0003731347352 0.0001869429201 --0.0005229248131 -0.0002448832388 0.0002915748088 -0.0002330281364 -0.0006207446371 -0.0003091193457 0.0003731347352 -0.0002330281364 0.0004059966534 0.0005624365664 -0.0004975554288 0.0001869429201 -0.0006207446371 0.0005624365664 0.001016711161 -0.000130473912 -0.0001061074856 0.0001884319296 3.181412076e-05 4.955116989e-05 --0.0001061074856 -0.0002944547521 0.0005321414227 -0.0002505641646 -0.0004176196092 -0.0001884319296 0.0005321414227 -0.0009493263504 0.0004577274178 0.0007397669389 -3.181412076e-05 -0.0002505641646 0.0004577274178 -0.0001565706373 -0.0001868300967 -4.955116989e-05 -0.0004176196092 0.0007397669389 -0.0001868300967 -0.0003465763216 -2.788328274e-05 -1.763047917e-05 3.256158398e-05 4.18115499e-05 7.251274844e-05 --1.763047917e-05 2.43468877e-05 -5.774109984e-05 1.894424009e-05 4.816794807e-06 -3.256158398e-05 -5.774109984e-05 0.0001007646724 -3.728533056e-06 -2.645938054e-05 -4.18115499e-05 1.894424009e-05 -3.728533056e-06 0.0001336408229 1.974636507e-05 -7.251274844e-05 4.816794807e-06 -2.645938054e-05 1.974636507e-05 0.0001550449854 --8.48761659e-06 8.493527967e-05 -0.0001584118498 0.0001015502144 0.0001641962511 -8.493527967e-05 -2.137150855e-05 -4.785731343e-06 9.54082588e-05 2.137536782e-05 --0.0001584118498 -4.785731343e-06 -1.744064358e-05 -3.002007131e-05 -0.0001239057251 -0.0001015502144 9.54082588e-05 -3.002007131e-05 7.76199196e-05 0.0001698776342 -0.0001641962511 2.137536782e-05 -0.0001239057251 0.0001698776342 0.0002529483241 --2.247997038e-05 -1.764182929e-05 2.741128022e-05 -8.406617891e-06 -1.577372487e-05 --1.764182929e-05 -5.317723275e-05 8.394899136e-05 -2.137346261e-05 -9.063308853e-05 -2.741128022e-05 8.394899136e-05 -0.0001565130919 9.319886122e-05 0.0001270494566 --8.406617891e-06 -2.137346261e-05 9.319886122e-05 -5.251828826e-05 -4.070486719e-05 --1.577372487e-05 -9.063308853e-05 0.0001270494566 -4.070486719e-05 -9.534126837e-05 --2.420020714e-05 -9.036898004e-06 1.495843624e-05 -8.517090442e-06 -1.360508062e-05 --9.036898004e-06 5.489428991e-06 -2.114763076e-05 1.240772095e-05 -1.149407477e-05 -1.495843624e-05 -2.114763076e-05 3.274707554e-05 9.675506599e-06 8.01274262e-07 --8.517090442e-06 1.240772095e-05 9.675506599e-06 1.11930456e-05 -1.465856443e-05 --1.360508062e-05 -1.149407477e-05 8.01274262e-07 -1.465856443e-05 -4.570414937e-06 --1.042511428e-05 1.055136451e-05 -2.016735634e-05 1.509017752e-05 2.469164828e-05 -1.055136451e-05 -5.469933911e-06 -3.514914724e-06 2.107221577e-05 -6.485488366e-06 --2.016735634e-05 -3.514914724e-06 -7.11986468e-07 4.747671095e-06 -1.415521101e-05 -1.509017752e-05 2.107221577e-05 4.747671095e-06 9.759288726e-06 2.662644326e-05 -2.469164828e-05 -6.485488366e-06 -1.415521101e-05 2.662644326e-05 3.691007705e-05 --2.201018235e-05 -2.409536657e-07 -1.263970094e-06 -1.819997868e-06 -3.339824051e-06 --2.409536657e-07 -1.399003553e-05 1.598605837e-05 4.872918315e-06 -2.593448503e-05 --1.263970094e-06 1.598605837e-05 -3.375070892e-05 2.611173111e-05 2.511624003e-05 --1.819997868e-06 4.872918315e-06 2.611173111e-05 -9.185024638e-06 -7.721256184e-06 --3.339824051e-06 -2.593448503e-05 2.511624003e-05 -7.721256184e-06 -1.717426339e-05 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/gedm_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/gedm_ref.dat deleted file mode 100644 index dc01de559e..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/gedm_ref.dat +++ /dev/null @@ -1,195 +0,0 @@ -0.00455101 --0.0162555 --0.0196281 --0.0294372 --0.00638518 --0.000596083 --3.05722e-06 -0.00038585 -0.000750667 -0.000770818 -0.000255847 --0.000503508 --9.37461e-05 -0.00355502 7.75251e-05 -5.37857e-05 7.75251e-05 0.00439019 -2.47685e-05 -5.37857e-05 -2.47685e-05 0.00454595 -0.00516849 -0.000180798 4.95341e-05 -0.000180798 0.00371962 -0.000117272 4.95341e-05 -0.000117272 0.0046214 --0.00151745 0.000130465 -0.000100943 0.000130465 -0.000242707 7.25457e-07 -0.000100943 7.25457e-07 -0.000176 --0.000124772 -0.000183416 7.6981e-05 -0.000183416 -0.00264438 -0.000172513 7.6981e-05 -0.000172513 -0.00177847 --0.00472137 -8.52249e-05 -7.7202e-05 -8.52249e-05 0.000470726 0.00114275 -7.7202e-05 0.00114275 0.00186303 --0.000911786 -0.000676215 4.09784e-05 -0.000676215 -0.00495849 -0.000398887 4.09784e-05 -0.000398887 -0.00137057 -0.00205417 -5.2168e-05 3.10254e-05 -5.2168e-05 0.00151608 -2.50497e-05 3.10254e-05 -2.50497e-05 0.00165495 --0.000545567 -1.31639e-05 -1.08827e-07 -1.31639e-05 -7.86784e-05 0.000304378 -1.08827e-07 0.000304378 -0.000597345 -0.000288417 0.000644399 0.000321825 0.000644399 -0.000417122 -0.000537383 0.000321825 -0.000537383 0.00261856 -0.000932691 -0.000127436 1.24681e-05 -0.000127436 -0.000512405 -0.00020325 1.24681e-05 -0.00020325 0.000489102 -0.000547034 1.56934e-05 -9.23532e-06 1.56934e-05 -0.000539323 0.000580488 -9.23532e-06 0.000580488 0.000278984 -0.000912276 0.000210613 -1.8636e-05 0.000210613 -0.000198827 -4.62662e-05 -1.8636e-05 -4.62662e-05 0.000237364 -0.000671134 6.04808e-05 0.000110715 6.04808e-05 0.00125406 0.000176559 0.000110715 0.000176559 2.3831e-05 -7.547e-05 2.66368e-05 -3.1934e-05 0.00014227 -1.9203e-05 2.66368e-05 0.00136085 0.000996538 -0.00152646 0.000815423 -3.1934e-05 0.000996538 0.000282055 -0.000735878 0.000284523 0.00014227 -0.00152646 -0.000735878 4.66693e-05 -0.00043002 -1.9203e-05 0.000815423 0.000284523 -0.00043002 0.000107165 -0.00317121 -6.67591e-05 -7.36369e-05 5.48894e-05 -5.3155e-05 -6.67591e-05 0.00540591 0.0025838 -0.00158647 0.00193198 -7.36369e-05 0.0025838 0.00224974 -0.00172007 -0.000673346 5.48894e-05 -0.00158647 -0.00172007 0.00403775 -0.00126147 -5.3155e-05 0.00193198 -0.000673346 -0.00126147 0.00264015 -0.00473934 0.000377598 5.80948e-05 0.000358084 -6.01287e-05 0.000377598 0.000675796 -0.000181223 0.000997214 0.000171965 5.80948e-05 -0.000181223 0.00174147 -0.000198479 -0.00224663 0.000358084 0.000997214 -0.000198479 0.00150026 0.000308131 -6.01287e-05 0.000171965 -0.00224663 0.000308131 0.00307959 -0.00344362 0.000414148 -9.58538e-05 0.000500278 0.000135287 0.000414148 8.95346e-05 -2.90856e-05 -0.00106216 0.000224252 -9.58538e-05 -2.90856e-05 0.00044471 -0.000223376 0.000233721 0.000500278 -0.00106216 -0.000223376 -0.000879405 0.000200417 0.000135287 0.000224252 0.000233721 0.000200417 0.000303545 -0.00313493 -0.000220674 -7.20072e-05 -0.000482851 0.000133329 -0.000220674 -0.000411784 -0.000303589 -0.00108357 -0.000153744 -7.20072e-05 -0.000303589 6.37711e-05 0.000119739 0.000996005 -0.000482851 -0.00108357 0.000119739 -0.00128762 0.00020618 0.000133329 -0.000153744 0.000996005 0.00020618 -0.000534544 -0.000605666 -1.44169e-05 -1.77998e-05 2.06829e-05 1.73048e-05 -1.44169e-05 0.00191701 -0.000190476 0.000412946 0.000452078 -1.77998e-05 -0.000190476 0.000902155 -0.000497056 0.000765159 2.06829e-05 0.000412946 -0.000497056 0.0022663 0.000533742 1.73048e-05 0.000452078 0.000765159 0.000533742 0.000442198 --7.86307e-05 7.11884e-05 1.7557e-05 0.0001572 -3.45322e-05 7.11884e-05 0.000276019 -4.15979e-06 -0.000817649 0.000110901 1.7557e-05 -4.15979e-06 0.000453529 -0.000106833 0.000359236 0.0001572 -0.000817649 -0.000106833 -0.00047482 0.000102134 -3.45322e-05 0.000110901 0.000359236 0.000102134 0.000235987 -0.000809835 7.13021e-05 3.076e-05 4.24041e-05 9.98571e-06 7.13021e-05 -0.000276101 -0.000845612 8.13533e-05 -0.000452959 3.076e-05 -0.000845612 0.00086918 0.000370874 0.000250664 4.24041e-05 8.13533e-05 0.000370874 -0.000209274 0.000555859 9.98571e-06 -0.000452959 0.000250664 0.000555859 0.000715114 -8.20845e-05 -3.08526e-05 6.35629e-06 -7.1614e-05 -7.92672e-07 -3.08526e-05 -8.89134e-05 -0.000120488 0.000963564 -0.00025972 6.35629e-06 -0.000120488 -3.04711e-05 0.000255879 -0.000441422 -7.1614e-05 0.000963564 0.000255879 0.000739298 -7.06487e-05 -7.92672e-07 -0.00025972 -0.000441422 -7.06487e-05 0.000234705 -0.000326347 6.83023e-05 3.43326e-05 0.000107484 -3.04545e-05 6.83023e-05 0.000226639 -0.00033937 -0.000220767 -0.000223351 3.43326e-05 -0.00033937 0.000774186 0.000194202 0.000254204 0.000107484 -0.000220767 0.000194202 3.53456e-05 0.000190274 -3.04545e-05 -0.000223351 0.000254204 0.000190274 0.000624364 --3.19311e-05 0.000153413 -0.000148395 0.000199146 0.000215481 0.000153413 -0.000820516 -0.000241487 -0.00017723 -0.00021106 -0.000148395 -0.000241487 -0.000759058 0.000199991 0.000695437 0.000199146 -0.00017723 0.000199991 -0.000984716 8.92412e-05 0.000215481 -0.00021106 0.000695437 8.92412e-05 -0.00117097 --5.7793e-05 -1.18912e-05 -7.74546e-06 -3.72102e-06 -3.35554e-05 -1.18912e-05 0.000698551 0.00106881 0.000556438 0.000321776 -7.74546e-06 0.00106881 -0.000329573 -0.000214431 -0.00117184 -3.72102e-06 0.000556438 -0.000214431 0.00117207 -0.000880698 -3.35554e-05 0.000321776 -0.00117184 -0.000880698 0.000368399 -0.000108234 -4.68798e-06 3.06591e-05 -2.68903e-05 -1.86281e-05 -4.68798e-06 -0.000171748 -0.000363811 0.000168201 -0.000300555 3.06591e-05 -0.000363811 0.000130139 0.000270551 0.000369024 -2.68903e-05 0.000168201 0.000270551 -2.55252e-05 0.000159164 -1.86281e-05 -0.000300555 0.000369024 0.000159164 -8.84237e-05 -0.00142367 --0.012872 --0.0209597 --0.0317954 --0.00662405 --0.000762928 -0.000120708 --0.000170183 -0.000959849 -0.000115977 --0.000205753 --0.00064672 --0.000679427 -0.00202003 -6.98246e-05 5.2506e-06 -6.98246e-05 0.00374301 8.07047e-05 5.2506e-06 8.07047e-05 0.00347012 -0.00613828 -0.000595399 0.000261008 -0.000595399 0.00344997 -9.204e-05 0.000261008 -9.204e-05 0.00387311 --0.000521945 3.17273e-06 6.11074e-07 3.17273e-06 -0.000672723 -0.00013928 6.11074e-07 -0.00013928 -0.000103767 -0.00120054 6.28329e-05 1.40142e-05 6.28329e-05 -0.00304051 -0.000208152 1.40142e-05 -0.000208152 -0.00130683 --0.00472406 -0.000104176 -1.20535e-05 -0.000104176 0.000400689 -0.00034621 -1.20535e-05 -0.00034621 0.00223198 --0.00232511 -0.00200969 4.59172e-05 -0.00200969 -0.00458476 -6.10796e-05 4.59172e-05 -6.10796e-05 -0.00120657 -0.00134605 -8.55636e-07 -1.77445e-07 -8.55636e-07 0.00140392 -3.73289e-05 -1.77445e-07 -3.73289e-05 0.00154235 -0.000135397 -1.00859e-05 4.17818e-05 -1.00859e-05 1.26675e-06 6.08157e-05 4.17818e-05 6.08157e-05 -0.00107007 -0.00246658 0.000164174 1.85755e-06 0.000164174 -0.000584621 -0.000316189 1.85755e-06 -0.000316189 0.000894486 -0.00129412 6.01776e-05 -3.49964e-05 6.01776e-05 0.000593908 0.000155143 -3.49964e-05 0.000155143 -0.000297336 -0.000544891 -3.95865e-06 1.23125e-05 -3.95865e-06 0.000334149 0.000124993 1.23125e-05 0.000124993 -0.000870946 -0.000229453 2.49728e-05 2.75566e-06 2.49728e-05 -0.000477237 -9.69621e-05 2.75566e-06 -9.69621e-05 -3.36067e-05 -0.00101474 0.000201336 -2.82435e-05 0.000201336 -0.000334467 -7.7675e-05 -2.82435e-05 -7.7675e-05 -8.23249e-05 -0.000825531 4.48899e-05 7.32184e-06 6.72979e-06 6.34087e-06 4.48899e-05 -0.000579095 -0.000222178 -0.000374516 -0.00036128 7.32184e-06 -0.000222178 0.00024019 0.000259042 0.000270331 6.72979e-06 -0.000374516 0.000259042 0.00100042 0.00172807 6.34087e-06 -0.00036128 0.000270331 0.00172807 0.00177366 -0.00390737 4.42119e-05 -2.01028e-05 4.26823e-05 2.56516e-05 4.42119e-05 0.0034052 7.33816e-05 -0.000573926 -0.000328848 -2.01028e-05 7.33816e-05 0.00257462 0.000261087 -0.000276615 4.26823e-05 -0.000573926 0.000261087 0.00774328 0.0025712 2.56516e-05 -0.000328848 -0.000276615 0.0025712 -0.000539243 -0.00266111 -0.000145214 -2.88297e-06 -1.32079e-05 -7.85263e-06 -0.000145214 0.00543206 0.000106431 -0.000116733 3.09928e-05 -2.88297e-06 0.000106431 0.00482334 -2.45932e-05 0.000208924 -1.32079e-05 -0.000116733 -2.45932e-05 -0.000272332 -0.00011555 -7.85263e-06 3.09928e-05 0.000208924 -0.00011555 5.33984e-05 -0.00401041 0.000129922 2.91045e-05 -1.5648e-05 1.57479e-06 0.000129922 -0.000351036 0.000122913 6.27281e-05 3.7584e-05 2.91045e-05 0.000122913 -0.00130987 -2.3537e-05 -0.000732312 -1.5648e-05 6.27281e-05 -2.3537e-05 -0.000222727 -6.27362e-05 1.57479e-06 3.7584e-05 -0.000732312 -6.27362e-05 -0.000154742 -0.00327146 0.000145248 4.26896e-05 3.31008e-06 -8.56535e-06 0.000145248 -0.00265146 -0.000224364 -0.000628114 7.59295e-05 4.26896e-05 -0.000224364 -0.00119717 -7.39665e-05 0.000268222 3.31008e-06 -0.000628114 -7.39665e-05 0.000477818 -0.000207242 -8.56535e-06 7.59295e-05 0.000268222 -0.000207242 0.000980006 -6.01623e-05 -9.19322e-05 -8.98867e-06 -7.9717e-06 -1.94943e-06 -9.19322e-05 0.00204454 0.000185277 4.18743e-06 4.06969e-06 -8.98867e-06 0.000185277 0.000379231 -2.04651e-05 -3.42985e-05 -7.9717e-06 4.18743e-06 -2.04651e-05 0.00188329 0.000287656 -1.94943e-06 4.06969e-06 -3.42985e-05 0.000287656 0.000844266 --0.000823478 -1.22495e-05 -1.57061e-05 -2.93787e-06 2.00528e-06 -1.22495e-05 0.000457174 -9.26174e-05 0.000538873 -1.21137e-05 -1.57061e-05 -9.26174e-05 0.000575766 3.37393e-05 6.43839e-06 -2.93787e-06 0.000538873 3.37393e-05 -0.000320227 -9.02094e-05 2.00528e-06 -1.21137e-05 6.43839e-06 -9.02094e-05 -7.87477e-05 --0.000354584 -5.1228e-05 4.00023e-06 -2.20657e-06 6.23771e-06 -5.1228e-05 0.000677555 -4.22566e-05 -0.000112119 -0.000281728 4.00023e-06 -4.22566e-05 0.000939381 0.000220123 -0.000163281 -2.20657e-06 -0.000112119 0.000220123 0.00115627 0.00127462 6.23771e-06 -0.000281728 -0.000163281 0.00127462 6.75154e-06 -0.00148325 3.45863e-05 -2.08588e-06 -3.08767e-06 3.86883e-06 3.45863e-05 0.000839092 1.93907e-05 0.000347054 2.2708e-05 -2.08588e-06 1.93907e-05 0.000794429 -1.49169e-05 -0.000227211 -3.08767e-06 0.000347054 -1.49169e-05 -0.0002336 -9.35979e-05 3.86883e-06 2.2708e-05 -0.000227211 -9.35979e-05 -0.00016636 -2.53494e-05 -2.12888e-05 -2.22628e-05 -1.99596e-06 3.45421e-07 -2.12888e-05 -0.000439695 -9.56146e-05 -0.000294097 0.000103399 -2.22628e-05 -9.56146e-05 0.00058687 -9.12283e-05 0.000104166 -1.99596e-06 -0.000294097 -9.12283e-05 0.000479819 -0.000256884 3.45421e-07 0.000103399 0.000104166 -0.000256884 0.00103395 --0.00126015 -2.10619e-06 2.21964e-05 1.33328e-05 -7.18043e-06 -2.10619e-06 -0.00121989 -0.00035294 -0.000397573 0.000121751 2.21964e-05 -0.00035294 -6.89214e-05 -0.000127989 -0.000120354 1.33328e-05 -0.000397573 -0.000127989 0.000408087 -0.000231981 -7.18043e-06 0.000121751 -0.000120354 -0.000231981 -0.000714141 -0.00196706 3.19849e-05 8.25652e-06 -2.11418e-05 1.0882e-05 3.19849e-05 0.000828954 5.57886e-05 0.00057121 -0.000307419 8.25652e-06 5.57886e-05 0.00061935 0.000257889 -2.99791e-05 -2.11418e-05 0.00057121 0.000257889 -0.000996057 0.000966372 1.0882e-05 -0.000307419 -2.99791e-05 0.000966372 0.000494404 --0.000264022 4.40501e-06 -1.60035e-05 3.03318e-06 2.0681e-06 4.40501e-06 0.000433486 -1.82278e-05 0.000158309 8.38703e-05 -1.60035e-05 -1.82278e-05 0.00070132 -6.74169e-05 -0.00015746 3.03318e-06 0.000158309 -6.74169e-05 -0.000112731 -0.000284603 2.0681e-06 8.38703e-05 -0.00015746 -0.000284603 -3.45929e-05 -0.00159869 --0.0116389 --0.0195675 --0.0293523 --0.00600013 --0.000707948 -0.000141841 --0.000106707 -0.00105428 -0.000124343 --7.82449e-05 --0.000580118 --0.000648722 -0.00388591 -0.000523111 -3.71138e-06 -0.000523111 0.0022972 -6.80277e-06 -3.71138e-06 -6.80277e-06 0.00407321 -0.00389073 0.000979324 6.00287e-05 0.000979324 0.00584665 -6.39448e-05 6.00287e-05 -6.39448e-05 0.00274968 --0.000258674 -0.000167314 -1.90265e-05 -0.000167314 -0.000719356 6.25285e-06 -1.90265e-05 6.25285e-06 -0.000431098 --0.000938764 0.000680879 0.00017004 0.000680879 0.000748569 -7.61437e-05 0.00017004 -7.61437e-05 -0.00296598 -0.00162684 -0.00180609 -2.13988e-06 -0.00180609 -0.00382317 -1.51686e-06 -2.13988e-06 -1.51686e-06 0.000307618 --0.00133824 -0.000916883 -2.65539e-05 -0.000916883 -0.00501353 -9.36822e-05 -2.65539e-05 -9.36822e-05 -0.00107169 -0.00125126 -1.22991e-05 -1.90883e-05 -1.22991e-05 0.00121415 4.67082e-06 -1.90883e-05 4.67082e-06 0.00137769 --0.000757497 0.000350498 -2.65118e-05 0.000350498 0.000122997 9.07501e-06 -2.65118e-05 9.07501e-06 -3.3378e-05 --0.000305222 0.000499325 9.81447e-06 0.000499325 0.000750703 -6.76342e-06 9.81447e-06 -6.76342e-06 0.00227808 --0.000189992 0.000349914 -5.09448e-05 0.000349914 0.00114247 2.05382e-05 -5.09448e-05 2.05382e-05 0.000621647 -0.000538643 -7.18864e-05 0.000124611 -7.18864e-05 0.000249721 1.49859e-06 0.000124611 1.49859e-06 -0.000809013 -6.08366e-05 7.70766e-07 2.48218e-05 7.70766e-07 0.000134799 6.53807e-05 2.48218e-05 6.53807e-05 -0.000406158 --2.35353e-05 0.000252293 1.90503e-05 0.000252293 0.000840624 5.54316e-06 1.90503e-05 5.54316e-06 -0.00039972 -0.00155665 -0.000882512 -6.80338e-05 0.00110739 3.92483e-05 -0.000882512 0.000679855 4.59369e-05 -0.000544479 1.51564e-05 -6.80338e-05 4.59369e-05 -0.000319212 -6.39067e-05 -1.3746e-05 0.00110739 -0.000544479 -6.39067e-05 0.00133184 1.02118e-06 3.92483e-05 1.51564e-05 -1.3746e-05 1.02118e-06 -0.000401391 -0.00522346 -0.00126656 0.00200706 0.00138835 -0.000549729 -0.00126656 0.00344539 -0.000966046 -0.000483318 0.000233582 0.00200706 -0.000966046 -1.91848e-05 0.00154017 0.000811728 0.00138835 -0.000483318 0.00154017 0.00472596 -0.000384352 -0.000549729 0.000233582 0.000811728 -0.000384352 0.00291313 -0.00145947 0.00107105 -1.97263e-05 -0.00223985 7.79666e-05 0.00107105 0.00465406 3.90504e-05 0.000576202 8.87507e-05 -1.97263e-05 3.90504e-05 0.000511727 -3.95821e-05 0.000878218 -0.00223985 0.000576202 -3.95821e-05 0.00337109 -2.30811e-05 7.79666e-05 8.87507e-05 0.000878218 -2.30811e-05 0.00210455 -0.000213683 -0.000719966 -5.43973e-05 -0.00104342 0.000111425 -0.000719966 0.000821454 2.72231e-05 0.00158533 7.70004e-05 -5.43973e-05 2.72231e-05 0.00013667 -4.14543e-05 0.000221961 -0.00104342 0.00158533 -4.14543e-05 0.0021439 -2.4376e-05 0.000111425 7.70004e-05 0.000221961 -2.4376e-05 -0.00139372 --0.000380413 -0.00111734 -3.55622e-05 -0.000757587 8.44257e-05 -0.00111734 0.000714435 2.87066e-05 0.000928339 6.00128e-05 -3.55622e-05 2.87066e-05 0.000886986 -3.57986e-05 0.000726744 -0.000757587 0.000928339 -3.57986e-05 0.00194844 -3.7831e-06 8.44257e-05 6.00128e-05 0.000726744 -3.7831e-06 -0.00236241 -0.00171358 0.000207566 0.000214033 0.000297002 8.56694e-05 0.000207566 0.00130592 -5.12085e-05 -0.000680674 0.000160792 0.000214033 -5.12085e-05 0.000617686 0.000100263 -0.000117046 0.000297002 -0.000680674 0.000100263 0.000880902 -9.38595e-05 8.56694e-05 0.000160792 -0.000117046 -9.38595e-05 0.000112735 -0.000180949 -2.60265e-05 2.65284e-05 0.000499114 -0.000111091 -2.60265e-05 -0.000128214 -4.65924e-05 -0.000507119 -0.000124602 2.65284e-05 -4.65924e-05 0.000411647 4.30628e-05 -0.000157811 0.000499114 -0.000507119 4.30628e-05 -0.000323801 3.10418e-05 -0.000111091 -0.000124602 -0.000157811 3.10418e-05 -0.000610156 --2.47661e-05 0.000387859 0.000143145 -0.000453512 9.46835e-05 0.000387859 0.000580286 -9.69259e-05 0.000611844 4.77953e-05 0.000143145 -9.69259e-05 0.00180667 0.000120842 -0.000158852 -0.000453512 0.000611844 0.000120842 0.000229981 -9.24162e-05 9.46835e-05 4.77953e-05 -0.000158852 -9.24162e-05 -0.000179874 -0.000346796 0.000291963 -5.14524e-06 -0.000436014 -2.44967e-05 0.000291963 0.000663396 -6.35249e-07 0.0002493 -2.17123e-05 -5.14524e-06 -6.35249e-07 -8.5374e-05 -4.01503e-06 0.000216474 -0.000436014 0.0002493 -4.01503e-06 0.00042834 8.59685e-06 -2.44967e-05 -2.17123e-05 0.000216474 8.59685e-06 0.00144123 -0.000111704 -4.72772e-05 -4.04741e-05 0.000324666 -1.64635e-05 -4.72772e-05 -2.10957e-05 1.5141e-05 -0.000265674 -4.91751e-05 -4.04741e-05 1.5141e-05 0.00100197 -3.04819e-05 -4.56424e-05 0.000324666 -0.000265674 -3.04819e-05 -0.000130016 -7.69415e-06 -1.64635e-05 -4.91751e-05 -4.56424e-05 -7.69415e-06 0.000603321 --0.000987569 -0.000135612 -0.000216359 0.000208293 -0.000143194 -0.000135612 -0.0011463 0.000101652 -0.000147133 -0.000149589 -0.000216359 0.000101652 0.000409672 -0.000156724 -4.35964e-05 0.000208293 -0.000147133 -0.000156724 -0.00105573 0.000109666 -0.000143194 -0.000149589 -4.35964e-05 0.000109666 7.61697e-05 -0.000849458 0.000128481 0.000102075 7.6926e-05 -0.000102507 0.000128481 0.000818627 -7.64458e-05 -0.000160961 -7.42906e-05 0.000102075 -7.64458e-05 -0.00139386 9.88455e-05 0.000433937 7.6926e-05 -0.000160961 9.88455e-05 0.000638746 2.46294e-05 -0.000102507 -7.42906e-05 0.000433937 2.46294e-05 0.001619 --0.000119944 -0.000105654 -1.47935e-05 -0.000220469 -1.36032e-05 -0.000105654 -0.000198117 2.95935e-07 0.000155669 -5.8971e-05 -1.47935e-05 2.95935e-07 4.86515e-05 -1.50546e-05 8.5451e-05 -0.000220469 0.000155669 -1.50546e-05 0.000110599 -2.68438e-05 -1.36032e-05 -5.8971e-05 8.5451e-05 -2.68438e-05 0.000742462 -0.00153623 --0.0118816 --0.0198763 --0.0298833 --0.00613535 --0.000720572 -0.000137931 --0.00012487 -0.00103213 -0.000118236 --0.00011187 --0.000597005 --0.000656828 -0.00372854 0.000286448 0.000453166 0.000286448 0.00356031 -0.000746961 0.000453166 -0.000746961 0.00270466 -0.00414272 -0.000610236 -0.000955824 -0.000610236 0.00340815 0.00108662 -0.000955824 0.00108662 0.00513711 --0.000235435 9.40249e-05 0.000143531 9.40249e-05 -0.00053096 -6.18272e-05 0.000143531 -6.18272e-05 -0.000617645 --0.000933428 -0.00059824 -0.000544151 -0.00059824 -0.00218564 0.00150687 -0.000544151 0.00150687 -2.65956e-05 -0.00169389 0.000803984 0.00155328 0.000803984 -0.000755865 -0.00185306 0.00155328 -0.00185306 -0.00286812 --0.00112697 0.000155486 0.000138431 0.000155486 -0.00345363 -0.00210301 0.000138431 -0.00210301 -0.00299756 -0.00128982 4.77355e-05 -6.74087e-06 4.77355e-05 0.0013752 -5.91096e-05 -6.74087e-06 -5.91096e-05 0.0012698 --0.000737259 -0.000179858 -0.000384544 -0.000179858 9.96843e-07 2.97026e-05 -0.000384544 2.97026e-05 9.33936e-06 --0.000235965 -0.000155211 -0.000587024 -0.000155211 0.00198943 -0.000654994 -0.000587024 -0.000654994 0.000977994 --0.000160188 -0.000108387 -0.000398925 -0.000108387 0.000773074 0.000247993 -0.000398925 0.000247993 0.000967873 -0.000506412 -0.000169771 0.000183933 -0.000169771 -0.000430788 0.000499788 0.000183933 0.000499788 -9.06821e-05 -3.25681e-05 -5.949e-05 4.02906e-05 -5.949e-05 -0.00016077 0.000290281 4.02906e-05 0.000290281 -0.000109202 --1.49988e-05 -0.00016758 -0.000217195 -0.00016758 -7.91718e-05 0.000544762 -0.000217195 0.000544762 0.00054358 -0.00126308 -0.000332096 0.00107107 -0.000516677 0.000741293 -0.000332096 -0.00013617 -2.4795e-05 0.000227988 -0.000344738 0.00107107 -2.4795e-05 0.00100097 -0.000523891 0.000541227 -0.000516677 0.000227988 -0.000523891 0.000141825 -0.000813169 0.000741293 -0.000344738 0.000541227 -0.000813169 0.000684592 -0.00468578 -0.0016744 0.00223754 -0.00122391 0.000500719 -0.0016744 0.000283527 0.000366606 0.000213127 -0.00180635 0.00223754 0.000366606 0.00399426 -0.000684107 0.00112895 -0.00122391 0.000213127 -0.000684107 0.00388184 -0.00093666 0.000500719 -0.00180635 0.00112895 -0.00093666 0.0035907 -0.00173023 -0.000597566 -0.00108457 0.00135196 -0.00184908 -0.000597566 0.00153804 0.00173664 -0.000614174 -0.000670423 -0.00108457 0.00173664 0.00351419 0.000637464 -0.000352806 0.00135196 -0.000614174 0.000637464 0.00250277 -0.000575149 -0.00184908 -0.000670423 -0.000352806 -0.000575149 0.00293816 -7.09481e-05 0.000558989 0.000525548 0.000619197 -0.000755317 0.000558989 -0.00024555 0.000909337 -0.0002191 -0.000866596 0.000525548 0.000909337 0.00052045 0.00105454 -0.00114748 0.000619197 -0.0002191 0.00105454 0.000204841 -0.0012132 -0.000755317 -0.000866596 -0.00114748 -0.0012132 0.00136679 --0.000414519 0.000548074 0.00103326 0.000470855 -0.00032624 0.000548074 0.000984989 -9.66456e-05 6.33061e-05 -0.000617527 0.00103326 -9.66456e-05 0.000854298 0.000610249 -0.000779206 0.000470855 6.33061e-05 0.000610249 -0.0013385 -0.00197861 -0.00032624 -0.000617527 -0.000779206 -0.00197861 0.000734976 -0.00170758 -0.00037908 -1.79111e-05 6.81785e-05 0.000287819 -0.00037908 0.000747366 0.00013747 -0.000132546 0.000192667 -1.79111e-05 0.00013747 0.00101431 -0.000605045 0.000434464 6.81785e-05 -0.000132546 -0.000605045 0.000627533 -0.000494596 0.000287819 0.000192667 0.000434464 -0.000494596 0.000651305 -0.00012306 -2.34946e-05 5.49719e-05 -0.000268181 0.000354328 -2.34946e-05 0.000304035 -0.000268746 -6.37475e-05 0.000241812 5.49719e-05 -0.000268746 6.84941e-05 -0.000242703 0.000475872 -0.000268181 -6.37475e-05 -0.000242703 -0.000570487 -0.000154801 0.000354328 0.000241812 0.000475872 -0.000154801 -0.000335412 -9.68004e-06 -0.000269052 -0.000220986 0.00038757 -0.00040003 -0.000269052 0.00146305 -0.000618394 0.000349634 -0.000228406 -0.000220986 -0.000618394 0.000837907 0.000103767 -0.000532588 0.00038757 0.000349634 0.000103767 4.63453e-05 -0.000254801 -0.00040003 -0.000228406 -0.000532588 -0.000254801 5.77826e-05 -0.000377837 -0.000131388 -0.000294548 0.000175697 -0.000425493 -0.000131388 8.61049e-05 0.00031331 -0.000115362 -0.000213592 -0.000294548 0.00031331 0.000467007 0.000245609 -0.000133743 0.000175697 -0.000115362 0.000245609 0.00113466 0.00044973 -0.000425493 -0.000213592 -0.000133743 0.00044973 0.000718908 -0.000108639 0.000105073 -1.0078e-05 -0.000197181 0.000277081 0.000105073 0.000813789 -0.000400393 -3.70118e-05 0.000242821 -1.0078e-05 -0.000400393 0.000183006 -6.0188e-05 0.000218186 -0.000197181 -3.70118e-05 -6.0188e-05 0.000421828 0.000297404 0.000277081 0.000242821 0.000218186 0.000297404 5.57884e-05 --0.000916783 0.000339175 -4.77864e-05 -0.00035406 5.03747e-05 0.000339175 0.000126158 -0.00052189 1.88657e-05 0.000362705 -4.77864e-05 -0.00052189 -0.000880308 0.000170414 0.000167712 -0.00035406 1.88657e-05 0.000170414 -0.000447864 0.00049737 5.03747e-05 0.000362705 0.000167712 0.00049737 -0.000607003 -0.0008264 -0.000483475 2.04842e-05 -0.000201783 -0.000168985 -0.000483475 -0.00101235 0.000657634 -0.000146193 -0.000483651 2.04842e-05 0.000657634 0.00061399 8.59275e-05 0.000425702 -0.000201783 -0.000146193 8.59275e-05 0.00131939 0.000452759 -0.000168985 -0.000483651 0.000425702 0.000452759 0.000874926 --5.68561e-05 9.67763e-05 7.72172e-05 0.000202406 -0.000234153 9.67763e-05 1.90648e-05 -9.86979e-05 -4.85809e-07 -2.40144e-05 7.72172e-05 -9.86979e-05 -0.000158542 0.000213589 -8.65583e-05 0.000202406 -4.85809e-07 0.000213589 0.00064263 0.000133535 -0.000234153 -2.40144e-05 -8.65583e-05 0.000133535 0.000174003 -0.00150526 --0.0120315 --0.0200574 --0.0301974 --0.00621541 --0.000727569 -0.000135214 --0.000134503 -0.00101961 -0.000115641 --0.000130108 --0.000606456 --0.000661213 -0.00365605 0.000272232 -0.00043507 0.000272232 0.00352805 0.000739994 -0.00043507 0.000739994 0.00266477 -0.0043087 -0.000598599 0.00101637 -0.000598599 0.00347156 -0.00105057 0.00101637 -0.00105057 0.00502945 --0.000217367 8.01887e-05 -0.000146902 8.01887e-05 -0.000555863 3.39625e-05 -0.000146902 3.39625e-05 -0.00059661 --0.000911325 -0.000491837 0.000609441 -0.000491837 -0.00216189 -0.00156861 0.000609441 -0.00156861 -6.85329e-05 -0.00175748 0.00078704 -0.00148178 0.00078704 -0.000773779 0.00189281 -0.00148178 0.00189281 -0.00293916 --0.00116498 -0.000434988 -0.000107715 -0.000434988 -0.00509132 -0.00105715 -0.000107715 -0.00105715 -0.001412 -0.00130393 4.60628e-05 6.17515e-06 4.60628e-05 0.0013986 6.18668e-05 6.17515e-06 6.18668e-05 0.00128811 --0.000710237 -0.000216174 0.000417739 -0.000216174 -1.54651e-05 5.76897e-06 0.000417739 5.76897e-06 -3.61229e-05 --0.000159703 -0.000212162 0.000635879 -0.000212162 0.00199126 0.000704478 0.000635879 0.000704478 0.000906037 --0.000172281 -0.000150376 0.000383762 -0.000150376 0.000764172 -0.000237981 0.000383762 -0.000237981 0.00099247 -0.000548898 -6.25474e-05 -7.32306e-05 -6.25474e-05 -0.000366151 -0.000548073 -7.32306e-05 -0.000548073 -0.000195393 -2.99651e-05 -5.70156e-05 -9.90501e-06 -5.70156e-05 -0.000256636 -0.000280235 -9.90501e-06 -0.000280235 -2.39335e-05 --1.42323e-05 -0.000149212 0.000221376 -0.000149212 -7.85296e-05 -0.000552639 0.000221376 -0.000552639 0.000563233 -0.0013914 -9.82655e-05 -0.00103401 -0.000553389 -0.00083397 -9.82655e-05 -0.000204274 -0.00018936 0.000120075 0.000182 -0.00103401 -0.00018936 0.000902813 0.000458787 0.000544869 -0.000553389 0.000120075 0.000458787 0.000100791 0.000878461 -0.00083397 0.000182 0.000544869 0.000878461 0.00082188 -0.00535783 -0.000577963 -0.00209813 -0.00124631 -0.00116274 -0.000577963 -0.000148274 -0.00125553 -0.000444218 0.00119256 -0.00209813 -0.00125553 0.00341585 0.000371876 0.00118803 -0.00124631 -0.000444218 0.000371876 0.00377034 0.00109039 -0.00116274 0.00119256 0.00118803 0.00109039 0.00413458 -0.00128304 -0.000752718 0.00133881 0.000862468 0.00118586 -0.000752718 0.00167443 -0.00124839 -0.0014133 0.000827139 0.00133881 -0.00124839 0.00328163 -0.000908548 0.000471132 0.000862468 -0.0014133 -0.000908548 0.0036585 -0.00107827 0.00118586 0.000827139 0.000471132 -0.00107827 0.00239985 -0.000105516 0.00038276 -0.000581424 0.000529489 0.000831119 0.00038276 -0.000795471 -0.00116047 0.000372555 0.000650711 -0.000581424 -0.00116047 0.000380922 -0.000723878 -0.00138368 0.000529489 0.000372555 -0.000723878 0.000759235 0.00091959 0.000831119 0.000650711 -0.00138368 0.00091959 0.00146923 --0.000297685 0.000679899 -0.00102536 0.00034309 0.000278317 0.000679899 0.00104907 -8.26827e-06 0.00017479 0.000414033 -0.00102536 -8.26827e-06 0.000712183 -0.000608927 -0.000915558 0.00034309 0.00017479 -0.000608927 -0.00137764 0.0020409 0.000278317 0.000414033 -0.000915558 0.0020409 0.000744179 -0.00178422 -5.5932e-05 -0.000335678 0.00022191 -7.01088e-05 -5.5932e-05 0.000570578 8.48223e-05 -2.961e-05 -0.000209761 -0.000335678 8.48223e-05 0.000580246 0.000303518 0.000273891 0.00022191 -2.961e-05 0.000303518 0.000876023 0.000809889 -7.01088e-05 -0.000209761 0.000273891 0.000809889 0.00100877 -6.57918e-05 1.36777e-05 -4.23625e-05 -0.000209355 -0.000354974 1.36777e-05 0.000331588 0.000196684 -0.000275174 -0.000199429 -4.23625e-05 0.000196684 6.52002e-05 0.000188758 0.000537937 -0.000209355 -0.000275174 0.000188758 -0.000539642 0.000161046 -0.000354974 -0.000199429 0.000537937 0.000161046 -0.000297727 -2.53829e-05 -9.85292e-05 0.000331093 0.000389494 0.000439048 -9.85292e-05 0.00160359 0.000549276 0.000299677 5.4058e-05 0.000331093 0.000549276 0.000711296 -0.000157487 -0.000590946 0.000389494 0.000299677 -0.000157487 -2.80122e-05 0.000247186 0.000439048 5.4058e-05 -0.000590946 0.000247186 0.000103677 -0.000513569 -8.37085e-05 0.000228253 0.000223978 0.00065332 -8.37085e-05 8.62219e-05 -0.000333792 -4.96174e-05 0.000276315 0.000228253 -0.000333792 0.000467539 -0.000196067 -0.000273355 0.000223978 -4.96174e-05 -0.000196067 0.000753217 -0.00019639 0.00065332 0.000276315 -0.000273355 -0.00019639 0.000956424 -8.34723e-05 6.86331e-05 -2.64921e-06 -0.000183749 -0.000284661 6.86331e-05 0.000835899 0.000426424 -4.31562e-05 -0.000210864 -2.64921e-06 0.000426424 0.00020385 9.52755e-05 0.000213151 -0.000183749 -4.31562e-05 9.52755e-05 0.000422691 -0.000305226 -0.000284661 -0.000210864 0.000213151 -0.000305226 5.0157e-05 --0.00100658 0.000258946 -1.23145e-05 -0.000293362 -6.8739e-05 0.000258946 0.000150636 0.000609537 3.61168e-05 -0.000281035 -1.23145e-05 0.000609537 -0.000855939 -0.000124466 0.000139255 -0.000293362 3.61168e-05 -0.000124466 -0.000364593 -0.000516605 -6.8739e-05 -0.000281035 0.000139255 -0.000516605 -0.000664839 -0.000782566 -0.000115586 -0.000405897 1.59525e-05 0.000227169 -0.000115586 -0.00101109 -0.000882309 -1.02916e-05 0.000587105 -0.000405897 -0.000882309 0.000641875 -0.000304242 -0.000125934 1.59525e-05 -1.02916e-05 -0.000304242 0.00105441 0.000209199 0.000227169 0.000587105 -0.000125934 0.000209199 0.00120595 -0.00014362 6.01186e-05 -3.6864e-05 0.000302541 0.000403034 6.01186e-05 2.65381e-05 0.000133152 -1.68072e-05 1.30776e-05 -3.6864e-05 0.000133152 -0.000203329 -8.86165e-05 -6.5486e-05 0.000302541 -1.68072e-05 -8.86165e-05 0.000428209 -1.24378e-05 0.000403034 1.30776e-05 -6.5486e-05 -1.24378e-05 0.000245318 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/gvepsl_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/gvepsl_ref.dat deleted file mode 100644 index 14994d3936..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/gvepsl_ref.dat +++ /dev/null @@ -1,30 +0,0 @@ -0.1454413692 0.1944948489 0.04069268286 0.0006548023108 5.401391561e-05 0.001113789936 0.0001497408684 -0.0005517480338 -0.0002044555516 -7.445868663e-05 2.951769811e-05 1.404748462e-05 -7.352705162e-07 0.02704289925 0.05731208997 -0.5191165986 0.1762741971 0.1548726519 0.05399863303 0.2260400261 0.09707762551 0.0385778044 0.06471392824 0.02264272287 0.00880092186 0.0004693836323 0.0001127150373 -0.0006392963996 -0.001003889969 -0.003151571797 -0.01021271928 -0.0009207422995 -0.002705237052 -0.0086063056 5.308982503e-05 -5.204423735e-05 0.0006594344418 0.001070257177 0.0006360426831 0.0004017377278 0.0005052866022 0.0001646862311 5.713115682e-05 1.234529919e-05 -0.000128705039 -6.250909471e-07 -1.116743806e-05 -6.204326372e-06 -1.334902788e-05 -1.655297096e-05 -4.907871115e-05 -0.0001981792607 2.741240257e-16 8.367099124e-05 -0.02124913268 -0.05771046173 -0.09179798251 -5.660915154e-16 7.727403762e-05 -0.01211310048 -0.02825226228 0.01708231738 -1.115614921e-17 2.470502776e-05 0.03913079986 0.002325388064 0.001882647894 1.048989085e-17 6.268203346e-07 0.004214789977 0.0022627634 0.001560528986 -8.975030896e-19 5.30051587e-08 -0.0002154268968 -0.001014093323 2.883494844e-05 -3.835537475e-18 3.750217076e-07 1.479593876e-05 0.0007122150819 -0.0001023338756 -4.960688076e-20 -3.88503775e-09 3.210060428e-05 6.289490918e-05 3.636546113e-05 -6.302031681e-20 5.510558641e-09 -1.091500314e-05 2.016611336e-05 2.462884381e-05 -5.393794461e-20 6.432220706e-09 -5.730127643e-06 -3.616308221e-05 1.304600551e-05 -7.791728728e-22 5.185814746e-10 -5.456386258e-07 -6.028734058e-06 -6.711596489e-05 -7.042952458e-21 7.182751196e-09 1.819046714e-05 6.66909363e-06 2.908320927e-06 2.603753403e-20 5.173020769e-09 -1.99323565e-07 1.470812298e-06 8.368091259e-06 2.214102199e-20 2.966969079e-09 -1.488430983e-06 -4.026362694e-06 -9.000484987e-06 -0.06799027659 -0.0715619195 0.01992819508 0.01149427301 -0.0001442782027 -0.0003370889339 -0.0001306328117 0.0001047843743 -3.521375529e-06 -0.0001457312801 -2.242861256e-06 -2.761837667e-06 -3.205407029e-06 0.02042311448 -0.2895399064 0.1725486947 0.1043614566 0.0302175704 0.02712133321 0.007653366839 0.001590378565 -0.002579383853 0.0003820547462 0.0002346029718 0.01307309847 -0.0001519440016 -0.0008853539717 0.0005346988283 -0.0001194027198 -0.000187028782 -0.001454485476 -1.089673659e-05 1.111366224e-05 0.0001230472234 3.353142727e-05 3.867590651e-05 -6.085957438e-05 -3.402947436e-05 -0.0001819984886 -7.910022888e-05 -1.673469342e-05 -0.0001174410621 -0.0001002475597 -8.511530193e-07 4.140108538e-06 -5.915460845e-05 5.331399999e-09 -4.219751388e-05 7.748334505e-06 -8.063179232e-06 -5.0859823e-05 -1.49431774e-05 -3.615313384e-12 -2.82763378e-06 0.1355873139 0.01598551709 -0.2883073863 3.780351044e-14 1.141600402e-06 0.06211030896 0.1034507591 0.05310618978 -1.202861521e-15 -4.135393242e-05 0.000779511722 0.02809120588 0.008484905642 -8.480149453e-17 -2.365597766e-06 -0.001126066767 -0.001385077882 0.005626913509 -1.055914537e-15 -2.194295033e-06 -0.0007162945858 -0.003224997877 0.000824513863 7.488155337e-18 -9.883249422e-07 -0.0001001543782 -0.0005909302653 -0.0005464465394 -7.944902439e-16 -1.441242276e-06 -1.13134387e-06 -2.199219005e-06 8.908057995e-05 3.64665168e-15 1.076154696e-08 -6.706576727e-05 7.717978366e-05 4.294080431e-05 -1.597569038e-16 -6.693195609e-08 -4.606524893e-05 -0.0002244674801 -3.362447372e-05 -5.743437307e-17 -1.091343794e-07 -8.495886816e-07 -1.413640921e-05 -0.0001234287709 -6.929777483e-16 -9.129610607e-10 1.380510082e-05 -2.289303009e-05 7.862816907e-06 -4.808349307e-16 -2.36911263e-09 -2.701362596e-07 -1.788727289e-05 2.244514974e-05 -7.147661151e-17 -7.083251158e-11 1.418786901e-06 -8.6906824e-06 -6.74099124e-05 -0.4883887919 0.09180895673 0.5832564661 0.1559430082 0.004629739133 -0.008581633878 -0.007920322478 -0.003594768609 0.001193480854 0.001328755201 -8.567300879e-05 -0.0004203334368 -3.455512095e-05 0.4771115052 0.6696160976 0.1012445503 0.2987588235 0.2776605576 -0.1177740173 0.0142738332 0.01764853217 0.002878910495 -0.0006291026093 -0.002612893367 0.1725740223 -0.0004511558604 -1.930114409e-05 -0.03299111462 0.0004692497924 0.0001857839581 -0.004025606803 -0.0006260414431 -0.001039099325 0.009597909751 2.026216217e-05 1.986028518e-05 -0.004376754821 -0.000436599721 0.0002270139166 0.0003799264804 -0.0001925252894 -0.0002213297748 0.001357862354 -7.781382558e-05 -0.0001766662095 -0.001436860422 1.767083533e-05 -2.068587006e-05 -0.0001734835768 -2.905526909e-05 -7.507465143e-06 0.0001584347168 -3.210891305e-14 1.26084418e-05 -0.5463919211 -0.2070114886 -0.1168342218 6.474249446e-15 -2.710348301e-05 0.1556251286 0.4918283173 0.3852131682 3.083445729e-15 9.513014353e-06 0.08386182776 0.09281703868 -0.1597663727 -2.292754235e-15 5.260495592e-06 -0.002767898857 -0.00673879932 0.03718508729 1.085666306e-15 -4.511236092e-06 0.0002113469972 0.0006044252452 0.02948925843 4.972116419e-17 4.550429776e-07 -0.002611984437 -0.0008615065754 -0.002520972129 -6.793370555e-18 -1.946873142e-08 -0.0008327362357 -0.0007189662836 -0.001784829989 -9.269953584e-18 1.236990781e-07 0.0005687829589 0.0005731622995 0.000481940069 -6.033717498e-18 3.37958735e-07 0.0007278795668 -0.0001374215576 -2.114596511e-05 9.415078941e-18 -2.59730641e-08 -0.0004550002831 -0.000674036597 -0.0007318381955 -1.77084142e-17 3.764484833e-09 -0.0004868617344 -6.107921008e-05 -0.0001532433967 -1.166335955e-18 1.203057444e-08 0.0001600581415 -3.066117099e-05 -7.946389466e-05 1.304643048e-18 1.173907217e-08 -0.0001288128345 -0.0001568782308 -0.000204796525 -0.1579692184 -0.0429065983 0.1490579882 0.04533316801 0.002373125614 -0.001057299745 -0.001333387549 -0.001424303465 1.752507295e-05 0.0003330512114 -5.584489205e-05 -7.224046997e-05 -1.047746172e-05 0.1026705135 0.005467302578 0.1455791709 0.1454275867 0.06785363302 -0.02174978318 0.005432781458 0.005913783687 -0.00801548247 0.001180494216 -0.001006552727 0.04413072659 -6.137787061e-06 -6.7461942e-08 -0.002282167492 4.314847011e-05 -0.0004946416259 -0.001920256133 -0.0001222234168 -0.000526995945 0.0007853337522 3.108534524e-06 3.464528548e-05 -0.0005123415027 6.751920936e-05 6.249864254e-05 5.726610521e-05 -4.653249924e-05 -0.0001512709847 1.655112098e-05 -4.134091529e-06 -9.639486282e-05 -0.0003689585838 5.666390552e-06 -3.493518446e-05 -3.555704965e-05 -9.152475788e-06 -3.268106224e-05 -7.805687914e-06 3.594412574e-12 9.066429597e-06 -0.02718650003 -0.01438494117 -0.2694915256 -1.541103758e-13 -1.851289608e-05 0.08988162576 0.203313946 0.08516089933 9.847913426e-16 -4.395813174e-05 0.02963568105 0.02099670119 -0.02975345849 -1.371780685e-13 -6.254542215e-05 0.0005981643108 -0.0009285274166 0.003512348789 7.037681966e-16 1.173847373e-07 0.000217361411 -0.000317816137 0.008949233661 1.167752379e-16 -7.796443525e-06 0.001192000963 -0.0001833620639 -0.002940180186 7.756877644e-18 -1.149715975e-08 -0.0001510032924 -0.0001249652128 -0.001730754838 9.071953303e-19 -7.627884674e-08 0.0002982825593 0.000167675345 0.000223283951 3.233616586e-17 -1.775240442e-07 0.0004252435733 1.189086665e-05 -0.0001815082261 1.914072161e-17 -7.462372393e-08 -7.230511907e-05 -0.0002825428305 -0.0004281162163 -5.975577334e-17 -3.606327285e-08 -4.312129847e-05 1.297419238e-05 -0.000143975203 5.609416815e-17 -1.227686675e-08 7.589551687e-05 -1.235888187e-05 -9.628583256e-05 2.426030364e-17 -1.835878621e-08 -2.826674798e-05 -3.823986783e-05 -0.000114485644 -0.1564468625 -0.05022320962 0.1426945041 0.04969736155 0.003035206731 -0.0006683975075 -0.0009824575382 -0.001468864668 -0.0001417394342 0.0002831313549 -3.945719855e-05 -3.815311266e-05 -4.957402391e-06 0.1118322143 -0.01822325482 0.1400317184 0.1481437583 0.08085306234 -0.008585303854 0.007216843519 0.007601397874 -0.01738116267 0.0008376208711 -0.0008415178911 0.04245615089 4.637750823e-05 -3.380336337e-05 0.000359267308 -0.0005429893565 -0.000486661827 -0.001478314817 -0.0001191262191 -0.0004302526802 0.000184502231 4.491931155e-05 6.421702187e-05 -0.0002168014542 0.0001986619176 6.042253655e-05 2.295948767e-05 -4.964568744e-05 -0.0001660611207 -0.0001820717979 -2.587353085e-06 -7.383932334e-05 -0.0002940715703 2.483841837e-06 -5.031499666e-05 2.7541028e-05 -9.541519482e-06 -3.274667898e-05 -3.855868498e-05 2.385940862e-12 9.365360421e-06 -0.02889864728 -0.01896532293 -0.2807237734 -1.56282054e-13 -6.944851814e-06 0.09011904271 0.1988427025 0.09245164582 4.677197755e-15 -5.702642891e-05 -0.02747904152 0.03278865068 0.02536057034 -3.619842253e-13 -6.439304151e-05 0.0004639928998 -0.0001859183022 -0.001741165374 1.256416765e-16 -3.664262865e-08 0.0002913780605 -0.0004408525558 0.009159849693 2.805059473e-16 -7.405051986e-06 0.001023068786 0.0009690935889 -0.002927187237 -1.513378396e-16 -5.936125908e-09 -6.929709519e-05 -6.68542175e-05 -0.001997495911 1.145505966e-16 -7.993860203e-08 0.0003610336413 0.0002098807547 0.000116351495 1.659076524e-17 -2.652873669e-07 -2.823098725e-05 3.897597047e-05 0.0002372186486 1.495142845e-17 -5.747224934e-08 -6.598079786e-05 -0.0002676886755 -0.0004554867217 -6.300824705e-17 -5.980744348e-08 -2.509471103e-05 1.467474427e-05 -0.0001093642204 3.597010973e-17 -1.788462388e-08 -1.789580765e-05 -7.164168127e-05 7.871568162e-05 1.697199364e-17 -1.93923368e-08 -3.24890537e-05 -4.540631606e-05 -0.0001082676524 -0.002251016997 -0.000392008583 -0.001676198375 -0.000195846796 -4.769292049e-05 -5.494133299e-05 -4.392171177e-05 -3.744674153e-05 -2.69565811e-06 7.510288037e-06 1.592220718e-06 7.164200196e-07 3.649749878e-07 -0.00203318631 0.1312017527 -0.1255043697 -0.01230416113 0.04908961732 -0.02265613954 0.01321876379 0.002263843837 -0.01136566714 0.008471950413 -0.007744252643 -0.002428838269 0.002479594918 -0.004156240743 -0.0002721927393 0.0008078373182 -0.001113230975 -0.0003586257329 0.0003685020253 0.0005197647361 -0.0009148778429 4.294856181e-05 0.0002763136257 -6.000735899e-05 1.024174449e-06 0.0001457137897 5.489962857e-05 8.21360056e-05 -6.978125191e-05 -2.260416582e-05 -8.722588051e-06 -3.965068864e-05 -1.010143915e-05 -4.320498107e-06 -1.286285443e-07 -1.196754759e-06 1.110904408e-05 8.397395823e-06 -2.469403439e-05 5.193839223e-16 -5.308324145e-05 0.007233578573 -0.01059597856 0.0009460749996 -1.142140576e-15 -4.88153119e-05 0.004288849736 -0.006645369785 0.004775322147 -2.49110451e-17 -1.545586978e-05 0.004683432971 -0.002951608695 -0.0001862096965 2.121488227e-17 -3.138780921e-07 0.0005334652745 -0.0006468720812 -0.0003797663339 -1.746958132e-18 -2.813095685e-08 -4.045063273e-06 -0.0001081303232 -2.725663764e-05 -7.661262334e-18 -2.352310157e-07 1.922275387e-05 -6.487803531e-06 0.0001540528828 -1.102455272e-19 -1.756990782e-09 9.129995775e-06 1.607449239e-06 -2.184727978e-05 -1.165530368e-19 -2.402387545e-09 2.464595629e-06 -1.548070507e-05 -7.858599355e-06 -1.101692082e-19 -4.048745535e-09 2.668344623e-06 1.535168223e-05 -4.098716942e-06 -2.182066328e-21 -3.157188309e-10 8.133984995e-07 -4.948669425e-06 -2.221544623e-06 -1.278206691e-20 -4.413001265e-09 2.791123615e-06 -1.283476856e-06 -2.046503459e-06 5.336531911e-20 -3.24685657e-09 5.857135364e-07 2.667406833e-06 1.683904141e-06 4.422756921e-20 -1.908145443e-09 -7.6633203e-07 -7.109002683e-07 -2.915424915e-08 -0.001167868092 -0.0007412733243 0.000826526002 -4.727748894e-05 -1.669128808e-05 -1.715985335e-05 -7.262168278e-06 -1.189014315e-06 -1.555620234e-06 -2.609331967e-06 -2.435252947e-07 1.213058143e-08 3.910243265e-07 0.09926940135 -0.09855544923 0.003745368827 0.00125095659 0.01265908637 -0.01171655216 0.00185527143 -0.00206248438 0.0002460356716 1.547625347e-05 8.304669476e-06 6.28270668e-05 0.0001493238209 -0.0001563213865 -5.261316757e-05 0.0003671002884 -0.000428169953 -3.960696038e-06 -1.383857573e-07 -2.95528381e-06 -2.579578312e-05 -1.969382724e-06 1.119874526e-05 -3.878802257e-06 4.089447091e-05 -3.859034381e-05 3.941461276e-06 1.308830514e-05 -1.698660792e-05 -3.740525541e-06 -1.26282469e-06 2.090232505e-06 -4.753059176e-06 9.045038322e-06 -9.081950068e-06 4.445687632e-07 1.38074084e-05 -1.335297954e-05 1.224380462e-07 3.564991802e-12 -4.074417451e-06 0.0007657156549 0.062938893 -0.06086612106 -1.366386397e-13 3.797008037e-07 0.001048750208 0.005227914627 -0.001936226037 1.063766606e-14 -1.145375771e-05 -2.371943891e-05 0.003708449949 -0.003892698901 -8.23845087e-15 3.17475245e-07 -0.0001890298386 5.292919372e-05 2.533634817e-05 3.368738905e-15 -1.055057179e-06 0.0002933832685 -0.000356788925 -6.897542678e-05 -2.879640005e-18 -1.168648609e-07 -2.437529003e-06 -3.377833557e-05 -1.660665729e-05 2.174987209e-15 -6.181345861e-07 -6.295187374e-07 -3.656749548e-07 -5.878978549e-06 3.136091085e-15 -2.088110678e-08 -2.292553604e-06 8.905307027e-06 1.575631899e-05 3.206130494e-16 -4.049814518e-08 2.205335148e-05 -2.73924637e-05 1.907133906e-06 1.264514793e-16 -4.446639848e-08 -1.448837459e-08 1.279289259e-06 -8.146948609e-06 1.374602107e-16 -4.454755208e-09 4.485463252e-08 -6.763017002e-06 6.690480482e-06 2.492908108e-16 -5.31206239e-09 1.163499122e-05 -9.220826696e-06 5.732806599e-07 1.281120665e-16 -8.329848342e-11 -1.942578759e-08 4.689187277e-06 -6.939754368e-06 -0.002603600421 -0.00225812302 0.001809795384 -0.0004065454268 4.75222115e-05 4.67792367e-05 -3.531053468e-05 -4.40365507e-05 7.624034242e-07 7.658838324e-06 -4.321963687e-06 -5.251700546e-06 -2.79514931e-06 -0.005918944019 0.01371103335 0.003484641881 0.01183004732 -0.0110687003 -0.005936609938 -0.0001322725287 -0.0002512421254 0.00160145143 0.0003860047011 -0.0004530432597 -8.993548379e-05 1.311949185e-05 5.013664144e-05 0.0001853180297 7.873051825e-05 -5.141325298e-05 -4.484876021e-05 3.802246094e-05 -7.572279193e-05 -0.0001264657474 -9.678962811e-06 -6.219967832e-06 -2.55290801e-05 4.263300478e-06 4.765273622e-06 1.095115211e-05 5.437127361e-06 7.26192227e-06 5.934603348e-07 5.5686872e-06 -4.024449501e-06 -2.338973738e-05 5.312663213e-07 6.827992606e-06 -1.932882886e-05 -1.228625943e-07 2.432123046e-07 -1.748692029e-06 -6.899561083e-13 -6.580242283e-07 0.001578050022 0.005924792106 0.0001385112399 -3.426514104e-14 -5.664846552e-06 0.005057302167 0.01192975685 -0.01501953723 -1.864776e-15 -2.88658378e-06 -0.0006609280133 -0.0009055028271 0.0002763001409 -4.619683888e-16 -6.778038498e-07 0.0004094675943 -0.0004517175195 0.0002845911158 -6.252269828e-16 -3.509005451e-08 6.287863328e-05 2.01544569e-05 -2.333041416e-05 -1.472876575e-16 -1.131109513e-08 -4.925605584e-06 0.0002651110717 -0.0004072095264 -2.270787885e-17 -4.957449892e-09 -3.699774565e-06 -3.77954142e-05 -6.437098172e-05 -2.789920649e-18 -1.052827221e-09 4.754568931e-05 -6.56160179e-05 -7.018718487e-07 2.783901729e-18 6.188846569e-09 2.702228678e-06 1.54586342e-05 2.049309882e-05 -1.13798612e-18 2.93425038e-09 1.6543838e-05 -9.103216543e-07 -1.187463622e-05 -1.874872857e-16 -9.690185607e-10 6.779572058e-08 1.537314222e-05 -3.644535217e-05 6.917311423e-18 6.412731776e-10 -2.155920105e-06 4.376167281e-06 -1.937777685e-05 1.236916596e-18 1.42786844e-09 2.261044188e-06 1.158484662e-05 -9.867718894e-06 -0.1769258718 0.04387037427 0.2207160399 0.07533872057 0.003315553281 -0.001518701407 -0.002298830926 -0.002398077028 6.02243067e-05 0.0006671999118 -1.243166318e-05 -8.054683477e-05 -4.839167468e-08 0.1627806448 0.4167701754 -0.04426744906 0.1338478239 0.1011830294 -0.02967384049 0.008419777809 0.01193007038 -0.02693135197 -0.0008610685296 -0.002475633349 0.06513524087 -7.120319018e-05 0.0003289835911 -0.004961659251 6.66639715e-05 0.0002748727817 -0.002766385373 -0.0002055734283 -0.0004163242919 0.002505483763 7.160861874e-05 4.034110886e-05 -0.0009858919332 7.257343312e-05 6.265814702e-05 0.0001952845338 -7.783858519e-05 -5.487015072e-05 0.0001669596644 -3.358969891e-06 -1.66448354e-05 -0.0004619660338 1.117107824e-05 2.770640557e-05 1.646537443e-05 -1.826989854e-05 1.135175479e-05 -2.62357282e-05 -2.850929624e-12 3.573585875e-06 -0.2936474169 -0.1189890956 0.06008334877 -1.529997644e-13 -3.225502344e-05 0.06172138566 0.1798567051 0.1176432055 -3.531131782e-15 2.817861483e-05 0.03526963383 0.03777115506 -0.0537301061 -1.233921853e-13 -3.012838697e-06 0.0001141306771 -0.001798270706 -0.006232584504 1.398682497e-15 -2.022407385e-06 0.0005058009652 0.001121906182 0.01632825442 3.157847648e-17 -8.493251908e-07 0.002098835112 -8.354037664e-05 -0.00142597886 5.680166445e-18 1.294666675e-08 -0.0001794754882 -0.0001787101342 -0.003006119135 -1.464318601e-17 9.645526488e-08 0.0003572560748 0.0002571828105 0.0005037919606 -5.012404711e-17 2.52321531e-07 0.0007345532212 -3.280638823e-05 -3.845577345e-05 -1.219219972e-17 1.378615896e-08 -0.0001117820421 -0.0001802645541 -0.0006810978202 -1.113836264e-17 2.598687413e-08 -7.74206354e-05 2.507140345e-05 -3.648223389e-05 -7.054451097e-17 1.338779853e-08 0.0001175968532 -2.251947134e-05 -4.151697329e-05 -2.529625673e-17 1.422850657e-08 -4.437925723e-05 -4.167735858e-05 -0.000131059373 --0.1706695708 -0.0335837107 -0.2098431572 -0.08131601825 -0.004721303535 0.0007767522701 0.001620299735 0.002575381094 0.000216109082 -0.0006139385663 -9.684592783e-06 2.886431809e-05 -4.722959568e-06 -0.1554806522 -0.4160797529 0.06162658839 -0.1363334119 -0.1052826657 0.01333222429 -0.01046433144 -0.01477477575 0.0406463035 0.001087206923 0.002497701681 -0.06028123217 -3.375952655e-05 -0.0004173261812 -0.0001949598386 0.001425197621 0.0007565138462 0.0001887093241 0.0001977980616 0.0003573549592 -0.001262495792 -0.0001160352576 -7.138247073e-05 0.0004521232665 -0.000312985007 -5.443446665e-05 -0.0001681462583 7.869961657e-05 6.260842399e-05 0.000157535465 3.313536474e-06 -2.222759071e-06 0.0003437513803 -6.127930069e-06 -1.708368936e-05 -9.171935191e-05 1.969269547e-05 -1.207683854e-05 8.452987647e-05 1.731093377e-12 -8.338948862e-06 0.2980989935 0.1335966383 -0.05085289409 2.017821631e-13 1.909925165e-05 -0.06054260531 -0.168617146 -0.1140659088 9.220546682e-16 -3.210594597e-05 0.04917381905 -0.03627567392 -0.0435834082 2.267198836e-13 7.883847338e-06 -0.0008940292915 0.0003498934963 0.01555443664 1.590181281e-16 -6.511186609e-07 -0.0007320018941 -0.001472362387 -0.01665803273 -1.071406312e-16 2.09417512e-06 -0.001826915078 -0.002075444332 0.001520011881 2.61330843e-16 -5.383335848e-08 8.671684696e-05 0.000105584705 0.003603964924 -3.033619494e-17 -1.371045319e-07 -0.0004335547581 -0.0002932360383 -0.0003573461481 2.403323542e-17 -2.654149055e-07 3.203953646e-05 -0.0001660633787 -0.0005979581177 4.37397104e-18 -6.619160764e-10 9.120022062e-05 0.0001541629164 0.0007323205118 1.056099264e-17 -2.947628669e-08 4.681005793e-05 -2.937844731e-05 1.03521472e-05 3.645496039e-17 -1.974723914e-08 3.578028627e-05 3.154794235e-05 -0.0001179829468 1.758983675e-17 -1.233631625e-08 5.298746927e-05 0.0001125436532 4.971370392e-05 --0.003547788951 0.001443919023 0.002557681148 0.0001507101849 0.0001672729621 0.0001075115376 5.626398616e-05 5.769274702e-05 -9.789699423e-06 -2.011445021e-05 1.229941134e-06 9.624882424e-07 -1.272676231e-06 -0.0629943325 0.06050179692 -0.004874547724 -0.09474228901 0.1123073353 -0.04168239881 -0.06465235549 0.06611365026 -0.00726721582 -0.01177496044 0.01450201944 0.0004163361183 0.001046102486 0.002448198492 -0.0001985267453 8.511960765e-05 -0.002172046615 0.002949280658 -0.0001936509581 -0.001789266932 0.001669666184 -8.833711943e-06 -0.0002122229363 -0.0002508486124 -0.0001210792967 -0.0003846242502 0.0002716688108 -7.618179211e-05 0.0001023745572 2.758337962e-05 4.866105176e-05 6.331574731e-05 9.39615471e-06 -8.131292272e-06 1.729349378e-05 -4.860617808e-06 -1.566484228e-05 -3.101613065e-05 3.500745433e-05 3.957418666e-16 0.0001311861122 0.004010987423 -0.04083834352 0.04081754636 -8.84265355e-16 0.0001206312025 0.001649304624 -0.02129209505 0.01500553654 -2.46648637e-17 3.819252308e-05 -0.007892839692 0.0003498779265 0.005597115102 1.668569603e-17 7.471374189e-07 -0.0008189904168 0.001416005758 0.0006416541029 -1.349968741e-18 8.983749962e-08 -0.0001402095153 0.0002769269853 -5.535713871e-06 -5.9534804e-18 5.818613437e-07 -1.740746089e-05 -0.0001305416385 -0.000131154929 -8.568610152e-20 6.501993842e-09 -1.893993881e-06 4.012694335e-05 2.791908828e-05 -9.30734137e-20 8.760000624e-09 4.958439549e-06 1.40618594e-05 8.160856737e-06 -7.670112718e-20 1.00616571e-08 -1.336442318e-06 -2.799917601e-05 -3.66084385e-06 -1.901557078e-21 8.188808303e-10 -3.662212286e-07 -3.974121856e-06 1.93631635e-05 -9.895813503e-21 1.092437453e-08 -3.241049878e-06 4.01607814e-06 3.912169585e-06 4.000614153e-20 8.040042634e-09 -3.761297788e-07 -5.073895214e-06 -2.91913821e-06 3.476836462e-20 4.703209317e-09 -1.044635307e-06 2.670317745e-06 1.367777804e-06 --0.01294210574 0.002866384581 -0.01322658661 -0.003786998537 -0.0007359722459 -3.023428272e-06 6.457865293e-05 0.0001051376931 4.777917118e-05 2.211751692e-05 1.169638066e-06 -5.047194432e-06 -1.558036243e-06 0.09771155304 -0.1521781903 0.003496939725 -0.136727339 0.07198365543 0.0481762128 -0.001621106427 0.001862054631 0.001990947633 -0.0004736046375 0.0006964862613 -0.001203443727 -0.0003902675363 9.314288841e-05 -0.0004984385088 -0.0007118011736 -0.0006741828907 0.001592955939 8.430241715e-06 3.807242579e-05 0.0004224437135 -0.0001550872019 9.32616885e-05 1.725726908e-05 -7.092220549e-05 1.098926525e-05 -0.0001082104584 -3.63614425e-05 3.971202251e-05 8.405751135e-05 1.12199918e-05 1.195253804e-05 1.536823054e-05 5.683515543e-06 -4.534484478e-06 -1.126536722e-06 -1.579246543e-05 -5.850514981e-06 1.37569677e-05 -1.701740949e-12 -1.280335053e-06 0.01647894354 -0.01685233786 0.02100605702 9.813003361e-14 3.320275589e-06 -0.009226034561 -0.1268163737 0.1072382289 4.449739022e-15 5.70457745e-05 0.0004408339456 -0.02007393847 0.02042315918 7.525498362e-15 1.366259209e-05 -0.00131042729 0.001592535334 0.001473638548 7.092902447e-16 1.363038592e-06 -0.002151559923 0.001865536005 2.838880147e-07 -3.286875385e-17 1.850389791e-06 -0.0001976043779 0.000594838875 -0.0002651807431 1.870928432e-15 3.510710006e-06 -2.130986124e-07 1.649168427e-05 4.546554849e-05 3.61533436e-15 1.111735622e-08 4.617030474e-05 -0.0002574379463 4.404461064e-05 1.285325787e-18 3.303351286e-09 -0.0001112707826 0.000133216348 1.663100941e-05 8.017215953e-18 8.545149021e-09 -4.490169348e-06 -3.942738862e-05 9.895688137e-05 -3.734792582e-16 -4.830947818e-10 -5.637062898e-06 -1.365782028e-06 1.612005805e-05 -2.420156162e-16 -1.114966934e-09 -1.27049279e-06 -7.750428461e-06 4.969571872e-06 -6.658343028e-18 -4.598335186e-12 1.05595318e-06 -2.527979e-05 4.122596031e-05 --0.1313078157 -0.0618324269 -0.1732064856 -0.05157283049 -0.001097301509 0.002848458223 0.002540163952 0.001017227178 -0.0003925628327 -0.0004254507803 -1.809130134e-05 0.0001132708909 3.791050763e-06 -0.3302895056 -0.08137993919 0.01941706014 -0.05107434649 -0.1131442894 0.005612698961 -0.005744120713 -0.005923668958 0.006122460615 0.002201497132 -0.0007224900318 -0.05320209205 0.0002061574277 0.0001667790349 0.01149585041 8.115257729e-05 -0.0005742387302 0.001355870831 0.0001320332786 0.000167965644 -0.003673076729 2.982728144e-05 -8.359043868e-05 0.001391138915 0.0001749560232 -6.353101112e-05 -6.438497534e-05 9.961527901e-05 3.830529762e-05 -0.000510783236 1.656608939e-05 1.159930605e-05 0.0003643155942 -1.598929091e-05 -6.095572538e-06 2.133203428e-05 7.549954059e-06 8.622430198e-06 -4.735875506e-05 -2.087107761e-14 2.775003069e-05 0.2348427298 -0.05753779607 0.07815397725 -9.343596899e-15 3.229132867e-06 -0.02416910466 -0.04568001917 -0.2165335669 2.184567138e-16 -3.048243536e-05 -0.02281763694 -0.03839205951 0.05141205871 7.402504417e-16 -1.011384924e-06 0.002584582141 0.001044883386 -0.007360709045 -1.470081787e-16 -6.232541458e-06 0.0001430287476 -0.0005066806813 -0.009697639059 3.408992243e-17 -1.771447567e-07 0.0009349895437 0.0004692069387 -0.0005023668362 -2.888047675e-17 2.859375206e-08 0.0002261486508 0.0001075593575 0.0003724356815 7.176559872e-19 6.391221505e-08 -6.901853026e-05 -0.000167664151 -0.0002606918659 2.393969139e-18 -2.942145797e-08 -0.0002172088637 0.0001320611589 -2.766038386e-05 -1.896569837e-18 4.67352403e-08 0.0002120164475 9.752286446e-05 0.0001459360965 3.742647308e-17 -4.218440345e-09 0.0001500865377 -2.081954291e-05 -1.733413614e-06 -2.446988142e-19 1.263487521e-08 -5.590328823e-05 -1.791584829e-05 7.028782136e-06 -2.904295866e-19 2.154538541e-08 7.921873164e-05 2.679226803e-05 3.878440355e-05 -0.0651799823 0.02586884108 0.08383658385 0.03210024488 0.001284129654 -0.0006929474058 -0.0008690991639 -0.0009136745361 2.89055074e-05 0.0002662894195 1.326263856e-05 -2.429724938e-05 3.158723993e-06 0.09755679488 0.1204013297 -0.0251300785 0.03138840942 0.05676842763 0.01118721905 0.00472989742 0.005249836449 -0.01408103374 -0.001073617035 -0.0002154416288 0.02603665834 -9.093868512e-05 1.166632455e-05 -0.002266894112 -0.0001436351842 0.0001469284559 -0.0009154907525 -6.883916294e-05 -8.083251256e-05 0.001332125709 7.483633091e-06 5.315769529e-05 -0.0003819832813 9.276786888e-06 9.855431267e-06 3.625912801e-05 -5.515325493e-05 -1.799988739e-05 0.0001023371151 1.630663945e-06 4.062223177e-06 -0.000144917661 6.14616151e-06 9.972278298e-06 2.760461365e-05 -1.356335635e-05 -1.298830022e-06 -1.211881909e-05 2.396429225e-12 -1.330414653e-05 -0.131387731 -0.02447276643 -0.005189046267 -8.40318576e-14 -1.659884984e-05 0.01548355474 0.029908071 0.09485924266 3.931902378e-15 3.16500606e-05 0.01339094329 0.0214189794 -0.02096711698 -2.830599701e-16 1.706823821e-05 -0.0002141655103 -0.0004305952842 -0.004082349431 2.45302534e-17 4.922995001e-07 -2.152087964e-05 0.0005694819784 0.006820962365 -2.242780387e-17 2.4568197e-06 0.0008639003507 -0.0001571135579 3.21463926e-05 1.662419487e-17 3.063982953e-09 -6.777636524e-05 -1.48900622e-05 -0.001143882081 1.36251409e-16 -4.472572693e-08 9.107997383e-05 0.0001139150321 0.0002376351689 1.87212656e-16 4.261446138e-08 0.0002510063649 -2.456360448e-05 -2.161774403e-05 6.759731984e-17 -1.187508457e-08 -7.469642848e-05 -3.612589625e-05 -0.0002370152517 1.352505827e-16 2.086892056e-08 -2.790082662e-05 1.256963877e-05 1.90132233e-05 1.778904201e-16 -2.642401985e-09 5.175541023e-05 -1.264129284e-05 -1.275443127e-06 7.116362621e-17 -4.906267367e-09 -4.190771723e-05 -1.104770148e-05 -3.595439012e-05 -0.06314684687 0.0234515164 0.08000296359 0.03473968385 0.001918500921 -0.0003881036914 -0.0005838641132 -0.001012948374 -8.301512563e-05 0.0002530377204 2.114694716e-05 -4.984036157e-06 4.009556415e-06 0.1199769787 0.09468869156 -0.02869237804 0.0318947276 0.05655805562 0.02110771149 0.005592794312 0.006781425975 -0.01918084702 -0.001123908629 -0.0002739946603 0.02387299891 -3.866884318e-05 5.713986701e-05 -3.851804138e-05 -0.0007392169206 -0.0003997924058 0.0002532871886 -5.918855852e-05 -8.013879098e-05 0.0008181399372 1.842221134e-05 5.994514975e-05 -0.0001659597729 0.0001029096224 9.828489019e-06 2.745116686e-05 -5.035999546e-05 -2.259860031e-05 -2.125907674e-05 8.193714305e-06 1.672195843e-06 -0.0001006079361 5.537341155e-06 5.735303312e-06 5.312328229e-05 -1.427502562e-05 -3.401946829e-06 -3.582881634e-05 1.323514037e-12 -2.038911247e-05 -0.1329968362 -0.01081260741 -0.02637077206 -1.075121968e-13 -1.189685027e-05 0.016064543 0.02253757183 0.09633218634 2.271597464e-15 3.659865355e-05 -0.02035289742 0.01355022018 0.02594886445 -1.320358212e-14 1.753007e-05 0.0003665078588 4.635062143e-06 -0.008163065461 4.97744247e-16 1.650515914e-07 4.029652428e-05 0.0007619625304 0.006998564509 -2.042852689e-17 1.321127123e-06 0.0006228576831 0.0009503381038 -4.615725057e-05 -8.094604175e-17 1.448691881e-08 -3.491998621e-05 -1.000493357e-06 -0.001431775897 3.758320091e-16 -3.678942599e-08 0.0001089394599 0.0001261595978 0.0001809160958 1.351063989e-16 2.226572412e-08 -0.0001280747271 8.498586168e-05 0.0003008779626 4.672160315e-17 -1.945587758e-08 -5.735750097e-05 -2.915312784e-05 -0.0002592377012 1.361615087e-16 1.790118763e-08 -1.666172639e-05 1.89925813e-05 1.921930602e-05 1.318865288e-16 -5.719171425e-09 -1.392618096e-05 -8.518559558e-06 4.959490937e-05 5.18369553e-17 -7.986604123e-09 -4.589709108e-05 -2.706995578e-05 -1.246981609e-05 -0.135553984 0.2027622963 0.05088000428 0.00145011892 0.0005568395734 0.001483043333 0.0003720548272 -0.000354780514 -0.0002312310408 -0.0001375325211 3.144123342e-05 1.582658641e-05 -4.314977267e-06 0.05388217181 -0.5567912504 0.04515678087 0.1233689898 0.06834963823 0.1238541722 0.08124295041 0.1939618583 0.07545913856 0.01970425066 0.07288227345 0.01676232127 0.006436617709 0.004352769702 0.0007552827995 -0.002664750892 -0.006317972167 -0.002455277631 -0.001917239933 -0.008889555875 -0.002412030052 -0.0001261768053 -0.0006562222553 -0.0001427045521 1.031620445e-05 0.0007036346598 0.0005505925883 0.0001436151258 0.0006197134066 0.0001250635885 9.928333206e-05 0.0001269039669 4.795963329e-05 6.120963769e-06 -1.535419613e-05 -4.282507649e-06 -3.992093784e-05 -0.0002083351377 -4.279265991e-05 -2.685497694e-16 -8.931436806e-05 -0.0390736995 -0.06707634082 -0.05293838651 5.978757966e-16 -8.177448567e-05 -0.01735477744 0.006076956707 -0.02750658587 1.374729865e-17 -2.570489477e-05 0.002486459203 0.03256401655 0.001630991029 -1.099305957e-17 -5.11798855e-07 0.001426146503 0.007588918793 0.002784584035 9.080877331e-19 -8.846287251e-08 -0.0005968450588 -0.0003638945428 0.0002178639414 4.00563872e-18 -3.942981523e-07 -8.56717247e-05 -0.0002640902682 4.862294857e-05 2.574607625e-20 -2.941432179e-09 2.443245803e-05 0.000202483921 8.479349888e-05 8.053206713e-20 -3.54185281e-09 3.835269172e-06 6.480172806e-05 5.062407645e-05 3.90573685e-20 -6.789488281e-09 -1.503124924e-05 -7.843945387e-05 -3.827324544e-05 4.171292547e-21 -5.742149386e-10 -1.679248675e-06 -1.6958852e-05 -9.123089506e-06 9.814680561e-21 -7.248492012e-09 5.191385977e-06 2.755467488e-05 7.069165742e-06 -2.756209999e-20 -5.45237003e-09 -2.627282177e-06 -1.048142686e-05 -3.77188398e-06 -2.311936939e-20 -3.204783716e-09 -1.703040952e-06 -3.05943529e-06 -1.604266628e-08 -0.06277837037 -0.06875729086 0.01475740487 0.01250936213 -4.577734578e-05 -0.0002571176452 -5.872938491e-05 0.000130356071 4.782578756e-06 -0.000141437206 2.279663323e-06 9.629673871e-08 -5.557320193e-06 -0.3063152094 0.02823887038 0.1551794121 0.01095906752 0.06520113169 0.08025363244 0.001676389508 0.009733662047 -0.004594635903 0.000194594544 0.0003762922671 0.01319248604 -0.0009415934541 -0.000176452985 0.0008803623471 -0.0006141766592 -0.0007976742163 6.740452371e-05 1.215632487e-05 2.011581016e-05 0.0003279449626 3.47266398e-05 -1.011425033e-05 -3.350714784e-05 -0.0002153141231 -4.242866993e-05 -0.000124953099 -9.760374588e-05 -2.457193454e-05 -7.199931209e-05 9.207016295e-06 -3.108217176e-05 3.861797364e-06 -3.988411816e-05 4.665184981e-07 8.640265947e-06 -5.821383836e-05 -1.208536338e-05 -1.67051071e-05 4.228178246e-12 2.961650358e-06 0.1358266211 -0.3011338718 0.01310505464 -3.431536189e-14 -1.517374544e-06 0.05446370554 0.06354893878 0.0821187456 4.864533015e-15 3.585474142e-05 0.0009861182775 0.009242707761 0.03107687647 1.473870872e-15 -1.22561253e-06 -0.0004181419677 -0.001226010463 0.005578455582 1.521549695e-15 2.243329197e-06 -0.002915500228 -0.0008771611565 0.00128374775 -2.241208123e-17 4.350061452e-07 -0.0002901434878 -0.0001292994035 -0.0004288990689 6.639566117e-16 1.662156265e-06 -7.487247139e-06 1.31565495e-05 0.0001265379133 -4.642661816e-15 -1.250459409e-08 -5.449553015e-05 4.482520674e-05 -8.311360113e-05 1.841861269e-16 6.814240748e-08 -0.0002012270973 -5.94986793e-05 -4.945676722e-05 6.374035765e-17 9.359139971e-08 -1.402639074e-06 -6.93740433e-05 -1.71361996e-05 7.070080468e-16 8.339583507e-10 1.530543061e-05 9.634556168e-06 -1.213752544e-05 5.239459986e-16 2.532255243e-09 -3.006755266e-05 -3.907802177e-07 2.057587283e-05 1.038634284e-16 7.501083912e-11 9.880170391e-07 -5.341155319e-05 -1.052659588e-05 -0.04945767301 -0.05813377112 0.02183901395 0.002773431955 0.0005683478927 -0.0003045087541 0.0001197365695 -5.409970668e-05 -8.595807151e-06 -3.421739079e-05 -4.216267193e-05 -2.353259715e-05 -6.530509697e-06 0.03866048561 -0.2615475135 0.1570011456 0.0423981267 0.0197205101 0.001110840095 0.0007523221885 -0.0003780352591 0.006108702715 0.001387011635 0.0008236085259 0.006343744296 4.097824371e-05 -0.000236959526 0.0005886724081 -0.0001240181122 -0.0008447536562 0.0002242084296 -4.805349978e-05 -0.0002408234664 -0.0003831286394 -3.303889946e-05 1.363902278e-05 7.566949663e-05 2.2251861e-05 2.303387274e-05 -6.86128524e-05 -7.746629972e-06 -0.0001258367443 -5.544242712e-05 -9.040399765e-06 -9.873322014e-05 -7.530586856e-05 -6.090594151e-07 -6.08467408e-05 -1.861532051e-05 1.426152317e-06 -3.993950744e-05 8.421037692e-06 7.565630574e-15 -1.545973115e-06 0.1392203656 0.04944033057 -0.3182485927 -1.138999797e-14 3.698695586e-06 0.04090838033 0.07858924617 0.03273286242 2.022322966e-15 -3.326206287e-05 0.008299623323 0.0007732647609 9.204973552e-05 9.702875905e-17 -3.984956463e-06 0.001056672735 0.000732066808 0.006463097974 -1.051690757e-16 2.657470414e-06 -0.0001298608078 -0.0007032523594 -4.519391564e-05 4.877889584e-17 -4.124714935e-09 0.0001263078403 -0.0003881088778 -0.001489375435 1.894598551e-17 -2.77212759e-08 -6.432464607e-05 -2.211771854e-05 -1.656690929e-05 2.466362102e-18 -1.669260541e-07 4.398784067e-05 8.219129814e-05 -1.731336011e-05 3.038733739e-18 -1.17857398e-07 1.272439373e-05 5.942939779e-07 -0.0001672223212 2.601865133e-18 -1.316164706e-07 -2.701070814e-05 -0.0001914185134 -2.484820432e-05 1.108519792e-17 -9.281854929e-10 1.072146036e-06 -1.386665556e-05 -8.970852032e-05 1.205372574e-18 -1.035754117e-08 8.414776656e-06 -2.680677767e-06 -5.7621241e-05 1.015856459e-18 -3.216798503e-08 -5.405143405e-06 -6.531463065e-05 9.650924828e-06 -0.3604552665 0.01957955409 0.4130133555 0.1407343575 0.006252578156 -0.003005583138 -0.003971235496 -0.004144103765 8.934049981e-05 0.001105534499 -4.988557843e-05 -0.000143296498 3.572381072e-06 0.3720866479 0.3899082002 0.07443085436 0.2261864185 0.2601782883 -0.03137307681 0.01828393968 0.02154454171 -0.04903570874 -0.001603418874 -0.002211375233 0.1262218397 -0.0001418321979 8.498277788e-05 -0.00907533875 -0.000102182651 -0.001202414325 -0.003575613588 -0.0005189055695 -0.0006524349028 0.00453644818 0.0001302112839 0.0001266249437 -0.001640885828 0.0001288030343 0.0001170048425 0.0001924115733 -0.0001768012671 -0.0002383937273 0.0002048027621 -2.681076336e-05 -0.0001321299804 -0.0007763403701 1.672248249e-05 -2.263029649e-05 7.833757346e-05 -3.316241242e-05 -2.472929095e-05 -3.8792164e-05 -4.835348985e-12 2.768488439e-06 -0.3849935693 -0.1968642565 -0.1943754948 9.021516121e-14 -1.015050274e-05 0.140914731 0.3535066995 0.3005749932 3.871537e-14 1.38676851e-05 0.075060991 0.07512702748 -0.09756660105 9.779810584e-14 5.896379935e-05 5.628031801e-06 -0.002081841696 -0.004273132681 2.706752429e-15 -2.416647672e-06 0.000384982135 0.001010303923 0.02948836462 1.098248368e-15 -3.317937163e-06 0.003769867116 -0.00161883963 -0.002178270159 1.583176616e-17 7.132369489e-09 -0.0002822034156 -0.0002850804278 -0.005125912816 -1.609020567e-16 2.710195884e-08 0.0006029858816 0.0006672018092 0.0008425199084 5.440564218e-17 7.834579683e-08 0.001314479361 -0.0001710857364 -0.0002970070884 6.057572479e-17 -5.810497862e-08 -0.0002814015701 -0.0004710655592 -0.001211501745 1.182137477e-16 1.608149705e-08 -0.0001319500523 -2.90541146e-06 -3.035483184e-05 -5.769464001e-17 3.81915291e-09 0.0002317112663 -4.635273576e-05 -6.258277978e-05 3.627959059e-18 -4.413117455e-09 -9.26988846e-05 -0.0002112990316 -0.0001619905222 -0.3562023 -0.002193818211 0.3962837069 0.1515937321 0.008754426351 -0.001633176947 -0.002863467616 -0.00451803618 -0.000407134755 0.001011574411 -1.204251125e-05 -5.743536142e-05 8.458485312e-06 0.3585481075 0.3979100453 0.05652524039 0.2499249203 0.2626992431 -0.008252727125 0.02207904758 0.02633261503 -0.07187464915 -0.001539310035 -0.002887856445 0.1178966142 5.439067078e-05 0.0002763619083 0.0003320463822 -0.002250155275 -0.002689335367 -0.0001365596825 -0.000492020309 -0.0005994625168 0.002147586279 0.0001989040863 0.000182964564 -0.0007435254873 0.0005646085619 0.0001097812551 0.0001557452855 -0.0001686112928 -0.0002483802782 -0.0003790439932 -1.078228106e-05 -0.0001398967895 -0.0005650171828 7.614043756e-06 -2.805550526e-05 0.0001828934384 -3.528216181e-05 -2.452729785e-05 -0.0001448540847 -2.96582201e-12 7.742683678e-06 -0.3901275553 -0.203973183 -0.217961222 5.403100976e-14 -9.624321841e-06 0.1513139954 0.3578070633 0.2762982457 3.163355311e-14 6.21194238e-06 -0.09021143174 0.08030955789 0.08338296087 2.832960606e-13 6.227596289e-06 0.001612669763 -0.0003443336904 -0.02087695645 -1.319952767e-16 6.978171358e-07 0.0008429309628 0.001443427949 0.03002981243 9.122468665e-16 -6.479831677e-06 0.003257134238 0.001995731156 -0.002459366868 -4.626883071e-16 5.28512728e-08 -0.0001416704969 -0.00017339487 -0.006281030987 -2.924804563e-16 4.300635552e-08 0.0007656541671 0.0007057626473 0.0005549796236 5.786259363e-17 2.18751008e-08 -9.493645649e-05 -0.0001523736405 0.001267111888 4.087836431e-17 -5.763554244e-08 -0.0002178786292 -0.0004326074976 -0.001314169951 9.17012899e-17 -4.098979303e-09 -7.906538395e-05 1.414603027e-05 -1.944912358e-05 -3.316808779e-17 4.621016617e-09 -6.365807337e-05 -7.156930931e-05 0.0002340213737 8.329200525e-19 -6.948141182e-09 -0.0001008442499 -0.0002565459332 -0.0001019007871 -0.001218420573 -0.001099693352 -0.001520877974 -0.0001666719917 -3.691881489e-05 -4.750592852e-05 -3.633753849e-05 -2.785060879e-05 -1.450010928e-06 6.105065749e-06 1.178996108e-06 5.414505232e-07 2.708264947e-07 0.03411550353 -0.0641804295 0.03260353881 0.03020809711 -0.04755081031 0.02637001075 0.01968539949 -0.01788380027 0.0001723434487 0.004625900211 -0.004408970696 -0.001805837336 1.767312412e-05 -0.001282223886 -0.0002739727069 4.215564877e-05 8.019112231e-06 -0.0005206437659 0.0002798661903 0.0002319646965 -0.0004954615656 3.309869216e-05 0.0002270304758 -5.703984937e-05 5.264854939e-06 0.0001228800489 2.409620617e-05 3.280833613e-05 -1.870770727e-05 -2.272307228e-05 2.15909773e-05 -6.222329922e-05 -4.848223304e-06 -2.844577409e-06 -2.123080565e-06 7.3429956e-07 1.375145982e-05 -9.45034179e-06 -7.948180804e-06 -6.788347242e-16 7.162875073e-05 -0.001829083666 0.01186638597 -0.01156724776 1.528732032e-15 6.586068741e-05 -0.004880955399 0.01069173832 -0.004056854682 4.526268195e-17 2.086172056e-05 5.081589397e-05 0.003344513473 -0.0024969986 -2.897686514e-17 4.289418912e-07 0.0003465015531 -0.0002809608084 -0.000575970392 2.295408298e-18 5.979757077e-08 2.388272727e-06 -9.377614318e-05 -3.582001473e-05 1.020005374e-17 3.181117115e-07 1.127310925e-05 0.000108146253 8.998952134e-06 1.429529543e-19 2.360717569e-09 6.474083514e-06 5.972084217e-06 -2.351584022e-05 1.641688287e-19 5.13953834e-09 1.696554499e-06 -1.074056439e-05 -9.596481444e-06 1.274913021e-19 5.479245154e-09 1.832890998e-06 2.17580224e-05 -1.296328031e-05 3.394280349e-21 4.577028751e-10 5.970923117e-07 -3.3587039e-06 -2.185911321e-06 1.708373601e-20 5.974468272e-09 1.199786549e-06 1.280196263e-06 -3.051070441e-06 -7.175642539e-20 4.394780446e-09 3.821976211e-07 6.482785365e-06 -3.096541994e-06 -5.969285719e-20 2.558884432e-09 -6.043473758e-07 -5.6278675e-07 2.467596018e-08 -0.001003785764 -0.0009871072136 0.0008269037695 -0.0011050467 -0.0001760657763 -5.49830036e-05 -2.169128568e-05 6.306967991e-06 1.655514342e-06 -2.084248197e-06 -1.289312562e-06 -1.253820555e-06 1.314276302e-06 -0.05814015978 0.06396724326 0.0005663433797 0.006637861317 0.02324130117 -0.03146573181 0.001105762408 -0.002323938713 0.001135262556 0.00012713252 -0.0001165220528 4.335418192e-06 0.0001612073155 -0.0001336628818 -0.0002955353401 0.0009481907783 -0.001109428076 -6.49706917e-06 1.393540124e-05 -2.358722606e-05 -4.106833389e-05 1.288929139e-05 -9.982275144e-08 -6.285883117e-06 5.084911807e-05 -3.047060662e-05 -6.851196628e-06 1.540628963e-05 -1.876110923e-05 -7.252775837e-06 -3.500598639e-06 -8.495686992e-06 8.52645138e-07 -9.950274447e-07 2.329785311e-06 -6.560320362e-07 1.586690053e-05 -9.556855664e-06 -1.784451776e-06 -1.234435172e-12 1.290679655e-06 0.0006318158307 0.0109270859 -0.008695332683 2.848999795e-13 -8.165506164e-07 0.001209531963 0.03438582158 -0.03198194987 2.033281004e-14 -1.990127104e-05 8.705091104e-05 0.007472033512 -0.009539087694 7.038118638e-14 -1.081979491e-06 -1.33704117e-05 -0.000335079147 0.0004904405573 3.154718136e-15 -9.958119775e-07 0.0005728243901 -0.0006999830303 -0.0001288882384 -2.85164798e-18 -3.927484677e-07 6.417093932e-06 -7.737236025e-05 -0.0001381772793 4.668766144e-15 -1.40557218e-06 -4.883741958e-06 -1.092622826e-06 -6.872174192e-06 -1.400667126e-15 1.156225698e-08 -1.447799916e-06 9.126491466e-06 4.564469063e-05 6.852899313e-17 -9.800395516e-09 4.317580836e-05 -4.509878849e-05 -4.701882049e-06 1.477062346e-17 -2.931044974e-09 3.429973885e-07 -4.922319449e-06 -1.265236797e-05 -8.111254774e-17 2.4536288e-09 -1.570817293e-06 8.588074234e-06 -9.933403428e-06 -1.004521637e-16 1.847042618e-09 5.292911982e-06 8.935510645e-07 2.770128085e-06 -2.777598931e-18 2.337651662e-12 4.018834553e-07 3.04401979e-06 -8.460323129e-06 -0.0001346851614 -5.242337523e-05 9.845413557e-05 7.88252662e-06 2.112643134e-06 -8.682492265e-07 -1.008922137e-06 -1.214462545e-06 1.002697913e-07 2.240457311e-07 -1.20973304e-07 -1.535761101e-07 -4.238567953e-08 0.01857090359 -0.01935210179 0.001345388941 0.0001453376579 0.0007542681373 -0.0001310923471 -0.0001508197252 0.0001479452864 2.738178286e-05 -3.835789788e-05 8.029825456e-05 -2.468359232e-05 2.243540506e-07 1.174844199e-06 2.252292078e-06 1.676411254e-05 -3.272978331e-05 1.667453862e-06 8.363795764e-06 -1.347036864e-05 2.080548415e-06 -2.03832884e-06 2.10051325e-06 -8.603597077e-07 1.490496823e-07 -1.878518777e-07 6.989003433e-07 4.220733649e-06 -5.867195689e-06 1.390643291e-06 3.522322255e-06 -5.31374673e-06 6.259534491e-07 1.831192351e-06 -2.562743017e-06 1.673921862e-07 2.152216526e-06 -2.492351715e-06 3.362869517e-07 3.759229698e-14 3.003918508e-08 -0.0006846202629 0.02374239691 -0.02134034961 5.487429825e-14 6.660222799e-06 0.0001226439299 -0.003107879139 0.004059239093 -9.344805354e-16 -2.748436843e-06 0.0001644211576 -0.0001689575456 5.401345883e-05 -5.051334993e-16 -5.648362721e-07 -4.462671984e-05 9.477497434e-05 -9.71923177e-05 9.543003084e-16 3.676319667e-07 1.757637773e-05 -2.85168304e-05 3.598813084e-06 -6.430200682e-18 -2.193189209e-10 -4.321297955e-06 1.086407026e-05 -2.56298616e-05 -7.629923566e-17 -7.107387324e-09 7.362815358e-06 -9.034284102e-06 1.124538282e-06 3.930197398e-17 1.586541373e-08 -4.478187129e-06 7.068974614e-06 -1.268255721e-06 -6.221886091e-18 -5.563341962e-09 1.929908738e-07 5.989937132e-06 -5.606250082e-06 -6.583502803e-18 -9.451683625e-09 4.200393933e-06 -7.334837009e-06 3.415972751e-06 -4.344623885e-17 -1.951300796e-10 -5.368068783e-07 5.771331523e-06 -5.832813823e-06 -6.659537591e-18 -6.791705016e-10 -2.149202499e-07 6.568691078e-06 -6.56181244e-06 -3.534642426e-18 -1.917309385e-09 2.176627965e-06 -4.403837562e-06 2.326077219e-06 -0.1172619211 0.04533430621 0.1502557946 0.05770092911 0.00229602364 -0.001243899764 -0.001553507779 -0.001629680041 5.204525531e-05 0.0004749774316 2.409695209e-05 -4.312635046e-05 5.729056931e-06 0.3300339141 0.04936528803 -0.03383221957 0.05419151594 0.1079744952 0.02130848828 0.00829349775 0.009689996664 -0.02546843379 -0.00209563842 -8.105402997e-06 0.04663874846 -0.0001500756989 -1.542482913e-05 -0.004064525293 -0.0002570022158 0.00017295108 -0.001595829902 -8.942202707e-05 -0.0001880429844 0.002419571332 8.639636068e-06 0.0001031807858 -0.0006814680232 1.489445381e-05 2.880935282e-05 4.94180919e-05 -8.644116082e-05 -5.512078564e-05 0.000189584533 1.541614756e-05 -1.200855004e-05 -0.0002525598106 2.183526787e-05 2.973247345e-06 5.300407323e-05 -1.664888868e-05 -1.292835185e-05 -2.052594592e-05 2.771570484e-12 -2.629093013e-05 -0.2297914793 0.05507566403 -0.1006180845 1.189067075e-13 -5.546247282e-06 0.02781527043 0.03818793912 0.1917487095 -8.486746237e-15 4.337828311e-05 0.02407941401 0.03844489381 -0.03713771103 -4.963229079e-14 2.306007686e-05 -0.0003955100933 -0.0005802096887 -0.00776105901 1.404520268e-15 8.328115924e-07 5.089131029e-07 0.0009154859703 0.01221664655 -9.270650817e-17 3.722512135e-06 0.001538024358 -0.0002891438471 5.869292866e-05 4.14679288e-18 -9.851064336e-09 -0.0001155125525 -2.93921182e-05 -0.002029277267 -1.347045533e-16 -6.380429342e-08 0.0001389566148 0.0002439805753 0.0004192945601 -1.115576778e-16 -3.709352366e-08 0.0004466745502 -3.40343481e-05 -5.075124433e-05 -1.597520733e-17 -5.626954953e-08 -0.0001252908328 -8.592922045e-05 -0.0004069429543 -9.765225385e-17 1.100451396e-08 -4.982148879e-05 4.613398119e-05 1.23748369e-05 -2.87540889e-17 -1.918853055e-08 9.091744049e-05 6.737338812e-07 -2.162780638e-05 -2.154377143e-17 -2.228108434e-08 -7.014531293e-05 -4.179547492e-05 -4.707586017e-05 --0.1135226662 -0.04115390523 -0.1433057039 -0.06246830661 -0.003431712366 0.0006939808282 0.001043949679 0.001808665623 0.0001480021231 -0.0004516587818 -3.848716859e-05 8.585771795e-06 -7.134997343e-06 -0.323667358 -0.05195092885 0.04279257032 -0.05505721917 -0.1055477157 -0.03969153208 -0.01007895829 -0.01223741778 0.03463016863 0.002119652954 0.0002737243161 -0.04284150576 6.521044619e-05 -7.401716384e-05 6.472274954e-05 0.001360154358 0.0006309551131 -0.0003859827683 7.35695661e-05 0.000177357627 -0.001495703139 -3.016042471e-05 -0.000111866012 0.0002955084643 -0.0001811772848 -2.63206632e-05 -3.639270943e-05 8.462177429e-05 5.23911763e-05 3.363648184e-05 -1.990840724e-05 3.638365937e-06 0.0001772955606 -1.843086735e-05 1.139351845e-06 -9.804829622e-05 2.229996183e-05 1.179880035e-05 6.382033604e-05 -1.110741627e-12 3.983392202e-05 0.2317375235 -0.03441217467 0.09770278004 -1.096690115e-13 1.051791043e-05 -0.02888557747 -0.03062437843 -0.1869447218 5.073948113e-15 -5.897227496e-05 0.0369135598 -0.0244900465 -0.04725138833 3.397006972e-14 -3.130281475e-05 -0.0007049081805 -2.772740389e-05 0.01488492019 9.9205722e-17 1.337853431e-07 -7.727028836e-05 -0.001324376615 -0.01254583479 4.659597964e-17 -2.165945953e-06 -0.001088395523 -0.001707317199 4.220216725e-05 2.191175447e-16 -2.481663374e-08 6.142111138e-05 -4.305109705e-09 0.002551110192 2.515969274e-16 9.619623795e-08 -0.0001756100544 -0.0002533968113 -0.0003204309363 7.658826536e-17 4.205165971e-08 0.0002315153962 -9.579919479e-05 -0.0005940418629 8.599747708e-18 4.999219108e-08 9.893600412e-05 6.192012794e-05 0.0004537292737 8.915403992e-17 -2.751068469e-09 2.958128341e-05 -5.315236872e-05 -1.727744577e-05 4.053868637e-17 2.360260265e-08 1.210618676e-05 2.785799422e-05 -8.977056218e-05 1.839980495e-17 2.275044638e-08 8.103695092e-05 5.30099689e-05 1.860487202e-05 -0.1042346798 0.193192565 0.07087139199 0.006443565709 0.0001346346402 0.001576037354 0.001051986844 9.080582815e-05 -9.021952525e-05 -0.0001049739842 -1.125219698e-05 -9.805920513e-06 3.021475406e-06 -0.5644429142 0.03880804534 0.03749057153 0.07896464009 0.0831051732 -0.02245951323 0.04630448308 0.05271757113 0.1751314114 0.009015570751 0.012019023 0.09855689625 0.0001879570779 -2.936588057e-05 0.03281606625 0.001899969797 -0.001570119931 -0.001683312931 -0.006225728381 -0.001474797167 -0.001170738549 -0.002691553405 -0.0001076864232 4.558743141e-05 -0.001412719271 -0.0003029269536 0.0002008290962 5.706270603e-05 8.556259582e-05 0.0003277979745 2.931763718e-05 1.670113586e-05 0.0003733572659 -6.00163774e-06 -4.547916039e-06 8.57347086e-05 -5.816215462e-06 -2.549242037e-05 -1.854248335e-05 6.027966577e-19 3.803748927e-06 -0.06658512213 -0.03163418106 -0.03036153465 -3.144862686e-17 3.950696701e-06 -0.03065427877 -0.01594416971 -0.01189879922 -3.079913614e-18 1.430290917e-06 0.00205815841 0.0007947457451 0.01266510988 5.410424668e-19 4.648845346e-08 0.0006425632795 0.001179677273 0.01214364799 -3.381549967e-20 -1.007569013e-09 -0.0001128470406 -0.000119675623 0.00221970262 -1.129624513e-19 1.964071849e-09 -0.001356789017 -2.554132843e-05 -9.504952341e-05 -4.080517495e-21 -5.431228722e-10 5.852639767e-06 3.032174161e-05 -5.450516307e-05 -1.008499102e-21 6.223753634e-10 -7.08897462e-07 1.102379831e-05 0.000261024702 -9.323629676e-22 -2.274143288e-09 -7.028711049e-05 -2.141032302e-05 -9.327444096e-06 -4.660408032e-23 -4.080728399e-10 -5.586626376e-07 -2.405632258e-06 -7.723577496e-06 4.847473079e-22 4.017528739e-10 1.705767137e-06 2.910643732e-06 -1.27377139e-05 -1.176657419e-22 -2.680890764e-10 -2.302667249e-05 -2.937699907e-06 -1.177305237e-06 1.22251904e-21 1.798910136e-10 -7.8114589e-07 7.611672888e-07 3.811421979e-06 -0.4439020615 -0.07403857836 0.4033597397 0.2741830495 0.0442282963 0.004717757531 0.0007495504351 -0.003824452351 -0.001995961369 -0.001079054519 0.0002118081478 0.0004328526706 -6.611379991e-05 0.5571004585 0.5641124492 -0.1689746904 0.405005359 0.4400657063 0.1914170072 0.0706689124 0.07618040431 -0.2066224103 -0.001711455392 -0.002389442899 0.05834189154 0.001461137987 0.002027167137 0.04846227672 0.005418701551 0.001640777586 0.002229198962 -0.0002024047047 -0.0001554051008 -0.009775302832 0.0008023601503 0.0008147940984 -8.307058746e-05 -0.0004217320383 -0.0003474918425 0.003701518472 -0.0001573995414 -0.0001771198304 -0.002155501039 -9.639644052e-07 9.956355858e-05 6.003424438e-05 -4.093547901e-05 -4.343035307e-05 0.0002515824542 -4.809865908e-05 -3.737481922e-05 -0.0004562300013 -4.554193023e-13 1.426720526e-07 -0.6618537608 -0.3645415138 -0.3543660107 -5.309446542e-14 -1.249844177e-06 0.1549621625 0.3302462931 0.3409956021 4.686681708e-15 2.880505416e-06 -0.02410538136 0.1338782476 0.1480300433 3.15117911e-15 -2.707121807e-06 0.01520461684 0.01576522022 -0.1015834685 6.856706683e-18 1.083272029e-06 0.006077161931 0.007527962253 0.01294663614 -3.83159841e-17 -3.651856446e-07 -0.002551347393 -0.003172438187 0.02503723242 -1.57872712e-16 4.846555567e-06 9.781343025e-06 4.499400923e-05 -0.0009388224312 -1.541229452e-15 -4.281043527e-09 -0.00158680519 0.001209028788 0.001037161184 6.333303097e-17 -8.196256275e-09 -0.0008078716467 -0.0008517368742 -0.0001581556707 -9.692073384e-19 1.730310545e-08 8.828180539e-05 -4.454640297e-05 -9.69688077e-05 -1.181028915e-16 1.324257592e-10 0.0004277320695 6.478108155e-06 2.71608645e-05 2.454055384e-17 1.334330202e-10 -0.0001026133633 -8.66028298e-05 -0.0003837732726 -5.776079185e-17 -1.528416581e-10 -0.0001006683725 -6.946531923e-05 -7.86058517e-05 -0.07704793255 -0.0304665172 0.06983588379 0.0215074914 0.0005621090573 -0.00121273192 -0.0006648662614 -0.0002042264568 0.000123096335 8.295549821e-05 -9.450360431e-06 -3.936103147e-05 -2.257103016e-06 -0.1426344488 0.02695159101 0.1106002609 0.01738801493 0.0731669912 0.02440223962 0.001879580669 0.004035903924 -0.003460598688 -0.0006873786286 0.001689203572 0.02495179065 -0.0004946485987 -5.29912482e-05 -0.004056642847 -0.0007520537985 0.0001763598677 0.000194063986 -8.695477827e-05 -5.787414434e-05 0.001226286232 -9.44475627e-06 2.974273243e-05 -0.0002941149965 -7.057119797e-05 -0.0001142713617 2.148526016e-05 -0.0001688378124 -1.345771917e-05 0.0001159774554 -5.612951327e-05 -4.737840657e-06 -0.0001222359127 -3.07687355e-05 1.912925566e-06 -5.321620296e-06 -5.044279088e-05 -2.928141462e-06 1.078292778e-05 2.614745486e-14 -8.044799659e-06 0.05583993714 -0.3237934005 0.002609528732 7.415989331e-15 -4.520991033e-06 0.03020765507 0.02060818804 0.156105464 5.949135296e-16 4.984006842e-05 0.006609964187 0.0281971177 -0.01844912012 -2.835221777e-16 3.765190907e-06 -0.000854476339 0.0004229400504 0.008613365773 9.770474318e-17 3.644989797e-06 -0.0007290186485 0.0001169817369 0.003390699433 -6.488883944e-19 6.179739462e-08 -0.0001545070892 -0.0009729818164 0.0001667780102 2.779097458e-18 -1.448751369e-09 -6.698210381e-05 3.624441633e-05 0.0001388759798 -1.012997663e-18 1.228448033e-07 2.544141307e-05 2.921617962e-05 0.0001679801674 5.593419973e-18 1.264271891e-07 6.115388467e-05 -0.0003183364638 1.766884944e-05 2.763800459e-18 1.02300791e-07 -0.0002294596958 -2.978632859e-05 -5.227350046e-05 -1.899110714e-17 2.01555715e-09 -3.409259143e-05 -2.399016692e-05 1.739935381e-06 1.797579586e-18 3.242481891e-09 3.373223826e-05 -2.2842024e-05 -4.760338459e-07 1.644966732e-18 2.11329303e-08 -0.0001015350363 -6.547321837e-06 -4.853242195e-06 -0.08492008587 -0.03457858964 0.07322623009 0.03058795793 0.0009972052725 -0.0006732227052 -0.0005626570199 -0.0005026941523 2.437593925e-05 0.0001241440791 2.637868389e-06 -1.767408909e-05 -3.36060998e-07 -0.1339728361 0.02551809712 0.1040630978 0.02331713922 0.07744073984 0.0555544979 0.003467161405 0.008171863387 -0.01473366704 -0.0008256989505 0.001209479128 0.02833258796 -0.000564271286 -5.679616723e-06 -0.001961883481 -0.0008524241672 0.0001426246642 -7.715614142e-05 -1.846986346e-05 -6.964429521e-05 0.001212168494 3.780041656e-06 3.392222006e-05 -0.0001600444098 -3.337725003e-05 -0.0001567881336 2.079438417e-05 -0.0001594945372 -2.347407397e-05 2.474069996e-05 -2.294214601e-05 -3.174281296e-06 -9.656267077e-05 -2.705696714e-05 2.842210455e-06 2.4920694e-05 -6.448832753e-05 -5.296336381e-06 -2.08118218e-05 1.119479593e-12 -8.428237773e-06 0.03616276634 -0.3243810824 -0.009741853915 4.093528537e-14 -1.067764839e-05 0.03677179008 0.02484422139 0.1662675015 -2.95214948e-15 8.389961833e-05 0.008994288857 0.03484793348 -0.01346540962 -5.175579163e-14 2.566564685e-05 -0.0002853636626 -2.933993197e-05 0.002693038687 5.680001374e-16 4.565840064e-07 -0.0009196072085 0.0003439464205 0.00570183094 -2.724164608e-17 5.779759452e-06 0.0005892335706 -0.0006161895782 2.839991577e-05 7.033468258e-19 1.080247516e-08 -4.697354085e-05 7.132835609e-05 -0.0004809816203 1.381628681e-17 9.620786431e-08 6.172584136e-05 5.107706989e-05 0.0001697088896 -1.566642127e-17 3.564372005e-07 9.096285761e-05 -0.0002285462912 -1.269709264e-05 -1.808652424e-18 5.228576274e-08 -0.0001595162334 -3.335668976e-05 -0.0001604642841 -4.363940875e-17 3.095284702e-08 -9.36211457e-06 2.022119093e-07 7.817369137e-06 -1.37240292e-17 9.706187231e-09 5.424737607e-05 -3.448517575e-05 -7.762413269e-06 -4.005136155e-18 1.747438498e-08 -9.615712037e-05 -1.127340612e-05 -1.534966956e-05 -0.08491837286 -0.03725370429 0.06973771224 0.03382171645 0.001439061879 -0.0003769054565 -0.0003932654044 -0.0005809124761 -5.146955418e-05 0.0001097620757 1.188578209e-05 -3.52244674e-06 -1.136360459e-06 -0.1452552312 0.02880561144 0.1017053345 0.02346767597 0.07309680576 0.07572730223 0.004212140698 0.01062959025 -0.01962031483 -0.0008665498203 0.0009631123041 0.0274921618 -0.000560534806 3.218967916e-05 -0.0001181779061 -0.0008634672562 -0.000140797886 0.0001827843092 5.780099364e-06 -6.47362786e-05 0.0009326370612 1.287995084e-05 2.601162301e-05 -2.945931897e-05 7.244031913e-06 -0.0001557393684 1.582358232e-05 -0.0001505365684 -2.174019105e-05 -6.495338209e-05 -8.008184616e-06 -2.302435145e-07 -6.979215991e-05 -3.077906262e-05 4.208312987e-07 4.57204059e-05 -7.039175317e-05 -4.697960888e-06 -4.08316798e-05 5.551742419e-13 -1.185033814e-05 0.03397666428 -0.3352698989 -0.004351541284 3.392340027e-14 -1.086913646e-05 0.04006738672 0.02050758646 0.1674252609 1.723152809e-15 0.0001062204456 -0.01829462948 0.009060106102 0.04728163742 -4.661181068e-14 3.747860718e-05 9.1154176e-05 7.468910475e-05 -0.0005778596633 -3.210117824e-17 1.594916541e-07 -0.00111233661 0.0005403216614 0.006134945274 3.627302198e-17 4.32593766e-06 3.985956115e-06 0.0006674248215 1.025422311e-06 -7.544221797e-17 5.488622797e-08 -2.663344522e-05 6.927715794e-05 -0.000690814152 -2.563653891e-18 1.280204801e-07 8.027543435e-05 2.109677733e-05 0.0001078748339 1.673388294e-17 4.387499763e-07 -0.0004240062626 5.812622495e-05 0.000261208181 7.976021546e-18 2.745545722e-08 -0.0001273720715 -2.271265206e-05 -0.0001767550363 -1.963019651e-17 4.409916666e-08 -3.55966089e-06 3.967674303e-06 1.116409751e-05 -1.176556917e-18 1.569878075e-08 -4.70039618e-05 -8.552899356e-06 5.326841322e-05 3.825743421e-18 1.512975404e-08 -8.845166539e-05 -2.057747887e-05 -5.989436186e-06 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/gvx_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/gvx_ref.dat deleted file mode 100644 index ecfccbf8b2..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/gvx_ref.dat +++ /dev/null @@ -1,75 +0,0 @@ -0.004264241577 -0.005660860289 -0.005766717256 -0.0004705695994 -0.0002523341852 -0.000198737253 -0.0001228478458 -0.0001015391237 1.362290068e-05 3.244311953e-05 -7.063499268e-07 -7.150719929e-07 1.749007251e-06 -0.01226234445 -0.07579468412 0.1014399001 0.2295646173 -0.1576899588 -0.04212274096 0.1210427238 -0.09523948441 -0.02420666746 0.01950130684 -0.02134676598 -0.005764724589 -0.001540524914 -0.003600698851 -0.001024641589 0.0009219548485 0.003127865624 -0.005574776023 0.0006411245301 0.002639400397 -0.002724390357 0.0001240825958 0.0003133557374 0.0003910492833 0.0006238001872 0.0002299963297 -0.0004131517236 0.0001129265771 -0.0001531486404 -4.10811831e-05 -7.568347493e-05 -9.625176366e-05 -2.966323222e-05 1.227693382e-05 -1.643765364e-05 -5.571943104e-06 1.251958642e-05 4.71503811e-05 -4.604672256e-05 1.586313969e-17 8.267410216e-06 0.009272024348 0.05898784781 -0.07357887178 -6.02735206e-17 7.619861048e-06 0.003879450809 0.03026237236 -0.02440604658 -3.67855444e-18 2.450023733e-06 0.005484740418 -0.001219626801 0.0003203080811 1.252357815e-18 1.08042977e-07 0.001007495408 -0.002161416045 -0.0005801944764 -1.462574784e-19 1.358706154e-08 0.000211426204 -0.0003227277743 -0.0001409391756 -4.68751587e-19 3.799193169e-08 7.154040895e-05 0.000225026159 0.0001999419488 7.510125338e-21 -2.995723159e-09 -5.710115985e-07 -6.090056442e-05 -2.020696268e-05 2.737164951e-22 -3.655718359e-10 -7.335811373e-06 -2.159759739e-05 -1.370070889e-05 -2.034374672e-20 6.706417769e-10 5.130063849e-06 4.151176717e-05 5.508962632e-06 1.416392001e-21 6.458996721e-11 5.616546979e-07 5.830998751e-06 -2.976390646e-05 -2.659339626e-21 7.176868552e-10 2.928188914e-06 -6.372558153e-06 -1.574312e-06 5.298859913e-21 5.282258899e-10 1.534292948e-06 7.627333362e-06 4.635594154e-06 2.141383844e-21 2.822249992e-10 1.585072439e-06 -1.372420788e-06 -5.268408431e-06 --0.004106501462 0.002676718886 -0.005046258454 -0.00331976488 -0.0005069334605 -0.0001198735964 2.567679553e-05 5.113072615e-05 2.25898373e-05 1.246442207e-05 -3.250573766e-06 -4.762230257e-06 1.173199228e-06 -0.002807977072 -0.003911740155 0.001349107264 -0.0007803577614 -0.002539012811 0.002989738816 -0.0004401833079 -0.000720694667 0.003061117268 7.922033325e-05 5.029778642e-05 -0.001338729583 -3.289861834e-05 -7.898827883e-05 -0.0006606781228 -8.160808767e-05 -3.751375134e-05 -4.513206871e-05 3.593301715e-06 3.094622531e-06 0.000110390781 -3.110888389e-06 -6.014082947e-06 8.546034305e-06 1.310512573e-06 -6.805465129e-06 -3.060474248e-05 2.070893725e-07 -4.305934598e-06 2.958592065e-05 7.746374285e-07 -7.783338849e-07 -2.512424675e-06 5.067525042e-07 -3.819404011e-07 -1.697341669e-06 -1.075124065e-07 -1.135489887e-06 5.609785115e-06 -7.563746411e-12 -5.592986199e-06 0.003471298504 -0.04636088057 0.06027570624 -2.095039272e-13 -6.810302643e-06 -0.004127499055 0.01987236227 -0.01635077387 4.718007718e-16 6.034776347e-06 0.0002452905684 -0.001216362207 8.355497576e-05 -1.612375359e-15 4.514945783e-06 0.0009284141464 -0.001496086885 0.0005847925316 1.000335066e-16 1.839897233e-07 -0.0002378872142 -0.0001359385288 -0.0003592939181 -2.886631265e-18 -1.08504475e-07 2.861094025e-05 6.453567049e-07 -0.0001935264345 -3.02579923e-16 -7.428441278e-07 -1.11439133e-05 1.163900925e-05 2.137554509e-06 -1.803768747e-16 -8.470987665e-10 2.263642984e-05 2.774468322e-05 -4.050248151e-05 3.851420639e-17 1.442887033e-08 -1.148432244e-06 2.354846336e-06 2.433159748e-05 2.727971529e-17 4.425082476e-08 -1.605756046e-06 -3.402985641e-06 7.904177848e-07 9.129704722e-17 6.244473686e-11 -5.250138415e-06 6.386096774e-06 -5.208220515e-06 1.006253271e-16 4.159115606e-10 -1.852665572e-06 5.177635508e-06 3.107647603e-06 -5.103351558e-16 -4.24996311e-10 1.082938456e-06 -3.108628449e-06 3.03171767e-06 -0.1479046236 0.1649512493 0.2502830925 0.07122777737 0.001305346886 -0.00366360697 -0.004241950341 -0.001779955805 0.0006138794545 0.0007488960997 3.235430303e-05 -0.0001717021979 -6.382726676e-06 0.1269041524 0.1293044983 0.06522723892 0.0794223559 0.08202826313 -0.07327393783 0.008782227691 0.009196331164 -0.0002939616974 -0.003347232501 -0.003895775606 0.07386183093 -0.0002176878842 -0.000249888091 -0.01628134789 0.0007266203693 0.0008674976992 -0.002832969264 -0.0002391032249 -0.0002650479318 0.00552699429 -4.464756997e-05 -4.814210382e-05 -0.002286874021 -0.00021144746 9.86370687e-05 0.0001012009085 -4.691171767e-05 -5.932691315e-05 0.0008957651161 -1.875057261e-05 -1.916156576e-05 -0.000538606802 6.519083523e-06 9.274992142e-06 -2.298803531e-05 -1.165857863e-05 -1.296280854e-05 0.0001122620299 -1.414537402e-14 5.75301501e-06 -0.09981151952 -0.09499227693 -0.1195815339 -6.752982826e-15 1.689385488e-06 0.03372078085 0.0727030779 0.07822339863 -2.404160413e-17 -1.28343687e-06 0.03517166214 0.03681630422 -0.0738853076 -1.160680363e-15 1.824407471e-06 -0.003947248984 -0.005552294264 0.01229069743 5.344355944e-16 -2.352399273e-06 0.0004892218134 0.0007707589455 0.01423195451 -3.760261235e-17 2.296923538e-07 -0.001706725162 0.0006810304859 0.0007412017902 -2.06272523e-19 -1.526254368e-09 -0.0003628538867 -0.0003769806373 -0.000761042099 -2.843608034e-18 -1.873107029e-08 0.0001076127168 0.00016483058 0.0002210873319 -3.917757006e-18 1.216359609e-07 0.0004085483117 5.216264413e-05 4.190668676e-05 2.839956957e-18 -3.263668968e-08 -0.000119485465 -0.0001521910234 -0.0001529890854 -8.208593098e-18 1.831162098e-09 -0.0002113480517 -6.436606103e-07 -5.375466864e-07 -6.509093918e-19 4.321915312e-09 0.0001043666217 -1.016184023e-05 -1.279202131e-05 2.390196317e-19 -2.198319917e-09 -3.271695239e-05 -4.098792643e-05 -5.212872252e-05 --0.07122073454 -0.06589395339 -0.1196292908 -0.04278451261 -0.001769679533 0.0007062062178 0.001419613871 0.001457088469 -4.450482064e-05 -0.0004388006575 -1.49815972e-05 3.515851061e-05 -4.921960449e-06 -0.06103391641 -0.0633559854 -0.02689573799 -0.03835600668 -0.04486838 0.02830357757 -0.006873830048 -0.007189386218 0.01564953931 0.001896100203 0.002175752379 -0.03546982685 4.41772286e-06 5.131721877e-06 0.002882213356 -0.0001658021985 -0.0001619480708 0.00148966877 0.0001397904982 0.0001404494164 -0.001789078471 -6.637499835e-06 -4.742962722e-06 0.0006097755899 -5.750682068e-05 -4.283983254e-05 -4.457561742e-05 3.227658902e-05 3.188190529e-05 -0.000191166093 4.035316052e-06 3.025866069e-06 0.0002073387093 -5.013644587e-06 -5.389691798e-06 -4.890826396e-05 7.525548226e-06 7.165494952e-06 -3.98991799e-06 -3.530227083e-12 -1.162305916e-05 0.05524648211 0.03936915954 0.08639674082 -1.057148035e-13 -1.396749208e-05 -0.02661547623 -0.02155232966 -0.03676410173 -1.170311739e-15 -2.591019947e-06 -0.01955155413 -0.01799965197 0.03132657 6.953082131e-14 -2.041458691e-06 0.0003114388087 0.001507954994 0.003844204344 -1.26539637e-15 8.028228545e-07 -0.0004760012648 -0.0008366666135 -0.00931319157 -5.529858564e-18 -4.292561812e-08 -0.001261425823 -0.0001610363873 -0.0001455530716 -7.972131563e-19 2.147740079e-09 9.542450362e-05 0.0001214556865 0.001767555082 1.222596021e-16 2.048561728e-08 -9.817215309e-05 -0.0001384382449 -0.0002995640341 4.022043407e-17 1.64299012e-08 -0.0004918847089 -3.691539007e-05 4.238333621e-05 -3.791099693e-18 1.897762172e-08 4.610145832e-05 5.067953425e-05 0.0003355490474 1.152910084e-16 8.293726267e-09 3.681224072e-05 -1.496916328e-05 -1.085495767e-05 4.10073748e-18 -1.619876541e-09 -8.988916771e-05 1.142661515e-05 1.908162804e-05 -3.378331437e-19 1.863902221e-09 1.712505152e-05 1.306373089e-05 6.269061208e-05 --0.07008092128 -0.06090680002 -0.1167352951 -0.04715619178 -0.002773565759 0.0002931945489 0.001004090865 0.001633730266 0.0001270899251 -0.0004261153704 -2.693929132e-05 7.191283012e-06 -6.945001064e-06 -0.06073041756 -0.06316623017 -0.02519284688 -0.04293361978 -0.04504732953 0.02112402503 -0.008401200413 -0.008905165618 0.02370204403 0.00183922768 0.002260722681 -0.03301368105 -7.417371723e-05 -6.905749877e-05 -0.0002407011417 0.0009943945898 0.0005426717601 -0.0004026917297 0.0001417409371 0.0001445227802 -0.001011012034 -2.529805006e-05 -2.28082597e-05 0.0002960606434 -0.0002189345145 -4.180978179e-05 -3.497490143e-05 3.328780348e-05 3.639681192e-05 -3.58192171e-06 7.036507217e-06 2.292749325e-06 0.0001448234871 -2.760780561e-06 -1.914854971e-06 -8.736744875e-05 7.616545139e-06 7.791055175e-06 3.202920611e-05 -2.394561266e-12 -1.43321702e-05 0.05867881871 0.04763745658 0.08483798371 -1.445001311e-13 -8.48722237e-06 -0.02932842556 -0.02124372098 -0.03186454851 2.718527475e-16 -9.866404254e-07 0.0294609384 -0.02020413077 -0.02058710521 1.044855895e-13 2.534805314e-06 -0.000629813018 0.0005360529946 0.009631346853 2.817925437e-16 -1.180044354e-07 -0.0007189142811 -0.001146890032 -0.009540891623 -5.544633137e-18 7.651348607e-07 -0.001208907485 -0.00147637869 2.552586259e-05 1.995178224e-16 -7.543530014e-09 5.127154326e-05 8.337626845e-05 0.002221325442 2.27722916e-16 3.460619262e-08 -0.000136400897 -0.0001662715292 -0.0002133924981 2.899037655e-17 3.932376625e-08 -3.800111508e-05 -0.0001425242133 -0.0004009567287 -6.146656203e-18 1.801058748e-08 3.720754985e-05 4.218993112e-05 0.0003813617335 1.101225414e-16 1.591667232e-08 2.134643799e-05 -1.895488436e-05 -1.451437346e-05 1.126398996e-17 -3.133461298e-10 1.73300384e-05 2.266141168e-05 -9.26923927e-05 -1.640149383e-18 2.615463605e-09 2.394608269e-05 4.756949898e-05 2.337322185e-05 --0.00147372564 0.001894944774 0.002184983043 0.0002189362119 5.745999586e-05 7.120667834e-05 5.014567663e-05 3.81816318e-05 1.098415134e-06 -9.344868572e-06 -1.466258704e-06 -6.373049952e-07 -4.465536128e-07 0.005652906948 0.02096092399 -0.030986276 -0.03455021466 -0.01155882082 0.03560225371 -0.025653494 0.008798309844 0.01574259312 -0.006529284249 0.00595295999 0.003122807678 4.9566927e-05 0.001845558679 0.0002757861225 -0.001119307093 0.001097861086 0.0006561909831 -0.0004739507668 -0.0002964757092 0.0007020713504 -4.907134073e-05 -0.0003287686868 8.716746031e-05 5.608252914e-07 -0.0002526269801 4.624876533e-05 -4.883550405e-05 3.725799726e-05 2.811882972e-05 -3.758721795e-05 9.326870271e-05 1.14463577e-05 1.029120365e-06 3.952597446e-06 8.672335321e-07 -1.283617587e-05 3.389950408e-06 1.275018389e-05 -4.410039134e-17 5.277113509e-06 -0.008270844714 -0.005572682087 0.01567479862 1.275674278e-16 4.846931957e-06 -0.004860955226 -0.004110395094 0.005766422746 8.34207084e-18 1.524883899e-06 -0.001126120223 -0.0001626593145 -0.0004848426628 -1.916244188e-18 2.805991129e-08 -0.0005538601121 0.0008112379092 0.0002984842547 1.346767353e-19 -7.301038525e-09 -3.052995826e-05 0.0001534651557 2.457184929e-05 7.015042099e-19 2.30451917e-08 -1.814809231e-05 -0.0001699683847 1.961336252e-06 -1.599117526e-20 1.806310148e-10 -1.009736148e-05 3.248745338e-06 2.083121055e-05 1.255382349e-20 -7.076093018e-10 -2.417357666e-06 1.832065775e-05 6.970691663e-06 9.095042689e-21 4.017166033e-10 -2.596640997e-06 -3.247862035e-05 1.913513448e-05 1.593306849e-21 1.810755698e-11 -8.960647349e-07 4.822111228e-06 3.205254459e-06 -2.348766249e-21 4.241475279e-10 -2.128752085e-06 1.074239261e-06 1.755829608e-06 -4.628028325e-21 3.172647013e-10 -5.740290409e-07 -9.727847867e-06 4.763306553e-06 -5.585849086e-21 1.973767007e-10 4.410836126e-07 1.184824206e-06 5.888651988e-09 -9.48609846e-05 -0.002100409006 -0.0006076147638 -0.000253309473 -7.444014752e-05 1.197031286e-05 -9.816165481e-06 6.305562142e-06 3.421864454e-06 -1.005192658e-06 -1.376595671e-07 -8.44861316e-07 -1.360743536e-07 0.0005931406552 -0.0007348078634 -0.0009340917559 -0.0002658715233 -0.0006821475227 -0.001346295534 -3.58066834e-05 -0.0003188647731 -8.95021377e-05 1.026226725e-05 -1.861046051e-05 0.0002265515274 2.329036192e-05 -1.325053945e-05 -2.1595616e-05 -3.904389007e-06 -9.845371241e-06 -6.404300822e-06 6.111265635e-07 -5.797995107e-07 2.170216552e-05 -6.996202935e-07 -1.496684778e-06 -2.707842284e-06 5.798927877e-06 -1.534381003e-06 -1.393062768e-05 2.230545369e-06 -7.63281551e-07 3.742971248e-07 -1.820541195e-07 3.33594342e-07 -2.887455058e-07 6.701196179e-07 -1.207920821e-07 -1.232317595e-06 6.966370005e-07 -2.885737443e-07 6.90040523e-08 -6.056732101e-12 6.354048289e-06 -8.527472941e-06 0.01809287309 -0.01954377091 -6.993270615e-13 1.824794429e-06 0.0005915086743 -0.004072310844 0.002380369603 1.243861525e-15 -4.042721055e-06 6.848157009e-05 0.0006252779222 -0.001148129697 3.204415765e-14 -8.271467099e-07 -0.0002006411657 0.0001984150138 0.0003460091743 2.468627319e-16 -2.35981457e-07 6.762869157e-05 -7.978510976e-05 8.220061087e-05 -1.335257943e-18 -6.322912967e-08 9.501663098e-06 9.066199215e-07 -7.37265764e-05 -1.007109069e-15 3.019288353e-07 -3.176332468e-06 2.584701712e-06 6.074537417e-06 2.369460892e-16 -9.26176676e-10 1.378916906e-06 -6.521096463e-07 -4.17614161e-06 5.779590598e-17 -1.014109775e-08 7.094019986e-06 -3.15074662e-06 -9.206268458e-06 5.278602775e-17 -2.151714844e-08 -9.482802506e-08 9.725819285e-07 -1.019645929e-06 2.55536243e-18 -3.102622423e-10 -6.742846567e-07 -3.357646359e-06 3.076206274e-06 3.041473194e-17 -8.343859942e-10 1.865087276e-06 -1.97174977e-06 7.766128536e-07 -5.468784818e-16 3.286434379e-10 -8.944993936e-09 1.021764493e-06 -1.064351078e-06 -0.0003841648298 -0.0009741402683 0.0004132469821 2.569324766e-06 4.685441148e-06 9.068045643e-06 -1.707847028e-06 2.574118334e-07 -3.366737323e-08 -3.968573049e-07 -1.181649632e-06 -2.352664229e-08 -1.52629651e-07 -5.654364614e-07 7.407190227e-05 -0.0003655093874 -0.001858275956 0.0007187327882 -0.0009294118915 6.801673684e-06 -4.476324517e-06 9.995966507e-05 -7.325929009e-05 3.479089795e-05 0.0001937150308 7.53137928e-08 1.835941261e-07 3.472650395e-06 -7.571909201e-06 2.427336286e-05 2.439016393e-05 -2.138427588e-06 8.039776119e-06 -1.876514189e-05 -2.893304242e-07 1.680009871e-07 8.339088084e-07 1.351013552e-07 6.375791833e-09 -2.751574983e-07 -5.916662258e-07 2.589126868e-06 -3.650051093e-06 -3.991319014e-07 1.974210441e-06 -2.280318754e-06 9.077592255e-08 -9.820751611e-07 1.016777235e-06 -8.166796506e-08 3.629986235e-07 -4.535789697e-07 -3.33013975e-13 -3.551774938e-07 8.723189149e-05 0.005864147954 -0.007928171179 5.25355625e-14 7.155752722e-06 0.0008181705917 -0.00390449833 0.002050983032 2.184899137e-16 1.302182925e-06 -1.762264749e-05 -3.606668815e-05 -0.0001202208329 -4.204562632e-16 -4.244914994e-07 -4.797530207e-05 1.985953107e-05 0.0002888831538 7.663497673e-16 3.387564963e-07 -1.050087838e-05 2.071551589e-05 2.489909723e-06 -4.734957431e-17 -5.045429403e-09 8.3758148e-06 -1.033370171e-05 2.8312941e-05 -2.124714277e-17 -1.424038379e-09 3.793484346e-06 -2.710276589e-06 -6.023490262e-06 2.366651293e-17 7.598958707e-09 -7.479667504e-06 6.168842827e-06 -3.730450156e-07 4.110259035e-19 5.460598081e-10 -3.56249825e-07 5.71343093e-07 -4.068486543e-07 -1.164657871e-18 -1.086153656e-10 -6.535893583e-07 5.217801081e-06 -7.315343784e-06 -1.041054096e-16 -5.091993968e-10 -7.655048624e-08 1.105889382e-06 -1.134296932e-06 1.653687567e-18 2.985121848e-10 -8.15760668e-08 1.379765093e-06 -1.5173674e-06 -2.191969003e-19 1.287231782e-10 -1.742243183e-07 3.795633303e-06 -4.013578613e-06 --0.1250540102 -0.1268123657 -0.2129037573 -0.07644593472 -0.003130702472 0.001355052364 0.002507806087 0.002605300545 -7.949515096e-05 -0.0007901987423 -3.190706963e-05 6.295494431e-05 -9.954238956e-06 -0.1090529128 -0.1112732007 -0.05112345346 -0.07823738793 -0.07670109025 0.04638809892 -0.01228097154 -0.01289346987 0.02782177854 0.003093770263 0.004022103164 -0.0623499496 6.977635567e-06 1.415849576e-05 0.005154649211 -0.0003151246529 -0.000206411323 0.002809834271 0.0002465935485 0.0002787859581 -0.003306580559 -1.33520255e-05 -8.106838303e-06 0.001093041754 -0.000104150599 -7.858627795e-05 -7.535512428e-05 5.470860715e-05 7.253385043e-05 -0.0003674343915 6.512118337e-06 1.105751348e-05 0.0003656408837 -8.750237256e-06 -1.164756425e-05 -8.556801437e-05 1.29057339e-05 1.547016906e-05 -1.049372096e-05 2.819989421e-12 -1.344986581e-06 0.09726208063 0.1031336688 0.1091572021 9.48692905e-14 7.189544464e-06 -0.04242344528 -0.05780337166 -0.05660042437 1.574483253e-15 3.498868987e-06 -0.03489758707 -0.032367762 0.05543820129 4.588593965e-15 -3.336006178e-05 0.0006514534785 0.00258054276 0.008392252052 -1.343051768e-15 1.535420175e-06 -0.0008933214361 -0.001393930982 -0.01660948187 4.14704848e-17 6.2702516e-07 -0.002260222982 -0.0003355563338 -0.0001550994552 -1.382957412e-17 -5.052340872e-09 0.0001740760195 0.0002151397687 0.003148383599 1.159061601e-17 2.781927236e-08 -0.0002112570032 -0.0002285024611 -0.0005423279558 -1.453181618e-17 7.054563098e-09 -0.0008810922847 -5.852761509e-05 6.424668289e-05 -1.782138122e-17 3.36326884e-08 7.996884018e-05 0.0001150378777 0.0005648313236 -7.663521014e-17 -1.212763176e-08 6.49872602e-05 -2.182705178e-05 -2.352634055e-05 9.009815994e-19 -2.269878674e-09 -0.0001592477493 2.610387473e-05 2.513061261e-05 -1.463512432e-18 4.444266999e-09 2.976561312e-05 5.907801795e-05 7.521508646e-05 -0.1238410012 0.1159786129 0.2089244237 0.0843868982 0.004945907769 -0.0005989260057 -0.00177315732 -0.002924409859 -0.0002276499792 0.0007678802626 5.073795214e-05 -1.289793938e-05 1.325470172e-05 0.1087946394 0.1109355615 0.04753012355 0.08298349546 0.07818058533 -0.03545418891 0.01506464399 0.01595716724 -0.0420361857 -0.003130550436 -0.004117817948 0.05844712323 0.0001339974787 0.0001192894527 0.0004271789295 -0.001809248333 -0.0009271713733 0.0005849387629 -0.0002519429079 -0.0002722501098 0.001873315472 4.608383486e-05 4.074485084e-05 -0.0005301033066 0.0003939695154 7.721121844e-05 5.728360711e-05 -5.773419043e-05 -7.525082449e-05 2.382190556e-05 -1.272199282e-05 -2.847584115e-06 -0.0002613734092 5.06195825e-06 2.488002336e-06 0.0001575231099 -1.327726711e-05 -1.582523285e-05 -5.496260952e-05 -1.756932983e-12 4.008481243e-06 -0.1032522663 -0.1068628901 -0.1215750152 -1.092780107e-13 -2.146527457e-06 0.0491220057 0.05004352147 0.05136383367 -1.34428489e-15 -3.033048947e-06 -0.0528772182 0.03654277995 0.03690104619 5.689329114e-14 1.732727938e-05 0.001011005286 -0.0008726082777 -0.0181646343 9.998230173e-17 5.143507294e-07 0.001310169901 0.001993926067 0.01704485939 -3.904060991e-17 -1.971088228e-06 0.002165857799 0.002646335454 -5.080398079e-05 -2.824155459e-16 2.103551046e-08 -9.226128468e-05 -0.0001487535195 -0.003977151302 4.317234851e-17 -3.037806412e-08 0.0002732392769 0.0002821838952 0.000387985224 2.068134158e-17 -4.924624651e-08 6.916810184e-05 0.000123750784 0.0008535314361 1.412625873e-17 -3.335078298e-08 -6.528667989e-05 -9.012559582e-05 -0.0006623579547 6.15133395e-17 5.995515487e-10 -3.786532233e-05 2.932955185e-05 3.057159681e-05 6.249140907e-18 1.325104049e-09 -3.502045476e-05 -3.614371355e-05 0.0001666834863 -8.297863835e-20 -6.026850217e-09 -4.252445923e-05 -9.949611855e-05 -2.660526667e-05 --0.01071845062 0.01094181196 0.01766308793 0.003204626962 -9.393088453e-05 0.0002444747582 0.0004745209709 0.0002790916183 5.971831702e-05 -5.043078378e-06 -2.225910396e-05 -1.344673116e-05 3.178111448e-06 0.09545876027 -0.061085753 -0.06091518258 -0.1153091628 -0.1214391795 0.164556403 -0.06568392971 -0.07547329932 0.1266815536 -0.01247137533 -0.0170741429 0.04554140357 -0.0002672953524 6.686325142e-05 0.01578901983 0.0005158515703 0.002471779433 0.002647166234 -0.002339361572 0.002078441766 0.001639715468 -0.001575478161 0.0001541830807 -7.162655701e-05 -0.0008528124124 -0.0005104601475 -0.0003310189266 -8.162957977e-05 -0.0001232175534 4.719427408e-05 -4.298179105e-05 -2.462613398e-05 0.0002670453659 9.344627998e-06 1.141729274e-05 3.125184562e-05 4.765521836e-05 3.866192456e-05 2.917947876e-05 -9.175621593e-19 -7.758423892e-07 -0.07728875197 0.04467858019 0.0437348487 2.307931725e-18 -7.198544192e-07 -0.06016839167 0.02262788843 0.01788886878 1.142182375e-17 -2.721971378e-07 -0.003100378341 -0.001078288497 -0.009465919388 -2.986181392e-19 -2.925435528e-08 -0.0008907693851 -0.001660575046 0.0050708261 5.48291609e-20 5.144388549e-09 0.0001642059526 0.0003051806524 0.001248629499 8.055883521e-20 -1.269981731e-08 -0.001042109716 3.331901712e-05 0.0001377626146 1.630781305e-20 1.052689336e-09 -9.877926778e-06 -4.799566065e-05 -7.856336805e-05 6.411667245e-21 -5.113386635e-10 1.087255892e-06 -1.578690658e-05 0.000128666441 -2.138373112e-20 -1.496073274e-09 -5.00028161e-05 3.10800028e-05 1.370628069e-05 6.300937885e-22 -2.425582796e-10 2.049980798e-07 4.783326525e-06 1.383640802e-05 -6.004888024e-21 -1.473132637e-10 -3.275995631e-06 -5.179318982e-06 -1.522730363e-05 -3.721039087e-21 -3.246487932e-10 -1.747137628e-05 4.371085744e-06 1.665174811e-06 -1.609380941e-21 -2.813219487e-12 1.215365024e-06 2.332657692e-06 2.997433424e-06 -0.1411916509 0.0843119338 0.2051738492 0.1384945653 0.02605500459 0.003295616567 0.0006017031218 -0.002457085734 -0.001170797631 -0.000370272811 0.000123431325 0.0002555009455 -3.041557682e-05 0.1302531499 0.1314893328 0.03651354177 0.123208462 0.1317292687 0.02062258783 0.03863147447 0.03928153583 -0.108245291 -0.00171436166 -0.002416196685 0.01576596887 0.001425731123 0.001572646568 0.02618723957 0.003876934954 0.001825748423 0.002290904486 -0.0001396051424 -0.0001453332174 -0.006009287865 0.0003020289139 0.0003093902324 -6.188249929e-06 -0.0001235208362 -0.0001282274558 0.002511985599 -2.936046725e-05 -3.347004378e-05 -0.00103621132 1.317596929e-05 3.746526685e-05 3.812470385e-05 -3.207600655e-05 -3.266101719e-05 0.0001887124862 -2.878593681e-06 -4.562442289e-06 -0.0002011659234 -1.372936612e-13 4.457626934e-08 -0.1547231841 -0.1748438681 -0.175089481 -1.78471233e-14 -7.853622964e-07 0.07136431022 0.01931406286 0.01890009698 4.545993302e-17 -6.04376097e-06 -0.0165710307 0.04801824011 0.04935511981 1.015978913e-14 -7.080342456e-07 0.01048891267 0.01134962568 -0.05913415003 -2.408284816e-16 2.150921557e-07 0.006785121763 0.007504496829 0.003367855696 -1.102339502e-18 -7.773390599e-08 -0.001101561664 -0.001259022055 0.01545394995 -1.483411753e-17 2.093205245e-06 3.838585926e-06 7.636338228e-07 -0.0006334247002 -2.013598389e-16 -2.19339833e-09 -0.000965506357 0.000505590822 0.0005095362688 2.873760307e-17 -1.093302828e-08 -0.0002710263767 -0.0003009720246 0.0002253113062 -2.674704006e-18 1.606933854e-08 6.290461127e-05 3.845726438e-05 4.162803269e-05 7.882871849e-19 1.262211374e-10 0.0002633760489 -1.064066115e-05 -1.084782505e-05 1.876646725e-17 -8.715942508e-11 -5.702673195e-05 -5.740204021e-05 -0.0001921817528 -3.429642968e-17 -9.163821698e-11 -3.678147546e-05 2.088750783e-06 2.233315446e-06 --0.04615760921 -0.06020523165 -0.07912514463 -0.02306232958 -0.000437582793 0.001261666907 0.001367524318 0.000586723471 -0.0001993295275 -0.0002458003026 -1.746996467e-05 5.570354074e-05 1.412583924e-06 -0.04210454477 -0.04214383298 -0.02368920146 -0.0260960814 -0.03403464477 0.01847787365 -0.002863592378 -0.003020104032 -0.0003226964929 0.001083084552 0.0009248024438 -0.02262317611 8.560109354e-05 8.145598979e-05 0.005238182589 -0.0001394900467 -0.0002806032807 0.001083285635 9.280756904e-05 8.770442137e-05 -0.001856818242 1.454320091e-05 1.075579939e-05 0.0007544700805 6.517308218e-05 -2.448862077e-05 -3.298758322e-05 2.579797621e-05 1.949938421e-05 -0.000313114865 1.090309951e-05 6.422354653e-06 0.0001666374691 -4.119252615e-06 -3.03496016e-06 9.877178637e-06 5.433208164e-06 4.246140887e-06 -3.938009025e-05 -4.010652571e-14 1.295602996e-05 0.03346806562 0.06196012619 -0.005190550878 -1.817954156e-14 1.555395163e-05 -0.007915555654 -0.02971475605 -0.02997647915 -1.348628898e-15 -6.916357416e-06 -0.01013075098 -0.01399886994 0.02270942639 3.645544663e-16 -3.266059827e-06 0.001331082094 0.001462859879 -0.002234476175 -3.836179112e-16 3.160701543e-06 -0.0001490865117 -0.0001893235756 -0.004564671688 -6.218813761e-18 -8.781887228e-08 0.0006090821385 -8.221849486e-05 -0.0002776063235 2.358175861e-18 -4.265271107e-09 0.0001146057457 0.0001216481503 0.0002659999268 4.047701191e-19 -9.906801106e-08 -4.040083474e-05 -7.373340146e-05 -5.85459883e-05 -8.804222435e-18 -5.356792722e-08 -0.0001371772824 5.324466195e-06 -2.806489051e-05 -5.126310739e-18 -2.185514143e-08 6.185584707e-05 4.347512653e-05 1.554112432e-05 2.16834105e-17 -2.567883702e-09 6.829121573e-05 3.858565562e-06 -3.748262974e-06 -3.056703715e-18 7.823670374e-10 -3.421667786e-05 6.890038445e-06 -1.569272014e-07 -2.74673566e-18 -3.441687301e-09 2.28665914e-05 9.542286747e-06 5.965719199e-06 --0.04933546276 -0.05947896104 -0.08458397237 -0.03111354371 -0.001362101112 0.0006602415118 0.0009912332927 0.001090340038 -3.020954548e-05 -0.0003315992192 -1.948762349e-05 2.603845382e-05 -5.149944924e-06 -0.04591349947 -0.04603438697 -0.02398812351 -0.03243071497 -0.0417283801 0.01402573707 -0.005086317835 -0.005502161707 0.01039883281 0.001284782577 0.001254841473 -0.02367084391 1.541895568e-05 5.469310556e-06 0.002105522201 -3.056438203e-07 -7.447572174e-05 0.00131255123 0.0001076398815 0.0001180891956 -0.001406560495 -5.40877247e-06 -8.962229609e-06 0.0004560969586 -5.099175179e-05 -1.659712994e-05 -3.148594538e-05 3.617323939e-05 2.945279238e-05 -0.0001825467228 5.086138234e-06 4.408519214e-06 0.0001482837721 -4.552274507e-06 -4.689784331e-06 -3.451697096e-05 8.162140861e-06 6.288582009e-06 -9.004141795e-06 -1.851225676e-12 1.397854398e-05 0.04201819841 0.06955113105 0.003020201595 -8.385311634e-14 2.153865438e-05 -0.01321872451 -0.02998662801 -0.02928370799 -6.617314962e-15 -1.531476028e-05 -0.01286153793 -0.01587635224 0.02089460592 5.010296858e-14 -2.761623378e-05 0.0004272218923 0.0007149478026 0.005452043008 -8.453073077e-16 1.503399563e-06 -0.0002844036352 -0.0005479491902 -0.006581993439 -9.430734146e-17 -1.683246852e-06 -0.0009517854183 -2.246278879e-06 -9.665024556e-05 -2.307436188e-18 -9.253775133e-09 7.106457596e-05 8.10903485e-05 0.001358663696 -1.122424092e-17 -6.260268341e-08 -9.378081756e-05 -0.0001175675055 -0.0002187503694 -5.232124422e-17 -9.84473531e-08 -0.0003569752225 -2.013934241e-05 1.215052142e-05 -2.120566303e-17 -5.721772921e-09 5.383566195e-05 4.193454194e-05 0.0001997039511 3.516286862e-17 -3.068934667e-08 2.631131843e-05 -6.167836321e-06 -1.249510225e-05 -1.559024179e-17 -1.984219424e-09 -6.593545165e-05 1.318755817e-05 7.010492618e-06 -1.394012824e-17 -1.748426883e-09 2.65916109e-05 1.57297483e-05 2.258984746e-05 --0.0490168533 -0.0575985298 -0.08381128785 -0.03452112762 -0.002142376139 0.0003831251792 0.0006775304209 0.001232864897 9.864000259e-05 -0.0003284868402 -2.64772734e-05 5.397789034e-06 -6.887631325e-06 -0.0456588757 -0.04643808236 -0.02332243383 -0.03446070675 -0.0441922733 0.009617602325 -0.006295982422 -0.006975586557 0.01585417369 0.001317919853 0.001297311524 -0.02195562011 -3.605499313e-05 -5.023879896e-05 -0.0001511960383 0.0008875645236 0.0005435256259 -0.0002393828591 0.0001086130131 0.0001148731433 -0.0008106556148 -1.919420653e-05 -2.109421389e-05 0.0002179503991 -0.0001785103103 -9.882331434e-06 -2.433696286e-05 3.906139032e-05 3.0799807e-05 -4.571988803e-05 4.519275381e-06 1.331390339e-06 0.0001105359841 -1.488617165e-06 -1.095189301e-06 -6.665539928e-05 9.093229625e-06 6.481564625e-06 1.705977122e-05 -9.390892176e-13 2.087797088e-05 0.04442645446 0.07537314649 0.003109605707 -6.618247586e-14 1.985434826e-05 -0.01526238081 -0.02840939324 -0.02719397689 -7.377090179e-15 -2.22877007e-05 0.02081644978 -0.0134401407 -0.01928793794 4.537265283e-14 -3.778843019e-05 -0.0001390170315 -2.134393106e-05 0.009674295611 1.389669741e-16 -4.2832387e-07 -0.0004102623088 -0.0008257808796 -0.006689987106 -1.033922247e-16 -8.975679781e-07 -0.0008719800932 -0.001070501384 -1.362720897e-05 1.131677799e-16 -4.216757778e-08 3.990776619e-05 5.104214878e-05 0.001734127176 4.680647597e-19 -7.148944213e-08 -0.0001225736141 -0.0001423510688 -0.0001599957114 -6.289208671e-17 -1.156600241e-07 3.021230075e-05 -8.831611886e-05 -0.0003902448928 -2.076357677e-17 2.530524594e-09 4.736828308e-05 3.200756444e-05 0.0002448195759 1.373962403e-17 -4.065207293e-08 1.548138912e-05 -8.929534699e-06 -1.663334593e-05 -1.666844941e-17 -3.940442245e-09 1.69039253e-05 1.093414292e-05 -6.892261457e-05 -1.501269132e-17 -2.635543162e-10 3.240000723e-05 2.716465302e-05 7.994603169e-06 -0.0007997406674 0.001651144474 0.0006806214651 7.067415794e-05 5.82406205e-07 1.431752309e-05 1.12690231e-05 2.278633793e-06 -4.141147868e-07 -8.910756391e-07 -2.151201875e-07 -1.547406636e-07 4.242804756e-08 0.02998039676 -0.003721535563 -0.02832362778 -0.02399777629 -0.002359056574 0.02950529001 -0.005983033116 -0.0007326513665 0.00995170173 -0.0002828527561 -4.051627762e-05 0.00146727481 -2.420411108e-06 -3.280749248e-07 0.0003529182621 -0.0002932724609 2.321779209e-05 0.0002883729562 -0.0001013567892 3.743905767e-06 3.183407063e-05 -3.327911582e-05 2.264947048e-06 -1.544153908e-06 -0.0001259973563 0.0001040148505 3.473973813e-06 2.179230203e-06 3.902886369e-07 1.743093864e-08 8.04634225e-07 3.911527785e-07 4.056226697e-06 -6.748163693e-08 -2.582656653e-06 3.491356918e-06 3.074134166e-06 -3.374550879e-07 -2.513727673e-06 -1.751981082e-16 -5.731445356e-05 -0.004353425645 0.0004055984743 0.003170670747 3.845944153e-16 -5.270687484e-05 -0.001818500776 0.000354355579 0.0006051595254 9.303357884e-18 -1.66970103e-05 0.00192294201 0.0001987557081 -0.002438887337 -7.100577671e-18 -3.430366999e-07 7.704177024e-05 1.789474791e-05 -0.0001022836032 5.85593994e-19 -4.147717158e-08 -1.118054313e-06 -2.95618153e-05 4.19619705e-05 2.572171044e-18 -2.545694929e-07 -1.268320195e-05 -5.814101593e-06 -1.073106571e-06 3.266349709e-20 -1.910773484e-09 1.081736293e-06 4.349881476e-07 -5.981801893e-06 3.999219686e-20 -3.568052599e-09 -6.0388292e-08 1.934158029e-07 4.860084622e-07 3.449266657e-20 -4.40605761e-09 -8.938137973e-07 2.404565873e-08 3.220580795e-08 1.116148334e-21 -3.613989933e-10 -4.251500538e-09 6.619218736e-09 -2.458841636e-08 4.497213808e-21 -4.780250767e-09 6.084391895e-07 1.205076522e-07 -1.197201255e-06 -1.791364727e-20 -3.51853104e-09 -2.723472809e-07 2.40453385e-09 -4.195461056e-08 -1.503046216e-20 -2.050945592e-09 -1.181124108e-08 -7.531932234e-07 8.727665228e-07 -0.00780054048 -0.00531682413 0.007793324578 0.003003158698 0.0004493253224 7.356225089e-05 -6.177710073e-05 -6.042349769e-05 -2.622789246e-05 -1.706412193e-05 1.012733729e-06 3.279909411e-06 -9.984863115e-08 -0.04003476399 0.06421336164 -0.001880227783 0.06027073137 -0.02939414926 -0.02459744573 0.0007507524808 -0.0005905156336 -0.00217186596 0.0001713849596 -0.0003068738699 0.001446365137 0.0001730742079 -2.170683195e-05 0.0005085968897 0.0003152679482 0.0002903263649 -0.0006698972824 -4.744223129e-06 -1.690029353e-05 -0.0002052886868 7.456746895e-05 -3.719613931e-05 -2.384258011e-05 2.969674032e-05 -1.011403973e-06 4.492348643e-05 1.529304986e-05 -1.469847098e-05 -4.808391224e-05 -5.31197161e-06 -4.77773251e-06 -5.419206835e-06 -2.482390593e-06 2.157296285e-06 2.543930253e-08 6.713989393e-06 2.94632833e-06 -8.316791295e-06 9.137650405e-12 6.702676851e-06 -0.006799788937 0.02038267959 -0.02617724926 1.508169793e-13 5.089499228e-06 0.005955388924 0.04741490076 -0.04038874898 -2.759676771e-15 -3.328173318e-05 -0.0003097724247 0.008622751546 -0.008614798627 -3.48059339e-15 -8.005132291e-06 0.0002879334174 -0.0002272594201 -0.0005909788698 -3.250719027e-16 -6.360888651e-07 0.0009723355201 -0.0007274727154 0.0001740340251 1.459495473e-17 -7.530959119e-07 7.496468899e-05 -0.0002469300142 0.0001269598897 -2.265631839e-16 -1.567320683e-07 3.251746602e-06 -1.019146943e-05 -1.952854304e-05 -2.198197273e-15 -6.610007261e-09 -2.67486779e-05 9.876888395e-05 -6.976067231e-06 -3.777602352e-18 -2.914173595e-09 4.721769796e-05 -5.453181485e-05 -2.162530904e-05 -1.915542207e-17 -2.985500747e-08 1.939742652e-06 1.754637139e-05 -4.117093783e-05 2.405188516e-16 3.095895791e-10 3.979675776e-06 -1.237729688e-06 -5.265161328e-06 1.399559975e-16 6.563201722e-10 1.060953636e-06 1.665035307e-06 -2.581689668e-06 5.33091272e-16 4.434523824e-10 -7.888030214e-07 1.149896938e-05 -1.826832522e-05 -0.01713196725 -0.02539244665 0.006680163896 0.002367614667 0.0001010369664 -0.0001426832559 8.215666825e-05 6.48004306e-05 -2.428531499e-06 -2.809126667e-05 -7.588403564e-06 -1.127912909e-06 -4.870681928e-07 0.1051449918 0.0002623314396 -0.02595267216 0.0002107488735 0.02499530869 0.01229610935 -2.666983218e-07 -4.182753212e-05 -0.002716253712 1.070232623e-05 0.001329985581 0.003182595677 -2.183750355e-05 -3.689851492e-10 -0.0004091658294 -0.000246768614 -1.943264874e-06 0.0003663708277 1.224970133e-05 3.076248174e-07 -9.400042088e-06 4.013989772e-08 4.800082322e-05 4.681519185e-05 -1.750694751e-05 3.33604826e-06 8.67146894e-10 -2.681549616e-05 -1.6804931e-07 -4.463712834e-05 -8.162813401e-07 -6.971008494e-08 -1.227595676e-05 4.046442266e-06 -1.059200913e-07 -2.569515283e-06 5.039507124e-07 -7.323205439e-09 -1.264512898e-05 2.459993544e-16 -1.436840723e-07 -0.07067505534 0.05077664317 0.0002985557142 -1.035498914e-14 1.232675581e-05 0.002315944246 0.0004646570533 0.06812990632 -6.384682253e-17 9.944104813e-06 1.071404345e-05 0.005820835895 -0.001934885679 6.971137826e-18 -1.319600059e-07 1.054842683e-05 0.001042500582 0.0005522732669 -6.771927781e-17 2.565098224e-06 -0.0002049132581 -1.235444558e-06 0.0002689171737 -1.709168222e-18 1.53432947e-09 9.111177804e-05 -0.000364670481 -5.000031501e-06 1.080875997e-17 -1.011343119e-08 3.747678247e-06 5.757566708e-05 5.906973536e-05 8.157391195e-19 -4.351087749e-08 1.520457432e-06 4.409957133e-05 2.483723681e-05 1.393468915e-20 6.646042314e-10 -2.192733578e-05 -6.819301107e-05 -1.528270541e-07 -7.961175114e-21 6.03484899e-10 -5.237796122e-05 -4.851848283e-07 -3.316617038e-05 2.159930163e-18 -1.593500044e-10 -5.601384725e-06 9.043516916e-06 3.172701447e-07 1.009876358e-19 -1.855724379e-09 -5.099685554e-06 1.046419131e-05 3.366024675e-07 2.268206367e-20 -2.335327529e-09 -2.162527322e-05 -2.363290634e-07 -6.087956676e-06 --0.007951417174 0.01162898931 -0.002422787134 -0.001457206784 -1.081627248e-05 3.465637553e-05 -1.73778962e-05 -3.712245155e-05 -5.90686461e-07 1.574043427e-05 1.645497741e-06 -8.851846967e-09 5.950052392e-07 -0.02346646076 -0.03211628811 0.01861822876 -0.001684973495 -0.01062033423 -0.009227773918 -2.671152157e-05 -0.0001304519428 0.001793256415 -6.870171831e-05 -0.0004975504863 -0.001516657478 3.825442854e-05 -5.687000615e-06 0.0001233538917 0.0001219741652 -7.703134201e-06 -0.000155857051 -1.135975465e-05 -9.225634185e-06 -2.844465828e-05 -1.151151137e-06 -2.095402345e-05 -1.39108712e-05 1.405623587e-05 5.663377106e-06 -2.442561419e-06 1.251660432e-05 -2.744474008e-06 2.192899304e-05 -1.92504748e-06 -3.188450951e-06 2.315255131e-06 -9.393521596e-07 -2.686076879e-06 2.116256559e-06 3.181252011e-06 -1.697330035e-06 7.737980319e-06 -3.414742959e-13 -2.306727611e-07 0.03786582116 -0.001261958918 -0.02307490903 7.081736762e-14 -3.139340509e-07 0.0003491048802 -0.004897314961 -0.02807587868 -7.170062667e-16 -9.52360104e-06 8.080564307e-05 -0.003309424682 -0.0001439216082 -2.049796482e-14 -5.41281596e-06 7.056083896e-06 -0.0002337349802 0.0001385570151 3.734446953e-16 -4.000115211e-07 0.000141594532 -5.651095043e-06 -0.0002830259107 2.684157754e-17 -7.587078105e-07 8.537154876e-06 9.932006188e-05 9.729035259e-06 -7.099329604e-18 -2.216614214e-09 8.467443424e-07 -2.774091073e-05 -3.451651084e-05 -8.851738354e-17 1.976061052e-08 -1.158243019e-05 -1.48212523e-05 1.76103459e-06 -9.259917431e-17 -2.7973893e-08 3.403482863e-05 2.22155917e-05 -3.301287284e-06 -2.981896083e-17 -6.21206152e-09 1.607117814e-05 -1.799339515e-06 1.051351116e-05 -8.28683859e-17 -2.478277267e-09 1.241732248e-06 -1.106859696e-06 -5.754135941e-06 -8.213336774e-17 -1.339663823e-09 3.619082977e-06 1.966257546e-06 -5.115640918e-06 -3.342180358e-17 -1.853986989e-09 1.097703216e-05 -5.34170597e-07 3.15692983e-07 --0.007923874883 0.01151770907 -0.002079371511 -0.001631365138 -9.323058964e-07 1.833714431e-05 -9.104313272e-06 -3.703922777e-05 -2.204989324e-06 1.671081644e-05 8.846342134e-07 -1.358431943e-08 8.728931594e-07 -0.03342885858 -0.0228045677 0.01993479374 -0.001117095443 -0.01093019671 -0.01137710128 1.642145972e-05 -0.0003125975427 0.001946408032 -3.430634896e-05 -0.0004857225265 -0.00150200233 4.606672909e-05 -4.13377682e-06 4.833948318e-05 4.029758737e-05 -4.770535318e-05 -1.509163338e-05 -1.524891031e-05 -8.48340376e-06 -4.62313467e-05 -7.324486055e-07 -2.01727507e-05 -1.024226915e-05 2.094099061e-05 4.661637522e-06 -2.13435685e-06 1.024968711e-05 -1.667182203e-06 2.090622115e-05 -4.961946776e-06 -1.515958726e-06 9.911479294e-07 -1.621873348e-06 -2.157244443e-06 2.734308414e-06 3.422183368e-06 -9.857220569e-07 7.877995043e-06 -2.745811297e-13 -1.814172841e-07 0.03857253687 -0.00916191468 -0.01399875858 7.314335417e-14 -2.235477375e-06 0.0006489886273 -0.002742425248 -0.0302657603 -4.552880357e-16 -1.182520383e-05 0.0008604689547 1.286371336e-05 -0.005070923791 -2.246024373e-14 -5.44005622e-06 1.219765685e-05 -0.0001364012123 0.0002991670808 -2.974050856e-16 -4.241003316e-08 0.0001775059922 -4.335199793e-06 -0.0003574914641 1.859013576e-17 -6.645815927e-07 8.438953268e-05 1.410094738e-05 5.460130125e-06 -2.121386286e-17 -1.434738174e-09 1.516440846e-07 -2.210438568e-05 -3.41603339e-05 -2.18565477e-16 1.278371859e-08 -8.544719434e-06 -1.326397581e-05 1.962815574e-07 -6.665583266e-17 -2.550604199e-08 5.799372037e-05 -3.437945546e-07 -1.077737339e-06 -2.062227499e-17 -1.992243808e-09 1.151113165e-05 -1.125562453e-06 7.486966896e-06 -7.924878502e-17 -7.974108351e-10 1.04210155e-06 -2.747534903e-06 -4.489993644e-06 -6.428674668e-17 -5.377353103e-10 9.885091384e-07 -3.035601261e-06 4.982560886e-06 -2.506130356e-17 -8.405189472e-10 1.067378393e-05 -5.082052101e-07 -8.948682875e-07 -0.0001153080321 0.0002380649475 9.813321363e-05 1.018992582e-05 8.39723627e-08 2.064325949e-06 1.624787797e-06 3.285374738e-07 -5.970780666e-08 -1.284768708e-07 -3.101641132e-08 -2.231078415e-08 6.117351374e-09 -0.01571470194 0.02035954606 -0.005345924204 -0.00285192844 0.0233434488 -0.02085464308 -0.0009058421111 0.005283345245 -0.004323579411 -5.232379103e-05 0.0002520941997 -6.354318772e-05 -4.317122308e-06 1.835691954e-07 5.658651308e-05 0.0002975040621 -0.0003289847832 3.025034608e-05 1.565223888e-05 -3.084394459e-05 4.840538663e-06 1.214454895e-06 -4.980630227e-06 -7.126545666e-07 -1.521655332e-06 2.171619272e-05 -2.380880382e-05 4.181107053e-07 -2.012345225e-06 2.131453636e-06 1.548863761e-06 -2.029181674e-07 -8.287019058e-07 8.638765068e-07 -2.306827642e-07 -5.204911787e-07 -2.190751097e-06 2.656419684e-06 -3.786141424e-07 3.092823335e-16 -3.194044265e-05 0.0030574493 -0.003566982347 0.0003885025324 -6.802761431e-16 -2.936639304e-05 0.003407069282 -0.003358311013 6.241727725e-05 -1.629041688e-17 -9.298713969e-06 0.000314740228 -0.001322200303 0.001188667048 1.252634696e-17 -1.902289197e-07 1.372901522e-05 -0.0001002392388 0.0001614761659 -1.033269039e-18 -2.334304162e-08 6.644858775e-06 -4.559614824e-06 8.410580759e-06 -4.539746006e-18 -1.417360753e-07 2.881230597e-07 1.795953283e-06 -3.732745207e-06 -5.715647809e-20 -1.054589455e-09 1.79769864e-07 -3.111265391e-06 4.099577651e-06 -7.012341278e-20 -1.977582209e-09 -2.076663224e-08 -5.795573718e-07 2.13069656e-06 -6.089161158e-20 -2.442630773e-09 -5.582166674e-08 -1.020955383e-07 9.241964837e-09 -1.970741232e-21 -1.996377553e-10 6.097208985e-10 1.638370913e-08 -1.774708747e-09 -7.810415984e-21 -2.659261916e-09 1.104136155e-07 -8.027773741e-07 7.945166653e-07 3.160260248e-20 -1.957799945e-09 -1.620650471e-09 -3.072511283e-09 -3.449424776e-08 2.655534637e-20 -1.143597495e-09 1.252103717e-07 -1.029900182e-07 -1.216144282e-08 --0.0007041107372 0.002237155318 -0.0001314331354 0.0004561050542 9.551635978e-05 4.028543081e-06 1.760673985e-05 -3.77816063e-06 -1.740279752e-06 2.409080446e-06 4.323174717e-07 8.540510981e-07 -3.623572076e-07 0.02392323871 -0.02695088153 0.0005583987629 -0.002541555707 -0.01093321549 0.01538655045 -0.0004658752945 0.001125858263 -0.0002557859919 -5.686792702e-05 5.914436228e-05 -0.0001729177054 -7.483244265e-05 5.889918836e-05 9.328774469e-05 -0.0003924914987 0.0004661219717 5.464260958e-06 -6.055136739e-06 1.028622436e-05 9.64184699e-06 -4.684766841e-06 -3.268011585e-06 8.21387573e-06 -2.457431842e-05 1.353911004e-05 1.003917642e-05 -7.732799506e-06 8.225843043e-06 3.991847366e-06 1.583994007e-06 3.288468456e-06 -2.315180168e-07 2.158468719e-08 -9.146520203e-07 9.879201855e-07 -7.105074724e-06 4.127081167e-06 9.96228315e-07 7.081681108e-12 -7.655849434e-06 -0.0002247032149 -0.01058984499 0.009078017354 5.486565644e-13 -1.491282765e-06 -0.0008184607373 -0.0133174185 0.0131639112 -1.011348693e-14 1.051330549e-05 -3.495256602e-05 -0.003339180668 0.004492140527 -4.531095656e-14 8.211480241e-07 4.732708964e-05 8.645804773e-05 -0.0003489317158 -1.382646476e-15 4.857108775e-07 -0.0002782830111 0.0003190213426 1.494737676e-05 1.458674592e-18 1.803461127e-07 -7.647560661e-06 3.260557932e-05 9.02099722e-05 -1.130471484e-16 4.667953482e-08 2.918313941e-06 -2.25841669e-07 1.401252897e-06 9.825827839e-16 -7.904844017e-09 3.524164442e-07 -3.51845936e-06 -1.748864682e-05 -3.172736011e-17 5.534812257e-09 -2.166154458e-05 2.0147103e-05 6.877769042e-06 -3.613733054e-17 1.258466761e-08 3.143978536e-08 1.25486783e-06 5.679522181e-06 5.694883853e-17 -1.621036849e-09 8.325662484e-07 -2.660820887e-06 3.256340021e-06 6.676366825e-17 -1.192059016e-09 -2.722841148e-06 1.24247036e-07 -1.459667963e-06 5.631464373e-16 -3.469433421e-10 -1.52455641e-07 -1.718674643e-06 3.842443054e-06 -3.592854916e-05 -5.325213119e-05 1.400940087e-05 4.965276825e-06 2.118911133e-07 -2.992302226e-07 1.722960271e-07 1.358971461e-07 -5.093029426e-09 -5.891200004e-08 -1.591412863e-08 -2.365418623e-09 -1.021461999e-09 -0.007681497955 0.007592273951 -0.0002165270709 0.0005217888596 -0.0005356241606 4.60961447e-05 6.21747933e-05 -6.11025701e-05 -1.317674419e-06 3.633483467e-05 -4.182364717e-05 1.149322263e-05 -1.37722692e-08 -6.249483054e-07 -4.7858844e-07 -5.109876523e-06 3.683100252e-06 1.824701689e-06 -3.023329549e-06 3.258333983e-06 -1.198058724e-07 8.28578568e-07 -9.156604473e-07 1.969834447e-07 -3.729745303e-08 1.537100928e-07 -3.562676323e-07 -1.662420265e-06 1.797907832e-06 -2.690995214e-07 -1.415932035e-06 1.693870468e-06 -2.588567708e-07 -8.038585943e-07 1.169533286e-06 -3.73200477e-07 -8.852980074e-07 9.107908476e-07 -8.338122283e-08 -1.937482423e-14 -1.211798233e-08 0.0005676248447 -0.01145819842 0.01056858284 -2.668261255e-14 -3.636196484e-06 -0.0001187942104 0.002269727143 -0.002143168875 2.702229508e-16 5.338626923e-07 -7.341604748e-05 9.250668472e-05 -2.005903552e-06 3.398295199e-16 3.534580625e-07 3.143431956e-05 -4.398270624e-05 1.183012476e-05 -6.96839283e-16 -2.73615641e-07 -4.134720735e-06 4.716188234e-06 1.501021585e-07 6.0158992e-19 3.254351465e-11 1.674084016e-07 -1.943417821e-06 1.244359366e-06 4.011875269e-17 3.555022468e-09 -4.180326516e-06 4.377108219e-06 2.439457142e-07 -2.244372284e-17 -8.788514555e-09 5.591226903e-06 -6.293524199e-06 4.622227374e-07 3.024768555e-18 2.498828134e-09 3.453973848e-08 -2.641377608e-06 2.329345008e-06 3.377055761e-18 4.242445984e-09 -1.68782359e-06 1.883009977e-06 -2.474804196e-07 2.345571292e-17 9.99621509e-11 2.35051185e-07 -2.725367915e-06 2.535605133e-06 3.450825524e-18 3.187254035e-10 1.210572875e-07 -3.148091611e-06 3.029349067e-06 1.830665775e-18 8.952893166e-10 -9.107271896e-07 1.14859471e-06 -2.823105167e-07 --0.01474101686 0.02155881444 -0.004491569893 -0.0027014945 -2.005213052e-05 6.424895143e-05 -3.221662947e-05 -6.882077397e-05 -1.095065054e-06 2.918096257e-05 3.050564372e-06 -1.641031058e-08 1.103071574e-06 -0.1072744419 0.01241470379 0.02842512449 4.582485027e-05 -0.02301017523 -0.01693717043 1.480065433e-05 -0.0003375654636 0.003273209625 7.13841873e-06 -0.001077009627 -0.002828986914 6.316805753e-05 3.710439016e-06 0.0002227167012 0.0002191585546 -3.221493114e-05 -0.000260157212 -3.411341933e-05 -2.067087068e-06 -5.439262544e-05 5.496277185e-07 -4.096369378e-05 -2.632876311e-05 2.591688174e-05 5.736596588e-06 1.385700461e-06 1.775291566e-05 2.41687953e-06 3.915724991e-05 -8.709192903e-06 1.768727763e-06 2.394984402e-06 -6.376128601e-06 2.073865522e-06 1.988490371e-06 2.587004983e-06 1.122630266e-06 1.361756249e-05 1.185696604e-13 6.382105199e-07 0.06575603993 -0.0529950378 0.01149580764 -6.953949538e-16 -1.387191834e-05 -0.0006256722001 0.001146172282 -0.06154209466 2.470756561e-15 -1.539113325e-05 -0.0001171792055 -0.005885412777 -0.0002650957959 1.649540273e-14 1.527026884e-08 -1.563260369e-05 -0.0004609841578 0.000179343445 -2.185163095e-16 -7.193810972e-07 0.0002477690759 1.184188732e-05 -0.0005173942575 2.300861803e-17 -1.585319219e-06 1.579808887e-05 0.0001917695924 9.585402114e-06 2.494965028e-18 5.31621664e-09 -1.214930852e-06 -4.779072411e-05 -6.713055194e-05 5.152569875e-17 3.042837062e-08 2.914424819e-06 -5.189479814e-05 3.406461932e-06 5.411511027e-17 6.306150818e-09 6.233828005e-05 3.351198576e-05 2.668437478e-06 1.621560085e-17 6.558515133e-09 2.546174017e-05 2.703696463e-06 1.79738485e-05 2.788171893e-17 9.470524025e-09 2.344659345e-06 -1.34844575e-05 1.148081106e-06 3.132892601e-17 5.144421482e-09 6.970542189e-06 -7.931165304e-06 1.832180455e-06 1.650343376e-17 3.671058895e-09 1.769939542e-05 2.074388127e-06 2.45272202e-07 -0.01479820233 -0.02150985367 0.003883322338 0.003046649745 1.741124322e-06 -3.424546394e-05 1.700272554e-05 6.917246861e-05 4.117919406e-06 -3.120822153e-05 -1.652095253e-06 2.536934396e-08 -1.630168292e-06 0.105874877 -0.01009091006 -0.03119316378 -0.0002752775679 0.02269253588 0.02113984528 9.577667502e-06 0.0005879119438 -0.003577099191 -1.017398521e-05 0.0009825163021 0.002842274796 -8.135448449e-05 -2.770920076e-06 -8.785821714e-05 -7.541477815e-05 0.0001102646302 4.17978079e-06 4.042384489e-05 2.32897984e-06 8.810822554e-05 -3.75941775e-07 3.832936499e-05 1.961307559e-05 -3.897117921e-05 -5.031110357e-06 -1.190254444e-06 -1.642672821e-05 -1.241389856e-06 -3.782599782e-05 1.121854323e-05 -9.167018108e-07 -6.638632116e-07 6.504596983e-06 -1.310063123e-06 -3.735699444e-06 -4.81302561e-06 -6.359886308e-07 -1.409255287e-05 -1.127468855e-13 -1.076692815e-06 -0.06605181108 0.04524084842 -0.007497532659 1.767097579e-14 1.017644187e-05 -0.0001123087134 -0.001057414216 0.06187741727 -1.240669386e-15 2.094471456e-05 -0.001550010522 3.50532922e-05 0.009373919744 -2.313225347e-14 6.701578022e-06 6.374519793e-06 0.0002483529429 -0.0004475355421 -7.849110015e-17 -2.002274227e-07 -0.0003227587745 -6.156194414e-06 0.0006574042558 -4.443857959e-18 1.389087905e-06 -0.0001590269034 -3.299245175e-05 -1.32306234e-06 -1.19335996e-17 4.712942199e-10 1.189087675e-07 4.023913537e-05 6.765862467e-05 -1.129992772e-16 -4.388595756e-08 -3.393116161e-06 4.234992514e-05 -3.549308245e-07 -3.94269846e-17 2.212919453e-09 -0.0001050800686 -1.723792068e-06 1.046330956e-06 -1.104011869e-17 -4.59544156e-09 -1.935845787e-05 -1.14213307e-06 -1.285613409e-05 -3.195664923e-17 -1.458514566e-08 -1.814566554e-06 1.425826478e-05 -1.293726119e-06 -2.875760753e-17 -6.281151813e-09 4.755662154e-06 -1.571489576e-06 -8.586158489e-06 -1.285697211e-17 -3.056124214e-09 -1.872238008e-05 1.64686662e-06 -2.865688233e-07 --0.0408604112 -0.08436039944 -0.03477436383 -0.00361088947 -2.975634226e-05 -0.0007315119821 -0.0005757577879 -0.0001164201316 2.115798429e-05 4.552690454e-05 1.099093703e-05 7.90602179e-06 -2.167737043e-06 0.2105362919 0.0009335259353 0.001362248419 -0.001128774641 -0.0005551551063 -0.0368593448 -0.001232949264 -0.0007895408579 -0.1092877342 -0.0003251770878 -0.0002198057152 -0.05425970317 -4.040527403e-07 5.989365328e-08 -0.0182428617 -0.0009439573715 -4.085544272e-05 -2.564271038e-05 0.003276291382 3.114082214e-05 3.719481832e-05 0.001574952893 1.633373928e-06 -2.061505384e-08 0.0008334977159 0.0002696619256 9.415758683e-06 -1.302056562e-06 -1.080110855e-06 -0.000151121865 -6.675508925e-08 1.067068046e-08 -0.0002320605112 -1.308876247e-07 -1.235921068e-06 -4.486628285e-05 -1.096696176e-05 -2.505702758e-07 -2.826905957e-07 -2.557433922e-18 -8.21842745e-07 0.04973083861 0.0006429484613 0.0006179502894 5.626902998e-18 -9.445278429e-07 0.02979183338 0.0002981502516 2.917014548e-05 1.374709833e-19 -3.621127819e-07 -2.256449969e-05 -2.533706473e-05 -0.002655762438 -1.03553446e-19 -8.120791624e-09 -2.254689035e-05 -2.565513369e-05 -0.006532312376 8.5359542e-21 -6.201162418e-10 8.963837109e-07 -3.452510285e-05 -0.001284684663 3.768203343e-20 5.227768041e-09 0.0008634831624 1.106614175e-06 8.739466918e-07 4.807231093e-22 -4.106857038e-11 3.143332706e-07 8.654296635e-07 4.505506048e-05 5.734841606e-22 -8.030813443e-11 1.265283972e-08 -1.736424596e-07 -0.0001459488868 4.766460105e-22 1.419992345e-09 4.361399189e-05 2.186433308e-07 4.380034333e-08 1.940850912e-23 2.433341998e-10 1.771592104e-07 -3.496909553e-07 -5.719119912e-07 6.512730827e-23 -8.096617709e-11 1.927954355e-07 2.453644421e-07 9.644318658e-06 -2.574982891e-22 2.383454286e-10 1.459427545e-05 1.146314438e-09 1.304572281e-08 -2.200176957e-22 -5.48112563e-11 -1.709538019e-08 -9.669404753e-07 -2.440678374e-06 --0.2264733036 0.007487936792 -0.2273810253 -0.1542735296 -0.02592921246 -0.002910614929 -0.0004841600543 0.002299554324 0.001168777853 0.000558086442 -0.0001237810486 -0.0002538975668 3.635642052e-05 -0.2707423172 -0.2747145126 0.06086106089 -0.2054745274 -0.2218757467 -0.08621689837 -0.04058735155 -0.04308223092 0.1173455038 0.001200088926 0.001686100978 -0.02898014765 -0.001016250792 -0.001294461068 -0.02774727566 -0.003369701001 -0.001207074438 -0.001575795714 0.000124418108 0.0001062950247 0.005802002499 -0.0004229383404 -0.0004294018424 3.674180693e-05 0.0002119729366 0.0001822140777 -0.002263253337 7.437284967e-05 8.40346103e-05 0.001198229077 -3.260809977e-06 -5.238601546e-05 -3.591209218e-05 2.624958065e-05 2.743351355e-05 -0.0001588547257 2.101695834e-05 1.69729305e-05 0.0002485026683 2.224359655e-13 -7.499363973e-08 0.3219969639 0.2024449874 0.1983328097 2.812047862e-14 7.56623165e-07 -0.08527336327 -0.1447682038 -0.1484701052 -1.938466168e-15 6.511367399e-07 0.01479772537 -0.06987408665 -0.07609069428 -4.043285005e-15 1.383312525e-06 -0.009347534236 -0.009815600244 0.05935448659 7.196728128e-17 -5.130369123e-07 -0.004468898047 -0.00526946473 -0.006393536645 1.631820254e-17 1.812635632e-07 0.001382193611 0.001690350586 -0.01487563181 8.417797429e-17 -2.617137147e-06 -5.201802907e-06 -1.909181319e-05 0.0005730443511 7.153580599e-16 2.473156734e-09 0.0009389588599 -0.0006515729597 -0.0005792687842 -3.460720364e-17 6.515188964e-09 0.0004157202643 0.0004432938761 3.332582286e-06 1.208488196e-18 -1.176798712e-08 -5.482527253e-05 7.80233561e-06 2.943500874e-05 4.806428466e-17 -8.909117476e-11 -0.0002539567228 2.703590275e-07 -8.342322375e-06 -1.658092385e-17 -3.269873368e-11 5.919395758e-05 5.253343722e-05 0.0002154683996 3.390731947e-17 9.003168628e-11 5.269136437e-05 2.856059338e-05 3.257764575e-05 --0.019911321 0.02951191469 -0.007763900414 -0.00275171759 -0.0001174283981 0.0001658310495 -9.548511093e-05 -7.531313569e-05 2.822517083e-06 3.264856975e-05 8.819485643e-06 1.310896504e-06 5.660862522e-07 0.07073110199 0.0001833644358 -0.03981752638 -0.0001645447905 -0.02161886635 -0.01543728767 -6.818452018e-06 -0.0008703689947 0.001567882634 -7.366552029e-06 -0.0009728254426 -0.004329976983 0.000184811568 1.355523943e-09 0.0002756899043 0.0003559211207 2.555913075e-06 -0.0003811663351 1.099632288e-05 2.832358126e-07 -7.257379522e-06 -9.880201395e-09 -1.581992892e-05 -8.330402684e-05 1.19973616e-05 5.474013771e-05 1.519674996e-09 6.414889674e-05 3.103871662e-07 3.736307849e-05 2.061898714e-05 2.220758135e-07 5.899000117e-06 1.405121435e-05 2.23864861e-08 -4.605126537e-07 1.972891331e-05 6.570594295e-08 6.357890308e-06 2.433929323e-16 -1.572875519e-07 -0.03208620444 0.118685328 0.0005960798998 2.033413905e-15 -2.443856774e-06 -0.01057113906 -0.0004898006774 -0.05800811721 1.279505619e-16 -1.91387211e-05 -1.500396311e-05 -0.008066413205 0.001563454022 1.875805906e-17 -6.715650085e-07 -5.381947781e-06 -0.0005849837985 -0.003022388673 6.754508575e-17 -2.442142701e-06 0.0003491373695 2.14923445e-06 -0.0001783915867 2.119744629e-18 -1.954375736e-09 -0.0001028000925 0.0004341287494 6.004541687e-06 -2.047316207e-18 1.89491e-09 -3.205970113e-06 -4.905230116e-05 -0.0001318429601 3.748722022e-19 -2.362851471e-08 3.946110123e-07 7.843735048e-06 -5.514277249e-05 1.182911291e-19 -3.826609835e-08 1.20386035e-05 0.0001329179993 3.419869503e-07 2.592575166e-19 -3.67626473e-08 7.991949875e-05 6.505640866e-07 1.813947579e-05 1.965204311e-18 -1.418811978e-10 -4.314296272e-06 8.948180796e-06 3.055101992e-07 9.042459689e-20 -1.541574943e-09 -4.778808072e-06 7.625061128e-06 2.5858124e-07 7.308500186e-20 -7.854604933e-09 3.657909026e-05 1.611139344e-07 5.041056336e-07 --0.02147642624 0.03140938598 -0.006543840933 -0.003935851098 -2.921427377e-05 9.360533807e-05 -4.693692933e-05 -0.0001002661004 -1.595418016e-06 4.251421706e-05 4.444416648e-06 -2.39084473e-08 1.607082845e-06 0.07010368529 0.002678506699 -0.03718986827 -0.0005143878719 -0.02050841017 -0.027243513 -1.782098832e-06 -0.001860736535 0.003192407643 -2.021125033e-05 -0.0008620291349 -0.00511443185 0.000232562042 8.707972173e-07 0.0002203046107 0.0003578816861 -3.833172542e-05 -0.0003416736683 -2.282614118e-05 -4.418624393e-06 -0.0001068288494 -3.288202937e-08 -1.141701876e-05 -6.307920491e-05 2.84172379e-05 7.071128079e-05 2.913518793e-07 5.663309858e-05 1.461295885e-06 4.148878463e-05 8.254499733e-06 9.348587741e-08 -1.889339764e-06 1.27176619e-05 1.597907832e-07 -6.181598053e-07 2.477136856e-05 4.386285914e-07 1.121248734e-05 6.124891981e-14 -4.645207196e-07 -0.02781736978 0.1169626846 0.003080013952 6.198072648e-15 -1.620605034e-06 -0.01166536654 -0.001872705123 -0.06112045411 3.095782813e-15 -3.082782298e-05 -9.037894475e-05 -0.010072976 -0.0003298816896 7.631631423e-15 -2.95118942e-06 -1.226217193e-06 -0.0001907738134 -0.002689951097 5.414917684e-19 -6.11302753e-07 0.000466736548 1.249077964e-05 -0.0005089312885 3.775018755e-17 -1.945224386e-06 2.463587777e-05 0.0002589287766 1.53888103e-05 4.309116512e-19 -1.951496793e-09 -5.983498372e-07 -5.28791646e-05 -0.0001861472194 -2.394557766e-18 -2.31549424e-08 8.85432391e-07 1.228393841e-05 -8.529229901e-06 2.177129509e-17 -1.22247471e-07 6.350586367e-05 0.0001016859824 1.779141203e-06 6.92894949e-18 -2.052067613e-08 5.15562637e-05 2.005552803e-06 1.000836129e-05 8.804867313e-18 -4.318289204e-09 -3.620633642e-06 1.760345593e-06 3.034877629e-07 1.072227523e-17 -3.565320112e-09 -3.99517728e-06 1.076513171e-05 1.260425472e-06 5.813007124e-18 -6.912726324e-09 3.27429601e-05 2.250970681e-07 -7.978452222e-08 --0.02192362073 0.03186697029 -0.005753164083 -0.004513628887 -2.579485565e-06 5.073484919e-05 -2.518963439e-05 -0.0001024794048 -6.100720971e-06 4.623515731e-05 2.447588493e-06 -3.758482705e-08 2.415103576e-06 0.07386129815 0.001165710931 -0.03628027285 -0.0001723468843 -0.01831461589 -0.03455275123 -5.93901882e-07 -0.002509284531 0.003790736854 -6.080757264e-06 -0.0007700610281 -0.005386138883 0.0002459512339 6.460764869e-07 9.214759193e-05 0.000113631495 -9.378987865e-05 -9.410024333e-06 -3.302181154e-05 -5.021925675e-06 -0.0001642668637 -1.248041628e-08 -4.985930793e-06 -4.892480107e-05 4.715496532e-05 6.830046041e-05 2.145592349e-07 5.232981094e-05 5.013695348e-07 4.01468777e-05 2.098586621e-06 -2.656656466e-07 -1.747254263e-06 1.336016779e-05 1.51931291e-07 -4.881094296e-07 2.705082228e-05 1.630699112e-07 1.236462349e-05 3.293431248e-14 -8.855915495e-07 -0.02687643047 0.1198204436 0.00101585143 3.773030523e-15 -1.026432509e-06 -0.01256258295 -0.0006209922266 -0.06276601925 1.364408891e-15 -3.840081362e-05 0.00183898071 -2.9020759e-05 -0.01446176332 6.878088607e-15 -5.146735397e-06 8.680778987e-07 -2.546059498e-05 -0.002478776254 -2.358102536e-17 5.393219721e-08 0.0005832677501 5.125602937e-06 -0.0006979505066 1.377720388e-17 -1.566979322e-06 0.0002436569978 2.042489324e-05 3.300279424e-06 4.636023687e-20 -1.12424541e-08 -2.579324289e-08 -4.348612676e-05 -0.0001972982246 2.621152856e-18 -3.377467622e-08 7.474681055e-07 3.114281508e-05 -3.305468168e-07 1.11960324e-17 -1.519992619e-07 0.0001698408575 4.871357024e-07 -2.009204474e-07 2.641674115e-18 -1.22540947e-08 4.024786169e-05 5.633688646e-07 5.429114012e-06 5.004282612e-18 -7.083673702e-09 -2.861581085e-06 8.223080518e-07 1.280355985e-08 5.692406741e-18 -5.483010743e-09 1.500222103e-05 5.417243185e-07 -3.027074031e-06 2.812042586e-18 -6.285130406e-09 2.808619645e-05 1.01839885e-06 2.607808856e-07 --0.05167482111 -0.06574267786 -0.01243044652 -0.0001005796204 5.979780871e-05 -0.0003262026191 -1.677534424e-05 0.0002209875871 6.631097991e-05 1.582191136e-05 -9.880799355e-06 -4.568458848e-06 -3.040047881e-07 -0.01450451061 0.005368912284 0.1553838696 -0.1251665843 -0.003329957459 -0.01439021585 -0.1138044236 -0.003512360913 -0.008761041403 -0.02827198557 -0.001151131369 -0.001681396657 0.0003259772537 0.001073499155 0.0004331227032 0.0001485814629 0.0001001940253 0.005170034458 0.0001486890479 0.0001090364084 0.0038030017 -4.688413968e-05 -7.973155498e-05 -0.0003488991475 -0.0005254787487 -0.0003217415321 -1.043206414e-05 -0.0002097518672 -9.272767591e-06 -6.935386546e-06 1.908494768e-05 7.414839997e-05 8.222421358e-06 2.673066805e-08 8.040643729e-06 5.285219001e-06 9.04337636e-07 2.326012788e-06 8.333263238e-05 -4.527154653e-17 -1.433143389e-05 0.005756290009 0.0013329871 0.0536297909 9.828125759e-17 -1.329815041e-05 0.003521197299 0.0001698824786 0.001558544309 1.813969412e-18 -4.301622714e-06 -0.01575809939 -0.0004884100299 -1.637135146e-05 -1.811168196e-18 -1.474571352e-07 -0.001788145299 -0.0001125164903 -0.0003269789516 1.466277542e-19 -1.011582663e-08 8.597625441e-06 0.0004586554379 2.134901201e-05 6.68262695e-19 -6.521666101e-08 -2.355150115e-05 -0.0003138508362 -2.637288521e-05 9.632216051e-21 2.84232144e-09 -1.118223267e-05 -2.799341935e-06 -4.487957518e-06 1.050646412e-20 -7.191299603e-10 6.073720649e-06 -3.108573123e-07 -4.379116804e-06 9.246549963e-21 -1.112588609e-09 6.497362991e-07 -4.550897444e-07 -6.234019032e-06 3.60390157e-22 -9.109857457e-11 1.626445528e-08 2.429488223e-07 3.240991297e-05 9.665641413e-22 -1.27441733e-09 -7.356023595e-06 -3.496263362e-07 -1.568033573e-07 -4.633707138e-21 -8.98790819e-10 -3.265242246e-07 -2.879505485e-06 -4.312000713e-06 -3.688044916e-21 -4.992686375e-10 1.987374945e-08 2.039708836e-06 4.48214486e-06 --0.02448470597 0.02541610372 -0.007631025207 -0.003827021899 7.280678188e-05 0.0001313900767 5.553726607e-05 -3.390261254e-05 2.041993493e-06 5.144144138e-05 1.481843675e-06 1.451723763e-06 7.694565647e-07 0.006135089005 0.08142063556 -0.0592959807 -0.05381603246 -0.000755082193 -0.002918918353 -0.002720160077 -0.0001512611361 0.0005869449113 -0.0002077916914 -4.30594986e-06 -0.004520945363 1.102004383e-05 0.0003357796464 -0.0001310667334 -2.714735383e-05 -1.220576654e-05 0.0007164379612 4.05838337e-06 2.748133147e-07 -1.522534706e-05 -3.298924908e-05 -2.445059342e-07 2.545434923e-05 2.504565041e-06 6.502850239e-05 2.331389953e-05 1.142110995e-06 4.617636241e-05 3.974567125e-05 1.644036234e-06 2.573475959e-07 2.278007882e-05 6.102851908e-07 1.398526759e-05 -2.146668108e-06 8.317968018e-07 1.695637465e-05 5.897459444e-06 8.689959248e-13 6.950318911e-07 -0.0457532756 0.003000498141 0.0882312504 6.591920057e-15 2.032911476e-07 -0.02189827708 -0.05607238516 -0.001068306692 1.124931779e-15 2.233324838e-05 -0.0002520926183 -0.01187966349 -0.0003718060886 1.556782607e-15 1.812542015e-06 1.135654242e-05 0.001012318171 -0.001943495745 4.393190247e-16 8.868781258e-07 2.967886072e-05 0.001371132649 -0.0002244690032 -6.070100434e-18 6.002856405e-07 3.054968648e-06 0.0002774902321 0.0002104518473 4.416236794e-16 7.735858614e-07 2.881030527e-06 1.943438518e-07 -2.550770668e-05 -5.314251822e-16 -1.513812841e-09 2.407549319e-05 -6.489395683e-05 -2.315150787e-08 4.503100094e-17 1.9326881e-08 2.10394094e-06 9.291229745e-05 1.049658216e-05 1.737696331e-17 3.264689053e-08 2.107945911e-07 6.642516354e-07 5.46263531e-05 1.384003399e-16 1.901512457e-10 -4.31418275e-06 6.24901756e-06 5.154850816e-07 9.290890984e-17 4.75137218e-10 3.836674599e-07 4.022673252e-06 -7.925485949e-06 2.396529893e-17 2.356566137e-11 -5.897155228e-07 5.220740574e-07 2.774925071e-05 --0.2195481507 -0.07545823539 -0.2810316 -0.07665946689 -0.002032566429 0.004142467893 0.004027314339 0.001774185354 -0.0006019607672 -0.0006829544062 2.169986311e-05 0.0001987065543 1.403625262e-05 -0.2355733343 -0.2710865495 -0.04742311098 -0.1277388793 -0.1287919518 0.05972961724 -0.007657671248 -0.008937372357 -8.033079942e-05 0.001258764199 0.001714654987 -0.08345594824 0.000229941211 8.473280136e-05 0.01656888573 -0.0003139929426 -0.0003341146384 0.002160305903 0.0002867057313 0.0004403825324 -0.005028367375 6.907908047e-06 -6.26293932e-06 0.002207186507 0.00022165439 -0.0001099730761 -0.0001624381908 8.903761282e-05 9.482854317e-05 -0.0007338333002 3.291976768e-05 6.685254619e-05 0.0006666993152 -9.33632758e-06 4.286873942e-06 6.766091311e-05 1.349585925e-05 6.632236021e-06 -8.580972892e-05 1.539394225e-14 -6.095527316e-06 0.2406235693 0.08571711617 0.07746487002 2.668406806e-15 5.068995547e-06 -0.06482132975 -0.1922366003 -0.1776311622 -1.051095258e-15 -5.867851978e-06 -0.0398696941 -0.04521466365 0.07867556109 1.148933082e-15 -2.343639694e-06 0.002182936264 0.003739287398 -0.01681160518 -5.212354987e-16 1.51774167e-06 -0.0001636956646 -0.0004482367806 -0.01468055918 -5.039340692e-18 -2.288927641e-07 0.001404920415 0.0001946774439 0.0006377211395 -8.816894808e-19 1.020582403e-08 0.0003989589766 0.0003479076909 0.0008344353612 3.799987486e-18 -2.37189483e-08 -0.0002298910462 -0.0002622922669 -0.0002424718036 3.295934939e-18 -1.545752221e-07 -0.0003716285925 5.160522185e-05 -5.687573088e-06 -4.130122419e-18 1.894718199e-08 0.0002098198316 0.0002798381871 0.0003098175056 7.980417147e-18 -1.820542391e-09 0.0002353531974 1.856989668e-05 5.277201082e-05 5.737578567e-19 -4.936466266e-09 -8.617572155e-05 1.060213421e-05 3.121524661e-05 -5.3216011e-19 -2.656715009e-09 6.109054211e-05 6.69298901e-05 8.863182667e-05 --0.029339154 0.03194044399 -0.01271441505 -0.001632033707 -0.0002533395362 0.0001297141981 1.552351787e-05 4.089764797e-05 8.184656915e-06 1.918479072e-05 2.337372886e-05 1.370832395e-05 4.963539048e-06 -0.008847872068 0.0286511482 -0.04748330637 -0.03727733882 -0.005918713823 0.001346081718 0.0003031086959 0.0002763654863 -0.002731705453 -0.000980015888 -0.0001890160493 -0.003507348608 -1.094681353e-05 1.013648983e-06 -0.0001631692568 4.281114071e-07 0.0002234562989 0.000237105348 1.362479153e-06 0.0001394281182 0.0003025955254 1.538388229e-06 -4.053609082e-06 -1.216250845e-05 -9.353433283e-06 -9.704911883e-06 -4.561036658e-06 1.992112778e-06 4.286343048e-05 4.774818726e-05 7.346558874e-07 3.318453668e-05 6.04960065e-05 -7.576347372e-08 1.459731912e-05 2.691493049e-05 -1.994938737e-07 9.567850189e-06 1.532904925e-06 -1.903372102e-14 6.290663692e-07 -0.02003000026 -0.007266415896 0.0730021284 6.495766481e-14 1.07937972e-05 -0.02260002241 -0.06137982019 -0.009120292959 2.169707309e-16 1.886902658e-05 -0.004042404096 -0.0005229733733 0.000377463333 3.13701469e-14 2.3799341e-05 -0.0003051048425 -8.505140433e-05 -0.002465968518 4.335274207e-17 -1.761785502e-07 3.240986035e-05 0.0003752308093 -4.921128695e-05 -4.675765921e-17 2.9229657e-06 -1.414821978e-05 8.330598371e-05 0.001051749525 -3.340583039e-19 3.993253162e-09 2.152541415e-05 1.302099104e-05 4.72067015e-05 -1.198926229e-17 1.421349572e-08 -6.767056931e-05 -9.466770913e-06 1.730171132e-05 4.044286013e-18 6.514574492e-08 -1.324065742e-06 6.582028474e-07 5.020287208e-05 3.575621677e-18 2.172039612e-08 5.398382725e-06 8.161964135e-05 3.780780097e-05 9.053235963e-18 1.060844214e-08 2.791779972e-06 5.986766948e-07 5.462501328e-05 4.121625047e-18 5.187062812e-09 1.122170801e-06 4.2095277e-08 2.864590495e-05 1.828815578e-18 6.353208176e-09 9.78018999e-07 9.183265393e-06 1.940856711e-05 --0.03012520863 0.03276853498 -0.01269173634 -0.002142441306 -0.0001930831899 0.0001352398315 3.245075241e-05 1.454263771e-05 1.043631594e-05 2.87051646e-05 2.171191299e-05 1.098390683e-05 3.601384624e-06 -0.009962715111 0.03171135892 -0.04620862289 -0.03767974402 -0.01080551522 -0.0001712656083 0.0001009724511 0.0002129377661 -0.001879268736 -0.0008489911758 -0.0002626425296 -0.00404219206 -6.775199424e-06 3.332761877e-05 -6.379432995e-05 -0.0001314030534 1.499212138e-05 0.000639647018 1.945535633e-06 0.0001066606836 0.0002624016365 -7.679141356e-06 -9.142374066e-06 -1.335695644e-05 -7.286613396e-06 -9.321011964e-06 3.182457357e-06 3.855503206e-06 4.652275113e-05 5.802060332e-05 1.957441871e-07 2.517864255e-05 5.677070091e-05 4.76213303e-07 1.853380411e-05 1.669821675e-05 -6.314806407e-08 9.114086217e-06 1.1591535e-06 -3.110434495e-15 1.223951814e-06 -0.01913358589 -0.005212310117 0.07431860826 7.678081653e-14 5.735151279e-06 -0.02226200714 -0.06150868288 -0.01312935917 -1.544673114e-15 2.344018825e-05 0.000153625877 -0.005097589662 -0.0009099071438 9.955522149e-14 2.305386866e-05 3.053661136e-05 -6.126631771e-05 -0.00245334718 -4.110318739e-17 6.041251268e-08 6.856940105e-05 0.000506944352 -0.0001172903419 -1.007426697e-16 2.518785559e-06 -5.661026375e-06 0.0001168335562 0.001003007339 -2.8898396e-18 4.687334366e-09 8.069969527e-06 3.951759356e-06 1.529231507e-05 -4.472022258e-17 1.254883362e-08 -8.046830693e-05 -1.723699879e-05 2.548822503e-05 5.309100386e-18 8.606868453e-08 4.246755155e-06 3.056374195e-05 4.217120608e-05 2.923446352e-18 1.476365431e-08 7.91641971e-06 7.980717543e-05 3.771639064e-05 1.155629871e-17 1.584452544e-08 1.800766241e-06 1.603209687e-06 4.35830695e-05 3.355724712e-18 6.357960358e-09 5.594311546e-07 1.861057051e-05 -2.148351413e-08 2.15047607e-18 6.074089522e-09 6.610558294e-07 1.249416378e-06 3.04258721e-05 -1.460206851e-05 1.857730836e-05 3.51254688e-06 2.842139511e-08 -1.689743052e-08 9.217705818e-08 4.740311056e-09 -6.244580662e-08 -1.873789693e-08 -4.470893729e-09 2.792077573e-09 1.290937204e-09 8.590448208e-11 0.003803348611 -0.05935886088 0.05463464401 0.01620568529 -0.02013657028 0.003299234438 0.003938713326 -0.004589268348 0.0005074487823 -0.0008134443885 0.0009318585314 -7.303340163e-05 -0.0008511492496 0.0008679731677 -7.210649137e-06 -2.57384887e-05 0.0001229117472 -9.682711669e-05 1.101044816e-05 -0.0001012770491 8.826292254e-05 -1.952807577e-07 7.081130506e-06 -6.685654646e-06 -4.288572849e-08 2.396942439e-05 -2.470598732e-05 -1.280460653e-05 1.469421628e-05 -1.286603215e-06 1.453206287e-05 -1.502949158e-05 2.880024075e-07 9.24530987e-07 -1.160679397e-06 2.866443057e-07 7.271256209e-07 -5.309864077e-06 4.529387339e-06 -2.552445029e-16 2.599825675e-05 -0.0009360825809 0.006279977016 -0.005474740996 5.590468363e-16 2.39089781e-05 -0.00103169348 0.004597041793 -0.003536866212 1.06692679e-17 7.573811438e-06 -0.001350217262 0.001552614401 -0.000137312824 -1.02863134e-17 1.551612776e-07 -1.131678138e-05 2.037663164e-05 -3.272719735e-06 8.545690266e-19 1.874416527e-08 7.31314871e-06 -1.022579378e-05 -2.136493871e-07 3.750462765e-18 1.153766161e-07 -1.279351902e-06 5.400311559e-05 -5.243693186e-05 5.226479956e-20 8.579085946e-10 1.584066195e-08 -8.715153323e-08 2.613235147e-08 5.94745113e-20 1.633014439e-09 -7.853230689e-08 -3.242406081e-08 2.946885852e-08 5.359495678e-20 1.985180113e-09 -1.330924755e-07 4.661256472e-06 -4.662558356e-06 1.298530106e-21 1.61558449e-10 -5.443329084e-09 1.502451679e-07 -2.584498005e-07 6.385324478e-21 2.167528388e-09 -3.168166398e-07 4.225082292e-07 -6.224580954e-08 -2.635879724e-20 1.593188015e-09 -2.933340929e-08 2.088093338e-06 -2.065800032e-06 -2.158242966e-20 9.307945829e-10 8.424136729e-08 -1.01951106e-07 1.181830869e-08 --5.13484499e-05 5.330174396e-05 -1.600351321e-05 -8.02589349e-06 1.526877797e-07 2.755465709e-07 1.164707686e-07 -7.109934681e-08 4.28239574e-09 1.078811515e-07 3.107669571e-09 3.044503169e-09 1.613676795e-09 -0.04239945915 0.04235824917 -0.0007488461272 0.0004449833985 -0.0006886009209 5.049481815e-05 -0.000483573148 0.0004980594407 7.61746438e-06 9.075127693e-06 -1.38107883e-05 -4.833884754e-06 -3.876802885e-05 3.982251998e-05 -7.906593846e-07 -9.004559871e-06 8.411643204e-06 1.902300761e-06 1.708883205e-06 -1.836945354e-06 1.047729496e-07 2.397704371e-06 -2.437021004e-06 -3.768029989e-07 -9.095973206e-06 9.592851817e-06 -3.651144357e-07 -3.14502647e-06 3.553269033e-06 -2.21153942e-07 4.081626809e-08 -1.895872834e-06 1.807645844e-06 -3.439325959e-06 3.44281772e-06 -4.22922595e-08 -2.996798288e-06 3.418246319e-06 -4.079918874e-07 -1.455090818e-12 1.729725218e-06 0.0001721868563 -0.02495843746 0.02437526083 1.002998116e-13 -2.561090004e-07 -0.0001532699546 0.003641057203 -0.003808941796 -1.001647175e-15 2.145494328e-06 -3.276656471e-08 -0.0004447009687 0.000433501635 6.459244929e-15 -1.013606263e-07 0.0001123706617 -0.0001094043688 3.190849098e-06 -8.181785662e-16 2.972448391e-07 -4.642867679e-05 4.961250561e-05 -2.90900443e-06 9.104132871e-19 6.979785584e-09 -6.080452285e-07 1.211538443e-06 4.631773623e-07 -3.994700999e-16 1.092445119e-07 3.108061609e-07 -5.769784282e-07 5.055859504e-08 -1.462116506e-15 9.824397892e-09 1.070949877e-07 -1.687072425e-06 9.040797666e-07 -1.184640443e-16 1.563735932e-08 -3.845538633e-06 4.20776503e-06 1.521207578e-08 -4.900496101e-17 1.850376301e-08 2.134866599e-08 -1.307991127e-06 1.37261163e-06 -6.336203115e-17 2.120865373e-09 -1.401920216e-08 4.202810641e-06 -4.275676745e-06 -1.140230335e-16 2.455434025e-09 -3.853495222e-06 3.753623775e-06 5.416590682e-08 -4.245196137e-17 3.0616334e-11 5.794528562e-08 -1.561872069e-06 1.540329218e-06 --0.0008944619759 0.000941299234 -0.0006978398536 0.000145248396 -1.63677199e-05 -1.967625063e-05 1.296939131e-05 1.490554749e-05 -2.737993288e-07 -2.589452981e-06 1.748905368e-06 1.754090131e-06 9.933701189e-07 0.00445130822 -0.007732458132 -0.0005986634928 -0.003538835496 0.003803450493 0.002324461155 2.679931661e-05 0.0001052977373 -0.0005660965367 -0.0001173222908 0.0001600224808 -1.580586006e-05 -4.429181483e-06 -1.778187155e-05 -6.320349963e-05 -2.356286328e-05 6.760529158e-06 7.899852509e-06 -1.165439701e-05 2.195419846e-05 4.843010943e-05 3.087137059e-06 2.402446812e-06 8.6803172e-06 -1.43988389e-06 -1.627956793e-06 -3.765061488e-06 -1.210190509e-06 -4.188724367e-06 8.656103337e-07 -1.393110924e-06 -4.040789278e-09 8.644955604e-06 2.84968827e-08 -2.561420067e-06 6.404380197e-06 3.376096149e-07 -5.78223324e-07 7.917126506e-07 3.474397667e-13 3.369840208e-07 -0.0003664571353 -0.0002950994846 -0.001606880076 3.402444997e-15 8.220112942e-07 -0.001851787602 -0.003362545254 0.005267091042 4.98009294e-16 3.383792358e-07 0.000277623981 0.0002975247148 -5.684531278e-05 1.882505071e-16 2.4902413e-07 -0.0001327106399 0.0001646253521 -0.0001743112807 1.854534822e-16 -4.221508206e-09 -1.749629777e-05 -1.671688662e-05 7.094772119e-06 6.549876233e-17 5.45007932e-09 -6.25706954e-07 -8.857964007e-05 0.0001270831435 2.490496252e-18 1.009577143e-09 1.174015835e-06 1.249293234e-05 2.393943611e-05 3.264702841e-19 1.830300007e-10 -1.560951777e-05 2.279521151e-05 1.726941769e-07 -1.984833221e-18 -3.37078657e-09 -7.96005867e-07 -4.709222388e-06 -8.083985759e-06 -2.524547545e-19 -2.606110394e-09 -5.061843441e-06 -2.395229989e-06 6.380609721e-06 9.005203853e-17 4.601713825e-10 -6.720639807e-08 -4.860226562e-06 1.190735633e-05 -3.932565798e-18 -4.377096789e-10 7.545449794e-07 -9.996279875e-07 6.084468432e-06 -9.057105009e-19 -8.877182953e-10 -4.656321889e-07 -5.696415854e-06 4.762602461e-06 --0.01655037511 0.01801777683 -0.007172270147 -0.0009206390217 -0.0001429101996 7.317247918e-05 8.756900207e-06 2.307058394e-05 4.617009136e-06 1.082224398e-05 1.318524659e-05 7.73293952e-06 2.799959164e-06 0.01116230144 -0.1115640035 0.0228599676 -0.02111578604 -0.003322589665 0.0007576747767 0.0009746780892 7.093809124e-05 -0.0005149860986 -0.0006748375092 -8.406783582e-05 -0.001802907791 2.996803627e-06 -0.0001186505261 1.023829379e-05 9.214059094e-06 -2.387905119e-05 0.0001451798058 2.758627343e-06 5.534196554e-05 0.0001967481093 -2.032155554e-05 1.277052397e-06 2.214755631e-06 4.439577921e-08 1.517081409e-06 -4.367580174e-05 3.943612001e-06 -5.088845735e-06 4.587827607e-05 1.670173623e-06 1.398377477e-06 4.230029782e-05 8.411574836e-07 -6.59671722e-06 2.063206389e-05 1.402493693e-06 -9.140658395e-06 8.117119029e-06 5.396996847e-14 -9.959759619e-07 0.05004281441 0.02421643546 -0.05872795821 2.358071121e-14 1.301059434e-05 -0.007464767477 -0.04332938849 -0.003579228244 8.709038564e-17 -6.138915492e-06 -0.001028757677 -0.0009466905269 0.001036082886 3.63908665e-14 1.159836022e-05 -0.0002378206307 -5.249555565e-05 -0.0005358249756 1.002349566e-17 4.274624604e-07 3.098879147e-05 4.743364916e-05 -0.0002098498378 -2.782161657e-17 5.643644206e-07 -1.268931097e-05 7.148206746e-05 0.0005309415881 1.632446902e-18 -4.46255792e-09 7.141537387e-06 8.05333222e-06 6.000836526e-05 -1.450453647e-17 -5.097882817e-08 -5.644278146e-05 5.476351665e-08 -3.161223165e-06 5.691322242e-18 -9.081906297e-08 6.570555446e-06 1.903127792e-05 -8.392675123e-06 5.066213776e-18 -1.736783989e-08 5.161397642e-06 2.414338769e-05 4.981384434e-05 1.968354032e-17 -7.972365074e-09 5.343136931e-06 2.213639056e-06 1.948157659e-05 1.445975572e-17 -5.439799132e-09 7.687645698e-06 1.874069818e-06 5.746243412e-06 4.226916005e-18 -7.403361096e-09 4.386455381e-07 -5.261118626e-06 2.118326153e-05 -0.01668629932 -0.01815043307 0.007029930121 0.001186694418 0.0001069484344 -7.490910143e-05 -1.797441387e-05 -8.055141085e-06 -5.780656783e-06 -1.589973946e-05 -1.202618987e-05 -6.083966399e-06 -1.994800519e-06 -0.01120849902 0.1128552732 -0.02653572048 0.02184301905 0.005777345753 9.273280549e-05 -0.0010371723 7.257038698e-06 -1.080806452e-05 0.0006008437446 0.0001209742489 0.002001450071 -5.579522994e-06 0.0001081524051 -3.879056122e-05 8.992026266e-05 -1.180435389e-05 -0.0002491029449 -3.029716556e-06 -4.051396851e-05 -0.0001700519288 2.625250117e-05 8.623743007e-07 1.686743755e-06 -1.827303577e-06 -3.522655493e-06 4.084167961e-05 -4.625259032e-06 1.605967422e-06 -5.13654054e-05 -5.72575311e-07 1.552677339e-06 -3.822788803e-05 -1.401278795e-06 5.427942202e-06 -1.592062747e-05 -1.292419696e-06 9.222367821e-06 -8.135813948e-06 -2.2497771e-14 1.96704758e-06 -0.05170691997 -0.02683617345 0.05710943747 -4.060689542e-14 -8.994039289e-06 0.005977938118 0.04376667151 0.005433204609 5.559400486e-16 5.732406208e-06 -0.0002255836324 0.001305344638 0.0009140860394 -8.814889664e-14 -1.011776977e-05 -4.907312964e-06 7.610437397e-05 0.0003852211793 -6.277619655e-17 1.25926275e-07 -5.724612717e-05 -0.0001089442885 0.0003059104279 5.295428954e-17 -5.414466562e-07 1.039317098e-05 -9.511591215e-05 -0.000514085222 3.555095223e-19 1.198688888e-08 -1.515496076e-06 -2.532893408e-06 -3.835362097e-05 3.014409945e-17 7.001410232e-08 6.72266635e-05 2.187543765e-06 3.696534204e-06 -2.737554955e-18 1.062018493e-07 -1.30212544e-06 1.872115695e-05 -5.712471219e-05 -2.514010954e-18 1.185657915e-08 -5.828304129e-06 -2.582438097e-05 -4.538064901e-05 -1.29799708e-17 1.43394073e-08 -3.984370016e-06 -3.272152716e-06 -1.276673203e-05 -5.961579632e-18 8.289822095e-09 -3.003908789e-06 6.841889098e-07 -8.134278173e-06 -2.167796715e-18 7.029743291e-09 3.614021648e-07 -8.925543645e-06 -9.017720006e-06 -0.01684440642 0.02143009615 0.004051944228 3.27858707e-05 -1.949225118e-05 0.0001063320467 5.468247593e-06 -7.203517399e-05 -2.161534518e-05 -5.157457724e-06 3.22083747e-06 1.489177435e-06 9.909623477e-08 -0.07123025587 -0.002244018374 0.02035947094 0.0690317173 -0.0007749185462 -0.02582484777 0.04318774326 0.0009527558869 -0.004179420729 0.008057329608 0.000383602785 0.001946614571 -0.0002768777845 -0.0008678324078 0.0006230972578 9.346033789e-05 -1.037438666e-05 -0.001835583006 -0.0001870701525 -4.058879245e-05 -0.001099257046 2.14262617e-05 2.514552128e-05 0.0001086227623 5.735041421e-05 0.0002110666076 6.890800437e-06 5.219017651e-05 3.437455396e-06 2.111398728e-05 -3.280087305e-06 -1.430396111e-05 -1.68346369e-05 -8.16721459e-08 -9.1541581e-06 5.406976035e-06 -6.136287714e-06 -1.323767956e-06 -2.110000109e-05 -1.390655179e-16 -4.451711605e-05 0.00778179767 -2.74227802e-05 -0.02792242609 3.000683557e-16 -4.08766634e-05 0.009236977261 0.0002168469059 -0.01076982718 5.471245455e-18 -1.290899486e-05 0.00369342883 0.0002324260656 0.001815415568 -5.549858562e-18 -2.446988689e-07 0.0005677422648 3.706627087e-05 0.0001580625928 4.625352783e-19 -3.221001838e-08 -3.176145446e-06 -0.000180488877 -1.730762458e-06 2.026267739e-18 -1.972271393e-07 7.168714279e-05 3.454245833e-05 1.977262973e-06 2.838541214e-20 -2.549873096e-09 3.656809265e-06 9.021323307e-07 1.288369117e-06 3.20500717e-20 -2.820704194e-09 -2.046766204e-06 1.028028053e-07 8.733057789e-07 2.900937537e-20 -3.411814221e-09 2.960329235e-06 -5.508772745e-08 -3.062198762e-06 1.025102378e-21 -2.783459203e-10 1.061840734e-08 -2.682007857e-08 -1.082149578e-05 3.445683383e-21 -3.677523888e-09 2.083874691e-06 1.616308899e-07 4.964130538e-07 -1.418502754e-20 -2.728620258e-09 1.1960811e-06 4.017964242e-07 4.740802229e-07 -1.169763145e-20 -1.596210769e-09 -1.568440702e-08 -1.3586912e-06 -6.72953904e-07 -0.02845690941 -0.0295394097 0.008869021882 0.004447887413 -8.461837356e-05 -0.0001527057549 -6.454718923e-05 3.940270203e-05 -2.373270232e-06 -5.97868906e-05 -1.722246176e-06 -1.687239849e-06 -8.942870616e-07 0.006884344931 0.09411814507 -0.03087702556 0.07042219684 0.0008268452781 0.002785113515 0.0007044054822 4.181649704e-05 -0.002170762057 0.0003377513919 6.868001004e-06 0.004202980451 -4.531288622e-06 -0.0001341274957 0.0003381561704 5.078612438e-05 2.241580356e-05 -0.0007900606761 3.302511179e-06 2.198387917e-07 -1.421227257e-05 8.631559135e-05 3.598467793e-07 -1.507046413e-05 -5.784619619e-07 -1.861098679e-05 -6.637611246e-05 -6.152060576e-07 -2.853832561e-05 -6.572624151e-05 -7.005568549e-06 -8.978138361e-08 -6.396263022e-06 1.587347362e-07 3.515011966e-06 -1.075585217e-05 6.787029183e-08 -1.685854842e-06 -1.664993063e-05 5.589951956e-13 4.532287902e-07 -0.05414749772 -0.0004435410358 -0.01222815033 -3.592302361e-14 -1.128495021e-06 0.006539083609 0.08125277294 0.001673939991 -9.101226623e-16 -1.801856344e-05 0.0005718412 0.01294962359 0.0004014917497 -4.357125107e-15 -4.904950702e-06 -1.217537469e-05 -0.001141098002 0.0001081072858 -1.824212412e-16 -3.852714772e-07 -3.110522044e-05 -0.001402475686 0.000869765512 6.756787241e-18 -6.688001103e-07 -3.527395008e-06 -0.0003202419049 -0.0002606400748 -6.52703639e-16 -1.080063448e-06 4.256193949e-07 -1.876157238e-07 9.747812316e-06 -1.401508347e-15 -3.858035863e-09 3.178177004e-06 0.0001267585729 3.150361636e-08 1.172195949e-18 2.885298113e-10 -1.895654345e-06 -8.531185955e-05 -7.702581454e-05 -2.251122588e-18 -4.429241666e-09 -1.603346132e-06 -7.689749467e-07 -5.595678665e-05 1.137747796e-16 1.604469293e-10 -3.923588687e-06 3.731645117e-06 3.092284792e-07 8.224038548e-17 4.261376307e-10 4.573615706e-07 4.796146067e-06 -6.488307215e-06 2.799066976e-18 3.128117078e-12 -4.719003388e-06 -5.136420824e-07 -2.471046761e-05 -0.06562108837 0.03121760729 0.08669108936 0.02578952359 0.0005498449721 -0.001424786139 -0.001273082043 -0.0005108718628 0.0001965835471 0.0002134504814 9.032752286e-06 -5.679640871e-05 -1.916980518e-06 0.105732845 0.04107751993 0.0126651171 0.02578722991 0.05609611989 -0.003060316377 0.00287397294 0.00324488929 -0.002479728736 -0.001094244826 0.0002529249794 0.02668793914 -0.0001532520938 -8.286817467e-05 -0.005677564493 -9.13299911e-05 0.0002845218763 -0.0006905496924 -7.772153238e-05 -8.535022737e-05 0.001846912165 -1.481573061e-05 3.020352412e-05 -0.0006896236978 -8.421292986e-05 1.308220989e-05 3.247456804e-05 -6.162906433e-05 -1.93892746e-05 0.000262435386 -1.529361655e-05 -6.080802426e-06 -0.0001792716822 2.577539338e-06 3.033247405e-06 -1.02919679e-05 -1.021724759e-05 -4.321739733e-06 2.669180763e-05 1.967198917e-14 -1.355508772e-05 -0.08171512001 -0.03509490452 -0.02554467794 8.437564097e-15 -5.212224874e-06 0.01397248355 0.02514639818 0.1013930638 3.030376313e-16 1.840215077e-05 0.01102666491 0.02001719529 -0.02526690291 -3.759717207e-16 1.567484389e-06 -0.001304204787 -0.0006403215262 0.004140797328 1.525190439e-16 1.896100355e-06 -0.0001076152299 0.0002329057978 0.004818702875 -1.05012241e-17 8.901367961e-08 -0.0004812627492 -0.000266406487 0.0002578073182 9.618797199e-18 -9.109649003e-09 -0.0001126836927 -6.029256488e-05 -0.0001716818102 -3.802502165e-19 1.602341045e-08 3.625141293e-05 7.842957976e-05 0.0001246439925 1.87685425e-18 3.832742838e-08 0.0001140112082 -8.707656945e-05 1.816663811e-05 2.173897612e-18 1.733957802e-09 -0.0001163413393 -4.737709782e-05 -6.056898715e-05 -2.036256529e-17 2.296529202e-09 -7.171850659e-05 3.296889224e-06 1.658944348e-06 9.929653932e-19 -4.135981794e-09 3.136932677e-05 1.750474308e-06 -2.468107919e-06 9.280154468e-19 -3.995162156e-09 -4.541018075e-05 -1.226783911e-05 -1.536888553e-05 --0.000300010796 0.0003266105773 -0.0001300126711 -1.668854294e-05 -2.590551722e-06 1.32640702e-06 1.587374657e-07 4.182034671e-07 8.36931234e-08 1.961762202e-07 2.39010675e-07 1.401759976e-07 5.075522289e-08 -0.03946208012 -0.02779525464 0.02722250929 -0.0003978963108 -9.061176454e-05 1.238742536e-05 -2.018097393e-05 0.0004926248174 0.0005800906796 -3.043324738e-05 -5.824738798e-05 7.511929529e-05 -4.374838662e-05 -6.028730934e-06 4.712476731e-05 -5.862396527e-05 -1.540993809e-05 4.344205191e-06 -3.241877796e-06 -8.164799756e-06 1.839101339e-05 -8.580955066e-07 -1.181155225e-05 6.452166862e-06 4.212728917e-06 -1.938398559e-05 -2.62567963e-06 -9.527676002e-06 -3.573057735e-06 9.72947453e-06 -4.58666602e-06 -2.835190967e-06 3.562849372e-06 -4.459443807e-06 -2.012955891e-06 1.584523254e-06 -5.359596026e-06 -1.680708262e-06 3.560355955e-06 -2.591455011e-13 2.921967745e-07 0.03989957635 -0.04825312049 -0.0003505721038 5.357505046e-14 -5.277008917e-07 0.002368077203 -0.0002852870054 -0.004669984127 -2.427121291e-16 3.250606232e-06 -0.0005097852141 0.0007023246863 0.0007053939888 -1.795833858e-14 3.682408411e-06 -6.017255063e-05 -1.890810078e-05 0.0004930806283 2.588811989e-16 -4.52684904e-07 -4.408664115e-05 -2.657325336e-05 -0.0001111629881 2.558875384e-17 2.729980419e-07 -4.014602535e-06 -2.373378877e-05 1.460757073e-05 -5.215858082e-18 2.390623879e-09 1.052997194e-06 -4.357623806e-06 2.075942503e-05 -4.309679979e-17 4.172202503e-08 -2.019205611e-06 -5.608448803e-06 -9.947933562e-06 -5.501598e-17 5.265233419e-08 6.994841672e-06 -1.589501959e-05 2.986862856e-06 -1.879912076e-17 1.188954407e-08 -6.883191168e-06 -1.467860255e-06 1.526444912e-05 -6.047654665e-17 3.709757176e-09 2.35913921e-06 -2.81138943e-06 -2.711044174e-06 -5.972627932e-17 2.548772017e-09 4.180680684e-06 -2.990447095e-06 -2.18427007e-06 -2.197487521e-17 4.252516615e-09 -3.881485339e-06 -1.280434289e-06 5.238416183e-06 --0.0001861562851 0.000202490506 -7.842755606e-05 -1.323904241e-05 -1.193141922e-06 8.357035775e-07 2.005267944e-07 8.986505102e-08 6.449036848e-08 1.77381238e-07 1.341670065e-07 6.7874162e-08 2.225446439e-08 -0.05015574573 -0.01862869253 0.02817533905 -0.0003361349345 -0.0004837342891 9.645262904e-07 1.000745155e-05 0.0005603162635 0.0006176073612 -1.633378625e-05 -7.81913516e-05 0.0001261704782 -4.914361396e-05 -4.409352684e-06 3.292522225e-05 -5.264369859e-05 -1.922628766e-06 -1.080910809e-05 -3.368450616e-06 -6.235193225e-06 1.63079678e-05 -4.373911725e-07 -1.287699848e-05 4.688071693e-06 5.572267152e-06 -2.089349463e-05 -2.029034886e-06 -1.03265096e-05 -1.830831887e-06 9.615758946e-06 -4.916858834e-06 -9.018320548e-07 1.186212996e-06 -5.506811618e-06 -1.676994854e-06 2.371401874e-06 -5.98472351e-06 -8.669116095e-07 3.480289855e-06 -1.759522167e-13 8.857027655e-07 0.04066318986 -0.05587523871 0.008073790683 5.625030713e-14 -1.757575408e-06 0.002922208128 0.001200775863 -0.006354955162 1.123268052e-15 5.72011263e-06 6.603050532e-05 -0.0005334300348 0.00129344596 -1.157747034e-14 7.209492081e-06 -8.507236424e-05 1.263511821e-05 0.0005795499394 -2.074176371e-16 6.08991013e-08 -6.134378397e-05 -1.004620012e-05 -0.0001485784053 3.523239535e-17 2.897185188e-07 -1.873217395e-05 -4.240638968e-06 1.927601514e-05 -6.813553908e-18 1.147273319e-08 -2.439887998e-07 -2.512849619e-06 1.851832506e-05 -1.29751679e-16 4.538106087e-08 3.062508379e-09 -9.101666652e-06 -1.318885845e-05 -3.008389245e-17 7.418373534e-08 -1.569746517e-05 -2.136797915e-06 1.652569496e-05 -1.037538156e-17 9.730029848e-09 -6.838545389e-06 5.777056922e-08 1.254183469e-05 -5.246061596e-17 8.633690007e-09 1.850849936e-06 -4.148506964e-06 -1.483734557e-06 -4.184165845e-17 4.910424179e-09 -4.949125272e-06 -5.634353503e-07 5.079342416e-06 -1.397000811e-17 4.783384793e-09 -2.51261955e-06 6.899946818e-07 1.774349792e-06 -0.02368413948 0.03428144091 0.008121632139 0.0001863357907 7.994039579e-05 0.0002348813993 4.974034653e-05 -7.160157644e-05 -4.005088591e-05 -2.104615183e-05 5.819015789e-06 2.903268458e-06 -6.209620183e-07 -0.002245226768 0.07711105228 -0.1514982626 -0.0434453476 0.0957375481 0.0063053189 0.003446954148 0.04979185906 0.007838999096 0.007067763358 0.008743693146 0.002199612908 0.001335875063 -5.445339936e-06 3.287257826e-05 -0.0001331042572 -0.001945563812 -5.643125745e-05 -0.0002256534935 -0.001195564629 -0.0008323058173 -8.42951191e-06 -2.896894595e-05 -4.056074037e-05 1.388515977e-05 3.877199807e-05 0.000224434912 7.187933561e-05 5.856469577e-05 1.672439317e-05 2.430295037e-05 -1.007103103e-06 5.441583045e-06 -7.360923421e-06 5.379425889e-06 -1.95880545e-06 -4.711229815e-06 -2.162574293e-05 -2.480201185e-05 2.578153523e-16 1.498078836e-05 -0.003029079843 -0.03320869656 0.008550527897 -5.57258095e-16 1.382681567e-05 -0.001428749623 -0.01722844043 0.01243749258 -1.292108154e-17 4.408801301e-06 0.00556044988 -0.0001655414236 0.0009989414147 1.059625679e-17 9.239310521e-08 0.0005115133685 0.0009130618712 0.0003809253861 -8.450767491e-19 1.01348279e-08 -0.0001091835645 -8.580207311e-05 2.981157611e-05 -3.705950798e-18 6.685058765e-08 -1.146208112e-05 4.472818197e-05 -3.757695919e-05 -5.061906909e-20 4.787343344e-10 8.075563096e-06 3.168960379e-05 8.403518624e-06 -6.103556835e-20 1.559308282e-09 1.410568222e-06 5.936645918e-06 6.253551123e-06 -4.938090675e-20 1.149579123e-09 -1.585713575e-06 -1.552535502e-05 -9.203324654e-07 -1.48409006e-21 9.45339698e-11 -3.221423957e-08 -4.523141006e-06 -1.982715291e-06 -6.423623763e-21 1.279022864e-09 2.743697952e-06 2.859516351e-06 8.150714361e-07 2.650959244e-20 9.225055491e-10 -2.802883332e-07 -1.519783618e-06 3.808284433e-07 2.177902378e-20 5.334421255e-10 -1.021664085e-06 -1.759375626e-07 -5.371267617e-08 -0.01061100472 -0.01148087107 0.002653836334 0.002027081997 -1.33317158e-05 -4.706867628e-05 -1.187888728e-05 2.101693102e-05 3.479445308e-07 -2.391307772e-05 2.993720289e-07 1.206717864e-08 -7.912840721e-07 0.04887495993 -0.1005112592 0.03066056064 -0.002429283029 0.01999120471 0.008525265564 0.001756145885 9.021052329e-05 -0.0006527350281 -1.666282478e-05 0.000131655696 0.002196991606 -2.879985957e-05 -0.0001641080631 0.0001234477437 8.742151767e-06 -0.0002479274459 -2.223682076e-06 -1.471136067e-06 5.78486098e-06 4.669246657e-05 -1.96496685e-05 2.496209483e-05 -6.26825327e-06 -3.943980279e-06 -4.012625887e-05 -1.748167902e-05 -4.192301133e-06 -1.861869682e-05 -1.159169725e-05 1.043531405e-06 3.26767969e-06 -8.786552124e-06 3.471940185e-06 -1.05837629e-05 2.013024491e-06 5.771689865e-07 -1.337506728e-05 -1.53201046e-06 -1.719408115e-13 -2.068106823e-06 0.02445718829 0.03075752772 -0.07912844989 -2.320069183e-14 8.845648805e-07 0.01022019504 -0.004001676267 0.02798754789 3.880646551e-15 -1.073571344e-06 0.0001489085326 0.003331483436 0.003211152261 -6.568606528e-16 9.467844159e-07 -0.0006647523764 0.0003680113707 0.0009714941623 9.313791635e-16 -5.39416495e-07 -0.0002876485906 -0.0003595858112 0.0001809456286 -3.728202189e-18 9.273014578e-08 -5.344700184e-05 -2.547836881e-05 -7.654362802e-05 6.658746479e-16 -1.418307767e-07 1.548211572e-06 -1.681231466e-07 1.937382071e-05 2.392724226e-15 -1.978532074e-09 -1.052004093e-05 -2.77323924e-05 2.822650719e-05 5.941971328e-17 -2.762471999e-08 -1.701041895e-05 -2.846886766e-05 -5.942398089e-06 2.668959035e-17 -3.690301526e-08 -2.796484102e-07 -6.928910871e-06 -9.483430615e-06 -1.890937042e-16 -1.640852816e-09 2.762973778e-06 -7.720897151e-06 6.996049128e-06 -8.74259423e-17 -2.389690101e-09 3.794279146e-06 -8.213375445e-06 3.832594005e-06 1.064301177e-17 -4.273888085e-11 1.407035202e-07 -2.966453253e-06 -8.287684003e-06 -0.02743123901 -0.03168066388 0.01216632568 0.001381393209 0.0003204925236 -0.0001567980395 5.540789475e-05 -4.29296079e-05 -4.422186622e-06 -1.602862585e-05 -2.35139174e-05 -1.436588731e-05 -4.301602532e-06 -0.000173271586 0.07400531482 0.00515343777 0.02756479477 0.007264584595 -0.0006524683087 -0.0005957083567 -0.0001816963247 0.00196891017 0.001152105226 0.000273692474 0.003039247029 8.755677014e-06 9.680158063e-05 0.0001150373208 -5.794491426e-05 -0.0002720016427 0.000114757164 -1.756819842e-05 -0.0001111767708 -0.0002714469066 1.562203152e-05 1.156032683e-06 7.792167232e-06 4.872181426e-06 5.420789399e-06 3.366042616e-05 -5.741818667e-06 -1.57275996e-05 -5.606053602e-05 -4.804034819e-06 -2.511796065e-05 -6.343614568e-05 -4.79469873e-07 -4.22137756e-06 -2.693337893e-05 -1.175228661e-06 3.111095331e-06 -7.142086829e-06 -1.530653942e-15 2.387581837e-07 -0.03422449393 -0.01867292034 0.0204975911 -2.935016e-14 -1.389876887e-05 0.01559939945 0.06289692996 0.01060823562 1.301359484e-16 -1.75201481e-06 0.002148808936 0.0009825313065 -0.001300008016 -1.292961893e-16 1.230180966e-07 0.0009989225788 0.000234169358 0.001953526232 -6.400060818e-17 -8.278586524e-07 -4.016365678e-05 -0.0001507999674 7.787194873e-05 9.66160908e-18 -1.398643472e-09 0.0001005804145 -0.0001674818617 -0.0008095241773 -1.507081483e-17 -1.147257339e-09 -2.11631955e-05 -2.575479223e-05 -8.375309053e-05 -4.847426855e-18 4.085214364e-08 7.130768685e-05 9.12213704e-06 -1.455775772e-06 7.337030856e-20 1.676124792e-08 -6.427676409e-06 -1.258662802e-05 -1.172727263e-05 -2.444011536e-19 6.363670992e-09 -1.331148249e-05 -6.434200117e-05 -6.28804058e-05 -4.8952977e-18 5.130573531e-11 -9.058439298e-06 -8.543061313e-06 -3.724074174e-05 -1.819172824e-19 1.130458012e-09 -7.106787619e-06 -4.024670219e-06 -1.52533985e-05 -3.317786687e-20 3.613823142e-09 -2.492645744e-06 -1.011282524e-05 -1.712005754e-05 -0.1087602295 0.02202570648 0.1348715373 0.04589550365 0.00203584534 -0.0008719033557 -0.001417480361 -0.00146070253 3.682499841e-05 0.000403565291 -1.021995618e-05 -4.892312043e-05 -6.519750515e-07 0.0961754342 0.1615426009 0.01355161327 0.07905521229 0.06154465703 -0.02046898413 0.005853169264 0.007146792831 -0.01561131395 -0.0007003423291 -0.001488736971 0.04029416303 -3.755601077e-05 0.0001007633702 -0.002929530201 4.627887133e-05 -3.552196364e-06 -0.001534927405 -0.0001275880596 -0.0002597970777 0.001497224864 2.51775956e-05 2.712378191e-05 -0.0005915695179 4.823792241e-05 4.21781429e-05 8.61961098e-05 -4.732525115e-05 -5.095867312e-05 0.0001065106157 -2.462382803e-06 -2.102298833e-05 -0.0002766840718 6.454119272e-06 5.086195063e-06 1.480093832e-05 -1.087334625e-05 -3.622673327e-06 -1.135668111e-05 3.709200879e-12 1.216026177e-05 -0.1262380135 -0.05195226412 -0.04785183537 3.455190403e-15 -2.386097219e-06 0.04360463469 0.09777904067 0.07296039579 -2.268132934e-15 2.897969628e-06 0.02232616049 0.02247895032 -0.0321818062 -8.09996116e-14 -9.545459597e-06 2.25879759e-05 -0.001135786562 -0.002471053353 8.301375065e-16 -7.380819676e-07 0.000303992276 0.0005790775192 0.009795918679 -3.926225037e-18 -1.565691381e-06 0.001268801567 -4.10485508e-05 -0.000879935287 6.12710051e-18 2.19140871e-09 -0.0001131148034 -0.0001078013974 -0.001806774715 -2.640513155e-17 2.742346179e-09 0.0002016003634 0.0001567064589 0.0002890229044 1.407685528e-17 5.397678874e-08 0.0004528366161 -2.946535239e-06 -5.605614377e-05 1.915980518e-17 -9.792567778e-09 -6.823707129e-05 -0.0001169646563 -0.000403069466 -7.375271595e-17 -5.152433881e-09 -4.408584861e-05 1.528925126e-05 -2.961199774e-05 4.236439457e-17 4.557481398e-09 7.849288e-05 -1.360665111e-05 -3.395324464e-05 2.034104173e-17 2.846849566e-09 -2.824776912e-05 -1.956178563e-05 -8.483743053e-05 -0.0002591462567 -0.0002991883947 0.0001071689887 2.354227291e-05 1.604964346e-06 -1.204305912e-06 -5.943413238e-08 1.525404695e-07 -9.688022439e-08 -3.411210377e-07 -1.718248433e-07 -6.52787836e-08 -1.672153165e-08 0.003513518709 -0.1015652789 0.04461782258 -0.001585456426 0.0004866741401 0.0001112595767 0.0008576867081 -0.0001119940649 0.0009069510146 -0.0001265846462 2.063485778e-05 0.000298995265 6.374873326e-06 -0.0001064374946 6.075584685e-05 -1.008880695e-05 7.46909181e-06 -9.107226464e-05 -2.190654543e-06 -1.054639827e-05 1.598229613e-05 -1.929223912e-05 3.771573656e-06 5.253979043e-06 4.955084055e-06 6.391601721e-06 -3.567550143e-05 1.019999708e-06 -2.17153433e-05 1.461252768e-05 -1.354392519e-07 -1.305777936e-05 5.807939372e-06 4.946448081e-08 -1.252460718e-05 5.566265632e-06 6.871609656e-07 -1.177667176e-05 6.256550225e-06 1.227912471e-13 -1.967054347e-06 0.05312288751 0.02486783211 -0.08803539267 -2.161878724e-14 5.132037766e-06 0.006146992561 -0.009285861319 0.001911269389 2.70675602e-15 -1.301170144e-05 0.0003373179047 0.001141186472 -0.0003187155433 -1.178165554e-14 -7.15920014e-06 1.560473732e-05 -6.232402714e-05 0.0009988058864 7.64962703e-17 -1.522957619e-07 8.047001466e-06 -0.0001402429735 -0.0001933326106 2.190591015e-17 -5.519439494e-07 -5.424702447e-06 2.62993213e-05 -4.382815497e-05 -2.059113108e-18 -1.412851757e-08 -2.666484281e-06 4.660389718e-07 2.548680213e-05 3.119350458e-17 -7.052947776e-08 -2.524523421e-05 8.404459047e-06 -1.373666262e-05 2.081981539e-17 -1.327222046e-07 -1.880340909e-06 -9.68836962e-06 6.682589762e-06 5.671832778e-18 -1.727102566e-08 4.035816964e-07 -1.387170759e-05 1.743797274e-05 2.394340617e-17 -1.941107889e-08 2.524221058e-06 8.984806848e-07 -9.116727864e-06 1.894196561e-17 -9.958645389e-09 1.715169969e-06 -9.245864085e-06 6.912450063e-06 6.987630358e-18 -8.906249118e-09 -1.001095238e-06 9.458888007e-06 -9.467838976e-06 -0.04243263882 0.06141882426 0.01455076227 0.000333840261 0.0001432216672 0.0004208148492 8.911508737e-05 -0.0001282817911 -7.175539469e-05 -3.770640516e-05 1.042538174e-05 5.20151226e-06 -1.112519079e-06 0.01971207639 -0.1626977674 0.004888752903 0.04846836334 0.02514851952 0.02929692136 0.03618892098 0.05508074677 0.0173779953 0.00971830054 0.01893868893 0.003692883526 0.002380932483 3.061683153e-06 7.232367691e-05 -0.0004036631502 -0.002386100217 -0.001047333154 -0.0003702648486 -0.002527873023 -0.001135358153 -1.518906578e-05 -4.113271447e-05 -8.330367956e-05 3.676058502e-06 0.0003188225796 0.0001708190563 7.444293253e-05 0.0001663375179 2.425340145e-05 4.119302415e-05 6.298163822e-07 9.402354185e-06 4.954400869e-07 -5.993650434e-06 -1.631215364e-06 -5.247392342e-06 -6.456349617e-05 -2.152000874e-05 -8.680213271e-17 -2.715085151e-05 -0.009012562408 -0.01925494968 -0.02153326468 1.837156719e-16 -2.485785717e-05 -0.004127081705 0.003292721648 -0.00960559788 4.443644144e-18 -7.809694979e-06 0.001831788244 0.01000270785 0.0002215048228 -3.493318636e-18 -1.539969239e-07 0.0007113466312 0.001978004804 0.0006326328269 2.576852321e-19 -2.136034726e-08 -0.0001757544063 -0.0001805032404 5.096359301e-05 1.220172361e-18 -1.196760381e-07 -1.696232573e-05 -2.509581933e-05 4.172641006e-05 1.042749216e-20 -8.970542244e-10 1.241077616e-05 6.237412112e-05 1.381688199e-05 1.874694665e-20 -5.699438131e-10 2.422765387e-06 1.123743029e-05 1.10941472e-05 1.636359875e-20 -2.061377349e-09 -3.258198615e-06 -1.04049159e-05 -1.893353389e-05 1.081976019e-21 -1.668249732e-10 -7.323943941e-08 -7.685656652e-06 -4.263306602e-06 2.061487598e-21 -2.196682674e-09 2.750997659e-06 8.149759604e-06 9.503308028e-07 -8.896126242e-21 -1.654139441e-09 -5.112720573e-07 5.383453489e-07 -2.474943112e-06 -7.293541312e-21 -9.783924434e-10 -8.457469675e-07 -1.425734455e-06 -7.661805039e-09 -0.0196715876 -0.02128422019 0.004919908651 0.003757977884 -2.471547437e-05 -8.72599356e-05 -2.202209666e-05 3.896298329e-05 6.450493141e-07 -4.433210761e-05 5.55001458e-07 2.237116729e-08 -1.466950053e-06 -0.08559978859 0.001499643682 0.04837146 0.00454554071 0.02617452859 0.0177590221 0.001003152577 0.002354123543 -0.001248935374 7.855158045e-05 0.0001026903502 0.004041387178 -0.0002454990761 -9.661127671e-05 0.000236180445 1.122308346e-05 -0.0004756198352 2.028741131e-05 5.596308175e-06 2.303354433e-06 8.553342301e-05 1.218002925e-05 4.396267834e-07 -1.286628511e-05 -5.256704207e-05 -2.374520458e-05 -3.641964835e-05 -2.580024529e-05 -1.30161933e-05 -2.423587965e-05 2.123341058e-06 -1.043349968e-05 5.552433579e-07 -1.093471666e-05 -1.042503428e-06 2.802349219e-06 -1.328969227e-05 -7.308899123e-06 -5.473065447e-06 1.504718017e-12 7.126931724e-07 0.04188462385 -0.08416580658 -0.002837928679 1.342960634e-14 -5.034753086e-07 0.01697141048 0.02638055617 0.01949911788 6.381468059e-15 6.784058452e-06 0.0002874026265 0.004410561622 0.00770681412 3.877074737e-15 -3.259320192e-07 -0.000108749771 -0.0004644172554 0.001719355857 1.434555111e-15 4.207958879e-07 -0.0007712120665 -0.0004131995525 0.0003490910317 -7.41451487e-18 7.258632846e-08 -9.000903882e-05 -5.701301414e-05 -0.0001406529644 9.541218236e-16 2.863394353e-07 -2.337572892e-06 3.175950032e-06 3.527880077e-05 -1.312200829e-15 -4.332993505e-09 -1.769952355e-05 1.670642571e-05 -1.534854854e-05 1.023800833e-16 1.554759902e-08 -5.289510929e-05 -2.882011128e-05 -1.410942484e-05 3.565741205e-17 2.409837877e-08 -4.115371711e-07 -2.18322277e-05 -8.26358104e-06 2.196897414e-16 1.655491481e-10 4.643916443e-06 3.867315789e-06 -4.758400613e-06 1.696794037e-16 5.70120563e-10 -6.937427683e-06 -1.061117385e-06 6.652591342e-06 4.408607884e-17 1.755148904e-11 3.556798469e-07 -1.534189632e-05 -5.379001636e-06 -0.01547410997 -0.01787123346 0.006863089976 0.0007792513642 0.0001807915622 -8.845062027e-05 3.125589245e-05 -2.421682349e-05 -2.494579339e-06 -9.041834342e-06 -1.326432771e-05 -8.103874562e-06 -2.426557203e-06 0.0135166646 -0.08057175648 0.04896163413 0.01546849417 0.004111222348 -0.000368768248 0.000184502081 -0.0001360014016 0.002112954083 0.0005034217822 0.0001783891061 0.001861385473 1.478158948e-05 -6.402830182e-05 0.0002110956938 -2.033242273e-05 -0.0002774309357 5.226333808e-05 -6.509251798e-06 -9.061300431e-05 -0.000132635232 -1.197060682e-05 3.387795693e-06 1.852696589e-05 7.518841409e-06 7.821587383e-06 -1.897368239e-05 -6.762470344e-07 -3.8875621e-05 -1.557839872e-05 -1.201527431e-06 -3.223326279e-05 -2.621682064e-05 1.510644271e-07 -1.758033402e-05 -9.211948032e-06 7.510385877e-07 -1.265135807e-05 2.469269917e-06 4.741483793e-15 -4.614777764e-07 0.04275700134 0.01815564354 -0.09859157643 -1.789657992e-14 -9.957311823e-07 0.013174416 0.02667811117 0.007537095619 1.363893905e-16 -1.132253008e-05 0.002465542961 6.355640474e-05 0.0001166736795 -2.346710448e-17 -1.316273822e-06 0.0003991766613 0.0001563407593 0.001929254717 -1.571139197e-16 7.892542343e-07 -2.416322197e-05 -0.0002210044898 -1.87277035e-05 5.787759449e-18 -1.487573891e-09 3.501698083e-05 -6.984522275e-05 -0.000536202438 -4.750138575e-18 -1.009615265e-08 -2.02034119e-05 -1.380597463e-05 -1.406374027e-05 2.90684376e-20 -5.092801599e-08 2.217684477e-05 1.415387879e-05 -5.464855746e-06 2.16944572e-19 -3.615953842e-08 4.472157844e-06 3.530563994e-06 -4.849260252e-05 -1.698144041e-19 -4.131602016e-08 -4.669440748e-06 -6.130714679e-05 -7.074656192e-06 -1.271073158e-18 -3.113582058e-10 2.850231824e-07 -1.073048318e-06 -3.421121021e-05 -2.115056246e-19 -3.280537419e-09 2.201140124e-06 5.436290739e-07 -2.150685606e-05 -3.767991073e-20 -9.980765868e-09 -8.99574425e-07 -1.975617176e-05 2.743345038e-06 -0.1881873019 0.04901206006 0.2380046767 0.08285036029 0.003550780277 -0.001662165566 -0.002448640367 -0.002538938174 6.499119823e-05 0.0007105227819 -7.651663195e-06 -7.900377642e-05 4.082391151e-06 0.2159759558 0.223903367 0.02280953847 0.1186678034 0.1310108304 -0.02453755058 0.0112014716 0.01312825355 -0.03019313328 -0.001690216291 -0.002090512098 0.07192624333 -7.986403608e-05 7.58951127e-05 -0.005453348475 1.09610784e-05 -0.0002410301197 -0.002430214416 -0.0002659768077 -0.0003647821068 0.002958132631 5.645924154e-05 6.264526318e-05 -0.001032654158 7.820472703e-05 7.121802524e-05 0.0001173041776 -9.218096568e-05 -0.0001079096577 0.0002022868786 -7.989133781e-06 -4.773181636e-05 -0.000441562969 1.220596819e-05 9.979149248e-07 5.517065215e-05 -1.855354206e-05 -1.129474746e-05 -1.751789055e-05 -2.965709781e-12 1.691905946e-06 -0.223795369 -0.09725081387 -0.09043638302 -3.025348959e-14 -6.22976512e-06 0.06833152487 0.1582379866 0.1527307148 9.902063665e-15 1.318793884e-05 0.04090219177 0.04248741559 -0.05777981679 1.765006635e-15 2.888998009e-05 -0.0001944456867 -0.001660033767 -0.005279164135 1.598543147e-15 -1.356823113e-06 0.0004212833024 0.0009693807851 0.0176358116 3.20244764e-16 -8.259088068e-07 0.002274572091 -0.0004634821459 -0.0008613736633 9.590391648e-18 4.260946907e-09 -0.0001757138983 -0.0001742631035 -0.003128314109 -7.368392234e-17 4.730883905e-09 0.0003163716486 0.0003439019125 0.0005269015122 -5.649055567e-18 6.234112686e-08 0.0008054242247 -4.982148955e-05 -0.0001203796299 1.690819153e-17 -2.916511493e-08 -0.0001412813619 -0.0002151245812 -0.0006852824162 5.07100485e-17 1.018387872e-08 -7.649844461e-05 1.54441454e-05 -7.930481128e-06 -4.085201075e-17 2.435019116e-09 0.0001426825447 -2.415647168e-05 -3.541631204e-05 -8.40492878e-18 -1.715098749e-09 -5.221118661e-05 -9.267146718e-05 -9.757321622e-05 -0.03314953554 -0.03827165574 0.01370886944 0.003011486341 0.0002053042297 -0.0001540527042 -7.602710177e-06 1.951270985e-05 -1.239274872e-05 -4.363560603e-05 -2.197953319e-05 -8.350347732e-06 -2.138989059e-06 0.01000740298 0.01723876132 0.02249767692 0.02545784456 0.02832776269 0.004437877013 -0.0001176351985 -4.819155839e-05 0.0003537054187 0.0007779359498 0.000594935564 0.005117394254 -6.323834179e-06 -2.563523114e-05 -4.572875826e-05 0.0001916688625 -0.0004202477299 -0.0002096966644 -4.588394162e-05 -3.164925401e-05 -0.0002216176595 2.580521485e-05 1.690756224e-05 2.17362834e-05 -1.01063359e-07 -1.679366234e-08 1.903386112e-07 -1.308381682e-05 -3.961080126e-05 -8.450300698e-05 -2.315433198e-06 -4.201683622e-05 -2.604562142e-05 -2.675454879e-06 -1.190134961e-05 -1.161293478e-05 -1.30746778e-06 -3.989301734e-06 -6.552579157e-06 1.925893524e-14 -2.837727735e-08 -0.01113319327 -0.01929911365 -0.03167902184 8.181089954e-14 -2.503853067e-06 0.0195125925 0.0645160201 0.02653130392 1.073889983e-14 -9.77627968e-06 -0.0008477992722 0.006067365935 0.002412101228 1.141606705e-13 -4.948429006e-06 -2.299640269e-06 0.0001637934712 0.002554757501 -1.961549823e-17 -1.673918566e-09 -0.0001984082912 -0.0004815921009 0.0003730848713 2.766615517e-16 -1.444749171e-06 9.256842431e-06 -0.0006266392323 -0.0004785630164 2.33124763e-18 -2.319071286e-10 2.525592735e-06 1.264763906e-06 1.103099379e-05 -7.044700148e-17 1.540074735e-08 6.972279295e-05 5.631494631e-05 -2.194023518e-05 2.846051918e-17 -2.245566585e-08 -1.074837123e-05 -0.0001163533745 -2.743380294e-06 1.230713157e-17 -4.891117765e-09 -2.249799364e-05 -7.556406152e-05 -4.961894698e-05 2.013420065e-17 -1.418353765e-09 -2.830355805e-06 -1.554030044e-05 -1.413024955e-05 3.862453733e-18 -2.119720692e-10 -3.21841655e-06 -3.79235127e-06 -1.816674112e-06 7.727967099e-18 -1.125312251e-09 -1.025666069e-06 -2.640597327e-05 -1.369201528e-05 -0.01755998106 0.02541707094 0.006021570118 0.0001381537615 5.926969977e-05 0.0001741466237 3.687866911e-05 -5.308710192e-05 -2.969467389e-05 -1.560411464e-05 4.314355907e-06 2.152551888e-06 -4.603959241e-07 -0.1055449561 0.01098827407 0.02936640604 0.03267301852 0.04588305995 -0.04204574208 0.01776054535 0.03162383741 -0.00629946606 0.003761326472 0.006979752157 0.002862793939 0.0002740127718 -4.992512742e-08 0.0008452754195 0.0001793823301 -0.001190982273 -0.0005476048972 -0.0002883351108 -0.0009487325541 -0.0004373650262 -2.45081099e-06 -1.927669285e-05 -3.582716166e-05 -1.838077996e-05 5.20873259e-05 0.0001625871567 2.526045418e-05 5.382964532e-05 3.405234794e-05 2.949736446e-05 1.89555365e-08 -1.009561318e-05 -5.379139199e-06 -1.157281772e-06 4.338909428e-06 -1.080965345e-05 -2.119848071e-05 -6.289510204e-06 -1.459706664e-16 4.481908431e-05 0.009112257253 -0.01867784337 -0.01166187492 3.077008003e-16 4.12791024e-05 0.00887350999 -0.008117091111 -0.004772882222 7.663776011e-18 1.310909017e-05 -0.000266243255 0.001460158422 0.004315971116 -5.892866538e-18 2.713147205e-07 0.0002771016959 0.0007266189338 0.0004748852803 4.575765865e-19 3.208400011e-08 -7.91068268e-05 -7.327296339e-05 9.503030218e-06 2.063378977e-18 1.989832234e-07 5.490738864e-05 -6.895185446e-07 -6.65620208e-05 2.839059258e-20 1.48642236e-09 4.906345742e-06 2.463280524e-05 8.573436125e-06 3.394641718e-20 3.266879774e-09 9.899940351e-07 4.509674873e-06 5.350594011e-06 2.947097108e-20 3.406680836e-09 2.189977236e-06 -8.701161984e-06 -9.264037888e-06 8.193090395e-22 2.775886079e-10 -9.942848034e-09 -3.207338298e-06 -1.875430512e-06 3.658167923e-21 3.767618469e-09 8.618025039e-07 2.747212721e-06 1.553479645e-06 -1.498692106e-20 2.742319879e-09 9.247472205e-07 -3.563978687e-07 -2.015532747e-06 -1.218476338e-20 1.604332174e-09 -7.6930301e-07 -1.752107825e-07 6.864269048e-08 -0.02865985462 -0.03100932516 0.007167894608 0.005475058852 -3.600837496e-05 -0.0001271304136 -3.208434935e-05 5.676580149e-05 9.397827944e-07 -6.458816568e-05 8.085906143e-07 3.2592916e-08 -2.137223294e-06 0.04836295676 0.0443165468 -0.03269894305 0.008178453981 0.05153265663 0.02140137993 0.001017998464 0.001201320996 -0.003240928808 0.0001243715474 0.0003181940302 0.004486880407 -0.0001484846675 -0.0001102721028 0.0005525879139 2.203196664e-05 -0.0006561804569 3.743409249e-05 9.968627072e-06 1.171414126e-05 8.794061184e-05 2.164266962e-05 5.960475349e-05 -9.623287398e-06 -2.797444587e-05 -2.709978375e-05 -8.86517923e-05 -1.725425189e-05 -1.676166901e-05 -5.14831875e-05 -2.507276576e-06 4.861303386e-06 2.380077378e-06 2.448956345e-06 1.5209205e-06 -9.382914161e-06 -4.11901125e-06 -8.257885177e-06 -1.604720724e-05 -6.984200544e-13 1.892700915e-07 -0.05605429866 -0.01032440807 -0.008403351277 1.004016632e-13 3.180611263e-07 0.004132252808 0.03259145615 0.05342781436 7.650694947e-15 5.41320293e-06 0.0005971480671 0.006795499259 0.01015830282 2.082789063e-14 1.750942826e-06 -0.0005470102448 -0.0002822110036 -9.904459174e-05 1.145168576e-15 3.085324489e-08 -0.000943578827 -0.0006181351651 0.001032664727 -1.173535403e-17 1.575451749e-07 -0.0001367097291 -8.107233335e-05 -0.0001770666801 1.72629908e-15 3.618499837e-07 -1.034934609e-06 8.821419784e-06 2.199481124e-05 5.17367795e-18 5.324205129e-09 9.680824783e-06 1.323719889e-05 4.929390474e-05 2.347679282e-17 -9.936047348e-10 -5.772350615e-05 -4.265114926e-05 -7.61997082e-05 6.382723881e-18 -8.218674396e-10 -3.005713702e-06 -2.395859921e-05 -1.13813063e-05 -1.052736667e-16 6.587561137e-10 -2.815779291e-06 5.918681774e-06 6.261155375e-06 -7.257217412e-17 4.181112645e-10 2.488141368e-07 2.321676641e-07 -7.748335945e-06 -2.094612701e-18 -1.642604954e-13 -5.471605182e-06 -1.396355855e-05 -7.631431947e-06 -0.0002805011982 -0.0003239541668 0.0001244081221 1.412559054e-05 3.277232095e-06 -1.603355865e-06 5.665796161e-07 -4.389815002e-07 -4.52195632e-08 -1.639025038e-07 -2.404441886e-07 -1.468999852e-07 -4.398651712e-08 -0.06065042349 -0.00553529736 0.02554034046 0.0002739658557 3.655592237e-05 -7.193861871e-06 -4.872028237e-05 0.0003646397743 0.0006152625728 -2.483405683e-06 -7.488716766e-05 0.0001249584192 -5.794796729e-05 1.07207645e-06 8.198428053e-05 -5.70316599e-05 -1.333120295e-05 -4.50436603e-06 -1.028616418e-05 -5.43685299e-06 8.793626243e-06 -4.862590701e-07 -1.173012292e-05 9.079628133e-06 3.515227503e-06 -2.150834479e-05 4.619193006e-07 -1.27468593e-05 -2.012370484e-06 6.893362312e-06 -6.944472859e-06 -1.914585898e-06 3.536266164e-06 -5.625196914e-06 -8.004495125e-07 4.856457168e-07 -6.733312407e-06 -7.624725408e-07 3.210902179e-06 2.153353894e-14 3.847832737e-07 0.03946136219 -0.06462172109 0.008288548169 2.071092536e-14 -1.837404308e-06 0.002276922609 0.001532737888 -0.005291994345 1.64322755e-16 2.951803662e-06 -0.0003855855827 0.0009663067715 0.0005088432822 -1.593311177e-16 9.953345184e-07 -2.41155415e-05 -8.694748796e-05 0.0005241286633 3.745711619e-16 -1.17264348e-06 -4.066188764e-05 -3.138009872e-05 -3.675997858e-05 5.20989722e-18 2.943688927e-10 -1.343155334e-05 -3.941100133e-05 -1.149729365e-06 -2.841964412e-17 3.46918795e-09 2.926238997e-06 -8.766944336e-06 1.907491506e-05 1.191321482e-17 5.751915996e-08 4.645897225e-07 -4.030164267e-06 -5.732300995e-06 1.440945706e-18 2.471872721e-08 5.508446273e-06 -2.356531133e-05 2.980766634e-06 -6.99776023e-19 2.518991954e-08 -1.134511423e-05 -6.497255699e-07 1.42942177e-05 -1.500702835e-17 1.434400057e-10 3.67066227e-06 -6.175789362e-06 -9.185379398e-07 -1.07808551e-18 2.207429879e-09 3.695699201e-06 -6.007700237e-06 -8.550987117e-07 -2.274984103e-19 6.961413867e-09 -6.296320454e-06 -9.066026887e-08 5.106607833e-06 -0.07122917675 0.02760218266 0.09130731611 0.03507633081 0.001394852919 -0.000755798249 -0.0009443235921 -0.0009904162242 3.168082251e-05 0.0002887427071 1.471829547e-05 -2.618541009e-05 3.484855503e-06 0.1091310158 0.05029543693 0.006367968075 0.03314029426 0.06403440465 0.01311784113 0.005074374189 0.006376167831 -0.01484035038 -0.001254248375 -0.0001661725521 0.0285353592 -0.0001472852656 -4.906853895e-06 -0.002422842901 -0.0002271216566 0.000116574524 -0.0009720979667 -6.7741576e-05 -0.0001099588213 0.001482881419 5.768711986e-06 4.768613113e-05 -0.0004068671597 1.360044354e-05 -8.348892344e-06 3.190391263e-05 -6.778160936e-05 -3.046793125e-05 0.0001231110399 4.225545309e-07 -4.521880733e-06 -0.0001517631116 4.882979775e-06 4.142476095e-06 3.287656663e-05 -1.876218798e-05 -6.472470653e-06 -9.186648511e-06 1.864351138e-12 -1.490828593e-05 -0.09745020269 -0.05136724531 -0.03384443468 4.850576208e-14 -1.126746811e-05 0.01969015971 0.02761998732 0.106056759 -7.664108879e-16 3.456104512e-05 0.01405780828 0.02431012904 -0.02193120519 -3.491803317e-14 2.036594597e-05 -0.0003022406997 -0.0004276362859 -0.003992664327 7.21612783e-16 4.09497971e-08 -6.869508541e-05 0.0005592125257 0.007316446908 -1.340265083e-17 2.804419314e-06 0.0009330328153 -0.0002043402373 5.09259381e-05 4.521328667e-18 1.313228199e-09 -7.085828659e-05 -2.073930595e-05 -0.00121341369 -1.353674097e-17 2.079129721e-09 8.961788896e-05 0.0001298422166 0.0002461889931 7.817073971e-18 7.160013032e-08 0.0002787985153 -4.300710672e-05 -2.398301715e-05 1.138736698e-17 -1.023364395e-08 -8.725542488e-05 -4.742339386e-05 -0.0002363454708 -2.194951084e-17 1.882899687e-08 -2.769872197e-05 1.777326284e-05 1.116140683e-05 2.298819921e-17 -4.428376696e-09 6.044066203e-05 -1.014385706e-05 -9.6671643e-06 8.200243527e-18 -4.682464839e-09 -4.90054793e-05 -2.011476133e-05 -2.818907743e-05 -0.0001220931155 -0.0001409584058 5.04911623e-05 1.10916109e-05 7.561563871e-07 -5.673917988e-07 -2.800155587e-08 7.186729762e-08 -4.564375566e-08 -1.60714381e-07 -8.095285921e-08 -3.075518113e-08 -7.878114545e-09 -0.08901267837 0.01550122152 0.02873140133 0.0002772184918 -0.001437454342 0.0001150790639 -6.017379456e-06 0.0006332262273 0.0006743849197 1.438811989e-05 -0.0001359158711 0.0002259734641 -5.952603868e-05 3.818975501e-06 3.268203896e-05 -4.874442511e-05 -2.62410378e-05 9.081022573e-06 -1.28916203e-05 3.569702833e-06 1.201881377e-05 3.923577921e-07 -1.525239597e-05 5.477078355e-06 6.120844185e-06 -2.671094286e-05 1.680478876e-06 -1.397132353e-05 1.612493098e-06 8.31017879e-06 -6.97565348e-06 1.04088233e-06 4.089880629e-07 -8.83656855e-06 1.643135591e-06 1.72486981e-06 -8.038401302e-06 7.867846577e-07 3.422380357e-06 1.912807737e-13 1.981275217e-06 0.04273794196 -0.07946685361 0.02408849571 -3.07851706e-14 -5.174114837e-06 0.003396190595 0.004286104677 -0.0100209733 3.968015496e-15 8.987712084e-06 0.00016854884 -0.0006419891107 0.001464425553 -9.594981679e-15 7.976091555e-06 -0.0001071348868 8.339720929e-06 0.0007565854846 7.620347325e-17 1.957102579e-07 -7.972424162e-05 1.494092211e-06 -0.000148788399 4.115658561e-17 4.072107081e-07 -1.669421133e-05 -6.271075505e-06 8.583524882e-06 1.512259601e-17 1.304589523e-08 -6.178978672e-07 -2.422935754e-06 1.949544106e-05 1.400065839e-16 5.921155871e-08 5.953708591e-06 -1.880554062e-05 -1.31800271e-05 6.391266313e-17 1.085691903e-07 -1.981091568e-05 1.483965831e-05 1.317895038e-06 1.671870132e-17 1.541814987e-08 -9.401566505e-06 2.991053858e-06 1.022811189e-05 4.41023952e-17 1.844159947e-08 1.98409955e-06 -1.033609572e-05 3.603081141e-06 3.853523654e-17 9.505573331e-09 -9.582849608e-06 3.202917073e-06 5.313502116e-06 1.85670604e-17 7.889359979e-09 -3.655618537e-06 2.0964775e-06 7.868672753e-07 -0.02292669939 0.03547095276 0.00939491017 0.0003141392712 0.0001120135745 0.0002757409497 7.86138204e-05 -5.012552072e-05 -3.94688799e-05 -2.632780342e-05 4.98325368e-06 2.535003047e-06 -8.664684922e-07 -0.0009683149304 -0.002963744882 -0.07700187937 -0.03695490913 0.06764142475 0.02070234791 -0.004702221258 0.04969263762 0.01517700803 0.001985768128 0.01379472048 0.003779233528 -0.0001189069918 0.002532973111 0.000205728045 -0.0006441595933 -0.001305713629 0.0001727998667 -0.0004628032953 -0.001556616082 -0.0002781395961 -3.548982835e-05 -0.0002069201835 -4.524156332e-08 1.379075801e-05 -5.104164627e-05 0.0001956749019 2.276672425e-05 0.0001034664236 3.127474554e-05 3.149094266e-05 2.271931402e-05 1.194300113e-05 -4.87525943e-06 5.600240671e-06 -1.245827365e-06 -1.17868284e-05 -2.751319588e-05 -9.970170305e-06 -5.741819645e-17 4.839768887e-05 -0.007645808868 -0.02751773683 0.00822788223 1.365267877e-16 4.455834854e-05 -0.004153397709 -0.01355816999 0.00980485017 3.857763481e-18 1.413980798e-05 0.002789967085 0.001674822546 0.001136009193 -2.323274662e-18 2.900577529e-07 0.0001920947525 0.001342975916 0.0006285316451 2.038680027e-19 2.787110877e-08 -0.0001097222106 -2.056377522e-05 4.781661702e-05 9.280417215e-19 2.149436346e-07 -2.384362474e-05 4.991059681e-05 -0.0001349189979 1.60825711e-20 1.585440869e-09 2.595944875e-06 3.157531442e-05 2.227320346e-05 1.461011352e-20 3.093446113e-09 -8.808920467e-08 1.577839298e-05 1.134026611e-05 1.176570965e-20 3.698425319e-09 -3.300272776e-06 -2.555536807e-05 1.613183057e-06 4.619197878e-22 2.933736309e-10 -5.414534131e-07 -1.557425786e-06 -6.38702804e-07 2.467877327e-21 4.057958378e-09 1.075697539e-06 3.742160486e-06 2.113245176e-06 -6.263611666e-21 2.966590421e-09 -6.551331091e-07 -3.230448793e-06 -6.624672747e-07 -5.569238512e-21 1.734547104e-09 -5.714708627e-07 2.618427379e-07 -3.279027551e-08 -0.01017966223 -0.01129512741 0.002230122749 0.002116546085 -1.86692803e-06 -3.801005489e-05 -7.558073592e-06 2.217845306e-05 1.248117143e-06 -2.29286638e-05 4.56624333e-07 1.85299045e-08 -1.05152309e-06 -0.01216730787 -0.04121099789 0.02916654058 -0.00324505812 0.01269703955 0.0160013597 0.0006534450191 0.001372260913 -0.0008234611911 -2.615077664e-05 0.0001292263374 0.002216318202 -0.0001223957739 -7.097647255e-05 0.0001597002228 -0.0002152546585 7.320598884e-06 8.150720299e-07 -1.436325889e-06 7.745996702e-06 6.343078632e-05 -1.881766298e-05 1.849263336e-05 -3.889550164e-06 -2.956783766e-05 -1.708537442e-05 -2.015096446e-05 -1.24499491e-05 -8.553260006e-06 -9.655982401e-06 1.849766542e-06 2.031039108e-06 -6.061895185e-06 -2.106587288e-06 -5.176860572e-06 1.805545982e-06 -8.015442775e-06 -5.392145814e-06 -1.658442805e-06 -2.270996373e-12 2.633842798e-07 0.02462457774 -0.007779824881 -0.04320125748 7.529612185e-14 6.329473871e-07 0.009850192172 -0.007213201608 0.02982028165 -2.718385631e-15 5.987279797e-06 0.000167665942 0.001141790713 0.005691897479 4.192871322e-15 7.308600772e-07 -0.0005629517298 0.0003430167634 0.0009781879203 -1.145668768e-15 1.04637511e-07 -0.000476478576 -0.0001481355931 0.0002287832676 -1.902237966e-18 1.685846007e-07 -5.318359605e-05 -5.727205877e-06 -6.734167446e-05 -5.783474738e-16 2.678211114e-07 3.462924601e-06 -1.473760529e-06 2.35248745e-05 5.172794656e-16 1.094945094e-08 -9.443204208e-06 -3.388721793e-05 1.927519306e-05 -1.39168915e-16 -3.216857752e-09 -3.11627877e-05 -1.226646127e-05 -7.260472514e-06 -5.218734099e-17 -1.013969256e-08 -2.651327875e-07 -7.878726511e-06 -4.762402439e-06 -2.811262172e-16 1.078667254e-09 2.82167161e-06 -3.676487494e-06 2.961847634e-06 -2.460634751e-16 8.423211502e-10 -3.38623467e-06 -2.651968622e-06 3.566934009e-06 -5.736533523e-17 7.171480784e-13 1.548765676e-07 -5.945961738e-06 -4.224959158e-06 -0.02708032077 -0.03241990335 0.01190201794 0.001682681646 0.0003056900521 -0.0001793796271 7.707143934e-05 -1.610037144e-05 -5.067969148e-06 -2.182180097e-05 -2.295184517e-05 -1.15105561e-05 -2.864855222e-06 0.003697461723 0.06751440501 0.002995106449 0.02054097973 0.01450379535 0.001900679543 -0.0005285813878 -3.543495069e-05 0.001121636039 0.00092566075 0.0005774425639 0.003372274611 8.284997235e-07 6.835407795e-05 6.590664637e-06 -0.0001079138986 -0.0002594381532 0.0001915353698 -4.228400935e-05 -6.446545465e-05 -0.0002177799662 2.20774905e-05 5.248187238e-06 2.508015473e-05 2.427836109e-06 2.579169778e-06 2.757598903e-05 -9.568580321e-06 -1.960598111e-05 -6.123415159e-05 -8.548878912e-06 -2.25033097e-05 -5.238041083e-05 -7.497283365e-07 -9.234568433e-06 -1.51699836e-05 -1.166002665e-06 3.22680039e-06 -6.665085141e-06 3.600813929e-17 2.474381954e-07 -0.0359125005 -0.02282856207 0.02132051702 4.379158385e-14 -5.186367975e-06 0.0131852052 0.05617193538 0.02066962166 1.002552048e-15 -1.040801155e-06 0.002538508981 0.00159499223 -0.001555359791 1.341041039e-16 5.281741327e-07 0.0007548417137 0.0005363369263 0.002015108247 1.1852825e-16 -9.025819684e-07 -8.044923393e-05 -0.0001704867529 0.0001018155446 3.463854666e-17 -9.352756862e-10 0.0001101125549 -0.0003435555872 -0.0005643987209 5.384329873e-18 2.581118873e-09 -1.868957268e-05 -2.74792854e-06 -4.8709907e-05 3.072870931e-18 4.510875244e-08 4.945018508e-05 4.423997853e-05 -1.996989316e-06 5.358179424e-19 1.551340902e-08 -8.564706927e-06 -2.298822689e-05 -2.433901399e-05 1.543554698e-18 6.722351798e-09 -2.464492284e-05 -6.281997776e-05 -6.078184404e-05 2.964270586e-18 9.742456213e-11 -9.345321606e-06 -1.842669168e-05 -1.531099253e-05 1.587254751e-19 1.339817321e-09 -5.984426978e-06 -6.879815065e-06 -3.506429257e-06 3.034867937e-19 3.576539314e-09 -4.255670754e-06 -1.559280936e-05 -1.329508993e-05 --0.0002489238229 0.0002988136131 -0.0001050442716 -2.175054822e-05 -2.009998387e-06 1.326564211e-06 -2.791313279e-07 -1.611355788e-07 8.585177399e-08 3.101414689e-07 1.823267747e-07 6.513771828e-08 1.539121333e-08 -0.002827184955 -0.09472147563 0.04220920233 -0.001736893296 -0.0001372289749 4.70987615e-05 0.0007442636096 -0.0001033201564 0.000900223685 -0.0001470402675 -4.488727301e-07 0.0001996699036 5.830672901e-06 -0.0001012217404 8.713221038e-05 -2.878949366e-06 -5.025289752e-05 -3.598966189e-05 -2.205163151e-06 -1.085482273e-05 1.770273906e-05 -1.892733286e-05 2.626813345e-06 7.867307635e-06 4.566095677e-06 4.703224417e-06 -3.46168943e-05 5.399450324e-07 -2.104218864e-05 1.497829701e-05 -3.825416567e-07 -1.199896347e-05 6.53410088e-06 -4.253590508e-07 -1.160774551e-05 5.076138592e-06 3.66039889e-07 -1.141334178e-05 6.075713858e-06 1.815566625e-13 -9.355962175e-07 0.05315571045 0.0211114794 -0.08847212482 -3.35100595e-14 5.87372615e-06 0.005261759071 -0.009949575869 0.0009998775826 3.944365633e-15 -9.652375221e-06 0.001186992094 -0.0006469002976 0.0006216944755 5.989995078e-16 -6.799606749e-06 -3.597802598e-05 -5.338204744e-05 0.0009542605118 1.820991388e-17 5.114491844e-07 -1.995403563e-06 -0.0001119906199 -0.0001504899116 2.932428175e-17 -5.556408898e-07 -1.76467905e-06 1.945889254e-05 -3.599020206e-05 2.139160129e-18 -6.115787737e-09 -4.681858746e-06 1.065630568e-06 2.652944311e-05 4.648643767e-18 -5.720206969e-08 -2.417521077e-05 6.019809289e-06 -8.521616226e-06 3.42796678e-17 -1.075785419e-07 6.337329921e-06 1.698813076e-05 -3.322877723e-05 1.088472225e-17 -2.469338853e-08 6.660521031e-07 -1.35351798e-05 1.919910652e-05 3.227478159e-17 -1.127145726e-08 3.240095667e-06 1.880950203e-07 -8.403921934e-06 3.154948618e-17 -6.785003845e-09 6.655033931e-06 1.716831333e-07 -8.658647432e-06 1.159725271e-17 -9.209972974e-09 -8.323335569e-07 -2.151040051e-06 2.422558357e-06 -0.1078708585 0.01691974436 0.131399234 0.05090645595 0.00296597629 -0.0004455672188 -0.00102737787 -0.001611386216 -0.0001352243715 0.0003810405104 4.514568965e-06 -1.809632674e-05 2.487444812e-06 0.1006084725 0.1558247179 0.006848853459 0.08331591567 0.06629636733 -0.009686917718 0.007426119794 0.00911681946 -0.02467613434 -0.000829345509 -0.001532992483 0.03825888018 2.850731423e-05 0.0001463011514 0.0001954001416 -0.0008932003168 -0.0005174276201 -0.0001307913903 -0.0001262469079 -0.0002321536618 0.0007788594478 5.300187914e-05 4.835181081e-05 -0.0002777153969 0.0002003250532 4.007755451e-05 6.960230236e-05 -4.841299351e-05 -5.953703755e-05 -8.995743044e-05 -2.134865377e-06 -1.289765379e-05 -0.0002083932753 3.856976125e-06 -1.937097511e-06 6.236865796e-05 -1.166274141e-05 -4.142747578e-06 -4.732290488e-05 2.549586064e-12 1.525669001e-05 -0.1312406572 -0.0581310639 -0.05712244072 1.619990905e-14 -1.444892994e-07 0.04479445151 0.09478069043 0.0733483986 -9.774464494e-16 2.38335744e-06 -0.03081235114 0.02414767025 0.02688665169 -1.698005126e-13 -1.298941761e-05 0.0005714740124 -0.0002760614375 -0.00847597264 -1.94643109e-17 2.522977178e-07 0.0004647918865 0.0007845238536 0.01020900604 6.567462895e-17 -2.067394877e-06 0.001135603681 0.001319144865 -0.0009901651768 -1.731849686e-16 1.841945139e-08 -5.682667259e-05 -6.56896811e-05 -0.002227944225 4.358407255e-18 1.059073294e-08 0.0002506591576 0.0001883680448 0.0002014446542 1.148410655e-17 3.283579578e-08 -2.235901953e-05 0.0001219926355 0.0003531806702 1.817510977e-17 -1.351097233e-08 -5.70386829e-05 -0.0001069998365 -0.0004440030637 -6.637945732e-17 -1.155270805e-08 -2.671352684e-05 1.920072889e-05 -1.546197453e-05 3.073210342e-17 4.45176647e-09 -2.059314866e-05 -2.899051684e-05 8.081886526e-05 1.756286106e-17 1.057214938e-09 -3.427982721e-05 -5.776959815e-05 -4.343638669e-05 --0.04108882328 -0.06357041129 -0.01683739108 -0.0005629948202 -0.000200748738 -0.0004941780305 -0.0001408902921 8.983406759e-05 7.073542526e-05 4.718422149e-05 -8.930898702e-06 -4.543187418e-06 1.552869436e-06 -0.01345363 0.1807361582 -0.02319119671 -0.02727190553 -0.01679657722 -0.04734376643 -0.0135682982 -0.06457313351 -0.02930445779 -0.002323248111 -0.02607560165 -0.006679114615 -0.001575033038 -0.002716777099 -0.0003974856634 0.001251204669 0.001494312167 0.0004577189414 0.0008175529284 0.002956469726 0.0003401833417 6.324123238e-05 0.000367800901 3.534528468e-06 -2.672342733e-06 -0.0001118812167 -0.0001685530305 -1.322093266e-05 -0.0002162773862 -5.321708159e-05 -1.968673283e-05 -7.866610935e-05 -2.030801239e-05 -3.312967946e-06 3.432415149e-06 9.978287054e-07 1.954719368e-05 6.382699016e-05 4.619051646e-06 8.276946738e-17 2.78159239e-05 0.0151620404 0.0221146371 0.01094470452 -1.8823254e-16 2.546834015e-05 0.006612661129 -0.0004210573331 0.007313624069 -5.055810355e-18 8.009713611e-06 0.0003298090134 -0.01007046263 -0.0007880163837 3.346726234e-18 1.610046547e-07 -0.0001598987529 -0.002709380106 -0.001089320528 -2.611610335e-19 3.326026213e-08 0.0001923263571 4.182349339e-05 -8.373237367e-05 -1.262206964e-18 1.229903056e-07 3.610164688e-05 0.0001392651352 1.248193076e-05 -1.915987153e-20 9.131040704e-10 -2.509025205e-06 -6.242444953e-05 -3.877380254e-05 -1.92294742e-20 1.622120886e-09 9.389121779e-08 -2.894610661e-05 -2.022500428e-05 -1.387731985e-20 2.117111406e-09 6.043753754e-06 3.832437531e-05 4.451715793e-06 -8.597750496e-22 1.867967224e-10 9.741377825e-07 2.696916547e-06 1.318276653e-06 -2.791539909e-21 2.264268674e-09 -4.158425494e-07 -8.84372972e-06 -3.438431267e-06 8.07202543e-21 1.70148667e-09 1.116255158e-06 7.104481691e-06 -1.880691622e-07 7.431091768e-21 9.938186552e-10 1.95211616e-07 4.45851374e-07 2.116287178e-09 --0.01901098939 0.02109417213 -0.004164857238 -0.003952747571 3.486574325e-06 7.098553309e-05 1.411505152e-05 -4.141928545e-05 -2.330916411e-06 4.282033867e-05 -8.527670322e-07 -3.460545251e-08 1.963767937e-06 0.1034828684 -0.01617220345 -0.04724692088 -0.002183096878 -0.01387056466 -0.03184977183 -1.789745106e-05 -0.003659176474 0.001586606039 -4.102104837e-05 -0.0001294134637 -0.004090187115 0.0003358091856 1.114010782e-05 -0.0003070819143 0.0003941773641 1.09315915e-05 -2.124967221e-05 -1.861181205e-06 -1.017283393e-05 -0.0001169822085 -9.193346491e-06 6.762090583e-06 7.737054663e-06 8.043840581e-05 2.147623722e-06 4.067621406e-05 3.44475259e-05 2.000362771e-06 2.00908891e-05 -3.566097214e-06 8.707309712e-06 -1.842625679e-06 1.368233831e-05 -1.36487019e-06 -2.515659551e-06 2.269492829e-05 5.214538183e-08 4.815824967e-06 -1.07456469e-12 -1.140617246e-06 -0.04182358002 0.1016212159 -0.01107157859 3.694094517e-14 4.260726453e-07 -0.01659118847 -0.01263188403 -0.03123445689 3.489938832e-15 -1.540013721e-05 -0.000320898864 -0.001251957908 -0.01148432659 2.930560227e-15 4.332913313e-07 0.0001496931853 0.0002889485627 -0.001719624165 5.194473009e-16 -9.677701474e-07 0.001028295063 0.0001243508141 -0.0004433300149 6.381642067e-18 -1.966830971e-07 8.876298162e-05 2.228927646e-05 0.0001237063913 5.655046323e-16 -7.441923173e-07 2.284785258e-06 -4.957831647e-06 -4.280514968e-05 1.554792892e-15 3.339616306e-09 1.586109522e-05 -1.084878427e-05 3.610925721e-05 -9.980235824e-18 -2.657867285e-08 7.130817251e-05 7.615989864e-06 1.642271218e-05 -3.301350581e-18 -3.366966095e-08 4.535767448e-07 2.091276907e-05 2.231093158e-06 -2.158310765e-16 -3.551154294e-10 -4.788178833e-06 -2.051659183e-06 2.701531063e-06 -1.528309756e-16 -9.991095783e-10 1.164867678e-05 -8.450036561e-07 -6.023702139e-06 -1.790127097e-17 -2.986791889e-11 -2.522244976e-07 1.760067854e-05 1.060580442e-06 --0.01499974137 0.01795732663 -0.006592506506 -0.0009320343618 -0.0001693211745 9.935805547e-05 -4.268973276e-05 8.917967019e-06 2.807139071e-06 1.208705663e-05 1.27129861e-05 6.375676492e-06 1.586838197e-06 -0.01028590943 0.08063786876 -0.04778093418 -0.01059317158 -0.008097781469 -0.00107237716 -0.0002802778646 9.628255893e-05 -0.001645499537 -0.0003491750359 -0.0003313788377 -0.002050787867 -1.041394952e-05 8.225152755e-05 -0.0001508862561 5.657707173e-05 0.0002427139435 -8.63780562e-05 2.332540594e-05 5.736069575e-05 0.0001030900704 8.344221615e-06 -5.042583045e-06 -2.823817535e-05 -6.176761422e-06 -6.353716475e-06 2.337016901e-05 4.140524034e-06 3.867731067e-05 1.8631939e-05 4.409702291e-06 2.856922267e-05 2.011104056e-05 5.33521362e-07 1.995429596e-05 2.163991077e-06 -1.216822302e-07 1.195579193e-05 -2.724022375e-06 2.090930939e-16 4.917892317e-07 -0.04304540094 -0.01226649358 0.09755804484 -1.135752867e-14 -3.34583635e-06 -0.01202200478 -0.02168079473 -0.01271200082 -1.122959931e-15 9.148105227e-06 -0.002652128247 -0.0004175211161 6.23983697e-05 -8.363223764e-17 1.138283129e-06 -0.0002499250389 -0.0002968429363 -0.002055656715 -9.784627858e-17 -8.501735814e-07 5.629511886e-05 0.0002122896723 8.992919501e-06 -2.453840084e-17 1.05038046e-09 -4.293449708e-05 0.0001707019823 0.0003795619941 -1.660144132e-17 6.955591423e-09 1.941623824e-05 -3.53789337e-07 -4.096151285e-06 -1.578742236e-18 5.193454184e-08 -4.678886405e-06 -3.682440893e-05 5.202983847e-06 -1.665916298e-18 3.648543705e-08 -3.35444189e-06 3.248692909e-06 5.465409193e-05 -1.790355097e-18 3.978829994e-08 1.207269714e-05 5.660156572e-05 8.256870675e-06 -8.132073956e-18 2.604240692e-10 -3.763174831e-07 7.552753413e-06 2.090254567e-05 -9.608794021e-19 3.10100951e-09 -2.995166324e-06 2.224325431e-06 1.391040596e-05 -6.688184468e-19 9.844471668e-09 2.450158122e-06 2.05083596e-05 -3.210058369e-06 --0.0318418997 0.03822371433 -0.01343707934 -0.002782292055 -0.0002571154753 0.0001696917718 -3.570599087e-05 -2.061218118e-05 1.098200865e-05 3.967275382e-05 2.332292186e-05 8.332302903e-06 1.968817067e-06 -0.01081090252 -0.01348086665 -0.0229711771 -0.01936045431 -0.02797697523 -0.005671052685 9.00211966e-05 3.184368993e-05 -0.0003868687939 -0.0007358548815 -0.0007705136034 -0.004944399027 6.721539352e-06 2.48864786e-05 6.574426823e-05 7.579096082e-05 0.000503535425 -0.0002646424485 5.073805118e-05 3.27212702e-05 0.0002060924436 -2.333528821e-05 -1.485178349e-05 -3.62735891e-05 -1.540557263e-08 1.145747182e-07 3.410479346e-07 1.577583086e-05 3.804777349e-05 8.011198692e-05 8.516034724e-06 3.350719764e-05 3.122680307e-05 2.079240181e-06 1.517250102e-05 7.776807966e-06 1.658309489e-06 3.842606522e-06 6.276929987e-06 -2.67973985e-14 1.08460765e-08 0.01073443408 0.02289574741 0.02851133146 -8.750001314e-14 -9.845534567e-08 -0.01781763992 -0.05825139877 -0.03100896748 -1.40294486e-14 4.843240919e-06 -0.004858667812 -0.003287550284 0.001570628413 -5.923684363e-14 -7.143548796e-06 -0.0002035545574 -0.00040702928 -0.002756606387 -4.736157518e-17 1.133215744e-07 0.0001932802663 0.0003652746608 -0.0002990856308 -3.570867984e-16 1.219838445e-06 -1.745788781e-05 0.0005357868199 0.0004759461283 1.350450453e-19 -6.226475402e-11 -4.288727697e-06 -1.139273317e-06 -1.294730296e-05 2.502711778e-17 -1.199969872e-08 -5.158628874e-05 -6.355941676e-05 1.518120483e-05 -3.960286969e-17 1.511722219e-08 6.759224528e-06 5.580584096e-05 6.185718469e-05 -2.039668325e-17 6.341751284e-09 3.068938386e-05 7.323961936e-05 5.266339978e-05 -2.164625855e-17 4.455940879e-10 3.823388134e-06 1.765372483e-05 1.082716399e-05 -5.841431215e-18 1.302372075e-10 1.907016699e-06 4.109692441e-06 2.707275567e-06 -1.086292642e-17 1.003133952e-09 4.307532533e-06 3.678017972e-05 9.295960265e-07 --0.1884750384 -0.03804667044 -0.2335465456 -0.0916317287 -0.005259901558 0.0008621332752 0.001781731719 0.002843779821 0.0002417054653 -0.0006771366955 -1.508013382e-05 2.730688416e-05 -7.490743855e-06 -0.2134684204 -0.2309386859 -0.0122989162 -0.1300090815 -0.1349782297 0.009783733814 -0.01391941416 -0.01650414466 0.04527038753 0.001761944727 0.002419391833 -0.06840824235 -4.073963699e-05 -0.0001990357066 -0.0002548013929 0.001603073986 0.001248958827 -0.0001303189344 0.0002604327212 0.0003420843525 -0.001569754109 -9.77656091e-05 -9.684415236e-05 0.0004870672039 -0.0003530699692 -6.864065892e-05 -9.71253709e-05 9.18699945e-05 0.0001144970482 0.0001498725046 4.391458099e-06 4.422844481e-05 0.0003263107819 -7.489821559e-06 5.295468197e-06 -0.0001262538482 2.069018019e-05 1.122815539e-05 8.374355549e-05 1.872905768e-12 -4.870458731e-06 0.2321441907 0.1077573288 0.1036421322 5.044116057e-14 3.467977946e-06 -0.0745002276 -0.1572687989 -0.1452057595 -8.708328553e-15 -1.386779215e-05 0.05550061163 -0.04395054382 -0.0496011532 -5.977301546e-14 -8.962658628e-06 -0.001010172853 0.0003843574897 0.01567219116 6.112712821e-17 -4.383756632e-07 -0.0007317567077 -0.001397233483 -0.01838125894 -2.862040375e-16 2.56819615e-06 -0.002026480909 -0.001891587858 0.001044775282 2.917179578e-16 -3.326178643e-08 9.113227925e-05 0.0001097825137 0.003936815305 1.102381743e-16 -1.115082798e-08 -0.0004067956172 -0.0003830363104 -0.0003693865922 -7.05889747e-18 -3.671285641e-08 4.79624634e-05 -2.439477441e-05 -0.0007947096746 -1.287675464e-17 3.098076316e-08 0.0001129714355 0.0001926561714 0.0007702136847 -3.671232129e-17 1.064540575e-09 4.64946147e-05 -2.477536347e-05 -2.380889118e-06 2.461774082e-17 -3.121802262e-09 3.648711794e-05 4.082336548e-05 -0.0001481463755 7.389320788e-18 3.17854339e-09 6.191110321e-05 0.0001331807688 4.960157077e-05 -0.01717447434 0.0265714204 0.007037761558 0.0002353228766 8.390977821e-05 0.0002065585535 5.888990029e-05 -3.754921084e-05 -2.956628224e-05 -1.97222538e-05 3.732973552e-06 1.898980051e-06 -6.490747155e-07 -0.1292198402 0.05140797137 0.009827057178 0.01473320163 0.07688619316 -0.05982646838 0.005968590371 0.04368624687 -0.006914932536 0.0009778963395 0.009930593672 0.00390889109 0.0002705644178 0.0008009591878 0.0009854691891 0.0001552631332 -0.00122956733 -0.0002383356209 -0.0004615245465 -0.001120261241 -0.0001402882138 -1.845018314e-05 -0.0001616852831 -1.148428571e-06 -1.96549378e-05 -2.23557115e-05 0.0001521252109 5.481005636e-06 6.703056357e-05 4.876125567e-05 1.683126899e-05 3.890046887e-05 -8.054604608e-06 -3.752929028e-06 1.30068199e-07 3.868551762e-06 -1.974231544e-05 -1.588910562e-05 -1.507276876e-06 2.851463499e-16 1.29571687e-06 0.01066385844 -0.0266162625 -0.004768497985 -6.354702687e-16 1.261943264e-06 0.01226607104 -0.01502579448 -0.002375329522 -1.952376541e-17 4.342146103e-07 -0.0003042427335 -0.0005889589264 0.005990295141 1.210435325e-17 1.075929529e-08 6.847231475e-05 0.0009225449755 0.0008285384031 -9.570737272e-19 -4.398254031e-09 -8.28193641e-05 -1.689370921e-05 2.828289579e-05 -4.249731603e-18 5.715965202e-09 5.20320222e-05 -6.827857108e-05 -7.405180351e-05 -6.192074318e-20 5.182996996e-11 1.0004385e-06 2.159529341e-05 2.364650232e-05 -6.63600421e-20 1.454712187e-10 -4.313656312e-08 1.134807136e-05 1.105854609e-05 -5.494399724e-20 8.121431446e-11 1.238517742e-06 -2.254239642e-05 -1.42384438e-06 -1.673166287e-21 -1.860783574e-14 -3.828328496e-07 -1.199477193e-06 -5.675697365e-07 -7.206533947e-21 1.381848597e-10 1.37523001e-07 2.025110929e-06 3.533092274e-06 2.91339327e-20 7.260374325e-11 7.562725118e-07 -4.417630614e-06 -1.367680094e-07 2.514821654e-20 4.950307063e-11 -4.132822264e-07 1.68184766e-07 4.755616332e-08 -0.02816488868 -0.03125113573 0.006170259636 0.00585601796 -5.165379649e-06 -0.0001051654701 -2.091152894e-05 6.136290647e-05 3.453265892e-06 -6.343857476e-05 1.263379198e-06 5.12681743e-08 -2.909333344e-06 0.0852418656 0.004790487957 -0.03379863406 0.003665414555 0.03778697616 0.0414078171 0.0002334731377 0.002557557599 -0.003688521943 5.214979463e-05 0.0004050336764 0.004524317917 -0.0002564643747 -3.378590135e-05 0.0006692920107 -0.0005800520439 1.509066786e-05 3.751781158e-05 1.915896113e-06 2.710421272e-05 0.0001335570265 1.295116555e-05 6.004700971e-05 -5.859805482e-06 -5.98991926e-05 -8.275851381e-06 -9.370435792e-05 -2.714292447e-05 -5.264571905e-06 -4.480832769e-05 -4.023141873e-07 1.014922661e-05 1.803573967e-06 3.21873481e-06 1.915711695e-07 -9.718994159e-06 -1.40872237e-05 -2.466748192e-06 -1.463960705e-05 5.427864031e-14 -6.120815113e-07 -0.05707198345 -0.01683317028 -0.002611827099 -7.475114139e-14 8.391730256e-07 0.003237716628 0.0116099118 0.07446825387 -4.847546361e-15 1.799798474e-05 0.0006043160608 0.002110723685 0.0161757799 -2.258520801e-14 2.478729597e-06 -0.0005821928138 -0.0001107164302 -0.0002293992551 -7.940412396e-16 6.52362989e-07 -0.001341539669 -0.0002144212479 0.001123250709 -1.023382977e-17 4.077252782e-07 -0.000140394823 -3.001429282e-05 -0.0001406113787 -1.142903279e-15 1.242145366e-06 1.972532195e-06 9.694375307e-06 2.863772559e-05 8.823134671e-16 -1.745927671e-09 1.368849534e-05 5.986365994e-06 2.040710707e-05 -1.879168097e-17 5.122914236e-09 -8.507472709e-05 -1.435884276e-05 -7.541836576e-05 -2.6659999e-18 9.497576915e-10 -3.470278909e-06 -2.153202583e-05 -3.724948468e-06 -5.735373841e-17 -8.563330056e-10 -2.679958081e-06 7.199752288e-07 1.261976357e-05 -1.185400061e-17 -7.243907364e-10 -2.873401335e-06 -1.597107446e-07 -9.050003676e-06 -3.148818362e-19 -1.357325887e-12 -5.719280335e-06 -1.617214354e-05 -2.469061644e-06 -0.0001673406473 -0.0002003361651 7.354755519e-05 1.039799485e-05 1.8889869e-06 -1.108461867e-06 4.762567127e-07 -9.949094036e-08 -3.131710459e-08 -1.348460504e-07 -1.41829067e-07 -7.11285485e-08 -1.770314065e-08 -0.07370897872 0.006418245975 0.02530127028 0.0001994304332 -0.0004791646984 2.692425767e-05 4.515817328e-05 0.0002809439629 0.0006192800224 2.101023215e-05 -0.000130014813 0.0001402555316 -5.921260052e-05 3.387529043e-07 8.17077198e-05 -6.806942299e-05 6.856694268e-06 -7.065241887e-06 -1.579619537e-05 2.799423173e-06 8.36983011e-06 7.686689646e-07 -1.340927167e-05 9.378015918e-06 3.527258578e-06 -2.182538205e-05 4.957621128e-08 -1.557094932e-05 1.591873706e-06 6.423038113e-06 -9.283997246e-06 1.350957858e-06 3.198946873e-06 -6.884304159e-06 7.797757813e-07 3.896562034e-07 -8.211561484e-06 7.723654432e-07 3.119490133e-06 -1.35097895e-15 3.71562034e-07 0.04087189664 -0.08092882857 0.02185060075 -1.299103034e-14 -6.060465677e-06 0.002237288553 0.003525420654 -0.008116473096 7.533829911e-16 4.701124084e-06 -0.00049532439 0.001081781079 0.0004851792132 1.518068267e-16 1.374805928e-06 2.620182846e-06 -0.0001506070667 0.0005919388565 -2.110430417e-16 -1.442015717e-06 -5.177374025e-05 -1.4351358e-05 -3.887962194e-05 9.373549787e-18 4.651995085e-10 -1.158774346e-05 -4.609276626e-05 1.494419298e-05 1.846856837e-17 8.010822161e-09 -1.642321899e-06 -3.536339972e-06 1.844992839e-05 -1.231214852e-17 4.915395537e-08 3.290221072e-06 -8.509749081e-06 -5.222930738e-06 5.371047644e-18 2.878786999e-08 5.61902436e-06 -2.760058477e-05 6.575498818e-06 3.399031044e-18 3.169391138e-08 -1.408889227e-05 3.901132773e-06 1.259416935e-05 1.172046255e-17 2.697956923e-10 4.07092486e-06 -9.927846221e-06 2.702346366e-06 3.054266466e-18 2.68775982e-09 3.930459962e-06 -1.025787364e-05 3.221552593e-06 1.976742883e-18 8.330040523e-09 -7.73918045e-06 2.655098702e-06 3.792452867e-06 --0.0001172769595 0.0001407818327 -4.94901317e-05 -1.0247465e-05 -9.469824812e-07 6.249920775e-07 -1.315088008e-07 -7.59167625e-08 4.044785631e-08 1.461187927e-07 8.590069651e-08 3.068872018e-08 7.25135377e-09 -0.09385912153 0.02085569799 0.02758751442 0.0002027048989 -0.001707002615 8.754737339e-05 3.390671903e-05 0.0004941055948 0.0006690192487 2.011029593e-05 -0.0001683923977 0.0001747972576 -5.694734547e-05 4.595477055e-06 4.989132192e-05 -7.183042046e-05 1.164286121e-05 -3.123800264e-06 -1.383028653e-05 4.453049887e-06 1.211691169e-05 5.310380198e-07 -1.549533051e-05 7.397239148e-06 4.761341433e-06 -2.638127291e-05 1.916360499e-06 -1.549705261e-05 3.126900723e-06 8.217423734e-06 -9.176526478e-06 2.855066609e-06 1.805829865e-06 -8.588923364e-06 2.400473344e-06 6.740408816e-07 -8.811725419e-06 1.425968314e-06 3.417947008e-06 1.847463538e-13 1.102065893e-06 0.04334979771 -0.08689344981 0.02809479124 -2.441159035e-14 -8.122880351e-06 0.002825854138 0.00452463282 -0.01098261274 4.525827752e-15 8.330931914e-06 -0.0005961061915 0.0009368745154 0.0006610869677 -4.86051821e-15 6.519068819e-06 -6.35824248e-05 -7.762960252e-05 0.0007374917879 -1.358406135e-16 -4.803617031e-07 -6.955118622e-05 2.819138246e-06 -0.0001143591927 4.436838236e-17 5.510538819e-07 -1.868672258e-06 -2.860847163e-05 1.572792644e-05 2.450061271e-18 7.501419849e-09 -6.609367297e-07 -3.114254141e-06 2.013778851e-05 7.024112928e-17 4.195647105e-08 5.296701819e-06 -1.895020072e-05 -8.961460254e-06 7.778198896e-17 9.64423596e-08 7.676001882e-06 -2.264451368e-05 7.066491674e-06 2.170882905e-17 2.458654893e-08 -1.12533096e-05 4.951159371e-06 1.136870935e-05 3.845948652e-17 1.246888183e-08 2.64889797e-06 -1.055438268e-05 3.741251833e-06 4.16092354e-17 7.429144215e-09 5.309286219e-06 -1.081838572e-05 3.580516279e-06 2.190031628e-17 9.091101431e-09 -6.447606353e-06 5.440350248e-06 4.405983077e-07 -0.0710045372 0.02567002742 0.08959238833 0.03903690394 0.00214539261 -0.0004341283401 -0.0006525133118 -0.001130547225 -9.255812823e-05 0.000282235016 2.397647076e-05 -5.397323188e-06 4.458151399e-06 0.1109660017 0.04839984245 0.002695966294 0.03469197008 0.06442807782 0.02481910531 0.006292586252 0.008291328598 -0.02093690282 -0.00130989343 -0.0003131432733 0.02698961505 -0.0001012265881 5.018309966e-05 -6.558814823e-06 -0.0008998078949 -0.0004215720807 0.000250520969 -5.933113068e-05 -0.0001071857273 0.0009465956969 1.925172033e-05 5.420953913e-05 -0.0001791907481 0.0001196622336 -1.081369149e-05 2.447095964e-05 -6.709336814e-05 -3.108283774e-05 -1.235292741e-05 5.274650312e-06 -1.204774967e-06 -0.0001103839309 2.471829544e-06 9.771172735e-07 6.304723703e-05 -2.21209271e-05 -6.564507584e-06 -3.632706492e-05 8.908232515e-13 -2.285935732e-05 -0.1009511558 -0.05985149777 -0.03628774353 3.694513332e-14 -1.189622551e-05 0.02150656504 0.02354350492 0.1063359246 9.266830978e-16 4.598068961e-05 -0.02289000984 0.0146445806 0.03099182975 -3.107808144e-14 2.774958195e-05 0.0003303562047 2.58296869e-05 -0.008531654781 1.576531784e-17 1.177823135e-07 -3.193741571e-05 0.0008292073845 0.007685304417 1.316887399e-17 1.767618073e-06 0.0006637494807 0.001060588205 -1.753261048e-05 -1.213909215e-16 2.889140347e-08 -3.902008628e-05 -2.620236646e-06 -0.001574842718 -1.335039629e-17 6.714987701e-10 0.0001158693749 0.000139115461 0.0001866951438 1.785572311e-17 8.490636026e-08 -0.0001645447774 7.512612277e-05 0.0003726022233 1.182356132e-17 -1.542460961e-08 -7.137603287e-05 -3.561975773e-05 -0.0002730186364 -1.038557851e-17 2.066045715e-08 -1.645475752e-05 2.259182933e-05 1.450119578e-05 1.428810476e-17 -4.992544521e-09 -1.737417145e-05 -1.411534896e-05 6.155684407e-05 7.602911453e-18 -6.12406005e-09 -5.43179656e-05 -3.096952405e-05 -1.081660112e-05 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/jle.orb b/tests/09_DeePKS/100_NO_GO_deepks_UT/jle.orb deleted file mode 100644 index abbf2b6dc8..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/jle.orb +++ /dev/null @@ -1,6018 +0,0 @@ ---------------------------------------------------------------------------- -Energy Cutoff(Ry) 50 -Radius Cutoff(a.u.) 6 -Lmax 2 -Number of Sorbitals--> 13 -Number of Porbitals--> 13 -Number of Dorbitals--> 13 ---------------------------------------------------------------------------- -SUMMARY END - -Mesh 605 -dr 0.01 - Type L N - 0 0 0 -1.000000000000e+00 9.999954307450e-01 9.999817230550e-01 9.999588771557e-01 -9.999268934227e-01 9.998857723822e-01 9.998355147105e-01 9.997761212345e-01 -9.997075929310e-01 9.996299309272e-01 9.995431365007e-01 9.994472110789e-01 -9.993421562398e-01 9.992279737114e-01 9.991046653715e-01 9.989722332485e-01 -9.988306795205e-01 9.986800065157e-01 9.985202167122e-01 9.983513127379e-01 -9.981732973708e-01 9.979861735385e-01 9.977899443184e-01 9.975846129375e-01 -9.973701827725e-01 9.971466573496e-01 9.969140403446e-01 9.966723355824e-01 -9.964215470375e-01 9.961616788336e-01 9.958927352436e-01 9.956147206892e-01 -9.953276397415e-01 9.950314971204e-01 9.947262976943e-01 9.944120464808e-01 -9.940887486459e-01 9.937564095039e-01 9.934150345180e-01 9.930646292992e-01 -9.927051996072e-01 9.923367513494e-01 9.919592905814e-01 9.915728235065e-01 -9.911773564758e-01 9.907728959881e-01 9.903594486895e-01 9.899370213737e-01 -9.895056209813e-01 9.890652546003e-01 9.886159294654e-01 9.881576529582e-01 -9.876904326070e-01 9.872142760867e-01 9.867291912182e-01 9.862351859690e-01 -9.857322684524e-01 9.852204469278e-01 9.846997298001e-01 9.841701256200e-01 -9.836316430835e-01 9.830842910317e-01 9.825280784509e-01 9.819630144724e-01 -9.813891083719e-01 9.808063695699e-01 9.802148076310e-01 9.796144322642e-01 -9.790052533223e-01 9.783872808018e-01 9.777605248430e-01 9.771249957294e-01 -9.764807038877e-01 9.758276598875e-01 9.751658744415e-01 9.744953584044e-01 -9.738161227738e-01 9.731281786890e-01 9.724315374315e-01 9.717262104242e-01 -9.710122092318e-01 9.702895455599e-01 9.695582312554e-01 9.688182783058e-01 -9.680696988392e-01 9.673125051241e-01 9.665467095687e-01 9.657723247216e-01 -9.649893632704e-01 9.641978380425e-01 9.633977620041e-01 9.625891482603e-01 -9.617720100548e-01 9.609463607696e-01 9.601122139247e-01 9.592695831779e-01 -9.584184823246e-01 9.575589252974e-01 9.566909261659e-01 9.558144991363e-01 -9.549296585514e-01 9.540364188899e-01 9.531347947667e-01 9.522248009319e-01 -9.513064522713e-01 9.503797638053e-01 9.494447506893e-01 9.485014282129e-01 -9.475498117999e-01 9.465899170081e-01 9.456217595285e-01 9.446453551853e-01 -9.436607199360e-01 9.426678698702e-01 9.416668212101e-01 9.406575903096e-01 -9.396401936544e-01 9.386146478614e-01 9.375809696787e-01 9.365391759848e-01 -9.354892837886e-01 9.344313102292e-01 9.333652725750e-01 9.322911882240e-01 -9.312090747032e-01 9.301189496681e-01 9.290208309025e-01 9.279147363183e-01 -9.268006839549e-01 9.256786919789e-01 9.245487786841e-01 9.234109624904e-01 -9.222652619442e-01 9.211116957177e-01 9.199502826083e-01 9.187810415390e-01 -9.176039915569e-01 9.164191518340e-01 9.152265416659e-01 9.140261804721e-01 -9.128180877951e-01 9.116022833003e-01 9.103787867756e-01 9.091476181311e-01 -9.079087973984e-01 9.066623447304e-01 9.054082804010e-01 9.041466248047e-01 -9.028773984559e-01 9.016006219888e-01 9.003163161571e-01 8.990245018332e-01 -8.977252000079e-01 8.964184317905e-01 8.951042184077e-01 8.937825812035e-01 -8.924535416387e-01 8.911171212908e-01 8.897733418530e-01 8.884222251345e-01 -8.870637930592e-01 8.856980676661e-01 8.843250711084e-01 8.829448256533e-01 -8.815573536812e-01 8.801626776859e-01 8.787608202735e-01 8.773518041623e-01 -8.759356521824e-01 8.745123872751e-01 8.730820324926e-01 8.716446109973e-01 -8.702001460618e-01 8.687486610678e-01 8.672901795064e-01 8.658247249770e-01 -8.643523211873e-01 8.628729919524e-01 8.613867611947e-01 8.598936529435e-01 -8.583936913341e-01 8.568869006077e-01 8.553733051108e-01 8.538529292946e-01 -8.523257977150e-01 8.507919350314e-01 8.492513660070e-01 8.477041155076e-01 -8.461502085016e-01 8.445896700594e-01 8.430225253529e-01 8.414487996548e-01 -8.398685183386e-01 8.382817068775e-01 8.366883908446e-01 8.350885959116e-01 -8.334823478491e-01 8.318696725255e-01 8.302505959068e-01 8.286251440560e-01 -8.269933431327e-01 8.253552193925e-01 8.237107991864e-01 8.220601089605e-01 -8.204031752555e-01 8.187400247058e-01 8.170706840394e-01 8.153951800773e-01 -8.137135397330e-01 8.120257900115e-01 8.103319580098e-01 8.086320709151e-01 -8.069261560055e-01 8.052142406486e-01 8.034963523014e-01 8.017725185095e-01 -8.000427669069e-01 7.983071252151e-01 7.965656212430e-01 7.948182828859e-01 -7.930651381253e-01 7.913062150281e-01 7.895415417463e-01 7.877711465163e-01 -7.859950576585e-01 7.842133035765e-01 7.824259127570e-01 7.806329137685e-01 -7.788343352617e-01 7.770302059682e-01 7.752205547002e-01 7.734054103500e-01 -7.715848018895e-01 7.697587583694e-01 7.679273089188e-01 7.660904827447e-01 -7.642483091312e-01 7.624008174394e-01 7.605480371061e-01 7.586899976440e-01 -7.568267286407e-01 7.549582597581e-01 7.530846207322e-01 7.512058413721e-01 -7.493219515597e-01 7.474329812490e-01 7.455389604655e-01 7.436399193057e-01 -7.417358879367e-01 7.398268965953e-01 7.379129755873e-01 7.359941552877e-01 -7.340704661390e-01 7.321419386517e-01 7.302086034029e-01 7.282704910361e-01 -7.263276322605e-01 7.243800578507e-01 7.224277986455e-01 7.204708855480e-01 -7.185093495243e-01 7.165432216036e-01 7.145725328773e-01 7.125973144982e-01 -7.106175976801e-01 7.086334136974e-01 7.066447938841e-01 7.046517696335e-01 -7.026543723976e-01 7.006526336861e-01 6.986465850664e-01 6.966362581626e-01 -6.946216846549e-01 6.926028962792e-01 6.905799248262e-01 6.885528021412e-01 -6.865215601232e-01 6.844862307242e-01 6.824468459489e-01 6.804034378539e-01 -6.783560385471e-01 6.763046801870e-01 6.742493949824e-01 6.721902151914e-01 -6.701271731211e-01 6.680603011268e-01 6.659896316114e-01 6.639151970248e-01 -6.618370298633e-01 6.597551626691e-01 6.576696280293e-01 6.555804585759e-01 -6.534876869844e-01 6.513913459739e-01 6.492914683061e-01 6.471880867846e-01 -6.450812342547e-01 6.429709436022e-01 6.408572477532e-01 6.387401796735e-01 -6.366197723676e-01 6.344960588783e-01 6.323690722863e-01 6.302388457091e-01 -6.281054123006e-01 6.259688052507e-01 6.238290577843e-01 6.216862031607e-01 -6.195402746735e-01 6.173913056491e-01 6.152393294468e-01 6.130843794577e-01 -6.109264891046e-01 6.087656918406e-01 6.066020211492e-01 6.044355105433e-01 -6.022661935646e-01 6.000941037829e-01 5.979192747957e-01 5.957417402274e-01 -5.935615337287e-01 5.913786889758e-01 5.891932396702e-01 5.870052195375e-01 -5.848146623272e-01 5.826216018118e-01 5.804260717865e-01 5.782281060679e-01 -5.760277384943e-01 5.738250029242e-01 5.716199332362e-01 5.694125633280e-01 -5.672029271161e-01 5.649910585350e-01 5.627769915364e-01 5.605607600890e-01 -5.583423981772e-01 5.561219398012e-01 5.538994189759e-01 5.516748697302e-01 -5.494483261068e-01 5.472198221611e-01 5.449893919607e-01 5.427570695849e-01 -5.405228891241e-01 5.382868846788e-01 5.360490903593e-01 5.338095402850e-01 -5.315682685834e-01 5.293253093903e-01 5.270806968481e-01 5.248344651060e-01 -5.225866483191e-01 5.203372806474e-01 5.180863962557e-01 5.158340293127e-01 -5.135802139904e-01 5.113249844634e-01 5.090683749084e-01 5.068104195034e-01 -5.045511524271e-01 5.022906078585e-01 5.000288199758e-01 4.977658229563e-01 -4.955016509752e-01 4.932363382055e-01 4.909699188170e-01 4.887024269757e-01 -4.864338968434e-01 4.841643625769e-01 4.818938583272e-01 4.796224182391e-01 -4.773500764507e-01 4.750768670924e-01 4.728028242863e-01 4.705279821459e-01 -4.682523747753e-01 4.659760362683e-01 4.636990007081e-01 4.614213021668e-01 -4.591429747041e-01 4.568640523675e-01 4.545845691911e-01 4.523045591950e-01 -4.500240563851e-01 4.477430947521e-01 4.454617082707e-01 4.431799308996e-01 -4.408977965804e-01 4.386153392368e-01 4.363325927745e-01 4.340495910803e-01 -4.317663680216e-01 4.294829574453e-01 4.271993931780e-01 4.249157090245e-01 -4.226319387680e-01 4.203481161687e-01 4.180642749639e-01 4.157804488669e-01 -4.134966715664e-01 4.112129767260e-01 4.089293979839e-01 4.066459689517e-01 -4.043627232139e-01 4.020796943278e-01 3.997969158223e-01 3.975144211975e-01 -3.952322439240e-01 3.929504174427e-01 3.906689751635e-01 3.883879504653e-01 -3.861073766949e-01 3.838272871669e-01 3.815477151626e-01 3.792686939297e-01 -3.769902566816e-01 3.747124365969e-01 3.724352668186e-01 3.701587804535e-01 -3.678830105718e-01 3.656079902064e-01 3.633337523523e-01 3.610603299659e-01 -3.587877559645e-01 3.565160632258e-01 3.542452845871e-01 3.519754528448e-01 -3.497066007538e-01 3.474387610269e-01 3.451719663343e-01 3.429062493028e-01 -3.406416425154e-01 3.383781785106e-01 3.361158897820e-01 3.338548087774e-01 -3.315949678985e-01 3.293363995000e-01 3.270791358894e-01 3.248232093263e-01 -3.225686520215e-01 3.203154961369e-01 3.180637737846e-01 3.158135170263e-01 -3.135647578731e-01 3.113175282844e-01 3.090718601677e-01 3.068277853780e-01 -3.045853357170e-01 3.023445429328e-01 3.001054387190e-01 2.978680547147e-01 -2.956324225033e-01 2.933985736121e-01 2.911665395122e-01 2.889363516174e-01 -2.867080412837e-01 2.844816398091e-01 2.822571784326e-01 2.800346883341e-01 -2.778142006333e-01 2.755957463896e-01 2.733793566015e-01 2.711650622057e-01 -2.689528940770e-01 2.667428830274e-01 2.645350598058e-01 2.623294550973e-01 -2.601260995227e-01 2.579250236380e-01 2.557262579339e-01 2.535298328350e-01 -2.513357786996e-01 2.491441258191e-01 2.469549044171e-01 2.447681446495e-01 -2.425838766034e-01 2.404021302968e-01 2.382229356781e-01 2.360463226257e-01 -2.338723209472e-01 2.317009603788e-01 2.295322705852e-01 2.273662811590e-01 -2.252030216196e-01 2.230425214136e-01 2.208848099135e-01 2.187299164175e-01 -2.165778701493e-01 2.144287002568e-01 2.122824358125e-01 2.101391058124e-01 -2.079987391756e-01 2.058613647440e-01 2.037270112815e-01 2.015957074739e-01 -1.994674819279e-01 1.973423631710e-01 1.952203796510e-01 1.931015597352e-01 -1.909859317103e-01 1.888735237814e-01 1.867643640722e-01 1.846584806240e-01 -1.825559013952e-01 1.804566542612e-01 1.783607670137e-01 1.762682673601e-01 -1.741791829233e-01 1.720935412410e-01 1.700113697654e-01 1.679326958626e-01 -1.658575468121e-01 1.637859498066e-01 1.617179319512e-01 1.596535202632e-01 -1.575927416715e-01 1.555356230162e-01 1.534821910482e-01 1.514324724284e-01 -1.493864937280e-01 1.473442814271e-01 1.453058619151e-01 1.432712614896e-01 -1.412405063565e-01 1.392136226292e-01 1.371906363283e-01 1.351715733810e-01 -1.331564596211e-01 1.311453207879e-01 1.291381825264e-01 1.271350703867e-01 -1.251360098232e-01 1.231410261946e-01 1.211501447634e-01 1.191633906954e-01 -1.171807890593e-01 1.152023648264e-01 1.132281428698e-01 1.112581479646e-01 -1.092924047871e-01 1.073309379142e-01 1.053737718236e-01 1.034209308930e-01 -1.014724393995e-01 9.952832151981e-02 9.758860132928e-02 9.565330280182e-02 -9.372244980944e-02 9.179606612181e-02 8.987417540595e-02 8.795680122580e-02 -8.604396704186e-02 8.413569621079e-02 8.223201198506e-02 8.033293751256e-02 -7.843849583622e-02 7.654870989369e-02 7.466360251689e-02 7.278319643172e-02 -7.090751425767e-02 6.903657850744e-02 6.717041158663e-02 6.530903579334e-02 -6.345247331783e-02 6.160074624218e-02 5.975387653995e-02 5.791188607580e-02 -5.607479660517e-02 5.424262977394e-02 5.241540711809e-02 5.059315006336e-02 -4.877587992492e-02 4.696361790703e-02 4.515638510272e-02 4.335420249347e-02 -4.155709094886e-02 3.976507122629e-02 3.797816397060e-02 3.619638971384e-02 -3.441976887486e-02 3.264832175908e-02 3.088206855812e-02 2.912102934952e-02 -2.736522409646e-02 2.561467264741e-02 2.386939473585e-02 2.212940997999e-02 -2.039473788245e-02 1.866539783001e-02 1.694140909324e-02 1.522279082631e-02 -1.350956206664e-02 1.180174173465e-02 1.009934863345e-02 8.402401448598e-03 -6.710918747811e-03 5.024918980690e-03 3.344420478453e-03 1.669441453672e-03 -7.672312953838e-15 -1.663885908054e-03 -3.322198415458e-03 -4.974919786836e-03 --6.622032406765e-03 - Type L N - 0 0 1 -1.000000000000e+00 9.999817230550e-01 9.999268934227e-01 9.998355147105e-01 -9.997075929310e-01 9.995431365007e-01 9.993421562398e-01 9.991046653715e-01 -9.988306795205e-01 9.985202167122e-01 9.981732973708e-01 9.977899443184e-01 -9.973701827725e-01 9.969140403446e-01 9.964215470375e-01 9.958927352436e-01 -9.953276397415e-01 9.947262976943e-01 9.940887486459e-01 9.934150345180e-01 -9.927051996072e-01 9.919592905814e-01 9.911773564758e-01 9.903594486895e-01 -9.895056209813e-01 9.886159294654e-01 9.876904326070e-01 9.867291912182e-01 -9.857322684524e-01 9.846997298001e-01 9.836316430835e-01 9.825280784509e-01 -9.813891083719e-01 9.802148076310e-01 9.790052533223e-01 9.777605248430e-01 -9.764807038877e-01 9.751658744415e-01 9.738161227738e-01 9.724315374315e-01 -9.710122092318e-01 9.695582312554e-01 9.680696988392e-01 9.665467095687e-01 -9.649893632704e-01 9.633977620041e-01 9.617720100548e-01 9.601122139247e-01 -9.584184823246e-01 9.566909261659e-01 9.549296585514e-01 9.531347947667e-01 -9.513064522713e-01 9.494447506893e-01 9.475498117999e-01 9.456217595284e-01 -9.436607199360e-01 9.416668212101e-01 9.396401936544e-01 9.375809696787e-01 -9.354892837886e-01 9.333652725750e-01 9.312090747032e-01 9.290208309025e-01 -9.268006839549e-01 9.245487786841e-01 9.222652619442e-01 9.199502826083e-01 -9.176039915569e-01 9.152265416659e-01 9.128180877950e-01 9.103787867756e-01 -9.079087973983e-01 9.054082804010e-01 9.028773984559e-01 9.003163161571e-01 -8.977252000079e-01 8.951042184077e-01 8.924535416387e-01 8.897733418530e-01 -8.870637930592e-01 8.843250711084e-01 8.815573536812e-01 8.787608202735e-01 -8.759356521824e-01 8.730820324926e-01 8.702001460617e-01 8.672901795064e-01 -8.643523211873e-01 8.613867611947e-01 8.583936913341e-01 8.553733051108e-01 -8.523257977150e-01 8.492513660070e-01 8.461502085016e-01 8.430225253528e-01 -8.398685183386e-01 8.366883908446e-01 8.334823478491e-01 8.302505959068e-01 -8.269933431327e-01 8.237107991864e-01 8.204031752555e-01 8.170706840394e-01 -8.137135397329e-01 8.103319580097e-01 8.069261560055e-01 8.034963523014e-01 -8.000427669069e-01 7.965656212430e-01 7.930651381253e-01 7.895415417462e-01 -7.859950576585e-01 7.824259127570e-01 7.788343352617e-01 7.752205547002e-01 -7.715848018895e-01 7.679273089188e-01 7.642483091312e-01 7.605480371061e-01 -7.568267286406e-01 7.530846207322e-01 7.493219515597e-01 7.455389604655e-01 -7.417358879367e-01 7.379129755873e-01 7.340704661390e-01 7.302086034029e-01 -7.263276322605e-01 7.224277986455e-01 7.185093495243e-01 7.145725328773e-01 -7.106175976801e-01 7.066447938841e-01 7.026543723976e-01 6.986465850664e-01 -6.946216846549e-01 6.905799248262e-01 6.865215601232e-01 6.824468459489e-01 -6.783560385470e-01 6.742493949824e-01 6.701271731211e-01 6.659896316114e-01 -6.618370298633e-01 6.576696280293e-01 6.534876869844e-01 6.492914683060e-01 -6.450812342546e-01 6.408572477532e-01 6.366197723676e-01 6.323690722863e-01 -6.281054123006e-01 6.238290577842e-01 6.195402746735e-01 6.152393294468e-01 -6.109264891046e-01 6.066020211492e-01 6.022661935645e-01 5.979192747957e-01 -5.935615337287e-01 5.891932396702e-01 5.848146623272e-01 5.804260717864e-01 -5.760277384943e-01 5.716199332362e-01 5.672029271161e-01 5.627769915364e-01 -5.583423981772e-01 5.538994189759e-01 5.494483261068e-01 5.449893919606e-01 -5.405228891241e-01 5.360490903593e-01 5.315682685834e-01 5.270806968481e-01 -5.225866483190e-01 5.180863962556e-01 5.135802139904e-01 5.090683749084e-01 -5.045511524271e-01 5.000288199758e-01 4.955016509752e-01 4.909699188169e-01 -4.864338968434e-01 4.818938583271e-01 4.773500764507e-01 4.728028242863e-01 -4.682523747752e-01 4.636990007081e-01 4.591429747041e-01 4.545845691910e-01 -4.500240563851e-01 4.454617082707e-01 4.408977965803e-01 4.363325927745e-01 -4.317663680215e-01 4.271993931779e-01 4.226319387679e-01 4.180642749639e-01 -4.134966715663e-01 4.089293979839e-01 4.043627232139e-01 3.997969158223e-01 -3.952322439240e-01 3.906689751635e-01 3.861073766949e-01 3.815477151625e-01 -3.769902566816e-01 3.724352668185e-01 3.678830105718e-01 3.633337523523e-01 -3.587877559645e-01 3.542452845871e-01 3.497066007538e-01 3.451719663342e-01 -3.406416425153e-01 3.361158897820e-01 3.315949678984e-01 3.270791358894e-01 -3.225686520215e-01 3.180637737845e-01 3.135647578730e-01 3.090718601677e-01 -3.045853357170e-01 3.001054387190e-01 2.956324225032e-01 2.911665395122e-01 -2.867080412837e-01 2.822571784326e-01 2.778142006333e-01 2.733793566015e-01 -2.689528940770e-01 2.645350598058e-01 2.601260995227e-01 2.557262579339e-01 -2.513357786996e-01 2.469549044171e-01 2.425838766033e-01 2.382229356781e-01 -2.338723209471e-01 2.295322705852e-01 2.252030216196e-01 2.208848099134e-01 -2.165778701492e-01 2.122824358125e-01 2.079987391756e-01 2.037270112815e-01 -1.994674819278e-01 1.952203796510e-01 1.909859317102e-01 1.867643640722e-01 -1.825559013951e-01 1.783607670136e-01 1.741791829233e-01 1.700113697654e-01 -1.658575468121e-01 1.617179319512e-01 1.575927416715e-01 1.534821910481e-01 -1.493864937279e-01 1.453058619150e-01 1.412405063565e-01 1.371906363282e-01 -1.331564596210e-01 1.291381825264e-01 1.251360098231e-01 1.211501447634e-01 -1.171807890593e-01 1.132281428698e-01 1.092924047870e-01 1.053737718236e-01 -1.014724393995e-01 9.758860132924e-02 9.372244980940e-02 8.987417540592e-02 -8.604396704183e-02 8.223201198502e-02 7.843849583619e-02 7.466360251685e-02 -7.090751425763e-02 6.717041158660e-02 6.345247331779e-02 5.975387653992e-02 -5.607479660513e-02 5.241540711806e-02 4.877587992489e-02 4.515638510269e-02 -4.155709094883e-02 3.797816397057e-02 3.441976887483e-02 3.088206855808e-02 -2.736522409643e-02 2.386939473581e-02 2.039473788242e-02 1.694140909321e-02 -1.350956206661e-02 1.009934863341e-02 6.710918747778e-03 3.344420478420e-03 --2.512273976170e-14 -3.322198415490e-03 -6.622032406798e-03 -9.899361531813e-03 --1.315404727543e-02 -1.638595305741e-02 -1.959494424002e-02 -2.278088813553e-02 --2.594365401354e-02 -2.908311310815e-02 -3.219913862489e-02 -3.529160574762e-02 --3.836039164512e-02 -4.140537547759e-02 -4.442643840297e-02 -4.742346358305e-02 --5.039633618947e-02 -5.334494340950e-02 -5.626917445168e-02 -5.916892055125e-02 --6.204407497547e-02 -6.489453302871e-02 -6.772019205738e-02 -7.052095145470e-02 --7.329671266530e-02 -7.604737918967e-02 -7.877285658831e-02 -8.147305248593e-02 --8.414787657523e-02 -8.679724062070e-02 -8.942105846215e-02 -9.201924601808e-02 --9.459172128888e-02 -9.713840435985e-02 -9.965921740409e-02 -1.021540846851e-01 --1.046229325594e-01 -1.070656894788e-01 -1.094822859923e-01 -1.118726547488e-01 --1.142367304979e-01 -1.165744500923e-01 -1.188857524890e-01 -1.211705787506e-01 --1.234288720462e-01 -1.256605776527e-01 -1.278656429553e-01 -1.300440174480e-01 --1.321956527344e-01 -1.343205025276e-01 -1.364185226502e-01 -1.384896710345e-01 --1.405339077219e-01 -1.425511948627e-01 -1.445414967153e-01 -1.465047796453e-01 --1.484410121248e-01 -1.503501647310e-01 -1.522322101451e-01 -1.540871231506e-01 --1.559148806315e-01 -1.577154615709e-01 -1.594888470486e-01 -1.612350202393e-01 --1.629539664097e-01 -1.646456729164e-01 -1.663101292031e-01 -1.679473267977e-01 --1.695572593094e-01 -1.711399224253e-01 -1.726953139072e-01 -1.742234335878e-01 --1.757242833674e-01 -1.771978672099e-01 -1.786441911383e-01 -1.800632632314e-01 --1.814550936186e-01 -1.828196944759e-01 -1.841570800207e-01 -1.854672665076e-01 --1.867502722230e-01 -1.880061174798e-01 -1.892348246122e-01 -1.904364179705e-01 --1.916109239149e-01 -1.927583708101e-01 -1.938787890190e-01 -1.949722108968e-01 --1.960386707848e-01 -1.970782050034e-01 -1.980908518463e-01 -1.990766515731e-01 --2.000356464025e-01 -2.009678805055e-01 -2.018733999978e-01 -2.027522529330e-01 --2.036044892942e-01 -2.044301609872e-01 -2.052293218322e-01 -2.060020275558e-01 --2.067483357832e-01 -2.074683060295e-01 -2.081619996917e-01 -2.088294800398e-01 --2.094708122085e-01 -2.100860631877e-01 -2.106753018143e-01 -2.112385987623e-01 --2.117760265342e-01 -2.122876594511e-01 -2.127735736434e-01 -2.132338470410e-01 --2.136685593635e-01 -2.140777921103e-01 -2.144616285503e-01 -2.148201537121e-01 --2.151534543730e-01 -2.154616190492e-01 -2.157447379844e-01 -2.160029031399e-01 --2.162362081830e-01 -2.164447484765e-01 -2.166286210670e-01 -2.167879246744e-01 --2.169227596796e-01 -2.170332281139e-01 -2.171194336468e-01 -2.171814815742e-01 --2.172194788069e-01 -2.172335338584e-01 -2.172237568329e-01 -2.171902594128e-01 --2.171331548467e-01 -2.170525579367e-01 -2.169485850260e-01 -2.168213539861e-01 --2.166709842043e-01 -2.164975965702e-01 -2.163013134635e-01 -2.160822587401e-01 --2.158405577195e-01 -2.155763371712e-01 -2.152897253014e-01 -2.149808517391e-01 --2.146498475232e-01 -2.142968450882e-01 -2.139219782505e-01 -2.135253821946e-01 --2.131071934591e-01 -2.126675499226e-01 -2.122065907892e-01 -2.117244565748e-01 --2.112212890922e-01 -2.106972314371e-01 -2.101524279729e-01 -2.095870243170e-01 --2.090011673252e-01 -2.083950050775e-01 -2.077686868629e-01 -2.071223631645e-01 --2.064561856448e-01 -2.057703071299e-01 -2.050648815952e-01 -2.043400641494e-01 --2.035960110195e-01 -2.028328795354e-01 -2.020508281143e-01 -2.012500162453e-01 --2.004306044739e-01 -1.995927543858e-01 -1.987366285918e-01 -1.978623907118e-01 --1.969702053588e-01 -1.960602381230e-01 -1.951326555559e-01 -1.941876251546e-01 --1.932253153449e-01 -1.922458954659e-01 -1.912495357537e-01 -1.902364073248e-01 --1.892066821602e-01 -1.881605330886e-01 -1.870981337707e-01 -1.860196586822e-01 --1.849252830975e-01 -1.838151830732e-01 -1.826895354317e-01 -1.815485177444e-01 --1.803923083150e-01 -1.792210861632e-01 -1.780350310077e-01 -1.768343232495e-01 --1.756191439552e-01 -1.743896748402e-01 -1.731460982522e-01 -1.718885971536e-01 --1.706173551053e-01 -1.693325562496e-01 -1.680343852933e-01 -1.667230274906e-01 --1.653986686265e-01 -1.640614949995e-01 -1.627116934048e-01 -1.613494511171e-01 --1.599749558740e-01 -1.585883958584e-01 -1.571899596821e-01 -1.557798363681e-01 --1.543582153342e-01 -1.529252863754e-01 -1.514812396472e-01 -1.500262656484e-01 --1.485605552040e-01 -1.470842994484e-01 -1.455976898080e-01 -1.441009179842e-01 --1.425941759366e-01 -1.410776558659e-01 -1.395515501966e-01 -1.380160515603e-01 --1.364713527783e-01 -1.349176468453e-01 -1.333551269115e-01 -1.317839862665e-01 --1.302044183217e-01 -1.286166165939e-01 -1.270207746877e-01 -1.254170862794e-01 --1.238057450998e-01 -1.221869449169e-01 -1.205608795201e-01 -1.189277427023e-01 --1.172877282441e-01 -1.156410298963e-01 -1.139878413639e-01 -1.123283562887e-01 --1.106627682334e-01 -1.089912706645e-01 -1.073140569360e-01 -1.056313202728e-01 --1.039432537543e-01 -1.022500502977e-01 -1.005519026420e-01 -9.884900333142e-02 --9.714154469927e-02 -9.542971885147e-02 -9.371371765052e-02 -9.199373269930e-02 --9.026995532499e-02 -8.854257656300e-02 -8.681178714101e-02 -8.507777746301e-02 --8.334073759342e-02 -8.160085724131e-02 -7.985832574460e-02 -7.811333205436e-02 --7.636606471922e-02 -7.461671186973e-02 -7.286546120293e-02 -7.111249996683e-02 --6.935801494510e-02 -6.760219244173e-02 -6.584521826582e-02 -6.408727771638e-02 --6.232855556727e-02 -6.056923605220e-02 -5.880950284972e-02 -5.704953906845e-02 --5.528952723219e-02 -5.352964926532e-02 -5.177008647805e-02 -5.001101955200e-02 --4.825262852562e-02 -4.649509277989e-02 -4.473859102399e-02 -4.298330128108e-02 --4.122940087420e-02 -3.947706641221e-02 -3.772647377587e-02 -3.597779810396e-02 --3.423121377953e-02 -3.248689441622e-02 -3.074501284469e-02 -2.900574109912e-02 --2.726925040385e-02 -2.553571116007e-02 -2.380529293261e-02 -2.207816443691e-02 --2.035449352594e-02 -1.863444717740e-02 -1.691819148084e-02 -1.520589162503e-02 --1.349771188539e-02 -1.179381561144e-02 -1.009436521452e-02 -8.399522155443e-03 --6.709446932398e-03 -5.024299068872e-03 -3.344237101723e-03 -1.669418569349e-03 -2.512273976170e-14 1.663863099950e-03 3.322016257243e-03 4.974306043361e-03 -6.620580085661e-03 - Type L N - 0 0 2 -1.000000000000e+00 9.999588771557e-01 9.998355147105e-01 9.996299309272e-01 -9.993421562398e-01 9.989722332485e-01 9.985202167122e-01 9.979861735385e-01 -9.973701827725e-01 9.966723355824e-01 9.958927352436e-01 9.950314971204e-01 -9.940887486459e-01 9.930646292992e-01 9.919592905814e-01 9.907728959881e-01 -9.895056209813e-01 9.881576529582e-01 9.867291912182e-01 9.852204469278e-01 -9.836316430835e-01 9.819630144724e-01 9.802148076310e-01 9.783872808018e-01 -9.764807038877e-01 9.744953584044e-01 9.724315374315e-01 9.702895455599e-01 -9.680696988392e-01 9.657723247216e-01 9.633977620041e-01 9.609463607696e-01 -9.584184823246e-01 9.558144991363e-01 9.531347947667e-01 9.503797638053e-01 -9.475498117999e-01 9.446453551853e-01 9.416668212101e-01 9.386146478614e-01 -9.354892837886e-01 9.322911882240e-01 9.290208309025e-01 9.256786919789e-01 -9.222652619442e-01 9.187810415390e-01 9.152265416659e-01 9.116022833003e-01 -9.079087973984e-01 9.041466248047e-01 9.003163161571e-01 8.964184317905e-01 -8.924535416387e-01 8.884222251345e-01 8.843250711084e-01 8.801626776859e-01 -8.759356521824e-01 8.716446109973e-01 8.672901795064e-01 8.628729919524e-01 -8.583936913341e-01 8.538529292946e-01 8.492513660070e-01 8.445896700594e-01 -8.398685183386e-01 8.350885959116e-01 8.302505959068e-01 8.253552193925e-01 -8.204031752555e-01 8.153951800773e-01 8.103319580098e-01 8.052142406486e-01 -8.000427669069e-01 7.948182828859e-01 7.895415417463e-01 7.842133035765e-01 -7.788343352617e-01 7.734054103500e-01 7.679273089188e-01 7.624008174394e-01 -7.568267286407e-01 7.512058413721e-01 7.455389604655e-01 7.398268965953e-01 -7.340704661390e-01 7.282704910361e-01 7.224277986455e-01 7.165432216036e-01 -7.106175976801e-01 7.046517696335e-01 6.986465850664e-01 6.926028962792e-01 -6.865215601232e-01 6.804034378539e-01 6.742493949824e-01 6.680603011268e-01 -6.618370298633e-01 6.555804585759e-01 6.492914683061e-01 6.429709436022e-01 -6.366197723676e-01 6.302388457091e-01 6.238290577843e-01 6.173913056491e-01 -6.109264891046e-01 6.044355105433e-01 5.979192747957e-01 5.913786889758e-01 -5.848146623272e-01 5.782281060679e-01 5.716199332362e-01 5.649910585350e-01 -5.583423981772e-01 5.516748697302e-01 5.449893919607e-01 5.382868846788e-01 -5.315682685834e-01 5.248344651060e-01 5.180863962557e-01 5.113249844634e-01 -5.045511524271e-01 4.977658229563e-01 4.909699188170e-01 4.841643625769e-01 -4.773500764507e-01 4.705279821459e-01 4.636990007081e-01 4.568640523675e-01 -4.500240563851e-01 4.431799308996e-01 4.363325927745e-01 4.294829574453e-01 -4.226319387680e-01 4.157804488669e-01 4.089293979839e-01 4.020796943278e-01 -3.952322439240e-01 3.883879504653e-01 3.815477151626e-01 3.747124365969e-01 -3.678830105718e-01 3.610603299659e-01 3.542452845871e-01 3.474387610269e-01 -3.406416425154e-01 3.338548087774e-01 3.270791358894e-01 3.203154961369e-01 -3.135647578731e-01 3.068277853780e-01 3.001054387190e-01 2.933985736121e-01 -2.867080412837e-01 2.800346883341e-01 2.733793566015e-01 2.667428830274e-01 -2.601260995227e-01 2.535298328350e-01 2.469549044171e-01 2.404021302968e-01 -2.338723209472e-01 2.273662811590e-01 2.208848099135e-01 2.144287002568e-01 -2.079987391756e-01 2.015957074739e-01 1.952203796510e-01 1.888735237814e-01 -1.825559013952e-01 1.762682673601e-01 1.700113697654e-01 1.637859498066e-01 -1.575927416715e-01 1.514324724284e-01 1.453058619151e-01 1.392136226292e-01 -1.331564596211e-01 1.271350703867e-01 1.211501447634e-01 1.152023648264e-01 -1.092924047871e-01 1.034209308930e-01 9.758860132928e-02 9.179606612181e-02 -8.604396704186e-02 8.033293751256e-02 7.466360251689e-02 6.903657850744e-02 -6.345247331783e-02 5.791188607580e-02 5.241540711809e-02 4.696361790703e-02 -4.155709094886e-02 3.619638971384e-02 3.088206855812e-02 2.561467264741e-02 -2.039473788245e-02 1.522279082631e-02 1.009934863345e-02 5.024918980689e-03 -7.389596982152e-15 -4.974919786837e-03 -9.899361531780e-03 -1.477285612207e-02 --1.959494423999e-02 -2.436517642069e-02 -2.908311310811e-02 -3.374832470902e-02 --3.836039164509e-02 -4.291890440306e-02 -4.742346358302e-02 -5.187367994466e-02 --5.626917445165e-02 -6.060957831403e-02 -6.489453302868e-02 -6.912369041777e-02 --7.329671266528e-02 -7.741327235156e-02 -8.147305248590e-02 -8.547574653711e-02 --8.942105846213e-02 -9.330870273266e-02 -9.713840435983e-02 -1.009098989168e-01 --1.046229325594e-01 -1.082772620449e-01 -1.118726547487e-01 -1.154088886789e-01 --1.188857524890e-01 -1.223030454888e-01 -1.256605776527e-01 -1.289581696271e-01 --1.321956527344e-01 -1.353728689764e-01 -1.384896710345e-01 -1.415459222689e-01 --1.445414967152e-01 -1.474762790796e-01 -1.503501647310e-01 -1.531630596929e-01 --1.559148806314e-01 -1.586055548431e-01 -1.612350202393e-01 -1.638032253296e-01 --1.663101292030e-01 -1.687557015072e-01 -1.711399224253e-01 -1.734627826523e-01 --1.757242833674e-01 -1.779244362065e-01 -1.800632632314e-01 -1.821407968977e-01 --1.841570800207e-01 -1.861121657396e-01 -1.880061174797e-01 -1.898390089126e-01 --1.916109239149e-01 -1.933219565247e-01 -1.949722108968e-01 -1.965618012556e-01 --1.980908518463e-01 -1.995594968849e-01 -2.009678805055e-01 -2.023161567062e-01 --2.036044892942e-01 -2.048330518274e-01 -2.060020275558e-01 -2.071116093607e-01 --2.081619996917e-01 -2.091534105031e-01 -2.100860631877e-01 -2.109601885094e-01 --2.117760265342e-01 -2.125338265592e-01 -2.132338470410e-01 -2.138763555209e-01 --2.144616285503e-01 -2.149899516135e-01 -2.154616190492e-01 -2.158769339703e-01 --2.162362081830e-01 -2.165397621037e-01 -2.167879246744e-01 -2.169810332771e-01 --2.171194336468e-01 -2.172034797827e-01 -2.172335338584e-01 -2.172099661307e-01 --2.171331548467e-01 -2.170034861501e-01 -2.168213539861e-01 -2.165871600048e-01 --2.163013134635e-01 -2.159642311277e-01 -2.155763371712e-01 -2.151380630747e-01 --2.146498475232e-01 -2.141121363026e-01 -2.135253821946e-01 -2.128900448716e-01 --2.122065907892e-01 -2.114754930785e-01 -2.106972314371e-01 -2.098722920193e-01 --2.090011673253e-01 -2.080843560887e-01 -2.071223631645e-01 -2.061156994150e-01 --2.050648815952e-01 -2.039704322376e-01 -2.028328795354e-01 -2.016527572263e-01 --2.004306044739e-01 -1.991669657493e-01 -1.978623907118e-01 -1.965174340891e-01 --1.951326555559e-01 -1.937086196133e-01 -1.922458954659e-01 -1.907450569001e-01 --1.892066821602e-01 -1.876313538246e-01 -1.860196586822e-01 -1.843721876067e-01 --1.826895354318e-01 -1.809723008254e-01 -1.792210861633e-01 -1.774364974027e-01 --1.756191439552e-01 -1.737696385594e-01 -1.718885971536e-01 -1.699766387472e-01 --1.680343852933e-01 -1.660624615594e-01 -1.640614949995e-01 -1.620321156246e-01 --1.599749558740e-01 -1.578906504859e-01 -1.557798363681e-01 -1.536431524689e-01 --1.514812396472e-01 -1.492947405431e-01 -1.470842994485e-01 -1.448505621774e-01 --1.425941759367e-01 -1.403157891963e-01 -1.380160515603e-01 -1.356956136373e-01 --1.333551269115e-01 -1.309952436141e-01 -1.286166165939e-01 -1.262198991893e-01 --1.238057450998e-01 -1.213748082581e-01 -1.189277427024e-01 -1.164652024486e-01 --1.139878413639e-01 -1.114963130395e-01 -1.089912706645e-01 -1.064733669002e-01 --1.039432537543e-01 -1.014015824560e-01 -9.884900333145e-02 -9.628616568006e-02 --9.371371765055e-02 -9.113230611832e-02 -8.854257656303e-02 -8.594517294687e-02 --8.334073759345e-02 -8.072991106737e-02 -7.811333205439e-02 -7.549163724239e-02 --7.286546120296e-02 -7.023543627378e-02 -6.760219244177e-02 -6.496635722697e-02 --6.232855556730e-02 -5.968940970410e-02 -5.704953906848e-02 -5.440956016866e-02 --5.177008647808e-02 -4.913172832449e-02 -4.649509277992e-02 -4.386078355168e-02 --4.122940087423e-02 -3.860154140214e-02 -3.597779810400e-02 -3.335876015735e-02 --3.074501284472e-02 -2.813713745071e-02 -2.553571116010e-02 -2.294130695715e-02 --2.035449352598e-02 -1.777583515209e-02 -1.520589162507e-02 -1.264521814239e-02 --1.009436521455e-02 -7.553878571246e-03 -5.024299068905e-03 -2.506162599395e-03 --7.389596982152e-15 2.493663035294e-03 4.974306043329e-03 7.441413877863e-03 -9.894476794447e-03 1.233299053393e-02 1.475645640461e-02 1.716438136306e-02 -1.955627809357e-02 2.193166508616e-02 2.429006671325e-02 2.663101330492e-02 -2.895404122269e-02 3.125869293193e-02 3.354451707279e-02 3.581106852968e-02 -3.805790849927e-02 4.028460455704e-02 4.249073072231e-02 4.467586752178e-02 -4.683960205159e-02 4.898152803781e-02 5.110124589545e-02 5.319836278591e-02 -5.527249267288e-02 5.732325637672e-02 5.935028162727e-02 6.135320311502e-02 -6.333166254088e-02 6.528530866416e-02 6.721379734912e-02 6.911679160987e-02 -7.099396165367e-02 7.284498492262e-02 7.466954613379e-02 7.646733731766e-02 -7.823805785504e-02 7.998141451225e-02 8.169712147484e-02 8.338490037948e-02 -8.504448034442e-02 8.667559799815e-02 8.827799750657e-02 8.985143059840e-02 -9.139565658906e-02 9.291044240281e-02 9.439556259334e-02 9.585079936266e-02 -9.727594257839e-02 9.867078978937e-02 1.000351462397e-01 1.013688248810e-01 -1.026716463832e-01 1.039434391438e-01 1.051840392948e-01 1.063932907093e-01 -1.075710450048e-01 1.087171615467e-01 1.098315074484e-01 1.109139575712e-01 -1.119643945218e-01 1.129827086485e-01 1.139687980356e-01 1.149225684962e-01 -1.158439335639e-01 1.167328144823e-01 1.175891401928e-01 1.184128473218e-01 -1.192038801653e-01 1.199621906724e-01 1.206877384270e-01 1.213804906286e-01 -1.220404220705e-01 1.226675151177e-01 1.232617596819e-01 1.238231531963e-01 -1.243517005880e-01 1.248474142494e-01 1.253103140077e-01 1.257404270933e-01 -1.261377881068e-01 1.265024389837e-01 1.268344289589e-01 1.271338145288e-01 -1.274006594126e-01 1.276350345115e-01 1.278370178673e-01 1.280066946191e-01 -1.281441569587e-01 1.282495040846e-01 1.283228421551e-01 1.283642842391e-01 -1.283739502669e-01 1.283519669785e-01 1.282984678711e-01 1.282135931456e-01 -1.280974896510e-01 1.279503108287e-01 1.277722166546e-01 1.275633735804e-01 -1.273239544735e-01 1.270541385561e-01 1.267541113426e-01 1.264240645763e-01 -1.260641961644e-01 1.256747101130e-01 1.252558164592e-01 1.248077312040e-01 -1.243306762428e-01 1.238248792955e-01 1.232905738353e-01 1.227279990164e-01 -1.221373996013e-01 1.215190258860e-01 1.208731336255e-01 1.201999839574e-01 -1.194998433250e-01 1.187729833992e-01 1.180196810003e-01 1.172402180176e-01 -1.164348813293e-01 1.156039627211e-01 1.147477588040e-01 1.138665709311e-01 -1.129607051143e-01 1.120304719395e-01 1.110761864814e-01 1.100981682176e-01 -1.090967409418e-01 1.080722326769e-01 1.070249755862e-01 1.059553058858e-01 -1.048635637545e-01 1.037500932445e-01 1.026152421907e-01 1.014593621201e-01 -1.002828081598e-01 9.908593894552e-02 9.786911652869e-02 9.663270628381e-02 -9.537707681491e-02 9.410259986172e-02 9.280965020549e-02 9.149860557431e-02 -9.016984654819e-02 8.882375646372e-02 8.746072131842e-02 8.608112967483e-02 -8.468537256426e-02 8.327384339038e-02 8.184693783247e-02 8.040505374852e-02 -7.894859107812e-02 7.747795174524e-02 7.599353956071e-02 7.449576012479e-02 -7.298502072940e-02 7.146173026050e-02 6.992629910019e-02 6.837913902896e-02 -6.682066312777e-02 6.525128568021e-02 6.367142207471e-02 6.208148870668e-02 -6.048190288085e-02 5.887308271361e-02 5.725544703546e-02 5.562941529365e-02 -5.399540745492e-02 5.235384390837e-02 5.070514536864e-02 4.904973277921e-02 -4.738802721591e-02 4.572044979079e-02 4.404742155614e-02 4.236936340890e-02 -4.068669599533e-02 3.899983961602e-02 3.730921413129e-02 3.561523886688e-02 -3.391833252013e-02 3.221891306649e-02 3.051739766655e-02 2.881420257340e-02 -2.710974304059e-02 2.540443323047e-02 2.369868612311e-02 2.199291342571e-02 -2.028752548258e-02 1.858293118562e-02 1.687953788549e-02 1.517775130329e-02 -1.347797544288e-02 1.178061250383e-02 1.008606279508e-02 8.394724649155e-03 -6.706994337188e-03 5.023265984567e-03 3.343931487334e-03 1.669380429316e-03 -7.389596982152e-15 -1.663825086774e-03 -3.321712673450e-03 -4.973283238437e-03 --6.618159975091e-03 - Type L N - 0 0 3 -1.000000000000e+00 9.999268934227e-01 9.997075929310e-01 9.993421562398e-01 -9.988306795205e-01 9.981732973708e-01 9.973701827725e-01 9.964215470375e-01 -9.953276397415e-01 9.940887486459e-01 9.927051996072e-01 9.911773564758e-01 -9.895056209813e-01 9.876904326070e-01 9.857322684524e-01 9.836316430835e-01 -9.813891083719e-01 9.790052533223e-01 9.764807038877e-01 9.738161227738e-01 -9.710122092318e-01 9.680696988392e-01 9.649893632704e-01 9.617720100548e-01 -9.584184823246e-01 9.549296585514e-01 9.513064522713e-01 9.475498117999e-01 -9.436607199360e-01 9.396401936544e-01 9.354892837886e-01 9.312090747032e-01 -9.268006839549e-01 9.222652619442e-01 9.176039915569e-01 9.128180877951e-01 -9.079087973983e-01 9.028773984559e-01 8.977252000079e-01 8.924535416387e-01 -8.870637930592e-01 8.815573536812e-01 8.759356521824e-01 8.702001460618e-01 -8.643523211873e-01 8.583936913341e-01 8.523257977150e-01 8.461502085016e-01 -8.398685183386e-01 8.334823478491e-01 8.269933431327e-01 8.204031752555e-01 -8.137135397329e-01 8.069261560055e-01 8.000427669069e-01 7.930651381253e-01 -7.859950576585e-01 7.788343352617e-01 7.715848018895e-01 7.642483091312e-01 -7.568267286407e-01 7.493219515597e-01 7.417358879367e-01 7.340704661390e-01 -7.263276322605e-01 7.185093495243e-01 7.106175976801e-01 7.026543723976e-01 -6.946216846549e-01 6.865215601232e-01 6.783560385471e-01 6.701271731211e-01 -6.618370298633e-01 6.534876869844e-01 6.450812342547e-01 6.366197723676e-01 -6.281054123006e-01 6.195402746735e-01 6.109264891046e-01 6.022661935646e-01 -5.935615337287e-01 5.848146623272e-01 5.760277384943e-01 5.672029271161e-01 -5.583423981772e-01 5.494483261068e-01 5.405228891241e-01 5.315682685834e-01 -5.225866483191e-01 5.135802139904e-01 5.045511524271e-01 4.955016509752e-01 -4.864338968434e-01 4.773500764507e-01 4.682523747753e-01 4.591429747041e-01 -4.500240563851e-01 4.408977965803e-01 4.317663680216e-01 4.226319387680e-01 -4.134966715663e-01 4.043627232139e-01 3.952322439240e-01 3.861073766949e-01 -3.769902566816e-01 3.678830105718e-01 3.587877559645e-01 3.497066007538e-01 -3.406416425154e-01 3.315949678984e-01 3.225686520215e-01 3.135647578731e-01 -3.045853357170e-01 2.956324225032e-01 2.867080412837e-01 2.778142006333e-01 -2.689528940770e-01 2.601260995227e-01 2.513357786996e-01 2.425838766033e-01 -2.338723209472e-01 2.252030216196e-01 2.165778701492e-01 2.079987391756e-01 -1.994674819278e-01 1.909859317103e-01 1.825559013952e-01 1.741791829233e-01 -1.658575468121e-01 1.575927416715e-01 1.493864937280e-01 1.412405063565e-01 -1.331564596210e-01 1.251360098231e-01 1.171807890593e-01 1.092924047870e-01 -1.014724393995e-01 9.372244980942e-02 8.604396704184e-02 7.843849583621e-02 -7.090751425765e-02 6.345247331781e-02 5.607479660515e-02 4.877587992491e-02 -4.155709094885e-02 3.441976887485e-02 2.736522409644e-02 2.039473788244e-02 -1.350956206663e-02 6.710918747795e-03 -8.583855418087e-15 -6.622032406781e-03 --1.315404727542e-02 -1.959494424001e-02 -2.594365401353e-02 -3.219913862487e-02 --3.836039164510e-02 -4.442643840296e-02 -5.039633618945e-02 -5.626917445166e-02 --6.204407497546e-02 -6.772019205736e-02 -7.329671266529e-02 -7.877285658830e-02 --8.414787657521e-02 -8.942105846214e-02 -9.459172128887e-02 -9.965921740407e-02 --1.046229325594e-01 -1.094822859923e-01 -1.142367304979e-01 -1.188857524890e-01 --1.234288720462e-01 -1.278656429553e-01 -1.321956527344e-01 -1.364185226502e-01 --1.405339077219e-01 -1.445414967153e-01 -1.484410121248e-01 -1.522322101451e-01 --1.559148806314e-01 -1.594888470486e-01 -1.629539664097e-01 -1.663101292031e-01 --1.695572593094e-01 -1.726953139072e-01 -1.757242833674e-01 -1.786441911383e-01 --1.814550936186e-01 -1.841570800207e-01 -1.867502722230e-01 -1.892348246122e-01 --1.916109239149e-01 -1.938787890189e-01 -1.960386707847e-01 -1.980908518463e-01 --2.000356464025e-01 -2.018733999978e-01 -2.036044892942e-01 -2.052293218322e-01 --2.067483357832e-01 -2.081619996917e-01 -2.094708122085e-01 -2.106753018143e-01 --2.117760265342e-01 -2.127735736434e-01 -2.136685593635e-01 -2.144616285503e-01 --2.151534543730e-01 -2.157447379844e-01 -2.162362081830e-01 -2.166286210670e-01 --2.169227596796e-01 -2.171194336468e-01 -2.172194788069e-01 -2.172237568329e-01 --2.171331548467e-01 -2.169485850260e-01 -2.166709842043e-01 -2.163013134635e-01 --2.158405577195e-01 -2.152897253014e-01 -2.146498475232e-01 -2.139219782505e-01 --2.131071934591e-01 -2.122065907892e-01 -2.112212890922e-01 -2.101524279729e-01 --2.090011673253e-01 -2.077686868629e-01 -2.064561856448e-01 -2.050648815952e-01 --2.035960110195e-01 -2.020508281143e-01 -2.004306044739e-01 -1.987366285918e-01 --1.969702053588e-01 -1.951326555559e-01 -1.932253153449e-01 -1.912495357537e-01 --1.892066821602e-01 -1.870981337707e-01 -1.849252830975e-01 -1.826895354318e-01 --1.803923083151e-01 -1.780350310077e-01 -1.756191439552e-01 -1.731460982522e-01 --1.706173551053e-01 -1.680343852933e-01 -1.653986686265e-01 -1.627116934048e-01 --1.599749558740e-01 -1.571899596821e-01 -1.543582153342e-01 -1.514812396472e-01 --1.485605552041e-01 -1.455976898080e-01 -1.425941759367e-01 -1.395515501966e-01 --1.364713527783e-01 -1.333551269115e-01 -1.302044183218e-01 -1.270207746877e-01 --1.238057450998e-01 -1.205608795201e-01 -1.172877282441e-01 -1.139878413639e-01 --1.106627682334e-01 -1.073140569360e-01 -1.039432537543e-01 -1.005519026420e-01 --9.714154469929e-02 -9.371371765054e-02 -9.026995532500e-02 -8.681178714103e-02 --8.334073759344e-02 -7.985832574462e-02 -7.636606471923e-02 -7.286546120294e-02 --6.935801494512e-02 -6.584521826584e-02 -6.232855556729e-02 -5.880950284974e-02 --5.528952723221e-02 -5.177008647807e-02 -4.825262852563e-02 -4.473859102400e-02 --4.122940087421e-02 -3.772647377589e-02 -3.423121377955e-02 -3.074501284471e-02 --2.726925040387e-02 -2.380529293263e-02 -2.035449352596e-02 -1.691819148085e-02 --1.349771188540e-02 -1.009436521454e-02 -6.709446932414e-03 -3.344237101739e-03 -8.583855418087e-15 3.322016257227e-03 6.620580085644e-03 9.894476794462e-03 -1.314250894107e-02 1.636349667822e-02 1.955627809359e-02 2.271970954158e-02 -2.585266596732e-02 2.895404122270e-02 3.202274837443e-02 3.505772000398e-02 -3.805790849929e-02 4.102228633832e-02 4.394984636413e-02 4.683960205160e-02 -4.969058776567e-02 5.250185901098e-02 5.527249267289e-02 5.800158724986e-02 -6.068826307699e-02 6.333166254089e-02 6.593095028556e-02 6.848531340948e-02 -7.099396165368e-02 7.345612758088e-02 7.587106674557e-02 7.823805785505e-02 -8.055640292137e-02 8.282542740419e-02 8.504448034443e-02 8.721293448883e-02 -8.933018640529e-02 9.139565658907e-02 9.340878955969e-02 9.536905394874e-02 -9.727594257840e-02 9.912897253077e-02 1.009276852080e-01 1.026716463832e-01 -1.043604462423e-01 1.059936994162e-01 1.075710450049e-01 1.090921465908e-01 -1.105566922449e-01 1.119643945218e-01 1.133149904477e-01 1.146082414973e-01 -1.158439335639e-01 1.170218769186e-01 1.181419061618e-01 1.192038801653e-01 -1.202076820060e-01 1.211532188904e-01 1.220404220705e-01 1.228692467518e-01 -1.236396719912e-01 1.243517005880e-01 1.250053589653e-01 1.256006970439e-01 -1.261377881068e-01 1.266167286569e-01 1.270376382654e-01 1.274006594126e-01 -1.277059573205e-01 1.279537197783e-01 1.281441569587e-01 1.282775012279e-01 -1.283540069471e-01 1.283739502669e-01 1.283376289143e-01 1.282453619720e-01 -1.280974896510e-01 1.278943730559e-01 1.276363939434e-01 1.273239544735e-01 -1.269574769544e-01 1.265374035805e-01 1.260641961644e-01 1.255383358617e-01 -1.249603228902e-01 1.243306762428e-01 1.236499333941e-01 1.229186500017e-01 -1.221373996013e-01 1.213067732963e-01 1.204273794422e-01 1.194998433250e-01 -1.185248068352e-01 1.175029281366e-01 1.164348813293e-01 1.153213561093e-01 -1.141630574224e-01 1.129607051143e-01 1.117150335758e-01 1.104267913845e-01 -1.090967409418e-01 1.077256581065e-01 1.063143318244e-01 1.048635637545e-01 -1.033741678916e-01 1.018469701860e-01 1.002828081598e-01 9.868253052003e-02 -9.704699676952e-02 9.537707681490e-02 9.367365057201e-02 9.193760756917e-02 -9.016984654818e-02 8.837127506339e-02 8.654280907894e-02 8.468537256425e-02 -8.279989708810e-02 8.088732141129e-02 7.894859107811e-02 7.698465800680e-02 -7.499648007916e-02 7.298502072939e-02 7.095124853242e-02 6.889613679188e-02 -6.682066312775e-02 6.472580906407e-02 6.261255961660e-02 6.048190288084e-02 -5.833482962040e-02 5.617233285596e-02 5.399540745490e-02 5.180504972191e-02 -4.960225699053e-02 4.738802721590e-02 4.516335856891e-02 4.292924903178e-02 -4.068669599531e-02 3.843669585791e-02 3.618024362661e-02 3.391833252011e-02 -3.165195357415e-02 2.938209524917e-02 2.710974304058e-02 2.483587909164e-02 -2.256148180925e-02 2.028752548256e-02 1.801497990482e-02 1.574480999833e-02 -1.347797544286e-02 1.121543030753e-02 8.958122686274e-03 6.706994337172e-03 -4.462980325576e-03 2.227008671311e-03 -8.630974746701e-15 -2.217132801389e-03 --4.423484924482e-03 -6.618159975107e-03 -8.800270304154e-03 -1.096893733375e-02 --1.312329187859e-02 -1.526247446229e-02 -1.738563562868e-02 -1.949193624797e-02 --2.158054781756e-02 -2.365065275757e-02 -2.570144470082e-02 -2.773212877731e-02 --2.974192189297e-02 -3.173005300270e-02 -3.369576337758e-02 -3.563830686613e-02 --3.755695014953e-02 -3.945097299084e-02 -4.131966847795e-02 -4.316234326036e-02 --4.497831777956e-02 -4.676692649316e-02 -4.852751809239e-02 -5.025945571324e-02 --5.196211714088e-02 -5.363489500755e-02 -5.527719698371e-02 -5.688844596238e-02 --5.846808023680e-02 -6.001555367111e-02 -6.153033586423e-02 -6.301191230675e-02 --6.445978453086e-02 -6.587347025326e-02 -6.725250351099e-02 -6.859643479029e-02 --6.990483114816e-02 -7.117727632702e-02 -7.241337086198e-02 -7.361273218113e-02 --7.477499469850e-02 -7.589980989991e-02 -7.698684642154e-02 -7.803579012129e-02 --7.904634414293e-02 -8.001822897299e-02 -8.095118249047e-02 -8.184496000923e-02 --8.269933431327e-02 -8.351409568469e-02 -8.428905192453e-02 -8.502402836639e-02 --8.571886788288e-02 -8.637343088493e-02 -8.698759531398e-02 -8.756125662706e-02 --8.809432777479e-02 -8.858673917239e-02 -8.903843866361e-02 -8.944939147778e-02 --8.981958017984e-02 -9.014900461357e-02 -9.043768183789e-02 -9.068564605646e-02 --9.089294854048e-02 -9.105965754475e-02 -9.118585821725e-02 -9.127165250193e-02 --9.131715903518e-02 -9.132251303570e-02 -9.128786618804e-02 -9.121338651981e-02 --9.109925827260e-02 -9.094568176680e-02 -9.075287326016e-02 -9.052106480049e-02 --9.025050407227e-02 -8.994145423743e-02 -8.959419377037e-02 -8.920901628719e-02 --8.878623036942e-02 -8.832615938206e-02 -8.782914128630e-02 -8.729552844687e-02 --8.672568743409e-02 -8.611999882078e-02 -8.547885697412e-02 -8.480266984256e-02 --8.409185873785e-02 -8.334685811228e-02 -8.256811533135e-02 -8.175609044183e-02 --8.091125593543e-02 -8.003409650805e-02 -7.912510881496e-02 -7.818480122174e-02 --7.721369355130e-02 -7.621231682701e-02 -7.518121301206e-02 -7.412093474520e-02 --7.303204507291e-02 -7.191511717825e-02 -7.077073410629e-02 -6.959948848655e-02 --6.840198225222e-02 -6.717882635665e-02 -6.593064048684e-02 -6.465805277447e-02 --6.336169950422e-02 -6.204222481980e-02 -6.070028042758e-02 -5.933652529816e-02 --5.795162536585e-02 -5.654625322624e-02 -5.512108783203e-02 -5.367681418722e-02 --5.221412303970e-02 -5.073371057258e-02 -4.923627809413e-02 -4.772253172675e-02 --4.619318209476e-02 -4.464894401151e-02 -4.309053616559e-02 -4.151868080657e-02 --3.993410343018e-02 -3.833753246318e-02 -3.672969894800e-02 -3.511133622732e-02 --3.348317962867e-02 -3.184596614922e-02 -3.020043414085e-02 -2.854732299567e-02 --2.688737283210e-02 -2.522132418162e-02 -2.354991767633e-02 -2.187389373746e-02 --2.019399226492e-02 -1.851095232806e-02 -1.682551185774e-02 -1.513840733978e-02 --1.345037351001e-02 -1.176214305102e-02 -1.007444629062e-02 -8.388010902267e-03 --6.703561607512e-03 -5.021819880594e-03 -3.343503655279e-03 -1.669327034086e-03 -8.583855418087e-15 1.663771869264e-03 3.321287684165e-03 4.971851523590e-03 -6.614772712065e-03 - Type L N - 0 0 4 -1.000000000000e+00 9.998857723822e-01 9.995431365007e-01 9.989722332485e-01 -9.981732973708e-01 9.971466573496e-01 9.958927352436e-01 9.944120464808e-01 -9.927051996072e-01 9.907728959881e-01 9.886159294654e-01 9.862351859690e-01 -9.836316430835e-01 9.808063695699e-01 9.777605248430e-01 9.744953584044e-01 -9.710122092318e-01 9.673125051241e-01 9.633977620041e-01 9.592695831779e-01 -9.549296585514e-01 9.503797638053e-01 9.456217595285e-01 9.406575903096e-01 -9.354892837886e-01 9.301189496681e-01 9.245487786841e-01 9.187810415390e-01 -9.128180877951e-01 9.066623447304e-01 9.003163161571e-01 8.937825812035e-01 -8.870637930592e-01 8.801626776859e-01 8.730820324926e-01 8.658247249770e-01 -8.583936913341e-01 8.507919350314e-01 8.430225253529e-01 8.350885959116e-01 -8.269933431327e-01 8.187400247058e-01 8.103319580098e-01 8.017725185095e-01 -7.930651381253e-01 7.842133035765e-01 7.752205547002e-01 7.660904827447e-01 -7.568267286407e-01 7.474329812490e-01 7.379129755873e-01 7.282704910361e-01 -7.185093495243e-01 7.086334136974e-01 6.986465850664e-01 6.885528021412e-01 -6.783560385471e-01 6.680603011268e-01 6.576696280293e-01 6.471880867846e-01 -6.366197723676e-01 6.259688052507e-01 6.152393294468e-01 6.044355105433e-01 -5.935615337287e-01 5.826216018118e-01 5.716199332362e-01 5.605607600890e-01 -5.494483261068e-01 5.382868846788e-01 5.270806968481e-01 5.158340293127e-01 -5.045511524271e-01 4.932363382055e-01 4.818938583272e-01 4.705279821459e-01 -4.591429747041e-01 4.477430947521e-01 4.363325927745e-01 4.249157090245e-01 -4.134966715664e-01 4.020796943278e-01 3.906689751635e-01 3.792686939297e-01 -3.678830105718e-01 3.565160632258e-01 3.451719663343e-01 3.338548087774e-01 -3.225686520215e-01 3.113175282844e-01 3.001054387190e-01 2.889363516174e-01 -2.778142006333e-01 2.667428830274e-01 2.557262579339e-01 2.447681446495e-01 -2.338723209472e-01 2.230425214136e-01 2.122824358125e-01 2.015957074739e-01 -1.909859317103e-01 1.804566542612e-01 1.700113697654e-01 1.596535202632e-01 -1.493864937280e-01 1.392136226292e-01 1.291381825264e-01 1.191633906954e-01 -1.092924047871e-01 9.952832151981e-02 8.987417540595e-02 8.033293751256e-02 -7.090751425767e-02 6.160074624218e-02 5.241540711809e-02 4.335420249347e-02 -3.441976887486e-02 2.561467264741e-02 1.694140909324e-02 8.402401448597e-03 -7.672312953838e-15 -8.263518780010e-03 -1.638595305738e-02 -2.436517642069e-02 --3.219913862486e-02 -3.988586629398e-02 -4.742346358302e-02 -5.481011279815e-02 --6.204407497544e-02 -6.912369041777e-02 -7.604737918964e-02 -8.281364156991e-02 --8.942105846213e-02 -9.586829176246e-02 -1.021540846851e-01 -1.082772620449e-01 --1.142367304978e-01 -1.200314787380e-01 -1.256605776527e-01 -1.311231804344e-01 --1.364185226502e-01 -1.415459222689e-01 -1.465047796452e-01 -1.512945774624e-01 --1.559148806314e-01 -1.603653361497e-01 -1.646456729163e-01 -1.687557015072e-01 --1.726953139072e-01 -1.764644832025e-01 -1.800632632314e-01 -1.834917881941e-01 --1.867502722230e-01 -1.898390089126e-01 -1.927583708100e-01 -1.955088088658e-01 --1.980908518463e-01 -2.005051057080e-01 -2.027522529330e-01 -2.048330518274e-01 --2.067483357832e-01 -2.084990125027e-01 -2.100860631877e-01 -2.115105416927e-01 --2.127735736434e-01 -2.138763555209e-01 -2.148201537121e-01 -2.156063035269e-01 --2.162362081830e-01 -2.167113377586e-01 -2.170332281139e-01 -2.172034797827e-01 --2.172237568329e-01 -2.170957856992e-01 -2.168213539861e-01 -2.164023092444e-01 --2.158405577195e-01 -2.151380630747e-01 -2.142968450882e-01 -2.133189783257e-01 --2.122065907892e-01 -2.109618625430e-01 -2.095870243170e-01 -2.080843560887e-01 --2.064561856448e-01 -2.047048871231e-01 -2.028328795354e-01 -2.008426252725e-01 --1.987366285918e-01 -1.965174340891e-01 -1.941876251546e-01 -1.917498224147e-01 --1.892066821602e-01 -1.865608947617e-01 -1.838151830732e-01 -1.809723008254e-01 --1.780350310077e-01 -1.750061842432e-01 -1.718885971536e-01 -1.686851307183e-01 --1.653986686265e-01 -1.620321156246e-01 -1.585883958585e-01 -1.550704512126e-01 --1.514812396472e-01 -1.478237335327e-01 -1.441009179842e-01 -1.403157891963e-01 --1.364713527783e-01 -1.325706220924e-01 -1.286166165939e-01 -1.246123601762e-01 --1.205608795201e-01 -1.164652024486e-01 -1.123283562887e-01 -1.081533662405e-01 --1.039432537543e-01 -9.970103491761e-02 -9.542971885150e-02 -9.113230611832e-02 --8.681178714104e-02 -8.247114063521e-02 -7.811333205440e-02 -7.374131204982e-02 --6.935801494513e-02 -6.496635722697e-02 -6.056923605223e-02 -5.616952777273e-02 --5.177008647808e-02 -4.737374255747e-02 -4.298330128111e-02 -3.860154140214e-02 --3.423121377957e-02 -2.987504002304e-02 -2.553571116010e-02 -2.121588632660e-02 --1.691819148087e-02 -1.264521814239e-02 -8.399522155476e-03 -4.183622478594e-03 --7.672312953838e-15 4.148903619835e-03 8.260687078510e-03 1.233299053393e-02 -1.636349667820e-02 2.034993178264e-02 2.429006671325e-02 2.818171791645e-02 -3.202274837442e-02 3.581106852968e-02 3.954463717861e-02 4.322146233329e-02 -4.683960205159e-02 5.039716523481e-02 5.389231239291e-02 5.732325637672e-02 -6.068826307698e-02 6.398565208991e-02 6.721379734912e-02 7.037112772347e-02 -7.345612758087e-02 7.646733731766e-02 7.940335385353e-02 8.226283109171e-02 -8.504448034442e-02 8.774707072340e-02 9.036942949543e-02 9.291044240281e-02 -9.536905394873e-02 9.774426764751e-02 1.000351462397e-01 1.022408118720e-01 -1.043604462423e-01 1.063932907093e-01 1.083386463677e-01 1.101958740880e-01 -1.119643945218e-01 1.136436880728e-01 1.152332948324e-01 1.167328144823e-01 -1.181419061618e-01 1.194602883023e-01 1.206877384270e-01 1.218240929184e-01 -1.228692467518e-01 1.238231531963e-01 1.246858234832e-01 1.254573264425e-01 -1.261377881068e-01 1.267273912844e-01 1.272263751013e-01 1.276350345115e-01 -1.279537197783e-01 1.281828359248e-01 1.283228421551e-01 1.283742512467e-01 -1.283376289143e-01 1.282135931456e-01 1.280028135091e-01 1.277060104358e-01 -1.273239544735e-01 1.268574655159e-01 1.263074120056e-01 1.256747101130e-01 -1.249603228903e-01 1.241652594025e-01 1.232905738353e-01 1.223373645797e-01 -1.213067732963e-01 1.201999839574e-01 1.190182218689e-01 1.177627526727e-01 -1.164348813293e-01 1.150359510831e-01 1.135673424083e-01 1.120304719395e-01 -1.104267913845e-01 1.087577864224e-01 1.070249755862e-01 1.052299091315e-01 -1.033741678916e-01 1.014593621201e-01 9.948713032115e-02 9.745913806862e-02 -9.537707681491e-02 9.324266268984e-02 9.105763529064e-02 8.882375646372e-02 -8.654280907895e-02 8.421659579729e-02 8.184693783247e-02 7.943567370750e-02 -7.698465800682e-02 7.449576012479e-02 7.197086301134e-02 6.941186191553e-02 -6.682066312777e-02 6.419918272143e-02 6.154934529476e-02 5.887308271361e-02 -5.617233285597e-02 5.344903835889e-02 5.070514536864e-02 4.794260229479e-02 -4.516335856893e-02 4.236936340890e-02 3.956256458903e-02 3.674490721732e-02 -3.391833252013e-02 3.108477663513e-02 2.824616941330e-02 2.540443323047e-02 -2.256148180926e-02 1.971921905204e-02 1.687953788549e-02 1.404431911761e-02 -1.121543030754e-02 8.394724649155e-03 5.584039868727e-03 2.785197137562e-03 -7.578074296609e-15 -2.769766682491e-03 -5.522337770715e-03 -8.255968869815e-03 --1.096893733374e-02 -1.365954325136e-02 -1.632611041382e-02 -1.896698726257e-02 --2.158054781754e-02 -2.416519258507e-02 -2.671934944500e-02 -2.924147451659e-02 --3.173005300269e-02 -3.418360001181e-02 -3.660066135775e-02 -3.897981433617e-02 --4.131966847794e-02 -4.361886627880e-02 -4.587608390495e-02 -4.809003187435e-02 --5.025945571322e-02 -5.238313658769e-02 -5.445989191001e-02 -5.648857591937e-02 --5.846808023678e-02 -6.039733439402e-02 -6.227530633623e-02 -6.410100289806e-02 --6.587347025325e-02 -6.759179433722e-02 -6.925510124285e-02 -7.086255758902e-02 --7.241337086197e-02 -7.390678972935e-02 -7.534210432677e-02 -7.671864651695e-02 --7.803579012128e-02 -7.929295112383e-02 -8.048958784776e-02 -8.162520110414e-02 --8.269933431327e-02 -8.371157359834e-02 -8.466154785176e-02 -8.554892877396e-02 --8.637343088493e-02 -8.713481150850e-02 -8.783287072958e-02 -8.846745132432e-02 --8.903843866361e-02 -8.954576058973e-02 -8.998938726675e-02 -9.036933100447e-02 --9.068564605646e-02 -9.093842839216e-02 -9.112781544345e-02 -9.125398582595e-02 --9.131715903518e-02 -9.131759511805e-02 -9.125559431986e-02 -9.113149670714e-02 --9.094568176680e-02 -9.069856798169e-02 -9.039061238318e-02 -9.002231008092e-02 --8.959419377037e-02 -8.910683321828e-02 -8.856083472673e-02 -8.795684057602e-02 --8.729552844688e-02 -8.657761082247e-02 -8.580383437062e-02 -8.497497930673e-02 --8.409185873785e-02 -8.315531798846e-02 -8.216623390832e-02 -8.112551416309e-02 --8.003409650806e-02 -7.889294804556e-02 -7.770306446669e-02 -7.646546927776e-02 --7.518121301207e-02 -7.385137242756e-02 -7.247704969097e-02 -7.105937154890e-02 --6.959948848656e-02 -6.809857387460e-02 -6.655782310482e-02 -6.497845271507e-02 --6.336169950423e-02 -6.170881963766e-02 -6.002108774381e-02 -5.829979600262e-02 --5.654625322625e-02 -5.476178393279e-02 -5.294772741363e-02 -5.110543679496e-02 --4.923627809415e-02 -4.734162927160e-02 -4.542287927867e-02 -4.348142710221e-02 --4.151868080659e-02 -3.953605657350e-02 -3.753497774043e-02 -3.551687383826e-02 --3.348317962869e-02 -3.143533414209e-02 -2.937477971632e-02 -2.730296103728e-02 --2.522132418163e-02 -2.313131566239e-02 -2.103438147799e-02 -1.893196616539e-02 --1.682551185776e-02 -1.471645734750e-02 -1.260623715499e-02 -1.049628060369e-02 --8.388010902283e-03 -6.282844234275e-03 -4.182188855659e-03 -2.087444201223e-03 --7.672312953838e-15 2.078764599540e-03 4.147481894186e-03 6.204796479797e-03 -8.249366093966e-03 1.027986244690e-02 1.229497204004e-02 1.429339697200e-02 -1.627385573126e-02 1.823508397523e-02 2.017583529520e-02 2.209488196671e-02 -2.399101568496e-02 2.586304828480e-02 2.770981244494e-02 2.953016237589e-02 -3.132297449134e-02 3.308714806259e-02 3.482160585556e-02 3.652529475025e-02 -3.819718634205e-02 3.983627752477e-02 4.144159105503e-02 4.301217609765e-02 -4.454710875183e-02 4.604549255782e-02 4.750645898376e-02 4.892916789260e-02 -5.031280798870e-02 5.165659724396e-02 5.295978330335e-02 5.422164386948e-02 -5.544148706619e-02 5.661865178096e-02 5.775250798589e-02 5.884245703727e-02 -5.988793195354e-02 6.088839767149e-02 6.184335128071e-02 6.275232223613e-02 -6.361487254867e-02 6.443059695381e-02 6.519912305825e-02 6.592011146445e-02 -6.659325587311e-02 6.721828316370e-02 6.779495345287e-02 6.832306013093e-02 -6.880242987642e-02 6.923292264877e-02 6.961443165918e-02 6.994688331985e-02 -7.023023717155e-02 7.046448578979e-02 7.064965466964e-02 7.078580208929e-02 -7.087301895268e-02 7.091142861123e-02 7.090118666487e-02 7.084248074266e-02 -7.073553026307e-02 7.058058617429e-02 7.037793067472e-02 7.012787691387e-02 -6.983076867396e-02 6.948698003260e-02 6.909691500657e-02 6.866100717726e-02 -6.817971929793e-02 6.765354288313e-02 6.708299778067e-02 6.646863172632e-02 -6.581101988180e-02 6.511076435624e-02 6.436849371157e-02 6.358486245216e-02 -6.276055049913e-02 6.189626264975e-02 6.099272802224e-02 6.005069948647e-02 -5.907095308091e-02 5.805428741632e-02 5.700152306657e-02 5.591350194701e-02 -5.479108668091e-02 5.363515995433e-02 5.244662385998e-02 5.122639923040e-02 -4.997542496109e-02 4.869465732392e-02 4.738506927143e-02 4.604764973237e-02 -4.468340289906e-02 4.329334750708e-02 4.187851610765e-02 4.043995433340e-02 -3.897872015787e-02 3.749588314926e-02 3.599252371908e-02 3.446973236600e-02 -3.292860891557e-02 3.137026175626e-02 2.979580707230e-02 2.820636807395e-02 -2.660307422553e-02 2.498706047192e-02 2.335946646383e-02 2.172143578265e-02 -2.007411516498e-02 1.841865372778e-02 1.675620219434e-02 1.508791212165e-02 -1.341493512983e-02 1.173842213385e-02 1.005952257823e-02 8.379383675215e-03 -6.699149646791e-03 5.019960971106e-03 3.342953633789e-03 1.669258384619e-03 -7.615769759501e-15 -1.663703448216e-03 -3.320741317270e-03 -4.970011110682e-03 --6.610419187879e-03 - Type L N - 0 0 5 -1.000000000000e+00 9.998355147105e-01 9.993421562398e-01 9.985202167122e-01 -9.973701827725e-01 9.958927352436e-01 9.940887486459e-01 9.919592905814e-01 -9.895056209813e-01 9.867291912182e-01 9.836316430835e-01 9.802148076310e-01 -9.764807038877e-01 9.724315374315e-01 9.680696988392e-01 9.633977620041e-01 -9.584184823246e-01 9.531347947667e-01 9.475498117999e-01 9.416668212101e-01 -9.354892837886e-01 9.290208309025e-01 9.222652619442e-01 9.152265416659e-01 -9.079087973984e-01 9.003163161571e-01 8.924535416387e-01 8.843250711084e-01 -8.759356521824e-01 8.672901795064e-01 8.583936913341e-01 8.492513660070e-01 -8.398685183386e-01 8.302505959068e-01 8.204031752555e-01 8.103319580098e-01 -8.000427669069e-01 7.895415417463e-01 7.788343352617e-01 7.679273089188e-01 -7.568267286407e-01 7.455389604655e-01 7.340704661390e-01 7.224277986455e-01 -7.106175976801e-01 6.986465850664e-01 6.865215601232e-01 6.742493949824e-01 -6.618370298633e-01 6.492914683061e-01 6.366197723676e-01 6.238290577842e-01 -6.109264891046e-01 5.979192747957e-01 5.848146623272e-01 5.716199332362e-01 -5.583423981772e-01 5.449893919607e-01 5.315682685834e-01 5.180863962557e-01 -5.045511524271e-01 4.909699188169e-01 4.773500764507e-01 4.636990007081e-01 -4.500240563851e-01 4.363325927745e-01 4.226319387680e-01 4.089293979839e-01 -3.952322439240e-01 3.815477151625e-01 3.678830105718e-01 3.542452845871e-01 -3.406416425154e-01 3.270791358894e-01 3.135647578731e-01 3.001054387190e-01 -2.867080412837e-01 2.733793566015e-01 2.601260995227e-01 2.469549044171e-01 -2.338723209472e-01 2.208848099135e-01 2.079987391756e-01 1.952203796510e-01 -1.825559013952e-01 1.700113697654e-01 1.575927416715e-01 1.453058619150e-01 -1.331564596210e-01 1.211501447634e-01 1.092924047870e-01 9.758860132927e-02 -8.604396704185e-02 7.466360251687e-02 6.345247331782e-02 5.241540711808e-02 -4.155709094885e-02 3.088206855810e-02 2.039473788244e-02 1.009934863344e-02 --3.353609941903e-15 -9.899361531791e-03 -1.959494424000e-02 -2.908311310812e-02 --3.836039164510e-02 -4.742346358303e-02 -5.626917445166e-02 -6.489453302869e-02 --7.329671266529e-02 -8.147305248591e-02 -8.942105846214e-02 -9.713840435983e-02 --1.046229325594e-01 -1.118726547488e-01 -1.188857524890e-01 -1.256605776527e-01 --1.321956527344e-01 -1.384896710345e-01 -1.445414967152e-01 -1.503501647310e-01 --1.559148806314e-01 -1.612350202393e-01 -1.663101292031e-01 -1.711399224253e-01 --1.757242833674e-01 -1.800632632314e-01 -1.841570800207e-01 -1.880061174797e-01 --1.916109239149e-01 -1.949722108968e-01 -1.980908518463e-01 -2.009678805055e-01 --2.036044892942e-01 -2.060020275558e-01 -2.081619996917e-01 -2.100860631877e-01 --2.117760265342e-01 -2.132338470410e-01 -2.144616285503e-01 -2.154616190492e-01 --2.162362081830e-01 -2.167879246744e-01 -2.171194336468e-01 -2.172335338584e-01 --2.171331548467e-01 -2.168213539861e-01 -2.163013134635e-01 -2.155763371712e-01 --2.146498475232e-01 -2.135253821946e-01 -2.122065907892e-01 -2.106972314371e-01 --2.090011673253e-01 -2.071223631645e-01 -2.050648815952e-01 -2.028328795354e-01 --2.004306044739e-01 -1.978623907118e-01 -1.951326555559e-01 -1.922458954659e-01 --1.892066821602e-01 -1.860196586822e-01 -1.826895354318e-01 -1.792210861633e-01 --1.756191439552e-01 -1.718885971536e-01 -1.680343852933e-01 -1.640614949995e-01 --1.599749558740e-01 -1.557798363681e-01 -1.514812396472e-01 -1.470842994485e-01 --1.425941759367e-01 -1.380160515603e-01 -1.333551269115e-01 -1.286166165939e-01 --1.238057450998e-01 -1.189277427023e-01 -1.139878413639e-01 -1.089912706645e-01 --1.039432537543e-01 -9.884900333144e-02 -9.371371765054e-02 -8.854257656302e-02 --8.334073759344e-02 -7.811333205438e-02 -7.286546120295e-02 -6.760219244176e-02 --6.232855556729e-02 -5.704953906847e-02 -5.177008647807e-02 -4.649509277991e-02 --4.122940087422e-02 -3.597779810398e-02 -3.074501284471e-02 -2.553571116009e-02 --2.035449352597e-02 -1.520589162505e-02 -1.009436521454e-02 -5.024299068894e-03 -3.353609941903e-15 4.974306043339e-03 9.894476794457e-03 1.475645640462e-02 -1.955627809358e-02 2.429006671326e-02 2.895404122270e-02 3.354451707280e-02 -3.805790849928e-02 4.249073072232e-02 4.683960205160e-02 5.110124589546e-02 -5.527249267289e-02 5.935028162727e-02 6.333166254089e-02 6.721379734913e-02 -7.099396165368e-02 7.466954613380e-02 7.823805785504e-02 8.169712147485e-02 -8.504448034442e-02 8.827799750657e-02 9.139565658907e-02 9.439556259335e-02 -9.727594257840e-02 1.000351462397e-01 1.026716463832e-01 1.051840392948e-01 -1.075710450049e-01 1.098315074484e-01 1.119643945218e-01 1.139687980356e-01 -1.158439335639e-01 1.175891401928e-01 1.192038801653e-01 1.206877384270e-01 -1.220404220705e-01 1.232617596819e-01 1.243517005880e-01 1.253103140077e-01 -1.261377881068e-01 1.268344289589e-01 1.274006594126e-01 1.278370178673e-01 -1.281441569587e-01 1.283228421551e-01 1.283739502669e-01 1.282984678711e-01 -1.280974896510e-01 1.277722166546e-01 1.273239544735e-01 1.267541113426e-01 -1.260641961644e-01 1.252558164592e-01 1.243306762428e-01 1.232905738353e-01 -1.221373996013e-01 1.208731336255e-01 1.194998433250e-01 1.180196810003e-01 -1.164348813293e-01 1.147477588040e-01 1.129607051143e-01 1.110761864814e-01 -1.090967409418e-01 1.070249755862e-01 1.048635637545e-01 1.026152421907e-01 -1.002828081598e-01 9.786911652868e-02 9.537707681490e-02 9.280965020548e-02 -9.016984654818e-02 8.746072131841e-02 8.468537256425e-02 8.184693783246e-02 -7.894859107811e-02 7.599353956071e-02 7.298502072939e-02 6.992629910018e-02 -6.682066312776e-02 6.367142207470e-02 6.048190288084e-02 5.725544703545e-02 -5.399540745491e-02 5.070514536863e-02 4.738802721590e-02 4.404742155613e-02 -4.068669599532e-02 3.730921413128e-02 3.391833252012e-02 3.051739766654e-02 -2.710974304058e-02 2.369868612310e-02 2.028752548257e-02 1.687953788548e-02 -1.347797544287e-02 1.008606279507e-02 6.706994337177e-03 3.343931487323e-03 --3.353609941903e-15 -3.321712673460e-03 -6.618159975102e-03 -9.886338779332e-03 --1.312329187859e-02 -1.632611041383e-02 -1.949193624796e-02 -2.261796428036e-02 --2.570144470082e-02 -2.873968518112e-02 -3.173005300270e-02 -3.466997711879e-02 --3.755695014953e-02 -4.038853030866e-02 -4.316234326035e-02 -4.587608390496e-02 --4.852751809239e-02 -5.111448426194e-02 -5.363489500755e-02 -5.608673856737e-02 --5.846808023679e-02 -6.077706370390e-02 -6.301191230675e-02 -6.517093021151e-02 --6.725250351099e-02 -6.925510124286e-02 -7.117727632702e-02 -7.301766642180e-02 --7.477499469850e-02 -7.644807053400e-02 -7.803579012129e-02 -7.953713699763e-02 --8.095118249047e-02 -8.227708608085e-02 -8.351409568469e-02 -8.466154785177e-02 --8.571886788288e-02 -8.668556986532e-02 -8.756125662706e-02 -8.834561961013e-02 --8.903843866361e-02 -8.963958175685e-02 -9.014900461357e-02 -9.056675026752e-02 --9.089294854048e-02 -9.112781544345e-02 -9.127165250193e-02 -9.132484600626e-02 --9.128786618804e-02 -9.116126632377e-02 -9.094568176680e-02 -9.064182890882e-02 --9.025050407227e-02 -8.977258233476e-02 -8.920901628720e-02 -8.856083472673e-02 --8.782914128630e-02 -8.701511300212e-02 -8.611999882078e-02 -8.514511804759e-02 --8.409185873785e-02 -8.296167603278e-02 -8.175609044184e-02 -8.047668607331e-02 --7.912510881496e-02 -7.770306446669e-02 -7.621231682701e-02 -7.465468573548e-02 --7.303204507292e-02 -7.134632072145e-02 -6.959948848655e-02 -6.779357198298e-02 --6.593064048684e-02 -6.401280675583e-02 -6.204222481980e-02 -6.002108774380e-02 --5.795162536585e-02 -5.583610201145e-02 -5.367681418723e-02 -5.147608825581e-02 --4.923627809414e-02 -4.695976273751e-02 -4.464894401151e-02 -4.230624415413e-02 --3.993410343019e-02 -3.753497774042e-02 -3.511133622733e-02 -3.266565888012e-02 --3.020043414085e-02 -2.771815651398e-02 -2.522132418162e-02 -2.271243662650e-02 --2.019399226492e-02 -1.766848609178e-02 -1.513840733978e-02 -1.260623715498e-02 --1.007444629063e-02 -7.545492821499e-03 -5.021819880599e-03 -2.505853420324e-03 -3.353609941903e-15 2.493355398284e-03 4.971851523585e-03 7.433152978010e-03 -9.874952304682e-03 1.229497204005e-02 1.469096672876e-02 1.706072489944e-02 -1.940207099964e-02 2.171286728842e-02 2.399101568497e-02 2.623445957164e-02 -2.844118555013e-02 3.060922514918e-02 3.273665648249e-02 3.482160585557e-02 -3.686224932018e-02 3.885681417514e-02 4.080358041244e-02 4.270088210738e-02 -4.454710875184e-02 4.634070652958e-02 4.808017953264e-02 4.976409091801e-02 -5.139106400368e-02 5.295978330336e-02 5.446899549908e-02 5.591751035112e-02 -5.730420154464e-02 5.862800747246e-02 5.988793195355e-02 6.108304488681e-02 -6.221248283990e-02 6.327544957257e-02 6.427121649467e-02 6.519912305826e-02 -6.605857708405e-02 6.684905502200e-02 6.757010214600e-02 6.822133268299e-02 -6.880242987642e-02 6.931314598432e-02 6.975330221231e-02 7.012278858185e-02 -7.042156373406e-02 7.064965466964e-02 7.080715642526e-02 7.089423168719e-02 -7.091111034250e-02 7.085808896881e-02 7.073553026306e-02 7.054386241019e-02 -7.028357839256e-02 6.995523524100e-02 6.955945322834e-02 6.909691500657e-02 -6.856836468843e-02 6.797460687474e-02 6.731650562847e-02 6.659498339670e-02 -6.581101988179e-02 6.496565086298e-02 6.405996696958e-02 6.309511240737e-02 -6.207228363932e-02 6.099272802224e-02 5.985774240061e-02 5.866867165936e-02 -5.742690723682e-02 5.613388559961e-02 5.479108668090e-02 5.340003228383e-02 -5.196228445149e-02 5.047944380534e-02 4.895314785360e-02 4.738506927142e-02 -4.577691415454e-02 4.413042024804e-02 4.244735515224e-02 4.072951450720e-02 -3.897872015786e-02 3.719681830143e-02 3.538567761908e-02 3.354718739344e-02 -3.168325561403e-02 2.979580707229e-02 2.788678144804e-02 2.595813138934e-02 -2.401182058740e-02 2.204982184855e-02 2.007411516497e-02 1.808668578607e-02 -1.608952229238e-02 1.408461467357e-02 1.207395241270e-02 1.005952257821e-02 -8.043307925581e-03 6.027285010332e-03 4.013422314213e-03 2.003678386190e-03 --3.353609941903e-15 -1.995679670084e-03 -3.981442853549e-03 -5.955388966477e-03 --7.915636371214e-03 -9.860324111326e-03 -1.178761362031e-02 -1.369569040251e-02 --1.558276568475e-02 -1.744707803726e-02 -1.928689496242e-02 -2.110051444999e-02 --2.288626649737e-02 -2.464251459378e-02 -2.636765716683e-02 -2.806012899041e-02 --2.971840255270e-02 -3.134098938305e-02 -3.292644133668e-02 -3.447335183621e-02 --3.598035706880e-02 -3.744613713811e-02 -3.886941717006e-02 -4.024896837154e-02 --4.158360904115e-02 -4.287220553129e-02 -4.411367316085e-02 -4.530697707766e-02 --4.645113307028e-02 -4.754520832833e-02 -4.858832215099e-02 -4.957964660305e-02 --5.051840711811e-02 -5.140388304864e-02 -5.223540816233e-02 -5.301237108475e-02 --5.373421568778e-02 -5.440044142386e-02 -5.501060360585e-02 -5.556431363235e-02 --5.606123915857e-02 -5.650110421273e-02 -5.688368925801e-02 -5.720883120029e-02 --5.747642334177e-02 -5.768641528072e-02 -5.783881275763e-02 -5.793367744821e-02 --5.797112670335e-02 -5.795133323679e-02 -5.787452476069e-02 -5.774098356987e-02 --5.755104607507e-02 -5.730510228602e-02 -5.700359524489e-02 -5.664702041079e-02 --5.623592499626e-02 -5.577090725630e-02 -5.525261573089e-02 -5.468174844201e-02 --5.405905204576e-02 -5.338532094088e-02 -5.266139633442e-02 -5.188816526574e-02 --5.106655958980e-02 -5.019755492096e-02 -4.928216953831e-02 -4.832146325383e-02 --4.731653624442e-02 -4.626852784924e-02 -4.517861533337e-02 -4.404801261941e-02 --4.287796898795e-02 -4.166976774856e-02 -4.042472488259e-02 -3.914418765900e-02 --3.782953322493e-02 -3.648216717212e-02 -3.510352208092e-02 -3.369505604309e-02 --3.225825116512e-02 -3.079461205334e-02 -2.930566428247e-02 -2.779295284911e-02 --2.625804061163e-02 -2.470250671805e-02 -2.312794502346e-02 -2.153596249848e-02 --1.992817763036e-02 -1.830621881823e-02 -1.667172276412e-02 -1.502633286119e-02 --1.337169758083e-02 -1.170946886015e-02 -1.004130049137e-02 -8.368846514648e-03 --6.693759615919e-03 -5.017689531214e-03 -3.342281458993e-03 -1.669174481984e-03 -3.353609941903e-15 1.663619824813e-03 3.320073608774e-03 4.967762272203e-03 -6.605100548166e-03 - Type L N - 0 0 6 -1.000000000000e+00 9.997761212345e-01 9.991046653715e-01 9.979861735385e-01 -9.964215470375e-01 9.944120464808e-01 9.919592905814e-01 9.890652546003e-01 -9.857322684524e-01 9.819630144724e-01 9.777605248430e-01 9.731281786890e-01 -9.680696988392e-01 9.625891482603e-01 9.566909261659e-01 9.503797638053e-01 -9.436607199360e-01 9.365391759848e-01 9.290208309025e-01 9.211116957177e-01 -9.128180877951e-01 9.041466248047e-01 8.951042184077e-01 8.856980676661e-01 -8.759356521824e-01 8.658247249770e-01 8.553733051108e-01 8.445896700594e-01 -8.334823478491e-01 8.220601089605e-01 8.103319580098e-01 7.983071252151e-01 -7.859950576585e-01 7.734054103500e-01 7.605480371061e-01 7.474329812490e-01 -7.340704661390e-01 7.204708855480e-01 7.066447938841e-01 6.926028962792e-01 -6.783560385471e-01 6.639151970248e-01 6.492914683061e-01 6.344960588783e-01 -6.195402746735e-01 6.044355105433e-01 5.891932396702e-01 5.738250029242e-01 -5.583423981772e-01 5.427570695849e-01 5.270806968481e-01 5.113249844634e-01 -4.955016509752e-01 4.796224182391e-01 4.636990007081e-01 4.477430947521e-01 -4.317663680216e-01 4.157804488669e-01 3.997969158223e-01 3.838272871669e-01 -3.678830105718e-01 3.519754528448e-01 3.361158897820e-01 3.203154961369e-01 -3.045853357170e-01 2.889363516174e-01 2.733793566015e-01 2.579250236380e-01 -2.425838766034e-01 2.273662811590e-01 2.122824358125e-01 1.973423631710e-01 -1.825559013952e-01 1.679326958626e-01 1.534821910482e-01 1.392136226292e-01 -1.251360098232e-01 1.112581479646e-01 9.758860132928e-02 8.413569621079e-02 -7.090751425767e-02 5.791188607580e-02 4.515638510272e-02 3.264832175908e-02 -2.039473788245e-02 8.402401448597e-03 -3.322198415458e-03 -1.477285612207e-02 --2.594365401351e-02 -3.682896644873e-02 -4.742346358302e-02 -5.772211483774e-02 --6.772019205735e-02 -7.741327235156e-02 -8.679724062067e-02 -9.586829176246e-02 --1.046229325594e-01 -1.130579832452e-01 -1.211705787506e-01 -1.289581696271e-01 --1.364185226502e-01 -1.435497211015e-01 -1.503501647310e-01 -1.568185694005e-01 --1.629539664096e-01 -1.687557015072e-01 -1.742234335878e-01 -1.793571330792e-01 --1.841570800207e-01 -1.886238618368e-01 -1.927583708100e-01 -1.965618012556e-01 --2.000356464025e-01 -2.031816949862e-01 -2.060020275558e-01 -2.084990125027e-01 --2.106753018143e-01 -2.125338265592e-01 -2.140777921103e-01 -2.153106731093e-01 --2.162362081830e-01 -2.168583944138e-01 -2.171814815742e-01 -2.172099661307e-01 --2.169485850260e-01 -2.164023092444e-01 -2.155763371712e-01 -2.144760877518e-01 --2.131071934591e-01 -2.114754930785e-01 -2.095870243170e-01 -2.074480162477e-01 --2.050648815952e-01 -2.024442088739e-01 -1.995927543858e-01 -1.965174340891e-01 --1.932253153449e-01 -1.897236085524e-01 -1.860196586822e-01 -1.821209367168e-01 --1.780350310077e-01 -1.737696385594e-01 -1.693325562496e-01 -1.647316719951e-01 --1.599749558740e-01 -1.550704512126e-01 -1.500262656484e-01 -1.448505621774e-01 --1.395515501966e-01 -1.341374765510e-01 -1.286166165939e-01 -1.229972652722e-01 --1.172877282441e-01 -1.114963130395e-01 -1.056313202729e-01 -9.970103491761e-02 --9.371371765055e-02 -8.767759627652e-02 -8.160085724134e-02 -7.549163724239e-02 --6.935801494513e-02 -6.320800281437e-02 -5.704953906848e-02 -5.089047976476e-02 --4.473859102402e-02 -3.860154140214e-02 -3.248689441626e-02 -2.640210123300e-02 --2.035449352598e-02 -1.435127650953e-02 -8.399522155475e-03 -2.506162599395e-03 -3.322016257211e-03 9.078380942906e-03 1.475645640461e-02 2.034993178264e-02 -2.585266596731e-02 3.125869293193e-02 3.656222683765e-02 4.175766690549e-02 -4.683960205159e-02 5.180281528153e-02 5.664228784039e-02 6.135320311502e-02 -6.593095028555e-02 7.037112772347e-02 7.466954613379e-02 7.882223143917e-02 -8.282542740418e-02 8.667559799815e-02 9.036942949543e-02 9.390383231208e-02 -9.727594257839e-02 1.004831234469e-01 1.035229661361e-01 1.063932907093e-01 -1.090921465908e-01 1.116178128186e-01 1.139687980356e-01 1.161438402206e-01 -1.181419061618e-01 1.199621906724e-01 1.216041155534e-01 1.230673283049e-01 -1.243517005880e-01 1.254573264425e-01 1.263845202616e-01 1.271338145288e-01 -1.277059573205e-01 1.281019095783e-01 1.283228421551e-01 1.283701326409e-01 -1.282453619720e-01 1.279503108287e-01 1.274869558281e-01 1.268574655159e-01 -1.260641961644e-01 1.251096873815e-01 1.239966575376e-01 1.227279990164e-01 -1.213067732963e-01 1.197362058687e-01 1.180196810003e-01 1.161607363465e-01 -1.141630574224e-01 1.120304719395e-01 1.097669440145e-01 1.073765682587e-01 -1.048635637545e-01 1.022322679273e-01 9.948713032115e-02 9.663270628381e-02 -9.367365057202e-02 9.061471088259e-02 8.746072131842e-02 8.421659579729e-02 -8.088732141131e-02 7.747795174524e-02 7.399360016178e-02 7.043943306182e-02 -6.682066312777e-02 6.314254255800e-02 5.941035630052e-02 5.562941529365e-02 -5.180504972193e-02 4.794260229479e-02 4.404742155614e-02 4.012485523239e-02 -3.618024362662e-02 3.221891306649e-02 2.824616941330e-02 2.426729163961e-02 -2.028752548258e-02 1.631207718023e-02 1.234610729754e-02 8.394724649155e-03 -4.462980325592e-03 5.558618292154e-04 -3.321712673450e-03 -7.164899976963e-03 --1.096893733374e-02 -1.472914781648e-02 -1.844094554067e-02 -2.209984074161e-02 --2.570144470081e-02 -2.924147451659e-02 -3.271575771426e-02 -3.612023669091e-02 --3.945097299083e-02 -4.270415140699e-02 -4.587608390495e-02 -4.896321336523e-02 --5.196211714086e-02 -5.486951042677e-02 -5.768224943800e-02 -6.039733439402e-02 --6.301191230674e-02 -6.552327956968e-02 -6.792888434663e-02 -7.022632875778e-02 --7.241337086197e-02 -7.448792643370e-02 -7.644807053400e-02 -7.829203887430e-02 --8.001822897298e-02 -8.162520110414e-02 -8.311167903878e-02 -8.447655057860e-02 --8.571886788288e-02 -8.683784758929e-02 -8.783287072958e-02 -8.870348244140e-02 --8.944939147777e-02 -9.007046951594e-02 -9.056675026751e-02 -9.093842839216e-02 --9.118585821725e-02 -9.130955226611e-02 -9.131017959773e-02 -9.118856396099e-02 --9.094568176680e-02 -9.058265988151e-02 -9.010077324544e-02 -8.950144232025e-02 --8.878623036943e-02 -8.795684057602e-02 -8.701511300212e-02 -8.596302139470e-02 --8.480266984257e-02 -8.353628928948e-02 -8.216623390832e-02 -8.069497734182e-02 --7.912510881497e-02 -7.745932912479e-02 -7.570044651304e-02 -7.385137242756e-02 --7.191511717826e-02 -6.989478549347e-02 -6.779357198299e-02 -6.561475651371e-02 --6.336169950423e-02 -6.103783714462e-02 -5.864667654772e-02 -5.619179083840e-02 --5.367681418723e-02 -5.110543679496e-02 -4.848139983440e-02 -4.580849035631e-02 --4.309053616561e-02 -4.033140067471e-02 -3.753497774043e-02 -3.470518649089e-02 --3.184596614924e-02 -2.896127086029e-02 -2.605506452694e-02 -2.313131566239e-02 --2.019399226493e-02 -1.724705672121e-02 -1.429446074456e-02 -1.134014035430e-02 --8.388010902283e-03 -5.441962152604e-03 -2.505853420335e-03 4.164912247927e-04 -3.321287684149e-03 6.204796479797e-03 9.063327322455e-03 1.189324359249e-02 -1.469096672875e-02 1.745298052016e-02 2.017583529520e-02 2.285615200442e-02 -2.549062619147e-02 2.807603184815e-02 3.060922514917e-02 3.308714806259e-02 -3.550683183187e-02 3.786540032592e-02 4.016007325341e-02 4.238816923809e-02 -4.454710875183e-02 4.663441690242e-02 4.864772607321e-02 5.058477841217e-02 -5.244342816776e-02 5.422164386948e-02 5.591751035111e-02 5.752923061482e-02 -5.905512753453e-02 6.049364539718e-02 6.184335128071e-02 6.310293626781e-02 -6.427121649466e-02 6.534713403412e-02 6.632975761305e-02 6.721828316370e-02 -6.801203420910e-02 6.871046208295e-02 6.931314598432e-02 6.981979286803e-02 -7.023023717155e-02 7.054444037951e-02 7.076249042722e-02 7.088460094463e-02 -7.091111034250e-02 7.084248074266e-02 7.067929675443e-02 7.042226409951e-02 -7.007220808778e-02 6.963007194661e-02 6.909691500657e-02 6.847391074645e-02 -6.776234470069e-02 6.696361223272e-02 6.607921617738e-02 6.511076435624e-02 -6.405996696958e-02 6.292863386873e-02 6.171867171303e-02 6.043208101540e-02 -5.907095308091e-02 5.763746684267e-02 5.613388559961e-02 5.456255366073e-02 -5.292589290051e-02 5.122639923040e-02 4.946663899113e-02 4.764924527091e-02 -4.577691415454e-02 4.385240090858e-02 4.187851610765e-02 3.985812170719e-02 -3.779412706793e-02 3.568948493736e-02 3.354718739345e-02 3.137026175625e-02 -2.916176647247e-02 2.692478697855e-02 2.466243154774e-02 2.237782712640e-02 -2.007411516498e-02 1.775444744914e-02 1.542198193627e-02 1.307987860273e-02 -1.073129530719e-02 8.379383675215e-03 6.027285010342e-03 3.678126236832e-03 -1.335015879076e-03 -9.989599172310e-04 -3.320741317271e-03 -5.627298677741e-03 --7.915636371203e-03 -1.018279654944e-02 -1.242586284123e-02 -1.464196398011e-02 --1.682827735765e-02 -1.898203249806e-02 -2.110051444998e-02 -2.318106709137e-02 --2.522109634368e-02 -2.721807329147e-02 -2.916953720391e-02 -3.107309845465e-02 --3.292644133667e-02 -3.472732676905e-02 -3.647359489242e-02 -3.816316755042e-02 --3.979405065425e-02 -4.136433642785e-02 -4.287220553129e-02 -4.431592906007e-02 --4.569387041837e-02 -4.700448706418e-02 -4.824633212481e-02 -4.941805588094e-02 --5.051840711811e-02 -5.154623434421e-02 -5.250048687215e-02 -5.338021576662e-02 --5.418457465452e-02 -5.491282039834e-02 -5.556431363234e-02 -5.613851916128e-02 --5.663500622177e-02 -5.705344860651e-02 -5.739362465170e-02 -5.765541708827e-02 --5.783881275763e-02 -5.794390219286e-02 -5.797087906641e-02 -5.792003950556e-02 --5.779178127705e-02 -5.758660284245e-02 -5.730510228603e-02 -5.694797611695e-02 --5.651601794795e-02 -5.601011705258e-02 -5.543125680345e-02 -5.478051299389e-02 --5.405905204576e-02 -5.326812910605e-02 -5.240908603529e-02 -5.148334929075e-02 --5.049242770755e-02 -4.943791018106e-02 -4.832146325384e-02 -4.714482861076e-02 --4.590982048582e-02 -4.461832298440e-02 -4.327228732471e-02 -4.187372900247e-02 --4.042472488259e-02 -3.892741022207e-02 -3.738397562815e-02 -3.579666395607e-02 --3.416776715042e-02 -3.249962303471e-02 -3.079461205335e-02 -2.905515397046e-02 --2.728370453005e-02 -2.548275208201e-02 -2.365481417841e-02 -2.180243414471e-02 --1.992817763037e-02 -1.803462914344e-02 -1.612438857381e-02 -1.420006770947e-02 --1.226428675055e-02 -1.031967082562e-02 -8.368846514659e-03 -6.414438383447e-03 --4.459065533581e-03 -2.505338172758e-03 -5.558542095990e-04 1.386804122575e-03 -3.320073608763e-03 5.241413357832e-03 7.148308066446e-03 9.038271237255e-03 -1.090884834732e-02 1.275761996286e-02 1.458220479632e-02 1.638026270224e-02 -1.814949760793e-02 1.988766037559e-02 2.159255159232e-02 2.326202428457e-02 -2.489398655388e-02 2.648640413070e-02 2.803730284316e-02 2.954477099805e-02 -3.100696167110e-02 3.242209490384e-02 3.378845980468e-02 3.510441655164e-02 -3.636839829456e-02 3.757891295461e-02 3.873454491911e-02 3.983395662993e-02 -4.087589006353e-02 4.185916810137e-02 4.278269578910e-02 4.364546148326e-02 -4.444653788457e-02 4.518508295663e-02 4.586034072937e-02 4.647164198660e-02 -4.701840483706e-02 4.750013516873e-02 4.791642698619e-02 4.826696263096e-02 -4.855151288497e-02 4.876993695739e-02 4.892218235529e-02 4.900828463865e-02 -4.902836706049e-02 4.898264009294e-02 4.887140084024e-02 4.869503233992e-02 -4.845400275336e-02 4.814886444722e-02 4.778025296725e-02 4.734888590635e-02 -4.685556166845e-02 4.630115813047e-02 4.568663120425e-02 4.501301330080e-02 -4.428141169907e-02 4.349300682192e-02 4.264905042157e-02 4.175086367751e-02 -4.079983520940e-02 3.979741900804e-02 3.874513228725e-02 3.764455325988e-02 -3.649731884094e-02 3.530512228132e-02 3.406971073525e-02 3.279288276494e-02 -3.147648578604e-02 3.012241345721e-02 2.873260301761e-02 2.730903257589e-02 -2.585371835442e-02 2.436871189245e-02 2.285609721216e-02 2.131798795126e-02 -1.975652446611e-02 1.817387090931e-02 1.657221228548e-02 1.495375148943e-02 -1.332070633045e-02 1.167530654672e-02 1.001979081396e-02 8.356403751947e-03 -6.687392933145e-03 5.015005897186e-03 3.341487175163e-03 1.669075327611e-03 -7.470372974062e-15 -1.663521000383e-03 -3.319284602556e-03 -4.965105340980e-03 --6.598818192294e-03 - Type L N - 0 0 7 -1.000000000000e+00 9.997075929310e-01 9.988306795205e-01 9.973701827725e-01 -9.953276397415e-01 9.927051996072e-01 9.895056209813e-01 9.857322684524e-01 -9.813891083719e-01 9.764807038877e-01 9.710122092318e-01 9.649893632704e-01 -9.584184823246e-01 9.513064522713e-01 9.436607199360e-01 9.354892837886e-01 -9.268006839549e-01 9.176039915569e-01 9.079087973984e-01 8.977252000079e-01 -8.870637930592e-01 8.759356521824e-01 8.643523211873e-01 8.523257977150e-01 -8.398685183386e-01 8.269933431327e-01 8.137135397329e-01 8.000427669069e-01 -7.859950576585e-01 7.715848018895e-01 7.568267286407e-01 7.417358879367e-01 -7.263276322605e-01 7.106175976801e-01 6.946216846549e-01 6.783560385471e-01 -6.618370298633e-01 6.450812342547e-01 6.281054123006e-01 6.109264891046e-01 -5.935615337287e-01 5.760277384943e-01 5.583423981772e-01 5.405228891241e-01 -5.225866483191e-01 5.045511524271e-01 4.864338968434e-01 4.682523747753e-01 -4.500240563851e-01 4.317663680216e-01 4.134966715663e-01 3.952322439240e-01 -3.769902566816e-01 3.587877559645e-01 3.406416425154e-01 3.225686520215e-01 -3.045853357170e-01 2.867080412837e-01 2.689528940770e-01 2.513357786996e-01 -2.338723209472e-01 2.165778701492e-01 1.994674819279e-01 1.825559013952e-01 -1.658575468121e-01 1.493864937280e-01 1.331564596210e-01 1.171807890593e-01 -1.014724393995e-01 8.604396704185e-02 7.090751425766e-02 5.607479660516e-02 -4.155709094885e-02 2.736522409645e-02 1.350956206663e-02 -8.091661967317e-16 --1.315404727541e-02 -2.594365401352e-02 -3.836039164510e-02 -5.039633618945e-02 --6.204407497545e-02 -7.329671266528e-02 -8.414787657521e-02 -9.459172128886e-02 --1.046229325594e-01 -1.142367304979e-01 -1.234288720462e-01 -1.321956527344e-01 --1.405339077219e-01 -1.484410121248e-01 -1.559148806314e-01 -1.629539664096e-01 --1.695572593094e-01 -1.757242833674e-01 -1.814550936186e-01 -1.867502722230e-01 --1.916109239149e-01 -1.960386707847e-01 -2.000356464025e-01 -2.036044892942e-01 --2.067483357832e-01 -2.094708122085e-01 -2.117760265342e-01 -2.136685593635e-01 --2.151534543730e-01 -2.162362081830e-01 -2.169227596796e-01 -2.172194788069e-01 --2.171331548467e-01 -2.166709842043e-01 -2.158405577195e-01 -2.146498475232e-01 --2.131071934591e-01 -2.112212890922e-01 -2.090011673253e-01 -2.064561856448e-01 --2.035960110195e-01 -2.004306044739e-01 -1.969702053588e-01 -1.932253153449e-01 --1.892066821602e-01 -1.849252830975e-01 -1.803923083151e-01 -1.756191439552e-01 --1.706173551053e-01 -1.653986686265e-01 -1.599749558740e-01 -1.543582153342e-01 --1.485605552041e-01 -1.425941759367e-01 -1.364713527783e-01 -1.302044183218e-01 --1.238057450998e-01 -1.172877282441e-01 -1.106627682334e-01 -1.039432537543e-01 --9.714154469929e-02 -9.026995532501e-02 -8.334073759344e-02 -7.636606471924e-02 --6.935801494513e-02 -6.232855556730e-02 -5.528952723222e-02 -4.825262852564e-02 --4.122940087422e-02 -3.423121377956e-02 -2.726925040388e-02 -2.035449352597e-02 --1.349771188541e-02 -6.709446932422e-03 8.091661967317e-16 6.620580085637e-03 -1.314250894106e-02 1.955627809358e-02 2.585266596731e-02 3.202274837443e-02 -3.805790849928e-02 4.394984636412e-02 4.969058776567e-02 5.527249267289e-02 -6.068826307699e-02 6.593095028556e-02 7.099396165368e-02 7.587106674556e-02 -8.055640292137e-02 8.504448034442e-02 8.933018640529e-02 9.340878955969e-02 -9.727594257840e-02 1.009276852080e-01 1.043604462423e-01 1.075710450049e-01 -1.105566922449e-01 1.133149904477e-01 1.158439335639e-01 1.181419061618e-01 -1.202076820060e-01 1.220404220705e-01 1.236396719912e-01 1.250053589653e-01 -1.261377881068e-01 1.270376382654e-01 1.277059573205e-01 1.281441569587e-01 -1.283540069471e-01 1.283376289143e-01 1.280974896510e-01 1.276363939434e-01 -1.269574769544e-01 1.260641961644e-01 1.249603228902e-01 1.236499333941e-01 -1.221373996013e-01 1.204273794422e-01 1.185248068353e-01 1.164348813293e-01 -1.141630574224e-01 1.117150335758e-01 1.090967409418e-01 1.063143318244e-01 -1.033741678916e-01 1.002828081598e-01 9.704699676953e-02 9.367365057202e-02 -9.016984654819e-02 8.654280907894e-02 8.279989708811e-02 7.894859107812e-02 -7.499648007917e-02 7.095124853243e-02 6.682066312776e-02 6.261255961661e-02 -5.833482962041e-02 5.399540745491e-02 4.960225699054e-02 4.516335856892e-02 -4.068669599532e-02 3.618024362661e-02 3.165195357416e-02 2.710974304058e-02 -2.256148180925e-02 1.801497990482e-02 1.347797544287e-02 8.958122686282e-03 -4.462980325584e-03 -7.149275395032e-16 -4.423484924474e-03 -8.800270304146e-03 --1.312329187859e-02 -1.738563562867e-02 -2.158054781755e-02 -2.570144470081e-02 --2.974192189296e-02 -3.369576337758e-02 -3.755695014953e-02 -4.131966847795e-02 --4.497831777955e-02 -4.852751809239e-02 -5.196211714087e-02 -5.527719698370e-02 --5.846808023679e-02 -6.153033586422e-02 -6.445978453086e-02 -6.725250351099e-02 --6.990483114816e-02 -7.241337086197e-02 -7.477499469850e-02 -7.698684642154e-02 --7.904634414292e-02 -8.095118249046e-02 -8.269933431327e-02 -8.428905192453e-02 --8.571886788288e-02 -8.698759531398e-02 -8.809432777479e-02 -8.903843866361e-02 --8.981958017984e-02 -9.043768183789e-02 -9.089294854048e-02 -9.118585821725e-02 --9.131715903518e-02 -9.128786618804e-02 -9.109925827260e-02 -9.075287326016e-02 --9.025050407227e-02 -8.959419377037e-02 -8.878623036942e-02 -8.782914128630e-02 --8.672568743409e-02 -8.547885697412e-02 -8.409185873785e-02 -8.256811533135e-02 --8.091125593543e-02 -7.912510881496e-02 -7.721369355130e-02 -7.518121301206e-02 --7.303204507292e-02 -7.077073410630e-02 -6.840198225223e-02 -6.593064048684e-02 --6.336169950423e-02 -6.070028042758e-02 -5.795162536585e-02 -5.512108783204e-02 --5.221412303971e-02 -4.923627809414e-02 -4.619318209477e-02 -4.309053616560e-02 --3.993410343019e-02 -3.672969894801e-02 -3.348317962868e-02 -3.020043414085e-02 --2.688737283211e-02 -2.354991767634e-02 -2.019399226492e-02 -1.682551185775e-02 --1.345037351002e-02 -1.007444629063e-02 -6.703561607520e-03 -3.343503655287e-03 -8.091661967317e-16 3.321287684157e-03 6.614772712057e-03 9.874952304679e-03 -1.309641631239e-02 1.627385573127e-02 1.940207099963e-02 2.247598006243e-02 -2.549062619148e-02 2.844118555013e-02 3.132297449135e-02 3.413145657870e-02 -3.686224932018e-02 3.951113060552e-02 4.207404483791e-02 4.454710875184e-02 -4.692661690911e-02 4.920904686583e-02 5.139106400368e-02 5.346952601928e-02 -5.544148706620e-02 5.730420154464e-02 5.905512753453e-02 6.069192986825e-02 -6.221248283989e-02 6.361487254867e-02 6.489739887441e-02 6.605857708405e-02 -6.709713906841e-02 6.801203420911e-02 6.880242987642e-02 6.946771155903e-02 -7.000748262752e-02 7.042156373406e-02 7.070999185110e-02 7.087301895268e-02 -7.091111034250e-02 7.082494263330e-02 7.061540138291e-02 7.028357839256e-02 -6.983076867396e-02 6.925846709169e-02 6.856836468843e-02 6.776234470069e-02 -6.684247827337e-02 6.581101988180e-02 6.467040247051e-02 6.342323231826e-02 -6.207228363933e-02 6.062049293139e-02 5.907095308091e-02 5.742690723682e-02 -5.569174246433e-02 5.386898319014e-02 5.196228445150e-02 4.997542496108e-02 -4.791230000042e-02 4.577691415454e-02 4.357337390075e-02 4.130588006484e-02 -3.897872015786e-02 3.659626060694e-02 3.416293889372e-02 3.168325561404e-02 -2.916176647246e-02 2.660307422553e-02 2.401182058740e-02 2.139267811165e-02 -1.875034206295e-02 1.608952229238e-02 1.341493512983e-02 1.073129530719e-02 -8.043307925584e-03 5.355660480002e-03 2.673014954360e-03 -7.526230023946e-16 --2.658796789711e-03 -5.298836496131e-03 -7.915636371211e-03 -1.050477720044e-02 --1.306191052115e-02 -1.558276568475e-02 -1.806315675175e-02 -2.049898920881e-02 --2.288626649737e-02 -2.522109634368e-02 -2.749969688076e-02 -2.971840255270e-02 --3.187366979260e-02 -3.396208246556e-02 -3.598035706879e-02 -3.792534768102e-02 --3.979405065425e-02 -4.158360904115e-02 -4.329131675165e-02 -4.491462243338e-02 --4.645113307028e-02 -4.789861729501e-02 -4.925500841066e-02 -5.051840711811e-02 --5.168708394579e-02 -5.275948137919e-02 -5.373421568778e-02 -5.461007844774e-02 --5.538603775940e-02 -5.606123915857e-02 -5.663500622177e-02 -5.710684086569e-02 --5.747642334177e-02 -5.774361192730e-02 -5.790844231499e-02 -5.797112670335e-02 --5.793205259083e-02 -5.779178127705e-02 -5.755104607507e-02 -5.721075023891e-02 --5.677196461122e-02 -5.623592499627e-02 -5.560402926396e-02 -5.487783419102e-02 --5.405905204576e-02 -5.314954692351e-02 -5.215133083990e-02 -5.106655958980e-02 --4.989752837985e-02 -4.864666724310e-02 -4.731653624443e-02 -4.590982048582e-02 --4.442932492084e-02 -4.287796898795e-02 -4.125878107252e-02 -3.957489280777e-02 --3.782953322493e-02 -3.602602276320e-02 -3.416776715041e-02 -3.225825116512e-02 --3.030103229152e-02 -2.829973427809e-02 -2.625804061163e-02 -2.417968791794e-02 --2.206845930072e-02 -1.992817763036e-02 -1.776269879406e-02 -1.557590491911e-02 --1.337169758083e-02 -1.115399100682e-02 -8.926705289161e-03 -6.693759615922e-03 --4.459065533573e-03 -2.226520251516e-03 7.149275395032e-16 2.216646547520e-03 -4.419604776640e-03 6.605100548163e-03 8.769406517547e-03 1.090884834733e-02 -1.301981080239e-02 1.509874371809e-02 1.714216783182e-02 1.914668046839e-02 -2.110896107026e-02 2.302577656394e-02 2.489398655389e-02 2.671054833591e-02 -2.847252172221e-02 3.017707367060e-02 3.182148271090e-02 3.340314316160e-02 -3.491956913071e-02 3.636839829457e-02 3.774739544933e-02 3.905445582979e-02 -4.028760819093e-02 4.144501764787e-02 4.252498827031e-02 4.352596542804e-02 -4.444653788457e-02 4.528543963624e-02 4.604155149464e-02 4.671390241085e-02 -4.730167054004e-02 4.780418404582e-02 4.822092164385e-02 4.855151288497e-02 -4.879573817824e-02 4.895352855494e-02 4.902496517506e-02 4.901027857787e-02 -4.890984767914e-02 4.872419851754e-02 4.845400275336e-02 4.810007592315e-02 -4.766337545415e-02 4.714499844287e-02 4.654617920251e-02 4.586828658428e-02 -4.511282107822e-02 4.428141169907e-02 4.337581266363e-02 4.239789986584e-02 -4.134966715663e-02 4.023322243538e-02 3.905078356065e-02 3.780467408771e-02 -3.649731884093e-02 3.513123932908e-02 3.370904901216e-02 3.223344842834e-02 -3.070722018990e-02 2.913322385713e-02 2.751439069967e-02 2.585371835441e-02 -2.415426538970e-02 2.241914578537e-02 2.065152333847e-02 1.885460600450e-02 -1.703164018409e-02 1.518590496514e-02 1.332070633044e-02 1.143937134082e-02 -9.545242303915e-03 7.641670938514e-03 5.732012544669e-03 3.819620189370e-03 -1.907838917807e-03 -7.687782007767e-16 -1.900584777436e-03 -3.790628764785e-03 --5.666876038481e-03 -7.526106916761e-03 -9.365143392521e-03 -1.118085447437e-02 --1.297016142701e-02 -1.473004290239e-02 -1.645753995316e-02 -1.814976092022e-02 --1.980388618652e-02 -2.141717278938e-02 -2.298695888388e-02 -2.451066805029e-02 --2.598581343857e-02 -2.741000174358e-02 -2.878093700455e-02 -3.009642422315e-02 --3.135437279440e-02 -3.255279974529e-02 -3.368983277625e-02 -3.476371310077e-02 --3.577279807928e-02 -3.671556364322e-02 -3.759060650603e-02 -3.839664615800e-02 --3.913252664218e-02 -3.979721810929e-02 -4.038981814945e-02 -4.090955289950e-02 --4.135577792453e-02 -4.172797887314e-02 -4.202577190581e-02 -4.224890389672e-02 --4.239725240919e-02 -4.247082544577e-02 -4.246976097406e-02 -4.239432622988e-02 --4.224491679979e-02 -4.202205548522e-02 -4.172639095100e-02 -4.135869616127e-02 --4.091986660623e-02 -4.041091832344e-02 -3.983298571793e-02 -3.918731918528e-02 --3.847528254272e-02 -3.769835027310e-02 -3.685810458721e-02 -3.595623231012e-02 --3.499452159744e-02 -3.397485848777e-02 -3.289922329778e-02 -3.176968686672e-02 --3.058840665721e-02 -2.935762271971e-02 -2.807965352778e-02 -2.675689169205e-02 --2.539179956041e-02 -2.398690471253e-02 -2.254479535683e-02 -2.106811563803e-02 --1.955956086377e-02 -1.802187265870e-02 -1.645783405477e-02 -1.487026452621e-02 --1.326201497800e-02 -1.163596269674e-02 -9.995006272538e-03 -8.342060500900e-03 --6.680051273433e-03 -5.011910466193e-03 -3.340570834516e-03 -1.668960923089e-03 -8.091661967317e-16 1.663406976591e-03 3.318374350567e-03 4.962040710312e-03 -6.591573773124e-03 - Type L N - 0 0 8 -1.000000000000e+00 9.996299309272e-01 9.985202167122e-01 9.966723355824e-01 -9.940887486459e-01 9.907728959881e-01 9.867291912182e-01 9.819630144724e-01 -9.764807038877e-01 9.702895455599e-01 9.633977620041e-01 9.558144991363e-01 -9.475498117999e-01 9.386146478614e-01 9.290208309025e-01 9.187810415390e-01 -9.079087973983e-01 8.964184317905e-01 8.843250711084e-01 8.716446109973e-01 -8.583936913341e-01 8.445896700594e-01 8.302505959068e-01 8.153951800773e-01 -8.000427669069e-01 7.842133035765e-01 7.679273089188e-01 7.512058413721e-01 -7.340704661390e-01 7.165432216036e-01 6.986465850664e-01 6.804034378539e-01 -6.618370298633e-01 6.429709436022e-01 6.238290577842e-01 6.044355105433e-01 -5.848146623272e-01 5.649910585350e-01 5.449893919607e-01 5.248344651060e-01 -5.045511524271e-01 4.841643625768e-01 4.636990007081e-01 4.431799308996e-01 -4.226319387680e-01 4.020796943278e-01 3.815477151625e-01 3.610603299659e-01 -3.406416425154e-01 3.203154961369e-01 3.001054387190e-01 2.800346883341e-01 -2.601260995227e-01 2.404021302968e-01 2.208848099135e-01 2.015957074738e-01 -1.825559013952e-01 1.637859498066e-01 1.453058619150e-01 1.271350703867e-01 -1.092924047870e-01 9.179606612179e-02 7.466360251687e-02 5.791188607578e-02 -4.155709094885e-02 2.561467264739e-02 1.009934863343e-02 -4.974919786851e-03 --1.959494424000e-02 -3.374832470904e-02 -4.742346358303e-02 -6.060957831404e-02 --7.329671266529e-02 -8.547574653712e-02 -9.713840435984e-02 -1.082772620449e-01 --1.188857524890e-01 -1.289581696271e-01 -1.384896710345e-01 -1.474762790796e-01 --1.559148806314e-01 -1.638032253296e-01 -1.711399224253e-01 -1.779244362065e-01 --1.841570800207e-01 -1.898390089126e-01 -1.949722108968e-01 -1.995594968850e-01 --2.036044892942e-01 -2.071116093607e-01 -2.100860631877e-01 -2.125338265592e-01 --2.144616285503e-01 -2.158769339703e-01 -2.167879246744e-01 -2.172034797827e-01 --2.171331548467e-01 -2.165871600048e-01 -2.155763371712e-01 -2.141121363025e-01 --2.122065907892e-01 -2.098722920193e-01 -2.071223631645e-01 -2.039704322375e-01 --2.004306044739e-01 -1.965174340891e-01 -1.922458954659e-01 -1.876313538246e-01 --1.826895354318e-01 -1.774364974027e-01 -1.718885971536e-01 -1.660624615594e-01 --1.599749558740e-01 -1.536431524689e-01 -1.470842994484e-01 -1.403157891963e-01 --1.333551269115e-01 -1.262198991892e-01 -1.189277427023e-01 -1.114963130395e-01 --1.039432537543e-01 -9.628616568004e-02 -8.854257656302e-02 -8.072991106736e-02 --7.286546120295e-02 -6.496635722696e-02 -5.704953906847e-02 -4.913172832448e-02 --4.122940087421e-02 -3.335876015733e-02 -2.553571116008e-02 -1.777583515208e-02 --1.009436521454e-02 -2.506162599381e-03 4.974306043343e-03 1.233299053394e-02 -1.955627809359e-02 2.663101330493e-02 3.354451707281e-02 4.028460455706e-02 -4.683960205160e-02 5.319836278592e-02 5.935028162728e-02 6.528530866417e-02 -7.099396165368e-02 7.646733731767e-02 8.169712147485e-02 8.667559799816e-02 -9.139565658907e-02 9.585079936267e-02 1.000351462397e-01 1.039434391438e-01 -1.075710450049e-01 1.109139575712e-01 1.139687980356e-01 1.167328144823e-01 -1.192038801653e-01 1.213804906286e-01 1.232617596819e-01 1.248474142494e-01 -1.261377881068e-01 1.271338145288e-01 1.278370178673e-01 1.282495040846e-01 -1.283739502669e-01 1.282135931456e-01 1.277722166546e-01 1.270541385561e-01 -1.260641961644e-01 1.248077312040e-01 1.232905738353e-01 1.215190258860e-01 -1.194998433250e-01 1.172402180176e-01 1.147477588040e-01 1.120304719395e-01 -1.090967409418e-01 1.059553058858e-01 1.026152421907e-01 9.908593894551e-02 -9.537707681490e-02 9.149860557430e-02 8.746072131841e-02 8.327384339037e-02 -7.894859107811e-02 7.449576012477e-02 6.992629910018e-02 6.525128568020e-02 -6.048190288084e-02 5.562941529364e-02 5.070514536863e-02 4.572044979077e-02 -4.068669599531e-02 3.561523886687e-02 3.051739766654e-02 2.540443323046e-02 -2.028752548256e-02 1.517775130328e-02 1.008606279507e-02 5.023265984552e-03 --6.934678916587e-15 -4.973283238451e-03 -9.886338779335e-03 -1.472914781650e-02 --1.949193624796e-02 -2.416519258508e-02 -2.873968518112e-02 -3.320647875028e-02 --3.755695014953e-02 -4.178280339732e-02 -4.587608390496e-02 -4.982919189811e-02 --5.363489500755e-02 -5.728634001033e-02 -6.077706370391e-02 -6.410100289807e-02 --6.725250351099e-02 -7.022632875779e-02 -7.301766642180e-02 -7.562213520068e-02 --7.803579012129e-02 -8.025512701922e-02 -8.227708608085e-02 -8.409905444744e-02 --8.571886788288e-02 -8.713481150851e-02 -8.834561961013e-02 -8.935047452444e-02 --9.014900461357e-02 -9.074128133845e-02 -9.112781544345e-02 -9.130955226611e-02 --9.128786618804e-02 -9.106455424408e-02 -9.064182890882e-02 -9.002231008092e-02 --8.920901628720e-02 -8.820535512993e-02 -8.701511300212e-02 -8.564244409680e-02 --8.409185873785e-02 -8.236821106079e-02 -8.047668607331e-02 -7.842278612627e-02 --7.621231682701e-02 -7.385137242755e-02 -7.134632072145e-02 -6.870378748338e-02 --6.593064048684e-02 -6.303397313537e-02 -6.002108774380e-02 -5.689947850612e-02 --5.367681418722e-02 -5.036092057600e-02 -4.695976273750e-02 -4.348142710220e-02 --3.993410343019e-02 -3.632606668861e-02 -3.266565888012e-02 -2.896127086028e-02 --2.522132418162e-02 -2.145425300164e-02 -1.766848609177e-02 -1.387242898393e-02 --1.007444629062e-02 -6.282844234261e-03 -2.505853420320e-03 1.248388111312e-03 -4.971851523588e-03 8.656633475558e-03 1.229497204005e-02 1.587926221512e-02 -1.940207099964e-02 2.285615200444e-02 2.623445957164e-02 2.953016237590e-02 -3.273665648249e-02 3.584757783858e-02 3.885681417515e-02 4.175851629852e-02 -4.454710875185e-02 4.721729982811e-02 4.976409091801e-02 5.218278517719e-02 -5.446899549908e-02 5.661865178097e-02 5.862800747246e-02 6.049364539718e-02 -6.221248283990e-02 6.378177589308e-02 6.519912305826e-02 6.646246809928e-02 -6.757010214600e-02 6.852066504859e-02 6.931314598432e-02 6.994688331985e-02 -7.042156373406e-02 7.073722060764e-02 7.089423168719e-02 7.089331603329e-02 -7.073553026306e-02 7.042226409951e-02 6.995523524100e-02 6.933648356590e-02 -6.856836468843e-02 6.765354288313e-02 6.659498339669e-02 6.539594416689e-02 -6.405996696958e-02 6.259086801582e-02 6.099272802224e-02 5.926988177845e-02 -5.742690723682e-02 5.546861415013e-02 5.340003228383e-02 5.122639923039e-02 -4.895314785359e-02 4.658589339161e-02 4.413042024804e-02 4.159266850061e-02 -3.897872015785e-02 3.629478519403e-02 3.354718739344e-02 3.074235003493e-02 -2.788678144804e-02 2.498706047190e-02 2.204982184854e-02 1.908174158167e-02 -1.608952229237e-02 1.307987860272e-02 1.005952257821e-02 7.035149259580e-03 -4.013422314209e-03 1.000959836986e-03 -1.995679670088e-03 -4.970011110696e-03 --7.915636371217e-03 -1.082625763435e-02 -1.369569040251e-02 -1.651787620481e-02 --1.928689496243e-02 -2.199697698773e-02 -2.464251459379e-02 -2.721807329148e-02 --2.971840255271e-02 -3.213844611903e-02 -3.447335183621e-02 -3.671848099634e-02 --3.886941717007e-02 -4.092197451301e-02 -4.287220553130e-02 -4.471640829262e-02 --4.645113307028e-02 -4.807318840906e-02 -4.957964660305e-02 -5.096784857677e-02 --5.223540816234e-02 -5.338021576663e-02 -5.440044142386e-02 -5.529453723023e-02 --5.606123915857e-02 -5.669956825245e-02 -5.720883120029e-02 -5.758862029145e-02 --5.783881275763e-02 -5.795956950415e-02 -5.795133323679e-02 -5.781482599147e-02 --5.755104607507e-02 -5.716126442675e-02 -5.664702041079e-02 -5.601011705257e-02 --5.525261573089e-02 -5.437683034061e-02 -5.338532094088e-02 -5.228088690510e-02 --5.106655958980e-02 -4.974559454052e-02 -4.832146325383e-02 -4.679784451516e-02 --4.517861533337e-02 -4.346784149330e-02 -4.166976774856e-02 -3.978880767738e-02 --3.782953322493e-02 -3.579666395606e-02 -3.369505604309e-02 -3.152969101343e-02 --2.930566428247e-02 -2.702817349742e-02 -2.470250671805e-02 -2.233403046045e-02 --1.992817763035e-02 -1.749043537227e-02 -1.502633286118e-02 -1.254142906313e-02 --1.004130049137e-02 -7.531528984243e-03 -5.017689531210e-03 -2.505338172743e-03 -6.934678916587e-15 2.492842720524e-03 4.967762272207e-03 7.419397039082e-03 -9.842462857887e-03 1.223176414801e-02 1.458220479633e-02 1.688879877472e-02 -1.914668046839e-02 2.135111469448e-02 2.349750639035e-02 2.558140995256e-02 -2.759853820777e-02 2.954477099806e-02 3.141616336386e-02 3.320895330864e-02 -3.491956913071e-02 3.654463630801e-02 3.808098392333e-02 3.952565061802e-02 -4.087589006353e-02 4.212917594121e-02 4.328320642168e-02 4.433590813660e-02 -4.528543963624e-02 4.613019432803e-02 4.686880289176e-02 4.750013516873e-02 -4.802330152312e-02 4.843765367484e-02 4.874278500464e-02 4.893853033288e-02 -4.902496517506e-02 4.900240447776e-02 4.887140084024e-02 4.863274222762e-02 -4.828744918298e-02 4.783677154644e-02 4.728218469065e-02 4.662538528277e-02 -4.586828658428e-02 4.501301330079e-02 4.406189599489e-02 4.301746507603e-02 -4.188244438241e-02 4.065974437023e-02 3.935245492708e-02 3.796383782639e-02 -3.649731884093e-02 3.495647953387e-02 3.334504874655e-02 3.166689380274e-02 -2.992601144951e-02 2.812651855569e-02 2.627264258882e-02 2.436871189244e-02 -2.241914578537e-02 2.042844450541e-02 1.840117901980e-02 1.634198072508e-02 -1.425553105917e-02 1.214655104865e-02 1.001979081395e-02 7.880019055662e-03 -5.732012544663e-03 3.580545638877e-03 1.430379849364e-03 -7.137465218882e-04 --2.847128650263e-03 -4.965105340994e-03 -7.063069044287e-03 -9.136475711889e-03 --1.118085447437e-02 -1.319181711884e-02 -1.516506734732e-02 -1.709640979658e-02 --1.898175880078e-02 -2.081714687901e-02 -2.259873293032e-02 -2.432281011960e-02 --2.598581343858e-02 -2.758432692661e-02 -2.911509053710e-02 -3.057500663591e-02 --3.196114611930e-02 -3.327075413933e-02 -3.450125542618e-02 -3.565025919711e-02 --3.671556364322e-02 -3.769515998589e-02 -3.858723609571e-02 -3.939017966780e-02 --4.010258094844e-02 -4.072323500860e-02 -4.125114356152e-02 -4.168551632193e-02 --4.202577190581e-02 -4.227153827056e-02 -4.242265269635e-02 -4.247916131053e-02 --4.244131815784e-02 -4.230958382026e-02 -4.208462359120e-02 -4.176730520968e-02 --4.135869616127e-02 -4.086006055318e-02 -4.027285557191e-02 -3.959872753301e-02 --3.883950753273e-02 -3.799720671295e-02 -3.707401115077e-02 -3.607227638571e-02 --3.499452159744e-02 -3.384342344832e-02 -3.262180960529e-02 -3.133265195645e-02 --2.997905953825e-02 -2.856427118983e-02 -2.709164795150e-02 -2.556466522485e-02 --2.398690471252e-02 -2.236204615601e-02 -2.069385889020e-02 -1.898619323381e-02 --1.724297173504e-02 -1.546818029213e-02 -1.366585916849e-02 -1.184009392259e-02 --9.995006272532e-03 -8.134744915488e-03 -6.263476322280e-03 -4.385375527155e-03 --2.504616932925e-03 -6.253651514349e-04 1.248234100769e-03 3.112063031934e-03 -4.962040710318e-03 6.794131885993e-03 8.604355680390e-03 1.038879412511e-02 -1.214360053190e-02 1.386500767619e-02 1.554933577689e-02 1.719300025595e-02 -1.879251926127e-02 2.034452093773e-02 2.184575043101e-02 2.329307661011e-02 -2.468349849486e-02 2.601415137530e-02 2.728231261083e-02 2.848540709748e-02 -2.962101239264e-02 3.068686348716e-02 3.168085721567e-02 3.260105629685e-02 -3.344569299603e-02 3.421317240339e-02 3.490207532212e-02 3.551116076145e-02 -3.603936803051e-02 3.648581842983e-02 3.684981653827e-02 3.713085109377e-02 -3.732859546769e-02 3.744290773277e-02 3.747383032626e-02 3.742158931018e-02 -3.728659323173e-02 3.706943158782e-02 3.677087289823e-02 3.639186239318e-02 -3.593351932149e-02 3.539713388664e-02 3.478416381862e-02 3.409623059028e-02 -3.333511528778e-02 3.250275414519e-02 3.160123375423e-02 3.063278596070e-02 -2.959978245979e-02 2.850472910318e-02 2.735025993118e-02 2.613913094414e-02 -2.487421362735e-02 2.355848824458e-02 2.219503691575e-02 2.078703649437e-02 -1.933775126122e-02 1.785052545076e-02 1.632877562718e-02 1.477598292730e-02 -1.319568518766e-02 1.159146897353e-02 9.966961527450e-03 8.325822655355e-03 -6.671736568086e-03 5.008403696387e-03 3.339532497358e-03 1.668831270322e-03 --6.871853145102e-15 -1.663277755294e-03 -3.317342912672e-03 -4.958568833750e-03 --6.583369196337e-03 - Type L N - 0 0 9 -1.000000000000e+00 9.995431365007e-01 9.981732973708e-01 9.958927352436e-01 -9.927051996072e-01 9.886159294654e-01 9.836316430835e-01 9.777605248430e-01 -9.710122092318e-01 9.633977620041e-01 9.549296585514e-01 9.456217595285e-01 -9.354892837886e-01 9.245487786841e-01 9.128180877951e-01 9.003163161571e-01 -8.870637930592e-01 8.730820324926e-01 8.583936913341e-01 8.430225253529e-01 -8.269933431327e-01 8.103319580098e-01 7.930651381253e-01 7.752205547002e-01 -7.568267286407e-01 7.379129755873e-01 7.185093495243e-01 6.986465850664e-01 -6.783560385471e-01 6.576696280293e-01 6.366197723676e-01 6.152393294468e-01 -5.935615337287e-01 5.716199332362e-01 5.494483261068e-01 5.270806968481e-01 -5.045511524271e-01 4.818938583271e-01 4.591429747041e-01 4.363325927745e-01 -4.134966715663e-01 3.906689751635e-01 3.678830105718e-01 3.451719663343e-01 -3.225686520215e-01 3.001054387190e-01 2.778142006333e-01 2.557262579339e-01 -2.338723209472e-01 2.122824358125e-01 1.909859317103e-01 1.700113697654e-01 -1.493864937280e-01 1.291381825264e-01 1.092924047871e-01 8.987417540594e-02 -7.090751425766e-02 5.241540711808e-02 3.441976887486e-02 1.694140909323e-02 -1.028487619225e-15 -1.638595305739e-02 -3.219913862486e-02 -4.742346358303e-02 --6.204407497545e-02 -7.604737918964e-02 -8.942105846213e-02 -1.021540846851e-01 --1.142367304979e-01 -1.256605776527e-01 -1.364185226502e-01 -1.465047796453e-01 --1.559148806314e-01 -1.646456729163e-01 -1.726953139072e-01 -1.800632632314e-01 --1.867502722230e-01 -1.927583708100e-01 -1.980908518463e-01 -2.027522529330e-01 --2.067483357832e-01 -2.100860631877e-01 -2.127735736434e-01 -2.148201537121e-01 --2.162362081830e-01 -2.170332281139e-01 -2.172237568329e-01 -2.168213539861e-01 --2.158405577195e-01 -2.142968450882e-01 -2.122065907892e-01 -2.095870243170e-01 --2.064561856448e-01 -2.028328795354e-01 -1.987366285918e-01 -1.941876251546e-01 --1.892066821602e-01 -1.838151830732e-01 -1.780350310077e-01 -1.718885971536e-01 --1.653986686265e-01 -1.585883958585e-01 -1.514812396472e-01 -1.441009179842e-01 --1.364713527783e-01 -1.286166165939e-01 -1.205608795201e-01 -1.123283562887e-01 --1.039432537543e-01 -9.542971885150e-02 -8.681178714103e-02 -7.811333205439e-02 --6.935801494513e-02 -6.056923605222e-02 -5.177008647808e-02 -4.298330128110e-02 --3.423121377956e-02 -2.553571116009e-02 -1.691819148086e-02 -8.399522155469e-03 --1.028487619225e-15 8.260687078517e-03 1.636349667821e-02 2.429006671326e-02 -3.202274837443e-02 3.954463717861e-02 4.683960205159e-02 5.389231239292e-02 -6.068826307698e-02 6.721379734912e-02 7.345612758087e-02 7.940335385353e-02 -8.504448034442e-02 9.036942949543e-02 9.536905394874e-02 1.000351462397e-01 -1.043604462423e-01 1.083386463677e-01 1.119643945218e-01 1.152332948324e-01 -1.181419061618e-01 1.206877384270e-01 1.228692467518e-01 1.246858234832e-01 -1.261377881068e-01 1.272263751013e-01 1.279537197783e-01 1.283228421551e-01 -1.283376289143e-01 1.280028135091e-01 1.273239544735e-01 1.263074120056e-01 -1.249603228902e-01 1.232905738353e-01 1.213067732963e-01 1.190182218689e-01 -1.164348813293e-01 1.135673424083e-01 1.104267913845e-01 1.070249755862e-01 -1.033741678916e-01 9.948713032114e-02 9.537707681491e-02 9.105763529064e-02 -8.654280907895e-02 8.184693783246e-02 7.698465800681e-02 7.197086301133e-02 -6.682066312776e-02 6.154934529475e-02 5.617233285596e-02 5.070514536864e-02 -4.516335856892e-02 3.956256458902e-02 3.391833252012e-02 2.824616941330e-02 -2.256148180926e-02 1.687953788548e-02 1.121543030754e-02 5.584039868720e-03 -9.813682906107e-16 -5.522337770721e-03 -1.096893733374e-02 -1.632611041383e-02 --2.158054781755e-02 -2.671934944501e-02 -3.173005300269e-02 -3.660066135776e-02 --4.131966847795e-02 -4.587608390496e-02 -5.025945571323e-02 -5.445989191001e-02 --5.846808023679e-02 -6.227530633623e-02 -6.587347025325e-02 -6.925510124285e-02 --7.241337086197e-02 -7.534210432677e-02 -7.803579012128e-02 -8.048958784776e-02 --8.269933431327e-02 -8.466154785177e-02 -8.637343088493e-02 -8.783287072958e-02 --8.903843866361e-02 -8.998938726675e-02 -9.068564605646e-02 -9.112781544345e-02 --9.131715903518e-02 -9.125559431986e-02 -9.094568176680e-02 -9.039061238318e-02 --8.959419377037e-02 -8.856083472673e-02 -8.729552844688e-02 -8.580383437062e-02 --8.409185873785e-02 -8.216623390832e-02 -8.003409650806e-02 -7.770306446669e-02 --7.518121301206e-02 -7.247704969097e-02 -6.959948848655e-02 -6.655782310482e-02 --6.336169950423e-02 -6.002108774381e-02 -5.654625322624e-02 -5.294772741363e-02 --4.923627809414e-02 -4.542287927866e-02 -4.151868080658e-02 -3.753497774042e-02 --3.348317962868e-02 -2.937477971631e-02 -2.522132418163e-02 -2.103438147799e-02 --1.682551185775e-02 -1.260623715498e-02 -8.388010902277e-03 -4.182188855652e-03 --1.028487619225e-15 4.147481894193e-03 8.249366093973e-03 1.229497204004e-02 -1.627385573126e-02 2.017583529521e-02 2.399101568496e-02 2.770981244494e-02 -3.132297449135e-02 3.482160585557e-02 3.819718634205e-02 4.144159105503e-02 -4.454710875184e-02 4.750645898377e-02 5.031280798870e-02 5.295978330336e-02 -5.544148706620e-02 5.775250798589e-02 5.988793195354e-02 6.184335128071e-02 -6.361487254867e-02 6.519912305826e-02 6.659325587311e-02 6.779495345287e-02 -6.880242987642e-02 6.961443165918e-02 7.023023717155e-02 7.064965466964e-02 -7.087301895268e-02 7.090118666487e-02 7.073553026306e-02 7.037793067472e-02 -6.983076867396e-02 6.909691500657e-02 6.817971929793e-02 6.708299778067e-02 -6.581101988180e-02 6.436849371157e-02 6.276055049912e-02 6.099272802224e-02 -5.907095308091e-02 5.700152306656e-02 5.479108668090e-02 5.244662385998e-02 -4.997542496108e-02 4.738506927143e-02 4.468340289906e-02 4.187851610764e-02 -3.897872015786e-02 3.599252371908e-02 3.292860891557e-02 2.979580707229e-02 -2.660307422553e-02 2.335946646383e-02 2.007411516497e-02 1.675620219433e-02 -1.341493512983e-02 1.005952257822e-02 6.699149646785e-03 3.342953633782e-03 -9.436728277193e-16 -3.320741317277e-03 -6.610419187885e-03 -9.860324111322e-03 --1.306191052115e-02 -1.620681851582e-02 -1.928689496242e-02 -2.229421392150e-02 --2.522109634368e-02 -2.806012899041e-02 -3.080418253391e-02 -3.344642879361e-02 --3.598035706879e-02 -3.839978953001e-02 -4.069889563417e-02 -4.287220553129e-02 --4.491462243338e-02 -4.682143391916e-02 -4.858832215099e-02 -5.021137298340e-02 --5.168708394579e-02 -5.301237108475e-02 -5.418457465452e-02 -5.520146364738e-02 --5.606123915857e-02 -5.676253658364e-02 -5.730442664918e-02 -5.768641528071e-02 --5.790844231499e-02 -5.797087906641e-02 -5.787452476069e-02 -5.762060185151e-02 --5.721075023891e-02 -5.664702041079e-02 -5.593186553183e-02 -5.506813250652e-02 --5.405905204576e-02 -5.290822776886e-02 -5.161962437502e-02 -5.019755492096e-02 --4.864666724310e-02 -4.697192956512e-02 -4.517861533338e-02 -4.327228732471e-02 --4.125878107252e-02 -3.914418765901e-02 -3.693483592234e-02 -3.463727412937e-02 --3.225825116513e-02 -2.980469729173e-02 -2.728370453004e-02 -2.470250671806e-02 --2.206845930072e-02 -1.938901890624e-02 -1.667172276413e-02 -1.392416802064e-02 --1.115399100682e-02 -8.368846514653e-03 -5.576387136151e-03 -2.784242720059e-03 --9.813682906107e-16 2.768817552632e-03 5.514769598733e-03 8.230518473086e-03 -1.090884834733e-02 1.354268396528e-02 1.612510890301e-02 1.864938330763e-02 -2.110896107025e-02 2.349750639034e-02 2.580890969058e-02 2.803730284316e-02 -3.017707367060e-02 3.222287968604e-02 3.416966104046e-02 3.601265264628e-02 -3.774739544933e-02 3.936974682327e-02 4.087589006353e-02 4.226234295964e-02 -4.352596542804e-02 4.466396618951e-02 4.567390847842e-02 4.655371477312e-02 -4.730167054004e-02 4.791642698619e-02 4.839700281770e-02 4.874278500463e-02 -4.895352855494e-02 4.902935530296e-02 4.897075172058e-02 4.877856576176e-02 -4.845400275336e-02 4.799862034808e-02 4.741432255744e-02 4.670335288527e-02 -4.586828658428e-02 4.491202206072e-02 4.383777145416e-02 4.264905042157e-02 -4.134966715663e-02 3.994371067757e-02 3.843553841795e-02 3.682976315726e-02 -3.513123932908e-02 3.334504874656e-02 3.147648578604e-02 2.953104207099e-02 -2.751439069967e-02 2.543237006067e-02 2.329096728174e-02 2.109630135776e-02 -1.885460600450e-02 1.657221228548e-02 1.425553105918e-02 1.191103529476e-02 -9.545242303916e-03 7.164695937005e-03 4.775948791249e-03 2.385544478523e-03 -1.008293621247e-15 -2.374211725654e-03 -4.730679134458e-03 -7.063069044280e-03 --9.365143392520e-03 -1.163077564077e-02 -1.385396680399e-02 -1.602886106300e-02 --1.814976092022e-02 -2.021114186023e-02 -2.220766647794e-02 -2.413419803901e-02 --2.598581343857e-02 -2.775781552631e-02 -2.944574476758e-02 -3.104539021231e-02 --3.255279974529e-02 -3.396428959353e-02 -3.527645306853e-02 -3.648616852324e-02 --3.759060650603e-02 -3.858723609570e-02 -3.947383040443e-02 -4.024847123726e-02 --4.090955289949e-02 -4.145578514536e-02 -4.188619526375e-02 -4.220012929931e-02 --4.239725240919e-02 -4.247754835824e-02 -4.244131815784e-02 -4.228917785554e-02 --4.202205548522e-02 -4.164118718939e-02 -4.114811252782e-02 -4.054466898832e-02 --3.983298571793e-02 -3.901547649476e-02 -3.809483196235e-02 -3.707401115077e-02 --3.595623231012e-02 -3.474496308396e-02 -3.344391005198e-02 -3.205700767251e-02 --3.058840665721e-02 -2.904246181152e-02 -2.742371937582e-02 -2.573690390341e-02 --2.398690471253e-02 -2.217876195056e-02 -2.031765230960e-02 -1.840887443320e-02 --1.645783405478e-02 -1.447002890888e-02 -1.245103345675e-02 -1.040648346806e-02 --8.342060500902e-03 -6.263476322287e-03 -4.176457311176e-03 -2.086728886224e-03 --1.028487619225e-15 2.078052258836e-03 4.141797914401e-03 6.185669163003e-03 -8.204175203364e-03 1.019191679861e-02 1.214360053189e-02 1.405405271848e-02 -1.591823293822e-02 1.773124715345e-02 1.948836037860e-02 2.118500886927e-02 -2.281681179972e-02 2.437958239938e-02 2.586933852051e-02 2.728231261082e-02 -2.861496106642e-02 2.986397294240e-02 3.102627800003e-02 3.209905407155e-02 -3.307973372531e-02 3.396601021598e-02 3.475584270669e-02 3.544746075170e-02 -3.603936803051e-02 3.653034532611e-02 3.691945274235e-02 3.720603115738e-02 -3.738970291204e-02 3.747037173448e-02 3.744822190398e-02 3.732371665920e-02 -3.709759585804e-02 3.677087289823e-02 3.634483090979e-02 3.582101823240e-02 -3.520124319259e-02 3.448756819749e-02 3.368230316362e-02 3.278799830097e-02 -3.180743627433e-02 3.074362376527e-02 2.959978245980e-02 2.837933948829e-02 -2.708591734532e-02 2.572332331878e-02 2.429553845842e-02 2.280670611555e-02 -2.126112008611e-02 1.966321239095e-02 1.801754072739e-02 1.632877562719e-02 -1.460168735687e-02 1.284113259644e-02 1.105204093352e-02 9.239401209958e-03 -7.408247758264e-03 5.563646565607e-03 3.710681402866e-03 1.854439956403e-03 -9.185425191250e-16 -1.847584355823e-03 -3.683296300260e-03 -5.502169807974e-03 --7.299302938287e-03 -9.069870912525e-03 -1.080913893498e-02 -1.251247472377e-02 --1.417536071871e-02 -1.579340593449e-02 -1.736235742821e-02 -1.887811135175e-02 --2.033672356062e-02 -2.173441975207e-02 -2.306760510673e-02 -2.433287340965e-02 --2.552701562760e-02 -2.664702792168e-02 -2.769011907529e-02 -2.865371731968e-02 --2.953547654045e-02 -3.033328185063e-02 -3.104525451736e-02 -3.166975623109e-02 --3.220539270811e-02 -3.265101661891e-02 -3.300572983680e-02 -3.326888500316e-02 --3.344008640725e-02 -3.351919018076e-02 -3.350630380882e-02 -3.340178496121e-02 --3.320623964916e-02 -3.292051971517e-02 -3.254571966486e-02 -3.208317285162e-02 --3.153444702669e-02 -3.090133926881e-02 -3.018587030927e-02 -2.939027826978e-02 --2.851701183216e-02 -2.756872286008e-02 -2.654825849487e-02 -2.545865274850e-02 --2.430311761806e-02 -2.308503374762e-02 -2.180794066405e-02 -2.047552661481e-02 --1.909161803650e-02 -1.766016868389e-02 -1.618524845002e-02 -1.467103190869e-02 --1.312178661124e-02 -1.154186117015e-02 -9.935673162460e-03 -8.307696886265e-03 --6.662451004076e-03 -5.004486106753e-03 -3.338372232010e-03 -1.668686371455e-03 --9.436728277193e-16 1.663133338602e-03 3.316190356713e-03 4.954690225091e-03 -6.574206619914e-03 - Type L N - 0 0 10 -1.000000000000e+00 9.994472110789e-01 9.977899443184e-01 9.950314971204e-01 -9.911773564758e-01 9.862351859690e-01 9.802148076310e-01 9.731281786890e-01 -9.649893632704e-01 9.558144991363e-01 9.456217595285e-01 9.344313102292e-01 -9.222652619442e-01 9.091476181311e-01 8.951042184077e-01 8.801626776859e-01 -8.643523211873e-01 8.477041155076e-01 8.302505959068e-01 8.120257900115e-01 -7.930651381253e-01 7.734054103500e-01 7.530846207322e-01 7.321419386517e-01 -7.106175976801e-01 6.885528021412e-01 6.659896316114e-01 6.429709436022e-01 -6.195402746735e-01 5.957417402274e-01 5.716199332362e-01 5.472198221610e-01 -5.225866483191e-01 4.977658229563e-01 4.728028242863e-01 4.477430947521e-01 -4.226319387680e-01 3.975144211975e-01 3.724352668186e-01 3.474387610269e-01 -3.225686520215e-01 2.978680547147e-01 2.733793566015e-01 2.491441258191e-01 -2.252030216196e-01 2.015957074738e-01 1.783607670137e-01 1.555356230162e-01 -1.331564596210e-01 1.112581479646e-01 8.987417540594e-02 6.903657850743e-02 -4.877587992491e-02 2.912102934951e-02 1.009934863344e-02 -8.263518780022e-03 --2.594365401352e-02 -4.291890440307e-02 -5.916892055123e-02 -7.467518871405e-02 --8.942105846214e-02 -1.033917655690e-01 -1.165744500923e-01 -1.289581696271e-01 --1.405339077219e-01 -1.512945774624e-01 -1.612350202393e-01 -1.703519997303e-01 --1.786441911383e-01 -1.861121657396e-01 -1.927583708100e-01 -1.985871050064e-01 --2.036044892942e-01 -2.078184335230e-01 -2.112385987623e-01 -2.138763555209e-01 --2.157447379844e-01 -2.168583944138e-01 -2.172335338584e-01 -2.168878693459e-01 --2.158405577195e-01 -2.141121363025e-01 -2.117244565748e-01 -2.087006150560e-01 --2.050648815952e-01 -2.008426252725e-01 -1.960602381230e-01 -1.907450569001e-01 --1.849252830975e-01 -1.786299014517e-01 -1.718885971536e-01 -1.647316719951e-01 --1.571899596821e-01 -1.492947405431e-01 -1.410776558659e-01 -1.325706220924e-01 --1.238057450998e-01 -1.148152347989e-01 -1.056313202729e-01 -9.628616568005e-02 --8.681178714103e-02 -7.723997082428e-02 -6.760219244175e-02 -5.792953835984e-02 --4.825262852564e-02 -3.860154140213e-02 -2.900574109914e-02 -1.949400687983e-02 --1.009436521454e-02 -8.340245460715e-04 8.260687078522e-03 1.716438136307e-02 -2.585266596732e-02 3.430219743426e-02 4.249073072232e-02 5.039716523482e-02 -5.800158724985e-02 6.528530866417e-02 7.223090197555e-02 7.882223143918e-02 -8.504448034442e-02 9.088417436983e-02 9.632920098520e-02 1.013688248810e-01 -1.059936994162e-01 1.101958740880e-01 1.139687980356e-01 1.173073196045e-01 -1.202076820060e-01 1.226675151177e-01 1.246858234832e-01 1.262629705772e-01 -1.274006594126e-01 1.281019095783e-01 1.283710308022e-01 1.282135931456e-01 -1.276363939434e-01 1.266474216127e-01 1.252558164592e-01 1.234718286214e-01 -1.213067732963e-01 1.187729833992e-01 1.158837598151e-01 1.126533194059e-01 -1.090967409418e-01 1.052299091315e-01 1.010694569264e-01 9.663270628380e-02 -9.193760756917e-02 8.700267778782e-02 8.184693783246e-02 7.648984893776e-02 -7.095124853243e-02 6.525128568020e-02 5.941035630050e-02 5.344903835888e-02 -4.738802721590e-02 4.124807132124e-02 3.504990843726e-02 2.881420257339e-02 -2.256148180925e-02 1.631207718022e-02 1.008606279507e-02 3.903197350047e-03 --2.217132801385e-03 -8.255968869827e-03 -1.419483299505e-02 -2.001577961440e-02 --2.570144470082e-02 -3.123509274427e-02 -3.660066135776e-02 -4.178280339732e-02 --4.676692649316e-02 -5.153922989805e-02 -5.608673856737e-02 -6.039733439403e-02 --6.445978453086e-02 -6.826376674180e-02 -7.179989173278e-02 -7.505972242229e-02 --7.803579012129e-02 -8.072160760124e-02 -8.311167903879e-02 -8.520150683466e-02 --8.698759531398e-02 -8.846745132433e-02 -8.963958175685e-02 -9.050348802510e-02 --9.105965754475e-02 -9.130955226611e-02 -9.125559431986e-02 -9.090114884454e-02 --9.025050407227e-02 -8.930884875676e-02 -8.808224703522e-02 -8.657761082247e-02 --8.480266984257e-02 -8.276593940935e-02 -8.047668607331e-02 -7.794489125769e-02 --7.518121301206e-02 -7.219694601593e-02 -6.900397996969e-02 -6.561475651370e-02 --6.204222481980e-02 -5.829979600261e-02 -5.440129650023e-02 -5.036092057600e-02 --4.619318209477e-02 -4.191286572765e-02 -3.753497774042e-02 -3.307469652025e-02 --2.854732299567e-02 -2.396823110323e-02 -1.935281845357e-02 -1.471645734749e-02 --1.007444629063e-02 -5.441962152592e-03 -8.340131134693e-04 3.734607462995e-03 -8.249366093978e-03 1.269603304869e-02 1.706072489944e-02 2.132994563090e-02 -2.549062619148e-02 2.953016237590e-02 3.343645093440e-02 3.719792381012e-02 -4.080358041244e-02 4.424301784129e-02 4.750645898377e-02 5.058477841218e-02 -5.346952601928e-02 5.615294833457e-02 5.862800747246e-02 6.088839767150e-02 -6.292855939077e-02 6.474369093825e-02 6.632975761306e-02 6.768349835174e-02 -6.880242987642e-02 6.968484835051e-02 7.032982855517e-02 7.073722060764e-02 -7.090764424978e-02 7.084248074266e-02 7.054386241019e-02 7.001465988192e-02 -6.925846709169e-02 6.827958409586e-02 6.708299778067e-02 6.567436053492e-02 -6.405996696958e-02 6.224672877171e-02 6.024214778529e-02 5.805428741631e-02 -5.569174246433e-02 5.316360748664e-02 5.047944380534e-02 4.764924527090e-02 -4.468340289906e-02 4.159266850062e-02 3.838811742612e-02 3.508111054918e-02 -3.168325561403e-02 2.820636807394e-02 2.466243154773e-02 2.106355802239e-02 -1.742194792929e-02 1.374985022146e-02 1.005952257821e-02 6.363191862465e-03 -2.673014954357e-03 -9.989599172428e-04 -4.640831226017e-03 -8.240881465704e-03 --1.178761362031e-02 -1.526978667692e-02 -1.867645007470e-02 -2.199697698773e-02 --2.522109634369e-02 -2.833892348486e-02 -3.134098938305e-02 -3.421826832488e-02 --3.696220398950e-02 -3.956473384618e-02 -4.201831180501e-02 -4.431592906008e-02 --4.645113307028e-02 -4.841804462941e-02 -5.021137298340e-02 -5.182642895904e-02 --5.325913607509e-02 -5.450603961314e-02 -5.556431363235e-02 -5.643176591865e-02 --5.710684086569e-02 -5.758862029145e-02 -5.787682220067e-02 -5.797179751029e-02 --5.787452476069e-02 -5.758660284245e-02 -5.711024177417e-02 -5.644825157280e-02 --5.560402926396e-02 -5.458154408524e-02 -5.338532094088e-02 -5.202042217149e-02 --5.049242770755e-02 -4.880741367987e-02 -4.697192956511e-02 -4.499297394823e-02 --4.287796898795e-02 -4.063473367489e-02 -3.827145597526e-02 -3.579666395606e-02 --3.321919599056e-02 -3.054817014492e-02 -2.779295284911e-02 -2.496312695688e-02 --2.206845930072e-02 -1.911886784914e-02 -1.612438857380e-02 -1.309514213469e-02 --1.004130049137e-02 -6.973053547895e-03 -3.900575938423e-03 -8.339940593414e-04 -2.216646547523e-03 5.241413357844e-03 8.230518473092e-03 1.117434957576e-02 -1.406350013570e-02 1.688879877471e-02 1.964133769970e-02 2.231250011820e-02 -2.489398655389e-02 2.737783998349e-02 2.975646972084e-02 3.202267397836e-02 -3.416966104046e-02 3.619106898875e-02 3.808098392333e-02 3.983395662993e-02 -4.144501764788e-02 4.290969069902e-02 4.422400444354e-02 4.538450253385e-02 -4.638825194349e-02 4.723284955377e-02 4.791642698619e-02 4.843765367484e-02 -4.879573817824e-02 4.899042773607e-02 4.902200608166e-02 4.889128952662e-02 -4.859962133973e-02 4.814886444721e-02 4.754139248701e-02 4.678007925480e-02 -4.586828658428e-02 4.480985070932e-02 4.360906715996e-02 4.227067424894e-02 -4.079983520939e-02 3.920211904877e-02 3.748348018731e-02 3.565023695355e-02 -3.370904901215e-02 3.166689380274e-02 2.953104207099e-02 2.730903257588e-02 -2.500864605923e-02 2.263787856540e-02 2.020491420100e-02 1.771809742553e-02 -1.518590496513e-02 1.261691744214e-02 1.001979081395e-02 7.403227714403e-03 -4.775948791243e-03 2.146664132266e-03 -4.759551275889e-04 -3.083304927193e-03 --5.666876038484e-03 -8.218281375879e-03 -1.072928276960e-02 -1.319181711884e-02 --1.559802184300e-02 -1.794025955212e-02 -2.021114186023e-02 -2.240355226875e-02 --2.451066805029e-02 -2.652598106675e-02 -2.844331745951e-02 -3.025685615326e-02 --3.196114611930e-02 -3.355112234832e-02 -3.502212048713e-02 -3.636989009825e-02 --3.759060650603e-02 -3.868088119771e-02 -3.963777075253e-02 -4.045878427703e-02 --4.114188932956e-02 -4.168551632193e-02 -4.208856139122e-02 -4.235038773969e-02 --4.247082544577e-02 -4.245016975381e-02 -4.228917785554e-02 -4.198906418077e-02 --4.155149421945e-02 -4.097857690240e-02 -4.027285557191e-02 -3.943729757831e-02 --3.847528254272e-02 -3.739058933031e-02 -3.618738178244e-02 -3.487019325972e-02 --3.344391005198e-02 -3.191375371399e-02 -3.028526238965e-02 -2.856427118983e-02 --2.675689169205e-02 -2.486949063283e-02 -2.290866786554e-02 -2.088123365893e-02 --1.879418541313e-02 -1.665468387165e-02 -1.447002890888e-02 -1.224763497396e-02 --9.995006272534e-03 -7.719711768134e-03 -5.429360085660e-03 -3.131574398894e-03 --8.339673840012e-04 1.455883679772e-03 3.730461581743e-03 5.982333544460e-03 -8.204175203370e-03 1.038879412511e-02 1.252915278979e-02 1.461839096487e-02 -1.664984740019e-02 1.861708077669e-02 2.051388984368e-02 2.233433268249e-02 -2.407274503779e-02 2.572375766059e-02 2.728231261082e-02 2.874367847092e-02 -3.010346442531e-02 3.135763316495e-02 3.250251257987e-02 3.353480620673e-02 -3.445160240269e-02 3.525038222110e-02 3.592902596889e-02 3.648581842983e-02 -3.691945274236e-02 3.722903292488e-02 3.741407504625e-02 3.747450704307e-02 -3.741066719032e-02 3.722330123580e-02 3.691355821350e-02 3.648298495484e-02 -3.593351932149e-02 3.526748218680e-02 3.448756819749e-02 3.359683535071e-02 -3.259869342535e-02 3.149689131030e-02 3.029550327527e-02 2.899891423368e-02 -2.761180404960e-02 2.613913094415e-02 2.458611405898e-02 2.295821523747e-02 -2.126112008610e-02 1.950071838100e-02 1.768308388613e-02 1.581445365156e-02 -1.390120686153e-02 1.194984330310e-02 9.966961527452e-03 7.959236776322e-03 -5.933398746592e-03 3.896209266459e-03 1.854439956398e-03 -1.851500519846e-04 --2.215836266612e-03 -4.230950783254e-03 -6.223903960550e-03 -8.188205751972e-03 --1.011748662635e-02 -1.200551801019e-02 -1.384623218687e-02 -1.563374158969e-02 --1.736235742821e-02 -1.902660758947e-02 -2.062125375845e-02 -2.214130770477e-02 --2.358204668567e-02 -2.493902791837e-02 -2.620810207787e-02 -2.738542578009e-02 --2.846747301330e-02 -2.945104548440e-02 -3.033328185063e-02 -3.111166581057e-02 --3.178403303238e-02 -3.234857690119e-02 -3.280385307116e-02 -3.314878281197e-02 --3.338265514341e-02 -3.350512775560e-02 -3.351622671647e-02 -3.341634497207e-02 --3.320623964916e-02 -3.288702817337e-02 -3.246018322023e-02 -3.192752651982e-02 --3.129122153972e-02 -3.055376507441e-02 -2.971797777264e-02 -2.878699363791e-02 --2.776424854012e-02 -2.665346777968e-02 -2.545865274849e-02 -2.418406673453e-02 --2.283421991993e-02 -2.141385362464e-02 -1.992792384979e-02 -1.838158417767e-02 --1.678016808619e-02 -1.512917073837e-02 -1.343423030803e-02 -1.170110890483e-02 --9.935673162455e-03 -8.143874554762e-03 -6.331729505477e-03 -4.505299357224e-03 --2.670670266093e-03 -8.339330878873e-04 9.988366780369e-04 2.821598821804e-03 -4.628368168062e-03 6.413234069001e-03 8.170379582363e-03 9.894100272720e-03 -1.157882257575e-02 1.321912166684e-02 1.480973877731e-02 1.634559790329e-02 -1.782182185480e-02 1.923374759465e-02 2.057694081947e-02 2.184720973758e-02 -2.304061800154e-02 2.415349675588e-02 2.518245576354e-02 2.612439357781e-02 -2.697650672987e-02 2.773629790500e-02 2.840158308434e-02 2.897049763238e-02 -2.944150131375e-02 2.981338222670e-02 3.008525964401e-02 3.025658575586e-02 -3.032714631269e-02 3.029706016974e-02 3.016677773849e-02 2.993707835397e-02 -2.960906657000e-02 2.918416739859e-02 2.866412051230e-02 2.805097343238e-02 -2.734707372846e-02 2.655506025855e-02 2.567785348165e-02 2.471864487758e-02 -2.368088551198e-02 2.256827378681e-02 2.138474241929e-02 2.013444469455e-02 -1.882174003967e-02 1.745117896862e-02 1.602748744963e-02 1.455555074826e-02 -1.304039680095e-02 1.148717917508e-02 9.901159673036e-03 8.287690638390e-03 -6.652197023323e-03 5.000158276982e-03 3.337090114773e-03 1.668526228842e-03 --4.381668020759e-15 -1.662973728921e-03 -3.314916758537e-03 -4.950405458315e-03 --6.564088453486e-03 - Type L N - 0 0 11 -1.000000000000e+00 9.993421562398e-01 9.973701827725e-01 9.940887486459e-01 -9.895056209813e-01 9.836316430835e-01 9.764807038877e-01 9.680696988392e-01 -9.584184823246e-01 9.475498117999e-01 9.354892837886e-01 9.222652619442e-01 -9.079087973984e-01 8.924535416387e-01 8.759356521824e-01 8.583936913341e-01 -8.398685183386e-01 8.204031752555e-01 8.000427669069e-01 7.788343352617e-01 -7.568267286407e-01 7.340704661390e-01 7.106175976801e-01 6.865215601232e-01 -6.618370298633e-01 6.366197723676e-01 6.109264891046e-01 5.848146623272e-01 -5.583423981772e-01 5.315682685834e-01 5.045511524271e-01 4.773500764507e-01 -4.500240563851e-01 4.226319387680e-01 3.952322439240e-01 3.678830105718e-01 -3.406416425154e-01 3.135647578731e-01 2.867080412837e-01 2.601260995227e-01 -2.338723209472e-01 2.079987391756e-01 1.825559013952e-01 1.575927416715e-01 -1.331564596210e-01 1.092924047871e-01 8.604396704186e-02 6.345247331782e-02 -4.155709094886e-02 2.039473788245e-02 2.017993520125e-15 -1.959494423999e-02 --3.836039164509e-02 -5.626917445165e-02 -7.329671266528e-02 -8.942105846213e-02 --1.046229325594e-01 -1.188857524890e-01 -1.321956527344e-01 -1.445414967152e-01 --1.559148806314e-01 -1.663101292031e-01 -1.757242833674e-01 -1.841570800207e-01 --1.916109239149e-01 -1.980908518463e-01 -2.036044892942e-01 -2.081619996917e-01 --2.117760265342e-01 -2.144616285503e-01 -2.162362081830e-01 -2.171194336468e-01 --2.171331548467e-01 -2.163013134635e-01 -2.146498475232e-01 -2.122065907892e-01 --2.090011673253e-01 -2.050648815952e-01 -2.004306044739e-01 -1.951326555559e-01 --1.892066821602e-01 -1.826895354318e-01 -1.756191439552e-01 -1.680343852933e-01 --1.599749558740e-01 -1.514812396472e-01 -1.425941759367e-01 -1.333551269115e-01 --1.238057450998e-01 -1.139878413639e-01 -1.039432537543e-01 -9.371371765055e-02 --8.334073759345e-02 -7.286546120296e-02 -6.232855556730e-02 -5.177008647808e-02 --4.122940087422e-02 -3.074501284472e-02 -2.035449352597e-02 -1.009436521455e-02 --2.017993520125e-15 9.894476794452e-03 1.955627809358e-02 2.895404122269e-02 -3.805790849928e-02 4.683960205159e-02 5.527249267288e-02 6.333166254088e-02 -7.099396165367e-02 7.823805785504e-02 8.504448034442e-02 9.139565658906e-02 -9.727594257839e-02 1.026716463832e-01 1.075710450049e-01 1.119643945218e-01 -1.158439335639e-01 1.192038801653e-01 1.220404220705e-01 1.243517005880e-01 -1.261377881068e-01 1.274006594126e-01 1.281441569587e-01 1.283739502669e-01 -1.280974896510e-01 1.273239544735e-01 1.260641961644e-01 1.243306762428e-01 -1.221373996013e-01 1.194998433250e-01 1.164348813293e-01 1.129607051143e-01 -1.090967409418e-01 1.048635637545e-01 1.002828081598e-01 9.537707681491e-02 -9.016984654819e-02 8.468537256426e-02 7.894859107812e-02 7.298502072940e-02 -6.682066312776e-02 6.048190288085e-02 5.399540745491e-02 4.738802721591e-02 -4.068669599532e-02 3.391833252012e-02 2.710974304059e-02 2.028752548257e-02 -1.347797544287e-02 6.706994337182e-03 1.923754862896e-15 -6.618159975096e-03 --1.312329187858e-02 -1.949193624796e-02 -2.570144470081e-02 -3.173005300269e-02 --3.755695014952e-02 -4.316234326035e-02 -4.852751809238e-02 -5.363489500754e-02 --5.846808023679e-02 -6.301191230674e-02 -6.725250351099e-02 -7.117727632701e-02 --7.477499469849e-02 -7.803579012128e-02 -8.095118249046e-02 -8.351409568469e-02 --8.571886788288e-02 -8.756125662706e-02 -8.903843866361e-02 -9.014900461356e-02 --9.089294854048e-02 -9.127165250193e-02 -9.128786618804e-02 -9.094568176680e-02 --9.025050407227e-02 -8.920901628720e-02 -8.782914128630e-02 -8.611999882078e-02 --8.409185873785e-02 -8.175609044184e-02 -7.912510881497e-02 -7.621231682701e-02 --7.303204507292e-02 -6.959948848655e-02 -6.593064048685e-02 -6.204222481980e-02 --5.795162536585e-02 -5.367681418723e-02 -4.923627809414e-02 -4.464894401152e-02 --3.993410343019e-02 -3.511133622733e-02 -3.020043414086e-02 -2.522132418163e-02 --2.019399226493e-02 -1.513840733979e-02 -1.007444629063e-02 -5.021819880604e-03 --2.017993520125e-15 4.971851523579e-03 9.874952304676e-03 1.469096672875e-02 -1.940207099963e-02 2.399101568496e-02 2.844118555012e-02 3.273665648248e-02 -3.686224932018e-02 4.080358041244e-02 4.454710875184e-02 4.808017953263e-02 -5.139106400368e-02 5.446899549907e-02 5.730420154464e-02 5.988793195354e-02 -6.221248283989e-02 6.427121649467e-02 6.605857708405e-02 6.757010214599e-02 -6.880242987642e-02 6.975330221231e-02 7.042156373406e-02 7.080715642526e-02 -7.091111034250e-02 7.073553026306e-02 7.028357839256e-02 6.955945322834e-02 -6.856836468843e-02 6.731650562847e-02 6.581101988180e-02 6.405996696958e-02 -6.207228363933e-02 5.985774240061e-02 5.742690723683e-02 5.479108668090e-02 -5.196228445150e-02 4.895314785360e-02 4.577691415454e-02 4.244735515224e-02 -3.897872015786e-02 3.538567761909e-02 3.168325561404e-02 2.788678144805e-02 -2.401182058740e-02 2.007411516497e-02 1.608952229238e-02 1.207395241270e-02 -8.043307925587e-03 4.013422314218e-03 2.074536714462e-15 -3.981442853543e-03 --7.915636371208e-03 -1.178761362030e-02 -1.558276568474e-02 -1.928689496242e-02 --2.288626649737e-02 -2.636765716683e-02 -2.971840255270e-02 -3.292644133668e-02 --3.598035706879e-02 -3.886941717006e-02 -4.158360904114e-02 -4.411367316085e-02 --4.645113307028e-02 -4.858832215099e-02 -5.051840711811e-02 -5.223540816233e-02 --5.373421568777e-02 -5.501060360585e-02 -5.606123915857e-02 -5.688368925801e-02 --5.747642334177e-02 -5.783881275763e-02 -5.797112670335e-02 -5.787452476069e-02 --5.755104607507e-02 -5.700359524489e-02 -5.623592499627e-02 -5.525261573090e-02 --5.405905204576e-02 -5.266139633442e-02 -5.106655958980e-02 -4.928216953832e-02 --4.731653624443e-02 -4.517861533338e-02 -4.287796898795e-02 -4.042472488259e-02 --3.782953322493e-02 -3.510352208092e-02 -3.225825116513e-02 -2.930566428247e-02 --2.625804061164e-02 -2.312794502346e-02 -1.992817763036e-02 -1.667172276413e-02 --1.337169758083e-02 -1.004130049137e-02 -6.693759615925e-03 -3.342281458998e-03 --1.923754862896e-15 3.320073608768e-03 6.605100548160e-03 9.842462857878e-03 -1.301981080238e-02 1.612510890301e-02 1.914668046838e-02 2.207325046213e-02 -2.489398655388e-02 2.759853820776e-02 3.017707367060e-02 3.262031473114e-02 -3.491956913070e-02 3.706676051534e-02 3.905445582979e-02 4.087589006353e-02 -4.252498827031e-02 4.399638479288e-02 4.528543963624e-02 4.638825194349e-02 -4.730167054004e-02 4.802330152311e-02 4.855151288497e-02 4.888543616976e-02 -4.902496517506e-02 4.897075172058e-02 4.872419851754e-02 4.828744918298e-02 -4.766337545415e-02 4.685556166845e-02 4.586828658428e-02 4.470650262832e-02 -4.337581266363e-02 4.188244438241e-02 4.023322243538e-02 3.843553841795e-02 -3.649731884093e-02 3.442699122049e-02 3.223344842835e-02 2.992601144952e-02 -2.751439069967e-02 2.500864605924e-02 2.241914578537e-02 1.975652446611e-02 -1.703164018409e-02 1.425553105918e-02 1.143937134083e-02 8.594427221724e-03 -5.732012544672e-03 2.863444573755e-03 1.977605524170e-15 -2.847128650254e-03 --5.666876038478e-03 -8.448346305770e-03 -1.118085447436e-02 -1.385396680399e-02 --1.645753995316e-02 -1.898175880077e-02 -2.141717278938e-02 -2.375473065794e-02 --2.598581343857e-02 -2.810226559941e-02 -3.009642422315e-02 -3.196114611929e-02 --3.368983277624e-02 -3.527645306853e-02 -3.671556364322e-02 -3.800232691919e-02 --3.913252664218e-02 -4.010258094843e-02 -4.090955289949e-02 -4.155115846070e-02 --4.202577190581e-02 -4.233242864031e-02 -4.247082544577e-02 -4.244131815784e-02 --4.224491679979e-02 -4.188327820380e-02 -4.135869616128e-02 -4.067408915282e-02 --3.983298571793e-02 -3.883950753274e-02 -3.769835027310e-02 -3.641476234815e-02 --3.499452159744e-02 -3.344391005198e-02 -3.176968686672e-02 -2.997905953825e-02 --2.807965352779e-02 -2.607948041488e-02 -2.398690471253e-02 -2.181060947877e-02 --1.955956086377e-02 -1.724297173505e-02 -1.487026452621e-02 -1.245103345675e-02 --9.995006272540e-03 -7.512005657275e-03 -5.011910466195e-03 -2.504616932934e-03 --2.017993520125e-15 2.492125077903e-03 4.962040710309e-03 7.400164381977e-03 -9.797085356249e-03 1.214360053189e-02 1.443074931854e-02 1.664984740018e-02 -1.879251926127e-02 2.085072935501e-02 2.281681179972e-02 2.468349849486e-02 -2.644394555529e-02 2.809175796926e-02 2.962101239264e-02 3.102627800003e-02 -3.230263532071e-02 3.344569299603e-02 3.445160240269e-02 3.531707009540e-02 -3.603936803051e-02 3.661634154138e-02 3.704641504493e-02 3.732859546769e-02 -3.746247338849e-02 3.744822190398e-02 3.728659323174e-02 3.697891307455e-02 -3.652707277795e-02 3.593351932149e-02 3.520124319259e-02 3.433376419947e-02 -3.333511528779e-02 3.220982443266e-02 3.096289468529e-02 2.959978245980e-02 -2.812637415265e-02 2.654896119291e-02 2.487421362735e-02 2.310915234940e-02 -2.126112008611e-02 1.933775126123e-02 1.734694085656e-02 1.529681239701e-02 -1.319568518767e-02 1.105204093352e-02 8.874489874274e-03 6.671736568095e-03 -4.452545458808e-03 2.225706361338e-03 2.049406405868e-15 -2.215836266605e-03 --4.413142401646e-03 -6.583369196328e-03 -8.718111198071e-03 -1.080913893498e-02 --1.284843031431e-02 -1.482820107631e-02 -1.674093418907e-02 -1.857940807451e-02 --2.033672356062e-02 -2.200632946071e-02 -2.358204668567e-02 -2.505809080195e-02 --2.642909295378e-02 -2.769011907529e-02 -2.883668732493e-02 -2.986478368168e-02 --3.077087565026e-02 -3.155192402979e-02 -3.220539270811e-02 -3.272925645206e-02 --3.312200667153e-02 -3.338265514341e-02 -3.351073568928e-02 -3.350630380882e-02 --3.336993427882e-02 -3.310271673550e-02 -3.270624926561e-02 -3.218263003950e-02 --3.153444702669e-02 -3.076476584194e-02 -2.987711577661e-02 -2.887547407732e-02 --2.776424854012e-02 -2.654825849487e-02 -2.523271426040e-02 -2.382319515668e-02 --2.232562616553e-02 -2.074625333617e-02 -1.909161803650e-02 -1.736853015519e-02 --1.558404036300e-02 -1.374541154539e-02 -1.186008952090e-02 -9.935673162461e-03 --7.979884040174e-03 -6.000535706114e-03 -4.005502742060e-03 -2.002689691865e-03 --2.074536714462e-15 1.994694922632e-03 3.973586385546e-03 5.928958739437e-03 -7.853219214135e-03 9.738927159240e-03 1.157882257574e-02 1.336585383013e-02 -1.509320444606e-02 1.675431887269e-02 1.834292713311e-02 1.985306826103e-02 -2.127911243902e-02 2.261578175692e-02 2.385816951469e-02 2.500175800002e-02 -2.604243467716e-02 2.697650672987e-02 2.780071390796e-02 2.851223963386e-02 -2.910872033233e-02 2.958825295378e-02 2.994940066851e-02 3.019119671670e-02 -3.031314640595e-02 3.031522725560e-02 3.019788729414e-02 2.996204152340e-02 -2.960906657000e-02 2.914079355183e-02 2.855949919399e-02 2.786789523535e-02 -2.706911617354e-02 2.616670540215e-02 2.516459980041e-02 2.406711284115e-02 -2.287891628835e-02 2.160502056109e-02 2.025075384532e-02 1.882174003968e-02 -1.732387562572e-02 1.576330555675e-02 1.414639826310e-02 1.247971987454e-02 -1.077000776347e-02 9.024143514529e-03 7.249125428436e-03 5.452040668992e-03 -3.640037163405e-03 1.820295366559e-03 1.992292068153e-15 -1.813688123845e-03 --3.613660082507e-03 -5.392886520681e-03 -7.144444916831e-03 -8.861546334083e-03 --1.053756155274e-02 -1.216604648451e-02 -1.374076677168e-02 -1.525572147799e-02 --1.670516578194e-02 -1.808363258714e-02 -1.938595296936e-02 -2.060727538420e-02 --2.174308356481e-02 -2.278921304427e-02 -2.374186624279e-02 -2.459762606586e-02 --2.535346796536e-02 -2.600677042174e-02 -2.655532381195e-02 -2.699733763383e-02 --2.733144606462e-02 -2.755671183741e-02 -2.767262842634e-02 -2.767912053772e-02 --2.757654291097e-02 -2.736567743992e-02 -2.704772863142e-02 -2.662431742473e-02 --2.609747340140e-02 -2.546962542164e-02 -2.474359072908e-02 -2.392256257177e-02 --2.301009639284e-02 -2.201009464959e-02 -2.092679032518e-02 -1.976472920154e-02 --1.852875096731e-02 -1.722396923835e-02 -1.585575057269e-02 -1.442969256548e-02 --1.295160111250e-02 -1.142746693402e-02 -9.863441453412e-03 -8.265812126754e-03 --6.640977322024e-03 -4.995420847469e-03 -3.335686230010e-03 -1.668350845144e-03 --1.923754862896e-15 1.662798928850e-03 3.313522201900e-03 4.945715167390e-03 -6.553017357490e-03 - Type L N - 0 0 12 -1.000000000000e+00 9.992279737113e-01 9.969140403446e-01 9.930646292992e-01 -9.876904326070e-01 9.808063695699e-01 9.724315374314e-01 9.625891482603e-01 -9.513064522713e-01 9.386146478614e-01 9.245487786840e-01 9.091476181311e-01 -8.924535416387e-01 8.745123872751e-01 8.553733051107e-01 8.350885959116e-01 -8.137135397329e-01 7.913062150280e-01 7.679273089187e-01 7.436399193057e-01 -7.185093495242e-01 6.926028962791e-01 6.659896316113e-01 6.387401796734e-01 -6.109264891045e-01 5.826216018117e-01 5.538994189758e-01 5.248344651059e-01 -4.955016509751e-01 4.659760362681e-01 4.363325927743e-01 4.066459689515e-01 -3.769902566815e-01 3.474387610267e-01 3.180637737844e-01 2.889363516172e-01 -2.601260995226e-01 2.317009603786e-01 2.037270112813e-01 1.762682673599e-01 -1.493864937278e-01 1.231410261944e-01 9.758860132910e-02 7.278319643154e-02 -4.877587992474e-02 2.561467264723e-02 3.344420478281e-03 -1.799332131255e-02 --3.836039164525e-02 -5.772211483790e-02 -7.604737918979e-02 -9.330870273281e-02 --1.094822859925e-01 -1.245480516486e-01 -1.384896710346e-01 -1.512945774625e-01 --1.629539664097e-01 -1.734627826524e-01 -1.828196944759e-01 -1.910270551436e-01 --1.980908518464e-01 -2.040206424053e-01 -2.088294800399e-01 -2.125338265593e-01 --2.151534543731e-01 -2.167113377586e-01 -2.172335338584e-01 -2.167490539174e-01 --2.152897253013e-01 -2.128900448716e-01 -2.095870243170e-01 -2.054200280721e-01 --2.004306044738e-01 -1.946623108294e-01 -1.881605330885e-01 -1.809723008253e-01 --1.731460982521e-01 -1.647316719950e-01 -1.557798363680e-01 -1.463422768886e-01 --1.364713527782e-01 -1.262198991891e-01 -1.156410298962e-01 -1.047879411840e-01 --9.371371765039e-02 -8.247114063505e-02 -7.111249996669e-02 -5.968940970393e-02 --4.825262852548e-02 -3.685188540241e-02 -2.553571115993e-02 -1.435127650936e-02 --3.344237101584e-03 7.441413878032e-03 1.796348508609e-02 2.818171791662e-02 -3.805790849943e-02 4.755602042277e-02 5.664228784054e-02 6.528530866430e-02 -7.345612758100e-02 8.112830867898e-02 8.827799750669e-02 9.488397243149e-02 -1.009276852081e-01 1.063932907094e-01 1.112676658148e-01 1.155404174940e-01 -1.192038801654e-01 1.222531024501e-01 1.246858234833e-01 1.265024389837e-01 -1.277059573206e-01 1.283019458554e-01 1.282984678711e-01 1.277060104357e-01 -1.265374035805e-01 1.248077312039e-01 1.225342341415e-01 1.197362058686e-01 -1.164348813293e-01 1.126533194058e-01 1.084162795664e-01 1.037500932444e-01 -9.868253051993e-02 9.324266268972e-02 8.746072131829e-02 8.136795437682e-02 -7.499648007903e-02 6.837913902881e-02 6.154934529460e-02 5.454093702501e-02 -4.738802721575e-02 4.012485523222e-02 3.278563968320e-02 2.540443323030e-02 -1.801497990466e-02 1.065057548665e-02 3.343931487162e-03 -3.872956750933e-03 --1.096893733391e-02 -1.791382400724e-02 -2.467851280607e-02 -3.123509274441e-02 --3.755695014967e-02 -4.361886627894e-02 -4.939710788436e-02 -5.486951042691e-02 --6.001555367122e-02 -6.481642942771e-02 -6.925510124296e-02 -7.331635587451e-02 --7.698684642162e-02 -8.025512701929e-02 -8.311167903885e-02 -8.554892877402e-02 --8.756125662710e-02 -8.914499784507e-02 -9.029843489015e-02 -9.102178156370e-02 --9.131715903518e-02 -9.118856396098e-02 -9.064182890880e-02 -8.968457533387e-02 --8.832615938202e-02 -8.657761082242e-02 -8.445156543886e-02 -8.196219123287e-02 --7.912510881488e-02 -7.595730638088e-02 -7.247704969087e-02 -6.870378748328e-02 --6.465805277436e-02 -6.036136050535e-02 -5.583610201132e-02 -5.110543679481e-02 --4.619318209463e-02 -4.112370074496e-02 -3.592178782306e-02 -3.061255658420e-02 --2.522132418147e-02 -1.977349766434e-02 -1.429446074439e-02 -8.809461809129e-03 --3.343503655124e-03 2.078764599710e-03 7.433152978168e-03 1.269603304885e-02 -1.784443685979e-02 2.285615200458e-02 2.770981244509e-02 3.238498473610e-02 -3.686224932032e-02 4.112327658597e-02 4.515089740462e-02 4.892916789272e-02 -5.244342816787e-02 5.568035489828e-02 5.862800747255e-02 6.127586764597e-02 -6.361487254874e-02 6.563744097142e-02 6.733749287251e-02 6.871046208299e-02 -6.975330221233e-02 7.046448578981e-02 7.084399670419e-02 7.089331603328e-02 -7.061540138289e-02 7.001465988189e-02 6.909691500653e-02 6.786936743256e-02 -6.634055013803e-02 6.452027800313e-02 6.241959217497e-02 6.005069948638e-02 -5.742690723673e-02 5.456255366062e-02 5.147293442663e-02 4.817422552287e-02 -4.468340289893e-02 4.101815924540e-02 3.719681830130e-02 3.323824708777e-02 -2.916176647231e-02 2.498706047175e-02 2.073408470507e-02 1.642297440696e-02 -1.207395241254e-02 7.707237520012e-03 3.342953633618e-03 -9.989599174016e-04 --5.298836496292e-03 -9.537368334982e-03 -1.369569040266e-02 -1.775546161334e-02 --2.169894303337e-02 -2.550907276560e-02 -2.916953720406e-02 -3.266483837116e-02 --3.598035706892e-02 -3.910241159618e-02 -4.201831180512e-02 -4.471640829272e-02 --4.718613654569e-02 -4.941805588103e-02 -5.140388304871e-02 -5.313652038720e-02 --5.461007844779e-02 -5.581989302850e-02 -5.676253658367e-02 -5.743582400033e-02 --5.783881275764e-02 -5.797179751029e-02 -5.783629916124e-02 -5.743504851314e-02 --5.677196461118e-02 -5.585212791283e-02 -5.468174844196e-02 -5.326812910599e-02 --5.161962437494e-02 -4.974559454044e-02 -4.765635579082e-02 -4.536312635556e-02 --4.287796898784e-02 -4.021373006854e-02 -3.738397562802e-02 -3.440292459373e-02 --3.128537958192e-02 -2.804665556062e-02 -2.470250671790e-02 -2.126905187582e-02 --1.776269879390e-02 -1.420006770930e-02 -1.059791446129e-02 -6.973053547736e-03 --3.342281458833e-03 2.776993699898e-04 3.870355649084e-03 7.419397039236e-03 -1.090884834749e-02 1.432311980103e-02 1.764707509662e-02 2.086609693505e-02 -2.396614976315e-02 2.693383946020e-02 2.975646972097e-02 3.242209490396e-02 -3.491956913082e-02 3.723859144079e-02 3.936974682337e-02 4.130454297152e-02 -4.303544261821e-02 4.455589133963e-02 4.586034072943e-02 4.694426686967e-02 -4.780418404585e-02 4.843765367486e-02 4.884328843635e-02 4.902075161979e-02 -4.897075172058e-02 4.869503233990e-02 4.819635746364e-02 4.747849221589e-02 -4.654617920246e-02 4.540511057875e-02 4.406189599482e-02 4.252402658784e-02 -4.079983520931e-02 3.889845308950e-02 3.682976315715e-02 3.460435024541e-02 -3.223344842822e-02 2.972888574237e-02 2.710302656088e-02 2.436871189230e-02 -2.153919788813e-02 1.862809284710e-02 1.564929300992e-02 1.261691744199e-02 -9.545242303754e-03 6.448634809500e-03 3.341487174992e-03 2.381508525979e-04 --2.847128650419e-03 -5.900276079153e-03 -8.907449578187e-03 -1.185510239980e-02 --1.473004290254e-02 -1.751949257884e-02 -2.021114186037e-02 -2.279320346191e-02 --2.525446303625e-02 -2.758432692673e-02 -2.977286681774e-02 -3.181086109920e-02 --3.368983277634e-02 -3.540208377320e-02 -3.694072549481e-02 -3.829970553127e-02 --3.947383040449e-02 -4.045878427708e-02 -4.125114356156e-02 -4.184838738664e-02 --4.224890389674e-02 -4.245199237930e-02 -4.245786123398e-02 -4.226762181585e-02 --4.188327820378e-02 -4.130771296294e-02 -4.054466898827e-02 -3.959872753295e-02 --3.847528254265e-02 -3.718051143228e-02 -3.572134245744e-02 -3.410541884732e-02 --3.234105987946e-02 -3.043721908982e-02 -2.840343982337e-02 -2.624980834151e-02 --2.398690471239e-02 -2.162575171918e-02 -1.917776202895e-02 -1.665468387151e-02 --1.406854548292e-02 -1.143159857272e-02 -8.756261076850e-03 -6.055059460365e-03 --3.340570834353e-03 -6.253651512786e-04 2.078052259000e-03 4.757297553046e-03 -7.400164382138e-03 9.994678794838e-03 1.252915278994e-02 1.499223628329e-02 -1.737296726033e-02 1.966081989565e-02 2.184575043113e-02 2.391824061559e-02 -2.586933852062e-02 2.769069656057e-02 2.937460655777e-02 3.091403170865e-02 -3.230263532080e-02 3.353480620680e-02 3.460568063597e-02 3.551116076150e-02 -3.624792945694e-02 3.681346151232e-02 3.720603115740e-02 3.742471589597e-02 -3.746939665215e-02 3.734075424653e-02 3.704026223617e-02 3.657017616935e-02 -3.593351932144e-02 3.513406499450e-02 3.417631547791e-02 3.306547778249e-02 -3.180743627425e-02 3.040872234786e-02 2.887648129230e-02 2.721843651339e-02 -2.544285128919e-02 2.355848824446e-02 2.157456673995e-02 1.950071838086e-02 -1.734694085641e-02 1.512355032887e-02 1.284113259628e-02 1.051049325735e-02 -8.142607110544e-03 5.748567021884e-03 3.339532497202e-03 9.266781948153e-04 --1.478857386156e-03 -3.866022808557e-03 -6.223903960706e-03 -8.541773454272e-03 --1.080913893514e-02 -1.301579009183e-02 -1.515184415306e-02 -1.720778967362e-02 --1.917452841683e-02 -2.104341515099e-02 -2.280629518789e-02 -2.445553950233e-02 --2.598407728330e-02 -2.738542578019e-02 -2.865371731977e-02 -2.978372338380e-02 --3.077087565033e-02 -3.161128391669e-02 -3.230175083613e-02 -3.283978341545e-02 --3.322360123548e-02 -3.345214137170e-02 -3.352506000737e-02 -3.344273074650e-02 --3.320623964913e-02 -3.281737702633e-02 -3.227862604665e-02 -3.159314822042e-02 --3.076476584187e-02 -2.979794148299e-02 -2.869775464559e-02 -2.746987569105e-02 --2.612053717863e-02 -2.465650275498e-02 -2.308503374750e-02 -2.141385362451e-02 --1.965111049394e-02 -1.780533782047e-02 -1.588541354853e-02 -1.390051782496e-02 --1.186008952075e-02 -9.773781755706e-03 -7.651416633988e-03 -5.502939400705e-03 --3.338372231846e-03 -1.167767870459e-03 9.988366781956e-04 3.151466180926e-03 -5.280252730885e-03 7.375480615454e-03 9.427630295369e-03 1.142742129759e-02 -1.336585383027e-02 1.523424893467e-02 1.702428699655e-02 1.872804444755e-02 -2.033802849617e-02 2.184720973769e-02 2.324905250247e-02 2.453754281321e-02 -2.570721383304e-02 2.675316869833e-02 2.767110064257e-02 2.845731033014e-02 -2.910872033238e-02 2.962288669104e-02 2.999800752846e-02 3.023292867675e-02 -3.032714631269e-02 3.028080659816e-02 3.009470234012e-02 2.977026669742e-02 -2.930956397516e-02 2.871527756066e-02 2.799069506760e-02 2.713969076785e-02 -2.616670540206e-02 2.507672347222e-02 2.387524813018e-02 2.256827378671e-02 -2.116225657575e-02 1.966408281765e-02 1.808103563374e-02 1.642075987274e-02 -1.469122551603e-02 1.290068973588e-02 1.105765778542e-02 9.170842904406e-03 -7.249125428275e-03 5.301511291054e-03 3.337090114614e-03 1.364993078026e-03 --6.056492390625e-04 -2.565748845676e-03 -4.506301969589e-03 -6.418430138767e-03 --8.293420528000e-03 -1.012276538856e-02 -1.189820038371e-02 -1.361174165838e-02 --1.525572147813e-02 -1.682282227921e-02 -1.830610897985e-02 -1.969905941115e-02 --2.099559273523e-02 -2.219009572795e-02 -2.327744681372e-02 -2.425303775080e-02 --2.511279287634e-02 -2.585318583225e-02 -2.647125370453e-02 -2.696460852101e-02 --2.733144606464e-02 -2.757055197189e-02 -2.768130509848e-02 -2.766367814715e-02 --2.751823556482e-02 -2.724612872880e-02 -2.684908845437e-02 -2.632941486781e-02 --2.568996470120e-02 -2.493413607671e-02 -2.406585085953e-02 -2.308953466915e-02 --2.201009464949e-02 -2.083289510797e-02 -1.956373114306e-02 -1.820880038879e-02 --1.677467301263e-02 -1.526826011074e-02 -1.369678065162e-02 -1.206772712484e-02 --1.038883005751e-02 -8.668021565174e-03 -6.913398107991e-03 -5.133182626063e-03 --3.335686229846e-03 -1.529269623132e-03 2.776955633555e-04 2.076865349952e-03 -3.859961720838e-03 5.618810496682e-03 7.345378594832e-03 9.031810508161e-03 -1.067046383786e-02 1.225394372036e-02 1.377513599426e-02 1.522723895930e-02 -1.660379358668e-02 1.789871204721e-02 1.910630443240e-02 2.022130355193e-02 -2.123888770046e-02 2.215470129622e-02 2.296487330399e-02 2.366603336570e-02 -2.425532557226e-02 2.473041982179e-02 2.508952072019e-02 2.533137399184e-02 -2.545527037936e-02 2.546104702338e-02 2.534908632429e-02 2.512031230025e-02 -2.477618446632e-02 2.431868927157e-02 2.375032914176e-02 2.307410918600e-02 -2.229352163644e-02 2.141252810021e-02 2.043553971245e-02 1.936739528878e-02 -1.821333758435e-02 1.697898777482e-02 1.567031828265e-02 1.429362407897e-02 -1.285549259812e-02 1.136277240765e-02 9.822540781984e-03 8.242070332365e-03 -6.628794849553e-03 4.990274518931e-03 3.334160669886e-03 1.668160223061e-03 --1.634143446808e-13 -1.662608941446e-03 -3.312006778715e-03 -4.940620046424e-03 --6.540996242587e-03 - Type L N - 0 1 0 -0.000000000000e+00 2.496324586943e-03 4.992565169903e-03 7.488637748281e-03 -9.984458328155e-03 1.247994292576e-02 1.497500757074e-02 1.746956830960e-02 -1.996354120901e-02 2.245684235920e-02 2.494938787730e-02 2.744109391072e-02 -2.993187664049e-02 3.242165228464e-02 3.491033710152e-02 3.739784739318e-02 -3.988409950874e-02 4.236900984769e-02 4.485249486326e-02 4.733447106581e-02 -4.981485502609e-02 5.229356337864e-02 5.477051282511e-02 5.724562013760e-02 -5.971880216198e-02 6.218997582121e-02 6.465905811871e-02 6.712596614162e-02 -6.959061706418e-02 7.205292815098e-02 7.451281676033e-02 7.697020034751e-02 -7.942499646812e-02 8.187712278134e-02 8.432649705328e-02 8.677303716016e-02 -8.921666109173e-02 9.165728695442e-02 9.409483297472e-02 9.652921750237e-02 -9.896035901367e-02 1.013881761147e-01 1.038125875446e-01 1.062335121789e-01 -1.086508690324e-01 1.110645772630e-01 1.134745561744e-01 1.158807252196e-01 -1.182830040039e-01 1.206813122884e-01 1.230755699930e-01 1.254656971997e-01 -1.278516141554e-01 1.302332412759e-01 1.326104991482e-01 1.349833085341e-01 -1.373515903735e-01 1.397152657871e-01 1.420742560800e-01 1.444284827445e-01 -1.467778674634e-01 1.491223321129e-01 1.514617987661e-01 1.537961896959e-01 -1.561254273778e-01 1.584494344935e-01 1.607681339337e-01 1.630814488010e-01 -1.653893024133e-01 1.676916183067e-01 1.699883202385e-01 1.722793321902e-01 -1.745645783707e-01 1.768439832190e-01 1.791174714076e-01 1.813849678450e-01 -1.836463976791e-01 1.859016863001e-01 1.881507593431e-01 1.903935426916e-01 -1.926299624799e-01 1.948599450964e-01 1.970834171864e-01 1.993003056549e-01 -2.015105376695e-01 2.037140406635e-01 2.059107423387e-01 2.081005706678e-01 -2.102834538980e-01 2.124593205533e-01 2.146280994374e-01 2.167897196366e-01 -2.189441105226e-01 2.210912017554e-01 2.232309232857e-01 2.253632053578e-01 -2.274879785128e-01 2.296051735906e-01 2.317147217331e-01 2.338165543869e-01 -2.359106033056e-01 2.379968005530e-01 2.400750785054e-01 2.421453698545e-01 -2.442076076096e-01 2.462617251009e-01 2.483076559815e-01 2.503453342304e-01 -2.523746941547e-01 2.543956703927e-01 2.564081979159e-01 2.584122120318e-01 -2.604076483865e-01 2.623944429672e-01 2.643725321044e-01 2.663418524746e-01 -2.683023411031e-01 2.702539353656e-01 2.721965729916e-01 2.741301920661e-01 -2.760547310324e-01 2.779701286942e-01 2.798763242183e-01 2.817732571367e-01 -2.836608673490e-01 2.855390951249e-01 2.874078811063e-01 2.892671663095e-01 -2.911168921278e-01 2.929570003335e-01 2.947874330805e-01 2.966081329058e-01 -2.984190427327e-01 3.002201058720e-01 3.020112660250e-01 3.037924672851e-01 -3.055636541404e-01 3.073247714752e-01 3.090757645729e-01 3.108165791173e-01 -3.125471611955e-01 3.142674572991e-01 3.159774143269e-01 3.176769795865e-01 -3.193661007968e-01 3.210447260893e-01 3.227128040107e-01 3.243702835244e-01 -3.260171140128e-01 3.276532452789e-01 3.292786275485e-01 3.308932114717e-01 -3.324969481252e-01 3.340897890136e-01 3.356716860720e-01 3.372425916669e-01 -3.388024585987e-01 3.403512401031e-01 3.418888898529e-01 3.434153619598e-01 -3.449306109763e-01 3.464345918968e-01 3.479272601600e-01 3.494085716499e-01 -3.508784826980e-01 3.523369500845e-01 3.537839310400e-01 3.552193832474e-01 -3.566432648428e-01 3.580555344177e-01 3.594561510200e-01 3.608450741561e-01 -3.622222637916e-01 3.635876803534e-01 3.649412847309e-01 3.662830382773e-01 -3.676129028112e-01 3.689308406180e-01 3.702368144509e-01 3.715307875328e-01 -3.728127235570e-01 3.740825866892e-01 3.753403415680e-01 3.765859533068e-01 -3.778193874947e-01 3.790406101978e-01 3.802495879603e-01 3.814462878060e-01 -3.826306772390e-01 3.838027242452e-01 3.849623972932e-01 3.861096653354e-01 -3.872444978093e-01 3.883668646384e-01 3.894767362329e-01 3.905740834913e-01 -3.916588778011e-01 3.927310910397e-01 3.937906955755e-01 3.948376642687e-01 -3.958719704721e-01 3.968935880325e-01 3.979024912908e-01 3.988986550836e-01 -3.998820547434e-01 4.008526660997e-01 4.018104654798e-01 4.027554297095e-01 -4.036875361137e-01 4.046067625174e-01 4.055130872460e-01 4.064064891265e-01 -4.072869474875e-01 4.081544421604e-01 4.090089534797e-01 4.098504622838e-01 -4.106789499151e-01 4.114943982211e-01 4.122967895547e-01 4.130861067746e-01 -4.138623332458e-01 4.146254528402e-01 4.153754499369e-01 4.161123094227e-01 -4.168360166924e-01 4.175465576492e-01 4.182439187051e-01 4.189280867811e-01 -4.195990493076e-01 4.202567942248e-01 4.209013099827e-01 4.215325855415e-01 -4.221506103717e-01 4.227553744544e-01 4.233468682816e-01 4.239250828559e-01 -4.244900096913e-01 4.250416408126e-01 4.255799687559e-01 4.261049865687e-01 -4.266166878097e-01 4.271150665490e-01 4.276001173681e-01 4.280718353596e-01 -4.285302161276e-01 4.289752557874e-01 4.294069509652e-01 4.298252987985e-01 -4.302302969354e-01 4.306219435350e-01 4.310002372667e-01 4.313651773105e-01 -4.317167633563e-01 4.320549956041e-01 4.323798747633e-01 4.326914020530e-01 -4.329895792010e-01 4.332744084441e-01 4.335458925272e-01 4.338040347035e-01 -4.340488387337e-01 4.342803088856e-01 4.344984499339e-01 4.347032671597e-01 -4.348947663497e-01 4.350729537962e-01 4.352378362962e-01 4.353894211511e-01 -4.355277161658e-01 4.356527296486e-01 4.357644704103e-01 4.358629477635e-01 -4.359481715222e-01 4.360201520010e-01 4.360789000144e-01 4.361244268761e-01 -4.361567443983e-01 4.361758648910e-01 4.361818011611e-01 4.361745665118e-01 -4.361541747414e-01 4.361206401430e-01 4.360739775033e-01 4.360142021017e-01 -4.359413297098e-01 4.358553765897e-01 4.357563594941e-01 4.356442956644e-01 -4.355192028303e-01 4.353810992087e-01 4.352300035024e-01 4.350659348994e-01 -4.348889130718e-01 4.346989581745e-01 4.344960908441e-01 4.342803321983e-01 -4.340517038341e-01 4.338102278270e-01 4.335559267297e-01 4.332888235711e-01 -4.330089418547e-01 4.327163055577e-01 4.324109391297e-01 4.320928674913e-01 -4.317621160329e-01 4.314187106131e-01 4.310626775581e-01 4.306940436593e-01 -4.303128361730e-01 4.299190828181e-01 4.295128117753e-01 4.290940516853e-01 -4.286628316476e-01 4.282191812190e-01 4.277631304118e-01 4.272947096928e-01 -4.268139499814e-01 4.263208826481e-01 4.258155395130e-01 4.252979528444e-01 -4.247681553570e-01 4.242261802101e-01 4.236720610063e-01 4.231058317898e-01 -4.225275270446e-01 4.219371816928e-01 4.213348310930e-01 4.207205110384e-01 -4.200942577555e-01 4.194561079017e-01 4.188060985641e-01 4.181442672572e-01 -4.174706519215e-01 4.167852909214e-01 4.160882230437e-01 4.153794874951e-01 -4.146591239012e-01 4.139271723036e-01 4.131836731590e-01 4.124286673363e-01 -4.116621961154e-01 4.108843011849e-01 4.100950246402e-01 4.092944089813e-01 -4.084824971113e-01 4.076593323337e-01 4.068249583507e-01 4.059794192614e-01 -4.051227595591e-01 4.042550241297e-01 4.033762582496e-01 4.024865075830e-01 -4.015858181805e-01 4.006742364766e-01 3.997518092872e-01 3.988185838083e-01 -3.978746076127e-01 3.969199286486e-01 3.959545952372e-01 3.949786560700e-01 -3.939921602073e-01 3.929951570751e-01 3.919876964636e-01 3.909698285243e-01 -3.899416037679e-01 3.889030730620e-01 3.878542876287e-01 3.867952990423e-01 -3.857261592268e-01 3.846469204536e-01 3.835576353392e-01 3.824583568425e-01 -3.813491382626e-01 3.802300332363e-01 3.791010957357e-01 3.779623800657e-01 -3.768139408612e-01 3.756558330852e-01 3.744881120258e-01 3.733108332941e-01 -3.721240528212e-01 3.709278268560e-01 3.697222119625e-01 3.685072650172e-01 -3.672830432068e-01 3.660496040250e-01 3.648070052707e-01 3.635553050448e-01 -3.622945617476e-01 3.610248340765e-01 3.597461810231e-01 3.584586618706e-01 -3.571623361910e-01 3.558572638427e-01 3.545435049675e-01 3.532211199882e-01 -3.518901696055e-01 3.505507147957e-01 3.492028168076e-01 3.478465371600e-01 -3.464819376389e-01 3.451090802946e-01 3.437280274390e-01 3.423388416430e-01 -3.409415857334e-01 3.395363227901e-01 3.381231161437e-01 3.367020293723e-01 -3.352731262987e-01 3.338364709875e-01 3.323921277428e-01 3.309401611045e-01 -3.294806358460e-01 3.280136169713e-01 3.265391697118e-01 3.250573595237e-01 -3.235682520850e-01 3.220719132927e-01 3.205684092596e-01 3.190578063117e-01 -3.175401709851e-01 3.160155700232e-01 3.144840703734e-01 3.129457391847e-01 -3.114006438044e-01 3.098488517749e-01 3.082904308315e-01 3.067254488986e-01 -3.051539740871e-01 3.035760746915e-01 3.019918191867e-01 3.004012762251e-01 -2.988045146334e-01 2.972016034102e-01 2.955926117220e-01 2.939776089011e-01 -2.923566644421e-01 2.907298479988e-01 2.890972293815e-01 2.874588785536e-01 -2.858148656290e-01 2.841652608686e-01 2.825101346773e-01 2.808495576012e-01 -2.791836003245e-01 2.775123336661e-01 2.758358285769e-01 2.741541561364e-01 -2.724673875501e-01 2.707755941458e-01 2.690788473709e-01 2.673772187894e-01 -2.656707800785e-01 2.639596030256e-01 2.622437595254e-01 2.605233215765e-01 -2.587983612785e-01 2.570689508288e-01 2.553351625196e-01 2.535970687347e-01 -2.518547419463e-01 2.501082547122e-01 2.483576796723e-01 2.466030895457e-01 -2.448445571275e-01 2.430821552859e-01 2.413159569588e-01 2.395460351506e-01 -2.377724629296e-01 2.359953134243e-01 2.342146598205e-01 2.324305753585e-01 -2.306431333292e-01 2.288524070719e-01 2.270584699703e-01 2.252613954502e-01 -2.234612569758e-01 2.216581280465e-01 2.198520821945e-01 2.180431929810e-01 -2.162315339931e-01 2.144171788412e-01 2.126002011553e-01 2.107806745823e-01 -2.089586727827e-01 2.071342694274e-01 2.053075381948e-01 2.034785527677e-01 -2.016473868297e-01 1.998141140628e-01 1.979788081440e-01 1.961415427420e-01 -1.943023915143e-01 1.924614281042e-01 1.906187261374e-01 1.887743592193e-01 -1.869284009315e-01 1.850809248291e-01 1.832320044374e-01 1.813817132488e-01 -1.795301247198e-01 1.776773122681e-01 1.758233492692e-01 1.739683090534e-01 -1.721122649032e-01 1.702552900495e-01 1.683974576692e-01 1.665388408819e-01 -1.646795127467e-01 1.628195462594e-01 1.609590143495e-01 1.590979898770e-01 -1.572365456294e-01 1.553747543189e-01 1.535126885791e-01 1.516504209621e-01 -1.497880239359e-01 1.479255698805e-01 1.460631310860e-01 1.442007797486e-01 -1.423385879686e-01 1.404766277466e-01 1.386149709811e-01 1.367536894653e-01 -1.348928548840e-01 1.330325388113e-01 1.311728127067e-01 1.293137479132e-01 -1.274554156536e-01 1.255978870280e-01 1.237412330106e-01 1.218855244474e-01 -1.200308320525e-01 1.181772264058e-01 1.163247779499e-01 1.144735569874e-01 -1.126236336779e-01 1.107750780352e-01 1.089279599244e-01 1.070823490592e-01 -1.052383149991e-01 1.033959271463e-01 1.015552547434e-01 9.971636687003e-02 -9.787933244060e-02 9.604422020116e-02 9.421109872679e-02 9.238003641883e-02 -9.055110150215e-02 8.872436202235e-02 8.689988584314e-02 8.507774064353e-02 -8.325799391520e-02 8.144071295975e-02 7.962596488607e-02 7.781381660763e-02 -7.600433483984e-02 7.419758609738e-02 7.239363669160e-02 7.059255272786e-02 -6.879440010292e-02 6.699924450232e-02 6.520715139783e-02 6.341818604483e-02 -6.163241347976e-02 5.984989851753e-02 5.807070574900e-02 5.629489953847e-02 -5.452254402109e-02 5.275370310039e-02 5.098844044580e-02 4.922681949013e-02 -4.746890342708e-02 4.571475520885e-02 4.396443754362e-02 4.221801289314e-02 -4.047554347031e-02 3.873709123678e-02 3.700271790054e-02 3.527248491351e-02 -3.354645346923e-02 3.182468450046e-02 3.010723867682e-02 2.839417640254e-02 -2.668555781403e-02 2.498144277768e-02 2.328189088750e-02 2.158696146289e-02 -1.989671354636e-02 1.821120590129e-02 1.653049700966e-02 1.485464506992e-02 -1.318370799468e-02 1.151774340860e-02 9.856808646176e-03 8.200960749600e-03 -6.550256466598e-03 4.904752248310e-03 3.264504247171e-03 1.629568314813e-03 --2.450691677841e-14 -1.624145453560e-03 -3.242813109028e-03 -4.855948338718e-03 --6.463496825996e-03 - Type L N - 0 1 1 -0.000000000000e+00 4.291735428448e-03 8.583043981315e-03 1.287349883354e-02 -1.716267326116e-02 2.145014069182e-02 2.573547475531e-02 3.001824933398e-02 -3.429803861327e-02 3.857441713205e-02 4.284695983304e-02 4.711524211309e-02 -5.137883987341e-02 5.563732956983e-02 5.989028826285e-02 6.413729366771e-02 -6.837792420433e-02 7.261175904720e-02 7.683837817511e-02 8.105736242085e-02 -8.526829352072e-02 8.947075416401e-02 9.366432804228e-02 9.784859989857e-02 -1.020231555764e-01 1.061875820688e-01 1.103414675669e-01 1.144844015086e-01 -1.186159746272e-01 1.227357789992e-01 1.268434080930e-01 1.309384568164e-01 -1.350205215646e-01 1.390892002673e-01 1.431440924368e-01 1.471847992144e-01 -1.512109234179e-01 1.552220695878e-01 1.592178440342e-01 1.631978548831e-01 -1.671617121221e-01 1.711090276463e-01 1.750394153042e-01 1.789524909425e-01 -1.828478724515e-01 1.867251798097e-01 1.905840351284e-01 1.944240626958e-01 -1.982448890213e-01 2.020461428785e-01 2.058274553496e-01 2.095884598674e-01 -2.133287922588e-01 2.170480907870e-01 2.207459961937e-01 2.244221517411e-01 -2.280762032530e-01 2.317077991564e-01 2.353165905224e-01 2.389022311061e-01 -2.424643773877e-01 2.460026886113e-01 2.495168268254e-01 2.530064569210e-01 -2.564712466711e-01 2.599108667689e-01 2.633249908654e-01 2.667132956074e-01 -2.700754606748e-01 2.734111688171e-01 2.767201058901e-01 2.800019608919e-01 -2.832564259984e-01 2.864831965988e-01 2.896819713302e-01 2.928524521123e-01 -2.959943441808e-01 2.991073561218e-01 3.021911999042e-01 3.052455909129e-01 -3.082702479806e-01 3.112648934202e-01 3.142292530557e-01 3.171630562533e-01 -3.200660359520e-01 3.229379286933e-01 3.257784746512e-01 3.285874176609e-01 -3.313645052477e-01 3.341094886548e-01 3.368221228716e-01 3.395021666601e-01 -3.421493825825e-01 3.447635370265e-01 3.473444002319e-01 3.498917463154e-01 -3.524053532954e-01 3.548850031162e-01 3.573304816720e-01 3.597415788301e-01 -3.621180884535e-01 3.644598084232e-01 3.667665406600e-01 3.690380911457e-01 -3.712742699437e-01 3.734748912194e-01 3.756397732596e-01 3.777687384918e-01 -3.798616135028e-01 3.819182290567e-01 3.839384201126e-01 3.859220258413e-01 -3.878688896422e-01 3.897788591589e-01 3.916517862950e-01 3.934875272284e-01 -3.952859424260e-01 3.970468966577e-01 3.987702590090e-01 4.004559028942e-01 -4.021037060685e-01 4.037135506392e-01 4.052853230772e-01 4.068189142273e-01 -4.083142193180e-01 4.097711379712e-01 4.111895742108e-01 4.125694364708e-01 -4.139106376034e-01 4.152130948861e-01 4.164767300279e-01 4.177014691759e-01 -4.188872429201e-01 4.200339862992e-01 4.211416388040e-01 4.222101443820e-01 -4.232394514402e-01 4.242295128478e-01 4.251802859385e-01 4.260917325119e-01 -4.269638188346e-01 4.277965156404e-01 4.285897981307e-01 4.293436459731e-01 -4.300580433007e-01 4.307329787101e-01 4.313684452590e-01 4.319644404634e-01 -4.325209662940e-01 4.330380291721e-01 4.335156399653e-01 4.339538139820e-01 -4.343525709659e-01 4.347119350899e-01 4.350319349487e-01 4.353126035522e-01 -4.355539783170e-01 4.357561010584e-01 4.359190179809e-01 4.360427796690e-01 -4.361274410772e-01 4.361730615190e-01 4.361797046561e-01 4.361474384862e-01 -4.360763353314e-01 4.359664718249e-01 4.358179288979e-01 4.356307917656e-01 -4.354051499131e-01 4.351410970802e-01 4.348387312462e-01 4.344981546136e-01 -4.341194735922e-01 4.337027987817e-01 4.332482449540e-01 4.327559310359e-01 -4.322259800898e-01 4.316585192952e-01 4.310536799291e-01 4.304115973455e-01 -4.297324109555e-01 4.290162642058e-01 4.282633045577e-01 4.274736834644e-01 -4.266475563490e-01 4.257850825814e-01 4.248864254548e-01 4.239517521619e-01 -4.229812337704e-01 4.219750451979e-01 4.209333651871e-01 4.198563762794e-01 -4.187442647892e-01 4.175972207766e-01 4.164154380210e-01 4.151991139927e-01 -4.139484498252e-01 4.126636502869e-01 4.113449237518e-01 4.099924821705e-01 -4.086065410402e-01 4.071873193743e-01 4.057350396724e-01 4.042499278886e-01 -4.027322134004e-01 4.011821289769e-01 3.995999107463e-01 3.979857981635e-01 -3.963400339769e-01 3.946628641949e-01 3.929545380524e-01 3.912153079764e-01 -3.894454295514e-01 3.876451614846e-01 3.858147655706e-01 3.839545066556e-01 -3.820646526015e-01 3.801454742498e-01 3.781972453845e-01 3.762202426951e-01 -3.742147457397e-01 3.721810369068e-01 3.701194013774e-01 3.680301270870e-01 -3.659135046864e-01 3.637698275033e-01 3.615993915026e-01 3.594024952472e-01 -3.571794398579e-01 3.549305289735e-01 3.526560687102e-01 3.503563676209e-01 -3.480317366546e-01 3.456824891148e-01 3.433089406181e-01 3.409114090526e-01 -3.384902145361e-01 3.360456793733e-01 3.335781280141e-01 3.310878870103e-01 -3.285752849731e-01 3.260406525299e-01 3.234843222808e-01 3.209066287553e-01 -3.183079083684e-01 3.156884993770e-01 3.130487418352e-01 3.103889775505e-01 -3.077095500393e-01 3.050108044820e-01 3.022930876783e-01 2.995567480026e-01 -2.968021353580e-01 2.940296011322e-01 2.912394981512e-01 2.884321806341e-01 -2.856080041475e-01 2.827673255595e-01 2.799105029940e-01 2.770378957849e-01 -2.741498644292e-01 2.712467705418e-01 2.683289768085e-01 2.653968469399e-01 -2.624507456248e-01 2.594910384838e-01 2.565180920228e-01 2.535322735859e-01 -2.505339513094e-01 2.475234940741e-01 2.445012714596e-01 2.414676536964e-01 -2.384230116199e-01 2.353677166230e-01 2.323021406092e-01 2.292266559462e-01 -2.261416354184e-01 2.230474521800e-01 2.199444797088e-01 2.168330917584e-01 -2.137136623119e-01 2.105865655350e-01 2.074521757289e-01 2.043108672839e-01 -2.011630146325e-01 1.980089922025e-01 1.948491743708e-01 1.916839354168e-01 -1.885136494756e-01 1.853386904919e-01 1.821594321733e-01 1.789762479447e-01 -1.757895109016e-01 1.725995937643e-01 1.694068688318e-01 1.662117079363e-01 -1.630144823971e-01 1.598155629754e-01 1.566153198285e-01 1.534141224648e-01 -1.502123396984e-01 1.470103396041e-01 1.438084894728e-01 1.406071557664e-01 -1.374067040734e-01 1.342074990649e-01 1.310099044496e-01 1.278142829305e-01 -1.246209961609e-01 1.214304047005e-01 1.182428679721e-01 1.150587442188e-01 -1.118783904600e-01 1.087021624498e-01 1.055304146333e-01 1.023635001051e-01 -9.920177056660e-02 9.604557628443e-02 9.289526604868e-02 8.975118713151e-02 -8.661368524602e-02 8.348310450536e-02 8.035978738211e-02 7.724407466788e-02 -7.413630543332e-02 7.103681698821e-02 6.794594484201e-02 6.486402266461e-02 -6.179138224739e-02 5.872835346455e-02 5.567526423485e-02 5.263244048348e-02 -4.960020610444e-02 4.657888292306e-02 4.356879065899e-02 4.057024688941e-02 -3.758356701260e-02 3.460906421190e-02 3.164704941992e-02 2.869783128320e-02 -2.576171612706e-02 2.283900792103e-02 1.993000824438e-02 1.703501625226e-02 -1.415432864198e-02 1.128823961984e-02 8.437040868243e-03 5.601021513172e-03 -2.780468092113e-03 -2.433547768917e-05 -2.813107930559e-03 -5.585570683340e-03 --8.341447865940e-03 -1.108046635148e-02 -1.380235578603e-02 -1.650684861797e-02 --1.919368012687e-02 -2.186258845205e-02 -2.451331462065e-02 -2.714560257530e-02 --2.975919920139e-02 -3.235385435387e-02 -3.492932088364e-02 -3.748535466355e-02 --4.002171461387e-02 -4.253816272741e-02 -4.503446409415e-02 -4.751038692542e-02 --4.996570257771e-02 -5.240018557588e-02 -5.481361363611e-02 -5.720576768820e-02 --5.957643189756e-02 -6.192539368668e-02 -6.425244375612e-02 -6.655737610509e-02 --6.883998805151e-02 -7.110008025161e-02 -7.333745671913e-02 -7.555192484393e-02 --7.774329541020e-02 -7.991138261421e-02 -8.205600408150e-02 -8.417698088369e-02 --8.627413755471e-02 -8.834730210664e-02 -9.039630604499e-02 -9.242098438353e-02 --9.442117565863e-02 -9.639672194312e-02 -9.834746885961e-02 -1.002732655934e-01 --1.021739649048e-01 -1.040494231411e-01 -1.058995002478e-01 -1.077240597797e-01 --1.095229689111e-01 -1.112960984458e-01 -1.130433228266e-01 -1.147645201439e-01 --1.164595721444e-01 -1.181283642388e-01 -1.197707855094e-01 -1.213867287168e-01 --1.229760903064e-01 -1.245387704143e-01 -1.260746728727e-01 -1.275837052148e-01 --1.290657786791e-01 -1.305208082135e-01 -1.319487124786e-01 -1.333494138503e-01 --1.347228384229e-01 -1.360689160103e-01 -1.373875801476e-01 -1.386787680924e-01 --1.399424208244e-01 -1.411784830461e-01 -1.423869031819e-01 -1.435676333767e-01 --1.447206294949e-01 -1.458458511177e-01 -1.469432615411e-01 -1.480128277725e-01 --1.490545205271e-01 -1.500683142241e-01 -1.510541869820e-01 -1.520121206133e-01 --1.529421006198e-01 -1.538441161856e-01 -1.547181601715e-01 -1.555642291072e-01 --1.563823231847e-01 -1.571724462497e-01 -1.579346057935e-01 -1.586688129443e-01 --1.593750824573e-01 -1.600534327055e-01 -1.607038856690e-01 -1.613264669243e-01 --1.619212056333e-01 -1.624881345314e-01 -1.630272899154e-01 -1.635387116309e-01 --1.640224430593e-01 -1.644785311042e-01 -1.649070261774e-01 -1.653079821847e-01 --1.656814565107e-01 -1.660275100038e-01 -1.663462069604e-01 -1.666376151086e-01 --1.669018055916e-01 -1.671388529506e-01 -1.673488351076e-01 -1.675318333473e-01 --1.676879322986e-01 -1.678172199161e-01 -1.679197874610e-01 -1.679957294811e-01 --1.680451437914e-01 -1.680681314531e-01 -1.680647967533e-01 -1.680352471835e-01 --1.679795934182e-01 -1.678979492927e-01 -1.677904317807e-01 -1.676571609720e-01 --1.674982600487e-01 -1.673138552622e-01 -1.671040759088e-01 -1.668690543061e-01 --1.666089257676e-01 -1.663238285784e-01 -1.660139039692e-01 -1.656792960911e-01 --1.653201519892e-01 -1.649366215765e-01 -1.645288576067e-01 -1.640970156475e-01 --1.636412540531e-01 -1.631617339362e-01 -1.626586191402e-01 -1.621320762106e-01 --1.615822743666e-01 -1.610093854714e-01 -1.604135840036e-01 -1.597950470272e-01 --1.591539541615e-01 -1.584904875512e-01 -1.578048318357e-01 -1.570971741183e-01 --1.563677039349e-01 -1.556166132232e-01 -1.548440962904e-01 -1.540503497817e-01 --1.532355726479e-01 -1.523999661133e-01 -1.515437336425e-01 -1.506670809080e-01 --1.497702157568e-01 -1.488533481770e-01 -1.479166902640e-01 -1.469604561871e-01 --1.459848621550e-01 -1.449901263815e-01 -1.439764690515e-01 -1.429441122854e-01 --1.418932801051e-01 -1.408241983982e-01 -1.397370948832e-01 -1.386321990736e-01 --1.375097422424e-01 -1.363699573865e-01 -1.352130791900e-01 -1.340393439887e-01 --1.328489897337e-01 -1.316422559544e-01 -1.304193837223e-01 -1.291806156141e-01 --1.279261956746e-01 -1.266563693800e-01 -1.253713836005e-01 -1.240714865628e-01 --1.227569278130e-01 -1.214279581791e-01 -1.200848297328e-01 -1.187277957525e-01 --1.173571106849e-01 -1.159730301075e-01 -1.145758106902e-01 -1.131657101573e-01 --1.117429872497e-01 -1.103079016861e-01 -1.088607141251e-01 -1.074016861269e-01 --1.059310801145e-01 -1.044491593355e-01 -1.029561878238e-01 -1.014524303607e-01 --9.993815243652e-02 -9.841362021212e-02 -9.687910048013e-02 -9.533486062644e-02 --9.378116859156e-02 -9.221829283197e-02 -9.064650228155e-02 -8.906606631294e-02 --8.747725469894e-02 -8.588033757396e-02 -8.427558539545e-02 -8.266326890537e-02 --8.104365909172e-02 -7.941702715008e-02 -7.778364444522e-02 -7.614378247275e-02 --7.449771282081e-02 -7.284570713186e-02 -7.118803706451e-02 -6.952497425542e-02 --6.785679028131e-02 -6.618375662098e-02 -6.450614461754e-02 -6.282422544058e-02 --6.113827004858e-02 -5.944854915133e-02 -5.775533317251e-02 -5.605889221235e-02 --5.435949601043e-02 -5.265741390859e-02 -5.095291481399e-02 -4.924626716229e-02 --4.753773888093e-02 -4.582759735266e-02 -4.411610937911e-02 -4.240354114454e-02 --4.069015817980e-02 -3.897622532641e-02 -3.726200670080e-02 -3.554776565875e-02 --3.383376475999e-02 -3.212026573298e-02 -3.040752943992e-02 -2.869581584189e-02 --2.698538396420e-02 -2.527649186198e-02 -2.356939658596e-02 -2.186435414842e-02 --2.016161948939e-02 -1.846144644308e-02 -1.676408770452e-02 -1.506979479638e-02 --1.337881803613e-02 -1.169140650333e-02 -1.000780800722e-02 -8.328269054515e-03 --6.653034817514e-03 -4.982349102382e-03 -3.316454317742e-03 -1.655591443512e-03 --9.290480171035e-15 1.650081982682e-03 3.294417995062e-03 4.932773078292e-03 -6.564913853998e-03 - Type L N - 0 1 2 -0.000000000000e+00 6.057645291757e-03 1.211409019261e-02 1.816813459484e-02 -2.421857895701e-02 3.026422458692e-02 3.630387392438e-02 4.233633082363e-02 -4.836040083545e-02 5.437489148881e-02 6.037861257200e-02 6.637037641321e-02 -7.234899816045e-02 7.831329606071e-02 8.426209173838e-02 9.019421047277e-02 -9.610848147468e-02 1.020037381620e-01 1.078788184342e-01 1.137325649457e-01 -1.195638253778e-01 1.253714527100e-01 1.311543054889e-01 1.369112480966e-01 -1.426411510172e-01 1.483428911016e-01 1.540153518312e-01 1.596574235791e-01 -1.652680038705e-01 1.708459976401e-01 1.763903174891e-01 1.818998839385e-01 -1.873736256817e-01 1.928104798348e-01 1.982093921838e-01 2.035693174309e-01 -2.088892194377e-01 2.141680714660e-01 2.194048564169e-01 2.245985670666e-01 -2.297482063000e-01 2.348527873422e-01 2.399113339863e-01 2.449228808196e-01 -2.498864734462e-01 2.548011687073e-01 2.596660348986e-01 2.644801519840e-01 -2.692426118077e-01 2.739525183019e-01 2.786089876924e-01 2.832111487005e-01 -2.877581427417e-01 2.922491241217e-01 2.966832602285e-01 3.010597317214e-01 -3.053777327167e-01 3.096364709698e-01 3.138351680540e-01 3.179730595357e-01 -3.220493951456e-01 3.260634389475e-01 3.300144695019e-01 3.339017800270e-01 -3.377246785558e-01 3.414824880886e-01 3.451745467432e-01 3.488002078998e-01 -3.523588403430e-01 3.558498283991e-01 3.592725720702e-01 3.626264871641e-01 -3.659110054194e-01 3.691255746281e-01 3.722696587527e-01 3.753427380397e-01 -3.783443091295e-01 3.812738851612e-01 3.841309958739e-01 3.869151877036e-01 -3.896260238760e-01 3.922630844945e-01 3.948259666247e-01 3.973142843742e-01 -3.997276689683e-01 4.020657688210e-01 4.043282496018e-01 4.065147942988e-01 -4.086251032763e-01 4.106588943291e-01 4.126159027315e-01 4.144958812827e-01 -4.162986003470e-01 4.180238478906e-01 4.196714295127e-01 4.212411684736e-01 -4.227329057167e-01 4.241464998881e-01 4.254818273497e-01 4.267387821894e-01 -4.279172762261e-01 4.290172390104e-01 4.300386178210e-01 4.309813776567e-01 -4.318455012237e-01 4.326309889187e-01 4.333378588077e-01 4.339661466002e-01 -4.345159056188e-01 4.349872067653e-01 4.353801384813e-01 4.356948067050e-01 -4.359313348240e-01 4.360898636233e-01 4.361705512287e-01 4.361735730472e-01 -4.360991217012e-01 4.359474069605e-01 4.357186556685e-01 4.354131116650e-01 -4.350310357045e-01 4.345727053707e-01 4.340384149863e-01 4.334284755195e-01 -4.327432144854e-01 4.319829758443e-01 4.311481198955e-01 4.302390231672e-01 -4.292560783023e-01 4.281996939408e-01 4.270702945978e-01 4.258683205377e-01 -4.245942276447e-01 4.232484872898e-01 4.218315861934e-01 4.203440262848e-01 -4.187863245581e-01 4.171590129235e-01 4.154626380564e-01 4.136977612420e-01 -4.118649582169e-01 4.099648190067e-01 4.079979477610e-01 4.059649625843e-01 -4.038664953643e-01 4.017031915961e-01 3.994757102038e-01 3.971847233590e-01 -3.948309162959e-01 3.924149871231e-01 3.899376466332e-01 3.873996181087e-01 -3.848016371254e-01 3.821444513525e-01 3.794288203509e-01 3.766555153674e-01 -3.738253191273e-01 3.709390256240e-01 3.679974399062e-01 3.650013778619e-01 -3.619516660012e-01 3.588491412354e-01 3.556946506550e-01 3.524890513043e-01 -3.492332099545e-01 3.459280028748e-01 3.425743156007e-01 3.391730427008e-01 -3.357250875417e-01 3.322313620507e-01 3.286927864770e-01 3.251102891507e-01 -3.214848062405e-01 3.178172815100e-01 3.141086660715e-01 3.103599181392e-01 -3.065720027808e-01 3.027458916671e-01 2.988825628215e-01 2.949830003670e-01 -2.910481942728e-01 2.870791400995e-01 2.830768387438e-01 2.790422961814e-01 -2.749765232094e-01 2.708805351884e-01 2.667553517828e-01 2.626019967016e-01 -2.584214974372e-01 2.542148850054e-01 2.499831936829e-01 2.457274607465e-01 -2.414487262099e-01 2.371480325622e-01 2.328264245044e-01 2.284849486875e-01 -2.241246534486e-01 2.197465885493e-01 2.153518049117e-01 2.109413543570e-01 -2.065162893421e-01 2.020776626981e-01 1.976265273686e-01 1.931639361477e-01 -1.886909414203e-01 1.842085949006e-01 1.797179473734e-01 1.752200484348e-01 -1.707159462339e-01 1.662066872156e-01 1.616933158642e-01 1.571768744477e-01 -1.526584027636e-01 1.481389378853e-01 1.436195139099e-01 1.391011617074e-01 -1.345849086707e-01 1.300717784677e-01 1.255627907937e-01 1.210589611267e-01 -1.165613004829e-01 1.120708151746e-01 1.075885065698e-01 1.031153708529e-01 -9.865239878758e-02 9.420057548197e-02 8.976088015483e-02 8.533428590431e-02 -8.092175947859e-02 7.652426104855e-02 7.214274398262e-02 6.777815462382e-02 -6.343143206906e-02 5.910350795073e-02 5.479530622064e-02 5.050774293645e-02 -4.624172605044e-02 4.199815520094e-02 3.777792150620e-02 3.358190736100e-02 -2.941098623583e-02 2.526602247890e-02 2.114787112076e-02 1.705737768195e-02 -1.299537798329e-02 8.962697959276e-03 4.960153474277e-03 9.885501418266e-04 --2.951316853084e-03 -6.858662928623e-03 -1.073271427760e-02 -1.457270803581e-02 --1.837789244712e-02 -2.214752702537e-02 -2.588088271296e-02 -2.957724203610e-02 --3.323589925677e-02 -3.685616052122e-02 -4.043734400507e-02 -4.397878005499e-02 --4.747981132682e-02 -5.093979292026e-02 -5.435809250992e-02 -5.773409047285e-02 --6.106718001243e-02 -6.435676727870e-02 -6.760227148491e-02 -7.080312502047e-02 --7.395877356020e-02 -7.706867616980e-02 -8.013230540758e-02 -8.314914742247e-02 --8.611870204815e-02 -8.904048289344e-02 -9.191401742883e-02 -9.473884706918e-02 --9.751452725254e-02 -1.002406275151e-01 -1.029167315623e-01 -1.055424373360e-01 --1.081173570775e-01 -1.106411173875e-01 -1.131133592807e-01 -1.155337382378e-01 --1.179019242531e-01 -1.202176018776e-01 -1.224804702591e-01 -1.246902431776e-01 --1.268466490771e-01 -1.289494310933e-01 -1.309983470776e-01 -1.329931696165e-01 --1.349336860480e-01 -1.368196984730e-01 -1.386510237637e-01 -1.404274935675e-01 --1.421489543068e-01 -1.438152671755e-01 -1.454263081311e-01 -1.469819678830e-01 --1.484821518772e-01 -1.499267802761e-01 -1.513157879361e-01 -1.526491243796e-01 --1.539267537644e-01 -1.551486548486e-01 -1.563148209519e-01 -1.574252599131e-01 --1.584799940440e-01 -1.594790600789e-01 -1.604225091215e-01 -1.613104065866e-01 --1.621428321394e-01 -1.629198796306e-01 -1.636416570279e-01 -1.643082863435e-01 --1.649199035588e-01 -1.654766585451e-01 -1.659787149804e-01 -1.664262502634e-01 --1.668194554238e-01 -1.671585350286e-01 -1.674437070858e-01 -1.676752029444e-01 --1.678532671906e-01 -1.679781575418e-01 -1.680501447358e-01 -1.680695124184e-01 --1.680365570265e-01 -1.679515876685e-01 -1.678149260022e-01 -1.676269061082e-01 --1.673878743619e-01 -1.670981893012e-01 -1.667582214918e-01 -1.663683533897e-01 --1.659289792006e-01 -1.654405047364e-01 -1.649033472693e-01 -1.643179353826e-01 --1.636847088194e-01 -1.630041183284e-01 -1.622766255068e-01 -1.615027026413e-01 --1.606828325460e-01 -1.598175083983e-01 -1.589072335721e-01 -1.579525214688e-01 --1.569538953461e-01 -1.559118881443e-01 -1.548270423105e-01 -1.536999096209e-01 --1.525310510007e-01 -1.513210363424e-01 -1.500704443212e-01 -1.487798622099e-01 --1.474498856905e-01 -1.460811186652e-01 -1.446741730647e-01 -1.432296686553e-01 --1.417482328444e-01 -1.402305004843e-01 -1.386771136742e-01 -1.370887215615e-01 --1.354659801405e-01 -1.338095520513e-01 -1.321201063757e-01 -1.303983184336e-01 --1.286448695767e-01 -1.268604469820e-01 -1.250457434442e-01 -1.232014571667e-01 --1.213282915519e-01 -1.194269549906e-01 -1.174981606509e-01 -1.155426262657e-01 --1.135610739201e-01 -1.115542298380e-01 -1.095228241678e-01 -1.074675907683e-01 --1.053892669932e-01 -1.032885934764e-01 -1.011663139158e-01 -9.902317485756e-02 --9.685992548010e-02 -9.467731737761e-02 -9.247610434384e-02 -9.025704215565e-02 --8.802088835674e-02 -8.576840204139e-02 -8.350034363841e-02 -8.121747469527e-02 --7.892055766257e-02 -7.661035567879e-02 -7.428763235551e-02 -7.195315156299e-02 --6.960767721639e-02 -6.725197306245e-02 -6.488680246692e-02 -6.251292820257e-02 --6.013111223805e-02 -5.774211552749e-02 -5.534669780101e-02 -5.294561735614e-02 --5.053963085020e-02 -4.812949309377e-02 -4.571595684517e-02 -4.329977260615e-02 --4.088168841881e-02 -3.846244966364e-02 -3.604279885905e-02 -3.362347546212e-02 --3.120521567084e-02 -2.878875222779e-02 -2.637481422536e-02 -2.396412691254e-02 --2.155741150330e-02 -1.915538498668e-02 -1.675875993862e-02 -1.436824433548e-02 --1.198454136947e-02 -9.608349265921e-03 -7.240361102419e-03 -4.881264629992e-03 --2.531742096235e-03 -1.924700705176e-04 2.135880728715e-03 4.452645604499e-03 -6.757166049726e-03 9.048789913281e-03 1.132687156392e-02 1.359077205184e-02 -1.583985926787e-02 1.807350810032e-02 2.029110058933e-02 2.249202607883e-02 -2.467568136597e-02 2.684147084793e-02 2.898880666628e-02 3.111710884866e-02 -3.322580544777e-02 3.531433267779e-02 3.738213504801e-02 3.942866549371e-02 -4.145338550431e-02 4.345576524869e-02 4.543528369771e-02 4.739142874380e-02 -4.932369731770e-02 5.123159550235e-02 5.311463864369e-02 5.497235145865e-02 -5.680426814004e-02 5.860993245852e-02 6.038889786141e-02 6.214072756859e-02 -6.386499466524e-02 6.556128219149e-02 6.722918322899e-02 6.886830098432e-02 -7.047824886926e-02 7.205865057793e-02 7.360914016073e-02 7.512936209506e-02 -7.661897135291e-02 7.807763346516e-02 7.950502458272e-02 8.090083153442e-02 -8.226475188160e-02 8.359649396955e-02 8.489577697561e-02 8.616233095403e-02 -8.739589687760e-02 8.859622667597e-02 8.976308327066e-02 9.089624060691e-02 -9.199548368210e-02 9.306060857102e-02 9.409142244780e-02 9.508774360455e-02 -9.604940146679e-02 9.697623660553e-02 9.786810074617e-02 9.872485677404e-02 -9.954637873680e-02 1.003325518435e-01 1.010832724605e-01 1.017984481038e-01 -1.024779974292e-01 1.031218502174e-01 1.037299473580e-01 1.043022408287e-01 -1.048386936725e-01 1.053392799704e-01 1.058039848127e-01 1.062328042653e-01 -1.066257453348e-01 1.069828259286e-01 1.073040748135e-01 1.075895315703e-01 -1.078392465461e-01 1.080532808026e-01 1.082317060623e-01 1.083746046517e-01 -1.084820694408e-01 1.085542037805e-01 1.085911214368e-01 1.085929465218e-01 -1.085598134227e-01 1.084918667272e-01 1.083892611464e-01 1.082521614352e-01 -1.080807423093e-01 1.078751883606e-01 1.076356939687e-01 1.073624632107e-01 -1.070557097679e-01 1.067156568306e-01 1.063425369993e-01 1.059365921843e-01 -1.054980735025e-01 1.050272411721e-01 1.045243644044e-01 1.039897212934e-01 -1.034235987037e-01 1.028262921553e-01 1.021981057065e-01 1.015393518350e-01 -1.008503513160e-01 1.001314330992e-01 9.938293418293e-02 9.860519948654e-02 -9.779858172102e-02 9.696344125737e-02 9.610014599323e-02 9.520907121766e-02 -9.429059947404e-02 9.334512042133e-02 9.237303069346e-02 9.137473375723e-02 -9.035063976843e-02 8.930116542647e-02 8.822673382747e-02 8.712777431584e-02 -8.600472233443e-02 8.485801927336e-02 8.368811231739e-02 8.249545429210e-02 -8.128050350877e-02 8.004372360812e-02 7.878558340283e-02 7.750655671905e-02 -7.620712223680e-02 7.488776332941e-02 7.354896790198e-02 7.219122822898e-02 -7.081504079101e-02 6.942090611072e-02 6.800932858799e-02 6.658081633451e-02 -6.513588100758e-02 6.367503764340e-02 6.219880448981e-02 6.070770283852e-02 -5.920225685694e-02 5.768299341955e-02 5.615044193901e-02 5.460513419693e-02 -5.304760417444e-02 5.147838788255e-02 4.989802319239e-02 4.830704966538e-02 -4.670600838332e-02 4.509544177855e-02 4.347589346415e-02 4.184790806431e-02 -4.021203104476e-02 3.856880854353e-02 3.691878720195e-02 3.526251399594e-02 -3.360053606767e-02 3.193340055767e-02 3.026165443743e-02 2.858584434239e-02 -2.690651640569e-02 2.522421609232e-02 2.353948803412e-02 2.185287586535e-02 -2.016492205910e-02 1.847616776446e-02 1.678715264456e-02 1.509841471550e-02 -1.341049018621e-02 1.172391329930e-02 1.003921617299e-02 8.356928644037e-03 -6.677578111852e-03 5.001689383741e-03 3.329784521373e-03 1.662382688506e-03 --1.014198008344e-14 -1.656850627876e-03 -3.307659625620e-03 -4.951920917442e-03 --6.589132066615e-03 - Type L N - 0 1 3 -0.000000000000e+00 7.814122690500e-03 1.562566868360e-02 2.343206229337e-02 -3.123072985648e-02 3.901910074235e-02 4.679460836213e-02 5.455469117579e-02 -6.229679369723e-02 7.001836749665e-02 7.771687220002e-02 8.538977648500e-02 -9.303455907313e-02 1.006487097176e-01 1.082297301863e-01 1.157751352398e-01 -1.232824536041e-01 1.307492289365e-01 1.381730207862e-01 1.455514055471e-01 -1.528819774045e-01 1.601623492731e-01 1.673901537278e-01 1.745630439255e-01 -1.816786945189e-01 1.887348025602e-01 1.957290883961e-01 2.026592965522e-01 -2.095231966074e-01 2.163185840577e-01 2.230432811687e-01 2.296951378169e-01 -2.362720323192e-01 2.427718722500e-01 2.491925952466e-01 2.555321698005e-01 -2.617885960372e-01 2.679599064811e-01 2.740441668073e-01 2.800394765795e-01 -2.859439699728e-01 2.917558164826e-01 2.974732216175e-01 3.030944275781e-01 -3.086177139192e-01 3.140413981968e-01 3.193638365984e-01 3.245834245575e-01 -3.296985973511e-01 3.347078306804e-01 3.396096412342e-01 3.444025872356e-01 -3.490852689701e-01 3.536563292967e-01 3.581144541406e-01 3.624583729681e-01 -3.666868592425e-01 3.707987308618e-01 3.747928505779e-01 3.786681263961e-01 -3.824235119562e-01 3.860580068944e-01 3.895706571850e-01 3.929605554638e-01 -3.962268413307e-01 3.993687016333e-01 4.023853707308e-01 4.052761307368e-01 -4.080403117436e-01 4.106772920251e-01 4.131864982204e-01 4.155674054966e-01 -4.178195376915e-01 4.199424674358e-01 4.219358162554e-01 4.237992546526e-01 -4.255325021671e-01 4.271353274170e-01 4.286075481190e-01 4.299490310879e-01 -4.311596922160e-01 4.322394964326e-01 4.331884576420e-01 4.340066386425e-01 -4.346941510237e-01 4.352511550455e-01 4.356778594951e-01 4.359745215251e-01 -4.361414464714e-01 4.361789876513e-01 4.360875461417e-01 4.358675705376e-01 -4.355195566920e-01 4.350440474349e-01 4.344416322746e-01 4.337129470789e-01 -4.328586737381e-01 4.318795398086e-01 4.307763181386e-01 4.295498264749e-01 -4.282009270517e-01 4.267305261617e-01 4.251395737088e-01 4.234290627438e-01 -4.216000289823e-01 4.196535503061e-01 4.175907462470e-01 4.154127774542e-01 -4.131208451458e-01 4.107161905434e-01 4.082000942915e-01 4.055738758607e-01 -4.028388929362e-01 3.999965407908e-01 3.970482516432e-01 3.939954940025e-01 -3.908397719974e-01 3.875826246927e-01 3.842256253917e-01 3.807703809252e-01 -3.772185309284e-01 3.735717471047e-01 3.698317324772e-01 3.660002206286e-01 -3.620789749300e-01 3.580697877574e-01 3.539744796986e-01 3.497948987490e-01 -3.455329194973e-01 3.411904423020e-01 3.367693924580e-01 3.322717193544e-01 -3.276993956239e-01 3.230544162842e-01 3.183387978704e-01 3.135545775621e-01 -3.087038123009e-01 3.037885779036e-01 2.988109681678e-01 2.937730939718e-01 -2.886770823698e-01 2.835250756809e-01 2.783192305746e-01 2.730617171515e-01 -2.677547180202e-01 2.624004273707e-01 2.570010500456e-01 2.515588006072e-01 -2.460759024041e-01 2.405545866350e-01 2.349970914112e-01 2.294056608186e-01 -2.237825439790e-01 2.181299941111e-01 2.124502675921e-01 2.067456230196e-01 -2.010183202750e-01 1.952706195884e-01 1.895047806052e-01 1.837230614551e-01 -1.779277178241e-01 1.721210020292e-01 1.663051620971e-01 1.604824408467e-01 -1.546550749755e-01 1.488252941514e-01 1.429953201094e-01 1.371673657534e-01 -1.313436342646e-01 1.255263182154e-01 1.197175986908e-01 1.139196444159e-01 -1.081346108919e-01 1.023646395384e-01 9.661185684528e-02 9.087837353237e-02 -8.516628371778e-02 7.947766409582e-02 7.381457312425e-02 6.817905022147e-02 -6.257311497382e-02 5.699876635353e-02 5.145798194744e-02 4.595271719691e-02 -4.048490464928e-02 3.505645322102e-02 2.966924747309e-02 2.432514689860e-02 -1.902598522323e-02 1.377356971852e-02 8.569680528524e-03 3.416070009878e-03 --1.685537914316e-03 -6.733448386569e-03 -1.172599623281e-02 -1.666154656564e-02 --2.153849537289e-02 -2.635527009107e-02 -3.111033016370e-02 -3.580216758418e-02 --4.042930742302e-02 -4.499030833920e-02 -4.948376307554e-02 -5.390829893788e-02 --5.826257825777e-02 -6.254529883867e-02 -6.675519438543e-02 -7.089103491686e-02 --7.495162716128e-02 -7.893581493492e-02 -8.284247950303e-02 -8.667053992355e-02 --9.041895337328e-02 -9.408671545643e-02 -9.767286049539e-02 -1.011764618037e-01 --1.045966319412e-01 -1.079325229511e-01 -1.111833265790e-01 -1.143482744738e-01 --1.174266383711e-01 -1.204177302569e-01 -1.233209025149e-01 -1.261355480545e-01 --1.288611004204e-01 -1.314970338849e-01 -1.340428635211e-01 -1.364981452580e-01 --1.388624759179e-01 -1.411354932352e-01 -1.433168758566e-01 -1.454063433243e-01 --1.474036560402e-01 -1.493086152126e-01 -1.511210627846e-01 -1.528408813451e-01 --1.544679940216e-01 -1.560023643555e-01 -1.574439961601e-01 -1.587929333606e-01 --1.600492598173e-01 -1.612130991309e-01 -1.622846144317e-01 -1.632640081506e-01 --1.641515217746e-01 -1.649474355844e-01 -1.656520683768e-01 -1.662657771693e-01 --1.667889568901e-01 -1.672220400507e-01 -1.675654964039e-01 -1.678198325857e-01 --1.679855917413e-01 -1.680633531372e-01 -1.680537317574e-01 -1.679573778846e-01 --1.677749766682e-01 -1.675072476768e-01 -1.671549444372e-01 -1.667188539595e-01 --1.661997962490e-01 -1.655986238042e-01 -1.649162211023e-01 -1.641535040722e-01 --1.633114195542e-01 -1.623909447482e-01 -1.613930866501e-01 -1.603188814758e-01 --1.591693940749e-01 -1.579457173330e-01 -1.566489715627e-01 -1.552803038852e-01 --1.538408876014e-01 -1.523319215527e-01 -1.507546294736e-01 -1.491102593337e-01 --1.474000826723e-01 -1.456253939232e-01 -1.437875097328e-01 -1.418877682690e-01 --1.399275285239e-01 -1.379081696080e-01 -1.358310900394e-01 -1.336977070249e-01 --1.315094557360e-01 -1.292677885787e-01 -1.269741744584e-01 -1.246300980397e-01 --1.222370590006e-01 -1.197965712841e-01 -1.173101623444e-01 -1.147793723900e-01 --1.122057536239e-01 -1.095908694807e-01 -1.069362938606e-01 -1.042436103626e-01 --1.015144115146e-01 -9.875029800281e-02 -9.595287790002e-02 -9.312376589286e-02 --9.026458250914e-02 -8.737695334494e-02 -8.446250829219e-02 -8.152288076701e-02 --7.855970693909e-02 -7.557462496255e-02 -7.256927420864e-02 -6.954529450057e-02 --6.650432535085e-02 -6.344800520151e-02 -6.037797066753e-02 -5.729585578377e-02 --5.420329125584e-02 -5.110190371520e-02 -4.799331497879e-02 -4.487914131359e-02 --4.176099270636e-02 -3.864047213898e-02 -3.551917486967e-02 -3.239868772032e-02 --2.928058837044e-02 -2.616644465787e-02 -2.305781388658e-02 -1.995624214201e-02 --1.686326361402e-02 -1.378039992797e-02 -1.070915948401e-02 -7.651036805057e-03 --4.607511893629e-03 -1.580049597793e-03 1.429901013411e-03 4.420907264870e-03 -7.391553480355e-03 1.034044157725e-02 1.326619165087e-02 1.616744254798e-02 -1.904285242952e-02 2.189109932205e-02 2.471088165778e-02 2.750091880313e-02 -3.025995157528e-02 3.298674274679e-02 3.568007753797e-02 3.833876409675e-02 -4.096163396600e-02 4.354754253802e-02 4.609536949598e-02 4.860401924232e-02 -5.107242131375e-02 5.349953078282e-02 5.588432864579e-02 5.822582219690e-02 -6.052304538854e-02 6.277505917758e-02 6.498095185738e-02 6.713983937571e-02 -6.925086563815e-02 7.131320279710e-02 7.332605152623e-02 7.528864128027e-02 -7.720023054004e-02 7.906010704276e-02 8.086758799741e-02 8.262202028525e-02 -8.432278064535e-02 8.596927584507e-02 8.756094283558e-02 8.909724889224e-02 -9.057769173993e-02 9.200179966323e-02 9.336913160161e-02 9.467927722934e-02 -9.593185702046e-02 9.712652229861e-02 9.826295527175e-02 9.934086905198e-02 -1.003600076603e-01 1.013201460162e-01 1.022210899131e-01 1.030626759780e-01 -1.038447716168e-01 1.045672749454e-01 1.052301147051e-01 1.058332501648e-01 -1.063766710073e-01 1.068603972029e-01 1.072844788672e-01 1.076489961059e-01 -1.079540588450e-01 1.081998066476e-01 1.083864085166e-01 1.085140626839e-01 -1.085829963862e-01 1.085934656274e-01 1.085457549284e-01 1.084401770627e-01 -1.082770727808e-01 1.080568105204e-01 1.077797861056e-01 1.074464224324e-01 -1.070571691435e-01 1.066125022902e-01 1.061129239830e-01 1.055589620309e-01 -1.049511695693e-01 1.042901246767e-01 1.035764299807e-01 1.028107122536e-01 -1.019936219975e-01 1.011258330189e-01 1.002080419942e-01 9.924096802516e-02 -9.822535218442e-02 9.716195705293e-02 9.605156624776e-02 9.489498394150e-02 -9.369303437333e-02 9.244656135192e-02 9.115642775059e-02 8.982351499480e-02 -8.844872254249e-02 8.703296735729e-02 8.557718337514e-02 8.408232096433e-02 -8.254934637952e-02 8.097924120983e-02 7.937300182131e-02 7.773163879423e-02 -7.605617635534e-02 7.434765180535e-02 7.260711494217e-02 7.083562747990e-02 -6.903426246414e-02 6.720410368368e-02 6.534624507912e-02 6.346179014847e-02 -6.155185135024e-02 5.961754950420e-02 5.766001319015e-02 5.568037814500e-02 -5.367978665851e-02 5.165938696787e-02 4.962033265158e-02 4.756378202279e-02 -4.549089752252e-02 4.340284511298e-02 4.130079367130e-02 3.918591438401e-02 -3.705938014256e-02 3.492236494010e-02 3.277604326993e-02 3.062158952582e-02 -2.846017740458e-02 2.629297931104e-02 2.412116576589e-02 2.194590481650e-02 -1.976836145117e-02 1.758969701691e-02 1.541106864123e-02 1.323362865800e-02 -1.105852403783e-02 8.886895823170e-03 6.719878568353e-03 4.558599784920e-03 -2.404179392452e-03 2.577291751564e-04 -1.879647755516e-03 -4.006857491995e-03 --6.122815855197e-03 -8.226448912379e-03 -1.031669348800e-02 -1.239249766736e-02 --1.445282129278e-02 -1.649663645210e-02 -1.852292795931e-02 -2.053069382701e-02 --2.251894573059e-02 -2.448670946386e-02 -2.643302538598e-02 -2.835694885939e-02 --3.025755067870e-02 -3.213391749020e-02 -3.398515220194e-02 -3.581037438412e-02 --3.760872065965e-02 -3.937934508470e-02 -4.112141951907e-02 -4.283413398634e-02 --4.451669702342e-02 -4.616833601959e-02 -4.778829754478e-02 -4.937584766694e-02 --5.093027225844e-02 -5.245087729134e-02 -5.393698912143e-02 -5.538795476092e-02 --5.680314213965e-02 -5.818194035487e-02 -5.952375990923e-02 -6.082803293718e-02 --6.209421341953e-02 -6.332177738611e-02 -6.451022310658e-02 -6.565907126920e-02 --6.676786514750e-02 -6.783617075500e-02 -6.886357698766e-02 -6.984969575424e-02 --7.079416209445e-02 -7.169663428484e-02 -7.255679393255e-02 -7.337434605673e-02 --7.414901915772e-02 -7.488056527406e-02 -7.556876002718e-02 -7.621340265389e-02 --7.681431602672e-02 -7.737134666202e-02 -7.788436471594e-02 -7.835326396837e-02 --7.877796179470e-02 -7.915839912568e-02 -7.949454039533e-02 -7.978637347687e-02 --8.003390960693e-02 -8.023718329801e-02 -8.039625223919e-02 -8.051119718538e-02 --8.058212183500e-02 -8.060915269633e-02 -8.059243894251e-02 -8.053215225545e-02 --8.042848665856e-02 -8.028165833868e-02 -8.009190545703e-02 -7.985948794959e-02 --7.958468731689e-02 -7.926780640330e-02 -7.890916916617e-02 -7.850912043475e-02 --7.806802565919e-02 -7.758627064966e-02 -7.706426130588e-02 -7.650242333713e-02 --7.590120197298e-02 -7.526106166478e-02 -7.458248577834e-02 -7.386597627771e-02 --7.311205340040e-02 -7.232125532426e-02 -7.149413782610e-02 -7.063127393228e-02 --6.973325356161e-02 -6.880068316052e-02 -6.783418533096e-02 -6.683439845105e-02 --6.580197628881e-02 -6.473758760914e-02 -6.364191577426e-02 -6.251565833792e-02 --6.135952663348e-02 -6.017424535615e-02 -5.896055213969e-02 -5.771919712767e-02 --5.645094253960e-02 -5.515656223220e-02 -5.383684125599e-02 -5.249257540744e-02 --5.112457077695e-02 -4.973364329296e-02 -4.832061826225e-02 -4.688632990695e-02 --4.543162089824e-02 -4.395734188717e-02 -4.246435103276e-02 -4.095351352768e-02 --3.942570112175e-02 -3.788179164343e-02 -3.632266851973e-02 -3.474922029462e-02 --3.316234014624e-02 -3.156292540326e-02 -2.995187706046e-02 -2.833009929399e-02 --2.669849897633e-02 -2.505798519148e-02 -2.340946875033e-02 -2.175386170669e-02 --2.009207687410e-02 -1.842502734374e-02 -1.675362600365e-02 -1.507878505949e-02 --1.340141555709e-02 -1.172242690711e-02 -1.004272641190e-02 -8.363218794972e-03 --6.684805733115e-03 -5.008385391616e-03 -3.334851962633e-03 -1.665095207049e-03 -5.494061742638e-15 1.659554119718e-03 3.312693396035e-03 4.958550297758e-03 -6.596263956071e-03 - Type L N - 0 1 4 -0.000000000000e+00 9.566298184903e-03 1.912786846262e-02 2.867998570765e-02 -3.821793035619e-02 4.773699118245e-02 5.723246806976e-02 6.669967477440e-02 -7.613394168073e-02 8.553061854550e-02 9.488507722985e-02 1.041927144171e-01 -1.134489543148e-01 1.226492513388e-01 1.317890927784e-01 1.408640014402e-01 -1.498695382692e-01 1.588013049459e-01 1.676549464565e-01 1.764261536362e-01 -1.851106656831e-01 1.937042726403e-01 2.022028178469e-01 2.106022003537e-01 -2.188983773037e-01 2.270873662761e-01 2.351652475906e-01 2.431281665722e-01 -2.509723357752e-01 2.586940371625e-01 2.662896242426e-01 2.737555241599e-01 -2.810882397377e-01 2.882843514741e-01 2.953405194877e-01 3.022534854126e-01 -3.090200742414e-01 3.156371961159e-01 3.221018480627e-01 3.284111156742e-01 -3.345621747332e-01 3.405522927796e-01 3.463788306200e-01 3.520392437773e-01 -3.575310838804e-01 3.628519999927e-01 3.679997398800e-01 3.729721512143e-01 -3.777671827158e-01 3.823828852303e-01 3.868174127419e-01 3.910690233214e-01 -3.951360800081e-01 3.990170516260e-01 4.027105135334e-01 4.062151483048e-01 -4.095297463462e-01 4.126532064420e-01 4.155845362341e-01 4.183228526327e-01 -4.208673821585e-01 4.232174612166e-01 4.253725363010e-01 4.273321641310e-01 -4.290960117185e-01 4.306638563663e-01 4.320355855979e-01 4.332111970191e-01 -4.341907981105e-01 4.349746059520e-01 4.355629468798e-01 4.359562560755e-01 -4.361550770876e-01 4.361600612865e-01 4.359719672530e-01 4.355916601007e-01 -4.350201107332e-01 4.342583950360e-01 4.333076930044e-01 4.321692878079e-01 -4.308445647915e-01 4.293350104145e-01 4.276422111287e-01 4.257678521951e-01 -4.237137164414e-01 4.214816829602e-01 4.190737257501e-01 4.164919122987e-01 -4.137384021101e-01 4.108154451784e-01 4.077253804055e-01 4.044706339677e-01 -4.010537176303e-01 3.974772270111e-01 3.937438397957e-01 3.898563139041e-01 -3.858174856110e-01 3.816302676203e-01 3.772976470959e-01 3.728226836497e-01 -3.682085072877e-01 3.634583163171e-01 3.585753752142e-01 3.535630124553e-01 -3.484246183124e-01 3.431636426144e-01 3.377835924758e-01 3.322880299949e-01 -3.266805699217e-01 3.209648772982e-01 3.151446650732e-01 3.092236916908e-01 -3.032057586576e-01 2.970947080870e-01 2.908944202243e-01 2.846088109542e-01 -2.782418292907e-01 2.717974548527e-01 2.652796953271e-01 2.586925839194e-01 -2.520401767950e-01 2.453265505129e-01 2.385557994521e-01 2.317320332342e-01 -2.248593741423e-01 2.179419545395e-01 2.109839142871e-01 2.039893981648e-01 -1.969625532959e-01 1.899075265763e-01 1.828284621119e-01 1.757294986646e-01 -1.686147671085e-01 1.614883878982e-01 1.543544685513e-01 1.472171011461e-01 -1.400803598361e-01 1.329482983835e-01 1.258249477125e-01 1.187143134847e-01 -1.116203736975e-01 1.045470763076e-01 9.749833688091e-02 9.047803626969e-02 -8.349001831981e-02 7.653808760819e-02 6.962600721258e-02 6.275749651498e-02 -5.593622903979e-02 4.916583032846e-02 4.244987585155e-02 3.579188895980e-02 -2.919533887523e-02 2.266363872368e-02 1.620014360995e-02 9.808148736539e-03 -3.490887567426e-03 -2.748469962288e-03 -8.906819189644e-03 -1.498112241901e-02 --2.096841056821e-02 -2.686578476455e-02 -3.267041788992e-02 -3.837955607400e-02 --4.399052013474e-02 -4.950070696528e-02 -5.490759086660e-02 -6.020872482503e-02 --6.540174173404e-02 -7.048435555960e-02 -7.545436244846e-02 -8.030964177882e-02 --8.504815715278e-02 -8.966795733019e-02 -9.416717710327e-02 -9.854403811174e-02 --1.027968495980e-01 -1.069240091019e-01 -1.109240030955e-01 -1.147954075558e-01 --1.185368884781e-01 -1.221472023268e-01 -1.256251964254e-01 -1.289698092854e-01 --1.321800708730e-01 -1.352551028153e-01 -1.381941185442e-01 -1.409964233795e-01 --1.436614145509e-01 -1.461885811587e-01 -1.485775040737e-01 -1.508278557766e-01 --1.529394001376e-01 -1.549119921350e-01 -1.567455775156e-01 -1.584401923947e-01 --1.599959627980e-01 -1.614131041459e-01 -1.626919206784e-01 -1.638328048251e-01 --1.648362365168e-01 -1.657027824425e-01 -1.664330952505e-01 -1.670279126954e-01 --1.674880567315e-01 -1.678144325526e-01 -1.680080275809e-01 -1.680699104034e-01 --1.680012296587e-01 -1.678032128742e-01 -1.674771652549e-01 -1.670244684244e-01 --1.664465791196e-01 -1.657450278406e-01 -1.649214174546e-01 -1.639774217584e-01 --1.629147839977e-01 -1.617353153453e-01 -1.604408933404e-01 -1.590334602880e-01 --1.575150216224e-01 -1.558876442330e-01 -1.541534547566e-01 -1.523146378354e-01 --1.503734343426e-01 -1.483321395777e-01 -1.461931014316e-01 -1.439587185236e-01 --1.416314383123e-01 -1.392137551793e-01 -1.367082084909e-01 -1.341173806359e-01 --1.314438950423e-01 -1.286904141746e-01 -1.258596375129e-01 -1.229542995144e-01 --1.199771675604e-01 -1.169310398889e-01 -1.138187435147e-01 -1.106431321393e-01 --1.074070840500e-01 -1.041135000127e-01 -1.007653011565e-01 -9.736542685513e-02 --9.391683260303e-02 -9.042248789093e-02 -8.688537408014e-02 -8.330848227797e-02 --7.969481121567e-02 -7.604736513015e-02 -7.236915165120e-02 -6.866317969545e-02 --6.493245736860e-02 -6.117998987743e-02 -5.740877745286e-02 -5.362181328560e-02 --4.982208147572e-02 -4.601255499754e-02 -4.219619368123e-02 -3.837594221246e-02 --3.455472815141e-02 -3.073545997251e-02 -2.692102512614e-02 -2.311428812369e-02 --1.931808864708e-02 -1.553523968410e-02 -1.176852569077e-02 -8.020700781853e-03 --4.294486950730e-03 -5.925723198338e-04 3.082390577347e-03 6.727786481505e-03 -1.034103905898e-02 1.391961251838e-02 1.746101319137e-02 2.096279107660e-02 -2.442254134593e-02 2.783790581184e-02 3.120657435532e-02 3.452628631329e-02 -3.779483182466e-02 4.101005313436e-02 4.416984585451e-02 4.727216018190e-02 -5.031500207134e-02 5.329643436387e-02 5.621457786948e-02 5.906761240362e-02 -6.185377777692e-02 6.457137473767e-02 6.721876586647e-02 6.979437642272e-02 -7.229669514237e-02 7.472427498670e-02 7.707573384170e-02 7.934975516771e-02 -8.154508859916e-02 8.366055049403e-02 8.569502443295e-02 8.764746166772e-02 -8.951688151909e-02 9.130237172376e-02 9.300308873062e-02 9.461825794594e-02 -9.614717392794e-02 9.758920053040e-02 9.894377099563e-02 1.002103879969e-01 -1.013886236305e-01 1.024781193575e-01 1.034785858955e-01 1.043898030609e-01 -1.052116195617e-01 1.059439527411e-01 1.065867882727e-01 1.071401798072e-01 -1.076042485711e-01 1.079791829190e-01 1.082652378377e-01 1.084627344050e-01 -1.085720592028e-01 1.085936636840e-01 1.085280634965e-01 1.083758377621e-01 -1.081376283127e-01 1.078141388845e-01 1.074061342699e-01 1.069144394291e-01 -1.063399385610e-01 1.056835741356e-01 1.049463458876e-01 1.041293097723e-01 -1.032335768856e-01 1.022603123479e-01 1.012107341531e-01 1.000861119842e-01 -9.888776599662e-02 9.761706556868e-02 9.627542802251e-02 9.486431731473e-02 -9.338524269884e-02 9.183975736014e-02 9.022945702425e-02 8.855597854051e-02 -8.682099844128e-02 8.502623147829e-02 8.317342913729e-02 8.126437813212e-02 -7.930089887935e-02 7.728484395482e-02 7.521809653307e-02 7.310256881118e-02 -7.094020041790e-02 6.873295680958e-02 6.648282765399e-02 6.419182520331e-02 -6.186198265754e-02 5.949535251952e-02 5.709400494294e-02 5.466002607442e-02 -5.219551639106e-02 4.970258903460e-02 4.718336814347e-02 4.463998718407e-02 -4.207458728231e-02 3.948931555689e-02 3.688632345530e-02 3.426776509407e-02 -3.163579560413e-02 2.899256948279e-02 2.634023895338e-02 2.368095233377e-02 -2.101685241502e-02 1.835007485117e-02 1.568274656153e-02 1.301698414641e-02 -1.035489231759e-02 7.698562344555e-03 5.050070517548e-03 2.411476628665e-03 --2.151775280819e-04 -2.827869636607e-03 -5.424598317503e-03 -8.003384564679e-03 --1.056227315890e-02 -1.309933405728e-02 -1.561266375770e-02 -1.810038663739e-02 --2.056065626453e-02 -2.299165668228e-02 -2.539160366410e-02 -2.775874593974e-02 --3.009136639095e-02 -3.238778321625e-02 -3.464635106392e-02 -3.686546213246e-02 --3.904354723792e-02 -4.117907684734e-02 -4.327056207765e-02 -4.531655565950e-02 --4.731565286529e-02 -4.926649240097e-02 -5.116775726097e-02 -5.301817554583e-02 --5.481652124205e-02 -5.656161496362e-02 -5.825232465496e-02 -5.988756625480e-02 --6.146630432063e-02 -6.298755261344e-02 -6.445037464250e-02 -6.585388416976e-02 --6.719724567388e-02 -6.847967477340e-02 -6.970043860922e-02 -7.085885618590e-02 --7.195429867199e-02 -7.298618965913e-02 -7.395400537984e-02 -7.485727488428e-02 --7.569558017556e-02 -7.646855630406e-02 -7.717589142062e-02 -7.781732678871e-02 --7.839265675589e-02 -7.890172868448e-02 -7.934444284195e-02 -7.972075225095e-02 --8.003066249945e-02 -8.027423151132e-02 -8.045156927739e-02 -8.056283754771e-02 --8.060824948509e-02 -8.058806928051e-02 -8.050261173076e-02 -8.035224177872e-02 --8.013737401696e-02 -7.985847215488e-02 -7.951604845026e-02 -7.911066310550e-02 --7.864292362930e-02 -7.811348416438e-02 -7.752304478185e-02 -7.687235074284e-02 --7.616219172820e-02 -7.539340103691e-02 -7.456685475382e-02 -7.368347088773e-02 --7.274420848031e-02 -7.175006668678e-02 -7.070208382918e-02 -6.960133642298e-02 --6.844893817790e-02 -6.724603897383e-02 -6.599382381271e-02 -6.469351174720e-02 --6.334635478716e-02 -6.195363678477e-02 -6.051667229927e-02 -5.903680544223e-02 --5.751540870432e-02 -5.595388176459e-02 -5.435365028318e-02 -5.271616467847e-02 --5.104289888967e-02 -4.933534912586e-02 -4.759503260246e-02 -4.582348626622e-02 --4.402226550965e-02 -4.219294287602e-02 -4.033710675585e-02 -3.845636007610e-02 --3.655231898285e-02 -3.462661151875e-02 -3.268087629616e-02 -3.071676116695e-02 --2.873592189021e-02 -2.674002079869e-02 -2.473072546512e-02 -2.270970736940e-02 --2.067864056774e-02 -1.863920036469e-02 -1.659306198916e-02 -1.454189927534e-02 --1.248738334968e-02 -1.043118132471e-02 -8.374955000901e-03 -6.320359577409e-03 --4.269042372712e-03 -2.222641556095e-03 -1.827848909305e-04 1.848911509319e-03 -3.870844411453e-03 5.881424678326e-03 7.879078469210e-03 9.862248423814e-03 -1.182939482914e-02 1.377899676827e-02 1.570955325036e-02 1.761958432087e-02 -1.950763215140e-02 2.137226210821e-02 2.321206379883e-02 2.502565209581e-02 -2.681166813713e-02 2.856878030232e-02 3.029568516389e-02 3.199110841311e-02 -3.365380575983e-02 3.528256380540e-02 3.687620088838e-02 3.843356790231e-02 -3.995354908502e-02 4.143506277906e-02 4.287706216257e-02 4.427853595036e-02 -4.563850906446e-02 4.695604327404e-02 4.823023780406e-02 4.946022991235e-02 -5.064519543483e-02 5.178434929852e-02 5.287694600197e-02 5.392228006297e-02 -5.491968643324e-02 5.586854087979e-02 5.676826033303e-02 5.761830320108e-02 -5.841816965056e-02 5.916740185339e-02 5.986558419979e-02 6.051234347725e-02 -6.110734901553e-02 6.165031279764e-02 6.214098953688e-02 6.257917671994e-02 -6.296471461614e-02 6.329748625293e-02 6.357741735781e-02 6.380447626677e-02 -6.397867379938e-02 6.410006310095e-02 6.416873945173e-02 6.418484004354e-02 -6.414854372412e-02 6.406007070949e-02 6.391968226458e-02 6.372768035254e-02 -6.348440725319e-02 6.319024515079e-02 6.284561569178e-02 6.245097951280e-02 -6.200683573945e-02 6.151372145639e-02 6.097221114917e-02 6.038291611833e-02 -5.974648386642e-02 5.906359745837e-02 5.833497485590e-02 5.756136822652e-02 -5.674356322773e-02 5.588237826720e-02 5.497866373929e-02 5.403330123899e-02 -5.304720275355e-02 5.202130983283e-02 5.095659273893e-02 4.985404957584e-02 -4.871470539995e-02 4.753961131201e-02 4.632984353155e-02 4.508650245428e-02 -4.381071169345e-02 4.250361710595e-02 4.116638580389e-02 3.980020515251e-02 -3.840628175531e-02 3.698584042714e-02 3.554012315624e-02 3.407038805589e-02 -3.257790830667e-02 3.106397109021e-02 2.952987651514e-02 2.797693653625e-02 -2.640647386774e-02 2.481982089132e-02 2.321831856014e-02 2.160331529936e-02 -1.997616590430e-02 1.833823043703e-02 1.669087312218e-02 1.503546124304e-02 -1.337336403858e-02 1.170595160250e-02 1.003459378496e-02 8.360659098012e-03 -6.685513625474e-03 5.010519938161e-03 3.337036015286e-03 1.666414172876e-03 -1.228805779297e-14 -1.660868696267e-03 -3.314862936615e-03 -4.960663604753e-03 --6.596962471817e-03 - Type L N - 0 1 5 -0.000000000000e+00 1.131608597450e-02 2.262434588731e-02 3.391696012005e-02 -4.518612193521e-02 5.642404390216e-02 6.762296430584e-02 7.877515353239e-02 -8.987292042600e-02 1.009086186114e-01 1.118746527759e-01 1.227634849063e-01 -1.335676404736e-01 1.442797145617e-01 1.548923779332e-01 1.653983830274e-01 -1.757905698857e-01 1.860618719981e-01 1.962053220662e-01 2.062140576774e-01 -2.160813268855e-01 2.258004936922e-01 2.353650434252e-01 2.447685880078e-01 -2.540048711153e-01 2.630677732140e-01 2.719513164776e-01 2.806496695782e-01 -2.891571523448e-01 2.974682402893e-01 3.055775689917e-01 3.134799383442e-01 -3.211703166482e-01 3.286438445616e-01 3.358958388932e-01 3.429217962401e-01 -3.497173964652e-01 3.562785060130e-01 3.626011810586e-01 3.686816704895e-01 -3.745164187161e-01 3.801020683092e-01 3.854354624625e-01 3.905136472772e-01 -3.953338738681e-01 3.998936002880e-01 4.041904932705e-01 4.082224297880e-01 -4.119874984258e-01 4.154840005689e-01 4.187104514033e-01 4.216655807285e-01 -4.243483335826e-01 4.267578706790e-01 4.288935686542e-01 4.307550201275e-01 -4.323420335719e-01 4.336546329976e-01 4.346930574476e-01 4.354577603067e-01 -4.359494084250e-01 4.361688810566e-01 4.361172686140e-01 4.357958712415e-01 -4.352061972076e-01 4.343499611183e-01 4.332290819538e-01 4.318456809303e-01 -4.302020791890e-01 4.283007953151e-01 4.261445426886e-01 4.237362266710e-01 -4.210789416280e-01 4.181759677951e-01 4.150307679855e-01 4.116469841455e-01 -4.080284337610e-01 4.041791061172e-01 4.001031584169e-01 3.958049117592e-01 -3.912888469852e-01 3.865596003913e-01 3.816219593178e-01 3.764808576141e-01 -3.711413709872e-01 3.656087122358e-01 3.598882263766e-01 3.539853856660e-01 -3.479057845226e-01 3.416551343555e-01 3.352392583024e-01 3.286640858835e-01 -3.219356475761e-01 3.150600693145e-01 3.080435669202e-01 3.008924404692e-01 -2.936130685997e-01 2.862119027669e-01 2.786954614494e-01 2.710703243135e-01 -2.633431263400e-01 2.555205519196e-01 2.476093289215e-01 2.396162227424e-01 -2.315480303388e-01 2.234115742511e-01 2.152136966224e-01 2.069612532192e-01 -1.986611074585e-01 1.903201244474e-01 1.819451650406e-01 1.735430799202e-01 -1.651207037049e-01 1.566848490926e-01 1.482423010418e-01 1.397998109982e-01 -1.313640911704e-01 1.229418088597e-01 1.145395808512e-01 1.061639678681e-01 -9.782146909677e-02 8.951851678618e-02 8.126147092635e-02 7.305661401127e-02 -6.491014589029e-02 5.682817871276e-02 4.881673197012e-02 4.088172764003e-02 -3.302898543646e-02 2.526421816997e-02 1.759302722215e-02 1.002089813804e-02 -2.553196340239e-03 -4.804837031551e-03 -1.204808915229e-02 -1.917157941109e-02 --2.617046317543e-02 -3.304003541677e-02 -3.977573419486e-02 -4.637314399786e-02 --5.282799893548e-02 -5.913618578289e-02 -6.529374687281e-02 -7.129688283372e-02 --7.714195517203e-02 -8.282548869637e-02 -8.834417378226e-02 -9.369486847552e-02 --9.887460043301e-02 -1.038805686994e-01 -1.087101453191e-01 -1.133608767817e-01 --1.178304853011e-01 -1.221168699272e-01 -1.262181074889e-01 -1.301324533702e-01 --1.338583421169e-01 -1.373943878753e-01 -1.407393846628e-01 -1.438923064706e-01 --1.468523071991e-01 -1.496187204267e-01 -1.521910590124e-01 -1.545690145341e-01 --1.567524565627e-01 -1.587414317735e-01 -1.605361628975e-01 -1.621370475121e-01 --1.635446566748e-01 -1.647597334006e-01 -1.657831909859e-01 -1.666161111807e-01 --1.672597422110e-01 -1.677154966549e-01 -1.679849491738e-01 -1.680698341019e-01 --1.679720428978e-01 -1.676936214587e-01 -1.672367673035e-01 -1.666038266246e-01 --1.657972912149e-01 -1.648197952712e-01 -1.636741120781e-01 -1.623631505767e-01 --1.608899518213e-01 -1.592576853276e-01 -1.574696453170e-01 -1.555292468607e-01 --1.534400219275e-01 -1.512056153403e-01 -1.488297806440e-01 -1.463163758909e-01 --1.436693593467e-01 -1.408927851222e-01 -1.379907987350e-01 -1.349676326058e-01 --1.318276014938e-01 -1.285750978758e-01 -1.252145872745e-01 -1.217506035393e-01 --1.181877440854e-01 -1.145306650961e-01 -1.107840766920e-01 -1.069527380732e-01 --1.030414526384e-01 -9.905506308635e-02 -9.499844650423e-02 -9.087650944734e-02 --8.669418301591e-02 -8.245641793294e-02 -7.816817962834e-02 -7.383444333396e-02 --6.946018919425e-02 -6.505039739737e-02 -6.061004333125e-02 -5.614409276937e-02 --5.165749709074e-02 -4.715518853873e-02 -4.264207552300e-02 -3.812303796931e-02 --3.360292272113e-02 -2.908653899773e-02 -2.457865391267e-02 -2.008398805706e-02 --1.560721115144e-02 -1.115293777044e-02 -6.725723143991e-03 -2.330059038968e-03 -2.029630275113e-03 6.348991972642e-03 1.062374852726e-02 1.484970147256e-02 -1.902273506488e-02 2.313881984495e-02 2.719401609537e-02 3.118447719087e-02 -3.510645283865e-02 3.895629220596e-02 4.273044693225e-02 4.642547402371e-02 -5.003803862743e-02 5.356491668336e-02 5.700299745172e-02 6.034928591393e-02 -6.360090504540e-02 6.675509795830e-02 6.980922991283e-02 7.276079019564e-02 -7.560739386397e-02 7.834678335454e-02 8.097682995608e-02 8.349553514470e-02 -8.590103178130e-02 8.819158517063e-02 9.036559398130e-02 9.242159102671e-02 -9.435824390655e-02 9.617435550900e-02 9.786886437367e-02 9.944084491560e-02 -1.008895075107e-01 1.022141984430e-01 1.034143997153e-01 1.044897287222e-01 -1.054399377883e-01 1.062649135721e-01 1.069646763363e-01 1.075393790860e-01 -1.079893065771e-01 1.083148741956e-01 1.085166267094e-01 1.085952368958e-01 -1.085515040450e-01 1.083863523425e-01 1.081008291330e-01 1.076961030668e-01 -1.071734621332e-01 1.065343115810e-01 1.057801717303e-01 1.049126756787e-01 -1.039335669027e-01 1.028446967595e-01 1.016480218911e-01 1.003456015333e-01 -9.893959473422e-02 9.743225748455e-02 9.582593976280e-02 9.412308249972e-02 -9.232621446479e-02 9.043794907856e-02 8.846098115432e-02 8.639808357289e-02 -8.425210389427e-02 8.202596090977e-02 7.972264113862e-02 7.734519527280e-02 -7.489673457404e-02 7.238042722697e-02 6.979949465221e-02 6.715720778367e-02 -6.445688331376e-02 6.170187991076e-02 5.889559441230e-02 5.604145799901e-02 -5.314293235233e-02 5.020350580069e-02 4.722668945790e-02 4.421601335796e-02 -4.117502259017e-02 3.810727343873e-02 3.501632953060e-02 3.190575799576e-02 -2.877912564368e-02 2.563999516003e-02 2.249192132735e-02 1.933844727360e-02 -1.618310075232e-02 1.302939045825e-02 9.880802381798e-03 6.740796206401e-03 -3.612801751939e-03 5.002154679701e-04 -2.593603019889e-03 -5.665334307046e-03 --8.711702547183e-03 -1.172947872647e-02 -1.471548387155e-02 -1.766659218835e-02 --2.057973412858e-02 -2.345189938120e-02 -2.628013978594e-02 -2.906157216621e-02 --3.179338107882e-02 -3.447282147796e-02 -3.709722129101e-02 -3.966398390395e-02 --4.217059055408e-02 -4.461460262801e-02 -4.699366386284e-02 -4.930550244881e-02 --5.154793303149e-02 -5.371885861187e-02 -5.581627234292e-02 -5.783825922111e-02 --5.978299767146e-02 -6.164876102525e-02 -6.343391888884e-02 -6.513693840318e-02 --6.675638539263e-02 -6.829092540280e-02 -6.973932462656e-02 -7.110045071781e-02 --7.237327349267e-02 -7.355686551778e-02 -7.465040258570e-02 -7.565316407726e-02 --7.656453321111e-02 -7.738399718063e-02 -7.811114717855e-02 -7.874567830983e-02 --7.928738939323e-02 -7.973618265249e-02 -8.009206329770e-02 -8.035513899797e-02 --8.052561924636e-02 -8.060381461822e-02 -8.059013592418e-02 -8.048509325925e-02 --8.028929494936e-02 -8.000344639707e-02 -7.962834882789e-02 -7.916489793929e-02 --7.861408245400e-02 -7.797698257970e-02 -7.725476837709e-02 -7.644869803855e-02 --7.556011607957e-02 -7.459045144523e-02 -7.354121553423e-02 -7.241400014284e-02 --7.121047533135e-02 -6.993238721568e-02 -6.858155568678e-02 -6.715987206059e-02 --6.566929666148e-02 -6.411185634180e-02 -6.248964194082e-02 -6.080480568572e-02 --5.905955853789e-02 -5.725616748755e-02 -5.539695279976e-02 -5.348428521517e-02 --5.152058310843e-02 -4.950830960781e-02 -4.744996967904e-02 -4.534810717687e-02 --4.320530186742e-02 -4.102416642497e-02 -3.880734340620e-02 -3.655750220549e-02 --3.427733599455e-02 -3.196955864970e-02 -2.963690167025e-02 -2.728211109136e-02 --2.490794439461e-02 -2.251716741974e-02 -2.011255128093e-02 -1.769686929077e-02 --1.527289389540e-02 -1.284339362394e-02 -1.041113005559e-02 -7.978854807452e-03 --5.549306546438e-03 -3.125208028220e-03 -7.092631664470e-04 1.695845864775e-03 -4.087461492122e-03 6.462953565054e-03 8.819722135684e-03 1.115520019365e-02 -1.346685635326e-02 1.575219749006e-02 1.800877132436e-02 2.023416894894e-02 -2.242602729853e-02 2.458203155853e-02 2.669991751071e-02 2.877747381347e-02 -3.081254421454e-02 3.280302969388e-02 3.474689053486e-02 3.664214832161e-02 -3.848688786081e-02 4.027925902594e-02 4.201747852249e-02 4.369983157235e-02 -4.532467351604e-02 4.689043133112e-02 4.839560506571e-02 4.983876918571e-02 -5.121857383468e-02 5.253374600533e-02 5.378309062162e-02 5.496549153077e-02 -5.607991240437e-02 5.712539754790e-02 5.810107261830e-02 5.900614524896e-02 -5.983990558203e-02 6.060172670756e-02 6.129106500969e-02 6.190746041949e-02 -6.245053657483e-02 6.292000088737e-02 6.331564451689e-02 6.363734225340e-02 -6.388505230756e-02 6.405881600989e-02 6.415875741952e-02 6.418508284324e-02 -6.413808026568e-02 6.401811869168e-02 6.382564740175e-02 6.356119512194e-02 -6.322536910921e-02 6.281885415376e-02 6.234241149954e-02 6.179687768463e-02 -6.118316330299e-02 6.050225168916e-02 5.975519752777e-02 5.894312538955e-02 -5.806722819583e-02 5.712876561344e-02 5.612906238197e-02 5.506950657560e-02 -5.395154780156e-02 5.277669533750e-02 5.154651620996e-02 5.026263321638e-02 -4.892672289299e-02 4.754051343091e-02 4.610578254317e-02 4.462435528498e-02 -4.309810182984e-02 4.152893520430e-02 3.991880898370e-02 3.826971495185e-02 -3.658368072722e-02 3.486276735836e-02 3.310906689145e-02 3.132469991255e-02 -2.951181306762e-02 2.767257656281e-02 2.580918164815e-02 2.392383808727e-02 -2.201877161610e-02 2.009622139330e-02 1.815843744539e-02 1.620767810928e-02 -1.424620747515e-02 1.227629283244e-02 1.030020212175e-02 8.320201395472e-03 -6.338552289945e-03 4.357509511830e-03 2.379318341479e-03 4.062121559663e-04 --1.559590025523e-03 -3.515885971338e-03 -5.460492639420e-03 -7.391248549237e-03 --9.306016121056e-03 -1.120268398010e-02 -1.307916922313e-02 -1.493341964515e-02 --1.676341592381e-02 -1.856717375928e-02 -2.034274596747e-02 -2.208822452426e-02 --2.380174255882e-02 -2.548147629387e-02 -2.712564693097e-02 -2.873252247900e-02 --3.030041952378e-02 -3.182770493742e-02 -3.331279752537e-02 -3.475416960976e-02 --3.615034854749e-02 -3.749991818145e-02 -3.880152022372e-02 -4.005385556928e-02 --4.125568553904e-02 -4.240583305113e-02 -4.350318371930e-02 -4.454668687749e-02 --4.553535652978e-02 -4.646827222467e-02 -4.734457985331e-02 -4.816349237079e-02 --4.892429044002e-02 -4.962632299781e-02 -5.026900774276e-02 -5.085183154457e-02 --5.137435077474e-02 -5.183619155846e-02 -5.223704994773e-02 -5.257669201567e-02 --5.285495387236e-02 -5.307174160227e-02 -5.322703112373e-02 -5.332086797082e-02 --5.335336699815e-02 -5.332471200918e-02 -5.323515530871e-02 -5.308501718019e-02 --5.287468528896e-02 -5.260461401196e-02 -5.227532369517e-02 -5.188739983982e-02 --5.144149221829e-02 -5.093831392121e-02 -5.037864033685e-02 -4.976330806421e-02 --4.909321376127e-02 -4.836931292985e-02 -4.759261863866e-02 -4.676420018617e-02 --4.588518170495e-02 -4.495674070927e-02 -4.398010658775e-02 -4.295655904291e-02 --4.188742647948e-02 -4.077408434358e-02 -3.961795341459e-02 -3.842049805192e-02 --3.718322439869e-02 -3.590767854449e-02 -3.459544464945e-02 -3.324814303171e-02 --3.186742822067e-02 -3.045498697827e-02 -2.901253629051e-02 -2.754182133175e-02 --2.604461340386e-02 -2.452270785294e-02 -2.297792196573e-02 -2.141209284821e-02 --1.982707528892e-02 -1.822473960925e-02 -1.660696950330e-02 -1.497565986970e-02 --1.333271463772e-02 -1.168004459040e-02 -1.001956518685e-02 -8.353194386261e-03 --6.682850476172e-03 -5.010449907207e-03 -3.337905136822e-03 -1.667122484388e-03 -4.806801137936e-15 1.661574650702e-03 3.315726283262e-03 4.960594270583e-03 -6.594334596110e-03 - Type L N - 0 1 6 -0.000000000000e+00 1.306435487339e-02 2.611666663548e-02 3.914490539118e-02 -5.213706766219e-02 6.508118955583e-02 7.796535988669e-02 9.077773323521e-02 -1.035065429278e-01 1.161401139228e-01 1.286668755872e-01 1.410753743480e-01 -1.533542862052e-01 1.654924290884e-01 1.774787750453e-01 1.893024622457e-01 -2.009528067876e-01 2.124193142911e-01 2.236916912658e-01 2.347598562401e-01 -2.456139506364e-01 2.562443493818e-01 2.666416712409e-01 2.767967888577e-01 -2.867008384964e-01 2.963452294685e-01 3.057216532352e-01 3.148220921754e-01 -3.236388280080e-01 3.321644498590e-01 3.403918619651e-01 3.483142910027e-01 -3.559252930366e-01 3.632187600783e-01 3.701889262472e-01 3.768303735283e-01 -3.831380371192e-01 3.891072103604e-01 3.947335492439e-01 4.000130764958e-01 -4.049421852264e-01 4.095176421468e-01 4.137365903460e-01 4.175965516284e-01 -4.210954284066e-01 4.242315051508e-01 4.270034493913e-01 4.294103122749e-01 -4.314515286748e-01 4.331269168547e-01 4.344366776877e-01 4.353813934324e-01 -4.359620260680e-01 4.361799151907e-01 4.360367754759e-01 4.355346937086e-01 -4.346761253872e-01 4.334638909055e-01 4.319011713177e-01 4.299915036930e-01 -4.277387760660e-01 4.251472219890e-01 4.222214146949e-01 4.189662608771e-01 -4.153869940960e-01 4.114891678200e-01 4.072786481099e-01 4.027616059573e-01 -3.979445092866e-01 3.928341146300e-01 3.874374584882e-01 3.817618483862e-01 -3.758148536366e-01 3.696042958225e-01 3.631382390110e-01 3.564249797115e-01 -3.494730365898e-01 3.422911399527e-01 3.348882210151e-01 3.272734009641e-01 -3.194559798333e-01 3.114454252015e-01 3.032513607307e-01 2.948835545560e-01 -2.863519075439e-01 2.776664414321e-01 2.688372868672e-01 2.598746713530e-01 -2.507889071261e-01 2.415903789735e-01 2.322895320066e-01 2.228968594066e-01 -2.134228901575e-01 2.038781767810e-01 1.942732830871e-01 1.846187719580e-01 -1.749251931779e-01 1.652030713240e-01 1.554628937345e-01 1.457150985660e-01 -1.359700629568e-01 1.262380913092e-01 1.165294037047e-01 1.068541244662e-01 -9.722227088119e-02 8.764374209841e-02 7.812830821191e-02 6.868559954470e-02 -5.932509614494e-02 5.005611750674e-02 4.088781252752e-02 3.182914971350e-02 -2.288890764466e-02 1.407566570989e-02 5.397795123031e-03 -3.136549770186e-03 --1.151943988454e-02 -1.974317947772e-02 -2.780031391377e-02 -3.568363709926e-02 --4.338619858388e-02 -5.090131031818e-02 -5.822255306105e-02 -6.534378243043e-02 --7.225913459098e-02 -7.896303157307e-02 -8.545018621773e-02 -9.171560674295e-02 --9.775460092705e-02 -1.035627799053e-01 -1.091360615764e-01 -1.144706736171e-01 --1.195631561007e-01 -1.244103637196e-01 -1.290094676103e-01 -1.333579567794e-01 --1.374536391308e-01 -1.412946420949e-01 -1.448794128598e-01 -1.482067182070e-01 --1.512756439514e-01 -1.540855939907e-01 -1.566362889646e-01 -1.589277645282e-01 --1.609603692434e-01 -1.627347620927e-01 -1.642519096191e-01 -1.655130826990e-01 --1.665198529519e-01 -1.672740887948e-01 -1.677779511462e-01 -1.680338887880e-01 --1.680446333916e-01 -1.678131942169e-01 -1.673428524918e-01 -1.666371554806e-01 --1.656999102510e-01 -1.645351771481e-01 -1.631472629858e-01 -1.615407139648e-01 --1.597203083281e-01 -1.576910487641e-01 -1.554581545684e-01 -1.530270535758e-01 --1.504033738726e-01 -1.475929353025e-01 -1.446017407767e-01 -1.414359674007e-01 --1.381019574301e-01 -1.346062090676e-01 -1.309553671141e-01 -1.271562134863e-01 --1.232156576135e-01 -1.191407267273e-01 -1.149385560561e-01 -1.106163789389e-01 --1.061815168697e-01 -1.016413694882e-01 -9.700340452687e-02 -9.227514773097e-02 --8.746417276188e-02 -8.257809109863e-02 -7.762454195008e-02 -7.261118219088e-02 --6.754567633421e-02 -6.243568655420e-02 -5.728886277065e-02 -5.211283280875e-02 --4.691519264627e-02 -4.170349676043e-02 -3.648524858659e-02 -3.126789110070e-02 --2.605879753717e-02 -2.086526225366e-02 -1.569449175394e-02 -1.055359587991e-02 --5.449579183397e-03 -3.893324881042e-04 4.620375347998e-03 9.572905460209e-03 -1.446175678497e-02 1.928057363890e-02 2.402315306027e-02 2.868345190432e-02 -3.325559368438e-02 3.773387515110e-02 4.211277260239e-02 4.638694791703e-02 -5.055125430561e-02 5.460074177240e-02 5.853066228250e-02 6.233647462903e-02 -6.601384899525e-02 6.955867120733e-02 7.296704667358e-02 7.623530400663e-02 -7.935999832536e-02 8.233791423370e-02 8.516606847438e-02 8.784171225530e-02 -9.036233324761e-02 9.272565725416e-02 9.492964954811e-02 9.697251588137e-02 -9.885270316357e-02 1.005688998121e-01 1.021200357744e-01 1.035052822252e-01 -1.047240509388e-01 1.057759933412e-01 1.066609992436e-01 1.073791952611e-01 -1.079309429206e-01 1.083168364614e-01 1.085377003347e-01 1.085945864040e-01 -1.084887708560e-01 1.082217508230e-01 1.077952407272e-01 1.072111683502e-01 -1.064716706363e-01 1.055790892357e-01 1.045359657956e-01 1.033450370074e-01 -1.020092294159e-01 1.005316540022e-01 9.891560054563e-02 9.716453177567e-02 -9.528207732202e-02 9.327202747256e-02 9.113832674840e-02 8.888506730612e-02 -8.651648217692e-02 8.403693835288e-02 8.145092973060e-02 7.876306992271e-02 -7.597808494766e-02 7.310080580865e-02 7.013616097242e-02 6.708916875864e-02 -6.396492965110e-02 6.076861854143e-02 5.750547691656e-02 5.418080500093e-02 -5.079995386454e-02 4.736831750786e-02 4.389132493471e-02 4.037443222410e-02 -3.682311461199e-02 3.324285859387e-02 2.963915405900e-02 2.601748646701e-02 -2.238332907745e-02 1.874213524294e-02 1.509933077596e-02 1.146030639992e-02 -7.830410294093e-03 4.214940742671e-03 6.191388973499e-04 -2.951818336941e-03 --6.492825283966e-03 -9.998854336717e-03 -1.346496264776e-02 -1.688629866088e-02 --2.025810847566e-02 -2.357574203711e-02 -2.683465914250e-02 -3.003043525802e-02 --3.315876713809e-02 -3.621547824051e-02 -3.919652393092e-02 -4.209799647040e-02 --4.491612978031e-02 -4.764730397885e-02 -5.028804968423e-02 -5.283505207952e-02 --5.528515473476e-02 -5.763536318224e-02 -5.988284824107e-02 -6.202494908794e-02 --6.405917607067e-02 -6.598321326225e-02 -6.779492075297e-02 -6.949233667869e-02 --7.107367898390e-02 -7.253734691836e-02 -7.388192226651e-02 -7.510617030942e-02 --7.620904051922e-02 -7.718966698639e-02 -7.804736858064e-02 -7.878164884658e-02 --7.939219563573e-02 -7.987888047645e-02 -8.024175768446e-02 -8.048106321611e-02 --8.059721326755e-02 -8.059080262311e-02 -8.046260275631e-02 -8.021355968764e-02 --7.984479160329e-02 -7.935758623941e-02 -7.875339803686e-02 -7.803384507161e-02 --7.720070576629e-02 -7.625591538864e-02 -7.520156234308e-02 -7.403988426140e-02 --7.277326389956e-02 -7.140422484702e-02 -6.993542705594e-02 -6.836966219748e-02 --6.670984885249e-02 -6.495902754461e-02 -6.312035562343e-02 -6.119710200580e-02 --5.919264178361e-02 -5.711045070636e-02 -5.495409954702e-02 -5.272724835986e-02 --5.043364063898e-02 -4.807709738652e-02 -4.566151109925e-02 -4.319083968290e-02 --4.066910030299e-02 -3.810036318162e-02 -3.548874534910e-02 -3.283840435983e-02 --3.015353198161e-02 -2.743834786743e-02 -2.469709321918e-02 -2.193402445223e-02 --1.915340687012e-02 -1.635950835841e-02 -1.355659310658e-02 -1.074891536714e-02 --7.940713260454e-03 -5.136202634309e-03 -2.339570986595e-03 4.450285402837e-04 -3.213483084986e-03 5.961725904616e-03 8.685742115878e-03 1.138157433216e-02 -1.404532818887e-02 1.667317774958e-02 1.926137078571e-02 2.180623392263e-02 -2.430417764549e-02 2.675170115799e-02 2.914539708798e-02 3.148195603348e-02 -3.375817094353e-02 3.597094132816e-02 3.811727729214e-02 4.019430338751e-02 -4.219926228014e-02 4.412951822582e-02 4.598256035168e-02 4.775600573917e-02 -4.944760230483e-02 5.105523147584e-02 5.257691065711e-02 5.401079548751e-02 -5.535518188276e-02 5.660850786304e-02 5.776935516357e-02 5.883645062692e-02 -5.980866737579e-02 6.068502576575e-02 6.146469411743e-02 6.214698922805e-02 -6.273137666260e-02 6.321747082525e-02 6.360503481166e-02 6.389398004370e-02 -6.408436568777e-02 6.417639785874e-02 6.417042861146e-02 6.406695472236e-02 -6.386661626384e-02 6.357019497431e-02 6.317861242733e-02 6.269292800329e-02 -6.211433666749e-02 6.144416655872e-02 6.068387639269e-02 5.983505268488e-02 -5.889940679768e-02 5.787877181697e-02 5.677509926326e-02 5.559045564315e-02 -5.432701884668e-02 5.298707439657e-02 5.157301155549e-02 5.008731929761e-02 -4.853258215106e-02 4.691147591774e-02 4.522676327743e-02 4.348128928314e-02 -4.167797675461e-02 3.981982157740e-02 3.790988791463e-02 3.595130333891e-02 -3.394725389190e-02 3.190097907909e-02 2.981576680733e-02 2.769494827291e-02 -2.554189280784e-02 2.336000269210e-02 2.115270793956e-02 1.892346106549e-02 -1.667573184329e-02 1.441300205826e-02 1.213876026616e-02 9.856496564166e-03 -7.569697382000e-03 5.281840300680e-03 2.996388906500e-03 7.167876876316e-04 --1.553543019300e-03 -3.811212025433e-03 -6.052862221539e-03 -8.275175438559e-03 --1.047487722991e-02 -1.264874156886e-02 -1.479359545432e-02 -1.690632341879e-02 --1.898387193196e-02 -2.102325369414e-02 -2.302155181347e-02 -2.497592386127e-02 --2.688360580001e-02 -2.874191577864e-02 -3.054825779020e-02 -3.230012518684e-02 --3.399510404762e-02 -3.563087639474e-02 -3.720522325405e-02 -3.871602755584e-02 --4.016127687243e-02 -4.153906598894e-02 -4.284759930434e-02 -4.408519305964e-02 --4.525027739085e-02 -4.634139820416e-02 -4.735721887142e-02 -4.829652174398e-02 --4.915820948344e-02 -4.994130620809e-02 -5.064495845388e-02 -5.126843594949e-02 --5.181113220482e-02 -5.227256491288e-02 -5.265237616522e-02 -5.295033248118e-02 --5.316632465183e-02 -5.330036739927e-02 -5.335259885286e-02 -5.332327984343e-02 --5.321279301767e-02 -5.302164177426e-02 -5.275044902438e-02 -5.239995577879e-02 --5.197101956449e-02 -5.146461267378e-02 -5.088182024900e-02 -5.022383820648e-02 --4.949197100331e-02 -4.868762925081e-02 -4.781232717897e-02 -4.686767995599e-02 --4.585540086759e-02 -4.477729836070e-02 -4.363527295655e-02 -4.243131403809e-02 --4.116749651707e-02 -3.984597738615e-02 -3.846899216165e-02 -3.703885122248e-02 --3.555793605128e-02 -3.402869538353e-02 -3.245364127086e-02 -3.083534506452e-02 --2.917643332557e-02 -2.747958366783e-02 -2.574752054024e-02 -2.398301095503e-02 --2.218886016829e-02 -2.036790731948e-02 -1.852302103661e-02 -1.665709501370e-02 --1.477304356717e-02 -1.287379717797e-02 -1.096229802598e-02 -9.041495523515e-03 --7.114341854431e-03 -5.183787525630e-03 -3.252776937392e-03 -1.324243979154e-03 -5.988923428224e-04 2.513732239494e-03 4.417399428451e-03 6.307045372497e-03 -8.179853461227e-03 1.003304312959e-02 1.186387390754e-02 1.366964939490e-02 -1.544772115590e-02 1.719549252772e-02 1.891042233785e-02 2.059002852479e-02 -2.223189165726e-02 2.383365834693e-02 2.539304454988e-02 2.690783875242e-02 -2.837590503673e-02 2.979518602233e-02 3.116370567930e-02 3.247957200954e-02 -3.374097959257e-02 3.494621199242e-02 3.609364402262e-02 3.718174386634e-02 -3.820907504899e-02 3.917429826088e-02 4.007617302772e-02 4.091355922698e-02 -4.168541844837e-02 4.239081519695e-02 4.302891793761e-02 4.359899997989e-02 -4.410044020231e-02 4.453272361585e-02 4.489544176600e-02 4.518829297361e-02 -4.541108241454e-02 4.556372203857e-02 4.564623032835e-02 4.565873189906e-02 -4.560145694016e-02 4.547474050043e-02 4.527902161794e-02 4.501484229685e-02 -4.468284633287e-02 4.428377798994e-02 4.381848053034e-02 4.328789460109e-02 -4.269305647939e-02 4.203509618038e-02 4.131523543030e-02 4.053478550869e-02 -3.969514496323e-02 3.879779720101e-02 3.784430796039e-02 3.683632266746e-02 -3.577556368157e-02 3.466382743431e-02 3.350298146672e-02 3.229496136929e-02 -3.104176762993e-02 2.974546239462e-02 2.840816614615e-02 2.703205430605e-02 -2.561935376507e-02 2.417233934768e-02 2.269333021603e-02 2.118468621912e-02 -1.964880419257e-02 1.808811421498e-02 1.650507582642e-02 1.490217421497e-02 -1.328191637703e-02 1.164682725739e-02 9.999445874710e-03 8.342321438527e-03 -6.678009463363e-03 5.009067886003e-03 3.338053191631e-03 1.667516554664e-03 -3.951348312058e-15 -1.661967409577e-03 -3.315873354289e-03 -4.959226000835e-03 --6.589557703069e-03 - Type L N - 0 1 7 -0.000000000000e+00 1.481154861308e-02 2.960554632854e-02 4.436446700681e-02 -5.907083398651e-02 7.370724472844e-02 8.825639534585e-02 1.027011049831e-01 -1.170243400055e-01 1.312092379632e-01 1.452391312917e-01 1.590975707145e-01 -1.727683483093e-01 1.862355202054e-01 1.994834288749e-01 2.124967249857e-01 -2.252603887824e-01 2.377597509611e-01 2.499805130092e-01 2.619087669759e-01 -2.735310146468e-01 2.848341860909e-01 2.958056575531e-01 3.064332686659e-01 -3.167053389525e-01 3.266106835996e-01 3.361386284722e-01 3.452790243530e-01 -3.540222603804e-01 3.623592766693e-01 3.702815760941e-01 3.777812352165e-01 -3.848509143445e-01 3.914838667054e-01 3.976739467219e-01 4.034156173794e-01 -4.087039566734e-01 4.135346631295e-01 4.179040603889e-01 4.218091008526e-01 -4.252473683813e-01 4.282170800487e-01 4.307170869449e-01 4.327468740333e-01 -4.343065590604e-01 4.353968905231e-01 4.360192446984e-01 4.361756217411e-01 -4.358686408580e-01 4.351015345677e-01 4.338781420568e-01 4.322029016443e-01 -4.300808423681e-01 4.275175747081e-01 4.245192804629e-01 4.210927017968e-01 -4.172451294761e-01 4.129843903160e-01 4.083188338570e-01 4.032573182966e-01 -3.978091956961e-01 3.919842964912e-01 3.857929133291e-01 3.792457842606e-01 -3.723540753147e-01 3.651293624839e-01 3.575836131510e-01 3.497291669865e-01 -3.415787163485e-01 3.331452862170e-01 3.244422136959e-01 3.154831271140e-01 -3.062819247611e-01 2.968527532918e-01 2.872099858331e-01 2.773681998293e-01 -2.673421546616e-01 2.571467690765e-01 2.467970984597e-01 2.363083119919e-01 -2.256956697224e-01 2.149744995959e-01 2.041601744705e-01 1.932680891616e-01 -1.823136375483e-01 1.713121897780e-01 1.602790696047e-01 1.492295318961e-01 -1.381787403451e-01 1.271417454186e-01 1.161334625794e-01 1.051686508134e-01 -9.426189149487e-02 8.342756762269e-02 7.267984345857e-02 6.203264459791e-02 -5.149963850351e-02 4.109421553098e-02 3.082947047420e-02 2.071818465801e-02 -1.077280860452e-02 1.005445298223e-03 -8.572165925815e-03 -1.794866484750e-02 --2.711308515908e-02 -3.605486857337e-02 -4.476387822326e-02 -5.323041133405e-02 --6.144521115129e-02 -6.939947810838e-02 -7.708488021916e-02 -8.449356268224e-02 --9.161815668497e-02 -9.845178739657e-02 -1.049880811410e-01 -1.112211717417e-01 --1.171457060316e-01 -1.227568485239e-01 -1.280502852381e-01 -1.330222266814e-01 --1.376694099826e-01 -1.419891001798e-01 -1.459790906629e-01 -1.496377027758e-01 --1.529637845807e-01 -1.559567087919e-01 -1.586163698860e-01 -1.609431803967e-01 --1.629380664048e-01 -1.646024622337e-01 -1.659383043636e-01 -1.669480245779e-01 --1.676345423563e-01 -1.680012565312e-01 -1.680520362242e-01 -1.677912110810e-01 --1.672235608253e-01 -1.663543041499e-01 -1.651890869686e-01 -1.637339700507e-01 --1.619954160607e-01 -1.599802760282e-01 -1.576957752738e-01 -1.551494988150e-01 --1.523493762806e-01 -1.493036663599e-01 -1.460209408153e-01 -1.425100680861e-01 --1.387801965141e-01 -1.348407372190e-01 -1.307013466549e-01 -1.263719088780e-01 --1.218625175567e-01 -1.171834577541e-01 -1.123451875168e-01 -1.073583192982e-01 --1.022336012511e-01 -9.698189841972e-02 -9.161417386305e-02 -8.614146974220e-02 --8.057488840244e-02 -7.492557348213e-02 -6.920469107972e-02 -6.342341100985e-02 --5.759288817968e-02 -5.172424411555e-02 -4.582854867040e-02 -3.991680194140e-02 --3.399991642702e-02 -2.808869945211e-02 -2.219383588904e-02 -1.632587120224e-02 --1.049519484285e-02 -4.712024019576e-03 1.013612129261e-03 6.671887937845e-03 -1.225319616570e-02 1.774816247850e-02 2.314765943508e-02 2.844281995988e-02 -3.362505028075e-02 3.868604231359e-02 4.361778547572e-02 4.841257791140e-02 -5.306303711374e-02 5.756210992854e-02 6.190308192655e-02 6.607958613189e-02 -7.008561109556e-02 7.391550830408e-02 7.756399891442e-02 8.102617980788e-02 -8.429752895636e-02 8.737391009604e-02 9.025157670448e-02 9.292717527846e-02 -9.539774791121e-02 9.766073416849e-02 9.971397226479e-02 1.015556995416e-01 -1.031845522510e-01 1.045995646497e-01 1.058001674081e-01 1.067861853425e-01 -1.075578344776e-01 1.081157184486e-01 1.084608242530e-01 1.085945173642e-01 -1.085185362177e-01 1.082349860847e-01 1.077463323465e-01 1.070553931859e-01 -1.061653317105e-01 1.050796475268e-01 1.038021677819e-01 1.023370376914e-01 -1.006887105745e-01 9.886193741598e-02 9.686175597539e-02 9.469347946678e-02 -9.236268483039e-02 8.987520061967e-02 8.723709452720e-02 8.445466057366e-02 -8.153440598436e-02 7.848303777837e-02 7.530744909554e-02 7.201470528725e-02 -6.861202979670e-02 6.510678985503e-02 6.150648201971e-02 5.781871758156e-02 -5.405120786723e-02 5.021174946362e-02 4.630820939109e-02 4.234851025184e-02 -3.834061538020e-02 3.429251402104e-02 3.021220656258e-02 2.610768984944e-02 -2.198694260169e-02 1.785791096528e-02 1.372849421856e-02 9.606530659848e-03 -5.499783699821e-03 1.415928182509e-03 -2.637463042043e-03 -6.652932270945e-03 --1.062314980556e-02 -1.454092649123e-02 -1.839922591912e-02 -2.219117627019e-02 --2.591008178228e-02 -2.954943382188e-02 -3.310292154309e-02 -3.656444211695e-02 --3.992811051546e-02 -4.318826883505e-02 -4.633949514569e-02 -4.937661185231e-02 --5.229469355638e-02 -5.508907440640e-02 -5.775535492709e-02 -6.028940831780e-02 --6.268738621221e-02 -6.494572389166e-02 -6.706114494618e-02 -6.903066537788e-02 --7.085159714244e-02 -7.252155112578e-02 -7.403843955353e-02 -7.540047783238e-02 --7.660618582331e-02 -7.765438854746e-02 -7.854421632691e-02 -7.927510436319e-02 --7.984679175757e-02 -8.025931997822e-02 -8.051303078009e-02 -8.060856358457e-02 --8.054685232665e-02 -8.032912177862e-02 -7.995688335978e-02 -7.943193044286e-02 --7.875633316865e-02 -7.793243278106e-02 -7.696283549561e-02 -7.585040591548e-02 --7.459826000950e-02 -7.320975766749e-02 -7.168849484910e-02 -7.003829534268e-02 --6.826320215163e-02 -6.636746852607e-02 -6.435554865831e-02 -6.223208806108e-02 --6.000191364812e-02 -5.767002353679e-02 -5.524157659327e-02 -5.272188174089e-02 --5.011638705261e-02 -4.743066864903e-02 -4.467041942335e-02 -4.184143761519e-02 --3.894961525502e-02 -3.600092650139e-02 -3.300141589301e-02 -2.995718653790e-02 --2.687438826170e-02 -2.375920573747e-02 -2.061784661876e-02 -1.745652969824e-02 --1.428147311335e-02 -1.109888262079e-02 -7.914939961089e-03 -4.735791334448e-03 --1.567536008483e-03 1.583784921576e-03 4.712199600231e-03 7.811816286993e-03 -1.087683402039e-02 1.390155305203e-02 1.688038503253e-02 1.980786293170e-02 -2.267865067598e-02 2.548755248651e-02 2.822952190233e-02 3.089967047326e-02 -3.349327610817e-02 3.600579106488e-02 3.843284956862e-02 4.077027504678e-02 -4.301408696848e-02 4.516050727831e-02 4.720596641413e-02 4.914710890013e-02 -5.098079850668e-02 5.270412296957e-02 5.431439826230e-02 5.580917241542e-02 -5.718622887831e-02 5.844358941941e-02 5.957951656174e-02 6.059251555162e-02 -6.148133585922e-02 6.224497221049e-02 6.288266515097e-02 6.339390114264e-02 -6.377841219622e-02 6.403617504168e-02 6.416740984102e-02 6.417257844790e-02 -6.405238221978e-02 6.380775938872e-02 6.343988199820e-02 6.295015241363e-02 -6.234019941541e-02 6.161187388381e-02 6.076724408590e-02 5.980859057519e-02 -5.873840071572e-02 5.755936284243e-02 5.627436007089e-02 5.488646376947e-02 -5.339892670812e-02 5.181517589800e-02 5.013880513719e-02 4.837356727771e-02 -4.652336622993e-02 4.459224872063e-02 4.258439582145e-02 4.050411426480e-02 -3.835582756459e-02 3.614406695959e-02 3.387346219716e-02 3.154873217566e-02 -2.917467546383e-02 2.675616071553e-02 2.429811699864e-02 2.180552405659e-02 -1.928340252129e-02 1.673680409631e-02 1.417080172878e-02 1.159047978888e-02 -9.000924275244e-03 6.407213064825e-03 3.814406225389e-03 1.227536408694e-03 --1.348400657838e-03 -3.908455563428e-03 -6.447734472963e-03 -8.961408235834e-03 --1.144472132802e-02 -1.389300061125e-02 -1.630166389347e-02 -1.866622827537e-02 --2.098231826799e-02 -2.324567366721e-02 -2.545215717123e-02 -2.759776172772e-02 --2.967861759805e-02 -3.169099912633e-02 -3.363133120187e-02 -3.549619540409e-02 --3.728233581974e-02 -3.898666452275e-02 -4.060626670788e-02 -4.213840546996e-02 --4.358052622122e-02 -4.493026073991e-02 -4.618543084423e-02 -4.734405168610e-02 --4.840433466040e-02 -4.936468992564e-02 -5.022372853315e-02 -5.098026416238e-02 --5.163331446070e-02 -5.218210198706e-02 -5.262605475920e-02 -5.296480640535e-02 --5.319819592169e-02 -5.332626703778e-02 -5.334926719295e-02 -5.326764612724e-02 --5.308205409115e-02 -5.279333967946e-02 -5.240254729470e-02 -5.191091424675e-02 --5.131986749570e-02 -5.063102004568e-02 -4.984616699800e-02 -4.896728127267e-02 --4.799650900776e-02 -4.693616464688e-02 -4.578872572534e-02 -4.455682736635e-02 --4.324325649890e-02 -4.185094580953e-02 -4.038296744078e-02 -3.884252644926e-02 --3.723295403692e-02 -3.555770056945e-02 -3.382032839593e-02 -3.202450448434e-02 --3.017399288780e-02 -2.827264705655e-02 -2.632440201112e-02 -2.433326639210e-02 --2.230331440239e-02 -2.023867765756e-02 -1.814353696050e-02 -1.602211401627e-02 --1.387866310330e-02 -1.171746271703e-02 -9.542807202106e-03 -7.358998389176e-03 --5.170337252312e-03 -2.981115602897e-03 -7.956078357486e-04 1.381937256911e-03 -3.547304588269e-03 5.696320781307e-03 7.824862059854e-03 9.928862011615e-03 -1.200431920884e-02 1.404730467260e-02 1.605396916697e-02 1.802055030983e-02 -1.994337948744e-02 2.181888856018e-02 2.364361634762e-02 2.541421488114e-02 -2.712745541321e-02 2.878023417271e-02 3.036957785620e-02 3.189264884572e-02 -3.334675014412e-02 3.472933001962e-02 3.603798635178e-02 3.727047067176e-02 -3.842469189020e-02 3.949871970692e-02 4.049078769703e-02 4.139929606883e-02 -4.222281408948e-02 4.296008217497e-02 4.361001364187e-02 4.417169611858e-02 -4.464439261484e-02 4.502754224867e-02 4.532076063070e-02 4.552383990645e-02 -4.563674845779e-02 4.565963026541e-02 4.559280393494e-02 4.543676138971e-02 -4.519216623405e-02 4.485985179149e-02 4.444081882282e-02 4.393623292971e-02 -4.334742164992e-02 4.267587125104e-02 4.192322322985e-02 4.109127052535e-02 -4.018195345362e-02 3.919735537355e-02 3.813969809266e-02 3.701133702292e-02 -3.581475609667e-02 3.455256245357e-02 3.322748090938e-02 3.184234821828e-02 -3.040010714028e-02 2.890380032617e-02 2.735656403218e-02 2.576162167727e-02 -2.412227725593e-02 2.244190861979e-02 2.072396064140e-02 1.897193827388e-02 -1.718939952000e-02 1.537994832488e-02 1.354722740593e-02 1.169491103440e-02 -9.826697782416e-03 7.946303249718e-03 6.057452784145e-03 4.163874209975e-03 -2.269290578085e-03 3.774129518360e-04 -1.508066757507e-03 -3.383482892204e-03 --5.245203072812e-03 -7.089635133053e-03 -8.913233951680e-03 -1.071250816855e-02 --1.248402677235e-02 -1.422442554769e-02 -1.593041336966e-02 -1.759877833418e-02 --1.922639371294e-02 -2.081022372206e-02 -2.234732909387e-02 -2.383487244188e-02 --2.527012340929e-02 -2.665046359171e-02 -2.797339122553e-02 -2.923652563365e-02 --3.043761142078e-02 -3.157452241114e-02 -3.264526532177e-02 -3.364798316538e-02 --3.458095837696e-02 -3.544261565918e-02 -3.623152454196e-02 -3.694640165233e-02 --3.758611269111e-02 -3.814967411361e-02 -3.863625451219e-02 -3.904517569888e-02 --3.937591348717e-02 -3.962809817230e-02 -3.980151471027e-02 -3.989610259622e-02 --3.991195544338e-02 -3.984932026455e-02 -3.970859645826e-02 -3.949033450291e-02 --3.919523436204e-02 -3.882414360509e-02 -3.837805524800e-02 -3.785810531897e-02 --3.726557015485e-02 -3.660186343440e-02 -3.586853295496e-02 -3.506725715967e-02 --3.419984142286e-02 -3.326821410135e-02 -3.227442236048e-02 -3.122062778326e-02 --3.010910177222e-02 -2.894222075334e-02 -2.772246119204e-02 -2.645239443157e-02 --2.513468136424e-02 -2.377206694657e-02 -2.236737456924e-02 -2.092350029343e-02 --1.944340696505e-02 -1.793011821868e-02 -1.638671238317e-02 -1.481631630111e-02 --1.322209907433e-02 -1.160726574782e-02 -9.975050944547e-03 -8.328712463620e-03 --6.671524854327e-03 -5.006772978614e-03 -3.337745574486e-03 -1.667728832823e-03 --5.395180400398e-15 1.662178981316e-03 3.315567781108e-03 4.956953928423e-03 -6.583158983546e-03 - Type L N - 0 1 8 -0.000000000000e+00 1.655791103063e-02 3.309130092512e-02 4.957569177821e-02 -6.598669206340e-02 8.230003961507e-02 9.849164436217e-02 1.145376307318e-01 -1.304143796409e-01 1.460985699965e-01 1.615672196230e-01 1.767977255416e-01 -1.917679035205e-01 2.064560268243e-01 2.208408640859e-01 2.349017162306e-01 -2.486184523800e-01 2.619715446705e-01 2.749421019171e-01 2.875119020609e-01 -2.996634233391e-01 3.113798741173e-01 3.226452213293e-01 3.334442174714e-01 -3.437624261002e-01 3.535862457864e-01 3.629029324815e-01 3.717006202560e-01 -3.799683403704e-01 3.876960386461e-01 3.948745911041e-01 4.014958178447e-01 -4.075524951436e-01 4.130383657444e-01 4.179481473306e-01 4.222775391635e-01 -4.260232268770e-01 4.291828854229e-01 4.317551801646e-01 4.337397661211e-01 -4.351372853661e-01 4.359493625901e-01 4.361785988394e-01 4.358285634475e-01 -4.349037841774e-01 4.334097355995e-01 4.313528257302e-01 4.287403809622e-01 -4.255806293188e-01 4.218826820699e-01 4.176565137483e-01 4.129129406093e-01 -4.076635975805e-01 4.019209137486e-01 3.956980864370e-01 3.890090539261e-01 -3.818684668752e-01 3.742916585036e-01 3.662946135934e-01 3.578939363780e-01 -3.491068173809e-01 3.399509992743e-01 3.304447418252e-01 3.206067860027e-01 -3.104563173158e-01 3.000129284597e-01 2.892965813420e-01 2.783275685685e-01 -2.671264744631e-01 2.557141357010e-01 2.441116016337e-01 2.323400943838e-01 -2.204209687893e-01 2.083756722763e-01 1.962257047393e-01 1.839925785072e-01 -1.716977784745e-01 1.593627224744e-01 1.470087219714e-01 1.346569431490e-01 -1.223283684690e-01 1.100437587743e-01 9.782361600920e-02 8.568814662840e-02 -7.365722576277e-02 6.175036221118e-02 4.998666432326e-02 3.838480683706e-02 -2.696299873338e-02 1.573895216584e-02 4.729852523970e-03 -6.047670316608e-03 --1.657756950472e-02 -2.684440743599e-02 -3.683338064054e-02 -4.653034329268e-02 --5.592182930193e-02 -6.499507294809e-02 -7.373802802593e-02 -8.213938546823e-02 --9.018858941940e-02 -9.787585173473e-02 -1.051921648841e-01 -1.121293132420e-01 --1.186798827491e-01 -1.248372689340e-01 -1.305956832882e-01 -1.359501579873e-01 --1.408965489612e-01 -1.454315373114e-01 -1.495526290843e-01 -1.532581534076e-01 --1.565472590033e-01 -1.594199090916e-01 -1.618768747062e-01 -1.639197264415e-01 --1.655508246575e-01 -1.667733081709e-01 -1.675910814631e-01 -1.680088004392e-01 --1.680318567754e-01 -1.676663608940e-01 -1.669191236090e-01 -1.657976364858e-01 --1.643100509646e-01 -1.624651562948e-01 -1.602723563338e-01 -1.577416452637e-01 --1.548835822823e-01 -1.517092653254e-01 -1.482303038812e-01 -1.444587909565e-01 --1.404072742592e-01 -1.360887266589e-01 -1.315165159935e-01 -1.267043742846e-01 --1.216663664322e-01 -1.164168584543e-01 -1.109704853407e-01 -1.053421185900e-01 --9.954683349864e-02 -9.359987627215e-02 -8.751663102686e-02 -8.131258675264e-02 --7.500330430489e-02 -6.860438349469e-02 -6.213143034506e-02 -5.560002458081e-02 --4.902568741833e-02 -4.242384972091e-02 -3.580982058406e-02 -2.919875641380e-02 --2.260563055994e-02 -1.604520356440e-02 -9.531994083388e-03 -3.080250540227e-03 -3.296076436016e-03 9.583360733074e-03 1.576832658815e-02 2.183807348183e-02 -2.778010004672e-02 3.358232694644e-02 3.923311868330e-02 4.472130429523e-02 -5.003619690538e-02 5.516761209014e-02 6.010588503451e-02 6.484188644590e-02 -6.936703720085e-02 7.367332170163e-02 7.775329992268e-02 8.160011812990e-02 -8.520751825843e-02 8.856984593796e-02 9.168205715707e-02 9.453972356161e-02 -9.713903638452e-02 9.947680900809e-02 1.015504781620e-01 1.033581037636e-01 -1.048983674105e-01 1.061705695366e-01 1.071746252480e-01 1.079110588552e-01 -1.083809971237e-01 1.085861612649e-01 1.085288576940e-01 1.082119675829e-01 -1.076389352390e-01 1.068137553428e-01 1.057409590805e-01 1.044255992085e-01 -1.028732340897e-01 1.010899107443e-01 9.908214695680e-02 9.685691248719e-02 -9.442160943152e-02 9.178405178158e-02 8.895244423362e-02 8.593536029779e-02 -8.274171976109e-02 7.938076555768e-02 7.586204010149e-02 7.219536113690e-02 -6.839079716390e-02 6.445864249493e-02 6.040939200082e-02 5.625371560381e-02 -5.200243257576e-02 4.766648569971e-02 4.325691535298e-02 3.878483356985e-02 -3.426139814131e-02 2.969778680940e-02 2.510517161269e-02 2.049469343892e-02 -1.587743684027e-02 1.126440516526e-02 6.666496060902e-03 2.094477397162e-03 --2.441036335399e-03 -6.929607105114e-03 -1.136099584778e-02 -1.572518435772e-02 --2.001239651645e-02 -2.421311881573e-02 -2.831812013375e-02 -3.231847072490e-02 --3.620556038587e-02 -3.997111576244e-02 -4.360721676405e-02 -4.710631205476e-02 --5.046123359210e-02 -5.366521018711e-02 -5.671188006150e-02 -5.959530238024e-02 --6.230996774016e-02 -6.485080759772e-02 -6.721320262165e-02 -6.939298995846e-02 --7.138646940160e-02 -7.319040845732e-02 -7.480204630292e-02 -7.621909663577e-02 --7.743974941355e-02 -7.846267148922e-02 -7.928700614622e-02 -7.991237154210e-02 --8.033885807125e-02 -8.056702465956e-02 -8.059789400636e-02 -8.043294679127e-02 --8.007411486574e-02 -7.952377345131e-02 -7.878473236882e-02 -7.786022632466e-02 --7.675390428232e-02 -7.546981794938e-02 -7.401240941182e-02 -7.238649794943e-02 --7.059726606763e-02 -6.865024478271e-02 -6.655129819886e-02 -6.430660741689e-02 --6.192265381581e-02 -5.940620174943e-02 -5.676428070158e-02 -5.400416694426e-02 --5.113336474404e-02 -4.815958716276e-02 -4.509073649924e-02 -4.193488441934e-02 --3.870025182206e-02 -3.539518848972e-02 -3.202815257059e-02 -2.860768994224e-02 --2.514241350411e-02 -2.164098244758e-02 -1.811208155151e-02 -1.456440055113e-02 --1.100661362739e-02 -7.447359063791e-03 -3.895219116495e-03 -3.587001433476e-04 -3.153786963840e-03 6.633946000119e-03 1.007361427884e-02 1.346478103227e-02 -1.679960534131e-02 2.007043355533e-02 2.326981616478e-02 2.639052409048e-02 -2.942556435520e-02 3.236819510471e-02 3.521193994704e-02 3.795060158074e-02 -4.057827468431e-02 4.308935804128e-02 4.547856587701e-02 4.774093838528e-02 -4.987185142497e-02 5.186702536882e-02 5.372253308861e-02 5.543480706295e-02 -5.700064559627e-02 5.841721813936e-02 5.968206970430e-02 6.079312436851e-02 -6.174868786500e-02 6.254744925770e-02 6.318848170351e-02 6.367124230392e-02 -6.399557105220e-02 6.416168888325e-02 6.417019483595e-02 6.402206233961e-02 -6.371863463793e-02 6.326161936624e-02 6.265308229920e-02 6.189544028845e-02 -6.099145341102e-02 5.994421635153e-02 5.875714904241e-02 5.743398658838e-02 -5.597876850265e-02 5.439582728400e-02 5.268977636510e-02 5.086549746396e-02 -4.892812737133e-02 4.688304420838e-02 4.473585318977e-02 4.249237192826e-02 -4.015861531808e-02 3.774078003476e-02 3.524522869016e-02 3.267847368179e-02 -3.004716077609e-02 2.735805246603e-02 2.461801114311e-02 2.183398212490e-02 -1.901297657847e-02 1.616205438104e-02 1.328830695820e-02 1.039884014080e-02 -7.500757080491e-03 4.601141264318e-03 1.707039667804e-03 -1.174553914293e-03 --4.036715321065e-03 -6.872606224583e-03 -9.675490038058e-03 -1.243874749688e-02 --1.515589187733e-02 -1.782058381887e-02 -2.042664571674e-02 -2.296807565325e-02 --2.543906083690e-02 -2.783399052001e-02 -3.014746836701e-02 -3.237432424670e-02 --3.450962542356e-02 -3.654868712452e-02 -3.848708245922e-02 -4.032065167364e-02 --4.204551071828e-02 -4.365805911411e-02 -4.515498710107e-02 -4.653328205570e-02 --4.779023416631e-02 -4.892344135592e-02 -4.993081344491e-02 -5.081057554727e-02 --5.156127069620e-02 -5.218176169658e-02 -5.267123220359e-02 -5.302918702888e-02 --5.325545167719e-02 -5.335017111832e-02 -5.331380780109e-02 -5.314713891769e-02 --5.285125292855e-02 -5.242754535957e-02 -5.187771388525e-02 -5.120375271283e-02 --5.040794628419e-02 -4.949286231375e-02 -4.846134418223e-02 -4.731650270732e-02 --4.606170731395e-02 -4.470057662806e-02 -4.323696851891e-02 -4.167496961652e-02 --4.001888433139e-02 -3.827322340542e-02 -3.644269202321e-02 -3.453217751437e-02 --3.254673667809e-02 -3.049158276193e-02 -2.837207212753e-02 -2.619369063662e-02 --2.396203979110e-02 -2.168282266139e-02 -1.936182963770e-02 -1.700492403911e-02 --1.461802761544e-02 -1.220710597707e-02 -9.778153987978e-03 -7.337181156879e-03 --4.890197061645e-03 -2.443196841538e-03 -2.146791744090e-06 2.427029905829e-03 -4.838467281943e-03 7.226370476656e-03 9.585029400815e-03 1.190883213079e-02 -1.419227800556e-02 1.642999039615e-02 1.861672911823e-02 2.074740245990e-02 -2.281707879732e-02 2.482099777245e-02 2.675458100782e-02 2.861344233493e-02 -3.039339751367e-02 3.209047342193e-02 3.370091669553e-02 3.522120180033e-02 -3.664803851944e-02 3.797837884032e-02 3.920942322779e-02 4.033862627058e-02 -4.136370169057e-02 4.228262670554e-02 4.309364573766e-02 4.379527346174e-02 -4.438629718867e-02 4.486577858132e-02 4.523305470151e-02 4.548773838844e-02 -4.562971797067e-02 4.565915631493e-02 4.557648921710e-02 4.538242314188e-02 -4.507793231948e-02 4.466425520881e-02 4.414289033863e-02 4.351559153905e-02 -4.278436257749e-02 4.195145121455e-02 4.101934269644e-02 3.999075270200e-02 -3.886861976354e-02 3.765609718199e-02 3.635654445778e-02 3.497351826022e-02 -3.351076295890e-02 3.197220074180e-02 3.036192134554e-02 2.868417142405e-02 -2.694334358287e-02 2.514396510671e-02 2.329068640869e-02 2.138826923032e-02 -1.944157462145e-02 1.745555073027e-02 1.543522043333e-02 1.338566883613e-02 -1.131203067490e-02 9.219477650305e-03 7.113205723915e-03 4.998422408071e-03 -2.880334079970e-03 7.641333503272e-04 -1.345013483117e-03 -3.441978867347e-03 --5.521686281563e-03 -7.579122351377e-03 -9.609348761184e-03 -1.160751393678e-02 --1.356886447099e-02 -1.548875626571e-02 -1.736266536469e-02 -1.918619845208e-02 --2.095510299273e-02 -2.266527699123e-02 -2.431277834758e-02 -2.589383378856e-02 --2.740484735483e-02 -2.884240842504e-02 -3.020329925943e-02 -3.148450204645e-02 --3.268320543748e-02 -3.379681055569e-02 -3.482293646675e-02 -3.575942509999e-02 --3.660434561055e-02 -3.735599817388e-02 -3.801291720575e-02 -3.857387400208e-02 --3.903787879458e-02 -3.940418221928e-02 -3.967227619680e-02 -3.984189422432e-02 --3.991301108094e-02 -3.988584194924e-02 -3.976084095732e-02 -3.953869914728e-02 --3.922034187691e-02 -3.880692566323e-02 -3.829983447740e-02 -3.770067550228e-02 --3.701127436464e-02 -3.623366985568e-02 -3.537010815444e-02 -3.442303657002e-02 --3.339509681946e-02 -3.228911785923e-02 -3.110810828940e-02 -2.985524835046e-02 --2.853388153354e-02 -2.714750582588e-02 -2.569976461398e-02 -2.419443726774e-02 --2.263542942962e-02 -2.102676303320e-02 -1.937256607656e-02 -1.767706217584e-02 --1.594455992534e-02 -1.417944209042e-02 -1.238615466005e-02 -1.056919578607e-02 --8.733104636253e-03 -6.882450188568e-03 -5.021819993921e-03 -3.155808934758e-03 --1.289008006752e-03 5.740068493430e-04 2.428685838783e-03 4.270516300273e-03 -6.095033563517e-03 7.897831651018e-03 9.674573798760e-03 1.142100277091e-02 -1.313295094430e-02 1.480635013898e-02 1.643724117206e-02 1.802178311248e-02 -1.955626221549e-02 2.103710051615e-02 2.246086406235e-02 2.382427076859e-02 -2.512419787273e-02 2.635768897918e-02 2.752196067273e-02 2.861440868857e-02 -2.963261362498e-02 3.057434618660e-02 3.143757194694e-02 3.222045562041e-02 -3.292136483523e-02 3.353887339954e-02 3.407176405486e-02 3.451903071165e-02 -3.487988016366e-02 3.515373327833e-02 3.534022566241e-02 3.543920780289e-02 -3.545074468464e-02 3.537511488750e-02 3.521280916677e-02 3.496452852234e-02 -3.463118176278e-02 3.421388257209e-02 3.371394608787e-02 3.313288500087e-02 -3.247240518699e-02 3.173440088389e-02 3.092094942553e-02 3.003430554875e-02 -2.907689528729e-02 2.805130946938e-02 2.696029683603e-02 2.580675679798e-02 -2.459373185012e-02 2.332439966292e-02 2.200206487120e-02 2.063015058108e-02 -1.921218961681e-02 1.775181552949e-02 1.625275339036e-02 1.471881039172e-02 -1.315386627900e-02 1.156186363765e-02 9.946798059158e-03 8.312708210192e-03 -6.663665829604e-03 5.003765677650e-03 3.337115462101e-03 1.667825765779e-03 -3.234571482622e-15 -1.662275591703e-03 -3.314941855525e-03 -4.953976550982e-03 --6.575404052716e-03 - Type L N - 0 1 9 -0.000000000000e+00 1.830358174210e-02 3.657403808490e-02 5.477831499715e-02 -7.288350101641e-02 9.085689811520e-02 1.086660920666e-01 1.262790221443e-01 -1.436640499936e-01 1.607900275125e-01 1.776263635835e-01 1.941430895004e-01 -2.103109229381e-01 2.261013303140e-01 2.414865873988e-01 2.564398380332e-01 -2.709351508156e-01 2.849475736296e-01 2.984531858842e-01 3.114291483481e-01 -3.238537504622e-01 3.357064550233e-01 3.469679401358e-01 3.576201383384e-01 -3.676462728158e-01 3.770308906151e-01 3.857598927944e-01 3.938205614351e-01 -4.012015834617e-01 4.078930712177e-01 4.138865797541e-01 4.191751207972e-01 -4.237531733675e-01 4.276166910331e-01 4.307631057854e-01 4.331913285360e-01 -4.349017462416e-01 4.358962156689e-01 4.361780538247e-01 4.357520250791e-01 -4.346243250218e-01 4.328025610972e-01 4.302957300717e-01 4.271141923958e-01 -4.232696435290e-01 4.187750823041e-01 4.136447764136e-01 4.078942251090e-01 -4.015401192086e-01 3.946002985174e-01 3.870937067674e-01 3.790403441931e-01 -3.704612178630e-01 3.613782898909e-01 3.518144236589e-01 3.417933281848e-01 -3.313395007746e-01 3.204781681009e-01 3.092352258544e-01 2.976371771166e-01 -2.857110696066e-01 2.734844319544e-01 2.609852091583e-01 2.482416973830e-01 -2.352824782561e-01 2.221363528245e-01 2.088322753284e-01 1.953992869526e-01 -1.818664497150e-01 1.682627806506e-01 1.546171864455e-01 1.409583986801e-01 -1.273149098309e-01 1.137149101839e-01 1.001862258071e-01 8.675625772682e-02 -7.345192244858e-02 6.029959396153e-02 4.732504735816e-02 3.455340419908e-02 -2.200907974642e-02 9.715732184933e-03 -2.303786055728e-03 -1.402747476984e-02 --2.543423013342e-02 -3.650388645536e-02 -4.721725543241e-02 -5.755616282508e-02 --6.750348247854e-02 -7.704316761906e-02 -8.616027936410e-02 -9.484101239104e-02 --1.030727177169e-01 -1.108439225488e-01 -1.181443471731e-01 -1.249649188563e-01 --1.312977827426e-01 -1.371363097361e-01 -1.424751013654e-01 -1.473099916373e-01 --1.516380458899e-01 -1.554575566670e-01 -1.587680366408e-01 -1.615702086167e-01 --1.638659926636e-01 -1.656584904169e-01 -1.669519666121e-01 -1.677518279090e-01 --1.680645990773e-01 -1.678978966182e-01 -1.672603999032e-01 -1.661618199179e-01 --1.646128657023e-01 -1.626252085877e-01 -1.602114443317e-01 -1.573850532599e-01 --1.541603585270e-01 -1.505524826134e-01 -1.465773021787e-01 -1.422514013949e-01 --1.375920238872e-01 -1.326170234127e-01 -1.273448134092e-01 -1.217943155488e-01 --1.159849074327e-01 -1.099363695658e-01 -1.036688317492e-01 -9.720271903118e-02 --9.055869735635e-02 -8.375761905255e-02 -7.682046829625e-02 -6.976830669444e-02 --6.262221912132e-02 -5.540325994599e-02 -4.813239978587e-02 -4.083047291815e-02 --3.351812547938e-02 -2.621576458043e-02 -1.894350846070e-02 -1.172113780254e-02 --4.568048322596e-03 2.496795246826e-03 9.454903677738e-03 1.628830616362e-02 -2.297959153439e-02 2.951194767482e-02 3.586919905734e-02 4.203584230544e-02 -4.799707970983e-02 5.373885062489e-02 5.924786067938e-02 6.451160874110e-02 -6.951841158171e-02 7.425742619399e-02 7.871866972059e-02 8.289303695950e-02 -8.677231541825e-02 9.034919789536e-02 9.361729257421e-02 9.657113062115e-02 -9.920617128620e-02 1.015188045114e-01 1.035063510584e-01 1.051670601729e-01 -1.065001048107e-01 1.075055744564e-01 1.081844655702e-01 1.085386697071e-01 -1.085709593568e-01 1.082849715578e-01 1.076851893481e-01 1.067769211146e-01 -1.055662779148e-01 1.040601488446e-01 1.022661745321e-01 1.001927188440e-01 -9.784883889096e-02 9.524425342656e-02 9.238930973593e-02 8.929494911340e-02 -8.597267103297e-02 8.243449611708e-02 7.869292801214e-02 7.476091428152e-02 -7.065180642847e-02 6.637931916320e-02 6.195748902942e-02 5.740063250685e-02 -5.272330370674e-02 4.794025177762e-02 4.306637813898e-02 3.811669365958e-02 -3.310627589716e-02 2.805022651502e-02 2.296362898958e-02 1.786150672202e-02 -1.275878166461e-02 7.670233570794e-03 2.610459975239e-03 -2.406162992260e-03 --7.365518858348e-03 -1.225378802552e-02 -1.705748386522e-02 -2.176348759424e-02 --2.635908184775e-02 -3.083198286669e-02 -3.517037122126e-02 -3.936292099701e-02 --4.339882737451e-02 -4.726783253870e-02 -5.096024985851e-02 -5.446698628319e-02 --5.777956290620e-02 -6.089013365359e-02 -6.379150205870e-02 -6.647713609080e-02 --6.894118101077e-02 -7.117847023244e-02 -7.318453417395e-02 -7.495560708904e-02 --7.648863187394e-02 -7.778126285084e-02 -7.883186653490e-02 -7.963952039699e-02 --8.020400963978e-02 -8.052582201049e-02 -8.060614067853e-02 -8.044683521154e-02 --8.005045068863e-02 -7.942019499406e-02 -7.855992433988e-02 -7.747412707017e-02 --7.616790580441e-02 -7.464695798128e-02 -7.291755486873e-02 -7.098651910953e-02 --6.886120087552e-02 -6.654945270702e-02 -6.405960311692e-02 -6.140042904224e-02 --5.858112722820e-02 -5.561128463271e-02 -5.250084794108e-02 -4.926009228271e-02 --4.589958924332e-02 -4.243017426745e-02 -3.886291354731e-02 -3.520907049454e-02 --3.148007189251e-02 -2.768747382652e-02 -2.384292748968e-02 -1.995814496188e-02 --1.604486505853e-02 -1.211481934533e-02 -8.179698413918e-03 -4.251118512063e-03 --3.405886206150e-04 3.540521932676e-03 7.381015234165e-03 1.116989583429e-02 -1.489640100313e-02 1.855003011098e-02 2.212057305618e-02 2.559813766586e-02 -2.897317599822e-02 3.223650947904e-02 3.537935280821e-02 3.839333657641e-02 -4.127052853591e-02 4.400345347347e-02 4.658511163778e-02 4.900899567831e-02 -5.126910605653e-02 5.335996489552e-02 5.527662823829e-02 5.701469668990e-02 -5.857032442323e-02 5.994022653299e-02 6.112168472734e-02 6.211255135130e-02 -6.291125174084e-02 6.351678491138e-02 6.392872258900e-02 6.414720659753e-02 -6.417294461913e-02 6.400720435046e-02 6.365180608122e-02 6.310911372586e-02 -6.238202434376e-02 6.147395618708e-02 6.038883531963e-02 5.913108085371e-02 -5.770558885585e-02 5.611771497557e-02 5.437325585476e-02 5.247842937856e-02 -5.043985383133e-02 4.826452602414e-02 4.595979846304e-02 4.353335562925e-02 -4.099318944490e-02 3.834757399986e-02 3.560503961655e-02 3.277434633158e-02 -2.986445687386e-02 2.688450922004e-02 2.384378880891e-02 2.075170049681e-02 -1.761774033636e-02 1.445146726111e-02 1.126247475819e-02 8.060362610876e-03 -4.854708792171e-03 1.655041589786e-03 -1.529187958409e-03 -4.688633240530e-03 --7.814078782147e-03 -1.089646641850e-02 -1.392692085488e-02 -1.689677454470e-02 --1.979759181718e-02 -2.262119218908e-02 -2.535967279759e-02 -2.800542989440e-02 --3.055117934399e-02 -3.298997607227e-02 -3.531523241523e-02 -3.752073532041e-02 --3.960066235785e-02 -4.154959650055e-02 -4.336253963851e-02 -4.503492479416e-02 --4.656262701073e-02 -4.794197288940e-02 -4.916974875494e-02 -5.024320743357e-02 --5.116007363092e-02 -5.191854790218e-02 -5.251730921045e-02 -5.295551607350e-02 --5.323280630334e-02 -5.334929534672e-02 -5.330557323923e-02 -5.310270018885e-02 --5.274220080962e-02 -5.222605702894e-02 -5.155669969654e-02 -5.073699892625e-02 --4.977025320544e-02 -4.866017731036e-02 -4.741088906890e-02 -4.602689501520e-02 --4.451307498402e-02 -4.287466569502e-02 -4.111724338018e-02 -3.924670550999e-02 --3.726925167637e-02 -3.519136369229e-02 -3.301978497043e-02 -3.076149924450e-02 --2.842370869875e-02 -2.601381157268e-02 -2.353937930868e-02 -2.100813331197e-02 --1.842792139238e-02 -1.580669395853e-02 -1.315248003518e-02 -1.047336317458e-02 --7.777457332796e-03 -5.072882781731e-03 -2.367742126867e-03 3.299034995427e-04 -3.012058001219e-03 5.670813568846e-03 8.298373552893e-03 1.088707489325e-02 -1.342941004226e-02 1.591804831964e-02 1.834585663938e-02 2.070591955138e-02 -2.299155854231e-02 2.519635054291e-02 2.731414559150e-02 2.933908360597e-02 -3.126561021970e-02 3.308849163934e-02 3.480282848584e-02 3.640406858313e-02 -3.788801866191e-02 3.925085494970e-02 4.048913262121e-02 4.159979408713e-02 -4.258017610231e-02 4.342801567831e-02 4.414145478860e-02 4.471904385849e-02 -4.515974403509e-02 4.546292823669e-02 4.562838098410e-02 4.565629702020e-02 -4.554727872752e-02 4.530233235705e-02 4.492286308491e-02 4.441066891690e-02 -4.376793346419e-02 4.299721761665e-02 4.210145014337e-02 4.108391725303e-02 -3.994825114943e-02 3.869841762072e-02 3.733870270295e-02 3.587369846167e-02 -3.430828793717e-02 3.264762930170e-02 3.089713927853e-02 2.906247587534e-02 -2.714952048553e-02 2.516435941306e-02 2.311326487786e-02 2.100267555991e-02 -1.883917674134e-02 1.662948010682e-02 1.438040326324e-02 1.209884904005e-02 -9.791784632412e-03 7.466220649033e-03 5.129190126911e-03 2.787727574883e-03 -4.488481075623e-04 -1.880473269300e-03 -4.193322161681e-03 -6.482865018936e-03 --8.742369035817e-03 -1.096522166770e-02 -1.314494970317e-02 -1.527523783979e-02 --1.734994671037e-02 -1.936313030911e-02 -2.130905276877e-02 -2.318220444232e-02 --2.497731724460e-02 -2.668937921196e-02 -2.831364824041e-02 -2.984566496514e-02 --3.128126474734e-02 -3.261658873654e-02 -3.384809397998e-02 -3.497256255322e-02 --3.598710968913e-02 -3.688919088565e-02 -3.767660797564e-02 -3.834751414526e-02 --3.890041789059e-02 -3.933418590523e-02 -3.964804489491e-02 -3.984158231818e-02 --3.991474605563e-02 -3.986784301293e-02 -3.970153666648e-02 -3.941684356308e-02 --3.901512878856e-02 -3.849810042285e-02 -3.786780300217e-02 -3.712661001169e-02 --3.627721543499e-02 -3.532262438894e-02 -3.426614287566e-02 -3.311136668538e-02 --3.186216948641e-02 -3.052269014089e-02 -2.909731928684e-02 -2.759068522925e-02 --2.600763918471e-02 -2.435323992584e-02 -2.263273787325e-02 -2.085155868453e-02 --1.901528639060e-02 -1.712964613127e-02 -1.520048654261e-02 -1.323376184967e-02 --1.123551371869e-02 -9.211852923402e-03 -7.168940880532e-03 -5.112971109536e-03 --3.050150671791e-03 -9.866816442555e-04 1.071257317729e-03 3.117529274252e-03 -5.146057097701e-03 7.150841319863e-03 9.125977677427e-03 1.106567430511e-02 -1.296426852686e-02 1.481624319706e-02 1.661624254499e-02 1.835908747760e-02 -2.003979029747e-02 2.165356879447e-02 2.319585967185e-02 2.466233126973e-02 -2.604889555069e-02 2.735171931510e-02 2.856723461572e-02 2.969214834385e-02 -3.072345096179e-02 3.165842435904e-02 3.249464881219e-02 3.323000903138e-02 -3.386269927885e-02 3.439122754791e-02 3.481441879354e-02 3.513141720857e-02 -3.534168754237e-02 3.544501546162e-02 3.544150695593e-02 3.533158679331e-02 -3.511599603395e-02 3.479578861309e-02 3.437232700647e-02 3.384727699485e-02 -3.322260154632e-02 3.250055383794e-02 3.168366944046e-02 3.077475769253e-02 -2.977689229300e-02 2.869340114195e-02 2.752785546354e-02 2.628405824548e-02 -2.496603203204e-02 2.357800610901e-02 2.212440312114e-02 2.060982516361e-02 -1.903903939084e-02 1.741696318714e-02 1.574864894472e-02 1.403926849582e-02 -1.229409724626e-02 1.051849805872e-02 8.717904934536e-03 6.897806543011e-03 -5.063729647956e-03 3.221222480840e-03 1.375838110240e-03 -4.668821430431e-04 --2.301425196093e-03 -4.122322550559e-03 -5.924166447871e-03 -7.701625785658e-03 --9.449461748942e-03 -1.116254311066e-02 -1.283586115725e-02 -1.446454419619e-02 --1.604387160401e-02 -1.756928737443e-02 -1.903641312830e-02 -2.044106054845e-02 --2.177924320460e-02 -2.304718773514e-02 -2.424134435498e-02 -2.535839666045e-02 --2.639527070462e-02 -2.734914331846e-02 -2.821744965592e-02 -2.899788994295e-02 --2.968843541330e-02 -3.028733341619e-02 -3.079311168353e-02 -3.120458174679e-02 --3.152084149646e-02 -3.174127687922e-02 -3.186556273085e-02 -3.189366274530e-02 --3.182582858295e-02 -3.166259812364e-02 -3.140479287259e-02 -3.105351452977e-02 --3.061014073575e-02 -3.007632000953e-02 -2.945396589599e-02 -2.874525034323e-02 --2.795259633192e-02 -2.707866978123e-02 -2.612637075772e-02 -2.509882401582e-02 --2.399936890015e-02 -2.283154864200e-02 -2.159909908372e-02 -2.030593686649e-02 --1.895614711856e-02 -1.755397068200e-02 -1.610379091781e-02 -1.461012012981e-02 --1.307758564908e-02 -1.151091562159e-02 -9.914924542104e-03 -8.294498578460e-03 --6.654580730483e-03 -5.000155868316e-03 -3.336235695113e-03 -1.667843679102e-03 --1.539767840045e-15 1.662293445418e-03 3.314067934178e-03 4.950402660314e-03 -6.566439287048e-03 - Type L N - 0 1 10 -0.000000000000e+00 2.004864164329e-02 4.005374818686e-02 5.997189707219e-02 -7.975989050636e-02 9.937486705384e-02 1.187744122816e-01 1.379166681467e-01 -1.567604408180e-01 1.752653066309e-01 1.933917158755e-01 2.111010941297e-01 -2.283559408516e-01 2.451199249570e-01 2.613579771150e-01 2.770363785041e-01 -2.921228457845e-01 3.065866120476e-01 3.203985035237e-01 3.335310118337e-01 -3.459583615878e-01 3.576565731488e-01 3.686035203875e-01 3.787789832775e-01 -3.881646951877e-01 3.967443847496e-01 4.045038121897e-01 4.114308000356e-01 -4.175152581199e-01 4.227492028224e-01 4.271267705091e-01 4.306442251418e-01 -4.332999600511e-01 4.350944938804e-01 4.360304607265e-01 4.361125945205e-01 -4.353477077066e-01 4.337446642945e-01 4.313143473783e-01 4.280696212279e-01 -4.240252880779e-01 4.191980397498e-01 4.136064042641e-01 4.072706876057e-01 -4.002129108269e-01 3.924567426797e-01 3.840274279856e-01 3.749517119611e-01 -3.652577607274e-01 3.549750782466e-01 3.441344199325e-01 3.327677031962e-01 -3.209079151926e-01 3.085890180434e-01 2.958458518164e-01 2.827140355489e-01 -2.692298666055e-01 2.554302186671e-01 2.413524386478e-01 2.270342428415e-01 -2.125136125998e-01 1.978286898425e-01 1.830176727020e-01 1.681187116030e-01 -1.531698060731e-01 1.382087025797e-01 1.232727936826e-01 1.083990187879e-01 -9.362376678147e-02 7.898278081579e-02 6.451106551345e-02 5.024279684566e-02 -3.621123493252e-02 2.244864000347e-02 8.986191745619e-03 -4.146087743652e-03 --1.691940719460e-02 -2.930627540092e-02 -4.128056627346e-02 -5.281757954507e-02 --6.389409697353e-02 -7.448843390387e-02 -8.458048606534e-02 -9.415177149377e-02 --1.031854674845e-01 -1.116664424970e-01 -1.195812829467e-01 -1.269183148374e-01 --1.336676201993e-01 -1.398210483195e-01 -1.453722217596e-01 -1.503165371794e-01 --1.546511609934e-01 -1.583750199077e-01 -1.614887863972e-01 -1.639948591984e-01 --1.658973389091e-01 -1.672019987983e-01 -1.679162509452e-01 -1.680491078393e-01 --1.676111395862e-01 -1.666144268762e-01 -1.650725098854e-01 -1.630003332896e-01 --1.604141875824e-01 -1.573316468998e-01 -1.537715035604e-01 -1.497536995435e-01 --1.452992551303e-01 -1.404301949456e-01 -1.351694716394e-01 -1.295408874580e-01 --1.235690139552e-01 -1.172791101008e-01 -1.106970390463e-01 -1.038491838104e-01 --9.676236214780e-02 -8.946374086651e-02 -8.198074985927e-02 -7.434099611248e-02 --6.657217795589e-02 -5.870199981310e-02 -5.075808771010e-02 -4.276790579488e-02 --3.475867411658e-02 -2.675728790703e-02 -1.879023860142e-02 -1.088353682792e-02 --3.062637588332e-03 4.647632156173e-03 1.222314328917e-02 1.964053153738e-02 -2.687726147770e-02 3.391168737783e-02 4.072311070645e-02 4.729183416044e-02 -5.359921206845e-02 5.962769704250e-02 6.536088276179e-02 7.078354278585e-02 -7.588166530734e-02 8.064248376806e-02 8.505450327531e-02 8.910752276941e-02 -9.279265290674e-02 9.610232963664e-02 9.903032346394e-02 1.015717444029e-01 -1.037230426415e-01 1.054820049488e-01 1.068477468715e-01 1.078207007777e-01 -1.084025998205e-01 1.085964579047e-01 1.084065457533e-01 1.078383631812e-01 -1.068986076957e-01 1.055951395535e-01 1.039369434151e-01 1.019340867459e-01 -9.959767512544e-02 9.693980463058e-02 9.397351147173e-02 9.071271906439e-02 -8.717218272780e-02 8.336743220780e-02 7.931471222655e-02 7.503092126704e-02 -7.053354880411e-02 6.584061119752e-02 6.097058646507e-02 5.594234815611e-02 -5.077509854694e-02 4.548830138022e-02 4.010161437038e-02 3.463482169635e-02 -2.910776670111e-02 2.354028501549e-02 1.795213832078e-02 1.236294896080e-02 -6.792135610295e-03 1.258850200934e-03 -4.218083698605e-03 -9.620230858748e-03 --1.492960253797e-02 -2.012871262865e-02 -2.520063163165e-02 -3.012903829971e-02 --3.489826879872e-02 -3.949336324477e-02 -4.390010948483e-02 -4.810508399883e-02 --5.209568981097e-02 -5.586019130913e-02 -5.938774588175e-02 -6.266843229296e-02 --6.569327572773e-02 -6.845426945066e-02 -7.094439303319e-02 -7.315762711593e-02 --7.508896468429e-02 -7.673441884752e-02 -7.809102712250e-02 -7.915685223563e-02 --7.993097946722e-02 -8.041351057425e-02 -8.060555433844e-02 -8.050921379745e-02 --8.012757022741e-02 -7.946466395572e-02 -7.852547209259e-02 -7.731588327969e-02 --7.584266956346e-02 -7.411345550934e-02 -7.213668468178e-02 -6.992158362252e-02 --6.747812346730e-02 -6.481697934799e-02 -6.194948773330e-02 -5.888760186748e-02 --5.564384547130e-02 -5.223126487436e-02 -4.866337975202e-02 -4.495413264360e-02 --4.111783743128e-02 -3.716912696158e-02 -3.312289999281e-02 -2.899426765287e-02 --2.479849959220e-02 -2.055097001649e-02 -1.626710378278e-02 -1.196232274131e-02 --7.651992503055e-03 -3.351369810803e-03 9.244493122807e-04 5.160580465896e-03 -9.342400661638e-03 1.345559683653e-02 1.748621293522e-02 2.142069541087e-02 -2.524593700109e-02 2.894931864218e-02 3.251874939191e-02 3.594270423906e-02 -3.921025968548e-02 4.231112699506e-02 4.523568301251e-02 4.797499846364e-02 -5.052086365817e-02 5.286581152518e-02 5.500313792111e-02 5.692691915965e-02 -5.863202672279e-02 6.011413912208e-02 6.136975088909e-02 6.239617868396e-02 -6.319156452082e-02 6.375487611866e-02 6.408590439613e-02 6.418525813809e-02 -6.405435587152e-02 6.369541499742e-02 6.311143823471e-02 6.230619744047e-02 -6.128421488011e-02 6.005074202860e-02 5.861173599241e-02 5.697383364896e-02 -5.514432360789e-02 5.313111610504e-02 5.094271094654e-02 4.858816362643e-02 -4.607704974642e-02 4.341942787185e-02 4.062580096206e-02 3.770707651766e-02 -3.467452559057e-02 3.153974080592e-02 2.831459354694e-02 2.501119045654e-02 -2.164182941010e-02 1.821895511529e-02 1.475511449471e-02 1.126291200738e-02 -7.754965063920e-03 4.243859689298e-03 7.421065851342e-04 -2.737902258719e-03 --6.183936256412e-03 -9.583968078509e-03 -1.292621452469e-02 -1.619917628107e-02 --1.939167643117e-02 -2.249289759449e-02 -2.549241757245e-02 -2.838024338689e-02 --3.114684360294e-02 -3.378317883446e-02 -3.628073033708e-02 -3.863152660118e-02 --4.082816786452e-02 -4.286384847181e-02 -4.473237701661e-02 -4.642819420862e-02 --4.794638841819e-02 -4.928270885753e-02 -5.043357636716e-02 -5.139609178411e-02 --5.216804187731e-02 -5.274790284372e-02 -5.313484136769e-02 -5.332871325409e-02 --5.333005965434e-02 -5.314010091262e-02 -5.276072806770e-02 -5.219449205378e-02 --5.144459065131e-02 -5.051485324662e-02 -4.940972346612e-02 -4.813423975813e-02 --4.669401400190e-02 -4.509520822999e-02 -4.334450955621e-02 -4.144910340686e-02 --3.941664515877e-02 -3.725523029218e-02 -3.497336317145e-02 -3.257992457041e-02 --3.008413806323e-02 -2.749553540467e-02 -2.482392102666e-02 -2.207933578043e-02 --1.927202005531e-02 -1.641237640686e-02 -1.351093182804e-02 -1.057829979737e-02 --7.625142238595e-03 -4.662131525298e-03 -1.699912663701e-03 1.250934214945e-03 -4.179930922482e-03 7.076737714922e-03 9.931189101533e-03 1.273332884009e-02 -1.547344399990e-02 1.814209797818e-02 2.073016235946e-02 2.322884751252e-02 -2.562973182413e-02 2.792478947434e-02 3.010641666348e-02 3.216745620708e-02 -3.410122042100e-02 3.590151222541e-02 3.756264440283e-02 3.907945695250e-02 -4.044733248991e-02 4.166220964770e-02 4.272059444137e-02 4.361956957043e-02 -4.435680163298e-02 4.493054623945e-02 4.533965101810e-02 4.558355651299e-02 -4.566229498192e-02 4.557648710952e-02 4.532733665778e-02 4.491662308349e-02 -4.434669215893e-02 4.362044463923e-02 4.274132302606e-02 4.171329648416e-02 -4.054084397319e-02 3.922893566336e-02 3.778301270904e-02 3.620896545993e-02 -3.451311019452e-02 3.270216446519e-02 3.078322114897e-02 2.876372130186e-02 -2.665142591846e-02 2.445438670201e-02 2.218091595286e-02 1.983955568594e-02 -1.743904609016e-02 1.498829344416e-02 1.249633760444e-02 9.972319182722e-03 -7.425446529940e-03 4.864962644432e-03 2.300112121540e-03 -2.598917388347e-04 --2.805899551278e-03 -5.328858076613e-03 -7.819841954325e-03 -1.027008482593e-02 --1.267100974223e-02 -1.501425875040e-02 -1.729172156025e-02 -1.949556319270e-02 --2.161825051761e-02 -2.365257759228e-02 -2.559168971691e-02 -2.742910612772e-02 --2.915874125420e-02 -3.077492447184e-02 -3.227241828756e-02 -3.364643490095e-02 --3.489265109020e-02 -3.600722137795e-02 -3.698678943834e-02 -3.782849771329e-02 --3.852999521197e-02 -3.908944347460e-02 -3.950552068759e-02 -3.977742394431e-02 --3.990486965171e-02 -3.988809209007e-02 -3.972784013937e-02 -3.942537219222e-02 --3.898244927969e-02 -3.840132644254e-02 -3.768474238633e-02 -3.683590746490e-02 --3.585849004241e-02 -3.475660128944e-02 -3.353477847430e-02 -3.219796681543e-02 --3.075149996562e-02 -2.920107920358e-02 -2.755275141222e-02 -2.581288592724e-02 --2.398815034318e-02 -2.208548536733e-02 -2.011207881489e-02 -1.807533884159e-02 --1.598286651190e-02 -1.384242780324e-02 -1.166192514795e-02 -9.449368616029e-03 --7.212846842601e-03 -4.960497804243e-03 -2.700479548737e-03 -4.409409822704e-04 -1.810007182417e-03 4.044321214475e-03 6.254052788899e-03 8.431376946610e-03 -1.056861949336e-02 1.265828374257e-02 1.469307650983e-02 1.666593327010e-02 -1.857004239157e-02 2.039886836419e-02 2.214617394453e-02 2.380604114285e-02 -2.537289098282e-02 2.684150196859e-02 2.820702719934e-02 2.946501007592e-02 -3.061139854973e-02 3.164255786935e-02 3.255528178579e-02 3.334680218296e-02 -3.401479710578e-02 3.455739716389e-02 3.497319029498e-02 3.526122487769e-02 -3.542101118961e-02 3.545252121225e-02 3.535618679028e-02 3.513289615849e-02 -3.478398885543e-02 3.431124904846e-02 3.371689730043e-02 3.300358081369e-02 -3.217436219224e-02 3.123270676812e-02 3.018246854296e-02 2.902787480027e-02 -2.777350944864e-02 2.642429516031e-02 2.498547437342e-02 2.346258923028e-02 -2.186146052724e-02 2.018816575514e-02 1.844901631213e-02 1.665053397331e-02 -1.479942670392e-02 1.290256390496e-02 1.096695118144e-02 8.999704725225e-03 -7.008025405165e-03 4.999172657959e-03 2.980438273595e-03 9.591201691588e-04 --1.057503755487e-03 -3.062201587306e-03 -5.047813103120e-03 -7.007275115486e-03 --8.933646372492e-03 -1.082013192444e-02 -1.266010687264e-02 -1.444713941799e-02 --1.617501313000e-02 -1.783774835972e-02 -1.942962272361e-02 -2.094519058887e-02 --2.237930149457e-02 -2.372711744690e-02 -2.498412903130e-02 -2.614617028833e-02 --2.720943230507e-02 -2.817047547839e-02 -2.902624041133e-02 -2.977405740903e-02 --3.041165454542e-02 -3.093716427746e-02 -3.134912858868e-02 -3.164650264916e-02 --3.182865698466e-02 -3.189537815236e-02 -3.184686792677e-02 -3.168374100401e-02 --3.140702123818e-02 -3.101813642883e-02 -3.051891168338e-02 -2.991156138346e-02 --2.919867978912e-02 -2.838323031923e-02 -2.746853355148e-02 -2.645825398932e-02 --2.535638564767e-02 -2.416723651317e-02 -2.289541193861e-02 -2.154579703466e-02 --2.012353812540e-02 -1.863402333740e-02 -1.708286239459e-02 -1.547586569425e-02 --1.381902274107e-02 -1.211848001905e-02 -1.038051838184e-02 -8.611530044460e-03 --6.817995259627e-03 -5.006458763405e-03 -3.183506074999e-03 -1.355739735954e-03 -4.702444261774e-04 2.287880924952e-03 4.090658048933e-03 5.872141019292e-03 -7.625994789379e-03 9.346006406019e-03 1.102610685420e-02 1.266039230890e-02 -1.424314472013e-02 1.576885166011e-02 1.723222536401e-02 1.862822089924e-02 -1.995205340120e-02 2.119921431727e-02 2.236548660433e-02 2.344695882920e-02 -2.444003812529e-02 2.534146196321e-02 2.614830869725e-02 2.685800685435e-02 -2.746834313655e-02 2.797746911293e-02 2.838390658129e-02 2.868655158536e-02 -2.888467707741e-02 2.897793422157e-02 2.896635233780e-02 2.885033749128e-02 -2.863066973694e-02 2.830849903352e-02 2.788533984624e-02 2.736306446191e-02 -2.674389504468e-02 2.603039446512e-02 2.522545593952e-02 2.433229152056e-02 -2.335441948430e-02 2.229565066234e-02 2.116007377167e-02 1.995203979781e-02 -1.867614549062e-02 1.733721603445e-02 1.594028695760e-02 1.449058534836e-02 -1.299351044696e-02 1.145461368516e-02 9.879578246670e-03 8.274198223086e-03 -6.644357441323e-03 4.996008039433e-03 3.335148868278e-03 1.667803796964e-03 -3.832333388677e-15 -1.662253695995e-03 -3.312988328793e-03 -4.946296103549e-03 --6.556351406844e-03 - Type L N - 0 1 11 -0.000000000000e+00 2.179313647908e-02 4.353035148500e-02 6.515589437070e-02 -8.661435557316e-02 1.078508357368e-01 1.288111131402e-01 1.494418088701e-01 -1.696905491932e-01 1.895061245890e-01 2.088386449143e-01 2.276396901883e-01 -2.458624564983e-01 2.634618965462e-01 2.803948543723e-01 2.966201938157e-01 -3.120989202896e-01 3.267942954758e-01 3.406719445652e-01 3.536999556995e-01 -3.658489712929e-01 3.770922709447e-01 3.874058456805e-01 3.967684632900e-01 -4.051617245613e-01 4.125701102424e-01 4.189810185926e-01 4.243847934197e-01 -4.287747425303e-01 4.321471465559e-01 4.345012581483e-01 4.358392915717e-01 -4.361664027526e-01 4.354906598801e-01 4.338230046825e-01 4.311772045361e-01 -4.275697955963e-01 4.230200171681e-01 4.175497375648e-01 4.111833717325e-01 -4.039477909438e-01 3.958722248923e-01 3.869881565445e-01 3.773292101283e-01 -3.669310326625e-01 3.558311694484e-01 3.440689339701e-01 3.316852726619e-01 -3.187226250217e-01 3.052247795617e-01 2.912367261015e-01 2.768045049186e-01 -2.619750532809e-01 2.467960498929e-01 2.313157577933e-01 2.155828662428e-01 -1.996463321450e-01 1.835552215413e-01 1.673585517181e-01 1.511051344618e-01 -1.348434209883e-01 1.186213490687e-01 1.024861928608e-01 8.648441594503e-02 -7.066152805026e-02 5.506194593974e-02 3.972885891084e-02 2.470409934367e-02 -1.002801871455e-02 -4.260630531350e-03 -1.812480687587e-02 -3.152928504390e-02 --4.444075441587e-02 -5.682791023875e-02 -6.866153736488e-02 -7.991458627492e-02 --9.056224117035e-02 -1.005819799495e-01 -1.099536259108e-01 -1.186593910576e-01 --1.266839109077e-01 -1.340142707436e-01 -1.406400232677e-01 -1.465531976587e-01 --1.517483000572e-01 -1.562223055341e-01 -1.599746416325e-01 -1.630071635954e-01 --1.653241214276e-01 -1.669321189622e-01 -1.678400651353e-01 -1.680591176933e-01 --1.676026195889e-01 -1.664860283409e-01 -1.647268386600e-01 -1.623444986645e-01 --1.593603200295e-01 -1.557973824329e-01 -1.516804326828e-01 -1.470357789218e-01 --1.418911803256e-01 -1.362757327206e-01 -1.302197505626e-01 -1.237546457239e-01 --1.169128035497e-01 -1.097274566472e-01 -1.022325568785e-01 -9.446264603178e-02 --8.645272564422e-02 -7.823812645441e-02 -6.985437795556e-02 -6.133707852051e-02 --5.272176656260e-02 -4.404379319008e-02 -3.533819680296e-02 -2.663958007102e-02 --1.798198971996e-02 -9.398799539355e-03 -9.225970114397e-04 7.414926056442e-03 -1.558307853021e-02 2.355227023146e-02 3.129410717687e-02 3.878148146859e-02 -4.598865555143e-02 5.289134057545e-02 5.946676862642e-02 6.569375861076e-02 -7.155277560676e-02 7.702598351955e-02 8.209729090292e-02 8.675238983800e-02 -9.097878778495e-02 9.476583235083e-02 9.810472894348e-02 1.009885513080e-01 -1.034122449693e-01 1.053726236294e-01 1.068683585957e-01 1.078999613413e-01 -1.084697593221e-01 1.085818652020e-01 1.082421396595e-01 1.074581479724e-01 -1.062391105989e-01 1.045958479944e-01 1.025407199239e-01 1.000875595466e-01 -9.725160257056e-02 9.404941178636e-02 9.049879730973e-02 8.661873287188e-02 -8.242926851147e-02 7.795144003197e-02 7.320717559788e-02 6.821919985121e-02 -6.301093593613e-02 5.760640582461e-02 5.203012933925e-02 4.630702227151e-02 -4.046229399383e-02 3.452134496283e-02 2.850966450844e-02 2.245272929924e-02 -1.637590286890e-02 1.030433658157e-02 4.262872405336e-03 -1.724052146652e-03 --7.632496559132e-03 -1.343910700584e-02 -1.912120286645e-02 -2.465685976182e-02 --3.002498881579e-02 -3.520541186869e-02 -4.017893238544e-02 -4.492740181995e-02 --4.943378121662e-02 -5.368219785040e-02 -5.765799672723e-02 -6.134778678827e-02 --6.473948168299e-02 -6.782233499842e-02 -7.058696985439e-02 -7.302540279695e-02 --7.513106194530e-02 -7.689879936999e-02 -7.832489770306e-02 -7.940707100312e-02 --8.014445992091e-02 -8.053762123268e-02 -8.058851183007e-02 -8.030046727682e-02 --7.967817506226e-02 -7.872764270218e-02 -7.745616085613e-02 -7.587226164889e-02 --7.398567240102e-02 -7.180726499017e-02 -6.934900108004e-02 -6.662387346879e-02 --6.364584382149e-02 -6.042977706421e-02 -5.699137272778e-02 -5.334709353956e-02 --4.951409156995e-02 -4.551013224788e-02 -4.135351656568e-02 -3.706300179806e-02 --3.265772106416e-02 -2.815710206293e-02 -2.358078531356e-02 -1.894854223191e-02 --1.428019337201e-02 -9.595527158838e-03 -4.914219434093e-03 -2.557541309840e-04 -4.360654612551e-03 8.916138600968e-03 1.339224969642e-02 1.777103162032e-02 -2.203508917061e-02 2.616765459631e-02 3.015265088436e-02 3.397475172781e-02 -3.761943795926e-02 4.107305024936e-02 4.432283788633e-02 4.735700346988e-02 -5.016474336993e-02 5.273628381917e-02 5.506291252654e-02 5.713700571763e-02 -5.895205052719e-02 6.050266268794e-02 6.178459947919e-02 6.279476791836e-02 -6.353122819741e-02 6.399319238558e-02 6.418101843872e-02 6.409619957396e-02 -6.374134908698e-02 6.312018070691e-02 6.223748460108e-02 6.109909915894e-02 -5.971187870037e-02 5.808365726915e-02 5.622320868722e-02 5.414020305894e-02 -5.184515992814e-02 4.934939830240e-02 4.666498377061e-02 4.380467294984e-02 -4.078185550705e-02 3.761049400912e-02 3.430506186180e-02 3.088047960438e-02 -2.735204983156e-02 2.373539101786e-02 2.004637052257e-02 1.630103705456e-02 -1.251555287685e-02 8.706126029876e-03 4.888942850580e-03 1.080101061262e-03 --2.704456301719e-03 -6.449005854733e-03 -1.013810747059e-02 -1.375666626791e-02 --1.728999274300e-02 -2.072386081036e-02 -2.404456352797e-02 -2.723896629411e-02 --3.029455731476e-02 -3.319949515228e-02 -3.594265317999e-02 -3.851366078028e-02 --4.090294113888e-02 -4.310174550227e-02 -4.510218378084e-02 -4.689725139583e-02 --4.848085228438e-02 -4.984781799297e-02 -5.099392280627e-02 -5.191589487472e-02 --5.261142332107e-02 -5.307916132229e-02 -5.331872518030e-02 -5.333068941089e-02 --5.311657789653e-02 -5.267885116464e-02 -5.202088986843e-02 -5.114697456235e-02 --5.006226187908e-02 -4.877275722901e-02 -4.728528415663e-02 -4.560745050123e-02 --4.374761152173e-02 -4.171483015650e-02 -3.951883460044e-02 -3.716997339087e-02 --3.467916820333e-02 -3.205786456648e-02 -2.931798071251e-02 -2.647185478601e-02 --2.353219063955e-02 -2.051200244886e-02 -1.742455838377e-02 -1.428332357382e-02 --1.110190260871e-02 -7.893981814469e-03 -4.673271545616e-03 -1.453448732228e-03 -1.751900081738e-03 4.929334975789e-03 8.065617937246e-03 1.114776696915e-02 -1.416310880441e-02 1.709933001595e-02 1.994452632029e-02 2.268724988081e-02 -2.531655442606e-02 2.782203800892e-02 3.019388324267e-02 3.242289486188e-02 -3.450053446752e-02 3.641895232851e-02 3.817101612440e-02 3.975033652761e-02 -4.115128953698e-02 4.236903548838e-02 4.339953468251e-02 4.423955958394e-02 -4.488670356038e-02 4.533938614526e-02 4.559685482141e-02 4.565918333805e-02 -4.552726658742e-02 4.520281208183e-02 4.468832808529e-02 4.398710846806e-02 -4.310321436509e-02 4.204145273253e-02 4.080735190866e-02 3.940713429764e-02 -3.784768630540e-02 3.613652566818e-02 3.428176632399e-02 3.229208098661e-02 -3.017666159085e-02 2.794517778511e-02 2.560773365507e-02 2.317482286836e-02 -2.065728243558e-02 1.806624528813e-02 1.541309187673e-02 1.270940099779e-02 -9.966900056893e-03 7.197414979788e-03 4.412819981767e-03 1.624987405761e-03 --1.154262161871e-03 -3.913209291151e-03 -6.640284420206e-03 -9.324115679194e-03 --1.195357563138e-02 -1.451782674183e-02 -1.700636539054e-02 -1.940906425357e-02 --2.171621288381e-02 -2.391855633098e-02 -2.600733164970e-02 -2.797430215388e-02 --2.981178928597e-02 -3.151270197986e-02 -3.307056340770e-02 -3.447953501202e-02 --3.573443773653e-02 -3.683077038102e-02 -3.776472501805e-02 -3.853319942200e-02 --3.913380647322e-02 -3.956488051348e-02 -3.982548064107e-02 -3.991539094731e-02 --3.983511770864e-02 -3.958588356111e-02 -3.916961869685e-02 -3.858894913381e-02 --3.784718212267e-02 -3.694828876587e-02 -3.589688393539e-02 -3.469820358660e-02 --3.335807957590e-02 -3.188291209987e-02 -3.027963988299e-02 -2.855570824968e-02 --2.671903522478e-02 -2.477797581401e-02 -2.274128462294e-02 -2.061807697903e-02 --1.841778872704e-02 -1.615013487255e-02 -1.382506725260e-02 -1.145273141545e-02 --9.043422894160e-03 -6.607543060106e-03 -4.155554743638e-03 -1.697937809094e-03 -7.548551292782e-04 3.192442665382e-03 5.604558050438e-03 7.981091953342e-03 -1.031213435602e-02 1.258801541199e-02 1.479934510156e-02 1.693705152268e-02 -1.899241766321e-02 2.095711650716e-02 2.282324433526e-02 2.458335208836e-02 -2.623047467085e-02 2.775815808054e-02 2.916048426097e-02 3.043209358222e-02 -3.156820486655e-02 3.256463288599e-02 3.341780326972e-02 3.412476477049e-02 -3.468319885036e-02 3.509142655758e-02 3.534841267794e-02 3.545376715538e-02 -3.540774378797e-02 3.521123621720e-02 3.486577123920e-02 3.437349947812e-02 -3.373718347255e-02 3.296018323647e-02 3.204643936670e-02 3.100045377861e-02 -2.982726816161e-02 2.853244025504e-02 2.712201805375e-02 2.560251206090e-02 -2.398086571340e-02 2.226442411211e-02 2.046090119586e-02 1.857834550417e-02 -1.662510467876e-02 1.460978885874e-02 1.254123312817e-02 1.042845917830e-02 -8.280636348997e-03 6.107042216126e-03 3.917022892714e-03 1.719953212175e-03 --4.748030382492e-04 -2.657932666617e-03 -4.820212242419e-03 -6.952546716402e-03 --9.046007333782e-03 -1.109186868417e-02 -1.308164473581e-02 -1.500712370661e-02 --1.686040163002e-02 -1.863391447977e-02 -2.032046872421e-02 -2.191327018802e-02 --2.340595110683e-02 -2.479259526816e-02 -2.606776114068e-02 -2.722650290280e-02 --2.826438929035e-02 -2.917752019323e-02 -2.996254094007e-02 -3.061665422028e-02 --3.113762960290e-02 -3.152381062200e-02 -3.177411940849e-02 -3.188805885902e-02 --3.186571234266e-02 -3.170774095667e-02 -3.141537835273e-02 -3.099042316541e-02 --3.043522908428e-02 -2.975269262116e-02 -2.894623863318e-02 -2.801980367190e-02 --2.697781723715e-02 -2.582518102325e-02 -2.456724625301e-02 -2.320978920269e-02 --2.175898502853e-02 -2.022138001172e-02 -1.860386234538e-02 -1.691363159244e-02 --1.515816694857e-02 -1.334519444867e-02 -1.148265325965e-02 -9.578661205024e-03 --7.641479670110e-03 -5.679478038152e-03 -3.701097809389e-03 -1.714816555726e-03 -2.708881362214e-04 2.247574581434e-03 4.206872621096e-03 6.140518806220e-03 -8.040390993455e-03 9.898542209267e-03 1.170723364232e-02 1.345896662807e-02 -1.514651349440e-02 1.676294714233e-02 1.830166924172e-02 1.975643692822e-02 -2.112138789423e-02 2.239106377415e-02 2.356043173148e-02 2.462490416344e-02 -2.558035644686e-02 2.642314265784e-02 2.715010920632e-02 2.775860633575e-02 -2.824649744724e-02 2.861216621701e-02 2.885452148515e-02 2.897299990333e-02 -2.896756633873e-02 2.883871204058e-02 2.858745058548e-02 2.821531162677e-02 -2.772433248241e-02 2.711704760501e-02 2.639647598612e-02 2.556610655562e-02 -2.462988164546e-02 2.359217859434e-02 2.245778957821e-02 2.123189975812e-02 -1.992006384398e-02 1.852818117902e-02 1.706246945562e-02 1.552943717875e-02 -1.393585499764e-02 1.228872603135e-02 1.059525531705e-02 8.862818513530e-03 -7.098929994781e-03 5.311210470988e-03 3.507354275343e-03 1.695096456355e-03 --1.178201845162e-04 -1.923677970274e-03 -3.714817002090e-03 -5.483667451956e-03 --7.222781358961e-03 -8.924863796434e-03 -1.058280328031e-02 -1.218970129275e-02 --1.373890079919e-02 -1.522401364171e-02 -1.663894669672e-02 -1.797792669063e-02 --1.923552357318e-02 -2.040667235442e-02 -2.148669331847e-02 -2.247131053399e-02 --2.335666858892e-02 -2.413934748492e-02 -2.481637563465e-02 -2.538524091358e-02 --2.584389972606e-02 -2.619078405428e-02 -2.642480646702e-02 -2.654536307404e-02 --2.655233442062e-02 -2.644608432550e-02 -2.622745667403e-02 -2.589777018717e-02 --2.545881119531e-02 -2.491282445423e-02 -2.426250204868e-02 -2.351097043711e-02 --2.266177569858e-02 -2.171886705035e-02 -2.068657871186e-02 -1.956961019731e-02 --1.837300512556e-02 -1.710212864223e-02 -1.576264355393e-02 -1.436048528026e-02 --1.290183573343e-02 -1.139309623976e-02 -9.840859620859e-03 -8.251881555604e-03 --6.633051346524e-03 -4.991362216394e-03 -3.333881262430e-03 -1.667719196465e-03 --1.252029249129e-15 1.662169377033e-03 3.311729145596e-03 4.941696507830e-03 -6.545195062944e-03 - Type L N - 0 1 12 -0.000000000000e+00 2.353708990158e-02 4.700372424124e-02 7.032969852654e-02 -9.344530942980e-02 1.162816029389e-01 1.387706196013e-01 1.608456359111e-01 -1.824414009039e-01 2.034943670446e-01 2.239429145167e-01 2.437275680475e-01 -2.627912054346e-01 2.810792569734e-01 2.985398950222e-01 3.151242129802e-01 -3.307863929987e-01 3.454838617916e-01 3.591774339565e-01 3.718314422736e-01 -3.834138544972e-01 3.938963762135e-01 4.032545393913e-01 4.114677763133e-01 -4.185194786323e-01 4.243970413570e-01 4.290918916348e-01 4.325995022568e-01 -4.349193898750e-01 4.360550979795e-01 4.360141647480e-01 4.348080759372e-01 -4.324522030470e-01 4.289657270467e-01 4.243715480088e-01 4.186961810524e-01 -4.119696390512e-01 4.042253026151e-01 3.954997778998e-01 3.858327428509e-01 -3.752667825307e-01 3.638472142173e-01 3.516219030072e-01 3.386410686858e-01 -3.249570846632e-01 3.106242698036e-01 2.956986739995e-01 2.802378583656e-01 -2.643006709472e-01 2.479470188474e-01 2.312376376950e-01 2.142338593760e-01 -1.969973789599e-01 1.795900217460e-01 1.620735113556e-01 1.445092397843e-01 -1.269580403177e-01 1.094799641977e-01 9.213406190838e-02 7.497816992517e-02 -5.806870374771e-02 4.146045800476e-02 2.520641438815e-02 9.357558136381e-03 --6.037296249583e-03 -2.093166941763e-02 -3.528157110542e-02 -4.904564305986e-02 --6.218529043189e-02 -7.466480119359e-02 -8.645145317610e-02 -9.751560838008e-02 --1.078307942646e-01 -1.173737717757e-01 -1.261245899322e-01 -1.340666268415e-01 --1.411866170774e-01 -1.474746654061e-01 -1.529242469034e-01 -1.575321935658e-01 --1.612986675667e-01 -1.642271213709e-01 -1.663242449674e-01 -1.675999005374e-01 --1.680670449203e-01 -1.677416402926e-01 -1.666425535187e-01 -1.647914446778e-01 --1.622126453124e-01 -1.589330269841e-01 -1.549818607578e-01 -1.503906682705e-01 --1.451930650704e-01 -1.394245969404e-01 -1.331225699455e-01 -1.263258749621e-01 --1.190748074691e-01 -1.114108833905e-01 -1.033766517948e-01 -9.501550526063e-02 --8.637148872350e-02 -7.748910761920e-02 -6.841313613556e-02 -5.918842637876e-02 --4.985971924994e-02 -4.047145781489e-02 -3.106760393315e-02 -2.169145889320e-02 --1.238548877768e-02 -3.191155256908e-03 5.851247519595e-03 1.470274929490e-02 -2.332585273513e-02 3.168467454995e-02 3.974507817269e-02 4.747479751034e-02 -5.484355131576e-02 6.182314777826e-02 6.838757897434e-02 7.451310486650e-02 -8.017832658628e-02 8.536424878543e-02 9.005433088884e-02 9.423452713178e-02 -9.789331531380e-02 1.010217142514e-01 1.036132899601e-01 1.056641506473e-01 -1.071729306415e-01 1.081407634361e-01 1.085712440671e-01 1.084703810920e-01 -1.078465384785e-01 1.067103677557e-01 1.050747308170e-01 1.029546138047e-01 -1.003670325408e-01 9.733093000097e-02 9.386706636109e-02 8.999790217305e-02 -8.574747525279e-02 8.114127188606e-02 7.620609297763e-02 7.096991578680e-02 -6.546175190632e-02 5.971150215286e-02 5.374980904527e-02 4.760790755214e-02 -4.131747479179e-02 3.491047936708e-02 2.841903101303e-02 2.187523122841e-02 -1.531102555213e-02 8.758058132643e-03 2.247529222459e-03 -4.189943788083e-03 --1.052446120516e-02 -1.672697116450e-02 -2.276939451983e-02 -2.862474397146e-02 --3.426723695013e-02 -3.967240180334e-02 -4.481717686565e-02 -4.968000202968e-02 --5.424090247206e-02 -5.848156422675e-02 -6.238540133771e-02 -6.593761436314e-02 --6.912524004507e-02 -7.193719199910e-02 -7.436429232180e-02 -7.639929405484e-02 --7.803689448736e-02 -7.927373932002e-02 -8.010841775533e-02 -8.054144862004e-02 --8.057525766524e-02 -8.021414622903e-02 -7.946425148455e-02 -7.833349853277e-02 --7.683154463486e-02 -7.496971591223e-02 -7.276093687458e-02 -7.021965316594e-02 --6.736174794674e-02 -6.420445235596e-02 -6.076625052070e-02 -5.706677960214e-02 --5.312672538540e-02 -4.896771393767e-02 -4.461219987235e-02 -4.008335176876e-02 --3.540493530523e-02 -3.060119466994e-02 -2.569673281675e-02 -2.071639113458e-02 --1.568512909669e-02 -1.062790445193e-02 -5.569554513084e-03 -5.346790876653e-04 -4.452474415033e-03 9.368123181620e-03 1.418905799432e-02 1.889274854904e-02 -2.345744462895e-02 2.786227269385e-02 3.208732747020e-02 3.611375815340e-02 -3.992384886211e-02 4.350109301388e-02 4.683026132252e-02 4.989746314961e-02 -5.269020097593e-02 5.519741779228e-02 5.740953724413e-02 5.931849639975e-02 -6.091777104672e-02 6.220239345799e-02 6.316896260401e-02 6.381564682340e-02 -6.414217899965e-02 6.414984432661e-02 6.384146077934e-02 6.322135244057e-02 -6.229531586555e-02 6.107057969925e-02 5.955575779032e-02 5.776079607494e-02 -5.569691353103e-02 5.337653752900e-02 5.081323392948e-02 4.802163230036e-02 -4.501734664615e-02 4.181689206068e-02 3.843759773068e-02 3.489751673178e-02 -3.121533307059e-02 2.741026643610e-02 2.350197513124e-02 1.951045766075e-02 -1.545595345435e-02 1.135884320487e-02 7.239549299492e-03 3.118436818400e-03 --9.842844310189e-04 -5.048656384379e-03 -9.055067245289e-03 -1.298434362790e-02 --1.681783989414e-02 -2.053752427915e-02 -2.412606141631e-02 -2.756689089357e-02 --3.084430149349e-02 -3.394350079322e-02 -3.685067982415e-02 -3.955307251732e-02 --4.203900968671e-02 -4.429796733090e-02 -4.632060906158e-02 -4.809882249738e-02 --4.962574949065e-02 -5.089581008577e-02 -5.190472013790e-02 -5.264950255174e-02 --5.312849213097e-02 -5.334133405930e-02 -5.328897606445e-02 -5.297365434650e-02 --5.239887338089e-02 -5.156937973537e-02 -5.049113006756e-02 -4.917125349694e-02 --4.761800857021e-02 -4.584073506414e-02 -4.384980089242e-02 -4.165654440541e-02 --3.927321239134e-02 -3.671289410659e-02 -3.398945167938e-02 -3.111744724624e-02 --2.811206719445e-02 -2.498904389459e-02 -2.176457531741e-02 -1.845524293660e-02 --1.507792832477e-02 -1.164972885379e-02 -8.187872912099e-03 -4.709635051572e-03 --1.232251474072e-03 2.227163736248e-03 5.651701235047e-03 9.024737502409e-03 -1.233001400794e-02 1.555171408592e-02 1.867453716340e-02 2.168376999907e-02 -2.456535460730e-02 2.730595255964e-02 2.989300537537e-02 3.231479073357e-02 -3.456047426051e-02 3.662015666949e-02 3.848491605360e-02 4.014684515668e-02 -4.159908347314e-02 4.283584405281e-02 4.385243491366e-02 4.464527499170e-02 -4.521190458397e-02 4.555099026790e-02 4.566232430652e-02 4.554681857598e-02 -4.520649307801e-02 4.464445912564e-02 4.386489731591e-02 4.287303042770e-02 -4.167509140666e-02 4.027828662191e-02 3.869075460117e-02 3.692152047148e-02 -3.498044635225e-02 3.287817796553e-02 3.062608774515e-02 2.823621474180e-02 -2.572120163483e-02 2.309422917390e-02 2.036894838409e-02 1.755941087725e-02 -1.467999761934e-02 1.174534650916e-02 8.770279127717e-03 5.769727019243e-03 -2.758657865373e-03 -2.479980876935e-04 -3.235420992346e-03 -6.188973401328e-03 --9.094270963014e-03 -1.193725147333e-02 -1.470424195731e-02 -1.738202346467e-02 --1.995789327655e-02 -2.241972423481e-02 -2.475602092095e-02 -2.695597242837e-02 --2.900950148962e-02 -3.090730973942e-02 -3.264091891419e-02 -3.420270780943e-02 --3.558594483822e-02 -3.678481605604e-02 -3.779444854007e-02 -3.861092903422e-02 --3.923131779467e-02 -3.965365759447e-02 -3.987697786926e-02 -3.990129401035e-02 --3.972760183458e-02 -3.935786728378e-02 -3.879501142990e-02 -3.804289088384e-02 --3.710627372834e-02 -3.599081111610e-02 -3.470300469494e-02 -3.325017004113e-02 --3.164039630063e-02 -2.988250225524e-02 -2.798598904736e-02 -2.596098981158e-02 --2.381821647562e-02 -2.156890400536e-02 -1.922475237966e-02 -1.679786659066e-02 --1.430069497284e-02 -1.174596617125e-02 -9.146625064051e-03 -6.515767958077e-03 --3.866577378258e-03 -1.212256771825e-03 1.434034552759e-03 4.059245935026e-03 -6.650499007036e-03 9.195150166160e-03 1.168085157626e-02 1.409561040614e-02 -1.642784602408e-02 1.866644487885e-02 2.080081280995e-02 2.282092454377e-02 -2.471737014747e-02 2.648139822798e-02 2.810495568084e-02 2.958072381109e-02 -3.090215066733e-02 3.206347944897e-02 3.305977286697e-02 3.388693335837e-02 -3.454171907583e-02 3.502175559447e-02 3.532554329940e-02 3.545246043867e-02 -3.540276184772e-02 3.517757337235e-02 3.477888203842e-02 3.420952203676e-02 -3.347315661224e-02 3.257425596523e-02 3.151807129299e-02 3.031060511655e-02 -2.895857805645e-02 2.746939223695e-02 2.585109151430e-02 2.411231873911e-02 -2.226227027654e-02 2.031064802024e-02 1.826760914738e-02 1.614371387180e-02 -1.394987146110e-02 1.169728479064e-02 9.397393713563e-03 7.061817530047e-03 -4.702296842670e-03 2.330635085978e-03 -4.135998106041e-05 -2.401934532288e-03 --4.739446396347e-03 -7.042421962398e-03 -9.299611993816e-03 -1.150004608071e-02 --1.363308546998e-02 -1.568847402071e-02 -1.765638704319e-02 -1.952747779094e-02 --2.129292138817e-02 -2.294445598809e-02 -2.447442097247e-02 -2.587579201777e-02 --2.714221286967e-02 -2.826802368440e-02 -2.924828581278e-02 -3.007880292119e-02 --3.075613836144e-02 -3.127762872114e-02 -3.164139350451e-02 -3.184634091319e-02 --3.189216971562e-02 -3.177936721315e-02 -3.150920332967e-02 -3.108372087090e-02 --3.050572201797e-02 -2.977875113787e-02 -2.890707401143e-02 -2.789565359657e-02 --2.675012246076e-02 -2.547675203290e-02 -2.408241883942e-02 -2.257456790371e-02 --2.096117350112e-02 -1.925069747389e-02 -1.745204532154e-02 -1.557452029241e-02 --1.362777571047e-02 -1.162176577991e-02 -9.566695115673e-03 -7.472967254063e-03 --5.351132400982e-03 -3.211834678294e-03 -1.065759130111e-03 1.076421249074e-03 -3.204098203719e-03 5.306780365748e-03 7.374144607736e-03 9.396086351181e-03 -1.136276858645e-02 1.326466936830e-02 1.509262755937e-02 1.683788660358e-02 -1.849213612178e-02 2.004755113398e-02 2.149682872434e-02 2.283322197900e-02 -2.405057104052e-02 2.514333113776e-02 2.610659746533e-02 2.693612680282e-02 -2.762835578046e-02 2.818041571472e-02 2.859014395465e-02 2.885609169692e-02 -2.897752824546e-02 2.895444170862e-02 2.878753614502e-02 2.847822518599e-02 -2.802862218038e-02 2.744152692387e-02 2.672040905195e-02 2.586938819154e-02 -2.489321098195e-02 2.379722509086e-02 2.258735036519e-02 2.127004727041e-02 -1.985228278456e-02 1.834149392510e-02 1.674554909766e-02 1.507270746599e-02 -1.333157655084e-02 1.153106827415e-02 9.680353671115e-03 7.788816498768e-03 -5.866005974164e-03 3.921588878623e-03 1.965301266782e-03 6.900020163358e-06 --1.943885515106e-03 -3.877401568169e-03 -5.784117425114e-03 -7.654672120294e-03 --9.479920109940e-03 -1.125097570653e-02 -1.295925605940e-02 -1.459652247490e-02 --1.615491987864e-02 -1.762701423181e-02 -1.900582772493e-02 -2.028487158338e-02 --2.145817633196e-02 -2.252031937854e-02 -2.346644979062e-02 -2.429231015303e-02 --2.499425540968e-02 -2.556926860766e-02 -2.601497347730e-02 -2.632964379787e-02 --2.651220951470e-02 -2.656225958916e-02 -2.648004157988e-02 -2.626645796893e-02 --2.592305926328e-02 -2.545203391726e-02 -2.485619513762e-02 -2.413896464740e-02 --2.330435350019e-02 -2.235694005013e-02 -2.130184519668e-02 -2.014470503651e-02 --1.889164106679e-02 -1.754922809596e-02 -1.612446002881e-02 -1.462471370237e-02 --1.305771095848e-02 -1.143147914647e-02 -9.754310256928e-03 -8.034718893153e-03 --6.281399292208e-03 -4.503181611217e-03 -2.708987697548e-03 -9.077865632151e-04 -8.914502154210e-04 2.679792952024e-03 4.448397939574e-03 6.188550957985e-03 -7.891709987112e-03 9.549546916831e-03 1.115398805161e-02 1.269725321357e-02 -1.417189325570e-02 1.557082580540e-02 1.688736906771e-02 1.811527352810e-02 -1.924875140520e-02 2.028250371582e-02 2.121174482664e-02 2.203222437996e-02 -2.274024649412e-02 2.333268615299e-02 2.380700271336e-02 2.416125047307e-02 -2.439408625788e-02 2.450477399972e-02 2.449318629390e-02 2.435980293789e-02 -2.410570646921e-02 2.373257473464e-02 2.324267053749e-02 2.263882842416e-02 -2.192443868490e-02 2.110342865723e-02 2.018024143375e-02 1.915981208813e-02 -1.804754154540e-02 1.684926823351e-02 1.557123766391e-02 1.422007009836e-02 -1.280272646852e-02 1.132647272246e-02 9.798842779793e-03 8.227600283368e-03 -6.620699340510e-03 4.986244451547e-03 3.332449826440e-03 1.667598292818e-03 -5.962649506421e-14 -1.662048875611e-03 -3.310307220713e-03 -4.936629666149e-03 --6.533006660971e-03 - Type L N - 0 2 0 -0.000000000000e+00 6.151333446762e-06 2.460487800223e-05 5.535915194780e-05 -9.841173105899e-05 1.537592083733e-04 2.213972082458e-04 3.013203802203e-04 -3.935224034400e-04 4.979959858620e-04 6.147328643748e-04 7.437238061971e-04 -8.849586091118e-04 1.038426102541e-03 1.204114148362e-03 1.382009641477e-03 -1.572098511301e-03 1.774365722741e-03 1.988795277015e-03 2.215370213351e-03 -2.454072609935e-03 2.704883585496e-03 2.967783300640e-03 3.242750959398e-03 -3.529764810944e-03 3.828802151048e-03 4.139839324043e-03 4.462851724476e-03 -4.797813799119e-03 5.144699048843e-03 5.503480030702e-03 5.874128360038e-03 -6.256614712691e-03 6.650908827169e-03 7.056979507058e-03 7.474794623387e-03 -7.904321117090e-03 8.345525001577e-03 8.798371365319e-03 9.262824374523e-03 -9.738847275919e-03 1.022640239958e-02 1.072545116179e-02 1.123595406802e-02 -1.175787071599e-02 1.229115979875e-02 1.283577910784e-02 1.339168553658e-02 -1.395883508334e-02 1.453718285494e-02 1.512668307009e-02 1.572728906294e-02 -1.633895328661e-02 1.696162731691e-02 1.759526185599e-02 1.823980673619e-02 -1.889521092388e-02 1.956142252333e-02 2.023838878078e-02 2.092605608844e-02 -2.162436998860e-02 2.233327517785e-02 2.305271551134e-02 2.378263400702e-02 -2.452297285010e-02 2.527367339742e-02 2.603467618203e-02 2.680592091770e-02 -2.758734650356e-02 2.837889102883e-02 2.918049177751e-02 2.999208523327e-02 -3.081360708426e-02 3.164499222813e-02 3.248617477692e-02 3.333708806224e-02 -3.419766464030e-02 3.506783629711e-02 3.594753405376e-02 3.683668817167e-02 -3.773522815796e-02 3.864308277085e-02 3.956018002516e-02 4.048644719780e-02 -4.142181083340e-02 4.236619674989e-02 4.331953004423e-02 4.428173509816e-02 -4.525273558400e-02 4.623245447050e-02 4.722081402876e-02 4.821773583819e-02 -4.922314079254e-02 5.023694910596e-02 5.125908031911e-02 5.228945330537e-02 -5.332798627704e-02 5.437459679160e-02 5.542920175808e-02 5.649171744338e-02 -5.756205947875e-02 5.864014286621e-02 5.972588198510e-02 6.081919059865e-02 -6.191998186058e-02 6.302816832176e-02 6.414366193692e-02 6.526637407142e-02 -6.639621550800e-02 6.753309645369e-02 6.867692654663e-02 6.982761486302e-02 -7.098506992412e-02 7.214919970320e-02 7.331991163267e-02 7.449711261111e-02 -7.568070901045e-02 7.687060668312e-02 7.806671096926e-02 7.926892670401e-02 -8.047715822478e-02 8.169130937856e-02 8.291128352931e-02 8.413698356539e-02 -8.536831190694e-02 8.660517051338e-02 8.784746089095e-02 8.909508410021e-02 -9.034794076364e-02 9.160593107325e-02 9.286895479821e-02 9.413691129255e-02 -9.540969950282e-02 9.668721797590e-02 9.796936486668e-02 9.925603794593e-02 -1.005471346081e-01 1.018425518791e-01 1.031421864243e-01 1.044459345564e-01 -1.057536922434e-01 1.070653551164e-01 1.083808184777e-01 1.096999773088e-01 -1.110227262786e-01 1.123489597511e-01 1.136785717938e-01 1.150114561856e-01 -1.163475064250e-01 1.176866157382e-01 1.190286770876e-01 1.203735831792e-01 -1.217212264716e-01 1.230714991840e-01 1.244242933040e-01 1.257795005966e-01 -1.271370126117e-01 1.284967206931e-01 1.298585159862e-01 1.312222894466e-01 -1.325879318487e-01 1.339553337933e-01 1.353243857168e-01 1.366949778989e-01 -1.380670004714e-01 1.394403434265e-01 1.408148966248e-01 1.421905498044e-01 -1.435671925888e-01 1.449447144955e-01 1.463230049445e-01 1.477019532664e-01 -1.490814487115e-01 1.504613804574e-01 1.518416376183e-01 1.532221092527e-01 -1.546026843724e-01 1.559832519508e-01 1.573637009312e-01 1.587439202355e-01 -1.601237987727e-01 1.615032254470e-01 1.628820891666e-01 1.642602788521e-01 -1.656376834450e-01 1.670141919159e-01 1.683896932733e-01 1.697640765719e-01 -1.711372309210e-01 1.725090454930e-01 1.738794095319e-01 1.752482123615e-01 -1.766153433942e-01 1.779806921391e-01 1.793441482104e-01 1.807056013362e-01 -1.820649413663e-01 1.834220582810e-01 1.847768421993e-01 1.861291833873e-01 -1.874789722667e-01 1.888260994226e-01 1.901704556126e-01 1.915119317744e-01 -1.928504190344e-01 1.941858087161e-01 1.955179923480e-01 1.968468616722e-01 -1.981723086522e-01 1.994942254817e-01 2.008125045921e-01 2.021270386612e-01 -2.034377206212e-01 2.047444436666e-01 2.060471012624e-01 2.073455871525e-01 -2.086397953674e-01 2.099296202323e-01 2.112149563750e-01 2.124956987344e-01 -2.137717425678e-01 2.150429834592e-01 2.163093173272e-01 2.175706404327e-01 -2.188268493871e-01 2.200778411595e-01 2.213235130854e-01 2.225637628736e-01 -2.237984886144e-01 2.250275887872e-01 2.262509622683e-01 2.274685083383e-01 -2.286801266899e-01 2.298857174355e-01 2.310851811145e-01 2.322784187013e-01 -2.334653316120e-01 2.346458217128e-01 2.358197913265e-01 2.369871432407e-01 -2.381477807144e-01 2.393016074857e-01 2.404485277791e-01 2.415884463125e-01 -2.427212683044e-01 2.438468994814e-01 2.449652460847e-01 2.460762148778e-01 -2.471797131530e-01 2.482756487386e-01 2.493639300059e-01 2.504444658760e-01 -2.515171658267e-01 2.525819398992e-01 2.536386987050e-01 2.546873534324e-01 -2.557278158537e-01 2.567599983310e-01 2.577838138234e-01 2.587991758936e-01 -2.598059987137e-01 2.608041970725e-01 2.617936863812e-01 2.627743826801e-01 -2.637462026449e-01 2.647090635926e-01 2.656628834882e-01 2.666075809504e-01 -2.675430752579e-01 2.684692863554e-01 2.693861348596e-01 2.702935420651e-01 -2.711914299504e-01 2.720797211832e-01 2.729583391272e-01 2.738272078467e-01 -2.746862521131e-01 2.755353974098e-01 2.763745699386e-01 2.772036966244e-01 -2.780227051209e-01 2.788315238163e-01 2.796300818381e-01 2.804183090588e-01 -2.811961361010e-01 2.819634943422e-01 2.827203159204e-01 2.834665337389e-01 -2.842020814712e-01 2.849268935661e-01 2.856409052524e-01 2.863440525436e-01 -2.870362722429e-01 2.877175019478e-01 2.883876800545e-01 2.890467457627e-01 -2.896946390799e-01 2.903313008259e-01 2.909566726372e-01 2.915706969711e-01 -2.921733171103e-01 2.927644771665e-01 2.933441220852e-01 2.939121976490e-01 -2.944686504824e-01 2.950134280548e-01 2.955464786849e-01 2.960677515446e-01 -2.965771966622e-01 2.970747649265e-01 2.975604080899e-01 2.980340787726e-01 -2.984957304652e-01 2.989453175330e-01 2.993827952183e-01 2.998081196445e-01 -3.002212478188e-01 3.006221376354e-01 3.010107478787e-01 3.013870382261e-01 -3.017509692506e-01 3.021025024244e-01 3.024416001209e-01 3.027682256178e-01 -3.030823430996e-01 3.033839176601e-01 3.036729153050e-01 3.039493029542e-01 -3.042130484442e-01 3.044641205303e-01 3.047024888889e-01 3.049281241194e-01 -3.051409977466e-01 3.053410822225e-01 3.055283509279e-01 3.057027781750e-01 -3.058643392084e-01 3.060130102071e-01 3.061487682862e-01 3.062715914985e-01 -3.063814588357e-01 3.064783502299e-01 3.065622465553e-01 3.066331296288e-01 -3.066909822118e-01 3.067357880110e-01 3.067675316796e-01 3.067861988179e-01 -3.067917759749e-01 3.067842506484e-01 3.067636112863e-01 3.067298472868e-01 -3.066829489995e-01 3.066229077256e-01 3.065497157184e-01 3.064633661839e-01 -3.063638532809e-01 3.062511721212e-01 3.061253187701e-01 3.059862902461e-01 -3.058340845212e-01 3.056687005208e-01 3.054901381235e-01 3.052983981609e-01 -3.050934824175e-01 3.048753936301e-01 3.046441354877e-01 3.043997126308e-01 -3.041421306508e-01 3.038713960897e-01 3.035875164389e-01 3.032905001388e-01 -3.029803565781e-01 3.026570960922e-01 3.023207299629e-01 3.019712704172e-01 -3.016087306257e-01 3.012331247021e-01 3.008444677015e-01 3.004427756188e-01 -3.000280653881e-01 2.996003548804e-01 2.991596629023e-01 2.987060091947e-01 -2.982394144306e-01 2.977599002136e-01 2.972674890760e-01 2.967622044769e-01 -2.962440708002e-01 2.957131133525e-01 2.951693583611e-01 2.946128329715e-01 -2.940435652458e-01 2.934615841594e-01 2.928669195994e-01 2.922596023620e-01 -2.916396641496e-01 2.910071375683e-01 2.903620561257e-01 2.897044542274e-01 -2.890343671748e-01 2.883518311621e-01 2.876568832728e-01 2.869495614777e-01 -2.862299046309e-01 2.854979524671e-01 2.847537455983e-01 2.839973255105e-01 -2.832287345605e-01 2.824480159721e-01 2.816552138333e-01 2.808503730919e-01 -2.800335395528e-01 2.792047598735e-01 2.783640815610e-01 2.775115529676e-01 -2.766472232874e-01 2.757711425520e-01 2.748833616268e-01 2.739839322068e-01 -2.730729068125e-01 2.721503387859e-01 2.712162822861e-01 2.702707922851e-01 -2.693139245633e-01 2.683457357052e-01 2.673662830950e-01 2.663756249120e-01 -2.653738201259e-01 2.643609284924e-01 2.633370105482e-01 2.623021276065e-01 -2.612563417521e-01 2.601997158362e-01 2.591323134720e-01 2.580541990295e-01 -2.569654376303e-01 2.558660951426e-01 2.547562381760e-01 2.536359340764e-01 -2.525052509208e-01 2.513642575117e-01 2.502130233718e-01 2.490516187388e-01 -2.478801145597e-01 2.466985824853e-01 2.455070948648e-01 2.443057247399e-01 -2.430945458392e-01 2.418736325726e-01 2.406430600253e-01 2.394029039523e-01 -2.381532407721e-01 2.368941475610e-01 2.356257020471e-01 2.343479826045e-01 -2.330610682465e-01 2.317650386205e-01 2.304599740009e-01 2.291459552836e-01 -2.278230639793e-01 2.264913822074e-01 2.251509926894e-01 2.238019787431e-01 -2.224444242756e-01 2.210784137768e-01 2.197040323134e-01 2.183213655220e-01 -2.169304996024e-01 2.155315213114e-01 2.141245179554e-01 2.127095773847e-01 -2.112867879857e-01 2.098562386748e-01 2.084180188913e-01 2.069722185906e-01 -2.055189282373e-01 2.040582387984e-01 2.025902417358e-01 2.011150290001e-01 -1.996326930228e-01 1.981433267098e-01 1.966470234339e-01 1.951438770279e-01 -1.936339817772e-01 1.921174324128e-01 1.905943241041e-01 1.890647524514e-01 -1.875288134788e-01 1.859866036266e-01 1.844382197446e-01 1.828837590838e-01 -1.813233192899e-01 1.797569983950e-01 1.781848948109e-01 1.766071073212e-01 -1.750237350739e-01 1.734348775737e-01 1.718406346748e-01 1.702411065730e-01 -1.686363937981e-01 1.670265972067e-01 1.654118179737e-01 1.637921575857e-01 -1.621677178324e-01 1.605386007994e-01 1.589049088604e-01 1.572667446692e-01 -1.556242111524e-01 1.539774115009e-01 1.523264491631e-01 1.506714278361e-01 -1.490124514585e-01 1.473496242024e-01 1.456830504654e-01 1.440128348629e-01 -1.423390822201e-01 1.406618975642e-01 1.389813861166e-01 1.372976532846e-01 -1.356108046539e-01 1.339209459803e-01 1.322281831820e-01 1.305326223318e-01 -1.288343696485e-01 1.271335314898e-01 1.254302143434e-01 1.237245248199e-01 -1.220165696442e-01 1.203064556477e-01 1.185942897603e-01 1.168801790025e-01 -1.151642304774e-01 1.134465513624e-01 1.117272489014e-01 1.100064303970e-01 -1.082842032022e-01 1.065606747124e-01 1.048359523575e-01 1.031101435940e-01 -1.013833558967e-01 9.965569675111e-02 9.792727364492e-02 9.619819406051e-02 -9.446856546670e-02 9.273849531082e-02 9.100809101076e-02 8.927745994697e-02 -8.754670945452e-02 8.581594681513e-02 8.408527924925e-02 8.235481390807e-02 -8.062465786567e-02 7.889491811102e-02 7.716570154014e-02 7.543711494817e-02 -7.370926502151e-02 7.198225832993e-02 7.025620131871e-02 6.853120030082e-02 -6.680736144908e-02 6.508479078836e-02 6.336359418773e-02 6.164387735277e-02 -5.992574581770e-02 5.820930493774e-02 5.649465988130e-02 5.478191562229e-02 -5.307117693247e-02 5.136254837371e-02 4.965613429041e-02 4.795203880181e-02 -4.625036579443e-02 4.455121891444e-02 4.285470156015e-02 4.116091687443e-02 -3.946996773719e-02 3.778195675792e-02 3.609698626820e-02 3.441515831429e-02 -3.273657464967e-02 3.106133672767e-02 2.938954569415e-02 2.772130238011e-02 -2.605670729441e-02 2.439586061650e-02 2.273886218918e-02 2.108581151136e-02 -1.943680773091e-02 1.779194963746e-02 1.615133565533e-02 1.451506383642e-02 -1.288323185313e-02 1.125593699137e-02 9.633276143567e-03 8.015345801684e-03 -6.402242050331e-03 4.794060559864e-03 3.190896579538e-03 1.592844930701e-03 -1.458260599757e-14 -1.587544267285e-03 -3.169694374082e-03 -4.746357278045e-03 --6.317440398246e-03 - Type L N - 0 2 1 -0.000000000000e+00 1.531812340169e-05 6.126948195257e-05 1.378450217335e-04 -2.450296627545e-04 3.828022948606e-04 5.511357836816e-04 7.499969752689e-04 -9.793467030332e-04 1.239139794813e-03 1.529325081628e-03 1.849845407535e-03 -2.200637640512e-03 2.581632684502e-03 2.992755492811e-03 3.433925082305e-03 -3.905054548999e-03 4.406051084664e-03 4.936815994632e-03 5.497244716642e-03 -6.087226840902e-03 6.706646131177e-03 7.355380547103e-03 8.033302267492e-03 -8.740277714834e-03 9.476167580838e-03 1.024082685315e-02 1.103410484303e-02 -1.185584521429e-02 1.270588601313e-02 1.358405969917e-02 1.449019317754e-02 -1.542410783195e-02 1.638561955894e-02 1.737453880305e-02 1.839067059313e-02 -1.943381457961e-02 2.050376507291e-02 2.160031108270e-02 2.272323635834e-02 -2.387231943022e-02 2.504733365214e-02 2.624804724465e-02 2.747422333942e-02 -2.872562002452e-02 3.000199039070e-02 3.130308257862e-02 3.262863982701e-02 -3.397840052177e-02 3.535209824602e-02 3.674946183101e-02 3.817021540800e-02 -3.961407846100e-02 4.108076588039e-02 4.256998801741e-02 4.408145073957e-02 -4.561485548685e-02 4.716989932875e-02 4.874627502223e-02 5.034367107038e-02 -5.196177178197e-02 5.360025733177e-02 5.525880382165e-02 5.693708334246e-02 -5.863476403671e-02 6.035151016190e-02 6.208698215470e-02 6.384083669577e-02 -6.561272677535e-02 6.740230175951e-02 6.920920745711e-02 7.103308618742e-02 -7.287357684838e-02 7.473031498559e-02 7.660293286182e-02 7.849105952721e-02 -8.039432089007e-02 8.231233978824e-02 8.424473606111e-02 8.619112662205e-02 -8.815112553158e-02 9.012434407094e-02 9.211039081622e-02 9.410887171302e-02 -9.611939015157e-02 9.814154704239e-02 1.001749408923e-01 1.022191678810e-01 -1.042738219380e-01 1.063384948201e-01 1.084127761890e-01 1.104962536896e-01 -1.125885130285e-01 1.146891380531e-01 1.167977108304e-01 1.189138117271e-01 -1.210370194893e-01 1.231669113224e-01 1.253030629721e-01 1.274450488047e-01 -1.295924418883e-01 1.317448140741e-01 1.339017360777e-01 1.360627775606e-01 -1.382275072125e-01 1.403954928328e-01 1.425663014132e-01 1.447394992196e-01 -1.469146518750e-01 1.490913244415e-01 1.512690815034e-01 1.534474872496e-01 -1.556261055565e-01 1.578045000709e-01 1.599822342926e-01 1.621588716574e-01 -1.643339756200e-01 1.665071097367e-01 1.686778377484e-01 1.708457236630e-01 -1.730103318384e-01 1.751712270650e-01 1.773279746482e-01 1.794801404905e-01 -1.816272911743e-01 1.837689940436e-01 1.859048172859e-01 1.880343300143e-01 -1.901571023487e-01 1.922727054973e-01 1.943807118380e-01 1.964806949988e-01 -1.985722299387e-01 2.006548930280e-01 2.027282621286e-01 2.047919166733e-01 -2.068454377458e-01 2.088884081593e-01 2.109204125357e-01 2.129410373837e-01 -2.149498711770e-01 2.169465044320e-01 2.189305297846e-01 2.209015420676e-01 -2.228591383867e-01 2.248029181965e-01 2.267324833757e-01 2.286474383027e-01 -2.305473899294e-01 2.324319478554e-01 2.343007244016e-01 2.361533346828e-01 -2.379893966803e-01 2.398085313134e-01 2.416103625110e-01 2.433945172818e-01 -2.451606257844e-01 2.469083213969e-01 2.486372407853e-01 2.503470239719e-01 -2.520373144027e-01 2.537077590138e-01 2.553580082979e-01 2.569877163696e-01 -2.585965410301e-01 2.601841438308e-01 2.617501901369e-01 2.632943491899e-01 -2.648162941690e-01 2.663157022524e-01 2.677922546771e-01 2.692456367985e-01 -2.706755381492e-01 2.720816524961e-01 2.734636778979e-01 2.748213167611e-01 -2.761542758950e-01 2.774622665664e-01 2.787450045528e-01 2.800022101955e-01 -2.812336084509e-01 2.824389289415e-01 2.836179060060e-01 2.847702787484e-01 -2.858957910856e-01 2.869941917954e-01 2.880652345620e-01 2.891086780217e-01 -2.901242858070e-01 2.911118265905e-01 2.920710741263e-01 2.930018072925e-01 -2.939038101309e-01 2.947768718866e-01 2.956207870465e-01 2.964353553767e-01 -2.972203819589e-01 2.979756772254e-01 2.987010569940e-01 2.993963425011e-01 -3.000613604334e-01 3.006959429600e-01 3.012999277619e-01 3.018731580613e-01 -3.024154826495e-01 3.029267559140e-01 3.034068378642e-01 3.038555941563e-01 -3.042728961170e-01 3.046586207660e-01 3.050126508376e-01 3.053348748012e-01 -3.056251868804e-01 3.058834870714e-01 3.061096811600e-01 3.063036807379e-01 -3.064654032169e-01 3.065947718436e-01 3.066917157114e-01 3.067561697721e-01 -3.067880748467e-01 3.067873776342e-01 3.067540307204e-01 3.066879925844e-01 -3.065892276045e-01 3.064577060637e-01 3.062934041526e-01 3.060963039724e-01 -3.058663935363e-01 3.056036667694e-01 3.053081235086e-01 3.049797694999e-01 -3.046186163960e-01 3.042246817517e-01 3.037979890185e-01 3.033385675387e-01 -3.028464525373e-01 3.023216851136e-01 3.017643122315e-01 3.011743867083e-01 -3.005519672032e-01 2.998971182038e-01 2.992099100119e-01 2.984904187284e-01 -2.977387262371e-01 2.969549201865e-01 2.961390939721e-01 2.952913467161e-01 -2.944117832470e-01 2.935005140777e-01 2.925576553825e-01 2.915833289735e-01 -2.905776622752e-01 2.895407882988e-01 2.884728456147e-01 2.873739783248e-01 -2.862443360330e-01 2.850840738152e-01 2.838933521878e-01 2.826723370758e-01 -2.814211997793e-01 2.801401169391e-01 2.788292705020e-01 2.774888476838e-01 -2.761190409326e-01 2.747200478905e-01 2.732920713544e-01 2.718353192356e-01 -2.703500045193e-01 2.688363452219e-01 2.672945643488e-01 2.657248898497e-01 -2.641275545746e-01 2.625027962275e-01 2.608508573202e-01 2.591719851246e-01 -2.574664316246e-01 2.557344534665e-01 2.539763119094e-01 2.521922727737e-01 -2.503826063901e-01 2.485475875462e-01 2.466874954338e-01 2.448026135942e-01 -2.428932298635e-01 2.409596363168e-01 2.390021292116e-01 2.370210089303e-01 -2.350165799227e-01 2.329891506464e-01 2.309390335083e-01 2.288665448033e-01 -2.267720046544e-01 2.246557369502e-01 2.225180692832e-01 2.203593328868e-01 -2.181798625714e-01 2.159799966603e-01 2.137600769250e-01 2.115204485198e-01 -2.092614599151e-01 2.069834628316e-01 2.046868121724e-01 2.023718659557e-01 -2.000389852461e-01 1.976885340860e-01 1.953208794259e-01 1.929363910551e-01 -1.905354415306e-01 1.881184061067e-01 1.856856626638e-01 1.832375916362e-01 -1.807745759402e-01 1.782970009015e-01 1.758052541820e-01 1.732997257066e-01 -1.707808075892e-01 1.682488940588e-01 1.657043813846e-01 1.631476678019e-01 -1.605791534359e-01 1.579992402275e-01 1.554083318563e-01 1.528068336656e-01 -1.501951525856e-01 1.475736970569e-01 1.449428769541e-01 1.423031035084e-01 -1.396547892309e-01 1.369983478348e-01 1.343341941583e-01 1.316627440867e-01 -1.289844144746e-01 1.262996230684e-01 1.236087884274e-01 1.209123298467e-01 -1.182106672782e-01 1.155042212530e-01 1.127934128024e-01 1.100786633801e-01 -1.073603947839e-01 1.046390290768e-01 1.019149885091e-01 9.918869544009e-02 -9.646057225962e-02 9.373104130998e-02 9.100052480774e-02 8.826944476576e-02 -8.553822291522e-02 8.280728062779e-02 8.007703883803e-02 7.734791796576e-02 -7.462033783879e-02 7.189471761567e-02 6.917147570873e-02 6.645102970730e-02 -6.373379630117e-02 6.102019120422e-02 5.831062907844e-02 5.560552345805e-02 -5.290528667406e-02 5.021032977901e-02 4.752106247207e-02 4.483789302449e-02 -4.216122820534e-02 3.949147320761e-02 3.682903157474e-02 3.417430512744e-02 -3.152769389097e-02 2.888959602282e-02 2.626040774079e-02 2.364052325152e-02 -2.103033467948e-02 1.843023199642e-02 1.584060295128e-02 1.326183300059e-02 -1.069430523944e-02 8.138400332850e-03 5.594496447773e-03 3.062969185583e-03 -5.441915151351e-04 -1.961466293601e-03 -4.453636735344e-03 -6.931955134693e-03 --9.396059710736e-03 -1.184559164102e-02 -1.428019512492e-02 -1.669951744633e-02 --1.910320903574e-02 -2.149092353165e-02 -2.386231784126e-02 -2.621705220053e-02 --2.855479023354e-02 -3.087519901108e-02 -3.317794910861e-02 -3.546271466342e-02 --3.772917343111e-02 -3.997700684126e-02 -4.220590005238e-02 -4.441554200608e-02 --4.660562548045e-02 -4.877584714270e-02 -5.092590760091e-02 -5.305551145506e-02 --5.516436734719e-02 -5.725218801075e-02 -5.931869031913e-02 -6.136359533333e-02 --6.338662834875e-02 -6.538751894120e-02 -6.736600101193e-02 -6.932181283189e-02 --7.125469708505e-02 -7.316440091082e-02 -7.505067594559e-02 -7.691327836338e-02 --7.875196891555e-02 -8.056651296957e-02 -8.235668054694e-02 -8.412224636006e-02 --8.586298984828e-02 -8.757869521294e-02 -8.926915145144e-02 -9.093415239040e-02 --9.257349671783e-02 -9.418698801435e-02 -9.577443478340e-02 -9.733565048052e-02 --9.887045354160e-02 -1.003786674102e-01 -1.018601205638e-01 -1.033146465390e-01 --1.047420839562e-01 -1.061422765424e-01 -1.075150731537e-01 -1.088603277966e-01 --1.101778996484e-01 -1.114676530761e-01 -1.127294576547e-01 -1.139631881848e-01 --1.151687247082e-01 -1.163459525234e-01 -1.174947621997e-01 -1.186150495903e-01 --1.197067158441e-01 -1.207696674170e-01 -1.218038160818e-01 -1.228090789373e-01 --1.237853784159e-01 -1.247326422908e-01 -1.256508036816e-01 -1.265398010595e-01 --1.273995782505e-01 -1.282300844387e-01 -1.290312741676e-01 -1.298031073411e-01 --1.305455492228e-01 -1.312585704350e-01 -1.319421469560e-01 -1.325962601165e-01 --1.332208965957e-01 -1.338160484151e-01 -1.343817129326e-01 -1.349178928343e-01 --1.354245961266e-01 -1.359018361262e-01 -1.363496314496e-01 -1.367680060015e-01 --1.371569889621e-01 -1.375166147738e-01 -1.378469231263e-01 -1.381479589410e-01 --1.384197723545e-01 -1.386624187010e-01 -1.388759584938e-01 -1.390604574056e-01 --1.392159862483e-01 -1.393426209511e-01 -1.394404425382e-01 -1.395095371059e-01 --1.395499957974e-01 -1.395619147782e-01 -1.395453952097e-01 -1.395005432216e-01 --1.394274698847e-01 -1.393262911811e-01 -1.391971279746e-01 -1.390401059799e-01 --1.388553557311e-01 -1.386430125484e-01 -1.384032165054e-01 -1.381361123943e-01 --1.378418496908e-01 -1.375205825179e-01 -1.371724696091e-01 -1.367976742705e-01 --1.363963643424e-01 -1.359687121594e-01 -1.355148945107e-01 -1.350350925984e-01 --1.345294919964e-01 -1.339982826069e-01 -1.334416586176e-01 -1.328598184571e-01 --1.322529647502e-01 -1.316213042720e-01 -1.309650479014e-01 -1.302844105739e-01 --1.295796112340e-01 -1.288508727858e-01 -1.280984220447e-01 -1.273224896865e-01 --1.265233101970e-01 -1.257011218208e-01 -1.248561665089e-01 -1.239886898664e-01 --1.230989410988e-01 -1.221871729584e-01 -1.212536416895e-01 -1.202986069733e-01 --1.193223318724e-01 -1.183250827739e-01 -1.173071293331e-01 -1.162687444158e-01 --1.152102040403e-01 -1.141317873188e-01 -1.130337763986e-01 -1.119164564024e-01 --1.107801153683e-01 -1.096250441892e-01 -1.084515365519e-01 -1.072598888758e-01 --1.060504002507e-01 -1.048233723747e-01 -1.035791094915e-01 -1.023179183271e-01 --1.010401080265e-01 -9.974599008953e-02 -9.843587830681e-02 -9.711008869505e-02 --9.576893943208e-02 -9.441275079160e-02 -9.304184507758e-02 -9.165654655835e-02 --9.025718140046e-02 -8.884407760222e-02 -8.741756492698e-02 -8.597797483621e-02 --8.452564042233e-02 -8.306089634127e-02 -8.158407874494e-02 -8.009552521338e-02 --7.859557468684e-02 -7.708456739764e-02 -7.556284480191e-02 -7.403074951117e-02 --7.248862522382e-02 -7.093681665648e-02 -6.937566947530e-02 -6.780553022714e-02 --6.622674627067e-02 -6.463966570750e-02 -6.304463731317e-02 -6.144201046821e-02 --5.983213508912e-02 -5.821536155936e-02 -5.659204066043e-02 -5.496252350287e-02 --5.332716145741e-02 -5.168630608608e-02 -5.004030907349e-02 -4.838952215812e-02 --4.673429706373e-02 -4.507498543090e-02 -4.341193874871e-02 -4.174550828648e-02 --4.007604502575e-02 -3.840389959242e-02 -3.672942218896e-02 -3.505296252701e-02 --3.337486975997e-02 -3.169549241596e-02 -3.001517833099e-02 -2.833427458227e-02 --2.665312742194e-02 -2.497208221096e-02 -2.329148335329e-02 -2.161167423042e-02 --1.993299713617e-02 -1.825579321183e-02 -1.658040238160e-02 -1.490716328846e-02 --1.323641323026e-02 -1.156848809637e-02 -9.903722304502e-03 -8.242448738125e-03 --6.584998684143e-03 -4.931701771073e-03 -3.282885907621e-03 -1.638877221717e-03 -3.448719112250e-15 1.633423372251e-03 3.261072470652e-03 4.882628890828e-03 -6.497776306984e-03 - Type L N - 0 2 2 -0.000000000000e+00 2.812042383018e-05 1.124715359716e-04 2.530228335488e-04 -4.497235018850e-04 7.025024224280e-04 1.011268200281e-03 1.375909195927e-03 -1.796293564470e-03 2.272269302136e-03 2.803664299517e-03 3.390286402276e-03 -4.031923478537e-03 4.728343493447e-03 5.479294590785e-03 6.284505181453e-03 -7.143684038891e-03 8.056520401495e-03 9.022684081717e-03 1.004182558222e-02 -1.111357621856e-02 1.223754824884e-02 1.341333500987e-02 1.464051106009e-02 -1.591863232905e-02 1.724723627337e-02 1.862584203926e-02 2.005395063144e-02 -2.153104508840e-02 2.305659066398e-02 2.463003501520e-02 2.625080839620e-02 -2.791832385836e-02 2.963197745641e-02 3.139114846044e-02 3.319519957388e-02 -3.504347715725e-02 3.693531145758e-02 3.887001684353e-02 4.084689204604e-02 -4.286522040444e-02 4.492427011796e-02 4.702329450253e-02 4.916153225273e-02 -5.133820770892e-02 5.355253112932e-02 5.580369896706e-02 5.809089415195e-02 -6.041328637708e-02 6.277003238995e-02 6.516027628811e-02 6.758314981927e-02 -7.003777268559e-02 7.252325285227e-02 7.503868686016e-02 7.758316014232e-02 -8.015574734445e-02 8.275551264910e-02 8.538151010339e-02 8.803278395037e-02 -9.070836896367e-02 9.340729078542e-02 9.612856626742e-02 9.887120381516e-02 -1.016342037349e-01 1.044165585836e-01 1.072172535209e-01 1.100352666649e-01 -1.128695694486e-01 1.157191269805e-01 1.185828984057e-01 1.214598372700e-01 -1.243488918857e-01 1.272490056988e-01 1.301591176586e-01 1.330781625877e-01 -1.360050715545e-01 1.389387722459e-01 1.418781893421e-01 1.448222448916e-01 -1.477698586871e-01 1.507199486431e-01 1.536714311721e-01 1.566232215636e-01 -1.595742343614e-01 1.625233837420e-01 1.654695838935e-01 1.684117493930e-01 -1.713487955850e-01 1.742796389591e-01 1.772031975268e-01 1.801183911982e-01 -1.830241421574e-01 1.859193752378e-01 1.888030182955e-01 1.916740025816e-01 -1.945312631144e-01 1.973737390482e-01 2.002003740423e-01 2.030101166275e-01 -2.058019205707e-01 2.085747452379e-01 2.113275559548e-01 2.140593243657e-01 -2.167690287892e-01 2.194556545728e-01 2.221181944431e-01 2.247556488551e-01 -2.273670263375e-01 2.299513438355e-01 2.325076270507e-01 2.350349107771e-01 -2.375322392347e-01 2.399986663991e-01 2.424332563276e-01 2.448350834822e-01 -2.472032330478e-01 2.495368012477e-01 2.518348956542e-01 2.540966354957e-01 -2.563211519592e-01 2.585075884886e-01 2.606551010789e-01 2.627628585657e-01 -2.648300429095e-01 2.668558494765e-01 2.688394873135e-01 2.707801794184e-01 -2.726771630057e-01 2.745296897669e-01 2.763370261255e-01 2.780984534869e-01 -2.798132684832e-01 2.814807832119e-01 2.831003254701e-01 2.846712389819e-01 -2.861928836211e-01 2.876646356275e-01 2.890858878180e-01 2.904560497913e-01 -2.917745481267e-01 2.930408265772e-01 2.942543462559e-01 2.954145858171e-01 -2.965210416303e-01 2.975732279486e-01 2.985706770700e-01 2.995129394934e-01 -3.003995840672e-01 3.012301981318e-01 3.020043876556e-01 3.027217773641e-01 -3.033820108630e-01 3.039847507539e-01 3.045296787440e-01 3.050164957483e-01 -3.054449219859e-01 3.058146970686e-01 3.061255800835e-01 3.063773496684e-01 -3.065698040799e-01 3.067027612555e-01 3.067760588680e-01 3.067895543733e-01 -3.067431250515e-01 3.066366680406e-01 3.064701003632e-01 3.062433589472e-01 -3.059564006380e-01 3.056092022052e-01 3.052017603412e-01 3.047340916539e-01 -3.042062326513e-01 3.036182397201e-01 3.029701890971e-01 3.022621768332e-01 -3.014943187516e-01 3.006667503978e-01 2.997796269836e-01 2.988331233245e-01 -2.978274337691e-01 2.967627721233e-01 2.956393715662e-01 2.944574845607e-01 -2.932173827566e-01 2.919193568869e-01 2.905637166585e-01 2.891507906353e-01 -2.876809261152e-01 2.861544890011e-01 2.845718636646e-01 2.829334528044e-01 -2.812396772972e-01 2.794909760436e-01 2.776878058069e-01 2.758306410464e-01 -2.739199737440e-01 2.719563132257e-01 2.699401859764e-01 2.678721354492e-01 -2.657527218691e-01 2.635825220302e-01 2.613621290888e-01 2.590921523490e-01 -2.567732170448e-01 2.544059641153e-01 2.519910499753e-01 2.495291462808e-01 -2.470209396889e-01 2.444671316132e-01 2.418684379737e-01 2.392255889424e-01 -2.365393286837e-01 2.338104150904e-01 2.310396195152e-01 2.282277264974e-01 -2.253755334855e-01 2.224838505557e-01 2.195535001257e-01 2.165853166650e-01 -2.135801464012e-01 2.105388470220e-01 2.074622873738e-01 2.043513471571e-01 -2.012069166173e-01 1.980298962334e-01 1.948211964026e-01 1.915817371217e-01 -1.883124476660e-01 1.850142662648e-01 1.816881397746e-01 1.783350233486e-01 -1.749558801050e-01 1.715516807916e-01 1.681234034491e-01 1.646720330712e-01 -1.611985612636e-01 1.577039859003e-01 1.541893107782e-01 1.506555452704e-01 -1.471037039775e-01 1.435348063777e-01 1.399498764750e-01 1.363499424470e-01 -1.327360362911e-01 1.291091934701e-01 1.254704525563e-01 1.218208548756e-01 -1.181614441508e-01 1.144932661444e-01 1.108173683010e-01 1.071347993896e-01 -1.034466091460e-01 9.975384791502e-02 9.605756629286e-02 9.235881477011e-02 -8.865864337493e-02 8.495810131684e-02 8.125823663126e-02 7.756009582487e-02 -7.386472352188e-02 7.017316211140e-02 6.648645139600e-02 6.280562824158e-02 -5.913172622872e-02 5.546577530554e-02 5.180880144230e-02 4.816182628779e-02 -4.452586682763e-02 4.090193504467e-02 3.729103758150e-02 3.369417540531e-02 -3.011234347509e-02 2.654653041137e-02 2.299771816864e-02 1.946688171047e-02 -1.595498868745e-02 1.246299911824e-02 8.991865073543e-03 5.542530363382e-03 -2.115930227621e-03 -1.287008970087e-03 -4.665370044848e-03 -8.018245289454e-03 --1.134473676960e-02 -1.464395661529e-02 -1.791502730828e-02 -2.115708196560e-02 --2.436926461882e-02 -2.755073048929e-02 -3.070064625892e-02 -3.381819033663e-02 --3.690255312038e-02 -3.995293725450e-02 -4.296855788249e-02 -4.594864289503e-02 --4.889243317310e-02 -5.179918282636e-02 -5.466815942637e-02 -5.749864423487e-02 --6.028993242690e-02 -6.304133330863e-02 -6.575217053008e-02 -6.842178229231e-02 --7.104952154932e-02 -7.363475620441e-02 -7.617686930102e-02 -7.867525920794e-02 --8.112933979891e-02 -8.353854062645e-02 -8.590230708989e-02 -8.822010059767e-02 --9.049139872368e-02 -9.271569535770e-02 -9.489250084984e-02 -9.702134214903e-02 --9.910176293542e-02 -1.011333237466e-01 -1.031156020979e-01 -1.050481925963e-01 --1.069307070481e-01 -1.087627745608e-01 -1.105440416380e-01 -1.122741722691e-01 --1.139528480110e-01 -1.155797680655e-01 -1.171546493488e-01 -1.186772265551e-01 --1.201472522143e-01 -1.215644967427e-01 -1.229287484875e-01 -1.242398137650e-01 --1.254975168922e-01 -1.267017002123e-01 -1.278522241133e-01 -1.289489670408e-01 --1.299918255037e-01 -1.309807140745e-01 -1.319155653819e-01 -1.327963300981e-01 --1.336229769193e-01 -1.343954925401e-01 -1.351138816210e-01 -1.357781667502e-01 --1.363883883992e-01 -1.369446048713e-01 -1.374468922449e-01 -1.378953443098e-01 --1.382900724979e-01 -1.386312058074e-01 -1.389188907211e-01 -1.391532911187e-01 --1.393345881826e-01 -1.394629802985e-01 -1.395386829495e-01 -1.395619286044e-01 --1.395329666006e-01 -1.394520630206e-01 -1.393195005628e-01 -1.391355784077e-01 --1.389006120768e-01 -1.386149332875e-01 -1.382788898014e-01 -1.378928452679e-01 --1.374571790618e-01 -1.369722861164e-01 -1.364385767506e-01 -1.358564764912e-01 --1.352264258904e-01 -1.345488803374e-01 -1.338243098662e-01 -1.330531989577e-01 --1.322360463375e-01 -1.313733647684e-01 -1.304656808394e-01 -1.295135347489e-01 --1.285174800843e-01 -1.274780835967e-01 -1.263959249722e-01 -1.252715965978e-01 --1.241057033243e-01 -1.228988622245e-01 -1.216517023480e-01 -1.203648644718e-01 --1.190390008473e-01 -1.176747749439e-01 -1.162728611890e-01 -1.148339447044e-01 --1.133587210396e-01 -1.118478959018e-01 -1.103021848828e-01 -1.087223131831e-01 --1.071090153326e-01 -1.054630349093e-01 -1.037851242546e-01 -1.020760441864e-01 --1.003365637095e-01 -9.856745972424e-02 -9.676951673183e-02 -9.494352653873e-02 --9.309028795819e-02 -9.121060651026e-02 -8.930529411987e-02 -8.737516881326e-02 --8.542105441291e-02 -8.344378023091e-02 -8.144418076104e-02 -7.942309536966e-02 --7.738136798544e-02 -7.531984678813e-02 -7.323938389640e-02 -7.114083505502e-02 --6.902505932126e-02 -6.689291875087e-02 -6.474527808360e-02 -6.258300442839e-02 --6.040696694843e-02 -5.821803654612e-02 -5.601708554807e-02 -5.380498739029e-02 --5.158261630364e-02 -4.935084699963e-02 -4.711055435682e-02 -4.486261310772e-02 --4.260789752655e-02 -4.034728111771e-02 -3.808163630530e-02 -3.581183412371e-02 --3.353874390932e-02 -3.126323299356e-02 -2.898616639734e-02 -2.670840652700e-02 --2.443081287186e-02 -2.215424170354e-02 -1.987954577704e-02 -1.760757403388e-02 --1.533917130715e-02 -1.307517802878e-02 -1.081642993911e-02 -8.563757798700e-03 --6.317987102690e-03 -4.079937797693e-03 -1.850424001331e-03 3.697462754655e-04 -2.579771403298e-03 4.778856406204e-03 6.966213230517e-03 9.141061010585e-03 -1.130262633127e-02 1.345014348713e-02 1.558285473817e-02 1.770001056217e-02 -1.980086990332e-02 2.188470041732e-02 2.395077871259e-02 2.599839058780e-02 -2.802683126538e-02 3.003540562106e-02 3.202342840941e-02 3.399022448515e-02 -3.593512902031e-02 3.785748771706e-02 3.975665701624e-02 4.163200430140e-02 -4.348290809837e-02 4.530875827032e-02 4.710895620815e-02 4.888291501618e-02 -5.063005969317e-02 5.234982730849e-02 5.404166717344e-02 5.570504100770e-02 -5.733942310076e-02 5.894430046840e-02 6.051917300409e-02 6.206355362527e-02 -6.357696841449e-02 6.505895675542e-02 6.650907146351e-02 6.792687891150e-02 -6.931195914959e-02 7.066390602023e-02 7.198232726759e-02 7.326684464163e-02 -7.451709399671e-02 7.573272538478e-02 7.691340314312e-02 7.805880597647e-02 -7.916862703380e-02 8.024257397943e-02 8.128036905865e-02 8.228174915775e-02 -8.324646585855e-02 8.417428548724e-02 8.506498915771e-02 8.591837280926e-02 -8.673424723874e-02 8.751243812706e-02 8.825278606009e-02 8.895514654406e-02 -8.961939001526e-02 9.024540184427e-02 9.083308233453e-02 9.138234671541e-02 -9.189312512975e-02 9.236536261582e-02 9.279901908383e-02 9.319406928693e-02 -9.355050278675e-02 9.386832391348e-02 9.414755172060e-02 9.438821993413e-02 -9.459037689662e-02 9.475408550577e-02 9.487942314775e-02 9.496648162530e-02 -9.501536708061e-02 9.502619991302e-02 9.499911469155e-02 9.493426006246e-02 -9.483179865159e-02 9.469190696188e-02 9.451477526582e-02 9.430060749305e-02 -9.404962111313e-02 9.376204701352e-02 9.343812937277e-02 9.307812552910e-02 -9.268230584436e-02 9.225095356338e-02 9.178436466890e-02 9.128284773200e-02 -9.074672375824e-02 9.017632602944e-02 8.957199994129e-02 8.893410283673e-02 -8.826300383534e-02 8.755908365865e-02 8.682273445152e-02 8.605435959968e-02 -8.525437354350e-02 8.442320158798e-02 8.356127970921e-02 8.266905435722e-02 -8.174698225538e-02 8.079553019644e-02 7.981517483525e-02 7.880640247828e-02 -7.776970887001e-02 7.670559897632e-02 7.561458676484e-02 7.449719498256e-02 -7.335395493060e-02 7.218540623629e-02 7.099209662273e-02 6.977458167578e-02 -6.853342460873e-02 6.726919602462e-02 6.598247367633e-02 6.467384222462e-02 -6.334389299411e-02 6.199322372732e-02 6.062243833697e-02 5.923214665645e-02 -5.782296418875e-02 5.639551185381e-02 5.495041573448e-02 5.348830682111e-02 -5.200982075493e-02 5.051559757034e-02 4.900628143611e-02 4.748252039569e-02 -4.594496610667e-02 4.439427357957e-02 4.283110091591e-02 4.125610904585e-02 -3.966996146536e-02 3.807332397307e-02 3.646686440693e-02 3.485125238070e-02 -3.322715902046e-02 3.159525670120e-02 2.995621878360e-02 2.831071935103e-02 -2.665943294700e-02 2.500303431309e-02 2.334219812741e-02 2.167759874379e-02 -2.000990993170e-02 1.833980461710e-02 1.666795462418e-02 1.499503041830e-02 -1.332170084993e-02 1.164863290000e-02 9.976491426473e-03 8.305938912502e-03 -6.637635215999e-03 4.972237320923e-03 3.310399090263e-03 1.652771020840e-03 -1.408221227094e-14 -1.647270935606e-03 -3.288402839377e-03 -4.922761091662e-03 --6.549715634615e-03 - Type L N - 0 2 3 -0.000000000000e+00 4.457248234190e-05 1.782643907072e-04 4.009991057074e-04 -7.126489820193e-04 1.113035415164e-03 1.601928940844e-03 2.179049363396e-03 -2.844065911803e-03 3.596597423938e-03 4.436212558915e-03 5.362430037398e-03 -6.374718909681e-03 7.472498851489e-03 8.655140487224e-03 9.921965740519e-03 -1.127224821193e-02 1.270521358352e-02 1.422004005004e-02 1.581585877668e-02 -1.749175438281e-02 1.924676545176e-02 2.107988506605e-02 2.299006136809e-02 -2.497619814568e-02 2.703715544230e-02 2.917175019161e-02 3.137875687592e-02 -3.365690820823e-02 3.600489583748e-02 3.842137107649e-02 4.090494565238e-02 -4.345419247888e-02 4.606764645011e-02 4.874380525550e-02 5.148113021525e-02 -5.427804713593e-02 5.713294718568e-02 6.004418778865e-02 6.301009353797e-02 -6.602895712690e-02 6.909904029756e-02 7.221857480672e-02 7.538576340809e-02 -7.859878085057e-02 8.185577489191e-02 8.515486732719e-02 8.849415503146e-02 -9.187171101615e-02 9.528558549845e-02 9.873380698317e-02 1.022143833564e-01 -1.057253029904e-01 1.092645358591e-01 1.128300346638e-01 1.164197359675e-01 -1.200315613388e-01 1.236634185032e-01 1.273132025023e-01 1.309787968591e-01 -1.346580747501e-01 1.383489001823e-01 1.420491291753e-01 1.457566109472e-01 -1.494691891042e-01 1.531847028329e-01 1.569009880945e-01 1.606158788208e-01 -1.643272081105e-01 1.680328094259e-01 1.717305177888e-01 1.754181709754e-01 -1.790936107092e-01 1.827546838509e-01 1.863992435853e-01 1.900251506049e-01 -1.936302742875e-01 1.972124938699e-01 2.007696996148e-01 2.042997939718e-01 -2.078006927304e-01 2.112703261660e-01 2.147066401766e-01 2.181075974111e-01 -2.214711783874e-01 2.247953825998e-01 2.280782296165e-01 2.313177601642e-01 -2.345120372012e-01 2.376591469778e-01 2.407572000828e-01 2.438043324763e-01 -2.467987065080e-01 2.497385119204e-01 2.526219668358e-01 2.554473187279e-01 -2.582128453763e-01 2.609168558033e-01 2.635576911935e-01 2.661337257950e-01 -2.686433678012e-01 2.710850602144e-01 2.734572816884e-01 2.757585473522e-01 -2.779874096115e-01 2.801424589308e-01 2.822223245923e-01 2.842256754343e-01 -2.861512205662e-01 2.879977100613e-01 2.897639356266e-01 2.914487312484e-01 -2.930509738149e-01 2.945695837145e-01 2.960035254092e-01 2.973518079833e-01 -2.986134856677e-01 2.997876583384e-01 3.008734719886e-01 3.018701191768e-01 -3.027768394469e-01 3.035929197232e-01 3.043176946788e-01 3.049505470763e-01 -3.054909080832e-01 3.059382575588e-01 3.062921243152e-01 3.065520863497e-01 -3.067177710513e-01 3.067888553784e-01 3.067650660094e-01 3.066461794661e-01 -3.064320222090e-01 3.061224707043e-01 3.057174514647e-01 3.052169410610e-01 -3.046209661066e-01 3.039296032146e-01 3.031429789265e-01 3.022612696142e-01 -3.012847013538e-01 3.002135497725e-01 2.990481398679e-01 2.977888458001e-01 -2.964360906574e-01 2.949903461941e-01 2.934521325427e-01 2.918220178985e-01 -2.901006181790e-01 2.882885966564e-01 2.863866635645e-01 2.843955756802e-01 -2.823161358792e-01 2.801491926669e-01 2.778956396848e-01 2.755564151915e-01 -2.731325015206e-01 2.706249245140e-01 2.680347529323e-01 2.653630978410e-01 -2.626111119753e-01 2.597799890815e-01 2.568709632367e-01 2.538853081470e-01 -2.508243364242e-01 2.476893988424e-01 2.444818835731e-01 2.412032154019e-01 -2.378548549247e-01 2.344382977253e-01 2.309550735345e-01 2.274067453716e-01 -2.237949086680e-01 2.201211903739e-01 2.163872480489e-01 2.125947689363e-01 -2.087454690225e-01 2.048410920811e-01 2.008834087031e-01 1.968742153133e-01 -1.928153331736e-01 1.887086073738e-01 1.845559058101e-01 1.803591181529e-01 -1.761201548032e-01 1.718409458392e-01 1.675234399531e-01 1.631696033788e-01 -1.587814188122e-01 1.543608843220e-01 1.499100122556e-01 1.454308281366e-01 -1.409253695573e-01 1.363956850664e-01 1.318438330511e-01 1.272718806159e-01 -1.226819024584e-01 1.180759797413e-01 1.134561989637e-01 1.088246508299e-01 -1.041834291183e-01 9.953462954955e-02 9.488034865550e-02 9.022268264941e-02 -8.556372629778e-02 8.090557179462e-02 7.625030763888e-02 7.160001751551e-02 -6.695677918083e-02 6.232266335288e-02 5.769973260732e-02 5.309004027948e-02 -4.849562937322e-02 4.391853147720e-02 3.936076568912e-02 3.482433754858e-02 -3.031123797906e-02 2.582344223978e-02 2.136290888780e-02 1.693157875109e-02 -1.253137391310e-02 8.164196709282e-03 3.831928736336e-03 -4.635701255367e-04 --4.720462676645e-03 -8.936935347656e-03 -1.311119913473e-02 -1.724149051946e-02 --2.132607237305e-02 -2.536323484439e-02 -2.935129623136e-02 -3.328860383506e-02 --3.717353479639e-02 -4.100449691463e-02 -4.477992944750e-02 -4.849830389238e-02 --5.215812474809e-02 -5.575793025712e-02 -5.929629312760e-02 -6.277182123488e-02 --6.618315830222e-02 -6.952898456029e-02 -7.280801738516e-02 -7.601901191437e-02 --7.916076164086e-02 -8.223209898438e-02 -8.523189584023e-02 -8.815906410481e-02 --9.101255617803e-02 -9.379136544205e-02 -9.649452671631e-02 -9.912111668852e-02 --1.016702543216e-01 -1.041411012358e-01 -1.065328620670e-01 -1.088447847996e-01 --1.110761610748e-01 -1.132263264739e-01 -1.152946607763e-01 -1.172805881930e-01 --1.191835775734e-01 -1.210031425882e-01 -1.227388418859e-01 -1.243902792240e-01 --1.259571035753e-01 -1.274390092077e-01 -1.288357357390e-01 -1.301470681664e-01 --1.313728368700e-01 -1.325129175914e-01 -1.335672313864e-01 -1.345357445526e-01 --1.354184685322e-01 -1.362154597889e-01 -1.369268196606e-01 -1.375526941866e-01 --1.380932739105e-01 -1.385487936582e-01 -1.389195322919e-01 -1.392058124400e-01 --1.394080002019e-01 -1.395265048306e-01 -1.395617783907e-01 -1.395143153936e-01 --1.393846524088e-01 -1.391733676538e-01 -1.388810805603e-01 -1.385084513188e-01 --1.380561804008e-01 -1.375250080601e-01 -1.369157138120e-01 -1.362291158925e-01 --1.354660706961e-01 -1.346274721936e-01 -1.337142513307e-01 -1.327273754061e-01 --1.316678474315e-01 -1.305367054722e-01 -1.293350219701e-01 -1.280639030485e-01 --1.267244877994e-01 -1.253179475545e-01 -1.238454851391e-01 -1.223083341104e-01 --1.207077579798e-01 -1.190450494209e-01 -1.173215294620e-01 -1.155385466653e-01 --1.136974762920e-01 -1.117997194550e-01 -1.098467022581e-01 -1.078398749240e-01 --1.057807109104e-01 -1.036707060153e-01 -1.015113774717e-01 -9.930426303258e-02 --9.705092004665e-02 -9.475292452496e-02 -9.241187019960e-02 -9.002936757466e-02 --8.760704297005e-02 -8.514653755883e-02 -8.264950639862e-02 -8.011761745753e-02 --7.755255063536e-02 -7.495599678058e-02 -7.232965670356e-02 -6.967524018682e-02 --6.699446499276e-02 -6.428905586941e-02 -6.156074355494e-02 -5.881126378136e-02 --5.604235627800e-02 -5.325576377550e-02 -5.045323101064e-02 -4.763650373284e-02 --4.480732771270e-02 -4.196744775324e-02 -3.911860670445e-02 -3.626254448162e-02 --3.340099708804e-02 -3.053569564265e-02 -2.766836541325e-02 -2.480072485565e-02 --2.193448465945e-02 -1.907134680097e-02 -1.621300360381e-02 -1.336113680758e-02 --1.051741664539e-02 -7.683500930553e-03 -4.861034152950e-03 -2.051646585752e-03 -7.430465972123e-04 3.521446192831e-03 6.281969828383e-03 9.023052809042e-03 -1.174314895274e-02 1.444073141190e-02 1.711429348171e-02 1.976234939429e-02 -2.238343509855e-02 2.497610902513e-02 2.753895283621e-02 3.007057215951e-02 -3.256959730641e-02 3.503468397357e-02 3.746451392777e-02 3.985779567360e-02 -4.221326510369e-02 4.452968613109e-02 4.680585130346e-02 4.904058239882e-02 -5.123273100254e-02 5.338117906521e-02 5.548483944120e-02 5.754265640760e-02 -5.955360616327e-02 6.151669730783e-02 6.343097130024e-02 6.529550289684e-02 -6.710940056866e-02 6.887180689773e-02 7.058189895224e-02 7.223888864046e-02 -7.384202304310e-02 7.539058472419e-02 7.688389202009e-02 7.832129930679e-02 -7.970219724519e-02 8.102601300434e-02 8.229221046263e-02 8.350029038675e-02 -8.464979058844e-02 8.574028605906e-02 8.677138908178e-02 8.774274932152e-02 -8.865405389270e-02 8.950502740454e-02 9.029543198437e-02 9.102506727852e-02 -9.169377043125e-02 9.230141604154e-02 9.284791609794e-02 9.333321989151e-02 -9.375731390701e-02 9.412022169248e-02 9.442200370720e-02 9.466275714840e-02 -9.484261575671e-02 9.496174960057e-02 9.502036483976e-02 9.501870346840e-02 -9.495704303729e-02 9.483569635626e-02 9.465501117629e-02 9.441536985208e-02 -9.411718898495e-02 9.376091904661e-02 9.334704398391e-02 9.287608080494e-02 -9.234857914673e-02 9.176512082490e-02 9.112631936550e-02 9.043281951951e-02 -8.968529676013e-02 8.888445676345e-02 8.803103487260e-02 8.712579554598e-02 -8.616953178973e-02 8.516306457505e-02 8.410724224049e-02 8.300293987988e-02 -8.185105871610e-02 8.065252546120e-02 7.940829166328e-02 7.811933304056e-02 -7.678664880301e-02 7.541126096205e-02 7.399421362883e-02 7.253657230130e-02 -7.103942314083e-02 6.950387223863e-02 6.793104487253e-02 6.632208475452e-02 -6.467815326968e-02 6.300042870677e-02 6.129010548114e-02 5.954839335034e-02 -5.777651662299e-02 5.597571336138e-02 5.414723457828e-02 5.229234342845e-02 -5.041231439542e-02 4.850843247399e-02 4.658199234892e-02 4.463429757040e-02 -4.266665972674e-02 4.068039761486e-02 3.867683640893e-02 3.665730682787e-02 -3.462314430212e-02 3.257568814007e-02 3.051628069495e-02 2.844626653232e-02 -2.636699159894e-02 2.427980239344e-02 2.218604513920e-02 2.008706496005e-02 -1.798420505918e-02 1.587880590191e-02 1.377220440256e-02 1.166573311614e-02 -9.560719435159e-03 7.458484792203e-03 5.360343868524e-03 3.267603809314e-03 -1.181563446000e-03 -8.964874739414e-04 -2.965269049220e-03 -5.023511978570e-03 --7.069958305755e-03 -9.103362155313e-03 -1.112249045863e-02 -1.312612366988e-02 --1.511305647156e-02 -1.708209846895e-02 -1.903207487348e-02 -2.096182717423e-02 --2.287021379752e-02 -2.475611075395e-02 -2.661841227277e-02 -2.845603142301e-02 --3.026790072120e-02 -3.205297272523e-02 -3.381022061409e-02 -3.553863875319e-02 --3.723724324485e-02 -3.890507246382e-02 -4.054118757736e-02 -4.214467304981e-02 --4.371463713124e-02 -4.525021232991e-02 -4.675055586845e-02 -4.821485012336e-02 --4.964230304767e-02 -5.103214857662e-02 -5.238364701599e-02 -5.369608541310e-02 --5.496877791009e-02 -5.620106607950e-02 -5.739231924181e-02 -5.854193476503e-02 --5.964933834590e-02 -6.071398427289e-02 -6.173535567067e-02 -6.271296472603e-02 --6.364635289518e-02 -6.453509109232e-02 -6.537877985944e-02 -6.617704951726e-02 --6.692956029730e-02 -6.763600245510e-02 -6.829609636440e-02 -6.890959259254e-02 --6.947627195680e-02 -6.999594556194e-02 -7.046845481878e-02 -7.089367144401e-02 --7.127149744118e-02 -7.160186506299e-02 -7.188473675489e-02 -7.212010508019e-02 --7.230799262665e-02 -7.244845189474e-02 -7.254156516766e-02 -7.258744436323e-02 --7.258623086790e-02 -7.253809535283e-02 -7.244323757238e-02 -7.230188614518e-02 --7.211429831779e-02 -7.188075971132e-02 -7.160158405118e-02 -7.127711288012e-02 --7.090771525475e-02 -7.049378742595e-02 -7.003575250320e-02 -6.953406010323e-02 --6.898918598315e-02 -6.840163165842e-02 -6.777192400586e-02 -6.710061485204e-02 --6.638828054735e-02 -6.563552152595e-02 -6.484296185208e-02 -6.401124875290e-02 --6.314105213826e-02 -6.223306410774e-02 -6.128799844526e-02 -6.030659010162e-02 --5.928959466533e-02 -5.823778782215e-02 -5.715196480352e-02 -5.603293982456e-02 --5.488154551165e-02 -5.369863232030e-02 -5.248506794353e-02 -5.124173671111e-02 --4.996953898025e-02 -4.866939051794e-02 -4.734222187547e-02 -4.598897775549e-02 --4.461061637206e-02 -4.320810880402e-02 -4.178243834230e-02 -4.033459983128e-02 --3.886559900497e-02 -3.737645181818e-02 -3.586818377323e-02 -3.434182924260e-02 --3.279843078799e-02 -3.123903847615e-02 -2.966470919199e-02 -2.807650594939e-02 --2.647549720008e-02 -2.486275614114e-02 -2.323936002146e-02 -2.160638944768e-02 --1.996492768990e-02 -1.831605998782e-02 -1.666087285751e-02 -1.500045339944e-02 --1.333588860800e-02 -1.166826468316e-02 -9.998666344508e-03 -8.328176148179e-03 --6.657873807088e-03 -4.988835514865e-03 -3.322133273924e-03 -1.658834228060e-03 -9.121078281037e-15 1.653313965754e-03 3.300059054207e-03 4.939194125200e-03 -6.569686152075e-03 - Type L N - 0 2 4 -0.000000000000e+00 6.467701348754e-05 2.586542723594e-04 5.817704695828e-04 -1.033756907113e-03 1.614237711735e-03 2.322730138670e-03 3.158644962277e-03 -4.121286952181e-03 5.209855435365e-03 6.423444943362e-03 7.761045944157e-03 -9.221545658202e-03 1.080372895779e-02 1.250627934912e-02 1.432778003624e-02 -1.626671506593e-02 1.832147055267e-02 2.049033598262e-02 2.277150559559e-02 -2.516307984377e-02 2.766306692620e-02 3.026938439748e-02 3.297986084961e-02 -3.579223766544e-02 3.870417084234e-02 4.171323288467e-02 4.481691476326e-02 -4.801262794057e-02 5.129770645970e-02 5.466940909557e-02 5.812492156647e-02 -6.166135880428e-02 6.527576728134e-02 6.896512739216e-02 7.272635588803e-02 -7.655630836242e-02 8.045178178523e-02 8.440951708386e-02 8.842620176875e-02 -9.249847260157e-02 9.662291830356e-02 1.007960823020e-01 1.050144655125e-01 -1.092745291549e-01 1.135726976002e-01 1.179053612464e-01 1.222688794215e-01 -1.266595833095e-01 1.310737788995e-01 1.355077499530e-01 1.399577609892e-01 -1.444200602838e-01 1.488908828806e-01 1.533664536125e-01 1.578429901293e-01 -1.623167059309e-01 1.667838134018e-01 1.712405268457e-01 1.756830655180e-01 -1.801076566519e-01 1.845105384774e-01 1.888879632307e-01 1.932362001498e-01 -1.975515384562e-01 2.018302903183e-01 2.060687937959e-01 2.102634157614e-01 -2.144105547971e-01 2.185066440656e-01 2.225481541504e-01 2.265315958651e-01 -2.304535230296e-01 2.343105352087e-01 2.380992804136e-01 2.418164577626e-01 -2.454588200992e-01 2.490231765652e-01 2.525063951274e-01 2.559054050554e-01 -2.592171993486e-01 2.624388371103e-01 2.655674458674e-01 2.686002238332e-01 -2.715344421129e-01 2.743674468476e-01 2.770966612978e-01 2.797195878629e-01 -2.822338100357e-01 2.846369942908e-01 2.869268919043e-01 2.891013407043e-01 -2.911582667514e-01 2.930956859452e-01 2.949117055595e-01 2.966045257012e-01 -2.981724406948e-01 2.996138403890e-01 3.009272113863e-01 3.021111381935e-01 -3.031643042930e-01 3.040854931329e-01 3.048735890371e-01 3.055275780325e-01 -3.060465485947e-01 3.064296923100e-01 3.066763044547e-01 3.067857844901e-01 -3.067576364736e-01 3.065914693852e-01 3.062869973702e-01 3.058440398959e-01 -3.052625218249e-01 3.045424734030e-01 3.036840301624e-01 3.026874327411e-01 -3.015530266175e-01 3.002812617612e-01 2.988726922006e-01 2.973279755071e-01 -2.956478721966e-01 2.938332450497e-01 2.918850583496e-01 2.898043770398e-01 -2.875923658023e-01 2.852502880559e-01 2.827795048773e-01 2.801814738444e-01 -2.774577478034e-01 2.746099735617e-01 2.716398905060e-01 2.685493291479e-01 -2.653402095987e-01 2.620145399736e-01 2.585744147272e-01 2.550220129220e-01 -2.513595964312e-01 2.475895080768e-01 2.437141697060e-01 2.397360802058e-01 -2.356578134586e-01 2.314820162408e-01 2.272114060649e-01 2.228487689682e-01 -2.183969572496e-01 2.138588871558e-01 2.092375365199e-01 2.045359423538e-01 -1.997571983959e-01 1.949044526175e-01 1.899809046891e-01 1.849898034084e-01 -1.799344440933e-01 1.748181659408e-01 1.696443493552e-01 1.644164132466e-01 -1.591378123033e-01 1.538120342391e-01 1.484425970188e-01 1.430330460631e-01 -1.375869514369e-01 1.321079050210e-01 1.265995176723e-01 1.210654163718e-01 -1.155092413657e-01 1.099346432998e-01 1.043452803504e-01 9.874481535428e-02 -9.313691293955e-02 8.752523666008e-02 8.191344613574e-02 7.630519420076e-02 -7.070412406258e-02 6.511386647350e-02 5.953803691739e-02 5.398023281373e-02 -4.844403074131e-02 4.293298368379e-02 3.745061829925e-02 3.200043221616e-02 -2.658589135768e-02 2.121042729658e-02 1.587743464290e-02 1.059026846634e-02 -5.352241755580e-03 1.666229163423e-04 -4.963366689589e-03 -1.003455516262e-02 --1.504382243890e-02 -1.998810261728e-02 -2.486438623791e-02 -2.966972251065e-02 --3.440122149161e-02 -3.905605620602e-02 -4.363146471594e-02 -4.812475213110e-02 --5.253329256133e-02 -5.685453100917e-02 -6.108598520115e-02 -6.522524735635e-02 --6.926998589097e-02 -7.321794705754e-02 -7.706695651764e-02 -8.081492084693e-02 --8.445982897137e-02 -8.799975353358e-02 -9.143285218847e-02 -9.475736882699e-02 --9.797163472740e-02 -1.010740696331e-01 -1.040631827561e-01 -1.069375737062e-01 --1.096959333441e-01 -1.123370445592e-01 -1.148597829702e-01 -1.172631175495e-01 --1.195461111700e-01 -1.217079210747e-01 -1.237477992681e-01 -1.256650928302e-01 --1.274592441522e-01 -1.291297910945e-01 -1.306763670666e-01 -1.320987010287e-01 --1.333966174168e-01 -1.345700359890e-01 -1.356189715955e-01 -1.365435338717e-01 --1.373439268546e-01 -1.380204485240e-01 -1.385734902677e-01 -1.390035362722e-01 --1.393111628400e-01 -1.394970376326e-01 -1.395619188418e-01 -1.395066542893e-01 --1.393321804551e-01 -1.390395214367e-01 -1.386297878394e-01 -1.381041755992e-01 --1.374639647384e-01 -1.367105180573e-01 -1.358452797606e-01 -1.348697740218e-01 --1.337856034858e-01 -1.325944477119e-01 -1.312980615577e-01 -1.298982735065e-01 --1.283969839388e-01 -1.267961633501e-01 -1.250978505159e-01 -1.233041506066e-01 --1.214172332533e-01 -1.194393305656e-01 -1.173727351053e-01 -1.152197978151e-01 --1.129829259064e-01 -1.106645807066e-01 -1.082672754685e-01 -1.057935731439e-01 --1.032460841225e-01 -1.006274639388e-01 -9.794041094889e-02 -9.518766397925e-02 --9.237199994887e-02 -8.949623146779e-02 -8.656320441344e-02 -8.357579548706e-02 --8.053690975243e-02 -7.744947815873e-02 -7.431645504994e-02 -7.114081566276e-02 --6.792555361516e-02 -6.467367838778e-02 -6.138821280021e-02 -5.807219048446e-02 --5.472865335745e-02 -5.136064909501e-02 -4.797122860918e-02 -4.456344353117e-02 --4.114034370191e-02 -3.770497467241e-02 -3.426037521587e-02 -3.080957485374e-02 --2.735559139769e-02 -2.390142850954e-02 -2.045007328115e-02 -1.700449383626e-02 --1.356763695622e-02 -1.014242573161e-02 -6.731757241574e-03 -3.338500262781e-03 -3.450699010114e-05 3.384459090659e-03 6.708585591882e-03 1.000415318049e-02 -1.326846779269e-02 1.649887668971e-02 1.969277049147e-02 2.284758516679e-02 -2.596080397851e-02 2.902995938214e-02 3.205263487648e-02 3.502646680471e-02 -3.794914610479e-02 4.081842000759e-02 4.363209368161e-02 4.638803182301e-02 -4.908416018980e-02 5.171846707893e-02 5.428900474540e-02 5.679389076215e-02 -5.923130931991e-02 6.159951246595e-02 6.389682128100e-02 6.612162699342e-02 -6.827239202987e-02 7.034765100187e-02 7.234601162746e-02 7.426615558751e-02 -7.610683931608e-02 7.786689472434e-02 7.954522985768e-02 8.114082948563e-02 -8.265275562436e-02 8.408014799135e-02 8.542222439227e-02 8.667828103984e-02 -8.784769280450e-02 8.892991339717e-02 8.992447548386e-02 9.083099073243e-02 -9.164914979164e-02 9.237872220263e-02 9.301955624322e-02 9.357157870541e-02 -9.403479460629e-02 9.440928683305e-02 9.469521572246e-02 9.489281857541e-02 -9.500240910722e-02 9.502437683422e-02 9.495918639761e-02 9.480737682502e-02 -9.456956073099e-02 9.424642345693e-02 9.383872215173e-02 9.334728479382e-02 -9.277300915591e-02 9.211686171330e-02 9.137987649695e-02 9.056315389263e-02 -8.966785938705e-02 8.869522226255e-02 8.764653424145e-02 8.652314808142e-02 -8.532647612334e-02 8.405798879298e-02 8.271921305792e-02 8.131173084133e-02 -7.983717739398e-02 7.829723962611e-02 7.669365440074e-02 7.502820679000e-02 -7.330272829607e-02 7.151909503859e-02 6.967922590995e-02 6.778508070034e-02 -6.583865819438e-02 6.384199424077e-02 6.179715979705e-02 5.970625895115e-02 -5.757142692138e-02 5.539482803698e-02 5.317865370071e-02 5.092512033565e-02 -4.863646731778e-02 4.631495489640e-02 4.396286210410e-02 4.158248465821e-02 -3.917613285563e-02 3.674612946285e-02 3.429480760297e-02 3.182450864173e-02 -2.933758007429e-02 2.683637341465e-02 2.432324208952e-02 2.180053933849e-02 -1.927061612244e-02 1.673581904170e-02 1.419848826614e-02 1.166095547863e-02 -9.125541833832e-03 6.594555934047e-03 4.070291823748e-03 1.555027004599e-03 --9.489795274114e-04 -3.439489221052e-03 -5.914285883511e-03 -8.371177567057e-03 --1.080799842710e-02 -1.322261055011e-02 -1.561290574995e-02 -1.797680733099e-02 --2.031227181671e-02 -2.261729064236e-02 -2.488989181013e-02 -2.712814150576e-02 --2.933014567510e-02 -3.149405155936e-02 -3.361804918796e-02 -3.570037282766e-02 --3.773930238696e-02 -3.973316477450e-02 -4.168033521061e-02 -4.357923849086e-02 --4.542835020074e-02 -4.722619788044e-02 -4.897136213900e-02 -5.066247771695e-02 --5.229823449659e-02 -5.387737845932e-02 -5.539871258930e-02 -5.686109772272e-02 --5.826345334227e-02 -5.960475831614e-02 -6.088405158118e-02 -6.210043276973e-02 --6.325306277975e-02 -6.434116428803e-02 -6.536402220605e-02 -6.632098407841e-02 --6.721146042362e-02 -6.803492501707e-02 -6.879091511625e-02 -6.947903162814e-02 --7.009893921874e-02 -7.065036636499e-02 -7.113310534910e-02 -7.154701219554e-02 --7.189200655093e-02 -7.216807150707e-02 -7.237525336760e-02 -7.251366135851e-02 --7.258346728307e-02 -7.258490512157e-02 -7.251827057659e-02 -7.238392056411e-02 --7.218227265139e-02 -7.191380444207e-02 -7.157905290935e-02 -7.117861367794e-02 --7.071314025570e-02 -7.018334321567e-02 -6.958998932949e-02 -6.893390065319e-02 --6.821595356620e-02 -6.743707776469e-02 -6.659825521027e-02 -6.570051903513e-02 --6.474495240479e-02 -6.373268733955e-02 -6.266490349590e-02 -6.154282690909e-02 --6.036772869814e-02 -5.914092373457e-02 -5.786376927608e-02 -5.653766356675e-02 --5.516404440485e-02 -5.374438767992e-02 -5.228020588032e-02 -5.077304657284e-02 --4.922449085577e-02 -4.763615178696e-02 -4.600967278826e-02 -4.434672602804e-02 --4.264901078311e-02 -4.091825178181e-02 -3.915619752961e-02 -3.736461861899e-02 --3.554530602502e-02 -3.370006938831e-02 -3.183073528694e-02 -2.993914549896e-02 --2.802715525691e-02 -2.609663149633e-02 -2.414945109941e-02 -2.218749913577e-02 --2.021266710177e-02 -1.822685116001e-02 -1.623195038059e-02 -1.422986498576e-02 --1.222249459954e-02 -1.021173650382e-02 -8.199483902594e-03 -6.187624195818e-03 --4.178037264425e-03 -2.172593768075e-03 -1.731534570916e-04 1.818436499896e-03 -3.800343171147e-03 5.770749498377e-03 7.727855913281e-03 9.669881932597e-03 -1.159506773032e-02 1.350167568574e-02 1.538799190588e-02 1.725232772119e-02 -1.909302115304e-02 2.090843835186e-02 2.269697500474e-02 2.445705771117e-02 -2.618714532593e-02 2.788573026788e-02 2.955133979361e-02 3.118253723494e-02 -3.277792319915e-02 3.433613673106e-02 3.585585643598e-02 3.733580156260e-02 -3.877473304497e-02 4.017145450282e-02 4.152481319930e-02 4.283370095549e-02 -4.409705502095e-02 4.531385889966e-02 4.648314313074e-02 4.760398602330e-02 -4.867551434504e-02 4.969690396393e-02 5.066738044268e-02 5.158621958553e-02 -5.245274793696e-02 5.326634323216e-02 5.402643479884e-02 5.473250391019e-02 -5.538408408892e-02 5.598076136215e-02 5.652217446705e-02 5.700801500733e-02 -5.743802756036e-02 5.781200973523e-02 5.812981218165e-02 5.839133854989e-02 -5.859654540203e-02 5.874544207454e-02 5.883809049276e-02 5.887460493731e-02 -5.885515176296e-02 5.877994907029e-02 5.864926633065e-02 5.846342396483e-02 -5.822279287599e-02 5.792779393747e-02 5.757889743600e-02 5.717662247100e-02 -5.672153631070e-02 5.621425370570e-02 5.565543616079e-02 5.504579116584e-02 -5.438607138658e-02 5.367707381606e-02 5.291963888783e-02 5.211464955159e-02 -5.126303031252e-02 5.036574623496e-02 4.942380191178e-02 4.843824040031e-02 -4.741014212590e-02 4.634062375435e-02 4.523083703419e-02 4.408196761011e-02 -4.289523380852e-02 4.167188539674e-02 4.041320231670e-02 3.912049339471e-02 -3.779509502828e-02 3.643836985150e-02 3.505170538017e-02 3.363651263793e-02 -3.219422476486e-02 3.072629560979e-02 2.923419830763e-02 2.771942384323e-02 -2.618347960300e-02 2.462788791564e-02 2.305418458359e-02 2.146391740623e-02 -1.985864469655e-02 1.823993379249e-02 1.660935956441e-02 1.496850292005e-02 -1.331894930838e-02 1.166228722378e-02 1.000010671186e-02 8.333997878296e-03 -6.665549402163e-03 4.996347054970e-03 3.327972226886e-03 1.662000461435e-03 --1.197198642185e-15 -1.656469662533e-03 -3.305859209674e-03 -4.946630921512e-03 --6.577260077874e-03 - Type L N - 0 2 5 -0.000000000000e+00 8.843454829340e-05 3.536376431318e-04 7.953077383734e-04 -1.412942629879e-03 2.205840009229e-03 3.173098239600e-03 4.313617352846e-03 -5.626100265255e-03 7.109054211153e-03 8.760792392709e-03 1.057943584416e-02 -1.256291550825e-02 1.470897452253e-02 1.701517071310e-02 1.947887929282e-02 -2.209729576101e-02 2.486743900144e-02 2.778615457505e-02 3.085011820372e-02 -3.405583944115e-02 3.739966552686e-02 4.087778541869e-02 4.448623399960e-02 -4.822089645382e-02 5.207751280750e-02 5.605168262877e-02 6.013886988193e-02 -6.433440793030e-02 6.863350468212e-02 7.303124787377e-02 7.752261048427e-02 -8.210245627513e-02 8.676554544919e-02 9.150654042227e-02 9.632001170095e-02 -1.012004438601e-01 1.061422416135e-01 1.111397359702e-01 1.161871904705e-01 -1.212788074943e-01 1.264087346346e-01 1.315710711288e-01 1.367598743410e-01 -1.419691662889e-01 1.471929402053e-01 1.524251671307e-01 1.576598025256e-01 -1.628907928987e-01 1.681120824415e-01 1.733176196618e-01 1.785013640105e-01 -1.836572924922e-01 1.887794062539e-01 1.938617371432e-01 1.988983542297e-01 -2.038833702822e-01 2.088109481935e-01 2.136753073473e-01 2.184707299184e-01 -2.231915671013e-01 2.278322452582e-01 2.323872719807e-01 2.368512420586e-01 -2.412188433491e-01 2.454848625395e-01 2.496441907972e-01 2.536918293015e-01 -2.576228946506e-01 2.614326241370e-01 2.651163808874e-01 2.686696588600e-01 -2.720880876944e-01 2.753674374084e-01 2.785036229372e-01 2.814927085096e-01 -2.843309118560e-01 2.870146082457e-01 2.895403343460e-01 2.919047919020e-01 -2.941048512312e-01 2.961375545295e-01 2.980001189869e-01 2.996899397059e-01 -3.012045924239e-01 3.025418360331e-01 3.036996148978e-01 3.046760609651e-01 -3.054694956680e-01 3.060784316181e-01 3.065015740870e-01 3.067378222743e-01 -3.067862703616e-01 3.066462083512e-01 3.063171226887e-01 3.057986966696e-01 -3.050908106292e-01 3.041935419158e-01 3.031071646480e-01 3.018321492558e-01 -3.003691618077e-01 2.987190631224e-01 2.968829076694e-01 2.948619422570e-01 -2.926576045123e-01 2.902715211520e-01 2.877055060494e-01 2.849615580978e-01 -2.820418588735e-01 2.789487701018e-01 2.756848309287e-01 2.722527550014e-01 -2.686554273614e-01 2.648959011542e-01 2.609773941583e-01 2.569032851397e-01 -2.526771100344e-01 2.483025579636e-01 2.437834670878e-01 2.391238203025e-01 -2.343277407826e-01 2.293994873787e-01 2.243434498729e-01 2.191641440970e-01 -2.138662069216e-01 2.084543911193e-01 2.029335601097e-01 1.973086825914e-01 -1.915848270677e-01 1.857671562716e-01 1.798609214971e-01 1.738714568434e-01 -1.678041733775e-01 1.616645532235e-01 1.554581435837e-01 1.491905506995e-01 -1.428674337582e-01 1.364944987533e-01 1.300774923044e-01 1.236221954444e-01 -1.171344173807e-01 1.106199892374e-01 1.040847577856e-01 9.753457916862e-02 -9.097531263009e-02 8.441281425030e-02 7.785293069927e-02 7.130149301279e-02 -6.476431039851e-02 5.824716407897e-02 5.175580117834e-02 4.529592865971e-02 -3.887320731955e-02 3.249324584599e-02 2.616159494743e-02 1.988374155795e-02 -1.366510312583e-02 7.511021991405e-03 1.426759860405e-03 -4.582507621236e-03 --1.051169618524e-02 -1.635581814577e-02 -2.210998748552e-02 -2.776942481765e-02 --3.332946221840e-02 -3.878554792496e-02 -4.413325089389e-02 -4.936826521520e-02 --5.448641437729e-02 -5.948365537855e-02 -6.435608268117e-02 -6.909993200312e-02 --7.371158394439e-02 -7.818756744389e-02 -8.252456306333e-02 -8.671940609498e-02 --9.076908949011e-02 -9.467076660523e-02 -9.842175376361e-02 -1.020195326294e-01 --1.054617523925e-01 -1.087462317616e-01 -1.118709607641e-01 -1.148341023516e-01 --1.176339938086e-01 -1.202691479643e-01 -1.227382542061e-01 -1.250401792949e-01 --1.271739679803e-01 -1.291388434172e-01 -1.309342073825e-01 -1.325596402933e-01 --1.340149010263e-01 -1.352999265391e-01 -1.364148312948e-01 -1.373599064912e-01 --1.381356190951e-01 -1.387426106843e-01 -1.391816960985e-01 -1.394538619017e-01 --1.395602646572e-01 -1.395022290196e-01 -1.392812456445e-01 -1.388989689197e-01 --1.383572145215e-01 -1.376579567977e-01 -1.368033259832e-01 -1.357956052489e-01 --1.346372275904e-01 -1.333307725589e-01 -1.318789628388e-01 -1.302846606768e-01 --1.285508641666e-01 -1.266807033933e-01 -1.246774364437e-01 -1.225444452862e-01 --1.202852315255e-01 -1.179034120385e-01 -1.154027144950e-01 -1.127869727698e-01 --1.100601222512e-01 -1.072261950524e-01 -1.042893151305e-01 -1.012536933192e-01 --9.812362228211e-02 -9.490347139121e-02 -9.159768153769e-02 -8.821075988073e-02 --8.474727454061e-02 -8.121184924242e-02 -7.760915791657e-02 -7.394391926241e-02 --7.022089128150e-02 -6.644486578661e-02 -6.262066289307e-02 -5.875312549865e-02 --5.484711375854e-02 -5.090749956161e-02 -4.693916101441e-02 -4.294697693916e-02 --3.893582139206e-02 -3.491055820812e-02 -3.087603557870e-02 -2.683708066795e-02 --2.279849427414e-02 -1.876504554194e-02 -1.474146673158e-02 -1.073244805069e-02 --6.742632554596e-03 -2.776611120726e-03 1.161082497283e-03 5.065976530412e-03 -8.933665964617e-03 1.275981721555e-02 1.654017270256e-02 2.027055531696e-02 -2.394687277990e-02 2.756512188498e-02 3.112139262123e-02 3.461187217210e-02 -3.803284878607e-02 4.138071551510e-02 4.465197381679e-02 4.784323701676e-02 -5.095123362750e-02 5.397281052057e-02 5.690493594875e-02 5.974470241534e-02 -6.248932938769e-02 6.513616585240e-02 6.768269270979e-02 7.012652500537e-02 -7.246541399637e-02 7.469724905143e-02 7.682005938187e-02 7.883201560314e-02 -8.073143112517e-02 8.251676337075e-02 8.418661482097e-02 8.573973388724e-02 -8.717501560948e-02 8.849150218024e-02 8.968838329487e-02 9.076499632787e-02 -9.172082633592e-02 9.255550588818e-02 9.326881472473e-02 9.386067924413e-02 -9.433117182145e-02 9.468050995802e-02 9.490905526471e-02 9.501731228041e-02 -9.500592712786e-02 9.487568600880e-02 9.462751354110e-02 9.426247094018e-02 -9.378175404753e-02 9.318669120930e-02 9.247874100793e-02 9.165948985008e-02 -9.073064941431e-02 8.969405396193e-02 8.855165751490e-02 8.730553090442e-02 -8.595785869433e-02 8.451093598347e-02 8.296716509107e-02 8.132905212973e-02 -7.959920347039e-02 7.778032210396e-02 7.587520390419e-02 7.388673379677e-02 -7.181788183948e-02 6.967169921838e-02 6.745131416515e-02 6.515992780077e-02 -6.280080991070e-02 6.037729465690e-02 5.789277623210e-02 5.535070446159e-02 -5.275458035810e-02 5.010795163516e-02 4.741440818459e-02 4.467757752352e-02 -4.190112021655e-02 3.908872527867e-02 3.624410556442e-02 3.337099314900e-02 -3.047313470670e-02 2.755428689236e-02 2.461821173135e-02 2.166867202349e-02 -1.870942676643e-02 1.574422660391e-02 1.277680930427e-02 9.810895274485e-03 -6.850183114978e-03 3.898345220493e-03 9.590234320046e-04 -1.964175255218e-03 --4.867682922457e-03 -7.747974892461e-03 -1.060157382366e-02 -1.342505372899e-02 --1.621504391486e-02 -1.896823283569e-02 -2.168137185984e-02 -2.435127894258e-02 --2.697484220215e-02 -2.954902339493e-02 -3.207086128584e-02 -3.453747491041e-02 --3.694606672492e-02 -3.929392564125e-02 -4.157842994323e-02 -4.379705008142e-02 --4.594735134334e-02 -4.802699639650e-02 -5.003374770156e-02 -5.196546979325e-02 --5.382013142674e-02 -5.559580758741e-02 -5.729068136213e-02 -5.890304567025e-02 --6.043130485283e-02 -6.187397611862e-02 -6.322969084568e-02 -6.449719573756e-02 --6.567535383323e-02 -6.676314537007e-02 -6.775966849945e-02 -6.866413985459e-02 --6.947589497063e-02 -7.019438855687e-02 -7.081919462152e-02 -7.135000644933e-02 --7.178663643267e-02 -7.212901575695e-02 -7.237719394112e-02 -7.253133823464e-02 --7.259173287195e-02 -7.255877818608e-02 -7.243298958297e-02 -7.221499637829e-02 --7.190554049871e-02 -7.150547504972e-02 -7.101576275240e-02 -7.043747425129e-02 --6.977178629627e-02 -6.901997980085e-02 -6.818343777997e-02 -6.726364317018e-02 --6.626217653535e-02 -6.518071366117e-02 -6.402102304188e-02 -6.278496326262e-02 --6.147448028115e-02 -6.009160461257e-02 -5.863844842095e-02 -5.711720252171e-02 --5.553013329895e-02 -5.387957954164e-02 -5.216794920309e-02 -5.039771608784e-02 --4.857141647040e-02 -4.669164565024e-02 -4.476105444761e-02 -4.278234564460e-02 --4.075827037615e-02 -3.869162447569e-02 -3.658524477991e-02 -3.444200539771e-02 --3.226481394767e-02 -3.005660776926e-02 -2.782035011212e-02 -2.555902630867e-02 --2.327563993447e-02 -2.097320896137e-02 -1.865476190813e-02 -1.632333399337e-02 --1.398196329553e-02 -1.163368692469e-02 -9.281537210775e-03 -6.928537913070e-03 --4.577700455416e-03 -2.232020191838e-03 1.055272929233e-04 2.431989843527e-03 -4.744442350352e-03 7.039990317716e-03 9.315773379721e-03 1.156896875954e-02 -1.379679466805e-02 1.599651363785e-02 1.816543578862e-02 2.030092202019e-02 -2.240038712946e-02 2.446130284760e-02 2.648120079414e-02 2.845767534433e-02 -3.038838640685e-02 3.227106210840e-02 3.410350138237e-02 3.588357645862e-02 -3.760923525171e-02 3.927850364479e-02 4.088948766690e-02 4.244037556115e-02 -4.392943974174e-02 4.535503863768e-02 4.671561842131e-02 4.800971462001e-02 -4.923595360928e-02 5.039305398596e-02 5.147982782019e-02 5.249518178498e-02 -5.343811816249e-02 5.430773572606e-02 5.510323049754e-02 5.582389637918e-02 -5.646912565992e-02 5.703840939578e-02 5.753133766442e-02 5.794759969388e-02 -5.828698386590e-02 5.854937759416e-02 5.873476707813e-02 5.884323693321e-02 -5.887496969808e-02 5.883024522034e-02 5.870943992158e-02 5.851302594329e-02 -5.824157017513e-02 5.789573316698e-02 5.747626792690e-02 5.698401860662e-02 -5.641991907667e-02 5.578499139343e-02 5.508034416032e-02 5.430717078558e-02 -5.346674763916e-02 5.256043211145e-02 5.158966057661e-02 5.055594626341e-02 -4.946087703648e-02 4.830611309131e-02 4.709338456586e-02 4.582448907248e-02 -4.450128915314e-02 4.312570966174e-02 4.169973507682e-02 4.022540674857e-02 -3.870482008348e-02 3.714012167076e-02 3.553350635409e-02 3.388721425273e-02 -3.220352773586e-02 3.048476835413e-02 2.873329373248e-02 2.695149442828e-02 -2.514179075879e-02 2.330662960220e-02 2.144848117626e-02 1.956983579870e-02 -1.767320063363e-02 1.576109642796e-02 1.383605424216e-02 1.190061217943e-02 -9.957312117337e-03 8.008696446310e-03 6.057304818763e-03 4.105670913186e-03 -2.156319217133e-03 2.117618331311e-04 -1.725504688503e-03 -3.653002486023e-03 --5.568275487930e-03 -7.468892476130e-03 -9.352450106845e-03 -1.121657588556e-02 --1.305893109241e-02 -1.487721365444e-02 -1.666916096130e-02 -1.843255262097e-02 --2.016521315220e-02 -2.186501461049e-02 -2.352987914451e-02 -2.515778147985e-02 --2.674675132734e-02 -2.829487571296e-02 -2.980030122677e-02 -3.126123618819e-02 --3.267595272522e-02 -3.404278876514e-02 -3.536014993456e-02 -3.662651136660e-02 --3.784041941333e-02 -3.900049326142e-02 -4.010542644944e-02 -4.115398828509e-02 --4.214502516090e-02 -4.307746176710e-02 -4.395030220038e-02 -4.476263096751e-02 --4.551361388285e-02 -4.620249885901e-02 -4.682861658991e-02 -4.739138112576e-02 --4.789029033958e-02 -4.832492628501e-02 -4.869495544526e-02 -4.900012887330e-02 --4.924028222339e-02 -4.941533567430e-02 -4.952529374462e-02 -4.957024500079e-02 --4.955036165852e-02 -4.946589907844e-02 -4.931719515703e-02 -4.910466961379e-02 --4.882882317603e-02 -4.849023666264e-02 -4.808956996814e-02 -4.762756094888e-02 --4.710502421290e-02 -4.652284981543e-02 -4.588200186193e-02 -4.518351702076e-02 --4.442850294764e-02 -4.361813662421e-02 -4.275366261309e-02 -4.183639123185e-02 --4.086769664858e-02 -3.984901490169e-02 -3.878184184664e-02 -3.766773103258e-02 --3.650829151167e-02 -3.530518558430e-02 -3.406012648303e-02 -3.277487599862e-02 --3.145124205122e-02 -3.009107621011e-02 -2.869627116519e-02 -2.726875815371e-02 --2.581050434560e-02 -2.432351019094e-02 -2.280980673299e-02 -2.127145289039e-02 --1.971053271207e-02 -1.812915260851e-02 -1.652943856288e-02 -1.491353332576e-02 --1.328359359712e-02 -1.164178719905e-02 -9.990290243072e-03 -8.331284295577e-03 --6.666953545004e-03 -4.999481974467e-03 -3.331050543370e-03 -1.663834381623e-03 --2.402669613501e-15 1.658297479800e-03 3.308917071970e-03 4.949734646731e-03 -6.578645620480e-03 - Type L N - 0 2 6 -0.000000000000e+00 1.158449375594e-04 4.632072064351e-04 1.041569421675e-03 -1.850070109030e-03 2.887504951123e-03 4.152328531465e-03 5.642656572168e-03 -7.356268662154e-03 9.290611471781e-03 1.144280244933e-02 1.380963399377e-02 -1.638757809772e-02 1.917279145368e-02 2.216112101614e-02 2.534811001120e-02 -2.872900438505e-02 3.229875968163e-02 3.605204833944e-02 3.998326739671e-02 -4.408654659363e-02 4.835575685968e-02 5.278451917357e-02 5.736621378273e-02 -6.209398976888e-02 6.696077494550e-02 7.195928607265e-02 7.708203937428e-02 -8.232136134232e-02 8.766939981191e-02 9.311813529135e-02 9.865939253019e-02 -1.042848523085e-01 1.099860634300e-01 1.157544549012e-01 1.215813482797e-01 -1.274579701716e-01 1.333754648620e-01 1.393249070584e-01 1.452973147290e-01 -1.512836620174e-01 1.572748922140e-01 1.632619307658e-01 1.692356983058e-01 -1.751871236816e-01 1.811071569663e-01 1.869867824310e-01 1.928170314606e-01 -1.985889953941e-01 2.042938382712e-01 2.099228094656e-01 2.154672561873e-01 -2.209186358363e-01 2.262685281881e-01 2.315086473959e-01 2.366308537893e-01 -2.416271654543e-01 2.464897695783e-01 2.512110335412e-01 2.557835157396e-01 -2.601999761268e-01 2.644533864541e-01 2.685369401979e-01 2.724440621603e-01 -2.761684177267e-01 2.797039217702e-01 2.830447471879e-01 2.861853330583e-01 -2.891203924071e-01 2.918449195724e-01 2.943541971564e-01 2.966438025567e-01 -2.987096140655e-01 3.005478165298e-01 3.021549065652e-01 3.035276973145e-01 -3.046633227465e-01 3.055592414877e-01 3.062132401832e-01 3.066234363819e-01 -3.067882809417e-01 3.067065599532e-01 3.063773961785e-01 3.058002500042e-01 -3.049749199075e-01 3.039015424360e-01 3.025805917007e-01 3.010128783852e-01 -2.991995482717e-01 2.971420802874e-01 2.948422840751e-01 2.923022970908e-01 -2.895245812357e-01 2.865119190253e-01 2.832674093043e-01 2.797944625130e-01 -2.760967955125e-01 2.721784259784e-01 2.680436663704e-01 2.636971174878e-01 -2.591436616213e-01 2.543884553110e-01 2.494369217232e-01 2.442947426555e-01 -2.389678501851e-01 2.334624179713e-01 2.277848522262e-01 2.219417823669e-01 -2.159400513646e-01 2.097867058034e-01 2.034889856661e-01 1.970543138596e-01 -1.904902854990e-01 1.838046569639e-01 1.770053347441e-01 1.701003640922e-01 -1.630979174991e-01 1.560062830099e-01 1.488338523982e-01 1.415891092149e-01 -1.342806167313e-01 1.269170057925e-01 1.195069625999e-01 1.120592164414e-01 -1.045825273864e-01 9.708567396355e-02 8.957744084060e-02 8.206660652352e-02 -7.456193109275e-02 6.707214399493e-02 5.960593190768e-02 5.217192669509e-02 -4.477869347138e-02 3.743471878998e-02 3.014839897518e-02 2.292802861292e-02 -1.578178921756e-02 8.717738090536e-03 1.743797387035e-03 -5.132256593808e-03 --1.190280388006e-02 -1.856039104457e-02 -2.509774115471e-02 -3.150776344014e-02 --3.778356266528e-02 -4.391844819326e-02 -4.990594272891e-02 -5.573979072874e-02 --6.141396646626e-02 -6.692268174186e-02 -7.226039322664e-02 -7.742180943043e-02 --8.240189728471e-02 -8.719588833174e-02 -9.179928451186e-02 -9.620786354151e-02 --1.004176838751e-01 -1.044250892447e-01 -1.082267127718e-01 -1.118194806463e-01 --1.152006153691e-01 -1.183676385534e-01 -1.213183732835e-01 -1.240509460273e-01 --1.265637881026e-01 -1.288556366940e-01 -1.309255354236e-01 -1.327728344720e-01 --1.343971902544e-01 -1.357985646509e-01 -1.369772237950e-01 -1.379337364231e-01 --1.386689717884e-01 -1.391840971439e-01 -1.394805747999e-01 -1.395601587609e-01 --1.394248909492e-01 -1.390770970207e-01 -1.385193817826e-01 -1.377546242179e-01 --1.367859721294e-01 -1.356168364080e-01 -1.342508849388e-01 -1.326920361532e-01 --1.309444522377e-01 -1.290125320121e-01 -1.269009034870e-01 -1.246144161144e-01 --1.221581327425e-01 -1.195373212894e-01 -1.167574461467e-01 -1.138241593296e-01 --1.107432913851e-01 -1.075208420744e-01 -1.041629708430e-01 -1.006759870946e-01 --9.706634028308e-02 -9.334060983866e-02 -8.950549494349e-02 -8.556780417290e-02 --8.153444501805e-02 -7.741241330612e-02 -7.320878253450e-02 -6.893069313497e-02 --6.458534168457e-02 -6.017997007931e-02 -5.572185468727e-02 -5.121829549741e-02 --4.667660528048e-02 -4.210409877825e-02 -3.750808193722e-02 -3.289584120295e-02 --2.827463289080e-02 -2.365167264895e-02 -1.903412502911e-02 -1.442909318035e-02 --9.843608681133e-03 -5.284621524332e-03 -7.589902698312e-04 3.726527621051e-03 -8.165285255404e-03 1.255075556925e-02 1.687654036556e-02 2.113637911688e-02 -2.532415752022e-02 2.943391579212e-02 3.345985669244e-02 3.739635326564e-02 -4.123795628897e-02 4.497940141745e-02 4.861561601591e-02 5.214172566905e-02 -5.555306036077e-02 5.884516031483e-02 6.201378148917e-02 6.505490071711e-02 -6.796472048876e-02 7.073967336707e-02 7.337642603310e-02 7.587188295594e-02 -7.822318968311e-02 8.042773574815e-02 8.248315719229e-02 8.438733869820e-02 -8.613841533394e-02 8.773477390620e-02 8.917505392232e-02 9.045814816127e-02 -9.158320285438e-02 9.254961747711e-02 9.335704415391e-02 9.400538667863e-02 -9.449479915370e-02 9.482568425169e-02 9.499869110366e-02 9.501471281903e-02 -9.487488364239e-02 9.458057575324e-02 9.413339571510e-02 9.353518058094e-02 -9.278799366247e-02 9.189411997126e-02 9.085606134019e-02 8.967653123410e-02 -8.835844925907e-02 8.690493538012e-02 8.531930385757e-02 8.360505691270e-02 -8.176587813370e-02 7.980562563325e-02 7.772832496954e-02 7.553816184269e-02 -7.323947457889e-02 7.083674641501e-02 6.833459759641e-02 6.573777730123e-02 -6.305115540435e-02 6.027971409480e-02 5.742853936005e-02 5.450281235135e-02 -5.150780064392e-02 4.844884940628e-02 4.533137249275e-02 4.216084347362e-02 -3.894278661706e-02 3.568276783738e-02 3.238638562369e-02 2.905926196354e-02 -2.570703327558e-02 2.233534136558e-02 1.894982441988e-02 1.555610805018e-02 -1.215979640360e-02 8.766463351712e-03 5.381643771999e-03 2.010824935074e-03 --1.340561989201e-03 -4.667150293877e-03 -7.963645952750e-03 -1.122483568154e-02 --1.444559483040e-02 -1.762089509599e-02 -2.074581204182e-02 -2.381553241579e-02 --2.682536125416e-02 -2.977072876185e-02 -3.264719695903e-02 -3.545046608454e-02 --3.817638074709e-02 -4.082093581567e-02 -4.338028204082e-02 -4.585073139923e-02 --4.822876215434e-02 -5.051102362607e-02 -5.269434066359e-02 -5.477571781513e-02 --5.675234318974e-02 -5.862159200606e-02 -6.038102982396e-02 -6.202841545521e-02 --6.356170355011e-02 -6.497904685724e-02 -6.627879815424e-02 -6.745951184806e-02 --6.851994524352e-02 -6.945905947958e-02 -7.027602013348e-02 -7.097019749301e-02 --7.154116649818e-02 -7.198870635366e-02 -7.231279981420e-02 -7.251363214552e-02 --7.259158976385e-02 -7.254725855772e-02 -7.238142189594e-02 -7.209505832662e-02 --7.168933897204e-02 -7.116562462502e-02 -7.052546255272e-02 -6.977058301437e-02 --6.890289549963e-02 -6.792448469504e-02 -6.683760618612e-02 -6.564468190324e-02 --6.434829531971e-02 -6.295118641090e-02 -6.145624638359e-02 -5.986651218503e-02 --5.818516080152e-02 -5.641550335661e-02 -5.456097901941e-02 -5.262514873357e-02 --5.061168877784e-02 -4.852438416946e-02 -4.636712192160e-02 -4.414388416646e-02 --4.185874115570e-02 -3.951584415008e-02 -3.711941821030e-02 -3.467375490113e-02 --3.218320492099e-02 -2.965217066937e-02 -2.708509876424e-02 -2.448647252192e-02 --2.186080441173e-02 -1.921262849779e-02 -1.654649288024e-02 -1.386695214826e-02 --1.117855985699e-02 -8.485861040583e-03 -5.793384773283e-03 -3.105636790551e-03 --4.270921818921e-04 2.237811832983e-03 4.884683033275e-03 7.509181220273e-03 -1.010702512361e-02 1.267399917983e-02 1.520596017277e-02 1.769884372549e-02 -2.014867063378e-02 2.255155303169e-02 2.490370037951e-02 2.720142526540e-02 -2.944114901179e-02 3.161940707838e-02 3.373285425359e-02 3.577826962697e-02 -3.775256133536e-02 3.965277107591e-02 4.147607837955e-02 4.321980463900e-02 -4.488141688568e-02 4.645853131032e-02 4.794891652270e-02 4.935049654612e-02 -5.066135354291e-02 5.187973026750e-02 5.300403224421e-02 5.403282966737e-02 -5.496485902165e-02 5.579902442126e-02 5.653439866677e-02 5.717022401920e-02 -5.770591269104e-02 5.814104705468e-02 5.847537956906e-02 5.870883242566e-02 -5.884149691575e-02 5.887363252092e-02 5.880566572958e-02 5.863818858240e-02 -5.837195695027e-02 5.800788854867e-02 5.754706069270e-02 5.699070779760e-02 -5.634021862982e-02 5.559713331426e-02 5.476314010346e-02 5.384007191516e-02 -5.282990264466e-02 5.173474325923e-02 5.055683768156e-02 4.929855847020e-02 -4.796240230460e-02 4.655098528325e-02 4.506703804324e-02 4.351340071010e-02 -4.189301768686e-02 4.020893229156e-02 3.846428125282e-02 3.666228907290e-02 -3.480626226818e-02 3.289958349719e-02 3.094570558604e-02 2.894814546188e-02 -2.691047800448e-02 2.483632982661e-02 2.272937299373e-02 2.059331869362e-02 -1.843191086655e-02 1.624891980689e-02 1.404813574665e-02 1.183336243172e-02 -9.608410701586e-03 7.377092082996e-03 5.143212408206e-03 2.910565468323e-03 -6.829267120771e-04 -1.535952999666e-03 -3.742353573516e-03 -5.932591787285e-03 --8.103027308005e-03 -1.025006861455e-02 -1.237017881542e-02 -1.445988135238e-02 --1.651576558100e-02 -1.853449221918e-02 -2.051279865517e-02 -2.244750410684e-02 --2.433551462404e-02 -2.617382792650e-02 -2.795953806972e-02 -2.968983993177e-02 --3.136203351423e-02 -3.297352805078e-02 -3.452184591733e-02 -3.600462633794e-02 --3.741962888111e-02 -3.876473674135e-02 -4.003795980148e-02 -4.123743747123e-02 --4.236144129837e-02 -4.340837734873e-02 -4.437678835212e-02 -4.526535561139e-02 --4.607290067221e-02 -4.679838675192e-02 -4.744091992563e-02 -4.799975006878e-02 --4.847427155521e-02 -4.886402371075e-02 -4.916869102217e-02 -4.938810310223e-02 --4.952223441176e-02 -4.957120373998e-02 -4.953527344494e-02 -4.941484845619e-02 --4.921047504213e-02 -4.892283934503e-02 -4.855276568695e-02 -4.810121465025e-02 --4.756928093668e-02 -4.695819100941e-02 -4.626930052278e-02 -4.550409154471e-02 --4.466416957733e-02 -4.375126038127e-02 -4.276720660994e-02 -4.171396425980e-02 --4.059359894342e-02 -3.940828199207e-02 -3.816028639507e-02 -3.685198258314e-02 --3.548583406348e-02 -3.406439291435e-02 -3.259029514718e-02 -3.106625594443e-02 --2.949506478171e-02 -2.787958044259e-02 -2.622272593490e-02 -2.452748331740e-02 --2.279688844578e-02 -2.103402564700e-02 -1.924202233133e-02 -1.742404355109e-02 --1.558328651563e-02 -1.372297507176e-02 -1.184635415898e-02 -9.956684249067e-03 --8.057235779192e-03 -6.151283588064e-03 -4.242101364374e-03 -2.332956116824e-03 --4.271026749379e-04 1.472221770211e-03 3.361803076335e-03 5.238455502416e-03 -7.099026994534e-03 8.940404396417e-03 1.075951857619e-02 1.255334946101e-02 -1.431893097146e-02 1.605335584770e-02 1.775378035967e-02 1.941742889385e-02 -2.104159840920e-02 2.262366275530e-02 2.416107684589e-02 2.565138068120e-02 -2.709220321295e-02 2.848126604591e-02 2.981638697042e-02 3.109548332051e-02 -3.231657515238e-02 3.347778823884e-02 3.457735687481e-02 3.561362649026e-02 -3.658505606648e-02 3.749022035241e-02 3.832781187797e-02 3.909664276163e-02 -3.979564630983e-02 4.042387840633e-02 4.098051868971e-02 4.146487151789e-02 -4.187636671855e-02 4.221456012506e-02 4.247913389767e-02 4.266989662998e-02 -4.278678324145e-02 4.282985465662e-02 4.279929727237e-02 4.269542221476e-02 -4.251866438748e-02 4.226958131403e-02 4.194885177638e-02 4.155727425296e-02 -4.109576515940e-02 4.056535689547e-02 3.996719570215e-02 3.930253933322e-02 -3.857275454567e-02 3.777931441390e-02 3.692379547270e-02 3.600787469448e-02 -3.503332630624e-02 3.400201845236e-02 3.291590970911e-02 3.177704545739e-02 -3.058755412020e-02 2.934964327168e-02 2.806559562458e-02 2.673776490353e-02 -2.536857161114e-02 2.396049869471e-02 2.251608712102e-02 2.103793136695e-02 -1.952867483397e-02 1.799100519427e-02 1.642764967678e-02 1.484137030113e-02 -1.323495906788e-02 1.161123311312e-02 9.973029835915e-03 8.323202006782e-03 -6.664612865637e-03 5.000131217437e-03 3.332626533897e-03 1.664964069491e-03 --8.289501967746e-15 -1.659423408319e-03 -3.310482590678e-03 -4.950377429127e-03 --6.576335943163e-03 - Type L N - 0 2 7 -0.000000000000e+00 1.469077279070e-04 5.873534290424e-04 1.320505160728e-03 -2.344978051437e-03 3.658836841985e-03 5.259599439572e-03 7.144241475153e-03 -9.309201856313e-03 1.175038930510e-02 1.446318986865e-02 1.744247538855e-02 -2.068261291309e-02 2.417747503490e-02 2.792045113452e-02 3.190445950906e-02 -3.612196036317e-02 4.056496963804e-02 4.522507365283e-02 5.009344453085e-02 -5.516085638202e-02 6.041770221118e-02 6.585401152093e-02 7.145946857587e-02 -7.722343129452e-02 8.313495073344e-02 8.918279112741e-02 9.535545044823e-02 -1.016411814439e-01 1.080280131193e-01 1.145037726172e-01 1.210561074614e-01 -1.276725081175e-01 1.343403308319e-01 1.410468207053e-01 1.477791349581e-01 -1.545243663455e-01 1.612695666768e-01 1.680017703972e-01 1.747080181883e-01 -1.813753805420e-01 1.879909812661e-01 1.945420208775e-01 2.010157998388e-01 -2.073997415975e-01 2.136814153829e-01 2.198485587212e-01 2.258890996255e-01 -2.317911784205e-01 2.375431691623e-01 2.431337006137e-01 2.485516767361e-01 -2.537862966618e-01 2.588270741088e-01 2.636638562041e-01 2.682868416798e-01 -2.726865984108e-01 2.768540802606e-01 2.807806432055e-01 2.844580607093e-01 -2.878785383179e-01 2.910347274517e-01 2.939197383675e-01 2.965271522693e-01 -2.988510325455e-01 3.008859351137e-01 3.026269178534e-01 3.040695491129e-01 -3.052099152728e-01 3.060446273565e-01 3.065708266738e-01 3.067861894905e-01 -3.066889307167e-01 3.062778066061e-01 3.055521164664e-01 3.045117033749e-01 -3.031569539037e-01 3.014887968528e-01 2.995087009974e-01 2.972186718536e-01 -2.946212474720e-01 2.917194932652e-01 2.885169958845e-01 2.850178561553e-01 -2.812266810873e-01 2.771485749762e-01 2.727891296141e-01 2.681544136287e-01 -2.632509609724e-01 2.580857585848e-01 2.526662332517e-01 2.470002376878e-01 -2.410960358693e-01 2.349622876458e-01 2.286080326604e-01 2.220426736104e-01 -2.152759588798e-01 2.083179645781e-01 2.011790760183e-01 1.938699686717e-01 -1.864015886344e-01 1.787851326427e-01 1.710320276768e-01 1.631539101899e-01 -1.551626050028e-01 1.470701039044e-01 1.388885439972e-01 1.306301858302e-01 -1.223073913581e-01 1.139326017712e-01 1.055183152335e-01 9.707706457492e-02 -8.862139497538e-02 8.016384168477e-02 7.171690781892e-02 6.329304227300e-02 -5.490461779312e-02 4.656390924647e-02 3.828307212992e-02 3.007412135648e-02 -2.194891035837e-02 1.391911054470e-02 5.996191151141e-03 -1.808600481890e-03 --9.484258167120e-03 -1.702003562959e-02 -2.440546473363e-02 -3.163037314506e-02 --3.868490139734e-02 -4.555951933149e-02 -5.224504188083e-02 -5.873264417311e-02 --6.501387592367e-02 -7.108067509496e-02 -7.692538079896e-02 -8.254074542075e-02 --8.791994594282e-02 -9.305659445147e-02 -9.794474780801e-02 -1.025789164694e-01 --1.069540724446e-01 -1.110656563734e-01 -1.149095837193e-01 -1.184822500658e-01 --1.217805355092e-01 -1.248018081440e-01 -1.275439266357e-01 -1.300052418806e-01 --1.321845977508e-01 -1.340813309275e-01 -1.356952698260e-01 -1.370267326157e-01 --1.380765243446e-01 -1.388459331740e-01 -1.393367257360e-01 -1.395511416236e-01 --1.394918870281e-01 -1.391621275383e-01 -1.385654801181e-01 -1.377060042802e-01 --1.365881924762e-01 -1.352169597232e-01 -1.335976324900e-01 -1.317359368659e-01 --1.296379860378e-01 -1.273102671008e-01 -1.247596272310e-01 -1.219932592482e-01 --1.190186865980e-01 -1.158437477845e-01 -1.124765802849e-01 -1.089256039783e-01 --1.051995041218e-01 -1.013072139095e-01 -9.725789664597e-02 -9.306092757320e-02 --8.872587538403e-02 -8.426248345993e-02 -7.968065086945e-02 -7.499041316440e-02 --7.020192301119e-02 -6.532543069481e-02 -6.037126453315e-02 -5.534981123928e-02 --5.027149626938e-02 -4.514676419385e-02 -3.998605912891e-02 -3.479980526588e-02 --2.959838753486e-02 -2.439213243917e-02 -1.919128909660e-02 -1.400601052271e-02 --8.846335191045e-03 -3.722168904420e-03 1.356732989385e-03 6.380783004879e-03 -1.134057851732e-02 1.622691832151e-02 2.103081872114e-02 2.574352911967e-02 -3.035654708513e-02 3.486163286212e-02 3.925082330556e-02 4.351644521183e-02 -4.765112802455e-02 5.164781589304e-02 5.549977906332e-02 5.920062458253e-02 -6.274430629942e-02 6.612513414455e-02 6.933778267570e-02 7.237729887534e-02 -7.523910918842e-02 7.791902579039e-02 8.041325207693e-02 8.271838736825e-02 -8.483143082256e-02 8.674978455485e-02 8.847125595848e-02 8.999405922906e-02 -9.131681609112e-02 9.243855573027e-02 9.335871393438e-02 9.407713144950e-02 -9.459405155731e-02 9.491011688263e-02 9.502636544080e-02 9.494422593643e-02 -9.466551232619e-02 9.419241765992e-02 9.352750721548e-02 9.267371094438e-02 -9.163431524611e-02 9.041295409077e-02 8.901359951046e-02 8.744055148121e-02 -8.569842721830e-02 8.379214990894e-02 8.172693690713e-02 7.950828741665e-02 -7.714196968891e-02 7.463400776333e-02 7.199066777860e-02 6.921844388396e-02 -6.632404378032e-02 6.331437392159e-02 6.019652440715e-02 5.697775359691e-02 -5.366547248077e-02 5.026722883464e-02 4.679069119550e-02 4.324363268817e-02 -3.963391473662e-02 3.596947069273e-02 3.225828941542e-02 2.850839883311e-02 -2.472784952212e-02 2.092469833385e-02 1.710699210281e-02 1.328275146789e-02 -9.459954838185e-03 5.646522534994e-03 1.850301140472e-03 -1.920951916666e-03 --5.659583508850e-03 -9.358059661809e-03 -1.300898008295e-02 -1.660509233848e-02 --2.013930565269e-02 -2.360470430360e-02 -2.699456059015e-02 -3.030234734709e-02 --3.352174998469e-02 -3.664667803149e-02 -3.967127615940e-02 -4.258993467161e-02 --4.539729943476e-02 -4.808828123843e-02 -5.065806456571e-02 -5.310211576030e-02 --5.541619057664e-02 -5.759634110094e-02 -5.963892203234e-02 -6.154059631460e-02 --6.329834011036e-02 -6.490944711108e-02 -6.637153217736e-02 -6.768253430551e-02 --6.884071891787e-02 -6.984467947550e-02 -7.069333841342e-02 -7.138594739991e-02 --7.192208692260e-02 -7.230166520569e-02 -7.252491646371e-02 -7.259239849874e-02 --7.250498964925e-02 -7.226388509986e-02 -7.187059256291e-02 -7.132692734353e-02 --7.063500680147e-02 -6.979724422389e-02 -6.881634212452e-02 -6.769528498567e-02 --6.643733146074e-02 -6.504600605567e-02 -6.352509030898e-02 -6.187861349086e-02 --6.011084284264e-02 -5.822627337901e-02 -5.622961727571e-02 -5.412579286672e-02 --5.191991327530e-02 -4.961727470382e-02 -4.722334440823e-02 -4.474374838328e-02 --4.218425878511e-02 -3.955078111839e-02 -3.684934121531e-02 -3.408607203436e-02 --3.126720030668e-02 -2.839903305828e-02 -2.548794403649e-02 -2.254036006878e-02 --1.956274738266e-02 -1.656159791469e-02 -1.354341563710e-02 -1.051470292991e-02 --7.481947026484e-03 -4.451606560117e-03 -1.430098238890e-03 1.576216324357e-03 -4.561043600468e-03 7.518170924900e-03 1.044147904573e-02 1.332495441396e-02 -1.616270119189e-02 1.894895295610e-02 2.167808407238e-02 2.434462072042e-02 -2.694325154733e-02 2.946883792955e-02 3.191642382379e-02 3.428124518852e-02 -3.655873895850e-02 3.874455155588e-02 4.083454692234e-02 4.282481405790e-02 -4.471167405300e-02 4.649168660169e-02 4.816165598479e-02 4.971863651304e-02 -5.115993742146e-02 5.248312720725e-02 5.368603740490e-02 5.476676579313e-02 -5.572367902963e-02 5.655541471085e-02 5.726088285508e-02 5.783926680844e-02 -5.829002357453e-02 5.861288356966e-02 5.880784980680e-02 5.887519651265e-02 -5.881546718310e-02 5.862947208385e-02 5.831828520389e-02 5.788324067062e-02 -5.732592863653e-02 5.664819064849e-02 5.585211451158e-02 5.494002866046e-02 -5.391449605229e-02 5.277830759611e-02 5.153447513440e-02 5.018622399365e-02 -4.873698512129e-02 4.719038682738e-02 4.555024615001e-02 4.382055986426e-02 -4.200549515500e-02 4.010937997467e-02 3.813669310747e-02 3.609205396226e-02 -3.398021211664e-02 3.180603663516e-02 2.957450518526e-02 2.729069297434e-02 -2.495976153231e-02 2.258694736345e-02 2.017755049231e-02 1.773692292786e-02 -1.527045707069e-02 1.278357408768e-02 1.028171227885e-02 7.770315460692e-03 -5.254821390476e-03 2.740650255607e-03 2.331932519382e-04 -2.262198725284e-03 --4.740226254575e-03 -7.195652402534e-03 -9.623313556838e-03 -1.201813005590e-02 --1.437511659366e-02 -1.668939237858e-02 -1.895619102653e-02 -2.117087016772e-02 --2.332892074888e-02 -2.542597601217e-02 -2.745782013337e-02 -2.942039650251e-02 --3.130981563110e-02 -3.312236267077e-02 -3.485450452901e-02 -3.650289656895e-02 --3.806438888046e-02 -3.953603211141e-02 -4.091508284839e-02 -4.219900853757e-02 --4.338549193713e-02 -4.447243509383e-02 -4.545796283729e-02 -4.634042578657e-02 --4.711840286474e-02 -4.779070331816e-02 -4.835636823817e-02 -4.881467158413e-02 --4.916512070757e-02 -4.940745637847e-02 -4.954165231564e-02 -4.956791422416e-02 --4.948667834399e-02 -4.929860951478e-02 -4.900459876297e-02 -4.860576041812e-02 --4.810342876670e-02 -4.749915425206e-02 -4.679469923055e-02 -4.599203329469e-02 --4.509332817483e-02 -4.410095223194e-02 -4.301746455484e-02 -4.184560867586e-02 --4.058830591992e-02 -3.924864840252e-02 -3.782989169286e-02 -3.633544715909e-02 --3.476887401313e-02 -3.313387107305e-02 -3.143426826184e-02 -2.967401786142e-02 --2.785718554155e-02 -2.598794118356e-02 -2.407054951920e-02 -2.210936060516e-02 --2.010880015427e-02 -1.807335974430e-02 -1.600758692586e-02 -1.391607525066e-02 --1.180345424164e-02 -9.674379326701e-03 -7.533521757299e-03 -5.385558533686e-03 --3.235162357996e-03 -1.086991636544e-03 1.054319447608e-03 3.184170770956e-03 -5.298005994152e-03 7.391322154623e-03 9.459679107286e-03 1.149870879385e-02 -1.350412432159e-02 1.547172883307e-02 1.739742414856e-02 1.927721916380e-02 -2.110723798592e-02 2.288372779141e-02 2.460306639022e-02 2.626176948115e-02 -2.785649758408e-02 2.938406263563e-02 3.084143423534e-02 3.222574553030e-02 -3.353429872728e-02 3.476457022169e-02 3.591421533407e-02 3.698107264539e-02 -3.796316792334e-02 3.885871763293e-02 3.966613202524e-02 4.038401779937e-02 -4.101118033356e-02 4.154662548216e-02 4.198956093638e-02 4.233939714728e-02 -4.259574781094e-02 4.275842991611e-02 4.282746335595e-02 4.280307010634e-02 -4.268567297399e-02 4.247589391862e-02 4.217455195441e-02 4.178266063662e-02 -4.130142514038e-02 4.073223893931e-02 4.007668009244e-02 3.933650714897e-02 -3.851365468085e-02 3.761022845408e-02 3.662850025054e-02 3.557090235235e-02 -3.444002170214e-02 3.323859375264e-02 3.196949601988e-02 3.063574135499e-02 -2.924047094993e-02 2.778694709296e-02 2.627854569045e-02 2.471874857175e-02 -2.311113559434e-02 2.145937656704e-02 1.976722300894e-02 1.803849976264e-02 -1.627709647992e-02 1.448695899886e-02 1.267208063096e-02 1.083649337755e-02 -8.984259094307e-03 7.119460623156e-03 5.246192910636e-03 3.368554131809e-03 -1.490636838737e-03 -3.834808475741e-04 -2.249743983023e-03 -4.104129465518e-03 --5.942654601015e-03 -7.761385552468e-03 -9.556445653953e-03 -1.132402357260e-02 --1.306038130132e-02 -1.476186196578e-02 -1.642489742950e-02 -1.804601568136e-02 --1.962184799059e-02 -2.114913581438e-02 -2.262473744444e-02 -2.404563437887e-02 --2.540893740670e-02 -2.671189239304e-02 -2.795188575326e-02 -2.912644960572e-02 --3.023326659285e-02 -3.127017436145e-02 -3.223516969377e-02 -3.312641228142e-02 --3.394222813561e-02 -3.468111262711e-02 -3.534173315109e-02 -3.592293141203e-02 --3.642372532519e-02 -3.684331053186e-02 -3.718106152629e-02 -3.743653239329e-02 --3.760945715608e-02 -3.769974973505e-02 -3.770750351867e-02 -3.763299054886e-02 --3.747666032380e-02 -3.723913822194e-02 -3.692122355201e-02 -3.652388723420e-02 --3.604826911899e-02 -3.549567495034e-02 -3.486757298104e-02 -3.416559024867e-02 --3.339150852121e-02 -3.254725992210e-02 -3.163492224531e-02 -3.065671397135e-02 --2.961498899606e-02 -2.851223108433e-02 -2.735104806176e-02 -2.613416575733e-02 --2.486442171123e-02 -2.354475866194e-02 -2.217821782737e-02 -2.076793199522e-02 --1.931711843802e-02 -1.782907166866e-02 -1.630715605253e-02 -1.475479829273e-02 --1.317547980480e-02 -1.157272899787e-02 -9.950113479126e-03 -8.311232198628e-03 --6.659707551603e-03 -4.999177455396e-03 -3.333287418206e-03 -1.665682616765e-03 -6.107527556058e-15 1.660139564409e-03 3.311139083646e-03 4.949433157140e-03 -6.571495601099e-03 - Type L N - 0 2 8 -0.000000000000e+00 1.816222897676e-04 7.260650408436e-04 1.632056859352e-03 -2.897481963989e-03 4.519384988051e-03 6.493977688712e-03 8.816647546198e-03 -1.148196823318e-02 1.448371193045e-02 1.781486346025e-02 2.146763620464e-02 -2.543348977210e-02 2.970314937161e-02 3.426662684946e-02 3.911324334017e-02 -4.423165347923e-02 4.960987112178e-02 5.523529650800e-02 6.109474481226e-02 -6.717447601048e-02 7.346022599663e-02 7.993723887676e-02 8.659030036608e-02 -9.340377221213e-02 1.003616275650e-01 1.074474872126e-01 1.146446565987e-01 -1.219361635373e-01 1.293047965375e-01 1.367331436507e-01 1.442036317510e-01 -1.516985661577e-01 1.592001705108e-01 1.666906268068e-01 1.741521155030e-01 -1.815668555997e-01 1.889171446072e-01 1.961853983078e-01 2.033541902202e-01 -2.104062906784e-01 2.173247054343e-01 2.240927136971e-01 2.306939055224e-01 -2.371122184676e-01 2.433319734278e-01 2.493379095743e-01 2.551152183140e-01 -2.606495761948e-01 2.659271766822e-01 2.709347607358e-01 2.756596461173e-01 -2.800897553645e-01 2.842136423684e-01 2.880205174954e-01 2.915002711977e-01 -2.946434960612e-01 2.974415072413e-01 2.998863612427e-01 3.019708730029e-01 -3.036886312414e-01 3.050340120434e-01 3.060021906490e-01 3.065891514228e-01 -3.067916959852e-01 3.066074494887e-01 3.060348650283e-01 3.050732261781e-01 -3.037226476526e-01 3.019840740932e-01 2.998592769860e-01 2.973508497219e-01 -2.944622008127e-01 2.911975452825e-01 2.875618942573e-01 2.835610427792e-01 -2.792015558782e-01 2.744907529345e-01 2.694366903727e-01 2.640481427281e-01 -2.583345821348e-01 2.523061562833e-01 2.459736649015e-01 2.393485348183e-01 -2.324427936662e-01 2.252690422894e-01 2.178404259217e-01 2.101706042029e-01 -2.022737201060e-01 1.941643678479e-01 1.858575598602e-01 1.773686928971e-01 -1.687135133615e-01 1.599080819292e-01 1.509687375553e-01 1.419120609460e-01 -1.327548375810e-01 1.235140203738e-01 1.142066920539e-01 1.048500273610e-01 -9.546125513622e-02 8.605762039846e-02 7.665634649361e-02 6.727459740229e-02 -5.792944029313e-02 4.863780840654e-02 3.941646435367e-02 3.028196391350e-02 -2.125062041004e-02 1.233846975003e-02 3.561236199343e-03 -5.065701024999e-03 --1.352734027291e-02 -2.180908901717e-02 -2.989679437747e-02 -3.777677254537e-02 --4.543583704590e-02 -5.286132577412e-02 -6.004112674843e-02 -6.696370252510e-02 --7.361811322225e-02 -7.999403810449e-02 -8.608179568331e-02 -9.187236229169e-02 --9.735738909511e-02 -1.025292175050e-01 -1.073808929647e-01 -1.119061770811e-01 --1.160995580804e-01 -1.199562595691e-01 -1.234722475869e-01 -1.266442359394e-01 --1.294696898072e-01 -1.319468276265e-01 -1.340746212460e-01 -1.358527943634e-01 --1.372818192535e-01 -1.383629118017e-01 -1.390980248599e-01 -1.394898399479e-01 --1.395417573246e-01 -1.392578844607e-01 -1.386430229430e-01 -1.377026538498e-01 --1.364429216354e-01 -1.348706165695e-01 -1.329931557753e-01 -1.308185629194e-01 --1.283554466042e-01 -1.256129775195e-01 -1.226008644118e-01 -1.193293289326e-01 --1.158090794282e-01 -1.120512837384e-01 -1.080675410706e-01 -1.038698530203e-01 --9.947059380872e-02 -9.488247981082e-02 -9.011853844896e-02 -8.519207652742e-02 --8.011664808468e-02 -7.490602184136e-02 -6.957414832194e-02 -6.413512672929e-02 --5.860317165080e-02 -5.299257967560e-02 -4.731769600168e-02 -4.159288111183e-02 --3.583247759664e-02 -3.005077720215e-02 -2.426198817900e-02 -1.848020300878e-02 --1.271936658204e-02 -6.993244901238e-03 -1.315394380088e-03 4.300868190743e-03 -9.842494943682e-03 1.529673543405e-02 2.065116427592e-02 2.589370785255e-02 -3.101267004258e-02 3.599675690559e-02 4.083510027343e-02 4.551728019665e-02 -5.003334619826e-02 5.437383729008e-02 5.852980071023e-02 6.249280934339e-02 -6.625497778907e-02 6.980897704613e-02 7.314804778570e-02 7.626601218788e-02 -7.915728432116e-02 8.181687904745e-02 8.424041943868e-02 8.642414269519e-02 -8.836490455929e-02 9.006018222135e-02 9.150807571923e-02 9.270730783581e-02 -9.365722250242e-02 9.435778172033e-02 9.480956101519e-02 9.501374344343e-02 -9.497211217267e-02 9.468704166176e-02 9.416148746913e-02 9.339897472166e-02 -9.240358527894e-02 9.117994363127e-02 8.973320157228e-02 8.806902168994e-02 -8.619355972266e-02 8.411344582917e-02 8.183576482396e-02 7.936803543167e-02 -7.671818861659e-02 7.389454504481e-02 7.090579173892e-02 6.776095798660e-02 -6.446939056584e-02 6.104072835127e-02 5.748487636690e-02 5.381197935194e-02 -5.003239490686e-02 4.615666628805e-02 4.219549491945e-02 3.815971269027e-02 -3.406025410792e-02 2.990812837531e-02 2.571439146162e-02 2.149011823517e-02 -1.724637472661e-02 1.299419059013e-02 8.744531829237e-03 4.508273852986e-03 -2.961749272744e-04 -3.881149915498e-03 -8.013254446491e-03 -1.208988622993e-02 --1.610101097347e-02 -2.003683618275e-02 -2.388783406540e-02 -2.764476363204e-02 --3.129869194379e-02 -3.484101445852e-02 -3.826347443024e-02 -4.155818131877e-02 --4.471762816948e-02 -4.773470792561e-02 -5.060272863842e-02 -5.331542754373e-02 --5.586698397572e-02 -5.825203109266e-02 -6.046566639160e-02 -6.250346099278e-02 --6.436146767730e-02 -6.603622766491e-02 -6.752477612201e-02 -6.882464639312e-02 --6.993387295238e-02 -7.085099307464e-02 -7.157504722924e-02 -7.210557820247e-02 --7.244262895797e-02 -7.258673924740e-02 -7.253894098692e-02 -7.230075241770e-02 --7.187417107211e-02 -7.126166556964e-02 -7.046616626985e-02 -6.949105481195e-02 --6.834015257368e-02 -6.701770808449e-02 -6.552838343030e-02 -6.387723969000e-02 --6.206972144544e-02 -6.011164040925e-02 -5.800915821676e-02 -5.576876842981e-02 --5.339727780257e-02 -5.090178686060e-02 -4.828966984605e-02 -4.556855408335e-02 --4.274629882071e-02 -3.983097360395e-02 -3.683083624003e-02 -3.375431040840e-02 --3.060996297894e-02 -2.740648109560e-02 -2.415264908530e-02 -2.085732525166e-02 --1.752941861326e-02 -1.417786564581e-02 -1.081160708746e-02 -7.439564866003e-03 --4.070619205987e-03 -7.135859732106e-04 2.622805686953e-03 5.929935361925e-03 -9.199312980668e-03 1.242259996581e-02 1.559162987751e-02 1.869842849911e-02 -2.173523331604e-02 2.469451234151e-02 2.756898224422e-02 3.035162573535e-02 -3.303570817425e-02 3.561479335437e-02 3.808275843334e-02 4.043380797323e-02 -4.266248705992e-02 4.476369347245e-02 4.673268887618e-02 4.856510901611e-02 -5.025697288934e-02 5.180469087832e-02 5.320507182949e-02 5.445532906433e-02 -5.555308531311e-02 5.649637656394e-02 5.728365482286e-02 5.791378978346e-02 -5.838606940722e-02 5.870019941863e-02 5.885630172195e-02 5.885491174902e-02 -5.869697475057e-02 5.838384104567e-02 5.791726024702e-02 5.729937448205e-02 -5.653271063232e-02 5.562017161625e-02 5.456502674237e-02 5.337090116277e-02 -5.204176445833e-02 5.058191838963e-02 4.899598384939e-02 4.728888705396e-02 -4.546584501350e-02 4.353235032190e-02 4.149415530922e-02 3.935725560067e-02 -3.712787312779e-02 3.481243863837e-02 3.241757375288e-02 2.995007261620e-02 -2.741688319407e-02 2.482508826450e-02 2.218188615501e-02 1.949457127667e-02 -1.677051450671e-02 1.401714347104e-02 1.124192277859e-02 8.452334258824e-03 -5.655857253885e-03 2.859949016168e-03 7.202526183728e-05 -2.700559069969e-03 --5.450528803207e-03 -8.170707208110e-03 -1.085403433436e-02 -1.349358494819e-02 --1.608258602868e-02 -1.861443377973e-02 -2.108271011576e-02 -2.348119858071e-02 --2.580389966152e-02 -2.804504545901e-02 -3.019911368107e-02 -3.226084092472e-02 --3.422523521586e-02 -3.608758777739e-02 -3.784348399868e-02 -3.948881358142e-02 --4.101977983929e-02 -4.243290813094e-02 -4.372505340850e-02 -4.489340686581e-02 --4.593550167321e-02 -4.684921778814e-02 -4.763278583322e-02 -4.828479003590e-02 --4.880417022633e-02 -4.919022289253e-02 -4.944260129431e-02 -4.956131464010e-02 --4.954672633286e-02 -4.939955129407e-02 -4.912085237686e-02 -4.871203588183e-02 --4.817484619129e-02 -4.751135953999e-02 -4.672397694244e-02 -4.581541629921e-02 --4.478870370651e-02 -4.364716399537e-02 -4.239441052864e-02 -4.103433428591e-02 --3.957109226798e-02 -3.800909525448e-02 -3.635299494945e-02 -3.460767055138e-02 --3.277821478540e-02 -3.086991943675e-02 -2.888826042553e-02 -2.683888246406e-02 --2.472758333878e-02 -2.256029785980e-02 -2.034308152151e-02 -1.808209391853e-02 --1.578358196155e-02 -1.345386293810e-02 -1.109930746339e-02 -8.726322366442e-03 --6.341333556919e-03 -3.950768917616e-03 -1.561041267603e-03 8.214685595516e-04 -3.190428478422e-03 5.539571711839e-03 7.862713105768e-03 1.015376515704e-02 -1.240675371303e-02 1.461583330327e-02 1.677530206426e-02 1.887961621988e-02 -2.092340408113e-02 2.290147953035e-02 2.480885495661e-02 2.664075361042e-02 -2.839262134767e-02 3.006013773450e-02 3.163922648626e-02 3.312606521612e-02 -3.451709447020e-02 3.580902602862e-02 3.699885045340e-02 3.808384386657e-02 -3.906157394371e-02 3.992990511037e-02 4.068700293090e-02 4.133133768149e-02 -4.186168710125e-02 4.227713831753e-02 4.257708894362e-02 4.276124734946e-02 -4.282963210800e-02 4.278257062179e-02 4.262069693714e-02 4.234494875454e-02 -4.195656364671e-02 4.145707449743e-02 4.084830417625e-02 4.013235946636e-02 -3.931162426453e-02 3.838875207418e-02 3.736665781404e-02 3.624850896700e-02 -3.503771609510e-02 3.373792274817e-02 3.235299479545e-02 3.088700921045e-02 -2.934424234114e-02 2.772915769830e-02 2.604639329640e-02 2.430074858229e-02 -2.249717098781e-02 2.064074214350e-02 1.873666379119e-02 1.679024343397e-02 -1.480687976259e-02 1.279204789768e-02 1.075128448776e-02 8.690172702883e-03 -6.614327164212e-03 4.529378849718e-03 2.440960016003e-03 3.546891762300e-04 --1.723843826266e-03 -3.789092609477e-03 -5.835568870624e-03 -7.857856792378e-03 --9.850627199989e-03 -1.180865143274e-02 -1.372681489399e-02 -1.560013024515e-02 --1.742375020984e-02 -1.919297995581e-02 -2.090328902336e-02 -2.255032277022e-02 --2.412991330451e-02 -2.563808987852e-02 -2.707108871781e-02 -2.842536226166e-02 --2.969758779257e-02 -3.088467543407e-02 -3.198377549807e-02 -3.299228516462e-02 --3.390785447876e-02 -3.472839165117e-02 -3.545206765108e-02 -3.607732008177e-02 --3.660285633117e-02 -3.702765599168e-02 -3.735097254568e-02 -3.757233431473e-02 --3.769154467277e-02 -3.770868152547e-02 -3.762409605970e-02 -3.743841076912e-02 --3.715251676396e-02 -3.676757037443e-02 -3.628498905967e-02 -3.570644663541e-02 --3.503386783573e-02 -3.426942222548e-02 -3.341551748227e-02 -3.247479206786e-02 --3.145010731083e-02 -3.034453892367e-02 -2.916136797890e-02 -2.790407137006e-02 --2.657631178510e-02 -2.518192722021e-02 -2.372492006395e-02 -2.220944578217e-02 --2.063980123523e-02 -1.902041265998e-02 -1.735582334967e-02 -1.565068106572e-02 --1.390972521576e-02 -1.213777383294e-02 -1.033971039195e-02 -8.520470497345e-03 --6.685028480247e-03 -4.838383939254e-03 -2.985548261812e-03 -1.131531161935e-03 -7.186727298842e-04 2.560097188991e-03 4.387817595918e-03 6.196963978004e-03 -7.982733859050e-03 9.740404883418e-03 1.146534718170e-02 1.315303544582e-02 -1.479906068247e-02 1.639914161451e-02 1.794913570120e-02 1.944504974918e-02 -2.088305008724e-02 2.225947227929e-02 2.357083035107e-02 2.481382550780e-02 -2.598535432110e-02 2.708251636518e-02 2.810262128379e-02 2.904319527096e-02 -2.990198695028e-02 3.067697263896e-02 3.136636098475e-02 3.196859696540e-02 -3.248236524221e-02 3.290659286073e-02 3.324045129372e-02 3.348335782306e-02 -3.363497625903e-02 3.369521699747e-02 3.366423641657e-02 3.354243561739e-02 -3.333045851338e-02 3.302918927637e-02 3.263974914783e-02 3.216349262613e-02 -3.160200304192e-02 3.095708753555e-02 3.023077145194e-02 2.942529216962e-02 -2.854309238255e-02 2.758681285422e-02 2.655928466521e-02 2.546352097668e-02 -2.430270833320e-02 2.308019752980e-02 2.179949406905e-02 2.046424823497e-02 -1.907824481156e-02 1.764539247469e-02 1.616971288658e-02 1.465532952316e-02 -1.310645626504e-02 1.152738578322e-02 9.922477751471e-03 8.296146917260e-03 -6.652851063798e-03 4.997078895596e-03 3.333337880273e-03 1.666142079259e-03 -2.389818419419e-15 -1.660597497888e-03 -3.311189210362e-03 -4.947355478647e-03 --6.564729929525e-03 - Type L N - 0 2 9 -0.000000000000e+00 2.199878632246e-04 8.793292279983e-04 1.976159129335e-03 -3.507374991733e-03 5.468645159338e-03 7.854420806502e-03 1.065795119347e-02 -1.387130222514e-02 1.748537826075e-02 2.148994711368e-02 2.587366817106e-02 -3.062412355489e-02 3.572785223720e-02 4.117038701400e-02 4.693629423461e-02 -5.300921617524e-02 5.937191593841e-02 6.600632475287e-02 7.289359154170e-02 -8.001413462032e-02 8.734769538014e-02 9.487339380785e-02 1.025697856858e-01 -1.104149213138e-01 1.183864055887e-01 1.264614592744e-01 1.346169812922e-01 -1.428296118575e-01 1.510757962875e-01 1.593318493033e-01 1.675740196468e-01 -1.757785548339e-01 1.839217658645e-01 1.919800917091e-01 1.999301633953e-01 -2.077488675152e-01 2.154134089799e-01 2.229013728467e-01 2.301907850499e-01 -2.372601718671e-01 2.440886179582e-01 2.506558228185e-01 2.569421554894e-01 -2.629287073803e-01 2.685973430545e-01 2.739307488430e-01 2.789124791541e-01 -2.835270003525e-01 2.877597320911e-01 2.915970859835e-01 2.950265015140e-01 -2.980364790901e-01 3.006166101497e-01 3.027576042443e-01 3.044513130277e-01 -3.056907510889e-01 3.064701135762e-01 3.067847905695e-01 3.066313781658e-01 -3.060076862537e-01 3.049127429601e-01 3.033467957635e-01 3.013113092773e-01 -2.988089597136e-01 2.958436260517e-01 2.924203779398e-01 2.885454603714e-01 -2.842262751846e-01 2.794713594426e-01 2.742903607604e-01 2.686940096552e-01 -2.626940890007e-01 2.563034006781e-01 2.495357295217e-01 2.424058046661e-01 -2.349292584071e-01 2.271225826964e-01 2.190030833979e-01 2.105888324354e-01 -2.018986179717e-01 1.929518927617e-01 1.837687208269e-01 1.743697226046e-01 -1.647760187269e-01 1.550091725908e-01 1.450911318804e-01 1.350441692083e-01 -1.248908220419e-01 1.146538320850e-01 1.043560842835e-01 9.402054562715e-02 -8.367020391676e-02 7.332800666863e-02 6.301680032486e-02 5.275926993817e-02 -4.257787949767e-02 3.249481305968e-02 2.253191684506e-02 1.271064246129e-02 -3.051991403943e-03 -6.423539011990e-03 -1.569600814480e-02 -2.474608280168e-02 --3.355508616137e-02 -4.210504471356e-02 -5.037873309104e-02 -5.835971667642e-02 --6.603239187260e-02 -7.338202393252e-02 -8.039478225132e-02 -8.705777303152e-02 --9.335906923935e-02 -9.928773777867e-02 -1.048338638166e-01 -1.099885722039e-01 --1.147440459405e-01 -1.190935416471e-01 -1.230314020099e-01 -1.265530651757e-01 --1.296550710843e-01 -1.323350647308e-01 -1.345917963635e-01 -1.364251186262e-01 --1.378359806693e-01 -1.388264192555e-01 -1.393995469001e-01 -1.395595370904e-01 --1.393116066394e-01 -1.386619952351e-01 -1.376179422552e-01 -1.361876609259e-01 --1.343803099072e-01 -1.322059623985e-01 -1.296755728617e-01 -1.268009414673e-01 --1.235946763737e-01 -1.200701539568e-01 -1.162414771124e-01 -1.121234317578e-01 --1.077314416644e-01 -1.030815217573e-01 -9.819023002316e-02 -9.307461816620e-02 --8.775218116234e-02 -8.224080585759e-02 -7.655871876268e-02 -7.072443319624e-02 --6.475669593018e-02 -5.867443349193e-02 -5.249669827824e-02 -4.624261463530e-02 --3.993132505925e-02 -3.358193667011e-02 -2.721346811084e-02 -2.084479702113e-02 --1.449460823326e-02 -8.181342834745e-03 -1.923148239074e-03 4.262170597480e-03 -1.035719867912e-02 1.634495706419e-02 2.220894742446e-02 2.793319494990e-02 -3.350228948471e-02 3.890142478554e-02 4.411643579911e-02 4.913383386249e-02 -5.394083973606e-02 5.852541438554e-02 6.287628743675e-02 6.698298323374e-02 -7.083584443829e-02 7.442605311622e-02 7.774564926363e-02 8.078754673372e-02 -8.354554653285e-02 8.601434746216e-02 8.818955408889e-02 9.006768203980e-02 -9.164616061647e-02 9.292333274034e-02 9.389845224334e-02 9.457167852718e-02 -9.494406862238e-02 9.501756668542e-02 9.479499097973e-02 9.428001839337e-02 -9.347716655333e-02 9.239177360303e-02 9.102997571616e-02 8.939868242626e-02 -8.750554985761e-02 8.535895194856e-02 8.296794976386e-02 8.034225899804e-02 -7.749221577606e-02 7.442874086263e-02 7.116330239521e-02 6.770787725968e-02 -6.407491123093e-02 6.027727800392e-02 5.632823724291e-02 5.224139177928e-02 -4.803064408986e-02 4.371015218923e-02 3.929428507052e-02 3.479757782977e-02 -3.023468660928e-02 2.562034349494e-02 2.096931150214e-02 1.629633978397e-02 -1.161611919360e-02 6.943238331471e-03 2.292140205463e-03 -2.322920370225e-03 --6.887918514673e-03 -1.138910003869e-02 -1.581302110610e-02 -2.014658668588e-02 --2.437708768709e-02 -2.849223667348e-02 -3.248020205920e-02 -3.632964069210e-02 --4.002972873681e-02 -4.357019077484e-02 -4.694132704532e-02 -5.013403875559e-02 --5.313985139713e-02 -5.595093600899e-02 -5.856012833683e-02 -6.096094584281e-02 --6.314760252806e-02 -6.511502153621e-02 -6.685884551357e-02 -6.837544470817e-02 --6.966192279707e-02 -7.071612043809e-02 -7.153661654906e-02 -7.212272732468e-02 --7.247450300756e-02 -7.259272243721e-02 -7.247888540685e-02 -7.213520286468e-02 --7.156458500260e-02 -7.077062728145e-02 -6.975759444778e-02 -6.853040260321e-02 --6.709459939274e-02 -6.545634238392e-02 -6.362237571384e-02 -6.160000508571e-02 --5.939707120145e-02 -5.702192172107e-02 -5.448338184333e-02 -5.179072360620e-02 --4.895363400890e-02 -4.598218206008e-02 -4.288678485997e-02 -3.967817282603e-02 --3.636735417425e-02 -3.296557876942e-02 -2.948430145944e-02 -2.593514500936e-02 --2.232986275155e-02 -1.868030106874e-02 -1.499836182640e-02 -1.129596487050e-02 --7.585010705922e-03 -3.877343469460e-03 -1.847143100734e-04 3.481254713080e-03 -7.109106106306e-03 1.068758168479e-02 1.420565648066e-02 1.765257171565e-02 -2.101786674184e-02 2.429140985759e-02 2.746342790972e-02 3.052453459729e-02 -3.346575739671e-02 3.627856303269e-02 3.895488142433e-02 4.148712804086e-02 -4.386822460664e-02 4.609161810065e-02 4.815129800111e-02 5.004181173166e-02 -5.175827827122e-02 5.329639989576e-02 5.465247202582e-02 5.582339115998e-02 -5.680666088027e-02 5.760039592173e-02 5.820332430421e-02 5.861478753074e-02 -5.883473886252e-02 5.886373968673e-02 5.870295399914e-02 5.835414102910e-02 -5.781964604028e-02 5.710238934612e-02 5.620585358389e-02 5.513406929708e-02 -5.389159888011e-02 5.248351894493e-02 5.091540117308e-02 4.919329172142e-02 -4.732368925408e-02 4.531352167665e-02 4.317012165270e-02 4.090120098583e-02 -3.851482395387e-02 3.601937968419e-02 3.342355366222e-02 3.073629846700e-02 -2.796680382983e-02 2.512446611365e-02 2.221885731196e-02 1.925969366728e-02 -1.625680400978e-02 1.322009791697e-02 1.015953379548e-02 7.085086985819e-03 -4.006717990083e-03 9.343409221033e-04 -2.122207722006e-03 -5.153199876226e-03 --8.149046205155e-03 -1.110032579993e-02 -1.399781517917e-02 -1.683251650722e-02 --1.959568494479e-02 -2.227885505038e-02 -2.487386615403e-02 -2.737288662881e-02 --2.976843698917e-02 -3.205341174916e-02 -3.422109997818e-02 -3.626520449573e-02 --3.817985965185e-02 -3.995964764408e-02 -4.159961332693e-02 -4.309527747477e-02 --4.444264846413e-02 -4.563823234630e-02 -4.667904128676e-02 -4.756260035281e-02 --4.828695263640e-02 -4.885066270423e-02 -4.925281837259e-02 -4.949303080981e-02 --4.957143297428e-02 -4.948867640132e-02 -4.924592635723e-02 -4.884485538421e-02 --4.828763526424e-02 -4.757692743560e-02 -4.671587189972e-02 -4.570807466124e-02 --4.455759374821e-02 -4.326892386370e-02 -4.184697972440e-02 -4.029707814536e-02 --3.862491893394e-02 -3.683656465934e-02 -3.493841936759e-02 -3.293720631450e-02 --3.083994479229e-02 -2.865392612774e-02 -2.638668893222e-02 -2.404599368583e-02 --2.163979673974e-02 -1.917622382202e-02 -1.666354313384e-02 -1.411013812330e-02 --1.152448002530e-02 -8.915100255805e-03 -6.290562749049e-03 -3.659436326144e-03 --1.030267182759e-03 1.588448416978e-03 4.188291154379e-03 6.760945293228e-03 -9.298224856821e-03 1.179209926377e-02 1.423471834338e-02 1.661843665371e-02 -1.893583702815e-02 2.117975327884e-02 2.334329198853e-02 2.541985332563e-02 -2.740315082040e-02 2.928723004408e-02 3.106648613639e-02 3.273568013062e-02 -3.428995402986e-02 3.572484459183e-02 3.703629578417e-02 3.822066987657e-02 -3.927475714035e-02 4.019578413094e-02 4.098142053316e-02 4.162978455384e-02 -4.213944685128e-02 4.250943299532e-02 4.273922445695e-02 4.282875813085e-02 -4.277842439880e-02 4.258906374688e-02 4.226196195359e-02 4.179884387064e-02 -4.120186582262e-02 4.047360665596e-02 3.961705747178e-02 3.863561008134e-02 -3.753304422663e-02 3.631351361252e-02 3.498153080037e-02 3.354195101643e-02 -3.199995493175e-02 3.036103047315e-02 2.863095372782e-02 2.681576900667e-02 -2.492176813392e-02 2.295546903276e-02 2.092359367870e-02 1.883304549411e-02 -1.669088625872e-02 1.450431261231e-02 1.228063222673e-02 1.002723972500e-02 -7.751592425892e-03 5.461185992628e-03 3.163530064113e-03 8.661239471169e-04 --1.423567552895e-03 -3.698138085252e-03 -5.950263415892e-03 -8.172724722765e-03 --1.035843145153e-02 -1.250044365998e-02 -1.459199378161e-02 -1.662650774079e-02 --1.859762535438e-02 -2.049921995729e-02 -2.232541719211e-02 -2.407061290580e-02 --2.572949009978e-02 -2.729703488265e-02 -2.876855137857e-02 -3.013967554749e-02 --3.140638787734e-02 -3.256502491202e-02 -3.361228958282e-02 -3.454526031495e-02 --3.536139888491e-02 -3.605855700843e-02 -3.663498164306e-02 -3.708931899344e-02 --3.742061721175e-02 -3.762832778976e-02 -3.771230564345e-02 -3.767280789506e-02 --3.751049136182e-02 -3.722640876460e-02 -3.682200367381e-02 -3.629910421392e-02 --3.565991555179e-02 -3.490701119789e-02 -3.404332315311e-02 -3.307213093760e-02 --3.199704954126e-02 -3.082201633910e-02 -2.955127701775e-02 -2.818937056221e-02 --2.674111335517e-02 -2.521158244345e-02 -2.360609802887e-02 -2.193020524305e-02 --2.018965526765e-02 -1.839038586356e-02 -1.653850137407e-02 -1.464025226861e-02 --1.270201429484e-02 -1.073026730782e-02 -8.731573845858e-03 -6.712557523091e-03 --4.679881309316e-03 -2.640225767507e-03 -6.002673194726e-04 1.433343390304e-03 -3.454002963193e-03 5.455176478626e-03 7.430418422352e-03 9.373393244311e-03 -1.127789548115e-02 1.313786938007e-02 1.494742796245e-02 1.670087146789e-02 -1.839270512133e-02 2.001765616846e-02 2.157069012714e-02 2.304702620522e-02 -2.444215183807e-02 2.575183630221e-02 2.697214336435e-02 2.809944292875e-02 -2.913042164873e-02 3.006209247213e-02 3.089180309365e-02 3.161724329081e-02 -3.223645112400e-02 3.274781798471e-02 3.315009247988e-02 3.344238314402e-02 -3.362415997477e-02 3.369525479111e-02 3.365586041739e-02 3.350652870018e-02 -3.324816736855e-02 3.288203575211e-02 3.240973937492e-02 3.183322344671e-02 -3.115476527662e-02 3.037696563770e-02 2.950273911414e-02 2.853530346589e-02 -2.747816804889e-02 2.633512133150e-02 2.511021755107e-02 2.380776255669e-02 -2.243229888701e-02 2.098859013410e-02 1.948160464657e-02 1.791649862706e-02 -1.629859868096e-02 1.463338387485e-02 1.292646736459e-02 1.118357765386e-02 -9.410539545482e-03 7.613254848001e-03 5.797682901151e-03 3.969820983777e-03 -2.135684668175e-03 3.012881846979e-04 -1.527375139800e-03 -3.344352306513e-03 --5.143749869768e-03 -6.919752901010e-03 -8.666643631123e-03 -1.037881971177e-02 --1.205081203788e-02 -1.367730207495e-02 -1.525313863681e-02 -1.677335406123e-02 --1.823317973299e-02 -1.962806090637e-02 -2.095367078140e-02 -2.220592379064e-02 --2.338098805623e-02 -2.447529697955e-02 -2.548555992892e-02 -2.640877199355e-02 --2.724222277558e-02 -2.798350419456e-02 -2.863051728270e-02 -2.918147795210e-02 --2.963492171868e-02 -2.998970737110e-02 -3.024501957619e-02 -3.040037041610e-02 --3.045559985569e-02 -3.041087514220e-02 -3.026668914282e-02 -3.002385762894e-02 --2.968351551956e-02 -2.924711209937e-02 -2.871640523051e-02 -2.809345458010e-02 --2.738061388883e-02 -2.658052230879e-02 -2.569609484180e-02 -2.473051191228e-02 --2.368720811129e-02 -2.256986015104e-02 -2.138237407161e-02 -2.012887174384e-02 --1.881367671460e-02 -1.744129944241e-02 -1.601642197357e-02 -1.454388211024e-02 --1.302865712360e-02 -1.147584706651e-02 -9.890657741144e-03 -8.278383378148e-03 --6.644389084369e-03 -4.994093117121e-03 -3.332949043045e-03 -1.666427839951e-03 -6.012352329821e-15 1.660882307642e-03 3.310802956777e-03 4.944399409738e-03 -6.556380031865e-03 - Type L N - 0 2 10 -0.000000000000e+00 2.620035804377e-04 1.047131718342e-03 2.352739493154e-03 -4.174428330095e-03 6.506060404103e-03 9.339778739072e-03 1.266603293461e-02 -1.647361043433e-02 2.074967323186e-02 2.547979989189e-02 3.064803274650e-02 -3.623693010936e-02 4.222762333385e-02 4.859987852524e-02 5.533216270128e-02 -6.240171418104e-02 6.978461696787e-02 7.745587887891e-02 8.538951316150e-02 -9.355862332505e-02 1.019354909068e-01 1.104916658795e-01 1.191980594019e-01 -1.280250386031e-01 1.369425230876e-01 1.459200828410e-01 1.549270372115e-01 -1.639325546409e-01 1.729057528151e-01 1.818157989018e-01 1.906320095474e-01 -1.993239503004e-01 2.078615341368e-01 2.162151187607e-01 2.243556023625e-01 -2.322545175197e-01 2.398841229321e-01 2.472174926930e-01 2.542286028033e-01 -2.608924146474e-01 2.671849551599e-01 2.730833934219e-01 2.785661134411e-01 -2.836127828782e-01 2.882044175025e-01 2.923234411673e-01 2.959537411153e-01 -2.990807184404e-01 3.016913335443e-01 3.037741464492e-01 3.053193518408e-01 -3.063188087347e-01 3.067660646799e-01 3.066563744277e-01 3.059867130152e-01 -3.047557832314e-01 3.029640174516e-01 3.006135738454e-01 2.977083269830e-01 -2.942538528805e-01 2.902574085479e-01 2.857279061174e-01 2.806758816488e-01 -2.751134587301e-01 2.690543070006e-01 2.625135957503e-01 2.555079427565e-01 -2.480553585404e-01 2.401751862379e-01 2.318880372958e-01 2.232157232141e-01 -2.141811835724e-01 2.048084105866e-01 1.951223704560e-01 1.851489217677e-01 -1.749147312377e-01 1.644471870749e-01 1.537743102598e-01 1.429246640392e-01 -1.319272619409e-01 1.208114746169e-01 1.096069358277e-01 9.834344788108e-02 -8.705088684057e-02 7.575910781808e-02 6.449785066425e-02 5.329664636778e-02 -4.218472447166e-02 3.119092180969e-02 2.034359286162e-02 9.670522018677e-03 --8.011619562113e-04 -1.104506899723e-02 -2.103562806663e-02 -3.074816449107e-02 --4.015897405730e-02 -4.924539363317e-02 -5.798586809226e-02 -6.636001333369e-02 --7.434867520261e-02 -8.193398413124e-02 -8.909940533569e-02 -9.582978441903e-02 --1.021113882473e-01 -1.079319409817e-01 -1.132806551669e-01 -1.181482577925e-01 --1.225270112614e-01 -1.264107292183e-01 -1.297947872062e-01 -1.326761281384e-01 --1.350532625913e-01 -1.369262639391e-01 -1.382967583708e-01 -1.391679098457e-01 --1.395444000616e-01 -1.394324035245e-01 -1.388395578295e-01 -1.377749292714e-01 --1.362489739257e-01 -1.342734943514e-01 -1.318615920821e-01 -1.290276160864e-01 --1.257871073914e-01 -1.221567400729e-01 -1.181542588320e-01 -1.137984133840e-01 --1.091088898976e-01 -1.041062397316e-01 -9.881180572283e-02 -9.324764628811e-02 --8.743645760788e-02 -8.140149416526e-02 -7.516648791822e-02 -6.875556638627e-02 --6.219316993520e-02 -5.550396854491e-02 -4.871277834585e-02 -4.184447820889e-02 --3.492392667190e-02 -2.797587948395e-02 -2.102490804431e-02 -1.409531900914e-02 --7.211075333353e-03 -3.957190089499e-04 6.327704246251e-03 1.293671810326e-02 -1.940948630276e-02 2.572488067445e-02 3.186254627760e-02 3.780296345647e-02 -4.352750661626e-02 4.901849953707e-02 5.425926705699e-02 5.923418296817e-02 -6.392871398422e-02 6.832945965134e-02 7.242418809040e-02 7.620186747228e-02 -7.965269314418e-02 8.276811034000e-02 8.554083242365e-02 8.796485463021e-02 -9.003546328530e-02 9.174924049919e-02 9.310406434793e-02 9.409910456930e-02 -9.473481381699e-02 9.501291453183e-02 9.493638150345e-02 9.450942021097e-02 -9.373744104510e-02 9.262702952815e-02 9.118591266185e-02 8.942292154537e-02 -8.734795041872e-02 8.497191229792e-02 8.230669137963e-02 7.936509240319e-02 -7.616078716752e-02 7.270825840950e-02 6.902274125824e-02 6.512016248718e-02 -6.101707779225e-02 5.673060733022e-02 5.227836975588e-02 4.767841500079e-02 -4.294915603927e-02 3.810929988956e-02 3.317777809923e-02 2.817367696430e-02 -2.311616773109e-02 1.802443702837e-02 1.291761777506e-02 7.814720805650e-03 -2.734567451569e-03 -2.304276688186e-03 -7.283566559373e-03 -1.218544082641e-02 --1.699248319366e-02 -2.168778166772e-02 -2.625498556300e-02 -3.067836006198e-02 --3.494283815152e-02 -3.903406976697e-02 -4.293846798677e-02 -4.664325213182e-02 --5.013648763584e-02 -5.340712256517e-02 -5.644502067939e-02 -5.924099093709e-02 --6.178681336438e-02 -6.407526121752e-02 -6.610011938443e-02 -6.785619898412e-02 --6.933934813651e-02 -7.054645888953e-02 -7.147547030398e-02 -7.212536771062e-02 --7.249617816758e-02 -7.258896215997e-02 -7.240580159638e-02 -7.194978417065e-02 --7.122498416940e-02 -7.023643981868e-02 -6.899012727473e-02 -6.749293137542e-02 --6.575261328024e-02 -6.377777513672e-02 -6.157782192159e-02 -5.916292061419e-02 --5.654395686812e-02 -5.373248935576e-02 -5.074070196708e-02 -4.758135405145e-02 --4.426772889667e-02 -4.081358064510e-02 -3.723307985088e-02 -3.354075788636e-02 --2.975145040852e-02 -2.588024009840e-02 -2.194239888811e-02 -1.795332989034e-02 --1.392850924527e-02 -9.883428098751e-03 -5.833534923925e-03 -1.794178395810e-03 -2.219448974676e-03 6.192366244977e-03 1.010985828576e-02 1.395752867415e-02 -1.772135104925e-02 2.138771875041e-02 2.494349256632e-02 2.837604643077e-02 -3.167331090945e-02 3.482381433117e-02 3.781672142661e-02 4.064186934726e-02 -4.328980094801e-02 4.575179522735e-02 4.801989483032e-02 5.008693053066e-02 -5.194654262030e-02 5.359319914616e-02 5.502221094600e-02 5.622974344750e-02 -5.721282520660e-02 5.796935317347e-02 5.849809468655e-02 5.879868620733e-02 -5.887162882027e-02 5.871828053444e-02 5.834084543467e-02 5.774235974177e-02 -5.692667485224e-02 5.589843743883e-02 5.466306670358e-02 5.322672888515e-02 -5.159630913190e-02 4.977938086104e-02 4.778417273319e-02 4.561953337956e-02 -4.329489402663e-02 4.082022917023e-02 3.820601545722e-02 3.546318893891e-02 -3.260310086529e-02 2.963747219388e-02 2.657834699060e-02 2.343804490332e-02 -2.022911289118e-02 1.696427639457e-02 1.365639013154e-02 1.031838870717e-02 -6.963237221582e-03 3.603882061735e-03 2.532020601634e-04 -3.076039798482e-03 --6.371243945210e-03 -9.620020894655e-03 -1.281023684336e-02 -1.593005803345e-02 --1.896799372230e-02 -2.191293760479e-02 -2.475420754144e-02 -2.748158345284e-02 --3.008534324839e-02 -3.255629666528e-02 -3.488581690254e-02 -3.706586994327e-02 --3.908904146801e-02 -4.094856127127e-02 -4.263832510331e-02 -4.415291386933e-02 --4.548761012830e-02 -4.663841184443e-02 -4.760204335446e-02 -4.837596352492e-02 --4.895837108397e-02 -4.934820712322e-02 -4.954515477559e-02 -4.954963608583e-02 --4.936280610077e-02 -4.898654421662e-02 -4.842344283100e-02 -4.767679335692e-02 --4.675056966581e-02 -4.564940903605e-02 -4.437859069210e-02 -4.294401202848e-02 --4.135216262065e-02 -3.961009613287e-02 -3.772540024034e-02 -3.570616469007e-02 --3.356094763092e-02 -3.129874034941e-02 -2.892893055317e-02 -2.646126434851e-02 --2.390580706294e-02 -2.127290306701e-02 -1.857313475277e-02 -1.581728082870e-02 --1.301627409256e-02 -1.018115884487e-02 -7.323048106310e-03 -4.453080802119e-03 --1.582379076085e-03 1.277994104811e-03 4.117076895743e-03 6.924049912610e-03 -9.688276810099e-03 1.239934394917e-02 1.504709900802e-02 1.762168839540e-02 -2.011359333025e-02 2.251366445745e-02 2.481315487560e-02 2.700375145932e-02 -2.907760436581e-02 3.102735462241e-02 3.284615970016e-02 3.452771698609e-02 -3.606628507543e-02 3.745670281381e-02 3.869440602799e-02 3.977544189305e-02 -4.069648089307e-02 4.145482634156e-02 4.204842143759e-02 4.247585384263e-02 -4.273635777314e-02 4.282981361275e-02 4.275674505787e-02 4.251831381953e-02 -4.211631191349e-02 4.155315157965e-02 4.083185288082e-02 3.995602903911e-02 -3.892986957682e-02 3.775812133673e-02 3.644606746422e-02 3.499950444117e-02 -3.342471726858e-02 3.172845290135e-02 2.991789204487e-02 2.800061942895e-02 -2.598459267953e-02 2.387810991374e-02 2.168977618808e-02 1.942846893310e-02 -1.710330251128e-02 1.472359203784e-02 1.229881660573e-02 9.838582058397e-03 -7.352583454433e-03 4.850567369051e-03 2.342294177207e-03 -1.624995374291e-04 --2.654138304523e-03 -5.123044678725e-03 -7.559775601667e-03 -9.955058077794e-03 --1.229982403074e-02 -1.458524421068e-02 -1.680276102726e-02 -1.894412018742e-02 --2.100140102249e-02 -2.296704539440e-02 -2.483388507685e-02 -2.659516751356e-02 --2.824457986222e-02 -2.977627123989e-02 -3.118487309266e-02 -3.246551762010e-02 --3.361385419245e-02 -3.462606370685e-02 -3.549887083663e-02 -3.622955413607e-02 --3.681595397167e-02 -3.725647825883e-02 -3.755010599193e-02 -3.769638856381e-02 --3.769544887952e-02 -3.754797827720e-02 -3.725523127767e-02 -3.681901819240e-02 --3.624169562733e-02 -3.552615492841e-02 -3.467580862197e-02 -3.369457491062e-02 --3.258686029276e-02 -3.135754038030e-02 -3.001193899610e-02 -2.855580563876e-02 --2.699529140817e-02 -2.533692349098e-02 -2.358757830999e-02 -2.175445344637e-02 --1.984503844759e-02 -1.786708463813e-02 -1.582857405291e-02 -1.373768761674e-02 --1.160277269495e-02 -9.432310142707e-03 -7.234880981712e-03 -5.019132833746e-03 --2.793746241246e-03 -5.674010047185e-04 1.651257333662e-03 3.853650732059e-03 -6.031301489937e-03 8.175864563376e-03 1.027915923270e-02 1.233320000329e-02 -1.433022662396e-02 1.626273311109e-02 1.812349567089e-02 1.990559941708e-02 -2.160246378597e-02 2.320786655663e-02 2.471596638938e-02 2.612132380187e-02 -2.741892050851e-02 2.860417705536e-02 2.967296868953e-02 3.062163940931e-02 -3.144701414801e-02 3.214640905242e-02 3.271763982383e-02 3.315902809725e-02 -3.346940584235e-02 3.364811777675e-02 3.369502179069e-02 3.361048738904e-02 -3.339539216478e-02 3.305111632528e-02 3.257953530016e-02 3.198301046681e-02 -3.126437803690e-02 3.042693615365e-02 2.947443025706e-02 2.841103677982e-02 -2.724134524376e-02 2.597033883180e-02 2.460337351638e-02 2.314615583044e-02 -2.160471937202e-02 1.998540013785e-02 1.829481078573e-02 1.653981392904e-02 -1.472749457012e-02 1.286513178221e-02 1.096016975200e-02 9.020188297052e-03 -7.052872973721e-03 5.065984892624e-03 3.067330359101e-03 1.064730456563e-03 --9.340093097221e-04 -2.921129191455e-03 -4.888945082975e-03 -6.829877999512e-03 --8.736483035799e-03 -1.060147769521e-02 -1.241776948243e-02 -1.417848265595e-02 --1.587698404013e-02 -1.750690780091e-02 -1.906217909314e-02 -2.053703649256e-02 --2.192605313036e-02 -2.322415645346e-02 -2.442664653926e-02 -2.552921289965e-02 --2.652794971473e-02 -2.741936944348e-02 -2.820041476444e-02 -2.886846880682e-02 --2.942136363844e-02 -2.985738698434e-02 -3.017528715649e-02 -3.037427618212e-02 --3.045403112513e-02 -3.041469360212e-02 -3.025686750147e-02 -2.998161492074e-02 --2.959045034473e-02 -2.908533309287e-02 -2.846865807160e-02 -2.774324487347e-02 --2.691232527115e-02 -2.597952916044e-02 -2.494886901223e-02 -2.382472289889e-02 --2.261181616584e-02 -2.131520182400e-02 -1.994023974356e-02 -1.849257473380e-02 --1.697811359776e-02 -1.540300125403e-02 -1.377359602157e-02 -1.209644416594e-02 --1.037825380810e-02 -8.625868299011e-03 -6.846239164960e-03 -5.046398729735e-03 --3.233432520802e-03 -1.414451567016e-03 4.034353045415e-04 2.213149065363e-03 -4.007667869506e-03 5.780054119506e-03 7.523481110548e-03 9.231259151201e-03 -1.089686106141e-02 1.251394695115e-02 1.407638818635e-02 1.557829045196e-02 -1.701401582611e-02 1.837820378317e-02 1.966579104810e-02 2.087203022904e-02 -2.199250716028e-02 2.302315689278e-02 2.396027827478e-02 2.480054707111e-02 -2.554102757496e-02 2.617918267265e-02 2.671288232720e-02 2.714041045362e-02 -2.746047016431e-02 2.767218737005e-02 2.777511272791e-02 2.776922193426e-02 -2.765491436722e-02 2.743301008928e-02 2.710474522729e-02 2.667176575308e-02 -2.613611969416e-02 2.550024780987e-02 2.476697277428e-02 2.393948691269e-02 -2.302133854408e-02 2.201641698699e-02 2.092893629145e-02 1.976341776426e-02 -1.852467135921e-02 1.721777600821e-02 1.584805897315e-02 1.442107430156e-02 -1.294258047276e-02 1.141851732369e-02 9.854982346319e-03 8.258206450586e-03 -6.634529288631e-03 4.990374237425e-03 3.332223137968e-03 1.666590889822e-03 -1.678812230281e-15 -1.661044814901e-03 -3.310081874987e-03 -4.940717534258e-03 --6.546650832582e-03 - Type L N - 0 2 11 -0.000000000000e+00 3.076684752969e-04 1.229456822918e-03 2.761718489533e-03 -4.898391469915e-03 7.631021618927e-03 1.094879516000e-02 1.483858026336e-02 -1.928497753096e-02 2.427037919052e-02 2.977503676719e-02 3.577713696791e-02 -4.225288548166e-02 4.917659836780e-02 5.652080067530e-02 6.425633190728e-02 -7.235245791876e-02 8.077698881069e-02 8.949640235977e-02 9.847597250258e-02 -1.076799023726e-01 1.170714613719e-01 1.266131257425e-01 1.362667220913e-01 -1.459935733092e-01 1.557546463171e-01 1.655107010646e-01 1.752224402041e-01 -1.848506588577e-01 1.943563938989e-01 2.037010721695e-01 2.128466570595e-01 -2.217557928846e-01 2.303919465032e-01 2.387195456292e-01 2.467041133084e-01 -2.543123980425e-01 2.615124990639e-01 2.682739862803e-01 2.745680144358e-01 -2.803674310519e-01 2.856468777420e-01 2.903828845161e-01 2.945539567237e-01 -2.981406543082e-01 3.011256630816e-01 3.034938577562e-01 3.052323565036e-01 -3.063305668482e-01 3.067802227308e-01 3.065754126186e-01 3.057125985692e-01 -3.041906261952e-01 3.020107255079e-01 2.991765026582e-01 2.956939226262e-01 -2.915712829478e-01 2.868191785994e-01 2.814504581996e-01 2.754801717169e-01 -2.689255099084e-01 2.618057357443e-01 2.541421081053e-01 2.459577980678e-01 -2.372777981237e-01 2.281288247028e-01 2.185392143984e-01 2.085388143130e-01 -1.981588669688e-01 1.874318902450e-01 1.763915528221e-01 1.650725456318e-01 -1.535104498227e-01 1.417416017660e-01 1.298029556362e-01 1.177319441059e-01 -1.055663377061e-01 9.334410339940e-02 8.110326292147e-02 6.888175144123e-02 -5.671727708871e-02 4.464718189424e-02 3.270830467496e-02 2.093684639556e-02 -9.368238518095e-03 -1.962985157258e-03 -1.302331267469e-02 -2.378037365978e-02 --3.420305416166e-02 -4.426160617195e-02 -5.392775141475e-02 -6.317477902589e-02 --7.197763676562e-02 -8.031301543553e-02 -8.815942619899e-02 -9.549727053327e-02 --1.023089025723e-01 -1.085786836294e-01 -1.142930287224e-01 -1.194404449545e-01 --1.240115616379e-01 -1.279991520817e-01 -1.313981469958e-01 -1.342056395004e-01 --1.364208817593e-01 -1.380452732934e-01 -1.390823410596e-01 -1.395377114146e-01 --1.394190741153e-01 -1.387361385373e-01 -1.375005823238e-01 -1.357259927067e-01 --1.334278007701e-01 -1.306232089512e-01 -1.273311121030e-01 -1.235720124635e-01 --1.193679289021e-01 -1.147423008317e-01 -1.097198871991e-01 -1.043266609778e-01 --9.858969961033e-02 -9.253707185462e-02 -8.619772150607e-02 -7.960134847434e-02 --7.277828770341e-02 -6.575938642888e-02 -5.857588027130e-02 -5.125926866597e-02 --4.384119012989e-02 -3.635329786467e-02 -2.882713619011e-02 -2.129401829720e-02 --1.378490580154e-02 -6.330290568085e-03 1.039920733378e-03 8.296518896249e-03 -1.541110083812e-02 2.235617424116e-02 2.910525777694e-02 3.563297654072e-02 -4.191515234175e-02 4.792888851923e-02 5.365264897716e-02 5.906633115714e-02 -6.415133269386e-02 6.889061152569e-02 7.326873926022e-02 7.727194762380e-02 -8.088816785271e-02 8.410706291371e-02 8.692005247143e-02 8.932033055009e-02 -9.130287586745e-02 9.286445484874e-02 9.400361735845e-02 9.472068521733e-02 -9.501773360112e-02 9.489856544625e-02 9.436867901559e-02 9.343522880452e-02 -9.210697999391e-02 9.039425668188e-02 8.830888415028e-02 8.586412544504e-02 -8.307461257098e-02 7.995627262242e-02 7.652624918934e-02 7.280281939669e-02 -6.880530695008e-02 6.455399157522e-02 6.007001525105e-02 5.537528564737e-02 -5.049237718656e-02 4.544443015637e-02 4.025504830616e-02 3.494819536231e-02 -2.954809090060e-02 2.407910601299e-02 1.856565920428e-02 1.303211295073e-02 -7.502671346696e-03 2.001279258628e-03 -3.448476603728e-03 -8.823464299277e-03 --1.410110056357e-02 -1.925944163937e-02 -2.427727067176e-02 -2.913418132615e-02 --3.381065730610e-02 -3.828814746650e-02 -4.254913623868e-02 -4.657720910519e-02 --5.035711288463e-02 -5.387481061019e-02 -5.711753080991e-02 -6.007381102120e-02 --6.273353539776e-02 -6.508796629279e-02 -6.712976972852e-02 -6.885303468854e-02 --7.025328619587e-02 -7.132749216619e-02 -7.207406405214e-02 -7.249285132072e-02 --7.258512983165e-02 -7.235358420985e-02 -7.180228433038e-02 -7.093665605800e-02 --6.976344640724e-02 -6.829068331139e-02 -6.652763021048e-02 -6.448473568909e-02 --6.217357841437e-02 -5.960680764286e-02 -5.679807958219e-02 -5.376198990912e-02 --5.051400276031e-02 -4.707037652467e-02 -4.344808677825e-02 -3.966474671203e-02 --3.573852541206e-02 -3.168806435765e-02 -2.753239250910e-02 -2.329084035964e-02 --1.898295332883e-02 -1.462840487436e-02 -1.024690969872e-02 -5.858137423784e-03 --1.481627102334e-03 2.863297070612e-03 7.157608491192e-03 1.138265897831e-02 -1.552025736739e-02 1.955274554190e-02 2.346307159151e-02 2.723485979991e-02 -3.085247718102e-02 3.430109629899e-02 3.756675412499e-02 4.063640670257e-02 -4.349797941283e-02 4.614041265109e-02 4.855370274757e-02 5.072893798650e-02 -5.265832959992e-02 5.433523763505e-02 5.575419161718e-02 5.691090595260e-02 -5.780229003971e-02 5.842645307927e-02 5.878270359798e-02 5.887154372239e-02 -5.869465826260e-02 5.825489868764e-02 5.755626209583e-02 5.660386530476e-02 -5.540391420582e-02 5.396366854810e-02 5.229140233518e-02 5.039636003652e-02 -4.828870883190e-02 4.597948712356e-02 4.348054956543e-02 4.080450887244e-02 -3.796467468555e-02 3.497498977904e-02 3.184996390683e-02 2.860460559276e-02 -2.525435217715e-02 2.181499843767e-02 1.830262410672e-02 1.473352061066e-02 -1.112411735750e-02 7.490907899814e-03 3.850376298047e-03 2.189240069475e-04 --3.387202396787e-03 -6.951982332809e-03 -1.045969087557e-02 -1.389496665532e-02 --1.724287771342e-02 -2.048898503462e-02 -2.361940349045e-02 -2.662085994112e-02 --2.948074825712e-02 -3.218718103649e-02 -3.472903781001e-02 -3.709600954258e-02 --3.927863925708e-02 -4.126835862455e-02 -4.305752038353e-02 -4.463942647041e-02 --4.600835176212e-02 -4.715956335253e-02 -4.808933530412e-02 -4.879495883629e-02 --4.927474793281e-02 -4.952804037032e-02 -4.955519419073e-02 -4.935757965981e-02 --4.893756677430e-02 -4.829850839888e-02 -4.744471913344e-02 -4.638145002913e-02 --4.511485928961e-02 -4.365197911066e-02 -4.200067882765e-02 -4.016962455577e-02 --3.816823552227e-02 -3.600663730365e-02 -3.369561219321e-02 -3.124654693566e-02 --2.867137807613e-02 -2.598253517989e-02 -2.319288218723e-02 -2.031565717474e-02 --1.736441079973e-02 -1.435294370905e-02 -1.129524319641e-02 -8.205419394279e-03 --5.097641286770e-03 -1.986072829379e-03 1.115190540756e-03 4.192184723556e-03 -7.231138827680e-03 1.021853582485e-02 1.314117172336e-02 1.598621300531e-02 -1.874125208106e-02 2.139436052478e-02 2.393413986573e-02 2.634976972223e-02 -2.863105307825e-02 3.076845851588e-02 3.275315923222e-02 3.457706868354e-02 -3.623287271619e-02 3.771405805957e-02 3.901493707359e-02 4.013066866018e-02 -4.105727526594e-02 4.179165592093e-02 4.233159527647e-02 4.267576862267e-02 -4.282374288487e-02 4.277597361553e-02 4.253379801639e-02 4.209942404287e-02 -4.147591566015e-02 4.066717433698e-02 3.967791687977e-02 3.851364972527e-02 -3.718063982521e-02 3.568588227123e-02 3.403706482161e-02 3.224252950495e-02 -3.031123148774e-02 2.825269540412e-02 2.607696935661e-02 2.379457680580e-02 -2.141646657547e-02 1.895396120673e-02 1.641870390118e-02 1.382260429823e-02 -1.117778333544e-02 8.496517443904e-03 5.791182332473e-03 3.074196614823e-03 -3.579655333173e-04 -2.345174968402e-03 -5.023013574793e-03 -7.663518084389e-03 --1.025488881198e-02 -1.278561067257e-02 -1.524450371981e-02 -1.762077191955e-02 --1.990404994807e-02 -2.208444781460e-02 -2.415259311825e-02 -2.609967076105e-02 --2.791745995112e-02 -2.959836834282e-02 -3.113546317436e-02 -3.252249927752e-02 --3.375394384859e-02 -3.482499788491e-02 -3.573161420664e-02 -3.647051199911e-02 --3.703918782712e-02 -3.743592308850e-02 -3.765978789044e-02 -3.771064134824e-02 --3.758912832216e-02 -3.729667262398e-02 -3.683546674066e-02 -3.620845813781e-02 --3.541933222075e-02 -3.447249204577e-02 -3.337303488818e-02 -3.212672578743e-02 --3.073996820272e-02 -2.921977192474e-02 -2.757371840097e-02 -2.580992364281e-02 --2.393699889300e-02 -2.196400924095e-02 -1.990043038209e-02 -1.775610372464e-02 --1.554119005402e-02 -1.326612197031e-02 -1.094155531897e-02 -8.578319838528e-03 --6.187369251313e-03 -3.779731025096e-03 -1.366456033675e-03 1.041431655932e-03 -3.432984643661e-03 5.797381480523e-03 8.123975156804e-03 1.040234057904e-02 -1.262232082597e-02 1.477407198010e-02 1.684810633883e-02 1.883533381715e-02 -2.072710136309e-02 2.251523021665e-02 2.419205085349e-02 2.575043546574e-02 -2.718382784412e-02 2.848627053771e-02 2.965242918072e-02 3.067761388866e-02 -3.155779764011e-02 3.228963157415e-02 3.287045714778e-02 3.329831511195e-02 -3.357195127965e-02 3.369081907362e-02 3.365507885629e-02 3.346559405883e-02 -3.312392414056e-02 3.263231442430e-02 3.199368286693e-02 3.121160383831e-02 -3.029028899450e-02 2.923456534451e-02 2.804985062158e-02 2.674212608192e-02 -2.531790686509e-02 2.378421006026e-02 2.214852063285e-02 2.041875537461e-02 -1.860322504877e-02 1.671059490926e-02 1.474984377951e-02 1.273022188220e-02 -1.066120761620e-02 8.552463480746e-03 6.413791350159e-03 4.255087304277e-03 -2.086296221165e-03 -8.263366125141e-05 -2.241796008618e-03 -4.381371274271e-03 --6.491671002218e-03 -8.563181350586e-03 -1.058660564148e-02 -1.255290574840e-02 --1.445334213826e-02 -1.627951239218e-02 -1.802338803634e-02 -1.967734952298e-02 --2.123421921034e-02 -2.268729220007e-02 -2.403036490096e-02 -2.525776119861e-02 --2.636435612188e-02 -2.734559690898e-02 -2.819752138788e-02 -2.891677359852e-02 --2.950061659689e-02 -2.994694239413e-02 -3.025427899694e-02 -3.042179452880e-02 --3.044929842495e-02 -3.033723970715e-02 -3.008670235770e-02 -2.969939782500e-02 --2.917765470601e-02 -2.852440566355e-02 -2.774317164852e-02 -2.683804350933e-02 --2.581366108219e-02 -2.467518986695e-02 -2.342829540380e-02 -2.207911547618e-02 --2.063423027435e-02 -1.910063066329e-02 -1.748568470606e-02 -1.579710260156e-02 --1.404290020202e-02 -1.223136128139e-02 -1.037099873071e-02 -8.470514861073e-03 --6.538760997688e-03 -4.584696551532e-03 -2.617347756428e-03 -6.457662603618e-04 -1.321012240231e-03 3.274009135404e-03 5.204343619764e-03 7.103272810172e-03 -8.962231082993e-03 1.077286845501e-02 1.252708783712e-02 1.421708099563e-02 -1.583536306260e-02 1.737480544355e-02 1.882866697908e-02 2.019062322502e-02 -2.145479372504e-02 2.261576715911e-02 2.366862426125e-02 2.460895841062e-02 -2.543289381082e-02 2.613710118357e-02 2.671881091458e-02 2.717582360104e-02 -2.750651796229e-02 2.770985608732e-02 2.778538600493e-02 2.773324157453e-02 -2.755413970786e-02 2.724937494400e-02 2.682081141175e-02 2.627087222561e-02 -2.560252637270e-02 2.481927315949e-02 2.392512429765e-02 2.292458371938e-02 -2.182262522185e-02 2.062466805058e-02 1.933655054006e-02 1.796450193866e-02 -1.651511255249e-02 1.499530235009e-02 1.341228817647e-02 1.177354973056e-02 -1.008679446542e-02 8.359921574931e-03 6.600985233967e-03 4.818157262340e-03 -3.019689384381e-03 1.213875257557e-03 -5.909875561334e-04 -2.386635502586e-03 --4.164876659528e-03 -5.917627901590e-03 -7.636951438803e-03 -9.315090564226e-03 --1.094450445058e-02 -1.251790184067e-02 -1.402827348179e-02 -1.546892316090e-02 --1.683349720363e-02 -1.811601230827e-02 -1.931088159343e-02 -2.041293874683e-02 --2.141746017166e-02 -2.232018503642e-02 -2.311733314391e-02 -2.380562054548e-02 --2.438227283685e-02 -2.484503608294e-02 -2.519218532972e-02 -2.542253067262e-02 --2.553542086195e-02 -2.553074443721e-02 -2.540892839351e-02 -2.517093439426e-02 --2.481825255589e-02 -2.435289284079e-02 -2.377737410594e-02 -2.309471086481e-02 --2.230839783060e-02 -2.142239231867e-02 -2.044109459549e-02 -1.936932627061e-02 --1.821230683654e-02 -1.697562846985e-02 -1.566522921396e-02 -1.428736467144e-02 --1.284857833972e-02 -1.135567073013e-02 -9.815667414928e-03 -8.235786151830e-03 --6.623403238827e-03 -4.986019255467e-03 -3.331224348814e-03 -1.666663223992e-03 --5.234804717149e-15 1.661116908350e-03 3.309089722328e-03 4.936405886016e-03 -6.535672151334e-03 - Type L N - 0 2 12 -0.000000000000e+00 3.569814883576e-04 1.426287458324e-03 3.203009736561e-03 -5.678992372019e-03 8.842868026578e-03 1.268010869057e-02 1.717309049234e-02 -2.230117230782e-02 2.804078781293e-02 3.436555056104e-02 4.124637160836e-02 -4.865158915351e-02 5.654710960314e-02 6.489655942367e-02 7.366144709087e-02 -8.280133440316e-02 9.227401638268e-02 1.020357089495e-01 1.120412435198e-01 -1.222442676477e-01 1.325974508038e-01 1.430526943619e-01 1.535613448439e-01 -1.640744094647e-01 1.745427730018e-01 1.849174150175e-01 1.951496264531e-01 -2.051912246258e-01 2.149947656614e-01 2.245137534122e-01 2.337028439257e-01 -2.425180445512e-01 2.509169067969e-01 2.588587120793e-01 2.663046495419e-01 -2.732179851554e-01 2.795642213536e-01 2.853112465043e-01 2.904294735591e-01 -2.948919672794e-01 2.986745594874e-01 3.017559518458e-01 3.041178057292e-01 -3.057448188081e-01 3.066247880289e-01 3.067486587350e-01 3.061105597370e-01 -3.047078242075e-01 3.025409963362e-01 2.996138237492e-01 2.959332357614e-01 -2.915093075916e-01 2.863552107395e-01 2.804871497789e-01 2.739242858907e-01 -2.666886475116e-01 2.588050285377e-01 2.503008745740e-01 2.412061577761e-01 -2.315532408807e-01 2.213767310680e-01 2.107133243446e-01 1.996016411774e-01 -1.880820541447e-01 1.761965084072e-01 1.639883358306e-01 1.515020636184e-01 -1.387832183350e-01 1.258781262193e-01 1.128337107019e-01 9.969728804722e-02 -8.651636205180e-02 7.333841872575e-02 6.021072188578e-02 4.718011057796e-02 -3.429279923829e-02 2.159418148252e-02 9.128638397347e-03 -3.060647819018e-03 --1.493187404649e-02 -2.644478947395e-02 -3.756086111718e-02 -4.824343090815e-02 --5.845786368133e-02 -6.817168542733e-02 -7.735471123116e-02 -8.597916236248e-02 --9.401977203692e-02 -1.014538794221e-01 -1.082615115172e-01 -1.144254525935e-01 --1.199313009396e-01 -1.247675127185e-01 -1.289254327991e-01 -1.323993124896e-01 --1.351863141592e-01 -1.372865027934e-01 -1.387028245925e-01 -1.394410727781e-01 --1.395098408326e-01 -1.389204634537e-01 -1.376869455620e-01 -1.358258797502e-01 --1.333563526199e-01 -1.302998404937e-01 -1.266800950448e-01 -1.225230194247e-01 --1.178565355123e-01 -1.127104429482e-01 -1.071162706481e-01 -1.011071215248e-01 --9.471751117380e-02 -8.798320130120e-02 -8.094102869535e-02 -7.362873055691e-02 --6.608476701707e-02 -5.834814168099e-02 -5.045822103842e-02 -4.245455358404e-02 --3.437668948673e-02 -2.626400163957e-02 -1.815550891133e-02 -1.008970240501e-02 --2.104375510424e-03 5.763541484598e-03 1.347814148570e-02 2.100469467665e-02 -2.830979592005e-02 3.536150483243e-02 4.212947793040e-02 4.858509228547e-02 -5.470156016846e-02 6.045403421016e-02 6.581970265261e-02 7.077787431437e-02 -7.531005294468e-02 7.940000069296e-02 8.303379047373e-02 8.619984706080e-02 -8.888897679901e-02 9.109438587652e-02 9.281168715524e-02 9.403889561133e-02 -9.477641249152e-02 9.502699834383e-02 9.479573513343e-02 9.408997770467e-02 -9.291929489961e-02 9.129540069051e-02 8.923207572929e-02 8.674507975962e-02 -8.385205537857e-02 8.057242367249e-02 7.692727228735e-02 7.293923652620e-02 -6.863237409600e-02 6.403203415221e-02 5.916472131247e-02 5.405795533072e-02 -4.874012713881e-02 4.324035197554e-02 3.758832033245e-02 3.181414745065e-02 -2.594822210564e-02 2.002105541476e-02 1.406313039743e-02 8.104753009171e-03 -2.175905358568e-03 -3.693898199159e-03 -9.475751417086e-03 -1.514149230696e-02 --2.066383445693e-02 -2.601649291622e-02 -3.117430407723e-02 -3.611333901816e-02 --4.081100980535e-02 -4.524616829199e-02 -4.939919698957e-02 -5.325209163042e-02 --5.678853508241e-02 -5.999396232195e-02 -6.285561621669e-02 -6.536259391652e-02 --6.750588369834e-02 -6.927839215825e-02 -7.067496169263e-02 -7.169237825779e-02 --7.232936944540e-02 -7.258659295852e-02 -7.246661561924e-02 -7.197388308498e-02 --7.111468049454e-02 -6.989708430856e-02 -6.833090565013e-02 -6.642762549139e-02 --6.420032206953e-02 -6.166359095147e-02 -5.883345819969e-02 -5.572728712279e-02 --5.236367912251e-02 -4.876236917484e-02 -4.494411650539e-02 -4.093059103929e-02 --3.674425622285e-02 -3.240824882765e-02 -2.794625635919e-02 -2.338239269891e-02 --1.874107261368e-02 -1.404688576745e-02 -9.324470868169e-03 -4.598390577902e-03 -1.069921939384e-04 4.767636005687e-03 9.359940012229e-03 1.386085992999e-02 -1.824802028030e-02 2.249982237581e-02 2.659554753943e-02 3.051545507277e-02 -3.424087452049e-02 3.775429180865e-02 4.103942886873e-02 4.408131639428e-02 -4.686635941380e-02 4.938239540193e-02 5.161874469013e-02 5.356625297829e-02 -5.521732578984e-02 5.656595475443e-02 5.760773564410e-02 5.833987813073e-02 -5.876120727474e-02 5.887215679612e-02 5.867475422040e-02 5.817259803202e-02 -5.737082700748e-02 5.627608193834e-02 5.489645999179e-02 5.324146199149e-02 -5.132193293559e-02 4.914999610088e-02 4.673898111185e-02 4.410334638202e-02 -4.125859636009e-02 3.822119403739e-02 3.500846919386e-02 3.163852287837e-02 -2.813012863500e-02 2.450263100010e-02 2.077584180546e-02 1.696993483036e-02 -1.310533935054e-02 9.202633133727e-03 5.282435431064e-03 1.365300510094e-03 --2.528387731342e-03 -6.378519539712e-03 -1.016536095001e-02 -1.386965279475e-02 --1.747270658959e-02 -2.095649682631e-02 -2.430374922523e-02 -2.749802452251e-02 --3.052379739318e-02 -3.336653013806e-02 -3.601274079175e-02 -3.845006533949e-02 --4.066731376263e-02 -4.265451966574e-02 -4.440298327273e-02 -4.590530761433e-02 --4.715542776550e-02 -4.814863302738e-02 -4.888158198534e-02 -4.935231041140e-02 --4.956023201614e-02 -4.950613209185e-02 -4.919215412463e-02 -4.862177948871e-02 --4.779980037128e-02 -4.673228610935e-02 -4.542654315340e-02 -4.389106890350e-02 --4.213549969391e-02 -4.017055323000e-02 -3.800796580869e-02 -3.566042467757e-02 --3.314149591151e-02 -3.046554820558e-02 -2.764767300241e-02 -2.470360138780e-02 --2.164961820300e-02 -1.850247383340e-02 -1.527929414273e-02 -1.199748902868e-02 --8.674660080023e-03 -5.328507817416e-03 -1.976738999011e-03 1.363025530750e-03 -4.673341976597e-03 7.937033247443e-03 1.113727667658e-02 1.425768936526e-02 -1.728241072262e-02 2.019618179192e-02 2.298442097176e-02 2.563329576201e-02 -2.812979018656e-02 3.046176756954e-02 3.261802836707e-02 3.458836278430e-02 -3.636359793551e-02 3.793563933481e-02 3.929750653531e-02 4.044336276610e-02 -4.136853844790e-02 4.206954850082e-02 4.254410339008e-02 4.279111388828e-02 -4.281068956538e-02 4.260413104987e-02 4.217391613683e-02 4.152367984956e-02 -4.065818859268e-02 3.958330856400e-02 3.830596862140e-02 3.683411782884e-02 -3.517667793149e-02 3.334349103529e-02 3.134526278934e-02 2.919350139147e-02 -2.690045275685e-02 2.447903220810e-02 2.194275306091e-02 1.930565249378e-02 -1.658221510205e-02 1.378729454669e-02 1.093603371569e-02 8.043783821492e-03 -5.126022861369e-03 2.198273868379e-03 -7.239766203473e-04 -3.625359454779e-03 --6.490702704869e-03 -9.305110025117e-03 -1.205403715055e-02 -1.472336613561e-02 --1.729947696126e-02 -1.976931615114e-02 -2.212046205516e-02 -2.434118647773e-02 --2.642051234892e-02 -2.834826715853e-02 -3.011513189675e-02 -3.171268526991e-02 --3.313344298513e-02 -3.437089192496e-02 -3.541951906013e-02 -3.627483497697e-02 --3.693339192456e-02 -3.739279631585e-02 -3.765171564597e-02 -3.770987982040e-02 --3.756807691478e-02 -3.722814341700e-02 -3.669294903069e-02 -3.596637614723e-02 --3.505329412068e-02 -3.395952850627e-02 -3.269182544887e-02 -3.125781143181e-02 --2.966594862004e-02 -2.792548605296e-02 -2.604640696311e-02 -2.403937251536e-02 --2.191566227883e-02 -1.968711175892e-02 -1.736604733100e-02 -1.496521892885e-02 --1.249773085105e-02 -9.976971056863e-03 -7.416539328725e-03 -4.830174683048e-03 --2.231682412867e-03 3.651388539954e-04 2.946569699445e-03 5.499041684479e-03 -8.009207971345e-03 1.046401243426e-02 1.285075690406e-02 1.515716620353e-02 -1.737145064347e-02 1.948236566420e-02 2.147926832383e-02 2.335217035218e-02 -2.509178750901e-02 2.668958500519e-02 2.813781876764e-02 2.942957235138e-02 -3.055878932574e-02 3.152030098634e-02 3.230984926954e-02 3.292410477172e-02 -3.336067980191e-02 3.361813642247e-02 3.369598945914e-02 3.359470448797e-02 -3.331569083327e-02 3.286128963623e-02 3.223475707978e-02 3.144024288008e-02 -3.048276417933e-02 2.936817499809e-02 2.810313142785e-02 2.669505276609e-02 -2.515207881646e-02 2.348302359571e-02 2.169732570689e-02 1.980499565455e-02 -1.781656039251e-02 1.574300540791e-02 1.359571465714e-02 1.138640867844e-02 -9.127081215007e-03 6.829934687878e-03 4.507314863059e-03 2.171645059743e-03 --1.646397525505e-04 -2.489158621023e-03 -4.789649696704e-03 -7.054034402038e-03 --9.270480345647e-03 -1.142746265903e-02 -1.351382343959e-02 -1.551882899580e-02 --1.743222460296e-02 -1.924428649260e-02 -2.094587081405e-02 -2.252845932386e-02 --2.398420157694e-02 -2.530595341261e-02 -2.648731154916e-02 -2.752264412166e-02 --2.840711701980e-02 -2.913671590534e-02 -2.970826381169e-02 -3.011943425206e-02 --3.036875978628e-02 -3.045563602065e-02 -3.038032103927e-02 -3.014393028902e-02 --2.974842696479e-02 -2.919660796421e-02 -2.849208550498e-02 -2.763926451953e-02 --2.664331596408e-02 -2.551014619974e-02 -2.424636262338e-02 -2.285923574506e-02 --2.135665792659e-02 -1.974709901245e-02 -1.803955909993e-02 -1.624351870902e-02 --1.436888662551e-02 -1.242594570173e-02 -1.042529690901e-02 -8.377801943820e-03 --6.294524696237e-03 -4.186671893672e-03 -2.065533236328e-03 5.757865807762e-05 -2.171388182888e-03 4.264716228960e-03 6.326538917132e-03 8.346045270086e-03 -1.031269352377e-02 1.221626578694e-02 1.404692076716e-02 1.579524429305e-02 -1.745229737510e-02 1.900966156133e-02 2.045948135957e-02 2.179450351406e-02 -2.300811294185e-02 2.409436515260e-02 2.504801499478e-02 2.586454159100e-02 -2.654016934616e-02 2.707188493284e-02 2.745745018038e-02 2.769541081551e-02 -2.778510102486e-02 2.772664383151e-02 2.752094730009e-02 2.716969660659e-02 -2.667534203104e-02 2.604108295212e-02 2.527084794387e-02 2.436927109463e-02 -2.334166468786e-02 2.219398840316e-02 2.093281521350e-02 1.956529417156e-02 -1.809911029351e-02 1.654244176341e-02 1.490391469431e-02 1.319255569457e-02 -1.141774249808e-02 9.589152926751e-03 7.716712461102e-03 5.810540701272e-03 -3.880897005497e-03 1.938125596396e-03 -7.399572885525e-06 -1.945329900438e-03 --3.865396874365e-03 -5.757466180610e-03 -7.611590896222e-03 -9.418063490354e-03 --1.116746636260e-02 -1.285072065697e-02 -1.445913309993e-02 -1.598444062221e-02 --1.741885253668e-02 -1.875509005845e-02 -1.998642296793e-02 -2.110670323363e-02 --2.211039542813e-02 -2.299260378803e-02 -2.374909578719e-02 -2.437632211141e-02 --2.487143294193e-02 -2.523229047513e-02 -2.545747762597e-02 -2.554630288297e-02 --2.549880130290e-02 -2.531573165410e-02 -2.499856973722e-02 -2.454949793267e-02 --2.397139104361e-02 -2.326779852261e-02 -2.244292318909e-02 -2.150159656267e-02 --2.044925095499e-02 -1.929188847931e-02 -1.803604715275e-02 -1.668876428104e-02 --1.525753732897e-02 -1.375028249270e-02 -1.217529120126e-02 -1.054118478466e-02 --8.856867555159e-03 -7.131478555480e-03 -5.374342234077e-03 -3.594918312353e-03 --1.802751111959e-03 -7.418612344024e-06 1.781518490851e-03 3.554567456869e-03 -5.302353633065e-03 7.015669786734e-03 8.685524377140e-03 1.030318851581e-02 -1.186024137101e-02 1.334861378130e-02 1.476062985342e-02 1.608904633122e-02 -1.732708953465e-02 1.846848968165e-02 1.950751242013e-02 2.043898741241e-02 -2.125833383099e-02 2.196158264097e-02 2.254539556209e-02 2.300708062121e-02 -2.334460422435e-02 2.355659969619e-02 2.364237225367e-02 2.360190039936e-02 -2.343583373928e-02 2.314548724879e-02 2.273283202876e-02 2.220048261284e-02 -2.155168090449e-02 2.079027684038e-02 1.992070589320e-02 1.894796354391e-02 -1.787757686857e-02 1.671557340007e-02 1.546844743863e-02 1.414312399816e-02 -1.274692058738e-02 1.128750703527e-02 9.772863580432e-03 8.211237451988e-03 -6.611098177252e-03 4.981091857210e-03 3.329994655553e-03 1.666665750399e-03 --1.322155203283e-13 -1.661119426622e-03 -3.307868200098e-03 -4.931527517535e-03 --6.523530075100e-03 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/model.ptg b/tests/09_DeePKS/100_NO_GO_deepks_UT/model.ptg deleted file mode 100644 index 6cfb0f073c..0000000000 Binary files a/tests/09_DeePKS/100_NO_GO_deepks_UT/model.ptg and /dev/null differ diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/o_delta_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/o_delta_ref.dat deleted file mode 100644 index d57e4ca538..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/o_delta_ref.dat +++ /dev/null @@ -1 +0,0 @@ --0.007602894356 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/orbpre_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/orbpre_ref.dat deleted file mode 100644 index 02589b84a4..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/orbpre_ref.dat +++ /dev/null @@ -1,5 +0,0 @@ -1.324860831 0.5600247713 0.08683995213 0.002391330993 0.0002024558499 0.001941592692 0.0009357014709 0.001285464024 0.0003747383084 0.0003981271759 3.380417477e-05 6.431403684e-05 2.556932909e-06 0.8695818932 0.916560116 0.9348722622 0.5671462004 0.5827725011 0.6038780645 0.2225610471 0.2375338231 0.2689329217 0.05107183751 0.0550662635 0.06725417066 0.0274640254 0.02763567155 0.03036736102 0.009236827855 0.009784456469 0.01047491505 0.007756248553 0.008939652399 0.009556260509 0.00269143549 0.002988436311 0.0030097818 0.002698641498 0.00275369074 0.002809538324 0.0004430358294 0.000473965429 0.0005461798262 0.0006207625589 0.0006252586984 0.0006801435171 4.150871189e-05 4.330816918e-05 4.667738734e-05 0.0001557875346 0.0001718841495 0.0001850356996 0 6.063545581e-07 0.04038715139 0.05269214728 0.06114420692 -3.469446952e-18 5.575625058e-07 0.04171422912 0.04594499957 0.04814794243 -4.33680869e-19 1.765877947e-07 0.0123284183 0.01390481134 0.01663859359 5.421010862e-20 3.615081622e-09 0.0001736888643 0.0005485798217 0.002063123394 4.235164736e-22 4.401821355e-10 1.690595317e-05 7.715571121e-05 0.0001213088347 6.776263578e-21 2.69057491e-09 0.0001582957773 0.0003014056198 0.0003098393785 0 2.002926017e-11 1.091401345e-06 9.842946442e-06 2.886364082e-05 5.29395592e-23 3.781819455e-11 2.738852614e-07 1.682185927e-06 3.057534856e-05 0 4.62979629e-11 4.595018067e-06 2.141227898e-05 2.536254421e-05 -3.97046694e-23 3.772623386e-12 2.778571396e-08 4.457119135e-07 3.033763681e-06 1.058791184e-22 5.051850135e-11 2.864461584e-06 4.258478683e-06 6.253775845e-06 -4.235164736e-22 3.715492028e-11 2.13443985e-06 6.156461998e-06 6.427224849e-06 -1.058791184e-22 2.171014683e-11 1.415717567e-06 1.797491267e-06 2.149757784e-06 -1.098605102 0.7495795634 0.3252209747 0.06672575817 0.005898566349 0.000519189802 0.0002552736779 0.0003234603839 0.0002335484133 0.0004497605392 0.0001012210655 8.786165673e-05 3.539866253e-05 0.5905397681 0.598461126 0.8795152914 0.1044141671 0.1114081517 0.1266379876 0.009515278265 0.009902643111 0.06160116406 4.612177997e-05 9.115920963e-05 0.05014362463 0.0002442240299 0.0002958040607 0.004301186338 0.0003868073526 0.0004226864861 0.0005105677415 1.449869113e-05 1.580735669e-05 0.001406025591 0.0001296467764 0.0001356599856 0.0001724887798 0.0001272755945 0.0001385483305 0.0004430266012 4.65141336e-05 5.300624993e-05 0.0001647060554 2.272102161e-05 5.384463551e-05 5.551241557e-05 4.849594913e-05 4.997326859e-05 0.0001351349529 3.923290381e-05 4.204567163e-05 6.184414284e-05 -7.319232026e-14 4.743830926e-08 0.3119131633 0.4891762159 0.5011445533 -4.518737814e-15 5.374932891e-08 0.08730883866 0.1769972762 0.186367201 -2.346416789e-16 1.693664909e-06 0.004676598456 0.03183582515 0.03379273604 -2.399366513e-15 1.919260555e-07 0.001195586854 0.001365496543 0.01930914966 -6.174192559e-17 6.483234972e-08 0.000982477601 0.001206386856 0.00839954464 -1.150164863e-18 4.504838611e-08 0.0001187273216 0.0001537274649 0.003235584061 -1.067984329e-16 9.335912398e-08 3.936269894e-06 3.957751825e-06 0.0001799379967 -4.815212899e-17 1.130748427e-10 6.236657691e-05 0.0002721719788 0.0002786798993 -3.978090237e-18 1.098368929e-09 6.058274681e-05 7.539783521e-05 0.0004622823936 -1.405227659e-18 1.508439812e-09 1.417642678e-05 2.631797473e-05 3.28595603e-05 -1.313995594e-17 1.638407401e-11 1.969568504e-05 5.901670367e-05 5.913736007e-05 -6.053532716e-18 2.70091173e-11 3.929750348e-05 4.006934305e-05 5.969216787e-05 -3.284158495e-18 2.297319956e-12 8.799274201e-06 3.001252069e-05 3.388745239e-05 -1.066059296 0.7453159715 0.2272757978 0.02268097303 0.00210041428 0.0006983231607 0.0009453295944 0.001533508085 0.0004715005968 0.0002363166266 7.650629389e-05 7.034243271e-05 3.474045631e-05 0.4707547845 0.4852871597 0.8459050647 0.0425861505 0.04975191971 0.1333461159 0.0009068345858 0.0009986348456 0.08651615735 0.0009734263907 0.001277773457 0.02389125178 9.440348353e-05 0.0001230076263 0.002068445798 0.0002898134263 0.000405323856 0.0009215389789 0.0001136309834 0.0001336591021 0.001354683766 5.971564529e-05 6.357551643e-05 0.0003786453155 4.784147073e-05 0.0001139331031 0.0001214582535 7.640800882e-05 9.309400337e-05 0.0002991784943 4.485703977e-05 5.470324742e-05 0.0001456595214 4.57071795e-05 5.133796737e-05 6.113873751e-05 4.230789719e-05 4.610390344e-05 0.0001052539477 -9.93649607e-15 1.635602839e-07 0.4166274084 0.5201712957 0.5458105194 -2.51534904e-17 8.251041194e-07 0.05825466592 0.1171892841 0.1341075864 -4.885414989e-16 2.717085945e-06 0.01015981041 0.01176405702 0.02713831111 -2.466221129e-17 1.345076142e-07 0.0002893168385 0.0005239157678 0.03049069728 -5.210607878e-17 1.410609052e-07 9.404937335e-05 0.0001948845312 0.001713559167 -7.369186641e-18 2.881045975e-10 9.810194935e-05 0.0004344160694 0.0006252264378 -4.385513084e-19 4.644683891e-10 4.306033514e-05 4.674548199e-05 0.001581342823 -7.468713012e-19 3.055740839e-09 6.97100551e-05 7.978386841e-05 0.0001000042475 -3.292417066e-18 5.219274745e-09 2.136057469e-05 0.0001516153737 0.0001798260934 -1.40882755e-18 6.24846001e-09 6.160379901e-05 8.814700702e-05 0.0002389709743 -7.277071808e-19 1.921027203e-11 2.698746144e-05 4.690575194e-05 5.34539035e-05 -1.030203822e-18 3.513446915e-10 3.104686508e-05 5.335830712e-05 5.651805483e-05 -8.766791004e-19 1.312018938e-09 4.196691081e-05 5.130099515e-05 6.00940637e-05 -1.072875794 0.7492115734 0.2520946 0.03085946079 0.002353586074 0.0004022672543 0.0005672046673 0.001282863354 0.000496264943 0.0003186440715 7.841854164e-05 5.784777788e-05 3.522718558e-05 0.495726934 0.513259289 0.8554494483 0.05270001399 0.06314503126 0.1284387793 0.002010572212 0.002245774641 0.08459686849 0.0006781104219 0.001043545509 0.0321046318 7.477142908e-05 0.0001198309287 0.0008740942697 0.000314370922 0.0004766160339 0.0006031258316 8.621238219e-05 0.0001035671389 0.001839325965 6.135074924e-05 6.792331266e-05 0.0002019288118 3.748894875e-05 0.0001227724732 0.0001358936561 6.614301922e-05 8.667688695e-05 0.0003637961651 4.325828215e-05 5.320922396e-05 9.256091574e-05 4.717813107e-05 5.26975738e-05 6.512425766e-05 4.036925952e-05 4.582077217e-05 0.0001115153413 -4.201500259e-14 2.318992809e-07 0.3946701482 0.5114627326 0.5430379672 -1.528291382e-15 1.321771425e-06 0.06358728311 0.1289176481 0.1518655472 -2.813721478e-15 5.329534275e-06 0.01423222587 0.01686477908 0.01947627673 -2.238731797e-15 1.789596519e-06 7.945394706e-05 0.0002056196701 0.03075041389 -7.189530953e-17 3.570102327e-08 0.000128020796 0.0003106019487 0.00349602538 -4.158931771e-17 5.72335645e-07 0.0001428120485 0.0004176966772 0.0006499234709 -1.355252716e-19 3.240749442e-10 1.447820741e-05 2.195383392e-05 0.001351212072 -1.066970346e-17 1.654236155e-09 9.240769839e-05 0.000111777506 0.0001497317319 -2.120419929e-17 1.747308723e-08 9.276902073e-05 0.0001425894753 0.0001793036357 -5.925418983e-18 4.431695181e-09 4.29546023e-05 7.150592423e-05 0.0001874481269 -4.414947479e-18 1.117382431e-09 1.218200499e-05 4.835160026e-05 5.541954064e-05 -4.95175461e-18 6.770259068e-10 4.529460622e-05 5.182849641e-05 5.54090552e-05 -4.588377475e-18 1.28291777e-09 3.529558353e-05 4.647622419e-05 5.018985314e-05 -1.076905759 0.7505672105 0.2654735826 0.03602771298 0.002602551235 0.0003282954594 0.0004230428263 0.001104631382 0.000484227278 0.0003667222204 7.970678348e-05 5.526037756e-05 3.597855097e-05 0.5093264096 0.5295797518 0.8603779172 0.05978648191 0.07011888455 0.1267264325 0.002799184517 0.00320095235 0.08227264164 0.0005340127392 0.0008612190756 0.03636668558 7.341019579e-05 0.0001326467689 0.0007106140273 0.0002726371094 0.0004284535045 0.000531731561 7.25178725e-05 8.169619072e-05 0.00199688686 6.526238644e-05 7.214393049e-05 0.0001522542184 5.168144081e-05 0.0001273129985 0.0001438518239 6.099455487e-05 8.211188965e-05 0.0003724476668 4.329148742e-05 5.2767521e-05 6.939157346e-05 4.797154716e-05 5.365169042e-05 7.187699257e-05 3.916720294e-05 4.558041043e-05 0.0001095943866 -5.331499131e-14 4.884262051e-07 0.381812448 0.5064834489 0.5400106478 -5.123505786e-15 9.055336293e-07 0.0673416006 0.1362313965 0.1599758942 -2.879207289e-15 6.863623229e-06 0.0154092469 0.01667488876 0.02016716968 -8.951606817e-15 2.61519226e-06 0.0001008043504 0.000122793475 0.02994082585 -2.154851818e-18 4.284069415e-09 0.0001755709327 0.0004102819955 0.004612884769 -3.99359094e-17 5.16398016e-07 0.0003206919486 0.0004590677531 0.0006049351942 -5.057633728e-18 1.603035762e-09 5.661183523e-06 1.284970954e-05 0.001120873834 -1.310084684e-17 2.826054946e-09 0.0001133291171 0.0001310638632 0.0001793411122 -2.142103972e-17 2.417480231e-08 0.0001201588268 0.0001716169249 0.0001768421225 -5.138948891e-18 3.09719065e-09 3.627318582e-05 6.258724207e-05 0.0001430005699 -5.606193441e-18 1.758833697e-09 8.498437259e-06 5.075844714e-05 5.56219579e-05 -5.638063055e-18 1.008359145e-09 5.013459407e-05 5.306528676e-05 5.506585846e-05 -4.653599012e-18 1.326652709e-09 3.17974234e-05 4.146664705e-05 4.554097626e-05 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/pdm_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/pdm_ref.dat deleted file mode 100644 index 4065db5d5c..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/pdm_ref.dat +++ /dev/null @@ -1,195 +0,0 @@ -1.324860831 -0.5600247713 -0.08683995213 -0.002391330993 -0.0002024558499 -0.001941592692 -0.0009357014709 -0.001285464024 -0.0003747383084 -0.0003981271759 -3.380417477e-05 -6.431403684e-05 -2.556932909e-06 -0.8701976527 0.005609094391 -0.002127181627 0.005609094391 0.9337540201 0.003532251603 -0.002127181627 0.003532251603 0.9170625986 -0.6030539411 -0.0044809685 0.002095243709 -0.0044809685 0.5679252914 -0.002110611483 0.002095243709 -0.002110611483 0.5828175335 -0.2683326068 -0.004415267727 0.002095960779 -0.004415267727 0.2233240565 -0.002429312865 0.002095960779 -0.002429312865 0.2373711287 -0.06713263437 -0.001171610801 0.0006043376583 -0.001171610801 0.05128859824 -0.0007574957636 0.0006043376583 -0.0007574957636 0.05497103906 -0.03036652489 4.053388325e-05 2.745475799e-05 4.053388325e-05 0.02759504213 -7.293323671e-05 2.745475799e-05 -7.293323671e-05 0.02750549095 -0.009289374562 0.0001989400706 -8.70329705e-05 0.0001989400706 0.01043386976 8.760815653e-05 -8.70329705e-05 8.760815653e-05 0.009772955057 -0.007780146451 0.0001676134087 -8.796935385e-05 0.0001676134087 0.00952645831 0.0001003853046 -8.796935385e-05 0.0001003853046 0.0089455567 -0.002691795272 -2.195192621e-06 -1.022521325e-05 -2.195192621e-06 0.003006014969 8.057490116e-06 -1.022521325e-05 8.057490116e-06 0.002991843361 -0.002713431332 -2.491290288e-05 5.027066783e-06 -2.491290288e-05 0.002740607026 -8.192125131e-06 5.027066783e-06 -8.192125131e-06 0.002807832203 -0.0005449455659 -9.398482779e-06 4.544923076e-06 -9.398482779e-06 0.0004450119571 -6.186677051e-06 4.544923076e-06 -6.186677051e-06 0.0004732235615 -0.0006800817701 1.448875764e-06 1.233361039e-06 1.448875764e-06 0.0006243431276 -1.806680696e-06 1.233361039e-06 -1.806680696e-06 0.0006217398767 -4.655687679e-05 6.080461015e-07 -2.179167721e-07 6.080461015e-07 4.340756859e-05 1.199281535e-07 -2.179167721e-07 1.199281535e-07 4.152982303e-05 -0.0001565739579 3.827253496e-06 -1.784292154e-06 3.827253496e-06 0.0001842258783 2.200041232e-06 -1.784292154e-06 2.200041232e-06 0.0001719075475 -0.04082953624 -0.0006691033691 0.0006640405922 -0.002754871734 -0.0007859772931 -0.0006691033691 0.01838866705 0.0003234641925 0.02786343147 -0.0005177562226 0.0006640405922 0.0003234641925 0.01881777327 0.0005449416618 -0.02525371626 -0.002754871734 0.02786343147 0.0005449416618 0.04229624581 -0.0008632384939 -0.0007859772931 -0.0005177562226 -0.02525371626 -0.0008632384939 0.03389188958 -0.04174940727 0.0006382564002 0.0002922527555 -0.0008601954183 -0.0002680954554 0.0006382564002 0.01461726097 2.463892206e-05 0.02210481685 -0.0001003063709 0.0002922527555 2.463892206e-05 0.01640014516 9.414480598e-05 -0.02200691119 -0.0008601954183 0.02210481685 9.414480598e-05 0.03350936224 -0.0002343069653 -0.0002680954554 -0.0001003063709 -0.02200691119 -0.0002343069653 0.02953155304 -0.01645281588 0.0007881647945 -6.28821895e-05 0.0004497912047 0.0001427063832 0.0007881647945 0.003827348478 -0.0001131693807 0.005763301783 0.0001345220269 -6.28821895e-05 -0.0001131693807 0.004956688206 -0.0001493355463 -0.00665021018 0.0004497912047 0.005763301783 -0.0001493355463 0.008712366127 0.0001712546827 0.0001427063832 0.0001345220269 -0.00665021018 0.0001712546827 0.008922781126 -0.002025339402 0.0001759678168 -4.547037104e-05 0.0001678442401 7.141049595e-05 0.0001759678168 7.181694988e-05 -2.660080371e-05 0.0001009217039 3.589327208e-05 -4.547037104e-05 -2.660080371e-05 0.0001938358296 -3.784716338e-05 -0.000259925353 0.0001678442401 0.0001009217039 -3.784716338e-05 0.0001457904557 5.056667927e-05 7.141049595e-05 3.589327208e-05 -0.000259925353 5.056667927e-05 0.0003486130575 -0.0001207131226 5.682655545e-07 -9.209685267e-07 -5.447717272e-06 2.130633803e-06 5.682655545e-07 2.32898446e-05 3.009755808e-06 3.501322066e-05 -4.023150241e-06 -9.209685267e-07 3.009755808e-06 6.523194143e-06 4.67936204e-06 -8.798802628e-06 -5.447717272e-06 3.501322066e-05 4.67936204e-06 5.296964207e-05 -6.303662703e-06 2.130633803e-06 -4.023150241e-06 -8.798802628e-06 -6.303662703e-06 1.187513587e-05 -0.0001582902374 4.014276469e-06 1.755939232e-06 -3.719729419e-07 -2.139115248e-06 4.014276469e-06 9.178069339e-05 3.423257508e-07 0.0001388612213 -9.159965939e-07 1.755939232e-06 3.423257508e-07 0.0001103666222 9.135023615e-07 -0.0001481012535 -3.719729419e-07 0.0001388612213 9.135023615e-07 0.000210364008 -1.929878456e-06 -2.139115248e-06 -9.159965939e-07 -0.0001481012535 -1.929878456e-06 0.0001987419053 -2.743575416e-05 3.468007303e-06 -1.329634824e-06 3.920857131e-06 1.91553066e-06 3.468007303e-06 8.503836337e-07 -6.738596307e-07 1.13158698e-06 9.114863408e-07 -1.329634824e-06 -6.738596307e-07 3.564236338e-06 -9.583922323e-07 -4.777842475e-06 3.920857131e-06 1.13158698e-06 -9.583922323e-07 1.542110529e-06 1.290351229e-06 1.91553066e-06 9.114863408e-07 -4.777842475e-06 1.290351229e-06 6.405523976e-06 -3.025573106e-05 2.160916417e-06 -6.782021154e-07 1.747099997e-06 1.094573813e-06 2.160916417e-06 2.825814412e-07 -1.898500789e-07 3.192778962e-07 2.668564213e-07 -6.782021154e-07 -1.898500789e-07 5.696174044e-07 -2.571431938e-07 -7.646145549e-07 1.747099997e-06 3.192778962e-07 -2.571431938e-07 3.959849552e-07 3.540030568e-07 1.094573813e-06 2.668564213e-07 -7.646145549e-07 3.540030568e-07 1.027542711e-06 -4.713305815e-06 -6.649723304e-07 3.988067846e-07 -1.156978281e-06 -5.460317295e-07 -6.649723304e-07 7.561997354e-06 3.284528065e-07 1.147716272e-05 -4.768544559e-07 3.988067846e-07 3.284528065e-07 7.734359918e-06 5.17792396e-07 -1.038187904e-05 -1.156978281e-06 1.147716272e-05 5.17792396e-07 1.742431925e-05 -7.492374403e-07 -5.460317295e-07 -4.768544559e-07 -1.038187904e-05 -7.492374403e-07 1.393590521e-05 -2.898177794e-07 -4.184288337e-07 3.710890286e-08 -6.413536454e-07 -4.939857292e-08 -4.184288337e-07 8.380225593e-07 8.738907976e-08 1.280937395e-06 -1.190566861e-07 3.710890286e-08 8.738907976e-08 1.497479484e-07 1.321963149e-07 -2.017004003e-07 -6.413536454e-07 1.280937395e-06 1.321963149e-07 1.957994231e-06 -1.801237131e-07 -4.939857292e-08 -1.190566861e-07 -2.017004003e-07 -1.801237131e-07 2.716825638e-07 -6.084415654e-06 4.787941328e-07 -1.224416094e-07 4.437241361e-07 1.880180678e-07 4.787941328e-07 9.368443997e-07 -1.042432064e-07 1.399179999e-06 1.358350714e-07 -1.224416094e-07 -1.042432064e-07 1.519386323e-06 -1.475955626e-07 -2.037959131e-06 4.437241361e-07 1.399179999e-06 -1.475955626e-07 2.102431746e-06 1.907497737e-07 1.880180678e-07 1.358350714e-07 -2.037959131e-06 1.907497737e-07 2.733688508e-06 -2.137555909e-06 -1.474523529e-09 6.359206337e-08 -8.228119995e-08 -8.571862877e-08 -1.474523529e-09 1.917304922e-06 3.623806092e-08 2.904366839e-06 -5.826451071e-08 6.359206337e-08 3.623806092e-08 2.235054188e-06 6.210852557e-08 -2.999519276e-06 -8.228119995e-08 2.904366839e-06 6.210852557e-08 4.402717542e-06 -9.797547391e-08 -8.571862877e-08 -5.826451071e-08 -2.999519276e-06 -9.797547391e-08 4.025531291e-06 -2.049845406e-06 -4.552720378e-08 2.298682404e-08 -1.613265797e-07 -2.296345571e-08 -4.552720378e-08 5.72284479e-07 9.165114501e-09 8.676122931e-07 -1.465656249e-08 2.298682404e-08 9.165114501e-09 5.074221893e-07 1.512646232e-08 -6.809459882e-07 -1.613265797e-07 8.676122931e-07 1.512646232e-08 1.319572949e-06 -2.424868624e-08 -2.296345571e-08 -1.465656249e-08 -6.809459882e-07 -2.424868624e-08 9.138633058e-07 -1.098605102 -0.7495795634 -0.3252209747 -0.06672575817 -0.005898566349 -0.000519189802 -0.0002552736779 -0.0003234603839 -0.0002335484133 -0.0004497605392 -0.0001012210655 -8.786165673e-05 -3.539866253e-05 -0.8790379758 0.01146239114 -0.001773284461 0.01146239114 0.5983887171 0.001925496124 -0.001773284461 0.001925496124 0.5910894927 -0.1255118493 -0.004432744004 0.001570698651 -0.004432744004 0.1053799048 -0.0008219856725 0.001570698651 -0.0008219856725 0.1115685524 -0.06158496902 0.0008913769551 0.0002207189229 0.0008913769551 0.009550267071 -8.138739772e-05 0.0002207189229 -8.138739772e-05 0.009883849354 -0.05013199361 0.0007311325526 0.0002190423567 0.0007311325526 5.741756774e-05 -2.062865081e-06 0.0002190423567 -2.062865081e-06 9.149444492e-05 -0.004299472559 8.210514398e-05 1.097046641e-05 8.210514398e-05 0.0002958197207 9.349593439e-06 1.097046641e-05 9.349593439e-06 0.0002459221495 -0.0004268039784 4.909660569e-05 -1.403264053e-05 4.909660569e-05 0.0004817851957 8.952013385e-06 -1.403264053e-05 8.952013385e-06 0.0004114724061 -0.001405574025 2.43612894e-05 5.889844424e-06 2.43612894e-05 1.500373769e-05 -2.074557324e-07 5.889844424e-06 -2.074557324e-07 1.575387644e-05 -0.0001722999753 -2.547459924e-06 1.137360186e-06 -2.547459924e-06 0.0001298197129 -4.210738673e-07 1.137360186e-06 -4.210738673e-07 0.0001356758537 -0.000442086219 1.663638735e-05 -3.186774537e-06 1.663638735e-05 0.0001390105432 2.031753626e-06 -3.186774537e-06 2.031753626e-06 0.000127753764 -0.0001639297539 9.150408745e-06 -1.721228933e-06 9.150408745e-06 5.357242397e-05 9.49002891e-07 -1.721228933e-06 9.49002891e-07 4.672426099e-05 -2.27294679e-05 4.695540511e-07 -2.287860922e-07 4.695540511e-07 5.548825871e-05 1.728941869e-07 -2.287860922e-07 1.728941869e-07 5.386034607e-05 -0.0001350260631 3.035797169e-06 -2.404406262e-07 3.035797169e-06 5.001988125e-05 2.870744927e-07 -2.404406262e-07 2.870744927e-07 4.855822627e-05 -6.138386731e-05 2.905736243e-06 -8.678507812e-07 2.905736243e-06 4.232043561e-05 5.265008324e-07 -8.678507812e-07 5.265008324e-07 3.941841536e-05 -0.3120738061 -0.005174589817 -0.0002764858079 -0.00295675098 0.0008748703082 -0.005174589817 0.4766103222 0.002155810459 0.1068962963 -1.932697114e-05 -0.0002764858079 0.002155810459 0.4757505432 0.0001332287351 -0.08105920823 -0.00295675098 0.1068962963 0.0001332287351 0.02398579965 5.058557007e-05 0.0008748703082 -1.932697114e-05 -0.08105920823 5.058557007e-05 0.01381350892 -0.08793025323 -0.007263745652 0.001122462017 -0.001758126188 -0.0001332892631 -0.007263745652 0.1736909343 -0.001106894289 0.02235404578 0.0005782716342 0.001122462017 -0.001106894289 0.1846496954 -0.0006759584041 -0.01672515822 -0.001758126188 0.02235404578 -0.0006759584041 0.002886237848 0.0001228615576 -0.0001332892631 0.0005782716342 -0.01672515822 0.0001228615576 0.001516248803 -0.004750376178 -0.001416451944 5.111221507e-05 3.122402723e-06 -1.672735937e-05 -0.001416451944 0.03180436749 -0.000336140211 -0.0006455582056 0.0001559911841 5.111221507e-05 -0.000336140211 0.03367104914 -0.0001742875953 0.001470345427 3.122402723e-06 -0.0006455582056 -0.0001742875953 1.575233322e-05 -1.053074062e-05 -1.672735937e-05 0.0001559911841 0.001470345427 -1.053074062e-05 6.530817292e-05 -0.01929214432 0.0005398414528 0.0001138302013 -4.850284797e-05 -1.075723521e-05 0.0005398414528 0.001190141358 1.664205247e-05 -0.0004734484248 8.119731401e-06 0.0001138302013 1.664205247e-05 0.0009701256729 -7.349591736e-06 0.0004700659844 -4.850284797e-05 -0.0004734484248 -7.349591736e-06 0.0001900152629 -4.131631105e-06 -1.075723521e-05 8.119731401e-06 0.0004700659844 -4.131631105e-06 0.0002279983686 -0.008394420538 0.0001790590956 6.05954106e-05 -4.277094606e-05 -1.183202487e-05 0.0001790590956 0.001162814047 3.298015852e-05 0.0002223221047 -6.302299668e-06 6.05954106e-05 3.298015852e-05 0.0009736676416 7.664947422e-06 -0.0001179121293 -4.277094606e-05 0.0002223221047 7.664947422e-06 4.327544395e-05 -1.307105879e-06 -1.183202487e-05 -6.302299668e-06 -0.0001179121293 -1.307105879e-06 1.429625862e-05 -0.00322899503 0.0001416309251 5.28277206e-06 1.325922748e-05 2.563646753e-06 0.0001416309251 0.0001597716111 4.045801353e-06 3.697245045e-06 -1.738831644e-08 5.28277206e-06 4.045801353e-06 0.0001185587318 4.000773935e-07 8.381203635e-06 1.325922748e-05 3.697245045e-06 4.000773935e-07 1.606529565e-07 4.017175683e-08 2.563646753e-06 -1.738831644e-08 8.381203635e-06 4.017175683e-08 5.978701379e-07 -0.0001798353106 2.7916233e-06 2.25836359e-06 -2.190188175e-06 -7.17146024e-07 2.7916233e-06 9.577763757e-07 1.209804215e-07 -1.601061958e-06 2.108793237e-07 2.25836359e-06 1.209804215e-07 5.470092205e-08 -2.561608366e-07 8.051319584e-09 -2.190188175e-06 -1.601061958e-06 -2.561608366e-07 3.133526075e-06 1.2234598e-07 -7.17146024e-07 2.108793237e-07 8.051319584e-09 1.2234598e-07 3.944063543e-06 -6.288983557e-05 -1.01548447e-05 4.932460701e-07 -2.559932675e-06 -1.570014878e-07 -1.01548447e-05 0.0002590103119 2.506078061e-07 5.721825886e-05 2.100676798e-07 4.932460701e-07 2.506078061e-07 0.000270715718 -2.443922396e-07 -4.642143988e-05 -2.559932675e-06 5.721825886e-05 -2.443922396e-07 1.264211501e-05 9.807007099e-08 -1.570014878e-07 2.100676798e-07 -4.642143988e-05 9.807007099e-08 7.9605876e-06 -0.0004608944636 2.288587925e-05 -1.117380542e-06 3.330250829e-06 1.347688843e-06 2.288587925e-05 7.034720289e-05 2.018174537e-06 2.062781067e-05 -4.992624985e-07 -1.117380542e-06 2.018174537e-06 5.80134666e-05 6.966515238e-07 -1.303982333e-05 3.330250829e-06 2.062781067e-05 6.966515238e-07 6.074917185e-06 -1.777436346e-07 1.347688843e-06 -4.992624985e-07 -1.303982333e-05 -1.777436346e-07 2.934023697e-06 -1.422234189e-05 8.008637616e-07 -3.238560709e-07 1.425785444e-07 1.096387275e-07 8.008637616e-07 3.017158568e-05 6.682182621e-07 8.813401121e-06 -1.716532085e-07 -3.238560709e-07 6.682182621e-07 2.515641359e-05 2.224602022e-07 -5.558715261e-06 1.425785444e-07 8.813401121e-06 2.224602022e-07 2.576445152e-06 -5.58076185e-08 1.096387275e-07 -1.716532085e-07 -5.558715261e-06 -5.58076185e-08 1.228683945e-06 -1.978600828e-05 -1.806792249e-06 1.653670012e-07 -5.670315638e-07 1.67279459e-08 -1.806792249e-06 5.592914538e-05 2.226963229e-09 1.29644519e-05 5.78933338e-08 1.653670012e-07 2.226963229e-09 5.728228833e-05 -6.544616104e-08 -1.028248652e-05 -5.670315638e-07 1.29644519e-05 -6.544616104e-08 3.006364899e-06 2.490126691e-08 1.67279459e-08 5.78933338e-08 -1.028248652e-05 2.490126691e-08 1.845958267e-06 -5.967291663e-05 6.385836033e-07 1.594478802e-07 -3.451196265e-07 1.121979895e-07 6.385836033e-07 3.696276638e-05 2.155981651e-07 1.061837384e-05 -3.837673617e-08 1.594478802e-07 2.155981651e-07 3.739350371e-05 5.074322418e-08 -8.592431348e-06 -3.451196265e-07 1.061837384e-05 5.074322418e-08 3.055054105e-06 -9.758263664e-09 1.121979895e-07 -3.837673617e-08 -8.592431348e-06 -9.758263664e-09 1.974800579e-06 -8.805166708e-06 1.381642814e-07 -3.181187649e-07 3.622906697e-08 1.181397702e-07 1.381642814e-07 3.153216446e-05 4.878348828e-07 8.485214167e-06 -1.109934826e-07 -3.181187649e-07 4.878348828e-07 2.88635623e-05 1.46827613e-07 -5.921139465e-06 3.622906697e-08 8.485214167e-06 1.46827613e-07 2.283356427e-06 -3.306192014e-08 1.181397702e-07 -1.109934826e-07 -5.921139465e-06 -3.306192014e-08 1.214999689e-06 -1.066059296 -0.7453159715 -0.2272757978 -0.02268097303 -0.00210041428 -0.0006983231607 -0.0009453295944 -0.001533508085 -0.0004715005968 -0.0002363166266 -7.650629389e-05 -7.034243271e-05 -3.474045631e-05 -0.5017106499 0.1031553107 -0.0003199601392 0.1031553107 0.8149832967 0.001572798836 -0.0003199601392 0.001572798836 0.4852530623 -0.06193132663 0.02958905732 0.0003455714645 0.02958905732 0.1210752982 -0.00115446966 0.0003455714645 -0.00115446966 0.04267756127 -0.009161065395 0.02512886108 -1.288398096e-05 0.02512886108 0.07835302372 -1.382069255e-05 -1.288398096e-05 -1.382069255e-05 0.0009075376598 -0.003778284137 0.00709618779 -1.568333482e-07 0.00709618779 0.0213872172 -9.35160863e-05 -1.568333482e-07 -9.35160863e-05 0.0009769502846 -0.0002587025415 0.0005452880074 2.721600781e-07 0.0005452880074 0.00190414638 8.175310585e-07 2.721600781e-07 8.175310585e-07 0.0001230079862 -0.0003238627351 0.0001409950875 -6.387875955e-06 0.0001409950875 0.0008879793131 1.391813368e-05 -6.387875955e-06 1.391813368e-05 0.000404834213 -0.0002193451994 0.0003456527415 -5.969284738e-07 0.0003456527415 0.00124939332 8.511030836e-06 -5.969284738e-07 8.511030836e-06 0.0001332353321 -9.786393454e-05 9.812608354e-05 5.259032204e-08 9.812608354e-05 0.0003443525504 -2.359188564e-07 5.259032204e-08 -2.359188564e-07 5.971999226e-05 -0.0001048956611 -2.270746064e-05 -2.518999591e-08 -2.270746064e-05 5.687933787e-05 -1.482848907e-07 -2.518999591e-08 -1.482848907e-07 0.0001214578283 -8.919499693e-05 5.169055192e-05 -3.440709446e-07 5.169055192e-05 0.0002864183361 2.799654141e-06 -3.440709446e-07 2.799654141e-06 9.306717344e-05 -4.975913754e-05 2.150576282e-05 -2.921447272e-07 2.150576282e-05 0.0001407643515 2.633182399e-06 -2.921447272e-07 2.633182399e-06 5.469631949e-05 -4.575441856e-05 7.34258149e-07 -2.028291083e-07 7.34258149e-07 6.096168388e-05 1.181424888e-06 -2.028291083e-07 1.181424888e-06 5.146778195e-05 -4.661735306e-05 1.58747815e-05 -7.830885724e-08 1.58747815e-05 0.0001009521871 5.049012105e-07 -7.830885724e-08 5.049012105e-07 4.609620819e-05 -0.2552363283 0.1653921921 0.0002218234907 -0.1880249116 -0.001992947638 0.1653921921 0.4051274787 0.0002992577391 0.08097362147 -0.0007154403749 0.0002218234907 0.0002992577391 0.01388962003 -0.0002742466705 0.08594013859 -0.1880249116 0.08097362147 -0.0002742466705 0.2765681336 0.0005194501762 -0.001992947638 -0.0007154403749 0.08594013859 0.0005194501762 0.5317878264 -0.04644169237 0.04848098675 0.0002446501373 -0.0308142343 0.001488533112 0.04848098675 0.1041897238 3.147557575e-05 0.001541808169 0.0004739628388 0.0002446501373 3.147557575e-05 0.00740932909 -0.0002197244908 0.02852874985 -0.0308142343 0.001541808169 -0.0002197244908 0.04165627415 -0.001347513251 0.001488533112 0.0004739628388 0.02852874985 -0.001347513251 0.1098553421 -0.005914383768 -0.0005808435175 1.793280475e-05 -0.009310794097 6.084969057e-05 -0.0005808435175 0.01529085228 -1.307627597e-05 0.007706884075 6.36497884e-05 1.793280475e-05 -1.307627597e-05 0.001668520735 -8.498414189e-06 0.003764650788 -0.009310794097 0.007706884075 -8.498414189e-06 0.0176961175 -1.037671064e-05 6.084969057e-05 6.36497884e-05 0.003764650788 -1.037671064e-05 0.008495021349 -0.003941530192 -0.005235019695 6.324073517e-07 -0.008229986068 5.597011513e-05 -0.005235019695 0.008509145438 -8.028061341e-07 0.01239400254 -3.559454342e-05 6.324073517e-07 -8.028061341e-07 5.735380979e-06 -8.250149701e-07 -4.043354852e-05 -0.008229986068 0.01239400254 -8.250149701e-07 0.01856050411 -8.34309547e-05 5.597011513e-05 -3.559454342e-05 -4.043354852e-05 -8.34309547e-05 0.0002871492699 -0.0002862594324 -0.0002710811798 1.474288174e-06 -0.000470424383 -5.854694714e-06 -0.0002710811798 0.0004749556419 2.646841282e-07 0.0006898541748 -4.055752445e-06 1.474288174e-06 2.646841282e-07 8.47038276e-06 -5.79371808e-07 -3.967537256e-05 -0.000470424383 0.0006898541748 -5.79371808e-07 0.001047059729 -9.477086191e-07 -5.854694714e-06 -4.055752445e-06 -3.967537256e-05 -9.477086191e-07 0.0001858889464 -0.0001549649527 0.0001724090115 -2.842428874e-06 -0.0001093990876 -1.793683725e-05 0.0001724090115 0.0002656066397 -1.195385562e-07 -6.918876476e-05 -1.105664823e-05 -2.842428874e-06 -1.195385562e-07 3.017325854e-05 2.368397177e-06 0.0001336285146 -0.0001093990876 -6.918876476e-05 2.368397177e-06 0.0001147294097 1.100111281e-05 -1.793683725e-05 -1.105664823e-05 0.0001336285146 1.100111281e-05 0.000592270484 -0.0002168588754 -0.000265453977 5.64012762e-08 -0.000443732877 -1.337851152e-06 -0.000265453977 0.000442676053 -9.478388692e-08 0.0006274689405 3.673336187e-07 5.64012762e-08 -9.478388692e-08 9.602119495e-07 -1.664800242e-07 6.373629407e-06 -0.000443732877 0.0006274689405 -1.664800242e-07 0.0009683219575 1.609782954e-06 -1.337851152e-06 3.673336187e-07 6.373629407e-06 1.609782954e-06 4.23320063e-05 -4.652247235e-05 2.484547569e-05 1.695162455e-07 -3.02675705e-05 1.421110535e-06 2.484547569e-05 7.528680407e-05 1.133224876e-07 3.231037971e-05 4.823795075e-07 1.695162455e-07 1.133224876e-07 4.418982674e-07 -1.013270461e-07 5.547455891e-06 -3.02675705e-05 3.231037971e-05 -1.013270461e-07 5.758984288e-05 -1.246732791e-06 1.421110535e-06 4.823795075e-07 5.547455891e-06 -1.246732791e-06 6.966020916e-05 -6.615784846e-05 6.654582275e-05 1.287488042e-08 -3.009069358e-05 -1.42120136e-06 6.654582275e-05 8.540190634e-05 1.015939853e-07 -1.826508824e-05 -6.436095865e-07 1.287488042e-08 1.015939853e-07 3.41195529e-06 -3.123872158e-08 2.452579417e-05 -3.009069358e-05 -1.826508824e-05 -3.123872158e-08 2.150292796e-05 5.576615787e-07 -1.42120136e-06 -6.436095865e-07 2.452579417e-05 5.576615787e-07 0.000176332623 -6.435742872e-05 -1.513560455e-05 -5.322111988e-08 -8.372704509e-05 -2.748676993e-06 -1.513560455e-05 8.566089739e-05 6.757125265e-09 7.821447635e-05 -1.397832915e-07 -5.322111988e-08 6.757125265e-09 1.093508856e-06 3.980402662e-09 9.745964265e-06 -8.372704509e-05 7.821447635e-05 3.980402662e-09 0.0001506639426 2.462457008e-06 -2.748676993e-06 -1.397832915e-07 9.745964265e-06 2.462457008e-06 8.695225125e-05 -2.382044658e-05 1.70127945e-05 -2.372481863e-08 -1.471763175e-05 -1.079782801e-06 1.70127945e-05 3.163137193e-05 3.638598148e-08 3.136072913e-06 -2.655349373e-07 -2.372481863e-08 3.638598148e-08 8.035877025e-07 2.008581534e-08 6.489221924e-06 -1.471763175e-05 3.136072913e-06 2.008581534e-08 1.865575948e-05 7.635039288e-07 -1.079782801e-06 -2.655349373e-07 6.489221924e-06 7.635039288e-07 5.243597039e-05 -2.551098935e-05 1.943360805e-05 5.198348678e-09 -1.567053154e-05 -5.554781893e-07 1.943360805e-05 3.808089509e-05 3.887870537e-08 4.268637265e-06 -1.632093736e-07 5.198348678e-09 3.887870537e-08 1.101751813e-06 -6.9869855e-09 7.805948913e-06 -1.567053154e-05 4.268637265e-06 -6.9869855e-09 2.091068736e-05 3.227735456e-07 -5.554781893e-07 -1.632093736e-07 7.805948913e-06 3.227735456e-07 5.531925477e-05 -2.711009423e-05 9.061388967e-06 3.822570617e-09 -2.420983286e-05 -7.176271173e-07 9.061388967e-06 3.650081574e-05 2.564685441e-08 1.562199442e-05 -1.444734954e-07 3.822570617e-09 2.564685441e-08 7.46629687e-07 -1.249529354e-08 6.14402617e-06 -2.420983286e-05 1.562199442e-05 -1.249529354e-08 3.842506949e-05 4.904677103e-07 -7.176271173e-07 -1.444734954e-07 6.14402617e-06 4.904677103e-07 5.058067255e-05 -1.072875794 -0.7492115734 -0.2520946 -0.03085946079 -0.002353586074 -0.0004022672543 -0.0005672046673 -0.001282863354 -0.000496264943 -0.0003186440715 -7.841854164e-05 -5.784777788e-05 -3.522718558e-05 -0.5313748497 -0.05075507813 -0.09351773474 -0.05075507813 0.5918972624 0.1347325842 -0.09351773474 0.1347325842 0.7411635593 -0.077312295 -0.01381486159 -0.02353146173 -0.01381486159 0.06485247804 0.02408952828 -0.02353146173 0.02408952828 0.1021190515 -0.01168001622 -0.01276839697 -0.02291092486 -0.01276839697 0.0193702725 0.03112091437 -0.02291092486 0.03112091437 0.05780292663 -0.005088742076 -0.005082344744 -0.009148787559 -0.005082344744 0.007005976952 0.01153158777 -0.009148787559 0.01153158777 0.02173156871 -0.0001347999646 -0.0001032506916 -0.0001834714095 -0.0001032506916 0.0002924139487 0.0003001408528 -0.0001834714095 0.0003001408528 0.0006414827143 -0.0003175761422 2.888393726e-06 -2.428831208e-05 2.888393726e-06 0.0005461665762 6.368364788e-05 -2.428831208e-05 6.368364788e-05 0.0005303700691 -0.0002791614379 -0.0002666024275 -0.000475871056 -0.0002666024275 0.0004860420648 0.0006688057564 -0.000475871056 0.0006688057564 0.001263901984 -8.986294129e-05 -2.40982642e-05 -4.33455723e-05 -2.40982642e-05 8.887935037e-05 5.007239609e-05 -4.33455723e-05 5.007239609e-05 0.000152460582 -0.0001059527658 1.688512626e-05 2.949226523e-05 1.688512626e-05 0.0001173764032 -3.412450143e-05 2.949226523e-05 -3.412450143e-05 7.282590913e-05 -8.849054128e-05 -3.777791203e-05 -6.810160662e-05 -3.777791203e-05 0.0001542372668 0.0001128515429 -6.810160662e-05 0.0001128515429 0.0002738882632 -4.490565133e-05 -3.463127118e-06 -7.334286816e-06 -3.463127118e-06 6.759540944e-05 1.865957788e-05 -7.334286816e-06 1.865957788e-05 7.652736109e-05 -4.74455639e-05 -4.887737558e-07 -1.718186495e-06 -4.887737558e-07 5.843688319e-05 6.195387793e-06 -1.718186495e-06 6.195387793e-06 5.911751543e-05 -4.580864529e-05 -9.039183093e-06 -1.647377652e-05 -9.039183093e-06 6.151739419e-05 2.652792525e-05 -1.647377652e-05 2.652792525e-05 9.037933351e-05 -0.2711916722 -0.07879208524 -0.1476290366 0.08790057722 -0.1596970253 -0.07879208524 0.1013272959 0.1521706098 -0.05162878114 -0.07698422436 -0.1476290366 0.1521706098 0.2943217914 0.07639935295 -0.03588113893 0.08790057722 -0.05162878114 0.07639935295 0.4551557018 0.1170309821 -0.1596970253 -0.07698422436 -0.03588113893 0.1170309821 0.3271746186 -0.05868455267 -0.02827120976 -0.05032977412 0.02103845094 -0.02817844779 -0.02827120976 0.03354094778 0.0429523607 -0.02557520186 -0.01621720935 -0.05032977412 0.0429523607 0.0876609777 0.01469773238 0.006605100029 0.02103845094 -0.02557520186 0.01469773238 0.1023746265 0.03125186577 -0.02817844779 -0.01621720935 0.006605100029 0.03125186577 0.06211069555 -0.006504909253 -0.001704147882 -0.002824237906 0.004244810247 -0.006394526282 -0.001704147882 0.005923129176 0.0060809013 -0.003120037328 -0.00409310426 -0.002824237906 0.0060809013 0.01343578493 0.003944838723 -0.001504321294 0.004244810247 -0.003120037328 0.003944838723 0.01208716265 -0.000578907677 -0.006394526282 -0.00409310426 -0.001504321294 -0.000578907677 0.01262762522 -0.003209410875 0.002632204464 0.004702607345 0.003934758634 -0.006206384111 0.002632204464 0.002352895827 0.004141927108 0.003463678911 -0.005450412741 0.004702607345 0.004141927108 0.007495664719 0.006136982883 -0.009811095655 0.003934758634 0.003463678911 0.006136982883 0.005115535647 -0.008072210748 -0.006206384111 -0.005450412741 -0.009811095655 -0.008072210748 0.01286377003 -0.0004349039261 0.0002717464953 0.000486737528 0.0004227894796 -0.000727325012 0.0002717464953 0.0002747714227 0.0004891427851 0.0004092608518 -0.0006094533248 0.000486737528 0.0004891427851 0.0008791043864 0.0006896995459 -0.00111650873 0.0004227894796 0.0004092608518 0.0006896995459 0.0007968144275 -0.0007826376294 -0.000727325012 -0.0006094533248 -0.00111650873 -0.0007826376294 0.001549089663 -0.0001800577297 -6.496648164e-05 -0.0001343500779 3.65411611e-05 -0.0001480902912 -6.496648164e-05 8.808286046e-05 8.242070971e-05 -0.0001226479685 -5.034551496e-05 -0.0001343500779 8.242070971e-05 0.0001898453336 5.0241923e-05 8.948306814e-05 3.65411611e-05 -0.0001226479685 5.0241923e-05 0.0004485051978 0.0002077063441 -0.0001480902912 -5.034551496e-05 8.948306814e-05 0.0002077063441 0.0003045134107 -0.0001490905957 0.000112625737 0.000201685163 0.0001719510204 -0.0002824756086 0.000112625737 0.0001031110668 0.0001851396623 0.0001466100826 -0.0002399663792 0.000201685163 0.0001851396623 0.0003325397162 0.0002641148254 -0.0004299199947 0.0001719510204 0.0001466100826 0.0002641148254 0.000225838107 -0.0003447377847 -0.0002824756086 -0.0002399663792 -0.0004299199947 -0.0003447377847 0.0005770649515 -6.806806293e-05 -1.367203878e-05 -2.557229669e-05 2.68645586e-05 -3.871202309e-05 -1.367203878e-05 2.515395218e-05 4.327330903e-05 3.862324427e-06 -2.674215952e-05 -2.557229669e-05 4.327330903e-05 8.009028722e-05 2.681685758e-05 -3.646314838e-05 2.68645586e-05 3.862324427e-06 2.681685758e-05 9.466748611e-05 -1.78128896e-07 -3.871202309e-05 -2.674215952e-05 -3.646314838e-05 -1.78128896e-07 8.593880204e-05 -7.92511659e-05 -2.08099702e-05 -3.969734491e-05 2.389953188e-05 -4.948331201e-05 -2.08099702e-05 2.408978883e-05 3.546144067e-05 -1.765716123e-05 -1.820324502e-05 -3.969734491e-05 3.546144067e-05 6.901146319e-05 1.768154774e-05 -2.267322122e-06 2.389953188e-05 -1.765716123e-05 1.768154774e-05 0.0001448475746 4.736355059e-05 -4.948331201e-05 -1.820324502e-05 -2.267322122e-06 4.736355059e-05 9.747961223e-05 -5.019835875e-05 8.079890617e-06 1.311240741e-05 2.745631118e-05 -5.737987767e-05 8.079890617e-06 1.644949899e-05 2.794066093e-05 1.028532172e-05 -3.120408698e-05 1.311240741e-05 2.794066093e-05 5.12923809e-05 3.242693785e-05 -4.678353931e-05 2.745631118e-05 1.028532172e-05 3.242693785e-05 7.814438674e-05 -1.7315321e-05 -5.737987767e-05 -3.120408698e-05 -4.678353931e-05 -1.7315321e-05 0.0001058284597 -2.468515896e-05 -9.778416708e-06 -1.852158903e-05 3.439319998e-06 -1.05993893e-05 -9.778416708e-06 7.182276254e-06 1.095010202e-05 -6.431081207e-06 -2.55736726e-06 -1.852158903e-05 1.095010202e-05 2.124136572e-05 2.401164684e-06 4.123423777e-06 3.439319998e-06 -6.431081207e-06 2.401164684e-06 4.079509797e-05 1.985168136e-05 -1.05993893e-05 -2.55736726e-06 4.123423777e-06 1.985168136e-05 2.205036436e-05 -2.901156141e-05 -7.649188966e-06 -1.450829104e-05 8.794674511e-06 -1.719088575e-05 -7.649188966e-06 1.027176182e-05 1.619336628e-05 -3.567565224e-06 -8.525538746e-06 -1.450829104e-05 1.619336628e-05 3.086499815e-05 8.686935322e-06 -6.112152001e-06 8.794674511e-06 -3.567565224e-06 8.686935322e-06 4.690048146e-05 1.10610559e-05 -1.719088575e-05 -8.525538746e-06 -6.112152001e-06 1.10610559e-05 3.548403201e-05 -2.489687909e-05 -3.638978179e-06 -7.249497815e-06 8.762832627e-06 -1.828157604e-05 -3.638978179e-06 7.486918834e-06 1.203952346e-05 -1.463977318e-06 -8.223402526e-06 -7.249497815e-06 1.203952346e-05 2.273008987e-05 8.400963785e-06 -7.910035478e-06 8.762832627e-06 -1.463977318e-06 8.400963785e-06 4.156503248e-05 7.427409767e-06 -1.828157604e-05 -8.223402526e-06 -7.910035478e-06 7.427409767e-06 3.528402351e-05 -1.076905759 -0.7505672105 -0.2654735826 -0.03602771298 -0.002602551235 -0.0003282954594 -0.0004230428263 -0.001104631382 -0.000484227278 -0.0003667222204 -7.970678348e-05 -5.526037756e-05 -3.597855097e-05 -0.5430457971 -0.04924776397 0.09033119286 -0.04924776397 0.6046833791 -0.1295620201 0.09033119286 -0.1295620201 0.7515549024 -0.0850777617 -0.01241415948 0.02178729444 -0.01241415948 0.07049416258 -0.02088449439 0.02178729444 -0.02088449439 0.1010598747 -0.01246393014 -0.01238105832 0.02221140287 -0.01238105832 0.01943902232 -0.02985642824 0.02221140287 -0.02985642824 0.05636982605 -0.005532019218 -0.005830686746 0.01049245437 -0.005830686746 0.007825698773 -0.01319044973 0.01049245437 -0.01319044973 0.0244041994 -0.0001163194856 -7.804035319e-05 0.000139209987 -7.804035319e-05 0.0002661076786 -0.0002315783848 0.000139209987 -0.0002315783848 0.0005342438278 -0.0003062488883 3.889862654e-05 -5.373807974e-05 3.889862654e-05 0.0005172297778 3.848993597e-05 -5.373807974e-05 3.848993597e-05 0.0004093435088 -0.000292429588 -0.0002983333097 0.0005330326824 -0.0002983333097 0.0004927819521 -0.0007277479336 0.0005330326824 -0.0007277479336 0.001365889383 -8.886489616e-05 -1.569838636e-05 2.852318594e-05 -1.569838636e-05 8.142000173e-05 -2.95678931e-05 2.852318594e-05 -2.95678931e-05 0.0001193756375 -0.0001076618591 1.637988795e-05 -2.888293911e-05 1.637988795e-05 0.0001277384152 3.010721466e-05 -2.888293911e-05 3.010721466e-05 8.744598891e-05 -8.446784333e-05 -4.003175914e-05 7.160773775e-05 -4.003175914e-05 0.0001500641063 -0.0001163873598 7.160773775e-05 -0.0001163873598 0.0002810221617 -4.340771841e-05 -4.058561731e-07 1.456551444e-06 -4.058561731e-07 5.985185706e-05 -8.21541267e-06 1.456551444e-06 -8.21541267e-06 6.219100641e-05 -4.876170789e-05 -1.805155794e-06 3.708911439e-06 -1.805155794e-06 5.935124214e-05 -8.254561114e-06 3.708911439e-06 -8.254561114e-06 6.538728012e-05 -4.413781844e-05 -8.721165623e-06 1.574638914e-05 -8.721165623e-06 6.05512662e-05 -2.571293536e-05 1.574638914e-05 -2.571293536e-05 8.965291531e-05 -0.2711114982 -0.07850896458 0.1477853501 0.08732229081 0.1545939369 -0.07850896458 0.09835384555 -0.1485306656 -0.05088842711 0.07531239658 0.1477853501 -0.1485306656 0.2878758292 -0.07370714172 -0.03466141466 0.08732229081 -0.05088842711 -0.07370714172 0.4518078558 -0.1202220117 0.1545939369 0.07531239658 -0.03466141466 -0.1202220117 0.3191580044 -0.06301936293 -0.02966902 0.05361697241 0.02067604022 0.03054694202 -0.02966902 0.03503357439 -0.04501226624 -0.02639369646 0.01739337797 0.05361697241 -0.04501226624 0.0920044221 -0.01590578096 0.006809684413 0.02067604022 -0.02639369646 -0.01590578096 0.1066894054 -0.03388767549 0.03054694202 0.01739337797 0.006809684413 -0.03388767549 0.06680303202 -0.007010981893 -0.002696602574 0.004643937578 0.003909619321 0.005968139639 -0.002696602574 0.006421671798 -0.006257096995 -0.004327577202 0.003561969513 0.004643937578 -0.006257096995 0.01414375183 -0.003334918264 0.0004422733297 0.003909619321 -0.004327577202 -0.003334918264 0.01296772414 -0.00125341075 0.005968139639 0.003561969513 0.0004422733297 -0.00125341075 0.0117140393 -0.002997628945 0.002585416363 -0.004630133155 0.003745349716 0.005977948516 0.002585416363 0.002358084029 -0.004059943793 0.003339795009 0.005348025966 -0.004630133155 -0.004059943793 0.007399854472 -0.005993906941 -0.009590611521 0.003745349716 0.003339795009 -0.005993906941 0.004882516427 0.007819762605 0.005977948516 0.005348025966 -0.009590611521 0.007819762605 0.012528955 -0.0005464245776 0.0003531779775 -0.0006295046671 0.0005593904516 0.000937727533 0.0003531779775 0.0003695200425 -0.0006629708333 0.0005221808429 0.0008199949109 -0.0006295046671 -0.0006629708333 0.001190582542 -0.0009181802569 -0.001478696082 0.0005593904516 0.0005221808429 -0.0009181802569 0.001051013625 0.001024502834 0.000937727533 0.0008199949109 -0.001478696082 0.001024502834 0.002041201194 -0.0002013371112 -3.986676877e-05 8.204276965e-05 8.63651375e-05 0.0001915671229 -3.986676877e-05 0.0001009481042 -0.0001048766292 -9.851882709e-05 9.064566177e-05 8.204276965e-05 -0.0001048766292 0.0002293541541 -8.743867399e-05 7.621901553e-06 8.63651375e-05 -9.851882709e-05 -8.743867399e-05 0.0004686382568 -0.0001228860737 0.0001915671229 9.064566177e-05 7.621901553e-06 -0.0001228860737 0.0003849336676 -0.0001158413348 9.342923911e-05 -0.0001675386403 0.0001384802227 0.0002252922464 9.342923911e-05 8.728713004e-05 -0.000156716447 0.000124718622 0.0002008400863 -0.0001675386403 -0.000156716447 0.0002819755036 -0.0002225163054 -0.0003617280649 0.0001384802227 0.000124718622 -0.0002225163054 0.0001827563975 0.0002873870432 0.0002252922464 0.0002008400863 -0.0003617280649 0.0002873870432 0.0004715259639 -8.032170158e-05 -1.523201572e-05 2.917702063e-05 3.103305331e-05 4.823868149e-05 -1.523201572e-05 2.990771519e-05 -5.096335881e-05 3.951436107e-06 3.248357508e-05 2.917702063e-05 -5.096335881e-05 9.492586342e-05 -3.3108664e-05 -4.261150904e-05 3.103305331e-05 3.951436107e-06 -3.3108664e-05 0.0001132040642 -7.945911165e-07 4.823868149e-05 3.248357508e-05 -4.261150904e-05 -7.945911165e-07 0.0001053775742 -8.487331959e-05 -1.169272595e-05 2.3239049e-05 3.485663835e-05 6.428926526e-05 -1.169272595e-05 2.689339674e-05 -4.130886105e-05 -8.704079254e-06 3.03057944e-05 2.3239049e-05 -4.130886105e-05 7.906741641e-05 -3.040646331e-05 -2.586339849e-05 3.485663835e-05 -8.704079254e-06 -3.040646331e-05 0.000152559462 -2.632272653e-05 6.428926526e-05 3.03057944e-05 -2.586339849e-05 -2.632272653e-05 0.0001252484543 -4.168771002e-05 5.517607343e-06 -8.860352196e-06 2.27887204e-05 4.439292115e-05 5.517607343e-06 1.252196306e-05 -2.141706549e-05 7.42240405e-06 2.340391968e-05 -8.860352196e-06 -2.141706549e-05 3.932905404e-05 -2.431242968e-05 -3.48349191e-05 2.27887204e-05 7.42240405e-06 -2.431242968e-05 6.680467331e-05 1.004849276e-05 4.439292115e-05 2.340391968e-05 -3.48349191e-05 1.004849276e-05 8.152069454e-05 -2.502439596e-05 -1.064561795e-05 2.003175214e-05 3.791880409e-06 9.119850935e-06 -1.064561795e-05 7.208015737e-06 -1.095931303e-05 -7.107709876e-06 2.064114776e-06 2.003175214e-05 -1.095931303e-05 2.142504063e-05 -1.627148885e-06 5.193636045e-06 3.791880409e-06 -7.107709876e-06 -1.627148885e-06 4.127792364e-05 -2.085954806e-05 9.119850935e-06 2.064114776e-06 5.193636045e-06 -2.085954806e-05 1.994522515e-05 -2.954699807e-05 -6.356633381e-06 1.219404229e-05 1.031938264e-05 1.852805905e-05 -6.356633381e-06 1.058214089e-05 -1.705409356e-05 -1.947864268e-06 1.026192751e-05 1.219404229e-05 -1.705409356e-05 3.235700968e-05 -1.05287086e-05 -9.87223342e-06 1.031938264e-05 -1.947864268e-06 -1.05287086e-05 4.726572351e-05 -7.679432818e-06 1.852805905e-05 1.026192751e-05 -9.87223342e-06 -7.679432818e-06 3.85148755e-05 -2.307067903e-05 -3.847963727e-06 7.580457428e-06 8.010582775e-06 1.562407682e-05 -3.847963727e-06 6.454420741e-06 -1.041162132e-05 -1.864127101e-06 6.720713634e-06 7.580457428e-06 -1.041162132e-05 1.973223227e-05 -6.7011006e-06 -5.818878178e-06 8.010582775e-06 -1.864127101e-06 -6.7011006e-06 3.912821862e-05 -8.720613171e-06 1.562407682e-05 6.720713634e-06 -5.818878178e-06 -8.720613171e-06 3.042082271e-05 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/phialpha_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/phialpha_ref.dat deleted file mode 100644 index a6dec9fd8b..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/phialpha_ref.dat +++ /dev/null @@ -1,870 +0,0 @@ -iat : 0 -ad : 0 2.003222249 -iw : 6 -0.5850901169 0.2215735378 0.007775697945 -0.04948150451 -0.01396166265 -0.0057789997 -0.01117556859 -0.0009236808674 0.003564925034 -0.004520073968 0.002310592867 -0.002955962335 -0.003013805547 -0.168625779 0.2274351239 0.4074740598 -0.1061351697 0.1431505053 -0.2564692585 -0.03820190009 0.05152506298 0.0923125955 0.007538049761 -0.01016699399 --0.01821524418 0.006903059027 -0.009310546078 -0.01668082724 0.006240634778 -0.008417097034 --0.01508011886 -0.002208621065 0.002978892128 0.005337000057 0.000110217591 -0.0001486566978 --0.0002663341841 -0.002587948805 0.003490512903 0.006253622743 0.001510053508 -0.00203669456 --0.003648953542 -0.0008188151267 0.001104382265 0.00197861754 0.001284426515 -0.001732378675 --0.003103739474 -0.001059983703 0.001429659962 0.002561386909 -0.08877099889 -0.07330056648 --0.1313257113 -0.1092380345 0.1771264133 -0.08172517586 -0.06748264367 -0.1209022877 --0.1005677269 0.1630677525 -0.04391251505 -0.03625972749 -0.06496313372 -0.05403698158 -0.08761945213 -0.007585988141 -0.006263951459 -0.01122253101 -0.00933501306 0.01513646221 -0.002149107274 0.001774574834 0.003179338353 0.002644605304 -0.004288153428 0.006713735414 -0.005543709265 0.009932141009 0.008261653803 -0.01339604024 0.0009323394693 0.0007698574096 -0.001379280908 0.001147299595 -0.001860314159 0.0002540527411 0.0002097780815 0.0003758396024 -0.0003126271242 -0.0005069161255 -0.00183936152 -0.001518809556 -0.002721107827 -0.002263444589 -0.003670112005 0.0003344983512 0.0002762041538 0.0004948489308 0.0004116202687 -0.0006674307368 --0.0007334709195 -0.0006056463774 -0.00108507949 -0.0009025799257 0.001463508069 0.0009667406394 -0.0007982633675 0.001430173183 0.001189632297 -0.001928955449 -0.000461254855 -0.0003808703584 --0.0006823694975 -0.0005676017435 0.0009203503293 -ad : 1 1.950638213 -iw : 7 -0.5908264824 0.2352964506 0.0171341067 -0.04740021528 -0.01624056849 -0.007623066941 -0.01047168815 -0.0004293509049 0.004126414266 -0.004203120421 0.002056032276 -0.00305108194 -0.002910884454 -0.1676093152 0.223746492 -0.4009944874 -0.1091899226 0.1457607658 --0.2612298545 -0.04224560572 0.05639487322 -0.1010698897 0.0052004006 -0.006942164222 -0.01244162337 0.006601390117 -0.008812385393 0.01579340052 0.006894798514 -0.009204064694 -0.0164953612 -0.001498536631 0.002000439617 -0.003585152338 0.0002003073606 -0.0002673960525 -0.0004792224542 -0.002735115404 0.00365118416 -0.006543587377 0.001311151438 -0.001750293738 -0.003136845337 -0.000883428838 0.001179314546 -0.002113546575 0.001306422328 -0.001743980712 -0.003125531245 -0.0009530404686 0.001272241112 -0.002280087916 -0.08452204973 -0.0709904061 -0.1272277444 -0.1048085239 -0.1698399726 -0.08005949384 -0.06724228764 0.1205104331 --0.09927489216 -0.1608728407 -0.04501197319 -0.0378057355 0.06775476743 -0.05581547634 --0.09044778632 -0.009888308214 -0.00830522944 0.01488448463 -0.01226164049 -0.01986972632 -0.0009459909039 0.0007945415267 -0.001423963207 0.001173041952 0.001900889409 0.00655823679 -0.005508289192 -0.009871858017 0.00813230535 0.01317822699 0.00141679896 0.001189975088 --0.002132652209 0.001756850527 0.002846938726 0.0006450669061 0.0005417942628 -0.0009709940511 -0.0007998919862 0.001296207865 -0.001672850697 -0.001405033961 0.002518076901 -0.002074358263 --0.003361453225 0.000126462438 0.0001062163052 -0.0001903589749 0.000156815192 0.0002541156665 --0.000821341429 -0.0006898479365 0.001236333214 -0.00101847486 -0.00165041674 0.0009219014565 -0.0007743087039 -0.001387702301 0.001143170701 0.001852483684 -0.0004385941082 -0.0003683769378 -0.0006601986025 -0.0005438628288 -0.0008813180886 -ad : 2 1.709269535 -iw : 4 -0.6156391309 0.2975959069 0.06579034478 -0.03014083563 -0.02179038847 -0.01593929268 -0.004388411083 -0.0005171205408 0.006239271008 -0.00208576669 0.002066432031 -0.002983680644 -0.001979380499 0.4498261531 0.008804225345 0.001269408873 0.3364297393 0.006584773288 -0.0009494043267 0.1683441241 0.003294916478 0.0004750669193 0.02176666019 0.0004260280999 -6.142548932e-05 -0.006058242766 -0.0001185749964 -1.709635393e-05 -0.02318084286 -0.0004537071995 --6.541631115e-05 -0.004850028958 -9.492722372e-05 -1.368677599e-05 -0.004701775441 -9.202553079e-05 --1.326840474e-05 0.006582934676 0.0001288445323 1.857703388e-05 -0.001444691781 -2.827623939e-05 --4.076918498e-06 0.004308359395 8.432539263e-05 1.215818512e-05 -0.003172016381 -6.208431151e-05 --8.951426479e-06 0.001939360387 3.795814396e-05 5.472872721e-06 0.2123036301 0.007198622814 -0.001037910243 6.898305548e-05 2.031450507e-05 0.2258509109 0.007657973247 0.001104140206 -7.338492474e-05 2.161079145e-05 0.1510612244 0.005122063977 0.0007385082961 4.90837807e-05 -1.445445849e-05 0.0611447915 0.00207324901 0.0002989247305 1.986755734e-05 5.850706256e-06 -0.01768466903 0.0005996377069 8.645683131e-05 5.746215946e-06 1.6921769e-06 -0.01198887332 --0.0004065091912 -5.861121835e-05 -3.895501517e-06 -1.147168457e-06 -0.007097689248 -0.0002406628078 --3.469919176e-05 -2.306226657e-06 -6.791501593e-07 -0.008006625753 -0.0002714823047 -3.914280165e-05 --2.601564129e-06 -7.661227431e-07 0.0009756714818 3.308229342e-05 4.769863917e-06 3.170214278e-07 -9.335819294e-08 0.0001937572096 6.569765523e-06 9.472404803e-07 6.295683373e-08 1.853987054e-08 -0.003030754189 0.0001027644051 1.481675474e-05 9.847720654e-07 2.900010297e-07 -0.00114015717 --3.865954346e-05 -5.574001749e-06 -3.704671713e-07 -1.09097186e-07 0.001678539253 5.691457538e-05 -8.206044726e-06 5.454017265e-07 1.606128645e-07 -ad : 3 2.100474535 -iw : 5 -0.5741878235 0.1961945792 -0.00817940696 -0.05180202865 -0.009068645181 -0.002660547128 -0.01180316285 -0.002181392434 0.002679843358 -0.004859987515 0.002925422523 -0.00278103132 -0.003066016441 -0.1576544151 -0.4836480131 0.0001366673608 -0.09266634316 -0.284279338 -8.033054166e-05 -0.02851689754 -0.0874833783 2.472071032e-05 0.01046623207 0.03210802782 --9.072960718e-06 0.006370533681 0.01954335345 -5.522484257e-06 0.004508772025 0.01383189066 --3.908561476e-06 -0.003116511127 -0.009560749783 2.701639219e-06 0.0001707036309 0.0005236800496 --1.479794569e-07 -0.002024307462 -0.006210116484 1.754830388e-06 0.001682354958 0.005161083705 --1.458398814e-06 -0.0007667468007 -0.002352205402 6.646769875e-07 0.001129172899 0.003464046527 --9.788566971e-07 -0.001144289671 -0.003510421357 9.919611148e-07 -0.103537457 0.1484638972 --4.195234647e-05 0.2277267755 -0.0001287002905 -0.09012947339 0.1292379905 -3.651956505e-05 -0.1982364157 -0.0001120337484 -0.04413326074 0.06328333803 -1.788235775e-05 0.09706946122 --5.485902053e-05 -0.003412671104 0.00489347978 -1.382780346e-06 0.007506042831 -4.242056694e-06 -0.00431007474 -0.006180280182 1.746399362e-06 -0.009479848663 5.357557423e-06 0.007015069888 --0.0100590129 2.842436458e-06 -0.01542938462 8.719950817e-06 -0.0001560716539 0.0002237934625 --6.32386799e-08 0.0003432737827 -1.940019369e-07 -0.0003266177306 0.0004683420148 -1.323422518e-07 -0.0007183835185 -4.059960331e-07 -0.002102253183 0.003014452061 -8.518120542e-07 0.004623827481 --2.613166319e-06 0.0008528989877 -0.001222984526 3.455861761e-07 -0.001875919518 1.060180061e-06 --0.000631318159 0.0009052564844 -2.55803831e-07 0.001388560748 -7.847481756e-07 0.001023596462 --0.001467750169 4.147510927e-07 -0.002251362247 1.272362349e-06 -0.0005958996155 0.0008544693089 --2.414525899e-07 0.001310658983 -7.407218206e-07 -ad : 4 0 -iw : 0 -0.7327634347 0.6011283624 0.296757245 0.0881641458 -0.0009374705018 -0.04005161846 --0.04057142115 -0.03764864236 -0.02423804172 -0.01798314219 -0.008209609576 -0.00610775483 --0.0008843809026 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 1 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0.5941895124 0 0 0.549308431 0 -0 0.4322353438 0 0 0.2817552779 0 -0 0.2057360504 0 0 0.1299110039 0 -0 0.1009604756 0 0 0.0619116175 0 -0 0.05191940112 0 0 0.02849164911 0 -0 0.02558176402 0 0 0.01095537063 0 -0 0.01184664999 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 2 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.5941895124 0 0 0.549308431 -0 0 0.4322353438 0 0 0.2817552779 -0 0 0.2057360504 0 0 0.1299110039 -0 0 0.1009604756 0 0 0.0619116175 -0 0 0.05191940112 0 0 0.02849164911 -0 0 0.02558176402 0 0 0.01095537063 -0 0 0.01184664999 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 3 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0.5941895124 0 0 -0.549308431 0 0 0.4322353438 0 0 -0.2817552779 0 0 0.2057360504 0 0 -0.1299110039 0 0 0.1009604756 0 0 -0.0619116175 0 0 0.05191940112 0 0 -0.02849164911 0 0 0.02558176402 0 0 -0.01095537063 0 0 0.01184664999 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 1 -ad : 0 3.03052076 -iw : 6 -0.4544973851 -0.02282075324 -0.0595755442 -0.01104896757 0.02637575687 -0.009515616617 -0.003128002291 -0.006672491428 0.007755239332 -0.005500733502 0.004312909888 -0.004542729707 -0.004380642523 -0.4375309294 0.1619911482 0.3003130379 -0.06725586529 0.02490076498 -0.04616316667 0.04196384973 -0.01553666666 -0.02880320075 0.02978024819 -0.01102581846 --0.02044060477 -0.02326131454 0.008612252981 0.01596613076 0.004840407976 -0.001792109296 --0.003322365405 -0.004000596116 0.001481177935 0.002745934269 0.008346725543 -0.003090285883 --0.005729036133 -0.007776636907 0.002879216661 0.005337737967 0.005241565967 -0.001940633753 --0.003597712739 -0.004514346959 0.001671388691 0.003098563228 0.00479342684 -0.001774715033 --0.003290118433 -0.004597701149 0.001702249689 0.003155775984 0.1886067135 -0.1738010277 --0.322207202 -0.07840450924 0.1192937713 0.06623400954 -0.06103461915 -0.1131511943 --0.02753372304 0.04189301981 -0.007268546116 0.006697962981 0.01241725633 0.003021561537 --0.004597356381 -0.02050312769 0.01889362578 0.03502661852 0.008523226106 -0.01296823098 -0.006739103281 -0.006210081573 -0.01151278007 -0.00280147019 0.004262483718 0.0006361118915 --0.0005861769098 -0.001086704863 -0.0002644340689 0.0004023408556 0.002713887224 -0.002500846231 --0.004636282519 -0.001128172969 0.001716534028 -0.004494974443 0.004142117549 0.007679011586 -0.001868577521 -0.00284307193 0.002783432026 -0.002564931744 -0.004755089722 -0.001157083 -0.001760521125 -0.001786880929 0.001646610219 0.00305262678 0.0007428130193 -0.001130202424 -0.002151288853 -0.001982412007 -0.003675164839 -0.0008942987425 0.001360690484 -0.002194379617 -0.002022120134 0.003748779158 0.000912211733 -0.001387945399 0.001768438149 -0.001629615204 --0.003021119966 -0.0007351462874 0.001118537364 -ad : 1 2.994710688 -iw : 7 -0.4594981533 -0.01581957458 -0.06086770012 -0.01323467917 0.02646126145 -0.008491043205 -0.002889453475 -0.006932681674 0.007712608083 -0.005239235756 0.004192541899 -0.004543412143 -0.004342856059 -0.4410737007 0.1594176829 -0.2977198859 -0.07540936811 0.02725527891 --0.05090049223 0.04056503049 -0.01466145716 0.02738094843 0.03202750507 -0.01157573131 -0.02161821288 -0.0223270074 0.008069671304 -0.01507048388 0.003848124113 -0.001390831121 -0.002597441358 -0.004288176114 0.00154987953 -0.002894471608 0.008628421754 -0.003118578598 -0.005824089572 -0.007494486488 0.002708739307 -0.005058695766 0.005006754668 -0.001809596053 -0.003379504211 -0.004555180237 0.001646383082 -0.003074696448 0.004796453758 -0.001733586797 -0.003237553414 -0.004486264404 0.001621474767 -0.00302817902 0.1926068516 -0.1705739652 -0.3185547584 -0.0766851208 -0.1151355462 0.07159468102 -0.06340474665 0.1184112929 --0.02850494008 -0.04279750507 -0.005555019405 0.004919563759 -0.009187512542 0.002211693565 -0.003320651308 -0.02167816584 0.0191983342 -0.03585377584 0.008631015733 0.01295866396 -0.00598573172 -0.005301005575 0.009899872753 -0.002383178772 -0.00357812033 0.0009960892638 --0.0008821435687 0.001647443859 -0.000396586232 -0.0005954371849 0.00307200489 -0.002720588862 -0.005080825357 -0.001223098058 -0.001836367492 -0.004652784398 0.004120538171 -0.007695295352 -0.001852474773 0.002781317844 0.002621947518 -0.002322014928 0.004336470127 -0.001043910746 --0.001567334481 -0.001718372027 0.001521802199 -0.002842035895 0.0006841582496 0.001027199709 -0.00223381152 -0.001978278993 0.003694527392 -0.0008893770126 -0.001335316514 -0.002242301111 -0.001985797434 -0.003708568427 0.0008927570861 0.001340391378 0.001741468123 -0.001542256262 -0.002880234802 -0.0006933538047 -0.001041005976 -ad : 2 1.709269535 -iw : 0 -0.6412457426 0.3234088698 0.05420896988 -0.01608100199 0.005295225826 0.001680568426 -0.003498294828 -0.006818319211 -0.0004926273675 -0.00324145223 0.002578714712 -0.001558512148 -0.001974211429 -0.4822068499 -0.009437996746 -0.001360787161 -0.3391766724 -0.006638537654 --0.0009571561686 -0.1080509703 -0.002114828327 -0.0003049197104 -0.002789035639 -5.458841841e-05 --7.870655276e-06 -0.00719783673 -0.0001408797068 -2.031228675e-05 -0.009004931277 -0.0001762490767 --2.541190542e-05 -0.01172758661 -0.0002295382662 -3.309523556e-05 0.00165937727 3.247817254e-05 -4.682760694e-06 0.0006761967597 1.323486553e-05 1.908226457e-06 0.004423466611 8.657832938e-05 -1.248301755e-05 -0.001181355814 -2.312209445e-05 -3.333784711e-06 0.001566500856 3.066034832e-05 -4.420663563e-06 -0.001712473043 -3.351738991e-05 -4.832596903e-06 0.23025972 0.007807463643 -0.001125693997 7.481746322e-05 2.203265317e-05 0.1937922775 0.006570954576 0.0009474119202 -6.296822821e-05 1.854322605e-05 0.07342861195 0.002489759034 0.0003589778867 2.385889496e-05 -7.026097053e-06 -0.002408850038 -8.167737324e-05 -1.177638897e-05 -7.82698985e-07 -2.304934508e-07 --0.004315070575 -0.0001463119847 -2.109552224e-05 -1.402080373e-06 -4.128922479e-07 0.004850101608 -0.0001644533919 2.37111826e-05 1.575926083e-06 4.640872775e-07 0.01269720094 0.0004305266015 -6.207409128e-05 4.125655865e-06 1.214945561e-06 0.005040972909 0.0001709253043 2.464431444e-05 -1.637945209e-06 4.823510067e-07 0.001956341665 6.633407885e-05 9.564165493e-06 6.356670657e-07 -1.871946921e-07 -0.002593366414 -8.793380791e-05 -1.267845285e-05 -8.426532278e-07 -2.48149102e-07 --2.63829267e-06 -8.94571317e-08 -1.289808839e-08 -8.572509547e-10 -2.524479199e-10 -0.001218606244 --4.131953233e-05 -5.957523676e-06 -3.959573469e-07 -1.166036714e-07 0.0008951925984 3.035347939e-05 -4.376418655e-06 2.908717135e-07 8.565748296e-08 -iw : 1 -0.1944765338 0.450059936 0.3258567382 0.1382464773 -0.003292303944 -0.03563871205 --0.03499071825 -0.007050222696 0.00106969077 0.009668760603 0.001805590306 0.0025392286 --0.003014886347 0.3447099161 -0.003185719786 -0.000459322746 -0.06723457802 -0.007530337826 --0.001085737504 -0.2338184942 -0.007418658132 -0.001069635327 -0.2287345697 -0.00475834448 --0.000686066572 -0.08851995854 -0.001715123093 -0.0002472894986 -0.01836387119 1.757032323e-05 -2.53332046e-06 0.03619067543 0.0006869053441 9.903923448e-05 0.01933648167 0.000499869259 -7.207203901e-05 0.0170751671 0.000206926974 2.983509922e-05 -0.007584314026 -7.952744113e-05 --1.146640794e-05 -0.0003354425725 -9.595780578e-05 -1.383536714e-05 -0.008363644851 -8.659379969e-05 --1.248524808e-05 0.003691278527 6.317345433e-06 9.108461027e-07 -0.3673817301 -0.004759196387 --0.0006861894015 2.813020804e-05 8.283936539e-06 -0.1744719826 0.0008366311604 0.000120626969 -7.269981512e-05 2.140903665e-05 0.02220333938 0.005042749253 0.0007270725581 8.94169213e-05 -2.633198093e-05 0.1401078422 0.006262926129 0.0009029998307 7.450249505e-05 2.193989964e-05 -0.1083165656 0.00410889703 0.0005924280832 4.355303628e-05 1.282573482e-05 0.06412272471 -0.001902819907 0.0002743519592 1.563458462e-05 4.604157446e-06 0.0006331124197 -9.213031905e-05 --1.32835133e-05 -1.971024557e-06 -5.804380234e-07 -0.01185837942 -0.0005846703267 -8.42988078e-05 --7.351788007e-06 -2.164994486e-06 -0.02167113424 -0.0006733887391 -9.709038633e-05 -5.864622931e-06 --1.727046033e-06 -0.003081840396 -0.0001460238067 -2.105397222e-05 -1.797110725e-06 -5.292229329e-07 --0.003168589341 -2.692215509e-05 -3.881684215e-06 5.13276736e-07 1.511525227e-07 0.006592402758 -0.0001760239012 2.537943921e-05 1.23174047e-06 3.627296276e-07 -0.001229950583 7.614055101e-06 -1.09780801e-06 5.453867775e-07 1.606084622e-07 -iw : 2 -0.00380639324 0.008808801062 0.006377833155 0.002705830088 -6.443864063e-05 -0.0006975389263 --0.0006848560633 -0.0001379905302 2.093652964e-05 0.0001892418806 3.533992815e-05 4.969906851e-05 --5.900888289e-05 -0.003185719786 0.507412602 -8.990097472e-06 -0.007530337826 0.3173586292 --2.125060445e-05 -0.007418658132 0.1450709515 -2.093544448e-05 -0.00475834448 0.01428599687 --1.34280425e-05 -0.001715123093 -0.0009243278761 -4.840075341e-06 1.757032323e-05 -0.01926123159 -4.958343139e-08 0.0006869053441 0.001108699632 1.938446069e-06 0.000499869259 -0.00619309296 -1.410630458e-06 0.000206926974 0.006506888435 5.839476761e-07 -7.952744113e-05 -0.003522648487 --2.244263449e-07 -9.595780578e-05 0.004565362827 -2.707928145e-07 -8.659379969e-05 -0.003941082688 --2.443676004e-07 6.317345433e-06 0.003368635878 1.782754134e-08 0.006136998599 -0.393079818 -8.283936539e-06 -0.007694131283 -0.001109270782 0.008276226525 -0.3447152884 2.140903665e-05 --0.006748425587 -0.0009727861365 0.007861987911 -0.2189113737 2.633198093e-05 -0.004286468727 --0.000617767638 0.005360550016 -0.07708216435 2.193989964e-05 -0.001510211284 -0.0002175257767 -0.002875225869 -0.02218792812 1.282573482e-05 -0.0004351620055 -6.261430692e-05 0.0007851433264 -0.01389302869 4.604157446e-06 0.0002716023946 3.920611054e-05 -0.0001842879316 0.005797631718 --5.804380234e-07 0.0001135144009 1.636090986e-05 -0.000548222481 0.009310025628 -2.164994486e-06 -0.0001823705405 2.627288132e-05 -0.0003178194186 -0.003148768601 -1.727046033e-06 -6.15096351e-05 --8.885821272e-06 -0.0001322184596 0.002117211387 -5.292229329e-07 4.147580124e-05 5.974768031e-06 -7.738579183e-05 -0.004111065507 1.511525227e-07 -8.047432938e-05 -1.1601422e-05 4.677911769e-05 -0.00242874975 3.627296276e-07 4.751158861e-05 6.853928925e-06 6.131508811e-05 -0.002517672311 -1.606084622e-07 -4.928828571e-05 -7.104868286e-06 -iw : 3 -0.0005488125487 0.001270068608 0.0009195673301 0.0003901313956 -9.29087784e-06 -0.0001005724033 --9.874376554e-05 -1.989572012e-05 3.018666089e-06 2.7285231e-05 5.095373709e-06 7.16570011e-06 --8.508005708e-06 -0.000459322746 -8.990097472e-06 0.5074736583 -0.001085737504 -2.125060445e-05 -0.3175029528 -0.001069635327 -2.093544448e-05 0.1452131347 -0.000686066572 -1.34280425e-05 -0.01437719352 -0.0002472894986 -4.840075341e-06 -0.0008914564687 2.53332046e-06 4.958343139e-08 --0.01926156834 9.903923448e-05 1.938446069e-06 0.001095534661 7.207203901e-05 1.410630458e-06 --0.006202673267 2.983509922e-05 5.839476761e-07 0.00650292255 -1.146640794e-05 -2.244263449e-07 --0.003521124293 -1.383536714e-05 -2.707928145e-07 0.004567201919 -1.248524808e-05 -2.443676004e-07 --0.003939423063 9.108461027e-07 1.782754134e-08 0.003368514802 0.0008848433754 8.283936539e-06 --0.3931360784 0.001109512303 -0.007694658484 0.001193281063 2.140903665e-05 -0.3448606881 -0.0009734103239 -0.006749788089 0.001133555403 2.633198093e-05 -0.2190902076 0.0006185353553 --0.004288144531 0.0007728936374 2.193989964e-05 -0.07723116934 0.0002181654415 -0.001511607571 -0.0004145551807 1.282573482e-05 -0.02227503419 6.298824532e-05 -0.0004359782534 0.0001132033615 -4.604157446e-06 0.01386175952 -3.907187486e-05 0.0002713093795 -2.657096181e-05 -5.804380234e-07 -0.005801573767 -1.637783271e-05 0.0001135513408 -7.904369257e-05 -2.164994486e-06 0.009324729204 --2.633600243e-05 0.0001825083238 -4.582376915e-05 -1.727046033e-06 -0.003137039355 8.835468693e-06 --6.139972345e-05 -1.906349271e-05 -5.292229329e-07 0.002120805608 -5.990197695e-06 4.150948173e-05 -1.115762113e-05 1.511525227e-07 -0.004112092061 1.16058289e-05 -8.048394894e-05 6.744696406e-06 -3.627296276e-07 0.002426286269 -6.843353427e-06 4.748850399e-05 8.84051848e-06 1.606084622e-07 --0.002518763084 7.109550877e-06 -4.929850706e-05 -ad : 3 3.113220902 -iw : 5 -0.4428701209 -0.03839082206 -0.05577959709 -0.006284853633 0.02570187386 -0.01177410487 -0.003973596527 -0.006141065071 0.007694783566 -0.0060833825 0.004691343844 -0.00455560106 -0.004428399448 -0.4188992115 -0.3604264917 -0.0007558735513 -0.04772320976 -0.04106168882 --8.611310561e-05 0.04303864864 0.03703102969 7.76601514e-05 0.02394968313 0.02060662811 -4.321548368e-05 -0.02424098149 -0.02085726512 -4.374111065e-05 0.007061572025 0.006075871144 -1.274209972e-05 -0.003605932894 -0.003102592956 -6.506647012e-06 0.00746792643 0.006425503916 -1.347533707e-05 -0.008032005334 -0.00691084496 -1.449317695e-05 0.00567914087 0.004886408863 -1.024760195e-05 -0.004445204578 -0.003824713552 -8.021052506e-06 0.004674639705 0.004022122609 -8.435051722e-06 -0.004670674832 -0.004018711178 -8.427897392e-06 0.1605248559 0.3798200881 -0.0007965451082 0.1634004267 0.000685358079 0.04877219623 0.11540057 0.0002420139492 -0.04964587962 0.0002082320431 -0.009327211466 -0.02206924442 -4.628283031e-05 -0.009494294977 --3.982236705e-05 -0.01579227576 -0.03736632273 -7.836331599e-05 -0.01607517156 -6.742484657e-05 -0.007279574323 0.01722430178 3.612218982e-05 0.007409977374 3.10800159e-05 -0.0003157097981 --0.0007470053325 -1.566592874e-06 -0.0003213652828 -1.347917489e-06 0.001833486767 0.004338238472 -9.097998607e-06 0.001866331033 7.828039848e-06 -0.003601000451 -0.008520377115 -1.786863024e-05 --0.003665507169 -1.537440876e-05 0.002756765285 0.006522820579 1.367942609e-05 0.00280614875 -1.176996141e-05 -0.00179655022 -0.004250842394 -8.914714679e-06 -0.00182873282 -7.670339902e-06 -0.001782869964 0.00421847335 8.846831477e-06 0.001814807502 7.611932286e-06 -0.001841412413 --0.004356991453 -9.137326688e-06 -0.001874398655 -7.861878256e-06 0.001640473173 0.00388154633 -8.140240176e-06 0.001669859879 7.003971667e-06 -ad : 4 0 -iw : 4 -0.7032204055 0.5544559883 0.363270429 0.1985231277 0.1293770322 0.07072134775 -0.0546083141 0.0295329376 0.02595975093 0.0128918805 0.01275414576 0.005221808601 -0.006204537017 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 2 -ad : 0 3.347258395 -iw : 6 -0.4094881472 -0.07764414863 -0.03974262227 0.004141344336 0.0209549886 -0.01658380301 -0.007963720818 -0.005749597484 0.00686815368 -0.0071769444 0.006098418188 -0.004971614259 -0.00459664179 -0.004819005802 0.4712682185 0.2658449454 -1.078693209e-05 0.001054893577 -0.0005950711597 0.0005059517458 -0.04947887338 -0.0279112995 0.0001274670847 -0.01246547284 --0.007031840501 -0.0002992177642 0.02926160052 0.01650662677 0.0001621981216 -0.01586194808 --0.008947810512 -6.488388004e-05 0.006345232151 0.0035793797 7.423496682e-05 -0.00725970916 --0.004095241116 -9.64515744e-05 0.009432352544 0.005320840974 8.530099173e-05 -0.008341896245 --0.004705708691 -6.682288294e-05 0.006534854344 0.003686346602 6.054416888e-05 -0.005920835911 --0.00333997549 -5.822994263e-05 0.005694519254 0.003212309043 -0.2296499075 -0.006172042133 --0.003481682276 0.2057581737 0.3404864553 -0.03930855048 -0.001056451676 -0.000595950092 -0.03521906735 0.05828014111 0.02114635893 0.0005683268925 0.0003205962672 -0.01894638775 --0.03135228258 0.01435850758 0.0003858974501 0.0002176868342 -0.01286471363 -0.02128839241 --0.01430383375 -0.0003844280431 -0.0002168579338 0.01281572782 0.0212073312 0.005125607483 -0.0001377551844 7.770844292e-05 -0.004592362551 -0.007599393103 -0.002246646689 -6.038059485e-05 --3.406101941e-05 0.002012915767 0.003330951776 0.003827295171 0.0001028619054 5.802495593e-05 --0.003429120757 -0.005674472854 -0.004785839255 -0.000128623616 -7.255727595e-05 0.004287942266 -0.007095641628 0.003935441108 0.000105768422 5.966453766e-05 -0.003526015682 -0.005834813554 --0.002865980427 -7.702573078e-05 -4.345063042e-05 0.002567816835 0.00424919621 0.00265773067 -7.142883641e-05 4.02933921e-05 -0.002381232437 -0.003940438317 -0.002820201797 -7.579539005e-05 --4.275658858e-05 0.002526800806 0.004181323317 -ad : 1 3.303653192 -iw : 7 -0.4157510976 -0.07089048239 -0.04324544756 0.002607725563 0.02207948738 -0.01591628265 -0.007109280195 -0.005663063326 0.007037898695 -0.007055437311 0.005841495253 -0.004839366207 -0.004533511081 -0.002939565203 0.475702526 -0.2634907806 -6.730429593e-05 0.01089168682 --0.006032885901 0.0003129544723 -0.05064464392 0.02805197792 9.378951608e-05 -0.01517772413 -0.00840691432 -0.0001831075376 0.02963183742 -0.01641302189 9.023619531e-05 -0.01460269907 -0.008088408963 -3.492320691e-05 0.005651535718 -0.003130375553 4.57544333e-05 -0.007404326148 -0.004101243045 -5.922728953e-05 0.009584604964 -0.005308895592 5.014013418e-05 -0.008114053213 -0.0044943596 -3.834132884e-05 0.006204681889 -0.00343676223 3.576562087e-05 -0.005787861474 -0.003205886146 -3.513078294e-05 0.005685127232 -0.003148981832 -0.2285449579 -0.003743907313 -0.002073743582 0.209992595 -0.3355887664 -0.04472134174 -0.0007326022849 0.0004057870988 -0.04109104262 -0.06566751698 0.02014158572 0.0003299492177 -0.0001827582831 -0.01850657259 -0.02957531842 0.01589965069 0.0002604599946 -0.0001442683264 -0.01460898083 0.02334658446 --0.01379582197 -0.000225996142 0.0001251788599 0.01267593249 -0.02025738358 0.004177306144 -6.843050558e-05 -3.790353497e-05 -0.003838209188 0.006133834797 -0.002112655302 -3.460844513e-05 -1.916955602e-05 0.00194115842 -0.003102161575 0.004035354853 6.610513171e-05 -3.661551453e-05 --0.003707780934 0.005925397652 -0.004699167309 -7.697936989e-05 4.263873566e-05 0.004317707758 --0.006900120548 0.003681489757 6.030829359e-05 -3.340465624e-05 -0.003382641187 0.00540579244 --0.002728109721 -4.469050652e-05 2.475399184e-05 0.002506652717 -0.004005876935 0.002597198359 -4.254598315e-05 -2.356614417e-05 -0.002386368215 0.003813650501 -0.002737835626 -4.484983137e-05 -2.484224159e-05 0.002515589113 -0.004020158172 -ad : 2 2.100474535 -iw : 0 -0.5976484872 0.2143416338 -0.006476841211 -0.02618081526 0.005941372732 -0.006471353698 --0.001375196134 -0.006013554874 0.004441167267 -0.001430583562 0.003014199785 -0.002640190528 -0.00208156407 0.1685506816 0.5170752891 -0.0001461131095 0.09414922767 0.2888284916 --8.161602366e-05 0.01805586761 0.05539130947 -1.565225923e-05 -0.003480091085 -0.01067613069 -3.016819185e-06 0.003907280656 0.01198665147 -3.387141014e-06 0.0003522938913 0.001080757811 --3.053963084e-07 -1.418845562e-05 -4.352696603e-05 1.229967954e-08 -0.002903353569 -0.008906830705 -2.516857328e-06 0.0005015463778 0.001538630612 -4.347802106e-07 -0.0005445093538 -0.001670431285 -4.720239284e-07 0.00111450542 0.003419050026 -9.66141762e-07 -0.0007128910741 -0.002186988239 -6.179905689e-07 0.0006684605511 0.002050685464 -5.794746648e-07 -0.1119838195 0.1605752619 --4.537472845e-05 0.246304235 -0.0001391993827 -0.07760805671 0.1112833451 -3.144601171e-05 -0.1706960266 -9.646923669e-05 -0.02159493045 0.0309652915 -8.750050763e-06 0.04749724423 --2.684317254e-05 0.001391123923 -0.001994753254 5.6366956e-07 -0.003059725193 1.729210455e-06 --0.004251940537 0.006096920684 -1.722843962e-06 0.00935198465 -5.285294793e-06 -0.003469774921 -0.004975361792 -1.405918244e-06 0.007631640547 -4.313038521e-06 -0.001991787547 0.002856053745 --8.070524784e-07 0.004380862433 -2.475854086e-06 0.002275758394 -0.003263243761 9.22114638e-07 --0.005005445723 2.828838712e-06 0.0004564196555 -0.0006544669227 1.849366991e-07 -0.001003878012 -5.67343877e-07 0.0008287959247 -0.001188422785 3.35819855e-07 -0.00182290573 1.030219202e-06 --0.0008296650475 0.001189669034 -3.361720149e-07 0.001824817333 -1.031299548e-06 0.0004442702771 --0.0006370457485 1.800138919e-07 -0.000977155907 5.522418204e-07 -0.0005132096797 0.0007358989818 --2.079474514e-07 0.001128785552 -6.379356495e-07 -iw : 1 --0.0706194842 -0.1431156155 -0.07140869441 -0.006315776899 0.02138644198 0.01028780507 -0.00165384143 -0.00550771505 -0.001448454497 -0.0008269438305 0.002008380949 -0.0002796349383 -0.0006648712195 0.4451322431 -0.06788932434 1.918389931e-05 0.182224313 -0.1410558353 -3.985900535e-05 0.03243666373 -0.1066909135 3.014830037e-05 -0.0387072509 -0.03923412651 -1.108662577e-05 -0.004474574913 0.008241291171 -2.328791773e-06 -0.007288178005 0.01583199602 --4.473743412e-06 0.01170910356 0.008407192102 -2.375671409e-06 -0.004486981616 -0.002112986497 -5.970794466e-07 0.004953244636 -0.003358875717 9.491379416e-07 -0.006092315487 -0.002259584437 -6.385045181e-07 0.004364569398 0.0009242169052 -2.611615924e-07 -0.003995253623 0.0005032263472 --1.421997298e-07 0.004065349069 0.000699307517 -1.976075786e-07 0.1731079056 0.3930021598 --0.0001110530107 -0.0359735706 2.033054293e-05 0.1496140246 0.2451985153 -6.928723588e-05 --0.08188347012 4.62766241e-05 0.08944862774 0.08714374334 -2.46247376e-05 -0.08092058457 -4.573244721e-05 0.02388466295 -0.02256199621 6.375480502e-06 -0.04624983415 2.613819598e-05 -0.0007583809355 -0.01556952268 4.399574724e-06 -0.009454690898 5.343339456e-06 -0.01087257072 --0.01389341939 3.925948024e-06 0.008061104941 -4.555751273e-06 -0.002878763402 0.009478994322 --2.678537081e-06 0.009208886655 -5.204422645e-06 -0.002120428681 -0.0007534910209 2.129185408e-07 -0.002623858433 -1.482879392e-06 0.003192941588 0.00555073498 -1.568504945e-06 -0.001576560183 -8.909964717e-07 -0.0003807662378 -0.005266583512 1.488210537e-06 -0.002287797933 1.292954058e-06 -0.001439385075 0.002886272578 -8.15591598e-07 -0.0005042551009 2.849808847e-07 -0.001532798975 --0.003553430073 1.004114349e-06 0.0002789805528 -1.57666476e-07 0.0009276181465 0.003446680075 --9.73949353e-07 0.0005281119563 -2.984636393e-07 -iw : 2 --0.2166445716 -0.4390462713 -0.2190656897 -0.01937537206 0.06560875675 0.03156065423 -0.005073610664 -0.01689642145 -0.004443530106 -0.002536876245 0.006161257553 -0.0008578566115 -0.002039674209 -0.06788932434 0.2589930202 5.885185507e-05 -0.1410558353 -0.2045231445 -0.0001222783944 -0.1066909135 -0.2600889127 9.248815245e-05 -0.03923412651 -0.146279537 -3.401125507e-05 0.008241291171 0.01812143042 -7.144205341e-06 0.01583199602 0.03612005244 --1.372443081e-05 0.008407192102 0.03475997673 -7.288021437e-06 -0.002112986497 -0.0102803765 -1.831704414e-06 -0.003358875717 -0.004256134335 2.911740083e-06 -0.002259584437 -0.0122876532 -1.958787145e-06 0.0009242169052 0.006898591031 -8.011845733e-07 0.0005032263472 -0.002615505597 --4.362365414e-07 0.000699307517 0.005982713236 -6.062152634e-07 -0.1902649189 0.06380431674 -2.033054293e-05 0.3060959613 -5.531064623e-05 -0.05817644198 -0.0664385382 4.62766241e-05 -0.04738159064 5.759419849e-05 0.03209593392 -0.1162383986 4.573244721e-05 -0.1083470091 -0.0001007646704 0.06012636228 -0.09002554884 2.613819598e-05 -0.1342939483 7.804129153e-05 -0.01861759379 -0.02197533465 5.343339456e-06 -0.03841049259 1.904996437e-05 -0.0001879477033 -0.009880301011 -4.555751273e-06 0.005580877271 -8.565029167e-06 -0.01485090198 0.01955063708 --5.204422645e-06 0.03172614183 -1.694804405e-05 -0.002237072682 0.004444500884 -1.482879392e-06 -0.005585317107 -3.852846149e-06 -0.001599171377 -0.001008713317 8.909964717e-07 0.001742026256 -8.744327698e-07 0.005370524997 -0.00580615634 1.292954058e-06 -0.01079352504 5.033237181e-06 --0.00115286387 3.948630146e-05 2.849808847e-07 0.001668075631 -3.422986034e-08 0.001767463895 --0.0006596347619 -1.57666476e-07 -0.002879459185 5.718237703e-07 -0.002527763539 0.002067505829 --2.984636393e-07 0.00472251124 -1.792278161e-06 -iw : 3 -6.121857434e-05 0.0001240639754 6.190272439e-05 5.475016732e-06 -1.853946546e-05 -8.918286033e-06 --1.433681025e-06 4.774524581e-06 1.25563533e-06 7.168605511e-07 -1.741024022e-06 2.424097606e-07 --5.763631473e-07 1.918389931e-05 5.885185507e-05 0.4672620635 3.985900535e-05 0.0001222783944 -0.2282041535 3.014830037e-05 9.248815245e-05 0.06721460237 1.108662577e-05 3.401125507e-05 --0.02591813888 -2.328791773e-06 -7.144205341e-06 -0.007160980992 -4.473743412e-06 -1.372443081e-05 --0.01244891914 -2.375671409e-06 -7.288021437e-06 0.008968618907 5.970794466e-07 1.831704414e-06 --0.003798213357 9.491379416e-07 2.911740083e-06 0.006048134254 6.385045181e-07 1.958787145e-06 --0.005355760833 -2.611615924e-07 -8.011845733e-07 0.004063303266 -1.421997298e-07 -4.362365414e-07 --0.004159289851 -1.976075786e-07 -6.062152634e-07 0.003837396443 5.376431541e-05 2.033054293e-05 -0.1357514579 0.0001488648904 0.4164547049 1.643927107e-05 4.62766241e-05 0.09732840203 -0.0001553550871 0.298581478 -9.069543271e-06 4.573244721e-05 0.04560277053 0.0001096804982 -0.1398989641 -1.69902719e-05 2.613819598e-05 0.002474119453 4.223779686e-05 0.007590037725 --5.260886718e-06 5.343339456e-06 -0.00306595285 5.538266556e-06 -0.009405648448 5.31095257e-08 --4.555751273e-06 -0.006241908872 -1.239898879e-05 -0.01914876169 4.196509703e-06 -5.204422645e-06 -0.001132863766 -7.000938951e-06 0.00347536927 6.321432346e-07 -1.482879392e-06 -0.0008032159814 --2.97086049e-06 -0.002464084582 4.518875828e-07 8.909964717e-07 0.002144407049 3.225629968e-06 -0.006578554799 -1.517581914e-06 1.292954058e-06 -0.001230560475 9.164976637e-07 -0.003775080631 -3.25771756e-07 2.849808847e-07 0.001047996503 1.345614971e-06 0.003215015744 -4.994430233e-07 --1.57666476e-07 -0.001217595868 -1.297351271e-06 -0.003735308154 7.142855181e-07 -2.984636393e-07 -0.001011281917 4.188500001e-07 0.003102383713 -ad : 3 3.113220902 -iw : 4 -0.4428701209 -0.03839082206 -0.05577959709 -0.006284853633 0.02570187386 -0.01177410487 -0.003973596527 -0.006141065071 0.007694783566 -0.0060833825 0.004691343844 -0.00455560106 -0.004428399448 0.4188992115 0.3604264917 0.0007558735513 0.04772320976 0.04106168882 -8.611310561e-05 -0.04303864864 -0.03703102969 -7.76601514e-05 -0.02394968313 -0.02060662811 --4.321548368e-05 0.02424098149 0.02085726512 4.374111065e-05 -0.007061572025 -0.006075871144 --1.274209972e-05 0.003605932894 0.003102592956 6.506647012e-06 -0.00746792643 -0.006425503916 --1.347533707e-05 0.008032005334 0.00691084496 1.449317695e-05 -0.00567914087 -0.004886408863 --1.024760195e-05 0.004445204578 0.003824713552 8.021052506e-06 -0.004674639705 -0.004022122609 --8.435051722e-06 0.004670674832 0.004018711178 8.427897392e-06 0.1605248559 0.3798200881 -0.0007965451082 0.1634004267 0.000685358079 0.04877219623 0.11540057 0.0002420139492 -0.04964587962 0.0002082320431 -0.009327211466 -0.02206924442 -4.628283031e-05 -0.009494294977 --3.982236705e-05 -0.01579227576 -0.03736632273 -7.836331599e-05 -0.01607517156 -6.742484657e-05 -0.007279574323 0.01722430178 3.612218982e-05 0.007409977374 3.10800159e-05 -0.0003157097981 --0.0007470053325 -1.566592874e-06 -0.0003213652828 -1.347917489e-06 0.001833486767 0.004338238472 -9.097998607e-06 0.001866331033 7.828039848e-06 -0.003601000451 -0.008520377115 -1.786863024e-05 --0.003665507169 -1.537440876e-05 0.002756765285 0.006522820579 1.367942609e-05 0.00280614875 -1.176996141e-05 -0.00179655022 -0.004250842394 -8.914714679e-06 -0.00182873282 -7.670339902e-06 -0.001782869964 0.00421847335 8.846831477e-06 0.001814807502 7.611932286e-06 -0.001841412413 --0.004356991453 -9.137326688e-06 -0.001874398655 -7.861878256e-06 0.001640473173 0.00388154633 -8.140240176e-06 0.001669859879 7.003971667e-06 -ad : 4 0 -iw : 5 -0.7032204055 0.5544559883 0.363270429 0.1985231277 0.1293770322 0.07072134775 -0.0546083141 0.0295329376 0.02595975093 0.0128918805 0.01275414576 0.005221808601 -0.006204537017 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 3 -ad : 0 3.245352337 -iw : 7 -0.42409731 -0.06145360706 -0.04758850158 0.000244748855 0.02344053272 -0.01484646808 -0.006020522813 -0.005669136938 0.007274863156 -0.006831153234 0.005479247774 -0.004702728997 -0.004480140553 0.002014708519 -0.004276278552 -0.547014067 0.000102026222 -0.0002165536805 --0.02770116775 -0.0002157538664 0.0004579439769 0.05857939192 -7.953899677e-05 0.0001688238784 -0.02159565501 0.0001246586652 -0.0002645917121 -0.03384610866 -5.348445899e-05 0.0001135223496 -0.01452158025 2.059494766e-05 -4.371338689e-05 -0.005591739934 -3.231435392e-05 6.858817407e-05 -0.008773679167 4.06044834e-05 -8.618421964e-05 -0.01102453452 -3.239536377e-05 6.876011987e-05 -0.008795674174 2.431045429e-05 -5.159965985e-05 -0.006600538166 -2.365608541e-05 5.021074251e-05 -0.006422870291 2.371840456e-05 -5.034301676e-05 -0.006439790582 -0.2267874823 -2.261914395e-05 --0.002893401301 -0.3927700887 0.006141330028 -0.05184765311 -5.171138713e-06 -0.0006614830124 --0.08979422986 0.001404017302 0.01840493561 1.835656377e-06 0.0002348139505 0.0318752522 --0.0004983995704 0.01788372953 1.783672752e-06 0.0002281642962 0.03097258263 -0.0004842854821 --0.012904096 -1.287018146e-06 -0.0001646331084 -0.02234842452 0.0003494386527 0.002933600232 -2.925890145e-07 3.742747457e-05 0.005080661471 -7.944092423e-05 -0.002072276864 -2.066830507e-07 --2.643853406e-05 -0.003588947501 5.611657224e-05 0.004340503416 4.329095707e-07 5.53770345e-05 -0.007517257543 -0.0001175393972 -0.004513378264 -4.501516205e-07 -5.758260733e-05 -0.007816657089 -0.000122220791 0.003313770327 3.305061078e-07 4.227776277e-05 0.005739072776 -8.973580471e-05 --0.002588498263 -2.581695173e-07 -3.302459274e-05 -0.004482984167 7.009567703e-05 0.002552473329 -2.54576492e-07 3.256497923e-05 0.004420593085 -6.912013373e-05 -0.002610464226 -2.603603405e-07 --3.330483901e-05 -0.004521026713 7.069050804e-05 -ad : 1 2.003222249 -iw : 0 -0.6091226201 0.2416206373 0.006622334526 -0.02503134086 0.005805385013 -0.004530922541 --0.001167955462 -0.007114098313 0.003129813608 -0.001414342746 0.003243359897 -0.002319688649 -0.001990525168 0.1804061432 -0.2433239673 -0.4359406019 0.1075886625 -0.1451109133 --0.2599815364 0.02429540086 -0.03276858104 -0.05870837592 -0.0027809228 0.003750787842 -0.006719932802 0.004102305124 -0.005533010907 -0.009912973769 0.001488695243 -0.00200788746 --0.003597342579 0.0008841451634 -0.00119249658 -0.002136483647 -0.003013811149 0.004064897528 -0.007282693501 -1.687815233e-05 2.27645185e-05 4.078504066e-05 -0.0008318043204 0.001121901526 -0.002010005146 0.0011329643 -0.00152809302 -0.002737740134 -0.0006343272355 0.0008555530137 -0.001532813639 0.0006936148342 -0.0009355175508 -0.001676078558 -0.09607879976 -0.07933481133 --0.1421366986 -0.1182307214 0.1917078033 -0.0703075197 -0.05805478238 -0.1040112779 --0.08651761675 0.1402858923 -0.02142460188 -0.01769086159 -0.0316950481 -0.02636425665 -0.04274890373 0.001139308271 0.0009407570348 0.001685465647 0.00140198711 -0.002273282831 --0.002874338839 -0.002373417758 -0.004252228736 -0.00353704621 0.00573522136 -0.003534442137 --0.002918482546 -0.005228769907 -0.00434934288 0.007052337661 -0.00287094855 -0.002370618306 --0.004247213223 -0.003532874255 0.005728456654 0.001283262157 0.001059623573 0.001898427613 -0.001579130994 -0.002560516678 0.0005427257044 0.0004481429979 0.0008028955406 0.0006678565065 --0.001082910619 0.0009981043652 0.000824161227 0.001476571936 0.001228227241 -0.00199153607 --0.000567784108 -0.0004688343859 -0.0008399663489 -0.000698692374 0.001132910115 0.0003505901037 -0.0002894915403 0.000518654688 0.0004314221346 -0.0006995389077 -0.0004366660337 -0.0003605667169 --0.0006459933781 -0.0005373437252 0.0008712878001 -iw : 1 --0.0748141676 -0.1572368588 -0.08779261852 -0.01648069106 0.01995875927 0.01347243525 -0.004857016494 -0.004719575711 -0.002340934068 -0.001921488494 0.00173688715 -2.311987595e-05 -0.0009831329404 0.4531434376 0.03322142051 0.05951968568 0.19742096 0.07150887084 -0.1281156992 0.04141777217 0.05838393165 0.1046009836 -0.03799405852 0.02587623411 -0.04636000802 -0.007685126757 -0.0002489221942 -0.0004459704171 -0.009297722088 -0.007545616454 --0.0135187693 0.01165830936 -0.005736625048 -0.01027777002 -0.003416734405 -0.0003553466893 --0.000636641147 0.005507504588 0.001394881504 0.002499077626 -0.006104372613 0.00159179242 -0.002851864341 0.003987274802 1.488821839e-06 2.667381664e-06 -0.004113152348 -0.000154480223 --0.0002767676449 0.004054885937 -0.0004691745314 -0.0008405757554 0.1829235997 -0.1845597404 --0.3306582793 0.01796388207 -0.02912793162 0.1621131843 -0.1207692007 -0.216370786 -0.04233258384 -0.06864109902 0.1016318587 -0.04658218223 -0.08345690228 0.04451830278 --0.07218518105 0.03251873554 0.008316316301 0.01489955952 0.02857631985 -0.04633570225 -0.00536591855 0.008481550828 0.01519559464 0.009103212273 -0.01476060373 -0.01017760637 -0.008202732681 0.01469606246 -0.002274558267 0.003688132522 -0.003988077831 -0.003628912059 --0.006501579457 -0.005114855124 0.008293594323 -0.003576370845 -6.369741916e-05 -0.000114120658 --0.002617601901 0.004244368167 0.002698299399 -0.003144884256 -0.005634392497 4.249052206e-06 --6.889719141e-06 -0.0002569806847 0.002176257499 0.003898995297 0.001157919009 -0.001877533241 -0.001883400055 -0.001184507894 -0.002122171071 0.0006267102162 -0.001016193062 -0.00140272195 -0.001789783827 0.003206586871 9.339691988e-05 -0.0001514404896 0.000954942066 -0.001517213446 --0.002718248227 -0.0002479817745 0.0004020955016 -iw : 2 -0.1009060986 0.2120742432 0.1184108693 0.02222844001 -0.0269195073 -0.01817103529 --0.00655093281 0.006365558654 0.003157350157 0.002591620193 -0.002342637921 3.118308413e-05 --0.001326006993 0.03322142051 0.4329669758 -0.08027756593 0.07150887084 0.1539912699 --0.1727968884 0.05838393165 0.005959289457 -0.1410812617 0.02587623411 -0.05370954691 --0.06252836447 -0.0002489221942 -0.007533948118 0.0006015055212 -0.007545616454 -0.004715020939 -0.01823352864 -0.005736625048 0.0151423505 0.01386220964 -0.0003553466893 -0.003200920668 -0.0008586739171 0.001394881504 0.004660347154 -0.003370647317 0.00159179242 -0.007071120525 --0.00384647071 1.488821839e-06 0.003986370592 -3.597648491e-06 -0.000154480223 -0.004019331426 -0.0003732921739 -0.0004691745314 0.004339831067 0.001133732056 0.09382570299 0.1295161235 --0.02912793162 -0.2208427124 -0.312967928 0.03972759791 0.07228931634 -0.06864109902 --0.2062714294 -0.1746827881 -0.004653183531 0.0163945591 -0.07218518105 -0.1364990679 --0.03961646669 -0.02505173079 -0.01781163941 -0.04633570225 -0.04940137563 0.0430407561 --0.01134771964 -0.009998260249 -0.01476060373 -0.009904875567 0.02416019496 -0.003124008541 --0.005154747797 0.003688132522 0.01279682506 0.01245613823 0.005719740716 0.004775021384 -0.008293594323 0.006701936486 -0.01153855218 0.001891711305 0.001113979745 0.004244368167 -0.005223265385 -0.002691865099 0.001812688727 0.002329959935 -6.889719141e-06 -0.003153466379 --0.005630208144 -0.002077009771 -0.002085416244 -0.001877533241 -0.0001624765648 0.005039283011 -0.0002397644616 0.0006228185482 -0.001016193062 -0.002450320545 -0.001505003588 -0.001099516902 --0.001365050158 -0.0001514404896 0.001601143209 0.003298561663 0.001051693223 0.001225958097 -0.0004020955016 -0.001016346443 -0.002962454056 -iw : 3 -0.1807839394 0.3799534187 0.212145586 0.03982459939 -0.04822914218 -0.03255533005 --0.01173668843 0.01140457104 0.005656726475 0.004643161458 -0.004197083406 5.586779065e-05 --0.002375681661 0.05951968568 -0.08027756593 0.3339488413 0.1281156992 -0.1727968884 --0.05914455904 0.1046009836 -0.1410812617 -0.1680569902 0.04636000802 -0.06252836447 --0.1308349796 -0.0004459704171 0.0006015055212 -0.00679202285 -0.0135187693 0.01823352864 -0.01777507293 -0.01027777002 0.01386220964 0.03224065342 -0.000636641147 0.0008586739171 --0.002141791776 0.002499077626 -0.003370647317 0.0005028318405 0.002851864341 -0.00384647071 --0.01181553884 2.667381664e-06 -3.597648491e-06 0.003981933083 -0.0002767676449 0.0003732921739 --0.003558895259 -0.0008405757554 0.001133732056 0.005738229636 0.1680986624 -0.02912793162 -0.09358835936 0.3088457753 -0.1262279127 0.07117619008 -0.06864109902 -0.01237585135 -0.1649687755 0.01669201057 -0.008336670045 -0.07218518105 -0.07264204646 0.0294008995 -0.09797643598 -0.04488282318 -0.04633570225 -0.07496427911 -0.04959813356 0.1011085625 --0.02033063896 -0.01476060373 -0.02820468479 -0.02624909931 0.03804125336 -0.005596991446 -0.003688132522 -0.0006056312639 -0.01193419779 0.0008168491341 0.01024751996 0.008293594323 -0.01500473163 0.0127122525 -0.02023773007 0.003389200718 0.004244368167 0.006349183547 -0.0032925234 -0.008563502897 0.003247623419 -6.889719141e-06 0.002321461831 0.005629233118 --0.00313108685 -0.003721182503 -0.001877533241 -0.004401254262 -0.005304989444 0.005936220514 -0.0004295633713 -0.001016193062 -0.0006306018842 0.001361193067 0.0008505284219 -0.001969900728 --0.0001514404896 -0.001551843998 -0.003319993354 0.002093059757 0.001884219552 0.0004020955016 -0.001721921645 0.003019358168 -0.002322453098 -ad : 2 3.03052076 -iw : 4 -0.4544973851 -0.02282075324 -0.0595755442 -0.01104896757 0.02637575687 -0.009515616617 -0.003128002291 -0.006672491428 0.007755239332 -0.005500733502 0.004312909888 -0.004542729707 -0.004380642523 0.4375309294 -0.1619911482 -0.3003130379 0.06725586529 -0.02490076498 --0.04616316667 -0.04196384973 0.01553666666 0.02880320075 -0.02978024819 0.01102581846 -0.02044060477 0.02326131454 -0.008612252981 -0.01596613076 -0.004840407976 0.001792109296 -0.003322365405 0.004000596116 -0.001481177935 -0.002745934269 -0.008346725543 0.003090285883 -0.005729036133 0.007776636907 -0.002879216661 -0.005337737967 -0.005241565967 0.001940633753 -0.003597712739 0.004514346959 -0.001671388691 -0.003098563228 -0.00479342684 0.001774715033 -0.003290118433 0.004597701149 -0.001702249689 -0.003155775984 0.1886067135 -0.1738010277 --0.322207202 -0.07840450924 0.1192937713 0.06623400954 -0.06103461915 -0.1131511943 --0.02753372304 0.04189301981 -0.007268546116 0.006697962981 0.01241725633 0.003021561537 --0.004597356381 -0.02050312769 0.01889362578 0.03502661852 0.008523226106 -0.01296823098 -0.006739103281 -0.006210081573 -0.01151278007 -0.00280147019 0.004262483718 0.0006361118915 --0.0005861769098 -0.001086704863 -0.0002644340689 0.0004023408556 0.002713887224 -0.002500846231 --0.004636282519 -0.001128172969 0.001716534028 -0.004494974443 0.004142117549 0.007679011586 -0.001868577521 -0.00284307193 0.002783432026 -0.002564931744 -0.004755089722 -0.001157083 -0.001760521125 -0.001786880929 0.001646610219 0.00305262678 0.0007428130193 -0.001130202424 -0.002151288853 -0.001982412007 -0.003675164839 -0.0008942987425 0.001360690484 -0.002194379617 -0.002022120134 0.003748779158 0.000912211733 -0.001387945399 0.001768438149 -0.001629615204 --0.003021119966 -0.0007351462874 0.001118537364 -ad : 3 3.347258395 -iw : 5 -0.4094881472 -0.07764414863 -0.03974262227 0.004141344336 0.0209549886 -0.01658380301 -0.007963720818 -0.005749597484 0.00686815368 -0.0071769444 0.006098418188 -0.004971614259 -0.00459664179 0.004819005802 -0.4712682185 -0.2658449454 1.078693209e-05 -0.001054893577 --0.0005950711597 -0.0005059517458 0.04947887338 0.0279112995 -0.0001274670847 0.01246547284 -0.007031840501 0.0002992177642 -0.02926160052 -0.01650662677 -0.0001621981216 0.01586194808 -0.008947810512 6.488388004e-05 -0.006345232151 -0.0035793797 -7.423496682e-05 0.00725970916 -0.004095241116 9.64515744e-05 -0.009432352544 -0.005320840974 -8.530099173e-05 0.008341896245 -0.004705708691 6.682288294e-05 -0.006534854344 -0.003686346602 -6.054416888e-05 0.005920835911 -0.00333997549 5.822994263e-05 -0.005694519254 -0.003212309043 -0.2296499075 -0.006172042133 --0.003481682276 0.2057581737 0.3404864553 -0.03930855048 -0.001056451676 -0.000595950092 -0.03521906735 0.05828014111 0.02114635893 0.0005683268925 0.0003205962672 -0.01894638775 --0.03135228258 0.01435850758 0.0003858974501 0.0002176868342 -0.01286471363 -0.02128839241 --0.01430383375 -0.0003844280431 -0.0002168579338 0.01281572782 0.0212073312 0.005125607483 -0.0001377551844 7.770844292e-05 -0.004592362551 -0.007599393103 -0.002246646689 -6.038059485e-05 --3.406101941e-05 0.002012915767 0.003330951776 0.003827295171 0.0001028619054 5.802495593e-05 --0.003429120757 -0.005674472854 -0.004785839255 -0.000128623616 -7.255727595e-05 0.004287942266 -0.007095641628 0.003935441108 0.000105768422 5.966453766e-05 -0.003526015682 -0.005834813554 --0.002865980427 -7.702573078e-05 -4.345063042e-05 0.002567816835 0.00424919621 0.00265773067 -7.142883641e-05 4.02933921e-05 -0.002381232437 -0.003940438317 -0.002820201797 -7.579539005e-05 --4.275658858e-05 0.002526800806 0.004181323317 -ad : 4 0 -iw : 6 -0.7032204055 0.5544559883 0.363270429 0.1985231277 0.1293770322 0.07072134775 -0.0546083141 0.0295329376 0.02595975093 0.0128918805 0.01275414576 0.005221808601 -0.006204537017 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 4 -ad : 0 3.245352337 -iw : 6 -0.42409731 -0.06145360706 -0.04758850158 0.000244748855 0.02344053272 -0.01484646808 -0.006020522813 -0.005669136938 0.007274863156 -0.006831153234 0.005479247774 -0.004702728997 -0.004480140553 -0.002014708519 0.004276278552 0.547014067 -0.000102026222 0.0002165536805 -0.02770116775 0.0002157538664 -0.0004579439769 -0.05857939192 7.953899677e-05 -0.0001688238784 --0.02159565501 -0.0001246586652 0.0002645917121 0.03384610866 5.348445899e-05 -0.0001135223496 --0.01452158025 -2.059494766e-05 4.371338689e-05 0.005591739934 3.231435392e-05 -6.858817407e-05 --0.008773679167 -4.06044834e-05 8.618421964e-05 0.01102453452 3.239536377e-05 -6.876011987e-05 --0.008795674174 -2.431045429e-05 5.159965985e-05 0.006600538166 2.365608541e-05 -5.021074251e-05 --0.006422870291 -2.371840456e-05 5.034301676e-05 0.006439790582 -0.2267874823 -2.261914395e-05 --0.002893401301 -0.3927700887 0.006141330028 -0.05184765311 -5.171138713e-06 -0.0006614830124 --0.08979422986 0.001404017302 0.01840493561 1.835656377e-06 0.0002348139505 0.0318752522 --0.0004983995704 0.01788372953 1.783672752e-06 0.0002281642962 0.03097258263 -0.0004842854821 --0.012904096 -1.287018146e-06 -0.0001646331084 -0.02234842452 0.0003494386527 0.002933600232 -2.925890145e-07 3.742747457e-05 0.005080661471 -7.944092423e-05 -0.002072276864 -2.066830507e-07 --2.643853406e-05 -0.003588947501 5.611657224e-05 0.004340503416 4.329095707e-07 5.53770345e-05 -0.007517257543 -0.0001175393972 -0.004513378264 -4.501516205e-07 -5.758260733e-05 -0.007816657089 -0.000122220791 0.003313770327 3.305061078e-07 4.227776277e-05 0.005739072776 -8.973580471e-05 --0.002588498263 -2.581695173e-07 -3.302459274e-05 -0.004482984167 7.009567703e-05 0.002552473329 -2.54576492e-07 3.256497923e-05 0.004420593085 -6.912013373e-05 -0.002610464226 -2.603603405e-07 --3.330483901e-05 -0.004521026713 7.069050804e-05 -ad : 1 1.950638213 -iw : 0 -0.6151578218 0.2563762461 0.01430294219 -0.0240433331 0.005728253865 -0.003403419439 --0.0007520211535 -0.007518590258 0.002354958447 -0.001568752394 0.003294153623 -0.0021315164 -0.001967381423 0.1793847521 -0.2394658611 0.4291664613 0.1105615751 -0.1475918242 -0.2645114449 0.02692142536 -0.03593818444 0.06440777559 -0.002189284785 0.002922539179 --0.005237722789 0.003964012822 -0.005291674642 0.00948364527 0.002014616508 -0.002689369477 -0.004819840192 0.001461914003 -0.001951551018 0.00349753506 -0.002797131313 0.00373397098 --0.006691956444 -0.0002487988733 0.0003321287665 -0.000595235274 -0.000999370374 0.001334088234 --0.002390929229 0.001051364857 -0.001403497164 0.002515322679 -0.0005785464661 0.0007723183051 --0.001384135144 0.0006838232536 -0.0009128553144 0.001636003075 -0.0915139112 -0.07686289839 -0.1377523208 -0.1134785299 -0.183889532 -0.06884173713 -0.05782044912 0.1036247815 --0.08536471694 -0.1383316991 -0.02193623755 -0.01842433326 0.0330197627 -0.02720124139 --0.04407903023 0.001059129512 0.000889567094 -0.00159426634 0.001313335409 0.002128231956 --0.00219389393 -0.001842660247 0.003302382953 -0.002720459159 -0.004408445915 -0.003487855072 --0.002929463362 0.005250132186 -0.004324989074 -0.007008552345 -0.003326070011 -0.002793579445 -0.005006603445 -0.004124373335 -0.006683458829 0.0007502639 0.0006301496369 -0.001129342983 -0.00093033773 0.001507592405 0.0004859764264 0.0004081735355 -0.0007315213579 0.0006026175662 -0.0009765288846 0.001077522251 0.0009050152292 -0.001621952213 0.001336142663 0.002165190625 --0.0004394998708 -0.0003691376914 0.0006615620116 -0.0005449859871 -0.0008831381426 0.0003360330245 -0.0002822354752 -0.0005058174039 0.0004166856505 0.0006752301898 -0.0004120463668 -0.0003460793841 -0.0006202373229 -0.0005109432581 -0.0008279726281 -iw : 1 --0.07399475353 -0.1584513537 -0.09341126491 -0.02205139494 0.01761024086 0.01429846869 -0.006542323477 -0.00373835393 -0.002494514242 -0.002461801893 0.001367800747 9.649781653e-06 -0.001118250055 0.4593331714 0.03202669103 -0.05739766661 0.2099070215 0.07020114729 --0.1258132488 0.05013956528 0.0595374116 -0.1067018912 -0.03565082728 0.0286810231 --0.05140161998 -0.009332433972 0.002168978365 -0.003887204487 -0.01103337273 -0.006783069 -0.01215649574 0.01105961974 -0.006242510908 0.01118771713 -0.002920792556 -0.001189421052 -0.002131659276 0.005987057789 0.001016371435 -0.001821522827 -0.005906082321 0.001684879451 --0.003019611014 0.003810192549 0.0002689649285 -0.0004820341658 -0.004223566036 -2.683152436e-05 -4.808698121e-05 0.003983057092 -0.0004766318576 0.0008542111463 0.1812802154 -0.1823834353 -0.3268643521 0.01689275736 0.02737435221 0.1635900188 -0.1238903557 0.2220340941 -0.04052634397 0.06567207413 0.1055762919 -0.05127516934 0.09189444742 0.04397215869 -0.07125594322 0.03702709046 0.005211588025 -0.009340115457 0.0298313325 0.04834103665 -0.008318327272 0.008315350059 -0.01490262263 0.01114033554 0.01805267562 -0.009067773825 -0.009127127294 -0.01635747536 -0.0008423981692 -0.001365088226 -0.004369523784 -0.002695358551 -0.004830573704 -0.004812783074 -0.007799012095 -0.004303752624 -2.020129318e-05 3.62043987e-05 --0.003103593287 -0.005029306581 0.002177467237 -0.003385478291 0.00606739404 -0.0005393397252 --0.000873988496 -0.0002672955852 0.0018459549 -0.003308287573 0.0009548293275 0.001547280515 -0.002031993448 -0.001167755377 0.002092830438 0.0007339467967 0.001189345095 -0.001232643691 -0.001819642216 -0.003261130448 0.0002451497187 0.0003972598789 0.0009613945941 -0.001403515811 -0.002515356098 -0.0001814462605 -0.0002940297866 -iw : 2 -0.09877772311 0.211521266 0.1246973822 0.02943704086 -0.02350841665 -0.01908743679 --0.008733535636 0.004990436102 0.003329998755 0.0032863301 -0.001825916528 -1.288177086e-05 --0.001492784138 0.03202669103 0.4405711324 0.07662179477 0.07020114729 0.1687814285 -0.1679517218 0.0595374116 0.01526105614 0.1424394212 0.0286810231 -0.05245289004 -0.0686174998 0.002168978365 -0.0106030759 0.005189140988 -0.006783069 -0.007059680759 --0.01622805554 -0.006242510908 0.01471663922 -0.01493480513 -0.001189421052 -0.002223999869 --0.002845613231 0.001016371435 0.005391641908 0.002431603173 0.001684879451 -0.006893126966 -0.004030965527 0.0002689649285 0.003652626147 0.0006434812617 -2.683152436e-05 -0.004207847456 --6.419269324e-05 -0.0004766318576 0.00426227999 -0.001140311009 0.09371940782 0.129921062 -0.02737435221 -0.2163761063 0.3108277699 0.0437479632 0.07672588894 0.06567207413 --0.205440019 0.1835617458 -0.0005384855796 0.02096229013 0.07125594322 -0.1397587182 -0.05015092851 -0.02345781774 -0.01574107483 0.04834103665 -0.05481689921 -0.03765950731 --0.01243739318 -0.01064953772 0.01805267562 -0.01410193519 -0.02547833283 -0.004692098796 --0.006502901329 -0.001365088226 0.01082225398 -0.01555777244 0.004855252563 0.003928812438 --0.007799012095 0.006989226854 0.009399430619 0.002139127269 0.001246636853 -0.005029306581 -0.00622504471 0.002982498348 0.002324315643 0.002750083852 -0.000873988496 -0.002300184907 -0.006579398424 -0.001720282941 -0.00176168728 0.001547280515 -7.541284643e-05 -0.004214723311 -0.0001710949755 0.0005835401654 0.001189345095 -0.002644649375 0.001396082247 -0.001218617173 --0.001460375901 0.0003972598789 0.001326336502 -0.003493855249 0.0009346987691 0.001123376595 --0.0002940297866 -0.00103839821 0.002687606122 -iw : 3 --0.1770276803 -0.3790846546 -0.2234804327 -0.05275654159 0.04213136661 0.03420816507 -0.01565208739 -0.008943770911 -0.005967964601 -0.005889702413 0.003272375158 2.308648086e-05 -0.002675341207 -0.05739766661 0.07662179477 0.3460042636 -0.1258132488 0.1679517218 --0.03850513388 -0.1067018912 0.1424394212 -0.1605381417 -0.05140161998 0.0686174998 --0.1371408319 -0.003887204487 0.005189140988 -0.01700753063 0.01215649574 -0.01622805554 -0.01296903829 0.01118771713 -0.01493480513 0.03314922439 0.002131659276 -0.002845613231 -0.001288065257 -0.001821522827 0.002431603173 0.002390549347 -0.003019611014 0.004030965527 --0.01186815776 -0.0004820341658 0.0006434812617 0.002858439477 4.808698121e-05 -6.419269324e-05 --0.004128620625 0.0008542111463 -0.001140311009 0.005669655554 -0.1679622575 0.02737435221 -0.09613554732 -0.3069557459 -0.1283341051 -0.07840432233 0.06567207413 -0.004326799004 --0.1742726181 0.005775968343 0.0009650642879 0.07125594322 -0.06698202724 -0.04007197854 -0.08941623324 0.04204068416 0.04834103665 -0.07540373982 0.04449720909 0.1006586194 -0.02229007507 0.01805267562 -0.03293020881 0.02803183232 0.04395948216 0.008409096092 --0.001365088226 -0.00481810499 0.0153646846 0.006431826824 -0.008701497375 -0.007799012095 -0.01355437859 -0.01050257864 -0.01809412953 -0.003833705884 -0.005029306581 0.007453823428 --0.003693879423 -0.009950323117 -0.004165597197 -0.000873988496 0.003828763302 -0.006703021604 --0.005111126171 0.003083060521 0.001547280515 -0.003671345935 0.004433581727 0.004900985204 --0.0003066333751 0.001189345095 -0.000884353428 -0.001227852775 0.001180548807 0.002183984045 -0.0003972598789 -0.001950675338 0.003550046527 0.002604012572 -0.001675150526 -0.0002940297866 -0.001486269116 -0.002729195797 -0.001984063358 -ad : 2 2.994710688 -iw : 4 -0.4594981533 -0.01581957458 -0.06086770012 -0.01323467917 0.02646126145 -0.008491043205 -0.002889453475 -0.006932681674 0.007712608083 -0.005239235756 0.004192541899 -0.004543412143 -0.004342856059 0.4410737007 -0.1594176829 0.2977198859 0.07540936811 -0.02725527891 -0.05090049223 -0.04056503049 0.01466145716 -0.02738094843 -0.03202750507 0.01157573131 --0.02161821288 0.0223270074 -0.008069671304 0.01507048388 -0.003848124113 0.001390831121 --0.002597441358 0.004288176114 -0.00154987953 0.002894471608 -0.008628421754 0.003118578598 --0.005824089572 0.007494486488 -0.002708739307 0.005058695766 -0.005006754668 0.001809596053 --0.003379504211 0.004555180237 -0.001646383082 0.003074696448 -0.004796453758 0.001733586797 --0.003237553414 0.004486264404 -0.001621474767 0.00302817902 0.1926068516 -0.1705739652 -0.3185547584 -0.0766851208 -0.1151355462 0.07159468102 -0.06340474665 0.1184112929 --0.02850494008 -0.04279750507 -0.005555019405 0.004919563759 -0.009187512542 0.002211693565 -0.003320651308 -0.02167816584 0.0191983342 -0.03585377584 0.008631015733 0.01295866396 -0.00598573172 -0.005301005575 0.009899872753 -0.002383178772 -0.00357812033 0.0009960892638 --0.0008821435687 0.001647443859 -0.000396586232 -0.0005954371849 0.00307200489 -0.002720588862 -0.005080825357 -0.001223098058 -0.001836367492 -0.004652784398 0.004120538171 -0.007695295352 -0.001852474773 0.002781317844 0.002621947518 -0.002322014928 0.004336470127 -0.001043910746 --0.001567334481 -0.001718372027 0.001521802199 -0.002842035895 0.0006841582496 0.001027199709 -0.00223381152 -0.001978278993 0.003694527392 -0.0008893770126 -0.001335316514 -0.002242301111 -0.001985797434 -0.003708568427 0.0008927570861 0.001340391378 0.001741468123 -0.001542256262 -0.002880234802 -0.0006933538047 -0.001041005976 -ad : 3 3.303653192 -iw : 5 -0.4157510976 -0.07089048239 -0.04324544756 0.002607725563 0.02207948738 -0.01591628265 -0.007109280195 -0.005663063326 0.007037898695 -0.007055437311 0.005841495253 -0.004839366207 -0.004533511081 0.002939565203 -0.475702526 0.2634907806 6.730429593e-05 -0.01089168682 -0.006032885901 -0.0003129544723 0.05064464392 -0.02805197792 -9.378951608e-05 0.01517772413 --0.00840691432 0.0001831075376 -0.02963183742 0.01641302189 -9.023619531e-05 0.01460269907 --0.008088408963 3.492320691e-05 -0.005651535718 0.003130375553 -4.57544333e-05 0.007404326148 --0.004101243045 5.922728953e-05 -0.009584604964 0.005308895592 -5.014013418e-05 0.008114053213 --0.0044943596 3.834132884e-05 -0.006204681889 0.00343676223 -3.576562087e-05 0.005787861474 --0.003205886146 3.513078294e-05 -0.005685127232 0.003148981832 -0.2285449579 -0.003743907313 -0.002073743582 0.209992595 -0.3355887664 -0.04472134174 -0.0007326022849 0.0004057870988 -0.04109104262 -0.06566751698 0.02014158572 0.0003299492177 -0.0001827582831 -0.01850657259 -0.02957531842 0.01589965069 0.0002604599946 -0.0001442683264 -0.01460898083 0.02334658446 --0.01379582197 -0.000225996142 0.0001251788599 0.01267593249 -0.02025738358 0.004177306144 -6.843050558e-05 -3.790353497e-05 -0.003838209188 0.006133834797 -0.002112655302 -3.460844513e-05 -1.916955602e-05 0.00194115842 -0.003102161575 0.004035354853 6.610513171e-05 -3.661551453e-05 --0.003707780934 0.005925397652 -0.004699167309 -7.697936989e-05 4.263873566e-05 0.004317707758 --0.006900120548 0.003681489757 6.030829359e-05 -3.340465624e-05 -0.003382641187 0.00540579244 --0.002728109721 -4.469050652e-05 2.475399184e-05 0.002506652717 -0.004005876935 0.002597198359 -4.254598315e-05 -2.356614417e-05 -0.002386368215 0.003813650501 -0.002737835626 -4.484983137e-05 -2.484224159e-05 0.002515589113 -0.004020158172 -ad : 4 0 -iw : 7 -0.7032204055 0.5544559883 0.363270429 0.1985231277 0.1293770322 0.07072134775 -0.0546083141 0.0295329376 0.02595975093 0.0128918805 0.01275414576 0.005221808601 -0.006204537017 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/stress_delta_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/stress_delta_ref.dat deleted file mode 100644 index 2b5788faf9..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/stress_delta_ref.dat +++ /dev/null @@ -1,3 +0,0 @@ --1.010888635e-07 -1.423154024e-10 -9.8554036e-10 --1.423154024e-10 -1.123645684e-07 2.628373004e-11 --9.8554036e-10 2.628373004e-11 -1.154997178e-07 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/vdpre_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/vdpre_ref.dat deleted file mode 100644 index b2e6d5832f..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/vdpre_ref.dat +++ /dev/null @@ -1,320 +0,0 @@ -0.5369422513 0.361355308 0.08806486249 0.007772916604 8.788509417e-07 0.001604132141 0.001646040214 0.001417420272 0.0005874826666 0.000323393403 6.739768939e-05 3.730466906e-05 7.821295808e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4111961024 0.1045932971 0.002938612415 0.0002585986251 2.803941655e-05 2.824310234e-06 1.223806671e-05 4.648947686e-05 2.426817232e-07 1.050701256e-05 6.649769568e-06 2.428960115e-06 3.897510767e-06 4.499533096e-05 7.651803104e-05 0.2324928602 0.005546926526 0.001719066082 0.1078198088 5.003549893e-08 4.376328718e-08 0.01167948385 1.760546042e-10 3.523296964e-11 7.781550349e-06 2.887072939e-12 4.241473859e-11 5.182906798e-05 4.054744646e-05 1.849758353e-05 2.207546682e-05 3.750593258e-10 4.825684639e-10 0.0001375892133 1.659328204e-08 3.036800169e-09 2.734979601e-06 1.701774627e-10 4.630856027e-10 4.567875977e-07 1.430858611e-08 6.740791277e-08 1.949299199e-05 1.394510305e-06 9.035759123e-11 1.54664256e-09 1.835300388e-10 5.242770594e-10 2.454176723e-06 1.293535445e-08 3.840644273e-08 2.882368895e-06 1.286359447e-10 2.759626626e-07 0.0530805995 2.631765605e-07 6.296496047e-07 3.069307815e-08 1.038788118e-06 0.0374986799 8.141996781e-05 1.835681971e-05 1.34710367e-11 2.505653681e-07 0.005395846684 1.550895126e-06 4.412790785e-07 1.019109413e-12 1.411094982e-10 8.873487342e-12 2.99420732e-11 5.809188105e-06 1.989469246e-14 1.904845815e-10 4.683580031e-10 1.628676596e-09 1.863940089e-05 9.524748335e-15 3.240423092e-10 4.505158859e-10 3.275146042e-09 2.354704573e-05 4.200797305e-11 8.54540284e-08 2.89900501e-09 4.032855794e-09 0.0001613157087 1.262648455e-11 1.832167935e-10 2.543252663e-05 7.304982532e-09 1.206128628e-09 4.828168325e-15 2.325443253e-11 5.436150566e-10 2.411669877e-09 3.828786289e-06 5.255616224e-14 7.745993587e-11 6.688752503e-06 7.747999493e-09 3.686521165e-08 5.285921641e-19 1.490775309e-17 6.96663527e-12 1.018033145e-15 1.0892107e-15 5.042913785e-15 2.741406386e-12 2.087712493e-11 4.289640801e-11 1.486677624e-06 2.799675143e-12 7.243512443e-11 8.009251478e-07 2.129440168e-10 1.097040318e-09 -0.3571837143 0.04594233597 4.194947207e-05 0.0006854350876 3.529990994e-05 4.187841868e-05 1.891164406e-06 3.616284222e-05 1.972396669e-05 2.046569329e-06 9.085400341e-06 6.970606024e-06 4.332908976e-06 0.0001657962212 8.734714524e-06 0.2956016773 3.06810362e-05 0.0005337537581 0.09172154651 1.349061928e-12 3.486796587e-09 0.003394208277 4.576252702e-09 7.010014182e-08 0.0001260161331 8.012188111e-08 7.60828551e-11 0.000158866469 8.5570477e-09 1.187715766e-09 1.282403762e-06 7.016214662e-13 1.98302248e-13 2.095009272e-09 1.008615989e-10 3.897257862e-08 8.772202805e-05 2.608316612e-06 1.059976368e-08 1.674220144e-11 1.634966749e-08 9.387733571e-10 3.069542895e-06 1.086301885e-07 1.663622502e-08 1.280675993e-05 3.580948329e-07 8.702079144e-08 4.846015998e-06 1.171464892e-08 5.542001185e-10 4.639881869e-06 7.020644708e-08 9.118311347e-06 0.09883067165 0.000145375122 5.352871486e-06 5.311473945e-09 1.217326028e-06 0.04684641534 6.142794534e-05 0.0006350712431 1.404101705e-11 1.114587626e-07 6.960213852e-10 5.816030314e-07 0.003680485533 1.462401967e-14 1.122481237e-10 3.512331833e-10 3.746141286e-09 1.527197824e-05 1.666449674e-12 7.716826922e-10 5.827775265e-10 1.659047094e-12 0.0001427097302 6.358267375e-10 3.451244404e-07 9.348045663e-05 1.142929468e-06 6.637462505e-08 5.900000548e-14 1.422065187e-11 1.991540917e-10 2.947930668e-10 3.131571483e-05 1.558602943e-15 2.089965836e-10 4.859056753e-07 1.048555417e-05 2.991066301e-05 1.807227297e-13 1.945247727e-09 1.636612602e-06 5.799831917e-09 5.941155621e-11 2.536038875e-14 4.730311249e-10 4.23195607e-08 4.07152204e-09 5.375373736e-06 1.919579332e-11 1.459003856e-09 5.371382538e-06 4.993759058e-08 1.081764688e-08 1.528346305e-13 2.254071279e-10 1.557409374e-06 5.197306625e-11 3.504617755e-10 3.311987476e-14 2.727137423e-10 9.673804116e-08 1.664046282e-08 1.965437509e-06 -0.3710303663 0.05838053236 4.385531457e-05 0.0006265680254 3.370249515e-05 2.052925908e-05 1.364119962e-06 5.061039481e-05 9.795733219e-06 2.000365404e-06 1.051938342e-05 5.380955428e-06 3.962190445e-06 0.0001793810263 0.0001671193316 0.2814506376 0.0003769717748 0.00177335376 0.09807257119 6.395558111e-10 1.067646664e-08 0.005110708494 6.883029775e-09 3.093808819e-08 6.69216168e-05 6.887693383e-07 3.021894362e-08 0.0001449911777 1.251592279e-06 2.211195015e-06 1.572591192e-05 2.256719707e-10 1.334042814e-09 6.766763423e-06 4.763416898e-09 3.808807411e-07 7.825843003e-05 2.434487692e-09 3.149328858e-11 5.338894602e-13 2.694610325e-08 8.183301231e-09 5.955552741e-06 2.633061748e-07 3.314985399e-07 1.051909271e-05 1.684012745e-07 2.39656096e-07 3.075802283e-06 1.776277039e-08 3.897675262e-09 4.143873513e-06 2.504939293e-07 8.439208443e-06 0.08623974959 0.0002083703217 1.564844204e-06 5.65326512e-10 3.531470211e-06 0.04530774979 0.0002867853429 0.0006992134199 1.53590895e-10 2.49986427e-07 1.906335793e-06 0.0001706340045 0.004126308543 1.604600584e-16 1.333813544e-09 4.283249095e-10 2.112792647e-09 1.215334934e-05 6.505463882e-13 2.582998249e-10 2.249473385e-08 3.261504863e-09 7.735382959e-05 1.151307721e-11 8.441490435e-12 0.0001114608642 4.658721438e-06 8.825006551e-07 7.140654479e-16 6.372822539e-11 1.1229061e-09 1.095384086e-08 7.718527254e-05 3.644039228e-13 6.516809039e-12 1.043391221e-07 6.471294111e-07 1.467201623e-05 2.512919873e-13 7.988679087e-10 2.490358871e-06 2.624213869e-07 5.172931969e-09 2.515909758e-13 1.201769375e-09 1.09560377e-07 5.331518796e-08 9.166399221e-06 2.570461134e-13 1.423848132e-09 3.014683215e-06 4.92816807e-10 2.784167227e-09 5.882233706e-14 9.960977767e-11 1.149199798e-06 1.587855423e-11 1.885854765e-09 1.788517667e-13 3.501893429e-10 2.113126863e-07 4.570871584e-07 1.117123524e-06 -0.3784191457 0.06572877955 0.0002045741552 0.0005780818668 3.281289235e-05 1.158326388e-05 5.655358153e-07 5.652919947e-05 5.545829289e-06 2.460984074e-06 1.085144809e-05 4.543362164e-06 3.870589663e-06 0.0003200242329 0.0001063043495 0.2732803108 0.0002288808186 0.003610460205 0.1001341719 1.281826822e-09 2.645342466e-09 0.006164673873 1.12163034e-09 1.780895369e-08 4.074901255e-05 1.014584589e-06 3.042829688e-08 0.0001326097329 1.85771794e-05 1.464919058e-05 1.295877362e-06 2.575118358e-10 8.935505369e-10 1.817734436e-05 5.872060746e-09 1.024088237e-06 6.551880362e-05 5.085738204e-07 1.771447645e-08 2.271314112e-10 4.28555407e-08 4.384422903e-09 8.447835176e-06 7.39139709e-07 4.133753207e-07 8.249505499e-06 7.672659773e-08 3.324878862e-08 2.737046287e-06 2.578140821e-08 1.760702062e-09 3.949883017e-06 1.455423091e-07 1.026150509e-05 0.07979532503 0.0001440770059 1.330618149e-06 3.007472109e-11 2.58533436e-06 0.04435885586 9.224346442e-05 0.0007895936338 2.501927663e-10 2.989628504e-07 0.004450884145 2.102739579e-05 0.0001216169886 2.185282026e-14 2.133284425e-09 9.674281004e-12 7.963761774e-10 1.07060519e-05 3.011663118e-15 2.868477828e-11 2.092391798e-08 1.144308871e-09 4.592749704e-05 6.089628835e-12 1.959322303e-08 5.648799032e-05 5.697888925e-05 2.649634143e-06 8.155032947e-13 9.971198676e-10 1.64920354e-10 3.995597199e-08 0.0001055708644 9.114783803e-14 1.167748111e-11 1.201795313e-08 1.525034231e-07 5.209230063e-06 1.28039654e-13 4.794171703e-10 2.990363228e-07 4.61056027e-07 1.494086918e-06 5.426509047e-13 2.011191582e-09 2.160525607e-07 3.616784018e-08 1.082993127e-05 1.646890491e-13 1.085737057e-09 1.842866387e-06 3.068237968e-12 7.44148547e-11 4.180862654e-14 8.435460749e-11 2.333420841e-10 1.79559779e-11 1.077653349e-06 2.45793431e-13 4.694470763e-10 4.660044275e-07 1.097041829e-06 5.733322185e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1247072494 0.1455533752 0.0176643581 -0.002223141877 -1.743349287e-05 -5.98932942e-05 -0.0001224078487 4.807066885e-05 -5.26958948e-07 -3.134082561e-05 4.656102286e-06 -3.95741862e-06 -5.952023084e-06 -4.025467466e-05 -0.0001417777207 -0.1660087585 0.001556473396 0.0003152416557 0.02098371504 7.482315052e-07 1.453757754e-07 0.02527943689 1.820982778e-08 2.846886685e-09 0.0006381929602 3.663077024e-11 6.362347844e-10 0.0006373981851 8.350769659e-05 3.836637368e-05 4.348816664e-05 -7.403013826e-10 -1.439737342e-09 -0.0004245880494 2.090770009e-07 3.480430682e-08 3.185920919e-05 4.392441656e-09 1.445268303e-08 1.153012312e-05 -2.47484115e-08 -1.335902735e-07 -3.339764966e-05 3.945635469e-07 -9.450206997e-12 3.987806129e-09 -1.045627729e-09 -4.578301213e-09 -1.309874308e-05 -2.855534113e-08 -9.566019727e-08 -6.197215575e-06 1.492921503e-08 -2.024215705e-08 -0.08463560633 -5.660972786e-07 5.036017862e-06 -8.075922419e-08 -1.618795799e-06 -0.03365321226 -0.0001343118245 -1.648251254e-05 -2.791313002e-10 1.547675185e-07 0.001647885608 -4.916248093e-06 5.509495572e-08 1.036849997e-10 -1.504356858e-08 -3.55862977e-10 -9.42781309e-09 -0.0003379962942 5.062333375e-12 -3.898342164e-09 -1.181441012e-08 -5.84047425e-08 -0.0004679332573 8.545542433e-14 4.274943079e-09 5.757221729e-09 5.89703913e-08 0.0003112521848 -3.065111847e-10 -2.2233065e-08 2.828995251e-09 -7.12342935e-10 8.018680583e-06 -1.267544182e-10 -7.545936956e-10 -5.9873114e-05 -1.945811741e-09 -3.853743751e-09 6.453619757e-13 -1.947355038e-10 -6.039164916e-09 -2.964820955e-08 -4.240586263e-05 -1.296286026e-12 1.736208508e-10 7.944622014e-06 9.081964716e-09 5.157407992e-08 1.284754305e-14 1.44366708e-14 8.356718098e-09 3.739352699e-12 1.639263484e-12 -8.653460028e-13 -8.662522712e-12 -7.882290691e-11 6.763835134e-11 -8.040947405e-06 1.13568735e-11 -3.24293446e-11 -1.100582263e-06 -2.978060858e-10 9.457355827e-11 --0.0422056279 -0.03067563485 0.0004625027748 0.0001653521882 0.0001270648232 -6.65760254e-05 -2.27435634e-06 3.312094668e-05 -6.432828701e-06 1.183012251e-06 6.053661424e-06 7.382895154e-07 1.383972041e-06 0.005733305446 6.950089567e-05 0.03412064181 -0.0001347843947 -0.005105817218 -0.01834406746 6.484264414e-09 3.753635488e-06 -0.005327837894 -1.500663674e-07 -6.180582638e-06 0.0005599041031 -1.885702211e-06 9.604646729e-11 8.318767896e-05 -9.912686994e-07 -1.903612958e-08 1.555327897e-05 -7.234139391e-09 -6.346581513e-10 -5.242048929e-07 -1.157895928e-09 -6.982158494e-07 3.254668235e-05 -2.081988351e-06 -6.016848578e-07 -1.142981327e-10 6.857531658e-07 1.136916094e-08 6.394681277e-06 1.330403744e-06 5.255322939e-08 6.641323361e-06 2.40064975e-06 4.318632466e-08 -6.962056183e-07 4.042527667e-07 5.149451444e-09 3.742183136e-06 -6.596027876e-07 -0.0001779969951 0.04000588468 -0.004901179346 -6.534902117e-05 -5.441644506e-07 2.258798089e-05 -0.005960921231 0.0001861707556 0.007450778675 -2.9644376e-09 3.038614005e-06 -1.759263541e-07 -0.0001068066494 -0.002972764335 5.46910013e-11 3.256540962e-08 1.995056373e-08 4.789274311e-07 0.0002192124748 -6.76772176e-10 1.446036914e-07 1.868496618e-07 7.251068438e-10 -0.0001869023972 -1.60259831e-09 -5.021276171e-07 9.488627069e-06 2.054306012e-05 5.920976816e-07 3.785601457e-11 -2.016511222e-09 -1.163854041e-08 -5.631539927e-08 7.321921556e-05 -1.957696273e-12 -8.231006161e-09 -4.570131157e-07 -1.049414586e-05 -4.540951526e-06 -1.682161828e-11 4.452004355e-08 -1.130929727e-06 4.910499358e-07 2.599745336e-09 7.269905087e-12 -1.342720099e-08 8.384194717e-07 2.541666174e-08 9.263375931e-06 -5.247960728e-10 -2.064631827e-08 2.074272729e-06 -6.812775623e-07 -5.249589831e-08 1.363694164e-11 -8.95162374e-09 1.356613406e-06 -2.613604938e-08 -1.142627587e-08 5.079984294e-12 -8.564504527e-09 1.050363832e-06 3.551326184e-08 1.579153616e-06 --0.04557100178 -0.03799167002 -0.0005813920887 0.0004125337955 0.0001158682819 -6.104256058e-05 -5.672778944e-06 3.35755256e-05 -7.326687299e-06 2.717643314e-06 5.63335013e-06 5.363091382e-08 1.956950862e-06 0.0059244481 0.001188984284 0.04060581207 -0.0009638723434 -0.01002743967 -0.01145286482 7.90794239e-08 8.210164402e-06 -0.007056140328 -1.808789024e-07 -2.833270473e-06 0.0005172650958 -6.244891302e-06 -5.431568497e-08 -1.942934563e-05 -1.180763966e-05 5.557670237e-06 5.619088786e-05 9.900522522e-08 9.863775116e-08 3.890918819e-05 -8.261350221e-09 -2.109074077e-06 6.333817448e-06 5.685014919e-09 3.476073212e-08 2.765399712e-10 8.095808561e-07 6.68163035e-08 1.17193427e-05 1.984662346e-06 4.135629192e-07 2.109637083e-06 1.677908674e-06 2.665265084e-07 1.082501343e-07 4.808417792e-07 2.734931771e-08 4.152129948e-06 -1.248014659e-05 -0.0001567122721 0.04219645738 -0.005593521745 -7.606926777e-05 -3.113677537e-07 3.95790334e-05 -0.003867480457 0.0006431152085 0.008011661206 1.747790486e-08 3.43776626e-06 -1.965886611e-05 -0.002115806785 -0.0008356915499 1.14474157e-10 5.002875942e-07 2.934987302e-08 7.542146518e-07 0.0002140990151 -1.603036537e-12 3.340150123e-08 5.889344691e-07 2.184092536e-08 -0.0002176668632 -3.071207798e-10 -1.901934178e-09 -7.261847071e-05 3.985988201e-05 3.853886916e-06 -1.285768313e-12 -7.428884159e-10 -1.205378408e-10 -2.404175316e-08 0.0001132704679 -5.874830966e-12 1.92077942e-09 -3.678203047e-07 -3.431205973e-06 -1.607776686e-05 1.027137757e-10 2.640792558e-08 -7.185288293e-06 2.658691402e-06 4.163493181e-08 -6.920847852e-11 -1.6862838e-08 1.064287811e-06 1.579489683e-07 1.125029865e-05 1.106375056e-10 -2.070061478e-08 -1.75201523e-07 -6.790761418e-08 -5.69082365e-08 -5.131370235e-11 -5.542972475e-09 1.872125795e-06 1.324670081e-08 -4.408804017e-08 -5.639894425e-11 -8.67703741e-09 1.453056893e-06 4.052678032e-07 5.200373572e-07 --0.0455184514 -0.04062316326 -0.001336055922 0.0005301890339 0.0001008759303 -4.866368628e-05 -4.919965647e-06 2.810715144e-05 -5.874477388e-06 3.861957614e-06 4.505745786e-06 -2.056866785e-08 2.200024385e-06 0.008103774324 0.0006391678735 0.04135197225 -0.0004719052857 -0.01515512382 -0.004805479586 -1.525763873e-08 4.573994304e-06 -0.007666828114 -2.457195221e-08 -1.581158599e-06 0.0004327043943 -7.910246942e-06 -5.295497473e-08 -7.737308226e-05 -1.493945738e-05 6.435678178e-05 5.189206263e-06 9.182761012e-08 6.225911643e-08 6.732613767e-05 -5.263769945e-09 -3.757220527e-06 -6.773910103e-06 -8.984689363e-07 8.259275559e-07 4.768978059e-09 9.763000747e-07 2.691155842e-08 1.436660615e-05 3.294498485e-06 9.682673732e-08 -9.753856621e-07 1.147705117e-06 8.387996213e-08 1.124662768e-06 5.73848728e-07 9.650526576e-09 3.972795791e-06 -7.187075701e-06 -0.000182658764 0.04028647605 -0.004631618971 3.934767654e-05 -4.623721011e-08 4.033101629e-05 -0.002569229815 0.0001810572101 0.008713647777 1.236457676e-08 3.342911088e-06 -0.004419367686 5.298982726e-06 0.001736820288 -1.404488608e-09 1.330874833e-06 6.560305807e-09 2.528548181e-07 0.0001992137719 -1.428212582e-11 -2.848190721e-09 1.247645416e-07 -1.666565698e-09 -0.0001927973671 -2.150106334e-10 4.772743241e-08 -0.0001401490002 6.858015054e-05 3.742580447e-06 -2.751456399e-11 1.585369222e-08 8.96340076e-10 2.562531859e-07 0.0001179489219 3.006268832e-11 2.995686191e-09 -9.393701294e-08 -1.981705857e-06 -1.167948447e-05 5.188660541e-11 2.00380133e-08 -3.905828405e-06 -5.989508084e-07 -1.455894514e-06 -6.780208855e-11 -2.010150737e-08 1.327695312e-06 6.885346282e-08 9.998050707e-06 6.715233367e-11 -1.971366221e-08 -5.066829328e-07 5.705001251e-09 -7.183516144e-09 -3.08701911e-11 -5.224590179e-09 -4.973354144e-08 2.544049993e-09 2.17173232e-06 -4.836450135e-11 -9.964492424e-09 2.060213036e-06 -4.067808541e-08 -2.365826534e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00244083346 0.002848844396 0.0003457357654 -4.351245903e-05 -3.412171541e-07 -1.172261895e-06 -2.395828425e-06 9.408634828e-07 -1.031390748e-08 -6.134185158e-07 9.113159266e-08 -7.745660201e-08 -1.16496011e-07 0.000887378457 0.004282433347 -0.008422582153 -0.02298852507 -0.0005391428887 0.02397500601 -3.16364662e-05 -6.853069144e-06 0.0005332889706 -1.891443669e-07 -9.98173452e-09 1.269057415e-05 -2.714642774e-10 -5.695305967e-09 1.248146012e-05 -5.180005491e-05 -2.303794188e-05 7.807455026e-05 -2.058450697e-08 -5.917823654e-09 -8.283792732e-06 -7.913027227e-07 -1.846949707e-08 1.43811017e-06 -1.679464545e-08 -1.367956104e-07 3.796325129e-07 7.058864632e-08 8.968268991e-07 -1.624190348e-06 1.907606242e-07 -4.425609334e-09 -1.785345508e-07 1.088151799e-08 8.821460009e-08 -3.555814276e-07 8.795888643e-08 6.350605342e-07 -8.467456728e-07 -6.961307146e-07 -2.57365483e-05 -0.001364904069 3.558426101e-05 -0.0003006910919 1.79678357e-06 3.649381663e-05 -0.003965081387 0.003056981052 0.0002081473282 1.171666402e-08 -4.087530787e-06 -0.0002571167241 0.0002686262669 2.472740206e-05 -3.65882049e-09 3.559515318e-07 2.175968027e-08 3.868842415e-07 -7.376855229e-06 -2.253060629e-10 -4.751737193e-08 7.072169659e-08 8.751514074e-07 -1.005820775e-05 -7.305231862e-12 -1.261877449e-10 -3.187911732e-08 -7.876347196e-07 6.912983322e-06 1.069832777e-08 1.437681555e-06 -1.344812828e-07 4.490822006e-08 -1.20226087e-06 5.437516977e-09 1.361545404e-08 -4.154213437e-07 -7.815715843e-07 5.942276772e-09 -2.91183907e-11 -3.462904095e-09 1.091783649e-08 1.4614323e-07 -9.842603599e-07 5.433682597e-11 -4.416719418e-09 5.689234753e-07 -1.920028607e-08 -3.886740763e-07 -6.067061903e-13 6.158308711e-13 3.227751062e-10 -1.236688995e-10 -3.544760441e-11 4.013433423e-11 -4.413370941e-10 -3.223545793e-09 -1.464828919e-08 -1.391088637e-07 -6.741428695e-10 -3.860231087e-09 6.801572978e-08 -4.840889836e-09 -8.01860098e-08 --0.1294773005 -0.0941058951 0.001418853687 0.0005072630364 0.0003898060783 -0.0002042401565 -6.977209769e-06 0.0001016075576 -1.973446046e-05 3.629213456e-06 1.857126119e-05 2.2649049e-06 4.245712546e-06 -0.001792844529 -1.904363329e-05 0.1242879785 1.768081802e-05 0.001201252171 -0.07357135223 -2.098876532e-09 -1.242229337e-06 -0.01633181958 1.175936002e-07 3.058936759e-06 0.00169506136 7.537665457e-07 1.184156261e-10 0.0002486624473 6.499429446e-07 5.16921696e-08 4.391291338e-05 1.7533015e-09 3.714772198e-11 -1.634071937e-06 5.124270403e-10 2.755863533e-07 9.742422583e-05 -8.392491683e-06 1.592678527e-07 -2.796099299e-11 -9.60458938e-08 3.567255086e-09 2.184852474e-05 -2.048834398e-07 1.775446096e-08 2.480380235e-05 -3.811053942e-07 8.31233061e-08 5.659316227e-06 -9.628881707e-08 -2.561175954e-11 1.283243734e-05 3.039757005e-07 6.891808607e-05 0.1050762486 0.001771273443 2.798145638e-05 1.776495179e-07 -7.217269677e-06 0.007621835946 -5.393189728e-05 -0.002351564351 9.107856081e-10 -1.306856131e-06 5.64623243e-08 3.316447052e-05 -0.0094705678 -1.699560964e-11 -5.137519868e-09 1.060558357e-08 2.677879209e-08 0.0006740924741 2.11411677e-10 -5.056389384e-08 -6.348871894e-08 -2.468302917e-10 -0.0005722431331 1.193394914e-09 5.34975315e-07 9.745475243e-05 -5.466357309e-06 -1.230628467e-07 -1.183288764e-11 7.702507074e-10 5.358616387e-09 2.069833073e-08 0.0002243786055 6.428741376e-13 2.413944559e-09 -4.757663664e-07 -1.007167227e-05 -3.700651655e-05 5.116276052e-12 -1.689290982e-08 -1.633527496e-06 -1.671547187e-07 -9.349336293e-10 -2.173351912e-12 7.371753051e-09 -5.391825365e-09 1.741843062e-08 3.100742579e-05 1.861116219e-10 7.934051539e-09 3.749967927e-06 2.631894889e-07 2.612217138e-08 -3.933817243e-12 3.561444933e-09 4.002161109e-06 8.666519371e-09 4.744894451e-09 -1.480023586e-12 3.974547338e-09 7.710641274e-08 6.046426221e-08 8.007908072e-06 -0.06146418715 0.05124151379 0.0007841563878 -0.0005564076588 -0.0001562781042 8.233155341e-05 7.651197758e-06 -4.528521008e-05 9.881917486e-06 -3.66543922e-06 -7.598017887e-06 -7.23350463e-08 -2.639450293e-06 -0.0001227407935 0.005449039559 -0.06968794228 -0.004199488751 0.0006719306414 0.03379928863 -1.853752336e-06 1.771727993e-06 0.009505917338 -1.457573498e-06 -4.006665721e-07 -0.0006917410924 -6.921163334e-07 -1.194994022e-06 3.658866422e-05 -5.56490794e-06 -2.598424955e-05 -3.580898336e-05 -1.928520864e-08 2.261560443e-07 -5.295246552e-05 -2.234853706e-07 -3.309695758e-07 -5.132552797e-06 -6.250436814e-08 3.378774114e-09 4.201142691e-09 -2.900188108e-08 3.714882727e-07 -1.733107303e-05 -9.272767505e-08 1.82574692e-06 -7.813028113e-06 -4.453218511e-08 1.571667549e-06 -4.29570813e-06 8.035186803e-09 1.990285914e-07 -6.492702314e-06 2.49321864e-05 -0.0001187996528 -0.04818373264 -0.0002892093747 -0.0004708414066 3.390949469e-07 2.382417037e-05 -0.01169762047 0.004820453922 0.0003431439807 -1.461255006e-07 3.284261411e-06 -0.0002009696374 -2.627446771e-05 0.004226813423 -1.651200997e-10 5.239518692e-07 1.234766731e-07 -5.129813762e-08 -0.0002910951726 -1.513957172e-09 8.114573847e-09 1.184786162e-07 2.504959311e-07 0.0002923351967 -4.861624608e-09 -2.740305863e-09 2.161425418e-05 -4.835413898e-07 1.786527447e-05 2.442801306e-12 -7.021088306e-10 9.335308239e-09 -3.361851987e-08 -0.0001527157099 -4.369386445e-10 3.959071274e-10 -8.475811383e-07 1.242534371e-06 2.641146e-05 -5.173681294e-10 1.566555659e-08 4.803908701e-06 7.535469695e-07 4.407615617e-07 2.759677555e-10 -1.298454735e-08 -1.60715226e-07 5.107128454e-07 -1.713686569e-05 -2.536346553e-10 -1.379536569e-08 5.945987305e-07 1.039981866e-08 -1.585282843e-07 1.269864427e-10 -3.794166838e-09 -2.324988428e-06 -1.739119435e-09 -1.455044114e-07 2.056395642e-10 -5.741915623e-09 -2.704598173e-07 6.026596158e-07 -3.522715641e-06 -0.06076388899 0.05422902815 0.001783539448 -0.000707764579 -0.0001346621785 6.496255341e-05 6.567803543e-06 -3.752104426e-05 7.842008698e-06 -5.155438212e-06 -6.014849545e-06 2.745770586e-08 -2.936875781e-06 0.0003484675028 0.004396767513 -0.07161837605 -0.003457168631 4.802087079e-05 0.03068509085 -2.96228856e-06 8.002274185e-07 0.01023074567 -4.352130375e-07 -4.309946886e-07 -0.0005746197884 -2.386743004e-07 -1.153574182e-06 0.0001153101068 -4.826529666e-05 -3.78949707e-05 1.326444018e-05 -1.453182125e-08 1.634126779e-07 -9.023017179e-05 -2.545609945e-07 -3.662288028e-07 1.46861255e-05 -1.077310146e-07 1.086268139e-07 8.957552842e-08 -4.47507e-11 2.606611822e-07 -2.077822792e-05 1.28962976e-07 2.058816462e-06 -5.412886591e-06 1.083555834e-08 6.430139815e-07 -3.799272509e-06 2.945065796e-08 1.313121944e-07 -6.243092058e-06 2.130454396e-05 -0.0001113111245 -0.04718830258 -0.000542209661 0.0004247297028 1.0040258e-07 1.691567438e-05 -0.01216574726 0.002771174861 0.0008797204113 -1.948484995e-07 2.540825332e-06 0.002484933386 0.0007243322843 0.000357845154 3.48148508e-09 5.57815652e-07 3.358738913e-08 -1.985609087e-08 -0.0002686322669 2.32031178e-11 -1.743486349e-09 1.411977542e-07 5.305997306e-08 0.000257017703 -3.57048332e-09 9.593916507e-08 2.666333646e-05 3.146260401e-05 3.226150128e-05 4.656572876e-10 2.65888351e-09 -1.218435057e-08 -1.340869083e-08 -0.0001577953404 -2.522054235e-10 9.849554362e-10 -3.906208819e-07 4.577426556e-07 1.829022112e-05 -3.829466353e-10 1.05055562e-08 5.92554684e-07 -1.645304293e-06 8.972883084e-06 3.884264813e-10 -1.304132891e-08 -1.81708005e-07 3.760488493e-07 -1.536574168e-05 -2.298410736e-10 -9.822403326e-09 7.422334976e-07 -3.423962401e-10 -2.725284513e-08 1.152898918e-10 -2.866864991e-09 -1.082138731e-09 1.329542869e-08 -2.838559331e-06 2.49605719e-10 -5.585419792e-09 -5.464899697e-07 -1.435393293e-06 -6.637676224e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0003519237103 0.0004107514529 4.98487977e-05 -6.27370375e-06 -4.919729628e-08 -1.690188055e-07 -3.454348043e-07 1.356553707e-07 -1.487077529e-09 -8.844377284e-08 1.313951515e-08 -1.116783067e-08 -1.679660211e-08 -0.003285942227 0.001158845683 0.001658106329 -0.001597931334 0.01305515624 -0.01139272691 -7.329155421e-06 2.959540947e-05 4.907480875e-05 -2.239399038e-08 8.476630709e-08 1.738666885e-06 1.488951646e-09 -1.041573217e-09 1.798291446e-06 6.856993955e-05 -6.868413232e-05 5.808448018e-07 -5.194614627e-09 2.332390008e-08 -1.216322411e-06 -4.615738755e-08 3.411960497e-07 -2.044437787e-07 8.313071576e-08 -2.788314476e-08 -2.265639625e-08 -4.150615433e-07 1.551272546e-07 1.652393292e-07 -2.371980124e-08 4.318708043e-08 -1.834259441e-08 -5.22437377e-08 1.842443478e-08 -3.161205289e-09 -3.719592564e-07 1.564816428e-07 1.976385424e-07 -5.348561755e-07 2.970115619e-05 -1.81180671e-05 -0.0001949457398 -5.493147503e-05 6.373053948e-06 -1.056645492e-05 0.0009210996191 0.0004414542949 -0.001453760176 1.910312806e-08 5.448807557e-07 0.0001011171605 4.636286549e-05 -0.0001434069609 -3.238601142e-08 -4.855845878e-08 -2.078451148e-07 3.991606045e-08 -7.05021388e-07 -4.082882105e-10 1.570207679e-08 -4.722581648e-07 1.31552374e-07 -9.953042421e-07 6.501875781e-11 4.502780187e-09 2.921392453e-07 -8.625921535e-08 6.681001941e-07 3.515257642e-08 -5.91710811e-07 -1.883377209e-08 1.17982894e-08 5.861647909e-07 -3.331462366e-09 2.009499062e-08 -5.190339067e-07 1.524486174e-08 3.180448062e-07 -4.569144155e-11 1.714962249e-09 -7.020481503e-08 2.303897832e-08 -7.427398579e-08 1.046375575e-10 1.755577139e-09 -1.170658615e-07 1.80404232e-07 -4.260721368e-08 -1.198628264e-13 -3.045554218e-12 -6.723298351e-11 -3.429526649e-11 1.282915711e-10 1.861500214e-11 8.745797448e-10 1.026184828e-08 -4.616598007e-09 -2.923004755e-08 -7.104866133e-10 3.033513282e-09 -3.000808238e-08 3.55319917e-08 -1.095341083e-08 -3.658718834e-05 2.659207517e-05 -4.009341164e-07 -1.433404016e-07 -1.101498745e-07 5.77133833e-08 1.971592603e-09 -2.871186557e-08 5.576486525e-09 -1.025528921e-09 -5.247794233e-09 -6.400079538e-10 -1.199736818e-09 0.0003142732047 -0.001379075409 0.00103019339 0.001256745959 -0.0005629852153 -0.0006733156808 7.777113563e-08 -3.464876341e-07 4.884049713e-06 1.744086541e-06 -7.021115944e-07 -1.521856357e-06 1.704969085e-09 6.246194793e-08 -1.346460071e-07 -9.423589505e-08 4.274620792e-07 -3.458331884e-07 -1.15769316e-09 3.946056508e-09 -2.32711964e-09 3.812454376e-08 -2.478550573e-08 -4.094681302e-08 2.445273193e-08 2.620787779e-09 -2.474699967e-08 4.123033355e-08 -1.637870263e-07 1.164089545e-07 1.175433076e-07 -5.218718732e-07 3.973724824e-07 1.138172018e-07 -1.216758115e-06 1.101425928e-06 2.273695231e-08 -9.019973259e-08 6.386385656e-08 1.790115725e-05 -4.216499645e-06 -0.0006702254158 -0.0003724004867 0.0009987212233 -1.327792831e-06 -6.486089857e-06 0.001802712887 -0.0024475428 0.0006511717728 -5.557135737e-08 -7.480165096e-07 3.857283238e-06 -5.375846466e-06 4.98928863e-06 4.178062759e-10 -6.851647059e-09 -1.333562913e-07 5.280580599e-08 -1.035071918e-07 -6.375866033e-09 -1.331348636e-08 1.478479618e-08 -1.099500445e-08 1.77634022e-07 -4.563362239e-08 2.938191321e-07 2.303454814e-06 2.551399582e-06 -5.12915036e-06 1.39102806e-10 7.077951748e-10 -4.927665883e-08 1.541375263e-08 -3.039559649e-08 2.381906629e-11 -6.742088741e-10 1.722448521e-06 -1.601292888e-06 -1.070683147e-07 -5.165495241e-10 -3.475307939e-09 2.918115891e-08 2.774951922e-08 -5.242495466e-08 1.26970801e-10 1.899427823e-09 6.29560316e-08 -2.47318005e-07 1.73568137e-07 -2.738026681e-09 6.096599945e-09 -2.165039877e-07 -1.279329141e-07 3.399346302e-07 2.663411761e-10 8.62080838e-10 -6.885055371e-08 -4.766854707e-09 7.135327638e-08 1.142364139e-10 8.336149631e-10 5.532496572e-08 -4.110975093e-07 3.52521852e-07 -0.1101195868 0.09180458716 0.001404899039 -0.0009968631219 -0.0002799887392 0.0001475056787 1.370792936e-05 -8.113323961e-05 1.77044995e-05 -6.567021728e-06 -1.3612652e-05 -1.295958798e-07 -4.728854137e-06 0.002411393923 -0.002650789117 -0.1150712909 0.00224758409 -0.003101767257 0.05508918751 1.070573452e-06 2.461477704e-06 0.01702717649 5.492945013e-07 -1.800225216e-06 -0.001241405573 -1.762254903e-06 6.636374386e-07 6.327011848e-05 -1.345191531e-05 -3.817075085e-06 -0.0001034102374 4.70636819e-08 -1.130299211e-07 -9.44333408e-05 1.204063727e-07 -7.612384022e-07 -9.548043346e-06 -1.067770732e-07 1.063616005e-08 -2.262045889e-09 1.482155955e-07 -2.413487428e-07 -3.034371517e-05 4.904044383e-07 -1.329685191e-06 -1.005369767e-05 3.637073972e-07 -1.272893104e-06 -4.051004987e-06 1.232972345e-07 -1.153960799e-07 -1.126928686e-05 -1.945823257e-05 -1.125944886e-05 -0.08558706318 -0.002467319398 0.0002289663967 -3.183338324e-07 1.762248368e-06 -0.01199574862 -0.002531562512 0.002862766314 8.917400774e-08 2.078444928e-07 0.0001087526522 -0.000438870719 0.007501094458 1.395260688e-10 -1.700833126e-07 -8.396358254e-08 2.066311509e-07 -0.0005204127537 8.509022547e-10 1.188911817e-08 4.036460619e-07 -9.800217306e-08 0.0005241038975 2.596652829e-09 7.4991683e-10 5.65547082e-05 2.088931808e-05 -7.595560216e-06 -1.899315698e-12 -2.505146823e-10 -1.116274453e-08 -4.876095595e-08 -0.0002735909166 2.431323704e-10 6.039904053e-10 8.026245869e-07 8.744591858e-07 4.63485178e-05 3.327348277e-10 6.810563982e-09 8.766016607e-06 2.199249929e-06 -1.988301904e-07 -1.838778474e-10 -5.479252609e-09 6.091267368e-09 -4.747118061e-07 -2.962393328e-05 1.874514771e-10 -3.248521297e-10 7.425926394e-07 -3.371958815e-08 6.599274314e-08 -9.244989987e-11 -7.452379433e-10 -4.493553726e-06 6.361889271e-09 5.219456318e-08 -1.389694786e-10 -2.050844584e-09 -2.5236516e-07 -2.341800775e-06 -3.12970938e-06 --0.1088999622 -0.0971883007 -0.003196427709 0.001268443103 0.0002413391636 -0.000116424734 -1.177070081e-05 6.724454884e-05 -1.405430865e-05 9.23948476e-06 1.077970648e-05 -4.920921257e-08 5.263416591e-06 -0.00298457068 0.002255314302 0.1205781115 -0.001891690997 0.003838869723 -0.05083063928 -1.652181631e-06 -1.477036456e-06 -0.01832835658 -1.904011691e-07 1.089943581e-06 0.001030476234 8.700882526e-07 -6.906076394e-07 -0.0002043410422 8.37852963e-05 3.433745477e-05 1.251985516e-05 -4.309241074e-08 7.695017693e-08 0.0001614082313 -1.431448535e-07 7.896580461e-07 -2.585415792e-05 8.269473123e-08 -2.927197991e-07 4.788396189e-08 -1.324373102e-07 1.623973785e-07 3.674133868e-05 -6.298380038e-07 1.485949005e-06 4.923868734e-06 -2.479148131e-07 4.21559594e-07 5.463526376e-06 -1.184265006e-07 7.640651179e-08 1.094266232e-05 1.512135511e-05 3.044020096e-05 0.08281281295 0.001860872279 0.0002226443393 7.536399081e-08 -6.1258692e-06 0.01647532153 0.001516721268 -0.002756321762 -1.144073095e-07 -5.982287325e-07 -0.005976870979 0.0003584333077 -0.0007779667487 2.531106166e-09 -1.028206623e-07 1.664388498e-08 -6.367851564e-08 0.0004805547441 1.887165497e-11 -2.099660887e-10 -2.853002418e-07 1.324346709e-08 -0.000460695375 -1.915019054e-09 -7.071546184e-09 -4.375015459e-05 -0.0001293363016 1.093913419e-05 2.745731462e-10 -1.174675074e-09 -6.516921036e-09 4.442434489e-08 0.0002828012656 -1.54120347e-10 -8.088110237e-10 -2.880380937e-07 -3.038034229e-07 -3.230821253e-05 -2.365633532e-10 -7.004617421e-09 -8.38006725e-07 -4.986621979e-06 -8.380594163e-06 2.470538029e-10 8.462925821e-09 1.31898343e-07 3.130019347e-07 2.675898106e-05 -1.564826825e-10 1.654444016e-09 -1.249386076e-06 -2.578771923e-09 -1.227964449e-08 7.752480774e-11 1.173746361e-09 2.181497568e-08 6.480701518e-09 5.040711531e-06 1.605609936e-10 3.093331101e-09 8.638164995e-07 3.994720962e-06 -1.107400947e-07 -0.4511178441 0.1788933402 0.01952376147 -0.002657341027 2.042784641e-05 0.0006383944691 -0.0001780440742 1.94688863e-05 -0.000151227711 3.750863895e-05 -1.696460019e-05 1.822358986e-05 -1.750526312e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4509370911 0.1793159845 0.01969251574 -0.003192450812 0.000685080602 0.000118852064 0.0001910359828 -0.0002013649958 -1.278848376e-05 -4.178841477e-05 3.288930331e-05 -8.138252139e-06 1.224906789e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2646806578 -0.008228751522 0.0003612755932 0.0001645425919 0.0001527044125 7.619439711e-05 -5.464474581e-06 3.692963179e-05 3.41738209e-05 8.702787009e-06 1.41406476e-05 1.202765477e-05 9.217997176e-06 0.003828502233 4.912893079e-05 0.2530956384 -1.312671068e-05 -0.0006534186457 0.01701942731 -3.091546726e-09 -1.734376422e-06 -0.002826558684 -9.882558861e-08 -4.146678611e-06 0.0003075915073 4.866623034e-06 -4.070850858e-10 0.0003398587215 -5.03964287e-07 -2.105158864e-08 -8.529274119e-06 -2.104565757e-09 -1.834097339e-10 -1.839210215e-07 -1.445703291e-09 -9.72844511e-07 7.988716273e-05 1.5166932e-05 -5.052111265e-07 -6.638658246e-11 5.542559788e-07 1.009604734e-08 1.06903987e-05 1.145907159e-06 5.526898007e-08 1.682990767e-05 2.666839943e-06 2.08357886e-07 9.253640719e-06 3.735499327e-07 5.205520212e-09 1.098451413e-05 5.630982825e-07 0.0001678672272 0.08725105726 -0.004108613366 -5.126504108e-05 5.459117983e-07 -2.444205642e-05 0.01460295751 8.522931057e-05 0.002867082103 3.036487947e-09 -2.456779492e-06 2.201827737e-08 1.459023866e-05 -0.000945069991 -5.581998622e-11 -3.806119639e-08 -7.210102339e-08 -2.092234499e-06 0.0001039554804 6.894832507e-10 -1.309390352e-07 -3.707507849e-07 -1.402886422e-09 0.000143863056 8.574031475e-10 7.70512932e-08 -5.823474704e-06 6.552805125e-07 1.656933841e-08 -3.856417195e-11 1.920001326e-09 -1.420684792e-08 -6.681973102e-08 1.699358405e-05 1.960483568e-12 7.386281374e-09 -4.447925864e-07 -1.194555994e-05 5.033946195e-05 1.728359893e-11 -4.384536598e-08 -6.225370154e-06 4.392982695e-07 2.149695919e-09 -7.514171831e-12 1.082502974e-08 8.619422615e-07 2.381087435e-08 5.999850447e-06 5.099150209e-10 1.91712122e-08 7.68324685e-06 -7.97644869e-07 -5.419952665e-08 -1.425429419e-11 8.501621174e-09 3.82114171e-06 -2.864421187e-08 -1.189305593e-08 -5.29325174e-12 7.647192354e-09 1.276398193e-06 4.715951527e-08 2.568227218e-06 -0.276844638 -0.005513964942 -0.0003945291832 0.0002765704734 0.0001531214236 4.311452182e-05 -3.653367361e-06 4.746876001e-05 2.427245359e-05 7.779922528e-06 1.398831897e-05 1.053771854e-05 8.719779195e-06 0.004022145278 0.0009735014422 0.2442725961 -9.8051101e-05 -0.001446826329 0.02439578976 -1.693729859e-08 -2.935195838e-06 -0.003216680075 -2.66328928e-07 -3.361877036e-06 0.0002651597734 1.441526097e-05 2.118830607e-07 0.0002867213909 -4.994895133e-06 -2.744387404e-06 -1.501665011e-05 3.804105995e-08 3.901770137e-08 1.109299223e-05 -1.553123238e-08 -3.081974556e-06 8.253746995e-05 -4.386143437e-07 2.391263803e-08 2.026023853e-10 6.363849167e-07 6.2023319e-08 1.307017007e-05 1.905171795e-06 7.371797118e-07 1.350934073e-05 1.746961216e-06 7.87977267e-07 7.067163917e-06 4.5282844e-07 3.310745283e-08 9.584910746e-06 1.190314877e-05 0.0001508395109 0.07834615551 -0.004829718594 -7.49780197e-05 3.099716316e-07 -4.491190422e-05 0.01510455551 0.0003966475897 0.003458153506 -1.496994772e-08 -2.328403581e-06 1.474360956e-06 0.0001393482842 -0.0007710050067 -1.133730783e-10 -5.814490381e-07 -8.759759402e-08 -1.536887339e-06 9.708704796e-05 3.251675479e-11 -2.966943913e-08 -1.848301408e-06 -1.015318894e-07 8.065831322e-05 4.008706654e-10 -8.856092309e-10 1.132719957e-05 -2.003484021e-06 -1.910967211e-07 1.260197817e-12 5.266500694e-10 -1.927560428e-08 -5.29206656e-07 3.219514005e-05 1.468816165e-11 -1.841119757e-09 -4.760657978e-07 -5.477338346e-06 2.938459478e-05 -9.431003277e-11 -2.323320733e-08 -8.079225856e-06 1.929748188e-06 3.689632597e-08 6.454242276e-11 1.324615695e-08 1.175445539e-06 1.613636873e-07 5.894063831e-06 -1.079244991e-10 1.980488185e-08 5.094908706e-06 -8.311539685e-08 -7.014045705e-08 4.963802038e-11 5.325379363e-09 3.157760742e-06 1.552399752e-08 -5.380883711e-08 5.30320516e-11 7.797812172e-09 1.795297678e-06 5.926637819e-07 7.407735233e-07 -0.2826638831 -0.004055763145 -0.0008705871959 0.0003182057998 0.0001515768232 2.88985815e-05 -2.172930135e-06 5.21239929e-05 1.816287156e-05 8.219063634e-06 1.381087709e-05 9.684357495e-06 8.544054332e-06 0.005562963585 0.0005625057235 0.2389429097 -4.655434165e-05 -0.002086286406 0.02795663834 2.278831075e-08 -1.413560651e-06 -0.003381129802 -6.756707799e-08 -2.783213095e-06 0.0002200288443 1.723154519e-05 1.840574661e-07 0.0002567141391 -2.055258895e-05 -3.154505266e-06 -3.051111643e-07 4.396218325e-08 3.109270974e-08 1.934207472e-05 -9.247275374e-09 -4.711586116e-06 7.947489779e-05 -6.245970365e-06 4.677410311e-07 2.845134494e-09 7.754769619e-07 2.713224402e-08 1.469530928e-05 3.703356545e-06 6.825088136e-07 1.044783875e-05 1.112974978e-06 1.57785344e-07 7.324303327e-06 5.46334505e-07 1.350617821e-08 8.942253283e-06 6.68103904e-06 0.0001741522696 0.07308761594 -0.004072409457 4.45569966e-05 4.491603112e-08 -4.430518609e-05 0.0153498281 0.0001339470334 0.003921785945 -8.649458789e-09 -1.920979612e-06 -0.0003552066156 -3.985818327e-06 -0.0001175627778 1.356003046e-09 -1.465087516e-06 -6.019783209e-09 -6.163192334e-07 9.227922099e-05 1.405312242e-11 3.469161591e-09 -1.568102704e-06 -3.089186139e-08 5.31818646e-05 2.899778604e-10 7.3777918e-08 1.610594537e-05 -2.307825739e-06 -2.245134245e-07 1.68324429e-11 -1.884427572e-08 -1.996488798e-09 -1.113054288e-06 4.127183329e-05 -2.524280819e-11 -2.842852123e-09 -1.185002485e-07 -2.860189436e-06 1.669444588e-05 -4.467910097e-11 -1.658528989e-08 -3.100058131e-06 -5.977832804e-07 -1.290955838e-06 5.995375769e-11 1.546325152e-08 1.588920772e-06 7.903453614e-08 5.590054173e-06 -6.365099048e-11 1.889555065e-08 3.840203703e-06 6.918715574e-09 -9.330924321e-09 2.890282071e-11 4.949929332e-09 -6.091221484e-08 3.512424965e-09 3.012326462e-06 4.354467947e-11 8.83926238e-09 2.647578117e-06 1.962917987e-07 -3.395720992e-08 -0.4207438418 0.1179381261 -0.002427298276 -0.004567081607 8.501587348e-06 0.0001065592185 -0.000478871091 8.212646361e-05 -6.495415512e-05 8.739784653e-05 -2.401657676e-05 1.698585748e-05 -2.711526388e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2839885795 -0.01241593237 -0.003023754498 0.0001010667438 0.0001360972262 -1.978718889e-05 1.390081218e-05 4.187174195e-05 -3.790660972e-06 1.971899377e-05 1.209763739e-05 7.099959594e-06 8.742596803e-06 -0.000579376296 -0.002904549622 0.2088827277 0.003701164862 0.0003168363972 0.01244127021 -7.902555153e-06 -1.73492799e-06 -0.004719068212 -2.667898206e-07 -1.45097356e-08 -6.764044359e-05 -6.259036763e-09 -1.303825326e-07 0.0001775585224 -1.582756915e-05 -7.440578853e-06 -4.139201328e-05 5.702159856e-08 1.653070817e-08 4.292771718e-05 8.807366888e-07 3.370801703e-08 1.168641439e-05 1.55795341e-08 1.366829947e-07 -5.67497027e-06 -7.839101001e-08 -1.131109543e-06 2.675417561e-05 5.183807516e-06 4.010576669e-09 1.520123084e-07 -1.038284939e-08 -8.646060011e-08 7.543027517e-06 -6.784982974e-08 -6.355998255e-07 8.836591835e-06 -6.782325836e-07 -2.568257695e-05 0.03969085997 -3.685694786e-05 0.0003133346609 1.698771416e-06 3.428647548e-05 0.0112854185 -0.001040113546 -6.796405195e-05 1.138108631e-08 -4.757579722e-06 -0.0007639447688 2.621074512e-05 2.405512604e-06 -3.533218231e-09 3.386074132e-07 8.786736651e-09 1.534780586e-07 4.060938857e-05 -2.192259166e-10 -5.214833496e-08 -5.88926303e-08 -7.238105894e-07 -3.310809219e-05 -7.206163492e-12 5.330413108e-09 1.666635218e-09 4.199270603e-08 -1.703598928e-06 1.032829256e-08 1.287643549e-06 -1.414776345e-08 2.27507154e-08 2.384957628e-05 5.285460715e-09 1.275521551e-08 -2.038878056e-05 7.621480632e-07 -6.753622787e-09 -2.834363905e-11 -3.660581601e-09 -2.441714291e-08 -3.337095765e-07 6.189592539e-06 5.277800944e-11 -4.626692738e-09 4.100479242e-06 4.847164268e-08 8.901847052e-07 -5.913155339e-13 6.276349476e-13 -5.257653508e-09 1.362984849e-10 3.85416472e-11 3.909705078e-11 -4.483489784e-10 6.409913871e-09 2.907133978e-08 2.389711046e-06 -6.606027667e-10 -3.89069989e-09 1.445391933e-06 8.559619768e-09 1.374795694e-07 -0.4202786116 0.1188430024 -0.002352844885 -0.00519749733 0.000768677171 -0.0004576628552 -7.509714242e-05 -0.0001775979408 0.0001152915961 -1.844291233e-05 3.84435434e-05 -1.378656961e-05 1.291514132e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2494284931 -0.01876042867 -0.0002631889396 -0.0001036634017 0.0001216517768 7.51399269e-05 -9.301271229e-06 4.090320176e-05 2.149604085e-05 1.015065925e-05 1.977936499e-05 1.153259716e-05 9.149731172e-06 -0.001095170738 -0.003826615895 0.236354623 1.443695234e-05 1.412792732e-05 0.0002803797567 -7.323530738e-07 1.766721496e-06 -0.003273306204 6.737508777e-07 5.343126217e-07 9.315525223e-05 -5.718722716e-06 -3.035507165e-06 0.0003355162254 2.440310551e-07 5.937552171e-06 -7.046039318e-05 -7.888824118e-09 -1.532580711e-07 1.54324675e-05 3.089403668e-07 1.636221243e-06 5.761292824e-05 -4.084350806e-07 -2.058454142e-08 -4.341981809e-09 -2.547890253e-07 -4.510704089e-07 1.959409797e-05 -2.669391867e-07 -1.754078414e-06 2.217484989e-05 -8.502200371e-08 -1.026703926e-06 1.133527974e-05 -1.488830878e-07 -2.134842546e-07 1.111416151e-05 2.031722399e-05 -0.0001757074916 0.06161434582 0.002066933204 0.0004701044193 2.354255821e-07 3.194664781e-05 0.009484829548 -0.0009936085379 -0.0005075869649 -1.382055531e-07 5.490070288e-06 -4.319604531e-05 -0.0002256210059 -0.001050570922 -1.265035111e-10 6.074429911e-07 3.06872827e-07 3.353264521e-07 4.619756438e-05 -1.487696698e-09 2.131258716e-08 1.389695813e-06 1.342172256e-06 0.0001164958272 -4.88175714e-09 -5.481115608e-09 -3.758437773e-05 -6.694682571e-06 -8.254822377e-06 1.997586323e-12 -1.142831693e-09 -1.067814965e-07 2.466015596e-07 1.856896615e-05 -4.312405327e-10 1.109067493e-09 2.166320557e-06 1.966338224e-06 1.011178904e-05 -4.762960015e-10 2.688046448e-08 -4.808022219e-06 -2.183752741e-06 -5.681404047e-07 2.491430156e-10 -2.151666683e-08 -6.429266764e-07 -1.418942525e-06 1.347588003e-05 -2.148911942e-10 -2.145988525e-08 4.458960748e-06 1.798545451e-08 2.644394193e-07 1.086491026e-10 -5.805934184e-09 2.509672e-06 -3.23176741e-09 2.017810595e-07 1.841583416e-10 -9.342957966e-09 -4.136180823e-07 -1.415306614e-06 5.409895034e-06 -0.2557525396 -0.01817463576 -0.0006185371363 -6.269841435e-05 0.0001264769089 5.416978576e-05 -5.346329093e-06 4.257825276e-05 1.657395898e-05 1.106823417e-05 1.924278275e-05 1.031518844e-05 8.91914548e-06 -0.001808444893 -0.003056719463 0.2323883984 0.0001118945933 0.0002723366832 0.002826501286 -1.097317655e-06 8.437664066e-07 -0.003635013682 3.216984842e-07 5.988805381e-07 8.767533308e-05 -6.84523474e-06 -3.090859579e-06 0.000323119255 -2.749947651e-05 -3.733548474e-05 -1.360372183e-05 -9.708657057e-09 -1.133490847e-07 2.2151971e-05 3.500891456e-07 3.205432858e-06 5.166533794e-05 -5.683366684e-06 -5.825916992e-07 -9.214224577e-08 -3.696961022e-07 -3.237756286e-07 2.231413895e-05 -1.234208178e-07 -1.583674407e-06 1.910022536e-05 -1.826999238e-07 -5.536199663e-07 9.664463008e-06 -1.99735238e-07 -1.432759102e-07 1.070847696e-05 1.849473522e-05 -0.0001790927146 0.05793650975 0.002015230359 -0.0004210583697 8.403681941e-08 2.656242766e-05 0.01010105086 -0.0006436356906 -0.0007447838149 -1.875565868e-07 5.016020174e-06 -0.001511424437 0.0001258605999 0.0001265414281 2.97712658e-09 8.72489349e-07 3.587026026e-09 1.863152797e-07 4.673657457e-05 1.830387478e-11 -2.25092511e-09 1.523190464e-06 7.54851064e-07 8.363980707e-05 -3.576236625e-09 2.030073629e-07 -2.738944416e-06 -2.700473482e-05 -1.181414298e-05 4.472872913e-10 5.147590788e-09 -4.065571734e-08 3.961983773e-07 1.958546485e-05 -2.381235986e-10 2.118814952e-09 7.473247563e-07 1.180908014e-06 6.664071206e-06 -3.596077149e-10 1.985942765e-08 1.00825032e-06 2.601414312e-06 -1.011170156e-05 3.592715883e-10 -2.355898235e-08 -9.898695595e-07 -1.087355981e-06 1.336095297e-05 -2.04702687e-10 -1.709014287e-08 3.382678799e-06 -2.034160639e-09 4.017943888e-08 1.034188159e-10 -4.823855759e-09 2.22486328e-08 -1.829218842e-08 2.478163123e-06 2.294905037e-10 -9.824033658e-09 -3.09867998e-07 2.339667578e-06 1.182097503e-06 -0.4287326437 0.1331941379 0.0023074947 -0.004362494578 1.308864689e-05 0.0002314582911 -0.0004534086998 3.477533063e-05 -8.640680172e-05 8.128513287e-05 -1.896906533e-05 1.805429323e-05 -2.665352069e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2914445132 -0.007380434013 -0.003229528881 0.0001776784695 0.0001396655889 -1.599164484e-05 1.094267424e-05 4.549517649e-05 -3.820443137e-06 1.783036488e-05 1.112176418e-05 7.079899433e-06 8.648314536e-06 -0.001613610786 0.002197077276 0.2084594107 -0.001044346072 0.002198336186 0.02144814045 5.004464982e-06 -5.138899379e-06 -0.004492460199 1.83091242e-07 -1.132514472e-07 -8.236525038e-05 -2.401647895e-08 7.698803621e-08 0.0001658405723 -1.49839476e-05 -2.409112805e-05 -4.112180283e-06 -4.221912355e-08 5.050521971e-08 4.6478187e-05 -3.777015373e-07 3.21412631e-07 1.377946101e-05 5.87001498e-08 -9.216006233e-08 -5.176785107e-06 -3.677336214e-07 7.603237899e-07 2.258037474e-05 5.33145232e-06 2.80565291e-08 -7.543477303e-08 -3.808362538e-08 5.891463562e-08 7.419118349e-06 -2.683409179e-07 5.882992628e-07 7.481175372e-06 7.834530309e-07 -1.319278901e-05 0.04206920591 -0.0001528510949 -0.0001983060263 -6.266027973e-06 -1.000372243e-05 0.01202411452 0.0007672667266 -0.0004486853511 -2.169844083e-08 7.26315288e-07 -0.0005092967961 -1.113925421e-05 7.185805103e-06 2.896801605e-08 -1.391006295e-07 7.227747038e-08 -9.577424391e-08 4.756323847e-05 4.512161503e-10 3.36378163e-09 -2.349569058e-07 3.429258847e-07 -2.803784484e-05 -5.114066238e-11 2.235671612e-09 -2.087402114e-08 4.193056261e-08 2.93957039e-06 -3.474021384e-08 -3.135527289e-07 3.765640807e-08 9.171721835e-08 3.331064792e-05 1.68748271e-10 -2.394499883e-08 -2.163310375e-05 -3.854503333e-07 2.822118911e-07 5.23660441e-11 -8.26012126e-11 -1.048791312e-07 1.813582529e-07 5.152868348e-06 -1.140949118e-10 2.97789367e-10 4.574129404e-06 2.705788237e-07 -3.946957008e-07 3.920137329e-13 2.28882387e-12 -5.454545788e-09 -1.014507306e-10 1.027526981e-10 -3.491920118e-11 -5.411612712e-10 1.42520033e-08 -2.189346497e-08 2.576216389e-06 9.162719677e-10 -8.265508116e-10 1.549200572e-06 4.297602985e-08 -7.197778063e-08 -0.2447299717 -0.01664237367 0.0002574066538 -0.000108423771 0.0001245013979 0.000107319655 -1.095167808e-05 3.457551997e-05 3.050261931e-05 1.026721869e-05 1.838185079e-05 1.312600887e-05 9.56820439e-06 -0.001621424579 -0.0008010014189 0.2452524862 3.576968955e-06 8.00985344e-06 0.0002920323496 -3.070694249e-08 1.071467971e-06 -0.002732168076 5.057561295e-07 9.32347962e-07 0.0001311801021 -2.474663744e-06 -1.438060943e-07 0.0003521420386 2.850452554e-07 3.055839631e-07 -1.767367947e-05 1.123851699e-09 1.688587574e-09 -2.780365163e-07 4.196820964e-08 4.596415478e-07 6.39335532e-05 1.41132491e-05 3.706076145e-07 -2.163868205e-08 -2.295995629e-07 -1.445789265e-07 1.426007456e-05 -3.891174034e-07 -4.678775176e-07 2.312195283e-05 -1.27482077e-07 -7.722388531e-07 1.380329396e-05 -1.48111875e-07 -7.648027468e-08 1.186147414e-05 -1.54866566e-05 -0.0001011735746 0.07255332207 0.002111112915 0.0008100937961 8.392671408e-07 1.507015523e-05 0.009932984238 -0.000447552932 -0.0005620946328 4.521872531e-08 2.879445383e-06 -7.725077123e-07 -1.162796174e-05 -0.001328642354 -3.242418534e-10 1.429570049e-08 4.206999254e-07 5.986729695e-07 5.749714784e-05 5.022448999e-09 9.527087899e-08 2.464883953e-07 2.780538689e-08 0.0001778414126 3.648445473e-08 -1.064257079e-06 -4.495918788e-05 -4.071814695e-06 -2.05514025e-06 -9.838268894e-11 -1.757879065e-09 -3.830357374e-08 4.531209335e-08 1.310732802e-05 -2.098192224e-11 -4.350223363e-09 4.534479528e-06 1.169362955e-05 9.298876928e-06 4.255120252e-10 2.706155104e-08 -6.076084185e-06 -2.962340015e-07 -5.589878531e-08 -1.031698693e-10 -1.202385058e-08 -5.027638514e-07 -3.77320649e-07 1.044979456e-05 2.010395476e-09 -1.752346868e-08 6.069664277e-06 4.260995636e-07 4.873469745e-07 -2.173766966e-10 -5.969092208e-09 3.375327467e-06 1.103514282e-08 7.973768368e-08 -9.355829353e-11 -6.403131347e-09 -4.441280374e-07 -5.09669867e-07 5.201429424e-06 -0.4283474559 0.1339680093 0.002405698304 -0.004969300078 0.0007510834836 -0.0003204329487 -6.378007874e-05 -0.0002101002215 8.124918172e-05 -1.823353766e-05 4.136628488e-05 -1.211297014e-05 1.235028709e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2608867774 -0.01575524509 -0.0006806555868 -5.884578247e-06 0.0001342733222 5.052875805e-05 -4.52756051e-06 4.262391776e-05 1.713200044e-05 1.071638799e-05 1.80494839e-05 1.002394398e-05 8.814145295e-06 -0.003293348884 0.00262701183 0.2340409978 -0.0001749757622 0.0008420609961 0.00661694894 1.032742007e-06 9.133883271e-07 -0.003752648383 -3.352244233e-07 1.031678014e-06 0.0001117480729 -8.283680363e-06 2.941111579e-06 0.0003244327753 -2.520764452e-05 -4.872448777e-05 4.353490366e-06 -3.98604508e-08 6.237102534e-08 1.941937894e-05 -3.237757989e-07 3.628598655e-06 5.506176224e-05 -5.907701708e-06 -6.924036592e-07 7.664015306e-08 -5.014551595e-07 2.863115946e-07 2.1120871e-05 -5.003123622e-07 2.780767219e-06 1.422404935e-05 -3.718983269e-07 6.493371185e-07 8.560216881e-06 -2.70529218e-07 1.335747691e-07 1.061029655e-05 -2.540080678e-05 -4.872143735e-05 0.06065128981 0.002860384988 0.0003614687356 -1.266185783e-07 8.229021859e-06 0.01145513687 0.0007069573712 -0.001198122254 1.921879204e-07 1.967845994e-06 -0.001270263496 -0.0001177703137 0.0001447809569 -4.252431743e-09 1.812413647e-07 -4.351799749e-10 3.1571969e-07 5.773346196e-05 -3.170784761e-11 3.982399273e-10 1.903934527e-06 -6.168071859e-07 8.573890875e-05 3.216754425e-09 7.840462598e-08 -1.464519328e-06 -3.533560964e-05 5.265137723e-06 -4.612092672e-10 2.637019233e-09 4.00353601e-08 3.517380725e-07 2.079390539e-05 2.58902284e-10 1.460199031e-09 -6.10447298e-07 2.124160447e-06 8.495210718e-06 3.973989901e-10 1.122395055e-08 1.25254566e-06 -5.732962903e-06 -2.273763117e-06 -4.150139319e-10 -1.25000348e-08 -1.323028116e-06 9.209273167e-07 1.139132857e-05 2.628939316e-10 -4.848510334e-09 3.533918586e-06 -5.555333365e-09 -2.662611435e-08 -1.302388816e-10 -1.81227708e-09 4.492602521e-08 1.392099008e-08 2.579736455e-06 -2.697238019e-10 -4.648131234e-09 -4.667981286e-07 4.466609681e-06 -6.88369883e-07 -0.4329360426 0.14144337 0.005084670301 -0.004178999491 1.522505389e-05 0.0003053161686 -0.0004248512701 1.616447867e-05 -0.0001000162011 7.558531217e-05 -1.687922226e-05 1.863526045e-05 -2.57433062e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2946512345 -0.005116190735 -0.003299575322 0.0002128269021 0.000140118355 -1.426977911e-05 1.010816015e-05 4.726923664e-05 -3.799441817e-06 1.698273242e-05 1.081136948e-05 7.080963017e-06 8.573716066e-06 0.002254640837 0.0008109795362 0.2085236892 -0.000600198298 -0.001753328699 0.02779841006 1.972413506e-06 6.270158172e-06 -0.004368676001 1.251549844e-07 1.350128316e-07 -8.912426952e-05 2.769213118e-08 3.704480972e-08 0.00015981068 -3.04738279e-05 -4.328213797e-07 -3.566317143e-06 -1.687406101e-08 -7.000106292e-08 5.011686847e-05 -2.91918116e-07 -3.133804924e-07 1.484909263e-05 -7.367655686e-08 -4.364626724e-08 -4.924227991e-06 4.512473105e-07 4.143850804e-07 2.116709432e-05 5.433376705e-06 -3.028766277e-08 -4.961783373e-08 4.836992608e-08 2.745902055e-08 7.398979728e-06 4.115193432e-07 2.828339739e-07 6.948539904e-06 -1.146695291e-07 3.658999516e-05 0.04324625845 0.0001854812519 -0.000100044288 4.426432438e-06 -2.769765661e-05 0.01253869393 0.0004882828574 0.0005637567782 1.036174831e-08 1.626628376e-06 -0.0003895602061 -4.437738097e-06 -6.509895982e-06 -2.536370074e-08 -2.20237675e-07 -8.325430861e-08 -6.800495058e-08 5.146072738e-05 -2.339741813e-10 2.948749825e-08 2.370459914e-07 1.698450174e-07 -2.56934229e-05 5.791735555e-11 9.950758713e-09 3.588482504e-08 4.312184291e-08 4.635208811e-06 2.424076696e-08 -1.302249646e-06 -1.956406944e-08 -1.246466882e-07 3.956490759e-05 -5.412847237e-09 9.775617389e-09 -2.225216586e-05 -4.107455724e-07 -2.769766558e-07 -2.431859811e-11 2.783047741e-09 1.152159588e-07 9.467908736e-08 4.803260418e-06 6.150260269e-11 3.221992829e-09 4.865566562e-06 -2.724225916e-07 -2.386758161e-07 1.901537789e-13 -2.818937426e-12 -5.581644463e-09 -3.563441698e-11 -1.431225548e-10 -3.640567381e-12 9.251238995e-10 -2.003338346e-08 -6.165498732e-09 2.697291408e-06 -2.764876181e-10 4.255562032e-09 1.608120304e-06 -4.668688125e-08 -4.09617012e-08 -0.2484730146 -0.01519478182 0.000280093897 -6.82723812e-05 0.0001311824642 0.0001029998946 -9.776654637e-06 3.405514207e-05 3.125648531e-05 1.009339264e-05 1.760743373e-05 1.277684882e-05 9.436793774e-06 -0.001970658201 0.0007614158484 0.2467262973 -3.015033862e-05 0.0001118182574 0.00305831729 3.406337877e-08 7.933661398e-07 -0.002800888986 -5.264694967e-07 1.579484549e-06 0.0001606853173 -2.465371699e-06 1.433384728e-07 0.0003568486814 3.805574583e-07 -2.79454338e-07 -1.585376471e-05 1.798570256e-09 -1.277532834e-09 -2.460582369e-07 -4.029615287e-08 5.172191782e-07 6.53496374e-05 1.432964081e-05 3.682723278e-07 2.185643511e-08 -2.891284246e-07 1.368510762e-07 1.368106535e-05 -5.621317482e-07 4.469900213e-07 2.128984828e-05 -2.875991746e-07 1.138469132e-06 1.178359923e-05 -1.831338839e-07 7.307581006e-08 1.174680706e-05 1.454213558e-05 -0.0001080958113 0.07491950229 0.002663199976 -0.0007283050509 -1.387139256e-06 4.133988352e-06 0.0108200717 0.0004864123728 -0.0008996210876 -4.799575567e-08 1.62463039e-06 6.908632008e-07 -1.309375273e-05 -0.001293716409 3.765153353e-10 2.832566716e-09 -3.998751136e-07 9.932530226e-07 6.574200057e-05 -5.671681399e-09 7.31025672e-08 3.048326342e-07 -2.442937825e-08 0.0001755852766 -4.007392351e-08 -5.767546956e-07 -3.942563725e-05 -4.824803703e-06 1.395188952e-06 1.348861316e-10 -5.695758438e-10 4.809283603e-08 1.607301523e-08 1.255699881e-05 1.897781642e-11 -5.46503123e-09 -3.321345545e-06 1.999119874e-05 1.087919283e-05 -4.409611091e-10 2.118228504e-08 -6.15880298e-06 -3.454223636e-07 5.071341088e-08 1.098068382e-10 -8.873585593e-09 -6.384661997e-07 3.332834649e-07 9.465272404e-06 -2.581948346e-09 -7.282420704e-09 6.441088334e-06 7.108123539e-07 -3.534796866e-07 2.293765778e-10 -4.515719133e-09 3.506880316e-06 2.002803182e-08 -6.191209556e-08 9.80607648e-11 -5.007537632e-09 -5.607891665e-07 5.347749715e-07 4.245122554e-06 -0.2583272646 -0.0148484597 -0.000315146977 -6.126392015e-06 0.0001360813173 6.726819687e-05 -7.031702505e-06 4.033079753e-05 2.27689657e-05 9.661592025e-06 1.77711725e-05 1.090886707e-05 8.917832527e-06 -0.002666616912 0.003054684404 0.239481561 -0.0001954226005 0.0005733717216 0.006866244198 7.282370076e-07 1.658973091e-06 -0.003461736173 -7.508862162e-07 1.462908725e-06 0.0001452637423 -7.179562262e-06 2.829081353e-06 0.000341841445 1.969106857e-06 -1.575517389e-05 -3.876059407e-05 -3.714243121e-08 7.25119944e-08 1.198162835e-05 -2.805461548e-07 1.995402779e-06 6.255735288e-05 -4.302495096e-07 -2.565836942e-08 3.624519703e-09 -4.250071877e-07 3.75943919e-07 1.78325023e-05 -7.972624689e-07 2.180752226e-06 1.679346045e-05 -4.303556746e-07 2.076450861e-06 8.256931649e-06 -2.4883784e-07 1.896823962e-07 1.091629857e-05 -3.259527058e-05 -1.757333498e-05 0.06650989102 0.003719698241 -0.000362066743 -5.331086468e-07 -2.288059857e-07 0.01171300393 0.001202558138 -0.001234671777 1.493719442e-07 1.038369156e-06 3.130225502e-05 -0.000273417231 -0.001022539462 2.336692318e-10 -2.808617973e-07 -2.820436004e-07 8.558866453e-07 6.499218665e-05 1.425431336e-09 2.076640689e-08 2.088104863e-06 -9.698345344e-07 0.0001177049127 4.349867698e-09 -1.193136666e-09 -2.77586605e-05 -8.478310467e-06 3.010837373e-06 -3.181027571e-12 -3.70411313e-10 1.084890764e-07 1.516722059e-07 1.880315421e-05 4.072943295e-10 1.097840987e-09 -1.586653972e-06 4.83116326e-06 1.460127333e-05 5.573367922e-10 1.083275331e-08 -5.226424495e-06 -3.050998305e-06 4.173122732e-07 -3.080004842e-10 -7.988359755e-09 -1.052062483e-06 1.06178758e-06 1.059635605e-05 3.13950934e-10 -2.369240056e-09 4.776448272e-06 7.592288163e-08 -1.411081501e-07 -1.54844876e-10 -1.098759558e-09 2.997863758e-06 -1.300620475e-08 -1.162744545e-07 -2.327750594e-10 -3.033333816e-09 -6.996624081e-07 3.283411133e-06 1.071964139e-06 -0.4325915329 0.1421493449 0.005195835944 -0.004773157688 0.0007411044846 -0.0002406944097 -4.106660736e-05 -0.0002220460569 6.113413475e-05 -2.022416839e-05 4.201411545e-05 -1.113037067e-05 1.220669086e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1247072494 0.1455533752 0.0176643581 -0.002223141877 -1.743349287e-05 -5.98932942e-05 -0.0001224078487 4.807066885e-05 -5.26958948e-07 -3.134082561e-05 4.656102286e-06 -3.95741862e-06 -5.952023084e-06 -4.025467466e-05 -0.0001417777207 -0.1660087585 0.001556473396 0.0003152416557 0.02098371504 7.482315052e-07 1.453757754e-07 0.02527943689 1.820982778e-08 2.846886685e-09 0.0006381929602 3.663077024e-11 6.362347844e-10 0.0006373981851 8.350769659e-05 3.836637368e-05 4.348816664e-05 -7.403013826e-10 -1.439737342e-09 -0.0004245880494 2.090770009e-07 3.480430682e-08 3.185920919e-05 4.392441656e-09 1.445268303e-08 1.153012312e-05 -2.47484115e-08 -1.335902735e-07 -3.339764966e-05 3.945635469e-07 -9.450206997e-12 3.987806129e-09 -1.045627729e-09 -4.578301213e-09 -1.309874308e-05 -2.855534113e-08 -9.566019727e-08 -6.197215575e-06 1.492921503e-08 -2.024215705e-08 -0.08463560633 -5.660972786e-07 5.036017862e-06 -8.075922419e-08 -1.618795799e-06 -0.03365321226 -0.0001343118245 -1.648251254e-05 -2.791313002e-10 1.547675185e-07 0.001647885608 -4.916248093e-06 5.509495572e-08 1.036849997e-10 -1.504356858e-08 -3.55862977e-10 -9.42781309e-09 -0.0003379962942 5.062333375e-12 -3.898342164e-09 -1.181441012e-08 -5.84047425e-08 -0.0004679332573 8.545542433e-14 4.274943079e-09 5.757221729e-09 5.89703913e-08 0.0003112521848 -3.065111847e-10 -2.2233065e-08 2.828995251e-09 -7.12342935e-10 8.018680583e-06 -1.267544182e-10 -7.545936956e-10 -5.9873114e-05 -1.945811741e-09 -3.853743751e-09 6.453619757e-13 -1.947355038e-10 -6.039164916e-09 -2.964820955e-08 -4.240586263e-05 -1.296286026e-12 1.736208508e-10 7.944622014e-06 9.081964716e-09 5.157407992e-08 1.284754305e-14 1.44366708e-14 8.356718098e-09 3.739352699e-12 1.639263484e-12 -8.653460028e-13 -8.662522712e-12 -7.882290691e-11 6.763835134e-11 -8.040947405e-06 1.13568735e-11 -3.24293446e-11 -1.100582263e-06 -2.978060858e-10 9.457355827e-11 --0.0422056279 -0.03067563485 0.0004625027748 0.0001653521882 0.0001270648232 -6.65760254e-05 -2.27435634e-06 3.312094668e-05 -6.432828701e-06 1.183012251e-06 6.053661424e-06 7.382895154e-07 1.383972041e-06 0.005733305446 6.950089567e-05 0.03412064181 -0.0001347843947 -0.005105817218 -0.01834406746 6.484264414e-09 3.753635488e-06 -0.005327837894 -1.500663674e-07 -6.180582638e-06 0.0005599041031 -1.885702211e-06 9.604646729e-11 8.318767896e-05 -9.912686994e-07 -1.903612958e-08 1.555327897e-05 -7.234139391e-09 -6.346581513e-10 -5.242048929e-07 -1.157895928e-09 -6.982158494e-07 3.254668235e-05 -2.081988351e-06 -6.016848578e-07 -1.142981327e-10 6.857531658e-07 1.136916094e-08 6.394681277e-06 1.330403744e-06 5.255322939e-08 6.641323361e-06 2.40064975e-06 4.318632466e-08 -6.962056183e-07 4.042527667e-07 5.149451444e-09 3.742183136e-06 -6.596027876e-07 -0.0001779969951 0.04000588468 -0.004901179346 -6.534902117e-05 -5.441644506e-07 2.258798089e-05 -0.005960921231 0.0001861707556 0.007450778675 -2.9644376e-09 3.038614005e-06 -1.759263541e-07 -0.0001068066494 -0.002972764335 5.46910013e-11 3.256540962e-08 1.995056373e-08 4.789274311e-07 0.0002192124748 -6.76772176e-10 1.446036914e-07 1.868496618e-07 7.251068438e-10 -0.0001869023972 -1.60259831e-09 -5.021276171e-07 9.488627069e-06 2.054306012e-05 5.920976816e-07 3.785601457e-11 -2.016511222e-09 -1.163854041e-08 -5.631539927e-08 7.321921556e-05 -1.957696273e-12 -8.231006161e-09 -4.570131157e-07 -1.049414586e-05 -4.540951526e-06 -1.682161828e-11 4.452004355e-08 -1.130929727e-06 4.910499358e-07 2.599745336e-09 7.269905087e-12 -1.342720099e-08 8.384194717e-07 2.541666174e-08 9.263375931e-06 -5.247960728e-10 -2.064631827e-08 2.074272729e-06 -6.812775623e-07 -5.249589831e-08 1.363694164e-11 -8.95162374e-09 1.356613406e-06 -2.613604938e-08 -1.142627587e-08 5.079984294e-12 -8.564504527e-09 1.050363832e-06 3.551326184e-08 1.579153616e-06 --0.04557100178 -0.03799167002 -0.0005813920887 0.0004125337955 0.0001158682819 -6.104256058e-05 -5.672778944e-06 3.35755256e-05 -7.326687299e-06 2.717643314e-06 5.63335013e-06 5.363091382e-08 1.956950862e-06 0.0059244481 0.001188984284 0.04060581207 -0.0009638723434 -0.01002743967 -0.01145286482 7.90794239e-08 8.210164402e-06 -0.007056140328 -1.808789024e-07 -2.833270473e-06 0.0005172650958 -6.244891302e-06 -5.431568497e-08 -1.942934563e-05 -1.180763966e-05 5.557670237e-06 5.619088786e-05 9.900522522e-08 9.863775116e-08 3.890918819e-05 -8.261350221e-09 -2.109074077e-06 6.333817448e-06 5.685014919e-09 3.476073212e-08 2.765399712e-10 8.095808561e-07 6.68163035e-08 1.17193427e-05 1.984662346e-06 4.135629192e-07 2.109637083e-06 1.677908674e-06 2.665265084e-07 1.082501343e-07 4.808417792e-07 2.734931771e-08 4.152129948e-06 -1.248014659e-05 -0.0001567122721 0.04219645738 -0.005593521745 -7.606926777e-05 -3.113677537e-07 3.95790334e-05 -0.003867480457 0.0006431152085 0.008011661206 1.747790486e-08 3.43776626e-06 -1.965886611e-05 -0.002115806785 -0.0008356915499 1.14474157e-10 5.002875942e-07 2.934987302e-08 7.542146518e-07 0.0002140990151 -1.603036537e-12 3.340150123e-08 5.889344691e-07 2.184092536e-08 -0.0002176668632 -3.071207798e-10 -1.901934178e-09 -7.261847071e-05 3.985988201e-05 3.853886916e-06 -1.285768314e-12 -7.428884159e-10 -1.205378408e-10 -2.404175316e-08 0.0001132704679 -5.874830966e-12 1.92077942e-09 -3.678203047e-07 -3.431205973e-06 -1.607776686e-05 1.027137757e-10 2.640792558e-08 -7.185288293e-06 2.658691402e-06 4.163493181e-08 -6.920847852e-11 -1.6862838e-08 1.064287811e-06 1.579489683e-07 1.125029865e-05 1.106375056e-10 -2.070061478e-08 -1.75201523e-07 -6.790761418e-08 -5.69082365e-08 -5.131370235e-11 -5.542972475e-09 1.872125795e-06 1.324670081e-08 -4.408804017e-08 -5.639894425e-11 -8.67703741e-09 1.453056893e-06 4.052678032e-07 5.200373572e-07 --0.0455184514 -0.04062316326 -0.001336055922 0.0005301890339 0.0001008759303 -4.866368628e-05 -4.919965647e-06 2.810715144e-05 -5.874477388e-06 3.861957614e-06 4.505745786e-06 -2.056866785e-08 2.200024385e-06 0.008103774324 0.0006391678735 0.04135197225 -0.0004719052857 -0.01515512382 -0.004805479586 -1.525763873e-08 4.573994304e-06 -0.007666828114 -2.457195221e-08 -1.581158599e-06 0.0004327043943 -7.910246942e-06 -5.295497473e-08 -7.737308226e-05 -1.493945738e-05 6.435678178e-05 5.189206263e-06 9.182761012e-08 6.225911643e-08 6.732613767e-05 -5.263769945e-09 -3.757220527e-06 -6.773910103e-06 -8.984689363e-07 8.259275559e-07 4.768978059e-09 9.763000747e-07 2.691155842e-08 1.436660615e-05 3.294498485e-06 9.682673732e-08 -9.753856621e-07 1.147705117e-06 8.387996213e-08 1.124662768e-06 5.73848728e-07 9.650526576e-09 3.972795791e-06 -7.187075701e-06 -0.000182658764 0.04028647605 -0.004631618971 3.934767654e-05 -4.623721011e-08 4.033101629e-05 -0.002569229815 0.0001810572101 0.008713647777 1.236457676e-08 3.342911088e-06 -0.004419367686 5.298982726e-06 0.001736820288 -1.404488608e-09 1.330874833e-06 6.560305807e-09 2.528548181e-07 0.0001992137719 -1.428212582e-11 -2.848190721e-09 1.247645416e-07 -1.666565698e-09 -0.0001927973671 -2.150106334e-10 4.772743241e-08 -0.0001401490002 6.858015054e-05 3.742580447e-06 -2.751456399e-11 1.585369222e-08 8.96340076e-10 2.562531859e-07 0.0001179489219 3.006268832e-11 2.995686191e-09 -9.393701294e-08 -1.981705857e-06 -1.167948447e-05 5.188660541e-11 2.00380133e-08 -3.905828405e-06 -5.989508084e-07 -1.455894514e-06 -6.780208855e-11 -2.010150737e-08 1.327695312e-06 6.885346282e-08 9.998050707e-06 6.715233367e-11 -1.971366221e-08 -5.066829328e-07 5.705001251e-09 -7.183516144e-09 -3.08701911e-11 -5.224590179e-09 -4.973354144e-08 2.544049993e-09 2.17173232e-06 -4.836450135e-11 -9.964492424e-09 2.060213036e-06 -4.067808541e-08 -2.365826534e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.3492897371 0.001574796604 0.002196642949 0.004076610485 0.004687356475 0.2929757854 0.001452681429 0.001426528712 0.1839481822 0.0003333103144 0.0003490792674 0.07870364704 9.63365572e-06 2.716714611e-06 0.04231497208 0.01578361465 0.0006759569008 0.0004172973785 0.01002604794 9.236942948e-05 7.46002587e-05 0.003828512444 3.042301241e-06 1.493636054e-06 0.00199369905 0.0006799477226 2.197743986e-05 5.440281865e-06 6.104157639e-06 0.0008002296293 5.766590832e-07 1.123504711e-07 0.0006537376407 3.316947104e-07 3.784044228e-06 0.0001159044067 0.0001352128137 3.017349483e-06 2.112952749e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.03782112221 0.202553946 0.1061826138 0.01911208849 1.083926526e-05 0.001270117797 0.001224350363 4.970564007e-05 1.144238343e-06 9.34849316e-05 3.260156352e-06 6.447681885e-06 9.089539685e-06 3.601348846e-05 0.0002626952344 0.1185365773 0.0004367480659 5.780888969e-05 0.00408381634 1.118906371e-05 4.829188443e-07 0.05471559684 1.883494211e-06 2.300335135e-07 0.05234050236 4.647659956e-10 9.543727355e-09 0.007838775851 0.0001719845761 7.957680675e-05 8.567069737e-05 1.461225197e-09 4.295439443e-09 0.001310240879 2.634390965e-06 3.988868895e-07 0.0003711213092 1.133730836e-07 4.510614141e-07 0.0002910406059 4.280533847e-08 2.647517247e-07 5.722071827e-05 1.116380367e-07 9.883664568e-13 1.028201223e-08 5.957266474e-09 3.998046763e-08 6.991227183e-05 6.303712126e-08 2.382640175e-07 1.332427676e-05 1.732653046e-06 1.484783914e-09 0.1349492268 1.217684919e-06 4.02787133e-05 2.124926102e-07 2.522650954e-06 0.03020209507 0.0002215631704 1.479957987e-05 5.783837164e-09 9.559575199e-08 0.0005032624419 1.558422288e-05 6.878762883e-09 1.054899408e-08 1.603782585e-06 1.427155452e-08 2.968520552e-06 0.019665656 1.288143521e-09 7.978111144e-08 2.980205006e-07 2.094408402e-06 0.01174724094 7.667005248e-13 5.639738334e-08 7.357254886e-08 1.061786865e-06 0.004114228325 2.236458928e-09 5.784504122e-09 2.760676199e-09 1.258245975e-10 3.985925414e-07 1.272458892e-09 3.107857281e-09 0.000140952955 5.183014898e-10 1.231323141e-08 8.626295765e-11 1.630739274e-09 6.709069671e-08 3.644845166e-07 0.0004696676832 3.197260586e-11 3.891585952e-10 9.436291584e-06 1.064559738e-08 7.215164651e-08 3.122622194e-10 1.398047462e-11 1.002417016e-05 1.373507207e-08 2.467093622e-09 1.484902849e-10 2.737255597e-11 2.976008753e-10 1.066510411e-10 4.349082419e-05 4.606912197e-11 1.451867998e-11 1.512352711e-06 4.164872348e-10 8.152989253e-12 -0.004987111548 0.02048207941 0.005099201637 3.988903784e-05 0.0004573799004 0.0001058389332 2.735191475e-06 3.033492507e-05 2.098020431e-06 6.838360988e-07 4.033594036e-06 7.819569871e-08 4.420537385e-07 0.1982601962 0.0005530088575 0.003938469525 0.0005921192794 0.04884156611 0.003668765123 3.116660851e-05 0.004040895139 0.008363027342 4.921038257e-06 0.0005449290223 0.002487718017 4.43807956e-05 1.212483925e-10 4.355978938e-05 0.000114830917 3.051018095e-07 0.0001886336377 7.458832896e-05 2.03119719e-06 0.0001311644647 1.329270004e-08 1.250893294e-05 1.207549068e-05 1.661867073e-06 3.415403202e-05 7.803073682e-10 2.876250571e-05 1.376879941e-07 1.332183652e-05 1.629357499e-05 1.660137391e-07 3.444054252e-06 1.609383518e-05 2.143233367e-08 1.000207723e-07 1.395008083e-05 4.784706695e-08 3.018166199e-06 6.197092369e-06 0.003474648874 0.01619406994 0.1652384441 0.0007977950861 5.575005212e-05 0.0004191291972 0.0007584909466 0.000564230987 0.08741397671 6.258727734e-07 8.283938257e-05 4.446714244e-05 0.01961416935 0.002401130968 2.045337531e-07 9.447871988e-06 1.133221495e-06 6.122873291e-05 0.00314655432 2.748481309e-07 2.709692441e-05 5.990758825e-05 3.169168233e-07 0.0002447801283 4.039341527e-09 7.305542997e-07 9.631322622e-07 0.0003692417869 5.281832692e-06 2.428945261e-08 2.859445225e-07 6.801548572e-07 1.075813699e-05 0.000171193714 2.45898077e-09 3.241654062e-07 4.298385438e-07 1.050274459e-05 6.893943059e-07 1.56575126e-09 1.018910985e-06 7.814934613e-07 4.157534958e-05 1.137602891e-07 2.084018526e-09 3.811371324e-07 1.661045623e-05 1.586646683e-07 1.596356604e-05 1.434746215e-08 2.921654088e-07 8.010241912e-07 9.29438348e-06 2.547521996e-07 1.216780363e-09 3.554970437e-07 1.181705956e-06 1.314321295e-05 3.725364341e-07 7.791768722e-10 2.689660491e-07 1.140465702e-05 7.579066641e-08 1.268789331e-06 -0.005597159673 0.02472342975 0.007707543867 0.0002716131777 0.0003983520716 0.0001815065116 2.359060922e-05 2.227439489e-05 5.479972309e-06 3.692118034e-06 3.016776974e-06 5.345286641e-10 9.665503785e-07 0.1956677695 0.008459126865 0.005858334475 0.00246450784 0.05670021888 0.00133745971 9.777966481e-06 0.006313586863 0.009742116261 4.753310449e-06 0.0002594672793 0.003998157728 5.662079481e-05 9.762729204e-08 2.603603043e-06 0.0001113943867 1.39687808e-05 0.0002007779196 4.343487846e-05 7.293173689e-06 0.0002237295485 1.432793076e-08 1.167870408e-05 5.126252014e-07 1.327564511e-08 3.836717447e-05 1.43240055e-07 2.432341168e-05 5.455522517e-07 2.306133439e-05 1.495933253e-05 5.159428098e-07 4.230943431e-07 1.671826729e-05 2.964096506e-07 3.809767499e-09 1.3016484e-05 1.919054639e-07 4.160402834e-06 0.0006217877587 0.002910075796 0.02064640753 0.1501532716 0.003697833613 0.0001714935987 0.0004435829249 0.0003301290652 0.001442183785 0.09179846018 1.98890148e-06 4.727551412e-05 0.0002027297698 0.02623532377 0.0001692506412 8.166712629e-05 0.0001876481747 2.011125263e-06 0.0002692359526 0.003771667132 3.95010439e-12 4.319245222e-06 1.54188892e-05 1.462594847e-07 0.0006124953811 8.192698758e-09 4.285207267e-07 4.731205275e-05 0.0003410399646 1.682995279e-05 2.31519555e-09 8.659949263e-09 1.293907929e-11 5.276741761e-08 0.0001662259972 9.471258877e-11 5.661349837e-07 1.29665435e-06 1.819292128e-05 1.761820483e-05 4.19835102e-08 8.729585028e-07 2.073129638e-05 2.693621908e-05 3.351034882e-07 1.903809738e-08 2.366138722e-07 1.033866964e-05 4.679318882e-07 1.38079541e-05 4.762047355e-08 3.009558694e-07 1.018202294e-08 9.357318982e-06 1.163201459e-06 4.476354018e-08 3.084490757e-07 3.049822144e-06 1.105107429e-05 1.030702534e-06 1.778478888e-08 2.150007695e-07 9.991706467e-06 3.593231385e-07 2.420850042e-07 -0.00547522355 0.0251068315 0.008725664413 0.0004862640186 0.0003101205832 0.0002044462068 4.280199647e-05 1.397529011e-05 6.222601306e-06 6.060468562e-06 1.870878883e-06 9.311828594e-11 1.250483187e-06 0.2052068298 0.003843074835 0.006257258724 0.0009729718725 0.06361454356 0.0002306169173 1.816123175e-07 0.007908777091 0.009535014267 5.3830644e-07 0.0001403823357 0.004594788466 6.167253806e-05 9.215860354e-08 4.514445304e-05 1.20140621e-05 0.000282732028 2.077963736e-05 3.274532976e-05 4.337972413e-06 0.0002493658437 4.718492405e-09 1.378465797e-05 7.003463976e-07 1.58727484e-06 3.850841031e-05 1.001321288e-07 2.22412743e-05 1.651829654e-07 2.443222056e-05 1.468426081e-05 2.268015673e-08 1.153253598e-07 1.716780197e-05 2.116121621e-07 4.621282244e-07 1.277286174e-05 5.289518609e-08 3.99584148e-06 0.0003549075004 0.003251396725 0.02033953934 0.1488918663 0.001163549175 7.108560151e-05 0.0006291607385 0.000148807757 0.0003553825036 0.0961604227 6.110598667e-07 3.737940862e-05 0.004388074394 1.335363552e-06 0.02480364582 9.026698783e-05 0.0008302820764 4.448662621e-06 8.028311349e-05 0.003706887217 6.772972221e-08 2.828047093e-07 7.439424512e-07 2.427177921e-09 0.0008093370452 7.591525487e-09 1.162599844e-07 0.0003477153666 8.254350182e-05 5.286355643e-06 9.283239404e-10 2.52065539e-07 4.871597183e-09 1.643451329e-06 0.0001317782919 9.915377577e-09 7.684992739e-07 7.34248362e-07 2.575127839e-05 2.618628007e-05 2.102645343e-08 8.375210606e-07 5.101552678e-05 7.780878025e-07 1.418678398e-06 8.471603333e-09 2.00911043e-07 8.159009258e-06 1.310777564e-07 9.230069465e-06 2.738151651e-08 3.579397749e-07 1.393088485e-07 1.060772978e-05 6.934489679e-07 2.279359016e-08 3.23590416e-07 1.059999594e-05 3.604476682e-07 4.376566242e-06 9.5166294e-09 2.115065026e-07 9.108234825e-06 1.508335042e-09 9.762464082e-09 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0315207961 0.004240406438 0.02728038966 0.03459095925 0.003861347286 -0.03845230653 0.01622526287 0.002308891127 -0.018534154 0.005048355827 0.0009284089503 -0.005976764777 -0.0003128281511 -0.000295584708 0.0006084128591 -0.002844672499 0.0002381998155 0.002606472683 -0.0009961451231 0.0001371806506 0.0008589644726 2.339432406e-05 4.529213494e-05 -6.868645901e-05 0.001182970125 -0.001146545705 -3.64244205e-05 6.503981763e-05 1.275338299e-05 -7.779320061e-05 -8.93281453e-06 -7.611281888e-06 1.654409642e-05 -5.028909249e-07 -2.088867461e-05 2.139156553e-05 -1.956140589e-05 2.66178101e-06 1.689962488e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0007402541637 0.003964488442 0.002078259909 0.0003740714778 2.121515907e-07 2.485938894e-05 2.396360555e-05 9.728639677e-07 2.239561251e-08 1.82973444e-06 6.380943168e-08 1.261972962e-07 1.779050754e-07 -0.0007938852837 -0.007934778651 0.006014044498 -0.006450604224 -9.886780893e-05 0.004665976502 -0.0004730921291 -2.276497733e-05 0.001154267179 -1.956373912e-05 -8.065419233e-07 0.001040799676 -3.444300088e-09 -8.543142985e-08 0.0001534980338 -0.0001066825077 -4.778366244e-05 0.000153805085 4.063020947e-08 1.765575734e-08 2.556304607e-05 -9.970492855e-06 -2.116761087e-07 1.675224661e-05 -4.33485722e-07 -4.269326417e-06 9.582592954e-06 -1.220915087e-07 -1.777348471e-06 2.782750861e-06 5.397392062e-08 4.628601065e-10 -4.603269005e-07 -6.199539334e-08 -7.703427098e-07 1.897854266e-06 -1.941729558e-07 -1.581766279e-06 1.820539169e-06 -8.07914549e-05 1.8878034e-06 0.002176303292 -7.654235348e-05 -0.002404965712 -4.727673336e-06 -5.68701509e-05 0.003558464615 -0.00504285022 -0.0001868946256 -2.427792109e-07 -2.524758316e-06 -7.852316311e-05 -0.0008515297714 3.087286908e-06 -3.722512978e-07 -3.794770267e-05 -8.726517884e-07 -0.0001218176274 0.0004292079522 -5.733058726e-08 9.724617762e-07 -1.7839668e-06 -3.138314428e-05 0.0002525065019 -6.554206648e-11 -1.664737633e-09 -4.073888462e-07 -1.418169664e-05 9.137796676e-05 -7.806035097e-08 -3.740498614e-07 -1.31233616e-07 -7.932357346e-09 -5.976197836e-08 -5.45860012e-08 -5.607638683e-08 9.779826375e-07 2.081854622e-07 -1.898637629e-08 -3.892138982e-09 2.899878862e-08 -1.212891628e-07 -1.796632759e-06 1.090121163e-05 -1.3402057e-09 -9.899757525e-09 6.757436405e-07 -2.250597987e-08 -5.437513302e-07 -1.474612078e-08 5.963707275e-10 3.871798175e-07 -4.542500757e-07 -5.334868956e-08 -6.886908478e-09 1.394573464e-09 1.217070122e-08 -2.309718172e-08 7.5239382e-07 -2.73465845e-09 1.728232886e-09 -9.346304837e-08 6.770072601e-09 -6.9126687e-09 -0.0152993279 0.06283437736 0.01564319489 0.0001223705272 0.001403137869 0.0003246898587 8.390947515e-06 9.306067471e-05 6.436251167e-06 2.09785416e-06 1.237415229e-05 2.398866806e-07 1.356120678e-06 -0.06199734367 -0.0001515275133 0.01434628393 -7.76733334e-05 -0.01149101795 0.01471407646 -1.008824733e-05 -0.001337295139 0.02563581258 -3.856177873e-06 -0.0002697000452 0.007531351638 -1.774021306e-05 1.49487063e-10 0.00013020779 -7.52909321e-05 -8.284969072e-07 0.0005325856116 -1.80775932e-05 -1.188897494e-07 0.0004088709851 -5.882686667e-09 -4.93728582e-06 3.614639791e-05 6.69898349e-06 -9.040678475e-06 1.908882353e-10 -4.028447416e-06 4.320179825e-08 4.551633806e-05 -2.509226019e-06 5.608569603e-08 1.286274381e-05 -2.554911395e-06 4.125209648e-08 -8.130488538e-07 -3.322764597e-06 -2.379763333e-10 1.03496882e-05 -2.855908934e-06 -0.001345338162 0.0425340455 -0.05971674311 -0.0003416037149 -1.820032505e-05 -0.0001339193822 -0.0009698322353 -0.0001634523507 -0.02758900786 -1.922914196e-07 -3.562780755e-05 -1.427141618e-05 -0.006090384306 0.007649470684 -6.356028856e-08 -1.49049653e-06 6.024128154e-07 3.42354896e-06 0.009675857126 -8.585770268e-08 -9.47504172e-06 -2.0355702e-05 -1.078802009e-07 0.0007494486409 -3.007946286e-09 -7.78344993e-07 9.892033429e-06 -9.82525256e-05 -1.097787387e-06 -7.592303806e-09 -1.092227846e-07 -3.131568768e-07 -3.95407793e-06 0.0005246192071 -8.074874349e-10 -9.506946092e-08 4.474767027e-07 1.007992483e-05 5.618223768e-06 -4.762214633e-10 -3.866207221e-07 1.128797862e-06 -1.41523608e-05 -4.091105329e-08 -6.230212902e-10 -2.092505221e-07 -1.068208483e-07 1.087353463e-07 5.34350644e-05 -5.088127728e-09 -1.12274517e-07 1.448129257e-06 -3.590583594e-06 -1.267657252e-07 -3.510018377e-10 -1.414361441e-07 3.486164591e-06 -4.358191551e-06 -1.547001035e-07 -2.270086051e-10 -1.24819631e-07 8.372072269e-07 1.29039871e-07 6.434046835e-06 --0.007549205771 -0.03334588782 -0.01039560028 -0.0003663400525 -0.0005372799658 -0.0002448080965 -3.181798871e-05 -3.004273601e-05 -7.391148546e-06 -4.979768381e-06 -4.068897703e-06 -7.209490369e-10 -1.303641154e-06 -0.004053781362 0.03876764188 -0.01005410935 0.01073759717 -0.003799435918 -0.003947063679 -0.0002292116877 0.001362452447 -0.01312442037 3.830352377e-05 3.669253126e-05 -0.005346755496 6.275237631e-06 2.147888414e-06 -4.9030142e-06 5.24998666e-05 -6.530943196e-05 -0.0001279505175 -8.46067156e-06 1.67217449e-05 -0.0003044790126 3.875980111e-07 1.832697948e-06 -4.154012857e-07 -1.459601815e-07 3.729323522e-06 2.176075696e-06 -8.713455708e-07 3.03318581e-06 -3.4104103e-05 -6.989320519e-07 2.277721121e-06 -1.566927328e-06 -4.437076851e-07 1.747884035e-06 -1.51183639e-07 2.175141284e-07 1.396549434e-06 -6.505638659e-06 -0.001242175178 0.002206055656 -0.02357593604 0.007763576465 0.02288826002 -0.0001867650457 0.000267009936 0.0009985117064 0.0108098524 0.003931779969 -1.66283789e-05 4.516454435e-05 0.002072476007 0.0003257949506 -0.0008560465665 -0.0001177985004 0.0001965241854 8.460924399e-06 -1.831216473e-05 -0.005128067004 3.730600473e-09 1.049319133e-06 3.101887819e-06 1.677465822e-06 -0.0008226054948 1.296878248e-07 6.174124601e-07 -1.408201969e-05 -4.137165745e-06 7.801778632e-05 -4.398586163e-09 8.184576202e-09 -1.002094386e-09 7.378673534e-08 -0.0002241124419 7.04421802e-09 1.166905855e-07 2.987925778e-06 -6.588158849e-06 -2.894198655e-05 -2.114704673e-07 5.178513845e-07 -1.38604397e-05 7.634472449e-06 3.547519603e-06 -7.591412377e-08 1.82194956e-07 -1.561214562e-06 1.513012897e-06 -2.103277986e-05 -1.091691495e-07 2.005639116e-07 -3.455573794e-08 -1.433041372e-06 3.240310066e-06 -1.107767023e-07 2.111335136e-07 -3.787566633e-06 -1.450862244e-06 3.401642828e-06 -6.484618255e-08 1.422739374e-07 -1.8597724e-06 5.343369073e-07 -1.639875711e-06 --0.007309033276 -0.03351583095 -0.0116481402 -0.0006491278137 -0.0004139888794 -0.0002729211173 -5.713761523e-05 -1.865601641e-05 -8.306729322e-06 -8.090293663e-06 -2.497489991e-06 -1.243062761e-10 -1.669305945e-06 0.008824025533 0.02643610119 -0.01083708186 0.007127972368 -0.0002015704928 -0.001472589974 3.52602457e-05 0.001383652854 -0.012723685 9.534365804e-06 3.826563704e-05 -0.006101755403 1.860833168e-06 2.007588263e-06 -6.727936318e-05 3.881414542e-05 -0.0001664800759 5.311607262e-05 -5.181984788e-06 1.138595806e-05 -0.0003341989262 2.281908464e-07 1.34363654e-06 -1.518380807e-06 1.903223607e-07 5.064664436e-06 1.880777861e-06 -1.019474052e-09 1.599936591e-06 -3.533598973e-05 5.748146443e-07 4.822457239e-07 6.399961757e-07 1.620823302e-07 1.62219409e-06 -1.561135577e-06 6.555197633e-07 7.19730981e-07 -6.279307449e-06 -0.001052047141 0.001981381116 -0.02382408269 0.01743032163 0.01255967159 -0.0001543600441 0.0002638832136 0.0007046304503 0.005439314234 0.009708251787 -9.629451975e-06 2.841073118e-05 -0.002467337713 0.0001825344565 0.005110410398 -0.0002237562978 0.0003479999217 2.277621912e-05 -6.304443036e-06 -0.00499859777 -1.100354908e-07 1.731155665e-07 8.419299432e-07 -7.727627855e-08 -0.001078925255 1.260654633e-07 2.336996832e-07 -6.615282162e-05 3.786858867e-05 4.556903232e-05 -1.571098158e-08 4.227487805e-08 -6.622179408e-08 -8.599514848e-08 -0.0001762966552 -8.318324608e-08 2.526758443e-07 3.053245294e-06 -5.948137315e-06 -4.100804742e-05 -1.551847443e-07 4.39096653e-07 -7.739584593e-06 2.137389555e-06 -8.743514916e-06 -4.853235563e-08 1.303457967e-07 -1.1166397e-06 7.158919453e-07 -1.418545147e-05 -9.371821958e-08 1.783447843e-07 -2.040717917e-07 -6.366425937e-07 2.630808778e-06 -8.512647476e-08 1.775622591e-07 2.306424563e-07 1.88373117e-06 -5.72038406e-06 -4.911464106e-08 1.18556225e-07 -2.416040907e-06 5.322408812e-08 2.739003675e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.01799345834 -0.02314170501 0.005148246673 0.004113663011 -0.03711442399 0.03300076098 0.002455859289 -0.01609809545 0.01364223616 0.0009290815387 -0.005169934235 0.004240852696 -0.000556608114 0.0001661732685 0.0003904348455 0.003027101359 -0.003300663439 0.0002735620798 0.0008256760815 -0.0009561237265 0.000130447645 0.0001296865374 -9.798293098e-05 -3.170360641e-05 -3.035230701e-06 -0.0002366169605 0.0002396521912 1.251020389e-05 -6.895859167e-05 5.644838778e-05 -1.724103712e-05 3.947265868e-06 1.329377126e-05 6.280694769e-06 -1.872383992e-06 -4.408310777e-06 1.763615602e-05 -2.018104933e-05 2.544893312e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0001067311622 0.0005716069962 0.0002996472108 5.393429113e-05 3.058839376e-08 3.584270921e-06 3.455115278e-06 1.402692575e-07 3.229039252e-09 2.638143665e-07 9.200157373e-09 1.819535066e-08 2.565067025e-08 0.002939739135 -0.002147186714 -0.001183951081 -0.0004483812069 0.002394049369 -0.002217233899 -0.000109600286 9.831198424e-05 0.0001062190373 -2.316274033e-06 6.849268553e-06 0.000142594331 1.889160641e-08 -1.562393483e-08 2.211553764e-05 0.0001412201805 -0.0001424597479 1.144251025e-06 1.025325895e-08 -6.958658185e-08 3.753462556e-06 -5.815876649e-07 3.910396252e-06 -2.381523105e-06 2.14568259e-06 -8.702197839e-07 -5.71887327e-07 7.178985953e-07 -3.074341204e-07 -2.831071408e-07 -6.711294193e-09 -4.516796476e-09 -4.729386885e-08 2.976488271e-07 -1.608931969e-07 1.687238555e-08 8.21115764e-07 -3.897540038e-07 -4.249312624e-07 -6.207427381e-05 -2.178611638e-06 2.888877686e-05 0.0004193316174 -0.0004393489448 -1.676869586e-05 1.646623842e-05 -0.0008266413931 -0.0007282308428 0.001305325253 -3.958330076e-07 3.365582525e-07 3.088106897e-05 -0.0001469676094 -1.790476944e-05 -3.294978481e-06 5.176777711e-06 8.335435491e-06 -1.256830663e-05 4.102029615e-05 -1.038915801e-07 -3.213492007e-07 1.191279236e-05 -4.717500421e-06 2.498663765e-05 5.833440782e-10 5.940313487e-08 3.733298788e-06 -1.553133698e-06 8.831156462e-06 -2.564907817e-07 1.539487976e-07 -1.837894437e-08 -2.083989244e-09 2.913707701e-08 3.344379603e-08 -8.276290044e-08 1.221906762e-06 -4.060739477e-09 -1.016196081e-06 -6.107392495e-09 -1.436130669e-08 7.799240487e-07 -2.832329845e-07 8.226242473e-07 -2.580862029e-09 3.93499934e-09 -1.390459612e-07 2.114642459e-07 -5.960708606e-08 -2.913291053e-09 -2.949315257e-09 -8.064827113e-08 -1.259704539e-07 1.930789771e-07 -3.194267914e-09 -2.763569437e-09 -3.874425787e-08 -7.279375885e-09 1.580956565e-07 -2.882086734e-09 -1.358109734e-09 4.123526813e-08 -4.969213752e-08 -9.442707074e-10 --4.323224143e-06 -1.77554922e-05 -4.420392729e-06 -3.45789842e-08 -3.964932023e-07 -9.174958829e-08 -2.371081077e-09 -2.629672089e-08 -1.81873064e-09 -5.9280341e-10 -3.496639478e-09 -6.778623844e-11 -3.832072686e-10 0.01086770412 -0.01097310918 0.0001189129236 -0.005520991608 0.005385441436 0.0001346613608 0.0003738068627 -0.0003730037722 -7.666419682e-06 -5.719280571e-05 6.190370829e-05 -6.761781985e-06 -4.012716537e-08 7.885152878e-08 -7.050505294e-08 1.091650957e-05 -6.851153923e-06 -4.194342074e-06 1.193651292e-05 -1.262919081e-05 5.822826265e-07 -4.376715662e-07 4.440463923e-07 -1.519211247e-08 -1.951845217e-08 -1.48766366e-07 1.689464712e-07 1.729321516e-06 -1.983568289e-06 2.425110797e-07 1.439563521e-06 -1.648574255e-06 2.060692295e-07 7.630247962e-07 -6.038477716e-07 -1.582369765e-07 7.846138574e-07 -8.381072608e-07 5.150783011e-08 -0.0001681847424 8.230956785e-05 -0.0002713020184 0.01255511636 -0.01219260626 0.0001360333617 -0.0001203520424 -0.000229384243 -0.007417811061 0.007639673203 1.173261315e-05 -2.039259534e-05 -0.0009749668492 0.000987230323 -4.029897459e-06 1.562514557e-06 -1.987798866e-06 -7.57483437e-06 6.750986436e-06 -1.485732059e-06 2.589342358e-06 -2.494780942e-06 4.740289459e-06 -4.805501304e-06 -2.326416319e-07 1.150193313e-07 -4.274826219e-07 2.338095522e-07 4.585895846e-05 -4.575480516e-05 8.925215854e-08 -1.003664899e-07 2.879721828e-06 -2.944545621e-06 -7.106788855e-08 -2.991813734e-08 2.655267039e-08 -1.620029576e-06 1.602604962e-06 1.625480608e-08 4.808027709e-08 -7.953786999e-08 -2.016472318e-08 2.349447333e-06 -2.294023925e-06 3.639793068e-08 -5.391611208e-08 1.247261594e-06 -1.543893909e-06 2.991097888e-07 7.485523652e-08 -8.627279653e-08 -8.360758411e-08 1.745334984e-06 -1.649635449e-06 2.376476498e-08 -3.423593286e-08 -5.997368817e-08 2.397140654e-06 -2.326365603e-06 1.752178088e-08 -2.617946227e-08 6.007082872e-07 -8.773441969e-07 2.832377802e-07 --0.01352519994 -0.05974268203 -0.0186248165 -0.0006563369189 -0.0009625938385 -0.0004385995762 -5.70052893e-05 -5.382473648e-05 -1.324202372e-05 -8.921781318e-06 -7.289860237e-06 -1.29165639e-09 -2.335610896e-06 0.07964152311 -0.01885925806 -0.01660171479 -0.00574680729 0.01753896191 -0.006433287207 0.0001323736417 0.001892867491 -0.02350870664 -1.443489128e-05 0.0001648623185 -0.009595341586 1.597790393e-05 -1.192825352e-06 -8.4784262e-06 0.0001269066384 -9.59392747e-06 -0.0003694992749 2.064744865e-05 -8.357315908e-06 -0.0005429958753 -2.088247228e-07 4.215251673e-06 -7.727674004e-07 -2.493457888e-07 1.173966667e-05 -1.171677194e-06 4.453056072e-06 -1.970602132e-06 -5.971039334e-05 3.696408652e-06 -1.658856444e-06 -2.016300646e-06 3.623890605e-06 -1.415610787e-06 -1.425715288e-07 3.337681021e-06 -8.097144683e-07 -1.129174028e-05 0.0009694510183 0.0002090828572 -0.04187710285 0.06623306327 -0.01113037713 0.0001753303412 1.975043901e-05 0.001023959997 -0.005677020786 0.03280187875 1.014757303e-05 2.858238319e-06 -0.001121499074 0.00544185579 -0.001519178992 9.953943647e-05 -6.37949522e-05 -5.753390549e-06 7.376220367e-05 -0.009167831424 -2.096741185e-09 1.537416432e-06 1.056785471e-05 -6.562793058e-07 -0.001474782205 -6.926784448e-08 -1.68962159e-07 -3.684626392e-05 0.0001787283839 -3.316986788e-05 3.419968586e-09 2.920283036e-09 1.198259697e-09 1.07021718e-07 -0.0004014984998 -3.919720643e-09 1.780215337e-07 -2.829443206e-06 -4.636552644e-06 -5.078924751e-05 1.360029455e-07 2.251346748e-07 -2.529208029e-05 2.228144187e-05 -1.600307421e-06 5.058172697e-08 7.688309506e-08 5.91715891e-08 -1.406357979e-06 -3.635867133e-05 8.068265875e-08 4.722862395e-09 -4.315656143e-08 4.64638533e-06 -1.348888313e-06 8.064872769e-08 4.147015989e-08 -7.320309189e-06 5.307412913e-06 -1.220219097e-06 4.382250185e-08 5.081609573e-08 -1.735347468e-06 -2.076313977e-06 -1.456925542e-06 -0.01309911957 0.06006647671 0.0208755899 0.001163355334 0.0007419435138 0.000489124377 0.0001024010188 3.343498113e-05 1.488717269e-05 1.449928055e-05 4.475957186e-06 2.227794994e-10 2.991700454e-06 -0.07557642442 0.01356035245 0.01824552492 0.003900278694 -0.0161138865 0.002439383027 1.966598765e-05 -0.002553906128 0.02279445148 4.171185693e-06 -9.677006834e-05 0.01094239018 -6.783675815e-06 1.201878312e-06 0.0001192257606 -6.737873586e-05 0.0001508512072 5.013445927e-05 -1.536656783e-05 5.361588211e-06 0.0005978317065 1.283163799e-07 -2.897132602e-06 2.673030212e-06 -1.460921585e-07 -1.36478969e-05 1.005398427e-06 -3.017079093e-06 9.967940218e-07 6.248326716e-05 -2.807318189e-06 3.48060435e-07 -5.821768305e-07 -3.708402406e-06 1.063509506e-06 2.244983844e-06 -2.635965272e-06 4.187892368e-07 1.100613933e-05 -0.0007467129285 -0.0005418473638 0.04180992313 -0.05982114426 0.006583810282 -0.0001158654384 -9.556308628e-05 -0.0009542375802 0.002977049085 -0.03041769331 -5.654032211e-06 -6.689210586e-06 0.005934549094 9.032653994e-05 -0.01111019478 -0.0001626751033 -6.414589176e-05 1.128652096e-05 -2.021835905e-05 0.008941963301 -8.949451677e-08 2.084811184e-08 -1.701180148e-06 -1.928771903e-08 0.001933936335 6.761486965e-08 -1.722568778e-08 0.000108545912 -0.0001556699885 1.545141236e-05 -9.263923829e-09 -1.867672853e-08 -3.541938491e-08 2.849105989e-07 0.0003159593756 -5.083249431e-08 -2.074885836e-07 2.251418178e-06 3.947773829e-06 7.243743543e-05 -9.586459335e-08 -2.927692743e-07 1.094552809e-05 6.478044079e-06 8.166366305e-06 -3.086839749e-08 -8.45854603e-08 8.10547263e-07 5.958682345e-07 2.470354085e-05 -6.380616906e-08 -3.003964015e-08 3.435097659e-07 -4.794900918e-06 1.185395373e-06 -5.724190981e-08 -7.269719927e-08 -4.649551328e-06 9.1820277e-07 1.015825372e-05 -3.1593409e-08 -6.565910384e-08 3.818946577e-06 -1.481234318e-07 4.569634255e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.2639982369 0.001205578172 0.002078167571 0.002918528218 0.002852961161 0.1790322028 0.0006921645132 0.0005555021375 0.07151661371 3.358539776e-05 2.724439595e-05 0.006072041596 -5.712882517e-08 7.655188296e-08 -0.001246418362 -0.002807959707 -0.0001197851296 -8.370173022e-05 -0.0004808155083 -4.436690024e-06 -4.409031681e-06 -0.0002908126152 -2.773659214e-07 -4.541590061e-09 0.0002557185401 8.328157801e-05 2.781907866e-06 -3.421920224e-07 -3.123057387e-07 -4.050715352e-05 5.947876637e-08 -4.291593688e-09 0.0001101602462 -9.832078092e-08 -9.757251627e-07 -3.367656915e-05 2.208053591e-05 4.93161866e-07 4.012259278e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.136759867 0.2495384266 0.1183741171 0.02744512307 -0.0004259485133 -0.002520417748 -0.001910784133 -0.0002082137869 2.776890596e-05 0.0001246485062 2.302876194e-05 1.325936575e-05 -1.870597394e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.03127525951 0.005494326129 0.003983148203 3.969373339e-05 0.000549671634 -0.0001211296958 6.571698562e-06 3.382323651e-05 -1.114554386e-05 5.030615627e-06 9.422005601e-06 1.273905221e-06 2.944315341e-06 0.1323912725 0.0003909119965 0.02921426462 5.766675355e-05 0.006250515562 -0.003403840587 -1.485951533e-05 -0.001867105443 0.00443680683 3.240729491e-06 0.0003656039655 0.001366664274 -0.0001145380224 -5.139013819e-10 0.0001779611418 5.83804182e-05 3.374046054e-07 -0.0001034449396 2.169933899e-05 5.869952752e-07 4.601998696e-05 1.659674218e-08 1.742906117e-05 2.963978566e-05 -1.210641975e-05 2.867779831e-05 4.53217723e-10 2.324712673e-05 1.222697536e-07 2.227096826e-05 1.403402863e-05 1.745926967e-07 8.72764537e-06 1.787836085e-05 1.034030048e-07 -1.329429507e-06 1.289057784e-05 4.836804013e-08 8.859290971e-06 -5.290414375e-06 -0.003276907408 0.03531854714 0.1385178612 0.000625854789 -5.592906919e-05 -0.0004535323248 -0.001858137465 0.0002583059723 0.03363716185 -6.410845458e-07 -6.697727842e-05 -5.565339435e-06 -0.002679378237 0.0007633423194 -2.08755938e-07 -1.104230886e-05 -4.095444652e-06 -0.0002674828357 0.00149216675 -2.80010304e-07 -2.453633862e-05 -0.0001188698184 -6.13148686e-07 -0.0001884128713 -2.161080613e-09 -1.121032814e-07 -5.91105154e-07 1.177803822e-05 1.478074919e-07 -2.474382572e-08 -2.722592647e-07 8.302464299e-07 1.276481795e-05 3.973266777e-05 -2.462481775e-09 -2.908972312e-07 4.183446625e-07 1.195534794e-05 -7.642393501e-06 -1.608752281e-09 -1.003469931e-06 4.301846484e-06 3.719373081e-05 9.406691721e-08 -2.154040956e-09 -3.072733325e-07 1.707648103e-05 1.486404674e-07 1.033953599e-05 -1.39406273e-08 -2.712912285e-07 2.967047924e-06 1.088193374e-05 2.630195707e-07 -1.271864742e-09 -3.37626031e-07 3.328483927e-06 1.440450968e-05 3.877550917e-07 -8.11888206e-10 -2.401580976e-07 1.385889647e-05 1.006455308e-07 2.063472015e-06 --0.03400284354 0.003588263554 0.005230293025 0.000182094621 0.0005264273819 -0.0001281985288 1.519275872e-05 3.149132847e-05 -1.815450395e-05 1.056959613e-05 7.491037766e-06 1.050273473e-07 4.306753964e-06 0.132840086 0.006926056395 0.03524201336 0.0002507050947 0.008181088315 -0.00284892788 -2.094253217e-06 -0.002257155031 0.004441134928 6.998848729e-06 0.0003078763911 0.002049530513 -0.000130699398 -3.80839705e-07 -3.842171015e-05 4.7122312e-05 -6.897808692e-06 -5.365659599e-05 1.668910718e-05 2.884928638e-06 6.378519466e-05 2.693632591e-08 1.706600503e-05 6.68013998e-06 -1.024252082e-06 2.63935855e-05 1.049424309e-07 1.911983491e-05 5.064177389e-07 2.571949386e-05 1.43601749e-05 9.196728095e-07 2.709340716e-06 1.740628975e-05 8.763258401e-07 2.487225682e-07 1.225815726e-05 2.323093089e-07 9.604008143e-06 -0.0005930404856 -0.002801021284 0.03833418148 0.1296496341 0.003644786517 -0.0001707246494 -0.0005033511969 -0.001289328504 0.0008894809433 0.03962388807 -1.703508023e-06 -3.201976751e-05 -1.520417585e-05 -0.001727873914 0.0001561498279 -8.088160454e-05 -0.0002180902584 -6.002401926e-06 -0.0005486307191 0.001710330277 -8.012579421e-11 -3.836641423e-06 -4.83903662e-05 -6.799163307e-07 -0.0002269653891 -1.069355387e-08 1.99534724e-07 -7.379845079e-06 -1.714174967e-05 -8.345208005e-07 -2.269152495e-09 -6.139230041e-09 2.069130911e-09 1.161515487e-06 4.724681869e-05 -2.367989516e-10 -5.426559099e-07 1.678245545e-06 2.904191299e-05 -3.21999824e-05 -3.854854129e-08 -7.680128386e-07 2.331052269e-05 1.955101669e-05 2.969642796e-07 -1.775454332e-08 -1.858657771e-07 1.141847439e-05 4.780481679e-07 7.23402688e-06 -4.645274426e-08 -2.879332569e-07 -2.960960409e-07 1.1452873e-05 1.433667374e-06 -4.330175797e-08 -2.963406998e-07 5.144210215e-06 1.295091149e-05 1.257958044e-06 -1.672307619e-08 -1.932152114e-07 1.234506887e-05 5.254742876e-07 3.448409215e-07 --0.0340004526 0.002506633008 0.005685728861 0.0002918431373 0.0004659891876 -0.0001214089154 1.890373931e-05 2.591681778e-05 -1.923921071e-05 1.28979605e-05 5.734561942e-06 -4.384293514e-08 4.856399028e-06 0.140867462 0.003382134303 0.03615613779 9.598550036e-05 0.008757312642 -0.00134165043 -2.712502243e-07 -0.00244415173 0.004205014175 1.480215854e-06 0.0002471061128 0.002336435703 -0.0001343463908 -3.203188961e-07 -0.0001497836076 1.652804876e-05 -1.385836343e-05 -1.221785959e-06 1.567672496e-05 2.166418749e-06 7.164012297e-05 8.289343774e-09 1.728607694e-05 -8.216813852e-06 1.103440666e-05 2.180816394e-05 5.973803405e-08 1.766628547e-05 1.665375321e-07 2.499122157e-05 1.650662571e-05 1.598670707e-07 -1.235307028e-06 1.664829557e-05 3.980604775e-07 3.009584196e-06 1.216044361e-05 7.402827233e-08 8.994126169e-06 -0.000329918727 -0.003099977832 0.03689993729 0.1309150533 0.00131759385 -6.905440623e-05 -0.0006911574803 -0.0008890498919 0.000262913761 0.04327930206 -4.274579904e-07 -2.147980606e-05 0.0003526914177 -1.004441191e-06 -0.001678921834 -8.715080331e-05 -0.0009140122529 -4.082124421e-06 -0.0001956855216 0.001717093459 -6.664372588e-08 -3.44462619e-07 -9.350238094e-06 4.499075194e-08 -0.0002232502124 -1.023844394e-08 1.797167617e-07 -3.995950516e-05 -2.777713618e-06 -3.171228582e-07 -5.679159491e-10 -2.996142761e-07 -1.085089183e-08 -7.138449978e-06 4.611090636e-05 -8.325668403e-09 -7.292919396e-07 9.262441997e-07 3.716673397e-05 -3.743019965e-05 -1.810569468e-08 -6.932089209e-07 4.049105138e-05 7.765710848e-07 1.257955945e-06 -7.490985371e-09 -1.545524887e-07 9.764302972e-06 1.504596755e-07 5.160664798e-06 -2.595383588e-08 -3.430853727e-07 -1.055836543e-06 1.286447838e-05 9.007454998e-07 -2.134094498e-08 -3.065790114e-07 1.298257094e-05 4.976495714e-07 6.070566886e-06 -8.568238382e-09 -1.876223487e-07 1.170498525e-05 -7.278459531e-09 1.401227171e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06701504964 -0.003874690572 -0.02278685981 -0.01858869909 -0.002794500811 -0.02951920367 -0.003379654366 -0.000562350416 -0.008384006229 0.0005876476358 0.0001189324008 0.002242336089 -2.940304204e-05 -2.799862824e-05 0.001368050109 0.0002448267557 4.892110771e-05 0.0002919912367 -0.0002151353279 -1.586762862e-05 -8.364148902e-05 1.07536025e-05 3.917264607e-07 -5.767910631e-07 -0.0002192291748 0.0001106203805 3.507963183e-06 1.210214902e-05 2.674159219e-06 3.315675889e-05 8.03627277e-07 6.965812698e-07 -2.111494426e-05 -1.253855147e-07 -6.214729747e-06 1.871062288e-05 -7.262504988e-06 -1.081885055e-06 -5.211609168e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08612784605 -0.01727817092 -0.01817615757 -0.0008688588751 -8.461838068e-05 0.0004196139332 -0.0001390389965 4.329587635e-05 8.231038957e-06 -5.881876905e-05 8.470644965e-06 -1.156771251e-05 -1.335112103e-05 0.0005183338761 0.005381743617 -0.1491502245 0.001038550739 5.810133275e-05 0.002421299683 -0.0001181749131 -5.763198288e-06 -0.01021409752 -2.759482894e-05 -1.172412474e-06 -0.005547436306 -7.941376698e-08 -1.95578012e-06 0.002183629464 -3.259696867e-05 -1.543272008e-05 -8.154132301e-05 -1.125506429e-07 -4.93191736e-08 -0.0001324711093 1.109736971e-05 3.863224782e-07 0.0001361326134 4.02122546e-07 4.265811735e-06 -0.0001432462402 1.355866302e-07 2.241654237e-06 -4.583834971e-05 1.466709477e-06 -4.19453188e-10 3.919429289e-07 5.91543232e-08 7.550257318e-07 -4.025960255e-05 1.49781364e-07 1.583109509e-06 -1.899904785e-05 -7.871423576e-05 1.883844543e-06 -0.06328602222 7.927992465e-05 0.00250609059 -4.469785044e-06 -5.343034011e-05 -0.01012810545 0.001715789773 6.102464131e-05 -2.358257563e-07 -2.938629601e-06 -0.0002333078873 -8.308655019e-05 3.003351323e-07 -3.594724243e-07 -3.609866033e-05 -3.523839211e-07 -4.832539283e-05 -0.002362778171 -5.578345464e-08 1.067236263e-06 1.485576595e-06 2.59560254e-05 0.0008311628424 -6.465323149e-11 7.032172027e-08 2.129822453e-08 7.560964533e-07 -2.251870125e-05 -7.536038899e-08 -3.350136122e-07 -1.380610088e-08 -4.018569522e-09 1.185514639e-06 -5.305954284e-08 -5.253342245e-08 4.799915481e-05 -2.030116626e-07 2.157873631e-08 -3.788581024e-09 3.065416458e-08 2.712565648e-07 4.102506544e-06 -6.855305864e-05 -1.301757837e-09 -1.037039755e-08 4.870378691e-06 5.681695629e-08 1.245359923e-06 -1.437204766e-08 6.078017972e-10 -6.306735824e-06 5.006399938e-07 5.800522789e-08 -6.708914341e-09 1.416730197e-09 -2.420103563e-08 4.583921091e-08 -1.292515642e-05 -2.679733066e-09 1.741873828e-09 -1.986169031e-06 -1.197078414e-08 1.1851827e-08 --0.04966106232 -0.07935131005 -0.02594066705 -0.001253827784 0.002766914392 0.0007275674401 9.031349227e-05 -0.0001626590049 -3.760151799e-05 -1.066086104e-05 2.561518336e-05 -1.460200126e-06 4.125218093e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.03063551487 0.01220852203 0.003489108876 -6.825221657e-05 0.000418235573 -0.0002234242124 3.867992337e-05 2.713566063e-05 -1.607789493e-05 1.379041609e-05 1.059226419e-05 1.149431049e-07 4.519109959e-06 -0.03617039289 -0.02722477476 0.03409966125 -3.691358349e-05 -7.988645134e-05 -3.274260491e-05 -9.055356571e-05 0.001358602469 0.004519316244 -1.770547611e-05 -4.893166523e-05 0.0007200358087 5.185016196e-05 5.456036219e-06 -4.49603956e-05 -2.302212e-06 1.49235851e-05 -0.0002517648625 -3.460929623e-06 -1.133174387e-05 8.873736891e-05 -5.35805415e-07 -9.060347338e-06 4.662881302e-06 -9.537774761e-07 -2.27201973e-05 -2.249026463e-06 -7.654996174e-06 -3.682970538e-06 3.855728578e-05 -2.012046063e-06 -2.188310662e-06 4.447235795e-06 -8.471382296e-07 -1.141818702e-06 3.989351203e-07 -4.030295234e-06 -1.497982339e-06 1.113630585e-05 -0.00101224782 0.003262808405 0.03014743352 -0.05548504088 -0.02285243403 -0.0001296665432 0.0003580427883 -0.0008096273394 -0.002228163948 -0.005815985048 -1.572712698e-05 7.549841257e-05 0.0004454541923 0.002797627921 0.0002127696543 -9.024900013e-05 0.0002278400861 2.102767854e-05 0.0001197032391 0.0008138376307 3.665891023e-09 2.755992601e-06 3.638361633e-05 8.987962705e-06 -0.0003278089969 1.302248766e-07 1.234938449e-06 2.448680128e-05 -5.727950489e-05 -3.604887063e-05 -3.596917825e-09 1.332214134e-08 1.146241082e-08 -5.412470295e-07 2.725021776e-05 6.952354454e-09 3.268891268e-07 -7.636796931e-06 -1.042590762e-05 -1.108061661e-05 -1.946825331e-07 8.885790729e-07 1.387230819e-05 -2.212443392e-05 -4.572742722e-06 -6.85350855e-08 3.019148887e-07 -6.245497171e-06 -4.203689726e-06 1.653950164e-05 -9.249323159e-08 3.119945224e-07 -2.591372487e-07 -2.478302867e-06 -5.405128278e-06 -9.478011228e-08 3.230820721e-07 4.088428919e-06 -2.696105411e-06 -4.717294046e-06 -5.807231447e-08 2.315010363e-07 -2.844176637e-06 -1.254855211e-06 2.51838535e-06 --0.0307634 0.0112326929 0.004039611958 -5.750398627e-05 0.0003888250908 -0.0002275784691 4.651121072e-05 2.117053504e-05 -1.755613853e-05 1.736908893e-05 7.990001571e-06 -4.669882724e-08 5.069599017e-06 -0.04579412365 -0.01837889877 0.03516432843 -0.0002307036926 -0.001143149604 -0.0001356449448 1.306141834e-05 0.00145893501 0.004520762276 -7.04756237e-06 -5.317129401e-05 0.0009310042016 5.336913034e-05 5.379084854e-06 -0.0001885286408 2.21146197e-05 -0.0001640221438 -5.447469076e-05 -3.462065238e-06 -7.897722141e-06 8.204755433e-05 -3.138231708e-07 -1.17602348e-05 -5.341616991e-06 1.004048619e-05 -2.71630121e-05 -1.934670093e-06 -8.422115934e-06 -1.987332641e-06 3.79479996e-05 -5.501120995e-07 -3.7095109e-07 -2.258327601e-06 -2.732893725e-06 -1.396671089e-06 3.971164742e-06 -4.445754526e-06 -7.85304913e-07 1.077059549e-05 -0.0009132949923 0.003187919665 0.02925055837 -0.06478326715 -0.01245110669 -0.0001291991416 0.0004143718195 -0.0005850448695 -0.001263340261 -0.008219144071 -9.269084185e-06 5.608760232e-05 0.001500722126 3.171734396e-05 0.001807146535 -0.0001913409957 0.0005443128462 2.432427553e-06 5.915636038e-05 0.0008696547892 -8.680194884e-08 2.235005601e-07 9.082436668e-06 -1.099361302e-06 -0.0003511084998 1.262685991e-07 4.94508748e-07 6.795432435e-06 -3.250306919e-05 -1.66873531e-05 -1.509118956e-08 8.184404169e-08 -2.209633189e-07 2.540974262e-06 2.188183718e-05 -7.853873095e-08 5.435508424e-07 -5.841382018e-06 -1.534531015e-05 -1.494134741e-05 -1.457269137e-07 8.300567857e-07 -1.316914515e-05 -3.379457407e-06 9.85322249e-06 -4.488956682e-08 2.354678994e-07 -6.082988186e-06 -2.070021993e-06 1.233465679e-05 -8.346798537e-08 3.103046926e-07 -9.300433426e-07 -3.782264972e-06 -3.878656338e-06 -7.636124107e-08 2.987705138e-07 -4.741979165e-06 -2.591685179e-06 4.994098476e-06 -4.515659241e-08 2.085251222e-07 -1.369931381e-06 -8.675439265e-08 -4.877865833e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09885116015 -0.01469359228 0.01334908305 0.01014743146 -0.01722793212 -0.05122044288 0.002330256561 -0.00328891966 -0.01555354832 -0.0002333143187 0.0003100700147 0.002047129609 5.960932162e-05 -5.341303114e-09 0.00136060412 0.0005911324553 0.0004001804665 -0.0001805857928 -0.0002050754627 -4.85159669e-05 3.060799659e-05 6.201610506e-06 3.181719469e-07 3.039668814e-07 -2.021209327e-05 -0.0001394741758 2.532151693e-05 -5.963160581e-06 8.243452507e-06 4.074362276e-05 -1.737598609e-06 -2.687967567e-08 -1.918225706e-05 -1.660957525e-06 4.277245825e-06 1.145508022e-05 -1.064575375e-05 -4.312136779e-06 2.400634614e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08838907609 -0.01027070674 -0.01941309251 -0.001527480845 -8.683700836e-05 0.0003391243206 -0.0001094510468 4.704255051e-05 8.295707932e-06 -5.318527538e-05 7.787348284e-06 -1.15350292e-05 -1.320713933e-05 0.00144360261 -0.004070891582 -0.14884796 -0.000293044602 0.0004031300171 0.004174202053 7.483683477e-05 -1.707073508e-05 -0.009723620114 1.893764721e-05 -9.150918596e-06 -0.006755070725 -3.047176643e-07 1.15484542e-06 0.00203952114 -3.08595253e-05 -4.996810637e-05 -8.10090146e-06 8.333315128e-08 -1.506817296e-07 -0.0001434275427 -4.759076863e-06 3.683661487e-06 0.0001605140786 1.51510652e-06 -2.876272035e-06 -0.0001306711696 6.360392922e-07 -1.506824034e-06 -3.868731106e-05 1.508484183e-06 -2.934341255e-09 -1.944982363e-07 2.16974262e-07 -5.144778756e-07 -3.959825884e-05 5.923739067e-07 -1.465296433e-06 -1.608484487e-05 9.092589781e-05 9.677052125e-07 -0.06707823167 0.000328785317 -0.001586076896 1.648709052e-05 1.558930408e-05 -0.01079104862 -0.001265696815 0.0004028727221 4.496100882e-07 4.486255049e-07 -0.0001555386781 3.531079332e-05 8.971683303e-07 2.947228922e-06 1.482940473e-05 -2.89862089e-06 3.015628425e-05 -0.002767374382 1.148148725e-07 -6.884111908e-08 5.926827829e-06 -1.22974064e-05 0.0007038767042 -4.588307061e-10 2.949420064e-08 -2.667527868e-07 7.549775347e-07 3.885615701e-05 2.53481978e-07 8.157881302e-08 3.674702156e-08 -1.62004584e-08 1.655805549e-06 -1.694025667e-09 9.861948141e-08 5.092853361e-05 1.026715369e-07 -9.017050809e-07 6.999559959e-09 6.917128046e-10 1.165130292e-06 -2.229553694e-06 -5.707078193e-05 2.814125567e-09 6.674733547e-10 5.432960652e-06 3.171641056e-07 -5.521755255e-07 9.527975724e-09 2.216497451e-09 -6.542914871e-06 -3.726401889e-07 1.546429409e-07 5.992010265e-09 1.710006158e-09 -5.380934076e-08 -3.452125584e-08 -1.393390212e-05 3.716854383e-09 3.700483889e-10 -2.128816503e-06 -6.010276045e-08 -6.20505438e-09 --0.02891784174 0.01111209012 0.002837968769 -2.615580689e-05 0.0004481526479 -0.0001706109328 1.317073142e-05 3.166714459e-05 -9.948208087e-06 5.934929894e-06 1.224794691e-05 1.390237046e-06 3.056174832e-06 -0.05606956723 -0.006373455698 0.02830894706 -1.571392805e-05 -7.662118905e-05 -5.84056999e-05 -0.0001475928793 0.001153465682 0.004288643307 -1.658496374e-05 -8.220316646e-05 0.0005828482087 5.82422533e-05 -1.815398136e-07 0.0001843930883 -3.30203184e-05 -4.897750864e-06 -0.000214350328 -1.158758709e-05 -5.40425476e-06 6.956919198e-05 -4.817970323e-07 -8.234739016e-06 2.372066736e-05 -1.126535793e-05 -2.103716617e-05 1.477261495e-07 -9.6300813e-06 -1.750945605e-06 2.970756067e-05 -4.765556036e-06 -1.478008051e-06 1.19905711e-05 -8.546334326e-07 -3.832435591e-07 -1.983058003e-06 -5.111090878e-06 -7.106304163e-07 9.566581595e-06 0.0001455000543 0.001974992033 0.02936901862 -0.07117409684 -0.009889801534 -8.598354192e-05 0.0002796328763 -0.001263911789 -0.001356406551 -0.006594602965 -9.546893151e-06 7.850009158e-05 0.0001952590369 0.00213538026 0.001073157487 -1.212601737e-06 4.147466584e-06 2.389637731e-05 7.653766514e-05 0.0008253084095 -2.039697802e-06 1.785257196e-05 7.902891101e-05 1.215268475e-05 -0.0002329132449 -9.195889708e-08 1.548406338e-06 -4.563531058e-06 -7.31869607e-05 -1.83329665e-05 -6.312501956e-08 2.492700682e-07 2.238456096e-06 -8.656135156e-06 3.064621966e-05 2.635451883e-08 1.713267972e-07 -4.264853699e-06 -1.170321112e-05 -1.411728967e-06 -3.960653358e-08 6.193460166e-07 4.198687106e-06 -2.508101778e-05 -2.446032652e-06 -2.957506548e-08 3.413024004e-07 -9.960571321e-06 -2.355441334e-06 1.800812002e-05 -5.496244062e-08 2.479740612e-07 2.343928959e-06 -5.81309728e-06 -2.364998367e-06 -1.939582224e-08 2.370513658e-07 2.940148279e-06 -5.549317336e-06 -2.599726516e-06 -1.435013463e-08 2.010886835e-07 -4.822260424e-06 -1.087712501e-06 4.179148938e-06 --0.05261084928 -0.08718091793 -0.03189246219 -0.003271798335 0.00258220504 0.0009527887785 0.0002652334823 -0.000139382935 -6.077006534e-05 -2.477160004e-05 2.215251188e-05 -1.207275671e-07 6.099884721e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.03138097593 0.009737407232 0.004445302128 -5.397053661e-06 0.0004127934271 -0.0002122817589 3.938820774e-05 2.119324035e-05 -1.814724976e-05 1.681694597e-05 7.494519198e-06 -4.538030799e-08 5.009917421e-06 -0.08339542255 0.0157952292 0.0354143949 0.0003607641199 -0.003534601667 -0.0003175500675 -1.229277167e-05 0.0015793165 0.00466706118 7.343879899e-06 -9.159699062e-05 0.00118662709 6.458402579e-05 -5.11847541e-06 -0.0001892950334 2.027156669e-05 -0.000214056279 1.743309988e-05 -1.421406486e-05 4.34576979e-06 7.192644613e-05 2.902356417e-07 -1.331276432e-05 -5.692769205e-06 1.043680633e-05 -3.228293331e-05 1.60917949e-06 -1.142374362e-05 1.75737865e-06 3.591869738e-05 -2.229995628e-06 6.513514561e-07 -1.681789751e-06 -5.562994129e-06 1.638146085e-06 3.517425793e-06 -6.021503804e-06 7.32132305e-07 1.067184555e-05 0.001254326129 0.0008672604501 0.03062117653 -0.09195230909 0.01068898309 0.0001946648117 0.0001283721053 -0.0006634724589 0.001387629249 -0.0132220105 9.497965622e-06 2.20038516e-05 0.001261268833 -2.967856145e-05 0.002067626456 0.000273305317 0.0001130695787 -2.951034516e-07 0.0001002431351 0.001074280307 1.503672309e-07 -3.954234035e-08 1.135272652e-05 8.98314891e-07 -0.0003599202423 -1.135761186e-07 1.909870306e-07 3.633531984e-06 -4.253016267e-05 7.436951833e-06 1.55609082e-08 4.192724731e-08 2.17591685e-07 2.255833038e-06 2.323196592e-05 8.539202727e-08 3.745926053e-07 4.771494373e-06 -2.760240468e-05 -1.904689952e-05 1.610413958e-07 4.691231026e-07 -1.635998052e-05 7.447604118e-06 2.21564034e-06 5.185435263e-08 1.24935657e-07 -8.130328208e-06 1.753188315e-06 1.051632534e-05 1.071955975e-07 8.803410949e-08 -9.716256404e-07 -1.032944124e-05 2.570308348e-06 9.616434447e-08 1.122452622e-07 -9.575342336e-06 1.972362347e-06 5.198793323e-06 5.307325397e-08 9.866132054e-08 -2.063722002e-06 -1.656209684e-07 2.840523665e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1225402961 0.01676993857 0.006178660267 0.006412186918 0.01774306724 -0.0841341992 0.001400715644 0.003926050494 -0.02358681005 -7.720843996e-05 -0.0002447236853 0.001787172442 -2.90195963e-05 2.550443362e-05 0.001361659093 0.001423593979 -0.0004001004838 -0.0001277832981 -0.0001978725109 3.529947564e-05 1.128006435e-05 1.328946661e-05 -9.442034594e-07 5.608954126e-08 -2.145429028e-05 -8.662775673e-05 -3.392350675e-05 -2.367822835e-06 -8.094692139e-06 4.781938168e-05 9.927266768e-07 -6.808787435e-07 -2.291151599e-05 1.911470995e-06 3.242319408e-06 9.158550399e-06 -1.637273782e-05 3.927299095e-06 1.155101873e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08936160816 -0.007119756722 -0.01983415022 -0.001829647774 -8.711851543e-05 0.0003026098438 -0.0001011040524 4.887694969e-05 8.250105678e-06 -5.065691626e-05 7.57001301e-06 -1.153676206e-05 -1.309321744e-05 -0.002017094473 -0.001502637073 -0.1488938574 -0.0001684162714 -0.0003215247208 0.005410081152 2.949549735e-05 2.08286252e-05 -0.009455697759 1.294513553e-05 1.090927721e-05 -0.007309402219 3.513538163e-07 5.556841162e-07 0.001965365024 -6.276102187e-05 -8.977273582e-07 -7.025563511e-06 3.330643938e-08 2.088473487e-07 -0.0001546561894 -3.678197239e-06 -3.591606363e-06 0.0001729739951 -1.901661785e-06 -1.362179395e-06 -0.0001242961834 -7.804862087e-07 -8.212361715e-07 -3.62659155e-05 1.537322727e-06 3.167688279e-09 -1.279327923e-07 -2.755785172e-07 -2.397886096e-07 -3.949077244e-05 -9.08446326e-07 -7.04463934e-07 -1.493965599e-05 -1.330830244e-05 -2.683915358e-06 -0.06895501067 -0.0003989733422 -0.0008001669779 -1.164677091e-05 4.31626521e-05 -0.01125285822 -0.0008054800709 -0.0005061948808 -2.147042088e-07 1.004724792e-06 -0.000118971256 1.40673738e-05 -8.127791423e-07 -2.580523024e-06 2.347935902e-05 3.338836803e-06 2.141261091e-05 -0.002994142182 -5.953624613e-08 -6.034732933e-07 -5.979525368e-06 -6.090684013e-06 0.0006450211111 5.196307577e-10 1.312758423e-07 4.585784895e-07 7.764270409e-07 6.126963381e-05 -1.768727615e-07 3.388137643e-07 -1.909160534e-08 2.201695083e-08 1.966692264e-06 5.433834727e-08 -4.026169825e-08 5.23859262e-05 1.094093728e-07 8.849777975e-07 -3.250569879e-09 -2.330558714e-08 -1.279964872e-06 -1.16395094e-06 -5.319868651e-05 -1.516947985e-09 7.221864179e-09 5.779117587e-06 -3.193253132e-07 -3.339051931e-07 4.621727347e-09 -2.729859515e-09 -6.695374094e-06 -1.308893075e-07 -2.153996264e-07 6.247083661e-10 -2.923283039e-09 7.563730755e-08 -9.7216571e-09 -1.458875684e-05 -1.121571162e-09 -1.905223311e-09 -2.209780389e-06 6.529245372e-08 -3.531222847e-09 --0.02936012807 0.01014553502 0.003088100949 -1.646981287e-05 0.0004722016757 -0.0001637436134 1.175762212e-05 3.119053911e-05 -1.019407602e-05 5.834450356e-06 1.173194778e-05 1.353255871e-06 3.014201041e-06 -0.06814621778 0.006058478878 0.02847906578 0.0001324529952 -0.001069638528 -0.000611655394 0.0001637255859 0.0008540811668 0.00439651349 1.726420503e-05 -0.0001392598435 0.000713943257 5.802356109e-05 1.809494915e-07 0.0001868576404 -4.40846785e-05 4.478957965e-06 -0.0001922779958 -1.854434131e-05 4.088691051e-06 6.156771401e-05 4.626017415e-07 -9.26627492e-06 2.424606382e-05 -1.143808428e-05 -2.090460598e-05 -1.492127383e-07 -1.212689693e-05 1.65735627e-06 2.850132917e-05 -6.884478367e-06 1.41202521e-06 1.104047921e-05 -1.928050402e-06 5.649948334e-07 -1.692897421e-06 -6.31964131e-06 6.789972125e-07 9.474099673e-06 -0.0001366261015 0.002110119831 0.03032682991 -0.08978716946 0.008891306716 0.000142113447 7.670783979e-05 -0.001376788269 0.001474178543 -0.01055452862 1.01331992e-05 4.42910413e-05 -0.0001746225715 0.002404560812 0.001044947457 1.408094436e-06 8.217838511e-07 -2.271349724e-05 0.0001269829625 0.0009436542154 2.303361585e-06 1.36985074e-05 9.773519398e-05 -1.067715885e-05 -0.0002299584553 1.010061363e-07 8.391305485e-07 -4.001854316e-06 -8.672121534e-05 1.244584272e-05 8.654662508e-08 8.076676732e-08 -2.81053937e-06 -3.070486969e-06 2.935949594e-05 -2.383724497e-08 2.152317753e-07 3.123854182e-06 -2.00075792e-05 -1.651648019e-06 4.104452975e-08 4.84789798e-07 4.25584733e-06 -2.924561124e-05 2.219129776e-06 3.147764412e-08 2.518807136e-07 -1.264905601e-05 2.080537207e-06 1.631149402e-05 7.058819241e-08 1.030533093e-07 2.487362198e-06 -9.69731423e-06 1.715366926e-06 2.046653298e-08 1.793333644e-07 3.054740088e-06 -1.00716326e-05 2.018550189e-06 1.504073154e-08 1.572604239e-07 -6.088945476e-06 1.141290587e-06 3.410793067e-06 --0.03172848723 0.009662772134 0.004177919165 -4.033630265e-06 0.0004678439497 -0.0002000180799 2.924177861e-05 2.675592099e-05 -1.7029975e-05 1.312598234e-05 9.516835053e-06 1.087265111e-07 4.404573755e-06 -0.08807081678 0.02173280443 0.03455079492 0.0004996725285 -0.003242133903 -0.0008018364939 9.004462476e-05 0.001275744333 0.004779473579 1.973251302e-05 -0.0001339713065 0.001122804068 6.509521175e-05 -5.085005401e-06 -4.580799805e-05 -1.857673989e-05 -3.959942946e-05 -0.0001384970364 -1.629486708e-05 5.361462154e-06 6.889489156e-05 4.865604015e-07 -1.104926509e-05 5.063056504e-06 -1.004718524e-06 -2.832043735e-05 1.87740094e-06 -1.276910727e-05 3.069565971e-06 3.509081604e-05 -6.009341796e-06 2.720610041e-06 3.367981239e-06 -4.287957568e-06 2.309264012e-06 2.905953886e-07 -6.736090549e-06 1.330968788e-06 1.093804868e-05 0.001623966521 0.0003263288579 0.03254278676 -0.0998520942 0.01760057132 0.0002936229563 -2.564348334e-06 -0.0009998248426 0.002696732754 -0.01414699961 1.699780855e-05 1.427945707e-05 -0.0003228008635 0.003390285743 0.0002070925087 0.0001667022073 -0.0001053458135 -1.932631906e-05 0.0003055303364 0.001144932377 -3.512460535e-09 2.685364443e-06 5.466865877e-05 -6.494573692e-06 -0.0003312112569 -1.160362894e-07 2.688230735e-07 1.808519508e-05 -7.25401721e-05 1.314834917e-05 5.727859987e-09 4.317934037e-09 -1.16457102e-08 -3.328938025e-07 2.7593892e-05 -6.56629962e-09 3.235802003e-07 5.593333886e-06 -2.561576704e-05 -1.600024597e-05 2.27807368e-07 3.580949244e-07 1.507950006e-05 -3.091083031e-05 3.358785336e-06 8.472579281e-08 1.120900725e-07 -1.021991077e-05 3.145599954e-06 1.300534347e-05 1.351304159e-07 3.444519443e-08 -2.77588374e-07 -1.04617815e-05 2.88424341e-06 1.350790239e-07 6.11425317e-08 4.88372699e-06 -1.085044019e-05 2.718296718e-06 7.340306354e-08 7.516034263e-08 -4.811113343e-06 2.911175237e-06 4.990150026e-07 --0.05203462059 -0.08785430195 -0.03393355028 -0.004377711892 0.002278360698 0.001011206976 0.0003572652554 -0.0001104045733 -6.475696843e-05 -3.173725581e-05 1.744513009e-05 5.038931283e-08 6.938223863e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00244083346 0.002848844396 0.0003457357654 -4.351245903e-05 -3.412171541e-07 -1.172261895e-06 -2.395828425e-06 9.408634828e-07 -1.031390748e-08 -6.134185158e-07 9.113159266e-08 -7.745660201e-08 -1.16496011e-07 0.000887378457 0.004282433347 -0.008422582153 -0.02298852507 -0.0005391428887 0.02397500601 -3.16364662e-05 -6.853069144e-06 0.0005332889706 -1.891443669e-07 -9.98173452e-09 1.269057415e-05 -2.714642774e-10 -5.695305967e-09 1.248146012e-05 -5.180005491e-05 -2.303794188e-05 7.807455026e-05 -2.058450697e-08 -5.917823654e-09 -8.283792732e-06 -7.913027227e-07 -1.846949707e-08 1.43811017e-06 -1.679464545e-08 -1.367956104e-07 3.796325129e-07 7.058864632e-08 8.968268991e-07 -1.624190348e-06 1.907606242e-07 -4.425609334e-09 -1.785345508e-07 1.088151799e-08 8.821460009e-08 -3.555814276e-07 8.795888643e-08 6.350605342e-07 -8.467456728e-07 -6.961307146e-07 -2.57365483e-05 -0.001364904069 3.558426101e-05 -0.0003006910919 1.79678357e-06 3.649381663e-05 -0.003965081387 0.003056981052 0.0002081473282 1.171666402e-08 -4.087530787e-06 -0.0002571167241 0.0002686262669 2.472740206e-05 -3.65882049e-09 3.559515318e-07 2.175968027e-08 3.868842415e-07 -7.376855229e-06 -2.253060629e-10 -4.751737193e-08 7.072169659e-08 8.751514074e-07 -1.005820775e-05 -7.305231862e-12 -1.261877449e-10 -3.187911732e-08 -7.876347196e-07 6.912983322e-06 1.069832777e-08 1.437681555e-06 -1.344812828e-07 4.490822006e-08 -1.20226087e-06 5.437516977e-09 1.361545404e-08 -4.154213437e-07 -7.815715843e-07 5.942276772e-09 -2.91183907e-11 -3.462904095e-09 1.091783649e-08 1.4614323e-07 -9.842603599e-07 5.433682597e-11 -4.416719418e-09 5.689234753e-07 -1.920028607e-08 -3.886740763e-07 -6.067061903e-13 6.158308711e-13 3.227751062e-10 -1.236688995e-10 -3.544760441e-11 4.013433423e-11 -4.413370941e-10 -3.223545793e-09 -1.464828919e-08 -1.391088637e-07 -6.741428695e-10 -3.860231087e-09 6.801572978e-08 -4.840889836e-09 -8.01860098e-08 --0.1294773005 -0.0941058951 0.001418853687 0.0005072630364 0.0003898060783 -0.0002042401565 -6.977209769e-06 0.0001016075576 -1.973446046e-05 3.629213456e-06 1.857126119e-05 2.2649049e-06 4.245712546e-06 -0.001792844529 -1.904363329e-05 0.1242879785 1.768081802e-05 0.001201252171 -0.07357135223 -2.098876532e-09 -1.242229337e-06 -0.01633181958 1.175936002e-07 3.058936759e-06 0.00169506136 7.537665457e-07 1.184156261e-10 0.0002486624473 6.499429446e-07 5.16921696e-08 4.391291338e-05 1.7533015e-09 3.714772198e-11 -1.634071937e-06 5.124270403e-10 2.755863533e-07 9.742422583e-05 -8.392491683e-06 1.592678527e-07 -2.796099299e-11 -9.60458938e-08 3.567255086e-09 2.184852474e-05 -2.048834398e-07 1.775446096e-08 2.480380235e-05 -3.811053942e-07 8.31233061e-08 5.659316227e-06 -9.628881707e-08 -2.561175954e-11 1.283243734e-05 3.039757005e-07 6.891808607e-05 0.1050762486 0.001771273443 2.798145638e-05 1.776495179e-07 -7.217269677e-06 0.007621835946 -5.393189728e-05 -0.002351564351 9.107856081e-10 -1.306856131e-06 5.64623243e-08 3.316447052e-05 -0.0094705678 -1.699560964e-11 -5.137519868e-09 1.060558357e-08 2.677879209e-08 0.0006740924741 2.11411677e-10 -5.056389384e-08 -6.348871894e-08 -2.468302917e-10 -0.0005722431331 1.193394914e-09 5.34975315e-07 9.745475243e-05 -5.466357309e-06 -1.230628467e-07 -1.183288764e-11 7.702507074e-10 5.358616387e-09 2.069833073e-08 0.0002243786055 6.428741376e-13 2.413944559e-09 -4.757663664e-07 -1.007167227e-05 -3.700651655e-05 5.116276052e-12 -1.689290982e-08 -1.633527496e-06 -1.671547187e-07 -9.349336293e-10 -2.173351912e-12 7.371753051e-09 -5.391825365e-09 1.741843062e-08 3.100742579e-05 1.861116219e-10 7.934051539e-09 3.749967927e-06 2.631894889e-07 2.612217138e-08 -3.933817243e-12 3.561444933e-09 4.002161109e-06 8.666519371e-09 4.744894451e-09 -1.480023586e-12 3.974547338e-09 7.710641274e-08 6.046426221e-08 8.007908072e-06 -0.06146418715 0.05124151379 0.0007841563878 -0.0005564076588 -0.0001562781042 8.233155341e-05 7.651197758e-06 -4.528521008e-05 9.881917486e-06 -3.66543922e-06 -7.598017887e-06 -7.23350463e-08 -2.639450293e-06 -0.0001227407935 0.005449039559 -0.06968794228 -0.004199488751 0.0006719306414 0.03379928863 -1.853752336e-06 1.771727993e-06 0.009505917338 -1.457573498e-06 -4.006665721e-07 -0.0006917410924 -6.921163334e-07 -1.194994022e-06 3.658866422e-05 -5.56490794e-06 -2.598424955e-05 -3.580898336e-05 -1.928520864e-08 2.261560443e-07 -5.295246552e-05 -2.234853706e-07 -3.309695758e-07 -5.132552797e-06 -6.250436814e-08 3.378774114e-09 4.201142691e-09 -2.900188108e-08 3.714882727e-07 -1.733107303e-05 -9.272767505e-08 1.82574692e-06 -7.813028113e-06 -4.453218511e-08 1.571667549e-06 -4.29570813e-06 8.035186803e-09 1.990285914e-07 -6.492702314e-06 2.49321864e-05 -0.0001187996528 -0.04818373264 -0.0002892093747 -0.0004708414066 3.390949469e-07 2.382417037e-05 -0.01169762047 0.004820453922 0.0003431439807 -1.461255006e-07 3.284261411e-06 -0.0002009696374 -2.627446771e-05 0.004226813423 -1.651200997e-10 5.239518692e-07 1.234766731e-07 -5.129813762e-08 -0.0002910951726 -1.513957172e-09 8.114573847e-09 1.184786162e-07 2.504959311e-07 0.0002923351967 -4.861624608e-09 -2.740305863e-09 2.161425418e-05 -4.835413898e-07 1.786527447e-05 2.442801306e-12 -7.021088306e-10 9.335308239e-09 -3.361851987e-08 -0.0001527157099 -4.369386445e-10 3.959071274e-10 -8.475811383e-07 1.242534371e-06 2.641146e-05 -5.173681294e-10 1.566555659e-08 4.803908701e-06 7.535469695e-07 4.407615617e-07 2.759677555e-10 -1.298454735e-08 -1.60715226e-07 5.107128454e-07 -1.713686569e-05 -2.536346553e-10 -1.379536569e-08 5.945987305e-07 1.039981866e-08 -1.585282843e-07 1.269864427e-10 -3.794166838e-09 -2.324988428e-06 -1.739119435e-09 -1.455044114e-07 2.056395642e-10 -5.741915623e-09 -2.704598173e-07 6.026596158e-07 -3.522715641e-06 -0.06076388899 0.05422902815 0.001783539448 -0.000707764579 -0.0001346621785 6.496255341e-05 6.567803543e-06 -3.752104426e-05 7.842008698e-06 -5.155438212e-06 -6.014849545e-06 2.745770586e-08 -2.936875781e-06 0.0003484675028 0.004396767513 -0.07161837605 -0.003457168631 4.802087079e-05 0.03068509085 -2.96228856e-06 8.002274185e-07 0.01023074567 -4.352130375e-07 -4.309946886e-07 -0.0005746197884 -2.386743004e-07 -1.153574182e-06 0.0001153101068 -4.826529666e-05 -3.78949707e-05 1.326444018e-05 -1.453182125e-08 1.634126779e-07 -9.023017179e-05 -2.545609945e-07 -3.662288028e-07 1.46861255e-05 -1.077310146e-07 1.086268139e-07 8.957552842e-08 -4.47507e-11 2.606611822e-07 -2.077822792e-05 1.28962976e-07 2.058816462e-06 -5.412886591e-06 1.083555834e-08 6.430139815e-07 -3.799272509e-06 2.945065796e-08 1.313121944e-07 -6.243092058e-06 2.130454396e-05 -0.0001113111245 -0.04718830258 -0.000542209661 0.0004247297028 1.0040258e-07 1.691567438e-05 -0.01216574726 0.002771174861 0.0008797204113 -1.948484995e-07 2.540825332e-06 0.002484933386 0.0007243322843 0.000357845154 3.48148508e-09 5.57815652e-07 3.358738913e-08 -1.985609087e-08 -0.0002686322669 2.320311781e-11 -1.743486349e-09 1.411977542e-07 5.305997306e-08 0.000257017703 -3.57048332e-09 9.593916507e-08 2.666333646e-05 3.146260401e-05 3.226150128e-05 4.656572876e-10 2.65888351e-09 -1.218435057e-08 -1.340869083e-08 -0.0001577953404 -2.522054235e-10 9.849554362e-10 -3.906208819e-07 4.577426556e-07 1.829022112e-05 -3.829466353e-10 1.05055562e-08 5.92554684e-07 -1.645304293e-06 8.972883084e-06 3.884264813e-10 -1.304132891e-08 -1.81708005e-07 3.760488493e-07 -1.536574168e-05 -2.298410736e-10 -9.822403326e-09 7.422334976e-07 -3.423962401e-10 -2.725284513e-08 1.152898918e-10 -2.866864991e-09 -1.082138731e-09 1.329542869e-08 -2.838559331e-06 2.49605719e-10 -5.585419792e-09 -5.464899697e-07 -1.435393293e-06 -6.637676224e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0315207961 0.004240406438 0.02728038966 0.03459095925 0.003861347286 -0.03845230653 0.01622526287 0.002308891127 -0.018534154 0.005048355827 0.0009284089503 -0.005976764777 -0.0003128281511 -0.000295584708 0.0006084128591 -0.002844672499 0.0002381998155 0.002606472683 -0.0009961451231 0.0001371806506 0.0008589644726 2.339432406e-05 4.529213494e-05 -6.868645901e-05 0.001182970125 -0.001146545705 -3.64244205e-05 6.503981763e-05 1.275338299e-05 -7.779320061e-05 -8.93281453e-06 -7.611281888e-06 1.654409642e-05 -5.028909249e-07 -2.088867461e-05 2.139156553e-05 -1.956140589e-05 2.66178101e-06 1.689962488e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0007402541637 0.003964488442 0.002078259909 0.0003740714778 2.121515907e-07 2.485938894e-05 2.396360555e-05 9.728639677e-07 2.239561251e-08 1.82973444e-06 6.380943168e-08 1.261972962e-07 1.779050754e-07 -0.0007938852837 -0.007934778651 0.006014044498 -0.006450604224 -9.886780893e-05 0.004665976502 -0.0004730921291 -2.276497733e-05 0.001154267179 -1.956373912e-05 -8.065419233e-07 0.001040799676 -3.444300088e-09 -8.543142985e-08 0.0001534980338 -0.0001066825077 -4.778366244e-05 0.000153805085 4.063020947e-08 1.765575734e-08 2.556304607e-05 -9.970492855e-06 -2.116761087e-07 1.675224661e-05 -4.33485722e-07 -4.269326417e-06 9.582592954e-06 -1.220915087e-07 -1.777348471e-06 2.782750861e-06 5.397392062e-08 4.628601065e-10 -4.603269005e-07 -6.199539334e-08 -7.703427098e-07 1.897854266e-06 -1.941729558e-07 -1.581766279e-06 1.820539169e-06 -8.07914549e-05 1.8878034e-06 0.002176303292 -7.654235348e-05 -0.002404965712 -4.727673336e-06 -5.68701509e-05 0.003558464615 -0.00504285022 -0.0001868946256 -2.427792109e-07 -2.524758316e-06 -7.852316311e-05 -0.0008515297714 3.087286908e-06 -3.722512978e-07 -3.794770267e-05 -8.726517884e-07 -0.0001218176274 0.0004292079522 -5.733058726e-08 9.724617762e-07 -1.7839668e-06 -3.138314428e-05 0.0002525065019 -6.554206648e-11 -1.664737633e-09 -4.073888462e-07 -1.418169664e-05 9.137796676e-05 -7.806035097e-08 -3.740498614e-07 -1.31233616e-07 -7.932357346e-09 -5.976197836e-08 -5.45860012e-08 -5.607638683e-08 9.779826375e-07 2.081854622e-07 -1.898637629e-08 -3.892138982e-09 2.899878862e-08 -1.212891628e-07 -1.796632759e-06 1.090121163e-05 -1.3402057e-09 -9.899757525e-09 6.757436405e-07 -2.250597987e-08 -5.437513302e-07 -1.474612078e-08 5.963707275e-10 3.871798175e-07 -4.542500757e-07 -5.334868956e-08 -6.886908478e-09 1.394573464e-09 1.217070122e-08 -2.309718172e-08 7.5239382e-07 -2.73465845e-09 1.728232886e-09 -9.346304837e-08 6.770072601e-09 -6.9126687e-09 -0.0152993279 0.06283437736 0.01564319489 0.0001223705272 0.001403137869 0.0003246898587 8.390947515e-06 9.306067471e-05 6.436251167e-06 2.09785416e-06 1.237415229e-05 2.398866806e-07 1.356120678e-06 -0.06199734367 -0.0001515275133 0.01434628393 -7.76733334e-05 -0.01149101795 0.01471407646 -1.008824733e-05 -0.001337295139 0.02563581258 -3.856177873e-06 -0.0002697000452 0.007531351638 -1.774021306e-05 1.49487063e-10 0.00013020779 -7.52909321e-05 -8.284969072e-07 0.0005325856116 -1.80775932e-05 -1.188897494e-07 0.0004088709851 -5.882686667e-09 -4.93728582e-06 3.614639791e-05 6.69898349e-06 -9.040678475e-06 1.908882353e-10 -4.028447416e-06 4.320179825e-08 4.551633806e-05 -2.509226019e-06 5.608569603e-08 1.286274381e-05 -2.554911395e-06 4.125209648e-08 -8.130488538e-07 -3.322764597e-06 -2.379763333e-10 1.03496882e-05 -2.855908934e-06 -0.001345338162 0.0425340455 -0.05971674311 -0.0003416037149 -1.820032505e-05 -0.0001339193822 -0.0009698322353 -0.0001634523507 -0.02758900786 -1.922914196e-07 -3.562780755e-05 -1.427141618e-05 -0.006090384306 0.007649470684 -6.356028856e-08 -1.49049653e-06 6.024128154e-07 3.42354896e-06 0.009675857126 -8.585770268e-08 -9.47504172e-06 -2.0355702e-05 -1.078802009e-07 0.0007494486409 -3.007946286e-09 -7.78344993e-07 9.892033429e-06 -9.82525256e-05 -1.097787387e-06 -7.592303806e-09 -1.092227846e-07 -3.131568768e-07 -3.95407793e-06 0.0005246192071 -8.074874349e-10 -9.506946092e-08 4.474767027e-07 1.007992483e-05 5.618223768e-06 -4.762214633e-10 -3.866207221e-07 1.128797862e-06 -1.41523608e-05 -4.091105329e-08 -6.230212902e-10 -2.092505221e-07 -1.068208483e-07 1.087353463e-07 5.34350644e-05 -5.088127728e-09 -1.12274517e-07 1.448129257e-06 -3.590583594e-06 -1.267657252e-07 -3.510018377e-10 -1.414361441e-07 3.486164591e-06 -4.358191551e-06 -1.547001035e-07 -2.270086051e-10 -1.24819631e-07 8.372072269e-07 1.29039871e-07 6.434046835e-06 --0.007549205771 -0.03334588782 -0.01039560028 -0.0003663400525 -0.0005372799658 -0.0002448080965 -3.181798871e-05 -3.004273601e-05 -7.391148546e-06 -4.979768381e-06 -4.068897703e-06 -7.209490369e-10 -1.303641154e-06 -0.004053781362 0.03876764188 -0.01005410935 0.01073759717 -0.003799435918 -0.003947063679 -0.0002292116877 0.001362452447 -0.01312442037 3.830352377e-05 3.669253126e-05 -0.005346755496 6.275237631e-06 2.147888414e-06 -4.9030142e-06 5.24998666e-05 -6.530943196e-05 -0.0001279505175 -8.46067156e-06 1.67217449e-05 -0.0003044790126 3.875980111e-07 1.832697948e-06 -4.154012857e-07 -1.459601815e-07 3.729323522e-06 2.176075696e-06 -8.713455708e-07 3.03318581e-06 -3.4104103e-05 -6.989320519e-07 2.277721121e-06 -1.566927328e-06 -4.437076851e-07 1.747884035e-06 -1.51183639e-07 2.175141284e-07 1.396549434e-06 -6.505638659e-06 -0.001242175178 0.002206055656 -0.02357593604 0.007763576465 0.02288826002 -0.0001867650457 0.000267009936 0.0009985117064 0.0108098524 0.003931779969 -1.66283789e-05 4.516454435e-05 0.002072476007 0.0003257949506 -0.0008560465665 -0.0001177985004 0.0001965241854 8.460924399e-06 -1.831216473e-05 -0.005128067004 3.730600473e-09 1.049319133e-06 3.101887819e-06 1.677465822e-06 -0.0008226054948 1.296878248e-07 6.174124601e-07 -1.408201969e-05 -4.137165745e-06 7.801778632e-05 -4.398586163e-09 8.184576202e-09 -1.002094386e-09 7.378673534e-08 -0.0002241124419 7.04421802e-09 1.166905855e-07 2.987925778e-06 -6.588158849e-06 -2.894198655e-05 -2.114704673e-07 5.178513845e-07 -1.38604397e-05 7.634472449e-06 3.547519603e-06 -7.591412377e-08 1.82194956e-07 -1.561214562e-06 1.513012897e-06 -2.103277986e-05 -1.091691495e-07 2.005639116e-07 -3.455573794e-08 -1.433041372e-06 3.240310066e-06 -1.107767023e-07 2.111335136e-07 -3.787566633e-06 -1.450862244e-06 3.401642828e-06 -6.484618255e-08 1.422739374e-07 -1.8597724e-06 5.343369073e-07 -1.639875711e-06 --0.007309033276 -0.03351583095 -0.0116481402 -0.0006491278137 -0.0004139888794 -0.0002729211173 -5.713761523e-05 -1.865601641e-05 -8.306729322e-06 -8.090293663e-06 -2.497489991e-06 -1.243062761e-10 -1.669305945e-06 0.008824025533 0.02643610119 -0.01083708186 0.007127972368 -0.0002015704928 -0.001472589974 3.52602457e-05 0.001383652854 -0.012723685 9.534365804e-06 3.826563704e-05 -0.006101755403 1.860833168e-06 2.007588263e-06 -6.727936318e-05 3.881414542e-05 -0.0001664800759 5.311607262e-05 -5.181984788e-06 1.138595806e-05 -0.0003341989262 2.281908464e-07 1.34363654e-06 -1.518380807e-06 1.903223607e-07 5.064664436e-06 1.880777861e-06 -1.019474052e-09 1.599936591e-06 -3.533598973e-05 5.748146443e-07 4.822457239e-07 6.399961757e-07 1.620823302e-07 1.62219409e-06 -1.561135577e-06 6.555197633e-07 7.19730981e-07 -6.279307449e-06 -0.001052047141 0.001981381116 -0.02382408269 0.01743032163 0.01255967159 -0.0001543600441 0.0002638832136 0.0007046304503 0.005439314234 0.009708251787 -9.629451975e-06 2.841073118e-05 -0.002467337713 0.0001825344565 0.005110410398 -0.0002237562978 0.0003479999217 2.277621912e-05 -6.304443036e-06 -0.00499859777 -1.100354908e-07 1.731155665e-07 8.419299432e-07 -7.727627855e-08 -0.001078925255 1.260654633e-07 2.336996832e-07 -6.615282162e-05 3.786858867e-05 4.556903232e-05 -1.571098158e-08 4.227487805e-08 -6.622179408e-08 -8.599514848e-08 -0.0001762966552 -8.318324608e-08 2.526758443e-07 3.053245294e-06 -5.948137315e-06 -4.100804742e-05 -1.551847443e-07 4.39096653e-07 -7.739584593e-06 2.137389555e-06 -8.743514916e-06 -4.853235563e-08 1.303457967e-07 -1.1166397e-06 7.158919453e-07 -1.418545147e-05 -9.371821958e-08 1.783447843e-07 -2.040717917e-07 -6.366425937e-07 2.630808778e-06 -8.512647476e-08 1.775622591e-07 2.306424563e-07 1.88373117e-06 -5.72038406e-06 -4.911464106e-08 1.18556225e-07 -2.416040907e-06 5.322408812e-08 2.739003675e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.002844516977 0.01141801215 0.3387986475 0.2935120895 0.003180898005 0.005046764789 0.1812229095 0.003737028347 0.00186745452 0.07646296995 0.002469190409 0.000453876263 0.01015828829 0.03216028628 8.747877854e-06 0.000512693816 8.393900857e-05 0.01628023611 9.897270714e-05 0.0002037311586 0.00989031376 1.429522318e-07 0.0006742848012 0.003158620628 0.0007019205416 0.001933335475 6.036819655e-05 0.0007775659391 2.664557295e-05 7.562556846e-06 0.0001383749563 0.0005156330136 4.186803837e-07 7.624459313e-07 0.0001153096265 3.948073149e-06 2.829972916e-06 2.348113199e-06 0.0001351650298 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.448862949e-05 7.759497615e-05 4.067675575e-05 7.321516464e-06 4.152338407e-09 4.865605538e-07 4.690278275e-07 1.904138642e-08 4.383382734e-10 3.581248937e-08 1.248910522e-09 2.469997411e-09 3.482048259e-09 0.01750049414 0.2396720762 0.0003051271771 0.09527299169 0.0001690889359 0.005331125326 0.02000311808 0.001073149659 2.435014507e-05 0.0002032073611 2.827891746e-06 2.069647629e-05 2.552510986e-08 7.647461977e-07 3.005781364e-06 6.617545425e-05 2.869276224e-05 0.0002761271346 1.129746411e-06 7.257133324e-08 4.987398387e-07 3.773575338e-05 1.123295255e-07 7.561887702e-07 1.657446946e-06 4.040945974e-05 3.155095401e-07 3.482354546e-07 1.193181118e-05 1.353303941e-07 2.60949063e-08 2.167611787e-07 2.060888963e-05 6.451665058e-07 1.484294521e-05 5.151957904e-08 5.981100658e-07 1.050089135e-05 2.487461739e-07 0.003767204982 0.002400215711 3.509687409e-05 0.004811369331 0.1435959494 0.000105184341 0.001282069586 0.0004192646367 0.1147769203 0.002360175178 1.019076845e-05 6.668083487e-05 1.225183251e-05 0.04652801471 0.001385618405 1.313594715e-05 0.0008978948589 5.335936899e-05 0.004998966347 9.367572902e-06 2.55157611e-06 1.185345615e-05 1.067892154e-05 0.0004702529573 5.427617755e-06 5.602921009e-09 4.913971576e-11 2.255809735e-06 0.0001894170347 2.029525867e-06 2.724583187e-06 2.418760465e-05 6.238421581e-06 5.000794305e-07 8.960263143e-09 2.341632839e-06 1.011810027e-06 6.785597645e-09 8.362157455e-05 2.927602615e-08 1.756112504e-07 5.156739368e-07 2.192712513e-07 8.856039487e-06 2.530223374e-07 5.617782065e-08 2.518387112e-07 4.83907755e-08 4.758015093e-08 4.097834538e-06 6.963637115e-07 2.543962591e-08 1.495467542e-08 1.502308326e-05 1.153617622e-06 3.194115253e-07 7.105054967e-08 4.977336445e-07 5.002105917e-06 1.30164574e-08 1.623290508e-07 2.057204175e-07 5.775994811e-09 1.100487102e-07 5.861039072e-06 -0.04693487042 0.1927616284 0.0479897764 0.0003754050424 0.004304508962 0.0009960748957 2.574152517e-05 0.0002854890578 1.974495981e-05 6.435741084e-06 3.796109463e-05 7.359179659e-07 4.160270877e-06 0.019387001 4.15193843e-05 0.05225782793 1.018907327e-05 0.002703506544 0.05901278463 3.265441418e-06 0.0004425648839 0.07858337177 3.02174196e-06 0.000133481814 0.02280051722 7.091246456e-06 1.843025013e-10 0.0003892137407 4.936583808e-05 2.24976419e-06 0.001503694872 4.381374144e-06 6.958838151e-09 0.001274548581 2.603383987e-09 1.948750656e-06 0.0001081995023 2.700359164e-05 2.393095703e-06 4.669739115e-11 5.642202646e-07 1.355525138e-08 0.0001555143712 3.864231894e-07 1.894786128e-08 4.803936469e-05 4.055945748e-07 7.940038126e-08 6.60911152e-06 7.914480711e-07 1.183619788e-12 3.549043978e-05 1.316135915e-06 0.0005208971712 0.1117165131 0.02158147534 0.0001462695122 5.941731341e-06 4.278967212e-05 0.001240060371 4.735059145e-05 0.008707455984 5.907908386e-08 1.532291323e-05 4.580310509e-06 0.001891121685 0.02436951692 1.975180243e-08 2.351407714e-07 3.202385428e-07 1.91424629e-07 0.02975388365 2.68204302e-08 3.313158875e-06 6.916562924e-06 3.672300389e-08 0.002294603199 2.239904895e-09 8.292620115e-07 0.0001015980143 2.614427491e-05 2.281664752e-07 2.373173163e-09 4.172003912e-08 1.441836788e-07 1.45329366e-06 0.001607683519 2.651651309e-10 2.788145258e-08 4.658386326e-07 9.674126962e-06 4.57857543e-05 1.44842216e-10 1.467013163e-07 1.630448207e-06 4.817501677e-06 1.471264089e-08 1.862533961e-10 1.148819606e-07 6.869584722e-10 7.451801124e-08 0.0001788639268 1.80443367e-09 4.314531011e-08 2.617996271e-06 1.387105511e-06 6.307913773e-08 1.012526942e-10 5.627102449e-08 1.028457502e-05 1.445143868e-06 6.424102406e-08 6.613762374e-11 5.792530443e-08 6.145874791e-08 2.197010411e-07 3.262713334e-05 -0.01018204073 0.04497548462 0.01402113396 0.0004941035454 0.0007246598731 0.0003301865236 4.291472068e-05 4.052033697e-05 9.968860014e-06 6.716495222e-06 5.487952429e-06 9.723847359e-10 1.758294545e-06 8.398492699e-05 0.1776696438 0.01725492378 0.04678256292 0.0002545971352 0.0116484344 0.005373100619 0.0002940130091 0.01768100539 0.0003086606585 5.188869493e-06 0.007150241757 6.954795929e-07 4.725548093e-05 9.233184878e-06 2.474304204e-05 0.0003053467561 8.153951874e-05 1.648052574e-06 3.833951643e-05 0.0004143729327 1.04852697e-05 2.87598842e-07 3.366167478e-07 1.604771324e-06 3.62493567e-07 3.305852845e-05 3.121449876e-08 1.686404213e-05 5.043462888e-05 3.265560227e-08 1.005540422e-05 5.803105836e-06 1.177613125e-08 1.030701461e-05 5.999445556e-06 3.634806145e-09 1.016307864e-05 1.017289336e-05 0.002481552829 0.001672355602 0.02692113674 0.0004014106313 0.141670097 0.0002033964098 0.0001607237382 0.003020108596 0.08102497768 0.0001684003598 0.000139022967 4.314783465e-05 0.02118661113 4.045780063e-06 0.00432976631 0.0001699152073 0.0002058200433 3.559561554e-05 1.245507422e-06 0.006972267243 3.523294202e-06 2.54922003e-07 6.240208304e-07 1.923903662e-05 0.001104791678 2.052917165e-06 8.895675801e-07 4.191390288e-06 5.018807816e-08 0.0003616632239 8.356771521e-09 7.73529793e-09 7.760932095e-08 1.03178866e-07 0.0003021572286 5.239114267e-07 2.405202494e-08 6.885181433e-06 2.385754127e-06 4.754392365e-05 1.065174358e-06 3.071967975e-07 9.266752307e-06 2.163821485e-06 3.755525019e-05 3.02706414e-07 1.402918674e-07 2.357547918e-07 4.892182142e-06 3.203789825e-05 2.502684732e-07 1.336604025e-07 1.172752243e-07 2.194653808e-07 9.026475374e-06 2.741400194e-07 1.445209731e-07 4.703769703e-06 1.904793323e-07 1.122649217e-05 2.36439545e-07 9.414791081e-08 3.46162429e-07 7.945937791e-07 1.110846314e-05 -0.009757038583 0.04474124598 0.01554943712 0.0008665393746 0.0005526456532 0.0003643302432 7.627464471e-05 2.490445249e-05 1.108889171e-05 1.079996553e-05 3.333971167e-06 1.659400206e-10 2.228404482e-06 0.0003794387675 0.1818511156 0.0187689767 0.0522193822 6.387008582e-07 0.00940313164 0.006845818301 0.0002420722192 0.0169787014 0.0001688705996 1.043050731e-05 0.008102966931 5.614654738e-08 4.373341693e-05 0.0001002673065 0.0001253978772 9.802786005e-05 0.0001357731669 8.200548457e-07 2.988493901e-05 0.0004478918229 1.103552955e-05 1.309687302e-07 3.291914233e-06 2.282062317e-08 6.661097054e-07 3.532657702e-05 4.672966754e-14 1.549673775e-05 5.110596342e-05 2.250109008e-08 1.025393876e-05 3.551648186e-06 1.530229776e-09 1.243555021e-05 5.273740406e-06 3.364212099e-08 9.793191467e-06 9.86768425e-06 0.003118568038 0.001207441434 0.02790559346 0.002040515172 0.1355725687 0.0003351877554 0.0001106781561 0.003336546976 0.08325153611 0.0009801345515 0.0001517467443 2.159396513e-05 0.001387340971 0.02495112868 0.0010529216 0.0005546532795 0.0001458587978 0.0001166094626 4.950730018e-07 0.006740420791 1.787665567e-07 1.059706517e-07 9.528237407e-07 2.460315404e-06 0.001438312644 2.0934529e-06 4.697707661e-07 1.25855692e-05 1.737302121e-05 0.000392810633 2.658931129e-07 7.090081895e-09 9.001823931e-07 4.499777651e-09 0.0002358545569 6.97850624e-07 8.307760915e-08 1.269639445e-05 1.37392548e-06 6.421912348e-05 1.14533366e-06 2.302101759e-07 1.174175265e-06 5.871360655e-06 5.388751476e-05 2.780335021e-07 8.456492223e-08 1.528229936e-07 3.90990273e-06 2.1801248e-05 3.207676491e-07 8.88609323e-08 2.989422179e-07 3.820928703e-08 9.980770244e-06 3.179190577e-07 9.743290995e-08 5.018487078e-09 9.844544529e-06 7.476819036e-06 2.534771362e-07 6.645459271e-08 6.40876501e-07 1.878099678e-06 7.684679882e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00162377554 -0.06231295818 0.06393673373 0.03490535829 -0.03057409461 -0.004331263676 0.02742993869 -0.02605538145 -0.001374557241 0.01407197436 -0.01374992348 -0.0003220508829 0.01807441456 -0.01808002831 5.613747782e-06 -0.0005455728726 -0.00116311768 0.001708690552 -8.203563427e-05 -0.001419968441 0.001502004076 7.9245632e-07 -0.001458716866 0.00145792441 -1.800967524e-06 0.0003989897321 -0.0003971887646 0.0001495623572 -0.0001440748064 -5.487550815e-06 0.0002670745877 -0.0002674110123 3.36424614e-07 -9.522323699e-06 1.033593098e-05 -8.136072782e-07 -2.551444622e-06 -1.780288766e-05 2.035433228e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.088996375e-06 1.11877817e-05 5.864847006e-06 1.055629268e-06 5.986915383e-10 7.015316621e-08 6.762526655e-08 2.745420967e-09 6.320039204e-11 5.163508426e-09 1.800701408e-10 3.561286207e-10 5.020479124e-10 -0.06480393144 0.06485633946 -6.006866945e-05 0.006622421329 -0.004094429367 -0.002533307184 0.004634081455 -0.004634464194 2.240771473e-06 2.405899665e-05 -2.401485831e-05 2.83551221e-06 -1.400024146e-07 1.398588877e-07 4.330639896e-07 -8.759926811e-05 8.554312223e-05 2.054280303e-06 2.850977795e-07 -2.860251715e-07 7.323076069e-08 2.201159864e-06 -2.075118246e-06 -1.075008666e-07 -8.204088103e-06 8.236688388e-06 -1.882954941e-08 -2.047625968e-06 2.063886701e-06 -1.376803129e-08 -3.244726177e-09 -2.115252783e-06 2.117352087e-06 -3.097537469e-06 3.100086333e-06 4.580215756e-10 -2.529279125e-06 2.587464723e-06 -5.80597372e-08 0.002894446125 -0.002769958927 4.658844049e-07 -0.02635873072 0.02623269368 0.0003730808155 -0.0003712116662 -9.739636075e-05 0.01657477215 -0.01648413512 1.661527158e-05 -8.888765757e-06 -4.818319457e-06 0.008030384045 -0.008035915937 0.0001162726992 -0.0001224896836 -0.000509680475 0.0005157590346 8.95278414e-07 4.623836706e-06 -3.916964916e-06 -7.131061799e-05 7.068821736e-05 5.370868358e-07 -4.98676799e-08 -1.753461389e-09 -2.067217065e-05 2.074434301e-05 1.961420363e-07 8.952438246e-06 -9.95496333e-06 8.736755617e-07 1.313808883e-07 -4.368594956e-09 -1.43467353e-06 1.493326109e-06 8.478031542e-09 -1.631071763e-06 1.566922649e-06 2.755623162e-07 -2.553814111e-07 -1.409976935e-06 1.396124212e-06 1.909350235e-08 1.081827993e-07 -1.001019631e-07 -9.957240421e-09 -4.470589946e-07 4.4921265e-07 1.375758547e-07 -1.258101268e-07 -3.115009263e-09 4.166129449e-06 -4.175159921e-06 1.481486199e-07 -1.407979806e-07 -1.584487231e-06 1.576478448e-06 2.735064169e-09 1.710803789e-07 -1.616627619e-07 -2.54833005e-09 -8.077543575e-07 8.006180754e-07 --1.326267181e-05 -5.446982579e-05 -1.356076301e-05 -1.060804862e-07 -1.216351279e-06 -2.814669419e-07 -7.273939339e-09 -8.067237954e-08 -5.57945339e-09 -1.818586503e-09 -1.072689741e-08 -2.079528158e-10 -1.175593046e-09 -0.003398406741 0.003006693155 0.0004331526636 0.000724235533 -0.00126703972 0.0005400775172 -0.0001209966777 0.0001234419885 -2.350044907e-05 4.481689033e-05 -3.063781198e-05 -2.04707115e-05 1.603992118e-08 9.721599775e-08 -2.107518713e-07 -7.157603564e-06 1.860415002e-05 -1.184224758e-05 -2.892991809e-06 7.392100271e-07 1.815114114e-06 1.936916262e-07 -1.752654656e-07 -4.547559658e-08 -7.867884919e-08 3.937891964e-08 4.132973116e-08 -2.422070199e-07 -6.22376102e-07 8.285806744e-07 -2.21694149e-07 -5.569504973e-07 7.696207758e-07 -1.211309004e-07 -1.162261979e-06 1.286276734e-06 -1.868868847e-07 4.168483161e-09 1.766271127e-07 7.750736634e-05 -3.186917778e-05 -0.0007125801256 -0.004537386336 0.005220688451 -4.440984907e-05 3.845466094e-05 0.0002932984686 0.002148869316 -0.002411181964 -3.604695609e-06 8.770507937e-06 0.0003129087435 -0.0003065443129 -1.283835946e-05 -4.855622831e-07 3.135952008e-07 -4.026730273e-06 3.774752718e-07 -4.56872174e-06 -8.088648288e-07 8.723555908e-07 -1.610679422e-06 1.635818637e-06 -7.122839426e-07 -8.565058635e-08 4.554472658e-07 2.401385559e-06 -1.220273179e-05 9.509776424e-06 -2.789809692e-08 3.833718307e-08 -1.325881428e-06 1.082247128e-06 -2.177859133e-07 9.824607122e-09 -7.787222237e-09 -1.686506488e-06 1.53808725e-06 1.324686571e-07 -1.462356155e-08 3.018025046e-08 -2.912615081e-08 -7.997581905e-07 8.249885418e-07 -1.08812304e-08 2.960082775e-08 -8.021064548e-09 -1.058054327e-06 1.001214314e-06 -2.654636762e-08 3.315326274e-08 -1.511497281e-07 -6.742535613e-07 8.208652736e-07 -6.85536719e-09 1.362092433e-08 -1.769290805e-07 -7.948739921e-07 9.660504763e-07 -5.104867942e-09 1.214915723e-08 4.409754002e-08 -1.493750977e-06 1.436302386e-06 -0.01824220201 0.0805783337 0.02512034325 0.0008852387185 0.001298304745 0.0005915640512 7.688625734e-05 7.259646588e-05 1.786026622e-05 1.203331099e-05 9.832246744e-06 1.742130016e-09 3.150170495e-06 -0.001649987236 -0.08643078348 0.02849196416 -0.02503822496 -0.001175271686 0.01898568913 -0.003103056846 0.000408474929 0.03167054674 -0.0001163204481 2.331398313e-05 0.0128318963 1.770818377e-06 -2.62432328e-05 1.596627572e-05 5.981074793e-05 4.485530716e-05 0.000235472225 -4.021912521e-06 -1.91616038e-05 0.0007389763628 -5.649109324e-06 6.614846167e-07 6.262052095e-07 2.741452961e-06 1.141106054e-06 -1.779989728e-05 -1.595232912e-07 -1.095624187e-05 8.830232328e-05 -1.727041283e-07 -7.323316242e-06 7.467357186e-06 -9.617911258e-08 -8.347648226e-06 5.657689752e-06 5.577487576e-08 -5.892517385e-06 1.765693973e-05 -0.001936718718 0.0001585004831 0.04781906475 0.003424537113 -0.068893031 -0.0001909434488 1.188856279e-05 0.003097079753 -0.04255196697 0.001404923019 -8.483964184e-05 2.730610839e-06 -0.0114649167 6.75779401e-05 0.007683799312 -0.0001435779227 -6.68125391e-05 -2.420485852e-05 -5.016958588e-06 0.01246484702 -1.980227074e-06 3.735005527e-07 2.125983226e-06 -7.526938215e-06 0.001980690766 -1.096488025e-06 -2.434405987e-07 1.096696896e-05 -2.168159232e-06 -0.000153763929 -6.497518753e-09 2.759979108e-09 -9.280175871e-08 1.496526367e-07 0.0005413161043 -2.915279494e-07 3.669343461e-08 -6.519984522e-06 1.679023663e-06 8.343311547e-05 -6.850453021e-07 1.335530872e-07 1.69096687e-05 6.315179334e-06 -1.694139915e-05 -2.01693867e-07 5.920072221e-08 -8.935341757e-09 -4.547323689e-06 5.538285574e-05 -1.849636634e-07 3.147424099e-09 1.464646894e-07 -7.115780087e-07 -3.757574703e-06 -1.99582072e-07 2.838634075e-08 9.091074011e-06 -6.967942491e-07 -4.027107143e-06 -1.597838453e-07 3.362688441e-08 3.230030163e-07 -3.087614101e-06 9.869164827e-06 --0.01748639118 -0.08018446608 -0.02786742493 -0.00155299647 -0.0009904417201 -0.0006529461884 -0.000136698063 -4.463331724e-05 -1.987331469e-05 -1.935550632e-05 -5.975083887e-06 -2.973947564e-10 -3.993706917e-06 -0.003249834809 0.09328021568 -0.03159981964 0.02857336326 5.105882809e-05 -0.01557652851 0.003818174704 -0.0004468098498 -0.03041730325 7.387912771e-05 -2.637773687e-05 -0.01453119962 -2.046824949e-07 2.618178552e-05 -0.0001776836955 -0.0002176822485 -8.882516991e-05 0.0001281516868 2.431776419e-06 1.407266177e-05 -0.0008012112301 6.205503968e-06 -2.823931672e-07 -5.795243303e-06 -1.751719601e-08 -1.794984978e-06 1.888435935e-05 1.382939578e-10 9.654792341e-06 -9.036870314e-05 -1.09892328e-07 7.400771453e-06 -3.230780687e-06 -3.501126728e-08 8.152739519e-06 -7.583878161e-06 -1.352811427e-07 5.698355758e-06 -1.729571431e-05 0.002213470272 -0.0003301984424 -0.04897274462 -0.007003080899 0.07106746903 0.000251597986 -4.008116331e-05 -0.00451847988 0.04556528613 -0.003070937265 8.909966863e-05 -5.08422607e-06 -0.00333689347 0.01234697911 -0.002289085054 0.0004032435307 -2.688576081e-05 5.778461895e-05 1.58769992e-06 -0.01205790066 1.453951493e-07 1.276192571e-08 -1.92524906e-06 6.140807131e-07 -0.002578125844 1.12281779e-06 -3.462616822e-08 -2.065085136e-05 -7.141692118e-05 0.0001331930647 1.567829185e-07 -3.132345755e-09 4.814715021e-07 -1.490821713e-08 -0.0004226992193 4.264499108e-07 -6.822043276e-08 9.362134547e-06 -9.118732075e-07 -0.0001134379446 7.075240937e-07 -1.534934636e-07 -1.660550148e-06 1.779504023e-05 -5.033046652e-05 1.768397299e-07 -5.487682036e-08 -1.109312692e-07 3.254383363e-06 -3.796622346e-05 2.183882167e-07 -1.496735909e-08 -5.032031642e-07 2.877748792e-07 4.497156526e-06 2.137794861e-07 -3.989079495e-08 -1.011683349e-07 4.798608316e-06 -1.327732964e-05 1.630513155e-07 -3.680404806e-08 -1.013009801e-06 -5.22677944e-06 1.282078471e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02382387374 0.00324622331 0.02580902879 0.02476437007 0.002350210378 -0.02349750896 0.007730911232 0.0008991013958 -0.007205833271 0.0005086882438 7.245901836e-05 -0.0004611115965 1.855111421e-06 -8.329018398e-06 -1.792124447e-05 0.0005060770889 -4.221096898e-05 -0.0005228076777 4.777176678e-05 -6.589063365e-06 -5.076660106e-05 -1.777025584e-06 -4.129273778e-06 2.088498994e-07 0.0001517317237 -0.0001404315838 -4.610608996e-06 -4.090984122e-06 -6.524986626e-07 3.937846094e-06 -9.213637726e-07 2.907378046e-07 2.787818263e-06 1.490666776e-07 5.386196408e-06 -6.215419728e-06 -3.194418588e-06 4.350470165e-07 3.209048417e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.002676733398 0.004884092499 0.002316878186 0.000537169852 -8.336880082e-06 -4.933089298e-05 -3.739883502e-05 -4.075265716e-06 5.435070948e-07 2.439683709e-06 4.507305947e-07 2.595190234e-07 -3.661227982e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.09594540763 0.01685534728 0.01221939591 0.0001217713775 0.00168626799 -0.0003715984529 2.016048171e-05 0.0001037620236 -3.419200244e-05 1.543278856e-05 2.890457769e-05 3.908052489e-06 9.032492139e-06 -0.04139967265 -0.0001071120687 0.1064159904 -7.564639645e-06 -0.00147056682 -0.01365156094 4.809842108e-06 0.0006179004767 0.01360047549 -2.539470068e-06 -0.0001809472463 0.004137458164 4.578396791e-05 -6.335886743e-10 0.0005319568184 -3.827815903e-05 -9.162144023e-07 -0.0002920650162 -5.259158216e-06 -3.43579252e-08 0.0001434552982 -7.344891081e-09 -6.87926436e-06 8.872281177e-05 -4.880095849e-05 -7.591102382e-06 1.108716063e-10 -3.255969023e-06 3.836408004e-08 7.609258069e-05 -2.161253734e-06 5.898399113e-08 3.259573114e-05 -2.838206515e-06 1.990259575e-07 1.080666657e-05 -3.070401971e-06 -2.405674908e-10 3.037967201e-05 2.438069465e-06 0.001268775277 0.09276486369 -0.05005999406 -0.0002679814963 1.825876749e-05 0.0001449118056 0.002375877549 -7.482878349e-05 -0.01061633342 1.969650425e-07 2.880578671e-05 1.786156495e-06 0.0008319721765 0.002431839318 6.487236194e-08 1.742034933e-06 -2.177110436e-06 -1.495605969e-05 0.004588508829 8.747027441e-08 8.579676001e-06 4.039018546e-05 2.087191292e-07 -0.0005768677847 1.609275759e-09 1.194367452e-07 -6.071058123e-06 -3.134049404e-06 -3.07206248e-08 7.734330008e-09 1.039954e-07 -3.822620337e-07 -4.69161947e-06 0.0001217598484 8.086371054e-10 8.531275214e-08 4.355111772e-07 1.147404924e-05 -6.228173985e-05 4.893001752e-10 3.807616907e-07 6.213634987e-06 -1.266084599e-05 -3.38288228e-08 6.439546283e-10 1.686980873e-07 -1.098178259e-07 1.018656067e-07 3.460967119e-05 4.943849414e-09 1.042529017e-07 5.363968971e-06 -4.203882146e-06 -1.308796025e-07 3.66891902e-10 1.34326079e-07 9.819399448e-06 -4.776428157e-06 -1.610198287e-07 2.365388601e-10 1.114506653e-07 1.017371085e-06 1.713573311e-07 1.046389283e-05 -0.04586155795 -0.004839693972 -0.007054391976 -0.0002456013128 -0.0007100223794 0.0001729086054 -2.049133284e-05 -4.247413555e-05 2.448600612e-05 -1.425581202e-05 -1.010358625e-05 -1.416563226e-07 -5.808762619e-06 -0.002752137801 0.03174167716 -0.06048255824 0.001092295294 -0.0005482081269 0.008407654959 4.909275513e-05 -0.0004870870493 -0.00598302465 5.639870813e-05 4.353829945e-05 -0.00274084698 -1.448531027e-05 -8.37881675e-06 7.235442089e-05 2.220861542e-05 3.224991314e-05 3.419394543e-05 -3.250867955e-06 6.61454708e-06 -8.680683093e-05 7.286792858e-07 2.678108135e-06 -5.413192189e-06 1.126122449e-05 2.565480012e-06 1.594265468e-06 -6.8493613e-07 2.815603995e-06 -3.803510468e-05 -6.709381245e-07 4.060058873e-06 -1.003402687e-05 -4.619680018e-07 5.167564356e-06 -9.870099149e-06 2.048419828e-07 1.690579451e-06 -1.501782619e-05 0.001184745374 -0.002123384159 -0.04377343659 0.006703449333 0.02255991757 0.0001859276217 -0.0003029867998 -0.003899716021 0.00666708211 0.001697113537 1.424232279e-05 -3.059000492e-05 -0.0001554300075 -2.145704782e-05 -0.0007897844472 0.0001166654461 -0.0002284062205 -2.52524643e-05 3.731528427e-05 -0.002325414187 -7.56732725e-08 -9.320751764e-07 -9.734909274e-06 -7.798033806e-06 0.0003048234843 -1.692755686e-07 2.874895358e-07 2.196546496e-06 2.079470646e-07 -3.868547127e-06 4.311110035e-09 -5.802227538e-09 -1.602482233e-07 1.624192346e-06 -6.37000234e-05 -1.76118451e-08 -1.118511268e-07 3.867239658e-06 -1.051687814e-05 5.289593726e-05 1.941685676e-07 -4.555961257e-07 -1.558484757e-05 5.541301019e-06 3.143764958e-06 7.079597145e-08 -1.43118435e-07 -1.724272959e-06 1.545722917e-06 -1.101913388e-05 1.064921494e-07 -1.918853432e-07 1.004890409e-06 -1.753968296e-06 3.993742259e-06 1.071592178e-07 -2.028453255e-07 -6.388582037e-06 -1.700286146e-06 4.151657549e-06 6.097500839e-08 -1.278576303e-07 -2.297807531e-06 7.814144865e-07 -2.335940853e-06 -0.04538818136 -0.003346176443 -0.007590042865 -0.0003895897915 -0.0006220623591 0.0001620722504 -2.523514489e-05 -3.459710491e-05 2.568297531e-05 -1.721785816e-05 -7.655231548e-06 5.852719416e-08 -6.482946637e-06 0.006057391377 0.02326534052 -0.06261959785 0.000703187845 -2.774862046e-05 0.008567025331 -5.266355105e-05 -0.000427608147 -0.005611242343 2.621725911e-05 6.735657144e-05 -0.003102723723 -4.053606805e-06 -6.977845057e-06 0.0002232244508 5.339760045e-05 8.160169939e-06 -3.12308009e-06 -2.480859129e-06 5.686240176e-06 -9.601175452e-05 4.008806647e-07 1.684931513e-06 1.781440226e-05 1.323081719e-06 2.868231418e-06 1.122057158e-06 -8.097701327e-10 1.613056714e-06 -3.614446532e-05 6.461510257e-07 3.399236264e-06 -6.855315907e-06 1.571776366e-07 3.051485075e-06 -1.016680807e-05 6.240896737e-07 1.007283366e-06 -1.41339149e-05 0.0009779732835 -0.001889107376 -0.04322158641 0.01532583036 0.01422247242 0.0001499493704 -0.0002898859478 -0.004209804909 0.004024031988 0.004369431309 6.736142257e-06 -1.632602062e-05 -0.000198312234 -0.0001372997837 -0.0003459160666 0.0002160318138 -0.0003830941333 -2.089962045e-05 1.536672122e-05 -0.002315435844 1.082711525e-07 -2.108587285e-07 -1.058179354e-05 -1.432411629e-06 0.0002976143174 -1.700203973e-07 3.61257147e-07 7.602292768e-06 -1.274335255e-06 -2.733637831e-06 9.611426173e-09 -5.024945907e-08 1.47501014e-07 3.73526161e-07 -6.168844993e-05 6.984667183e-08 -2.397848155e-07 3.851626902e-06 -8.584926692e-06 5.86161684e-05 1.336282226e-07 -3.634364929e-07 -6.142912504e-06 2.133223166e-06 -7.752959791e-06 4.291456431e-08 -1.002695869e-07 -1.336339744e-06 8.217478905e-07 -7.931290261e-06 8.883172298e-08 -1.709435249e-07 1.54668176e-06 -7.720855498e-07 3.417250983e-06 7.970132837e-08 -1.682276705e-07 2.82484264e-07 2.600760365e-06 -7.93452495e-06 4.422006311e-08 -1.051683854e-07 -3.104852228e-06 -2.568324415e-07 3.931350055e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.006047608879 -0.01043326028 -0.2829929257 -0.1577293036 -0.002302051951 0.003874318373 -0.03774797378 -0.0009101855957 0.0008447512808 0.008900577745 0.00031631184 -0.0001702832824 0.0009547880414 0.003046314221 1.967008927e-05 -4.412499636e-05 1.723926306e-05 0.001823800535 2.13749235e-05 -2.356549811e-05 -0.0009630672702 6.571044641e-08 5.831811616e-06 2.652435686e-05 -0.0001300805978 -0.0001865309905 -5.813940429e-06 0.0001446839676 5.587106151e-06 -3.223287793e-06 -1.244869564e-05 -4.719051333e-05 -5.343545361e-07 1.9010022e-07 3.430654074e-05 3.45327263e-06 1.050675628e-06 -9.543942823e-07 -4.168301446e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.001685737834 -0.0003381771141 -0.0003557529637 -1.700574606e-05 -1.656193813e-06 8.212896473e-06 -2.721341675e-06 8.47408825e-07 1.611020642e-07 -1.151230745e-06 1.657917544e-07 -2.264091292e-07 -2.613149044e-07 -0.01142620873 -0.1625569815 -0.007567251455 -0.01533900275 -9.936796046e-05 0.002766463152 0.004996630878 0.0002716793514 -0.0002154741648 0.0002866257996 4.110704554e-06 -0.0001103117022 5.885216371e-07 1.750732035e-05 4.275958843e-05 2.021998972e-05 9.266919809e-06 -0.000146391596 -3.129535549e-06 -2.027190403e-07 -2.584536267e-06 -4.200069269e-05 -2.050085903e-07 6.144964072e-06 -1.537528809e-06 -4.037619304e-05 -4.716422326e-06 -3.867269091e-07 -1.504881879e-05 -2.229204927e-06 7.091136967e-07 -1.964333633e-07 -1.754733116e-05 -6.156003849e-07 -1.454781804e-05 -1.092896232e-06 -4.613708493e-07 -1.050980867e-05 -2.595901556e-06 0.003670346839 0.00239518229 -0.001020602947 -0.004983450086 -0.1496339244 9.944667509e-05 0.001204523162 -0.001193311417 -0.03905193638 -0.0007706419767 9.898894005e-06 7.761149807e-05 3.640262369e-05 0.004539890864 0.0001347946917 1.26850082e-05 0.000854143973 2.15469491e-05 0.001983103904 -5.156823554e-05 2.482718859e-06 1.300867402e-05 -8.892741671e-06 -0.0003889316379 1.786581401e-05 5.526938171e-09 -2.07575613e-09 -1.179333766e-07 -1.009875982e-05 -5.001455855e-07 2.630344935e-06 2.166336e-05 6.562973748e-07 2.533425904e-07 -1.777471801e-07 2.276150757e-06 9.478828185e-07 3.330355155e-07 -8.154342144e-05 -3.327331339e-08 1.709387702e-07 5.451108298e-07 -4.903881353e-07 -2.022225174e-05 -1.591149289e-06 5.45661896e-08 2.638112648e-07 3.487733924e-07 -1.201173808e-07 -9.385317553e-06 6.786986626e-07 2.592724565e-08 -2.435953088e-07 -1.655730338e-05 -1.254311092e-06 3.111562423e-07 7.217938802e-08 -9.897268402e-07 -9.92729723e-06 -2.236059673e-07 1.590686855e-07 2.073441688e-07 1.227447876e-07 -1.945871828e-07 -1.004879941e-05 --0.1523488835 -0.2434318343 -0.07958008707 -0.003846459461 0.008488266233 0.002232012003 0.0002770613248 -0.0004990009603 -0.0001153529348 -3.270510539e-05 7.858157688e-05 -4.479563033e-06 1.265523413e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.04131985135 -0.01646632406 -0.004705958451 9.205562415e-05 -0.0005640979686 0.0003013448699 -5.21698e-05 -3.659940002e-05 2.16851661e-05 -1.859991403e-05 -1.428638571e-05 -1.550302657e-07 -6.095179158e-06 0.0007493664641 -0.1247694159 -0.05852204658 -0.0001608285368 5.353126646e-06 9.662881481e-05 0.002122725176 0.0002931821957 -0.006088349245 -0.0001426757483 -6.919665017e-06 -0.0009629073388 5.746512189e-06 0.0001200377142 8.466784467e-05 -1.085026153e-06 -6.977350995e-05 0.0001604431629 6.741538106e-07 -2.598135438e-05 -0.0001207648549 -1.449456427e-05 -1.421808436e-06 -3.778524509e-06 1.048638559e-05 -2.208423408e-06 -3.416678264e-05 2.742274438e-07 -2.047674433e-05 -5.7020189e-05 9.400710095e-08 -9.660685875e-06 -1.647031074e-05 2.248329545e-08 -6.733136646e-06 -1.58310089e-05 -6.734892115e-08 -1.09012341e-05 -1.741388629e-05 0.002022215937 0.002473453422 -0.03442506709 -0.002868817663 -0.141448347 0.0001412133051 0.0002155199775 -0.002448807031 -0.01670114701 -0.000249101929 0.0001314879741 7.212721989e-05 0.004553811344 3.474144472e-05 -0.001076159775 0.0001301771883 0.0002386172281 8.846470263e-05 -8.141652004e-06 -0.001106517027 3.462180601e-06 6.695419265e-07 7.319456987e-06 0.0001030839147 0.0004402604336 2.061418525e-06 1.779298732e-06 -7.288282745e-06 6.948593424e-07 -0.0001671099808 6.833700495e-09 1.259084524e-08 -8.877306696e-07 -7.56846803e-07 -3.673981777e-05 5.170791039e-07 6.737771857e-08 -1.759773714e-05 3.775508865e-06 1.820248203e-05 9.80613723e-07 5.271177286e-07 -9.274687293e-06 -6.270678923e-06 -4.840861113e-05 2.732826111e-07 2.324773663e-07 9.431156493e-07 -1.35922277e-05 -2.51935728e-05 2.120392066e-07 2.079203238e-07 8.794597015e-07 3.795436008e-07 -1.50569718e-05 2.345531261e-07 2.211498054e-07 -5.077409837e-06 3.539635555e-07 -1.556855535e-05 2.117409394e-07 1.531927724e-07 5.293911734e-07 -1.866051419e-06 -1.705945802e-05 -0.0410669468 -0.01499484459 -0.005392594102 7.676372394e-05 -0.0005190537886 0.000303801039 -6.208915193e-05 -2.826115567e-05 2.343619389e-05 -2.318649601e-05 -1.066608273e-05 6.233960661e-08 -6.767553429e-06 -0.00196917674 -0.126426481 -0.06090186174 -0.001690130612 3.622209893e-06 0.000866152354 0.00253588978 0.0002552429495 -0.006032581973 -0.0001248248816 -1.449351464e-05 -0.001236348519 1.610296106e-06 0.0001171782905 0.0002809666756 7.144628168e-05 9.658056481e-05 -0.0001392460119 5.478756674e-07 -2.072930036e-05 -0.0001099597449 -1.51767914e-05 -1.146309268e-06 1.158085305e-05 1.203905578e-06 -3.572506376e-06 -3.633883271e-05 3.860448168e-10 -1.924899582e-05 -5.488367793e-05 -2.153411021e-08 -7.887492977e-06 -1.253255165e-05 -2.580142664e-08 -1.070671725e-05 -1.341516539e-05 -2.281618649e-07 -1.068543883e-05 -1.692556645e-05 0.002707267061 0.001942698587 -0.03426172588 -0.007583981656 -0.1344006892 0.0002805516837 0.0001737962347 -0.002770288581 -0.01933608041 -0.0008297958545 0.0001460678501 4.263014988e-05 -0.000843829882 0.004335529552 0.0003723347975 0.0004743013349 0.0002281403312 1.245351866e-05 -4.645409078e-06 -0.001172696723 1.410207325e-07 1.368132312e-07 1.027871897e-05 3.500136908e-05 0.0004680618906 2.096826189e-06 9.9403538e-07 -1.292830495e-06 -1.491147492e-05 -0.000143847025 2.554037345e-07 1.372637805e-08 3.003652981e-06 -1.329588866e-07 -2.927412891e-05 6.58886314e-07 1.787147662e-07 -2.429038058e-05 3.54452352e-06 2.339833996e-05 1.075530589e-06 4.351832731e-07 1.997895922e-06 -9.283292887e-06 -6.072679894e-05 2.571645928e-07 1.527653757e-07 8.32516043e-07 -1.130559534e-05 -1.895681023e-05 2.856843586e-07 1.546104327e-07 1.362408872e-06 2.269996531e-07 -1.471485807e-05 2.851838265e-07 1.6394295e-07 -1.031794473e-07 -1.354437436e-05 -6.5275286e-06 2.330499313e-07 1.16885065e-07 3.633865749e-07 -3.06127174e-06 -1.368557398e-05 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.008920580631 -0.03956498455 0.1657839693 0.08610324418 -0.01419201404 0.006722549332 0.02602705899 -0.005323241906 0.001567136224 -0.003533805135 0.0008246601954 -0.000155459278 -0.001935659153 5.811458867e-07 1.95630294e-05 -0.0001065394889 0.0001410192176 -0.001127953254 2.037541845e-05 -7.20525388e-05 0.0003524274863 3.789526298e-08 4.736771809e-06 -1.397824368e-05 -1.199293469e-05 0.0002351850177 -4.196674345e-05 -7.129095262e-05 1.722299999e-05 -3.960834119e-06 2.691650328e-05 1.820987368e-06 -4.854441454e-07 2.51822064e-06 -2.361124523e-05 2.114174138e-06 1.540134434e-06 -3.803988851e-06 1.920053559e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.001729995774 -0.0002010234754 -0.000379962881 -2.989662889e-05 -1.699617918e-06 6.637512998e-06 -2.142231335e-06 9.207406297e-07 1.623677981e-07 -1.040969153e-06 1.524179256e-07 -2.257694349e-07 -2.584968216e-07 -0.03182293404 0.122962351 -0.007551915832 0.004328158257 -0.000689454195 0.004769246967 -0.003164225212 0.000804720921 -0.0002051271705 -0.0001967041828 3.208488786e-05 -0.0001343257154 2.258209697e-06 -1.033769007e-05 3.993767532e-05 1.91422488e-05 3.000446016e-05 -1.454359397e-05 2.31712634e-06 -6.193545709e-07 -2.798298344e-06 1.801188301e-05 -1.954797588e-06 7.245532289e-06 -5.793059716e-06 2.722410696e-05 -4.302384628e-06 -1.814142805e-06 1.011570895e-05 -1.881436504e-06 7.293106182e-07 -1.374176042e-06 8.707708984e-06 -2.257982713e-06 9.912947606e-06 -1.074943247e-06 -1.82468663e-06 9.727681545e-06 -2.197724547e-06 -0.00423976144 0.001230372429 -0.001081759265 -0.02066708847 0.09470164857 -0.0003668154774 -0.0003514422294 -0.001271420562 0.02880767345 -0.005087627297 -1.887258914e-05 -1.184854924e-05 2.426842931e-05 -0.001929399495 0.0004026619448 -0.0001040013657 -0.0003508841203 0.0001772397464 -0.001237507685 -6.039865091e-05 -5.109992757e-06 -8.391128643e-07 -3.547831124e-05 0.0001842674423 1.512980326e-05 3.922354513e-08 -8.706096428e-10 1.477074149e-06 -1.008381504e-05 8.630042727e-07 -8.847420324e-06 -5.275222052e-06 -1.746834533e-06 1.021325144e-06 -2.482590745e-07 7.267039249e-08 -1.779433124e-06 3.533606063e-07 4.123993813e-05 1.390383353e-06 -3.158164399e-07 1.230045399e-08 -2.106367717e-06 1.099001198e-05 -1.324640153e-06 -1.179605798e-07 -1.697977238e-08 3.890605305e-07 -6.705202839e-07 4.161321203e-06 -4.499445405e-07 9.455002301e-08 -2.52717636e-07 1.232405867e-05 -3.344015069e-06 -2.779065737e-07 8.712117402e-08 -2.200589662e-06 7.476192558e-06 -2.410573273e-07 -2.206321027e-07 4.404875622e-08 1.315603684e-07 -9.769808479e-07 5.261074664e-06 --0.08871338424 0.03408937395 0.008706244958 -8.024008733e-05 0.00137483075 -0.0005233956728 4.040481887e-05 9.714762226e-05 -3.051884765e-05 1.820701976e-05 3.757392512e-05 4.264932162e-06 9.375651705e-06 0.01753334404 0.001746362431 0.1031182773 2.061329896e-06 1.80267655e-05 -0.0002342439227 4.777399731e-05 -0.0003817283041 0.01314629877 1.299615384e-05 4.068456038e-05 0.00176452266 -2.328101533e-05 -2.238203163e-07 0.0005511830258 2.165035876e-05 1.329972919e-05 -0.0006051937607 2.808424434e-06 3.163210824e-07 0.0002168637986 2.132193588e-07 3.250258065e-06 7.10047073e-05 -4.541063962e-05 5.568603298e-06 3.613855917e-08 1.348779432e-06 -5.493870347e-07 0.0001015009734 7.339001543e-07 -4.993268071e-07 4.478200194e-05 1.356738572e-07 -7.376518359e-07 1.611988188e-05 1.217408847e-06 3.53445324e-09 3.280506443e-05 -6.705320501e-05 -0.0007646908358 0.07713830919 0.02572213312 0.004234662513 2.807043854e-05 -8.934777696e-05 0.001616080457 0.0003929380776 0.002081343967 2.933161044e-06 -3.37615524e-05 -6.266701268e-05 -0.0006630556816 0.003418841722 3.768244368e-07 -6.543044361e-07 1.270315115e-05 4.279533994e-06 0.002537876497 6.371655754e-07 -6.242548472e-06 -2.685284133e-05 -4.136839623e-06 -0.000713115546 6.847834506e-08 -1.649698484e-06 -4.687061534e-05 1.947451232e-05 3.810362911e-06 1.973137617e-08 -9.521417203e-08 -1.030629882e-06 3.181501874e-06 9.391463673e-05 -8.654375452e-09 -5.024578793e-08 -4.439859335e-06 -1.123206295e-05 -1.150489519e-05 1.20462821e-08 -2.350077756e-07 6.064630431e-06 8.537645902e-06 8.796546927e-07 8.841521907e-09 -1.873806024e-07 6.405583709e-08 -1.614220304e-06 6.027882809e-05 1.949166447e-08 -9.529248541e-08 4.23746516e-06 2.245701586e-06 1.176832755e-06 5.595068309e-09 -9.431198295e-08 8.673765901e-06 1.84011231e-06 1.079566787e-06 4.180827436e-09 -9.331964147e-08 -3.539984824e-07 -1.851920395e-06 2.119251743e-05 -0.07095922757 0.1175858341 0.04301516728 0.004412859435 -0.003482765962 -0.001285080106 -0.0003577353965 0.0001879936465 8.196402368e-05 3.341085781e-05 -2.98783455e-05 1.628320969e-07 -8.227259472e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.04189136666 -0.01299874477 -0.005934161569 7.204682044e-06 -0.0005510498096 0.000283381021 -5.258045054e-05 -2.829146564e-05 2.422528525e-05 -2.244942449e-05 -1.000464907e-05 6.057947737e-08 -6.687882751e-06 -0.003586056753 0.1086536941 -0.06133495728 0.002642950686 1.119981941e-05 0.002027696195 -0.002386656123 0.0002763038784 -0.006227805716 0.0001300731928 -2.496765124e-05 -0.001575808835 1.948680906e-06 -0.0001115011595 0.0002821088404 6.549188199e-05 0.0001260419834 4.456178821e-05 2.249391544e-06 1.140642398e-05 -9.639548347e-05 1.403607573e-05 -1.297639493e-06 1.2342166e-05 1.251426388e-06 -4.245883507e-06 3.022515544e-05 5.23630528e-10 1.702169712e-05 -5.194872561e-05 -8.729306567e-08 1.384961569e-05 -9.33306439e-06 -5.252058785e-08 1.255783634e-05 -1.188236999e-05 -3.090313532e-07 9.961933043e-06 -1.677038481e-05 -0.0037181807 0.0005285031706 -0.03586715656 -0.01076457944 0.1153798397 -0.0004227082318 5.384195423e-05 -0.003141656773 0.02123838808 -0.001334879813 -0.0001496747026 1.672432861e-05 -0.0007091894707 -0.004056842855 0.0004260026861 -0.0006774767542 4.739136932e-05 -1.510867748e-06 -7.871856331e-06 -0.001448626525 -2.442905642e-07 -2.420537715e-08 1.284803734e-05 -2.8600471e-05 0.0004798088032 -1.886053869e-06 3.839120466e-07 -6.912791791e-07 -1.951161752e-05 6.410743456e-05 -2.633532665e-07 7.031779409e-09 -2.957820857e-06 -1.180386018e-07 -3.108036861e-05 -7.163807896e-07 1.231627746e-07 1.984143717e-05 6.375718159e-06 2.982768674e-05 -1.188558399e-06 2.459524827e-07 2.481978746e-06 2.045839968e-05 -1.365530369e-05 -2.970646504e-07 8.105496598e-08 1.112714419e-06 9.575182151e-06 -1.616226437e-05 -3.668964258e-07 4.38633127e-08 1.423322261e-06 6.199405901e-07 9.751243533e-06 -3.591418283e-07 6.159181899e-08 -2.083472946e-07 1.030773885e-05 -6.79507468e-06 -2.739072532e-07 5.530285628e-08 5.474207541e-07 -5.844208862e-06 7.969509228e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.01105834864 0.04515589843 0.07673357191 0.05440885197 0.0146163717 0.01104239387 0.01564484758 0.00635446246 0.002376547375 -0.001169407789 -0.0006508655224 -0.0001357180982 0.0009423366291 -0.002774940193 1.9578198e-05 -0.0002565735878 -0.0001409910326 -0.0007981446639 1.965976405e-05 5.242432545e-05 0.0001298812456 8.120597571e-08 -1.405679027e-05 -2.579337829e-06 -1.272999777e-05 0.0001460739982 5.622329457e-05 -2.830786514e-05 -1.691219578e-05 -4.648694095e-06 -1.537796514e-05 4.612673182e-05 -5.798202613e-07 -2.898030587e-06 -1.789824616e-05 1.690321676e-06 2.368664341e-06 3.464500951e-06 9.23862986e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.001749030664 -0.0001393514853 -0.0003882040359 -3.58107931e-05 -1.705127717e-06 5.92283316e-06 -1.978859732e-06 9.566444197e-07 1.614752477e-07 -9.914828273e-07 1.481641295e-07 -2.258033513e-07 -2.562670846e-07 0.04446505146 0.04538754803 -0.007554244468 0.002487444814 0.0005498885177 0.006181304306 -0.001247118436 -0.0009818692851 -0.0001994751444 -0.0001344603306 -3.825003273e-05 -0.0001453486902 -2.603822121e-06 -4.974250293e-06 3.848555853e-05 3.893083526e-05 5.390603468e-07 -1.26130337e-05 9.261047589e-07 8.584355941e-07 -3.017371355e-06 1.392103138e-05 1.905946972e-06 7.807967237e-06 7.271066514e-06 1.289311897e-05 -4.092486433e-06 2.226141462e-06 5.513175997e-06 -1.763679496e-06 7.432532611e-07 1.483454364e-06 5.727566202e-06 2.867858714e-06 4.620241289e-06 -1.072025397e-06 2.798283055e-06 4.676733428e-06 -2.041253674e-06 0.0006205495782 -0.003412418799 -0.001112025762 0.02507903161 0.04777645531 0.0002591249089 -0.0009730504073 -0.001325831791 0.01833298985 0.00639241813 9.012307386e-06 -2.653556481e-05 1.856287806e-05 -0.0007686483749 -0.0003647868734 9.106110376e-05 -0.0005555539407 -0.0002041572908 -0.0008786981296 -6.534791592e-05 2.649741971e-06 -7.355810168e-06 3.579376155e-05 9.1264347e-05 1.386470451e-05 -4.442109085e-08 -3.87499955e-09 -2.539259066e-06 -1.037030417e-05 1.360812799e-06 6.173486876e-06 -2.190909348e-05 9.07553159e-07 -1.388014149e-06 -2.948710984e-07 -2.331008969e-06 7.264588949e-07 3.634725238e-07 4.394631559e-05 -1.364590733e-06 1.466639921e-07 -4.144339968e-07 2.313970124e-06 5.737397048e-06 -1.234766966e-06 6.358638219e-08 -1.837161125e-07 4.138492248e-07 6.750893176e-07 2.516385996e-06 -2.182542281e-07 -1.16448715e-07 -2.586063164e-07 4.328807126e-06 4.657823966e-06 -2.897367559e-08 -1.489350486e-07 3.093267352e-06 2.105397926e-06 -2.523863525e-07 6.657635144e-08 -2.267884949e-07 1.365639178e-07 1.061340217e-06 2.994015188e-06 --0.09007021845 0.03112420197 0.009473593796 -5.0525653e-05 0.001448607717 -0.0005023282934 3.606971981e-05 9.568550465e-05 -3.127311473e-05 1.789877132e-05 3.599095675e-05 4.151482296e-06 9.246885625e-06 0.02130979674 -0.001660057024 0.1037379524 -1.737498848e-05 0.0002516552295 -0.002453126306 -5.299595576e-05 -0.0002826498964 0.0134769613 -1.352841453e-05 6.89234461e-05 0.002161401606 -2.31935981e-05 2.230925085e-07 0.0005585500009 2.890490316e-05 -1.216250676e-05 -0.0005428750422 4.494497504e-06 -2.393186917e-07 0.0001919212794 -2.047244795e-07 3.657406111e-06 7.25774127e-05 -4.610689927e-05 5.533514204e-06 -3.65022265e-08 1.698480901e-06 5.200218923e-07 9.737967674e-05 1.060216205e-06 4.770353174e-07 4.123362909e-05 3.060798055e-07 1.087479401e-06 1.376122455e-05 1.505273028e-06 -3.377119587e-09 3.248793177e-05 6.296367404e-05 -0.0008170105347 0.07965401951 0.03244884906 -0.003807122227 -4.63947715e-05 -2.450954642e-05 0.001760408151 -0.0004270555034 0.003331148909 -3.113296092e-06 -1.904882251e-05 5.604388446e-05 -0.0007466387778 0.003328970825 -4.375751547e-07 -1.296446417e-07 -1.207434017e-05 7.100136956e-06 0.00290179747 -7.195294851e-07 -4.789987497e-06 -3.320895635e-05 3.634562624e-06 -0.0007040688024 -7.521548512e-08 -8.940239776e-07 -4.110180733e-05 2.307587801e-05 -2.586770531e-06 -2.705241166e-08 -3.085063896e-08 1.294028444e-06 1.128535988e-06 8.997150143e-05 7.827745558e-09 -6.312200026e-08 3.252039608e-06 -1.920211357e-05 -1.34601172e-05 -1.2483647e-08 -1.839510855e-07 6.147193295e-06 9.955284715e-06 -7.980547273e-07 -9.410301401e-09 -1.382866332e-07 8.1345321e-08 1.425824262e-06 5.459968852e-05 -2.503311982e-08 -3.960174674e-08 4.496770524e-06 3.74624282e-06 -8.535735223e-07 -5.903933776e-09 -7.134860897e-08 9.01182454e-06 3.33967838e-06 -8.38226532e-07 -4.382028791e-09 -7.298017034e-08 -4.469848719e-07 1.943141513e-06 1.729617503e-05 -0.04279400497 -0.01303272721 -0.005634995839 5.440385241e-06 -0.0006310075916 0.0002697756954 -3.944004043e-05 -3.60872237e-05 2.296929033e-05 -1.770375466e-05 -1.283589361e-05 -1.46645594e-07 -5.940697702e-06 0.001824622607 0.09960006424 -0.05929628493 0.002177019786 0.0002172527769 0.002366351434 -0.002110794759 0.0002753016672 -0.00643882897 0.0001590101866 -1.894553472e-05 -0.001501531263 7.214450517e-06 -0.0001118747018 8.626401996e-05 -8.755166172e-06 0.0001851425891 8.826053939e-05 3.174074001e-06 1.229272827e-05 -9.376074239e-05 1.316239219e-05 -1.733922302e-06 -4.102802936e-06 1.104646116e-05 -2.752771728e-06 2.852111831e-05 4.574319264e-07 1.706631018e-05 -5.189382298e-05 2.80769318e-07 1.201061598e-05 -1.247329805e-05 1.138036433e-07 1.361738962e-05 -1.153174527e-05 -1.125645654e-07 9.68583004e-06 -1.710387075e-05 -0.003244275677 0.0002473817431 -0.03716029814 -0.005162787067 0.1089412058 -0.0003197699812 -1.543581698e-06 -0.003024080321 0.02021329275 -0.0006059239944 -0.0001421116149 1.364184365e-05 -0.003299944774 4.210117573e-05 -0.001047445551 -0.0002404550145 -0.000110328812 -8.130698143e-05 -2.078073822e-05 -0.001556682957 -3.317276113e-06 6.523834941e-07 1.099794184e-05 -7.448696688e-05 0.0004448298033 -1.836817686e-06 3.873201569e-07 -5.382900517e-06 8.799869409e-07 6.09511571e-05 -1.088222793e-08 4.080908455e-09 9.019266783e-07 -4.654983703e-07 -3.720317293e-05 -4.88366401e-07 6.66956894e-08 1.288891408e-05 9.276176142e-06 2.628411396e-05 -1.147463143e-06 2.12426996e-07 -1.008178637e-05 -8.760987637e-06 3.555724498e-05 -3.378428102e-07 8.631043329e-08 1.543281106e-06 1.017099586e-05 -1.981021403e-05 -3.097842479e-07 2.295506961e-08 9.420791097e-07 1.602186025e-06 8.034586683e-06 -3.342811752e-07 4.185208698e-08 -6.065088559e-06 1.424521599e-06 8.971234888e-06 -2.676393006e-07 4.973637028e-08 8.955002671e-07 4.329107164e-06 -3.380310914e-06 -0.0694625105 0.1172792326 0.04529887152 0.005843933421 -0.003041449177 -0.001349889255 -0.0004769236572 0.000147382238 8.644593828e-05 4.236697492e-05 -2.328800554e-05 -6.72661419e-08 -9.26203444e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0003519237103 0.0004107514529 4.98487977e-05 -6.27370375e-06 -4.919729628e-08 -1.690188055e-07 -3.454348043e-07 1.356553707e-07 -1.487077529e-09 -8.844377284e-08 1.313951515e-08 -1.116783067e-08 -1.679660211e-08 -0.003285942227 0.001158845683 0.001658106329 -0.001597931334 0.01305515624 -0.01139272691 -7.329155421e-06 2.959540947e-05 4.907480875e-05 -2.239399038e-08 8.476630709e-08 1.738666885e-06 1.488951646e-09 -1.041573217e-09 1.798291446e-06 6.856993955e-05 -6.868413232e-05 5.808448018e-07 -5.194614627e-09 2.332390008e-08 -1.216322411e-06 -4.615738755e-08 3.411960497e-07 -2.044437787e-07 8.313071576e-08 -2.788314476e-08 -2.265639625e-08 -4.150615433e-07 1.551272546e-07 1.652393292e-07 -2.371980124e-08 4.318708043e-08 -1.834259441e-08 -5.22437377e-08 1.842443478e-08 -3.161205289e-09 -3.719592564e-07 1.564816428e-07 1.976385424e-07 -5.348561755e-07 2.970115619e-05 -1.81180671e-05 -0.0001949457398 -5.493147503e-05 6.373053948e-06 -1.056645492e-05 0.0009210996191 0.0004414542949 -0.001453760176 1.910312806e-08 5.448807557e-07 0.0001011171605 4.636286549e-05 -0.0001434069609 -3.238601142e-08 -4.855845878e-08 -2.078451148e-07 3.991606045e-08 -7.05021388e-07 -4.082882105e-10 1.570207679e-08 -4.722581648e-07 1.31552374e-07 -9.953042421e-07 6.501875781e-11 4.502780187e-09 2.921392453e-07 -8.625921535e-08 6.681001941e-07 3.515257642e-08 -5.91710811e-07 -1.883377209e-08 1.17982894e-08 5.861647909e-07 -3.331462366e-09 2.009499062e-08 -5.190339067e-07 1.524486174e-08 3.180448062e-07 -4.569144155e-11 1.714962249e-09 -7.020481503e-08 2.303897832e-08 -7.427398579e-08 1.046375575e-10 1.755577139e-09 -1.170658615e-07 1.80404232e-07 -4.260721368e-08 -1.198628264e-13 -3.045554218e-12 -6.723298351e-11 -3.429526649e-11 1.282915711e-10 1.861500214e-11 8.745797448e-10 1.026184828e-08 -4.616598007e-09 -2.923004755e-08 -7.104866133e-10 3.033513282e-09 -3.000808238e-08 3.55319917e-08 -1.095341083e-08 -3.658718834e-05 2.659207517e-05 -4.009341164e-07 -1.433404016e-07 -1.101498745e-07 5.77133833e-08 1.971592603e-09 -2.871186557e-08 5.576486525e-09 -1.025528921e-09 -5.247794233e-09 -6.400079538e-10 -1.199736818e-09 0.0003142732047 -0.001379075409 0.00103019339 0.001256745959 -0.0005629852153 -0.0006733156808 7.777113563e-08 -3.464876341e-07 4.884049713e-06 1.744086541e-06 -7.021115944e-07 -1.521856357e-06 1.704969085e-09 6.246194793e-08 -1.346460071e-07 -9.423589505e-08 4.274620792e-07 -3.458331884e-07 -1.15769316e-09 3.946056508e-09 -2.32711964e-09 3.812454376e-08 -2.478550573e-08 -4.094681302e-08 2.445273193e-08 2.620787779e-09 -2.474699967e-08 4.123033355e-08 -1.637870263e-07 1.164089545e-07 1.175433076e-07 -5.218718732e-07 3.973724824e-07 1.138172018e-07 -1.216758115e-06 1.101425928e-06 2.273695231e-08 -9.019973259e-08 6.386385656e-08 1.790115725e-05 -4.216499645e-06 -0.0006702254158 -0.0003724004867 0.0009987212233 -1.327792831e-06 -6.486089857e-06 0.001802712887 -0.0024475428 0.0006511717728 -5.557135737e-08 -7.480165096e-07 3.857283238e-06 -5.375846466e-06 4.98928863e-06 4.178062759e-10 -6.851647059e-09 -1.333562913e-07 5.280580599e-08 -1.035071918e-07 -6.375866033e-09 -1.331348636e-08 1.478479618e-08 -1.099500445e-08 1.77634022e-07 -4.563362239e-08 2.938191321e-07 2.303454814e-06 2.551399582e-06 -5.12915036e-06 1.39102806e-10 7.077951748e-10 -4.927665883e-08 1.541375263e-08 -3.039559649e-08 2.381906629e-11 -6.742088741e-10 1.722448521e-06 -1.601292888e-06 -1.070683147e-07 -5.165495241e-10 -3.475307939e-09 2.918115891e-08 2.774951922e-08 -5.242495466e-08 1.26970801e-10 1.899427823e-09 6.29560316e-08 -2.47318005e-07 1.73568137e-07 -2.738026681e-09 6.096599945e-09 -2.165039877e-07 -1.279329141e-07 3.399346302e-07 2.663411761e-10 8.62080838e-10 -6.885055371e-08 -4.766854707e-09 7.135327638e-08 1.142364139e-10 8.336149631e-10 5.532496572e-08 -4.110975093e-07 3.52521852e-07 -0.1101195868 0.09180458716 0.001404899039 -0.0009968631219 -0.0002799887392 0.0001475056787 1.370792936e-05 -8.113323961e-05 1.77044995e-05 -6.567021728e-06 -1.3612652e-05 -1.295958798e-07 -4.728854137e-06 0.002411393923 -0.002650789117 -0.1150712909 0.00224758409 -0.003101767257 0.05508918751 1.070573452e-06 2.461477704e-06 0.01702717649 5.492945013e-07 -1.800225216e-06 -0.001241405573 -1.762254903e-06 6.636374386e-07 6.327011848e-05 -1.345191531e-05 -3.817075085e-06 -0.0001034102374 4.70636819e-08 -1.130299211e-07 -9.44333408e-05 1.204063727e-07 -7.612384022e-07 -9.548043346e-06 -1.067770732e-07 1.063616005e-08 -2.262045889e-09 1.482155955e-07 -2.413487428e-07 -3.034371517e-05 4.904044383e-07 -1.329685191e-06 -1.005369767e-05 3.637073972e-07 -1.272893104e-06 -4.051004987e-06 1.232972345e-07 -1.153960799e-07 -1.126928686e-05 -1.945823257e-05 -1.125944886e-05 -0.08558706318 -0.002467319398 0.0002289663967 -3.183338324e-07 1.762248368e-06 -0.01199574862 -0.002531562512 0.002862766314 8.917400774e-08 2.078444928e-07 0.0001087526522 -0.000438870719 0.007501094458 1.395260688e-10 -1.700833126e-07 -8.396358254e-08 2.066311509e-07 -0.0005204127537 8.509022547e-10 1.188911817e-08 4.036460619e-07 -9.800217306e-08 0.0005241038975 2.596652829e-09 7.499168301e-10 5.65547082e-05 2.088931808e-05 -7.595560216e-06 -1.899315695e-12 -2.505146823e-10 -1.116274453e-08 -4.876095595e-08 -0.0002735909166 2.431323704e-10 6.039904053e-10 8.026245869e-07 8.744591858e-07 4.63485178e-05 3.327348277e-10 6.810563982e-09 8.766016607e-06 2.199249929e-06 -1.988301904e-07 -1.838778474e-10 -5.479252609e-09 6.091267368e-09 -4.747118061e-07 -2.962393328e-05 1.874514771e-10 -3.248521297e-10 7.425926394e-07 -3.371958815e-08 6.599274314e-08 -9.244989987e-11 -7.452379433e-10 -4.493553726e-06 6.361889271e-09 5.219456318e-08 -1.389694786e-10 -2.050844584e-09 -2.5236516e-07 -2.341800775e-06 -3.12970938e-06 --0.1088999622 -0.0971883007 -0.003196427709 0.001268443103 0.0002413391636 -0.000116424734 -1.177070081e-05 6.724454884e-05 -1.405430865e-05 9.23948476e-06 1.077970648e-05 -4.920921257e-08 5.263416591e-06 -0.00298457068 0.002255314302 0.1205781115 -0.001891690997 0.003838869723 -0.05083063928 -1.652181631e-06 -1.477036456e-06 -0.01832835658 -1.904011691e-07 1.089943581e-06 0.001030476234 8.700882526e-07 -6.906076394e-07 -0.0002043410422 8.37852963e-05 3.433745477e-05 1.251985516e-05 -4.309241074e-08 7.695017693e-08 0.0001614082313 -1.431448535e-07 7.896580461e-07 -2.585415792e-05 8.269473123e-08 -2.927197991e-07 4.788396189e-08 -1.324373102e-07 1.623973785e-07 3.674133868e-05 -6.298380038e-07 1.485949005e-06 4.923868734e-06 -2.479148131e-07 4.21559594e-07 5.463526376e-06 -1.184265006e-07 7.640651179e-08 1.094266232e-05 1.512135511e-05 3.044020096e-05 0.08281281295 0.001860872279 0.0002226443393 7.536399081e-08 -6.1258692e-06 0.01647532153 0.001516721268 -0.002756321762 -1.144073095e-07 -5.982287325e-07 -0.005976870979 0.0003584333077 -0.0007779667487 2.531106166e-09 -1.028206623e-07 1.664388498e-08 -6.367851564e-08 0.0004805547441 1.887165496e-11 -2.099660887e-10 -2.853002418e-07 1.324346709e-08 -0.000460695375 -1.915019054e-09 -7.071546184e-09 -4.375015459e-05 -0.0001293363016 1.093913419e-05 2.745731462e-10 -1.174675074e-09 -6.516921036e-09 4.442434489e-08 0.0002828012656 -1.54120347e-10 -8.088110237e-10 -2.880380937e-07 -3.038034229e-07 -3.230821253e-05 -2.365633532e-10 -7.004617421e-09 -8.38006725e-07 -4.986621979e-06 -8.380594163e-06 2.470538029e-10 8.462925821e-09 1.31898343e-07 3.130019347e-07 2.675898106e-05 -1.564826825e-10 1.654444016e-09 -1.249386076e-06 -2.578771923e-09 -1.227964449e-08 7.752480774e-11 1.173746361e-09 2.181497568e-08 6.480701518e-09 5.040711531e-06 1.605609936e-10 3.093331101e-09 8.638164995e-07 3.994720962e-06 -1.107400947e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.01799345834 -0.02314170501 0.005148246673 0.004113663011 -0.03711442399 0.03300076098 0.002455859289 -0.01609809545 0.01364223616 0.0009290815387 -0.005169934235 0.004240852696 -0.000556608114 0.0001661732685 0.0003904348455 0.003027101359 -0.003300663439 0.0002735620798 0.0008256760815 -0.0009561237265 0.000130447645 0.0001296865374 -9.798293098e-05 -3.170360641e-05 -3.035230701e-06 -0.0002366169605 0.0002396521912 1.251020389e-05 -6.895859167e-05 5.644838778e-05 -1.724103712e-05 3.947265868e-06 1.329377126e-05 6.280694769e-06 -1.872383992e-06 -4.408310777e-06 1.763615602e-05 -2.018104933e-05 2.544893312e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0001067311622 0.0005716069962 0.0002996472108 5.393429113e-05 3.058839376e-08 3.584270921e-06 3.455115278e-06 1.402692575e-07 3.229039252e-09 2.638143665e-07 9.200157373e-09 1.819535066e-08 2.565067025e-08 0.002939739135 -0.002147186714 -0.001183951081 -0.0004483812069 0.002394049369 -0.002217233899 -0.000109600286 9.831198424e-05 0.0001062190373 -2.316274033e-06 6.849268553e-06 0.000142594331 1.889160641e-08 -1.562393483e-08 2.211553764e-05 0.0001412201805 -0.0001424597479 1.144251025e-06 1.025325895e-08 -6.958658185e-08 3.753462556e-06 -5.815876649e-07 3.910396252e-06 -2.381523105e-06 2.14568259e-06 -8.702197839e-07 -5.71887327e-07 7.178985953e-07 -3.074341204e-07 -2.831071408e-07 -6.711294193e-09 -4.516796476e-09 -4.729386885e-08 2.976488271e-07 -1.608931969e-07 1.687238555e-08 8.21115764e-07 -3.897540038e-07 -4.249312624e-07 -6.207427381e-05 -2.178611638e-06 2.888877686e-05 0.0004193316174 -0.0004393489448 -1.676869586e-05 1.646623842e-05 -0.0008266413931 -0.0007282308428 0.001305325253 -3.958330076e-07 3.365582525e-07 3.088106897e-05 -0.0001469676094 -1.790476944e-05 -3.294978481e-06 5.176777711e-06 8.335435491e-06 -1.256830663e-05 4.102029615e-05 -1.038915801e-07 -3.213492007e-07 1.191279236e-05 -4.717500421e-06 2.498663765e-05 5.833440782e-10 5.940313487e-08 3.733298788e-06 -1.553133698e-06 8.831156462e-06 -2.564907817e-07 1.539487976e-07 -1.837894437e-08 -2.083989244e-09 2.913707701e-08 3.344379603e-08 -8.276290044e-08 1.221906762e-06 -4.060739477e-09 -1.016196081e-06 -6.107392495e-09 -1.436130669e-08 7.799240487e-07 -2.832329845e-07 8.226242473e-07 -2.580862029e-09 3.93499934e-09 -1.390459612e-07 2.114642459e-07 -5.960708606e-08 -2.913291053e-09 -2.949315257e-09 -8.064827113e-08 -1.259704539e-07 1.930789771e-07 -3.194267914e-09 -2.763569437e-09 -3.874425787e-08 -7.279375885e-09 1.580956565e-07 -2.882086734e-09 -1.358109734e-09 4.123526813e-08 -4.969213752e-08 -9.442707074e-10 --4.323224143e-06 -1.77554922e-05 -4.420392729e-06 -3.45789842e-08 -3.964932023e-07 -9.174958829e-08 -2.371081077e-09 -2.629672089e-08 -1.81873064e-09 -5.9280341e-10 -3.496639478e-09 -6.778623844e-11 -3.832072686e-10 0.01086770412 -0.01097310918 0.0001189129236 -0.005520991608 0.005385441436 0.0001346613608 0.0003738068627 -0.0003730037722 -7.666419682e-06 -5.719280571e-05 6.190370829e-05 -6.761781985e-06 -4.012716537e-08 7.885152878e-08 -7.050505294e-08 1.091650957e-05 -6.851153923e-06 -4.194342074e-06 1.193651292e-05 -1.262919081e-05 5.822826265e-07 -4.376715662e-07 4.440463923e-07 -1.519211247e-08 -1.951845217e-08 -1.48766366e-07 1.689464712e-07 1.729321516e-06 -1.983568289e-06 2.425110797e-07 1.439563521e-06 -1.648574255e-06 2.060692295e-07 7.630247962e-07 -6.038477716e-07 -1.582369765e-07 7.846138574e-07 -8.381072608e-07 5.150783011e-08 -0.0001681847424 8.230956785e-05 -0.0002713020184 0.01255511636 -0.01219260626 0.0001360333617 -0.0001203520424 -0.000229384243 -0.007417811061 0.007639673203 1.173261315e-05 -2.039259534e-05 -0.0009749668492 0.000987230323 -4.029897459e-06 1.562514557e-06 -1.987798866e-06 -7.57483437e-06 6.750986436e-06 -1.485732059e-06 2.589342358e-06 -2.494780942e-06 4.740289459e-06 -4.805501304e-06 -2.326416319e-07 1.150193313e-07 -4.274826219e-07 2.338095522e-07 4.585895846e-05 -4.575480516e-05 8.925215854e-08 -1.003664899e-07 2.879721828e-06 -2.944545621e-06 -7.106788855e-08 -2.991813734e-08 2.655267039e-08 -1.620029576e-06 1.602604962e-06 1.625480608e-08 4.808027709e-08 -7.953786999e-08 -2.016472318e-08 2.349447333e-06 -2.294023925e-06 3.639793068e-08 -5.391611208e-08 1.247261594e-06 -1.543893909e-06 2.991097888e-07 7.485523652e-08 -8.627279653e-08 -8.360758411e-08 1.745334984e-06 -1.649635449e-06 2.376476498e-08 -3.423593286e-08 -5.997368817e-08 2.397140654e-06 -2.326365603e-06 1.752178088e-08 -2.617946227e-08 6.007082872e-07 -8.773441969e-07 2.832377802e-07 --0.01352519994 -0.05974268203 -0.0186248165 -0.0006563369189 -0.0009625938385 -0.0004385995762 -5.70052893e-05 -5.382473648e-05 -1.324202372e-05 -8.921781318e-06 -7.289860237e-06 -1.29165639e-09 -2.335610896e-06 0.07964152311 -0.01885925806 -0.01660171479 -0.00574680729 0.01753896191 -0.006433287207 0.0001323736417 0.001892867491 -0.02350870664 -1.443489128e-05 0.0001648623185 -0.009595341586 1.597790393e-05 -1.192825352e-06 -8.4784262e-06 0.0001269066384 -9.59392747e-06 -0.0003694992749 2.064744865e-05 -8.357315908e-06 -0.0005429958753 -2.088247228e-07 4.215251673e-06 -7.727674004e-07 -2.493457888e-07 1.173966667e-05 -1.171677194e-06 4.453056072e-06 -1.970602132e-06 -5.971039334e-05 3.696408652e-06 -1.658856444e-06 -2.016300646e-06 3.623890605e-06 -1.415610787e-06 -1.425715288e-07 3.337681021e-06 -8.097144683e-07 -1.129174028e-05 0.0009694510183 0.0002090828572 -0.04187710285 0.06623306327 -0.01113037713 0.0001753303412 1.975043901e-05 0.001023959997 -0.005677020786 0.03280187875 1.014757303e-05 2.858238319e-06 -0.001121499074 0.00544185579 -0.001519178992 9.953943647e-05 -6.37949522e-05 -5.753390549e-06 7.376220367e-05 -0.009167831424 -2.096741185e-09 1.537416432e-06 1.056785471e-05 -6.562793058e-07 -0.001474782205 -6.926784448e-08 -1.68962159e-07 -3.684626392e-05 0.0001787283839 -3.316986788e-05 3.419968586e-09 2.920283036e-09 1.198259697e-09 1.07021718e-07 -0.0004014984998 -3.919720643e-09 1.780215337e-07 -2.829443206e-06 -4.636552644e-06 -5.078924751e-05 1.360029455e-07 2.251346748e-07 -2.529208029e-05 2.228144187e-05 -1.600307421e-06 5.058172697e-08 7.688309506e-08 5.91715891e-08 -1.406357979e-06 -3.635867133e-05 8.068265875e-08 4.722862395e-09 -4.315656143e-08 4.64638533e-06 -1.348888313e-06 8.064872769e-08 4.147015989e-08 -7.320309189e-06 5.307412913e-06 -1.220219097e-06 4.382250185e-08 5.081609573e-08 -1.735347468e-06 -2.076313977e-06 -1.456925542e-06 -0.01309911957 0.06006647671 0.0208755899 0.001163355334 0.0007419435138 0.000489124377 0.0001024010188 3.343498113e-05 1.488717269e-05 1.449928055e-05 4.475957186e-06 2.227794994e-10 2.991700454e-06 -0.07557642442 0.01356035245 0.01824552492 0.003900278694 -0.0161138865 0.002439383027 1.966598765e-05 -0.002553906128 0.02279445148 4.171185693e-06 -9.677006834e-05 0.01094239018 -6.783675815e-06 1.201878312e-06 0.0001192257606 -6.737873586e-05 0.0001508512072 5.013445927e-05 -1.536656783e-05 5.361588211e-06 0.0005978317065 1.283163799e-07 -2.897132602e-06 2.673030212e-06 -1.460921585e-07 -1.36478969e-05 1.005398427e-06 -3.017079093e-06 9.967940218e-07 6.248326716e-05 -2.807318189e-06 3.48060435e-07 -5.821768305e-07 -3.708402406e-06 1.063509506e-06 2.244983844e-06 -2.635965272e-06 4.187892368e-07 1.100613933e-05 -0.0007467129285 -0.0005418473638 0.04180992313 -0.05982114426 0.006583810282 -0.0001158654384 -9.556308628e-05 -0.0009542375802 0.002977049085 -0.03041769331 -5.654032211e-06 -6.689210586e-06 0.005934549094 9.032653994e-05 -0.01111019478 -0.0001626751033 -6.414589176e-05 1.128652096e-05 -2.021835905e-05 0.008941963301 -8.949451677e-08 2.084811184e-08 -1.701180148e-06 -1.928771903e-08 0.001933936335 6.761486965e-08 -1.722568778e-08 0.000108545912 -0.0001556699885 1.545141236e-05 -9.263923829e-09 -1.867672853e-08 -3.541938491e-08 2.849105989e-07 0.0003159593756 -5.083249431e-08 -2.074885836e-07 2.251418178e-06 3.947773829e-06 7.243743543e-05 -9.586459335e-08 -2.927692743e-07 1.094552809e-05 6.478044079e-06 8.166366305e-06 -3.086839749e-08 -8.45854603e-08 8.10547263e-07 5.958682345e-07 2.470354085e-05 -6.380616906e-08 -3.003964015e-08 3.435097659e-07 -4.794900918e-06 1.185395373e-06 -5.724190981e-08 -7.269719927e-08 -4.649551328e-06 9.1820277e-07 1.015825372e-05 -3.1593409e-08 -6.565910384e-08 3.818946577e-06 -1.481234318e-07 4.569634255e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00162377554 -0.06231295818 0.06393673373 0.03490535829 -0.03057409461 -0.004331263676 0.02742993869 -0.02605538145 -0.001374557241 0.01407197436 -0.01374992348 -0.0003220508829 0.01807441456 -0.01808002831 5.613747782e-06 -0.0005455728726 -0.00116311768 0.001708690552 -8.203563427e-05 -0.001419968441 0.001502004076 7.9245632e-07 -0.001458716866 0.00145792441 -1.800967524e-06 0.0003989897321 -0.0003971887646 0.0001495623572 -0.0001440748064 -5.487550815e-06 0.0002670745877 -0.0002674110123 3.36424614e-07 -9.522323699e-06 1.033593098e-05 -8.136072782e-07 -2.551444622e-06 -1.780288766e-05 2.035433228e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.088996375e-06 1.11877817e-05 5.864847006e-06 1.055629268e-06 5.986915383e-10 7.015316621e-08 6.762526655e-08 2.745420967e-09 6.320039204e-11 5.163508426e-09 1.800701408e-10 3.561286207e-10 5.020479124e-10 -0.06480393144 0.06485633946 -6.006866945e-05 0.006622421329 -0.004094429367 -0.002533307184 0.004634081455 -0.004634464194 2.240771473e-06 2.405899665e-05 -2.401485831e-05 2.83551221e-06 -1.400024146e-07 1.398588877e-07 4.330639896e-07 -8.759926811e-05 8.554312223e-05 2.054280303e-06 2.850977795e-07 -2.860251715e-07 7.323076069e-08 2.201159864e-06 -2.075118246e-06 -1.075008666e-07 -8.204088103e-06 8.236688388e-06 -1.882954941e-08 -2.047625968e-06 2.063886701e-06 -1.376803129e-08 -3.244726177e-09 -2.115252783e-06 2.117352087e-06 -3.097537469e-06 3.100086333e-06 4.580215756e-10 -2.529279125e-06 2.587464723e-06 -5.80597372e-08 0.002894446125 -0.002769958927 4.658844049e-07 -0.02635873072 0.02623269368 0.0003730808155 -0.0003712116662 -9.739636075e-05 0.01657477215 -0.01648413512 1.661527158e-05 -8.888765757e-06 -4.818319457e-06 0.008030384045 -0.008035915937 0.0001162726992 -0.0001224896836 -0.000509680475 0.0005157590346 8.95278414e-07 4.623836706e-06 -3.916964916e-06 -7.131061799e-05 7.068821736e-05 5.370868358e-07 -4.98676799e-08 -1.753461389e-09 -2.067217065e-05 2.074434301e-05 1.961420363e-07 8.952438246e-06 -9.95496333e-06 8.736755617e-07 1.313808883e-07 -4.368594956e-09 -1.43467353e-06 1.493326109e-06 8.478031542e-09 -1.631071763e-06 1.566922649e-06 2.755623162e-07 -2.553814111e-07 -1.409976935e-06 1.396124212e-06 1.909350235e-08 1.081827993e-07 -1.001019631e-07 -9.957240421e-09 -4.470589946e-07 4.4921265e-07 1.375758547e-07 -1.258101268e-07 -3.115009263e-09 4.166129449e-06 -4.175159921e-06 1.481486199e-07 -1.407979806e-07 -1.584487231e-06 1.576478448e-06 2.735064169e-09 1.710803789e-07 -1.616627619e-07 -2.54833005e-09 -8.077543575e-07 8.006180754e-07 --1.326267181e-05 -5.446982579e-05 -1.356076301e-05 -1.060804862e-07 -1.216351279e-06 -2.814669419e-07 -7.273939339e-09 -8.067237954e-08 -5.57945339e-09 -1.818586503e-09 -1.072689741e-08 -2.079528158e-10 -1.175593046e-09 -0.003398406741 0.003006693155 0.0004331526636 0.000724235533 -0.00126703972 0.0005400775172 -0.0001209966777 0.0001234419885 -2.350044907e-05 4.481689033e-05 -3.063781198e-05 -2.04707115e-05 1.603992118e-08 9.721599775e-08 -2.107518713e-07 -7.157603564e-06 1.860415002e-05 -1.184224758e-05 -2.892991809e-06 7.392100271e-07 1.815114114e-06 1.936916262e-07 -1.752654656e-07 -4.547559658e-08 -7.867884919e-08 3.937891964e-08 4.132973116e-08 -2.422070199e-07 -6.22376102e-07 8.285806744e-07 -2.21694149e-07 -5.569504973e-07 7.696207758e-07 -1.211309004e-07 -1.162261979e-06 1.286276734e-06 -1.868868847e-07 4.168483161e-09 1.766271127e-07 7.750736634e-05 -3.186917778e-05 -0.0007125801256 -0.004537386336 0.005220688451 -4.440984907e-05 3.845466094e-05 0.0002932984686 0.002148869316 -0.002411181964 -3.604695609e-06 8.770507937e-06 0.0003129087435 -0.0003065443129 -1.283835946e-05 -4.855622831e-07 3.135952008e-07 -4.026730273e-06 3.774752718e-07 -4.56872174e-06 -8.088648288e-07 8.723555908e-07 -1.610679422e-06 1.635818637e-06 -7.122839426e-07 -8.565058635e-08 4.554472658e-07 2.401385559e-06 -1.220273179e-05 9.509776424e-06 -2.789809692e-08 3.833718307e-08 -1.325881428e-06 1.082247128e-06 -2.177859133e-07 9.824607122e-09 -7.787222237e-09 -1.686506488e-06 1.53808725e-06 1.324686571e-07 -1.462356155e-08 3.018025046e-08 -2.912615081e-08 -7.997581905e-07 8.249885418e-07 -1.08812304e-08 2.960082775e-08 -8.021064548e-09 -1.058054327e-06 1.001214314e-06 -2.654636762e-08 3.315326274e-08 -1.511497281e-07 -6.742535613e-07 8.208652736e-07 -6.85536719e-09 1.362092433e-08 -1.769290805e-07 -7.948739921e-07 9.660504763e-07 -5.104867942e-09 1.214915723e-08 4.409754002e-08 -1.493750977e-06 1.436302386e-06 -0.01824220201 0.0805783337 0.02512034325 0.0008852387185 0.001298304745 0.0005915640512 7.688625734e-05 7.259646588e-05 1.786026622e-05 1.203331099e-05 9.832246744e-06 1.742130016e-09 3.150170495e-06 -0.001649987236 -0.08643078348 0.02849196416 -0.02503822496 -0.001175271686 0.01898568913 -0.003103056846 0.000408474929 0.03167054674 -0.0001163204481 2.331398313e-05 0.0128318963 1.770818377e-06 -2.62432328e-05 1.596627572e-05 5.981074793e-05 4.485530716e-05 0.000235472225 -4.021912521e-06 -1.91616038e-05 0.0007389763628 -5.649109324e-06 6.614846167e-07 6.262052095e-07 2.741452961e-06 1.141106054e-06 -1.779989728e-05 -1.595232912e-07 -1.095624187e-05 8.830232328e-05 -1.727041283e-07 -7.323316242e-06 7.467357186e-06 -9.617911258e-08 -8.347648226e-06 5.657689752e-06 5.577487576e-08 -5.892517385e-06 1.765693973e-05 -0.001936718718 0.0001585004831 0.04781906475 0.003424537113 -0.068893031 -0.0001909434488 1.188856279e-05 0.003097079753 -0.04255196697 0.001404923019 -8.483964184e-05 2.730610839e-06 -0.0114649167 6.75779401e-05 0.007683799312 -0.0001435779227 -6.68125391e-05 -2.420485852e-05 -5.016958588e-06 0.01246484702 -1.980227074e-06 3.735005527e-07 2.125983226e-06 -7.526938215e-06 0.001980690766 -1.096488025e-06 -2.434405987e-07 1.096696896e-05 -2.168159232e-06 -0.000153763929 -6.497518753e-09 2.759979108e-09 -9.280175871e-08 1.496526367e-07 0.0005413161043 -2.915279494e-07 3.669343461e-08 -6.519984522e-06 1.679023663e-06 8.343311547e-05 -6.850453021e-07 1.335530872e-07 1.69096687e-05 6.315179334e-06 -1.694139915e-05 -2.01693867e-07 5.920072221e-08 -8.935341757e-09 -4.547323689e-06 5.538285574e-05 -1.849636634e-07 3.147424099e-09 1.464646894e-07 -7.115780087e-07 -3.757574703e-06 -1.99582072e-07 2.838634075e-08 9.091074011e-06 -6.967942491e-07 -4.027107143e-06 -1.597838453e-07 3.362688441e-08 3.230030163e-07 -3.087614101e-06 9.869164827e-06 --0.01748639118 -0.08018446608 -0.02786742493 -0.00155299647 -0.0009904417201 -0.0006529461884 -0.000136698063 -4.463331724e-05 -1.987331469e-05 -1.935550632e-05 -5.975083887e-06 -2.973947564e-10 -3.993706917e-06 -0.003249834809 0.09328021568 -0.03159981964 0.02857336326 5.105882809e-05 -0.01557652851 0.003818174704 -0.0004468098498 -0.03041730325 7.387912771e-05 -2.637773687e-05 -0.01453119962 -2.046824949e-07 2.618178552e-05 -0.0001776836955 -0.0002176822485 -8.882516991e-05 0.0001281516868 2.431776419e-06 1.407266177e-05 -0.0008012112301 6.205503968e-06 -2.823931672e-07 -5.795243303e-06 -1.751719601e-08 -1.794984978e-06 1.888435935e-05 1.382939578e-10 9.654792341e-06 -9.036870314e-05 -1.09892328e-07 7.400771453e-06 -3.230780687e-06 -3.501126728e-08 8.152739519e-06 -7.583878161e-06 -1.352811427e-07 5.698355758e-06 -1.729571431e-05 0.002213470272 -0.0003301984424 -0.04897274462 -0.007003080899 0.07106746903 0.000251597986 -4.008116331e-05 -0.00451847988 0.04556528613 -0.003070937265 8.909966863e-05 -5.08422607e-06 -0.00333689347 0.01234697911 -0.002289085054 0.0004032435307 -2.688576081e-05 5.778461895e-05 1.58769992e-06 -0.01205790066 1.453951493e-07 1.276192571e-08 -1.92524906e-06 6.140807131e-07 -0.002578125844 1.12281779e-06 -3.462616822e-08 -2.065085136e-05 -7.141692118e-05 0.0001331930647 1.567829185e-07 -3.132345755e-09 4.814715021e-07 -1.490821713e-08 -0.0004226992193 4.264499108e-07 -6.822043276e-08 9.362134547e-06 -9.118732075e-07 -0.0001134379446 7.075240937e-07 -1.534934636e-07 -1.660550148e-06 1.779504023e-05 -5.033046652e-05 1.768397299e-07 -5.487682036e-08 -1.109312692e-07 3.254383363e-06 -3.796622346e-05 2.183882167e-07 -1.496735909e-08 -5.032031642e-07 2.877748792e-07 4.497156526e-06 2.137794861e-07 -3.989079495e-08 -1.011683349e-07 4.798608316e-06 -1.327732964e-05 1.630513155e-07 -3.680404806e-08 -1.013009801e-06 -5.22677944e-06 1.282078471e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.0009269225763 0.3400683679 0.01206588618 0.004151052309 0.2938714979 0.003717202171 0.004151801438 0.1816638353 0.001011755621 0.002589756357 0.07656776695 0.0002285133188 0.0321594005 0.01016431946 3.602492477e-06 0.0005805604634 0.01611697302 0.000179335446 6.799698104e-05 0.009896917038 0.000228103607 4.392985063e-06 0.003155721279 0.0006729341173 4.62087064e-09 8.234101554e-05 0.002613278576 2.876784793e-05 0.0007790243383 3.981882657e-06 0.0005154750349 0.0001386812862 2.703291706e-07 0.000118926005 9.264748517e-07 1.676657899e-07 2.300329315e-06 0.0001349776532 3.065133367e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3.011952136e-07 1.613074268e-06 8.456040746e-07 1.522025058e-07 8.632041103e-11 1.01148083e-08 9.750331232e-09 3.95839679e-10 9.112344954e-12 7.444838305e-10 2.596283323e-11 5.134725806e-11 7.238616113e-11 0.239967483 0.01755041653 1.182538076e-05 0.000460324206 0.09914517325 0.001203806869 0.001073568173 0.02001422467 2.06202336e-07 2.848495824e-06 0.0002039375872 3.884781825e-07 7.678978157e-07 2.557777799e-08 6.239456447e-08 0.0001159588833 0.0002550338549 1.528305999e-08 7.194600764e-08 1.127310125e-06 1.075258861e-08 1.283956013e-07 3.833467395e-05 1.528247546e-08 4.060887848e-05 1.678889944e-06 1.123743932e-09 1.204004948e-05 3.569976304e-07 1.400710365e-09 4.034598877e-10 2.064158518e-05 2.175362158e-07 1.487172425e-05 6.474816912e-07 4.071923095e-12 1.069577868e-05 6.375624195e-07 1.355169823e-08 0.00222388174 0.003196659544 6.184262397e-09 0.144404355 0.004792295471 0.001323289128 0.0001074809844 2.262545003e-05 0.002393539321 0.1151298908 2.708993449e-05 1.184900532e-06 1.894916729e-06 0.001385983655 0.04660442206 0.001029186584 1.670988806e-05 0.004868389405 5.321247701e-05 8.556361898e-08 8.379082167e-06 1.294357862e-06 0.0004761908043 1.062582169e-05 5.314712314e-08 4.438373297e-07 6.256908076e-08 0.0001894391326 2.271853572e-06 1.895600299e-08 2.941593082e-05 4.097193431e-06 1.223561084e-07 3.451639231e-08 2.129917569e-09 8.789969565e-07 2.203993643e-06 1.059258485e-08 3.181469747e-08 8.386543231e-05 4.324016253e-07 1.264746199e-07 9.066555448e-06 2.200941874e-07 1.440828646e-09 2.083298697e-07 3.978897035e-08 2.048874724e-09 4.200527758e-06 4.924357073e-08 2.717992837e-08 6.221863507e-07 6.488460923e-10 1.155331052e-06 1.511069181e-05 6.871390618e-08 2.790136237e-07 5.044062846e-06 4.968475952e-07 5.747013784e-10 1.803035002e-07 1.270406161e-07 1.124306073e-09 5.928893674e-06 1.09364448e-07 -3.747713844e-09 1.539186998e-08 3.831947287e-09 2.997580822e-11 3.437117794e-10 7.953582577e-11 2.055441282e-12 2.279608497e-11 1.576620081e-12 5.138890497e-13 3.031164646e-12 5.876249203e-14 3.321944776e-13 0.0005957171189 0.2177345324 3.59029905e-06 0.05147839193 0.0005938175569 4.942720911e-06 0.004483374268 3.4430939e-05 7.02783673e-09 0.0006647005883 7.032235289e-06 1.837897032e-08 3.628121981e-11 5.127955483e-05 1.14118148e-10 1.037788292e-06 0.000153844745 9.326282233e-08 1.910222987e-06 7.852337593e-05 2.58494599e-09 1.441064639e-05 1.576291115e-08 1.911311826e-11 2.292421465e-10 6.479888413e-10 3.65790601e-05 1.039740047e-07 2.857578966e-05 4.41467839e-09 1.271877492e-07 1.637091658e-05 1.23298079e-08 3.617576749e-08 1.70131791e-05 2.503374063e-07 4.413013177e-08 1.468060271e-05 8.790293138e-10 0.004564416005 1.949798441e-06 4.545169031e-06 0.0009539604888 0.1863381336 0.000331929295 3.455882867e-05 6.937080943e-05 0.09752020396 0.0006676804882 0.0002199396061 5.020051236e-06 0.02137669085 4.96897775e-05 6.76351009e-09 1.193666915e-05 4.182258542e-07 5.063274567e-05 7.443534382e-07 7.015292049e-10 2.439417662e-05 2.296914532e-07 3.750834378e-07 7.286720389e-05 2.211050761e-10 3.275149297e-06 2.501407384e-07 5.675950109e-08 5.695574406e-06 0.0003963590513 3.279591324e-07 3.522862483e-08 1.219251428e-05 8.059340499e-07 2.950251307e-11 3.640105499e-07 2.174952327e-09 6.105771258e-06 2.445401429e-07 3.832621165e-10 1.476424196e-06 6.208857158e-09 5.203064149e-10 1.327686436e-07 4.625995423e-05 6.35699415e-07 7.627037344e-09 9.365555429e-08 1.502293123e-05 5.604428577e-09 3.905433851e-07 2.547527941e-08 8.726613001e-09 3.277456988e-07 1.068213393e-05 4.641462597e-07 3.297071296e-09 3.043771808e-09 4.372053726e-07 1.452737618e-05 3.940219687e-07 2.548144076e-09 3.16406224e-08 1.015603736e-05 6.322849521e-08 -0.03268283274 0.1443646004 0.04500574965 0.001585998716 0.002326050155 0.001059849514 0.0001377498554 0.0001300642406 3.199855442e-05 2.155894832e-05 1.761550911e-05 3.121210032e-09 5.643863352e-06 0.03241602958 0.04204590144 0.04704697813 0.01340056359 0.005425290957 0.03094462135 0.00179206802 0.0005674979083 0.0567288742 4.38359936e-05 0.0001047514898 0.02302825111 4.508827803e-06 1.457412461e-05 2.760932048e-05 0.0001445790523 6.589225333e-06 0.0006800036301 9.815087568e-06 9.576726423e-06 0.001317861331 3.043549386e-06 1.521431363e-06 1.164924107e-06 4.683261859e-06 3.592127268e-06 9.584103047e-06 8.152519325e-07 7.118058352e-06 0.0001546021151 9.133720972e-07 5.333545984e-06 9.608893051e-06 7.855229787e-07 6.760757945e-06 5.335401919e-06 8.558466783e-07 3.416460932e-06 3.064688772e-05 0.001511504953 1.502216582e-05 0.08493931648 0.02921560499 0.03350212798 0.0001792529213 8.793842581e-07 0.003176012614 0.02234705821 0.01172092917 5.177392616e-05 1.728067148e-07 0.006204121746 0.001128775642 0.01363601812 0.0001213229835 2.168843865e-05 1.645919496e-05 2.020852949e-05 0.02228434537 1.112963903e-06 5.472366498e-07 7.243034942e-06 2.944783567e-06 0.0035510187 5.856475895e-07 6.662037423e-08 2.869558783e-05 9.366595868e-05 6.537392881e-05 5.051921049e-09 9.847693966e-10 1.10968197e-07 2.170590989e-07 0.0009697703614 1.622193007e-07 5.597899332e-08 6.17415802e-06 1.181647526e-06 0.0001464137627 4.405730033e-07 5.806189139e-08 3.085621436e-05 1.843104447e-05 7.64236701e-06 1.343890123e-07 2.498167267e-08 3.386583649e-10 4.226774911e-06 9.573851211e-05 1.366994265e-07 7.411528225e-11 1.829193281e-07 2.307166901e-06 1.564217158e-06 1.45301673e-07 5.575552974e-09 1.757050874e-05 2.548949639e-06 1.444582306e-06 1.079805716e-07 1.201054113e-08 3.01393045e-07 1.199777935e-05 8.768126889e-06 -0.03133879958 0.1437051754 0.0499435038 0.00278325268 0.001775052052 0.001170198557 0.0002449878396 7.999103811e-05 3.561660147e-05 3.468859451e-05 1.070843918e-05 5.329855983e-10 7.157450576e-06 0.02783433637 0.04784792553 0.05320208007 0.01563475196 0.004081729173 0.02580291862 0.002129542069 0.0008247086037 0.05449252657 3.232134857e-05 6.670672688e-05 0.02605906753 7.461709703e-07 1.567419016e-05 0.0003148732798 0.0003778816863 8.048641281e-05 0.0001209580303 7.211147625e-06 6.62674296e-06 0.001433246606 3.489481797e-06 6.088926784e-07 1.020222356e-05 1.344626542e-08 4.836997638e-06 1.009492167e-05 4.092735935e-07 6.015137939e-06 0.0001597954908 5.366994984e-07 5.341500409e-06 2.938901406e-06 8.010488721e-07 5.344931308e-06 1.090596115e-05 5.43990302e-07 3.315697284e-06 3.03152924e-05 0.001571057802 9.029921307e-05 0.08594440822 0.02403468631 0.03725373947 0.0001888539947 1.451505617e-05 0.006119098749 0.02493882272 0.009621796996 5.231579094e-05 1.197063836e-06 0.008026042813 0.006109859602 0.004976543728 0.0002931657507 4.955780146e-06 2.863457316e-05 5.09175622e-06 0.02157031034 1.182533793e-07 1.536904276e-09 3.890104524e-06 1.532710487e-07 0.004621201724 6.022202791e-07 2.552248058e-09 3.388465435e-05 0.0002935802916 4.516270942e-05 9.244648444e-08 1.383847193e-09 2.575198195e-07 4.939242673e-08 0.000757562764 2.605995039e-07 5.60202381e-08 6.903500331e-06 6.052094957e-07 0.0002003790549 4.370694416e-07 1.023423195e-07 2.348394552e-06 5.393357273e-05 4.700821464e-05 1.124766973e-07 3.561128342e-08 8.052287291e-08 2.708765871e-06 6.611704632e-05 1.486852347e-07 2.521038575e-09 8.470313302e-07 2.167388808e-06 2.026338281e-06 1.437525294e-07 1.633201269e-08 2.039465645e-06 2.33902561e-06 2.357787201e-05 1.048841402e-07 2.038290957e-08 1.601227157e-06 1.454620521e-05 2.138963796e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.01359971614 -0.017716024 0.004870577299 0.002945054874 -0.02258970716 0.02016616809 0.001170152392 -0.006268732172 0.005303920493 9.361718399e-05 -0.0004034949895 0.0003271847613 3.30075815e-06 4.682448629e-06 -1.150054311e-05 -0.0005385318149 0.0005849047437 -5.487122752e-05 -3.959664539e-05 4.592455127e-05 -7.709729292e-06 -9.850949068e-06 8.933081828e-06 9.639884054e-08 -3.893088897e-07 -2.898139548e-05 3.033521284e-05 -7.868878997e-07 3.528113982e-06 -2.857384213e-06 -1.778304806e-06 -1.507787295e-07 2.240111358e-06 -1.861720417e-06 4.827988431e-07 1.280855379e-06 2.880021248e-06 -3.298432616e-06 4.832465758e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.000385936183 0.0007041971451 0.0003340516185 7.745010486e-05 -1.202026201e-06 -7.112615906e-06 -5.392230564e-06 -5.875790607e-07 7.83638198e-08 3.517579373e-07 6.498713897e-08 3.741791447e-08 -5.278823635e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.711187742e-05 -4.762918002e-06 -3.452909025e-06 -3.44096788e-08 -4.764990026e-07 1.050048351e-07 -5.696869943e-09 -2.932066614e-08 9.6618421e-09 -4.360936931e-09 -8.167742329e-09 -1.104322162e-09 -2.552366243e-09 0.007257075326 -0.00775669315 0.0008820567467 -0.0005376917684 0.0006892036474 -0.0001249373536 -0.0001782224334 0.0001723473016 -4.067238072e-06 -3.766408681e-05 4.153245708e-05 -3.71468382e-06 1.035602473e-07 -3.342057471e-07 -2.880445452e-07 5.54998959e-06 -7.576523029e-06 2.300138342e-06 3.472586714e-06 -3.64970736e-06 2.042980081e-07 -5.464594946e-07 6.187027919e-07 -3.72896613e-08 1.421886134e-07 -1.249132704e-07 9.812740221e-08 1.397713984e-06 -1.761449192e-06 4.05421321e-07 1.23992897e-06 -1.733766292e-06 5.222040726e-07 8.476309401e-07 -2.913339955e-06 2.103212169e-06 7.250227525e-07 -8.472328234e-07 1.511920896e-07 0.0001435781373 -7.762534933e-05 -0.0005916976498 0.01052483806 -0.009564863396 -0.0001364701737 0.0001302308261 0.0005619413886 -0.003395887398 0.002939769287 -1.201777308e-05 1.648781647e-05 0.0001220231649 -0.0001348598248 -1.281142642e-06 -1.594769504e-06 2.323262747e-06 2.737533223e-05 -2.949224832e-05 -7.04567521e-07 -2.637975156e-06 2.259030916e-06 -9.405775857e-06 9.297350576e-06 1.790695927e-07 -6.153627893e-08 6.559704687e-08 -1.434964197e-07 1.462804549e-06 -1.280408409e-06 -9.09217631e-08 9.556296623e-08 3.515197666e-06 -3.49378232e-06 -1.649427856e-08 2.996073367e-08 -2.382764523e-08 -1.57670999e-06 1.824256484e-06 -1.801953154e-07 -4.940073015e-08 7.833251589e-08 -1.109997048e-07 2.101839492e-06 -1.896898824e-06 -3.76208908e-08 4.346725108e-08 1.282254904e-06 -1.446352957e-06 1.937321785e-07 -7.273265078e-08 8.01089118e-08 -3.096881613e-07 2.043451263e-06 -1.703170407e-06 -2.484061019e-08 3.251487553e-08 -1.689265051e-07 2.627183771e-06 -2.421401037e-06 -1.825737871e-08 2.337547759e-08 7.299784594e-07 -1.165061301e-06 4.606385148e-07 -0.08216582772 -0.008670823211 -0.01263868873 -0.0004400207071 -0.001272080128 0.0003097840395 -3.67123883e-05 -7.609690251e-05 4.386926765e-05 -2.554079379e-05 -1.810164252e-05 -2.537922723e-07 -1.04070121e-05 0.05406913365 -0.01544134365 -0.09987102253 -0.0005846010479 0.002530639196 0.0137035689 -2.835189971e-05 -0.000676714437 -0.01071690538 -2.125415994e-05 0.0001956208728 -0.004918751761 -3.688225203e-05 4.65315841e-06 0.0001251172427 5.368434069e-05 4.737498372e-06 9.874628323e-05 7.933428059e-06 -3.305866694e-06 -0.0001548078823 -3.925877985e-07 6.159716503e-06 -1.007011437e-05 1.923770493e-05 8.075963382e-06 -8.584097026e-07 3.500401098e-06 -1.829243437e-06 -6.659289825e-05 3.548358501e-06 -2.956926887e-06 -1.291164849e-05 3.773027959e-06 -4.185208915e-06 -9.307853249e-06 3.143231215e-06 -9.801920416e-07 -2.60662176e-05 -0.0009246301404 -0.0002012475186 -0.07775321002 0.05718884663 -0.01097070683 -0.0001745441886 -2.24116091e-05 -0.003999105048 -0.003501358049 0.0141586032 -8.691467248e-06 -1.935888549e-06 8.410934987e-05 -0.0003584038356 -0.001401587235 -9.858200848e-05 7.414438019e-05 1.717156218e-05 -0.0001503076036 -0.004157318 4.253129441e-08 -1.365635722e-06 -3.316596629e-05 3.050844998e-06 0.0005464931284 9.041213991e-08 -7.867488236e-08 5.747366763e-06 -8.983455123e-06 1.644742861e-06 -3.351954548e-09 -2.070253393e-09 1.916176662e-07 2.355760211e-06 -0.0001141188932 9.800025013e-09 -1.706385229e-07 -3.662117398e-06 -7.401469858e-06 9.282517096e-05 -1.248755793e-07 -1.98069347e-07 -2.843872377e-05 1.617245688e-05 -1.418171274e-06 -4.717149222e-08 -6.039348444e-08 6.535166496e-08 -1.436762213e-06 -1.904841252e-05 -7.870419242e-08 -4.518500185e-09 1.255004733e-06 5.686934599e-06 -1.662529865e-06 -7.801509159e-08 -3.984222088e-08 -1.234734602e-05 6.219832849e-06 -1.489260361e-06 -4.120639509e-08 -4.566701181e-08 -2.144076599e-06 -3.036402311e-06 -2.075335266e-06 --0.08134389216 0.005996957965 0.01360273996 0.0006982159021 0.001114849107 -0.0002904630075 4.52259783e-05 6.200431669e-05 -4.602857202e-05 3.085753947e-05 1.371956996e-05 -1.048913975e-07 1.161862177e-05 -0.05188062748 0.01193391624 0.1054275909 0.0003847698094 -0.002218271705 -0.01419149699 -2.937247668e-05 0.0007892666602 0.01005252734 1.146977768e-05 -0.0001703382075 0.005564171515 1.477744213e-05 -4.177410674e-06 -0.000395576053 -9.269462918e-05 -7.394106951e-06 -2.947769363e-06 -7.35669664e-06 2.677620814e-06 0.0001717506148 2.254233966e-07 -3.63302863e-06 -3.136132598e-05 -1.015602494e-06 -7.729105684e-06 5.998127293e-07 -2.396471526e-06 1.004968133e-06 6.391286336e-05 -3.155715578e-06 2.45339584e-06 6.235984274e-06 -3.596184267e-06 2.000551848e-06 1.462033163e-05 -2.509579114e-06 5.861070914e-07 2.477340661e-05 0.000694137426 0.0005166133075 0.07585144951 -0.05259849636 0.007455454505 0.000112554707 0.0001049797578 0.005701079264 0.002202435865 -0.01369021163 3.955195518e-06 3.843906349e-06 0.0004769892999 -6.794231968e-05 0.0007520325331 0.0001570592558 7.061471361e-05 -1.03565918e-05 4.928109989e-05 0.004142070096 8.805953796e-08 -2.539347814e-08 2.138127673e-05 -3.575217848e-07 -0.0005334634071 -9.118997939e-08 -2.662777602e-08 -1.247411345e-05 5.238530442e-06 -9.269138099e-07 5.667342902e-09 2.219983946e-08 7.88923837e-08 -1.237529839e-06 0.0001105582185 4.268264001e-08 1.969029206e-07 2.840133034e-06 5.697808764e-06 -0.0001035407726 8.254816077e-08 2.423225901e-07 8.687471602e-06 6.465416501e-06 7.241196498e-06 2.729527163e-08 6.506806796e-08 9.700232956e-07 6.839767759e-07 1.381210555e-05 6.047929591e-08 2.879300335e-08 -2.60349696e-06 -5.814995334e-06 1.539752162e-06 5.359385859e-08 6.887544989e-08 -5.694637084e-06 1.267710282e-06 1.409012346e-05 2.844493026e-08 5.824461716e-08 4.907725177e-06 7.147685188e-07 6.558892945e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.003452241436 0.05693874753 -0.05340529978 -0.01875765275 0.02212681892 -0.003325039929 -0.005713541456 0.006346013645 -0.0006217870246 0.001638030826 -0.001761412802 0.0001208256212 0.001698832951 -0.001712591949 1.262282371e-05 4.695473257e-05 -0.0002388793004 0.0001914168027 -1.771706016e-05 0.0001642471572 -0.0001462573382 3.64266146e-07 -1.261627423e-05 1.224284644e-05 3.337570542e-07 -3.849510388e-05 3.825245656e-05 2.782950507e-05 -3.020994289e-05 2.338885633e-06 -2.402696518e-05 2.447334171e-05 -4.293729191e-07 -2.374195672e-06 3.07511218e-06 -7.116402458e-07 -9.472672566e-07 7.236011534e-06 -6.276992861e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0002430526798 -4.875897791e-05 -5.129309517e-05 -2.451918719e-06 -2.387929703e-07 1.184150024e-06 -3.923678838e-07 1.221809119e-07 2.322798221e-08 -1.659864968e-07 2.390415008e-08 -3.264407102e-08 -3.767684778e-08 0.04231099084 -0.04398864874 0.001489722189 -0.001066213385 0.002406160364 -0.00131460068 0.001157559256 -0.00117326434 -1.982856202e-05 3.393542987e-05 -3.490868685e-05 -1.511320933e-05 -3.227976323e-06 3.201786891e-06 6.16067362e-06 -2.676606184e-05 2.762791701e-05 -1.089097501e-06 -7.897556721e-07 7.98975927e-07 -3.794915549e-07 -2.449937545e-06 3.787223925e-06 -8.735767962e-07 7.610513169e-06 -8.229907613e-06 2.814751884e-07 2.273955885e-06 -2.603046303e-06 2.267913532e-07 -8.817352123e-08 1.916884844e-06 -1.802808347e-06 2.955586257e-06 -3.038446294e-06 -9.716113047e-09 1.95103832e-06 -2.58966199e-06 6.059082628e-07 0.002820027377 -0.002764150129 -1.354773064e-05 0.02730146239 -0.02733573558 0.0003527297532 -0.0003487587999 0.0002772096168 -0.005639434704 0.00538238288 1.613939254e-05 -1.034585766e-05 -1.431618249e-05 0.0007835508861 -0.0007817439545 0.0001122812178 -0.0001165212429 -0.0002058131395 0.0002046030488 -4.928483462e-06 4.499057091e-06 -4.29870572e-06 5.938304741e-05 -5.846403245e-05 1.76790149e-06 -4.919140982e-08 7.406958243e-08 1.080737816e-06 -1.105983619e-06 -4.833620265e-08 8.6427901e-06 -8.916052561e-06 9.191282925e-08 6.655817564e-08 8.666100783e-08 -1.394553914e-06 1.398976214e-06 4.160997679e-07 1.590536568e-06 -1.780866983e-06 2.682304427e-07 -2.699596838e-07 3.153336135e-06 -3.18796854e-06 -1.20070872e-07 1.050792478e-07 -1.048608666e-07 -7.176616791e-08 1.128612551e-06 -1.028836897e-06 1.340858908e-07 -1.282216207e-07 5.074009445e-08 -4.591592018e-06 4.539588595e-06 1.443196761e-07 -1.430349536e-07 3.150700293e-06 -3.128716262e-06 -4.698487849e-08 1.676442439e-07 -1.629387661e-07 -5.415417446e-08 1.428264307e-06 -1.372666236e-06 -4.305015067e-05 6.878801408e-05 2.248742925e-05 1.086917446e-06 -2.398581019e-06 -6.307132078e-07 -7.829090375e-08 1.410057365e-07 3.259598042e-08 9.241680556e-09 -2.220527415e-08 1.265817373e-09 -3.576066483e-09 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.07402888039 -0.02950115971 -0.008431221891 0.0001649273791 -0.001010641125 0.0005398911805 -9.346771001e-05 -6.557169296e-05 3.885126676e-05 -3.332371162e-05 -2.559556978e-05 -2.777531046e-07 -1.09201576e-05 -0.0147222263 0.06069645968 -0.09663375365 8.607611113e-05 -2.471111143e-05 0.0001574945247 -0.001225909834 0.0004073206725 -0.01090556476 5.376813183e-05 -3.109057835e-05 -0.001728043266 1.463167215e-05 -6.666269428e-05 0.0001464099518 -2.622807076e-06 -1.024969861e-05 0.0004633324936 -1.645207013e-06 1.298515123e-05 -0.0002153672844 7.809181882e-06 -3.270195393e-06 -7.029156295e-06 1.791403696e-05 -6.951972534e-06 1.839662108e-05 -1.401453367e-06 1.330334458e-05 -9.983250148e-05 -4.971708772e-07 7.035844233e-06 -2.119377049e-05 -1.836276582e-07 5.453165471e-06 -1.492920238e-05 -1.033446506e-06 6.320497335e-06 -3.022502348e-05 -0.001578230941 0.0002344259571 -0.06114803131 -0.02447461973 0.06878519577 -0.0001325675095 1.594178193e-05 -0.00251121787 0.008770957751 -0.002078196475 -8.024136496e-05 4.564571318e-06 -0.00246424817 0.0005802973059 -0.001909801858 -0.0001099993966 -7.745903962e-05 -6.015560003e-05 3.279493179e-05 -0.001978203787 -1.945878876e-06 9.809835035e-07 2.493673612e-05 -4.03297874e-05 0.0007893069731 -1.101028705e-06 -4.869259608e-07 -1.907013309e-05 -3.001839786e-05 7.10481064e-05 -5.313307539e-09 4.492453961e-09 1.061508674e-06 -1.097745343e-06 -6.581955732e-05 -2.877261368e-07 1.0279051e-07 1.666433556e-05 2.657092218e-06 3.194287868e-05 -6.306618434e-07 2.291631961e-07 -1.692414821e-05 -1.830116865e-05 2.183741552e-05 -1.820887305e-07 9.81013956e-08 -3.574502379e-08 1.263408786e-05 -4.355129656e-05 -1.567099041e-07 4.89609058e-09 1.098354684e-06 -1.230603563e-06 6.267972161e-06 -1.707616385e-07 4.343752743e-08 -9.813216107e-06 -1.294837434e-06 5.584668793e-06 -1.430927364e-07 5.471598473e-08 4.93973151e-07 7.251059379e-06 -1.515624627e-05 --0.07359945238 0.02687349403 0.009664511334 -0.0001375745821 0.0009302389773 -0.0005444668241 0.0001112750749 5.064914104e-05 -4.200193027e-05 4.155442616e-05 1.911556395e-05 -1.117239353e-07 1.212868901e-05 0.01686569656 -0.06485024509 0.1025355765 -0.0009248044289 0.0002895655922 -0.001434803569 0.001414362723 -0.00047112 0.01080735628 -5.460958507e-05 3.66526866e-05 0.002217166538 -5.870341811e-06 7.015086141e-05 -0.0004979010505 -0.0001240259212 -8.751374431e-05 -0.0001314295874 1.624661004e-06 -9.761319321e-06 0.0001967014756 -8.534220205e-06 2.471657964e-06 -2.038748775e-05 -9.241224411e-07 9.626935663e-06 -1.942547603e-05 1.142479049e-06 -1.199252775e-05 9.704868994e-05 1.051697271e-07 -5.692791249e-06 1.140031999e-05 5.903300657e-07 -7.019317632e-06 1.929161695e-05 9.17480732e-07 -6.217526952e-06 2.966651083e-05 0.00192154062 -0.0005312688708 0.06012739898 0.02602834705 -0.07045316693 0.0002105871634 -6.293884459e-05 0.003751631044 -0.01058303639 0.002599899175 8.576524724e-05 -1.003712464e-05 0.002029616714 0.002145421696 -0.0008094676945 0.0003448261319 -4.205249506e-05 6.17121299e-06 -1.489783445e-05 0.002097830539 1.146955607e-07 1.647626266e-08 -2.076889271e-05 8.736142386e-06 -0.0008389848078 1.124627045e-06 -7.32690043e-08 2.121322443e-06 6.129801009e-05 -4.877522271e-05 1.505978942e-07 -6.064212326e-09 1.606533658e-06 4.405061993e-07 5.246517854e-05 4.026391898e-07 -1.467543278e-07 -1.791136942e-05 -2.352497337e-06 -4.133129584e-05 6.644035985e-07 -2.901600141e-07 -2.825477992e-06 -2.813599439e-05 5.671829801e-05 1.635663212e-07 -9.913422559e-08 -6.043073698e-07 -9.410142382e-06 3.301271989e-05 1.945024624e-07 -2.604192648e-08 -2.293314275e-06 1.709657594e-06 -6.630251812e-06 1.917672137e-07 -6.712120786e-08 2.080007922e-06 -6.602047178e-06 1.159158039e-05 1.499113429e-07 -6.473357785e-08 -5.743917301e-07 8.519564953e-06 -2.283241466e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.005092260215 0.2159229816 0.03128609154 0.01023966199 0.1364105291 -0.005769465182 0.003939461264 0.03711481036 -0.00115350517 -0.0006503489898 -0.004592199348 0.0001103071516 -0.003444074923 -3.267114599e-07 1.255412052e-05 0.0001133718668 -0.001954061025 -0.000118384221 -1.688859913e-05 0.0005021928503 5.352181271e-05 2.100725555e-07 -1.024731525e-05 -6.451937434e-06 3.077112667e-08 4.853601893e-05 0.0002761175576 -1.371259e-05 -9.312617875e-05 2.874064809e-06 5.195097589e-05 -9.443772269e-07 -3.900716765e-07 -3.145050829e-05 -2.116425214e-06 -4.356827753e-07 -1.388553119e-06 2.884102274e-05 2.89138457e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0002494338683 -2.898392229e-05 -5.478372412e-05 -4.310549138e-06 -2.45053935e-07 9.570084319e-07 -3.088707248e-07 1.327540219e-07 2.341047798e-08 -1.500887843e-07 2.197588765e-08 -3.255183876e-08 -3.727053159e-08 0.1178396004 0.03327416402 0.001486703152 0.000300850084 0.01669489188 -0.00226630718 -0.0007330495835 -0.003475237834 -1.887640138e-05 -2.328904449e-05 -0.0002724694242 -1.840323931e-05 -1.238603133e-05 -1.890585189e-06 5.754100819e-06 -2.533941026e-05 8.945375078e-05 -1.081987783e-07 5.847396975e-07 2.441060257e-06 -4.108785794e-07 1.050649063e-06 3.611193161e-05 -1.030035133e-06 2.867468695e-05 5.549108726e-06 2.567654973e-07 1.066716748e-05 1.74974921e-06 1.91410635e-07 -9.068487264e-08 1.340982603e-05 8.946278096e-07 1.084090075e-05 2.070410754e-06 -9.556506645e-09 7.716208216e-06 2.396942507e-06 5.129699389e-07 -0.003257524114 -0.001419906168 -1.435953442e-05 0.1132231143 0.0173004834 -0.001301066453 0.0001017569226 0.0002953545919 0.004160075235 0.03553343691 -3.077031881e-05 1.579449011e-06 -9.544126973e-06 -0.0003329997855 -0.002335244342 -0.0009205670036 4.78671689e-05 -0.001692966762 -0.0001276775487 -5.772424614e-06 -9.260069485e-06 2.772841615e-07 0.0002369134645 2.769900074e-05 1.497161099e-06 -3.491013331e-07 3.106612177e-08 -1.353586183e-05 -1.104346916e-06 8.340441388e-08 -2.907086282e-05 2.171138599e-06 -2.446398696e-07 2.683225833e-07 1.210392288e-07 -4.452375574e-08 -2.626257767e-06 4.414942534e-07 -8.04401244e-07 7.441662867e-05 -4.955668241e-07 -6.091654188e-09 1.354454759e-05 1.732537647e-06 -9.995963253e-08 -2.271591453e-07 6.749194911e-09 -8.005594454e-08 6.30015076e-06 4.561721826e-07 -8.889249067e-08 -4.675914035e-07 5.264024494e-08 3.417648886e-06 1.210262172e-05 -1.288979016e-07 -1.726444823e-07 7.005365734e-06 2.356218887e-06 -5.06518201e-08 -2.32526609e-07 -3.461515232e-08 -5.804354941e-08 7.17101123e-06 7.186629232e-07 -2.506828058e-05 -9.632841743e-06 -2.460176593e-06 2.267392953e-08 -3.884942874e-07 1.478990988e-07 -1.141743543e-08 -2.745159452e-08 8.62389641e-09 -5.144868318e-09 -1.061749256e-08 -1.205167822e-09 -2.649334929e-09 -0.003073473539 0.1264656511 0.0008547227895 0.0001465185612 -8.448519556e-06 -2.14377066e-06 -0.001770203234 -0.0001064732035 -3.931415994e-06 0.0001927521306 -9.338245219e-06 -1.584219952e-06 -5.266008637e-08 -0.0001180608793 -2.984551725e-07 -3.139107752e-06 0.0001099804852 4.766162656e-06 -1.85438372e-06 3.360154538e-05 3.088407513e-07 1.586350863e-05 -2.923195903e-07 -2.984284913e-08 1.323104317e-07 9.163260018e-08 3.198459054e-05 -5.790005558e-07 2.522456806e-05 5.407972544e-07 -4.2104453e-07 1.467713476e-05 7.174357798e-07 -4.051902442e-08 1.079774012e-05 3.137279339e-06 -2.874702145e-07 1.244767025e-05 1.632626658e-07 -0.003948769473 4.678479658e-05 -0.0004920241828 -0.005407936832 0.1511446462 -0.0002098048309 -8.029597559e-05 0.0003822345543 0.01783235546 -0.000576345036 -0.0001789660916 -1.932439079e-05 -0.004281163069 0.0001074790427 -1.801115677e-06 -9.263546173e-06 -8.726123072e-07 -0.0001597314391 8.438925887e-06 -3.89692037e-07 -1.921597902e-05 -1.643664631e-06 6.253296532e-06 -0.0001842746681 2.2136322e-07 -2.618508679e-06 -9.060473691e-07 -1.107840735e-06 -9.089647785e-06 0.0001588125484 -2.319543526e-07 -8.74937613e-08 9.477445928e-06 2.369219215e-06 -1.27222085e-08 -3.206524117e-07 1.403352698e-08 1.607391712e-05 -1.78578314e-06 -3.328629262e-08 -1.216216878e-06 -4.834717033e-08 -1.083379035e-07 -1.417342991e-06 4.932527394e-05 -5.165362831e-07 -4.828104351e-08 -7.479287683e-07 2.291973106e-05 3.374186545e-07 -2.867563929e-07 -7.322364348e-08 -2.446495871e-07 -1.091605707e-06 1.531443162e-05 -3.788170578e-07 -2.282909179e-08 -1.492177773e-07 -1.012118897e-06 1.623442378e-05 -3.226994069e-07 -1.957270674e-08 -2.539990282e-07 1.25912371e-05 9.329309758e-07 -0.1271309552 0.2106674483 0.07706621803 0.007906104029 -0.006239743279 -0.002302356817 -0.0006409207684 0.0003368104849 0.0001468472104 5.985908263e-05 -5.353021351e-05 2.917309098e-07 -1.47400048e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.07507696299 0.02329611941 0.01063509892 -1.291210315e-05 0.0009875816776 -0.0005078704306 9.423374919e-05 5.070346204e-05 -4.341612579e-05 4.023345969e-05 1.79301543e-05 -1.08569463e-07 1.198590464e-05 0.03071402572 0.05573372471 0.1032647447 0.001446167818 0.0008953325279 -0.003358930705 -0.001331129404 -0.0005099936491 0.01115709916 5.690566653e-05 6.314075769e-05 0.002825926964 -7.103925144e-06 -6.675214629e-05 -0.0004999250808 -0.0001136894854 -0.0001142093746 4.206036037e-05 6.670306679e-06 5.371225507e-06 0.0001724370483 7.892772452e-06 2.797954335e-06 -2.172773949e-05 -9.605995931e-07 1.144150438e-05 1.615731681e-05 1.549656624e-06 1.060487399e-05 9.1858927e-05 4.2632771e-07 9.995948172e-06 8.489884864e-06 1.201657664e-06 8.232910232e-06 1.708738757e-05 1.242671786e-06 5.796541271e-06 2.939451416e-05 -0.002639058166 -0.000144529514 0.06294483939 0.0369442098 0.06048239151 -0.0003172924371 -1.949841086e-05 0.004254552092 0.01162420869 0.004182417767 -8.788304795e-05 -3.937686618e-06 0.00170577368 -0.002007514555 -0.0009261433916 -0.0004925385433 -8.735523939e-06 -7.486949618e-07 -2.524505603e-05 0.002591439804 -1.986874039e-07 -2.915026188e-09 -2.59603857e-05 -7.138514679e-06 -0.0008600407439 -1.011579882e-06 -2.829763805e-08 1.134275562e-06 8.020825127e-05 2.173735882e-05 -1.552853072e-07 -3.106588148e-09 -1.582019891e-06 3.910737912e-07 5.570232655e-05 -4.377735196e-07 -1.011369714e-07 1.463078397e-05 -4.231558883e-06 -5.268822265e-05 -7.342259583e-07 -1.639897034e-07 -3.510080904e-06 6.200573714e-05 1.275393398e-05 -1.889442536e-07 -5.259910008e-08 -8.076979775e-07 7.969843662e-06 2.814610157e-05 -2.497940686e-07 -7.38815062e-09 -2.395848503e-06 4.669109064e-06 4.393735896e-06 -2.41499066e-07 -2.521680429e-08 4.200100257e-06 5.024386979e-06 1.206668852e-05 -1.761931614e-07 -3.062796561e-08 -8.652877561e-07 1.626452051e-05 1.329598156e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.006312592323 -0.2464349812 0.0144808546 0.006470467621 -0.140489362 -0.009476867157 0.002368007505 -0.04430470628 -0.001749279764 -0.0002152136706 0.003624407052 9.629966783e-05 0.001676678432 0.001560029559 1.256385462e-05 0.0002730276531 0.001953670474 -8.376919336e-05 -1.629541375e-05 -0.0003653878386 1.972456739e-05 4.501656802e-07 3.040981647e-05 -1.190544869e-06 3.266226189e-08 3.014584182e-05 -0.0003699176419 -5.444928623e-06 9.144563476e-05 3.373190522e-06 -2.968068654e-05 -2.392165693e-05 -4.659062501e-07 3.61940227e-05 -1.604332982e-06 -3.483365092e-07 -2.135538422e-06 -2.626709873e-05 1.391233682e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0002521783526 -2.009194506e-05 -5.597194849e-05 -5.163263855e-06 -2.458483476e-07 8.539646215e-07 -2.853155165e-07 1.379306943e-07 2.328178847e-08 -1.429537578e-07 2.136256777e-08 -3.255672889e-08 -3.694904414e-08 -0.1646530734 0.01228207419 0.001487161577 0.0001729021761 -0.01331535788 -0.002937305287 -0.0002889173776 0.004240264169 -1.835628543e-05 -1.591960363e-05 0.00032482471 -1.991343744e-05 1.428167739e-05 -9.097045728e-07 5.544884175e-06 -5.153440523e-05 1.607126729e-06 -9.383614809e-08 2.33707678e-07 -3.383349555e-06 -4.430454166e-07 8.120260705e-07 -3.520949029e-05 -1.109991682e-06 -3.599057601e-05 2.62801344e-06 2.442388128e-07 -1.308972135e-05 9.536331453e-07 1.794304573e-07 -9.241854656e-08 -1.44762129e-05 5.884486971e-07 -1.376900341e-05 9.649801079e-07 -9.53056625e-09 -1.183333858e-05 1.1523672e-06 4.764481399e-07 0.0004767851313 0.003938087678 -1.476129923e-05 -0.1373936182 0.008727997711 0.0009190962402 0.0002817379548 0.0003079944744 0.002647441043 -0.04464646742 1.46938806e-05 3.537274545e-06 -7.300285608e-06 -0.0001326629061 0.002115587264 0.0008060264104 7.578796751e-05 0.001950079001 -9.065804161e-05 -6.245436159e-06 4.801727896e-06 2.43072147e-06 -0.0002390199466 1.371881643e-05 1.371973969e-06 3.953610511e-07 1.382723117e-07 2.326969155e-05 -1.135722281e-06 1.315147531e-07 2.028484954e-05 9.017189811e-06 1.271005824e-07 -3.646591336e-07 1.437650181e-07 1.428164489e-06 1.072177588e-06 4.541282408e-07 -8.571902029e-07 -7.303614622e-05 2.301394089e-07 2.052435296e-07 -1.487949051e-05 9.044809413e-07 -9.317764668e-08 1.224496205e-07 7.302429172e-08 -8.515664785e-08 -6.343081007e-06 2.758511627e-07 -4.311900733e-08 5.758900563e-07 5.386683752e-08 1.200444045e-06 -1.68575441e-05 -1.343849459e-08 2.951385201e-07 -9.847119386e-06 6.635434174e-07 -5.303231504e-08 7.016555185e-08 1.782188413e-07 -6.025108176e-08 -7.790206562e-06 4.089825453e-07 -2.545168948e-05 -8.794955061e-06 -2.677011022e-06 1.427734109e-08 -4.093418936e-07 1.419459612e-07 -1.019244012e-08 -2.703843505e-08 8.837034248e-09 -5.057764679e-09 -1.017018356e-08 -1.173109604e-09 -2.612948715e-09 -0.003735459492 -0.1202157059 0.0008598591285 -0.001235007709 -0.0001179420749 -2.245070069e-05 0.001963696101 -7.8837853e-05 -4.030301011e-06 -0.0002006463418 -1.581985979e-05 -1.940544957e-06 -5.246235448e-08 0.0001176769748 -3.0244425e-07 -4.190951595e-06 -0.0001005763633 4.27537579e-06 -2.967686401e-06 -2.542188405e-05 2.733195328e-07 -1.523149008e-05 -3.289374057e-07 -3.05038477e-08 1.343390843e-07 9.105520137e-08 -3.23064559e-05 -7.291195001e-07 -2.387629629e-05 5.18838983e-07 -6.082547213e-07 -1.402190217e-05 6.605886195e-07 -9.141079478e-08 -1.591851249e-05 2.678233363e-06 -3.554444024e-07 -1.189357112e-05 1.616843753e-07 0.003707936614 4.998578495e-05 -0.0005080705589 -0.006822191812 -0.1358847701 0.0003467650558 -2.202649028e-05 0.0004163708694 -0.01938067592 -0.0009224285696 0.0001899569868 -1.090313875e-05 0.003828697079 0.0001210275747 -1.753769852e-06 1.075699253e-05 -1.729004171e-07 0.00015182467 1.400094722e-05 -4.455722602e-07 2.169995371e-05 -1.26120495e-06 7.733462877e-06 0.0001619008427 2.185549566e-07 2.876126758e-06 -4.910158316e-07 -9.714883431e-07 -1.077057027e-05 -0.0001078143027 3.180175868e-07 -2.834912475e-08 -1.189960123e-05 8.404047064e-07 -1.218804907e-08 2.90025029e-07 1.762982193e-08 -1.177357461e-05 -3.052939679e-06 -3.894319699e-08 1.260374118e-06 -3.784349025e-08 -1.098127976e-07 -1.652686605e-06 -4.474968232e-05 5.497653186e-07 -3.563134533e-08 -9.498042412e-07 -2.024476371e-05 3.056289252e-07 3.682808698e-07 -3.043035526e-08 -2.596205539e-07 -1.820998867e-06 -1.11077749e-05 3.997289575e-07 -1.727059375e-08 -1.550335163e-07 -1.83692679e-06 -1.260517173e-05 3.382292413e-07 -1.530673982e-08 -3.207181068e-07 -1.321145098e-05 7.614072988e-07 -0.07666998238 -0.02334950809 -0.01009569055 9.7470251e-06 -0.001130516785 0.0004833316682 -7.066100046e-05 -6.465407495e-05 4.115191102e-05 -3.171814741e-05 -2.299685991e-05 -2.627310791e-07 -1.064338775e-05 -0.03584695634 -0.04845234898 -0.09791220446 -0.00116515017 -0.001002882602 0.003856897087 0.001219019816 0.0003824790928 -0.01153335058 -5.992385376e-05 -8.51237206e-05 -0.002694663218 1.836931189e-05 6.212938236e-05 0.0001491701017 -2.11636482e-05 2.719736673e-05 0.0002548813865 -7.746019861e-06 -6.143749601e-06 -0.000167209214 -7.091452541e-06 -3.988065185e-06 -7.632408632e-06 1.887082178e-05 -8.665545461e-06 -1.535679294e-05 -2.337729238e-06 -1.108765151e-05 -9.085712009e-05 -1.484891319e-06 -8.747290228e-06 -1.605046926e-05 -9.294676822e-07 -1.102872001e-05 -1.087484442e-05 -1.727265333e-06 -5.615810317e-06 -2.968693412e-05 0.002531982941 2.344604566e-05 -0.06600652566 -0.04404506145 -0.05297723394 0.0003001920393 -1.141770852e-07 -0.003101152703 -0.01061543477 -0.005055075704 8.672450866e-05 8.633241143e-07 0.001785731173 0.0007032292135 -0.001858844295 0.0002031838823 3.581452976e-05 5.528838179e-05 8.370572608e-05 -0.002782999309 1.864436972e-06 9.558437199e-07 3.746900543e-05 2.914172931e-05 0.0007974990227 9.810666651e-07 -1.059947024e-07 -1.408461127e-05 -3.801603647e-05 -2.59138579e-05 8.461100068e-09 1.456081224e-09 -1.078483627e-06 -6.75167902e-07 -6.664966029e-05 2.717490938e-07 1.017500158e-07 -1.220527318e-05 6.528300242e-06 4.612504284e-05 7.379676664e-07 9.235213825e-08 -1.839691639e-05 -2.556921097e-05 -1.604008699e-05 2.251053156e-07 3.642149812e-08 -5.849189321e-08 -9.454024624e-06 -3.42452622e-05 2.289494501e-07 5.405440797e-10 1.176559883e-06 -5.194807205e-06 -3.344667594e-06 2.433666187e-07 8.220451171e-09 -1.172212342e-05 -5.211055947e-06 -3.218113331e-06 1.808683763e-07 1.776437905e-08 8.355883341e-07 -1.682194434e-05 -3.003191814e-06 --0.1244894771 -0.2101857568 -0.08118383266 -0.01047339364 0.005450831173 0.002419247537 0.0008547341044 -0.0002641358282 -0.0001549268746 -7.592933966e-05 4.173634974e-05 1.205531843e-07 1.659925355e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4511178441 0.1788933402 0.01952376147 -0.002657341027 2.042784641e-05 0.0006383944691 -0.0001780440742 1.94688863e-05 -0.000151227711 3.750863895e-05 -1.696460019e-05 1.822358986e-05 -1.750526312e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4509370911 0.1793159845 0.01969251574 -0.003192450812 0.000685080602 0.000118852064 0.0001910359828 -0.0002013649958 -1.278848376e-05 -4.178841477e-05 3.288930331e-05 -8.138252139e-06 1.224906789e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2646806578 -0.008228751522 0.0003612755932 0.0001645425919 0.0001527044125 7.619439711e-05 -5.464474581e-06 3.692963179e-05 3.41738209e-05 8.702787009e-06 1.41406476e-05 1.202765477e-05 9.217997176e-06 0.003828502233 4.912893079e-05 0.2530956384 -1.312671068e-05 -0.0006534186457 0.01701942731 -3.091546726e-09 -1.734376422e-06 -0.002826558684 -9.882558861e-08 -4.146678611e-06 0.0003075915073 4.866623034e-06 -4.070850858e-10 0.0003398587215 -5.03964287e-07 -2.105158864e-08 -8.529274119e-06 -2.104565757e-09 -1.834097339e-10 -1.839210215e-07 -1.445703291e-09 -9.72844511e-07 7.988716273e-05 1.5166932e-05 -5.052111265e-07 -6.638658246e-11 5.542559788e-07 1.009604734e-08 1.06903987e-05 1.145907159e-06 5.526898007e-08 1.682990767e-05 2.666839943e-06 2.08357886e-07 9.253640719e-06 3.735499327e-07 5.205520212e-09 1.098451413e-05 5.630982825e-07 0.0001678672272 0.08725105726 -0.004108613366 -5.126504108e-05 5.459117983e-07 -2.444205642e-05 0.01460295751 8.522931057e-05 0.002867082103 3.036487947e-09 -2.456779492e-06 2.201827737e-08 1.459023866e-05 -0.000945069991 -5.581998622e-11 -3.806119639e-08 -7.210102339e-08 -2.092234499e-06 0.0001039554804 6.894832507e-10 -1.309390352e-07 -3.707507849e-07 -1.402886422e-09 0.000143863056 8.574031475e-10 7.70512932e-08 -5.823474704e-06 6.552805125e-07 1.656933841e-08 -3.856417195e-11 1.920001326e-09 -1.420684792e-08 -6.681973102e-08 1.699358405e-05 1.960483568e-12 7.386281374e-09 -4.447925864e-07 -1.194555994e-05 5.033946195e-05 1.728359893e-11 -4.384536598e-08 -6.225370154e-06 4.392982695e-07 2.149695919e-09 -7.514171831e-12 1.082502974e-08 8.619422615e-07 2.381087435e-08 5.999850447e-06 5.099150209e-10 1.91712122e-08 7.68324685e-06 -7.97644869e-07 -5.419952665e-08 -1.425429419e-11 8.501621174e-09 3.82114171e-06 -2.864421187e-08 -1.189305593e-08 -5.29325174e-12 7.647192354e-09 1.276398193e-06 4.715951527e-08 2.568227218e-06 -0.276844638 -0.005513964942 -0.0003945291832 0.0002765704734 0.0001531214236 4.311452182e-05 -3.653367361e-06 4.746876001e-05 2.427245359e-05 7.779922528e-06 1.398831897e-05 1.053771854e-05 8.719779195e-06 0.004022145278 0.0009735014422 0.2442725961 -9.8051101e-05 -0.001446826329 0.02439578976 -1.693729859e-08 -2.935195838e-06 -0.003216680075 -2.66328928e-07 -3.361877036e-06 0.0002651597734 1.441526097e-05 2.118830607e-07 0.0002867213909 -4.994895133e-06 -2.744387404e-06 -1.501665011e-05 3.804105995e-08 3.901770137e-08 1.109299223e-05 -1.553123238e-08 -3.081974556e-06 8.253746995e-05 -4.386143437e-07 2.391263803e-08 2.026023853e-10 6.363849167e-07 6.2023319e-08 1.307017007e-05 1.905171795e-06 7.371797118e-07 1.350934073e-05 1.746961216e-06 7.87977267e-07 7.067163917e-06 4.5282844e-07 3.310745283e-08 9.584910746e-06 1.190314877e-05 0.0001508395109 0.07834615551 -0.004829718594 -7.49780197e-05 3.099716316e-07 -4.491190422e-05 0.01510455551 0.0003966475897 0.003458153506 -1.496994772e-08 -2.328403581e-06 1.474360956e-06 0.0001393482842 -0.0007710050067 -1.133730783e-10 -5.814490381e-07 -8.759759402e-08 -1.536887339e-06 9.708704796e-05 3.251675479e-11 -2.966943913e-08 -1.848301408e-06 -1.015318894e-07 8.065831322e-05 4.008706654e-10 -8.856092309e-10 1.132719957e-05 -2.003484021e-06 -1.910967211e-07 1.260197817e-12 5.266500694e-10 -1.927560428e-08 -5.29206656e-07 3.219514005e-05 1.468816165e-11 -1.841119757e-09 -4.760657978e-07 -5.477338346e-06 2.938459478e-05 -9.431003277e-11 -2.323320733e-08 -8.079225856e-06 1.929748188e-06 3.689632597e-08 6.454242276e-11 1.324615695e-08 1.175445539e-06 1.613636873e-07 5.894063831e-06 -1.079244991e-10 1.980488185e-08 5.094908706e-06 -8.311539685e-08 -7.014045705e-08 4.963802038e-11 5.325379363e-09 3.157760742e-06 1.552399752e-08 -5.380883711e-08 5.30320516e-11 7.797812172e-09 1.795297678e-06 5.926637819e-07 7.407735233e-07 -0.2826638831 -0.004055763145 -0.0008705871959 0.0003182057998 0.0001515768232 2.88985815e-05 -2.172930135e-06 5.21239929e-05 1.816287156e-05 8.219063634e-06 1.381087709e-05 9.684357495e-06 8.544054332e-06 0.005562963585 0.0005625057235 0.2389429097 -4.655434165e-05 -0.002086286406 0.02795663834 2.278831075e-08 -1.413560651e-06 -0.003381129802 -6.756707799e-08 -2.783213095e-06 0.0002200288443 1.723154519e-05 1.840574661e-07 0.0002567141391 -2.055258895e-05 -3.154505266e-06 -3.051111643e-07 4.396218325e-08 3.109270974e-08 1.934207472e-05 -9.247275374e-09 -4.711586116e-06 7.947489779e-05 -6.245970365e-06 4.677410311e-07 2.845134494e-09 7.754769619e-07 2.713224402e-08 1.469530928e-05 3.703356545e-06 6.825088136e-07 1.044783875e-05 1.112974978e-06 1.57785344e-07 7.324303327e-06 5.46334505e-07 1.350617821e-08 8.942253283e-06 6.68103904e-06 0.0001741522696 0.07308761594 -0.004072409457 4.45569966e-05 4.491603112e-08 -4.430518609e-05 0.0153498281 0.0001339470334 0.003921785945 -8.649458789e-09 -1.920979612e-06 -0.0003552066156 -3.985818327e-06 -0.0001175627778 1.356003046e-09 -1.465087516e-06 -6.019783209e-09 -6.163192334e-07 9.227922099e-05 1.405312242e-11 3.469161591e-09 -1.568102704e-06 -3.089186139e-08 5.31818646e-05 2.899778604e-10 7.3777918e-08 1.610594537e-05 -2.307825739e-06 -2.245134245e-07 1.68324429e-11 -1.884427572e-08 -1.996488798e-09 -1.113054288e-06 4.127183329e-05 -2.524280819e-11 -2.842852123e-09 -1.185002485e-07 -2.860189436e-06 1.669444588e-05 -4.467910097e-11 -1.658528989e-08 -3.100058131e-06 -5.977832804e-07 -1.290955838e-06 5.995375769e-11 1.546325152e-08 1.588920772e-06 7.903453614e-08 5.590054173e-06 -6.365099048e-11 1.889555065e-08 3.840203703e-06 6.918715574e-09 -9.330924321e-09 2.890282071e-11 4.949929332e-09 -6.091221484e-08 3.512424965e-09 3.012326462e-06 4.354467947e-11 8.83926238e-09 2.647578117e-06 1.962917987e-07 -3.395720992e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.2639982369 0.001205578172 0.002078167571 0.002918528218 0.002852961161 0.1790322028 0.0006921645132 0.0005555021375 0.07151661371 3.358539776e-05 2.724439595e-05 0.006072041596 -5.712882517e-08 7.655188296e-08 -0.001246418362 -0.002807959707 -0.0001197851296 -8.370173022e-05 -0.0004808155083 -4.436690024e-06 -4.409031681e-06 -0.0002908126152 -2.773659214e-07 -4.541590061e-09 0.0002557185401 8.328157801e-05 2.781907866e-06 -3.421920224e-07 -3.123057387e-07 -4.050715352e-05 5.947876637e-08 -4.291593688e-09 0.0001101602462 -9.832078092e-08 -9.757251627e-07 -3.367656915e-05 2.208053591e-05 4.93161866e-07 4.012259278e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.136759867 0.2495384266 0.1183741171 0.02744512307 -0.0004259485133 -0.002520417748 -0.001910784133 -0.0002082137869 2.776890596e-05 0.0001246485062 2.302876194e-05 1.325936575e-05 -1.870597394e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.03127525951 0.005494326129 0.003983148203 3.969373339e-05 0.000549671634 -0.0001211296958 6.571698562e-06 3.382323651e-05 -1.114554386e-05 5.030615627e-06 9.422005601e-06 1.273905221e-06 2.944315341e-06 0.1323912725 0.0003909119965 0.02921426462 5.766675355e-05 0.006250515562 -0.003403840587 -1.485951533e-05 -0.001867105443 0.00443680683 3.240729491e-06 0.0003656039655 0.001366664274 -0.0001145380224 -5.139013819e-10 0.0001779611418 5.83804182e-05 3.374046054e-07 -0.0001034449396 2.169933899e-05 5.869952752e-07 4.601998696e-05 1.659674218e-08 1.742906117e-05 2.963978566e-05 -1.210641975e-05 2.867779831e-05 4.53217723e-10 2.324712673e-05 1.222697536e-07 2.227096826e-05 1.403402863e-05 1.745926967e-07 8.72764537e-06 1.787836085e-05 1.034030048e-07 -1.329429507e-06 1.289057784e-05 4.836804013e-08 8.859290971e-06 -5.290414375e-06 -0.003276907408 0.03531854714 0.1385178612 0.000625854789 -5.592906919e-05 -0.0004535323248 -0.001858137465 0.0002583059723 0.03363716185 -6.410845458e-07 -6.697727842e-05 -5.565339435e-06 -0.002679378237 0.0007633423194 -2.08755938e-07 -1.104230886e-05 -4.095444652e-06 -0.0002674828357 0.00149216675 -2.80010304e-07 -2.453633862e-05 -0.0001188698184 -6.13148686e-07 -0.0001884128713 -2.161080613e-09 -1.121032814e-07 -5.91105154e-07 1.177803822e-05 1.478074919e-07 -2.474382572e-08 -2.722592647e-07 8.302464299e-07 1.276481795e-05 3.973266777e-05 -2.462481775e-09 -2.908972312e-07 4.183446625e-07 1.195534794e-05 -7.642393501e-06 -1.608752281e-09 -1.003469931e-06 4.301846484e-06 3.719373081e-05 9.406691721e-08 -2.154040956e-09 -3.072733325e-07 1.707648103e-05 1.486404674e-07 1.033953599e-05 -1.39406273e-08 -2.712912285e-07 2.967047924e-06 1.088193374e-05 2.630195707e-07 -1.271864742e-09 -3.37626031e-07 3.328483927e-06 1.440450968e-05 3.877550917e-07 -8.11888206e-10 -2.401580976e-07 1.385889647e-05 1.006455308e-07 2.063472015e-06 --0.03400284354 0.003588263554 0.005230293025 0.000182094621 0.0005264273819 -0.0001281985288 1.519275872e-05 3.149132847e-05 -1.815450395e-05 1.056959613e-05 7.491037766e-06 1.050273473e-07 4.306753964e-06 0.132840086 0.006926056395 0.03524201336 0.0002507050947 0.008181088315 -0.00284892788 -2.094253217e-06 -0.002257155031 0.004441134928 6.998848729e-06 0.0003078763911 0.002049530513 -0.000130699398 -3.80839705e-07 -3.842171015e-05 4.7122312e-05 -6.897808692e-06 -5.365659599e-05 1.668910718e-05 2.884928638e-06 6.378519466e-05 2.693632591e-08 1.706600503e-05 6.68013998e-06 -1.024252082e-06 2.63935855e-05 1.049424309e-07 1.911983491e-05 5.064177389e-07 2.571949386e-05 1.43601749e-05 9.196728095e-07 2.709340716e-06 1.740628975e-05 8.763258401e-07 2.487225682e-07 1.225815726e-05 2.323093089e-07 9.604008143e-06 -0.0005930404856 -0.002801021284 0.03833418148 0.1296496341 0.003644786517 -0.0001707246494 -0.0005033511969 -0.001289328504 0.0008894809433 0.03962388807 -1.703508023e-06 -3.201976751e-05 -1.520417585e-05 -0.001727873914 0.0001561498279 -8.088160454e-05 -0.0002180902584 -6.002401926e-06 -0.0005486307191 0.001710330277 -8.012579422e-11 -3.836641423e-06 -4.83903662e-05 -6.799163307e-07 -0.0002269653891 -1.069355387e-08 1.99534724e-07 -7.379845079e-06 -1.714174967e-05 -8.345208005e-07 -2.269152495e-09 -6.139230041e-09 2.069130911e-09 1.161515487e-06 4.724681869e-05 -2.367989516e-10 -5.426559099e-07 1.678245545e-06 2.904191299e-05 -3.21999824e-05 -3.854854129e-08 -7.680128386e-07 2.331052269e-05 1.955101669e-05 2.969642796e-07 -1.775454332e-08 -1.858657771e-07 1.141847439e-05 4.780481679e-07 7.23402688e-06 -4.645274426e-08 -2.879332569e-07 -2.960960409e-07 1.1452873e-05 1.433667374e-06 -4.330175797e-08 -2.963406998e-07 5.144210215e-06 1.295091149e-05 1.257958044e-06 -1.672307619e-08 -1.932152114e-07 1.234506887e-05 5.254742876e-07 3.448409215e-07 --0.0340004526 0.002506633008 0.005685728861 0.0002918431373 0.0004659891876 -0.0001214089154 1.890373931e-05 2.591681778e-05 -1.923921071e-05 1.28979605e-05 5.734561942e-06 -4.384293514e-08 4.856399028e-06 0.140867462 0.003382134303 0.03615613779 9.598550036e-05 0.008757312642 -0.00134165043 -2.712502243e-07 -0.00244415173 0.004205014175 1.480215854e-06 0.0002471061128 0.002336435703 -0.0001343463908 -3.203188961e-07 -0.0001497836076 1.652804876e-05 -1.385836343e-05 -1.221785959e-06 1.567672496e-05 2.166418749e-06 7.164012297e-05 8.289343774e-09 1.728607694e-05 -8.216813852e-06 1.103440666e-05 2.180816394e-05 5.973803405e-08 1.766628547e-05 1.665375321e-07 2.499122157e-05 1.650662571e-05 1.598670707e-07 -1.235307028e-06 1.664829557e-05 3.980604775e-07 3.009584196e-06 1.216044361e-05 7.402827233e-08 8.994126169e-06 -0.000329918727 -0.003099977832 0.03689993729 0.1309150533 0.00131759385 -6.905440623e-05 -0.0006911574803 -0.0008890498919 0.000262913761 0.04327930206 -4.274579904e-07 -2.147980606e-05 0.0003526914177 -1.004441191e-06 -0.001678921834 -8.715080331e-05 -0.0009140122529 -4.082124421e-06 -0.0001956855216 0.001717093459 -6.664372588e-08 -3.44462619e-07 -9.350238094e-06 4.499075194e-08 -0.0002232502124 -1.023844394e-08 1.797167617e-07 -3.995950516e-05 -2.777713618e-06 -3.171228582e-07 -5.679159491e-10 -2.996142761e-07 -1.085089183e-08 -7.138449978e-06 4.611090636e-05 -8.325668403e-09 -7.292919396e-07 9.262441997e-07 3.716673397e-05 -3.743019965e-05 -1.810569468e-08 -6.932089209e-07 4.049105138e-05 7.765710848e-07 1.257955945e-06 -7.490985371e-09 -1.545524887e-07 9.764302972e-06 1.504596755e-07 5.160664798e-06 -2.595383588e-08 -3.430853727e-07 -1.055836543e-06 1.286447838e-05 9.007454998e-07 -2.134094498e-08 -3.065790114e-07 1.298257094e-05 4.976495714e-07 6.070566886e-06 -8.568238382e-09 -1.876223487e-07 1.170498525e-05 -7.278459531e-09 1.401227171e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02382387374 0.00324622331 0.02580902879 0.02476437007 0.002350210378 -0.02349750896 0.007730911232 0.0008991013958 -0.007205833271 0.0005086882438 7.245901836e-05 -0.0004611115965 1.855111421e-06 -8.329018398e-06 -1.792124447e-05 0.0005060770889 -4.221096898e-05 -0.0005228076777 4.777176678e-05 -6.589063365e-06 -5.076660106e-05 -1.777025584e-06 -4.129273778e-06 2.088498994e-07 0.0001517317237 -0.0001404315838 -4.610608996e-06 -4.090984122e-06 -6.524986626e-07 3.937846094e-06 -9.213637726e-07 2.907378046e-07 2.787818263e-06 1.490666776e-07 5.386196408e-06 -6.215419728e-06 -3.194418588e-06 4.350470165e-07 3.209048417e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.002676733398 0.004884092499 0.002316878186 0.000537169852 -8.336880082e-06 -4.933089298e-05 -3.739883502e-05 -4.075265716e-06 5.435070948e-07 2.439683709e-06 4.507305947e-07 2.595190234e-07 -3.661227982e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.09594540763 0.01685534728 0.01221939591 0.0001217713775 0.00168626799 -0.0003715984529 2.016048171e-05 0.0001037620236 -3.419200244e-05 1.543278856e-05 2.890457769e-05 3.908052489e-06 9.032492139e-06 -0.04139967265 -0.0001071120687 0.1064159904 -7.564639645e-06 -0.00147056682 -0.01365156094 4.809842108e-06 0.0006179004767 0.01360047549 -2.539470068e-06 -0.0001809472463 0.004137458164 4.578396791e-05 -6.335886743e-10 0.0005319568184 -3.827815903e-05 -9.162144023e-07 -0.0002920650162 -5.259158216e-06 -3.43579252e-08 0.0001434552982 -7.344891081e-09 -6.87926436e-06 8.872281177e-05 -4.880095849e-05 -7.591102382e-06 1.108716063e-10 -3.255969023e-06 3.836408004e-08 7.609258069e-05 -2.161253734e-06 5.898399113e-08 3.259573114e-05 -2.838206515e-06 1.990259575e-07 1.080666657e-05 -3.070401971e-06 -2.405674908e-10 3.037967201e-05 2.438069465e-06 0.001268775277 0.09276486369 -0.05005999406 -0.0002679814963 1.825876749e-05 0.0001449118056 0.002375877549 -7.482878349e-05 -0.01061633342 1.969650425e-07 2.880578671e-05 1.786156495e-06 0.0008319721765 0.002431839318 6.487236194e-08 1.742034933e-06 -2.177110436e-06 -1.495605969e-05 0.004588508829 8.747027441e-08 8.579676001e-06 4.039018546e-05 2.087191292e-07 -0.0005768677847 1.609275759e-09 1.194367452e-07 -6.071058123e-06 -3.134049404e-06 -3.07206248e-08 7.734330008e-09 1.039954e-07 -3.822620337e-07 -4.69161947e-06 0.0001217598484 8.086371054e-10 8.531275214e-08 4.355111772e-07 1.147404924e-05 -6.228173985e-05 4.893001752e-10 3.807616907e-07 6.213634987e-06 -1.266084599e-05 -3.38288228e-08 6.439546283e-10 1.686980873e-07 -1.098178259e-07 1.018656067e-07 3.460967119e-05 4.943849414e-09 1.042529017e-07 5.363968971e-06 -4.203882146e-06 -1.308796025e-07 3.66891902e-10 1.34326079e-07 9.819399448e-06 -4.776428157e-06 -1.610198287e-07 2.365388601e-10 1.114506653e-07 1.017371085e-06 1.713573311e-07 1.046389283e-05 -0.04586155795 -0.004839693972 -0.007054391976 -0.0002456013128 -0.0007100223794 0.0001729086054 -2.049133284e-05 -4.247413555e-05 2.448600612e-05 -1.425581202e-05 -1.010358625e-05 -1.416563226e-07 -5.808762619e-06 -0.002752137801 0.03174167716 -0.06048255824 0.001092295294 -0.0005482081269 0.008407654959 4.909275513e-05 -0.0004870870493 -0.00598302465 5.639870813e-05 4.353829945e-05 -0.00274084698 -1.448531027e-05 -8.37881675e-06 7.235442089e-05 2.220861542e-05 3.224991314e-05 3.419394543e-05 -3.250867955e-06 6.61454708e-06 -8.680683093e-05 7.286792858e-07 2.678108135e-06 -5.413192189e-06 1.126122449e-05 2.565480012e-06 1.594265468e-06 -6.8493613e-07 2.815603995e-06 -3.803510468e-05 -6.709381245e-07 4.060058873e-06 -1.003402687e-05 -4.619680018e-07 5.167564356e-06 -9.870099149e-06 2.048419828e-07 1.690579451e-06 -1.501782619e-05 0.001184745374 -0.002123384159 -0.04377343659 0.006703449333 0.02255991757 0.0001859276217 -0.0003029867998 -0.003899716021 0.00666708211 0.001697113537 1.424232279e-05 -3.059000492e-05 -0.0001554300075 -2.145704782e-05 -0.0007897844472 0.0001166654461 -0.0002284062205 -2.52524643e-05 3.731528427e-05 -0.002325414187 -7.56732725e-08 -9.320751764e-07 -9.734909274e-06 -7.798033806e-06 0.0003048234843 -1.692755686e-07 2.874895358e-07 2.196546496e-06 2.079470646e-07 -3.868547127e-06 4.311110035e-09 -5.802227538e-09 -1.602482233e-07 1.624192346e-06 -6.37000234e-05 -1.76118451e-08 -1.118511268e-07 3.867239658e-06 -1.051687814e-05 5.289593726e-05 1.941685676e-07 -4.555961257e-07 -1.558484757e-05 5.541301019e-06 3.143764958e-06 7.079597145e-08 -1.43118435e-07 -1.724272959e-06 1.545722917e-06 -1.101913388e-05 1.064921494e-07 -1.918853432e-07 1.004890409e-06 -1.753968296e-06 3.993742259e-06 1.071592178e-07 -2.028453255e-07 -6.388582037e-06 -1.700286146e-06 4.151657549e-06 6.097500839e-08 -1.278576303e-07 -2.297807531e-06 7.814144865e-07 -2.335940853e-06 -0.04538818136 -0.003346176443 -0.007590042865 -0.0003895897915 -0.0006220623591 0.0001620722504 -2.523514489e-05 -3.459710491e-05 2.568297531e-05 -1.721785816e-05 -7.655231548e-06 5.852719416e-08 -6.482946637e-06 0.006057391377 0.02326534052 -0.06261959785 0.000703187845 -2.774862046e-05 0.008567025331 -5.266355105e-05 -0.000427608147 -0.005611242343 2.621725911e-05 6.735657144e-05 -0.003102723723 -4.053606805e-06 -6.977845057e-06 0.0002232244508 5.339760045e-05 8.160169939e-06 -3.12308009e-06 -2.480859129e-06 5.686240176e-06 -9.601175452e-05 4.008806647e-07 1.684931513e-06 1.781440226e-05 1.323081719e-06 2.868231418e-06 1.122057158e-06 -8.097701327e-10 1.613056714e-06 -3.614446532e-05 6.461510257e-07 3.399236264e-06 -6.855315907e-06 1.571776366e-07 3.051485075e-06 -1.016680807e-05 6.240896737e-07 1.007283366e-06 -1.41339149e-05 0.0009779732835 -0.001889107376 -0.04322158641 0.01532583036 0.01422247242 0.0001499493704 -0.0002898859478 -0.004209804909 0.004024031988 0.004369431309 6.736142257e-06 -1.632602062e-05 -0.000198312234 -0.0001372997837 -0.0003459160666 0.0002160318138 -0.0003830941333 -2.089962045e-05 1.536672122e-05 -0.002315435844 1.082711525e-07 -2.108587285e-07 -1.058179354e-05 -1.432411629e-06 0.0002976143174 -1.700203973e-07 3.61257147e-07 7.602292768e-06 -1.274335255e-06 -2.733637831e-06 9.611426173e-09 -5.024945907e-08 1.47501014e-07 3.73526161e-07 -6.168844993e-05 6.984667183e-08 -2.397848155e-07 3.851626902e-06 -8.584926692e-06 5.86161684e-05 1.336282226e-07 -3.634364929e-07 -6.142912504e-06 2.133223166e-06 -7.752959791e-06 4.291456431e-08 -1.002695869e-07 -1.336339744e-06 8.217478905e-07 -7.931290261e-06 8.883172298e-08 -1.709435249e-07 1.54668176e-06 -7.720855498e-07 3.417250983e-06 7.970132837e-08 -1.682276705e-07 2.82484264e-07 2.600760365e-06 -7.93452495e-06 4.422006311e-08 -1.051683854e-07 -3.104852228e-06 -2.568324415e-07 3.931350055e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.01359971614 -0.017716024 0.004870577299 0.002945054874 -0.02258970716 0.02016616809 0.001170152392 -0.006268732172 0.005303920493 9.361718399e-05 -0.0004034949895 0.0003271847613 3.30075815e-06 4.682448629e-06 -1.150054311e-05 -0.0005385318149 0.0005849047437 -5.487122752e-05 -3.959664539e-05 4.592455127e-05 -7.709729292e-06 -9.850949068e-06 8.933081828e-06 9.639884054e-08 -3.893088897e-07 -2.898139548e-05 3.033521284e-05 -7.868878997e-07 3.528113982e-06 -2.857384213e-06 -1.778304806e-06 -1.507787295e-07 2.240111358e-06 -1.861720417e-06 4.827988431e-07 1.280855379e-06 2.880021248e-06 -3.298432616e-06 4.832465758e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.000385936183 0.0007041971451 0.0003340516185 7.745010486e-05 -1.202026201e-06 -7.112615906e-06 -5.392230564e-06 -5.875790607e-07 7.83638198e-08 3.517579373e-07 6.498713897e-08 3.741791447e-08 -5.278823635e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.711187742e-05 -4.762918002e-06 -3.452909025e-06 -3.44096788e-08 -4.764990026e-07 1.050048351e-07 -5.696869943e-09 -2.932066614e-08 9.6618421e-09 -4.360936931e-09 -8.167742329e-09 -1.104322162e-09 -2.552366243e-09 0.007257075326 -0.00775669315 0.0008820567467 -0.0005376917684 0.0006892036474 -0.0001249373536 -0.0001782224334 0.0001723473016 -4.067238072e-06 -3.766408681e-05 4.153245708e-05 -3.71468382e-06 1.035602473e-07 -3.342057471e-07 -2.880445452e-07 5.54998959e-06 -7.576523029e-06 2.300138342e-06 3.472586714e-06 -3.64970736e-06 2.042980081e-07 -5.464594946e-07 6.187027919e-07 -3.72896613e-08 1.421886134e-07 -1.249132704e-07 9.812740221e-08 1.397713984e-06 -1.761449192e-06 4.05421321e-07 1.23992897e-06 -1.733766292e-06 5.222040726e-07 8.476309401e-07 -2.913339955e-06 2.103212169e-06 7.250227525e-07 -8.472328234e-07 1.511920896e-07 0.0001435781373 -7.762534933e-05 -0.0005916976498 0.01052483806 -0.009564863396 -0.0001364701737 0.0001302308261 0.0005619413886 -0.003395887398 0.002939769287 -1.201777308e-05 1.648781647e-05 0.0001220231649 -0.0001348598248 -1.281142642e-06 -1.594769504e-06 2.323262747e-06 2.737533223e-05 -2.949224832e-05 -7.04567521e-07 -2.637975156e-06 2.259030916e-06 -9.405775857e-06 9.297350576e-06 1.790695927e-07 -6.153627893e-08 6.559704687e-08 -1.434964197e-07 1.462804549e-06 -1.280408409e-06 -9.09217631e-08 9.556296623e-08 3.515197666e-06 -3.49378232e-06 -1.649427856e-08 2.996073367e-08 -2.382764523e-08 -1.57670999e-06 1.824256484e-06 -1.801953154e-07 -4.940073015e-08 7.833251589e-08 -1.109997048e-07 2.101839492e-06 -1.896898824e-06 -3.76208908e-08 4.346725108e-08 1.282254904e-06 -1.446352957e-06 1.937321785e-07 -7.273265078e-08 8.01089118e-08 -3.096881613e-07 2.043451263e-06 -1.703170407e-06 -2.484061019e-08 3.251487553e-08 -1.689265051e-07 2.627183771e-06 -2.421401037e-06 -1.825737871e-08 2.337547759e-08 7.299784594e-07 -1.165061301e-06 4.606385148e-07 -0.08216582772 -0.008670823211 -0.01263868873 -0.0004400207071 -0.001272080128 0.0003097840395 -3.67123883e-05 -7.609690251e-05 4.386926765e-05 -2.554079379e-05 -1.810164252e-05 -2.537922723e-07 -1.04070121e-05 0.05406913365 -0.01544134365 -0.09987102253 -0.0005846010479 0.002530639196 0.0137035689 -2.835189971e-05 -0.000676714437 -0.01071690538 -2.125415994e-05 0.0001956208728 -0.004918751761 -3.688225203e-05 4.65315841e-06 0.0001251172427 5.368434069e-05 4.737498372e-06 9.874628323e-05 7.933428059e-06 -3.305866694e-06 -0.0001548078823 -3.925877985e-07 6.159716503e-06 -1.007011437e-05 1.923770493e-05 8.075963382e-06 -8.584097026e-07 3.500401098e-06 -1.829243437e-06 -6.659289825e-05 3.548358501e-06 -2.956926887e-06 -1.291164849e-05 3.773027959e-06 -4.185208915e-06 -9.307853249e-06 3.143231215e-06 -9.801920416e-07 -2.60662176e-05 -0.0009246301404 -0.0002012475186 -0.07775321002 0.05718884663 -0.01097070683 -0.0001745441886 -2.24116091e-05 -0.003999105048 -0.003501358049 0.0141586032 -8.691467248e-06 -1.935888549e-06 8.410934987e-05 -0.0003584038356 -0.001401587235 -9.858200848e-05 7.414438019e-05 1.717156218e-05 -0.0001503076036 -0.004157318 4.253129441e-08 -1.365635722e-06 -3.316596629e-05 3.050844998e-06 0.0005464931284 9.041213991e-08 -7.867488236e-08 5.747366763e-06 -8.983455123e-06 1.644742861e-06 -3.351954548e-09 -2.070253393e-09 1.916176662e-07 2.355760211e-06 -0.0001141188932 9.800025013e-09 -1.706385229e-07 -3.662117398e-06 -7.401469858e-06 9.282517096e-05 -1.248755793e-07 -1.98069347e-07 -2.843872377e-05 1.617245688e-05 -1.418171274e-06 -4.717149222e-08 -6.039348444e-08 6.535166496e-08 -1.436762213e-06 -1.904841252e-05 -7.870419242e-08 -4.518500185e-09 1.255004733e-06 5.686934599e-06 -1.662529865e-06 -7.801509159e-08 -3.984222088e-08 -1.234734602e-05 6.219832849e-06 -1.489260361e-06 -4.120639509e-08 -4.566701181e-08 -2.144076599e-06 -3.036402311e-06 -2.075335266e-06 --0.08134389216 0.005996957965 0.01360273996 0.0006982159021 0.001114849107 -0.0002904630075 4.52259783e-05 6.200431669e-05 -4.602857202e-05 3.085753947e-05 1.371956996e-05 -1.048913975e-07 1.161862177e-05 -0.05188062748 0.01193391624 0.1054275909 0.0003847698094 -0.002218271705 -0.01419149699 -2.937247668e-05 0.0007892666602 0.01005252734 1.146977768e-05 -0.0001703382075 0.005564171515 1.477744213e-05 -4.177410674e-06 -0.000395576053 -9.269462918e-05 -7.394106951e-06 -2.947769363e-06 -7.35669664e-06 2.677620814e-06 0.0001717506148 2.254233966e-07 -3.63302863e-06 -3.136132598e-05 -1.015602494e-06 -7.729105684e-06 5.998127293e-07 -2.396471526e-06 1.004968133e-06 6.391286336e-05 -3.155715578e-06 2.45339584e-06 6.235984274e-06 -3.596184267e-06 2.000551848e-06 1.462033163e-05 -2.509579114e-06 5.861070914e-07 2.477340661e-05 0.000694137426 0.0005166133075 0.07585144951 -0.05259849636 0.007455454505 0.000112554707 0.0001049797578 0.005701079264 0.002202435865 -0.01369021163 3.955195518e-06 3.843906349e-06 0.0004769892999 -6.794231968e-05 0.0007520325331 0.0001570592558 7.061471361e-05 -1.03565918e-05 4.928109989e-05 0.004142070096 8.805953796e-08 -2.539347814e-08 2.138127673e-05 -3.575217848e-07 -0.0005334634071 -9.118997939e-08 -2.662777602e-08 -1.247411345e-05 5.238530442e-06 -9.269138099e-07 5.667342902e-09 2.219983946e-08 7.88923837e-08 -1.237529839e-06 0.0001105582185 4.268264001e-08 1.969029206e-07 2.840133034e-06 5.697808764e-06 -0.0001035407726 8.254816077e-08 2.423225901e-07 8.687471602e-06 6.465416501e-06 7.241196498e-06 2.729527163e-08 6.506806796e-08 9.700232956e-07 6.839767759e-07 1.381210555e-05 6.047929591e-08 2.879300335e-08 -2.60349696e-06 -5.814995334e-06 1.539752162e-06 5.359385859e-08 6.887544989e-08 -5.694637084e-06 1.267710282e-06 1.409012346e-05 2.844493026e-08 5.824461716e-08 4.907725177e-06 7.147685188e-07 6.558892945e-08 -0.3790115395 0.08856332381 0.004328369466 0.0009084699724 0.0004748210297 0.0002540610513 1.925815183e-05 2.674136537e-07 3.892850271e-05 4.350422683e-06 4.270141339e-06 8.902350187e-06 3.917947158e-06 0.199533687 0.0009229247296 0.001966082132 0.00208943361 0.00173645581 0.1094033407 0.0003297981951 0.0002163171496 0.02780471094 3.384170528e-06 2.126328259e-06 0.0004684622699 3.387813266e-10 2.157087374e-09 3.671416186e-05 0.0004995457561 2.122691145e-05 1.678893758e-05 2.305829321e-05 2.131031715e-07 2.605830154e-07 2.209003585e-05 2.528738881e-08 1.38092812e-11 3.279931932e-05 1.020052131e-05 3.521343444e-07 2.152377084e-08 1.597843309e-08 2.050448304e-06 6.13486157e-09 1.639314567e-10 1.856292047e-05 2.914419693e-08 2.515931463e-07 9.784885169e-06 3.605797801e-06 8.060339962e-08 7.61882845e-08 7.345261832e-23 1.23227006e-06 0.04407819403 0.0005561709075 0.0004901367602 1.165165995e-21 1.070147859e-06 0.05048738898 0.0005293755356 5.06688413e-05 5.525125074e-22 3.095825098e-07 0.000623050132 0.0002474225036 0.02197549485 -1.354282051e-22 3.993267698e-09 3.584290125e-05 2.56663037e-05 0.003681560476 2.329189518e-24 2.356849339e-10 7.152793545e-08 4.668130324e-06 0.0003083747009 -2.398675307e-24 6.010285485e-09 0.0001436867763 8.714015028e-08 1.2185824e-07 1.059791623e-24 4.045503136e-12 1.242209704e-06 1.459326108e-06 4.77347812e-05 -1.030139569e-24 1.038738271e-11 1.656340628e-07 3.010148885e-07 6.371463877e-05 -8.901087836e-27 1.35911689e-10 9.48607789e-07 3.19615107e-09 1.112287526e-09 5.405470577e-28 7.639941663e-12 3.073567378e-08 4.544644307e-09 2.297961652e-09 4.487446736e-25 8.121543212e-11 2.33144225e-07 2.666071426e-07 8.696419483e-06 2.839357888e-26 9.410808057e-11 1.300276499e-06 6.17792403e-10 4.957524261e-10 -6.087405466e-26 3.805777025e-11 1.49707976e-08 8.061085038e-07 1.999683596e-06 -0.4945189387 0.307421443 0.1319654046 0.03941143222 0.01673841645 0.005001509027 0.002982067969 0.0008721944031 0.0006739086684 0.0001662005827 0.000162668234 2.726728507e-05 3.849627959e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.196133944 0.001473855218 0.003111363451 3.949938519e-05 0.00066058632 0.0001386295456 1.578946936e-05 3.771268021e-05 5.920969413e-05 3.700754264e-05 2.200870706e-05 2.075350102e-05 1.961072167e-05 0.08840629323 0.0002763286464 0.2167017548 5.616190152e-06 0.0007999117945 0.003158046469 7.084671915e-06 0.0008627006185 0.002353843177 2.134169068e-06 0.0002452911372 0.0007507970054 0.0002955998964 2.178128921e-09 0.0007270505305 2.96807978e-05 3.731274748e-07 5.672824671e-05 6.312801471e-06 1.696356487e-07 1.61464403e-05 2.072203919e-08 2.428441935e-05 7.275206594e-05 8.819321448e-05 2.407962009e-05 2.63237684e-10 1.878935399e-05 1.085780408e-07 3.723180558e-05 1.208782969e-05 1.836149821e-07 2.211689716e-05 1.98607593e-05 4.98880876e-07 1.767015763e-05 1.191154367e-05 4.889468582e-08 2.600487559e-05 4.516389718e-06 0.003090419364 0.07702818231 0.1161182433 0.0004909709571 5.610866109e-05 0.0004907593434 0.004552031708 0.000118252944 0.01294368132 6.566660389e-07 5.415245365e-05 6.965368433e-07 0.0003660143648 0.0002426737668 2.130652814e-07 1.290582526e-05 1.480087253e-05 0.001168521117 0.000707618996 2.852694326e-07 2.221772123e-05 0.0002358638387 1.186277545e-06 0.0001450257026 1.156195728e-09 1.720220619e-08 3.62780188e-07 3.756947056e-07 4.136264047e-09 2.520669861e-08 2.59228981e-07 1.013459107e-06 1.514579872e-05 9.221628832e-06 2.465987764e-09 2.610432744e-07 4.071581276e-07 1.360885653e-05 8.472100498e-05 1.652934262e-09 9.882628783e-07 2.368015101e-05 3.327389007e-05 7.778272174e-08 2.226416119e-09 2.477242252e-07 1.755558068e-05 1.392495808e-07 6.696874888e-06 1.354532861e-08 2.519084343e-07 1.099014672e-05 1.274064947e-05 2.715552393e-07 1.329442825e-09 3.206534029e-07 9.375263957e-06 1.578684756e-05 4.035954536e-07 8.45972824e-10 2.144356585e-07 1.684127905e-05 1.336513236e-07 3.355889471e-06 -0.2065678731 0.0005207867785 0.003549245466 0.0001220796844 0.0006956805503 9.05469596e-05 9.784398332e-06 4.452214186e-05 6.01437371e-05 3.025806907e-05 1.860119171e-05 2.063639319e-05 1.919002891e-05 0.09018597439 0.005670828438 0.2120055642 2.550328447e-05 0.001180422357 0.006068511827 4.485489436e-07 0.0008069499863 0.002024578534 1.030521445e-05 0.0003653172471 0.001050627717 0.0003016971537 1.485638676e-06 0.0005669941945 1.993378979e-05 3.406150146e-06 1.433937706e-05 6.412503234e-06 1.141178532e-06 1.81851306e-05 5.063994697e-08 2.493842859e-05 8.705048061e-05 7.902383039e-05 1.815670205e-05 7.688431708e-08 1.502947415e-05 4.700904918e-07 2.868404547e-05 1.378501499e-05 1.639325252e-06 1.734962245e-05 1.812262704e-05 2.590829875e-06 1.623797671e-05 1.154400984e-05 2.812197937e-07 2.217020228e-05 0.0005656222925 0.002696053568 0.07117506849 0.1119457968 0.003592500405 0.000169959148 0.0005711726336 0.00503550934 0.0005485960643 0.01710325536 1.459066533e-06 2.168703038e-05 1.140271424e-06 0.0001137987963 0.0001440630806 8.01036384e-05 0.0002534709484 1.791476122e-05 0.001117962378 0.0007755800165 1.62530968e-09 3.40796057e-06 0.0001518674601 3.160726414e-06 8.410396132e-05 1.395780532e-08 9.291057257e-08 1.151125564e-06 8.615986757e-07 4.138009033e-08 2.224025114e-09 4.352236295e-09 3.308815586e-07 2.556725887e-05 1.342907797e-05 5.920410816e-10 5.201505736e-07 2.172134855e-06 4.636048809e-05 5.885042637e-05 3.539461156e-08 6.75683573e-07 2.621063622e-05 1.419064243e-05 2.631658174e-07 1.655752684e-08 1.460019515e-07 1.26110575e-05 4.883831526e-07 3.789927495e-06 4.531364954e-08 2.754741438e-07 8.610554699e-06 1.40177224e-05 1.767021631e-06 4.18877112e-08 2.847076464e-07 8.67686622e-06 1.517735779e-05 1.535320219e-06 1.57247454e-08 1.736371363e-07 1.525272244e-05 7.684537882e-07 4.912128347e-07 -0.2111385529 0.0002502589398 0.003704876918 0.0001751567328 0.0007001983574 7.20978147e-05 8.348941385e-06 4.806207519e-05 5.948432344e-05 2.74495913e-05 1.757740758e-05 2.06425939e-05 1.886039875e-05 0.0967006891 0.002976479235 0.2089199692 9.469149663e-06 0.001205550184 0.007805263802 4.051304734e-07 0.000755347838 0.001854443393 4.070244772e-06 0.0004349652018 0.001188070318 0.0002926578552 1.113343641e-06 0.0004969631396 2.273805424e-05 6.792800883e-07 7.18376795e-08 7.505183402e-06 1.081927165e-06 2.058143627e-05 1.456253699e-08 2.167688576e-05 9.640376549e-05 7.670891468e-05 1.235044528e-05 3.563923742e-08 1.403236335e-05 1.679032068e-07 2.556301234e-05 1.855515207e-05 1.126865242e-06 1.323198519e-05 1.614450969e-05 7.48785619e-07 1.959974863e-05 1.157738898e-05 1.036046096e-07 2.02446233e-05 0.0003066893945 0.00295561058 0.06694376647 0.1151087135 0.001492032818 6.708125018e-05 0.0007592633064 0.005311616319 0.0001945049208 0.01947888678 2.990219837e-07 1.234321477e-05 2.834756773e-05 7.555261667e-07 0.0001136437178 8.41421953e-05 0.001006186237 3.745786366e-06 0.0004769723257 0.0007953870116 6.557514271e-08 4.195633665e-07 0.0001175184348 8.339593658e-07 6.158207837e-05 1.380825693e-08 2.778093821e-07 4.59215268e-06 9.347426232e-08 1.902386332e-08 3.474310112e-10 3.56132436e-07 2.416904539e-08 3.100637493e-05 1.61347947e-05 6.990833564e-09 6.92084887e-07 1.168444306e-06 5.364262284e-05 5.35020569e-05 1.559065494e-08 5.737630141e-07 3.213776952e-05 7.750573237e-07 1.115441782e-06 6.623877397e-09 1.188907858e-07 1.168543993e-05 1.727075178e-07 2.885402029e-06 2.460059494e-08 3.288474242e-07 8.002297175e-06 1.560134047e-05 1.17001033e-06 1.998087749e-08 2.904619098e-07 1.590068046e-05 6.870764268e-07 8.420250094e-06 7.714360398e-09 1.664352882e-07 1.504206714e-05 3.512215235e-08 2.011211071e-08 -0.3534924927 0.05838670372 -0.000538126004 0.001561356431 0.0001976093014 4.240723937e-05 5.179713067e-05 1.128042835e-06 1.672026897e-05 1.013680007e-05 6.045186806e-06 8.297709321e-06 6.068813152e-06 -0.0506509441 -0.00296625124 -0.02155785633 -0.01330802711 -0.001700873897 -0.01803865139 -0.001610316462 -0.0002189839261 -0.003259590432 5.921322785e-05 9.282251115e-06 0.0001729978027 1.743638445e-07 -7.889484246e-07 -4.029691366e-05 -4.355552771e-05 -8.669223173e-06 -5.856775761e-05 1.031716611e-05 7.621542104e-07 4.943387347e-06 -8.168403033e-07 -3.571361351e-08 1.753806459e-09 -2.81190707e-05 1.354904141e-05 4.44038543e-07 -7.61221376e-07 -1.36817448e-07 -1.678375648e-06 8.288911152e-08 -2.660819979e-08 -3.558044257e-06 3.716671183e-08 1.602483435e-06 -5.436459261e-06 -1.185982289e-06 -1.768255403e-07 -9.896258803e-07 -1.132894929e-20 9.962834418e-07 -0.01371697239 -0.0009721005899 -0.006208902546 3.201965033e-20 9.145378983e-07 -0.01689273382 -0.00075446877 -0.001705329723 -1.277752729e-21 2.881034802e-07 -0.003007584664 -0.000332778319 -0.002997857682 -8.444160207e-24 5.714440598e-09 -5.48007518e-05 -9.10118271e-06 -0.0001344767524 -4.298394147e-23 2.950715688e-10 4.837151157e-07 -2.307573919e-05 9.505373204e-05 -2.153913489e-23 4.599916804e-09 -8.693301232e-05 5.196810229e-06 1.777827754e-06 -1.463156768e-24 1.44767563e-11 4.734972525e-07 1.006098705e-07 4.789783959e-07 -2.262427283e-24 -8.126371797e-12 3.388349229e-07 1.619007484e-07 1.985368389e-06 -1.956771575e-24 7.223058467e-11 -1.678690286e-06 -9.063786903e-08 -1.806660208e-07 -1.721375955e-25 8.704924429e-13 2.424564269e-08 1.897310311e-08 1.138832352e-07 3.653677371e-25 8.308971369e-11 -8.289949886e-07 -1.812083805e-07 -8.088583334e-07 7.140019112e-25 6.333935024e-11 -1.113296322e-06 -4.274495645e-08 4.649125044e-08 -7.684148751e-25 3.342419323e-11 1.262845748e-08 9.123431815e-07 -1.875901465e-06 -0.311435306 -0.02128602119 -0.02026307816 -0.0012476888 0.003325232161 -0.0008326805652 0.0002169914073 -0.0001813636915 0.0001997546648 -7.84262402e-05 5.983408319e-05 -2.37884768e-05 2.74761683e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.311435306 -0.02128602119 -0.02026307816 -0.0012476888 0.003325232161 -0.0008326805652 0.0002169914073 -0.0001813636915 0.0001997546648 -7.84262402e-05 5.983408319e-05 -2.37884768e-05 2.74761683e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1861112921 0.001771897957 0.00236768835 -4.575757927e-05 0.0005527036846 0.0001578051115 2.491053696e-05 3.836413992e-05 5.326417556e-05 3.947845851e-05 2.630192811e-05 2.258469979e-05 2.013624449e-05 -0.02455630845 -0.0222907551 0.2051335106 -3.755079734e-06 -1.152655363e-05 6.974514397e-05 1.939484009e-05 -0.000485710653 0.002060219021 -2.606982025e-05 -5.806090286e-05 0.0003691038375 -0.0001196872099 -2.128375356e-05 0.0006634864297 -9.738870635e-07 -7.369292749e-06 6.728252559e-05 -1.329802856e-06 -4.48244808e-06 2.529898437e-05 -1.007307303e-06 -1.323981944e-05 6.076310669e-05 7.358652311e-05 -1.562970113e-05 -1.647711628e-06 -6.01734103e-06 -3.418777224e-06 4.300158255e-05 -1.931458728e-06 -3.900683906e-06 2.847846399e-05 -8.820013e-07 -3.3757512e-06 2.604467797e-05 -3.795494449e-06 -1.813368076e-06 2.570740775e-05 0.0009654483062 -0.003140535308 0.05597473488 -0.04790848161 -0.02252460552 0.0001290851397 -0.0004062853999 0.003162022725 -0.00137424189 -0.002510411832 1.347039422e-05 -5.113517351e-05 -3.340784078e-05 -0.0001842534268 0.0001963002602 8.938093295e-05 -0.0002648024865 -6.275918285e-05 -0.0002439231221 0.0003690493067 -7.436067528e-08 -2.448056276e-06 -0.000114185691 -4.178233387e-05 0.0001214724206 -1.699765577e-07 5.750319347e-07 -3.81950876e-06 2.879049484e-06 1.787499511e-06 3.525384739e-09 -9.444361376e-09 1.832991976e-06 -1.191392028e-05 7.745395542e-06 -1.738216923e-08 -3.13332194e-07 -9.88422275e-06 -1.664319311e-05 2.025153318e-05 1.787541735e-07 -7.81755529e-07 1.559819265e-05 -1.605849639e-05 -4.052304127e-06 6.391443009e-08 -2.371612657e-07 -6.897797488e-06 -4.294569834e-06 8.665092493e-06 9.022515134e-08 -2.984942582e-07 7.535782806e-06 -3.03331414e-06 -6.66192086e-06 9.168500673e-08 -3.103992681e-07 6.896053873e-06 -3.159604364e-06 -5.75739148e-06 5.460552531e-08 -2.080435422e-07 -3.514070053e-06 -1.835100714e-06 3.587344569e-06 -0.1910368616 0.001121457273 0.002632250934 -3.451241119e-05 0.0005842510882 0.0001351458436 2.054193437e-05 3.926021534e-05 5.428055436e-05 3.696509943e-05 2.44907136e-05 2.198723519e-05 1.968838606e-05 -0.03143609781 -0.01617452344 0.2031890257 -2.275935204e-05 -0.0001573683928 0.0007891359433 -1.950810773e-05 -0.0004508735659 0.001993690719 -1.93791357e-05 -9.359405304e-05 0.0004734127528 -0.0001162583909 -1.869627421e-05 0.0006255142783 3.042364103e-05 8.039692198e-06 3.202963128e-06 -1.657452984e-06 -3.944186751e-06 2.357137928e-05 -5.513176507e-07 -1.474743328e-05 6.267051938e-05 6.979938498e-05 -1.538301416e-05 -1.154208836e-06 -6.689702323e-06 -2.003629567e-06 3.881623711e-05 -6.183828141e-07 -2.614746663e-06 2.419006505e-05 -2.650194974e-06 -2.627257125e-06 2.586198812e-05 -4.232594724e-06 -1.099055893e-06 2.424322767e-05 0.0008489905705 -0.003039456925 0.05306628392 -0.05696150556 -0.01409953439 0.0001255074139 -0.0004552035198 0.003495342505 -0.0009346254704 -0.003699222705 6.484052241e-06 -3.223033389e-05 0.0001206205197 -2.385732835e-05 -0.0001223230567 0.0001847355482 -0.0005992043246 -2.232012801e-06 -0.0001441902628 0.0004028389488 8.541014337e-08 -2.722288058e-07 -0.0001141525735 -2.037802471e-05 9.685093203e-05 -1.7029436e-07 7.644204606e-07 -7.809321748e-07 1.093777413e-06 1.001056582e-06 9.232259203e-09 -9.728280748e-08 4.921689912e-07 -1.103690589e-05 7.656734129e-06 6.594680088e-08 -5.158199384e-07 -7.368822992e-06 -2.214783482e-05 2.135689435e-05 1.254841676e-07 -6.870308054e-07 -1.045235768e-05 -3.372869869e-06 8.736948299e-06 3.969344116e-08 -1.811356376e-07 -7.279822556e-06 -2.37610748e-06 6.896484293e-06 7.911593911e-08 -2.974271332e-07 7.048897165e-06 -4.586925473e-06 -5.03812451e-06 7.149470675e-08 -2.830639111e-07 -5.807840048e-06 -3.578192155e-06 6.927122121e-06 4.065645851e-08 -1.849776376e-07 -1.760497717e-06 4.186326767e-07 -7.001304264e-07 -0.3602043711 0.06593937792 0.0005115658487 0.001491413894 0.0003042300529 9.211316764e-05 4.904298905e-05 4.776543496e-07 2.224253341e-05 9.427819716e-06 4.774683111e-06 8.819647603e-06 5.965467925e-06 -0.07471313703 -0.01124861083 0.01262910365 0.007264752216 -0.01048578692 -0.03129988612 0.001110305994 -0.001280732653 -0.006047013313 -2.350948608e-05 2.419986245e-05 0.0001579374858 -3.534909916e-07 -1.505078263e-10 -4.007758662e-05 -0.0001051645109 -7.091527433e-05 3.622199441e-05 9.834728847e-06 2.330319756e-06 -1.808996765e-06 -4.710724062e-07 -2.9007665e-08 -9.242498959e-10 -2.592471006e-06 -1.708312134e-05 3.205201678e-06 3.750809296e-07 -4.217580339e-07 -2.062418238e-06 -1.792223945e-07 1.026757123e-09 -3.23237034e-06 4.923402027e-07 -1.102898414e-06 -3.328327301e-06 -1.738473904e-06 -7.047845908e-07 4.558534737e-07 -3.49706801e-20 1.046950515e-06 -0.01771613212 -0.005026731511 0.003227506595 1.403964855e-20 9.460027394e-07 -0.01555942007 -0.004533054162 0.0009796933227 1.253603863e-21 2.894646371e-07 0.001810649324 -0.001613840832 -0.007065662551 7.68469926e-22 4.23077685e-09 8.054558918e-05 -8.732058787e-05 -0.0004735112234 3.266494739e-23 3.578541156e-10 1.287814915e-06 8.994598339e-06 2.907039742e-05 -4.060251388e-23 4.700859072e-09 -7.530129947e-05 -1.429666074e-06 -6.616378113e-06 -1.538755811e-23 2.471771246e-12 1.746111477e-06 -2.689196161e-06 -5.908892093e-06 -9.66932666e-25 2.535684172e-11 2.201250028e-07 -2.719313956e-07 -2.054411596e-06 -2.805982902e-24 7.572718855e-11 -1.770309339e-06 -2.133801057e-07 1.254011948e-07 -4.636627392e-26 3.057633175e-13 2.878083577e-08 6.053605155e-08 -2.220884822e-08 2.682469487e-24 7.91655534e-11 6.008801437e-07 -8.985023203e-07 -2.004207714e-06 3.621058451e-24 6.517755859e-11 -1.05809547e-06 -2.479377187e-08 -5.847476904e-08 -2.17354617e-24 3.616360084e-11 1.271097779e-07 -8.568623775e-07 -7.195632397e-08 -0.3196118355 -0.01265310329 -0.0216420335 -0.0021934756 0.003412417145 -0.0006729572318 0.0001708149316 -0.000197058273 0.0002013240815 -7.091479895e-05 5.500748136e-05 -2.372126506e-05 2.717985869e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1813500653 0.002980822694 0.002216827458 -2.6027743e-05 0.0005385824738 0.0001952594359 3.164461339e-05 3.530865228e-05 5.284895607e-05 4.366009797e-05 2.860977662e-05 2.264869119e-05 2.035576596e-05 -0.03744130944 -0.004505280987 0.2099864085 -1.530386271e-06 -9.805621988e-06 5.418817645e-05 7.036885815e-05 -0.0005329616282 0.002275238515 -1.092195962e-05 -5.515177647e-05 0.0003201961872 -0.0001503116928 7.694416326e-07 0.0007533278969 -1.678763914e-05 -5.416302513e-06 0.0001175477344 -3.371076734e-06 -1.561774517e-06 2.440884667e-05 -6.015528153e-07 -1.147370209e-05 5.822334803e-05 8.206622173e-05 -1.766408159e-05 8.580222595e-08 -7.783456792e-06 -1.554875493e-06 4.966403392e-05 -4.104682358e-06 -1.554385876e-06 3.03855412e-05 -9.493973767e-07 -1.849007028e-06 2.635788307e-05 -4.722905594e-06 -7.183679729e-07 2.808100163e-05 -0.0001242123779 -0.001862595692 0.06405252492 -0.05966458784 -0.007758357704 8.62596407e-05 -0.000302585812 0.003096308345 -0.0006209653867 -0.002537623108 9.778929394e-06 -6.346887587e-05 -2.443788287e-05 -0.0002917019475 0.0003411669483 1.237633443e-06 -4.847399189e-06 -8.636113159e-05 -0.0003343611852 0.0003913797893 2.078007225e-06 -1.616555237e-05 -0.0001568107243 -2.351217146e-05 0.0001792786594 4.919875884e-08 -2.376023678e-07 2.800785349e-06 -2.334510479e-06 -5.13032115e-07 6.430587415e-08 -2.373400437e-07 2.732422129e-06 -1.027073643e-05 7.112738173e-06 -2.639204141e-08 -1.537440146e-07 -4.150811525e-06 -1.332184742e-05 1.56499527e-05 4.069426793e-08 -6.099601572e-07 2.311229493e-05 -2.243773373e-05 -2.022592881e-06 3.056877927e-08 -2.751585112e-07 -1.024002622e-05 -2.206628007e-06 1.166378519e-05 5.340393251e-08 -2.302571958e-07 8.682071814e-06 -6.806017804e-06 -2.44174871e-06 2.027388278e-08 -2.25134676e-07 8.281447889e-06 -6.081861081e-06 -2.705929142e-06 1.49525807e-08 -1.795508238e-07 -5.859992795e-06 -1.444417991e-06 6.796681429e-06 -0.3196118355 -0.01265310329 -0.0216420335 -0.0021934756 0.003412417145 -0.0006729572318 0.0001708149316 -0.000197058273 0.0002013240815 -7.091479895e-05 5.500748136e-05 -2.372126506e-05 2.717985869e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1948719308 0.0009721699201 0.002896602643 -3.239172573e-06 0.0006202660647 0.0001260620019 1.739602056e-05 3.930232176e-05 5.610816838e-05 3.579002228e-05 2.297197587e-05 2.136643603e-05 1.945660554e-05 -0.05724810196 0.01390074063 0.2046339776 3.559005716e-05 -0.0004865807428 0.001847397795 1.836008217e-05 -0.0004880766155 0.002058209654 2.019393908e-05 -0.0001612323672 0.0006033961998 -0.0001406887253 1.779046481e-05 0.0006280570724 2.788810643e-05 1.049216012e-05 -1.025018689e-06 -6.80493942e-06 2.170312822e-06 2.066369383e-05 5.098795978e-07 -1.669431834e-05 6.67904126e-05 7.255452073e-05 -1.828253871e-05 9.600237235e-07 -9.073900768e-06 1.771789862e-06 3.674050513e-05 -2.506745394e-06 4.59122265e-06 1.801448269e-05 -5.394655104e-06 3.081492134e-06 2.290703861e-05 -5.732791831e-06 1.024639361e-06 2.402095424e-05 -0.001166009958 -0.0008268717715 0.05555285569 -0.0808502287 0.01210411961 -0.0001891024722 -0.000141021738 0.003963907056 0.001026575088 -0.0059508826 -6.644162902e-06 -1.264435374e-05 0.0001013744647 2.232378558e-05 -0.0001399545546 -0.0002638703086 -0.0001244721321 2.707890234e-07 -0.0002443369388 0.000497624983 -1.479562029e-07 4.816347702e-08 -0.0001426867035 1.665138022e-05 9.928159229e-05 1.531764236e-07 2.952311652e-07 -4.175660728e-07 1.431204267e-06 -4.461348386e-07 -9.519616551e-09 -4.983625251e-08 -4.846590857e-07 -9.798374321e-06 8.12916141e-06 -7.170132432e-08 -3.55481621e-07 6.019174458e-06 -3.983845836e-05 2.722529699e-05 -1.386713338e-07 -3.882891249e-07 -1.298492545e-05 7.433086588e-06 1.964629858e-06 -4.585202845e-08 -9.610779197e-08 -9.729978896e-06 2.012424932e-06 5.879828989e-06 -1.016063863e-07 -8.438071818e-08 7.364053811e-06 -1.252698515e-05 3.338664826e-06 -9.003574996e-08 -1.063444398e-07 -1.17276046e-05 2.723128386e-06 7.211046479e-06 -4.778417574e-08 -8.752009253e-08 -2.652087486e-06 7.992027518e-07 4.07706385e-07 -0.3637359021 0.0700232606 0.001127258787 0.001428682097 0.0003538882964 0.0001215062951 4.595407234e-05 2.220261721e-07 2.574581689e-05 8.766728567e-06 4.248650953e-06 9.103454128e-06 5.761747921e-06 -0.09261772873 0.01283814802 0.005845415799 0.00459061481 0.01079932409 -0.05141288724 0.0006674041828 0.001528836695 -0.009170238934 -7.779765744e-06 -1.909981372e-05 0.0001378816079 1.720899617e-07 7.186667344e-07 -4.010866162e-05 -0.0002532622988 7.090110074e-05 2.563084193e-05 9.489299525e-06 -1.695505021e-06 -6.666754504e-07 -1.009463753e-06 8.608281749e-08 -1.705473716e-10 -2.751799369e-06 -1.061036906e-05 -4.294042932e-06 1.489353134e-07 4.141470384e-07 -2.420588996e-06 1.023935282e-07 2.600839044e-08 -3.860781581e-06 -5.665972806e-07 -8.360400781e-07 -2.661059788e-06 -2.673702408e-06 6.418859205e-07 2.193408353e-07 9.952955141e-20 1.075710766e-06 -0.02533616437 0.005051603997 0.001949484274 -6.080977597e-20 9.644849478e-07 -0.02381095117 0.004668657094 0.0006671788848 -1.590980217e-20 2.913728318e-07 0.0009719562298 0.001827778882 -0.009747243213 -4.073421728e-22 4.036397421e-09 5.323167169e-05 0.0001320365158 -0.0008030200969 2.625367667e-24 5.092021046e-10 -6.820942519e-07 2.439776241e-06 1.533462776e-05 -1.125241858e-22 4.798208294e-09 -8.06488125e-05 -4.176044426e-06 4.486823047e-06 -3.416435251e-23 3.15194717e-12 1.347609846e-06 4.257147142e-06 -1.587912552e-05 -1.716706566e-24 1.457313638e-11 1.408200001e-07 9.829390316e-07 -6.40073706e-06 5.126428141e-24 7.819570725e-11 -1.96760478e-06 2.605497553e-07 3.93818136e-08 1.818275201e-26 -1.531973543e-12 4.781231651e-08 -1.707666559e-08 -5.699025478e-09 2.406689975e-24 7.77916724e-11 3.277097911e-07 1.058644816e-06 -3.92977133e-06 1.478320767e-24 6.689223284e-11 -1.147974117e-06 6.556156534e-08 8.408130294e-09 -8.967688612e-25 3.718608173e-11 -1.453136912e-07 -5.857946455e-07 -2.111284866e-08 -0.3231284777 -0.008771257858 -0.02211143554 -0.002627389903 0.003423479474 -0.0006004980192 0.0001577881829 -0.0002047424553 0.0002002173849 -6.754360125e-05 5.347229048e-05 -2.372482861e-05 2.694541117e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1841237389 0.002721543895 0.002412213641 -1.638917348e-05 0.0005674841995 0.0001873999811 2.824941109e-05 3.477724039e-05 5.415510722e-05 4.292092387e-05 2.74044628e-05 2.204622183e-05 2.007619797e-05 -0.04550567719 0.004282629549 0.2112482929 1.289965468e-05 -0.000136887344 0.0005674872568 -7.806055811e-05 -0.0003946302838 0.002332466496 1.136927117e-05 -9.34322617e-05 0.0003922151692 -0.0001497472916 -7.669396006e-07 0.0007633966901 -2.241279643e-05 4.953169721e-06 0.0001054434719 -5.394945216e-06 1.18159002e-06 2.160147111e-05 5.775863305e-07 -1.291097116e-05 5.951295511e-05 8.332450391e-05 -1.755277601e-05 -8.666566563e-08 -9.801493399e-06 1.47176625e-06 4.764749939e-05 -5.929758603e-06 1.484993294e-06 2.797789471e-05 -2.141837569e-06 2.72588904e-06 2.250120381e-05 -5.83966711e-06 6.863903373e-07 2.780953737e-05 0.0001166367465 -0.001990033398 0.06614146879 -0.07526775466 0.006975057864 -0.0001425697826 -8.300420285e-05 0.003372831115 0.0006748816187 -0.004061414444 -1.037948555e-05 -3.581018246e-05 2.185510087e-05 -0.0003284731458 0.0003321987123 -1.437161692e-06 -9.604693112e-07 8.208622162e-05 -0.0005547356818 0.0004475020292 -2.346623117e-06 -1.240403564e-05 -0.0001939280999 2.065742629e-05 0.0001770042901 -5.40391055e-08 -1.287642657e-07 2.456066321e-06 -2.766224803e-06 3.482860787e-07 -8.816561831e-08 -7.690128311e-08 -3.430748533e-06 -3.643215106e-06 6.81410007e-06 2.387118355e-08 -1.931431495e-07 3.040322332e-06 -2.277476793e-05 1.830961465e-05 -4.217175651e-08 -4.774430665e-07 2.342694185e-05 -2.616342142e-05 1.834969817e-06 -3.253528401e-08 -2.030666121e-07 -1.300393933e-05 1.949091919e-06 1.056488751e-05 -6.858660243e-08 -9.569051654e-08 9.213358257e-06 -1.135368808e-05 1.771035041e-06 -2.139306524e-08 -1.703181872e-07 8.604215996e-06 -1.103816319e-05 2.101010913e-06 -1.567217019e-08 -1.404168458e-07 -7.399263723e-06 1.515566526e-06 5.547080096e-06 -0.1927511184 0.001402417603 0.002835110879 -2.704222162e-06 0.0006182617919 0.0001412732983 1.883220915e-05 3.782726762e-05 5.641830489e-05 3.757635345e-05 2.36315019e-05 2.136322672e-05 1.962589421e-05 -0.05979183443 0.01779410943 0.2078473978 5.082980324e-05 -0.0004677968501 0.001707994885 -1.928583468e-05 -0.0004560882431 0.002178816849 2.905446113e-05 -0.0001589664888 0.0005755703888 -0.0001502611367 1.983637891e-05 0.0006759946098 -7.858375624e-06 1.955426838e-05 3.701243415e-05 -6.261023235e-06 2.120810002e-06 1.964190291e-05 9.147273094e-07 -1.614621043e-05 6.597788419e-05 7.751676334e-05 -1.948222393e-05 1.375446403e-06 -1.003737577e-05 2.849374471e-06 3.913555097e-05 -5.768653051e-06 4.849512452e-06 2.156731436e-05 -4.464423889e-06 6.827266661e-06 1.897166464e-05 -6.343652959e-06 1.611191432e-06 2.52497445e-05 -0.00154888526 -0.0003140997488 0.06042218686 -0.08621715227 0.01734808316 -0.0002923063989 2.909868101e-06 0.003904844512 0.00166323628 -0.006106411021 -1.455874187e-05 -9.671494935e-06 2.420917805e-05 -0.0002232862209 0.000191062553 -0.0001650987689 0.0001224360201 5.768130749e-05 -0.0006225889468 0.0005191901726 7.124841836e-08 -2.38531964e-06 -0.0001715711413 3.019131868e-05 0.000122733157 1.514568457e-07 1.2517373e-07 -2.820971194e-06 3.646098993e-06 -6.519668246e-07 -5.613948155e-09 -3.061079176e-09 -1.862303986e-06 -7.327652641e-06 7.843078907e-06 1.641696089e-08 -3.101604972e-07 7.239390879e-06 -4.089122721e-05 2.924291342e-05 -2.091688306e-07 -3.150453298e-07 1.695557392e-05 -2.243589411e-05 2.976511146e-06 -7.90135552e-08 -8.804939561e-08 -1.128731195e-05 3.213605083e-06 6.813536859e-06 -1.318168045e-07 -3.295472202e-08 8.072346629e-06 -1.280467782e-05 3.554883501e-06 -1.306679315e-07 -5.87423405e-08 8.237502742e-06 -1.271578554e-05 3.317643169e-06 -6.902106244e-08 -6.754450937e-08 -5.944282468e-06 4.25730372e-06 7.108279751e-07 -0.3231284777 -0.008771257858 -0.02211143554 -0.002627389903 0.003423479474 -0.0006004980192 0.0001577881829 -0.0002047424553 0.0002002173849 -6.754360125e-05 5.347229048e-05 -2.372482861e-05 2.694541117e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4207438418 0.1179381261 -0.002427298276 -0.004567081607 8.501587348e-06 0.0001065592185 -0.000478871091 8.212646361e-05 -6.495415512e-05 8.739784653e-05 -2.401657676e-05 1.698585748e-05 -2.711526388e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2839885795 -0.01241593237 -0.003023754498 0.0001010667438 0.0001360972262 -1.978718889e-05 1.390081218e-05 4.187174195e-05 -3.790660972e-06 1.971899377e-05 1.209763739e-05 7.099959594e-06 8.742596803e-06 -0.000579376296 -0.002904549622 0.2088827277 0.003701164862 0.0003168363972 0.01244127021 -7.902555153e-06 -1.73492799e-06 -0.004719068212 -2.667898206e-07 -1.45097356e-08 -6.764044359e-05 -6.259036763e-09 -1.303825326e-07 0.0001775585224 -1.582756915e-05 -7.440578853e-06 -4.139201328e-05 5.702159856e-08 1.653070817e-08 4.292771718e-05 8.807366888e-07 3.370801703e-08 1.168641439e-05 1.55795341e-08 1.366829947e-07 -5.67497027e-06 -7.839101001e-08 -1.131109543e-06 2.675417561e-05 5.183807516e-06 4.010576669e-09 1.520123084e-07 -1.038284939e-08 -8.646060011e-08 7.543027517e-06 -6.784982974e-08 -6.355998255e-07 8.836591835e-06 -6.782325836e-07 -2.568257695e-05 0.03969085997 -3.685694786e-05 0.0003133346609 1.698771416e-06 3.428647548e-05 0.0112854185 -0.001040113546 -6.796405195e-05 1.138108631e-08 -4.757579722e-06 -0.0007639447688 2.621074512e-05 2.405512604e-06 -3.533218231e-09 3.386074132e-07 8.786736651e-09 1.534780586e-07 4.060938857e-05 -2.192259166e-10 -5.214833496e-08 -5.88926303e-08 -7.238105894e-07 -3.310809219e-05 -7.206163492e-12 5.330413108e-09 1.666635218e-09 4.199270603e-08 -1.703598928e-06 1.032829256e-08 1.287643549e-06 -1.414776345e-08 2.27507154e-08 2.384957628e-05 5.285460715e-09 1.275521551e-08 -2.038878056e-05 7.621480632e-07 -6.753622787e-09 -2.834363905e-11 -3.660581601e-09 -2.441714291e-08 -3.337095765e-07 6.189592539e-06 5.277800944e-11 -4.626692738e-09 4.100479242e-06 4.847164268e-08 8.901847052e-07 -5.913155339e-13 6.276349476e-13 -5.257653508e-09 1.362984849e-10 3.85416472e-11 3.909705078e-11 -4.483489784e-10 6.409913871e-09 2.907133978e-08 2.389711046e-06 -6.606027667e-10 -3.89069989e-09 1.445391933e-06 8.559619768e-09 1.374795694e-07 -0.4202786116 0.1188430024 -0.002352844885 -0.00519749733 0.000768677171 -0.0004576628552 -7.509714242e-05 -0.0001775979408 0.0001152915961 -1.844291233e-05 3.84435434e-05 -1.378656961e-05 1.291514132e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2494284931 -0.01876042867 -0.0002631889396 -0.0001036634017 0.0001216517768 7.51399269e-05 -9.301271229e-06 4.090320176e-05 2.149604085e-05 1.015065925e-05 1.977936499e-05 1.153259716e-05 9.149731172e-06 -0.001095170738 -0.003826615895 0.236354623 1.443695234e-05 1.412792732e-05 0.0002803797567 -7.323530738e-07 1.766721496e-06 -0.003273306204 6.737508777e-07 5.343126217e-07 9.315525223e-05 -5.718722716e-06 -3.035507165e-06 0.0003355162254 2.440310551e-07 5.937552171e-06 -7.046039318e-05 -7.888824118e-09 -1.532580711e-07 1.54324675e-05 3.089403668e-07 1.636221243e-06 5.761292824e-05 -4.084350806e-07 -2.058454142e-08 -4.341981809e-09 -2.547890253e-07 -4.510704089e-07 1.959409797e-05 -2.669391867e-07 -1.754078414e-06 2.217484989e-05 -8.502200371e-08 -1.026703926e-06 1.133527974e-05 -1.488830878e-07 -2.134842546e-07 1.111416151e-05 2.031722399e-05 -0.0001757074916 0.06161434582 0.002066933204 0.0004701044193 2.354255821e-07 3.194664781e-05 0.009484829548 -0.0009936085379 -0.0005075869649 -1.382055531e-07 5.490070288e-06 -4.319604531e-05 -0.0002256210059 -0.001050570922 -1.265035111e-10 6.074429911e-07 3.06872827e-07 3.353264521e-07 4.619756438e-05 -1.487696698e-09 2.131258716e-08 1.389695813e-06 1.342172256e-06 0.0001164958272 -4.88175714e-09 -5.481115608e-09 -3.758437773e-05 -6.694682571e-06 -8.254822377e-06 1.997586323e-12 -1.142831693e-09 -1.067814965e-07 2.466015596e-07 1.856896615e-05 -4.312405327e-10 1.109067493e-09 2.166320557e-06 1.966338224e-06 1.011178904e-05 -4.762960015e-10 2.688046448e-08 -4.808022219e-06 -2.183752741e-06 -5.681404047e-07 2.491430156e-10 -2.151666683e-08 -6.429266764e-07 -1.418942525e-06 1.347588003e-05 -2.148911942e-10 -2.145988525e-08 4.458960748e-06 1.798545451e-08 2.644394193e-07 1.086491026e-10 -5.805934184e-09 2.509672e-06 -3.23176741e-09 2.017810595e-07 1.841583416e-10 -9.342957966e-09 -4.136180823e-07 -1.415306614e-06 5.409895034e-06 -0.2557525396 -0.01817463576 -0.0006185371363 -6.269841435e-05 0.0001264769089 5.416978576e-05 -5.346329093e-06 4.257825276e-05 1.657395898e-05 1.106823417e-05 1.924278275e-05 1.031518844e-05 8.91914548e-06 -0.001808444893 -0.003056719463 0.2323883984 0.0001118945933 0.0002723366832 0.002826501286 -1.097317655e-06 8.437664066e-07 -0.003635013682 3.216984842e-07 5.988805381e-07 8.767533308e-05 -6.84523474e-06 -3.090859579e-06 0.000323119255 -2.749947651e-05 -3.733548474e-05 -1.360372183e-05 -9.708657057e-09 -1.133490847e-07 2.2151971e-05 3.500891456e-07 3.205432858e-06 5.166533794e-05 -5.683366684e-06 -5.825916992e-07 -9.214224577e-08 -3.696961022e-07 -3.237756286e-07 2.231413895e-05 -1.234208178e-07 -1.583674407e-06 1.910022536e-05 -1.826999238e-07 -5.536199663e-07 9.664463008e-06 -1.99735238e-07 -1.432759102e-07 1.070847696e-05 1.849473522e-05 -0.0001790927146 0.05793650975 0.002015230359 -0.0004210583697 8.403681941e-08 2.656242766e-05 0.01010105086 -0.0006436356906 -0.0007447838149 -1.875565868e-07 5.016020174e-06 -0.001511424437 0.0001258605999 0.0001265414281 2.97712658e-09 8.72489349e-07 3.587026026e-09 1.863152797e-07 4.673657457e-05 1.830387478e-11 -2.25092511e-09 1.523190464e-06 7.54851064e-07 8.363980707e-05 -3.576236625e-09 2.030073629e-07 -2.738944416e-06 -2.700473482e-05 -1.181414298e-05 4.472872913e-10 5.147590788e-09 -4.065571734e-08 3.961983773e-07 1.958546485e-05 -2.381235986e-10 2.118814952e-09 7.473247563e-07 1.180908014e-06 6.664071206e-06 -3.596077149e-10 1.985942765e-08 1.00825032e-06 2.601414312e-06 -1.011170156e-05 3.592715883e-10 -2.355898235e-08 -9.898695595e-07 -1.087355981e-06 1.336095297e-05 -2.04702687e-10 -1.709014287e-08 3.382678799e-06 -2.034160639e-09 4.017943888e-08 1.034188159e-10 -4.823855759e-09 2.22486328e-08 -1.829218842e-08 2.478163123e-06 2.294905037e-10 -9.824033658e-09 -3.09867998e-07 2.339667578e-06 1.182097503e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06701504964 -0.003874690572 -0.02278685981 -0.01858869909 -0.002794500811 -0.02951920367 -0.003379654366 -0.000562350416 -0.008384006229 0.0005876476358 0.0001189324008 0.002242336089 -2.940304204e-05 -2.799862824e-05 0.001368050109 0.0002448267557 4.892110771e-05 0.0002919912367 -0.0002151353279 -1.586762862e-05 -8.364148902e-05 1.07536025e-05 3.917264607e-07 -5.767910631e-07 -0.0002192291748 0.0001106203805 3.507963183e-06 1.210214902e-05 2.674159219e-06 3.315675889e-05 8.03627277e-07 6.965812698e-07 -2.111494426e-05 -1.253855147e-07 -6.214729747e-06 1.871062288e-05 -7.262504988e-06 -1.081885055e-06 -5.211609168e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08612784605 -0.01727817092 -0.01817615757 -0.0008688588751 -8.461838068e-05 0.0004196139332 -0.0001390389965 4.329587635e-05 8.231038957e-06 -5.881876905e-05 8.470644965e-06 -1.156771251e-05 -1.335112103e-05 0.0005183338761 0.005381743617 -0.1491502245 0.001038550739 5.810133275e-05 0.002421299683 -0.0001181749131 -5.763198288e-06 -0.01021409752 -2.759482894e-05 -1.172412474e-06 -0.005547436306 -7.941376698e-08 -1.95578012e-06 0.002183629464 -3.259696867e-05 -1.543272008e-05 -8.154132301e-05 -1.125506429e-07 -4.93191736e-08 -0.0001324711093 1.109736971e-05 3.863224782e-07 0.0001361326134 4.02122546e-07 4.265811735e-06 -0.0001432462402 1.355866302e-07 2.241654237e-06 -4.583834971e-05 1.466709477e-06 -4.19453188e-10 3.919429289e-07 5.91543232e-08 7.550257318e-07 -4.025960255e-05 1.49781364e-07 1.583109509e-06 -1.899904785e-05 -7.871423576e-05 1.883844543e-06 -0.06328602222 7.927992465e-05 0.00250609059 -4.469785044e-06 -5.343034011e-05 -0.01012810545 0.001715789773 6.102464131e-05 -2.358257563e-07 -2.938629601e-06 -0.0002333078873 -8.308655019e-05 3.003351323e-07 -3.594724243e-07 -3.609866033e-05 -3.523839211e-07 -4.832539283e-05 -0.002362778171 -5.578345464e-08 1.067236263e-06 1.485576595e-06 2.59560254e-05 0.0008311628424 -6.465323149e-11 7.032172027e-08 2.129822453e-08 7.560964533e-07 -2.251870125e-05 -7.536038899e-08 -3.350136122e-07 -1.380610088e-08 -4.018569522e-09 1.185514639e-06 -5.305954284e-08 -5.253342245e-08 4.799915481e-05 -2.030116626e-07 2.157873631e-08 -3.788581024e-09 3.065416458e-08 2.712565648e-07 4.102506544e-06 -6.855305864e-05 -1.301757837e-09 -1.037039755e-08 4.870378691e-06 5.681695629e-08 1.245359923e-06 -1.437204766e-08 6.078017972e-10 -6.306735824e-06 5.006399938e-07 5.800522789e-08 -6.708914341e-09 1.416730197e-09 -2.420103563e-08 4.583921091e-08 -1.292515642e-05 -2.679733066e-09 1.741873828e-09 -1.986169031e-06 -1.197078414e-08 1.1851827e-08 --0.04966106232 -0.07935131005 -0.02594066705 -0.001253827784 0.002766914392 0.0007275674401 9.031349227e-05 -0.0001626590049 -3.760151799e-05 -1.066086104e-05 2.561518336e-05 -1.460200126e-06 4.125218093e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.03063551487 0.01220852203 0.003489108876 -6.825221657e-05 0.000418235573 -0.0002234242124 3.867992337e-05 2.713566063e-05 -1.607789493e-05 1.379041609e-05 1.059226419e-05 1.149431049e-07 4.519109959e-06 -0.03617039289 -0.02722477476 0.03409966125 -3.691358349e-05 -7.988645134e-05 -3.274260491e-05 -9.055356571e-05 0.001358602469 0.004519316244 -1.770547611e-05 -4.893166523e-05 0.0007200358087 5.185016196e-05 5.456036219e-06 -4.49603956e-05 -2.302212e-06 1.49235851e-05 -0.0002517648625 -3.460929623e-06 -1.133174387e-05 8.873736891e-05 -5.35805415e-07 -9.060347338e-06 4.662881302e-06 -9.537774761e-07 -2.27201973e-05 -2.249026463e-06 -7.654996174e-06 -3.682970538e-06 3.855728578e-05 -2.012046063e-06 -2.188310662e-06 4.447235795e-06 -8.471382296e-07 -1.141818702e-06 3.989351203e-07 -4.030295234e-06 -1.497982339e-06 1.113630585e-05 -0.00101224782 0.003262808405 0.03014743352 -0.05548504088 -0.02285243403 -0.0001296665432 0.0003580427883 -0.0008096273394 -0.002228163948 -0.005815985048 -1.572712698e-05 7.549841257e-05 0.0004454541923 0.002797627921 0.0002127696543 -9.024900013e-05 0.0002278400861 2.102767854e-05 0.0001197032391 0.0008138376307 3.665891023e-09 2.755992601e-06 3.638361633e-05 8.987962705e-06 -0.0003278089969 1.302248766e-07 1.234938449e-06 2.448680128e-05 -5.727950489e-05 -3.604887063e-05 -3.596917825e-09 1.332214134e-08 1.146241082e-08 -5.412470295e-07 2.725021776e-05 6.952354454e-09 3.268891268e-07 -7.636796931e-06 -1.042590762e-05 -1.108061661e-05 -1.946825331e-07 8.885790729e-07 1.387230819e-05 -2.212443392e-05 -4.572742722e-06 -6.85350855e-08 3.019148887e-07 -6.245497171e-06 -4.203689726e-06 1.653950164e-05 -9.249323159e-08 3.119945224e-07 -2.591372487e-07 -2.478302867e-06 -5.405128278e-06 -9.478011228e-08 3.230820721e-07 4.088428919e-06 -2.696105411e-06 -4.717294046e-06 -5.807231447e-08 2.315010363e-07 -2.844176637e-06 -1.254855211e-06 2.51838535e-06 --0.0307634 0.0112326929 0.004039611958 -5.750398627e-05 0.0003888250908 -0.0002275784691 4.651121072e-05 2.117053504e-05 -1.755613853e-05 1.736908893e-05 7.990001571e-06 -4.669882724e-08 5.069599017e-06 -0.04579412365 -0.01837889877 0.03516432843 -0.0002307036926 -0.001143149604 -0.0001356449448 1.306141834e-05 0.00145893501 0.004520762276 -7.04756237e-06 -5.317129401e-05 0.0009310042016 5.336913034e-05 5.379084854e-06 -0.0001885286408 2.21146197e-05 -0.0001640221438 -5.447469076e-05 -3.462065238e-06 -7.897722141e-06 8.204755433e-05 -3.138231708e-07 -1.17602348e-05 -5.341616991e-06 1.004048619e-05 -2.71630121e-05 -1.934670093e-06 -8.422115934e-06 -1.987332641e-06 3.79479996e-05 -5.501120995e-07 -3.7095109e-07 -2.258327601e-06 -2.732893725e-06 -1.396671089e-06 3.971164742e-06 -4.445754526e-06 -7.85304913e-07 1.077059549e-05 -0.0009132949923 0.003187919665 0.02925055837 -0.06478326715 -0.01245110669 -0.0001291991416 0.0004143718195 -0.0005850448695 -0.001263340261 -0.008219144071 -9.269084185e-06 5.608760232e-05 0.001500722126 3.171734396e-05 0.001807146535 -0.0001913409957 0.0005443128462 2.432427553e-06 5.915636038e-05 0.0008696547892 -8.680194884e-08 2.235005601e-07 9.082436668e-06 -1.099361302e-06 -0.0003511084998 1.262685991e-07 4.94508748e-07 6.795432435e-06 -3.250306919e-05 -1.66873531e-05 -1.509118956e-08 8.184404169e-08 -2.209633189e-07 2.540974262e-06 2.188183718e-05 -7.853873095e-08 5.435508424e-07 -5.841382018e-06 -1.534531015e-05 -1.494134741e-05 -1.457269137e-07 8.300567857e-07 -1.316914515e-05 -3.379457407e-06 9.85322249e-06 -4.488956682e-08 2.354678994e-07 -6.082988186e-06 -2.070021993e-06 1.233465679e-05 -8.346798537e-08 3.103046926e-07 -9.300433426e-07 -3.782264972e-06 -3.878656338e-06 -7.636124107e-08 2.987705138e-07 -4.741979165e-06 -2.591685179e-06 4.994098476e-06 -4.515659241e-08 2.085251222e-07 -1.369931381e-06 -8.675439265e-08 -4.877865833e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.006047608879 -0.01043326028 -0.2829929257 -0.1577293036 -0.002302051951 0.003874318373 -0.03774797378 -0.0009101855957 0.0008447512808 0.008900577745 0.00031631184 -0.0001702832824 0.0009547880414 0.003046314221 1.967008927e-05 -4.412499636e-05 1.723926306e-05 0.001823800535 2.13749235e-05 -2.356549811e-05 -0.0009630672702 6.571044641e-08 5.831811616e-06 2.652435686e-05 -0.0001300805978 -0.0001865309905 -5.813940429e-06 0.0001446839676 5.587106151e-06 -3.223287793e-06 -1.244869564e-05 -4.719051333e-05 -5.343545361e-07 1.9010022e-07 3.430654074e-05 3.45327263e-06 1.050675628e-06 -9.543942823e-07 -4.168301446e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.001685737834 -0.0003381771141 -0.0003557529637 -1.700574606e-05 -1.656193813e-06 8.212896473e-06 -2.721341675e-06 8.47408825e-07 1.611020642e-07 -1.151230745e-06 1.657917544e-07 -2.264091292e-07 -2.613149044e-07 -0.01142620873 -0.1625569815 -0.007567251455 -0.01533900275 -9.936796046e-05 0.002766463152 0.004996630878 0.0002716793514 -0.0002154741648 0.0002866257996 4.110704554e-06 -0.0001103117022 5.885216371e-07 1.750732035e-05 4.275958843e-05 2.021998972e-05 9.266919809e-06 -0.000146391596 -3.129535549e-06 -2.027190403e-07 -2.584536267e-06 -4.200069269e-05 -2.050085903e-07 6.144964072e-06 -1.537528809e-06 -4.037619304e-05 -4.716422326e-06 -3.867269091e-07 -1.504881879e-05 -2.229204927e-06 7.091136967e-07 -1.964333633e-07 -1.754733116e-05 -6.156003849e-07 -1.454781804e-05 -1.092896232e-06 -4.613708493e-07 -1.050980867e-05 -2.595901556e-06 0.003670346839 0.00239518229 -0.001020602947 -0.004983450086 -0.1496339244 9.944667509e-05 0.001204523162 -0.001193311417 -0.03905193638 -0.0007706419767 9.898894005e-06 7.761149807e-05 3.640262369e-05 0.004539890864 0.0001347946917 1.26850082e-05 0.000854143973 2.15469491e-05 0.001983103904 -5.156823554e-05 2.482718859e-06 1.300867402e-05 -8.892741671e-06 -0.0003889316379 1.786581401e-05 5.526938171e-09 -2.07575613e-09 -1.179333766e-07 -1.009875982e-05 -5.001455855e-07 2.630344935e-06 2.166336e-05 6.562973748e-07 2.533425904e-07 -1.777471801e-07 2.276150757e-06 9.478828185e-07 3.330355155e-07 -8.154342144e-05 -3.327331339e-08 1.709387702e-07 5.451108298e-07 -4.903881353e-07 -2.022225174e-05 -1.591149289e-06 5.45661896e-08 2.638112648e-07 3.487733924e-07 -1.201173808e-07 -9.385317553e-06 6.786986626e-07 2.592724565e-08 -2.435953088e-07 -1.655730338e-05 -1.254311092e-06 3.111562423e-07 7.217938802e-08 -9.897268402e-07 -9.92729723e-06 -2.236059673e-07 1.590686855e-07 2.073441688e-07 1.227447876e-07 -1.945871828e-07 -1.004879941e-05 --0.1523488835 -0.2434318343 -0.07958008707 -0.003846459461 0.008488266233 0.002232012003 0.0002770613248 -0.0004990009603 -0.0001153529348 -3.270510539e-05 7.858157688e-05 -4.479563033e-06 1.265523413e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.04131985135 -0.01646632406 -0.004705958451 9.205562415e-05 -0.0005640979686 0.0003013448699 -5.21698e-05 -3.659940002e-05 2.16851661e-05 -1.859991403e-05 -1.428638571e-05 -1.550302657e-07 -6.095179158e-06 0.0007493664641 -0.1247694159 -0.05852204658 -0.0001608285368 5.353126646e-06 9.662881481e-05 0.002122725176 0.0002931821957 -0.006088349245 -0.0001426757483 -6.919665017e-06 -0.0009629073388 5.746512189e-06 0.0001200377142 8.466784467e-05 -1.085026153e-06 -6.977350995e-05 0.0001604431629 6.741538106e-07 -2.598135438e-05 -0.0001207648549 -1.449456427e-05 -1.421808436e-06 -3.778524509e-06 1.048638559e-05 -2.208423408e-06 -3.416678264e-05 2.742274438e-07 -2.047674433e-05 -5.7020189e-05 9.400710095e-08 -9.660685875e-06 -1.647031074e-05 2.248329545e-08 -6.733136646e-06 -1.58310089e-05 -6.734892115e-08 -1.09012341e-05 -1.741388629e-05 0.002022215937 0.002473453422 -0.03442506709 -0.002868817663 -0.141448347 0.0001412133051 0.0002155199775 -0.002448807031 -0.01670114701 -0.000249101929 0.0001314879741 7.212721989e-05 0.004553811344 3.474144472e-05 -0.001076159775 0.0001301771883 0.0002386172281 8.846470263e-05 -8.141652004e-06 -0.001106517027 3.462180601e-06 6.695419265e-07 7.319456987e-06 0.0001030839147 0.0004402604336 2.061418525e-06 1.779298732e-06 -7.288282745e-06 6.948593424e-07 -0.0001671099808 6.833700495e-09 1.259084524e-08 -8.877306696e-07 -7.56846803e-07 -3.673981777e-05 5.170791039e-07 6.737771857e-08 -1.759773714e-05 3.775508865e-06 1.820248203e-05 9.80613723e-07 5.271177286e-07 -9.274687293e-06 -6.270678923e-06 -4.840861113e-05 2.732826111e-07 2.324773663e-07 9.431156493e-07 -1.35922277e-05 -2.51935728e-05 2.120392066e-07 2.079203238e-07 8.794597015e-07 3.795436008e-07 -1.50569718e-05 2.345531261e-07 2.211498054e-07 -5.077409837e-06 3.539635555e-07 -1.556855535e-05 2.117409394e-07 1.531927724e-07 5.293911734e-07 -1.866051419e-06 -1.705945802e-05 -0.0410669468 -0.01499484459 -0.005392594102 7.676372394e-05 -0.0005190537886 0.000303801039 -6.208915193e-05 -2.826115567e-05 2.343619389e-05 -2.318649601e-05 -1.066608273e-05 6.233960661e-08 -6.767553429e-06 -0.00196917674 -0.126426481 -0.06090186174 -0.001690130612 3.622209893e-06 0.000866152354 0.00253588978 0.0002552429495 -0.006032581973 -0.0001248248816 -1.449351464e-05 -0.001236348519 1.610296106e-06 0.0001171782905 0.0002809666756 7.144628168e-05 9.658056481e-05 -0.0001392460119 5.478756674e-07 -2.072930036e-05 -0.0001099597449 -1.51767914e-05 -1.146309268e-06 1.158085305e-05 1.203905578e-06 -3.572506376e-06 -3.633883271e-05 3.860448168e-10 -1.924899582e-05 -5.488367793e-05 -2.153411021e-08 -7.887492977e-06 -1.253255165e-05 -2.580142664e-08 -1.070671725e-05 -1.341516539e-05 -2.281618649e-07 -1.068543883e-05 -1.692556645e-05 0.002707267061 0.001942698587 -0.03426172588 -0.007583981656 -0.1344006892 0.0002805516837 0.0001737962347 -0.002770288581 -0.01933608041 -0.0008297958545 0.0001460678501 4.263014988e-05 -0.000843829882 0.004335529552 0.0003723347975 0.0004743013349 0.0002281403312 1.245351866e-05 -4.645409078e-06 -0.001172696723 1.410207325e-07 1.368132312e-07 1.027871897e-05 3.500136908e-05 0.0004680618906 2.096826189e-06 9.9403538e-07 -1.292830495e-06 -1.491147492e-05 -0.000143847025 2.554037345e-07 1.372637805e-08 3.003652981e-06 -1.329588866e-07 -2.927412891e-05 6.58886314e-07 1.787147662e-07 -2.429038058e-05 3.54452352e-06 2.339833996e-05 1.075530589e-06 4.351832731e-07 1.997895922e-06 -9.283292887e-06 -6.072679894e-05 2.571645928e-07 1.527653757e-07 8.32516043e-07 -1.130559534e-05 -1.895681023e-05 2.856843586e-07 1.546104327e-07 1.362408872e-06 2.269996531e-07 -1.471485807e-05 2.851838265e-07 1.6394295e-07 -1.031794473e-07 -1.354437436e-05 -6.5275286e-06 2.330499313e-07 1.16885065e-07 3.633865749e-07 -3.06127174e-06 -1.368557398e-05 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.003452241436 0.05693874753 -0.05340529978 -0.01875765275 0.02212681892 -0.003325039929 -0.005713541456 0.006346013645 -0.0006217870246 0.001638030826 -0.001761412802 0.0001208256212 0.001698832951 -0.001712591949 1.262282371e-05 4.695473257e-05 -0.0002388793004 0.0001914168027 -1.771706016e-05 0.0001642471572 -0.0001462573382 3.64266146e-07 -1.261627423e-05 1.224284644e-05 3.337570542e-07 -3.849510388e-05 3.825245656e-05 2.782950507e-05 -3.020994289e-05 2.338885633e-06 -2.402696518e-05 2.447334171e-05 -4.293729191e-07 -2.374195672e-06 3.07511218e-06 -7.116402458e-07 -9.472672566e-07 7.236011534e-06 -6.276992861e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0002430526798 -4.875897791e-05 -5.129309517e-05 -2.451918719e-06 -2.387929703e-07 1.184150024e-06 -3.923678838e-07 1.221809119e-07 2.322798221e-08 -1.659864968e-07 2.390415008e-08 -3.264407102e-08 -3.767684778e-08 0.04231099084 -0.04398864874 0.001489722189 -0.001066213385 0.002406160364 -0.00131460068 0.001157559256 -0.00117326434 -1.982856202e-05 3.393542987e-05 -3.490868685e-05 -1.511320933e-05 -3.227976323e-06 3.201786891e-06 6.16067362e-06 -2.676606184e-05 2.762791701e-05 -1.089097501e-06 -7.897556721e-07 7.98975927e-07 -3.794915549e-07 -2.449937545e-06 3.787223925e-06 -8.735767962e-07 7.610513169e-06 -8.229907613e-06 2.814751884e-07 2.273955885e-06 -2.603046303e-06 2.267913532e-07 -8.817352123e-08 1.916884844e-06 -1.802808347e-06 2.955586257e-06 -3.038446294e-06 -9.716113047e-09 1.95103832e-06 -2.58966199e-06 6.059082628e-07 0.002820027377 -0.002764150129 -1.354773064e-05 0.02730146239 -0.02733573558 0.0003527297532 -0.0003487587999 0.0002772096168 -0.005639434704 0.00538238288 1.613939254e-05 -1.034585766e-05 -1.431618249e-05 0.0007835508861 -0.0007817439545 0.0001122812178 -0.0001165212429 -0.0002058131395 0.0002046030488 -4.928483462e-06 4.499057091e-06 -4.29870572e-06 5.938304741e-05 -5.846403245e-05 1.76790149e-06 -4.919140982e-08 7.406958243e-08 1.080737816e-06 -1.105983619e-06 -4.833620265e-08 8.6427901e-06 -8.916052561e-06 9.191282925e-08 6.655817564e-08 8.666100783e-08 -1.394553914e-06 1.398976214e-06 4.160997679e-07 1.590536568e-06 -1.780866983e-06 2.682304427e-07 -2.699596838e-07 3.153336135e-06 -3.18796854e-06 -1.20070872e-07 1.050792478e-07 -1.048608666e-07 -7.176616791e-08 1.128612551e-06 -1.028836897e-06 1.340858908e-07 -1.282216207e-07 5.074009445e-08 -4.591592018e-06 4.539588595e-06 1.443196761e-07 -1.430349536e-07 3.150700293e-06 -3.128716262e-06 -4.698487849e-08 1.676442439e-07 -1.629387661e-07 -5.415417446e-08 1.428264307e-06 -1.372666236e-06 -4.305015067e-05 6.878801408e-05 2.248742925e-05 1.086917446e-06 -2.398581019e-06 -6.307132078e-07 -7.829090375e-08 1.410057365e-07 3.259598042e-08 9.241680556e-09 -2.220527415e-08 1.265817373e-09 -3.576066483e-09 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.07402888039 -0.02950115971 -0.008431221891 0.0001649273791 -0.001010641125 0.0005398911805 -9.346771001e-05 -6.557169296e-05 3.885126676e-05 -3.332371162e-05 -2.559556978e-05 -2.777531046e-07 -1.09201576e-05 -0.0147222263 0.06069645968 -0.09663375365 8.607611113e-05 -2.471111143e-05 0.0001574945247 -0.001225909834 0.0004073206725 -0.01090556476 5.376813183e-05 -3.109057835e-05 -0.001728043266 1.463167215e-05 -6.666269428e-05 0.0001464099518 -2.622807076e-06 -1.024969861e-05 0.0004633324936 -1.645207013e-06 1.298515123e-05 -0.0002153672844 7.809181882e-06 -3.270195393e-06 -7.029156295e-06 1.791403696e-05 -6.951972534e-06 1.839662108e-05 -1.401453367e-06 1.330334458e-05 -9.983250148e-05 -4.971708772e-07 7.035844233e-06 -2.119377049e-05 -1.836276582e-07 5.453165471e-06 -1.492920238e-05 -1.033446506e-06 6.320497335e-06 -3.022502348e-05 -0.001578230941 0.0002344259571 -0.06114803131 -0.02447461973 0.06878519577 -0.0001325675095 1.594178193e-05 -0.00251121787 0.008770957751 -0.002078196475 -8.024136496e-05 4.564571318e-06 -0.00246424817 0.0005802973059 -0.001909801858 -0.0001099993966 -7.745903962e-05 -6.015560003e-05 3.279493179e-05 -0.001978203787 -1.945878876e-06 9.809835035e-07 2.493673612e-05 -4.03297874e-05 0.0007893069731 -1.101028705e-06 -4.869259608e-07 -1.907013309e-05 -3.001839786e-05 7.10481064e-05 -5.313307539e-09 4.492453961e-09 1.061508674e-06 -1.097745343e-06 -6.581955732e-05 -2.877261368e-07 1.0279051e-07 1.666433556e-05 2.657092218e-06 3.194287868e-05 -6.306618434e-07 2.291631961e-07 -1.692414821e-05 -1.830116865e-05 2.183741552e-05 -1.820887305e-07 9.81013956e-08 -3.574502379e-08 1.263408786e-05 -4.355129656e-05 -1.567099041e-07 4.89609058e-09 1.098354684e-06 -1.230603563e-06 6.267972161e-06 -1.707616385e-07 4.343752743e-08 -9.813216107e-06 -1.294837434e-06 5.584668793e-06 -1.430927364e-07 5.471598473e-08 4.93973151e-07 7.251059379e-06 -1.515624627e-05 --0.07359945238 0.02687349403 0.009664511334 -0.0001375745821 0.0009302389773 -0.0005444668241 0.0001112750749 5.064914104e-05 -4.200193027e-05 4.155442616e-05 1.911556395e-05 -1.117239353e-07 1.212868901e-05 0.01686569656 -0.06485024509 0.1025355765 -0.0009248044289 0.0002895655922 -0.001434803569 0.001414362723 -0.00047112 0.01080735628 -5.460958507e-05 3.66526866e-05 0.002217166538 -5.870341811e-06 7.015086141e-05 -0.0004979010505 -0.0001240259212 -8.751374431e-05 -0.0001314295874 1.624661004e-06 -9.761319321e-06 0.0001967014756 -8.534220205e-06 2.471657964e-06 -2.038748775e-05 -9.241224411e-07 9.626935663e-06 -1.942547603e-05 1.142479049e-06 -1.199252775e-05 9.704868994e-05 1.051697271e-07 -5.692791249e-06 1.140031999e-05 5.903300657e-07 -7.019317632e-06 1.929161695e-05 9.17480732e-07 -6.217526952e-06 2.966651083e-05 0.00192154062 -0.0005312688708 0.06012739898 0.02602834705 -0.07045316693 0.0002105871634 -6.293884459e-05 0.003751631044 -0.01058303639 0.002599899175 8.576524724e-05 -1.003712464e-05 0.002029616714 0.002145421696 -0.0008094676945 0.0003448261319 -4.205249506e-05 6.17121299e-06 -1.489783445e-05 0.002097830539 1.146955607e-07 1.647626266e-08 -2.076889271e-05 8.736142386e-06 -0.0008389848078 1.124627045e-06 -7.32690043e-08 2.121322443e-06 6.129801009e-05 -4.877522271e-05 1.505978942e-07 -6.064212326e-09 1.606533658e-06 4.405061993e-07 5.246517854e-05 4.026391898e-07 -1.467543278e-07 -1.791136942e-05 -2.352497337e-06 -4.133129584e-05 6.644035985e-07 -2.901600141e-07 -2.825477992e-06 -2.813599439e-05 5.671829801e-05 1.635663212e-07 -9.913422559e-08 -6.043073698e-07 -9.410142382e-06 3.301271989e-05 1.945024624e-07 -2.604192648e-08 -2.293314275e-06 1.709657594e-06 -6.630251812e-06 1.917672137e-07 -6.712120786e-08 2.080007922e-06 -6.602047178e-06 1.159158039e-05 1.499113429e-07 -6.473357785e-08 -5.743917301e-07 8.519564953e-06 -2.283241466e-06 -0.3534924927 0.05838670372 -0.000538126004 0.001561356431 0.0001976093014 4.240723937e-05 5.179713067e-05 1.128042835e-06 1.672026897e-05 1.013680007e-05 6.045186806e-06 8.297709321e-06 6.068813152e-06 -0.0506509441 -0.00296625124 -0.02155785633 -0.01330802711 -0.001700873897 -0.01803865139 -0.001610316462 -0.0002189839261 -0.003259590432 5.921322785e-05 9.282251115e-06 0.0001729978027 1.743638445e-07 -7.889484246e-07 -4.029691366e-05 -4.355552771e-05 -8.669223173e-06 -5.856775761e-05 1.031716611e-05 7.621542104e-07 4.943387347e-06 -8.168403033e-07 -3.571361351e-08 1.753806459e-09 -2.81190707e-05 1.354904141e-05 4.44038543e-07 -7.61221376e-07 -1.36817448e-07 -1.678375648e-06 8.288911152e-08 -2.660819979e-08 -3.558044257e-06 3.716671183e-08 1.602483435e-06 -5.436459261e-06 -1.185982289e-06 -1.768255403e-07 -9.896258803e-07 2.800669417e-20 9.962834418e-07 -0.01371697239 -0.0009721005899 -0.006208902546 1.109601334e-20 9.145378983e-07 -0.01689273382 -0.00075446877 -0.001705329723 -2.551869366e-21 2.881034802e-07 -0.003007584664 -0.000332778319 -0.002997857682 3.283570665e-23 5.714440598e-09 -5.48007518e-05 -9.10118271e-06 -0.0001344767524 -1.256054714e-22 2.950715688e-10 4.837151157e-07 -2.307573919e-05 9.505373204e-05 2.323928591e-23 4.599916804e-09 -8.693301232e-05 5.196810229e-06 1.777827754e-06 -1.019936846e-24 1.44767563e-11 4.734972525e-07 1.006098705e-07 4.789783959e-07 2.277983353e-25 -8.126371797e-12 3.388349229e-07 1.619007484e-07 1.985368389e-06 -9.10476957e-25 7.223058467e-11 -1.678690286e-06 -9.063786903e-08 -1.806660208e-07 -4.881260362e-26 8.704924429e-13 2.424564269e-08 1.897310311e-08 1.138832352e-07 2.1644342e-25 8.308971369e-11 -8.289949886e-07 -1.812083805e-07 -8.088583334e-07 -4.494038409e-25 6.333935024e-11 -1.113296322e-06 -4.274495645e-08 4.649125044e-08 1.244382507e-26 3.342419323e-11 1.262845748e-08 9.123431815e-07 -1.875901465e-06 -0.311435306 -0.02128602119 -0.02026307816 -0.0012476888 0.003325232161 -0.0008326805652 0.0002169914073 -0.0001813636915 0.0001997546648 -7.84262402e-05 5.983408319e-05 -2.37884768e-05 2.74761683e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.311435306 -0.02128602119 -0.02026307816 -0.0012476888 0.003325232161 -0.0008326805652 0.0002169914073 -0.0001813636915 0.0001997546648 -7.84262402e-05 5.983408319e-05 -2.37884768e-05 2.74761683e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1861112921 0.001771897957 0.00236768835 -4.575757927e-05 0.0005527036846 0.0001578051115 2.491053696e-05 3.836413992e-05 5.326417556e-05 3.947845851e-05 2.630192811e-05 2.258469979e-05 2.013624449e-05 -0.02455630845 -0.0222907551 0.2051335106 -3.755079734e-06 -1.152655363e-05 6.974514397e-05 1.939484009e-05 -0.000485710653 0.002060219021 -2.606982025e-05 -5.806090286e-05 0.0003691038375 -0.0001196872099 -2.128375356e-05 0.0006634864297 -9.738870635e-07 -7.369292749e-06 6.728252559e-05 -1.329802856e-06 -4.48244808e-06 2.529898437e-05 -1.007307303e-06 -1.323981944e-05 6.076310669e-05 7.358652311e-05 -1.562970113e-05 -1.647711628e-06 -6.01734103e-06 -3.418777224e-06 4.300158255e-05 -1.931458728e-06 -3.900683906e-06 2.847846399e-05 -8.820013e-07 -3.3757512e-06 2.604467797e-05 -3.795494449e-06 -1.813368076e-06 2.570740775e-05 0.0009654483062 -0.003140535308 0.05597473488 -0.04790848161 -0.02252460552 0.0001290851397 -0.0004062853999 0.003162022725 -0.00137424189 -0.002510411832 1.347039422e-05 -5.113517351e-05 -3.340784078e-05 -0.0001842534268 0.0001963002602 8.938093295e-05 -0.0002648024865 -6.275918285e-05 -0.0002439231221 0.0003690493067 -7.436067528e-08 -2.448056276e-06 -0.000114185691 -4.178233387e-05 0.0001214724206 -1.699765577e-07 5.750319347e-07 -3.81950876e-06 2.879049484e-06 1.787499511e-06 3.525384739e-09 -9.444361376e-09 1.832991976e-06 -1.191392028e-05 7.745395542e-06 -1.738216923e-08 -3.13332194e-07 -9.88422275e-06 -1.664319311e-05 2.025153318e-05 1.787541735e-07 -7.81755529e-07 1.559819265e-05 -1.605849639e-05 -4.052304127e-06 6.391443009e-08 -2.371612657e-07 -6.897797488e-06 -4.294569834e-06 8.665092493e-06 9.022515134e-08 -2.984942582e-07 7.535782806e-06 -3.03331414e-06 -6.66192086e-06 9.168500673e-08 -3.103992681e-07 6.896053873e-06 -3.159604364e-06 -5.75739148e-06 5.460552531e-08 -2.080435422e-07 -3.514070053e-06 -1.835100714e-06 3.587344569e-06 -0.1910368616 0.001121457273 0.002632250934 -3.451241119e-05 0.0005842510882 0.0001351458436 2.054193437e-05 3.926021534e-05 5.428055436e-05 3.696509943e-05 2.44907136e-05 2.198723519e-05 1.968838606e-05 -0.03143609781 -0.01617452344 0.2031890257 -2.275935204e-05 -0.0001573683928 0.0007891359433 -1.950810773e-05 -0.0004508735659 0.001993690719 -1.93791357e-05 -9.359405304e-05 0.0004734127528 -0.0001162583909 -1.869627421e-05 0.0006255142783 3.042364103e-05 8.039692198e-06 3.202963128e-06 -1.657452984e-06 -3.944186751e-06 2.357137928e-05 -5.513176507e-07 -1.474743328e-05 6.267051938e-05 6.979938498e-05 -1.538301416e-05 -1.154208836e-06 -6.689702323e-06 -2.003629567e-06 3.881623711e-05 -6.183828141e-07 -2.614746663e-06 2.419006505e-05 -2.650194974e-06 -2.627257125e-06 2.586198812e-05 -4.232594724e-06 -1.099055893e-06 2.424322767e-05 0.0008489905705 -0.003039456925 0.05306628392 -0.05696150556 -0.01409953439 0.0001255074139 -0.0004552035198 0.003495342505 -0.0009346254704 -0.003699222705 6.484052241e-06 -3.223033389e-05 0.0001206205197 -2.385732835e-05 -0.0001223230567 0.0001847355482 -0.0005992043246 -2.232012801e-06 -0.0001441902628 0.0004028389488 8.541014337e-08 -2.722288058e-07 -0.0001141525735 -2.037802471e-05 9.685093203e-05 -1.7029436e-07 7.644204606e-07 -7.809321748e-07 1.093777413e-06 1.001056582e-06 9.232259203e-09 -9.728280748e-08 4.921689912e-07 -1.103690589e-05 7.656734129e-06 6.594680088e-08 -5.158199384e-07 -7.368822992e-06 -2.214783482e-05 2.135689435e-05 1.254841676e-07 -6.870308054e-07 -1.045235768e-05 -3.372869869e-06 8.736948299e-06 3.969344116e-08 -1.811356376e-07 -7.279822556e-06 -2.37610748e-06 6.896484293e-06 7.911593911e-08 -2.974271332e-07 7.048897165e-06 -4.586925473e-06 -5.03812451e-06 7.149470675e-08 -2.830639111e-07 -5.807840048e-06 -3.578192155e-06 6.927122121e-06 4.065645851e-08 -1.849776376e-07 -1.760497717e-06 4.186326767e-07 -7.001304264e-07 -0.3296916567 0.03849231289 6.690269822e-05 0.002683450172 8.224032543e-05 7.078511019e-06 0.0001393146533 4.758472952e-06 7.181560422e-06 2.361947865e-05 8.55809694e-06 7.734135203e-06 9.400456818e-06 0.01285756895 0.009533438791 0.2363793261 0.08476152801 0.001666021098 0.002974250531 0.007862744993 0.000221683579 0.0003821269641 0.001036060779 4.052064182e-05 6.388612631e-05 8.974151725e-05 0.0002885555885 4.422928833e-05 3.797618077e-06 3.54057304e-06 0.0002043120486 4.61629643e-06 2.725811335e-06 9.377847755e-05 3.020493428e-08 5.043866726e-08 2.227369442e-07 2.410666298e-05 1.799677855e-05 5.599289897e-07 2.692176884e-05 1.171517505e-06 1.373818989e-06 1.119928254e-06 4.318855638e-06 6.819874572e-07 4.739758215e-08 1.020676913e-05 3.020484021e-06 3.900812155e-07 3.879150487e-07 1.285446167e-05 1.074888047e-18 8.054895828e-07 0.004268671518 0.001699081243 0.07865247815 2.589335072e-19 7.815551471e-07 0.005652192788 0.00107527282 0.05739522339 2.454364544e-20 2.681146793e-07 0.01451819853 0.0004475801837 0.0004089623802 -3.376197752e-22 8.177471139e-09 8.378569518e-05 3.227247978e-06 4.912046684e-06 -5.369104454e-22 3.694221317e-10 3.271173866e-06 0.0001140691673 2.929945923e-05 -7.77818675e-22 3.520504086e-09 5.259599267e-05 0.0003099241448 2.59372819e-05 9.202384712e-25 5.180479803e-11 1.804845409e-07 6.936315327e-09 4.806145497e-09 -1.459501068e-23 6.357512805e-12 6.931491207e-07 8.707825866e-08 6.186470986e-08 4.007828833e-23 3.838711298e-11 2.970670396e-06 2.570348874e-06 2.934512014e-05 2.106016553e-23 9.918362295e-14 1.912602255e-08 7.920942044e-08 5.643867571e-06 9.310781124e-24 8.500724975e-11 2.947671945e-06 1.231642815e-07 7.523231886e-08 -4.723083483e-23 4.263048682e-11 9.532039545e-07 2.957516624e-06 4.359910821e-06 6.389453814e-24 2.935475951e-11 1.065260132e-08 1.032578216e-06 1.759781555e-06 -0.196133944 0.001473855218 0.003111363451 3.949938519e-05 0.00066058632 0.0001386295456 1.578946936e-05 3.771268021e-05 5.920969413e-05 3.700754264e-05 2.200870706e-05 2.075350102e-05 1.961072167e-05 0.007460260547 0.1102538629 0.1876702532 0.002469587666 5.839525522e-05 0.001435591532 0.001248121419 6.877854302e-05 0.001906728505 0.000404288253 5.975438047e-06 0.0005879586206 1.35692939e-05 0.0004007947562 0.0006082885549 6.178242206e-06 2.992943029e-06 7.761098675e-05 8.669195721e-06 5.662705568e-07 1.339341115e-05 4.674766047e-05 3.741538294e-07 4.993539304e-05 1.426286883e-06 4.034295372e-05 7.05038572e-05 4.294729334e-07 1.898009813e-05 3.672016654e-05 1.926974671e-05 1.780118859e-07 1.494058323e-05 5.87389194e-07 1.425855898e-05 2.318384963e-05 3.558927909e-07 1.051873356e-05 2.709068759e-05 0.003575979003 0.002390159424 0.02967872217 0.005161685385 0.1559257864 9.402199123e-05 0.001131667161 0.003396404116 0.01328711148 0.0002516292273 9.615379158e-06 9.033397144e-05 0.000108159413 0.0004429720284 1.311299622e-05 1.224954937e-05 0.0008125248957 8.700834069e-06 0.0007867028546 0.0002838817423 2.415719802e-06 1.427647748e-05 7.405322169e-06 0.0003216732964 5.880799363e-05 5.451985758e-09 8.76839323e-08 6.165538301e-09 5.38414879e-07 1.232532242e-07 2.539366209e-06 1.940254826e-05 6.904410652e-08 1.283445473e-07 3.526019216e-06 2.212499834e-06 8.879945972e-07 1.634530375e-05 7.951691434e-05 3.781638185e-08 1.663906104e-07 5.762281077e-07 1.096726186e-06 4.617633719e-05 1.000605751e-05 5.300079308e-08 2.763530004e-07 2.513761723e-06 3.032395841e-07 2.149530069e-05 6.614817328e-07 2.642421195e-08 3.967901195e-06 1.824820446e-05 1.363793588e-06 3.031143194e-07 7.332616116e-08 1.968038988e-06 1.970194792e-05 3.841262418e-06 1.558738043e-07 2.089807363e-07 2.608430819e-06 3.440673829e-07 1.722874873e-05 -0.4945189387 0.307421443 0.1319654046 0.03941143222 0.01673841645 0.005001509027 0.002982067969 0.0008721944031 0.0006739086684 0.0001662005827 0.000162668234 2.726728507e-05 3.849627959e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1676805427 0.006028613817 0.001579476025 1.715073291e-05 0.0004391115474 0.0002750225224 6.342084927e-05 3.305787123e-05 4.717153497e-05 5.150853093e-05 3.71907044e-05 2.471694834e-05 2.112911574e-05 0.006686320006 0.08761996035 0.1984842112 5.528944255e-07 1.125541529e-07 8.015779232e-07 0.0008386148877 0.00029235373 0.00209648692 6.595064384e-05 9.227783434e-06 0.0001296726145 4.748148281e-05 0.000304918129 0.0007763999114 4.758031576e-08 1.594365289e-05 0.0003156997847 2.757699406e-07 1.760665858e-05 3.519571149e-05 2.003690886e-05 7.029024225e-06 4.241395462e-05 6.852333475e-05 1.345440139e-05 3.531218995e-05 2.40915901e-06 2.486337824e-05 6.446566625e-05 2.706223256e-07 9.281461944e-06 4.674585359e-05 4.292569126e-08 4.398473352e-06 4.177400071e-05 1.247900713e-06 1.16930026e-05 2.980896633e-05 0.001647902574 0.003658296014 0.04402062423 0.02050298159 0.1412269441 9.804104973e-05 0.0002889981355 0.001985576242 0.003442497851 0.0003684776631 0.0001243613751 0.000120570033 0.0009787878592 0.000298327631 0.0002674786072 9.973268798e-05 0.0002766406063 0.0002198586397 5.32204756e-05 0.0001756071429 3.402127051e-06 1.758523729e-06 8.585362535e-05 0.0005523298111 0.0001754441613 2.06995509e-06 3.558924639e-06 1.267337607e-05 9.620402361e-06 7.721477834e-05 5.58821817e-09 2.049428288e-08 1.015426668e-05 5.551690043e-06 4.467257712e-06 5.103358812e-07 1.887473912e-07 4.497780567e-05 5.974826588e-06 6.968931603e-06 9.027660745e-07 9.044791548e-07 9.282629073e-06 1.817220802e-05 6.239856264e-05 2.467188737e-07 3.852377679e-07 3.772848564e-06 3.776405873e-05 1.981141539e-05 1.796495762e-07 3.234380582e-07 6.595164246e-06 6.563829993e-07 2.511638158e-05 2.006827353e-07 3.38409266e-07 5.480729772e-06 6.577626931e-07 2.158999553e-05 1.896223638e-07 2.492676186e-07 8.096055233e-07 4.382299471e-06 2.619850326e-05 -0.1728489752 0.005025460494 0.001870168735 6.80023261e-06 0.0004875037629 0.0002533280534 5.054186489e-05 3.207028623e-05 4.953201803e-05 4.977919565e-05 3.412306679e-05 2.341946529e-05 2.055272272e-05 0.01021945401 0.08789418229 0.1976152894 5.470270548e-05 2.054233111e-05 7.978404739e-05 0.000939367172 0.0002691302763 0.002143393915 9.226739952e-05 2.013918982e-05 0.0001886417252 4.618366882e-05 0.0003139647603 0.0007873181755 4.070699822e-05 9.515463762e-05 0.0001428076863 3.660337458e-07 1.437861035e-05 2.699568261e-05 2.087212908e-05 1.003311964e-05 4.074108496e-05 6.351222884e-05 1.916020995e-05 3.73800938e-05 3.18920741e-06 2.390979612e-05 5.894063826e-05 2.060868611e-08 6.067185196e-06 4.422308815e-05 4.350416044e-07 9.218232598e-06 3.41250514e-05 1.547400552e-06 1.165897791e-05 2.903161393e-05 0.002350211652 0.003125681869 0.04206561175 0.02818738059 0.1332389393 0.000234821368 0.000272909599 0.002300132105 0.0044910163 0.0007025169749 0.00014060148 8.41591467e-05 0.0005132472006 0.000753345339 0.0001316652649 0.0004055898787 0.000356838336 1.32999607e-06 4.358917862e-05 0.0002040254823 1.112447841e-07 1.766324914e-07 0.0001108831143 0.0004979425953 0.0001523187149 2.100204914e-06 2.103379793e-06 1.328037424e-07 1.279869988e-05 5.267669679e-05 2.45328158e-07 2.657422822e-08 1.002233692e-05 3.928653124e-06 3.633487665e-06 6.220975663e-07 3.844473616e-07 4.647166496e-05 9.144343833e-06 8.525222443e-06 1.00998171e-06 8.226590351e-07 3.399482374e-06 1.467794808e-05 6.843410994e-05 2.378620824e-07 2.759685622e-07 4.535200795e-06 3.269045161e-05 1.648349004e-05 2.544382295e-07 2.690089478e-07 6.209085985e-06 1.348594714e-06 2.169442264e-05 2.558192499e-07 2.758543377e-07 2.121356134e-06 1.863469419e-05 5.69876433e-06 2.142689132e-07 2.055857672e-07 2.060456307e-07 4.98982284e-06 2.437250973e-05 -0.3359516208 0.043471527 -6.36005979e-05 0.002563242314 0.0001266133647 1.537530105e-05 0.000131907056 2.014910456e-06 9.553440674e-06 2.196750305e-05 6.759460416e-06 8.220623833e-06 9.240377356e-06 0.01896567434 0.03615268368 -0.1384766169 -0.04627068261 0.01027092147 0.005160790621 -0.005421327485 0.001296521636 0.0007089009763 -0.0004113482298 0.0001056418261 5.83245221e-05 -0.0001819346093 5.504779914e-08 4.398855826e-05 9.169321757e-06 2.896230763e-05 -0.0001263594542 4.400435465e-06 8.334287102e-06 -3.431755406e-05 1.741920791e-08 4.096779404e-08 -1.173815939e-07 2.222542328e-06 -2.269098915e-05 4.041733237e-06 -1.326531598e-05 3.611358982e-06 1.688173527e-06 -2.421502894e-06 -1.666559867e-07 6.19563971e-07 6.278665519e-07 -7.024740004e-06 1.849210846e-06 5.718011308e-07 1.546137218e-06 -5.921178015e-06 -6.18729036e-19 8.46453628e-07 0.005513195366 0.00878594799 -0.04088506626 5.884892824e-19 8.084446927e-07 0.005206075158 0.006460532398 -0.03297292971 -2.618097707e-19 2.693813982e-07 -0.008740357892 0.002170583643 0.000963885041 5.56623616e-21 6.054320627e-09 -0.000123147365 3.096357909e-05 1.729599499e-05 2.138165677e-24 4.480242904e-10 8.708982534e-06 -4.446255587e-05 8.960688923e-06 9.186553669e-22 3.597759324e-09 4.555860299e-05 -8.526153847e-05 -9.652839759e-05 -8.493826574e-24 8.845186555e-12 6.655711868e-07 -1.854004229e-07 -5.92907642e-08 -6.37111698e-24 -1.983744406e-11 4.503061573e-07 -1.462582023e-07 -6.40161181e-08 2.62293534e-23 4.024539128e-11 3.13280275e-06 6.05112764e-06 -2.036859565e-05 3.762517518e-24 3.483857201e-14 2.270358104e-08 2.527275338e-07 -1.10063433e-06 5.487062211e-24 8.099252808e-11 -2.136560011e-06 6.106968805e-07 1.864123636e-07 7.990701121e-23 4.386769113e-11 9.059410024e-07 1.715477066e-06 -5.483715235e-06 -3.208109757e-23 3.176064111e-11 1.072221046e-07 -9.697857595e-07 6.750216577e-08 -0.2012833119 0.0008761074769 0.003323099852 6.944114398e-05 0.000677906376 0.000112037868 1.242941904e-05 4.097620405e-05 5.967488817e-05 3.346306593e-05 2.023334325e-05 2.069486427e-05 1.939923493e-05 0.02077744113 -0.08339890458 0.1872899249 -0.0006968358001 0.0004051693674 0.002474889483 -0.0007904000434 0.0002037237361 0.001815168066 -0.0002774530085 4.663951329e-05 0.0007159527115 5.206658365e-05 -0.0002366605448 0.0005681446361 5.848937168e-06 9.690559725e-06 7.710433589e-06 -6.418722983e-06 1.730090362e-06 1.45011547e-05 -2.004760725e-05 3.567631006e-06 5.887886379e-05 5.373925378e-06 -2.720169497e-05 6.431457798e-05 2.014665165e-06 -1.275828697e-05 3.099161541e-05 1.981858615e-05 1.245306117e-06 -7.414133215e-06 2.154505875e-06 -9.715845201e-06 2.280300898e-05 1.407528929e-06 -9.735942259e-06 2.293533396e-05 -0.004130753456 0.001227792251 0.03145712326 0.02140625604 -0.09868369813 -0.000346806181 -0.0003301851244 0.00361871844 -0.009801582305 0.001661206843 -1.833205813e-05 -1.379082397e-05 7.210631545e-05 -0.0001882578312 3.917145768e-05 -0.0001004311423 -0.0003337869168 7.157085749e-05 -0.0004909227533 0.0003324929401 -4.972093656e-06 -9.208913907e-07 2.954413099e-05 -0.0001524018871 4.980200584e-05 3.869162325e-08 3.677622621e-08 -7.72212032e-08 5.376180991e-07 -2.126741937e-07 -8.541404552e-06 -4.724694158e-06 -1.837713119e-07 5.174081193e-07 4.924782867e-06 7.06382171e-08 -1.66700669e-06 1.734285436e-05 -4.021504825e-05 -1.580223381e-06 -3.074135268e-07 1.300261697e-08 4.710775948e-06 -2.509505398e-05 8.330095513e-06 -1.14576523e-07 -1.778700029e-08 2.804128672e-06 1.692746633e-06 -9.530721792e-06 -4.385305449e-07 9.636233179e-08 4.11649393e-06 -1.35826431e-05 3.635897296e-06 -2.707239981e-07 8.850533956e-08 4.375799539e-06 -1.483742786e-05 4.141054297e-06 -2.162007255e-07 4.439643305e-08 2.795769387e-06 1.727489132e-06 -9.020155524e-06 -0.2879604209 -0.04305026317 -0.01443731944 0.0008221526304 0.002711094235 -0.0011728289 0.0004348853679 -0.0001698025037 0.0001782955589 -9.252430953e-05 7.778011446e-05 -2.59608181e-05 2.852003414e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2879604209 -0.04305026317 -0.01443731944 0.0008221526304 0.002711094235 -0.0011728289 0.0004348853679 -0.0001698025037 0.0001782955589 -9.252430953e-05 7.778011446e-05 -2.59608181e-05 2.852003414e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1763189221 0.00435647585 0.002057986049 6.382378456e-07 0.0005175549463 0.0002363005822 4.28015836e-05 3.210468148e-05 5.119974991e-05 4.819677341e-05 3.200699986e-05 2.275822779e-05 2.031076684e-05 0.01861059057 -0.07553819037 0.1990206044 -8.55416451e-05 6.351658394e-05 0.0001867775438 -0.0008840866942 0.000291337094 0.002212757478 -9.614681858e-05 3.469332871e-05 0.000240436489 5.588862399e-05 -0.0002987535889 0.0007905187227 3.731443906e-05 0.0001241810843 -4.570160241e-05 1.50281033e-06 -7.911918062e-06 2.366558671e-05 -1.930334131e-05 1.135764374e-05 4.34193605e-05 6.601919666e-05 2.277169328e-05 -3.109123384e-05 4.325835467e-06 -2.114319685e-05 5.578873647e-05 8.354166355e-08 -1.065334493e-05 3.293319196e-05 8.855572646e-07 -1.081200274e-05 3.022597746e-05 2.095859826e-06 -1.086955427e-05 2.876543829e-05 -0.003227798148 0.0008503289132 0.04403671571 0.04000870667 -0.1143825046 -0.0003538062004 8.454720645e-05 0.002608473953 -0.004932848075 0.001130128239 -0.0001440733515 3.301666142e-05 0.000431354137 -0.0007049204993 0.0001506433374 -0.0005793315226 7.412568081e-05 -1.613558563e-07 7.386383974e-05 0.0002520316803 -1.927096149e-07 -3.125031135e-08 0.0001385999944 -0.0004068810201 0.0001561414457 -1.889092965e-06 8.123582494e-07 7.101043978e-08 1.674705809e-05 -2.34761052e-05 -2.529640841e-07 1.361350461e-08 -9.869408138e-06 3.487790352e-06 3.857677074e-06 -6.763818526e-07 2.649451119e-07 -3.796007301e-05 1.644840518e-05 1.086776519e-05 -1.116120969e-06 4.649421166e-07 4.223164433e-06 -3.234707037e-05 1.538840464e-05 -2.747672827e-07 1.464246877e-07 6.061604893e-06 -2.768691249e-05 1.405355228e-05 -3.267678968e-07 7.631841778e-08 6.48669462e-06 3.683039121e-06 -1.437646204e-05 -3.221620043e-07 1.036358711e-07 4.283593514e-06 -1.418164886e-05 5.932341561e-06 -2.518336269e-07 9.727059768e-08 3.103957667e-07 9.525964806e-06 -1.419282388e-05 -0.339245372 0.0461638881 -0.0001401468316 0.00245542731 0.0001472799532 2.028152886e-05 0.0001235990406 9.365828157e-07 1.105814386e-05 2.042711277e-05 6.01476313e-06 8.485154435e-06 8.924819593e-06 0.02351069372 -0.04126140653 -0.06409428778 -0.02923855825 -0.01057803392 0.008477064268 -0.003258756289 -0.001547684326 0.001075041677 -0.0001361234719 -8.337812681e-05 5.091811388e-05 8.857119611e-05 -0.000262850265 4.402266571e-05 2.208200738e-05 -2.895651903e-05 -8.941250331e-05 4.245877117e-06 -6.063899852e-06 -1.26471596e-05 3.732772023e-08 -1.215755607e-07 -2.165985887e-08 2.359135574e-06 -1.409342968e-05 -5.414753198e-06 -5.267327228e-06 -3.546188826e-06 1.981350916e-06 1.383455597e-06 -4.221498808e-06 7.400145763e-07 -7.225643547e-07 -5.325027315e-06 1.47847858e-06 8.794069651e-07 -1.40815183e-06 -2.8490649e-06 3.360786496e-19 8.697061292e-07 0.007884521466 -0.008829421243 -0.02469547044 -3.239193253e-19 8.242394074e-07 0.007966980829 -0.006653794403 -0.02245482537 7.959060692e-20 2.711572012e-07 -0.004691822536 -0.002458326042 0.001329701476 -1.255251828e-21 5.776160037e-09 -8.138670494e-05 -4.68196928e-05 2.933200077e-05 4.229733803e-23 6.375081399e-10 -4.612733443e-06 -1.206042597e-05 4.726761286e-06 5.790071016e-22 3.672264657e-09 4.879394189e-05 -0.000249048347 6.545965657e-05 3.047050613e-25 1.127918321e-11 5.13672979e-07 2.934991846e-07 -1.59333674e-07 -1.161032374e-23 -1.140101677e-11 2.880731962e-07 5.286734009e-07 -1.994490006e-07 4.824513938e-22 4.155729131e-11 3.481943823e-06 -7.388785473e-06 -6.396687358e-06 -5.132888183e-25 -1.745525621e-13 3.771644477e-08 -7.129212216e-08 -2.824344166e-07 -6.569845267e-23 7.958694079e-11 -1.165243422e-06 -7.195430351e-07 3.655100004e-07 -7.188992558e-23 4.502175093e-11 9.82895072e-07 -4.536194103e-06 7.8850747e-07 1.664331665e-26 3.265863378e-11 -1.225778225e-07 -6.629948053e-07 1.980594521e-08 -0.2034980027 0.0006073264727 0.003395175789 8.317802147e-05 0.0006801040039 9.997443318e-05 1.148152229e-05 4.257404928e-05 5.934684993e-05 3.187227511e-05 1.966865563e-05 2.069797318e-05 1.923190137e-05 -0.02903157792 -0.03078399004 0.1873476758 -0.0004004799488 -0.000323151247 0.003207643706 -0.000311520957 -0.0002485707453 0.00176515335 -0.0001896574985 -5.560134471e-05 0.0007747048923 -6.00352228e-05 -0.0001138754186 0.0005474871402 1.189536359e-05 1.741006657e-07 6.686927516e-06 -2.565423299e-06 -2.397933619e-06 1.563642022e-05 -1.549440275e-05 -3.478475497e-06 6.344933969e-05 -6.744996734e-06 -1.288250483e-05 6.117689619e-05 -2.472203204e-06 -6.953410955e-06 2.905188484e-05 2.019746925e-05 -1.344336342e-06 -4.87670625e-06 -2.736433017e-06 -4.528375508e-06 2.274111198e-05 -2.158542889e-06 -4.680704894e-06 2.130241243e-05 0.0006045947045 -0.003405262716 0.03233726078 -0.02597599428 -0.04978537718 0.0002449899898 -0.0009141951161 0.003773583734 -0.006237654324 -0.002087245807 8.754185323e-06 -3.08854102e-05 5.515399139e-05 -7.499954073e-05 -3.548692336e-05 8.79351017e-05 -0.0005284839816 -8.244038185e-05 -0.0003485820009 0.0003597385102 2.5782356e-06 -8.072695037e-06 -2.980681838e-05 -7.548191118e-05 4.563774444e-05 -4.381868354e-08 1.636874358e-07 1.327520629e-07 5.528922526e-07 -3.353514853e-07 5.959957477e-06 -1.962263673e-05 9.547683625e-08 -7.031744931e-07 5.84943828e-06 -2.265823976e-06 6.805604671e-07 1.783914486e-05 -4.285416715e-05 1.550909091e-06 1.427617102e-07 -4.380916773e-07 -5.175067353e-06 -1.310101289e-05 7.764921467e-06 6.176221411e-08 -1.924500796e-07 2.982791587e-06 -1.704281283e-06 -5.763307776e-06 -2.127176507e-07 -1.186807719e-07 4.212414094e-06 -4.770883019e-06 -5.064381954e-06 -2.822484259e-08 -1.513013019e-07 -6.150859512e-06 -4.178422318e-06 4.335672354e-06 6.523917103e-08 -2.285785365e-07 2.902099055e-06 -1.876652642e-06 -5.133263517e-06 -0.2923646555 -0.03930565248 -0.01570979229 0.0005176938348 0.002856578549 -0.00112562096 0.0003882258059 -0.0001672468958 0.0001827020972 -9.095785466e-05 7.45032819e-05 -2.527024408e-05 2.812833732e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1736628217 0.004771513001 0.001891291843 1.013589284e-06 0.000491196096 0.000246210902 4.794576287e-05 3.259525547e-05 4.996487816e-05 4.902680695e-05 3.341474428e-05 2.338015454e-05 2.059360129e-05 0.01628043317 -0.06994465443 0.2011101291 -7.484132654e-06 4.567928968e-06 1.962991134e-05 -0.000833901595 0.0002745237278 0.002217172533 -7.350109818e-05 2.526499347e-05 0.0002022079143 5.961055976e-05 -0.0002841825586 0.0007910367592 3.839295208e-07 -4.230615858e-05 0.0001736679382 1.298389455e-06 -8.330353625e-06 2.732563244e-05 -1.819534881e-05 8.5720281e-06 4.605398142e-05 7.218315119e-05 1.677074044e-05 -2.947726035e-05 4.018657767e-06 -2.072234328e-05 5.866991905e-05 8.082628338e-07 -1.153914707e-05 3.540157643e-05 2.172768697e-07 -8.895664607e-06 3.042933889e-05 2.085696385e-06 -1.038932242e-05 2.927828395e-05 -0.002643758336 0.0003658834391 0.04751826675 0.03689761449 -0.108770685 -0.0002220087166 -2.069841683e-06 0.002452027441 -0.004166433407 0.0008962975852 -0.0001344092184 2.280411669e-05 -0.0007092840782 0.0003615262438 0.0002603417108 -0.0001842198718 -0.00012790958 -0.0002020697725 0.0001358398481 0.0002470496521 -3.259736017e-06 1.713457828e-06 0.0001290004409 -0.0003991056459 0.0001772650591 -1.844424154e-06 7.747115336e-07 9.360164112e-06 1.218351388e-05 -2.816307e-05 -8.898877544e-09 6.642547873e-09 -1.031664708e-05 3.414565084e-06 4.523597865e-06 -4.819976204e-07 1.868368007e-07 -3.294259188e-05 1.467975466e-05 1.006303383e-05 -1.056369876e-06 3.645026137e-07 1.009041925e-05 2.538903551e-05 -4.583318807e-05 -3.050036638e-07 1.430248423e-07 6.173756007e-06 -2.825865588e-05 1.557811519e-05 -2.624637666e-07 3.570859743e-08 7.06475402e-06 2.770821762e-06 -1.340241236e-05 -2.860096633e-07 6.404316754e-08 6.546863954e-06 2.647157168e-06 -1.244103366e-05 -2.396815513e-07 8.092853456e-08 1.369501418e-06 -1.016662448e-05 5.191201644e-06 -0.2923646555 -0.03930565248 -0.01570979229 0.0005176938348 0.002856578549 -0.00112562096 0.0003882258059 -0.0001672468958 0.0001827020972 -9.095785466e-05 7.45032819e-05 -2.527024408e-05 2.812833732e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4287326437 0.1331941379 0.0023074947 -0.004362494578 1.308864689e-05 0.0002314582911 -0.0004534086998 3.477533063e-05 -8.640680172e-05 8.128513287e-05 -1.896906533e-05 1.805429323e-05 -2.665352069e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2914445132 -0.007380434013 -0.003229528881 0.0001776784695 0.0001396655889 -1.599164484e-05 1.094267424e-05 4.549517649e-05 -3.820443137e-06 1.783036488e-05 1.112176418e-05 7.079899433e-06 8.648314536e-06 -0.001613610786 0.002197077276 0.2084594107 -0.001044346072 0.002198336186 0.02144814045 5.004464982e-06 -5.138899379e-06 -0.004492460199 1.83091242e-07 -1.132514472e-07 -8.236525038e-05 -2.401647895e-08 7.698803621e-08 0.0001658405723 -1.49839476e-05 -2.409112805e-05 -4.112180283e-06 -4.221912355e-08 5.050521971e-08 4.6478187e-05 -3.777015373e-07 3.21412631e-07 1.377946101e-05 5.87001498e-08 -9.216006233e-08 -5.176785107e-06 -3.677336214e-07 7.603237899e-07 2.258037474e-05 5.33145232e-06 2.80565291e-08 -7.543477303e-08 -3.808362538e-08 5.891463562e-08 7.419118349e-06 -2.683409179e-07 5.882992628e-07 7.481175372e-06 7.834530309e-07 -1.319278901e-05 0.04206920591 -0.0001528510949 -0.0001983060263 -6.266027973e-06 -1.000372243e-05 0.01202411452 0.0007672667266 -0.0004486853511 -2.169844083e-08 7.26315288e-07 -0.0005092967961 -1.113925421e-05 7.185805103e-06 2.896801605e-08 -1.391006295e-07 7.227747038e-08 -9.577424391e-08 4.756323847e-05 4.512161503e-10 3.36378163e-09 -2.349569058e-07 3.429258847e-07 -2.803784484e-05 -5.114066238e-11 2.235671612e-09 -2.087402114e-08 4.193056261e-08 2.93957039e-06 -3.474021384e-08 -3.135527289e-07 3.765640807e-08 9.171721835e-08 3.331064792e-05 1.68748271e-10 -2.394499883e-08 -2.163310375e-05 -3.854503333e-07 2.822118911e-07 5.23660441e-11 -8.26012126e-11 -1.048791312e-07 1.813582529e-07 5.152868348e-06 -1.140949118e-10 2.97789367e-10 4.574129404e-06 2.705788237e-07 -3.946957008e-07 3.920137329e-13 2.28882387e-12 -5.454545788e-09 -1.014507306e-10 1.027526981e-10 -3.491920118e-11 -5.411612712e-10 1.42520033e-08 -2.189346497e-08 2.576216389e-06 9.162719677e-10 -8.265508116e-10 1.549200572e-06 4.297602985e-08 -7.197778063e-08 -0.2447299717 -0.01664237367 0.0002574066538 -0.000108423771 0.0001245013979 0.000107319655 -1.095167808e-05 3.457551997e-05 3.050261931e-05 1.026721869e-05 1.838185079e-05 1.312600887e-05 9.56820439e-06 -0.001621424579 -0.0008010014189 0.2452524862 3.576968955e-06 8.00985344e-06 0.0002920323496 -3.070694249e-08 1.071467971e-06 -0.002732168076 5.057561295e-07 9.32347962e-07 0.0001311801021 -2.474663744e-06 -1.438060943e-07 0.0003521420386 2.850452554e-07 3.055839631e-07 -1.767367947e-05 1.123851699e-09 1.688587574e-09 -2.780365163e-07 4.196820964e-08 4.596415478e-07 6.39335532e-05 1.41132491e-05 3.706076145e-07 -2.163868205e-08 -2.295995629e-07 -1.445789265e-07 1.426007456e-05 -3.891174034e-07 -4.678775176e-07 2.312195283e-05 -1.27482077e-07 -7.722388531e-07 1.380329396e-05 -1.48111875e-07 -7.648027468e-08 1.186147414e-05 -1.54866566e-05 -0.0001011735746 0.07255332207 0.002111112915 0.0008100937961 8.392671408e-07 1.507015523e-05 0.009932984238 -0.000447552932 -0.0005620946328 4.521872531e-08 2.879445383e-06 -7.725077123e-07 -1.162796174e-05 -0.001328642354 -3.242418534e-10 1.429570049e-08 4.206999254e-07 5.986729695e-07 5.749714784e-05 5.022448999e-09 9.527087899e-08 2.464883953e-07 2.780538689e-08 0.0001778414126 3.648445473e-08 -1.064257079e-06 -4.495918788e-05 -4.071814695e-06 -2.05514025e-06 -9.838268894e-11 -1.757879065e-09 -3.830357374e-08 4.531209335e-08 1.310732802e-05 -2.098192224e-11 -4.350223363e-09 4.534479528e-06 1.169362955e-05 9.298876928e-06 4.255120252e-10 2.706155104e-08 -6.076084185e-06 -2.962340015e-07 -5.589878531e-08 -1.031698693e-10 -1.202385058e-08 -5.027638514e-07 -3.77320649e-07 1.044979456e-05 2.010395476e-09 -1.752346868e-08 6.069664277e-06 4.260995636e-07 4.873469745e-07 -2.173766966e-10 -5.969092208e-09 3.375327467e-06 1.103514282e-08 7.973768368e-08 -9.355829353e-11 -6.403131347e-09 -4.441280374e-07 -5.09669867e-07 5.201429424e-06 -0.4283474559 0.1339680093 0.002405698304 -0.004969300078 0.0007510834836 -0.0003204329487 -6.378007874e-05 -0.0002101002215 8.124918172e-05 -1.823353766e-05 4.136628488e-05 -1.211297014e-05 1.235028709e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2608867774 -0.01575524509 -0.0006806555868 -5.884578247e-06 0.0001342733222 5.052875805e-05 -4.52756051e-06 4.262391776e-05 1.713200044e-05 1.071638799e-05 1.80494839e-05 1.002394398e-05 8.814145295e-06 -0.003293348884 0.00262701183 0.2340409978 -0.0001749757622 0.0008420609961 0.00661694894 1.032742007e-06 9.133883271e-07 -0.003752648383 -3.352244233e-07 1.031678014e-06 0.0001117480729 -8.283680363e-06 2.941111579e-06 0.0003244327753 -2.520764452e-05 -4.872448777e-05 4.353490366e-06 -3.98604508e-08 6.237102534e-08 1.941937894e-05 -3.237757989e-07 3.628598655e-06 5.506176224e-05 -5.907701708e-06 -6.924036592e-07 7.664015306e-08 -5.014551595e-07 2.863115946e-07 2.1120871e-05 -5.003123622e-07 2.780767219e-06 1.422404935e-05 -3.718983269e-07 6.493371185e-07 8.560216881e-06 -2.70529218e-07 1.335747691e-07 1.061029655e-05 -2.540080678e-05 -4.872143735e-05 0.06065128981 0.002860384988 0.0003614687356 -1.266185783e-07 8.229021859e-06 0.01145513687 0.0007069573712 -0.001198122254 1.921879204e-07 1.967845994e-06 -0.001270263496 -0.0001177703137 0.0001447809569 -4.252431743e-09 1.812413647e-07 -4.351799749e-10 3.1571969e-07 5.773346196e-05 -3.170784761e-11 3.982399273e-10 1.903934527e-06 -6.168071859e-07 8.573890875e-05 3.216754425e-09 7.840462598e-08 -1.464519328e-06 -3.533560964e-05 5.265137723e-06 -4.612092672e-10 2.637019233e-09 4.00353601e-08 3.517380725e-07 2.079390539e-05 2.58902284e-10 1.460199031e-09 -6.10447298e-07 2.124160447e-06 8.495210718e-06 3.973989901e-10 1.122395055e-08 1.25254566e-06 -5.732962903e-06 -2.273763117e-06 -4.150139319e-10 -1.25000348e-08 -1.323028116e-06 9.209273167e-07 1.139132857e-05 2.628939316e-10 -4.848510334e-09 3.533918586e-06 -5.555333365e-09 -2.662611435e-08 -1.302388816e-10 -1.81227708e-09 4.492602521e-08 1.392099008e-08 2.579736455e-06 -2.697238019e-10 -4.648131234e-09 -4.667981286e-07 4.466609681e-06 -6.88369883e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09885116015 -0.01469359228 0.01334908305 0.01014743146 -0.01722793212 -0.05122044288 0.002330256561 -0.00328891966 -0.01555354832 -0.0002333143187 0.0003100700147 0.002047129609 5.960932162e-05 -5.341303114e-09 0.00136060412 0.0005911324553 0.0004001804665 -0.0001805857928 -0.0002050754627 -4.85159669e-05 3.060799659e-05 6.201610506e-06 3.181719469e-07 3.039668814e-07 -2.021209327e-05 -0.0001394741758 2.532151693e-05 -5.963160581e-06 8.243452507e-06 4.074362276e-05 -1.737598609e-06 -2.687967567e-08 -1.918225706e-05 -1.660957525e-06 4.277245825e-06 1.145508022e-05 -1.064575375e-05 -4.312136779e-06 2.400634614e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08838907609 -0.01027070674 -0.01941309251 -0.001527480845 -8.683700836e-05 0.0003391243206 -0.0001094510468 4.704255051e-05 8.295707932e-06 -5.318527538e-05 7.787348284e-06 -1.15350292e-05 -1.320713933e-05 0.00144360261 -0.004070891582 -0.14884796 -0.000293044602 0.0004031300171 0.004174202053 7.483683477e-05 -1.707073508e-05 -0.009723620114 1.893764721e-05 -9.150918596e-06 -0.006755070725 -3.047176643e-07 1.15484542e-06 0.00203952114 -3.08595253e-05 -4.996810637e-05 -8.10090146e-06 8.333315128e-08 -1.506817296e-07 -0.0001434275427 -4.759076863e-06 3.683661487e-06 0.0001605140786 1.51510652e-06 -2.876272035e-06 -0.0001306711696 6.360392922e-07 -1.506824034e-06 -3.868731106e-05 1.508484183e-06 -2.934341255e-09 -1.944982363e-07 2.16974262e-07 -5.144778756e-07 -3.959825884e-05 5.923739067e-07 -1.465296433e-06 -1.608484487e-05 9.092589781e-05 9.677052125e-07 -0.06707823167 0.000328785317 -0.001586076896 1.648709052e-05 1.558930408e-05 -0.01079104862 -0.001265696815 0.0004028727221 4.496100882e-07 4.486255049e-07 -0.0001555386781 3.531079332e-05 8.971683303e-07 2.947228922e-06 1.482940473e-05 -2.89862089e-06 3.015628425e-05 -0.002767374382 1.148148725e-07 -6.884111908e-08 5.926827829e-06 -1.22974064e-05 0.0007038767042 -4.588307061e-10 2.949420064e-08 -2.667527868e-07 7.549775347e-07 3.885615701e-05 2.53481978e-07 8.157881302e-08 3.674702156e-08 -1.62004584e-08 1.655805549e-06 -1.694025667e-09 9.861948141e-08 5.092853361e-05 1.026715369e-07 -9.017050809e-07 6.999559959e-09 6.917128046e-10 1.165130292e-06 -2.229553694e-06 -5.707078193e-05 2.814125567e-09 6.674733547e-10 5.432960652e-06 3.171641056e-07 -5.521755255e-07 9.527975724e-09 2.216497451e-09 -6.542914871e-06 -3.726401889e-07 1.546429409e-07 5.992010265e-09 1.710006158e-09 -5.380934076e-08 -3.452125584e-08 -1.393390212e-05 3.716854383e-09 3.700483889e-10 -2.128816503e-06 -6.010276045e-08 -6.20505438e-09 --0.02891784174 0.01111209012 0.002837968769 -2.615580689e-05 0.0004481526479 -0.0001706109328 1.317073142e-05 3.166714459e-05 -9.948208087e-06 5.934929894e-06 1.224794691e-05 1.390237046e-06 3.056174832e-06 -0.05606956723 -0.006373455698 0.02830894706 -1.571392805e-05 -7.662118905e-05 -5.84056999e-05 -0.0001475928793 0.001153465682 0.004288643307 -1.658496374e-05 -8.220316646e-05 0.0005828482087 5.82422533e-05 -1.815398136e-07 0.0001843930883 -3.30203184e-05 -4.897750864e-06 -0.000214350328 -1.158758709e-05 -5.40425476e-06 6.956919198e-05 -4.817970323e-07 -8.234739016e-06 2.372066736e-05 -1.126535793e-05 -2.103716617e-05 1.477261495e-07 -9.6300813e-06 -1.750945605e-06 2.970756067e-05 -4.765556036e-06 -1.478008051e-06 1.19905711e-05 -8.546334326e-07 -3.832435591e-07 -1.983058003e-06 -5.111090878e-06 -7.106304163e-07 9.566581595e-06 0.0001455000543 0.001974992033 0.02936901862 -0.07117409684 -0.009889801534 -8.598354192e-05 0.0002796328763 -0.001263911789 -0.001356406551 -0.006594602965 -9.546893151e-06 7.850009158e-05 0.0001952590369 0.00213538026 0.001073157487 -1.212601737e-06 4.147466584e-06 2.389637731e-05 7.653766514e-05 0.0008253084095 -2.039697802e-06 1.785257196e-05 7.902891101e-05 1.215268475e-05 -0.0002329132449 -9.195889708e-08 1.548406338e-06 -4.563531058e-06 -7.31869607e-05 -1.83329665e-05 -6.312501956e-08 2.492700682e-07 2.238456096e-06 -8.656135156e-06 3.064621966e-05 2.635451883e-08 1.713267972e-07 -4.264853699e-06 -1.170321112e-05 -1.411728967e-06 -3.960653358e-08 6.193460166e-07 4.198687106e-06 -2.508101778e-05 -2.446032652e-06 -2.957506548e-08 3.413024004e-07 -9.960571321e-06 -2.355441334e-06 1.800812002e-05 -5.496244062e-08 2.479740612e-07 2.343928959e-06 -5.81309728e-06 -2.364998367e-06 -1.939582224e-08 2.370513658e-07 2.940148279e-06 -5.549317336e-06 -2.599726516e-06 -1.435013463e-08 2.010886835e-07 -4.822260424e-06 -1.087712501e-06 4.179148938e-06 --0.05261084928 -0.08718091793 -0.03189246219 -0.003271798335 0.00258220504 0.0009527887785 0.0002652334823 -0.000139382935 -6.077006534e-05 -2.477160004e-05 2.215251188e-05 -1.207275671e-07 6.099884721e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.03138097593 0.009737407232 0.004445302128 -5.397053661e-06 0.0004127934271 -0.0002122817589 3.938820774e-05 2.119324035e-05 -1.814724976e-05 1.681694597e-05 7.494519198e-06 -4.538030799e-08 5.009917421e-06 -0.08339542255 0.0157952292 0.0354143949 0.0003607641199 -0.003534601667 -0.0003175500675 -1.229277167e-05 0.0015793165 0.00466706118 7.343879899e-06 -9.159699062e-05 0.00118662709 6.458402579e-05 -5.11847541e-06 -0.0001892950334 2.027156669e-05 -0.000214056279 1.743309988e-05 -1.421406486e-05 4.34576979e-06 7.192644613e-05 2.902356417e-07 -1.331276432e-05 -5.692769205e-06 1.043680633e-05 -3.228293331e-05 1.60917949e-06 -1.142374362e-05 1.75737865e-06 3.591869738e-05 -2.229995628e-06 6.513514561e-07 -1.681789751e-06 -5.562994129e-06 1.638146085e-06 3.517425793e-06 -6.021503804e-06 7.32132305e-07 1.067184555e-05 0.001254326129 0.0008672604501 0.03062117653 -0.09195230909 0.01068898309 0.0001946648117 0.0001283721053 -0.0006634724589 0.001387629249 -0.0132220105 9.497965622e-06 2.20038516e-05 0.001261268833 -2.967856145e-05 0.002067626456 0.000273305317 0.0001130695787 -2.951034516e-07 0.0001002431351 0.001074280307 1.503672309e-07 -3.954234035e-08 1.135272652e-05 8.98314891e-07 -0.0003599202423 -1.135761186e-07 1.909870306e-07 3.633531984e-06 -4.253016267e-05 7.436951833e-06 1.55609082e-08 4.192724731e-08 2.17591685e-07 2.255833038e-06 2.323196592e-05 8.539202727e-08 3.745926053e-07 4.771494373e-06 -2.760240468e-05 -1.904689952e-05 1.610413958e-07 4.691231026e-07 -1.635998052e-05 7.447604118e-06 2.21564034e-06 5.185435263e-08 1.24935657e-07 -8.130328208e-06 1.753188315e-06 1.051632534e-05 1.071955975e-07 8.803410949e-08 -9.716256404e-07 -1.032944124e-05 2.570308348e-06 9.616434447e-08 1.122452622e-07 -9.575342336e-06 1.972362347e-06 5.198793323e-06 5.307325397e-08 9.866132054e-08 -2.063722002e-06 -1.656209684e-07 2.840523665e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.008920580631 -0.03956498455 0.1657839693 0.08610324418 -0.01419201404 0.006722549332 0.02602705899 -0.005323241906 0.001567136224 -0.003533805135 0.0008246601954 -0.000155459278 -0.001935659153 5.811458867e-07 1.95630294e-05 -0.0001065394889 0.0001410192176 -0.001127953254 2.037541845e-05 -7.20525388e-05 0.0003524274863 3.789526298e-08 4.736771809e-06 -1.397824368e-05 -1.199293469e-05 0.0002351850177 -4.196674345e-05 -7.129095262e-05 1.722299999e-05 -3.960834119e-06 2.691650328e-05 1.820987368e-06 -4.854441454e-07 2.51822064e-06 -2.361124523e-05 2.114174138e-06 1.540134434e-06 -3.803988851e-06 1.920053559e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.001729995774 -0.0002010234754 -0.000379962881 -2.989662889e-05 -1.699617918e-06 6.637512998e-06 -2.142231335e-06 9.207406297e-07 1.623677981e-07 -1.040969153e-06 1.524179256e-07 -2.257694349e-07 -2.584968216e-07 -0.03182293404 0.122962351 -0.007551915832 0.004328158257 -0.000689454195 0.004769246967 -0.003164225212 0.000804720921 -0.0002051271705 -0.0001967041828 3.208488786e-05 -0.0001343257154 2.258209697e-06 -1.033769007e-05 3.993767532e-05 1.91422488e-05 3.000446016e-05 -1.454359397e-05 2.31712634e-06 -6.193545709e-07 -2.798298344e-06 1.801188301e-05 -1.954797588e-06 7.245532289e-06 -5.793059716e-06 2.722410696e-05 -4.302384628e-06 -1.814142805e-06 1.011570895e-05 -1.881436504e-06 7.293106182e-07 -1.374176042e-06 8.707708984e-06 -2.257982713e-06 9.912947606e-06 -1.074943247e-06 -1.82468663e-06 9.727681545e-06 -2.197724547e-06 -0.00423976144 0.001230372429 -0.001081759265 -0.02066708847 0.09470164857 -0.0003668154774 -0.0003514422294 -0.001271420562 0.02880767345 -0.005087627297 -1.887258914e-05 -1.184854924e-05 2.426842931e-05 -0.001929399495 0.0004026619448 -0.0001040013657 -0.0003508841203 0.0001772397464 -0.001237507685 -6.039865091e-05 -5.109992757e-06 -8.391128643e-07 -3.547831124e-05 0.0001842674423 1.512980326e-05 3.922354513e-08 -8.706096428e-10 1.477074149e-06 -1.008381504e-05 8.630042727e-07 -8.847420324e-06 -5.275222052e-06 -1.746834533e-06 1.021325144e-06 -2.482590745e-07 7.267039249e-08 -1.779433124e-06 3.533606063e-07 4.123993813e-05 1.390383353e-06 -3.158164399e-07 1.230045399e-08 -2.106367717e-06 1.099001198e-05 -1.324640153e-06 -1.179605798e-07 -1.697977238e-08 3.890605305e-07 -6.705202839e-07 4.161321203e-06 -4.499445405e-07 9.455002301e-08 -2.52717636e-07 1.232405867e-05 -3.344015069e-06 -2.779065737e-07 8.712117402e-08 -2.200589662e-06 7.476192558e-06 -2.410573273e-07 -2.206321027e-07 4.404875622e-08 1.315603684e-07 -9.769808479e-07 5.261074664e-06 --0.08871338424 0.03408937395 0.008706244958 -8.024008733e-05 0.00137483075 -0.0005233956728 4.040481887e-05 9.714762226e-05 -3.051884765e-05 1.820701976e-05 3.757392512e-05 4.264932162e-06 9.375651705e-06 0.01753334404 0.001746362431 0.1031182773 2.061329896e-06 1.80267655e-05 -0.0002342439227 4.777399731e-05 -0.0003817283041 0.01314629877 1.299615384e-05 4.068456038e-05 0.00176452266 -2.328101533e-05 -2.238203163e-07 0.0005511830258 2.165035876e-05 1.329972919e-05 -0.0006051937607 2.808424434e-06 3.163210824e-07 0.0002168637986 2.132193588e-07 3.250258065e-06 7.10047073e-05 -4.541063962e-05 5.568603298e-06 3.613855917e-08 1.348779432e-06 -5.493870347e-07 0.0001015009734 7.339001543e-07 -4.993268071e-07 4.478200194e-05 1.356738572e-07 -7.376518359e-07 1.611988188e-05 1.217408847e-06 3.53445324e-09 3.280506443e-05 -6.705320501e-05 -0.0007646908358 0.07713830919 0.02572213312 0.004234662513 2.807043854e-05 -8.934777696e-05 0.001616080457 0.0003929380776 0.002081343967 2.933161044e-06 -3.37615524e-05 -6.266701268e-05 -0.0006630556816 0.003418841722 3.768244368e-07 -6.543044361e-07 1.270315115e-05 4.279533994e-06 0.002537876497 6.371655754e-07 -6.242548472e-06 -2.685284133e-05 -4.136839623e-06 -0.000713115546 6.847834506e-08 -1.649698484e-06 -4.687061534e-05 1.947451232e-05 3.810362911e-06 1.973137617e-08 -9.521417203e-08 -1.030629882e-06 3.181501874e-06 9.391463673e-05 -8.654375452e-09 -5.024578793e-08 -4.439859335e-06 -1.123206295e-05 -1.150489519e-05 1.20462821e-08 -2.350077756e-07 6.064630431e-06 8.537645902e-06 8.796546927e-07 8.841521907e-09 -1.873806024e-07 6.405583709e-08 -1.614220304e-06 6.027882809e-05 1.949166447e-08 -9.529248541e-08 4.23746516e-06 2.245701586e-06 1.176832755e-06 5.595068309e-09 -9.431198295e-08 8.673765901e-06 1.84011231e-06 1.079566787e-06 4.180827436e-09 -9.331964147e-08 -3.539984824e-07 -1.851920395e-06 2.119251743e-05 -0.07095922757 0.1175858341 0.04301516728 0.004412859435 -0.003482765962 -0.001285080106 -0.0003577353965 0.0001879936465 8.196402368e-05 3.341085781e-05 -2.98783455e-05 1.628320969e-07 -8.227259472e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.04189136666 -0.01299874477 -0.005934161569 7.204682044e-06 -0.0005510498096 0.000283381021 -5.258045054e-05 -2.829146564e-05 2.422528525e-05 -2.244942449e-05 -1.000464907e-05 6.057947737e-08 -6.687882751e-06 -0.003586056753 0.1086536941 -0.06133495728 0.002642950686 1.119981941e-05 0.002027696195 -0.002386656123 0.0002763038784 -0.006227805716 0.0001300731928 -2.496765124e-05 -0.001575808835 1.948680906e-06 -0.0001115011595 0.0002821088404 6.549188199e-05 0.0001260419834 4.456178821e-05 2.249391544e-06 1.140642398e-05 -9.639548347e-05 1.403607573e-05 -1.297639493e-06 1.2342166e-05 1.251426388e-06 -4.245883507e-06 3.022515544e-05 5.23630528e-10 1.702169712e-05 -5.194872561e-05 -8.729306567e-08 1.384961569e-05 -9.33306439e-06 -5.252058785e-08 1.255783634e-05 -1.188236999e-05 -3.090313532e-07 9.961933043e-06 -1.677038481e-05 -0.0037181807 0.0005285031706 -0.03586715656 -0.01076457944 0.1153798397 -0.0004227082318 5.384195423e-05 -0.003141656773 0.02123838808 -0.001334879813 -0.0001496747026 1.672432861e-05 -0.0007091894707 -0.004056842855 0.0004260026861 -0.0006774767542 4.739136932e-05 -1.510867748e-06 -7.871856331e-06 -0.001448626525 -2.442905642e-07 -2.420537715e-08 1.284803734e-05 -2.8600471e-05 0.0004798088032 -1.886053869e-06 3.839120466e-07 -6.912791791e-07 -1.951161752e-05 6.410743456e-05 -2.633532665e-07 7.031779409e-09 -2.957820857e-06 -1.180386018e-07 -3.108036861e-05 -7.163807896e-07 1.231627746e-07 1.984143717e-05 6.375718159e-06 2.982768674e-05 -1.188558399e-06 2.459524827e-07 2.481978746e-06 2.045839968e-05 -1.365530369e-05 -2.970646504e-07 8.105496598e-08 1.112714419e-06 9.575182151e-06 -1.616226437e-05 -3.668964258e-07 4.38633127e-08 1.423322261e-06 6.199405901e-07 9.751243533e-06 -3.591418283e-07 6.159181899e-08 -2.083472946e-07 1.030773885e-05 -6.79507468e-06 -2.739072532e-07 5.530285628e-08 5.474207541e-07 -5.844208862e-06 7.969509228e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.005092260215 0.2159229816 0.03128609154 0.01023966199 0.1364105291 -0.005769465182 0.003939461264 0.03711481036 -0.00115350517 -0.0006503489898 -0.004592199348 0.0001103071516 -0.003444074923 -3.267114599e-07 1.255412052e-05 0.0001133718668 -0.001954061025 -0.000118384221 -1.688859913e-05 0.0005021928503 5.352181271e-05 2.100725555e-07 -1.024731525e-05 -6.451937434e-06 3.077112667e-08 4.853601893e-05 0.0002761175576 -1.371259e-05 -9.312617875e-05 2.874064809e-06 5.195097589e-05 -9.443772269e-07 -3.900716765e-07 -3.145050829e-05 -2.116425214e-06 -4.356827753e-07 -1.388553119e-06 2.884102274e-05 2.89138457e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0002494338683 -2.898392229e-05 -5.478372412e-05 -4.310549138e-06 -2.45053935e-07 9.570084319e-07 -3.088707248e-07 1.327540219e-07 2.341047798e-08 -1.500887843e-07 2.197588765e-08 -3.255183876e-08 -3.727053159e-08 0.1178396004 0.03327416402 0.001486703152 0.000300850084 0.01669489188 -0.00226630718 -0.0007330495835 -0.003475237834 -1.887640138e-05 -2.328904449e-05 -0.0002724694242 -1.840323931e-05 -1.238603133e-05 -1.890585189e-06 5.754100819e-06 -2.533941026e-05 8.945375078e-05 -1.081987783e-07 5.847396975e-07 2.441060257e-06 -4.108785794e-07 1.050649063e-06 3.611193161e-05 -1.030035133e-06 2.867468695e-05 5.549108726e-06 2.567654973e-07 1.066716748e-05 1.74974921e-06 1.91410635e-07 -9.068487264e-08 1.340982603e-05 8.946278096e-07 1.084090075e-05 2.070410754e-06 -9.556506645e-09 7.716208216e-06 2.396942507e-06 5.129699389e-07 -0.003257524114 -0.001419906168 -1.435953442e-05 0.1132231143 0.0173004834 -0.001301066453 0.0001017569226 0.0002953545919 0.004160075235 0.03553343691 -3.077031881e-05 1.579449011e-06 -9.544126973e-06 -0.0003329997855 -0.002335244342 -0.0009205670036 4.78671689e-05 -0.001692966762 -0.0001276775487 -5.772424614e-06 -9.260069485e-06 2.772841615e-07 0.0002369134645 2.769900074e-05 1.497161099e-06 -3.491013331e-07 3.106612177e-08 -1.353586183e-05 -1.104346916e-06 8.340441388e-08 -2.907086282e-05 2.171138599e-06 -2.446398696e-07 2.683225833e-07 1.210392288e-07 -4.452375574e-08 -2.626257767e-06 4.414942534e-07 -8.04401244e-07 7.441662867e-05 -4.955668241e-07 -6.091654188e-09 1.354454759e-05 1.732537647e-06 -9.995963253e-08 -2.271591453e-07 6.749194911e-09 -8.005594454e-08 6.30015076e-06 4.561721826e-07 -8.889249067e-08 -4.675914035e-07 5.264024494e-08 3.417648886e-06 1.210262172e-05 -1.288979016e-07 -1.726444823e-07 7.005365734e-06 2.356218887e-06 -5.06518201e-08 -2.32526609e-07 -3.461515232e-08 -5.804354941e-08 7.17101123e-06 7.186629232e-07 -2.506828058e-05 -9.632841743e-06 -2.460176593e-06 2.267392953e-08 -3.884942874e-07 1.478990988e-07 -1.141743543e-08 -2.745159452e-08 8.62389641e-09 -5.144868318e-09 -1.061749256e-08 -1.205167822e-09 -2.649334929e-09 -0.003073473539 0.1264656511 0.0008547227895 0.0001465185612 -8.448519556e-06 -2.14377066e-06 -0.001770203234 -0.0001064732035 -3.931415994e-06 0.0001927521306 -9.338245219e-06 -1.584219952e-06 -5.266008637e-08 -0.0001180608793 -2.984551725e-07 -3.139107752e-06 0.0001099804852 4.766162656e-06 -1.85438372e-06 3.360154538e-05 3.088407513e-07 1.586350863e-05 -2.923195903e-07 -2.984284913e-08 1.323104317e-07 9.163260018e-08 3.198459054e-05 -5.790005558e-07 2.522456806e-05 5.407972544e-07 -4.2104453e-07 1.467713476e-05 7.174357798e-07 -4.051902442e-08 1.079774012e-05 3.137279339e-06 -2.874702145e-07 1.244767025e-05 1.632626658e-07 -0.003948769473 4.678479658e-05 -0.0004920241828 -0.005407936832 0.1511446462 -0.0002098048309 -8.029597559e-05 0.0003822345543 0.01783235546 -0.000576345036 -0.0001789660916 -1.932439079e-05 -0.004281163069 0.0001074790427 -1.801115677e-06 -9.263546173e-06 -8.726123072e-07 -0.0001597314391 8.438925887e-06 -3.89692037e-07 -1.921597902e-05 -1.643664631e-06 6.253296532e-06 -0.0001842746681 2.2136322e-07 -2.618508679e-06 -9.060473691e-07 -1.107840735e-06 -9.089647785e-06 0.0001588125484 -2.319543526e-07 -8.74937613e-08 9.477445928e-06 2.369219215e-06 -1.27222085e-08 -3.206524117e-07 1.403352698e-08 1.607391712e-05 -1.78578314e-06 -3.328629262e-08 -1.216216878e-06 -4.834717033e-08 -1.083379035e-07 -1.417342991e-06 4.932527394e-05 -5.165362831e-07 -4.828104351e-08 -7.479287683e-07 2.291973106e-05 3.374186545e-07 -2.867563929e-07 -7.322364348e-08 -2.446495871e-07 -1.091605707e-06 1.531443162e-05 -3.788170578e-07 -2.282909179e-08 -1.492177773e-07 -1.012118897e-06 1.623442378e-05 -3.226994069e-07 -1.957270674e-08 -2.539990282e-07 1.25912371e-05 9.329309758e-07 -0.1271309552 0.2106674483 0.07706621803 0.007906104029 -0.006239743279 -0.002302356817 -0.0006409207684 0.0003368104849 0.0001468472104 5.985908263e-05 -5.353021351e-05 2.917309098e-07 -1.47400048e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.07507696299 0.02329611941 0.01063509892 -1.291210315e-05 0.0009875816776 -0.0005078704306 9.423374919e-05 5.070346204e-05 -4.341612579e-05 4.023345969e-05 1.79301543e-05 -1.08569463e-07 1.198590464e-05 0.03071402572 0.05573372471 0.1032647447 0.001446167818 0.0008953325279 -0.003358930705 -0.001331129404 -0.0005099936491 0.01115709916 5.690566653e-05 6.314075769e-05 0.002825926964 -7.103925144e-06 -6.675214629e-05 -0.0004999250808 -0.0001136894854 -0.0001142093746 4.206036037e-05 6.670306679e-06 5.371225507e-06 0.0001724370483 7.892772452e-06 2.797954335e-06 -2.172773949e-05 -9.605995931e-07 1.144150438e-05 1.615731681e-05 1.549656624e-06 1.060487399e-05 9.1858927e-05 4.2632771e-07 9.995948172e-06 8.489884864e-06 1.201657664e-06 8.232910232e-06 1.708738757e-05 1.242671786e-06 5.796541271e-06 2.939451416e-05 -0.002639058166 -0.000144529514 0.06294483939 0.0369442098 0.06048239151 -0.0003172924371 -1.949841086e-05 0.004254552092 0.01162420869 0.004182417767 -8.788304795e-05 -3.937686618e-06 0.00170577368 -0.002007514555 -0.0009261433916 -0.0004925385433 -8.735523939e-06 -7.486949618e-07 -2.524505603e-05 0.002591439804 -1.986874039e-07 -2.915026188e-09 -2.59603857e-05 -7.138514679e-06 -0.0008600407439 -1.011579882e-06 -2.829763805e-08 1.134275562e-06 8.020825127e-05 2.173735882e-05 -1.552853072e-07 -3.106588148e-09 -1.582019891e-06 3.910737912e-07 5.570232655e-05 -4.377735196e-07 -1.011369714e-07 1.463078397e-05 -4.231558883e-06 -5.268822265e-05 -7.342259583e-07 -1.639897034e-07 -3.510080904e-06 6.200573714e-05 1.275393398e-05 -1.889442536e-07 -5.259910008e-08 -8.076979775e-07 7.969843662e-06 2.814610157e-05 -2.497940686e-07 -7.38815062e-09 -2.395848503e-06 4.669109064e-06 4.393735896e-06 -2.41499066e-07 -2.521680429e-08 4.200100257e-06 5.024386979e-06 1.206668852e-05 -1.761931614e-07 -3.062796561e-08 -8.652877561e-07 1.626452051e-05 1.329598156e-06 -0.3602043711 0.06593937792 0.0005115658487 0.001491413894 0.0003042300529 9.211316764e-05 4.904298905e-05 4.776543496e-07 2.224253341e-05 9.427819716e-06 4.774683111e-06 8.819647603e-06 5.965467925e-06 -0.07471313703 -0.01124861083 0.01262910365 0.007264752216 -0.01048578692 -0.03129988612 0.001110305994 -0.001280732653 -0.006047013313 -2.350948608e-05 2.419986245e-05 0.0001579374858 -3.534909916e-07 -1.505078263e-10 -4.007758662e-05 -0.0001051645109 -7.091527433e-05 3.622199441e-05 9.834728847e-06 2.330319756e-06 -1.808996765e-06 -4.710724062e-07 -2.9007665e-08 -9.242498959e-10 -2.592471006e-06 -1.708312134e-05 3.205201678e-06 3.750809296e-07 -4.217580339e-07 -2.062418238e-06 -1.792223945e-07 1.026757123e-09 -3.23237034e-06 4.923402027e-07 -1.102898414e-06 -3.328327301e-06 -1.738473904e-06 -7.047845908e-07 4.558534737e-07 -8.261628339e-20 1.046950515e-06 -0.01771613212 -0.005026731511 0.003227506595 -1.539474636e-20 9.460027394e-07 -0.01555942007 -0.004533054162 0.0009796933227 1.47002519e-20 2.894646371e-07 0.001810649324 -0.001613840832 -0.007065662551 -3.885835183e-23 4.23077685e-09 8.054558918e-05 -8.732058787e-05 -0.0004735112234 -3.888617559e-23 3.578541156e-10 1.287814915e-06 8.994598339e-06 2.907039742e-05 -8.527026696e-23 4.700859072e-09 -7.530129947e-05 -1.429666074e-06 -6.616378113e-06 -2.484843637e-23 2.471771246e-12 1.746111477e-06 -2.689196161e-06 -5.908892093e-06 6.486544679e-25 2.535684172e-11 2.201250028e-07 -2.719313956e-07 -2.054411596e-06 -2.41824199e-24 7.572718855e-11 -1.770309339e-06 -2.133801057e-07 1.254011948e-07 -5.121303532e-26 3.057633175e-13 2.878083577e-08 6.053605155e-08 -2.220884822e-08 2.372276758e-24 7.91655534e-11 6.008801437e-07 -8.985023203e-07 -2.004207714e-06 2.470760412e-24 6.517755859e-11 -1.05809547e-06 -2.479377187e-08 -5.847476904e-08 2.045980906e-25 3.616360084e-11 1.271097779e-07 -8.568623775e-07 -7.195632397e-08 -0.3196118355 -0.01265310329 -0.0216420335 -0.0021934756 0.003412417145 -0.0006729572318 0.0001708149316 -0.000197058273 0.0002013240815 -7.091479895e-05 5.500748136e-05 -2.372126506e-05 2.717985869e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1813500653 0.002980822694 0.002216827458 -2.6027743e-05 0.0005385824738 0.0001952594359 3.164461339e-05 3.530865228e-05 5.284895607e-05 4.366009797e-05 2.860977662e-05 2.264869119e-05 2.035576596e-05 -0.03744130944 -0.004505280987 0.2099864085 -1.530386271e-06 -9.805621988e-06 5.418817645e-05 7.036885815e-05 -0.0005329616282 0.002275238515 -1.092195962e-05 -5.515177647e-05 0.0003201961872 -0.0001503116928 7.694416326e-07 0.0007533278969 -1.678763914e-05 -5.416302513e-06 0.0001175477344 -3.371076734e-06 -1.561774517e-06 2.440884667e-05 -6.015528153e-07 -1.147370209e-05 5.822334803e-05 8.206622173e-05 -1.766408159e-05 8.580222595e-08 -7.783456792e-06 -1.554875493e-06 4.966403392e-05 -4.104682358e-06 -1.554385876e-06 3.03855412e-05 -9.493973767e-07 -1.849007028e-06 2.635788307e-05 -4.722905594e-06 -7.183679729e-07 2.808100163e-05 -0.0001242123779 -0.001862595692 0.06405252492 -0.05966458784 -0.007758357704 8.62596407e-05 -0.000302585812 0.003096308345 -0.0006209653867 -0.002537623108 9.778929394e-06 -6.346887587e-05 -2.443788287e-05 -0.0002917019475 0.0003411669483 1.237633443e-06 -4.847399189e-06 -8.636113159e-05 -0.0003343611852 0.0003913797893 2.078007225e-06 -1.616555237e-05 -0.0001568107243 -2.351217146e-05 0.0001792786594 4.919875884e-08 -2.376023678e-07 2.800785349e-06 -2.334510479e-06 -5.13032115e-07 6.430587415e-08 -2.373400437e-07 2.732422129e-06 -1.027073643e-05 7.112738173e-06 -2.639204141e-08 -1.537440146e-07 -4.150811525e-06 -1.332184742e-05 1.56499527e-05 4.069426793e-08 -6.099601572e-07 2.311229493e-05 -2.243773373e-05 -2.022592881e-06 3.056877927e-08 -2.751585112e-07 -1.024002622e-05 -2.206628007e-06 1.166378519e-05 5.340393251e-08 -2.302571958e-07 8.682071814e-06 -6.806017804e-06 -2.44174871e-06 2.027388278e-08 -2.25134676e-07 8.281447889e-06 -6.081861081e-06 -2.705929142e-06 1.49525807e-08 -1.795508238e-07 -5.859992795e-06 -1.444417991e-06 6.796681429e-06 -0.3196118355 -0.01265310329 -0.0216420335 -0.0021934756 0.003412417145 -0.0006729572318 0.0001708149316 -0.000197058273 0.0002013240815 -7.091479895e-05 5.500748136e-05 -2.372126506e-05 2.717985869e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1948719308 0.0009721699201 0.002896602643 -3.239172573e-06 0.0006202660647 0.0001260620019 1.739602056e-05 3.930232176e-05 5.610816838e-05 3.579002228e-05 2.297197587e-05 2.136643603e-05 1.945660554e-05 -0.05724810196 0.01390074063 0.2046339776 3.559005716e-05 -0.0004865807428 0.001847397795 1.836008217e-05 -0.0004880766155 0.002058209654 2.019393908e-05 -0.0001612323672 0.0006033961998 -0.0001406887253 1.779046481e-05 0.0006280570724 2.788810643e-05 1.049216012e-05 -1.025018689e-06 -6.80493942e-06 2.170312822e-06 2.066369383e-05 5.098795978e-07 -1.669431834e-05 6.67904126e-05 7.255452073e-05 -1.828253871e-05 9.600237235e-07 -9.073900768e-06 1.771789862e-06 3.674050513e-05 -2.506745394e-06 4.59122265e-06 1.801448269e-05 -5.394655104e-06 3.081492134e-06 2.290703861e-05 -5.732791831e-06 1.024639361e-06 2.402095424e-05 -0.001166009958 -0.0008268717715 0.05555285569 -0.0808502287 0.01210411961 -0.0001891024722 -0.000141021738 0.003963907056 0.001026575088 -0.0059508826 -6.644162902e-06 -1.264435374e-05 0.0001013744647 2.232378558e-05 -0.0001399545546 -0.0002638703086 -0.0001244721321 2.707890234e-07 -0.0002443369388 0.000497624983 -1.479562029e-07 4.816347702e-08 -0.0001426867035 1.665138022e-05 9.928159229e-05 1.531764236e-07 2.952311652e-07 -4.175660728e-07 1.431204267e-06 -4.461348386e-07 -9.519616551e-09 -4.983625251e-08 -4.846590857e-07 -9.798374321e-06 8.12916141e-06 -7.170132432e-08 -3.55481621e-07 6.019174458e-06 -3.983845836e-05 2.722529699e-05 -1.386713338e-07 -3.882891249e-07 -1.298492545e-05 7.433086588e-06 1.964629858e-06 -4.585202845e-08 -9.610779197e-08 -9.729978896e-06 2.012424932e-06 5.879828989e-06 -1.016063863e-07 -8.438071818e-08 7.364053811e-06 -1.252698515e-05 3.338664826e-06 -9.003574996e-08 -1.063444398e-07 -1.17276046e-05 2.723128386e-06 7.211046479e-06 -4.778417574e-08 -8.752009253e-08 -2.652087486e-06 7.992027518e-07 4.07706385e-07 -0.3359516208 0.043471527 -6.36005979e-05 0.002563242314 0.0001266133647 1.537530105e-05 0.000131907056 2.014910456e-06 9.553440674e-06 2.196750305e-05 6.759460416e-06 8.220623833e-06 9.240377356e-06 0.01896567434 0.03615268368 -0.1384766169 -0.04627068261 0.01027092147 0.005160790621 -0.005421327485 0.001296521636 0.0007089009763 -0.0004113482298 0.0001056418261 5.83245221e-05 -0.0001819346093 5.504779914e-08 4.398855826e-05 9.169321757e-06 2.896230763e-05 -0.0001263594542 4.400435465e-06 8.334287102e-06 -3.431755406e-05 1.741920791e-08 4.096779404e-08 -1.173815939e-07 2.222542328e-06 -2.269098915e-05 4.041733237e-06 -1.326531598e-05 3.611358982e-06 1.688173527e-06 -2.421502894e-06 -1.666559867e-07 6.19563971e-07 6.278665519e-07 -7.024740004e-06 1.849210846e-06 5.718011308e-07 1.546137218e-06 -5.921178015e-06 -1.29804946e-18 8.46453628e-07 0.005513195366 0.00878594799 -0.04088506626 1.78525336e-19 8.084446927e-07 0.005206075158 0.006460532398 -0.03297292971 -2.734564737e-19 2.693813982e-07 -0.008740357892 0.002170583643 0.000963885041 2.492433004e-21 6.054320627e-09 -0.000123147365 3.096357909e-05 1.729599499e-05 7.267483823e-22 4.480242904e-10 8.708982534e-06 -4.446255587e-05 8.960688923e-06 1.448050959e-21 3.597759324e-09 4.555860299e-05 -8.526153847e-05 -9.652839759e-05 9.670516822e-25 8.845186555e-12 6.655711868e-07 -1.854004229e-07 -5.92907642e-08 1.260916641e-24 -1.983744406e-11 4.503061573e-07 -1.462582023e-07 -6.40161181e-08 -2.550120549e-22 4.024539128e-11 3.13280275e-06 6.05112764e-06 -2.036859565e-05 4.641396919e-24 3.483857201e-14 2.270358104e-08 2.527275338e-07 -1.10063433e-06 -2.020723557e-23 8.099252808e-11 -2.136560011e-06 6.106968805e-07 1.864123636e-07 9.355549132e-23 4.386769113e-11 9.059410024e-07 1.715477066e-06 -5.483715235e-06 -5.242457076e-23 3.176064111e-11 1.072221046e-07 -9.697857595e-07 6.750216577e-08 -0.2012833119 0.0008761074769 0.003323099852 6.944114398e-05 0.000677906376 0.000112037868 1.242941904e-05 4.097620405e-05 5.967488817e-05 3.346306593e-05 2.023334325e-05 2.069486427e-05 1.939923493e-05 0.02077744113 -0.08339890458 0.1872899249 -0.0006968358001 0.0004051693674 0.002474889483 -0.0007904000434 0.0002037237361 0.001815168066 -0.0002774530085 4.663951329e-05 0.0007159527115 5.206658365e-05 -0.0002366605448 0.0005681446361 5.848937168e-06 9.690559725e-06 7.710433589e-06 -6.418722983e-06 1.730090362e-06 1.45011547e-05 -2.004760725e-05 3.567631006e-06 5.887886379e-05 5.373925378e-06 -2.720169497e-05 6.431457798e-05 2.014665165e-06 -1.275828697e-05 3.099161541e-05 1.981858615e-05 1.245306117e-06 -7.414133215e-06 2.154505875e-06 -9.715845201e-06 2.280300898e-05 1.407528929e-06 -9.735942259e-06 2.293533396e-05 -0.004130753456 0.001227792251 0.03145712326 0.02140625604 -0.09868369813 -0.000346806181 -0.0003301851244 0.00361871844 -0.009801582305 0.001661206843 -1.833205813e-05 -1.379082397e-05 7.210631545e-05 -0.0001882578312 3.917145768e-05 -0.0001004311423 -0.0003337869168 7.157085749e-05 -0.0004909227533 0.0003324929401 -4.972093656e-06 -9.208913907e-07 2.954413099e-05 -0.0001524018871 4.980200584e-05 3.869162325e-08 3.677622621e-08 -7.72212032e-08 5.376180991e-07 -2.126741937e-07 -8.541404552e-06 -4.724694158e-06 -1.837713119e-07 5.174081193e-07 4.924782867e-06 7.06382171e-08 -1.66700669e-06 1.734285436e-05 -4.021504825e-05 -1.580223381e-06 -3.074135268e-07 1.300261697e-08 4.710775948e-06 -2.509505398e-05 8.330095513e-06 -1.14576523e-07 -1.778700029e-08 2.804128672e-06 1.692746633e-06 -9.530721792e-06 -4.385305449e-07 9.636233179e-08 4.11649393e-06 -1.35826431e-05 3.635897296e-06 -2.707239981e-07 8.850533956e-08 4.375799539e-06 -1.483742786e-05 4.141054297e-06 -2.162007255e-07 4.439643305e-08 2.795769387e-06 1.727489132e-06 -9.020155524e-06 -0.2879604209 -0.04305026317 -0.01443731944 0.0008221526304 0.002711094235 -0.0011728289 0.0004348853679 -0.0001698025037 0.0001782955589 -9.252430953e-05 7.778011446e-05 -2.59608181e-05 2.852003414e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2879604209 -0.04305026317 -0.01443731944 0.0008221526304 0.002711094235 -0.0011728289 0.0004348853679 -0.0001698025037 0.0001782955589 -9.252430953e-05 7.778011446e-05 -2.59608181e-05 2.852003414e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1763189221 0.00435647585 0.002057986049 6.382378456e-07 0.0005175549463 0.0002363005822 4.28015836e-05 3.210468148e-05 5.119974991e-05 4.819677341e-05 3.200699986e-05 2.275822779e-05 2.031076684e-05 0.01861059057 -0.07553819037 0.1990206044 -8.55416451e-05 6.351658394e-05 0.0001867775438 -0.0008840866942 0.000291337094 0.002212757478 -9.614681858e-05 3.469332871e-05 0.000240436489 5.588862399e-05 -0.0002987535889 0.0007905187227 3.731443906e-05 0.0001241810843 -4.570160241e-05 1.50281033e-06 -7.911918062e-06 2.366558671e-05 -1.930334131e-05 1.135764374e-05 4.34193605e-05 6.601919666e-05 2.277169328e-05 -3.109123384e-05 4.325835467e-06 -2.114319685e-05 5.578873647e-05 8.354166355e-08 -1.065334493e-05 3.293319196e-05 8.855572646e-07 -1.081200274e-05 3.022597746e-05 2.095859826e-06 -1.086955427e-05 2.876543829e-05 -0.003227798148 0.0008503289132 0.04403671571 0.04000870667 -0.1143825046 -0.0003538062004 8.454720645e-05 0.002608473953 -0.004932848075 0.001130128239 -0.0001440733515 3.301666142e-05 0.000431354137 -0.0007049204993 0.0001506433374 -0.0005793315226 7.412568081e-05 -1.613558563e-07 7.386383974e-05 0.0002520316803 -1.927096149e-07 -3.125031135e-08 0.0001385999944 -0.0004068810201 0.0001561414457 -1.889092965e-06 8.123582494e-07 7.101043978e-08 1.674705809e-05 -2.34761052e-05 -2.529640841e-07 1.361350461e-08 -9.869408138e-06 3.487790352e-06 3.857677074e-06 -6.763818526e-07 2.649451119e-07 -3.796007301e-05 1.644840518e-05 1.086776519e-05 -1.116120969e-06 4.649421166e-07 4.223164433e-06 -3.234707037e-05 1.538840464e-05 -2.747672827e-07 1.464246877e-07 6.061604893e-06 -2.768691249e-05 1.405355228e-05 -3.267678968e-07 7.631841778e-08 6.48669462e-06 3.683039121e-06 -1.437646204e-05 -3.221620043e-07 1.036358711e-07 4.283593514e-06 -1.418164886e-05 5.932341561e-06 -2.518336269e-07 9.727059768e-08 3.103957667e-07 9.525964806e-06 -1.419282388e-05 -0.3423304449 0.04909483264 6.046147853e-05 0.002448419288 0.000194928024 3.339683754e-05 0.0001248933333 8.531863447e-07 1.27086905e-05 2.043106867e-05 5.338839398e-06 8.737713323e-06 9.083023872e-06 0.0279754909 0.1370981202 0.08112288722 0.02525881871 0.06331962302 0.008954780223 0.003737981039 0.007582737341 0.001315114193 0.0001633179922 0.0002754200063 5.324708314e-05 0.0003688393407 1.050147808e-11 4.374913842e-05 2.213926197e-05 0.0002369151133 7.81486543e-05 4.194668296e-06 2.548244649e-05 1.255826014e-05 1.004567007e-08 3.327526757e-08 6.185969114e-08 2.049099207e-07 2.860961962e-05 2.917442721e-05 6.536294441e-06 1.113249579e-05 2.074458049e-06 5.235760634e-06 6.430920647e-09 5.62854214e-07 8.317226092e-06 4.83472992e-06 1.132130059e-06 8.381755393e-07 6.162535598e-06 2.72748482e-06 1.981814859e-18 8.895009441e-07 0.007120558003 0.04543213128 0.02125284139 -2.639205819e-18 8.36259378e-07 0.004795168808 0.03881664085 0.01894258842 5.056453746e-19 2.706541019e-07 0.005261937694 0.01052645654 0.002271784441 -1.806423208e-20 4.482412427e-09 0.000181000748 0.0002970776453 6.090158784e-05 -3.473852635e-22 5.433506756e-10 2.318628721e-05 1.733087846e-05 2.740458291e-06 -2.064753555e-20 3.676709879e-09 3.946282219e-05 2.345583609e-05 0.0003592408634 1.735389065e-22 1.510233186e-12 2.454420764e-06 4.955558565e-06 7.314374318e-07 9.074602486e-24 6.189907893e-11 2.925425846e-07 2.456578951e-07 6.624234376e-08 1.311353586e-21 4.219362681e-11 3.303783915e-06 1.424559369e-05 1.41379448e-05 1.976370777e-23 1.223716232e-14 2.695032859e-08 8.063587135e-07 2.146393256e-07 1.31953951e-22 7.716741366e-11 1.548642036e-06 3.028074986e-06 4.618968263e-07 -1.985305395e-22 4.514080106e-11 8.610215012e-07 9.950448092e-07 6.897189876e-06 -2.79234083e-23 3.436370594e-11 1.079227445e-06 9.108117959e-07 2.589265907e-09 -0.2065678731 0.0005207867785 0.003549245466 0.0001220796844 0.0006956805503 9.05469596e-05 9.784398332e-06 4.452214186e-05 6.01437371e-05 3.025806907e-05 1.860119171e-05 2.063639319e-05 1.919002891e-05 0.0578668878 0.06308511196 0.1869103673 0.0001966239704 0.002811225256 0.004266588243 0.0005005380238 0.0006034347172 0.001728004328 0.0001904091236 0.0003640309183 0.0008718101362 0.0001997840974 0.0001397428799 0.0005306500097 5.537184341e-06 3.137612272e-05 7.660099249e-07 4.752459866e-06 5.285834879e-06 1.570051762e-05 8.597361928e-06 3.401806956e-05 6.942411766e-05 2.024773159e-05 1.834105193e-05 5.866863324e-05 9.450830099e-06 8.576029753e-06 2.615675026e-05 2.038305759e-05 8.711706616e-06 3.679198496e-06 7.90258931e-06 6.620419926e-06 2.242842439e-05 5.566669897e-06 9.011405327e-06 1.941735669e-05 0.004771595163 0.0006307001104 0.03334208925 0.08877484067 0.06245581635 0.001279216974 9.633770428e-05 0.003855584523 0.007230391334 0.01096696201 3.495071277e-05 2.105374344e-06 4.807090373e-05 8.000733395e-05 0.0001170139205 0.000823411052 0.0001371203596 0.0005887237478 0.0003063483859 0.0003894281976 1.023368493e-05 5.940127419e-08 0.0001178686971 7.220473526e-05 4.217521519e-05 2.745865041e-07 1.542461405e-08 9.671684665e-07 5.368224983e-07 3.669706244e-07 2.87298427e-05 1.150505314e-06 4.891350874e-07 2.085878735e-06 6.878432818e-06 2.255257894e-09 3.129423662e-06 1.840128528e-05 2.033844144e-05 6.603238629e-05 5.679591908e-07 2.934047225e-10 2.023423012e-05 1.363819161e-05 6.934848333e-06 2.47690249e-07 1.144830629e-09 3.128036176e-06 9.449264922e-06 4.22579145e-06 2.907246402e-07 3.514087385e-07 4.270651269e-06 1.010993679e-05 9.693365082e-06 2.417948558e-07 1.068267452e-07 9.729289775e-06 1.117398474e-05 4.464243476e-06 2.998756198e-07 9.431698358e-09 2.996562687e-06 8.673355417e-06 4.722525526e-06 -0.1676805427 0.006028613817 0.001579476025 1.715073291e-05 0.0004391115474 0.0002750225224 6.342084927e-05 3.305787123e-05 4.717153497e-05 5.150853093e-05 3.71907044e-05 2.471694834e-05 2.112911574e-05 0.01585692151 0.07345440671 0.2034791634 4.170232981e-07 1.202010312e-07 9.298021724e-07 0.0006989422033 0.0003292545421 0.002199258792 5.589491648e-05 1.240044171e-05 0.0001365556836 7.643306126e-05 0.000271811471 0.000780554991 9.495190453e-06 7.862281631e-05 0.0002435730112 1.800176736e-06 1.437869728e-05 3.6899266e-05 1.74628465e-05 5.421000096e-06 4.659604111e-05 7.636488577e-05 1.295783643e-05 2.796720388e-05 3.224283266e-06 2.22663605e-05 6.624755974e-05 1.393833111e-06 1.315859645e-05 4.174550829e-05 4.538373208e-08 6.852992673e-06 3.931702335e-05 1.872623555e-06 1.055436876e-05 3.032287733e-05 0.003416161089 0.001122586389 0.05326266083 0.0306572244 0.1225981158 0.0001326127815 0.0001865643005 0.002106120077 0.003260789951 0.0004975038306 0.000145625713 7.438810125e-05 0.0008573991809 0.000232477286 0.0004796352245 7.189048019e-06 1.820672326e-06 0.0005039057687 9.567426773e-05 0.0002164697957 1.513696714e-05 1.176201109e-05 0.0001042533836 0.0004660142215 0.0002216216652 2.093519128e-06 3.281839816e-06 2.162300707e-05 1.450629752e-05 6.363277297e-05 1.640534334e-07 2.172993781e-07 7.366977745e-06 6.964837493e-06 5.486128886e-06 2.824587616e-07 9.054905577e-08 4.231583542e-05 1.30408913e-05 2.890912585e-06 1.001868907e-06 3.764700684e-07 2.255805619e-05 1.513053911e-05 5.259371069e-05 4.197105195e-07 3.056310146e-07 5.972923302e-06 3.496748164e-05 2.031453285e-05 2.105508171e-07 2.104668561e-07 6.858722902e-06 3.635754869e-06 2.195552102e-05 3.091748781e-07 1.580698096e-07 7.31524781e-06 2.343028529e-06 1.814205897e-05 2.642870588e-07 1.503411259e-07 2.039008763e-06 1.561034547e-05 1.376531582e-05 -0.4945189387 0.307421443 0.1319654046 0.03941143222 0.01673841645 0.005001509027 0.002982067969 0.0008721944031 0.0006739086684 0.0001662005827 0.000162668234 2.726728507e-05 3.849627959e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1798585283 0.003776545821 0.002264665482 5.990200201e-08 0.0005494585742 0.0002204176143 3.624669494e-05 3.213911362e-05 5.292363394e-05 4.666465451e-05 3.002215617e-05 2.211566002e-05 2.007165937e-05 0.03389164243 0.06491917957 0.2004359131 0.0001337662001 0.000196392338 0.0004372534614 0.0008320593971 0.0003153762686 0.002284365755 0.0001001893493 5.976541599e-05 0.0003064523778 6.763296142e-05 0.0002842793783 0.0007937322805 3.420461893e-05 0.0001620619034 1.462551853e-05 6.170029169e-06 4.353581182e-06 2.074628015e-05 1.785246653e-05 1.285702512e-05 4.627370303e-05 6.862512004e-05 2.706390045e-05 2.586041724e-05 5.867555814e-06 1.869672041e-05 5.280538536e-05 3.386537846e-07 1.870616347e-05 2.452554035e-05 1.80261304e-06 1.268132497e-05 2.677240549e-05 2.838714518e-06 1.013358212e-05 2.850170308e-05 0.004433081962 0.000231328488 0.04610018136 0.05678770343 0.09819469766 0.0005330810757 2.619266653e-05 0.002958150252 0.00541814781 0.001818019896 0.0001476309538 1.295283963e-05 0.0003625278254 0.0006596083954 0.0001723568864 0.0008274984923 1.539805565e-05 1.957578144e-08 0.0001251656258 0.0003113335019 3.338313431e-07 5.528891948e-09 0.0001732451202 0.0003324723896 0.0001600601154 1.699201924e-06 3.137454907e-07 3.796943118e-08 2.191347225e-05 1.046245397e-05 2.608376811e-07 6.973956351e-09 9.718812867e-06 3.096400001e-06 4.095699169e-06 7.354029904e-07 1.825891379e-07 3.100743526e-05 2.958659887e-05 1.385398692e-05 1.233414434e-06 2.627712851e-07 5.246421622e-06 7.128605141e-05 3.460306526e-06 3.173984642e-07 7.769069417e-08 8.101747979e-06 2.344920566e-05 1.198182735e-05 4.196588641e-07 2.165169947e-08 6.776715154e-06 1.005845346e-05 9.526995223e-06 4.057097229e-07 3.893501865e-08 8.649737356e-06 1.079272686e-05 6.175492502e-06 2.959840263e-07 4.602249127e-08 4.675931815e-07 1.818581709e-05 8.26489565e-06 -0.3456867356 0.05213546697 0.0001332296383 0.002345433966 0.0002267453386 4.405370157e-05 0.0001170270692 3.965832163e-07 1.471035752e-05 1.89984152e-05 4.750653513e-06 9.018883294e-06 8.772839712e-06 0.03467966318 -0.1564714067 0.03754795429 0.01596110972 -0.06521295309 0.01470903453 0.002246897878 -0.009051668255 0.001994358331 5.40452359e-05 -0.0002173760626 4.648543949e-05 -0.0001795619959 -5.014399016e-08 4.378306024e-05 5.33168493e-05 -0.0002368677619 5.529833013e-05 4.047337196e-06 -1.854063841e-05 4.628136377e-06 2.152692383e-08 -9.874730645e-08 1.141467019e-08 2.175032967e-07 1.776950575e-05 -3.908529183e-05 2.595400044e-06 -1.093160009e-05 2.434719706e-06 -2.991300308e-06 1.628991817e-07 6.72279768e-07 -9.571669468e-06 3.664914128e-06 9.05159109e-07 1.28908001e-06 -5.612558627e-06 1.312370823e-06 -1.706687746e-18 9.139359764e-07 0.01018324015 -0.04565693144 0.01283717906 -3.991214162e-19 8.525975126e-07 0.007338161053 -0.03997781169 0.01290005221 -2.987335677e-19 2.724382947e-07 0.002824607203 -0.01192189129 0.003133978635 -1.26888243e-20 4.276471817e-09 0.0001196213535 -0.0004492078919 0.000103282027 -4.514301264e-22 7.731511123e-10 -1.228067251e-05 4.700984291e-06 1.4455911e-06 1.067716697e-20 3.752850184e-09 4.226526992e-05 6.851433029e-05 -0.0002436151861 -2.124218638e-22 1.925815435e-12 1.894267136e-06 -7.84492492e-06 1.965611591e-06 -9.976000091e-24 3.557476632e-11 1.871475129e-07 -8.879693093e-07 2.063850426e-07 -7.04924015e-22 4.356903449e-11 3.671980304e-06 -1.739471418e-05 4.439972904e-06 -6.713451543e-24 -6.131215831e-14 4.477137672e-08 -2.274664064e-07 5.507872237e-08 -8.261131138e-23 7.582820943e-11 8.446029765e-07 -3.56777697e-06 9.056690547e-07 5.239719351e-23 4.632835351e-11 9.341599377e-07 -2.631172683e-06 -9.917520342e-07 3.862120259e-23 3.533529704e-11 -1.233788039e-06 6.226772082e-07 7.597216784e-10 -0.2088407091 0.0003610146078 0.003626226359 0.000146229541 0.0006979357983 8.079751181e-05 9.03821709e-06 4.625825904e-05 5.981312156e-05 2.881963965e-05 1.808205541e-05 2.063949331e-05 1.902449992e-05 -0.08085533977 0.02328581493 0.1869680012 0.0001130021701 -0.00224215111 0.005529820631 0.0001972774236 -0.0007362726616 0.0016803913 0.0001301572409 -0.0004339798413 0.000943352217 -0.0002303604723 6.724094612e-05 0.0005113558023 1.12613316e-05 5.637036463e-07 6.643274707e-07 1.899454347e-06 -7.326253843e-06 1.692967879e-05 6.644732544e-06 -3.316795409e-05 7.481316962e-05 -2.541361739e-05 8.686175269e-06 5.580639722e-05 -1.159714917e-05 4.674033386e-06 2.451962849e-05 2.077273201e-05 -9.404485892e-06 2.420022648e-06 -1.003706073e-05 3.085655115e-06 2.236754418e-05 -8.53687301e-06 4.332372552e-06 1.803490375e-05 -0.0006983910316 -0.001749236948 0.03427496616 -0.1077262063 0.03150861219 -0.000903661384 0.0002667335754 0.004020586648 0.004601367449 -0.01377958775 -1.669016183e-05 4.715117121e-06 3.676934807e-05 3.187391071e-05 -0.0001060073909 -0.0007209589871 0.0002171023186 -0.0006781337024 0.0002175241066 0.0004213392308 -5.306587653e-06 5.207219616e-07 -0.0001189167097 3.576170555e-05 3.86486781e-05 -3.109721981e-07 6.865346942e-08 -1.662672993e-06 5.520740482e-07 5.786510429e-07 -2.004689507e-05 4.77828767e-06 -2.541260122e-07 -2.834777166e-06 8.169896889e-06 -7.234069059e-08 -1.27759657e-06 1.892786429e-05 2.167315487e-05 -6.480743762e-05 -2.637581575e-07 -9.885561291e-09 -2.222850436e-05 7.11989399e-06 6.464337967e-06 -1.335168653e-07 1.238672863e-08 3.32733661e-06 -9.513653742e-06 2.555371698e-06 1.410215621e-07 -4.32798372e-07 4.370163518e-06 3.551100135e-06 -1.350172989e-05 2.520878013e-08 -1.826220395e-07 -1.367601373e-05 3.146746704e-06 4.674050528e-06 -9.048830345e-08 -4.855984274e-08 3.110528996e-06 -9.422273668e-06 2.687533261e-06 -0.1702451467 0.005504231152 0.001718687487 1.079948949e-05 0.0004626754064 0.0002639524962 5.661632269e-05 3.256033465e-05 4.833736982e-05 5.06364813e-05 3.56238809e-05 2.405946204e-05 2.083892649e-05 0.01927229475 -0.06982428256 0.2047019434 -3.515097226e-06 1.678016951e-06 9.737380341e-06 -0.0007753403979 0.0002437958129 0.002254575691 -5.818410659e-05 2.100750672e-05 0.0001672699822 7.61460649e-05 -0.000270927608 0.0007909876947 1.267681351e-05 -7.190000046e-05 0.0002184915267 2.880935569e-06 -1.087847511e-05 3.265530893e-05 -1.676710868e-05 6.100069126e-06 4.762811135e-05 7.753575209e-05 1.287618602e-05 -2.824864173e-05 4.060251375e-06 -2.10762071e-05 6.355767572e-05 2.013576974e-06 -1.25711561e-05 3.843773683e-05 1.023855603e-07 -1.010298898e-05 3.356416573e-05 2.315417483e-06 -1.008454859e-05 3.002974044e-05 -0.003207811666 0.001199393092 0.05499971505 0.03867453926 -0.1102203565 -0.0002191821722 5.117761782e-05 0.002294211859 -0.00354391283 0.0007962448155 -0.000154569066 4.19709888e-05 -0.0007667826911 0.0002617827756 0.0004670270808 -8.348048831e-06 3.607501315e-07 -0.000478962235 0.0001587323304 0.0002475106674 -1.709366386e-05 9.025141946e-06 0.0001289303438 -0.00040943281 0.0002188101231 -2.299486892e-06 1.778533178e-06 1.896165997e-05 1.718890549e-05 -4.31988726e-05 -2.249230351e-07 7.040784494e-08 -9.2497597e-06 2.47055324e-06 5.255786213e-06 -2.554794772e-07 1.137535654e-07 -3.099484971e-05 2.229445089e-05 3.382214403e-06 -1.038243805e-06 2.946799423e-07 2.286515779e-05 1.764289905e-05 -4.7714927e-05 -4.467107056e-07 2.255552787e-07 7.585091154e-06 -3.088641841e-05 1.840060932e-05 -2.70410146e-07 8.746602732e-08 7.278432226e-06 6.065107072e-06 -1.592465142e-05 -3.262423092e-07 1.195824824e-07 7.600358424e-06 4.252437029e-06 -1.40863496e-05 -2.770058125e-07 1.17573544e-07 2.574604457e-06 -1.637927331e-05 1.123449881e-05 -0.2982338823 -0.03407332044 -0.01728749538 4.858830819e-05 0.003032666556 -0.001049962232 0.0003287706008 -0.0001674262674 0.0001888536356 -8.806641114e-05 6.988312475e-05 -2.455675072e-05 2.77971979e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2982338823 -0.03407332044 -0.01728749538 4.858830819e-05 0.003032666556 -0.001049962232 0.0003287706008 -0.0001674262674 0.0001888536356 -8.806641114e-05 6.988312475e-05 -2.455675072e-05 2.77971979e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4329360426 0.14144337 0.005084670301 -0.004178999491 1.522505389e-05 0.0003053161686 -0.0004248512701 1.616447867e-05 -0.0001000162011 7.558531217e-05 -1.687922226e-05 1.863526045e-05 -2.57433062e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2946512345 -0.005116190735 -0.003299575322 0.0002128269021 0.000140118355 -1.426977911e-05 1.010816015e-05 4.726923664e-05 -3.799441817e-06 1.698273242e-05 1.081136948e-05 7.080963017e-06 8.573716066e-06 0.002254640837 0.0008109795362 0.2085236892 -0.000600198298 -0.001753328699 0.02779841006 1.972413506e-06 6.270158172e-06 -0.004368676001 1.251549844e-07 1.350128316e-07 -8.912426952e-05 2.769213118e-08 3.704480972e-08 0.00015981068 -3.04738279e-05 -4.328213797e-07 -3.566317143e-06 -1.687406101e-08 -7.000106292e-08 5.011686847e-05 -2.91918116e-07 -3.133804924e-07 1.484909263e-05 -7.367655686e-08 -4.364626724e-08 -4.924227991e-06 4.512473105e-07 4.143850804e-07 2.116709432e-05 5.433376705e-06 -3.028766277e-08 -4.961783373e-08 4.836992608e-08 2.745902055e-08 7.398979728e-06 4.115193432e-07 2.828339739e-07 6.948539904e-06 -1.146695291e-07 3.658999516e-05 0.04324625845 0.0001854812519 -0.000100044288 4.426432438e-06 -2.769765661e-05 0.01253869393 0.0004882828574 0.0005637567782 1.036174831e-08 1.626628376e-06 -0.0003895602061 -4.437738097e-06 -6.509895982e-06 -2.536370074e-08 -2.20237675e-07 -8.325430861e-08 -6.800495058e-08 5.146072738e-05 -2.339741813e-10 2.948749825e-08 2.370459914e-07 1.698450174e-07 -2.56934229e-05 5.791735555e-11 9.950758713e-09 3.588482504e-08 4.312184291e-08 4.635208811e-06 2.424076696e-08 -1.302249646e-06 -1.956406944e-08 -1.246466882e-07 3.956490759e-05 -5.412847237e-09 9.775617389e-09 -2.225216586e-05 -4.107455724e-07 -2.769766558e-07 -2.431859811e-11 2.783047741e-09 1.152159588e-07 9.467908736e-08 4.803260418e-06 6.150260269e-11 3.221992829e-09 4.865566562e-06 -2.724225916e-07 -2.386758161e-07 1.901537789e-13 -2.818937426e-12 -5.581644463e-09 -3.563441698e-11 -1.431225548e-10 -3.640567381e-12 9.251238995e-10 -2.003338346e-08 -6.165498732e-09 2.697291408e-06 -2.764876181e-10 4.255562032e-09 1.608120304e-06 -4.668688125e-08 -4.09617012e-08 -0.2484730146 -0.01519478182 0.000280093897 -6.82723812e-05 0.0001311824642 0.0001029998946 -9.776654637e-06 3.405514207e-05 3.125648531e-05 1.009339264e-05 1.760743373e-05 1.277684882e-05 9.436793774e-06 -0.001970658201 0.0007614158484 0.2467262973 -3.015033862e-05 0.0001118182574 0.00305831729 3.406337877e-08 7.933661398e-07 -0.002800888986 -5.264694967e-07 1.579484549e-06 0.0001606853173 -2.465371699e-06 1.433384728e-07 0.0003568486814 3.805574583e-07 -2.79454338e-07 -1.585376471e-05 1.798570256e-09 -1.277532834e-09 -2.460582369e-07 -4.029615287e-08 5.172191782e-07 6.53496374e-05 1.432964081e-05 3.682723278e-07 2.185643511e-08 -2.891284246e-07 1.368510762e-07 1.368106535e-05 -5.621317482e-07 4.469900213e-07 2.128984828e-05 -2.875991746e-07 1.138469132e-06 1.178359923e-05 -1.831338839e-07 7.307581006e-08 1.174680706e-05 1.454213558e-05 -0.0001080958113 0.07491950229 0.002663199976 -0.0007283050509 -1.387139256e-06 4.133988352e-06 0.0108200717 0.0004864123728 -0.0008996210876 -4.799575567e-08 1.62463039e-06 6.908632008e-07 -1.309375273e-05 -0.001293716409 3.765153353e-10 2.832566716e-09 -3.998751136e-07 9.932530226e-07 6.574200057e-05 -5.671681399e-09 7.31025672e-08 3.048326342e-07 -2.442937825e-08 0.0001755852766 -4.007392351e-08 -5.767546956e-07 -3.942563725e-05 -4.824803703e-06 1.395188952e-06 1.348861316e-10 -5.695758438e-10 4.809283603e-08 1.607301523e-08 1.255699881e-05 1.897781642e-11 -5.46503123e-09 -3.321345545e-06 1.999119874e-05 1.087919283e-05 -4.409611091e-10 2.118228504e-08 -6.15880298e-06 -3.454223636e-07 5.071341088e-08 1.098068382e-10 -8.873585593e-09 -6.384661997e-07 3.332834649e-07 9.465272404e-06 -2.581948346e-09 -7.282420704e-09 6.441088334e-06 7.108123539e-07 -3.534796866e-07 2.293765778e-10 -4.515719133e-09 3.506880316e-06 2.002803182e-08 -6.191209556e-08 9.80607648e-11 -5.007537632e-09 -5.607891665e-07 5.347749715e-07 4.245122554e-06 -0.2583272646 -0.0148484597 -0.000315146977 -6.126392015e-06 0.0001360813173 6.726819687e-05 -7.031702505e-06 4.033079753e-05 2.27689657e-05 9.661592025e-06 1.77711725e-05 1.090886707e-05 8.917832527e-06 -0.002666616912 0.003054684404 0.239481561 -0.0001954226005 0.0005733717216 0.006866244198 7.282370076e-07 1.658973091e-06 -0.003461736173 -7.508862162e-07 1.462908725e-06 0.0001452637423 -7.179562262e-06 2.829081353e-06 0.000341841445 1.969106857e-06 -1.575517389e-05 -3.876059407e-05 -3.714243121e-08 7.25119944e-08 1.198162835e-05 -2.805461548e-07 1.995402779e-06 6.255735288e-05 -4.302495096e-07 -2.565836942e-08 3.624519703e-09 -4.250071877e-07 3.75943919e-07 1.78325023e-05 -7.972624689e-07 2.180752226e-06 1.679346045e-05 -4.303556746e-07 2.076450861e-06 8.256931649e-06 -2.4883784e-07 1.896823962e-07 1.091629857e-05 -3.259527058e-05 -1.757333498e-05 0.06650989102 0.003719698241 -0.000362066743 -5.331086468e-07 -2.288059857e-07 0.01171300393 0.001202558138 -0.001234671777 1.493719442e-07 1.038369156e-06 3.130225502e-05 -0.000273417231 -0.001022539462 2.336692318e-10 -2.808617973e-07 -2.820436004e-07 8.558866453e-07 6.499218665e-05 1.425431336e-09 2.076640689e-08 2.088104863e-06 -9.698345344e-07 0.0001177049127 4.349867698e-09 -1.193136666e-09 -2.77586605e-05 -8.478310467e-06 3.010837373e-06 -3.181027571e-12 -3.70411313e-10 1.084890764e-07 1.516722059e-07 1.880315421e-05 4.072943295e-10 1.097840987e-09 -1.586653972e-06 4.83116326e-06 1.460127333e-05 5.573367922e-10 1.083275331e-08 -5.226424495e-06 -3.050998305e-06 4.173122732e-07 -3.080004842e-10 -7.988359755e-09 -1.052062483e-06 1.06178758e-06 1.059635605e-05 3.13950934e-10 -2.369240056e-09 4.776448272e-06 7.592288163e-08 -1.411081501e-07 -1.54844876e-10 -1.098759558e-09 2.997863758e-06 -1.300620475e-08 -1.162744545e-07 -2.327750594e-10 -3.033333816e-09 -6.996624081e-07 3.283411133e-06 1.071964139e-06 -0.4325915329 0.1421493449 0.005195835944 -0.004773157688 0.0007411044846 -0.0002406944097 -4.106660736e-05 -0.0002220460569 6.113413475e-05 -2.022416839e-05 4.201411545e-05 -1.113037067e-05 1.220669086e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1225402961 0.01676993857 0.006178660267 0.006412186918 0.01774306724 -0.0841341992 0.001400715644 0.003926050494 -0.02358681005 -7.720843996e-05 -0.0002447236853 0.001787172442 -2.90195963e-05 2.550443362e-05 0.001361659093 0.001423593979 -0.0004001004838 -0.0001277832981 -0.0001978725109 3.529947564e-05 1.128006435e-05 1.328946661e-05 -9.442034594e-07 5.608954126e-08 -2.145429028e-05 -8.662775673e-05 -3.392350675e-05 -2.367822835e-06 -8.094692139e-06 4.781938168e-05 9.927266768e-07 -6.808787435e-07 -2.291151599e-05 1.911470995e-06 3.242319408e-06 9.158550399e-06 -1.637273782e-05 3.927299095e-06 1.155101873e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08936160816 -0.007119756722 -0.01983415022 -0.001829647774 -8.711851543e-05 0.0003026098438 -0.0001011040524 4.887694969e-05 8.250105678e-06 -5.065691626e-05 7.57001301e-06 -1.153676206e-05 -1.309321744e-05 -0.002017094473 -0.001502637073 -0.1488938574 -0.0001684162714 -0.0003215247208 0.005410081152 2.949549735e-05 2.08286252e-05 -0.009455697759 1.294513553e-05 1.090927721e-05 -0.007309402219 3.513538163e-07 5.556841162e-07 0.001965365024 -6.276102187e-05 -8.977273582e-07 -7.025563511e-06 3.330643938e-08 2.088473487e-07 -0.0001546561894 -3.678197239e-06 -3.591606363e-06 0.0001729739951 -1.901661785e-06 -1.362179395e-06 -0.0001242961834 -7.804862087e-07 -8.212361715e-07 -3.62659155e-05 1.537322727e-06 3.167688279e-09 -1.279327923e-07 -2.755785172e-07 -2.397886096e-07 -3.949077244e-05 -9.08446326e-07 -7.04463934e-07 -1.493965599e-05 -1.330830244e-05 -2.683915358e-06 -0.06895501067 -0.0003989733422 -0.0008001669779 -1.164677091e-05 4.31626521e-05 -0.01125285822 -0.0008054800709 -0.0005061948808 -2.147042088e-07 1.004724792e-06 -0.000118971256 1.40673738e-05 -8.127791423e-07 -2.580523024e-06 2.347935902e-05 3.338836803e-06 2.141261091e-05 -0.002994142182 -5.953624613e-08 -6.034732933e-07 -5.979525368e-06 -6.090684013e-06 0.0006450211111 5.196307577e-10 1.312758423e-07 4.585784895e-07 7.764270409e-07 6.126963381e-05 -1.768727615e-07 3.388137643e-07 -1.909160534e-08 2.201695083e-08 1.966692264e-06 5.433834727e-08 -4.026169825e-08 5.23859262e-05 1.094093728e-07 8.849777975e-07 -3.250569879e-09 -2.330558714e-08 -1.279964872e-06 -1.16395094e-06 -5.319868651e-05 -1.516947985e-09 7.221864179e-09 5.779117587e-06 -3.193253132e-07 -3.339051931e-07 4.621727347e-09 -2.729859515e-09 -6.695374094e-06 -1.308893075e-07 -2.153996264e-07 6.247083661e-10 -2.923283039e-09 7.563730755e-08 -9.7216571e-09 -1.458875684e-05 -1.121571162e-09 -1.905223311e-09 -2.209780389e-06 6.529245372e-08 -3.531222847e-09 --0.02936012807 0.01014553502 0.003088100949 -1.646981287e-05 0.0004722016757 -0.0001637436134 1.175762212e-05 3.119053911e-05 -1.019407602e-05 5.834450356e-06 1.173194778e-05 1.353255871e-06 3.014201041e-06 -0.06814621778 0.006058478878 0.02847906578 0.0001324529952 -0.001069638528 -0.000611655394 0.0001637255859 0.0008540811668 0.00439651349 1.726420503e-05 -0.0001392598435 0.000713943257 5.802356109e-05 1.809494915e-07 0.0001868576404 -4.40846785e-05 4.478957965e-06 -0.0001922779958 -1.854434131e-05 4.088691051e-06 6.156771401e-05 4.626017415e-07 -9.26627492e-06 2.424606382e-05 -1.143808428e-05 -2.090460598e-05 -1.492127383e-07 -1.212689693e-05 1.65735627e-06 2.850132917e-05 -6.884478367e-06 1.41202521e-06 1.104047921e-05 -1.928050402e-06 5.649948334e-07 -1.692897421e-06 -6.31964131e-06 6.789972125e-07 9.474099673e-06 -0.0001366261015 0.002110119831 0.03032682991 -0.08978716946 0.008891306716 0.000142113447 7.670783979e-05 -0.001376788269 0.001474178543 -0.01055452862 1.01331992e-05 4.42910413e-05 -0.0001746225715 0.002404560812 0.001044947457 1.408094436e-06 8.217838511e-07 -2.271349724e-05 0.0001269829625 0.0009436542154 2.303361585e-06 1.36985074e-05 9.773519398e-05 -1.067715885e-05 -0.0002299584553 1.010061363e-07 8.391305485e-07 -4.001854316e-06 -8.672121534e-05 1.244584272e-05 8.654662508e-08 8.076676732e-08 -2.81053937e-06 -3.070486969e-06 2.935949594e-05 -2.383724497e-08 2.152317753e-07 3.123854182e-06 -2.00075792e-05 -1.651648019e-06 4.104452975e-08 4.84789798e-07 4.25584733e-06 -2.924561124e-05 2.219129776e-06 3.147764412e-08 2.518807136e-07 -1.264905601e-05 2.080537207e-06 1.631149402e-05 7.058819241e-08 1.030533093e-07 2.487362198e-06 -9.69731423e-06 1.715366926e-06 2.046653298e-08 1.793333644e-07 3.054740088e-06 -1.00716326e-05 2.018550189e-06 1.504073154e-08 1.572604239e-07 -6.088945476e-06 1.141290587e-06 3.410793067e-06 --0.03172848723 0.009662772134 0.004177919165 -4.033630265e-06 0.0004678439497 -0.0002000180799 2.924177861e-05 2.675592099e-05 -1.7029975e-05 1.312598234e-05 9.516835053e-06 1.087265111e-07 4.404573755e-06 -0.08807081678 0.02173280443 0.03455079492 0.0004996725285 -0.003242133903 -0.0008018364939 9.004462476e-05 0.001275744333 0.004779473579 1.973251302e-05 -0.0001339713065 0.001122804068 6.509521175e-05 -5.085005401e-06 -4.580799805e-05 -1.857673989e-05 -3.959942946e-05 -0.0001384970364 -1.629486708e-05 5.361462154e-06 6.889489156e-05 4.865604015e-07 -1.104926509e-05 5.063056504e-06 -1.004718524e-06 -2.832043735e-05 1.87740094e-06 -1.276910727e-05 3.069565971e-06 3.509081604e-05 -6.009341796e-06 2.720610041e-06 3.367981239e-06 -4.287957568e-06 2.309264012e-06 2.905953886e-07 -6.736090549e-06 1.330968788e-06 1.093804868e-05 0.001623966521 0.0003263288579 0.03254278676 -0.0998520942 0.01760057132 0.0002936229563 -2.564348334e-06 -0.0009998248426 0.002696732754 -0.01414699961 1.699780855e-05 1.427945707e-05 -0.0003228008635 0.003390285743 0.0002070925087 0.0001667022073 -0.0001053458135 -1.932631906e-05 0.0003055303364 0.001144932377 -3.512460535e-09 2.685364443e-06 5.466865877e-05 -6.494573692e-06 -0.0003312112569 -1.160362894e-07 2.688230735e-07 1.808519508e-05 -7.25401721e-05 1.314834917e-05 5.727859987e-09 4.317934037e-09 -1.16457102e-08 -3.328938025e-07 2.7593892e-05 -6.56629962e-09 3.235802003e-07 5.593333886e-06 -2.561576704e-05 -1.600024597e-05 2.27807368e-07 3.580949244e-07 1.507950006e-05 -3.091083031e-05 3.358785336e-06 8.472579281e-08 1.120900725e-07 -1.021991077e-05 3.145599954e-06 1.300534347e-05 1.351304159e-07 3.444519443e-08 -2.77588374e-07 -1.04617815e-05 2.88424341e-06 1.350790239e-07 6.11425317e-08 4.88372699e-06 -1.085044019e-05 2.718296718e-06 7.340306354e-08 7.516034263e-08 -4.811113343e-06 2.911175237e-06 4.990150026e-07 --0.05203462059 -0.08785430195 -0.03393355028 -0.004377711892 0.002278360698 0.001011206976 0.0003572652554 -0.0001104045733 -6.475696843e-05 -3.173725581e-05 1.744513009e-05 5.038931283e-08 6.938223863e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.01105834864 0.04515589843 0.07673357191 0.05440885197 0.0146163717 0.01104239387 0.01564484758 0.00635446246 0.002376547375 -0.001169407789 -0.0006508655224 -0.0001357180982 0.0009423366291 -0.002774940193 1.9578198e-05 -0.0002565735878 -0.0001409910326 -0.0007981446639 1.965976405e-05 5.242432545e-05 0.0001298812456 8.120597571e-08 -1.405679027e-05 -2.579337829e-06 -1.272999777e-05 0.0001460739982 5.622329457e-05 -2.830786514e-05 -1.691219578e-05 -4.648694095e-06 -1.537796514e-05 4.612673182e-05 -5.798202613e-07 -2.898030587e-06 -1.789824616e-05 1.690321676e-06 2.368664341e-06 3.464500951e-06 9.23862986e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.001749030664 -0.0001393514853 -0.0003882040359 -3.58107931e-05 -1.705127717e-06 5.92283316e-06 -1.978859732e-06 9.566444197e-07 1.614752477e-07 -9.914828273e-07 1.481641295e-07 -2.258033513e-07 -2.562670846e-07 0.04446505146 0.04538754803 -0.007554244468 0.002487444814 0.0005498885177 0.006181304306 -0.001247118436 -0.0009818692851 -0.0001994751444 -0.0001344603306 -3.825003273e-05 -0.0001453486902 -2.603822121e-06 -4.974250293e-06 3.848555853e-05 3.893083526e-05 5.390603468e-07 -1.26130337e-05 9.261047589e-07 8.584355941e-07 -3.017371355e-06 1.392103138e-05 1.905946972e-06 7.807967237e-06 7.271066514e-06 1.289311897e-05 -4.092486433e-06 2.226141462e-06 5.513175997e-06 -1.763679496e-06 7.432532611e-07 1.483454364e-06 5.727566202e-06 2.867858714e-06 4.620241289e-06 -1.072025397e-06 2.798283055e-06 4.676733428e-06 -2.041253674e-06 0.0006205495782 -0.003412418799 -0.001112025762 0.02507903161 0.04777645531 0.0002591249089 -0.0009730504073 -0.001325831791 0.01833298985 0.00639241813 9.012307386e-06 -2.653556481e-05 1.856287806e-05 -0.0007686483749 -0.0003647868734 9.106110376e-05 -0.0005555539407 -0.0002041572908 -0.0008786981296 -6.534791592e-05 2.649741971e-06 -7.355810168e-06 3.579376155e-05 9.1264347e-05 1.386470451e-05 -4.442109085e-08 -3.87499955e-09 -2.539259066e-06 -1.037030417e-05 1.360812799e-06 6.173486876e-06 -2.190909348e-05 9.07553159e-07 -1.388014149e-06 -2.948710984e-07 -2.331008969e-06 7.264588949e-07 3.634725238e-07 4.394631559e-05 -1.364590733e-06 1.466639921e-07 -4.144339968e-07 2.313970124e-06 5.737397048e-06 -1.234766966e-06 6.358638219e-08 -1.837161125e-07 4.138492248e-07 6.750893176e-07 2.516385996e-06 -2.182542281e-07 -1.16448715e-07 -2.586063164e-07 4.328807126e-06 4.657823966e-06 -2.897367559e-08 -1.489350486e-07 3.093267352e-06 2.105397926e-06 -2.523863525e-07 6.657635144e-08 -2.267884949e-07 1.365639178e-07 1.061340217e-06 2.994015188e-06 --0.09007021845 0.03112420197 0.009473593796 -5.0525653e-05 0.001448607717 -0.0005023282934 3.606971981e-05 9.568550465e-05 -3.127311473e-05 1.789877132e-05 3.599095675e-05 4.151482296e-06 9.246885625e-06 0.02130979674 -0.001660057024 0.1037379524 -1.737498848e-05 0.0002516552295 -0.002453126306 -5.299595576e-05 -0.0002826498964 0.0134769613 -1.352841453e-05 6.89234461e-05 0.002161401606 -2.31935981e-05 2.230925085e-07 0.0005585500009 2.890490316e-05 -1.216250676e-05 -0.0005428750422 4.494497504e-06 -2.393186917e-07 0.0001919212794 -2.047244795e-07 3.657406111e-06 7.25774127e-05 -4.610689927e-05 5.533514204e-06 -3.65022265e-08 1.698480901e-06 5.200218923e-07 9.737967674e-05 1.060216205e-06 4.770353174e-07 4.123362909e-05 3.060798055e-07 1.087479401e-06 1.376122455e-05 1.505273028e-06 -3.377119587e-09 3.248793177e-05 6.296367404e-05 -0.0008170105347 0.07965401951 0.03244884906 -0.003807122227 -4.63947715e-05 -2.450954642e-05 0.001760408151 -0.0004270555034 0.003331148909 -3.113296092e-06 -1.904882251e-05 5.604388446e-05 -0.0007466387778 0.003328970825 -4.375751547e-07 -1.296446417e-07 -1.207434017e-05 7.100136956e-06 0.00290179747 -7.195294851e-07 -4.789987497e-06 -3.320895635e-05 3.634562624e-06 -0.0007040688024 -7.521548512e-08 -8.940239776e-07 -4.110180733e-05 2.307587801e-05 -2.586770531e-06 -2.705241166e-08 -3.085063896e-08 1.294028444e-06 1.128535988e-06 8.997150143e-05 7.827745558e-09 -6.312200026e-08 3.252039608e-06 -1.920211357e-05 -1.34601172e-05 -1.2483647e-08 -1.839510855e-07 6.147193295e-06 9.955284715e-06 -7.980547273e-07 -9.410301401e-09 -1.382866332e-07 8.1345321e-08 1.425824262e-06 5.459968852e-05 -2.503311982e-08 -3.960174674e-08 4.496770524e-06 3.74624282e-06 -8.535735223e-07 -5.903933776e-09 -7.134860897e-08 9.01182454e-06 3.33967838e-06 -8.38226532e-07 -4.382028791e-09 -7.298017034e-08 -4.469848719e-07 1.943141513e-06 1.729617503e-05 -0.04279400497 -0.01303272721 -0.005634995839 5.440385241e-06 -0.0006310075916 0.0002697756954 -3.944004043e-05 -3.60872237e-05 2.296929033e-05 -1.770375466e-05 -1.283589361e-05 -1.46645594e-07 -5.940697702e-06 0.001824622607 0.09960006424 -0.05929628493 0.002177019786 0.0002172527769 0.002366351434 -0.002110794759 0.0002753016672 -0.00643882897 0.0001590101866 -1.894553472e-05 -0.001501531263 7.214450517e-06 -0.0001118747018 8.626401996e-05 -8.755166172e-06 0.0001851425891 8.826053939e-05 3.174074001e-06 1.229272827e-05 -9.376074239e-05 1.316239219e-05 -1.733922302e-06 -4.102802936e-06 1.104646116e-05 -2.752771728e-06 2.852111831e-05 4.574319264e-07 1.706631018e-05 -5.189382298e-05 2.80769318e-07 1.201061598e-05 -1.247329805e-05 1.138036433e-07 1.361738962e-05 -1.153174527e-05 -1.125645654e-07 9.68583004e-06 -1.710387075e-05 -0.003244275677 0.0002473817431 -0.03716029814 -0.005162787067 0.1089412058 -0.0003197699812 -1.543581698e-06 -0.003024080321 0.02021329275 -0.0006059239944 -0.0001421116149 1.364184365e-05 -0.003299944774 4.210117573e-05 -0.001047445551 -0.0002404550145 -0.000110328812 -8.130698143e-05 -2.078073822e-05 -0.001556682957 -3.317276113e-06 6.523834941e-07 1.099794184e-05 -7.448696688e-05 0.0004448298033 -1.836817686e-06 3.873201569e-07 -5.382900517e-06 8.799869409e-07 6.09511571e-05 -1.088222793e-08 4.080908455e-09 9.019266783e-07 -4.654983703e-07 -3.720317293e-05 -4.88366401e-07 6.66956894e-08 1.288891408e-05 9.276176142e-06 2.628411396e-05 -1.147463143e-06 2.12426996e-07 -1.008178637e-05 -8.760987637e-06 3.555724498e-05 -3.378428102e-07 8.631043329e-08 1.543281106e-06 1.017099586e-05 -1.981021403e-05 -3.097842479e-07 2.295506961e-08 9.420791097e-07 1.602186025e-06 8.034586683e-06 -3.342811752e-07 4.185208698e-08 -6.065088559e-06 1.424521599e-06 8.971234888e-06 -2.676393006e-07 4.973637028e-08 8.955002671e-07 4.329107164e-06 -3.380310914e-06 -0.0694625105 0.1172792326 0.04529887152 0.005843933421 -0.003041449177 -0.001349889255 -0.0004769236572 0.000147382238 8.644593828e-05 4.236697492e-05 -2.328800554e-05 -6.72661419e-08 -9.26203444e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.006312592323 -0.2464349812 0.0144808546 0.006470467621 -0.140489362 -0.009476867157 0.002368007505 -0.04430470628 -0.001749279764 -0.0002152136706 0.003624407052 9.629966783e-05 0.001676678432 0.001560029559 1.256385462e-05 0.0002730276531 0.001953670474 -8.376919336e-05 -1.629541375e-05 -0.0003653878386 1.972456739e-05 4.501656802e-07 3.040981647e-05 -1.190544869e-06 3.266226189e-08 3.014584182e-05 -0.0003699176419 -5.444928623e-06 9.144563476e-05 3.373190522e-06 -2.968068654e-05 -2.392165693e-05 -4.659062501e-07 3.61940227e-05 -1.604332982e-06 -3.483365092e-07 -2.135538422e-06 -2.626709873e-05 1.391233682e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0002521783526 -2.009194506e-05 -5.597194849e-05 -5.163263855e-06 -2.458483476e-07 8.539646215e-07 -2.853155165e-07 1.379306943e-07 2.328178847e-08 -1.429537578e-07 2.136256777e-08 -3.255672889e-08 -3.694904414e-08 -0.1646530734 0.01228207419 0.001487161577 0.0001729021761 -0.01331535788 -0.002937305287 -0.0002889173776 0.004240264169 -1.835628543e-05 -1.591960363e-05 0.00032482471 -1.991343744e-05 1.428167739e-05 -9.097045728e-07 5.544884175e-06 -5.153440523e-05 1.607126729e-06 -9.383614809e-08 2.33707678e-07 -3.383349555e-06 -4.430454166e-07 8.120260705e-07 -3.520949029e-05 -1.109991682e-06 -3.599057601e-05 2.62801344e-06 2.442388128e-07 -1.308972135e-05 9.536331453e-07 1.794304573e-07 -9.241854656e-08 -1.44762129e-05 5.884486971e-07 -1.376900341e-05 9.649801079e-07 -9.53056625e-09 -1.183333858e-05 1.1523672e-06 4.764481399e-07 0.0004767851313 0.003938087678 -1.476129923e-05 -0.1373936182 0.008727997711 0.0009190962402 0.0002817379548 0.0003079944744 0.002647441043 -0.04464646742 1.46938806e-05 3.537274545e-06 -7.300285608e-06 -0.0001326629061 0.002115587264 0.0008060264104 7.578796751e-05 0.001950079001 -9.065804161e-05 -6.245436159e-06 4.801727896e-06 2.43072147e-06 -0.0002390199466 1.371881643e-05 1.371973969e-06 3.953610511e-07 1.382723117e-07 2.326969155e-05 -1.135722281e-06 1.315147531e-07 2.028484954e-05 9.017189811e-06 1.271005824e-07 -3.646591336e-07 1.437650181e-07 1.428164489e-06 1.072177588e-06 4.541282408e-07 -8.571902029e-07 -7.303614622e-05 2.301394089e-07 2.052435296e-07 -1.487949051e-05 9.044809413e-07 -9.317764668e-08 1.224496205e-07 7.302429172e-08 -8.515664785e-08 -6.343081007e-06 2.758511627e-07 -4.311900733e-08 5.758900563e-07 5.386683752e-08 1.200444045e-06 -1.68575441e-05 -1.343849459e-08 2.951385201e-07 -9.847119386e-06 6.635434174e-07 -5.303231504e-08 7.016555185e-08 1.782188413e-07 -6.025108176e-08 -7.790206562e-06 4.089825453e-07 -2.545168948e-05 -8.794955061e-06 -2.677011022e-06 1.427734109e-08 -4.093418936e-07 1.419459612e-07 -1.019244012e-08 -2.703843505e-08 8.837034248e-09 -5.057764679e-09 -1.017018356e-08 -1.173109604e-09 -2.612948715e-09 -0.003735459492 -0.1202157059 0.0008598591285 -0.001235007709 -0.0001179420749 -2.245070069e-05 0.001963696101 -7.8837853e-05 -4.030301011e-06 -0.0002006463418 -1.581985979e-05 -1.940544957e-06 -5.246235448e-08 0.0001176769748 -3.0244425e-07 -4.190951595e-06 -0.0001005763633 4.27537579e-06 -2.967686401e-06 -2.542188405e-05 2.733195328e-07 -1.523149008e-05 -3.289374057e-07 -3.05038477e-08 1.343390843e-07 9.105520137e-08 -3.23064559e-05 -7.291195001e-07 -2.387629629e-05 5.18838983e-07 -6.082547213e-07 -1.402190217e-05 6.605886195e-07 -9.141079478e-08 -1.591851249e-05 2.678233363e-06 -3.554444024e-07 -1.189357112e-05 1.616843753e-07 0.003707936614 4.998578495e-05 -0.0005080705589 -0.006822191812 -0.1358847701 0.0003467650558 -2.202649028e-05 0.0004163708694 -0.01938067592 -0.0009224285696 0.0001899569868 -1.090313875e-05 0.003828697079 0.0001210275747 -1.753769852e-06 1.075699253e-05 -1.729004171e-07 0.00015182467 1.400094722e-05 -4.455722602e-07 2.169995371e-05 -1.26120495e-06 7.733462877e-06 0.0001619008427 2.185549566e-07 2.876126758e-06 -4.910158316e-07 -9.714883431e-07 -1.077057027e-05 -0.0001078143027 3.180175868e-07 -2.834912475e-08 -1.189960123e-05 8.404047064e-07 -1.218804907e-08 2.90025029e-07 1.762982193e-08 -1.177357461e-05 -3.052939679e-06 -3.894319699e-08 1.260374118e-06 -3.784349025e-08 -1.098127976e-07 -1.652686605e-06 -4.474968232e-05 5.497653186e-07 -3.563134533e-08 -9.498042412e-07 -2.024476371e-05 3.056289252e-07 3.682808698e-07 -3.043035526e-08 -2.596205539e-07 -1.820998867e-06 -1.11077749e-05 3.997289575e-07 -1.727059375e-08 -1.550335163e-07 -1.83692679e-06 -1.260517173e-05 3.382292413e-07 -1.530673982e-08 -3.207181068e-07 -1.321145098e-05 7.614072988e-07 -0.07666998238 -0.02334950809 -0.01009569055 9.7470251e-06 -0.001130516785 0.0004833316682 -7.066100046e-05 -6.465407495e-05 4.115191102e-05 -3.171814741e-05 -2.299685991e-05 -2.627310791e-07 -1.064338775e-05 -0.03584695634 -0.04845234898 -0.09791220446 -0.00116515017 -0.001002882602 0.003856897087 0.001219019816 0.0003824790928 -0.01153335058 -5.992385376e-05 -8.51237206e-05 -0.002694663218 1.836931189e-05 6.212938236e-05 0.0001491701017 -2.11636482e-05 2.719736673e-05 0.0002548813865 -7.746019861e-06 -6.143749601e-06 -0.000167209214 -7.091452541e-06 -3.988065185e-06 -7.632408632e-06 1.887082178e-05 -8.665545461e-06 -1.535679294e-05 -2.337729238e-06 -1.108765151e-05 -9.085712009e-05 -1.484891319e-06 -8.747290228e-06 -1.605046926e-05 -9.294676822e-07 -1.102872001e-05 -1.087484442e-05 -1.727265333e-06 -5.615810317e-06 -2.968693412e-05 0.002531982941 2.344604566e-05 -0.06600652566 -0.04404506145 -0.05297723394 0.0003001920393 -1.141770852e-07 -0.003101152703 -0.01061543477 -0.005055075704 8.672450866e-05 8.633241143e-07 0.001785731173 0.0007032292135 -0.001858844295 0.0002031838823 3.581452976e-05 5.528838179e-05 8.370572608e-05 -0.002782999309 1.864436972e-06 9.558437199e-07 3.746900543e-05 2.914172931e-05 0.0007974990227 9.810666651e-07 -1.059947024e-07 -1.408461127e-05 -3.801603647e-05 -2.59138579e-05 8.461100068e-09 1.456081224e-09 -1.078483627e-06 -6.75167902e-07 -6.664966029e-05 2.717490938e-07 1.017500158e-07 -1.220527318e-05 6.528300242e-06 4.612504284e-05 7.379676664e-07 9.235213825e-08 -1.839691639e-05 -2.556921097e-05 -1.604008699e-05 2.251053156e-07 3.642149812e-08 -5.849189321e-08 -9.454024624e-06 -3.42452622e-05 2.289494501e-07 5.405440797e-10 1.176559883e-06 -5.194807205e-06 -3.344667594e-06 2.433666187e-07 8.220451171e-09 -1.172212342e-05 -5.211055947e-06 -3.218113331e-06 1.808683763e-07 1.776437905e-08 8.355883341e-07 -1.682194434e-05 -3.003191814e-06 --0.1244894771 -0.2101857568 -0.08118383266 -0.01047339364 0.005450831173 0.002419247537 0.0008547341044 -0.0002641358282 -0.0001549268746 -7.592933966e-05 4.173634974e-05 1.205531843e-07 1.659925355e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.3637359021 0.0700232606 0.001127258787 0.001428682097 0.0003538882964 0.0001215062951 4.595407234e-05 2.220261721e-07 2.574581689e-05 8.766728567e-06 4.248650953e-06 9.103454128e-06 5.761747921e-06 -0.09261772873 0.01283814802 0.005845415799 0.00459061481 0.01079932409 -0.05141288724 0.0006674041828 0.001528836695 -0.009170238934 -7.779765744e-06 -1.909981372e-05 0.0001378816079 1.720899617e-07 7.186667344e-07 -4.010866162e-05 -0.0002532622988 7.090110074e-05 2.563084193e-05 9.489299525e-06 -1.695505021e-06 -6.666754504e-07 -1.009463753e-06 8.608281749e-08 -1.705473716e-10 -2.751799369e-06 -1.061036906e-05 -4.294042932e-06 1.489353134e-07 4.141470384e-07 -2.420588996e-06 1.023935282e-07 2.600839044e-08 -3.860781581e-06 -5.665972806e-07 -8.360400781e-07 -2.661059788e-06 -2.673702408e-06 6.418859205e-07 2.193408353e-07 9.667081521e-20 1.075710766e-06 -0.02533616437 0.005051603997 0.001949484274 -3.645757874e-20 9.644849478e-07 -0.02381095117 0.004668657094 0.0006671788848 -1.421573627e-20 2.913728318e-07 0.0009719562298 0.001827778882 -0.009747243213 7.705630195e-22 4.036397421e-09 5.323167169e-05 0.0001320365158 -0.0008030200969 -3.645891628e-23 5.092021046e-10 -6.820942519e-07 2.439776241e-06 1.533462776e-05 5.373911734e-23 4.798208294e-09 -8.06488125e-05 -4.176044426e-06 4.486823047e-06 -4.388372471e-23 3.15194717e-12 1.347609846e-06 4.257147142e-06 -1.587912552e-05 -6.059404782e-24 1.457313638e-11 1.408200001e-07 9.829390316e-07 -6.40073706e-06 7.297777249e-24 7.819570725e-11 -1.96760478e-06 2.605497553e-07 3.93818136e-08 4.100292028e-26 -1.531973543e-12 4.781231651e-08 -1.707666559e-08 -5.699025478e-09 -4.572646443e-24 7.77916724e-11 3.277097911e-07 1.058644816e-06 -3.92977133e-06 9.484081868e-25 6.689223284e-11 -1.147974117e-06 6.556156534e-08 8.408130294e-09 -5.478020403e-25 3.718608173e-11 -1.453136912e-07 -5.857946455e-07 -2.111284866e-08 -0.3231284777 -0.008771257858 -0.02211143554 -0.002627389903 0.003423479474 -0.0006004980192 0.0001577881829 -0.0002047424553 0.0002002173849 -6.754360125e-05 5.347229048e-05 -2.372482861e-05 2.694541117e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1841237389 0.002721543895 0.002412213641 -1.638917348e-05 0.0005674841995 0.0001873999811 2.824941109e-05 3.477724039e-05 5.415510722e-05 4.292092387e-05 2.74044628e-05 2.204622183e-05 2.007619797e-05 -0.04550567719 0.004282629549 0.2112482929 1.289965468e-05 -0.000136887344 0.0005674872568 -7.806055811e-05 -0.0003946302838 0.002332466496 1.136927117e-05 -9.34322617e-05 0.0003922151692 -0.0001497472916 -7.669396006e-07 0.0007633966901 -2.241279643e-05 4.953169721e-06 0.0001054434719 -5.394945216e-06 1.18159002e-06 2.160147111e-05 5.775863305e-07 -1.291097116e-05 5.951295511e-05 8.332450391e-05 -1.755277601e-05 -8.666566563e-08 -9.801493399e-06 1.47176625e-06 4.764749939e-05 -5.929758603e-06 1.484993294e-06 2.797789471e-05 -2.141837569e-06 2.72588904e-06 2.250120381e-05 -5.83966711e-06 6.863903373e-07 2.780953737e-05 0.0001166367465 -0.001990033398 0.06614146879 -0.07526775466 0.006975057864 -0.0001425697826 -8.300420285e-05 0.003372831115 0.0006748816187 -0.004061414444 -1.037948555e-05 -3.581018246e-05 2.185510087e-05 -0.0003284731458 0.0003321987123 -1.437161692e-06 -9.604693112e-07 8.208622162e-05 -0.0005547356818 0.0004475020292 -2.346623117e-06 -1.240403564e-05 -0.0001939280999 2.065742629e-05 0.0001770042901 -5.40391055e-08 -1.287642657e-07 2.456066321e-06 -2.766224803e-06 3.482860787e-07 -8.816561831e-08 -7.690128311e-08 -3.430748533e-06 -3.643215106e-06 6.81410007e-06 2.387118355e-08 -1.931431495e-07 3.040322332e-06 -2.277476793e-05 1.830961465e-05 -4.217175651e-08 -4.774430665e-07 2.342694185e-05 -2.616342142e-05 1.834969817e-06 -3.253528401e-08 -2.030666121e-07 -1.300393933e-05 1.949091919e-06 1.056488751e-05 -6.858660243e-08 -9.569051654e-08 9.213358257e-06 -1.135368808e-05 1.771035041e-06 -2.139306524e-08 -1.703181872e-07 8.604215996e-06 -1.103816319e-05 2.101010913e-06 -1.567217019e-08 -1.404168458e-07 -7.399263723e-06 1.515566526e-06 5.547080096e-06 -0.1927511184 0.001402417603 0.002835110879 -2.704222162e-06 0.0006182617919 0.0001412732983 1.883220915e-05 3.782726762e-05 5.641830489e-05 3.757635345e-05 2.36315019e-05 2.136322672e-05 1.962589421e-05 -0.05979183443 0.01779410943 0.2078473978 5.082980324e-05 -0.0004677968501 0.001707994885 -1.928583468e-05 -0.0004560882431 0.002178816849 2.905446113e-05 -0.0001589664888 0.0005755703888 -0.0001502611367 1.983637891e-05 0.0006759946098 -7.858375624e-06 1.955426838e-05 3.701243415e-05 -6.261023235e-06 2.120810002e-06 1.964190291e-05 9.147273094e-07 -1.614621043e-05 6.597788419e-05 7.751676334e-05 -1.948222393e-05 1.375446403e-06 -1.003737577e-05 2.849374471e-06 3.913555097e-05 -5.768653051e-06 4.849512452e-06 2.156731436e-05 -4.464423889e-06 6.827266661e-06 1.897166464e-05 -6.343652959e-06 1.611191432e-06 2.52497445e-05 -0.00154888526 -0.0003140997488 0.06042218686 -0.08621715227 0.01734808316 -0.0002923063989 2.909868101e-06 0.003904844512 0.00166323628 -0.006106411021 -1.455874187e-05 -9.671494935e-06 2.420917805e-05 -0.0002232862209 0.000191062553 -0.0001650987689 0.0001224360201 5.768130749e-05 -0.0006225889468 0.0005191901726 7.124841836e-08 -2.38531964e-06 -0.0001715711413 3.019131868e-05 0.000122733157 1.514568457e-07 1.2517373e-07 -2.820971194e-06 3.646098993e-06 -6.519668246e-07 -5.613948155e-09 -3.061079176e-09 -1.862303986e-06 -7.327652641e-06 7.843078907e-06 1.641696089e-08 -3.101604972e-07 7.239390879e-06 -4.089122721e-05 2.924291342e-05 -2.091688306e-07 -3.150453298e-07 1.695557392e-05 -2.243589411e-05 2.976511146e-06 -7.90135552e-08 -8.804939561e-08 -1.128731195e-05 3.213605083e-06 6.813536859e-06 -1.318168045e-07 -3.295472202e-08 8.072346629e-06 -1.280467782e-05 3.554883501e-06 -1.306679315e-07 -5.87423405e-08 8.237502742e-06 -1.271578554e-05 3.317643169e-06 -6.902106244e-08 -6.754450937e-08 -5.944282468e-06 4.25730372e-06 7.108279751e-07 -0.3231284777 -0.008771257858 -0.02211143554 -0.002627389903 0.003423479474 -0.0006004980192 0.0001577881829 -0.0002047424553 0.0002002173849 -6.754360125e-05 5.347229048e-05 -2.372482861e-05 2.694541117e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.339245372 0.0461638881 -0.0001401468316 0.00245542731 0.0001472799532 2.028152886e-05 0.0001235990406 9.365828157e-07 1.105814386e-05 2.042711277e-05 6.01476313e-06 8.485154435e-06 8.924819593e-06 0.02351069372 -0.04126140653 -0.06409428778 -0.02923855825 -0.01057803392 0.008477064268 -0.003258756289 -0.001547684326 0.001075041677 -0.0001361234719 -8.337812681e-05 5.091811388e-05 8.857119611e-05 -0.000262850265 4.402266571e-05 2.208200738e-05 -2.895651903e-05 -8.941250331e-05 4.245877117e-06 -6.063899852e-06 -1.26471596e-05 3.732772023e-08 -1.215755607e-07 -2.165985887e-08 2.359135574e-06 -1.409342968e-05 -5.414753198e-06 -5.267327228e-06 -3.546188826e-06 1.981350916e-06 1.383455597e-06 -4.221498808e-06 7.400145763e-07 -7.225643547e-07 -5.325027315e-06 1.47847858e-06 8.794069651e-07 -1.40815183e-06 -2.8490649e-06 9.637300635e-19 8.697061292e-07 0.007884521466 -0.008829421243 -0.02469547044 -5.915817366e-19 8.242394074e-07 0.007966980829 -0.006653794403 -0.02245482537 6.85791786e-20 2.711572012e-07 -0.004691822536 -0.002458326042 0.001329701476 5.513106297e-22 5.776160037e-09 -8.138670494e-05 -4.68196928e-05 2.933200077e-05 -1.487813835e-22 6.375081399e-10 -4.612733443e-06 -1.206042597e-05 4.726761286e-06 5.128326526e-22 3.672264657e-09 4.879394189e-05 -0.000249048347 6.545965657e-05 -1.096563078e-23 1.127918321e-11 5.13672979e-07 2.934991846e-07 -1.59333674e-07 -7.422721887e-24 -1.140101677e-11 2.880731962e-07 5.286734009e-07 -1.994490006e-07 8.720534623e-22 4.155729131e-11 3.481943823e-06 -7.388785473e-06 -6.396687358e-06 -7.38922766e-24 -1.745525621e-13 3.771644477e-08 -7.129212216e-08 -2.824344166e-07 -2.330544628e-23 7.958694079e-11 -1.165243422e-06 -7.195430351e-07 3.655100004e-07 3.285181949e-23 4.502175093e-11 9.82895072e-07 -4.536194103e-06 7.8850747e-07 -1.311484891e-23 3.265863378e-11 -1.225778225e-07 -6.629948053e-07 1.980594521e-08 -0.2034980027 0.0006073264727 0.003395175789 8.317802147e-05 0.0006801040039 9.997443318e-05 1.148152229e-05 4.257404928e-05 5.934684993e-05 3.187227511e-05 1.966865563e-05 2.069797318e-05 1.923190137e-05 -0.02903157792 -0.03078399004 0.1873476758 -0.0004004799488 -0.000323151247 0.003207643706 -0.000311520957 -0.0002485707453 0.00176515335 -0.0001896574985 -5.560134471e-05 0.0007747048923 -6.00352228e-05 -0.0001138754186 0.0005474871402 1.189536359e-05 1.741006657e-07 6.686927516e-06 -2.565423299e-06 -2.397933619e-06 1.563642022e-05 -1.549440275e-05 -3.478475497e-06 6.344933969e-05 -6.744996734e-06 -1.288250483e-05 6.117689619e-05 -2.472203204e-06 -6.953410955e-06 2.905188484e-05 2.019746925e-05 -1.344336342e-06 -4.87670625e-06 -2.736433017e-06 -4.528375508e-06 2.274111198e-05 -2.158542889e-06 -4.680704894e-06 2.130241243e-05 0.0006045947045 -0.003405262716 0.03233726078 -0.02597599428 -0.04978537718 0.0002449899898 -0.0009141951161 0.003773583734 -0.006237654324 -0.002087245807 8.754185323e-06 -3.08854102e-05 5.515399139e-05 -7.499954073e-05 -3.548692336e-05 8.79351017e-05 -0.0005284839816 -8.244038185e-05 -0.0003485820009 0.0003597385102 2.5782356e-06 -8.072695037e-06 -2.980681838e-05 -7.548191118e-05 4.563774444e-05 -4.381868354e-08 1.636874358e-07 1.327520629e-07 5.528922526e-07 -3.353514853e-07 5.959957477e-06 -1.962263673e-05 9.547683625e-08 -7.031744931e-07 5.84943828e-06 -2.265823976e-06 6.805604671e-07 1.783914486e-05 -4.285416715e-05 1.550909091e-06 1.427617102e-07 -4.380916773e-07 -5.175067353e-06 -1.310101289e-05 7.764921467e-06 6.176221411e-08 -1.924500796e-07 2.982791587e-06 -1.704281283e-06 -5.763307776e-06 -2.127176507e-07 -1.186807719e-07 4.212414094e-06 -4.770883019e-06 -5.064381954e-06 -2.822484259e-08 -1.513013019e-07 -6.150859512e-06 -4.178422318e-06 4.335672354e-06 6.523917103e-08 -2.285785365e-07 2.902099055e-06 -1.876652642e-06 -5.133263517e-06 -0.2923646555 -0.03930565248 -0.01570979229 0.0005176938348 0.002856578549 -0.00112562096 0.0003882258059 -0.0001672468958 0.0001827020972 -9.095785466e-05 7.45032819e-05 -2.527024408e-05 2.812833732e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1736628217 0.004771513001 0.001891291843 1.013589284e-06 0.000491196096 0.000246210902 4.794576287e-05 3.259525547e-05 4.996487816e-05 4.902680695e-05 3.341474428e-05 2.338015454e-05 2.059360129e-05 0.01628043317 -0.06994465443 0.2011101291 -7.484132654e-06 4.567928968e-06 1.962991134e-05 -0.000833901595 0.0002745237278 0.002217172533 -7.350109818e-05 2.526499347e-05 0.0002022079143 5.961055976e-05 -0.0002841825586 0.0007910367592 3.839295208e-07 -4.230615858e-05 0.0001736679382 1.298389455e-06 -8.330353625e-06 2.732563244e-05 -1.819534881e-05 8.5720281e-06 4.605398142e-05 7.218315119e-05 1.677074044e-05 -2.947726035e-05 4.018657767e-06 -2.072234328e-05 5.866991905e-05 8.082628338e-07 -1.153914707e-05 3.540157643e-05 2.172768697e-07 -8.895664607e-06 3.042933889e-05 2.085696385e-06 -1.038932242e-05 2.927828395e-05 -0.002643758336 0.0003658834391 0.04751826675 0.03689761449 -0.108770685 -0.0002220087166 -2.069841683e-06 0.002452027441 -0.004166433407 0.0008962975852 -0.0001344092184 2.280411669e-05 -0.0007092840782 0.0003615262438 0.0002603417108 -0.0001842198718 -0.00012790958 -0.0002020697725 0.0001358398481 0.0002470496521 -3.259736017e-06 1.713457828e-06 0.0001290004409 -0.0003991056459 0.0001772650591 -1.844424154e-06 7.747115336e-07 9.360164112e-06 1.218351388e-05 -2.816307e-05 -8.898877544e-09 6.642547873e-09 -1.031664708e-05 3.414565084e-06 4.523597865e-06 -4.819976204e-07 1.868368007e-07 -3.294259188e-05 1.467975466e-05 1.006303383e-05 -1.056369876e-06 3.645026137e-07 1.009041925e-05 2.538903551e-05 -4.583318807e-05 -3.050036638e-07 1.430248423e-07 6.173756007e-06 -2.825865588e-05 1.557811519e-05 -2.624637666e-07 3.570859743e-08 7.06475402e-06 2.770821762e-06 -1.340241236e-05 -2.860096633e-07 6.404316754e-08 6.546863954e-06 2.647157168e-06 -1.244103366e-05 -2.396815513e-07 8.092853456e-08 1.369501418e-06 -1.016662448e-05 5.191201644e-06 -0.2923646555 -0.03930565248 -0.01570979229 0.0005176938348 0.002856578549 -0.00112562096 0.0003882258059 -0.0001672468958 0.0001827020972 -9.095785466e-05 7.45032819e-05 -2.527024408e-05 2.812833732e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.3456867356 0.05213546697 0.0001332296383 0.002345433966 0.0002267453386 4.405370157e-05 0.0001170270692 3.965832163e-07 1.471035752e-05 1.89984152e-05 4.750653513e-06 9.018883294e-06 8.772839712e-06 0.03467966318 -0.1564714067 0.03754795429 0.01596110972 -0.06521295309 0.01470903453 0.002246897878 -0.009051668255 0.001994358331 5.40452359e-05 -0.0002173760626 4.648543949e-05 -0.0001795619959 -5.014399016e-08 4.378306024e-05 5.33168493e-05 -0.0002368677619 5.529833013e-05 4.047337196e-06 -1.854063841e-05 4.628136377e-06 2.152692383e-08 -9.874730645e-08 1.141467019e-08 2.175032967e-07 1.776950575e-05 -3.908529183e-05 2.595400044e-06 -1.093160009e-05 2.434719706e-06 -2.991300308e-06 1.628991817e-07 6.72279768e-07 -9.571669468e-06 3.664914128e-06 9.05159109e-07 1.28908001e-06 -5.612558627e-06 1.312370823e-06 2.803573013e-20 9.139359764e-07 0.01018324015 -0.04565693144 0.01283717906 1.33560206e-18 8.525975126e-07 0.007338161053 -0.03997781169 0.01290005221 -2.987335677e-19 2.724382947e-07 0.002824607203 -0.01192189129 0.003133978635 8.637028528e-22 4.276471817e-09 0.0001196213535 -0.0004492078919 0.000103282027 -4.514301264e-22 7.731511123e-10 -1.228067251e-05 4.700984291e-06 1.4455911e-06 3.900903391e-21 3.752850184e-09 4.226526992e-05 6.851433029e-05 -0.0002436151861 -2.124218638e-22 1.925815435e-12 1.894267136e-06 -7.84492492e-06 1.965611591e-06 -3.644577969e-23 3.557476632e-11 1.871475129e-07 -8.879693093e-07 2.063850426e-07 -2.814075414e-22 4.356903449e-11 3.671980304e-06 -1.739471418e-05 4.439972904e-06 -9.600664281e-26 -6.131215831e-14 4.477137672e-08 -2.274664064e-07 5.507872237e-08 -1.884904298e-22 7.582820943e-11 8.446029765e-07 -3.56777697e-06 9.056690547e-07 5.239719351e-23 4.632835351e-11 9.341599377e-07 -2.631172683e-06 -9.917520342e-07 3.862120259e-23 3.533529704e-11 -1.233788039e-06 6.226772082e-07 7.597216784e-10 -0.2088407091 0.0003610146078 0.003626226359 0.000146229541 0.0006979357983 8.079751181e-05 9.03821709e-06 4.625825904e-05 5.981312156e-05 2.881963965e-05 1.808205541e-05 2.063949331e-05 1.902449992e-05 -0.08085533977 0.02328581493 0.1869680012 0.0001130021701 -0.00224215111 0.005529820631 0.0001972774236 -0.0007362726616 0.0016803913 0.0001301572409 -0.0004339798413 0.000943352217 -0.0002303604723 6.724094612e-05 0.0005113558023 1.12613316e-05 5.637036463e-07 6.643274707e-07 1.899454347e-06 -7.326253843e-06 1.692967879e-05 6.644732544e-06 -3.316795409e-05 7.481316962e-05 -2.541361739e-05 8.686175269e-06 5.580639722e-05 -1.159714917e-05 4.674033386e-06 2.451962849e-05 2.077273201e-05 -9.404485892e-06 2.420022648e-06 -1.003706073e-05 3.085655115e-06 2.236754418e-05 -8.53687301e-06 4.332372552e-06 1.803490375e-05 -0.0006983910316 -0.001749236948 0.03427496616 -0.1077262063 0.03150861219 -0.000903661384 0.0002667335754 0.004020586648 0.004601367449 -0.01377958775 -1.669016183e-05 4.715117121e-06 3.676934807e-05 3.187391071e-05 -0.0001060073909 -0.0007209589871 0.0002171023186 -0.0006781337024 0.0002175241066 0.0004213392308 -5.306587653e-06 5.207219616e-07 -0.0001189167097 3.576170555e-05 3.86486781e-05 -3.109721981e-07 6.865346942e-08 -1.662672993e-06 5.520740482e-07 5.786510429e-07 -2.004689507e-05 4.77828767e-06 -2.541260122e-07 -2.834777166e-06 8.169896889e-06 -7.234069059e-08 -1.27759657e-06 1.892786429e-05 2.167315487e-05 -6.480743762e-05 -2.637581575e-07 -9.885561291e-09 -2.222850436e-05 7.11989399e-06 6.464337967e-06 -1.335168653e-07 1.238672863e-08 3.32733661e-06 -9.513653742e-06 2.555371698e-06 1.410215621e-07 -4.32798372e-07 4.370163518e-06 3.551100135e-06 -1.350172989e-05 2.520878013e-08 -1.826220395e-07 -1.367601373e-05 3.146746704e-06 4.674050528e-06 -9.048830345e-08 -4.855984274e-08 3.110528996e-06 -9.422273668e-06 2.687533261e-06 -0.1702451467 0.005504231152 0.001718687487 1.079948949e-05 0.0004626754064 0.0002639524962 5.661632269e-05 3.256033465e-05 4.833736982e-05 5.06364813e-05 3.56238809e-05 2.405946204e-05 2.083892649e-05 0.01927229475 -0.06982428256 0.2047019434 -3.515097226e-06 1.678016951e-06 9.737380341e-06 -0.0007753403979 0.0002437958129 0.002254575691 -5.818410659e-05 2.100750672e-05 0.0001672699822 7.61460649e-05 -0.000270927608 0.0007909876947 1.267681351e-05 -7.190000046e-05 0.0002184915267 2.880935569e-06 -1.087847511e-05 3.265530893e-05 -1.676710868e-05 6.100069126e-06 4.762811135e-05 7.753575209e-05 1.287618602e-05 -2.824864173e-05 4.060251375e-06 -2.10762071e-05 6.355767572e-05 2.013576974e-06 -1.25711561e-05 3.843773683e-05 1.023855603e-07 -1.010298898e-05 3.356416573e-05 2.315417483e-06 -1.008454859e-05 3.002974044e-05 -0.003207811666 0.001199393092 0.05499971505 0.03867453926 -0.1102203565 -0.0002191821722 5.117761782e-05 0.002294211859 -0.00354391283 0.0007962448155 -0.000154569066 4.19709888e-05 -0.0007667826911 0.0002617827756 0.0004670270808 -8.348048831e-06 3.607501315e-07 -0.000478962235 0.0001587323304 0.0002475106674 -1.709366386e-05 9.025141946e-06 0.0001289303438 -0.00040943281 0.0002188101231 -2.299486892e-06 1.778533178e-06 1.896165997e-05 1.718890549e-05 -4.31988726e-05 -2.249230351e-07 7.040784494e-08 -9.2497597e-06 2.47055324e-06 5.255786213e-06 -2.554794772e-07 1.137535654e-07 -3.099484971e-05 2.229445089e-05 3.382214403e-06 -1.038243805e-06 2.946799423e-07 2.286515779e-05 1.764289905e-05 -4.7714927e-05 -4.467107056e-07 2.255552787e-07 7.585091154e-06 -3.088641841e-05 1.840060932e-05 -2.70410146e-07 8.746602732e-08 7.278432226e-06 6.065107072e-06 -1.592465142e-05 -3.262423092e-07 1.195824824e-07 7.600358424e-06 4.252437029e-06 -1.40863496e-05 -2.770058125e-07 1.17573544e-07 2.574604457e-06 -1.637927331e-05 1.123449881e-05 -0.2982338823 -0.03407332044 -0.01728749538 4.858830819e-05 0.003032666556 -0.001049962232 0.0003287706008 -0.0001674262674 0.0001888536356 -8.806641114e-05 6.988312475e-05 -2.455675072e-05 2.77971979e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2982338823 -0.03407332044 -0.01728749538 4.858830819e-05 0.003032666556 -0.001049962232 0.0003287706008 -0.0001674262674 0.0001888536356 -8.806641114e-05 6.988312475e-05 -2.455675072e-05 2.77971979e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.3490759323 0.05536441965 0.0002935776124 0.002246780408 0.0002637560649 5.811114959e-05 0.0001096562527 1.843421996e-07 1.702729469e-05 1.766622127e-05 4.227268722e-06 9.309101004e-06 8.473248303e-06 0.04299045342 0.1785823255 0.01737917522 0.01008586453 0.06716289591 0.02416091646 0.001350608796 0.01080516105 0.003024425691 1.788466466e-05 0.0001715647067 4.058243113e-05 8.741613715e-05 0.0002394348423 4.381700835e-05 0.0001284002341 0.00023682042 3.912934065e-05 3.905180867e-06 1.348988499e-05 1.705622123e-06 4.613016815e-08 2.930413861e-07 2.106293986e-09 2.308706378e-07 1.103668413e-05 5.236298303e-05 1.030568841e-06 1.073432973e-05 2.85754636e-06 1.708992858e-06 4.126336623e-06 8.029789513e-07 1.101531393e-05 2.778148064e-06 7.23691599e-07 1.982552811e-06 5.111664482e-06 6.314671911e-07 -1.221473292e-18 9.390422512e-07 0.01456323788 0.04588284392 0.007753935727 -1.178275386e-18 8.69254848e-07 0.01122976266 0.04117371809 0.008785037369 -6.972761261e-19 2.742342491e-07 0.001516248636 0.0135023112 0.00432339526 4.795555309e-20 4.079992972e-09 7.90564037e-05 0.0006792423914 0.0001751543347 1.010849545e-22 1.100141528e-09 6.50448759e-06 1.275137516e-06 7.625489632e-07 -1.55756864e-20 3.830567265e-09 4.526673315e-05 0.0002001298712 0.0001652049222 -8.789164389e-24 2.455756584e-12 1.461953074e-06 1.241895262e-05 5.282241184e-06 -2.816926388e-23 2.044560308e-11 1.197233956e-07 3.209705489e-06 6.430144736e-07 5.869853508e-22 4.498927705e-11 4.081211029e-06 2.123997692e-05 1.394358209e-06 7.652903827e-25 3.071938293e-13 7.43766877e-08 6.416618951e-08 1.413378303e-08 3.532251768e-22 7.451224647e-11 4.606320709e-07 4.203671496e-06 1.775800114e-06 -6.473230898e-23 4.754714778e-11 1.013511031e-06 6.957545656e-06 1.426047586e-07 2.054694795e-23 3.633435866e-11 1.41048389e-06 4.256937683e-07 2.229114543e-10 -0.2111385529 0.0002502589398 0.003704876918 0.0001751567328 0.0007001983574 7.20978147e-05 8.348941385e-06 4.806207519e-05 5.948432344e-05 2.74495913e-05 1.757740758e-05 2.06425939e-05 1.886039875e-05 0.1129762843 0.008595200362 0.1870256528 6.494371167e-05 0.001788274202 0.007167065223 7.775309771e-05 0.0008983530725 0.001634090191 8.897109051e-05 0.0005173695232 0.001020765151 0.0002656164724 3.235474207e-05 0.000492763124 2.290290185e-05 1.012750376e-08 5.761426504e-07 7.59170391e-07 1.015430799e-05 1.825506845e-05 5.13558356e-06 3.233908311e-05 8.062054712e-05 3.189749656e-05 4.113703024e-06 5.308379962e-05 1.423090539e-05 2.547401155e-06 2.298497235e-05 2.116985606e-05 1.015235691e-05 1.591789523e-06 1.274804803e-05 1.438166702e-06 2.230682921e-05 1.309188476e-05 2.082855143e-06 1.675087699e-05 0.0001022194919 0.004851481475 0.03523394399 0.1307232481 0.01589591971 0.0006383623055 0.0007385145906 0.00419265014 0.002928276136 0.01731354941 7.970123633e-06 1.05597988e-05 2.812480841e-05 1.26981632e-05 9.603615437e-05 0.000631254414 0.0003437375522 0.0007811224195 0.000154454011 0.0004558651595 2.751684532e-06 4.564739814e-06 0.0001199740406 1.771212898e-05 3.541701713e-05 3.521793916e-07 3.055699708e-07 2.858324664e-06 5.677589066e-07 9.124355116e-07 1.398817272e-05 1.984522172e-05 1.320290278e-07 3.852554535e-06 9.703840533e-06 2.320433299e-06 5.21582621e-07 1.946951211e-05 2.309545909e-05 6.360521264e-05 1.224883174e-07 3.33070038e-07 2.441933314e-05 3.716980366e-06 6.025750434e-06 7.197196249e-08 1.340207383e-07 3.539335318e-06 9.578481319e-06 1.545254798e-06 6.840521312e-08 5.330386251e-07 4.471994544e-06 1.247318597e-06 1.880633902e-05 2.628189063e-09 3.121953147e-07 1.922374149e-05 8.861668468e-07 4.893717928e-06 2.730509758e-08 2.500141796e-07 3.228829711e-06 1.023585877e-05 1.529443301e-06 -0.1728489752 0.005025460494 0.001870168735 6.80023261e-06 0.0004875037629 0.0002533280534 5.054186489e-05 3.207028623e-05 4.953201803e-05 4.977919565e-05 3.412306679e-05 2.341946529e-05 2.055272272e-05 0.02342329467 0.06637355951 0.2059320716 2.962882065e-05 2.342526399e-05 0.0001019749993 0.0008600893318 0.0001805180819 0.00231128395 6.056705105e-05 3.558867894e-05 0.0002048925846 7.586014617e-05 0.0002700466191 0.0008015598394 1.692452633e-05 6.575203369e-05 0.0001959927621 4.610541614e-06 8.230315889e-06 2.88994692e-05 1.609908977e-05 6.864202672e-06 4.868304123e-05 7.872457075e-05 1.279505011e-05 2.853291173e-05 5.11296306e-06 1.994966827e-05 6.097701046e-05 2.908879261e-06 1.20099409e-05 3.539206187e-05 2.309815101e-07 1.489427921e-05 2.865306488e-05 2.862912894e-06 9.635642139e-06 2.973943736e-05 0.003012169338 0.001281454864 0.05679341979 0.04878849981 0.09909228133 0.0003622639091 1.40388518e-05 0.002499101601 0.003851618267 0.001274373718 0.0001640616598 2.36807214e-05 0.0006857432436 0.0002947824399 0.0004547503667 9.693900932e-06 7.147945049e-08 0.000455253416 0.0002633514039 0.0002830026714 1.930329514e-05 6.925107154e-06 0.0001594483841 0.0003597212664 0.0002160342489 2.525718487e-06 9.63843588e-07 1.662786992e-05 2.036760047e-05 2.932675266e-05 3.083774029e-07 2.281306404e-08 1.161372512e-05 8.763497095e-07 5.035114794e-06 2.310771417e-07 1.429045673e-07 2.270262891e-05 3.811415407e-05 3.957011472e-06 1.075939369e-06 2.306591564e-07 2.317644023e-05 2.057242538e-05 4.3288717e-05 4.75447827e-07 1.664594931e-07 9.632403582e-06 2.728165705e-05 1.666700514e-05 3.472874057e-07 3.634921943e-08 7.723825037e-06 1.011771286e-05 1.155037599e-05 3.442519165e-07 9.046616885e-08 7.896581178e-06 7.717883271e-06 1.093730571e-05 2.903366532e-07 9.19478165e-08 3.250887506e-06 1.718607669e-05 9.168984217e-06 -0.1798585283 0.003776545821 0.002264665482 5.990200201e-08 0.0005494585742 0.0002204176143 3.624669494e-05 3.213911362e-05 5.292363394e-05 4.666465451e-05 3.002215617e-05 2.211566002e-05 2.007165937e-05 0.0396410139 0.05583493377 0.2037707875 0.0001013073003 0.0001853860965 0.0004807186027 0.0008292147926 0.0002577811377 0.00234480549 8.191597714e-05 6.917369696e-05 0.000315317469 7.483799207e-05 0.0002648570844 0.0008059495438 3.097959199e-06 0.0001122585311 9.553555055e-05 6.113121587e-06 3.941394741e-06 2.121537417e-05 1.652304358e-05 1.045375054e-05 5.000640057e-05 7.603843764e-05 2.090451494e-05 2.460648516e-05 6.703422307e-06 1.727100423e-05 5.339523504e-05 2.414024072e-06 1.434600668e-05 2.681032686e-05 1.099789816e-06 1.799098061e-05 2.216557308e-05 3.485957949e-06 9.230992582e-06 2.875704919e-05 0.004241426798 3.659372847e-05 0.05129381317 0.06640175477 0.08377340442 0.0005027268721 1.482447139e-08 0.00302805727 0.005042608039 0.002180184694 0.0001452688826 4.313076185e-06 0.000513986661 0.0004381130388 0.0002533952419 0.0003402792188 5.91412117e-05 0.000185720211 0.0003467173888 0.0003475572212 3.123304551e-06 1.669546835e-06 0.0001938312295 0.0002883880489 0.0001791048555 1.643465829e-06 1.686402555e-07 6.913128098e-06 1.542950128e-05 1.02721076e-05 1.417088938e-08 2.152963463e-09 1.048162415e-05 2.1001271e-06 4.580648568e-06 4.552329448e-07 1.849455502e-07 2.412777466e-05 3.606718849e-05 1.453087153e-05 1.23610905e-06 1.468935516e-07 1.096850471e-05 3.547192081e-05 3.366553716e-05 3.770576346e-07 5.309994822e-08 1.010251606e-05 2.114581057e-05 1.224938593e-05 3.834533331e-07 3.942343512e-09 7.567779589e-06 1.169660586e-05 7.151693269e-06 4.076161677e-07 1.21200207e-08 7.820386957e-06 1.065344864e-05 7.169029668e-06 3.029560694e-07 2.627468319e-08 2.316602442e-06 2.358584894e-05 1.028630309e-06 -0.4945189387 0.307421443 0.1319654046 0.03941143222 0.01673841645 0.005001509027 0.002982067969 0.0008721944031 0.0006739086684 0.0001662005827 0.000162668234 2.726728507e-05 3.849627959e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/vdrpre_ref.dat b/tests/09_DeePKS/100_NO_GO_deepks_UT/vdrpre_ref.dat deleted file mode 100644 index 974bec83c4..0000000000 --- a/tests/09_DeePKS/100_NO_GO_deepks_UT/vdrpre_ref.dat +++ /dev/null @@ -1,320 +0,0 @@ -0.5369422513 0.361355308 0.08806486249 0.007772916604 8.788509417e-07 0.001604132141 0.001646040214 0.001417420272 0.0005874826666 0.000323393403 6.739768939e-05 3.730466906e-05 7.821295808e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4111961024 0.1045932971 0.002938612415 0.0002585986251 2.803941655e-05 2.824310234e-06 1.223806671e-05 4.648947686e-05 2.426817232e-07 1.050701256e-05 6.649769568e-06 2.428960115e-06 3.897510767e-06 4.499533096e-05 7.651803104e-05 0.2324928602 0.005546926526 0.001719066082 0.1078198088 5.003549893e-08 4.376328718e-08 0.01167948385 1.760546042e-10 3.523296964e-11 7.781550349e-06 2.887072939e-12 4.241473859e-11 5.182906798e-05 4.054744646e-05 1.849758353e-05 2.207546682e-05 3.750593258e-10 4.825684639e-10 0.0001375892133 1.659328204e-08 3.036800169e-09 2.734979601e-06 1.701774627e-10 4.630856027e-10 4.567875977e-07 1.430858611e-08 6.740791277e-08 1.949299199e-05 1.394510305e-06 9.035759123e-11 1.54664256e-09 1.835300388e-10 5.242770594e-10 2.454176723e-06 1.293535445e-08 3.840644273e-08 2.882368895e-06 1.286359447e-10 2.759626626e-07 0.0530805995 2.631765605e-07 6.296496047e-07 3.069307815e-08 1.038788118e-06 0.0374986799 8.141996781e-05 1.835681971e-05 1.34710367e-11 2.505653681e-07 0.005395846684 1.550895126e-06 4.412790785e-07 1.019109413e-12 1.411094982e-10 8.873487342e-12 2.99420732e-11 5.809188105e-06 1.989469246e-14 1.904845815e-10 4.683580031e-10 1.628676596e-09 1.863940089e-05 9.524748335e-15 3.240423092e-10 4.505158859e-10 3.275146042e-09 2.354704573e-05 4.200797305e-11 8.54540284e-08 2.89900501e-09 4.032855794e-09 0.0001613157087 1.262648455e-11 1.832167935e-10 2.543252663e-05 7.304982532e-09 1.206128628e-09 4.828168325e-15 2.325443253e-11 5.436150566e-10 2.411669877e-09 3.828786289e-06 5.255616224e-14 7.745993587e-11 6.688752503e-06 7.747999493e-09 3.686521165e-08 5.285921641e-19 1.490775309e-17 6.96663527e-12 1.018033145e-15 1.0892107e-15 5.042913785e-15 2.741406386e-12 2.087712493e-11 4.289640801e-11 1.486677624e-06 2.799675143e-12 7.243512443e-11 8.009251478e-07 2.129440168e-10 1.097040318e-09 -0.3571837143 0.04594233597 4.194947207e-05 0.0006854350876 3.529990994e-05 4.187841868e-05 1.891164406e-06 3.616284222e-05 1.972396669e-05 2.046569329e-06 9.085400341e-06 6.970606024e-06 4.332908976e-06 0.0001657962212 8.734714524e-06 0.2956016773 3.06810362e-05 0.0005337537581 0.09172154651 1.349061928e-12 3.486796587e-09 0.003394208277 4.576252702e-09 7.010014182e-08 0.0001260161331 8.012188111e-08 7.60828551e-11 0.000158866469 8.5570477e-09 1.187715766e-09 1.282403762e-06 7.016214662e-13 1.98302248e-13 2.095009272e-09 1.008615989e-10 3.897257862e-08 8.772202805e-05 2.608316612e-06 1.059976368e-08 1.674220144e-11 1.634966749e-08 9.387733571e-10 3.069542895e-06 1.086301885e-07 1.663622502e-08 1.280675993e-05 3.580948329e-07 8.702079144e-08 4.846015998e-06 1.171464892e-08 5.542001185e-10 4.639881869e-06 7.020644708e-08 9.118311347e-06 0.09883067165 0.000145375122 5.352871486e-06 5.311473945e-09 1.217326028e-06 0.04684641534 6.142794534e-05 0.0006350712431 1.404101705e-11 1.114587626e-07 6.960213852e-10 5.816030314e-07 0.003680485533 1.462401967e-14 1.122481237e-10 3.512331833e-10 3.746141286e-09 1.527197824e-05 1.666449674e-12 7.716826922e-10 5.827775265e-10 1.659047094e-12 0.0001427097302 6.358267375e-10 3.451244404e-07 9.348045663e-05 1.142929468e-06 6.637462505e-08 5.900000548e-14 1.422065187e-11 1.991540917e-10 2.947930668e-10 3.131571483e-05 1.558602943e-15 2.089965836e-10 4.859056753e-07 1.048555417e-05 2.991066301e-05 1.807227297e-13 1.945247727e-09 1.636612602e-06 5.799831917e-09 5.941155621e-11 2.536038875e-14 4.730311249e-10 4.23195607e-08 4.07152204e-09 5.375373736e-06 1.919579332e-11 1.459003856e-09 5.371382538e-06 4.993759058e-08 1.081764688e-08 1.528346305e-13 2.254071279e-10 1.557409374e-06 5.197306625e-11 3.504617755e-10 3.311987476e-14 2.727137423e-10 9.673804116e-08 1.664046282e-08 1.965437509e-06 -0.3710303663 0.05838053236 4.385531457e-05 0.0006265680254 3.370249515e-05 2.052925908e-05 1.364119962e-06 5.061039481e-05 9.795733219e-06 2.000365404e-06 1.051938342e-05 5.380955428e-06 3.962190445e-06 0.0001793810263 0.0001671193316 0.2814506376 0.0003769717748 0.00177335376 0.09807257119 6.395558111e-10 1.067646664e-08 0.005110708494 6.883029775e-09 3.093808819e-08 6.69216168e-05 6.887693383e-07 3.021894362e-08 0.0001449911777 1.251592279e-06 2.211195015e-06 1.572591192e-05 2.256719707e-10 1.334042814e-09 6.766763423e-06 4.763416898e-09 3.808807411e-07 7.825843003e-05 2.434487692e-09 3.149328858e-11 5.338894602e-13 2.694610325e-08 8.183301231e-09 5.955552741e-06 2.633061748e-07 3.314985399e-07 1.051909271e-05 1.684012745e-07 2.39656096e-07 3.075802283e-06 1.776277039e-08 3.897675262e-09 4.143873513e-06 2.504939293e-07 8.439208443e-06 0.08623974959 0.0002083703217 1.564844204e-06 5.65326512e-10 3.531470211e-06 0.04530774979 0.0002867853429 0.0006992134199 1.53590895e-10 2.49986427e-07 1.906335793e-06 0.0001706340045 0.004126308543 1.604600584e-16 1.333813544e-09 4.283249095e-10 2.112792647e-09 1.215334934e-05 6.505463882e-13 2.582998249e-10 2.249473385e-08 3.261504863e-09 7.735382959e-05 1.151307721e-11 8.441490435e-12 0.0001114608642 4.658721438e-06 8.825006551e-07 7.140654479e-16 6.372822539e-11 1.1229061e-09 1.095384086e-08 7.718527254e-05 3.644039228e-13 6.516809039e-12 1.043391221e-07 6.471294111e-07 1.467201623e-05 2.512919873e-13 7.988679087e-10 2.490358871e-06 2.624213869e-07 5.172931969e-09 2.515909758e-13 1.201769375e-09 1.09560377e-07 5.331518796e-08 9.166399221e-06 2.570461134e-13 1.423848132e-09 3.014683215e-06 4.92816807e-10 2.784167227e-09 5.882233706e-14 9.960977767e-11 1.149199798e-06 1.587855423e-11 1.885854765e-09 1.788517667e-13 3.501893429e-10 2.113126863e-07 4.570871584e-07 1.117123524e-06 -0.3784191457 0.06572877955 0.0002045741552 0.0005780818668 3.281289235e-05 1.158326388e-05 5.655358153e-07 5.652919947e-05 5.545829289e-06 2.460984074e-06 1.085144809e-05 4.543362164e-06 3.870589663e-06 0.0003200242329 0.0001063043495 0.2732803108 0.0002288808186 0.003610460205 0.1001341719 1.281826822e-09 2.645342466e-09 0.006164673873 1.12163034e-09 1.780895369e-08 4.074901255e-05 1.014584589e-06 3.042829688e-08 0.0001326097329 1.85771794e-05 1.464919058e-05 1.295877362e-06 2.575118358e-10 8.935505369e-10 1.817734436e-05 5.872060746e-09 1.024088237e-06 6.551880362e-05 5.085738204e-07 1.771447645e-08 2.271314112e-10 4.28555407e-08 4.384422903e-09 8.447835176e-06 7.39139709e-07 4.133753207e-07 8.249505499e-06 7.672659773e-08 3.324878862e-08 2.737046287e-06 2.578140821e-08 1.760702062e-09 3.949883017e-06 1.455423091e-07 1.026150509e-05 0.07979532503 0.0001440770059 1.330618149e-06 3.007472109e-11 2.58533436e-06 0.04435885586 9.224346442e-05 0.0007895936338 2.501927663e-10 2.989628504e-07 0.004450884145 2.102739579e-05 0.0001216169886 2.185282026e-14 2.133284425e-09 9.674281004e-12 7.963761774e-10 1.07060519e-05 3.011663118e-15 2.868477828e-11 2.092391798e-08 1.144308871e-09 4.592749704e-05 6.089628835e-12 1.959322303e-08 5.648799032e-05 5.697888925e-05 2.649634143e-06 8.155032947e-13 9.971198676e-10 1.64920354e-10 3.995597199e-08 0.0001055708644 9.114783803e-14 1.167748111e-11 1.201795313e-08 1.525034231e-07 5.209230063e-06 1.28039654e-13 4.794171703e-10 2.990363228e-07 4.61056027e-07 1.494086918e-06 5.426509047e-13 2.011191582e-09 2.160525607e-07 3.616784018e-08 1.082993127e-05 1.646890491e-13 1.085737057e-09 1.842866387e-06 3.068237968e-12 7.44148547e-11 4.180862654e-14 8.435460749e-11 2.333420841e-10 1.79559779e-11 1.077653349e-06 2.45793431e-13 4.694470763e-10 4.660044275e-07 1.097041829e-06 5.733322185e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1247072494 0.1455533752 0.0176643581 -0.002223141877 -1.743349287e-05 -5.98932942e-05 -0.0001224078487 4.807066885e-05 -5.26958948e-07 -3.134082561e-05 4.656102286e-06 -3.95741862e-06 -5.952023084e-06 -4.025467466e-05 -0.0001417777207 -0.1660087585 0.001556473396 0.0003152416557 0.02098371504 7.482315052e-07 1.453757754e-07 0.02527943689 1.820982778e-08 2.846886685e-09 0.0006381929602 3.663077024e-11 6.362347844e-10 0.0006373981851 8.350769659e-05 3.836637368e-05 4.348816664e-05 -7.403013826e-10 -1.439737342e-09 -0.0004245880494 2.090770009e-07 3.480430682e-08 3.185920919e-05 4.392441656e-09 1.445268303e-08 1.153012312e-05 -2.47484115e-08 -1.335902735e-07 -3.339764966e-05 3.945635469e-07 -9.450206997e-12 3.987806129e-09 -1.045627729e-09 -4.578301213e-09 -1.309874308e-05 -2.855534113e-08 -9.566019727e-08 -6.197215575e-06 1.492921503e-08 -2.024215705e-08 -0.08463560633 -5.660972786e-07 5.036017862e-06 -8.075922419e-08 -1.618795799e-06 -0.03365321226 -0.0001343118245 -1.648251254e-05 -2.791313002e-10 1.547675185e-07 0.001647885608 -4.916248093e-06 5.509495572e-08 1.036849997e-10 -1.504356858e-08 -3.55862977e-10 -9.42781309e-09 -0.0003379962942 5.062333375e-12 -3.898342164e-09 -1.181441012e-08 -5.84047425e-08 -0.0004679332573 8.545542433e-14 4.274943079e-09 5.757221729e-09 5.89703913e-08 0.0003112521848 -3.065111847e-10 -2.2233065e-08 2.828995251e-09 -7.12342935e-10 8.018680583e-06 -1.267544182e-10 -7.545936956e-10 -5.9873114e-05 -1.945811741e-09 -3.853743751e-09 6.453619757e-13 -1.947355038e-10 -6.039164916e-09 -2.964820955e-08 -4.240586263e-05 -1.296286026e-12 1.736208508e-10 7.944622014e-06 9.081964716e-09 5.157407992e-08 1.284754305e-14 1.44366708e-14 8.356718098e-09 3.739352699e-12 1.639263484e-12 -8.653460028e-13 -8.662522712e-12 -7.882290691e-11 6.763835134e-11 -8.040947405e-06 1.13568735e-11 -3.24293446e-11 -1.100582263e-06 -2.978060858e-10 9.457355827e-11 --0.0422056279 -0.03067563485 0.0004625027748 0.0001653521882 0.0001270648232 -6.65760254e-05 -2.27435634e-06 3.312094668e-05 -6.432828701e-06 1.183012251e-06 6.053661424e-06 7.382895154e-07 1.383972041e-06 0.005733305446 6.950089567e-05 0.03412064181 -0.0001347843947 -0.005105817218 -0.01834406746 6.484264414e-09 3.753635488e-06 -0.005327837894 -1.500663674e-07 -6.180582638e-06 0.0005599041031 -1.885702211e-06 9.604646729e-11 8.318767896e-05 -9.912686994e-07 -1.903612958e-08 1.555327897e-05 -7.234139391e-09 -6.346581513e-10 -5.242048929e-07 -1.157895928e-09 -6.982158494e-07 3.254668235e-05 -2.081988351e-06 -6.016848578e-07 -1.142981327e-10 6.857531658e-07 1.136916094e-08 6.394681277e-06 1.330403744e-06 5.255322939e-08 6.641323361e-06 2.40064975e-06 4.318632466e-08 -6.962056183e-07 4.042527667e-07 5.149451444e-09 3.742183136e-06 -6.596027876e-07 -0.0001779969951 0.04000588468 -0.004901179346 -6.534902117e-05 -5.441644506e-07 2.258798089e-05 -0.005960921231 0.0001861707556 0.007450778675 -2.9644376e-09 3.038614005e-06 -1.759263541e-07 -0.0001068066494 -0.002972764335 5.46910013e-11 3.256540962e-08 1.995056373e-08 4.789274311e-07 0.0002192124748 -6.76772176e-10 1.446036914e-07 1.868496618e-07 7.251068438e-10 -0.0001869023972 -1.60259831e-09 -5.021276171e-07 9.488627069e-06 2.054306012e-05 5.920976816e-07 3.785601457e-11 -2.016511222e-09 -1.163854041e-08 -5.631539927e-08 7.321921556e-05 -1.957696273e-12 -8.231006161e-09 -4.570131157e-07 -1.049414586e-05 -4.540951526e-06 -1.682161828e-11 4.452004355e-08 -1.130929727e-06 4.910499358e-07 2.599745336e-09 7.269905087e-12 -1.342720099e-08 8.384194717e-07 2.541666174e-08 9.263375931e-06 -5.247960728e-10 -2.064631827e-08 2.074272729e-06 -6.812775623e-07 -5.249589831e-08 1.363694164e-11 -8.95162374e-09 1.356613406e-06 -2.613604938e-08 -1.142627587e-08 5.079984294e-12 -8.564504527e-09 1.050363832e-06 3.551326184e-08 1.579153616e-06 --0.04557100178 -0.03799167002 -0.0005813920887 0.0004125337955 0.0001158682819 -6.104256058e-05 -5.672778944e-06 3.35755256e-05 -7.326687299e-06 2.717643314e-06 5.63335013e-06 5.363091382e-08 1.956950862e-06 0.0059244481 0.001188984284 0.04060581207 -0.0009638723434 -0.01002743967 -0.01145286482 7.90794239e-08 8.210164402e-06 -0.007056140328 -1.808789024e-07 -2.833270473e-06 0.0005172650958 -6.244891302e-06 -5.431568497e-08 -1.942934563e-05 -1.180763966e-05 5.557670237e-06 5.619088786e-05 9.900522522e-08 9.863775116e-08 3.890918819e-05 -8.261350221e-09 -2.109074077e-06 6.333817448e-06 5.685014919e-09 3.476073212e-08 2.765399712e-10 8.095808561e-07 6.68163035e-08 1.17193427e-05 1.984662346e-06 4.135629192e-07 2.109637083e-06 1.677908674e-06 2.665265084e-07 1.082501343e-07 4.808417792e-07 2.734931771e-08 4.152129948e-06 -1.248014659e-05 -0.0001567122721 0.04219645738 -0.005593521745 -7.606926777e-05 -3.113677537e-07 3.95790334e-05 -0.003867480457 0.0006431152085 0.008011661206 1.747790486e-08 3.43776626e-06 -1.965886611e-05 -0.002115806785 -0.0008356915499 1.14474157e-10 5.002875942e-07 2.934987302e-08 7.542146518e-07 0.0002140990151 -1.603036537e-12 3.340150123e-08 5.889344691e-07 2.184092536e-08 -0.0002176668632 -3.071207798e-10 -1.901934178e-09 -7.261847071e-05 3.985988201e-05 3.853886916e-06 -1.285768313e-12 -7.428884159e-10 -1.205378408e-10 -2.404175316e-08 0.0001132704679 -5.874830966e-12 1.92077942e-09 -3.678203047e-07 -3.431205973e-06 -1.607776686e-05 1.027137757e-10 2.640792558e-08 -7.185288293e-06 2.658691402e-06 4.163493181e-08 -6.920847852e-11 -1.6862838e-08 1.064287811e-06 1.579489683e-07 1.125029865e-05 1.106375056e-10 -2.070061478e-08 -1.75201523e-07 -6.790761418e-08 -5.69082365e-08 -5.131370235e-11 -5.542972475e-09 1.872125795e-06 1.324670081e-08 -4.408804017e-08 -5.639894425e-11 -8.67703741e-09 1.453056893e-06 4.052678032e-07 5.200373572e-07 --0.0455184514 -0.04062316326 -0.001336055922 0.0005301890339 0.0001008759303 -4.866368628e-05 -4.919965647e-06 2.810715144e-05 -5.874477388e-06 3.861957614e-06 4.505745786e-06 -2.056866785e-08 2.200024385e-06 0.008103774324 0.0006391678735 0.04135197225 -0.0004719052857 -0.01515512382 -0.004805479586 -1.525763873e-08 4.573994304e-06 -0.007666828114 -2.457195221e-08 -1.581158599e-06 0.0004327043943 -7.910246942e-06 -5.295497473e-08 -7.737308226e-05 -1.493945738e-05 6.435678178e-05 5.189206263e-06 9.182761012e-08 6.225911643e-08 6.732613767e-05 -5.263769945e-09 -3.757220527e-06 -6.773910103e-06 -8.984689363e-07 8.259275559e-07 4.768978059e-09 9.763000747e-07 2.691155842e-08 1.436660615e-05 3.294498485e-06 9.682673732e-08 -9.753856621e-07 1.147705117e-06 8.387996213e-08 1.124662768e-06 5.73848728e-07 9.650526576e-09 3.972795791e-06 -7.187075701e-06 -0.000182658764 0.04028647605 -0.004631618971 3.934767654e-05 -4.623721011e-08 4.033101629e-05 -0.002569229815 0.0001810572101 0.008713647777 1.236457676e-08 3.342911088e-06 -0.004419367686 5.298982726e-06 0.001736820288 -1.404488608e-09 1.330874833e-06 6.560305807e-09 2.528548181e-07 0.0001992137719 -1.428212582e-11 -2.848190721e-09 1.247645416e-07 -1.666565698e-09 -0.0001927973671 -2.150106334e-10 4.772743241e-08 -0.0001401490002 6.858015054e-05 3.742580447e-06 -2.751456399e-11 1.585369222e-08 8.96340076e-10 2.562531859e-07 0.0001179489219 3.006268832e-11 2.995686191e-09 -9.393701294e-08 -1.981705857e-06 -1.167948447e-05 5.188660541e-11 2.00380133e-08 -3.905828405e-06 -5.989508084e-07 -1.455894514e-06 -6.780208855e-11 -2.010150737e-08 1.327695312e-06 6.885346282e-08 9.998050707e-06 6.715233367e-11 -1.971366221e-08 -5.066829328e-07 5.705001251e-09 -7.183516144e-09 -3.08701911e-11 -5.224590179e-09 -4.973354144e-08 2.544049993e-09 2.17173232e-06 -4.836450135e-11 -9.964492424e-09 2.060213036e-06 -4.067808541e-08 -2.365826534e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00244083346 0.002848844396 0.0003457357654 -4.351245903e-05 -3.412171541e-07 -1.172261895e-06 -2.395828425e-06 9.408634828e-07 -1.031390748e-08 -6.134185158e-07 9.113159266e-08 -7.745660201e-08 -1.16496011e-07 0.000887378457 0.004282433347 -0.008422582153 -0.02298852507 -0.0005391428887 0.02397500601 -3.16364662e-05 -6.853069144e-06 0.0005332889706 -1.891443669e-07 -9.98173452e-09 1.269057415e-05 -2.714642774e-10 -5.695305967e-09 1.248146012e-05 -5.180005491e-05 -2.303794188e-05 7.807455026e-05 -2.058450697e-08 -5.917823654e-09 -8.283792732e-06 -7.913027227e-07 -1.846949707e-08 1.43811017e-06 -1.679464545e-08 -1.367956104e-07 3.796325129e-07 7.058864632e-08 8.968268991e-07 -1.624190348e-06 1.907606242e-07 -4.425609334e-09 -1.785345508e-07 1.088151799e-08 8.821460009e-08 -3.555814276e-07 8.795888643e-08 6.350605342e-07 -8.467456728e-07 -6.961307146e-07 -2.57365483e-05 -0.001364904069 3.558426101e-05 -0.0003006910919 1.79678357e-06 3.649381663e-05 -0.003965081387 0.003056981052 0.0002081473282 1.171666402e-08 -4.087530787e-06 -0.0002571167241 0.0002686262669 2.472740206e-05 -3.65882049e-09 3.559515318e-07 2.175968027e-08 3.868842415e-07 -7.376855229e-06 -2.253060629e-10 -4.751737193e-08 7.072169659e-08 8.751514074e-07 -1.005820775e-05 -7.305231862e-12 -1.261877449e-10 -3.187911732e-08 -7.876347196e-07 6.912983322e-06 1.069832777e-08 1.437681555e-06 -1.344812828e-07 4.490822006e-08 -1.20226087e-06 5.437516977e-09 1.361545404e-08 -4.154213437e-07 -7.815715843e-07 5.942276772e-09 -2.91183907e-11 -3.462904095e-09 1.091783649e-08 1.4614323e-07 -9.842603599e-07 5.433682597e-11 -4.416719418e-09 5.689234753e-07 -1.920028607e-08 -3.886740763e-07 -6.067061903e-13 6.158308711e-13 3.227751062e-10 -1.236688995e-10 -3.544760441e-11 4.013433423e-11 -4.413370941e-10 -3.223545793e-09 -1.464828919e-08 -1.391088637e-07 -6.741428695e-10 -3.860231087e-09 6.801572978e-08 -4.840889836e-09 -8.01860098e-08 --0.1294773005 -0.0941058951 0.001418853687 0.0005072630364 0.0003898060783 -0.0002042401565 -6.977209769e-06 0.0001016075576 -1.973446046e-05 3.629213456e-06 1.857126119e-05 2.2649049e-06 4.245712546e-06 -0.001792844529 -1.904363329e-05 0.1242879785 1.768081802e-05 0.001201252171 -0.07357135223 -2.098876532e-09 -1.242229337e-06 -0.01633181958 1.175936002e-07 3.058936759e-06 0.00169506136 7.537665457e-07 1.184156261e-10 0.0002486624473 6.499429446e-07 5.16921696e-08 4.391291338e-05 1.7533015e-09 3.714772198e-11 -1.634071937e-06 5.124270403e-10 2.755863533e-07 9.742422583e-05 -8.392491683e-06 1.592678527e-07 -2.796099299e-11 -9.60458938e-08 3.567255086e-09 2.184852474e-05 -2.048834398e-07 1.775446096e-08 2.480380235e-05 -3.811053942e-07 8.31233061e-08 5.659316227e-06 -9.628881707e-08 -2.561175954e-11 1.283243734e-05 3.039757005e-07 6.891808607e-05 0.1050762486 0.001771273443 2.798145638e-05 1.776495179e-07 -7.217269677e-06 0.007621835946 -5.393189728e-05 -0.002351564351 9.107856081e-10 -1.306856131e-06 5.64623243e-08 3.316447052e-05 -0.0094705678 -1.699560964e-11 -5.137519868e-09 1.060558357e-08 2.677879209e-08 0.0006740924741 2.11411677e-10 -5.056389384e-08 -6.348871894e-08 -2.468302917e-10 -0.0005722431331 1.193394914e-09 5.34975315e-07 9.745475243e-05 -5.466357309e-06 -1.230628467e-07 -1.183288764e-11 7.702507074e-10 5.358616387e-09 2.069833073e-08 0.0002243786055 6.428741376e-13 2.413944559e-09 -4.757663664e-07 -1.007167227e-05 -3.700651655e-05 5.116276052e-12 -1.689290982e-08 -1.633527496e-06 -1.671547187e-07 -9.349336293e-10 -2.173351912e-12 7.371753051e-09 -5.391825365e-09 1.741843062e-08 3.100742579e-05 1.861116219e-10 7.934051539e-09 3.749967927e-06 2.631894889e-07 2.612217138e-08 -3.933817243e-12 3.561444933e-09 4.002161109e-06 8.666519371e-09 4.744894451e-09 -1.480023586e-12 3.974547338e-09 7.710641274e-08 6.046426221e-08 8.007908072e-06 -0.06146418715 0.05124151379 0.0007841563878 -0.0005564076588 -0.0001562781042 8.233155341e-05 7.651197758e-06 -4.528521008e-05 9.881917486e-06 -3.66543922e-06 -7.598017887e-06 -7.23350463e-08 -2.639450293e-06 -0.0001227407935 0.005449039559 -0.06968794228 -0.004199488751 0.0006719306414 0.03379928863 -1.853752336e-06 1.771727993e-06 0.009505917338 -1.457573498e-06 -4.006665721e-07 -0.0006917410924 -6.921163334e-07 -1.194994022e-06 3.658866422e-05 -5.56490794e-06 -2.598424955e-05 -3.580898336e-05 -1.928520864e-08 2.261560443e-07 -5.295246552e-05 -2.234853706e-07 -3.309695758e-07 -5.132552797e-06 -6.250436814e-08 3.378774114e-09 4.201142691e-09 -2.900188108e-08 3.714882727e-07 -1.733107303e-05 -9.272767505e-08 1.82574692e-06 -7.813028113e-06 -4.453218511e-08 1.571667549e-06 -4.29570813e-06 8.035186803e-09 1.990285914e-07 -6.492702314e-06 2.49321864e-05 -0.0001187996528 -0.04818373264 -0.0002892093747 -0.0004708414066 3.390949469e-07 2.382417037e-05 -0.01169762047 0.004820453922 0.0003431439807 -1.461255006e-07 3.284261411e-06 -0.0002009696374 -2.627446771e-05 0.004226813423 -1.651200997e-10 5.239518692e-07 1.234766731e-07 -5.129813762e-08 -0.0002910951726 -1.513957172e-09 8.114573847e-09 1.184786162e-07 2.504959311e-07 0.0002923351967 -4.861624608e-09 -2.740305863e-09 2.161425418e-05 -4.835413898e-07 1.786527447e-05 2.442801306e-12 -7.021088306e-10 9.335308239e-09 -3.361851987e-08 -0.0001527157099 -4.369386445e-10 3.959071274e-10 -8.475811383e-07 1.242534371e-06 2.641146e-05 -5.173681294e-10 1.566555659e-08 4.803908701e-06 7.535469695e-07 4.407615617e-07 2.759677555e-10 -1.298454735e-08 -1.60715226e-07 5.107128454e-07 -1.713686569e-05 -2.536346553e-10 -1.379536569e-08 5.945987305e-07 1.039981866e-08 -1.585282843e-07 1.269864427e-10 -3.794166838e-09 -2.324988428e-06 -1.739119435e-09 -1.455044114e-07 2.056395642e-10 -5.741915623e-09 -2.704598173e-07 6.026596158e-07 -3.522715641e-06 -0.06076388899 0.05422902815 0.001783539448 -0.000707764579 -0.0001346621785 6.496255341e-05 6.567803543e-06 -3.752104426e-05 7.842008698e-06 -5.155438212e-06 -6.014849545e-06 2.745770586e-08 -2.936875781e-06 0.0003484675028 0.004396767513 -0.07161837605 -0.003457168631 4.802087079e-05 0.03068509085 -2.96228856e-06 8.002274185e-07 0.01023074567 -4.352130375e-07 -4.309946886e-07 -0.0005746197884 -2.386743004e-07 -1.153574182e-06 0.0001153101068 -4.826529666e-05 -3.78949707e-05 1.326444018e-05 -1.453182125e-08 1.634126779e-07 -9.023017179e-05 -2.545609945e-07 -3.662288028e-07 1.46861255e-05 -1.077310146e-07 1.086268139e-07 8.957552842e-08 -4.47507e-11 2.606611822e-07 -2.077822792e-05 1.28962976e-07 2.058816462e-06 -5.412886591e-06 1.083555834e-08 6.430139815e-07 -3.799272509e-06 2.945065796e-08 1.313121944e-07 -6.243092058e-06 2.130454396e-05 -0.0001113111245 -0.04718830258 -0.000542209661 0.0004247297028 1.0040258e-07 1.691567438e-05 -0.01216574726 0.002771174861 0.0008797204113 -1.948484995e-07 2.540825332e-06 0.002484933386 0.0007243322843 0.000357845154 3.48148508e-09 5.57815652e-07 3.358738913e-08 -1.985609087e-08 -0.0002686322669 2.32031178e-11 -1.743486349e-09 1.411977542e-07 5.305997306e-08 0.000257017703 -3.57048332e-09 9.593916507e-08 2.666333646e-05 3.146260401e-05 3.226150128e-05 4.656572876e-10 2.65888351e-09 -1.218435057e-08 -1.340869083e-08 -0.0001577953404 -2.522054235e-10 9.849554362e-10 -3.906208819e-07 4.577426556e-07 1.829022112e-05 -3.829466353e-10 1.05055562e-08 5.92554684e-07 -1.645304293e-06 8.972883084e-06 3.884264813e-10 -1.304132891e-08 -1.81708005e-07 3.760488493e-07 -1.536574168e-05 -2.298410736e-10 -9.822403326e-09 7.422334976e-07 -3.423962401e-10 -2.725284513e-08 1.152898918e-10 -2.866864991e-09 -1.082138731e-09 1.329542869e-08 -2.838559331e-06 2.49605719e-10 -5.585419792e-09 -5.464899697e-07 -1.435393293e-06 -6.637676224e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0003519237103 0.0004107514529 4.98487977e-05 -6.27370375e-06 -4.919729628e-08 -1.690188055e-07 -3.454348043e-07 1.356553707e-07 -1.487077529e-09 -8.844377284e-08 1.313951515e-08 -1.116783067e-08 -1.679660211e-08 -0.003285942227 0.001158845683 0.001658106329 -0.001597931334 0.01305515624 -0.01139272691 -7.329155421e-06 2.959540947e-05 4.907480875e-05 -2.239399038e-08 8.476630709e-08 1.738666885e-06 1.488951646e-09 -1.041573217e-09 1.798291446e-06 6.856993955e-05 -6.868413232e-05 5.808448018e-07 -5.194614627e-09 2.332390008e-08 -1.216322411e-06 -4.615738755e-08 3.411960497e-07 -2.044437787e-07 8.313071576e-08 -2.788314476e-08 -2.265639625e-08 -4.150615433e-07 1.551272546e-07 1.652393292e-07 -2.371980124e-08 4.318708043e-08 -1.834259441e-08 -5.22437377e-08 1.842443478e-08 -3.161205289e-09 -3.719592564e-07 1.564816428e-07 1.976385424e-07 -5.348561755e-07 2.970115619e-05 -1.81180671e-05 -0.0001949457398 -5.493147503e-05 6.373053948e-06 -1.056645492e-05 0.0009210996191 0.0004414542949 -0.001453760176 1.910312806e-08 5.448807557e-07 0.0001011171605 4.636286549e-05 -0.0001434069609 -3.238601142e-08 -4.855845878e-08 -2.078451148e-07 3.991606045e-08 -7.05021388e-07 -4.082882105e-10 1.570207679e-08 -4.722581648e-07 1.31552374e-07 -9.953042421e-07 6.501875781e-11 4.502780187e-09 2.921392453e-07 -8.625921535e-08 6.681001941e-07 3.515257642e-08 -5.91710811e-07 -1.883377209e-08 1.17982894e-08 5.861647909e-07 -3.331462366e-09 2.009499062e-08 -5.190339067e-07 1.524486174e-08 3.180448062e-07 -4.569144155e-11 1.714962249e-09 -7.020481503e-08 2.303897832e-08 -7.427398579e-08 1.046375575e-10 1.755577139e-09 -1.170658615e-07 1.80404232e-07 -4.260721368e-08 -1.198628264e-13 -3.045554218e-12 -6.723298351e-11 -3.429526649e-11 1.282915711e-10 1.861500214e-11 8.745797448e-10 1.026184828e-08 -4.616598007e-09 -2.923004755e-08 -7.104866133e-10 3.033513282e-09 -3.000808238e-08 3.55319917e-08 -1.095341083e-08 -3.658718834e-05 2.659207517e-05 -4.009341164e-07 -1.433404016e-07 -1.101498745e-07 5.77133833e-08 1.971592603e-09 -2.871186557e-08 5.576486525e-09 -1.025528921e-09 -5.247794233e-09 -6.400079538e-10 -1.199736818e-09 0.0003142732047 -0.001379075409 0.00103019339 0.001256745959 -0.0005629852153 -0.0006733156808 7.777113563e-08 -3.464876341e-07 4.884049713e-06 1.744086541e-06 -7.021115944e-07 -1.521856357e-06 1.704969085e-09 6.246194793e-08 -1.346460071e-07 -9.423589505e-08 4.274620792e-07 -3.458331884e-07 -1.15769316e-09 3.946056508e-09 -2.32711964e-09 3.812454376e-08 -2.478550573e-08 -4.094681302e-08 2.445273193e-08 2.620787779e-09 -2.474699967e-08 4.123033355e-08 -1.637870263e-07 1.164089545e-07 1.175433076e-07 -5.218718732e-07 3.973724824e-07 1.138172018e-07 -1.216758115e-06 1.101425928e-06 2.273695231e-08 -9.019973259e-08 6.386385656e-08 1.790115725e-05 -4.216499645e-06 -0.0006702254158 -0.0003724004867 0.0009987212233 -1.327792831e-06 -6.486089857e-06 0.001802712887 -0.0024475428 0.0006511717728 -5.557135737e-08 -7.480165096e-07 3.857283238e-06 -5.375846466e-06 4.98928863e-06 4.178062759e-10 -6.851647059e-09 -1.333562913e-07 5.280580599e-08 -1.035071918e-07 -6.375866033e-09 -1.331348636e-08 1.478479618e-08 -1.099500445e-08 1.77634022e-07 -4.563362239e-08 2.938191321e-07 2.303454814e-06 2.551399582e-06 -5.12915036e-06 1.39102806e-10 7.077951748e-10 -4.927665883e-08 1.541375263e-08 -3.039559649e-08 2.381906629e-11 -6.742088741e-10 1.722448521e-06 -1.601292888e-06 -1.070683147e-07 -5.165495241e-10 -3.475307939e-09 2.918115891e-08 2.774951922e-08 -5.242495466e-08 1.26970801e-10 1.899427823e-09 6.29560316e-08 -2.47318005e-07 1.73568137e-07 -2.738026681e-09 6.096599945e-09 -2.165039877e-07 -1.279329141e-07 3.399346302e-07 2.663411761e-10 8.62080838e-10 -6.885055371e-08 -4.766854707e-09 7.135327638e-08 1.142364139e-10 8.336149631e-10 5.532496572e-08 -4.110975093e-07 3.52521852e-07 -0.1101195868 0.09180458716 0.001404899039 -0.0009968631219 -0.0002799887392 0.0001475056787 1.370792936e-05 -8.113323961e-05 1.77044995e-05 -6.567021728e-06 -1.3612652e-05 -1.295958798e-07 -4.728854137e-06 0.002411393923 -0.002650789117 -0.1150712909 0.00224758409 -0.003101767257 0.05508918751 1.070573452e-06 2.461477704e-06 0.01702717649 5.492945013e-07 -1.800225216e-06 -0.001241405573 -1.762254903e-06 6.636374386e-07 6.327011848e-05 -1.345191531e-05 -3.817075085e-06 -0.0001034102374 4.70636819e-08 -1.130299211e-07 -9.44333408e-05 1.204063727e-07 -7.612384022e-07 -9.548043346e-06 -1.067770732e-07 1.063616005e-08 -2.262045889e-09 1.482155955e-07 -2.413487428e-07 -3.034371517e-05 4.904044383e-07 -1.329685191e-06 -1.005369767e-05 3.637073972e-07 -1.272893104e-06 -4.051004987e-06 1.232972345e-07 -1.153960799e-07 -1.126928686e-05 -1.945823257e-05 -1.125944886e-05 -0.08558706318 -0.002467319398 0.0002289663967 -3.183338324e-07 1.762248368e-06 -0.01199574862 -0.002531562512 0.002862766314 8.917400774e-08 2.078444928e-07 0.0001087526522 -0.000438870719 0.007501094458 1.395260688e-10 -1.700833126e-07 -8.396358254e-08 2.066311509e-07 -0.0005204127537 8.509022547e-10 1.188911817e-08 4.036460619e-07 -9.800217306e-08 0.0005241038975 2.596652829e-09 7.4991683e-10 5.65547082e-05 2.088931808e-05 -7.595560216e-06 -1.899315698e-12 -2.505146823e-10 -1.116274453e-08 -4.876095595e-08 -0.0002735909166 2.431323704e-10 6.039904053e-10 8.026245869e-07 8.744591858e-07 4.63485178e-05 3.327348277e-10 6.810563982e-09 8.766016607e-06 2.199249929e-06 -1.988301904e-07 -1.838778474e-10 -5.479252609e-09 6.091267368e-09 -4.747118061e-07 -2.962393328e-05 1.874514771e-10 -3.248521297e-10 7.425926394e-07 -3.371958815e-08 6.599274314e-08 -9.244989987e-11 -7.452379433e-10 -4.493553726e-06 6.361889271e-09 5.219456318e-08 -1.389694786e-10 -2.050844584e-09 -2.5236516e-07 -2.341800775e-06 -3.12970938e-06 --0.1088999622 -0.0971883007 -0.003196427709 0.001268443103 0.0002413391636 -0.000116424734 -1.177070081e-05 6.724454884e-05 -1.405430865e-05 9.23948476e-06 1.077970648e-05 -4.920921257e-08 5.263416591e-06 -0.00298457068 0.002255314302 0.1205781115 -0.001891690997 0.003838869723 -0.05083063928 -1.652181631e-06 -1.477036456e-06 -0.01832835658 -1.904011691e-07 1.089943581e-06 0.001030476234 8.700882526e-07 -6.906076394e-07 -0.0002043410422 8.37852963e-05 3.433745477e-05 1.251985516e-05 -4.309241074e-08 7.695017693e-08 0.0001614082313 -1.431448535e-07 7.896580461e-07 -2.585415792e-05 8.269473123e-08 -2.927197991e-07 4.788396189e-08 -1.324373102e-07 1.623973785e-07 3.674133868e-05 -6.298380038e-07 1.485949005e-06 4.923868734e-06 -2.479148131e-07 4.21559594e-07 5.463526376e-06 -1.184265006e-07 7.640651179e-08 1.094266232e-05 1.512135511e-05 3.044020096e-05 0.08281281295 0.001860872279 0.0002226443393 7.536399081e-08 -6.1258692e-06 0.01647532153 0.001516721268 -0.002756321762 -1.144073095e-07 -5.982287325e-07 -0.005976870979 0.0003584333077 -0.0007779667487 2.531106166e-09 -1.028206623e-07 1.664388498e-08 -6.367851564e-08 0.0004805547441 1.887165497e-11 -2.099660887e-10 -2.853002418e-07 1.324346709e-08 -0.000460695375 -1.915019054e-09 -7.071546184e-09 -4.375015459e-05 -0.0001293363016 1.093913419e-05 2.745731462e-10 -1.174675074e-09 -6.516921036e-09 4.442434489e-08 0.0002828012656 -1.54120347e-10 -8.088110237e-10 -2.880380937e-07 -3.038034229e-07 -3.230821253e-05 -2.365633532e-10 -7.004617421e-09 -8.38006725e-07 -4.986621979e-06 -8.380594163e-06 2.470538029e-10 8.462925821e-09 1.31898343e-07 3.130019347e-07 2.675898106e-05 -1.564826825e-10 1.654444016e-09 -1.249386076e-06 -2.578771923e-09 -1.227964449e-08 7.752480774e-11 1.173746361e-09 2.181497568e-08 6.480701518e-09 5.040711531e-06 1.605609936e-10 3.093331101e-09 8.638164995e-07 3.994720962e-06 -1.107400947e-07 -0.4511178441 0.1788933402 0.01952376147 -0.002657341027 2.042784641e-05 0.0006383944691 -0.0001780440742 1.94688863e-05 -0.000151227711 3.750863895e-05 -1.696460019e-05 1.822358986e-05 -1.750526312e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4509370911 0.1793159845 0.01969251574 -0.003192450812 0.000685080602 0.000118852064 0.0001910359828 -0.0002013649958 -1.278848376e-05 -4.178841477e-05 3.288930331e-05 -8.138252139e-06 1.224906789e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2646806578 -0.008228751522 0.0003612755932 0.0001645425919 0.0001527044125 7.619439711e-05 -5.464474581e-06 3.692963179e-05 3.41738209e-05 8.702787009e-06 1.41406476e-05 1.202765477e-05 9.217997176e-06 0.003828502233 4.912893079e-05 0.2530956384 -1.312671068e-05 -0.0006534186457 0.01701942731 -3.091546726e-09 -1.734376422e-06 -0.002826558684 -9.882558861e-08 -4.146678611e-06 0.0003075915073 4.866623034e-06 -4.070850858e-10 0.0003398587215 -5.03964287e-07 -2.105158864e-08 -8.529274119e-06 -2.104565757e-09 -1.834097339e-10 -1.839210215e-07 -1.445703291e-09 -9.72844511e-07 7.988716273e-05 1.5166932e-05 -5.052111265e-07 -6.638658246e-11 5.542559788e-07 1.009604734e-08 1.06903987e-05 1.145907159e-06 5.526898007e-08 1.682990767e-05 2.666839943e-06 2.08357886e-07 9.253640719e-06 3.735499327e-07 5.205520212e-09 1.098451413e-05 5.630982825e-07 0.0001678672272 0.08725105726 -0.004108613366 -5.126504108e-05 5.459117983e-07 -2.444205642e-05 0.01460295751 8.522931057e-05 0.002867082103 3.036487947e-09 -2.456779492e-06 2.201827737e-08 1.459023866e-05 -0.000945069991 -5.581998622e-11 -3.806119639e-08 -7.210102339e-08 -2.092234499e-06 0.0001039554804 6.894832507e-10 -1.309390352e-07 -3.707507849e-07 -1.402886422e-09 0.000143863056 8.574031475e-10 7.70512932e-08 -5.823474704e-06 6.552805125e-07 1.656933841e-08 -3.856417195e-11 1.920001326e-09 -1.420684792e-08 -6.681973102e-08 1.699358405e-05 1.960483568e-12 7.386281374e-09 -4.447925864e-07 -1.194555994e-05 5.033946195e-05 1.728359893e-11 -4.384536598e-08 -6.225370154e-06 4.392982695e-07 2.149695919e-09 -7.514171831e-12 1.082502974e-08 8.619422615e-07 2.381087435e-08 5.999850447e-06 5.099150209e-10 1.91712122e-08 7.68324685e-06 -7.97644869e-07 -5.419952665e-08 -1.425429419e-11 8.501621174e-09 3.82114171e-06 -2.864421187e-08 -1.189305593e-08 -5.29325174e-12 7.647192354e-09 1.276398193e-06 4.715951527e-08 2.568227218e-06 -0.276844638 -0.005513964942 -0.0003945291832 0.0002765704734 0.0001531214236 4.311452182e-05 -3.653367361e-06 4.746876001e-05 2.427245359e-05 7.779922528e-06 1.398831897e-05 1.053771854e-05 8.719779195e-06 0.004022145278 0.0009735014422 0.2442725961 -9.8051101e-05 -0.001446826329 0.02439578976 -1.693729859e-08 -2.935195838e-06 -0.003216680075 -2.66328928e-07 -3.361877036e-06 0.0002651597734 1.441526097e-05 2.118830607e-07 0.0002867213909 -4.994895133e-06 -2.744387404e-06 -1.501665011e-05 3.804105995e-08 3.901770137e-08 1.109299223e-05 -1.553123238e-08 -3.081974556e-06 8.253746995e-05 -4.386143437e-07 2.391263803e-08 2.026023853e-10 6.363849167e-07 6.2023319e-08 1.307017007e-05 1.905171795e-06 7.371797118e-07 1.350934073e-05 1.746961216e-06 7.87977267e-07 7.067163917e-06 4.5282844e-07 3.310745283e-08 9.584910746e-06 1.190314877e-05 0.0001508395109 0.07834615551 -0.004829718594 -7.49780197e-05 3.099716316e-07 -4.491190422e-05 0.01510455551 0.0003966475897 0.003458153506 -1.496994772e-08 -2.328403581e-06 1.474360956e-06 0.0001393482842 -0.0007710050067 -1.133730783e-10 -5.814490381e-07 -8.759759402e-08 -1.536887339e-06 9.708704796e-05 3.251675479e-11 -2.966943913e-08 -1.848301408e-06 -1.015318894e-07 8.065831322e-05 4.008706654e-10 -8.856092309e-10 1.132719957e-05 -2.003484021e-06 -1.910967211e-07 1.260197817e-12 5.266500694e-10 -1.927560428e-08 -5.29206656e-07 3.219514005e-05 1.468816165e-11 -1.841119757e-09 -4.760657978e-07 -5.477338346e-06 2.938459478e-05 -9.431003277e-11 -2.323320733e-08 -8.079225856e-06 1.929748188e-06 3.689632597e-08 6.454242276e-11 1.324615695e-08 1.175445539e-06 1.613636873e-07 5.894063831e-06 -1.079244991e-10 1.980488185e-08 5.094908706e-06 -8.311539685e-08 -7.014045705e-08 4.963802038e-11 5.325379363e-09 3.157760742e-06 1.552399752e-08 -5.380883711e-08 5.30320516e-11 7.797812172e-09 1.795297678e-06 5.926637819e-07 7.407735233e-07 -0.2826638831 -0.004055763145 -0.0008705871959 0.0003182057998 0.0001515768232 2.88985815e-05 -2.172930135e-06 5.21239929e-05 1.816287156e-05 8.219063634e-06 1.381087709e-05 9.684357495e-06 8.544054332e-06 0.005562963585 0.0005625057235 0.2389429097 -4.655434165e-05 -0.002086286406 0.02795663834 2.278831075e-08 -1.413560651e-06 -0.003381129802 -6.756707799e-08 -2.783213095e-06 0.0002200288443 1.723154519e-05 1.840574661e-07 0.0002567141391 -2.055258895e-05 -3.154505266e-06 -3.051111643e-07 4.396218325e-08 3.109270974e-08 1.934207472e-05 -9.247275374e-09 -4.711586116e-06 7.947489779e-05 -6.245970365e-06 4.677410311e-07 2.845134494e-09 7.754769619e-07 2.713224402e-08 1.469530928e-05 3.703356545e-06 6.825088136e-07 1.044783875e-05 1.112974978e-06 1.57785344e-07 7.324303327e-06 5.46334505e-07 1.350617821e-08 8.942253283e-06 6.68103904e-06 0.0001741522696 0.07308761594 -0.004072409457 4.45569966e-05 4.491603112e-08 -4.430518609e-05 0.0153498281 0.0001339470334 0.003921785945 -8.649458789e-09 -1.920979612e-06 -0.0003552066156 -3.985818327e-06 -0.0001175627778 1.356003046e-09 -1.465087516e-06 -6.019783209e-09 -6.163192334e-07 9.227922099e-05 1.405312242e-11 3.469161591e-09 -1.568102704e-06 -3.089186139e-08 5.31818646e-05 2.899778604e-10 7.3777918e-08 1.610594537e-05 -2.307825739e-06 -2.245134245e-07 1.68324429e-11 -1.884427572e-08 -1.996488798e-09 -1.113054288e-06 4.127183329e-05 -2.524280819e-11 -2.842852123e-09 -1.185002485e-07 -2.860189436e-06 1.669444588e-05 -4.467910097e-11 -1.658528989e-08 -3.100058131e-06 -5.977832804e-07 -1.290955838e-06 5.995375769e-11 1.546325152e-08 1.588920772e-06 7.903453614e-08 5.590054173e-06 -6.365099048e-11 1.889555065e-08 3.840203703e-06 6.918715574e-09 -9.330924321e-09 2.890282071e-11 4.949929332e-09 -6.091221484e-08 3.512424965e-09 3.012326462e-06 4.354467947e-11 8.83926238e-09 2.647578117e-06 1.962917987e-07 -3.395720992e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1247072494 0.1455533752 0.0176643581 -0.002223141877 -1.743349287e-05 -5.98932942e-05 -0.0001224078487 4.807066885e-05 -5.26958948e-07 -3.134082561e-05 4.656102286e-06 -3.95741862e-06 -5.952023084e-06 -4.025467466e-05 -0.0001417777207 -0.1660087585 0.001556473396 0.0003152416557 0.02098371504 7.482315052e-07 1.453757754e-07 0.02527943689 1.820982778e-08 2.846886685e-09 0.0006381929602 3.663077024e-11 6.362347844e-10 0.0006373981851 8.350769659e-05 3.836637368e-05 4.348816664e-05 -7.403013826e-10 -1.439737342e-09 -0.0004245880494 2.090770009e-07 3.480430682e-08 3.185920919e-05 4.392441656e-09 1.445268303e-08 1.153012312e-05 -2.47484115e-08 -1.335902735e-07 -3.339764966e-05 3.945635469e-07 -9.450206997e-12 3.987806129e-09 -1.045627729e-09 -4.578301213e-09 -1.309874308e-05 -2.855534113e-08 -9.566019727e-08 -6.197215575e-06 1.492921503e-08 -2.024215705e-08 -0.08463560633 -5.660972786e-07 5.036017862e-06 -8.075922419e-08 -1.618795799e-06 -0.03365321226 -0.0001343118245 -1.648251254e-05 -2.791313002e-10 1.547675185e-07 0.001647885608 -4.916248093e-06 5.509495572e-08 1.036849997e-10 -1.504356858e-08 -3.55862977e-10 -9.42781309e-09 -0.0003379962942 5.062333375e-12 -3.898342164e-09 -1.181441012e-08 -5.84047425e-08 -0.0004679332573 8.545542433e-14 4.274943079e-09 5.757221729e-09 5.89703913e-08 0.0003112521848 -3.065111847e-10 -2.2233065e-08 2.828995251e-09 -7.12342935e-10 8.018680583e-06 -1.267544182e-10 -7.545936956e-10 -5.9873114e-05 -1.945811741e-09 -3.853743751e-09 6.453619757e-13 -1.947355038e-10 -6.039164916e-09 -2.964820955e-08 -4.240586263e-05 -1.296286026e-12 1.736208508e-10 7.944622014e-06 9.081964716e-09 5.157407992e-08 1.284754305e-14 1.44366708e-14 8.356718098e-09 3.739352699e-12 1.639263484e-12 -8.653460028e-13 -8.662522712e-12 -7.882290691e-11 6.763835134e-11 -8.040947405e-06 1.13568735e-11 -3.24293446e-11 -1.100582263e-06 -2.978060858e-10 9.457355827e-11 --0.0422056279 -0.03067563485 0.0004625027748 0.0001653521882 0.0001270648232 -6.65760254e-05 -2.27435634e-06 3.312094668e-05 -6.432828701e-06 1.183012251e-06 6.053661424e-06 7.382895154e-07 1.383972041e-06 0.005733305446 6.950089567e-05 0.03412064181 -0.0001347843947 -0.005105817218 -0.01834406746 6.484264414e-09 3.753635488e-06 -0.005327837894 -1.500663674e-07 -6.180582638e-06 0.0005599041031 -1.885702211e-06 9.604646729e-11 8.318767896e-05 -9.912686994e-07 -1.903612958e-08 1.555327897e-05 -7.234139391e-09 -6.346581513e-10 -5.242048929e-07 -1.157895928e-09 -6.982158494e-07 3.254668235e-05 -2.081988351e-06 -6.016848578e-07 -1.142981327e-10 6.857531658e-07 1.136916094e-08 6.394681277e-06 1.330403744e-06 5.255322939e-08 6.641323361e-06 2.40064975e-06 4.318632466e-08 -6.962056183e-07 4.042527667e-07 5.149451444e-09 3.742183136e-06 -6.596027876e-07 -0.0001779969951 0.04000588468 -0.004901179346 -6.534902117e-05 -5.441644506e-07 2.258798089e-05 -0.005960921231 0.0001861707556 0.007450778675 -2.9644376e-09 3.038614005e-06 -1.759263541e-07 -0.0001068066494 -0.002972764335 5.46910013e-11 3.256540962e-08 1.995056373e-08 4.789274311e-07 0.0002192124748 -6.76772176e-10 1.446036914e-07 1.868496618e-07 7.251068438e-10 -0.0001869023972 -1.60259831e-09 -5.021276171e-07 9.488627069e-06 2.054306012e-05 5.920976816e-07 3.785601457e-11 -2.016511222e-09 -1.163854041e-08 -5.631539927e-08 7.321921556e-05 -1.957696273e-12 -8.231006161e-09 -4.570131157e-07 -1.049414586e-05 -4.540951526e-06 -1.682161828e-11 4.452004355e-08 -1.130929727e-06 4.910499358e-07 2.599745336e-09 7.269905087e-12 -1.342720099e-08 8.384194717e-07 2.541666174e-08 9.263375931e-06 -5.247960728e-10 -2.064631827e-08 2.074272729e-06 -6.812775623e-07 -5.249589831e-08 1.363694164e-11 -8.95162374e-09 1.356613406e-06 -2.613604938e-08 -1.142627587e-08 5.079984294e-12 -8.564504527e-09 1.050363832e-06 3.551326184e-08 1.579153616e-06 --0.04557100178 -0.03799167002 -0.0005813920887 0.0004125337955 0.0001158682819 -6.104256058e-05 -5.672778944e-06 3.35755256e-05 -7.326687299e-06 2.717643314e-06 5.63335013e-06 5.363091382e-08 1.956950862e-06 0.0059244481 0.001188984284 0.04060581207 -0.0009638723434 -0.01002743967 -0.01145286482 7.90794239e-08 8.210164402e-06 -0.007056140328 -1.808789024e-07 -2.833270473e-06 0.0005172650958 -6.244891302e-06 -5.431568497e-08 -1.942934563e-05 -1.180763966e-05 5.557670237e-06 5.619088786e-05 9.900522522e-08 9.863775116e-08 3.890918819e-05 -8.261350221e-09 -2.109074077e-06 6.333817448e-06 5.685014919e-09 3.476073212e-08 2.765399712e-10 8.095808561e-07 6.68163035e-08 1.17193427e-05 1.984662346e-06 4.135629192e-07 2.109637083e-06 1.677908674e-06 2.665265084e-07 1.082501343e-07 4.808417792e-07 2.734931771e-08 4.152129948e-06 -1.248014659e-05 -0.0001567122721 0.04219645738 -0.005593521745 -7.606926777e-05 -3.113677537e-07 3.95790334e-05 -0.003867480457 0.0006431152085 0.008011661206 1.747790486e-08 3.43776626e-06 -1.965886611e-05 -0.002115806785 -0.0008356915499 1.14474157e-10 5.002875942e-07 2.934987302e-08 7.542146518e-07 0.0002140990151 -1.603036537e-12 3.340150123e-08 5.889344691e-07 2.184092536e-08 -0.0002176668632 -3.071207798e-10 -1.901934178e-09 -7.261847071e-05 3.985988201e-05 3.853886916e-06 -1.285768314e-12 -7.428884159e-10 -1.205378408e-10 -2.404175316e-08 0.0001132704679 -5.874830966e-12 1.92077942e-09 -3.678203047e-07 -3.431205973e-06 -1.607776686e-05 1.027137757e-10 2.640792558e-08 -7.185288293e-06 2.658691402e-06 4.163493181e-08 -6.920847852e-11 -1.6862838e-08 1.064287811e-06 1.579489683e-07 1.125029865e-05 1.106375056e-10 -2.070061478e-08 -1.75201523e-07 -6.790761418e-08 -5.69082365e-08 -5.131370235e-11 -5.542972475e-09 1.872125795e-06 1.324670081e-08 -4.408804017e-08 -5.639894425e-11 -8.67703741e-09 1.453056893e-06 4.052678032e-07 5.200373572e-07 --0.0455184514 -0.04062316326 -0.001336055922 0.0005301890339 0.0001008759303 -4.866368628e-05 -4.919965647e-06 2.810715144e-05 -5.874477388e-06 3.861957614e-06 4.505745786e-06 -2.056866785e-08 2.200024385e-06 0.008103774324 0.0006391678735 0.04135197225 -0.0004719052857 -0.01515512382 -0.004805479586 -1.525763873e-08 4.573994304e-06 -0.007666828114 -2.457195221e-08 -1.581158599e-06 0.0004327043943 -7.910246942e-06 -5.295497473e-08 -7.737308226e-05 -1.493945738e-05 6.435678178e-05 5.189206263e-06 9.182761012e-08 6.225911643e-08 6.732613767e-05 -5.263769945e-09 -3.757220527e-06 -6.773910103e-06 -8.984689363e-07 8.259275559e-07 4.768978059e-09 9.763000747e-07 2.691155842e-08 1.436660615e-05 3.294498485e-06 9.682673732e-08 -9.753856621e-07 1.147705117e-06 8.387996213e-08 1.124662768e-06 5.73848728e-07 9.650526576e-09 3.972795791e-06 -7.187075701e-06 -0.000182658764 0.04028647605 -0.004631618971 3.934767654e-05 -4.623721011e-08 4.033101629e-05 -0.002569229815 0.0001810572101 0.008713647777 1.236457676e-08 3.342911088e-06 -0.004419367686 5.298982726e-06 0.001736820288 -1.404488608e-09 1.330874833e-06 6.560305807e-09 2.528548181e-07 0.0001992137719 -1.428212582e-11 -2.848190721e-09 1.247645416e-07 -1.666565698e-09 -0.0001927973671 -2.150106334e-10 4.772743241e-08 -0.0001401490002 6.858015054e-05 3.742580447e-06 -2.751456399e-11 1.585369222e-08 8.96340076e-10 2.562531859e-07 0.0001179489219 3.006268832e-11 2.995686191e-09 -9.393701294e-08 -1.981705857e-06 -1.167948447e-05 5.188660541e-11 2.00380133e-08 -3.905828405e-06 -5.989508084e-07 -1.455894514e-06 -6.780208855e-11 -2.010150737e-08 1.327695312e-06 6.885346282e-08 9.998050707e-06 6.715233367e-11 -1.971366221e-08 -5.066829328e-07 5.705001251e-09 -7.183516144e-09 -3.08701911e-11 -5.224590179e-09 -4.973354144e-08 2.544049993e-09 2.17173232e-06 -4.836450135e-11 -9.964492424e-09 2.060213036e-06 -4.067808541e-08 -2.365826534e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.3492897371 0.001574796604 0.002196642949 0.004076610485 0.004687356475 0.2929757854 0.001452681429 0.001426528712 0.1839481822 0.0003333103144 0.0003490792674 0.07870364704 9.63365572e-06 2.716714611e-06 0.04231497208 0.01578361465 0.0006759569008 0.0004172973785 0.01002604794 9.236942948e-05 7.46002587e-05 0.003828512444 3.042301241e-06 1.493636054e-06 0.00199369905 0.0006799477226 2.197743986e-05 5.440281865e-06 6.104157639e-06 0.0008002296293 5.766590832e-07 1.123504711e-07 0.0006537376407 3.316947104e-07 3.784044228e-06 0.0001159044067 0.0001352128137 3.017349483e-06 2.112952749e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.03782112221 0.202553946 0.1061826138 0.01911208849 1.083926526e-05 0.001270117797 0.001224350363 4.970564007e-05 1.144238343e-06 9.34849316e-05 3.260156352e-06 6.447681885e-06 9.089539685e-06 3.601348846e-05 0.0002626952344 0.1185365773 0.0004367480659 5.780888969e-05 0.00408381634 1.118906371e-05 4.829188443e-07 0.05471559684 1.883494211e-06 2.300335135e-07 0.05234050236 4.647659956e-10 9.543727355e-09 0.007838775851 0.0001719845761 7.957680675e-05 8.567069737e-05 1.461225197e-09 4.295439443e-09 0.001310240879 2.634390965e-06 3.988868895e-07 0.0003711213092 1.133730836e-07 4.510614141e-07 0.0002910406059 4.280533847e-08 2.647517247e-07 5.722071827e-05 1.116380367e-07 9.883664568e-13 1.028201223e-08 5.957266474e-09 3.998046763e-08 6.991227183e-05 6.303712126e-08 2.382640175e-07 1.332427676e-05 1.732653046e-06 1.484783914e-09 0.1349492268 1.217684919e-06 4.02787133e-05 2.124926102e-07 2.522650954e-06 0.03020209507 0.0002215631704 1.479957987e-05 5.783837164e-09 9.559575199e-08 0.0005032624419 1.558422288e-05 6.878762883e-09 1.054899408e-08 1.603782585e-06 1.427155452e-08 2.968520552e-06 0.019665656 1.288143521e-09 7.978111144e-08 2.980205006e-07 2.094408402e-06 0.01174724094 7.667005248e-13 5.639738334e-08 7.357254886e-08 1.061786865e-06 0.004114228325 2.236458928e-09 5.784504122e-09 2.760676199e-09 1.258245975e-10 3.985925414e-07 1.272458892e-09 3.107857281e-09 0.000140952955 5.183014898e-10 1.231323141e-08 8.626295765e-11 1.630739274e-09 6.709069671e-08 3.644845166e-07 0.0004696676832 3.197260586e-11 3.891585952e-10 9.436291584e-06 1.064559738e-08 7.215164651e-08 3.122622194e-10 1.398047462e-11 1.002417016e-05 1.373507207e-08 2.467093622e-09 1.484902849e-10 2.737255597e-11 2.976008753e-10 1.066510411e-10 4.349082419e-05 4.606912197e-11 1.451867998e-11 1.512352711e-06 4.164872348e-10 8.152989253e-12 -0.004987111548 0.02048207941 0.005099201637 3.988903784e-05 0.0004573799004 0.0001058389332 2.735191475e-06 3.033492507e-05 2.098020431e-06 6.838360988e-07 4.033594036e-06 7.819569871e-08 4.420537385e-07 0.1982601962 0.0005530088575 0.003938469525 0.0005921192794 0.04884156611 0.003668765123 3.116660851e-05 0.004040895139 0.008363027342 4.921038257e-06 0.0005449290223 0.002487718017 4.43807956e-05 1.212483925e-10 4.355978938e-05 0.000114830917 3.051018095e-07 0.0001886336377 7.458832896e-05 2.03119719e-06 0.0001311644647 1.329270004e-08 1.250893294e-05 1.207549068e-05 1.661867073e-06 3.415403202e-05 7.803073682e-10 2.876250571e-05 1.376879941e-07 1.332183652e-05 1.629357499e-05 1.660137391e-07 3.444054252e-06 1.609383518e-05 2.143233367e-08 1.000207723e-07 1.395008083e-05 4.784706695e-08 3.018166199e-06 6.197092369e-06 0.003474648874 0.01619406994 0.1652384441 0.0007977950861 5.575005212e-05 0.0004191291972 0.0007584909466 0.000564230987 0.08741397671 6.258727734e-07 8.283938257e-05 4.446714244e-05 0.01961416935 0.002401130968 2.045337531e-07 9.447871988e-06 1.133221495e-06 6.122873291e-05 0.00314655432 2.748481309e-07 2.709692441e-05 5.990758825e-05 3.169168233e-07 0.0002447801283 4.039341527e-09 7.305542997e-07 9.631322622e-07 0.0003692417869 5.281832692e-06 2.428945261e-08 2.859445225e-07 6.801548572e-07 1.075813699e-05 0.000171193714 2.45898077e-09 3.241654062e-07 4.298385438e-07 1.050274459e-05 6.893943059e-07 1.56575126e-09 1.018910985e-06 7.814934613e-07 4.157534958e-05 1.137602891e-07 2.084018526e-09 3.811371324e-07 1.661045623e-05 1.586646683e-07 1.596356604e-05 1.434746215e-08 2.921654088e-07 8.010241912e-07 9.29438348e-06 2.547521996e-07 1.216780363e-09 3.554970437e-07 1.181705956e-06 1.314321295e-05 3.725364341e-07 7.791768722e-10 2.689660491e-07 1.140465702e-05 7.579066641e-08 1.268789331e-06 -0.005597159673 0.02472342975 0.007707543867 0.0002716131777 0.0003983520716 0.0001815065116 2.359060922e-05 2.227439489e-05 5.479972309e-06 3.692118034e-06 3.016776974e-06 5.345286641e-10 9.665503785e-07 0.1956677695 0.008459126865 0.005858334475 0.00246450784 0.05670021888 0.00133745971 9.777966481e-06 0.006313586863 0.009742116261 4.753310449e-06 0.0002594672793 0.003998157728 5.662079481e-05 9.762729204e-08 2.603603043e-06 0.0001113943867 1.39687808e-05 0.0002007779196 4.343487846e-05 7.293173689e-06 0.0002237295485 1.432793076e-08 1.167870408e-05 5.126252014e-07 1.327564511e-08 3.836717447e-05 1.43240055e-07 2.432341168e-05 5.455522517e-07 2.306133439e-05 1.495933253e-05 5.159428098e-07 4.230943431e-07 1.671826729e-05 2.964096506e-07 3.809767499e-09 1.3016484e-05 1.919054639e-07 4.160402834e-06 0.0006217877587 0.002910075796 0.02064640753 0.1501532716 0.003697833613 0.0001714935987 0.0004435829249 0.0003301290652 0.001442183785 0.09179846018 1.98890148e-06 4.727551412e-05 0.0002027297698 0.02623532377 0.0001692506412 8.166712629e-05 0.0001876481747 2.011125263e-06 0.0002692359526 0.003771667132 3.95010439e-12 4.319245222e-06 1.54188892e-05 1.462594847e-07 0.0006124953811 8.192698758e-09 4.285207267e-07 4.731205275e-05 0.0003410399646 1.682995279e-05 2.31519555e-09 8.659949263e-09 1.293907929e-11 5.276741761e-08 0.0001662259972 9.471258877e-11 5.661349837e-07 1.29665435e-06 1.819292128e-05 1.761820483e-05 4.19835102e-08 8.729585028e-07 2.073129638e-05 2.693621908e-05 3.351034882e-07 1.903809738e-08 2.366138722e-07 1.033866964e-05 4.679318882e-07 1.38079541e-05 4.762047355e-08 3.009558694e-07 1.018202294e-08 9.357318982e-06 1.163201459e-06 4.476354018e-08 3.084490757e-07 3.049822144e-06 1.105107429e-05 1.030702534e-06 1.778478888e-08 2.150007695e-07 9.991706467e-06 3.593231385e-07 2.420850042e-07 -0.00547522355 0.0251068315 0.008725664413 0.0004862640186 0.0003101205832 0.0002044462068 4.280199647e-05 1.397529011e-05 6.222601306e-06 6.060468562e-06 1.870878883e-06 9.311828594e-11 1.250483187e-06 0.2052068298 0.003843074835 0.006257258724 0.0009729718725 0.06361454356 0.0002306169173 1.816123175e-07 0.007908777091 0.009535014267 5.3830644e-07 0.0001403823357 0.004594788466 6.167253806e-05 9.215860354e-08 4.514445304e-05 1.20140621e-05 0.000282732028 2.077963736e-05 3.274532976e-05 4.337972413e-06 0.0002493658437 4.718492405e-09 1.378465797e-05 7.003463976e-07 1.58727484e-06 3.850841031e-05 1.001321288e-07 2.22412743e-05 1.651829654e-07 2.443222056e-05 1.468426081e-05 2.268015673e-08 1.153253598e-07 1.716780197e-05 2.116121621e-07 4.621282244e-07 1.277286174e-05 5.289518609e-08 3.99584148e-06 0.0003549075004 0.003251396725 0.02033953934 0.1488918663 0.001163549175 7.108560151e-05 0.0006291607385 0.000148807757 0.0003553825036 0.0961604227 6.110598667e-07 3.737940862e-05 0.004388074394 1.335363552e-06 0.02480364582 9.026698783e-05 0.0008302820764 4.448662621e-06 8.028311349e-05 0.003706887217 6.772972221e-08 2.828047093e-07 7.439424512e-07 2.427177921e-09 0.0008093370452 7.591525487e-09 1.162599844e-07 0.0003477153666 8.254350182e-05 5.286355643e-06 9.283239404e-10 2.52065539e-07 4.871597183e-09 1.643451329e-06 0.0001317782919 9.915377577e-09 7.684992739e-07 7.34248362e-07 2.575127839e-05 2.618628007e-05 2.102645343e-08 8.375210606e-07 5.101552678e-05 7.780878025e-07 1.418678398e-06 8.471603333e-09 2.00911043e-07 8.159009258e-06 1.310777564e-07 9.230069465e-06 2.738151651e-08 3.579397749e-07 1.393088485e-07 1.060772978e-05 6.934489679e-07 2.279359016e-08 3.23590416e-07 1.059999594e-05 3.604476682e-07 4.376566242e-06 9.5166294e-09 2.115065026e-07 9.108234825e-06 1.508335042e-09 9.762464082e-09 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0315207961 0.004240406438 0.02728038966 0.03459095925 0.003861347286 -0.03845230653 0.01622526287 0.002308891127 -0.018534154 0.005048355827 0.0009284089503 -0.005976764777 -0.0003128281511 -0.000295584708 0.0006084128591 -0.002844672499 0.0002381998155 0.002606472683 -0.0009961451231 0.0001371806506 0.0008589644726 2.339432406e-05 4.529213494e-05 -6.868645901e-05 0.001182970125 -0.001146545705 -3.64244205e-05 6.503981763e-05 1.275338299e-05 -7.779320061e-05 -8.93281453e-06 -7.611281888e-06 1.654409642e-05 -5.028909249e-07 -2.088867461e-05 2.139156553e-05 -1.956140589e-05 2.66178101e-06 1.689962488e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0007402541637 0.003964488442 0.002078259909 0.0003740714778 2.121515907e-07 2.485938894e-05 2.396360555e-05 9.728639677e-07 2.239561251e-08 1.82973444e-06 6.380943168e-08 1.261972962e-07 1.779050754e-07 -0.0007938852837 -0.007934778651 0.006014044498 -0.006450604224 -9.886780893e-05 0.004665976502 -0.0004730921291 -2.276497733e-05 0.001154267179 -1.956373912e-05 -8.065419233e-07 0.001040799676 -3.444300088e-09 -8.543142985e-08 0.0001534980338 -0.0001066825077 -4.778366244e-05 0.000153805085 4.063020947e-08 1.765575734e-08 2.556304607e-05 -9.970492855e-06 -2.116761087e-07 1.675224661e-05 -4.33485722e-07 -4.269326417e-06 9.582592954e-06 -1.220915087e-07 -1.777348471e-06 2.782750861e-06 5.397392062e-08 4.628601065e-10 -4.603269005e-07 -6.199539334e-08 -7.703427098e-07 1.897854266e-06 -1.941729558e-07 -1.581766279e-06 1.820539169e-06 -8.07914549e-05 1.8878034e-06 0.002176303292 -7.654235348e-05 -0.002404965712 -4.727673336e-06 -5.68701509e-05 0.003558464615 -0.00504285022 -0.0001868946256 -2.427792109e-07 -2.524758316e-06 -7.852316311e-05 -0.0008515297714 3.087286908e-06 -3.722512978e-07 -3.794770267e-05 -8.726517884e-07 -0.0001218176274 0.0004292079522 -5.733058726e-08 9.724617762e-07 -1.7839668e-06 -3.138314428e-05 0.0002525065019 -6.554206648e-11 -1.664737633e-09 -4.073888462e-07 -1.418169664e-05 9.137796676e-05 -7.806035097e-08 -3.740498614e-07 -1.31233616e-07 -7.932357346e-09 -5.976197836e-08 -5.45860012e-08 -5.607638683e-08 9.779826375e-07 2.081854622e-07 -1.898637629e-08 -3.892138982e-09 2.899878862e-08 -1.212891628e-07 -1.796632759e-06 1.090121163e-05 -1.3402057e-09 -9.899757525e-09 6.757436405e-07 -2.250597987e-08 -5.437513302e-07 -1.474612078e-08 5.963707275e-10 3.871798175e-07 -4.542500757e-07 -5.334868956e-08 -6.886908478e-09 1.394573464e-09 1.217070122e-08 -2.309718172e-08 7.5239382e-07 -2.73465845e-09 1.728232886e-09 -9.346304837e-08 6.770072601e-09 -6.9126687e-09 -0.0152993279 0.06283437736 0.01564319489 0.0001223705272 0.001403137869 0.0003246898587 8.390947515e-06 9.306067471e-05 6.436251167e-06 2.09785416e-06 1.237415229e-05 2.398866806e-07 1.356120678e-06 -0.06199734367 -0.0001515275133 0.01434628393 -7.76733334e-05 -0.01149101795 0.01471407646 -1.008824733e-05 -0.001337295139 0.02563581258 -3.856177873e-06 -0.0002697000452 0.007531351638 -1.774021306e-05 1.49487063e-10 0.00013020779 -7.52909321e-05 -8.284969072e-07 0.0005325856116 -1.80775932e-05 -1.188897494e-07 0.0004088709851 -5.882686667e-09 -4.93728582e-06 3.614639791e-05 6.69898349e-06 -9.040678475e-06 1.908882353e-10 -4.028447416e-06 4.320179825e-08 4.551633806e-05 -2.509226019e-06 5.608569603e-08 1.286274381e-05 -2.554911395e-06 4.125209648e-08 -8.130488538e-07 -3.322764597e-06 -2.379763333e-10 1.03496882e-05 -2.855908934e-06 -0.001345338162 0.0425340455 -0.05971674311 -0.0003416037149 -1.820032505e-05 -0.0001339193822 -0.0009698322353 -0.0001634523507 -0.02758900786 -1.922914196e-07 -3.562780755e-05 -1.427141618e-05 -0.006090384306 0.007649470684 -6.356028856e-08 -1.49049653e-06 6.024128154e-07 3.42354896e-06 0.009675857126 -8.585770268e-08 -9.47504172e-06 -2.0355702e-05 -1.078802009e-07 0.0007494486409 -3.007946286e-09 -7.78344993e-07 9.892033429e-06 -9.82525256e-05 -1.097787387e-06 -7.592303806e-09 -1.092227846e-07 -3.131568768e-07 -3.95407793e-06 0.0005246192071 -8.074874349e-10 -9.506946092e-08 4.474767027e-07 1.007992483e-05 5.618223768e-06 -4.762214633e-10 -3.866207221e-07 1.128797862e-06 -1.41523608e-05 -4.091105329e-08 -6.230212902e-10 -2.092505221e-07 -1.068208483e-07 1.087353463e-07 5.34350644e-05 -5.088127728e-09 -1.12274517e-07 1.448129257e-06 -3.590583594e-06 -1.267657252e-07 -3.510018377e-10 -1.414361441e-07 3.486164591e-06 -4.358191551e-06 -1.547001035e-07 -2.270086051e-10 -1.24819631e-07 8.372072269e-07 1.29039871e-07 6.434046835e-06 --0.007549205771 -0.03334588782 -0.01039560028 -0.0003663400525 -0.0005372799658 -0.0002448080965 -3.181798871e-05 -3.004273601e-05 -7.391148546e-06 -4.979768381e-06 -4.068897703e-06 -7.209490369e-10 -1.303641154e-06 -0.004053781362 0.03876764188 -0.01005410935 0.01073759717 -0.003799435918 -0.003947063679 -0.0002292116877 0.001362452447 -0.01312442037 3.830352377e-05 3.669253126e-05 -0.005346755496 6.275237631e-06 2.147888414e-06 -4.9030142e-06 5.24998666e-05 -6.530943196e-05 -0.0001279505175 -8.46067156e-06 1.67217449e-05 -0.0003044790126 3.875980111e-07 1.832697948e-06 -4.154012857e-07 -1.459601815e-07 3.729323522e-06 2.176075696e-06 -8.713455708e-07 3.03318581e-06 -3.4104103e-05 -6.989320519e-07 2.277721121e-06 -1.566927328e-06 -4.437076851e-07 1.747884035e-06 -1.51183639e-07 2.175141284e-07 1.396549434e-06 -6.505638659e-06 -0.001242175178 0.002206055656 -0.02357593604 0.007763576465 0.02288826002 -0.0001867650457 0.000267009936 0.0009985117064 0.0108098524 0.003931779969 -1.66283789e-05 4.516454435e-05 0.002072476007 0.0003257949506 -0.0008560465665 -0.0001177985004 0.0001965241854 8.460924399e-06 -1.831216473e-05 -0.005128067004 3.730600473e-09 1.049319133e-06 3.101887819e-06 1.677465822e-06 -0.0008226054948 1.296878248e-07 6.174124601e-07 -1.408201969e-05 -4.137165745e-06 7.801778632e-05 -4.398586163e-09 8.184576202e-09 -1.002094386e-09 7.378673534e-08 -0.0002241124419 7.04421802e-09 1.166905855e-07 2.987925778e-06 -6.588158849e-06 -2.894198655e-05 -2.114704673e-07 5.178513845e-07 -1.38604397e-05 7.634472449e-06 3.547519603e-06 -7.591412377e-08 1.82194956e-07 -1.561214562e-06 1.513012897e-06 -2.103277986e-05 -1.091691495e-07 2.005639116e-07 -3.455573794e-08 -1.433041372e-06 3.240310066e-06 -1.107767023e-07 2.111335136e-07 -3.787566633e-06 -1.450862244e-06 3.401642828e-06 -6.484618255e-08 1.422739374e-07 -1.8597724e-06 5.343369073e-07 -1.639875711e-06 --0.007309033276 -0.03351583095 -0.0116481402 -0.0006491278137 -0.0004139888794 -0.0002729211173 -5.713761523e-05 -1.865601641e-05 -8.306729322e-06 -8.090293663e-06 -2.497489991e-06 -1.243062761e-10 -1.669305945e-06 0.008824025533 0.02643610119 -0.01083708186 0.007127972368 -0.0002015704928 -0.001472589974 3.52602457e-05 0.001383652854 -0.012723685 9.534365804e-06 3.826563704e-05 -0.006101755403 1.860833168e-06 2.007588263e-06 -6.727936318e-05 3.881414542e-05 -0.0001664800759 5.311607262e-05 -5.181984788e-06 1.138595806e-05 -0.0003341989262 2.281908464e-07 1.34363654e-06 -1.518380807e-06 1.903223607e-07 5.064664436e-06 1.880777861e-06 -1.019474052e-09 1.599936591e-06 -3.533598973e-05 5.748146443e-07 4.822457239e-07 6.399961757e-07 1.620823302e-07 1.62219409e-06 -1.561135577e-06 6.555197633e-07 7.19730981e-07 -6.279307449e-06 -0.001052047141 0.001981381116 -0.02382408269 0.01743032163 0.01255967159 -0.0001543600441 0.0002638832136 0.0007046304503 0.005439314234 0.009708251787 -9.629451975e-06 2.841073118e-05 -0.002467337713 0.0001825344565 0.005110410398 -0.0002237562978 0.0003479999217 2.277621912e-05 -6.304443036e-06 -0.00499859777 -1.100354908e-07 1.731155665e-07 8.419299432e-07 -7.727627855e-08 -0.001078925255 1.260654633e-07 2.336996832e-07 -6.615282162e-05 3.786858867e-05 4.556903232e-05 -1.571098158e-08 4.227487805e-08 -6.622179408e-08 -8.599514848e-08 -0.0001762966552 -8.318324608e-08 2.526758443e-07 3.053245294e-06 -5.948137315e-06 -4.100804742e-05 -1.551847443e-07 4.39096653e-07 -7.739584593e-06 2.137389555e-06 -8.743514916e-06 -4.853235563e-08 1.303457967e-07 -1.1166397e-06 7.158919453e-07 -1.418545147e-05 -9.371821958e-08 1.783447843e-07 -2.040717917e-07 -6.366425937e-07 2.630808778e-06 -8.512647476e-08 1.775622591e-07 2.306424563e-07 1.88373117e-06 -5.72038406e-06 -4.911464106e-08 1.18556225e-07 -2.416040907e-06 5.322408812e-08 2.739003675e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.01799345834 -0.02314170501 0.005148246673 0.004113663011 -0.03711442399 0.03300076098 0.002455859289 -0.01609809545 0.01364223616 0.0009290815387 -0.005169934235 0.004240852696 -0.000556608114 0.0001661732685 0.0003904348455 0.003027101359 -0.003300663439 0.0002735620798 0.0008256760815 -0.0009561237265 0.000130447645 0.0001296865374 -9.798293098e-05 -3.170360641e-05 -3.035230701e-06 -0.0002366169605 0.0002396521912 1.251020389e-05 -6.895859167e-05 5.644838778e-05 -1.724103712e-05 3.947265868e-06 1.329377126e-05 6.280694769e-06 -1.872383992e-06 -4.408310777e-06 1.763615602e-05 -2.018104933e-05 2.544893312e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0001067311622 0.0005716069962 0.0002996472108 5.393429113e-05 3.058839376e-08 3.584270921e-06 3.455115278e-06 1.402692575e-07 3.229039252e-09 2.638143665e-07 9.200157373e-09 1.819535066e-08 2.565067025e-08 0.002939739135 -0.002147186714 -0.001183951081 -0.0004483812069 0.002394049369 -0.002217233899 -0.000109600286 9.831198424e-05 0.0001062190373 -2.316274033e-06 6.849268553e-06 0.000142594331 1.889160641e-08 -1.562393483e-08 2.211553764e-05 0.0001412201805 -0.0001424597479 1.144251025e-06 1.025325895e-08 -6.958658185e-08 3.753462556e-06 -5.815876649e-07 3.910396252e-06 -2.381523105e-06 2.14568259e-06 -8.702197839e-07 -5.71887327e-07 7.178985953e-07 -3.074341204e-07 -2.831071408e-07 -6.711294193e-09 -4.516796476e-09 -4.729386885e-08 2.976488271e-07 -1.608931969e-07 1.687238555e-08 8.21115764e-07 -3.897540038e-07 -4.249312624e-07 -6.207427381e-05 -2.178611638e-06 2.888877686e-05 0.0004193316174 -0.0004393489448 -1.676869586e-05 1.646623842e-05 -0.0008266413931 -0.0007282308428 0.001305325253 -3.958330076e-07 3.365582525e-07 3.088106897e-05 -0.0001469676094 -1.790476944e-05 -3.294978481e-06 5.176777711e-06 8.335435491e-06 -1.256830663e-05 4.102029615e-05 -1.038915801e-07 -3.213492007e-07 1.191279236e-05 -4.717500421e-06 2.498663765e-05 5.833440782e-10 5.940313487e-08 3.733298788e-06 -1.553133698e-06 8.831156462e-06 -2.564907817e-07 1.539487976e-07 -1.837894437e-08 -2.083989244e-09 2.913707701e-08 3.344379603e-08 -8.276290044e-08 1.221906762e-06 -4.060739477e-09 -1.016196081e-06 -6.107392495e-09 -1.436130669e-08 7.799240487e-07 -2.832329845e-07 8.226242473e-07 -2.580862029e-09 3.93499934e-09 -1.390459612e-07 2.114642459e-07 -5.960708606e-08 -2.913291053e-09 -2.949315257e-09 -8.064827113e-08 -1.259704539e-07 1.930789771e-07 -3.194267914e-09 -2.763569437e-09 -3.874425787e-08 -7.279375885e-09 1.580956565e-07 -2.882086734e-09 -1.358109734e-09 4.123526813e-08 -4.969213752e-08 -9.442707074e-10 --4.323224143e-06 -1.77554922e-05 -4.420392729e-06 -3.45789842e-08 -3.964932023e-07 -9.174958829e-08 -2.371081077e-09 -2.629672089e-08 -1.81873064e-09 -5.9280341e-10 -3.496639478e-09 -6.778623844e-11 -3.832072686e-10 0.01086770412 -0.01097310918 0.0001189129236 -0.005520991608 0.005385441436 0.0001346613608 0.0003738068627 -0.0003730037722 -7.666419682e-06 -5.719280571e-05 6.190370829e-05 -6.761781985e-06 -4.012716537e-08 7.885152878e-08 -7.050505294e-08 1.091650957e-05 -6.851153923e-06 -4.194342074e-06 1.193651292e-05 -1.262919081e-05 5.822826265e-07 -4.376715662e-07 4.440463923e-07 -1.519211247e-08 -1.951845217e-08 -1.48766366e-07 1.689464712e-07 1.729321516e-06 -1.983568289e-06 2.425110797e-07 1.439563521e-06 -1.648574255e-06 2.060692295e-07 7.630247962e-07 -6.038477716e-07 -1.582369765e-07 7.846138574e-07 -8.381072608e-07 5.150783011e-08 -0.0001681847424 8.230956785e-05 -0.0002713020184 0.01255511636 -0.01219260626 0.0001360333617 -0.0001203520424 -0.000229384243 -0.007417811061 0.007639673203 1.173261315e-05 -2.039259534e-05 -0.0009749668492 0.000987230323 -4.029897459e-06 1.562514557e-06 -1.987798866e-06 -7.57483437e-06 6.750986436e-06 -1.485732059e-06 2.589342358e-06 -2.494780942e-06 4.740289459e-06 -4.805501304e-06 -2.326416319e-07 1.150193313e-07 -4.274826219e-07 2.338095522e-07 4.585895846e-05 -4.575480516e-05 8.925215854e-08 -1.003664899e-07 2.879721828e-06 -2.944545621e-06 -7.106788855e-08 -2.991813734e-08 2.655267039e-08 -1.620029576e-06 1.602604962e-06 1.625480608e-08 4.808027709e-08 -7.953786999e-08 -2.016472318e-08 2.349447333e-06 -2.294023925e-06 3.639793068e-08 -5.391611208e-08 1.247261594e-06 -1.543893909e-06 2.991097888e-07 7.485523652e-08 -8.627279653e-08 -8.360758411e-08 1.745334984e-06 -1.649635449e-06 2.376476498e-08 -3.423593286e-08 -5.997368817e-08 2.397140654e-06 -2.326365603e-06 1.752178088e-08 -2.617946227e-08 6.007082872e-07 -8.773441969e-07 2.832377802e-07 --0.01352519994 -0.05974268203 -0.0186248165 -0.0006563369189 -0.0009625938385 -0.0004385995762 -5.70052893e-05 -5.382473648e-05 -1.324202372e-05 -8.921781318e-06 -7.289860237e-06 -1.29165639e-09 -2.335610896e-06 0.07964152311 -0.01885925806 -0.01660171479 -0.00574680729 0.01753896191 -0.006433287207 0.0001323736417 0.001892867491 -0.02350870664 -1.443489128e-05 0.0001648623185 -0.009595341586 1.597790393e-05 -1.192825352e-06 -8.4784262e-06 0.0001269066384 -9.59392747e-06 -0.0003694992749 2.064744865e-05 -8.357315908e-06 -0.0005429958753 -2.088247228e-07 4.215251673e-06 -7.727674004e-07 -2.493457888e-07 1.173966667e-05 -1.171677194e-06 4.453056072e-06 -1.970602132e-06 -5.971039334e-05 3.696408652e-06 -1.658856444e-06 -2.016300646e-06 3.623890605e-06 -1.415610787e-06 -1.425715288e-07 3.337681021e-06 -8.097144683e-07 -1.129174028e-05 0.0009694510183 0.0002090828572 -0.04187710285 0.06623306327 -0.01113037713 0.0001753303412 1.975043901e-05 0.001023959997 -0.005677020786 0.03280187875 1.014757303e-05 2.858238319e-06 -0.001121499074 0.00544185579 -0.001519178992 9.953943647e-05 -6.37949522e-05 -5.753390549e-06 7.376220367e-05 -0.009167831424 -2.096741185e-09 1.537416432e-06 1.056785471e-05 -6.562793058e-07 -0.001474782205 -6.926784448e-08 -1.68962159e-07 -3.684626392e-05 0.0001787283839 -3.316986788e-05 3.419968586e-09 2.920283036e-09 1.198259697e-09 1.07021718e-07 -0.0004014984998 -3.919720643e-09 1.780215337e-07 -2.829443206e-06 -4.636552644e-06 -5.078924751e-05 1.360029455e-07 2.251346748e-07 -2.529208029e-05 2.228144187e-05 -1.600307421e-06 5.058172697e-08 7.688309506e-08 5.91715891e-08 -1.406357979e-06 -3.635867133e-05 8.068265875e-08 4.722862395e-09 -4.315656143e-08 4.64638533e-06 -1.348888313e-06 8.064872769e-08 4.147015989e-08 -7.320309189e-06 5.307412913e-06 -1.220219097e-06 4.382250185e-08 5.081609573e-08 -1.735347468e-06 -2.076313977e-06 -1.456925542e-06 -0.01309911957 0.06006647671 0.0208755899 0.001163355334 0.0007419435138 0.000489124377 0.0001024010188 3.343498113e-05 1.488717269e-05 1.449928055e-05 4.475957186e-06 2.227794994e-10 2.991700454e-06 -0.07557642442 0.01356035245 0.01824552492 0.003900278694 -0.0161138865 0.002439383027 1.966598765e-05 -0.002553906128 0.02279445148 4.171185693e-06 -9.677006834e-05 0.01094239018 -6.783675815e-06 1.201878312e-06 0.0001192257606 -6.737873586e-05 0.0001508512072 5.013445927e-05 -1.536656783e-05 5.361588211e-06 0.0005978317065 1.283163799e-07 -2.897132602e-06 2.673030212e-06 -1.460921585e-07 -1.36478969e-05 1.005398427e-06 -3.017079093e-06 9.967940218e-07 6.248326716e-05 -2.807318189e-06 3.48060435e-07 -5.821768305e-07 -3.708402406e-06 1.063509506e-06 2.244983844e-06 -2.635965272e-06 4.187892368e-07 1.100613933e-05 -0.0007467129285 -0.0005418473638 0.04180992313 -0.05982114426 0.006583810282 -0.0001158654384 -9.556308628e-05 -0.0009542375802 0.002977049085 -0.03041769331 -5.654032211e-06 -6.689210586e-06 0.005934549094 9.032653994e-05 -0.01111019478 -0.0001626751033 -6.414589176e-05 1.128652096e-05 -2.021835905e-05 0.008941963301 -8.949451677e-08 2.084811184e-08 -1.701180148e-06 -1.928771903e-08 0.001933936335 6.761486965e-08 -1.722568778e-08 0.000108545912 -0.0001556699885 1.545141236e-05 -9.263923829e-09 -1.867672853e-08 -3.541938491e-08 2.849105989e-07 0.0003159593756 -5.083249431e-08 -2.074885836e-07 2.251418178e-06 3.947773829e-06 7.243743543e-05 -9.586459335e-08 -2.927692743e-07 1.094552809e-05 6.478044079e-06 8.166366305e-06 -3.086839749e-08 -8.45854603e-08 8.10547263e-07 5.958682345e-07 2.470354085e-05 -6.380616906e-08 -3.003964015e-08 3.435097659e-07 -4.794900918e-06 1.185395373e-06 -5.724190981e-08 -7.269719927e-08 -4.649551328e-06 9.1820277e-07 1.015825372e-05 -3.1593409e-08 -6.565910384e-08 3.818946577e-06 -1.481234318e-07 4.569634255e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.2639982369 0.001205578172 0.002078167571 0.002918528218 0.002852961161 0.1790322028 0.0006921645132 0.0005555021375 0.07151661371 3.358539776e-05 2.724439595e-05 0.006072041596 -5.712882517e-08 7.655188296e-08 -0.001246418362 -0.002807959707 -0.0001197851296 -8.370173022e-05 -0.0004808155083 -4.436690024e-06 -4.409031681e-06 -0.0002908126152 -2.773659214e-07 -4.541590061e-09 0.0002557185401 8.328157801e-05 2.781907866e-06 -3.421920224e-07 -3.123057387e-07 -4.050715352e-05 5.947876637e-08 -4.291593688e-09 0.0001101602462 -9.832078092e-08 -9.757251627e-07 -3.367656915e-05 2.208053591e-05 4.93161866e-07 4.012259278e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.136759867 0.2495384266 0.1183741171 0.02744512307 -0.0004259485133 -0.002520417748 -0.001910784133 -0.0002082137869 2.776890596e-05 0.0001246485062 2.302876194e-05 1.325936575e-05 -1.870597394e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.03127525951 0.005494326129 0.003983148203 3.969373339e-05 0.000549671634 -0.0001211296958 6.571698562e-06 3.382323651e-05 -1.114554386e-05 5.030615627e-06 9.422005601e-06 1.273905221e-06 2.944315341e-06 0.1323912725 0.0003909119965 0.02921426462 5.766675355e-05 0.006250515562 -0.003403840587 -1.485951533e-05 -0.001867105443 0.00443680683 3.240729491e-06 0.0003656039655 0.001366664274 -0.0001145380224 -5.139013819e-10 0.0001779611418 5.83804182e-05 3.374046054e-07 -0.0001034449396 2.169933899e-05 5.869952752e-07 4.601998696e-05 1.659674218e-08 1.742906117e-05 2.963978566e-05 -1.210641975e-05 2.867779831e-05 4.53217723e-10 2.324712673e-05 1.222697536e-07 2.227096826e-05 1.403402863e-05 1.745926967e-07 8.72764537e-06 1.787836085e-05 1.034030048e-07 -1.329429507e-06 1.289057784e-05 4.836804013e-08 8.859290971e-06 -5.290414375e-06 -0.003276907408 0.03531854714 0.1385178612 0.000625854789 -5.592906919e-05 -0.0004535323248 -0.001858137465 0.0002583059723 0.03363716185 -6.410845458e-07 -6.697727842e-05 -5.565339435e-06 -0.002679378237 0.0007633423194 -2.08755938e-07 -1.104230886e-05 -4.095444652e-06 -0.0002674828357 0.00149216675 -2.80010304e-07 -2.453633862e-05 -0.0001188698184 -6.13148686e-07 -0.0001884128713 -2.161080613e-09 -1.121032814e-07 -5.91105154e-07 1.177803822e-05 1.478074919e-07 -2.474382572e-08 -2.722592647e-07 8.302464299e-07 1.276481795e-05 3.973266777e-05 -2.462481775e-09 -2.908972312e-07 4.183446625e-07 1.195534794e-05 -7.642393501e-06 -1.608752281e-09 -1.003469931e-06 4.301846484e-06 3.719373081e-05 9.406691721e-08 -2.154040956e-09 -3.072733325e-07 1.707648103e-05 1.486404674e-07 1.033953599e-05 -1.39406273e-08 -2.712912285e-07 2.967047924e-06 1.088193374e-05 2.630195707e-07 -1.271864742e-09 -3.37626031e-07 3.328483927e-06 1.440450968e-05 3.877550917e-07 -8.11888206e-10 -2.401580976e-07 1.385889647e-05 1.006455308e-07 2.063472015e-06 --0.03400284354 0.003588263554 0.005230293025 0.000182094621 0.0005264273819 -0.0001281985288 1.519275872e-05 3.149132847e-05 -1.815450395e-05 1.056959613e-05 7.491037766e-06 1.050273473e-07 4.306753964e-06 0.132840086 0.006926056395 0.03524201336 0.0002507050947 0.008181088315 -0.00284892788 -2.094253217e-06 -0.002257155031 0.004441134928 6.998848729e-06 0.0003078763911 0.002049530513 -0.000130699398 -3.80839705e-07 -3.842171015e-05 4.7122312e-05 -6.897808692e-06 -5.365659599e-05 1.668910718e-05 2.884928638e-06 6.378519466e-05 2.693632591e-08 1.706600503e-05 6.68013998e-06 -1.024252082e-06 2.63935855e-05 1.049424309e-07 1.911983491e-05 5.064177389e-07 2.571949386e-05 1.43601749e-05 9.196728095e-07 2.709340716e-06 1.740628975e-05 8.763258401e-07 2.487225682e-07 1.225815726e-05 2.323093089e-07 9.604008143e-06 -0.0005930404856 -0.002801021284 0.03833418148 0.1296496341 0.003644786517 -0.0001707246494 -0.0005033511969 -0.001289328504 0.0008894809433 0.03962388807 -1.703508023e-06 -3.201976751e-05 -1.520417585e-05 -0.001727873914 0.0001561498279 -8.088160454e-05 -0.0002180902584 -6.002401926e-06 -0.0005486307191 0.001710330277 -8.012579421e-11 -3.836641423e-06 -4.83903662e-05 -6.799163307e-07 -0.0002269653891 -1.069355387e-08 1.99534724e-07 -7.379845079e-06 -1.714174967e-05 -8.345208005e-07 -2.269152495e-09 -6.139230041e-09 2.069130911e-09 1.161515487e-06 4.724681869e-05 -2.367989516e-10 -5.426559099e-07 1.678245545e-06 2.904191299e-05 -3.21999824e-05 -3.854854129e-08 -7.680128386e-07 2.331052269e-05 1.955101669e-05 2.969642796e-07 -1.775454332e-08 -1.858657771e-07 1.141847439e-05 4.780481679e-07 7.23402688e-06 -4.645274426e-08 -2.879332569e-07 -2.960960409e-07 1.1452873e-05 1.433667374e-06 -4.330175797e-08 -2.963406998e-07 5.144210215e-06 1.295091149e-05 1.257958044e-06 -1.672307619e-08 -1.932152114e-07 1.234506887e-05 5.254742876e-07 3.448409215e-07 --0.0340004526 0.002506633008 0.005685728861 0.0002918431373 0.0004659891876 -0.0001214089154 1.890373931e-05 2.591681778e-05 -1.923921071e-05 1.28979605e-05 5.734561942e-06 -4.384293514e-08 4.856399028e-06 0.140867462 0.003382134303 0.03615613779 9.598550036e-05 0.008757312642 -0.00134165043 -2.712502243e-07 -0.00244415173 0.004205014175 1.480215854e-06 0.0002471061128 0.002336435703 -0.0001343463908 -3.203188961e-07 -0.0001497836076 1.652804876e-05 -1.385836343e-05 -1.221785959e-06 1.567672496e-05 2.166418749e-06 7.164012297e-05 8.289343774e-09 1.728607694e-05 -8.216813852e-06 1.103440666e-05 2.180816394e-05 5.973803405e-08 1.766628547e-05 1.665375321e-07 2.499122157e-05 1.650662571e-05 1.598670707e-07 -1.235307028e-06 1.664829557e-05 3.980604775e-07 3.009584196e-06 1.216044361e-05 7.402827233e-08 8.994126169e-06 -0.000329918727 -0.003099977832 0.03689993729 0.1309150533 0.00131759385 -6.905440623e-05 -0.0006911574803 -0.0008890498919 0.000262913761 0.04327930206 -4.274579904e-07 -2.147980606e-05 0.0003526914177 -1.004441191e-06 -0.001678921834 -8.715080331e-05 -0.0009140122529 -4.082124421e-06 -0.0001956855216 0.001717093459 -6.664372588e-08 -3.44462619e-07 -9.350238094e-06 4.499075194e-08 -0.0002232502124 -1.023844394e-08 1.797167617e-07 -3.995950516e-05 -2.777713618e-06 -3.171228582e-07 -5.679159491e-10 -2.996142761e-07 -1.085089183e-08 -7.138449978e-06 4.611090636e-05 -8.325668403e-09 -7.292919396e-07 9.262441997e-07 3.716673397e-05 -3.743019965e-05 -1.810569468e-08 -6.932089209e-07 4.049105138e-05 7.765710848e-07 1.257955945e-06 -7.490985371e-09 -1.545524887e-07 9.764302972e-06 1.504596755e-07 5.160664798e-06 -2.595383588e-08 -3.430853727e-07 -1.055836543e-06 1.286447838e-05 9.007454998e-07 -2.134094498e-08 -3.065790114e-07 1.298257094e-05 4.976495714e-07 6.070566886e-06 -8.568238382e-09 -1.876223487e-07 1.170498525e-05 -7.278459531e-09 1.401227171e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00244083346 0.002848844396 0.0003457357654 -4.351245903e-05 -3.412171541e-07 -1.172261895e-06 -2.395828425e-06 9.408634828e-07 -1.031390748e-08 -6.134185158e-07 9.113159266e-08 -7.745660201e-08 -1.16496011e-07 0.000887378457 0.004282433347 -0.008422582153 -0.02298852507 -0.0005391428887 0.02397500601 -3.16364662e-05 -6.853069144e-06 0.0005332889706 -1.891443669e-07 -9.98173452e-09 1.269057415e-05 -2.714642774e-10 -5.695305967e-09 1.248146012e-05 -5.180005491e-05 -2.303794188e-05 7.807455026e-05 -2.058450697e-08 -5.917823654e-09 -8.283792732e-06 -7.913027227e-07 -1.846949707e-08 1.43811017e-06 -1.679464545e-08 -1.367956104e-07 3.796325129e-07 7.058864632e-08 8.968268991e-07 -1.624190348e-06 1.907606242e-07 -4.425609334e-09 -1.785345508e-07 1.088151799e-08 8.821460009e-08 -3.555814276e-07 8.795888643e-08 6.350605342e-07 -8.467456728e-07 -6.961307146e-07 -2.57365483e-05 -0.001364904069 3.558426101e-05 -0.0003006910919 1.79678357e-06 3.649381663e-05 -0.003965081387 0.003056981052 0.0002081473282 1.171666402e-08 -4.087530787e-06 -0.0002571167241 0.0002686262669 2.472740206e-05 -3.65882049e-09 3.559515318e-07 2.175968027e-08 3.868842415e-07 -7.376855229e-06 -2.253060629e-10 -4.751737193e-08 7.072169659e-08 8.751514074e-07 -1.005820775e-05 -7.305231862e-12 -1.261877449e-10 -3.187911732e-08 -7.876347196e-07 6.912983322e-06 1.069832777e-08 1.437681555e-06 -1.344812828e-07 4.490822006e-08 -1.20226087e-06 5.437516977e-09 1.361545404e-08 -4.154213437e-07 -7.815715843e-07 5.942276772e-09 -2.91183907e-11 -3.462904095e-09 1.091783649e-08 1.4614323e-07 -9.842603599e-07 5.433682597e-11 -4.416719418e-09 5.689234753e-07 -1.920028607e-08 -3.886740763e-07 -6.067061903e-13 6.158308711e-13 3.227751062e-10 -1.236688995e-10 -3.544760441e-11 4.013433423e-11 -4.413370941e-10 -3.223545793e-09 -1.464828919e-08 -1.391088637e-07 -6.741428695e-10 -3.860231087e-09 6.801572978e-08 -4.840889836e-09 -8.01860098e-08 --0.1294773005 -0.0941058951 0.001418853687 0.0005072630364 0.0003898060783 -0.0002042401565 -6.977209769e-06 0.0001016075576 -1.973446046e-05 3.629213456e-06 1.857126119e-05 2.2649049e-06 4.245712546e-06 -0.001792844529 -1.904363329e-05 0.1242879785 1.768081802e-05 0.001201252171 -0.07357135223 -2.098876532e-09 -1.242229337e-06 -0.01633181958 1.175936002e-07 3.058936759e-06 0.00169506136 7.537665457e-07 1.184156261e-10 0.0002486624473 6.499429446e-07 5.16921696e-08 4.391291338e-05 1.7533015e-09 3.714772198e-11 -1.634071937e-06 5.124270403e-10 2.755863533e-07 9.742422583e-05 -8.392491683e-06 1.592678527e-07 -2.796099299e-11 -9.60458938e-08 3.567255086e-09 2.184852474e-05 -2.048834398e-07 1.775446096e-08 2.480380235e-05 -3.811053942e-07 8.31233061e-08 5.659316227e-06 -9.628881707e-08 -2.561175954e-11 1.283243734e-05 3.039757005e-07 6.891808607e-05 0.1050762486 0.001771273443 2.798145638e-05 1.776495179e-07 -7.217269677e-06 0.007621835946 -5.393189728e-05 -0.002351564351 9.107856081e-10 -1.306856131e-06 5.64623243e-08 3.316447052e-05 -0.0094705678 -1.699560964e-11 -5.137519868e-09 1.060558357e-08 2.677879209e-08 0.0006740924741 2.11411677e-10 -5.056389384e-08 -6.348871894e-08 -2.468302917e-10 -0.0005722431331 1.193394914e-09 5.34975315e-07 9.745475243e-05 -5.466357309e-06 -1.230628467e-07 -1.183288764e-11 7.702507074e-10 5.358616387e-09 2.069833073e-08 0.0002243786055 6.428741376e-13 2.413944559e-09 -4.757663664e-07 -1.007167227e-05 -3.700651655e-05 5.116276052e-12 -1.689290982e-08 -1.633527496e-06 -1.671547187e-07 -9.349336293e-10 -2.173351912e-12 7.371753051e-09 -5.391825365e-09 1.741843062e-08 3.100742579e-05 1.861116219e-10 7.934051539e-09 3.749967927e-06 2.631894889e-07 2.612217138e-08 -3.933817243e-12 3.561444933e-09 4.002161109e-06 8.666519371e-09 4.744894451e-09 -1.480023586e-12 3.974547338e-09 7.710641274e-08 6.046426221e-08 8.007908072e-06 -0.06146418715 0.05124151379 0.0007841563878 -0.0005564076588 -0.0001562781042 8.233155341e-05 7.651197758e-06 -4.528521008e-05 9.881917486e-06 -3.66543922e-06 -7.598017887e-06 -7.23350463e-08 -2.639450293e-06 -0.0001227407935 0.005449039559 -0.06968794228 -0.004199488751 0.0006719306414 0.03379928863 -1.853752336e-06 1.771727993e-06 0.009505917338 -1.457573498e-06 -4.006665721e-07 -0.0006917410924 -6.921163334e-07 -1.194994022e-06 3.658866422e-05 -5.56490794e-06 -2.598424955e-05 -3.580898336e-05 -1.928520864e-08 2.261560443e-07 -5.295246552e-05 -2.234853706e-07 -3.309695758e-07 -5.132552797e-06 -6.250436814e-08 3.378774114e-09 4.201142691e-09 -2.900188108e-08 3.714882727e-07 -1.733107303e-05 -9.272767505e-08 1.82574692e-06 -7.813028113e-06 -4.453218511e-08 1.571667549e-06 -4.29570813e-06 8.035186803e-09 1.990285914e-07 -6.492702314e-06 2.49321864e-05 -0.0001187996528 -0.04818373264 -0.0002892093747 -0.0004708414066 3.390949469e-07 2.382417037e-05 -0.01169762047 0.004820453922 0.0003431439807 -1.461255006e-07 3.284261411e-06 -0.0002009696374 -2.627446771e-05 0.004226813423 -1.651200997e-10 5.239518692e-07 1.234766731e-07 -5.129813762e-08 -0.0002910951726 -1.513957172e-09 8.114573847e-09 1.184786162e-07 2.504959311e-07 0.0002923351967 -4.861624608e-09 -2.740305863e-09 2.161425418e-05 -4.835413898e-07 1.786527447e-05 2.442801306e-12 -7.021088306e-10 9.335308239e-09 -3.361851987e-08 -0.0001527157099 -4.369386445e-10 3.959071274e-10 -8.475811383e-07 1.242534371e-06 2.641146e-05 -5.173681294e-10 1.566555659e-08 4.803908701e-06 7.535469695e-07 4.407615617e-07 2.759677555e-10 -1.298454735e-08 -1.60715226e-07 5.107128454e-07 -1.713686569e-05 -2.536346553e-10 -1.379536569e-08 5.945987305e-07 1.039981866e-08 -1.585282843e-07 1.269864427e-10 -3.794166838e-09 -2.324988428e-06 -1.739119435e-09 -1.455044114e-07 2.056395642e-10 -5.741915623e-09 -2.704598173e-07 6.026596158e-07 -3.522715641e-06 -0.06076388899 0.05422902815 0.001783539448 -0.000707764579 -0.0001346621785 6.496255341e-05 6.567803543e-06 -3.752104426e-05 7.842008698e-06 -5.155438212e-06 -6.014849545e-06 2.745770586e-08 -2.936875781e-06 0.0003484675028 0.004396767513 -0.07161837605 -0.003457168631 4.802087079e-05 0.03068509085 -2.96228856e-06 8.002274185e-07 0.01023074567 -4.352130375e-07 -4.309946886e-07 -0.0005746197884 -2.386743004e-07 -1.153574182e-06 0.0001153101068 -4.826529666e-05 -3.78949707e-05 1.326444018e-05 -1.453182125e-08 1.634126779e-07 -9.023017179e-05 -2.545609945e-07 -3.662288028e-07 1.46861255e-05 -1.077310146e-07 1.086268139e-07 8.957552842e-08 -4.47507e-11 2.606611822e-07 -2.077822792e-05 1.28962976e-07 2.058816462e-06 -5.412886591e-06 1.083555834e-08 6.430139815e-07 -3.799272509e-06 2.945065796e-08 1.313121944e-07 -6.243092058e-06 2.130454396e-05 -0.0001113111245 -0.04718830258 -0.000542209661 0.0004247297028 1.0040258e-07 1.691567438e-05 -0.01216574726 0.002771174861 0.0008797204113 -1.948484995e-07 2.540825332e-06 0.002484933386 0.0007243322843 0.000357845154 3.48148508e-09 5.57815652e-07 3.358738913e-08 -1.985609087e-08 -0.0002686322669 2.320311781e-11 -1.743486349e-09 1.411977542e-07 5.305997306e-08 0.000257017703 -3.57048332e-09 9.593916507e-08 2.666333646e-05 3.146260401e-05 3.226150128e-05 4.656572876e-10 2.65888351e-09 -1.218435057e-08 -1.340869083e-08 -0.0001577953404 -2.522054235e-10 9.849554362e-10 -3.906208819e-07 4.577426556e-07 1.829022112e-05 -3.829466353e-10 1.05055562e-08 5.92554684e-07 -1.645304293e-06 8.972883084e-06 3.884264813e-10 -1.304132891e-08 -1.81708005e-07 3.760488493e-07 -1.536574168e-05 -2.298410736e-10 -9.822403326e-09 7.422334976e-07 -3.423962401e-10 -2.725284513e-08 1.152898918e-10 -2.866864991e-09 -1.082138731e-09 1.329542869e-08 -2.838559331e-06 2.49605719e-10 -5.585419792e-09 -5.464899697e-07 -1.435393293e-06 -6.637676224e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0315207961 0.004240406438 0.02728038966 0.03459095925 0.003861347286 -0.03845230653 0.01622526287 0.002308891127 -0.018534154 0.005048355827 0.0009284089503 -0.005976764777 -0.0003128281511 -0.000295584708 0.0006084128591 -0.002844672499 0.0002381998155 0.002606472683 -0.0009961451231 0.0001371806506 0.0008589644726 2.339432406e-05 4.529213494e-05 -6.868645901e-05 0.001182970125 -0.001146545705 -3.64244205e-05 6.503981763e-05 1.275338299e-05 -7.779320061e-05 -8.93281453e-06 -7.611281888e-06 1.654409642e-05 -5.028909249e-07 -2.088867461e-05 2.139156553e-05 -1.956140589e-05 2.66178101e-06 1.689962488e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0007402541637 0.003964488442 0.002078259909 0.0003740714778 2.121515907e-07 2.485938894e-05 2.396360555e-05 9.728639677e-07 2.239561251e-08 1.82973444e-06 6.380943168e-08 1.261972962e-07 1.779050754e-07 -0.0007938852837 -0.007934778651 0.006014044498 -0.006450604224 -9.886780893e-05 0.004665976502 -0.0004730921291 -2.276497733e-05 0.001154267179 -1.956373912e-05 -8.065419233e-07 0.001040799676 -3.444300088e-09 -8.543142985e-08 0.0001534980338 -0.0001066825077 -4.778366244e-05 0.000153805085 4.063020947e-08 1.765575734e-08 2.556304607e-05 -9.970492855e-06 -2.116761087e-07 1.675224661e-05 -4.33485722e-07 -4.269326417e-06 9.582592954e-06 -1.220915087e-07 -1.777348471e-06 2.782750861e-06 5.397392062e-08 4.628601065e-10 -4.603269005e-07 -6.199539334e-08 -7.703427098e-07 1.897854266e-06 -1.941729558e-07 -1.581766279e-06 1.820539169e-06 -8.07914549e-05 1.8878034e-06 0.002176303292 -7.654235348e-05 -0.002404965712 -4.727673336e-06 -5.68701509e-05 0.003558464615 -0.00504285022 -0.0001868946256 -2.427792109e-07 -2.524758316e-06 -7.852316311e-05 -0.0008515297714 3.087286908e-06 -3.722512978e-07 -3.794770267e-05 -8.726517884e-07 -0.0001218176274 0.0004292079522 -5.733058726e-08 9.724617762e-07 -1.7839668e-06 -3.138314428e-05 0.0002525065019 -6.554206648e-11 -1.664737633e-09 -4.073888462e-07 -1.418169664e-05 9.137796676e-05 -7.806035097e-08 -3.740498614e-07 -1.31233616e-07 -7.932357346e-09 -5.976197836e-08 -5.45860012e-08 -5.607638683e-08 9.779826375e-07 2.081854622e-07 -1.898637629e-08 -3.892138982e-09 2.899878862e-08 -1.212891628e-07 -1.796632759e-06 1.090121163e-05 -1.3402057e-09 -9.899757525e-09 6.757436405e-07 -2.250597987e-08 -5.437513302e-07 -1.474612078e-08 5.963707275e-10 3.871798175e-07 -4.542500757e-07 -5.334868956e-08 -6.886908478e-09 1.394573464e-09 1.217070122e-08 -2.309718172e-08 7.5239382e-07 -2.73465845e-09 1.728232886e-09 -9.346304837e-08 6.770072601e-09 -6.9126687e-09 -0.0152993279 0.06283437736 0.01564319489 0.0001223705272 0.001403137869 0.0003246898587 8.390947515e-06 9.306067471e-05 6.436251167e-06 2.09785416e-06 1.237415229e-05 2.398866806e-07 1.356120678e-06 -0.06199734367 -0.0001515275133 0.01434628393 -7.76733334e-05 -0.01149101795 0.01471407646 -1.008824733e-05 -0.001337295139 0.02563581258 -3.856177873e-06 -0.0002697000452 0.007531351638 -1.774021306e-05 1.49487063e-10 0.00013020779 -7.52909321e-05 -8.284969072e-07 0.0005325856116 -1.80775932e-05 -1.188897494e-07 0.0004088709851 -5.882686667e-09 -4.93728582e-06 3.614639791e-05 6.69898349e-06 -9.040678475e-06 1.908882353e-10 -4.028447416e-06 4.320179825e-08 4.551633806e-05 -2.509226019e-06 5.608569603e-08 1.286274381e-05 -2.554911395e-06 4.125209648e-08 -8.130488538e-07 -3.322764597e-06 -2.379763333e-10 1.03496882e-05 -2.855908934e-06 -0.001345338162 0.0425340455 -0.05971674311 -0.0003416037149 -1.820032505e-05 -0.0001339193822 -0.0009698322353 -0.0001634523507 -0.02758900786 -1.922914196e-07 -3.562780755e-05 -1.427141618e-05 -0.006090384306 0.007649470684 -6.356028856e-08 -1.49049653e-06 6.024128154e-07 3.42354896e-06 0.009675857126 -8.585770268e-08 -9.47504172e-06 -2.0355702e-05 -1.078802009e-07 0.0007494486409 -3.007946286e-09 -7.78344993e-07 9.892033429e-06 -9.82525256e-05 -1.097787387e-06 -7.592303806e-09 -1.092227846e-07 -3.131568768e-07 -3.95407793e-06 0.0005246192071 -8.074874349e-10 -9.506946092e-08 4.474767027e-07 1.007992483e-05 5.618223768e-06 -4.762214633e-10 -3.866207221e-07 1.128797862e-06 -1.41523608e-05 -4.091105329e-08 -6.230212902e-10 -2.092505221e-07 -1.068208483e-07 1.087353463e-07 5.34350644e-05 -5.088127728e-09 -1.12274517e-07 1.448129257e-06 -3.590583594e-06 -1.267657252e-07 -3.510018377e-10 -1.414361441e-07 3.486164591e-06 -4.358191551e-06 -1.547001035e-07 -2.270086051e-10 -1.24819631e-07 8.372072269e-07 1.29039871e-07 6.434046835e-06 --0.007549205771 -0.03334588782 -0.01039560028 -0.0003663400525 -0.0005372799658 -0.0002448080965 -3.181798871e-05 -3.004273601e-05 -7.391148546e-06 -4.979768381e-06 -4.068897703e-06 -7.209490369e-10 -1.303641154e-06 -0.004053781362 0.03876764188 -0.01005410935 0.01073759717 -0.003799435918 -0.003947063679 -0.0002292116877 0.001362452447 -0.01312442037 3.830352377e-05 3.669253126e-05 -0.005346755496 6.275237631e-06 2.147888414e-06 -4.9030142e-06 5.24998666e-05 -6.530943196e-05 -0.0001279505175 -8.46067156e-06 1.67217449e-05 -0.0003044790126 3.875980111e-07 1.832697948e-06 -4.154012857e-07 -1.459601815e-07 3.729323522e-06 2.176075696e-06 -8.713455708e-07 3.03318581e-06 -3.4104103e-05 -6.989320519e-07 2.277721121e-06 -1.566927328e-06 -4.437076851e-07 1.747884035e-06 -1.51183639e-07 2.175141284e-07 1.396549434e-06 -6.505638659e-06 -0.001242175178 0.002206055656 -0.02357593604 0.007763576465 0.02288826002 -0.0001867650457 0.000267009936 0.0009985117064 0.0108098524 0.003931779969 -1.66283789e-05 4.516454435e-05 0.002072476007 0.0003257949506 -0.0008560465665 -0.0001177985004 0.0001965241854 8.460924399e-06 -1.831216473e-05 -0.005128067004 3.730600473e-09 1.049319133e-06 3.101887819e-06 1.677465822e-06 -0.0008226054948 1.296878248e-07 6.174124601e-07 -1.408201969e-05 -4.137165745e-06 7.801778632e-05 -4.398586163e-09 8.184576202e-09 -1.002094386e-09 7.378673534e-08 -0.0002241124419 7.04421802e-09 1.166905855e-07 2.987925778e-06 -6.588158849e-06 -2.894198655e-05 -2.114704673e-07 5.178513845e-07 -1.38604397e-05 7.634472449e-06 3.547519603e-06 -7.591412377e-08 1.82194956e-07 -1.561214562e-06 1.513012897e-06 -2.103277986e-05 -1.091691495e-07 2.005639116e-07 -3.455573794e-08 -1.433041372e-06 3.240310066e-06 -1.107767023e-07 2.111335136e-07 -3.787566633e-06 -1.450862244e-06 3.401642828e-06 -6.484618255e-08 1.422739374e-07 -1.8597724e-06 5.343369073e-07 -1.639875711e-06 --0.007309033276 -0.03351583095 -0.0116481402 -0.0006491278137 -0.0004139888794 -0.0002729211173 -5.713761523e-05 -1.865601641e-05 -8.306729322e-06 -8.090293663e-06 -2.497489991e-06 -1.243062761e-10 -1.669305945e-06 0.008824025533 0.02643610119 -0.01083708186 0.007127972368 -0.0002015704928 -0.001472589974 3.52602457e-05 0.001383652854 -0.012723685 9.534365804e-06 3.826563704e-05 -0.006101755403 1.860833168e-06 2.007588263e-06 -6.727936318e-05 3.881414542e-05 -0.0001664800759 5.311607262e-05 -5.181984788e-06 1.138595806e-05 -0.0003341989262 2.281908464e-07 1.34363654e-06 -1.518380807e-06 1.903223607e-07 5.064664436e-06 1.880777861e-06 -1.019474052e-09 1.599936591e-06 -3.533598973e-05 5.748146443e-07 4.822457239e-07 6.399961757e-07 1.620823302e-07 1.62219409e-06 -1.561135577e-06 6.555197633e-07 7.19730981e-07 -6.279307449e-06 -0.001052047141 0.001981381116 -0.02382408269 0.01743032163 0.01255967159 -0.0001543600441 0.0002638832136 0.0007046304503 0.005439314234 0.009708251787 -9.629451975e-06 2.841073118e-05 -0.002467337713 0.0001825344565 0.005110410398 -0.0002237562978 0.0003479999217 2.277621912e-05 -6.304443036e-06 -0.00499859777 -1.100354908e-07 1.731155665e-07 8.419299432e-07 -7.727627855e-08 -0.001078925255 1.260654633e-07 2.336996832e-07 -6.615282162e-05 3.786858867e-05 4.556903232e-05 -1.571098158e-08 4.227487805e-08 -6.622179408e-08 -8.599514848e-08 -0.0001762966552 -8.318324608e-08 2.526758443e-07 3.053245294e-06 -5.948137315e-06 -4.100804742e-05 -1.551847443e-07 4.39096653e-07 -7.739584593e-06 2.137389555e-06 -8.743514916e-06 -4.853235563e-08 1.303457967e-07 -1.1166397e-06 7.158919453e-07 -1.418545147e-05 -9.371821958e-08 1.783447843e-07 -2.040717917e-07 -6.366425937e-07 2.630808778e-06 -8.512647476e-08 1.775622591e-07 2.306424563e-07 1.88373117e-06 -5.72038406e-06 -4.911464106e-08 1.18556225e-07 -2.416040907e-06 5.322408812e-08 2.739003675e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.002844516977 0.01141801215 0.3387986475 0.2935120895 0.003180898005 0.005046764789 0.1812229095 0.003737028347 0.00186745452 0.07646296995 0.002469190409 0.000453876263 0.01015828829 0.03216028628 8.747877854e-06 0.000512693816 8.393900857e-05 0.01628023611 9.897270714e-05 0.0002037311586 0.00989031376 1.429522318e-07 0.0006742848012 0.003158620628 0.0007019205416 0.001933335475 6.036819655e-05 0.0007775659391 2.664557295e-05 7.562556846e-06 0.0001383749563 0.0005156330136 4.186803837e-07 7.624459313e-07 0.0001153096265 3.948073149e-06 2.829972916e-06 2.348113199e-06 0.0001351650298 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.448862949e-05 7.759497615e-05 4.067675575e-05 7.321516464e-06 4.152338407e-09 4.865605538e-07 4.690278275e-07 1.904138642e-08 4.383382734e-10 3.581248937e-08 1.248910522e-09 2.469997411e-09 3.482048259e-09 0.01750049414 0.2396720762 0.0003051271771 0.09527299169 0.0001690889359 0.005331125326 0.02000311808 0.001073149659 2.435014507e-05 0.0002032073611 2.827891746e-06 2.069647629e-05 2.552510986e-08 7.647461977e-07 3.005781364e-06 6.617545425e-05 2.869276224e-05 0.0002761271346 1.129746411e-06 7.257133324e-08 4.987398387e-07 3.773575338e-05 1.123295255e-07 7.561887702e-07 1.657446946e-06 4.040945974e-05 3.155095401e-07 3.482354546e-07 1.193181118e-05 1.353303941e-07 2.60949063e-08 2.167611787e-07 2.060888963e-05 6.451665058e-07 1.484294521e-05 5.151957904e-08 5.981100658e-07 1.050089135e-05 2.487461739e-07 0.003767204982 0.002400215711 3.509687409e-05 0.004811369331 0.1435959494 0.000105184341 0.001282069586 0.0004192646367 0.1147769203 0.002360175178 1.019076845e-05 6.668083487e-05 1.225183251e-05 0.04652801471 0.001385618405 1.313594715e-05 0.0008978948589 5.335936899e-05 0.004998966347 9.367572902e-06 2.55157611e-06 1.185345615e-05 1.067892154e-05 0.0004702529573 5.427617755e-06 5.602921009e-09 4.913971576e-11 2.255809735e-06 0.0001894170347 2.029525867e-06 2.724583187e-06 2.418760465e-05 6.238421581e-06 5.000794305e-07 8.960263143e-09 2.341632839e-06 1.011810027e-06 6.785597645e-09 8.362157455e-05 2.927602615e-08 1.756112504e-07 5.156739368e-07 2.192712513e-07 8.856039487e-06 2.530223374e-07 5.617782065e-08 2.518387112e-07 4.83907755e-08 4.758015093e-08 4.097834538e-06 6.963637115e-07 2.543962591e-08 1.495467542e-08 1.502308326e-05 1.153617622e-06 3.194115253e-07 7.105054967e-08 4.977336445e-07 5.002105917e-06 1.30164574e-08 1.623290508e-07 2.057204175e-07 5.775994811e-09 1.100487102e-07 5.861039072e-06 -0.04693487042 0.1927616284 0.0479897764 0.0003754050424 0.004304508962 0.0009960748957 2.574152517e-05 0.0002854890578 1.974495981e-05 6.435741084e-06 3.796109463e-05 7.359179659e-07 4.160270877e-06 0.019387001 4.15193843e-05 0.05225782793 1.018907327e-05 0.002703506544 0.05901278463 3.265441418e-06 0.0004425648839 0.07858337177 3.02174196e-06 0.000133481814 0.02280051722 7.091246456e-06 1.843025013e-10 0.0003892137407 4.936583808e-05 2.24976419e-06 0.001503694872 4.381374144e-06 6.958838151e-09 0.001274548581 2.603383987e-09 1.948750656e-06 0.0001081995023 2.700359164e-05 2.393095703e-06 4.669739115e-11 5.642202646e-07 1.355525138e-08 0.0001555143712 3.864231894e-07 1.894786128e-08 4.803936469e-05 4.055945748e-07 7.940038126e-08 6.60911152e-06 7.914480711e-07 1.183619788e-12 3.549043978e-05 1.316135915e-06 0.0005208971712 0.1117165131 0.02158147534 0.0001462695122 5.941731341e-06 4.278967212e-05 0.001240060371 4.735059145e-05 0.008707455984 5.907908386e-08 1.532291323e-05 4.580310509e-06 0.001891121685 0.02436951692 1.975180243e-08 2.351407714e-07 3.202385428e-07 1.91424629e-07 0.02975388365 2.68204302e-08 3.313158875e-06 6.916562924e-06 3.672300389e-08 0.002294603199 2.239904895e-09 8.292620115e-07 0.0001015980143 2.614427491e-05 2.281664752e-07 2.373173163e-09 4.172003912e-08 1.441836788e-07 1.45329366e-06 0.001607683519 2.651651309e-10 2.788145258e-08 4.658386326e-07 9.674126962e-06 4.57857543e-05 1.44842216e-10 1.467013163e-07 1.630448207e-06 4.817501677e-06 1.471264089e-08 1.862533961e-10 1.148819606e-07 6.869584722e-10 7.451801124e-08 0.0001788639268 1.80443367e-09 4.314531011e-08 2.617996271e-06 1.387105511e-06 6.307913773e-08 1.012526942e-10 5.627102449e-08 1.028457502e-05 1.445143868e-06 6.424102406e-08 6.613762374e-11 5.792530443e-08 6.145874791e-08 2.197010411e-07 3.262713334e-05 -0.01018204073 0.04497548462 0.01402113396 0.0004941035454 0.0007246598731 0.0003301865236 4.291472068e-05 4.052033697e-05 9.968860014e-06 6.716495222e-06 5.487952429e-06 9.723847359e-10 1.758294545e-06 8.398492699e-05 0.1776696438 0.01725492378 0.04678256292 0.0002545971352 0.0116484344 0.005373100619 0.0002940130091 0.01768100539 0.0003086606585 5.188869493e-06 0.007150241757 6.954795929e-07 4.725548093e-05 9.233184878e-06 2.474304204e-05 0.0003053467561 8.153951874e-05 1.648052574e-06 3.833951643e-05 0.0004143729327 1.04852697e-05 2.87598842e-07 3.366167478e-07 1.604771324e-06 3.62493567e-07 3.305852845e-05 3.121449876e-08 1.686404213e-05 5.043462888e-05 3.265560227e-08 1.005540422e-05 5.803105836e-06 1.177613125e-08 1.030701461e-05 5.999445556e-06 3.634806145e-09 1.016307864e-05 1.017289336e-05 0.002481552829 0.001672355602 0.02692113674 0.0004014106313 0.141670097 0.0002033964098 0.0001607237382 0.003020108596 0.08102497768 0.0001684003598 0.000139022967 4.314783465e-05 0.02118661113 4.045780063e-06 0.00432976631 0.0001699152073 0.0002058200433 3.559561554e-05 1.245507422e-06 0.006972267243 3.523294202e-06 2.54922003e-07 6.240208304e-07 1.923903662e-05 0.001104791678 2.052917165e-06 8.895675801e-07 4.191390288e-06 5.018807816e-08 0.0003616632239 8.356771521e-09 7.73529793e-09 7.760932095e-08 1.03178866e-07 0.0003021572286 5.239114267e-07 2.405202494e-08 6.885181433e-06 2.385754127e-06 4.754392365e-05 1.065174358e-06 3.071967975e-07 9.266752307e-06 2.163821485e-06 3.755525019e-05 3.02706414e-07 1.402918674e-07 2.357547918e-07 4.892182142e-06 3.203789825e-05 2.502684732e-07 1.336604025e-07 1.172752243e-07 2.194653808e-07 9.026475374e-06 2.741400194e-07 1.445209731e-07 4.703769703e-06 1.904793323e-07 1.122649217e-05 2.36439545e-07 9.414791081e-08 3.46162429e-07 7.945937791e-07 1.110846314e-05 -0.009757038583 0.04474124598 0.01554943712 0.0008665393746 0.0005526456532 0.0003643302432 7.627464471e-05 2.490445249e-05 1.108889171e-05 1.079996553e-05 3.333971167e-06 1.659400206e-10 2.228404482e-06 0.0003794387675 0.1818511156 0.0187689767 0.0522193822 6.387008582e-07 0.00940313164 0.006845818301 0.0002420722192 0.0169787014 0.0001688705996 1.043050731e-05 0.008102966931 5.614654738e-08 4.373341693e-05 0.0001002673065 0.0001253978772 9.802786005e-05 0.0001357731669 8.200548457e-07 2.988493901e-05 0.0004478918229 1.103552955e-05 1.309687302e-07 3.291914233e-06 2.282062317e-08 6.661097054e-07 3.532657702e-05 4.672966754e-14 1.549673775e-05 5.110596342e-05 2.250109008e-08 1.025393876e-05 3.551648186e-06 1.530229776e-09 1.243555021e-05 5.273740406e-06 3.364212099e-08 9.793191467e-06 9.86768425e-06 0.003118568038 0.001207441434 0.02790559346 0.002040515172 0.1355725687 0.0003351877554 0.0001106781561 0.003336546976 0.08325153611 0.0009801345515 0.0001517467443 2.159396513e-05 0.001387340971 0.02495112868 0.0010529216 0.0005546532795 0.0001458587978 0.0001166094626 4.950730018e-07 0.006740420791 1.787665567e-07 1.059706517e-07 9.528237407e-07 2.460315404e-06 0.001438312644 2.0934529e-06 4.697707661e-07 1.25855692e-05 1.737302121e-05 0.000392810633 2.658931129e-07 7.090081895e-09 9.001823931e-07 4.499777651e-09 0.0002358545569 6.97850624e-07 8.307760915e-08 1.269639445e-05 1.37392548e-06 6.421912348e-05 1.14533366e-06 2.302101759e-07 1.174175265e-06 5.871360655e-06 5.388751476e-05 2.780335021e-07 8.456492223e-08 1.528229936e-07 3.90990273e-06 2.1801248e-05 3.207676491e-07 8.88609323e-08 2.989422179e-07 3.820928703e-08 9.980770244e-06 3.179190577e-07 9.743290995e-08 5.018487078e-09 9.844544529e-06 7.476819036e-06 2.534771362e-07 6.645459271e-08 6.40876501e-07 1.878099678e-06 7.684679882e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00162377554 -0.06231295818 0.06393673373 0.03490535829 -0.03057409461 -0.004331263676 0.02742993869 -0.02605538145 -0.001374557241 0.01407197436 -0.01374992348 -0.0003220508829 0.01807441456 -0.01808002831 5.613747782e-06 -0.0005455728726 -0.00116311768 0.001708690552 -8.203563427e-05 -0.001419968441 0.001502004076 7.9245632e-07 -0.001458716866 0.00145792441 -1.800967524e-06 0.0003989897321 -0.0003971887646 0.0001495623572 -0.0001440748064 -5.487550815e-06 0.0002670745877 -0.0002674110123 3.36424614e-07 -9.522323699e-06 1.033593098e-05 -8.136072782e-07 -2.551444622e-06 -1.780288766e-05 2.035433228e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.088996375e-06 1.11877817e-05 5.864847006e-06 1.055629268e-06 5.986915383e-10 7.015316621e-08 6.762526655e-08 2.745420967e-09 6.320039204e-11 5.163508426e-09 1.800701408e-10 3.561286207e-10 5.020479124e-10 -0.06480393144 0.06485633946 -6.006866945e-05 0.006622421329 -0.004094429367 -0.002533307184 0.004634081455 -0.004634464194 2.240771473e-06 2.405899665e-05 -2.401485831e-05 2.83551221e-06 -1.400024146e-07 1.398588877e-07 4.330639896e-07 -8.759926811e-05 8.554312223e-05 2.054280303e-06 2.850977795e-07 -2.860251715e-07 7.323076069e-08 2.201159864e-06 -2.075118246e-06 -1.075008666e-07 -8.204088103e-06 8.236688388e-06 -1.882954941e-08 -2.047625968e-06 2.063886701e-06 -1.376803129e-08 -3.244726177e-09 -2.115252783e-06 2.117352087e-06 -3.097537469e-06 3.100086333e-06 4.580215756e-10 -2.529279125e-06 2.587464723e-06 -5.80597372e-08 0.002894446125 -0.002769958927 4.658844049e-07 -0.02635873072 0.02623269368 0.0003730808155 -0.0003712116662 -9.739636075e-05 0.01657477215 -0.01648413512 1.661527158e-05 -8.888765757e-06 -4.818319457e-06 0.008030384045 -0.008035915937 0.0001162726992 -0.0001224896836 -0.000509680475 0.0005157590346 8.95278414e-07 4.623836706e-06 -3.916964916e-06 -7.131061799e-05 7.068821736e-05 5.370868358e-07 -4.98676799e-08 -1.753461389e-09 -2.067217065e-05 2.074434301e-05 1.961420363e-07 8.952438246e-06 -9.95496333e-06 8.736755617e-07 1.313808883e-07 -4.368594956e-09 -1.43467353e-06 1.493326109e-06 8.478031542e-09 -1.631071763e-06 1.566922649e-06 2.755623162e-07 -2.553814111e-07 -1.409976935e-06 1.396124212e-06 1.909350235e-08 1.081827993e-07 -1.001019631e-07 -9.957240421e-09 -4.470589946e-07 4.4921265e-07 1.375758547e-07 -1.258101268e-07 -3.115009263e-09 4.166129449e-06 -4.175159921e-06 1.481486199e-07 -1.407979806e-07 -1.584487231e-06 1.576478448e-06 2.735064169e-09 1.710803789e-07 -1.616627619e-07 -2.54833005e-09 -8.077543575e-07 8.006180754e-07 --1.326267181e-05 -5.446982579e-05 -1.356076301e-05 -1.060804862e-07 -1.216351279e-06 -2.814669419e-07 -7.273939339e-09 -8.067237954e-08 -5.57945339e-09 -1.818586503e-09 -1.072689741e-08 -2.079528158e-10 -1.175593046e-09 -0.003398406741 0.003006693155 0.0004331526636 0.000724235533 -0.00126703972 0.0005400775172 -0.0001209966777 0.0001234419885 -2.350044907e-05 4.481689033e-05 -3.063781198e-05 -2.04707115e-05 1.603992118e-08 9.721599775e-08 -2.107518713e-07 -7.157603564e-06 1.860415002e-05 -1.184224758e-05 -2.892991809e-06 7.392100271e-07 1.815114114e-06 1.936916262e-07 -1.752654656e-07 -4.547559658e-08 -7.867884919e-08 3.937891964e-08 4.132973116e-08 -2.422070199e-07 -6.22376102e-07 8.285806744e-07 -2.21694149e-07 -5.569504973e-07 7.696207758e-07 -1.211309004e-07 -1.162261979e-06 1.286276734e-06 -1.868868847e-07 4.168483161e-09 1.766271127e-07 7.750736634e-05 -3.186917778e-05 -0.0007125801256 -0.004537386336 0.005220688451 -4.440984907e-05 3.845466094e-05 0.0002932984686 0.002148869316 -0.002411181964 -3.604695609e-06 8.770507937e-06 0.0003129087435 -0.0003065443129 -1.283835946e-05 -4.855622831e-07 3.135952008e-07 -4.026730273e-06 3.774752718e-07 -4.56872174e-06 -8.088648288e-07 8.723555908e-07 -1.610679422e-06 1.635818637e-06 -7.122839426e-07 -8.565058635e-08 4.554472658e-07 2.401385559e-06 -1.220273179e-05 9.509776424e-06 -2.789809692e-08 3.833718307e-08 -1.325881428e-06 1.082247128e-06 -2.177859133e-07 9.824607122e-09 -7.787222237e-09 -1.686506488e-06 1.53808725e-06 1.324686571e-07 -1.462356155e-08 3.018025046e-08 -2.912615081e-08 -7.997581905e-07 8.249885418e-07 -1.08812304e-08 2.960082775e-08 -8.021064548e-09 -1.058054327e-06 1.001214314e-06 -2.654636762e-08 3.315326274e-08 -1.511497281e-07 -6.742535613e-07 8.208652736e-07 -6.85536719e-09 1.362092433e-08 -1.769290805e-07 -7.948739921e-07 9.660504763e-07 -5.104867942e-09 1.214915723e-08 4.409754002e-08 -1.493750977e-06 1.436302386e-06 -0.01824220201 0.0805783337 0.02512034325 0.0008852387185 0.001298304745 0.0005915640512 7.688625734e-05 7.259646588e-05 1.786026622e-05 1.203331099e-05 9.832246744e-06 1.742130016e-09 3.150170495e-06 -0.001649987236 -0.08643078348 0.02849196416 -0.02503822496 -0.001175271686 0.01898568913 -0.003103056846 0.000408474929 0.03167054674 -0.0001163204481 2.331398313e-05 0.0128318963 1.770818377e-06 -2.62432328e-05 1.596627572e-05 5.981074793e-05 4.485530716e-05 0.000235472225 -4.021912521e-06 -1.91616038e-05 0.0007389763628 -5.649109324e-06 6.614846167e-07 6.262052095e-07 2.741452961e-06 1.141106054e-06 -1.779989728e-05 -1.595232912e-07 -1.095624187e-05 8.830232328e-05 -1.727041283e-07 -7.323316242e-06 7.467357186e-06 -9.617911258e-08 -8.347648226e-06 5.657689752e-06 5.577487576e-08 -5.892517385e-06 1.765693973e-05 -0.001936718718 0.0001585004831 0.04781906475 0.003424537113 -0.068893031 -0.0001909434488 1.188856279e-05 0.003097079753 -0.04255196697 0.001404923019 -8.483964184e-05 2.730610839e-06 -0.0114649167 6.75779401e-05 0.007683799312 -0.0001435779227 -6.68125391e-05 -2.420485852e-05 -5.016958588e-06 0.01246484702 -1.980227074e-06 3.735005527e-07 2.125983226e-06 -7.526938215e-06 0.001980690766 -1.096488025e-06 -2.434405987e-07 1.096696896e-05 -2.168159232e-06 -0.000153763929 -6.497518753e-09 2.759979108e-09 -9.280175871e-08 1.496526367e-07 0.0005413161043 -2.915279494e-07 3.669343461e-08 -6.519984522e-06 1.679023663e-06 8.343311547e-05 -6.850453021e-07 1.335530872e-07 1.69096687e-05 6.315179334e-06 -1.694139915e-05 -2.01693867e-07 5.920072221e-08 -8.935341757e-09 -4.547323689e-06 5.538285574e-05 -1.849636634e-07 3.147424099e-09 1.464646894e-07 -7.115780087e-07 -3.757574703e-06 -1.99582072e-07 2.838634075e-08 9.091074011e-06 -6.967942491e-07 -4.027107143e-06 -1.597838453e-07 3.362688441e-08 3.230030163e-07 -3.087614101e-06 9.869164827e-06 --0.01748639118 -0.08018446608 -0.02786742493 -0.00155299647 -0.0009904417201 -0.0006529461884 -0.000136698063 -4.463331724e-05 -1.987331469e-05 -1.935550632e-05 -5.975083887e-06 -2.973947564e-10 -3.993706917e-06 -0.003249834809 0.09328021568 -0.03159981964 0.02857336326 5.105882809e-05 -0.01557652851 0.003818174704 -0.0004468098498 -0.03041730325 7.387912771e-05 -2.637773687e-05 -0.01453119962 -2.046824949e-07 2.618178552e-05 -0.0001776836955 -0.0002176822485 -8.882516991e-05 0.0001281516868 2.431776419e-06 1.407266177e-05 -0.0008012112301 6.205503968e-06 -2.823931672e-07 -5.795243303e-06 -1.751719601e-08 -1.794984978e-06 1.888435935e-05 1.382939578e-10 9.654792341e-06 -9.036870314e-05 -1.09892328e-07 7.400771453e-06 -3.230780687e-06 -3.501126728e-08 8.152739519e-06 -7.583878161e-06 -1.352811427e-07 5.698355758e-06 -1.729571431e-05 0.002213470272 -0.0003301984424 -0.04897274462 -0.007003080899 0.07106746903 0.000251597986 -4.008116331e-05 -0.00451847988 0.04556528613 -0.003070937265 8.909966863e-05 -5.08422607e-06 -0.00333689347 0.01234697911 -0.002289085054 0.0004032435307 -2.688576081e-05 5.778461895e-05 1.58769992e-06 -0.01205790066 1.453951493e-07 1.276192571e-08 -1.92524906e-06 6.140807131e-07 -0.002578125844 1.12281779e-06 -3.462616822e-08 -2.065085136e-05 -7.141692118e-05 0.0001331930647 1.567829185e-07 -3.132345755e-09 4.814715021e-07 -1.490821713e-08 -0.0004226992193 4.264499108e-07 -6.822043276e-08 9.362134547e-06 -9.118732075e-07 -0.0001134379446 7.075240937e-07 -1.534934636e-07 -1.660550148e-06 1.779504023e-05 -5.033046652e-05 1.768397299e-07 -5.487682036e-08 -1.109312692e-07 3.254383363e-06 -3.796622346e-05 2.183882167e-07 -1.496735909e-08 -5.032031642e-07 2.877748792e-07 4.497156526e-06 2.137794861e-07 -3.989079495e-08 -1.011683349e-07 4.798608316e-06 -1.327732964e-05 1.630513155e-07 -3.680404806e-08 -1.013009801e-06 -5.22677944e-06 1.282078471e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02382387374 0.00324622331 0.02580902879 0.02476437007 0.002350210378 -0.02349750896 0.007730911232 0.0008991013958 -0.007205833271 0.0005086882438 7.245901836e-05 -0.0004611115965 1.855111421e-06 -8.329018398e-06 -1.792124447e-05 0.0005060770889 -4.221096898e-05 -0.0005228076777 4.777176678e-05 -6.589063365e-06 -5.076660106e-05 -1.777025584e-06 -4.129273778e-06 2.088498994e-07 0.0001517317237 -0.0001404315838 -4.610608996e-06 -4.090984122e-06 -6.524986626e-07 3.937846094e-06 -9.213637726e-07 2.907378046e-07 2.787818263e-06 1.490666776e-07 5.386196408e-06 -6.215419728e-06 -3.194418588e-06 4.350470165e-07 3.209048417e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.002676733398 0.004884092499 0.002316878186 0.000537169852 -8.336880082e-06 -4.933089298e-05 -3.739883502e-05 -4.075265716e-06 5.435070948e-07 2.439683709e-06 4.507305947e-07 2.595190234e-07 -3.661227982e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.09594540763 0.01685534728 0.01221939591 0.0001217713775 0.00168626799 -0.0003715984529 2.016048171e-05 0.0001037620236 -3.419200244e-05 1.543278856e-05 2.890457769e-05 3.908052489e-06 9.032492139e-06 -0.04139967265 -0.0001071120687 0.1064159904 -7.564639645e-06 -0.00147056682 -0.01365156094 4.809842108e-06 0.0006179004767 0.01360047549 -2.539470068e-06 -0.0001809472463 0.004137458164 4.578396791e-05 -6.335886743e-10 0.0005319568184 -3.827815903e-05 -9.162144023e-07 -0.0002920650162 -5.259158216e-06 -3.43579252e-08 0.0001434552982 -7.344891081e-09 -6.87926436e-06 8.872281177e-05 -4.880095849e-05 -7.591102382e-06 1.108716063e-10 -3.255969023e-06 3.836408004e-08 7.609258069e-05 -2.161253734e-06 5.898399113e-08 3.259573114e-05 -2.838206515e-06 1.990259575e-07 1.080666657e-05 -3.070401971e-06 -2.405674908e-10 3.037967201e-05 2.438069465e-06 0.001268775277 0.09276486369 -0.05005999406 -0.0002679814963 1.825876749e-05 0.0001449118056 0.002375877549 -7.482878349e-05 -0.01061633342 1.969650425e-07 2.880578671e-05 1.786156495e-06 0.0008319721765 0.002431839318 6.487236194e-08 1.742034933e-06 -2.177110436e-06 -1.495605969e-05 0.004588508829 8.747027441e-08 8.579676001e-06 4.039018546e-05 2.087191292e-07 -0.0005768677847 1.609275759e-09 1.194367452e-07 -6.071058123e-06 -3.134049404e-06 -3.07206248e-08 7.734330008e-09 1.039954e-07 -3.822620337e-07 -4.69161947e-06 0.0001217598484 8.086371054e-10 8.531275214e-08 4.355111772e-07 1.147404924e-05 -6.228173985e-05 4.893001752e-10 3.807616907e-07 6.213634987e-06 -1.266084599e-05 -3.38288228e-08 6.439546283e-10 1.686980873e-07 -1.098178259e-07 1.018656067e-07 3.460967119e-05 4.943849414e-09 1.042529017e-07 5.363968971e-06 -4.203882146e-06 -1.308796025e-07 3.66891902e-10 1.34326079e-07 9.819399448e-06 -4.776428157e-06 -1.610198287e-07 2.365388601e-10 1.114506653e-07 1.017371085e-06 1.713573311e-07 1.046389283e-05 -0.04586155795 -0.004839693972 -0.007054391976 -0.0002456013128 -0.0007100223794 0.0001729086054 -2.049133284e-05 -4.247413555e-05 2.448600612e-05 -1.425581202e-05 -1.010358625e-05 -1.416563226e-07 -5.808762619e-06 -0.002752137801 0.03174167716 -0.06048255824 0.001092295294 -0.0005482081269 0.008407654959 4.909275513e-05 -0.0004870870493 -0.00598302465 5.639870813e-05 4.353829945e-05 -0.00274084698 -1.448531027e-05 -8.37881675e-06 7.235442089e-05 2.220861542e-05 3.224991314e-05 3.419394543e-05 -3.250867955e-06 6.61454708e-06 -8.680683093e-05 7.286792858e-07 2.678108135e-06 -5.413192189e-06 1.126122449e-05 2.565480012e-06 1.594265468e-06 -6.8493613e-07 2.815603995e-06 -3.803510468e-05 -6.709381245e-07 4.060058873e-06 -1.003402687e-05 -4.619680018e-07 5.167564356e-06 -9.870099149e-06 2.048419828e-07 1.690579451e-06 -1.501782619e-05 0.001184745374 -0.002123384159 -0.04377343659 0.006703449333 0.02255991757 0.0001859276217 -0.0003029867998 -0.003899716021 0.00666708211 0.001697113537 1.424232279e-05 -3.059000492e-05 -0.0001554300075 -2.145704782e-05 -0.0007897844472 0.0001166654461 -0.0002284062205 -2.52524643e-05 3.731528427e-05 -0.002325414187 -7.56732725e-08 -9.320751764e-07 -9.734909274e-06 -7.798033806e-06 0.0003048234843 -1.692755686e-07 2.874895358e-07 2.196546496e-06 2.079470646e-07 -3.868547127e-06 4.311110035e-09 -5.802227538e-09 -1.602482233e-07 1.624192346e-06 -6.37000234e-05 -1.76118451e-08 -1.118511268e-07 3.867239658e-06 -1.051687814e-05 5.289593726e-05 1.941685676e-07 -4.555961257e-07 -1.558484757e-05 5.541301019e-06 3.143764958e-06 7.079597145e-08 -1.43118435e-07 -1.724272959e-06 1.545722917e-06 -1.101913388e-05 1.064921494e-07 -1.918853432e-07 1.004890409e-06 -1.753968296e-06 3.993742259e-06 1.071592178e-07 -2.028453255e-07 -6.388582037e-06 -1.700286146e-06 4.151657549e-06 6.097500839e-08 -1.278576303e-07 -2.297807531e-06 7.814144865e-07 -2.335940853e-06 -0.04538818136 -0.003346176443 -0.007590042865 -0.0003895897915 -0.0006220623591 0.0001620722504 -2.523514489e-05 -3.459710491e-05 2.568297531e-05 -1.721785816e-05 -7.655231548e-06 5.852719416e-08 -6.482946637e-06 0.006057391377 0.02326534052 -0.06261959785 0.000703187845 -2.774862046e-05 0.008567025331 -5.266355105e-05 -0.000427608147 -0.005611242343 2.621725911e-05 6.735657144e-05 -0.003102723723 -4.053606805e-06 -6.977845057e-06 0.0002232244508 5.339760045e-05 8.160169939e-06 -3.12308009e-06 -2.480859129e-06 5.686240176e-06 -9.601175452e-05 4.008806647e-07 1.684931513e-06 1.781440226e-05 1.323081719e-06 2.868231418e-06 1.122057158e-06 -8.097701327e-10 1.613056714e-06 -3.614446532e-05 6.461510257e-07 3.399236264e-06 -6.855315907e-06 1.571776366e-07 3.051485075e-06 -1.016680807e-05 6.240896737e-07 1.007283366e-06 -1.41339149e-05 0.0009779732835 -0.001889107376 -0.04322158641 0.01532583036 0.01422247242 0.0001499493704 -0.0002898859478 -0.004209804909 0.004024031988 0.004369431309 6.736142257e-06 -1.632602062e-05 -0.000198312234 -0.0001372997837 -0.0003459160666 0.0002160318138 -0.0003830941333 -2.089962045e-05 1.536672122e-05 -0.002315435844 1.082711525e-07 -2.108587285e-07 -1.058179354e-05 -1.432411629e-06 0.0002976143174 -1.700203973e-07 3.61257147e-07 7.602292768e-06 -1.274335255e-06 -2.733637831e-06 9.611426173e-09 -5.024945907e-08 1.47501014e-07 3.73526161e-07 -6.168844993e-05 6.984667183e-08 -2.397848155e-07 3.851626902e-06 -8.584926692e-06 5.86161684e-05 1.336282226e-07 -3.634364929e-07 -6.142912504e-06 2.133223166e-06 -7.752959791e-06 4.291456431e-08 -1.002695869e-07 -1.336339744e-06 8.217478905e-07 -7.931290261e-06 8.883172298e-08 -1.709435249e-07 1.54668176e-06 -7.720855498e-07 3.417250983e-06 7.970132837e-08 -1.682276705e-07 2.82484264e-07 2.600760365e-06 -7.93452495e-06 4.422006311e-08 -1.051683854e-07 -3.104852228e-06 -2.568324415e-07 3.931350055e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0003519237103 0.0004107514529 4.98487977e-05 -6.27370375e-06 -4.919729628e-08 -1.690188055e-07 -3.454348043e-07 1.356553707e-07 -1.487077529e-09 -8.844377284e-08 1.313951515e-08 -1.116783067e-08 -1.679660211e-08 -0.003285942227 0.001158845683 0.001658106329 -0.001597931334 0.01305515624 -0.01139272691 -7.329155421e-06 2.959540947e-05 4.907480875e-05 -2.239399038e-08 8.476630709e-08 1.738666885e-06 1.488951646e-09 -1.041573217e-09 1.798291446e-06 6.856993955e-05 -6.868413232e-05 5.808448018e-07 -5.194614627e-09 2.332390008e-08 -1.216322411e-06 -4.615738755e-08 3.411960497e-07 -2.044437787e-07 8.313071576e-08 -2.788314476e-08 -2.265639625e-08 -4.150615433e-07 1.551272546e-07 1.652393292e-07 -2.371980124e-08 4.318708043e-08 -1.834259441e-08 -5.22437377e-08 1.842443478e-08 -3.161205289e-09 -3.719592564e-07 1.564816428e-07 1.976385424e-07 -5.348561755e-07 2.970115619e-05 -1.81180671e-05 -0.0001949457398 -5.493147503e-05 6.373053948e-06 -1.056645492e-05 0.0009210996191 0.0004414542949 -0.001453760176 1.910312806e-08 5.448807557e-07 0.0001011171605 4.636286549e-05 -0.0001434069609 -3.238601142e-08 -4.855845878e-08 -2.078451148e-07 3.991606045e-08 -7.05021388e-07 -4.082882105e-10 1.570207679e-08 -4.722581648e-07 1.31552374e-07 -9.953042421e-07 6.501875781e-11 4.502780187e-09 2.921392453e-07 -8.625921535e-08 6.681001941e-07 3.515257642e-08 -5.91710811e-07 -1.883377209e-08 1.17982894e-08 5.861647909e-07 -3.331462366e-09 2.009499062e-08 -5.190339067e-07 1.524486174e-08 3.180448062e-07 -4.569144155e-11 1.714962249e-09 -7.020481503e-08 2.303897832e-08 -7.427398579e-08 1.046375575e-10 1.755577139e-09 -1.170658615e-07 1.80404232e-07 -4.260721368e-08 -1.198628264e-13 -3.045554218e-12 -6.723298351e-11 -3.429526649e-11 1.282915711e-10 1.861500214e-11 8.745797448e-10 1.026184828e-08 -4.616598007e-09 -2.923004755e-08 -7.104866133e-10 3.033513282e-09 -3.000808238e-08 3.55319917e-08 -1.095341083e-08 -3.658718834e-05 2.659207517e-05 -4.009341164e-07 -1.433404016e-07 -1.101498745e-07 5.77133833e-08 1.971592603e-09 -2.871186557e-08 5.576486525e-09 -1.025528921e-09 -5.247794233e-09 -6.400079538e-10 -1.199736818e-09 0.0003142732047 -0.001379075409 0.00103019339 0.001256745959 -0.0005629852153 -0.0006733156808 7.777113563e-08 -3.464876341e-07 4.884049713e-06 1.744086541e-06 -7.021115944e-07 -1.521856357e-06 1.704969085e-09 6.246194793e-08 -1.346460071e-07 -9.423589505e-08 4.274620792e-07 -3.458331884e-07 -1.15769316e-09 3.946056508e-09 -2.32711964e-09 3.812454376e-08 -2.478550573e-08 -4.094681302e-08 2.445273193e-08 2.620787779e-09 -2.474699967e-08 4.123033355e-08 -1.637870263e-07 1.164089545e-07 1.175433076e-07 -5.218718732e-07 3.973724824e-07 1.138172018e-07 -1.216758115e-06 1.101425928e-06 2.273695231e-08 -9.019973259e-08 6.386385656e-08 1.790115725e-05 -4.216499645e-06 -0.0006702254158 -0.0003724004867 0.0009987212233 -1.327792831e-06 -6.486089857e-06 0.001802712887 -0.0024475428 0.0006511717728 -5.557135737e-08 -7.480165096e-07 3.857283238e-06 -5.375846466e-06 4.98928863e-06 4.178062759e-10 -6.851647059e-09 -1.333562913e-07 5.280580599e-08 -1.035071918e-07 -6.375866033e-09 -1.331348636e-08 1.478479618e-08 -1.099500445e-08 1.77634022e-07 -4.563362239e-08 2.938191321e-07 2.303454814e-06 2.551399582e-06 -5.12915036e-06 1.39102806e-10 7.077951748e-10 -4.927665883e-08 1.541375263e-08 -3.039559649e-08 2.381906629e-11 -6.742088741e-10 1.722448521e-06 -1.601292888e-06 -1.070683147e-07 -5.165495241e-10 -3.475307939e-09 2.918115891e-08 2.774951922e-08 -5.242495466e-08 1.26970801e-10 1.899427823e-09 6.29560316e-08 -2.47318005e-07 1.73568137e-07 -2.738026681e-09 6.096599945e-09 -2.165039877e-07 -1.279329141e-07 3.399346302e-07 2.663411761e-10 8.62080838e-10 -6.885055371e-08 -4.766854707e-09 7.135327638e-08 1.142364139e-10 8.336149631e-10 5.532496572e-08 -4.110975093e-07 3.52521852e-07 -0.1101195868 0.09180458716 0.001404899039 -0.0009968631219 -0.0002799887392 0.0001475056787 1.370792936e-05 -8.113323961e-05 1.77044995e-05 -6.567021728e-06 -1.3612652e-05 -1.295958798e-07 -4.728854137e-06 0.002411393923 -0.002650789117 -0.1150712909 0.00224758409 -0.003101767257 0.05508918751 1.070573452e-06 2.461477704e-06 0.01702717649 5.492945013e-07 -1.800225216e-06 -0.001241405573 -1.762254903e-06 6.636374386e-07 6.327011848e-05 -1.345191531e-05 -3.817075085e-06 -0.0001034102374 4.70636819e-08 -1.130299211e-07 -9.44333408e-05 1.204063727e-07 -7.612384022e-07 -9.548043346e-06 -1.067770732e-07 1.063616005e-08 -2.262045889e-09 1.482155955e-07 -2.413487428e-07 -3.034371517e-05 4.904044383e-07 -1.329685191e-06 -1.005369767e-05 3.637073972e-07 -1.272893104e-06 -4.051004987e-06 1.232972345e-07 -1.153960799e-07 -1.126928686e-05 -1.945823257e-05 -1.125944886e-05 -0.08558706318 -0.002467319398 0.0002289663967 -3.183338324e-07 1.762248368e-06 -0.01199574862 -0.002531562512 0.002862766314 8.917400774e-08 2.078444928e-07 0.0001087526522 -0.000438870719 0.007501094458 1.395260688e-10 -1.700833126e-07 -8.396358254e-08 2.066311509e-07 -0.0005204127537 8.509022547e-10 1.188911817e-08 4.036460619e-07 -9.800217306e-08 0.0005241038975 2.596652829e-09 7.499168301e-10 5.65547082e-05 2.088931808e-05 -7.595560216e-06 -1.899315695e-12 -2.505146823e-10 -1.116274453e-08 -4.876095595e-08 -0.0002735909166 2.431323704e-10 6.039904053e-10 8.026245869e-07 8.744591858e-07 4.63485178e-05 3.327348277e-10 6.810563982e-09 8.766016607e-06 2.199249929e-06 -1.988301904e-07 -1.838778474e-10 -5.479252609e-09 6.091267368e-09 -4.747118061e-07 -2.962393328e-05 1.874514771e-10 -3.248521297e-10 7.425926394e-07 -3.371958815e-08 6.599274314e-08 -9.244989987e-11 -7.452379433e-10 -4.493553726e-06 6.361889271e-09 5.219456318e-08 -1.389694786e-10 -2.050844584e-09 -2.5236516e-07 -2.341800775e-06 -3.12970938e-06 --0.1088999622 -0.0971883007 -0.003196427709 0.001268443103 0.0002413391636 -0.000116424734 -1.177070081e-05 6.724454884e-05 -1.405430865e-05 9.23948476e-06 1.077970648e-05 -4.920921257e-08 5.263416591e-06 -0.00298457068 0.002255314302 0.1205781115 -0.001891690997 0.003838869723 -0.05083063928 -1.652181631e-06 -1.477036456e-06 -0.01832835658 -1.904011691e-07 1.089943581e-06 0.001030476234 8.700882526e-07 -6.906076394e-07 -0.0002043410422 8.37852963e-05 3.433745477e-05 1.251985516e-05 -4.309241074e-08 7.695017693e-08 0.0001614082313 -1.431448535e-07 7.896580461e-07 -2.585415792e-05 8.269473123e-08 -2.927197991e-07 4.788396189e-08 -1.324373102e-07 1.623973785e-07 3.674133868e-05 -6.298380038e-07 1.485949005e-06 4.923868734e-06 -2.479148131e-07 4.21559594e-07 5.463526376e-06 -1.184265006e-07 7.640651179e-08 1.094266232e-05 1.512135511e-05 3.044020096e-05 0.08281281295 0.001860872279 0.0002226443393 7.536399081e-08 -6.1258692e-06 0.01647532153 0.001516721268 -0.002756321762 -1.144073095e-07 -5.982287325e-07 -0.005976870979 0.0003584333077 -0.0007779667487 2.531106166e-09 -1.028206623e-07 1.664388498e-08 -6.367851564e-08 0.0004805547441 1.887165496e-11 -2.099660887e-10 -2.853002418e-07 1.324346709e-08 -0.000460695375 -1.915019054e-09 -7.071546184e-09 -4.375015459e-05 -0.0001293363016 1.093913419e-05 2.745731462e-10 -1.174675074e-09 -6.516921036e-09 4.442434489e-08 0.0002828012656 -1.54120347e-10 -8.088110237e-10 -2.880380937e-07 -3.038034229e-07 -3.230821253e-05 -2.365633532e-10 -7.004617421e-09 -8.38006725e-07 -4.986621979e-06 -8.380594163e-06 2.470538029e-10 8.462925821e-09 1.31898343e-07 3.130019347e-07 2.675898106e-05 -1.564826825e-10 1.654444016e-09 -1.249386076e-06 -2.578771923e-09 -1.227964449e-08 7.752480774e-11 1.173746361e-09 2.181497568e-08 6.480701518e-09 5.040711531e-06 1.605609936e-10 3.093331101e-09 8.638164995e-07 3.994720962e-06 -1.107400947e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.01799345834 -0.02314170501 0.005148246673 0.004113663011 -0.03711442399 0.03300076098 0.002455859289 -0.01609809545 0.01364223616 0.0009290815387 -0.005169934235 0.004240852696 -0.000556608114 0.0001661732685 0.0003904348455 0.003027101359 -0.003300663439 0.0002735620798 0.0008256760815 -0.0009561237265 0.000130447645 0.0001296865374 -9.798293098e-05 -3.170360641e-05 -3.035230701e-06 -0.0002366169605 0.0002396521912 1.251020389e-05 -6.895859167e-05 5.644838778e-05 -1.724103712e-05 3.947265868e-06 1.329377126e-05 6.280694769e-06 -1.872383992e-06 -4.408310777e-06 1.763615602e-05 -2.018104933e-05 2.544893312e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0001067311622 0.0005716069962 0.0002996472108 5.393429113e-05 3.058839376e-08 3.584270921e-06 3.455115278e-06 1.402692575e-07 3.229039252e-09 2.638143665e-07 9.200157373e-09 1.819535066e-08 2.565067025e-08 0.002939739135 -0.002147186714 -0.001183951081 -0.0004483812069 0.002394049369 -0.002217233899 -0.000109600286 9.831198424e-05 0.0001062190373 -2.316274033e-06 6.849268553e-06 0.000142594331 1.889160641e-08 -1.562393483e-08 2.211553764e-05 0.0001412201805 -0.0001424597479 1.144251025e-06 1.025325895e-08 -6.958658185e-08 3.753462556e-06 -5.815876649e-07 3.910396252e-06 -2.381523105e-06 2.14568259e-06 -8.702197839e-07 -5.71887327e-07 7.178985953e-07 -3.074341204e-07 -2.831071408e-07 -6.711294193e-09 -4.516796476e-09 -4.729386885e-08 2.976488271e-07 -1.608931969e-07 1.687238555e-08 8.21115764e-07 -3.897540038e-07 -4.249312624e-07 -6.207427381e-05 -2.178611638e-06 2.888877686e-05 0.0004193316174 -0.0004393489448 -1.676869586e-05 1.646623842e-05 -0.0008266413931 -0.0007282308428 0.001305325253 -3.958330076e-07 3.365582525e-07 3.088106897e-05 -0.0001469676094 -1.790476944e-05 -3.294978481e-06 5.176777711e-06 8.335435491e-06 -1.256830663e-05 4.102029615e-05 -1.038915801e-07 -3.213492007e-07 1.191279236e-05 -4.717500421e-06 2.498663765e-05 5.833440782e-10 5.940313487e-08 3.733298788e-06 -1.553133698e-06 8.831156462e-06 -2.564907817e-07 1.539487976e-07 -1.837894437e-08 -2.083989244e-09 2.913707701e-08 3.344379603e-08 -8.276290044e-08 1.221906762e-06 -4.060739477e-09 -1.016196081e-06 -6.107392495e-09 -1.436130669e-08 7.799240487e-07 -2.832329845e-07 8.226242473e-07 -2.580862029e-09 3.93499934e-09 -1.390459612e-07 2.114642459e-07 -5.960708606e-08 -2.913291053e-09 -2.949315257e-09 -8.064827113e-08 -1.259704539e-07 1.930789771e-07 -3.194267914e-09 -2.763569437e-09 -3.874425787e-08 -7.279375885e-09 1.580956565e-07 -2.882086734e-09 -1.358109734e-09 4.123526813e-08 -4.969213752e-08 -9.442707074e-10 --4.323224143e-06 -1.77554922e-05 -4.420392729e-06 -3.45789842e-08 -3.964932023e-07 -9.174958829e-08 -2.371081077e-09 -2.629672089e-08 -1.81873064e-09 -5.9280341e-10 -3.496639478e-09 -6.778623844e-11 -3.832072686e-10 0.01086770412 -0.01097310918 0.0001189129236 -0.005520991608 0.005385441436 0.0001346613608 0.0003738068627 -0.0003730037722 -7.666419682e-06 -5.719280571e-05 6.190370829e-05 -6.761781985e-06 -4.012716537e-08 7.885152878e-08 -7.050505294e-08 1.091650957e-05 -6.851153923e-06 -4.194342074e-06 1.193651292e-05 -1.262919081e-05 5.822826265e-07 -4.376715662e-07 4.440463923e-07 -1.519211247e-08 -1.951845217e-08 -1.48766366e-07 1.689464712e-07 1.729321516e-06 -1.983568289e-06 2.425110797e-07 1.439563521e-06 -1.648574255e-06 2.060692295e-07 7.630247962e-07 -6.038477716e-07 -1.582369765e-07 7.846138574e-07 -8.381072608e-07 5.150783011e-08 -0.0001681847424 8.230956785e-05 -0.0002713020184 0.01255511636 -0.01219260626 0.0001360333617 -0.0001203520424 -0.000229384243 -0.007417811061 0.007639673203 1.173261315e-05 -2.039259534e-05 -0.0009749668492 0.000987230323 -4.029897459e-06 1.562514557e-06 -1.987798866e-06 -7.57483437e-06 6.750986436e-06 -1.485732059e-06 2.589342358e-06 -2.494780942e-06 4.740289459e-06 -4.805501304e-06 -2.326416319e-07 1.150193313e-07 -4.274826219e-07 2.338095522e-07 4.585895846e-05 -4.575480516e-05 8.925215854e-08 -1.003664899e-07 2.879721828e-06 -2.944545621e-06 -7.106788855e-08 -2.991813734e-08 2.655267039e-08 -1.620029576e-06 1.602604962e-06 1.625480608e-08 4.808027709e-08 -7.953786999e-08 -2.016472318e-08 2.349447333e-06 -2.294023925e-06 3.639793068e-08 -5.391611208e-08 1.247261594e-06 -1.543893909e-06 2.991097888e-07 7.485523652e-08 -8.627279653e-08 -8.360758411e-08 1.745334984e-06 -1.649635449e-06 2.376476498e-08 -3.423593286e-08 -5.997368817e-08 2.397140654e-06 -2.326365603e-06 1.752178088e-08 -2.617946227e-08 6.007082872e-07 -8.773441969e-07 2.832377802e-07 --0.01352519994 -0.05974268203 -0.0186248165 -0.0006563369189 -0.0009625938385 -0.0004385995762 -5.70052893e-05 -5.382473648e-05 -1.324202372e-05 -8.921781318e-06 -7.289860237e-06 -1.29165639e-09 -2.335610896e-06 0.07964152311 -0.01885925806 -0.01660171479 -0.00574680729 0.01753896191 -0.006433287207 0.0001323736417 0.001892867491 -0.02350870664 -1.443489128e-05 0.0001648623185 -0.009595341586 1.597790393e-05 -1.192825352e-06 -8.4784262e-06 0.0001269066384 -9.59392747e-06 -0.0003694992749 2.064744865e-05 -8.357315908e-06 -0.0005429958753 -2.088247228e-07 4.215251673e-06 -7.727674004e-07 -2.493457888e-07 1.173966667e-05 -1.171677194e-06 4.453056072e-06 -1.970602132e-06 -5.971039334e-05 3.696408652e-06 -1.658856444e-06 -2.016300646e-06 3.623890605e-06 -1.415610787e-06 -1.425715288e-07 3.337681021e-06 -8.097144683e-07 -1.129174028e-05 0.0009694510183 0.0002090828572 -0.04187710285 0.06623306327 -0.01113037713 0.0001753303412 1.975043901e-05 0.001023959997 -0.005677020786 0.03280187875 1.014757303e-05 2.858238319e-06 -0.001121499074 0.00544185579 -0.001519178992 9.953943647e-05 -6.37949522e-05 -5.753390549e-06 7.376220367e-05 -0.009167831424 -2.096741185e-09 1.537416432e-06 1.056785471e-05 -6.562793058e-07 -0.001474782205 -6.926784448e-08 -1.68962159e-07 -3.684626392e-05 0.0001787283839 -3.316986788e-05 3.419968586e-09 2.920283036e-09 1.198259697e-09 1.07021718e-07 -0.0004014984998 -3.919720643e-09 1.780215337e-07 -2.829443206e-06 -4.636552644e-06 -5.078924751e-05 1.360029455e-07 2.251346748e-07 -2.529208029e-05 2.228144187e-05 -1.600307421e-06 5.058172697e-08 7.688309506e-08 5.91715891e-08 -1.406357979e-06 -3.635867133e-05 8.068265875e-08 4.722862395e-09 -4.315656143e-08 4.64638533e-06 -1.348888313e-06 8.064872769e-08 4.147015989e-08 -7.320309189e-06 5.307412913e-06 -1.220219097e-06 4.382250185e-08 5.081609573e-08 -1.735347468e-06 -2.076313977e-06 -1.456925542e-06 -0.01309911957 0.06006647671 0.0208755899 0.001163355334 0.0007419435138 0.000489124377 0.0001024010188 3.343498113e-05 1.488717269e-05 1.449928055e-05 4.475957186e-06 2.227794994e-10 2.991700454e-06 -0.07557642442 0.01356035245 0.01824552492 0.003900278694 -0.0161138865 0.002439383027 1.966598765e-05 -0.002553906128 0.02279445148 4.171185693e-06 -9.677006834e-05 0.01094239018 -6.783675815e-06 1.201878312e-06 0.0001192257606 -6.737873586e-05 0.0001508512072 5.013445927e-05 -1.536656783e-05 5.361588211e-06 0.0005978317065 1.283163799e-07 -2.897132602e-06 2.673030212e-06 -1.460921585e-07 -1.36478969e-05 1.005398427e-06 -3.017079093e-06 9.967940218e-07 6.248326716e-05 -2.807318189e-06 3.48060435e-07 -5.821768305e-07 -3.708402406e-06 1.063509506e-06 2.244983844e-06 -2.635965272e-06 4.187892368e-07 1.100613933e-05 -0.0007467129285 -0.0005418473638 0.04180992313 -0.05982114426 0.006583810282 -0.0001158654384 -9.556308628e-05 -0.0009542375802 0.002977049085 -0.03041769331 -5.654032211e-06 -6.689210586e-06 0.005934549094 9.032653994e-05 -0.01111019478 -0.0001626751033 -6.414589176e-05 1.128652096e-05 -2.021835905e-05 0.008941963301 -8.949451677e-08 2.084811184e-08 -1.701180148e-06 -1.928771903e-08 0.001933936335 6.761486965e-08 -1.722568778e-08 0.000108545912 -0.0001556699885 1.545141236e-05 -9.263923829e-09 -1.867672853e-08 -3.541938491e-08 2.849105989e-07 0.0003159593756 -5.083249431e-08 -2.074885836e-07 2.251418178e-06 3.947773829e-06 7.243743543e-05 -9.586459335e-08 -2.927692743e-07 1.094552809e-05 6.478044079e-06 8.166366305e-06 -3.086839749e-08 -8.45854603e-08 8.10547263e-07 5.958682345e-07 2.470354085e-05 -6.380616906e-08 -3.003964015e-08 3.435097659e-07 -4.794900918e-06 1.185395373e-06 -5.724190981e-08 -7.269719927e-08 -4.649551328e-06 9.1820277e-07 1.015825372e-05 -3.1593409e-08 -6.565910384e-08 3.818946577e-06 -1.481234318e-07 4.569634255e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00162377554 -0.06231295818 0.06393673373 0.03490535829 -0.03057409461 -0.004331263676 0.02742993869 -0.02605538145 -0.001374557241 0.01407197436 -0.01374992348 -0.0003220508829 0.01807441456 -0.01808002831 5.613747782e-06 -0.0005455728726 -0.00116311768 0.001708690552 -8.203563427e-05 -0.001419968441 0.001502004076 7.9245632e-07 -0.001458716866 0.00145792441 -1.800967524e-06 0.0003989897321 -0.0003971887646 0.0001495623572 -0.0001440748064 -5.487550815e-06 0.0002670745877 -0.0002674110123 3.36424614e-07 -9.522323699e-06 1.033593098e-05 -8.136072782e-07 -2.551444622e-06 -1.780288766e-05 2.035433228e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.088996375e-06 1.11877817e-05 5.864847006e-06 1.055629268e-06 5.986915383e-10 7.015316621e-08 6.762526655e-08 2.745420967e-09 6.320039204e-11 5.163508426e-09 1.800701408e-10 3.561286207e-10 5.020479124e-10 -0.06480393144 0.06485633946 -6.006866945e-05 0.006622421329 -0.004094429367 -0.002533307184 0.004634081455 -0.004634464194 2.240771473e-06 2.405899665e-05 -2.401485831e-05 2.83551221e-06 -1.400024146e-07 1.398588877e-07 4.330639896e-07 -8.759926811e-05 8.554312223e-05 2.054280303e-06 2.850977795e-07 -2.860251715e-07 7.323076069e-08 2.201159864e-06 -2.075118246e-06 -1.075008666e-07 -8.204088103e-06 8.236688388e-06 -1.882954941e-08 -2.047625968e-06 2.063886701e-06 -1.376803129e-08 -3.244726177e-09 -2.115252783e-06 2.117352087e-06 -3.097537469e-06 3.100086333e-06 4.580215756e-10 -2.529279125e-06 2.587464723e-06 -5.80597372e-08 0.002894446125 -0.002769958927 4.658844049e-07 -0.02635873072 0.02623269368 0.0003730808155 -0.0003712116662 -9.739636075e-05 0.01657477215 -0.01648413512 1.661527158e-05 -8.888765757e-06 -4.818319457e-06 0.008030384045 -0.008035915937 0.0001162726992 -0.0001224896836 -0.000509680475 0.0005157590346 8.95278414e-07 4.623836706e-06 -3.916964916e-06 -7.131061799e-05 7.068821736e-05 5.370868358e-07 -4.98676799e-08 -1.753461389e-09 -2.067217065e-05 2.074434301e-05 1.961420363e-07 8.952438246e-06 -9.95496333e-06 8.736755617e-07 1.313808883e-07 -4.368594956e-09 -1.43467353e-06 1.493326109e-06 8.478031542e-09 -1.631071763e-06 1.566922649e-06 2.755623162e-07 -2.553814111e-07 -1.409976935e-06 1.396124212e-06 1.909350235e-08 1.081827993e-07 -1.001019631e-07 -9.957240421e-09 -4.470589946e-07 4.4921265e-07 1.375758547e-07 -1.258101268e-07 -3.115009263e-09 4.166129449e-06 -4.175159921e-06 1.481486199e-07 -1.407979806e-07 -1.584487231e-06 1.576478448e-06 2.735064169e-09 1.710803789e-07 -1.616627619e-07 -2.54833005e-09 -8.077543575e-07 8.006180754e-07 --1.326267181e-05 -5.446982579e-05 -1.356076301e-05 -1.060804862e-07 -1.216351279e-06 -2.814669419e-07 -7.273939339e-09 -8.067237954e-08 -5.57945339e-09 -1.818586503e-09 -1.072689741e-08 -2.079528158e-10 -1.175593046e-09 -0.003398406741 0.003006693155 0.0004331526636 0.000724235533 -0.00126703972 0.0005400775172 -0.0001209966777 0.0001234419885 -2.350044907e-05 4.481689033e-05 -3.063781198e-05 -2.04707115e-05 1.603992118e-08 9.721599775e-08 -2.107518713e-07 -7.157603564e-06 1.860415002e-05 -1.184224758e-05 -2.892991809e-06 7.392100271e-07 1.815114114e-06 1.936916262e-07 -1.752654656e-07 -4.547559658e-08 -7.867884919e-08 3.937891964e-08 4.132973116e-08 -2.422070199e-07 -6.22376102e-07 8.285806744e-07 -2.21694149e-07 -5.569504973e-07 7.696207758e-07 -1.211309004e-07 -1.162261979e-06 1.286276734e-06 -1.868868847e-07 4.168483161e-09 1.766271127e-07 7.750736634e-05 -3.186917778e-05 -0.0007125801256 -0.004537386336 0.005220688451 -4.440984907e-05 3.845466094e-05 0.0002932984686 0.002148869316 -0.002411181964 -3.604695609e-06 8.770507937e-06 0.0003129087435 -0.0003065443129 -1.283835946e-05 -4.855622831e-07 3.135952008e-07 -4.026730273e-06 3.774752718e-07 -4.56872174e-06 -8.088648288e-07 8.723555908e-07 -1.610679422e-06 1.635818637e-06 -7.122839426e-07 -8.565058635e-08 4.554472658e-07 2.401385559e-06 -1.220273179e-05 9.509776424e-06 -2.789809692e-08 3.833718307e-08 -1.325881428e-06 1.082247128e-06 -2.177859133e-07 9.824607122e-09 -7.787222237e-09 -1.686506488e-06 1.53808725e-06 1.324686571e-07 -1.462356155e-08 3.018025046e-08 -2.912615081e-08 -7.997581905e-07 8.249885418e-07 -1.08812304e-08 2.960082775e-08 -8.021064548e-09 -1.058054327e-06 1.001214314e-06 -2.654636762e-08 3.315326274e-08 -1.511497281e-07 -6.742535613e-07 8.208652736e-07 -6.85536719e-09 1.362092433e-08 -1.769290805e-07 -7.948739921e-07 9.660504763e-07 -5.104867942e-09 1.214915723e-08 4.409754002e-08 -1.493750977e-06 1.436302386e-06 -0.01824220201 0.0805783337 0.02512034325 0.0008852387185 0.001298304745 0.0005915640512 7.688625734e-05 7.259646588e-05 1.786026622e-05 1.203331099e-05 9.832246744e-06 1.742130016e-09 3.150170495e-06 -0.001649987236 -0.08643078348 0.02849196416 -0.02503822496 -0.001175271686 0.01898568913 -0.003103056846 0.000408474929 0.03167054674 -0.0001163204481 2.331398313e-05 0.0128318963 1.770818377e-06 -2.62432328e-05 1.596627572e-05 5.981074793e-05 4.485530716e-05 0.000235472225 -4.021912521e-06 -1.91616038e-05 0.0007389763628 -5.649109324e-06 6.614846167e-07 6.262052095e-07 2.741452961e-06 1.141106054e-06 -1.779989728e-05 -1.595232912e-07 -1.095624187e-05 8.830232328e-05 -1.727041283e-07 -7.323316242e-06 7.467357186e-06 -9.617911258e-08 -8.347648226e-06 5.657689752e-06 5.577487576e-08 -5.892517385e-06 1.765693973e-05 -0.001936718718 0.0001585004831 0.04781906475 0.003424537113 -0.068893031 -0.0001909434488 1.188856279e-05 0.003097079753 -0.04255196697 0.001404923019 -8.483964184e-05 2.730610839e-06 -0.0114649167 6.75779401e-05 0.007683799312 -0.0001435779227 -6.68125391e-05 -2.420485852e-05 -5.016958588e-06 0.01246484702 -1.980227074e-06 3.735005527e-07 2.125983226e-06 -7.526938215e-06 0.001980690766 -1.096488025e-06 -2.434405987e-07 1.096696896e-05 -2.168159232e-06 -0.000153763929 -6.497518753e-09 2.759979108e-09 -9.280175871e-08 1.496526367e-07 0.0005413161043 -2.915279494e-07 3.669343461e-08 -6.519984522e-06 1.679023663e-06 8.343311547e-05 -6.850453021e-07 1.335530872e-07 1.69096687e-05 6.315179334e-06 -1.694139915e-05 -2.01693867e-07 5.920072221e-08 -8.935341757e-09 -4.547323689e-06 5.538285574e-05 -1.849636634e-07 3.147424099e-09 1.464646894e-07 -7.115780087e-07 -3.757574703e-06 -1.99582072e-07 2.838634075e-08 9.091074011e-06 -6.967942491e-07 -4.027107143e-06 -1.597838453e-07 3.362688441e-08 3.230030163e-07 -3.087614101e-06 9.869164827e-06 --0.01748639118 -0.08018446608 -0.02786742493 -0.00155299647 -0.0009904417201 -0.0006529461884 -0.000136698063 -4.463331724e-05 -1.987331469e-05 -1.935550632e-05 -5.975083887e-06 -2.973947564e-10 -3.993706917e-06 -0.003249834809 0.09328021568 -0.03159981964 0.02857336326 5.105882809e-05 -0.01557652851 0.003818174704 -0.0004468098498 -0.03041730325 7.387912771e-05 -2.637773687e-05 -0.01453119962 -2.046824949e-07 2.618178552e-05 -0.0001776836955 -0.0002176822485 -8.882516991e-05 0.0001281516868 2.431776419e-06 1.407266177e-05 -0.0008012112301 6.205503968e-06 -2.823931672e-07 -5.795243303e-06 -1.751719601e-08 -1.794984978e-06 1.888435935e-05 1.382939578e-10 9.654792341e-06 -9.036870314e-05 -1.09892328e-07 7.400771453e-06 -3.230780687e-06 -3.501126728e-08 8.152739519e-06 -7.583878161e-06 -1.352811427e-07 5.698355758e-06 -1.729571431e-05 0.002213470272 -0.0003301984424 -0.04897274462 -0.007003080899 0.07106746903 0.000251597986 -4.008116331e-05 -0.00451847988 0.04556528613 -0.003070937265 8.909966863e-05 -5.08422607e-06 -0.00333689347 0.01234697911 -0.002289085054 0.0004032435307 -2.688576081e-05 5.778461895e-05 1.58769992e-06 -0.01205790066 1.453951493e-07 1.276192571e-08 -1.92524906e-06 6.140807131e-07 -0.002578125844 1.12281779e-06 -3.462616822e-08 -2.065085136e-05 -7.141692118e-05 0.0001331930647 1.567829185e-07 -3.132345755e-09 4.814715021e-07 -1.490821713e-08 -0.0004226992193 4.264499108e-07 -6.822043276e-08 9.362134547e-06 -9.118732075e-07 -0.0001134379446 7.075240937e-07 -1.534934636e-07 -1.660550148e-06 1.779504023e-05 -5.033046652e-05 1.768397299e-07 -5.487682036e-08 -1.109312692e-07 3.254383363e-06 -3.796622346e-05 2.183882167e-07 -1.496735909e-08 -5.032031642e-07 2.877748792e-07 4.497156526e-06 2.137794861e-07 -3.989079495e-08 -1.011683349e-07 4.798608316e-06 -1.327732964e-05 1.630513155e-07 -3.680404806e-08 -1.013009801e-06 -5.22677944e-06 1.282078471e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.0009269225763 0.3400683679 0.01206588618 0.004151052309 0.2938714979 0.003717202171 0.004151801438 0.1816638353 0.001011755621 0.002589756357 0.07656776695 0.0002285133188 0.0321594005 0.01016431946 3.602492477e-06 0.0005805604634 0.01611697302 0.000179335446 6.799698104e-05 0.009896917038 0.000228103607 4.392985063e-06 0.003155721279 0.0006729341173 4.62087064e-09 8.234101554e-05 0.002613278576 2.876784793e-05 0.0007790243383 3.981882657e-06 0.0005154750349 0.0001386812862 2.703291706e-07 0.000118926005 9.264748517e-07 1.676657899e-07 2.300329315e-06 0.0001349776532 3.065133367e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3.011952136e-07 1.613074268e-06 8.456040746e-07 1.522025058e-07 8.632041103e-11 1.01148083e-08 9.750331232e-09 3.95839679e-10 9.112344954e-12 7.444838305e-10 2.596283323e-11 5.134725806e-11 7.238616113e-11 0.239967483 0.01755041653 1.182538076e-05 0.000460324206 0.09914517325 0.001203806869 0.001073568173 0.02001422467 2.06202336e-07 2.848495824e-06 0.0002039375872 3.884781825e-07 7.678978157e-07 2.557777799e-08 6.239456447e-08 0.0001159588833 0.0002550338549 1.528305999e-08 7.194600764e-08 1.127310125e-06 1.075258861e-08 1.283956013e-07 3.833467395e-05 1.528247546e-08 4.060887848e-05 1.678889944e-06 1.123743932e-09 1.204004948e-05 3.569976304e-07 1.400710365e-09 4.034598877e-10 2.064158518e-05 2.175362158e-07 1.487172425e-05 6.474816912e-07 4.071923095e-12 1.069577868e-05 6.375624195e-07 1.355169823e-08 0.00222388174 0.003196659544 6.184262397e-09 0.144404355 0.004792295471 0.001323289128 0.0001074809844 2.262545003e-05 0.002393539321 0.1151298908 2.708993449e-05 1.184900532e-06 1.894916729e-06 0.001385983655 0.04660442206 0.001029186584 1.670988806e-05 0.004868389405 5.321247701e-05 8.556361898e-08 8.379082167e-06 1.294357862e-06 0.0004761908043 1.062582169e-05 5.314712314e-08 4.438373297e-07 6.256908076e-08 0.0001894391326 2.271853572e-06 1.895600299e-08 2.941593082e-05 4.097193431e-06 1.223561084e-07 3.451639231e-08 2.129917569e-09 8.789969565e-07 2.203993643e-06 1.059258485e-08 3.181469747e-08 8.386543231e-05 4.324016253e-07 1.264746199e-07 9.066555448e-06 2.200941874e-07 1.440828646e-09 2.083298697e-07 3.978897035e-08 2.048874724e-09 4.200527758e-06 4.924357073e-08 2.717992837e-08 6.221863507e-07 6.488460923e-10 1.155331052e-06 1.511069181e-05 6.871390618e-08 2.790136237e-07 5.044062846e-06 4.968475952e-07 5.747013784e-10 1.803035002e-07 1.270406161e-07 1.124306073e-09 5.928893674e-06 1.09364448e-07 -3.747713844e-09 1.539186998e-08 3.831947287e-09 2.997580822e-11 3.437117794e-10 7.953582577e-11 2.055441282e-12 2.279608497e-11 1.576620081e-12 5.138890497e-13 3.031164646e-12 5.876249203e-14 3.321944776e-13 0.0005957171189 0.2177345324 3.59029905e-06 0.05147839193 0.0005938175569 4.942720911e-06 0.004483374268 3.4430939e-05 7.02783673e-09 0.0006647005883 7.032235289e-06 1.837897032e-08 3.628121981e-11 5.127955483e-05 1.14118148e-10 1.037788292e-06 0.000153844745 9.326282233e-08 1.910222987e-06 7.852337593e-05 2.58494599e-09 1.441064639e-05 1.576291115e-08 1.911311826e-11 2.292421465e-10 6.479888413e-10 3.65790601e-05 1.039740047e-07 2.857578966e-05 4.41467839e-09 1.271877492e-07 1.637091658e-05 1.23298079e-08 3.617576749e-08 1.70131791e-05 2.503374063e-07 4.413013177e-08 1.468060271e-05 8.790293138e-10 0.004564416005 1.949798441e-06 4.545169031e-06 0.0009539604888 0.1863381336 0.000331929295 3.455882867e-05 6.937080943e-05 0.09752020396 0.0006676804882 0.0002199396061 5.020051236e-06 0.02137669085 4.96897775e-05 6.76351009e-09 1.193666915e-05 4.182258542e-07 5.063274567e-05 7.443534382e-07 7.015292049e-10 2.439417662e-05 2.296914532e-07 3.750834378e-07 7.286720389e-05 2.211050761e-10 3.275149297e-06 2.501407384e-07 5.675950109e-08 5.695574406e-06 0.0003963590513 3.279591324e-07 3.522862483e-08 1.219251428e-05 8.059340499e-07 2.950251307e-11 3.640105499e-07 2.174952327e-09 6.105771258e-06 2.445401429e-07 3.832621165e-10 1.476424196e-06 6.208857158e-09 5.203064149e-10 1.327686436e-07 4.625995423e-05 6.35699415e-07 7.627037344e-09 9.365555429e-08 1.502293123e-05 5.604428577e-09 3.905433851e-07 2.547527941e-08 8.726613001e-09 3.277456988e-07 1.068213393e-05 4.641462597e-07 3.297071296e-09 3.043771808e-09 4.372053726e-07 1.452737618e-05 3.940219687e-07 2.548144076e-09 3.16406224e-08 1.015603736e-05 6.322849521e-08 -0.03268283274 0.1443646004 0.04500574965 0.001585998716 0.002326050155 0.001059849514 0.0001377498554 0.0001300642406 3.199855442e-05 2.155894832e-05 1.761550911e-05 3.121210032e-09 5.643863352e-06 0.03241602958 0.04204590144 0.04704697813 0.01340056359 0.005425290957 0.03094462135 0.00179206802 0.0005674979083 0.0567288742 4.38359936e-05 0.0001047514898 0.02302825111 4.508827803e-06 1.457412461e-05 2.760932048e-05 0.0001445790523 6.589225333e-06 0.0006800036301 9.815087568e-06 9.576726423e-06 0.001317861331 3.043549386e-06 1.521431363e-06 1.164924107e-06 4.683261859e-06 3.592127268e-06 9.584103047e-06 8.152519325e-07 7.118058352e-06 0.0001546021151 9.133720972e-07 5.333545984e-06 9.608893051e-06 7.855229787e-07 6.760757945e-06 5.335401919e-06 8.558466783e-07 3.416460932e-06 3.064688772e-05 0.001511504953 1.502216582e-05 0.08493931648 0.02921560499 0.03350212798 0.0001792529213 8.793842581e-07 0.003176012614 0.02234705821 0.01172092917 5.177392616e-05 1.728067148e-07 0.006204121746 0.001128775642 0.01363601812 0.0001213229835 2.168843865e-05 1.645919496e-05 2.020852949e-05 0.02228434537 1.112963903e-06 5.472366498e-07 7.243034942e-06 2.944783567e-06 0.0035510187 5.856475895e-07 6.662037423e-08 2.869558783e-05 9.366595868e-05 6.537392881e-05 5.051921049e-09 9.847693966e-10 1.10968197e-07 2.170590989e-07 0.0009697703614 1.622193007e-07 5.597899332e-08 6.17415802e-06 1.181647526e-06 0.0001464137627 4.405730033e-07 5.806189139e-08 3.085621436e-05 1.843104447e-05 7.64236701e-06 1.343890123e-07 2.498167267e-08 3.386583649e-10 4.226774911e-06 9.573851211e-05 1.366994265e-07 7.411528225e-11 1.829193281e-07 2.307166901e-06 1.564217158e-06 1.45301673e-07 5.575552974e-09 1.757050874e-05 2.548949639e-06 1.444582306e-06 1.079805716e-07 1.201054113e-08 3.01393045e-07 1.199777935e-05 8.768126889e-06 -0.03133879958 0.1437051754 0.0499435038 0.00278325268 0.001775052052 0.001170198557 0.0002449878396 7.999103811e-05 3.561660147e-05 3.468859451e-05 1.070843918e-05 5.329855983e-10 7.157450576e-06 0.02783433637 0.04784792553 0.05320208007 0.01563475196 0.004081729173 0.02580291862 0.002129542069 0.0008247086037 0.05449252657 3.232134857e-05 6.670672688e-05 0.02605906753 7.461709703e-07 1.567419016e-05 0.0003148732798 0.0003778816863 8.048641281e-05 0.0001209580303 7.211147625e-06 6.62674296e-06 0.001433246606 3.489481797e-06 6.088926784e-07 1.020222356e-05 1.344626542e-08 4.836997638e-06 1.009492167e-05 4.092735935e-07 6.015137939e-06 0.0001597954908 5.366994984e-07 5.341500409e-06 2.938901406e-06 8.010488721e-07 5.344931308e-06 1.090596115e-05 5.43990302e-07 3.315697284e-06 3.03152924e-05 0.001571057802 9.029921307e-05 0.08594440822 0.02403468631 0.03725373947 0.0001888539947 1.451505617e-05 0.006119098749 0.02493882272 0.009621796996 5.231579094e-05 1.197063836e-06 0.008026042813 0.006109859602 0.004976543728 0.0002931657507 4.955780146e-06 2.863457316e-05 5.09175622e-06 0.02157031034 1.182533793e-07 1.536904276e-09 3.890104524e-06 1.532710487e-07 0.004621201724 6.022202791e-07 2.552248058e-09 3.388465435e-05 0.0002935802916 4.516270942e-05 9.244648444e-08 1.383847193e-09 2.575198195e-07 4.939242673e-08 0.000757562764 2.605995039e-07 5.60202381e-08 6.903500331e-06 6.052094957e-07 0.0002003790549 4.370694416e-07 1.023423195e-07 2.348394552e-06 5.393357273e-05 4.700821464e-05 1.124766973e-07 3.561128342e-08 8.052287291e-08 2.708765871e-06 6.611704632e-05 1.486852347e-07 2.521038575e-09 8.470313302e-07 2.167388808e-06 2.026338281e-06 1.437525294e-07 1.633201269e-08 2.039465645e-06 2.33902561e-06 2.357787201e-05 1.048841402e-07 2.038290957e-08 1.601227157e-06 1.454620521e-05 2.138963796e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.01359971614 -0.017716024 0.004870577299 0.002945054874 -0.02258970716 0.02016616809 0.001170152392 -0.006268732172 0.005303920493 9.361718399e-05 -0.0004034949895 0.0003271847613 3.30075815e-06 4.682448629e-06 -1.150054311e-05 -0.0005385318149 0.0005849047437 -5.487122752e-05 -3.959664539e-05 4.592455127e-05 -7.709729292e-06 -9.850949068e-06 8.933081828e-06 9.639884054e-08 -3.893088897e-07 -2.898139548e-05 3.033521284e-05 -7.868878997e-07 3.528113982e-06 -2.857384213e-06 -1.778304806e-06 -1.507787295e-07 2.240111358e-06 -1.861720417e-06 4.827988431e-07 1.280855379e-06 2.880021248e-06 -3.298432616e-06 4.832465758e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.000385936183 0.0007041971451 0.0003340516185 7.745010486e-05 -1.202026201e-06 -7.112615906e-06 -5.392230564e-06 -5.875790607e-07 7.83638198e-08 3.517579373e-07 6.498713897e-08 3.741791447e-08 -5.278823635e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.711187742e-05 -4.762918002e-06 -3.452909025e-06 -3.44096788e-08 -4.764990026e-07 1.050048351e-07 -5.696869943e-09 -2.932066614e-08 9.6618421e-09 -4.360936931e-09 -8.167742329e-09 -1.104322162e-09 -2.552366243e-09 0.007257075326 -0.00775669315 0.0008820567467 -0.0005376917684 0.0006892036474 -0.0001249373536 -0.0001782224334 0.0001723473016 -4.067238072e-06 -3.766408681e-05 4.153245708e-05 -3.71468382e-06 1.035602473e-07 -3.342057471e-07 -2.880445452e-07 5.54998959e-06 -7.576523029e-06 2.300138342e-06 3.472586714e-06 -3.64970736e-06 2.042980081e-07 -5.464594946e-07 6.187027919e-07 -3.72896613e-08 1.421886134e-07 -1.249132704e-07 9.812740221e-08 1.397713984e-06 -1.761449192e-06 4.05421321e-07 1.23992897e-06 -1.733766292e-06 5.222040726e-07 8.476309401e-07 -2.913339955e-06 2.103212169e-06 7.250227525e-07 -8.472328234e-07 1.511920896e-07 0.0001435781373 -7.762534933e-05 -0.0005916976498 0.01052483806 -0.009564863396 -0.0001364701737 0.0001302308261 0.0005619413886 -0.003395887398 0.002939769287 -1.201777308e-05 1.648781647e-05 0.0001220231649 -0.0001348598248 -1.281142642e-06 -1.594769504e-06 2.323262747e-06 2.737533223e-05 -2.949224832e-05 -7.04567521e-07 -2.637975156e-06 2.259030916e-06 -9.405775857e-06 9.297350576e-06 1.790695927e-07 -6.153627893e-08 6.559704687e-08 -1.434964197e-07 1.462804549e-06 -1.280408409e-06 -9.09217631e-08 9.556296623e-08 3.515197666e-06 -3.49378232e-06 -1.649427856e-08 2.996073367e-08 -2.382764523e-08 -1.57670999e-06 1.824256484e-06 -1.801953154e-07 -4.940073015e-08 7.833251589e-08 -1.109997048e-07 2.101839492e-06 -1.896898824e-06 -3.76208908e-08 4.346725108e-08 1.282254904e-06 -1.446352957e-06 1.937321785e-07 -7.273265078e-08 8.01089118e-08 -3.096881613e-07 2.043451263e-06 -1.703170407e-06 -2.484061019e-08 3.251487553e-08 -1.689265051e-07 2.627183771e-06 -2.421401037e-06 -1.825737871e-08 2.337547759e-08 7.299784594e-07 -1.165061301e-06 4.606385148e-07 -0.08216582772 -0.008670823211 -0.01263868873 -0.0004400207071 -0.001272080128 0.0003097840395 -3.67123883e-05 -7.609690251e-05 4.386926765e-05 -2.554079379e-05 -1.810164252e-05 -2.537922723e-07 -1.04070121e-05 0.05406913365 -0.01544134365 -0.09987102253 -0.0005846010479 0.002530639196 0.0137035689 -2.835189971e-05 -0.000676714437 -0.01071690538 -2.125415994e-05 0.0001956208728 -0.004918751761 -3.688225203e-05 4.65315841e-06 0.0001251172427 5.368434069e-05 4.737498372e-06 9.874628323e-05 7.933428059e-06 -3.305866694e-06 -0.0001548078823 -3.925877985e-07 6.159716503e-06 -1.007011437e-05 1.923770493e-05 8.075963382e-06 -8.584097026e-07 3.500401098e-06 -1.829243437e-06 -6.659289825e-05 3.548358501e-06 -2.956926887e-06 -1.291164849e-05 3.773027959e-06 -4.185208915e-06 -9.307853249e-06 3.143231215e-06 -9.801920416e-07 -2.60662176e-05 -0.0009246301404 -0.0002012475186 -0.07775321002 0.05718884663 -0.01097070683 -0.0001745441886 -2.24116091e-05 -0.003999105048 -0.003501358049 0.0141586032 -8.691467248e-06 -1.935888549e-06 8.410934987e-05 -0.0003584038356 -0.001401587235 -9.858200848e-05 7.414438019e-05 1.717156218e-05 -0.0001503076036 -0.004157318 4.253129441e-08 -1.365635722e-06 -3.316596629e-05 3.050844998e-06 0.0005464931284 9.041213991e-08 -7.867488236e-08 5.747366763e-06 -8.983455123e-06 1.644742861e-06 -3.351954548e-09 -2.070253393e-09 1.916176662e-07 2.355760211e-06 -0.0001141188932 9.800025013e-09 -1.706385229e-07 -3.662117398e-06 -7.401469858e-06 9.282517096e-05 -1.248755793e-07 -1.98069347e-07 -2.843872377e-05 1.617245688e-05 -1.418171274e-06 -4.717149222e-08 -6.039348444e-08 6.535166496e-08 -1.436762213e-06 -1.904841252e-05 -7.870419242e-08 -4.518500185e-09 1.255004733e-06 5.686934599e-06 -1.662529865e-06 -7.801509159e-08 -3.984222088e-08 -1.234734602e-05 6.219832849e-06 -1.489260361e-06 -4.120639509e-08 -4.566701181e-08 -2.144076599e-06 -3.036402311e-06 -2.075335266e-06 --0.08134389216 0.005996957965 0.01360273996 0.0006982159021 0.001114849107 -0.0002904630075 4.52259783e-05 6.200431669e-05 -4.602857202e-05 3.085753947e-05 1.371956996e-05 -1.048913975e-07 1.161862177e-05 -0.05188062748 0.01193391624 0.1054275909 0.0003847698094 -0.002218271705 -0.01419149699 -2.937247668e-05 0.0007892666602 0.01005252734 1.146977768e-05 -0.0001703382075 0.005564171515 1.477744213e-05 -4.177410674e-06 -0.000395576053 -9.269462918e-05 -7.394106951e-06 -2.947769363e-06 -7.35669664e-06 2.677620814e-06 0.0001717506148 2.254233966e-07 -3.63302863e-06 -3.136132598e-05 -1.015602494e-06 -7.729105684e-06 5.998127293e-07 -2.396471526e-06 1.004968133e-06 6.391286336e-05 -3.155715578e-06 2.45339584e-06 6.235984274e-06 -3.596184267e-06 2.000551848e-06 1.462033163e-05 -2.509579114e-06 5.861070914e-07 2.477340661e-05 0.000694137426 0.0005166133075 0.07585144951 -0.05259849636 0.007455454505 0.000112554707 0.0001049797578 0.005701079264 0.002202435865 -0.01369021163 3.955195518e-06 3.843906349e-06 0.0004769892999 -6.794231968e-05 0.0007520325331 0.0001570592558 7.061471361e-05 -1.03565918e-05 4.928109989e-05 0.004142070096 8.805953796e-08 -2.539347814e-08 2.138127673e-05 -3.575217848e-07 -0.0005334634071 -9.118997939e-08 -2.662777602e-08 -1.247411345e-05 5.238530442e-06 -9.269138099e-07 5.667342902e-09 2.219983946e-08 7.88923837e-08 -1.237529839e-06 0.0001105582185 4.268264001e-08 1.969029206e-07 2.840133034e-06 5.697808764e-06 -0.0001035407726 8.254816077e-08 2.423225901e-07 8.687471602e-06 6.465416501e-06 7.241196498e-06 2.729527163e-08 6.506806796e-08 9.700232956e-07 6.839767759e-07 1.381210555e-05 6.047929591e-08 2.879300335e-08 -2.60349696e-06 -5.814995334e-06 1.539752162e-06 5.359385859e-08 6.887544989e-08 -5.694637084e-06 1.267710282e-06 1.409012346e-05 2.844493026e-08 5.824461716e-08 4.907725177e-06 7.147685188e-07 6.558892945e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4511178441 0.1788933402 0.01952376147 -0.002657341027 2.042784641e-05 0.0006383944691 -0.0001780440742 1.94688863e-05 -0.000151227711 3.750863895e-05 -1.696460019e-05 1.822358986e-05 -1.750526312e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4509370911 0.1793159845 0.01969251574 -0.003192450812 0.000685080602 0.000118852064 0.0001910359828 -0.0002013649958 -1.278848376e-05 -4.178841477e-05 3.288930331e-05 -8.138252139e-06 1.224906789e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2646806578 -0.008228751522 0.0003612755932 0.0001645425919 0.0001527044125 7.619439711e-05 -5.464474581e-06 3.692963179e-05 3.41738209e-05 8.702787009e-06 1.41406476e-05 1.202765477e-05 9.217997176e-06 0.003828502233 4.912893079e-05 0.2530956384 -1.312671068e-05 -0.0006534186457 0.01701942731 -3.091546726e-09 -1.734376422e-06 -0.002826558684 -9.882558861e-08 -4.146678611e-06 0.0003075915073 4.866623034e-06 -4.070850858e-10 0.0003398587215 -5.03964287e-07 -2.105158864e-08 -8.529274119e-06 -2.104565757e-09 -1.834097339e-10 -1.839210215e-07 -1.445703291e-09 -9.72844511e-07 7.988716273e-05 1.5166932e-05 -5.052111265e-07 -6.638658246e-11 5.542559788e-07 1.009604734e-08 1.06903987e-05 1.145907159e-06 5.526898007e-08 1.682990767e-05 2.666839943e-06 2.08357886e-07 9.253640719e-06 3.735499327e-07 5.205520212e-09 1.098451413e-05 5.630982825e-07 0.0001678672272 0.08725105726 -0.004108613366 -5.126504108e-05 5.459117983e-07 -2.444205642e-05 0.01460295751 8.522931057e-05 0.002867082103 3.036487947e-09 -2.456779492e-06 2.201827737e-08 1.459023866e-05 -0.000945069991 -5.581998622e-11 -3.806119639e-08 -7.210102339e-08 -2.092234499e-06 0.0001039554804 6.894832507e-10 -1.309390352e-07 -3.707507849e-07 -1.402886422e-09 0.000143863056 8.574031475e-10 7.70512932e-08 -5.823474704e-06 6.552805125e-07 1.656933841e-08 -3.856417195e-11 1.920001326e-09 -1.420684792e-08 -6.681973102e-08 1.699358405e-05 1.960483568e-12 7.386281374e-09 -4.447925864e-07 -1.194555994e-05 5.033946195e-05 1.728359893e-11 -4.384536598e-08 -6.225370154e-06 4.392982695e-07 2.149695919e-09 -7.514171831e-12 1.082502974e-08 8.619422615e-07 2.381087435e-08 5.999850447e-06 5.099150209e-10 1.91712122e-08 7.68324685e-06 -7.97644869e-07 -5.419952665e-08 -1.425429419e-11 8.501621174e-09 3.82114171e-06 -2.864421187e-08 -1.189305593e-08 -5.29325174e-12 7.647192354e-09 1.276398193e-06 4.715951527e-08 2.568227218e-06 -0.276844638 -0.005513964942 -0.0003945291832 0.0002765704734 0.0001531214236 4.311452182e-05 -3.653367361e-06 4.746876001e-05 2.427245359e-05 7.779922528e-06 1.398831897e-05 1.053771854e-05 8.719779195e-06 0.004022145278 0.0009735014422 0.2442725961 -9.8051101e-05 -0.001446826329 0.02439578976 -1.693729859e-08 -2.935195838e-06 -0.003216680075 -2.66328928e-07 -3.361877036e-06 0.0002651597734 1.441526097e-05 2.118830607e-07 0.0002867213909 -4.994895133e-06 -2.744387404e-06 -1.501665011e-05 3.804105995e-08 3.901770137e-08 1.109299223e-05 -1.553123238e-08 -3.081974556e-06 8.253746995e-05 -4.386143437e-07 2.391263803e-08 2.026023853e-10 6.363849167e-07 6.2023319e-08 1.307017007e-05 1.905171795e-06 7.371797118e-07 1.350934073e-05 1.746961216e-06 7.87977267e-07 7.067163917e-06 4.5282844e-07 3.310745283e-08 9.584910746e-06 1.190314877e-05 0.0001508395109 0.07834615551 -0.004829718594 -7.49780197e-05 3.099716316e-07 -4.491190422e-05 0.01510455551 0.0003966475897 0.003458153506 -1.496994772e-08 -2.328403581e-06 1.474360956e-06 0.0001393482842 -0.0007710050067 -1.133730783e-10 -5.814490381e-07 -8.759759402e-08 -1.536887339e-06 9.708704796e-05 3.251675479e-11 -2.966943913e-08 -1.848301408e-06 -1.015318894e-07 8.065831322e-05 4.008706654e-10 -8.856092309e-10 1.132719957e-05 -2.003484021e-06 -1.910967211e-07 1.260197817e-12 5.266500694e-10 -1.927560428e-08 -5.29206656e-07 3.219514005e-05 1.468816165e-11 -1.841119757e-09 -4.760657978e-07 -5.477338346e-06 2.938459478e-05 -9.431003277e-11 -2.323320733e-08 -8.079225856e-06 1.929748188e-06 3.689632597e-08 6.454242276e-11 1.324615695e-08 1.175445539e-06 1.613636873e-07 5.894063831e-06 -1.079244991e-10 1.980488185e-08 5.094908706e-06 -8.311539685e-08 -7.014045705e-08 4.963802038e-11 5.325379363e-09 3.157760742e-06 1.552399752e-08 -5.380883711e-08 5.30320516e-11 7.797812172e-09 1.795297678e-06 5.926637819e-07 7.407735233e-07 -0.2826638831 -0.004055763145 -0.0008705871959 0.0003182057998 0.0001515768232 2.88985815e-05 -2.172930135e-06 5.21239929e-05 1.816287156e-05 8.219063634e-06 1.381087709e-05 9.684357495e-06 8.544054332e-06 0.005562963585 0.0005625057235 0.2389429097 -4.655434165e-05 -0.002086286406 0.02795663834 2.278831075e-08 -1.413560651e-06 -0.003381129802 -6.756707799e-08 -2.783213095e-06 0.0002200288443 1.723154519e-05 1.840574661e-07 0.0002567141391 -2.055258895e-05 -3.154505266e-06 -3.051111643e-07 4.396218325e-08 3.109270974e-08 1.934207472e-05 -9.247275374e-09 -4.711586116e-06 7.947489779e-05 -6.245970365e-06 4.677410311e-07 2.845134494e-09 7.754769619e-07 2.713224402e-08 1.469530928e-05 3.703356545e-06 6.825088136e-07 1.044783875e-05 1.112974978e-06 1.57785344e-07 7.324303327e-06 5.46334505e-07 1.350617821e-08 8.942253283e-06 6.68103904e-06 0.0001741522696 0.07308761594 -0.004072409457 4.45569966e-05 4.491603112e-08 -4.430518609e-05 0.0153498281 0.0001339470334 0.003921785945 -8.649458789e-09 -1.920979612e-06 -0.0003552066156 -3.985818327e-06 -0.0001175627778 1.356003046e-09 -1.465087516e-06 -6.019783209e-09 -6.163192334e-07 9.227922099e-05 1.405312242e-11 3.469161591e-09 -1.568102704e-06 -3.089186139e-08 5.31818646e-05 2.899778604e-10 7.3777918e-08 1.610594537e-05 -2.307825739e-06 -2.245134245e-07 1.68324429e-11 -1.884427572e-08 -1.996488798e-09 -1.113054288e-06 4.127183329e-05 -2.524280819e-11 -2.842852123e-09 -1.185002485e-07 -2.860189436e-06 1.669444588e-05 -4.467910097e-11 -1.658528989e-08 -3.100058131e-06 -5.977832804e-07 -1.290955838e-06 5.995375769e-11 1.546325152e-08 1.588920772e-06 7.903453614e-08 5.590054173e-06 -6.365099048e-11 1.889555065e-08 3.840203703e-06 6.918715574e-09 -9.330924321e-09 2.890282071e-11 4.949929332e-09 -6.091221484e-08 3.512424965e-09 3.012326462e-06 4.354467947e-11 8.83926238e-09 2.647578117e-06 1.962917987e-07 -3.395720992e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.2639982369 0.001205578172 0.002078167571 0.002918528218 0.002852961161 0.1790322028 0.0006921645132 0.0005555021375 0.07151661371 3.358539776e-05 2.724439595e-05 0.006072041596 -5.712882517e-08 7.655188296e-08 -0.001246418362 -0.002807959707 -0.0001197851296 -8.370173022e-05 -0.0004808155083 -4.436690024e-06 -4.409031681e-06 -0.0002908126152 -2.773659214e-07 -4.541590061e-09 0.0002557185401 8.328157801e-05 2.781907866e-06 -3.421920224e-07 -3.123057387e-07 -4.050715352e-05 5.947876637e-08 -4.291593688e-09 0.0001101602462 -9.832078092e-08 -9.757251627e-07 -3.367656915e-05 2.208053591e-05 4.93161866e-07 4.012259278e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.136759867 0.2495384266 0.1183741171 0.02744512307 -0.0004259485133 -0.002520417748 -0.001910784133 -0.0002082137869 2.776890596e-05 0.0001246485062 2.302876194e-05 1.325936575e-05 -1.870597394e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.03127525951 0.005494326129 0.003983148203 3.969373339e-05 0.000549671634 -0.0001211296958 6.571698562e-06 3.382323651e-05 -1.114554386e-05 5.030615627e-06 9.422005601e-06 1.273905221e-06 2.944315341e-06 0.1323912725 0.0003909119965 0.02921426462 5.766675355e-05 0.006250515562 -0.003403840587 -1.485951533e-05 -0.001867105443 0.00443680683 3.240729491e-06 0.0003656039655 0.001366664274 -0.0001145380224 -5.139013819e-10 0.0001779611418 5.83804182e-05 3.374046054e-07 -0.0001034449396 2.169933899e-05 5.869952752e-07 4.601998696e-05 1.659674218e-08 1.742906117e-05 2.963978566e-05 -1.210641975e-05 2.867779831e-05 4.53217723e-10 2.324712673e-05 1.222697536e-07 2.227096826e-05 1.403402863e-05 1.745926967e-07 8.72764537e-06 1.787836085e-05 1.034030048e-07 -1.329429507e-06 1.289057784e-05 4.836804013e-08 8.859290971e-06 -5.290414375e-06 -0.003276907408 0.03531854714 0.1385178612 0.000625854789 -5.592906919e-05 -0.0004535323248 -0.001858137465 0.0002583059723 0.03363716185 -6.410845458e-07 -6.697727842e-05 -5.565339435e-06 -0.002679378237 0.0007633423194 -2.08755938e-07 -1.104230886e-05 -4.095444652e-06 -0.0002674828357 0.00149216675 -2.80010304e-07 -2.453633862e-05 -0.0001188698184 -6.13148686e-07 -0.0001884128713 -2.161080613e-09 -1.121032814e-07 -5.91105154e-07 1.177803822e-05 1.478074919e-07 -2.474382572e-08 -2.722592647e-07 8.302464299e-07 1.276481795e-05 3.973266777e-05 -2.462481775e-09 -2.908972312e-07 4.183446625e-07 1.195534794e-05 -7.642393501e-06 -1.608752281e-09 -1.003469931e-06 4.301846484e-06 3.719373081e-05 9.406691721e-08 -2.154040956e-09 -3.072733325e-07 1.707648103e-05 1.486404674e-07 1.033953599e-05 -1.39406273e-08 -2.712912285e-07 2.967047924e-06 1.088193374e-05 2.630195707e-07 -1.271864742e-09 -3.37626031e-07 3.328483927e-06 1.440450968e-05 3.877550917e-07 -8.11888206e-10 -2.401580976e-07 1.385889647e-05 1.006455308e-07 2.063472015e-06 --0.03400284354 0.003588263554 0.005230293025 0.000182094621 0.0005264273819 -0.0001281985288 1.519275872e-05 3.149132847e-05 -1.815450395e-05 1.056959613e-05 7.491037766e-06 1.050273473e-07 4.306753964e-06 0.132840086 0.006926056395 0.03524201336 0.0002507050947 0.008181088315 -0.00284892788 -2.094253217e-06 -0.002257155031 0.004441134928 6.998848729e-06 0.0003078763911 0.002049530513 -0.000130699398 -3.80839705e-07 -3.842171015e-05 4.7122312e-05 -6.897808692e-06 -5.365659599e-05 1.668910718e-05 2.884928638e-06 6.378519466e-05 2.693632591e-08 1.706600503e-05 6.68013998e-06 -1.024252082e-06 2.63935855e-05 1.049424309e-07 1.911983491e-05 5.064177389e-07 2.571949386e-05 1.43601749e-05 9.196728095e-07 2.709340716e-06 1.740628975e-05 8.763258401e-07 2.487225682e-07 1.225815726e-05 2.323093089e-07 9.604008143e-06 -0.0005930404856 -0.002801021284 0.03833418148 0.1296496341 0.003644786517 -0.0001707246494 -0.0005033511969 -0.001289328504 0.0008894809433 0.03962388807 -1.703508023e-06 -3.201976751e-05 -1.520417585e-05 -0.001727873914 0.0001561498279 -8.088160454e-05 -0.0002180902584 -6.002401926e-06 -0.0005486307191 0.001710330277 -8.012579422e-11 -3.836641423e-06 -4.83903662e-05 -6.799163307e-07 -0.0002269653891 -1.069355387e-08 1.99534724e-07 -7.379845079e-06 -1.714174967e-05 -8.345208005e-07 -2.269152495e-09 -6.139230041e-09 2.069130911e-09 1.161515487e-06 4.724681869e-05 -2.367989516e-10 -5.426559099e-07 1.678245545e-06 2.904191299e-05 -3.21999824e-05 -3.854854129e-08 -7.680128386e-07 2.331052269e-05 1.955101669e-05 2.969642796e-07 -1.775454332e-08 -1.858657771e-07 1.141847439e-05 4.780481679e-07 7.23402688e-06 -4.645274426e-08 -2.879332569e-07 -2.960960409e-07 1.1452873e-05 1.433667374e-06 -4.330175797e-08 -2.963406998e-07 5.144210215e-06 1.295091149e-05 1.257958044e-06 -1.672307619e-08 -1.932152114e-07 1.234506887e-05 5.254742876e-07 3.448409215e-07 --0.0340004526 0.002506633008 0.005685728861 0.0002918431373 0.0004659891876 -0.0001214089154 1.890373931e-05 2.591681778e-05 -1.923921071e-05 1.28979605e-05 5.734561942e-06 -4.384293514e-08 4.856399028e-06 0.140867462 0.003382134303 0.03615613779 9.598550036e-05 0.008757312642 -0.00134165043 -2.712502243e-07 -0.00244415173 0.004205014175 1.480215854e-06 0.0002471061128 0.002336435703 -0.0001343463908 -3.203188961e-07 -0.0001497836076 1.652804876e-05 -1.385836343e-05 -1.221785959e-06 1.567672496e-05 2.166418749e-06 7.164012297e-05 8.289343774e-09 1.728607694e-05 -8.216813852e-06 1.103440666e-05 2.180816394e-05 5.973803405e-08 1.766628547e-05 1.665375321e-07 2.499122157e-05 1.650662571e-05 1.598670707e-07 -1.235307028e-06 1.664829557e-05 3.980604775e-07 3.009584196e-06 1.216044361e-05 7.402827233e-08 8.994126169e-06 -0.000329918727 -0.003099977832 0.03689993729 0.1309150533 0.00131759385 -6.905440623e-05 -0.0006911574803 -0.0008890498919 0.000262913761 0.04327930206 -4.274579904e-07 -2.147980606e-05 0.0003526914177 -1.004441191e-06 -0.001678921834 -8.715080331e-05 -0.0009140122529 -4.082124421e-06 -0.0001956855216 0.001717093459 -6.664372588e-08 -3.44462619e-07 -9.350238094e-06 4.499075194e-08 -0.0002232502124 -1.023844394e-08 1.797167617e-07 -3.995950516e-05 -2.777713618e-06 -3.171228582e-07 -5.679159491e-10 -2.996142761e-07 -1.085089183e-08 -7.138449978e-06 4.611090636e-05 -8.325668403e-09 -7.292919396e-07 9.262441997e-07 3.716673397e-05 -3.743019965e-05 -1.810569468e-08 -6.932089209e-07 4.049105138e-05 7.765710848e-07 1.257955945e-06 -7.490985371e-09 -1.545524887e-07 9.764302972e-06 1.504596755e-07 5.160664798e-06 -2.595383588e-08 -3.430853727e-07 -1.055836543e-06 1.286447838e-05 9.007454998e-07 -2.134094498e-08 -3.065790114e-07 1.298257094e-05 4.976495714e-07 6.070566886e-06 -8.568238382e-09 -1.876223487e-07 1.170498525e-05 -7.278459531e-09 1.401227171e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02382387374 0.00324622331 0.02580902879 0.02476437007 0.002350210378 -0.02349750896 0.007730911232 0.0008991013958 -0.007205833271 0.0005086882438 7.245901836e-05 -0.0004611115965 1.855111421e-06 -8.329018398e-06 -1.792124447e-05 0.0005060770889 -4.221096898e-05 -0.0005228076777 4.777176678e-05 -6.589063365e-06 -5.076660106e-05 -1.777025584e-06 -4.129273778e-06 2.088498994e-07 0.0001517317237 -0.0001404315838 -4.610608996e-06 -4.090984122e-06 -6.524986626e-07 3.937846094e-06 -9.213637726e-07 2.907378046e-07 2.787818263e-06 1.490666776e-07 5.386196408e-06 -6.215419728e-06 -3.194418588e-06 4.350470165e-07 3.209048417e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.002676733398 0.004884092499 0.002316878186 0.000537169852 -8.336880082e-06 -4.933089298e-05 -3.739883502e-05 -4.075265716e-06 5.435070948e-07 2.439683709e-06 4.507305947e-07 2.595190234e-07 -3.661227982e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.09594540763 0.01685534728 0.01221939591 0.0001217713775 0.00168626799 -0.0003715984529 2.016048171e-05 0.0001037620236 -3.419200244e-05 1.543278856e-05 2.890457769e-05 3.908052489e-06 9.032492139e-06 -0.04139967265 -0.0001071120687 0.1064159904 -7.564639645e-06 -0.00147056682 -0.01365156094 4.809842108e-06 0.0006179004767 0.01360047549 -2.539470068e-06 -0.0001809472463 0.004137458164 4.578396791e-05 -6.335886743e-10 0.0005319568184 -3.827815903e-05 -9.162144023e-07 -0.0002920650162 -5.259158216e-06 -3.43579252e-08 0.0001434552982 -7.344891081e-09 -6.87926436e-06 8.872281177e-05 -4.880095849e-05 -7.591102382e-06 1.108716063e-10 -3.255969023e-06 3.836408004e-08 7.609258069e-05 -2.161253734e-06 5.898399113e-08 3.259573114e-05 -2.838206515e-06 1.990259575e-07 1.080666657e-05 -3.070401971e-06 -2.405674908e-10 3.037967201e-05 2.438069465e-06 0.001268775277 0.09276486369 -0.05005999406 -0.0002679814963 1.825876749e-05 0.0001449118056 0.002375877549 -7.482878349e-05 -0.01061633342 1.969650425e-07 2.880578671e-05 1.786156495e-06 0.0008319721765 0.002431839318 6.487236194e-08 1.742034933e-06 -2.177110436e-06 -1.495605969e-05 0.004588508829 8.747027441e-08 8.579676001e-06 4.039018546e-05 2.087191292e-07 -0.0005768677847 1.609275759e-09 1.194367452e-07 -6.071058123e-06 -3.134049404e-06 -3.07206248e-08 7.734330008e-09 1.039954e-07 -3.822620337e-07 -4.69161947e-06 0.0001217598484 8.086371054e-10 8.531275214e-08 4.355111772e-07 1.147404924e-05 -6.228173985e-05 4.893001752e-10 3.807616907e-07 6.213634987e-06 -1.266084599e-05 -3.38288228e-08 6.439546283e-10 1.686980873e-07 -1.098178259e-07 1.018656067e-07 3.460967119e-05 4.943849414e-09 1.042529017e-07 5.363968971e-06 -4.203882146e-06 -1.308796025e-07 3.66891902e-10 1.34326079e-07 9.819399448e-06 -4.776428157e-06 -1.610198287e-07 2.365388601e-10 1.114506653e-07 1.017371085e-06 1.713573311e-07 1.046389283e-05 -0.04586155795 -0.004839693972 -0.007054391976 -0.0002456013128 -0.0007100223794 0.0001729086054 -2.049133284e-05 -4.247413555e-05 2.448600612e-05 -1.425581202e-05 -1.010358625e-05 -1.416563226e-07 -5.808762619e-06 -0.002752137801 0.03174167716 -0.06048255824 0.001092295294 -0.0005482081269 0.008407654959 4.909275513e-05 -0.0004870870493 -0.00598302465 5.639870813e-05 4.353829945e-05 -0.00274084698 -1.448531027e-05 -8.37881675e-06 7.235442089e-05 2.220861542e-05 3.224991314e-05 3.419394543e-05 -3.250867955e-06 6.61454708e-06 -8.680683093e-05 7.286792858e-07 2.678108135e-06 -5.413192189e-06 1.126122449e-05 2.565480012e-06 1.594265468e-06 -6.8493613e-07 2.815603995e-06 -3.803510468e-05 -6.709381245e-07 4.060058873e-06 -1.003402687e-05 -4.619680018e-07 5.167564356e-06 -9.870099149e-06 2.048419828e-07 1.690579451e-06 -1.501782619e-05 0.001184745374 -0.002123384159 -0.04377343659 0.006703449333 0.02255991757 0.0001859276217 -0.0003029867998 -0.003899716021 0.00666708211 0.001697113537 1.424232279e-05 -3.059000492e-05 -0.0001554300075 -2.145704782e-05 -0.0007897844472 0.0001166654461 -0.0002284062205 -2.52524643e-05 3.731528427e-05 -0.002325414187 -7.56732725e-08 -9.320751764e-07 -9.734909274e-06 -7.798033806e-06 0.0003048234843 -1.692755686e-07 2.874895358e-07 2.196546496e-06 2.079470646e-07 -3.868547127e-06 4.311110035e-09 -5.802227538e-09 -1.602482233e-07 1.624192346e-06 -6.37000234e-05 -1.76118451e-08 -1.118511268e-07 3.867239658e-06 -1.051687814e-05 5.289593726e-05 1.941685676e-07 -4.555961257e-07 -1.558484757e-05 5.541301019e-06 3.143764958e-06 7.079597145e-08 -1.43118435e-07 -1.724272959e-06 1.545722917e-06 -1.101913388e-05 1.064921494e-07 -1.918853432e-07 1.004890409e-06 -1.753968296e-06 3.993742259e-06 1.071592178e-07 -2.028453255e-07 -6.388582037e-06 -1.700286146e-06 4.151657549e-06 6.097500839e-08 -1.278576303e-07 -2.297807531e-06 7.814144865e-07 -2.335940853e-06 -0.04538818136 -0.003346176443 -0.007590042865 -0.0003895897915 -0.0006220623591 0.0001620722504 -2.523514489e-05 -3.459710491e-05 2.568297531e-05 -1.721785816e-05 -7.655231548e-06 5.852719416e-08 -6.482946637e-06 0.006057391377 0.02326534052 -0.06261959785 0.000703187845 -2.774862046e-05 0.008567025331 -5.266355105e-05 -0.000427608147 -0.005611242343 2.621725911e-05 6.735657144e-05 -0.003102723723 -4.053606805e-06 -6.977845057e-06 0.0002232244508 5.339760045e-05 8.160169939e-06 -3.12308009e-06 -2.480859129e-06 5.686240176e-06 -9.601175452e-05 4.008806647e-07 1.684931513e-06 1.781440226e-05 1.323081719e-06 2.868231418e-06 1.122057158e-06 -8.097701327e-10 1.613056714e-06 -3.614446532e-05 6.461510257e-07 3.399236264e-06 -6.855315907e-06 1.571776366e-07 3.051485075e-06 -1.016680807e-05 6.240896737e-07 1.007283366e-06 -1.41339149e-05 0.0009779732835 -0.001889107376 -0.04322158641 0.01532583036 0.01422247242 0.0001499493704 -0.0002898859478 -0.004209804909 0.004024031988 0.004369431309 6.736142257e-06 -1.632602062e-05 -0.000198312234 -0.0001372997837 -0.0003459160666 0.0002160318138 -0.0003830941333 -2.089962045e-05 1.536672122e-05 -0.002315435844 1.082711525e-07 -2.108587285e-07 -1.058179354e-05 -1.432411629e-06 0.0002976143174 -1.700203973e-07 3.61257147e-07 7.602292768e-06 -1.274335255e-06 -2.733637831e-06 9.611426173e-09 -5.024945907e-08 1.47501014e-07 3.73526161e-07 -6.168844993e-05 6.984667183e-08 -2.397848155e-07 3.851626902e-06 -8.584926692e-06 5.86161684e-05 1.336282226e-07 -3.634364929e-07 -6.142912504e-06 2.133223166e-06 -7.752959791e-06 4.291456431e-08 -1.002695869e-07 -1.336339744e-06 8.217478905e-07 -7.931290261e-06 8.883172298e-08 -1.709435249e-07 1.54668176e-06 -7.720855498e-07 3.417250983e-06 7.970132837e-08 -1.682276705e-07 2.82484264e-07 2.600760365e-06 -7.93452495e-06 4.422006311e-08 -1.051683854e-07 -3.104852228e-06 -2.568324415e-07 3.931350055e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.01359971614 -0.017716024 0.004870577299 0.002945054874 -0.02258970716 0.02016616809 0.001170152392 -0.006268732172 0.005303920493 9.361718399e-05 -0.0004034949895 0.0003271847613 3.30075815e-06 4.682448629e-06 -1.150054311e-05 -0.0005385318149 0.0005849047437 -5.487122752e-05 -3.959664539e-05 4.592455127e-05 -7.709729292e-06 -9.850949068e-06 8.933081828e-06 9.639884054e-08 -3.893088897e-07 -2.898139548e-05 3.033521284e-05 -7.868878997e-07 3.528113982e-06 -2.857384213e-06 -1.778304806e-06 -1.507787295e-07 2.240111358e-06 -1.861720417e-06 4.827988431e-07 1.280855379e-06 2.880021248e-06 -3.298432616e-06 4.832465758e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.000385936183 0.0007041971451 0.0003340516185 7.745010486e-05 -1.202026201e-06 -7.112615906e-06 -5.392230564e-06 -5.875790607e-07 7.83638198e-08 3.517579373e-07 6.498713897e-08 3.741791447e-08 -5.278823635e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.711187742e-05 -4.762918002e-06 -3.452909025e-06 -3.44096788e-08 -4.764990026e-07 1.050048351e-07 -5.696869943e-09 -2.932066614e-08 9.6618421e-09 -4.360936931e-09 -8.167742329e-09 -1.104322162e-09 -2.552366243e-09 0.007257075326 -0.00775669315 0.0008820567467 -0.0005376917684 0.0006892036474 -0.0001249373536 -0.0001782224334 0.0001723473016 -4.067238072e-06 -3.766408681e-05 4.153245708e-05 -3.71468382e-06 1.035602473e-07 -3.342057471e-07 -2.880445452e-07 5.54998959e-06 -7.576523029e-06 2.300138342e-06 3.472586714e-06 -3.64970736e-06 2.042980081e-07 -5.464594946e-07 6.187027919e-07 -3.72896613e-08 1.421886134e-07 -1.249132704e-07 9.812740221e-08 1.397713984e-06 -1.761449192e-06 4.05421321e-07 1.23992897e-06 -1.733766292e-06 5.222040726e-07 8.476309401e-07 -2.913339955e-06 2.103212169e-06 7.250227525e-07 -8.472328234e-07 1.511920896e-07 0.0001435781373 -7.762534933e-05 -0.0005916976498 0.01052483806 -0.009564863396 -0.0001364701737 0.0001302308261 0.0005619413886 -0.003395887398 0.002939769287 -1.201777308e-05 1.648781647e-05 0.0001220231649 -0.0001348598248 -1.281142642e-06 -1.594769504e-06 2.323262747e-06 2.737533223e-05 -2.949224832e-05 -7.04567521e-07 -2.637975156e-06 2.259030916e-06 -9.405775857e-06 9.297350576e-06 1.790695927e-07 -6.153627893e-08 6.559704687e-08 -1.434964197e-07 1.462804549e-06 -1.280408409e-06 -9.09217631e-08 9.556296623e-08 3.515197666e-06 -3.49378232e-06 -1.649427856e-08 2.996073367e-08 -2.382764523e-08 -1.57670999e-06 1.824256484e-06 -1.801953154e-07 -4.940073015e-08 7.833251589e-08 -1.109997048e-07 2.101839492e-06 -1.896898824e-06 -3.76208908e-08 4.346725108e-08 1.282254904e-06 -1.446352957e-06 1.937321785e-07 -7.273265078e-08 8.01089118e-08 -3.096881613e-07 2.043451263e-06 -1.703170407e-06 -2.484061019e-08 3.251487553e-08 -1.689265051e-07 2.627183771e-06 -2.421401037e-06 -1.825737871e-08 2.337547759e-08 7.299784594e-07 -1.165061301e-06 4.606385148e-07 -0.08216582772 -0.008670823211 -0.01263868873 -0.0004400207071 -0.001272080128 0.0003097840395 -3.67123883e-05 -7.609690251e-05 4.386926765e-05 -2.554079379e-05 -1.810164252e-05 -2.537922723e-07 -1.04070121e-05 0.05406913365 -0.01544134365 -0.09987102253 -0.0005846010479 0.002530639196 0.0137035689 -2.835189971e-05 -0.000676714437 -0.01071690538 -2.125415994e-05 0.0001956208728 -0.004918751761 -3.688225203e-05 4.65315841e-06 0.0001251172427 5.368434069e-05 4.737498372e-06 9.874628323e-05 7.933428059e-06 -3.305866694e-06 -0.0001548078823 -3.925877985e-07 6.159716503e-06 -1.007011437e-05 1.923770493e-05 8.075963382e-06 -8.584097026e-07 3.500401098e-06 -1.829243437e-06 -6.659289825e-05 3.548358501e-06 -2.956926887e-06 -1.291164849e-05 3.773027959e-06 -4.185208915e-06 -9.307853249e-06 3.143231215e-06 -9.801920416e-07 -2.60662176e-05 -0.0009246301404 -0.0002012475186 -0.07775321002 0.05718884663 -0.01097070683 -0.0001745441886 -2.24116091e-05 -0.003999105048 -0.003501358049 0.0141586032 -8.691467248e-06 -1.935888549e-06 8.410934987e-05 -0.0003584038356 -0.001401587235 -9.858200848e-05 7.414438019e-05 1.717156218e-05 -0.0001503076036 -0.004157318 4.253129441e-08 -1.365635722e-06 -3.316596629e-05 3.050844998e-06 0.0005464931284 9.041213991e-08 -7.867488236e-08 5.747366763e-06 -8.983455123e-06 1.644742861e-06 -3.351954548e-09 -2.070253393e-09 1.916176662e-07 2.355760211e-06 -0.0001141188932 9.800025013e-09 -1.706385229e-07 -3.662117398e-06 -7.401469858e-06 9.282517096e-05 -1.248755793e-07 -1.98069347e-07 -2.843872377e-05 1.617245688e-05 -1.418171274e-06 -4.717149222e-08 -6.039348444e-08 6.535166496e-08 -1.436762213e-06 -1.904841252e-05 -7.870419242e-08 -4.518500185e-09 1.255004733e-06 5.686934599e-06 -1.662529865e-06 -7.801509159e-08 -3.984222088e-08 -1.234734602e-05 6.219832849e-06 -1.489260361e-06 -4.120639509e-08 -4.566701181e-08 -2.144076599e-06 -3.036402311e-06 -2.075335266e-06 --0.08134389216 0.005996957965 0.01360273996 0.0006982159021 0.001114849107 -0.0002904630075 4.52259783e-05 6.200431669e-05 -4.602857202e-05 3.085753947e-05 1.371956996e-05 -1.048913975e-07 1.161862177e-05 -0.05188062748 0.01193391624 0.1054275909 0.0003847698094 -0.002218271705 -0.01419149699 -2.937247668e-05 0.0007892666602 0.01005252734 1.146977768e-05 -0.0001703382075 0.005564171515 1.477744213e-05 -4.177410674e-06 -0.000395576053 -9.269462918e-05 -7.394106951e-06 -2.947769363e-06 -7.35669664e-06 2.677620814e-06 0.0001717506148 2.254233966e-07 -3.63302863e-06 -3.136132598e-05 -1.015602494e-06 -7.729105684e-06 5.998127293e-07 -2.396471526e-06 1.004968133e-06 6.391286336e-05 -3.155715578e-06 2.45339584e-06 6.235984274e-06 -3.596184267e-06 2.000551848e-06 1.462033163e-05 -2.509579114e-06 5.861070914e-07 2.477340661e-05 0.000694137426 0.0005166133075 0.07585144951 -0.05259849636 0.007455454505 0.000112554707 0.0001049797578 0.005701079264 0.002202435865 -0.01369021163 3.955195518e-06 3.843906349e-06 0.0004769892999 -6.794231968e-05 0.0007520325331 0.0001570592558 7.061471361e-05 -1.03565918e-05 4.928109989e-05 0.004142070096 8.805953796e-08 -2.539347814e-08 2.138127673e-05 -3.575217848e-07 -0.0005334634071 -9.118997939e-08 -2.662777602e-08 -1.247411345e-05 5.238530442e-06 -9.269138099e-07 5.667342902e-09 2.219983946e-08 7.88923837e-08 -1.237529839e-06 0.0001105582185 4.268264001e-08 1.969029206e-07 2.840133034e-06 5.697808764e-06 -0.0001035407726 8.254816077e-08 2.423225901e-07 8.687471602e-06 6.465416501e-06 7.241196498e-06 2.729527163e-08 6.506806796e-08 9.700232956e-07 6.839767759e-07 1.381210555e-05 6.047929591e-08 2.879300335e-08 -2.60349696e-06 -5.814995334e-06 1.539752162e-06 5.359385859e-08 6.887544989e-08 -5.694637084e-06 1.267710282e-06 1.409012346e-05 2.844493026e-08 5.824461716e-08 4.907725177e-06 7.147685188e-07 6.558892945e-08 -0.3790115395 0.08856332381 0.004328369466 0.0009084699724 0.0004748210297 0.0002540610513 1.925815183e-05 2.674136537e-07 3.892850271e-05 4.350422683e-06 4.270141339e-06 8.902350187e-06 3.917947158e-06 0.199533687 0.0009229247296 0.001966082132 0.00208943361 0.00173645581 0.1094033407 0.0003297981951 0.0002163171496 0.02780471094 3.384170528e-06 2.126328259e-06 0.0004684622699 3.387813266e-10 2.157087374e-09 3.671416186e-05 0.0004995457561 2.122691145e-05 1.678893758e-05 2.305829321e-05 2.131031715e-07 2.605830154e-07 2.209003585e-05 2.528738881e-08 1.38092812e-11 3.279931932e-05 1.020052131e-05 3.521343444e-07 2.152377084e-08 1.597843309e-08 2.050448304e-06 6.13486157e-09 1.639314567e-10 1.856292047e-05 2.914419693e-08 2.515931463e-07 9.784885169e-06 3.605797801e-06 8.060339962e-08 7.61882845e-08 7.345261832e-23 1.23227006e-06 0.04407819403 0.0005561709075 0.0004901367602 1.165165995e-21 1.070147859e-06 0.05048738898 0.0005293755356 5.06688413e-05 5.525125074e-22 3.095825098e-07 0.000623050132 0.0002474225036 0.02197549485 -1.354282051e-22 3.993267698e-09 3.584290125e-05 2.56663037e-05 0.003681560476 2.329189518e-24 2.356849339e-10 7.152793545e-08 4.668130324e-06 0.0003083747009 -2.398675307e-24 6.010285485e-09 0.0001436867763 8.714015028e-08 1.2185824e-07 1.059791623e-24 4.045503136e-12 1.242209704e-06 1.459326108e-06 4.77347812e-05 -1.030139569e-24 1.038738271e-11 1.656340628e-07 3.010148885e-07 6.371463877e-05 -8.901087836e-27 1.35911689e-10 9.48607789e-07 3.19615107e-09 1.112287526e-09 5.405470577e-28 7.639941663e-12 3.073567378e-08 4.544644307e-09 2.297961652e-09 4.487446736e-25 8.121543212e-11 2.33144225e-07 2.666071426e-07 8.696419483e-06 2.839357888e-26 9.410808057e-11 1.300276499e-06 6.17792403e-10 4.957524261e-10 -6.087405466e-26 3.805777025e-11 1.49707976e-08 8.061085038e-07 1.999683596e-06 -0.4945189387 0.307421443 0.1319654046 0.03941143222 0.01673841645 0.005001509027 0.002982067969 0.0008721944031 0.0006739086684 0.0001662005827 0.000162668234 2.726728507e-05 3.849627959e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.196133944 0.001473855218 0.003111363451 3.949938519e-05 0.00066058632 0.0001386295456 1.578946936e-05 3.771268021e-05 5.920969413e-05 3.700754264e-05 2.200870706e-05 2.075350102e-05 1.961072167e-05 0.08840629323 0.0002763286464 0.2167017548 5.616190152e-06 0.0007999117945 0.003158046469 7.084671915e-06 0.0008627006185 0.002353843177 2.134169068e-06 0.0002452911372 0.0007507970054 0.0002955998964 2.178128921e-09 0.0007270505305 2.96807978e-05 3.731274748e-07 5.672824671e-05 6.312801471e-06 1.696356487e-07 1.61464403e-05 2.072203919e-08 2.428441935e-05 7.275206594e-05 8.819321448e-05 2.407962009e-05 2.63237684e-10 1.878935399e-05 1.085780408e-07 3.723180558e-05 1.208782969e-05 1.836149821e-07 2.211689716e-05 1.98607593e-05 4.98880876e-07 1.767015763e-05 1.191154367e-05 4.889468582e-08 2.600487559e-05 4.516389718e-06 0.003090419364 0.07702818231 0.1161182433 0.0004909709571 5.610866109e-05 0.0004907593434 0.004552031708 0.000118252944 0.01294368132 6.566660389e-07 5.415245365e-05 6.965368433e-07 0.0003660143648 0.0002426737668 2.130652814e-07 1.290582526e-05 1.480087253e-05 0.001168521117 0.000707618996 2.852694326e-07 2.221772123e-05 0.0002358638387 1.186277545e-06 0.0001450257026 1.156195728e-09 1.720220619e-08 3.62780188e-07 3.756947056e-07 4.136264047e-09 2.520669861e-08 2.59228981e-07 1.013459107e-06 1.514579872e-05 9.221628832e-06 2.465987764e-09 2.610432744e-07 4.071581276e-07 1.360885653e-05 8.472100498e-05 1.652934262e-09 9.882628783e-07 2.368015101e-05 3.327389007e-05 7.778272174e-08 2.226416119e-09 2.477242252e-07 1.755558068e-05 1.392495808e-07 6.696874888e-06 1.354532861e-08 2.519084343e-07 1.099014672e-05 1.274064947e-05 2.715552393e-07 1.329442825e-09 3.206534029e-07 9.375263957e-06 1.578684756e-05 4.035954536e-07 8.45972824e-10 2.144356585e-07 1.684127905e-05 1.336513236e-07 3.355889471e-06 -0.2065678731 0.0005207867785 0.003549245466 0.0001220796844 0.0006956805503 9.05469596e-05 9.784398332e-06 4.452214186e-05 6.01437371e-05 3.025806907e-05 1.860119171e-05 2.063639319e-05 1.919002891e-05 0.09018597439 0.005670828438 0.2120055642 2.550328447e-05 0.001180422357 0.006068511827 4.485489436e-07 0.0008069499863 0.002024578534 1.030521445e-05 0.0003653172471 0.001050627717 0.0003016971537 1.485638676e-06 0.0005669941945 1.993378979e-05 3.406150146e-06 1.433937706e-05 6.412503234e-06 1.141178532e-06 1.81851306e-05 5.063994697e-08 2.493842859e-05 8.705048061e-05 7.902383039e-05 1.815670205e-05 7.688431708e-08 1.502947415e-05 4.700904918e-07 2.868404547e-05 1.378501499e-05 1.639325252e-06 1.734962245e-05 1.812262704e-05 2.590829875e-06 1.623797671e-05 1.154400984e-05 2.812197937e-07 2.217020228e-05 0.0005656222925 0.002696053568 0.07117506849 0.1119457968 0.003592500405 0.000169959148 0.0005711726336 0.00503550934 0.0005485960643 0.01710325536 1.459066533e-06 2.168703038e-05 1.140271424e-06 0.0001137987963 0.0001440630806 8.01036384e-05 0.0002534709484 1.791476122e-05 0.001117962378 0.0007755800165 1.62530968e-09 3.40796057e-06 0.0001518674601 3.160726414e-06 8.410396132e-05 1.395780532e-08 9.291057257e-08 1.151125564e-06 8.615986757e-07 4.138009033e-08 2.224025114e-09 4.352236295e-09 3.308815586e-07 2.556725887e-05 1.342907797e-05 5.920410816e-10 5.201505736e-07 2.172134855e-06 4.636048809e-05 5.885042637e-05 3.539461156e-08 6.75683573e-07 2.621063622e-05 1.419064243e-05 2.631658174e-07 1.655752684e-08 1.460019515e-07 1.26110575e-05 4.883831526e-07 3.789927495e-06 4.531364954e-08 2.754741438e-07 8.610554699e-06 1.40177224e-05 1.767021631e-06 4.18877112e-08 2.847076464e-07 8.67686622e-06 1.517735779e-05 1.535320219e-06 1.57247454e-08 1.736371363e-07 1.525272244e-05 7.684537882e-07 4.912128347e-07 -0.2111385529 0.0002502589398 0.003704876918 0.0001751567328 0.0007001983574 7.20978147e-05 8.348941385e-06 4.806207519e-05 5.948432344e-05 2.74495913e-05 1.757740758e-05 2.06425939e-05 1.886039875e-05 0.0967006891 0.002976479235 0.2089199692 9.469149663e-06 0.001205550184 0.007805263802 4.051304734e-07 0.000755347838 0.001854443393 4.070244772e-06 0.0004349652018 0.001188070318 0.0002926578552 1.113343641e-06 0.0004969631396 2.273805424e-05 6.792800883e-07 7.18376795e-08 7.505183402e-06 1.081927165e-06 2.058143627e-05 1.456253699e-08 2.167688576e-05 9.640376549e-05 7.670891468e-05 1.235044528e-05 3.563923742e-08 1.403236335e-05 1.679032068e-07 2.556301234e-05 1.855515207e-05 1.126865242e-06 1.323198519e-05 1.614450969e-05 7.48785619e-07 1.959974863e-05 1.157738898e-05 1.036046096e-07 2.02446233e-05 0.0003066893945 0.00295561058 0.06694376647 0.1151087135 0.001492032818 6.708125018e-05 0.0007592633064 0.005311616319 0.0001945049208 0.01947888678 2.990219837e-07 1.234321477e-05 2.834756773e-05 7.555261667e-07 0.0001136437178 8.41421953e-05 0.001006186237 3.745786366e-06 0.0004769723257 0.0007953870116 6.557514271e-08 4.195633665e-07 0.0001175184348 8.339593658e-07 6.158207837e-05 1.380825693e-08 2.778093821e-07 4.59215268e-06 9.347426232e-08 1.902386332e-08 3.474310112e-10 3.56132436e-07 2.416904539e-08 3.100637493e-05 1.61347947e-05 6.990833564e-09 6.92084887e-07 1.168444306e-06 5.364262284e-05 5.35020569e-05 1.559065494e-08 5.737630141e-07 3.213776952e-05 7.750573237e-07 1.115441782e-06 6.623877397e-09 1.188907858e-07 1.168543993e-05 1.727075178e-07 2.885402029e-06 2.460059494e-08 3.288474242e-07 8.002297175e-06 1.560134047e-05 1.17001033e-06 1.998087749e-08 2.904619098e-07 1.590068046e-05 6.870764268e-07 8.420250094e-06 7.714360398e-09 1.664352882e-07 1.504206714e-05 3.512215235e-08 2.011211071e-08 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.3296916567 0.03849231289 6.690269822e-05 0.002683450172 8.224032543e-05 7.078511019e-06 0.0001393146533 4.758472952e-06 7.181560422e-06 2.361947865e-05 8.55809694e-06 7.734135203e-06 9.400456818e-06 0.01285756895 0.009533438791 0.2363793261 0.08476152801 0.001666021098 0.002974250531 0.007862744993 0.000221683579 0.0003821269641 0.001036060779 4.052064182e-05 6.388612631e-05 8.974151725e-05 0.0002885555885 4.422928833e-05 3.797618077e-06 3.54057304e-06 0.0002043120486 4.61629643e-06 2.725811335e-06 9.377847755e-05 3.020493428e-08 5.043866726e-08 2.227369442e-07 2.410666298e-05 1.799677855e-05 5.599289897e-07 2.692176884e-05 1.171517505e-06 1.373818989e-06 1.119928254e-06 4.318855638e-06 6.819874572e-07 4.739758215e-08 1.020676913e-05 3.020484021e-06 3.900812155e-07 3.879150487e-07 1.285446167e-05 1.074888047e-18 8.054895828e-07 0.004268671518 0.001699081243 0.07865247815 2.589335072e-19 7.815551471e-07 0.005652192788 0.00107527282 0.05739522339 2.454364544e-20 2.681146793e-07 0.01451819853 0.0004475801837 0.0004089623802 -3.376197752e-22 8.177471139e-09 8.378569518e-05 3.227247978e-06 4.912046684e-06 -5.369104454e-22 3.694221317e-10 3.271173866e-06 0.0001140691673 2.929945923e-05 -7.77818675e-22 3.520504086e-09 5.259599267e-05 0.0003099241448 2.59372819e-05 9.202384712e-25 5.180479803e-11 1.804845409e-07 6.936315327e-09 4.806145497e-09 -1.459501068e-23 6.357512805e-12 6.931491207e-07 8.707825866e-08 6.186470986e-08 4.007828833e-23 3.838711298e-11 2.970670396e-06 2.570348874e-06 2.934512014e-05 2.106016553e-23 9.918362295e-14 1.912602255e-08 7.920942044e-08 5.643867571e-06 9.310781124e-24 8.500724975e-11 2.947671945e-06 1.231642815e-07 7.523231886e-08 -4.723083483e-23 4.263048682e-11 9.532039545e-07 2.957516624e-06 4.359910821e-06 6.389453814e-24 2.935475951e-11 1.065260132e-08 1.032578216e-06 1.759781555e-06 -0.196133944 0.001473855218 0.003111363451 3.949938519e-05 0.00066058632 0.0001386295456 1.578946936e-05 3.771268021e-05 5.920969413e-05 3.700754264e-05 2.200870706e-05 2.075350102e-05 1.961072167e-05 0.007460260547 0.1102538629 0.1876702532 0.002469587666 5.839525522e-05 0.001435591532 0.001248121419 6.877854302e-05 0.001906728505 0.000404288253 5.975438047e-06 0.0005879586206 1.35692939e-05 0.0004007947562 0.0006082885549 6.178242206e-06 2.992943029e-06 7.761098675e-05 8.669195721e-06 5.662705568e-07 1.339341115e-05 4.674766047e-05 3.741538294e-07 4.993539304e-05 1.426286883e-06 4.034295372e-05 7.05038572e-05 4.294729334e-07 1.898009813e-05 3.672016654e-05 1.926974671e-05 1.780118859e-07 1.494058323e-05 5.87389194e-07 1.425855898e-05 2.318384963e-05 3.558927909e-07 1.051873356e-05 2.709068759e-05 0.003575979003 0.002390159424 0.02967872217 0.005161685385 0.1559257864 9.402199123e-05 0.001131667161 0.003396404116 0.01328711148 0.0002516292273 9.615379158e-06 9.033397144e-05 0.000108159413 0.0004429720284 1.311299622e-05 1.224954937e-05 0.0008125248957 8.700834069e-06 0.0007867028546 0.0002838817423 2.415719802e-06 1.427647748e-05 7.405322169e-06 0.0003216732964 5.880799363e-05 5.451985758e-09 8.76839323e-08 6.165538301e-09 5.38414879e-07 1.232532242e-07 2.539366209e-06 1.940254826e-05 6.904410652e-08 1.283445473e-07 3.526019216e-06 2.212499834e-06 8.879945972e-07 1.634530375e-05 7.951691434e-05 3.781638185e-08 1.663906104e-07 5.762281077e-07 1.096726186e-06 4.617633719e-05 1.000605751e-05 5.300079308e-08 2.763530004e-07 2.513761723e-06 3.032395841e-07 2.149530069e-05 6.614817328e-07 2.642421195e-08 3.967901195e-06 1.824820446e-05 1.363793588e-06 3.031143194e-07 7.332616116e-08 1.968038988e-06 1.970194792e-05 3.841262418e-06 1.558738043e-07 2.089807363e-07 2.608430819e-06 3.440673829e-07 1.722874873e-05 -0.4945189387 0.307421443 0.1319654046 0.03941143222 0.01673841645 0.005001509027 0.002982067969 0.0008721944031 0.0006739086684 0.0001662005827 0.000162668234 2.726728507e-05 3.849627959e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1676805427 0.006028613817 0.001579476025 1.715073291e-05 0.0004391115474 0.0002750225224 6.342084927e-05 3.305787123e-05 4.717153497e-05 5.150853093e-05 3.71907044e-05 2.471694834e-05 2.112911574e-05 0.006686320006 0.08761996035 0.1984842112 5.528944255e-07 1.125541529e-07 8.015779232e-07 0.0008386148877 0.00029235373 0.00209648692 6.595064384e-05 9.227783434e-06 0.0001296726145 4.748148281e-05 0.000304918129 0.0007763999114 4.758031576e-08 1.594365289e-05 0.0003156997847 2.757699406e-07 1.760665858e-05 3.519571149e-05 2.003690886e-05 7.029024225e-06 4.241395462e-05 6.852333475e-05 1.345440139e-05 3.531218995e-05 2.40915901e-06 2.486337824e-05 6.446566625e-05 2.706223256e-07 9.281461944e-06 4.674585359e-05 4.292569126e-08 4.398473352e-06 4.177400071e-05 1.247900713e-06 1.16930026e-05 2.980896633e-05 0.001647902574 0.003658296014 0.04402062423 0.02050298159 0.1412269441 9.804104973e-05 0.0002889981355 0.001985576242 0.003442497851 0.0003684776631 0.0001243613751 0.000120570033 0.0009787878592 0.000298327631 0.0002674786072 9.973268798e-05 0.0002766406063 0.0002198586397 5.32204756e-05 0.0001756071429 3.402127051e-06 1.758523729e-06 8.585362535e-05 0.0005523298111 0.0001754441613 2.06995509e-06 3.558924639e-06 1.267337607e-05 9.620402361e-06 7.721477834e-05 5.58821817e-09 2.049428288e-08 1.015426668e-05 5.551690043e-06 4.467257712e-06 5.103358812e-07 1.887473912e-07 4.497780567e-05 5.974826588e-06 6.968931603e-06 9.027660745e-07 9.044791548e-07 9.282629073e-06 1.817220802e-05 6.239856264e-05 2.467188737e-07 3.852377679e-07 3.772848564e-06 3.776405873e-05 1.981141539e-05 1.796495762e-07 3.234380582e-07 6.595164246e-06 6.563829993e-07 2.511638158e-05 2.006827353e-07 3.38409266e-07 5.480729772e-06 6.577626931e-07 2.158999553e-05 1.896223638e-07 2.492676186e-07 8.096055233e-07 4.382299471e-06 2.619850326e-05 -0.1728489752 0.005025460494 0.001870168735 6.80023261e-06 0.0004875037629 0.0002533280534 5.054186489e-05 3.207028623e-05 4.953201803e-05 4.977919565e-05 3.412306679e-05 2.341946529e-05 2.055272272e-05 0.01021945401 0.08789418229 0.1976152894 5.470270548e-05 2.054233111e-05 7.978404739e-05 0.000939367172 0.0002691302763 0.002143393915 9.226739952e-05 2.013918982e-05 0.0001886417252 4.618366882e-05 0.0003139647603 0.0007873181755 4.070699822e-05 9.515463762e-05 0.0001428076863 3.660337458e-07 1.437861035e-05 2.699568261e-05 2.087212908e-05 1.003311964e-05 4.074108496e-05 6.351222884e-05 1.916020995e-05 3.73800938e-05 3.18920741e-06 2.390979612e-05 5.894063826e-05 2.060868611e-08 6.067185196e-06 4.422308815e-05 4.350416044e-07 9.218232598e-06 3.41250514e-05 1.547400552e-06 1.165897791e-05 2.903161393e-05 0.002350211652 0.003125681869 0.04206561175 0.02818738059 0.1332389393 0.000234821368 0.000272909599 0.002300132105 0.0044910163 0.0007025169749 0.00014060148 8.41591467e-05 0.0005132472006 0.000753345339 0.0001316652649 0.0004055898787 0.000356838336 1.32999607e-06 4.358917862e-05 0.0002040254823 1.112447841e-07 1.766324914e-07 0.0001108831143 0.0004979425953 0.0001523187149 2.100204914e-06 2.103379793e-06 1.328037424e-07 1.279869988e-05 5.267669679e-05 2.45328158e-07 2.657422822e-08 1.002233692e-05 3.928653124e-06 3.633487665e-06 6.220975663e-07 3.844473616e-07 4.647166496e-05 9.144343833e-06 8.525222443e-06 1.00998171e-06 8.226590351e-07 3.399482374e-06 1.467794808e-05 6.843410994e-05 2.378620824e-07 2.759685622e-07 4.535200795e-06 3.269045161e-05 1.648349004e-05 2.544382295e-07 2.690089478e-07 6.209085985e-06 1.348594714e-06 2.169442264e-05 2.558192499e-07 2.758543377e-07 2.121356134e-06 1.863469419e-05 5.69876433e-06 2.142689132e-07 2.055857672e-07 2.060456307e-07 4.98982284e-06 2.437250973e-05 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.3423304449 0.04909483264 6.046147853e-05 0.002448419288 0.000194928024 3.339683754e-05 0.0001248933333 8.531863447e-07 1.27086905e-05 2.043106867e-05 5.338839398e-06 8.737713323e-06 9.083023872e-06 0.0279754909 0.1370981202 0.08112288722 0.02525881871 0.06331962302 0.008954780223 0.003737981039 0.007582737341 0.001315114193 0.0001633179922 0.0002754200063 5.324708314e-05 0.0003688393407 1.050147808e-11 4.374913842e-05 2.213926197e-05 0.0002369151133 7.81486543e-05 4.194668296e-06 2.548244649e-05 1.255826014e-05 1.004567007e-08 3.327526757e-08 6.185969114e-08 2.049099207e-07 2.860961962e-05 2.917442721e-05 6.536294441e-06 1.113249579e-05 2.074458049e-06 5.235760634e-06 6.430920647e-09 5.62854214e-07 8.317226092e-06 4.83472992e-06 1.132130059e-06 8.381755393e-07 6.162535598e-06 2.72748482e-06 1.981814859e-18 8.895009441e-07 0.007120558003 0.04543213128 0.02125284139 -2.639205819e-18 8.36259378e-07 0.004795168808 0.03881664085 0.01894258842 5.056453746e-19 2.706541019e-07 0.005261937694 0.01052645654 0.002271784441 -1.806423208e-20 4.482412427e-09 0.000181000748 0.0002970776453 6.090158784e-05 -3.473852635e-22 5.433506756e-10 2.318628721e-05 1.733087846e-05 2.740458291e-06 -2.064753555e-20 3.676709879e-09 3.946282219e-05 2.345583609e-05 0.0003592408634 1.735389065e-22 1.510233186e-12 2.454420764e-06 4.955558565e-06 7.314374318e-07 9.074602486e-24 6.189907893e-11 2.925425846e-07 2.456578951e-07 6.624234376e-08 1.311353586e-21 4.219362681e-11 3.303783915e-06 1.424559369e-05 1.41379448e-05 1.976370777e-23 1.223716232e-14 2.695032859e-08 8.063587135e-07 2.146393256e-07 1.31953951e-22 7.716741366e-11 1.548642036e-06 3.028074986e-06 4.618968263e-07 -1.985305395e-22 4.514080106e-11 8.610215012e-07 9.950448092e-07 6.897189876e-06 -2.79234083e-23 3.436370594e-11 1.079227445e-06 9.108117959e-07 2.589265907e-09 -0.2065678731 0.0005207867785 0.003549245466 0.0001220796844 0.0006956805503 9.05469596e-05 9.784398332e-06 4.452214186e-05 6.01437371e-05 3.025806907e-05 1.860119171e-05 2.063639319e-05 1.919002891e-05 0.0578668878 0.06308511196 0.1869103673 0.0001966239704 0.002811225256 0.004266588243 0.0005005380238 0.0006034347172 0.001728004328 0.0001904091236 0.0003640309183 0.0008718101362 0.0001997840974 0.0001397428799 0.0005306500097 5.537184341e-06 3.137612272e-05 7.660099249e-07 4.752459866e-06 5.285834879e-06 1.570051762e-05 8.597361928e-06 3.401806956e-05 6.942411766e-05 2.024773159e-05 1.834105193e-05 5.866863324e-05 9.450830099e-06 8.576029753e-06 2.615675026e-05 2.038305759e-05 8.711706616e-06 3.679198496e-06 7.90258931e-06 6.620419926e-06 2.242842439e-05 5.566669897e-06 9.011405327e-06 1.941735669e-05 0.004771595163 0.0006307001104 0.03334208925 0.08877484067 0.06245581635 0.001279216974 9.633770428e-05 0.003855584523 0.007230391334 0.01096696201 3.495071277e-05 2.105374344e-06 4.807090373e-05 8.000733395e-05 0.0001170139205 0.000823411052 0.0001371203596 0.0005887237478 0.0003063483859 0.0003894281976 1.023368493e-05 5.940127419e-08 0.0001178686971 7.220473526e-05 4.217521519e-05 2.745865041e-07 1.542461405e-08 9.671684665e-07 5.368224983e-07 3.669706244e-07 2.87298427e-05 1.150505314e-06 4.891350874e-07 2.085878735e-06 6.878432818e-06 2.255257894e-09 3.129423662e-06 1.840128528e-05 2.033844144e-05 6.603238629e-05 5.679591908e-07 2.934047225e-10 2.023423012e-05 1.363819161e-05 6.934848333e-06 2.47690249e-07 1.144830629e-09 3.128036176e-06 9.449264922e-06 4.22579145e-06 2.907246402e-07 3.514087385e-07 4.270651269e-06 1.010993679e-05 9.693365082e-06 2.417948558e-07 1.068267452e-07 9.729289775e-06 1.117398474e-05 4.464243476e-06 2.998756198e-07 9.431698358e-09 2.996562687e-06 8.673355417e-06 4.722525526e-06 -0.1676805427 0.006028613817 0.001579476025 1.715073291e-05 0.0004391115474 0.0002750225224 6.342084927e-05 3.305787123e-05 4.717153497e-05 5.150853093e-05 3.71907044e-05 2.471694834e-05 2.112911574e-05 0.01585692151 0.07345440671 0.2034791634 4.170232981e-07 1.202010312e-07 9.298021724e-07 0.0006989422033 0.0003292545421 0.002199258792 5.589491648e-05 1.240044171e-05 0.0001365556836 7.643306126e-05 0.000271811471 0.000780554991 9.495190453e-06 7.862281631e-05 0.0002435730112 1.800176736e-06 1.437869728e-05 3.6899266e-05 1.74628465e-05 5.421000096e-06 4.659604111e-05 7.636488577e-05 1.295783643e-05 2.796720388e-05 3.224283266e-06 2.22663605e-05 6.624755974e-05 1.393833111e-06 1.315859645e-05 4.174550829e-05 4.538373208e-08 6.852992673e-06 3.931702335e-05 1.872623555e-06 1.055436876e-05 3.032287733e-05 0.003416161089 0.001122586389 0.05326266083 0.0306572244 0.1225981158 0.0001326127815 0.0001865643005 0.002106120077 0.003260789951 0.0004975038306 0.000145625713 7.438810125e-05 0.0008573991809 0.000232477286 0.0004796352245 7.189048019e-06 1.820672326e-06 0.0005039057687 9.567426773e-05 0.0002164697957 1.513696714e-05 1.176201109e-05 0.0001042533836 0.0004660142215 0.0002216216652 2.093519128e-06 3.281839816e-06 2.162300707e-05 1.450629752e-05 6.363277297e-05 1.640534334e-07 2.172993781e-07 7.366977745e-06 6.964837493e-06 5.486128886e-06 2.824587616e-07 9.054905577e-08 4.231583542e-05 1.30408913e-05 2.890912585e-06 1.001868907e-06 3.764700684e-07 2.255805619e-05 1.513053911e-05 5.259371069e-05 4.197105195e-07 3.056310146e-07 5.972923302e-06 3.496748164e-05 2.031453285e-05 2.105508171e-07 2.104668561e-07 6.858722902e-06 3.635754869e-06 2.195552102e-05 3.091748781e-07 1.580698096e-07 7.31524781e-06 2.343028529e-06 1.814205897e-05 2.642870588e-07 1.503411259e-07 2.039008763e-06 1.561034547e-05 1.376531582e-05 -0.4945189387 0.307421443 0.1319654046 0.03941143222 0.01673841645 0.005001509027 0.002982067969 0.0008721944031 0.0006739086684 0.0001662005827 0.000162668234 2.726728507e-05 3.849627959e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1798585283 0.003776545821 0.002264665482 5.990200201e-08 0.0005494585742 0.0002204176143 3.624669494e-05 3.213911362e-05 5.292363394e-05 4.666465451e-05 3.002215617e-05 2.211566002e-05 2.007165937e-05 0.03389164243 0.06491917957 0.2004359131 0.0001337662001 0.000196392338 0.0004372534614 0.0008320593971 0.0003153762686 0.002284365755 0.0001001893493 5.976541599e-05 0.0003064523778 6.763296142e-05 0.0002842793783 0.0007937322805 3.420461893e-05 0.0001620619034 1.462551853e-05 6.170029169e-06 4.353581182e-06 2.074628015e-05 1.785246653e-05 1.285702512e-05 4.627370303e-05 6.862512004e-05 2.706390045e-05 2.586041724e-05 5.867555814e-06 1.869672041e-05 5.280538536e-05 3.386537846e-07 1.870616347e-05 2.452554035e-05 1.80261304e-06 1.268132497e-05 2.677240549e-05 2.838714518e-06 1.013358212e-05 2.850170308e-05 0.004433081962 0.000231328488 0.04610018136 0.05678770343 0.09819469766 0.0005330810757 2.619266653e-05 0.002958150252 0.00541814781 0.001818019896 0.0001476309538 1.295283963e-05 0.0003625278254 0.0006596083954 0.0001723568864 0.0008274984923 1.539805565e-05 1.957578144e-08 0.0001251656258 0.0003113335019 3.338313431e-07 5.528891948e-09 0.0001732451202 0.0003324723896 0.0001600601154 1.699201924e-06 3.137454907e-07 3.796943118e-08 2.191347225e-05 1.046245397e-05 2.608376811e-07 6.973956351e-09 9.718812867e-06 3.096400001e-06 4.095699169e-06 7.354029904e-07 1.825891379e-07 3.100743526e-05 2.958659887e-05 1.385398692e-05 1.233414434e-06 2.627712851e-07 5.246421622e-06 7.128605141e-05 3.460306526e-06 3.173984642e-07 7.769069417e-08 8.101747979e-06 2.344920566e-05 1.198182735e-05 4.196588641e-07 2.165169947e-08 6.776715154e-06 1.005845346e-05 9.526995223e-06 4.057097229e-07 3.893501865e-08 8.649737356e-06 1.079272686e-05 6.175492502e-06 2.959840263e-07 4.602249127e-08 4.675931815e-07 1.818581709e-05 8.26489565e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.3490759323 0.05536441965 0.0002935776124 0.002246780408 0.0002637560649 5.811114959e-05 0.0001096562527 1.843421996e-07 1.702729469e-05 1.766622127e-05 4.227268722e-06 9.309101004e-06 8.473248303e-06 0.04299045342 0.1785823255 0.01737917522 0.01008586453 0.06716289591 0.02416091646 0.001350608796 0.01080516105 0.003024425691 1.788466466e-05 0.0001715647067 4.058243113e-05 8.741613715e-05 0.0002394348423 4.381700835e-05 0.0001284002341 0.00023682042 3.912934065e-05 3.905180867e-06 1.348988499e-05 1.705622123e-06 4.613016815e-08 2.930413861e-07 2.106293986e-09 2.308706378e-07 1.103668413e-05 5.236298303e-05 1.030568841e-06 1.073432973e-05 2.85754636e-06 1.708992858e-06 4.126336623e-06 8.029789513e-07 1.101531393e-05 2.778148064e-06 7.23691599e-07 1.982552811e-06 5.111664482e-06 6.314671911e-07 -1.221473292e-18 9.390422512e-07 0.01456323788 0.04588284392 0.007753935727 -1.178275386e-18 8.69254848e-07 0.01122976266 0.04117371809 0.008785037369 -6.972761261e-19 2.742342491e-07 0.001516248636 0.0135023112 0.00432339526 4.795555309e-20 4.079992972e-09 7.90564037e-05 0.0006792423914 0.0001751543347 1.010849545e-22 1.100141528e-09 6.50448759e-06 1.275137516e-06 7.625489632e-07 -1.55756864e-20 3.830567265e-09 4.526673315e-05 0.0002001298712 0.0001652049222 -8.789164389e-24 2.455756584e-12 1.461953074e-06 1.241895262e-05 5.282241184e-06 -2.816926388e-23 2.044560308e-11 1.197233956e-07 3.209705489e-06 6.430144736e-07 5.869853508e-22 4.498927705e-11 4.081211029e-06 2.123997692e-05 1.394358209e-06 7.652903827e-25 3.071938293e-13 7.43766877e-08 6.416618951e-08 1.413378303e-08 3.532251768e-22 7.451224647e-11 4.606320709e-07 4.203671496e-06 1.775800114e-06 -6.473230898e-23 4.754714778e-11 1.013511031e-06 6.957545656e-06 1.426047586e-07 2.054694795e-23 3.633435866e-11 1.41048389e-06 4.256937683e-07 2.229114543e-10 -0.2111385529 0.0002502589398 0.003704876918 0.0001751567328 0.0007001983574 7.20978147e-05 8.348941385e-06 4.806207519e-05 5.948432344e-05 2.74495913e-05 1.757740758e-05 2.06425939e-05 1.886039875e-05 0.1129762843 0.008595200362 0.1870256528 6.494371167e-05 0.001788274202 0.007167065223 7.775309771e-05 0.0008983530725 0.001634090191 8.897109051e-05 0.0005173695232 0.001020765151 0.0002656164724 3.235474207e-05 0.000492763124 2.290290185e-05 1.012750376e-08 5.761426504e-07 7.59170391e-07 1.015430799e-05 1.825506845e-05 5.13558356e-06 3.233908311e-05 8.062054712e-05 3.189749656e-05 4.113703024e-06 5.308379962e-05 1.423090539e-05 2.547401155e-06 2.298497235e-05 2.116985606e-05 1.015235691e-05 1.591789523e-06 1.274804803e-05 1.438166702e-06 2.230682921e-05 1.309188476e-05 2.082855143e-06 1.675087699e-05 0.0001022194919 0.004851481475 0.03523394399 0.1307232481 0.01589591971 0.0006383623055 0.0007385145906 0.00419265014 0.002928276136 0.01731354941 7.970123633e-06 1.05597988e-05 2.812480841e-05 1.26981632e-05 9.603615437e-05 0.000631254414 0.0003437375522 0.0007811224195 0.000154454011 0.0004558651595 2.751684532e-06 4.564739814e-06 0.0001199740406 1.771212898e-05 3.541701713e-05 3.521793916e-07 3.055699708e-07 2.858324664e-06 5.677589066e-07 9.124355116e-07 1.398817272e-05 1.984522172e-05 1.320290278e-07 3.852554535e-06 9.703840533e-06 2.320433299e-06 5.21582621e-07 1.946951211e-05 2.309545909e-05 6.360521264e-05 1.224883174e-07 3.33070038e-07 2.441933314e-05 3.716980366e-06 6.025750434e-06 7.197196249e-08 1.340207383e-07 3.539335318e-06 9.578481319e-06 1.545254798e-06 6.840521312e-08 5.330386251e-07 4.471994544e-06 1.247318597e-06 1.880633902e-05 2.628189063e-09 3.121953147e-07 1.922374149e-05 8.861668468e-07 4.893717928e-06 2.730509758e-08 2.500141796e-07 3.228829711e-06 1.023585877e-05 1.529443301e-06 -0.1728489752 0.005025460494 0.001870168735 6.80023261e-06 0.0004875037629 0.0002533280534 5.054186489e-05 3.207028623e-05 4.953201803e-05 4.977919565e-05 3.412306679e-05 2.341946529e-05 2.055272272e-05 0.02342329467 0.06637355951 0.2059320716 2.962882065e-05 2.342526399e-05 0.0001019749993 0.0008600893318 0.0001805180819 0.00231128395 6.056705105e-05 3.558867894e-05 0.0002048925846 7.586014617e-05 0.0002700466191 0.0008015598394 1.692452633e-05 6.575203369e-05 0.0001959927621 4.610541614e-06 8.230315889e-06 2.88994692e-05 1.609908977e-05 6.864202672e-06 4.868304123e-05 7.872457075e-05 1.279505011e-05 2.853291173e-05 5.11296306e-06 1.994966827e-05 6.097701046e-05 2.908879261e-06 1.20099409e-05 3.539206187e-05 2.309815101e-07 1.489427921e-05 2.865306488e-05 2.862912894e-06 9.635642139e-06 2.973943736e-05 0.003012169338 0.001281454864 0.05679341979 0.04878849981 0.09909228133 0.0003622639091 1.40388518e-05 0.002499101601 0.003851618267 0.001274373718 0.0001640616598 2.36807214e-05 0.0006857432436 0.0002947824399 0.0004547503667 9.693900932e-06 7.147945049e-08 0.000455253416 0.0002633514039 0.0002830026714 1.930329514e-05 6.925107154e-06 0.0001594483841 0.0003597212664 0.0002160342489 2.525718487e-06 9.63843588e-07 1.662786992e-05 2.036760047e-05 2.932675266e-05 3.083774029e-07 2.281306404e-08 1.161372512e-05 8.763497095e-07 5.035114794e-06 2.310771417e-07 1.429045673e-07 2.270262891e-05 3.811415407e-05 3.957011472e-06 1.075939369e-06 2.306591564e-07 2.317644023e-05 2.057242538e-05 4.3288717e-05 4.75447827e-07 1.664594931e-07 9.632403582e-06 2.728165705e-05 1.666700514e-05 3.472874057e-07 3.634921943e-08 7.723825037e-06 1.011771286e-05 1.155037599e-05 3.442519165e-07 9.046616885e-08 7.896581178e-06 7.717883271e-06 1.093730571e-05 2.903366532e-07 9.19478165e-08 3.250887506e-06 1.718607669e-05 9.168984217e-06 -0.1798585283 0.003776545821 0.002264665482 5.990200201e-08 0.0005494585742 0.0002204176143 3.624669494e-05 3.213911362e-05 5.292363394e-05 4.666465451e-05 3.002215617e-05 2.211566002e-05 2.007165937e-05 0.0396410139 0.05583493377 0.2037707875 0.0001013073003 0.0001853860965 0.0004807186027 0.0008292147926 0.0002577811377 0.00234480549 8.191597714e-05 6.917369696e-05 0.000315317469 7.483799207e-05 0.0002648570844 0.0008059495438 3.097959199e-06 0.0001122585311 9.553555055e-05 6.113121587e-06 3.941394741e-06 2.121537417e-05 1.652304358e-05 1.045375054e-05 5.000640057e-05 7.603843764e-05 2.090451494e-05 2.460648516e-05 6.703422307e-06 1.727100423e-05 5.339523504e-05 2.414024072e-06 1.434600668e-05 2.681032686e-05 1.099789816e-06 1.799098061e-05 2.216557308e-05 3.485957949e-06 9.230992582e-06 2.875704919e-05 0.004241426798 3.659372847e-05 0.05129381317 0.06640175477 0.08377340442 0.0005027268721 1.482447139e-08 0.00302805727 0.005042608039 0.002180184694 0.0001452688826 4.313076185e-06 0.000513986661 0.0004381130388 0.0002533952419 0.0003402792188 5.91412117e-05 0.000185720211 0.0003467173888 0.0003475572212 3.123304551e-06 1.669546835e-06 0.0001938312295 0.0002883880489 0.0001791048555 1.643465829e-06 1.686402555e-07 6.913128098e-06 1.542950128e-05 1.02721076e-05 1.417088938e-08 2.152963463e-09 1.048162415e-05 2.1001271e-06 4.580648568e-06 4.552329448e-07 1.849455502e-07 2.412777466e-05 3.606718849e-05 1.453087153e-05 1.23610905e-06 1.468935516e-07 1.096850471e-05 3.547192081e-05 3.366553716e-05 3.770576346e-07 5.309994822e-08 1.010251606e-05 2.114581057e-05 1.224938593e-05 3.834533331e-07 3.942343512e-09 7.567779589e-06 1.169660586e-05 7.151693269e-06 4.076161677e-07 1.21200207e-08 7.820386957e-06 1.065344864e-05 7.169029668e-06 3.029560694e-07 2.627468319e-08 2.316602442e-06 2.358584894e-05 1.028630309e-06 -0.4945189387 0.307421443 0.1319654046 0.03941143222 0.01673841645 0.005001509027 0.002982067969 0.0008721944031 0.0006739086684 0.0001662005827 0.000162668234 2.726728507e-05 3.849627959e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/E_delta_bands_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/E_delta_bands_ref.dat deleted file mode 100644 index c544e745e9..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/E_delta_bands_ref.dat +++ /dev/null @@ -1 +0,0 @@ -0.01100090181 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/E_delta_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/E_delta_ref.dat deleted file mode 100644 index eb519534b8..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/E_delta_ref.dat +++ /dev/null @@ -1 +0,0 @@ --0.1889355556 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/F_delta_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/F_delta_ref.dat deleted file mode 100644 index b522d7c8e3..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/F_delta_ref.dat +++ /dev/null @@ -1,3 +0,0 @@ -0.001927511403 0.002216346196 0.001021128399 --0.00185327459 -0.0009686234405 0.0005694745218 --7.42368129e-05 -0.001247722756 -0.001590602921 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/descriptor_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/descriptor_ref.dat deleted file mode 100644 index 77389054cc..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/descriptor_ref.dat +++ /dev/null @@ -1,51 +0,0 @@ -O atom_index 1 n_descriptor 117 -0.8747069364 0.7986266843 0.4329417772 0.1421801564 0.03320315091 0.003963463477 3.058507716e-05 0.0007248747042 -0.001140167362 0.001076650529 0.0006700585764 0.0004017688378 0.0001719323946 0.3517122571 0.3588739302 0.728151527 -0.2839746017 0.399603556 0.5360928097 0.1925600905 0.2212596538 0.439193072 0.1078395229 0.1403439522 -0.2764594848 0.08505502145 0.09448603327 0.1721566719 0.04713522826 0.05030286063 0.0977536174 0.02920860244 -0.03210186872 0.05914163037 0.01356913486 0.01611827756 0.0319538476 0.009182467029 0.01027241259 0.01855737402 -0.003920318534 0.004545506154 0.009011839252 0.002379856747 0.002863127943 0.004746052843 0.0006454169253 0.0009156813197 -0.001796429942 0.0004373759769 0.0005845981383 0.0008587654036 -1.89181236e-17 -1.899342892e-18 7.798761982e-18 0.05018542266 -0.1472413436 -1.944513587e-18 1.183629882e-18 7.610123849e-18 0.01293972648 0.03806964572 -3.069850789e-20 6.025774061e-21 -9.31555416e-20 0.0001047824271 0.0005273273373 -2.220421901e-19 4.284966446e-21 5.970111177e-20 0.0007737177674 0.00227214808 --1.81941457e-21 -5.541079751e-23 5.676908831e-22 1.830017298e-07 1.109626981e-05 -6.431997511e-22 7.279915551e-23 3.900861349e-22 -1.645573695e-06 7.147327854e-06 -7.948564249e-21 -3.910076599e-21 1.319700344e-20 3.742461773e-05 0.0001111505842 -1.221705934e-20 -8.45836114e-22 8.534827517e-21 1.964547171e-05 6.170323484e-05 -6.465997739e-22 -3.464428841e-22 2.441226451e-22 2.214903001e-06 -7.3144947e-06 -1.003783204e-21 2.359659731e-22 4.513354355e-22 4.224270918e-06 1.255741634e-05 -1.851938264e-21 2.105328514e-22 -1.715131497e-21 7.340680391e-06 2.166200396e-05 -2.991417692e-22 3.755682264e-22 1.099699525e-21 4.699767022e-06 1.439105958e-05 --6.173709542e-22 -1.678716635e-22 1.049549546e-21 3.203892022e-06 9.396557945e-06 - -H atom_index 1 n_descriptor 117 -0.7905873233 0.5751703182 0.1141390313 0.002727157511 0.004696504788 0.01080141063 0.00351131015 0.0002315761012 -0.0001022589333 0.0004074847207 0.0001964434756 6.272944592e-05 3.175535408e-05 0.1265143491 0.1409002424 0.5920456415 -0.01339566066 0.01559959623 0.2106976575 0.0006468336601 0.001242066823 0.04689743166 0.0007814840097 0.001580353171 -0.01043749179 0.0001109398966 0.000113520286 0.01214728584 3.770287754e-05 0.0001228289147 0.0008772123797 1.13957486e-05 -0.0001282808725 0.001752046463 2.403298147e-05 4.634146604e-05 0.0002125282797 6.818540913e-06 4.926961408e-05 0.000751780829 -2.29436221e-06 1.62432523e-05 0.0001138947886 7.378205581e-06 9.806490396e-06 8.604458141e-05 6.624155928e-06 1.569791848e-05 -9.415085939e-05 3.773212254e-06 1.60669537e-05 9.524414852e-05 9.651629414e-17 0.009890255057 0.2297483509 0.2614908003 -0.4438869551 1.417241343e-17 0.0006576121071 0.04081335117 0.07570469847 0.1810844162 1.12062472e-18 5.609368194e-06 -0.0001322729213 0.000175488595 0.06984845272 2.319014788e-19 3.715336689e-07 0.00231172776 0.004872069471 0.00503799982 -1.691860037e-19 1.917820775e-06 2.416923376e-05 0.0001862087475 0.01375996914 2.65857723e-20 6.727879173e-06 9.130938256e-05 -0.0002984620525 0.0005836134274 -6.537721491e-20 9.49212791e-06 0.0001452635124 0.0002787415756 0.001284577569 4.097569663e-20 -5.593711046e-06 8.675954608e-05 0.0001644529322 0.0006975417233 1.254990756e-20 1.860770935e-07 2.266295686e-06 7.382471965e-05 -0.0004578547372 6.34108509e-22 6.606139539e-07 8.530474034e-06 4.382394445e-05 8.368642682e-05 8.422849462e-22 4.33047291e-09 -2.642604497e-06 2.309344869e-05 7.643252217e-05 5.944281415e-21 9.505174582e-07 1.277449479e-05 4.889142721e-05 8.982938084e-05 --4.536769939e-21 5.63895426e-07 7.586805704e-06 2.34399444e-05 5.65300614e-05 - -H atom_index 2 n_descriptor 117 -0.6360427687 0.3147077698 0.100676169 0.03623449007 0.01353462287 0.004891783702 0.002415617226 0.0006606059752 -0.0007949910045 0.0001847042216 0.0001432072344 6.174491084e-05 7.773589114e-05 0.148658227 0.2474700819 0.5777636998 -0.0006460571165 0.02084268232 0.2290073484 0.0001898732335 0.0007836388774 0.05599584567 0.0009543183317 0.001923628175 -0.008249595837 3.837606799e-05 0.0001495553654 0.01427393432 8.337567842e-06 4.923101371e-05 0.0002840627978 2.671613171e-05 -0.0002319363469 0.001802764214 4.33555526e-05 0.0001091978052 0.0004506267667 2.804436623e-06 6.427258311e-05 0.0006960550125 -2.624426647e-06 1.977586294e-05 0.0001120290457 3.065411252e-06 8.607558997e-06 0.0001038463162 5.581902825e-06 2.813301087e-05 -0.0001337455712 3.155993374e-06 1.704251274e-05 9.542156525e-05 2.747952002e-17 2.838764976e-05 0.2627811563 0.4151685301 -0.4733950243 2.910081666e-17 1.74726214e-05 0.02289804816 0.08996837467 0.1872047242 -1.940735882e-18 3.87282068e-08 -0.0002921239531 0.001093099328 0.07597326091 -1.672144376e-18 7.122359456e-10 0.002200754115 0.00480750386 0.007652873142 -2.07802634e-18 1.120908924e-07 4.182853251e-05 0.0001749068273 0.0121151395 1.728354704e-20 1.525291035e-08 5.67201341e-05 -0.0001770710705 0.001700691968 4.647824711e-20 6.443590992e-09 0.0002139833343 0.0005564251484 0.0007724932538 -6.166427087e-20 -2.527051734e-09 5.506029065e-05 0.0002667044995 0.001200815533 -1.062589664e-12 -8.784004767e-21 1.976181692e-07 7.909438655e-05 -0.0002270830856 2.659550211e-21 2.623614508e-09 1.303830052e-05 8.269317304e-05 0.0001182920077 7.140097431e-21 2.253988038e-09 -1.501798561e-05 2.308001184e-05 0.0001307758879 -1.086479967e-10 -2.500446114e-22 9.457940121e-06 6.683516557e-05 0.0001114420821 -2.979260612e-21 6.456854642e-10 6.857414615e-06 1.252683275e-05 7.722410298e-05 - diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_0 b/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_0 deleted file mode 100644 index 5848a100d9..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_0 +++ /dev/null @@ -1,6 +0,0 @@ - (2.275e-01,0.000e+00) (2.183e-02,0.000e+00) (2.712e-02,0.000e+00) (4.020e-03,0.000e+00) (-1.301e-02,0.000e+00) (-1.347e-02,0.000e+00) - (2.183e-02,0.000e+00) (1.402e-01,0.000e+00) (-2.720e-02,0.000e+00) (4.121e-02,0.000e+00) (2.115e-03,0.000e+00) (-7.348e-02,0.000e+00) - (2.712e-02,0.000e+00) (-2.720e-02,0.000e+00) (1.420e-01,0.000e+00) (-3.999e-02,0.000e+00) (-6.832e-02,0.000e+00) (-2.481e-02,0.000e+00) - (4.020e-03,0.000e+00) (4.121e-02,0.000e+00) (-3.999e-02,0.000e+00) (1.610e-01,0.000e+00) (-5.312e-02,0.000e+00) (3.660e-02,0.000e+00) - (-1.301e-02,0.000e+00) (2.115e-03,0.000e+00) (-6.832e-02,0.000e+00) (-5.312e-02,0.000e+00) (6.813e-02,0.000e+00) (-5.746e-03,0.000e+00) - (-1.347e-02,0.000e+00) (-7.348e-02,0.000e+00) (-2.481e-02,0.000e+00) (3.660e-02,0.000e+00) (-5.746e-03,0.000e+00) (6.682e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_1 b/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_1 deleted file mode 100644 index 5848a100d9..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_1 +++ /dev/null @@ -1,6 +0,0 @@ - (2.275e-01,0.000e+00) (2.183e-02,0.000e+00) (2.712e-02,0.000e+00) (4.020e-03,0.000e+00) (-1.301e-02,0.000e+00) (-1.347e-02,0.000e+00) - (2.183e-02,0.000e+00) (1.402e-01,0.000e+00) (-2.720e-02,0.000e+00) (4.121e-02,0.000e+00) (2.115e-03,0.000e+00) (-7.348e-02,0.000e+00) - (2.712e-02,0.000e+00) (-2.720e-02,0.000e+00) (1.420e-01,0.000e+00) (-3.999e-02,0.000e+00) (-6.832e-02,0.000e+00) (-2.481e-02,0.000e+00) - (4.020e-03,0.000e+00) (4.121e-02,0.000e+00) (-3.999e-02,0.000e+00) (1.610e-01,0.000e+00) (-5.312e-02,0.000e+00) (3.660e-02,0.000e+00) - (-1.301e-02,0.000e+00) (2.115e-03,0.000e+00) (-6.832e-02,0.000e+00) (-5.312e-02,0.000e+00) (6.813e-02,0.000e+00) (-5.746e-03,0.000e+00) - (-1.347e-02,0.000e+00) (-7.348e-02,0.000e+00) (-2.481e-02,0.000e+00) (3.660e-02,0.000e+00) (-5.746e-03,0.000e+00) (6.682e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_2 b/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_2 deleted file mode 100644 index 5848a100d9..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_2 +++ /dev/null @@ -1,6 +0,0 @@ - (2.275e-01,0.000e+00) (2.183e-02,0.000e+00) (2.712e-02,0.000e+00) (4.020e-03,0.000e+00) (-1.301e-02,0.000e+00) (-1.347e-02,0.000e+00) - (2.183e-02,0.000e+00) (1.402e-01,0.000e+00) (-2.720e-02,0.000e+00) (4.121e-02,0.000e+00) (2.115e-03,0.000e+00) (-7.348e-02,0.000e+00) - (2.712e-02,0.000e+00) (-2.720e-02,0.000e+00) (1.420e-01,0.000e+00) (-3.999e-02,0.000e+00) (-6.832e-02,0.000e+00) (-2.481e-02,0.000e+00) - (4.020e-03,0.000e+00) (4.121e-02,0.000e+00) (-3.999e-02,0.000e+00) (1.610e-01,0.000e+00) (-5.312e-02,0.000e+00) (3.660e-02,0.000e+00) - (-1.301e-02,0.000e+00) (2.115e-03,0.000e+00) (-6.832e-02,0.000e+00) (-5.312e-02,0.000e+00) (6.813e-02,0.000e+00) (-5.746e-03,0.000e+00) - (-1.347e-02,0.000e+00) (-7.348e-02,0.000e+00) (-2.481e-02,0.000e+00) (3.660e-02,0.000e+00) (-5.746e-03,0.000e+00) (6.682e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_3 b/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_3 deleted file mode 100644 index 91d79d3da9..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_3 +++ /dev/null @@ -1,6 +0,0 @@ - (2.275e-01,1.926e-34) (2.183e-02,-8.474e-18) (2.712e-02,3.858e-18) (4.020e-03,-1.245e-18) (-1.301e-02,-2.125e-18) (6.735e-03,1.167e-02) - (2.183e-02,8.474e-18) (1.402e-01,0.000e+00) (-2.720e-02,-1.467e-17) (4.121e-02,1.077e-17) (2.115e-03,2.758e-18) (3.674e-02,6.364e-02) - (2.712e-02,-3.858e-18) (-2.720e-02,1.467e-17) (1.420e-01,0.000e+00) (-3.999e-02,8.663e-19) (-6.832e-02,-3.105e-18) (1.241e-02,2.149e-02) - (4.020e-03,1.245e-18) (4.121e-02,-1.077e-17) (-3.999e-02,-8.663e-19) (1.610e-01,1.578e-30) (-5.312e-02,1.465e-17) (-1.830e-02,-3.170e-02) - (-1.301e-02,2.125e-18) (2.115e-03,-2.758e-18) (-6.832e-02,3.105e-18) (-5.312e-02,-1.465e-17) (6.813e-02,0.000e+00) (2.873e-03,4.976e-03) - (6.735e-03,-1.167e-02) (3.674e-02,-6.364e-02) (1.241e-02,-2.149e-02) (-1.830e-02,3.170e-02) (2.873e-03,-4.976e-03) (6.682e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_4 b/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_4 deleted file mode 100644 index 91d79d3da9..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_4 +++ /dev/null @@ -1,6 +0,0 @@ - (2.275e-01,1.926e-34) (2.183e-02,-8.474e-18) (2.712e-02,3.858e-18) (4.020e-03,-1.245e-18) (-1.301e-02,-2.125e-18) (6.735e-03,1.167e-02) - (2.183e-02,8.474e-18) (1.402e-01,0.000e+00) (-2.720e-02,-1.467e-17) (4.121e-02,1.077e-17) (2.115e-03,2.758e-18) (3.674e-02,6.364e-02) - (2.712e-02,-3.858e-18) (-2.720e-02,1.467e-17) (1.420e-01,0.000e+00) (-3.999e-02,8.663e-19) (-6.832e-02,-3.105e-18) (1.241e-02,2.149e-02) - (4.020e-03,1.245e-18) (4.121e-02,-1.077e-17) (-3.999e-02,-8.663e-19) (1.610e-01,1.578e-30) (-5.312e-02,1.465e-17) (-1.830e-02,-3.170e-02) - (-1.301e-02,2.125e-18) (2.115e-03,-2.758e-18) (-6.832e-02,3.105e-18) (-5.312e-02,-1.465e-17) (6.813e-02,0.000e+00) (2.873e-03,4.976e-03) - (6.735e-03,-1.167e-02) (3.674e-02,-6.364e-02) (1.241e-02,-2.149e-02) (-1.830e-02,3.170e-02) (2.873e-03,-4.976e-03) (6.682e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_5 b/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_5 deleted file mode 100644 index 91d79d3da9..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_5 +++ /dev/null @@ -1,6 +0,0 @@ - (2.275e-01,1.926e-34) (2.183e-02,-8.474e-18) (2.712e-02,3.858e-18) (4.020e-03,-1.245e-18) (-1.301e-02,-2.125e-18) (6.735e-03,1.167e-02) - (2.183e-02,8.474e-18) (1.402e-01,0.000e+00) (-2.720e-02,-1.467e-17) (4.121e-02,1.077e-17) (2.115e-03,2.758e-18) (3.674e-02,6.364e-02) - (2.712e-02,-3.858e-18) (-2.720e-02,1.467e-17) (1.420e-01,0.000e+00) (-3.999e-02,8.663e-19) (-6.832e-02,-3.105e-18) (1.241e-02,2.149e-02) - (4.020e-03,1.245e-18) (4.121e-02,-1.077e-17) (-3.999e-02,-8.663e-19) (1.610e-01,1.578e-30) (-5.312e-02,1.465e-17) (-1.830e-02,-3.170e-02) - (-1.301e-02,2.125e-18) (2.115e-03,-2.758e-18) (-6.832e-02,3.105e-18) (-5.312e-02,-1.465e-17) (6.813e-02,0.000e+00) (2.873e-03,4.976e-03) - (6.735e-03,-1.167e-02) (3.674e-02,-6.364e-02) (1.241e-02,-2.149e-02) (-1.830e-02,3.170e-02) (2.873e-03,-4.976e-03) (6.682e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_6 b/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_6 deleted file mode 100644 index 6db4f7eebc..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_6 +++ /dev/null @@ -1,6 +0,0 @@ - (2.275e-01,4.815e-35) (2.183e-02,-4.084e-18) (2.712e-02,4.459e-18) (4.020e-03,-4.065e-18) (-1.301e-02,-5.700e-19) (6.735e-03,-1.167e-02) - (2.183e-02,4.084e-18) (1.402e-01,0.000e+00) (-2.720e-02,-1.169e-17) (4.121e-02,-4.451e-18) (2.115e-03,-6.255e-18) (3.674e-02,-6.364e-02) - (2.712e-02,-4.459e-18) (-2.720e-02,1.169e-17) (1.420e-01,0.000e+00) (-3.999e-02,1.551e-17) (-6.832e-02,8.335e-18) (1.241e-02,-2.149e-02) - (4.020e-03,4.065e-18) (4.121e-02,4.451e-18) (-3.999e-02,-1.551e-17) (1.610e-01,0.000e+00) (-5.312e-02,-7.074e-18) (-1.830e-02,3.170e-02) - (-1.301e-02,5.700e-19) (2.115e-03,6.255e-18) (-6.832e-02,-8.335e-18) (-5.312e-02,7.074e-18) (6.813e-02,6.163e-33) (2.873e-03,-4.976e-03) - (6.735e-03,1.167e-02) (3.674e-02,6.364e-02) (1.241e-02,2.149e-02) (-1.830e-02,-3.170e-02) (2.873e-03,4.976e-03) (6.682e-02,-3.469e-18) \ No newline at end of file diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_7 b/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_7 deleted file mode 100644 index 6db4f7eebc..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_7 +++ /dev/null @@ -1,6 +0,0 @@ - (2.275e-01,4.815e-35) (2.183e-02,-4.084e-18) (2.712e-02,4.459e-18) (4.020e-03,-4.065e-18) (-1.301e-02,-5.700e-19) (6.735e-03,-1.167e-02) - (2.183e-02,4.084e-18) (1.402e-01,0.000e+00) (-2.720e-02,-1.169e-17) (4.121e-02,-4.451e-18) (2.115e-03,-6.255e-18) (3.674e-02,-6.364e-02) - (2.712e-02,-4.459e-18) (-2.720e-02,1.169e-17) (1.420e-01,0.000e+00) (-3.999e-02,1.551e-17) (-6.832e-02,8.335e-18) (1.241e-02,-2.149e-02) - (4.020e-03,4.065e-18) (4.121e-02,4.451e-18) (-3.999e-02,-1.551e-17) (1.610e-01,0.000e+00) (-5.312e-02,-7.074e-18) (-1.830e-02,3.170e-02) - (-1.301e-02,5.700e-19) (2.115e-03,6.255e-18) (-6.832e-02,-8.335e-18) (-5.312e-02,7.074e-18) (6.813e-02,6.163e-33) (2.873e-03,-4.976e-03) - (6.735e-03,1.167e-02) (3.674e-02,6.364e-02) (1.241e-02,2.149e-02) (-1.830e-02,-3.170e-02) (2.873e-03,4.976e-03) (6.682e-02,-3.469e-18) \ No newline at end of file diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_8 b/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_8 deleted file mode 100644 index 6db4f7eebc..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dm_8 +++ /dev/null @@ -1,6 +0,0 @@ - (2.275e-01,4.815e-35) (2.183e-02,-4.084e-18) (2.712e-02,4.459e-18) (4.020e-03,-4.065e-18) (-1.301e-02,-5.700e-19) (6.735e-03,-1.167e-02) - (2.183e-02,4.084e-18) (1.402e-01,0.000e+00) (-2.720e-02,-1.169e-17) (4.121e-02,-4.451e-18) (2.115e-03,-6.255e-18) (3.674e-02,-6.364e-02) - (2.712e-02,-4.459e-18) (-2.720e-02,1.169e-17) (1.420e-01,0.000e+00) (-3.999e-02,1.551e-17) (-6.832e-02,8.335e-18) (1.241e-02,-2.149e-02) - (4.020e-03,4.065e-18) (4.121e-02,4.451e-18) (-3.999e-02,-1.551e-17) (1.610e-01,0.000e+00) (-5.312e-02,-7.074e-18) (-1.830e-02,3.170e-02) - (-1.301e-02,5.700e-19) (2.115e-03,6.255e-18) (-6.832e-02,-8.335e-18) (-5.312e-02,7.074e-18) (6.813e-02,6.163e-33) (2.873e-03,-4.976e-03) - (6.735e-03,1.167e-02) (3.674e-02,6.364e-02) (1.241e-02,2.149e-02) (-1.830e-02,-3.170e-02) (2.873e-03,4.976e-03) (6.682e-02,-3.469e-18) \ No newline at end of file diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dphialpha_x_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/dphialpha_x_ref.dat deleted file mode 100644 index c000c81376..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dphialpha_x_ref.dat +++ /dev/null @@ -1,399 +0,0 @@ -iat : 0 -ad : 5 2.716543093 -R : 0 -1 0 -iw : 5 -0.03719228563 0.06326212401 0.005904638746 -0.01770995014 -0.008402270755 0.006296706408 -0.0033525522 -0.0005310616086 -0.003006405764 0.0006612794044 0.000641022626 0.0007773203262 --0.001056451635 -0.04246117647 0.1901812122 0.02153876871 -0.07609472985 0.03739925311 -0.03859965556 -0.0304390596 -0.01835192726 0.01544045453 0.0131056195 -0.01623837849 --0.006647929489 0.01531614446 0.009506313725 -0.007769235816 -0.00194932561 -6.162237318e-05 -0.0009888108842 -0.006226423124 0.001865613208 0.003158402539 -0.001034933717 -0.00438047542 -0.0005249783407 0.003118532244 0.002893560656 -0.001581900228 0.000521727661 -0.001660397397 --0.0002646504962 -0.0008172124293 0.002088117642 0.0004145374897 -0.0006433477543 -0.002155350067 -0.0003263432536 0.0005385032696 0.001695504289 -0.0002731600568 0.0658851163 -0.1998901647 --0.02695360956 -0.07465289604 0.1013958723 0.07294539851 -0.0800527009 -0.05505529722 --0.04573726004 0.04060736778 0.03363937396 0.005715309229 -0.0329987073 -0.009950848946 --0.00289913596 -0.006037237173 0.02621412073 0.001060174711 0.008904572466 -0.01329732076 --0.01099888955 -0.004927793296 0.01133543566 0.002454132693 0.002499662254 -0.003019852252 --0.003319722187 0.003463302297 0.0001598275826 0.001683955423 0.004397683492 -0.004115102337 --0.003446055482 -0.002571552799 0.002087418315 0.001833905668 0.005834235253 -0.002784726169 -0.0009007713968 -0.002959462129 -0.0004770052544 -0.001836181558 0.0007811980729 -0.0003175748503 -0.0009314176662 -0.001842708495 0.001134835104 0.001549174095 0.0009234791101 -0.0005756541119 -0.0002936081537 -0.002726670087 0.0002075751221 -0.0008124603136 0.001383125039 0.0004242744942 -0.00255739287 -0.0008598008083 0.0005239914922 -0.001297257827 0.0006302995214 -0.001527998442 --0.0003264463217 -0.0006137523411 0.0007750893351 -ad : 8 2.795323233 -R : 0 0 0 -iw : 4 -0.1063188494 0.1724080369 0.003816284915 -0.05138976598 -0.01685513954 0.020628203 -0.005963095855 -0.003743718397 -0.006995288972 0.003520718303 0.001117439725 0.001345814204 --0.00272057625 0.005010105653 0.08478580572 -0.0897179481 0.008565955686 -0.1418750301 --0.1533939643 0.002851713856 -0.07668163902 -0.05106677054 -0.001805677059 0.0223352186 -0.03233497492 -0.001551668389 0.04157951602 0.02778634098 0.0004737171928 -0.01057733779 --0.008483041569 0.0006732198217 -0.01216429992 -0.01205561423 -3.050188514e-05 -0.003395291424 -0.0005462093492 -0.0003870818181 0.01108391424 0.00693162757 2.296112639e-05 -0.002332834785 --0.0004111739928 0.0001343187941 -0.0008256462065 -0.002405299894 4.152329003e-05 -0.002952152834 --0.0007435740158 -0.0001007502057 0.003900257395 0.001804173873 0.05229239227 0.002847256415 --0.004633460046 -0.1732875406 -0.05098694937 -0.06612384823 -0.007242442218 -0.009040324826 --0.04685397835 0.1296932839 -0.06081883078 -0.0058112145 -0.004837051591 0.01899241928 -0.1040637218 -0.004456429874 -0.0001608189512 0.0007296198392 0.02074361062 0.002879848713 -0.02512533756 0.002364458664 0.001849948009 -0.0104939152 -0.04234129864 0.003795736033 -0.0003412904859 0.0002143766496 -0.002747451414 -0.00611162403 -0.00616492574 -0.0006345460532 --0.0006764038991 -0.001396895846 0.01136306773 -0.006212795637 -0.0005402597162 -0.0002757846281 -0.005837693634 0.009674644916 0.004145578236 0.0003748113535 0.0002425832045 -0.002849865057 --0.006711895494 0.001266026728 0.0001372915759 0.0001674663673 0.0007967122128 -0.002458534677 -0.0008604496025 5.552871216e-05 -4.073973903e-05 -0.002217610063 -0.0009943746622 -0.002536885019 --0.0002175142268 -9.996578148e-05 0.002609469241 0.003895113489 0.0006099449712 4.087751203e-05 --2.268139439e-05 -0.001461353807 -0.0007320098131 -ad : 13 0 -R : 0 0 0 -iw : 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.2846209031 0 0 0.417622686 -0 0 0.3779946587 0 0 0.2568325753 -0 0 0.1356056091 0 0 0.03886562428 -0 0 -0.02055185268 0 0 -0.0565302244 -0 0 -0.06614616672 0 0 -0.06635081072 -0 0 -0.05336765123 0 0 -0.04335800633 -0 0 -0.0279082478 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 1 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0.2196692933 -0 0 0 0 0.3454760815 0 -0 0 0 0.3956494725 0 0 -0 0 0.385982285 0 0 0 -0 0.3620538235 0 0 0 0 -0.3183349127 0 0 0 0 0.2809343011 -0 0 0 0 0.2307824615 0 -0 0 0 0.193666922 0 0 -0 0 0.1448689215 0 0 0 -0 0.1135446365 0 0 0 0 -0.07120939607 0 0 0 0 0.05493176412 -0 0 0 -iw : 2 --0.08010138007 -0.3044588881 -0.4494156118 -0.5063041764 -0.4943778793 -0.4624871691 --0.4079404948 -0.3591758497 -0.2958949735 -0.2475786472 -0.1856938757 -0.1448990875 --0.09127204244 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 -0.1268261256 0 -0 0.2196692933 0 -0.1994607087 0 0 -0.3454760815 0 -0.2284283294 0 0 0.3956494725 -0 -0.2228469762 0 0 0.385982285 0 --0.2090318725 0 0 0.3620538235 0 -0.1837907476 -0 0 0.3183349127 0 -0.1621974944 0 -0 0.2809343011 0 -0.1332423163 0 0 -0.2307824615 0 -0.1118136496 0 0 0.193666922 -0 -0.08364011082 0 0 0.1448689215 0 --0.06555502644 0 0 0.1135446365 0 -0.04111276399 -0 0 0.07120939607 0 -0.0317148688 0 -0 0.05493176412 0 -iw : 3 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.2196692933 0 0 0 -0 0.3454760815 0 0 0 0 -0.3956494725 0 0 0 0 0.385982285 -0 0 0 0 0.3620538235 0 -0 0 0 0.3183349127 0 0 -0 0 0.2809343011 0 0 0 -0 0.2307824615 0 0 0 0 -0.193666922 0 0 0 0 0.1448689215 -0 0 0 0 0.1135446365 0 -0 0 0 0.07120939607 0 0 -0 0 0.05493176412 -iat : 1 -ad : 2 4.049413304 -R : 0 -1 0 -iw : 5 --0.0506225292 -0.01832793931 0.03559515956 -0.01577279662 4.565875249e-05 0.003676826473 --0.001033308928 -0.00287371668 0.003786363301 -0.002408958411 0.001388279103 -0.0007534841003 -0.0007361134882 0.05437382619 0.08301619361 -0.06524685637 0.02371941073 -0.04991067004 --0.02846253599 -0.02842980323 0.01957342315 0.03411485668 0.007778752254 -0.004690880804 --0.009334254486 0.004340723443 0.001055907581 -0.00520872962 -0.004027089408 -0.003207876769 -0.004832378786 -4.054579924e-05 0.005604900974 4.865366528e-05 0.002449002809 -0.00583036632 --0.002938725223 -0.00281200149 0.005031287315 0.003374312057 0.001341375818 -0.003753450511 --0.001609608178 -0.0001409779426 0.00282330723 0.0001691690326 0.00034321293 -0.002820656291 --0.0004118445641 -0.0005033536413 0.002784327995 0.0006040083076 -0.04352924029 -0.07783976697 -0.07673427718 0.1035266084 0.09340523651 0.005768099662 0.04390420591 0.0422784545 -0.005509172308 -0.05268364612 0.002447302547 -0.01333921581 -0.03197507598 -0.01596131799 -0.01600663332 -0.000322560131 0.0009112901382 0.002892123318 0.001618979375 -0.001093519087 --0.002027487445 -0.0003245449492 0.008728329701 0.006711626882 0.0003894435829 0.002383360398 -0.003240903663 -0.005795722238 -0.006252886081 -0.003888980979 -0.001717947303 -0.005936472858 --0.001444036708 0.002446169967 0.007123577998 0.001171521405 0.005910070278 0.003891745986 --0.0006023714953 -0.007091895744 -0.0009143415654 -0.004197977941 -0.002389932334 0.000707506748 -0.005037439572 0.0008845389946 0.003130754985 0.0008593254148 -0.001217026958 -0.00375680608 --0.0009470030802 -0.002543512538 0.0003421113141 0.001765679767 0.003052133883 0.0008817002289 -0.00241149568 -0.0002507914596 -0.001619092902 -0.002893717866 -0.0007596282344 -0.002751801332 --0.0008365897172 0.001009010368 0.003302073789 -ad : 5 2.795323233 -R : 0 0 0 -iw : 0 --0.08831681522 -0.1872142396 -0.01026406968 0.07003273591 0.01573639458 -0.01234678978 -0.001004923557 -0.004856378552 -0.003990076656 0.00248910063 0.005441299887 -0.002149050405 --0.00165863228 0.004797313098 0.07029149862 -0.08590738746 0.0103509364 -0.1626594253 --0.1853583216 0.003639000451 -0.1048074046 -0.0651650237 -0.002144946259 0.03070769065 -0.03841040299 -0.00126162124 0.03184262878 0.02259235169 0.0001844048761 -0.004073684636 --0.00330221122 -0.0001960974826 0.00555005523 0.003511595361 6.890000606e-05 -0.00140536205 --0.001233819723 0.0003593652867 -0.00717795259 -0.006435296653 9.160661604e-05 -0.003637813624 --0.001640435989 -0.0002822736441 0.006896001732 0.005054786049 -5.256256975e-05 0.0008974316613 -0.000941258774 8.066054844e-05 -0.001137195896 -0.001444420418 -0.05075947485 -0.002634580653 -0.005026218168 0.1776437924 0.04717848019 0.07836148815 0.008740994857 0.01136054034 -0.06707721589 -0.1565284601 0.08148295751 0.00771216735 0.006179849608 -0.03081270593 --0.1381048381 0.003817819838 0.000128448377 -0.0006632126188 -0.01845203354 -0.002300176008 --0.01559521487 -0.001477505833 -0.001188732229 0.005790987424 0.02645828268 0.0008043144864 -6.588769298e-05 1.91154074e-05 -0.001051873836 -0.001179877038 -0.005643616791 -0.0005298203854 --0.0004102926866 0.002450669138 0.009487703681 -0.00378252632 -0.0003532527986 -0.0002674259968 -0.001777558256 0.006325837905 0.003931634465 0.0003943789745 0.000389243704 0.0001388141899 --0.007062300642 0.005450727733 0.0004982277082 0.0003411066813 -0.003351653172 -0.008921961085 --0.002725085439 -0.000256742781 -0.0002018491229 0.001116666001 0.00459759476 -0.001968505941 --0.0001915079589 -0.0001705422183 0.0003651087563 0.00342940894 -0.0001445214378 -3.671633001e-06 -2.997660001e-05 0.0007854473544 6.574938771e-05 -iw : 1 --0.0008971558933 -0.007181086781 -0.008529917698 0.0006281201034 0.005585627699 0.001345880909 --0.002993383456 -0.001408907747 0.001361075533 0.001073624419 -0.0005465528475 -0.0005871188148 -0.0001339106472 -0.07211496016 0.001753866114 -0.001115536614 -0.1343328494 -0.002774392998 --0.006840998259 -0.04477621203 -0.01024662418 -0.009629554227 0.03155860931 -0.004776836051 --0.002672747002 0.02795947125 0.004353989825 0.004401251911 -0.008732108672 0.004411166501 -0.003175228516 -0.01186867412 -0.001458603671 -0.001561115205 6.141691305e-05 -0.002792383766 --0.002199366014 0.00660591557 0.0001281168841 0.0003298522745 -0.0001434339597 0.001574517484 -0.001236366351 -0.001702239681 0.0001722121398 7.680098285e-05 -0.001140363901 -0.0006320923287 --0.0005378401005 0.00130966413 -0.0001995615422 -0.0001119622349 0.003274846247 0.0398274588 --0.07031926467 0.003520473693 0.001396777076 0.01037179628 -0.1119103168 -0.142554729 -0.005631591888 -0.003440378729 0.01198416878 -0.1020307003 -0.0827609941 0.000864953374 --0.01201602154 0.004552718102 -0.002483927325 0.0119179496 -0.002656374918 -0.008818823077 --0.003412542934 0.04528273281 0.03653947607 -0.001139402725 0.002148803677 -0.003956349261 -0.00776727669 0.004201007155 0.001306199135 0.006235324037 0.0002903430142 -0.01436286333 --0.01367458691 0.0008243292673 0.0008538128982 0.002250091607 -0.009312646386 -0.005462825341 --0.0005312792271 -0.003244652434 0.0004938693486 0.007320669008 0.005450321764 -0.0005743766367 --0.001364549349 -0.001000789956 0.002713352612 0.00271110435 0.0002169330974 0.001415542371 --0.0004872125605 -0.00030437548 -0.001193894512 0.0002786643026 0.0009357549676 0.0003494262718 --0.002916322621 -0.001580190827 -3.212313797e-05 -0.000432072157 0.0002400564866 0.001376873527 -0.0005341199924 -0.0001335760978 -0.0004557487735 -iw : 2 --0.04169952805 0.04828033955 0.1903776257 0.02656682404 -0.1142674259 -0.0479110123 -0.06253974856 0.03633006142 -0.02581269367 -0.02732078759 0.01145329618 0.01292737637 --0.001484803229 0.001753866114 -0.184268486 -0.0314071758 -0.002774392998 -0.206290895 -0.04968215527 -0.01024662418 0.142561824 0.1834903612 -0.004776836051 0.1715285157 -0.08554069687 0.004353989825 -0.04267648868 -0.07796862187 0.004411166501 -0.1174977039 --0.07899250728 -0.001458603671 0.009282913267 0.02611979418 -0.002792383766 0.06342558901 -0.05000432309 0.0001281168841 0.0103329489 -0.002294239834 0.001574517484 -0.0359813294 --0.02819550878 0.0001722121398 -0.007315039411 -0.003083871057 -0.0006320923287 0.01204426882 -0.01131912791 -0.0001995615422 0.007148394715 0.003573627648 0.0474477005 0.009637082718 -0.001396777076 -0.05724718714 -0.1725750607 0.1232348003 0.01159681697 -0.003440378729 --0.2748650406 -0.2076687988 -0.04152553914 -0.005950441799 -0.01201602154 -0.1425803087 -0.1065569203 -0.1256902904 -0.01249772274 -0.008818823077 0.0602722763 0.2238016757 --0.02416537658 -0.001368570751 0.002148803677 0.08021514402 0.02450753898 0.07611547328 -0.007423441148 0.006235324037 -0.02052564579 -0.1329345035 0.02980475024 0.002611080286 -0.0008538128982 -0.03638145502 -0.0467576498 -0.03415598482 -0.003496238518 -0.003244652434 -0.001237814303 0.06260852916 -0.0265478581 -0.002337335891 -0.001364549349 0.02162291324 -0.04185560041 0.01543935343 0.001488618697 0.001415542371 -0.001472114098 -0.02665728515 -0.01361280772 0.00131820939 0.0009357549676 -0.00687339465 -0.02360569812 -0.002953745363 --0.0003701541855 -0.000432072157 -0.002597122224 0.006628497742 -0.007304514089 -0.0006367209255 --0.0004557487735 0.004515965875 0.01140201403 -iw : 3 -0.01606572624 0.1285945678 0.1527486178 -0.0112479957 -0.1000240495 -0.02410122299 -0.05360370422 0.02522986957 -0.02437331914 -0.01922581809 0.009787338513 0.01051376937 --0.002397991045 -0.001115536614 -0.0314071758 -0.05220089853 -0.006840998259 0.04968215527 --0.01221040243 -0.009629554227 0.1834903612 0.1271262913 -0.002672747002 0.08554069687 -0.07927129564 0.004401251911 -0.07796862187 -0.05060971309 0.003175228516 -0.07899250728 --0.06541487067 -0.001561115205 0.02611979418 0.01599965761 -0.002199366014 0.05000432309 -0.03932351717 0.0003298522745 -0.002294239834 0.0007175400151 0.001236366351 -0.02819550878 --0.02221449413 7.680098285e-05 -0.003083871057 -0.003073256542 -0.0005378401005 0.01131912791 -0.008460917474 -0.0001119622349 0.003573627648 0.003308363966 0.06328167989 0.001396777076 -0.002596135332 0.007351288724 0.01489281798 0.06192017993 -0.003440378729 0.0003336331912 -0.04213482787 -0.05049421153 -0.07006541456 -0.01201602154 -0.007680348547 0.06796105648 -0.1124739521 -0.101537272 -0.008818823077 -0.007184972908 0.03601601213 0.1549457654 --0.002464762455 0.002148803677 0.0009102346985 -0.01630103089 0.00692324881 0.0630820026 -0.006235324037 0.004811042878 -0.02787427714 -0.1035429445 0.01846650383 0.0008538128982 -0.0009624217509 -0.001098140012 -0.02960475003 -0.03056566456 -0.003244652434 -0.002433680063 -0.01513007053 0.0486094404 -0.01819835668 -0.001364549349 -0.001188582618 0.004884800259 -0.03167999484 0.01310874521 0.001415542371 0.001054752502 -0.006663376776 -0.02255627787 -0.01072523852 0.0009357549676 0.0007608807844 -0.003835145576 -0.01700905543 -0.003482101463 --0.000432072157 -0.0003059079096 0.002177511919 0.004796836644 -0.005190946102 -0.0004557487735 --0.0003695687299 0.001876911651 0.00951269718 -ad : 13 0 -R : 0 0 0 -iw : 4 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.3077382509 0 0 0.3401131198 -0 0 0.2965292282 0 0 0.2106036853 -0 0 0.1684140665 0 0 0.1131428397 -0 0 0.1019205148 0 0 0.0611381405 -0 0 0.06480534154 0 0 0.0295606475 -0 0 0.04222101471 0 0 0.008651835175 -0 0 0.03034646073 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 2 -ad : 9 2.716543093 -R : 0 1 0 -iw : 0 --0.03086594995 -0.0688308124 -0.009367037653 0.02419603764 0.008011497158 -0.003769605614 -0.0002602018648 -0.001252192722 -0.001906012399 6.200902055e-05 0.002127108425 -7.191532159e-05 --0.0006138095775 -0.04066554248 0.171208411 0.02062791912 -0.09194342603 0.05397432455 -0.04663903246 -0.03890162984 -0.03039006954 0.01973316044 0.01543127082 -0.01514977021 --0.007827634575 0.01251543893 0.005781322274 -0.006348555712 -0.0008442295715 -3.075857838e-06 -0.0004282421495 0.00178283319 0.001455719818 -0.0009043562829 0.0005605485685 0.0003476163854 --0.0002843427096 -0.003012172774 0.0003959309513 0.001527948542 -0.002035552733 -0.002043069603 -0.001032550277 0.00198994655 0.0008466158939 -0.001009416179 0.00119330491 -1.254077247e-05 --0.0006053133848 -0.0003727896545 0.0006445885078 0.0001891005105 -0.06943204279 0.2058733971 -0.0292574651 0.07742321881 -0.1044309144 -0.09326008858 0.1093077655 0.06914525341 -0.0602938682 -0.05544723144 -0.04177151865 -0.01429447261 0.04226067022 0.01047545864 -0.007250984663 0.004980970504 -0.02363521935 -0.0005163688738 -0.007871265038 0.01198915257 -0.007286858123 0.002173989294 -0.007315139221 -0.001910925061 -0.001102773321 0.0002424994342 --0.0009585800311 -5.942860158e-05 -0.0003330103971 0.0004862473275 0.002084939957 0.001040149937 --0.002167662899 -0.0004374909475 -0.0005276243094 0.002492207678 0.001508930877 -0.002638496951 --0.0004535390886 -0.0007654171611 -0.001891783065 0.001944533123 0.001451301546 0.001151776472 --0.0009863798571 -0.002335553451 -0.002727062429 0.002707003072 8.190443423e-05 0.001383324057 -0.0003534238014 3.648537279e-05 -0.0003424873341 -0.0001107034679 -1.850749487e-05 0.001316907113 --8.984702084e-05 -0.001235853483 -0.0004715051643 4.557561429e-05 3.875338091e-05 0.001157223537 --0.0002433947416 0.0002892376751 -0.0005870108221 -iw : 1 -0.007512662275 0.06214417456 0.08021662279 0.00435568047 -0.0485467061 -0.0207061922 -0.02245284353 0.01804207189 -0.007532133214 -0.01209405687 0.001357878547 0.005879953779 -0.0007131393521 -0.01271461548 -0.07392608204 -0.006425304855 0.03066904992 -0.1263447671 --0.04070486127 0.100989714 -0.02271848904 -0.06147770693 0.0559494222 0.04376845463 --0.02366313759 -0.03416635323 0.02089251147 0.02323517205 -0.04823831397 -0.01924691064 -0.02381269451 0.004167967429 -0.01145784998 -0.004478025606 0.02817615458 0.006113174233 --0.01485527948 0.006400088345 0.008354484196 -0.002089247346 -0.01380956122 -0.002983508429 -0.007283144387 -0.006195217884 -0.003264737563 0.002911989559 0.004390556549 -0.0003065409349 --0.002547119363 0.003829980733 0.002218738179 -0.001763267402 -0.009649355291 0.02623311226 -0.006590001188 -0.03504624533 0.04885913026 0.01640681146 -0.1242023339 -0.02561470197 --0.08034187602 0.09087697202 0.07170929137 -0.08211992588 -0.08222645348 -0.06246735124 -0.03832616843 0.06271702875 0.02740117224 -0.06723920095 -0.009224618954 -0.02292957179 --0.00240623755 0.05049738241 0.004666205948 0.02061490034 -0.02430722477 -0.03922154998 --0.008764620322 0.04271279659 0.01220857132 0.006334164881 -0.01443621922 -0.02363214966 -0.01484096574 -0.004054337489 0.01295755061 0.01690507043 -0.003147869243 -0.01862866638 --0.007386626269 -8.906286418e-05 0.01370433356 0.01465852629 -0.01451971902 -0.0003378239594 --0.007096160608 -0.005168193721 0.001324671998 0.005766070391 0.00294695416 -0.0008289294381 --0.007808003245 -0.004090489383 0.008382917485 0.001263898782 0.00271111482 0.0003651242074 --0.003280338944 -0.0004942929445 -0.00105226348 0.001107835716 0.003202256602 0.002871033068 --0.003438094919 -0.0005187886371 -0.001111364701 -iw : 2 --0.06059654539 -0.1024461423 0.01303327116 0.04235103773 0.00293336891 -0.02205907394 --0.001224695421 0.008295613779 0.003896445156 -0.00551302215 -0.0009199624461 0.0008025182877 -0.001824184787 -0.07392608204 -0.07480439494 0.03749959175 -0.1263447671 -0.1402405823 -0.06408938572 -0.02271848904 -0.04780118775 0.01152413385 0.04376845463 0.03283463473 --0.02220189593 0.02089251147 0.03007262147 -0.01059789223 -0.01924691064 -0.008848087143 -0.009763148156 -0.01145784998 -0.013046077 0.005812085327 0.006113174233 -0.0002304613758 --0.00310095614 0.008354484196 0.007279737324 -0.004237878405 -0.002983508429 0.0001262959308 -0.001513408326 -0.003264737563 -0.001970886869 0.001656064036 -0.0003065409349 -0.001361248441 -0.0001554953217 0.002218738179 0.001429386002 -0.001125472548 -0.1099825566 -0.0983100539 -0.04885913026 0.1189594669 0.04986855497 -0.1030283791 -0.2005150839 0.09087697202 -0.04539507573 0.1017128675 -0.02315409934 -0.1178708697 0.03832616843 -0.01601025226 -0.05979093399 0.03149505891 0.01622416053 -0.02292957179 -0.02097926655 -0.008229834174 -0.01767848024 0.05261371331 -0.02430722477 0.004968806857 -0.02668872359 -0.009067021465 -0.006774421349 0.006334164881 0.00643052817 -0.003436378987 -0.01208012198 -0.01996642226 -0.01295755061 0.001951901992 0.01012812613 0.002805304807 -0.008502191185 -8.906286418e-05 --0.004728531226 0.004312803947 0.005904480303 0.007953735645 -0.007096160608 0.0001628113404 --0.004034595522 0.0005868494009 0.004408924829 -0.0008289294381 0.0001972039267 -0.002236462106 --0.003251683248 -0.001716419868 0.00271111482 0.001662667674 0.0008706675987 -0.000228252622 --0.002529288319 0.001107835716 -0.00122666562 0.001283001571 0.000643548982 0.0007028081888 --0.001111364701 0.0005125181027 -0.0003565050308 -iw : 3 --0.003810857555 -0.03152312568 -0.04069051846 -0.002209453482 0.02462570191 0.0105033803 --0.01138938305 -0.009151984136 0.003820734343 0.00613480632 -0.0006887946683 -0.002982653215 --0.0003617455954 -0.006425304855 0.03749959175 -0.02212206954 -0.04070486127 0.06408938572 --0.02892798416 -0.06147770693 0.01152413385 0.0109786224 -0.02366313759 -0.02220189593 -0.02130361398 0.02323517205 -0.01059789223 -0.0001471403667 0.02381269451 0.009763148156 --0.01337353562 -0.004478025606 0.005812085327 -0.002388425009 -0.01485527948 -0.00310095614 -0.006426157892 -0.002089247346 -0.004237878405 0.003341167581 0.007283144387 0.001513408326 --0.003146122245 0.002911989559 0.001656064036 -0.001931699091 -0.002547119363 0.0001554953217 -0.0006612535931 -0.001763267402 -0.001125472548 0.001248335589 -0.0245319285 0.04885913026 --0.02821756324 0.0007880072103 0.09776902125 -0.0708136209 0.09087697202 -0.03983133192 -0.004674780197 0.008852977656 -0.07736131317 0.03832616843 0.007063832828 0.008023662508 --0.02600559715 -0.03114439639 -0.02292957179 0.03467339844 0.005065689859 -0.006170603432 -0.01748778415 -0.02430722477 0.01138391264 -0.001065198872 0.01490854958 0.02465543306 -0.006334164881 -0.0176427213 -0.00344471283 0.0005093933579 0.002201058849 0.01295755061 --0.01185774728 -0.0009004938566 -0.004660666619 -0.01233534848 -8.906286418e-05 0.006271061353 -0.001576020023 -0.003278268472 -0.005456161857 -0.007096160608 0.008629383564 0.001034773945 -0.004268855076 0.004325000969 -0.0008289294381 -0.001484983491 -0.0005114110762 0.0001110150924 -0.003970234905 0.00271111482 -0.004244217432 -0.0006356013132 -0.0001210764609 -0.0009843186103 -0.001107835716 -0.0004247613592 7.240467125e-05 -0.001658328185 -0.001628647146 -0.001111364701 -0.001740385463 0.0002606902835 0.001243855432 -ad : 10 4.049413304 -R : 0 1 0 -iw : 4 -0.0506225292 0.01832793931 -0.03559515956 0.01577279662 -4.565875249e-05 -0.003676826473 -0.001033308928 0.00287371668 -0.003786363301 0.002408958411 -0.001388279103 0.0007534841003 --0.0007361134882 0.05437382619 0.08301619361 -0.06524685637 0.02371941073 -0.04991067004 --0.02846253599 -0.02842980323 0.01957342315 0.03411485668 0.007778752254 -0.004690880804 --0.009334254486 0.004340723443 0.001055907581 -0.00520872962 -0.004027089408 -0.003207876769 -0.004832378786 -4.054579924e-05 0.005604900974 4.865366528e-05 0.002449002809 -0.00583036632 --0.002938725223 -0.00281200149 0.005031287315 0.003374312057 0.001341375818 -0.003753450511 --0.001609608178 -0.0001409779426 0.00282330723 0.0001691690326 0.00034321293 -0.002820656291 --0.0004118445641 -0.0005033536413 0.002784327995 0.0006040083076 0.04352924029 0.07783976697 --0.07673427718 -0.1035266084 -0.09340523651 -0.005768099662 -0.04390420591 -0.0422784545 --0.005509172308 0.05268364612 -0.002447302547 0.01333921581 0.03197507598 0.01596131799 --0.01600663332 0.000322560131 -0.0009112901382 -0.002892123318 -0.001618979375 0.001093519087 -0.002027487445 0.0003245449492 -0.008728329701 -0.006711626882 -0.0003894435829 -0.002383360398 --0.003240903663 0.005795722238 0.006252886081 0.003888980979 0.001717947303 0.005936472858 -0.001444036708 -0.002446169967 -0.007123577998 -0.001171521405 -0.005910070278 -0.003891745986 -0.0006023714953 0.007091895744 0.0009143415654 0.004197977941 0.002389932334 -0.000707506748 --0.005037439572 -0.0008845389946 -0.003130754985 -0.0008593254148 0.001217026958 0.00375680608 -0.0009470030802 0.002543512538 -0.0003421113141 -0.001765679767 -0.003052133883 -0.0008817002289 --0.00241149568 0.0002507914596 0.001619092902 0.002893717866 0.0007596282344 0.002751801332 -0.0008365897172 -0.001009010368 -0.003302073789 -ad : 14 0 -R : 0 0 0 -iw : 5 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.3077382509 0 0 0.3401131198 -0 0 0.2965292282 0 0 0.2106036853 -0 0 0.1684140665 0 0 0.1131428397 -0 0 0.1019205148 0 0 0.0611381405 -0 0 0.06480534154 0 0 0.0295606475 -0 0 0.04222101471 0 0 0.008651835175 -0 0 0.03034646073 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dphialpha_y_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/dphialpha_y_ref.dat deleted file mode 100644 index 5dce0e6464..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dphialpha_y_ref.dat +++ /dev/null @@ -1,399 +0,0 @@ -iat : 0 -ad : 5 2.716543093 -R : 0 -1 0 -iw : 5 --0.05801156173 -0.09867461893 -0.009209902249 0.02762352054 0.01310564383 -0.009821439211 --0.0052292239 0.0008283361123 0.004689313673 -0.00103144645 -0.0009998504531 -0.001212444068 -0.001647825838 0.0662298409 0.02153876871 0.170394503 0.1186905844 0.03859965556 -0.001939465704 0.04747805505 0.01544045453 -0.03253638634 -0.02044180511 -0.006647929489 --0.01013122123 -0.02388972456 -0.007769235816 0.01664356525 0.003040507487 0.0009888108842 --0.0009699989696 0.009711813169 0.003158402539 -0.001035870781 0.001614262748 0.0005249783407 --0.004862749681 -0.004864205647 -0.001581900228 0.004346782063 -0.0008137772631 -0.0002646504962 --0.001417274753 0.001274666735 0.0004145374897 0.001707300481 0.001003477128 0.0003263432536 --0.002455147104 -0.0008399434221 -0.0002731600568 0.001946444289 -0.1027658942 -0.02695360956 --0.175129082 -0.1038813938 -0.05695415754 -0.1137783392 -0.05505529722 -0.02947584712 --0.04568428058 -0.00958591241 -0.05246982233 -0.0329987073 0.03602975449 -0.0001438329756 -0.01171732467 0.009416725834 0.001060174711 0.02524018536 0.01339508455 0.008208422478 -0.01715578242 0.01133543566 -0.01534115406 -0.00145436741 -0.004989134273 0.004710287156 -0.003463302297 -0.006501304028 -0.001364587721 -0.002114305 -0.00685939256 -0.003446055482 --0.0009493643781 -0.002405195605 -0.0003087451138 -0.002860478458 -0.002784726169 0.008392439374 -0.002702669184 0.002729325757 0.0007440204141 0.0007811980729 -0.002553833495 -0.0008593796482 --0.0008305384437 0.00287420888 0.001549174095 -0.0002883222599 0.000718510879 -9.376598805e-05 --0.0004579623769 0.0002075751221 -0.002917360123 -0.001363983542 -0.0009487618283 -0.0006617723432 --0.0008598008083 0.003347253646 0.001217971475 0.001088568553 -0.0009831248328 -0.0003264463217 --0.00122810672 -0.0008051925148 -0.0003993955934 -ad : 8 2.795323233 -R : 0 0 0 -iw : 4 -0.08365928687 0.1356629938 0.00300292635 -0.04043714918 -0.0132628312 0.01623174782 -0.004692190985 -0.002945825815 -0.00550439447 0.002770353367 0.0008792816232 0.001058983023 --0.002140744282 0.003942310026 -0.0897179481 0.1282078285 0.006740307555 -0.1533939643 --0.0676348546 0.002243932745 -0.05106677054 -0.05196615544 -0.001420836059 0.03233497492 -0.006685618421 -0.001220963842 0.02778634098 0.02813138044 0.000372754622 -0.008483041569 --0.006471684104 0.0005297375818 -0.01205561423 -0.006329579366 -2.400106823e-05 0.0005462093492 --0.003659647835 -0.0003045837031 0.00693162757 0.007729119611 1.806745906e-05 -0.0004111739928 --0.002133833283 0.0001056916491 -0.002405299894 0.0003384796898 3.267349911e-05 -0.0007435740158 --0.002592275145 -7.927747904e-05 0.001804173873 0.003027066683 0.0411474002 -0.004633460046 -0.005089775463 0.176512728 -0.1158316337 -0.05203098056 -0.009040324826 -0.002867072533 -0.115219546 0.0652480051 -0.04785661281 -0.004837051591 -0.003470160466 0.02697758664 -0.07897290536 -0.003506638261 0.0007296198392 -0.0005139430465 -0.02264609197 0.01169616678 -0.01977041544 0.001849948009 0.001469114017 -0.007775927322 -0.03343367068 0.002986757018 -0.0002143766496 0.0002375356859 0.0003039132513 -0.005405768243 -0.004851005196 -0.0006764038991 --0.0003071776044 0.006961494311 0.006990658823 -0.00488867266 -0.0002757846281 -0.0004067844568 --0.00220332115 0.00925748268 0.003262037924 0.0002425832045 0.0002574050413 0.0001400366003 --0.005857949268 0.0009962005215 0.0001674663673 5.624058708e-05 -0.00207832243 -0.001279906968 -0.0006770633855 -4.073973903e-05 7.524608101e-05 0.002098061197 -0.001712428486 -0.001996202862 --9.996578148e-05 -0.0001691324199 -0.001186925132 0.003849066556 0.0004799483967 -2.268139439e-05 -5.185493677e-05 0.001346474956 -0.00118009961 -ad : 13 0 -R : 0 0 0 -iw : 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0.2846209031 0 0 -0.417622686 0 0 0.3779946587 0 0 -0.2568325753 0 0 0.1356056091 0 0 -0.03886562428 0 0 -0.02055185268 0 0 --0.0565302244 0 0 -0.06614616672 0 0 --0.06635081072 0 0 -0.05336765123 0 0 --0.04335800633 0 0 -0.0279082478 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 1 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0.2196692933 0 0 0 0 0.3454760815 -0 0 0 0 0.3956494725 0 -0 0 0 0.385982285 0 0 -0 0 0.3620538235 0 0 0 -0 0.3183349127 0 0 0 0 -0.2809343011 0 0 0 0 0.2307824615 -0 0 0 0 0.193666922 0 -0 0 0 0.1448689215 0 0 -0 0 0.1135446365 0 0 0 -0 0.07120939607 0 0 0 0 -0.05493176412 0 0 -iw : 2 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.2196692933 0 0 0 -0 0.3454760815 0 0 0 0 -0.3956494725 0 0 0 0 0.385982285 -0 0 0 0 0.3620538235 0 -0 0 0 0.3183349127 0 0 -0 0 0.2809343011 0 0 0 -0 0.2307824615 0 0 0 0 -0.193666922 0 0 0 0 0.1448689215 -0 0 0 0 0.1135446365 0 -0 0 0 0.07120939607 0 0 -0 0 0.05493176412 -iw : 3 --0.08010138007 -0.3044588881 -0.4494156118 -0.5063041764 -0.4943778793 -0.4624871691 --0.4079404948 -0.3591758497 -0.2958949735 -0.2475786472 -0.1856938757 -0.1448990875 --0.09127204244 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 -0.1268261256 0 -0 -0.2196692933 0 -0.1994607087 0 0 --0.3454760815 0 -0.2284283294 0 0 -0.3956494725 -0 -0.2228469762 0 0 -0.385982285 0 --0.2090318725 0 0 -0.3620538235 0 -0.1837907476 -0 0 -0.3183349127 0 -0.1621974944 0 -0 -0.2809343011 0 -0.1332423163 0 0 --0.2307824615 0 -0.1118136496 0 0 -0.193666922 -0 -0.08364011082 0 0 -0.1448689215 0 --0.06555502644 0 0 -0.1135446365 0 -0.04111276399 -0 0 -0.07120939607 0 -0.0317148688 0 -0 -0.05493176412 0 -iat : 1 -ad : 2 4.049413304 -R : 0 -1 0 -iw : 5 --0.1023110375 -0.03704181747 0.07193986084 -0.03187772742 9.227895987e-05 0.007431077373 --0.002088376662 -0.005807946379 0.00765245759 -0.004868643237 0.002805791763 -0.001522834621 -0.001487727617 0.1098926241 -0.06524685637 -0.01656792413 0.04793829072 -0.02846253599 --0.09335209685 -0.05745826436 0.03411485668 0.07164179997 0.01572130485 -0.009334254486 --0.01893744454 0.008772851262 -0.00520872962 -0.006894004072 -0.008138978873 0.004832378786 -0.004167623059 -8.194538783e-05 4.865366528e-05 0.005679159453 0.004949575263 -0.002938725223 --0.01031564538 -0.005683216437 0.003374312057 0.01018138815 0.00271099753 -0.001609608178 --0.006210142208 -0.000284924515 0.0001691690326 0.003081504326 0.0006936530339 -0.0004118445641 --0.00344924102 -0.001017306605 0.0006040083076 0.003706205887 -0.08797509346 0.07673427718 -0.03927722101 -0.06869657023 -0.02332017475 0.01165766054 0.0422784545 0.1084324119 -0.06629743466 -0.0643798805 0.004946138937 -0.03197507598 -0.06214171617 -0.02630270322 -0.03689557568 -0.0006519125417 0.002892123318 0.005325442253 0.002024791427 -0.003161889787 --0.004097668515 0.008728329701 0.01299721584 0.002421104632 -0.007716873464 0.004816908184 --0.005795722238 -0.005604915398 0.002022741119 0.003327822162 -0.00347207012 -0.001444036708 --0.0081404583 -0.007588562128 0.004833257171 0.002367712013 0.003891745986 0.01184991339 -0.008345049567 -0.00703568236 -0.001847936792 -0.002389932334 -0.007845652575 -0.005807004917 -0.004658221339 0.001787704086 0.0008593254148 0.004442314929 0.004033511428 -0.00263754812 --0.001913947589 0.0003421113141 -0.00202135936 -0.002941973018 0.00120014737 0.001781966777 --0.0002507914596 0.002028720975 0.002812962267 -0.001204518202 -0.001535252269 -0.0008365897172 --0.004028660533 -0.003571458175 0.002391947933 -ad : 5 2.795323233 -R : 0 0 0 -iw : 0 --0.06949399678 -0.1473135748 -0.008076505287 0.05510677341 0.01238252253 -0.009715338656 -0.0007907458422 -0.003821346531 -0.003139678142 0.001958602682 0.004281604538 -0.001691026806 --0.001305130694 0.0037748696 -0.08590738746 0.1118692722 0.008144858248 -0.1853583216 --0.07294902259 0.002863426234 -0.0651650237 -0.07326859656 -0.00168779737 0.03841040299 -0.01211768243 -0.0009927339674 0.02259235169 0.02090829925 0.0001451029663 -0.00330221122 --0.002475468295 -0.0001543035468 0.003511595361 0.003850500382 5.421546041e-05 -0.001233819723 --0.0008082134394 0.0002827743506 -0.006435296653 -0.004063374029 7.208264774e-05 -0.001640435989 --0.002843869376 -0.0002221131239 0.005054786049 0.004449567775 -4.135999519e-05 0.000941258774 -0.0004418777753 6.346949762e-05 -0.001444420418 -0.0004381199857 -0.03994119097 0.005026218168 --0.005067188223 -0.1833445295 0.1153175998 0.0616604323 0.01136054034 0.003242678726 --0.1512416852 -0.07379594189 0.064116628 0.006179849608 0.00472122099 -0.02931441789 --0.1074441779 0.003004134137 -0.0006632126188 0.0004494324614 0.02026737104 -0.0102280536 --0.01227143222 -0.001188732229 -0.0009021788331 0.005745844916 0.0205315242 0.0006328922549 -1.91154074e-05 5.663614774e-05 0.000662018597 -0.001288909023 -0.004440801971 -0.0004102926866 --0.0003312454207 0.001627598583 0.007538387207 -0.00297636267 -0.0002674259968 -0.0002238229803 -0.0009190408949 0.005093698466 0.003093691639 0.000389243704 0.000205991374 -0.003482760395 --0.004687891941 0.004289023043 0.0003411066813 0.0003331376411 -0.0003190124684 -0.007581449808 --0.002144292435 -0.0002018491229 -0.0001590510995 0.0008707308664 0.003619638789 -0.001548961488 --0.0001705422183 -0.0001089683083 0.00119077652 0.002479869155 -0.00011371982 2.997660001e-05 --1.817981821e-05 -0.000877850068 0.0004137310297 -iw : 1 --0.0007059465245 -0.005650593495 -0.006711950285 0.0004942498927 0.004395171999 0.001059035511 --0.002355408534 -0.001108629542 0.00107099173 0.0008448046016 -0.0004300669327 -0.0004619871417 -0.0001053704899 -0.05674521661 -0.001115536614 0.002293767631 -0.1057027089 -0.006840998259 -0.0005365385203 -0.03523313116 -0.009629554227 -0.005586077077 0.0248325745 -0.002672747002 --0.003483270119 0.02200051485 0.004401251911 0.002223855726 -0.006871048627 0.003175228516 -0.002874407717 -0.009339123005 -0.001561115205 -0.0007030493885 4.832722678e-05 -0.002199366014 --0.001727926507 0.005198007584 0.0003298522745 -3.15262338e-05 -0.0001128641144 0.001236366351 -0.0009761363464 -0.001339444121 7.680098285e-05 0.0001350417174 -0.0008973200074 -0.0005378401005 --0.0003717864971 0.001030537555 -0.0001119622349 -0.0001453736476 0.00257688362 -0.07031926467 -0.07386083534 -0.003416209049 0.002596135308 0.008161272295 -0.142554729 -0.04291615431 --0.008134244583 0.0003336324831 0.009430002484 -0.0827609941 -0.06197572971 -0.006653179238 --0.007680350016 0.003582404736 0.0119179496 -0.008252020441 -0.001074947169 -0.007184970943 --0.002685233238 0.03653947607 0.02759822269 0.002329123145 0.0009102427702 -0.003113139011 -0.004201007155 0.005734057784 0.001421834958 0.004811049048 0.0002284626823 -0.01367458691 --0.007744586422 -0.0005521273504 0.0009624173711 0.001770533261 -0.005462825341 -0.00666872807 --0.0009116032245 -0.002433688762 0.0003886117818 0.005450321764 0.00468280222 2.26733848e-05 --0.001188582749 -0.0007874932285 0.00271110435 0.00140122235 0.0004148836802 0.001054759319 --0.000383373744 -0.001193894512 0.0002734499803 0.0001177644541 0.0007608832896 0.0002749536218 --0.001580190827 -0.002151536048 -0.0001660822481 -0.0003059115517 0.0001888936401 0.0005341199924 -0.001118368167 -5.983668148e-05 -0.0003695708889 -iw : 2 -0.01606572624 0.1285945678 0.1527486178 -0.0112479957 -0.1000240495 -0.02410122299 -0.05360370422 0.02522986957 -0.02437331914 -0.01922581809 0.009787338513 0.01051376937 --0.002397991045 -0.001115536614 -0.03140717588 -0.05220089842 -0.006840998259 0.04968214393 --0.01221038802 -0.009629554227 0.1834903372 0.1271263219 -0.002672747002 0.08554073196 -0.07927125104 0.004401251911 -0.07796850346 -0.05060986357 0.003175228516 -0.078992455 --0.0654149371 -0.001561115205 0.02611968681 0.01599979406 -0.002199366014 0.05000421837 -0.03932365026 0.0003298522745 -0.002294180716 0.0007174648845 0.001236366351 -0.02819540356 --0.02221462784 7.680098285e-05 -0.003083883888 -0.003073240235 -0.0005378401005 0.01131905569 -0.008461009265 -0.0001119622349 0.003573621872 0.003308371307 0.06328167989 0.001396777094 -0.002596135308 0.007351287886 0.01489281818 0.06192017993 -0.003440378172 0.0003336324831 -0.04213480251 -0.05049420539 -0.07006541456 -0.01201602038 -0.007680350016 0.06796100389 -0.1124739648 -0.101537272 -0.008818824623 -0.007184970943 0.03601608249 0.1549457484 --0.002464762455 0.002148797326 0.0009102427702 -0.0163007418 0.006923178854 0.0630820026 -0.006235319182 0.004811049048 -0.02787405615 -0.103542998 0.01846650383 0.0008538163445 -0.0009624173711 -0.001098296875 -0.02960471207 -0.03056566456 -0.003244645589 -0.002433688762 -0.01512975898 0.04860951579 -0.01819835668 -0.001364549246 -0.001188582749 0.004884795562 -0.03167999598 0.01310874521 0.001415537007 0.001054759319 -0.006663132655 -0.02255633695 -0.01072523852 0.0009357529963 0.0007608832896 -0.003835055852 -0.01700907714 -0.003482101463 --0.0004320692912 -0.0003059115517 0.002177381478 0.00479686821 -0.005190946102 -0.0004557470747 --0.0003695708889 0.001876834328 0.009512715891 -iw : 3 --0.04947507737 -0.01395733271 0.1164497875 0.0320106704 -0.06585741821 -0.03624641368 -0.03659643048 0.02411921628 -0.01401640496 -0.01801580539 0.006716384063 0.007838883575 --0.0003242146968 0.002293767631 -0.05220089842 -0.1546638753 0.0005365385203 -0.01221038802 --0.2216146171 -0.005586077077 0.1271263219 0.02871959105 -0.003483270119 0.07927125104 -0.1118065257 0.002223855726 -0.05060986357 0.004564237361 0.002874407717 -0.0654149371 --0.06493626163 -0.0007030493885 0.01599979406 -0.006225548931 -0.001727926507 0.03932365026 -0.03084613879 -3.15262338e-05 0.0007174648845 0.010989497 0.0009761363464 -0.02221462784 --0.01759723925 0.0001350417174 -0.003073240235 -0.005090371531 -0.0003717864971 0.008461009265 -0.004815893778 -0.0001453736476 0.003308371307 0.004654504927 0.01682040014 0.002596135308 -0.008229195193 -0.02983422952 -0.1872776373 0.09326644368 0.0003336324831 0.01282811099 -0.153964168 -0.2919384292 -0.00761502191 -0.007680350016 0.001290338096 0.1612600897 --0.02936514012 -0.07654790777 -0.007184970943 -0.006668930285 0.03061290334 0.1517695811 --0.02297247178 0.0009102427702 -0.002509448965 -0.06046453213 0.05710931167 0.04558481347 -0.004811049048 0.003391649266 -0.03032184276 -0.07718617024 0.02086726375 0.0009624173711 -0.001958071045 0.01428303537 -0.04456121291 -0.01936270198 -0.002433688762 -0.00142143914 -0.02174106026 0.03234869965 -0.01774015045 -0.001188582749 -0.001409896016 -0.003729648164 -0.03208600458 0.009094934678 0.001054759319 0.0005857696467 -0.008204670344 -0.01333077572 -0.008421967302 0.0007608832896 0.000700224088 -0.002695251855 -0.01593549669 -0.00126846508 --0.0003059115517 -9.990479495e-05 0.004751358291 0.002273604346 -0.004792180888 -0.0003695708889 --0.0003360737117 9.404694644e-05 0.007648268052 -ad : 13 0 -R : 0 0 0 -iw : 4 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0.3077382509 0 0 -0.3401131198 0 0 0.2965292282 0 0 -0.2106036853 0 0 0.1684140665 0 0 -0.1131428397 0 0 0.1019205148 0 0 -0.0611381405 0 0 0.06480534154 0 0 -0.0295606475 0 0 0.04222101471 0 0 -0.008651835175 0 0 0.03034646073 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 2 -ad : 9 2.716543093 -R : 0 1 0 -iw : 0 -0.04814390755 0.1073605145 0.01461046219 -0.03774035146 -0.01249612531 0.00587973299 --0.0004058561146 0.001953137704 0.002972948666 -9.672006068e-05 -0.003317808507 0.0001121716519 -0.0009574042463 0.06342905761 0.02062791912 0.1522584588 0.1434109693 0.04663903246 -0.01112911902 0.06067775246 0.01973316044 -0.0485180467 -0.02406929567 -0.007827634575 --0.007958870346 -0.01952125678 -0.006348555712 0.01161345815 0.001316807372 0.0004282421495 --0.0003964828808 -0.002780816932 -0.0009043562829 0.002286511727 -0.000874329107 -0.0002843427096 -0.0006088293907 0.004698308905 0.001527948542 -0.001007727441 0.003175002316 0.001032550277 --0.002991627635 -0.003103866976 -0.001009416179 0.001773921658 -0.001861286023 -0.0006053133848 -0.0005435337217 0.0005814676265 0.0001891005105 0.0004708702763 0.1082982981 0.0292574651 -0.1789958647 0.1071288854 0.05821168341 0.1454646654 0.06914525341 0.04578709538 -0.06182344661 0.01489053339 0.06515413052 0.04226067022 -0.05311747141 -0.003353925742 --0.01727446293 -0.007769188501 -0.0005163688738 -0.02316085422 -0.01203676942 -0.007532198107 --0.01136585216 -0.007315139221 0.008894082463 0.0004282092781 0.002892466334 -0.0003782443229 --5.942860158e-05 -0.0009039856171 -0.0004917275237 -0.0002939873758 -0.003252035227 -0.002167662899 -0.003031485466 0.0003277337257 0.0009858768107 -0.003887280846 -0.002638496951 0.003932800717 -0.0005221087131 0.00127899575 0.00295075412 0.001451301546 0.0006112869173 0.001120211328 -0.000198798115 0.003642935648 0.002707003072 -0.005213865797 -0.001133698332 -0.001695614061 --0.0005512612715 -0.0003424873341 0.0003511132595 -1.307490346e-05 0.0001141864028 -0.002054077531 --0.001235853483 0.001045476628 -0.0001595395864 0.0003400020138 -6.044651762e-05 -0.0002433947416 -0.001380819464 0.0005645662266 0.0004490596788 -iw : 1 --0.01171805561 -0.0969308704 -0.125119806 -0.006793877336 0.07572189204 0.03229698112 --0.03502136253 -0.02814155541 0.01174842588 0.01886399598 -0.002117983711 -0.009171399279 --0.00111233625 0.01983192719 -0.006425304855 -0.06802344015 -0.04783678799 -0.04070486127 --0.08895102083 -0.1575211344 -0.06147770693 0.033758347 -0.08726845648 -0.02366313759 -0.06550672706 0.05329179092 0.02323517205 -0.0004526080475 0.07524087001 0.02381269451 --0.04112257437 -0.006501087408 -0.004478025606 -0.007344086954 -0.04394843454 -0.01485527948 -0.01976005902 -0.009982691673 -0.002089247346 0.01027378284 0.02153979514 0.007283144387 --0.009674209367 0.009663140046 0.002911989559 -0.005939852903 -0.00684827614 -0.002547119363 -0.002033384378 -0.005973904533 -0.001763267402 0.003838573546 0.01505081391 0.006590001188 -0.02017917117 -0.04981811593 -0.02821756306 -0.02559091864 -0.02561470197 -0.100671246 --0.09656606919 -0.03983132603 -0.1118502913 -0.08222645348 -0.006582138886 -0.048090779 -0.007063847245 -0.09782439349 -0.06723920095 0.08917083667 0.01676475729 0.03467338781 -0.003753186871 0.004666205948 0.04621074646 0.02560358759 0.01138384499 0.06117675558 -0.04271279659 -0.04800296752 -0.002141990202 -0.01764279118 0.02251724002 0.01484096574 --0.03726588506 -0.01186168136 -0.01185773137 -0.02636809006 -0.01862866638 0.01396545832 --0.001828965266 0.006271142645 -0.02137566377 -0.01451971902 0.0279971466 0.005836846916 -0.008629414387 0.008061214415 0.005766070391 -0.003972360509 0.001451335501 -0.001485034115 -0.01217872079 0.008382917485 -0.01179150297 -0.001937576674 -0.004244260915 -0.0005695112612 --0.0004942929445 -0.002826253992 -0.001195961452 -0.0004247435126 -0.004994796727 -0.003438094919 -0.006029458011 0.0007940937804 0.001740413327 -iw : 2 --0.003810857555 -0.03152312568 -0.04069051846 -0.002209453482 0.02462570191 0.0105033803 --0.01138938305 -0.009151984136 0.003820734343 0.00613480632 -0.0006887946683 -0.002982653215 --0.0003617455954 -0.006425304855 0.03749959178 -0.02212206952 -0.04070486127 0.06408939335 --0.02892797927 -0.06147770693 0.011524153 0.01097863468 -0.02366313759 -0.02220191292 -0.02130360309 0.02323517205 -0.01059797553 -0.0001471937713 0.02381269451 0.009763089709 --0.01337357309 -0.004478025606 0.005812142274 -0.002388388499 -0.01485527948 -0.003100863672 -0.006426217175 -0.002089247346 -0.004237886997 0.003341162073 0.007283144387 0.00151332867 --0.003146173314 0.002911989559 0.001656040617 -0.001931714106 -0.002547119363 0.0001555394929 -0.000661281912 -0.001763267402 -0.001125447106 0.001248351901 -0.0245319285 0.04885913053 --0.02821756306 0.0007880073845 0.09776902117 -0.0708136209 0.0908769812 -0.03983132603 -0.004674786168 0.008852974913 -0.07736131317 0.03832619092 0.007063847245 0.008023677134 --0.02600560387 -0.03114439639 -0.02292958837 0.03467338781 0.005065679072 -0.006170598478 -0.01748778415 -0.02430733029 0.01138384499 -0.001065267504 0.0149085811 0.02465543306 -0.006334055873 -0.01764279118 -0.003444783732 0.000509425925 0.002201058849 0.01295757543 --0.01185773137 -0.0009004777171 -0.004660674033 -0.01233534848 -8.893606672e-05 0.006271142645 -0.001576102495 -0.003278306354 -0.005456161857 -0.007096112531 0.008629414387 0.001034805215 -0.004268840713 0.004325000969 -0.0008290084 -0.001485034115 -0.0005114624349 0.0001110386829 -0.003970234905 0.002711046996 -0.004244260915 -0.0006356454274 -0.000121056198 -0.0009843186103 -0.001107863552 -0.0004247435126 7.242277692e-05 -0.001658336502 -0.001628647146 -0.00111132124 -0.001740413327 0.000260718552 0.001243842447 -iw : 3 --0.05709567999 -0.07348724824 0.05041384136 0.04438076441 -0.01968916856 -0.03170806244 -0.009238224415 0.0167031347 0.0003865063863 -0.01114879596 -0.0002871974084 0.003542549186 -0.002156504382 -0.06802344015 -0.02212206952 0.1136837916 -0.08895102083 -0.02892797927 -0.1997753454 0.033758347 0.01097863468 0.04591072863 0.06550672706 0.02130360309 --0.06224152216 -0.0004526080475 -0.0001471937713 -0.03607901312 -0.04112257437 -0.01337357309 -0.02489762067 -0.007344086954 -0.002388388499 0.01826219333 0.01976005902 0.006426217175 --0.006563022932 0.01027378284 0.003341162073 -0.01232832479 -0.009674209367 -0.003146173314 -0.00319691803 -0.005939852903 -0.001931714106 0.004431111665 0.002033384378 0.000661281912 -0.0009362943018 0.003838573546 0.001248351901 -0.003051193528 -0.08744616455 -0.02821756306 -0.1484953624 -0.07387134992 0.04829254037 -0.03797505401 -0.03983132603 0.2840091196 -0.04374949799 0.09236330114 0.04791429956 0.007063847245 0.1345077489 0.06356653626 -0.04374359435 0.06010603118 0.03467338781 -0.05645910296 0.008765264695 -0.0183612031 -0.00161323045 0.01138384499 -0.07551450548 -0.02850796826 -0.02455825721 -0.03171687163 --0.01764279118 0.01061803628 -0.006422839673 0.003453117574 -0.01410213689 -0.01185773137 -0.03668093815 0.008179593442 0.01192909771 0.01413724102 0.006271142645 0.003568994465 -0.007242655057 0.001160681428 0.01091681362 0.008629414387 -0.01876980636 -0.004819830047 --0.006104174683 -0.003386336698 -0.001485034115 -0.003731679403 -0.001781908021 -0.001213588595 --0.006898961537 -0.004244260915 0.006586200344 -0.0002789051309 0.002141914339 0.0006759971221 --0.0004247435126 0.003499786457 0.002338778851 0.001138174122 0.002139714705 0.001740413327 --0.0026995088 -0.001079520982 -0.0008779138663 -ad : 10 4.049413304 -R : 0 1 0 -iw : 4 -0.1023110375 0.03704181747 -0.07193986084 0.03187772742 -9.227895987e-05 -0.007431077373 -0.002088376662 0.005807946379 -0.00765245759 0.004868643237 -0.002805791763 0.001522834621 --0.001487727617 0.1098926241 -0.06524685637 -0.01656792413 0.04793829072 -0.02846253599 --0.09335209685 -0.05745826436 0.03411485668 0.07164179997 0.01572130485 -0.009334254486 --0.01893744454 0.008772851262 -0.00520872962 -0.006894004072 -0.008138978873 0.004832378786 -0.004167623059 -8.194538783e-05 4.865366528e-05 0.005679159453 0.004949575263 -0.002938725223 --0.01031564538 -0.005683216437 0.003374312057 0.01018138815 0.00271099753 -0.001609608178 --0.006210142208 -0.000284924515 0.0001691690326 0.003081504326 0.0006936530339 -0.0004118445641 --0.00344924102 -0.001017306605 0.0006040083076 0.003706205887 0.08797509346 -0.07673427718 --0.03927722101 0.06869657023 0.02332017475 -0.01165766054 -0.0422784545 -0.1084324119 --0.06629743466 0.0643798805 -0.004946138937 0.03197507598 0.06214171617 0.02630270322 --0.03689557568 0.0006519125417 -0.002892123318 -0.005325442253 -0.002024791427 0.003161889787 -0.004097668515 -0.008728329701 -0.01299721584 -0.002421104632 0.007716873464 -0.004816908184 -0.005795722238 0.005604915398 -0.002022741119 -0.003327822162 0.00347207012 0.001444036708 -0.0081404583 0.007588562128 -0.004833257171 -0.002367712013 -0.003891745986 -0.01184991339 --0.008345049567 0.00703568236 0.001847936792 0.002389932334 0.007845652575 0.005807004917 --0.004658221339 -0.001787704086 -0.0008593254148 -0.004442314929 -0.004033511428 0.00263754812 -0.001913947589 -0.0003421113141 0.00202135936 0.002941973018 -0.00120014737 -0.001781966777 -0.0002507914596 -0.002028720975 -0.002812962267 0.001204518202 0.001535252269 0.0008365897172 -0.004028660533 0.003571458175 -0.002391947933 -ad : 14 0 -R : 0 0 0 -iw : 5 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0.3077382509 0 0 -0.3401131198 0 0 0.2965292282 0 0 -0.2106036853 0 0 0.1684140665 0 0 -0.1131428397 0 0 0.1019205148 0 0 -0.0611381405 0 0 0.06480534154 0 0 -0.0295606475 0 0 0.04222101471 0 0 -0.008651835175 0 0 0.03034646073 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/dphialpha_z_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/dphialpha_z_ref.dat deleted file mode 100644 index 7871e02659..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/dphialpha_z_ref.dat +++ /dev/null @@ -1,399 +0,0 @@ -iat : 0 -ad : 5 2.716543093 -R : 0 -1 0 -iw : 5 --0.1143630443 -0.1945255304 -0.01815625071 0.05445655673 0.02583625196 -0.01936182468 --0.0103088065 0.001632968268 0.009244436302 -0.002033376667 -0.001971088835 -0.002390192411 -0.003248496914 -0.07342568988 0.04246117647 -0.0662298409 0.171838471 0.07609472985 --0.1186905844 0.1020502276 0.0304390596 -0.04747805505 -0.01979815127 -0.0131056195 -0.02044180511 -0.05162112528 -0.01531614446 0.02388972456 0.005421684166 0.00194932561 --0.003040507487 0.01525518617 0.006226423124 -0.009711813169 0.00722623328 0.001034933717 --0.001614262748 -0.01146859063 -0.003118532244 0.004864205647 0.0002258025366 -0.000521727661 -0.0008137772631 0.0001589718625 0.0008172124293 -0.001274666735 0.003924363771 0.0006433477543 --0.001003477128 -0.003176227051 -0.0005385032696 0.0008399434221 0.1735595486 0.01749068469 --0.02728151598 0.01238054137 0.02695360956 -0.02450926727 -0.07102196396 0.1107782159 -0.02528842689 0.05505529722 -0.07669394717 -0.06003158056 0.09363570112 0.01515722263 -0.0329987073 -0.02801748046 -0.006656193422 0.01038215773 -0.0004869676855 -0.001060174711 -0.02976838481 0.0215856371 -0.03366871646 -0.005206680382 -0.01133543566 0.01118988716 -0.007185014949 -0.01120699982 -0.00159079092 -0.003463302297 -0.002568256317 -0.00473671333 -0.007388202501 0.001582868979 0.003446055482 -0.01265199367 -0.006806514947 0.01061662534 -0.001279102061 0.002784726169 0.003779628169 0.00197431063 -0.003079478474 -0.0003588259686 --0.0007811980729 0.001980296236 0.002361951616 -0.003684110821 -0.0007115786819 -0.001549174095 -0.003589409827 0.001252677902 -0.001953894476 -9.534501792e-05 -0.0002075751221 -0.004779375909 --0.002347425026 0.003661452623 0.0003949303878 0.0008598008083 0.001070956975 -7.856286058e-05 -0.0001225403107 0.0001499458609 0.0003264463217 -ad : 8 2.795323233 -R : 0 0 0 -iw : 4 -0.00467177276 0.007575807814 0.0001676919568 -0.002258125536 -0.0007406342543 0.0009064270106 -0.0002620253035 -0.0001645033004 -0.0003073810585 0.0001547044193 4.910158919e-05 5.913662699e-05 --0.0001195452555 -0.1985841872 -0.005010105653 -0.003942310026 -0.05269010691 -0.008565955686 --0.006740307555 0.01190846981 -0.002851713856 -0.002243932745 0.01867851263 0.001805677059 -0.001420836059 -0.006335278982 0.001551668389 0.001220963842 -0.0001825650053 -0.0004737171928 --0.000372754622 -0.003127059462 -0.0006732198217 -0.0005297375818 0.004088104191 3.050188514e-05 -2.400106823e-05 -0.002291827314 0.0003870818181 0.0003045837031 0.001811301069 -2.296112639e-05 --1.806745906e-05 -0.002225239828 -0.0001343187941 -0.0001056916491 0.002009002424 -4.152329003e-05 --3.267349911e-05 -0.001611840518 0.0001007502057 7.927747904e-05 -0.01283291207 0.198546094 -0.1562302896 0.001121259524 0.004633460046 -0.01026071642 0.09613583798 0.07564656401 -0.002187684842 0.009040324826 -0.00325438087 0.007375980322 0.005803949695 0.001170527017 -0.004837051591 0.001688754888 -0.02472101444 -0.01945226505 -0.0001765620477 -0.0007296198392 -0.00108075336 0.0004092246762 0.00032200729 -0.0004476723232 -0.001849948009 4.753942828e-05 -0.001578811995 0.001242322376 -5.187739997e-05 -0.0002143766496 -0.0006607187141 0.005084201629 -0.004000614048 0.0001636842244 0.0006764038991 5.570662253e-05 -0.004334298614 -0.003410536636 -6.67376297e-05 0.0002757846281 6.693992506e-05 0.001527462194 0.001201916674 -5.87031561e-05 --0.0002425832045 0.0001864593075 -0.001709627862 -0.001345257671 -4.052549443e-05 -0.0001674663673 --0.0001480451459 0.002439696121 0.001919727675 9.858684424e-06 4.073973903e-05 4.522876482e-05 --0.002064522051 -0.001624513841 2.419090344e-05 9.996578148e-05 -9.392621005e-05 0.001584997738 -0.001247189761 5.48871237e-06 2.268139439e-05 -ad : 13 0 -R : 0 0 0 -iw : 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 -0.2846209031 0 0 -0.417622686 0 -0 -0.3779946587 0 0 -0.2568325753 0 -0 -0.1356056091 0 0 -0.03886562428 0 -0 0.02055185268 0 0 0.0565302244 0 -0 0.06614616672 0 0 0.06635081072 0 -0 0.05336765123 0 0 0.04335800633 0 -0 0.0279082478 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 1 -0.08010138007 0.3044588881 0.4494156118 0.5063041764 0.4943778793 0.4624871691 -0.4079404948 0.3591758497 0.2958949735 0.2475786472 0.1856938757 0.1448990875 -0.09127204244 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 -0.2536522512 0 -0 0 0 -0.3989214173 0 0 -0 0 -0.4568566589 0 0 0 -0 -0.4456939523 0 0 0 0 --0.4180637449 0 0 0 0 -0.3675814951 -0 0 0 0 -0.3243949887 0 -0 0 0 -0.2664846326 0 0 -0 0 -0.2236272991 0 0 0 -0 -0.1672802216 0 0 0 0 --0.1311100529 0 0 0 0 -0.08222552798 -0 0 0 0 -0.0634297376 0 -0 0 0 -iw : 2 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 -0.2196692933 -0 0 0 0 -0.3454760815 0 -0 0 0 -0.3956494725 0 0 -0 0 -0.385982285 0 0 0 -0 -0.3620538235 0 0 0 0 --0.3183349127 0 0 0 0 -0.2809343011 -0 0 0 0 -0.2307824615 0 -0 0 0 -0.193666922 0 0 -0 0 -0.1448689215 0 0 0 -0 -0.1135446365 0 0 0 0 --0.07120939607 0 0 0 0 -0.05493176412 -0 0 0 -iw : 3 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 --0.2196692933 0 0 0 0 -0.3454760815 -0 0 0 0 -0.3956494725 0 -0 0 0 -0.385982285 0 0 -0 0 -0.3620538235 0 0 0 -0 -0.3183349127 0 0 0 0 --0.2809343011 0 0 0 0 -0.2307824615 -0 0 0 0 -0.193666922 0 -0 0 0 -0.1448689215 0 0 -0 0 -0.1135446365 0 0 0 -0 -0.07120939607 0 0 0 0 --0.05493176412 0 0 -iat : 1 -ad : 2 4.049413304 -R : 0 -1 0 -iw : 5 --0.08526146518 -0.03086900208 0.05995147823 -0.02656547927 7.690117814e-05 0.006192729152 --0.001740360164 -0.004840084021 0.006377217572 -0.004057310588 0.00233822198 -0.001269062597 -0.001239805982 -0.02372009615 -0.05437382619 -0.1098926241 0.07577731561 -0.02371941073 --0.04793829072 -0.05057687648 0.02842980323 0.05745826436 0.01317381614 -0.007778752254 --0.01572130485 0.003677766291 -0.004340723443 -0.008772851262 -0.001183770881 0.004027089408 -0.008138978873 -0.005649117241 4.054579924e-05 8.194538783e-05 0.008501068741 -0.002449002809 --0.004949575263 -0.00809784941 0.00281200149 0.005683216437 0.005216256364 -0.001341375818 --0.00271099753 -0.00297704741 0.0001409779426 0.000284924515 0.00319493908 -0.00034321293 --0.0006936530339 -0.003333248471 0.0005033536413 0.001017306605 0.1272693544 -0.004811577861 --0.00972447507 0.05855849399 -0.07673427718 -0.0300966079 0.04888006651 0.09878942043 -0.03226410302 -0.0422784545 -0.0001766214896 -0.02517311004 -0.05087630049 -0.02440125018 -0.03197507598 0.000356880564 0.002101600947 0.004247456158 0.002207076058 -0.002892123318 -0.004627512239 0.004516957848 0.009129031111 0.006660880393 -0.008728329701 -0.006566160089 --0.001203037383 -0.002431407612 -0.00442290953 0.005795722238 0.006151261147 -0.004303855123 --0.008698338271 -0.001101992721 0.001444036708 -0.004928160997 0.005608919259 0.01133594781 -0.002969921556 -0.003891745986 0.003682945343 -0.003782042041 -0.007643724076 -0.001823837317 -0.002389932334 -0.003196389838 0.002322508598 0.004693923203 0.000655779972 -0.0008593254148 -0.003103684385 -0.001325569688 -0.002679052434 0.0002610765888 -0.0003421113141 -0.00290675009 -0.001296461511 0.002620223137 -0.0001913873528 0.0002507914596 0.002769889511 -0.002085243605 --0.004214397031 -0.0006384296005 0.0008365897172 -ad : 5 2.795323233 -R : 0 0 0 -iw : 0 --0.003880742633 -0.008226409424 -0.0004510150494 0.003077319118 0.0006914753115 -0.0005425321706 -4.415749912e-05 -0.0002133948698 -0.0001753285663 0.00010937395 0.0002390969873 -9.443175126e-05 --7.28822137e-05 -0.1792565592 -0.004797313098 -0.0037748696 -0.07244935089 -0.0103509364 --0.008144858248 0.02215198969 -0.003639000451 -0.002863426234 0.01801212277 0.002144946259 -0.00168779737 -0.003186455633 0.00126162124 0.0009927339674 -0.0001148450837 -0.0001844048761 --0.0001451029663 -0.001095942348 0.0001960974826 0.0001543035468 -0.0001596167574 -6.890000606e-05 --5.421546041e-05 -0.0009845874444 -0.0003593652867 -0.0002827743506 0.001557082127 -9.160661604e-05 --7.208264774e-05 -0.0004845034419 0.0002822736441 0.0002221131239 0.0002964623952 5.256256975e-05 -4.135999519e-05 -0.0006949091523 -8.066054844e-05 -6.346949762e-05 0.01339643867 -0.2050434028 --0.1613428376 -0.001216303785 -0.005026218168 0.01331010897 -0.1290073528 -0.1015122266 --0.002749158066 -0.01136054034 0.003825587653 -0.002875738537 -0.002262837084 -0.00149547318 --0.006179849608 -0.001514574027 0.0220674292 0.01736423409 0.0001604920422 0.0006632126188 --0.0007427772524 0.0006891928733 0.0005423063229 0.0002876634997 0.001188732229 -3.670175975e-05 -0.0009476693034 0.0007456940941 -4.625772617e-06 -1.91154074e-05 -0.0002334417066 -0.0002140253252 --0.0001684104575 9.928748234e-05 0.0004102926866 -0.000143011124 -0.0003197289537 -0.0002515856445 -6.471490913e-05 0.0002674259968 0.00034647391 -0.002260712899 -0.001778890855 -9.419380028e-05 --0.000389243704 0.0001273947965 0.001492165609 0.001174142792 -8.254503357e-05 -0.0003411066813 --0.0001193593119 -1.631835528e-05 -1.28404509e-05 4.884584074e-05 0.0002018491229 -0.0001301920438 -0.0005645743938 0.0004442475763 4.126982527e-05 0.0001705422183 6.599308793e-05 -0.0009488599111 --0.0007466309496 -7.254092605e-06 -2.997660001e-05 -iw : 1 -0.06207731958 0.1148292053 0.003368952732 -0.04083379884 -0.01260323027 0.0173409845 -0.00545127118 -0.004328456599 -0.005102461293 0.002934730769 0.0009609788315 0.0004083046416 --0.001556812249 -0.00951191795 0.07211496006 0.05674521652 -0.01774179221 0.134332835 -0.1057026975 -0.005949810357 0.04477618144 0.0352331071 0.004147044291 -0.03155856471 --0.02483253941 0.003707300508 -0.02795932076 -0.02200039644 -0.001135519845 0.008732175102 -0.006871100899 -0.001572218987 0.01186853767 0.009339015637 -2.685718591e-06 -6.155000104e-05 --4.843194995e-05 0.0008724268072 -0.006605840439 -0.005197948466 -1.28521223e-05 0.0001435676729 -0.0001129693295 -0.0002240167781 0.001702223374 0.00133943129 -0.0001529581481 0.001140272111 -0.0008972477803 0.0001720956327 -0.001309671471 -0.001030543332 -0.1906509021 -0.01178880906 --0.009276279462 0.01701668817 0.07031926425 -0.1640425776 -0.02392970178 -0.01882960356 -0.03449707816 0.1425547163 -0.05244084999 -0.01394179111 -0.01097039996 0.02002747891 -0.0827609678 0.02738707207 0.001955804832 0.001538967346 -0.002884038044 -0.01191791442 -0.02288125741 0.006139849628 0.004831273515 -0.008842220082 -0.03653933152 -0.0003273413264 -0.0007353435792 0.0005786210044 -0.001016582714 -0.004200896661 -0.01154683759 -0.002289631111 --0.001801645776 0.003309119474 0.01367450848 -0.0004843986754 -0.0009322962965 -0.000733597511 -0.001321921463 0.00546266957 0.002759482132 0.0009075527129 0.000714127487 -0.001318933963 --0.005450324112 0.002443969522 0.0004617198186 0.0003633142285 -0.0006560355935 -0.002710982289 --0.002104780077 -0.0001956731887 -0.0001539696819 0.0002889235864 0.001193939374 0.0001167774654 --0.0002671857245 -0.0002102408679 0.0003823775035 0.001580125606 -0.0004909964673 8.735911411e-05 -6.874040894e-05 -0.0001292620357 -0.000534158654 -iw : 2 -0.0008971558933 0.007181086781 0.008529917698 -0.0006281201034 -0.005585627699 -0.001345880909 -0.002993383456 0.001408907747 -0.001361075533 -0.001073624419 0.0005465528475 0.0005871188148 --0.0001339106472 0.07211496006 -0.001753866119 0.001115536614 0.134332835 0.002774392365 -0.006840998259 0.04477618144 0.01024662283 0.009629554227 -0.03155856471 0.004776838011 -0.002672747002 -0.02795932076 -0.004353983213 -0.004401251911 0.008732175102 -0.004411163582 --0.003175228516 0.01186853767 0.001458597676 0.001561115205 -6.155000104e-05 0.002792377918 -0.002199366014 -0.006605840439 -0.0001281135828 -0.0003298522745 0.0001435676729 -0.001574511608 --0.001236366351 0.001702223374 -0.0001722128563 -7.680098285e-05 0.001140272111 0.0006320882953 -0.0005378401005 -0.001309671471 0.0001995612196 0.0001119622349 -0.003274846206 -0.03982745933 -0.07031926425 -0.003520473717 -0.001396777094 -0.01037179505 0.1119103007 0.1425547163 --0.005631592596 0.003440378172 -0.01198416624 0.1020306669 0.0827609678 -0.0008649548426 -0.01201602038 -0.004552721505 0.002483971951 -0.01191791442 0.002656376883 0.008818824623 -0.003412528954 -0.04528254947 -0.03653933152 0.001139410796 -0.002148797326 0.003956338574 --0.007767136539 -0.004200896661 -0.001306192965 -0.006235319182 -0.0002903354281 0.01436276385 -0.01367450848 -0.0008243336472 -0.0008538163445 -0.00225007654 0.009312448805 0.00546266957 -0.0005312705284 0.003244645589 -0.0004938691214 -0.007320671988 -0.005450324112 0.0005743765055 -0.001364549246 0.00100077815 -0.002713197791 -0.002710982289 -0.0002169262812 -0.001415537007 -0.0004872082212 0.0003044323834 0.001193939374 -0.0002786617974 -0.0009357529963 -0.0003494199635 -0.002916239895 0.001580125606 3.211949587e-05 0.0004320692912 -0.0002400527472 -0.001376922566 --0.000534158654 0.0001335739388 0.0004557470747 -iw : 3 -0.0007059465245 0.005650593495 0.006711950285 -0.0004942498927 -0.004395171999 -0.001059035511 -0.002355408534 0.001108629542 -0.00107099173 -0.0008448046016 0.0004300669327 0.0004619871417 --0.0001053704899 0.05674521652 0.001115536614 -0.002293767635 0.1057026975 0.006840998259 --0.0005365391533 0.0352331071 0.009629554227 0.005586075733 -0.02483253941 0.002672747002 -0.003483272079 -0.02200039644 -0.004401251911 -0.002223849113 0.006871100899 -0.003175228516 --0.002874404798 0.009339015637 0.001561115205 0.0007030433928 -4.843194995e-05 0.002199366014 -0.001727920659 -0.005197948466 -0.0003298522745 3.152953512e-05 0.0001129693295 -0.001236366351 --0.0009761304709 0.00133943129 -7.680098285e-05 -0.0001350424339 0.0008972477803 0.0005378401005 -0.0003717824638 -0.001030543332 0.0001119622349 0.000145373325 -0.002576883588 0.07031926425 --0.07386083567 0.003416209068 -0.002596135332 -0.00816127133 0.1425547163 0.04291614436 -0.00813424514 -0.0003336331912 -0.009430000483 0.0827609678 0.06197570909 0.006653180394 -0.007680348547 -0.003582407414 -0.01191791442 0.008252048039 0.001074945623 0.007184972908 -0.002685222237 -0.03653933152 -0.0275981093 -0.002329129497 -0.0009102346985 0.003113130602 --0.004200896661 -0.005733971111 -0.001421839813 -0.004811042878 -0.000228456713 0.01367450848 -0.007744524899 0.0005521307968 -0.0009624217509 -0.001770521406 0.00546266957 0.00666860588 -0.0009116100693 0.002433680063 -0.000388611603 -0.005450324112 -0.004682804062 -2.26732816e-05 -0.001188582618 0.0007874839387 -0.002710982289 -0.001401126604 -0.0004148890437 -0.001054752502 -0.0003833703296 0.001193939374 -0.0002734147895 -0.0001177664254 -0.0007608807844 -0.000274948658 -0.001580125606 0.002151484888 0.000166085114 0.0003059079096 -0.0001888906976 -0.000534158654 --0.001118398494 5.983838032e-05 0.0003695687299 -ad : 13 0 -R : 0 0 0 -iw : 4 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 -0.3077382509 0 0 -0.3401131198 0 -0 -0.2965292282 0 0 -0.2106036853 0 -0 -0.1684140665 0 0 -0.1131428397 0 -0 -0.1019205148 0 0 -0.0611381405 0 -0 -0.06480534154 0 0 -0.0295606475 0 -0 -0.04222101471 0 0 -0.008651835175 0 -0 -0.03034646073 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 2 -ad : 9 2.716543093 -R : 0 1 0 -iw : 0 -0.09491011217 0.211648763 0.02880282627 -0.0744007118 -0.02463465712 0.01159120948 --0.0008000981085 0.003850383735 0.005860822391 -0.0001906723462 -0.006540673444 0.0002211333605 -0.001887411077 -0.05939034457 0.04066554248 -0.06342905761 0.1988425689 0.09194342603 --0.1434109693 0.1373579043 0.03890162984 -0.06067775246 -0.02728160437 -0.01543127082 -0.02406929567 -0.04019503217 -0.01251543893 0.01952125678 0.002324454415 0.0008442295715 --0.001316807372 -0.006357977303 -0.00178283319 0.002780816932 -0.001888957119 -0.0005605485685 -0.000874329107 0.007886642323 0.003012172774 -0.004698308905 0.007640230169 0.002035552733 --0.003175002316 -0.006318373111 -0.00198994655 0.003103866976 -0.00326869045 -0.00119330491 -0.001861286023 0.0003804714277 0.0003727896545 -0.0005814676265 -0.1755746365 -0.01537507643 -0.02398164513 -0.01343876619 -0.0292574651 0.02065772522 0.08634681014 -0.1346815132 --0.03176033504 -0.06914525341 0.1062741867 0.07914939689 -0.1234551748 -0.0194114994 --0.04226067022 0.0261947513 0.006776169161 -0.01056929277 0.0002371825632 0.0005163688738 --0.01804881997 -0.01360274977 0.021217216 0.003360046584 0.007315139221 0.0009806371234 -0.0002069764321 -0.0003228364663 2.729720703e-05 5.942860158e-05 -0.005805520733 -0.0041596078 -0.006488048276 0.0009956677649 0.002167662899 -0.007346948376 -0.005142086983 0.008020493803 -0.00121193492 0.002638496951 0.0008374407173 0.001926089798 -0.003004264872 -0.0006666231027 --0.001451301546 0.008899043378 0.005659006867 -0.008826772021 -0.001243401684 -0.002707003072 --0.0007696269777 -0.0006156309154 0.0009602451219 0.0001573139434 0.0003424873341 -0.002521401975 --0.002149446878 0.003352651446 0.0005676618243 0.001235853483 -0.001853255591 -0.0008054201786 -0.001256273488 0.0001117979638 0.0002433947416 -iw : 1 -0.03993897345 -0.0684317316 -0.2336049667 -0.05432785492 0.1305555378 0.07899490298 --0.06051390184 -0.05790590962 0.01681466604 0.03876805755 -0.002813797005 -0.01697063071 --0.003785104489 0.1951872648 0.01271461546 -0.01983192716 0.210578152 -0.03066905481 -0.04783679562 -0.1862686199 -0.1009897262 0.1575211536 -0.2292347668 -0.05594941132 -0.08726843949 0.03348054488 0.03416640664 -0.05329187422 0.1562889241 0.04823835144 --0.07524092846 0.0158414527 -0.004168003939 0.006501144355 -0.07981758464 -0.02817621386 -0.04394852701 -0.03370977327 -0.006400082836 0.009982683081 0.03909149955 0.01380961229 --0.0215398748 0.02184537064 0.006195232899 -0.009663163466 -0.009621487032 -0.004390584868 -0.006848320311 -0.01395340736 -0.003829997045 0.005973929975 0.1026264094 0.07997698185 --0.1247460203 -0.003026970509 -0.0065900011 0.3415473772 0.09175576512 -0.1431182607 -0.0117655453 0.02561470495 0.08579626767 -0.06880064645 0.1073134625 0.03776889686 -0.08222646079 -0.1771716838 -0.1340778385 0.2091311322 0.03088482974 0.06723919555 --0.1141368705 -0.02783095198 0.0434099965 -0.002143333734 -0.004666240264 0.08161317316 -0.07336800706 -0.114437513 -0.01961918988 -0.04271283204 0.07951103738 0.04091631811 --0.06382021092 -0.006816863991 -0.01484095768 -0.02074003754 -0.02816503857 0.04393109607 -0.008556682722 0.01862870761 -0.05381196095 -0.03202822327 0.0499567913 0.006669317337 -0.01451973465 0.003834727704 0.007489704686 -0.01168224696 -0.002648528049 -0.00576609607 -0.02249134944 0.01650426394 -0.02574292249 -0.003850516924 -0.008382939542 0.005967193536 -0.0008445754674 -0.001317346891 0.000227046634 0.0004943019973 -0.01060099702 -0.006768123687 -0.01055674365 0.001579218964 0.003438109053 -iw : 2 --0.007512662275 -0.06214417456 -0.08021662279 -0.00435568047 0.0485467061 0.0207061922 --0.02245284353 -0.01804207189 0.007532133214 0.01209405687 -0.001357878547 -0.005879953779 --0.0007131393521 0.01271461546 0.07392608211 0.006425304855 -0.03066905481 0.1263447822 -0.04070486127 -0.1009897262 0.02271852681 0.06147770693 -0.05594941132 -0.04376848812 -0.02366313759 0.03416640664 -0.02089267568 -0.02323517205 0.04823835144 0.01924679542 --0.02381269451 -0.004168003939 0.01145796225 0.004478025606 -0.02817621386 -0.006112991942 -0.01485527948 -0.006400082836 -0.008354501135 0.002089247346 0.01380961229 0.002983351396 --0.007283144387 0.006195232899 0.003264691395 -0.002911989559 -0.004390584868 0.0003066280132 -0.002547119363 -0.003829997045 -0.002218688022 0.001763267402 0.009649354994 -0.02623311179 --0.0065900011 0.0350462455 -0.04885913053 -0.01640682165 0.1242023501 0.02561470495 -0.0803418819 -0.0908769812 -0.07170931634 0.08211996552 0.08222646079 0.06246736566 --0.03832619092 -0.06271701033 -0.02740120148 0.06723919555 0.009224608321 0.02292958837 -0.002406354723 -0.05049756842 -0.004666240264 -0.02061496799 0.02430733029 0.03922167102 -0.008764428153 -0.04271283204 -0.01220864121 -0.006334055873 0.01443619166 0.02363219341 --0.01484095768 0.004054353398 -0.01295757543 -0.01690521124 0.003148092772 0.01862870761 -0.007386707561 8.893606672e-05 -0.01370438695 -0.01465844154 0.01451973465 0.0003378547825 -0.007096112531 0.005168281404 -0.001324811199 -0.00576609607 -0.002947004784 0.0008290084 -0.007808078559 0.004090369817 -0.008382939542 -0.001263942265 -0.002711046996 -0.0003651551187 -0.003280388016 0.0004943019973 0.001052281326 -0.001107863552 -0.003202304864 -0.002870956451 -0.003438109053 0.0005188165011 0.00111132124 -iw : 3 -0.01171805561 0.0969308704 0.125119806 0.006793877336 -0.07572189204 -0.03229698112 -0.03502136253 0.02814155541 -0.01174842588 -0.01886399598 0.002117983711 0.009171399279 -0.00111233625 -0.01983192716 0.006425304855 0.06802344021 0.04783679562 0.04070486127 -0.08895103587 0.1575211536 0.06147770693 -0.03375830923 0.08726843949 0.02366313759 --0.06550676055 -0.05329187422 -0.02323517205 0.000452443833 -0.07524092846 -0.02381269451 -0.04112245914 0.006501144355 0.004478025606 0.007344199219 0.04394852701 0.01485527948 --0.01975987673 0.009982683081 0.002089247346 -0.01027379978 -0.0215398748 -0.007283144387 -0.009674052333 -0.009663163466 -0.002911989559 0.005939806735 0.006848320311 0.002547119363 --0.0020332973 0.005973929975 0.001763267402 -0.003838523389 -0.01505081345 -0.0065900011 --0.02017917078 0.0498181162 0.02821756324 0.02559093454 0.02561470495 0.1006712595 -0.09656607837 0.03983133192 0.1118503303 0.08222646079 0.00658217181 0.04809080148 --0.007063832828 0.09782436477 0.06723919555 -0.08917086095 -0.01676477388 -0.03467339844 --0.003753369636 -0.004666240264 -0.04621090096 -0.02560369311 -0.01138391264 -0.06117694439 --0.04271283204 0.04800280792 0.002141881194 0.0176427213 -0.02251719704 -0.01484095768 -0.03726592139 0.01186170618 0.01185774728 0.02636830968 0.01862870761 -0.01396527267 -0.001829092063 -0.006271061353 0.02137574704 0.01451973465 -0.02799707621 -0.005836798839 --0.008629383564 -0.008061351181 -0.00576609607 0.003972244898 -0.001451414463 0.001484983491 --0.01217883826 -0.008382939542 0.01179140367 0.00193750885 0.004244217432 0.0005695594758 -0.0004943019973 0.002826294748 0.001195989289 0.0004247613592 0.004994872004 0.003438109053 --0.006029394378 -0.0007940503188 -0.001740385463 -ad : 10 4.049413304 -R : 0 1 0 -iw : 4 -0.08526146518 0.03086900208 -0.05995147823 0.02656547927 -7.690117814e-05 -0.006192729152 -0.001740360164 0.004840084021 -0.006377217572 0.004057310588 -0.00233822198 0.001269062597 --0.001239805982 -0.02372009615 -0.05437382619 -0.1098926241 0.07577731561 -0.02371941073 --0.04793829072 -0.05057687648 0.02842980323 0.05745826436 0.01317381614 -0.007778752254 --0.01572130485 0.003677766291 -0.004340723443 -0.008772851262 -0.001183770881 0.004027089408 -0.008138978873 -0.005649117241 4.054579924e-05 8.194538783e-05 0.008501068741 -0.002449002809 --0.004949575263 -0.00809784941 0.00281200149 0.005683216437 0.005216256364 -0.001341375818 --0.00271099753 -0.00297704741 0.0001409779426 0.000284924515 0.00319493908 -0.00034321293 --0.0006936530339 -0.003333248471 0.0005033536413 0.001017306605 -0.1272693544 0.004811577861 -0.00972447507 -0.05855849399 0.07673427718 0.0300966079 -0.04888006651 -0.09878942043 --0.03226410302 0.0422784545 0.0001766214896 0.02517311004 0.05087630049 0.02440125018 --0.03197507598 -0.000356880564 -0.002101600947 -0.004247456158 -0.002207076058 0.002892123318 --0.004627512239 -0.004516957848 -0.009129031111 -0.006660880393 0.008728329701 0.006566160089 -0.001203037383 0.002431407612 0.00442290953 -0.005795722238 -0.006151261147 0.004303855123 -0.008698338271 0.001101992721 -0.001444036708 0.004928160997 -0.005608919259 -0.01133594781 --0.002969921556 0.003891745986 -0.003682945343 0.003782042041 0.007643724076 0.001823837317 --0.002389932334 0.003196389838 -0.002322508598 -0.004693923203 -0.000655779972 0.0008593254148 --0.003103684385 0.001325569688 0.002679052434 -0.0002610765888 0.0003421113141 0.00290675009 --0.001296461511 -0.002620223137 0.0001913873528 -0.0002507914596 -0.002769889511 0.002085243605 -0.004214397031 0.0006384296005 -0.0008365897172 -ad : 14 0 -R : 0 0 0 -iw : 5 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 -0.3077382509 0 0 -0.3401131198 0 -0 -0.2965292282 0 0 -0.2106036853 0 -0 -0.1684140665 0 0 -0.1131428397 0 -0 -0.1019205148 0 0 -0.0611381405 0 -0 -0.06480534154 0 0 -0.0295606475 0 -0 -0.04222101471 0 0 -0.008651835175 0 -0 -0.03034646073 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/gdmepsl_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/gdmepsl_ref.dat deleted file mode 100644 index 00fdeb456f..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/gdmepsl_ref.dat +++ /dev/null @@ -1,3510 +0,0 @@ -0.1255502071 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04094690846 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001882323965 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01101489697 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001740754221 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006272641514 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.272637793e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.250781725e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002223871639 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.518323797e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.478868527e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.40617047e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.359381061e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0187763254 -0.005595512172 -0.01834760962 0 0 --0.07480244072 -0.2223565667 -0.1113731892 0 0 --0.01708198282 0.2039941904 0.166667565 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01050189809 -0.01140521684 -0.01650375629 0 0 --0.01301676308 0.2412367058 0.1917227356 0 0 --0.01383199943 0.2609014604 0.2071662937 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004423904766 -0.003587004175 -0.002372460209 0 0 --0.003097784814 0.09157861604 0.07140400774 0 0 --0.001567383618 0.06114867009 0.04730056117 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005218122451 0.001797564121 0.0009631253369 0 0 --0.0001198722304 -0.02017494775 -0.01512715038 0 0 -0.0005586545847 -0.02896942684 -0.02227123679 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001871990209 0.001239011228 0.001075307593 0 0 -0.0009963885579 -0.0345090824 -0.02677667395 0 0 -0.0008010449571 -0.02301740414 -0.01796258264 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.112676161e-05 -0.000282589832 -0.00022150526 0 0 --0.0001959529445 0.00632687581 0.004919319748 0 0 --0.0001584048634 0.005073756989 0.003945934223 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.149015848e-05 -0.0003084770584 -0.0002789209407 0 0 --0.0002001840323 0.005870111337 0.004577910807 0 0 --0.000209176006 0.005814156301 0.004542474453 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.157298647e-06 6.789539708e-06 1.201327022e-05 0 0 --6.979920587e-05 0.001064525029 0.0008554519017 0 0 -9.688917591e-06 -0.00017175361 -0.0001368374437 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.574637913e-05 0.000101848438 8.86617363e-05 0 0 -8.428811379e-05 -0.003035637034 -0.002352911168 0 0 -6.619816702e-05 -0.001894031296 -0.001478295005 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.141219778e-06 -3.25815742e-06 -4.069071893e-06 0 0 --1.843136224e-05 0.0003957694592 0.0003123791557 0 0 --3.140029923e-06 6.97916884e-05 5.500331268e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.697002409e-06 -1.811444996e-05 -1.719596331e-05 0 0 --1.424569123e-05 0.0001161051229 9.82841217e-05 0 0 --1.325383273e-05 0.0003474285126 0.0002719985512 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.569708964e-06 -3.72998904e-06 -8.794975881e-07 0 0 --1.474157043e-05 0.0002009841499 0.0001626951376 0 0 --1.298249428e-07 5.178813024e-05 3.916100207e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.949985096e-06 6.030600406e-06 6.015369995e-06 0 0 -2.926318973e-06 -0.0002570569752 -0.000196064737 0 0 -4.757564686e-06 -0.0001178018787 -9.242172195e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01433654085 0.0071537919 -0.01749480537 0.009405371874 0.04335573172 --0.04500038753 -0.03004348379 0.04651601809 0.007602951252 0.01779814363 --0.003318563055 -0.003792038175 0.006476178733 -9.75325024e-05 -0.00223959769 -0.07873294384 -0.002217185627 0.02445635544 -0.03617464984 -0.154573692 -0.04997473682 0.01779808198 -0.02158265561 -0.01494270922 -0.05483991052 -0.0260336452 0.007454662417 -0.007732628585 -0.008542835666 -0.03266217065 --0.007311219681 -0.006177652353 0.01006234798 0.0006939418578 -2.95782423e-05 --0.003946883738 -0.00414670883 0.007000438218 3.568519556e-05 -0.001845052117 -0.007201233745 -0.00245728896 0.006592700075 -0.004249982652 -0.0192177832 --0.02985954535 -2.964249422e-05 -0.007593214199 0.01335581264 0.05666077788 -0.001801542023 0.0004785092284 -0.0004629253227 -0.0006067662824 -0.002344413363 -0.0002107818034 7.231782734e-05 -8.571679636e-05 -6.417319601e-05 -0.0002374990557 --0.0004079345604 -0.0003413013279 0.0005548955283 4.013230421e-05 5.976902036e-06 --0.0005540228261 -0.0001435368804 0.0001353725585 0.0001881074606 0.0007291216964 --0.002237955358 -0.0002375038559 -0.0001145275764 0.0009027747153 0.00371655243 --0.0001416816889 8.315727043e-05 -0.000196965947 9.815125343e-05 0.0004565393732 --0.0007164595617 -0.000486563123 0.0007565011312 0.0001176096177 0.0002648119161 -2.126584048e-05 -1.494350487e-05 3.432039691e-05 -1.576001566e-05 -7.407194839e-05 -0.00117613901 -3.151113061e-05 0.0003622267258 -0.0005397168196 -0.002305445932 -0.0005544159783 0.0002648105933 -0.0003695799652 -0.0001376489794 -0.0004566137772 -4.564652879e-06 1.572567963e-05 -2.921342702e-05 4.522218232e-06 2.676122937e-05 -9.543105299e-06 7.752031934e-06 -1.253230022e-05 -1.035823522e-06 -6.631844503e-07 --2.809808021e-05 -1.841116734e-05 2.837231717e-05 4.892501439e-06 1.189693356e-05 -3.102904138e-06 -3.120455753e-06 6.823921852e-06 -2.692037815e-06 -1.292597349e-05 -2.984997116e-05 -6.634904723e-07 8.929935896e-06 -1.364092482e-05 -5.820436106e-05 --1.97148404e-05 -3.831114001e-06 2.35069138e-06 7.226804592e-06 2.882222607e-05 --5.125941516e-06 -2.652281295e-06 3.811020802e-06 1.18750918e-06 3.76219309e-06 -2.884122126e-06 2.534845247e-06 -4.158516662e-06 -2.328735241e-07 2.322379625e-07 -1.20412991e-05 1.239145379e-06 6.91066553e-07 -4.873547074e-06 -2.008417146e-05 -2.824690178e-05 3.762201106e-06 -3.149914513e-08 -1.107540133e-05 -4.518682686e-05 -0.0001148673896 2.735637876e-05 -2.342334374e-05 -4.000449992e-05 -0.0001565870254 --1.708519492e-05 -1.707957373e-05 2.862127235e-05 5.179768718e-07 -6.02513837e-06 --1.225999734e-05 -1.410978057e-05 2.41197441e-05 -4.023202026e-07 -8.500553926e-06 -3.446328601e-06 -9.342250088e-06 1.893279506e-05 -5.443528506e-06 -2.759740936e-05 --0.0001472110506 -6.025408381e-06 -2.607633424e-05 6.339099217e-05 0.000266097052 --8.138930865e-05 -1.208327386e-05 2.492393596e-06 3.139314792e-05 0.0001273983878 --3.006989391e-05 -1.687457249e-05 2.489831341e-05 6.416849928e-06 1.910527892e-05 -7.999815928e-06 7.455712116e-06 -1.235520745e-05 -4.686093956e-07 1.601107567e-06 -6.584393502e-05 4.03695748e-06 9.070606359e-06 -2.779296504e-05 -0.0001159950966 -0.0001271605553 1.910533797e-05 -4.332132116e-06 -4.895317393e-05 -0.0001985330547 --1.793625148e-05 -2.068828649e-06 -5.984479019e-07 7.166319806e-06 2.941403326e-05 --4.0176473e-06 -1.836018144e-06 2.517913507e-06 1.032131421e-06 3.495850954e-06 -3.1623062e-08 6.230333013e-07 -1.195635644e-06 2.45972664e-07 1.343745363e-06 -1.146767697e-05 8.285887381e-07 1.337315766e-06 -4.788151699e-06 -1.991946565e-05 -2.925230463e-05 3.495871637e-06 7.40665503e-07 -1.163672109e-05 -4.769700035e-05 -9.922578526e-06 3.265891847e-06 -3.767579587e-06 -3.078778735e-06 -1.149231715e-05 --1.766139856e-06 -1.601881682e-06 2.642419348e-06 1.218834421e-07 -2.540353482e-07 --2.505506487e-06 -2.19565205e-06 3.6001822e-06 2.049871782e-07 -1.872644374e-07 -1.808324191e-06 -9.976979275e-07 2.390933766e-06 -1.226152288e-06 -5.6834992e-06 --1.042284861e-05 -2.540560053e-07 -2.179646245e-06 4.560259882e-06 1.922902803e-05 --5.029548541e-06 -2.132784427e-08 -1.247442781e-06 2.242835919e-06 9.50714836e-06 --7.45049182e-06 -4.905581484e-06 7.568946512e-06 1.287412455e-06 3.101252428e-06 -8.129493744e-07 3.966098835e-07 -5.579838312e-07 -1.983658309e-07 -6.508078792e-07 -1.281779904e-05 -4.461828855e-08 3.370327e-06 -5.757188071e-06 -2.445196243e-05 -1.028273426e-05 3.101244306e-06 -3.357193027e-06 -3.308765352e-06 -1.254753097e-05 --1.524884289e-05 -1.942900413e-06 -1.531925015e-07 6.015738494e-06 2.459220049e-05 --6.368487331e-06 -3.649701988e-06 5.419738041e-06 1.327354358e-06 3.875402703e-06 -1.158768756e-06 1.134467626e-06 -1.894965191e-06 -4.511782119e-08 3.547463497e-07 -1.375708339e-05 6.71562957e-07 2.227281002e-06 -5.878686152e-06 -2.462272262e-05 -2.470948484e-05 3.875413909e-06 -1.156574993e-06 -9.44442251e-06 -3.821130232e-05 --1.571071864e-06 5.028205384e-07 -1.37401298e-06 9.133114452e-07 4.117702589e-06 --2.835130926e-06 -1.845036268e-06 2.838316366e-06 4.989507753e-07 1.228970632e-06 --4.683533524e-07 -3.812358187e-07 6.165711315e-07 5.050839424e-08 3.078064852e-08 -5.322420683e-06 -1.32224813e-07 1.61915424e-06 -2.438067149e-06 -1.040953682e-05 -4.548019961e-06 1.228968692e-06 -1.209167478e-06 -1.523037283e-06 -5.871268474e-06 -0.228749032 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.3401414218 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.3228059257 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01657103655 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04304605797 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02463086072 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02087900591 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002081369017 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009422545895 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002672981492 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007549623854 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00036561111 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.055291671e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1318453975 -0.03184713356 0.008959634835 0 0 --0.004243564769 -0.08456222339 -0.3142066332 0 0 --0.007866621018 0.3234744983 0.3181794555 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06215429115 -0.01229161501 0.02604896906 0 0 --0.005160294964 0.1126168456 -0.06873454236 0 0 -0.0172910872 0.2368013918 0.2080008491 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006189779527 -0.007586629917 -0.008851837169 0 0 --0.003100263404 0.08472970663 0.08114443835 0 0 --0.006378048745 0.1162741053 0.08840650874 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004776773104 0.0007680019564 0.003076243991 0 0 -0.001187954232 -0.031492504 -0.03632727687 0 0 -0.002866506366 -0.0184684695 -0.01292818014 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001006928891 -0.002010521126 -0.002207119722 0 0 --0.000818403009 0.02463214963 0.0219637839 0 0 --0.001709492278 0.03199183327 0.02465069964 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002767716032 0.0003926482429 0.0003440161326 0 0 -0.0006434366321 -0.01245044372 -0.01036182648 0 0 -0.0003871218922 -0.009139833214 -0.007048814805 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00017052242 -0.0002837312574 -0.0001452995073 0 0 --8.794647556e-05 0.003274564966 0.00215685163 0 0 --0.0001739368415 0.004096026686 0.003320538759 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.573904682e-05 -3.366654156e-05 7.017731231e-06 0 0 -8.885594691e-05 0.00131492829 0.0009277907663 0 0 -3.836714443e-05 0.001055187154 0.0007651150516 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001064711389 -1.129211441e-05 -1.278512588e-05 0 0 -0.0001221914928 -0.0004539954905 -0.0002722348237 0 0 -3.223548671e-05 0.000363563578 0.0002061053685 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.752309164e-05 2.816151141e-05 3.386058335e-05 0 0 -5.775889246e-05 -0.0004979843186 -0.0004177293158 0 0 -2.803637619e-05 -0.0003416287788 -0.0002788556766 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.678138827e-05 3.163766425e-06 1.225816949e-05 0 0 -2.185155914e-05 -0.0001485919626 -0.0001716411985 0 0 -8.610033603e-07 -9.809532708e-05 -6.295293291e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.512044226e-05 -1.385520954e-05 -1.376053635e-05 0 0 -2.492727855e-05 0.0003265756726 0.0002555801337 0 0 --6.081104263e-06 0.0003097511937 0.0002304279887 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.539561689e-05 7.202410859e-06 4.661530655e-06 0 0 -3.961054931e-05 -0.0001807464758 -0.0001423393479 0 0 -9.314200008e-06 -8.089128159e-05 -7.437216462e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05442450075 -0.02960929257 -0.03579963192 0.07762298387 0.09391236338 -0.0143630839 -0.08204328929 -0.091592769 -0.009561756724 0.008110396509 --0.0116658426 0.131358713 0.1285950106 -0.02398187313 -0.008834157208 -0.3243883699 -0.01122113285 0.03158756744 -0.02588361548 -0.601450076 -0.0063035571 -0.04768676839 0.009683228533 0.3313476215 -0.1164524427 -0.0322767694 -0.01420115501 -0.01356930862 -0.05705443941 -0.0418542874 --0.01315944957 0.09417332609 0.06845946684 -0.05505126585 0.03101551993 --0.01245277845 0.1167304308 0.08660097496 -0.04959610902 0.02629276711 -0.1450556557 -0.05848660591 -0.03340616508 0.2294867776 -0.3083722695 --0.09426645749 -0.001673442593 0.008849762874 0.1835346609 0.1198224682 -0.03614806083 0.003007290257 0.002247383337 -0.01698294984 -0.06040510136 -0.005203427661 0.00486608602 0.0038294072 -0.004381858059 -0.008712822362 -0.006784670385 0.004234775393 0.003512933784 -0.004064365729 -0.01166844622 -0.04436677688 0.002356702301 0.002427225123 -0.008019642489 -0.07727242707 --0.0755418427 -0.006534033508 -0.005172449726 0.03275871682 0.1270621447 -0.009106242933 -0.0001605423297 -0.0001097914644 -0.003321129356 -0.01537125211 -0.001021518549 -0.0005591515188 -0.0004412947117 -0.0004638097985 -0.001654521386 -0.0004273881466 0.002465720641 0.001896834815 -0.001282232566 -0.0006738323197 --0.0003655204346 -0.001147148751 -0.0007614167514 0.003239749279 -3.900402381e-05 --0.01629895853 -0.00162158879 -0.0009649070261 0.01357271351 0.02582594197 --0.006001955139 -0.0006202431639 -0.0005324027136 0.00209051556 0.01024607432 --0.000173989216 0.0006870157266 0.0005194869883 -0.0003118256104 0.0003275055288 -0.0003833594569 0.0006947243716 0.000660993703 -0.0003059468038 -0.000777468469 -0.01405350504 0.001076419719 0.001016194026 -0.004041469837 -0.02418954666 -0.007270268979 0.0007495011917 0.0006081908262 -0.002682089704 -0.01234906732 -0.00479364491 0.0003359195555 0.0002226758303 -0.001920141425 -0.008049271814 -0.0004833845374 -0.000256137951 -0.0002572356353 -0.0001214158019 -0.0007544764048 -0.0003774439295 -1.32392733e-05 0.0001006063172 -2.476794572e-05 -0.0007580330077 --0.001632361014 6.94064539e-05 0.0001521461475 0.0003089090461 0.002720362468 --0.008170705818 -0.0006193926338 -0.0004084367716 0.003519198662 0.01366681122 --0.002604838948 -0.0002621658628 -0.0002437743119 0.0008250671156 0.004479171649 --0.0002355508161 0.0004521069812 0.0002474352926 -0.0002710554456 0.0005265574536 --0.0001371374611 0.0004795306773 0.0003449208956 -0.0001748838598 0.0002633281386 -0.002262858658 -5.152040915e-05 6.05243717e-05 0.0004765838976 -0.004170260416 -0.004105485939 0.0004261787241 0.0004646205781 -0.00126398937 -0.007130866353 -0.002633537566 0.0001778128313 0.0001300010201 -0.0009862408421 -0.004447068661 -0.0002937446858 -0.0003162070826 -0.0003151417467 -3.207756412e-05 -0.000423611659 -0.0002452846983 -0.0001816085184 -0.000187732067 -6.823519994e-05 -0.0003620835536 --0.0006033277008 8.299535344e-05 4.879136368e-05 -0.0002795192988 0.00112741486 --0.004567337917 -0.0003017135597 -0.0001464649643 0.002016090573 0.007583867931 --0.001293210144 -0.0001294009211 -0.0001095784785 0.000537779393 0.002187899712 --8.798321178e-05 -7.479947336e-05 -9.696264557e-05 2.653272461e-05 0.0001903523494 --5.427775641e-05 -4.851197322e-05 -5.986029188e-05 1.703801598e-05 0.000115880833 -0.0008973679573 0.0001044840708 8.53176518e-05 -0.0004384692277 -0.001504182769 -0.002085926702 0.000234366571 0.0002307666017 -0.0008256757498 -0.003570053314 -0.0002168040303 2.607029314e-05 1.309518722e-05 -9.544035298e-05 -0.0003583277173 -1.870215719e-05 7.663040549e-06 -2.05853598e-05 -3.958650446e-05 -1.819000178e-06 -1.498411849e-05 2.153447489e-05 9.370966734e-06 -2.118862662e-05 -1.725417586e-05 --3.80399533e-05 -1.599320254e-05 3.144518161e-07 8.463044478e-05 3.971687809e-05 --0.000379701769 -3.226942102e-05 5.990666498e-06 0.0001809755228 0.0006071294738 -3.705423021e-06 -6.960353395e-06 -1.330329912e-05 -5.500426766e-06 2.20035513e-06 -1.694312682e-06 -1.290116543e-05 -3.151469877e-05 -1.934093522e-05 2.117970779e-05 --1.325351711e-06 1.948690396e-05 1.787508868e-05 -4.639263202e-06 -7.314286316e-07 --2.053760796e-06 4.416330473e-06 1.959876804e-05 4.24548472e-05 -1.981532522e-05 --6.586924746e-06 1.257804832e-05 3.667607948e-05 5.027580881e-05 -2.366251693e-05 -0.0001005940161 -2.389689794e-06 -8.177847671e-06 -3.316132971e-05 -0.0001646787206 -1.714463775e-05 -4.747826732e-05 -5.543600994e-05 -3.896655922e-06 -9.0338333e-06 -1.312186478e-05 -1.532562197e-05 -9.796665384e-06 3.207664263e-06 -2.442627962e-05 -9.586843948e-06 2.529875669e-05 2.974855248e-05 -5.660410387e-05 -1.641908478e-05 --0.0001839838999 5.991259592e-06 2.78425855e-05 0.0001038807887 0.0002818807834 --8.639329436e-05 -1.161676415e-05 -1.426029688e-05 3.883646607e-05 0.0001499448397 --3.941109637e-06 -2.812647861e-05 -4.164713947e-05 -6.569374005e-06 2.822164849e-05 --4.024400985e-06 -9.621505179e-06 -1.349835621e-05 -7.082696737e-07 1.338865351e-05 -5.312762031e-05 1.311205346e-05 1.664731303e-05 -3.692068661e-05 -9.292863003e-05 -0.0001396274023 2.785052058e-05 4.58236105e-05 -3.593029325e-05 -0.0002625732989 -0.04057473282 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03781173723 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009217487094 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008783625595 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003705573031 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001511192843 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006814582208 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002792888725 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001837816024 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001418566109 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.423100289e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.191588176e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.459755976e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05389405118 0.02673771949 -0.05319478738 0 0 --0.1915515732 -0.1211589743 0.02121073482 0 0 --0.03217195243 0.01638835491 0.08214024255 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05563836527 0.03314989879 -0.04085963538 0 0 --0.08503959394 -0.011350531 0.03234481384 0 0 --0.01151457109 -0.01972720714 0.0271232309 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02288328493 0.004958226797 -0.0115839188 0 0 --0.01728159559 -0.006717960739 0.009763904785 0 0 --0.01261182425 -0.001775330517 0.005516989486 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002246644473 0.001439575874 0.001409920141 0 0 --0.005746069087 -0.001009282675 0.002247037998 0 0 -0.001510014292 -0.001263787284 -0.0001901379193 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004923220973 0.000908554223 -0.002777720019 0 0 --0.004818943728 -0.001978908841 0.002366677799 0 0 --0.00263383634 -0.000442826575 0.001312145056 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004648474802 -0.0001511221811 0.00020555249 0 0 --0.0001433411646 -6.566983674e-05 2.910858271e-05 0 0 -0.000186629388 7.795695556e-05 -3.945221884e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.145652525e-05 0.0002292217791 0.0001608872652 0 0 --0.0008752367066 -0.0002823986525 0.0003679490174 0 0 -2.479575478e-05 -0.0001039963348 1.510906614e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006584308905 0.0001997869389 -0.0003202518319 0 0 -0.0002839400376 -0.0001009869311 -0.0002661996651 0 0 --0.0002989955074 -0.0001345584477 8.947702951e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002303825272 -8.697599321e-05 0.0001205778118 0 0 --0.0002437640911 -0.0001945416086 4.907984407e-05 0 0 -0.0001547615409 1.78093279e-05 -0.0001208094072 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.819838041e-05 4.287104392e-05 1.564032217e-05 0 0 -3.001377374e-05 -3.357986722e-05 -5.076653254e-05 0 0 --6.140815816e-07 -2.985552498e-05 -1.790426469e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.869029926e-05 -4.093706724e-07 1.681649595e-05 0 0 -1.496874099e-05 -2.989579959e-05 -3.810220739e-05 0 0 -1.493218684e-05 -2.766999735e-07 -5.237370114e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.528639684e-05 9.192151595e-06 -3.719482366e-05 0 0 -3.398762001e-05 -3.741810518e-05 -4.897373425e-05 0 0 --2.931669419e-05 -7.890645518e-06 9.168046196e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.012876043e-05 -9.582135362e-06 1.75505811e-05 0 0 -9.998352927e-06 -3.549872896e-05 -3.225755701e-05 0 0 -1.962947216e-05 1.244560778e-06 -1.675801542e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04105023335 0.09018547069 -0.05535313537 0.006003330185 -0.05712325924 --0.2424047498 -0.1399145698 0.06340285684 -0.03787109277 0.04605118843 -0.006074723245 0.016055265 0.1049106717 0.04938986841 -0.0008101666742 -0.001355584586 -0.04560586771 0.130890031 0.04293043588 0.04309500654 -0.02270583427 0.1105011856 -0.07045022509 0.003056071339 -0.07729069444 -0.0503557322 0.06829650209 -0.0485366115 0.008369113718 -0.02463557947 --0.1190243998 1.684443346e-06 0.06719433194 0.02087381189 -0.00457045136 -0.01342810842 -0.03784548534 0.0510039983 0.01268074933 0.03393906346 --0.009323509626 -0.04593347673 0.05289379442 0.007566056357 0.03042960159 -0.02929697951 -0.007348321221 -0.04783436649 -0.02427015245 -0.009062466799 -0.0216506317 0.01600934947 -0.02215674841 -0.002449710397 -0.00739431085 --0.03279226577 -0.01869201978 0.03225923555 0.005282258928 0.009166053578 --0.01297963959 -0.01392661195 0.01779439664 0.002041437259 0.00735053158 --0.01463860338 -0.01138494324 0.01715032799 0.002544984516 0.005981329397 -0.01727366947 0.009896126041 -0.01633743021 -0.002424175416 -0.004587733082 -0.004219614617 0.004208464514 -0.004924215988 -0.0004107107857 -0.002170031224 --0.001217427944 0.0001470949509 -0.0006205711288 -0.0003812141277 -0.0005276290703 --0.004362777121 -0.00348780117 0.004545186929 0.0004662288216 0.001712495573 --0.0007540073124 -0.00261192129 0.001751470765 -0.0001618059208 0.001451315786 --0.001438210303 9.494295615e-05 -0.0008072718212 -0.0005122288379 -0.0006038140419 -0.0004132093432 0.0002770906907 -0.0006039529808 -5.882719155e-05 9.754591428e-05 --0.007222889246 -0.00446278941 0.007017710473 0.001062839928 0.002352936472 -0.001249448297 0.0002908599915 -0.0003925786835 -2.586491539e-05 -0.0001880862899 --0.001842599042 -0.001428676739 0.002294035529 0.0003673821139 0.0007246383842 -0.003712268841 0.002241485202 -0.003539119005 -0.0005280424733 -0.001154542932 -0.001708482745 0.001249475166 -0.001755991724 -0.0002326264406 -0.0006793460324 -0.0003351409193 0.0002117950741 -0.0002170640608 -9.995359937e-06 -0.0001286576171 --0.001775400968 -0.001147445495 0.001787043486 0.0002470171791 0.0005323916062 --0.0005134808952 -0.0002837548083 0.0007192793503 0.00013926631 3.754935894e-05 --0.0002140160138 -5.885038042e-05 0.0001770180677 2.679934922e-05 -2.202162498e-05 --0.0004043711135 -0.0001557067776 0.00056145719 0.0001511476497 6.315013677e-05 --0.000931905096 -0.0004636466688 0.0007220632419 8.488573166e-05 0.0001921515984 -0.0006701521313 0.0001677958834 -0.0005833175034 -0.0001295756771 -1.571846257e-05 -3.151765972e-05 -1.893365264e-05 0.0001727021516 7.008353967e-05 3.159177893e-05 -0.0004392530343 0.0003578459289 -0.0002707901368 2.421789834e-05 -0.0001923525233 -0.0006434596832 0.0003807985977 -0.0008262187269 -0.0001706822078 -0.0001711297281 --9.652717229e-05 -0.0002952220096 -0.0001103100461 -0.0001260918504 0.0002119684184 --0.0006468930349 -0.0004119260933 0.000552852723 5.312824261e-05 0.0001909439376 --0.0002693809552 -0.0002082587366 0.0002498907673 2.111618526e-05 0.0001091425843 --5.032361389e-06 0.0002051146243 0.0001256776447 9.965718523e-05 -0.0001626741406 --0.0001600136601 -0.0001222884219 0.0001503974336 1.529458228e-05 6.898762039e-05 --0.0002274450741 -0.0002053448165 0.0001635371962 -2.930518923e-06 0.0001325590783 -0.0001929161936 0.0001127118174 -0.0002475903085 -4.965831751e-05 -4.424262834e-05 --7.396218256e-06 -4.08711313e-06 8.56963449e-06 1.611640111e-06 1.563528931e-06 -0.0001124290114 0.000125477765 -4.086372596e-05 2.087000659e-05 -9.189558252e-05 -4.72527348e-05 4.229774897e-05 -3.534843694e-05 3.800745001e-07 -2.594114901e-05 --4.275756543e-05 -3.15050567e-05 2.977478032e-06 -1.049230694e-05 1.711957029e-05 --2.781690412e-05 -5.17331735e-05 2.510929237e-05 -4.580701288e-06 3.812393011e-05 --1.617742454e-05 -5.2298355e-06 4.508628937e-05 1.501090526e-05 9.370093573e-07 -2.184424906e-05 4.077233469e-05 2.881293202e-05 2.299854917e-05 -2.96231414e-05 -3.0945383e-05 1.483764297e-05 -5.292197687e-05 -1.388395405e-05 -4.181073444e-06 -1.537174327e-05 -1.740116016e-05 -7.153314337e-05 -3.092000246e-05 1.740591371e-05 --3.527998008e-05 -1.715210202e-05 4.930892551e-05 1.140551672e-05 4.966668205e-06 --2.610772315e-06 6.831236833e-06 3.050859861e-05 1.347787308e-05 -6.013070121e-06 --1.831185229e-05 2.727289273e-05 5.48676946e-05 2.644163541e-05 -2.580176325e-05 -1.025712718e-05 -3.561874599e-06 -3.270366621e-05 -1.250091123e-05 5.917865842e-06 --2.898445213e-05 -5.58130377e-05 -1.523287221e-05 -2.185475344e-05 4.055247411e-05 --1.085894892e-05 3.931990539e-06 1.095850356e-05 4.029165529e-06 -5.960379678e-06 --1.340596074e-05 -5.222490105e-07 2.969391993e-05 1.005888708e-05 -3.126414345e-06 -7.855313071e-06 4.167683073e-05 2.537199296e-05 2.033005935e-05 -3.36314328e-05 --9.141570512e-06 -9.51891615e-06 2.721576097e-06 -2.157570455e-06 5.667445935e-06 --1.255538365e-05 -3.26947513e-05 -2.667106506e-05 -1.922334447e-05 2.521720851e-05 -1.03523631e-05 -1.202035741e-06 -2.397271122e-05 -8.409160767e-06 4.216896153e-06 -1.053405423e-06 4.534590409e-06 9.307144353e-06 4.769401465e-06 -3.802583058e-06 -3.135349483e-06 3.221006969e-05 3.492368909e-05 2.128717974e-05 -2.724713499e-05 -0.05927247197 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03809046879 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006901143036 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007487184841 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002645453652 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004814723012 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.366363443e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.163681238e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001375110152 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.446129117e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.373294983e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.654624656e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.624230538e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0282675874 -0.01840086789 0.007395905717 0 0 --0.01708198282 0.2039941904 0.166667565 0 0 --0.06249080126 -0.319771182 -0.19408901 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01523359611 -0.0166163162 -0.001068033217 0 0 --0.01383199943 0.2609014604 0.2071662937 0 0 --0.004114501024 0.115682687 0.09033778673 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009316764284 -0.002406425786 -0.002516321561 0 0 --0.001567383618 0.06114867009 0.04730056117 0 0 --0.002459444896 0.06194456218 0.04857233503 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009249488857 0.000980155421 0.001435433707 0 0 -0.0005586545847 -0.02896942684 -0.02227123679 0 0 --0.0002647638738 -0.006113411404 -0.004411900402 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001967627557 0.001086871355 0.0006716995771 0 0 -0.0008010449571 -0.02301740414 -0.01796258264 0 0 -0.0005763675957 -0.02337955123 -0.0180666877 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.246630573e-06 -0.0002241568014 -0.0001715115043 0 0 --0.0001584048634 0.005073756989 0.003945934223 0 0 --0.0001187699781 0.003871428873 0.003009290328 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.190710078e-05 -0.0002818605478 -0.0001584797476 0 0 --0.000209176006 0.005814156301 0.004542474453 0 0 --8.764363025e-05 0.003059831101 0.002373696192 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.36030909e-05 1.210868914e-05 -1.105429489e-06 0 0 -9.688917591e-06 -0.00017175361 -0.0001368374437 0 0 --7.644366951e-05 0.001147015222 0.0009226710518 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.671028886e-05 8.960785118e-05 5.501053563e-05 0 0 -6.619816702e-05 -0.001894031296 -0.001478295005 0 0 -4.951498346e-05 -0.002119846241 -0.001636054143 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.062825444e-06 -4.107477777e-06 -7.927453593e-07 0 0 --3.140029923e-06 6.97916884e-05 5.500331268e-05 0 0 --1.646554615e-05 0.0003621364694 0.0002855320917 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.860127517e-06 -1.736179713e-05 -8.684505328e-06 0 0 --1.325383273e-05 0.0003474285126 0.0002719985512 0 0 --6.933164883e-06 -5.17525751e-05 -3.381411623e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.201469441e-06 -9.112237229e-07 -3.849410025e-06 0 0 --1.298249428e-07 5.178813024e-05 3.916100207e-05 0 0 --1.526349717e-05 0.0001757293839 0.000144038517 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.533313469e-06 6.068256654e-06 2.670194751e-06 0 0 -4.757564686e-06 -0.0001178018787 -9.242172195e-05 0 0 -2.415342141e-07 -0.0002001670925 -0.0001511402803 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0448806838 -0.01749489333 0.02230205336 0.0127886777 0.04584530653 --0.003318563055 -0.003792038175 0.006476178733 -9.75325024e-05 -0.00223959769 --0.04084813882 -0.02645590608 0.04064847271 0.007241873884 0.01799320218 --0.1192993632 -0.02465173469 0.01706226669 0.04311795454 0.1711010729 -0.05109507324 -0.002536995337 0.01799298985 -0.02393463757 -0.1027874888 -0.0007263270155 -0.007732574636 0.01512589766 -0.003553701745 -0.01880298078 --0.003946883738 -0.00414670883 0.007000438218 3.568519556e-05 -0.001845052117 --0.002638659574 -0.002269616243 0.003708969574 0.0002337184195 -0.000100955073 --0.03596469769 -0.006521403851 0.003385024777 0.01337864774 0.0536321438 --0.01848681469 -0.002399349398 -0.0001009248071 0.007274808428 0.02971526889 -0.0001978536304 -0.0004629184827 0.0009450796823 -0.0002818583921 -0.001418936386 --0.0004079345604 -0.0003413013279 0.0005548955283 4.013230421e-05 5.976902036e-06 -0.0006298443088 0.0003900318872 -0.0005921891434 -0.0001191357213 -0.000317763987 --0.000570779392 -5.510802265e-05 -3.977063171e-05 0.0002325304472 0.0009602046094 --0.001483317603 -3.224126482e-05 -0.0003177572354 0.0006506233462 0.002745380608 --0.0004927593815 -0.000196966879 0.0002542992014 0.0001383714483 0.0004923437032 -2.126584048e-05 -1.494350487e-05 3.432039691e-05 -1.576001566e-05 -7.407194839e-05 --0.0007143499168 -0.0004707954131 0.0007265774876 0.0001232484973 0.0002963319056 --0.001906122198 -0.0003937514768 0.0002723731408 0.0006889753374 0.002734072995 -0.0005773726928 -7.680754053e-05 0.000296328775 -0.0002905599912 -0.001269963783 --5.683502207e-05 -2.921299256e-05 4.187923932e-05 1.324809384e-05 4.215301161e-05 --2.809808021e-05 -1.841116734e-05 2.837231717e-05 4.892501439e-06 1.189693356e-05 -3.467752943e-05 2.460166418e-05 -3.864697257e-05 -5.253465073e-06 -1.04481866e-05 -9.961573288e-06 2.961154687e-06 -3.168817915e-06 -3.223471384e-06 -1.225303597e-05 -3.987163688e-05 1.069508501e-05 -1.044780959e-05 -1.338518811e-05 -5.165043024e-05 --7.717213525e-06 2.350662149e-06 -6.518892772e-06 4.436468933e-06 1.995779624e-05 -2.884122126e-06 2.534845247e-06 -4.158516662e-06 -2.328735241e-07 2.322379625e-07 --8.177889733e-06 -5.018854098e-06 7.601425255e-06 1.565776363e-06 4.227946133e-06 --2.813689803e-06 -1.156823572e-06 1.514141421e-06 7.766957771e-07 2.738922478e-06 -2.102006814e-05 5.992468474e-07 4.227891053e-06 -9.160535195e-06 -3.85839826e-05 -2.507403535e-05 -2.342306359e-05 5.167913598e-05 -2.100535954e-05 -0.0001004130136 --1.225999734e-05 -1.410978057e-05 2.41197441e-05 -4.023202026e-07 -8.500553926e-06 --1.671643932e-06 -3.726390848e-06 6.771310722e-06 -8.074528556e-07 -5.220519894e-06 --0.0001135031777 -1.973763507e-05 9.053003294e-06 4.257473548e-05 0.0001711618873 --0.0001006469272 -1.06451195e-05 -5.220312338e-06 4.061529099e-05 0.0001672247324 --4.660640039e-05 2.492210709e-06 -1.675639464e-05 2.190634953e-05 9.415893828e-05 -7.999815928e-06 7.455712116e-06 -1.235520745e-05 -4.686093956e-07 1.601107567e-06 --3.88460052e-05 -2.385828031e-05 3.614268095e-05 7.43008098e-06 2.004251141e-05 --3.71793323e-05 -1.000795828e-05 9.810050032e-06 1.246672781e-05 4.808379262e-05 -9.914535611e-05 2.774429733e-06 2.004223422e-05 -4.322922365e-05 -0.0001821063242 --1.261776701e-05 -5.9848848e-07 -2.076554525e-06 5.39912175e-06 2.26228859e-05 -3.1623062e-08 6.230333013e-07 -1.195635644e-06 2.45972664e-07 1.343745363e-06 --4.486699662e-06 -2.449834619e-06 3.583665416e-06 9.858451204e-07 3.003907121e-06 --1.732706513e-06 -8.453889645e-07 1.189395874e-06 4.227679397e-07 1.38698257e-06 -2.333448724e-05 1.539705588e-06 3.003858547e-06 -9.804043471e-06 -4.086189869e-05 --1.40057487e-06 -3.76756075e-06 6.920305619e-06 -9.460004735e-07 -5.8282649e-06 --2.505506487e-06 -2.19565205e-06 3.6001822e-06 2.049871782e-07 -1.872644374e-07 -8.804554176e-07 4.47667748e-07 -6.39334599e-07 -2.072706419e-07 -6.640128129e-07 --1.137730734e-05 -1.98098462e-06 9.123368049e-07 4.266541863e-06 1.71511932e-05 --5.864612339e-06 -4.340484975e-07 -6.639980325e-07 2.444375821e-06 1.016366861e-05 --5.745808698e-06 -1.247459466e-06 9.380004508e-07 2.051569819e-06 8.105180186e-06 -8.129493744e-07 3.966098835e-07 -5.579838312e-07 -1.983658309e-07 -6.508078792e-07 --8.078119251e-06 -5.258697197e-06 8.090379375e-06 1.420969007e-06 3.497984561e-06 --1.766182266e-05 -3.767103856e-06 2.753035356e-06 6.33438937e-06 2.506610331e-05 -9.063735055e-06 -6.085074279e-07 3.497944623e-06 -4.311921118e-06 -1.859050006e-05 --1.000013024e-05 -1.532297397e-07 -2.266141583e-06 4.413105096e-06 1.865312444e-05 -1.158768756e-06 1.134467626e-06 -1.894965191e-06 -4.511782119e-08 3.547463497e-07 --7.679593198e-06 -4.715124961e-06 7.142273628e-06 1.469501556e-06 3.965640387e-06 --9.181054932e-06 -2.317548417e-06 2.12531281e-06 3.14275153e-06 1.222037508e-05 -1.965851952e-05 5.544532951e-07 3.965584726e-06 -8.569668974e-06 -3.609822327e-05 --3.807608404e-06 -1.374021116e-06 1.679122612e-06 1.130990636e-06 4.137791368e-06 --4.683533524e-07 -3.812358187e-07 6.165711315e-07 5.050839424e-08 3.078064852e-08 --2.36176956e-06 -1.490749779e-06 2.275096099e-06 4.349483315e-07 1.12795326e-06 --7.28695599e-06 -1.518158085e-06 1.066140352e-06 2.628522357e-06 1.042313253e-05 -4.465360071e-06 8.36273911e-09 1.127938185e-06 -1.995660629e-06 -8.464508537e-06 -0.1991349306 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2636121687 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2519476486 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01261139288 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03371515317 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01916839818 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01647159049 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0015572492 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008194721838 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002138011801 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005707191219 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002760169324 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.269764522e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1340727288 -0.0384835173 -0.03766308835 0 0 --0.007866621088 0.3234744985 0.3181794553 0 0 -0.0353396268 -0.4770878021 -0.1215412885 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0431961951 -0.00348745096 0.02214311267 0 0 -0.017291084 0.2368014005 0.2080008402 0 0 -0.05655087637 -0.1744490409 -0.0096607774 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005140244582 -0.006121482849 -0.006182620073 0 0 --0.006378046798 0.1162740993 0.08840651346 0 0 --0.005172918722 0.04612131706 0.02305075588 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003658654938 0.0008648964471 0.0021495965 0 0 -0.002866503227 -0.01846846114 -0.01292818901 0 0 -0.00435593643 -0.03467684392 -0.01722106321 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006872042052 -0.001700849198 -0.001776260825 0 0 --0.001709489424 0.03199182472 0.02465070673 0 0 --0.001251183244 0.01253885602 0.007490178592 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003304735474 0.0002486933044 0.000117643623 0 0 -0.0003871225998 -0.009139834807 -0.007048812503 0 0 -0.0004155107822 -0.00831346772 -0.006066620596 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001299391372 -0.0002158375066 -0.000123088731 0 0 --0.0001739376386 0.004096028433 0.00332053612 0 0 -0.0001422457234 0.000975764386 0.001022898899 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.142647581e-05 6.365399757e-06 7.218099943e-05 0 0 -3.836872853e-05 0.001055183343 0.0007651199484 0 0 -0.0001771969002 0.0007434806261 0.0004227501685 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001313314453 1.599435641e-05 5.199127347e-05 0 0 -3.223584077e-05 0.0003635625023 0.0002061062318 0 0 -0.0001379767135 -0.0004915673446 -0.0006433622423 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.430779417e-05 3.431960411e-05 5.129829101e-05 0 0 -2.803600787e-05 -0.0003416276053 -0.0002788565182 0 0 -8.389087369e-05 -0.0003551204725 -0.000331879008 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.08504024e-05 4.555286567e-06 1.096966822e-05 0 0 -8.609256576e-07 -9.809513497e-05 -6.295316777e-05 0 0 -4.199065651e-05 -0.0001445965182 -9.554045485e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.631280256e-05 -8.742529862e-06 -4.56872497e-06 0 0 --6.080687775e-06 0.0003097501225 0.0002304292047 0 0 -2.60282493e-05 0.0001993719229 0.0001012514186 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.839100119e-05 8.960266457e-06 1.197326962e-05 0 0 -9.314174603e-06 -8.08912109e-05 -7.437223327e-05 0 0 -3.84759578e-05 -0.0001232846228 -0.0001466125556 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0379964253 -0.01273393893 -0.04404533174 -0.06709808197 0.1121361383 --0.01166584259 0.131358713 0.1285950106 -0.02398187321 -0.008834157194 -0.01472165412 -0.107535677 -0.06772736182 0.07073461511 -0.04580825423 --0.3697601351 0.01499965743 -0.01456834084 0.08974945216 0.6555226261 -0.1806456796 0.08236406037 0.03672056633 -0.5188147991 -0.1949919283 -0.0231960477 -0.03050630241 -0.02270533113 0.03753477513 -0.04695012143 --0.01245277841 0.1167304311 0.08660097514 -0.04959611034 0.02629276734 --0.007467865017 0.0258327909 0.01258242653 -0.004960720089 0.0187749398 --0.2230149392 -0.03491067714 -0.02542450906 0.2366928673 0.3461027105 -0.01859427993 0.09117850249 0.06375945057 -0.2832321436 0.02387484182 -0.02899799703 0.001438613425 0.001204708864 -0.009400202665 -0.04937993489 -0.006784670368 0.004234775421 0.0035129338 -0.004064365852 -0.01166844617 -0.001990909032 0.003030254225 0.002825782291 -0.001247713609 -0.003919365247 --0.08472839496 -0.009054492997 -0.006658102167 0.04064751133 0.1414256246 --0.03154351052 -0.0008752109269 -0.00124262856 0.006606389555 0.05481373443 -0.007195866151 0.0002329317472 0.0001253545139 -0.00418798287 -0.0117970008 -0.0004273881645 0.002465720852 0.00189683494 -0.001282233489 -0.0006738321451 -0.0008018629041 -0.00188759958 -0.001428466409 0.0007876997055 -0.001455377935 --0.007250268792 0.0005053813365 0.0004002938218 0.002925043043 0.01213336109 --0.0108643477 0.001646128698 0.0009247737596 -0.003702219376 0.02008249517 --0.004603859753 -0.0006639199855 -0.0005619029727 0.002262002819 0.007747000596 -0.0003833594124 0.000694724428 0.0006609937354 -0.0003059470508 -0.0007774683347 --0.0003567649244 0.0005241603279 0.0005925926791 0.0001510580405 0.0003902251296 --0.01239650927 -0.001354153887 -0.0009877247213 0.006046983737 0.02066557712 -0.01118550638 0.001302047078 0.0008687012254 -0.005663548466 -0.01853529355 -0.003774076753 0.0002784841201 0.000119491982 -0.001809627643 -0.006218179537 -0.0003774439332 -1.323936298e-05 0.0001006062644 -2.476755328e-05 -0.000758033102 -0.0002825215584 -6.504056767e-05 5.661370092e-05 2.007206958e-05 -0.0005923730385 --0.001968345793 -0.0001187123285 -0.000145494165 0.0004632633916 0.003431413885 --0.00625007173 -0.0006009786134 -0.0005245469103 0.00274717517 0.01055441291 --0.002029196852 -0.00034880277 -0.0003150153658 0.001127014868 0.003413789635 --0.0001371374734 0.0004795307568 0.0003449209422 -0.0001748842075 0.000263328238 --0.0001609863411 0.0001537998757 -1.249940151e-05 -9.633249251e-05 0.0004087651826 --0.0006010604342 -0.0003340192092 -0.000351445571 0.0008960350856 0.0009857488557 -0.003761706534 0.0006856786794 0.0005688318727 -0.002554540239 -0.006196247951 -0.002073913848 0.0001922759572 0.0001126598531 -0.001081050634 -0.003417247703 -0.0002452846979 -0.0001816086421 -0.00018773214 -6.823465842e-05 -0.0003620836739 -0.0001828942515 -0.0002967389422 -0.0003757206311 -0.0001102973245 -0.0001463211838 --0.001438707876 -0.0001138737321 -0.0002080814014 0.0001522797077 0.00262024927 --0.003360114441 -0.0002508703092 -9.876616439e-05 0.001709322313 0.005507543886 --0.001008727966 -0.00010167611 -9.811286677e-05 0.000377732909 0.001725932422 --5.42777561e-05 -4.851197289e-05 -5.986029168e-05 1.703801453e-05 0.0001158808328 --5.66205015e-05 -8.582688906e-05 -0.0001399415911 -2.157948808e-05 0.00017649291 --2.107767365e-05 -3.317984993e-05 -8.194485731e-05 -7.463757438e-05 0.0001051593851 -0.001805504793 0.0001925752376 0.0001966797197 -0.0006622923458 -0.003104347715 -0.0001708436022 7.672552094e-06 -7.805243501e-06 -5.782458133e-05 -0.0002776141083 -1.498412125e-05 2.153450555e-05 9.370984875e-06 -2.118876077e-05 -1.725415082e-05 -1.249446034e-05 -1.583200563e-05 -4.948872848e-05 -3.370375788e-05 1.932307522e-05 --0.0001337688671 -5.012182945e-05 -7.146397402e-05 6.449373683e-05 0.0002556716546 --0.0002711090245 -9.940366142e-06 1.113804032e-05 6.065254438e-05 0.0004493595528 -3.703710225e-06 -1.324390743e-05 -2.634770216e-05 -1.211269829e-05 1.134359928e-05 --1.325350472e-06 1.948688569e-05 1.787507793e-05 -4.639183271e-06 -7.314486871e-07 -1.932648725e-06 -1.865525649e-05 -3.134774809e-05 -8.607421288e-06 1.489726531e-05 -1.298656345e-06 -2.129529098e-05 -4.10229238e-05 -1.219928443e-05 2.37655758e-05 --5.578367331e-06 1.873236344e-05 2.242688202e-05 -4.223609191e-05 9.890825062e-06 -8.045895547e-05 -6.614815766e-07 -1.553558308e-05 -6.777355653e-05 -0.0001145209753 -1.312186327e-05 -1.532564199e-05 -9.796677223e-06 3.207751854e-06 -2.442629649e-05 -1.054911658e-05 -3.586620994e-05 -4.366363297e-05 -6.962458788e-06 -1.781557556e-07 --9.409110161e-05 -1.341544636e-05 -3.437897415e-05 -1.953561892e-05 0.000192254175 --0.0001191815029 -4.444950404e-06 7.101133706e-06 8.21881987e-05 0.0001842227941 --6.703072649e-05 -1.158427348e-05 -2.046462843e-05 1.23776436e-05 0.0001267704634 --4.024399768e-06 -9.621495984e-06 -1.349835076e-05 -7.083099028e-07 1.338866033e-05 --9.72165183e-07 -3.300667668e-05 -5.474901756e-05 -1.629355959e-05 3.367535562e-05 -7.782089253e-06 -1.569509789e-05 -3.868528245e-05 -3.644129578e-05 1.862252967e-05 -0.0001189405224 2.1590565e-05 3.416674483e-05 -3.641330204e-05 -0.0002194509812 --0.02102253106 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04014146731 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01331741245 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002913613766 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005793304455 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003205196212 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001271681126 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001413175885 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004368066635 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001210042626 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.648972396e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.86466716e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.123753342e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04773819654 -0.1166681345 -0.01224025009 0 0 --0.03217195242 0.01638835488 0.08214024253 0 0 --0.1946729968 -0.06577074405 0.03158363221 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06867489497 -0.03725246716 0.05270645459 0 0 --0.01151457242 -0.01972720796 0.02712323155 0 0 --0.08499351692 -0.002416771465 0.01436412566 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03899452148 -0.01356835947 0.01680801153 0 0 --0.01261182357 -0.001775329854 0.005516989346 0 0 --0.003345872966 -0.0006538317606 0.005801778036 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004836564477 0.001947277184 -0.0005129029289 0 0 -0.001510014056 -0.001263788202 -0.0001901382534 0 0 --0.008160685977 -0.003033967073 0.001130997657 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006943295255 -0.002539613395 0.003016308992 0 0 --0.002633836761 -0.0004428251925 0.00131214629 0 0 --0.002973004337 -0.0007483831185 0.002154083114 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001207881323 0.0001443803116 -0.0007632120028 0 0 -0.0001866304688 7.795675156e-05 -3.945328487e-05 0 0 --0.0006984849669 -6.469637473e-05 0.0004162509054 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003144285933 1.501435804e-05 0.0003458968828 0 0 -2.479691296e-05 -0.0001039972756 1.510755659e-05 0 0 --0.0005705935078 -0.0004538594072 -7.358393111e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001129904636 -0.0002329644651 0.0006447265279 0 0 --0.0002989968439 -0.0001345569419 8.947902317e-05 0 0 -0.0006508845769 -5.079063883e-05 -0.0004792448917 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002938254299 0.0001338656522 -0.000135698135 0 0 -0.0001547614638 1.780940869e-05 -0.0001208092918 0 0 --0.0003220937597 -0.000220084466 0.0001019302876 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001044653501 2.958593254e-06 8.445988325e-05 0 0 --6.133669952e-07 -2.985616895e-05 -1.790525662e-05 0 0 -9.046899669e-05 -6.116281585e-05 -0.0001201151171 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.884576606e-05 2.525207184e-05 1.027088376e-05 0 0 -1.493196875e-05 -2.76494496e-07 -5.237067719e-06 0 0 -2.037249045e-05 -4.782675062e-05 -6.028100643e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.155589202e-05 -2.730087763e-05 4.223942689e-05 0 0 --2.931705536e-05 -7.890286825e-06 9.168563128e-06 0 0 -5.50615715e-05 -2.209219758e-05 -4.813646564e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.075239225e-05 1.807678548e-05 -1.958874934e-05 0 0 -1.962966347e-05 1.244375863e-06 -1.675828784e-05 0 0 --1.598622746e-06 -4.048489727e-05 -2.512436808e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06588806807 -0.1280583491 0.06850797077 -0.0135696731 0.07861761752 -0.006074723232 0.01605526479 0.1049106715 0.04938986828 -0.0008101665474 --0.2395910128 -0.07461180623 0.06590563637 -0.01843369358 0.002085884029 --0.02052495416 -0.1290687587 0.06902260624 -0.00857120106 0.0903959641 --0.02771814381 -0.1359160386 -0.03100259023 -0.05359277033 0.08463917116 --0.06564831552 -0.03561824869 0.07828399926 0.01863954213 0.02403924348 -0.013428108 -0.03784548789 0.05100399823 0.01268074821 0.03393906399 --0.1315986231 0.001079265805 0.0214022912 -0.003935327139 -0.02639584452 --0.02822493675 -0.0204133287 0.05353562116 0.01605693189 0.01895128865 --0.0473617355 -0.03907992248 0.007029573309 -0.01785744082 0.0005696027906 --0.0341208307 -0.02188519733 0.03582623854 0.005686064761 0.01110723254 --0.01297963946 -0.01392661247 0.01779439636 0.002041436914 0.007350531642 --0.02257628116 -0.01362724998 0.01542219992 -0.0001785706259 0.003861632686 --0.01813526736 -0.01308941758 0.01744441936 0.001600978846 0.005656082385 --0.006504141436 -0.0006823008788 0.003672243006 0.0008670560976 -5.653312572e-05 --0.006423462248 -0.005168166926 0.00814826804 0.001370987282 0.002922070524 --0.004362777256 -0.003487802374 0.004545186547 0.000466228202 0.001712495978 -0.002699943056 0.002605108088 -0.005183344256 -0.001266196997 -0.001891467143 -0.001028959711 -0.000545520229 0.00117602862 0.0004851783208 0.0008044196387 -0.002078974331 -0.0001096200541 -0.001137825115 -0.0003516289734 0.0002494463373 --0.0006678387156 -0.0003019506069 0.0003730505379 5.544531757e-05 0.000257811225 -0.001249448577 0.0002908598653 -0.0003925777844 -2.586487324e-05 -0.0001880871421 --0.008485126652 -0.005030457321 0.008463797998 0.001165818869 0.001877092456 --0.003521885433 -0.002279466754 0.003781301369 0.0005478749932 0.0009452101118 --0.00277388302 -0.001441389729 0.002311010209 0.0003152090531 0.0006640459909 --0.002700715032 -0.001987085865 0.002787106107 0.000369832865 0.001085142731 --0.001775400775 -0.001147445985 0.001787041123 0.0002470164153 0.0005323929183 -0.002027705615 0.001324173387 -0.001963476078 -0.0002565321437 -0.0006463483698 -5.972079702e-05 -6.364677934e-05 -0.0001433609404 -4.53628433e-05 0.0001308972891 -0.0006901864703 0.0003790463118 -0.0006327253139 -8.4401712e-05 -0.0001427502345 -0.000566901575 0.000442019848 -0.0005880137302 -7.246049536e-05 -0.0002466548763 -0.0006701522072 0.0001677953013 -0.0005833182591 -0.0001295761305 -1.571804839e-05 --0.001493638494 -0.001197052359 0.0005226693024 -0.0002425127884 0.0006150144323 --0.0003417236365 -0.0005396808676 -2.513900001e-05 -0.0001829888788 0.0003342902883 --0.0004839163643 -0.0001392520562 0.0004471691925 9.976537924e-05 2.674809487e-05 --0.0009890282596 -0.0007882466331 0.001014747377 0.0001107058856 0.0004207246586 --0.0006468930351 -0.0004119240856 0.0005528551205 5.312969187e-05 0.0001909423756 -0.0005308709953 0.0001610234981 -0.0006204268365 -0.0001533715357 -1.797394122e-05 --5.623162414e-05 -0.0001656079869 4.462227607e-06 -4.435517493e-05 0.0001194337167 -0.0001754817982 0.0001568630932 7.023449093e-05 8.487694417e-05 -8.428585116e-05 -0.0002480421103 0.0001354132513 -0.0003263606194 -6.865809831e-05 -4.711514591e-05 -0.0001929161435 0.0001127114508 -0.0002475908214 -4.965858332e-05 -4.424224451e-05 --0.0003943331703 -0.0003120030226 0.0003609978153 3.207239745e-05 0.0001810283003 --9.198924776e-05 -0.0001022457324 3.347162592e-05 -1.697985761e-05 7.478711513e-05 --0.0001338259016 -5.042867978e-05 0.0002211182022 5.807429776e-05 -1.085180676e-07 --7.9955833e-05 -5.664092791e-05 7.408978337e-05 8.408173155e-06 3.12464722e-05 --2.781685057e-05 -5.173387499e-05 2.510827609e-05 -4.5812583e-06 3.812453478e-05 --1.447947856e-05 -6.779579894e-05 -0.0001379145207 -7.178305847e-05 5.35682387e-05 --2.178810137e-05 -7.119567883e-05 -6.224075942e-05 -4.315934816e-05 5.539220818e-05 --3.716702283e-06 3.034657994e-05 2.17488349e-05 1.507728986e-05 -2.669030208e-05 --4.660917575e-05 -5.260084328e-05 3.62181616e-05 -3.776469011e-06 3.005428284e-05 --3.528003405e-05 -1.715142445e-05 4.930984833e-05 1.140604355e-05 4.966123732e-06 -4.712686426e-05 8.708569186e-06 -0.0001011995509 -3.272445501e-05 4.558153792e-06 -1.498045526e-05 -2.776891628e-05 -4.87059572e-05 -2.449105668e-05 2.538879555e-05 -2.085986451e-05 1.40760506e-05 -7.910113126e-06 2.638314214e-06 -6.046963758e-06 --1.327720514e-05 -3.591559622e-05 -1.413457701e-05 -1.520225859e-05 2.733383963e-05 --1.085894946e-05 3.932225669e-06 1.095881673e-05 4.0293419e-06 -5.960582609e-06 --1.959293761e-05 -2.719671276e-05 1.954902369e-05 -6.838473507e-07 1.806297763e-05 --9.344908603e-06 -3.037575691e-05 -1.002490747e-05 -1.189320607e-05 2.354167045e-05 --3.114925721e-06 -1.583025393e-06 2.66808616e-05 9.730931405e-06 1.443477685e-07 -1.476375745e-05 -4.863600928e-06 -3.53514801e-05 -1.316501832e-05 8.695744731e-06 -1.035236834e-05 -1.202361897e-06 -2.397316224e-05 -8.409409993e-06 4.217183621e-06 --2.162726327e-05 -5.006326458e-05 -3.308771802e-05 -2.671815031e-05 3.774730531e-05 --2.137022517e-06 -3.409464618e-05 -3.985722757e-05 -2.352083544e-05 2.921120989e-05 --5.935280007e-06 1.278292442e-05 3.652911247e-05 1.643417317e-05 -1.319837343e-05 --0.04700722448 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.009601564962 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009686260548 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001084460567 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005259992412 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.147556825e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.466483044e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.055826704e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.004041242e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.046194469e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.582892192e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.937993786e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.797302832e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01450201248 0.4685389059 0.3423714749 0 0 --0.0187763254 0.005595512172 0.01834760962 0 0 -0.0282675874 0.01840086789 -0.007395905717 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02561833654 0.0828319357 0.08174489482 0 0 --0.01050189809 0.01140521684 0.01650375629 0 0 -0.01523359611 0.0166163162 0.001068033217 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002258414275 -0.01364408112 -0.01199088004 0 0 -0.0004423904766 0.003587004175 0.002372460209 0 0 --0.0009316764284 0.002406425786 0.002516321561 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003702859858 -0.01695973176 -0.01251354236 0 0 --0.0005218122451 -0.001797564121 -0.0009631253369 0 0 -0.0009249488857 -0.000980155421 -0.001435433707 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003284821381 0.005414236523 0.003836343114 0 0 -0.0001871990209 -0.001239011228 -0.001075307593 0 0 --0.0001967627557 -0.001086871355 -0.0006716995771 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.91250608e-06 0.00010707421 8.820868805e-05 0 0 --1.112676161e-05 0.000282589832 0.00022150526 0 0 --3.246630573e-06 0.0002241568014 0.0001715115043 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001731063616 0.001469452334 0.001238518559 0 0 --6.149015848e-05 0.0003084770584 0.0002789209407 0 0 -7.190710078e-05 0.0002818605478 0.0001584797476 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001007660509 -0.001276304393 -0.001038493632 0 0 -9.157298647e-06 -6.789539708e-06 -1.201327022e-05 0 0 --1.36030909e-05 -1.210868914e-05 1.105429489e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.579781547e-05 0.0006417415084 0.000464595918 0 0 -1.574637913e-05 -0.000101848438 -8.86617363e-05 0 0 --1.671028886e-05 -8.960785118e-05 -5.501053563e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.018712836e-05 -0.000308631188 -0.0002404505263 0 0 --2.141219778e-06 3.25815742e-06 4.069071893e-06 0 0 -3.062825444e-06 4.107477777e-06 7.927453593e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.11427895e-05 0.0003217840167 0.0002510693667 0 0 --4.697002409e-06 1.811444996e-05 1.719596331e-05 0 0 -5.860127517e-06 1.736179713e-05 8.684505328e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.01629677e-05 -0.0001334794928 -0.0001158572336 0 0 -2.569708964e-06 3.72998904e-06 8.794975881e-07 0 0 --4.201469441e-06 9.112237229e-07 3.849410025e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.759256239e-06 0.0001088243408 7.69850685e-05 0 0 -1.949985096e-06 -6.030600406e-06 -6.015369995e-06 0 0 --2.533313469e-06 -6.068256654e-06 -2.670194751e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04475006091 0.02662100024 -0.03996771076 -0.008919843115 -0.02503413522 --0.1049963999 -0.007636550073 -0.01214745353 0.04381870546 0.1822668506 --0.09153847538 -0.01214777254 1.663276273e-05 0.03591002422 0.1465345832 -0.002076124356 0.001793788855 -0.002933772693 -0.0001805386842 9.752927487e-05 -0.003318563055 0.003792038175 -0.006476178733 9.75325024e-05 0.00223959769 --9.59029205e-05 -0.001689474048 0.003239594071 -0.0006624573612 -0.003624537868 --0.03380601524 -0.0080552157 0.006901530318 0.01177179964 0.04607505336 --0.007363187628 0.006901450786 -0.01522058429 0.006178027074 0.02953908397 -0.002336280054 0.001954018055 -0.003176689201 -0.0002301117192 -3.568841537e-05 -0.003946883738 0.00414670883 -0.007000438218 -3.568519556e-05 0.001845052117 --0.001116442194 -0.0008090992774 0.00127717862 0.000162016706 0.0002979634671 --0.001083021886 -0.0006530241502 0.0009841948559 0.0002122192227 0.0005861407537 -0.001324483425 0.000984194165 -0.001562169082 -0.0001820512125 -0.0002986779071 -0.0002095312527 0.0001588570299 -0.0002532361735 -2.748126262e-05 -4.013246564e-05 -0.0004079345604 0.0003413013279 -0.0005548955283 -4.013230421e-05 -5.976902036e-06 -0.0008692760732 0.0005297915157 -0.0008008670026 -0.0001679771072 -0.0004577322566 --0.00150811182 -3.571394627e-05 -0.0003174004733 0.0006602738531 0.002784660325 --0.001607053892 -0.0003174054282 0.0002014939689 0.000586957938 0.002337922463 -1.054822439e-06 7.883854905e-06 -1.496182177e-05 2.81943983e-06 1.575999476e-05 --2.126584048e-05 1.494350487e-05 -3.432039691e-05 1.576001566e-05 7.407194839e-05 --7.060420526e-05 -4.805008661e-05 7.474576144e-05 1.154768025e-05 2.586801138e-05 --5.088075172e-05 -3.481230537e-05 5.42230276e-05 8.244514187e-06 1.822459478e-05 -7.855274801e-05 5.422303252e-05 -8.46357241e-05 -1.25289182e-05 -2.705983272e-05 -1.256721207e-05 8.424816124e-06 -1.305733618e-05 -2.108820775e-06 -4.892501075e-06 -2.809808021e-05 1.841116734e-05 -2.837231717e-05 -4.892501439e-06 -1.189693356e-05 -1.210460794e-05 8.4525958e-06 -1.322953464e-05 -1.890113178e-06 -3.951046127e-06 -1.085737991e-06 4.797291874e-06 -8.990474508e-06 1.516889539e-06 8.746594118e-06 --1.769398567e-05 -8.990490951e-06 1.283669406e-05 4.167907504e-06 1.335783224e-05 --1.525974109e-06 -1.183286402e-06 1.895202226e-06 1.891335913e-07 2.328765212e-07 --2.884122126e-06 -2.534845247e-06 4.158516662e-06 2.328735241e-07 -2.322379625e-07 --6.926033532e-06 -1.030729927e-05 1.8139766e-05 -1.202727144e-06 -1.006631135e-05 --0.0001017555564 -2.739526834e-05 2.685793872e-05 3.411806391e-05 0.0001315893607 --9.721630332e-06 2.685770952e-05 -5.438155167e-05 1.556609327e-05 7.898527648e-05 -7.706775492e-06 6.676591442e-06 -1.092498081e-05 -6.627148637e-07 4.023092377e-07 -1.225999734e-05 1.410978057e-05 -2.41197441e-05 4.023202026e-07 8.500553926e-06 -5.192504924e-05 3.534202226e-05 -5.497890718e-05 -8.490879964e-06 -1.901500328e-05 --2.401887335e-05 1.411745703e-05 -3.342979292e-05 1.664766147e-05 7.744094035e-05 --8.361523419e-05 -3.342993183e-05 4.316510902e-05 2.347699135e-05 8.352878218e-05 --4.388055645e-06 -3.491853907e-06 5.622183769e-06 5.066155258e-07 4.686162442e-07 --7.999815928e-06 -7.455712116e-06 1.235520745e-05 4.686093956e-07 -1.601107567e-06 -4.771240934e-06 3.449587278e-06 -5.44234399e-06 -6.958157517e-07 -1.291832329e-06 --3.735665353e-06 1.215022006e-06 -3.304632141e-06 2.179765162e-06 9.834764273e-06 --9.130397606e-06 -3.304648146e-06 4.045428313e-06 2.707935839e-06 9.899995131e-06 --2.34526181e-07 -3.069082372e-07 5.328759546e-07 -2.314315007e-08 -2.459719164e-07 --3.1623062e-08 -6.230333013e-07 1.195635644e-06 -2.45972664e-07 -1.343745363e-06 --3.3335933e-06 -2.819011932e-06 4.592382276e-06 3.154568635e-07 -1.861303736e-08 --1.3130122e-05 -4.224944186e-06 4.798703532e-06 4.11437766e-06 1.542510779e-05 -1.471408107e-06 4.798678025e-06 -8.894337886e-06 1.344802866e-06 8.017016097e-06 -1.323297637e-06 1.024774715e-06 -1.640876973e-06 -1.64577042e-07 -2.049887324e-07 -2.505506487e-06 2.19565205e-06 -3.6001822e-06 -2.049871782e-07 1.872644374e-07 -1.031234211e-05 6.505283283e-06 -9.926415943e-06 -1.900758197e-06 -4.933774317e-06 --1.317010049e-05 6.900666263e-07 -4.707637347e-06 6.184403424e-06 2.65755985e-05 --1.799252433e-05 -4.707684988e-06 4.485563945e-06 6.08973156e-06 2.357505039e-05 --3.138137155e-07 -1.765578561e-07 2.607164313e-07 6.677827559e-08 1.983660666e-07 --8.129493744e-07 -3.966098835e-07 5.579838312e-07 1.983658309e-07 6.508078792e-07 -9.85147068e-06 6.627528638e-06 -1.028068386e-05 -1.643384792e-06 -3.782760398e-06 --7.003832264e-06 2.139185977e-06 -5.927528532e-06 4.028790409e-06 1.812600518e-05 --1.656980611e-05 -5.927560632e-06 7.206960163e-06 4.943451796e-06 1.812351815e-05 --6.555529333e-07 -5.327114865e-07 8.612677934e-07 7.107359889e-08 4.511884178e-08 --1.158768756e-06 -1.134467626e-06 1.894965191e-06 4.511782119e-08 -3.547463497e-07 -2.272513534e-06 1.320060105e-06 -1.968182137e-06 -4.662549668e-07 -1.342982701e-06 --7.066604463e-06 -7.470486456e-07 -3.672321335e-07 2.851825952e-06 1.174197526e-05 --5.24000474e-06 -3.672523938e-07 -6.330178458e-07 2.192626395e-06 9.12753612e-06 -2.366806832e-07 1.771432445e-07 -2.816101334e-07 -3.200122192e-08 -5.050868611e-08 -4.683533524e-07 3.812358187e-07 -6.165711315e-07 -5.050839424e-08 -3.078064852e-08 -0.03553450401 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009617753328 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01144967242 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001398402447 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00168659808 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007988345425 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009742398781 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.582808228e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001454424625 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001635788665 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.168710241e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.548424333e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.209409212e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01096114695 0.6234600646 0.4728811497 0 0 --0.1318453973 0.03184713357 -0.008959634765 0 0 --0.1340727287 0.0384835173 0.03766308841 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01442429541 0.2967357298 0.2414633154 0 0 --0.06215428423 0.01229161538 -0.02604896595 0 0 --0.04319618951 0.003487450872 -0.02214310984 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002705610421 0.0519224593 0.0405179398 0 0 -0.006189775419 0.007586628726 0.008851834547 0 0 -0.005140241264 0.006121482174 0.006182617803 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.054186615e-05 0.0155469301 0.01218800994 0 0 --0.004776766267 -0.0007680018652 -0.003076241147 0 0 --0.003658649419 -0.0008648967428 -0.002149593872 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005983914114 0.01378804723 0.01072149152 0 0 -0.00100692284 0.002010519649 0.002207116082 0 0 -0.0006871993181 0.001700848411 0.001776257649 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.950883415e-06 0.0009661722562 0.0007521592206 0 0 --0.0002767731957 -0.0003926478242 -0.0003440164408 0 0 --0.0003304748316 -0.000248692905 -0.0001176439667 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002098781661 0.002112374392 0.001766859507 0 0 --0.0001705206191 0.0002837307213 0.0001452998057 0 0 --0.0001299376851 0.000215837008 0.0001230890818 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001568227153 9.098081105e-05 0.000186405052 0 0 -4.573552572e-05 3.366711259e-05 -7.018698504e-06 0 0 -9.142363555e-05 -6.364782957e-06 -7.218197572e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001510673577 0.0008547258779 0.000750843106 0 0 -0.000106470391 1.129190749e-05 1.278465629e-05 0 0 -0.0001313308412 -1.599447196e-05 -5.199168092e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.543041361e-05 8.962084759e-05 0.0001167408409 0 0 -1.752385996e-05 -2.816121176e-05 -3.386003084e-05 0 0 -3.430841492e-05 -3.431941989e-05 -5.129781927e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.368127068e-05 5.186834698e-05 6.63397967e-05 0 0 --1.678121647e-05 -3.163786538e-06 -1.225811606e-05 0 0 --1.08502638e-05 -4.555310834e-06 -1.096961586e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.676805805e-05 5.48828375e-05 6.779560353e-05 0 0 -1.511952862e-05 1.385525605e-05 1.376020355e-05 0 0 -1.631206535e-05 8.742613533e-06 4.568409664e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.663616253e-05 7.028160097e-05 7.950181989e-05 0 0 -1.539567168e-05 -7.202405667e-06 -4.661504272e-06 0 0 -1.839104543e-05 -8.960265478e-06 -1.197324584e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0364179425 0.3352224545 0.3030617753 -0.09194644023 0.01784641856 --0.410768049 -0.01985812878 -0.006301352602 0.4102514641 0.6337810192 --0.310251953 0.08474225541 0.05203718327 -0.1253808841 0.5777495801 -0.0001792850725 -0.01274619372 0.01193270371 0.0401481859 -0.02695932532 -0.01166584246 -0.1313587123 -0.1285950101 0.02398187292 0.008834157441 --0.01012891916 0.1406434529 0.1100086226 -0.05883874515 0.01784200812 --0.2195549407 -0.008094780553 -0.006850557177 0.1525665776 0.3569911756 --0.168925214 0.01960123756 0.005052518881 -0.01185396097 0.3076002432 -0.002845791742 -0.03417026515 -0.02793851825 0.02504527255 -0.006120289258 -0.0124527763 -0.1167304202 -0.0866009668 0.04959610552 -0.02629276339 -0.007910515091 0.002927467175 0.002262152035 -0.004219613008 -0.01330560841 --0.07543354404 -0.006690271457 -0.005077179025 0.03082858716 0.1270833962 --0.05941255684 -0.005012210444 -0.003572269069 0.02417042036 0.09989203737 --0.001606259242 -0.000917915641 -0.0005018122553 0.001567072141 0.002396728426 --0.006784670114 -0.004234774288 -0.003512932933 0.004064365181 0.01166844577 --0.0002878663831 0.005823602269 0.004465708523 -0.002595905671 0.0006192935524 --0.004542607537 -0.0002209166731 2.680482945e-05 0.006214851561 0.006580295223 --0.003414915579 0.001723524971 0.001148083043 -0.003393892225 0.006740427752 --0.0001098281528 -0.0006642223032 -0.0004935845051 0.0006257545004 9.95722182e-05 --0.0004273894819 -0.002465713159 -0.00189682906 0.001282230024 0.0006738346394 -0.0009879689784 0.0005005222574 0.0004530399726 -0.0005153726922 -0.001733674766 --0.01484331942 -0.001304175261 -0.0009627473797 0.00608414363 0.02497811657 --0.01169266029 -0.0009537107502 -0.0006226703902 0.004811164076 0.01959644891 --9.138764743e-05 -8.142717098e-05 3.655325661e-05 0.0002314416292 3.135943284e-05 --0.0003833586749 -0.0006947220964 -0.0006609919509 0.0003059455915 0.0007774671685 -0.0002335843275 0.000124377805 0.0002209300039 -1.23515086e-05 -0.0005301036067 --0.0004204038759 -5.025579111e-05 -1.328400375e-05 0.000269691195 0.0006669740838 --0.0003345325923 1.83297659e-05 5.597533256e-05 7.84406117e-05 0.0005348034418 --0.0001004314178 9.554794232e-05 0.0001569240852 7.07440726e-05 8.105158991e-05 --0.0003774436273 1.323603082e-05 -0.0001006088118 2.476914925e-05 0.0007580324693 --1.689003082e-05 0.0005161211006 0.0004964590678 -0.0001169332142 -7.323640693e-05 --0.001512851566 -0.0001800752618 -0.0002071277114 0.0006489044692 0.002608353707 --0.001191874602 -0.0001560521376 -0.0002704425696 0.0002079695967 0.002203760368 -3.728222731e-05 -0.0001491528768 -0.0001299668212 8.736133194e-05 -5.889614307e-05 -0.0001371373991 -0.0004795277548 -0.000344918647 0.000174882697 -0.0002633280083 -0.0001599046899 4.501374537e-05 9.600326002e-05 -1.673707052e-05 -0.0003364930949 --0.0005979787489 -0.000140103438 -0.0001751920728 0.0002784064461 0.001067592327 --0.0004634941469 -0.0001451945151 -0.0002567505349 8.635987088e-06 0.0009552252924 --5.542508518e-05 9.733043636e-06 -3.02902406e-05 -3.910970576e-05 0.000138645053 --0.0002452841537 0.000181604075 0.000187728649 6.823680123e-05 0.0003620825952 --1.42587574e-05 1.350073038e-05 4.499391108e-05 3.563300476e-05 -1.40230042e-05 --0.000462967081 -7.293034498e-05 -9.22018834e-05 0.0001693003675 0.0008189770238 --0.0003598362798 -9.143822548e-05 -0.0001427749847 9.678555261e-05 0.0006858100469 -1.568135294e-05 -5.513705523e-06 -2.148947096e-05 -2.4056106e-05 -6.929716064e-06 -5.427774783e-05 4.851198336e-05 5.986029967e-05 -1.703801691e-05 -0.0001158808184 -8.468287181e-06 4.566818556e-05 6.208404536e-05 5.518281366e-06 -4.347695056e-05 --6.636665644e-05 -1.922211328e-05 -3.413439323e-05 2.002697392e-05 0.0001315649136 --4.997682567e-05 -3.114100977e-05 -6.393518684e-05 -1.632970395e-05 0.0001293844748 --3.103897643e-06 -1.174727244e-05 -1.445148943e-05 2.941337281e-06 1.057111142e-05 --1.498431737e-05 -2.153338928e-05 -9.370131793e-06 2.118825972e-05 1.725452119e-05 --4.367534564e-06 5.211403208e-05 6.627627253e-05 6.16152389e-06 -2.077943619e-05 -1.21412218e-06 -1.109264406e-05 -1.898343902e-05 9.306817994e-06 6.113737508e-06 -1.470592727e-06 -1.09346045e-05 -3.206366632e-05 -4.149347984e-05 2.777995091e-05 -1.191797647e-07 -2.877198806e-06 8.335612676e-08 5.3667861e-06 -3.141235405e-06 -1.325402251e-06 -1.948756705e-05 -1.787559879e-05 4.639513544e-06 7.31337484e-07 -7.417921474e-06 2.002156096e-05 3.836889265e-05 1.226540372e-05 -3.755068085e-05 --6.463926759e-05 -1.671434396e-05 -2.268499599e-05 3.185143097e-05 0.0001174285158 --4.946624021e-05 -1.826140975e-05 -3.531338532e-05 -6.027185498e-06 0.0001087291654 --3.29773044e-06 5.805864603e-06 5.886060885e-06 -1.532877056e-06 4.427794012e-06 --1.312174267e-05 1.532491136e-05 9.796118834e-06 -3.207421122e-06 2.442606722e-05 --4.541145275e-06 2.013099245e-05 3.565447049e-05 1.399676435e-05 -1.433824334e-05 --2.243058544e-05 -1.458197546e-05 -2.611461057e-05 6.067982549e-06 5.266740195e-05 --1.574465844e-05 -2.348087358e-05 -4.906300393e-05 -2.195061922e-05 6.162309467e-05 -1.484455198e-06 -2.440024384e-06 -6.550880998e-06 -4.862102601e-06 2.726879511e-06 -4.024332594e-06 9.621828615e-06 1.349860495e-05 7.081637469e-07 -1.33885352e-05 --0.06857434848 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0912160987 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01862264799 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004755204567 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01141165879 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005774242537 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002372684816 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004676564406 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00076463649 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003029420525 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.75031923e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000123213628 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.656628877e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.542395877e-05 0.07320301939 -0.04169433389 0 0 --0.05389405115 -0.02673771954 0.05319478738 0 0 -0.04773819652 0.1166681345 0.01224025003 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.08407214026 -0.00192331344 -0.009081506143 0 0 --0.05563836553 -0.0331499014 0.04085963825 0 0 -0.06867489128 0.0372524687 -0.05270645707 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04642025587 -0.0186263676 0.02648438778 0 0 --0.02288328477 -0.004958225179 0.01158391764 0 0 -0.03899452331 0.01356835899 -0.01680801015 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01063138846 0.005478497929 -0.007912049075 0 0 -0.002246645181 -0.001439578117 -0.001409919226 0 0 --0.004836566307 -0.001947276506 0.0005129004753 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007290243479 -0.002615880228 0.004227201861 0 0 --0.004923222244 -0.0009085516774 0.00277772072 0 0 -0.006943295942 0.002539613675 -0.003016306291 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001918833658 0.0004408941512 -0.001201748572 0 0 -0.0004648483539 0.000151122474 -0.0002055546544 0 0 --0.001207879362 -0.0001443813957 0.0007632121008 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002811875961 0.0003739694761 -0.0001681777039 0 0 -9.145846733e-05 -0.0002292234343 -0.0001608887341 0 0 -0.0003144291254 -1.501466925e-05 -0.0003458992335 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002121082922 -0.0004516540951 0.001327599295 0 0 --0.0006584335024 -0.0001997841009 0.0003202533713 0 0 -0.0011299046 0.0002329646687 -0.0006447227987 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008738251968 0.0003631015479 -0.0003459030374 0 0 -0.000230382405 8.697612033e-05 -0.0001205776847 0 0 --0.0002938254763 -0.0001338656021 0.0001356982916 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001774669687 5.500449338e-06 0.0001289080679 0 0 --1.819725392e-05 -4.287207713e-05 -1.564140493e-05 0 0 -0.0001044657903 -2.958961824e-06 -8.446124448e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.837798009e-05 7.473750045e-05 2.928400393e-05 0 0 -2.868991519e-05 4.09738203e-07 -1.681621941e-05 0 0 --1.884583763e-05 -2.525201328e-05 -1.027038528e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001818137475 -2.237617391e-05 0.0001346817669 0 0 --6.528702007e-05 -9.19153149e-06 3.719532036e-05 0 0 -9.155575355e-05 2.730101336e-05 -4.223861211e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.579681874e-05 5.572319224e-05 -8.786897876e-06 0 0 -3.012907669e-05 9.581827502e-06 -1.75508607e-05 0 0 --4.07522973e-05 -1.807687388e-05 1.95883478e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.09422219353 0.2267513611 -0.001020157684 0.07201935413 -0.1355006521 --0.04473853034 0.02531608868 -0.004012997988 0.0002642615043 -0.02879379014 -0.07089069264 -0.01776637737 0.02081354491 0.01187609067 0.03151695048 -0.001406868393 0.03265138172 0.001251389653 0.009718699519 -0.02198265218 --0.006074723378 -0.01605526481 -0.1049106716 -0.04938986835 0.0008101665117 --0.07322344639 0.04293843663 -0.08386246527 -0.03371383018 -0.06090974734 --0.03053343624 -0.03327961667 0.02414451202 -0.004204345507 0.01167087441 -0.05618429262 0.04862761064 -0.03422188068 0.00804244782 -0.01362344002 --0.00628711316 0.0005387899956 -0.02289602103 -0.01240457031 -0.01091269704 --0.01342811098 0.03784548817 -0.0510039996 -0.01268074914 -0.03393906536 --0.006022148561 0.004355351186 -0.007186461512 -0.002615016113 -0.005431353145 --0.01635724768 -0.01566176357 0.01755404347 0.0008309822797 0.006882526681 -0.02369007327 0.01492073065 -0.02827101715 -0.005823399507 -0.008994476861 -0.005107992012 0.002532384789 -0.008418518114 -0.00273041501 -0.002652210609 -0.01297963874 0.0139266126 -0.01779439681 -0.002041437181 -0.007350532039 --0.008394201411 -0.006827315894 0.01035420282 0.001626371234 0.003777004903 --0.008633551693 -0.00456773492 0.007915347425 0.001224806804 0.002057843814 -0.01359292924 0.008311065124 -0.01212991579 -0.001377213623 -0.003652942639 -0.001958684891 0.001229006216 -0.002281387002 -0.0004424918357 -0.000681919142 -0.004362776025 0.003487802445 -0.004545187234 -0.0004662286426 -0.001712496491 -0.008296418718 0.007060525584 -0.01103036754 -0.00189305206 -0.00413074565 -0.003900785553 0.002390130097 -0.003558966401 -0.0005806988763 -0.001557638011 --0.006077427924 -0.003997956514 0.00667427639 0.0009798824966 0.001653207919 --0.0006311192322 -0.0002838337555 0.0007230438709 5.148935743e-05 -0.000237922768 --0.001249449925 -0.0002908593423 0.0003925773924 2.586459713e-05 0.0001880860814 --0.003742494112 -0.002892156226 0.004374872513 0.0006548042008 0.00152588914 --0.003135886007 -0.002259445724 0.002954910114 0.000348055253 0.001281862891 -0.004951515202 0.00343693593 -0.005147788757 -0.0007127314985 -0.001726601126 -0.0008462828286 0.0005561887744 -0.0008732069351 -0.0001232686729 -0.000258844548 -0.001775401686 0.001147445494 -0.001787041492 -0.0002470164939 -0.0005323920305 -0.001496264016 0.001702402138 -0.001975859666 -0.0002310821701 -0.001084163198 -0.001152790819 0.0004278769916 -0.001592343994 -0.0004316445516 -0.0001677183776 --0.001762880102 -0.001663127575 0.001264119734 -8.170205626e-05 0.0009538612439 --0.0002808668353 -0.0003667030515 -9.969740688e-05 -0.0001636995079 0.0002114315182 --0.0006701525572 -0.0001677953445 0.0005833178349 0.0001295759074 1.571797984e-05 --0.0009266459502 -0.000749241577 0.001445066765 0.0002991858192 0.0004097514235 --0.001020607623 -0.0006081644779 0.001110928617 0.0001896379323 0.0002715463277 -0.001661850922 0.0009945607991 -0.001878806392 -0.0003357589974 -0.0004466080633 -0.0003136995302 0.0002281235238 -0.0002550570563 -1.363907149e-05 -0.0001149716721 -0.000646894007 0.0004119243606 -0.0005528538788 -5.312902431e-05 -0.0001909423574 -0.0006734395704 0.0004708449317 -0.0006968872494 -9.650823649e-05 -0.0002429982724 -0.0004183739115 0.0002663252348 -0.0004901842338 -8.617714111e-05 -0.0001209447356 --0.0006340398986 -0.0004622663505 0.0006396081471 8.106925686e-05 0.0002482887473 --8.344408188e-05 -5.332927151e-05 9.87300636e-05 1.750133115e-05 2.423478601e-05 --0.0001929161819 -0.0001127115617 0.0002475906439 4.965849226e-05 4.424235765e-05 --9.08805161e-05 1.937571461e-05 9.988132989e-05 3.50623572e-05 -3.459226888e-05 --6.194938648e-05 -9.8379398e-05 -5.610394976e-06 -3.07468444e-05 7.06854928e-05 -9.4854346e-05 -1.38631695e-05 -0.0002193820783 -8.072183955e-05 3.089478988e-05 -1.413893344e-05 -1.814564813e-05 -7.044654148e-05 -3.06456649e-05 1.822454512e-05 -2.781657373e-05 5.173376148e-05 -2.510874708e-05 4.581017558e-06 -3.812449759e-05 --9.165996717e-05 -2.353876852e-05 0.0001771028469 5.421328483e-05 -3.652549011e-06 --7.184877546e-05 -4.660602306e-05 6.906551092e-05 7.93182607e-06 1.930105806e-05 -0.0001140227661 3.606557854e-05 -0.0001663042325 -4.439109128e-05 -8.647929669e-07 -1.587768966e-05 1.305512292e-05 -1.483269651e-05 -9.019474587e-07 -6.424052099e-06 -3.528035293e-05 1.715151383e-05 -4.930938799e-05 -1.140580422e-05 -4.96611852e-06 -4.23405994e-05 3.626928852e-05 2.227665069e-05 2.150158989e-05 -2.137061627e-05 --1.245153707e-06 8.274883428e-06 2.698046299e-07 1.862504792e-06 -7.268239063e-06 -5.796843726e-06 -9.844897195e-06 -1.091475404e-05 -5.892007133e-06 9.829514417e-06 -4.695797623e-06 1.430825718e-05 1.739111447e-05 1.058554415e-05 -1.124482163e-05 -1.08590377e-05 -3.932183561e-06 -1.095867276e-05 -4.029266651e-06 5.960564455e-06 -3.605068842e-05 4.763547294e-05 -1.135144321e-06 1.450538676e-05 -3.123237695e-05 -2.071577516e-05 -8.306269197e-07 -5.055042557e-05 -1.746671118e-05 7.185014149e-06 --3.084430784e-05 -5.788079156e-05 -1.355083372e-05 -2.200577593e-05 4.139687161e-05 --4.535991328e-06 -8.684388925e-06 -3.208564181e-06 -3.747530975e-06 6.265154281e-06 --1.035248416e-05 1.202301514e-06 2.39729595e-05 8.409305141e-06 -4.217153732e-06 -0.1082811999 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02081564347 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00177686416 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007732181945 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000418117818 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003977365066 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.415263961e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.999287841e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001666625009 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.118726226e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.980996335e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.12621208e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.322177155e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04489305823 0.007354468279 -0.02823510433 0 0 -0.008392141993 0.1676177972 0.1200709564 0 0 -0.1235536617 -0.1954459522 -0.240338314 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02466350321 -0.00115531029 -0.01943026701 0 0 -0.001035154371 0.2091723602 0.1569676257 0 0 --0.002638697802 0.09122219742 0.07078047396 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001263059346 -0.002542548419 -0.000966948948 0 0 --0.001882508751 0.04790509106 0.03754893388 0 0 --0.0005673063973 0.04918717434 0.0375259406 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00135533728 0.00144866137 7.26339619e-05 0 0 -0.001117056839 -0.02257491976 -0.01786831117 0 0 -0.000824102367 -0.00447473947 -0.003995396693 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003818356193 0.0006806449709 0.0008006118984 0 0 -0.0004557901805 -0.01816851908 -0.01404576604 0 0 -0.0008274110638 -0.0182750765 -0.01440571102 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.114701271e-05 -0.0001735830242 -0.0001393010433 0 0 --0.0001218499608 0.003993305924 0.003103531151 0 0 --9.619789835e-05 0.003045424422 0.002369310889 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001310466224 -0.0001607561386 -0.000219841993 0 0 --0.0001035756134 0.004594843018 0.003543403986 0 0 --8.89768888e-05 0.00240118458 0.001877941791 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.175299851e-05 -1.025748083e-06 1.559877963e-05 0 0 --2.931448575e-06 -0.000138580249 -0.0001023177059 0 0 -3.762065049e-05 0.0009343454435 0.0006764142014 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.224161419e-05 5.574473671e-05 6.630049298e-05 0 0 -3.732791517e-05 -0.001495161309 -0.001155743883 0 0 -7.952405033e-05 -0.00165485236 -0.001307930749 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.995274021e-06 -8.241938206e-07 -4.38142784e-06 0 0 --6.249677243e-08 5.570016728e-05 4.20585156e-05 0 0 --5.915562507e-08 0.0002891484524 0.0002181327985 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.029413477e-05 -8.813649542e-06 -1.439305208e-05 0 0 --5.581674985e-06 0.0002749582249 0.0002115695138 0 0 -1.450879055e-05 -3.422936975e-05 -3.673258154e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.401237462e-06 -3.873685017e-06 1.895773992e-06 0 0 --3.259075597e-06 3.972402269e-05 3.241627679e-05 0 0 -1.17397427e-05 0.0001459996995 0.0001012906958 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.351302593e-06 2.71143869e-06 5.319115994e-06 0 0 -1.680218873e-06 -9.336603285e-05 -7.167749276e-05 0 0 -1.48929462e-05 -0.0001527239514 -0.000126385273 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01709255056 0.0223019941 -0.0387094193 0.001659207676 0.01777836055 -0.01113434474 0.006476187888 -0.009659591876 -0.002280918699 -0.006560984008 -0.05716895737 0.04064847584 -0.06388772424 -0.008623026594 -0.01702091016 --0.04089652208 0.01706199077 -0.04344312909 0.02543323362 0.1161399713 -0.06925037756 0.01799317898 -0.01702087238 -0.02349100178 -0.09102043979 -0.03139080499 0.01512594547 -0.02118142219 -0.00773831596 -0.02555478313 -0.01180720531 0.007000447629 -0.0105000959 -0.002363269762 -0.006658027674 -0.005907872642 0.003708972935 -0.005652269821 -0.001096389122 -0.002866770939 --0.01592504312 0.003384928223 -0.01062013237 0.008542962942 0.03788155808 --0.0119502022 -0.0001009799944 -0.002866730362 0.005307972362 0.02247562706 -0.002058186554 0.0009450852601 -0.001298622031 -0.0005268606831 -0.001780697522 -0.0008755066455 0.0005548961606 -0.0008477743223 -0.0001602847965 -0.0004130032089 --0.0008107947752 -0.0005921888377 0.0009364062261 0.0001157426098 0.0002060345833 --0.0004439148794 -3.977370238e-05 -3.689278065e-05 0.0001821353277 0.0007537370955 --0.001592038544 -0.0003177662543 0.000206038275 0.0005800848784 0.002308583087 -0.0002069630321 0.0002542985816 -0.0004382930348 1.35175253e-05 0.0001797962914 -8.368747989e-05 3.432055008e-05 -4.48673268e-05 -2.313748281e-05 -8.165928784e-05 -0.001031910302 0.0007265775882 -0.001139400133 -0.0001586262351 -0.00032330712 --0.0006539238641 0.0002723687582 -0.0006937784742 0.0004064833282 0.00185603673 -0.0009727107365 0.0002963311599 -0.0003233059058 -0.0003117599877 -0.001180273447 -4.95303154e-05 4.187957863e-05 -6.822342945e-05 -4.689175482e-06 2.650152928e-07 -4.01661869e-05 2.837234795e-05 -4.452588097e-05 -6.136404912e-06 -1.237947956e-05 --5.699602804e-05 -3.864694571e-05 6.006495436e-05 9.381289462e-06 2.120223929e-05 --1.516721216e-07 -3.168951892e-06 6.083745681e-06 -1.255204556e-06 -6.852157305e-06 -3.964046854e-06 -1.044838577e-05 2.120256356e-05 -6.137148657e-06 -3.107333067e-05 --1.823219777e-05 -6.51891937e-06 7.923570066e-06 5.440802928e-06 1.994929841e-05 --6.671180284e-06 -4.158520158e-06 6.325250781e-06 1.250427706e-06 3.303989977e-06 -1.034835328e-05 7.60142663e-06 -1.203500447e-05 -1.459216043e-06 -2.532350472e-06 -1.308709632e-06 1.51413965e-06 -2.590097264e-06 4.627488389e-08 9.253664826e-07 -2.199823436e-05 4.227935939e-06 -2.532333874e-06 -8.083403405e-06 -3.226612669e-05 -0.0001216017839 5.167937354e-05 -6.869138106e-05 -3.286410802e-05 -0.0001145763653 -4.15317816e-05 2.411978136e-05 -3.595977861e-05 -8.523326867e-06 -2.455576966e-05 -1.278404225e-05 6.77132662e-06 -9.807139278e-06 -2.896265131e-06 -9.03009288e-06 --5.359185502e-05 9.052682695e-06 -3.122140616e-05 2.777289835e-05 0.000122212104 --7.461090804e-05 -5.220637775e-06 -9.029900947e-06 3.12237465e-05 0.0001299836333 --6.38703138e-05 -1.675654457e-05 1.601007699e-05 2.159865713e-05 8.358571568e-05 --2.018198812e-05 -1.235521957e-05 1.870008762e-05 3.87694238e-06 1.050314133e-05 -4.922740883e-05 3.614268055e-05 -5.721700527e-05 -6.948847174e-06 -1.208594028e-05 --3.558732833e-06 9.809988044e-06 -1.986529278e-05 5.689143238e-06 2.88648671e-05 -0.0001039647449 2.004251438e-05 -1.208594511e-05 -3.817706257e-05 -0.000152353687 --1.226161138e-05 -2.076587004e-06 8.704737772e-07 4.622530733e-06 1.861579399e-05 --2.4247443e-06 -1.195638416e-06 1.688788e-06 5.863578878e-07 1.91254065e-06 -4.477680044e-06 3.583664134e-06 -5.776603493e-06 -5.084077514e-07 -4.320184027e-07 -1.331366431e-06 1.189394916e-06 -1.956865794e-06 -9.945683203e-08 1.506055306e-07 -2.096559188e-05 3.003916624e-06 -4.320338751e-07 -8.132142456e-06 -3.306226798e-05 -1.326090458e-05 6.920322849e-06 -9.972829359e-06 -3.047548256e-06 -9.600322983e-06 -5.770010345e-06 3.60018569e-06 -5.477408782e-06 -1.080088962e-06 -2.849978513e-06 --7.479966574e-07 -6.393338772e-07 1.043583156e-06 6.794363206e-08 -1.94976861e-08 --5.361942711e-06 9.123045985e-07 -3.136441669e-06 2.781462069e-06 1.224230289e-05 --5.083263862e-06 -6.64018165e-07 -1.948897204e-08 1.998546765e-06 8.161082828e-06 --1.732026541e-06 9.379878669e-07 -2.256021664e-06 1.167063359e-06 5.404008736e-06 --6.245347411e-07 -5.579832165e-07 9.180416509e-07 4.663516658e-08 -7.075239031e-08 -1.141153181e-05 8.090380244e-06 -1.270728932e-05 -1.731054475e-06 -3.45047749e-06 --5.590342348e-06 2.752996318e-06 -6.751288831e-06 3.652247223e-06 1.682367994e-05 -1.291036258e-05 3.497978117e-06 -3.450466998e-06 -4.319515493e-06 -1.664561124e-05 --1.098641985e-05 -2.266171549e-06 1.563486703e-06 3.972468666e-06 1.576599453e-05 --3.138708307e-06 -1.894967243e-06 2.857004724e-06 6.140157839e-07 1.693206205e-06 -9.726014907e-06 7.142273359e-06 -1.13073455e-05 -1.372300474e-06 -2.384591173e-06 --1.486463722e-06 2.125296068e-06 -4.487055765e-06 1.55285212e-06 7.612736867e-06 -2.059696388e-05 3.96564238e-06 -2.384594419e-06 -7.565564744e-06 -3.019497586e-05 -1.014667298e-06 1.67911697e-06 -2.984181682e-06 2.468000649e-07 1.855720218e-06 -9.632398594e-07 6.165715898e-07 -9.44456347e-07 -1.738122882e-07 -4.407124193e-07 -3.151787543e-06 2.275096066e-06 -3.588085464e-06 -4.611590755e-07 -8.615452135e-07 --2.449027171e-06 1.06612352e-06 -2.687294328e-06 1.541565747e-06 7.054892452e-06 -5.143043618e-06 1.127953505e-06 -8.615456127e-07 -1.831606888e-06 -7.229310648e-06 -0.2240345941 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1956436186 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1935237281 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009819627761 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02653076424 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01485920955 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01302989144 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001063972136 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008150779802 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001770431264 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004032382332 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001930544626 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.603876342e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1710721922 -0.06922130003 -0.1083270994 0 0 --0.04512355407 0.277652692 0.2970878662 0 0 -0.01792148324 -0.3695361264 -0.08377355794 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02510058603 0.002532266672 0.02808963907 0 0 -0.01888371753 0.1831995079 0.1573372951 0 0 -0.06180871055 -0.1475440244 -0.02837181949 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004845870097 -0.004341280371 -0.003903641429 0 0 --0.004543030655 0.09121044642 0.06899383019 0 0 --0.003071500374 0.03569862836 0.01693940597 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002873034839 0.0006841590302 0.001698567172 0 0 -0.002259047546 -0.0145344436 -0.01017704706 0 0 -0.003434617943 -0.02729055717 -0.01355933146 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003757895475 -0.001436278239 -0.001595618375 0 0 --0.001443086122 0.02523160264 0.01951445891 0 0 --0.001114145441 0.009943425476 0.006049348487 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004958857088 5.566833042e-05 -0.0001904312804 0 0 -0.0001645866126 -0.007108741472 -0.005378483218 0 0 -0.0002061872792 -0.006469932977 -0.004628738592 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.987856706e-05 -0.0001684310296 -9.401480688e-05 0 0 --0.000135461315 0.003222214168 0.002611149351 0 0 -0.0002759620625 0.0006704024343 0.0006080506739 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001840444314 7.156973914e-05 0.0001913185366 0 0 -9.675080843e-05 0.0007907744004 0.0005221814424 0 0 -0.000373071519 0.0004463008956 5.228775665e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002022192613 7.129170291e-05 0.0001595602457 0 0 -8.4072743e-05 0.000251221225 9.17328761e-05 0 0 -0.0002857087496 -0.000491971581 -0.0007188026288 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.848488638e-05 5.163948873e-05 9.015138352e-05 0 0 -4.669415327e-05 -0.0002834433035 -0.0002489839927 0 0 -0.000161051251 -0.0003358647151 -0.0003751925616 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.498038493e-06 5.983106581e-06 1.347945918e-05 0 0 -3.076020788e-06 -7.861245472e-05 -5.241432339e-05 0 0 -7.67327241e-05 -0.0001397210162 -0.0001276071423 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.223054055e-05 -1.30138789e-06 7.678077128e-06 0 0 -7.930777512e-07 0.0002404218263 0.0001746250092 0 0 -6.719553298e-05 0.0001291437851 2.361565899e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.755736864e-05 1.482029887e-05 2.512429369e-05 0 0 -1.509865414e-05 -6.826413667e-05 -6.784470839e-05 0 0 -7.795001106e-05 -0.0001253154665 -0.0001725732452 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02674049843 -0.04132478217 -0.09792903898 -0.08146371736 0.1258056633 --0.01193384944 0.130667352 0.1563744736 0.006132733684 -0.0397199821 -0.0101742208 -0.07064047948 -0.02504486189 0.0684573017 -0.05281817503 --0.2884879417 -0.01264198704 -0.06086946397 0.04823694577 0.5451483695 -0.1429820243 0.05651175824 0.0121226801 -0.4158393838 -0.1434749613 -0.01833558764 -0.02482805229 -0.01953039001 0.02878084004 -0.0359559499 --0.009496724987 0.0888652749 0.06210831887 -0.04176104043 0.02427134189 --0.005101671966 0.01266732166 -0.005578697171 -0.01091864739 0.02396108849 --0.1750105389 -0.03215353545 -0.02947022702 0.1819576915 0.2779558745 -0.01417141837 0.07629363333 0.05936116145 -0.218702187 0.01333144384 -0.02282152756 0.001094283572 0.0008717170569 -0.007431304705 -0.03881044032 -0.005313929447 0.0035760748 0.003257055522 -0.002974768353 -0.009473964126 -0.001518518375 0.002858329783 0.003181309872 -0.0005476917983 -0.0036522898 --0.06669071786 -0.006924132538 -0.004833671699 0.03216811448 0.1110432884 --0.02479215208 -0.0009700537888 -0.001546455729 0.004940641939 0.04346876296 -0.005662329277 0.0001822443911 9.653222431e-05 -0.003296360697 -0.009281477504 -0.0003358279746 0.001944832901 0.001501907211 -0.001004713019 -0.0005357551242 -0.0006300946982 -0.001476778403 -0.001106818442 0.0006276261883 -0.001155388877 --0.005705361062 0.0004009096985 0.0003215199599 0.002304601949 0.009543522089 --0.008548331394 0.001290233278 0.00071746529 -0.002917807062 0.01580839788 --0.003616739593 -0.0005808855268 -0.0005603078382 0.001726363226 0.006166040236 -0.0002890721874 0.000671195155 0.0007718115074 -0.0001266913895 -0.0007611821428 --0.0002994645391 0.0005978917659 0.0008410882969 0.0002886928175 8.456655264e-05 --0.0097579517 -0.001031000851 -0.0007073964362 0.004789835606 0.01621971121 -0.008812682076 0.0009144392082 0.0004610289027 -0.004557319005 -0.01445279681 -0.002978836664 0.0001287121245 -8.87147624e-05 -0.001506743877 -0.004784408083 -0.0002860234341 9.837496215e-05 0.0002990372135 8.013544464e-05 -0.0007270235808 -0.0002116930781 5.403239083e-05 0.0002571820516 0.0001121386386 -0.0005923724455 --0.001545004613 -0.0001313806351 -0.0001912221998 0.0003297593458 0.002745644564 --0.004911701614 -0.000535360228 -0.0005389990665 0.002104471329 0.008379927447 --0.001591096931 -0.0003301754233 -0.0003604766437 0.0008357991566 0.002753071984 --0.0001055720119 0.0003541583121 0.0002245780818 -0.000158829381 0.0002350117137 --0.0001134979844 -9.600049995e-06 -0.0002738322545 -0.0001954131599 0.0004783973871 --0.0004606732034 -0.0003845953916 -0.0005226412684 0.0005935620271 0.0009217822287 -0.002952156196 0.0006170949637 0.000604341245 -0.001939077773 -0.004968720359 -0.001634830315 0.0001223080227 3.006020702e-05 -0.0008771942587 -0.002654150506 -0.0001978175105 -0.000190550282 -0.0002440216962 -9.732517417e-05 -0.0002277385424 -0.0001585600035 -0.0003785768289 -0.0005888680224 -0.000219648023 5.895471122e-05 --0.001121764492 -0.0001917744817 -0.0003702302014 2.626202909e-05 0.002184399501 --0.002652674379 -0.0001112631597 9.638048418e-05 0.001423899508 0.004230366702 --0.0007920113296 -9.712902271e-05 -0.0001118089088 0.0002815471389 0.00137863423 --4.047468607e-05 -6.031780001e-05 -9.185909993e-05 -6.872400364e-06 0.0001177566799 --3.721621969e-05 -0.0001402325336 -0.0002570431523 -8.355247065e-05 0.0002261120313 --1.115501407e-05 -7.991596987e-05 -0.0001732290106 -0.0001080039751 0.0001473142519 -0.001416344382 0.0001946950546 0.0002419971227 -0.0004816129714 -0.002494517305 -0.0001359314373 -8.825131027e-06 -3.61798064e-05 -5.911038413e-05 -0.0002006113469 -1.251134683e-05 9.800713478e-06 -7.065141434e-06 -2.321491289e-05 -5.003602177e-06 -1.355756763e-05 -4.938985258e-05 -0.00011358373 -6.034004875e-05 5.952425679e-05 --0.0001018757835 -7.297287055e-05 -0.0001240064645 2.004101153e-05 0.0002414217553 --0.0002155402683 1.410600519e-05 5.308188143e-05 6.780552398e-05 0.0003272743585 -4.52438477e-06 -2.637549677e-05 -5.297718111e-05 -2.414098518e-05 2.807094523e-05 --1.330669652e-06 1.818544147e-05 1.982905668e-05 -1.038983707e-06 -3.997654764e-06 -3.22114304e-06 -3.15288945e-05 -5.872117784e-05 -2.220269461e-05 3.194165133e-05 -3.496705875e-06 -4.128029357e-05 -8.184418848e-05 -3.205640314e-05 4.812866157e-05 --5.399040258e-06 2.474412716e-05 3.786636553e-05 -2.407322858e-05 -4.222120858e-06 -6.471208591e-05 -1.440436303e-05 -4.02849393e-05 -6.604307725e-05 -7.34530087e-05 -1.012801685e-05 -1.010531806e-05 -3.759542625e-06 4.313437464e-06 -2.156510645e-05 -9.896047208e-06 -4.402850452e-05 -6.630371439e-05 -1.995309278e-05 1.882711329e-05 --7.182569896e-05 -3.24729053e-05 -7.134723881e-05 -3.544196567e-05 0.0001775788319 --9.472769429e-05 5.887173625e-06 2.455509282e-05 7.326556649e-05 0.0001336981834 --5.163162775e-05 -2.014427135e-05 -3.839336368e-05 -3.599409221e-07 0.0001129867102 --2.560217492e-06 -1.358076998e-05 -2.276791563e-05 -6.060800221e-06 1.774697118e-05 -2.1555255e-06 -5.491308264e-05 -0.0001015725722 -3.932322216e-05 6.122721408e-05 -8.712560542e-06 -3.800664505e-05 -8.22943535e-05 -5.216922818e-05 4.544126349e-05 -9.18569298e-05 3.417226299e-05 6.161353496e-05 -1.291732001e-05 -0.0001932995181 -0.1740691178 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01831031347 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001517977974 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001818118535 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009031706446 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00415311426 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002156256082 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006745358349 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001170736176 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004428379537 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.326959235e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.396667829e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.49981445e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.204769992 -0.1456620201 -0.3260090107 0 0 --0.02718786634 0.1689672685 0.07677758863 0 0 -0.2839998662 0.1519837232 0.002765710571 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05970503516 0.03553032094 -0.06356707304 0 0 -0.04611035938 0.04417357061 -0.05337512478 0 0 -0.2248984639 0.04773100732 -0.05870919777 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06108543881 0.01614751606 -0.03019857665 0 0 -0.01951556421 0.005747312132 -0.006241086027 0 0 -0.004891138292 0.007274099556 -0.004084662562 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006103156142 0.0005677182208 0.002434742573 0 0 --0.003210725964 -0.0001692009271 -0.0006740200613 0 0 -0.01099328887 0.0003897839264 -0.003733250745 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01174688732 0.003565035661 -0.005693404693 0 0 -0.003563787335 0.0009259366938 -0.001459661214 0 0 -0.003916671612 0.001478646052 -0.002582972767 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001140232019 -0.000366003781 0.000524773425 0 0 --0.0007327138367 -3.799548651e-05 0.0004567652685 0 0 -0.0007086157092 0.0001730109823 -0.0003083988535 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004853120179 -1.673481919e-05 -0.0005306250956 0 0 --3.563437974e-05 0.00015824363 -2.88461527e-05 0 0 -0.001245218407 0.0002446759145 -0.0005017477937 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001399018239 0.0006974415883 -0.0004803343553 0 0 -0.0006821167682 1.153030616e-05 -0.0004514509525 0 0 --0.0002579001447 -0.0006170285638 -0.000347275125 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007890445706 -4.490486527e-06 0.0006145401683 0 0 --4.501977048e-05 -0.0001490840154 -5.07689093e-05 0 0 -0.001094914617 -2.273537699e-05 -0.0008807441825 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.685555414e-05 9.35473043e-05 2.208573747e-05 0 0 -6.394392011e-05 -1.171314712e-05 -6.340224324e-05 0 0 -0.0001019041653 -0.0001294617939 -0.0001650157715 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.071453551e-05 -2.830341791e-05 8.533962197e-07 0 0 --1.656979883e-05 -6.149729801e-06 -1.84979976e-06 0 0 -9.064463147e-05 -4.527748449e-05 -8.84665263e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001135815717 6.603430979e-05 -2.621420786e-05 0 0 -6.307978302e-05 -1.616628533e-06 -3.785412112e-05 0 0 -5.943952684e-05 -8.215354035e-05 -0.0001221787755 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001019746665 3.065899411e-06 8.302272681e-05 0 0 --7.812477551e-06 -2.050198285e-05 -5.013248662e-06 0 0 -0.0001424276035 -5.07435706e-05 -0.0001519632969 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.07885389922 -0.08658799075 -0.3963878311 -0.1829681382 0.04389370847 -0.01138551476 0.2247023236 0.08889978903 0.1010140031 -0.143979112 -0.3843856098 0.2442120329 0.02646559608 0.1198896331 -0.0775975079 -0.01333868307 -0.02226670891 -0.3337438647 -0.1460315385 -0.01096827697 -0.03689430064 0.1360987876 -0.02839094362 0.02948144474 -0.08787751018 -0.1068533123 0.06926368935 -0.1208439264 -0.02231381041 -0.03943708335 --0.004781579066 0.1087421139 -0.07497994904 0.004735947973 -0.05997770316 -0.2467182944 0.125813208 -0.02164974935 0.06901246801 0.02311481375 -0.0693703185 0.1097937976 -0.0763297218 0.01339720632 -0.04059992797 -0.04926090008 -0.01474307686 -0.01793080645 -0.009476930535 0.00983242694 -0.05381362946 0.03504406484 -0.05623004343 -0.008612392954 -0.01755264097 -0.01641277734 0.01585180279 -0.02549773842 -0.004842902303 -0.009992080957 -0.02776560139 0.009846324622 -0.01966782777 -0.00294510071 -0.003160413821 -0.02513428159 0.01558740527 -0.02535233333 -0.003861630256 -0.007610448447 -0.01456728866 0.007838195856 -0.008332764764 0.0005615636181 -0.001611595366 -0.01004198013 0.008244807043 -0.01260147865 -0.002019918113 -0.004605810522 -0.006703662455 0.004625513909 -0.007568495509 -0.001252974542 -0.002457980303 --0.004397801963 -0.005563480754 0.007202776019 0.001006860231 0.003342704065 --0.001675854318 0.0002805335594 -0.00216971151 -0.001124858742 -0.001105501858 --0.003131998515 0.001061641564 0.002298463864 0.001123266933 -0.0006220860362 -0.001236429818 0.0006253140744 -0.0009558493763 -0.0001234966605 -0.0003090842735 --0.002363693967 -0.0007824296351 0.00140892602 0.0001191869004 9.518517214e-05 -0.01261715391 0.007356834491 -0.01201541799 -0.001701009356 -0.003222959065 -0.005378276203 0.003464261773 -0.005677012952 -0.0008326912051 -0.00152928858 -0.00469339516 0.002538899587 -0.004308936291 -0.0005613618948 -0.0008605398816 -0.004177732912 0.002926835129 -0.004710479129 -0.0007116117184 -0.001385265134 -0.002811062199 0.001997393132 -0.002350348622 -0.0002231508429 -0.001200172019 --0.003122301828 -0.001864610426 0.003485222792 0.0005569331882 0.0006505712682 --0.0001077527106 2.680817663e-05 7.108402944e-05 1.416833921e-05 -7.512200289e-05 --0.001100557821 -0.0007104486522 0.0007359710471 3.854969593e-05 0.0004349687348 --0.0009102337569 -0.001075990694 0.0004743383443 -0.0001714630852 0.0006466815278 --0.001056097523 -0.0004224848841 0.0007256712454 8.379191318e-05 0.0001334641676 -0.002268790926 0.0009608679441 -0.001853485656 -0.0002887256891 -0.0003451141888 -0.0004761960798 -3.041390875e-06 -0.0009286392687 -0.0003363497633 5.111339135e-05 -0.0007909867892 0.0007552799695 -8.10459585e-05 0.0002404028968 -0.0004063734825 -0.001572194727 0.001091549039 -0.001832298242 -0.0003031201939 -0.0005435638802 -0.001057551422 0.0004157840923 -0.001272461199 -0.0002972777322 -0.0001126317434 --0.0006802265794 -0.0009415096843 -0.0002810789142 -0.0004136206826 0.0005919331618 -0.0001918022405 -0.0002278528566 -0.0008864041483 -0.0003905685995 0.0002108234782 --0.000361472918 0.000165212114 0.0006319063205 0.000255227011 -0.0002033377862 --0.0003820911903 -0.0002651959043 0.000404494722 5.84845137e-05 0.0001351795245 --0.0002946997626 -0.0002456189697 0.0002509661624 1.45933595e-05 0.0001487921395 -0.0006354430986 0.0002574674364 -0.001006972862 -0.0002563912701 -2.044813496e-05 -0.000158561231 -1.015367481e-05 -0.0003807617147 -0.0001262579287 7.720697468e-05 -0.0001966423725 0.0002147330561 -8.133772106e-05 3.194323151e-05 -0.0001553383296 -0.0001192597325 1.312167072e-05 -0.0002135686322 -6.963459373e-05 1.374056709e-05 -4.076667301e-05 4.453332331e-05 -8.627307805e-05 -2.002255606e-05 -2.943332018e-05 -9.033659061e-06 -8.118347919e-05 -2.84205973e-05 -2.848210991e-05 7.169895639e-05 -2.16804935e-05 -5.867826009e-05 -0.0001240431866 -6.020396942e-05 5.456680935e-05 -1.384292214e-05 6.365243267e-05 0.0001106720967 5.987110027e-05 -5.054814024e-05 -7.78239298e-05 2.669855811e-07 -0.0001804184437 -6.28046087e-05 1.855707355e-05 -5.411295827e-05 4.136995231e-05 -5.476083761e-05 -5.511855694e-06 -1.94422976e-05 --6.809554239e-05 -9.995129502e-05 2.696732672e-05 -2.150749466e-05 6.199751932e-05 --1.548968018e-05 -8.239029979e-05 -0.0001145196815 -6.7392228e-05 6.098080902e-05 --3.574978926e-05 2.932399444e-05 9.004639578e-05 3.896028977e-05 -3.159932037e-05 -2.615735561e-05 -4.91416947e-06 -7.913951074e-05 -2.925699072e-05 1.15159811e-05 -1.617077563e-05 2.442434687e-06 -2.852468546e-06 1.169929643e-06 1.676084671e-06 -3.676286013e-05 -2.695142152e-05 -0.0001456898764 -5.923721637e-05 3.347482361e-05 -2.31758712e-05 -4.88099753e-05 -0.0001440931681 -6.506477335e-05 4.8760908e-05 -1.176068537e-06 4.365768228e-05 2.678060786e-05 2.062632816e-05 -3.682817626e-05 --2.185528165e-05 -4.172803732e-05 -2.083273263e-05 -2.011611567e-05 3.023020458e-05 --1.550824923e-05 -2.499685853e-05 -4.006522731e-06 -9.034530263e-06 1.728615723e-05 -3.681130768e-05 -5.131805798e-05 -0.0001477517765 -6.499701597e-05 5.604166684e-05 -6.06165988e-06 -6.15396029e-05 -0.0001145678864 -5.787825303e-05 5.631419164e-05 -7.430385717e-06 5.68937808e-05 6.139008829e-05 3.770064984e-05 -4.764466108e-05 -0.08453014315 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01049610249 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001670173421 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002775450943 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008207463629 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.62487533e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.828347323e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.145746376e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.373841966e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.060315761e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.257023959e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.460199219e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.786276606e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0630191038 0.3444741738 0.3071571697 0 0 -0.0282675874 0.01840086789 -0.007395905717 0 0 --0.04489305823 -0.007354468279 0.02823510433 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03290354664 0.08243511761 0.0374086121 0 0 -0.01523359611 0.0166163162 0.001068033217 0 0 --0.02466350321 0.00115531029 0.01943026701 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002513521406 -0.01213111375 -0.007257764909 0 0 --0.0009316764284 0.002406425786 0.002516321561 0 0 -0.001263059346 0.002542548419 0.000966948948 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001726193257 -0.01268905653 -0.0108701419 0 0 -0.0009249488857 -0.000980155421 -0.001435433707 0 0 --0.00135533728 -0.00144866137 -7.26339619e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009011520608 0.003883068094 0.003606602005 0 0 --0.0001967627557 -0.001086871355 -0.0006716995771 0 0 -0.0003818356193 -0.0006806449709 -0.0008006118984 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.52155468e-06 8.924577647e-05 6.166378806e-05 0 0 --3.246630573e-06 0.0002241568014 0.0001715115043 0 0 --1.114701271e-05 0.0001735830242 0.0001393010433 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001585115064 0.001252138502 0.0008251124087 0 0 -7.190710078e-05 0.0002818605478 0.0001584797476 0 0 --0.0001310466224 0.0001607561386 0.000219841993 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.600301825e-05 -0.001051531415 -0.000743439588 0 0 --1.36030909e-05 -1.210868914e-05 1.105429489e-06 0 0 -2.175299851e-05 1.025748083e-06 -1.559877963e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.671989429e-05 0.0004701556523 0.0004198392741 0 0 --1.671028886e-05 -8.960785118e-05 -5.501053563e-05 0 0 -3.224161419e-05 -5.574473671e-05 -6.630049298e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.961172754e-06 -0.0002435212486 -0.0001881610493 0 0 -3.062825444e-06 4.107477777e-06 7.927453593e-07 0 0 --4.995274021e-06 8.241938206e-07 4.38142784e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.909009087e-06 0.0002538073225 0.0001966165742 0 0 -5.860127517e-06 1.736179713e-05 8.684505328e-06 0 0 --1.029413477e-05 8.813649542e-06 1.439305208e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.209712938e-05 -0.0001173762187 -7.190516742e-05 0 0 --4.201469441e-06 9.112237229e-07 3.849410025e-06 0 0 -6.401237462e-06 3.873685017e-06 -1.895773992e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.867365402e-05 7.782770711e-05 7.274621948e-05 0 0 --2.533313469e-06 -6.068256654e-06 -2.670194751e-06 0 0 -4.351302593e-06 -2.71143869e-06 -5.319115994e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05329822503 -0.0399677014 0.06356416943 0.007174329177 0.01120116649 --0.09153847538 -0.01214777254 1.663276273e-05 0.03591002422 0.1465345832 --0.05811617831 1.638438309e-05 -0.01492193482 0.02602559127 0.1104468199 --0.00468010523 -0.002933775286 0.004469114466 0.0008703771628 0.002280922915 --0.01113434474 -0.006476187888 0.009659591876 0.002280918699 0.006560984008 -0.006563392126 0.003239603564 -0.00457746544 -0.00158583899 -0.005169722301 --0.007363187628 0.006901450786 -0.01522058429 0.006178027074 0.02953908397 --0.03580051526 -0.01522065209 0.02023456394 0.009673011536 0.03371901676 --0.005011554834 -0.003176691854 0.004853521344 0.0009173448162 0.002363273937 --0.01180720531 -0.007000447629 0.0105000959 0.002363269762 0.006658027674 -0.001902346003 0.00127717918 -0.001980176345 -0.0003184338362 -0.0007363530322 -0.001324483425 0.000984194165 -0.001562169082 -0.0001820512125 -0.0002986779071 --0.002352934623 -0.001562169975 0.00241534788 0.0004011733754 0.00095024401 --0.0003847109168 -0.0002532363443 0.0003906989237 6.650413079e-05 0.0001602849876 --0.0008755066455 -0.0005548961606 0.0008477743223 0.0001602847965 0.0004130032089 --0.001085399864 -0.0008008668925 0.001269226688 0.0001515561869 0.000257538099 --0.001607053892 -0.0003174054282 0.0002014939689 0.000586957938 0.002337922463 --0.0006088730806 0.0002014901953 -0.0005452940901 0.0003567205955 0.001610744535 --2.992381853e-05 -1.496186068e-05 2.124026547e-05 7.150051736e-06 2.313749947e-05 --8.368747989e-05 -3.432055008e-05 4.48673268e-05 2.313748281e-05 8.165928784e-05 -0.0001079881334 7.474577714e-05 -0.0001167450975 -1.713850343e-05 -3.673957505e-05 -7.855274801e-05 5.422303252e-05 -8.46357241e-05 -1.25289182e-05 -2.705983272e-05 --0.0001231616892 -8.463571521e-05 0.0001319653515 1.980246918e-05 4.328241959e-05 --1.871620748e-05 -1.305734338e-05 2.043218928e-05 2.927556479e-06 6.136400826e-06 --4.01661869e-05 -2.837234795e-05 4.452588097e-05 6.136404912e-06 1.237947956e-05 --1.936224189e-05 -1.322954071e-05 2.059936074e-05 3.144891367e-06 6.975749459e-06 --1.769398567e-05 -8.990490951e-06 1.283669406e-05 4.167907504e-06 1.335783224e-05 -1.500829592e-05 1.283668968e-05 -2.095589827e-05 -1.35964358e-06 4.107611882e-07 -2.905926629e-06 1.895203454e-06 -2.917103426e-06 -5.097002531e-07 -1.250432189e-06 -6.671180284e-06 4.158520158e-06 -6.325250781e-06 -1.250427706e-06 -3.303989977e-06 -3.26923602e-05 1.813980107e-05 -2.667089432e-05 -7.062672964e-06 -2.123665341e-05 --9.721630332e-06 2.685770952e-05 -5.438155167e-05 1.556609327e-05 7.898527648e-05 --0.0001173749917 -5.438175047e-05 7.499550716e-05 2.984346016e-05 0.0001004572324 --1.744361287e-05 -1.092499107e-05 1.663841458e-05 3.2481178e-06 8.523340493e-06 --4.15317816e-05 -2.411978136e-05 3.595977861e-05 8.523326867e-06 2.455576966e-05 --7.943517154e-05 -5.497892322e-05 8.587005979e-05 1.260837997e-05 2.703309432e-05 --8.361523419e-05 -3.342993183e-05 4.316510902e-05 2.347699135e-05 8.352878218e-05 -3.514704498e-05 4.316502207e-05 -7.439220398e-05 2.28695017e-06 3.048691794e-05 -8.708700489e-06 5.622187551e-06 -8.63109986e-06 -1.551516338e-06 -3.876952155e-06 -2.018198812e-05 1.235521957e-05 -1.870008762e-05 -3.87694238e-06 -1.050314133e-05 --8.097545851e-06 -5.442346502e-06 8.440223526e-06 1.352988635e-06 3.121091491e-06 --9.130397606e-06 -3.304648146e-06 4.045428313e-06 2.707935839e-06 9.899995131e-06 -2.471967492e-06 4.04541799e-06 -7.182634945e-06 5.823470963e-07 4.418888697e-06 -9.406399784e-07 5.328767085e-07 -7.885432261e-07 -1.986387591e-07 -5.863587907e-07 -2.4247443e-06 1.195638416e-06 -1.688788e-06 -5.863578878e-07 -1.91254065e-06 -7.272812978e-06 4.592386304e-06 -7.009358621e-06 -1.338631233e-06 -3.469389475e-06 -1.471408107e-06 4.798678025e-06 -8.894337886e-06 1.344802866e-06 8.017016097e-06 --1.725240443e-05 -8.894361043e-06 1.276410533e-05 4.010346932e-06 1.273551085e-05 --2.514630812e-06 -1.640878005e-06 2.525987442e-06 4.407027723e-07 1.080091096e-06 --5.770010345e-06 -3.60018569e-06 5.477408782e-06 1.080088962e-06 2.849978513e-06 --1.374655622e-05 -9.926415951e-06 1.565635121e-05 2.009864321e-06 3.749619138e-06 --1.799252433e-05 -4.707684988e-06 4.485563945e-06 6.08973156e-06 2.357505039e-05 --2.257751447e-06 4.485528783e-06 -9.244783982e-06 2.883609579e-06 1.43961337e-05 -3.337609512e-07 2.607163182e-07 -4.182048678e-07 -4.057065381e-08 -4.663562016e-08 -6.245347411e-07 5.579832165e-07 -9.180416509e-07 -4.663516658e-08 7.075239031e-08 --1.476373572e-05 -1.028068638e-05 1.608020569e-05 2.317342132e-06 4.883825743e-06 --1.656980611e-05 -5.927560632e-06 7.206960163e-06 4.943451796e-06 1.812351815e-05 -4.210745887e-06 7.206938578e-06 -1.28453813e-05 1.123897685e-06 8.239095741e-06 -1.344675979e-06 8.612684146e-07 -1.319495458e-06 -2.424157258e-07 -6.140172128e-07 -3.138708307e-06 1.894967243e-06 -2.857004724e-06 -6.140157839e-07 -1.693206205e-06 --2.580910831e-06 -1.968181485e-06 3.14137555e-06 3.337199468e-07 4.685281329e-07 --5.24000474e-06 -3.672523938e-07 -6.330178458e-07 2.192626395e-06 9.12753612e-06 --4.623127829e-06 -6.330338829e-07 3.854161414e-08 1.805479408e-06 7.356724178e-06 --4.25483386e-07 -2.816102807e-07 4.350725346e-07 7.291130651e-08 1.738127114e-07 --9.632398594e-07 -6.165715898e-07 9.44456347e-07 1.738122882e-07 4.407124193e-07 -0.08408005694 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002253423474 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005070375992 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.343437215e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00132819167 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004420258949 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008239900039 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001469441522 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002563304572 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002021262081 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.649823212e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.967680532e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.776042917e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005529032548 0.4989880968 0.3890820714 0 0 --0.136190877 0.04432660547 0.03188551794 0 0 --0.1710721921 0.06922130003 0.1083270995 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02540157886 0.2418335408 0.2068604259 0 0 --0.04450911463 0.007061189679 -0.02577455454 0 0 --0.02510058163 -0.002532266741 -0.02808963684 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002834176325 0.04127489897 0.03272857763 0 0 -0.005266963792 0.005734409857 0.00648962188 0 0 -0.004845867487 0.004341279839 0.003903639642 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.273078781e-05 0.01223645207 0.009596357752 0 0 --0.003755803917 -0.0006060984215 -0.002424125187 0 0 --0.002873030497 -0.0006841592629 -0.001698565104 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004017058543 0.01080836966 0.008353461457 0 0 -0.0007107023641 0.001630474851 0.001834650486 0 0 -0.000375785702 0.00143627762 0.001595615876 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.198049069e-05 0.0007398881836 0.0005506916727 0 0 --0.0003344790637 -0.0002396821887 -0.000130670222 0 0 --0.0004958867193 -5.566801611e-05 0.00019043101 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003283123946 0.001759051144 0.001586089822 0 0 --0.0001330067413 0.0002225642868 0.0001129269798 0 0 --9.987742446e-05 0.0001684306372 9.401508294e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003159410841 0.0001859110436 0.0003777219841 0 0 -9.145574978e-05 -6.442047778e-06 -7.208270325e-05 0 0 -0.0001840421965 -7.156925379e-05 -0.0001913193048 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000259759386 0.0007562082983 0.0007598777652 0 0 -0.0001327025602 -2.0161987e-05 -4.864690393e-05 0 0 -0.000202218786 -7.129179384e-05 -0.0001595605663 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001313148279 0.0001179193224 0.0001876541873 0 0 -3.431741915e-05 -3.434810883e-05 -5.127724314e-05 0 0 -6.848537483e-05 -5.163934378e-05 -9.015101232e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.871324955e-05 6.587646186e-05 0.0001028527307 0 0 --1.120579108e-05 -3.676338349e-06 -1.204417872e-05 0 0 --4.497929436e-06 -5.983125676e-06 -1.347941798e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.220225687e-05 6.887715981e-05 0.0001052697956 0 0 -1.654541721e-05 8.142435421e-06 5.249702375e-06 0 0 -2.222996045e-05 1.301453728e-06 -7.678325234e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.17048317e-05 8.076041505e-05 0.0001140088418 0 0 -1.858925147e-05 -9.511752029e-06 -1.143763509e-05 0 0 -2.755740345e-05 -1.48202981e-05 -2.512427498e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0332244997 0.3090642056 0.3300018644 -0.03088011403 -0.0403063121 --0.3230490177 -0.01733793643 -0.008418805754 0.3212474174 0.5007590448 --0.2437794076 0.06322094754 0.03395281512 -0.1018273213 0.4587675002 --0.001960846119 0.01080766952 0.0515043287 0.05067239164 -0.04622036953 -0.01193384934 -0.1306673515 -0.1563744732 -0.006132733916 0.0397199823 --0.008185152149 0.1127943967 0.09085915673 -0.04435139442 0.01148924491 --0.1724123839 -0.009822487612 -0.0123684654 0.1168879431 0.2850479024 --0.1322167641 0.008445079192 -0.01012716641 -0.01571887532 0.2504124638 -0.002469749116 -0.02916677934 -0.02658994393 0.01762004004 -0.00208210212 -0.009496723326 -0.08886526632 -0.06210831231 0.04176103664 -0.02427133879 -0.006224423312 0.002304887843 0.001782745514 -0.003319059975 -0.01047142095 --0.05937598949 -0.005072408237 -0.003607098389 0.02443399066 0.09976812525 --0.04678941252 -0.003555970493 -0.002026767604 0.01937442088 0.07813697445 --0.001282796109 -0.0005361915804 -1.876863186e-05 0.00140354257 0.00166278135 --0.005313929247 -0.003576073909 -0.00325705484 0.002974767824 0.009473963818 --0.0002265720918 0.004582998411 0.003515092096 -0.002042121316 0.0004866214362 --0.003574791749 -0.0001704707163 2.78801617e-05 0.004893371566 0.005173825052 --0.002687792883 0.001362988409 0.0009171133268 -0.002664330326 0.005295721483 --8.678058935e-05 -0.0005191265928 -0.0003812587586 0.0004956242619 7.412605907e-05 --0.0003358290112 -0.001944826848 -0.001501902584 0.001004710292 0.0005357570869 -0.0007707339026 0.0004598723239 0.0004899254582 -0.0003450662624 -0.001443394745 --0.01168629851 -0.0009617703581 -0.0006273054497 0.004846461365 0.01957724868 --0.009213782819 -0.0006201945026 -0.0002267125645 0.003905054018 0.01526361609 --8.151244387e-05 3.096501583e-05 0.0002208390508 0.0002691499691 -8.934725091e-05 --0.0002890716071 -0.0006711933204 -0.0007718101032 0.0001266902412 0.0007611812252 -0.0001713652624 0.0002211240485 0.0004229447427 0.0001031485549 -0.0005650264642 --0.0003330823119 -1.696240534e-05 3.518696526e-05 0.0002328917058 0.000497724531 --0.0002678390391 6.006360306e-05 0.0001362859986 0.0001035168543 0.000366054122 --8.740316118e-05 0.0001582072697 0.0002912715517 0.000131693163 -3.584898596e-05 --0.0002860231934 -9.837758414e-05 -0.000299039218 -8.013418881e-05 0.000727023083 --2.324781708e-05 0.0005048234468 0.0005901362928 -1.627851068e-06 -0.0001760755762 --0.001183452996 -0.0002107552546 -0.0003025578769 0.0004473658095 0.002135314049 --0.0009237716314 -0.0002623654848 -0.0004948925856 3.583631111e-05 0.001901570651 -3.112020957e-05 -0.00013504661 -0.0001380050683 5.255001998e-05 -2.512386867e-05 -0.0001055719535 -0.00035415595 -0.0002245762757 0.0001588281924 -0.0002350115329 -0.0001197335856 9.575671336e-05 0.0001974887577 4.208334994e-05 -0.0003371779916 --0.0004636002646 -0.0001789147843 -0.000276645437 0.0001561843726 0.0009224604673 --0.0003506999196 -0.0002530382122 -0.0004825358363 -0.0001203003235 0.0009181795624 --3.994180189e-05 -2.870281614e-05 -9.732474086e-05 -6.407231619e-05 0.000152727885 --0.0001978170822 0.0001905466882 0.0002440189492 9.732686028e-05 0.0002277376936 --1.466391099e-05 4.474950036e-05 0.0001043756765 5.928924699e-05 -5.198448325e-05 --0.0003607588946 -9.243120802e-05 -0.0001433780942 0.0001011261522 0.0006864818117 --0.0002759969479 -0.0001427768663 -0.0002554911145 1.129903263e-05 0.0006246340233 -1.404476978e-05 -2.123824863e-05 -5.106481643e-05 -3.440475053e-05 1.482620734e-05 -4.047467955e-05 6.031780825e-05 9.185910622e-05 6.872398489e-06 -0.0001177566686 -3.982454547e-06 6.250884244e-05 0.0001025598431 2.867642021e-05 -6.610008198e-05 --5.02740147e-05 -3.443398736e-05 -6.588357529e-05 -1.92269128e-06 0.0001266955832 --3.538827665e-05 -6.352787069e-05 -0.0001291789122 -4.858440218e-05 0.0001486386611 --1.892327723e-06 -1.469555679e-05 -2.239027751e-05 -2.678023756e-06 1.486060321e-05 --1.251150115e-05 -9.799835115e-06 7.0658127e-06 2.321451864e-05 5.003893608e-06 --6.047553024e-06 6.687867678e-05 0.0001044397383 2.853986133e-05 -4.739653247e-05 -2.070446599e-06 -1.977814124e-05 -3.726985006e-05 -2.79527643e-06 1.807024161e-05 -3.410825158e-06 -3.093611572e-05 -7.036489099e-05 -5.310020772e-05 4.865749633e-05 --1.258422066e-07 -8.770971535e-08 4.464036066e-06 6.21586273e-06 -5.083266918e-06 -1.330710396e-06 -1.818597761e-05 -1.982946653e-05 1.03924359e-06 3.997567262e-06 -3.551283716e-06 3.840179983e-05 7.596365876e-05 3.03903975e-05 -5.672389928e-05 --4.984335803e-05 -2.325318132e-05 -3.826541291e-05 1.581298564e-05 0.0001045222895 --3.686321811e-05 -3.478436543e-05 -6.904745914e-05 -2.343740619e-05 0.0001100533782 --2.745384389e-06 6.059629051e-06 7.645329387e-06 1.593342398e-07 1.694750943e-06 --1.012792196e-05 1.010474315e-05 3.759103245e-06 -4.31317722e-06 2.156492604e-05 --5.581272916e-06 3.573882096e-05 6.827151793e-05 2.923519553e-05 -3.516016463e-05 --1.613833692e-05 -2.645410214e-05 -5.082449869e-05 -8.942916598e-06 5.941830845e-05 --9.333884564e-06 -4.875179102e-05 -9.979511758e-05 -4.499645744e-05 8.481963702e-05 -1.630892114e-06 -6.506332335e-06 -1.442406196e-05 -8.025718384e-06 7.649280777e-06 -2.560164636e-06 1.358103171e-05 2.276811564e-05 6.060685215e-06 -1.774687272e-05 -0.2246958858 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1053577669 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01186303561 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005144933743 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01779582619 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.008301271879 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003844790075 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001107875381 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007224425806 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006842756524 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.632549571e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001312616168 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.378561748e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02802492363 -0.04346019456 0.139523086 0 0 -0.01958679201 0.2038169443 0.08778086435 0 0 --0.2047699919 0.1456620201 0.3260090108 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05618770005 -0.03268513571 0.04363471454 0 0 -0.1102424257 0.06287630583 -0.07295622531 0 0 --0.0597050294 -0.03553032334 0.06356707691 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.07263643322 0.02463760531 -0.04481465473 0 0 -0.03556272444 0.01021560919 -0.01609809937 0 0 --0.06108544167 -0.01614751531 0.03019857449 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01537523881 -0.005524349342 0.01371084616 0 0 --0.004217148824 0.000461681681 0.001390306592 0 0 -0.006103158997 -0.0005677192793 -0.002434738745 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01175552312 0.003914091877 -0.007007940473 0 0 -0.007225433135 0.00161316508 -0.003843444911 0 0 --0.01174688839 -0.003565036098 0.005693400478 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002884766674 -0.0007081743122 0.001777638843 0 0 --0.001093078579 -0.0001660488671 0.000649983455 0 0 -0.00114022896 0.0003660054719 -0.0005247735778 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007919314904 -0.0001225161808 0.0008755799736 0 0 --0.0001401184747 0.0003542294908 0.0002465484724 0 0 --0.0004853128478 1.673530461e-05 0.0005306287621 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002684296197 0.001278254671 -0.001168545211 0 0 -0.001206803311 0.00014632356 -0.0007594330528 0 0 --0.001399018184 -0.0006974419058 0.0004803285385 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001834236334 -0.0002752414585 0.001113585024 0 0 --0.0001956958572 -0.0002367535846 -1.126811376e-05 0 0 -0.0007890446429 4.490408311e-06 -0.0006145404125 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.268576583e-05 0.0001802950675 9.490691308e-05 0 0 -8.087433863e-05 1.830110781e-05 -5.171363128e-05 0 0 --5.685624079e-05 -9.354672942e-05 -2.208361426e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001469367754 -7.607782849e-07 0.0001306287521 0 0 --3.914905406e-05 -6.123410465e-06 1.788057881e-05 0 0 -4.071464714e-05 2.830332656e-05 -8.541737465e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001489794554 0.0001429166798 -2.735577047e-05 0 0 -0.000116293218 2.733326086e-06 -7.764451245e-05 0 0 --0.0001135813557 -6.603452149e-05 2.621293699e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002440783814 1.551437724e-05 0.0001856215215 0 0 --2.798957806e-05 -3.041342854e-05 1.414360754e-06 0 0 -0.0001019745184 -3.065761518e-06 -8.302210051e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1123663332 0.06053912615 0.4204416684 0.182976618 -0.02954528104 -0.06847393973 -0.05514748607 -0.009575797574 -0.01157677416 0.05401917038 --0.1132171238 -0.003938443157 -0.06446820999 -0.04108828703 -0.030752816 -0.01372510916 0.1396599173 0.1907673429 0.1207177281 -0.07655166078 --0.01138551453 -0.2247023236 -0.08889978884 -0.101014003 0.143979112 -0.1027059682 -0.102362347 0.1275498765 0.03513451882 0.1000172894 -0.06631232123 0.1093826708 -0.03237088859 0.0349008061 -0.02634369446 --0.04986718036 0.0403101454 0.06406796489 0.04473838244 0.004798550742 -0.02214118145 0.03709627393 0.03920377434 0.03805658146 0.01164855231 -0.004781583716 -0.1087421144 0.07497995119 -0.004735946509 0.0599777053 -0.009372021185 -0.006825791113 0.01122172593 0.004069671932 0.008479820583 -0.02249636549 0.01980707502 -0.02560307353 -0.002602011426 -0.009575464633 --0.04304918642 -0.0326137647 0.04768835902 0.006443955554 0.01637321594 --0.01089204321 -0.008429973257 0.01485375914 0.002993004214 0.005261011617 --0.01641277621 -0.01585180299 0.02549773914 0.004842902719 0.009992081576 -0.01308055926 0.01054854197 -0.01620932805 -0.002601649545 -0.005864974951 -0.01339279023 0.006532643489 -0.01269424825 -0.002292475381 -0.003054900101 --0.02135064721 -0.01415983119 0.01821640822 0.001375989962 0.006010768825 --0.003132399262 -0.002538673696 0.003192883255 0.0002889592629 0.001226283718 --0.006703660534 -0.004625514021 0.007568496582 0.001252975229 0.002457981102 --0.01316047309 -0.01118712054 0.01762721214 0.00299453407 0.006337956058 --0.006299024191 -0.003898194841 0.005963424798 0.000946560994 0.002326999837 -0.009045533441 0.005892062344 -0.009577199564 -0.00144593218 -0.002785917525 -0.0006678277785 0.0001918333739 -0.0005198780027 -2.014361826e-05 0.0002198616587 -0.00236369607 0.0007824288193 -0.001408925409 -0.0001191864698 -9.518351772e-05 -0.005884844962 0.004746348469 -0.00632868528 -0.0008376541657 -0.002798954547 -0.004899958081 0.003567324627 -0.004518275961 -0.000509231827 -0.002076168647 --0.007705693042 -0.005273736209 0.008212729797 0.001179720238 0.002537987049 --0.001288081894 -0.0007090743248 0.00169551905 0.000316004933 0.0001215632663 --0.00281106362 -0.001997392367 0.002350349197 0.0002231509656 0.001200170634 --0.002287779271 -0.001970553317 0.003866430693 0.0008644413593 0.001226958285 --0.001830316168 -0.00114653223 0.001934780189 0.0003206303339 0.0005863137211 -0.00268457015 0.001625732148 -0.003081133189 -0.0005852641542 -0.0008315485402 -0.0004298381777 0.0004492909426 1.495651854e-05 0.000165042146 -0.0002466438634 -0.001056098069 0.0004224849515 -0.0007256705837 -8.379156516e-05 -0.0001334640606 -0.001383885917 0.001455751185 -0.001734622774 -0.0001951557895 -0.0008736343876 -0.001661881234 0.0006218360938 -0.002323894271 -0.0006048037295 -0.000156641144 --0.002450710762 -0.002211697047 0.00173587318 -0.0001008216201 0.001236047631 --0.0004522544853 -0.0005288421286 8.484582509e-05 -0.0001423476037 0.0003206584961 --0.001057552938 -0.0004157845213 0.001272459262 0.000297276691 0.000112631715 --0.001059976901 -0.0006268257021 0.001295363379 0.0002474042002 0.0002560729016 --0.0006427481079 -0.0005258879962 0.0005505931322 3.493715201e-05 0.0003149041469 -0.001008807093 0.0004977429992 -0.001430117147 -0.0003275039389 -0.0001321003082 -0.0001348897898 2.990377615e-05 -0.0002571871711 -7.52708352e-05 2.308522856e-05 -0.0002946998226 0.0002456191427 -0.0002509658854 -1.459321746e-05 -0.0001487923159 -0.0001515034947 0.0001042801851 1.94398166e-05 4.636715419e-05 -5.775367085e-05 -8.954235066e-05 5.572004092e-05 -0.0001185733553 -2.546990074e-05 -2.908465026e-05 --0.0001622699207 -0.0001758937006 8.48567441e-05 -2.249443491e-05 0.0001158578052 --2.405396483e-05 7.083334134e-07 7.392959133e-05 2.706728635e-05 -5.507489398e-06 --4.076624119e-05 -4.453314626e-05 8.627381269e-05 2.002293156e-05 2.943326217e-05 -0.0001346594481 0.0001693282382 -7.527979637e-05 2.683638199e-05 -0.0001004131084 -0.000115616758 1.605641387e-05 -0.0001935559742 -5.994895444e-05 1.521392681e-05 --0.0001706772142 -0.0001707237144 8.593091486e-05 -2.69159744e-05 9.294161912e-05 --2.546457974e-05 -9.207857977e-06 4.00401171e-05 1.077734608e-05 1.094257305e-06 --5.411345564e-05 -4.137009171e-05 5.476011959e-05 5.511482385e-06 1.944228947e-05 --7.492842595e-05 4.282447386e-05 0.0001303088151 5.286571483e-05 -5.499729622e-05 -5.905763743e-06 -5.723947173e-05 -7.403841757e-05 -4.144248986e-05 5.073381995e-05 --1.031092507e-06 -7.424275954e-05 -0.0001317608119 -6.869610442e-05 6.429179601e-05 --7.909501985e-06 -1.577315438e-05 -1.625857092e-05 -1.08220554e-05 1.172348181e-05 --1.617091327e-05 -2.442500367e-06 2.852243981e-06 -1.170047014e-06 -1.676056354e-06 --5.834696353e-05 1.467161989e-05 0.0001388405269 5.071629728e-05 -3.029660459e-05 --3.071892278e-05 -6.5684951e-05 -2.434252559e-05 -2.796917469e-05 4.827529585e-05 -5.132970649e-05 -4.50905628e-05 -0.0001874162046 -7.726520555e-05 5.564736584e-05 -7.562844849e-06 -6.961444875e-06 -2.658850907e-05 -1.105910393e-05 8.43919995e-06 -1.550842988e-05 2.499695272e-05 4.006838952e-06 9.034693808e-06 -1.728620385e-05 -0.1594413204 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02356952288 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003190208968 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004775249754 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001617809155 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.997081061e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000112192263 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.909641606e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001514092558 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.115166873e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.330188994e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.836172476e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.255456504e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.09828580939 -0.0115830422 0.06522289103 0 0 -0.05638093077 0.01885007328 -0.02821150853 0 0 --0.08798629881 -0.02820979295 0.0449361075 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06939721644 0.02657549823 -0.03217876888 0 0 -0.03076799193 0.01065773753 -0.01511505583 0 0 --0.04804151532 -0.01511182846 0.02475414123 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005603271146 -0.002453552566 0.002367179368 0 0 --0.001681478129 -0.0003953900093 0.0009674788897 0 0 -0.002612107681 0.000968307252 -0.001235874075 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002665206866 0.0001267392796 -0.001910281762 0 0 -0.001752106698 0.0004982234034 -0.0009428684008 0 0 --0.002728011337 -0.0009433870239 0.001341576103 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00152678829 -0.000263471622 0.0009499229808 0 0 --0.0004490595534 -0.0002032043741 0.0001845785546 0 0 -0.0007046157497 0.0001842748437 -0.0003911158127 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.992766459e-05 1.133983357e-05 -6.417816721e-06 0 0 -6.832523433e-06 1.480284006e-05 6.032135381e-06 0 0 --1.156246237e-05 6.128840354e-06 1.330923201e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003841020503 0.0001919848107 -0.0001441977575 0 0 -0.0001571743785 6.555958327e-05 -6.881076492e-05 0 0 --0.000246211264 -6.873037542e-05 0.0001334097862 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001886766107 -0.0001188724142 5.234848383e-05 0 0 --2.725382996e-05 -9.291077972e-06 1.350487436e-05 0 0 -4.253970645e-05 1.34945692e-05 -2.183934738e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001411026735 -1.806940577e-05 9.253272575e-05 0 0 --3.798488376e-05 -1.705657702e-05 1.571434224e-05 0 0 -5.959279593e-05 1.568641823e-05 -3.300477137e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.283323145e-06 -1.444958918e-05 -9.179920067e-06 0 0 -6.21592102e-06 2.194885838e-06 -3.023049824e-06 0 0 --9.707603677e-06 -3.019730181e-06 5.028995934e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.981027212e-06 1.494312527e-05 9.779245751e-06 0 0 -1.24942794e-05 4.926783315e-06 -5.685736691e-06 0 0 --1.955267635e-05 -5.680238317e-06 1.042865323e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.956919506e-05 -2.227258983e-05 2.050644291e-05 0 0 --8.158546118e-06 -2.525868448e-06 4.234993435e-06 0 0 -1.271699446e-05 4.235471253e-06 -6.376206078e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.159044238e-05 -5.588965206e-06 1.95560585e-05 0 0 --5.32057158e-06 -2.02328114e-06 2.477719021e-06 0 0 -8.321221334e-06 2.475888302e-06 -4.394296295e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1156705693 -0.07979050032 0.1245234464 0.01847166303 0.03996796295 --0.01646867521 -0.008494431961 0.01219222194 0.003826448873 0.01214769465 -0.01446883453 0.01219221144 -0.01984894588 -0.001387209568 -1.650594287e-05 --0.008300180703 -0.005696325355 0.008879007772 0.001337666867 0.002933792881 --0.01812306742 -0.01240641365 0.01932652554 0.002933784043 0.00647622505 -0.008819283331 0.005998282844 -0.009329405619 -0.001443996314 -0.003239618216 -0.02408289887 0.01724274834 -0.0271436137 -0.003582736418 -0.00690152812 --0.04020443325 -0.02714362412 0.042142113 0.006666547665 0.0152207102 --0.009001341166 -0.006179706376 0.009633280759 0.001449755641 0.003176709298 --0.01964683848 -0.01345852339 0.02096885098 0.003176700524 0.007000484423 -0.003646874272 0.002508068086 -0.003911352469 -0.0005855395286 -0.001277183391 -0.002845372334 0.001962304461 -0.003062261588 -0.0004545737758 -0.0009841978289 --0.004454167026 -0.003062262082 0.00477524764 0.0007155779741 0.001562175048 --0.0007212295366 -0.0004957219876 0.0007729744683 0.0001159211152 0.0002532371569 --0.001572304411 -0.001079433387 0.001682681376 0.0002532367412 0.0005548978449 --0.002313469189 -0.001595187315 0.002489251041 0.0003697191266 0.0008008721259 --0.0006249602704 -0.0003860731642 0.0005857920191 0.0001186019813 0.0003174050486 -0.0008008176344 0.0005857919679 -0.0009266033878 -0.0001139466569 -0.0002014933508 --4.08276121e-05 -2.778390936e-05 4.321951453e-05 6.678212854e-06 1.496193834e-05 --8.99209273e-05 -6.058576522e-05 9.401620161e-05 1.496189527e-05 3.432069685e-05 -0.0002142596131 0.0001474820298 -0.0002300475059 -3.434747851e-05 -7.47457038e-05 -0.000155377703 0.0001069434069 -0.0001668109097 -2.491169288e-05 -5.422298145e-05 --0.0002423896884 -0.0001668109028 0.0002601846882 3.887114155e-05 8.463564094e-05 --3.746579003e-05 -2.579464476e-05 4.023748687e-05 6.003679775e-06 1.30573291e-05 --8.153413688e-05 -5.615432548e-05 8.760322002e-05 1.30573349e-05 2.837231194e-05 --3.786094723e-05 -2.60513384e-05 4.063218899e-05 6.073417234e-06 1.322967008e-05 --2.460429269e-05 -1.67552252e-05 2.606810024e-05 4.019717514e-06 8.990569934e-06 -3.767405757e-05 2.606811089e-05 -4.071247854e-05 -5.982743396e-06 -1.283682265e-05 -5.390998184e-06 3.704350244e-06 -5.77576987e-06 -8.669132828e-07 -1.895221728e-06 -1.175596215e-05 8.066534796e-06 -1.257297e-05 -1.895212766e-06 -4.158559672e-06 -5.038935966e-05 3.44355772e-05 -5.362106841e-05 -8.18180926e-06 -1.81398882e-05 -8.902467362e-05 6.314212815e-05 -9.918488348e-05 -1.349330149e-05 -2.685796596e-05 --0.0001462597044 -9.918491806e-05 0.0001541572153 2.406888654e-05 5.43819692e-05 --3.090491967e-05 -2.120911507e-05 3.305896475e-05 4.980924143e-06 1.092504847e-05 --6.748147614e-05 -4.619295929e-05 7.195777161e-05 1.092501937e-05 2.411990146e-05 --0.0001575967506 -0.000108478743 0.0001692087168 2.526412846e-05 5.497932736e-05 --8.706673884e-05 -5.857448313e-05 9.08615711e-05 1.452382375e-05 3.34301068e-05 -0.0001304840775 9.08615947e-05 -0.0001421180156 -2.048127534e-05 -4.316539391e-05 -1.597070651e-05 1.097064392e-05 -1.710400043e-05 -2.569633051e-06 -5.622227705e-06 -3.483799666e-05 2.389056175e-05 -3.723196548e-05 -5.622207853e-06 -1.235530572e-05 --1.554233994e-05 -1.068927726e-05 1.667013731e-05 2.495329219e-06 5.442388552e-06 --8.392294469e-06 -5.609394406e-06 8.687450932e-06 1.41520204e-06 3.304665324e-06 -1.243284685e-05 8.687453249e-06 -1.359919345e-05 -1.939008256e-06 -4.045456281e-06 -1.485139219e-06 1.015710759e-06 -1.581898505e-06 -2.408183055e-07 -5.328805326e-07 -3.254334719e-06 2.213281675e-06 -3.442382128e-06 -5.328785837e-07 -1.195646373e-06 -1.300588327e-05 8.927869701e-06 -1.391687161e-05 -2.095178754e-06 -4.592410494e-06 -1.51102206e-05 1.061060081e-05 -1.662884542e-05 -2.334717555e-06 -4.798716754e-06 --2.440379034e-05 -1.662885065e-05 2.587530883e-05 3.98271635e-06 8.894400942e-06 --4.667884429e-06 -3.207526748e-06 5.001149988e-06 7.506085028e-07 1.640886833e-06 --1.017892307e-05 -6.984643725e-06 1.088675333e-05 1.640882439e-06 3.600204504e-06 --2.860170359e-05 -1.971031201e-05 3.07533069e-05 4.575552768e-06 9.926481615e-06 --1.071863699e-05 -6.948192543e-06 1.067804425e-05 1.897732821e-06 4.707692383e-06 -1.502538361e-05 1.067804524e-05 -1.678088871e-05 -2.268576268e-06 -4.485575985e-06 -7.579905255e-07 5.233972385e-07 -8.17025981e-07 -1.208240586e-07 -2.607180994e-07 -1.644515825e-06 1.138948037e-06 -1.779165574e-06 -2.607172604e-07 -5.579872143e-07 --2.949187417e-05 -2.03036353e-05 3.167156762e-05 4.726358456e-06 1.028075928e-05 --1.500551823e-05 -1.002131437e-05 1.551713481e-05 2.533882369e-06 5.927586382e-06 -2.219709092e-05 1.551713829e-05 -2.429280451e-05 -3.458936658e-06 -7.207002089e-06 -2.443943193e-06 1.678390529e-06 -2.616575183e-06 -3.933934381e-07 -8.61274304e-07 -5.3324907e-06 3.65512645e-06 -5.695657066e-06 -8.612713824e-07 -1.894979837e-06 --5.70696191e-06 -3.938371956e-06 6.146959075e-06 9.106616739e-07 1.968194424e-06 -1.154596931e-07 2.603385427e-07 -4.734071994e-07 5.700560574e-08 3.67244859e-07 --8.946757156e-07 -4.734082155e-07 6.85423273e-07 2.028898801e-07 6.330301139e-07 --8.02619045e-07 -5.517532383e-07 8.603769565e-07 1.289650861e-07 2.816120146e-07 --1.749439421e-06 -1.201413285e-06 1.872969131e-06 2.816111597e-07 6.165753199e-07 -0.07614740613 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01263065168 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004732153038 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001089552317 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.551387115e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002128419036 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001190822088 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000179441317 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001949670829 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001047556525 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.068142775e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.670771097e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.4778873e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01833006226 0.03856645427 0.04335359021 0 0 --0.04891571433 0.02700657281 0.05135440568 0 0 --0.09304390474 0.05344457686 0.106240845 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01930924747 0.02412415929 0.03301800468 0 0 -0.003114551669 -0.002929737828 -0.008158600368 0 0 -0.00991636965 -0.006859514482 -0.01514864754 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001056158088 0.002837865771 0.002905010184 0 0 -0.0007988356083 2.064443618e-05 -0.0002431928114 0 0 -0.001290661701 -0.0003630416524 -0.001005945387 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.862644641e-06 0.0006871555222 0.0005434743857 0 0 --0.0002060450188 -3.611201617e-05 -0.000139849627 0 0 --0.0001529809761 -4.278462145e-05 -0.0001039061894 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.561294424e-05 0.0005512996004 0.0003608337171 0 0 --6.422882474e-05 0.0001527432197 0.0002271435379 0 0 --0.0001890362041 0.0002048906472 0.0003411122743 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.546066974e-05 1.53877532e-05 -2.165517941e-05 0 0 --0.0001672562349 7.482616446e-05 0.0001709884878 0 0 --0.0003279763364 0.0001751702285 0.0003709594097 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002260801349 0.0002215852314 0.0003378671661 0 0 --5.936403708e-06 1.154326045e-05 4.51687901e-06 0 0 --2.563898832e-06 7.61627691e-06 1.633822094e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00026279224 0.0001559380734 0.0003152657979 0 0 -7.573015861e-05 -4.229184852e-05 -8.877109903e-05 0 0 -0.0001530105959 -8.874382474e-05 -0.0001819599326 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001938889773 0.0001487326058 0.0002576861567 0 0 -6.970184628e-05 -3.810964709e-05 -7.746360293e-05 0 0 -0.0001371868822 -7.872740712e-05 -0.0001599783373 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001089739959 6.693488011e-05 0.000132446744 0 0 -2.805366797e-05 -1.743725979e-05 -3.422779784e-05 0 0 -5.664937291e-05 -3.424880851e-05 -6.842340183e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.758054839e-05 3.558925545e-05 7.023482319e-05 0 0 -1.91925318e-06 -1.716418698e-06 -3.726560633e-06 0 0 -4.892447174e-06 -3.388178066e-06 -6.924996766e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.912513402e-05 3.655727593e-05 7.198874654e-05 0 0 -6.842266676e-06 -3.05924535e-06 -6.808657547e-06 0 0 -1.320265577e-05 -7.029201876e-06 -1.478195711e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.859616321e-05 3.692345151e-05 7.187548711e-05 0 0 -9.282005352e-06 -5.425932966e-06 -1.053120629e-05 0 0 -1.820033687e-05 -1.07202181e-05 -2.139631372e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007671771138 0.07491983111 0.1349681042 0.05107617121 -0.07144958578 --0.0178200798 -0.003148138953 -0.004876065944 0.01594317719 0.03057995706 --0.01316891154 -0.0008753446042 -0.007008627443 -0.009720748589 0.03090626523 --0.002785719483 0.02713411237 0.05649784505 0.02712402217 -0.03442044302 -0.0041733038 -0.04206216033 -0.078997559 -0.03217744055 0.04393996162 --0.0007308168857 0.009005706704 0.01054424027 2.448166041e-06 -0.002605294117 --0.009183424371 -0.004944882316 -0.009575207257 0.002500944138 0.02119117226 --0.00648485094 -0.008413712096 -0.01852164856 -0.009015395312 0.02464135833 -0.0004313663112 -0.004530651112 -0.007349231732 -0.001673746782 0.00336444975 -0.0001457930434 -0.001159884439 0.004216292681 0.00581467014 -0.005916470521 -0.0003474155574 0.0001304264851 0.0001030196166 -0.0001837748376 -0.0005868103567 --0.0033405183 -3.882807224e-05 0.0002925681079 0.001588360277 0.005278246474 --0.002662964106 0.0002954308281 0.000885219362 0.001534430852 0.003771040037 --9.566875227e-05 0.0002069924598 0.0004778036294 0.0002954093495 -0.0001912485002 --0.0002652514094 -0.0005101745439 -0.0008093641895 -0.0001182757546 0.0009013378593 --1.27265328e-05 0.0002566546565 0.0001977604356 -0.0001133716874 2.630459337e-05 --0.0002000629221 -5.238541215e-06 1.019982408e-05 0.0002771828112 0.0002837994304 --0.0001509759421 8.476535845e-05 6.868204957e-05 -0.0001408551599 0.0002853769341 --5.304349063e-06 -2.449362179e-05 -1.221388753e-05 3.179696912e-05 -1.239327717e-06 --1.815313206e-05 -0.0001144960167 -9.576448708e-05 5.070722158e-05 3.696642816e-05 -3.454645815e-05 0.0001097460505 0.0001972596097 5.771727509e-05 -0.0001814622022 --0.0006608867818 2.834909483e-05 0.0001308112107 0.0003457876927 0.0009947999613 --0.0005312796461 0.0001312086624 0.0003225153877 0.0003699467294 0.0006533920064 --1.67775278e-05 0.0001227337266 0.0002568889022 0.0001258454929 -0.0001501666051 --1.222632016e-07 -0.0001960441128 -0.0003635638398 -0.0001381362828 0.0002327448127 --6.263832423e-06 0.0001692792897 0.000340780606 0.000149466106 -0.0002198666301 --2.15012173e-05 2.78053401e-05 6.007469375e-05 3.933483201e-05 -6.708110941e-06 --2.081988643e-05 6.146471533e-05 0.0001250537457 5.899409896e-05 -4.928995968e-05 --1.554605553e-05 0.0001145421927 0.0002299031683 0.0001041532572 -0.0001288485785 --1.996793639e-06 -0.0001440113286 -0.0002966472686 -0.0001313192308 0.0002068172388 --1.39764138e-05 0.0001538612534 0.000286946633 0.0001149878386 -0.000160643566 --5.721683116e-05 -9.969708033e-05 -0.0001946061879 -5.553500509e-05 0.0002247600062 --3.365814015e-05 -0.000192358583 -0.0003867993223 -0.0001607286526 0.0003194470348 -4.009126977e-06 -3.005513604e-05 -5.320898062e-05 -1.768170709e-05 2.561466302e-05 -2.919175438e-06 9.724642627e-06 4.708474538e-05 3.588467995e-05 -4.852728664e-05 --1.068802829e-06 8.21695632e-05 0.0001662938363 7.269997417e-05 -0.0001110119836 --1.706243472e-05 -9.742529127e-05 -0.0001921619832 -7.134602254e-05 0.0001564296489 --1.745574598e-06 -0.0001908398719 -0.0003840939276 -0.0001685395379 0.0002633166973 -2.44307272e-06 -4.789922689e-05 -9.900455304e-05 -4.5973865e-05 6.408219917e-05 --1.717080977e-05 7.13068344e-05 0.0001362391628 6.099001606e-05 -6.007897194e-05 --5.203992019e-06 4.594925962e-05 9.364463179e-05 4.31000228e-05 -5.504180346e-05 --1.564269631e-05 -4.9781056e-05 -9.818549542e-05 -3.521257328e-05 9.187683612e-05 --6.311416655e-06 -9.815150463e-05 -0.0001965239928 -8.194892117e-05 0.0001430922669 -2.955861048e-06 -2.270310754e-05 -4.63391065e-05 -2.162530478e-05 2.664769782e-05 --5.853636697e-07 3.15640461e-05 6.211512202e-05 2.620369538e-05 -4.04097404e-05 --3.191128464e-06 3.732518508e-05 7.410924619e-05 3.258436696e-05 -4.429351345e-05 --3.271678947e-07 -2.650717358e-05 -5.336574794e-05 -2.261972582e-05 3.657682e-05 -3.036598499e-06 -5.323382175e-05 -0.0001076332326 -4.821185771e-05 6.792519277e-05 -5.94654028e-07 -7.762221869e-06 -1.527977522e-05 -6.506103201e-06 9.159935238e-06 --1.616377091e-06 8.548904248e-06 1.877856588e-05 9.625910185e-06 -1.063619102e-05 --3.661933049e-06 3.667512485e-05 7.240770854e-05 3.175842822e-05 -4.217506314e-05 -1.535379294e-06 -1.517317733e-05 -3.051535052e-05 -1.303929628e-05 1.789145596e-05 -3.059885965e-06 -3.016123054e-05 -6.139631612e-05 -2.900295371e-05 3.683739633e-05 --2.866550918e-07 2.765994245e-06 5.849500643e-06 2.884512531e-06 -3.608917152e-06 -4.407311085e-07 -4.646497319e-06 -8.445783164e-06 -3.266942518e-06 4.580341149e-06 --2.711859009e-06 3.09797313e-05 6.252047583e-05 2.810265138e-05 -3.776924478e-05 --1.485406919e-06 -1.415955788e-05 -2.813005971e-05 -1.08943029e-05 2.126975183e-05 -5.647614123e-07 -2.793534607e-05 -5.63895765e-05 -2.511150191e-05 3.733653063e-05 --3.449227929e-07 2.236969532e-06 4.264128912e-06 1.747503006e-06 -2.18361345e-06 --3.144852292e-07 -1.923599931e-06 -4.818286632e-06 -2.519105558e-06 4.18963973e-06 --2.868279977e-06 2.733081279e-05 5.501657553e-05 2.483271749e-05 -3.236529464e-05 -1.023467503e-06 -2.05501494e-05 -4.138593935e-05 -1.796505687e-05 2.620537778e-05 -3.368654408e-06 -4.126981817e-05 -8.348006849e-05 -3.781182966e-05 5.099309753e-05 -6.803436706e-07 -6.202788591e-06 -1.260747233e-05 -5.795560747e-06 7.434455733e-06 --6.292047591e-07 8.410350116e-06 1.673661039e-05 7.345584386e-06 -1.017330681e-05 -0.3673386338 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.2314140214 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03442418421 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01160204821 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03508483064 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01681797871 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007487102887 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001940971808 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001726239089 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00121295683 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.399662533e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002978992511 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.044267344e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03718151328 -0.1311011877 0.2272079377 0 0 -0.08002679556 0.2976743988 0.06337280436 0 0 --0.3199807205 0.07670909525 0.4210254085 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1589063199 -0.04151390146 0.06709199826 0 0 -0.2022619632 0.1167786995 -0.1378997289 0 0 --0.1481551195 -0.08454422094 0.1372898224 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1430456946 0.05140619626 -0.08609556878 0 0 -0.07019129313 0.0185447255 -0.03300101465 0 0 --0.120254043 -0.03505483536 0.05697535865 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03108597681 -0.01283096049 0.02614947142 0 0 --0.00785571861 0.002055870642 0.00326036307 0 0 -0.01295710929 0.001196371213 -0.003749793313 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0229277464 0.007822858886 -0.01354912509 0 0 -0.01453550675 0.003054254493 -0.007891106612 0 0 --0.02256867545 -0.007282530811 0.01058885602 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005756467611 -0.001382929262 0.003566595368 0 0 --0.001918492511 -0.0003720948225 0.001069811046 0 0 -0.002725575834 0.0006310973076 -0.001462096284 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001334243833 -0.0005374996216 0.001332197721 0 0 --0.0002778562239 0.0007004465353 0.0004888688384 0 0 --0.0009600300224 3.728505646e-05 0.001051786821 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005692655079 0.002151385454 -0.002883153369 0 0 -0.002263586836 0.000394630937 -0.001330189821 0 0 --0.002991404355 -0.001160347756 0.001284315401 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003313282193 -0.0007295938614 0.001826579772 0 0 --0.0004909055187 -0.0004018002507 0.0001058265332 0 0 -0.001343068471 0.0001400834049 -0.0009527181075 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002744024551 0.0002341138874 -3.010716024e-06 0 0 -0.0001257187851 6.72754958e-05 -5.306040246e-05 0 0 --0.0001802265532 -0.000121365583 5.526816686e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002137013901 -7.588805782e-05 0.0001442759983 0 0 --8.077523619e-05 -8.548938087e-06 4.061211611e-05 0 0 -7.299357484e-05 6.291619952e-05 9.154289825e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003801569265 0.0002123640582 -0.0001712907381 0 0 -0.0002199705392 1.284145841e-05 -0.0001404596323 0 0 --0.0002426840275 -0.0001151163865 7.715621646e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004003352538 -3.520747058e-05 0.0002555071144 0 0 --6.738536817e-05 -5.002125068e-05 1.946338677e-05 0 0 -0.0001763595036 1.403598933e-05 -0.0001299669981 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.2437405931 -0.1467137087 0.5598180798 0.1710348506 0.09648572316 -0.1358285903 -0.09865813668 -0.008706411765 -0.01565108702 0.1006427167 --0.2214963244 0.01256505937 -0.1065350789 -0.06650741833 -0.07244836526 -0.01683212507 0.1529053807 0.2522892515 0.1507053684 -0.07971878183 --0.009046078858 -0.2825596915 -0.01304756676 -0.08477257721 0.1905465071 -0.2098633783 -0.1790651724 0.2535415155 0.08047292917 0.1939532669 -0.1187240549 0.1787188282 -0.067212703 0.05059777118 -0.04670523722 --0.1225660374 0.004856637179 0.1194364759 0.05140294869 0.02002646133 -0.03572600194 0.04876371527 0.07504325996 0.06300753778 0.02641478643 -0.01980821754 -0.182441874 0.1507526871 0.006410006343 0.1137168954 -0.01848944701 -0.01343542441 0.02211431748 0.008028769799 0.01671175318 -0.04628698746 0.04201595305 -0.05161504556 -0.004290785478 -0.01962182065 --0.08094961186 -0.05829451286 0.09170488279 0.0143987257 0.03077239193 --0.01959379928 -0.01374112596 0.02817589562 0.006713418218 0.009649406417 --0.03481756686 -0.03502073525 0.05171585063 0.008481797923 0.02064441182 -0.02579482843 0.02085979386 -0.03191683627 -0.005087177347 -0.01157900812 -0.02644960178 0.01325859093 -0.02480164709 -0.004273949939 -0.006121856181 --0.04199477317 -0.027145964 0.0363634102 0.003208568661 0.01164848453 --0.006125514005 -0.004605371751 0.006529205554 0.0008273641696 0.002313007098 --0.01328054313 -0.009641936934 0.01461272149 0.002132389067 0.004982517996 --0.02580307432 -0.02194215366 0.03447872833 0.005876526366 0.01256203337 --0.01227990112 -0.007575559338 0.01149140949 0.001839827173 0.004653287463 -0.01811090474 0.01183637295 -0.01941548769 -0.002903454312 -0.005358968972 -0.001519885897 0.0005393230811 -0.001415346559 -7.835767617e-05 0.0005305779684 -0.004393296249 0.001331303916 -0.002265868974 -0.0001843199012 -0.000314942445 -0.01157084156 0.009205776805 -0.01279429417 -0.001769326052 -0.005248739771 -0.009654119073 0.007004881791 -0.008965523649 -0.001025508859 -0.004043625878 --0.01520215108 -0.01045250759 0.01607267767 0.002281990856 0.005102982375 --0.002559811466 -0.001499635158 0.003128297926 0.0005434910269 0.0004208934268 --0.005514811602 -0.003804258594 0.004914151832 0.0005440603758 0.002128494936 --0.004539672127 -0.004324579616 0.007118299295 0.001380415554 0.002716898126 --0.003587558084 -0.00195249577 0.004166771189 0.0008585896898 0.0009472827078 -0.005334148099 0.00382694063 -0.005361516914 -0.0006960020075 -0.002060826218 -0.0008526754499 0.0009645258706 0.0001197616489 0.0003833573182 -0.0005396326965 -0.002075030078 0.0007296200671 -0.001548872405 -0.0002411824224 -0.0001931302588 -0.002767654678 0.002685433243 -0.003753196169 -0.0005591195055 -0.001571636303 -0.003231266624 0.001435762192 -0.004201617176 -0.0009938176539 -0.0004802398255 --0.004922115158 -0.0039359144 0.004189406858 0.000202386493 0.002090233936 --0.0009153622188 -0.0009314168297 0.0003682988536 -0.0001755252813 0.000541363454 --0.002053661758 -0.0009652991965 0.002245071538 0.0004483293983 0.0003409939091 --0.002083478459 -0.001304817997 0.002419814771 0.0004255055537 0.0005837901848 --0.001273411063 -0.0009657635639 0.001222875027 0.0001327718017 0.0005396997333 -0.001975997073 0.001124663583 -0.002541525874 -0.0005164958566 -0.0004243223897 -0.0002628776034 9.317294681e-05 -0.00044073377 -0.0001175741209 6.40186485e-06 -0.0005849525072 0.0004393666433 -0.0005816035465 -6.914652929e-05 -0.0002420801618 -0.0002924086724 0.000119183707 -7.423080972e-05 2.649738105e-05 -4.210181351e-05 -0.0001810729285 0.000172618718 -0.0001519713178 -3.047051596e-06 -0.000109472873 --0.0003106992398 -0.0002198858451 0.0003325718324 5.097577666e-05 0.0001230305986 --4.613469183e-05 1.912092473e-05 0.0001688355002 6.667713073e-05 -2.557837872e-05 --8.204961883e-05 -0.0001110179036 0.0001398194464 2.202229519e-05 7.731446124e-05 -0.0002708026762 0.0002486316072 -0.0002774852997 -1.864701992e-05 -0.0001297965938 -0.0002256454742 6.803305449e-05 -0.0003264436191 -8.762292507e-05 8.832934537e-07 --0.0003410772943 -0.0002630364716 0.0002808226115 8.700718261e-06 0.000124392238 --4.975149653e-05 -2.531735787e-05 6.807644977e-05 1.52274675e-05 7.89038037e-06 --0.0001072666924 -7.216722121e-05 0.0001221813611 1.87522237e-05 3.081552898e-05 --0.0001420046438 2.057973121e-05 0.0001508712061 4.872048333e-05 -5.168472021e-05 -9.096644617e-06 -8.436553275e-05 -9.867247905e-05 -5.69459111e-05 7.47105498e-05 --7.178051497e-06 -8.881049179e-05 -0.0001641841036 -8.53988686e-05 7.560038539e-05 --1.521683259e-05 -3.529856238e-05 -3.903232317e-05 -2.498855172e-05 2.684711711e-05 --3.237155707e-05 6.932677529e-07 1.476994655e-05 2.48171036e-06 -8.199279167e-06 --0.0001136650895 -2.822474555e-05 0.0001856659126 5.28730142e-05 -8.97563605e-06 --6.158199281e-05 -8.646766045e-05 1.829183464e-05 -1.967366798e-05 5.696278421e-05 -9.912257653e-05 -1.939698415e-06 -0.0002355129673 -8.064396522e-05 3.248509125e-05 -1.459599688e-05 -5.516505487e-07 -3.212341503e-05 -1.094379064e-05 4.939437091e-06 -3.098357231e-05 3.201813227e-05 -1.869231778e-05 3.582738569e-06 -1.874953768e-05 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/gdmx_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/gdmx_ref.dat deleted file mode 100644 index 389ec8c691..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/gdmx_ref.dat +++ /dev/null @@ -1,5265 +0,0 @@ -0.07177091081 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01648409288 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001149302688 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00545263498 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002274718938 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002901754975 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.428506344e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.748893714e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001151255588 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.246489503e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.34212332e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.88102626e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.283100556e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02443725839 -0.05130086574 -0.01612650001 0 0 --0.05130086574 -0.1244180097 0.03782827061 0 0 --0.01612650001 0.03782827061 0.08000161411 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01345523391 -0.006282783186 -0.01130739462 0 0 --0.006282783186 0.1084932016 0.1034470026 0 0 --0.01130739462 0.1034470026 0.09659199597 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006738121119 -0.001741564482 -0.0006576242685 0 0 --0.001741564482 0.04161995947 0.03029897949 0 0 --0.0006576242685 0.03029897949 0.0214230308 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007305686172 0.0001568641306 9.652913518e-05 0 0 -0.0001568641306 -0.009387947133 -0.009928361942 0 0 -9.652913518e-05 -0.009928361942 -0.01001733217 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002122449972 0.0004490336403 0.0004917163813 0 0 -0.0004490336403 -0.01574395357 -0.01130973397 0 0 -0.0004917163813 -0.01130973397 -0.008214312908 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.101074067e-06 -0.0001086208112 -8.755086884e-05 0 0 --0.0001086208112 0.002881807975 0.002275656136 0 0 --8.755086884e-05 0.002275656136 0.001797828931 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.240219443e-05 -0.0001152739283 -0.0001336750727 0 0 --0.0001152739283 0.002669411554 0.002366416977 0 0 --0.0001336750727 0.002366416977 0.002080440504 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.185057269e-05 -3.185082057e-05 8.838562717e-06 0 0 --3.185082057e-05 0.0004743042283 0.0001645863868 0 0 -8.838562717e-06 0.0001645863868 -6.430377497e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.7911985e-05 3.566177734e-05 4.071466126e-05 0 0 -3.566177734e-05 -0.001385923871 -0.0009637936025 0 0 -4.071466126e-05 -0.0009637936025 -0.0006761010728 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.727452856e-06 -7.442875249e-06 -2.530757077e-06 0 0 --7.442875249e-06 0.0001784532906 8.830650653e-05 0 0 --2.530757077e-06 8.830650653e-05 2.550409462e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.666128141e-06 -1.130192035e-05 -8.72348374e-06 0 0 --1.130192035e-05 4.995306478e-05 0.0001035015655 0 0 --8.72348374e-06 0.0001035015655 0.0001247981286 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.467278814e-06 -8.427604842e-06 9.352956936e-07 0 0 --8.427604842e-06 8.904269395e-05 5.098812207e-05 0 0 -9.352956936e-07 5.098812207e-05 1.724610922e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.389394698e-06 -5.675719852e-07 3.214901526e-06 0 0 --5.675719852e-07 -0.0001186224437 -7.015801926e-05 0 0 -3.214901526e-06 -7.015801926e-05 -4.248279322e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005870095214 -0.02316275722 -0.01393211683 0.01205339861 0.02863253715 --0.02316275722 -0.03957593219 0.02817692732 -0.0005919498728 0.02124051808 --0.01393211683 0.02817692732 0.008395399819 0.01349554921 -0.01478264904 -0.01205339861 -0.0005919498728 0.01349554921 -0.01422392067 -0.03768348436 -0.02863253715 0.02124051808 -0.01478264904 -0.03768348436 -0.03164090146 -0.01914999723 -0.001459339216 -0.009325683601 -0.003176298564 -0.01348197742 --0.001459339216 -0.008321376752 0.003748631023 -0.001333304196 0.002780273783 --0.009325683601 0.003748631023 0.009096628924 0.004404888695 -0.003367607159 --0.003176298564 -0.001333304196 0.004404888695 -0.001202624229 -0.0008623900091 --0.01348197742 0.002780273783 -0.003367607159 -0.0008623900091 0.02439088349 -0.001270720472 0.0003501210569 -0.0006607287495 -0.0003670307218 -0.001141568929 -0.0003501210569 8.557467754e-05 -0.0002902499668 -9.925732888e-05 -0.0001348775962 --0.0006607287495 -0.0002902499668 0.0007267631541 0.0001468446133 7.317959313e-05 --0.0003670307218 -9.925732888e-05 0.0001468446133 0.0001070323042 0.0003980045714 --0.001141568929 -0.0001348775962 7.317959313e-05 0.0003980045714 0.001706371631 -7.617775118e-05 -0.0004012986114 -0.000127893831 0.000175156631 0.0003606369696 --0.0004012986114 -0.0006421103421 0.0004883144594 -2.822277978e-06 0.0003339141459 --0.000127893831 0.0004883144594 4.215754667e-05 0.0001922806185 -0.0002630718554 -0.000175156631 -2.822277978e-06 0.0001922806185 -0.0002125519125 -0.0005450163376 -0.0003606369696 0.0003339141459 -0.0002630718554 -0.0005450163376 -0.0003161769484 -2.437999151e-05 1.842442277e-05 -3.651350874e-05 -2.539405593e-06 6.46594627e-06 -1.842442277e-05 1.040721144e-05 -2.031863442e-05 -3.459897435e-06 -3.79019002e-06 --3.651350874e-05 -2.031863442e-05 3.759496275e-05 7.181785091e-06 1.147522517e-05 --2.539405593e-06 -3.459897435e-06 7.181785091e-06 -4.282738286e-07 -4.77548034e-06 -6.46594627e-06 -3.79019002e-06 1.147522517e-05 -4.77548034e-06 -2.474178081e-05 --1.185688115e-05 -4.611331139e-06 4.386215606e-06 4.694965079e-06 1.430140702e-05 --4.611331139e-06 -3.384770374e-06 4.278219855e-06 8.5863323e-07 2.817772272e-06 -4.386215606e-06 4.278219855e-06 -5.436137236e-06 -2.419320587e-07 -1.391351519e-06 -4.694965079e-06 8.5863323e-07 -2.419320587e-07 -2.244237456e-06 -7.251546846e-06 -1.430140702e-05 2.817772272e-06 -1.391351519e-06 -7.251546846e-06 -2.114194402e-05 -7.642391075e-05 -6.439197457e-07 -3.05078131e-05 -1.730573491e-05 -6.767431733e-05 --6.439197457e-07 -2.330222315e-05 8.911358891e-06 -5.051400826e-06 5.129653234e-06 --3.05078131e-05 8.911358891e-06 3.126167117e-05 1.329964863e-05 -1.071851627e-05 --1.730573491e-05 -5.051400826e-06 1.329964863e-05 -2.192906667e-07 9.694655134e-06 --6.767431733e-05 5.129653234e-06 -1.071851627e-05 9.694655134e-06 0.0001172086022 --4.350653622e-05 -2.205038125e-05 1.072914242e-05 2.108051069e-05 6.428923447e-05 --2.205038125e-05 -2.177532024e-05 2.171881737e-05 2.934506159e-06 1.584905231e-05 -1.072914242e-05 2.171881737e-05 -1.611691459e-05 2.872070557e-06 -7.90136353e-06 -2.108051069e-05 2.934506159e-06 2.872070557e-06 -1.215239445e-05 -3.784648526e-05 -6.428923447e-05 1.584905231e-05 -7.90136353e-06 -3.784648526e-05 -9.405385039e-05 --8.721684272e-06 -2.638569795e-06 6.1922273e-07 4.104239352e-06 1.399607558e-05 --2.638569795e-06 -2.298704215e-06 2.16694607e-06 4.676690842e-07 2.334138158e-06 -6.1922273e-07 2.16694607e-06 -1.515061268e-06 4.853555116e-07 -2.616404458e-07 -4.104239352e-06 4.676690842e-07 4.853555116e-07 -2.121990737e-06 -7.208930846e-06 -1.399607558e-05 2.334138158e-06 -2.616404458e-07 -7.208930846e-06 -2.210149415e-05 -7.917972559e-06 4.645269686e-07 -4.681211388e-06 -1.413369996e-06 -5.053378584e-06 -4.645269686e-07 -2.170017478e-06 2.419434617e-07 -6.177175238e-07 6.149361356e-07 --4.681211388e-06 2.419434617e-07 4.706784064e-06 1.734394037e-06 -6.101570064e-07 --1.413369996e-06 -6.177175238e-07 1.734394037e-06 -2.853891604e-07 -4.364208482e-08 --5.053378584e-06 6.149361356e-07 -6.101570064e-07 -4.364208482e-08 8.387874558e-06 --1.630930528e-06 -4.538930019e-06 -2.198837843e-07 2.463935312e-06 5.946216315e-06 --4.538930019e-06 -6.45235369e-06 5.264158374e-06 1.460172008e-07 3.552159023e-06 --2.198837843e-07 5.264158374e-06 -7.54999232e-07 1.665150596e-06 -2.662864354e-06 -2.463935312e-06 1.460172008e-07 1.665150596e-06 -2.329468549e-06 -6.252769652e-06 -5.946216315e-06 3.552159023e-06 -2.662864354e-06 -6.252769652e-06 -6.80052076e-06 --7.683246031e-06 -4.369846744e-06 1.372366706e-06 4.106728807e-06 1.248452747e-05 --4.369846744e-06 -4.72243575e-06 4.393562781e-06 4.982393061e-07 3.317427907e-06 -1.372366706e-06 4.393562781e-06 -2.467816424e-06 8.66091791e-07 -1.654114576e-06 -4.106728807e-06 4.982393061e-07 8.66091791e-07 -2.531557798e-06 -7.780322112e-06 -1.248452747e-05 3.317427907e-06 -1.654114576e-06 -7.780322112e-06 -1.819200538e-05 -2.333842387e-07 -1.354889912e-06 -1.174684431e-06 8.820156212e-07 2.391386759e-06 --1.354889912e-06 -2.423678341e-06 1.625240522e-06 -5.001026501e-08 1.362916734e-06 --1.174684431e-06 1.625240522e-06 8.084469981e-07 9.156382485e-07 -8.089321886e-07 -8.820156212e-07 -5.001026501e-08 9.156382485e-07 -9.623207249e-07 -2.649810143e-06 -2.391386759e-06 1.362916734e-06 -8.089321886e-07 -2.649810143e-06 -3.081666589e-06 -0.09189457401 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1570808401 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1478958732 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007566808673 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01960653445 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01125982658 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009497466077 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009774984873 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003980912267 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001201412974 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003522442904 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001709370569 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.300221553e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04807920229 -0.01380496103 0.01461795262 0 0 --0.01380496103 -0.02766046054 0.008813808064 0 0 -0.01461795262 0.008813808064 0.1276826341 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02993347783 -0.006164089756 0.007922606655 0 0 --0.006164089756 0.05332252798 0.04090304518 0 0 -0.007922606655 0.04090304518 0.09707804539 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002673046353 -0.002527630485 -0.003644023336 0 0 --0.002527630485 0.03865276186 0.04507296391 0 0 --0.003644023336 0.04507296391 0.04047833671 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002176810463 0.0004448019555 0.001352121218 0 0 -0.0004448019555 -0.0143439174 -0.01247849145 0 0 -0.001352121218 -0.01247849145 -0.005887013621 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004887605163 -0.0006389864829 -0.0008558322822 0 0 --0.0006389864829 0.01122388573 0.01228161148 0 0 --0.0008558322822 0.01228161148 0.01118461465 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.299824664e-05 0.0002315911747 0.0002181887217 0 0 -0.0002315911747 -0.005650603361 -0.004436099576 0 0 -0.0002181887217 -0.004436099576 -0.003272629765 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.810233526e-05 -0.0001146477103 -7.322206522e-05 0 0 --0.0001146477103 0.001526985663 0.00146004261 0 0 --7.322206522e-05 0.00146004261 0.001513072703 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.626781062e-07 -1.787566795e-05 -1.422822036e-05 0 0 --1.787566795e-05 0.0006278641154 0.0004881394797 0 0 --1.422822036e-05 0.0004881394797 0.0003779736126 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.044014154e-05 3.743581873e-06 -1.723651194e-05 0 0 -3.743581873e-06 -0.0001876068753 4.661391812e-05 0 0 --1.723651194e-05 4.661391812e-05 0.0001198761835 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.053559662e-07 6.718688989e-06 5.005353924e-06 0 0 -6.718688989e-06 -0.0002142362309 -0.0001575189852 0 0 -5.005353924e-06 -0.0001575189852 -0.0001161049555 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.381339498e-06 -1.908733656e-06 2.102566035e-06 0 0 --1.908733656e-06 -5.890929261e-05 -5.230346173e-05 0 0 -2.102566035e-06 -5.230346173e-05 -2.761177816e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.171632728e-06 -5.036931756e-06 -6.577290464e-06 0 0 --5.036931756e-06 0.0001571206165 0.0001378195063 0 0 --6.577290464e-06 0.0001378195063 0.0001074262912 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.622873133e-06 3.342835409e-06 3.154364192e-07 0 0 -3.342835409e-06 -7.447889826e-05 -4.205700903e-05 0 0 -3.154364192e-07 -4.205700903e-05 -3.043446716e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02536609077 -0.001129558489 -0.004524806191 0.09485775773 0.02001187422 --0.001129558489 -0.02714714667 0.01434804497 -0.006850589805 -0.02128019523 --0.004524806191 0.01434804497 0.03820592069 -0.01662081514 -0.006155811698 -0.09485775773 -0.006850589805 -0.01662081514 -0.02423910342 -0.05897181109 -0.02001187422 -0.02128019523 -0.006155811698 -0.05897181109 -0.03832133026 -0.01468632675 -0.006213835245 -0.005830097767 0.02010314689 -0.03102111159 --0.006213835245 0.04403899122 0.0438831238 -0.0252613538 0.005309216542 --0.005830097767 0.0438831238 0.04167275641 -0.01825322072 0.005954560135 -0.02010314689 -0.0252613538 -0.01825322072 0.1046589628 -0.02914582165 --0.03102111159 0.005309216542 0.005954560135 -0.02914582165 0.05622459601 -0.0164641437 0.001875271055 0.002068500082 0.006241872707 -0.03096720404 -0.001875271055 0.002178878091 0.001753615466 -0.0005008689311 -0.003427310882 -0.002068500082 0.001753615466 0.001418202225 -0.0004594580786 -0.003735894917 -0.006241872707 -0.0005008689311 -0.0004594580786 -0.003693963826 -0.01009006202 --0.03096720404 -0.003427310882 -0.003735894917 -0.01009006202 0.05782068083 -0.004147723265 0.0001962028482 7.260929882e-05 -0.0008394679443 -0.007212774769 -0.0001962028482 -0.0002552223192 0.0004596492396 -0.0003676069568 -0.0007454622326 -7.260929882e-05 0.0004596492396 0.0008605292378 -0.0004671715721 -0.0003715360382 --0.0008394679443 -0.0003676069568 -0.0004671715721 0.001474776097 0.003083057804 --0.007212774769 -0.0007454622326 -0.0003715360382 0.003083057804 0.01176251593 --0.002734869716 -0.0001756280969 -2.083301732e-05 0.003683340799 0.003982901133 --0.0001756280969 0.0003146332311 0.0002552731139 0.0001572417738 0.0002432288297 --2.083301732e-05 0.0002552731139 0.0002081824359 0.0001049941004 -1.305274276e-05 -0.003683340799 0.0001572417738 0.0001049941004 -0.001873188035 -0.00609953069 -0.003982901133 0.0002432288297 -1.305274276e-05 -0.00609953069 -0.005622335067 -0.002181759923 0.000193712602 0.0001553823806 -0.0007993079564 -0.003702512769 -0.000193712602 -9.421484422e-05 -5.898589014e-05 -2.322367222e-05 -0.0003398287804 -0.0001553823806 -5.898589014e-05 -3.53208962e-05 -3.314719755e-05 -0.0002687885632 --0.0007993079564 -2.322367222e-05 -3.314719755e-05 0.0001010358532 0.001434662955 --0.003702512769 -0.0003398287804 -0.0002687885632 0.001434662955 0.006257334996 --0.001187487289 -0.0001100374391 -7.690016912e-05 0.0007086381678 0.001951108194 --0.0001100374391 0.0002410819863 0.0002053616547 -6.461094846e-05 0.0001747917249 --7.690016912e-05 0.0002053616547 0.000174388789 -3.676768579e-05 0.0001180237827 -0.0007086381678 -6.461094846e-05 -3.676768579e-05 0.0002038111622 -0.00124822809 -0.001951108194 0.0001747917249 0.0001180237827 -0.00124822809 -0.003197367741 -0.001198998334 0.0001086921645 8.99299412e-05 -0.0003594499426 -0.002054514906 -0.0001086921645 -0.0001173227858 -7.735240238e-05 2.24624377e-05 -0.0001972308978 -8.99299412e-05 -7.735240238e-05 -4.996854867e-05 8.728851561e-07 -0.0001587504502 --0.0003594499426 2.24624377e-05 8.728851561e-07 -0.0001298088743 0.0007028680285 --0.002054514906 -0.0001972308978 -0.0001587504502 0.0007028680285 0.003492777738 --0.0005893513391 -4.866846801e-05 -3.456962668e-05 0.0003283966414 0.0009723218099 --4.866846801e-05 -1.971422173e-05 -1.453733666e-05 3.520130404e-05 7.949985922e-05 --3.456962668e-05 -1.453733666e-05 -1.074763797e-05 2.460779598e-05 5.663472542e-05 -0.0003283966414 3.520130404e-05 2.460779598e-05 -0.0002019310381 -0.0005370417749 -0.0009723218099 7.949985922e-05 5.663472542e-05 -0.0005370417749 -0.00160542905 -9.847683328e-05 1.106897424e-05 9.004384037e-06 -2.896805217e-05 -0.000169127052 -1.106897424e-05 1.309623649e-05 1.124151263e-05 -1.012673002e-05 -1.929034538e-05 -9.004384037e-06 1.124151263e-05 9.597081149e-06 -7.320176093e-06 -1.579532689e-05 --2.896805217e-05 -1.012673002e-05 -7.320176093e-06 3.512836136e-05 4.722374876e-05 --0.000169127052 -1.929034538e-05 -1.579532689e-05 4.722374876e-05 0.0002903697636 -1.393756862e-06 -1.374556977e-07 -3.344020021e-07 -1.124037621e-07 -2.273217922e-06 --1.374556977e-07 1.948511431e-06 4.641821124e-06 -2.5321856e-06 -1.701535275e-06 --3.344020021e-07 4.641821124e-06 6.014692562e-06 -2.56413579e-06 -6.709167833e-07 --1.124037621e-07 -2.5321856e-06 -2.56413579e-06 1.436332086e-05 5.897096417e-06 --2.273217922e-06 -1.701535275e-06 -6.709167833e-07 5.897096417e-06 4.89437498e-07 -4.556303705e-05 4.278042366e-06 3.724340412e-06 -3.973142426e-06 -8.050627233e-05 -4.278042366e-06 -1.469147782e-05 -9.468762125e-06 5.721262231e-06 -9.013629343e-06 -3.724340412e-06 -9.468762125e-06 -5.919688225e-06 2.470657384e-06 -7.197685319e-06 --3.973142426e-06 5.721262231e-06 2.470657384e-06 -3.00455319e-05 1.890218958e-05 --8.050627233e-05 -9.013629343e-06 -7.197685319e-06 1.890218958e-05 0.0001383766401 --3.955394372e-05 -2.904313427e-06 -2.240932661e-06 2.200114973e-05 6.518103841e-05 --2.904313427e-06 -5.515512182e-06 -3.194499024e-06 3.492911413e-06 4.015360094e-06 --2.240932661e-06 -3.194499024e-06 -1.665560969e-06 1.942224436e-06 3.30753521e-06 -2.200114973e-05 3.492911413e-06 1.942224436e-06 -1.926644577e-05 -3.174990083e-05 -6.518103841e-05 4.015360094e-06 3.30753521e-06 -3.174990083e-05 -0.0001090924273 -0.02782234614 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05805887082 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004983501929 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001658645674 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004897842352 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002151614528 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008690254353 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002861643611 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003459066075 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001410675277 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.053262046e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.552734378e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.506685037e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.04742727387 -0.09715356555 -0.01062185984 0 0 --0.09715356555 -0.06877070892 0.03705436617 0 0 --0.01062185984 0.03705436617 0.03293179294 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.08218531552 -0.041334494 -0.04150361995 0 0 --0.041334494 -0.02367429573 0.009445628888 0 0 --0.04150361995 0.009445628888 0.03992915499 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03019288229 -0.00766833105 -0.0155953114 0 0 --0.00766833105 -0.009508585728 0.004478694155 0 0 --0.0155953114 0.004478694155 0.006418337562 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003232096674 -0.00309539312 0.001937983887 0 0 --0.00309539312 -0.0009368155924 0.001134670621 0 0 -0.001937983887 0.001134670621 0.0001069305724 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.006338733943 -0.002568033594 -0.003385034545 0 0 --0.002568033594 -0.002597582134 0.001249761629 0 0 --0.003385034545 0.001249761629 0.001517402373 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007501283056 -0.0002358102461 0.0004014061861 0 0 --0.0002358102461 -6.630339481e-05 0.000103731934 0 0 -0.0004014061861 0.000103731934 -0.0001979979971 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001199262823 -0.0004921644351 0.000121318754 0 0 --0.0004921644351 -0.0002044705487 0.0002874205456 0 0 -0.000121318754 0.0002874205456 2.191630403e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009364886449 0.0002101419419 -0.0004969483558 0 0 -0.0002101419419 1.177329882e-05 -0.0001140250189 0 0 --0.0004969483558 -0.0001140250189 0.000233348838 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002440611641 -0.0002912253081 0.0001089136473 0 0 --0.0002912253081 -0.000190339665 0.0001323970837 0 0 -0.0001089136473 0.0001323970837 -7.137318451e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.342165433e-05 1.209368783e-05 -1.573865412e-05 0 0 -1.209368783e-05 5.780962646e-06 -3.217857516e-06 0 0 --1.573865412e-05 -3.217857516e-06 1.004505077e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.584801209e-05 -1.20890122e-05 1.819759906e-05 0 0 --1.20890122e-05 1.026059544e-06 6.708153709e-06 0 0 -1.819759906e-05 6.708153709e-06 -3.223959877e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.16143393e-05 4.461227897e-06 -5.077221602e-05 0 0 -4.461227897e-06 -1.425545323e-05 -5.237972722e-06 0 0 --5.077221602e-05 -5.237972722e-06 2.080827495e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.280206326e-05 -2.197811849e-05 1.556845773e-05 0 0 --2.197811849e-05 -1.533544964e-05 9.431866156e-06 0 0 -1.556845773e-05 9.431866156e-06 -1.064919288e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05861627419 -0.07053337928 -0.009975813017 0.01830703155 -0.04263112065 --0.07053337928 -0.09140315613 0.05368953546 -0.08400557349 0.02015948647 --0.009975813017 0.05368953546 0.04544209977 0.02339613159 -0.07700911018 -0.01830703155 -0.08400557349 0.02339613159 -0.03192044759 0.02666076747 --0.04263112065 0.02015948647 -0.07700911018 0.02666076747 -0.03689352561 -0.06573261028 -0.0378679016 -0.02629614999 -0.001636454046 0.006973938112 --0.0378679016 -0.01904964854 0.00934281184 -0.02245150038 0.004904446293 --0.02629614999 0.00934281184 0.06571479873 0.03869554071 -0.006830418922 --0.001636454046 -0.02245150038 0.03869554071 0.00881980392 0.00987627252 -0.006973938112 0.004904446293 -0.006830418922 0.00987627252 -0.01521407666 -0.02850362988 -0.01087741761 -0.02247774441 -0.01096173335 0.006194696217 --0.01087741761 -0.02379816356 0.01302302487 -0.003363987356 0.0119399014 --0.02247774441 0.01302302487 0.02268262579 0.01277935068 -0.006001504089 --0.01096173335 -0.003363987356 0.01277935068 0.003668843306 0.002061523842 -0.006194696217 0.0119399014 -0.006001504089 0.002061523842 -0.005790661006 -0.005572164101 0.001965489954 -0.006127673265 -0.0007699611396 -0.002386874024 -0.001965489954 0.0002891255498 -0.002536479783 -0.001863031557 -0.000355134932 --0.006127673265 -0.002536479783 0.006183374901 0.00161187502 0.0005253886137 --0.0007699611396 -0.001863031557 0.00161187502 -0.0001052114559 0.000561816146 --0.002386874024 -0.000355134932 0.0005253886137 0.000561816146 -0.0007682164678 -0.0005105043412 -0.004606466767 0.0005372134274 -0.001194151085 0.002512306232 --0.004606466767 -0.00590220638 0.004895365167 -0.0001945429316 0.003037172196 -0.0005372134274 0.004895365167 -0.0008127905927 0.00137114466 -0.002432787866 --0.001194151085 -0.0001945429316 0.00137114466 0.0004631306683 0.000157375602 -0.002512306232 0.003037172196 -0.002432787866 0.000157375602 -0.001522495726 -0.002264155041 0.001067129366 -0.002307971783 -0.000489026054 -0.00062353969 -0.001067129366 0.0003227432067 -0.0008948370746 -0.0002187058803 -0.0001877619225 --0.002307971783 -0.0008948370746 0.002200336449 0.0005215683823 0.0004828695984 --0.000489026054 -0.0002187058803 0.0005215683823 0.0001194857978 9.605618632e-05 --0.00062353969 -0.0001877619225 0.0004828695984 9.605618632e-05 6.246493944e-05 --0.0005296402958 -0.0006751603351 0.0008562288518 0.0001432932453 0.0002982106819 --0.0006751603351 -0.0003688134205 0.0007573651541 8.308221527e-05 0.0001344297628 -0.0008562288518 0.0007573651541 -0.000702899337 -7.240873144e-06 -0.0003770703293 -0.0001432932453 8.308221527e-05 -7.240873144e-06 1.864827467e-05 -3.677131111e-05 -0.0002982106819 0.0001344297628 -0.0003770703293 -3.677131111e-05 -5.585021098e-05 -0.0008449560165 0.0001868267227 -0.0009595540282 -0.0002774812021 -0.0001103649191 -0.0001868267227 -0.0002630750812 -0.0001883073465 -0.0001673194262 0.0001474572743 --0.0009595540282 -0.0001883073465 0.0008819712365 0.0002280739809 3.712572031e-05 --0.0002774812021 -0.0001673194262 0.0002280739809 1.565797912e-05 7.115927527e-05 --0.0001103649191 0.0001474572743 3.712572031e-05 7.115927527e-05 -9.042937507e-05 --0.0002123385355 -0.0002281738627 0.0002352499674 9.995866851e-06 0.0001166546605 --0.0002281738627 -0.0002261109214 0.0002392464044 1.192484701e-05 0.000117487062 -0.0002352499674 0.0002392464044 -0.0002772936163 -2.293658606e-05 -0.0001235503205 -9.995866851e-06 1.192484701e-05 -2.293658606e-05 -4.738182937e-06 -5.268440894e-06 -0.0001166546605 0.000117487062 -0.0001235503205 -5.268440894e-06 -5.937937291e-05 -6.344154872e-05 8.326726711e-06 -3.23054869e-05 -5.962962785e-06 -1.052616835e-05 -8.326726711e-06 6.984659227e-06 6.127765686e-06 -1.573765476e-06 -1.110832919e-05 --3.23054869e-05 6.127765686e-06 5.05687585e-05 1.946626409e-05 6.831376476e-07 --5.962962785e-06 -1.573765476e-06 1.946626409e-05 5.637034947e-06 1.747151918e-06 --1.052616835e-05 -1.110832919e-05 6.831376476e-07 1.747151918e-06 9.307645846e-06 -3.995945107e-05 2.617127066e-05 -4.679680443e-05 -3.7547707e-06 -1.932903917e-05 -2.617127066e-05 1.711224701e-05 -3.090740697e-05 -1.299258139e-05 -1.058858118e-05 --4.679680443e-05 -3.090740697e-05 5.698796115e-05 4.33313827e-06 5.227722283e-06 --3.7547707e-06 -1.299258139e-05 4.33313827e-06 -5.576969962e-06 4.423234452e-06 --1.932903917e-05 -1.058858118e-05 5.227722283e-06 4.423234452e-06 4.412453617e-06 -1.256024837e-05 -1.73023875e-05 -1.940452082e-05 -1.136868562e-05 5.789202671e-06 --1.73023875e-05 -4.33256547e-05 1.621829047e-05 -1.177496831e-05 2.255258748e-05 --1.940452082e-05 1.621829047e-05 9.226300911e-06 3.942287151e-06 -1.608798186e-05 --1.136868562e-05 -1.177496831e-05 3.942287151e-06 -4.468698625e-06 4.574182114e-06 -5.789202671e-06 2.255258748e-05 -1.608798186e-05 4.574182114e-06 -1.199205795e-05 --1.229499636e-05 -1.047129196e-05 1.545738774e-05 3.124151897e-06 2.283581184e-06 --1.047129196e-05 -1.058570646e-05 1.166922107e-05 -2.241294518e-06 3.888874676e-06 -1.545738774e-05 1.166922107e-05 -1.64019468e-05 -4.532883663e-06 -8.693782797e-06 -3.124151897e-06 -2.241294518e-06 -4.532883663e-06 -3.557055374e-06 7.305661369e-07 -2.283581184e-06 3.888874676e-06 -8.693782797e-06 7.305661369e-07 -1.245416435e-06 --0.04951532595 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01979010226 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007038280168 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004788040911 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.353449961e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002833590244 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.861511463e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.203753495e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.401897386e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.710867544e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.017038183e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.91867128e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.82917307e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001978337948 0.0009588614892 0.003830958214 0 0 -0.0009588614892 0.08911047186 -0.01229233145 0 0 -0.003830958214 -0.01229233145 -0.07376465302 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002226308877 0.005182766782 0.0045952933 0 0 -0.005182766782 -0.1106083296 -0.1028891293 0 0 -0.0045952933 -0.1028891293 -0.09318735184 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.690367841e-05 0.001407141531 0.001023303424 0 0 -0.001407141531 -0.0417612334 -0.03012928632 0 0 -0.001023303424 -0.03012928632 -0.02160857028 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.155278002e-05 -0.0005005298066 -0.000478079742 0 0 --0.0005005298066 0.009084907013 0.01010272757 0 0 --0.000478079742 0.01010272757 0.0102108925 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.848323313e-05 -0.0005406815633 -0.0003934573208 0 0 --0.0005406815633 0.01570483058 0.01135620565 0 0 --0.0003934573208 0.01135620565 0.00816448449 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.998817462e-06 0.0001091752435 8.597993652e-05 0 0 -0.0001091752435 -0.002881776022 -0.002275937291 0 0 -8.597993652e-05 -0.002275937291 -0.001797033439 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.659103744e-06 0.0001161428245 9.931856054e-05 0 0 -0.0001161428245 -0.00267601403 -0.002366859742 0 0 -9.931856054e-05 -0.002366859742 -0.002063016293 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.320316869e-07 5.145577834e-06 -2.893409693e-06 0 0 -5.145577834e-06 -0.0004904322643 -0.000151036427 0 0 --2.893409693e-06 -0.000151036427 6.128762784e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.523781248e-06 -4.593022784e-05 -3.240349438e-05 0 0 --4.593022784e-05 0.001380977501 0.0009690006116 0 0 --3.240349438e-05 0.0009690006116 0.0006718861208 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.376439522e-08 3.623049745e-06 1.174285453e-06 0 0 -3.623049745e-06 -0.000181220021 -8.636816342e-05 0 0 -1.174285453e-06 -8.636816342e-05 -2.481590105e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.845764723e-07 5.301685447e-06 5.99389663e-06 0 0 -5.301685447e-06 -5.442542147e-05 -0.0001004585316 0 0 -5.99389663e-06 -0.0001004585316 -0.0001234136496 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.75202844e-08 1.986841569e-06 8.426648732e-07 0 0 -1.986841569e-06 -9.286097393e-05 -4.772058034e-05 0 0 -8.426648732e-07 -4.772058034e-05 -1.814805643e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.86459102e-08 -3.411209029e-06 -2.052969887e-06 0 0 --3.411209029e-06 0.0001162766932 7.217607069e-05 0 0 --2.052969887e-06 7.217607069e-05 4.189342911e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01305174468 0.0009702915249 -9.435639712e-05 -0.0242904484 -0.01737525361 -0.0009702915249 6.696826285e-05 -2.814345951e-05 -0.002182985366 -0.001199219533 --9.435639712e-05 -2.814345951e-05 -8.575010351e-05 -0.001367364185 0.000503963559 --0.0242904484 -0.002182985366 -0.001367364185 0.0176619045 0.03909111583 --0.01737525361 -0.001199219533 0.000503963559 0.03909111583 0.02147476174 --0.008022713009 -0.0008173683551 -0.0008458580197 -0.001204297639 0.01463684421 --0.0008173683551 -8.280585168e-05 -8.425828063e-05 -8.84357009e-05 0.001482826812 --0.0008458580197 -8.425828063e-05 -8.13289595e-05 1.31983083e-05 0.001508833452 --0.001204297639 -8.84357009e-05 1.31983083e-05 0.002321398501 0.001583585869 -0.01463684421 0.001482826812 0.001508833452 0.001583585869 -0.02655338133 --0.0005838234474 -5.540062385e-05 -4.486050593e-05 0.0002103619046 0.0009920692426 --5.540062385e-05 -5.25686676e-06 -4.25590498e-06 1.998024521e-05 9.413567997e-05 --4.486050593e-05 -4.25590498e-06 -3.442809849e-06 1.623956101e-05 7.621124782e-05 -0.0002103619046 1.998024521e-05 1.623956101e-05 -7.444979147e-05 -0.0003577905208 -0.0009920692426 9.413567997e-05 7.621124782e-05 -0.0003577905208 -0.001685704935 -0.0001385388769 9.027330093e-06 -6.204808756e-06 -0.0003507192661 -0.0001616544866 -9.027330093e-06 4.71122859e-07 -8.833698017e-07 -3.14052245e-05 -8.436529961e-06 --6.204808756e-06 -8.833698017e-07 -1.681823673e-06 -1.927654439e-05 1.581860894e-05 --0.0003507192661 -3.14052245e-05 -1.927654439e-05 0.0002633352971 0.0005623788598 --0.0001616544866 -8.436529961e-06 1.581860894e-05 0.0005623788598 0.0001510753223 -9.649708638e-06 9.086791903e-07 7.130813743e-07 -3.985442413e-06 -1.627281031e-05 -9.086791903e-07 8.556709505e-08 6.714821502e-08 -3.752978129e-07 -1.532352762e-06 -7.130813743e-07 6.714821502e-08 5.26936494e-08 -2.945229623e-07 -1.202503589e-06 --3.985442413e-06 -3.752978129e-07 -2.945229623e-07 1.645825544e-06 6.720912372e-06 --1.627281031e-05 -1.532352762e-06 -1.202503589e-06 6.720912372e-06 2.744168166e-05 -7.466613012e-06 6.874840188e-07 4.876705485e-07 -4.226786217e-06 -1.231099692e-05 -6.874840188e-07 6.326484442e-08 4.475947128e-08 -3.91723062e-07 -1.132903978e-06 -4.876705485e-07 4.475947128e-08 3.126861466e-08 -2.864717368e-07 -8.015226624e-07 --4.226786217e-06 -3.91723062e-07 -2.864717368e-07 2.206977812e-06 7.01470256e-06 --1.231099692e-05 -1.132903978e-06 -8.015226624e-07 7.01470256e-06 2.028727702e-05 --3.964317449e-05 -3.908095352e-06 -3.644511537e-06 3.602958911e-06 6.998332736e-05 --3.908095352e-06 -3.845180767e-07 -3.562178562e-07 4.098910527e-07 6.885667672e-06 --3.644511537e-06 -3.562178562e-07 -3.225108003e-07 5.550681009e-07 6.37888111e-06 -3.602958911e-06 4.098910527e-07 5.550681009e-07 3.668129614e-06 -7.340191564e-06 -6.998332736e-05 6.885667672e-06 6.37888111e-06 -7.340191564e-06 -0.000123303486 -3.368705243e-05 3.051947213e-06 1.996598378e-06 -2.270476118e-05 -5.465211548e-05 -3.051947213e-06 2.760515706e-07 1.790624783e-07 -2.089537056e-06 -4.943337677e-06 -1.996598378e-06 1.790624783e-07 1.108783859e-07 -1.478834314e-06 -3.206528883e-06 --2.270476118e-05 -2.089537056e-06 -1.478834314e-06 1.292580043e-05 3.741787416e-05 --5.465211548e-05 -4.943337677e-06 -3.206528883e-06 3.741787416e-05 8.852181982e-05 -7.87933838e-06 7.274486857e-07 5.226541879e-07 -4.31710583e-06 -1.302664308e-05 -7.274486857e-07 6.713188075e-08 4.813559697e-08 -4.006721057e-07 -1.202150971e-06 -5.226541879e-07 4.813559697e-08 3.418746331e-08 -2.949572922e-07 -8.619791847e-07 --4.31710583e-06 -4.006721057e-07 -2.949572922e-07 2.211918696e-06 7.17494686e-06 --1.302664308e-05 -1.202150971e-06 -8.619791847e-07 7.17494686e-06 2.152728243e-05 --2.732227285e-06 -2.768812505e-07 -2.819997293e-07 -3.018348793e-07 4.958188777e-06 --2.768812505e-07 -2.79209952e-08 -2.80134511e-08 -2.051752794e-08 4.999886926e-07 --2.819997293e-07 -2.80134511e-08 -2.679779742e-08 1.004786008e-08 5.016435376e-07 --3.018348793e-07 -2.051752794e-08 1.004786008e-08 7.021267114e-07 3.673943991e-07 -4.958188777e-06 4.999886926e-07 5.016435376e-07 3.673943991e-07 -8.953430595e-06 -2.637965133e-06 2.094142507e-07 3.535001829e-08 -3.937988786e-06 -3.750036223e-06 -2.094142507e-07 1.604255256e-08 4.265048249e-10 -3.550992438e-07 -2.872785555e-07 -3.535001829e-08 4.265048249e-10 -9.261074199e-09 -2.265548678e-07 -7.638906443e-09 --3.937988786e-06 -3.550992438e-07 -2.265548678e-07 2.776316312e-06 6.358831326e-06 --3.750036223e-06 -2.872785555e-07 -7.638906443e-09 6.358831326e-06 5.144378873e-06 -6.557637846e-06 5.901073723e-07 3.723200862e-07 -4.711560246e-06 -1.056722329e-05 -5.901073723e-07 5.298417441e-08 3.302044498e-08 -4.326203011e-07 -9.488031833e-07 -3.723200862e-07 3.302044498e-08 1.916013193e-08 -3.028348611e-07 -5.91307702e-07 --4.711560246e-06 -4.326203011e-07 -3.028348611e-07 2.75447613e-06 7.747038063e-06 --1.056722329e-05 -9.488031833e-07 -5.91307702e-07 7.747038063e-06 1.699049746e-05 -1.214700814e-06 9.793731692e-08 2.244887371e-08 -1.703153412e-06 -1.753789167e-06 -9.793731692e-08 7.671415924e-09 8.898004371e-10 -1.537465578e-07 -1.37374202e-07 -2.244887371e-08 8.898004371e-10 -3.349249935e-09 -9.867275394e-08 -1.593449974e-08 --1.703153412e-06 -1.537465578e-07 -9.867275394e-08 1.188431561e-06 2.753168954e-06 --1.753789167e-06 -1.37374202e-07 -1.593449974e-08 2.753168954e-06 2.459998463e-06 --0.1106587323 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1537969312 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.146578798 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007537852103 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01960688736 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01119744953 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.009516654649 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009325300526 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004455327594 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001225958845 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003394700064 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001642118627 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.00108702e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06635105207 0.005281686523 0.007308266179 0 0 -0.005281686523 0.04422637457 0.001414738124 0 0 -0.007308266179 0.001414738124 -0.1539940955 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0274565345 0.002822958073 -0.01089472112 0 0 -0.002822958073 -0.0502288116 -0.03689408521 0 0 --0.01089472112 -0.03689408521 -0.09351176906 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002896284093 0.002384529532 0.003376155819 0 0 -0.002384529532 -0.03856153336 -0.04490125466 0 0 -0.003376155819 -0.04490125466 -0.04015691701 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002175178458 -0.0004457951142 -0.001354091067 0 0 --0.0004457951142 0.01434452174 0.01247969014 0 0 --0.001354091067 0.01247969014 0.005889391169 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004427976399 0.0006470396684 0.0009109851582 0 0 -0.0006470396684 -0.01121724797 -0.01229127531 0 0 -0.0009109851582 -0.01229127531 -0.01125079501 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001487151736 -0.0002382573285 -0.000139331245 0 0 --0.0002382573285 0.005681682608 0.00444409816 0 0 --0.000139331245 0.00444409816 0.003178004196 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.744282545e-05 6.886781371e-05 7.24306641e-05 0 0 -6.886781371e-05 -0.001472852145 -0.00140510676 0 0 -7.24306641e-05 -0.00140510676 -0.001512123035 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.159965813e-05 -2.858084368e-05 -2.325525581e-05 0 0 --2.858084368e-05 -0.0005837095049 -0.0004323929174 0 0 --2.325525581e-05 -0.0004323929174 -0.000332994521 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.799198212e-05 -3.657079006e-05 -1.582468047e-05 0 0 --3.657079006e-05 0.00021687516 -7.222561135e-06 0 0 --1.582468047e-05 -7.222561135e-06 -8.02039721e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.196603395e-05 -2.63253978e-05 -1.887789192e-05 0 0 --2.63253978e-05 0.0002334437536 0.0001810466712 0 0 --1.887789192e-05 0.0001810466712 0.0001327516704 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.255663473e-06 -9.6971806e-06 -3.453350383e-06 0 0 --9.6971806e-06 7.229462552e-05 6.623036948e-05 0 0 --3.453350383e-06 6.623036948e-05 2.923268712e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.789342654e-06 -6.49686219e-06 3.436118422e-06 0 0 --6.49686219e-06 -0.0001443472918 -0.0001239792915 0 0 -3.436118422e-06 -0.0001239792915 -0.0001036569806 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.269212149e-06 -1.451028949e-05 -4.690936813e-06 0 0 --1.451028949e-05 8.645463552e-05 5.54576525e-05 0 0 --4.690936813e-06 5.54576525e-05 3.568493993e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02448618562 0.004704276229 0.01411540968 -0.08981758382 -0.02430199928 -0.004704276229 0.04274558843 -0.006273277876 0.003619482606 0.002561529556 -0.01411540968 -0.006273277876 -0.0692846233 -0.01138461298 -0.003532632524 --0.08981758382 0.003619482606 -0.01138461298 0.005241891693 0.06285041091 --0.02430199928 0.002561529556 -0.003532632524 0.06285041091 0.06078437169 --0.01470953102 0.006240257798 0.00597691853 -0.02000915018 0.03098946315 -0.006240257798 -0.04229240084 -0.041277344 0.02617074352 -0.007404629507 -0.00597691853 -0.041277344 -0.03827381283 0.01924486427 -0.009080989268 --0.02000915018 0.02617074352 0.01924486427 -0.1044582406 0.02805463818 -0.03098946315 -0.007404629507 -0.009080989268 0.02805463818 -0.05371069501 --0.01646520986 -0.001867110175 -0.002050914095 -0.006233582138 0.03095741593 --0.001867110175 -0.002236166943 -0.001880169391 0.0004403556519 0.003496030119 --0.002050914095 -0.001880169391 -0.001695740819 0.0003272923595 0.003887694325 --0.006233582138 0.0004403556519 0.0003272923595 0.003631172112 0.01016264544 -0.03095741593 0.003496030119 0.003887694325 0.01016264544 -0.05790311106 --0.004147752889 -0.0001960156899 -7.218312433e-05 0.0008396754473 0.007212550708 --0.0001960156899 0.0002544012544 -0.0004617809477 0.0003665014135 0.0007464460066 --7.218312433e-05 -0.0004617809477 -0.0008657900124 0.0004645051796 0.0003740893308 -0.0008396754473 0.0003665014135 0.0004645051796 -0.001476112796 -0.003081733812 -0.007212550708 0.0007464460066 0.0003740893308 -0.003081733812 -0.01176369465 -0.00273322375 0.0001836419223 4.083857246e-05 -0.003673156796 -0.003992515825 -0.0001836419223 -0.0003120254703 -0.0002877045333 -0.0001830120828 -0.0002463577965 -4.083857246e-05 -0.0002877045333 -0.0003499254795 -0.00019160443 5.196233984e-05 --0.003673156796 -0.0001830120828 -0.00019160443 0.001823800304 0.006130448801 --0.003992515825 -0.0002463577965 5.196233984e-05 0.006130448801 0.005626089412 --0.002184301915 -0.0001828435318 -0.0001268319931 0.0008141782418 0.0036894701 --0.0001828435318 0.0001284747746 6.297244122e-05 5.860084015e-06 0.0002987177782 --0.0001268319931 6.297244122e-05 -8.8501811e-05 -6.169969347e-05 0.0002640051491 -0.0008141782418 5.860084015e-06 -6.169969347e-05 -0.0001615653082 -0.001413826858 -0.0036894701 0.0002987177782 0.0002640051491 -0.001413826858 -0.00620800289 -0.001185921167 0.000115093489 9.192961702e-05 -0.0007004153999 -0.001957175937 -0.000115093489 -0.0001874380796 -0.0001446275935 7.812010442e-05 -0.0002391649305 -9.192961702e-05 -0.0001446275935 -0.0001480159741 2.040467522e-05 -0.0001909032603 --0.0007004153999 7.812010442e-05 2.040467522e-05 -0.000224052555 0.001232018452 --0.001957175937 -0.0002391649305 -0.0001909032603 0.001232018452 0.003274616208 --0.00119981374 -0.0001067102038 -8.312162637e-05 0.0003633580419 0.002052136681 --0.0001067102038 0.0001580718389 0.0001319478836 -5.881107031e-06 0.0001483336597 --8.312162637e-05 0.0001319478836 0.0001042007698 7.216190338e-06 9.323782913e-05 -0.0003633580419 -5.881107031e-06 7.216190338e-06 0.0001260055273 -0.0007227651294 -0.002052136681 0.0001483336597 9.323782913e-05 -0.0007227651294 -0.003434103003 -0.0005888698158 4.994867686e-05 3.876178905e-05 -0.0003260257496 -0.0009738580111 -4.994867686e-05 4.162010051e-05 4.290952788e-05 -2.701722789e-05 -0.0001057861755 -3.876178905e-05 4.290952788e-05 3.595264299e-05 -2.262844143e-05 -9.068042717e-05 --0.0003260257496 -2.701722789e-05 -2.262844143e-05 0.0001985502129 0.0005272211381 --0.0009738580111 -0.0001057861755 -9.068042717e-05 0.0005272211381 0.001636971744 --9.889464683e-05 -9.737717295e-06 -5.022369856e-06 3.11516379e-05 0.0001675294662 --9.737717295e-06 1.561675004e-06 5.582481948e-06 1.398900792e-05 1.70089469e-06 --5.022369856e-06 5.582481948e-06 -1.465731899e-06 3.404233588e-06 -4.393046303e-06 -3.11516379e-05 1.398900792e-05 3.404233588e-06 -4.034615214e-05 -5.185819392e-05 -0.0001675294662 1.70089469e-06 -4.393046303e-06 -5.185819392e-05 -0.0002692624745 --1.842384971e-06 1.757757897e-06 4.907864493e-06 2.566108821e-06 3.2885017e-07 -1.757757897e-06 9.991600706e-06 6.621192397e-06 3.854820368e-06 -1.262637089e-05 -4.907864493e-06 6.621192397e-06 -9.260532647e-06 -6.547288426e-06 -1.284431952e-05 -2.566108821e-06 3.854820368e-06 -6.547288426e-06 -2.195356856e-05 -7.484109999e-06 -3.2885017e-07 -1.262637089e-05 -1.284431952e-05 -7.484109999e-06 1.670377581e-05 --4.595347754e-05 -2.877652188e-06 2.406238254e-07 6.102969747e-06 7.882583389e-05 --2.877652188e-06 2.527244991e-05 1.961106903e-05 -4.428624636e-06 -3.683240324e-06 -2.406238254e-07 1.961106903e-05 3.69568274e-06 -1.015351357e-05 -4.972755089e-06 -6.102969747e-06 -4.428624636e-06 -1.015351357e-05 2.354000674e-05 -2.045328606e-05 -7.882583389e-05 -3.683240324e-06 -4.972755089e-06 -2.045328606e-05 -0.0001231407527 -3.924382696e-05 3.879178113e-06 5.175698046e-06 -2.038809573e-05 -6.635088089e-05 -3.879178113e-06 1.664818149e-05 1.613674134e-05 -4.36659078e-07 -1.737433831e-05 -5.175698046e-06 1.613674134e-05 8.505900067e-06 -4.517639267e-06 -1.883785261e-05 --2.038809573e-05 -4.36659078e-07 -4.517639267e-06 1.552838267e-05 2.808254333e-05 --6.635088089e-05 -1.737433831e-05 -1.883785261e-05 2.808254333e-05 0.0001251229312 --0.01356822866 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004254641054 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001980352827 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002618458097 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.359645692e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.127446411e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.658789297e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.361237087e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.418947619e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.440331099e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.208004493e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.021066696e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.334072226e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01251472919 0.006179424812 0.02408017024 0 0 -0.006179424812 0.04804116418 0.006421820754 0 0 -0.02408017024 0.006421820754 -0.03977062016 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00455341544 -0.003706633381 -0.003627205792 0 0 --0.003706633381 -0.004562110405 0.0005829356744 0 0 --0.003627205792 0.0005829356744 0.002148492891 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.523863145e-05 0.0002495561367 0.0002063499579 0 0 -0.0002495561367 -0.0003316667674 -0.0004206766699 0 0 -0.0002063499579 -0.0004206766699 -0.0004588850333 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001383717928 -0.0001313895765 4.522177132e-06 0 0 --0.0001313895765 0.0002087852531 0.0002550656811 0 0 -4.522177132e-06 0.0002550656811 0.0001883918482 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.805940939e-05 8.314171274e-06 0.0001003083079 0 0 -8.314171274e-06 9.255733585e-06 -1.128063527e-05 0 0 -0.0001003083079 -1.128063527e-05 -0.0001139347315 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.143263818e-05 -2.168943308e-05 7.48232461e-05 0 0 --2.168943308e-05 1.077172066e-05 1.734903141e-05 0 0 -7.48232461e-05 1.734903141e-05 -7.671348697e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.922503764e-07 -3.434440397e-05 -7.225170586e-07 0 0 --3.434440397e-05 8.873951642e-05 5.943619928e-05 0 0 --7.225170586e-07 5.943619928e-05 1.025191986e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.48983308e-05 -5.758322147e-05 -4.616269442e-05 0 0 --5.758322147e-05 7.638181985e-05 7.930130303e-05 0 0 --4.616269442e-05 7.930130303e-05 6.053659678e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.176416538e-05 -3.822734989e-05 -3.840411754e-05 0 0 --3.822734989e-05 3.510742092e-05 4.638713258e-05 0 0 --3.840411754e-05 4.638713258e-05 4.64294656e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.018844022e-05 -1.896837378e-05 -1.349943571e-05 0 0 --1.896837378e-05 2.637972151e-05 2.632533395e-05 0 0 --1.349943571e-05 2.632533395e-05 1.772721052e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.087100673e-06 -1.141771069e-05 -1.462505206e-06 0 0 --1.141771069e-05 2.131837687e-05 1.686547174e-05 0 0 --1.462505206e-06 1.686547174e-05 1.944577443e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.806725339e-06 -1.265948329e-05 -3.58890679e-06 0 0 --1.265948329e-05 1.850956987e-05 1.700663066e-05 0 0 --3.58890679e-06 1.700663066e-05 4.571677711e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.688861301e-06 -1.170373045e-05 -4.732771751e-06 0 0 --1.170373045e-05 1.660752014e-05 1.573817422e-05 0 0 --4.732771751e-06 1.573817422e-05 6.046672388e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002296919781 0.01580308501 0.011878559 0.007070964559 -0.01046052741 -0.01580308501 0.04917380534 0.0006240356775 -0.0151717117 -0.04380236994 -0.011878559 0.0006240356775 -0.04901732513 -0.05034587446 -0.01573751228 -0.007070964559 -0.0151717117 -0.05034587446 -0.04662642761 -0.002016529423 --0.01046052741 -0.04380236994 -0.01573751228 -0.002016529423 0.03431637857 --0.0004280228943 -0.002287174204 -0.001629212998 -0.0005289993211 0.002047919585 --0.002287174204 -0.01002006939 -0.00528556841 -0.003099338116 0.006721429135 --0.001629212998 -0.00528556841 -0.0008879606057 -0.002437036625 0.001236521905 --0.0005289993211 -0.003099338116 -0.002437036625 -0.0006200476803 0.003053761159 -0.002047919585 0.006721429135 0.001236521905 0.003053761159 -0.001702868409 --5.69359271e-05 0.0001115603968 0.0003887150437 0.0001733472182 -0.0001752532342 -0.0001115603968 0.0004753612003 0.0004783388009 0.0003515580939 -0.0003448497787 -0.0003887150437 0.0004783388009 -0.0004381800932 5.16134244e-05 -3.328712068e-05 -0.0001733472182 0.0003515580939 5.16134244e-05 0.0001607147812 -0.000151949791 --0.0001752532342 -0.0003448497787 -3.328712068e-05 -0.000151949791 0.0001431337366 --2.192607589e-06 -5.720753704e-06 4.644576113e-06 -1.883645656e-07 -1.409719573e-06 --5.720753704e-06 4.982490516e-05 9.371230396e-05 6.033671757e-05 -3.641151725e-05 -4.644576113e-06 9.371230396e-05 9.297991345e-05 7.70499046e-05 -3.826187052e-05 --1.883645656e-07 6.033671757e-05 7.70499046e-05 5.71268557e-05 -3.087142942e-05 --1.409719573e-06 -3.641151725e-05 -3.826187052e-05 -3.087142942e-05 1.564126992e-05 --1.870376575e-05 -8.908256878e-06 5.82178722e-05 3.273511267e-05 -2.67153776e-06 --8.908256878e-06 -2.372683267e-06 3.478012413e-05 2.481819626e-05 7.083898723e-07 -5.82178722e-05 3.478012413e-05 -0.0001546186038 -6.709854801e-05 1.578473752e-05 -3.273511267e-05 2.481819626e-05 -6.709854801e-05 -1.176759857e-05 1.444864211e-05 --2.67153776e-06 7.083898723e-07 1.578473752e-05 1.444864211e-05 1.716391713e-06 -3.339486739e-06 1.055721749e-05 1.338136693e-05 2.090228351e-06 -1.748149937e-05 -1.055721749e-05 2.253656203e-05 3.566257037e-06 -1.294147189e-05 -3.35881316e-05 -1.338136693e-05 3.566257037e-06 -8.482776584e-05 -6.149503766e-05 7.425015191e-06 -2.090228351e-06 -1.294147189e-05 -6.149503766e-05 -3.395356356e-05 2.815700148e-05 --1.748149937e-05 -3.35881316e-05 7.425015191e-06 2.815700148e-05 4.815844885e-05 -2.496564721e-06 2.287490303e-05 2.231368066e-05 1.188337478e-05 -1.775502642e-05 -2.287490303e-05 0.0001282800306 8.908248009e-05 2.077631889e-05 -0.0001204332886 -2.231368066e-05 8.908248009e-05 3.574802387e-05 -1.879551936e-05 -9.874764394e-05 -1.188337478e-05 2.077631889e-05 -1.879551936e-05 -3.890296458e-05 -3.873430178e-05 --1.775502642e-05 -0.0001204332886 -9.874764394e-05 -3.873430178e-05 0.0001043187866 --2.836419372e-06 -5.308830927e-07 7.270635473e-06 6.993052673e-06 3.174827531e-06 --5.308830927e-07 6.683000313e-05 8.244950188e-05 2.819395082e-05 -6.739129996e-05 -7.270635473e-06 8.244950188e-05 7.960655853e-05 1.464739312e-05 -9.050635458e-05 -6.993052673e-06 2.819395082e-05 1.464739312e-05 -6.441467002e-06 -3.51367165e-05 -3.174827531e-06 -6.739129996e-05 -9.050635458e-05 -3.51367165e-05 6.550473251e-05 --4.60837506e-07 1.534261244e-06 4.418346299e-06 2.512353646e-06 -1.692880116e-06 -1.534261244e-06 2.380267107e-05 2.982646497e-05 8.710470637e-06 -2.788209287e-05 -4.418346299e-06 2.982646497e-05 2.624609021e-05 2.215931075e-06 -3.54034775e-05 -2.512353646e-06 8.710470637e-06 2.215931075e-06 -3.612133754e-06 -1.056695017e-05 --1.692880116e-06 -2.788209287e-05 -3.54034775e-05 -1.056695017e-05 3.264121998e-05 -5.237280383e-07 4.539121606e-06 4.960552413e-06 2.353746494e-06 -4.11234053e-06 -4.539121606e-06 2.557071562e-05 2.016635891e-05 4.636047895e-06 -2.596082645e-05 -4.960552413e-06 2.016635891e-05 9.144009938e-06 -3.838462068e-06 -2.290256512e-05 -2.353746494e-06 4.636047895e-06 -3.838462068e-06 -7.468438364e-06 -7.399178361e-06 --4.11234053e-06 -2.596082645e-05 -2.290256512e-05 -7.399178361e-06 2.548445444e-05 --4.921165941e-07 3.266072133e-06 6.039752187e-06 3.757466256e-06 -2.349114309e-06 -3.266072133e-06 2.109442736e-05 1.456451263e-05 1.53804301e-06 -2.109566534e-05 -6.039752187e-06 1.456451263e-05 -4.299578839e-06 -1.228701027e-05 -1.804414818e-05 -3.757466256e-06 1.53804301e-06 -1.228701027e-05 -1.230077226e-05 -4.772981982e-06 --2.349114309e-06 -2.109566534e-05 -1.804414818e-05 -4.772981982e-06 2.025389056e-05 --5.232108971e-07 2.210525988e-06 4.933311008e-06 3.023935544e-06 -1.741694673e-06 -2.210525988e-06 1.600568867e-05 1.245705966e-05 1.583558982e-06 -1.671505017e-05 -4.933311008e-06 1.245705966e-05 -2.764138023e-06 -9.64603198e-06 -1.520716147e-05 -3.023935544e-06 1.583558982e-06 -9.64603198e-06 -9.34156503e-06 -3.572871093e-06 --1.741694673e-06 -1.671505017e-05 -1.520716147e-05 -3.572871093e-06 1.706808772e-05 --1.126384473e-07 2.164014473e-06 3.58615257e-06 2.026823057e-06 -1.858123484e-06 -2.164014473e-06 1.715670899e-05 1.582370575e-05 3.925847832e-06 -1.791178815e-05 -3.58615257e-06 1.582370575e-05 8.035583354e-06 -2.696073972e-06 -1.81744836e-05 -2.026823057e-06 3.925847832e-06 -2.696073972e-06 -5.185702153e-06 -5.692003778e-06 --1.858123484e-06 -1.791178815e-05 -1.81744836e-05 -5.692003778e-06 1.828280139e-05 --0.02225558486 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003306009376 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004454746716 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000664594069 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002261184438 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.816473076e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.566994882e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.451402188e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.110658489e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.957357047e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.250851373e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.96235498e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.539274865e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0242394246 0.05034200425 0.0122955418 0 0 -0.05034200425 0.03530753783 -0.02553593916 0 0 -0.0122955418 -0.02553593916 -0.006236961092 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01323260302 0.001100016404 0.006712101324 0 0 -0.001100016404 0.002115127989 -0.0005578733244 0 0 -0.006712101324 -0.0005578733244 -0.003404644124 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007207157903 0.0003344229515 -0.0003656791557 0 0 -0.0003344229515 0.000141273923 -0.0001696931698 0 0 --0.0003656791557 -0.0001696931698 0.0001855394853 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007521213972 0.000343665676 0.0003815506068 0 0 -0.000343665676 0.0003030401199 -0.0001743656254 0 0 -0.0003815506068 -0.0001743656254 -0.0001935603284 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001937617641 9.164792303e-05 -9.825906051e-05 0 0 -9.164792303e-05 3.912298818e-05 -4.647167551e-05 0 0 --9.825906051e-05 -4.647167551e-05 4.982841804e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.102256605e-06 -5.544323631e-07 1.570932319e-06 0 0 --5.544323631e-07 -3.19534259e-08 2.811544849e-07 0 0 -1.570932319e-06 2.811544849e-07 -7.954922209e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.774309069e-05 -8.688961924e-07 3.435651216e-05 0 0 --8.688961924e-07 6.602475533e-06 4.427644455e-07 0 0 -3.435651216e-05 4.427644455e-07 -1.742421065e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.1718541e-05 2.670524274e-05 -5.945153024e-06 0 0 -2.670524274e-05 1.612803607e-05 -1.354995984e-05 0 0 --5.945153024e-06 -1.354995984e-05 3.016147129e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.638820375e-05 1.02684505e-05 -8.311166876e-06 0 0 -1.02684505e-05 4.946370224e-06 -5.207009066e-06 0 0 --8.311166876e-06 -5.207009066e-06 4.214951947e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.673688461e-06 3.819825504e-06 1.356471624e-06 0 0 -3.819825504e-06 2.766730332e-06 -1.938343109e-06 0 0 -1.356471624e-06 -1.938343109e-06 -6.881935744e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.381551669e-06 6.000234906e-06 2.72958711e-06 0 0 -6.000234906e-06 4.472356687e-06 -3.043033908e-06 0 0 -2.72958711e-06 -3.043033908e-06 -1.384479084e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.504799099e-06 6.440763273e-06 -1.777960567e-06 0 0 -6.440763273e-06 3.818279979e-06 -3.267541737e-06 0 0 --1.777960567e-06 -3.267541737e-06 9.019472081e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.290748788e-06 3.978781015e-06 -1.161931639e-06 0 0 -3.978781015e-06 2.345750419e-06 -2.018051427e-06 0 0 --1.161931639e-06 -2.018051427e-06 5.893641133e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0189218399 0.0221924657 0.01402647323 0.01223704979 -0.01125728354 -0.0221924657 0.03950896392 -0.02814878386 0.002774935238 -0.02004129855 -0.01402647323 -0.02814878386 -0.008309649716 -0.01212818502 0.01427868548 -0.01223704979 0.002774935238 -0.01212818502 -0.003437983833 -0.001407631476 --0.01125728354 -0.02004129855 0.01427868548 -0.001407631476 0.01016613972 --0.01112728422 0.002276707572 0.01017154162 0.004380596202 -0.001154866793 -0.002276707572 0.008404182604 -0.003664372743 0.001421739897 -0.004263100596 -0.01017154162 -0.003664372743 -0.009015299964 -0.004418087003 0.001858773707 -0.004380596202 0.001421739897 -0.004418087003 -0.001118774273 -0.0007211958603 --0.001154866793 -0.004263100596 0.001858773707 -0.0007211958603 0.002162497835 --0.0006868970247 -0.0002947204331 0.0007055892554 0.0001566688172 0.0001494996866 --0.0002947204331 -8.031781078e-05 0.0002945058718 7.927708367e-05 4.074191623e-05 -0.0007055892554 0.0002945058718 -0.0007233203442 -0.0001630841743 -0.000149390841 -0.0001566688172 7.927708367e-05 -0.0001630841743 -3.258251277e-05 -4.021405055e-05 -0.0001494996866 4.074191623e-05 -0.000149390841 -4.021405055e-05 -2.06666955e-05 --0.0002147166281 0.0003922712813 0.0001340986398 0.0001755626351 -0.000198982483 -0.0003922712813 0.0006416392193 -0.0004874310896 3.422750247e-05 -0.0003254776159 -0.0001340986398 -0.0004874310896 -4.047572299e-05 -0.0001730040741 0.0002472532465 -0.0001755626351 3.422750247e-05 -0.0001730040741 -5.078338456e-05 -1.736252221e-05 --0.000198982483 -0.0003254776159 0.0002472532465 -1.736252221e-05 0.0001651016261 --3.402970015e-05 -1.933310196e-05 3.580042737e-05 6.524848006e-06 9.806864045e-06 --1.933310196e-05 -1.049277853e-05 2.025148621e-05 3.835195248e-06 5.322542782e-06 -3.580042737e-05 2.025148621e-05 -3.76476564e-05 -6.887262129e-06 -1.027272158e-05 -6.524848006e-06 3.835195248e-06 -6.887262129e-06 -1.217551716e-06 -1.945432032e-06 -9.806864045e-06 5.322542782e-06 -1.027272158e-05 -1.945432032e-06 -2.699900849e-06 -4.390268135e-06 3.92384712e-06 -4.873886154e-06 -4.68178862e-07 -1.990410099e-06 -3.92384712e-06 3.32150553e-06 -4.322979327e-06 -4.66910168e-07 -1.684868293e-06 --4.873886154e-06 -4.322979327e-06 5.404868621e-06 5.284037955e-07 2.192874181e-06 --4.68178862e-07 -4.66910168e-07 5.284037955e-07 3.725964437e-08 2.368442853e-07 --1.990410099e-06 -1.684868293e-06 2.192874181e-06 2.368442853e-07 8.546669998e-07 --3.678073625e-05 4.552015098e-06 3.415232464e-05 1.3702776e-05 -2.309010029e-06 -4.552015098e-06 2.368674123e-05 -8.555141035e-06 4.641509773e-06 -1.201532091e-05 -3.415232464e-05 -8.555141035e-06 -3.093916037e-05 -1.385471673e-05 4.339635163e-06 -1.3702776e-05 4.641509773e-06 -1.385471673e-05 -3.448838947e-06 -2.354463571e-06 --2.309010029e-06 -1.201532091e-05 4.339635163e-06 -2.354463571e-06 6.094883846e-06 -9.819483783e-06 1.899843404e-05 -1.272574079e-05 1.624250493e-06 -9.637118997e-06 -1.899843404e-05 2.149926867e-05 -2.189787985e-05 -8.449691035e-07 -1.090571463e-05 --1.272574079e-05 -2.189787985e-05 1.60060362e-05 -1.393236243e-06 1.110789241e-05 -1.624250493e-06 -8.449691035e-07 -1.393236243e-06 -7.734059761e-07 4.286111081e-07 --9.637118997e-06 -1.090571463e-05 1.110789241e-05 4.286111081e-07 5.532030576e-06 -8.423458913e-07 1.911121109e-06 -1.141876918e-06 2.128664779e-07 -9.694324944e-07 -1.911121109e-06 2.231572335e-06 -2.215081667e-06 -6.699697842e-08 -1.131987187e-06 --1.141876918e-06 -2.215081667e-06 1.480873805e-06 -1.903982194e-07 1.12361963e-06 -2.128664779e-07 -6.699697842e-08 -1.903982194e-07 -8.992795942e-08 3.398398585e-08 --9.694324944e-07 -1.131987187e-06 1.12361963e-06 3.398398585e-08 5.742117217e-07 --5.185745273e-06 -1.876457181e-07 4.963211117e-06 1.715204876e-06 9.518980717e-08 --1.876457181e-07 2.197938473e-06 -2.139300106e-07 6.382350518e-07 -1.114924828e-06 -4.963211117e-06 -2.139300106e-07 -4.679986266e-06 -1.744441897e-06 1.085134688e-07 -1.715204876e-06 6.382350518e-07 -1.744441897e-06 -4.16737551e-07 -3.237523143e-07 -9.518980717e-08 -1.114924828e-06 1.085134688e-07 -3.237523143e-07 5.655560371e-07 --1.007034605e-06 4.329515769e-06 1.84533766e-07 1.474053474e-06 -2.196180092e-06 -4.329515769e-06 6.436311137e-06 -5.264584879e-06 2.09082043e-07 -3.264880468e-06 -1.84533766e-07 -5.264584879e-06 7.642603062e-07 -1.438595728e-06 2.670503261e-06 -1.474053474e-06 2.09082043e-07 -1.438595728e-06 -4.468477623e-07 -1.060616745e-07 --2.196180092e-06 -3.264880468e-06 2.670503261e-06 -1.060616745e-07 1.656141886e-06 -1.125608186e-06 3.779739372e-06 -1.744686792e-06 6.048314395e-07 -1.917304177e-06 -3.779739372e-06 4.669451576e-06 -4.426583226e-06 -6.561900497e-08 -2.368624723e-06 --1.744686792e-06 -4.426583226e-06 2.448656292e-06 -5.632569299e-07 2.245422278e-06 -6.048314395e-07 -6.561900497e-08 -5.632569299e-07 -2.229183327e-07 3.32840486e-08 --1.917304177e-06 -2.368624723e-06 2.245422278e-06 3.32840486e-08 1.201507926e-06 --1.448085053e-06 1.256952595e-06 1.152235558e-06 8.211377911e-07 -6.375975915e-07 -1.256952595e-06 2.416006925e-06 -1.626130323e-06 2.037568228e-07 -1.225542532e-06 -1.152235558e-06 -1.626130323e-06 -8.050977481e-07 -8.169654946e-07 8.248666884e-07 -8.211377911e-07 2.037568228e-07 -8.169654946e-07 -2.261108362e-07 -1.033588105e-07 --6.375975915e-07 -1.225542532e-06 8.248666884e-07 -1.033588105e-07 6.216681258e-07 -0.01876415829 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003283908964 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00131707513 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.895656989e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.529149967e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.237704828e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.918857134e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.496843465e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.744153274e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.454587077e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.277428394e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.725194203e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.100112851e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01827184978 0.008523274511 -0.0219262188 0 0 -0.008523274511 -0.01656591403 -0.01022854619 0 0 --0.0219262188 -0.01022854619 0.02631146141 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002476943336 0.003341131683 0.002972114464 0 0 -0.003341131683 -0.003093716377 -0.004008959973 0 0 -0.002972114464 -0.004008959973 -0.003566276323 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002232377403 0.0001431009531 0.000267867517 0 0 -0.0001431009531 -9.122849413e-05 -0.0001717092465 0 0 -0.000267867517 -0.0001717092465 -0.0003214196957 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.632005077e-06 9.93158732e-07 1.969848418e-06 0 0 -9.93158732e-07 -6.043383774e-07 -1.198690345e-06 0 0 -1.969848418e-06 -1.198690345e-06 -2.377548161e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.596287637e-05 -8.053185544e-06 -5.515287604e-05 0 0 --8.053185544e-06 -6.637759773e-06 9.663835432e-06 0 0 --5.515287604e-05 9.663835432e-06 6.618036064e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.571692696e-05 6.666153849e-06 -7.885747669e-05 0 0 -6.666153849e-06 -3.107924756e-05 -7.998583518e-06 0 0 --7.885747669e-05 -7.998583518e-06 9.462556935e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.595098144e-07 4.577989656e-05 7.914011145e-07 0 0 -4.577989656e-05 -5.413351863e-05 -5.493585022e-05 0 0 -7.914011145e-07 -5.493585022e-05 -9.496685419e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.123698002e-05 4.645651162e-05 3.748347617e-05 0 0 -4.645651162e-05 -4.415461047e-05 -5.574656226e-05 0 0 -3.748347617e-05 -5.574656226e-05 -4.497909161e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.755184058e-05 3.282720818e-05 3.306119241e-05 0 0 -3.282720818e-05 -2.926828476e-05 -3.939135698e-05 0 0 -3.306119241e-05 -3.939135698e-05 -3.967221139e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.156067799e-05 1.960670881e-05 1.3872538e-05 0 0 -1.960670881e-05 -1.920752267e-05 -2.352768603e-05 0 0 -1.3872538e-05 -2.352768603e-05 -1.66467149e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.125676025e-06 1.160591426e-05 1.350784347e-06 0 0 -1.160591426e-05 -1.338533292e-05 -1.392690775e-05 0 0 -1.350784347e-06 -1.392690775e-05 -1.620908958e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.617709926e-06 1.153379395e-05 3.141172042e-06 0 0 -1.153379395e-05 -1.277332475e-05 -1.384021479e-05 0 0 -3.141172042e-06 -1.384021479e-05 -3.76931061e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.646339016e-06 1.116745409e-05 4.375500394e-06 0 0 -1.116745409e-05 -1.197573726e-05 -1.340064347e-05 0 0 -4.375500394e-06 -1.340064347e-05 -5.250472766e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008799051568 -0.003574717741 -0.009590603486 -0.005040173911 0.004290125059 --0.003574717741 -0.01559844176 -0.008074767096 0.003231107199 0.01871866567 --0.009590603486 -0.008074767096 0.03107870261 0.02800542812 0.009688444222 --0.005040173911 0.003231107199 0.02800542812 0.01899721172 -0.003878599823 -0.004290125059 0.01871866567 0.009688444222 -0.003878599823 -0.02246304143 -2.320426727e-05 -2.64225532e-05 -0.000146820763 -9.399671498e-05 3.16484458e-05 --2.64225532e-05 -0.00174659038 -0.002605779797 -0.0009093897249 0.002095412965 --0.000146820763 -0.002605779797 -0.003398943582 -0.0009916435483 0.003126429133 --9.399671498e-05 -0.0009093897249 -0.0009916435483 -0.0002007222586 0.00109118347 -3.16484458e-05 0.002095412965 0.003126429133 0.00109118347 -0.002513901 -1.066154694e-06 -8.160879911e-06 -1.758598741e-05 -8.290568413e-06 9.788106473e-06 --8.160879911e-06 5.728885246e-05 0.0001265539248 6.051327915e-05 -6.871923706e-05 --1.758598741e-05 0.0001265539248 0.0002775385938 0.0001321657191 -0.0001517994075 --8.290568413e-06 6.051327915e-05 0.0001321657191 6.279171408e-05 -7.258342229e-05 -9.788106473e-06 -6.871923706e-05 -0.0001517994075 -7.258342229e-05 8.24302231e-05 -2.962383762e-08 -1.871583028e-07 -4.261744851e-07 -2.07503021e-07 2.240610102e-07 --1.871583028e-07 8.210647327e-07 2.131708094e-06 1.105543388e-06 -9.83773964e-07 --4.261744851e-07 2.131708094e-06 5.260774528e-06 2.666392544e-06 -2.553292563e-06 --2.07503021e-07 1.105543388e-06 2.666392544e-06 1.336698425e-06 -1.323991865e-06 -2.240610102e-07 -9.83773964e-07 -2.553292563e-06 -1.323991865e-06 1.178724394e-06 -1.645966507e-06 -8.013825371e-06 -2.000555514e-05 -1.018400294e-05 9.614692149e-06 --8.013825371e-06 -2.607760778e-06 3.243141937e-05 2.577030897e-05 3.128966788e-06 --2.000555514e-05 3.243141937e-05 0.0001417430435 8.661032954e-05 -3.890959708e-05 --1.018400294e-05 2.577030897e-05 8.661032954e-05 4.938773159e-05 -3.091811099e-05 -9.614692149e-06 3.128966788e-06 -3.890959708e-05 -3.091811099e-05 -3.754344792e-06 -2.541991331e-06 -1.086907024e-05 -2.855038752e-05 -1.487028539e-05 1.304266906e-05 --1.086907024e-05 -3.42599304e-05 -3.98655108e-06 1.736358821e-05 4.11110022e-05 --2.855038752e-05 -3.98655108e-06 0.0001238227072 9.484689102e-05 4.783414079e-06 --1.487028539e-05 1.736358821e-05 9.484689102e-05 6.052945491e-05 -2.083609703e-05 -1.304266906e-05 4.11110022e-05 4.783414079e-06 -2.083609703e-05 -4.933210552e-05 -1.566122516e-06 -5.056049867e-06 -1.50294479e-05 -8.222767925e-06 6.067743614e-06 --5.056049867e-06 -5.364390679e-05 -6.073406116e-05 -1.350915597e-05 6.43732056e-05 --1.50294479e-05 -6.073406116e-05 -2.637281491e-05 1.636301056e-05 7.287947763e-05 --8.222767925e-06 -1.350915597e-05 1.636301056e-05 2.024139283e-05 1.620963752e-05 -6.067743614e-06 6.43732056e-05 7.287947763e-05 1.620963752e-05 -7.724846757e-05 -8.154056645e-07 -1.981960709e-06 -6.808314832e-06 -3.908099393e-06 2.378225109e-06 --1.981960709e-06 -4.07490531e-05 -5.459548122e-05 -1.658133067e-05 4.889723804e-05 --6.808314832e-06 -5.459548122e-05 -5.423222111e-05 -8.089075494e-06 6.551262107e-05 --3.908099393e-06 -1.658133067e-05 -8.089075494e-06 3.803347043e-06 1.989710086e-05 -2.378225109e-06 4.889723804e-05 6.551262107e-05 1.989710086e-05 -5.86747349e-05 -4.815232301e-07 -1.280208853e-06 -4.19216237e-06 -2.37089179e-06 1.536201222e-06 --1.280208853e-06 -2.190587879e-05 -2.837219121e-05 -8.184076148e-06 2.628631627e-05 --4.19216237e-06 -2.837219121e-05 -2.520500502e-05 -1.979354551e-06 3.404570175e-05 --2.37089179e-06 -8.184076148e-06 -1.979354551e-06 3.380825172e-06 9.820636841e-06 -1.536201222e-06 2.628631627e-05 3.404570175e-05 9.820636841e-06 -3.154269363e-05 -4.178135529e-07 -1.331256943e-06 -3.982014181e-06 -2.183585735e-06 1.597585822e-06 --1.331256943e-06 -1.46579115e-05 -1.682399458e-05 -3.862277898e-06 1.758945069e-05 --3.982014181e-06 -1.682399458e-05 -8.13134925e-06 3.915942505e-06 2.018837319e-05 --2.183585735e-06 -3.862277898e-06 3.915942505e-06 5.217790786e-06 4.634445166e-06 -1.597585822e-06 1.758945069e-05 2.018837319e-05 4.634445166e-06 -2.110728909e-05 -4.486281092e-07 -1.620302199e-06 -4.573462491e-06 -2.453705059e-06 1.944367752e-06 --1.620302199e-06 -1.194011214e-05 -1.126301352e-05 -1.322634768e-06 1.432790616e-05 --4.573462491e-06 -1.126301352e-05 3.245840085e-06 9.111424216e-06 1.35152363e-05 --2.453705059e-06 -1.322634768e-06 9.111424216e-06 7.590247703e-06 1.587013582e-06 -1.944367752e-06 1.432790616e-05 1.35152363e-05 1.587013582e-06 -1.719321331e-05 -3.904404979e-07 -1.400390177e-06 -3.964964238e-06 -2.129827322e-06 1.680438441e-06 --1.400390177e-06 -1.058097209e-05 -1.014230691e-05 -1.292637596e-06 1.269686967e-05 --3.964964238e-06 -1.014230691e-05 2.224005484e-06 7.68285619e-06 1.217044041e-05 --2.129827322e-06 -1.292637596e-06 7.68285619e-06 6.505525163e-06 1.55109648e-06 -1.680438441e-06 1.269686967e-05 1.217044041e-05 1.55109648e-06 -1.523588739e-05 -3.101167653e-07 -9.748646856e-07 -2.934765385e-06 -1.613054001e-06 1.169842483e-06 --9.748646856e-07 -1.11326693e-05 -1.294224231e-05 -3.056252335e-06 1.335897822e-05 --2.934765385e-06 -1.294224231e-05 -6.840339098e-06 2.575414831e-06 1.55303174e-05 --1.613054001e-06 -3.056252335e-06 2.575414831e-06 3.738063097e-06 3.667357501e-06 -1.169842483e-06 1.335897822e-05 1.55303174e-05 3.667357501e-06 -1.603050393e-05 --0.01425411747 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06231351187 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006963854756 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001920491484 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004898278316 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002232888993 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008524375423 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002425519903 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004000960837 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001166642167 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.026782885e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.254841048e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.840757263e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03491254468 0.09097414074 -0.0134583104 0 0 -0.09097414074 0.02072954474 -0.04347618693 0 0 --0.0134583104 -0.04347618693 0.006838827221 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.08673873096 0.04504112739 0.04513082574 0 0 -0.04504112739 0.02823640614 -0.01002856456 0 0 -0.04513082574 -0.01002856456 -0.04207764788 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03016764366 0.007418774914 0.01538896144 0 0 -0.007418774914 0.009840252496 -0.004058017485 0 0 -0.01538896144 -0.004058017485 -0.005959452528 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003370468467 0.003226782696 -0.001942506064 0 0 -0.003226782696 0.0007280303393 -0.001389736302 0 0 --0.001942506064 -0.001389736302 -0.0002953224206 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006250674534 0.002559719423 0.003284726238 0 0 -0.002559719423 0.0025883264 -0.001238480994 0 0 -0.003284726238 -0.001238480994 -0.001403467641 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008215609438 0.0002574996792 -0.0004762294322 0 0 -0.0002574996792 5.553167415e-05 -0.0001210809654 0 0 --0.0004762294322 -0.0001210809654 0.0002747114841 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001194340319 0.000526508839 -0.0001205962369 0 0 -0.000526508839 0.0001157310323 -0.0003468567449 0 0 --0.0001205962369 -0.0003468567449 -2.294149602e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009713869757 -0.0001525587204 0.0005431110502 0 0 --0.0001525587204 -8.815511867e-05 3.472371587e-05 0 0 -0.0005431110502 3.472371587e-05 -0.0002938854347 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002122969987 0.000329452658 -7.050952978e-05 0 0 -0.000329452658 0.0001552322441 -0.0001787842163 0 0 --7.050952978e-05 -0.0001787842163 2.494371892e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.361009455e-05 6.874685946e-06 2.923808984e-05 0 0 -6.874685946e-06 -3.216068416e-05 -2.310747643e-05 0 0 -2.923808984e-05 -2.310747643e-05 -2.777226129e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.476091142e-05 2.350672289e-05 -1.673509385e-05 0 0 -2.350672289e-05 -2.234443641e-05 -2.357362545e-05 0 0 --1.673509385e-05 -2.357362545e-05 1.279382434e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.442106464e-05 8.198255398e-06 5.436112281e-05 0 0 -8.198255398e-06 -4.25411664e-06 -1.176865794e-05 0 0 -5.436112281e-05 -1.176865794e-05 -2.537995267e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.911320196e-05 3.368184895e-05 -1.083568598e-05 0 0 -3.368184895e-05 -1.272070493e-06 -2.517004038e-05 0 0 --1.083568598e-05 -2.517004038e-05 4.602520494e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06091319397 0.05473029427 -0.001902745987 -0.02537799611 0.05309164806 -0.05473029427 0.0422293508 -0.05431357114 0.0991772852 0.02364288347 --0.001902745987 -0.05431357114 0.00357522536 0.02694974287 0.09274662246 --0.02537799611 0.0991772852 0.02694974287 0.07854687521 -0.02464423805 -0.05309164806 0.02364288347 0.09274662246 -0.02464423805 0.00257714704 --0.06530458738 0.0401550758 0.02792536299 0.002165453367 -0.009021857698 -0.0401550758 0.02906971793 -0.00405724343 0.0255508385 -0.01162587543 -0.02792536299 -0.00405724343 -0.06482683812 -0.03625850408 0.005593897017 -0.002165453367 0.0255508385 -0.03625850408 -0.008199756239 -0.01293003368 --0.009021857698 -0.01162587543 0.005593897017 -0.01293003368 0.01691694507 --0.02844669396 0.01076585721 0.02208902937 0.01078838613 -0.006019442983 -0.01076585721 0.02332280236 -0.01350136367 0.003012429262 -0.01159505162 -0.02208902937 -0.01350136367 -0.02224444569 -0.0128309641 0.006034791209 -0.01078838613 0.003012429262 -0.0128309641 -0.003829558087 -0.001909574051 --0.006019442983 -0.01159505162 0.006034791209 -0.001909574051 0.005647527269 --0.005569971494 -0.0019597692 0.006123028689 0.0007701495042 0.002388283744 --0.0019597692 -0.0003389504549 0.002442767479 0.001802694839 0.0003915464493 -0.006123028689 0.002442767479 -0.006276354815 -0.001688924924 -0.0004871267432 -0.0007701495042 0.001802694839 -0.001688924924 4.808460019e-05 -0.0005309447165 -0.002388283744 0.0003915464493 -0.0004871267432 -0.0005309447165 0.0007525751979 --0.0004918005755 0.004615375024 -0.0005954312996 0.001161415973 -0.002509634694 -0.004615375024 0.005904579063 -0.004930145291 0.0001697247353 -0.003037880586 --0.0005954312996 -0.004930145291 0.0009674091965 -0.001304046112 0.002417003129 -0.001161415973 0.0001697247353 -0.001304046112 -0.0004513630697 -0.0001718242441 --0.002509634694 -0.003037880586 0.002417003129 -0.0001718242441 0.001520779334 --0.002267494528 -0.001077686584 0.002294590416 0.0004869358257 0.0006410211894 --0.001077686584 -0.0003452797688 0.0008912708175 0.0002316473522 0.0002213500541 -0.002294590416 0.0008912708175 -0.002115508683 -0.0004600733446 -0.0004902946136 -0.0004869358257 0.0002316473522 -0.0004600733446 -8.553223425e-05 -0.0001242131878 -0.0006410211894 0.0002213500541 -0.0004902946136 -0.0001242131878 -0.0001106233883 -0.0005271437311 0.0006522854321 -0.0008785425324 -0.0001551766201 -0.0002804556555 -0.0006522854321 0.0002405333899 -0.0008464476341 -0.0001038585342 -1.399647424e-05 --0.0008785425324 -0.0008464476341 0.0006671513131 2.60363925e-05 0.0004758179732 --0.0001551766201 -0.0001038585342 2.60363925e-05 2.025468991e-05 7.550561289e-05 --0.0002804556555 -1.399647424e-05 0.0004758179732 7.550561289e-05 -4.846857559e-05 --0.0008421195971 -0.0001862958396 0.0009522833927 0.0002704881494 0.0001071900916 --0.0001862958396 0.0001962450781 0.0001058578446 0.0001391254754 -8.006597435e-05 -0.0009522833927 0.0001058578446 -0.000961577795 -0.000242721374 5.338063427e-05 -0.0002704881494 0.0001391254754 -0.000242721374 -9.21651212e-06 -3.602255877e-05 -0.0001071900916 -8.006597435e-05 5.338063427e-05 -3.602255877e-05 2.492464255e-05 -0.000212799373 0.0002266396014 -0.0002396683137 -1.25082205e-05 -0.0001149617804 -0.0002266396014 0.0002023082503 -0.0002690728693 -2.063531765e-05 -8.960496911e-05 --0.0002396683137 -0.0002690728693 0.0002510475261 2.072065498e-05 0.000158953798 --1.25082205e-05 -2.063531765e-05 2.072065498e-05 8.350316691e-06 1.583539107e-05 --0.0001149617804 -8.960496911e-05 0.000158953798 1.583539107e-05 2.673815294e-05 --6.396527676e-05 -1.286584832e-05 2.734493449e-05 3.609216291e-06 1.463850888e-05 --1.286584832e-05 -3.255537485e-05 -2.629412459e-05 -3.06228242e-06 3.706915564e-05 -2.734493449e-05 -2.629412459e-05 -5.971276844e-05 -1.562780202e-05 2.221942747e-05 -3.609216291e-06 -3.06228242e-06 -1.562780202e-05 1.831403417e-06 5.652026443e-06 -1.463850888e-05 3.706915564e-05 2.221942747e-05 5.652026443e-06 -3.479210029e-05 --3.946733448e-05 -2.94373428e-05 4.075705224e-05 -2.695556365e-09 2.167815348e-05 --2.94373428e-05 -3.820667437e-05 1.634289433e-05 1.145453838e-05 3.168424652e-05 -4.075705224e-05 1.634289433e-05 -5.268838231e-05 7.953871997e-06 1.28164259e-05 --2.695556365e-09 1.145453838e-05 7.953871997e-06 1.787774223e-05 3.497475302e-07 -2.167815348e-05 3.168424652e-05 1.28164259e-05 3.497475302e-07 -2.466634418e-05 --1.203703747e-05 1.509186151e-05 1.447120981e-05 8.344750073e-06 -4.047507998e-06 -1.509186151e-05 2.731996603e-05 -2.867535013e-05 1.019140933e-05 -5.837537309e-06 -1.447120981e-05 -2.867535013e-05 -6.462162889e-06 5.703744829e-06 3.129514333e-05 -8.344750073e-06 1.019140933e-05 5.703744829e-06 1.381026365e-05 -1.001311021e-06 --4.047507998e-06 -5.837537309e-06 3.129514333e-05 -1.001311021e-06 -5.076029769e-06 -1.240763481e-05 8.307277491e-06 -1.904354031e-05 -5.150974954e-06 -4.254576999e-07 -8.307277491e-06 -6.571002528e-06 -2.749292682e-05 -1.684553314e-06 1.402291347e-05 --1.904354031e-05 -2.749292682e-05 8.366363449e-06 7.228957635e-06 2.68682664e-05 --5.150974954e-06 -1.684553314e-06 7.228957635e-06 8.742757526e-06 4.961437641e-06 --4.254576999e-07 1.402291347e-05 2.68682664e-05 4.961437641e-06 -1.703738495e-05 -0.004248521904 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02072889773 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001410175273 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002730957002 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000351628688 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000212335021 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.793873742e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.837755527e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.105936043e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.959041899e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.93219139e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.883758805e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.313000933e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0376523555 -0.01613871587 -0.03813610534 0 0 --0.01613871587 0.09029547059 -0.04318989997 0 0 --0.03813610534 -0.04318989997 -0.0560694365 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02046468879 -0.01133326783 0.002139557763 0 0 --0.01133326783 0.1174056811 0.07460583001 0 0 -0.002139557763 0.07460583001 0.04125947144 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001161060956 -0.0006654518541 -0.001572556796 0 0 --0.0006654518541 0.02793009942 0.02473680615 0 0 --0.001572556796 0.02473680615 0.02238011106 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001190098704 0.000100439487 0.0002711184691 0 0 -0.000100439487 -0.0132763968 -0.00646289651 0 0 -0.0002711184691 -0.00646289651 -0.001816237012 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002876806383 0.0004943783131 0.0001650403601 0 0 -0.0004943783131 -0.01046309222 -0.009454099416 0 0 -0.0001650403601 -0.009454099416 -0.008159123317 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.692263292e-06 -8.815748538e-05 -6.480188068e-05 0 0 --8.815748538e-05 0.002310676175 0.001780765109 0 0 --6.480188068e-05 0.001780765109 0.001370170456 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001019977979 -0.0001343513165 -3.480391707e-05 0 0 --0.0001343513165 0.002640926653 0.001738272645 0 0 --3.480391707e-05 0.001738272645 0.001077434235 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.817438408e-05 8.859444947e-06 -3.874174564e-05 0 0 -8.859444947e-06 -7.696424659e-05 0.0002232048652 0 0 --3.874174564e-05 0.0002232048652 0.0004385700323 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.436287458e-05 4.093202616e-05 1.207320502e-05 0 0 -4.093202616e-05 -0.0008609277182 -0.0008232627012 0 0 -1.207320502e-05 -0.0008232627012 -0.00073760548 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.128044183e-06 -2.539277106e-06 -5.616921261e-06 0 0 --2.539277106e-06 3.149996141e-05 9.445180169e-05 0 0 --5.616921261e-06 9.445180169e-05 0.0001324703477 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.17007945e-06 -8.761499342e-06 -5.845834046e-06 0 0 --8.761499342e-06 0.0001576660801 4.941465605e-05 0 0 --5.845834046e-06 4.941465605e-05 -1.166500085e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.496218307e-06 9.279431153e-07 -9.644129209e-06 0 0 -9.279431153e-07 2.396750297e-05 4.721881328e-05 0 0 --9.644129209e-06 4.721881328e-05 7.005395682e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.495428829e-06 3.227014497e-06 -2.643784904e-06 0 0 -3.227014497e-06 -5.340913814e-05 -6.771017845e-05 0 0 --2.643784904e-06 -6.771017845e-05 -6.608974176e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0397838424 -0.0139321387 -0.01032290441 -0.03248187357 0.02009385847 --0.0139321387 -0.005218491391 -0.01316958284 -0.01195754859 -0.003890948627 --0.01032290441 -0.01316958284 0.05389713864 0.01867168064 0.01970240247 --0.03248187357 -0.01195754859 0.01867168064 0.02277466525 0.03778814853 -0.02009385847 -0.003890948627 0.01970240247 0.03778814853 -0.04307581528 --0.01104320379 -0.009325672304 0.00747540512 -0.01037150045 -0.006986195341 --0.009325672304 -0.00567651529 0.003017471425 -0.002607318017 -0.0003356878896 -0.00747540512 0.003017471425 0.004852460194 0.003511604572 0.000982701581 --0.01037150045 -0.002607318017 0.003511604572 0.006826075374 0.0147450556 --0.006986195341 -0.0003356878896 0.000982701581 0.0147450556 0.01386935223 --0.0006120100387 -0.0006607272278 0.0009766007432 -0.0001388488213 -0.0004600069949 --0.0006607272278 -0.0004593584939 0.0006181160104 3.133130833e-05 0.0001250522851 -0.0009766007432 0.0006181160104 -0.0007872899447 -7.381276421e-05 -0.0003130511661 --0.0001388488213 3.133130833e-05 -7.381276421e-05 0.0001062223994 0.0003546171949 --0.0004600069949 0.0001250522851 -0.0003130511661 0.0003546171949 0.00119573664 --0.0004439217357 -0.0001278940643 -0.000281110944 -0.0005410947462 0.0001862719145 --0.0001278940643 -2.381230386e-05 -0.0002885742032 -0.000198713947 -9.58821702e-05 --0.000281110944 -0.0002885742032 0.0009624440002 0.0003048361721 0.0003403458971 --0.0005410947462 -0.000198713947 0.0003048361721 0.0003638799354 0.0006263252137 -0.0001862719145 -9.58821702e-05 0.0003403458971 0.0006263252137 -0.0005116575856 --6.0671725e-05 -3.651340933e-05 5.165767847e-05 9.549119097e-06 2.981001398e-05 --3.651340933e-05 -2.420355571e-05 3.510390225e-05 4.646052115e-06 1.263787896e-05 -5.165767847e-05 3.510390225e-05 -5.099343837e-05 -5.994749177e-06 -1.561785306e-05 -9.549119097e-06 4.646052115e-06 -5.994749177e-06 -1.941091863e-06 -7.164667909e-06 -2.981001398e-05 1.263787896e-05 -1.561785306e-05 -7.164667909e-06 -2.705738297e-05 -9.725602901e-07 4.386209612e-06 -8.852719514e-06 -6.402717345e-07 7.54185527e-06 -4.386209612e-06 3.42542388e-06 -5.992482805e-06 -1.028415507e-06 -1.079755306e-06 --8.852719514e-06 -5.992482805e-06 1.011136183e-05 1.895840388e-06 4.088108023e-06 --6.402717345e-07 -1.028415507e-06 1.895840388e-06 5.622461335e-07 -1.07402823e-06 -7.54185527e-06 -1.079755306e-06 4.088108023e-06 -1.07402823e-06 -1.687113399e-05 --2.617554817e-05 -3.050775246e-05 2.896633208e-05 -3.421027577e-05 -4.00732617e-05 --3.050775246e-05 -1.942579021e-05 1.299161117e-05 -7.60870568e-06 -1.64563784e-06 -2.896633208e-05 1.299161117e-05 8.669986967e-06 9.370770081e-06 -5.612466828e-07 --3.421027577e-05 -7.60870568e-06 9.370770081e-06 2.150602057e-05 5.066729916e-05 --4.00732617e-05 -1.64563784e-06 -5.612466828e-07 5.066729916e-05 7.675886478e-05 --1.11912101e-05 1.072910188e-05 -3.277457773e-05 -9.024798194e-06 3.748289708e-05 -1.072910188e-05 1.012085413e-05 -2.36255327e-05 -6.43276722e-06 -4.004706381e-06 --3.277457773e-05 -2.36255327e-05 4.807447778e-05 1.137751698e-05 1.940965171e-05 --9.024798194e-06 -6.43276722e-06 1.137751698e-05 7.199108561e-06 3.52883003e-06 -3.748289708e-05 -4.004706381e-06 1.940965171e-05 3.52883003e-06 -7.960299248e-05 --4.886158617e-06 6.1921359e-07 -3.434593342e-06 2.686981825e-07 9.835540766e-06 -6.1921359e-07 9.059672203e-07 -2.332461609e-06 -5.512231416e-07 1.68134927e-07 --3.434593342e-06 -2.332461609e-06 4.804884019e-06 1.266149353e-06 2.399986784e-06 -2.686981825e-07 -5.512231416e-07 1.266149353e-06 3.520405247e-07 -1.666254906e-06 -9.835540766e-06 1.68134927e-07 2.399986784e-06 -1.666254906e-06 -1.827637224e-05 --5.93867872e-06 -4.681207542e-06 4.887518905e-06 -3.044086955e-06 -1.651227497e-06 --4.681207542e-06 -2.966368877e-06 2.638320844e-06 -6.31382221e-07 4.167170658e-07 -4.887518905e-06 2.638320844e-06 -8.620092046e-07 8.291719226e-07 -4.880762062e-07 --3.044086955e-06 -6.31382221e-07 8.291719226e-07 2.155826171e-06 4.680166445e-06 --1.651227497e-06 4.167170658e-07 -4.880762062e-07 4.680166445e-06 4.569012291e-06 --3.646486374e-06 -2.198876847e-07 -4.352293558e-06 -5.005492436e-06 3.023488185e-06 --2.198876847e-07 5.017514991e-07 -3.831586828e-06 -1.995498263e-06 -1.102069687e-06 --4.352293558e-06 -3.831586828e-06 1.0724175e-05 3.121888381e-06 3.882488999e-06 --5.005492436e-06 -1.995498263e-06 3.121888381e-06 3.376830084e-06 5.432728236e-06 -3.023488185e-06 -1.102069687e-06 3.882488999e-06 5.432728236e-06 -7.723177859e-06 --3.404324782e-06 1.372358348e-06 -5.792405106e-06 -2.236903552e-06 7.578020862e-06 -1.372358348e-06 1.545528732e-06 -4.310322615e-06 -1.386615715e-06 -7.05137191e-07 --5.792405106e-06 -4.310322615e-06 9.500341688e-06 2.421870106e-06 3.837930654e-06 --2.236903552e-06 -1.386615715e-06 2.421870106e-06 1.771035739e-06 1.352795172e-06 -7.578020862e-06 -7.05137191e-07 3.837930654e-06 1.352795172e-06 -1.578141869e-05 --3.214499094e-06 -1.174686424e-06 -2.855153219e-07 -1.889442494e-06 1.917004842e-06 --1.174686424e-06 -5.119066252e-07 -5.715576349e-07 -7.120037695e-07 -1.122169623e-07 --2.855153219e-07 -5.715576349e-07 3.021159181e-06 1.140795737e-06 1.159273832e-06 --1.889442494e-06 -7.120037695e-07 1.140795737e-06 1.391646261e-06 2.179111933e-06 -1.917004842e-06 -1.122169623e-07 1.159273832e-06 2.179111933e-06 -3.645513667e-06 -0.06585008519 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1244204128 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1165024039 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005782632491 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01535622586 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00881350413 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00747712168 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007688605573 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003104210826 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009413186462 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002768722601 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001346284578 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.67912916e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03686737907 0.003813926672 0.01581584344 0 0 -0.003813926672 0.1388047804 -0.04589478889 0 0 -0.01581584344 -0.04589478889 -0.05973845878 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02295578908 0.001196100739 0.01275949908 0 0 -0.001196100739 0.1090152889 0.01070572606 0 0 -0.01275949908 0.01070572606 0.003264975343 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002045624382 -0.003022189839 -0.002947843185 0 0 --0.003022189839 0.05306512524 0.03085232878 0 0 --0.002947843185 0.03085232878 0.01094158004 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001668618208 0.0008484899903 0.001478967214 0 0 -0.0008484899903 -0.008411289774 -0.01084007314 0 0 -0.001478967214 -0.01084007314 -0.007840747701 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003738865959 -0.000740533676 -0.0006290324467 0 0 --0.000740533676 0.01455028766 0.008433729049 0 0 --0.0006290324467 0.008433729049 0.003354249442 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.348509052e-05 0.000196478943 0.0001959279725 0 0 -0.000196478943 -0.00419372478 -0.003542868173 0 0 -0.0001959279725 -0.003542868173 -0.002816726111 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.005862395e-05 -8.928670359e-05 -2.642990808e-05 0 0 --8.928670359e-05 0.001865980989 0.0009967308121 0 0 --2.642990808e-05 0.0009967308121 0.0005385582325 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.707853221e-07 -1.437662532e-05 -1.114234911e-05 0 0 --1.437662532e-05 0.0004952033974 0.0003839077202 0 0 --1.114234911e-05 0.0003839077202 0.0002960250485 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.33276958e-05 -1.068203396e-05 -1.131761071e-05 0 0 --1.068203396e-05 0.0001784604257 -3.260508211e-05 0 0 --1.131761071e-05 -3.260508211e-05 -0.0002145946546 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.148544599e-07 5.109693728e-06 4.063752429e-06 0 0 -5.109693728e-06 -0.0001502078147 -0.0001285154136 0 0 -4.063752429e-06 -0.0001285154136 -0.000109075906 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.433103088e-06 3.482684505e-07 3.104437116e-06 0 0 -3.482684505e-07 -4.415510739e-05 -4.194955643e-05 0 0 -3.104437116e-06 -4.194955643e-05 -2.416784123e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.96313153e-06 -5.434395346e-06 -5.81312334e-06 0 0 --5.434395346e-06 0.0001423082692 0.0001042368512 0 0 --5.81312334e-06 0.0001042368512 6.680621218e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.547327663e-06 1.294415516e-06 -2.054755189e-07 0 0 -1.294415516e-06 -3.514210034e-05 -3.807099907e-05 0 0 --2.054755189e-07 -3.807099907e-05 -4.566664993e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01847215019 0.0007280128477 0.005257196653 -0.09465614751 0.05959165708 -0.0007280128477 0.04975468163 -0.00796641495 -0.002148702002 0.02432379983 -0.005257196653 -0.00796641495 -0.04127373373 0.01954656578 0.004120278484 --0.09465614751 -0.002148702002 0.01954656578 0.04914046259 0.0271229038 -0.05959165708 0.02432379983 0.004120278484 0.0271229038 -0.09249089031 -0.01053468178 -0.009687344139 -0.006707533777 -0.04218978778 -0.006555215661 --0.009687344139 0.05427099449 0.02813302328 -0.01787678496 0.0252528656 --0.006707533777 0.02813302328 0.01144386815 -0.003879038144 0.01540521791 --0.04218978778 -0.01787678496 -0.003879038144 0.1093926354 0.01251308377 --0.006555215661 0.0252528656 0.01540521791 0.01251308377 0.01288779106 -0.01320669478 0.001884309542 0.0007507133451 -0.0214268774 -0.01844325673 -0.001884309542 0.001838875684 0.00131176702 -0.00306594325 -0.002750837354 -0.0007507133451 0.00131176702 0.0009336220003 -0.001955394937 -0.0009658080167 --0.0214268774 -0.00306594325 -0.001955394937 0.01844645689 0.03380500744 --0.01844325673 -0.002750837354 -0.0009658080167 0.03380500744 0.02484223146 -0.003277558492 0.0001506618798 0.0002117148967 -0.002604729698 -0.00516125967 -0.0001506618798 0.001121387309 -1.192717504e-06 -0.0001783018334 0.0002233874467 -0.0002117148967 -1.192717504e-06 -0.0006569909894 0.0002679081195 -0.0001170751869 --0.002604729698 -0.0001783018334 0.0002679081195 0.001331213051 0.001921693194 --0.00516125967 0.0002233874467 -0.0001170751869 0.001921693194 0.009145010039 --0.002099161822 -5.078497273e-05 -0.0001839573743 -0.002297525687 0.004296725012 --5.078497273e-05 0.0002704746483 0.0001892446419 -0.0004054939838 0.000167356969 --0.0001839573743 0.0001892446419 0.000131596267 -0.0002347652116 0.0003688282758 --0.002297525687 -0.0004054939838 -0.0002347652116 0.002742625525 0.003442842037 -0.004296725012 0.000167356969 0.0003688282758 0.003442842037 -0.00849127115 -0.001715662596 0.0001680924978 0.0001272345949 -0.0008458302669 -0.002860725328 -0.0001680924978 -4.618086592e-05 -5.188726949e-05 -4.405343223e-05 -0.0002738868078 -0.0001272345949 -5.188726949e-05 -5.26873335e-05 -3.218197852e-05 -0.0002077761698 --0.0008458302669 -4.405343223e-05 -3.218197852e-05 0.0002238406713 0.00140927045 --0.002860725328 -0.0002738868078 -0.0002077761698 0.00140927045 0.004779695928 --0.0009263398062 -0.0001008197146 -9.005923843e-05 0.0001269290209 0.00162326639 --0.0001008197146 0.0002269696417 0.0001463242357 -8.951416143e-05 0.000196686589 --9.005923843e-05 0.0001463242357 9.173629189e-05 -3.449393773e-05 0.0001647910068 -0.0001269290209 -8.951416143e-05 -3.449393773e-05 0.0004492797945 -0.0003973479713 -0.00162326639 0.000196686589 0.0001647910068 -0.0003973479713 -0.002787940703 -0.0009435533925 0.0001041124263 7.54186941e-05 -0.0005708588088 -0.001548302221 -0.0001041124263 -6.513510489e-05 -6.5792564e-05 -1.45688202e-05 -0.000166040694 -7.54186941e-05 -6.5792564e-05 -6.291845702e-05 -9.887642975e-06 -0.0001200669164 --0.0005708588088 -1.45688202e-05 -9.887642975e-06 0.0001038906854 0.0009488449977 --0.001548302221 -0.000166040694 -0.0001200669164 0.0009488449977 0.002546741776 --0.0004600966278 -3.27699423e-05 -3.020719742e-05 8.311664057e-05 0.00080126789 --3.27699423e-05 -1.392361999e-05 -1.150541098e-05 9.994915812e-06 5.738000111e-05 --3.020719742e-05 -1.150541098e-05 -9.51678175e-06 8.774825099e-06 5.279235365e-05 -8.311664057e-05 9.994915812e-06 8.774825099e-06 -1.581140143e-05 -0.0001460905507 -0.00080126789 5.738000111e-05 5.279235365e-05 -0.0001460905507 -0.001394863987 -7.726304657e-05 7.769403663e-06 5.923237721e-06 -4.174670487e-05 -0.000127850034 -7.769403663e-06 1.244521064e-05 8.007938916e-06 -8.845347358e-06 -1.182161077e-05 -5.923237721e-06 8.007938916e-06 5.005935191e-06 -5.204334543e-06 -9.418760803e-06 --4.174670487e-05 -8.845347358e-06 -5.204334543e-06 4.070852795e-05 6.090935457e-05 --0.000127850034 -1.182161077e-05 -9.418760803e-06 6.090935457e-05 0.0002143871338 -1.092783905e-06 -3.209198852e-07 7.599108288e-08 -2.235592893e-07 -2.0335049e-06 --3.209198852e-07 7.823493344e-06 1.86798557e-06 -1.862953828e-06 2.884984807e-06 -7.599108288e-08 1.86798557e-06 -1.710359817e-06 6.903385475e-07 1.038195959e-06 --2.235592893e-07 -1.862953828e-06 6.903385475e-07 2.731363175e-06 -1.132732021e-05 --2.0335049e-06 2.884984807e-06 1.038195959e-06 -1.132732021e-05 8.93559611e-06 -3.613059333e-05 5.436098395e-06 3.747938279e-06 -3.49254095e-05 -5.612331631e-05 -5.436098395e-06 -7.701708991e-06 -8.211356748e-06 1.389334791e-06 -7.874269552e-06 -3.747938279e-06 -8.211356748e-06 -8.098189413e-06 1.429523329e-06 -5.423361797e-06 --3.49254095e-05 1.389334791e-06 1.429523329e-06 -1.491222244e-06 5.606315507e-05 --5.612331631e-05 -7.874269552e-06 -5.423361797e-06 5.606315507e-05 8.806655314e-05 --3.094212509e-05 -1.63151005e-06 -1.307777344e-06 5.977109272e-06 5.383645212e-05 --1.63151005e-06 -2.164447971e-06 -3.009342253e-06 2.014161989e-06 3.464656798e-06 --1.307777344e-06 -3.009342253e-06 -3.350412304e-06 1.937945196e-06 2.633587838e-06 -5.977109272e-06 2.014161989e-06 1.937945196e-06 -7.927585296e-06 -1.263649204e-05 -5.383645212e-05 3.464656798e-06 2.633587838e-06 -1.263649204e-05 -9.234643939e-05 --0.07992156578 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.03669836403 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.009989252922 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002844202065 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007654330768 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003923432166 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001744304106 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003543477457 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003690133466 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002536869345 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.501644091e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.373798256e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.353118207e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1111786613 -0.02361301575 -0.06941467362 0 0 --0.02361301575 -0.05013455621 -0.03610797978 0 0 --0.06941467362 -0.03610797978 0.02253699165 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.07325792385 -0.03325223541 -0.04181132786 0 0 --0.03325223541 -0.0310167009 0.01025556098 0 0 --0.04181132786 0.01025556098 0.03238092672 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.05162928489 -0.01634450961 0.009690518393 0 0 --0.01634450961 -0.003445267185 0.001623053377 0 0 -0.009690518393 0.001623053377 0.005834915815 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005859916235 0.00177707599 -0.005712587561 0 0 -0.00177707599 -0.0008801935049 -0.00114995312 0 0 --0.005712587561 -0.00114995312 0.002221369735 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.009514142569 -0.003244860913 0.0003440069292 0 0 --0.003244860913 -0.0006720180767 0.00020674744 0 0 -0.0003440069292 0.00020674744 0.002559954984 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001321747343 0.0003261917071 -0.0007727221422 0 0 -0.0003261917071 7.216906765e-05 -0.0001550530183 0 0 --0.0007727221422 -0.0001550530183 0.0004242908453 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004136341473 2.451085277e-05 -0.0002156610964 0 0 -2.451085277e-05 -0.000135970526 -0.0002034553783 0 0 --0.0002156610964 -0.0002034553783 0.0001302879342 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001359092417 -0.0004529574472 0.0006194119882 0 0 --0.0004529574472 -0.000104619057 0.0002115927862 0 0 -0.0006194119882 0.0002115927862 -0.0002292967 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005103608598 0.0001167770481 -0.0004861716915 0 0 -0.0001167770481 6.83040555e-05 -0.0001135698314 0 0 --0.0004861716915 -0.0001135698314 0.0004010718162 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.890179706e-05 -2.818689297e-05 4.235863911e-05 0 0 --2.818689297e-05 -1.794640286e-05 6.101031926e-06 0 0 -4.235863911e-05 6.101031926e-06 -2.86917915e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.908267143e-05 2.326665615e-05 -5.455753649e-06 0 0 -2.326665615e-05 2.063360934e-06 -1.109340018e-05 0 0 --5.455753649e-06 -1.109340018e-05 -1.231349083e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001102079182 -4.494032841e-05 3.015658013e-05 0 0 --4.494032841e-05 -5.288604378e-06 1.732500254e-05 0 0 -3.015658013e-05 1.732500254e-05 9.186616425e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.803085749e-05 1.493817504e-05 -4.950352625e-05 0 0 -1.493817504e-05 8.494534496e-06 -1.105966942e-05 0 0 --4.950352625e-05 -1.105966942e-05 3.734309843e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.07824627654 -0.0316157991 -0.06158921848 0.01858606655 0.004074883365 --0.0316157991 -0.07095234793 -0.05016872173 -0.0442466364 -0.0495367338 --0.06158921848 -0.05016872173 0.03939060955 0.0583287766 0.008773587274 -0.01858606655 -0.0442466364 0.0583287766 0.04750067383 0.01030924162 -0.004074883365 -0.0495367338 0.008773587274 0.01030924162 0.09556262087 --0.08840079509 -0.02017437244 -0.04311056776 -0.01225802996 -0.01051069302 --0.02017437244 -0.0683602128 0.01004385507 -0.02401773362 0.01187082935 --0.04311056776 0.01004385507 0.02395357001 0.01984824463 -0.008179079871 --0.01225802996 -0.02401773362 0.01984824463 0.00703227521 0.009648518838 --0.01051069302 0.01187082935 -0.008179079871 0.009648518838 -0.0032038572 --0.04531037854 -0.02249776699 0.01019394249 -0.007691573501 0.002267564413 --0.02249776699 -0.01623782279 0.004442224286 -0.006102910864 0.002884311759 -0.01019394249 0.004442224286 0.01876168215 0.01166081733 0.004930506888 --0.007691573501 -0.006102910864 0.01166081733 0.0026192999 0.003733464856 -0.002267564413 0.002884311759 0.004930506888 0.003733464856 0.0005526015262 --0.008497202096 -0.00631289415 0.007182589497 0.001577012918 0.003292938741 --0.00631289415 -0.004308565119 0.005089857497 0.0001498712077 0.000855442379 -0.007182589497 0.005089857497 -0.00652439446 0.0001809509782 -0.002170701622 -0.001577012918 0.0001498712077 0.0001809509782 0.0007770218899 0.0001655862694 -0.003292938741 0.000855442379 -0.002170701622 0.0001655862694 0.0004156422347 --0.0009544411195 0.0006741408903 -0.005177165738 -0.002262432754 -0.00174737523 -0.0006741408903 0.0005057076154 -0.003640002139 -0.001521000056 -0.001093761651 --0.005177165738 -0.003640002139 0.01074736246 0.003206437324 0.002951762057 --0.002262432754 -0.001521000056 0.003206437324 0.0007159601446 0.0008558459356 --0.00174737523 -0.001093761651 0.002951762057 0.0008558459356 0.0008128878283 --0.003556233905 -0.002461989495 0.00324100965 0.0003113939777 0.001120797596 --0.002461989495 -0.001593009937 0.001938078497 0.0001046168439 0.0006924763197 -0.00324100965 0.001938078497 -0.00275076505 -0.0002650234185 -0.0007328753784 -0.0003113939777 0.0001046168439 -0.0002650234185 -3.906427979e-05 2.408874048e-05 -0.001120797596 0.0006924763197 -0.0007328753784 2.408874048e-05 -0.0002670027036 -0.0007587692766 0.0008082048584 -0.001282518352 -0.0002106981838 -0.0005377502384 -0.0008082048584 0.0002810761546 -0.0009751875935 -0.0002644944209 -0.0002217928709 --0.001282518352 -0.0009751875935 0.001073889765 0.0001248193463 0.0004747707725 --0.0002106981838 -0.0002644944209 0.0001248193463 -1.235645527e-05 0.0001080844749 --0.0005377502384 -0.0002217928709 0.0004747707725 0.0001080844749 0.0001699254401 --0.001317926916 -0.0009317921123 0.001040056138 4.085698012e-05 0.0003893546605 --0.0009317921123 -0.0004606946896 0.0006747743506 5.495342349e-05 0.0001200085415 -0.001040056138 0.0006747743506 -0.0003590320031 0.0001843563958 -0.0002063424045 -4.085698012e-05 5.495342349e-05 0.0001843563958 0.0001110578387 -9.803398113e-06 -0.0003893546605 0.0001200085415 -0.0002063424045 -9.803398113e-06 1.217560948e-05 -0.0003260233552 0.0002257640234 -0.0004606741534 -9.996305504e-05 -0.0001287108207 -0.0002257640234 0.000174716657 -0.0003025159423 -5.747066629e-05 -0.0001023872562 --0.0004606741534 -0.0003025159423 0.0006408912981 0.0001420165883 0.0001687594429 --9.996305504e-05 -5.747066629e-05 0.0001420165883 3.393123472e-05 2.94082737e-05 --0.0001287108207 -0.0001023872562 0.0001687594429 2.94082737e-05 5.724757016e-05 --0.00010365119 -4.144171203e-05 5.997356476e-05 3.858939225e-06 5.177069806e-06 --4.144171203e-05 -5.502269737e-05 1.498045906e-05 -1.373786677e-05 1.922133796e-05 -5.997356476e-05 1.498045906e-05 -9.237930503e-05 -2.183786836e-05 -5.563686673e-06 -3.858939225e-06 -1.373786677e-05 -2.183786836e-05 -9.973198242e-06 5.16401171e-06 -5.177069806e-06 1.922133796e-05 -5.563686673e-06 5.16401171e-06 -1.252757134e-06 --6.348636302e-05 -4.280904152e-05 7.694058176e-05 1.862591205e-05 2.21605333e-05 --4.280904152e-05 -2.806077626e-05 5.018617975e-05 1.011800628e-05 5.27816793e-06 -7.694058176e-05 5.018617975e-05 -8.543546935e-05 -5.267969245e-06 -2.930642925e-05 -1.862591205e-05 1.011800628e-05 -5.267969245e-06 6.604030874e-06 -7.989449377e-06 -2.21605333e-05 5.27816793e-06 -2.930642925e-05 -7.989449377e-06 7.151585298e-06 --1.955676499e-05 -1.952132628e-05 -4.758714871e-06 -8.03252068e-06 6.690200355e-06 --1.952132628e-05 2.031585441e-06 -5.561357194e-07 -1.034753403e-06 -1.117866922e-05 --4.758714871e-06 -5.561357194e-07 6.8348978e-05 3.352639024e-05 5.56802538e-06 --8.03252068e-06 -1.034753403e-06 3.352639024e-05 1.514159237e-05 -3.951476346e-07 -6.690200355e-06 -1.117866922e-05 5.56802538e-06 -3.951476346e-07 1.369931869e-05 -1.907785367e-05 1.260868089e-05 -2.41982299e-05 -3.113326552e-06 -5.919937889e-06 -1.260868089e-05 8.328414438e-06 -1.740232594e-05 -2.828629004e-06 -7.348222809e-06 --2.41982299e-05 -1.740232594e-05 2.984908532e-05 8.306014527e-06 6.031321972e-06 --3.113326552e-06 -2.828629004e-06 8.306014527e-06 3.816514697e-06 -3.253046056e-07 --5.919937889e-06 -7.348222809e-06 6.031321972e-06 -3.253046056e-07 7.739096754e-06 --0.03896220548 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01557227012 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005538223023 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00376757358 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.064991384e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002229671788 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.464770568e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.734071116e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.398086368e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.346233141e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.002784979e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.296619642e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.439324404e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001556698016 0.003843041733 -0.0009106161721 0 0 -0.003843041733 -0.09429418782 0.03049133347 0 0 --0.0009106161721 0.03049133347 0.1054104132 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001751819306 0.004620802388 0.002926301457 0 0 -0.004620802388 -0.1195886983 -0.07295835154 0 0 -0.002926301457 -0.07295835154 -0.0410884028 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.690717412e-05 0.001030990308 0.0009021104558 0 0 -0.001030990308 -0.02781123814 -0.02495480914 0 0 -0.0009021104558 -0.02495480914 -0.02198913912 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.695927125e-05 -0.0004819414297 -0.000264239367 0 0 --0.0004819414297 0.01315233335 0.006465142404 0 0 --0.000264239367 0.006465142404 0.002111216451 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.454393187e-05 -0.0003960759452 -0.0003469267482 0 0 --0.0003960759452 0.0104950663 0.009394937126 0 0 --0.0003469267482 0.009394937126 0.008265867732 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.146556034e-06 8.658235677e-05 6.679676841e-05 0 0 -8.658235677e-05 -0.00231118891 -0.001780115873 0 0 -6.679676841e-05 -0.001780115873 -0.001370950814 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.66611658e-06 9.998446972e-05 6.722798775e-05 0 0 -9.998446972e-05 -0.002652104359 -0.001727727547 0 0 -6.722798775e-05 -0.001727727547 -0.001083148905 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.038919893e-07 -2.91558689e-06 6.574124916e-06 0 0 --2.91558689e-06 7.889711204e-05 -0.0002336647756 0 0 -6.574124916e-06 -0.0002336647756 -0.0004106321778 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.199020242e-06 -3.261796751e-05 -2.997490104e-05 0 0 --3.261796751e-05 0.0008636318827 0.0008174399423 0 0 --2.997490104e-05 0.0008174399423 0.0007491874226 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.230567757e-08 1.183151248e-06 3.043447606e-06 0 0 -1.183151248e-06 -3.194095015e-05 -9.528851169e-05 0 0 -3.043447606e-06 -9.528851169e-05 -0.0001287848856 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.23925154e-07 6.031533307e-06 2.352906523e-06 0 0 -6.031533307e-06 -0.0001585539417 -5.055077535e-05 0 0 -2.352906523e-06 -5.055077535e-05 1.736707091e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.952364753e-08 8.498233309e-07 1.569908158e-06 0 0 -8.498233309e-07 -2.338937419e-05 -4.984447747e-05 0 0 -1.569908158e-06 -4.984447747e-05 -6.326842333e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.762166864e-08 -2.064978373e-06 -2.402344059e-06 0 0 --2.064978373e-06 5.378705834e-05 6.606903194e-05 0 0 --2.402344059e-06 6.606903194e-05 7.028934703e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01027004768 -9.433732964e-05 0.001015934249 0.01993112831 -0.02312056717 --9.433732964e-05 -0.0001089802691 1.698141556e-05 0.002311941214 -0.000386432208 -0.001015934249 1.698141556e-05 9.41950008e-05 0.001373953579 -0.002143690981 -0.01993112831 0.002311941214 0.001373953579 -0.01799062376 -0.03126902453 --0.02312056717 -0.000386432208 -0.002143690981 -0.03126902453 0.04878614559 --0.006312845302 -0.0008458708261 -0.0004079706022 0.008278659843 0.009284631242 --0.0008458708261 -0.0001033617907 -5.705469563e-05 0.0008826296735 0.001298461078 --0.0004079706022 -5.705469563e-05 -2.579288138e-05 0.0005892966303 0.0005869954327 -0.008278659843 0.0008826296735 0.0005892966303 -0.005708597027 -0.01341138416 -0.009284631242 0.001298461078 0.0005869954327 -0.01341138416 -0.01335886568 --0.0004593941106 -4.486208267e-05 -3.368686726e-05 0.0002232824781 0.0007666549898 --4.486208267e-05 -4.375631932e-06 -3.29097108e-06 2.168261867e-05 7.489688931e-05 --3.368686726e-05 -3.29097108e-06 -2.469914245e-06 1.640222523e-05 5.62109723e-05 -0.0002232824781 2.168261867e-05 1.640222523e-05 -0.0001057514406 -0.000373287815 -0.0007666549898 7.489688931e-05 5.62109723e-05 -0.000373287815 -0.001279264416 -0.0001090123126 -6.204607526e-06 1.203010054e-05 0.0003297462319 -0.0002737799681 --6.204607526e-06 -2.137438294e-06 -8.810778045e-08 3.780230347e-05 2.005636796e-06 -1.203010054e-05 -8.810778045e-08 1.184673902e-06 2.283820254e-05 -2.696082112e-05 -0.0003297462319 3.780230347e-05 2.283820254e-05 -0.0002874868539 -0.0005197608785 --0.0002737799681 2.005636796e-06 -2.696082112e-05 -0.0005197608785 0.0006135746502 -7.593082012e-06 7.129826781e-07 5.636848707e-07 -3.043580578e-06 -1.282698525e-05 -7.129826781e-07 6.694753414e-08 5.292961523e-08 -2.857704113e-07 -1.204445337e-06 -5.636848707e-07 5.292961523e-08 4.184602951e-08 -2.259493034e-07 -9.522312601e-07 --3.043580578e-06 -2.857704113e-07 -2.259493034e-07 1.219546716e-06 5.141620062e-06 --1.282698525e-05 -1.204445337e-06 -9.522312601e-07 5.141620062e-06 2.166858781e-05 -5.875265988e-06 4.876775546e-07 4.514505279e-07 -9.006891229e-07 -1.027406475e-05 -4.876775546e-07 3.97388909e-08 3.76502422e-08 -5.793431148e-08 -8.568393625e-07 -4.514505279e-07 3.76502422e-08 3.464655244e-08 -7.323991497e-08 -7.884829181e-07 --9.006891229e-07 -5.793431148e-08 -7.323991497e-08 -2.44127994e-07 1.666764135e-06 --1.027406475e-05 -8.568393625e-07 -7.884829181e-07 1.666764135e-06 1.794421864e-05 --3.119408952e-05 -3.644577001e-06 -2.144128048e-06 2.875189317e-05 4.879623455e-05 --3.644577001e-06 -4.09882821e-07 -2.543261403e-07 2.997329986e-06 5.787990734e-06 --2.144128048e-06 -2.543261403e-07 -1.464629272e-07 2.062938681e-06 3.333210861e-06 -2.875189317e-05 2.997329986e-06 2.062938681e-06 -1.828029163e-05 -4.694889433e-05 -4.879623455e-05 5.787990734e-06 3.333210861e-06 -4.694889433e-05 -7.585738491e-05 -2.650738602e-05 1.996640613e-06 2.085572506e-06 5.611888459e-07 -4.746336408e-05 -1.996640613e-06 1.409151514e-07 1.593646614e-07 2.575847676e-07 -3.626803506e-06 -2.085572506e-06 1.593646614e-07 1.635464758e-07 -7.431003365e-09 -3.721985688e-06 -5.611888459e-07 2.575847676e-07 -7.431003365e-09 -4.878585834e-06 1.688828071e-07 --4.746336408e-05 -3.626803506e-06 -3.721985688e-06 1.688828071e-07 8.470483629e-05 -6.200027873e-06 5.226634825e-07 4.744807759e-07 -1.132831995e-06 -1.079820809e-05 -5.226634825e-07 4.344870187e-08 4.01454407e-08 -8.159943469e-08 -9.136266399e-07 -4.744807759e-07 4.01454407e-08 3.627631774e-08 -9.002453735e-08 -8.255747717e-07 --1.132831995e-06 -8.159943469e-08 -9.002453735e-08 -1.086892075e-07 2.048747492e-06 --1.079820809e-05 -9.136266399e-07 -8.255747717e-07 2.048747492e-06 1.87883927e-05 --2.149912151e-06 -2.820042528e-07 -1.403922348e-07 2.681592039e-06 3.19506037e-06 --2.820042528e-07 -3.405764415e-08 -1.911772432e-08 2.851266706e-07 4.350848055e-07 --1.403922348e-07 -1.911772432e-08 -8.999561425e-09 1.910673769e-07 2.048124917e-07 -2.681592039e-06 2.851266706e-07 1.910673769e-07 -1.831584441e-06 -4.348369878e-06 -3.19506037e-06 4.350848055e-07 2.048124917e-07 -4.348369878e-06 -4.661133444e-06 -2.075739937e-06 3.535376526e-08 1.923006569e-07 2.792294867e-06 -4.376367809e-06 -3.535376526e-08 -1.176993629e-08 6.238967727e-09 3.285726201e-07 -1.41981896e-07 -1.923006569e-07 6.238967727e-09 1.710515472e-08 1.913668252e-07 -3.892791772e-07 -2.792294867e-06 3.285726201e-07 1.913668252e-07 -2.626648219e-06 -4.35521088e-06 --4.376367809e-06 -1.41981896e-07 -3.892791772e-07 -4.35521088e-06 8.859217016e-06 -5.160019213e-06 3.723286314e-07 4.098996669e-07 4.804861992e-07 -9.328480892e-06 -3.723286314e-07 2.435061136e-08 3.017950391e-08 9.18008149e-08 -6.868215627e-07 -4.098996669e-07 3.017950391e-08 3.241708744e-08 2.448162154e-08 -7.37747414e-07 -4.804861992e-07 9.18008149e-08 2.448162154e-08 -1.252881963e-06 -5.572069825e-07 --9.328480892e-06 -6.868215627e-07 -7.37747414e-07 -5.572069825e-07 1.678964058e-05 -9.558136158e-07 2.245065288e-08 8.707016733e-08 1.145590717e-06 -1.981539093e-06 -2.245065288e-08 -4.256580242e-09 3.191140681e-09 1.355680881e-07 -7.262203895e-08 -8.707016733e-08 3.191140681e-09 7.657163428e-09 7.832840882e-08 -1.74261825e-07 -1.145590717e-06 1.355680881e-07 7.832840882e-08 -1.095007469e-06 -1.782635469e-06 --1.981539093e-06 -7.262203895e-08 -1.74261825e-07 -1.782635469e-06 3.965852883e-06 --0.1037735263 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1177834443 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1138405195 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005724109601 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01535693912 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008687436534 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007515902884 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006779767694 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004063031437 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0009909272601 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002510546989 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001210364543 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.649549095e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.07379583639 0.01811344982 0.009125571403 0 0 -0.01811344982 -0.1518248162 0.0310859903 0 0 -0.009125571403 0.0310859903 0.05305727412 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01794974441 -0.004167956374 -0.02063699879 0 0 --0.004167956374 -0.1072510366 -0.00602936977 0 0 --0.02063699879 -0.00602936977 0.008431781853 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002496800671 0.002754349014 0.002395891698 0 0 -0.002754349014 -0.05290612152 -0.03052466363 0 0 -0.002395891698 -0.03052466363 -0.01026659301 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001665319832 -0.0008504818756 -0.001482955983 0 0 --0.0008504818756 0.00841249233 0.01084248179 0 0 --0.001482955983 0.01084248179 0.007845571298 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002809929842 0.000795685089 0.0007212643657 0 0 -0.000795685089 -0.01458303134 -0.008488488144 0 0 -0.0007212643657 -0.008488488144 -0.003441842331 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001963027724 -0.000117622925 -8.223584741e-05 0 0 --0.000117622925 0.00414690668 0.003475366554 0 0 --8.223584741e-05 0.003475366554 0.002735117503 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.872571676e-05 8.849528382e-05 -2.055786859e-05 0 0 -8.849528382e-05 -0.00186551108 -0.0009688306152 0 0 --2.055786859e-05 -0.0009688306152 -0.0004277069935 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.340251513e-05 -2.310716007e-05 -9.25237988e-05 0 0 --2.310716007e-05 -0.0004729478031 -0.0003223568806 0 0 --9.25237988e-05 -0.0003223568806 -0.0001381374192 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.901154725e-05 -2.237899238e-05 -7.196988356e-05 0 0 --2.237899238e-05 -0.0001588311897 8.205505687e-05 0 0 --7.196988356e-05 8.205505687e-05 0.000334298516 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.367964833e-05 -1.898240642e-05 -4.484357048e-05 0 0 --1.898240642e-05 0.0001584446585 0.0001527283434 0 0 --4.484357048e-05 0.0001527283434 0.0001733017643 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.158047221e-06 -1.699071351e-06 -1.677199964e-05 0 0 --1.699071351e-06 4.495713977e-05 5.006473511e-05 0 0 --1.677199964e-05 5.006473511e-05 5.369356406e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.253673562e-06 2.293209397e-06 -1.051493067e-05 0 0 -2.293209397e-06 -0.0001404432336 -9.454226249e-05 0 0 --1.051493067e-05 -9.454226249e-05 -3.523784414e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.091678814e-05 -5.669941181e-06 -1.764014752e-05 0 0 --5.669941181e-06 3.774001438e-05 4.86666592e-05 0 0 --1.764014752e-05 4.86666592e-05 7.788364567e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01669381135 0.008862283419 0.01295549383 0.1020335757 -0.07040592814 -0.008862283419 -0.06513159243 -0.01150835053 0.00199141336 -0.01276029554 -0.01295549383 -0.01150835053 0.02536578338 -0.009238619312 0.00532515036 -0.1020335757 0.00199141336 -0.009238619312 -0.03653458948 -0.03324369387 --0.07040592814 -0.01276029554 0.00532515036 -0.03324369387 0.08688261747 --0.01058157894 0.009834185582 0.00695803377 0.04226880382 0.006406577547 -0.009834185582 -0.0525890795 -0.0242767307 0.01996569288 -0.02754213954 -0.00695803377 -0.0242767307 -0.002726528434 0.008519327407 -0.02058013324 -0.04226880382 0.01996569288 0.008519327407 -0.1069771417 -0.01526765282 -0.006406577547 -0.02754213954 -0.02058013324 -0.01526765282 -0.00981578185 --0.01320884954 -0.001866723392 -0.0007157116353 0.02144233576 0.01842248435 --0.001866723392 -0.001976201254 -0.00158397848 0.002946566368 0.002912398231 --0.0007157116353 -0.00158397848 -0.001473002252 0.001719010749 0.001285939166 -0.02144233576 0.002946566368 0.001719010749 -0.01854993154 -0.03366470775 -0.01842248435 0.002912398231 0.001285939166 -0.03366470775 -0.0250322346 --0.003277618364 -0.0001502353901 -0.0002108774383 0.002605091799 0.005160763122 --0.0001502353901 -0.001123993087 -3.836759049e-06 0.0001761957432 -0.0002204042921 --0.0002108774383 -3.836759049e-06 0.0006473040058 -0.0002719481242 0.0001228211231 -0.002605091799 0.0001761957432 -0.0002719481242 -0.001332884805 -0.001919296619 -0.005160763122 -0.0002204042921 0.0001228211231 -0.001919296619 -0.009148418299 -0.002095835229 7.079056321e-05 0.0002225049989 0.002313584861 -0.004319608724 -7.079056321e-05 -0.00034060791 -0.0003123333215 0.0003636531854 -9.428216253e-05 -0.0002225049989 -0.0003123333215 -0.0003426635609 0.0001672863153 -0.0002435210938 -0.002313584861 0.0003636531854 0.0001672863153 -0.002760441305 -0.003402779539 --0.004319608724 -9.428216253e-05 -0.0002435210938 -0.003402779539 0.008416878337 --0.001720800106 -0.0001395417426 -7.279019492e-05 0.000868066002 0.002828399194 --0.0001395417426 -1.508631791e-05 -3.964915653e-05 2.669273685e-05 0.000328235838 --7.279019492e-05 -3.964915653e-05 -6.705888098e-05 2.666093404e-05 0.000278874249 -0.000868066002 2.669273685e-05 2.666093404e-05 -0.0002042600463 -0.001405992721 -0.002828399194 0.000328235838 0.000278874249 -0.001405992721 -0.004821909679 -0.0009231745827 0.0001158488847 0.0001180543747 -0.0001160227606 -0.001639888991 -0.0001158488847 -0.0002139208546 -9.635790891e-05 0.0001297750298 -0.0002263536402 -0.0001180543747 -9.635790891e-05 5.693499798e-05 0.0001374699135 -0.0002530643045 --0.0001160227606 0.0001297750298 0.0001374699135 -0.0003864865017 0.000336205635 --0.001639888991 -0.0002263536402 -0.0002530643045 0.000336205635 0.002840352807 --0.0009452013742 -9.730428773e-05 -6.304534054e-05 0.0005754294508 0.001540956097 --9.730428773e-05 9.196811302e-05 0.0001337603673 5.562391248e-05 0.0001256865413 --6.304534054e-05 0.0001337603673 0.0002280492558 0.0001054424852 2.202505463e-05 -0.0005754294508 5.562391248e-05 0.0001054424852 -5.120041067e-05 -0.001005577837 -0.001540956097 0.0001256865413 2.202505463e-05 -0.001005577837 -0.002488532122 -0.0004591234417 3.69620824e-05 3.788577599e-05 -8.023053484e-05 -0.00080582687 -3.69620824e-05 2.639475937e-05 4.457799655e-05 1.086628689e-05 -7.701622332e-05 -3.788577599e-05 4.457799655e-05 9.225958988e-05 4.059170635e-05 -0.0001019192867 --8.023053484e-05 1.086628689e-05 4.059170635e-05 4.356020871e-05 0.0001167801597 --0.00080582687 -7.701622332e-05 -0.0001019192867 0.0001167801597 0.001424032148 --7.810747174e-05 -3.78742123e-06 1.485651403e-06 4.462632146e-05 0.0001234509291 --3.78742123e-06 -8.421926815e-06 6.456993937e-06 2.0129719e-05 3.233207326e-06 -1.485651403e-06 6.456993937e-06 3.702937942e-05 3.381066962e-05 -1.553949245e-05 -4.462632146e-05 2.0129719e-05 3.381066962e-05 -2.34155513e-05 -7.789433535e-05 -0.0001234509291 3.233207326e-06 -1.553949245e-05 -7.789433535e-05 -0.0001995682985 --1.999487068e-06 4.894315035e-06 8.524668892e-06 3.640510445e-06 -3.073023126e-06 -4.894315035e-06 -9.429480102e-06 1.253568235e-06 8.032935755e-06 -4.738347633e-06 -8.524668892e-06 1.253568235e-06 2.088835531e-05 1.761057709e-05 -1.242483702e-05 -3.640510445e-06 8.032935755e-06 1.761057709e-05 9.915496331e-06 4.614138725e-07 --3.073023126e-06 -4.738347633e-06 -1.242483702e-05 4.614138725e-07 -2.174952398e-06 --3.691969599e-05 -1.471182593e-06 3.704069572e-06 3.788255864e-05 5.169884274e-05 --1.471182593e-06 6.601305844e-06 1.15500856e-05 4.278072291e-06 5.891952756e-06 -3.704069572e-06 1.15500856e-05 2.60887804e-05 1.511878408e-05 -5.258210467e-06 -3.788255864e-05 4.278072291e-06 1.511878408e-05 1.279372181e-05 -6.588838394e-05 -5.169884274e-05 5.891952756e-06 -5.258210467e-06 -6.588838394e-05 -8.172457216e-05 -3.03153613e-05 4.566245202e-06 6.761892279e-06 -3.862318596e-06 -5.707477552e-05 -4.566245202e-06 5.548949809e-06 1.457867303e-05 6.75982148e-06 -1.03337679e-05 -6.761892279e-06 1.457867303e-05 3.62905783e-05 2.012544447e-05 -2.219134067e-05 --3.862318596e-06 6.75982148e-06 2.012544447e-05 2.115870405e-05 -4.633509825e-07 --5.707477552e-05 -1.03337679e-05 -2.219134067e-05 -4.633509825e-07 0.0001039585756 --0.02742216903 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008598873811 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004002406747 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005292054129 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.811094214e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001642603576 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.352508394e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.814310514e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001095200422 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.93204924e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.441446427e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.418997884e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.280152358e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.02529298612 0.0393058654 0.0353986625 0 0 -0.0393058654 -0.03775811445 -0.02467920829 0 0 -0.0353986625 -0.02467920829 -0.01009882551 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009202713998 -0.0005410645846 -0.01076971089 0 0 --0.0005410645846 -0.002601632707 -0.003192201711 0 0 --0.01076971089 -0.003192201711 0.007046677657 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.1008723e-05 0.0005019507469 0.0004182407873 0 0 -0.0005019507469 -0.0005780677275 -0.0008364187219 0 0 -0.0004182407873 -0.0008364187219 -0.0009636666532 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002796573366 -0.0002668469661 9.78334626e-06 0 0 --0.0002668469661 0.0004154560235 0.0005156369409 0 0 -9.78334626e-06 0.0005156369409 0.0003822115824 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001779731215 9.128418435e-05 0.0001658764727 0 0 -9.128418435e-05 -4.565798614e-05 -8.718263563e-05 0 0 -0.0001658764727 -8.718263563e-05 -0.0001507980948 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001443694624 5.652337069e-05 0.0001015654159 0 0 -5.652337069e-05 -1.622663156e-05 -4.535396854e-05 0 0 -0.0001015654159 -4.535396854e-05 -6.61605622e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.948662688e-07 -9.440419765e-07 -3.533754942e-05 0 0 --9.440419765e-07 7.703084764e-07 4.547020237e-05 0 0 --3.533754942e-05 4.547020237e-05 0.0001196668067 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.053152991e-05 -5.335986645e-05 -0.000124478722 0 0 --5.335986645e-05 3.849932719e-05 9.783933285e-05 0 0 --0.000124478722 9.783933285e-05 0.0002124982833 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.419720168e-05 -3.888622517e-05 -9.660374136e-05 0 0 --3.888622517e-05 2.354534462e-05 5.873668343e-05 0 0 --9.660374136e-05 5.873668343e-05 0.0001400926774 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.059142256e-05 -1.563951711e-05 -3.851322385e-05 0 0 --1.563951711e-05 1.131252839e-05 3.068643488e-05 0 0 --3.851322385e-05 3.068643488e-05 6.83945943e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.197092865e-06 -1.727954573e-06 -1.351854217e-05 0 0 --1.727954573e-06 1.277370437e-06 1.260628127e-05 0 0 --1.351854217e-05 1.260628127e-05 3.542151724e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.672553032e-06 -3.959918074e-06 -1.795354011e-05 0 0 --3.959918074e-06 2.702585834e-06 1.360305745e-05 0 0 --1.795354011e-05 1.360305745e-05 3.828827589e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.455400452e-06 -5.247192855e-06 -1.867267269e-05 0 0 --5.247192855e-06 3.602693415e-06 1.407643213e-05 0 0 --1.867267269e-05 1.407643213e-05 3.7102491e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.004642206734 0.02576377369 0.02706266425 0.02162362533 -0.01554542137 -0.02576377369 -0.048475433 -0.03691498452 0.004419047558 0.02146183738 -0.02706266425 -0.03691498452 -0.02509001691 0.01309658781 0.01466346031 -0.02162362533 0.004419047558 0.01309658781 0.03093963676 -0.007367817621 --0.01554542137 0.02146183738 0.01466346031 -0.007367817621 -0.008567656107 --0.0008650588404 -0.002898929274 -0.00414554454 -0.003115831278 0.002577062931 --0.002898929274 -0.009649031087 -0.01281751342 -0.009944573117 0.008029845747 --0.00414554454 -0.01281751342 -0.002277370621 -0.006798150598 0.002428479439 --0.003115831278 -0.009944573117 -0.006798150598 -0.007461659986 0.004694371521 -0.002577062931 0.008029845747 0.002428479439 0.004694371521 -0.002080920224 --0.0001150707771 0.0002838151565 0.0007567467721 0.0002810617718 -0.0004070689513 -0.0002838151565 0.001139475567 0.0008881624788 0.0006296451935 -0.0008003751352 -0.0007567467721 0.0008881624788 -0.0008515777414 0.0001326294848 -2.503549126e-05 -0.0002810617718 0.0006296451935 0.0001326294848 0.0002648423643 -0.0003033524639 --0.0004070689513 -0.0008003751352 -2.503549126e-05 -0.0003033524639 0.0003299258192 --4.431385806e-06 -7.99207392e-06 7.620603481e-06 -4.6198264e-06 -6.084146712e-06 --7.99207392e-06 0.0001581272133 0.0001920745758 0.0001063781948 -0.0001071222659 -7.620603481e-06 0.0001920745758 0.0001712095596 0.0001265039109 -8.891288937e-05 --4.6198264e-06 0.0001063781948 0.0001265039109 7.144622685e-05 -7.026569443e-05 --6.084146712e-06 -0.0001071222659 -8.891288937e-05 -7.026569443e-05 4.522643656e-05 --3.78013843e-05 2.528122068e-05 9.624449713e-05 1.475971359e-05 -4.462425969e-05 -2.528122068e-05 6.381107417e-05 -2.97992781e-05 1.198348756e-06 -8.97410963e-06 -9.624449713e-05 -2.97992781e-05 -0.0002302400843 -3.283852238e-05 9.699181075e-05 -1.475971359e-05 1.198348756e-06 -3.283852238e-05 -4.244959965e-06 1.210031436e-05 --4.462425969e-05 -8.97410963e-06 9.699181075e-05 1.210031436e-05 -3.401051718e-05 -6.749294405e-06 1.268749456e-05 3.132407647e-05 1.449515615e-05 -2.749321071e-05 -1.268749456e-05 -4.030223275e-05 -6.190158399e-05 -8.70270958e-06 4.745559396e-05 -3.132407647e-05 -6.190158399e-05 -8.203506507e-05 -4.148266748e-07 5.905715134e-05 -1.449515615e-05 -8.70270958e-06 -4.148266748e-07 1.098361113e-05 -3.488971516e-06 --2.749321071e-05 4.745559396e-05 5.905715134e-05 -3.488971516e-06 -4.120944644e-05 -5.045700618e-06 3.856288278e-05 4.889158461e-05 3.312319261e-05 -2.893467415e-05 -3.856288278e-05 3.120389455e-05 0.000105826763 9.347255283e-05 -6.279378327e-05 -4.889158461e-05 0.000105826763 0.0002015220915 0.0001586611691 -0.0001194302088 -3.312319261e-05 9.347255283e-05 0.0001586611691 0.0001206856301 -9.399719291e-05 --2.893467415e-05 -6.279378327e-05 -0.0001194302088 -9.399719291e-05 7.077897137e-05 --5.732566379e-06 8.675594752e-06 9.870886731e-06 2.557304875e-06 -2.417566921e-06 -8.675594752e-06 4.400715798e-05 0.0001068016153 6.799037053e-05 -5.775228617e-05 -9.870886731e-06 0.0001068016153 0.0002423927017 0.0001487085508 -0.0001266844778 -2.557304875e-06 6.799037053e-05 0.0001487085508 8.923789031e-05 -7.615786053e-05 --2.417566921e-06 -5.775228617e-05 -0.0001266844778 -7.615786053e-05 6.498551412e-05 --9.313790545e-07 4.636655596e-06 8.169819624e-06 3.253870912e-06 -4.813164924e-06 -4.636655596e-06 1.355099384e-05 3.536559738e-05 2.256378202e-05 -2.094918443e-05 -8.169819624e-06 3.536559738e-05 8.616047505e-05 5.191384282e-05 -5.099698353e-05 -3.253870912e-06 2.256378202e-05 5.191384282e-05 2.964731931e-05 -3.070503208e-05 --4.813164924e-06 -2.094918443e-05 -5.099698353e-05 -3.070503208e-05 3.018399035e-05 -1.05848443e-06 7.555014516e-06 1.08265334e-05 6.679338975e-06 -6.844318435e-06 -7.555014516e-06 7.01861561e-06 2.271350315e-05 1.9108708e-05 -1.368583799e-05 -1.08265334e-05 2.271350315e-05 4.727030198e-05 3.509054003e-05 -2.910028107e-05 -6.679338975e-06 1.9108708e-05 3.509054003e-05 2.475214808e-05 -2.177357069e-05 --6.844318435e-06 -1.368583799e-05 -2.910028107e-05 -2.177357069e-05 1.789192028e-05 --9.945958871e-07 8.025479457e-06 1.150182704e-05 5.902438766e-06 -6.038623815e-06 -8.025479457e-06 -2.837274107e-06 6.232205472e-06 1.100783935e-05 -3.841543946e-06 -1.150182704e-05 6.232205472e-06 2.540399447e-05 2.552802496e-05 -1.424843971e-05 -5.902438766e-06 1.100783935e-05 2.552802496e-05 2.049552857e-05 -1.394190192e-05 --6.038623815e-06 -3.841543946e-06 -1.424843971e-05 -1.394190192e-05 7.964150472e-06 --1.057439258e-06 5.988086667e-06 9.218182353e-06 4.30602159e-06 -4.897922009e-06 -5.988086667e-06 -1.664564468e-06 5.350490493e-06 8.611673657e-06 -3.257716727e-06 -9.218182353e-06 5.350490493e-06 2.235987139e-05 2.135423934e-05 -1.262092219e-05 -4.30602159e-06 8.611673657e-06 2.135423934e-05 1.62297481e-05 -1.177069394e-05 --4.897922009e-06 -3.257716727e-06 -1.262092219e-05 -1.177069394e-05 7.10463953e-06 --2.276487681e-07 4.723908321e-06 7.074489734e-06 3.680343667e-06 -4.072824072e-06 -4.723908321e-06 5.215902091e-06 1.657657555e-05 1.32833019e-05 -9.772561698e-06 -7.074489734e-06 1.657657555e-05 3.869595436e-05 2.750466236e-05 -2.264039899e-05 -3.680343667e-06 1.32833019e-05 2.750466236e-05 1.835513184e-05 -1.603374131e-05 --4.072824072e-06 -9.772561698e-06 -2.264039899e-05 -1.603374131e-05 1.324364984e-05 -0.03471368358 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00515662761 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006948398296 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001036616578 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003526936793 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.063215777e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.444157942e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.502955631e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.292150325e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.612808757e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.070593589e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.180378447e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.080243108e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03780802531 0.01229567414 0.03904672151 0 0 -0.01229567414 0.003998717237 0.0126985665 0 0 -0.03904672151 0.0126985665 -0.0493409767 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02063987072 0.006712465439 -0.00506585922 0 0 -0.006712465439 0.002183017174 -0.001647478478 0 0 --0.00506585922 -0.001647478478 -0.0001710686382 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001124153782 -0.0003655384538 0.0006704463403 0 0 --0.0003655384538 -0.0001188612811 0.0002180029913 0 0 -0.0006704463403 0.0002180029913 -0.0003909719345 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001173139433 0.0003815019427 -6.879102145e-06 0 0 -0.0003815019427 0.0001240634557 -2.245894631e-06 0 0 --6.879102145e-06 -2.245894631e-06 -0.0002949794386 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003022245702 -9.830236787e-05 0.0001818863881 0 0 --9.830236787e-05 -3.197408898e-05 5.916229009e-05 0 0 -0.0001818863881 5.916229009e-05 -0.0001067444143 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.838819326e-06 1.575128608e-06 -1.994887722e-06 0 0 -1.575128608e-06 5.12734153e-07 -6.492358584e-07 0 0 --1.994887722e-06 -6.492358584e-07 7.803581523e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001056639144 3.436684678e-05 -3.242407069e-05 0 0 -3.436684678e-05 1.117770575e-05 -1.054509822e-05 0 0 --3.242407069e-05 -1.054509822e-05 5.714670779e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.827827607e-05 -5.943858057e-06 3.216762073e-05 0 0 --5.943858057e-06 -1.932865455e-06 1.045991038e-05 0 0 -3.216762073e-05 1.045991038e-05 -2.793785449e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.556189482e-05 -8.314058645e-06 1.790169603e-05 0 0 --8.314058645e-06 -2.704164562e-06 5.822758963e-06 0 0 -1.790169603e-05 5.822758963e-06 -1.158194252e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.17034986e-06 1.356125858e-06 2.573473655e-06 0 0 -1.356125858e-06 4.409887394e-07 8.367100047e-07 0 0 -2.573473655e-06 8.367100047e-07 -3.685462119e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.394004604e-06 2.729966034e-06 3.492927523e-06 0 0 -2.729966034e-06 8.878616207e-07 1.136119303e-06 0 0 -3.492927523e-06 1.136119303e-06 -5.702070055e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.46669466e-06 -1.777766446e-06 8.074221051e-06 0 0 --1.777766446e-06 -5.781287832e-07 2.625664198e-06 0 0 -8.074221051e-06 2.625664198e-06 -6.785533489e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.573050498e-06 -1.162036125e-06 5.046128963e-06 0 0 --1.162036125e-06 -3.779201985e-07 1.641146508e-06 0 0 -5.046128963e-06 1.641146508e-06 -4.199605264e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02951379472 0.01402647603 0.009306970163 0.01255074526 0.003026708704 -0.01402647603 0.00532747166 0.01315260143 0.009645607372 0.004277380835 -0.009306970163 0.01315260143 -0.05399133364 -0.02004563422 -0.01755871149 -0.01255074526 0.009645607372 -0.02004563422 -0.004784041494 -0.006519123999 -0.003026708704 0.004277380835 -0.01755871149 -0.006519123999 -0.005710330313 -0.01735604909 0.01017154313 -0.007067434518 0.002092840605 -0.002298435901 -0.01017154313 0.005779877081 -0.002960416729 0.001724688344 -0.000962773188 --0.007067434518 -0.002960416729 -0.004826667312 -0.004100901203 -0.001569697014 -0.002092840605 0.001724688344 -0.004100901203 -0.001117478348 -0.001333671435 --0.002298435901 -0.000962773188 -0.001569697014 -0.001333671435 -0.0005104865439 -0.001071404149 0.0007055893105 -0.000942913876 -8.443365684e-05 -0.0003066479949 -0.0007055893105 0.0004637341258 -0.0006148250393 -5.3013927e-05 -0.0001999491744 --0.000942913876 -0.0006148250393 0.0007897598589 5.741053898e-05 0.0002568401938 --8.443365684e-05 -5.3013927e-05 5.741053898e-05 -4.709587886e-07 1.867062012e-05 --0.0003066479949 -0.0001999491744 0.0002568401938 1.867062012e-05 8.352777669e-05 -0.0003349094231 0.0001340986718 0.0002690808435 0.0002113485142 8.75080536e-05 -0.0001340986718 2.594974215e-05 0.0002886623109 0.0001609116435 9.38765334e-05 -0.0002690808435 0.0002886623109 -0.0009636286741 -0.0003276743746 -0.0003133850759 -0.0002113485142 0.0001609116435 -0.0003276743746 -7.639308149e-05 -0.0001065643352 -8.75080536e-05 9.38765334e-05 -0.0003133850759 -0.0001065643352 -0.0001019170646 -5.307864299e-05 3.580042665e-05 -5.222136335e-05 -6.50553852e-06 -1.698302874e-05 -3.580042665e-05 2.413660817e-05 -3.515683187e-05 -4.360281704e-06 -1.143343362e-05 --5.222136335e-05 -3.515683187e-05 5.095159234e-05 6.22069848e-06 1.657008432e-05 --6.50553852e-06 -4.360281704e-06 6.22069848e-06 7.215451473e-07 2.023047846e-06 --1.698302874e-05 -1.143343362e-05 1.657008432e-05 2.023047846e-06 5.388795162e-06 --6.847826278e-06 -4.873887167e-06 8.401268986e-06 1.540960857e-06 2.732209484e-06 --4.873887167e-06 -3.465162771e-06 5.954832563e-06 1.086349818e-06 1.936594668e-06 -8.401268986e-06 5.954832563e-06 -1.014600838e-05 -1.822600473e-06 -3.299625104e-06 -1.540960857e-06 1.086349818e-06 -1.822600473e-06 -3.181181395e-07 -5.927359047e-07 -2.732209484e-06 1.936594668e-06 -3.299625104e-06 -5.927359047e-07 -1.073084648e-06 -5.736963769e-05 3.415232946e-05 -2.682220403e-05 5.458382603e-06 -8.722972855e-06 -3.415232946e-05 1.983567304e-05 -1.273728503e-05 4.611375694e-06 -4.142352894e-06 --2.682220403e-05 -1.273728503e-05 -8.52352404e-06 -1.143370876e-05 -2.771964178e-06 -5.458382603e-06 4.611375694e-06 -1.143370876e-05 -3.225728938e-06 -3.718404831e-06 --8.722972855e-06 -4.142352894e-06 -2.771964178e-06 -3.718404831e-06 -9.014798772e-07 --1.531617592e-05 -1.272574249e-05 3.068900523e-05 8.463609348e-06 9.980466996e-06 --1.272574249e-05 -1.026176928e-05 2.346616803e-05 6.175182452e-06 7.631509887e-06 -3.068900523e-05 2.346616803e-05 -4.823802426e-05 -1.137008597e-05 -1.568766603e-05 -8.463609348e-06 6.175182452e-06 -1.137008597e-05 -2.320522727e-06 -3.697712837e-06 -9.980466996e-06 7.631509887e-06 -1.568766603e-05 -3.697712837e-06 -5.101843808e-06 --1.313869256e-06 -1.141877073e-06 2.960112566e-06 8.641338126e-07 9.626673213e-07 --1.141877073e-06 -9.494159222e-07 2.292316168e-06 6.328225763e-07 7.454917129e-07 -2.960112566e-06 2.292316168e-06 -4.841160337e-06 -1.176124816e-06 -1.574412012e-06 -8.641338126e-07 6.328225763e-07 -1.176124816e-06 -2.433513172e-07 -3.824925865e-07 -9.626673213e-07 7.454917129e-07 -1.574412012e-06 -3.824925865e-07 -5.120204684e-07 -8.088590871e-06 4.963211795e-06 -4.74712667e-06 3.624949166e-07 -1.543832873e-06 -4.963211795e-06 3.000426522e-06 -2.619203119e-06 3.462555504e-07 -8.518018713e-07 --4.74712667e-06 -2.619203119e-06 8.71008766e-07 -1.0202393e-06 2.832637145e-07 -3.624949166e-07 3.462555504e-07 -1.0202393e-06 -3.242417298e-07 -3.317965669e-07 --1.543832873e-06 -8.518018713e-07 2.832637145e-07 -3.317965669e-07 9.212115318e-08 -1.570746437e-06 1.845339195e-07 4.159992901e-06 2.213197569e-06 1.352879624e-06 -1.845339195e-07 -4.899815628e-07 3.82534786e-06 1.666925643e-06 1.244051583e-06 -4.159992901e-06 3.82534786e-06 -1.074128016e-05 -3.313255206e-06 -3.493209822e-06 -2.213197569e-06 1.666925643e-06 -3.313255206e-06 -7.501818652e-07 -1.077517356e-06 -1.352879624e-06 1.244051583e-06 -3.493209822e-06 -1.077517356e-06 -1.136039158e-06 --1.75569443e-06 -1.744686979e-06 5.382505439e-06 1.756417353e-06 1.75046003e-06 --1.744686979e-06 -1.569879343e-06 4.280143111e-06 1.2948149e-06 1.391958754e-06 -5.382505439e-06 4.280143111e-06 -9.532758776e-06 -2.446351728e-06 -3.10018324e-06 -1.756417353e-06 1.2948149e-06 -2.446351728e-06 -5.181537762e-07 -7.955881898e-07 -1.75046003e-06 1.391958754e-06 -3.10018324e-06 -7.955881898e-07 -1.008221895e-06 -2.258685478e-06 1.152235772e-06 1.984451546e-07 7.438517773e-07 6.453425079e-08 -1.152235772e-06 5.161632055e-07 5.683664942e-07 5.764356814e-07 1.848390012e-07 -1.984451546e-07 5.683664942e-07 -3.028816345e-06 -1.219124146e-06 -9.850120068e-07 -7.438517773e-07 5.764356814e-07 -1.219124146e-06 -2.966387917e-07 -3.964764645e-07 -6.453425079e-08 1.848390012e-07 -9.850120068e-07 -3.964764645e-07 -3.203392161e-07 -0.03792344107 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006636968532 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002661884446 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.852289004e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.132614678e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001260675954 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.878120421e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.088378787e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.58820611e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.96086139e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.581756116e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.359200355e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.232867825e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03692845732 -0.02192737649 -0.02494141484 0 0 --0.02192737649 0.01302003581 0.01480879859 0 0 --0.02494141484 0.01480879859 0.006681184669 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005006044673 0.002971855635 0.007877499704 0 0 -0.002971855635 -0.001764252286 -0.004676356291 0 0 -0.007877499704 -0.004676356291 -0.0116967572 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004511762884 0.000267840825 0.0005519514871 0 0 -0.000267840825 -0.0001590037154 -0.0003276651494 0 0 -0.0005519514871 -0.0003276651494 -0.0006749870229 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.298375947e-06 1.991885309e-06 3.988769542e-06 0 0 -1.991885309e-06 -1.202556289e-06 -2.408654203e-06 0 0 -3.988769542e-06 -2.408654203e-06 -4.823597482e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.289361169e-05 -5.515141295e-05 -9.223191905e-05 0 0 --5.515141295e-05 3.274367622e-05 5.475909517e-05 0 0 --9.223191905e-05 5.475909517e-05 8.759288906e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001328176819 -7.885601796e-05 -0.000113692125 0 0 --7.885601796e-05 4.681810038e-05 6.750161955e-05 0 0 --0.000113692125 6.750161955e-05 8.160860774e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.332907195e-06 7.914197689e-07 4.698777667e-05 0 0 -7.914197689e-07 -4.699091221e-07 -2.790019696e-05 0 0 -4.698777667e-05 -2.790019696e-05 -0.000110851239 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.313172981e-05 3.748378538e-05 0.0001036661479 0 0 -3.748378538e-05 -2.225559431e-05 -6.15508396e-05 0 0 -0.0001036661479 -6.15508396e-05 -0.0001578876293 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.568385145e-05 3.306102634e-05 8.328749427e-05 0 0 -3.306102634e-05 -1.962923602e-05 -4.944997475e-05 0 0 -8.328749427e-05 -4.944997475e-05 -0.0001197038614 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.336479387e-05 1.38727127e-05 4.077981805e-05 0 0 -1.38727127e-05 -8.236843799e-06 -2.421292984e-05 0 0 -4.077981805e-05 -2.421292984e-05 -6.422585834e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.275055867e-06 1.3508029e-06 1.366756252e-05 0 0 -1.3508029e-06 -8.020323811e-07 -8.115178678e-06 0 0 -1.366756252e-05 -8.115178678e-06 -2.952572282e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.290542032e-06 3.141185949e-06 1.632805401e-05 0 0 -3.141185949e-06 -1.865035587e-06 -9.694588727e-06 0 0 -1.632805401e-05 -9.694588727e-06 -3.156836804e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.369460473e-06 4.375525665e-06 1.784562304e-05 0 0 -4.375525665e-06 -2.597914042e-06 -1.059566013e-05 0 0 -1.784562304e-05 -1.059566013e-05 -3.221699574e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001778338834 -0.009590296266 -0.01821269048 -0.007377428172 0.01081427107 --0.009590296266 0.0153769108 0.01947476548 0.0001572886421 -0.01156350428 --0.01821269048 0.01947476548 0.01590795034 -0.01030794647 -0.009445428844 --0.007377428172 0.0001572886421 -0.01030794647 -0.01260587311 0.006120790067 -0.01081427107 -0.01156350428 -0.009445428844 0.006120790067 0.005608272844 -4.689715621e-05 -0.0001468414431 -0.0002504999929 -7.901603343e-05 0.0001486381134 --0.0001468414431 -0.001681914987 -0.003856292574 -0.002088907913 0.002289273946 --0.0002504999929 -0.003856292574 -0.008717339718 -0.004640289262 0.005174915324 --7.901603343e-05 -0.002088907913 -0.004640289262 -0.002415493667 0.00275456905 -0.0001486381134 0.002289273946 0.005174915324 0.00275456905 -0.003072009208 -2.15475984e-06 -1.758615066e-05 -3.500170977e-05 -1.54583564e-05 2.077238259e-05 --1.758615066e-05 0.0001373255697 0.0002722114595 0.0001193768825 -0.0001615608768 --3.500170977e-05 0.0002722114595 0.0005393802514 0.0002363841883 -0.0003201311498 --1.54583564e-05 0.0001193768825 0.0002363841883 0.0001034746518 -0.0001402996941 -2.077238259e-05 -0.0001615608768 -0.0003201311498 -0.0001402996941 0.0001900031364 -5.987147642e-08 -4.264897749e-07 -8.374583141e-07 -3.62101556e-07 4.9654784e-07 --4.264897749e-07 2.60577873e-06 5.029476553e-06 2.106090187e-06 -2.983154557e-06 --8.374583141e-07 5.029476553e-06 9.686983532e-06 4.04000471e-06 -5.745936187e-06 --3.62101556e-07 2.106090187e-06 4.04000471e-06 1.671754164e-06 -2.396575548e-06 -4.9654784e-07 -2.983154557e-06 -5.745936187e-06 -2.396575548e-06 3.408259323e-06 -3.326592799e-06 -2.000559049e-05 -3.854762467e-05 -1.605917316e-05 2.288371214e-05 --2.000559049e-05 7.013326166e-05 0.0001230886796 4.184079841e-05 -7.307480652e-05 --3.854762467e-05 0.0001230886796 0.0002110672939 6.747889628e-05 -0.000125307182 --1.605917316e-05 4.184079841e-05 6.747889628e-05 1.781577967e-05 -4.006249821e-05 -2.288371214e-05 -7.307480652e-05 -0.000125307182 -4.006249821e-05 7.439281316e-05 -5.137510406e-06 -2.855075525e-05 -5.444439999e-05 -2.223573513e-05 3.232613375e-05 --2.855075525e-05 6.126718383e-05 9.153642602e-05 1.736069538e-05 -5.434903025e-05 --5.444439999e-05 9.153642602e-05 0.0001197462145 5.521044487e-06 -7.109807917e-05 --2.223573513e-05 1.736069538e-05 5.521044487e-06 -1.958062498e-05 -3.27772827e-06 -3.232613375e-05 -5.434903025e-05 -7.109807917e-05 -3.27772827e-06 4.221375083e-05 -3.165223509e-06 -1.502917007e-05 -2.799513631e-05 -1.09062603e-05 1.662260133e-05 --1.502917007e-05 -1.304878712e-05 -4.996632683e-05 -4.026086838e-05 2.966705117e-05 --2.799513631e-05 -4.996632683e-05 -0.0001486712899 -0.0001029759758 8.827329771e-05 --1.09062603e-05 -4.026086838e-05 -0.0001029759758 -6.279329284e-05 6.114233631e-05 -1.662260133e-05 2.966705117e-05 8.827329771e-05 6.114233631e-05 -5.241210385e-05 -1.647981657e-06 -6.808138534e-06 -1.237335357e-05 -4.570642008e-06 7.346124061e-06 --6.808138534e-06 -2.683300813e-05 -6.796780328e-05 -4.105509228e-05 4.035415276e-05 --1.237335357e-05 -6.796780328e-05 -0.0001651307988 -9.555484225e-05 9.804186177e-05 --4.570642008e-06 -4.105509228e-05 -9.555484225e-05 -5.269027476e-05 5.673283982e-05 -7.346124061e-06 4.035415276e-05 9.804186177e-05 5.673283982e-05 -5.820965398e-05 -9.731860904e-07 -4.192140101e-06 -7.678578571e-06 -2.886105722e-06 4.558980019e-06 --4.192140101e-06 -1.247113938e-05 -3.307258558e-05 -2.08612027e-05 1.963622222e-05 --7.678578571e-06 -3.307258558e-05 -8.274280813e-05 -4.936653145e-05 4.912693305e-05 --2.886105722e-06 -2.08612027e-05 -4.936653145e-05 -2.774880728e-05 2.93103911e-05 -4.558980019e-06 1.963622222e-05 4.912693305e-05 2.93103911e-05 -2.916816102e-05 -8.444251755e-07 -3.981982432e-06 -7.408889124e-06 -2.879616595e-06 4.399104919e-06 --3.981982432e-06 -4.023283821e-06 -1.446493285e-05 -1.128437164e-05 8.588403448e-06 --7.408889124e-06 -1.446493285e-05 -4.203531461e-05 -2.860633508e-05 2.495825325e-05 --2.879616595e-06 -1.128437164e-05 -2.860633508e-05 -1.729297665e-05 1.698498078e-05 -4.399104919e-06 8.588403448e-06 2.495825325e-05 1.698498078e-05 -1.481883533e-05 -9.067031626e-07 -4.57339515e-06 -8.600659974e-06 -3.416951156e-06 5.106528026e-06 --4.57339515e-06 1.605986758e-06 -3.121553805e-06 -6.169981928e-06 1.853362827e-06 --8.600659974e-06 -3.121553805e-06 -1.917799549e-05 -1.830091564e-05 1.138664106e-05 --3.416951156e-06 -6.169981928e-06 -1.830091564e-05 -1.264685951e-05 1.086590634e-05 -5.106528026e-06 1.853362827e-06 1.138664106e-05 1.086590634e-05 -6.760643712e-06 -7.891026598e-07 -3.964915802e-06 -7.452007851e-06 -2.957149144e-06 4.424473572e-06 --3.964915802e-06 1.100403147e-06 -3.338728851e-06 -5.667407082e-06 1.982316796e-06 --7.452007851e-06 -3.338728851e-06 -1.799059099e-05 -1.654830741e-05 1.068157226e-05 --2.957149144e-06 -5.667407082e-06 -1.654830741e-05 -1.130249956e-05 9.82522887e-06 -4.424473572e-06 1.982316796e-06 1.068157226e-05 9.82522887e-06 -6.341980989e-06 -6.267637853e-07 -2.934735151e-06 -5.454114935e-06 -2.114790675e-06 3.238323393e-06 --2.934735151e-06 -3.384501837e-06 -1.156933078e-05 -8.773983468e-06 6.8691111e-06 --5.454114935e-06 -1.156933078e-05 -3.294016599e-05 -2.206338967e-05 1.955775283e-05 --2.114790675e-06 -8.773983468e-06 -2.206338967e-05 -1.323111875e-05 1.309984303e-05 -3.238323393e-06 6.8691111e-06 1.955775283e-05 1.309984303e-05 -1.161213625e-05 -0.1073437348 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02809949022 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005986846175 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002314996653 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007653449658 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003759171808 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00177782919 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004424908509 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002594933044 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003030074269 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.398023366e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.954800372e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.633270565e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1364716474 -0.01569284964 0.03401601112 0 0 --0.01569284964 0.08789267066 0.06078718806 0 0 -0.03401601112 0.06078718806 -0.01243816615 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06405520986 0.03379329999 0.05258103875 0 0 -0.03379329999 0.0336183336 -0.007063359271 0 0 -0.05258103875 -0.007063359271 -0.03942760438 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05168029362 0.01584255887 -0.01010875918 0 0 -0.01584255887 0.004023334913 -0.0007866346552 0 0 --0.01010875918 -0.0007866346552 -0.004871249162 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005580258898 -0.001510229024 0.005702804215 0 0 --0.001510229024 0.0004647374814 0.0006343161792 0 0 -0.005702804215 0.0006343161792 -0.002603581317 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009692115691 0.003153576729 -0.0005098834019 0 0 -0.003153576729 0.0007176760628 -0.0001195648044 0 0 --0.0005098834019 -0.0001195648044 -0.002409156889 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001177377881 -0.0003827150778 0.0006711567263 0 0 --0.0003827150778 -5.594243609e-05 0.0002004069868 0 0 -0.0006711567263 0.0002004069868 -0.0003581302831 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.000412639281 -2.356681079e-05 0.0002509986458 0 0 --2.356681079e-05 0.0001352002175 0.0001579851759 0 0 -0.0002509986458 0.0001579851759 -0.0002499547409 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001288560888 0.0005063173136 -0.0004949332661 0 0 -0.0005063173136 6.611972977e-05 -0.000309432119 0 0 --0.0004949332661 -0.000309432119 1.679841671e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005745580615 -7.789082296e-05 0.0005827754329 0 0 --7.789082296e-05 -9.184940012e-05 5.483314802e-05 0 0 -0.0005827754329 5.483314802e-05 -0.0005411644937 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.83103745e-05 4.382641008e-05 -3.845415269e-06 0 0 -4.382641008e-05 6.633874467e-06 -3.678746681e-05 0 0 --3.845415269e-06 -3.678746681e-05 -3.970280279e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.127976429e-05 -2.153870157e-05 1.897429582e-05 0 0 --2.153870157e-05 -3.340731372e-06 -1.512881092e-06 0 0 -1.897429582e-05 -1.512881092e-06 -2.310802641e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001045353651 4.890024648e-05 -1.220304002e-05 0 0 -4.890024648e-05 2.586018544e-06 -3.092805999e-05 0 0 --1.220304002e-05 -3.092805999e-05 -4.747489231e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.548625794e-05 -9.690982187e-06 6.817619894e-05 0 0 --9.690982187e-06 -1.209722791e-05 -3.016762707e-06 0 0 -6.817619894e-05 -3.016762707e-06 -7.444558943e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.07360406981 0.005852025407 0.03452655424 -0.04020969188 0.011470538 -0.005852025407 0.1194277809 0.08708370625 0.03982758885 0.02807489642 -0.03452655424 0.08708370625 -0.01430059264 -0.07142536441 -0.02343704758 --0.04020969188 0.03982758885 -0.07142536441 -0.07844031059 -0.002941423997 -0.011470538 0.02807489642 -0.02343704758 -0.002941423997 -0.08699496476 -0.08926585393 0.02307330171 0.0472561123 0.01537386123 0.007933630087 -0.02307330171 0.07800924389 0.002773658348 0.03396230674 -0.01990067509 -0.0472561123 0.002773658348 -0.02167619939 -0.01305009403 0.005750600431 -0.01537386123 0.03396230674 -0.01305009403 0.0004293847757 -0.01434289036 -0.007933630087 -0.01990067509 0.005750600431 -0.01434289036 0.005284777424 -0.04542544931 0.02221395184 -0.01095068927 0.007410511729 -0.001860495461 -0.02221395184 0.01509834722 -0.005330386764 0.00547326567 -0.002083936624 --0.01095068927 -0.005330386764 -0.0179101044 -0.01179344681 -0.004905471397 -0.007410511729 0.00547326567 -0.01179344681 -0.002884142264 -0.003430112392 --0.001860495461 -0.002083936624 -0.004905471397 -0.003430112392 -0.0008825273455 -0.008501633482 0.006320886224 -0.007190210101 -0.001572393092 -0.003286854594 -0.006320886224 0.004150437906 -0.005281932072 -0.0002562494025 -0.0007483201131 --0.007190210101 -0.005281932072 0.006353184901 -0.0003074548891 0.002259614512 --0.001572393092 -0.0002562494025 -0.0003074548891 -0.0008484681167 -9.532057501e-05 --0.003286854594 -0.0007483201131 0.002259614512 -9.532057501e-05 -0.0004608686713 -0.0009922425038 -0.000699422111 0.005080921241 0.00224767304 0.00179199949 --0.000699422111 -0.0005695186895 0.003669801417 0.001519801708 0.001102735761 -0.005080921241 0.003669801417 -0.01051712238 -0.003173598802 -0.003048753868 -0.00224767304 0.001519801708 -0.003173598802 -0.0007117151847 -0.00086794625 -0.00179199949 0.001102735761 -0.003048753868 -0.00086794625 -0.0007788773112 -0.00354948461 0.002449302 -0.003272333726 -0.0003258891339 -0.001093304385 -0.002449302 0.00163331217 -0.001876176913 -9.591413432e-05 -0.0007399319137 --0.003272333726 -0.001876176913 0.002832800116 0.0002654382452 0.0006738182271 --0.0003258891339 -9.591413432e-05 0.0002654382452 2.808066866e-05 -2.059976896e-05 --0.001093304385 -0.0007399319137 0.0006738182271 -2.059976896e-05 0.00030821215 --0.0007638149772 -0.0008467677412 0.001233626768 0.0001775749912 0.0005666849126 --0.0008467677412 -0.0003122800492 0.0008693608304 0.0001710218681 0.0002845866542 -0.001233626768 0.0008693608304 -0.001275411856 -0.0002834805155 -0.0003553405637 -0.0001775749912 0.0001710218681 -0.0002834805155 -0.0001083291748 -1.408728199e-05 -0.0005666849126 0.0002845866542 -0.0003553405637 -1.408728199e-05 -0.0002407044114 -0.001323659483 0.0009231165175 -0.001049927025 -4.341428499e-05 -0.0003869370936 -0.0009231165175 0.0004166875316 -0.0007815759659 -0.000122943794 -6.225625529e-05 --0.001049927025 -0.0007815759659 0.0001166393013 -0.0003330649465 0.0003330268823 --4.341428499e-05 -0.000122943794 -0.0003330649465 -0.000200295729 8.596125864e-05 --0.0003869370936 -6.225625529e-05 0.0003330268823 8.596125864e-05 -7.716112361e-05 --0.0003250919762 -0.000230400679 0.0004525043338 9.670918413e-05 0.0001335239856 --0.000230400679 -0.0001882676509 0.000267150345 3.490688427e-05 0.0001233364407 -0.0004525043338 0.000267150345 -0.0007270517731 -0.0001939304312 -0.0001177624594 -9.670918413e-05 3.490688427e-05 -0.0001939304312 -6.357855403e-05 1.296758384e-06 -0.0001335239856 0.0001233364407 -0.0001177624594 1.296758384e-06 -8.743156051e-05 -0.0001025927055 3.388669751e-05 -7.080009816e-05 -1.05382782e-05 1.667248629e-06 -3.388669751e-05 4.800408176e-05 -3.769396221e-05 -5.37084123e-06 -5.535499972e-06 --7.080009816e-05 -3.769396221e-05 4.510900305e-05 -1.325267167e-05 3.466396775e-05 --1.05382782e-05 -5.37084123e-06 -1.325267167e-05 -1.477894984e-05 1.660955898e-05 -1.667248629e-06 -5.535499972e-06 3.466396775e-05 1.660955898e-05 -1.663916315e-05 -6.44809589e-05 3.478356207e-05 -8.844240881e-05 -2.452835082e-05 -1.612190949e-05 -3.478356207e-05 3.089805036e-05 -5.641838522e-05 -2.112584563e-05 -1.436623984e-06 --8.844240881e-05 -5.641838522e-05 6.003147488e-05 -2.026005571e-05 4.355486897e-05 --2.452835082e-05 -2.112584563e-05 -2.026005571e-05 -2.709955944e-05 2.193135129e-05 --1.612190949e-05 -1.436623984e-06 4.355486897e-05 2.193135129e-05 -1.511573577e-05 -2.061420425e-05 1.353323961e-05 -4.459467482e-06 3.72649909e-06 -1.792278346e-06 -1.353323961e-05 -3.670209725e-07 -4.794354774e-06 -7.576920254e-06 1.443638595e-05 --4.459467482e-06 -4.794354774e-06 -9.070884939e-05 -5.488062959e-05 7.052896813e-06 -3.72649909e-06 -7.576920254e-06 -5.488062959e-05 -3.137134048e-05 1.216584157e-05 --1.792278346e-06 1.443638595e-05 7.052896813e-06 1.216584157e-05 -2.080395822e-05 --1.88502049e-05 -1.733258921e-05 1.712374016e-05 -5.670171153e-07 9.992761961e-06 --1.733258921e-05 -1.354431653e-05 8.25750392e-07 -1.04546729e-05 1.712078451e-05 -1.712374016e-05 8.25750392e-07 -6.854503969e-05 -3.581067689e-05 1.660907701e-05 --5.670171153e-07 -1.04546729e-05 -3.581067689e-05 -2.217164654e-05 1.635904592e-05 -9.992761961e-06 1.712078451e-05 1.660907701e-05 1.635904592e-05 -2.098274659e-05 --0.06625822774 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01103529126 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001338868865 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001833176938 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0006952350806 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.508939923e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.736576045e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.579423302e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.076961116e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.168793254e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.549186997e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.205564724e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.315411577e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.03407436999 0.09895386822 0.08983163496 0 0 -0.09895386822 -0.002617349872 0.01642688721 0 0 -0.08983163496 0.01642688721 -0.01593680917 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0312515256 0.008952268623 0.03381547391 0 0 -0.008952268623 0.002374609022 0.01194158 0 0 -0.03381547391 0.01194158 -0.006374225007 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002612142392 -0.002513008811 -0.003713166918 0 0 --0.002513008811 0.001787379903 0.0008487421629 0 0 --0.003713166918 0.0008487421629 0.001520023263 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009132516466 -0.00434878683 -0.002065925206 0 0 --0.00434878683 -0.0009790404074 -0.0001925339933 0 0 --0.002065925206 -0.0001925339933 -0.001043859562 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005775846278 0.001408781483 0.000621372467 0 0 -0.001408781483 -0.0005230411861 -0.0005568209189 0 0 -0.000621372467 -0.0005568209189 -0.0002055388042 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.016944281e-05 1.991354165e-05 2.236412106e-05 0 0 -1.991354165e-05 0.000128052573 0.0001025263004 0 0 -2.236412106e-05 0.0001025263004 7.651765072e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001876166772 0.0002807641435 0.0003606375842 0 0 -0.0002807641435 0.0001260655117 0.0001502307511 0 0 -0.0003606375842 0.0001502307511 3.70733806e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.951847754e-05 -0.0002760246799 -0.0002591991989 0 0 --0.0002760246799 -5.954200057e-07 -9.389340992e-06 0 0 --0.0002591991989 -9.389340992e-06 6.581341163e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.124663125e-05 0.0001615311857 8.361359259e-05 0 0 -0.0001615311857 -4.289671733e-05 -4.604668613e-05 0 0 -8.361359259e-05 -4.604668613e-05 -1.656283967e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.398400095e-06 -7.152863403e-05 -5.288898992e-05 0 0 --7.152863403e-05 9.143156033e-07 2.751004156e-06 0 0 --5.288898992e-05 2.751004156e-06 -1.025696111e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.761406959e-06 7.033901131e-05 6.143797755e-05 0 0 -7.033901131e-05 7.103787634e-06 9.659124588e-06 0 0 -6.143797755e-05 9.659124588e-06 1.16578518e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.319428792e-05 -2.63872131e-05 -3.268756788e-05 0 0 --2.63872131e-05 2.445842876e-06 -7.572922612e-07 0 0 --3.268756788e-05 -7.572922612e-07 3.570855749e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.193323445e-05 2.74184248e-05 1.353950389e-05 0 0 -2.74184248e-05 -2.258596771e-06 -3.513424102e-06 0 0 -1.353950389e-05 -3.513424102e-06 -2.860215044e-08 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.05304832727 -0.004962878869 -0.05004941828 -0.003012560525 -0.008110968138 --0.004962878869 -0.001212766651 -0.009066790193 0.0109257532 0.04354439591 --0.05004941828 -0.009066790193 0.005519432728 0.006671088051 0.03007060479 --0.003012560525 0.0109257532 0.006671088051 -0.0004558784713 -0.0007690404313 --0.008110968138 0.04354439591 0.03007060479 -0.0007690404313 -0.0007508914581 --0.002493790304 -0.01247682406 0.00591300495 0.001841641152 0.003252932971 --0.01247682406 -0.008555268617 0.01076496169 0.004565096698 0.01457077114 -0.00591300495 0.01076496169 -0.01882045775 -0.001561227233 0.0002459358848 -0.001841641152 0.004565096698 -0.001561227233 -0.0005101878385 -0.0008987973699 -0.003252932971 0.01457077114 0.0002459358848 -0.0008987973699 -0.001080990807 --0.001534807044 -0.001185729811 0.001769847572 0.0002683154719 0.0005606917399 --0.001185729811 -0.000850302156 0.001310621647 0.0002187124268 0.0005033898555 -0.001769847572 0.001310621647 -0.002056593455 -0.0003084592562 -0.0006501174913 -0.0002683154719 0.0002187124268 -0.0003084592562 -4.504154097e-05 -8.908813171e-05 -0.0005606917399 0.0005033898555 -0.0006501174913 -8.908813171e-05 -0.0001568793002 -0.001048951332 7.947234531e-05 -0.001019867252 -8.469680987e-05 -0.00021071855 -7.947234531e-05 9.050189105e-05 -0.0003111072756 0.0001436344899 0.0006190095737 --0.001019867252 -0.0003111072756 0.0003515348668 0.0001435767546 0.0005536021856 --8.469680987e-05 0.0001436344899 0.0001435767546 -5.35795948e-07 3.216094022e-06 --0.00021071855 0.0006190095737 0.0005536021856 3.216094022e-06 2.511217034e-05 --9.25161211e-05 -6.518326856e-05 0.0001014408691 1.560963823e-05 3.431745301e-05 --6.518326856e-05 -4.597723028e-05 7.167933781e-05 1.09380639e-05 2.389177938e-05 -0.0001014408691 7.167933781e-05 -0.0001118309234 -1.696659271e-05 -3.687602954e-05 -1.560963823e-05 1.09380639e-05 -1.696659271e-05 -2.653365196e-06 -5.913908423e-06 -3.431745301e-05 2.389177938e-05 -3.687602954e-05 -5.913908423e-06 -1.344243882e-05 -1.617436857e-05 9.263493762e-06 -1.810326964e-05 -2.390545401e-06 -5.067357082e-06 -9.263493762e-06 6.896211134e-06 -1.144330352e-05 -9.943986927e-07 -9.156369197e-07 --1.810326964e-05 -1.144330352e-05 1.730856726e-05 3.050364276e-06 7.623961465e-06 --2.390545401e-06 -9.943986927e-07 3.050364276e-06 3.291793597e-07 6.3517594e-07 --5.067357082e-06 -9.156369197e-07 7.623961465e-06 6.3517594e-07 1.046134334e-06 --1.723131565e-05 -4.334627482e-05 2.971995703e-05 6.947722923e-06 1.240064409e-05 --4.334627482e-05 -3.034565748e-05 4.010265734e-05 1.435760636e-05 4.421303897e-05 -2.971995703e-05 4.010265734e-05 -6.823980001e-05 -6.846339442e-06 -4.711111816e-06 -6.947722923e-06 1.435760636e-05 -6.846339442e-06 -1.693044449e-06 -2.845506058e-06 -1.240064409e-05 4.421303897e-05 -4.711111816e-06 -2.845506058e-06 -2.722030931e-06 -6.80460206e-05 2.979736094e-05 -7.401853681e-05 -8.73668545e-06 -1.878744678e-05 -2.979736094e-05 2.286748101e-05 -4.086508273e-05 -4.632640475e-07 8.407121093e-06 --7.401853681e-05 -4.086508273e-05 5.965099399e-05 1.202296211e-05 3.35841181e-05 --8.73668545e-06 -4.632640475e-07 1.202296211e-05 9.504719973e-07 1.780340205e-06 --1.878744678e-05 8.407121093e-06 3.35841181e-05 1.780340205e-06 2.682006399e-06 -6.547233611e-06 2.582387506e-06 -7.448383551e-06 -7.702015734e-07 -1.516932854e-06 -2.582387506e-06 2.125863789e-06 -3.957861672e-06 1.004456984e-07 1.387982625e-06 --7.448383551e-06 -3.957861672e-06 5.668209164e-06 1.246682091e-06 3.634241229e-06 --7.702015734e-07 1.004456984e-07 1.246682091e-06 5.604670533e-08 3.293240689e-08 --1.516932854e-06 1.387982625e-06 3.634241229e-06 3.293240689e-08 -2.964425484e-07 --5.170544281e-06 -7.067032898e-06 6.738411189e-06 1.32219389e-06 2.632392787e-06 --7.067032898e-06 -4.922293861e-06 6.86177298e-06 1.971237226e-06 5.756483837e-06 -6.738411189e-06 6.86177298e-06 -1.134480224e-05 -1.316554381e-06 -1.713571259e-06 -1.32219389e-06 1.971237226e-06 -1.316554381e-06 -2.853991272e-07 -5.515105163e-07 -2.632392787e-06 5.756483837e-06 -1.713571259e-06 -5.515105163e-07 -9.121237543e-07 -1.276504663e-05 2.666236656e-06 -1.288454645e-05 -1.258369983e-06 -2.950345084e-06 -2.666236656e-06 2.252107403e-06 -5.166781177e-06 1.068740008e-06 5.310012758e-06 --1.288454645e-05 -5.166781177e-06 6.757546902e-06 1.913409526e-06 6.513125501e-06 --1.258369983e-06 1.068740008e-06 1.913409526e-06 6.47816133e-08 1.651688442e-07 --2.950345084e-06 5.310012758e-06 6.513125501e-06 1.651688442e-07 4.593149293e-07 -1.279668648e-05 4.814325799e-06 -1.375790823e-05 -1.533113758e-06 -3.323282576e-06 -4.814325799e-06 3.783183023e-06 -7.081021004e-06 2.32700015e-07 2.642880092e-06 --1.375790823e-05 -7.081021004e-06 1.011621131e-05 2.200913971e-06 6.472576878e-06 --1.533113758e-06 2.32700015e-07 2.200913971e-06 1.424775168e-07 2.602593465e-07 --3.323282576e-06 2.642880092e-06 6.472576878e-06 2.602593465e-07 3.602883166e-07 -2.647529248e-06 -8.130132907e-07 -2.414807256e-06 -6.868485863e-08 -2.348974483e-07 --8.130132907e-07 -4.216742306e-07 -4.029787934e-08 7.769924671e-07 2.950737878e-06 --2.414807256e-06 -4.029787934e-08 -4.863812331e-07 2.992528882e-07 1.642292472e-06 --6.868485863e-08 7.769924671e-07 2.992528882e-07 -5.077750699e-08 -1.018199713e-07 --2.348974483e-07 2.950737878e-06 1.642292472e-06 -1.018199713e-07 -1.85606237e-07 --0.004525651757 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.008005357363 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.006668863914 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.565586508e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0007678279309 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004327048543 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004225706349 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.242469513e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.388281232e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.741483974e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.508748838e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.675686702e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.224370202e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01021625431 0.1163972928 0.08612680903 0 0 -0.1163972928 0.007395243398 -0.007646348436 0 0 -0.08612680903 -0.007646348436 -0.01188648867 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00138423613 0.05107328965 0.04040227309 0 0 -0.05107328965 0.006562133482 -0.003190726535 0 0 -0.04040227309 -0.003190726535 -0.00614952491 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0009720995 0.01308419066 0.01009429619 0 0 -0.01308419066 0.003542419883 0.003585567359 0 0 -0.01009429619 0.003585567359 0.003170848426 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.938710134e-05 0.002451724653 0.001940310882 0 0 -0.002451724653 -0.0003491553676 -0.0008962485977 0 0 -0.001940310882 -0.0008962485977 -0.0009764801396 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002980780827 0.003392067874 0.002643984407 0 0 -0.003392067874 0.0008978761488 0.0008538645697 0 0 -0.002643984407 0.0008538645697 0.0007360090209 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.400359933e-05 0.000182296213 0.0001471505578 0 0 -0.000182296213 -0.0002044132201 -0.0001866612976 0 0 -0.0001471505578 -0.0001866612976 -0.0001580282997 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.537895411e-05 0.0004241472622 0.0003362283949 0 0 -0.0004241472622 0.0001294912697 8.27645678e-05 0 0 -0.0003362283949 8.27645678e-05 5.711323719e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.715011442e-07 -1.94719083e-07 -4.732295207e-08 0 0 --1.94719083e-07 2.748920082e-05 2.151653876e-05 0 0 --4.732295207e-08 2.151653876e-05 1.676819366e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.681285966e-05 0.0001944411055 0.0001514656015 0 0 -0.0001944411055 1.586333972e-05 2.093496278e-05 0 0 -0.0001514656015 2.093496278e-05 2.010704384e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.409315729e-07 1.186677956e-05 9.067637403e-06 0 0 -1.186677956e-05 -8.328599205e-06 -6.435963574e-06 0 0 -9.067637403e-06 -6.435963574e-06 -4.99141523e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.367374862e-07 2.997182293e-06 2.54514354e-06 0 0 -2.997182293e-06 -1.003040478e-06 -2.943883688e-06 0 0 -2.54514354e-06 -2.943883688e-06 -3.207392161e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.780062295e-07 1.034393727e-05 7.839976244e-06 0 0 -1.034393727e-05 7.329386401e-06 7.183362857e-06 0 0 -7.839976244e-06 7.183362857e-06 6.241229421e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.632052489e-07 1.361982354e-05 1.038538809e-05 0 0 -1.361982354e-05 -1.861784402e-06 -2.348016873e-07 0 0 -1.038538809e-05 -2.348016873e-07 3.416193838e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01490182846 -0.02559349794 -0.01859196456 -0.02816370536 0.01624185736 --0.02559349794 -0.008413173893 0.01914134231 0.08697277619 0.1190818761 --0.01859196456 0.01914134231 0.02628316503 -0.03302353627 0.1117084202 --0.02816370536 0.08697277619 -0.03302353627 0.0112449077 0.008550192801 -0.01624185736 0.1190818761 0.1117084202 0.008550192801 -0.008069642422 --0.004534210343 -0.01842818513 -0.01434080837 -0.01315376289 0.00742568511 --0.01842818513 -0.002412712856 0.005479231856 0.02796789392 0.05340203202 --0.01434080837 0.005479231856 0.007506077285 -0.007033108535 0.04767242769 --0.01315376289 0.02796789392 -0.007033108535 0.01217806409 0.008892064818 -0.00742568511 0.05340203202 0.04767242769 0.008892064818 -0.01065384585 -0.003603158896 -0.01650931312 -0.01300877083 -0.001323538583 -0.004579660696 --0.01650931312 -0.003118157806 -0.00244096579 0.006745119443 0.02806522972 --0.01300877083 -0.00244096579 -0.001916504294 0.005255347887 0.02212633159 --0.001323538583 0.006745119443 0.005255347887 0.0006508668821 0.001553852607 --0.004579660696 0.02806522972 0.02212633159 0.001553852607 0.00520687359 --0.0001310968857 0.0002916938141 0.0002392244897 -0.0006162385803 4.374357868e-05 -0.0002916938141 -0.0001018647757 0.0003961165308 0.001262889654 0.0009386580692 -0.0002392244897 0.0003961165308 0.0005178695876 -0.0008878051693 0.001106313433 --0.0006162385803 0.001262889654 -0.0008878051693 0.0002838266112 0.0003162559679 -4.374357868e-05 0.0009386580692 0.001106313433 0.0003162559679 0.0003048775159 -0.0004524654102 -0.003277435162 -0.002581925565 -0.0001475704266 -0.0004698412082 --0.003277435162 -0.0006178151769 -0.0004845281864 0.001338640716 0.005567590397 --0.002581925565 -0.0004845281864 -0.0003807696484 0.001046572496 0.004387674828 --0.0001475704266 0.001338640716 0.001046572496 7.329701033e-05 0.0001189042119 --0.0004698412082 0.005567590397 0.004387674828 0.0001189042119 0.0002989811675 -0.0001109832259 -8.974097811e-05 -7.098844763e-05 -4.496689616e-05 -0.0001814196028 --8.974097811e-05 -3.122486428e-05 -1.569461346e-05 6.404415188e-05 0.000179987914 --7.098844763e-05 -1.569461346e-05 -8.546091708e-06 1.492778275e-05 0.0001495630691 --4.496689616e-05 6.404415188e-05 1.492778275e-05 4.164672536e-06 6.086707509e-05 --0.0001814196028 0.000179987914 0.0001495630691 6.086707509e-05 0.000297091417 --4.018244449e-06 -0.0002464960501 -0.0001977842709 -3.514732009e-05 3.684121624e-05 --0.0002464960501 -5.653462024e-05 -3.12007086e-05 0.0001287464929 0.000465254139 --0.0001977842709 -3.12007086e-05 -1.907552483e-05 4.794345702e-05 0.0003837869328 --3.514732009e-05 0.0001287464929 4.794345702e-05 4.576743934e-05 1.8584019e-05 -3.684121624e-05 0.000465254139 0.0003837869328 1.8584019e-05 -0.0001096795052 -7.508180942e-05 -0.0001383461892 -0.0001087808617 -2.730743664e-05 -0.0001182473509 --0.0001383461892 -3.847122817e-05 -2.174403662e-05 8.393526417e-05 0.0002604962824 --0.0001087808617 -2.174403662e-05 -1.342319941e-05 3.208212702e-05 0.0002117968841 --2.730743664e-05 8.393526417e-05 3.208212702e-05 -5.525003144e-06 3.101274785e-05 --0.0001182473509 0.0002604962824 0.0002117968841 3.101274785e-05 0.0001860233217 --5.223562784e-06 -0.0001093120964 -8.574886643e-05 5.605080378e-06 1.713654366e-05 --0.0001093120964 -2.028522816e-05 -1.568343996e-05 4.634129322e-05 0.0001857172691 --8.574886643e-05 -1.568343996e-05 -1.220295031e-05 3.541892889e-05 0.0001458784303 -5.605080378e-06 4.634129322e-05 3.541892889e-05 -5.245766808e-06 -1.294256005e-05 -1.713654366e-05 0.0001857172691 0.0001458784303 -1.294256005e-05 -4.297474642e-05 -4.846603178e-06 -9.976985488e-06 -7.879743743e-06 -4.041988534e-06 -7.296601427e-06 --9.976985488e-06 -1.629383968e-06 -4.638829705e-07 6.15437458e-06 1.946479264e-05 --7.879743743e-06 -4.638829705e-07 -1.393950012e-08 1.617224826e-06 1.602650713e-05 --4.041988534e-06 6.15437458e-06 1.617224826e-06 3.182233575e-06 4.818464602e-06 --7.296601427e-06 1.946479264e-05 1.602650713e-05 4.818464602e-06 1.102313742e-05 --1.025785087e-06 7.165243826e-06 5.364178169e-06 -2.900844392e-06 1.245213228e-06 -7.165243826e-06 -9.745764307e-07 1.428224248e-06 2.92986309e-06 -4.966299281e-06 -5.364178169e-06 1.428224248e-06 2.052828883e-06 -6.468822207e-06 -1.625832086e-06 --2.900844392e-06 2.92986309e-06 -6.468822207e-06 1.70899411e-06 1.305005207e-06 -1.245213228e-06 -4.966299281e-06 -1.625832086e-06 1.305005207e-06 -9.298332252e-07 -4.222279389e-06 -1.45285069e-05 -1.13537835e-05 -1.756858895e-06 -6.561822432e-06 --1.45285069e-05 -3.885222906e-06 -1.790890933e-06 1.000785992e-05 2.835737403e-05 --1.13537835e-05 -1.790890933e-06 -8.572870307e-07 2.861447569e-06 2.320141676e-05 --1.756858895e-06 1.000785992e-05 2.861447569e-06 -1.202150107e-06 9.383003796e-07 --6.561822432e-06 2.835737403e-05 2.320141676e-05 9.383003796e-07 1.026032631e-05 --1.327361739e-06 -4.474449805e-06 -3.450442992e-06 7.793458102e-08 2.169124429e-06 --4.474449805e-06 -1.113407162e-06 -1.216095771e-07 4.203833577e-06 9.759822898e-06 --3.450442992e-06 -1.216095771e-07 2.347084636e-07 3.353520212e-07 8.163055753e-06 -7.793458102e-08 4.203833577e-06 3.353520212e-07 -6.646215551e-07 -1.24880113e-06 -2.169124429e-06 9.759822898e-06 8.163055753e-06 -1.24880113e-06 -3.436693948e-06 --0.1340737588 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1069194293 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.018268438 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.005445593727 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0150794148 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007370541692 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003188687269 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007576848098 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008369509576 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0004784952161 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.08762992e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001403458073 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.775963537e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01029396207 0.0116064241 0.0142938817 0 0 -0.0116064241 -0.09516303546 0.02027220421 0 0 -0.0142938817 0.02027220421 -0.1111857232 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.08344437387 -0.0357786218 0.02519026683 0 0 --0.0357786218 -0.04793081221 0.04915004005 0 0 -0.02519026683 0.04915004005 -0.06277264699 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.06143097518 -0.02658931177 0.04396132467 0 0 --0.02658931177 -0.007468385539 0.01533054292 0 0 -0.04396132467 0.01533054292 -0.02368176757 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01360409263 0.004678604531 -0.008410724299 0 0 -0.004678604531 -0.001244143095 -0.001403827861 0 0 --0.008410724299 -0.001403827861 0.001281118189 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.00977611243 -0.004867197219 0.007626731213 0 0 --0.004867197219 -0.001273021151 0.003350126021 0 0 -0.007626731213 0.003350126021 -0.004350993958 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002495865216 0.0006701703678 -0.001437078234 0 0 -0.0006701703678 0.0001740009767 -0.0003179839735 0 0 --0.001437078234 -0.0003179839735 0.0007629376374 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0005019999494 0.0002220408087 -1.747195188e-05 0 0 -0.0002220408087 -0.0003017043035 -0.0001141848787 0 0 --1.747195188e-05 -0.0001141848787 -0.0004538319691 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002572734703 -0.0008725602477 0.001390292229 0 0 --0.0008725602477 -0.0002030171161 0.0004751520342 0 0 -0.001390292229 0.0004751520342 -0.000658155786 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00132870689 0.0003082358593 -0.0005896695593 0 0 -0.0003082358593 0.0001522492906 -9.364178061e-05 0 0 --0.0005896695593 -9.364178061e-05 0.0003280147491 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001591946922 -5.292820754e-05 8.001338175e-05 0 0 --5.292820754e-05 -3.873168197e-05 1.986774118e-05 0 0 -8.001338175e-05 1.986774118e-05 -5.484811734e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.793569184e-05 4.593685125e-05 -2.772481266e-05 0 0 -4.593685125e-05 2.56549691e-06 -2.421120817e-05 0 0 --2.772481266e-05 -2.421120817e-05 -7.345267628e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001905935093 -8.052469991e-05 0.0001103801882 0 0 --8.052469991e-05 -7.864556599e-06 5.056614887e-05 0 0 -0.0001103801882 5.056614887e-05 -4.117909767e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001466140988 3.431989501e-05 -7.154471454e-05 0 0 -3.431989501e-05 1.837117418e-05 -1.298233061e-05 0 0 --7.154471454e-05 -1.298233061e-05 4.525040286e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.1117481762 0.04407362449 -0.03063387964 -0.008913272692 -0.04524645649 -0.04407362449 0.03923533899 -0.005628678036 -0.01135930485 0.01476973105 --0.03063387964 -0.005628678036 0.03931683555 -0.0227241801 -0.005292319044 --0.008913272692 -0.01135930485 -0.0227241801 -0.03730256566 0.006148045741 --0.04524645649 0.01476973105 -0.005292319044 0.006148045741 -0.05253203738 --0.09252035473 0.01127857482 -0.0246569636 -0.02548697585 -0.04706198714 -0.01127857482 -0.06519100849 0.02567472885 -0.01465250779 0.04339380644 --0.0246569636 0.02567472885 -0.04917017199 -0.02102918363 -0.03882361263 --0.02548697585 -0.01465250779 -0.02102918363 -0.02329735988 -0.01007454342 --0.04706198714 0.04339380644 -0.03882361263 -0.01007454342 -0.04744969083 --0.007950616817 -0.007367663267 0.01202793591 0.00218865198 0.004278920467 --0.007367663267 -0.0189917586 0.02285382136 0.00329004808 0.01245263157 -0.01202793591 0.02285382136 -0.03868653567 -0.009241424456 -0.01771704171 -0.00218865198 0.00329004808 -0.009241424456 -0.003141155612 -0.003614910069 -0.004278920467 0.01245263157 -0.01771704171 -0.003614910069 -0.009170272307 --0.01108854812 -0.01018384265 0.01586174233 0.002395108136 0.005354925889 --0.01018384265 -0.005817905646 0.01100682926 0.001806610464 0.003485452233 -0.01586174233 0.01100682926 -0.01577036869 -0.002207528525 -0.00556317605 -0.002395108136 0.001806610464 -0.002207528525 -0.0004366892144 -0.0008856843865 -0.005354925889 0.003485452233 -0.00556317605 -0.0008856843865 -0.002184454146 -0.01104510634 0.007314609208 -0.01130207235 -0.001617176128 -0.003612195715 -0.007314609208 0.003221408746 -0.005005958191 -0.0005324856043 -0.001263157686 --0.01130207235 -0.005005958191 0.008512750126 0.0009978387103 0.001537023768 --0.001617176128 -0.0005324856043 0.0009978387103 4.583915371e-05 -9.766266977e-05 --0.003612195715 -0.001263157686 0.001537023768 -9.766266977e-05 0.0001754182333 --0.004963298781 -0.004028119706 0.006067931232 0.0009520752349 0.002266393172 --0.004028119706 -0.003001823926 0.004190683991 0.0005620415848 0.001657675534 -0.006067931232 0.004190683991 -0.006870603522 -0.001122024101 -0.002212417513 -0.0009520752349 0.0005620415848 -0.001122024101 -0.0002085674572 -0.0002522659603 -0.002266393172 0.001657675534 -0.002212417513 -0.0002522659603 -0.0008400320822 -0.001960356054 0.001766186361 -0.002603173586 -0.0004297577074 -0.001075544715 -0.001766186361 0.0007422805312 -0.00187111426 -0.0004398088954 -0.0003112784866 --0.002603173586 -0.00187111426 0.002079995456 3.758628659e-05 0.0008606282202 --0.0004297577074 -0.0004398088954 3.758628659e-05 -0.0001830104357 0.0001881503707 --0.001075544715 -0.0003112784866 0.0008606282202 0.0001881503707 6.097945943e-05 --0.001201900555 -0.001235340351 0.001931009299 0.0003480356297 0.0007504248568 --0.001235340351 -0.0006831117418 0.00162216749 0.0003649898675 0.0003605230779 -0.001931009299 0.00162216749 -0.00204200375 -0.0002173918345 -0.0008356303301 -0.0003480356297 0.0003649898675 -0.0002173918345 4.236105811e-05 -0.0001767180061 -0.0007504248568 0.0003605230779 -0.0008356303301 -0.0001767180061 -0.0001839880393 -0.0008934977285 0.0005658983837 -0.0009215416842 -0.0001376555919 -0.0002642035174 -0.0005658983837 0.000392729472 -0.0005486555984 -6.399268862e-05 -0.000190572312 --0.0009215416842 -0.0005486555984 0.001004865852 0.0001749464485 0.0002556203957 --0.0001376555919 -6.399268862e-05 0.0001749464485 4.083308325e-05 2.59908557e-05 --0.0002642035174 -0.000190572312 0.0002556203957 2.59908557e-05 8.791228843e-05 --0.0001236994725 -5.164315403e-05 9.898115088e-05 1.423179623e-05 1.565273482e-05 --5.164315403e-05 -9.394332135e-05 4.707488787e-05 -1.366483855e-05 5.923975558e-05 -9.898115088e-05 4.707488787e-05 -0.0001949502285 -6.586818148e-05 -3.514106788e-05 -1.423179623e-05 -1.366483855e-05 -6.586818148e-05 -3.284741844e-05 5.826636257e-06 -1.565273482e-05 5.923975558e-05 -3.514106788e-05 5.826636257e-06 -3.929892943e-05 --0.0001180644586 -8.815427414e-05 0.0001539587485 2.588669609e-05 4.030978263e-05 --8.815427414e-05 -4.06883513e-05 0.0001064275107 2.058826532e-05 1.842121839e-05 -0.0001539587485 0.0001064275107 -0.0001557567965 -2.450877768e-05 -4.596712527e-05 -2.588669609e-05 2.058826532e-05 -2.450877768e-05 -4.650189352e-06 -7.868436314e-06 -4.030978263e-05 1.842121839e-05 -4.596712527e-05 -7.868436314e-06 -1.087943294e-05 -5.923390214e-05 4.069864254e-06 -1.338557624e-05 1.474416906e-06 9.212316658e-06 -4.069864254e-06 2.729665376e-05 2.379106522e-05 1.658863069e-05 -1.308819807e-05 --1.338557624e-05 2.379106522e-05 4.048596313e-05 1.996500208e-05 -1.281105877e-05 -1.474416906e-06 1.658863069e-05 1.996500208e-05 1.188951938e-05 -7.643744291e-06 -9.212316658e-06 -1.308819807e-05 -1.281105877e-05 -7.643744291e-06 5.064441803e-06 -4.842287977e-05 2.845219087e-05 -4.701817835e-05 -7.036126688e-06 -1.277988887e-05 -2.845219087e-05 2.362186185e-05 -2.762615669e-05 -3.307156099e-06 -1.039279633e-05 --4.701817835e-05 -2.762615669e-05 5.905970183e-05 9.760434651e-06 1.337125645e-05 --7.036126688e-06 -3.307156099e-06 9.760434651e-06 1.286206972e-06 2.248293696e-06 --1.277988887e-05 -1.039279633e-05 1.337125645e-05 2.248293696e-06 3.234070716e-06 --0.002175760481 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0008695998984 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.092701411e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002103920351 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -5.947215094e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.245112206e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.179695878e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.683546808e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.131302054e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.51774914e-08 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.468982975e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.282497794e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.037597254e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007841484005 -0.1042577645 -0.08155852644 0 0 --0.1042577645 -0.005265655908 -0.004131311754 0 0 --0.08155852644 -0.004131311754 -0.003241303856 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001369426332 -0.02042776289 -0.01591711807 0 0 --0.02042776289 -0.006678173386 -0.005229356123 0 0 --0.01591711807 -0.005229356123 -0.004094759624 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001958650364 0.00326616022 0.002537949181 0 0 -0.00326616022 -0.001553058717 -0.001214370969 0 0 -0.002537949181 -0.001214370969 -0.0009495054788 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002229489885 0.003787989886 0.002940715238 0 0 -0.003787989886 0.0007344637394 0.0005740669957 0 0 -0.002940715238 0.0005740669957 0.000448678383 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.54648604e-05 -0.001205677899 -0.0009380222046 0 0 --0.001205677899 0.0005860743823 0.000458546683 0 0 --0.0009380222046 0.000458546683 0.0003587568568 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.541096972e-06 -2.287033947e-05 -1.776385576e-05 0 0 --2.287033947e-05 -0.0001290633688 -0.0001009538837 0 0 --1.776385576e-05 -0.0001009538837 -7.896372013e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.164121432e-05 -0.0003416300286 -0.0002657258771 0 0 --0.0003416300286 -0.000148101058 -0.0001158706125 0 0 --0.0002657258771 -0.0001158706125 -9.065131324e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.769593224e-05 0.0002951867246 0.0002293016971 0 0 -0.0002951867246 4.40583936e-06 3.444652824e-06 0 0 -0.0002293016971 3.444652824e-06 2.693048992e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.021977582e-06 -0.0001435346463 -0.000111673493 0 0 --0.0001435346463 4.822766313e-05 3.773450701e-05 0 0 --0.000111673493 3.773450701e-05 2.95234504e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.241233854e-06 7.037991787e-05 5.468057792e-05 0 0 -7.037991787e-05 -1.783673594e-06 -1.394656362e-06 0 0 -5.468057792e-05 -1.394656362e-06 -1.090439289e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.714536818e-06 -7.320003112e-05 -5.697550683e-05 0 0 --7.320003112e-05 -8.854103517e-06 -6.929406233e-06 0 0 --5.697550683e-05 -6.929406233e-06 -5.422937978e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.815326827e-06 3.161568826e-05 2.453114391e-05 0 0 -3.161568826e-05 -1.306129245e-06 -1.020597597e-06 0 0 -2.453114391e-05 -1.020597597e-06 -7.974465125e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.57817519e-06 -2.407587639e-05 -1.875250785e-05 0 0 --2.407587639e-05 3.003622472e-06 2.351456839e-06 0 0 --1.875250785e-05 2.351456839e-06 1.840845551e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.003202987751 0.02462680718 0.01937814071 0.0007939099406 0.003280729298 -0.02462680718 0.004669859357 0.003674507471 -0.01010497391 -0.04175748445 -0.01937814071 0.003674507471 0.002891308734 -0.007951317753 -0.03285778175 -0.0007939099406 -0.01010497391 -0.007951317753 -0.0001142816071 -0.0004722538899 -0.003280729298 -0.04175748445 -0.03285778175 -0.0004722538899 -0.001951527827 --0.001244918215 0.005773355127 0.004542891375 0.0003868999386 0.001598813599 -0.005773355127 0.001099160988 0.0008648799845 -0.002369037305 -0.009789736823 -0.004542891375 0.0008648799845 0.0006805348766 -0.001864128681 -0.00770326797 -0.0003868999386 -0.002369037305 -0.001864128681 -0.0001083896927 -0.0004479063121 -0.001598813599 -0.009789736823 -0.00770326797 -0.0004479063121 -0.001850914597 --3.124005894e-05 3.393047375e-05 2.669901172e-05 1.199671481e-05 4.957485686e-05 -3.393047375e-05 6.672365266e-06 5.250103741e-06 -1.392739226e-05 -5.755311111e-05 -2.669901172e-05 5.250103741e-06 4.131007246e-06 -1.095910027e-05 -4.528703604e-05 -1.199671481e-05 -1.392739226e-05 -1.095910027e-05 -4.588435577e-06 -1.896111102e-05 -4.957485686e-05 -5.755311111e-05 -4.528703604e-05 -1.896111102e-05 -7.835431598e-05 --5.2499021e-05 0.000381782572 0.0003004139529 1.346360331e-05 5.563658555e-05 -0.000381782572 7.242078696e-05 5.698474676e-05 -0.000156655134 -0.0006473568748 -0.0003004139529 5.698474676e-05 4.483880248e-05 -0.0001232674894 -0.0005093867954 -1.346360331e-05 -0.000156655134 -0.0001232674894 -2.241414001e-06 -9.26235208e-06 -5.563658555e-05 -0.0006473568748 -0.0005093867954 -9.26235208e-06 -3.82754663e-05 -4.150772109e-07 9.813962004e-08 7.722752864e-08 -1.70717766e-07 -7.054699247e-07 -9.813962004e-08 1.480937997e-08 1.165468853e-08 -4.019099543e-08 -1.660844055e-07 -7.722752864e-08 1.165468853e-08 9.172008709e-09 -3.162691281e-08 -1.306943746e-07 --1.70717766e-07 -4.019099543e-08 -3.162691281e-08 7.021121585e-08 2.901391152e-07 --7.054699247e-07 -1.660844055e-07 -1.306943746e-07 2.901391152e-07 1.1989638e-06 -9.351506814e-08 1.557251014e-06 1.225356564e-06 -7.011793751e-08 -2.897532961e-07 -1.557251014e-06 2.926635794e-07 2.302857551e-07 -6.389237414e-07 -2.640269207e-06 -1.225356564e-06 2.302857551e-07 1.812030355e-07 -5.027508732e-07 -2.077552552e-06 --7.011793751e-08 -6.389237414e-07 -5.027508732e-07 4.167217302e-08 1.722048498e-07 --2.897532961e-07 -2.640269207e-06 -2.077552552e-06 1.722048498e-07 7.116142052e-07 --4.248710914e-06 1.614663339e-05 1.270533483e-05 1.393776209e-06 5.759598659e-06 -1.614663339e-05 3.080891327e-06 2.424212007e-06 -6.625746253e-06 -2.738002945e-05 -1.270533483e-05 2.424212007e-06 1.907501184e-06 -5.213613525e-06 -2.154457572e-05 -1.393776209e-06 -6.625746253e-06 -5.213613525e-06 -4.298208435e-07 -1.776178739e-06 -5.759598659e-06 -2.738002945e-05 -2.154457572e-05 -1.776178739e-06 -7.339827651e-06 --3.02052735e-07 1.173649616e-05 9.235116298e-06 -1.192598569e-07 -4.928260163e-07 -1.173649616e-05 2.214656958e-06 1.742621276e-06 -4.815544426e-06 -1.989960915e-05 -9.235116298e-06 1.742621276e-06 1.371196067e-06 -3.789214862e-06 -1.565843611e-05 --1.192598569e-07 -4.815544426e-06 -3.789214862e-06 1.477702217e-07 6.106412519e-07 --4.928260163e-07 -1.989960915e-05 -1.565843611e-05 6.106412519e-07 2.523395677e-06 -1.272300969e-07 1.457588573e-06 1.146934953e-06 -8.176505983e-08 -3.378835114e-07 -1.457588573e-06 2.735813868e-07 2.152700085e-07 -5.980259165e-07 -2.471264133e-06 -1.146934953e-06 2.152700085e-07 1.693871688e-07 -4.70569499e-07 -1.944567105e-06 --8.176505983e-08 -5.980259165e-07 -4.70569499e-07 4.556237081e-08 1.882805823e-07 --3.378835114e-07 -2.471264133e-06 -1.944567105e-06 1.882805823e-07 7.780450633e-07 --4.024000412e-07 1.825823955e-06 1.436689746e-06 1.258907243e-07 5.202270161e-07 -1.825823955e-06 3.476871104e-07 2.735790165e-07 -7.492097702e-07 -3.096011345e-06 -1.436689746e-06 2.735790165e-07 2.152667614e-07 -5.895320615e-07 -2.436164107e-06 -1.258907243e-07 -7.492097702e-07 -5.895320615e-07 -3.571431651e-08 -1.475847683e-07 -5.202270161e-07 -3.096011345e-06 -2.436164107e-06 -1.475847683e-07 -6.098748618e-07 --4.538765917e-07 3.718422868e-06 2.925922126e-06 1.077842425e-07 4.454043245e-07 -3.718422868e-06 7.048417247e-07 5.546093362e-07 -1.52575333e-06 -6.304976349e-06 -2.925922126e-06 5.546093362e-07 4.363979953e-07 -1.20057206e-06 -4.961207225e-06 -1.077842425e-07 -1.52575333e-06 -1.20057206e-06 -1.234248835e-08 -5.100372937e-08 -4.454043245e-07 -6.304976349e-06 -4.961207225e-06 -5.100372937e-08 -2.107662843e-07 --1.169126144e-07 2.662800705e-06 2.095282497e-06 -7.394689555e-09 -3.055762831e-08 -2.662800705e-06 5.028958244e-07 3.957075055e-07 -1.092569574e-06 -4.514901188e-06 -2.095282497e-06 3.957075055e-07 3.113655398e-07 -8.597119259e-07 -3.552647343e-06 --7.394689555e-09 -1.092569574e-06 -8.597119259e-07 2.553517974e-08 1.055208137e-07 --3.055762831e-08 -4.514901188e-06 -3.552647343e-06 1.055208137e-07 4.360510575e-07 --1.870533396e-07 1.569442037e-06 1.234949696e-06 4.365764633e-08 1.80409527e-07 -1.569442037e-06 2.974539369e-07 2.340534423e-07 -6.439768548e-07 -2.661150213e-06 -1.234949696e-06 2.340534423e-07 1.841663769e-07 -5.067271366e-07 -2.093983685e-06 -4.365764633e-08 -6.439768548e-07 -5.067271366e-07 -4.463641165e-09 -1.844541703e-08 -1.80409527e-07 -2.661150213e-06 -2.093983685e-06 -1.844541703e-08 -7.622328872e-08 --0.02707805619 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002474403176 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.004450567888 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.688549317e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007684223312 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0003276457311 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0004548891645 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.331380877e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.378665467e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.875645066e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.42771805e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.651284125e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.049801549e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002245323004 -0.1096280452 -0.07244526592 0 0 --0.1096280452 -0.01824556177 -0.01428161017 0 0 --0.07244526592 -0.01428161017 -0.0324288347 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009297422467 -0.05466029243 -0.0476526385 0 0 --0.05466029243 -0.005091884148 0.006162443671 0 0 --0.0476526385 0.006162443671 0.01215605894 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001369241454 -0.01331367476 -0.01055814423 0 0 --0.01331367476 -0.003409913264 -0.003317737182 0 0 --0.01055814423 -0.003317737182 -0.002629494317 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.6623196e-05 -0.002453389264 -0.001943637835 0 0 --0.002453389264 0.0003501575245 0.0008982519774 0 0 --0.001943637835 0.0008982519774 0.0009804845472 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0002591351001 -0.00335752665 -0.002574173373 0 0 --0.00335752665 -0.0009251632713 -0.0009090148738 0 0 --0.002574173373 -0.0009090148738 -0.0008474739083 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.314021071e-06 -0.0001437033166 -6.915166992e-05 0 0 --0.0001437033166 0.000165397099 0.0001078060183 0 0 --6.915166992e-05 0.0001078060183 -1.345694684e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001272663588 -0.0004517573022 -0.0003920272718 0 0 --0.0004517573022 -0.0001290996683 -8.197313765e-05 0 0 --0.0003920272718 -8.197313765e-05 -5.551374912e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001088024566 -4.761397633e-05 -9.657572162e-05 0 0 --4.761397633e-05 -8.942379044e-06 1.596734355e-05 0 0 --9.657572162e-05 1.596734355e-05 5.898825933e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.615515618e-05 -0.0002317706561 -0.0002269112444 0 0 --0.0002317706561 4.9479195e-07 1.212592644e-05 0 0 --0.0002269112444 1.212592644e-05 4.671124682e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.529735567e-05 -3.099368621e-05 -4.772353439e-05 0 0 --3.099368621e-05 1.519281823e-05 2.030876958e-05 0 0 --4.772353439e-05 2.030876958e-05 3.302879948e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.353429245e-05 -1.061712877e-05 -1.794510101e-05 0 0 --1.061712877e-05 1.671418568e-06 4.294695625e-06 0 0 --1.794510101e-05 4.294695625e-06 5.937423135e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.514603847e-05 -1.888692327e-05 -2.51057119e-05 0 0 --1.888692327e-05 -5.775148749e-06 -4.042173246e-06 0 0 --2.51057119e-05 -4.042173246e-06 1.072669988e-07 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.500955674e-05 -2.261134893e-05 -2.855760972e-05 0 0 --2.261134893e-05 4.026770341e-06 4.610337282e-06 0 0 --2.855760972e-05 4.610337282e-06 8.50153816e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01747446608 0.0127930071 -0.007279460497 0.01707854761 -0.001713900703 -0.0127930071 0.009377374069 -0.01719260444 -0.09239862961 -0.1119719893 --0.007279460497 -0.01719260444 -0.0223445853 0.02205716174 -0.09733838925 -0.01707854761 -0.09239862961 0.02205716174 -0.02199043608 0.005531577595 --0.001713900703 -0.1119719893 -0.09733838925 0.005531577595 -0.01038419712 -0.004655284834 0.01773121694 0.01293230355 0.01254059304 -0.006622586299 -0.01773121694 0.004357252158 -0.001549381546 -0.02643567818 -0.05540919247 -0.01293230355 -0.001549381546 0.0004360216039 0.01012968882 -0.05172886261 -0.01254059304 -0.02643567818 0.01012968882 -0.01100254746 -0.01043202726 --0.006622586299 -0.05540919247 -0.05172886261 -0.01043202726 0.01267124322 --0.003603081952 0.01651441711 0.01301908631 0.001328506309 0.004573150587 -0.01651441711 0.00301004511 0.002222465503 -0.006847033731 -0.02793174928 -0.01301908631 0.002222465503 0.001474906066 -0.005461320886 -0.02185656208 -0.001328506309 -0.006847033731 -0.005461320886 -0.0007468612308 -0.001428127526 -0.004573150587 -0.02793174928 -0.02185656208 -0.001428127526 -0.005371537364 -0.0001311296615 -0.0002917580821 -0.00023935403 0.000616192601 -4.368404053e-05 --0.0002917580821 9.9971251e-05 -0.0003999413988 -0.001264751519 -0.0009362225026 --0.00023935403 -0.0003999413988 -0.0005255957136 0.0008840443923 -0.00110139384 -0.000616192601 -0.001264751519 0.0008840443923 -0.0002856488674 -0.0003138725137 --4.368404053e-05 -0.0009362225026 -0.00110139384 -0.0003138725137 -0.000307994989 --0.0004487086766 0.003260677323 0.002548057091 0.0001332483117 0.0004886035213 -0.003260677323 0.0005815208345 0.0004111753157 -0.001382020328 -0.005510751399 -0.002548057091 0.0004111753157 0.0002325194449 -0.001134245066 -0.004272800103 -0.0001332483117 -0.001382020328 -0.001134245066 -0.0001223113222 -5.468398577e-05 -0.0004886035213 -0.005510751399 -0.004272800103 -5.468398577e-05 -0.0003831247009 --0.0001039800375 5.567675116e-05 2.143702557e-06 1.554452854e-05 0.0002199750595 -5.567675116e-05 1.850743073e-05 -1.00078642e-05 -9.324451762e-05 -0.0001417239984 -2.143702557e-06 -1.00078642e-05 -4.339971598e-05 -7.394271577e-05 -7.223039334e-05 -1.554452854e-05 -9.324451762e-05 -7.394271577e-05 -4.697951028e-05 -4.762555313e-06 -0.0002199750595 -0.0001417239984 -7.223039334e-05 -4.762555313e-06 -0.0003706107226 -9.625883616e-06 0.0002167418987 0.000137648428 9.195009836e-06 -2.830701402e-06 -0.0002167418987 9.542566019e-05 0.0001098024289 -0.0001059608932 -0.0004951141522 -0.000137648428 0.0001098024289 0.0001779355205 -1.892273684e-06 -0.0004441359671 -9.195009836e-06 -0.0001059608932 -1.892273684e-06 -3.664874855e-05 -3.053355953e-05 --2.830701402e-06 -0.0004951141522 -0.0004441359671 -3.053355953e-05 0.0001253387179 --7.165169677e-05 0.0001194047537 7.049839154e-05 1.071577446e-05 0.0001399882705 -0.0001194047537 7.714388991e-05 9.99045501e-05 -5.598944673e-05 -0.0002971154577 -7.049839154e-05 9.99045501e-05 0.0001713917899 2.439842123e-05 -0.0002858069251 -1.071577446e-05 -5.598944673e-05 2.439842123e-05 2.427695681e-05 -5.558471355e-05 -0.0001399882705 -0.0002971154577 -0.0002858069251 -5.558471355e-05 -0.0001538249967 -7.163126514e-06 9.87070523e-05 6.431537373e-05 -1.488481565e-05 -4.976572951e-06 -9.87070523e-05 4.00206712e-05 5.556999538e-05 -3.254646628e-05 -0.0002037937543 -6.431537373e-05 5.556999538e-05 9.281615469e-05 -7.538747308e-06 -0.000182412103 --1.488481565e-05 -3.254646628e-05 -7.538747308e-06 1.396098419e-05 1.52228986e-06 --4.976572951e-06 -0.0002037937543 -0.000182412103 1.52228986e-06 5.793967103e-05 --3.336782805e-06 1.945861003e-06 -8.351734603e-06 -2.964872806e-06 1.647887289e-05 -1.945861003e-06 1.250315903e-05 2.244048995e-05 3.594518979e-07 -2.80008411e-05 --8.351734603e-06 2.244048995e-05 4.443009228e-05 1.154761596e-05 -3.327838193e-05 --2.964872806e-06 3.594518979e-07 1.154761596e-05 -3.706913389e-07 -8.502789954e-06 -1.647887289e-05 -2.80008411e-05 -3.327838193e-05 -8.502789954e-06 -6.195092116e-06 -2.496107715e-06 -1.476410249e-05 -2.072212846e-05 -3.708324682e-06 7.415555022e-06 --1.476410249e-05 7.197250972e-06 1.114825248e-05 -6.934959147e-07 2.035707688e-06 --2.072212846e-05 1.114825248e-05 2.336514306e-05 1.098863008e-05 -4.297037431e-06 --3.708324682e-06 -6.934959147e-07 1.098863008e-05 -2.831301799e-06 1.656688223e-07 -7.415555022e-06 2.035707688e-06 -4.297037431e-06 1.656688223e-07 -9.973406881e-07 --2.935092525e-06 7.864447615e-06 -2.114822547e-06 -4.040435183e-06 1.415854591e-05 -7.864447615e-06 9.573735299e-06 1.328777226e-05 -7.823142016e-06 -3.122021106e-05 --2.114822547e-06 1.328777226e-05 2.409328811e-05 1.553982218e-06 -2.898736097e-05 --4.040435183e-06 -7.823142016e-06 1.553982218e-06 4.331545551e-07 6.938294015e-08 -1.415854591e-05 -3.122021106e-05 -2.898736097e-05 6.938294015e-08 -1.158078346e-05 -2.458163803e-06 -1.5541219e-06 -8.733756743e-06 -5.339034067e-06 4.725104039e-06 --1.5541219e-06 9.549454926e-06 1.717142938e-05 9.50162502e-07 -1.651366661e-05 --8.733756743e-06 1.717142938e-05 3.422412385e-05 1.008119533e-05 -2.181299491e-05 --5.339034067e-06 9.50162502e-07 1.008119533e-05 3.029800551e-06 -1.850533497e-06 -4.725104039e-06 -1.651366661e-05 -2.181299491e-05 -1.850533497e-06 7.498067378e-06 --0.0228524152 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.007165918729 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00333542765 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.000441016238 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.342773767e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001368872714 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.793831287e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -7.345454088e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.12691288e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.110150329e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.034592792e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.182529682e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.066822e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.00545943886 -0.0006060013554 0.005417310027 0 0 --0.0006060013554 -0.0314659321 -0.04836875995 0 0 -0.005417310027 -0.04836875995 -0.06698403655 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0145469718 0.001186524487 -0.007461380153 0 0 -0.001186524487 -0.002168084908 -0.001295682853 0 0 --0.007461380153 -0.001295682853 0.003618619116 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.489975309e-05 0.0004411255868 0.0003656636631 0 0 -0.0004411255868 -0.0004817359163 -0.0006780151524 0 0 -0.0003656636631 -0.0006780151524 -0.0007728813812 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0002343415111 -0.0002239891653 6.886097714e-06 0 0 --0.0002239891653 0.0003462225595 0.0004283665249 0 0 -6.886097714e-06 0.0004283665249 0.0003173007209 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.461012702e-05 6.014874087e-05 0.0001292099305 0 0 -6.014874087e-05 -3.804933357e-05 -8.59240109e-05 0 0 -0.0001292099305 -8.59240109e-05 -0.0001918956302 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.0997765e-05 3.77038096e-05 8.158084812e-05 0 0 -3.77038096e-05 -1.352255255e-05 -4.562973038e-05 0 0 -8.158084812e-05 -4.562973038e-05 -0.0001292054032 0 0 -0 0 0 0 0 -0 0 0 0 0 -6.858367921e-05 -4.496591012e-05 -6.001432348e-05 0 0 --4.496591012e-05 6.419408005e-07 1.075874291e-06 0 0 --6.001432348e-05 1.075874291e-06 1.726689128e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001211403711 -7.313409714e-05 -0.00012282512 0 0 --7.313409714e-05 3.208362581e-05 5.764567752e-05 0 0 --0.00012282512 5.764567752e-05 0.0001019593256 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.147272106e-05 -4.413475343e-05 -8.781052289e-05 0 0 --4.413475343e-05 1.962164229e-05 3.917435784e-05 0 0 --8.781052289e-05 3.917435784e-05 7.819925885e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.962015375e-05 -2.342447247e-05 -3.901999213e-05 0 0 --2.342447247e-05 9.427357681e-06 1.691314967e-05 0 0 --3.901999213e-05 1.691314967e-05 2.985721905e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.295642979e-05 -1.178317349e-05 -1.820894528e-05 0 0 --1.178317349e-05 1.064503671e-06 1.885973662e-06 0 0 --1.820894528e-05 1.885973662e-06 3.275172628e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.612756015e-05 -1.188619752e-05 -2.0568976e-05 0 0 --1.188619752e-05 2.252214751e-06 4.180844019e-06 0 0 --2.0568976e-05 4.180844019e-06 7.699890665e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -2.44279375e-05 -1.178524782e-05 -2.041212429e-05 0 0 --1.178524782e-05 3.002324349e-06 5.553448756e-06 0 0 --2.041212429e-05 5.553448756e-06 1.018416415e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.006715658158 -0.04007306073 -0.04039282427 -0.03020484216 0.02540342958 --0.04007306073 0.003039623605 0.004608428215 -0.01741309045 0.02335384781 --0.04039282427 0.004608428215 0.006211927364 -0.01651352044 0.02272231321 --0.03020484216 -0.01741309045 -0.01651352044 -0.02637363885 0.02803680828 -0.02540342958 0.02335384781 0.02272231321 0.02803680828 -0.028191594 -0.002233324314 0.00162083298 -0.003349288914 0.0004965783714 0.001082241075 -0.00162083298 -0.0111556888 -0.01178644979 -0.006432432086 0.005614479101 --0.003349288914 -0.01178644979 -0.002074842012 -0.005898104219 0.002040542003 -0.0004965783714 -0.006432432086 -0.005898104219 -0.003631268203 0.002900611569 -0.001082241075 0.005614479101 0.002040542003 0.002900611569 -0.001366546355 -4.10905806e-06 0.0002959703625 0.0005906024825 0.0002847339201 -0.0003727360576 -0.0002959703625 0.0008970782073 0.0007340396261 0.0005615201984 -0.0006822886626 -0.0005906024825 0.0007340396261 -0.0006971987214 8.894222164e-05 -8.381741107e-06 -0.0002847339201 0.0005615201984 8.894222164e-05 0.0002456966014 -0.0002700786261 --0.0003727360576 -0.0006822886626 -8.381741107e-06 -0.0002700786261 0.0002859259666 -2.425901275e-06 1.689907813e-05 2.017281603e-05 1.379771133e-05 -1.238196708e-05 -1.689907813e-05 0.0001149053013 0.0001498976677 9.741433632e-05 -9.40938462e-05 -2.017281603e-05 0.0001498976677 0.0001365529967 0.0001104153193 -7.68669337e-05 -1.379771133e-05 9.741433632e-05 0.0001104153193 7.787827158e-05 -6.680990625e-05 --1.238196708e-05 -9.40938462e-05 -7.68669337e-05 -6.680990625e-05 4.136780236e-05 -4.268924336e-05 3.775009287e-05 1.120899154e-06 2.666688544e-05 -3.006243891e-05 -3.775009287e-05 3.302257615e-05 -6.637720996e-06 2.038835691e-05 -2.195176026e-05 -1.120899154e-06 -6.637720996e-06 -0.0001617168568 -6.700034987e-05 9.742645627e-05 -2.666688544e-05 2.038835691e-05 -6.700034987e-05 -1.167862397e-05 2.232998082e-05 --3.006243891e-05 -2.195176026e-05 9.742645627e-05 2.232998082e-05 -3.846830049e-05 --9.200289036e-06 -2.367267606e-05 -4.975545627e-05 -2.092594872e-05 4.471577937e-05 --2.367267606e-05 -8.365668783e-06 -1.725773947e-05 -1.864427526e-05 2.759990753e-05 --4.975545627e-05 -1.725773947e-05 -3.558674261e-05 -3.896880088e-05 5.746831746e-05 --2.092594872e-05 -1.864427526e-05 -3.896880088e-05 -2.401667613e-05 4.312069286e-05 -4.471577937e-05 2.759990753e-05 5.746831746e-05 4.312069286e-05 -7.177021294e-05 --8.93916917e-06 -6.333343756e-05 -6.981881821e-05 -4.811294674e-05 4.399075808e-05 --6.333343756e-05 9.300112709e-05 0.0001472526091 4.612981226e-05 -4.711510991e-05 --6.981881821e-05 0.0001472526091 0.000215332756 8.280780211e-05 -8.156392267e-05 --4.811294674e-05 4.612981226e-05 8.280780211e-05 1.752567662e-05 -1.955158418e-05 -4.399075808e-05 -4.711510991e-05 -8.156392267e-05 -1.955158418e-05 2.114669864e-05 -1.193177628e-05 -3.465336977e-05 -6.412630108e-05 -2.994497567e-05 2.747086584e-05 --3.465336977e-05 6.342464201e-05 0.0001214582875 4.678119082e-05 -4.790714335e-05 --6.412630108e-05 0.0001214582875 0.0002318794176 9.098576273e-05 -9.215586987e-05 --2.994497567e-05 4.678119082e-05 9.098576273e-05 3.175889273e-05 -3.452414864e-05 -2.747086584e-05 -4.790714335e-05 -9.215586987e-05 -3.452414864e-05 3.594635186e-05 -1.856242143e-06 -1.139430372e-05 -2.214919743e-05 -9.861145879e-06 1.253451053e-05 --1.139430372e-05 2.144430103e-05 4.243715849e-05 1.482510407e-05 -1.902879192e-05 --2.214919743e-05 4.243715849e-05 8.394290866e-05 2.952692478e-05 -3.78876577e-05 --9.861145879e-06 1.482510407e-05 2.952692478e-05 9.311493288e-06 -1.200981048e-05 -1.253451053e-05 -1.902879192e-05 -3.78876577e-05 -1.200981048e-05 1.54861028e-05 --1.892555319e-06 -1.236582819e-05 -1.561664253e-05 -9.613382416e-06 1.058702382e-05 --1.236582819e-05 1.896929245e-05 3.152582446e-05 9.804252641e-06 -1.138672592e-05 --1.561664253e-05 3.152582446e-05 4.99476446e-05 1.789147377e-05 -2.049271919e-05 --9.613382416e-06 9.804252641e-06 1.789147377e-05 4.024275935e-06 -4.860934739e-06 -1.058702382e-05 -1.138672592e-05 -2.049271919e-05 -4.860934739e-06 5.82927064e-06 -1.612850708e-06 -1.321450559e-05 -2.019930113e-05 -1.074321781e-05 1.020909902e-05 --1.321450559e-05 1.099351117e-05 1.943899096e-05 3.534742843e-06 -2.979587995e-06 --2.019930113e-05 1.943899096e-05 3.366973461e-05 7.691357712e-06 -6.739275888e-06 --1.074321781e-05 3.534742843e-06 7.691357712e-06 -1.81881433e-06 2.057924272e-06 -1.020909902e-05 -2.979587995e-06 -6.739275888e-06 2.057924272e-06 -2.270242847e-06 -1.724898409e-06 -1.003107434e-05 -1.679603961e-05 -8.328648802e-06 8.49806676e-06 --1.003107434e-05 8.60493323e-06 1.584011055e-05 3.104908416e-06 -2.991193276e-06 --1.679603961e-05 1.584011055e-05 2.88792067e-05 6.504154335e-06 -6.345394485e-06 --8.328648802e-06 3.104908416e-06 6.504154335e-06 -1.104233982e-06 1.287919194e-06 -8.49806676e-06 -2.991193276e-06 -6.345394485e-06 1.287919194e-06 -1.479249475e-06 -4.107220341e-07 -8.789342875e-06 -1.361508222e-05 -7.165110699e-06 7.730136658e-06 --8.789342875e-06 1.300090864e-05 2.315234714e-05 7.348659255e-06 -8.380701311e-06 --1.361508222e-05 2.315234714e-05 4.047998432e-05 1.389583531e-05 -1.568485135e-05 --7.165110699e-06 7.348659255e-06 1.389583531e-05 3.28114146e-06 -3.917199051e-06 -7.730136658e-06 -8.380701311e-06 -1.568485135e-05 -3.917199051e-06 4.63199935e-06 -0.06843398822 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01016569136 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001369795879 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002043568973 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006952945527 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.096006198e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -4.818373004e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.67625877e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.490091322e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.093615763e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -9.996085295e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.218389702e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.39578755e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04191585399 0.005303896232 -0.008273108515 0 0 -0.005303896232 0.007883005779 -0.01229557546 0 0 --0.008273108515 -0.01229557546 0.01917811302 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.02988209926 0.01147549427 -0.01789835584 0 0 -0.01147549427 0.004303564364 -0.006712223873 0 0 --0.01789835584 -0.006712223873 0.01046898463 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002416277356 -0.0007531514092 0.001175217737 0 0 --0.0007531514092 -0.000234321186 0.0003656288057 0 0 -0.001175217737 0.0003656288057 -0.0005705177838 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.001136200635 0.0005607969437 -0.0008747900312 0 0 -0.0005607969437 0.000244576668 -0.0003815330024 0 0 --0.0008747900312 -0.0003815330024 0.0005951811787 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0006530494882 -0.0002031035848 0.0003166497376 0 0 --0.0002031035848 -6.303319623e-05 9.827423597e-05 0 0 -0.0003166497376 9.827423597e-05 -0.0001532180526 0 0 -0 0 0 0 0 -0 0 0 0 0 -8.628345838e-06 2.956797821e-06 -4.600265298e-06 0 0 -2.956797821e-06 1.010795726e-06 -1.572416647e-06 0 0 --4.600265298e-06 -1.572416647e-06 2.446069407e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001659754629 6.086588507e-05 -9.491170706e-05 0 0 -6.086588507e-05 2.203554636e-05 -3.436013861e-05 0 0 --9.491170706e-05 -3.436013861e-05 5.357793265e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --8.18225453e-05 -1.916204472e-05 2.989750183e-05 0 0 --1.916204472e-05 -3.810419354e-06 5.944688169e-06 0 0 -2.989750183e-05 5.944688169e-06 -9.274390155e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --6.026860884e-05 -1.799653942e-05 2.805990039e-05 0 0 --1.799653942e-05 -5.330945804e-06 8.31217912e-06 0 0 -2.805990039e-05 8.31217912e-06 -1.296061073e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.157166241e-06 1.148716157e-06 -1.791587998e-06 0 0 -1.148716157e-06 8.693579904e-07 -1.356347794e-06 0 0 --1.791587998e-06 -1.356347794e-06 2.1161354e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.046870142e-06 2.861019804e-06 -4.462470714e-06 0 0 -2.861019804e-06 1.750315882e-06 -2.729718355e-06 0 0 --4.462470714e-06 -2.729718355e-06 4.257152798e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.137896109e-05 -5.228475164e-06 8.156423964e-06 0 0 --5.228475164e-06 -1.139713631e-06 1.777889858e-06 0 0 -8.156423964e-06 1.777889858e-06 -2.773409237e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.351140964e-05 -3.34254841e-06 5.213003963e-06 0 0 --3.34254841e-06 -7.450257002e-07 1.161967263e-06 0 0 -5.213003963e-06 1.161967263e-06 -1.8122434e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.04984533952 -0.01966392831 0.03067127758 0.002218650584 0.004830238839 --0.01966392831 -0.003457092706 0.005392282723 -0.0008207792887 -0.001786911457 -0.03067127758 0.005392282723 -0.008410741462 0.001280229703 0.00278717696 -0.002218650584 -0.0008207792887 0.001280229703 0.0005701600784 0.001241294321 -0.004830238839 -0.001786911457 0.00278717696 0.001241294321 0.002702419285 -0.00373870852 0.006703468928 -0.01045589633 -0.002228541091 -0.004851746569 -0.006703468928 0.00745610763 -0.01162984167 -0.002196059393 -0.004781034316 --0.01045589633 -0.01162984167 0.01813992287 0.003425355915 0.007457332085 --0.002228541091 -0.002196059393 0.003425355915 0.0006185775312 0.001346703682 --0.004851746569 -0.004781034316 0.007457332085 0.001346703682 0.002931905405 -0.001566047102 0.001151799337 -0.001796546583 -0.0002803121867 -0.0006102665968 -0.001151799337 0.0008436297907 -0.001315871751 -0.0002047850345 -0.0004458367444 --0.001796546583 -0.001315871751 0.002052462448 0.0003194183565 0.0006954045273 --0.0002803121867 -0.0002047850345 0.0003194183565 4.962997655e-05 0.0001080492427 --0.0006102665968 -0.0004458367444 0.0006954045273 0.0001080492427 0.0002352336162 --0.0009964523107 -0.0004612549173 0.0007194532987 7.123320656e-05 0.0001550819644 --0.0004612549173 -0.000162922678 0.0002541225289 1.302064411e-05 2.834730116e-05 -0.0007194532987 0.0002541225289 -0.0003963736693 -2.030926529e-05 -4.421539016e-05 -7.123320656e-05 1.302064411e-05 -2.030926529e-05 2.777209949e-06 6.046258058e-06 -0.0001550819644 2.834730116e-05 -4.421539016e-05 6.046258058e-06 1.316329596e-05 -9.210104389e-05 6.508512894e-05 -0.0001015180967 -1.543892046e-05 -3.361198309e-05 -6.508512894e-05 4.596242091e-05 -7.169099249e-05 -1.08978729e-05 -2.372569497e-05 --0.0001015180967 -7.169099249e-05 0.0001118217514 1.699821962e-05 3.700672391e-05 --1.543892046e-05 -1.08978729e-05 1.699821962e-05 2.58315398e-06 5.623769308e-06 --3.361198309e-05 -2.372569497e-05 3.700672391e-05 5.623769308e-06 1.224347502e-05 --1.626788364e-05 -1.082074478e-05 1.687791308e-05 2.460663338e-06 5.357110378e-06 --1.082074478e-05 -7.188874714e-06 1.121301777e-05 1.633322434e-06 3.555906126e-06 -1.687791308e-05 1.121301777e-05 -1.74897703e-05 -2.547613403e-06 -5.546408914e-06 -2.460663338e-06 1.633322434e-06 -2.547613403e-06 -3.708515327e-07 -8.073807897e-07 -5.357110378e-06 3.555906126e-06 -5.546408914e-06 -8.073807897e-07 -1.757748539e-06 -2.148002657e-05 2.719964143e-05 -4.242529186e-05 -8.341499132e-06 -1.816024275e-05 -2.719964143e-05 2.726476615e-05 -4.252686934e-05 -7.731860109e-06 -1.683300952e-05 --4.242529186e-05 -4.252686934e-05 6.633229883e-05 1.205995297e-05 2.625568754e-05 --8.341499132e-06 -7.731860109e-06 1.205995297e-05 2.122865292e-06 4.621684797e-06 --1.816024275e-05 -1.683300952e-05 2.625568754e-05 4.621684797e-06 1.006185858e-05 --6.774396786e-05 -4.15338571e-05 6.478342051e-05 8.855945307e-06 1.92802728e-05 --4.15338571e-05 -2.508213797e-05 3.912246145e-05 5.278808473e-06 1.149248806e-05 -6.478342051e-05 3.912246145e-05 -6.102219006e-05 -8.233747252e-06 -1.792568199e-05 -8.855945307e-06 5.278808473e-06 -8.233747252e-06 -1.098242219e-06 -2.390981457e-06 -1.92802728e-05 1.149248806e-05 -1.792568199e-05 -2.390981457e-06 -5.205402076e-06 --6.674463708e-06 -4.039976079e-06 6.301448598e-06 8.519666333e-07 1.854816366e-06 --4.039976079e-06 -2.399445176e-06 3.742591664e-06 4.975802182e-07 1.083281508e-06 -6.301448598e-06 3.742591664e-06 -5.837596332e-06 -7.761125923e-07 -1.689674125e-06 -8.519666333e-07 4.975802182e-07 -7.761125923e-07 -1.016090761e-07 -2.212129892e-07 -1.854816366e-06 1.083281508e-06 -1.689674125e-06 -2.212129892e-07 -4.816025148e-07 -5.572944323e-06 5.241208944e-06 -8.175100936e-06 -1.448084615e-06 -3.152619803e-06 -5.241208944e-06 4.57460675e-06 -7.135351997e-06 -1.222027455e-06 -2.660472493e-06 --8.175100936e-06 -7.135351997e-06 1.112953548e-05 1.906086443e-06 4.149735366e-06 --1.448084615e-06 -1.222027455e-06 1.906086443e-06 3.211134437e-07 6.990952846e-07 --3.152619803e-06 -2.660472493e-06 4.149735366e-06 6.990952846e-07 1.521998616e-06 --1.231117004e-05 -6.384659524e-06 9.958624323e-06 1.150585741e-06 2.50494076e-06 --6.384659524e-06 -2.956949127e-06 4.61217184e-06 4.570133215e-07 9.949635914e-07 -9.958624323e-06 4.61217184e-06 -7.193944897e-06 -7.128374663e-07 -1.551918275e-06 -1.150585741e-06 4.570133215e-07 -7.128374663e-07 -5.243912494e-08 -1.141651149e-07 -2.50494076e-06 9.949635914e-07 -1.551918275e-06 -1.141651149e-07 -2.48548645e-07 --1.267977387e-05 -7.477126504e-06 1.166262573e-05 1.540508448e-06 3.353840205e-06 --7.477126504e-06 -4.286078848e-06 6.685313498e-06 8.598695595e-07 1.872021097e-06 -1.166262573e-05 6.685313498e-06 -1.042757685e-05 -1.341202045e-06 -2.919929535e-06 -1.540508448e-06 8.598695595e-07 -1.341202045e-06 -1.680126966e-07 -3.657801602e-07 -3.353840205e-06 1.872021097e-06 -2.919929535e-06 -3.657801602e-07 -7.963393741e-07 --2.460475908e-06 -7.564287463e-07 1.17985756e-06 2.502721229e-08 5.448792135e-08 --7.564287463e-07 1.242202937e-07 -1.93755563e-07 -1.330156123e-07 -2.895876654e-07 -1.17985756e-06 -1.93755563e-07 3.022148562e-07 2.074742484e-07 4.516912128e-07 -2.502721229e-08 -1.330156123e-07 2.074742484e-07 5.524114815e-08 1.202653883e-07 -5.448792135e-08 -2.895876654e-07 4.516912128e-07 1.202653883e-07 2.618295258e-07 -0.03160370795 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005530954187 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002218296026 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.877037191e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --5.944003625e-07 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001050591232 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.231852957e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.57385039e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.990384235e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.134161092e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.151520643e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.132697083e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --1.027417175e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007970931308 -0.006769247639 -0.01368154311 0 0 --0.006769247639 0.01085031837 0.0219279586 0 0 --0.01368154311 0.0219279586 0.04431532337 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007913186337 0.003587002774 0.007250365415 0 0 -0.003587002774 -0.001470249335 -0.002971717136 0 0 -0.007250365415 -0.002971717136 -0.006006534034 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0003971419544 0.0002294841062 0.0004638480378 0 0 -0.0002294841062 -0.0001325066197 -0.0002678301771 0 0 -0.0004638480378 -0.0002678301771 -0.0005413541091 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.763905332e-06 1.664611041e-06 3.326953583e-06 0 0 -1.664611041e-06 -1.002156889e-06 -2.003379712e-06 0 0 -3.326953583e-06 -2.003379712e-06 -4.004407582e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -3.894298256e-05 -3.454122315e-05 -6.981103448e-05 0 0 --3.454122315e-05 2.728712246e-05 5.515030402e-05 0 0 --6.981103448e-05 5.515030402e-05 0.0001114648874 0 0 -0 0 0 0 0 -0 0 0 0 0 -1.93176204e-05 -3.859289639e-05 -7.799888787e-05 0 0 --3.859289639e-05 3.901612115e-05 7.885527932e-05 0 0 --7.799888787e-05 7.885527932e-05 0.0001593739944 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.18874047e-05 2.761004004e-05 5.579887685e-05 0 0 -2.761004004e-05 -3.916013483e-07 -7.914301508e-07 0 0 -5.579887685e-05 -7.914301508e-07 -1.599488066e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001084309554 4.780869541e-05 9.662304458e-05 0 0 -4.780869541e-05 -1.854682178e-05 -3.74838823e-05 0 0 -9.662304458e-05 -3.74838823e-05 -7.575645299e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --7.934229651e-05 3.732955057e-05 7.544564289e-05 0 0 -3.732955057e-05 -1.635813167e-05 -3.306088923e-05 0 0 -7.544564289e-05 -3.306088923e-05 -6.681829066e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --4.49564241e-05 1.912690665e-05 3.865589698e-05 0 0 -1.912690665e-05 -6.86421903e-06 -1.387280601e-05 0 0 -3.865589698e-05 -1.387280601e-05 -2.803738425e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.377102994e-05 7.619946475e-06 1.539995747e-05 0 0 -7.619946475e-06 -6.683780908e-07 -1.350811937e-06 0 0 -1.539995747e-05 -1.350811937e-06 -2.730030974e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.436803224e-05 8.542985996e-06 1.726573566e-05 0 0 -8.542985996e-06 -1.554237652e-06 -3.141189611e-06 0 0 -1.726573566e-05 -3.141189611e-06 -6.34849642e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --2.41463515e-05 8.99152539e-06 1.817222163e-05 0 0 -8.99152539e-06 -2.164985939e-06 -4.375535594e-06 0 0 -1.817222163e-05 -4.375535594e-06 -8.843157544e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002572637623 0.01280049084 0.02587142506 0.01108515775 -0.01452795666 -0.01280049084 -0.0009642001763 -0.001948737866 0.005425853421 -0.007109886807 -0.02587142506 -0.001948737866 -0.00393857973 0.01096637453 -0.01437003096 -0.01108515775 0.005425853421 0.01096637453 0.01074552838 -0.0140817704 --0.01452795666 -0.007109886807 -0.01437003096 -0.0140817704 0.01845383955 --0.0001210744915 0.0006969681915 0.001408504821 0.0006131698539 -0.0008030988101 -0.0006969681915 -0.001944539302 -0.00392985031 -0.001532215736 0.002007160453 -0.001408504821 -0.00392985031 -0.007942098889 -0.003096580285 0.00405643492 -0.0006131698539 -0.001532215736 -0.003096580285 -0.001175516623 0.00153996244 --0.0008030988101 0.002007160453 0.00405643492 0.00153996244 -0.002017397369 --7.694423821e-08 -5.103993319e-06 -1.031547528e-05 -4.967725346e-06 6.51010961e-06 --5.103993319e-06 0.0001081126963 0.0002185002863 0.0001019142882 -0.0001334804462 --1.031547528e-05 0.0002185002863 0.000441598228 0.0002059729992 -0.0002697695115 --4.967725346e-06 0.0001019142882 0.0002059729992 9.59943487e-05 -0.0001257250806 -6.51010961e-06 -0.0001334804462 -0.0002697695115 -0.0001257250806 0.0001646637737 --3.277581716e-08 6.426795071e-08 1.295403811e-07 4.597926525e-08 -5.953814878e-08 -6.426795071e-08 1.893524738e-06 3.824867962e-06 1.861864151e-06 -2.435566578e-06 -1.295403811e-07 3.824867962e-06 7.726126001e-06 3.760777002e-06 -4.919592933e-06 -4.597926525e-08 1.861864151e-06 3.760777002e-06 1.822256129e-06 -2.383454179e-06 --5.953814878e-08 -2.435566578e-06 -4.919592933e-06 -2.383454179e-06 3.117473071e-06 --3.756733575e-06 1.67578393e-05 3.386847454e-05 1.432211494e-05 -1.876231313e-05 -1.67578393e-05 3.629434239e-05 7.335287073e-05 4.337961205e-05 -5.683899776e-05 -3.386847454e-05 7.335287073e-05 0.0001482502035 8.767257006e-05 -0.0001148747252 -1.432211494e-05 4.337961205e-05 8.767257006e-05 4.901431185e-05 -6.422022615e-05 --1.876231313e-05 -5.683899776e-05 -0.0001148747252 -6.422022615e-05 8.414353348e-05 --7.003188456e-06 3.406422695e-05 6.884474507e-05 2.942236761e-05 -3.855545666e-05 -3.406422695e-05 1.271743356e-05 2.570247766e-05 2.920036574e-05 -3.826391557e-05 -6.884474507e-05 2.570247766e-05 5.194580769e-05 5.901493302e-05 -7.733267573e-05 -2.942236761e-05 2.920036574e-05 5.901493302e-05 4.281483774e-05 -5.610451978e-05 --3.855545666e-05 -3.826391557e-05 -7.733267573e-05 -5.610451978e-05 7.351930559e-05 --5.607639167e-06 2.975415141e-05 6.013584285e-05 2.595231025e-05 -3.401051484e-05 -2.975415141e-05 -3.889103994e-05 -7.860172033e-05 -2.278559975e-05 2.986001317e-05 -6.013584285e-05 -7.860172033e-05 -0.0001588599957 -4.605118333e-05 6.03490343e-05 -2.595231025e-05 -2.278559975e-05 -4.605118333e-05 -9.118690794e-06 1.194954052e-05 --3.401051484e-05 2.986001317e-05 6.03490343e-05 1.194954052e-05 -1.565921267e-05 --3.43011265e-06 1.89414355e-05 3.828247012e-05 1.659166217e-05 -2.174091964e-05 -1.89414355e-05 -3.867266173e-05 -7.816051347e-05 -2.794581745e-05 3.661917529e-05 -3.828247012e-05 -7.816051347e-05 -0.0001579685905 -5.648054825e-05 7.401004107e-05 -1.659166217e-05 -2.794581745e-05 -5.648054825e-05 -1.875195366e-05 2.45719657e-05 --2.174091964e-05 3.661917529e-05 7.401004107e-05 2.45719657e-05 -3.2198325e-05 --1.939563731e-06 1.060504414e-05 2.14334927e-05 9.279735276e-06 -1.21599707e-05 -1.060504414e-05 -1.973544303e-05 -3.988655542e-05 -1.379482695e-05 1.807648527e-05 -2.14334927e-05 -3.988655542e-05 -8.061320439e-05 -2.788018158e-05 3.653367263e-05 -9.279735276e-06 -1.379482695e-05 -2.788018158e-05 -8.715217387e-06 1.142027019e-05 --1.21599707e-05 1.807648527e-05 3.653367263e-05 1.142027019e-05 -1.496492461e-05 --1.509820373e-06 8.031124485e-06 1.623147835e-05 7.00686134e-06 -9.182271462e-06 -8.031124485e-06 -1.087377506e-05 -2.197660698e-05 -6.513826478e-06 8.536048462e-06 -1.623147835e-05 -2.197660698e-05 -4.441615278e-05 -1.316484078e-05 1.725187481e-05 -7.00686134e-06 -6.513826478e-06 -1.316484078e-05 -2.811542236e-06 3.684325353e-06 --9.182271462e-06 8.536048462e-06 1.725187481e-05 3.684325353e-06 -4.828045305e-06 --1.470322628e-06 7.598858668e-06 1.535795029e-05 6.609169074e-06 -8.66076825e-06 -7.598858668e-06 -6.222674542e-06 -1.257647673e-05 -2.236367175e-06 2.930591593e-06 -1.535795029e-05 -1.257647673e-05 -2.541797194e-05 -4.519807877e-06 5.922869516e-06 -6.609169074e-06 -2.236367175e-06 -4.519807877e-06 1.122307689e-06 -1.470674029e-06 --8.66076825e-06 2.930591593e-06 5.922869516e-06 -1.470674029e-06 1.927173913e-06 --1.287186864e-06 6.664059282e-06 1.346860605e-05 5.797294078e-06 -7.596723478e-06 -6.664059282e-06 -5.688512394e-06 -1.149688132e-05 -2.184717904e-06 2.862837033e-06 -1.346860605e-05 -1.149688132e-05 -2.323600108e-05 -4.415429787e-06 5.78594421e-06 -5.797294078e-06 -2.184717904e-06 -4.415429787e-06 7.68995552e-07 -1.00768332e-06 --7.596723478e-06 2.862837033e-06 5.78594421e-06 -1.00768332e-06 1.320457147e-06 --1.130802064e-06 6.028571705e-06 1.218419973e-05 5.261099486e-06 -6.894228468e-06 -6.028571705e-06 -8.436047763e-06 -1.70498198e-05 -5.153996079e-06 6.753843715e-06 -1.218419973e-05 -1.70498198e-05 -3.445883232e-05 -1.041654736e-05 1.364993916e-05 -5.261099486e-06 -5.153996079e-06 -1.041654736e-05 -2.365178996e-06 3.099334627e-06 --6.894228468e-06 6.753843715e-06 1.364993916e-05 3.099334627e-06 -4.06137343e-06 -0.156926174 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.09975351053 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01493301035 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.005004577489 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.01507868052 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.007233654421 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.003216625582 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0008311393506 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0007456818288 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005195967194 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.469628726e-06 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001285205105 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --3.842785538e-05 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01575340093 -0.01100042274 -0.01971119173 0 0 --0.01100042274 0.1266289676 0.02809655573 0 0 --0.01971119173 0.02809655573 0.1781697598 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06889740207 0.03459209731 -0.01772888668 0 0 -0.03459209731 0.05009889712 -0.0478543572 0 0 --0.01772888668 -0.0478543572 0.05915402787 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.06147587493 0.02614818618 -0.04432698833 0 0 -0.02614818618 0.007950121455 -0.01465252777 0 0 --0.04432698833 -0.01465252777 0.02445464895 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.01336975112 -0.004454615365 0.008403838202 0 0 --0.004454615365 0.0008979205358 0.0009754613364 0 0 -0.008403838202 0.0009754613364 -0.00159841891 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.009850722557 0.004807048478 -0.007755941143 0 0 -0.004807048478 0.001311070485 -0.00326420201 0 0 --0.007755941143 -0.00326420201 0.004542889589 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.002474867451 -0.0007078741774 0.001355497386 0 0 --0.0007078741774 -0.0001604784241 0.0003636137039 0 0 -0.001355497386 0.0003636137039 -0.0006337322342 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0005705836286 -0.0001770748985 7.748627536e-05 0 0 --0.0001770748985 0.0003010623627 0.0001131090044 0 0 -7.748627536e-05 0.0001131090044 0.0004521052799 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.002451594332 0.0009456943448 -0.001267467109 0 0 -0.0009456943448 0.0001709334903 -0.0005327977118 0 0 --0.001267467109 -0.0005327977118 0.0005561964604 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.001420179611 -0.0002641011059 0.0006774800822 0 0 --0.0002641011059 -0.0001718709329 5.446742277e-05 0 0 -0.0006774800822 5.446742277e-05 -0.000406214008 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001195745385 7.635268001e-05 -4.099338962e-05 0 0 -7.635268001e-05 2.930432429e-05 -3.678089085e-05 0 0 --4.099338962e-05 -3.678089085e-05 2.499089829e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --9.089212163e-05 -3.415367775e-05 4.593375795e-05 0 0 --3.415367775e-05 -3.630000581e-06 2.23252345e-05 0 0 -4.593375795e-05 2.23252345e-05 4.070095e-06 0 0 -0 0 0 0 0 -0 0 0 0 0 -0.0001644659491 9.241089743e-05 -8.981121223e-05 0 0 -9.241089743e-05 5.612341847e-06 -5.474699289e-05 0 0 --8.981121223e-05 -5.474699289e-05 3.347920701e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.0001710420363 -2.253464718e-05 9.195683883e-05 0 0 --2.253464718e-05 -2.137349853e-05 7.428881854e-06 0 0 -9.195683883e-05 7.428881854e-06 -5.543456701e-05 0 0 -0 0 0 0 0 -0 0 0 0 0 --0.1050325181 -0.004000563758 0.07102670391 0.03911811485 0.01984302691 --0.004000563758 -0.04227496259 0.001020249821 0.0287723953 -0.03812357887 -0.07102670391 0.001020249821 -0.04552876291 0.03923770053 -0.01742999417 -0.03911811485 0.0287723953 0.03923770053 0.06367620451 -0.03418485402 -0.01984302691 -0.03812357887 -0.01742999417 -0.03418485402 0.08072363138 -0.09028703041 -0.0128994078 0.02800625252 0.02499039748 0.04597974607 --0.0128994078 0.07634669729 -0.01388827906 0.02108493987 -0.04900828554 -0.02800625252 -0.01388827906 0.051245014 0.02692728785 0.03678307062 -0.02499039748 0.02108493987 0.02692728785 0.02692862808 0.007173931852 -0.04597974607 -0.04900828554 0.03678307062 0.007173931852 0.04881623718 -0.007946507758 0.007071692904 -0.01261853839 -0.002473385901 -0.003906184409 -0.007071692904 0.01809468039 -0.02358786099 -0.003851568278 -0.01177034291 --0.01261853839 -0.02358786099 0.03938373439 0.009152482234 0.01772542345 --0.002473385901 -0.003851568278 0.009152482234 0.00289545901 0.003884988696 --0.003906184409 -0.01177034291 0.01772542345 0.003884988696 0.008884346341 -0.01108612222 0.01016694358 -0.01588191514 -0.002408905847 -0.005342543922 -0.01016694358 0.005703000344 -0.01115672693 -0.0019040248 -0.003391358386 --0.01588191514 -0.01115672693 0.0156338157 0.002097113205 0.005640042984 --0.002408905847 -0.0019040248 0.002097113205 0.0003588109429 0.0009524942928 --0.005342543922 -0.003391358386 0.005640042984 0.0009524942928 0.002143086344 --0.01108779558 -0.007352359301 0.01130095146 0.001590509242 0.003642258154 --0.007352359301 -0.003254431322 0.005012595912 0.0005120972474 0.001285109447 -0.01130095146 0.005012595912 -0.008351033269 -0.0009308383604 -0.001634450225 -0.001590509242 0.0005120972474 -0.0009308383604 -3.416052973e-05 7.533268895e-05 -0.003642258154 0.001285109447 -0.001634450225 7.533268895e-05 -0.0001369499328 -0.00497249907 0.004051792382 -0.006018175776 -0.0009311492862 -0.002311108951 -0.004051792382 0.003010189595 -0.004173426251 -0.0005433973096 -0.001685275441 --0.006018175776 -0.004173426251 0.006906190264 0.001160992902 0.002154949195 --0.0009311492862 -0.0005433973096 0.001160992902 0.0002325841334 0.0002091452674 --0.002311108951 -0.001685275441 0.002154949195 0.0002091452674 0.0009118022952 --0.001951416884 -0.001702852924 0.002672992405 0.0004778706541 0.001031553957 --0.001702852924 -0.0008352816583 0.001723861651 0.0003936790831 0.0003583935965 -0.002672992405 0.001723861651 -0.002295328212 -0.0001203940887 -0.0007790642976 -0.0004778706541 0.0003936790831 -0.0001203940887 0.0001654847591 -0.0001685987866 -0.001031553957 0.0003583935965 -0.0007790642976 -0.0001685987866 -8.212615806e-05 -0.001189968779 0.00126999372 -0.001866882998 -0.000318090654 -0.0007778957227 -0.00126999372 0.0006196870998 -0.001743625778 -0.0004117710583 -0.0003126159346 --0.001866882998 -0.001743625778 0.001810124332 0.0001264060718 0.0009277862 --0.000318090654 -0.0004117710583 0.0001264060718 -7.411995084e-05 0.0002112421547 --0.0007778957227 -0.0003126159346 0.0009277862 0.0002112421547 0.0001480416875 --0.0008953539707 -0.00055450408 0.0009436908817 0.0001475167378 0.0002516690069 --0.00055450408 -0.000414173773 0.0005062184399 4.916758455e-05 0.000209601104 -0.0009436908817 0.0005062184399 -0.001088808761 -0.0002044733732 -0.000217732738 -0.0001475167378 4.916758455e-05 -0.0002044733732 -5.014457654e-05 -1.398104522e-05 -0.0002516690069 0.000209601104 -0.000217732738 -1.398104522e-05 -0.0001033983912 -0.0001255920278 6.400898222e-05 -8.336450834e-05 -4.618413811e-06 -2.623975864e-05 -6.400898222e-05 7.49740289e-05 -7.860071233e-05 3.860585912e-06 -4.785302965e-05 --8.336450834e-05 -7.860071233e-05 0.0001450025839 4.797670771e-05 5.563378707e-05 --4.618413811e-06 3.860585912e-06 4.797670771e-05 2.882314251e-05 -9.657015183e-07 --2.623975864e-05 -4.785302965e-05 5.563378707e-05 -9.657015183e-07 3.346965879e-05 -0.0001164516079 0.0001013687797 -0.0001337594473 -1.514347828e-05 -5.051888165e-05 -0.0001013687797 2.969484014e-05 -0.0001258665017 -2.412300816e-05 -1.544163039e-05 --0.0001337594473 -0.0001258665017 0.0001220870619 1.681741997e-05 5.270640115e-05 --1.514347828e-05 -2.412300816e-05 1.681741997e-05 6.469003682e-06 5.810512042e-06 --5.051888165e-05 -1.544163039e-05 5.270640115e-05 5.810512042e-06 1.314967579e-05 --6.095880055e-05 5.961210085e-06 3.018161585e-05 6.854231896e-06 -1.771038342e-05 -5.961210085e-06 -3.590158699e-05 -3.963117576e-05 -1.96935391e-05 1.607939134e-05 -3.018161585e-05 -3.963117576e-05 -6.936516983e-05 -2.646915642e-05 1.915645326e-05 -6.854231896e-06 -1.96935391e-05 -2.646915642e-05 -1.07852854e-05 6.355825097e-06 --1.771038342e-05 1.607939134e-05 1.915645326e-05 6.355825097e-06 -3.585192328e-06 --4.883360181e-05 -1.966284799e-05 6.063326057e-05 1.420123739e-05 5.049752214e-06 --1.966284799e-05 -3.662277049e-05 4.473809554e-06 -4.041503156e-06 1.877349764e-05 -6.063326057e-05 4.473809554e-06 -9.953968615e-05 -2.365626997e-05 2.313594898e-06 -1.420123739e-05 -4.041503156e-06 -2.365626997e-05 -4.567348432e-06 1.668905355e-06 -5.049752214e-06 1.877349764e-05 2.313594898e-06 1.668905355e-06 -7.866070066e-06 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/gedm_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/gedm_ref.dat deleted file mode 100644 index 8e149d1035..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/gedm_ref.dat +++ /dev/null @@ -1,117 +0,0 @@ -0.00202859 --0.000984925 --0.00650083 --0.00565152 --0.000725093 -0.000109202 --0.000367637 -7.94121e-05 --3.70252e-05 -0.000227224 --0.000278298 --0.000744654 -0.000309591 -0.0031952 -0.000993463 0.00145829 -0.000993463 0.00219907 -0.00225089 0.00145829 -0.00225089 0.00337958 -0.00105959 -6.12694e-05 -0.000155295 -6.12694e-05 -0.00261859 -0.00261892 -0.000155295 -0.00261892 -0.000943708 --0.00223081 -0.00235812 0.00139488 -0.00235812 -0.000487303 -8.83013e-05 0.00139488 -8.83013e-05 0.000867258 --0.00146966 -1.84167e-05 -0.000268234 -1.84167e-05 -0.000827298 0.000753041 -0.000268234 0.000753041 -0.00103768 --0.00106328 0.00072186 -0.00106126 0.00072186 -0.00125009 0.000923996 -0.00106126 0.000923996 -0.00170016 --0.000251398 8.77004e-05 -0.000694075 8.77004e-05 -0.000475457 0.000526489 -0.000694075 0.000526489 -0.000341573 -0.000408232 -6.71762e-05 2.86125e-05 -6.71762e-05 0.00031612 -9.82955e-05 2.86125e-05 -9.82955e-05 0.000417856 --0.000603382 -0.000103096 -1.40728e-05 -0.000103096 -0.000397536 0.000169069 -1.40728e-05 0.000169069 -0.000380715 -0.000160599 0.000113686 -8.60686e-05 0.000113686 0.000285746 0.00018088 -8.60686e-05 0.00018088 0.000133608 -5.66116e-05 -0.000260799 7.67217e-05 -0.000260799 0.000356287 0.000148488 7.67217e-05 0.000148488 0.000473966 -0.000295101 0.000116272 -0.000302868 0.000116272 -0.000286275 -0.00013477 -0.000302868 -0.00013477 -9.72605e-05 --0.00046228 -0.000285148 8.57696e-05 -0.000285148 0.00036255 0.000535389 8.57696e-05 0.000535389 0.000276426 --3.64144e-05 -0.000264539 0.000416145 -0.000264539 0.00051729 5.39491e-08 0.000416145 5.39491e-08 0.000468025 -0.00244466 0.000858314 -0.00131416 -0.00108222 -0.00273279 0.000858314 0.00105136 0.000352406 0.0010504 -0.00182113 -0.00131416 0.000352406 -0.000127431 0.00104039 0.00200108 -0.00108222 0.0010504 0.00104039 0.0017057 0.000137631 -0.00273279 -0.00182113 0.00200108 0.000137631 0.00191255 --0.00086424 -2.68905e-05 -0.000481062 0.000689333 -0.00030707 -2.68905e-05 7.8446e-05 -0.000384761 8.94363e-05 0.000477519 -0.000481062 -0.000384761 0.000230203 0.000347675 -0.0012989 0.000689333 8.94363e-05 0.000347675 -0.000803195 0.000666798 -0.00030707 0.000477519 -0.0012989 0.000666798 6.55743e-05 --0.000254698 -0.00171872 0.000627953 0.00067302 0.00117844 -0.00171872 0.00116609 0.00112422 -0.000610834 -0.000611514 0.000627953 0.00112422 -0.00148054 -8.0668e-05 0.000509726 0.00067302 -0.000610834 -8.0668e-05 0.000190436 -0.000323205 0.00117844 -0.000611514 0.000509726 -0.000323205 -0.00187414 -0.000540572 1.79784e-06 -0.000109497 -0.000261617 -0.000583128 1.79784e-06 -0.000237923 0.000253483 -6.6816e-05 -0.000707515 -0.000109497 0.000253483 -0.000831512 0.000186435 0.00101723 -0.000261617 -6.6816e-05 0.000186435 -0.000282948 4.69159e-05 -0.000583128 -0.000707515 0.00101723 4.69159e-05 -0.000152146 --0.000281265 0.000140498 -0.000170177 -8.09301e-05 -5.46059e-06 0.000140498 -0.000172111 3.08309e-05 -1.71459e-05 -3.97292e-05 -0.000170177 3.08309e-05 -0.0001824 -1.50329e-05 0.000162377 -8.09301e-05 -1.71459e-05 -1.50329e-05 -0.000215983 -0.000110191 -5.46059e-06 -3.97292e-05 0.000162377 -0.000110191 -0.000507892 --0.000361373 -0.000415115 0.000130544 -0.000111618 0.0010189 -0.000415115 0.000633772 0.000237176 -0.000137094 0.000120148 0.000130544 0.000237176 0.000160202 -0.000389771 -4.93607e-05 -0.000111618 -0.000137094 -0.000389771 -5.63242e-05 -0.00050516 0.0010189 0.000120148 -4.93607e-05 -0.00050516 -0.000946787 --0.000560805 -0.00018147 0.000271102 0.000167308 0.000363984 -0.00018147 -2.15421e-05 0.00023945 3.76222e-06 0.000222193 0.000271102 0.00023945 -0.000187721 -8.84139e-05 -0.000245319 0.000167308 3.76222e-06 -8.84139e-05 0.000201143 -0.000148116 0.000363984 0.000222193 -0.000245319 -0.000148116 -0.000419233 --0.000318343 5.05756e-05 2.1096e-05 -0.000249538 -0.000175705 5.05756e-05 -4.98445e-05 0.000387062 -1.22697e-05 -9.01291e-05 2.1096e-05 0.000387062 -0.000423237 -7.76256e-05 0.000286447 -0.000249538 -1.22697e-05 -7.76256e-05 -0.000640041 -3.14914e-05 -0.000175705 -9.01291e-05 0.000286447 -3.14914e-05 -0.000301043 --0.000344046 5.14987e-06 -2.49748e-05 6.86386e-05 0.000248054 5.14987e-06 -3.73961e-05 -6.84716e-05 8.04549e-05 0.000161768 -2.49748e-05 -6.84716e-05 8.28327e-05 -7.46917e-06 -0.000247033 6.86386e-05 8.04549e-05 -7.46917e-06 -0.0001878 -4.33207e-05 0.000248054 0.000161768 -0.000247033 -4.33207e-05 -0.000323054 --0.000345087 -0.000139657 6.81738e-05 4.03538e-05 0.00012901 -0.000139657 0.000243659 0.00033405 -9.12019e-06 3.13187e-05 6.81738e-05 0.00033405 -0.000190441 -2.51702e-05 -1.55363e-05 4.03538e-05 -9.12019e-06 -2.51702e-05 -0.000208908 -4.80826e-05 0.00012901 3.13187e-05 -1.55363e-05 -4.80826e-05 -0.000383787 --0.000262238 2.27912e-05 9.84972e-05 0.00034617 7.99633e-05 2.27912e-05 -0.000298141 -1.8245e-05 8.02859e-05 7.91793e-05 9.84972e-05 -1.8245e-05 -0.000175685 0.000225785 -0.000122813 0.00034617 8.02859e-05 0.000225785 8.28615e-05 0.00010194 7.99633e-05 7.91793e-05 -0.000122813 0.00010194 -0.000342842 -2.12152e-05 -3.30795e-05 5.14774e-05 -0.00028983 5.63192e-06 -3.30795e-05 -5.63104e-05 7.63872e-05 0.000123508 -0.00013231 5.14774e-05 7.63872e-05 -0.000179274 -6.65847e-05 0.000183573 -0.00028983 0.000123508 -6.65847e-05 -0.000356948 -8.13773e-05 5.63192e-06 -0.00013231 0.000183573 -8.13773e-05 -1.61591e-05 -0.000269282 -5.26367e-05 0.000133464 0.000167696 0.000219185 -5.26367e-05 0.000186873 -0.000113677 -0.000100264 0.000146296 0.000133464 -0.000113677 0.000405986 -3.68797e-05 -0.000161102 0.000167696 -0.000100264 -3.68797e-05 0.000337565 2.86269e-05 0.000219185 0.000146296 -0.000161102 2.86269e-05 0.000272256 -0.00213193 --0.00114779 --0.00687396 --0.00610686 --0.000760189 -3.41242e-05 --0.000482002 --4.72923e-06 --4.07202e-05 -0.000237758 --0.000271159 --0.000844237 -0.000399316 -0.0054181 0.00163259 -0.0011675 0.00163259 0.00185441 -0.00152021 -0.0011675 -0.00152021 0.00197283 --0.000296079 0.00166878 -0.00218685 0.00166878 -0.000501517 0.00203271 -0.00218685 0.00203271 -0.00168623 --0.000883081 0.00125317 -0.00173344 0.00125317 0.000148176 0.00251554 -0.00173344 0.00251554 -0.00123964 --0.000455746 0.000362535 -0.0004468 0.000362535 -0.00161127 -0.000422838 -0.0004468 -0.000422838 -0.00139483 --0.000589814 2.21965e-05 0.000141248 2.21965e-05 -0.00233594 -0.00145933 0.000141248 -0.00145933 -0.00162849 --7.32056e-05 -1.53778e-06 0.000456069 -1.53778e-06 -0.000641624 -0.000885576 0.000456069 -0.000885576 -0.000476154 -0.00041931 -5.18754e-05 4.01129e-05 -5.18754e-05 0.000501825 2.18599e-05 4.01129e-05 2.18599e-05 0.0005109 --0.000458536 0.000219873 -4.87362e-05 0.000219873 -0.000381663 0.000107373 -4.87362e-05 0.000107373 -0.000625993 -0.000379063 0.000135832 -8.67168e-05 0.000135832 5.53501e-05 -0.000156754 -8.67168e-05 -0.000156754 7.48099e-05 -0.000235068 -0.000298751 6.09822e-05 -0.000298751 0.000269918 -3.5675e-05 6.09822e-05 -3.5675e-05 0.000542658 --9.36343e-05 -0.000252374 0.000218475 -0.000252374 -0.000109702 -0.000232731 0.000218475 -0.000232731 0.000110355 --0.000114546 -0.000584538 0.000346344 -0.000584538 -5.39245e-05 -0.0003028 0.000346344 -0.0003028 0.0004425 -0.000300261 0.000178082 -0.000463235 0.000178082 0.000376076 0.0005217 -0.000463235 0.0005217 0.00024797 -0.00152288 -0.000176044 -2.48989e-05 -0.000998334 -0.00286432 -0.000176044 0.000349926 0.00100311 0.00156622 -0.000585947 -2.48989e-05 0.00100311 0.00107491 0.00151805 -0.000760976 -0.000998334 0.00156622 0.00151805 -0.000547705 0.00144124 -0.00286432 -0.000585947 -0.000760976 0.00144124 0.004905 --0.000147833 2.13984e-05 2.48396e-05 0.000101617 1.71246e-05 2.13984e-05 -0.00065031 -0.000544934 -0.00140542 0.000410567 2.48396e-05 -0.000544934 -0.000660086 -0.00111559 0.000330341 0.000101617 -0.00140542 -0.00111559 0.000758953 -0.000223944 1.71246e-05 0.000410567 0.000330341 -0.000223944 -0.000149027 --0.000660909 -0.000237126 -0.000260946 1.50641e-05 0.00116937 -0.000237126 0.000523473 0.000850197 0.00190926 -0.000381211 -0.000260946 0.000850197 0.00105788 0.00172543 -0.000355117 1.50641e-05 0.00190926 0.00172543 -0.00125609 -0.000149936 0.00116937 -0.000381211 -0.000355117 -0.000149936 -0.00199209 -0.000297312 5.34615e-05 -0.000177467 -0.000268363 -0.00055306 5.34615e-05 -0.000400335 -0.000458675 0.000666464 2.98581e-05 -0.000177467 -0.000458675 -0.000137964 0.000422242 -7.06274e-05 -0.000268363 0.000666464 0.000422242 -0.001319 0.000741316 -0.00055306 2.98581e-05 -7.06274e-05 0.000741316 0.000748984 --4.30707e-05 -6.0972e-05 0.000199708 -5.39583e-07 -0.000116074 -6.0972e-05 -0.000448648 -0.000115088 -0.000123107 -4.80409e-05 0.000199708 -0.000115088 -0.000550389 -0.000124299 0.000106199 -5.39583e-07 -0.000123107 -0.000124299 -0.000383922 0.00011734 -0.000116074 -4.80409e-05 0.000106199 0.00011734 6.97789e-05 -0.000150995 -0.000489983 8.83527e-05 4.36569e-05 0.000892736 -0.000489983 -0.000185122 5.36955e-05 -0.000427833 0.000250813 8.83527e-05 5.36955e-05 -0.000147831 -0.000117564 0.000816995 4.36569e-05 -0.000427833 -0.000117564 0.000551131 -0.000167765 0.000892736 0.000250813 0.000816995 -0.000167765 -0.0012368 --0.000413527 2.85538e-06 -0.000113526 0.000106033 0.000446506 2.85538e-06 2.5029e-05 1.12037e-05 -0.000105358 0.000148323 -0.000113526 1.12037e-05 -6.34406e-05 -9.88092e-05 9.93887e-05 0.000106033 -0.000105358 -9.88092e-05 0.000160536 -0.000237936 0.000446506 0.000148323 9.93887e-05 -0.000237936 -0.000942596 --0.000243082 0.000213892 3.84864e-05 5.85247e-05 -0.000156944 0.000213892 -0.00033122 -0.000430873 0.000110173 1.54561e-05 3.84864e-05 -0.000430873 -0.00064412 -0.000162669 -6.33452e-05 5.85247e-05 0.000110173 -0.000162669 -0.000807394 0.000196612 -0.000156944 1.54561e-05 -6.33452e-05 0.000196612 -7.77319e-05 --0.000264324 1.30526e-05 -0.000181926 -8.91971e-06 0.000171289 1.30526e-05 3.41136e-05 0.000102914 0.000144966 3.89213e-05 -0.000181926 0.000102914 0.000183404 0.000167716 -5.06999e-05 -8.91971e-06 0.000144966 0.000167716 -4.88025e-05 -8.91318e-05 0.000171289 3.89213e-05 -5.06999e-05 -8.91318e-05 -0.000479437 --0.000185574 0.000189264 -0.000116799 8.46728e-05 0.000107989 0.000189264 0.000155719 -0.000282607 8.77021e-05 0.000143309 -0.000116799 -0.000282607 -0.000229626 -0.000152554 5.47452e-05 8.46728e-05 8.77021e-05 -0.000152554 -0.000159252 2.44278e-05 0.000107989 0.000143309 5.47452e-05 2.44278e-05 -0.000395825 -0.000140368 -0.000167071 0.000256492 7.20031e-05 0.000286278 -0.000167071 -0.000419846 -8.30045e-05 -0.000216311 -0.000150974 0.000256492 -8.30045e-05 -0.000352697 -6.3303e-05 0.000270655 7.20031e-05 -0.000216311 -6.3303e-05 -0.000267418 -4.69121e-05 0.000286278 -0.000150974 0.000270655 -4.69121e-05 -0.000329922 --0.00025669 -6.83441e-05 0.000145909 2.23272e-05 -7.17899e-05 -6.83441e-05 -0.000332092 0.000176562 -0.000319945 -5.48174e-05 0.000145909 0.000176562 -0.000272153 -0.000165497 -4.81915e-05 2.23272e-05 -0.000319945 -0.000165497 0.000131435 -0.00015465 -7.17899e-05 -5.48174e-05 -4.81915e-05 -0.00015465 -2.97307e-05 -0.000278868 0.000114735 -0.000200899 -4.1737e-05 -0.000131113 0.000114735 0.00047709 -0.000164726 1.06285e-05 0.000199737 -0.000200899 -0.000164726 0.000179903 -0.000123095 0.000169178 -4.1737e-05 1.06285e-05 -0.000123095 0.000429791 0.000114265 -0.000131113 0.000199737 0.000169178 0.000114265 0.000237132 -0.00213155 --0.00115343 --0.00686163 --0.00612861 --0.00076381 -3.18959e-05 --0.000485297 --3.38115e-06 --3.75621e-05 -0.000257675 --0.00027633 --0.000830054 -0.000394379 -0.00215913 -0.00123155 0.00243805 -0.00123155 0.00339598 -0.00151338 0.00243805 -0.00151338 0.00365764 --0.000546694 0.00156797 -0.00206209 0.00156797 -0.000321695 0.00224098 -0.00206209 0.00224098 -0.00161617 -0.000336597 0.00168822 -0.00231042 0.00168822 -0.000746471 0.00150424 -0.00231042 0.00150424 -0.00155278 --0.00179102 -0.000139162 0.000172502 -0.000139162 -0.000647778 0.000688854 0.000172502 0.000688854 -0.00103276 --0.00266922 -0.000716355 0.00114835 -0.000716355 -0.000790634 0.000263545 0.00114835 0.000263545 -0.00109061 --0.000884331 0.000312632 0.000733368 0.000312632 0.000313047 0.000169118 0.000733368 0.000169118 -0.00064704 -0.000518671 -1.38492e-05 -1.35924e-05 -1.38492e-05 0.00041264 -6.63516e-05 -1.35924e-05 -6.63516e-05 0.000474691 --0.000475284 -0.000177801 8.49491e-05 -0.000177801 -0.000584682 -0.000168202 8.49491e-05 -0.000168202 -0.00037492 --3.43925e-05 -2.09417e-07 0.00012567 -2.09417e-07 0.000364558 0.000174842 0.00012567 0.000174842 0.000170094 -0.00033637 -0.000273553 8.83433e-07 -0.000273553 0.0001775 -0.000121359 8.83433e-07 -0.000121359 0.00051943 -7.18895e-05 0.000359384 -5.3971e-05 0.000359384 9.9883e-05 7.67332e-05 -5.3971e-05 7.67332e-05 -0.000261777 -0.000125772 -0.000509837 0.000237322 -0.000509837 -0.00021544 -0.00049664 0.000237322 -0.00049664 0.000399095 -0.000415713 0.000186564 -0.000537235 0.000186564 0.00025413 0.000417064 -0.000537235 0.000417064 0.000233377 -0.00111016 -0.00188058 0.000826187 -1.82764e-05 0.00170348 -0.00188058 0.000696819 0.00251401 0.00108415 -0.000906648 0.000826187 0.00251401 0.00376775 0.00247123 -0.00116027 -1.82764e-05 0.00108415 0.00247123 0.00112908 -0.000594257 0.00170348 -0.000906648 -0.00116027 -0.000594257 0.000602613 -0.00103531 -0.000435623 0.000637202 0.000284825 0.000658464 -0.000435623 -0.0010744 -0.000915663 -0.000913184 -0.000216309 0.000637202 -0.000915663 -0.000355106 -0.000421867 0.000313118 0.000284825 -0.000913184 -0.000421867 -0.000674067 0.000148098 0.000658464 -0.000216309 0.000313118 0.000148098 0.000225697 --0.00259271 -6.28644e-07 0.000270891 -0.000153433 -0.00054428 -6.28644e-07 0.00109043 0.00201588 0.0015052 0.000475919 0.000270891 0.00201588 -0.000930622 0.000395165 -0.000818936 -0.000153433 0.0015052 0.000395165 0.00074248 -0.00028724 -0.00054428 0.000475919 -0.000818936 -0.00028724 -0.000623747 --0.000660427 0.000842441 -0.00101658 -0.000283709 -0.000888567 0.000842441 6.9326e-06 -0.000341812 3.34598e-05 0.000188519 -0.00101658 -0.000341812 0.000133949 -0.000148699 -0.000194194 -0.000283709 3.34598e-05 -0.000148699 -0.000207269 8.36728e-06 -0.000888567 0.000188519 -0.000194194 8.36728e-06 -7.35893e-05 --0.000405041 0.000230312 -0.000305367 -8.54534e-05 -0.000201026 0.000230312 -0.000310215 -6.87723e-05 -0.000164829 2.52063e-05 -0.000305367 -6.87723e-05 -0.00014289 -0.000101348 5.93409e-06 -8.54534e-05 -0.000164829 -0.000101348 -0.000150299 -0.000100742 -0.000201026 2.52063e-05 5.93409e-06 -0.000100742 -0.000345932 --0.000234129 -0.000631925 0.00103076 0.000236459 0.000573133 -0.000631925 -0.000357158 0.000553474 -0.000412998 -4.31577e-05 0.00103076 0.000553474 -0.000656753 -0.00031218 -5.82287e-05 0.000236459 -0.000412998 -0.00031218 0.000451036 -0.000308226 0.000573133 -4.31577e-05 -5.82287e-05 -0.000308226 -6.14655e-05 --7.72708e-05 -0.000105337 0.000551186 0.000198832 8.91872e-05 -0.000105337 -4.89464e-05 -6.55666e-05 3.52824e-05 -2.26555e-05 0.000551186 -6.55666e-05 -0.000883737 -0.000259608 7.98526e-05 0.000198832 3.52824e-05 -0.000259608 -0.000246166 9.32979e-05 8.91872e-05 -2.26555e-05 7.98526e-05 9.32979e-05 2.87453e-05 --0.000504485 8.94036e-05 -0.000345227 -0.000165186 -0.000218933 8.94036e-05 -0.000489715 -0.000294442 -5.14213e-05 0.000374822 -0.000345227 -0.000294442 -0.000384215 -0.000138498 6.35208e-05 -0.000165186 -5.14213e-05 -0.000138498 -0.000398533 0.000219101 -0.000218933 0.000374822 6.35208e-05 0.000219101 -0.000318966 --0.000266228 1.11134e-05 0.000233931 7.71249e-05 -3.03942e-05 1.11134e-05 -9.25857e-06 0.000280656 2.9724e-05 -0.000167868 0.000233931 0.000280656 -0.000237862 -1.72025e-05 -0.000154984 7.71249e-05 2.9724e-05 -1.72025e-05 1.08323e-05 -0.000169121 -3.03942e-05 -0.000167868 -0.000154984 -0.000169121 -2.73092e-05 --0.000224946 -0.000109794 0.000118441 -2.69117e-05 -6.63992e-05 -0.000109794 -0.000109515 -0.000103574 0.000105744 0.000295202 0.000118441 -0.000103574 -0.000428568 -0.000129306 -1.65425e-05 -2.69117e-05 0.000105744 -0.000129306 -0.000159751 0.000235863 -6.63992e-05 0.000295202 -1.65425e-05 0.000235863 9.45322e-05 --0.000321389 -0.000142071 0.000171208 1.02997e-05 0.000137246 -0.000142071 -0.000343316 8.82082e-05 -0.000344364 0.000143111 0.000171208 8.82082e-05 -0.000427295 -0.000282713 0.000131544 1.02997e-05 -0.000344364 -0.000282713 0.000192637 -0.000131147 0.000137246 0.000143111 0.000131544 -0.000131147 -0.000324471 -0.000113234 -0.00022013 9.60657e-05 3.15723e-05 0.000246622 -0.00022013 -0.000307238 -8.50839e-05 7.30695e-05 -4.55747e-05 9.60657e-05 -8.50839e-05 7.89338e-06 0.00019709 1.84874e-05 3.15723e-05 7.30695e-05 0.00019709 -0.000419119 0.000120032 0.000246622 -4.55747e-05 1.84874e-05 0.000120032 -0.000162541 -0.00048543 2.31448e-05 -2.42245e-05 -4.69686e-06 -7.18465e-05 2.31448e-05 0.000367831 -0.000269825 8.44002e-05 0.000120837 -2.42245e-05 -0.000269825 0.000144455 -6.05301e-05 0.000117942 -4.69686e-06 8.44002e-05 -6.05301e-05 0.000141301 0.000227338 -7.18465e-05 0.000120837 0.000117942 0.000227338 0.000456956 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/gvepsl_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/gvepsl_ref.dat deleted file mode 100644 index 4e1a910ea1..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/gvepsl_ref.dat +++ /dev/null @@ -1,18 +0,0 @@ -0.1255502071 -0.04094690846 -0.001882323965 0.01101489697 -0.0001740754221 -0.0006272641514 5.272637793e-05 5.250781725e-05 -0.0002223871639 1.518323797e-06 2.478868527e-05 -9.40617047e-06 -4.359381061e-05 -0.0002776119906 -0.01622506262 -0.02041000171 0.01513961253 0.4437683442 -3.059158989e-06 0.1285482253 0.009889163097 -6.016606542e-07 -0.04246256401 0.0005390301401 -8.384206665e-07 -0.004589136751 -0.04806983654 1.092335471e-07 0.00530587864 0.004978054169 3.985362402e-09 0.001568019887 0.008906018505 3.755591177e-08 0.0007928625233 0.0001257253528 -5.758920079e-08 -0.0003151939317 -0.004214497115 1.262782942e-08 0.0003969501873 5.597684704e-05 -1.304268812e-08 3.341983174e-05 0.0003593775519 3.292923253e-09 0.000235669955 1.913490011e-06 -8.001969577e-09 -2.82190936e-06 -0.0003486054479 -1.324990125e-09 9.395012666e-18 -1.763008455e-17 -9.416680421e-18 -0.0185445791 -0.1103738272 -6.275006818e-19 -2.845597346e-18 -3.748419922e-18 0.02576643456 0.05350079173 1.068410928e-20 1.083562303e-19 -4.319206619e-20 0.003229441049 0.003103974219 1.012262999e-19 -2.979050028e-20 -6.725415379e-20 -0.0002013005281 -0.001388954484 -1.044509633e-21 -6.215558616e-21 -2.627140224e-21 -6.407964478e-05 4.387224789e-05 2.215817583e-22 6.086020341e-22 1.76053974e-22 -8.262009007e-06 -6.832400329e-05 -1.183808733e-20 8.690583485e-21 -1.735243846e-20 0.0001280327736 0.0002545283099 8.573397531e-21 -2.331847161e-21 3.502990604e-21 -5.018424903e-05 -0.0002867608593 -1.634325407e-21 5.682680499e-22 4.161364783e-23 -8.269497083e-06 -6.518356024e-05 1.26335863e-21 1.618857757e-21 3.853509858e-22 9.926030477e-06 1.999772431e-05 -5.385302524e-22 5.415832846e-22 -1.081268416e-21 -4.825526636e-06 -2.397230626e-05 -3.11946769e-21 1.839169392e-21 -1.326054981e-21 -1.029929881e-05 -5.458419974e-05 -1.348423474e-21 4.458289824e-22 8.402716792e-23 -1.828691546e-06 -9.280181078e-06 -0.228749032 0.3401414218 0.3228059257 0.01657103655 -0.04304605797 -0.02463086072 0.02087900591 0.002081369017 -0.0009422545895 -0.002672981492 0.0007549623854 0.00036561111 5.055291671e-06 0.1055090169 0.1682513994 0.0917022133 0.04748889951 0.1044767834 0.230806303 -0.005272773865 -0.009915895463 0.1821351052 0.003737204414 0.007753246676 -0.05113436213 -0.001844675761 -0.0008521696909 0.05097276582 0.0003261651595 -0.000677932104 -0.01887071998 0.0002506042644 0.0001513702958 0.006363651585 0.001009672451 -2.592733164e-06 0.001027224576 -0.0001074037147 -0.0001063563038 -0.0001406012425 -6.995748259e-07 -0.0001829899136 -0.0006106735984 2.863976751e-05 -7.299509957e-05 -0.0001504081751 -1.870330474e-05 0.0001297733822 0.0004308131416 -1.572037637e-05 -4.588510991e-05 -0.0002089087711 -1.436276625e-17 0.001663291867 0.03730645825 0.03909450584 -0.2282730936 3.555762756e-17 -0.001117870621 0.1359623832 0.3018670132 0.1256487905 -9.431381831e-19 0.0001677244737 0.005882346954 0.01089025552 0.1466292559 5.395353691e-19 1.871069851e-06 0.002173798783 0.002091313013 0.03524263461 -1.464177762e-18 0.0001339900142 0.00178314659 0.0009915403604 -0.02395315983 -3.377255716e-19 -3.245566244e-05 -0.0005430911575 0.003039523888 0.01614985647 8.818591219e-19 7.278970533e-05 0.001475327138 0.0004142744284 -0.0104244848 -2.152892314e-19 -3.228219214e-05 -0.0006326093211 -0.0003895430242 0.01048838159 -1.765726049e-19 -6.854339382e-06 -8.448229353e-05 -0.0001505305544 -0.005194525263 -4.152878178e-20 5.567669552e-06 7.101448825e-05 0.000424496023 0.0004245197754 -1.841943862e-21 6.975555024e-06 6.034328777e-06 2.727500722e-05 -1.281321449e-05 -1.100983917e-21 -4.832589422e-06 -7.329525011e-05 5.70938559e-05 0.0002896297466 -8.548250144e-21 -1.927982922e-06 -2.3613756e-05 -0.0002657507878 -0.000136219588 -0.04057473282 0.03781173723 0.0009217487094 -0.0008783625595 0.003705573031 -0.001511192843 0.0006814582208 -0.0002792888725 0.0001837816024 -0.0001418566109 -2.423100289e-05 3.191588176e-05 -6.459755976e-06 0.02094994801 -0.1034044884 0.09732985984 0.005885525549 0.01531462911 0.05021091051 0.0007181161162 -0.001210590385 0.02217478795 -0.0002304164149 0.0008728458772 -0.004088494529 -0.000154304027 -0.0002118740971 0.004622635311 -0.0001277357886 1.942959598e-05 -0.0004616633431 5.154773656e-05 -0.0001311052267 -0.0002791886214 -1.563170278e-05 0.0001019410899 0.0005606116018 -8.176009362e-06 -0.0001615072728 -0.0003760502608 1.901196283e-06 7.88419621e-06 -4.307114399e-05 -2.218660137e-05 2.853914232e-06 -4.449078183e-05 -3.189207681e-06 -1.835420588e-05 5.857975141e-05 -1.345325758e-06 -3.410267796e-05 -4.693750109e-05 3.078644903e-17 0.000110294995 0.002126648843 -0.1301629876 0.09961212042 -5.505996693e-17 -2.487789129e-05 0.03134741919 0.03933664719 0.02920581601 9.233846776e-18 5.957924196e-07 9.990763934e-05 0.003683901489 0.01492585508 1.498641689e-19 5.484326245e-09 -0.0005187110244 -0.0006143122673 0.009279294341 1.338930836e-18 6.445500771e-07 -7.743926652e-05 0.0005846202813 -0.005737145133 9.358974037e-20 -5.596676116e-08 -0.00011073194 7.364227175e-05 0.003861711626 1.601898927e-19 -2.314490463e-08 0.0001798622116 -0.0008130502236 -0.0009403931124 5.584316974e-20 -1.138363526e-08 -8.788905502e-05 -0.0004928304779 0.001340263358 1.296261415e-10 -1.216219656e-20 -1.921218185e-06 -0.0001869104268 -0.0005144012122 -3.364959129e-21 -2.228875718e-09 1.546848042e-05 -8.675603883e-06 1.945408666e-05 3.427459834e-21 -4.085365374e-09 7.909133107e-05 -3.7093821e-06 -2.484860543e-05 -7.292952895e-10 -3.357408089e-20 -8.456267711e-06 -7.838451556e-05 2.867155989e-05 5.352557712e-21 7.099227977e-09 -1.032037982e-06 -3.100197019e-05 -5.625985762e-05 -0.05927247197 -0.03809046879 -0.0006901143036 0.007487184841 0.0002645453652 -0.0004814723012 1.366363443e-05 3.163681238e-05 -0.0001375110152 6.446129117e-06 1.373294983e-05 -3.654624656e-07 -2.624230538e-05 0.000367850594 0.004807258495 -0.02353751603 -0.0183889999 0.3543905743 4.076642384e-06 0.1041707644 0.006481122386 7.948042222e-07 -0.03169574622 -0.002611643522 1.113609612e-06 -0.004389354044 -0.03649783075 -1.44292268e-07 0.004121154416 0.003965144999 -5.467426334e-09 0.0006943742146 0.007421621129 -4.995095634e-08 0.0008378210616 -7.337690527e-05 7.637639573e-08 -0.0003441754804 -0.003169182967 -1.670192649e-08 0.0003700976674 -1.785400458e-05 1.729184354e-08 -1.815536093e-05 0.0003259139983 -4.368562535e-09 0.0001969908044 3.026704621e-06 1.060763658e-08 -3.63681444e-07 -0.0002660469175 1.753451575e-09 -1.287575513e-17 -2.315027092e-18 3.299239881e-17 -0.01737703955 -0.05031674398 4.767809862e-18 6.390304361e-18 1.048224287e-17 0.01299781635 0.03038468803 -1.663937623e-20 -1.272784709e-19 -2.495602724e-19 0.002454077071 -0.0002118028566 -1.114070402e-19 -1.120389382e-20 4.421666353e-20 -9.256997892e-05 -0.0002695438654 -1.669596731e-21 -3.642620231e-21 -5.000152322e-21 -5.046641429e-05 -0.0001183006493 4.475137794e-22 8.182540504e-22 -1.049030812e-21 7.533357652e-06 -4.292158749e-05 2.447861826e-20 5.865833894e-21 1.777006192e-20 7.748512294e-05 0.0001500499104 9.748990561e-21 -1.777740594e-21 -4.887679582e-21 -6.726813553e-06 -0.0001659207901 2.525265558e-21 4.962337481e-22 -1.789740321e-22 -3.002737977e-06 -4.584746107e-05 3.416577773e-22 -1.839687067e-21 -4.457831322e-22 4.238411513e-06 5.956237446e-06 -5.296576443e-22 5.462257036e-22 1.771971567e-21 -1.575744758e-06 -7.939185372e-06 2.581153347e-21 -2.616236104e-21 4.021907619e-21 -3.095326444e-06 -3.158353428e-05 1.455952712e-21 2.362049512e-22 -6.775426036e-22 -1.948635923e-06 -5.801098381e-06 -0.1991349306 0.2636121687 0.2519476486 0.01261139288 -0.03371515317 -0.01916839818 0.01647159049 0.0015572492 -0.0008194721838 -0.002138011801 0.0005707191219 0.0002760169324 -5.269764522e-06 0.1408168131 0.1323362555 0.06285287025 0.0343264734 0.08220291181 0.1538074329 -0.004658481552 -0.007802855126 0.1466459473 0.002918630294 0.006100304109 -0.04104980382 -0.001451370103 -0.0005449536231 0.04079112284 0.0002566395489 -0.0003861912135 -0.01474643019 0.0001971904122 0.0001843078855 0.004867368172 0.0007950012213 -2.045774238e-06 0.0005935515882 -8.451441461e-05 -0.0001107515416 -0.0002158652291 -5.506651279e-07 -0.0001355363319 -0.0005717274104 2.253087835e-05 -5.352550116e-05 -0.0001517905646 -1.471844241e-05 0.0001111066287 0.0002983005522 -1.237056292e-05 -2.697570185e-05 -0.000206548503 3.757281244e-17 0.01716901275 0.07103724691 0.03066404161 -0.1984778515 -1.975508601e-17 -0.001583959231 0.09559224695 0.2375069714 0.08156135535 -2.95831728e-18 0.0001947798291 0.005343165304 0.00856916668 0.1174126887 9.188839763e-19 4.328652651e-06 0.00175256272 0.001644686941 0.02783908049 7.323335448e-19 0.0001078023112 0.001403101402 0.001138795317 -0.01845455149 2.67812831e-20 -1.69697304e-05 -0.0004273678589 0.002668445901 0.01261101908 -1.746259625e-19 6.710824069e-05 0.001160855281 0.000214606667 -0.008304948552 6.285509279e-19 -2.064448531e-05 -0.0004978019268 -0.000476813229 0.00817166781 -1.650409054e-19 -5.187211366e-06 -6.64771926e-05 -0.0001991674946 -0.004105334921 2.191213674e-20 5.13895522e-06 5.587689487e-05 0.0003465895211 0.0002491372977 1.050609561e-21 5.497541317e-06 3.364918578e-06 2.146006049e-05 -4.078813192e-05 -5.758712129e-23 -2.685941567e-06 -5.767694346e-05 6.280041947e-05 0.0001837193212 2.05808765e-20 -8.40602135e-07 -1.858233708e-05 -0.0001995123744 -0.0001683582035 --0.02102253106 -0.04014146731 -0.01331741245 0.002913613766 -0.005793304455 0.003205196212 -0.001271681126 0.0001413175885 -0.0004368066635 0.0001210042626 -4.648972396e-05 -6.86466716e-05 -6.123753342e-07 -0.03267557929 -0.03887492122 0.07178429107 0.002057979509 -0.02388794878 -0.052208008 0.002798423067 0.001888235104 -0.03965473147 -0.001931998 -0.001361466109 0.007997238042 0.0002406796269 0.0005137329381 -0.005986449899 0.0001586794568 -3.030724268e-05 0.001573716766 -8.040249476e-05 -0.0003056967441 -0.0001059105612 2.438189068e-05 -0.0004164011344 -0.001351687226 1.275277045e-05 -0.0001056884123 0.0005065007681 -2.965383145e-06 -4.96660597e-05 -0.0002018051933 2.842028535e-05 -4.451506701e-06 -6.568051352e-05 4.974487664e-06 -4.062757943e-05 -0.0001119295527 2.098445416e-06 1.529245923e-05 -5.185046196e-07 -1.652444852e-17 0.0001112486947 -0.003315289179 0.0001095518523 0.09523529182 8.429390865e-18 -7.241348451e-05 0.01777501522 -0.06135775843 -0.02180982083 2.352119313e-18 1.29672426e-06 -0.00453520911 -0.005746073427 -0.02080081172 1.572652261e-18 1.618562158e-08 -0.0003612890506 0.000958131583 -0.01495684294 -2.086075745e-18 -1.215577846e-06 0.0002939140828 -0.0009118866485 0.009917928276 1.25986753e-19 6.737126879e-08 0.0001727208466 -2.766512041e-05 -0.006144873269 -9.140442276e-20 -3.173687296e-09 -0.0002805439586 0.0002133598959 0.001168312631 -4.299658856e-20 3.175385875e-09 0.0001370872415 -0.0003946685941 -0.001892442031 -4.896741557e-11 5.362203181e-20 2.99666998e-06 -0.0001583588378 0.0008600252175 3.04941871e-21 4.976581969e-09 -2.412725807e-05 -0.0001205213952 -0.0001948102023 -1.236104025e-21 2.996844191e-09 -0.0001283886751 5.786471155e-06 -7.289896444e-05 -1.019997771e-10 2.96241127e-20 1.318992887e-05 -2.838539285e-05 1.36507519e-05 4.166143195e-21 -9.537619227e-10 1.609808302e-06 4.179570361e-05 -9.965008949e-05 --0.04700722448 -0.009601564962 0.0009686260548 -0.001084460567 0.0005259992412 -1.147556825e-05 -3.466483044e-05 -1.055826704e-05 4.004041242e-05 7.046194469e-06 -6.582892192e-06 8.937993786e-06 8.797302832e-06 -0.000276380147 0.02379218265 -0.01081418357 -0.03960925998 0.02646723986 -3.066370261e-06 0.009654811609 -0.001292472373 -5.992254826e-07 0.0004079688004 -0.00401041464 -8.379736405e-07 -0.001235125324 -0.0003472122016 1.088589246e-07 0.0001615778361 0.0002826069356 4.058527367e-09 -0.0006477668128 0.0009415797142 3.754298237e-08 0.0003185273609 -0.0002233879237 -5.749648084e-08 -0.0001415506513 1.047690118e-05 1.259187951e-08 9.403583213e-05 -7.978478121e-05 -1.301978422e-08 -5.759043824e-05 7.324331692e-05 3.287102726e-09 2.564107945e-05 2.109273914e-06 -7.986607961e-09 2.346225862e-06 -4.286444109e-06 -1.320671465e-09 1.539548625e-17 -1.176340029e-17 9.569886756e-18 -0.004516109945 0.04370531255 1.735597205e-18 6.665897533e-18 -4.285168071e-18 -0.00853950875 -0.01321725376 -8.932393505e-20 9.18902061e-20 -7.871805243e-20 2.617203705e-05 -0.003391265629 1.323644372e-19 2.547500327e-20 6.869917859e-20 7.864417873e-05 0.001033303305 3.708067111e-21 -2.540920101e-21 6.109377009e-21 -2.874158557e-06 -0.0002011838305 -2.947077037e-23 -2.07273352e-21 2.091265598e-21 1.828977531e-05 1.140571419e-05 -4.710963746e-21 -3.198153213e-20 3.581355027e-21 -2.528855135e-05 -5.557646313e-05 -7.793989446e-21 3.307753756e-21 1.099898184e-21 4.133747304e-05 6.67756502e-05 4.771571787e-22 -8.132826097e-23 7.526011042e-23 4.294078497e-06 4.370724243e-06 5.20249372e-23 -9.310401982e-22 -4.523665781e-22 -4.311406842e-06 -1.211878113e-05 -4.53828887e-22 -5.689990704e-22 -1.434143561e-21 2.740255525e-06 1.346530331e-05 3.073686796e-21 2.848365623e-21 -4.815358257e-22 6.204610555e-06 1.270933351e-05 -2.931344009e-22 5.837614651e-22 1.006061996e-21 -7.577685843e-07 1.587433757e-06 -0.03553450401 0.009617753328 0.01144967242 0.0001398402447 -0.00168659808 -0.0007988345425 0.0009742398781 -1.582808228e-05 -0.0001454424625 -0.0001635788665 2.168710241e-06 5.548424333e-07 -1.209409212e-05 0.08139018333 0.00741857189 -0.008337386292 -0.001959155005 0.004593946737 -0.0269105816 -0.000908829494 -0.0004355721466 0.01240803775 0.0001348946477 0.0003409150419 -0.003332863561 -8.112211717e-05 0.0001298088943 0.003139699109 1.433684476e-05 0.0001658961118 -0.0006934756308 1.101318382e-05 9.329408173e-05 9.263437153e-05 4.505539472e-05 -1.113881044e-07 -0.000240281585 -4.718775495e-06 -4.064135406e-05 -0.0001464070015 -3.065455292e-08 3.194473234e-06 -0.0001480532633 1.260698419e-06 1.980474704e-06 -5.10558462e-05 -8.212385418e-07 1.764998929e-05 -3.517314309e-05 -6.904803351e-07 1.011620973e-05 -6.523754344e-05 -6.511449621e-17 0.02115284641 0.05694029186 0.001762338105 -0.03511202103 4.612022652e-17 -0.0009852250213 -0.009168187482 0.01327505135 -0.01754031052 3.362630097e-18 9.083874602e-05 0.00120809593 0.0004785606211 0.009105997184 -2.567925408e-19 3.878517893e-06 0.0001514043853 9.230486944e-05 0.001691301354 -6.598627874e-20 9.036968384e-06 7.835625819e-05 0.0005201492207 -0.0005375103223 9.303300329e-21 9.962942587e-06 -2.385283678e-05 0.000501328572 0.000580641733 2.254927915e-20 1.626701463e-05 6.484464346e-05 -0.0001298163245 -0.0005946698722 2.410434104e-20 4.904953214e-06 -2.778873757e-05 -0.0002434274699 0.0003523348606 2.190189069e-20 -2.701430725e-08 -3.712036078e-06 -0.0001138959428 -0.0002522660184 1.632883219e-20 1.252059255e-06 3.12153863e-06 3.533562492e-05 -9.420237728e-05 2.206715761e-20 3.180422452e-07 -1.57307216e-06 1.199338878e-06 -4.137003032e-05 3.514411753e-21 1.271888958e-06 -3.219327381e-06 2.626089112e-05 -4.603007034e-05 9.703344115e-21 8.144055974e-07 -1.037009508e-06 1.07489516e-06 -8.728905371e-05 --0.06857434848 -0.0912160987 -0.01862264799 0.004755204567 -0.01141165879 0.005774242537 -0.002372684816 0.0004676564406 -0.00076463649 0.0003029420525 -3.75031923e-05 -0.000123213628 5.656628877e-06 -0.06439119585 0.05192561413 -0.002097311747 -0.0031624689 -0.04710138253 -0.1196646473 0.002999798266 0.003722246203 -0.07490853566 -0.002336912593 -0.002684340248 0.01472596365 0.0004744751732 0.0008950727758 -0.0125846494 0.0003388881802 -5.976974504e-05 0.002554049798 -0.0001584990837 -0.0002749383145 0.0001395023265 4.806554508e-05 -0.0006555144174 -0.002358140949 2.514127397e-05 2.135272885e-05 0.001050005606 -5.845078015e-06 -7.39082713e-05 -0.000225046941 6.000243404e-05 -8.776325006e-06 -4.270877602e-05 9.807310624e-06 -3.559908746e-05 -0.0002074521142 4.137479499e-06 5.449526835e-05 4.63342462e-05 1.311916521e-17 3.726773652e-05 -0.006507789114 0.130570892 0.0267803225 -1.047557923e-17 -7.134673804e-05 -0.007786091873 -0.1209824995 -0.0582286413 -2.205251788e-18 1.126517868e-06 -0.006127758755 -0.01132801934 -0.04258122475 -1.877154067e-18 1.601416211e-08 3.946108168e-05 0.001887968434 -0.02917428598 1.020809721e-18 -2.261444747e-06 0.000468273452 -0.001797851601 0.01893224024 -6.454343847e-20 1.455965878e-07 0.0003405617549 -0.000110686316 -0.01203541033 3.051832363e-19 1.896964064e-08 -0.0005530524587 0.001098127125 0.002495185578 -2.488047311e-20 1.562447607e-08 0.0002702542684 -3.075384764e-05 -0.003857714295 -1.949807758e-10 7.960173594e-21 5.907644061e-06 -2.320429057e-05 0.001658413483 7.444551492e-21 8.843434045e-09 -4.756288528e-05 -0.0001514827055 -0.0002783754075 -1.0043198e-21 8.073793617e-09 -0.0002498788773 1.141782009e-05 -7.198530524e-05 5.955001369e-10 -2.890102403e-20 2.600337419e-05 4.082497686e-05 -1.058210916e-05 3.667412888e-21 -8.383096925e-09 3.174513433e-06 8.661084516e-05 -7.607243243e-05 -0.1082811999 -0.02081564347 -0.00177686416 0.007732181945 -0.000418117818 -0.0003977365066 5.415263961e-05 3.999287841e-05 -0.0001666625009 -3.118726226e-06 1.980996335e-05 -1.12621208e-05 -3.322177155e-05 -0.0005445007416 0.00509634479 -0.03237930267 0.02587426704 0.2787351221 6.948258386e-06 0.08158607279 0.002581245259 6.542666555e-07 -0.02515348411 -6.26655092e-05 1.170444568e-06 -0.004208109883 -0.02874786951 -8.633234066e-08 0.003248361713 0.003125405167 -3.055639054e-09 0.0007327629346 0.005871090021 -2.152404292e-08 0.0006379427287 -0.00012193156 6.978523902e-08 -0.0003408217922 -0.00249450307 -8.810481095e-09 0.000288027622 -9.214830979e-06 1.544880035e-08 -9.555785636e-06 0.0002580734449 2.118805035e-09 0.0001520688791 -1.746648927e-05 1.109121112e-08 -1.488219595e-05 -0.0002092240215 3.609025927e-09 3.711966366e-17 1.104366366e-17 6.255884887e-18 -0.03752372347 -0.06838246849 -1.559214307e-18 9.89729431e-19 7.415945235e-18 0.01431907423 0.04943849858 -6.629894242e-20 1.556292292e-19 -6.712524548e-20 0.002018441791 0.004021765565 4.044546687e-19 -3.115805443e-20 -1.002141225e-19 -0.0006099803151 -0.001061926354 -4.034884958e-22 8.673192395e-22 1.956317813e-21 -3.971092754e-05 0.00014535001 -1.293581352e-21 -3.097959943e-21 1.296223481e-21 -1.675450498e-05 -4.989106922e-05 -3.504707366e-21 -8.865650216e-21 1.289253624e-20 7.635767686e-05 0.0002173132808 1.633439753e-20 8.374963108e-22 2.002915898e-21 -6.706726347e-05 -0.0002130398189 1.673822189e-21 5.488568233e-22 -5.604011808e-22 -9.005128785e-06 -4.339044931e-05 -6.279676359e-23 -1.105041943e-21 -7.851094529e-22 6.549462356e-06 2.229775597e-05 -8.05163144e-22 -3.954184712e-23 3.02323165e-22 -8.816381975e-06 -1.917428111e-05 2.284545742e-21 -1.210721869e-21 1.031029937e-21 -1.283276484e-05 -3.999809148e-05 7.181618432e-22 -1.271878937e-22 2.589797345e-23 -2.538601949e-06 -5.105989528e-06 -0.2240345941 0.1956436186 0.1935237281 0.009819627761 -0.02653076424 -0.01485920955 0.01302989144 0.001063972136 -0.0008150779802 -0.001770431264 0.0004032382332 0.0001930544626 -2.603876342e-05 0.1555999716 0.1041805047 0.1051708499 0.01354888712 0.06468704656 0.1016923407 -0.004705879842 -0.006139839996 0.1141497021 0.002288823535 0.004800156287 -0.03230972005 -0.001142264229 -0.0002528434014 0.03230026921 0.0002019373485 -0.0001755349651 -0.01126799674 0.0001551623697 9.04577663e-05 0.003684523273 0.000625639997 -1.614222706e-06 3.499195138e-05 -6.650265039e-05 -0.0002104598107 -0.000392838204 -4.335178432e-07 -0.0001127412689 -0.0006139459647 1.772672352e-05 -4.186640149e-05 -0.0001775818806 -1.158208113e-05 8.536240305e-05 0.0001680266228 -9.734386258e-06 -2.641031111e-05 -0.0002322500531 -4.62406934e-17 0.01781778079 0.09925487899 0.02419961748 -0.1576283011 -2.521224948e-17 -0.004527415804 0.05266885381 0.1868882152 0.0618816475 -6.891347089e-18 0.0002653347894 0.005633858996 0.006742850493 0.09257374539 3.193047929e-19 8.128601042e-06 0.001404727984 0.001294157539 0.02190632944 -1.18979744e-19 8.554645152e-05 0.001104058475 0.001500494133 -0.0144575164 1.792005782e-19 -1.117145818e-05 -0.0003362915965 0.002326967174 0.01006457635 -8.30428753e-20 5.057477982e-05 0.0009134224633 -0.0002173785542 -0.006632547894 -3.533910303e-20 -1.98090776e-05 -0.0003917168709 -0.0008111894148 0.006334756104 -7.498621656e-20 -4.054352347e-06 -5.230921693e-05 -0.0003794897258 -0.003276040267 5.768116005e-20 4.098622457e-06 4.39671445e-05 0.0002506502229 8.074780095e-05 1.499456121e-20 4.327215956e-06 2.160251767e-06 1.688406393e-05 -9.566140724e-05 6.788000128e-21 -2.011792822e-06 -4.538551711e-05 2.70125569e-05 0.0001069440243 4.885534436e-21 -6.229945749e-07 -1.462259077e-05 -0.0001595243982 -0.0002374837326 -0.1740691178 0.01831031347 0.0001517977974 -0.001818118535 0.009031706446 -0.00415311426 0.002156256082 -0.0006745358349 0.0001170736176 -0.0004428379537 -5.326959235e-05 3.396667829e-05 -6.49981445e-05 0.05093085868 0.1801668029 0.1454053094 0.01062194643 0.03726438529 -0.00271692372 0.003226395246 -0.002945189265 0.0624668824 -0.001630592411 0.002123578337 -0.01049859374 -0.0003754157403 -3.138578928e-05 0.01049665277 -0.0002226723944 4.729355196e-05 -0.001311247516 0.0001253997299 0.0001130375034 -9.66293791e-05 -3.803803764e-05 0.000498756822 0.0006025546361 -1.98924971e-05 -0.000286437435 -0.001512542836 4.624139237e-06 6.455096871e-05 -0.0001890484724 -4.433954242e-05 6.944196018e-06 -9.793544521e-05 -7.76058971e-06 3.655791529e-05 -3.901115788e-05 -3.274066326e-06 -3.581356733e-05 -0.0002353523126 1.015595059e-16 -0.0001758610869 0.005121150932 -0.02800033543 0.1191678158 3.611137033e-17 -0.0002953299404 0.1091779138 0.09570962735 0.01258309895 1.478050128e-19 2.556448462e-06 -0.001794380866 0.008962626359 0.03735357691 1.278087134e-19 8.162192771e-10 -0.001814949188 -0.001494466451 0.02343274011 -9.747732983e-19 1.180068397e-06 0.0001886433654 0.001422455865 -0.01486692819 -2.025250988e-19 -1.272102019e-07 -0.0002694704917 0.0007300750181 0.009649008593 -2.171234013e-19 -1.347171913e-08 0.0004375254341 -0.001502523348 -0.002863916157 2.785973029e-20 -1.456832465e-08 -0.0002138379489 -0.001322672039 0.002649518076 7.72524908e-11 3.485822421e-20 -4.674206183e-06 -0.0004306697383 -0.001480935413 2.301304971e-20 -1.292320142e-08 3.762906719e-05 8.661493295e-05 -9.961072808e-05 2.618154603e-20 -7.850726009e-09 0.0001994808249 -9.033441415e-06 -0.0001432698723 2.916104483e-10 3.496680113e-20 -2.057579563e-05 -2.494447944e-05 -0.0001734630522 5.925627437e-21 3.041701381e-10 -2.512652033e-06 -6.573855801e-05 -0.0002318759249 -0.08453014315 0.01049610249 -0.001670173421 0.002775450943 -0.0008207463629 -4.62487533e-05 5.828347323e-05 2.145746376e-05 -8.373841966e-05 -1.060315761e-05 1.257023959e-05 -1.460199219e-05 -1.786276606e-05 0.0004093209756 -0.008817988056 -0.007974464496 0.04811399499 0.02084135649 -5.221639985e-06 0.006994073189 -0.006133726464 -4.933973651e-07 0.0004879231458 0.0001863612928 -8.805644464e-07 -0.002425990215 -0.0003627101332 6.503419044e-08 0.0001391787745 0.0002317983634 2.261504223e-09 -0.0001140484465 0.0007742462957 1.61980615e-08 0.0002385988798 -0.0003322568279 -5.253895615e-08 -0.0002442549731 1.62009866e-06 6.635955565e-09 7.449691047e-05 -6.003520097e-05 -1.163112863e-08 -3.278366552e-05 5.76310994e-05 -1.593743131e-09 1.891173557e-05 -4.198506325e-05 -8.351962705e-09 -2.667114284e-05 -3.387164951e-06 -2.718876096e-09 -2.027764694e-17 -3.93392055e-18 1.000858195e-17 -0.03246216219 -0.04047440903 -8.839816124e-19 5.990624398e-18 -1.719094242e-18 0.006008973614 0.03526580573 2.730562709e-20 -5.584388656e-19 1.599328485e-19 0.000223993157 0.005557402231 -5.722119596e-19 4.797716438e-20 6.465744994e-22 -0.0007179632947 -0.001141326748 2.412978499e-21 -2.172649696e-20 5.119720626e-21 -2.218001117e-06 0.0003117015545 1.741555956e-21 2.369726761e-21 2.603242588e-21 -2.981530632e-05 -2.330701503e-05 -2.078729065e-21 -2.238042009e-20 1.697014215e-20 2.385494747e-05 0.0001384945169 -8.448309963e-21 3.536010953e-21 -3.57156335e-21 -8.239766263e-05 -0.0001169143024 9.017327596e-22 3.697656868e-21 -1.383562687e-22 -8.960098281e-06 -1.173591007e-05 -5.737944124e-22 1.911056443e-21 -2.056115625e-21 4.458369162e-06 2.366790845e-05 -8.374075705e-23 -1.094384983e-22 -2.496274684e-21 -1.013889616e-05 -1.75299473e-05 4.466984976e-21 -4.956447067e-22 7.244197779e-22 -1.395452979e-05 -2.151776979e-05 -5.303055495e-23 -5.376342827e-22 5.966588655e-22 -1.421706037e-06 -9.742918481e-07 -0.08408005694 -0.002253423474 0.005070375992 2.343437215e-05 -0.00132819167 -0.0004420258949 0.0008239900039 -0.0001469441522 -0.0002563304572 -0.0002021262081 -3.649823212e-05 -1.967680532e-05 -2.776042917e-05 0.06143033664 0.005800733543 0.07989360224 -0.01670494883 0.003611891264 -0.03333696846 -0.001604490239 -0.0003427434747 0.008751106888 9.965857033e-05 0.0002682563593 -0.002629847668 -6.366100103e-05 0.000207662453 0.00268038342 1.128504344e-05 0.0001536960634 -0.0001822517948 8.666843973e-06 -6.461333466e-05 4.421346589e-05 3.50423578e-05 -8.429269529e-08 -0.0005486605018 -3.712577971e-06 -0.0001687101555 -0.0002670592058 -2.395938161e-08 -1.414561312e-05 -0.0002416443766 9.936510055e-07 -2.661581982e-06 -8.42010749e-05 -6.457907614e-07 2.497074184e-06 -7.35894301e-05 -5.430626818e-07 -7.646310625e-06 -9.815148541e-05 9.4959393e-18 0.006575779368 0.05673621505 0.001333374299 0.009137384208 -2.661928123e-17 -0.004430306234 -0.0263295097 0.01044522068 -0.01447150966 1.452145412e-23 0.0001574379988 0.002131788782 0.0003765538898 0.00733697319 -1.407136685e-18 6.466753808e-06 0.0001407350982 7.26320555e-05 0.00133161796 5.785349284e-19 5.632424455e-06 6.165798696e-05 0.0008529864281 -0.000307694665 -4.287384113e-20 1.939399592e-06 -1.876313775e-05 0.0004205023021 0.0007457265377 -5.210019391e-20 -2.570865484e-07 5.104067292e-05 -0.00050607131 -0.0004560694465 4.169486897e-22 -5.792591746e-06 -2.185816027e-05 -0.0006014773045 0.0002510763989 3.213858444e-20 -1.969551964e-07 -2.920745644e-06 -0.0003047772045 -0.0002068527473 8.70399464e-21 2.859131142e-07 2.45685135e-06 -1.657628617e-05 -0.0001434710534 -7.11172086e-21 2.436350962e-07 -5.790829712e-07 9.454176877e-07 -8.658712507e-05 7.801332087e-21 -7.193096584e-09 -2.532319895e-06 -2.631724932e-05 -3.816833414e-05 3.309518056e-20 8.758573298e-09 -8.1548416e-07 -1.069197923e-05 -0.0001461043789 -0.2246958858 0.1053577669 0.01186303561 -0.005144933743 0.01779582619 -0.008301271879 0.003844790075 -0.001107875381 0.0007224425806 -0.0006842756524 -4.632549571e-05 0.0001312616168 -6.378561748e-05 0.1004625471 0.2845975243 0.11674096 0.01309796249 0.07346406158 0.09606905872 0.001492292625 -0.005805886485 0.1173642108 -0.0002162464679 0.004186965275 -0.02131901468 -0.0007400666087 -0.000567487072 0.02036964236 -0.0004710237126 9.321143049e-05 -0.003197776837 0.0002472302769 0.0005033329174 -0.0006576364319 -7.496552236e-05 0.001053508495 0.002332405323 -3.92139113e-05 -0.0002931929802 -0.00235312344 9.117895334e-06 0.0001389389421 -7.915357808e-05 -8.930207143e-05 1.368844355e-05 -7.830073171e-05 -1.529605017e-05 8.052110036e-05 0.0001127006683 -6.452806561e-06 -6.655755157e-05 -0.0002845035523 -6.960130797e-17 4.378379681e-05 0.01018826223 -0.0474430534 0.06992581824 -2.047262749e-17 -0.0001625480477 0.1295602579 0.1887012975 0.05609188335 -1.428128224e-18 2.206495262e-06 0.002182230283 0.01766911325 0.06999899099 -6.974364791e-20 -5.133135515e-10 -0.002032544498 -0.002944805895 0.04555390224 7.603654971e-19 2.996023214e-06 -5.255070652e-05 0.002804153173 -0.02950579312 -3.700102165e-19 -2.085089332e-07 -0.0005311504475 0.001010618601 0.01870181531 3.718986239e-19 -2.293120796e-08 0.0008626818445 -0.002073202736 -0.005273322783 7.711153146e-20 -2.374529287e-08 -0.0004215259379 -0.001399024257 0.005532453243 3.016214862e-10 -8.925386685e-20 -9.214531069e-06 -0.0004303235228 -0.002800507443 -4.068741387e-21 -9.552013692e-09 7.41903673e-05 0.0002592565586 1.514345431e-05 -2.793696044e-20 -7.252431799e-09 0.0003947224626 -1.780330741e-05 -0.0001100454904 -1.181889301e-09 -1.705067131e-20 -4.055751682e-05 -2.992111093e-05 -0.0002059470117 -1.911226897e-21 1.427557531e-08 -4.95023335e-06 -0.0001294553354 -0.0002054021337 -0.1594413204 0.02356952288 -0.003190208968 0.004775249754 -0.001617809155 -4.997081061e-05 0.000112192263 3.909641606e-05 -0.0001514092558 -2.115166873e-05 2.330188994e-05 -2.836172476e-05 -3.255456504e-05 0.0008209116124 -0.03555628463 0.0002357444003 0.1036299779 0.001182985152 -3.867829329e-06 -0.000377217276 -0.006857262538 -5.54157798e-08 0.0002397536554 0.004265583511 -3.307940068e-07 -0.001986878991 -0.0001342068592 -2.262708086e-08 2.309892876e-05 2.49418683e-05 -1.060403644e-09 0.0004973970251 8.569047938e-05 -1.608468006e-08 -2.007214182e-06 -0.0002177875977 -1.222415537e-08 -0.0001828170023 -8.343223886e-06 -3.795727641e-09 4.800274164e-06 1.426989623e-07 -2.4144994e-09 1.412612314e-05 3.215752048e-06 -5.411429861e-09 -5.53912647e-07 -5.791425811e-05 -3.098827539e-09 -3.77983941e-05 -2.073352738e-07 -2.290438821e-09 -6.486592235e-17 7.636571965e-18 2.311538183e-18 -0.03861992063 -0.09758013462 7.21456163e-19 -9.446111559e-19 3.590990297e-18 0.01654178108 0.06011260366 3.337875753e-19 8.05865416e-20 1.229996555e-19 0.0002714815141 0.01078376382 -4.099921299e-19 -1.546711076e-19 5.8746572e-20 -0.001033013709 -0.002552133123 1.020133563e-20 3.752369012e-20 2.576657089e-20 -6.83560949e-08 0.000615832056 -1.04321473e-21 -2.922143173e-21 -4.09065357e-21 -5.795049832e-05 -4.24036256e-05 7.242560489e-21 -4.54903421e-21 7.674022638e-21 5.704060268e-05 0.000239748926 6.616916612e-21 1.22950301e-20 -1.893394246e-21 -0.0001509267775 -0.0002222874106 3.265216199e-22 2.38323359e-21 -1.247394742e-21 -1.621067906e-05 -1.997671341e-05 3.557528507e-22 2.516336865e-22 -1.055791136e-21 1.024493079e-05 4.359767513e-05 1.655192291e-21 -2.070360238e-21 9.045896024e-21 -1.622066108e-05 -3.678893504e-05 2.925861802e-21 8.778600862e-22 9.514772803e-22 -2.476271988e-05 -4.133164645e-05 3.513614279e-22 5.783929122e-23 -5.724061183e-22 -1.130363246e-06 -2.885296442e-06 -0.07614740613 -0.01263065168 -0.004732153038 -0.0001089552317 -7.551387115e-05 0.0002128419036 0.0001190822088 -0.000179441317 -0.0001949670829 -0.0001047556525 -5.068142775e-05 -2.670771097e-05 -2.4778873e-05 0.0001031355424 0.00027716356 0.1145370565 -0.02023922085 0.0001979357604 -0.01734634774 -0.001221953347 -1.914500136e-05 -0.0008003606906 -2.693183733e-06 1.498017702e-05 -0.0001561678435 -3.33640887e-06 0.000145946678 0.0004168581692 6.35010612e-07 3.806707663e-05 0.0004525441566 4.851042447e-07 -0.0001793437163 -3.40444403e-05 1.434263833e-06 -4.349041177e-10 -0.00048847785 -2.066937099e-07 -0.0001835102755 -0.0002082599925 -1.13193098e-09 -2.200092977e-05 -0.0001728325959 5.758044005e-08 -5.521595782e-06 -6.075794851e-05 -3.552988251e-08 -1.436413308e-05 -6.256667351e-05 -2.999931842e-08 -2.029755754e-05 -6.509085304e-05 5.741963251e-17 -0.01245264422 0.01835982897 6.520617235e-06 0.04732174088 4.102850826e-18 -0.004901119943 -0.0258084454 0.0005826024477 -0.001660602165 6.433272253e-20 0.0001182377602 0.001622944785 2.101270459e-05 0.0006283588064 3.982511426e-19 4.709008827e-06 3.535982088e-05 4.055945085e-06 7.535559805e-05 1.007988499e-19 -1.567946623e-06 3.44528379e-06 0.0006125582695 0.0001295656395 2.879398939e-20 -7.403933459e-06 -1.040169411e-06 5.661275332e-05 0.0004093970989 1.346198865e-20 -1.66390482e-05 2.870962084e-06 -0.0005425452171 -1.03685069e-05 -2.006323304e-20 -1.261285845e-05 -1.210424511e-06 -0.0005555232752 -1.929430054e-05 3.330669093e-20 -2.347023552e-07 -1.629114455e-07 -0.0002909615295 -2.21849427e-05 1.356452351e-20 -8.743968224e-07 1.379629672e-07 -5.743257646e-05 -9.630481859e-05 9.77785362e-21 5.172285942e-09 8.06365619e-07 5.494904328e-08 -7.363305977e-05 7.43127581e-21 -1.283821919e-06 -1.402946903e-07 -6.128732569e-05 -4.612408346e-06 -2.474097479e-20 -8.042842058e-07 -4.489062193e-08 -1.528727942e-05 -0.0001067309112 -0.3673386338 0.2314140214 0.03442418421 -0.01160204821 0.03508483064 -0.01681797871 0.007487102887 -0.001940971808 0.001726239089 -0.00121295683 -2.399662533e-05 0.0002978992511 -9.044267344e-05 0.1980329886 0.3262272813 0.1572580241 0.02057646569 0.1448280673 0.2475703089 -0.00102203472 -0.01144561461 0.2310334281 0.00205386585 0.008254114221 -0.04308787955 -0.001458959998 -0.001650972143 0.03968078905 -0.0009655434604 0.0001837656812 -0.006808880939 0.0004873808952 0.0009444154546 -0.001013806826 -0.0001477895737 0.002056922906 0.005462468085 -7.730617437e-05 -0.0004110662872 -0.00417942809 1.797429531e-05 0.0002587056059 0.0001202662165 -0.0001788029961 2.698558513e-05 -6.127862735e-05 -3.015511441e-05 0.0001426836055 0.0003576261103 -1.272142403e-05 -0.0001430565183 -0.0004245455603 -7.622852475e-17 2.085442696e-05 0.02006083432 -0.1938695805 0.06610595854 -5.73838577e-17 -0.0001445577405 0.1799951496 0.3720052634 0.1328872603 -4.306049764e-18 1.803965111e-06 0.009039525499 0.03483262491 0.1356941585 1.333081688e-18 -1.672626734e-08 -0.002740926733 -0.005805341077 0.08977299626 -1.432069759e-18 6.247585502e-06 -0.000538990583 0.005528118938 -0.05818279741 -1.575165845e-18 -4.229909879e-07 -0.001047132741 0.00145407474 0.03691386798 -5.685836019e-19 -4.948218978e-08 0.001700647995 -0.003855605434 -0.00950845083 3.256022721e-19 -4.721275953e-08 -0.0008309955433 -0.001828588652 0.01121792376 5.962203218e-10 1.85831323e-19 -1.816541365e-05 -0.0005486821054 -0.005383575257 -4.51991878e-21 -2.155521837e-08 0.0001462557415 0.0004963351863 0.0002990214422 -2.740480769e-20 -1.772783892e-08 0.0007749584699 -3.510094649e-05 -7.413845685e-05 -2.167423622e-09 1.361330117e-20 -7.995562747e-05 -8.066836324e-05 -0.000263115953 -9.794449205e-21 2.737196211e-08 -9.759637867e-06 -0.0002588275093 -0.0001967792703 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/gvx_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/gvx_ref.dat deleted file mode 100644 index 5eedd5385f..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/gvx_ref.dat +++ /dev/null @@ -1,27 +0,0 @@ -0.07177091081 -0.01648409288 -0.001149302688 0.00545263498 -0.0002274718938 -0.0002901754975 3.428506344e-05 2.748893714e-05 -0.0001151255588 -1.246489503e-06 1.34212332e-05 -6.88102626e-06 -2.283100556e-05 -0.0003587265301 -0.01730556984 -0.002314840813 0.0163450745 0.2021957093 -3.522953336e-07 0.05851691511 0.003852529061 -2.660126387e-07 -0.01917529931 0.0005008886397 -3.000196795e-07 -0.002256670463 -0.02191389834 5.732847909e-08 0.002418460425 0.002268275393 2.162093133e-09 0.0007686920179 0.004053540181 2.205418951e-08 0.0003671317068 3.104170875e-05 -2.353494056e-08 -0.0001582441829 -0.001921699704 6.957556019e-09 0.0001825511491 2.4139117e-05 -5.427999818e-09 1.751777823e-05 0.000162896497 3.046293762e-09 0.0001083156486 -5.491243284e-06 -2.880971389e-09 -4.646297653e-06 -0.0001588483509 1.701407574e-11 1.386603625e-17 -1.752706848e-17 4.009100862e-18 -0.007418988334 -0.06375627095 1.515729863e-19 -5.655888119e-19 -2.600859913e-18 0.01442182502 0.02869168364 -3.506476751e-20 -1.307608281e-19 -1.893158525e-20 0.001503093676 0.002393368562 -2.477738066e-19 -2.589996477e-20 7.041806119e-19 -0.0001159831465 -0.0009365207586 -9.610686932e-21 7.009229188e-22 -6.200660943e-21 -2.91709923e-05 7.638310337e-05 -5.327130238e-21 2.474367707e-21 -2.490818574e-20 -8.942721117e-06 -3.512124911e-05 -1.698742337e-20 1.953668344e-20 5.276627493e-20 6.690113037e-05 0.0001344715399 4.399394685e-20 1.246001963e-21 -4.193084362e-20 -3.494900681e-05 -0.0001526560091 8.316384928e-21 -3.505707203e-21 4.158965836e-22 -5.059899115e-06 -3.169903552e-05 -1.976126113e-20 4.288863383e-21 -5.104006802e-21 5.839446663e-06 1.271777788e-05 3.559519484e-21 -3.861816241e-22 -3.251586991e-21 -3.01774036e-06 -1.49505324e-05 1.75519897e-22 9.955412147e-22 3.381416341e-21 -6.539723329e-06 -2.905733806e-05 2.370051663e-21 -9.29487735e-22 -1.86768608e-22 -6.448344742e-07 -4.780999943e-06 -0.09189457401 0.1570808401 0.1478958732 0.007566808673 -0.01960653445 -0.01125982658 0.009497466077 0.0009774984873 -0.0003980912267 -0.001201412974 0.0003522442904 0.0001709370569 6.300221553e-06 0.02511297233 0.07664927934 0.04633912421 0.02263144264 0.04758853259 0.110114076 -0.0022199849 -0.00451652447 0.08319456158 0.001703646418 0.003531475322 -0.0232892423 -0.0008402828546 -0.0004351942378 0.02319521696 0.000148561422 -0.0003630848749 -0.008625711426 0.0001141457614 4.482216826e-05 0.002959192772 0.0004597006029 -1.182187645e-06 0.0005469566346 -4.892079347e-05 -3.843845863e-05 -1.081158122e-05 -3.187045668e-07 -8.650317291e-05 -0.0002439246649 1.304433068e-05 -3.492285045e-05 -5.62612115e-05 -8.519199958e-06 5.592369803e-05 0.000211970777 -7.160465711e-06 -2.411111573e-05 -7.826465711e-05 -2.21613839e-17 -0.005060125531 8.420966303e-05 0.0178266173 -0.08971845186 3.953713597e-17 -0.0002492188938 0.06592661088 0.1374956195 0.05810862173 -1.887061683e-18 5.319360874e-05 0.00241454901 0.004960335257 0.06675986315 2.154647044e-18 -2.019116266e-07 0.0009855098531 0.0009525584147 0.01605245585 9.02226585e-19 6.013331435e-05 0.0008121930907 0.0003191654023 -0.01089906896 2.457065124e-20 -1.802393218e-05 -0.0002473712299 0.001282778943 0.007393211251 3.902535164e-19 2.943743685e-05 0.0006719810354 0.000229030567 -0.004696022132 2.933440341e-20 -1.651400272e-05 -0.0002881460193 -0.0001149683431 0.004814304228 1.831441987e-19 -3.200116811e-06 -3.848033959e-05 -3.875518117e-05 -0.00234673765 1.539804449e-20 2.251537729e-06 3.234569967e-05 0.0001878098746 0.0002242611638 5.111316017e-21 3.174145659e-06 3.230050829e-06 1.2422688e-05 5.382834724e-06 -9.317543565e-22 -2.622188859e-06 -3.338509565e-05 1.966664587e-05 0.0001496236178 -8.280357362e-21 -1.129774359e-06 -1.075586261e-05 -0.0001240551505 -3.915310243e-05 -0.02782234614 0.05805887082 0.004983501929 -0.001658645674 0.004897842352 -0.002151614528 0.0008690254353 -0.0002861643611 0.0003459066075 -0.0001410675277 -9.053262046e-06 5.552734378e-05 3.506685037e-06 0.02767599396 -0.06049704799 0.04440941191 0.004014563979 0.02023996659 0.07418564421 -0.0004942462049 -0.001599818765 0.0291966991 0.0005467932574 0.001153488696 -0.005762263648 -0.0002039196352 -0.0003517144622 0.00581418828 -0.0001597713933 2.568260062e-05 -0.0008803409048 6.811892576e-05 3.227661342e-05 -0.0004028760661 -2.06598814e-05 0.0002199358326 0.0009823348305 -1.080510811e-05 -8.823100204e-05 -0.0004067379035 2.512150869e-06 2.545955637e-05 3.127596051e-05 -2.773693195e-05 3.771760637e-06 -1.408074111e-05 -4.215043846e-06 -1.925297876e-06 0.0001043075027 -1.778152489e-06 -3.241972371e-05 -2.458882959e-05 2.846065666e-17 0.0001844506388 0.002796525688 -0.1008527703 0.04171303856 -3.165454299e-17 6.613629481e-05 0.01765611486 0.05198592833 0.03629530823 4.181747477e-18 5.574064746e-09 0.001756903261 0.004868387722 0.01864097785 2.360839531e-19 3.500180295e-09 -0.0002470383497 -0.0008118293735 0.01223010085 8.565915564e-19 1.006644642e-06 -0.0001694919284 0.0007726242344 -0.007867996639 -5.924803745e-20 -5.62729798e-08 -0.0001463532936 6.980927941e-05 0.005045785721 2.089161165e-19 -1.911327024e-08 0.0002376760819 -0.0006344821708 -0.001241729787 3.687964843e-20 -1.010497628e-08 -0.000116151296 -0.0002353902593 0.001740632436 1.699532819e-10 1.696397097e-21 -2.538962719e-06 -8.707844612e-05 -0.0006902433902 -6.08380009e-21 1.144642961e-09 2.044089496e-05 4.663378913e-05 6.886381849e-05 3.931422432e-21 -1.875675537e-09 0.0001067326699 -4.904230997e-06 1.106857968e-05 -1.121913288e-09 -2.049825803e-20 -1.117587487e-05 -5.726963242e-05 3.04467672e-05 1.282840041e-21 1.040345239e-08 -1.364342847e-06 -3.862592172e-05 -4.105260316e-06 -0.004248521904 -0.02072889773 0.0001410175273 0.002730957002 0.000351628688 -0.000212335021 -9.793873742e-06 8.837755527e-06 -4.105936043e-05 5.959041899e-06 2.93219139e-06 3.883758805e-06 -7.313000933e-06 0.0004753246495 0.001704816594 -0.005606462664 -0.02326509013 0.1614650775 4.764030253e-07 0.04758938483 0.00388153523 3.513700228e-07 -0.01435827784 -0.00192485334 3.986630776e-07 -0.00172091703 -0.0166135421 -7.576369318e-08 0.001875072129 0.001804085189 -2.950358833e-09 0.0002474914838 0.00336890092 -2.93139944e-08 0.0003894799903 -9.731033783e-06 3.121320497e-08 -0.0001309323672 -0.00144322875 -9.20612325e-09 0.0001697512797 -9.916210998e-06 7.196222089e-09 -1.001515627e-05 0.0001478501965 -4.040393663e-09 9.081018269e-05 8.703676631e-06 3.81877958e-09 5.22109698e-06 -0.000121224524 -2.406230379e-11 -2.185217868e-17 -3.934125241e-18 1.592749104e-17 0.0008871101307 -0.01229345531 -2.13848137e-18 1.757945696e-18 7.136552301e-18 0.004410312342 0.004417856373 -3.456122569e-20 -4.086133696e-19 4.421337218e-20 0.001085536623 -0.001642236061 6.717829462e-19 -1.53374955e-20 -3.941717846e-20 0.0001560704046 0.0001908619059 -1.813915723e-21 1.671489924e-21 -1.353314081e-20 -2.29864904e-05 -0.0001418807035 -2.389036335e-20 -4.001724531e-21 -1.229792135e-20 1.180235041e-05 -1.360189227e-05 -3.868245293e-20 6.499833805e-21 1.915456194e-20 2.961458939e-05 3.171894455e-05 3.08544833e-20 3.89662251e-22 7.908727998e-21 1.973414713e-05 -4.513390925e-05 1.62323958e-21 -5.008059381e-21 3.633455027e-22 1.083703932e-06 -1.818334302e-05 7.924438964e-21 -1.216350356e-21 1.227793266e-21 7.44241852e-07 -3.786460191e-06 4.621647158e-21 -7.467671618e-22 -7.612129376e-21 2.078415758e-06 1.154676597e-06 5.884103301e-22 6.595993418e-21 4.566417607e-21 2.42725507e-06 -8.796092382e-06 -4.591113301e-22 8.235917119e-23 1.355786263e-22 -5.16568557e-07 -2.442545387e-06 -0.06585008519 0.1244204128 0.1165024039 0.005782632491 -0.01535622586 -0.00881350413 0.00747712168 0.0007688605573 -0.0003104210826 -0.0009413186462 0.0002768722601 0.0001346284578 5.67912916e-06 0.04760778943 0.06025893859 0.008066972684 0.02060323628 0.03744062156 0.07719219544 -0.001737949762 -0.003554073126 0.06725310378 0.001332253006 0.002778587375 -0.01869425965 -0.0006609929913 -0.0003131582989 0.0185048018 0.000116896917 -0.0002232712493 -0.006840591468 8.981739606e-05 0.0001040881482 0.002270692301 0.0003620817956 -9.301698948e-07 0.0004298060349 -3.849467299e-05 -4.936273647e-06 -1.603097803e-05 -2.507394618e-07 -5.948642141e-05 -0.0001998614143 1.026324813e-05 -2.447272101e-05 -4.768037265e-05 -6.703801191e-06 5.136905132e-05 0.0001604860997 -5.634460394e-06 -1.037383787e-05 -6.834777967e-05 -2.057099515e-18 0.006230318719 0.01635488319 0.01394077697 -0.08986760888 -6.996269461e-18 0.000489420869 0.05186288231 0.1081802233 0.03799744433 -4.245532489e-18 4.735961241e-05 0.001906167616 0.003903107336 0.05341124626 5.069750408e-19 2.287608836e-07 0.0007887836609 0.0007491276196 0.01268003786 -2.412187848e-19 4.883649296e-05 0.0006390902448 0.0002956419589 -0.008429305229 1.026310095e-20 -8.53454133e-06 -0.0001946560399 0.001131567598 0.005691953979 1.378308576e-19 3.138997747e-05 0.0005287583168 0.0002402962736 -0.003746739349 6.989425995e-21 -8.08771484e-06 -0.0002267365921 -5.627270354e-05 0.003757229302 3.029472626e-20 -2.372770326e-06 -3.027918537e-05 -8.502755716e-06 -0.001853057706 -3.028464164e-21 2.320438747e-06 2.545129412e-05 0.0001660112999 0.0001560268214 -3.589134059e-21 2.50353825e-06 1.71258199e-06 9.775531741e-06 4.881224736e-06 2.954934413e-21 -1.26093424e-06 -2.627046106e-05 3.68726221e-05 9.756479902e-05 7.881284526e-21 -3.970710485e-07 -8.46369667e-06 -8.993947619e-05 -3.793076615e-05 --0.07992156578 -0.03669836403 -0.009989252922 0.002844202065 -0.007654330768 0.003923432166 -0.001744304106 0.0003543477457 -0.0003690133466 0.0002536869345 -1.501644091e-05 -6.373798256e-05 2.353118207e-05 -0.04316848685 -0.09548774553 -0.000119993447 -0.002385079111 -0.03157025166 -0.03793836726 0.0008965762027 0.002495341584 -0.05263155405 -0.000839264802 -0.001799213284 0.00983957055 0.0003180681907 0.0003947677539 -0.008339041607 0.0002005348427 -4.005961576e-05 0.001657732029 -0.000106250349 -0.0002697311399 -4.333525014e-05 3.222419539e-05 -0.0004946556114 -0.001230576758 1.68535157e-05 2.688021135e-05 0.0009360030045 -3.918394186e-06 -6.086797737e-05 -8.075361987e-05 3.756197208e-05 -5.883098846e-06 -1.284633171e-05 6.574476266e-06 -4.379533012e-05 -6.908905228e-05 2.773507862e-06 2.462358965e-05 8.64713929e-05 -2.397839799e-17 0.0001478810606 -0.004362808186 0.01041539913 0.02705480777 -1.190098301e-18 5.498124381e-05 -0.0270346616 -0.08108790004 -0.02091143948 -2.77513506e-18 2.373239442e-08 -0.002720508539 -0.007593607542 -0.0293005254 4.906801642e-19 1.177134893e-08 0.0004003381818 0.00126619554 -0.01980404304 -1.410758052e-18 -1.342189895e-06 0.0001496055784 -0.001205126307 0.01288433985 7.825456786e-20 9.71987448e-08 0.0002282791855 -0.0002900733639 -0.008144378896 2.92186585e-20 2.604616832e-09 -0.0003707242595 0.0007136564719 0.001928369364 -2.1098695e-21 7.744990976e-09 0.0001811691738 0.0001937632106 -0.00238936029 -6.503444103e-11 5.737027353e-20 3.960208e-06 4.08240068e-05 0.001188025965 1.414433374e-21 8.481330183e-09 -3.188333635e-05 -0.000121860599 -0.0001085436937 -9.118632966e-21 5.132651015e-09 -0.0001693824814 7.649874226e-06 -1.499517885e-06 -1.837004241e-10 1.160393709e-20 1.743176001e-05 -1.196627605e-05 7.419940926e-05 -1.428397802e-21 -8.236505237e-10 2.1280374e-06 5.543589956e-05 1.124785157e-05 --0.06625822774 -0.01103529126 0.001338868865 -0.001833176938 0.0006952350806 8.508939923e-06 -4.736576045e-05 -1.579423302e-05 6.076961116e-05 9.168793254e-06 -9.549186997e-06 1.205564724e-05 1.315411577e-05 -0.0003572095243 0.02100051336 -0.005123092893 -0.04730062126 0.01204983975 -3.600768006e-07 0.004620156198 0.001299654221 -2.648609181e-07 0.0001242261095 -0.003060077672 -3.000528436e-07 -2.593317078e-05 -0.0001251193865 5.719477193e-08 6.915342085e-05 0.0001252451675 2.192565163e-09 -0.0004410679889 0.0004165681793 2.202468236e-08 0.0001495278307 -4.399993619e-05 -2.349583887e-08 -1.543650406e-05 7.216635285e-06 6.943030498e-09 4.264620804e-05 -3.735376975e-05 -5.418699719e-09 -3.085672474e-05 3.336185062e-05 3.039974073e-09 1.214575858e-05 1.70681027e-05 -2.874734512e-09 1.159314993e-05 -1.947132754e-06 1.835065396e-11 2.346717884e-17 -7.245181656e-18 2.861519671e-18 0.008611859859 0.04753636356 -2.950387011e-18 6.031005558e-18 -2.835397703e-18 -0.008587120673 -0.02287357465 6.653288068e-20 1.553077e-19 5.854669285e-20 -6.314469782e-05 -0.004580478798 7.434724575e-21 -4.472243295e-21 3.805702492e-20 0.0003236278732 0.001191936591 2.023986004e-21 2.897125923e-20 -1.272536679e-20 -1.325219719e-06 -0.0002650948591 1.115522271e-21 1.27406151e-20 -1.457625078e-21 2.464554362e-05 1.710891704e-05 -7.488653547e-21 -1.201337103e-20 -2.712312529e-20 -2.766610641e-05 -9.256574212e-05 2.506226785e-20 1.585413353e-20 -8.502212657e-22 6.124225242e-05 9.295472158e-05 2.063666947e-21 8.1828999e-21 -3.038479709e-21 6.509656258e-06 7.591254463e-06 5.18810778e-21 2.962927295e-21 -3.070066588e-21 -4.861191922e-06 -1.777397134e-05 7.36744854e-22 -2.875046201e-21 -8.579805543e-21 5.785728371e-06 1.651306911e-05 6.335532473e-23 5.263616087e-22 -6.219032785e-21 9.777913502e-06 1.742093315e-05 5.110912358e-23 -3.529122532e-21 1.619505785e-21 -4.051781445e-08 1.543607855e-06 --0.004525651757 0.008005357363 0.006668863914 9.565586508e-05 -0.0007678279309 -0.0004327048543 0.0004225706349 4.242469513e-05 -1.388281232e-05 -4.741483974e-05 1.508748838e-05 7.675686702e-06 1.224370202e-06 0.03803632893 0.003392592011 -0.0357039119 0.004703757958 0.002093557176 -0.007768942692 -8.573400318e-05 -0.0001983943753 0.006025297188 6.383604589e-05 0.0001552811557 -0.001515365607 -3.701314331e-05 2.018320942e-05 0.001352637021 6.528797492e-06 6.701665941e-05 -0.0004499905761 5.015997126e-06 9.343239224e-05 5.27771634e-05 2.067346585e-05 -5.197378107e-08 2.326440128e-05 -2.149505807e-06 3.194976829e-05 -1.064273859e-05 -1.402235996e-08 7.603223766e-06 -2.125014741e-05 5.736208034e-07 2.459474616e-06 -7.006790572e-06 -3.742150093e-07 1.22432666e-05 9.23558005e-07 -3.145970845e-07 1.03674238e-05 -1.243619698e-05 -1.727774309e-17 0.01335071823 0.02153196424 0.0008224084458 -0.02956166296 -2.37269029e-18 0.000900167665 0.002878663492 0.006046765338 -0.007742224178 -2.457523227e-19 9.651666039e-06 0.0001143491522 0.0002179808161 0.004084255633 -7.326092827e-19 5.063274019e-07 6.099084693e-05 4.2043348e-05 0.000770071531 -5.341180994e-19 4.661841829e-06 3.568936018e-05 7.317085116e-05 -0.0002873632905 1.160638365e-20 6.715442467e-06 -1.086677972e-05 0.0002187436262 0.0001578760705 3.568139733e-20 1.222816836e-05 2.95296583e-05 8.994076878e-05 -0.0002752390509 -2.400491414e-20 5.796310636e-06 -1.266026504e-05 4.041028685e-05 0.000170139368 -1.888003056e-20 5.253794656e-08 -1.690826342e-06 2.752675257e-05 -0.0001118207186 2.747391006e-21 8.283717737e-07 1.421587237e-06 3.247381523e-05 -1.731512353e-05 3.506438448e-21 1.473073463e-07 -9.596137932e-07 5.456545524e-07 1.098280145e-06 -5.494181455e-22 9.513349589e-07 -1.466674095e-06 2.930008486e-05 -2.024680007e-05 5.735833035e-21 6.042188581e-07 -4.725285633e-07 4.747682965e-06 -1.11867492e-05 --0.1340737588 -0.1069194293 -0.018268438 0.005445593727 -0.0150794148 0.007370541692 -0.003188687269 0.0007576848098 -0.0008369509576 0.0004784952161 -1.08762992e-05 -0.0001403458073 2.775963537e-05 -0.08510458194 -0.06630193684 -0.04464827782 -0.007192710738 -0.062244457 -0.1247106653 0.001686759168 0.004919056126 -0.09918694358 -0.001663256276 -0.00354742749 0.01885175149 0.0006270288246 0.0008770539314 -0.0169042103 0.0004266049545 -7.898145386e-05 0.00308518033 -0.0002094635345 -0.0003908297387 0.00034675695 6.351773224e-05 -0.0008777404595 -0.002619684878 3.322456945e-05 0.0001241312073 0.001651615153 -7.724756293e-06 -0.0001064031432 -0.000138646592 7.771224097e-05 -1.159791083e-05 -2.958409019e-06 1.296020199e-05 -5.626953218e-05 -0.0001963278333 5.467521175e-06 6.521054288e-05 0.0001395576118 2.392031278e-17 1.163870548e-05 -0.008614086328 0.114899738 -0.005831542679 2.370397638e-18 6.772983836e-06 -0.05362247827 -0.1598800941 -0.06413278656 4.350983443e-18 2.593060549e-08 -0.005375955608 -0.01497026541 -0.05759414392 -1.524791558e-18 1.213413203e-08 0.0007795556898 0.002495001194 -0.03857253484 1.57005895e-18 -2.792472861e-06 0.0003686713332 -0.00237587588 0.02501051962 -3.731999536e-19 1.855494461e-07 0.0004500433658 -0.0004555336964 -0.01587902099 1.870682317e-20 2.261202714e-08 -0.0007308901474 0.001584201814 0.003807266786 -7.300865366e-20 2.041736863e-08 0.0003571446479 0.0004933792493 -0.004919187343 -2.567479986e-10 -9.49419199e-20 7.80708722e-06 0.0001415057082 0.002270525885 -1.398947761e-20 1.012139287e-08 -6.285673138e-05 -0.0002086685067 -0.0002132242536 1.405105246e-20 8.698657148e-09 -0.0003320550128 1.508677139e-05 -1.307968598e-05 8.803565117e-10 -1.482276148e-20 3.436346073e-05 4.149321433e-05 6.81129248e-05 4.868913781e-21 -1.152129308e-08 4.19472783e-06 0.0001123777966 1.906371802e-05 --0.04951532595 0.01979010226 0.0007038280168 -0.004788040911 1.353449961e-06 0.0002833590244 -1.861511463e-05 -2.203753495e-05 9.401897386e-05 -1.710867544e-06 -1.017038183e-05 2.91867128e-06 1.82917307e-05 4.283806118e-06 0.002175420404 0.01296828083 -0.001926149889 -0.2020941034 1.940948772e-06 -0.05856981969 -0.004847165935 2.782717259e-07 0.01942813867 -0.0001112113228 4.249435446e-07 0.002002762687 0.02188508139 -4.577041401e-08 -0.002415834788 -0.002266971858 -1.632857837e-09 -0.0006855514541 -0.004058123469 -1.45037135e-08 -0.0003579822353 -7.105801829e-05 2.764884242e-08 0.0001358456182 0.001918546903 -5.117598881e-09 -0.0001798854607 -2.621043608e-05 6.210390579e-09 -1.401484082e-05 -0.0001641081201 -6.865528257e-10 -0.0001068326044 -4.217992742e-06 4.046470861e-09 -4.823198884e-07 0.0001587501583 9.29867616e-10 1.039438316e-18 7.569522224e-19 1.168909948e-17 0.008987284443 0.04318234464 -6.218074163e-19 1.434771205e-18 1.391717603e-18 -0.01032370794 -0.0220951227 -1.182159567e-20 7.107206688e-21 5.024522045e-20 -0.00145405494 -0.0008986229109 6.809917912e-20 1.746801637e-21 8.219638477e-20 7.891191133e-05 0.0004728268841 3.784888388e-22 -2.927821951e-21 -1.736307607e-23 2.919574831e-05 9.679728279e-06 -3.66866569e-22 2.317984135e-24 -5.565265782e-22 1.039115048e-06 2.901628625e-05 2.744802256e-21 -2.411638072e-22 5.739609879e-21 -5.380199908e-05 -0.0001061835607 -7.125609908e-21 -3.339362389e-23 1.290390937e-22 1.649904507e-05 0.0001190225576 4.772359729e-22 -6.604550063e-22 -3.441428855e-23 3.086435969e-06 2.863342288e-05 -6.149453113e-22 8.124297728e-23 -2.765159063e-22 -3.827798412e-06 -7.21045155e-06 -5.314927967e-22 -2.186506415e-23 8.384770949e-23 1.76678862e-06 8.798653176e-06 6.859985396e-22 -9.091678964e-22 -8.836655196e-23 3.718933507e-06 2.265582223e-05 4.094703919e-22 -4.787719287e-23 -2.562352618e-24 9.318694804e-07 3.935583524e-06 --0.1106587323 -0.1537969312 -0.146578798 -0.007537852103 0.01960688736 0.01119744953 -0.009516654649 -0.0009325300526 0.0004455327594 0.001225958845 -0.0003394700064 -0.0001642118627 -2.00108702e-07 -0.06012502096 -0.07662859311 -0.03936515897 -0.02110392524 -0.04758686942 -0.1025063205 0.002497211142 0.004516526779 -0.0828359042 -0.001701492149 -0.003531475313 0.02329170191 0.0008401857602 0.000363406462 -0.02322883756 -0.0001485635591 0.0002802295313 0.008579305658 -0.0001141462591 -8.163460225e-05 -0.002866637144 -0.0004599881791 1.180294454e-06 -0.0004262964831 4.892051553e-05 5.370556328e-05 9.203709124e-05 3.186132667e-07 8.168991081e-05 0.0002961529338 -1.304525935e-05 3.236722356e-05 7.494968495e-05 8.518963834e-06 -6.078521762e-05 -0.000187948676 7.160320883e-06 1.921101599e-05 0.0001040374507 -4.897415027e-18 -0.003817354965 -0.02588514008 -0.0177965288 0.111472438 -4.556186498e-17 0.0006458900227 -0.05982591894 -0.1374953146 -0.05676933678 4.459166283e-18 -8.859854427e-05 -0.002818559679 -0.004960328506 -0.06680156984 -3.021605706e-18 -1.406658415e-06 -0.0009925588422 -0.0009525583989 -0.01605242519 -6.993710744e-19 -6.150195029e-05 -0.000812194033 -0.0005212982167 0.01091615672 -4.499837811e-19 1.307850127e-05 0.0002473678548 -0.00143792666 -0.007336416845 -3.691228846e-19 -3.510944389e-05 -0.0006719902153 -0.0001674812716 0.004775611697 -9.850009719e-20 1.375205919e-05 0.0002881414997 0.0002102814365 -0.004757813602 -1.213976422e-19 3.08097345e-06 3.848025481e-05 8.424179732e-05 0.002376161491 -1.393986084e-20 -2.685580258e-06 -3.234603895e-05 -0.0001962651263 -0.0001771105848 -1.26062382e-21 -3.17888217e-06 -2.495291035e-06 -1.24236426e-05 1.173670614e-05 -2.133010137e-21 1.979732359e-06 3.33846006e-05 -2.933903457e-05 -0.0001226113892 1.447408123e-20 7.458334092e-07 1.075557534e-05 0.0001194619718 7.408584188e-05 --0.01356822866 0.004254641054 0.001980352827 -0.0002618458097 4.359645692e-07 -8.127446411e-05 -1.658789297e-05 4.361237087e-05 5.418947619e-05 2.440331099e-05 1.208004493e-05 7.021066696e-06 6.334072226e-06 -5.217355939e-06 0.04005252824 -0.04429149606 -0.001979263228 6.713392041e-07 0.004118389815 -0.0007590603707 4.555307179e-09 -5.673461675e-05 0.0004477266409 -1.945064339e-10 -0.0001889211378 -1.449100671e-09 -3.771866824e-05 -0.00015501829 4.751755372e-06 3.088415864e-09 -0.0001421292483 -1.462395847e-09 0.0001080986324 -1.784021122e-05 -1.141272348e-09 4.48192093e-05 0.0001269986794 -1.546517034e-10 6.584991813e-05 4.745128842e-05 -1.738949295e-10 7.910280019e-06 4.638526613e-05 8.326896959e-07 1.246434612e-10 2.351724064e-05 -2.214102003e-10 1.174429806e-05 1.414389627e-05 -1.41308992e-10 6.651973619e-06 1.969122151e-05 3.445862133e-18 2.034997676e-05 -7.309134312e-06 0.03742618558 -0.04729587548 9.525324839e-18 5.207456269e-05 -0.01250167784 7.898166616e-07 -0.001210155515 1.022242639e-19 -4.111671347e-07 0.0008545792533 7.26915604e-09 -0.0005700816575 2.888154667e-19 -1.970947189e-09 0.0002305977946 3.385739733e-10 -1.721582557e-05 -5.348248508e-19 8.144360629e-08 -3.53186503e-05 1.733864553e-08 -0.0001505263916 3.501292526e-20 9.303066225e-09 -9.512391788e-09 -1.446899941e-05 -3.027762305e-05 -5.201735653e-20 6.034242826e-09 -8.740790571e-09 0.0002314041954 5.389523086e-07 -3.072519146e-20 2.597493834e-09 -1.877458149e-09 0.0002187359672 -1.607327944e-05 -7.10600332e-13 4.804716508e-21 -1.143154251e-11 8.411226185e-05 -5.495239711e-06 1.427879517e-21 2.151163788e-09 -5.857680182e-10 3.055627476e-05 2.269662952e-05 3.454332902e-21 1.853001129e-09 1.163039434e-06 -1.14853359e-09 2.309210633e-05 -8.31663582e-11 1.242067156e-20 -3.639155548e-10 2.436009551e-05 -3.914785983e-06 -6.163906342e-22 5.373140357e-10 -2.509639339e-10 1.232798158e-06 3.694366862e-05 --0.03896220548 0.01557227012 0.0005538223023 -0.00376757358 1.064991384e-06 0.0002229671788 -1.464770568e-05 -1.734071116e-05 7.398086368e-05 -1.346233141e-06 -8.002784979e-06 2.296619642e-06 1.439324404e-05 -5.679954937e-06 -0.002444605616 0.01341084115 0.0005451132669 -0.1613948134 -2.582866299e-06 -0.04737372616 -0.002463190654 -3.676214303e-07 0.01447823025 0.0008028431541 -5.643303594e-07 0.002145678084 0.01662973944 6.044183341e-08 -0.00187819325 -0.001807095278 2.248372077e-09 -0.000352452175 -0.003386486506 1.930055432e-08 -0.0003774763854 4.58818801e-05 -3.666839158e-08 0.0001703531846 0.001443658374 6.766650885e-09 -0.0001679538365 7.193928832e-06 -8.233745676e-09 7.351344237e-06 -0.0001487630516 9.113305951e-10 -8.91558584e-05 2.473901515e-06 -5.364282817e-09 2.998736241e-06 0.0001211565222 -1.231371786e-09 3.986624265e-19 -1.235845662e-18 -6.701130993e-18 0.01254427674 0.0285065075 1.117682852e-18 -1.790060157e-18 -5.928427403e-18 -0.006714441593 -0.01879502109 -1.529605232e-22 -6.278742308e-21 2.976237416e-20 -0.001134755381 -0.0007165001323 -8.268933892e-20 1.746501146e-21 -3.067497987e-20 0.000146422776 0.0002877245684 5.19906279e-22 1.064625549e-21 8.272004677e-23 2.298668053e-05 7.603329571e-06 2.119899076e-22 4.44670038e-23 9.258899069e-23 9.713081742e-07 2.26784339e-05 -1.755284848e-21 -5.656109671e-22 -4.511138944e-21 -3.827976951e-05 -8.76083423e-05 9.368837576e-22 -1.492159107e-22 5.065872546e-22 1.505429634e-05 9.158380177e-05 -9.797380159e-22 5.568016574e-22 -1.95384733e-23 2.656977902e-06 2.230247849e-05 2.16747579e-22 3.071564656e-22 2.139333855e-22 -2.554435971e-06 -6.131251271e-06 -1.403307679e-22 3.087695253e-23 -9.610948078e-22 2.188317413e-06 6.12532654e-06 -9.756884488e-22 8.777795248e-22 -5.721189182e-22 3.427952562e-06 1.732559297e-05 -8.66621874e-22 3.39369028e-23 5.17515324e-22 1.082695136e-06 2.747364477e-06 --0.1037735263 -0.1177834443 -0.1138405195 -0.005724109601 0.01535693912 0.008687436534 -0.007515902884 -0.0006779767694 0.0004063031437 0.0009909272601 -0.0002510546989 -0.0001210364543 6.649549095e-06 -0.07283446541 -0.06028645382 -0.03944245927 -0.01302223788 -0.03744282178 -0.06630393948 0.002323773965 0.003554070099 -0.06655375793 -0.001327880747 -0.002778587385 0.01869921193 0.0006611181602 0.0002140625432 -0.01861906139 -0.0001168940827 0.0001509913861 0.006651624107 -8.981673587e-05 -7.335737808e-05 -0.002188769676 -0.0003621246439 9.326821241e-07 -0.0001864907453 3.849504174e-05 7.438043312e-05 0.0001416033986 2.508605818e-07 6.291692523e-05 0.0002922582853 -1.026201732e-05 2.433120164e-05 8.042347229e-05 6.704114469e-06 -5.020655652e-05 -0.0001229249621 5.634652537e-06 1.329317814e-05 0.0001076126175 1.943999761e-17 -0.008656377025 -0.0407720054 -0.01398073451 0.09068514722 1.170877083e-17 0.001358316949 -0.03916373855 -0.1081806268 -0.03670406206 8.136867967e-18 -0.0001104713704 -0.002711183761 -0.003903116514 -0.05351544755 2.506918914e-19 -2.888267117e-06 -0.0008032489271 -0.0007491276407 -0.01268034571 2.658593683e-20 -4.924189217e-05 -0.000639088995 -0.0006360179265 0.008393349605 -2.759157931e-19 7.305994146e-06 0.0001946605174 -0.001259540642 -0.0057715409 -1.320191268e-19 -3.013369491e-05 -0.0005287461359 -2.277942541e-05 0.003801714287 1.87566237e-19 1.00950929e-05 0.0002267425924 0.0003018077567 -0.00370356198 7.230016533e-20 2.357386525e-06 3.027929783e-05 0.0001339571926 0.00187877627 1.19113478e-20 -2.351369708e-06 -2.545084409e-05 -0.0001535817576 -9.109989752e-05 -2.195796814e-21 -2.504302245e-06 -1.438039578e-06 -9.774265234e-06 3.091653913e-05 4.984384213e-21 1.203662213e-06 2.627111787e-05 -2.425607187e-05 -7.637916831e-05 -1.178606741e-20 3.75416927e-07 8.464077823e-06 9.136638291e-05 9.706629145e-05 --0.02742216903 0.008598873811 0.004002406747 -0.0005292054129 8.811094214e-07 -0.0001642603576 -3.352508394e-05 8.814310514e-05 0.0001095200422 4.93204924e-05 2.441446427e-05 1.418997884e-05 1.280152358e-05 6.921935488e-06 -0.02320088504 -0.04995596297 -0.002684774526 -8.895277799e-07 0.016333423 -0.001473470259 -5.985587663e-09 -0.0001192668594 0.0009014135187 2.253519213e-10 -0.0003834034748 1.922670973e-09 -0.0001494415997 -0.0002249895254 -4.819828283e-06 -4.095799128e-09 -0.0002219327321 1.939918441e-09 7.060968621e-05 5.08203553e-05 1.513482375e-09 2.925760363e-05 0.0002922700233 2.051200446e-10 8.759480209e-05 0.0001402402165 2.306721698e-10 2.507160137e-06 9.779115444e-05 2.002921736e-09 -1.652592296e-10 3.889414288e-05 2.936678636e-10 5.204189552e-06 4.145893153e-05 1.874297777e-10 2.321586057e-06 4.583881138e-05 3.184636547e-18 4.538558925e-07 9.695492793e-06 0.005401692053 -0.05196310393 -1.255508581e-17 7.924679099e-05 -0.0265728275 -1.045888499e-06 0.004160585844 -3.69832165e-19 -8.887917069e-07 0.001721331687 -9.739666457e-09 -0.0009528379232 -4.07456713e-19 -5.058654145e-09 0.0004616621588 -4.505914598e-10 -2.007859902e-05 6.987411391e-19 1.389673663e-07 -0.0001255986559 -2.304749e-08 -0.0001170031356 -5.094433462e-20 4.294699509e-09 1.26161816e-08 -0.0001333317386 -1.249901104e-05 5.366606503e-20 3.57569734e-09 1.159754688e-08 0.0002270443645 0.0002021767504 1.901600396e-20 1.866354869e-09 2.489899964e-09 0.0003762169873 5.866935421e-05 -1.697183303e-13 -1.119583773e-20 1.516552444e-11 0.0001315363275 2.707505699e-05 -7.920821994e-21 1.001721435e-09 7.771146933e-10 1.967613018e-05 7.831356136e-05 -6.42980486e-21 6.165242369e-10 1.507180871e-07 1.52444156e-09 4.987894446e-05 -2.572090848e-11 -1.20420858e-20 4.827149545e-10 1.343544703e-05 2.953635127e-05 -4.932054079e-21 2.29713786e-10 3.328478556e-10 1.061152086e-07 7.51763116e-05 --0.002175760481 0.0008695998984 3.092701411e-05 -0.0002103920351 5.947215094e-08 1.245112206e-05 -8.179695878e-07 -9.683546808e-07 4.131302054e-06 -7.51774914e-08 -4.468982975e-07 1.282497794e-07 8.037597254e-07 4.225475373e-06 -0.005491556678 0.004821855444 0.002652858918 -0.01205830747 1.941868329e-06 -0.004280559747 0.00158185333 2.771849192e-07 -0.0002182190685 0.001177987587 4.246154021e-07 0.0008448206003 0.0001755210797 -4.558035835e-08 -7.593255177e-05 -0.0001305517725 -1.667683971e-09 0.0002182493511 -0.0004353459979 -1.451024595e-08 -0.0001427467248 0.000132122076 2.760496346e-08 9.026455291e-05 -3.48636155e-06 -5.100251805e-09 -4.292935225e-05 3.580780615e-05 6.199362743e-09 2.379891158e-05 -3.336073043e-05 -6.858310875e-10 -1.14336469e-05 7.510705245e-06 4.039074143e-09 4.466538963e-06 1.955176681e-06 9.275689354e-10 -2.332904387e-18 5.2822621e-18 -3.915622016e-18 0.007668159128 -0.005375788222 -1.215724121e-18 -2.254743997e-18 2.431085523e-18 0.00141901121 -0.002843537851 1.735829741e-21 7.567582237e-23 -3.982187257e-21 -5.140065499e-05 -5.197878299e-05 1.091534851e-19 1.944221462e-20 -2.394173958e-20 0.0001155468537 -9.130316556e-05 -1.301304422e-22 1.745588518e-23 2.486628006e-22 1.300670232e-06 4.07563384e-07 -1.324623141e-22 1.11682465e-22 -1.554205505e-22 2.498820315e-07 1.07078603e-06 2.11121043e-21 1.439303529e-20 -5.627423578e-21 3.025914422e-06 -1.005588132e-05 1.534094143e-21 -7.297814777e-22 -2.672223764e-22 3.478373958e-06 2.47659223e-06 -2.613766039e-22 2.268242973e-23 -1.513713147e-22 4.391131272e-07 9.546929594e-07 -6.446430997e-23 7.294215991e-23 6.676336479e-22 4.399177126e-07 -9.249530603e-07 5.186365415e-23 2.209003501e-22 1.403816971e-22 1.138340251e-06 -6.740858953e-07 -1.680910548e-21 -5.123855952e-22 1.421156289e-21 8.301141768e-07 3.288208102e-07 9.237587075e-23 -4.842913736e-22 5.318448283e-23 5.053686427e-07 -2.914885984e-07 --0.02707805619 -0.002474403176 -0.004450567888 -4.688549317e-05 0.0007684223312 0.0003276457311 -0.0004548891645 3.331380877e-05 9.378665467e-05 8.875645066e-05 6.42771805e-06 3.651284125e-06 9.049801549e-06 -0.03656464008 -0.003371907166 -0.01298317223 0.003835564683 -0.002091892986 0.01461792557 0.00058658098 0.0001983966885 -0.005455143795 -6.018330519e-05 -0.0001552811461 0.001519483327 3.691645404e-05 -7.960711453e-05 -0.001470811419 -6.53093014e-06 -8.00577202e-05 0.0002453260335 -5.016493836e-06 -1.570351737e-05 -3.662704745e-05 -2.044231621e-05 5.008414373e-08 0.0001792405689 2.149228386e-06 4.505084817e-05 9.616111839e-05 1.393123206e-08 1.778527918e-06 9.172651424e-05 -5.74546169e-07 -8.297980355e-08 3.180066013e-05 3.739792991e-07 -5.828247689e-06 2.493242511e-05 3.144525178e-07 -1.578553519e-06 3.880196625e-05 -1.206897643e-17 -0.007680419804 -0.02825126329 -0.0007923587077 0.008856663463 -2.617534091e-18 0.00115820014 0.007886237476 -0.006046460849 0.00811927759 -1.130141803e-18 -5.806027603e-05 -0.0007795329676 -0.000217974121 -0.004180962005 5.416056284e-19 -2.429423816e-06 -7.315460327e-05 -4.204333222e-05 -0.0007705112982 1.195853305e-20 -3.829210869e-06 -3.569030064e-05 -0.0003230405977 0.0002224556889 -5.357636658e-20 -3.392735901e-06 1.08634104e-05 -0.0002333975367 -0.0003205356934 -4.990167107e-20 -4.87496761e-06 -2.953881651e-05 0.0001375304589 0.0002685603589 4.043860742e-20 -3.606426327e-07 1.265575468e-05 0.0001904447213 -0.0001554038902 2.335532159e-20 4.640759148e-08 1.690741725e-06 9.363939205e-05 0.0001165240663 -4.454490127e-21 -4.345588742e-07 -1.421925775e-06 -7.480470674e-06 5.636764038e-05 -4.771588822e-21 -1.435773837e-07 5.886503167e-07 -5.466073803e-07 2.93313937e-05 1.484181992e-21 -3.836705001e-07 1.466179924e-06 -2.84235978e-06 2.134415235e-05 -5.511752389e-23 -2.482628024e-07 4.722418007e-07 1.749884414e-06 5.47857471e-05 --0.0228524152 0.007165918729 0.00333542765 -0.000441016238 7.342773767e-07 -0.0001368872714 -2.793831287e-05 7.345454088e-05 9.12691288e-05 4.110150329e-05 2.034592792e-05 1.182529682e-05 1.066822e-05 -5.207929587e-06 -0.07096089158 -0.02202443027 -0.001584868528 6.700849798e-07 0.01758170445 -0.001197848019 4.556668148e-09 -0.0001016735884 0.0007494779 -2.008067291e-10 -0.0003202959298 -1.446152237e-09 -0.0001608357807 -0.0001437178639 -1.117340735e-05 3.079660026e-09 -0.0001525553931 -1.459706982e-09 -1.445873967e-05 8.541250851e-05 -1.138827056e-09 -6.027598339e-06 0.0002612120597 -1.543567214e-10 5.044411707e-05 0.0001388496595 -1.735962939e-10 -4.59215614e-06 8.349706022e-05 -8.323324249e-07 1.242991981e-10 2.812831421e-05 -2.209571681e-10 -4.851440223e-06 4.093132675e-05 -1.410260747e-10 -3.579734475e-06 4.119430151e-05 4.419776342e-19 -1.978130005e-05 -7.294599234e-06 -0.03032188689 -0.02168037725 9.847046317e-18 5.315089481e-05 -0.02279036477 7.890000477e-07 0.006741403824 7.446792605e-20 -7.693355736e-07 0.0014316196 7.235945205e-09 -0.0006952463887 2.604722616e-19 -4.748682444e-09 0.0003825695353 3.374236895e-10 -9.434850883e-06 -5.108095722e-19 1.031290202e-07 -0.0001315705523 1.729195143e-08 -4.701830403e-06 4.028906961e-20 -3.608090865e-09 -9.498833525e-09 -0.0001626503707 1.372388808e-05 -5.371256957e-20 -1.292150432e-09 -8.729635298e-09 6.994823432e-05 0.0002681288766 -3.642932895e-20 -1.213821128e-10 -1.87401963e-09 0.0002808610898 9.408198613e-05 4.861164937e-13 7.895170404e-21 -1.141172517e-11 9.055084393e-05 4.149021491e-05 3.76650299e-22 -8.23321826e-10 -5.849046187e-10 -4.459979534e-06 8.133931606e-05 3.447136316e-21 -1.036660147e-09 -9.64263641e-07 -1.147517947e-09 4.315348713e-05 4.911571697e-11 1.026719266e-20 -3.632135615e-10 -6.552154276e-06 4.317802326e-05 -8.661074055e-22 -2.328883608e-10 -2.504473231e-10 -1.094337052e-06 6.289957618e-05 --0.02225558486 -0.003306009376 0.0004454746716 -0.000664594069 0.0002261184438 6.816473076e-06 -1.566994882e-05 -5.451402188e-06 2.110658489e-05 2.957357047e-06 -3.250851373e-06 3.96235498e-06 4.539274865e-06 0.000354442724 0.01513014944 -0.01065344002 -0.01441892462 -0.0001016058903 -1.588653438e-06 5.29045836e-05 0.0009946368741 -1.225908725e-08 -0.0002528393649 -0.0003896773169 -1.249238651e-07 0.0002539077756 2.881695272e-05 -1.155806509e-08 -2.625637787e-06 -1.303535229e-06 -5.292352961e-10 -8.314056378e-05 4.583288452e-06 -7.550476004e-09 -9.149471443e-06 4.001630954e-05 -4.113901863e-09 2.239856466e-05 3.152801219e-06 -1.839957137e-09 -2.66568839e-06 2.071319078e-06 -7.823907615e-10 -3.502937417e-06 1.211623092e-06 -2.359740936e-09 -1.483044242e-06 9.709236027e-06 -1.165499473e-09 5.128617541e-06 9.819266061e-08 -9.468816917e-10 -1.740529918e-17 2.182506036e-17 -1.278613661e-17 -0.001568296108 0.0205739263 -9.747870427e-19 -1.202784027e-18 1.991852859e-18 -0.004098117075 -0.00659656094 1.412009328e-20 1.032761448e-19 7.205792836e-20 -4.903873651e-05 -0.001494745651 -1.964496568e-19 -2.719219234e-20 -6.147970432e-21 3.707123521e-05 0.0004636938745 1.113078983e-21 -1.478347482e-21 3.338061584e-21 -2.475600038e-08 -8.606283165e-05 -1.966924081e-22 -4.437478254e-22 -1.114636571e-21 7.903606069e-06 6.104962861e-06 -1.665235406e-21 -8.902768045e-21 1.272948824e-20 -1.309913129e-05 -2.828797921e-05 -7.337682288e-23 -1.888223758e-23 3.90631196e-22 1.844996173e-05 3.363345152e-05 4.839691392e-22 -6.147439701e-24 3.024455394e-22 1.973463147e-06 3.065612646e-06 -4.480866041e-22 -8.462782307e-22 2.823233883e-22 -2.011648252e-06 -5.507326329e-06 8.577253471e-24 1.017836521e-21 -6.103826356e-22 1.25095174e-06 6.151879223e-06 4.221506246e-22 7.620469838e-23 5.38537905e-23 2.820789822e-06 6.401515825e-06 -1.128681917e-22 1.824562866e-22 4.619967619e-23 -2.870350062e-07 8.454164191e-07 -0.01876415829 -0.003283908964 -0.00131707513 -2.895656989e-05 -3.529149967e-07 6.237704828e-05 1.918857134e-05 -4.496843465e-05 -4.744153274e-05 -2.454587077e-05 -1.277428394e-05 -6.725194203e-06 -6.100112851e-06 0.03501204863 -2.068623423e-05 -0.00697396524 -0.001527517399 -1.663177552e-06 -0.007607755459 -0.0002772262415 -2.308832537e-09 -0.0003586573799 -2.154268129e-06 -9.317503495e-12 -2.459614168e-06 9.709432914e-08 7.178777587e-05 3.362060704e-05 2.137109511e-09 8.285534363e-05 4.640576801e-05 4.976746289e-10 3.681243399e-05 -9.255562865e-05 2.875761451e-07 1.893190981e-09 -0.0001206601514 2.779404555e-10 -1.526710465e-05 -8.122551001e-05 9.130015306e-11 4.813262098e-06 -5.222826896e-05 9.286669415e-10 2.555626885e-06 -1.868847345e-05 2.361241141e-10 4.86151959e-06 -2.4022101e-05 1.44827966e-10 4.900099744e-06 -2.577279362e-05 2.012645501e-17 0.008877480496 0.02580093042 -3.008850064e-05 -0.02175398612 2.846273606e-18 -0.0003966711289 -0.006100691944 -3.049277264e-07 -0.001339284953 5.909615694e-20 3.540493553e-05 0.0004040106692 -6.751313113e-09 4.17066847e-05 2.109053292e-19 1.608570042e-06 7.048989102e-06 -1.581677641e-11 -3.065741019e-08 6.547347377e-20 1.368635939e-06 9.422790071e-10 0.0002021328144 -1.708775652e-05 2.037378605e-21 4.945430916e-06 3.375138569e-09 0.0001551477176 -5.679440613e-05 -5.896831626e-21 5.672007043e-06 9.1798944e-09 -6.154929548e-05 -7.958956538e-05 1.433057987e-20 2.761943529e-06 4.519659962e-09 -9.531309337e-05 -5.649062622e-05 5.977700452e-21 1.191433606e-07 8.477851277e-11 -4.548661615e-05 -2.942384102e-05 4.057125208e-21 4.340425294e-07 3.392747006e-10 8.455251737e-06 -4.715057904e-05 -2.143391413e-21 4.736511067e-09 -7.347597935e-07 9.546017919e-10 -1.711954087e-05 -7.500820042e-22 6.424564997e-07 4.950558123e-10 9.672388701e-06 -2.70122286e-05 -5.142928274e-21 3.839409502e-07 2.872733333e-10 4.593178758e-06 -3.493273945e-05 --0.01425411747 -0.06231351187 -0.006963854756 0.001920491484 -0.004898278316 0.002232888993 -0.0008524375423 0.0002425519903 -0.0004000960837 0.0001166642167 -3.026782885e-06 -6.254841048e-05 -9.840757263e-06 -0.0276707766 0.02044451974 -0.0001179158527 -0.002035300751 -0.02024063793 -0.07830403402 0.001253306576 0.001599814209 -0.02913996448 -0.0009945198983 -0.001153488502 0.005951184785 0.0002039210843 0.0003894331304 -0.00565916999 0.0001550196379 -2.568568904e-05 0.001022470153 -6.811746336e-05 -0.0001403752458 0.0004207162774 2.066102268e-05 -0.0002647550419 -0.00110933351 1.080526276e-05 2.238108391e-05 0.0003592866151 -2.511976974e-06 -3.336983639e-05 -7.766122664e-05 2.690424225e-05 -3.77188528e-06 -9.436499532e-06 4.215265257e-06 -9.819000183e-06 -0.000118451399 1.778293798e-06 2.576775009e-05 4.897608072e-06 -6.393021576e-17 -0.0002048006155 -0.002789216554 0.06342658468 0.005582836922 2.716878908e-17 -0.0001182108575 -0.005154437019 -0.05198671815 -0.03508515272 -9.15541467e-18 4.0559307e-07 -0.002611482514 -0.004868394991 -0.0180708962 -1.365657045e-19 -1.529233106e-09 1.644055513e-05 0.0008118290349 -0.01221288503 -8.736322897e-21 -1.088088248e-06 0.0002048105787 -0.0007726415731 0.008018523031 -1.367258115e-19 4.696991357e-08 0.000146362806 -5.534028001e-05 -0.005015508098 -1.856732164e-19 1.307902741e-08 -0.0002376673411 0.0004030779754 0.001241190835 1.654051872e-22 7.507482448e-09 0.0001161531735 1.665429209e-05 -0.001724559157 -1.692426816e-10 1.549810028e-21 2.53897415e-06 2.966184268e-06 0.0006957386299 -8.539042028e-22 -3.295806749e-09 -2.04403092e-05 -7.71900639e-05 -9.156044801e-05 -8.707189005e-21 2.267440818e-11 -0.0001078957093 4.90537953e-06 -3.4160686e-05 1.205079646e-09 4.958263088e-21 1.117623878e-05 3.290953691e-05 -2.653198121e-05 2.975200598e-21 -1.094076643e-08 1.364593811e-06 3.739312357e-05 -3.283840831e-05 -0.03471368358 0.00515662761 -0.0006948398296 0.001036616578 -0.0003526936793 -1.063215777e-05 2.444157942e-05 8.502955631e-06 -3.292150325e-05 -4.612808757e-06 5.070593589e-06 -6.180378447e-06 -7.080243108e-06 -0.0004696446945 0.0007397890212 -0.007804378487 0.02271997687 -7.02640753e-05 2.106463273e-06 -0.0002156586728 -0.001418344576 1.625140751e-08 -0.0001199524036 0.001122010186 1.656672818e-07 -0.0004247610538 -1.619734149e-05 1.532185977e-08 3.121121066e-06 3.010088579e-06 7.019867555e-10 0.0001049606912 1.758558633e-05 1.001344008e-08 -1.200360489e-05 -3.615084632e-05 5.455186605e-09 -3.942081744e-05 -4.29623941e-07 2.439472365e-09 -1.797443208e-06 2.722282166e-06 1.037523587e-09 2.663812034e-06 9.12855072e-07 3.129063068e-09 -1.654324289e-06 -1.117757815e-05 1.545503237e-09 -8.219833221e-06 6.800182643e-08 1.255434089e-09 2.42213116e-17 5.400438133e-18 -1.141422838e-17 -0.01343138687 -0.01621305219 -7.910748452e-19 -1.6505111e-18 -4.888505816e-19 0.002304129251 0.01437716472 -2.684101044e-21 2.612336662e-19 4.779978862e-20 4.92187583e-05 0.002358736194 3.335290274e-19 1.082236282e-20 -4.761237996e-20 -0.0003024931807 -0.0004785864743 2.709718956e-22 -8.389396342e-21 4.434785607e-21 -1.90131548e-10 0.0001342773739 -2.834652119e-22 1.56111685e-22 -2.671926283e-22 -1.277365859e-05 -9.07654163e-06 -2.067927454e-21 -6.148452484e-21 -2.285134606e-21 8.665180124e-06 5.588939775e-05 -1.769719821e-21 1.138297324e-21 3.123574346e-21 -3.478844347e-05 -4.644989252e-05 2.439131566e-22 -3.85988106e-22 -1.148270388e-22 -3.740681834e-06 -4.119135468e-06 3.256960101e-22 1.002522791e-21 1.95764123e-22 1.810194119e-06 9.917711463e-06 -7.06194488e-22 3.466796235e-22 9.262155334e-22 -4.266733171e-06 -7.280003137e-06 3.851058637e-22 -9.9620204e-23 -9.279734022e-22 -5.855207632e-06 -8.529500589e-06 -3.740660595e-22 1.643620741e-22 8.623783678e-22 -5.661265788e-07 -3.048190903e-07 -0.03792344107 -0.006636968532 -0.002661884446 -5.852289004e-05 -7.132614678e-07 0.0001260675954 3.878120421e-05 -9.088378787e-05 -9.58820611e-05 -4.96086139e-05 -2.581756116e-05 -1.359200355e-05 -1.232867825e-05 0.02522667598 2.751522951e-05 0.03137548658 -0.007580998409 2.200219196e-06 -0.01088825596 -0.0005858242027 3.026764042e-09 -0.0006993458508 -4.372258887e-06 1.067064738e-11 -4.952281501e-06 -1.251688211e-07 9.909575572e-05 0.0001142595901 -2.834316503e-09 7.227986317e-05 0.0001889673612 -6.601908681e-10 -3.073077015e-05 -8.192262495e-05 4.284834859e-08 -2.512229282e-09 -0.0002433152895 -3.687510189e-10 -6.944415948e-05 -0.0001255724206 -1.211199614e-10 -3.430503821e-06 -9.239687107e-05 -1.230809932e-09 1.415193774e-07 -3.274309964e-05 -3.132774776e-10 -1.1624948e-06 -3.756113758e-05 -1.921426761e-10 -2.919340275e-06 -3.926483784e-05 -2.383758539e-17 0.002426058306 0.02441712221 3.995753741e-05 -0.000817538343 -3.895665376e-18 -0.001847737818 -0.01269914376 4.034308617e-07 -0.001293382276 -9.034114266e-20 6.311175801e-05 0.0008050161447 9.178022336e-09 0.0001042012884 -2.786192571e-19 2.659506233e-06 1.446526617e-05 2.107469404e-11 3.078537496e-07 -1.052294801e-19 4.053992064e-07 -1.249821418e-09 0.0003403759676 3.595562419e-05 7.811115604e-21 1.228547184e-06 -4.477479994e-09 0.0001279730443 7.958692053e-05 4.506179865e-21 -1.256282557e-06 -1.218092857e-08 -0.0002175168482 -5.49749385e-05 -7.749717529e-21 -2.007378058e-06 -6.000367185e-09 -0.0002455350531 -5.366732239e-05 -2.537188216e-21 1.538380098e-08 -1.124661467e-10 -0.0001254544369 -2.571856412e-05 -1.800976086e-21 3.093096094e-08 -4.500302147e-10 -1.242954225e-05 -6.492692391e-05 2.501478864e-21 7.639949381e-10 -2.745424125e-07 -1.266507107e-09 -3.579776386e-05 8.462495259e-22 5.727202767e-08 -6.568147027e-10 -1.261655024e-05 -2.118563071e-05 1.685319194e-21 2.165412153e-08 -3.811533372e-10 -1.426906718e-06 -5.91355253e-05 -0.1073437348 0.02809949022 0.005986846175 -0.002314996653 0.007653449658 -0.003759171808 0.00177782919 -0.0004424908509 0.0002594933044 -0.0003030074269 -9.398023366e-06 4.954800372e-05 -3.633270565e-05 0.04316156491 0.1186886306 0.05007595642 0.005069853637 0.03157114119 0.02160494425 0.000576894056 -0.002495335598 0.05275082091 -6.214871672e-05 0.001799213058 -0.009456167076 -0.0003180701134 -0.0002453261542 0.008564031132 -0.0001957150144 4.006371156e-05 -0.001435799297 0.0001062484091 0.0001991214537 -7.485105158e-06 -3.222570887e-05 0.0004653980078 0.0009383067351 -1.685372082e-05 -0.0001144750134 -0.001076243221 3.918163514e-06 5.836081723e-05 -1.703753457e-05 -3.7563975e-05 5.883264105e-06 -2.604781117e-05 -6.574769934e-06 3.859114056e-05 2.763012075e-05 -2.773695291e-06 -2.694517571e-05 -0.0001323102043 2.436952398e-17 -0.0001483349165 0.004353112693 -0.01581709118 0.02490829616 2.472378343e-17 -0.0001342280348 0.0536074891 0.08108894593 0.01675085363 4.263050716e-18 8.650593125e-07 0.0009991768528 0.007593617281 0.03025336332 4.771052858e-19 -6.712694782e-09 -0.0008620003406 -0.00126619509 0.01982412164 1.311926004e-18 1.203222529e-06 -2.400692255e-05 0.001205149354 -0.01276733672 -6.211257522e-20 -1.014934443e-07 -0.0002282918017 0.0004234051025 0.008156877907 3.479752135e-21 -6.180314172e-09 0.000370712662 -0.0009407008364 -0.002130546114 -2.391059875e-20 -9.611345846e-09 -0.0001811716637 -0.0005699801979 0.002330690936 6.520415935e-11 -4.697214114e-20 -3.960223166e-06 -0.0001723603343 -0.001215101022 1.056795831e-20 -9.483051618e-09 3.188255923e-05 0.0001021844688 3.023013238e-05 1.464846532e-20 -5.749175252e-09 0.0001692317634 -7.651398668e-06 -4.837942658e-05 2.094213326e-10 6.687072009e-21 -1.743224272e-05 -1.469170977e-06 -0.0001037357605 3.711418611e-21 5.939367377e-10 -2.128370248e-06 -5.554201477e-05 -8.642416317e-05 -0.06843398822 0.01016569136 -0.001369795879 0.002043568973 -0.0006952945527 -2.096006198e-05 4.818373004e-05 1.67625877e-05 -6.490091322e-05 -9.093615763e-06 9.996085295e-06 -1.218389702e-05 -1.39578755e-05 0.0003529840489 -0.01550895669 0.0003012374492 0.04464776234 8.467713396e-06 -1.581791529e-06 -0.0003395964513 -0.00288150755 -1.23240011e-08 9.399295893e-05 0.001882090085 -1.245625585e-07 -0.0008188874295 -5.040169321e-05 -1.161441358e-08 6.779130921e-06 5.306604931e-06 -5.248811921e-10 0.0002228186378 1.877781859e-05 -7.514436405e-09 -6.781105898e-06 -8.812213979e-05 -4.109124592e-09 -7.482804885e-05 -3.730273735e-06 -1.842778693e-09 2.831442088e-07 1.545963603e-06 -7.806630239e-10 7.057813158e-06 -1.120193116e-09 -2.354142986e-09 -7.121116732e-07 -2.457880794e-05 -1.164339631e-09 -1.605968889e-05 -8.043926921e-09 -9.459195893e-10 -2.69825749e-17 2.810790252e-18 8.46471173e-19 -0.01628001899 -0.04216057534 -8.1288831e-19 -7.404846985e-19 9.483940182e-19 0.007168109463 0.0257171125 1.902912029e-19 8.467243055e-20 4.388852573e-20 0.0001145453528 0.004632457581 -4.240061546e-19 -7.874340599e-20 -1.124508093e-20 -0.0004391747269 -0.001100633425 -2.29537146e-21 -2.391454137e-20 6.676180698e-21 2.454948728e-08 0.0002646872957 -3.033780671e-22 2.975606424e-22 1.157872881e-22 -2.489542565e-05 -1.817970307e-05 1.250018656e-21 1.746694722e-22 1.146884607e-20 2.464019199e-05 0.0001026216234 -2.045354595e-21 -5.50179703e-21 -4.393576643e-22 -6.472062638e-05 -9.543131381e-05 9.360762068e-23 -4.036147919e-22 6.276590764e-22 -6.948769385e-06 -8.545947422e-06 -1.707974304e-21 4.092797115e-23 -1.18730289e-21 4.421274209e-06 1.86989244e-05 8.926376185e-24 -1.78251478e-22 -5.927308698e-22 -6.924068622e-06 -1.583898321e-05 7.341263288e-22 -1.860295809e-22 1.303865589e-21 -1.060802768e-05 -1.774975396e-05 1.324868132e-22 -1.172333623e-22 1.44574444e-22 -4.648508282e-07 -1.252119256e-06 -0.03160370795 -0.005530954187 -0.002218296026 -4.877037191e-05 -5.944003625e-07 0.0001050591232 3.231852957e-05 -7.57385039e-05 -7.990384235e-05 -4.134161092e-05 -2.151520643e-05 -1.132697083e-05 -1.027417175e-05 -0.001471688858 -2.068484481e-05 0.04868708413 -0.008539322641 -1.664189988e-06 -0.006848982875 -0.0005008469768 -2.313227485e-09 -0.0005701533932 -3.65274069e-06 -9.649226884e-12 -4.117719463e-06 9.668927208e-08 5.942390511e-05 0.000118174398 2.132647915e-09 1.304106078e-05 0.0002046645425 4.967106938e-10 -7.772887487e-05 -1.615011595e-05 -2.311496386e-07 1.889637332e-09 -0.0002025049702 2.774204435e-10 -7.700061646e-05 -8.55183798e-05 9.11279062e-11 -9.381751684e-06 -7.047636682e-05 9.253655832e-10 -2.376494812e-06 -2.479386955e-05 2.357102569e-10 -6.415018908e-06 -2.585598311e-05 1.445667624e-10 -8.788870282e-06 -2.636576926e-05 1.764061105e-17 -0.005670298425 0.00671929906 -3.004973814e-05 0.0207049995 3.090414334e-18 -0.002058367805 -0.01076490097 -3.044890943e-07 -0.0003770534124 9.405453091e-20 4.840860999e-05 0.0006651838154 -6.695045098e-09 9.670637212e-05 2.094999492e-19 1.923096415e-06 1.216375634e-05 -1.578187767e-11 4.397671489e-07 6.978000785e-20 -8.326309601e-07 9.404555313e-10 0.0002498697465 6.49076016e-05 1.230464037e-20 -3.322706566e-06 3.369318925e-09 1.465391043e-05 0.0001626596229 -1.608194265e-20 -7.353200753e-06 9.158208134e-09 -0.0002274712277 6.67869194e-06 9.817931618e-21 -5.435668003e-06 4.510366327e-09 -0.0002308550081 -1.47354778e-05 1.617833309e-20 -9.894553804e-08 8.461611503e-11 -0.0001211661446 -4.703347605e-06 1.918057799e-21 -3.938128995e-07 3.385379355e-10 -2.499334455e-05 -3.905251685e-05 -3.552349514e-21 -3.729962644e-09 3.709634765e-07 9.528279301e-10 -3.042967385e-05 3.755901887e-22 -5.676644588e-07 4.941717878e-10 -2.645772508e-05 -1.097352272e-06 -4.305086531e-21 -3.559560557e-07 2.867625787e-10 -6.49756738e-06 -4.35989979e-05 -0.156926174 0.09975351053 0.01493301035 -0.005004577489 0.01507868052 -0.007233654421 0.003216625582 -0.0008311393506 0.0007456818288 -0.0005195967194 -9.469628726e-06 0.0001285205105 -3.842785538e-05 0.08510978987 0.1372628284 0.0666727081 0.008777579266 0.06224378692 0.1071289609 -0.0004889111487 -0.004919060683 0.09928861717 0.000913778376 0.00354742769 -0.01853145556 -0.0006270273785 -0.0007162181507 0.01704792816 -0.0004154315471 7.89783742e-05 -0.002932624937 0.0002094649942 0.0004052884783 -0.0004321694585 -6.351659341e-05 0.0008837680578 0.002358472818 -3.322441509e-05 -0.0001745753244 -0.001790464812 7.72492989e-06 0.0001109952994 5.514953177e-05 -7.687990855e-05 1.159778653e-05 -2.516990519e-05 -1.295998103e-05 6.112097241e-05 0.0001553965066 -5.467380149e-06 -6.16308084e-05 -0.0001807519133 -1.266553477e-17 8.142594578e-06 0.008621380927 -0.08457785115 0.02751191993 -6.863143411e-18 -5.992387865e-05 0.07641284304 0.1598793051 0.05739138274 -1.040970792e-18 7.434049681e-07 0.003944336008 0.01497025817 0.0582893903 5.024869056e-19 -7.385449588e-09 -0.001162125225 -0.002495001531 0.03858196969 -7.370026691e-19 2.689343841e-06 -0.0002371007809 0.002375858588 -0.02500581779 5.7690946e-20 -1.819413552e-07 -0.0004500338669 0.000618184067 0.0158652971 -1.935019442e-19 -2.13198767e-08 0.0007308988771 -0.001654150048 -0.004075395663 9.766591708e-22 -2.029598652e-08 -0.0003571427739 -0.0007742403391 0.004825105357 2.562618821e-10 4.028106423e-20 -7.807075808e-06 -0.0002320565521 -0.0023120161 1.632096606e-20 -9.298071047e-09 6.285731629e-05 0.0002131284862 0.0001318849375 -1.858036678e-20 -7.661997002e-09 0.0003330192765 -1.508562387e-05 -3.007380116e-05 -9.294722286e-10 8.630887226e-21 -3.436309751e-05 -3.494106006e-05 -0.0001112909481 -4.055745935e-21 1.175418144e-08 -4.194477382e-06 -0.0001112834595 -8.19632942e-05 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/jle.orb b/tests/09_DeePKS/100_NO_KP_deepks_UT/jle.orb deleted file mode 100644 index abbf2b6dc8..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/jle.orb +++ /dev/null @@ -1,6018 +0,0 @@ ---------------------------------------------------------------------------- -Energy Cutoff(Ry) 50 -Radius Cutoff(a.u.) 6 -Lmax 2 -Number of Sorbitals--> 13 -Number of Porbitals--> 13 -Number of Dorbitals--> 13 ---------------------------------------------------------------------------- -SUMMARY END - -Mesh 605 -dr 0.01 - Type L N - 0 0 0 -1.000000000000e+00 9.999954307450e-01 9.999817230550e-01 9.999588771557e-01 -9.999268934227e-01 9.998857723822e-01 9.998355147105e-01 9.997761212345e-01 -9.997075929310e-01 9.996299309272e-01 9.995431365007e-01 9.994472110789e-01 -9.993421562398e-01 9.992279737114e-01 9.991046653715e-01 9.989722332485e-01 -9.988306795205e-01 9.986800065157e-01 9.985202167122e-01 9.983513127379e-01 -9.981732973708e-01 9.979861735385e-01 9.977899443184e-01 9.975846129375e-01 -9.973701827725e-01 9.971466573496e-01 9.969140403446e-01 9.966723355824e-01 -9.964215470375e-01 9.961616788336e-01 9.958927352436e-01 9.956147206892e-01 -9.953276397415e-01 9.950314971204e-01 9.947262976943e-01 9.944120464808e-01 -9.940887486459e-01 9.937564095039e-01 9.934150345180e-01 9.930646292992e-01 -9.927051996072e-01 9.923367513494e-01 9.919592905814e-01 9.915728235065e-01 -9.911773564758e-01 9.907728959881e-01 9.903594486895e-01 9.899370213737e-01 -9.895056209813e-01 9.890652546003e-01 9.886159294654e-01 9.881576529582e-01 -9.876904326070e-01 9.872142760867e-01 9.867291912182e-01 9.862351859690e-01 -9.857322684524e-01 9.852204469278e-01 9.846997298001e-01 9.841701256200e-01 -9.836316430835e-01 9.830842910317e-01 9.825280784509e-01 9.819630144724e-01 -9.813891083719e-01 9.808063695699e-01 9.802148076310e-01 9.796144322642e-01 -9.790052533223e-01 9.783872808018e-01 9.777605248430e-01 9.771249957294e-01 -9.764807038877e-01 9.758276598875e-01 9.751658744415e-01 9.744953584044e-01 -9.738161227738e-01 9.731281786890e-01 9.724315374315e-01 9.717262104242e-01 -9.710122092318e-01 9.702895455599e-01 9.695582312554e-01 9.688182783058e-01 -9.680696988392e-01 9.673125051241e-01 9.665467095687e-01 9.657723247216e-01 -9.649893632704e-01 9.641978380425e-01 9.633977620041e-01 9.625891482603e-01 -9.617720100548e-01 9.609463607696e-01 9.601122139247e-01 9.592695831779e-01 -9.584184823246e-01 9.575589252974e-01 9.566909261659e-01 9.558144991363e-01 -9.549296585514e-01 9.540364188899e-01 9.531347947667e-01 9.522248009319e-01 -9.513064522713e-01 9.503797638053e-01 9.494447506893e-01 9.485014282129e-01 -9.475498117999e-01 9.465899170081e-01 9.456217595285e-01 9.446453551853e-01 -9.436607199360e-01 9.426678698702e-01 9.416668212101e-01 9.406575903096e-01 -9.396401936544e-01 9.386146478614e-01 9.375809696787e-01 9.365391759848e-01 -9.354892837886e-01 9.344313102292e-01 9.333652725750e-01 9.322911882240e-01 -9.312090747032e-01 9.301189496681e-01 9.290208309025e-01 9.279147363183e-01 -9.268006839549e-01 9.256786919789e-01 9.245487786841e-01 9.234109624904e-01 -9.222652619442e-01 9.211116957177e-01 9.199502826083e-01 9.187810415390e-01 -9.176039915569e-01 9.164191518340e-01 9.152265416659e-01 9.140261804721e-01 -9.128180877951e-01 9.116022833003e-01 9.103787867756e-01 9.091476181311e-01 -9.079087973984e-01 9.066623447304e-01 9.054082804010e-01 9.041466248047e-01 -9.028773984559e-01 9.016006219888e-01 9.003163161571e-01 8.990245018332e-01 -8.977252000079e-01 8.964184317905e-01 8.951042184077e-01 8.937825812035e-01 -8.924535416387e-01 8.911171212908e-01 8.897733418530e-01 8.884222251345e-01 -8.870637930592e-01 8.856980676661e-01 8.843250711084e-01 8.829448256533e-01 -8.815573536812e-01 8.801626776859e-01 8.787608202735e-01 8.773518041623e-01 -8.759356521824e-01 8.745123872751e-01 8.730820324926e-01 8.716446109973e-01 -8.702001460618e-01 8.687486610678e-01 8.672901795064e-01 8.658247249770e-01 -8.643523211873e-01 8.628729919524e-01 8.613867611947e-01 8.598936529435e-01 -8.583936913341e-01 8.568869006077e-01 8.553733051108e-01 8.538529292946e-01 -8.523257977150e-01 8.507919350314e-01 8.492513660070e-01 8.477041155076e-01 -8.461502085016e-01 8.445896700594e-01 8.430225253529e-01 8.414487996548e-01 -8.398685183386e-01 8.382817068775e-01 8.366883908446e-01 8.350885959116e-01 -8.334823478491e-01 8.318696725255e-01 8.302505959068e-01 8.286251440560e-01 -8.269933431327e-01 8.253552193925e-01 8.237107991864e-01 8.220601089605e-01 -8.204031752555e-01 8.187400247058e-01 8.170706840394e-01 8.153951800773e-01 -8.137135397330e-01 8.120257900115e-01 8.103319580098e-01 8.086320709151e-01 -8.069261560055e-01 8.052142406486e-01 8.034963523014e-01 8.017725185095e-01 -8.000427669069e-01 7.983071252151e-01 7.965656212430e-01 7.948182828859e-01 -7.930651381253e-01 7.913062150281e-01 7.895415417463e-01 7.877711465163e-01 -7.859950576585e-01 7.842133035765e-01 7.824259127570e-01 7.806329137685e-01 -7.788343352617e-01 7.770302059682e-01 7.752205547002e-01 7.734054103500e-01 -7.715848018895e-01 7.697587583694e-01 7.679273089188e-01 7.660904827447e-01 -7.642483091312e-01 7.624008174394e-01 7.605480371061e-01 7.586899976440e-01 -7.568267286407e-01 7.549582597581e-01 7.530846207322e-01 7.512058413721e-01 -7.493219515597e-01 7.474329812490e-01 7.455389604655e-01 7.436399193057e-01 -7.417358879367e-01 7.398268965953e-01 7.379129755873e-01 7.359941552877e-01 -7.340704661390e-01 7.321419386517e-01 7.302086034029e-01 7.282704910361e-01 -7.263276322605e-01 7.243800578507e-01 7.224277986455e-01 7.204708855480e-01 -7.185093495243e-01 7.165432216036e-01 7.145725328773e-01 7.125973144982e-01 -7.106175976801e-01 7.086334136974e-01 7.066447938841e-01 7.046517696335e-01 -7.026543723976e-01 7.006526336861e-01 6.986465850664e-01 6.966362581626e-01 -6.946216846549e-01 6.926028962792e-01 6.905799248262e-01 6.885528021412e-01 -6.865215601232e-01 6.844862307242e-01 6.824468459489e-01 6.804034378539e-01 -6.783560385471e-01 6.763046801870e-01 6.742493949824e-01 6.721902151914e-01 -6.701271731211e-01 6.680603011268e-01 6.659896316114e-01 6.639151970248e-01 -6.618370298633e-01 6.597551626691e-01 6.576696280293e-01 6.555804585759e-01 -6.534876869844e-01 6.513913459739e-01 6.492914683061e-01 6.471880867846e-01 -6.450812342547e-01 6.429709436022e-01 6.408572477532e-01 6.387401796735e-01 -6.366197723676e-01 6.344960588783e-01 6.323690722863e-01 6.302388457091e-01 -6.281054123006e-01 6.259688052507e-01 6.238290577843e-01 6.216862031607e-01 -6.195402746735e-01 6.173913056491e-01 6.152393294468e-01 6.130843794577e-01 -6.109264891046e-01 6.087656918406e-01 6.066020211492e-01 6.044355105433e-01 -6.022661935646e-01 6.000941037829e-01 5.979192747957e-01 5.957417402274e-01 -5.935615337287e-01 5.913786889758e-01 5.891932396702e-01 5.870052195375e-01 -5.848146623272e-01 5.826216018118e-01 5.804260717865e-01 5.782281060679e-01 -5.760277384943e-01 5.738250029242e-01 5.716199332362e-01 5.694125633280e-01 -5.672029271161e-01 5.649910585350e-01 5.627769915364e-01 5.605607600890e-01 -5.583423981772e-01 5.561219398012e-01 5.538994189759e-01 5.516748697302e-01 -5.494483261068e-01 5.472198221611e-01 5.449893919607e-01 5.427570695849e-01 -5.405228891241e-01 5.382868846788e-01 5.360490903593e-01 5.338095402850e-01 -5.315682685834e-01 5.293253093903e-01 5.270806968481e-01 5.248344651060e-01 -5.225866483191e-01 5.203372806474e-01 5.180863962557e-01 5.158340293127e-01 -5.135802139904e-01 5.113249844634e-01 5.090683749084e-01 5.068104195034e-01 -5.045511524271e-01 5.022906078585e-01 5.000288199758e-01 4.977658229563e-01 -4.955016509752e-01 4.932363382055e-01 4.909699188170e-01 4.887024269757e-01 -4.864338968434e-01 4.841643625769e-01 4.818938583272e-01 4.796224182391e-01 -4.773500764507e-01 4.750768670924e-01 4.728028242863e-01 4.705279821459e-01 -4.682523747753e-01 4.659760362683e-01 4.636990007081e-01 4.614213021668e-01 -4.591429747041e-01 4.568640523675e-01 4.545845691911e-01 4.523045591950e-01 -4.500240563851e-01 4.477430947521e-01 4.454617082707e-01 4.431799308996e-01 -4.408977965804e-01 4.386153392368e-01 4.363325927745e-01 4.340495910803e-01 -4.317663680216e-01 4.294829574453e-01 4.271993931780e-01 4.249157090245e-01 -4.226319387680e-01 4.203481161687e-01 4.180642749639e-01 4.157804488669e-01 -4.134966715664e-01 4.112129767260e-01 4.089293979839e-01 4.066459689517e-01 -4.043627232139e-01 4.020796943278e-01 3.997969158223e-01 3.975144211975e-01 -3.952322439240e-01 3.929504174427e-01 3.906689751635e-01 3.883879504653e-01 -3.861073766949e-01 3.838272871669e-01 3.815477151626e-01 3.792686939297e-01 -3.769902566816e-01 3.747124365969e-01 3.724352668186e-01 3.701587804535e-01 -3.678830105718e-01 3.656079902064e-01 3.633337523523e-01 3.610603299659e-01 -3.587877559645e-01 3.565160632258e-01 3.542452845871e-01 3.519754528448e-01 -3.497066007538e-01 3.474387610269e-01 3.451719663343e-01 3.429062493028e-01 -3.406416425154e-01 3.383781785106e-01 3.361158897820e-01 3.338548087774e-01 -3.315949678985e-01 3.293363995000e-01 3.270791358894e-01 3.248232093263e-01 -3.225686520215e-01 3.203154961369e-01 3.180637737846e-01 3.158135170263e-01 -3.135647578731e-01 3.113175282844e-01 3.090718601677e-01 3.068277853780e-01 -3.045853357170e-01 3.023445429328e-01 3.001054387190e-01 2.978680547147e-01 -2.956324225033e-01 2.933985736121e-01 2.911665395122e-01 2.889363516174e-01 -2.867080412837e-01 2.844816398091e-01 2.822571784326e-01 2.800346883341e-01 -2.778142006333e-01 2.755957463896e-01 2.733793566015e-01 2.711650622057e-01 -2.689528940770e-01 2.667428830274e-01 2.645350598058e-01 2.623294550973e-01 -2.601260995227e-01 2.579250236380e-01 2.557262579339e-01 2.535298328350e-01 -2.513357786996e-01 2.491441258191e-01 2.469549044171e-01 2.447681446495e-01 -2.425838766034e-01 2.404021302968e-01 2.382229356781e-01 2.360463226257e-01 -2.338723209472e-01 2.317009603788e-01 2.295322705852e-01 2.273662811590e-01 -2.252030216196e-01 2.230425214136e-01 2.208848099135e-01 2.187299164175e-01 -2.165778701493e-01 2.144287002568e-01 2.122824358125e-01 2.101391058124e-01 -2.079987391756e-01 2.058613647440e-01 2.037270112815e-01 2.015957074739e-01 -1.994674819279e-01 1.973423631710e-01 1.952203796510e-01 1.931015597352e-01 -1.909859317103e-01 1.888735237814e-01 1.867643640722e-01 1.846584806240e-01 -1.825559013952e-01 1.804566542612e-01 1.783607670137e-01 1.762682673601e-01 -1.741791829233e-01 1.720935412410e-01 1.700113697654e-01 1.679326958626e-01 -1.658575468121e-01 1.637859498066e-01 1.617179319512e-01 1.596535202632e-01 -1.575927416715e-01 1.555356230162e-01 1.534821910482e-01 1.514324724284e-01 -1.493864937280e-01 1.473442814271e-01 1.453058619151e-01 1.432712614896e-01 -1.412405063565e-01 1.392136226292e-01 1.371906363283e-01 1.351715733810e-01 -1.331564596211e-01 1.311453207879e-01 1.291381825264e-01 1.271350703867e-01 -1.251360098232e-01 1.231410261946e-01 1.211501447634e-01 1.191633906954e-01 -1.171807890593e-01 1.152023648264e-01 1.132281428698e-01 1.112581479646e-01 -1.092924047871e-01 1.073309379142e-01 1.053737718236e-01 1.034209308930e-01 -1.014724393995e-01 9.952832151981e-02 9.758860132928e-02 9.565330280182e-02 -9.372244980944e-02 9.179606612181e-02 8.987417540595e-02 8.795680122580e-02 -8.604396704186e-02 8.413569621079e-02 8.223201198506e-02 8.033293751256e-02 -7.843849583622e-02 7.654870989369e-02 7.466360251689e-02 7.278319643172e-02 -7.090751425767e-02 6.903657850744e-02 6.717041158663e-02 6.530903579334e-02 -6.345247331783e-02 6.160074624218e-02 5.975387653995e-02 5.791188607580e-02 -5.607479660517e-02 5.424262977394e-02 5.241540711809e-02 5.059315006336e-02 -4.877587992492e-02 4.696361790703e-02 4.515638510272e-02 4.335420249347e-02 -4.155709094886e-02 3.976507122629e-02 3.797816397060e-02 3.619638971384e-02 -3.441976887486e-02 3.264832175908e-02 3.088206855812e-02 2.912102934952e-02 -2.736522409646e-02 2.561467264741e-02 2.386939473585e-02 2.212940997999e-02 -2.039473788245e-02 1.866539783001e-02 1.694140909324e-02 1.522279082631e-02 -1.350956206664e-02 1.180174173465e-02 1.009934863345e-02 8.402401448598e-03 -6.710918747811e-03 5.024918980690e-03 3.344420478453e-03 1.669441453672e-03 -7.672312953838e-15 -1.663885908054e-03 -3.322198415458e-03 -4.974919786836e-03 --6.622032406765e-03 - Type L N - 0 0 1 -1.000000000000e+00 9.999817230550e-01 9.999268934227e-01 9.998355147105e-01 -9.997075929310e-01 9.995431365007e-01 9.993421562398e-01 9.991046653715e-01 -9.988306795205e-01 9.985202167122e-01 9.981732973708e-01 9.977899443184e-01 -9.973701827725e-01 9.969140403446e-01 9.964215470375e-01 9.958927352436e-01 -9.953276397415e-01 9.947262976943e-01 9.940887486459e-01 9.934150345180e-01 -9.927051996072e-01 9.919592905814e-01 9.911773564758e-01 9.903594486895e-01 -9.895056209813e-01 9.886159294654e-01 9.876904326070e-01 9.867291912182e-01 -9.857322684524e-01 9.846997298001e-01 9.836316430835e-01 9.825280784509e-01 -9.813891083719e-01 9.802148076310e-01 9.790052533223e-01 9.777605248430e-01 -9.764807038877e-01 9.751658744415e-01 9.738161227738e-01 9.724315374315e-01 -9.710122092318e-01 9.695582312554e-01 9.680696988392e-01 9.665467095687e-01 -9.649893632704e-01 9.633977620041e-01 9.617720100548e-01 9.601122139247e-01 -9.584184823246e-01 9.566909261659e-01 9.549296585514e-01 9.531347947667e-01 -9.513064522713e-01 9.494447506893e-01 9.475498117999e-01 9.456217595284e-01 -9.436607199360e-01 9.416668212101e-01 9.396401936544e-01 9.375809696787e-01 -9.354892837886e-01 9.333652725750e-01 9.312090747032e-01 9.290208309025e-01 -9.268006839549e-01 9.245487786841e-01 9.222652619442e-01 9.199502826083e-01 -9.176039915569e-01 9.152265416659e-01 9.128180877950e-01 9.103787867756e-01 -9.079087973983e-01 9.054082804010e-01 9.028773984559e-01 9.003163161571e-01 -8.977252000079e-01 8.951042184077e-01 8.924535416387e-01 8.897733418530e-01 -8.870637930592e-01 8.843250711084e-01 8.815573536812e-01 8.787608202735e-01 -8.759356521824e-01 8.730820324926e-01 8.702001460617e-01 8.672901795064e-01 -8.643523211873e-01 8.613867611947e-01 8.583936913341e-01 8.553733051108e-01 -8.523257977150e-01 8.492513660070e-01 8.461502085016e-01 8.430225253528e-01 -8.398685183386e-01 8.366883908446e-01 8.334823478491e-01 8.302505959068e-01 -8.269933431327e-01 8.237107991864e-01 8.204031752555e-01 8.170706840394e-01 -8.137135397329e-01 8.103319580097e-01 8.069261560055e-01 8.034963523014e-01 -8.000427669069e-01 7.965656212430e-01 7.930651381253e-01 7.895415417462e-01 -7.859950576585e-01 7.824259127570e-01 7.788343352617e-01 7.752205547002e-01 -7.715848018895e-01 7.679273089188e-01 7.642483091312e-01 7.605480371061e-01 -7.568267286406e-01 7.530846207322e-01 7.493219515597e-01 7.455389604655e-01 -7.417358879367e-01 7.379129755873e-01 7.340704661390e-01 7.302086034029e-01 -7.263276322605e-01 7.224277986455e-01 7.185093495243e-01 7.145725328773e-01 -7.106175976801e-01 7.066447938841e-01 7.026543723976e-01 6.986465850664e-01 -6.946216846549e-01 6.905799248262e-01 6.865215601232e-01 6.824468459489e-01 -6.783560385470e-01 6.742493949824e-01 6.701271731211e-01 6.659896316114e-01 -6.618370298633e-01 6.576696280293e-01 6.534876869844e-01 6.492914683060e-01 -6.450812342546e-01 6.408572477532e-01 6.366197723676e-01 6.323690722863e-01 -6.281054123006e-01 6.238290577842e-01 6.195402746735e-01 6.152393294468e-01 -6.109264891046e-01 6.066020211492e-01 6.022661935645e-01 5.979192747957e-01 -5.935615337287e-01 5.891932396702e-01 5.848146623272e-01 5.804260717864e-01 -5.760277384943e-01 5.716199332362e-01 5.672029271161e-01 5.627769915364e-01 -5.583423981772e-01 5.538994189759e-01 5.494483261068e-01 5.449893919606e-01 -5.405228891241e-01 5.360490903593e-01 5.315682685834e-01 5.270806968481e-01 -5.225866483190e-01 5.180863962556e-01 5.135802139904e-01 5.090683749084e-01 -5.045511524271e-01 5.000288199758e-01 4.955016509752e-01 4.909699188169e-01 -4.864338968434e-01 4.818938583271e-01 4.773500764507e-01 4.728028242863e-01 -4.682523747752e-01 4.636990007081e-01 4.591429747041e-01 4.545845691910e-01 -4.500240563851e-01 4.454617082707e-01 4.408977965803e-01 4.363325927745e-01 -4.317663680215e-01 4.271993931779e-01 4.226319387679e-01 4.180642749639e-01 -4.134966715663e-01 4.089293979839e-01 4.043627232139e-01 3.997969158223e-01 -3.952322439240e-01 3.906689751635e-01 3.861073766949e-01 3.815477151625e-01 -3.769902566816e-01 3.724352668185e-01 3.678830105718e-01 3.633337523523e-01 -3.587877559645e-01 3.542452845871e-01 3.497066007538e-01 3.451719663342e-01 -3.406416425153e-01 3.361158897820e-01 3.315949678984e-01 3.270791358894e-01 -3.225686520215e-01 3.180637737845e-01 3.135647578730e-01 3.090718601677e-01 -3.045853357170e-01 3.001054387190e-01 2.956324225032e-01 2.911665395122e-01 -2.867080412837e-01 2.822571784326e-01 2.778142006333e-01 2.733793566015e-01 -2.689528940770e-01 2.645350598058e-01 2.601260995227e-01 2.557262579339e-01 -2.513357786996e-01 2.469549044171e-01 2.425838766033e-01 2.382229356781e-01 -2.338723209471e-01 2.295322705852e-01 2.252030216196e-01 2.208848099134e-01 -2.165778701492e-01 2.122824358125e-01 2.079987391756e-01 2.037270112815e-01 -1.994674819278e-01 1.952203796510e-01 1.909859317102e-01 1.867643640722e-01 -1.825559013951e-01 1.783607670136e-01 1.741791829233e-01 1.700113697654e-01 -1.658575468121e-01 1.617179319512e-01 1.575927416715e-01 1.534821910481e-01 -1.493864937279e-01 1.453058619150e-01 1.412405063565e-01 1.371906363282e-01 -1.331564596210e-01 1.291381825264e-01 1.251360098231e-01 1.211501447634e-01 -1.171807890593e-01 1.132281428698e-01 1.092924047870e-01 1.053737718236e-01 -1.014724393995e-01 9.758860132924e-02 9.372244980940e-02 8.987417540592e-02 -8.604396704183e-02 8.223201198502e-02 7.843849583619e-02 7.466360251685e-02 -7.090751425763e-02 6.717041158660e-02 6.345247331779e-02 5.975387653992e-02 -5.607479660513e-02 5.241540711806e-02 4.877587992489e-02 4.515638510269e-02 -4.155709094883e-02 3.797816397057e-02 3.441976887483e-02 3.088206855808e-02 -2.736522409643e-02 2.386939473581e-02 2.039473788242e-02 1.694140909321e-02 -1.350956206661e-02 1.009934863341e-02 6.710918747778e-03 3.344420478420e-03 --2.512273976170e-14 -3.322198415490e-03 -6.622032406798e-03 -9.899361531813e-03 --1.315404727543e-02 -1.638595305741e-02 -1.959494424002e-02 -2.278088813553e-02 --2.594365401354e-02 -2.908311310815e-02 -3.219913862489e-02 -3.529160574762e-02 --3.836039164512e-02 -4.140537547759e-02 -4.442643840297e-02 -4.742346358305e-02 --5.039633618947e-02 -5.334494340950e-02 -5.626917445168e-02 -5.916892055125e-02 --6.204407497547e-02 -6.489453302871e-02 -6.772019205738e-02 -7.052095145470e-02 --7.329671266530e-02 -7.604737918967e-02 -7.877285658831e-02 -8.147305248593e-02 --8.414787657523e-02 -8.679724062070e-02 -8.942105846215e-02 -9.201924601808e-02 --9.459172128888e-02 -9.713840435985e-02 -9.965921740409e-02 -1.021540846851e-01 --1.046229325594e-01 -1.070656894788e-01 -1.094822859923e-01 -1.118726547488e-01 --1.142367304979e-01 -1.165744500923e-01 -1.188857524890e-01 -1.211705787506e-01 --1.234288720462e-01 -1.256605776527e-01 -1.278656429553e-01 -1.300440174480e-01 --1.321956527344e-01 -1.343205025276e-01 -1.364185226502e-01 -1.384896710345e-01 --1.405339077219e-01 -1.425511948627e-01 -1.445414967153e-01 -1.465047796453e-01 --1.484410121248e-01 -1.503501647310e-01 -1.522322101451e-01 -1.540871231506e-01 --1.559148806315e-01 -1.577154615709e-01 -1.594888470486e-01 -1.612350202393e-01 --1.629539664097e-01 -1.646456729164e-01 -1.663101292031e-01 -1.679473267977e-01 --1.695572593094e-01 -1.711399224253e-01 -1.726953139072e-01 -1.742234335878e-01 --1.757242833674e-01 -1.771978672099e-01 -1.786441911383e-01 -1.800632632314e-01 --1.814550936186e-01 -1.828196944759e-01 -1.841570800207e-01 -1.854672665076e-01 --1.867502722230e-01 -1.880061174798e-01 -1.892348246122e-01 -1.904364179705e-01 --1.916109239149e-01 -1.927583708101e-01 -1.938787890190e-01 -1.949722108968e-01 --1.960386707848e-01 -1.970782050034e-01 -1.980908518463e-01 -1.990766515731e-01 --2.000356464025e-01 -2.009678805055e-01 -2.018733999978e-01 -2.027522529330e-01 --2.036044892942e-01 -2.044301609872e-01 -2.052293218322e-01 -2.060020275558e-01 --2.067483357832e-01 -2.074683060295e-01 -2.081619996917e-01 -2.088294800398e-01 --2.094708122085e-01 -2.100860631877e-01 -2.106753018143e-01 -2.112385987623e-01 --2.117760265342e-01 -2.122876594511e-01 -2.127735736434e-01 -2.132338470410e-01 --2.136685593635e-01 -2.140777921103e-01 -2.144616285503e-01 -2.148201537121e-01 --2.151534543730e-01 -2.154616190492e-01 -2.157447379844e-01 -2.160029031399e-01 --2.162362081830e-01 -2.164447484765e-01 -2.166286210670e-01 -2.167879246744e-01 --2.169227596796e-01 -2.170332281139e-01 -2.171194336468e-01 -2.171814815742e-01 --2.172194788069e-01 -2.172335338584e-01 -2.172237568329e-01 -2.171902594128e-01 --2.171331548467e-01 -2.170525579367e-01 -2.169485850260e-01 -2.168213539861e-01 --2.166709842043e-01 -2.164975965702e-01 -2.163013134635e-01 -2.160822587401e-01 --2.158405577195e-01 -2.155763371712e-01 -2.152897253014e-01 -2.149808517391e-01 --2.146498475232e-01 -2.142968450882e-01 -2.139219782505e-01 -2.135253821946e-01 --2.131071934591e-01 -2.126675499226e-01 -2.122065907892e-01 -2.117244565748e-01 --2.112212890922e-01 -2.106972314371e-01 -2.101524279729e-01 -2.095870243170e-01 --2.090011673252e-01 -2.083950050775e-01 -2.077686868629e-01 -2.071223631645e-01 --2.064561856448e-01 -2.057703071299e-01 -2.050648815952e-01 -2.043400641494e-01 --2.035960110195e-01 -2.028328795354e-01 -2.020508281143e-01 -2.012500162453e-01 --2.004306044739e-01 -1.995927543858e-01 -1.987366285918e-01 -1.978623907118e-01 --1.969702053588e-01 -1.960602381230e-01 -1.951326555559e-01 -1.941876251546e-01 --1.932253153449e-01 -1.922458954659e-01 -1.912495357537e-01 -1.902364073248e-01 --1.892066821602e-01 -1.881605330886e-01 -1.870981337707e-01 -1.860196586822e-01 --1.849252830975e-01 -1.838151830732e-01 -1.826895354317e-01 -1.815485177444e-01 --1.803923083150e-01 -1.792210861632e-01 -1.780350310077e-01 -1.768343232495e-01 --1.756191439552e-01 -1.743896748402e-01 -1.731460982522e-01 -1.718885971536e-01 --1.706173551053e-01 -1.693325562496e-01 -1.680343852933e-01 -1.667230274906e-01 --1.653986686265e-01 -1.640614949995e-01 -1.627116934048e-01 -1.613494511171e-01 --1.599749558740e-01 -1.585883958584e-01 -1.571899596821e-01 -1.557798363681e-01 --1.543582153342e-01 -1.529252863754e-01 -1.514812396472e-01 -1.500262656484e-01 --1.485605552040e-01 -1.470842994484e-01 -1.455976898080e-01 -1.441009179842e-01 --1.425941759366e-01 -1.410776558659e-01 -1.395515501966e-01 -1.380160515603e-01 --1.364713527783e-01 -1.349176468453e-01 -1.333551269115e-01 -1.317839862665e-01 --1.302044183217e-01 -1.286166165939e-01 -1.270207746877e-01 -1.254170862794e-01 --1.238057450998e-01 -1.221869449169e-01 -1.205608795201e-01 -1.189277427023e-01 --1.172877282441e-01 -1.156410298963e-01 -1.139878413639e-01 -1.123283562887e-01 --1.106627682334e-01 -1.089912706645e-01 -1.073140569360e-01 -1.056313202728e-01 --1.039432537543e-01 -1.022500502977e-01 -1.005519026420e-01 -9.884900333142e-02 --9.714154469927e-02 -9.542971885147e-02 -9.371371765052e-02 -9.199373269930e-02 --9.026995532499e-02 -8.854257656300e-02 -8.681178714101e-02 -8.507777746301e-02 --8.334073759342e-02 -8.160085724131e-02 -7.985832574460e-02 -7.811333205436e-02 --7.636606471922e-02 -7.461671186973e-02 -7.286546120293e-02 -7.111249996683e-02 --6.935801494510e-02 -6.760219244173e-02 -6.584521826582e-02 -6.408727771638e-02 --6.232855556727e-02 -6.056923605220e-02 -5.880950284972e-02 -5.704953906845e-02 --5.528952723219e-02 -5.352964926532e-02 -5.177008647805e-02 -5.001101955200e-02 --4.825262852562e-02 -4.649509277989e-02 -4.473859102399e-02 -4.298330128108e-02 --4.122940087420e-02 -3.947706641221e-02 -3.772647377587e-02 -3.597779810396e-02 --3.423121377953e-02 -3.248689441622e-02 -3.074501284469e-02 -2.900574109912e-02 --2.726925040385e-02 -2.553571116007e-02 -2.380529293261e-02 -2.207816443691e-02 --2.035449352594e-02 -1.863444717740e-02 -1.691819148084e-02 -1.520589162503e-02 --1.349771188539e-02 -1.179381561144e-02 -1.009436521452e-02 -8.399522155443e-03 --6.709446932398e-03 -5.024299068872e-03 -3.344237101723e-03 -1.669418569349e-03 -2.512273976170e-14 1.663863099950e-03 3.322016257243e-03 4.974306043361e-03 -6.620580085661e-03 - Type L N - 0 0 2 -1.000000000000e+00 9.999588771557e-01 9.998355147105e-01 9.996299309272e-01 -9.993421562398e-01 9.989722332485e-01 9.985202167122e-01 9.979861735385e-01 -9.973701827725e-01 9.966723355824e-01 9.958927352436e-01 9.950314971204e-01 -9.940887486459e-01 9.930646292992e-01 9.919592905814e-01 9.907728959881e-01 -9.895056209813e-01 9.881576529582e-01 9.867291912182e-01 9.852204469278e-01 -9.836316430835e-01 9.819630144724e-01 9.802148076310e-01 9.783872808018e-01 -9.764807038877e-01 9.744953584044e-01 9.724315374315e-01 9.702895455599e-01 -9.680696988392e-01 9.657723247216e-01 9.633977620041e-01 9.609463607696e-01 -9.584184823246e-01 9.558144991363e-01 9.531347947667e-01 9.503797638053e-01 -9.475498117999e-01 9.446453551853e-01 9.416668212101e-01 9.386146478614e-01 -9.354892837886e-01 9.322911882240e-01 9.290208309025e-01 9.256786919789e-01 -9.222652619442e-01 9.187810415390e-01 9.152265416659e-01 9.116022833003e-01 -9.079087973984e-01 9.041466248047e-01 9.003163161571e-01 8.964184317905e-01 -8.924535416387e-01 8.884222251345e-01 8.843250711084e-01 8.801626776859e-01 -8.759356521824e-01 8.716446109973e-01 8.672901795064e-01 8.628729919524e-01 -8.583936913341e-01 8.538529292946e-01 8.492513660070e-01 8.445896700594e-01 -8.398685183386e-01 8.350885959116e-01 8.302505959068e-01 8.253552193925e-01 -8.204031752555e-01 8.153951800773e-01 8.103319580098e-01 8.052142406486e-01 -8.000427669069e-01 7.948182828859e-01 7.895415417463e-01 7.842133035765e-01 -7.788343352617e-01 7.734054103500e-01 7.679273089188e-01 7.624008174394e-01 -7.568267286407e-01 7.512058413721e-01 7.455389604655e-01 7.398268965953e-01 -7.340704661390e-01 7.282704910361e-01 7.224277986455e-01 7.165432216036e-01 -7.106175976801e-01 7.046517696335e-01 6.986465850664e-01 6.926028962792e-01 -6.865215601232e-01 6.804034378539e-01 6.742493949824e-01 6.680603011268e-01 -6.618370298633e-01 6.555804585759e-01 6.492914683061e-01 6.429709436022e-01 -6.366197723676e-01 6.302388457091e-01 6.238290577843e-01 6.173913056491e-01 -6.109264891046e-01 6.044355105433e-01 5.979192747957e-01 5.913786889758e-01 -5.848146623272e-01 5.782281060679e-01 5.716199332362e-01 5.649910585350e-01 -5.583423981772e-01 5.516748697302e-01 5.449893919607e-01 5.382868846788e-01 -5.315682685834e-01 5.248344651060e-01 5.180863962557e-01 5.113249844634e-01 -5.045511524271e-01 4.977658229563e-01 4.909699188170e-01 4.841643625769e-01 -4.773500764507e-01 4.705279821459e-01 4.636990007081e-01 4.568640523675e-01 -4.500240563851e-01 4.431799308996e-01 4.363325927745e-01 4.294829574453e-01 -4.226319387680e-01 4.157804488669e-01 4.089293979839e-01 4.020796943278e-01 -3.952322439240e-01 3.883879504653e-01 3.815477151626e-01 3.747124365969e-01 -3.678830105718e-01 3.610603299659e-01 3.542452845871e-01 3.474387610269e-01 -3.406416425154e-01 3.338548087774e-01 3.270791358894e-01 3.203154961369e-01 -3.135647578731e-01 3.068277853780e-01 3.001054387190e-01 2.933985736121e-01 -2.867080412837e-01 2.800346883341e-01 2.733793566015e-01 2.667428830274e-01 -2.601260995227e-01 2.535298328350e-01 2.469549044171e-01 2.404021302968e-01 -2.338723209472e-01 2.273662811590e-01 2.208848099135e-01 2.144287002568e-01 -2.079987391756e-01 2.015957074739e-01 1.952203796510e-01 1.888735237814e-01 -1.825559013952e-01 1.762682673601e-01 1.700113697654e-01 1.637859498066e-01 -1.575927416715e-01 1.514324724284e-01 1.453058619151e-01 1.392136226292e-01 -1.331564596211e-01 1.271350703867e-01 1.211501447634e-01 1.152023648264e-01 -1.092924047871e-01 1.034209308930e-01 9.758860132928e-02 9.179606612181e-02 -8.604396704186e-02 8.033293751256e-02 7.466360251689e-02 6.903657850744e-02 -6.345247331783e-02 5.791188607580e-02 5.241540711809e-02 4.696361790703e-02 -4.155709094886e-02 3.619638971384e-02 3.088206855812e-02 2.561467264741e-02 -2.039473788245e-02 1.522279082631e-02 1.009934863345e-02 5.024918980689e-03 -7.389596982152e-15 -4.974919786837e-03 -9.899361531780e-03 -1.477285612207e-02 --1.959494423999e-02 -2.436517642069e-02 -2.908311310811e-02 -3.374832470902e-02 --3.836039164509e-02 -4.291890440306e-02 -4.742346358302e-02 -5.187367994466e-02 --5.626917445165e-02 -6.060957831403e-02 -6.489453302868e-02 -6.912369041777e-02 --7.329671266528e-02 -7.741327235156e-02 -8.147305248590e-02 -8.547574653711e-02 --8.942105846213e-02 -9.330870273266e-02 -9.713840435983e-02 -1.009098989168e-01 --1.046229325594e-01 -1.082772620449e-01 -1.118726547487e-01 -1.154088886789e-01 --1.188857524890e-01 -1.223030454888e-01 -1.256605776527e-01 -1.289581696271e-01 --1.321956527344e-01 -1.353728689764e-01 -1.384896710345e-01 -1.415459222689e-01 --1.445414967152e-01 -1.474762790796e-01 -1.503501647310e-01 -1.531630596929e-01 --1.559148806314e-01 -1.586055548431e-01 -1.612350202393e-01 -1.638032253296e-01 --1.663101292030e-01 -1.687557015072e-01 -1.711399224253e-01 -1.734627826523e-01 --1.757242833674e-01 -1.779244362065e-01 -1.800632632314e-01 -1.821407968977e-01 --1.841570800207e-01 -1.861121657396e-01 -1.880061174797e-01 -1.898390089126e-01 --1.916109239149e-01 -1.933219565247e-01 -1.949722108968e-01 -1.965618012556e-01 --1.980908518463e-01 -1.995594968849e-01 -2.009678805055e-01 -2.023161567062e-01 --2.036044892942e-01 -2.048330518274e-01 -2.060020275558e-01 -2.071116093607e-01 --2.081619996917e-01 -2.091534105031e-01 -2.100860631877e-01 -2.109601885094e-01 --2.117760265342e-01 -2.125338265592e-01 -2.132338470410e-01 -2.138763555209e-01 --2.144616285503e-01 -2.149899516135e-01 -2.154616190492e-01 -2.158769339703e-01 --2.162362081830e-01 -2.165397621037e-01 -2.167879246744e-01 -2.169810332771e-01 --2.171194336468e-01 -2.172034797827e-01 -2.172335338584e-01 -2.172099661307e-01 --2.171331548467e-01 -2.170034861501e-01 -2.168213539861e-01 -2.165871600048e-01 --2.163013134635e-01 -2.159642311277e-01 -2.155763371712e-01 -2.151380630747e-01 --2.146498475232e-01 -2.141121363026e-01 -2.135253821946e-01 -2.128900448716e-01 --2.122065907892e-01 -2.114754930785e-01 -2.106972314371e-01 -2.098722920193e-01 --2.090011673253e-01 -2.080843560887e-01 -2.071223631645e-01 -2.061156994150e-01 --2.050648815952e-01 -2.039704322376e-01 -2.028328795354e-01 -2.016527572263e-01 --2.004306044739e-01 -1.991669657493e-01 -1.978623907118e-01 -1.965174340891e-01 --1.951326555559e-01 -1.937086196133e-01 -1.922458954659e-01 -1.907450569001e-01 --1.892066821602e-01 -1.876313538246e-01 -1.860196586822e-01 -1.843721876067e-01 --1.826895354318e-01 -1.809723008254e-01 -1.792210861633e-01 -1.774364974027e-01 --1.756191439552e-01 -1.737696385594e-01 -1.718885971536e-01 -1.699766387472e-01 --1.680343852933e-01 -1.660624615594e-01 -1.640614949995e-01 -1.620321156246e-01 --1.599749558740e-01 -1.578906504859e-01 -1.557798363681e-01 -1.536431524689e-01 --1.514812396472e-01 -1.492947405431e-01 -1.470842994485e-01 -1.448505621774e-01 --1.425941759367e-01 -1.403157891963e-01 -1.380160515603e-01 -1.356956136373e-01 --1.333551269115e-01 -1.309952436141e-01 -1.286166165939e-01 -1.262198991893e-01 --1.238057450998e-01 -1.213748082581e-01 -1.189277427024e-01 -1.164652024486e-01 --1.139878413639e-01 -1.114963130395e-01 -1.089912706645e-01 -1.064733669002e-01 --1.039432537543e-01 -1.014015824560e-01 -9.884900333145e-02 -9.628616568006e-02 --9.371371765055e-02 -9.113230611832e-02 -8.854257656303e-02 -8.594517294687e-02 --8.334073759345e-02 -8.072991106737e-02 -7.811333205439e-02 -7.549163724239e-02 --7.286546120296e-02 -7.023543627378e-02 -6.760219244177e-02 -6.496635722697e-02 --6.232855556730e-02 -5.968940970410e-02 -5.704953906848e-02 -5.440956016866e-02 --5.177008647808e-02 -4.913172832449e-02 -4.649509277992e-02 -4.386078355168e-02 --4.122940087423e-02 -3.860154140214e-02 -3.597779810400e-02 -3.335876015735e-02 --3.074501284472e-02 -2.813713745071e-02 -2.553571116010e-02 -2.294130695715e-02 --2.035449352598e-02 -1.777583515209e-02 -1.520589162507e-02 -1.264521814239e-02 --1.009436521455e-02 -7.553878571246e-03 -5.024299068905e-03 -2.506162599395e-03 --7.389596982152e-15 2.493663035294e-03 4.974306043329e-03 7.441413877863e-03 -9.894476794447e-03 1.233299053393e-02 1.475645640461e-02 1.716438136306e-02 -1.955627809357e-02 2.193166508616e-02 2.429006671325e-02 2.663101330492e-02 -2.895404122269e-02 3.125869293193e-02 3.354451707279e-02 3.581106852968e-02 -3.805790849927e-02 4.028460455704e-02 4.249073072231e-02 4.467586752178e-02 -4.683960205159e-02 4.898152803781e-02 5.110124589545e-02 5.319836278591e-02 -5.527249267288e-02 5.732325637672e-02 5.935028162727e-02 6.135320311502e-02 -6.333166254088e-02 6.528530866416e-02 6.721379734912e-02 6.911679160987e-02 -7.099396165367e-02 7.284498492262e-02 7.466954613379e-02 7.646733731766e-02 -7.823805785504e-02 7.998141451225e-02 8.169712147484e-02 8.338490037948e-02 -8.504448034442e-02 8.667559799815e-02 8.827799750657e-02 8.985143059840e-02 -9.139565658906e-02 9.291044240281e-02 9.439556259334e-02 9.585079936266e-02 -9.727594257839e-02 9.867078978937e-02 1.000351462397e-01 1.013688248810e-01 -1.026716463832e-01 1.039434391438e-01 1.051840392948e-01 1.063932907093e-01 -1.075710450048e-01 1.087171615467e-01 1.098315074484e-01 1.109139575712e-01 -1.119643945218e-01 1.129827086485e-01 1.139687980356e-01 1.149225684962e-01 -1.158439335639e-01 1.167328144823e-01 1.175891401928e-01 1.184128473218e-01 -1.192038801653e-01 1.199621906724e-01 1.206877384270e-01 1.213804906286e-01 -1.220404220705e-01 1.226675151177e-01 1.232617596819e-01 1.238231531963e-01 -1.243517005880e-01 1.248474142494e-01 1.253103140077e-01 1.257404270933e-01 -1.261377881068e-01 1.265024389837e-01 1.268344289589e-01 1.271338145288e-01 -1.274006594126e-01 1.276350345115e-01 1.278370178673e-01 1.280066946191e-01 -1.281441569587e-01 1.282495040846e-01 1.283228421551e-01 1.283642842391e-01 -1.283739502669e-01 1.283519669785e-01 1.282984678711e-01 1.282135931456e-01 -1.280974896510e-01 1.279503108287e-01 1.277722166546e-01 1.275633735804e-01 -1.273239544735e-01 1.270541385561e-01 1.267541113426e-01 1.264240645763e-01 -1.260641961644e-01 1.256747101130e-01 1.252558164592e-01 1.248077312040e-01 -1.243306762428e-01 1.238248792955e-01 1.232905738353e-01 1.227279990164e-01 -1.221373996013e-01 1.215190258860e-01 1.208731336255e-01 1.201999839574e-01 -1.194998433250e-01 1.187729833992e-01 1.180196810003e-01 1.172402180176e-01 -1.164348813293e-01 1.156039627211e-01 1.147477588040e-01 1.138665709311e-01 -1.129607051143e-01 1.120304719395e-01 1.110761864814e-01 1.100981682176e-01 -1.090967409418e-01 1.080722326769e-01 1.070249755862e-01 1.059553058858e-01 -1.048635637545e-01 1.037500932445e-01 1.026152421907e-01 1.014593621201e-01 -1.002828081598e-01 9.908593894552e-02 9.786911652869e-02 9.663270628381e-02 -9.537707681491e-02 9.410259986172e-02 9.280965020549e-02 9.149860557431e-02 -9.016984654819e-02 8.882375646372e-02 8.746072131842e-02 8.608112967483e-02 -8.468537256426e-02 8.327384339038e-02 8.184693783247e-02 8.040505374852e-02 -7.894859107812e-02 7.747795174524e-02 7.599353956071e-02 7.449576012479e-02 -7.298502072940e-02 7.146173026050e-02 6.992629910019e-02 6.837913902896e-02 -6.682066312777e-02 6.525128568021e-02 6.367142207471e-02 6.208148870668e-02 -6.048190288085e-02 5.887308271361e-02 5.725544703546e-02 5.562941529365e-02 -5.399540745492e-02 5.235384390837e-02 5.070514536864e-02 4.904973277921e-02 -4.738802721591e-02 4.572044979079e-02 4.404742155614e-02 4.236936340890e-02 -4.068669599533e-02 3.899983961602e-02 3.730921413129e-02 3.561523886688e-02 -3.391833252013e-02 3.221891306649e-02 3.051739766655e-02 2.881420257340e-02 -2.710974304059e-02 2.540443323047e-02 2.369868612311e-02 2.199291342571e-02 -2.028752548258e-02 1.858293118562e-02 1.687953788549e-02 1.517775130329e-02 -1.347797544288e-02 1.178061250383e-02 1.008606279508e-02 8.394724649155e-03 -6.706994337188e-03 5.023265984567e-03 3.343931487334e-03 1.669380429316e-03 -7.389596982152e-15 -1.663825086774e-03 -3.321712673450e-03 -4.973283238437e-03 --6.618159975091e-03 - Type L N - 0 0 3 -1.000000000000e+00 9.999268934227e-01 9.997075929310e-01 9.993421562398e-01 -9.988306795205e-01 9.981732973708e-01 9.973701827725e-01 9.964215470375e-01 -9.953276397415e-01 9.940887486459e-01 9.927051996072e-01 9.911773564758e-01 -9.895056209813e-01 9.876904326070e-01 9.857322684524e-01 9.836316430835e-01 -9.813891083719e-01 9.790052533223e-01 9.764807038877e-01 9.738161227738e-01 -9.710122092318e-01 9.680696988392e-01 9.649893632704e-01 9.617720100548e-01 -9.584184823246e-01 9.549296585514e-01 9.513064522713e-01 9.475498117999e-01 -9.436607199360e-01 9.396401936544e-01 9.354892837886e-01 9.312090747032e-01 -9.268006839549e-01 9.222652619442e-01 9.176039915569e-01 9.128180877951e-01 -9.079087973983e-01 9.028773984559e-01 8.977252000079e-01 8.924535416387e-01 -8.870637930592e-01 8.815573536812e-01 8.759356521824e-01 8.702001460618e-01 -8.643523211873e-01 8.583936913341e-01 8.523257977150e-01 8.461502085016e-01 -8.398685183386e-01 8.334823478491e-01 8.269933431327e-01 8.204031752555e-01 -8.137135397329e-01 8.069261560055e-01 8.000427669069e-01 7.930651381253e-01 -7.859950576585e-01 7.788343352617e-01 7.715848018895e-01 7.642483091312e-01 -7.568267286407e-01 7.493219515597e-01 7.417358879367e-01 7.340704661390e-01 -7.263276322605e-01 7.185093495243e-01 7.106175976801e-01 7.026543723976e-01 -6.946216846549e-01 6.865215601232e-01 6.783560385471e-01 6.701271731211e-01 -6.618370298633e-01 6.534876869844e-01 6.450812342547e-01 6.366197723676e-01 -6.281054123006e-01 6.195402746735e-01 6.109264891046e-01 6.022661935646e-01 -5.935615337287e-01 5.848146623272e-01 5.760277384943e-01 5.672029271161e-01 -5.583423981772e-01 5.494483261068e-01 5.405228891241e-01 5.315682685834e-01 -5.225866483191e-01 5.135802139904e-01 5.045511524271e-01 4.955016509752e-01 -4.864338968434e-01 4.773500764507e-01 4.682523747753e-01 4.591429747041e-01 -4.500240563851e-01 4.408977965803e-01 4.317663680216e-01 4.226319387680e-01 -4.134966715663e-01 4.043627232139e-01 3.952322439240e-01 3.861073766949e-01 -3.769902566816e-01 3.678830105718e-01 3.587877559645e-01 3.497066007538e-01 -3.406416425154e-01 3.315949678984e-01 3.225686520215e-01 3.135647578731e-01 -3.045853357170e-01 2.956324225032e-01 2.867080412837e-01 2.778142006333e-01 -2.689528940770e-01 2.601260995227e-01 2.513357786996e-01 2.425838766033e-01 -2.338723209472e-01 2.252030216196e-01 2.165778701492e-01 2.079987391756e-01 -1.994674819278e-01 1.909859317103e-01 1.825559013952e-01 1.741791829233e-01 -1.658575468121e-01 1.575927416715e-01 1.493864937280e-01 1.412405063565e-01 -1.331564596210e-01 1.251360098231e-01 1.171807890593e-01 1.092924047870e-01 -1.014724393995e-01 9.372244980942e-02 8.604396704184e-02 7.843849583621e-02 -7.090751425765e-02 6.345247331781e-02 5.607479660515e-02 4.877587992491e-02 -4.155709094885e-02 3.441976887485e-02 2.736522409644e-02 2.039473788244e-02 -1.350956206663e-02 6.710918747795e-03 -8.583855418087e-15 -6.622032406781e-03 --1.315404727542e-02 -1.959494424001e-02 -2.594365401353e-02 -3.219913862487e-02 --3.836039164510e-02 -4.442643840296e-02 -5.039633618945e-02 -5.626917445166e-02 --6.204407497546e-02 -6.772019205736e-02 -7.329671266529e-02 -7.877285658830e-02 --8.414787657521e-02 -8.942105846214e-02 -9.459172128887e-02 -9.965921740407e-02 --1.046229325594e-01 -1.094822859923e-01 -1.142367304979e-01 -1.188857524890e-01 --1.234288720462e-01 -1.278656429553e-01 -1.321956527344e-01 -1.364185226502e-01 --1.405339077219e-01 -1.445414967153e-01 -1.484410121248e-01 -1.522322101451e-01 --1.559148806314e-01 -1.594888470486e-01 -1.629539664097e-01 -1.663101292031e-01 --1.695572593094e-01 -1.726953139072e-01 -1.757242833674e-01 -1.786441911383e-01 --1.814550936186e-01 -1.841570800207e-01 -1.867502722230e-01 -1.892348246122e-01 --1.916109239149e-01 -1.938787890189e-01 -1.960386707847e-01 -1.980908518463e-01 --2.000356464025e-01 -2.018733999978e-01 -2.036044892942e-01 -2.052293218322e-01 --2.067483357832e-01 -2.081619996917e-01 -2.094708122085e-01 -2.106753018143e-01 --2.117760265342e-01 -2.127735736434e-01 -2.136685593635e-01 -2.144616285503e-01 --2.151534543730e-01 -2.157447379844e-01 -2.162362081830e-01 -2.166286210670e-01 --2.169227596796e-01 -2.171194336468e-01 -2.172194788069e-01 -2.172237568329e-01 --2.171331548467e-01 -2.169485850260e-01 -2.166709842043e-01 -2.163013134635e-01 --2.158405577195e-01 -2.152897253014e-01 -2.146498475232e-01 -2.139219782505e-01 --2.131071934591e-01 -2.122065907892e-01 -2.112212890922e-01 -2.101524279729e-01 --2.090011673253e-01 -2.077686868629e-01 -2.064561856448e-01 -2.050648815952e-01 --2.035960110195e-01 -2.020508281143e-01 -2.004306044739e-01 -1.987366285918e-01 --1.969702053588e-01 -1.951326555559e-01 -1.932253153449e-01 -1.912495357537e-01 --1.892066821602e-01 -1.870981337707e-01 -1.849252830975e-01 -1.826895354318e-01 --1.803923083151e-01 -1.780350310077e-01 -1.756191439552e-01 -1.731460982522e-01 --1.706173551053e-01 -1.680343852933e-01 -1.653986686265e-01 -1.627116934048e-01 --1.599749558740e-01 -1.571899596821e-01 -1.543582153342e-01 -1.514812396472e-01 --1.485605552041e-01 -1.455976898080e-01 -1.425941759367e-01 -1.395515501966e-01 --1.364713527783e-01 -1.333551269115e-01 -1.302044183218e-01 -1.270207746877e-01 --1.238057450998e-01 -1.205608795201e-01 -1.172877282441e-01 -1.139878413639e-01 --1.106627682334e-01 -1.073140569360e-01 -1.039432537543e-01 -1.005519026420e-01 --9.714154469929e-02 -9.371371765054e-02 -9.026995532500e-02 -8.681178714103e-02 --8.334073759344e-02 -7.985832574462e-02 -7.636606471923e-02 -7.286546120294e-02 --6.935801494512e-02 -6.584521826584e-02 -6.232855556729e-02 -5.880950284974e-02 --5.528952723221e-02 -5.177008647807e-02 -4.825262852563e-02 -4.473859102400e-02 --4.122940087421e-02 -3.772647377589e-02 -3.423121377955e-02 -3.074501284471e-02 --2.726925040387e-02 -2.380529293263e-02 -2.035449352596e-02 -1.691819148085e-02 --1.349771188540e-02 -1.009436521454e-02 -6.709446932414e-03 -3.344237101739e-03 -8.583855418087e-15 3.322016257227e-03 6.620580085644e-03 9.894476794462e-03 -1.314250894107e-02 1.636349667822e-02 1.955627809359e-02 2.271970954158e-02 -2.585266596732e-02 2.895404122270e-02 3.202274837443e-02 3.505772000398e-02 -3.805790849929e-02 4.102228633832e-02 4.394984636413e-02 4.683960205160e-02 -4.969058776567e-02 5.250185901098e-02 5.527249267289e-02 5.800158724986e-02 -6.068826307699e-02 6.333166254089e-02 6.593095028556e-02 6.848531340948e-02 -7.099396165368e-02 7.345612758088e-02 7.587106674557e-02 7.823805785505e-02 -8.055640292137e-02 8.282542740419e-02 8.504448034443e-02 8.721293448883e-02 -8.933018640529e-02 9.139565658907e-02 9.340878955969e-02 9.536905394874e-02 -9.727594257840e-02 9.912897253077e-02 1.009276852080e-01 1.026716463832e-01 -1.043604462423e-01 1.059936994162e-01 1.075710450049e-01 1.090921465908e-01 -1.105566922449e-01 1.119643945218e-01 1.133149904477e-01 1.146082414973e-01 -1.158439335639e-01 1.170218769186e-01 1.181419061618e-01 1.192038801653e-01 -1.202076820060e-01 1.211532188904e-01 1.220404220705e-01 1.228692467518e-01 -1.236396719912e-01 1.243517005880e-01 1.250053589653e-01 1.256006970439e-01 -1.261377881068e-01 1.266167286569e-01 1.270376382654e-01 1.274006594126e-01 -1.277059573205e-01 1.279537197783e-01 1.281441569587e-01 1.282775012279e-01 -1.283540069471e-01 1.283739502669e-01 1.283376289143e-01 1.282453619720e-01 -1.280974896510e-01 1.278943730559e-01 1.276363939434e-01 1.273239544735e-01 -1.269574769544e-01 1.265374035805e-01 1.260641961644e-01 1.255383358617e-01 -1.249603228902e-01 1.243306762428e-01 1.236499333941e-01 1.229186500017e-01 -1.221373996013e-01 1.213067732963e-01 1.204273794422e-01 1.194998433250e-01 -1.185248068352e-01 1.175029281366e-01 1.164348813293e-01 1.153213561093e-01 -1.141630574224e-01 1.129607051143e-01 1.117150335758e-01 1.104267913845e-01 -1.090967409418e-01 1.077256581065e-01 1.063143318244e-01 1.048635637545e-01 -1.033741678916e-01 1.018469701860e-01 1.002828081598e-01 9.868253052003e-02 -9.704699676952e-02 9.537707681490e-02 9.367365057201e-02 9.193760756917e-02 -9.016984654818e-02 8.837127506339e-02 8.654280907894e-02 8.468537256425e-02 -8.279989708810e-02 8.088732141129e-02 7.894859107811e-02 7.698465800680e-02 -7.499648007916e-02 7.298502072939e-02 7.095124853242e-02 6.889613679188e-02 -6.682066312775e-02 6.472580906407e-02 6.261255961660e-02 6.048190288084e-02 -5.833482962040e-02 5.617233285596e-02 5.399540745490e-02 5.180504972191e-02 -4.960225699053e-02 4.738802721590e-02 4.516335856891e-02 4.292924903178e-02 -4.068669599531e-02 3.843669585791e-02 3.618024362661e-02 3.391833252011e-02 -3.165195357415e-02 2.938209524917e-02 2.710974304058e-02 2.483587909164e-02 -2.256148180925e-02 2.028752548256e-02 1.801497990482e-02 1.574480999833e-02 -1.347797544286e-02 1.121543030753e-02 8.958122686274e-03 6.706994337172e-03 -4.462980325576e-03 2.227008671311e-03 -8.630974746701e-15 -2.217132801389e-03 --4.423484924482e-03 -6.618159975107e-03 -8.800270304154e-03 -1.096893733375e-02 --1.312329187859e-02 -1.526247446229e-02 -1.738563562868e-02 -1.949193624797e-02 --2.158054781756e-02 -2.365065275757e-02 -2.570144470082e-02 -2.773212877731e-02 --2.974192189297e-02 -3.173005300270e-02 -3.369576337758e-02 -3.563830686613e-02 --3.755695014953e-02 -3.945097299084e-02 -4.131966847795e-02 -4.316234326036e-02 --4.497831777956e-02 -4.676692649316e-02 -4.852751809239e-02 -5.025945571324e-02 --5.196211714088e-02 -5.363489500755e-02 -5.527719698371e-02 -5.688844596238e-02 --5.846808023680e-02 -6.001555367111e-02 -6.153033586423e-02 -6.301191230675e-02 --6.445978453086e-02 -6.587347025326e-02 -6.725250351099e-02 -6.859643479029e-02 --6.990483114816e-02 -7.117727632702e-02 -7.241337086198e-02 -7.361273218113e-02 --7.477499469850e-02 -7.589980989991e-02 -7.698684642154e-02 -7.803579012129e-02 --7.904634414293e-02 -8.001822897299e-02 -8.095118249047e-02 -8.184496000923e-02 --8.269933431327e-02 -8.351409568469e-02 -8.428905192453e-02 -8.502402836639e-02 --8.571886788288e-02 -8.637343088493e-02 -8.698759531398e-02 -8.756125662706e-02 --8.809432777479e-02 -8.858673917239e-02 -8.903843866361e-02 -8.944939147778e-02 --8.981958017984e-02 -9.014900461357e-02 -9.043768183789e-02 -9.068564605646e-02 --9.089294854048e-02 -9.105965754475e-02 -9.118585821725e-02 -9.127165250193e-02 --9.131715903518e-02 -9.132251303570e-02 -9.128786618804e-02 -9.121338651981e-02 --9.109925827260e-02 -9.094568176680e-02 -9.075287326016e-02 -9.052106480049e-02 --9.025050407227e-02 -8.994145423743e-02 -8.959419377037e-02 -8.920901628719e-02 --8.878623036942e-02 -8.832615938206e-02 -8.782914128630e-02 -8.729552844687e-02 --8.672568743409e-02 -8.611999882078e-02 -8.547885697412e-02 -8.480266984256e-02 --8.409185873785e-02 -8.334685811228e-02 -8.256811533135e-02 -8.175609044183e-02 --8.091125593543e-02 -8.003409650805e-02 -7.912510881496e-02 -7.818480122174e-02 --7.721369355130e-02 -7.621231682701e-02 -7.518121301206e-02 -7.412093474520e-02 --7.303204507291e-02 -7.191511717825e-02 -7.077073410629e-02 -6.959948848655e-02 --6.840198225222e-02 -6.717882635665e-02 -6.593064048684e-02 -6.465805277447e-02 --6.336169950422e-02 -6.204222481980e-02 -6.070028042758e-02 -5.933652529816e-02 --5.795162536585e-02 -5.654625322624e-02 -5.512108783203e-02 -5.367681418722e-02 --5.221412303970e-02 -5.073371057258e-02 -4.923627809413e-02 -4.772253172675e-02 --4.619318209476e-02 -4.464894401151e-02 -4.309053616559e-02 -4.151868080657e-02 --3.993410343018e-02 -3.833753246318e-02 -3.672969894800e-02 -3.511133622732e-02 --3.348317962867e-02 -3.184596614922e-02 -3.020043414085e-02 -2.854732299567e-02 --2.688737283210e-02 -2.522132418162e-02 -2.354991767633e-02 -2.187389373746e-02 --2.019399226492e-02 -1.851095232806e-02 -1.682551185774e-02 -1.513840733978e-02 --1.345037351001e-02 -1.176214305102e-02 -1.007444629062e-02 -8.388010902267e-03 --6.703561607512e-03 -5.021819880594e-03 -3.343503655279e-03 -1.669327034086e-03 -8.583855418087e-15 1.663771869264e-03 3.321287684165e-03 4.971851523590e-03 -6.614772712065e-03 - Type L N - 0 0 4 -1.000000000000e+00 9.998857723822e-01 9.995431365007e-01 9.989722332485e-01 -9.981732973708e-01 9.971466573496e-01 9.958927352436e-01 9.944120464808e-01 -9.927051996072e-01 9.907728959881e-01 9.886159294654e-01 9.862351859690e-01 -9.836316430835e-01 9.808063695699e-01 9.777605248430e-01 9.744953584044e-01 -9.710122092318e-01 9.673125051241e-01 9.633977620041e-01 9.592695831779e-01 -9.549296585514e-01 9.503797638053e-01 9.456217595285e-01 9.406575903096e-01 -9.354892837886e-01 9.301189496681e-01 9.245487786841e-01 9.187810415390e-01 -9.128180877951e-01 9.066623447304e-01 9.003163161571e-01 8.937825812035e-01 -8.870637930592e-01 8.801626776859e-01 8.730820324926e-01 8.658247249770e-01 -8.583936913341e-01 8.507919350314e-01 8.430225253529e-01 8.350885959116e-01 -8.269933431327e-01 8.187400247058e-01 8.103319580098e-01 8.017725185095e-01 -7.930651381253e-01 7.842133035765e-01 7.752205547002e-01 7.660904827447e-01 -7.568267286407e-01 7.474329812490e-01 7.379129755873e-01 7.282704910361e-01 -7.185093495243e-01 7.086334136974e-01 6.986465850664e-01 6.885528021412e-01 -6.783560385471e-01 6.680603011268e-01 6.576696280293e-01 6.471880867846e-01 -6.366197723676e-01 6.259688052507e-01 6.152393294468e-01 6.044355105433e-01 -5.935615337287e-01 5.826216018118e-01 5.716199332362e-01 5.605607600890e-01 -5.494483261068e-01 5.382868846788e-01 5.270806968481e-01 5.158340293127e-01 -5.045511524271e-01 4.932363382055e-01 4.818938583272e-01 4.705279821459e-01 -4.591429747041e-01 4.477430947521e-01 4.363325927745e-01 4.249157090245e-01 -4.134966715664e-01 4.020796943278e-01 3.906689751635e-01 3.792686939297e-01 -3.678830105718e-01 3.565160632258e-01 3.451719663343e-01 3.338548087774e-01 -3.225686520215e-01 3.113175282844e-01 3.001054387190e-01 2.889363516174e-01 -2.778142006333e-01 2.667428830274e-01 2.557262579339e-01 2.447681446495e-01 -2.338723209472e-01 2.230425214136e-01 2.122824358125e-01 2.015957074739e-01 -1.909859317103e-01 1.804566542612e-01 1.700113697654e-01 1.596535202632e-01 -1.493864937280e-01 1.392136226292e-01 1.291381825264e-01 1.191633906954e-01 -1.092924047871e-01 9.952832151981e-02 8.987417540595e-02 8.033293751256e-02 -7.090751425767e-02 6.160074624218e-02 5.241540711809e-02 4.335420249347e-02 -3.441976887486e-02 2.561467264741e-02 1.694140909324e-02 8.402401448597e-03 -7.672312953838e-15 -8.263518780010e-03 -1.638595305738e-02 -2.436517642069e-02 --3.219913862486e-02 -3.988586629398e-02 -4.742346358302e-02 -5.481011279815e-02 --6.204407497544e-02 -6.912369041777e-02 -7.604737918964e-02 -8.281364156991e-02 --8.942105846213e-02 -9.586829176246e-02 -1.021540846851e-01 -1.082772620449e-01 --1.142367304978e-01 -1.200314787380e-01 -1.256605776527e-01 -1.311231804344e-01 --1.364185226502e-01 -1.415459222689e-01 -1.465047796452e-01 -1.512945774624e-01 --1.559148806314e-01 -1.603653361497e-01 -1.646456729163e-01 -1.687557015072e-01 --1.726953139072e-01 -1.764644832025e-01 -1.800632632314e-01 -1.834917881941e-01 --1.867502722230e-01 -1.898390089126e-01 -1.927583708100e-01 -1.955088088658e-01 --1.980908518463e-01 -2.005051057080e-01 -2.027522529330e-01 -2.048330518274e-01 --2.067483357832e-01 -2.084990125027e-01 -2.100860631877e-01 -2.115105416927e-01 --2.127735736434e-01 -2.138763555209e-01 -2.148201537121e-01 -2.156063035269e-01 --2.162362081830e-01 -2.167113377586e-01 -2.170332281139e-01 -2.172034797827e-01 --2.172237568329e-01 -2.170957856992e-01 -2.168213539861e-01 -2.164023092444e-01 --2.158405577195e-01 -2.151380630747e-01 -2.142968450882e-01 -2.133189783257e-01 --2.122065907892e-01 -2.109618625430e-01 -2.095870243170e-01 -2.080843560887e-01 --2.064561856448e-01 -2.047048871231e-01 -2.028328795354e-01 -2.008426252725e-01 --1.987366285918e-01 -1.965174340891e-01 -1.941876251546e-01 -1.917498224147e-01 --1.892066821602e-01 -1.865608947617e-01 -1.838151830732e-01 -1.809723008254e-01 --1.780350310077e-01 -1.750061842432e-01 -1.718885971536e-01 -1.686851307183e-01 --1.653986686265e-01 -1.620321156246e-01 -1.585883958585e-01 -1.550704512126e-01 --1.514812396472e-01 -1.478237335327e-01 -1.441009179842e-01 -1.403157891963e-01 --1.364713527783e-01 -1.325706220924e-01 -1.286166165939e-01 -1.246123601762e-01 --1.205608795201e-01 -1.164652024486e-01 -1.123283562887e-01 -1.081533662405e-01 --1.039432537543e-01 -9.970103491761e-02 -9.542971885150e-02 -9.113230611832e-02 --8.681178714104e-02 -8.247114063521e-02 -7.811333205440e-02 -7.374131204982e-02 --6.935801494513e-02 -6.496635722697e-02 -6.056923605223e-02 -5.616952777273e-02 --5.177008647808e-02 -4.737374255747e-02 -4.298330128111e-02 -3.860154140214e-02 --3.423121377957e-02 -2.987504002304e-02 -2.553571116010e-02 -2.121588632660e-02 --1.691819148087e-02 -1.264521814239e-02 -8.399522155476e-03 -4.183622478594e-03 --7.672312953838e-15 4.148903619835e-03 8.260687078510e-03 1.233299053393e-02 -1.636349667820e-02 2.034993178264e-02 2.429006671325e-02 2.818171791645e-02 -3.202274837442e-02 3.581106852968e-02 3.954463717861e-02 4.322146233329e-02 -4.683960205159e-02 5.039716523481e-02 5.389231239291e-02 5.732325637672e-02 -6.068826307698e-02 6.398565208991e-02 6.721379734912e-02 7.037112772347e-02 -7.345612758087e-02 7.646733731766e-02 7.940335385353e-02 8.226283109171e-02 -8.504448034442e-02 8.774707072340e-02 9.036942949543e-02 9.291044240281e-02 -9.536905394873e-02 9.774426764751e-02 1.000351462397e-01 1.022408118720e-01 -1.043604462423e-01 1.063932907093e-01 1.083386463677e-01 1.101958740880e-01 -1.119643945218e-01 1.136436880728e-01 1.152332948324e-01 1.167328144823e-01 -1.181419061618e-01 1.194602883023e-01 1.206877384270e-01 1.218240929184e-01 -1.228692467518e-01 1.238231531963e-01 1.246858234832e-01 1.254573264425e-01 -1.261377881068e-01 1.267273912844e-01 1.272263751013e-01 1.276350345115e-01 -1.279537197783e-01 1.281828359248e-01 1.283228421551e-01 1.283742512467e-01 -1.283376289143e-01 1.282135931456e-01 1.280028135091e-01 1.277060104358e-01 -1.273239544735e-01 1.268574655159e-01 1.263074120056e-01 1.256747101130e-01 -1.249603228903e-01 1.241652594025e-01 1.232905738353e-01 1.223373645797e-01 -1.213067732963e-01 1.201999839574e-01 1.190182218689e-01 1.177627526727e-01 -1.164348813293e-01 1.150359510831e-01 1.135673424083e-01 1.120304719395e-01 -1.104267913845e-01 1.087577864224e-01 1.070249755862e-01 1.052299091315e-01 -1.033741678916e-01 1.014593621201e-01 9.948713032115e-02 9.745913806862e-02 -9.537707681491e-02 9.324266268984e-02 9.105763529064e-02 8.882375646372e-02 -8.654280907895e-02 8.421659579729e-02 8.184693783247e-02 7.943567370750e-02 -7.698465800682e-02 7.449576012479e-02 7.197086301134e-02 6.941186191553e-02 -6.682066312777e-02 6.419918272143e-02 6.154934529476e-02 5.887308271361e-02 -5.617233285597e-02 5.344903835889e-02 5.070514536864e-02 4.794260229479e-02 -4.516335856893e-02 4.236936340890e-02 3.956256458903e-02 3.674490721732e-02 -3.391833252013e-02 3.108477663513e-02 2.824616941330e-02 2.540443323047e-02 -2.256148180926e-02 1.971921905204e-02 1.687953788549e-02 1.404431911761e-02 -1.121543030754e-02 8.394724649155e-03 5.584039868727e-03 2.785197137562e-03 -7.578074296609e-15 -2.769766682491e-03 -5.522337770715e-03 -8.255968869815e-03 --1.096893733374e-02 -1.365954325136e-02 -1.632611041382e-02 -1.896698726257e-02 --2.158054781754e-02 -2.416519258507e-02 -2.671934944500e-02 -2.924147451659e-02 --3.173005300269e-02 -3.418360001181e-02 -3.660066135775e-02 -3.897981433617e-02 --4.131966847794e-02 -4.361886627880e-02 -4.587608390495e-02 -4.809003187435e-02 --5.025945571322e-02 -5.238313658769e-02 -5.445989191001e-02 -5.648857591937e-02 --5.846808023678e-02 -6.039733439402e-02 -6.227530633623e-02 -6.410100289806e-02 --6.587347025325e-02 -6.759179433722e-02 -6.925510124285e-02 -7.086255758902e-02 --7.241337086197e-02 -7.390678972935e-02 -7.534210432677e-02 -7.671864651695e-02 --7.803579012128e-02 -7.929295112383e-02 -8.048958784776e-02 -8.162520110414e-02 --8.269933431327e-02 -8.371157359834e-02 -8.466154785176e-02 -8.554892877396e-02 --8.637343088493e-02 -8.713481150850e-02 -8.783287072958e-02 -8.846745132432e-02 --8.903843866361e-02 -8.954576058973e-02 -8.998938726675e-02 -9.036933100447e-02 --9.068564605646e-02 -9.093842839216e-02 -9.112781544345e-02 -9.125398582595e-02 --9.131715903518e-02 -9.131759511805e-02 -9.125559431986e-02 -9.113149670714e-02 --9.094568176680e-02 -9.069856798169e-02 -9.039061238318e-02 -9.002231008092e-02 --8.959419377037e-02 -8.910683321828e-02 -8.856083472673e-02 -8.795684057602e-02 --8.729552844688e-02 -8.657761082247e-02 -8.580383437062e-02 -8.497497930673e-02 --8.409185873785e-02 -8.315531798846e-02 -8.216623390832e-02 -8.112551416309e-02 --8.003409650806e-02 -7.889294804556e-02 -7.770306446669e-02 -7.646546927776e-02 --7.518121301207e-02 -7.385137242756e-02 -7.247704969097e-02 -7.105937154890e-02 --6.959948848656e-02 -6.809857387460e-02 -6.655782310482e-02 -6.497845271507e-02 --6.336169950423e-02 -6.170881963766e-02 -6.002108774381e-02 -5.829979600262e-02 --5.654625322625e-02 -5.476178393279e-02 -5.294772741363e-02 -5.110543679496e-02 --4.923627809415e-02 -4.734162927160e-02 -4.542287927867e-02 -4.348142710221e-02 --4.151868080659e-02 -3.953605657350e-02 -3.753497774043e-02 -3.551687383826e-02 --3.348317962869e-02 -3.143533414209e-02 -2.937477971632e-02 -2.730296103728e-02 --2.522132418163e-02 -2.313131566239e-02 -2.103438147799e-02 -1.893196616539e-02 --1.682551185776e-02 -1.471645734750e-02 -1.260623715499e-02 -1.049628060369e-02 --8.388010902283e-03 -6.282844234275e-03 -4.182188855659e-03 -2.087444201223e-03 --7.672312953838e-15 2.078764599540e-03 4.147481894186e-03 6.204796479797e-03 -8.249366093966e-03 1.027986244690e-02 1.229497204004e-02 1.429339697200e-02 -1.627385573126e-02 1.823508397523e-02 2.017583529520e-02 2.209488196671e-02 -2.399101568496e-02 2.586304828480e-02 2.770981244494e-02 2.953016237589e-02 -3.132297449134e-02 3.308714806259e-02 3.482160585556e-02 3.652529475025e-02 -3.819718634205e-02 3.983627752477e-02 4.144159105503e-02 4.301217609765e-02 -4.454710875183e-02 4.604549255782e-02 4.750645898376e-02 4.892916789260e-02 -5.031280798870e-02 5.165659724396e-02 5.295978330335e-02 5.422164386948e-02 -5.544148706619e-02 5.661865178096e-02 5.775250798589e-02 5.884245703727e-02 -5.988793195354e-02 6.088839767149e-02 6.184335128071e-02 6.275232223613e-02 -6.361487254867e-02 6.443059695381e-02 6.519912305825e-02 6.592011146445e-02 -6.659325587311e-02 6.721828316370e-02 6.779495345287e-02 6.832306013093e-02 -6.880242987642e-02 6.923292264877e-02 6.961443165918e-02 6.994688331985e-02 -7.023023717155e-02 7.046448578979e-02 7.064965466964e-02 7.078580208929e-02 -7.087301895268e-02 7.091142861123e-02 7.090118666487e-02 7.084248074266e-02 -7.073553026307e-02 7.058058617429e-02 7.037793067472e-02 7.012787691387e-02 -6.983076867396e-02 6.948698003260e-02 6.909691500657e-02 6.866100717726e-02 -6.817971929793e-02 6.765354288313e-02 6.708299778067e-02 6.646863172632e-02 -6.581101988180e-02 6.511076435624e-02 6.436849371157e-02 6.358486245216e-02 -6.276055049913e-02 6.189626264975e-02 6.099272802224e-02 6.005069948647e-02 -5.907095308091e-02 5.805428741632e-02 5.700152306657e-02 5.591350194701e-02 -5.479108668091e-02 5.363515995433e-02 5.244662385998e-02 5.122639923040e-02 -4.997542496109e-02 4.869465732392e-02 4.738506927143e-02 4.604764973237e-02 -4.468340289906e-02 4.329334750708e-02 4.187851610765e-02 4.043995433340e-02 -3.897872015787e-02 3.749588314926e-02 3.599252371908e-02 3.446973236600e-02 -3.292860891557e-02 3.137026175626e-02 2.979580707230e-02 2.820636807395e-02 -2.660307422553e-02 2.498706047192e-02 2.335946646383e-02 2.172143578265e-02 -2.007411516498e-02 1.841865372778e-02 1.675620219434e-02 1.508791212165e-02 -1.341493512983e-02 1.173842213385e-02 1.005952257823e-02 8.379383675215e-03 -6.699149646791e-03 5.019960971106e-03 3.342953633789e-03 1.669258384619e-03 -7.615769759501e-15 -1.663703448216e-03 -3.320741317270e-03 -4.970011110682e-03 --6.610419187879e-03 - Type L N - 0 0 5 -1.000000000000e+00 9.998355147105e-01 9.993421562398e-01 9.985202167122e-01 -9.973701827725e-01 9.958927352436e-01 9.940887486459e-01 9.919592905814e-01 -9.895056209813e-01 9.867291912182e-01 9.836316430835e-01 9.802148076310e-01 -9.764807038877e-01 9.724315374315e-01 9.680696988392e-01 9.633977620041e-01 -9.584184823246e-01 9.531347947667e-01 9.475498117999e-01 9.416668212101e-01 -9.354892837886e-01 9.290208309025e-01 9.222652619442e-01 9.152265416659e-01 -9.079087973984e-01 9.003163161571e-01 8.924535416387e-01 8.843250711084e-01 -8.759356521824e-01 8.672901795064e-01 8.583936913341e-01 8.492513660070e-01 -8.398685183386e-01 8.302505959068e-01 8.204031752555e-01 8.103319580098e-01 -8.000427669069e-01 7.895415417463e-01 7.788343352617e-01 7.679273089188e-01 -7.568267286407e-01 7.455389604655e-01 7.340704661390e-01 7.224277986455e-01 -7.106175976801e-01 6.986465850664e-01 6.865215601232e-01 6.742493949824e-01 -6.618370298633e-01 6.492914683061e-01 6.366197723676e-01 6.238290577842e-01 -6.109264891046e-01 5.979192747957e-01 5.848146623272e-01 5.716199332362e-01 -5.583423981772e-01 5.449893919607e-01 5.315682685834e-01 5.180863962557e-01 -5.045511524271e-01 4.909699188169e-01 4.773500764507e-01 4.636990007081e-01 -4.500240563851e-01 4.363325927745e-01 4.226319387680e-01 4.089293979839e-01 -3.952322439240e-01 3.815477151625e-01 3.678830105718e-01 3.542452845871e-01 -3.406416425154e-01 3.270791358894e-01 3.135647578731e-01 3.001054387190e-01 -2.867080412837e-01 2.733793566015e-01 2.601260995227e-01 2.469549044171e-01 -2.338723209472e-01 2.208848099135e-01 2.079987391756e-01 1.952203796510e-01 -1.825559013952e-01 1.700113697654e-01 1.575927416715e-01 1.453058619150e-01 -1.331564596210e-01 1.211501447634e-01 1.092924047870e-01 9.758860132927e-02 -8.604396704185e-02 7.466360251687e-02 6.345247331782e-02 5.241540711808e-02 -4.155709094885e-02 3.088206855810e-02 2.039473788244e-02 1.009934863344e-02 --3.353609941903e-15 -9.899361531791e-03 -1.959494424000e-02 -2.908311310812e-02 --3.836039164510e-02 -4.742346358303e-02 -5.626917445166e-02 -6.489453302869e-02 --7.329671266529e-02 -8.147305248591e-02 -8.942105846214e-02 -9.713840435983e-02 --1.046229325594e-01 -1.118726547488e-01 -1.188857524890e-01 -1.256605776527e-01 --1.321956527344e-01 -1.384896710345e-01 -1.445414967152e-01 -1.503501647310e-01 --1.559148806314e-01 -1.612350202393e-01 -1.663101292031e-01 -1.711399224253e-01 --1.757242833674e-01 -1.800632632314e-01 -1.841570800207e-01 -1.880061174797e-01 --1.916109239149e-01 -1.949722108968e-01 -1.980908518463e-01 -2.009678805055e-01 --2.036044892942e-01 -2.060020275558e-01 -2.081619996917e-01 -2.100860631877e-01 --2.117760265342e-01 -2.132338470410e-01 -2.144616285503e-01 -2.154616190492e-01 --2.162362081830e-01 -2.167879246744e-01 -2.171194336468e-01 -2.172335338584e-01 --2.171331548467e-01 -2.168213539861e-01 -2.163013134635e-01 -2.155763371712e-01 --2.146498475232e-01 -2.135253821946e-01 -2.122065907892e-01 -2.106972314371e-01 --2.090011673253e-01 -2.071223631645e-01 -2.050648815952e-01 -2.028328795354e-01 --2.004306044739e-01 -1.978623907118e-01 -1.951326555559e-01 -1.922458954659e-01 --1.892066821602e-01 -1.860196586822e-01 -1.826895354318e-01 -1.792210861633e-01 --1.756191439552e-01 -1.718885971536e-01 -1.680343852933e-01 -1.640614949995e-01 --1.599749558740e-01 -1.557798363681e-01 -1.514812396472e-01 -1.470842994485e-01 --1.425941759367e-01 -1.380160515603e-01 -1.333551269115e-01 -1.286166165939e-01 --1.238057450998e-01 -1.189277427023e-01 -1.139878413639e-01 -1.089912706645e-01 --1.039432537543e-01 -9.884900333144e-02 -9.371371765054e-02 -8.854257656302e-02 --8.334073759344e-02 -7.811333205438e-02 -7.286546120295e-02 -6.760219244176e-02 --6.232855556729e-02 -5.704953906847e-02 -5.177008647807e-02 -4.649509277991e-02 --4.122940087422e-02 -3.597779810398e-02 -3.074501284471e-02 -2.553571116009e-02 --2.035449352597e-02 -1.520589162505e-02 -1.009436521454e-02 -5.024299068894e-03 -3.353609941903e-15 4.974306043339e-03 9.894476794457e-03 1.475645640462e-02 -1.955627809358e-02 2.429006671326e-02 2.895404122270e-02 3.354451707280e-02 -3.805790849928e-02 4.249073072232e-02 4.683960205160e-02 5.110124589546e-02 -5.527249267289e-02 5.935028162727e-02 6.333166254089e-02 6.721379734913e-02 -7.099396165368e-02 7.466954613380e-02 7.823805785504e-02 8.169712147485e-02 -8.504448034442e-02 8.827799750657e-02 9.139565658907e-02 9.439556259335e-02 -9.727594257840e-02 1.000351462397e-01 1.026716463832e-01 1.051840392948e-01 -1.075710450049e-01 1.098315074484e-01 1.119643945218e-01 1.139687980356e-01 -1.158439335639e-01 1.175891401928e-01 1.192038801653e-01 1.206877384270e-01 -1.220404220705e-01 1.232617596819e-01 1.243517005880e-01 1.253103140077e-01 -1.261377881068e-01 1.268344289589e-01 1.274006594126e-01 1.278370178673e-01 -1.281441569587e-01 1.283228421551e-01 1.283739502669e-01 1.282984678711e-01 -1.280974896510e-01 1.277722166546e-01 1.273239544735e-01 1.267541113426e-01 -1.260641961644e-01 1.252558164592e-01 1.243306762428e-01 1.232905738353e-01 -1.221373996013e-01 1.208731336255e-01 1.194998433250e-01 1.180196810003e-01 -1.164348813293e-01 1.147477588040e-01 1.129607051143e-01 1.110761864814e-01 -1.090967409418e-01 1.070249755862e-01 1.048635637545e-01 1.026152421907e-01 -1.002828081598e-01 9.786911652868e-02 9.537707681490e-02 9.280965020548e-02 -9.016984654818e-02 8.746072131841e-02 8.468537256425e-02 8.184693783246e-02 -7.894859107811e-02 7.599353956071e-02 7.298502072939e-02 6.992629910018e-02 -6.682066312776e-02 6.367142207470e-02 6.048190288084e-02 5.725544703545e-02 -5.399540745491e-02 5.070514536863e-02 4.738802721590e-02 4.404742155613e-02 -4.068669599532e-02 3.730921413128e-02 3.391833252012e-02 3.051739766654e-02 -2.710974304058e-02 2.369868612310e-02 2.028752548257e-02 1.687953788548e-02 -1.347797544287e-02 1.008606279507e-02 6.706994337177e-03 3.343931487323e-03 --3.353609941903e-15 -3.321712673460e-03 -6.618159975102e-03 -9.886338779332e-03 --1.312329187859e-02 -1.632611041383e-02 -1.949193624796e-02 -2.261796428036e-02 --2.570144470082e-02 -2.873968518112e-02 -3.173005300270e-02 -3.466997711879e-02 --3.755695014953e-02 -4.038853030866e-02 -4.316234326035e-02 -4.587608390496e-02 --4.852751809239e-02 -5.111448426194e-02 -5.363489500755e-02 -5.608673856737e-02 --5.846808023679e-02 -6.077706370390e-02 -6.301191230675e-02 -6.517093021151e-02 --6.725250351099e-02 -6.925510124286e-02 -7.117727632702e-02 -7.301766642180e-02 --7.477499469850e-02 -7.644807053400e-02 -7.803579012129e-02 -7.953713699763e-02 --8.095118249047e-02 -8.227708608085e-02 -8.351409568469e-02 -8.466154785177e-02 --8.571886788288e-02 -8.668556986532e-02 -8.756125662706e-02 -8.834561961013e-02 --8.903843866361e-02 -8.963958175685e-02 -9.014900461357e-02 -9.056675026752e-02 --9.089294854048e-02 -9.112781544345e-02 -9.127165250193e-02 -9.132484600626e-02 --9.128786618804e-02 -9.116126632377e-02 -9.094568176680e-02 -9.064182890882e-02 --9.025050407227e-02 -8.977258233476e-02 -8.920901628720e-02 -8.856083472673e-02 --8.782914128630e-02 -8.701511300212e-02 -8.611999882078e-02 -8.514511804759e-02 --8.409185873785e-02 -8.296167603278e-02 -8.175609044184e-02 -8.047668607331e-02 --7.912510881496e-02 -7.770306446669e-02 -7.621231682701e-02 -7.465468573548e-02 --7.303204507292e-02 -7.134632072145e-02 -6.959948848655e-02 -6.779357198298e-02 --6.593064048684e-02 -6.401280675583e-02 -6.204222481980e-02 -6.002108774380e-02 --5.795162536585e-02 -5.583610201145e-02 -5.367681418723e-02 -5.147608825581e-02 --4.923627809414e-02 -4.695976273751e-02 -4.464894401151e-02 -4.230624415413e-02 --3.993410343019e-02 -3.753497774042e-02 -3.511133622733e-02 -3.266565888012e-02 --3.020043414085e-02 -2.771815651398e-02 -2.522132418162e-02 -2.271243662650e-02 --2.019399226492e-02 -1.766848609178e-02 -1.513840733978e-02 -1.260623715498e-02 --1.007444629063e-02 -7.545492821499e-03 -5.021819880599e-03 -2.505853420324e-03 -3.353609941903e-15 2.493355398284e-03 4.971851523585e-03 7.433152978010e-03 -9.874952304682e-03 1.229497204005e-02 1.469096672876e-02 1.706072489944e-02 -1.940207099964e-02 2.171286728842e-02 2.399101568497e-02 2.623445957164e-02 -2.844118555013e-02 3.060922514918e-02 3.273665648249e-02 3.482160585557e-02 -3.686224932018e-02 3.885681417514e-02 4.080358041244e-02 4.270088210738e-02 -4.454710875184e-02 4.634070652958e-02 4.808017953264e-02 4.976409091801e-02 -5.139106400368e-02 5.295978330336e-02 5.446899549908e-02 5.591751035112e-02 -5.730420154464e-02 5.862800747246e-02 5.988793195355e-02 6.108304488681e-02 -6.221248283990e-02 6.327544957257e-02 6.427121649467e-02 6.519912305826e-02 -6.605857708405e-02 6.684905502200e-02 6.757010214600e-02 6.822133268299e-02 -6.880242987642e-02 6.931314598432e-02 6.975330221231e-02 7.012278858185e-02 -7.042156373406e-02 7.064965466964e-02 7.080715642526e-02 7.089423168719e-02 -7.091111034250e-02 7.085808896881e-02 7.073553026306e-02 7.054386241019e-02 -7.028357839256e-02 6.995523524100e-02 6.955945322834e-02 6.909691500657e-02 -6.856836468843e-02 6.797460687474e-02 6.731650562847e-02 6.659498339670e-02 -6.581101988179e-02 6.496565086298e-02 6.405996696958e-02 6.309511240737e-02 -6.207228363932e-02 6.099272802224e-02 5.985774240061e-02 5.866867165936e-02 -5.742690723682e-02 5.613388559961e-02 5.479108668090e-02 5.340003228383e-02 -5.196228445149e-02 5.047944380534e-02 4.895314785360e-02 4.738506927142e-02 -4.577691415454e-02 4.413042024804e-02 4.244735515224e-02 4.072951450720e-02 -3.897872015786e-02 3.719681830143e-02 3.538567761908e-02 3.354718739344e-02 -3.168325561403e-02 2.979580707229e-02 2.788678144804e-02 2.595813138934e-02 -2.401182058740e-02 2.204982184855e-02 2.007411516497e-02 1.808668578607e-02 -1.608952229238e-02 1.408461467357e-02 1.207395241270e-02 1.005952257821e-02 -8.043307925581e-03 6.027285010332e-03 4.013422314213e-03 2.003678386190e-03 --3.353609941903e-15 -1.995679670084e-03 -3.981442853549e-03 -5.955388966477e-03 --7.915636371214e-03 -9.860324111326e-03 -1.178761362031e-02 -1.369569040251e-02 --1.558276568475e-02 -1.744707803726e-02 -1.928689496242e-02 -2.110051444999e-02 --2.288626649737e-02 -2.464251459378e-02 -2.636765716683e-02 -2.806012899041e-02 --2.971840255270e-02 -3.134098938305e-02 -3.292644133668e-02 -3.447335183621e-02 --3.598035706880e-02 -3.744613713811e-02 -3.886941717006e-02 -4.024896837154e-02 --4.158360904115e-02 -4.287220553129e-02 -4.411367316085e-02 -4.530697707766e-02 --4.645113307028e-02 -4.754520832833e-02 -4.858832215099e-02 -4.957964660305e-02 --5.051840711811e-02 -5.140388304864e-02 -5.223540816233e-02 -5.301237108475e-02 --5.373421568778e-02 -5.440044142386e-02 -5.501060360585e-02 -5.556431363235e-02 --5.606123915857e-02 -5.650110421273e-02 -5.688368925801e-02 -5.720883120029e-02 --5.747642334177e-02 -5.768641528072e-02 -5.783881275763e-02 -5.793367744821e-02 --5.797112670335e-02 -5.795133323679e-02 -5.787452476069e-02 -5.774098356987e-02 --5.755104607507e-02 -5.730510228602e-02 -5.700359524489e-02 -5.664702041079e-02 --5.623592499626e-02 -5.577090725630e-02 -5.525261573089e-02 -5.468174844201e-02 --5.405905204576e-02 -5.338532094088e-02 -5.266139633442e-02 -5.188816526574e-02 --5.106655958980e-02 -5.019755492096e-02 -4.928216953831e-02 -4.832146325383e-02 --4.731653624442e-02 -4.626852784924e-02 -4.517861533337e-02 -4.404801261941e-02 --4.287796898795e-02 -4.166976774856e-02 -4.042472488259e-02 -3.914418765900e-02 --3.782953322493e-02 -3.648216717212e-02 -3.510352208092e-02 -3.369505604309e-02 --3.225825116512e-02 -3.079461205334e-02 -2.930566428247e-02 -2.779295284911e-02 --2.625804061163e-02 -2.470250671805e-02 -2.312794502346e-02 -2.153596249848e-02 --1.992817763036e-02 -1.830621881823e-02 -1.667172276412e-02 -1.502633286119e-02 --1.337169758083e-02 -1.170946886015e-02 -1.004130049137e-02 -8.368846514648e-03 --6.693759615919e-03 -5.017689531214e-03 -3.342281458993e-03 -1.669174481984e-03 -3.353609941903e-15 1.663619824813e-03 3.320073608774e-03 4.967762272203e-03 -6.605100548166e-03 - Type L N - 0 0 6 -1.000000000000e+00 9.997761212345e-01 9.991046653715e-01 9.979861735385e-01 -9.964215470375e-01 9.944120464808e-01 9.919592905814e-01 9.890652546003e-01 -9.857322684524e-01 9.819630144724e-01 9.777605248430e-01 9.731281786890e-01 -9.680696988392e-01 9.625891482603e-01 9.566909261659e-01 9.503797638053e-01 -9.436607199360e-01 9.365391759848e-01 9.290208309025e-01 9.211116957177e-01 -9.128180877951e-01 9.041466248047e-01 8.951042184077e-01 8.856980676661e-01 -8.759356521824e-01 8.658247249770e-01 8.553733051108e-01 8.445896700594e-01 -8.334823478491e-01 8.220601089605e-01 8.103319580098e-01 7.983071252151e-01 -7.859950576585e-01 7.734054103500e-01 7.605480371061e-01 7.474329812490e-01 -7.340704661390e-01 7.204708855480e-01 7.066447938841e-01 6.926028962792e-01 -6.783560385471e-01 6.639151970248e-01 6.492914683061e-01 6.344960588783e-01 -6.195402746735e-01 6.044355105433e-01 5.891932396702e-01 5.738250029242e-01 -5.583423981772e-01 5.427570695849e-01 5.270806968481e-01 5.113249844634e-01 -4.955016509752e-01 4.796224182391e-01 4.636990007081e-01 4.477430947521e-01 -4.317663680216e-01 4.157804488669e-01 3.997969158223e-01 3.838272871669e-01 -3.678830105718e-01 3.519754528448e-01 3.361158897820e-01 3.203154961369e-01 -3.045853357170e-01 2.889363516174e-01 2.733793566015e-01 2.579250236380e-01 -2.425838766034e-01 2.273662811590e-01 2.122824358125e-01 1.973423631710e-01 -1.825559013952e-01 1.679326958626e-01 1.534821910482e-01 1.392136226292e-01 -1.251360098232e-01 1.112581479646e-01 9.758860132928e-02 8.413569621079e-02 -7.090751425767e-02 5.791188607580e-02 4.515638510272e-02 3.264832175908e-02 -2.039473788245e-02 8.402401448597e-03 -3.322198415458e-03 -1.477285612207e-02 --2.594365401351e-02 -3.682896644873e-02 -4.742346358302e-02 -5.772211483774e-02 --6.772019205735e-02 -7.741327235156e-02 -8.679724062067e-02 -9.586829176246e-02 --1.046229325594e-01 -1.130579832452e-01 -1.211705787506e-01 -1.289581696271e-01 --1.364185226502e-01 -1.435497211015e-01 -1.503501647310e-01 -1.568185694005e-01 --1.629539664096e-01 -1.687557015072e-01 -1.742234335878e-01 -1.793571330792e-01 --1.841570800207e-01 -1.886238618368e-01 -1.927583708100e-01 -1.965618012556e-01 --2.000356464025e-01 -2.031816949862e-01 -2.060020275558e-01 -2.084990125027e-01 --2.106753018143e-01 -2.125338265592e-01 -2.140777921103e-01 -2.153106731093e-01 --2.162362081830e-01 -2.168583944138e-01 -2.171814815742e-01 -2.172099661307e-01 --2.169485850260e-01 -2.164023092444e-01 -2.155763371712e-01 -2.144760877518e-01 --2.131071934591e-01 -2.114754930785e-01 -2.095870243170e-01 -2.074480162477e-01 --2.050648815952e-01 -2.024442088739e-01 -1.995927543858e-01 -1.965174340891e-01 --1.932253153449e-01 -1.897236085524e-01 -1.860196586822e-01 -1.821209367168e-01 --1.780350310077e-01 -1.737696385594e-01 -1.693325562496e-01 -1.647316719951e-01 --1.599749558740e-01 -1.550704512126e-01 -1.500262656484e-01 -1.448505621774e-01 --1.395515501966e-01 -1.341374765510e-01 -1.286166165939e-01 -1.229972652722e-01 --1.172877282441e-01 -1.114963130395e-01 -1.056313202729e-01 -9.970103491761e-02 --9.371371765055e-02 -8.767759627652e-02 -8.160085724134e-02 -7.549163724239e-02 --6.935801494513e-02 -6.320800281437e-02 -5.704953906848e-02 -5.089047976476e-02 --4.473859102402e-02 -3.860154140214e-02 -3.248689441626e-02 -2.640210123300e-02 --2.035449352598e-02 -1.435127650953e-02 -8.399522155475e-03 -2.506162599395e-03 -3.322016257211e-03 9.078380942906e-03 1.475645640461e-02 2.034993178264e-02 -2.585266596731e-02 3.125869293193e-02 3.656222683765e-02 4.175766690549e-02 -4.683960205159e-02 5.180281528153e-02 5.664228784039e-02 6.135320311502e-02 -6.593095028555e-02 7.037112772347e-02 7.466954613379e-02 7.882223143917e-02 -8.282542740418e-02 8.667559799815e-02 9.036942949543e-02 9.390383231208e-02 -9.727594257839e-02 1.004831234469e-01 1.035229661361e-01 1.063932907093e-01 -1.090921465908e-01 1.116178128186e-01 1.139687980356e-01 1.161438402206e-01 -1.181419061618e-01 1.199621906724e-01 1.216041155534e-01 1.230673283049e-01 -1.243517005880e-01 1.254573264425e-01 1.263845202616e-01 1.271338145288e-01 -1.277059573205e-01 1.281019095783e-01 1.283228421551e-01 1.283701326409e-01 -1.282453619720e-01 1.279503108287e-01 1.274869558281e-01 1.268574655159e-01 -1.260641961644e-01 1.251096873815e-01 1.239966575376e-01 1.227279990164e-01 -1.213067732963e-01 1.197362058687e-01 1.180196810003e-01 1.161607363465e-01 -1.141630574224e-01 1.120304719395e-01 1.097669440145e-01 1.073765682587e-01 -1.048635637545e-01 1.022322679273e-01 9.948713032115e-02 9.663270628381e-02 -9.367365057202e-02 9.061471088259e-02 8.746072131842e-02 8.421659579729e-02 -8.088732141131e-02 7.747795174524e-02 7.399360016178e-02 7.043943306182e-02 -6.682066312777e-02 6.314254255800e-02 5.941035630052e-02 5.562941529365e-02 -5.180504972193e-02 4.794260229479e-02 4.404742155614e-02 4.012485523239e-02 -3.618024362662e-02 3.221891306649e-02 2.824616941330e-02 2.426729163961e-02 -2.028752548258e-02 1.631207718023e-02 1.234610729754e-02 8.394724649155e-03 -4.462980325592e-03 5.558618292154e-04 -3.321712673450e-03 -7.164899976963e-03 --1.096893733374e-02 -1.472914781648e-02 -1.844094554067e-02 -2.209984074161e-02 --2.570144470081e-02 -2.924147451659e-02 -3.271575771426e-02 -3.612023669091e-02 --3.945097299083e-02 -4.270415140699e-02 -4.587608390495e-02 -4.896321336523e-02 --5.196211714086e-02 -5.486951042677e-02 -5.768224943800e-02 -6.039733439402e-02 --6.301191230674e-02 -6.552327956968e-02 -6.792888434663e-02 -7.022632875778e-02 --7.241337086197e-02 -7.448792643370e-02 -7.644807053400e-02 -7.829203887430e-02 --8.001822897298e-02 -8.162520110414e-02 -8.311167903878e-02 -8.447655057860e-02 --8.571886788288e-02 -8.683784758929e-02 -8.783287072958e-02 -8.870348244140e-02 --8.944939147777e-02 -9.007046951594e-02 -9.056675026751e-02 -9.093842839216e-02 --9.118585821725e-02 -9.130955226611e-02 -9.131017959773e-02 -9.118856396099e-02 --9.094568176680e-02 -9.058265988151e-02 -9.010077324544e-02 -8.950144232025e-02 --8.878623036943e-02 -8.795684057602e-02 -8.701511300212e-02 -8.596302139470e-02 --8.480266984257e-02 -8.353628928948e-02 -8.216623390832e-02 -8.069497734182e-02 --7.912510881497e-02 -7.745932912479e-02 -7.570044651304e-02 -7.385137242756e-02 --7.191511717826e-02 -6.989478549347e-02 -6.779357198299e-02 -6.561475651371e-02 --6.336169950423e-02 -6.103783714462e-02 -5.864667654772e-02 -5.619179083840e-02 --5.367681418723e-02 -5.110543679496e-02 -4.848139983440e-02 -4.580849035631e-02 --4.309053616561e-02 -4.033140067471e-02 -3.753497774043e-02 -3.470518649089e-02 --3.184596614924e-02 -2.896127086029e-02 -2.605506452694e-02 -2.313131566239e-02 --2.019399226493e-02 -1.724705672121e-02 -1.429446074456e-02 -1.134014035430e-02 --8.388010902283e-03 -5.441962152604e-03 -2.505853420335e-03 4.164912247927e-04 -3.321287684149e-03 6.204796479797e-03 9.063327322455e-03 1.189324359249e-02 -1.469096672875e-02 1.745298052016e-02 2.017583529520e-02 2.285615200442e-02 -2.549062619147e-02 2.807603184815e-02 3.060922514917e-02 3.308714806259e-02 -3.550683183187e-02 3.786540032592e-02 4.016007325341e-02 4.238816923809e-02 -4.454710875183e-02 4.663441690242e-02 4.864772607321e-02 5.058477841217e-02 -5.244342816776e-02 5.422164386948e-02 5.591751035111e-02 5.752923061482e-02 -5.905512753453e-02 6.049364539718e-02 6.184335128071e-02 6.310293626781e-02 -6.427121649466e-02 6.534713403412e-02 6.632975761305e-02 6.721828316370e-02 -6.801203420910e-02 6.871046208295e-02 6.931314598432e-02 6.981979286803e-02 -7.023023717155e-02 7.054444037951e-02 7.076249042722e-02 7.088460094463e-02 -7.091111034250e-02 7.084248074266e-02 7.067929675443e-02 7.042226409951e-02 -7.007220808778e-02 6.963007194661e-02 6.909691500657e-02 6.847391074645e-02 -6.776234470069e-02 6.696361223272e-02 6.607921617738e-02 6.511076435624e-02 -6.405996696958e-02 6.292863386873e-02 6.171867171303e-02 6.043208101540e-02 -5.907095308091e-02 5.763746684267e-02 5.613388559961e-02 5.456255366073e-02 -5.292589290051e-02 5.122639923040e-02 4.946663899113e-02 4.764924527091e-02 -4.577691415454e-02 4.385240090858e-02 4.187851610765e-02 3.985812170719e-02 -3.779412706793e-02 3.568948493736e-02 3.354718739345e-02 3.137026175625e-02 -2.916176647247e-02 2.692478697855e-02 2.466243154774e-02 2.237782712640e-02 -2.007411516498e-02 1.775444744914e-02 1.542198193627e-02 1.307987860273e-02 -1.073129530719e-02 8.379383675215e-03 6.027285010342e-03 3.678126236832e-03 -1.335015879076e-03 -9.989599172310e-04 -3.320741317271e-03 -5.627298677741e-03 --7.915636371203e-03 -1.018279654944e-02 -1.242586284123e-02 -1.464196398011e-02 --1.682827735765e-02 -1.898203249806e-02 -2.110051444998e-02 -2.318106709137e-02 --2.522109634368e-02 -2.721807329147e-02 -2.916953720391e-02 -3.107309845465e-02 --3.292644133667e-02 -3.472732676905e-02 -3.647359489242e-02 -3.816316755042e-02 --3.979405065425e-02 -4.136433642785e-02 -4.287220553129e-02 -4.431592906007e-02 --4.569387041837e-02 -4.700448706418e-02 -4.824633212481e-02 -4.941805588094e-02 --5.051840711811e-02 -5.154623434421e-02 -5.250048687215e-02 -5.338021576662e-02 --5.418457465452e-02 -5.491282039834e-02 -5.556431363234e-02 -5.613851916128e-02 --5.663500622177e-02 -5.705344860651e-02 -5.739362465170e-02 -5.765541708827e-02 --5.783881275763e-02 -5.794390219286e-02 -5.797087906641e-02 -5.792003950556e-02 --5.779178127705e-02 -5.758660284245e-02 -5.730510228603e-02 -5.694797611695e-02 --5.651601794795e-02 -5.601011705258e-02 -5.543125680345e-02 -5.478051299389e-02 --5.405905204576e-02 -5.326812910605e-02 -5.240908603529e-02 -5.148334929075e-02 --5.049242770755e-02 -4.943791018106e-02 -4.832146325384e-02 -4.714482861076e-02 --4.590982048582e-02 -4.461832298440e-02 -4.327228732471e-02 -4.187372900247e-02 --4.042472488259e-02 -3.892741022207e-02 -3.738397562815e-02 -3.579666395607e-02 --3.416776715042e-02 -3.249962303471e-02 -3.079461205335e-02 -2.905515397046e-02 --2.728370453005e-02 -2.548275208201e-02 -2.365481417841e-02 -2.180243414471e-02 --1.992817763037e-02 -1.803462914344e-02 -1.612438857381e-02 -1.420006770947e-02 --1.226428675055e-02 -1.031967082562e-02 -8.368846514659e-03 -6.414438383447e-03 --4.459065533581e-03 -2.505338172758e-03 -5.558542095990e-04 1.386804122575e-03 -3.320073608763e-03 5.241413357832e-03 7.148308066446e-03 9.038271237255e-03 -1.090884834732e-02 1.275761996286e-02 1.458220479632e-02 1.638026270224e-02 -1.814949760793e-02 1.988766037559e-02 2.159255159232e-02 2.326202428457e-02 -2.489398655388e-02 2.648640413070e-02 2.803730284316e-02 2.954477099805e-02 -3.100696167110e-02 3.242209490384e-02 3.378845980468e-02 3.510441655164e-02 -3.636839829456e-02 3.757891295461e-02 3.873454491911e-02 3.983395662993e-02 -4.087589006353e-02 4.185916810137e-02 4.278269578910e-02 4.364546148326e-02 -4.444653788457e-02 4.518508295663e-02 4.586034072937e-02 4.647164198660e-02 -4.701840483706e-02 4.750013516873e-02 4.791642698619e-02 4.826696263096e-02 -4.855151288497e-02 4.876993695739e-02 4.892218235529e-02 4.900828463865e-02 -4.902836706049e-02 4.898264009294e-02 4.887140084024e-02 4.869503233992e-02 -4.845400275336e-02 4.814886444722e-02 4.778025296725e-02 4.734888590635e-02 -4.685556166845e-02 4.630115813047e-02 4.568663120425e-02 4.501301330080e-02 -4.428141169907e-02 4.349300682192e-02 4.264905042157e-02 4.175086367751e-02 -4.079983520940e-02 3.979741900804e-02 3.874513228725e-02 3.764455325988e-02 -3.649731884094e-02 3.530512228132e-02 3.406971073525e-02 3.279288276494e-02 -3.147648578604e-02 3.012241345721e-02 2.873260301761e-02 2.730903257589e-02 -2.585371835442e-02 2.436871189245e-02 2.285609721216e-02 2.131798795126e-02 -1.975652446611e-02 1.817387090931e-02 1.657221228548e-02 1.495375148943e-02 -1.332070633045e-02 1.167530654672e-02 1.001979081396e-02 8.356403751947e-03 -6.687392933145e-03 5.015005897186e-03 3.341487175163e-03 1.669075327611e-03 -7.470372974062e-15 -1.663521000383e-03 -3.319284602556e-03 -4.965105340980e-03 --6.598818192294e-03 - Type L N - 0 0 7 -1.000000000000e+00 9.997075929310e-01 9.988306795205e-01 9.973701827725e-01 -9.953276397415e-01 9.927051996072e-01 9.895056209813e-01 9.857322684524e-01 -9.813891083719e-01 9.764807038877e-01 9.710122092318e-01 9.649893632704e-01 -9.584184823246e-01 9.513064522713e-01 9.436607199360e-01 9.354892837886e-01 -9.268006839549e-01 9.176039915569e-01 9.079087973984e-01 8.977252000079e-01 -8.870637930592e-01 8.759356521824e-01 8.643523211873e-01 8.523257977150e-01 -8.398685183386e-01 8.269933431327e-01 8.137135397329e-01 8.000427669069e-01 -7.859950576585e-01 7.715848018895e-01 7.568267286407e-01 7.417358879367e-01 -7.263276322605e-01 7.106175976801e-01 6.946216846549e-01 6.783560385471e-01 -6.618370298633e-01 6.450812342547e-01 6.281054123006e-01 6.109264891046e-01 -5.935615337287e-01 5.760277384943e-01 5.583423981772e-01 5.405228891241e-01 -5.225866483191e-01 5.045511524271e-01 4.864338968434e-01 4.682523747753e-01 -4.500240563851e-01 4.317663680216e-01 4.134966715663e-01 3.952322439240e-01 -3.769902566816e-01 3.587877559645e-01 3.406416425154e-01 3.225686520215e-01 -3.045853357170e-01 2.867080412837e-01 2.689528940770e-01 2.513357786996e-01 -2.338723209472e-01 2.165778701492e-01 1.994674819279e-01 1.825559013952e-01 -1.658575468121e-01 1.493864937280e-01 1.331564596210e-01 1.171807890593e-01 -1.014724393995e-01 8.604396704185e-02 7.090751425766e-02 5.607479660516e-02 -4.155709094885e-02 2.736522409645e-02 1.350956206663e-02 -8.091661967317e-16 --1.315404727541e-02 -2.594365401352e-02 -3.836039164510e-02 -5.039633618945e-02 --6.204407497545e-02 -7.329671266528e-02 -8.414787657521e-02 -9.459172128886e-02 --1.046229325594e-01 -1.142367304979e-01 -1.234288720462e-01 -1.321956527344e-01 --1.405339077219e-01 -1.484410121248e-01 -1.559148806314e-01 -1.629539664096e-01 --1.695572593094e-01 -1.757242833674e-01 -1.814550936186e-01 -1.867502722230e-01 --1.916109239149e-01 -1.960386707847e-01 -2.000356464025e-01 -2.036044892942e-01 --2.067483357832e-01 -2.094708122085e-01 -2.117760265342e-01 -2.136685593635e-01 --2.151534543730e-01 -2.162362081830e-01 -2.169227596796e-01 -2.172194788069e-01 --2.171331548467e-01 -2.166709842043e-01 -2.158405577195e-01 -2.146498475232e-01 --2.131071934591e-01 -2.112212890922e-01 -2.090011673253e-01 -2.064561856448e-01 --2.035960110195e-01 -2.004306044739e-01 -1.969702053588e-01 -1.932253153449e-01 --1.892066821602e-01 -1.849252830975e-01 -1.803923083151e-01 -1.756191439552e-01 --1.706173551053e-01 -1.653986686265e-01 -1.599749558740e-01 -1.543582153342e-01 --1.485605552041e-01 -1.425941759367e-01 -1.364713527783e-01 -1.302044183218e-01 --1.238057450998e-01 -1.172877282441e-01 -1.106627682334e-01 -1.039432537543e-01 --9.714154469929e-02 -9.026995532501e-02 -8.334073759344e-02 -7.636606471924e-02 --6.935801494513e-02 -6.232855556730e-02 -5.528952723222e-02 -4.825262852564e-02 --4.122940087422e-02 -3.423121377956e-02 -2.726925040388e-02 -2.035449352597e-02 --1.349771188541e-02 -6.709446932422e-03 8.091661967317e-16 6.620580085637e-03 -1.314250894106e-02 1.955627809358e-02 2.585266596731e-02 3.202274837443e-02 -3.805790849928e-02 4.394984636412e-02 4.969058776567e-02 5.527249267289e-02 -6.068826307699e-02 6.593095028556e-02 7.099396165368e-02 7.587106674556e-02 -8.055640292137e-02 8.504448034442e-02 8.933018640529e-02 9.340878955969e-02 -9.727594257840e-02 1.009276852080e-01 1.043604462423e-01 1.075710450049e-01 -1.105566922449e-01 1.133149904477e-01 1.158439335639e-01 1.181419061618e-01 -1.202076820060e-01 1.220404220705e-01 1.236396719912e-01 1.250053589653e-01 -1.261377881068e-01 1.270376382654e-01 1.277059573205e-01 1.281441569587e-01 -1.283540069471e-01 1.283376289143e-01 1.280974896510e-01 1.276363939434e-01 -1.269574769544e-01 1.260641961644e-01 1.249603228902e-01 1.236499333941e-01 -1.221373996013e-01 1.204273794422e-01 1.185248068353e-01 1.164348813293e-01 -1.141630574224e-01 1.117150335758e-01 1.090967409418e-01 1.063143318244e-01 -1.033741678916e-01 1.002828081598e-01 9.704699676953e-02 9.367365057202e-02 -9.016984654819e-02 8.654280907894e-02 8.279989708811e-02 7.894859107812e-02 -7.499648007917e-02 7.095124853243e-02 6.682066312776e-02 6.261255961661e-02 -5.833482962041e-02 5.399540745491e-02 4.960225699054e-02 4.516335856892e-02 -4.068669599532e-02 3.618024362661e-02 3.165195357416e-02 2.710974304058e-02 -2.256148180925e-02 1.801497990482e-02 1.347797544287e-02 8.958122686282e-03 -4.462980325584e-03 -7.149275395032e-16 -4.423484924474e-03 -8.800270304146e-03 --1.312329187859e-02 -1.738563562867e-02 -2.158054781755e-02 -2.570144470081e-02 --2.974192189296e-02 -3.369576337758e-02 -3.755695014953e-02 -4.131966847795e-02 --4.497831777955e-02 -4.852751809239e-02 -5.196211714087e-02 -5.527719698370e-02 --5.846808023679e-02 -6.153033586422e-02 -6.445978453086e-02 -6.725250351099e-02 --6.990483114816e-02 -7.241337086197e-02 -7.477499469850e-02 -7.698684642154e-02 --7.904634414292e-02 -8.095118249046e-02 -8.269933431327e-02 -8.428905192453e-02 --8.571886788288e-02 -8.698759531398e-02 -8.809432777479e-02 -8.903843866361e-02 --8.981958017984e-02 -9.043768183789e-02 -9.089294854048e-02 -9.118585821725e-02 --9.131715903518e-02 -9.128786618804e-02 -9.109925827260e-02 -9.075287326016e-02 --9.025050407227e-02 -8.959419377037e-02 -8.878623036942e-02 -8.782914128630e-02 --8.672568743409e-02 -8.547885697412e-02 -8.409185873785e-02 -8.256811533135e-02 --8.091125593543e-02 -7.912510881496e-02 -7.721369355130e-02 -7.518121301206e-02 --7.303204507292e-02 -7.077073410630e-02 -6.840198225223e-02 -6.593064048684e-02 --6.336169950423e-02 -6.070028042758e-02 -5.795162536585e-02 -5.512108783204e-02 --5.221412303971e-02 -4.923627809414e-02 -4.619318209477e-02 -4.309053616560e-02 --3.993410343019e-02 -3.672969894801e-02 -3.348317962868e-02 -3.020043414085e-02 --2.688737283211e-02 -2.354991767634e-02 -2.019399226492e-02 -1.682551185775e-02 --1.345037351002e-02 -1.007444629063e-02 -6.703561607520e-03 -3.343503655287e-03 -8.091661967317e-16 3.321287684157e-03 6.614772712057e-03 9.874952304679e-03 -1.309641631239e-02 1.627385573127e-02 1.940207099963e-02 2.247598006243e-02 -2.549062619148e-02 2.844118555013e-02 3.132297449135e-02 3.413145657870e-02 -3.686224932018e-02 3.951113060552e-02 4.207404483791e-02 4.454710875184e-02 -4.692661690911e-02 4.920904686583e-02 5.139106400368e-02 5.346952601928e-02 -5.544148706620e-02 5.730420154464e-02 5.905512753453e-02 6.069192986825e-02 -6.221248283989e-02 6.361487254867e-02 6.489739887441e-02 6.605857708405e-02 -6.709713906841e-02 6.801203420911e-02 6.880242987642e-02 6.946771155903e-02 -7.000748262752e-02 7.042156373406e-02 7.070999185110e-02 7.087301895268e-02 -7.091111034250e-02 7.082494263330e-02 7.061540138291e-02 7.028357839256e-02 -6.983076867396e-02 6.925846709169e-02 6.856836468843e-02 6.776234470069e-02 -6.684247827337e-02 6.581101988180e-02 6.467040247051e-02 6.342323231826e-02 -6.207228363933e-02 6.062049293139e-02 5.907095308091e-02 5.742690723682e-02 -5.569174246433e-02 5.386898319014e-02 5.196228445150e-02 4.997542496108e-02 -4.791230000042e-02 4.577691415454e-02 4.357337390075e-02 4.130588006484e-02 -3.897872015786e-02 3.659626060694e-02 3.416293889372e-02 3.168325561404e-02 -2.916176647246e-02 2.660307422553e-02 2.401182058740e-02 2.139267811165e-02 -1.875034206295e-02 1.608952229238e-02 1.341493512983e-02 1.073129530719e-02 -8.043307925584e-03 5.355660480002e-03 2.673014954360e-03 -7.526230023946e-16 --2.658796789711e-03 -5.298836496131e-03 -7.915636371211e-03 -1.050477720044e-02 --1.306191052115e-02 -1.558276568475e-02 -1.806315675175e-02 -2.049898920881e-02 --2.288626649737e-02 -2.522109634368e-02 -2.749969688076e-02 -2.971840255270e-02 --3.187366979260e-02 -3.396208246556e-02 -3.598035706879e-02 -3.792534768102e-02 --3.979405065425e-02 -4.158360904115e-02 -4.329131675165e-02 -4.491462243338e-02 --4.645113307028e-02 -4.789861729501e-02 -4.925500841066e-02 -5.051840711811e-02 --5.168708394579e-02 -5.275948137919e-02 -5.373421568778e-02 -5.461007844774e-02 --5.538603775940e-02 -5.606123915857e-02 -5.663500622177e-02 -5.710684086569e-02 --5.747642334177e-02 -5.774361192730e-02 -5.790844231499e-02 -5.797112670335e-02 --5.793205259083e-02 -5.779178127705e-02 -5.755104607507e-02 -5.721075023891e-02 --5.677196461122e-02 -5.623592499627e-02 -5.560402926396e-02 -5.487783419102e-02 --5.405905204576e-02 -5.314954692351e-02 -5.215133083990e-02 -5.106655958980e-02 --4.989752837985e-02 -4.864666724310e-02 -4.731653624443e-02 -4.590982048582e-02 --4.442932492084e-02 -4.287796898795e-02 -4.125878107252e-02 -3.957489280777e-02 --3.782953322493e-02 -3.602602276320e-02 -3.416776715041e-02 -3.225825116512e-02 --3.030103229152e-02 -2.829973427809e-02 -2.625804061163e-02 -2.417968791794e-02 --2.206845930072e-02 -1.992817763036e-02 -1.776269879406e-02 -1.557590491911e-02 --1.337169758083e-02 -1.115399100682e-02 -8.926705289161e-03 -6.693759615922e-03 --4.459065533573e-03 -2.226520251516e-03 7.149275395032e-16 2.216646547520e-03 -4.419604776640e-03 6.605100548163e-03 8.769406517547e-03 1.090884834733e-02 -1.301981080239e-02 1.509874371809e-02 1.714216783182e-02 1.914668046839e-02 -2.110896107026e-02 2.302577656394e-02 2.489398655389e-02 2.671054833591e-02 -2.847252172221e-02 3.017707367060e-02 3.182148271090e-02 3.340314316160e-02 -3.491956913071e-02 3.636839829457e-02 3.774739544933e-02 3.905445582979e-02 -4.028760819093e-02 4.144501764787e-02 4.252498827031e-02 4.352596542804e-02 -4.444653788457e-02 4.528543963624e-02 4.604155149464e-02 4.671390241085e-02 -4.730167054004e-02 4.780418404582e-02 4.822092164385e-02 4.855151288497e-02 -4.879573817824e-02 4.895352855494e-02 4.902496517506e-02 4.901027857787e-02 -4.890984767914e-02 4.872419851754e-02 4.845400275336e-02 4.810007592315e-02 -4.766337545415e-02 4.714499844287e-02 4.654617920251e-02 4.586828658428e-02 -4.511282107822e-02 4.428141169907e-02 4.337581266363e-02 4.239789986584e-02 -4.134966715663e-02 4.023322243538e-02 3.905078356065e-02 3.780467408771e-02 -3.649731884093e-02 3.513123932908e-02 3.370904901216e-02 3.223344842834e-02 -3.070722018990e-02 2.913322385713e-02 2.751439069967e-02 2.585371835441e-02 -2.415426538970e-02 2.241914578537e-02 2.065152333847e-02 1.885460600450e-02 -1.703164018409e-02 1.518590496514e-02 1.332070633044e-02 1.143937134082e-02 -9.545242303915e-03 7.641670938514e-03 5.732012544669e-03 3.819620189370e-03 -1.907838917807e-03 -7.687782007767e-16 -1.900584777436e-03 -3.790628764785e-03 --5.666876038481e-03 -7.526106916761e-03 -9.365143392521e-03 -1.118085447437e-02 --1.297016142701e-02 -1.473004290239e-02 -1.645753995316e-02 -1.814976092022e-02 --1.980388618652e-02 -2.141717278938e-02 -2.298695888388e-02 -2.451066805029e-02 --2.598581343857e-02 -2.741000174358e-02 -2.878093700455e-02 -3.009642422315e-02 --3.135437279440e-02 -3.255279974529e-02 -3.368983277625e-02 -3.476371310077e-02 --3.577279807928e-02 -3.671556364322e-02 -3.759060650603e-02 -3.839664615800e-02 --3.913252664218e-02 -3.979721810929e-02 -4.038981814945e-02 -4.090955289950e-02 --4.135577792453e-02 -4.172797887314e-02 -4.202577190581e-02 -4.224890389672e-02 --4.239725240919e-02 -4.247082544577e-02 -4.246976097406e-02 -4.239432622988e-02 --4.224491679979e-02 -4.202205548522e-02 -4.172639095100e-02 -4.135869616127e-02 --4.091986660623e-02 -4.041091832344e-02 -3.983298571793e-02 -3.918731918528e-02 --3.847528254272e-02 -3.769835027310e-02 -3.685810458721e-02 -3.595623231012e-02 --3.499452159744e-02 -3.397485848777e-02 -3.289922329778e-02 -3.176968686672e-02 --3.058840665721e-02 -2.935762271971e-02 -2.807965352778e-02 -2.675689169205e-02 --2.539179956041e-02 -2.398690471253e-02 -2.254479535683e-02 -2.106811563803e-02 --1.955956086377e-02 -1.802187265870e-02 -1.645783405477e-02 -1.487026452621e-02 --1.326201497800e-02 -1.163596269674e-02 -9.995006272538e-03 -8.342060500900e-03 --6.680051273433e-03 -5.011910466193e-03 -3.340570834516e-03 -1.668960923089e-03 -8.091661967317e-16 1.663406976591e-03 3.318374350567e-03 4.962040710312e-03 -6.591573773124e-03 - Type L N - 0 0 8 -1.000000000000e+00 9.996299309272e-01 9.985202167122e-01 9.966723355824e-01 -9.940887486459e-01 9.907728959881e-01 9.867291912182e-01 9.819630144724e-01 -9.764807038877e-01 9.702895455599e-01 9.633977620041e-01 9.558144991363e-01 -9.475498117999e-01 9.386146478614e-01 9.290208309025e-01 9.187810415390e-01 -9.079087973983e-01 8.964184317905e-01 8.843250711084e-01 8.716446109973e-01 -8.583936913341e-01 8.445896700594e-01 8.302505959068e-01 8.153951800773e-01 -8.000427669069e-01 7.842133035765e-01 7.679273089188e-01 7.512058413721e-01 -7.340704661390e-01 7.165432216036e-01 6.986465850664e-01 6.804034378539e-01 -6.618370298633e-01 6.429709436022e-01 6.238290577842e-01 6.044355105433e-01 -5.848146623272e-01 5.649910585350e-01 5.449893919607e-01 5.248344651060e-01 -5.045511524271e-01 4.841643625768e-01 4.636990007081e-01 4.431799308996e-01 -4.226319387680e-01 4.020796943278e-01 3.815477151625e-01 3.610603299659e-01 -3.406416425154e-01 3.203154961369e-01 3.001054387190e-01 2.800346883341e-01 -2.601260995227e-01 2.404021302968e-01 2.208848099135e-01 2.015957074738e-01 -1.825559013952e-01 1.637859498066e-01 1.453058619150e-01 1.271350703867e-01 -1.092924047870e-01 9.179606612179e-02 7.466360251687e-02 5.791188607578e-02 -4.155709094885e-02 2.561467264739e-02 1.009934863343e-02 -4.974919786851e-03 --1.959494424000e-02 -3.374832470904e-02 -4.742346358303e-02 -6.060957831404e-02 --7.329671266529e-02 -8.547574653712e-02 -9.713840435984e-02 -1.082772620449e-01 --1.188857524890e-01 -1.289581696271e-01 -1.384896710345e-01 -1.474762790796e-01 --1.559148806314e-01 -1.638032253296e-01 -1.711399224253e-01 -1.779244362065e-01 --1.841570800207e-01 -1.898390089126e-01 -1.949722108968e-01 -1.995594968850e-01 --2.036044892942e-01 -2.071116093607e-01 -2.100860631877e-01 -2.125338265592e-01 --2.144616285503e-01 -2.158769339703e-01 -2.167879246744e-01 -2.172034797827e-01 --2.171331548467e-01 -2.165871600048e-01 -2.155763371712e-01 -2.141121363025e-01 --2.122065907892e-01 -2.098722920193e-01 -2.071223631645e-01 -2.039704322375e-01 --2.004306044739e-01 -1.965174340891e-01 -1.922458954659e-01 -1.876313538246e-01 --1.826895354318e-01 -1.774364974027e-01 -1.718885971536e-01 -1.660624615594e-01 --1.599749558740e-01 -1.536431524689e-01 -1.470842994484e-01 -1.403157891963e-01 --1.333551269115e-01 -1.262198991892e-01 -1.189277427023e-01 -1.114963130395e-01 --1.039432537543e-01 -9.628616568004e-02 -8.854257656302e-02 -8.072991106736e-02 --7.286546120295e-02 -6.496635722696e-02 -5.704953906847e-02 -4.913172832448e-02 --4.122940087421e-02 -3.335876015733e-02 -2.553571116008e-02 -1.777583515208e-02 --1.009436521454e-02 -2.506162599381e-03 4.974306043343e-03 1.233299053394e-02 -1.955627809359e-02 2.663101330493e-02 3.354451707281e-02 4.028460455706e-02 -4.683960205160e-02 5.319836278592e-02 5.935028162728e-02 6.528530866417e-02 -7.099396165368e-02 7.646733731767e-02 8.169712147485e-02 8.667559799816e-02 -9.139565658907e-02 9.585079936267e-02 1.000351462397e-01 1.039434391438e-01 -1.075710450049e-01 1.109139575712e-01 1.139687980356e-01 1.167328144823e-01 -1.192038801653e-01 1.213804906286e-01 1.232617596819e-01 1.248474142494e-01 -1.261377881068e-01 1.271338145288e-01 1.278370178673e-01 1.282495040846e-01 -1.283739502669e-01 1.282135931456e-01 1.277722166546e-01 1.270541385561e-01 -1.260641961644e-01 1.248077312040e-01 1.232905738353e-01 1.215190258860e-01 -1.194998433250e-01 1.172402180176e-01 1.147477588040e-01 1.120304719395e-01 -1.090967409418e-01 1.059553058858e-01 1.026152421907e-01 9.908593894551e-02 -9.537707681490e-02 9.149860557430e-02 8.746072131841e-02 8.327384339037e-02 -7.894859107811e-02 7.449576012477e-02 6.992629910018e-02 6.525128568020e-02 -6.048190288084e-02 5.562941529364e-02 5.070514536863e-02 4.572044979077e-02 -4.068669599531e-02 3.561523886687e-02 3.051739766654e-02 2.540443323046e-02 -2.028752548256e-02 1.517775130328e-02 1.008606279507e-02 5.023265984552e-03 --6.934678916587e-15 -4.973283238451e-03 -9.886338779335e-03 -1.472914781650e-02 --1.949193624796e-02 -2.416519258508e-02 -2.873968518112e-02 -3.320647875028e-02 --3.755695014953e-02 -4.178280339732e-02 -4.587608390496e-02 -4.982919189811e-02 --5.363489500755e-02 -5.728634001033e-02 -6.077706370391e-02 -6.410100289807e-02 --6.725250351099e-02 -7.022632875779e-02 -7.301766642180e-02 -7.562213520068e-02 --7.803579012129e-02 -8.025512701922e-02 -8.227708608085e-02 -8.409905444744e-02 --8.571886788288e-02 -8.713481150851e-02 -8.834561961013e-02 -8.935047452444e-02 --9.014900461357e-02 -9.074128133845e-02 -9.112781544345e-02 -9.130955226611e-02 --9.128786618804e-02 -9.106455424408e-02 -9.064182890882e-02 -9.002231008092e-02 --8.920901628720e-02 -8.820535512993e-02 -8.701511300212e-02 -8.564244409680e-02 --8.409185873785e-02 -8.236821106079e-02 -8.047668607331e-02 -7.842278612627e-02 --7.621231682701e-02 -7.385137242755e-02 -7.134632072145e-02 -6.870378748338e-02 --6.593064048684e-02 -6.303397313537e-02 -6.002108774380e-02 -5.689947850612e-02 --5.367681418722e-02 -5.036092057600e-02 -4.695976273750e-02 -4.348142710220e-02 --3.993410343019e-02 -3.632606668861e-02 -3.266565888012e-02 -2.896127086028e-02 --2.522132418162e-02 -2.145425300164e-02 -1.766848609177e-02 -1.387242898393e-02 --1.007444629062e-02 -6.282844234261e-03 -2.505853420320e-03 1.248388111312e-03 -4.971851523588e-03 8.656633475558e-03 1.229497204005e-02 1.587926221512e-02 -1.940207099964e-02 2.285615200444e-02 2.623445957164e-02 2.953016237590e-02 -3.273665648249e-02 3.584757783858e-02 3.885681417515e-02 4.175851629852e-02 -4.454710875185e-02 4.721729982811e-02 4.976409091801e-02 5.218278517719e-02 -5.446899549908e-02 5.661865178097e-02 5.862800747246e-02 6.049364539718e-02 -6.221248283990e-02 6.378177589308e-02 6.519912305826e-02 6.646246809928e-02 -6.757010214600e-02 6.852066504859e-02 6.931314598432e-02 6.994688331985e-02 -7.042156373406e-02 7.073722060764e-02 7.089423168719e-02 7.089331603329e-02 -7.073553026306e-02 7.042226409951e-02 6.995523524100e-02 6.933648356590e-02 -6.856836468843e-02 6.765354288313e-02 6.659498339669e-02 6.539594416689e-02 -6.405996696958e-02 6.259086801582e-02 6.099272802224e-02 5.926988177845e-02 -5.742690723682e-02 5.546861415013e-02 5.340003228383e-02 5.122639923039e-02 -4.895314785359e-02 4.658589339161e-02 4.413042024804e-02 4.159266850061e-02 -3.897872015785e-02 3.629478519403e-02 3.354718739344e-02 3.074235003493e-02 -2.788678144804e-02 2.498706047190e-02 2.204982184854e-02 1.908174158167e-02 -1.608952229237e-02 1.307987860272e-02 1.005952257821e-02 7.035149259580e-03 -4.013422314209e-03 1.000959836986e-03 -1.995679670088e-03 -4.970011110696e-03 --7.915636371217e-03 -1.082625763435e-02 -1.369569040251e-02 -1.651787620481e-02 --1.928689496243e-02 -2.199697698773e-02 -2.464251459379e-02 -2.721807329148e-02 --2.971840255271e-02 -3.213844611903e-02 -3.447335183621e-02 -3.671848099634e-02 --3.886941717007e-02 -4.092197451301e-02 -4.287220553130e-02 -4.471640829262e-02 --4.645113307028e-02 -4.807318840906e-02 -4.957964660305e-02 -5.096784857677e-02 --5.223540816234e-02 -5.338021576663e-02 -5.440044142386e-02 -5.529453723023e-02 --5.606123915857e-02 -5.669956825245e-02 -5.720883120029e-02 -5.758862029145e-02 --5.783881275763e-02 -5.795956950415e-02 -5.795133323679e-02 -5.781482599147e-02 --5.755104607507e-02 -5.716126442675e-02 -5.664702041079e-02 -5.601011705257e-02 --5.525261573089e-02 -5.437683034061e-02 -5.338532094088e-02 -5.228088690510e-02 --5.106655958980e-02 -4.974559454052e-02 -4.832146325383e-02 -4.679784451516e-02 --4.517861533337e-02 -4.346784149330e-02 -4.166976774856e-02 -3.978880767738e-02 --3.782953322493e-02 -3.579666395606e-02 -3.369505604309e-02 -3.152969101343e-02 --2.930566428247e-02 -2.702817349742e-02 -2.470250671805e-02 -2.233403046045e-02 --1.992817763035e-02 -1.749043537227e-02 -1.502633286118e-02 -1.254142906313e-02 --1.004130049137e-02 -7.531528984243e-03 -5.017689531210e-03 -2.505338172743e-03 -6.934678916587e-15 2.492842720524e-03 4.967762272207e-03 7.419397039082e-03 -9.842462857887e-03 1.223176414801e-02 1.458220479633e-02 1.688879877472e-02 -1.914668046839e-02 2.135111469448e-02 2.349750639035e-02 2.558140995256e-02 -2.759853820777e-02 2.954477099806e-02 3.141616336386e-02 3.320895330864e-02 -3.491956913071e-02 3.654463630801e-02 3.808098392333e-02 3.952565061802e-02 -4.087589006353e-02 4.212917594121e-02 4.328320642168e-02 4.433590813660e-02 -4.528543963624e-02 4.613019432803e-02 4.686880289176e-02 4.750013516873e-02 -4.802330152312e-02 4.843765367484e-02 4.874278500464e-02 4.893853033288e-02 -4.902496517506e-02 4.900240447776e-02 4.887140084024e-02 4.863274222762e-02 -4.828744918298e-02 4.783677154644e-02 4.728218469065e-02 4.662538528277e-02 -4.586828658428e-02 4.501301330079e-02 4.406189599489e-02 4.301746507603e-02 -4.188244438241e-02 4.065974437023e-02 3.935245492708e-02 3.796383782639e-02 -3.649731884093e-02 3.495647953387e-02 3.334504874655e-02 3.166689380274e-02 -2.992601144951e-02 2.812651855569e-02 2.627264258882e-02 2.436871189244e-02 -2.241914578537e-02 2.042844450541e-02 1.840117901980e-02 1.634198072508e-02 -1.425553105917e-02 1.214655104865e-02 1.001979081395e-02 7.880019055662e-03 -5.732012544663e-03 3.580545638877e-03 1.430379849364e-03 -7.137465218882e-04 --2.847128650263e-03 -4.965105340994e-03 -7.063069044287e-03 -9.136475711889e-03 --1.118085447437e-02 -1.319181711884e-02 -1.516506734732e-02 -1.709640979658e-02 --1.898175880078e-02 -2.081714687901e-02 -2.259873293032e-02 -2.432281011960e-02 --2.598581343858e-02 -2.758432692661e-02 -2.911509053710e-02 -3.057500663591e-02 --3.196114611930e-02 -3.327075413933e-02 -3.450125542618e-02 -3.565025919711e-02 --3.671556364322e-02 -3.769515998589e-02 -3.858723609571e-02 -3.939017966780e-02 --4.010258094844e-02 -4.072323500860e-02 -4.125114356152e-02 -4.168551632193e-02 --4.202577190581e-02 -4.227153827056e-02 -4.242265269635e-02 -4.247916131053e-02 --4.244131815784e-02 -4.230958382026e-02 -4.208462359120e-02 -4.176730520968e-02 --4.135869616127e-02 -4.086006055318e-02 -4.027285557191e-02 -3.959872753301e-02 --3.883950753273e-02 -3.799720671295e-02 -3.707401115077e-02 -3.607227638571e-02 --3.499452159744e-02 -3.384342344832e-02 -3.262180960529e-02 -3.133265195645e-02 --2.997905953825e-02 -2.856427118983e-02 -2.709164795150e-02 -2.556466522485e-02 --2.398690471252e-02 -2.236204615601e-02 -2.069385889020e-02 -1.898619323381e-02 --1.724297173504e-02 -1.546818029213e-02 -1.366585916849e-02 -1.184009392259e-02 --9.995006272532e-03 -8.134744915488e-03 -6.263476322280e-03 -4.385375527155e-03 --2.504616932925e-03 -6.253651514349e-04 1.248234100769e-03 3.112063031934e-03 -4.962040710318e-03 6.794131885993e-03 8.604355680390e-03 1.038879412511e-02 -1.214360053190e-02 1.386500767619e-02 1.554933577689e-02 1.719300025595e-02 -1.879251926127e-02 2.034452093773e-02 2.184575043101e-02 2.329307661011e-02 -2.468349849486e-02 2.601415137530e-02 2.728231261083e-02 2.848540709748e-02 -2.962101239264e-02 3.068686348716e-02 3.168085721567e-02 3.260105629685e-02 -3.344569299603e-02 3.421317240339e-02 3.490207532212e-02 3.551116076145e-02 -3.603936803051e-02 3.648581842983e-02 3.684981653827e-02 3.713085109377e-02 -3.732859546769e-02 3.744290773277e-02 3.747383032626e-02 3.742158931018e-02 -3.728659323173e-02 3.706943158782e-02 3.677087289823e-02 3.639186239318e-02 -3.593351932149e-02 3.539713388664e-02 3.478416381862e-02 3.409623059028e-02 -3.333511528778e-02 3.250275414519e-02 3.160123375423e-02 3.063278596070e-02 -2.959978245979e-02 2.850472910318e-02 2.735025993118e-02 2.613913094414e-02 -2.487421362735e-02 2.355848824458e-02 2.219503691575e-02 2.078703649437e-02 -1.933775126122e-02 1.785052545076e-02 1.632877562718e-02 1.477598292730e-02 -1.319568518766e-02 1.159146897353e-02 9.966961527450e-03 8.325822655355e-03 -6.671736568086e-03 5.008403696387e-03 3.339532497358e-03 1.668831270322e-03 --6.871853145102e-15 -1.663277755294e-03 -3.317342912672e-03 -4.958568833750e-03 --6.583369196337e-03 - Type L N - 0 0 9 -1.000000000000e+00 9.995431365007e-01 9.981732973708e-01 9.958927352436e-01 -9.927051996072e-01 9.886159294654e-01 9.836316430835e-01 9.777605248430e-01 -9.710122092318e-01 9.633977620041e-01 9.549296585514e-01 9.456217595285e-01 -9.354892837886e-01 9.245487786841e-01 9.128180877951e-01 9.003163161571e-01 -8.870637930592e-01 8.730820324926e-01 8.583936913341e-01 8.430225253529e-01 -8.269933431327e-01 8.103319580098e-01 7.930651381253e-01 7.752205547002e-01 -7.568267286407e-01 7.379129755873e-01 7.185093495243e-01 6.986465850664e-01 -6.783560385471e-01 6.576696280293e-01 6.366197723676e-01 6.152393294468e-01 -5.935615337287e-01 5.716199332362e-01 5.494483261068e-01 5.270806968481e-01 -5.045511524271e-01 4.818938583271e-01 4.591429747041e-01 4.363325927745e-01 -4.134966715663e-01 3.906689751635e-01 3.678830105718e-01 3.451719663343e-01 -3.225686520215e-01 3.001054387190e-01 2.778142006333e-01 2.557262579339e-01 -2.338723209472e-01 2.122824358125e-01 1.909859317103e-01 1.700113697654e-01 -1.493864937280e-01 1.291381825264e-01 1.092924047871e-01 8.987417540594e-02 -7.090751425766e-02 5.241540711808e-02 3.441976887486e-02 1.694140909323e-02 -1.028487619225e-15 -1.638595305739e-02 -3.219913862486e-02 -4.742346358303e-02 --6.204407497545e-02 -7.604737918964e-02 -8.942105846213e-02 -1.021540846851e-01 --1.142367304979e-01 -1.256605776527e-01 -1.364185226502e-01 -1.465047796453e-01 --1.559148806314e-01 -1.646456729163e-01 -1.726953139072e-01 -1.800632632314e-01 --1.867502722230e-01 -1.927583708100e-01 -1.980908518463e-01 -2.027522529330e-01 --2.067483357832e-01 -2.100860631877e-01 -2.127735736434e-01 -2.148201537121e-01 --2.162362081830e-01 -2.170332281139e-01 -2.172237568329e-01 -2.168213539861e-01 --2.158405577195e-01 -2.142968450882e-01 -2.122065907892e-01 -2.095870243170e-01 --2.064561856448e-01 -2.028328795354e-01 -1.987366285918e-01 -1.941876251546e-01 --1.892066821602e-01 -1.838151830732e-01 -1.780350310077e-01 -1.718885971536e-01 --1.653986686265e-01 -1.585883958585e-01 -1.514812396472e-01 -1.441009179842e-01 --1.364713527783e-01 -1.286166165939e-01 -1.205608795201e-01 -1.123283562887e-01 --1.039432537543e-01 -9.542971885150e-02 -8.681178714103e-02 -7.811333205439e-02 --6.935801494513e-02 -6.056923605222e-02 -5.177008647808e-02 -4.298330128110e-02 --3.423121377956e-02 -2.553571116009e-02 -1.691819148086e-02 -8.399522155469e-03 --1.028487619225e-15 8.260687078517e-03 1.636349667821e-02 2.429006671326e-02 -3.202274837443e-02 3.954463717861e-02 4.683960205159e-02 5.389231239292e-02 -6.068826307698e-02 6.721379734912e-02 7.345612758087e-02 7.940335385353e-02 -8.504448034442e-02 9.036942949543e-02 9.536905394874e-02 1.000351462397e-01 -1.043604462423e-01 1.083386463677e-01 1.119643945218e-01 1.152332948324e-01 -1.181419061618e-01 1.206877384270e-01 1.228692467518e-01 1.246858234832e-01 -1.261377881068e-01 1.272263751013e-01 1.279537197783e-01 1.283228421551e-01 -1.283376289143e-01 1.280028135091e-01 1.273239544735e-01 1.263074120056e-01 -1.249603228902e-01 1.232905738353e-01 1.213067732963e-01 1.190182218689e-01 -1.164348813293e-01 1.135673424083e-01 1.104267913845e-01 1.070249755862e-01 -1.033741678916e-01 9.948713032114e-02 9.537707681491e-02 9.105763529064e-02 -8.654280907895e-02 8.184693783246e-02 7.698465800681e-02 7.197086301133e-02 -6.682066312776e-02 6.154934529475e-02 5.617233285596e-02 5.070514536864e-02 -4.516335856892e-02 3.956256458902e-02 3.391833252012e-02 2.824616941330e-02 -2.256148180926e-02 1.687953788548e-02 1.121543030754e-02 5.584039868720e-03 -9.813682906107e-16 -5.522337770721e-03 -1.096893733374e-02 -1.632611041383e-02 --2.158054781755e-02 -2.671934944501e-02 -3.173005300269e-02 -3.660066135776e-02 --4.131966847795e-02 -4.587608390496e-02 -5.025945571323e-02 -5.445989191001e-02 --5.846808023679e-02 -6.227530633623e-02 -6.587347025325e-02 -6.925510124285e-02 --7.241337086197e-02 -7.534210432677e-02 -7.803579012128e-02 -8.048958784776e-02 --8.269933431327e-02 -8.466154785177e-02 -8.637343088493e-02 -8.783287072958e-02 --8.903843866361e-02 -8.998938726675e-02 -9.068564605646e-02 -9.112781544345e-02 --9.131715903518e-02 -9.125559431986e-02 -9.094568176680e-02 -9.039061238318e-02 --8.959419377037e-02 -8.856083472673e-02 -8.729552844688e-02 -8.580383437062e-02 --8.409185873785e-02 -8.216623390832e-02 -8.003409650806e-02 -7.770306446669e-02 --7.518121301206e-02 -7.247704969097e-02 -6.959948848655e-02 -6.655782310482e-02 --6.336169950423e-02 -6.002108774381e-02 -5.654625322624e-02 -5.294772741363e-02 --4.923627809414e-02 -4.542287927866e-02 -4.151868080658e-02 -3.753497774042e-02 --3.348317962868e-02 -2.937477971631e-02 -2.522132418163e-02 -2.103438147799e-02 --1.682551185775e-02 -1.260623715498e-02 -8.388010902277e-03 -4.182188855652e-03 --1.028487619225e-15 4.147481894193e-03 8.249366093973e-03 1.229497204004e-02 -1.627385573126e-02 2.017583529521e-02 2.399101568496e-02 2.770981244494e-02 -3.132297449135e-02 3.482160585557e-02 3.819718634205e-02 4.144159105503e-02 -4.454710875184e-02 4.750645898377e-02 5.031280798870e-02 5.295978330336e-02 -5.544148706620e-02 5.775250798589e-02 5.988793195354e-02 6.184335128071e-02 -6.361487254867e-02 6.519912305826e-02 6.659325587311e-02 6.779495345287e-02 -6.880242987642e-02 6.961443165918e-02 7.023023717155e-02 7.064965466964e-02 -7.087301895268e-02 7.090118666487e-02 7.073553026306e-02 7.037793067472e-02 -6.983076867396e-02 6.909691500657e-02 6.817971929793e-02 6.708299778067e-02 -6.581101988180e-02 6.436849371157e-02 6.276055049912e-02 6.099272802224e-02 -5.907095308091e-02 5.700152306656e-02 5.479108668090e-02 5.244662385998e-02 -4.997542496108e-02 4.738506927143e-02 4.468340289906e-02 4.187851610764e-02 -3.897872015786e-02 3.599252371908e-02 3.292860891557e-02 2.979580707229e-02 -2.660307422553e-02 2.335946646383e-02 2.007411516497e-02 1.675620219433e-02 -1.341493512983e-02 1.005952257822e-02 6.699149646785e-03 3.342953633782e-03 -9.436728277193e-16 -3.320741317277e-03 -6.610419187885e-03 -9.860324111322e-03 --1.306191052115e-02 -1.620681851582e-02 -1.928689496242e-02 -2.229421392150e-02 --2.522109634368e-02 -2.806012899041e-02 -3.080418253391e-02 -3.344642879361e-02 --3.598035706879e-02 -3.839978953001e-02 -4.069889563417e-02 -4.287220553129e-02 --4.491462243338e-02 -4.682143391916e-02 -4.858832215099e-02 -5.021137298340e-02 --5.168708394579e-02 -5.301237108475e-02 -5.418457465452e-02 -5.520146364738e-02 --5.606123915857e-02 -5.676253658364e-02 -5.730442664918e-02 -5.768641528071e-02 --5.790844231499e-02 -5.797087906641e-02 -5.787452476069e-02 -5.762060185151e-02 --5.721075023891e-02 -5.664702041079e-02 -5.593186553183e-02 -5.506813250652e-02 --5.405905204576e-02 -5.290822776886e-02 -5.161962437502e-02 -5.019755492096e-02 --4.864666724310e-02 -4.697192956512e-02 -4.517861533338e-02 -4.327228732471e-02 --4.125878107252e-02 -3.914418765901e-02 -3.693483592234e-02 -3.463727412937e-02 --3.225825116513e-02 -2.980469729173e-02 -2.728370453004e-02 -2.470250671806e-02 --2.206845930072e-02 -1.938901890624e-02 -1.667172276413e-02 -1.392416802064e-02 --1.115399100682e-02 -8.368846514653e-03 -5.576387136151e-03 -2.784242720059e-03 --9.813682906107e-16 2.768817552632e-03 5.514769598733e-03 8.230518473086e-03 -1.090884834733e-02 1.354268396528e-02 1.612510890301e-02 1.864938330763e-02 -2.110896107025e-02 2.349750639034e-02 2.580890969058e-02 2.803730284316e-02 -3.017707367060e-02 3.222287968604e-02 3.416966104046e-02 3.601265264628e-02 -3.774739544933e-02 3.936974682327e-02 4.087589006353e-02 4.226234295964e-02 -4.352596542804e-02 4.466396618951e-02 4.567390847842e-02 4.655371477312e-02 -4.730167054004e-02 4.791642698619e-02 4.839700281770e-02 4.874278500463e-02 -4.895352855494e-02 4.902935530296e-02 4.897075172058e-02 4.877856576176e-02 -4.845400275336e-02 4.799862034808e-02 4.741432255744e-02 4.670335288527e-02 -4.586828658428e-02 4.491202206072e-02 4.383777145416e-02 4.264905042157e-02 -4.134966715663e-02 3.994371067757e-02 3.843553841795e-02 3.682976315726e-02 -3.513123932908e-02 3.334504874656e-02 3.147648578604e-02 2.953104207099e-02 -2.751439069967e-02 2.543237006067e-02 2.329096728174e-02 2.109630135776e-02 -1.885460600450e-02 1.657221228548e-02 1.425553105918e-02 1.191103529476e-02 -9.545242303916e-03 7.164695937005e-03 4.775948791249e-03 2.385544478523e-03 -1.008293621247e-15 -2.374211725654e-03 -4.730679134458e-03 -7.063069044280e-03 --9.365143392520e-03 -1.163077564077e-02 -1.385396680399e-02 -1.602886106300e-02 --1.814976092022e-02 -2.021114186023e-02 -2.220766647794e-02 -2.413419803901e-02 --2.598581343857e-02 -2.775781552631e-02 -2.944574476758e-02 -3.104539021231e-02 --3.255279974529e-02 -3.396428959353e-02 -3.527645306853e-02 -3.648616852324e-02 --3.759060650603e-02 -3.858723609570e-02 -3.947383040443e-02 -4.024847123726e-02 --4.090955289949e-02 -4.145578514536e-02 -4.188619526375e-02 -4.220012929931e-02 --4.239725240919e-02 -4.247754835824e-02 -4.244131815784e-02 -4.228917785554e-02 --4.202205548522e-02 -4.164118718939e-02 -4.114811252782e-02 -4.054466898832e-02 --3.983298571793e-02 -3.901547649476e-02 -3.809483196235e-02 -3.707401115077e-02 --3.595623231012e-02 -3.474496308396e-02 -3.344391005198e-02 -3.205700767251e-02 --3.058840665721e-02 -2.904246181152e-02 -2.742371937582e-02 -2.573690390341e-02 --2.398690471253e-02 -2.217876195056e-02 -2.031765230960e-02 -1.840887443320e-02 --1.645783405478e-02 -1.447002890888e-02 -1.245103345675e-02 -1.040648346806e-02 --8.342060500902e-03 -6.263476322287e-03 -4.176457311176e-03 -2.086728886224e-03 --1.028487619225e-15 2.078052258836e-03 4.141797914401e-03 6.185669163003e-03 -8.204175203364e-03 1.019191679861e-02 1.214360053189e-02 1.405405271848e-02 -1.591823293822e-02 1.773124715345e-02 1.948836037860e-02 2.118500886927e-02 -2.281681179972e-02 2.437958239938e-02 2.586933852051e-02 2.728231261082e-02 -2.861496106642e-02 2.986397294240e-02 3.102627800003e-02 3.209905407155e-02 -3.307973372531e-02 3.396601021598e-02 3.475584270669e-02 3.544746075170e-02 -3.603936803051e-02 3.653034532611e-02 3.691945274235e-02 3.720603115738e-02 -3.738970291204e-02 3.747037173448e-02 3.744822190398e-02 3.732371665920e-02 -3.709759585804e-02 3.677087289823e-02 3.634483090979e-02 3.582101823240e-02 -3.520124319259e-02 3.448756819749e-02 3.368230316362e-02 3.278799830097e-02 -3.180743627433e-02 3.074362376527e-02 2.959978245980e-02 2.837933948829e-02 -2.708591734532e-02 2.572332331878e-02 2.429553845842e-02 2.280670611555e-02 -2.126112008611e-02 1.966321239095e-02 1.801754072739e-02 1.632877562719e-02 -1.460168735687e-02 1.284113259644e-02 1.105204093352e-02 9.239401209958e-03 -7.408247758264e-03 5.563646565607e-03 3.710681402866e-03 1.854439956403e-03 -9.185425191250e-16 -1.847584355823e-03 -3.683296300260e-03 -5.502169807974e-03 --7.299302938287e-03 -9.069870912525e-03 -1.080913893498e-02 -1.251247472377e-02 --1.417536071871e-02 -1.579340593449e-02 -1.736235742821e-02 -1.887811135175e-02 --2.033672356062e-02 -2.173441975207e-02 -2.306760510673e-02 -2.433287340965e-02 --2.552701562760e-02 -2.664702792168e-02 -2.769011907529e-02 -2.865371731968e-02 --2.953547654045e-02 -3.033328185063e-02 -3.104525451736e-02 -3.166975623109e-02 --3.220539270811e-02 -3.265101661891e-02 -3.300572983680e-02 -3.326888500316e-02 --3.344008640725e-02 -3.351919018076e-02 -3.350630380882e-02 -3.340178496121e-02 --3.320623964916e-02 -3.292051971517e-02 -3.254571966486e-02 -3.208317285162e-02 --3.153444702669e-02 -3.090133926881e-02 -3.018587030927e-02 -2.939027826978e-02 --2.851701183216e-02 -2.756872286008e-02 -2.654825849487e-02 -2.545865274850e-02 --2.430311761806e-02 -2.308503374762e-02 -2.180794066405e-02 -2.047552661481e-02 --1.909161803650e-02 -1.766016868389e-02 -1.618524845002e-02 -1.467103190869e-02 --1.312178661124e-02 -1.154186117015e-02 -9.935673162460e-03 -8.307696886265e-03 --6.662451004076e-03 -5.004486106753e-03 -3.338372232010e-03 -1.668686371455e-03 --9.436728277193e-16 1.663133338602e-03 3.316190356713e-03 4.954690225091e-03 -6.574206619914e-03 - Type L N - 0 0 10 -1.000000000000e+00 9.994472110789e-01 9.977899443184e-01 9.950314971204e-01 -9.911773564758e-01 9.862351859690e-01 9.802148076310e-01 9.731281786890e-01 -9.649893632704e-01 9.558144991363e-01 9.456217595285e-01 9.344313102292e-01 -9.222652619442e-01 9.091476181311e-01 8.951042184077e-01 8.801626776859e-01 -8.643523211873e-01 8.477041155076e-01 8.302505959068e-01 8.120257900115e-01 -7.930651381253e-01 7.734054103500e-01 7.530846207322e-01 7.321419386517e-01 -7.106175976801e-01 6.885528021412e-01 6.659896316114e-01 6.429709436022e-01 -6.195402746735e-01 5.957417402274e-01 5.716199332362e-01 5.472198221610e-01 -5.225866483191e-01 4.977658229563e-01 4.728028242863e-01 4.477430947521e-01 -4.226319387680e-01 3.975144211975e-01 3.724352668186e-01 3.474387610269e-01 -3.225686520215e-01 2.978680547147e-01 2.733793566015e-01 2.491441258191e-01 -2.252030216196e-01 2.015957074738e-01 1.783607670137e-01 1.555356230162e-01 -1.331564596210e-01 1.112581479646e-01 8.987417540594e-02 6.903657850743e-02 -4.877587992491e-02 2.912102934951e-02 1.009934863344e-02 -8.263518780022e-03 --2.594365401352e-02 -4.291890440307e-02 -5.916892055123e-02 -7.467518871405e-02 --8.942105846214e-02 -1.033917655690e-01 -1.165744500923e-01 -1.289581696271e-01 --1.405339077219e-01 -1.512945774624e-01 -1.612350202393e-01 -1.703519997303e-01 --1.786441911383e-01 -1.861121657396e-01 -1.927583708100e-01 -1.985871050064e-01 --2.036044892942e-01 -2.078184335230e-01 -2.112385987623e-01 -2.138763555209e-01 --2.157447379844e-01 -2.168583944138e-01 -2.172335338584e-01 -2.168878693459e-01 --2.158405577195e-01 -2.141121363025e-01 -2.117244565748e-01 -2.087006150560e-01 --2.050648815952e-01 -2.008426252725e-01 -1.960602381230e-01 -1.907450569001e-01 --1.849252830975e-01 -1.786299014517e-01 -1.718885971536e-01 -1.647316719951e-01 --1.571899596821e-01 -1.492947405431e-01 -1.410776558659e-01 -1.325706220924e-01 --1.238057450998e-01 -1.148152347989e-01 -1.056313202729e-01 -9.628616568005e-02 --8.681178714103e-02 -7.723997082428e-02 -6.760219244175e-02 -5.792953835984e-02 --4.825262852564e-02 -3.860154140213e-02 -2.900574109914e-02 -1.949400687983e-02 --1.009436521454e-02 -8.340245460715e-04 8.260687078522e-03 1.716438136307e-02 -2.585266596732e-02 3.430219743426e-02 4.249073072232e-02 5.039716523482e-02 -5.800158724985e-02 6.528530866417e-02 7.223090197555e-02 7.882223143918e-02 -8.504448034442e-02 9.088417436983e-02 9.632920098520e-02 1.013688248810e-01 -1.059936994162e-01 1.101958740880e-01 1.139687980356e-01 1.173073196045e-01 -1.202076820060e-01 1.226675151177e-01 1.246858234832e-01 1.262629705772e-01 -1.274006594126e-01 1.281019095783e-01 1.283710308022e-01 1.282135931456e-01 -1.276363939434e-01 1.266474216127e-01 1.252558164592e-01 1.234718286214e-01 -1.213067732963e-01 1.187729833992e-01 1.158837598151e-01 1.126533194059e-01 -1.090967409418e-01 1.052299091315e-01 1.010694569264e-01 9.663270628380e-02 -9.193760756917e-02 8.700267778782e-02 8.184693783246e-02 7.648984893776e-02 -7.095124853243e-02 6.525128568020e-02 5.941035630050e-02 5.344903835888e-02 -4.738802721590e-02 4.124807132124e-02 3.504990843726e-02 2.881420257339e-02 -2.256148180925e-02 1.631207718022e-02 1.008606279507e-02 3.903197350047e-03 --2.217132801385e-03 -8.255968869827e-03 -1.419483299505e-02 -2.001577961440e-02 --2.570144470082e-02 -3.123509274427e-02 -3.660066135776e-02 -4.178280339732e-02 --4.676692649316e-02 -5.153922989805e-02 -5.608673856737e-02 -6.039733439403e-02 --6.445978453086e-02 -6.826376674180e-02 -7.179989173278e-02 -7.505972242229e-02 --7.803579012129e-02 -8.072160760124e-02 -8.311167903879e-02 -8.520150683466e-02 --8.698759531398e-02 -8.846745132433e-02 -8.963958175685e-02 -9.050348802510e-02 --9.105965754475e-02 -9.130955226611e-02 -9.125559431986e-02 -9.090114884454e-02 --9.025050407227e-02 -8.930884875676e-02 -8.808224703522e-02 -8.657761082247e-02 --8.480266984257e-02 -8.276593940935e-02 -8.047668607331e-02 -7.794489125769e-02 --7.518121301206e-02 -7.219694601593e-02 -6.900397996969e-02 -6.561475651370e-02 --6.204222481980e-02 -5.829979600261e-02 -5.440129650023e-02 -5.036092057600e-02 --4.619318209477e-02 -4.191286572765e-02 -3.753497774042e-02 -3.307469652025e-02 --2.854732299567e-02 -2.396823110323e-02 -1.935281845357e-02 -1.471645734749e-02 --1.007444629063e-02 -5.441962152592e-03 -8.340131134693e-04 3.734607462995e-03 -8.249366093978e-03 1.269603304869e-02 1.706072489944e-02 2.132994563090e-02 -2.549062619148e-02 2.953016237590e-02 3.343645093440e-02 3.719792381012e-02 -4.080358041244e-02 4.424301784129e-02 4.750645898377e-02 5.058477841218e-02 -5.346952601928e-02 5.615294833457e-02 5.862800747246e-02 6.088839767150e-02 -6.292855939077e-02 6.474369093825e-02 6.632975761306e-02 6.768349835174e-02 -6.880242987642e-02 6.968484835051e-02 7.032982855517e-02 7.073722060764e-02 -7.090764424978e-02 7.084248074266e-02 7.054386241019e-02 7.001465988192e-02 -6.925846709169e-02 6.827958409586e-02 6.708299778067e-02 6.567436053492e-02 -6.405996696958e-02 6.224672877171e-02 6.024214778529e-02 5.805428741631e-02 -5.569174246433e-02 5.316360748664e-02 5.047944380534e-02 4.764924527090e-02 -4.468340289906e-02 4.159266850062e-02 3.838811742612e-02 3.508111054918e-02 -3.168325561403e-02 2.820636807394e-02 2.466243154773e-02 2.106355802239e-02 -1.742194792929e-02 1.374985022146e-02 1.005952257821e-02 6.363191862465e-03 -2.673014954357e-03 -9.989599172428e-04 -4.640831226017e-03 -8.240881465704e-03 --1.178761362031e-02 -1.526978667692e-02 -1.867645007470e-02 -2.199697698773e-02 --2.522109634369e-02 -2.833892348486e-02 -3.134098938305e-02 -3.421826832488e-02 --3.696220398950e-02 -3.956473384618e-02 -4.201831180501e-02 -4.431592906008e-02 --4.645113307028e-02 -4.841804462941e-02 -5.021137298340e-02 -5.182642895904e-02 --5.325913607509e-02 -5.450603961314e-02 -5.556431363235e-02 -5.643176591865e-02 --5.710684086569e-02 -5.758862029145e-02 -5.787682220067e-02 -5.797179751029e-02 --5.787452476069e-02 -5.758660284245e-02 -5.711024177417e-02 -5.644825157280e-02 --5.560402926396e-02 -5.458154408524e-02 -5.338532094088e-02 -5.202042217149e-02 --5.049242770755e-02 -4.880741367987e-02 -4.697192956511e-02 -4.499297394823e-02 --4.287796898795e-02 -4.063473367489e-02 -3.827145597526e-02 -3.579666395606e-02 --3.321919599056e-02 -3.054817014492e-02 -2.779295284911e-02 -2.496312695688e-02 --2.206845930072e-02 -1.911886784914e-02 -1.612438857380e-02 -1.309514213469e-02 --1.004130049137e-02 -6.973053547895e-03 -3.900575938423e-03 -8.339940593414e-04 -2.216646547523e-03 5.241413357844e-03 8.230518473092e-03 1.117434957576e-02 -1.406350013570e-02 1.688879877471e-02 1.964133769970e-02 2.231250011820e-02 -2.489398655389e-02 2.737783998349e-02 2.975646972084e-02 3.202267397836e-02 -3.416966104046e-02 3.619106898875e-02 3.808098392333e-02 3.983395662993e-02 -4.144501764788e-02 4.290969069902e-02 4.422400444354e-02 4.538450253385e-02 -4.638825194349e-02 4.723284955377e-02 4.791642698619e-02 4.843765367484e-02 -4.879573817824e-02 4.899042773607e-02 4.902200608166e-02 4.889128952662e-02 -4.859962133973e-02 4.814886444721e-02 4.754139248701e-02 4.678007925480e-02 -4.586828658428e-02 4.480985070932e-02 4.360906715996e-02 4.227067424894e-02 -4.079983520939e-02 3.920211904877e-02 3.748348018731e-02 3.565023695355e-02 -3.370904901215e-02 3.166689380274e-02 2.953104207099e-02 2.730903257588e-02 -2.500864605923e-02 2.263787856540e-02 2.020491420100e-02 1.771809742553e-02 -1.518590496513e-02 1.261691744214e-02 1.001979081395e-02 7.403227714403e-03 -4.775948791243e-03 2.146664132266e-03 -4.759551275889e-04 -3.083304927193e-03 --5.666876038484e-03 -8.218281375879e-03 -1.072928276960e-02 -1.319181711884e-02 --1.559802184300e-02 -1.794025955212e-02 -2.021114186023e-02 -2.240355226875e-02 --2.451066805029e-02 -2.652598106675e-02 -2.844331745951e-02 -3.025685615326e-02 --3.196114611930e-02 -3.355112234832e-02 -3.502212048713e-02 -3.636989009825e-02 --3.759060650603e-02 -3.868088119771e-02 -3.963777075253e-02 -4.045878427703e-02 --4.114188932956e-02 -4.168551632193e-02 -4.208856139122e-02 -4.235038773969e-02 --4.247082544577e-02 -4.245016975381e-02 -4.228917785554e-02 -4.198906418077e-02 --4.155149421945e-02 -4.097857690240e-02 -4.027285557191e-02 -3.943729757831e-02 --3.847528254272e-02 -3.739058933031e-02 -3.618738178244e-02 -3.487019325972e-02 --3.344391005198e-02 -3.191375371399e-02 -3.028526238965e-02 -2.856427118983e-02 --2.675689169205e-02 -2.486949063283e-02 -2.290866786554e-02 -2.088123365893e-02 --1.879418541313e-02 -1.665468387165e-02 -1.447002890888e-02 -1.224763497396e-02 --9.995006272534e-03 -7.719711768134e-03 -5.429360085660e-03 -3.131574398894e-03 --8.339673840012e-04 1.455883679772e-03 3.730461581743e-03 5.982333544460e-03 -8.204175203370e-03 1.038879412511e-02 1.252915278979e-02 1.461839096487e-02 -1.664984740019e-02 1.861708077669e-02 2.051388984368e-02 2.233433268249e-02 -2.407274503779e-02 2.572375766059e-02 2.728231261082e-02 2.874367847092e-02 -3.010346442531e-02 3.135763316495e-02 3.250251257987e-02 3.353480620673e-02 -3.445160240269e-02 3.525038222110e-02 3.592902596889e-02 3.648581842983e-02 -3.691945274236e-02 3.722903292488e-02 3.741407504625e-02 3.747450704307e-02 -3.741066719032e-02 3.722330123580e-02 3.691355821350e-02 3.648298495484e-02 -3.593351932149e-02 3.526748218680e-02 3.448756819749e-02 3.359683535071e-02 -3.259869342535e-02 3.149689131030e-02 3.029550327527e-02 2.899891423368e-02 -2.761180404960e-02 2.613913094415e-02 2.458611405898e-02 2.295821523747e-02 -2.126112008610e-02 1.950071838100e-02 1.768308388613e-02 1.581445365156e-02 -1.390120686153e-02 1.194984330310e-02 9.966961527452e-03 7.959236776322e-03 -5.933398746592e-03 3.896209266459e-03 1.854439956398e-03 -1.851500519846e-04 --2.215836266612e-03 -4.230950783254e-03 -6.223903960550e-03 -8.188205751972e-03 --1.011748662635e-02 -1.200551801019e-02 -1.384623218687e-02 -1.563374158969e-02 --1.736235742821e-02 -1.902660758947e-02 -2.062125375845e-02 -2.214130770477e-02 --2.358204668567e-02 -2.493902791837e-02 -2.620810207787e-02 -2.738542578009e-02 --2.846747301330e-02 -2.945104548440e-02 -3.033328185063e-02 -3.111166581057e-02 --3.178403303238e-02 -3.234857690119e-02 -3.280385307116e-02 -3.314878281197e-02 --3.338265514341e-02 -3.350512775560e-02 -3.351622671647e-02 -3.341634497207e-02 --3.320623964916e-02 -3.288702817337e-02 -3.246018322023e-02 -3.192752651982e-02 --3.129122153972e-02 -3.055376507441e-02 -2.971797777264e-02 -2.878699363791e-02 --2.776424854012e-02 -2.665346777968e-02 -2.545865274849e-02 -2.418406673453e-02 --2.283421991993e-02 -2.141385362464e-02 -1.992792384979e-02 -1.838158417767e-02 --1.678016808619e-02 -1.512917073837e-02 -1.343423030803e-02 -1.170110890483e-02 --9.935673162455e-03 -8.143874554762e-03 -6.331729505477e-03 -4.505299357224e-03 --2.670670266093e-03 -8.339330878873e-04 9.988366780369e-04 2.821598821804e-03 -4.628368168062e-03 6.413234069001e-03 8.170379582363e-03 9.894100272720e-03 -1.157882257575e-02 1.321912166684e-02 1.480973877731e-02 1.634559790329e-02 -1.782182185480e-02 1.923374759465e-02 2.057694081947e-02 2.184720973758e-02 -2.304061800154e-02 2.415349675588e-02 2.518245576354e-02 2.612439357781e-02 -2.697650672987e-02 2.773629790500e-02 2.840158308434e-02 2.897049763238e-02 -2.944150131375e-02 2.981338222670e-02 3.008525964401e-02 3.025658575586e-02 -3.032714631269e-02 3.029706016974e-02 3.016677773849e-02 2.993707835397e-02 -2.960906657000e-02 2.918416739859e-02 2.866412051230e-02 2.805097343238e-02 -2.734707372846e-02 2.655506025855e-02 2.567785348165e-02 2.471864487758e-02 -2.368088551198e-02 2.256827378681e-02 2.138474241929e-02 2.013444469455e-02 -1.882174003967e-02 1.745117896862e-02 1.602748744963e-02 1.455555074826e-02 -1.304039680095e-02 1.148717917508e-02 9.901159673036e-03 8.287690638390e-03 -6.652197023323e-03 5.000158276982e-03 3.337090114773e-03 1.668526228842e-03 --4.381668020759e-15 -1.662973728921e-03 -3.314916758537e-03 -4.950405458315e-03 --6.564088453486e-03 - Type L N - 0 0 11 -1.000000000000e+00 9.993421562398e-01 9.973701827725e-01 9.940887486459e-01 -9.895056209813e-01 9.836316430835e-01 9.764807038877e-01 9.680696988392e-01 -9.584184823246e-01 9.475498117999e-01 9.354892837886e-01 9.222652619442e-01 -9.079087973984e-01 8.924535416387e-01 8.759356521824e-01 8.583936913341e-01 -8.398685183386e-01 8.204031752555e-01 8.000427669069e-01 7.788343352617e-01 -7.568267286407e-01 7.340704661390e-01 7.106175976801e-01 6.865215601232e-01 -6.618370298633e-01 6.366197723676e-01 6.109264891046e-01 5.848146623272e-01 -5.583423981772e-01 5.315682685834e-01 5.045511524271e-01 4.773500764507e-01 -4.500240563851e-01 4.226319387680e-01 3.952322439240e-01 3.678830105718e-01 -3.406416425154e-01 3.135647578731e-01 2.867080412837e-01 2.601260995227e-01 -2.338723209472e-01 2.079987391756e-01 1.825559013952e-01 1.575927416715e-01 -1.331564596210e-01 1.092924047871e-01 8.604396704186e-02 6.345247331782e-02 -4.155709094886e-02 2.039473788245e-02 2.017993520125e-15 -1.959494423999e-02 --3.836039164509e-02 -5.626917445165e-02 -7.329671266528e-02 -8.942105846213e-02 --1.046229325594e-01 -1.188857524890e-01 -1.321956527344e-01 -1.445414967152e-01 --1.559148806314e-01 -1.663101292031e-01 -1.757242833674e-01 -1.841570800207e-01 --1.916109239149e-01 -1.980908518463e-01 -2.036044892942e-01 -2.081619996917e-01 --2.117760265342e-01 -2.144616285503e-01 -2.162362081830e-01 -2.171194336468e-01 --2.171331548467e-01 -2.163013134635e-01 -2.146498475232e-01 -2.122065907892e-01 --2.090011673253e-01 -2.050648815952e-01 -2.004306044739e-01 -1.951326555559e-01 --1.892066821602e-01 -1.826895354318e-01 -1.756191439552e-01 -1.680343852933e-01 --1.599749558740e-01 -1.514812396472e-01 -1.425941759367e-01 -1.333551269115e-01 --1.238057450998e-01 -1.139878413639e-01 -1.039432537543e-01 -9.371371765055e-02 --8.334073759345e-02 -7.286546120296e-02 -6.232855556730e-02 -5.177008647808e-02 --4.122940087422e-02 -3.074501284472e-02 -2.035449352597e-02 -1.009436521455e-02 --2.017993520125e-15 9.894476794452e-03 1.955627809358e-02 2.895404122269e-02 -3.805790849928e-02 4.683960205159e-02 5.527249267288e-02 6.333166254088e-02 -7.099396165367e-02 7.823805785504e-02 8.504448034442e-02 9.139565658906e-02 -9.727594257839e-02 1.026716463832e-01 1.075710450049e-01 1.119643945218e-01 -1.158439335639e-01 1.192038801653e-01 1.220404220705e-01 1.243517005880e-01 -1.261377881068e-01 1.274006594126e-01 1.281441569587e-01 1.283739502669e-01 -1.280974896510e-01 1.273239544735e-01 1.260641961644e-01 1.243306762428e-01 -1.221373996013e-01 1.194998433250e-01 1.164348813293e-01 1.129607051143e-01 -1.090967409418e-01 1.048635637545e-01 1.002828081598e-01 9.537707681491e-02 -9.016984654819e-02 8.468537256426e-02 7.894859107812e-02 7.298502072940e-02 -6.682066312776e-02 6.048190288085e-02 5.399540745491e-02 4.738802721591e-02 -4.068669599532e-02 3.391833252012e-02 2.710974304059e-02 2.028752548257e-02 -1.347797544287e-02 6.706994337182e-03 1.923754862896e-15 -6.618159975096e-03 --1.312329187858e-02 -1.949193624796e-02 -2.570144470081e-02 -3.173005300269e-02 --3.755695014952e-02 -4.316234326035e-02 -4.852751809238e-02 -5.363489500754e-02 --5.846808023679e-02 -6.301191230674e-02 -6.725250351099e-02 -7.117727632701e-02 --7.477499469849e-02 -7.803579012128e-02 -8.095118249046e-02 -8.351409568469e-02 --8.571886788288e-02 -8.756125662706e-02 -8.903843866361e-02 -9.014900461356e-02 --9.089294854048e-02 -9.127165250193e-02 -9.128786618804e-02 -9.094568176680e-02 --9.025050407227e-02 -8.920901628720e-02 -8.782914128630e-02 -8.611999882078e-02 --8.409185873785e-02 -8.175609044184e-02 -7.912510881497e-02 -7.621231682701e-02 --7.303204507292e-02 -6.959948848655e-02 -6.593064048685e-02 -6.204222481980e-02 --5.795162536585e-02 -5.367681418723e-02 -4.923627809414e-02 -4.464894401152e-02 --3.993410343019e-02 -3.511133622733e-02 -3.020043414086e-02 -2.522132418163e-02 --2.019399226493e-02 -1.513840733979e-02 -1.007444629063e-02 -5.021819880604e-03 --2.017993520125e-15 4.971851523579e-03 9.874952304676e-03 1.469096672875e-02 -1.940207099963e-02 2.399101568496e-02 2.844118555012e-02 3.273665648248e-02 -3.686224932018e-02 4.080358041244e-02 4.454710875184e-02 4.808017953263e-02 -5.139106400368e-02 5.446899549907e-02 5.730420154464e-02 5.988793195354e-02 -6.221248283989e-02 6.427121649467e-02 6.605857708405e-02 6.757010214599e-02 -6.880242987642e-02 6.975330221231e-02 7.042156373406e-02 7.080715642526e-02 -7.091111034250e-02 7.073553026306e-02 7.028357839256e-02 6.955945322834e-02 -6.856836468843e-02 6.731650562847e-02 6.581101988180e-02 6.405996696958e-02 -6.207228363933e-02 5.985774240061e-02 5.742690723683e-02 5.479108668090e-02 -5.196228445150e-02 4.895314785360e-02 4.577691415454e-02 4.244735515224e-02 -3.897872015786e-02 3.538567761909e-02 3.168325561404e-02 2.788678144805e-02 -2.401182058740e-02 2.007411516497e-02 1.608952229238e-02 1.207395241270e-02 -8.043307925587e-03 4.013422314218e-03 2.074536714462e-15 -3.981442853543e-03 --7.915636371208e-03 -1.178761362030e-02 -1.558276568474e-02 -1.928689496242e-02 --2.288626649737e-02 -2.636765716683e-02 -2.971840255270e-02 -3.292644133668e-02 --3.598035706879e-02 -3.886941717006e-02 -4.158360904114e-02 -4.411367316085e-02 --4.645113307028e-02 -4.858832215099e-02 -5.051840711811e-02 -5.223540816233e-02 --5.373421568777e-02 -5.501060360585e-02 -5.606123915857e-02 -5.688368925801e-02 --5.747642334177e-02 -5.783881275763e-02 -5.797112670335e-02 -5.787452476069e-02 --5.755104607507e-02 -5.700359524489e-02 -5.623592499627e-02 -5.525261573090e-02 --5.405905204576e-02 -5.266139633442e-02 -5.106655958980e-02 -4.928216953832e-02 --4.731653624443e-02 -4.517861533338e-02 -4.287796898795e-02 -4.042472488259e-02 --3.782953322493e-02 -3.510352208092e-02 -3.225825116513e-02 -2.930566428247e-02 --2.625804061164e-02 -2.312794502346e-02 -1.992817763036e-02 -1.667172276413e-02 --1.337169758083e-02 -1.004130049137e-02 -6.693759615925e-03 -3.342281458998e-03 --1.923754862896e-15 3.320073608768e-03 6.605100548160e-03 9.842462857878e-03 -1.301981080238e-02 1.612510890301e-02 1.914668046838e-02 2.207325046213e-02 -2.489398655388e-02 2.759853820776e-02 3.017707367060e-02 3.262031473114e-02 -3.491956913070e-02 3.706676051534e-02 3.905445582979e-02 4.087589006353e-02 -4.252498827031e-02 4.399638479288e-02 4.528543963624e-02 4.638825194349e-02 -4.730167054004e-02 4.802330152311e-02 4.855151288497e-02 4.888543616976e-02 -4.902496517506e-02 4.897075172058e-02 4.872419851754e-02 4.828744918298e-02 -4.766337545415e-02 4.685556166845e-02 4.586828658428e-02 4.470650262832e-02 -4.337581266363e-02 4.188244438241e-02 4.023322243538e-02 3.843553841795e-02 -3.649731884093e-02 3.442699122049e-02 3.223344842835e-02 2.992601144952e-02 -2.751439069967e-02 2.500864605924e-02 2.241914578537e-02 1.975652446611e-02 -1.703164018409e-02 1.425553105918e-02 1.143937134083e-02 8.594427221724e-03 -5.732012544672e-03 2.863444573755e-03 1.977605524170e-15 -2.847128650254e-03 --5.666876038478e-03 -8.448346305770e-03 -1.118085447436e-02 -1.385396680399e-02 --1.645753995316e-02 -1.898175880077e-02 -2.141717278938e-02 -2.375473065794e-02 --2.598581343857e-02 -2.810226559941e-02 -3.009642422315e-02 -3.196114611929e-02 --3.368983277624e-02 -3.527645306853e-02 -3.671556364322e-02 -3.800232691919e-02 --3.913252664218e-02 -4.010258094843e-02 -4.090955289949e-02 -4.155115846070e-02 --4.202577190581e-02 -4.233242864031e-02 -4.247082544577e-02 -4.244131815784e-02 --4.224491679979e-02 -4.188327820380e-02 -4.135869616128e-02 -4.067408915282e-02 --3.983298571793e-02 -3.883950753274e-02 -3.769835027310e-02 -3.641476234815e-02 --3.499452159744e-02 -3.344391005198e-02 -3.176968686672e-02 -2.997905953825e-02 --2.807965352779e-02 -2.607948041488e-02 -2.398690471253e-02 -2.181060947877e-02 --1.955956086377e-02 -1.724297173505e-02 -1.487026452621e-02 -1.245103345675e-02 --9.995006272540e-03 -7.512005657275e-03 -5.011910466195e-03 -2.504616932934e-03 --2.017993520125e-15 2.492125077903e-03 4.962040710309e-03 7.400164381977e-03 -9.797085356249e-03 1.214360053189e-02 1.443074931854e-02 1.664984740018e-02 -1.879251926127e-02 2.085072935501e-02 2.281681179972e-02 2.468349849486e-02 -2.644394555529e-02 2.809175796926e-02 2.962101239264e-02 3.102627800003e-02 -3.230263532071e-02 3.344569299603e-02 3.445160240269e-02 3.531707009540e-02 -3.603936803051e-02 3.661634154138e-02 3.704641504493e-02 3.732859546769e-02 -3.746247338849e-02 3.744822190398e-02 3.728659323174e-02 3.697891307455e-02 -3.652707277795e-02 3.593351932149e-02 3.520124319259e-02 3.433376419947e-02 -3.333511528779e-02 3.220982443266e-02 3.096289468529e-02 2.959978245980e-02 -2.812637415265e-02 2.654896119291e-02 2.487421362735e-02 2.310915234940e-02 -2.126112008611e-02 1.933775126123e-02 1.734694085656e-02 1.529681239701e-02 -1.319568518767e-02 1.105204093352e-02 8.874489874274e-03 6.671736568095e-03 -4.452545458808e-03 2.225706361338e-03 2.049406405868e-15 -2.215836266605e-03 --4.413142401646e-03 -6.583369196328e-03 -8.718111198071e-03 -1.080913893498e-02 --1.284843031431e-02 -1.482820107631e-02 -1.674093418907e-02 -1.857940807451e-02 --2.033672356062e-02 -2.200632946071e-02 -2.358204668567e-02 -2.505809080195e-02 --2.642909295378e-02 -2.769011907529e-02 -2.883668732493e-02 -2.986478368168e-02 --3.077087565026e-02 -3.155192402979e-02 -3.220539270811e-02 -3.272925645206e-02 --3.312200667153e-02 -3.338265514341e-02 -3.351073568928e-02 -3.350630380882e-02 --3.336993427882e-02 -3.310271673550e-02 -3.270624926561e-02 -3.218263003950e-02 --3.153444702669e-02 -3.076476584194e-02 -2.987711577661e-02 -2.887547407732e-02 --2.776424854012e-02 -2.654825849487e-02 -2.523271426040e-02 -2.382319515668e-02 --2.232562616553e-02 -2.074625333617e-02 -1.909161803650e-02 -1.736853015519e-02 --1.558404036300e-02 -1.374541154539e-02 -1.186008952090e-02 -9.935673162461e-03 --7.979884040174e-03 -6.000535706114e-03 -4.005502742060e-03 -2.002689691865e-03 --2.074536714462e-15 1.994694922632e-03 3.973586385546e-03 5.928958739437e-03 -7.853219214135e-03 9.738927159240e-03 1.157882257574e-02 1.336585383013e-02 -1.509320444606e-02 1.675431887269e-02 1.834292713311e-02 1.985306826103e-02 -2.127911243902e-02 2.261578175692e-02 2.385816951469e-02 2.500175800002e-02 -2.604243467716e-02 2.697650672987e-02 2.780071390796e-02 2.851223963386e-02 -2.910872033233e-02 2.958825295378e-02 2.994940066851e-02 3.019119671670e-02 -3.031314640595e-02 3.031522725560e-02 3.019788729414e-02 2.996204152340e-02 -2.960906657000e-02 2.914079355183e-02 2.855949919399e-02 2.786789523535e-02 -2.706911617354e-02 2.616670540215e-02 2.516459980041e-02 2.406711284115e-02 -2.287891628835e-02 2.160502056109e-02 2.025075384532e-02 1.882174003968e-02 -1.732387562572e-02 1.576330555675e-02 1.414639826310e-02 1.247971987454e-02 -1.077000776347e-02 9.024143514529e-03 7.249125428436e-03 5.452040668992e-03 -3.640037163405e-03 1.820295366559e-03 1.992292068153e-15 -1.813688123845e-03 --3.613660082507e-03 -5.392886520681e-03 -7.144444916831e-03 -8.861546334083e-03 --1.053756155274e-02 -1.216604648451e-02 -1.374076677168e-02 -1.525572147799e-02 --1.670516578194e-02 -1.808363258714e-02 -1.938595296936e-02 -2.060727538420e-02 --2.174308356481e-02 -2.278921304427e-02 -2.374186624279e-02 -2.459762606586e-02 --2.535346796536e-02 -2.600677042174e-02 -2.655532381195e-02 -2.699733763383e-02 --2.733144606462e-02 -2.755671183741e-02 -2.767262842634e-02 -2.767912053772e-02 --2.757654291097e-02 -2.736567743992e-02 -2.704772863142e-02 -2.662431742473e-02 --2.609747340140e-02 -2.546962542164e-02 -2.474359072908e-02 -2.392256257177e-02 --2.301009639284e-02 -2.201009464959e-02 -2.092679032518e-02 -1.976472920154e-02 --1.852875096731e-02 -1.722396923835e-02 -1.585575057269e-02 -1.442969256548e-02 --1.295160111250e-02 -1.142746693402e-02 -9.863441453412e-03 -8.265812126754e-03 --6.640977322024e-03 -4.995420847469e-03 -3.335686230010e-03 -1.668350845144e-03 --1.923754862896e-15 1.662798928850e-03 3.313522201900e-03 4.945715167390e-03 -6.553017357490e-03 - Type L N - 0 0 12 -1.000000000000e+00 9.992279737113e-01 9.969140403446e-01 9.930646292992e-01 -9.876904326070e-01 9.808063695699e-01 9.724315374314e-01 9.625891482603e-01 -9.513064522713e-01 9.386146478614e-01 9.245487786840e-01 9.091476181311e-01 -8.924535416387e-01 8.745123872751e-01 8.553733051107e-01 8.350885959116e-01 -8.137135397329e-01 7.913062150280e-01 7.679273089187e-01 7.436399193057e-01 -7.185093495242e-01 6.926028962791e-01 6.659896316113e-01 6.387401796734e-01 -6.109264891045e-01 5.826216018117e-01 5.538994189758e-01 5.248344651059e-01 -4.955016509751e-01 4.659760362681e-01 4.363325927743e-01 4.066459689515e-01 -3.769902566815e-01 3.474387610267e-01 3.180637737844e-01 2.889363516172e-01 -2.601260995226e-01 2.317009603786e-01 2.037270112813e-01 1.762682673599e-01 -1.493864937278e-01 1.231410261944e-01 9.758860132910e-02 7.278319643154e-02 -4.877587992474e-02 2.561467264723e-02 3.344420478281e-03 -1.799332131255e-02 --3.836039164525e-02 -5.772211483790e-02 -7.604737918979e-02 -9.330870273281e-02 --1.094822859925e-01 -1.245480516486e-01 -1.384896710346e-01 -1.512945774625e-01 --1.629539664097e-01 -1.734627826524e-01 -1.828196944759e-01 -1.910270551436e-01 --1.980908518464e-01 -2.040206424053e-01 -2.088294800399e-01 -2.125338265593e-01 --2.151534543731e-01 -2.167113377586e-01 -2.172335338584e-01 -2.167490539174e-01 --2.152897253013e-01 -2.128900448716e-01 -2.095870243170e-01 -2.054200280721e-01 --2.004306044738e-01 -1.946623108294e-01 -1.881605330885e-01 -1.809723008253e-01 --1.731460982521e-01 -1.647316719950e-01 -1.557798363680e-01 -1.463422768886e-01 --1.364713527782e-01 -1.262198991891e-01 -1.156410298962e-01 -1.047879411840e-01 --9.371371765039e-02 -8.247114063505e-02 -7.111249996669e-02 -5.968940970393e-02 --4.825262852548e-02 -3.685188540241e-02 -2.553571115993e-02 -1.435127650936e-02 --3.344237101584e-03 7.441413878032e-03 1.796348508609e-02 2.818171791662e-02 -3.805790849943e-02 4.755602042277e-02 5.664228784054e-02 6.528530866430e-02 -7.345612758100e-02 8.112830867898e-02 8.827799750669e-02 9.488397243149e-02 -1.009276852081e-01 1.063932907094e-01 1.112676658148e-01 1.155404174940e-01 -1.192038801654e-01 1.222531024501e-01 1.246858234833e-01 1.265024389837e-01 -1.277059573206e-01 1.283019458554e-01 1.282984678711e-01 1.277060104357e-01 -1.265374035805e-01 1.248077312039e-01 1.225342341415e-01 1.197362058686e-01 -1.164348813293e-01 1.126533194058e-01 1.084162795664e-01 1.037500932444e-01 -9.868253051993e-02 9.324266268972e-02 8.746072131829e-02 8.136795437682e-02 -7.499648007903e-02 6.837913902881e-02 6.154934529460e-02 5.454093702501e-02 -4.738802721575e-02 4.012485523222e-02 3.278563968320e-02 2.540443323030e-02 -1.801497990466e-02 1.065057548665e-02 3.343931487162e-03 -3.872956750933e-03 --1.096893733391e-02 -1.791382400724e-02 -2.467851280607e-02 -3.123509274441e-02 --3.755695014967e-02 -4.361886627894e-02 -4.939710788436e-02 -5.486951042691e-02 --6.001555367122e-02 -6.481642942771e-02 -6.925510124296e-02 -7.331635587451e-02 --7.698684642162e-02 -8.025512701929e-02 -8.311167903885e-02 -8.554892877402e-02 --8.756125662710e-02 -8.914499784507e-02 -9.029843489015e-02 -9.102178156370e-02 --9.131715903518e-02 -9.118856396098e-02 -9.064182890880e-02 -8.968457533387e-02 --8.832615938202e-02 -8.657761082242e-02 -8.445156543886e-02 -8.196219123287e-02 --7.912510881488e-02 -7.595730638088e-02 -7.247704969087e-02 -6.870378748328e-02 --6.465805277436e-02 -6.036136050535e-02 -5.583610201132e-02 -5.110543679481e-02 --4.619318209463e-02 -4.112370074496e-02 -3.592178782306e-02 -3.061255658420e-02 --2.522132418147e-02 -1.977349766434e-02 -1.429446074439e-02 -8.809461809129e-03 --3.343503655124e-03 2.078764599710e-03 7.433152978168e-03 1.269603304885e-02 -1.784443685979e-02 2.285615200458e-02 2.770981244509e-02 3.238498473610e-02 -3.686224932032e-02 4.112327658597e-02 4.515089740462e-02 4.892916789272e-02 -5.244342816787e-02 5.568035489828e-02 5.862800747255e-02 6.127586764597e-02 -6.361487254874e-02 6.563744097142e-02 6.733749287251e-02 6.871046208299e-02 -6.975330221233e-02 7.046448578981e-02 7.084399670419e-02 7.089331603328e-02 -7.061540138289e-02 7.001465988189e-02 6.909691500653e-02 6.786936743256e-02 -6.634055013803e-02 6.452027800313e-02 6.241959217497e-02 6.005069948638e-02 -5.742690723673e-02 5.456255366062e-02 5.147293442663e-02 4.817422552287e-02 -4.468340289893e-02 4.101815924540e-02 3.719681830130e-02 3.323824708777e-02 -2.916176647231e-02 2.498706047175e-02 2.073408470507e-02 1.642297440696e-02 -1.207395241254e-02 7.707237520012e-03 3.342953633618e-03 -9.989599174016e-04 --5.298836496292e-03 -9.537368334982e-03 -1.369569040266e-02 -1.775546161334e-02 --2.169894303337e-02 -2.550907276560e-02 -2.916953720406e-02 -3.266483837116e-02 --3.598035706892e-02 -3.910241159618e-02 -4.201831180512e-02 -4.471640829272e-02 --4.718613654569e-02 -4.941805588103e-02 -5.140388304871e-02 -5.313652038720e-02 --5.461007844779e-02 -5.581989302850e-02 -5.676253658367e-02 -5.743582400033e-02 --5.783881275764e-02 -5.797179751029e-02 -5.783629916124e-02 -5.743504851314e-02 --5.677196461118e-02 -5.585212791283e-02 -5.468174844196e-02 -5.326812910599e-02 --5.161962437494e-02 -4.974559454044e-02 -4.765635579082e-02 -4.536312635556e-02 --4.287796898784e-02 -4.021373006854e-02 -3.738397562802e-02 -3.440292459373e-02 --3.128537958192e-02 -2.804665556062e-02 -2.470250671790e-02 -2.126905187582e-02 --1.776269879390e-02 -1.420006770930e-02 -1.059791446129e-02 -6.973053547736e-03 --3.342281458833e-03 2.776993699898e-04 3.870355649084e-03 7.419397039236e-03 -1.090884834749e-02 1.432311980103e-02 1.764707509662e-02 2.086609693505e-02 -2.396614976315e-02 2.693383946020e-02 2.975646972097e-02 3.242209490396e-02 -3.491956913082e-02 3.723859144079e-02 3.936974682337e-02 4.130454297152e-02 -4.303544261821e-02 4.455589133963e-02 4.586034072943e-02 4.694426686967e-02 -4.780418404585e-02 4.843765367486e-02 4.884328843635e-02 4.902075161979e-02 -4.897075172058e-02 4.869503233990e-02 4.819635746364e-02 4.747849221589e-02 -4.654617920246e-02 4.540511057875e-02 4.406189599482e-02 4.252402658784e-02 -4.079983520931e-02 3.889845308950e-02 3.682976315715e-02 3.460435024541e-02 -3.223344842822e-02 2.972888574237e-02 2.710302656088e-02 2.436871189230e-02 -2.153919788813e-02 1.862809284710e-02 1.564929300992e-02 1.261691744199e-02 -9.545242303754e-03 6.448634809500e-03 3.341487174992e-03 2.381508525979e-04 --2.847128650419e-03 -5.900276079153e-03 -8.907449578187e-03 -1.185510239980e-02 --1.473004290254e-02 -1.751949257884e-02 -2.021114186037e-02 -2.279320346191e-02 --2.525446303625e-02 -2.758432692673e-02 -2.977286681774e-02 -3.181086109920e-02 --3.368983277634e-02 -3.540208377320e-02 -3.694072549481e-02 -3.829970553127e-02 --3.947383040449e-02 -4.045878427708e-02 -4.125114356156e-02 -4.184838738664e-02 --4.224890389674e-02 -4.245199237930e-02 -4.245786123398e-02 -4.226762181585e-02 --4.188327820378e-02 -4.130771296294e-02 -4.054466898827e-02 -3.959872753295e-02 --3.847528254265e-02 -3.718051143228e-02 -3.572134245744e-02 -3.410541884732e-02 --3.234105987946e-02 -3.043721908982e-02 -2.840343982337e-02 -2.624980834151e-02 --2.398690471239e-02 -2.162575171918e-02 -1.917776202895e-02 -1.665468387151e-02 --1.406854548292e-02 -1.143159857272e-02 -8.756261076850e-03 -6.055059460365e-03 --3.340570834353e-03 -6.253651512786e-04 2.078052259000e-03 4.757297553046e-03 -7.400164382138e-03 9.994678794838e-03 1.252915278994e-02 1.499223628329e-02 -1.737296726033e-02 1.966081989565e-02 2.184575043113e-02 2.391824061559e-02 -2.586933852062e-02 2.769069656057e-02 2.937460655777e-02 3.091403170865e-02 -3.230263532080e-02 3.353480620680e-02 3.460568063597e-02 3.551116076150e-02 -3.624792945694e-02 3.681346151232e-02 3.720603115740e-02 3.742471589597e-02 -3.746939665215e-02 3.734075424653e-02 3.704026223617e-02 3.657017616935e-02 -3.593351932144e-02 3.513406499450e-02 3.417631547791e-02 3.306547778249e-02 -3.180743627425e-02 3.040872234786e-02 2.887648129230e-02 2.721843651339e-02 -2.544285128919e-02 2.355848824446e-02 2.157456673995e-02 1.950071838086e-02 -1.734694085641e-02 1.512355032887e-02 1.284113259628e-02 1.051049325735e-02 -8.142607110544e-03 5.748567021884e-03 3.339532497202e-03 9.266781948153e-04 --1.478857386156e-03 -3.866022808557e-03 -6.223903960706e-03 -8.541773454272e-03 --1.080913893514e-02 -1.301579009183e-02 -1.515184415306e-02 -1.720778967362e-02 --1.917452841683e-02 -2.104341515099e-02 -2.280629518789e-02 -2.445553950233e-02 --2.598407728330e-02 -2.738542578019e-02 -2.865371731977e-02 -2.978372338380e-02 --3.077087565033e-02 -3.161128391669e-02 -3.230175083613e-02 -3.283978341545e-02 --3.322360123548e-02 -3.345214137170e-02 -3.352506000737e-02 -3.344273074650e-02 --3.320623964913e-02 -3.281737702633e-02 -3.227862604665e-02 -3.159314822042e-02 --3.076476584187e-02 -2.979794148299e-02 -2.869775464559e-02 -2.746987569105e-02 --2.612053717863e-02 -2.465650275498e-02 -2.308503374750e-02 -2.141385362451e-02 --1.965111049394e-02 -1.780533782047e-02 -1.588541354853e-02 -1.390051782496e-02 --1.186008952075e-02 -9.773781755706e-03 -7.651416633988e-03 -5.502939400705e-03 --3.338372231846e-03 -1.167767870459e-03 9.988366781956e-04 3.151466180926e-03 -5.280252730885e-03 7.375480615454e-03 9.427630295369e-03 1.142742129759e-02 -1.336585383027e-02 1.523424893467e-02 1.702428699655e-02 1.872804444755e-02 -2.033802849617e-02 2.184720973769e-02 2.324905250247e-02 2.453754281321e-02 -2.570721383304e-02 2.675316869833e-02 2.767110064257e-02 2.845731033014e-02 -2.910872033238e-02 2.962288669104e-02 2.999800752846e-02 3.023292867675e-02 -3.032714631269e-02 3.028080659816e-02 3.009470234012e-02 2.977026669742e-02 -2.930956397516e-02 2.871527756066e-02 2.799069506760e-02 2.713969076785e-02 -2.616670540206e-02 2.507672347222e-02 2.387524813018e-02 2.256827378671e-02 -2.116225657575e-02 1.966408281765e-02 1.808103563374e-02 1.642075987274e-02 -1.469122551603e-02 1.290068973588e-02 1.105765778542e-02 9.170842904406e-03 -7.249125428275e-03 5.301511291054e-03 3.337090114614e-03 1.364993078026e-03 --6.056492390625e-04 -2.565748845676e-03 -4.506301969589e-03 -6.418430138767e-03 --8.293420528000e-03 -1.012276538856e-02 -1.189820038371e-02 -1.361174165838e-02 --1.525572147813e-02 -1.682282227921e-02 -1.830610897985e-02 -1.969905941115e-02 --2.099559273523e-02 -2.219009572795e-02 -2.327744681372e-02 -2.425303775080e-02 --2.511279287634e-02 -2.585318583225e-02 -2.647125370453e-02 -2.696460852101e-02 --2.733144606464e-02 -2.757055197189e-02 -2.768130509848e-02 -2.766367814715e-02 --2.751823556482e-02 -2.724612872880e-02 -2.684908845437e-02 -2.632941486781e-02 --2.568996470120e-02 -2.493413607671e-02 -2.406585085953e-02 -2.308953466915e-02 --2.201009464949e-02 -2.083289510797e-02 -1.956373114306e-02 -1.820880038879e-02 --1.677467301263e-02 -1.526826011074e-02 -1.369678065162e-02 -1.206772712484e-02 --1.038883005751e-02 -8.668021565174e-03 -6.913398107991e-03 -5.133182626063e-03 --3.335686229846e-03 -1.529269623132e-03 2.776955633555e-04 2.076865349952e-03 -3.859961720838e-03 5.618810496682e-03 7.345378594832e-03 9.031810508161e-03 -1.067046383786e-02 1.225394372036e-02 1.377513599426e-02 1.522723895930e-02 -1.660379358668e-02 1.789871204721e-02 1.910630443240e-02 2.022130355193e-02 -2.123888770046e-02 2.215470129622e-02 2.296487330399e-02 2.366603336570e-02 -2.425532557226e-02 2.473041982179e-02 2.508952072019e-02 2.533137399184e-02 -2.545527037936e-02 2.546104702338e-02 2.534908632429e-02 2.512031230025e-02 -2.477618446632e-02 2.431868927157e-02 2.375032914176e-02 2.307410918600e-02 -2.229352163644e-02 2.141252810021e-02 2.043553971245e-02 1.936739528878e-02 -1.821333758435e-02 1.697898777482e-02 1.567031828265e-02 1.429362407897e-02 -1.285549259812e-02 1.136277240765e-02 9.822540781984e-03 8.242070332365e-03 -6.628794849553e-03 4.990274518931e-03 3.334160669886e-03 1.668160223061e-03 --1.634143446808e-13 -1.662608941446e-03 -3.312006778715e-03 -4.940620046424e-03 --6.540996242587e-03 - Type L N - 0 1 0 -0.000000000000e+00 2.496324586943e-03 4.992565169903e-03 7.488637748281e-03 -9.984458328155e-03 1.247994292576e-02 1.497500757074e-02 1.746956830960e-02 -1.996354120901e-02 2.245684235920e-02 2.494938787730e-02 2.744109391072e-02 -2.993187664049e-02 3.242165228464e-02 3.491033710152e-02 3.739784739318e-02 -3.988409950874e-02 4.236900984769e-02 4.485249486326e-02 4.733447106581e-02 -4.981485502609e-02 5.229356337864e-02 5.477051282511e-02 5.724562013760e-02 -5.971880216198e-02 6.218997582121e-02 6.465905811871e-02 6.712596614162e-02 -6.959061706418e-02 7.205292815098e-02 7.451281676033e-02 7.697020034751e-02 -7.942499646812e-02 8.187712278134e-02 8.432649705328e-02 8.677303716016e-02 -8.921666109173e-02 9.165728695442e-02 9.409483297472e-02 9.652921750237e-02 -9.896035901367e-02 1.013881761147e-01 1.038125875446e-01 1.062335121789e-01 -1.086508690324e-01 1.110645772630e-01 1.134745561744e-01 1.158807252196e-01 -1.182830040039e-01 1.206813122884e-01 1.230755699930e-01 1.254656971997e-01 -1.278516141554e-01 1.302332412759e-01 1.326104991482e-01 1.349833085341e-01 -1.373515903735e-01 1.397152657871e-01 1.420742560800e-01 1.444284827445e-01 -1.467778674634e-01 1.491223321129e-01 1.514617987661e-01 1.537961896959e-01 -1.561254273778e-01 1.584494344935e-01 1.607681339337e-01 1.630814488010e-01 -1.653893024133e-01 1.676916183067e-01 1.699883202385e-01 1.722793321902e-01 -1.745645783707e-01 1.768439832190e-01 1.791174714076e-01 1.813849678450e-01 -1.836463976791e-01 1.859016863001e-01 1.881507593431e-01 1.903935426916e-01 -1.926299624799e-01 1.948599450964e-01 1.970834171864e-01 1.993003056549e-01 -2.015105376695e-01 2.037140406635e-01 2.059107423387e-01 2.081005706678e-01 -2.102834538980e-01 2.124593205533e-01 2.146280994374e-01 2.167897196366e-01 -2.189441105226e-01 2.210912017554e-01 2.232309232857e-01 2.253632053578e-01 -2.274879785128e-01 2.296051735906e-01 2.317147217331e-01 2.338165543869e-01 -2.359106033056e-01 2.379968005530e-01 2.400750785054e-01 2.421453698545e-01 -2.442076076096e-01 2.462617251009e-01 2.483076559815e-01 2.503453342304e-01 -2.523746941547e-01 2.543956703927e-01 2.564081979159e-01 2.584122120318e-01 -2.604076483865e-01 2.623944429672e-01 2.643725321044e-01 2.663418524746e-01 -2.683023411031e-01 2.702539353656e-01 2.721965729916e-01 2.741301920661e-01 -2.760547310324e-01 2.779701286942e-01 2.798763242183e-01 2.817732571367e-01 -2.836608673490e-01 2.855390951249e-01 2.874078811063e-01 2.892671663095e-01 -2.911168921278e-01 2.929570003335e-01 2.947874330805e-01 2.966081329058e-01 -2.984190427327e-01 3.002201058720e-01 3.020112660250e-01 3.037924672851e-01 -3.055636541404e-01 3.073247714752e-01 3.090757645729e-01 3.108165791173e-01 -3.125471611955e-01 3.142674572991e-01 3.159774143269e-01 3.176769795865e-01 -3.193661007968e-01 3.210447260893e-01 3.227128040107e-01 3.243702835244e-01 -3.260171140128e-01 3.276532452789e-01 3.292786275485e-01 3.308932114717e-01 -3.324969481252e-01 3.340897890136e-01 3.356716860720e-01 3.372425916669e-01 -3.388024585987e-01 3.403512401031e-01 3.418888898529e-01 3.434153619598e-01 -3.449306109763e-01 3.464345918968e-01 3.479272601600e-01 3.494085716499e-01 -3.508784826980e-01 3.523369500845e-01 3.537839310400e-01 3.552193832474e-01 -3.566432648428e-01 3.580555344177e-01 3.594561510200e-01 3.608450741561e-01 -3.622222637916e-01 3.635876803534e-01 3.649412847309e-01 3.662830382773e-01 -3.676129028112e-01 3.689308406180e-01 3.702368144509e-01 3.715307875328e-01 -3.728127235570e-01 3.740825866892e-01 3.753403415680e-01 3.765859533068e-01 -3.778193874947e-01 3.790406101978e-01 3.802495879603e-01 3.814462878060e-01 -3.826306772390e-01 3.838027242452e-01 3.849623972932e-01 3.861096653354e-01 -3.872444978093e-01 3.883668646384e-01 3.894767362329e-01 3.905740834913e-01 -3.916588778011e-01 3.927310910397e-01 3.937906955755e-01 3.948376642687e-01 -3.958719704721e-01 3.968935880325e-01 3.979024912908e-01 3.988986550836e-01 -3.998820547434e-01 4.008526660997e-01 4.018104654798e-01 4.027554297095e-01 -4.036875361137e-01 4.046067625174e-01 4.055130872460e-01 4.064064891265e-01 -4.072869474875e-01 4.081544421604e-01 4.090089534797e-01 4.098504622838e-01 -4.106789499151e-01 4.114943982211e-01 4.122967895547e-01 4.130861067746e-01 -4.138623332458e-01 4.146254528402e-01 4.153754499369e-01 4.161123094227e-01 -4.168360166924e-01 4.175465576492e-01 4.182439187051e-01 4.189280867811e-01 -4.195990493076e-01 4.202567942248e-01 4.209013099827e-01 4.215325855415e-01 -4.221506103717e-01 4.227553744544e-01 4.233468682816e-01 4.239250828559e-01 -4.244900096913e-01 4.250416408126e-01 4.255799687559e-01 4.261049865687e-01 -4.266166878097e-01 4.271150665490e-01 4.276001173681e-01 4.280718353596e-01 -4.285302161276e-01 4.289752557874e-01 4.294069509652e-01 4.298252987985e-01 -4.302302969354e-01 4.306219435350e-01 4.310002372667e-01 4.313651773105e-01 -4.317167633563e-01 4.320549956041e-01 4.323798747633e-01 4.326914020530e-01 -4.329895792010e-01 4.332744084441e-01 4.335458925272e-01 4.338040347035e-01 -4.340488387337e-01 4.342803088856e-01 4.344984499339e-01 4.347032671597e-01 -4.348947663497e-01 4.350729537962e-01 4.352378362962e-01 4.353894211511e-01 -4.355277161658e-01 4.356527296486e-01 4.357644704103e-01 4.358629477635e-01 -4.359481715222e-01 4.360201520010e-01 4.360789000144e-01 4.361244268761e-01 -4.361567443983e-01 4.361758648910e-01 4.361818011611e-01 4.361745665118e-01 -4.361541747414e-01 4.361206401430e-01 4.360739775033e-01 4.360142021017e-01 -4.359413297098e-01 4.358553765897e-01 4.357563594941e-01 4.356442956644e-01 -4.355192028303e-01 4.353810992087e-01 4.352300035024e-01 4.350659348994e-01 -4.348889130718e-01 4.346989581745e-01 4.344960908441e-01 4.342803321983e-01 -4.340517038341e-01 4.338102278270e-01 4.335559267297e-01 4.332888235711e-01 -4.330089418547e-01 4.327163055577e-01 4.324109391297e-01 4.320928674913e-01 -4.317621160329e-01 4.314187106131e-01 4.310626775581e-01 4.306940436593e-01 -4.303128361730e-01 4.299190828181e-01 4.295128117753e-01 4.290940516853e-01 -4.286628316476e-01 4.282191812190e-01 4.277631304118e-01 4.272947096928e-01 -4.268139499814e-01 4.263208826481e-01 4.258155395130e-01 4.252979528444e-01 -4.247681553570e-01 4.242261802101e-01 4.236720610063e-01 4.231058317898e-01 -4.225275270446e-01 4.219371816928e-01 4.213348310930e-01 4.207205110384e-01 -4.200942577555e-01 4.194561079017e-01 4.188060985641e-01 4.181442672572e-01 -4.174706519215e-01 4.167852909214e-01 4.160882230437e-01 4.153794874951e-01 -4.146591239012e-01 4.139271723036e-01 4.131836731590e-01 4.124286673363e-01 -4.116621961154e-01 4.108843011849e-01 4.100950246402e-01 4.092944089813e-01 -4.084824971113e-01 4.076593323337e-01 4.068249583507e-01 4.059794192614e-01 -4.051227595591e-01 4.042550241297e-01 4.033762582496e-01 4.024865075830e-01 -4.015858181805e-01 4.006742364766e-01 3.997518092872e-01 3.988185838083e-01 -3.978746076127e-01 3.969199286486e-01 3.959545952372e-01 3.949786560700e-01 -3.939921602073e-01 3.929951570751e-01 3.919876964636e-01 3.909698285243e-01 -3.899416037679e-01 3.889030730620e-01 3.878542876287e-01 3.867952990423e-01 -3.857261592268e-01 3.846469204536e-01 3.835576353392e-01 3.824583568425e-01 -3.813491382626e-01 3.802300332363e-01 3.791010957357e-01 3.779623800657e-01 -3.768139408612e-01 3.756558330852e-01 3.744881120258e-01 3.733108332941e-01 -3.721240528212e-01 3.709278268560e-01 3.697222119625e-01 3.685072650172e-01 -3.672830432068e-01 3.660496040250e-01 3.648070052707e-01 3.635553050448e-01 -3.622945617476e-01 3.610248340765e-01 3.597461810231e-01 3.584586618706e-01 -3.571623361910e-01 3.558572638427e-01 3.545435049675e-01 3.532211199882e-01 -3.518901696055e-01 3.505507147957e-01 3.492028168076e-01 3.478465371600e-01 -3.464819376389e-01 3.451090802946e-01 3.437280274390e-01 3.423388416430e-01 -3.409415857334e-01 3.395363227901e-01 3.381231161437e-01 3.367020293723e-01 -3.352731262987e-01 3.338364709875e-01 3.323921277428e-01 3.309401611045e-01 -3.294806358460e-01 3.280136169713e-01 3.265391697118e-01 3.250573595237e-01 -3.235682520850e-01 3.220719132927e-01 3.205684092596e-01 3.190578063117e-01 -3.175401709851e-01 3.160155700232e-01 3.144840703734e-01 3.129457391847e-01 -3.114006438044e-01 3.098488517749e-01 3.082904308315e-01 3.067254488986e-01 -3.051539740871e-01 3.035760746915e-01 3.019918191867e-01 3.004012762251e-01 -2.988045146334e-01 2.972016034102e-01 2.955926117220e-01 2.939776089011e-01 -2.923566644421e-01 2.907298479988e-01 2.890972293815e-01 2.874588785536e-01 -2.858148656290e-01 2.841652608686e-01 2.825101346773e-01 2.808495576012e-01 -2.791836003245e-01 2.775123336661e-01 2.758358285769e-01 2.741541561364e-01 -2.724673875501e-01 2.707755941458e-01 2.690788473709e-01 2.673772187894e-01 -2.656707800785e-01 2.639596030256e-01 2.622437595254e-01 2.605233215765e-01 -2.587983612785e-01 2.570689508288e-01 2.553351625196e-01 2.535970687347e-01 -2.518547419463e-01 2.501082547122e-01 2.483576796723e-01 2.466030895457e-01 -2.448445571275e-01 2.430821552859e-01 2.413159569588e-01 2.395460351506e-01 -2.377724629296e-01 2.359953134243e-01 2.342146598205e-01 2.324305753585e-01 -2.306431333292e-01 2.288524070719e-01 2.270584699703e-01 2.252613954502e-01 -2.234612569758e-01 2.216581280465e-01 2.198520821945e-01 2.180431929810e-01 -2.162315339931e-01 2.144171788412e-01 2.126002011553e-01 2.107806745823e-01 -2.089586727827e-01 2.071342694274e-01 2.053075381948e-01 2.034785527677e-01 -2.016473868297e-01 1.998141140628e-01 1.979788081440e-01 1.961415427420e-01 -1.943023915143e-01 1.924614281042e-01 1.906187261374e-01 1.887743592193e-01 -1.869284009315e-01 1.850809248291e-01 1.832320044374e-01 1.813817132488e-01 -1.795301247198e-01 1.776773122681e-01 1.758233492692e-01 1.739683090534e-01 -1.721122649032e-01 1.702552900495e-01 1.683974576692e-01 1.665388408819e-01 -1.646795127467e-01 1.628195462594e-01 1.609590143495e-01 1.590979898770e-01 -1.572365456294e-01 1.553747543189e-01 1.535126885791e-01 1.516504209621e-01 -1.497880239359e-01 1.479255698805e-01 1.460631310860e-01 1.442007797486e-01 -1.423385879686e-01 1.404766277466e-01 1.386149709811e-01 1.367536894653e-01 -1.348928548840e-01 1.330325388113e-01 1.311728127067e-01 1.293137479132e-01 -1.274554156536e-01 1.255978870280e-01 1.237412330106e-01 1.218855244474e-01 -1.200308320525e-01 1.181772264058e-01 1.163247779499e-01 1.144735569874e-01 -1.126236336779e-01 1.107750780352e-01 1.089279599244e-01 1.070823490592e-01 -1.052383149991e-01 1.033959271463e-01 1.015552547434e-01 9.971636687003e-02 -9.787933244060e-02 9.604422020116e-02 9.421109872679e-02 9.238003641883e-02 -9.055110150215e-02 8.872436202235e-02 8.689988584314e-02 8.507774064353e-02 -8.325799391520e-02 8.144071295975e-02 7.962596488607e-02 7.781381660763e-02 -7.600433483984e-02 7.419758609738e-02 7.239363669160e-02 7.059255272786e-02 -6.879440010292e-02 6.699924450232e-02 6.520715139783e-02 6.341818604483e-02 -6.163241347976e-02 5.984989851753e-02 5.807070574900e-02 5.629489953847e-02 -5.452254402109e-02 5.275370310039e-02 5.098844044580e-02 4.922681949013e-02 -4.746890342708e-02 4.571475520885e-02 4.396443754362e-02 4.221801289314e-02 -4.047554347031e-02 3.873709123678e-02 3.700271790054e-02 3.527248491351e-02 -3.354645346923e-02 3.182468450046e-02 3.010723867682e-02 2.839417640254e-02 -2.668555781403e-02 2.498144277768e-02 2.328189088750e-02 2.158696146289e-02 -1.989671354636e-02 1.821120590129e-02 1.653049700966e-02 1.485464506992e-02 -1.318370799468e-02 1.151774340860e-02 9.856808646176e-03 8.200960749600e-03 -6.550256466598e-03 4.904752248310e-03 3.264504247171e-03 1.629568314813e-03 --2.450691677841e-14 -1.624145453560e-03 -3.242813109028e-03 -4.855948338718e-03 --6.463496825996e-03 - Type L N - 0 1 1 -0.000000000000e+00 4.291735428448e-03 8.583043981315e-03 1.287349883354e-02 -1.716267326116e-02 2.145014069182e-02 2.573547475531e-02 3.001824933398e-02 -3.429803861327e-02 3.857441713205e-02 4.284695983304e-02 4.711524211309e-02 -5.137883987341e-02 5.563732956983e-02 5.989028826285e-02 6.413729366771e-02 -6.837792420433e-02 7.261175904720e-02 7.683837817511e-02 8.105736242085e-02 -8.526829352072e-02 8.947075416401e-02 9.366432804228e-02 9.784859989857e-02 -1.020231555764e-01 1.061875820688e-01 1.103414675669e-01 1.144844015086e-01 -1.186159746272e-01 1.227357789992e-01 1.268434080930e-01 1.309384568164e-01 -1.350205215646e-01 1.390892002673e-01 1.431440924368e-01 1.471847992144e-01 -1.512109234179e-01 1.552220695878e-01 1.592178440342e-01 1.631978548831e-01 -1.671617121221e-01 1.711090276463e-01 1.750394153042e-01 1.789524909425e-01 -1.828478724515e-01 1.867251798097e-01 1.905840351284e-01 1.944240626958e-01 -1.982448890213e-01 2.020461428785e-01 2.058274553496e-01 2.095884598674e-01 -2.133287922588e-01 2.170480907870e-01 2.207459961937e-01 2.244221517411e-01 -2.280762032530e-01 2.317077991564e-01 2.353165905224e-01 2.389022311061e-01 -2.424643773877e-01 2.460026886113e-01 2.495168268254e-01 2.530064569210e-01 -2.564712466711e-01 2.599108667689e-01 2.633249908654e-01 2.667132956074e-01 -2.700754606748e-01 2.734111688171e-01 2.767201058901e-01 2.800019608919e-01 -2.832564259984e-01 2.864831965988e-01 2.896819713302e-01 2.928524521123e-01 -2.959943441808e-01 2.991073561218e-01 3.021911999042e-01 3.052455909129e-01 -3.082702479806e-01 3.112648934202e-01 3.142292530557e-01 3.171630562533e-01 -3.200660359520e-01 3.229379286933e-01 3.257784746512e-01 3.285874176609e-01 -3.313645052477e-01 3.341094886548e-01 3.368221228716e-01 3.395021666601e-01 -3.421493825825e-01 3.447635370265e-01 3.473444002319e-01 3.498917463154e-01 -3.524053532954e-01 3.548850031162e-01 3.573304816720e-01 3.597415788301e-01 -3.621180884535e-01 3.644598084232e-01 3.667665406600e-01 3.690380911457e-01 -3.712742699437e-01 3.734748912194e-01 3.756397732596e-01 3.777687384918e-01 -3.798616135028e-01 3.819182290567e-01 3.839384201126e-01 3.859220258413e-01 -3.878688896422e-01 3.897788591589e-01 3.916517862950e-01 3.934875272284e-01 -3.952859424260e-01 3.970468966577e-01 3.987702590090e-01 4.004559028942e-01 -4.021037060685e-01 4.037135506392e-01 4.052853230772e-01 4.068189142273e-01 -4.083142193180e-01 4.097711379712e-01 4.111895742108e-01 4.125694364708e-01 -4.139106376034e-01 4.152130948861e-01 4.164767300279e-01 4.177014691759e-01 -4.188872429201e-01 4.200339862992e-01 4.211416388040e-01 4.222101443820e-01 -4.232394514402e-01 4.242295128478e-01 4.251802859385e-01 4.260917325119e-01 -4.269638188346e-01 4.277965156404e-01 4.285897981307e-01 4.293436459731e-01 -4.300580433007e-01 4.307329787101e-01 4.313684452590e-01 4.319644404634e-01 -4.325209662940e-01 4.330380291721e-01 4.335156399653e-01 4.339538139820e-01 -4.343525709659e-01 4.347119350899e-01 4.350319349487e-01 4.353126035522e-01 -4.355539783170e-01 4.357561010584e-01 4.359190179809e-01 4.360427796690e-01 -4.361274410772e-01 4.361730615190e-01 4.361797046561e-01 4.361474384862e-01 -4.360763353314e-01 4.359664718249e-01 4.358179288979e-01 4.356307917656e-01 -4.354051499131e-01 4.351410970802e-01 4.348387312462e-01 4.344981546136e-01 -4.341194735922e-01 4.337027987817e-01 4.332482449540e-01 4.327559310359e-01 -4.322259800898e-01 4.316585192952e-01 4.310536799291e-01 4.304115973455e-01 -4.297324109555e-01 4.290162642058e-01 4.282633045577e-01 4.274736834644e-01 -4.266475563490e-01 4.257850825814e-01 4.248864254548e-01 4.239517521619e-01 -4.229812337704e-01 4.219750451979e-01 4.209333651871e-01 4.198563762794e-01 -4.187442647892e-01 4.175972207766e-01 4.164154380210e-01 4.151991139927e-01 -4.139484498252e-01 4.126636502869e-01 4.113449237518e-01 4.099924821705e-01 -4.086065410402e-01 4.071873193743e-01 4.057350396724e-01 4.042499278886e-01 -4.027322134004e-01 4.011821289769e-01 3.995999107463e-01 3.979857981635e-01 -3.963400339769e-01 3.946628641949e-01 3.929545380524e-01 3.912153079764e-01 -3.894454295514e-01 3.876451614846e-01 3.858147655706e-01 3.839545066556e-01 -3.820646526015e-01 3.801454742498e-01 3.781972453845e-01 3.762202426951e-01 -3.742147457397e-01 3.721810369068e-01 3.701194013774e-01 3.680301270870e-01 -3.659135046864e-01 3.637698275033e-01 3.615993915026e-01 3.594024952472e-01 -3.571794398579e-01 3.549305289735e-01 3.526560687102e-01 3.503563676209e-01 -3.480317366546e-01 3.456824891148e-01 3.433089406181e-01 3.409114090526e-01 -3.384902145361e-01 3.360456793733e-01 3.335781280141e-01 3.310878870103e-01 -3.285752849731e-01 3.260406525299e-01 3.234843222808e-01 3.209066287553e-01 -3.183079083684e-01 3.156884993770e-01 3.130487418352e-01 3.103889775505e-01 -3.077095500393e-01 3.050108044820e-01 3.022930876783e-01 2.995567480026e-01 -2.968021353580e-01 2.940296011322e-01 2.912394981512e-01 2.884321806341e-01 -2.856080041475e-01 2.827673255595e-01 2.799105029940e-01 2.770378957849e-01 -2.741498644292e-01 2.712467705418e-01 2.683289768085e-01 2.653968469399e-01 -2.624507456248e-01 2.594910384838e-01 2.565180920228e-01 2.535322735859e-01 -2.505339513094e-01 2.475234940741e-01 2.445012714596e-01 2.414676536964e-01 -2.384230116199e-01 2.353677166230e-01 2.323021406092e-01 2.292266559462e-01 -2.261416354184e-01 2.230474521800e-01 2.199444797088e-01 2.168330917584e-01 -2.137136623119e-01 2.105865655350e-01 2.074521757289e-01 2.043108672839e-01 -2.011630146325e-01 1.980089922025e-01 1.948491743708e-01 1.916839354168e-01 -1.885136494756e-01 1.853386904919e-01 1.821594321733e-01 1.789762479447e-01 -1.757895109016e-01 1.725995937643e-01 1.694068688318e-01 1.662117079363e-01 -1.630144823971e-01 1.598155629754e-01 1.566153198285e-01 1.534141224648e-01 -1.502123396984e-01 1.470103396041e-01 1.438084894728e-01 1.406071557664e-01 -1.374067040734e-01 1.342074990649e-01 1.310099044496e-01 1.278142829305e-01 -1.246209961609e-01 1.214304047005e-01 1.182428679721e-01 1.150587442188e-01 -1.118783904600e-01 1.087021624498e-01 1.055304146333e-01 1.023635001051e-01 -9.920177056660e-02 9.604557628443e-02 9.289526604868e-02 8.975118713151e-02 -8.661368524602e-02 8.348310450536e-02 8.035978738211e-02 7.724407466788e-02 -7.413630543332e-02 7.103681698821e-02 6.794594484201e-02 6.486402266461e-02 -6.179138224739e-02 5.872835346455e-02 5.567526423485e-02 5.263244048348e-02 -4.960020610444e-02 4.657888292306e-02 4.356879065899e-02 4.057024688941e-02 -3.758356701260e-02 3.460906421190e-02 3.164704941992e-02 2.869783128320e-02 -2.576171612706e-02 2.283900792103e-02 1.993000824438e-02 1.703501625226e-02 -1.415432864198e-02 1.128823961984e-02 8.437040868243e-03 5.601021513172e-03 -2.780468092113e-03 -2.433547768917e-05 -2.813107930559e-03 -5.585570683340e-03 --8.341447865940e-03 -1.108046635148e-02 -1.380235578603e-02 -1.650684861797e-02 --1.919368012687e-02 -2.186258845205e-02 -2.451331462065e-02 -2.714560257530e-02 --2.975919920139e-02 -3.235385435387e-02 -3.492932088364e-02 -3.748535466355e-02 --4.002171461387e-02 -4.253816272741e-02 -4.503446409415e-02 -4.751038692542e-02 --4.996570257771e-02 -5.240018557588e-02 -5.481361363611e-02 -5.720576768820e-02 --5.957643189756e-02 -6.192539368668e-02 -6.425244375612e-02 -6.655737610509e-02 --6.883998805151e-02 -7.110008025161e-02 -7.333745671913e-02 -7.555192484393e-02 --7.774329541020e-02 -7.991138261421e-02 -8.205600408150e-02 -8.417698088369e-02 --8.627413755471e-02 -8.834730210664e-02 -9.039630604499e-02 -9.242098438353e-02 --9.442117565863e-02 -9.639672194312e-02 -9.834746885961e-02 -1.002732655934e-01 --1.021739649048e-01 -1.040494231411e-01 -1.058995002478e-01 -1.077240597797e-01 --1.095229689111e-01 -1.112960984458e-01 -1.130433228266e-01 -1.147645201439e-01 --1.164595721444e-01 -1.181283642388e-01 -1.197707855094e-01 -1.213867287168e-01 --1.229760903064e-01 -1.245387704143e-01 -1.260746728727e-01 -1.275837052148e-01 --1.290657786791e-01 -1.305208082135e-01 -1.319487124786e-01 -1.333494138503e-01 --1.347228384229e-01 -1.360689160103e-01 -1.373875801476e-01 -1.386787680924e-01 --1.399424208244e-01 -1.411784830461e-01 -1.423869031819e-01 -1.435676333767e-01 --1.447206294949e-01 -1.458458511177e-01 -1.469432615411e-01 -1.480128277725e-01 --1.490545205271e-01 -1.500683142241e-01 -1.510541869820e-01 -1.520121206133e-01 --1.529421006198e-01 -1.538441161856e-01 -1.547181601715e-01 -1.555642291072e-01 --1.563823231847e-01 -1.571724462497e-01 -1.579346057935e-01 -1.586688129443e-01 --1.593750824573e-01 -1.600534327055e-01 -1.607038856690e-01 -1.613264669243e-01 --1.619212056333e-01 -1.624881345314e-01 -1.630272899154e-01 -1.635387116309e-01 --1.640224430593e-01 -1.644785311042e-01 -1.649070261774e-01 -1.653079821847e-01 --1.656814565107e-01 -1.660275100038e-01 -1.663462069604e-01 -1.666376151086e-01 --1.669018055916e-01 -1.671388529506e-01 -1.673488351076e-01 -1.675318333473e-01 --1.676879322986e-01 -1.678172199161e-01 -1.679197874610e-01 -1.679957294811e-01 --1.680451437914e-01 -1.680681314531e-01 -1.680647967533e-01 -1.680352471835e-01 --1.679795934182e-01 -1.678979492927e-01 -1.677904317807e-01 -1.676571609720e-01 --1.674982600487e-01 -1.673138552622e-01 -1.671040759088e-01 -1.668690543061e-01 --1.666089257676e-01 -1.663238285784e-01 -1.660139039692e-01 -1.656792960911e-01 --1.653201519892e-01 -1.649366215765e-01 -1.645288576067e-01 -1.640970156475e-01 --1.636412540531e-01 -1.631617339362e-01 -1.626586191402e-01 -1.621320762106e-01 --1.615822743666e-01 -1.610093854714e-01 -1.604135840036e-01 -1.597950470272e-01 --1.591539541615e-01 -1.584904875512e-01 -1.578048318357e-01 -1.570971741183e-01 --1.563677039349e-01 -1.556166132232e-01 -1.548440962904e-01 -1.540503497817e-01 --1.532355726479e-01 -1.523999661133e-01 -1.515437336425e-01 -1.506670809080e-01 --1.497702157568e-01 -1.488533481770e-01 -1.479166902640e-01 -1.469604561871e-01 --1.459848621550e-01 -1.449901263815e-01 -1.439764690515e-01 -1.429441122854e-01 --1.418932801051e-01 -1.408241983982e-01 -1.397370948832e-01 -1.386321990736e-01 --1.375097422424e-01 -1.363699573865e-01 -1.352130791900e-01 -1.340393439887e-01 --1.328489897337e-01 -1.316422559544e-01 -1.304193837223e-01 -1.291806156141e-01 --1.279261956746e-01 -1.266563693800e-01 -1.253713836005e-01 -1.240714865628e-01 --1.227569278130e-01 -1.214279581791e-01 -1.200848297328e-01 -1.187277957525e-01 --1.173571106849e-01 -1.159730301075e-01 -1.145758106902e-01 -1.131657101573e-01 --1.117429872497e-01 -1.103079016861e-01 -1.088607141251e-01 -1.074016861269e-01 --1.059310801145e-01 -1.044491593355e-01 -1.029561878238e-01 -1.014524303607e-01 --9.993815243652e-02 -9.841362021212e-02 -9.687910048013e-02 -9.533486062644e-02 --9.378116859156e-02 -9.221829283197e-02 -9.064650228155e-02 -8.906606631294e-02 --8.747725469894e-02 -8.588033757396e-02 -8.427558539545e-02 -8.266326890537e-02 --8.104365909172e-02 -7.941702715008e-02 -7.778364444522e-02 -7.614378247275e-02 --7.449771282081e-02 -7.284570713186e-02 -7.118803706451e-02 -6.952497425542e-02 --6.785679028131e-02 -6.618375662098e-02 -6.450614461754e-02 -6.282422544058e-02 --6.113827004858e-02 -5.944854915133e-02 -5.775533317251e-02 -5.605889221235e-02 --5.435949601043e-02 -5.265741390859e-02 -5.095291481399e-02 -4.924626716229e-02 --4.753773888093e-02 -4.582759735266e-02 -4.411610937911e-02 -4.240354114454e-02 --4.069015817980e-02 -3.897622532641e-02 -3.726200670080e-02 -3.554776565875e-02 --3.383376475999e-02 -3.212026573298e-02 -3.040752943992e-02 -2.869581584189e-02 --2.698538396420e-02 -2.527649186198e-02 -2.356939658596e-02 -2.186435414842e-02 --2.016161948939e-02 -1.846144644308e-02 -1.676408770452e-02 -1.506979479638e-02 --1.337881803613e-02 -1.169140650333e-02 -1.000780800722e-02 -8.328269054515e-03 --6.653034817514e-03 -4.982349102382e-03 -3.316454317742e-03 -1.655591443512e-03 --9.290480171035e-15 1.650081982682e-03 3.294417995062e-03 4.932773078292e-03 -6.564913853998e-03 - Type L N - 0 1 2 -0.000000000000e+00 6.057645291757e-03 1.211409019261e-02 1.816813459484e-02 -2.421857895701e-02 3.026422458692e-02 3.630387392438e-02 4.233633082363e-02 -4.836040083545e-02 5.437489148881e-02 6.037861257200e-02 6.637037641321e-02 -7.234899816045e-02 7.831329606071e-02 8.426209173838e-02 9.019421047277e-02 -9.610848147468e-02 1.020037381620e-01 1.078788184342e-01 1.137325649457e-01 -1.195638253778e-01 1.253714527100e-01 1.311543054889e-01 1.369112480966e-01 -1.426411510172e-01 1.483428911016e-01 1.540153518312e-01 1.596574235791e-01 -1.652680038705e-01 1.708459976401e-01 1.763903174891e-01 1.818998839385e-01 -1.873736256817e-01 1.928104798348e-01 1.982093921838e-01 2.035693174309e-01 -2.088892194377e-01 2.141680714660e-01 2.194048564169e-01 2.245985670666e-01 -2.297482063000e-01 2.348527873422e-01 2.399113339863e-01 2.449228808196e-01 -2.498864734462e-01 2.548011687073e-01 2.596660348986e-01 2.644801519840e-01 -2.692426118077e-01 2.739525183019e-01 2.786089876924e-01 2.832111487005e-01 -2.877581427417e-01 2.922491241217e-01 2.966832602285e-01 3.010597317214e-01 -3.053777327167e-01 3.096364709698e-01 3.138351680540e-01 3.179730595357e-01 -3.220493951456e-01 3.260634389475e-01 3.300144695019e-01 3.339017800270e-01 -3.377246785558e-01 3.414824880886e-01 3.451745467432e-01 3.488002078998e-01 -3.523588403430e-01 3.558498283991e-01 3.592725720702e-01 3.626264871641e-01 -3.659110054194e-01 3.691255746281e-01 3.722696587527e-01 3.753427380397e-01 -3.783443091295e-01 3.812738851612e-01 3.841309958739e-01 3.869151877036e-01 -3.896260238760e-01 3.922630844945e-01 3.948259666247e-01 3.973142843742e-01 -3.997276689683e-01 4.020657688210e-01 4.043282496018e-01 4.065147942988e-01 -4.086251032763e-01 4.106588943291e-01 4.126159027315e-01 4.144958812827e-01 -4.162986003470e-01 4.180238478906e-01 4.196714295127e-01 4.212411684736e-01 -4.227329057167e-01 4.241464998881e-01 4.254818273497e-01 4.267387821894e-01 -4.279172762261e-01 4.290172390104e-01 4.300386178210e-01 4.309813776567e-01 -4.318455012237e-01 4.326309889187e-01 4.333378588077e-01 4.339661466002e-01 -4.345159056188e-01 4.349872067653e-01 4.353801384813e-01 4.356948067050e-01 -4.359313348240e-01 4.360898636233e-01 4.361705512287e-01 4.361735730472e-01 -4.360991217012e-01 4.359474069605e-01 4.357186556685e-01 4.354131116650e-01 -4.350310357045e-01 4.345727053707e-01 4.340384149863e-01 4.334284755195e-01 -4.327432144854e-01 4.319829758443e-01 4.311481198955e-01 4.302390231672e-01 -4.292560783023e-01 4.281996939408e-01 4.270702945978e-01 4.258683205377e-01 -4.245942276447e-01 4.232484872898e-01 4.218315861934e-01 4.203440262848e-01 -4.187863245581e-01 4.171590129235e-01 4.154626380564e-01 4.136977612420e-01 -4.118649582169e-01 4.099648190067e-01 4.079979477610e-01 4.059649625843e-01 -4.038664953643e-01 4.017031915961e-01 3.994757102038e-01 3.971847233590e-01 -3.948309162959e-01 3.924149871231e-01 3.899376466332e-01 3.873996181087e-01 -3.848016371254e-01 3.821444513525e-01 3.794288203509e-01 3.766555153674e-01 -3.738253191273e-01 3.709390256240e-01 3.679974399062e-01 3.650013778619e-01 -3.619516660012e-01 3.588491412354e-01 3.556946506550e-01 3.524890513043e-01 -3.492332099545e-01 3.459280028748e-01 3.425743156007e-01 3.391730427008e-01 -3.357250875417e-01 3.322313620507e-01 3.286927864770e-01 3.251102891507e-01 -3.214848062405e-01 3.178172815100e-01 3.141086660715e-01 3.103599181392e-01 -3.065720027808e-01 3.027458916671e-01 2.988825628215e-01 2.949830003670e-01 -2.910481942728e-01 2.870791400995e-01 2.830768387438e-01 2.790422961814e-01 -2.749765232094e-01 2.708805351884e-01 2.667553517828e-01 2.626019967016e-01 -2.584214974372e-01 2.542148850054e-01 2.499831936829e-01 2.457274607465e-01 -2.414487262099e-01 2.371480325622e-01 2.328264245044e-01 2.284849486875e-01 -2.241246534486e-01 2.197465885493e-01 2.153518049117e-01 2.109413543570e-01 -2.065162893421e-01 2.020776626981e-01 1.976265273686e-01 1.931639361477e-01 -1.886909414203e-01 1.842085949006e-01 1.797179473734e-01 1.752200484348e-01 -1.707159462339e-01 1.662066872156e-01 1.616933158642e-01 1.571768744477e-01 -1.526584027636e-01 1.481389378853e-01 1.436195139099e-01 1.391011617074e-01 -1.345849086707e-01 1.300717784677e-01 1.255627907937e-01 1.210589611267e-01 -1.165613004829e-01 1.120708151746e-01 1.075885065698e-01 1.031153708529e-01 -9.865239878758e-02 9.420057548197e-02 8.976088015483e-02 8.533428590431e-02 -8.092175947859e-02 7.652426104855e-02 7.214274398262e-02 6.777815462382e-02 -6.343143206906e-02 5.910350795073e-02 5.479530622064e-02 5.050774293645e-02 -4.624172605044e-02 4.199815520094e-02 3.777792150620e-02 3.358190736100e-02 -2.941098623583e-02 2.526602247890e-02 2.114787112076e-02 1.705737768195e-02 -1.299537798329e-02 8.962697959276e-03 4.960153474277e-03 9.885501418266e-04 --2.951316853084e-03 -6.858662928623e-03 -1.073271427760e-02 -1.457270803581e-02 --1.837789244712e-02 -2.214752702537e-02 -2.588088271296e-02 -2.957724203610e-02 --3.323589925677e-02 -3.685616052122e-02 -4.043734400507e-02 -4.397878005499e-02 --4.747981132682e-02 -5.093979292026e-02 -5.435809250992e-02 -5.773409047285e-02 --6.106718001243e-02 -6.435676727870e-02 -6.760227148491e-02 -7.080312502047e-02 --7.395877356020e-02 -7.706867616980e-02 -8.013230540758e-02 -8.314914742247e-02 --8.611870204815e-02 -8.904048289344e-02 -9.191401742883e-02 -9.473884706918e-02 --9.751452725254e-02 -1.002406275151e-01 -1.029167315623e-01 -1.055424373360e-01 --1.081173570775e-01 -1.106411173875e-01 -1.131133592807e-01 -1.155337382378e-01 --1.179019242531e-01 -1.202176018776e-01 -1.224804702591e-01 -1.246902431776e-01 --1.268466490771e-01 -1.289494310933e-01 -1.309983470776e-01 -1.329931696165e-01 --1.349336860480e-01 -1.368196984730e-01 -1.386510237637e-01 -1.404274935675e-01 --1.421489543068e-01 -1.438152671755e-01 -1.454263081311e-01 -1.469819678830e-01 --1.484821518772e-01 -1.499267802761e-01 -1.513157879361e-01 -1.526491243796e-01 --1.539267537644e-01 -1.551486548486e-01 -1.563148209519e-01 -1.574252599131e-01 --1.584799940440e-01 -1.594790600789e-01 -1.604225091215e-01 -1.613104065866e-01 --1.621428321394e-01 -1.629198796306e-01 -1.636416570279e-01 -1.643082863435e-01 --1.649199035588e-01 -1.654766585451e-01 -1.659787149804e-01 -1.664262502634e-01 --1.668194554238e-01 -1.671585350286e-01 -1.674437070858e-01 -1.676752029444e-01 --1.678532671906e-01 -1.679781575418e-01 -1.680501447358e-01 -1.680695124184e-01 --1.680365570265e-01 -1.679515876685e-01 -1.678149260022e-01 -1.676269061082e-01 --1.673878743619e-01 -1.670981893012e-01 -1.667582214918e-01 -1.663683533897e-01 --1.659289792006e-01 -1.654405047364e-01 -1.649033472693e-01 -1.643179353826e-01 --1.636847088194e-01 -1.630041183284e-01 -1.622766255068e-01 -1.615027026413e-01 --1.606828325460e-01 -1.598175083983e-01 -1.589072335721e-01 -1.579525214688e-01 --1.569538953461e-01 -1.559118881443e-01 -1.548270423105e-01 -1.536999096209e-01 --1.525310510007e-01 -1.513210363424e-01 -1.500704443212e-01 -1.487798622099e-01 --1.474498856905e-01 -1.460811186652e-01 -1.446741730647e-01 -1.432296686553e-01 --1.417482328444e-01 -1.402305004843e-01 -1.386771136742e-01 -1.370887215615e-01 --1.354659801405e-01 -1.338095520513e-01 -1.321201063757e-01 -1.303983184336e-01 --1.286448695767e-01 -1.268604469820e-01 -1.250457434442e-01 -1.232014571667e-01 --1.213282915519e-01 -1.194269549906e-01 -1.174981606509e-01 -1.155426262657e-01 --1.135610739201e-01 -1.115542298380e-01 -1.095228241678e-01 -1.074675907683e-01 --1.053892669932e-01 -1.032885934764e-01 -1.011663139158e-01 -9.902317485756e-02 --9.685992548010e-02 -9.467731737761e-02 -9.247610434384e-02 -9.025704215565e-02 --8.802088835674e-02 -8.576840204139e-02 -8.350034363841e-02 -8.121747469527e-02 --7.892055766257e-02 -7.661035567879e-02 -7.428763235551e-02 -7.195315156299e-02 --6.960767721639e-02 -6.725197306245e-02 -6.488680246692e-02 -6.251292820257e-02 --6.013111223805e-02 -5.774211552749e-02 -5.534669780101e-02 -5.294561735614e-02 --5.053963085020e-02 -4.812949309377e-02 -4.571595684517e-02 -4.329977260615e-02 --4.088168841881e-02 -3.846244966364e-02 -3.604279885905e-02 -3.362347546212e-02 --3.120521567084e-02 -2.878875222779e-02 -2.637481422536e-02 -2.396412691254e-02 --2.155741150330e-02 -1.915538498668e-02 -1.675875993862e-02 -1.436824433548e-02 --1.198454136947e-02 -9.608349265921e-03 -7.240361102419e-03 -4.881264629992e-03 --2.531742096235e-03 -1.924700705176e-04 2.135880728715e-03 4.452645604499e-03 -6.757166049726e-03 9.048789913281e-03 1.132687156392e-02 1.359077205184e-02 -1.583985926787e-02 1.807350810032e-02 2.029110058933e-02 2.249202607883e-02 -2.467568136597e-02 2.684147084793e-02 2.898880666628e-02 3.111710884866e-02 -3.322580544777e-02 3.531433267779e-02 3.738213504801e-02 3.942866549371e-02 -4.145338550431e-02 4.345576524869e-02 4.543528369771e-02 4.739142874380e-02 -4.932369731770e-02 5.123159550235e-02 5.311463864369e-02 5.497235145865e-02 -5.680426814004e-02 5.860993245852e-02 6.038889786141e-02 6.214072756859e-02 -6.386499466524e-02 6.556128219149e-02 6.722918322899e-02 6.886830098432e-02 -7.047824886926e-02 7.205865057793e-02 7.360914016073e-02 7.512936209506e-02 -7.661897135291e-02 7.807763346516e-02 7.950502458272e-02 8.090083153442e-02 -8.226475188160e-02 8.359649396955e-02 8.489577697561e-02 8.616233095403e-02 -8.739589687760e-02 8.859622667597e-02 8.976308327066e-02 9.089624060691e-02 -9.199548368210e-02 9.306060857102e-02 9.409142244780e-02 9.508774360455e-02 -9.604940146679e-02 9.697623660553e-02 9.786810074617e-02 9.872485677404e-02 -9.954637873680e-02 1.003325518435e-01 1.010832724605e-01 1.017984481038e-01 -1.024779974292e-01 1.031218502174e-01 1.037299473580e-01 1.043022408287e-01 -1.048386936725e-01 1.053392799704e-01 1.058039848127e-01 1.062328042653e-01 -1.066257453348e-01 1.069828259286e-01 1.073040748135e-01 1.075895315703e-01 -1.078392465461e-01 1.080532808026e-01 1.082317060623e-01 1.083746046517e-01 -1.084820694408e-01 1.085542037805e-01 1.085911214368e-01 1.085929465218e-01 -1.085598134227e-01 1.084918667272e-01 1.083892611464e-01 1.082521614352e-01 -1.080807423093e-01 1.078751883606e-01 1.076356939687e-01 1.073624632107e-01 -1.070557097679e-01 1.067156568306e-01 1.063425369993e-01 1.059365921843e-01 -1.054980735025e-01 1.050272411721e-01 1.045243644044e-01 1.039897212934e-01 -1.034235987037e-01 1.028262921553e-01 1.021981057065e-01 1.015393518350e-01 -1.008503513160e-01 1.001314330992e-01 9.938293418293e-02 9.860519948654e-02 -9.779858172102e-02 9.696344125737e-02 9.610014599323e-02 9.520907121766e-02 -9.429059947404e-02 9.334512042133e-02 9.237303069346e-02 9.137473375723e-02 -9.035063976843e-02 8.930116542647e-02 8.822673382747e-02 8.712777431584e-02 -8.600472233443e-02 8.485801927336e-02 8.368811231739e-02 8.249545429210e-02 -8.128050350877e-02 8.004372360812e-02 7.878558340283e-02 7.750655671905e-02 -7.620712223680e-02 7.488776332941e-02 7.354896790198e-02 7.219122822898e-02 -7.081504079101e-02 6.942090611072e-02 6.800932858799e-02 6.658081633451e-02 -6.513588100758e-02 6.367503764340e-02 6.219880448981e-02 6.070770283852e-02 -5.920225685694e-02 5.768299341955e-02 5.615044193901e-02 5.460513419693e-02 -5.304760417444e-02 5.147838788255e-02 4.989802319239e-02 4.830704966538e-02 -4.670600838332e-02 4.509544177855e-02 4.347589346415e-02 4.184790806431e-02 -4.021203104476e-02 3.856880854353e-02 3.691878720195e-02 3.526251399594e-02 -3.360053606767e-02 3.193340055767e-02 3.026165443743e-02 2.858584434239e-02 -2.690651640569e-02 2.522421609232e-02 2.353948803412e-02 2.185287586535e-02 -2.016492205910e-02 1.847616776446e-02 1.678715264456e-02 1.509841471550e-02 -1.341049018621e-02 1.172391329930e-02 1.003921617299e-02 8.356928644037e-03 -6.677578111852e-03 5.001689383741e-03 3.329784521373e-03 1.662382688506e-03 --1.014198008344e-14 -1.656850627876e-03 -3.307659625620e-03 -4.951920917442e-03 --6.589132066615e-03 - Type L N - 0 1 3 -0.000000000000e+00 7.814122690500e-03 1.562566868360e-02 2.343206229337e-02 -3.123072985648e-02 3.901910074235e-02 4.679460836213e-02 5.455469117579e-02 -6.229679369723e-02 7.001836749665e-02 7.771687220002e-02 8.538977648500e-02 -9.303455907313e-02 1.006487097176e-01 1.082297301863e-01 1.157751352398e-01 -1.232824536041e-01 1.307492289365e-01 1.381730207862e-01 1.455514055471e-01 -1.528819774045e-01 1.601623492731e-01 1.673901537278e-01 1.745630439255e-01 -1.816786945189e-01 1.887348025602e-01 1.957290883961e-01 2.026592965522e-01 -2.095231966074e-01 2.163185840577e-01 2.230432811687e-01 2.296951378169e-01 -2.362720323192e-01 2.427718722500e-01 2.491925952466e-01 2.555321698005e-01 -2.617885960372e-01 2.679599064811e-01 2.740441668073e-01 2.800394765795e-01 -2.859439699728e-01 2.917558164826e-01 2.974732216175e-01 3.030944275781e-01 -3.086177139192e-01 3.140413981968e-01 3.193638365984e-01 3.245834245575e-01 -3.296985973511e-01 3.347078306804e-01 3.396096412342e-01 3.444025872356e-01 -3.490852689701e-01 3.536563292967e-01 3.581144541406e-01 3.624583729681e-01 -3.666868592425e-01 3.707987308618e-01 3.747928505779e-01 3.786681263961e-01 -3.824235119562e-01 3.860580068944e-01 3.895706571850e-01 3.929605554638e-01 -3.962268413307e-01 3.993687016333e-01 4.023853707308e-01 4.052761307368e-01 -4.080403117436e-01 4.106772920251e-01 4.131864982204e-01 4.155674054966e-01 -4.178195376915e-01 4.199424674358e-01 4.219358162554e-01 4.237992546526e-01 -4.255325021671e-01 4.271353274170e-01 4.286075481190e-01 4.299490310879e-01 -4.311596922160e-01 4.322394964326e-01 4.331884576420e-01 4.340066386425e-01 -4.346941510237e-01 4.352511550455e-01 4.356778594951e-01 4.359745215251e-01 -4.361414464714e-01 4.361789876513e-01 4.360875461417e-01 4.358675705376e-01 -4.355195566920e-01 4.350440474349e-01 4.344416322746e-01 4.337129470789e-01 -4.328586737381e-01 4.318795398086e-01 4.307763181386e-01 4.295498264749e-01 -4.282009270517e-01 4.267305261617e-01 4.251395737088e-01 4.234290627438e-01 -4.216000289823e-01 4.196535503061e-01 4.175907462470e-01 4.154127774542e-01 -4.131208451458e-01 4.107161905434e-01 4.082000942915e-01 4.055738758607e-01 -4.028388929362e-01 3.999965407908e-01 3.970482516432e-01 3.939954940025e-01 -3.908397719974e-01 3.875826246927e-01 3.842256253917e-01 3.807703809252e-01 -3.772185309284e-01 3.735717471047e-01 3.698317324772e-01 3.660002206286e-01 -3.620789749300e-01 3.580697877574e-01 3.539744796986e-01 3.497948987490e-01 -3.455329194973e-01 3.411904423020e-01 3.367693924580e-01 3.322717193544e-01 -3.276993956239e-01 3.230544162842e-01 3.183387978704e-01 3.135545775621e-01 -3.087038123009e-01 3.037885779036e-01 2.988109681678e-01 2.937730939718e-01 -2.886770823698e-01 2.835250756809e-01 2.783192305746e-01 2.730617171515e-01 -2.677547180202e-01 2.624004273707e-01 2.570010500456e-01 2.515588006072e-01 -2.460759024041e-01 2.405545866350e-01 2.349970914112e-01 2.294056608186e-01 -2.237825439790e-01 2.181299941111e-01 2.124502675921e-01 2.067456230196e-01 -2.010183202750e-01 1.952706195884e-01 1.895047806052e-01 1.837230614551e-01 -1.779277178241e-01 1.721210020292e-01 1.663051620971e-01 1.604824408467e-01 -1.546550749755e-01 1.488252941514e-01 1.429953201094e-01 1.371673657534e-01 -1.313436342646e-01 1.255263182154e-01 1.197175986908e-01 1.139196444159e-01 -1.081346108919e-01 1.023646395384e-01 9.661185684528e-02 9.087837353237e-02 -8.516628371778e-02 7.947766409582e-02 7.381457312425e-02 6.817905022147e-02 -6.257311497382e-02 5.699876635353e-02 5.145798194744e-02 4.595271719691e-02 -4.048490464928e-02 3.505645322102e-02 2.966924747309e-02 2.432514689860e-02 -1.902598522323e-02 1.377356971852e-02 8.569680528524e-03 3.416070009878e-03 --1.685537914316e-03 -6.733448386569e-03 -1.172599623281e-02 -1.666154656564e-02 --2.153849537289e-02 -2.635527009107e-02 -3.111033016370e-02 -3.580216758418e-02 --4.042930742302e-02 -4.499030833920e-02 -4.948376307554e-02 -5.390829893788e-02 --5.826257825777e-02 -6.254529883867e-02 -6.675519438543e-02 -7.089103491686e-02 --7.495162716128e-02 -7.893581493492e-02 -8.284247950303e-02 -8.667053992355e-02 --9.041895337328e-02 -9.408671545643e-02 -9.767286049539e-02 -1.011764618037e-01 --1.045966319412e-01 -1.079325229511e-01 -1.111833265790e-01 -1.143482744738e-01 --1.174266383711e-01 -1.204177302569e-01 -1.233209025149e-01 -1.261355480545e-01 --1.288611004204e-01 -1.314970338849e-01 -1.340428635211e-01 -1.364981452580e-01 --1.388624759179e-01 -1.411354932352e-01 -1.433168758566e-01 -1.454063433243e-01 --1.474036560402e-01 -1.493086152126e-01 -1.511210627846e-01 -1.528408813451e-01 --1.544679940216e-01 -1.560023643555e-01 -1.574439961601e-01 -1.587929333606e-01 --1.600492598173e-01 -1.612130991309e-01 -1.622846144317e-01 -1.632640081506e-01 --1.641515217746e-01 -1.649474355844e-01 -1.656520683768e-01 -1.662657771693e-01 --1.667889568901e-01 -1.672220400507e-01 -1.675654964039e-01 -1.678198325857e-01 --1.679855917413e-01 -1.680633531372e-01 -1.680537317574e-01 -1.679573778846e-01 --1.677749766682e-01 -1.675072476768e-01 -1.671549444372e-01 -1.667188539595e-01 --1.661997962490e-01 -1.655986238042e-01 -1.649162211023e-01 -1.641535040722e-01 --1.633114195542e-01 -1.623909447482e-01 -1.613930866501e-01 -1.603188814758e-01 --1.591693940749e-01 -1.579457173330e-01 -1.566489715627e-01 -1.552803038852e-01 --1.538408876014e-01 -1.523319215527e-01 -1.507546294736e-01 -1.491102593337e-01 --1.474000826723e-01 -1.456253939232e-01 -1.437875097328e-01 -1.418877682690e-01 --1.399275285239e-01 -1.379081696080e-01 -1.358310900394e-01 -1.336977070249e-01 --1.315094557360e-01 -1.292677885787e-01 -1.269741744584e-01 -1.246300980397e-01 --1.222370590006e-01 -1.197965712841e-01 -1.173101623444e-01 -1.147793723900e-01 --1.122057536239e-01 -1.095908694807e-01 -1.069362938606e-01 -1.042436103626e-01 --1.015144115146e-01 -9.875029800281e-02 -9.595287790002e-02 -9.312376589286e-02 --9.026458250914e-02 -8.737695334494e-02 -8.446250829219e-02 -8.152288076701e-02 --7.855970693909e-02 -7.557462496255e-02 -7.256927420864e-02 -6.954529450057e-02 --6.650432535085e-02 -6.344800520151e-02 -6.037797066753e-02 -5.729585578377e-02 --5.420329125584e-02 -5.110190371520e-02 -4.799331497879e-02 -4.487914131359e-02 --4.176099270636e-02 -3.864047213898e-02 -3.551917486967e-02 -3.239868772032e-02 --2.928058837044e-02 -2.616644465787e-02 -2.305781388658e-02 -1.995624214201e-02 --1.686326361402e-02 -1.378039992797e-02 -1.070915948401e-02 -7.651036805057e-03 --4.607511893629e-03 -1.580049597793e-03 1.429901013411e-03 4.420907264870e-03 -7.391553480355e-03 1.034044157725e-02 1.326619165087e-02 1.616744254798e-02 -1.904285242952e-02 2.189109932205e-02 2.471088165778e-02 2.750091880313e-02 -3.025995157528e-02 3.298674274679e-02 3.568007753797e-02 3.833876409675e-02 -4.096163396600e-02 4.354754253802e-02 4.609536949598e-02 4.860401924232e-02 -5.107242131375e-02 5.349953078282e-02 5.588432864579e-02 5.822582219690e-02 -6.052304538854e-02 6.277505917758e-02 6.498095185738e-02 6.713983937571e-02 -6.925086563815e-02 7.131320279710e-02 7.332605152623e-02 7.528864128027e-02 -7.720023054004e-02 7.906010704276e-02 8.086758799741e-02 8.262202028525e-02 -8.432278064535e-02 8.596927584507e-02 8.756094283558e-02 8.909724889224e-02 -9.057769173993e-02 9.200179966323e-02 9.336913160161e-02 9.467927722934e-02 -9.593185702046e-02 9.712652229861e-02 9.826295527175e-02 9.934086905198e-02 -1.003600076603e-01 1.013201460162e-01 1.022210899131e-01 1.030626759780e-01 -1.038447716168e-01 1.045672749454e-01 1.052301147051e-01 1.058332501648e-01 -1.063766710073e-01 1.068603972029e-01 1.072844788672e-01 1.076489961059e-01 -1.079540588450e-01 1.081998066476e-01 1.083864085166e-01 1.085140626839e-01 -1.085829963862e-01 1.085934656274e-01 1.085457549284e-01 1.084401770627e-01 -1.082770727808e-01 1.080568105204e-01 1.077797861056e-01 1.074464224324e-01 -1.070571691435e-01 1.066125022902e-01 1.061129239830e-01 1.055589620309e-01 -1.049511695693e-01 1.042901246767e-01 1.035764299807e-01 1.028107122536e-01 -1.019936219975e-01 1.011258330189e-01 1.002080419942e-01 9.924096802516e-02 -9.822535218442e-02 9.716195705293e-02 9.605156624776e-02 9.489498394150e-02 -9.369303437333e-02 9.244656135192e-02 9.115642775059e-02 8.982351499480e-02 -8.844872254249e-02 8.703296735729e-02 8.557718337514e-02 8.408232096433e-02 -8.254934637952e-02 8.097924120983e-02 7.937300182131e-02 7.773163879423e-02 -7.605617635534e-02 7.434765180535e-02 7.260711494217e-02 7.083562747990e-02 -6.903426246414e-02 6.720410368368e-02 6.534624507912e-02 6.346179014847e-02 -6.155185135024e-02 5.961754950420e-02 5.766001319015e-02 5.568037814500e-02 -5.367978665851e-02 5.165938696787e-02 4.962033265158e-02 4.756378202279e-02 -4.549089752252e-02 4.340284511298e-02 4.130079367130e-02 3.918591438401e-02 -3.705938014256e-02 3.492236494010e-02 3.277604326993e-02 3.062158952582e-02 -2.846017740458e-02 2.629297931104e-02 2.412116576589e-02 2.194590481650e-02 -1.976836145117e-02 1.758969701691e-02 1.541106864123e-02 1.323362865800e-02 -1.105852403783e-02 8.886895823170e-03 6.719878568353e-03 4.558599784920e-03 -2.404179392452e-03 2.577291751564e-04 -1.879647755516e-03 -4.006857491995e-03 --6.122815855197e-03 -8.226448912379e-03 -1.031669348800e-02 -1.239249766736e-02 --1.445282129278e-02 -1.649663645210e-02 -1.852292795931e-02 -2.053069382701e-02 --2.251894573059e-02 -2.448670946386e-02 -2.643302538598e-02 -2.835694885939e-02 --3.025755067870e-02 -3.213391749020e-02 -3.398515220194e-02 -3.581037438412e-02 --3.760872065965e-02 -3.937934508470e-02 -4.112141951907e-02 -4.283413398634e-02 --4.451669702342e-02 -4.616833601959e-02 -4.778829754478e-02 -4.937584766694e-02 --5.093027225844e-02 -5.245087729134e-02 -5.393698912143e-02 -5.538795476092e-02 --5.680314213965e-02 -5.818194035487e-02 -5.952375990923e-02 -6.082803293718e-02 --6.209421341953e-02 -6.332177738611e-02 -6.451022310658e-02 -6.565907126920e-02 --6.676786514750e-02 -6.783617075500e-02 -6.886357698766e-02 -6.984969575424e-02 --7.079416209445e-02 -7.169663428484e-02 -7.255679393255e-02 -7.337434605673e-02 --7.414901915772e-02 -7.488056527406e-02 -7.556876002718e-02 -7.621340265389e-02 --7.681431602672e-02 -7.737134666202e-02 -7.788436471594e-02 -7.835326396837e-02 --7.877796179470e-02 -7.915839912568e-02 -7.949454039533e-02 -7.978637347687e-02 --8.003390960693e-02 -8.023718329801e-02 -8.039625223919e-02 -8.051119718538e-02 --8.058212183500e-02 -8.060915269633e-02 -8.059243894251e-02 -8.053215225545e-02 --8.042848665856e-02 -8.028165833868e-02 -8.009190545703e-02 -7.985948794959e-02 --7.958468731689e-02 -7.926780640330e-02 -7.890916916617e-02 -7.850912043475e-02 --7.806802565919e-02 -7.758627064966e-02 -7.706426130588e-02 -7.650242333713e-02 --7.590120197298e-02 -7.526106166478e-02 -7.458248577834e-02 -7.386597627771e-02 --7.311205340040e-02 -7.232125532426e-02 -7.149413782610e-02 -7.063127393228e-02 --6.973325356161e-02 -6.880068316052e-02 -6.783418533096e-02 -6.683439845105e-02 --6.580197628881e-02 -6.473758760914e-02 -6.364191577426e-02 -6.251565833792e-02 --6.135952663348e-02 -6.017424535615e-02 -5.896055213969e-02 -5.771919712767e-02 --5.645094253960e-02 -5.515656223220e-02 -5.383684125599e-02 -5.249257540744e-02 --5.112457077695e-02 -4.973364329296e-02 -4.832061826225e-02 -4.688632990695e-02 --4.543162089824e-02 -4.395734188717e-02 -4.246435103276e-02 -4.095351352768e-02 --3.942570112175e-02 -3.788179164343e-02 -3.632266851973e-02 -3.474922029462e-02 --3.316234014624e-02 -3.156292540326e-02 -2.995187706046e-02 -2.833009929399e-02 --2.669849897633e-02 -2.505798519148e-02 -2.340946875033e-02 -2.175386170669e-02 --2.009207687410e-02 -1.842502734374e-02 -1.675362600365e-02 -1.507878505949e-02 --1.340141555709e-02 -1.172242690711e-02 -1.004272641190e-02 -8.363218794972e-03 --6.684805733115e-03 -5.008385391616e-03 -3.334851962633e-03 -1.665095207049e-03 -5.494061742638e-15 1.659554119718e-03 3.312693396035e-03 4.958550297758e-03 -6.596263956071e-03 - Type L N - 0 1 4 -0.000000000000e+00 9.566298184903e-03 1.912786846262e-02 2.867998570765e-02 -3.821793035619e-02 4.773699118245e-02 5.723246806976e-02 6.669967477440e-02 -7.613394168073e-02 8.553061854550e-02 9.488507722985e-02 1.041927144171e-01 -1.134489543148e-01 1.226492513388e-01 1.317890927784e-01 1.408640014402e-01 -1.498695382692e-01 1.588013049459e-01 1.676549464565e-01 1.764261536362e-01 -1.851106656831e-01 1.937042726403e-01 2.022028178469e-01 2.106022003537e-01 -2.188983773037e-01 2.270873662761e-01 2.351652475906e-01 2.431281665722e-01 -2.509723357752e-01 2.586940371625e-01 2.662896242426e-01 2.737555241599e-01 -2.810882397377e-01 2.882843514741e-01 2.953405194877e-01 3.022534854126e-01 -3.090200742414e-01 3.156371961159e-01 3.221018480627e-01 3.284111156742e-01 -3.345621747332e-01 3.405522927796e-01 3.463788306200e-01 3.520392437773e-01 -3.575310838804e-01 3.628519999927e-01 3.679997398800e-01 3.729721512143e-01 -3.777671827158e-01 3.823828852303e-01 3.868174127419e-01 3.910690233214e-01 -3.951360800081e-01 3.990170516260e-01 4.027105135334e-01 4.062151483048e-01 -4.095297463462e-01 4.126532064420e-01 4.155845362341e-01 4.183228526327e-01 -4.208673821585e-01 4.232174612166e-01 4.253725363010e-01 4.273321641310e-01 -4.290960117185e-01 4.306638563663e-01 4.320355855979e-01 4.332111970191e-01 -4.341907981105e-01 4.349746059520e-01 4.355629468798e-01 4.359562560755e-01 -4.361550770876e-01 4.361600612865e-01 4.359719672530e-01 4.355916601007e-01 -4.350201107332e-01 4.342583950360e-01 4.333076930044e-01 4.321692878079e-01 -4.308445647915e-01 4.293350104145e-01 4.276422111287e-01 4.257678521951e-01 -4.237137164414e-01 4.214816829602e-01 4.190737257501e-01 4.164919122987e-01 -4.137384021101e-01 4.108154451784e-01 4.077253804055e-01 4.044706339677e-01 -4.010537176303e-01 3.974772270111e-01 3.937438397957e-01 3.898563139041e-01 -3.858174856110e-01 3.816302676203e-01 3.772976470959e-01 3.728226836497e-01 -3.682085072877e-01 3.634583163171e-01 3.585753752142e-01 3.535630124553e-01 -3.484246183124e-01 3.431636426144e-01 3.377835924758e-01 3.322880299949e-01 -3.266805699217e-01 3.209648772982e-01 3.151446650732e-01 3.092236916908e-01 -3.032057586576e-01 2.970947080870e-01 2.908944202243e-01 2.846088109542e-01 -2.782418292907e-01 2.717974548527e-01 2.652796953271e-01 2.586925839194e-01 -2.520401767950e-01 2.453265505129e-01 2.385557994521e-01 2.317320332342e-01 -2.248593741423e-01 2.179419545395e-01 2.109839142871e-01 2.039893981648e-01 -1.969625532959e-01 1.899075265763e-01 1.828284621119e-01 1.757294986646e-01 -1.686147671085e-01 1.614883878982e-01 1.543544685513e-01 1.472171011461e-01 -1.400803598361e-01 1.329482983835e-01 1.258249477125e-01 1.187143134847e-01 -1.116203736975e-01 1.045470763076e-01 9.749833688091e-02 9.047803626969e-02 -8.349001831981e-02 7.653808760819e-02 6.962600721258e-02 6.275749651498e-02 -5.593622903979e-02 4.916583032846e-02 4.244987585155e-02 3.579188895980e-02 -2.919533887523e-02 2.266363872368e-02 1.620014360995e-02 9.808148736539e-03 -3.490887567426e-03 -2.748469962288e-03 -8.906819189644e-03 -1.498112241901e-02 --2.096841056821e-02 -2.686578476455e-02 -3.267041788992e-02 -3.837955607400e-02 --4.399052013474e-02 -4.950070696528e-02 -5.490759086660e-02 -6.020872482503e-02 --6.540174173404e-02 -7.048435555960e-02 -7.545436244846e-02 -8.030964177882e-02 --8.504815715278e-02 -8.966795733019e-02 -9.416717710327e-02 -9.854403811174e-02 --1.027968495980e-01 -1.069240091019e-01 -1.109240030955e-01 -1.147954075558e-01 --1.185368884781e-01 -1.221472023268e-01 -1.256251964254e-01 -1.289698092854e-01 --1.321800708730e-01 -1.352551028153e-01 -1.381941185442e-01 -1.409964233795e-01 --1.436614145509e-01 -1.461885811587e-01 -1.485775040737e-01 -1.508278557766e-01 --1.529394001376e-01 -1.549119921350e-01 -1.567455775156e-01 -1.584401923947e-01 --1.599959627980e-01 -1.614131041459e-01 -1.626919206784e-01 -1.638328048251e-01 --1.648362365168e-01 -1.657027824425e-01 -1.664330952505e-01 -1.670279126954e-01 --1.674880567315e-01 -1.678144325526e-01 -1.680080275809e-01 -1.680699104034e-01 --1.680012296587e-01 -1.678032128742e-01 -1.674771652549e-01 -1.670244684244e-01 --1.664465791196e-01 -1.657450278406e-01 -1.649214174546e-01 -1.639774217584e-01 --1.629147839977e-01 -1.617353153453e-01 -1.604408933404e-01 -1.590334602880e-01 --1.575150216224e-01 -1.558876442330e-01 -1.541534547566e-01 -1.523146378354e-01 --1.503734343426e-01 -1.483321395777e-01 -1.461931014316e-01 -1.439587185236e-01 --1.416314383123e-01 -1.392137551793e-01 -1.367082084909e-01 -1.341173806359e-01 --1.314438950423e-01 -1.286904141746e-01 -1.258596375129e-01 -1.229542995144e-01 --1.199771675604e-01 -1.169310398889e-01 -1.138187435147e-01 -1.106431321393e-01 --1.074070840500e-01 -1.041135000127e-01 -1.007653011565e-01 -9.736542685513e-02 --9.391683260303e-02 -9.042248789093e-02 -8.688537408014e-02 -8.330848227797e-02 --7.969481121567e-02 -7.604736513015e-02 -7.236915165120e-02 -6.866317969545e-02 --6.493245736860e-02 -6.117998987743e-02 -5.740877745286e-02 -5.362181328560e-02 --4.982208147572e-02 -4.601255499754e-02 -4.219619368123e-02 -3.837594221246e-02 --3.455472815141e-02 -3.073545997251e-02 -2.692102512614e-02 -2.311428812369e-02 --1.931808864708e-02 -1.553523968410e-02 -1.176852569077e-02 -8.020700781853e-03 --4.294486950730e-03 -5.925723198338e-04 3.082390577347e-03 6.727786481505e-03 -1.034103905898e-02 1.391961251838e-02 1.746101319137e-02 2.096279107660e-02 -2.442254134593e-02 2.783790581184e-02 3.120657435532e-02 3.452628631329e-02 -3.779483182466e-02 4.101005313436e-02 4.416984585451e-02 4.727216018190e-02 -5.031500207134e-02 5.329643436387e-02 5.621457786948e-02 5.906761240362e-02 -6.185377777692e-02 6.457137473767e-02 6.721876586647e-02 6.979437642272e-02 -7.229669514237e-02 7.472427498670e-02 7.707573384170e-02 7.934975516771e-02 -8.154508859916e-02 8.366055049403e-02 8.569502443295e-02 8.764746166772e-02 -8.951688151909e-02 9.130237172376e-02 9.300308873062e-02 9.461825794594e-02 -9.614717392794e-02 9.758920053040e-02 9.894377099563e-02 1.002103879969e-01 -1.013886236305e-01 1.024781193575e-01 1.034785858955e-01 1.043898030609e-01 -1.052116195617e-01 1.059439527411e-01 1.065867882727e-01 1.071401798072e-01 -1.076042485711e-01 1.079791829190e-01 1.082652378377e-01 1.084627344050e-01 -1.085720592028e-01 1.085936636840e-01 1.085280634965e-01 1.083758377621e-01 -1.081376283127e-01 1.078141388845e-01 1.074061342699e-01 1.069144394291e-01 -1.063399385610e-01 1.056835741356e-01 1.049463458876e-01 1.041293097723e-01 -1.032335768856e-01 1.022603123479e-01 1.012107341531e-01 1.000861119842e-01 -9.888776599662e-02 9.761706556868e-02 9.627542802251e-02 9.486431731473e-02 -9.338524269884e-02 9.183975736014e-02 9.022945702425e-02 8.855597854051e-02 -8.682099844128e-02 8.502623147829e-02 8.317342913729e-02 8.126437813212e-02 -7.930089887935e-02 7.728484395482e-02 7.521809653307e-02 7.310256881118e-02 -7.094020041790e-02 6.873295680958e-02 6.648282765399e-02 6.419182520331e-02 -6.186198265754e-02 5.949535251952e-02 5.709400494294e-02 5.466002607442e-02 -5.219551639106e-02 4.970258903460e-02 4.718336814347e-02 4.463998718407e-02 -4.207458728231e-02 3.948931555689e-02 3.688632345530e-02 3.426776509407e-02 -3.163579560413e-02 2.899256948279e-02 2.634023895338e-02 2.368095233377e-02 -2.101685241502e-02 1.835007485117e-02 1.568274656153e-02 1.301698414641e-02 -1.035489231759e-02 7.698562344555e-03 5.050070517548e-03 2.411476628665e-03 --2.151775280819e-04 -2.827869636607e-03 -5.424598317503e-03 -8.003384564679e-03 --1.056227315890e-02 -1.309933405728e-02 -1.561266375770e-02 -1.810038663739e-02 --2.056065626453e-02 -2.299165668228e-02 -2.539160366410e-02 -2.775874593974e-02 --3.009136639095e-02 -3.238778321625e-02 -3.464635106392e-02 -3.686546213246e-02 --3.904354723792e-02 -4.117907684734e-02 -4.327056207765e-02 -4.531655565950e-02 --4.731565286529e-02 -4.926649240097e-02 -5.116775726097e-02 -5.301817554583e-02 --5.481652124205e-02 -5.656161496362e-02 -5.825232465496e-02 -5.988756625480e-02 --6.146630432063e-02 -6.298755261344e-02 -6.445037464250e-02 -6.585388416976e-02 --6.719724567388e-02 -6.847967477340e-02 -6.970043860922e-02 -7.085885618590e-02 --7.195429867199e-02 -7.298618965913e-02 -7.395400537984e-02 -7.485727488428e-02 --7.569558017556e-02 -7.646855630406e-02 -7.717589142062e-02 -7.781732678871e-02 --7.839265675589e-02 -7.890172868448e-02 -7.934444284195e-02 -7.972075225095e-02 --8.003066249945e-02 -8.027423151132e-02 -8.045156927739e-02 -8.056283754771e-02 --8.060824948509e-02 -8.058806928051e-02 -8.050261173076e-02 -8.035224177872e-02 --8.013737401696e-02 -7.985847215488e-02 -7.951604845026e-02 -7.911066310550e-02 --7.864292362930e-02 -7.811348416438e-02 -7.752304478185e-02 -7.687235074284e-02 --7.616219172820e-02 -7.539340103691e-02 -7.456685475382e-02 -7.368347088773e-02 --7.274420848031e-02 -7.175006668678e-02 -7.070208382918e-02 -6.960133642298e-02 --6.844893817790e-02 -6.724603897383e-02 -6.599382381271e-02 -6.469351174720e-02 --6.334635478716e-02 -6.195363678477e-02 -6.051667229927e-02 -5.903680544223e-02 --5.751540870432e-02 -5.595388176459e-02 -5.435365028318e-02 -5.271616467847e-02 --5.104289888967e-02 -4.933534912586e-02 -4.759503260246e-02 -4.582348626622e-02 --4.402226550965e-02 -4.219294287602e-02 -4.033710675585e-02 -3.845636007610e-02 --3.655231898285e-02 -3.462661151875e-02 -3.268087629616e-02 -3.071676116695e-02 --2.873592189021e-02 -2.674002079869e-02 -2.473072546512e-02 -2.270970736940e-02 --2.067864056774e-02 -1.863920036469e-02 -1.659306198916e-02 -1.454189927534e-02 --1.248738334968e-02 -1.043118132471e-02 -8.374955000901e-03 -6.320359577409e-03 --4.269042372712e-03 -2.222641556095e-03 -1.827848909305e-04 1.848911509319e-03 -3.870844411453e-03 5.881424678326e-03 7.879078469210e-03 9.862248423814e-03 -1.182939482914e-02 1.377899676827e-02 1.570955325036e-02 1.761958432087e-02 -1.950763215140e-02 2.137226210821e-02 2.321206379883e-02 2.502565209581e-02 -2.681166813713e-02 2.856878030232e-02 3.029568516389e-02 3.199110841311e-02 -3.365380575983e-02 3.528256380540e-02 3.687620088838e-02 3.843356790231e-02 -3.995354908502e-02 4.143506277906e-02 4.287706216257e-02 4.427853595036e-02 -4.563850906446e-02 4.695604327404e-02 4.823023780406e-02 4.946022991235e-02 -5.064519543483e-02 5.178434929852e-02 5.287694600197e-02 5.392228006297e-02 -5.491968643324e-02 5.586854087979e-02 5.676826033303e-02 5.761830320108e-02 -5.841816965056e-02 5.916740185339e-02 5.986558419979e-02 6.051234347725e-02 -6.110734901553e-02 6.165031279764e-02 6.214098953688e-02 6.257917671994e-02 -6.296471461614e-02 6.329748625293e-02 6.357741735781e-02 6.380447626677e-02 -6.397867379938e-02 6.410006310095e-02 6.416873945173e-02 6.418484004354e-02 -6.414854372412e-02 6.406007070949e-02 6.391968226458e-02 6.372768035254e-02 -6.348440725319e-02 6.319024515079e-02 6.284561569178e-02 6.245097951280e-02 -6.200683573945e-02 6.151372145639e-02 6.097221114917e-02 6.038291611833e-02 -5.974648386642e-02 5.906359745837e-02 5.833497485590e-02 5.756136822652e-02 -5.674356322773e-02 5.588237826720e-02 5.497866373929e-02 5.403330123899e-02 -5.304720275355e-02 5.202130983283e-02 5.095659273893e-02 4.985404957584e-02 -4.871470539995e-02 4.753961131201e-02 4.632984353155e-02 4.508650245428e-02 -4.381071169345e-02 4.250361710595e-02 4.116638580389e-02 3.980020515251e-02 -3.840628175531e-02 3.698584042714e-02 3.554012315624e-02 3.407038805589e-02 -3.257790830667e-02 3.106397109021e-02 2.952987651514e-02 2.797693653625e-02 -2.640647386774e-02 2.481982089132e-02 2.321831856014e-02 2.160331529936e-02 -1.997616590430e-02 1.833823043703e-02 1.669087312218e-02 1.503546124304e-02 -1.337336403858e-02 1.170595160250e-02 1.003459378496e-02 8.360659098012e-03 -6.685513625474e-03 5.010519938161e-03 3.337036015286e-03 1.666414172876e-03 -1.228805779297e-14 -1.660868696267e-03 -3.314862936615e-03 -4.960663604753e-03 --6.596962471817e-03 - Type L N - 0 1 5 -0.000000000000e+00 1.131608597450e-02 2.262434588731e-02 3.391696012005e-02 -4.518612193521e-02 5.642404390216e-02 6.762296430584e-02 7.877515353239e-02 -8.987292042600e-02 1.009086186114e-01 1.118746527759e-01 1.227634849063e-01 -1.335676404736e-01 1.442797145617e-01 1.548923779332e-01 1.653983830274e-01 -1.757905698857e-01 1.860618719981e-01 1.962053220662e-01 2.062140576774e-01 -2.160813268855e-01 2.258004936922e-01 2.353650434252e-01 2.447685880078e-01 -2.540048711153e-01 2.630677732140e-01 2.719513164776e-01 2.806496695782e-01 -2.891571523448e-01 2.974682402893e-01 3.055775689917e-01 3.134799383442e-01 -3.211703166482e-01 3.286438445616e-01 3.358958388932e-01 3.429217962401e-01 -3.497173964652e-01 3.562785060130e-01 3.626011810586e-01 3.686816704895e-01 -3.745164187161e-01 3.801020683092e-01 3.854354624625e-01 3.905136472772e-01 -3.953338738681e-01 3.998936002880e-01 4.041904932705e-01 4.082224297880e-01 -4.119874984258e-01 4.154840005689e-01 4.187104514033e-01 4.216655807285e-01 -4.243483335826e-01 4.267578706790e-01 4.288935686542e-01 4.307550201275e-01 -4.323420335719e-01 4.336546329976e-01 4.346930574476e-01 4.354577603067e-01 -4.359494084250e-01 4.361688810566e-01 4.361172686140e-01 4.357958712415e-01 -4.352061972076e-01 4.343499611183e-01 4.332290819538e-01 4.318456809303e-01 -4.302020791890e-01 4.283007953151e-01 4.261445426886e-01 4.237362266710e-01 -4.210789416280e-01 4.181759677951e-01 4.150307679855e-01 4.116469841455e-01 -4.080284337610e-01 4.041791061172e-01 4.001031584169e-01 3.958049117592e-01 -3.912888469852e-01 3.865596003913e-01 3.816219593178e-01 3.764808576141e-01 -3.711413709872e-01 3.656087122358e-01 3.598882263766e-01 3.539853856660e-01 -3.479057845226e-01 3.416551343555e-01 3.352392583024e-01 3.286640858835e-01 -3.219356475761e-01 3.150600693145e-01 3.080435669202e-01 3.008924404692e-01 -2.936130685997e-01 2.862119027669e-01 2.786954614494e-01 2.710703243135e-01 -2.633431263400e-01 2.555205519196e-01 2.476093289215e-01 2.396162227424e-01 -2.315480303388e-01 2.234115742511e-01 2.152136966224e-01 2.069612532192e-01 -1.986611074585e-01 1.903201244474e-01 1.819451650406e-01 1.735430799202e-01 -1.651207037049e-01 1.566848490926e-01 1.482423010418e-01 1.397998109982e-01 -1.313640911704e-01 1.229418088597e-01 1.145395808512e-01 1.061639678681e-01 -9.782146909677e-02 8.951851678618e-02 8.126147092635e-02 7.305661401127e-02 -6.491014589029e-02 5.682817871276e-02 4.881673197012e-02 4.088172764003e-02 -3.302898543646e-02 2.526421816997e-02 1.759302722215e-02 1.002089813804e-02 -2.553196340239e-03 -4.804837031551e-03 -1.204808915229e-02 -1.917157941109e-02 --2.617046317543e-02 -3.304003541677e-02 -3.977573419486e-02 -4.637314399786e-02 --5.282799893548e-02 -5.913618578289e-02 -6.529374687281e-02 -7.129688283372e-02 --7.714195517203e-02 -8.282548869637e-02 -8.834417378226e-02 -9.369486847552e-02 --9.887460043301e-02 -1.038805686994e-01 -1.087101453191e-01 -1.133608767817e-01 --1.178304853011e-01 -1.221168699272e-01 -1.262181074889e-01 -1.301324533702e-01 --1.338583421169e-01 -1.373943878753e-01 -1.407393846628e-01 -1.438923064706e-01 --1.468523071991e-01 -1.496187204267e-01 -1.521910590124e-01 -1.545690145341e-01 --1.567524565627e-01 -1.587414317735e-01 -1.605361628975e-01 -1.621370475121e-01 --1.635446566748e-01 -1.647597334006e-01 -1.657831909859e-01 -1.666161111807e-01 --1.672597422110e-01 -1.677154966549e-01 -1.679849491738e-01 -1.680698341019e-01 --1.679720428978e-01 -1.676936214587e-01 -1.672367673035e-01 -1.666038266246e-01 --1.657972912149e-01 -1.648197952712e-01 -1.636741120781e-01 -1.623631505767e-01 --1.608899518213e-01 -1.592576853276e-01 -1.574696453170e-01 -1.555292468607e-01 --1.534400219275e-01 -1.512056153403e-01 -1.488297806440e-01 -1.463163758909e-01 --1.436693593467e-01 -1.408927851222e-01 -1.379907987350e-01 -1.349676326058e-01 --1.318276014938e-01 -1.285750978758e-01 -1.252145872745e-01 -1.217506035393e-01 --1.181877440854e-01 -1.145306650961e-01 -1.107840766920e-01 -1.069527380732e-01 --1.030414526384e-01 -9.905506308635e-02 -9.499844650423e-02 -9.087650944734e-02 --8.669418301591e-02 -8.245641793294e-02 -7.816817962834e-02 -7.383444333396e-02 --6.946018919425e-02 -6.505039739737e-02 -6.061004333125e-02 -5.614409276937e-02 --5.165749709074e-02 -4.715518853873e-02 -4.264207552300e-02 -3.812303796931e-02 --3.360292272113e-02 -2.908653899773e-02 -2.457865391267e-02 -2.008398805706e-02 --1.560721115144e-02 -1.115293777044e-02 -6.725723143991e-03 -2.330059038968e-03 -2.029630275113e-03 6.348991972642e-03 1.062374852726e-02 1.484970147256e-02 -1.902273506488e-02 2.313881984495e-02 2.719401609537e-02 3.118447719087e-02 -3.510645283865e-02 3.895629220596e-02 4.273044693225e-02 4.642547402371e-02 -5.003803862743e-02 5.356491668336e-02 5.700299745172e-02 6.034928591393e-02 -6.360090504540e-02 6.675509795830e-02 6.980922991283e-02 7.276079019564e-02 -7.560739386397e-02 7.834678335454e-02 8.097682995608e-02 8.349553514470e-02 -8.590103178130e-02 8.819158517063e-02 9.036559398130e-02 9.242159102671e-02 -9.435824390655e-02 9.617435550900e-02 9.786886437367e-02 9.944084491560e-02 -1.008895075107e-01 1.022141984430e-01 1.034143997153e-01 1.044897287222e-01 -1.054399377883e-01 1.062649135721e-01 1.069646763363e-01 1.075393790860e-01 -1.079893065771e-01 1.083148741956e-01 1.085166267094e-01 1.085952368958e-01 -1.085515040450e-01 1.083863523425e-01 1.081008291330e-01 1.076961030668e-01 -1.071734621332e-01 1.065343115810e-01 1.057801717303e-01 1.049126756787e-01 -1.039335669027e-01 1.028446967595e-01 1.016480218911e-01 1.003456015333e-01 -9.893959473422e-02 9.743225748455e-02 9.582593976280e-02 9.412308249972e-02 -9.232621446479e-02 9.043794907856e-02 8.846098115432e-02 8.639808357289e-02 -8.425210389427e-02 8.202596090977e-02 7.972264113862e-02 7.734519527280e-02 -7.489673457404e-02 7.238042722697e-02 6.979949465221e-02 6.715720778367e-02 -6.445688331376e-02 6.170187991076e-02 5.889559441230e-02 5.604145799901e-02 -5.314293235233e-02 5.020350580069e-02 4.722668945790e-02 4.421601335796e-02 -4.117502259017e-02 3.810727343873e-02 3.501632953060e-02 3.190575799576e-02 -2.877912564368e-02 2.563999516003e-02 2.249192132735e-02 1.933844727360e-02 -1.618310075232e-02 1.302939045825e-02 9.880802381798e-03 6.740796206401e-03 -3.612801751939e-03 5.002154679701e-04 -2.593603019889e-03 -5.665334307046e-03 --8.711702547183e-03 -1.172947872647e-02 -1.471548387155e-02 -1.766659218835e-02 --2.057973412858e-02 -2.345189938120e-02 -2.628013978594e-02 -2.906157216621e-02 --3.179338107882e-02 -3.447282147796e-02 -3.709722129101e-02 -3.966398390395e-02 --4.217059055408e-02 -4.461460262801e-02 -4.699366386284e-02 -4.930550244881e-02 --5.154793303149e-02 -5.371885861187e-02 -5.581627234292e-02 -5.783825922111e-02 --5.978299767146e-02 -6.164876102525e-02 -6.343391888884e-02 -6.513693840318e-02 --6.675638539263e-02 -6.829092540280e-02 -6.973932462656e-02 -7.110045071781e-02 --7.237327349267e-02 -7.355686551778e-02 -7.465040258570e-02 -7.565316407726e-02 --7.656453321111e-02 -7.738399718063e-02 -7.811114717855e-02 -7.874567830983e-02 --7.928738939323e-02 -7.973618265249e-02 -8.009206329770e-02 -8.035513899797e-02 --8.052561924636e-02 -8.060381461822e-02 -8.059013592418e-02 -8.048509325925e-02 --8.028929494936e-02 -8.000344639707e-02 -7.962834882789e-02 -7.916489793929e-02 --7.861408245400e-02 -7.797698257970e-02 -7.725476837709e-02 -7.644869803855e-02 --7.556011607957e-02 -7.459045144523e-02 -7.354121553423e-02 -7.241400014284e-02 --7.121047533135e-02 -6.993238721568e-02 -6.858155568678e-02 -6.715987206059e-02 --6.566929666148e-02 -6.411185634180e-02 -6.248964194082e-02 -6.080480568572e-02 --5.905955853789e-02 -5.725616748755e-02 -5.539695279976e-02 -5.348428521517e-02 --5.152058310843e-02 -4.950830960781e-02 -4.744996967904e-02 -4.534810717687e-02 --4.320530186742e-02 -4.102416642497e-02 -3.880734340620e-02 -3.655750220549e-02 --3.427733599455e-02 -3.196955864970e-02 -2.963690167025e-02 -2.728211109136e-02 --2.490794439461e-02 -2.251716741974e-02 -2.011255128093e-02 -1.769686929077e-02 --1.527289389540e-02 -1.284339362394e-02 -1.041113005559e-02 -7.978854807452e-03 --5.549306546438e-03 -3.125208028220e-03 -7.092631664470e-04 1.695845864775e-03 -4.087461492122e-03 6.462953565054e-03 8.819722135684e-03 1.115520019365e-02 -1.346685635326e-02 1.575219749006e-02 1.800877132436e-02 2.023416894894e-02 -2.242602729853e-02 2.458203155853e-02 2.669991751071e-02 2.877747381347e-02 -3.081254421454e-02 3.280302969388e-02 3.474689053486e-02 3.664214832161e-02 -3.848688786081e-02 4.027925902594e-02 4.201747852249e-02 4.369983157235e-02 -4.532467351604e-02 4.689043133112e-02 4.839560506571e-02 4.983876918571e-02 -5.121857383468e-02 5.253374600533e-02 5.378309062162e-02 5.496549153077e-02 -5.607991240437e-02 5.712539754790e-02 5.810107261830e-02 5.900614524896e-02 -5.983990558203e-02 6.060172670756e-02 6.129106500969e-02 6.190746041949e-02 -6.245053657483e-02 6.292000088737e-02 6.331564451689e-02 6.363734225340e-02 -6.388505230756e-02 6.405881600989e-02 6.415875741952e-02 6.418508284324e-02 -6.413808026568e-02 6.401811869168e-02 6.382564740175e-02 6.356119512194e-02 -6.322536910921e-02 6.281885415376e-02 6.234241149954e-02 6.179687768463e-02 -6.118316330299e-02 6.050225168916e-02 5.975519752777e-02 5.894312538955e-02 -5.806722819583e-02 5.712876561344e-02 5.612906238197e-02 5.506950657560e-02 -5.395154780156e-02 5.277669533750e-02 5.154651620996e-02 5.026263321638e-02 -4.892672289299e-02 4.754051343091e-02 4.610578254317e-02 4.462435528498e-02 -4.309810182984e-02 4.152893520430e-02 3.991880898370e-02 3.826971495185e-02 -3.658368072722e-02 3.486276735836e-02 3.310906689145e-02 3.132469991255e-02 -2.951181306762e-02 2.767257656281e-02 2.580918164815e-02 2.392383808727e-02 -2.201877161610e-02 2.009622139330e-02 1.815843744539e-02 1.620767810928e-02 -1.424620747515e-02 1.227629283244e-02 1.030020212175e-02 8.320201395472e-03 -6.338552289945e-03 4.357509511830e-03 2.379318341479e-03 4.062121559663e-04 --1.559590025523e-03 -3.515885971338e-03 -5.460492639420e-03 -7.391248549237e-03 --9.306016121056e-03 -1.120268398010e-02 -1.307916922313e-02 -1.493341964515e-02 --1.676341592381e-02 -1.856717375928e-02 -2.034274596747e-02 -2.208822452426e-02 --2.380174255882e-02 -2.548147629387e-02 -2.712564693097e-02 -2.873252247900e-02 --3.030041952378e-02 -3.182770493742e-02 -3.331279752537e-02 -3.475416960976e-02 --3.615034854749e-02 -3.749991818145e-02 -3.880152022372e-02 -4.005385556928e-02 --4.125568553904e-02 -4.240583305113e-02 -4.350318371930e-02 -4.454668687749e-02 --4.553535652978e-02 -4.646827222467e-02 -4.734457985331e-02 -4.816349237079e-02 --4.892429044002e-02 -4.962632299781e-02 -5.026900774276e-02 -5.085183154457e-02 --5.137435077474e-02 -5.183619155846e-02 -5.223704994773e-02 -5.257669201567e-02 --5.285495387236e-02 -5.307174160227e-02 -5.322703112373e-02 -5.332086797082e-02 --5.335336699815e-02 -5.332471200918e-02 -5.323515530871e-02 -5.308501718019e-02 --5.287468528896e-02 -5.260461401196e-02 -5.227532369517e-02 -5.188739983982e-02 --5.144149221829e-02 -5.093831392121e-02 -5.037864033685e-02 -4.976330806421e-02 --4.909321376127e-02 -4.836931292985e-02 -4.759261863866e-02 -4.676420018617e-02 --4.588518170495e-02 -4.495674070927e-02 -4.398010658775e-02 -4.295655904291e-02 --4.188742647948e-02 -4.077408434358e-02 -3.961795341459e-02 -3.842049805192e-02 --3.718322439869e-02 -3.590767854449e-02 -3.459544464945e-02 -3.324814303171e-02 --3.186742822067e-02 -3.045498697827e-02 -2.901253629051e-02 -2.754182133175e-02 --2.604461340386e-02 -2.452270785294e-02 -2.297792196573e-02 -2.141209284821e-02 --1.982707528892e-02 -1.822473960925e-02 -1.660696950330e-02 -1.497565986970e-02 --1.333271463772e-02 -1.168004459040e-02 -1.001956518685e-02 -8.353194386261e-03 --6.682850476172e-03 -5.010449907207e-03 -3.337905136822e-03 -1.667122484388e-03 -4.806801137936e-15 1.661574650702e-03 3.315726283262e-03 4.960594270583e-03 -6.594334596110e-03 - Type L N - 0 1 6 -0.000000000000e+00 1.306435487339e-02 2.611666663548e-02 3.914490539118e-02 -5.213706766219e-02 6.508118955583e-02 7.796535988669e-02 9.077773323521e-02 -1.035065429278e-01 1.161401139228e-01 1.286668755872e-01 1.410753743480e-01 -1.533542862052e-01 1.654924290884e-01 1.774787750453e-01 1.893024622457e-01 -2.009528067876e-01 2.124193142911e-01 2.236916912658e-01 2.347598562401e-01 -2.456139506364e-01 2.562443493818e-01 2.666416712409e-01 2.767967888577e-01 -2.867008384964e-01 2.963452294685e-01 3.057216532352e-01 3.148220921754e-01 -3.236388280080e-01 3.321644498590e-01 3.403918619651e-01 3.483142910027e-01 -3.559252930366e-01 3.632187600783e-01 3.701889262472e-01 3.768303735283e-01 -3.831380371192e-01 3.891072103604e-01 3.947335492439e-01 4.000130764958e-01 -4.049421852264e-01 4.095176421468e-01 4.137365903460e-01 4.175965516284e-01 -4.210954284066e-01 4.242315051508e-01 4.270034493913e-01 4.294103122749e-01 -4.314515286748e-01 4.331269168547e-01 4.344366776877e-01 4.353813934324e-01 -4.359620260680e-01 4.361799151907e-01 4.360367754759e-01 4.355346937086e-01 -4.346761253872e-01 4.334638909055e-01 4.319011713177e-01 4.299915036930e-01 -4.277387760660e-01 4.251472219890e-01 4.222214146949e-01 4.189662608771e-01 -4.153869940960e-01 4.114891678200e-01 4.072786481099e-01 4.027616059573e-01 -3.979445092866e-01 3.928341146300e-01 3.874374584882e-01 3.817618483862e-01 -3.758148536366e-01 3.696042958225e-01 3.631382390110e-01 3.564249797115e-01 -3.494730365898e-01 3.422911399527e-01 3.348882210151e-01 3.272734009641e-01 -3.194559798333e-01 3.114454252015e-01 3.032513607307e-01 2.948835545560e-01 -2.863519075439e-01 2.776664414321e-01 2.688372868672e-01 2.598746713530e-01 -2.507889071261e-01 2.415903789735e-01 2.322895320066e-01 2.228968594066e-01 -2.134228901575e-01 2.038781767810e-01 1.942732830871e-01 1.846187719580e-01 -1.749251931779e-01 1.652030713240e-01 1.554628937345e-01 1.457150985660e-01 -1.359700629568e-01 1.262380913092e-01 1.165294037047e-01 1.068541244662e-01 -9.722227088119e-02 8.764374209841e-02 7.812830821191e-02 6.868559954470e-02 -5.932509614494e-02 5.005611750674e-02 4.088781252752e-02 3.182914971350e-02 -2.288890764466e-02 1.407566570989e-02 5.397795123031e-03 -3.136549770186e-03 --1.151943988454e-02 -1.974317947772e-02 -2.780031391377e-02 -3.568363709926e-02 --4.338619858388e-02 -5.090131031818e-02 -5.822255306105e-02 -6.534378243043e-02 --7.225913459098e-02 -7.896303157307e-02 -8.545018621773e-02 -9.171560674295e-02 --9.775460092705e-02 -1.035627799053e-01 -1.091360615764e-01 -1.144706736171e-01 --1.195631561007e-01 -1.244103637196e-01 -1.290094676103e-01 -1.333579567794e-01 --1.374536391308e-01 -1.412946420949e-01 -1.448794128598e-01 -1.482067182070e-01 --1.512756439514e-01 -1.540855939907e-01 -1.566362889646e-01 -1.589277645282e-01 --1.609603692434e-01 -1.627347620927e-01 -1.642519096191e-01 -1.655130826990e-01 --1.665198529519e-01 -1.672740887948e-01 -1.677779511462e-01 -1.680338887880e-01 --1.680446333916e-01 -1.678131942169e-01 -1.673428524918e-01 -1.666371554806e-01 --1.656999102510e-01 -1.645351771481e-01 -1.631472629858e-01 -1.615407139648e-01 --1.597203083281e-01 -1.576910487641e-01 -1.554581545684e-01 -1.530270535758e-01 --1.504033738726e-01 -1.475929353025e-01 -1.446017407767e-01 -1.414359674007e-01 --1.381019574301e-01 -1.346062090676e-01 -1.309553671141e-01 -1.271562134863e-01 --1.232156576135e-01 -1.191407267273e-01 -1.149385560561e-01 -1.106163789389e-01 --1.061815168697e-01 -1.016413694882e-01 -9.700340452687e-02 -9.227514773097e-02 --8.746417276188e-02 -8.257809109863e-02 -7.762454195008e-02 -7.261118219088e-02 --6.754567633421e-02 -6.243568655420e-02 -5.728886277065e-02 -5.211283280875e-02 --4.691519264627e-02 -4.170349676043e-02 -3.648524858659e-02 -3.126789110070e-02 --2.605879753717e-02 -2.086526225366e-02 -1.569449175394e-02 -1.055359587991e-02 --5.449579183397e-03 -3.893324881042e-04 4.620375347998e-03 9.572905460209e-03 -1.446175678497e-02 1.928057363890e-02 2.402315306027e-02 2.868345190432e-02 -3.325559368438e-02 3.773387515110e-02 4.211277260239e-02 4.638694791703e-02 -5.055125430561e-02 5.460074177240e-02 5.853066228250e-02 6.233647462903e-02 -6.601384899525e-02 6.955867120733e-02 7.296704667358e-02 7.623530400663e-02 -7.935999832536e-02 8.233791423370e-02 8.516606847438e-02 8.784171225530e-02 -9.036233324761e-02 9.272565725416e-02 9.492964954811e-02 9.697251588137e-02 -9.885270316357e-02 1.005688998121e-01 1.021200357744e-01 1.035052822252e-01 -1.047240509388e-01 1.057759933412e-01 1.066609992436e-01 1.073791952611e-01 -1.079309429206e-01 1.083168364614e-01 1.085377003347e-01 1.085945864040e-01 -1.084887708560e-01 1.082217508230e-01 1.077952407272e-01 1.072111683502e-01 -1.064716706363e-01 1.055790892357e-01 1.045359657956e-01 1.033450370074e-01 -1.020092294159e-01 1.005316540022e-01 9.891560054563e-02 9.716453177567e-02 -9.528207732202e-02 9.327202747256e-02 9.113832674840e-02 8.888506730612e-02 -8.651648217692e-02 8.403693835288e-02 8.145092973060e-02 7.876306992271e-02 -7.597808494766e-02 7.310080580865e-02 7.013616097242e-02 6.708916875864e-02 -6.396492965110e-02 6.076861854143e-02 5.750547691656e-02 5.418080500093e-02 -5.079995386454e-02 4.736831750786e-02 4.389132493471e-02 4.037443222410e-02 -3.682311461199e-02 3.324285859387e-02 2.963915405900e-02 2.601748646701e-02 -2.238332907745e-02 1.874213524294e-02 1.509933077596e-02 1.146030639992e-02 -7.830410294093e-03 4.214940742671e-03 6.191388973499e-04 -2.951818336941e-03 --6.492825283966e-03 -9.998854336717e-03 -1.346496264776e-02 -1.688629866088e-02 --2.025810847566e-02 -2.357574203711e-02 -2.683465914250e-02 -3.003043525802e-02 --3.315876713809e-02 -3.621547824051e-02 -3.919652393092e-02 -4.209799647040e-02 --4.491612978031e-02 -4.764730397885e-02 -5.028804968423e-02 -5.283505207952e-02 --5.528515473476e-02 -5.763536318224e-02 -5.988284824107e-02 -6.202494908794e-02 --6.405917607067e-02 -6.598321326225e-02 -6.779492075297e-02 -6.949233667869e-02 --7.107367898390e-02 -7.253734691836e-02 -7.388192226651e-02 -7.510617030942e-02 --7.620904051922e-02 -7.718966698639e-02 -7.804736858064e-02 -7.878164884658e-02 --7.939219563573e-02 -7.987888047645e-02 -8.024175768446e-02 -8.048106321611e-02 --8.059721326755e-02 -8.059080262311e-02 -8.046260275631e-02 -8.021355968764e-02 --7.984479160329e-02 -7.935758623941e-02 -7.875339803686e-02 -7.803384507161e-02 --7.720070576629e-02 -7.625591538864e-02 -7.520156234308e-02 -7.403988426140e-02 --7.277326389956e-02 -7.140422484702e-02 -6.993542705594e-02 -6.836966219748e-02 --6.670984885249e-02 -6.495902754461e-02 -6.312035562343e-02 -6.119710200580e-02 --5.919264178361e-02 -5.711045070636e-02 -5.495409954702e-02 -5.272724835986e-02 --5.043364063898e-02 -4.807709738652e-02 -4.566151109925e-02 -4.319083968290e-02 --4.066910030299e-02 -3.810036318162e-02 -3.548874534910e-02 -3.283840435983e-02 --3.015353198161e-02 -2.743834786743e-02 -2.469709321918e-02 -2.193402445223e-02 --1.915340687012e-02 -1.635950835841e-02 -1.355659310658e-02 -1.074891536714e-02 --7.940713260454e-03 -5.136202634309e-03 -2.339570986595e-03 4.450285402837e-04 -3.213483084986e-03 5.961725904616e-03 8.685742115878e-03 1.138157433216e-02 -1.404532818887e-02 1.667317774958e-02 1.926137078571e-02 2.180623392263e-02 -2.430417764549e-02 2.675170115799e-02 2.914539708798e-02 3.148195603348e-02 -3.375817094353e-02 3.597094132816e-02 3.811727729214e-02 4.019430338751e-02 -4.219926228014e-02 4.412951822582e-02 4.598256035168e-02 4.775600573917e-02 -4.944760230483e-02 5.105523147584e-02 5.257691065711e-02 5.401079548751e-02 -5.535518188276e-02 5.660850786304e-02 5.776935516357e-02 5.883645062692e-02 -5.980866737579e-02 6.068502576575e-02 6.146469411743e-02 6.214698922805e-02 -6.273137666260e-02 6.321747082525e-02 6.360503481166e-02 6.389398004370e-02 -6.408436568777e-02 6.417639785874e-02 6.417042861146e-02 6.406695472236e-02 -6.386661626384e-02 6.357019497431e-02 6.317861242733e-02 6.269292800329e-02 -6.211433666749e-02 6.144416655872e-02 6.068387639269e-02 5.983505268488e-02 -5.889940679768e-02 5.787877181697e-02 5.677509926326e-02 5.559045564315e-02 -5.432701884668e-02 5.298707439657e-02 5.157301155549e-02 5.008731929761e-02 -4.853258215106e-02 4.691147591774e-02 4.522676327743e-02 4.348128928314e-02 -4.167797675461e-02 3.981982157740e-02 3.790988791463e-02 3.595130333891e-02 -3.394725389190e-02 3.190097907909e-02 2.981576680733e-02 2.769494827291e-02 -2.554189280784e-02 2.336000269210e-02 2.115270793956e-02 1.892346106549e-02 -1.667573184329e-02 1.441300205826e-02 1.213876026616e-02 9.856496564166e-03 -7.569697382000e-03 5.281840300680e-03 2.996388906500e-03 7.167876876316e-04 --1.553543019300e-03 -3.811212025433e-03 -6.052862221539e-03 -8.275175438559e-03 --1.047487722991e-02 -1.264874156886e-02 -1.479359545432e-02 -1.690632341879e-02 --1.898387193196e-02 -2.102325369414e-02 -2.302155181347e-02 -2.497592386127e-02 --2.688360580001e-02 -2.874191577864e-02 -3.054825779020e-02 -3.230012518684e-02 --3.399510404762e-02 -3.563087639474e-02 -3.720522325405e-02 -3.871602755584e-02 --4.016127687243e-02 -4.153906598894e-02 -4.284759930434e-02 -4.408519305964e-02 --4.525027739085e-02 -4.634139820416e-02 -4.735721887142e-02 -4.829652174398e-02 --4.915820948344e-02 -4.994130620809e-02 -5.064495845388e-02 -5.126843594949e-02 --5.181113220482e-02 -5.227256491288e-02 -5.265237616522e-02 -5.295033248118e-02 --5.316632465183e-02 -5.330036739927e-02 -5.335259885286e-02 -5.332327984343e-02 --5.321279301767e-02 -5.302164177426e-02 -5.275044902438e-02 -5.239995577879e-02 --5.197101956449e-02 -5.146461267378e-02 -5.088182024900e-02 -5.022383820648e-02 --4.949197100331e-02 -4.868762925081e-02 -4.781232717897e-02 -4.686767995599e-02 --4.585540086759e-02 -4.477729836070e-02 -4.363527295655e-02 -4.243131403809e-02 --4.116749651707e-02 -3.984597738615e-02 -3.846899216165e-02 -3.703885122248e-02 --3.555793605128e-02 -3.402869538353e-02 -3.245364127086e-02 -3.083534506452e-02 --2.917643332557e-02 -2.747958366783e-02 -2.574752054024e-02 -2.398301095503e-02 --2.218886016829e-02 -2.036790731948e-02 -1.852302103661e-02 -1.665709501370e-02 --1.477304356717e-02 -1.287379717797e-02 -1.096229802598e-02 -9.041495523515e-03 --7.114341854431e-03 -5.183787525630e-03 -3.252776937392e-03 -1.324243979154e-03 -5.988923428224e-04 2.513732239494e-03 4.417399428451e-03 6.307045372497e-03 -8.179853461227e-03 1.003304312959e-02 1.186387390754e-02 1.366964939490e-02 -1.544772115590e-02 1.719549252772e-02 1.891042233785e-02 2.059002852479e-02 -2.223189165726e-02 2.383365834693e-02 2.539304454988e-02 2.690783875242e-02 -2.837590503673e-02 2.979518602233e-02 3.116370567930e-02 3.247957200954e-02 -3.374097959257e-02 3.494621199242e-02 3.609364402262e-02 3.718174386634e-02 -3.820907504899e-02 3.917429826088e-02 4.007617302772e-02 4.091355922698e-02 -4.168541844837e-02 4.239081519695e-02 4.302891793761e-02 4.359899997989e-02 -4.410044020231e-02 4.453272361585e-02 4.489544176600e-02 4.518829297361e-02 -4.541108241454e-02 4.556372203857e-02 4.564623032835e-02 4.565873189906e-02 -4.560145694016e-02 4.547474050043e-02 4.527902161794e-02 4.501484229685e-02 -4.468284633287e-02 4.428377798994e-02 4.381848053034e-02 4.328789460109e-02 -4.269305647939e-02 4.203509618038e-02 4.131523543030e-02 4.053478550869e-02 -3.969514496323e-02 3.879779720101e-02 3.784430796039e-02 3.683632266746e-02 -3.577556368157e-02 3.466382743431e-02 3.350298146672e-02 3.229496136929e-02 -3.104176762993e-02 2.974546239462e-02 2.840816614615e-02 2.703205430605e-02 -2.561935376507e-02 2.417233934768e-02 2.269333021603e-02 2.118468621912e-02 -1.964880419257e-02 1.808811421498e-02 1.650507582642e-02 1.490217421497e-02 -1.328191637703e-02 1.164682725739e-02 9.999445874710e-03 8.342321438527e-03 -6.678009463363e-03 5.009067886003e-03 3.338053191631e-03 1.667516554664e-03 -3.951348312058e-15 -1.661967409577e-03 -3.315873354289e-03 -4.959226000835e-03 --6.589557703069e-03 - Type L N - 0 1 7 -0.000000000000e+00 1.481154861308e-02 2.960554632854e-02 4.436446700681e-02 -5.907083398651e-02 7.370724472844e-02 8.825639534585e-02 1.027011049831e-01 -1.170243400055e-01 1.312092379632e-01 1.452391312917e-01 1.590975707145e-01 -1.727683483093e-01 1.862355202054e-01 1.994834288749e-01 2.124967249857e-01 -2.252603887824e-01 2.377597509611e-01 2.499805130092e-01 2.619087669759e-01 -2.735310146468e-01 2.848341860909e-01 2.958056575531e-01 3.064332686659e-01 -3.167053389525e-01 3.266106835996e-01 3.361386284722e-01 3.452790243530e-01 -3.540222603804e-01 3.623592766693e-01 3.702815760941e-01 3.777812352165e-01 -3.848509143445e-01 3.914838667054e-01 3.976739467219e-01 4.034156173794e-01 -4.087039566734e-01 4.135346631295e-01 4.179040603889e-01 4.218091008526e-01 -4.252473683813e-01 4.282170800487e-01 4.307170869449e-01 4.327468740333e-01 -4.343065590604e-01 4.353968905231e-01 4.360192446984e-01 4.361756217411e-01 -4.358686408580e-01 4.351015345677e-01 4.338781420568e-01 4.322029016443e-01 -4.300808423681e-01 4.275175747081e-01 4.245192804629e-01 4.210927017968e-01 -4.172451294761e-01 4.129843903160e-01 4.083188338570e-01 4.032573182966e-01 -3.978091956961e-01 3.919842964912e-01 3.857929133291e-01 3.792457842606e-01 -3.723540753147e-01 3.651293624839e-01 3.575836131510e-01 3.497291669865e-01 -3.415787163485e-01 3.331452862170e-01 3.244422136959e-01 3.154831271140e-01 -3.062819247611e-01 2.968527532918e-01 2.872099858331e-01 2.773681998293e-01 -2.673421546616e-01 2.571467690765e-01 2.467970984597e-01 2.363083119919e-01 -2.256956697224e-01 2.149744995959e-01 2.041601744705e-01 1.932680891616e-01 -1.823136375483e-01 1.713121897780e-01 1.602790696047e-01 1.492295318961e-01 -1.381787403451e-01 1.271417454186e-01 1.161334625794e-01 1.051686508134e-01 -9.426189149487e-02 8.342756762269e-02 7.267984345857e-02 6.203264459791e-02 -5.149963850351e-02 4.109421553098e-02 3.082947047420e-02 2.071818465801e-02 -1.077280860452e-02 1.005445298223e-03 -8.572165925815e-03 -1.794866484750e-02 --2.711308515908e-02 -3.605486857337e-02 -4.476387822326e-02 -5.323041133405e-02 --6.144521115129e-02 -6.939947810838e-02 -7.708488021916e-02 -8.449356268224e-02 --9.161815668497e-02 -9.845178739657e-02 -1.049880811410e-01 -1.112211717417e-01 --1.171457060316e-01 -1.227568485239e-01 -1.280502852381e-01 -1.330222266814e-01 --1.376694099826e-01 -1.419891001798e-01 -1.459790906629e-01 -1.496377027758e-01 --1.529637845807e-01 -1.559567087919e-01 -1.586163698860e-01 -1.609431803967e-01 --1.629380664048e-01 -1.646024622337e-01 -1.659383043636e-01 -1.669480245779e-01 --1.676345423563e-01 -1.680012565312e-01 -1.680520362242e-01 -1.677912110810e-01 --1.672235608253e-01 -1.663543041499e-01 -1.651890869686e-01 -1.637339700507e-01 --1.619954160607e-01 -1.599802760282e-01 -1.576957752738e-01 -1.551494988150e-01 --1.523493762806e-01 -1.493036663599e-01 -1.460209408153e-01 -1.425100680861e-01 --1.387801965141e-01 -1.348407372190e-01 -1.307013466549e-01 -1.263719088780e-01 --1.218625175567e-01 -1.171834577541e-01 -1.123451875168e-01 -1.073583192982e-01 --1.022336012511e-01 -9.698189841972e-02 -9.161417386305e-02 -8.614146974220e-02 --8.057488840244e-02 -7.492557348213e-02 -6.920469107972e-02 -6.342341100985e-02 --5.759288817968e-02 -5.172424411555e-02 -4.582854867040e-02 -3.991680194140e-02 --3.399991642702e-02 -2.808869945211e-02 -2.219383588904e-02 -1.632587120224e-02 --1.049519484285e-02 -4.712024019576e-03 1.013612129261e-03 6.671887937845e-03 -1.225319616570e-02 1.774816247850e-02 2.314765943508e-02 2.844281995988e-02 -3.362505028075e-02 3.868604231359e-02 4.361778547572e-02 4.841257791140e-02 -5.306303711374e-02 5.756210992854e-02 6.190308192655e-02 6.607958613189e-02 -7.008561109556e-02 7.391550830408e-02 7.756399891442e-02 8.102617980788e-02 -8.429752895636e-02 8.737391009604e-02 9.025157670448e-02 9.292717527846e-02 -9.539774791121e-02 9.766073416849e-02 9.971397226479e-02 1.015556995416e-01 -1.031845522510e-01 1.045995646497e-01 1.058001674081e-01 1.067861853425e-01 -1.075578344776e-01 1.081157184486e-01 1.084608242530e-01 1.085945173642e-01 -1.085185362177e-01 1.082349860847e-01 1.077463323465e-01 1.070553931859e-01 -1.061653317105e-01 1.050796475268e-01 1.038021677819e-01 1.023370376914e-01 -1.006887105745e-01 9.886193741598e-02 9.686175597539e-02 9.469347946678e-02 -9.236268483039e-02 8.987520061967e-02 8.723709452720e-02 8.445466057366e-02 -8.153440598436e-02 7.848303777837e-02 7.530744909554e-02 7.201470528725e-02 -6.861202979670e-02 6.510678985503e-02 6.150648201971e-02 5.781871758156e-02 -5.405120786723e-02 5.021174946362e-02 4.630820939109e-02 4.234851025184e-02 -3.834061538020e-02 3.429251402104e-02 3.021220656258e-02 2.610768984944e-02 -2.198694260169e-02 1.785791096528e-02 1.372849421856e-02 9.606530659848e-03 -5.499783699821e-03 1.415928182509e-03 -2.637463042043e-03 -6.652932270945e-03 --1.062314980556e-02 -1.454092649123e-02 -1.839922591912e-02 -2.219117627019e-02 --2.591008178228e-02 -2.954943382188e-02 -3.310292154309e-02 -3.656444211695e-02 --3.992811051546e-02 -4.318826883505e-02 -4.633949514569e-02 -4.937661185231e-02 --5.229469355638e-02 -5.508907440640e-02 -5.775535492709e-02 -6.028940831780e-02 --6.268738621221e-02 -6.494572389166e-02 -6.706114494618e-02 -6.903066537788e-02 --7.085159714244e-02 -7.252155112578e-02 -7.403843955353e-02 -7.540047783238e-02 --7.660618582331e-02 -7.765438854746e-02 -7.854421632691e-02 -7.927510436319e-02 --7.984679175757e-02 -8.025931997822e-02 -8.051303078009e-02 -8.060856358457e-02 --8.054685232665e-02 -8.032912177862e-02 -7.995688335978e-02 -7.943193044286e-02 --7.875633316865e-02 -7.793243278106e-02 -7.696283549561e-02 -7.585040591548e-02 --7.459826000950e-02 -7.320975766749e-02 -7.168849484910e-02 -7.003829534268e-02 --6.826320215163e-02 -6.636746852607e-02 -6.435554865831e-02 -6.223208806108e-02 --6.000191364812e-02 -5.767002353679e-02 -5.524157659327e-02 -5.272188174089e-02 --5.011638705261e-02 -4.743066864903e-02 -4.467041942335e-02 -4.184143761519e-02 --3.894961525502e-02 -3.600092650139e-02 -3.300141589301e-02 -2.995718653790e-02 --2.687438826170e-02 -2.375920573747e-02 -2.061784661876e-02 -1.745652969824e-02 --1.428147311335e-02 -1.109888262079e-02 -7.914939961089e-03 -4.735791334448e-03 --1.567536008483e-03 1.583784921576e-03 4.712199600231e-03 7.811816286993e-03 -1.087683402039e-02 1.390155305203e-02 1.688038503253e-02 1.980786293170e-02 -2.267865067598e-02 2.548755248651e-02 2.822952190233e-02 3.089967047326e-02 -3.349327610817e-02 3.600579106488e-02 3.843284956862e-02 4.077027504678e-02 -4.301408696848e-02 4.516050727831e-02 4.720596641413e-02 4.914710890013e-02 -5.098079850668e-02 5.270412296957e-02 5.431439826230e-02 5.580917241542e-02 -5.718622887831e-02 5.844358941941e-02 5.957951656174e-02 6.059251555162e-02 -6.148133585922e-02 6.224497221049e-02 6.288266515097e-02 6.339390114264e-02 -6.377841219622e-02 6.403617504168e-02 6.416740984102e-02 6.417257844790e-02 -6.405238221978e-02 6.380775938872e-02 6.343988199820e-02 6.295015241363e-02 -6.234019941541e-02 6.161187388381e-02 6.076724408590e-02 5.980859057519e-02 -5.873840071572e-02 5.755936284243e-02 5.627436007089e-02 5.488646376947e-02 -5.339892670812e-02 5.181517589800e-02 5.013880513719e-02 4.837356727771e-02 -4.652336622993e-02 4.459224872063e-02 4.258439582145e-02 4.050411426480e-02 -3.835582756459e-02 3.614406695959e-02 3.387346219716e-02 3.154873217566e-02 -2.917467546383e-02 2.675616071553e-02 2.429811699864e-02 2.180552405659e-02 -1.928340252129e-02 1.673680409631e-02 1.417080172878e-02 1.159047978888e-02 -9.000924275244e-03 6.407213064825e-03 3.814406225389e-03 1.227536408694e-03 --1.348400657838e-03 -3.908455563428e-03 -6.447734472963e-03 -8.961408235834e-03 --1.144472132802e-02 -1.389300061125e-02 -1.630166389347e-02 -1.866622827537e-02 --2.098231826799e-02 -2.324567366721e-02 -2.545215717123e-02 -2.759776172772e-02 --2.967861759805e-02 -3.169099912633e-02 -3.363133120187e-02 -3.549619540409e-02 --3.728233581974e-02 -3.898666452275e-02 -4.060626670788e-02 -4.213840546996e-02 --4.358052622122e-02 -4.493026073991e-02 -4.618543084423e-02 -4.734405168610e-02 --4.840433466040e-02 -4.936468992564e-02 -5.022372853315e-02 -5.098026416238e-02 --5.163331446070e-02 -5.218210198706e-02 -5.262605475920e-02 -5.296480640535e-02 --5.319819592169e-02 -5.332626703778e-02 -5.334926719295e-02 -5.326764612724e-02 --5.308205409115e-02 -5.279333967946e-02 -5.240254729470e-02 -5.191091424675e-02 --5.131986749570e-02 -5.063102004568e-02 -4.984616699800e-02 -4.896728127267e-02 --4.799650900776e-02 -4.693616464688e-02 -4.578872572534e-02 -4.455682736635e-02 --4.324325649890e-02 -4.185094580953e-02 -4.038296744078e-02 -3.884252644926e-02 --3.723295403692e-02 -3.555770056945e-02 -3.382032839593e-02 -3.202450448434e-02 --3.017399288780e-02 -2.827264705655e-02 -2.632440201112e-02 -2.433326639210e-02 --2.230331440239e-02 -2.023867765756e-02 -1.814353696050e-02 -1.602211401627e-02 --1.387866310330e-02 -1.171746271703e-02 -9.542807202106e-03 -7.358998389176e-03 --5.170337252312e-03 -2.981115602897e-03 -7.956078357486e-04 1.381937256911e-03 -3.547304588269e-03 5.696320781307e-03 7.824862059854e-03 9.928862011615e-03 -1.200431920884e-02 1.404730467260e-02 1.605396916697e-02 1.802055030983e-02 -1.994337948744e-02 2.181888856018e-02 2.364361634762e-02 2.541421488114e-02 -2.712745541321e-02 2.878023417271e-02 3.036957785620e-02 3.189264884572e-02 -3.334675014412e-02 3.472933001962e-02 3.603798635178e-02 3.727047067176e-02 -3.842469189020e-02 3.949871970692e-02 4.049078769703e-02 4.139929606883e-02 -4.222281408948e-02 4.296008217497e-02 4.361001364187e-02 4.417169611858e-02 -4.464439261484e-02 4.502754224867e-02 4.532076063070e-02 4.552383990645e-02 -4.563674845779e-02 4.565963026541e-02 4.559280393494e-02 4.543676138971e-02 -4.519216623405e-02 4.485985179149e-02 4.444081882282e-02 4.393623292971e-02 -4.334742164992e-02 4.267587125104e-02 4.192322322985e-02 4.109127052535e-02 -4.018195345362e-02 3.919735537355e-02 3.813969809266e-02 3.701133702292e-02 -3.581475609667e-02 3.455256245357e-02 3.322748090938e-02 3.184234821828e-02 -3.040010714028e-02 2.890380032617e-02 2.735656403218e-02 2.576162167727e-02 -2.412227725593e-02 2.244190861979e-02 2.072396064140e-02 1.897193827388e-02 -1.718939952000e-02 1.537994832488e-02 1.354722740593e-02 1.169491103440e-02 -9.826697782416e-03 7.946303249718e-03 6.057452784145e-03 4.163874209975e-03 -2.269290578085e-03 3.774129518360e-04 -1.508066757507e-03 -3.383482892204e-03 --5.245203072812e-03 -7.089635133053e-03 -8.913233951680e-03 -1.071250816855e-02 --1.248402677235e-02 -1.422442554769e-02 -1.593041336966e-02 -1.759877833418e-02 --1.922639371294e-02 -2.081022372206e-02 -2.234732909387e-02 -2.383487244188e-02 --2.527012340929e-02 -2.665046359171e-02 -2.797339122553e-02 -2.923652563365e-02 --3.043761142078e-02 -3.157452241114e-02 -3.264526532177e-02 -3.364798316538e-02 --3.458095837696e-02 -3.544261565918e-02 -3.623152454196e-02 -3.694640165233e-02 --3.758611269111e-02 -3.814967411361e-02 -3.863625451219e-02 -3.904517569888e-02 --3.937591348717e-02 -3.962809817230e-02 -3.980151471027e-02 -3.989610259622e-02 --3.991195544338e-02 -3.984932026455e-02 -3.970859645826e-02 -3.949033450291e-02 --3.919523436204e-02 -3.882414360509e-02 -3.837805524800e-02 -3.785810531897e-02 --3.726557015485e-02 -3.660186343440e-02 -3.586853295496e-02 -3.506725715967e-02 --3.419984142286e-02 -3.326821410135e-02 -3.227442236048e-02 -3.122062778326e-02 --3.010910177222e-02 -2.894222075334e-02 -2.772246119204e-02 -2.645239443157e-02 --2.513468136424e-02 -2.377206694657e-02 -2.236737456924e-02 -2.092350029343e-02 --1.944340696505e-02 -1.793011821868e-02 -1.638671238317e-02 -1.481631630111e-02 --1.322209907433e-02 -1.160726574782e-02 -9.975050944547e-03 -8.328712463620e-03 --6.671524854327e-03 -5.006772978614e-03 -3.337745574486e-03 -1.667728832823e-03 --5.395180400398e-15 1.662178981316e-03 3.315567781108e-03 4.956953928423e-03 -6.583158983546e-03 - Type L N - 0 1 8 -0.000000000000e+00 1.655791103063e-02 3.309130092512e-02 4.957569177821e-02 -6.598669206340e-02 8.230003961507e-02 9.849164436217e-02 1.145376307318e-01 -1.304143796409e-01 1.460985699965e-01 1.615672196230e-01 1.767977255416e-01 -1.917679035205e-01 2.064560268243e-01 2.208408640859e-01 2.349017162306e-01 -2.486184523800e-01 2.619715446705e-01 2.749421019171e-01 2.875119020609e-01 -2.996634233391e-01 3.113798741173e-01 3.226452213293e-01 3.334442174714e-01 -3.437624261002e-01 3.535862457864e-01 3.629029324815e-01 3.717006202560e-01 -3.799683403704e-01 3.876960386461e-01 3.948745911041e-01 4.014958178447e-01 -4.075524951436e-01 4.130383657444e-01 4.179481473306e-01 4.222775391635e-01 -4.260232268770e-01 4.291828854229e-01 4.317551801646e-01 4.337397661211e-01 -4.351372853661e-01 4.359493625901e-01 4.361785988394e-01 4.358285634475e-01 -4.349037841774e-01 4.334097355995e-01 4.313528257302e-01 4.287403809622e-01 -4.255806293188e-01 4.218826820699e-01 4.176565137483e-01 4.129129406093e-01 -4.076635975805e-01 4.019209137486e-01 3.956980864370e-01 3.890090539261e-01 -3.818684668752e-01 3.742916585036e-01 3.662946135934e-01 3.578939363780e-01 -3.491068173809e-01 3.399509992743e-01 3.304447418252e-01 3.206067860027e-01 -3.104563173158e-01 3.000129284597e-01 2.892965813420e-01 2.783275685685e-01 -2.671264744631e-01 2.557141357010e-01 2.441116016337e-01 2.323400943838e-01 -2.204209687893e-01 2.083756722763e-01 1.962257047393e-01 1.839925785072e-01 -1.716977784745e-01 1.593627224744e-01 1.470087219714e-01 1.346569431490e-01 -1.223283684690e-01 1.100437587743e-01 9.782361600920e-02 8.568814662840e-02 -7.365722576277e-02 6.175036221118e-02 4.998666432326e-02 3.838480683706e-02 -2.696299873338e-02 1.573895216584e-02 4.729852523970e-03 -6.047670316608e-03 --1.657756950472e-02 -2.684440743599e-02 -3.683338064054e-02 -4.653034329268e-02 --5.592182930193e-02 -6.499507294809e-02 -7.373802802593e-02 -8.213938546823e-02 --9.018858941940e-02 -9.787585173473e-02 -1.051921648841e-01 -1.121293132420e-01 --1.186798827491e-01 -1.248372689340e-01 -1.305956832882e-01 -1.359501579873e-01 --1.408965489612e-01 -1.454315373114e-01 -1.495526290843e-01 -1.532581534076e-01 --1.565472590033e-01 -1.594199090916e-01 -1.618768747062e-01 -1.639197264415e-01 --1.655508246575e-01 -1.667733081709e-01 -1.675910814631e-01 -1.680088004392e-01 --1.680318567754e-01 -1.676663608940e-01 -1.669191236090e-01 -1.657976364858e-01 --1.643100509646e-01 -1.624651562948e-01 -1.602723563338e-01 -1.577416452637e-01 --1.548835822823e-01 -1.517092653254e-01 -1.482303038812e-01 -1.444587909565e-01 --1.404072742592e-01 -1.360887266589e-01 -1.315165159935e-01 -1.267043742846e-01 --1.216663664322e-01 -1.164168584543e-01 -1.109704853407e-01 -1.053421185900e-01 --9.954683349864e-02 -9.359987627215e-02 -8.751663102686e-02 -8.131258675264e-02 --7.500330430489e-02 -6.860438349469e-02 -6.213143034506e-02 -5.560002458081e-02 --4.902568741833e-02 -4.242384972091e-02 -3.580982058406e-02 -2.919875641380e-02 --2.260563055994e-02 -1.604520356440e-02 -9.531994083388e-03 -3.080250540227e-03 -3.296076436016e-03 9.583360733074e-03 1.576832658815e-02 2.183807348183e-02 -2.778010004672e-02 3.358232694644e-02 3.923311868330e-02 4.472130429523e-02 -5.003619690538e-02 5.516761209014e-02 6.010588503451e-02 6.484188644590e-02 -6.936703720085e-02 7.367332170163e-02 7.775329992268e-02 8.160011812990e-02 -8.520751825843e-02 8.856984593796e-02 9.168205715707e-02 9.453972356161e-02 -9.713903638452e-02 9.947680900809e-02 1.015504781620e-01 1.033581037636e-01 -1.048983674105e-01 1.061705695366e-01 1.071746252480e-01 1.079110588552e-01 -1.083809971237e-01 1.085861612649e-01 1.085288576940e-01 1.082119675829e-01 -1.076389352390e-01 1.068137553428e-01 1.057409590805e-01 1.044255992085e-01 -1.028732340897e-01 1.010899107443e-01 9.908214695680e-02 9.685691248719e-02 -9.442160943152e-02 9.178405178158e-02 8.895244423362e-02 8.593536029779e-02 -8.274171976109e-02 7.938076555768e-02 7.586204010149e-02 7.219536113690e-02 -6.839079716390e-02 6.445864249493e-02 6.040939200082e-02 5.625371560381e-02 -5.200243257576e-02 4.766648569971e-02 4.325691535298e-02 3.878483356985e-02 -3.426139814131e-02 2.969778680940e-02 2.510517161269e-02 2.049469343892e-02 -1.587743684027e-02 1.126440516526e-02 6.666496060902e-03 2.094477397162e-03 --2.441036335399e-03 -6.929607105114e-03 -1.136099584778e-02 -1.572518435772e-02 --2.001239651645e-02 -2.421311881573e-02 -2.831812013375e-02 -3.231847072490e-02 --3.620556038587e-02 -3.997111576244e-02 -4.360721676405e-02 -4.710631205476e-02 --5.046123359210e-02 -5.366521018711e-02 -5.671188006150e-02 -5.959530238024e-02 --6.230996774016e-02 -6.485080759772e-02 -6.721320262165e-02 -6.939298995846e-02 --7.138646940160e-02 -7.319040845732e-02 -7.480204630292e-02 -7.621909663577e-02 --7.743974941355e-02 -7.846267148922e-02 -7.928700614622e-02 -7.991237154210e-02 --8.033885807125e-02 -8.056702465956e-02 -8.059789400636e-02 -8.043294679127e-02 --8.007411486574e-02 -7.952377345131e-02 -7.878473236882e-02 -7.786022632466e-02 --7.675390428232e-02 -7.546981794938e-02 -7.401240941182e-02 -7.238649794943e-02 --7.059726606763e-02 -6.865024478271e-02 -6.655129819886e-02 -6.430660741689e-02 --6.192265381581e-02 -5.940620174943e-02 -5.676428070158e-02 -5.400416694426e-02 --5.113336474404e-02 -4.815958716276e-02 -4.509073649924e-02 -4.193488441934e-02 --3.870025182206e-02 -3.539518848972e-02 -3.202815257059e-02 -2.860768994224e-02 --2.514241350411e-02 -2.164098244758e-02 -1.811208155151e-02 -1.456440055113e-02 --1.100661362739e-02 -7.447359063791e-03 -3.895219116495e-03 -3.587001433476e-04 -3.153786963840e-03 6.633946000119e-03 1.007361427884e-02 1.346478103227e-02 -1.679960534131e-02 2.007043355533e-02 2.326981616478e-02 2.639052409048e-02 -2.942556435520e-02 3.236819510471e-02 3.521193994704e-02 3.795060158074e-02 -4.057827468431e-02 4.308935804128e-02 4.547856587701e-02 4.774093838528e-02 -4.987185142497e-02 5.186702536882e-02 5.372253308861e-02 5.543480706295e-02 -5.700064559627e-02 5.841721813936e-02 5.968206970430e-02 6.079312436851e-02 -6.174868786500e-02 6.254744925770e-02 6.318848170351e-02 6.367124230392e-02 -6.399557105220e-02 6.416168888325e-02 6.417019483595e-02 6.402206233961e-02 -6.371863463793e-02 6.326161936624e-02 6.265308229920e-02 6.189544028845e-02 -6.099145341102e-02 5.994421635153e-02 5.875714904241e-02 5.743398658838e-02 -5.597876850265e-02 5.439582728400e-02 5.268977636510e-02 5.086549746396e-02 -4.892812737133e-02 4.688304420838e-02 4.473585318977e-02 4.249237192826e-02 -4.015861531808e-02 3.774078003476e-02 3.524522869016e-02 3.267847368179e-02 -3.004716077609e-02 2.735805246603e-02 2.461801114311e-02 2.183398212490e-02 -1.901297657847e-02 1.616205438104e-02 1.328830695820e-02 1.039884014080e-02 -7.500757080491e-03 4.601141264318e-03 1.707039667804e-03 -1.174553914293e-03 --4.036715321065e-03 -6.872606224583e-03 -9.675490038058e-03 -1.243874749688e-02 --1.515589187733e-02 -1.782058381887e-02 -2.042664571674e-02 -2.296807565325e-02 --2.543906083690e-02 -2.783399052001e-02 -3.014746836701e-02 -3.237432424670e-02 --3.450962542356e-02 -3.654868712452e-02 -3.848708245922e-02 -4.032065167364e-02 --4.204551071828e-02 -4.365805911411e-02 -4.515498710107e-02 -4.653328205570e-02 --4.779023416631e-02 -4.892344135592e-02 -4.993081344491e-02 -5.081057554727e-02 --5.156127069620e-02 -5.218176169658e-02 -5.267123220359e-02 -5.302918702888e-02 --5.325545167719e-02 -5.335017111832e-02 -5.331380780109e-02 -5.314713891769e-02 --5.285125292855e-02 -5.242754535957e-02 -5.187771388525e-02 -5.120375271283e-02 --5.040794628419e-02 -4.949286231375e-02 -4.846134418223e-02 -4.731650270732e-02 --4.606170731395e-02 -4.470057662806e-02 -4.323696851891e-02 -4.167496961652e-02 --4.001888433139e-02 -3.827322340542e-02 -3.644269202321e-02 -3.453217751437e-02 --3.254673667809e-02 -3.049158276193e-02 -2.837207212753e-02 -2.619369063662e-02 --2.396203979110e-02 -2.168282266139e-02 -1.936182963770e-02 -1.700492403911e-02 --1.461802761544e-02 -1.220710597707e-02 -9.778153987978e-03 -7.337181156879e-03 --4.890197061645e-03 -2.443196841538e-03 -2.146791744090e-06 2.427029905829e-03 -4.838467281943e-03 7.226370476656e-03 9.585029400815e-03 1.190883213079e-02 -1.419227800556e-02 1.642999039615e-02 1.861672911823e-02 2.074740245990e-02 -2.281707879732e-02 2.482099777245e-02 2.675458100782e-02 2.861344233493e-02 -3.039339751367e-02 3.209047342193e-02 3.370091669553e-02 3.522120180033e-02 -3.664803851944e-02 3.797837884032e-02 3.920942322779e-02 4.033862627058e-02 -4.136370169057e-02 4.228262670554e-02 4.309364573766e-02 4.379527346174e-02 -4.438629718867e-02 4.486577858132e-02 4.523305470151e-02 4.548773838844e-02 -4.562971797067e-02 4.565915631493e-02 4.557648921710e-02 4.538242314188e-02 -4.507793231948e-02 4.466425520881e-02 4.414289033863e-02 4.351559153905e-02 -4.278436257749e-02 4.195145121455e-02 4.101934269644e-02 3.999075270200e-02 -3.886861976354e-02 3.765609718199e-02 3.635654445778e-02 3.497351826022e-02 -3.351076295890e-02 3.197220074180e-02 3.036192134554e-02 2.868417142405e-02 -2.694334358287e-02 2.514396510671e-02 2.329068640869e-02 2.138826923032e-02 -1.944157462145e-02 1.745555073027e-02 1.543522043333e-02 1.338566883613e-02 -1.131203067490e-02 9.219477650305e-03 7.113205723915e-03 4.998422408071e-03 -2.880334079970e-03 7.641333503272e-04 -1.345013483117e-03 -3.441978867347e-03 --5.521686281563e-03 -7.579122351377e-03 -9.609348761184e-03 -1.160751393678e-02 --1.356886447099e-02 -1.548875626571e-02 -1.736266536469e-02 -1.918619845208e-02 --2.095510299273e-02 -2.266527699123e-02 -2.431277834758e-02 -2.589383378856e-02 --2.740484735483e-02 -2.884240842504e-02 -3.020329925943e-02 -3.148450204645e-02 --3.268320543748e-02 -3.379681055569e-02 -3.482293646675e-02 -3.575942509999e-02 --3.660434561055e-02 -3.735599817388e-02 -3.801291720575e-02 -3.857387400208e-02 --3.903787879458e-02 -3.940418221928e-02 -3.967227619680e-02 -3.984189422432e-02 --3.991301108094e-02 -3.988584194924e-02 -3.976084095732e-02 -3.953869914728e-02 --3.922034187691e-02 -3.880692566323e-02 -3.829983447740e-02 -3.770067550228e-02 --3.701127436464e-02 -3.623366985568e-02 -3.537010815444e-02 -3.442303657002e-02 --3.339509681946e-02 -3.228911785923e-02 -3.110810828940e-02 -2.985524835046e-02 --2.853388153354e-02 -2.714750582588e-02 -2.569976461398e-02 -2.419443726774e-02 --2.263542942962e-02 -2.102676303320e-02 -1.937256607656e-02 -1.767706217584e-02 --1.594455992534e-02 -1.417944209042e-02 -1.238615466005e-02 -1.056919578607e-02 --8.733104636253e-03 -6.882450188568e-03 -5.021819993921e-03 -3.155808934758e-03 --1.289008006752e-03 5.740068493430e-04 2.428685838783e-03 4.270516300273e-03 -6.095033563517e-03 7.897831651018e-03 9.674573798760e-03 1.142100277091e-02 -1.313295094430e-02 1.480635013898e-02 1.643724117206e-02 1.802178311248e-02 -1.955626221549e-02 2.103710051615e-02 2.246086406235e-02 2.382427076859e-02 -2.512419787273e-02 2.635768897918e-02 2.752196067273e-02 2.861440868857e-02 -2.963261362498e-02 3.057434618660e-02 3.143757194694e-02 3.222045562041e-02 -3.292136483523e-02 3.353887339954e-02 3.407176405486e-02 3.451903071165e-02 -3.487988016366e-02 3.515373327833e-02 3.534022566241e-02 3.543920780289e-02 -3.545074468464e-02 3.537511488750e-02 3.521280916677e-02 3.496452852234e-02 -3.463118176278e-02 3.421388257209e-02 3.371394608787e-02 3.313288500087e-02 -3.247240518699e-02 3.173440088389e-02 3.092094942553e-02 3.003430554875e-02 -2.907689528729e-02 2.805130946938e-02 2.696029683603e-02 2.580675679798e-02 -2.459373185012e-02 2.332439966292e-02 2.200206487120e-02 2.063015058108e-02 -1.921218961681e-02 1.775181552949e-02 1.625275339036e-02 1.471881039172e-02 -1.315386627900e-02 1.156186363765e-02 9.946798059158e-03 8.312708210192e-03 -6.663665829604e-03 5.003765677650e-03 3.337115462101e-03 1.667825765779e-03 -3.234571482622e-15 -1.662275591703e-03 -3.314941855525e-03 -4.953976550982e-03 --6.575404052716e-03 - Type L N - 0 1 9 -0.000000000000e+00 1.830358174210e-02 3.657403808490e-02 5.477831499715e-02 -7.288350101641e-02 9.085689811520e-02 1.086660920666e-01 1.262790221443e-01 -1.436640499936e-01 1.607900275125e-01 1.776263635835e-01 1.941430895004e-01 -2.103109229381e-01 2.261013303140e-01 2.414865873988e-01 2.564398380332e-01 -2.709351508156e-01 2.849475736296e-01 2.984531858842e-01 3.114291483481e-01 -3.238537504622e-01 3.357064550233e-01 3.469679401358e-01 3.576201383384e-01 -3.676462728158e-01 3.770308906151e-01 3.857598927944e-01 3.938205614351e-01 -4.012015834617e-01 4.078930712177e-01 4.138865797541e-01 4.191751207972e-01 -4.237531733675e-01 4.276166910331e-01 4.307631057854e-01 4.331913285360e-01 -4.349017462416e-01 4.358962156689e-01 4.361780538247e-01 4.357520250791e-01 -4.346243250218e-01 4.328025610972e-01 4.302957300717e-01 4.271141923958e-01 -4.232696435290e-01 4.187750823041e-01 4.136447764136e-01 4.078942251090e-01 -4.015401192086e-01 3.946002985174e-01 3.870937067674e-01 3.790403441931e-01 -3.704612178630e-01 3.613782898909e-01 3.518144236589e-01 3.417933281848e-01 -3.313395007746e-01 3.204781681009e-01 3.092352258544e-01 2.976371771166e-01 -2.857110696066e-01 2.734844319544e-01 2.609852091583e-01 2.482416973830e-01 -2.352824782561e-01 2.221363528245e-01 2.088322753284e-01 1.953992869526e-01 -1.818664497150e-01 1.682627806506e-01 1.546171864455e-01 1.409583986801e-01 -1.273149098309e-01 1.137149101839e-01 1.001862258071e-01 8.675625772682e-02 -7.345192244858e-02 6.029959396153e-02 4.732504735816e-02 3.455340419908e-02 -2.200907974642e-02 9.715732184933e-03 -2.303786055728e-03 -1.402747476984e-02 --2.543423013342e-02 -3.650388645536e-02 -4.721725543241e-02 -5.755616282508e-02 --6.750348247854e-02 -7.704316761906e-02 -8.616027936410e-02 -9.484101239104e-02 --1.030727177169e-01 -1.108439225488e-01 -1.181443471731e-01 -1.249649188563e-01 --1.312977827426e-01 -1.371363097361e-01 -1.424751013654e-01 -1.473099916373e-01 --1.516380458899e-01 -1.554575566670e-01 -1.587680366408e-01 -1.615702086167e-01 --1.638659926636e-01 -1.656584904169e-01 -1.669519666121e-01 -1.677518279090e-01 --1.680645990773e-01 -1.678978966182e-01 -1.672603999032e-01 -1.661618199179e-01 --1.646128657023e-01 -1.626252085877e-01 -1.602114443317e-01 -1.573850532599e-01 --1.541603585270e-01 -1.505524826134e-01 -1.465773021787e-01 -1.422514013949e-01 --1.375920238872e-01 -1.326170234127e-01 -1.273448134092e-01 -1.217943155488e-01 --1.159849074327e-01 -1.099363695658e-01 -1.036688317492e-01 -9.720271903118e-02 --9.055869735635e-02 -8.375761905255e-02 -7.682046829625e-02 -6.976830669444e-02 --6.262221912132e-02 -5.540325994599e-02 -4.813239978587e-02 -4.083047291815e-02 --3.351812547938e-02 -2.621576458043e-02 -1.894350846070e-02 -1.172113780254e-02 --4.568048322596e-03 2.496795246826e-03 9.454903677738e-03 1.628830616362e-02 -2.297959153439e-02 2.951194767482e-02 3.586919905734e-02 4.203584230544e-02 -4.799707970983e-02 5.373885062489e-02 5.924786067938e-02 6.451160874110e-02 -6.951841158171e-02 7.425742619399e-02 7.871866972059e-02 8.289303695950e-02 -8.677231541825e-02 9.034919789536e-02 9.361729257421e-02 9.657113062115e-02 -9.920617128620e-02 1.015188045114e-01 1.035063510584e-01 1.051670601729e-01 -1.065001048107e-01 1.075055744564e-01 1.081844655702e-01 1.085386697071e-01 -1.085709593568e-01 1.082849715578e-01 1.076851893481e-01 1.067769211146e-01 -1.055662779148e-01 1.040601488446e-01 1.022661745321e-01 1.001927188440e-01 -9.784883889096e-02 9.524425342656e-02 9.238930973593e-02 8.929494911340e-02 -8.597267103297e-02 8.243449611708e-02 7.869292801214e-02 7.476091428152e-02 -7.065180642847e-02 6.637931916320e-02 6.195748902942e-02 5.740063250685e-02 -5.272330370674e-02 4.794025177762e-02 4.306637813898e-02 3.811669365958e-02 -3.310627589716e-02 2.805022651502e-02 2.296362898958e-02 1.786150672202e-02 -1.275878166461e-02 7.670233570794e-03 2.610459975239e-03 -2.406162992260e-03 --7.365518858348e-03 -1.225378802552e-02 -1.705748386522e-02 -2.176348759424e-02 --2.635908184775e-02 -3.083198286669e-02 -3.517037122126e-02 -3.936292099701e-02 --4.339882737451e-02 -4.726783253870e-02 -5.096024985851e-02 -5.446698628319e-02 --5.777956290620e-02 -6.089013365359e-02 -6.379150205870e-02 -6.647713609080e-02 --6.894118101077e-02 -7.117847023244e-02 -7.318453417395e-02 -7.495560708904e-02 --7.648863187394e-02 -7.778126285084e-02 -7.883186653490e-02 -7.963952039699e-02 --8.020400963978e-02 -8.052582201049e-02 -8.060614067853e-02 -8.044683521154e-02 --8.005045068863e-02 -7.942019499406e-02 -7.855992433988e-02 -7.747412707017e-02 --7.616790580441e-02 -7.464695798128e-02 -7.291755486873e-02 -7.098651910953e-02 --6.886120087552e-02 -6.654945270702e-02 -6.405960311692e-02 -6.140042904224e-02 --5.858112722820e-02 -5.561128463271e-02 -5.250084794108e-02 -4.926009228271e-02 --4.589958924332e-02 -4.243017426745e-02 -3.886291354731e-02 -3.520907049454e-02 --3.148007189251e-02 -2.768747382652e-02 -2.384292748968e-02 -1.995814496188e-02 --1.604486505853e-02 -1.211481934533e-02 -8.179698413918e-03 -4.251118512063e-03 --3.405886206150e-04 3.540521932676e-03 7.381015234165e-03 1.116989583429e-02 -1.489640100313e-02 1.855003011098e-02 2.212057305618e-02 2.559813766586e-02 -2.897317599822e-02 3.223650947904e-02 3.537935280821e-02 3.839333657641e-02 -4.127052853591e-02 4.400345347347e-02 4.658511163778e-02 4.900899567831e-02 -5.126910605653e-02 5.335996489552e-02 5.527662823829e-02 5.701469668990e-02 -5.857032442323e-02 5.994022653299e-02 6.112168472734e-02 6.211255135130e-02 -6.291125174084e-02 6.351678491138e-02 6.392872258900e-02 6.414720659753e-02 -6.417294461913e-02 6.400720435046e-02 6.365180608122e-02 6.310911372586e-02 -6.238202434376e-02 6.147395618708e-02 6.038883531963e-02 5.913108085371e-02 -5.770558885585e-02 5.611771497557e-02 5.437325585476e-02 5.247842937856e-02 -5.043985383133e-02 4.826452602414e-02 4.595979846304e-02 4.353335562925e-02 -4.099318944490e-02 3.834757399986e-02 3.560503961655e-02 3.277434633158e-02 -2.986445687386e-02 2.688450922004e-02 2.384378880891e-02 2.075170049681e-02 -1.761774033636e-02 1.445146726111e-02 1.126247475819e-02 8.060362610876e-03 -4.854708792171e-03 1.655041589786e-03 -1.529187958409e-03 -4.688633240530e-03 --7.814078782147e-03 -1.089646641850e-02 -1.392692085488e-02 -1.689677454470e-02 --1.979759181718e-02 -2.262119218908e-02 -2.535967279759e-02 -2.800542989440e-02 --3.055117934399e-02 -3.298997607227e-02 -3.531523241523e-02 -3.752073532041e-02 --3.960066235785e-02 -4.154959650055e-02 -4.336253963851e-02 -4.503492479416e-02 --4.656262701073e-02 -4.794197288940e-02 -4.916974875494e-02 -5.024320743357e-02 --5.116007363092e-02 -5.191854790218e-02 -5.251730921045e-02 -5.295551607350e-02 --5.323280630334e-02 -5.334929534672e-02 -5.330557323923e-02 -5.310270018885e-02 --5.274220080962e-02 -5.222605702894e-02 -5.155669969654e-02 -5.073699892625e-02 --4.977025320544e-02 -4.866017731036e-02 -4.741088906890e-02 -4.602689501520e-02 --4.451307498402e-02 -4.287466569502e-02 -4.111724338018e-02 -3.924670550999e-02 --3.726925167637e-02 -3.519136369229e-02 -3.301978497043e-02 -3.076149924450e-02 --2.842370869875e-02 -2.601381157268e-02 -2.353937930868e-02 -2.100813331197e-02 --1.842792139238e-02 -1.580669395853e-02 -1.315248003518e-02 -1.047336317458e-02 --7.777457332796e-03 -5.072882781731e-03 -2.367742126867e-03 3.299034995427e-04 -3.012058001219e-03 5.670813568846e-03 8.298373552893e-03 1.088707489325e-02 -1.342941004226e-02 1.591804831964e-02 1.834585663938e-02 2.070591955138e-02 -2.299155854231e-02 2.519635054291e-02 2.731414559150e-02 2.933908360597e-02 -3.126561021970e-02 3.308849163934e-02 3.480282848584e-02 3.640406858313e-02 -3.788801866191e-02 3.925085494970e-02 4.048913262121e-02 4.159979408713e-02 -4.258017610231e-02 4.342801567831e-02 4.414145478860e-02 4.471904385849e-02 -4.515974403509e-02 4.546292823669e-02 4.562838098410e-02 4.565629702020e-02 -4.554727872752e-02 4.530233235705e-02 4.492286308491e-02 4.441066891690e-02 -4.376793346419e-02 4.299721761665e-02 4.210145014337e-02 4.108391725303e-02 -3.994825114943e-02 3.869841762072e-02 3.733870270295e-02 3.587369846167e-02 -3.430828793717e-02 3.264762930170e-02 3.089713927853e-02 2.906247587534e-02 -2.714952048553e-02 2.516435941306e-02 2.311326487786e-02 2.100267555991e-02 -1.883917674134e-02 1.662948010682e-02 1.438040326324e-02 1.209884904005e-02 -9.791784632412e-03 7.466220649033e-03 5.129190126911e-03 2.787727574883e-03 -4.488481075623e-04 -1.880473269300e-03 -4.193322161681e-03 -6.482865018936e-03 --8.742369035817e-03 -1.096522166770e-02 -1.314494970317e-02 -1.527523783979e-02 --1.734994671037e-02 -1.936313030911e-02 -2.130905276877e-02 -2.318220444232e-02 --2.497731724460e-02 -2.668937921196e-02 -2.831364824041e-02 -2.984566496514e-02 --3.128126474734e-02 -3.261658873654e-02 -3.384809397998e-02 -3.497256255322e-02 --3.598710968913e-02 -3.688919088565e-02 -3.767660797564e-02 -3.834751414526e-02 --3.890041789059e-02 -3.933418590523e-02 -3.964804489491e-02 -3.984158231818e-02 --3.991474605563e-02 -3.986784301293e-02 -3.970153666648e-02 -3.941684356308e-02 --3.901512878856e-02 -3.849810042285e-02 -3.786780300217e-02 -3.712661001169e-02 --3.627721543499e-02 -3.532262438894e-02 -3.426614287566e-02 -3.311136668538e-02 --3.186216948641e-02 -3.052269014089e-02 -2.909731928684e-02 -2.759068522925e-02 --2.600763918471e-02 -2.435323992584e-02 -2.263273787325e-02 -2.085155868453e-02 --1.901528639060e-02 -1.712964613127e-02 -1.520048654261e-02 -1.323376184967e-02 --1.123551371869e-02 -9.211852923402e-03 -7.168940880532e-03 -5.112971109536e-03 --3.050150671791e-03 -9.866816442555e-04 1.071257317729e-03 3.117529274252e-03 -5.146057097701e-03 7.150841319863e-03 9.125977677427e-03 1.106567430511e-02 -1.296426852686e-02 1.481624319706e-02 1.661624254499e-02 1.835908747760e-02 -2.003979029747e-02 2.165356879447e-02 2.319585967185e-02 2.466233126973e-02 -2.604889555069e-02 2.735171931510e-02 2.856723461572e-02 2.969214834385e-02 -3.072345096179e-02 3.165842435904e-02 3.249464881219e-02 3.323000903138e-02 -3.386269927885e-02 3.439122754791e-02 3.481441879354e-02 3.513141720857e-02 -3.534168754237e-02 3.544501546162e-02 3.544150695593e-02 3.533158679331e-02 -3.511599603395e-02 3.479578861309e-02 3.437232700647e-02 3.384727699485e-02 -3.322260154632e-02 3.250055383794e-02 3.168366944046e-02 3.077475769253e-02 -2.977689229300e-02 2.869340114195e-02 2.752785546354e-02 2.628405824548e-02 -2.496603203204e-02 2.357800610901e-02 2.212440312114e-02 2.060982516361e-02 -1.903903939084e-02 1.741696318714e-02 1.574864894472e-02 1.403926849582e-02 -1.229409724626e-02 1.051849805872e-02 8.717904934536e-03 6.897806543011e-03 -5.063729647956e-03 3.221222480840e-03 1.375838110240e-03 -4.668821430431e-04 --2.301425196093e-03 -4.122322550559e-03 -5.924166447871e-03 -7.701625785658e-03 --9.449461748942e-03 -1.116254311066e-02 -1.283586115725e-02 -1.446454419619e-02 --1.604387160401e-02 -1.756928737443e-02 -1.903641312830e-02 -2.044106054845e-02 --2.177924320460e-02 -2.304718773514e-02 -2.424134435498e-02 -2.535839666045e-02 --2.639527070462e-02 -2.734914331846e-02 -2.821744965592e-02 -2.899788994295e-02 --2.968843541330e-02 -3.028733341619e-02 -3.079311168353e-02 -3.120458174679e-02 --3.152084149646e-02 -3.174127687922e-02 -3.186556273085e-02 -3.189366274530e-02 --3.182582858295e-02 -3.166259812364e-02 -3.140479287259e-02 -3.105351452977e-02 --3.061014073575e-02 -3.007632000953e-02 -2.945396589599e-02 -2.874525034323e-02 --2.795259633192e-02 -2.707866978123e-02 -2.612637075772e-02 -2.509882401582e-02 --2.399936890015e-02 -2.283154864200e-02 -2.159909908372e-02 -2.030593686649e-02 --1.895614711856e-02 -1.755397068200e-02 -1.610379091781e-02 -1.461012012981e-02 --1.307758564908e-02 -1.151091562159e-02 -9.914924542104e-03 -8.294498578460e-03 --6.654580730483e-03 -5.000155868316e-03 -3.336235695113e-03 -1.667843679102e-03 --1.539767840045e-15 1.662293445418e-03 3.314067934178e-03 4.950402660314e-03 -6.566439287048e-03 - Type L N - 0 1 10 -0.000000000000e+00 2.004864164329e-02 4.005374818686e-02 5.997189707219e-02 -7.975989050636e-02 9.937486705384e-02 1.187744122816e-01 1.379166681467e-01 -1.567604408180e-01 1.752653066309e-01 1.933917158755e-01 2.111010941297e-01 -2.283559408516e-01 2.451199249570e-01 2.613579771150e-01 2.770363785041e-01 -2.921228457845e-01 3.065866120476e-01 3.203985035237e-01 3.335310118337e-01 -3.459583615878e-01 3.576565731488e-01 3.686035203875e-01 3.787789832775e-01 -3.881646951877e-01 3.967443847496e-01 4.045038121897e-01 4.114308000356e-01 -4.175152581199e-01 4.227492028224e-01 4.271267705091e-01 4.306442251418e-01 -4.332999600511e-01 4.350944938804e-01 4.360304607265e-01 4.361125945205e-01 -4.353477077066e-01 4.337446642945e-01 4.313143473783e-01 4.280696212279e-01 -4.240252880779e-01 4.191980397498e-01 4.136064042641e-01 4.072706876057e-01 -4.002129108269e-01 3.924567426797e-01 3.840274279856e-01 3.749517119611e-01 -3.652577607274e-01 3.549750782466e-01 3.441344199325e-01 3.327677031962e-01 -3.209079151926e-01 3.085890180434e-01 2.958458518164e-01 2.827140355489e-01 -2.692298666055e-01 2.554302186671e-01 2.413524386478e-01 2.270342428415e-01 -2.125136125998e-01 1.978286898425e-01 1.830176727020e-01 1.681187116030e-01 -1.531698060731e-01 1.382087025797e-01 1.232727936826e-01 1.083990187879e-01 -9.362376678147e-02 7.898278081579e-02 6.451106551345e-02 5.024279684566e-02 -3.621123493252e-02 2.244864000347e-02 8.986191745619e-03 -4.146087743652e-03 --1.691940719460e-02 -2.930627540092e-02 -4.128056627346e-02 -5.281757954507e-02 --6.389409697353e-02 -7.448843390387e-02 -8.458048606534e-02 -9.415177149377e-02 --1.031854674845e-01 -1.116664424970e-01 -1.195812829467e-01 -1.269183148374e-01 --1.336676201993e-01 -1.398210483195e-01 -1.453722217596e-01 -1.503165371794e-01 --1.546511609934e-01 -1.583750199077e-01 -1.614887863972e-01 -1.639948591984e-01 --1.658973389091e-01 -1.672019987983e-01 -1.679162509452e-01 -1.680491078393e-01 --1.676111395862e-01 -1.666144268762e-01 -1.650725098854e-01 -1.630003332896e-01 --1.604141875824e-01 -1.573316468998e-01 -1.537715035604e-01 -1.497536995435e-01 --1.452992551303e-01 -1.404301949456e-01 -1.351694716394e-01 -1.295408874580e-01 --1.235690139552e-01 -1.172791101008e-01 -1.106970390463e-01 -1.038491838104e-01 --9.676236214780e-02 -8.946374086651e-02 -8.198074985927e-02 -7.434099611248e-02 --6.657217795589e-02 -5.870199981310e-02 -5.075808771010e-02 -4.276790579488e-02 --3.475867411658e-02 -2.675728790703e-02 -1.879023860142e-02 -1.088353682792e-02 --3.062637588332e-03 4.647632156173e-03 1.222314328917e-02 1.964053153738e-02 -2.687726147770e-02 3.391168737783e-02 4.072311070645e-02 4.729183416044e-02 -5.359921206845e-02 5.962769704250e-02 6.536088276179e-02 7.078354278585e-02 -7.588166530734e-02 8.064248376806e-02 8.505450327531e-02 8.910752276941e-02 -9.279265290674e-02 9.610232963664e-02 9.903032346394e-02 1.015717444029e-01 -1.037230426415e-01 1.054820049488e-01 1.068477468715e-01 1.078207007777e-01 -1.084025998205e-01 1.085964579047e-01 1.084065457533e-01 1.078383631812e-01 -1.068986076957e-01 1.055951395535e-01 1.039369434151e-01 1.019340867459e-01 -9.959767512544e-02 9.693980463058e-02 9.397351147173e-02 9.071271906439e-02 -8.717218272780e-02 8.336743220780e-02 7.931471222655e-02 7.503092126704e-02 -7.053354880411e-02 6.584061119752e-02 6.097058646507e-02 5.594234815611e-02 -5.077509854694e-02 4.548830138022e-02 4.010161437038e-02 3.463482169635e-02 -2.910776670111e-02 2.354028501549e-02 1.795213832078e-02 1.236294896080e-02 -6.792135610295e-03 1.258850200934e-03 -4.218083698605e-03 -9.620230858748e-03 --1.492960253797e-02 -2.012871262865e-02 -2.520063163165e-02 -3.012903829971e-02 --3.489826879872e-02 -3.949336324477e-02 -4.390010948483e-02 -4.810508399883e-02 --5.209568981097e-02 -5.586019130913e-02 -5.938774588175e-02 -6.266843229296e-02 --6.569327572773e-02 -6.845426945066e-02 -7.094439303319e-02 -7.315762711593e-02 --7.508896468429e-02 -7.673441884752e-02 -7.809102712250e-02 -7.915685223563e-02 --7.993097946722e-02 -8.041351057425e-02 -8.060555433844e-02 -8.050921379745e-02 --8.012757022741e-02 -7.946466395572e-02 -7.852547209259e-02 -7.731588327969e-02 --7.584266956346e-02 -7.411345550934e-02 -7.213668468178e-02 -6.992158362252e-02 --6.747812346730e-02 -6.481697934799e-02 -6.194948773330e-02 -5.888760186748e-02 --5.564384547130e-02 -5.223126487436e-02 -4.866337975202e-02 -4.495413264360e-02 --4.111783743128e-02 -3.716912696158e-02 -3.312289999281e-02 -2.899426765287e-02 --2.479849959220e-02 -2.055097001649e-02 -1.626710378278e-02 -1.196232274131e-02 --7.651992503055e-03 -3.351369810803e-03 9.244493122807e-04 5.160580465896e-03 -9.342400661638e-03 1.345559683653e-02 1.748621293522e-02 2.142069541087e-02 -2.524593700109e-02 2.894931864218e-02 3.251874939191e-02 3.594270423906e-02 -3.921025968548e-02 4.231112699506e-02 4.523568301251e-02 4.797499846364e-02 -5.052086365817e-02 5.286581152518e-02 5.500313792111e-02 5.692691915965e-02 -5.863202672279e-02 6.011413912208e-02 6.136975088909e-02 6.239617868396e-02 -6.319156452082e-02 6.375487611866e-02 6.408590439613e-02 6.418525813809e-02 -6.405435587152e-02 6.369541499742e-02 6.311143823471e-02 6.230619744047e-02 -6.128421488011e-02 6.005074202860e-02 5.861173599241e-02 5.697383364896e-02 -5.514432360789e-02 5.313111610504e-02 5.094271094654e-02 4.858816362643e-02 -4.607704974642e-02 4.341942787185e-02 4.062580096206e-02 3.770707651766e-02 -3.467452559057e-02 3.153974080592e-02 2.831459354694e-02 2.501119045654e-02 -2.164182941010e-02 1.821895511529e-02 1.475511449471e-02 1.126291200738e-02 -7.754965063920e-03 4.243859689298e-03 7.421065851342e-04 -2.737902258719e-03 --6.183936256412e-03 -9.583968078509e-03 -1.292621452469e-02 -1.619917628107e-02 --1.939167643117e-02 -2.249289759449e-02 -2.549241757245e-02 -2.838024338689e-02 --3.114684360294e-02 -3.378317883446e-02 -3.628073033708e-02 -3.863152660118e-02 --4.082816786452e-02 -4.286384847181e-02 -4.473237701661e-02 -4.642819420862e-02 --4.794638841819e-02 -4.928270885753e-02 -5.043357636716e-02 -5.139609178411e-02 --5.216804187731e-02 -5.274790284372e-02 -5.313484136769e-02 -5.332871325409e-02 --5.333005965434e-02 -5.314010091262e-02 -5.276072806770e-02 -5.219449205378e-02 --5.144459065131e-02 -5.051485324662e-02 -4.940972346612e-02 -4.813423975813e-02 --4.669401400190e-02 -4.509520822999e-02 -4.334450955621e-02 -4.144910340686e-02 --3.941664515877e-02 -3.725523029218e-02 -3.497336317145e-02 -3.257992457041e-02 --3.008413806323e-02 -2.749553540467e-02 -2.482392102666e-02 -2.207933578043e-02 --1.927202005531e-02 -1.641237640686e-02 -1.351093182804e-02 -1.057829979737e-02 --7.625142238595e-03 -4.662131525298e-03 -1.699912663701e-03 1.250934214945e-03 -4.179930922482e-03 7.076737714922e-03 9.931189101533e-03 1.273332884009e-02 -1.547344399990e-02 1.814209797818e-02 2.073016235946e-02 2.322884751252e-02 -2.562973182413e-02 2.792478947434e-02 3.010641666348e-02 3.216745620708e-02 -3.410122042100e-02 3.590151222541e-02 3.756264440283e-02 3.907945695250e-02 -4.044733248991e-02 4.166220964770e-02 4.272059444137e-02 4.361956957043e-02 -4.435680163298e-02 4.493054623945e-02 4.533965101810e-02 4.558355651299e-02 -4.566229498192e-02 4.557648710952e-02 4.532733665778e-02 4.491662308349e-02 -4.434669215893e-02 4.362044463923e-02 4.274132302606e-02 4.171329648416e-02 -4.054084397319e-02 3.922893566336e-02 3.778301270904e-02 3.620896545993e-02 -3.451311019452e-02 3.270216446519e-02 3.078322114897e-02 2.876372130186e-02 -2.665142591846e-02 2.445438670201e-02 2.218091595286e-02 1.983955568594e-02 -1.743904609016e-02 1.498829344416e-02 1.249633760444e-02 9.972319182722e-03 -7.425446529940e-03 4.864962644432e-03 2.300112121540e-03 -2.598917388347e-04 --2.805899551278e-03 -5.328858076613e-03 -7.819841954325e-03 -1.027008482593e-02 --1.267100974223e-02 -1.501425875040e-02 -1.729172156025e-02 -1.949556319270e-02 --2.161825051761e-02 -2.365257759228e-02 -2.559168971691e-02 -2.742910612772e-02 --2.915874125420e-02 -3.077492447184e-02 -3.227241828756e-02 -3.364643490095e-02 --3.489265109020e-02 -3.600722137795e-02 -3.698678943834e-02 -3.782849771329e-02 --3.852999521197e-02 -3.908944347460e-02 -3.950552068759e-02 -3.977742394431e-02 --3.990486965171e-02 -3.988809209007e-02 -3.972784013937e-02 -3.942537219222e-02 --3.898244927969e-02 -3.840132644254e-02 -3.768474238633e-02 -3.683590746490e-02 --3.585849004241e-02 -3.475660128944e-02 -3.353477847430e-02 -3.219796681543e-02 --3.075149996562e-02 -2.920107920358e-02 -2.755275141222e-02 -2.581288592724e-02 --2.398815034318e-02 -2.208548536733e-02 -2.011207881489e-02 -1.807533884159e-02 --1.598286651190e-02 -1.384242780324e-02 -1.166192514795e-02 -9.449368616029e-03 --7.212846842601e-03 -4.960497804243e-03 -2.700479548737e-03 -4.409409822704e-04 -1.810007182417e-03 4.044321214475e-03 6.254052788899e-03 8.431376946610e-03 -1.056861949336e-02 1.265828374257e-02 1.469307650983e-02 1.666593327010e-02 -1.857004239157e-02 2.039886836419e-02 2.214617394453e-02 2.380604114285e-02 -2.537289098282e-02 2.684150196859e-02 2.820702719934e-02 2.946501007592e-02 -3.061139854973e-02 3.164255786935e-02 3.255528178579e-02 3.334680218296e-02 -3.401479710578e-02 3.455739716389e-02 3.497319029498e-02 3.526122487769e-02 -3.542101118961e-02 3.545252121225e-02 3.535618679028e-02 3.513289615849e-02 -3.478398885543e-02 3.431124904846e-02 3.371689730043e-02 3.300358081369e-02 -3.217436219224e-02 3.123270676812e-02 3.018246854296e-02 2.902787480027e-02 -2.777350944864e-02 2.642429516031e-02 2.498547437342e-02 2.346258923028e-02 -2.186146052724e-02 2.018816575514e-02 1.844901631213e-02 1.665053397331e-02 -1.479942670392e-02 1.290256390496e-02 1.096695118144e-02 8.999704725225e-03 -7.008025405165e-03 4.999172657959e-03 2.980438273595e-03 9.591201691588e-04 --1.057503755487e-03 -3.062201587306e-03 -5.047813103120e-03 -7.007275115486e-03 --8.933646372492e-03 -1.082013192444e-02 -1.266010687264e-02 -1.444713941799e-02 --1.617501313000e-02 -1.783774835972e-02 -1.942962272361e-02 -2.094519058887e-02 --2.237930149457e-02 -2.372711744690e-02 -2.498412903130e-02 -2.614617028833e-02 --2.720943230507e-02 -2.817047547839e-02 -2.902624041133e-02 -2.977405740903e-02 --3.041165454542e-02 -3.093716427746e-02 -3.134912858868e-02 -3.164650264916e-02 --3.182865698466e-02 -3.189537815236e-02 -3.184686792677e-02 -3.168374100401e-02 --3.140702123818e-02 -3.101813642883e-02 -3.051891168338e-02 -2.991156138346e-02 --2.919867978912e-02 -2.838323031923e-02 -2.746853355148e-02 -2.645825398932e-02 --2.535638564767e-02 -2.416723651317e-02 -2.289541193861e-02 -2.154579703466e-02 --2.012353812540e-02 -1.863402333740e-02 -1.708286239459e-02 -1.547586569425e-02 --1.381902274107e-02 -1.211848001905e-02 -1.038051838184e-02 -8.611530044460e-03 --6.817995259627e-03 -5.006458763405e-03 -3.183506074999e-03 -1.355739735954e-03 -4.702444261774e-04 2.287880924952e-03 4.090658048933e-03 5.872141019292e-03 -7.625994789379e-03 9.346006406019e-03 1.102610685420e-02 1.266039230890e-02 -1.424314472013e-02 1.576885166011e-02 1.723222536401e-02 1.862822089924e-02 -1.995205340120e-02 2.119921431727e-02 2.236548660433e-02 2.344695882920e-02 -2.444003812529e-02 2.534146196321e-02 2.614830869725e-02 2.685800685435e-02 -2.746834313655e-02 2.797746911293e-02 2.838390658129e-02 2.868655158536e-02 -2.888467707741e-02 2.897793422157e-02 2.896635233780e-02 2.885033749128e-02 -2.863066973694e-02 2.830849903352e-02 2.788533984624e-02 2.736306446191e-02 -2.674389504468e-02 2.603039446512e-02 2.522545593952e-02 2.433229152056e-02 -2.335441948430e-02 2.229565066234e-02 2.116007377167e-02 1.995203979781e-02 -1.867614549062e-02 1.733721603445e-02 1.594028695760e-02 1.449058534836e-02 -1.299351044696e-02 1.145461368516e-02 9.879578246670e-03 8.274198223086e-03 -6.644357441323e-03 4.996008039433e-03 3.335148868278e-03 1.667803796964e-03 -3.832333388677e-15 -1.662253695995e-03 -3.312988328793e-03 -4.946296103549e-03 --6.556351406844e-03 - Type L N - 0 1 11 -0.000000000000e+00 2.179313647908e-02 4.353035148500e-02 6.515589437070e-02 -8.661435557316e-02 1.078508357368e-01 1.288111131402e-01 1.494418088701e-01 -1.696905491932e-01 1.895061245890e-01 2.088386449143e-01 2.276396901883e-01 -2.458624564983e-01 2.634618965462e-01 2.803948543723e-01 2.966201938157e-01 -3.120989202896e-01 3.267942954758e-01 3.406719445652e-01 3.536999556995e-01 -3.658489712929e-01 3.770922709447e-01 3.874058456805e-01 3.967684632900e-01 -4.051617245613e-01 4.125701102424e-01 4.189810185926e-01 4.243847934197e-01 -4.287747425303e-01 4.321471465559e-01 4.345012581483e-01 4.358392915717e-01 -4.361664027526e-01 4.354906598801e-01 4.338230046825e-01 4.311772045361e-01 -4.275697955963e-01 4.230200171681e-01 4.175497375648e-01 4.111833717325e-01 -4.039477909438e-01 3.958722248923e-01 3.869881565445e-01 3.773292101283e-01 -3.669310326625e-01 3.558311694484e-01 3.440689339701e-01 3.316852726619e-01 -3.187226250217e-01 3.052247795617e-01 2.912367261015e-01 2.768045049186e-01 -2.619750532809e-01 2.467960498929e-01 2.313157577933e-01 2.155828662428e-01 -1.996463321450e-01 1.835552215413e-01 1.673585517181e-01 1.511051344618e-01 -1.348434209883e-01 1.186213490687e-01 1.024861928608e-01 8.648441594503e-02 -7.066152805026e-02 5.506194593974e-02 3.972885891084e-02 2.470409934367e-02 -1.002801871455e-02 -4.260630531350e-03 -1.812480687587e-02 -3.152928504390e-02 --4.444075441587e-02 -5.682791023875e-02 -6.866153736488e-02 -7.991458627492e-02 --9.056224117035e-02 -1.005819799495e-01 -1.099536259108e-01 -1.186593910576e-01 --1.266839109077e-01 -1.340142707436e-01 -1.406400232677e-01 -1.465531976587e-01 --1.517483000572e-01 -1.562223055341e-01 -1.599746416325e-01 -1.630071635954e-01 --1.653241214276e-01 -1.669321189622e-01 -1.678400651353e-01 -1.680591176933e-01 --1.676026195889e-01 -1.664860283409e-01 -1.647268386600e-01 -1.623444986645e-01 --1.593603200295e-01 -1.557973824329e-01 -1.516804326828e-01 -1.470357789218e-01 --1.418911803256e-01 -1.362757327206e-01 -1.302197505626e-01 -1.237546457239e-01 --1.169128035497e-01 -1.097274566472e-01 -1.022325568785e-01 -9.446264603178e-02 --8.645272564422e-02 -7.823812645441e-02 -6.985437795556e-02 -6.133707852051e-02 --5.272176656260e-02 -4.404379319008e-02 -3.533819680296e-02 -2.663958007102e-02 --1.798198971996e-02 -9.398799539355e-03 -9.225970114397e-04 7.414926056442e-03 -1.558307853021e-02 2.355227023146e-02 3.129410717687e-02 3.878148146859e-02 -4.598865555143e-02 5.289134057545e-02 5.946676862642e-02 6.569375861076e-02 -7.155277560676e-02 7.702598351955e-02 8.209729090292e-02 8.675238983800e-02 -9.097878778495e-02 9.476583235083e-02 9.810472894348e-02 1.009885513080e-01 -1.034122449693e-01 1.053726236294e-01 1.068683585957e-01 1.078999613413e-01 -1.084697593221e-01 1.085818652020e-01 1.082421396595e-01 1.074581479724e-01 -1.062391105989e-01 1.045958479944e-01 1.025407199239e-01 1.000875595466e-01 -9.725160257056e-02 9.404941178636e-02 9.049879730973e-02 8.661873287188e-02 -8.242926851147e-02 7.795144003197e-02 7.320717559788e-02 6.821919985121e-02 -6.301093593613e-02 5.760640582461e-02 5.203012933925e-02 4.630702227151e-02 -4.046229399383e-02 3.452134496283e-02 2.850966450844e-02 2.245272929924e-02 -1.637590286890e-02 1.030433658157e-02 4.262872405336e-03 -1.724052146652e-03 --7.632496559132e-03 -1.343910700584e-02 -1.912120286645e-02 -2.465685976182e-02 --3.002498881579e-02 -3.520541186869e-02 -4.017893238544e-02 -4.492740181995e-02 --4.943378121662e-02 -5.368219785040e-02 -5.765799672723e-02 -6.134778678827e-02 --6.473948168299e-02 -6.782233499842e-02 -7.058696985439e-02 -7.302540279695e-02 --7.513106194530e-02 -7.689879936999e-02 -7.832489770306e-02 -7.940707100312e-02 --8.014445992091e-02 -8.053762123268e-02 -8.058851183007e-02 -8.030046727682e-02 --7.967817506226e-02 -7.872764270218e-02 -7.745616085613e-02 -7.587226164889e-02 --7.398567240102e-02 -7.180726499017e-02 -6.934900108004e-02 -6.662387346879e-02 --6.364584382149e-02 -6.042977706421e-02 -5.699137272778e-02 -5.334709353956e-02 --4.951409156995e-02 -4.551013224788e-02 -4.135351656568e-02 -3.706300179806e-02 --3.265772106416e-02 -2.815710206293e-02 -2.358078531356e-02 -1.894854223191e-02 --1.428019337201e-02 -9.595527158838e-03 -4.914219434093e-03 -2.557541309840e-04 -4.360654612551e-03 8.916138600968e-03 1.339224969642e-02 1.777103162032e-02 -2.203508917061e-02 2.616765459631e-02 3.015265088436e-02 3.397475172781e-02 -3.761943795926e-02 4.107305024936e-02 4.432283788633e-02 4.735700346988e-02 -5.016474336993e-02 5.273628381917e-02 5.506291252654e-02 5.713700571763e-02 -5.895205052719e-02 6.050266268794e-02 6.178459947919e-02 6.279476791836e-02 -6.353122819741e-02 6.399319238558e-02 6.418101843872e-02 6.409619957396e-02 -6.374134908698e-02 6.312018070691e-02 6.223748460108e-02 6.109909915894e-02 -5.971187870037e-02 5.808365726915e-02 5.622320868722e-02 5.414020305894e-02 -5.184515992814e-02 4.934939830240e-02 4.666498377061e-02 4.380467294984e-02 -4.078185550705e-02 3.761049400912e-02 3.430506186180e-02 3.088047960438e-02 -2.735204983156e-02 2.373539101786e-02 2.004637052257e-02 1.630103705456e-02 -1.251555287685e-02 8.706126029876e-03 4.888942850580e-03 1.080101061262e-03 --2.704456301719e-03 -6.449005854733e-03 -1.013810747059e-02 -1.375666626791e-02 --1.728999274300e-02 -2.072386081036e-02 -2.404456352797e-02 -2.723896629411e-02 --3.029455731476e-02 -3.319949515228e-02 -3.594265317999e-02 -3.851366078028e-02 --4.090294113888e-02 -4.310174550227e-02 -4.510218378084e-02 -4.689725139583e-02 --4.848085228438e-02 -4.984781799297e-02 -5.099392280627e-02 -5.191589487472e-02 --5.261142332107e-02 -5.307916132229e-02 -5.331872518030e-02 -5.333068941089e-02 --5.311657789653e-02 -5.267885116464e-02 -5.202088986843e-02 -5.114697456235e-02 --5.006226187908e-02 -4.877275722901e-02 -4.728528415663e-02 -4.560745050123e-02 --4.374761152173e-02 -4.171483015650e-02 -3.951883460044e-02 -3.716997339087e-02 --3.467916820333e-02 -3.205786456648e-02 -2.931798071251e-02 -2.647185478601e-02 --2.353219063955e-02 -2.051200244886e-02 -1.742455838377e-02 -1.428332357382e-02 --1.110190260871e-02 -7.893981814469e-03 -4.673271545616e-03 -1.453448732228e-03 -1.751900081738e-03 4.929334975789e-03 8.065617937246e-03 1.114776696915e-02 -1.416310880441e-02 1.709933001595e-02 1.994452632029e-02 2.268724988081e-02 -2.531655442606e-02 2.782203800892e-02 3.019388324267e-02 3.242289486188e-02 -3.450053446752e-02 3.641895232851e-02 3.817101612440e-02 3.975033652761e-02 -4.115128953698e-02 4.236903548838e-02 4.339953468251e-02 4.423955958394e-02 -4.488670356038e-02 4.533938614526e-02 4.559685482141e-02 4.565918333805e-02 -4.552726658742e-02 4.520281208183e-02 4.468832808529e-02 4.398710846806e-02 -4.310321436509e-02 4.204145273253e-02 4.080735190866e-02 3.940713429764e-02 -3.784768630540e-02 3.613652566818e-02 3.428176632399e-02 3.229208098661e-02 -3.017666159085e-02 2.794517778511e-02 2.560773365507e-02 2.317482286836e-02 -2.065728243558e-02 1.806624528813e-02 1.541309187673e-02 1.270940099779e-02 -9.966900056893e-03 7.197414979788e-03 4.412819981767e-03 1.624987405761e-03 --1.154262161871e-03 -3.913209291151e-03 -6.640284420206e-03 -9.324115679194e-03 --1.195357563138e-02 -1.451782674183e-02 -1.700636539054e-02 -1.940906425357e-02 --2.171621288381e-02 -2.391855633098e-02 -2.600733164970e-02 -2.797430215388e-02 --2.981178928597e-02 -3.151270197986e-02 -3.307056340770e-02 -3.447953501202e-02 --3.573443773653e-02 -3.683077038102e-02 -3.776472501805e-02 -3.853319942200e-02 --3.913380647322e-02 -3.956488051348e-02 -3.982548064107e-02 -3.991539094731e-02 --3.983511770864e-02 -3.958588356111e-02 -3.916961869685e-02 -3.858894913381e-02 --3.784718212267e-02 -3.694828876587e-02 -3.589688393539e-02 -3.469820358660e-02 --3.335807957590e-02 -3.188291209987e-02 -3.027963988299e-02 -2.855570824968e-02 --2.671903522478e-02 -2.477797581401e-02 -2.274128462294e-02 -2.061807697903e-02 --1.841778872704e-02 -1.615013487255e-02 -1.382506725260e-02 -1.145273141545e-02 --9.043422894160e-03 -6.607543060106e-03 -4.155554743638e-03 -1.697937809094e-03 -7.548551292782e-04 3.192442665382e-03 5.604558050438e-03 7.981091953342e-03 -1.031213435602e-02 1.258801541199e-02 1.479934510156e-02 1.693705152268e-02 -1.899241766321e-02 2.095711650716e-02 2.282324433526e-02 2.458335208836e-02 -2.623047467085e-02 2.775815808054e-02 2.916048426097e-02 3.043209358222e-02 -3.156820486655e-02 3.256463288599e-02 3.341780326972e-02 3.412476477049e-02 -3.468319885036e-02 3.509142655758e-02 3.534841267794e-02 3.545376715538e-02 -3.540774378797e-02 3.521123621720e-02 3.486577123920e-02 3.437349947812e-02 -3.373718347255e-02 3.296018323647e-02 3.204643936670e-02 3.100045377861e-02 -2.982726816161e-02 2.853244025504e-02 2.712201805375e-02 2.560251206090e-02 -2.398086571340e-02 2.226442411211e-02 2.046090119586e-02 1.857834550417e-02 -1.662510467876e-02 1.460978885874e-02 1.254123312817e-02 1.042845917830e-02 -8.280636348997e-03 6.107042216126e-03 3.917022892714e-03 1.719953212175e-03 --4.748030382492e-04 -2.657932666617e-03 -4.820212242419e-03 -6.952546716402e-03 --9.046007333782e-03 -1.109186868417e-02 -1.308164473581e-02 -1.500712370661e-02 --1.686040163002e-02 -1.863391447977e-02 -2.032046872421e-02 -2.191327018802e-02 --2.340595110683e-02 -2.479259526816e-02 -2.606776114068e-02 -2.722650290280e-02 --2.826438929035e-02 -2.917752019323e-02 -2.996254094007e-02 -3.061665422028e-02 --3.113762960290e-02 -3.152381062200e-02 -3.177411940849e-02 -3.188805885902e-02 --3.186571234266e-02 -3.170774095667e-02 -3.141537835273e-02 -3.099042316541e-02 --3.043522908428e-02 -2.975269262116e-02 -2.894623863318e-02 -2.801980367190e-02 --2.697781723715e-02 -2.582518102325e-02 -2.456724625301e-02 -2.320978920269e-02 --2.175898502853e-02 -2.022138001172e-02 -1.860386234538e-02 -1.691363159244e-02 --1.515816694857e-02 -1.334519444867e-02 -1.148265325965e-02 -9.578661205024e-03 --7.641479670110e-03 -5.679478038152e-03 -3.701097809389e-03 -1.714816555726e-03 -2.708881362214e-04 2.247574581434e-03 4.206872621096e-03 6.140518806220e-03 -8.040390993455e-03 9.898542209267e-03 1.170723364232e-02 1.345896662807e-02 -1.514651349440e-02 1.676294714233e-02 1.830166924172e-02 1.975643692822e-02 -2.112138789423e-02 2.239106377415e-02 2.356043173148e-02 2.462490416344e-02 -2.558035644686e-02 2.642314265784e-02 2.715010920632e-02 2.775860633575e-02 -2.824649744724e-02 2.861216621701e-02 2.885452148515e-02 2.897299990333e-02 -2.896756633873e-02 2.883871204058e-02 2.858745058548e-02 2.821531162677e-02 -2.772433248241e-02 2.711704760501e-02 2.639647598612e-02 2.556610655562e-02 -2.462988164546e-02 2.359217859434e-02 2.245778957821e-02 2.123189975812e-02 -1.992006384398e-02 1.852818117902e-02 1.706246945562e-02 1.552943717875e-02 -1.393585499764e-02 1.228872603135e-02 1.059525531705e-02 8.862818513530e-03 -7.098929994781e-03 5.311210470988e-03 3.507354275343e-03 1.695096456355e-03 --1.178201845162e-04 -1.923677970274e-03 -3.714817002090e-03 -5.483667451956e-03 --7.222781358961e-03 -8.924863796434e-03 -1.058280328031e-02 -1.218970129275e-02 --1.373890079919e-02 -1.522401364171e-02 -1.663894669672e-02 -1.797792669063e-02 --1.923552357318e-02 -2.040667235442e-02 -2.148669331847e-02 -2.247131053399e-02 --2.335666858892e-02 -2.413934748492e-02 -2.481637563465e-02 -2.538524091358e-02 --2.584389972606e-02 -2.619078405428e-02 -2.642480646702e-02 -2.654536307404e-02 --2.655233442062e-02 -2.644608432550e-02 -2.622745667403e-02 -2.589777018717e-02 --2.545881119531e-02 -2.491282445423e-02 -2.426250204868e-02 -2.351097043711e-02 --2.266177569858e-02 -2.171886705035e-02 -2.068657871186e-02 -1.956961019731e-02 --1.837300512556e-02 -1.710212864223e-02 -1.576264355393e-02 -1.436048528026e-02 --1.290183573343e-02 -1.139309623976e-02 -9.840859620859e-03 -8.251881555604e-03 --6.633051346524e-03 -4.991362216394e-03 -3.333881262430e-03 -1.667719196465e-03 --1.252029249129e-15 1.662169377033e-03 3.311729145596e-03 4.941696507830e-03 -6.545195062944e-03 - Type L N - 0 1 12 -0.000000000000e+00 2.353708990158e-02 4.700372424124e-02 7.032969852654e-02 -9.344530942980e-02 1.162816029389e-01 1.387706196013e-01 1.608456359111e-01 -1.824414009039e-01 2.034943670446e-01 2.239429145167e-01 2.437275680475e-01 -2.627912054346e-01 2.810792569734e-01 2.985398950222e-01 3.151242129802e-01 -3.307863929987e-01 3.454838617916e-01 3.591774339565e-01 3.718314422736e-01 -3.834138544972e-01 3.938963762135e-01 4.032545393913e-01 4.114677763133e-01 -4.185194786323e-01 4.243970413570e-01 4.290918916348e-01 4.325995022568e-01 -4.349193898750e-01 4.360550979795e-01 4.360141647480e-01 4.348080759372e-01 -4.324522030470e-01 4.289657270467e-01 4.243715480088e-01 4.186961810524e-01 -4.119696390512e-01 4.042253026151e-01 3.954997778998e-01 3.858327428509e-01 -3.752667825307e-01 3.638472142173e-01 3.516219030072e-01 3.386410686858e-01 -3.249570846632e-01 3.106242698036e-01 2.956986739995e-01 2.802378583656e-01 -2.643006709472e-01 2.479470188474e-01 2.312376376950e-01 2.142338593760e-01 -1.969973789599e-01 1.795900217460e-01 1.620735113556e-01 1.445092397843e-01 -1.269580403177e-01 1.094799641977e-01 9.213406190838e-02 7.497816992517e-02 -5.806870374771e-02 4.146045800476e-02 2.520641438815e-02 9.357558136381e-03 --6.037296249583e-03 -2.093166941763e-02 -3.528157110542e-02 -4.904564305986e-02 --6.218529043189e-02 -7.466480119359e-02 -8.645145317610e-02 -9.751560838008e-02 --1.078307942646e-01 -1.173737717757e-01 -1.261245899322e-01 -1.340666268415e-01 --1.411866170774e-01 -1.474746654061e-01 -1.529242469034e-01 -1.575321935658e-01 --1.612986675667e-01 -1.642271213709e-01 -1.663242449674e-01 -1.675999005374e-01 --1.680670449203e-01 -1.677416402926e-01 -1.666425535187e-01 -1.647914446778e-01 --1.622126453124e-01 -1.589330269841e-01 -1.549818607578e-01 -1.503906682705e-01 --1.451930650704e-01 -1.394245969404e-01 -1.331225699455e-01 -1.263258749621e-01 --1.190748074691e-01 -1.114108833905e-01 -1.033766517948e-01 -9.501550526063e-02 --8.637148872350e-02 -7.748910761920e-02 -6.841313613556e-02 -5.918842637876e-02 --4.985971924994e-02 -4.047145781489e-02 -3.106760393315e-02 -2.169145889320e-02 --1.238548877768e-02 -3.191155256908e-03 5.851247519595e-03 1.470274929490e-02 -2.332585273513e-02 3.168467454995e-02 3.974507817269e-02 4.747479751034e-02 -5.484355131576e-02 6.182314777826e-02 6.838757897434e-02 7.451310486650e-02 -8.017832658628e-02 8.536424878543e-02 9.005433088884e-02 9.423452713178e-02 -9.789331531380e-02 1.010217142514e-01 1.036132899601e-01 1.056641506473e-01 -1.071729306415e-01 1.081407634361e-01 1.085712440671e-01 1.084703810920e-01 -1.078465384785e-01 1.067103677557e-01 1.050747308170e-01 1.029546138047e-01 -1.003670325408e-01 9.733093000097e-02 9.386706636109e-02 8.999790217305e-02 -8.574747525279e-02 8.114127188606e-02 7.620609297763e-02 7.096991578680e-02 -6.546175190632e-02 5.971150215286e-02 5.374980904527e-02 4.760790755214e-02 -4.131747479179e-02 3.491047936708e-02 2.841903101303e-02 2.187523122841e-02 -1.531102555213e-02 8.758058132643e-03 2.247529222459e-03 -4.189943788083e-03 --1.052446120516e-02 -1.672697116450e-02 -2.276939451983e-02 -2.862474397146e-02 --3.426723695013e-02 -3.967240180334e-02 -4.481717686565e-02 -4.968000202968e-02 --5.424090247206e-02 -5.848156422675e-02 -6.238540133771e-02 -6.593761436314e-02 --6.912524004507e-02 -7.193719199910e-02 -7.436429232180e-02 -7.639929405484e-02 --7.803689448736e-02 -7.927373932002e-02 -8.010841775533e-02 -8.054144862004e-02 --8.057525766524e-02 -8.021414622903e-02 -7.946425148455e-02 -7.833349853277e-02 --7.683154463486e-02 -7.496971591223e-02 -7.276093687458e-02 -7.021965316594e-02 --6.736174794674e-02 -6.420445235596e-02 -6.076625052070e-02 -5.706677960214e-02 --5.312672538540e-02 -4.896771393767e-02 -4.461219987235e-02 -4.008335176876e-02 --3.540493530523e-02 -3.060119466994e-02 -2.569673281675e-02 -2.071639113458e-02 --1.568512909669e-02 -1.062790445193e-02 -5.569554513084e-03 -5.346790876653e-04 -4.452474415033e-03 9.368123181620e-03 1.418905799432e-02 1.889274854904e-02 -2.345744462895e-02 2.786227269385e-02 3.208732747020e-02 3.611375815340e-02 -3.992384886211e-02 4.350109301388e-02 4.683026132252e-02 4.989746314961e-02 -5.269020097593e-02 5.519741779228e-02 5.740953724413e-02 5.931849639975e-02 -6.091777104672e-02 6.220239345799e-02 6.316896260401e-02 6.381564682340e-02 -6.414217899965e-02 6.414984432661e-02 6.384146077934e-02 6.322135244057e-02 -6.229531586555e-02 6.107057969925e-02 5.955575779032e-02 5.776079607494e-02 -5.569691353103e-02 5.337653752900e-02 5.081323392948e-02 4.802163230036e-02 -4.501734664615e-02 4.181689206068e-02 3.843759773068e-02 3.489751673178e-02 -3.121533307059e-02 2.741026643610e-02 2.350197513124e-02 1.951045766075e-02 -1.545595345435e-02 1.135884320487e-02 7.239549299492e-03 3.118436818400e-03 --9.842844310189e-04 -5.048656384379e-03 -9.055067245289e-03 -1.298434362790e-02 --1.681783989414e-02 -2.053752427915e-02 -2.412606141631e-02 -2.756689089357e-02 --3.084430149349e-02 -3.394350079322e-02 -3.685067982415e-02 -3.955307251732e-02 --4.203900968671e-02 -4.429796733090e-02 -4.632060906158e-02 -4.809882249738e-02 --4.962574949065e-02 -5.089581008577e-02 -5.190472013790e-02 -5.264950255174e-02 --5.312849213097e-02 -5.334133405930e-02 -5.328897606445e-02 -5.297365434650e-02 --5.239887338089e-02 -5.156937973537e-02 -5.049113006756e-02 -4.917125349694e-02 --4.761800857021e-02 -4.584073506414e-02 -4.384980089242e-02 -4.165654440541e-02 --3.927321239134e-02 -3.671289410659e-02 -3.398945167938e-02 -3.111744724624e-02 --2.811206719445e-02 -2.498904389459e-02 -2.176457531741e-02 -1.845524293660e-02 --1.507792832477e-02 -1.164972885379e-02 -8.187872912099e-03 -4.709635051572e-03 --1.232251474072e-03 2.227163736248e-03 5.651701235047e-03 9.024737502409e-03 -1.233001400794e-02 1.555171408592e-02 1.867453716340e-02 2.168376999907e-02 -2.456535460730e-02 2.730595255964e-02 2.989300537537e-02 3.231479073357e-02 -3.456047426051e-02 3.662015666949e-02 3.848491605360e-02 4.014684515668e-02 -4.159908347314e-02 4.283584405281e-02 4.385243491366e-02 4.464527499170e-02 -4.521190458397e-02 4.555099026790e-02 4.566232430652e-02 4.554681857598e-02 -4.520649307801e-02 4.464445912564e-02 4.386489731591e-02 4.287303042770e-02 -4.167509140666e-02 4.027828662191e-02 3.869075460117e-02 3.692152047148e-02 -3.498044635225e-02 3.287817796553e-02 3.062608774515e-02 2.823621474180e-02 -2.572120163483e-02 2.309422917390e-02 2.036894838409e-02 1.755941087725e-02 -1.467999761934e-02 1.174534650916e-02 8.770279127717e-03 5.769727019243e-03 -2.758657865373e-03 -2.479980876935e-04 -3.235420992346e-03 -6.188973401328e-03 --9.094270963014e-03 -1.193725147333e-02 -1.470424195731e-02 -1.738202346467e-02 --1.995789327655e-02 -2.241972423481e-02 -2.475602092095e-02 -2.695597242837e-02 --2.900950148962e-02 -3.090730973942e-02 -3.264091891419e-02 -3.420270780943e-02 --3.558594483822e-02 -3.678481605604e-02 -3.779444854007e-02 -3.861092903422e-02 --3.923131779467e-02 -3.965365759447e-02 -3.987697786926e-02 -3.990129401035e-02 --3.972760183458e-02 -3.935786728378e-02 -3.879501142990e-02 -3.804289088384e-02 --3.710627372834e-02 -3.599081111610e-02 -3.470300469494e-02 -3.325017004113e-02 --3.164039630063e-02 -2.988250225524e-02 -2.798598904736e-02 -2.596098981158e-02 --2.381821647562e-02 -2.156890400536e-02 -1.922475237966e-02 -1.679786659066e-02 --1.430069497284e-02 -1.174596617125e-02 -9.146625064051e-03 -6.515767958077e-03 --3.866577378258e-03 -1.212256771825e-03 1.434034552759e-03 4.059245935026e-03 -6.650499007036e-03 9.195150166160e-03 1.168085157626e-02 1.409561040614e-02 -1.642784602408e-02 1.866644487885e-02 2.080081280995e-02 2.282092454377e-02 -2.471737014747e-02 2.648139822798e-02 2.810495568084e-02 2.958072381109e-02 -3.090215066733e-02 3.206347944897e-02 3.305977286697e-02 3.388693335837e-02 -3.454171907583e-02 3.502175559447e-02 3.532554329940e-02 3.545246043867e-02 -3.540276184772e-02 3.517757337235e-02 3.477888203842e-02 3.420952203676e-02 -3.347315661224e-02 3.257425596523e-02 3.151807129299e-02 3.031060511655e-02 -2.895857805645e-02 2.746939223695e-02 2.585109151430e-02 2.411231873911e-02 -2.226227027654e-02 2.031064802024e-02 1.826760914738e-02 1.614371387180e-02 -1.394987146110e-02 1.169728479064e-02 9.397393713563e-03 7.061817530047e-03 -4.702296842670e-03 2.330635085978e-03 -4.135998106041e-05 -2.401934532288e-03 --4.739446396347e-03 -7.042421962398e-03 -9.299611993816e-03 -1.150004608071e-02 --1.363308546998e-02 -1.568847402071e-02 -1.765638704319e-02 -1.952747779094e-02 --2.129292138817e-02 -2.294445598809e-02 -2.447442097247e-02 -2.587579201777e-02 --2.714221286967e-02 -2.826802368440e-02 -2.924828581278e-02 -3.007880292119e-02 --3.075613836144e-02 -3.127762872114e-02 -3.164139350451e-02 -3.184634091319e-02 --3.189216971562e-02 -3.177936721315e-02 -3.150920332967e-02 -3.108372087090e-02 --3.050572201797e-02 -2.977875113787e-02 -2.890707401143e-02 -2.789565359657e-02 --2.675012246076e-02 -2.547675203290e-02 -2.408241883942e-02 -2.257456790371e-02 --2.096117350112e-02 -1.925069747389e-02 -1.745204532154e-02 -1.557452029241e-02 --1.362777571047e-02 -1.162176577991e-02 -9.566695115673e-03 -7.472967254063e-03 --5.351132400982e-03 -3.211834678294e-03 -1.065759130111e-03 1.076421249074e-03 -3.204098203719e-03 5.306780365748e-03 7.374144607736e-03 9.396086351181e-03 -1.136276858645e-02 1.326466936830e-02 1.509262755937e-02 1.683788660358e-02 -1.849213612178e-02 2.004755113398e-02 2.149682872434e-02 2.283322197900e-02 -2.405057104052e-02 2.514333113776e-02 2.610659746533e-02 2.693612680282e-02 -2.762835578046e-02 2.818041571472e-02 2.859014395465e-02 2.885609169692e-02 -2.897752824546e-02 2.895444170862e-02 2.878753614502e-02 2.847822518599e-02 -2.802862218038e-02 2.744152692387e-02 2.672040905195e-02 2.586938819154e-02 -2.489321098195e-02 2.379722509086e-02 2.258735036519e-02 2.127004727041e-02 -1.985228278456e-02 1.834149392510e-02 1.674554909766e-02 1.507270746599e-02 -1.333157655084e-02 1.153106827415e-02 9.680353671115e-03 7.788816498768e-03 -5.866005974164e-03 3.921588878623e-03 1.965301266782e-03 6.900020163358e-06 --1.943885515106e-03 -3.877401568169e-03 -5.784117425114e-03 -7.654672120294e-03 --9.479920109940e-03 -1.125097570653e-02 -1.295925605940e-02 -1.459652247490e-02 --1.615491987864e-02 -1.762701423181e-02 -1.900582772493e-02 -2.028487158338e-02 --2.145817633196e-02 -2.252031937854e-02 -2.346644979062e-02 -2.429231015303e-02 --2.499425540968e-02 -2.556926860766e-02 -2.601497347730e-02 -2.632964379787e-02 --2.651220951470e-02 -2.656225958916e-02 -2.648004157988e-02 -2.626645796893e-02 --2.592305926328e-02 -2.545203391726e-02 -2.485619513762e-02 -2.413896464740e-02 --2.330435350019e-02 -2.235694005013e-02 -2.130184519668e-02 -2.014470503651e-02 --1.889164106679e-02 -1.754922809596e-02 -1.612446002881e-02 -1.462471370237e-02 --1.305771095848e-02 -1.143147914647e-02 -9.754310256928e-03 -8.034718893153e-03 --6.281399292208e-03 -4.503181611217e-03 -2.708987697548e-03 -9.077865632151e-04 -8.914502154210e-04 2.679792952024e-03 4.448397939574e-03 6.188550957985e-03 -7.891709987112e-03 9.549546916831e-03 1.115398805161e-02 1.269725321357e-02 -1.417189325570e-02 1.557082580540e-02 1.688736906771e-02 1.811527352810e-02 -1.924875140520e-02 2.028250371582e-02 2.121174482664e-02 2.203222437996e-02 -2.274024649412e-02 2.333268615299e-02 2.380700271336e-02 2.416125047307e-02 -2.439408625788e-02 2.450477399972e-02 2.449318629390e-02 2.435980293789e-02 -2.410570646921e-02 2.373257473464e-02 2.324267053749e-02 2.263882842416e-02 -2.192443868490e-02 2.110342865723e-02 2.018024143375e-02 1.915981208813e-02 -1.804754154540e-02 1.684926823351e-02 1.557123766391e-02 1.422007009836e-02 -1.280272646852e-02 1.132647272246e-02 9.798842779793e-03 8.227600283368e-03 -6.620699340510e-03 4.986244451547e-03 3.332449826440e-03 1.667598292818e-03 -5.962649506421e-14 -1.662048875611e-03 -3.310307220713e-03 -4.936629666149e-03 --6.533006660971e-03 - Type L N - 0 2 0 -0.000000000000e+00 6.151333446762e-06 2.460487800223e-05 5.535915194780e-05 -9.841173105899e-05 1.537592083733e-04 2.213972082458e-04 3.013203802203e-04 -3.935224034400e-04 4.979959858620e-04 6.147328643748e-04 7.437238061971e-04 -8.849586091118e-04 1.038426102541e-03 1.204114148362e-03 1.382009641477e-03 -1.572098511301e-03 1.774365722741e-03 1.988795277015e-03 2.215370213351e-03 -2.454072609935e-03 2.704883585496e-03 2.967783300640e-03 3.242750959398e-03 -3.529764810944e-03 3.828802151048e-03 4.139839324043e-03 4.462851724476e-03 -4.797813799119e-03 5.144699048843e-03 5.503480030702e-03 5.874128360038e-03 -6.256614712691e-03 6.650908827169e-03 7.056979507058e-03 7.474794623387e-03 -7.904321117090e-03 8.345525001577e-03 8.798371365319e-03 9.262824374523e-03 -9.738847275919e-03 1.022640239958e-02 1.072545116179e-02 1.123595406802e-02 -1.175787071599e-02 1.229115979875e-02 1.283577910784e-02 1.339168553658e-02 -1.395883508334e-02 1.453718285494e-02 1.512668307009e-02 1.572728906294e-02 -1.633895328661e-02 1.696162731691e-02 1.759526185599e-02 1.823980673619e-02 -1.889521092388e-02 1.956142252333e-02 2.023838878078e-02 2.092605608844e-02 -2.162436998860e-02 2.233327517785e-02 2.305271551134e-02 2.378263400702e-02 -2.452297285010e-02 2.527367339742e-02 2.603467618203e-02 2.680592091770e-02 -2.758734650356e-02 2.837889102883e-02 2.918049177751e-02 2.999208523327e-02 -3.081360708426e-02 3.164499222813e-02 3.248617477692e-02 3.333708806224e-02 -3.419766464030e-02 3.506783629711e-02 3.594753405376e-02 3.683668817167e-02 -3.773522815796e-02 3.864308277085e-02 3.956018002516e-02 4.048644719780e-02 -4.142181083340e-02 4.236619674989e-02 4.331953004423e-02 4.428173509816e-02 -4.525273558400e-02 4.623245447050e-02 4.722081402876e-02 4.821773583819e-02 -4.922314079254e-02 5.023694910596e-02 5.125908031911e-02 5.228945330537e-02 -5.332798627704e-02 5.437459679160e-02 5.542920175808e-02 5.649171744338e-02 -5.756205947875e-02 5.864014286621e-02 5.972588198510e-02 6.081919059865e-02 -6.191998186058e-02 6.302816832176e-02 6.414366193692e-02 6.526637407142e-02 -6.639621550800e-02 6.753309645369e-02 6.867692654663e-02 6.982761486302e-02 -7.098506992412e-02 7.214919970320e-02 7.331991163267e-02 7.449711261111e-02 -7.568070901045e-02 7.687060668312e-02 7.806671096926e-02 7.926892670401e-02 -8.047715822478e-02 8.169130937856e-02 8.291128352931e-02 8.413698356539e-02 -8.536831190694e-02 8.660517051338e-02 8.784746089095e-02 8.909508410021e-02 -9.034794076364e-02 9.160593107325e-02 9.286895479821e-02 9.413691129255e-02 -9.540969950282e-02 9.668721797590e-02 9.796936486668e-02 9.925603794593e-02 -1.005471346081e-01 1.018425518791e-01 1.031421864243e-01 1.044459345564e-01 -1.057536922434e-01 1.070653551164e-01 1.083808184777e-01 1.096999773088e-01 -1.110227262786e-01 1.123489597511e-01 1.136785717938e-01 1.150114561856e-01 -1.163475064250e-01 1.176866157382e-01 1.190286770876e-01 1.203735831792e-01 -1.217212264716e-01 1.230714991840e-01 1.244242933040e-01 1.257795005966e-01 -1.271370126117e-01 1.284967206931e-01 1.298585159862e-01 1.312222894466e-01 -1.325879318487e-01 1.339553337933e-01 1.353243857168e-01 1.366949778989e-01 -1.380670004714e-01 1.394403434265e-01 1.408148966248e-01 1.421905498044e-01 -1.435671925888e-01 1.449447144955e-01 1.463230049445e-01 1.477019532664e-01 -1.490814487115e-01 1.504613804574e-01 1.518416376183e-01 1.532221092527e-01 -1.546026843724e-01 1.559832519508e-01 1.573637009312e-01 1.587439202355e-01 -1.601237987727e-01 1.615032254470e-01 1.628820891666e-01 1.642602788521e-01 -1.656376834450e-01 1.670141919159e-01 1.683896932733e-01 1.697640765719e-01 -1.711372309210e-01 1.725090454930e-01 1.738794095319e-01 1.752482123615e-01 -1.766153433942e-01 1.779806921391e-01 1.793441482104e-01 1.807056013362e-01 -1.820649413663e-01 1.834220582810e-01 1.847768421993e-01 1.861291833873e-01 -1.874789722667e-01 1.888260994226e-01 1.901704556126e-01 1.915119317744e-01 -1.928504190344e-01 1.941858087161e-01 1.955179923480e-01 1.968468616722e-01 -1.981723086522e-01 1.994942254817e-01 2.008125045921e-01 2.021270386612e-01 -2.034377206212e-01 2.047444436666e-01 2.060471012624e-01 2.073455871525e-01 -2.086397953674e-01 2.099296202323e-01 2.112149563750e-01 2.124956987344e-01 -2.137717425678e-01 2.150429834592e-01 2.163093173272e-01 2.175706404327e-01 -2.188268493871e-01 2.200778411595e-01 2.213235130854e-01 2.225637628736e-01 -2.237984886144e-01 2.250275887872e-01 2.262509622683e-01 2.274685083383e-01 -2.286801266899e-01 2.298857174355e-01 2.310851811145e-01 2.322784187013e-01 -2.334653316120e-01 2.346458217128e-01 2.358197913265e-01 2.369871432407e-01 -2.381477807144e-01 2.393016074857e-01 2.404485277791e-01 2.415884463125e-01 -2.427212683044e-01 2.438468994814e-01 2.449652460847e-01 2.460762148778e-01 -2.471797131530e-01 2.482756487386e-01 2.493639300059e-01 2.504444658760e-01 -2.515171658267e-01 2.525819398992e-01 2.536386987050e-01 2.546873534324e-01 -2.557278158537e-01 2.567599983310e-01 2.577838138234e-01 2.587991758936e-01 -2.598059987137e-01 2.608041970725e-01 2.617936863812e-01 2.627743826801e-01 -2.637462026449e-01 2.647090635926e-01 2.656628834882e-01 2.666075809504e-01 -2.675430752579e-01 2.684692863554e-01 2.693861348596e-01 2.702935420651e-01 -2.711914299504e-01 2.720797211832e-01 2.729583391272e-01 2.738272078467e-01 -2.746862521131e-01 2.755353974098e-01 2.763745699386e-01 2.772036966244e-01 -2.780227051209e-01 2.788315238163e-01 2.796300818381e-01 2.804183090588e-01 -2.811961361010e-01 2.819634943422e-01 2.827203159204e-01 2.834665337389e-01 -2.842020814712e-01 2.849268935661e-01 2.856409052524e-01 2.863440525436e-01 -2.870362722429e-01 2.877175019478e-01 2.883876800545e-01 2.890467457627e-01 -2.896946390799e-01 2.903313008259e-01 2.909566726372e-01 2.915706969711e-01 -2.921733171103e-01 2.927644771665e-01 2.933441220852e-01 2.939121976490e-01 -2.944686504824e-01 2.950134280548e-01 2.955464786849e-01 2.960677515446e-01 -2.965771966622e-01 2.970747649265e-01 2.975604080899e-01 2.980340787726e-01 -2.984957304652e-01 2.989453175330e-01 2.993827952183e-01 2.998081196445e-01 -3.002212478188e-01 3.006221376354e-01 3.010107478787e-01 3.013870382261e-01 -3.017509692506e-01 3.021025024244e-01 3.024416001209e-01 3.027682256178e-01 -3.030823430996e-01 3.033839176601e-01 3.036729153050e-01 3.039493029542e-01 -3.042130484442e-01 3.044641205303e-01 3.047024888889e-01 3.049281241194e-01 -3.051409977466e-01 3.053410822225e-01 3.055283509279e-01 3.057027781750e-01 -3.058643392084e-01 3.060130102071e-01 3.061487682862e-01 3.062715914985e-01 -3.063814588357e-01 3.064783502299e-01 3.065622465553e-01 3.066331296288e-01 -3.066909822118e-01 3.067357880110e-01 3.067675316796e-01 3.067861988179e-01 -3.067917759749e-01 3.067842506484e-01 3.067636112863e-01 3.067298472868e-01 -3.066829489995e-01 3.066229077256e-01 3.065497157184e-01 3.064633661839e-01 -3.063638532809e-01 3.062511721212e-01 3.061253187701e-01 3.059862902461e-01 -3.058340845212e-01 3.056687005208e-01 3.054901381235e-01 3.052983981609e-01 -3.050934824175e-01 3.048753936301e-01 3.046441354877e-01 3.043997126308e-01 -3.041421306508e-01 3.038713960897e-01 3.035875164389e-01 3.032905001388e-01 -3.029803565781e-01 3.026570960922e-01 3.023207299629e-01 3.019712704172e-01 -3.016087306257e-01 3.012331247021e-01 3.008444677015e-01 3.004427756188e-01 -3.000280653881e-01 2.996003548804e-01 2.991596629023e-01 2.987060091947e-01 -2.982394144306e-01 2.977599002136e-01 2.972674890760e-01 2.967622044769e-01 -2.962440708002e-01 2.957131133525e-01 2.951693583611e-01 2.946128329715e-01 -2.940435652458e-01 2.934615841594e-01 2.928669195994e-01 2.922596023620e-01 -2.916396641496e-01 2.910071375683e-01 2.903620561257e-01 2.897044542274e-01 -2.890343671748e-01 2.883518311621e-01 2.876568832728e-01 2.869495614777e-01 -2.862299046309e-01 2.854979524671e-01 2.847537455983e-01 2.839973255105e-01 -2.832287345605e-01 2.824480159721e-01 2.816552138333e-01 2.808503730919e-01 -2.800335395528e-01 2.792047598735e-01 2.783640815610e-01 2.775115529676e-01 -2.766472232874e-01 2.757711425520e-01 2.748833616268e-01 2.739839322068e-01 -2.730729068125e-01 2.721503387859e-01 2.712162822861e-01 2.702707922851e-01 -2.693139245633e-01 2.683457357052e-01 2.673662830950e-01 2.663756249120e-01 -2.653738201259e-01 2.643609284924e-01 2.633370105482e-01 2.623021276065e-01 -2.612563417521e-01 2.601997158362e-01 2.591323134720e-01 2.580541990295e-01 -2.569654376303e-01 2.558660951426e-01 2.547562381760e-01 2.536359340764e-01 -2.525052509208e-01 2.513642575117e-01 2.502130233718e-01 2.490516187388e-01 -2.478801145597e-01 2.466985824853e-01 2.455070948648e-01 2.443057247399e-01 -2.430945458392e-01 2.418736325726e-01 2.406430600253e-01 2.394029039523e-01 -2.381532407721e-01 2.368941475610e-01 2.356257020471e-01 2.343479826045e-01 -2.330610682465e-01 2.317650386205e-01 2.304599740009e-01 2.291459552836e-01 -2.278230639793e-01 2.264913822074e-01 2.251509926894e-01 2.238019787431e-01 -2.224444242756e-01 2.210784137768e-01 2.197040323134e-01 2.183213655220e-01 -2.169304996024e-01 2.155315213114e-01 2.141245179554e-01 2.127095773847e-01 -2.112867879857e-01 2.098562386748e-01 2.084180188913e-01 2.069722185906e-01 -2.055189282373e-01 2.040582387984e-01 2.025902417358e-01 2.011150290001e-01 -1.996326930228e-01 1.981433267098e-01 1.966470234339e-01 1.951438770279e-01 -1.936339817772e-01 1.921174324128e-01 1.905943241041e-01 1.890647524514e-01 -1.875288134788e-01 1.859866036266e-01 1.844382197446e-01 1.828837590838e-01 -1.813233192899e-01 1.797569983950e-01 1.781848948109e-01 1.766071073212e-01 -1.750237350739e-01 1.734348775737e-01 1.718406346748e-01 1.702411065730e-01 -1.686363937981e-01 1.670265972067e-01 1.654118179737e-01 1.637921575857e-01 -1.621677178324e-01 1.605386007994e-01 1.589049088604e-01 1.572667446692e-01 -1.556242111524e-01 1.539774115009e-01 1.523264491631e-01 1.506714278361e-01 -1.490124514585e-01 1.473496242024e-01 1.456830504654e-01 1.440128348629e-01 -1.423390822201e-01 1.406618975642e-01 1.389813861166e-01 1.372976532846e-01 -1.356108046539e-01 1.339209459803e-01 1.322281831820e-01 1.305326223318e-01 -1.288343696485e-01 1.271335314898e-01 1.254302143434e-01 1.237245248199e-01 -1.220165696442e-01 1.203064556477e-01 1.185942897603e-01 1.168801790025e-01 -1.151642304774e-01 1.134465513624e-01 1.117272489014e-01 1.100064303970e-01 -1.082842032022e-01 1.065606747124e-01 1.048359523575e-01 1.031101435940e-01 -1.013833558967e-01 9.965569675111e-02 9.792727364492e-02 9.619819406051e-02 -9.446856546670e-02 9.273849531082e-02 9.100809101076e-02 8.927745994697e-02 -8.754670945452e-02 8.581594681513e-02 8.408527924925e-02 8.235481390807e-02 -8.062465786567e-02 7.889491811102e-02 7.716570154014e-02 7.543711494817e-02 -7.370926502151e-02 7.198225832993e-02 7.025620131871e-02 6.853120030082e-02 -6.680736144908e-02 6.508479078836e-02 6.336359418773e-02 6.164387735277e-02 -5.992574581770e-02 5.820930493774e-02 5.649465988130e-02 5.478191562229e-02 -5.307117693247e-02 5.136254837371e-02 4.965613429041e-02 4.795203880181e-02 -4.625036579443e-02 4.455121891444e-02 4.285470156015e-02 4.116091687443e-02 -3.946996773719e-02 3.778195675792e-02 3.609698626820e-02 3.441515831429e-02 -3.273657464967e-02 3.106133672767e-02 2.938954569415e-02 2.772130238011e-02 -2.605670729441e-02 2.439586061650e-02 2.273886218918e-02 2.108581151136e-02 -1.943680773091e-02 1.779194963746e-02 1.615133565533e-02 1.451506383642e-02 -1.288323185313e-02 1.125593699137e-02 9.633276143567e-03 8.015345801684e-03 -6.402242050331e-03 4.794060559864e-03 3.190896579538e-03 1.592844930701e-03 -1.458260599757e-14 -1.587544267285e-03 -3.169694374082e-03 -4.746357278045e-03 --6.317440398246e-03 - Type L N - 0 2 1 -0.000000000000e+00 1.531812340169e-05 6.126948195257e-05 1.378450217335e-04 -2.450296627545e-04 3.828022948606e-04 5.511357836816e-04 7.499969752689e-04 -9.793467030332e-04 1.239139794813e-03 1.529325081628e-03 1.849845407535e-03 -2.200637640512e-03 2.581632684502e-03 2.992755492811e-03 3.433925082305e-03 -3.905054548999e-03 4.406051084664e-03 4.936815994632e-03 5.497244716642e-03 -6.087226840902e-03 6.706646131177e-03 7.355380547103e-03 8.033302267492e-03 -8.740277714834e-03 9.476167580838e-03 1.024082685315e-02 1.103410484303e-02 -1.185584521429e-02 1.270588601313e-02 1.358405969917e-02 1.449019317754e-02 -1.542410783195e-02 1.638561955894e-02 1.737453880305e-02 1.839067059313e-02 -1.943381457961e-02 2.050376507291e-02 2.160031108270e-02 2.272323635834e-02 -2.387231943022e-02 2.504733365214e-02 2.624804724465e-02 2.747422333942e-02 -2.872562002452e-02 3.000199039070e-02 3.130308257862e-02 3.262863982701e-02 -3.397840052177e-02 3.535209824602e-02 3.674946183101e-02 3.817021540800e-02 -3.961407846100e-02 4.108076588039e-02 4.256998801741e-02 4.408145073957e-02 -4.561485548685e-02 4.716989932875e-02 4.874627502223e-02 5.034367107038e-02 -5.196177178197e-02 5.360025733177e-02 5.525880382165e-02 5.693708334246e-02 -5.863476403671e-02 6.035151016190e-02 6.208698215470e-02 6.384083669577e-02 -6.561272677535e-02 6.740230175951e-02 6.920920745711e-02 7.103308618742e-02 -7.287357684838e-02 7.473031498559e-02 7.660293286182e-02 7.849105952721e-02 -8.039432089007e-02 8.231233978824e-02 8.424473606111e-02 8.619112662205e-02 -8.815112553158e-02 9.012434407094e-02 9.211039081622e-02 9.410887171302e-02 -9.611939015157e-02 9.814154704239e-02 1.001749408923e-01 1.022191678810e-01 -1.042738219380e-01 1.063384948201e-01 1.084127761890e-01 1.104962536896e-01 -1.125885130285e-01 1.146891380531e-01 1.167977108304e-01 1.189138117271e-01 -1.210370194893e-01 1.231669113224e-01 1.253030629721e-01 1.274450488047e-01 -1.295924418883e-01 1.317448140741e-01 1.339017360777e-01 1.360627775606e-01 -1.382275072125e-01 1.403954928328e-01 1.425663014132e-01 1.447394992196e-01 -1.469146518750e-01 1.490913244415e-01 1.512690815034e-01 1.534474872496e-01 -1.556261055565e-01 1.578045000709e-01 1.599822342926e-01 1.621588716574e-01 -1.643339756200e-01 1.665071097367e-01 1.686778377484e-01 1.708457236630e-01 -1.730103318384e-01 1.751712270650e-01 1.773279746482e-01 1.794801404905e-01 -1.816272911743e-01 1.837689940436e-01 1.859048172859e-01 1.880343300143e-01 -1.901571023487e-01 1.922727054973e-01 1.943807118380e-01 1.964806949988e-01 -1.985722299387e-01 2.006548930280e-01 2.027282621286e-01 2.047919166733e-01 -2.068454377458e-01 2.088884081593e-01 2.109204125357e-01 2.129410373837e-01 -2.149498711770e-01 2.169465044320e-01 2.189305297846e-01 2.209015420676e-01 -2.228591383867e-01 2.248029181965e-01 2.267324833757e-01 2.286474383027e-01 -2.305473899294e-01 2.324319478554e-01 2.343007244016e-01 2.361533346828e-01 -2.379893966803e-01 2.398085313134e-01 2.416103625110e-01 2.433945172818e-01 -2.451606257844e-01 2.469083213969e-01 2.486372407853e-01 2.503470239719e-01 -2.520373144027e-01 2.537077590138e-01 2.553580082979e-01 2.569877163696e-01 -2.585965410301e-01 2.601841438308e-01 2.617501901369e-01 2.632943491899e-01 -2.648162941690e-01 2.663157022524e-01 2.677922546771e-01 2.692456367985e-01 -2.706755381492e-01 2.720816524961e-01 2.734636778979e-01 2.748213167611e-01 -2.761542758950e-01 2.774622665664e-01 2.787450045528e-01 2.800022101955e-01 -2.812336084509e-01 2.824389289415e-01 2.836179060060e-01 2.847702787484e-01 -2.858957910856e-01 2.869941917954e-01 2.880652345620e-01 2.891086780217e-01 -2.901242858070e-01 2.911118265905e-01 2.920710741263e-01 2.930018072925e-01 -2.939038101309e-01 2.947768718866e-01 2.956207870465e-01 2.964353553767e-01 -2.972203819589e-01 2.979756772254e-01 2.987010569940e-01 2.993963425011e-01 -3.000613604334e-01 3.006959429600e-01 3.012999277619e-01 3.018731580613e-01 -3.024154826495e-01 3.029267559140e-01 3.034068378642e-01 3.038555941563e-01 -3.042728961170e-01 3.046586207660e-01 3.050126508376e-01 3.053348748012e-01 -3.056251868804e-01 3.058834870714e-01 3.061096811600e-01 3.063036807379e-01 -3.064654032169e-01 3.065947718436e-01 3.066917157114e-01 3.067561697721e-01 -3.067880748467e-01 3.067873776342e-01 3.067540307204e-01 3.066879925844e-01 -3.065892276045e-01 3.064577060637e-01 3.062934041526e-01 3.060963039724e-01 -3.058663935363e-01 3.056036667694e-01 3.053081235086e-01 3.049797694999e-01 -3.046186163960e-01 3.042246817517e-01 3.037979890185e-01 3.033385675387e-01 -3.028464525373e-01 3.023216851136e-01 3.017643122315e-01 3.011743867083e-01 -3.005519672032e-01 2.998971182038e-01 2.992099100119e-01 2.984904187284e-01 -2.977387262371e-01 2.969549201865e-01 2.961390939721e-01 2.952913467161e-01 -2.944117832470e-01 2.935005140777e-01 2.925576553825e-01 2.915833289735e-01 -2.905776622752e-01 2.895407882988e-01 2.884728456147e-01 2.873739783248e-01 -2.862443360330e-01 2.850840738152e-01 2.838933521878e-01 2.826723370758e-01 -2.814211997793e-01 2.801401169391e-01 2.788292705020e-01 2.774888476838e-01 -2.761190409326e-01 2.747200478905e-01 2.732920713544e-01 2.718353192356e-01 -2.703500045193e-01 2.688363452219e-01 2.672945643488e-01 2.657248898497e-01 -2.641275545746e-01 2.625027962275e-01 2.608508573202e-01 2.591719851246e-01 -2.574664316246e-01 2.557344534665e-01 2.539763119094e-01 2.521922727737e-01 -2.503826063901e-01 2.485475875462e-01 2.466874954338e-01 2.448026135942e-01 -2.428932298635e-01 2.409596363168e-01 2.390021292116e-01 2.370210089303e-01 -2.350165799227e-01 2.329891506464e-01 2.309390335083e-01 2.288665448033e-01 -2.267720046544e-01 2.246557369502e-01 2.225180692832e-01 2.203593328868e-01 -2.181798625714e-01 2.159799966603e-01 2.137600769250e-01 2.115204485198e-01 -2.092614599151e-01 2.069834628316e-01 2.046868121724e-01 2.023718659557e-01 -2.000389852461e-01 1.976885340860e-01 1.953208794259e-01 1.929363910551e-01 -1.905354415306e-01 1.881184061067e-01 1.856856626638e-01 1.832375916362e-01 -1.807745759402e-01 1.782970009015e-01 1.758052541820e-01 1.732997257066e-01 -1.707808075892e-01 1.682488940588e-01 1.657043813846e-01 1.631476678019e-01 -1.605791534359e-01 1.579992402275e-01 1.554083318563e-01 1.528068336656e-01 -1.501951525856e-01 1.475736970569e-01 1.449428769541e-01 1.423031035084e-01 -1.396547892309e-01 1.369983478348e-01 1.343341941583e-01 1.316627440867e-01 -1.289844144746e-01 1.262996230684e-01 1.236087884274e-01 1.209123298467e-01 -1.182106672782e-01 1.155042212530e-01 1.127934128024e-01 1.100786633801e-01 -1.073603947839e-01 1.046390290768e-01 1.019149885091e-01 9.918869544009e-02 -9.646057225962e-02 9.373104130998e-02 9.100052480774e-02 8.826944476576e-02 -8.553822291522e-02 8.280728062779e-02 8.007703883803e-02 7.734791796576e-02 -7.462033783879e-02 7.189471761567e-02 6.917147570873e-02 6.645102970730e-02 -6.373379630117e-02 6.102019120422e-02 5.831062907844e-02 5.560552345805e-02 -5.290528667406e-02 5.021032977901e-02 4.752106247207e-02 4.483789302449e-02 -4.216122820534e-02 3.949147320761e-02 3.682903157474e-02 3.417430512744e-02 -3.152769389097e-02 2.888959602282e-02 2.626040774079e-02 2.364052325152e-02 -2.103033467948e-02 1.843023199642e-02 1.584060295128e-02 1.326183300059e-02 -1.069430523944e-02 8.138400332850e-03 5.594496447773e-03 3.062969185583e-03 -5.441915151351e-04 -1.961466293601e-03 -4.453636735344e-03 -6.931955134693e-03 --9.396059710736e-03 -1.184559164102e-02 -1.428019512492e-02 -1.669951744633e-02 --1.910320903574e-02 -2.149092353165e-02 -2.386231784126e-02 -2.621705220053e-02 --2.855479023354e-02 -3.087519901108e-02 -3.317794910861e-02 -3.546271466342e-02 --3.772917343111e-02 -3.997700684126e-02 -4.220590005238e-02 -4.441554200608e-02 --4.660562548045e-02 -4.877584714270e-02 -5.092590760091e-02 -5.305551145506e-02 --5.516436734719e-02 -5.725218801075e-02 -5.931869031913e-02 -6.136359533333e-02 --6.338662834875e-02 -6.538751894120e-02 -6.736600101193e-02 -6.932181283189e-02 --7.125469708505e-02 -7.316440091082e-02 -7.505067594559e-02 -7.691327836338e-02 --7.875196891555e-02 -8.056651296957e-02 -8.235668054694e-02 -8.412224636006e-02 --8.586298984828e-02 -8.757869521294e-02 -8.926915145144e-02 -9.093415239040e-02 --9.257349671783e-02 -9.418698801435e-02 -9.577443478340e-02 -9.733565048052e-02 --9.887045354160e-02 -1.003786674102e-01 -1.018601205638e-01 -1.033146465390e-01 --1.047420839562e-01 -1.061422765424e-01 -1.075150731537e-01 -1.088603277966e-01 --1.101778996484e-01 -1.114676530761e-01 -1.127294576547e-01 -1.139631881848e-01 --1.151687247082e-01 -1.163459525234e-01 -1.174947621997e-01 -1.186150495903e-01 --1.197067158441e-01 -1.207696674170e-01 -1.218038160818e-01 -1.228090789373e-01 --1.237853784159e-01 -1.247326422908e-01 -1.256508036816e-01 -1.265398010595e-01 --1.273995782505e-01 -1.282300844387e-01 -1.290312741676e-01 -1.298031073411e-01 --1.305455492228e-01 -1.312585704350e-01 -1.319421469560e-01 -1.325962601165e-01 --1.332208965957e-01 -1.338160484151e-01 -1.343817129326e-01 -1.349178928343e-01 --1.354245961266e-01 -1.359018361262e-01 -1.363496314496e-01 -1.367680060015e-01 --1.371569889621e-01 -1.375166147738e-01 -1.378469231263e-01 -1.381479589410e-01 --1.384197723545e-01 -1.386624187010e-01 -1.388759584938e-01 -1.390604574056e-01 --1.392159862483e-01 -1.393426209511e-01 -1.394404425382e-01 -1.395095371059e-01 --1.395499957974e-01 -1.395619147782e-01 -1.395453952097e-01 -1.395005432216e-01 --1.394274698847e-01 -1.393262911811e-01 -1.391971279746e-01 -1.390401059799e-01 --1.388553557311e-01 -1.386430125484e-01 -1.384032165054e-01 -1.381361123943e-01 --1.378418496908e-01 -1.375205825179e-01 -1.371724696091e-01 -1.367976742705e-01 --1.363963643424e-01 -1.359687121594e-01 -1.355148945107e-01 -1.350350925984e-01 --1.345294919964e-01 -1.339982826069e-01 -1.334416586176e-01 -1.328598184571e-01 --1.322529647502e-01 -1.316213042720e-01 -1.309650479014e-01 -1.302844105739e-01 --1.295796112340e-01 -1.288508727858e-01 -1.280984220447e-01 -1.273224896865e-01 --1.265233101970e-01 -1.257011218208e-01 -1.248561665089e-01 -1.239886898664e-01 --1.230989410988e-01 -1.221871729584e-01 -1.212536416895e-01 -1.202986069733e-01 --1.193223318724e-01 -1.183250827739e-01 -1.173071293331e-01 -1.162687444158e-01 --1.152102040403e-01 -1.141317873188e-01 -1.130337763986e-01 -1.119164564024e-01 --1.107801153683e-01 -1.096250441892e-01 -1.084515365519e-01 -1.072598888758e-01 --1.060504002507e-01 -1.048233723747e-01 -1.035791094915e-01 -1.023179183271e-01 --1.010401080265e-01 -9.974599008953e-02 -9.843587830681e-02 -9.711008869505e-02 --9.576893943208e-02 -9.441275079160e-02 -9.304184507758e-02 -9.165654655835e-02 --9.025718140046e-02 -8.884407760222e-02 -8.741756492698e-02 -8.597797483621e-02 --8.452564042233e-02 -8.306089634127e-02 -8.158407874494e-02 -8.009552521338e-02 --7.859557468684e-02 -7.708456739764e-02 -7.556284480191e-02 -7.403074951117e-02 --7.248862522382e-02 -7.093681665648e-02 -6.937566947530e-02 -6.780553022714e-02 --6.622674627067e-02 -6.463966570750e-02 -6.304463731317e-02 -6.144201046821e-02 --5.983213508912e-02 -5.821536155936e-02 -5.659204066043e-02 -5.496252350287e-02 --5.332716145741e-02 -5.168630608608e-02 -5.004030907349e-02 -4.838952215812e-02 --4.673429706373e-02 -4.507498543090e-02 -4.341193874871e-02 -4.174550828648e-02 --4.007604502575e-02 -3.840389959242e-02 -3.672942218896e-02 -3.505296252701e-02 --3.337486975997e-02 -3.169549241596e-02 -3.001517833099e-02 -2.833427458227e-02 --2.665312742194e-02 -2.497208221096e-02 -2.329148335329e-02 -2.161167423042e-02 --1.993299713617e-02 -1.825579321183e-02 -1.658040238160e-02 -1.490716328846e-02 --1.323641323026e-02 -1.156848809637e-02 -9.903722304502e-03 -8.242448738125e-03 --6.584998684143e-03 -4.931701771073e-03 -3.282885907621e-03 -1.638877221717e-03 -3.448719112250e-15 1.633423372251e-03 3.261072470652e-03 4.882628890828e-03 -6.497776306984e-03 - Type L N - 0 2 2 -0.000000000000e+00 2.812042383018e-05 1.124715359716e-04 2.530228335488e-04 -4.497235018850e-04 7.025024224280e-04 1.011268200281e-03 1.375909195927e-03 -1.796293564470e-03 2.272269302136e-03 2.803664299517e-03 3.390286402276e-03 -4.031923478537e-03 4.728343493447e-03 5.479294590785e-03 6.284505181453e-03 -7.143684038891e-03 8.056520401495e-03 9.022684081717e-03 1.004182558222e-02 -1.111357621856e-02 1.223754824884e-02 1.341333500987e-02 1.464051106009e-02 -1.591863232905e-02 1.724723627337e-02 1.862584203926e-02 2.005395063144e-02 -2.153104508840e-02 2.305659066398e-02 2.463003501520e-02 2.625080839620e-02 -2.791832385836e-02 2.963197745641e-02 3.139114846044e-02 3.319519957388e-02 -3.504347715725e-02 3.693531145758e-02 3.887001684353e-02 4.084689204604e-02 -4.286522040444e-02 4.492427011796e-02 4.702329450253e-02 4.916153225273e-02 -5.133820770892e-02 5.355253112932e-02 5.580369896706e-02 5.809089415195e-02 -6.041328637708e-02 6.277003238995e-02 6.516027628811e-02 6.758314981927e-02 -7.003777268559e-02 7.252325285227e-02 7.503868686016e-02 7.758316014232e-02 -8.015574734445e-02 8.275551264910e-02 8.538151010339e-02 8.803278395037e-02 -9.070836896367e-02 9.340729078542e-02 9.612856626742e-02 9.887120381516e-02 -1.016342037349e-01 1.044165585836e-01 1.072172535209e-01 1.100352666649e-01 -1.128695694486e-01 1.157191269805e-01 1.185828984057e-01 1.214598372700e-01 -1.243488918857e-01 1.272490056988e-01 1.301591176586e-01 1.330781625877e-01 -1.360050715545e-01 1.389387722459e-01 1.418781893421e-01 1.448222448916e-01 -1.477698586871e-01 1.507199486431e-01 1.536714311721e-01 1.566232215636e-01 -1.595742343614e-01 1.625233837420e-01 1.654695838935e-01 1.684117493930e-01 -1.713487955850e-01 1.742796389591e-01 1.772031975268e-01 1.801183911982e-01 -1.830241421574e-01 1.859193752378e-01 1.888030182955e-01 1.916740025816e-01 -1.945312631144e-01 1.973737390482e-01 2.002003740423e-01 2.030101166275e-01 -2.058019205707e-01 2.085747452379e-01 2.113275559548e-01 2.140593243657e-01 -2.167690287892e-01 2.194556545728e-01 2.221181944431e-01 2.247556488551e-01 -2.273670263375e-01 2.299513438355e-01 2.325076270507e-01 2.350349107771e-01 -2.375322392347e-01 2.399986663991e-01 2.424332563276e-01 2.448350834822e-01 -2.472032330478e-01 2.495368012477e-01 2.518348956542e-01 2.540966354957e-01 -2.563211519592e-01 2.585075884886e-01 2.606551010789e-01 2.627628585657e-01 -2.648300429095e-01 2.668558494765e-01 2.688394873135e-01 2.707801794184e-01 -2.726771630057e-01 2.745296897669e-01 2.763370261255e-01 2.780984534869e-01 -2.798132684832e-01 2.814807832119e-01 2.831003254701e-01 2.846712389819e-01 -2.861928836211e-01 2.876646356275e-01 2.890858878180e-01 2.904560497913e-01 -2.917745481267e-01 2.930408265772e-01 2.942543462559e-01 2.954145858171e-01 -2.965210416303e-01 2.975732279486e-01 2.985706770700e-01 2.995129394934e-01 -3.003995840672e-01 3.012301981318e-01 3.020043876556e-01 3.027217773641e-01 -3.033820108630e-01 3.039847507539e-01 3.045296787440e-01 3.050164957483e-01 -3.054449219859e-01 3.058146970686e-01 3.061255800835e-01 3.063773496684e-01 -3.065698040799e-01 3.067027612555e-01 3.067760588680e-01 3.067895543733e-01 -3.067431250515e-01 3.066366680406e-01 3.064701003632e-01 3.062433589472e-01 -3.059564006380e-01 3.056092022052e-01 3.052017603412e-01 3.047340916539e-01 -3.042062326513e-01 3.036182397201e-01 3.029701890971e-01 3.022621768332e-01 -3.014943187516e-01 3.006667503978e-01 2.997796269836e-01 2.988331233245e-01 -2.978274337691e-01 2.967627721233e-01 2.956393715662e-01 2.944574845607e-01 -2.932173827566e-01 2.919193568869e-01 2.905637166585e-01 2.891507906353e-01 -2.876809261152e-01 2.861544890011e-01 2.845718636646e-01 2.829334528044e-01 -2.812396772972e-01 2.794909760436e-01 2.776878058069e-01 2.758306410464e-01 -2.739199737440e-01 2.719563132257e-01 2.699401859764e-01 2.678721354492e-01 -2.657527218691e-01 2.635825220302e-01 2.613621290888e-01 2.590921523490e-01 -2.567732170448e-01 2.544059641153e-01 2.519910499753e-01 2.495291462808e-01 -2.470209396889e-01 2.444671316132e-01 2.418684379737e-01 2.392255889424e-01 -2.365393286837e-01 2.338104150904e-01 2.310396195152e-01 2.282277264974e-01 -2.253755334855e-01 2.224838505557e-01 2.195535001257e-01 2.165853166650e-01 -2.135801464012e-01 2.105388470220e-01 2.074622873738e-01 2.043513471571e-01 -2.012069166173e-01 1.980298962334e-01 1.948211964026e-01 1.915817371217e-01 -1.883124476660e-01 1.850142662648e-01 1.816881397746e-01 1.783350233486e-01 -1.749558801050e-01 1.715516807916e-01 1.681234034491e-01 1.646720330712e-01 -1.611985612636e-01 1.577039859003e-01 1.541893107782e-01 1.506555452704e-01 -1.471037039775e-01 1.435348063777e-01 1.399498764750e-01 1.363499424470e-01 -1.327360362911e-01 1.291091934701e-01 1.254704525563e-01 1.218208548756e-01 -1.181614441508e-01 1.144932661444e-01 1.108173683010e-01 1.071347993896e-01 -1.034466091460e-01 9.975384791502e-02 9.605756629286e-02 9.235881477011e-02 -8.865864337493e-02 8.495810131684e-02 8.125823663126e-02 7.756009582487e-02 -7.386472352188e-02 7.017316211140e-02 6.648645139600e-02 6.280562824158e-02 -5.913172622872e-02 5.546577530554e-02 5.180880144230e-02 4.816182628779e-02 -4.452586682763e-02 4.090193504467e-02 3.729103758150e-02 3.369417540531e-02 -3.011234347509e-02 2.654653041137e-02 2.299771816864e-02 1.946688171047e-02 -1.595498868745e-02 1.246299911824e-02 8.991865073543e-03 5.542530363382e-03 -2.115930227621e-03 -1.287008970087e-03 -4.665370044848e-03 -8.018245289454e-03 --1.134473676960e-02 -1.464395661529e-02 -1.791502730828e-02 -2.115708196560e-02 --2.436926461882e-02 -2.755073048929e-02 -3.070064625892e-02 -3.381819033663e-02 --3.690255312038e-02 -3.995293725450e-02 -4.296855788249e-02 -4.594864289503e-02 --4.889243317310e-02 -5.179918282636e-02 -5.466815942637e-02 -5.749864423487e-02 --6.028993242690e-02 -6.304133330863e-02 -6.575217053008e-02 -6.842178229231e-02 --7.104952154932e-02 -7.363475620441e-02 -7.617686930102e-02 -7.867525920794e-02 --8.112933979891e-02 -8.353854062645e-02 -8.590230708989e-02 -8.822010059767e-02 --9.049139872368e-02 -9.271569535770e-02 -9.489250084984e-02 -9.702134214903e-02 --9.910176293542e-02 -1.011333237466e-01 -1.031156020979e-01 -1.050481925963e-01 --1.069307070481e-01 -1.087627745608e-01 -1.105440416380e-01 -1.122741722691e-01 --1.139528480110e-01 -1.155797680655e-01 -1.171546493488e-01 -1.186772265551e-01 --1.201472522143e-01 -1.215644967427e-01 -1.229287484875e-01 -1.242398137650e-01 --1.254975168922e-01 -1.267017002123e-01 -1.278522241133e-01 -1.289489670408e-01 --1.299918255037e-01 -1.309807140745e-01 -1.319155653819e-01 -1.327963300981e-01 --1.336229769193e-01 -1.343954925401e-01 -1.351138816210e-01 -1.357781667502e-01 --1.363883883992e-01 -1.369446048713e-01 -1.374468922449e-01 -1.378953443098e-01 --1.382900724979e-01 -1.386312058074e-01 -1.389188907211e-01 -1.391532911187e-01 --1.393345881826e-01 -1.394629802985e-01 -1.395386829495e-01 -1.395619286044e-01 --1.395329666006e-01 -1.394520630206e-01 -1.393195005628e-01 -1.391355784077e-01 --1.389006120768e-01 -1.386149332875e-01 -1.382788898014e-01 -1.378928452679e-01 --1.374571790618e-01 -1.369722861164e-01 -1.364385767506e-01 -1.358564764912e-01 --1.352264258904e-01 -1.345488803374e-01 -1.338243098662e-01 -1.330531989577e-01 --1.322360463375e-01 -1.313733647684e-01 -1.304656808394e-01 -1.295135347489e-01 --1.285174800843e-01 -1.274780835967e-01 -1.263959249722e-01 -1.252715965978e-01 --1.241057033243e-01 -1.228988622245e-01 -1.216517023480e-01 -1.203648644718e-01 --1.190390008473e-01 -1.176747749439e-01 -1.162728611890e-01 -1.148339447044e-01 --1.133587210396e-01 -1.118478959018e-01 -1.103021848828e-01 -1.087223131831e-01 --1.071090153326e-01 -1.054630349093e-01 -1.037851242546e-01 -1.020760441864e-01 --1.003365637095e-01 -9.856745972424e-02 -9.676951673183e-02 -9.494352653873e-02 --9.309028795819e-02 -9.121060651026e-02 -8.930529411987e-02 -8.737516881326e-02 --8.542105441291e-02 -8.344378023091e-02 -8.144418076104e-02 -7.942309536966e-02 --7.738136798544e-02 -7.531984678813e-02 -7.323938389640e-02 -7.114083505502e-02 --6.902505932126e-02 -6.689291875087e-02 -6.474527808360e-02 -6.258300442839e-02 --6.040696694843e-02 -5.821803654612e-02 -5.601708554807e-02 -5.380498739029e-02 --5.158261630364e-02 -4.935084699963e-02 -4.711055435682e-02 -4.486261310772e-02 --4.260789752655e-02 -4.034728111771e-02 -3.808163630530e-02 -3.581183412371e-02 --3.353874390932e-02 -3.126323299356e-02 -2.898616639734e-02 -2.670840652700e-02 --2.443081287186e-02 -2.215424170354e-02 -1.987954577704e-02 -1.760757403388e-02 --1.533917130715e-02 -1.307517802878e-02 -1.081642993911e-02 -8.563757798700e-03 --6.317987102690e-03 -4.079937797693e-03 -1.850424001331e-03 3.697462754655e-04 -2.579771403298e-03 4.778856406204e-03 6.966213230517e-03 9.141061010585e-03 -1.130262633127e-02 1.345014348713e-02 1.558285473817e-02 1.770001056217e-02 -1.980086990332e-02 2.188470041732e-02 2.395077871259e-02 2.599839058780e-02 -2.802683126538e-02 3.003540562106e-02 3.202342840941e-02 3.399022448515e-02 -3.593512902031e-02 3.785748771706e-02 3.975665701624e-02 4.163200430140e-02 -4.348290809837e-02 4.530875827032e-02 4.710895620815e-02 4.888291501618e-02 -5.063005969317e-02 5.234982730849e-02 5.404166717344e-02 5.570504100770e-02 -5.733942310076e-02 5.894430046840e-02 6.051917300409e-02 6.206355362527e-02 -6.357696841449e-02 6.505895675542e-02 6.650907146351e-02 6.792687891150e-02 -6.931195914959e-02 7.066390602023e-02 7.198232726759e-02 7.326684464163e-02 -7.451709399671e-02 7.573272538478e-02 7.691340314312e-02 7.805880597647e-02 -7.916862703380e-02 8.024257397943e-02 8.128036905865e-02 8.228174915775e-02 -8.324646585855e-02 8.417428548724e-02 8.506498915771e-02 8.591837280926e-02 -8.673424723874e-02 8.751243812706e-02 8.825278606009e-02 8.895514654406e-02 -8.961939001526e-02 9.024540184427e-02 9.083308233453e-02 9.138234671541e-02 -9.189312512975e-02 9.236536261582e-02 9.279901908383e-02 9.319406928693e-02 -9.355050278675e-02 9.386832391348e-02 9.414755172060e-02 9.438821993413e-02 -9.459037689662e-02 9.475408550577e-02 9.487942314775e-02 9.496648162530e-02 -9.501536708061e-02 9.502619991302e-02 9.499911469155e-02 9.493426006246e-02 -9.483179865159e-02 9.469190696188e-02 9.451477526582e-02 9.430060749305e-02 -9.404962111313e-02 9.376204701352e-02 9.343812937277e-02 9.307812552910e-02 -9.268230584436e-02 9.225095356338e-02 9.178436466890e-02 9.128284773200e-02 -9.074672375824e-02 9.017632602944e-02 8.957199994129e-02 8.893410283673e-02 -8.826300383534e-02 8.755908365865e-02 8.682273445152e-02 8.605435959968e-02 -8.525437354350e-02 8.442320158798e-02 8.356127970921e-02 8.266905435722e-02 -8.174698225538e-02 8.079553019644e-02 7.981517483525e-02 7.880640247828e-02 -7.776970887001e-02 7.670559897632e-02 7.561458676484e-02 7.449719498256e-02 -7.335395493060e-02 7.218540623629e-02 7.099209662273e-02 6.977458167578e-02 -6.853342460873e-02 6.726919602462e-02 6.598247367633e-02 6.467384222462e-02 -6.334389299411e-02 6.199322372732e-02 6.062243833697e-02 5.923214665645e-02 -5.782296418875e-02 5.639551185381e-02 5.495041573448e-02 5.348830682111e-02 -5.200982075493e-02 5.051559757034e-02 4.900628143611e-02 4.748252039569e-02 -4.594496610667e-02 4.439427357957e-02 4.283110091591e-02 4.125610904585e-02 -3.966996146536e-02 3.807332397307e-02 3.646686440693e-02 3.485125238070e-02 -3.322715902046e-02 3.159525670120e-02 2.995621878360e-02 2.831071935103e-02 -2.665943294700e-02 2.500303431309e-02 2.334219812741e-02 2.167759874379e-02 -2.000990993170e-02 1.833980461710e-02 1.666795462418e-02 1.499503041830e-02 -1.332170084993e-02 1.164863290000e-02 9.976491426473e-03 8.305938912502e-03 -6.637635215999e-03 4.972237320923e-03 3.310399090263e-03 1.652771020840e-03 -1.408221227094e-14 -1.647270935606e-03 -3.288402839377e-03 -4.922761091662e-03 --6.549715634615e-03 - Type L N - 0 2 3 -0.000000000000e+00 4.457248234190e-05 1.782643907072e-04 4.009991057074e-04 -7.126489820193e-04 1.113035415164e-03 1.601928940844e-03 2.179049363396e-03 -2.844065911803e-03 3.596597423938e-03 4.436212558915e-03 5.362430037398e-03 -6.374718909681e-03 7.472498851489e-03 8.655140487224e-03 9.921965740519e-03 -1.127224821193e-02 1.270521358352e-02 1.422004005004e-02 1.581585877668e-02 -1.749175438281e-02 1.924676545176e-02 2.107988506605e-02 2.299006136809e-02 -2.497619814568e-02 2.703715544230e-02 2.917175019161e-02 3.137875687592e-02 -3.365690820823e-02 3.600489583748e-02 3.842137107649e-02 4.090494565238e-02 -4.345419247888e-02 4.606764645011e-02 4.874380525550e-02 5.148113021525e-02 -5.427804713593e-02 5.713294718568e-02 6.004418778865e-02 6.301009353797e-02 -6.602895712690e-02 6.909904029756e-02 7.221857480672e-02 7.538576340809e-02 -7.859878085057e-02 8.185577489191e-02 8.515486732719e-02 8.849415503146e-02 -9.187171101615e-02 9.528558549845e-02 9.873380698317e-02 1.022143833564e-01 -1.057253029904e-01 1.092645358591e-01 1.128300346638e-01 1.164197359675e-01 -1.200315613388e-01 1.236634185032e-01 1.273132025023e-01 1.309787968591e-01 -1.346580747501e-01 1.383489001823e-01 1.420491291753e-01 1.457566109472e-01 -1.494691891042e-01 1.531847028329e-01 1.569009880945e-01 1.606158788208e-01 -1.643272081105e-01 1.680328094259e-01 1.717305177888e-01 1.754181709754e-01 -1.790936107092e-01 1.827546838509e-01 1.863992435853e-01 1.900251506049e-01 -1.936302742875e-01 1.972124938699e-01 2.007696996148e-01 2.042997939718e-01 -2.078006927304e-01 2.112703261660e-01 2.147066401766e-01 2.181075974111e-01 -2.214711783874e-01 2.247953825998e-01 2.280782296165e-01 2.313177601642e-01 -2.345120372012e-01 2.376591469778e-01 2.407572000828e-01 2.438043324763e-01 -2.467987065080e-01 2.497385119204e-01 2.526219668358e-01 2.554473187279e-01 -2.582128453763e-01 2.609168558033e-01 2.635576911935e-01 2.661337257950e-01 -2.686433678012e-01 2.710850602144e-01 2.734572816884e-01 2.757585473522e-01 -2.779874096115e-01 2.801424589308e-01 2.822223245923e-01 2.842256754343e-01 -2.861512205662e-01 2.879977100613e-01 2.897639356266e-01 2.914487312484e-01 -2.930509738149e-01 2.945695837145e-01 2.960035254092e-01 2.973518079833e-01 -2.986134856677e-01 2.997876583384e-01 3.008734719886e-01 3.018701191768e-01 -3.027768394469e-01 3.035929197232e-01 3.043176946788e-01 3.049505470763e-01 -3.054909080832e-01 3.059382575588e-01 3.062921243152e-01 3.065520863497e-01 -3.067177710513e-01 3.067888553784e-01 3.067650660094e-01 3.066461794661e-01 -3.064320222090e-01 3.061224707043e-01 3.057174514647e-01 3.052169410610e-01 -3.046209661066e-01 3.039296032146e-01 3.031429789265e-01 3.022612696142e-01 -3.012847013538e-01 3.002135497725e-01 2.990481398679e-01 2.977888458001e-01 -2.964360906574e-01 2.949903461941e-01 2.934521325427e-01 2.918220178985e-01 -2.901006181790e-01 2.882885966564e-01 2.863866635645e-01 2.843955756802e-01 -2.823161358792e-01 2.801491926669e-01 2.778956396848e-01 2.755564151915e-01 -2.731325015206e-01 2.706249245140e-01 2.680347529323e-01 2.653630978410e-01 -2.626111119753e-01 2.597799890815e-01 2.568709632367e-01 2.538853081470e-01 -2.508243364242e-01 2.476893988424e-01 2.444818835731e-01 2.412032154019e-01 -2.378548549247e-01 2.344382977253e-01 2.309550735345e-01 2.274067453716e-01 -2.237949086680e-01 2.201211903739e-01 2.163872480489e-01 2.125947689363e-01 -2.087454690225e-01 2.048410920811e-01 2.008834087031e-01 1.968742153133e-01 -1.928153331736e-01 1.887086073738e-01 1.845559058101e-01 1.803591181529e-01 -1.761201548032e-01 1.718409458392e-01 1.675234399531e-01 1.631696033788e-01 -1.587814188122e-01 1.543608843220e-01 1.499100122556e-01 1.454308281366e-01 -1.409253695573e-01 1.363956850664e-01 1.318438330511e-01 1.272718806159e-01 -1.226819024584e-01 1.180759797413e-01 1.134561989637e-01 1.088246508299e-01 -1.041834291183e-01 9.953462954955e-02 9.488034865550e-02 9.022268264941e-02 -8.556372629778e-02 8.090557179462e-02 7.625030763888e-02 7.160001751551e-02 -6.695677918083e-02 6.232266335288e-02 5.769973260732e-02 5.309004027948e-02 -4.849562937322e-02 4.391853147720e-02 3.936076568912e-02 3.482433754858e-02 -3.031123797906e-02 2.582344223978e-02 2.136290888780e-02 1.693157875109e-02 -1.253137391310e-02 8.164196709282e-03 3.831928736336e-03 -4.635701255367e-04 --4.720462676645e-03 -8.936935347656e-03 -1.311119913473e-02 -1.724149051946e-02 --2.132607237305e-02 -2.536323484439e-02 -2.935129623136e-02 -3.328860383506e-02 --3.717353479639e-02 -4.100449691463e-02 -4.477992944750e-02 -4.849830389238e-02 --5.215812474809e-02 -5.575793025712e-02 -5.929629312760e-02 -6.277182123488e-02 --6.618315830222e-02 -6.952898456029e-02 -7.280801738516e-02 -7.601901191437e-02 --7.916076164086e-02 -8.223209898438e-02 -8.523189584023e-02 -8.815906410481e-02 --9.101255617803e-02 -9.379136544205e-02 -9.649452671631e-02 -9.912111668852e-02 --1.016702543216e-01 -1.041411012358e-01 -1.065328620670e-01 -1.088447847996e-01 --1.110761610748e-01 -1.132263264739e-01 -1.152946607763e-01 -1.172805881930e-01 --1.191835775734e-01 -1.210031425882e-01 -1.227388418859e-01 -1.243902792240e-01 --1.259571035753e-01 -1.274390092077e-01 -1.288357357390e-01 -1.301470681664e-01 --1.313728368700e-01 -1.325129175914e-01 -1.335672313864e-01 -1.345357445526e-01 --1.354184685322e-01 -1.362154597889e-01 -1.369268196606e-01 -1.375526941866e-01 --1.380932739105e-01 -1.385487936582e-01 -1.389195322919e-01 -1.392058124400e-01 --1.394080002019e-01 -1.395265048306e-01 -1.395617783907e-01 -1.395143153936e-01 --1.393846524088e-01 -1.391733676538e-01 -1.388810805603e-01 -1.385084513188e-01 --1.380561804008e-01 -1.375250080601e-01 -1.369157138120e-01 -1.362291158925e-01 --1.354660706961e-01 -1.346274721936e-01 -1.337142513307e-01 -1.327273754061e-01 --1.316678474315e-01 -1.305367054722e-01 -1.293350219701e-01 -1.280639030485e-01 --1.267244877994e-01 -1.253179475545e-01 -1.238454851391e-01 -1.223083341104e-01 --1.207077579798e-01 -1.190450494209e-01 -1.173215294620e-01 -1.155385466653e-01 --1.136974762920e-01 -1.117997194550e-01 -1.098467022581e-01 -1.078398749240e-01 --1.057807109104e-01 -1.036707060153e-01 -1.015113774717e-01 -9.930426303258e-02 --9.705092004665e-02 -9.475292452496e-02 -9.241187019960e-02 -9.002936757466e-02 --8.760704297005e-02 -8.514653755883e-02 -8.264950639862e-02 -8.011761745753e-02 --7.755255063536e-02 -7.495599678058e-02 -7.232965670356e-02 -6.967524018682e-02 --6.699446499276e-02 -6.428905586941e-02 -6.156074355494e-02 -5.881126378136e-02 --5.604235627800e-02 -5.325576377550e-02 -5.045323101064e-02 -4.763650373284e-02 --4.480732771270e-02 -4.196744775324e-02 -3.911860670445e-02 -3.626254448162e-02 --3.340099708804e-02 -3.053569564265e-02 -2.766836541325e-02 -2.480072485565e-02 --2.193448465945e-02 -1.907134680097e-02 -1.621300360381e-02 -1.336113680758e-02 --1.051741664539e-02 -7.683500930553e-03 -4.861034152950e-03 -2.051646585752e-03 -7.430465972123e-04 3.521446192831e-03 6.281969828383e-03 9.023052809042e-03 -1.174314895274e-02 1.444073141190e-02 1.711429348171e-02 1.976234939429e-02 -2.238343509855e-02 2.497610902513e-02 2.753895283621e-02 3.007057215951e-02 -3.256959730641e-02 3.503468397357e-02 3.746451392777e-02 3.985779567360e-02 -4.221326510369e-02 4.452968613109e-02 4.680585130346e-02 4.904058239882e-02 -5.123273100254e-02 5.338117906521e-02 5.548483944120e-02 5.754265640760e-02 -5.955360616327e-02 6.151669730783e-02 6.343097130024e-02 6.529550289684e-02 -6.710940056866e-02 6.887180689773e-02 7.058189895224e-02 7.223888864046e-02 -7.384202304310e-02 7.539058472419e-02 7.688389202009e-02 7.832129930679e-02 -7.970219724519e-02 8.102601300434e-02 8.229221046263e-02 8.350029038675e-02 -8.464979058844e-02 8.574028605906e-02 8.677138908178e-02 8.774274932152e-02 -8.865405389270e-02 8.950502740454e-02 9.029543198437e-02 9.102506727852e-02 -9.169377043125e-02 9.230141604154e-02 9.284791609794e-02 9.333321989151e-02 -9.375731390701e-02 9.412022169248e-02 9.442200370720e-02 9.466275714840e-02 -9.484261575671e-02 9.496174960057e-02 9.502036483976e-02 9.501870346840e-02 -9.495704303729e-02 9.483569635626e-02 9.465501117629e-02 9.441536985208e-02 -9.411718898495e-02 9.376091904661e-02 9.334704398391e-02 9.287608080494e-02 -9.234857914673e-02 9.176512082490e-02 9.112631936550e-02 9.043281951951e-02 -8.968529676013e-02 8.888445676345e-02 8.803103487260e-02 8.712579554598e-02 -8.616953178973e-02 8.516306457505e-02 8.410724224049e-02 8.300293987988e-02 -8.185105871610e-02 8.065252546120e-02 7.940829166328e-02 7.811933304056e-02 -7.678664880301e-02 7.541126096205e-02 7.399421362883e-02 7.253657230130e-02 -7.103942314083e-02 6.950387223863e-02 6.793104487253e-02 6.632208475452e-02 -6.467815326968e-02 6.300042870677e-02 6.129010548114e-02 5.954839335034e-02 -5.777651662299e-02 5.597571336138e-02 5.414723457828e-02 5.229234342845e-02 -5.041231439542e-02 4.850843247399e-02 4.658199234892e-02 4.463429757040e-02 -4.266665972674e-02 4.068039761486e-02 3.867683640893e-02 3.665730682787e-02 -3.462314430212e-02 3.257568814007e-02 3.051628069495e-02 2.844626653232e-02 -2.636699159894e-02 2.427980239344e-02 2.218604513920e-02 2.008706496005e-02 -1.798420505918e-02 1.587880590191e-02 1.377220440256e-02 1.166573311614e-02 -9.560719435159e-03 7.458484792203e-03 5.360343868524e-03 3.267603809314e-03 -1.181563446000e-03 -8.964874739414e-04 -2.965269049220e-03 -5.023511978570e-03 --7.069958305755e-03 -9.103362155313e-03 -1.112249045863e-02 -1.312612366988e-02 --1.511305647156e-02 -1.708209846895e-02 -1.903207487348e-02 -2.096182717423e-02 --2.287021379752e-02 -2.475611075395e-02 -2.661841227277e-02 -2.845603142301e-02 --3.026790072120e-02 -3.205297272523e-02 -3.381022061409e-02 -3.553863875319e-02 --3.723724324485e-02 -3.890507246382e-02 -4.054118757736e-02 -4.214467304981e-02 --4.371463713124e-02 -4.525021232991e-02 -4.675055586845e-02 -4.821485012336e-02 --4.964230304767e-02 -5.103214857662e-02 -5.238364701599e-02 -5.369608541310e-02 --5.496877791009e-02 -5.620106607950e-02 -5.739231924181e-02 -5.854193476503e-02 --5.964933834590e-02 -6.071398427289e-02 -6.173535567067e-02 -6.271296472603e-02 --6.364635289518e-02 -6.453509109232e-02 -6.537877985944e-02 -6.617704951726e-02 --6.692956029730e-02 -6.763600245510e-02 -6.829609636440e-02 -6.890959259254e-02 --6.947627195680e-02 -6.999594556194e-02 -7.046845481878e-02 -7.089367144401e-02 --7.127149744118e-02 -7.160186506299e-02 -7.188473675489e-02 -7.212010508019e-02 --7.230799262665e-02 -7.244845189474e-02 -7.254156516766e-02 -7.258744436323e-02 --7.258623086790e-02 -7.253809535283e-02 -7.244323757238e-02 -7.230188614518e-02 --7.211429831779e-02 -7.188075971132e-02 -7.160158405118e-02 -7.127711288012e-02 --7.090771525475e-02 -7.049378742595e-02 -7.003575250320e-02 -6.953406010323e-02 --6.898918598315e-02 -6.840163165842e-02 -6.777192400586e-02 -6.710061485204e-02 --6.638828054735e-02 -6.563552152595e-02 -6.484296185208e-02 -6.401124875290e-02 --6.314105213826e-02 -6.223306410774e-02 -6.128799844526e-02 -6.030659010162e-02 --5.928959466533e-02 -5.823778782215e-02 -5.715196480352e-02 -5.603293982456e-02 --5.488154551165e-02 -5.369863232030e-02 -5.248506794353e-02 -5.124173671111e-02 --4.996953898025e-02 -4.866939051794e-02 -4.734222187547e-02 -4.598897775549e-02 --4.461061637206e-02 -4.320810880402e-02 -4.178243834230e-02 -4.033459983128e-02 --3.886559900497e-02 -3.737645181818e-02 -3.586818377323e-02 -3.434182924260e-02 --3.279843078799e-02 -3.123903847615e-02 -2.966470919199e-02 -2.807650594939e-02 --2.647549720008e-02 -2.486275614114e-02 -2.323936002146e-02 -2.160638944768e-02 --1.996492768990e-02 -1.831605998782e-02 -1.666087285751e-02 -1.500045339944e-02 --1.333588860800e-02 -1.166826468316e-02 -9.998666344508e-03 -8.328176148179e-03 --6.657873807088e-03 -4.988835514865e-03 -3.322133273924e-03 -1.658834228060e-03 -9.121078281037e-15 1.653313965754e-03 3.300059054207e-03 4.939194125200e-03 -6.569686152075e-03 - Type L N - 0 2 4 -0.000000000000e+00 6.467701348754e-05 2.586542723594e-04 5.817704695828e-04 -1.033756907113e-03 1.614237711735e-03 2.322730138670e-03 3.158644962277e-03 -4.121286952181e-03 5.209855435365e-03 6.423444943362e-03 7.761045944157e-03 -9.221545658202e-03 1.080372895779e-02 1.250627934912e-02 1.432778003624e-02 -1.626671506593e-02 1.832147055267e-02 2.049033598262e-02 2.277150559559e-02 -2.516307984377e-02 2.766306692620e-02 3.026938439748e-02 3.297986084961e-02 -3.579223766544e-02 3.870417084234e-02 4.171323288467e-02 4.481691476326e-02 -4.801262794057e-02 5.129770645970e-02 5.466940909557e-02 5.812492156647e-02 -6.166135880428e-02 6.527576728134e-02 6.896512739216e-02 7.272635588803e-02 -7.655630836242e-02 8.045178178523e-02 8.440951708386e-02 8.842620176875e-02 -9.249847260157e-02 9.662291830356e-02 1.007960823020e-01 1.050144655125e-01 -1.092745291549e-01 1.135726976002e-01 1.179053612464e-01 1.222688794215e-01 -1.266595833095e-01 1.310737788995e-01 1.355077499530e-01 1.399577609892e-01 -1.444200602838e-01 1.488908828806e-01 1.533664536125e-01 1.578429901293e-01 -1.623167059309e-01 1.667838134018e-01 1.712405268457e-01 1.756830655180e-01 -1.801076566519e-01 1.845105384774e-01 1.888879632307e-01 1.932362001498e-01 -1.975515384562e-01 2.018302903183e-01 2.060687937959e-01 2.102634157614e-01 -2.144105547971e-01 2.185066440656e-01 2.225481541504e-01 2.265315958651e-01 -2.304535230296e-01 2.343105352087e-01 2.380992804136e-01 2.418164577626e-01 -2.454588200992e-01 2.490231765652e-01 2.525063951274e-01 2.559054050554e-01 -2.592171993486e-01 2.624388371103e-01 2.655674458674e-01 2.686002238332e-01 -2.715344421129e-01 2.743674468476e-01 2.770966612978e-01 2.797195878629e-01 -2.822338100357e-01 2.846369942908e-01 2.869268919043e-01 2.891013407043e-01 -2.911582667514e-01 2.930956859452e-01 2.949117055595e-01 2.966045257012e-01 -2.981724406948e-01 2.996138403890e-01 3.009272113863e-01 3.021111381935e-01 -3.031643042930e-01 3.040854931329e-01 3.048735890371e-01 3.055275780325e-01 -3.060465485947e-01 3.064296923100e-01 3.066763044547e-01 3.067857844901e-01 -3.067576364736e-01 3.065914693852e-01 3.062869973702e-01 3.058440398959e-01 -3.052625218249e-01 3.045424734030e-01 3.036840301624e-01 3.026874327411e-01 -3.015530266175e-01 3.002812617612e-01 2.988726922006e-01 2.973279755071e-01 -2.956478721966e-01 2.938332450497e-01 2.918850583496e-01 2.898043770398e-01 -2.875923658023e-01 2.852502880559e-01 2.827795048773e-01 2.801814738444e-01 -2.774577478034e-01 2.746099735617e-01 2.716398905060e-01 2.685493291479e-01 -2.653402095987e-01 2.620145399736e-01 2.585744147272e-01 2.550220129220e-01 -2.513595964312e-01 2.475895080768e-01 2.437141697060e-01 2.397360802058e-01 -2.356578134586e-01 2.314820162408e-01 2.272114060649e-01 2.228487689682e-01 -2.183969572496e-01 2.138588871558e-01 2.092375365199e-01 2.045359423538e-01 -1.997571983959e-01 1.949044526175e-01 1.899809046891e-01 1.849898034084e-01 -1.799344440933e-01 1.748181659408e-01 1.696443493552e-01 1.644164132466e-01 -1.591378123033e-01 1.538120342391e-01 1.484425970188e-01 1.430330460631e-01 -1.375869514369e-01 1.321079050210e-01 1.265995176723e-01 1.210654163718e-01 -1.155092413657e-01 1.099346432998e-01 1.043452803504e-01 9.874481535428e-02 -9.313691293955e-02 8.752523666008e-02 8.191344613574e-02 7.630519420076e-02 -7.070412406258e-02 6.511386647350e-02 5.953803691739e-02 5.398023281373e-02 -4.844403074131e-02 4.293298368379e-02 3.745061829925e-02 3.200043221616e-02 -2.658589135768e-02 2.121042729658e-02 1.587743464290e-02 1.059026846634e-02 -5.352241755580e-03 1.666229163423e-04 -4.963366689589e-03 -1.003455516262e-02 --1.504382243890e-02 -1.998810261728e-02 -2.486438623791e-02 -2.966972251065e-02 --3.440122149161e-02 -3.905605620602e-02 -4.363146471594e-02 -4.812475213110e-02 --5.253329256133e-02 -5.685453100917e-02 -6.108598520115e-02 -6.522524735635e-02 --6.926998589097e-02 -7.321794705754e-02 -7.706695651764e-02 -8.081492084693e-02 --8.445982897137e-02 -8.799975353358e-02 -9.143285218847e-02 -9.475736882699e-02 --9.797163472740e-02 -1.010740696331e-01 -1.040631827561e-01 -1.069375737062e-01 --1.096959333441e-01 -1.123370445592e-01 -1.148597829702e-01 -1.172631175495e-01 --1.195461111700e-01 -1.217079210747e-01 -1.237477992681e-01 -1.256650928302e-01 --1.274592441522e-01 -1.291297910945e-01 -1.306763670666e-01 -1.320987010287e-01 --1.333966174168e-01 -1.345700359890e-01 -1.356189715955e-01 -1.365435338717e-01 --1.373439268546e-01 -1.380204485240e-01 -1.385734902677e-01 -1.390035362722e-01 --1.393111628400e-01 -1.394970376326e-01 -1.395619188418e-01 -1.395066542893e-01 --1.393321804551e-01 -1.390395214367e-01 -1.386297878394e-01 -1.381041755992e-01 --1.374639647384e-01 -1.367105180573e-01 -1.358452797606e-01 -1.348697740218e-01 --1.337856034858e-01 -1.325944477119e-01 -1.312980615577e-01 -1.298982735065e-01 --1.283969839388e-01 -1.267961633501e-01 -1.250978505159e-01 -1.233041506066e-01 --1.214172332533e-01 -1.194393305656e-01 -1.173727351053e-01 -1.152197978151e-01 --1.129829259064e-01 -1.106645807066e-01 -1.082672754685e-01 -1.057935731439e-01 --1.032460841225e-01 -1.006274639388e-01 -9.794041094889e-02 -9.518766397925e-02 --9.237199994887e-02 -8.949623146779e-02 -8.656320441344e-02 -8.357579548706e-02 --8.053690975243e-02 -7.744947815873e-02 -7.431645504994e-02 -7.114081566276e-02 --6.792555361516e-02 -6.467367838778e-02 -6.138821280021e-02 -5.807219048446e-02 --5.472865335745e-02 -5.136064909501e-02 -4.797122860918e-02 -4.456344353117e-02 --4.114034370191e-02 -3.770497467241e-02 -3.426037521587e-02 -3.080957485374e-02 --2.735559139769e-02 -2.390142850954e-02 -2.045007328115e-02 -1.700449383626e-02 --1.356763695622e-02 -1.014242573161e-02 -6.731757241574e-03 -3.338500262781e-03 -3.450699010114e-05 3.384459090659e-03 6.708585591882e-03 1.000415318049e-02 -1.326846779269e-02 1.649887668971e-02 1.969277049147e-02 2.284758516679e-02 -2.596080397851e-02 2.902995938214e-02 3.205263487648e-02 3.502646680471e-02 -3.794914610479e-02 4.081842000759e-02 4.363209368161e-02 4.638803182301e-02 -4.908416018980e-02 5.171846707893e-02 5.428900474540e-02 5.679389076215e-02 -5.923130931991e-02 6.159951246595e-02 6.389682128100e-02 6.612162699342e-02 -6.827239202987e-02 7.034765100187e-02 7.234601162746e-02 7.426615558751e-02 -7.610683931608e-02 7.786689472434e-02 7.954522985768e-02 8.114082948563e-02 -8.265275562436e-02 8.408014799135e-02 8.542222439227e-02 8.667828103984e-02 -8.784769280450e-02 8.892991339717e-02 8.992447548386e-02 9.083099073243e-02 -9.164914979164e-02 9.237872220263e-02 9.301955624322e-02 9.357157870541e-02 -9.403479460629e-02 9.440928683305e-02 9.469521572246e-02 9.489281857541e-02 -9.500240910722e-02 9.502437683422e-02 9.495918639761e-02 9.480737682502e-02 -9.456956073099e-02 9.424642345693e-02 9.383872215173e-02 9.334728479382e-02 -9.277300915591e-02 9.211686171330e-02 9.137987649695e-02 9.056315389263e-02 -8.966785938705e-02 8.869522226255e-02 8.764653424145e-02 8.652314808142e-02 -8.532647612334e-02 8.405798879298e-02 8.271921305792e-02 8.131173084133e-02 -7.983717739398e-02 7.829723962611e-02 7.669365440074e-02 7.502820679000e-02 -7.330272829607e-02 7.151909503859e-02 6.967922590995e-02 6.778508070034e-02 -6.583865819438e-02 6.384199424077e-02 6.179715979705e-02 5.970625895115e-02 -5.757142692138e-02 5.539482803698e-02 5.317865370071e-02 5.092512033565e-02 -4.863646731778e-02 4.631495489640e-02 4.396286210410e-02 4.158248465821e-02 -3.917613285563e-02 3.674612946285e-02 3.429480760297e-02 3.182450864173e-02 -2.933758007429e-02 2.683637341465e-02 2.432324208952e-02 2.180053933849e-02 -1.927061612244e-02 1.673581904170e-02 1.419848826614e-02 1.166095547863e-02 -9.125541833832e-03 6.594555934047e-03 4.070291823748e-03 1.555027004599e-03 --9.489795274114e-04 -3.439489221052e-03 -5.914285883511e-03 -8.371177567057e-03 --1.080799842710e-02 -1.322261055011e-02 -1.561290574995e-02 -1.797680733099e-02 --2.031227181671e-02 -2.261729064236e-02 -2.488989181013e-02 -2.712814150576e-02 --2.933014567510e-02 -3.149405155936e-02 -3.361804918796e-02 -3.570037282766e-02 --3.773930238696e-02 -3.973316477450e-02 -4.168033521061e-02 -4.357923849086e-02 --4.542835020074e-02 -4.722619788044e-02 -4.897136213900e-02 -5.066247771695e-02 --5.229823449659e-02 -5.387737845932e-02 -5.539871258930e-02 -5.686109772272e-02 --5.826345334227e-02 -5.960475831614e-02 -6.088405158118e-02 -6.210043276973e-02 --6.325306277975e-02 -6.434116428803e-02 -6.536402220605e-02 -6.632098407841e-02 --6.721146042362e-02 -6.803492501707e-02 -6.879091511625e-02 -6.947903162814e-02 --7.009893921874e-02 -7.065036636499e-02 -7.113310534910e-02 -7.154701219554e-02 --7.189200655093e-02 -7.216807150707e-02 -7.237525336760e-02 -7.251366135851e-02 --7.258346728307e-02 -7.258490512157e-02 -7.251827057659e-02 -7.238392056411e-02 --7.218227265139e-02 -7.191380444207e-02 -7.157905290935e-02 -7.117861367794e-02 --7.071314025570e-02 -7.018334321567e-02 -6.958998932949e-02 -6.893390065319e-02 --6.821595356620e-02 -6.743707776469e-02 -6.659825521027e-02 -6.570051903513e-02 --6.474495240479e-02 -6.373268733955e-02 -6.266490349590e-02 -6.154282690909e-02 --6.036772869814e-02 -5.914092373457e-02 -5.786376927608e-02 -5.653766356675e-02 --5.516404440485e-02 -5.374438767992e-02 -5.228020588032e-02 -5.077304657284e-02 --4.922449085577e-02 -4.763615178696e-02 -4.600967278826e-02 -4.434672602804e-02 --4.264901078311e-02 -4.091825178181e-02 -3.915619752961e-02 -3.736461861899e-02 --3.554530602502e-02 -3.370006938831e-02 -3.183073528694e-02 -2.993914549896e-02 --2.802715525691e-02 -2.609663149633e-02 -2.414945109941e-02 -2.218749913577e-02 --2.021266710177e-02 -1.822685116001e-02 -1.623195038059e-02 -1.422986498576e-02 --1.222249459954e-02 -1.021173650382e-02 -8.199483902594e-03 -6.187624195818e-03 --4.178037264425e-03 -2.172593768075e-03 -1.731534570916e-04 1.818436499896e-03 -3.800343171147e-03 5.770749498377e-03 7.727855913281e-03 9.669881932597e-03 -1.159506773032e-02 1.350167568574e-02 1.538799190588e-02 1.725232772119e-02 -1.909302115304e-02 2.090843835186e-02 2.269697500474e-02 2.445705771117e-02 -2.618714532593e-02 2.788573026788e-02 2.955133979361e-02 3.118253723494e-02 -3.277792319915e-02 3.433613673106e-02 3.585585643598e-02 3.733580156260e-02 -3.877473304497e-02 4.017145450282e-02 4.152481319930e-02 4.283370095549e-02 -4.409705502095e-02 4.531385889966e-02 4.648314313074e-02 4.760398602330e-02 -4.867551434504e-02 4.969690396393e-02 5.066738044268e-02 5.158621958553e-02 -5.245274793696e-02 5.326634323216e-02 5.402643479884e-02 5.473250391019e-02 -5.538408408892e-02 5.598076136215e-02 5.652217446705e-02 5.700801500733e-02 -5.743802756036e-02 5.781200973523e-02 5.812981218165e-02 5.839133854989e-02 -5.859654540203e-02 5.874544207454e-02 5.883809049276e-02 5.887460493731e-02 -5.885515176296e-02 5.877994907029e-02 5.864926633065e-02 5.846342396483e-02 -5.822279287599e-02 5.792779393747e-02 5.757889743600e-02 5.717662247100e-02 -5.672153631070e-02 5.621425370570e-02 5.565543616079e-02 5.504579116584e-02 -5.438607138658e-02 5.367707381606e-02 5.291963888783e-02 5.211464955159e-02 -5.126303031252e-02 5.036574623496e-02 4.942380191178e-02 4.843824040031e-02 -4.741014212590e-02 4.634062375435e-02 4.523083703419e-02 4.408196761011e-02 -4.289523380852e-02 4.167188539674e-02 4.041320231670e-02 3.912049339471e-02 -3.779509502828e-02 3.643836985150e-02 3.505170538017e-02 3.363651263793e-02 -3.219422476486e-02 3.072629560979e-02 2.923419830763e-02 2.771942384323e-02 -2.618347960300e-02 2.462788791564e-02 2.305418458359e-02 2.146391740623e-02 -1.985864469655e-02 1.823993379249e-02 1.660935956441e-02 1.496850292005e-02 -1.331894930838e-02 1.166228722378e-02 1.000010671186e-02 8.333997878296e-03 -6.665549402163e-03 4.996347054970e-03 3.327972226886e-03 1.662000461435e-03 --1.197198642185e-15 -1.656469662533e-03 -3.305859209674e-03 -4.946630921512e-03 --6.577260077874e-03 - Type L N - 0 2 5 -0.000000000000e+00 8.843454829340e-05 3.536376431318e-04 7.953077383734e-04 -1.412942629879e-03 2.205840009229e-03 3.173098239600e-03 4.313617352846e-03 -5.626100265255e-03 7.109054211153e-03 8.760792392709e-03 1.057943584416e-02 -1.256291550825e-02 1.470897452253e-02 1.701517071310e-02 1.947887929282e-02 -2.209729576101e-02 2.486743900144e-02 2.778615457505e-02 3.085011820372e-02 -3.405583944115e-02 3.739966552686e-02 4.087778541869e-02 4.448623399960e-02 -4.822089645382e-02 5.207751280750e-02 5.605168262877e-02 6.013886988193e-02 -6.433440793030e-02 6.863350468212e-02 7.303124787377e-02 7.752261048427e-02 -8.210245627513e-02 8.676554544919e-02 9.150654042227e-02 9.632001170095e-02 -1.012004438601e-01 1.061422416135e-01 1.111397359702e-01 1.161871904705e-01 -1.212788074943e-01 1.264087346346e-01 1.315710711288e-01 1.367598743410e-01 -1.419691662889e-01 1.471929402053e-01 1.524251671307e-01 1.576598025256e-01 -1.628907928987e-01 1.681120824415e-01 1.733176196618e-01 1.785013640105e-01 -1.836572924922e-01 1.887794062539e-01 1.938617371432e-01 1.988983542297e-01 -2.038833702822e-01 2.088109481935e-01 2.136753073473e-01 2.184707299184e-01 -2.231915671013e-01 2.278322452582e-01 2.323872719807e-01 2.368512420586e-01 -2.412188433491e-01 2.454848625395e-01 2.496441907972e-01 2.536918293015e-01 -2.576228946506e-01 2.614326241370e-01 2.651163808874e-01 2.686696588600e-01 -2.720880876944e-01 2.753674374084e-01 2.785036229372e-01 2.814927085096e-01 -2.843309118560e-01 2.870146082457e-01 2.895403343460e-01 2.919047919020e-01 -2.941048512312e-01 2.961375545295e-01 2.980001189869e-01 2.996899397059e-01 -3.012045924239e-01 3.025418360331e-01 3.036996148978e-01 3.046760609651e-01 -3.054694956680e-01 3.060784316181e-01 3.065015740870e-01 3.067378222743e-01 -3.067862703616e-01 3.066462083512e-01 3.063171226887e-01 3.057986966696e-01 -3.050908106292e-01 3.041935419158e-01 3.031071646480e-01 3.018321492558e-01 -3.003691618077e-01 2.987190631224e-01 2.968829076694e-01 2.948619422570e-01 -2.926576045123e-01 2.902715211520e-01 2.877055060494e-01 2.849615580978e-01 -2.820418588735e-01 2.789487701018e-01 2.756848309287e-01 2.722527550014e-01 -2.686554273614e-01 2.648959011542e-01 2.609773941583e-01 2.569032851397e-01 -2.526771100344e-01 2.483025579636e-01 2.437834670878e-01 2.391238203025e-01 -2.343277407826e-01 2.293994873787e-01 2.243434498729e-01 2.191641440970e-01 -2.138662069216e-01 2.084543911193e-01 2.029335601097e-01 1.973086825914e-01 -1.915848270677e-01 1.857671562716e-01 1.798609214971e-01 1.738714568434e-01 -1.678041733775e-01 1.616645532235e-01 1.554581435837e-01 1.491905506995e-01 -1.428674337582e-01 1.364944987533e-01 1.300774923044e-01 1.236221954444e-01 -1.171344173807e-01 1.106199892374e-01 1.040847577856e-01 9.753457916862e-02 -9.097531263009e-02 8.441281425030e-02 7.785293069927e-02 7.130149301279e-02 -6.476431039851e-02 5.824716407897e-02 5.175580117834e-02 4.529592865971e-02 -3.887320731955e-02 3.249324584599e-02 2.616159494743e-02 1.988374155795e-02 -1.366510312583e-02 7.511021991405e-03 1.426759860405e-03 -4.582507621236e-03 --1.051169618524e-02 -1.635581814577e-02 -2.210998748552e-02 -2.776942481765e-02 --3.332946221840e-02 -3.878554792496e-02 -4.413325089389e-02 -4.936826521520e-02 --5.448641437729e-02 -5.948365537855e-02 -6.435608268117e-02 -6.909993200312e-02 --7.371158394439e-02 -7.818756744389e-02 -8.252456306333e-02 -8.671940609498e-02 --9.076908949011e-02 -9.467076660523e-02 -9.842175376361e-02 -1.020195326294e-01 --1.054617523925e-01 -1.087462317616e-01 -1.118709607641e-01 -1.148341023516e-01 --1.176339938086e-01 -1.202691479643e-01 -1.227382542061e-01 -1.250401792949e-01 --1.271739679803e-01 -1.291388434172e-01 -1.309342073825e-01 -1.325596402933e-01 --1.340149010263e-01 -1.352999265391e-01 -1.364148312948e-01 -1.373599064912e-01 --1.381356190951e-01 -1.387426106843e-01 -1.391816960985e-01 -1.394538619017e-01 --1.395602646572e-01 -1.395022290196e-01 -1.392812456445e-01 -1.388989689197e-01 --1.383572145215e-01 -1.376579567977e-01 -1.368033259832e-01 -1.357956052489e-01 --1.346372275904e-01 -1.333307725589e-01 -1.318789628388e-01 -1.302846606768e-01 --1.285508641666e-01 -1.266807033933e-01 -1.246774364437e-01 -1.225444452862e-01 --1.202852315255e-01 -1.179034120385e-01 -1.154027144950e-01 -1.127869727698e-01 --1.100601222512e-01 -1.072261950524e-01 -1.042893151305e-01 -1.012536933192e-01 --9.812362228211e-02 -9.490347139121e-02 -9.159768153769e-02 -8.821075988073e-02 --8.474727454061e-02 -8.121184924242e-02 -7.760915791657e-02 -7.394391926241e-02 --7.022089128150e-02 -6.644486578661e-02 -6.262066289307e-02 -5.875312549865e-02 --5.484711375854e-02 -5.090749956161e-02 -4.693916101441e-02 -4.294697693916e-02 --3.893582139206e-02 -3.491055820812e-02 -3.087603557870e-02 -2.683708066795e-02 --2.279849427414e-02 -1.876504554194e-02 -1.474146673158e-02 -1.073244805069e-02 --6.742632554596e-03 -2.776611120726e-03 1.161082497283e-03 5.065976530412e-03 -8.933665964617e-03 1.275981721555e-02 1.654017270256e-02 2.027055531696e-02 -2.394687277990e-02 2.756512188498e-02 3.112139262123e-02 3.461187217210e-02 -3.803284878607e-02 4.138071551510e-02 4.465197381679e-02 4.784323701676e-02 -5.095123362750e-02 5.397281052057e-02 5.690493594875e-02 5.974470241534e-02 -6.248932938769e-02 6.513616585240e-02 6.768269270979e-02 7.012652500537e-02 -7.246541399637e-02 7.469724905143e-02 7.682005938187e-02 7.883201560314e-02 -8.073143112517e-02 8.251676337075e-02 8.418661482097e-02 8.573973388724e-02 -8.717501560948e-02 8.849150218024e-02 8.968838329487e-02 9.076499632787e-02 -9.172082633592e-02 9.255550588818e-02 9.326881472473e-02 9.386067924413e-02 -9.433117182145e-02 9.468050995802e-02 9.490905526471e-02 9.501731228041e-02 -9.500592712786e-02 9.487568600880e-02 9.462751354110e-02 9.426247094018e-02 -9.378175404753e-02 9.318669120930e-02 9.247874100793e-02 9.165948985008e-02 -9.073064941431e-02 8.969405396193e-02 8.855165751490e-02 8.730553090442e-02 -8.595785869433e-02 8.451093598347e-02 8.296716509107e-02 8.132905212973e-02 -7.959920347039e-02 7.778032210396e-02 7.587520390419e-02 7.388673379677e-02 -7.181788183948e-02 6.967169921838e-02 6.745131416515e-02 6.515992780077e-02 -6.280080991070e-02 6.037729465690e-02 5.789277623210e-02 5.535070446159e-02 -5.275458035810e-02 5.010795163516e-02 4.741440818459e-02 4.467757752352e-02 -4.190112021655e-02 3.908872527867e-02 3.624410556442e-02 3.337099314900e-02 -3.047313470670e-02 2.755428689236e-02 2.461821173135e-02 2.166867202349e-02 -1.870942676643e-02 1.574422660391e-02 1.277680930427e-02 9.810895274485e-03 -6.850183114978e-03 3.898345220493e-03 9.590234320046e-04 -1.964175255218e-03 --4.867682922457e-03 -7.747974892461e-03 -1.060157382366e-02 -1.342505372899e-02 --1.621504391486e-02 -1.896823283569e-02 -2.168137185984e-02 -2.435127894258e-02 --2.697484220215e-02 -2.954902339493e-02 -3.207086128584e-02 -3.453747491041e-02 --3.694606672492e-02 -3.929392564125e-02 -4.157842994323e-02 -4.379705008142e-02 --4.594735134334e-02 -4.802699639650e-02 -5.003374770156e-02 -5.196546979325e-02 --5.382013142674e-02 -5.559580758741e-02 -5.729068136213e-02 -5.890304567025e-02 --6.043130485283e-02 -6.187397611862e-02 -6.322969084568e-02 -6.449719573756e-02 --6.567535383323e-02 -6.676314537007e-02 -6.775966849945e-02 -6.866413985459e-02 --6.947589497063e-02 -7.019438855687e-02 -7.081919462152e-02 -7.135000644933e-02 --7.178663643267e-02 -7.212901575695e-02 -7.237719394112e-02 -7.253133823464e-02 --7.259173287195e-02 -7.255877818608e-02 -7.243298958297e-02 -7.221499637829e-02 --7.190554049871e-02 -7.150547504972e-02 -7.101576275240e-02 -7.043747425129e-02 --6.977178629627e-02 -6.901997980085e-02 -6.818343777997e-02 -6.726364317018e-02 --6.626217653535e-02 -6.518071366117e-02 -6.402102304188e-02 -6.278496326262e-02 --6.147448028115e-02 -6.009160461257e-02 -5.863844842095e-02 -5.711720252171e-02 --5.553013329895e-02 -5.387957954164e-02 -5.216794920309e-02 -5.039771608784e-02 --4.857141647040e-02 -4.669164565024e-02 -4.476105444761e-02 -4.278234564460e-02 --4.075827037615e-02 -3.869162447569e-02 -3.658524477991e-02 -3.444200539771e-02 --3.226481394767e-02 -3.005660776926e-02 -2.782035011212e-02 -2.555902630867e-02 --2.327563993447e-02 -2.097320896137e-02 -1.865476190813e-02 -1.632333399337e-02 --1.398196329553e-02 -1.163368692469e-02 -9.281537210775e-03 -6.928537913070e-03 --4.577700455416e-03 -2.232020191838e-03 1.055272929233e-04 2.431989843527e-03 -4.744442350352e-03 7.039990317716e-03 9.315773379721e-03 1.156896875954e-02 -1.379679466805e-02 1.599651363785e-02 1.816543578862e-02 2.030092202019e-02 -2.240038712946e-02 2.446130284760e-02 2.648120079414e-02 2.845767534433e-02 -3.038838640685e-02 3.227106210840e-02 3.410350138237e-02 3.588357645862e-02 -3.760923525171e-02 3.927850364479e-02 4.088948766690e-02 4.244037556115e-02 -4.392943974174e-02 4.535503863768e-02 4.671561842131e-02 4.800971462001e-02 -4.923595360928e-02 5.039305398596e-02 5.147982782019e-02 5.249518178498e-02 -5.343811816249e-02 5.430773572606e-02 5.510323049754e-02 5.582389637918e-02 -5.646912565992e-02 5.703840939578e-02 5.753133766442e-02 5.794759969388e-02 -5.828698386590e-02 5.854937759416e-02 5.873476707813e-02 5.884323693321e-02 -5.887496969808e-02 5.883024522034e-02 5.870943992158e-02 5.851302594329e-02 -5.824157017513e-02 5.789573316698e-02 5.747626792690e-02 5.698401860662e-02 -5.641991907667e-02 5.578499139343e-02 5.508034416032e-02 5.430717078558e-02 -5.346674763916e-02 5.256043211145e-02 5.158966057661e-02 5.055594626341e-02 -4.946087703648e-02 4.830611309131e-02 4.709338456586e-02 4.582448907248e-02 -4.450128915314e-02 4.312570966174e-02 4.169973507682e-02 4.022540674857e-02 -3.870482008348e-02 3.714012167076e-02 3.553350635409e-02 3.388721425273e-02 -3.220352773586e-02 3.048476835413e-02 2.873329373248e-02 2.695149442828e-02 -2.514179075879e-02 2.330662960220e-02 2.144848117626e-02 1.956983579870e-02 -1.767320063363e-02 1.576109642796e-02 1.383605424216e-02 1.190061217943e-02 -9.957312117337e-03 8.008696446310e-03 6.057304818763e-03 4.105670913186e-03 -2.156319217133e-03 2.117618331311e-04 -1.725504688503e-03 -3.653002486023e-03 --5.568275487930e-03 -7.468892476130e-03 -9.352450106845e-03 -1.121657588556e-02 --1.305893109241e-02 -1.487721365444e-02 -1.666916096130e-02 -1.843255262097e-02 --2.016521315220e-02 -2.186501461049e-02 -2.352987914451e-02 -2.515778147985e-02 --2.674675132734e-02 -2.829487571296e-02 -2.980030122677e-02 -3.126123618819e-02 --3.267595272522e-02 -3.404278876514e-02 -3.536014993456e-02 -3.662651136660e-02 --3.784041941333e-02 -3.900049326142e-02 -4.010542644944e-02 -4.115398828509e-02 --4.214502516090e-02 -4.307746176710e-02 -4.395030220038e-02 -4.476263096751e-02 --4.551361388285e-02 -4.620249885901e-02 -4.682861658991e-02 -4.739138112576e-02 --4.789029033958e-02 -4.832492628501e-02 -4.869495544526e-02 -4.900012887330e-02 --4.924028222339e-02 -4.941533567430e-02 -4.952529374462e-02 -4.957024500079e-02 --4.955036165852e-02 -4.946589907844e-02 -4.931719515703e-02 -4.910466961379e-02 --4.882882317603e-02 -4.849023666264e-02 -4.808956996814e-02 -4.762756094888e-02 --4.710502421290e-02 -4.652284981543e-02 -4.588200186193e-02 -4.518351702076e-02 --4.442850294764e-02 -4.361813662421e-02 -4.275366261309e-02 -4.183639123185e-02 --4.086769664858e-02 -3.984901490169e-02 -3.878184184664e-02 -3.766773103258e-02 --3.650829151167e-02 -3.530518558430e-02 -3.406012648303e-02 -3.277487599862e-02 --3.145124205122e-02 -3.009107621011e-02 -2.869627116519e-02 -2.726875815371e-02 --2.581050434560e-02 -2.432351019094e-02 -2.280980673299e-02 -2.127145289039e-02 --1.971053271207e-02 -1.812915260851e-02 -1.652943856288e-02 -1.491353332576e-02 --1.328359359712e-02 -1.164178719905e-02 -9.990290243072e-03 -8.331284295577e-03 --6.666953545004e-03 -4.999481974467e-03 -3.331050543370e-03 -1.663834381623e-03 --2.402669613501e-15 1.658297479800e-03 3.308917071970e-03 4.949734646731e-03 -6.578645620480e-03 - Type L N - 0 2 6 -0.000000000000e+00 1.158449375594e-04 4.632072064351e-04 1.041569421675e-03 -1.850070109030e-03 2.887504951123e-03 4.152328531465e-03 5.642656572168e-03 -7.356268662154e-03 9.290611471781e-03 1.144280244933e-02 1.380963399377e-02 -1.638757809772e-02 1.917279145368e-02 2.216112101614e-02 2.534811001120e-02 -2.872900438505e-02 3.229875968163e-02 3.605204833944e-02 3.998326739671e-02 -4.408654659363e-02 4.835575685968e-02 5.278451917357e-02 5.736621378273e-02 -6.209398976888e-02 6.696077494550e-02 7.195928607265e-02 7.708203937428e-02 -8.232136134232e-02 8.766939981191e-02 9.311813529135e-02 9.865939253019e-02 -1.042848523085e-01 1.099860634300e-01 1.157544549012e-01 1.215813482797e-01 -1.274579701716e-01 1.333754648620e-01 1.393249070584e-01 1.452973147290e-01 -1.512836620174e-01 1.572748922140e-01 1.632619307658e-01 1.692356983058e-01 -1.751871236816e-01 1.811071569663e-01 1.869867824310e-01 1.928170314606e-01 -1.985889953941e-01 2.042938382712e-01 2.099228094656e-01 2.154672561873e-01 -2.209186358363e-01 2.262685281881e-01 2.315086473959e-01 2.366308537893e-01 -2.416271654543e-01 2.464897695783e-01 2.512110335412e-01 2.557835157396e-01 -2.601999761268e-01 2.644533864541e-01 2.685369401979e-01 2.724440621603e-01 -2.761684177267e-01 2.797039217702e-01 2.830447471879e-01 2.861853330583e-01 -2.891203924071e-01 2.918449195724e-01 2.943541971564e-01 2.966438025567e-01 -2.987096140655e-01 3.005478165298e-01 3.021549065652e-01 3.035276973145e-01 -3.046633227465e-01 3.055592414877e-01 3.062132401832e-01 3.066234363819e-01 -3.067882809417e-01 3.067065599532e-01 3.063773961785e-01 3.058002500042e-01 -3.049749199075e-01 3.039015424360e-01 3.025805917007e-01 3.010128783852e-01 -2.991995482717e-01 2.971420802874e-01 2.948422840751e-01 2.923022970908e-01 -2.895245812357e-01 2.865119190253e-01 2.832674093043e-01 2.797944625130e-01 -2.760967955125e-01 2.721784259784e-01 2.680436663704e-01 2.636971174878e-01 -2.591436616213e-01 2.543884553110e-01 2.494369217232e-01 2.442947426555e-01 -2.389678501851e-01 2.334624179713e-01 2.277848522262e-01 2.219417823669e-01 -2.159400513646e-01 2.097867058034e-01 2.034889856661e-01 1.970543138596e-01 -1.904902854990e-01 1.838046569639e-01 1.770053347441e-01 1.701003640922e-01 -1.630979174991e-01 1.560062830099e-01 1.488338523982e-01 1.415891092149e-01 -1.342806167313e-01 1.269170057925e-01 1.195069625999e-01 1.120592164414e-01 -1.045825273864e-01 9.708567396355e-02 8.957744084060e-02 8.206660652352e-02 -7.456193109275e-02 6.707214399493e-02 5.960593190768e-02 5.217192669509e-02 -4.477869347138e-02 3.743471878998e-02 3.014839897518e-02 2.292802861292e-02 -1.578178921756e-02 8.717738090536e-03 1.743797387035e-03 -5.132256593808e-03 --1.190280388006e-02 -1.856039104457e-02 -2.509774115471e-02 -3.150776344014e-02 --3.778356266528e-02 -4.391844819326e-02 -4.990594272891e-02 -5.573979072874e-02 --6.141396646626e-02 -6.692268174186e-02 -7.226039322664e-02 -7.742180943043e-02 --8.240189728471e-02 -8.719588833174e-02 -9.179928451186e-02 -9.620786354151e-02 --1.004176838751e-01 -1.044250892447e-01 -1.082267127718e-01 -1.118194806463e-01 --1.152006153691e-01 -1.183676385534e-01 -1.213183732835e-01 -1.240509460273e-01 --1.265637881026e-01 -1.288556366940e-01 -1.309255354236e-01 -1.327728344720e-01 --1.343971902544e-01 -1.357985646509e-01 -1.369772237950e-01 -1.379337364231e-01 --1.386689717884e-01 -1.391840971439e-01 -1.394805747999e-01 -1.395601587609e-01 --1.394248909492e-01 -1.390770970207e-01 -1.385193817826e-01 -1.377546242179e-01 --1.367859721294e-01 -1.356168364080e-01 -1.342508849388e-01 -1.326920361532e-01 --1.309444522377e-01 -1.290125320121e-01 -1.269009034870e-01 -1.246144161144e-01 --1.221581327425e-01 -1.195373212894e-01 -1.167574461467e-01 -1.138241593296e-01 --1.107432913851e-01 -1.075208420744e-01 -1.041629708430e-01 -1.006759870946e-01 --9.706634028308e-02 -9.334060983866e-02 -8.950549494349e-02 -8.556780417290e-02 --8.153444501805e-02 -7.741241330612e-02 -7.320878253450e-02 -6.893069313497e-02 --6.458534168457e-02 -6.017997007931e-02 -5.572185468727e-02 -5.121829549741e-02 --4.667660528048e-02 -4.210409877825e-02 -3.750808193722e-02 -3.289584120295e-02 --2.827463289080e-02 -2.365167264895e-02 -1.903412502911e-02 -1.442909318035e-02 --9.843608681133e-03 -5.284621524332e-03 -7.589902698312e-04 3.726527621051e-03 -8.165285255404e-03 1.255075556925e-02 1.687654036556e-02 2.113637911688e-02 -2.532415752022e-02 2.943391579212e-02 3.345985669244e-02 3.739635326564e-02 -4.123795628897e-02 4.497940141745e-02 4.861561601591e-02 5.214172566905e-02 -5.555306036077e-02 5.884516031483e-02 6.201378148917e-02 6.505490071711e-02 -6.796472048876e-02 7.073967336707e-02 7.337642603310e-02 7.587188295594e-02 -7.822318968311e-02 8.042773574815e-02 8.248315719229e-02 8.438733869820e-02 -8.613841533394e-02 8.773477390620e-02 8.917505392232e-02 9.045814816127e-02 -9.158320285438e-02 9.254961747711e-02 9.335704415391e-02 9.400538667863e-02 -9.449479915370e-02 9.482568425169e-02 9.499869110366e-02 9.501471281903e-02 -9.487488364239e-02 9.458057575324e-02 9.413339571510e-02 9.353518058094e-02 -9.278799366247e-02 9.189411997126e-02 9.085606134019e-02 8.967653123410e-02 -8.835844925907e-02 8.690493538012e-02 8.531930385757e-02 8.360505691270e-02 -8.176587813370e-02 7.980562563325e-02 7.772832496954e-02 7.553816184269e-02 -7.323947457889e-02 7.083674641501e-02 6.833459759641e-02 6.573777730123e-02 -6.305115540435e-02 6.027971409480e-02 5.742853936005e-02 5.450281235135e-02 -5.150780064392e-02 4.844884940628e-02 4.533137249275e-02 4.216084347362e-02 -3.894278661706e-02 3.568276783738e-02 3.238638562369e-02 2.905926196354e-02 -2.570703327558e-02 2.233534136558e-02 1.894982441988e-02 1.555610805018e-02 -1.215979640360e-02 8.766463351712e-03 5.381643771999e-03 2.010824935074e-03 --1.340561989201e-03 -4.667150293877e-03 -7.963645952750e-03 -1.122483568154e-02 --1.444559483040e-02 -1.762089509599e-02 -2.074581204182e-02 -2.381553241579e-02 --2.682536125416e-02 -2.977072876185e-02 -3.264719695903e-02 -3.545046608454e-02 --3.817638074709e-02 -4.082093581567e-02 -4.338028204082e-02 -4.585073139923e-02 --4.822876215434e-02 -5.051102362607e-02 -5.269434066359e-02 -5.477571781513e-02 --5.675234318974e-02 -5.862159200606e-02 -6.038102982396e-02 -6.202841545521e-02 --6.356170355011e-02 -6.497904685724e-02 -6.627879815424e-02 -6.745951184806e-02 --6.851994524352e-02 -6.945905947958e-02 -7.027602013348e-02 -7.097019749301e-02 --7.154116649818e-02 -7.198870635366e-02 -7.231279981420e-02 -7.251363214552e-02 --7.259158976385e-02 -7.254725855772e-02 -7.238142189594e-02 -7.209505832662e-02 --7.168933897204e-02 -7.116562462502e-02 -7.052546255272e-02 -6.977058301437e-02 --6.890289549963e-02 -6.792448469504e-02 -6.683760618612e-02 -6.564468190324e-02 --6.434829531971e-02 -6.295118641090e-02 -6.145624638359e-02 -5.986651218503e-02 --5.818516080152e-02 -5.641550335661e-02 -5.456097901941e-02 -5.262514873357e-02 --5.061168877784e-02 -4.852438416946e-02 -4.636712192160e-02 -4.414388416646e-02 --4.185874115570e-02 -3.951584415008e-02 -3.711941821030e-02 -3.467375490113e-02 --3.218320492099e-02 -2.965217066937e-02 -2.708509876424e-02 -2.448647252192e-02 --2.186080441173e-02 -1.921262849779e-02 -1.654649288024e-02 -1.386695214826e-02 --1.117855985699e-02 -8.485861040583e-03 -5.793384773283e-03 -3.105636790551e-03 --4.270921818921e-04 2.237811832983e-03 4.884683033275e-03 7.509181220273e-03 -1.010702512361e-02 1.267399917983e-02 1.520596017277e-02 1.769884372549e-02 -2.014867063378e-02 2.255155303169e-02 2.490370037951e-02 2.720142526540e-02 -2.944114901179e-02 3.161940707838e-02 3.373285425359e-02 3.577826962697e-02 -3.775256133536e-02 3.965277107591e-02 4.147607837955e-02 4.321980463900e-02 -4.488141688568e-02 4.645853131032e-02 4.794891652270e-02 4.935049654612e-02 -5.066135354291e-02 5.187973026750e-02 5.300403224421e-02 5.403282966737e-02 -5.496485902165e-02 5.579902442126e-02 5.653439866677e-02 5.717022401920e-02 -5.770591269104e-02 5.814104705468e-02 5.847537956906e-02 5.870883242566e-02 -5.884149691575e-02 5.887363252092e-02 5.880566572958e-02 5.863818858240e-02 -5.837195695027e-02 5.800788854867e-02 5.754706069270e-02 5.699070779760e-02 -5.634021862982e-02 5.559713331426e-02 5.476314010346e-02 5.384007191516e-02 -5.282990264466e-02 5.173474325923e-02 5.055683768156e-02 4.929855847020e-02 -4.796240230460e-02 4.655098528325e-02 4.506703804324e-02 4.351340071010e-02 -4.189301768686e-02 4.020893229156e-02 3.846428125282e-02 3.666228907290e-02 -3.480626226818e-02 3.289958349719e-02 3.094570558604e-02 2.894814546188e-02 -2.691047800448e-02 2.483632982661e-02 2.272937299373e-02 2.059331869362e-02 -1.843191086655e-02 1.624891980689e-02 1.404813574665e-02 1.183336243172e-02 -9.608410701586e-03 7.377092082996e-03 5.143212408206e-03 2.910565468323e-03 -6.829267120771e-04 -1.535952999666e-03 -3.742353573516e-03 -5.932591787285e-03 --8.103027308005e-03 -1.025006861455e-02 -1.237017881542e-02 -1.445988135238e-02 --1.651576558100e-02 -1.853449221918e-02 -2.051279865517e-02 -2.244750410684e-02 --2.433551462404e-02 -2.617382792650e-02 -2.795953806972e-02 -2.968983993177e-02 --3.136203351423e-02 -3.297352805078e-02 -3.452184591733e-02 -3.600462633794e-02 --3.741962888111e-02 -3.876473674135e-02 -4.003795980148e-02 -4.123743747123e-02 --4.236144129837e-02 -4.340837734873e-02 -4.437678835212e-02 -4.526535561139e-02 --4.607290067221e-02 -4.679838675192e-02 -4.744091992563e-02 -4.799975006878e-02 --4.847427155521e-02 -4.886402371075e-02 -4.916869102217e-02 -4.938810310223e-02 --4.952223441176e-02 -4.957120373998e-02 -4.953527344494e-02 -4.941484845619e-02 --4.921047504213e-02 -4.892283934503e-02 -4.855276568695e-02 -4.810121465025e-02 --4.756928093668e-02 -4.695819100941e-02 -4.626930052278e-02 -4.550409154471e-02 --4.466416957733e-02 -4.375126038127e-02 -4.276720660994e-02 -4.171396425980e-02 --4.059359894342e-02 -3.940828199207e-02 -3.816028639507e-02 -3.685198258314e-02 --3.548583406348e-02 -3.406439291435e-02 -3.259029514718e-02 -3.106625594443e-02 --2.949506478171e-02 -2.787958044259e-02 -2.622272593490e-02 -2.452748331740e-02 --2.279688844578e-02 -2.103402564700e-02 -1.924202233133e-02 -1.742404355109e-02 --1.558328651563e-02 -1.372297507176e-02 -1.184635415898e-02 -9.956684249067e-03 --8.057235779192e-03 -6.151283588064e-03 -4.242101364374e-03 -2.332956116824e-03 --4.271026749379e-04 1.472221770211e-03 3.361803076335e-03 5.238455502416e-03 -7.099026994534e-03 8.940404396417e-03 1.075951857619e-02 1.255334946101e-02 -1.431893097146e-02 1.605335584770e-02 1.775378035967e-02 1.941742889385e-02 -2.104159840920e-02 2.262366275530e-02 2.416107684589e-02 2.565138068120e-02 -2.709220321295e-02 2.848126604591e-02 2.981638697042e-02 3.109548332051e-02 -3.231657515238e-02 3.347778823884e-02 3.457735687481e-02 3.561362649026e-02 -3.658505606648e-02 3.749022035241e-02 3.832781187797e-02 3.909664276163e-02 -3.979564630983e-02 4.042387840633e-02 4.098051868971e-02 4.146487151789e-02 -4.187636671855e-02 4.221456012506e-02 4.247913389767e-02 4.266989662998e-02 -4.278678324145e-02 4.282985465662e-02 4.279929727237e-02 4.269542221476e-02 -4.251866438748e-02 4.226958131403e-02 4.194885177638e-02 4.155727425296e-02 -4.109576515940e-02 4.056535689547e-02 3.996719570215e-02 3.930253933322e-02 -3.857275454567e-02 3.777931441390e-02 3.692379547270e-02 3.600787469448e-02 -3.503332630624e-02 3.400201845236e-02 3.291590970911e-02 3.177704545739e-02 -3.058755412020e-02 2.934964327168e-02 2.806559562458e-02 2.673776490353e-02 -2.536857161114e-02 2.396049869471e-02 2.251608712102e-02 2.103793136695e-02 -1.952867483397e-02 1.799100519427e-02 1.642764967678e-02 1.484137030113e-02 -1.323495906788e-02 1.161123311312e-02 9.973029835915e-03 8.323202006782e-03 -6.664612865637e-03 5.000131217437e-03 3.332626533897e-03 1.664964069491e-03 --8.289501967746e-15 -1.659423408319e-03 -3.310482590678e-03 -4.950377429127e-03 --6.576335943163e-03 - Type L N - 0 2 7 -0.000000000000e+00 1.469077279070e-04 5.873534290424e-04 1.320505160728e-03 -2.344978051437e-03 3.658836841985e-03 5.259599439572e-03 7.144241475153e-03 -9.309201856313e-03 1.175038930510e-02 1.446318986865e-02 1.744247538855e-02 -2.068261291309e-02 2.417747503490e-02 2.792045113452e-02 3.190445950906e-02 -3.612196036317e-02 4.056496963804e-02 4.522507365283e-02 5.009344453085e-02 -5.516085638202e-02 6.041770221118e-02 6.585401152093e-02 7.145946857587e-02 -7.722343129452e-02 8.313495073344e-02 8.918279112741e-02 9.535545044823e-02 -1.016411814439e-01 1.080280131193e-01 1.145037726172e-01 1.210561074614e-01 -1.276725081175e-01 1.343403308319e-01 1.410468207053e-01 1.477791349581e-01 -1.545243663455e-01 1.612695666768e-01 1.680017703972e-01 1.747080181883e-01 -1.813753805420e-01 1.879909812661e-01 1.945420208775e-01 2.010157998388e-01 -2.073997415975e-01 2.136814153829e-01 2.198485587212e-01 2.258890996255e-01 -2.317911784205e-01 2.375431691623e-01 2.431337006137e-01 2.485516767361e-01 -2.537862966618e-01 2.588270741088e-01 2.636638562041e-01 2.682868416798e-01 -2.726865984108e-01 2.768540802606e-01 2.807806432055e-01 2.844580607093e-01 -2.878785383179e-01 2.910347274517e-01 2.939197383675e-01 2.965271522693e-01 -2.988510325455e-01 3.008859351137e-01 3.026269178534e-01 3.040695491129e-01 -3.052099152728e-01 3.060446273565e-01 3.065708266738e-01 3.067861894905e-01 -3.066889307167e-01 3.062778066061e-01 3.055521164664e-01 3.045117033749e-01 -3.031569539037e-01 3.014887968528e-01 2.995087009974e-01 2.972186718536e-01 -2.946212474720e-01 2.917194932652e-01 2.885169958845e-01 2.850178561553e-01 -2.812266810873e-01 2.771485749762e-01 2.727891296141e-01 2.681544136287e-01 -2.632509609724e-01 2.580857585848e-01 2.526662332517e-01 2.470002376878e-01 -2.410960358693e-01 2.349622876458e-01 2.286080326604e-01 2.220426736104e-01 -2.152759588798e-01 2.083179645781e-01 2.011790760183e-01 1.938699686717e-01 -1.864015886344e-01 1.787851326427e-01 1.710320276768e-01 1.631539101899e-01 -1.551626050028e-01 1.470701039044e-01 1.388885439972e-01 1.306301858302e-01 -1.223073913581e-01 1.139326017712e-01 1.055183152335e-01 9.707706457492e-02 -8.862139497538e-02 8.016384168477e-02 7.171690781892e-02 6.329304227300e-02 -5.490461779312e-02 4.656390924647e-02 3.828307212992e-02 3.007412135648e-02 -2.194891035837e-02 1.391911054470e-02 5.996191151141e-03 -1.808600481890e-03 --9.484258167120e-03 -1.702003562959e-02 -2.440546473363e-02 -3.163037314506e-02 --3.868490139734e-02 -4.555951933149e-02 -5.224504188083e-02 -5.873264417311e-02 --6.501387592367e-02 -7.108067509496e-02 -7.692538079896e-02 -8.254074542075e-02 --8.791994594282e-02 -9.305659445147e-02 -9.794474780801e-02 -1.025789164694e-01 --1.069540724446e-01 -1.110656563734e-01 -1.149095837193e-01 -1.184822500658e-01 --1.217805355092e-01 -1.248018081440e-01 -1.275439266357e-01 -1.300052418806e-01 --1.321845977508e-01 -1.340813309275e-01 -1.356952698260e-01 -1.370267326157e-01 --1.380765243446e-01 -1.388459331740e-01 -1.393367257360e-01 -1.395511416236e-01 --1.394918870281e-01 -1.391621275383e-01 -1.385654801181e-01 -1.377060042802e-01 --1.365881924762e-01 -1.352169597232e-01 -1.335976324900e-01 -1.317359368659e-01 --1.296379860378e-01 -1.273102671008e-01 -1.247596272310e-01 -1.219932592482e-01 --1.190186865980e-01 -1.158437477845e-01 -1.124765802849e-01 -1.089256039783e-01 --1.051995041218e-01 -1.013072139095e-01 -9.725789664597e-02 -9.306092757320e-02 --8.872587538403e-02 -8.426248345993e-02 -7.968065086945e-02 -7.499041316440e-02 --7.020192301119e-02 -6.532543069481e-02 -6.037126453315e-02 -5.534981123928e-02 --5.027149626938e-02 -4.514676419385e-02 -3.998605912891e-02 -3.479980526588e-02 --2.959838753486e-02 -2.439213243917e-02 -1.919128909660e-02 -1.400601052271e-02 --8.846335191045e-03 -3.722168904420e-03 1.356732989385e-03 6.380783004879e-03 -1.134057851732e-02 1.622691832151e-02 2.103081872114e-02 2.574352911967e-02 -3.035654708513e-02 3.486163286212e-02 3.925082330556e-02 4.351644521183e-02 -4.765112802455e-02 5.164781589304e-02 5.549977906332e-02 5.920062458253e-02 -6.274430629942e-02 6.612513414455e-02 6.933778267570e-02 7.237729887534e-02 -7.523910918842e-02 7.791902579039e-02 8.041325207693e-02 8.271838736825e-02 -8.483143082256e-02 8.674978455485e-02 8.847125595848e-02 8.999405922906e-02 -9.131681609112e-02 9.243855573027e-02 9.335871393438e-02 9.407713144950e-02 -9.459405155731e-02 9.491011688263e-02 9.502636544080e-02 9.494422593643e-02 -9.466551232619e-02 9.419241765992e-02 9.352750721548e-02 9.267371094438e-02 -9.163431524611e-02 9.041295409077e-02 8.901359951046e-02 8.744055148121e-02 -8.569842721830e-02 8.379214990894e-02 8.172693690713e-02 7.950828741665e-02 -7.714196968891e-02 7.463400776333e-02 7.199066777860e-02 6.921844388396e-02 -6.632404378032e-02 6.331437392159e-02 6.019652440715e-02 5.697775359691e-02 -5.366547248077e-02 5.026722883464e-02 4.679069119550e-02 4.324363268817e-02 -3.963391473662e-02 3.596947069273e-02 3.225828941542e-02 2.850839883311e-02 -2.472784952212e-02 2.092469833385e-02 1.710699210281e-02 1.328275146789e-02 -9.459954838185e-03 5.646522534994e-03 1.850301140472e-03 -1.920951916666e-03 --5.659583508850e-03 -9.358059661809e-03 -1.300898008295e-02 -1.660509233848e-02 --2.013930565269e-02 -2.360470430360e-02 -2.699456059015e-02 -3.030234734709e-02 --3.352174998469e-02 -3.664667803149e-02 -3.967127615940e-02 -4.258993467161e-02 --4.539729943476e-02 -4.808828123843e-02 -5.065806456571e-02 -5.310211576030e-02 --5.541619057664e-02 -5.759634110094e-02 -5.963892203234e-02 -6.154059631460e-02 --6.329834011036e-02 -6.490944711108e-02 -6.637153217736e-02 -6.768253430551e-02 --6.884071891787e-02 -6.984467947550e-02 -7.069333841342e-02 -7.138594739991e-02 --7.192208692260e-02 -7.230166520569e-02 -7.252491646371e-02 -7.259239849874e-02 --7.250498964925e-02 -7.226388509986e-02 -7.187059256291e-02 -7.132692734353e-02 --7.063500680147e-02 -6.979724422389e-02 -6.881634212452e-02 -6.769528498567e-02 --6.643733146074e-02 -6.504600605567e-02 -6.352509030898e-02 -6.187861349086e-02 --6.011084284264e-02 -5.822627337901e-02 -5.622961727571e-02 -5.412579286672e-02 --5.191991327530e-02 -4.961727470382e-02 -4.722334440823e-02 -4.474374838328e-02 --4.218425878511e-02 -3.955078111839e-02 -3.684934121531e-02 -3.408607203436e-02 --3.126720030668e-02 -2.839903305828e-02 -2.548794403649e-02 -2.254036006878e-02 --1.956274738266e-02 -1.656159791469e-02 -1.354341563710e-02 -1.051470292991e-02 --7.481947026484e-03 -4.451606560117e-03 -1.430098238890e-03 1.576216324357e-03 -4.561043600468e-03 7.518170924900e-03 1.044147904573e-02 1.332495441396e-02 -1.616270119189e-02 1.894895295610e-02 2.167808407238e-02 2.434462072042e-02 -2.694325154733e-02 2.946883792955e-02 3.191642382379e-02 3.428124518852e-02 -3.655873895850e-02 3.874455155588e-02 4.083454692234e-02 4.282481405790e-02 -4.471167405300e-02 4.649168660169e-02 4.816165598479e-02 4.971863651304e-02 -5.115993742146e-02 5.248312720725e-02 5.368603740490e-02 5.476676579313e-02 -5.572367902963e-02 5.655541471085e-02 5.726088285508e-02 5.783926680844e-02 -5.829002357453e-02 5.861288356966e-02 5.880784980680e-02 5.887519651265e-02 -5.881546718310e-02 5.862947208385e-02 5.831828520389e-02 5.788324067062e-02 -5.732592863653e-02 5.664819064849e-02 5.585211451158e-02 5.494002866046e-02 -5.391449605229e-02 5.277830759611e-02 5.153447513440e-02 5.018622399365e-02 -4.873698512129e-02 4.719038682738e-02 4.555024615001e-02 4.382055986426e-02 -4.200549515500e-02 4.010937997467e-02 3.813669310747e-02 3.609205396226e-02 -3.398021211664e-02 3.180603663516e-02 2.957450518526e-02 2.729069297434e-02 -2.495976153231e-02 2.258694736345e-02 2.017755049231e-02 1.773692292786e-02 -1.527045707069e-02 1.278357408768e-02 1.028171227885e-02 7.770315460692e-03 -5.254821390476e-03 2.740650255607e-03 2.331932519382e-04 -2.262198725284e-03 --4.740226254575e-03 -7.195652402534e-03 -9.623313556838e-03 -1.201813005590e-02 --1.437511659366e-02 -1.668939237858e-02 -1.895619102653e-02 -2.117087016772e-02 --2.332892074888e-02 -2.542597601217e-02 -2.745782013337e-02 -2.942039650251e-02 --3.130981563110e-02 -3.312236267077e-02 -3.485450452901e-02 -3.650289656895e-02 --3.806438888046e-02 -3.953603211141e-02 -4.091508284839e-02 -4.219900853757e-02 --4.338549193713e-02 -4.447243509383e-02 -4.545796283729e-02 -4.634042578657e-02 --4.711840286474e-02 -4.779070331816e-02 -4.835636823817e-02 -4.881467158413e-02 --4.916512070757e-02 -4.940745637847e-02 -4.954165231564e-02 -4.956791422416e-02 --4.948667834399e-02 -4.929860951478e-02 -4.900459876297e-02 -4.860576041812e-02 --4.810342876670e-02 -4.749915425206e-02 -4.679469923055e-02 -4.599203329469e-02 --4.509332817483e-02 -4.410095223194e-02 -4.301746455484e-02 -4.184560867586e-02 --4.058830591992e-02 -3.924864840252e-02 -3.782989169286e-02 -3.633544715909e-02 --3.476887401313e-02 -3.313387107305e-02 -3.143426826184e-02 -2.967401786142e-02 --2.785718554155e-02 -2.598794118356e-02 -2.407054951920e-02 -2.210936060516e-02 --2.010880015427e-02 -1.807335974430e-02 -1.600758692586e-02 -1.391607525066e-02 --1.180345424164e-02 -9.674379326701e-03 -7.533521757299e-03 -5.385558533686e-03 --3.235162357996e-03 -1.086991636544e-03 1.054319447608e-03 3.184170770956e-03 -5.298005994152e-03 7.391322154623e-03 9.459679107286e-03 1.149870879385e-02 -1.350412432159e-02 1.547172883307e-02 1.739742414856e-02 1.927721916380e-02 -2.110723798592e-02 2.288372779141e-02 2.460306639022e-02 2.626176948115e-02 -2.785649758408e-02 2.938406263563e-02 3.084143423534e-02 3.222574553030e-02 -3.353429872728e-02 3.476457022169e-02 3.591421533407e-02 3.698107264539e-02 -3.796316792334e-02 3.885871763293e-02 3.966613202524e-02 4.038401779937e-02 -4.101118033356e-02 4.154662548216e-02 4.198956093638e-02 4.233939714728e-02 -4.259574781094e-02 4.275842991611e-02 4.282746335595e-02 4.280307010634e-02 -4.268567297399e-02 4.247589391862e-02 4.217455195441e-02 4.178266063662e-02 -4.130142514038e-02 4.073223893931e-02 4.007668009244e-02 3.933650714897e-02 -3.851365468085e-02 3.761022845408e-02 3.662850025054e-02 3.557090235235e-02 -3.444002170214e-02 3.323859375264e-02 3.196949601988e-02 3.063574135499e-02 -2.924047094993e-02 2.778694709296e-02 2.627854569045e-02 2.471874857175e-02 -2.311113559434e-02 2.145937656704e-02 1.976722300894e-02 1.803849976264e-02 -1.627709647992e-02 1.448695899886e-02 1.267208063096e-02 1.083649337755e-02 -8.984259094307e-03 7.119460623156e-03 5.246192910636e-03 3.368554131809e-03 -1.490636838737e-03 -3.834808475741e-04 -2.249743983023e-03 -4.104129465518e-03 --5.942654601015e-03 -7.761385552468e-03 -9.556445653953e-03 -1.132402357260e-02 --1.306038130132e-02 -1.476186196578e-02 -1.642489742950e-02 -1.804601568136e-02 --1.962184799059e-02 -2.114913581438e-02 -2.262473744444e-02 -2.404563437887e-02 --2.540893740670e-02 -2.671189239304e-02 -2.795188575326e-02 -2.912644960572e-02 --3.023326659285e-02 -3.127017436145e-02 -3.223516969377e-02 -3.312641228142e-02 --3.394222813561e-02 -3.468111262711e-02 -3.534173315109e-02 -3.592293141203e-02 --3.642372532519e-02 -3.684331053186e-02 -3.718106152629e-02 -3.743653239329e-02 --3.760945715608e-02 -3.769974973505e-02 -3.770750351867e-02 -3.763299054886e-02 --3.747666032380e-02 -3.723913822194e-02 -3.692122355201e-02 -3.652388723420e-02 --3.604826911899e-02 -3.549567495034e-02 -3.486757298104e-02 -3.416559024867e-02 --3.339150852121e-02 -3.254725992210e-02 -3.163492224531e-02 -3.065671397135e-02 --2.961498899606e-02 -2.851223108433e-02 -2.735104806176e-02 -2.613416575733e-02 --2.486442171123e-02 -2.354475866194e-02 -2.217821782737e-02 -2.076793199522e-02 --1.931711843802e-02 -1.782907166866e-02 -1.630715605253e-02 -1.475479829273e-02 --1.317547980480e-02 -1.157272899787e-02 -9.950113479126e-03 -8.311232198628e-03 --6.659707551603e-03 -4.999177455396e-03 -3.333287418206e-03 -1.665682616765e-03 -6.107527556058e-15 1.660139564409e-03 3.311139083646e-03 4.949433157140e-03 -6.571495601099e-03 - Type L N - 0 2 8 -0.000000000000e+00 1.816222897676e-04 7.260650408436e-04 1.632056859352e-03 -2.897481963989e-03 4.519384988051e-03 6.493977688712e-03 8.816647546198e-03 -1.148196823318e-02 1.448371193045e-02 1.781486346025e-02 2.146763620464e-02 -2.543348977210e-02 2.970314937161e-02 3.426662684946e-02 3.911324334017e-02 -4.423165347923e-02 4.960987112178e-02 5.523529650800e-02 6.109474481226e-02 -6.717447601048e-02 7.346022599663e-02 7.993723887676e-02 8.659030036608e-02 -9.340377221213e-02 1.003616275650e-01 1.074474872126e-01 1.146446565987e-01 -1.219361635373e-01 1.293047965375e-01 1.367331436507e-01 1.442036317510e-01 -1.516985661577e-01 1.592001705108e-01 1.666906268068e-01 1.741521155030e-01 -1.815668555997e-01 1.889171446072e-01 1.961853983078e-01 2.033541902202e-01 -2.104062906784e-01 2.173247054343e-01 2.240927136971e-01 2.306939055224e-01 -2.371122184676e-01 2.433319734278e-01 2.493379095743e-01 2.551152183140e-01 -2.606495761948e-01 2.659271766822e-01 2.709347607358e-01 2.756596461173e-01 -2.800897553645e-01 2.842136423684e-01 2.880205174954e-01 2.915002711977e-01 -2.946434960612e-01 2.974415072413e-01 2.998863612427e-01 3.019708730029e-01 -3.036886312414e-01 3.050340120434e-01 3.060021906490e-01 3.065891514228e-01 -3.067916959852e-01 3.066074494887e-01 3.060348650283e-01 3.050732261781e-01 -3.037226476526e-01 3.019840740932e-01 2.998592769860e-01 2.973508497219e-01 -2.944622008127e-01 2.911975452825e-01 2.875618942573e-01 2.835610427792e-01 -2.792015558782e-01 2.744907529345e-01 2.694366903727e-01 2.640481427281e-01 -2.583345821348e-01 2.523061562833e-01 2.459736649015e-01 2.393485348183e-01 -2.324427936662e-01 2.252690422894e-01 2.178404259217e-01 2.101706042029e-01 -2.022737201060e-01 1.941643678479e-01 1.858575598602e-01 1.773686928971e-01 -1.687135133615e-01 1.599080819292e-01 1.509687375553e-01 1.419120609460e-01 -1.327548375810e-01 1.235140203738e-01 1.142066920539e-01 1.048500273610e-01 -9.546125513622e-02 8.605762039846e-02 7.665634649361e-02 6.727459740229e-02 -5.792944029313e-02 4.863780840654e-02 3.941646435367e-02 3.028196391350e-02 -2.125062041004e-02 1.233846975003e-02 3.561236199343e-03 -5.065701024999e-03 --1.352734027291e-02 -2.180908901717e-02 -2.989679437747e-02 -3.777677254537e-02 --4.543583704590e-02 -5.286132577412e-02 -6.004112674843e-02 -6.696370252510e-02 --7.361811322225e-02 -7.999403810449e-02 -8.608179568331e-02 -9.187236229169e-02 --9.735738909511e-02 -1.025292175050e-01 -1.073808929647e-01 -1.119061770811e-01 --1.160995580804e-01 -1.199562595691e-01 -1.234722475869e-01 -1.266442359394e-01 --1.294696898072e-01 -1.319468276265e-01 -1.340746212460e-01 -1.358527943634e-01 --1.372818192535e-01 -1.383629118017e-01 -1.390980248599e-01 -1.394898399479e-01 --1.395417573246e-01 -1.392578844607e-01 -1.386430229430e-01 -1.377026538498e-01 --1.364429216354e-01 -1.348706165695e-01 -1.329931557753e-01 -1.308185629194e-01 --1.283554466042e-01 -1.256129775195e-01 -1.226008644118e-01 -1.193293289326e-01 --1.158090794282e-01 -1.120512837384e-01 -1.080675410706e-01 -1.038698530203e-01 --9.947059380872e-02 -9.488247981082e-02 -9.011853844896e-02 -8.519207652742e-02 --8.011664808468e-02 -7.490602184136e-02 -6.957414832194e-02 -6.413512672929e-02 --5.860317165080e-02 -5.299257967560e-02 -4.731769600168e-02 -4.159288111183e-02 --3.583247759664e-02 -3.005077720215e-02 -2.426198817900e-02 -1.848020300878e-02 --1.271936658204e-02 -6.993244901238e-03 -1.315394380088e-03 4.300868190743e-03 -9.842494943682e-03 1.529673543405e-02 2.065116427592e-02 2.589370785255e-02 -3.101267004258e-02 3.599675690559e-02 4.083510027343e-02 4.551728019665e-02 -5.003334619826e-02 5.437383729008e-02 5.852980071023e-02 6.249280934339e-02 -6.625497778907e-02 6.980897704613e-02 7.314804778570e-02 7.626601218788e-02 -7.915728432116e-02 8.181687904745e-02 8.424041943868e-02 8.642414269519e-02 -8.836490455929e-02 9.006018222135e-02 9.150807571923e-02 9.270730783581e-02 -9.365722250242e-02 9.435778172033e-02 9.480956101519e-02 9.501374344343e-02 -9.497211217267e-02 9.468704166176e-02 9.416148746913e-02 9.339897472166e-02 -9.240358527894e-02 9.117994363127e-02 8.973320157228e-02 8.806902168994e-02 -8.619355972266e-02 8.411344582917e-02 8.183576482396e-02 7.936803543167e-02 -7.671818861659e-02 7.389454504481e-02 7.090579173892e-02 6.776095798660e-02 -6.446939056584e-02 6.104072835127e-02 5.748487636690e-02 5.381197935194e-02 -5.003239490686e-02 4.615666628805e-02 4.219549491945e-02 3.815971269027e-02 -3.406025410792e-02 2.990812837531e-02 2.571439146162e-02 2.149011823517e-02 -1.724637472661e-02 1.299419059013e-02 8.744531829237e-03 4.508273852986e-03 -2.961749272744e-04 -3.881149915498e-03 -8.013254446491e-03 -1.208988622993e-02 --1.610101097347e-02 -2.003683618275e-02 -2.388783406540e-02 -2.764476363204e-02 --3.129869194379e-02 -3.484101445852e-02 -3.826347443024e-02 -4.155818131877e-02 --4.471762816948e-02 -4.773470792561e-02 -5.060272863842e-02 -5.331542754373e-02 --5.586698397572e-02 -5.825203109266e-02 -6.046566639160e-02 -6.250346099278e-02 --6.436146767730e-02 -6.603622766491e-02 -6.752477612201e-02 -6.882464639312e-02 --6.993387295238e-02 -7.085099307464e-02 -7.157504722924e-02 -7.210557820247e-02 --7.244262895797e-02 -7.258673924740e-02 -7.253894098692e-02 -7.230075241770e-02 --7.187417107211e-02 -7.126166556964e-02 -7.046616626985e-02 -6.949105481195e-02 --6.834015257368e-02 -6.701770808449e-02 -6.552838343030e-02 -6.387723969000e-02 --6.206972144544e-02 -6.011164040925e-02 -5.800915821676e-02 -5.576876842981e-02 --5.339727780257e-02 -5.090178686060e-02 -4.828966984605e-02 -4.556855408335e-02 --4.274629882071e-02 -3.983097360395e-02 -3.683083624003e-02 -3.375431040840e-02 --3.060996297894e-02 -2.740648109560e-02 -2.415264908530e-02 -2.085732525166e-02 --1.752941861326e-02 -1.417786564581e-02 -1.081160708746e-02 -7.439564866003e-03 --4.070619205987e-03 -7.135859732106e-04 2.622805686953e-03 5.929935361925e-03 -9.199312980668e-03 1.242259996581e-02 1.559162987751e-02 1.869842849911e-02 -2.173523331604e-02 2.469451234151e-02 2.756898224422e-02 3.035162573535e-02 -3.303570817425e-02 3.561479335437e-02 3.808275843334e-02 4.043380797323e-02 -4.266248705992e-02 4.476369347245e-02 4.673268887618e-02 4.856510901611e-02 -5.025697288934e-02 5.180469087832e-02 5.320507182949e-02 5.445532906433e-02 -5.555308531311e-02 5.649637656394e-02 5.728365482286e-02 5.791378978346e-02 -5.838606940722e-02 5.870019941863e-02 5.885630172195e-02 5.885491174902e-02 -5.869697475057e-02 5.838384104567e-02 5.791726024702e-02 5.729937448205e-02 -5.653271063232e-02 5.562017161625e-02 5.456502674237e-02 5.337090116277e-02 -5.204176445833e-02 5.058191838963e-02 4.899598384939e-02 4.728888705396e-02 -4.546584501350e-02 4.353235032190e-02 4.149415530922e-02 3.935725560067e-02 -3.712787312779e-02 3.481243863837e-02 3.241757375288e-02 2.995007261620e-02 -2.741688319407e-02 2.482508826450e-02 2.218188615501e-02 1.949457127667e-02 -1.677051450671e-02 1.401714347104e-02 1.124192277859e-02 8.452334258824e-03 -5.655857253885e-03 2.859949016168e-03 7.202526183728e-05 -2.700559069969e-03 --5.450528803207e-03 -8.170707208110e-03 -1.085403433436e-02 -1.349358494819e-02 --1.608258602868e-02 -1.861443377973e-02 -2.108271011576e-02 -2.348119858071e-02 --2.580389966152e-02 -2.804504545901e-02 -3.019911368107e-02 -3.226084092472e-02 --3.422523521586e-02 -3.608758777739e-02 -3.784348399868e-02 -3.948881358142e-02 --4.101977983929e-02 -4.243290813094e-02 -4.372505340850e-02 -4.489340686581e-02 --4.593550167321e-02 -4.684921778814e-02 -4.763278583322e-02 -4.828479003590e-02 --4.880417022633e-02 -4.919022289253e-02 -4.944260129431e-02 -4.956131464010e-02 --4.954672633286e-02 -4.939955129407e-02 -4.912085237686e-02 -4.871203588183e-02 --4.817484619129e-02 -4.751135953999e-02 -4.672397694244e-02 -4.581541629921e-02 --4.478870370651e-02 -4.364716399537e-02 -4.239441052864e-02 -4.103433428591e-02 --3.957109226798e-02 -3.800909525448e-02 -3.635299494945e-02 -3.460767055138e-02 --3.277821478540e-02 -3.086991943675e-02 -2.888826042553e-02 -2.683888246406e-02 --2.472758333878e-02 -2.256029785980e-02 -2.034308152151e-02 -1.808209391853e-02 --1.578358196155e-02 -1.345386293810e-02 -1.109930746339e-02 -8.726322366442e-03 --6.341333556919e-03 -3.950768917616e-03 -1.561041267603e-03 8.214685595516e-04 -3.190428478422e-03 5.539571711839e-03 7.862713105768e-03 1.015376515704e-02 -1.240675371303e-02 1.461583330327e-02 1.677530206426e-02 1.887961621988e-02 -2.092340408113e-02 2.290147953035e-02 2.480885495661e-02 2.664075361042e-02 -2.839262134767e-02 3.006013773450e-02 3.163922648626e-02 3.312606521612e-02 -3.451709447020e-02 3.580902602862e-02 3.699885045340e-02 3.808384386657e-02 -3.906157394371e-02 3.992990511037e-02 4.068700293090e-02 4.133133768149e-02 -4.186168710125e-02 4.227713831753e-02 4.257708894362e-02 4.276124734946e-02 -4.282963210800e-02 4.278257062179e-02 4.262069693714e-02 4.234494875454e-02 -4.195656364671e-02 4.145707449743e-02 4.084830417625e-02 4.013235946636e-02 -3.931162426453e-02 3.838875207418e-02 3.736665781404e-02 3.624850896700e-02 -3.503771609510e-02 3.373792274817e-02 3.235299479545e-02 3.088700921045e-02 -2.934424234114e-02 2.772915769830e-02 2.604639329640e-02 2.430074858229e-02 -2.249717098781e-02 2.064074214350e-02 1.873666379119e-02 1.679024343397e-02 -1.480687976259e-02 1.279204789768e-02 1.075128448776e-02 8.690172702883e-03 -6.614327164212e-03 4.529378849718e-03 2.440960016003e-03 3.546891762300e-04 --1.723843826266e-03 -3.789092609477e-03 -5.835568870624e-03 -7.857856792378e-03 --9.850627199989e-03 -1.180865143274e-02 -1.372681489399e-02 -1.560013024515e-02 --1.742375020984e-02 -1.919297995581e-02 -2.090328902336e-02 -2.255032277022e-02 --2.412991330451e-02 -2.563808987852e-02 -2.707108871781e-02 -2.842536226166e-02 --2.969758779257e-02 -3.088467543407e-02 -3.198377549807e-02 -3.299228516462e-02 --3.390785447876e-02 -3.472839165117e-02 -3.545206765108e-02 -3.607732008177e-02 --3.660285633117e-02 -3.702765599168e-02 -3.735097254568e-02 -3.757233431473e-02 --3.769154467277e-02 -3.770868152547e-02 -3.762409605970e-02 -3.743841076912e-02 --3.715251676396e-02 -3.676757037443e-02 -3.628498905967e-02 -3.570644663541e-02 --3.503386783573e-02 -3.426942222548e-02 -3.341551748227e-02 -3.247479206786e-02 --3.145010731083e-02 -3.034453892367e-02 -2.916136797890e-02 -2.790407137006e-02 --2.657631178510e-02 -2.518192722021e-02 -2.372492006395e-02 -2.220944578217e-02 --2.063980123523e-02 -1.902041265998e-02 -1.735582334967e-02 -1.565068106572e-02 --1.390972521576e-02 -1.213777383294e-02 -1.033971039195e-02 -8.520470497345e-03 --6.685028480247e-03 -4.838383939254e-03 -2.985548261812e-03 -1.131531161935e-03 -7.186727298842e-04 2.560097188991e-03 4.387817595918e-03 6.196963978004e-03 -7.982733859050e-03 9.740404883418e-03 1.146534718170e-02 1.315303544582e-02 -1.479906068247e-02 1.639914161451e-02 1.794913570120e-02 1.944504974918e-02 -2.088305008724e-02 2.225947227929e-02 2.357083035107e-02 2.481382550780e-02 -2.598535432110e-02 2.708251636518e-02 2.810262128379e-02 2.904319527096e-02 -2.990198695028e-02 3.067697263896e-02 3.136636098475e-02 3.196859696540e-02 -3.248236524221e-02 3.290659286073e-02 3.324045129372e-02 3.348335782306e-02 -3.363497625903e-02 3.369521699747e-02 3.366423641657e-02 3.354243561739e-02 -3.333045851338e-02 3.302918927637e-02 3.263974914783e-02 3.216349262613e-02 -3.160200304192e-02 3.095708753555e-02 3.023077145194e-02 2.942529216962e-02 -2.854309238255e-02 2.758681285422e-02 2.655928466521e-02 2.546352097668e-02 -2.430270833320e-02 2.308019752980e-02 2.179949406905e-02 2.046424823497e-02 -1.907824481156e-02 1.764539247469e-02 1.616971288658e-02 1.465532952316e-02 -1.310645626504e-02 1.152738578322e-02 9.922477751471e-03 8.296146917260e-03 -6.652851063798e-03 4.997078895596e-03 3.333337880273e-03 1.666142079259e-03 -2.389818419419e-15 -1.660597497888e-03 -3.311189210362e-03 -4.947355478647e-03 --6.564729929525e-03 - Type L N - 0 2 9 -0.000000000000e+00 2.199878632246e-04 8.793292279983e-04 1.976159129335e-03 -3.507374991733e-03 5.468645159338e-03 7.854420806502e-03 1.065795119347e-02 -1.387130222514e-02 1.748537826075e-02 2.148994711368e-02 2.587366817106e-02 -3.062412355489e-02 3.572785223720e-02 4.117038701400e-02 4.693629423461e-02 -5.300921617524e-02 5.937191593841e-02 6.600632475287e-02 7.289359154170e-02 -8.001413462032e-02 8.734769538014e-02 9.487339380785e-02 1.025697856858e-01 -1.104149213138e-01 1.183864055887e-01 1.264614592744e-01 1.346169812922e-01 -1.428296118575e-01 1.510757962875e-01 1.593318493033e-01 1.675740196468e-01 -1.757785548339e-01 1.839217658645e-01 1.919800917091e-01 1.999301633953e-01 -2.077488675152e-01 2.154134089799e-01 2.229013728467e-01 2.301907850499e-01 -2.372601718671e-01 2.440886179582e-01 2.506558228185e-01 2.569421554894e-01 -2.629287073803e-01 2.685973430545e-01 2.739307488430e-01 2.789124791541e-01 -2.835270003525e-01 2.877597320911e-01 2.915970859835e-01 2.950265015140e-01 -2.980364790901e-01 3.006166101497e-01 3.027576042443e-01 3.044513130277e-01 -3.056907510889e-01 3.064701135762e-01 3.067847905695e-01 3.066313781658e-01 -3.060076862537e-01 3.049127429601e-01 3.033467957635e-01 3.013113092773e-01 -2.988089597136e-01 2.958436260517e-01 2.924203779398e-01 2.885454603714e-01 -2.842262751846e-01 2.794713594426e-01 2.742903607604e-01 2.686940096552e-01 -2.626940890007e-01 2.563034006781e-01 2.495357295217e-01 2.424058046661e-01 -2.349292584071e-01 2.271225826964e-01 2.190030833979e-01 2.105888324354e-01 -2.018986179717e-01 1.929518927617e-01 1.837687208269e-01 1.743697226046e-01 -1.647760187269e-01 1.550091725908e-01 1.450911318804e-01 1.350441692083e-01 -1.248908220419e-01 1.146538320850e-01 1.043560842835e-01 9.402054562715e-02 -8.367020391676e-02 7.332800666863e-02 6.301680032486e-02 5.275926993817e-02 -4.257787949767e-02 3.249481305968e-02 2.253191684506e-02 1.271064246129e-02 -3.051991403943e-03 -6.423539011990e-03 -1.569600814480e-02 -2.474608280168e-02 --3.355508616137e-02 -4.210504471356e-02 -5.037873309104e-02 -5.835971667642e-02 --6.603239187260e-02 -7.338202393252e-02 -8.039478225132e-02 -8.705777303152e-02 --9.335906923935e-02 -9.928773777867e-02 -1.048338638166e-01 -1.099885722039e-01 --1.147440459405e-01 -1.190935416471e-01 -1.230314020099e-01 -1.265530651757e-01 --1.296550710843e-01 -1.323350647308e-01 -1.345917963635e-01 -1.364251186262e-01 --1.378359806693e-01 -1.388264192555e-01 -1.393995469001e-01 -1.395595370904e-01 --1.393116066394e-01 -1.386619952351e-01 -1.376179422552e-01 -1.361876609259e-01 --1.343803099072e-01 -1.322059623985e-01 -1.296755728617e-01 -1.268009414673e-01 --1.235946763737e-01 -1.200701539568e-01 -1.162414771124e-01 -1.121234317578e-01 --1.077314416644e-01 -1.030815217573e-01 -9.819023002316e-02 -9.307461816620e-02 --8.775218116234e-02 -8.224080585759e-02 -7.655871876268e-02 -7.072443319624e-02 --6.475669593018e-02 -5.867443349193e-02 -5.249669827824e-02 -4.624261463530e-02 --3.993132505925e-02 -3.358193667011e-02 -2.721346811084e-02 -2.084479702113e-02 --1.449460823326e-02 -8.181342834745e-03 -1.923148239074e-03 4.262170597480e-03 -1.035719867912e-02 1.634495706419e-02 2.220894742446e-02 2.793319494990e-02 -3.350228948471e-02 3.890142478554e-02 4.411643579911e-02 4.913383386249e-02 -5.394083973606e-02 5.852541438554e-02 6.287628743675e-02 6.698298323374e-02 -7.083584443829e-02 7.442605311622e-02 7.774564926363e-02 8.078754673372e-02 -8.354554653285e-02 8.601434746216e-02 8.818955408889e-02 9.006768203980e-02 -9.164616061647e-02 9.292333274034e-02 9.389845224334e-02 9.457167852718e-02 -9.494406862238e-02 9.501756668542e-02 9.479499097973e-02 9.428001839337e-02 -9.347716655333e-02 9.239177360303e-02 9.102997571616e-02 8.939868242626e-02 -8.750554985761e-02 8.535895194856e-02 8.296794976386e-02 8.034225899804e-02 -7.749221577606e-02 7.442874086263e-02 7.116330239521e-02 6.770787725968e-02 -6.407491123093e-02 6.027727800392e-02 5.632823724291e-02 5.224139177928e-02 -4.803064408986e-02 4.371015218923e-02 3.929428507052e-02 3.479757782977e-02 -3.023468660928e-02 2.562034349494e-02 2.096931150214e-02 1.629633978397e-02 -1.161611919360e-02 6.943238331471e-03 2.292140205463e-03 -2.322920370225e-03 --6.887918514673e-03 -1.138910003869e-02 -1.581302110610e-02 -2.014658668588e-02 --2.437708768709e-02 -2.849223667348e-02 -3.248020205920e-02 -3.632964069210e-02 --4.002972873681e-02 -4.357019077484e-02 -4.694132704532e-02 -5.013403875559e-02 --5.313985139713e-02 -5.595093600899e-02 -5.856012833683e-02 -6.096094584281e-02 --6.314760252806e-02 -6.511502153621e-02 -6.685884551357e-02 -6.837544470817e-02 --6.966192279707e-02 -7.071612043809e-02 -7.153661654906e-02 -7.212272732468e-02 --7.247450300756e-02 -7.259272243721e-02 -7.247888540685e-02 -7.213520286468e-02 --7.156458500260e-02 -7.077062728145e-02 -6.975759444778e-02 -6.853040260321e-02 --6.709459939274e-02 -6.545634238392e-02 -6.362237571384e-02 -6.160000508571e-02 --5.939707120145e-02 -5.702192172107e-02 -5.448338184333e-02 -5.179072360620e-02 --4.895363400890e-02 -4.598218206008e-02 -4.288678485997e-02 -3.967817282603e-02 --3.636735417425e-02 -3.296557876942e-02 -2.948430145944e-02 -2.593514500936e-02 --2.232986275155e-02 -1.868030106874e-02 -1.499836182640e-02 -1.129596487050e-02 --7.585010705922e-03 -3.877343469460e-03 -1.847143100734e-04 3.481254713080e-03 -7.109106106306e-03 1.068758168479e-02 1.420565648066e-02 1.765257171565e-02 -2.101786674184e-02 2.429140985759e-02 2.746342790972e-02 3.052453459729e-02 -3.346575739671e-02 3.627856303269e-02 3.895488142433e-02 4.148712804086e-02 -4.386822460664e-02 4.609161810065e-02 4.815129800111e-02 5.004181173166e-02 -5.175827827122e-02 5.329639989576e-02 5.465247202582e-02 5.582339115998e-02 -5.680666088027e-02 5.760039592173e-02 5.820332430421e-02 5.861478753074e-02 -5.883473886252e-02 5.886373968673e-02 5.870295399914e-02 5.835414102910e-02 -5.781964604028e-02 5.710238934612e-02 5.620585358389e-02 5.513406929708e-02 -5.389159888011e-02 5.248351894493e-02 5.091540117308e-02 4.919329172142e-02 -4.732368925408e-02 4.531352167665e-02 4.317012165270e-02 4.090120098583e-02 -3.851482395387e-02 3.601937968419e-02 3.342355366222e-02 3.073629846700e-02 -2.796680382983e-02 2.512446611365e-02 2.221885731196e-02 1.925969366728e-02 -1.625680400978e-02 1.322009791697e-02 1.015953379548e-02 7.085086985819e-03 -4.006717990083e-03 9.343409221033e-04 -2.122207722006e-03 -5.153199876226e-03 --8.149046205155e-03 -1.110032579993e-02 -1.399781517917e-02 -1.683251650722e-02 --1.959568494479e-02 -2.227885505038e-02 -2.487386615403e-02 -2.737288662881e-02 --2.976843698917e-02 -3.205341174916e-02 -3.422109997818e-02 -3.626520449573e-02 --3.817985965185e-02 -3.995964764408e-02 -4.159961332693e-02 -4.309527747477e-02 --4.444264846413e-02 -4.563823234630e-02 -4.667904128676e-02 -4.756260035281e-02 --4.828695263640e-02 -4.885066270423e-02 -4.925281837259e-02 -4.949303080981e-02 --4.957143297428e-02 -4.948867640132e-02 -4.924592635723e-02 -4.884485538421e-02 --4.828763526424e-02 -4.757692743560e-02 -4.671587189972e-02 -4.570807466124e-02 --4.455759374821e-02 -4.326892386370e-02 -4.184697972440e-02 -4.029707814536e-02 --3.862491893394e-02 -3.683656465934e-02 -3.493841936759e-02 -3.293720631450e-02 --3.083994479229e-02 -2.865392612774e-02 -2.638668893222e-02 -2.404599368583e-02 --2.163979673974e-02 -1.917622382202e-02 -1.666354313384e-02 -1.411013812330e-02 --1.152448002530e-02 -8.915100255805e-03 -6.290562749049e-03 -3.659436326144e-03 --1.030267182759e-03 1.588448416978e-03 4.188291154379e-03 6.760945293228e-03 -9.298224856821e-03 1.179209926377e-02 1.423471834338e-02 1.661843665371e-02 -1.893583702815e-02 2.117975327884e-02 2.334329198853e-02 2.541985332563e-02 -2.740315082040e-02 2.928723004408e-02 3.106648613639e-02 3.273568013062e-02 -3.428995402986e-02 3.572484459183e-02 3.703629578417e-02 3.822066987657e-02 -3.927475714035e-02 4.019578413094e-02 4.098142053316e-02 4.162978455384e-02 -4.213944685128e-02 4.250943299532e-02 4.273922445695e-02 4.282875813085e-02 -4.277842439880e-02 4.258906374688e-02 4.226196195359e-02 4.179884387064e-02 -4.120186582262e-02 4.047360665596e-02 3.961705747178e-02 3.863561008134e-02 -3.753304422663e-02 3.631351361252e-02 3.498153080037e-02 3.354195101643e-02 -3.199995493175e-02 3.036103047315e-02 2.863095372782e-02 2.681576900667e-02 -2.492176813392e-02 2.295546903276e-02 2.092359367870e-02 1.883304549411e-02 -1.669088625872e-02 1.450431261231e-02 1.228063222673e-02 1.002723972500e-02 -7.751592425892e-03 5.461185992628e-03 3.163530064113e-03 8.661239471169e-04 --1.423567552895e-03 -3.698138085252e-03 -5.950263415892e-03 -8.172724722765e-03 --1.035843145153e-02 -1.250044365998e-02 -1.459199378161e-02 -1.662650774079e-02 --1.859762535438e-02 -2.049921995729e-02 -2.232541719211e-02 -2.407061290580e-02 --2.572949009978e-02 -2.729703488265e-02 -2.876855137857e-02 -3.013967554749e-02 --3.140638787734e-02 -3.256502491202e-02 -3.361228958282e-02 -3.454526031495e-02 --3.536139888491e-02 -3.605855700843e-02 -3.663498164306e-02 -3.708931899344e-02 --3.742061721175e-02 -3.762832778976e-02 -3.771230564345e-02 -3.767280789506e-02 --3.751049136182e-02 -3.722640876460e-02 -3.682200367381e-02 -3.629910421392e-02 --3.565991555179e-02 -3.490701119789e-02 -3.404332315311e-02 -3.307213093760e-02 --3.199704954126e-02 -3.082201633910e-02 -2.955127701775e-02 -2.818937056221e-02 --2.674111335517e-02 -2.521158244345e-02 -2.360609802887e-02 -2.193020524305e-02 --2.018965526765e-02 -1.839038586356e-02 -1.653850137407e-02 -1.464025226861e-02 --1.270201429484e-02 -1.073026730782e-02 -8.731573845858e-03 -6.712557523091e-03 --4.679881309316e-03 -2.640225767507e-03 -6.002673194726e-04 1.433343390304e-03 -3.454002963193e-03 5.455176478626e-03 7.430418422352e-03 9.373393244311e-03 -1.127789548115e-02 1.313786938007e-02 1.494742796245e-02 1.670087146789e-02 -1.839270512133e-02 2.001765616846e-02 2.157069012714e-02 2.304702620522e-02 -2.444215183807e-02 2.575183630221e-02 2.697214336435e-02 2.809944292875e-02 -2.913042164873e-02 3.006209247213e-02 3.089180309365e-02 3.161724329081e-02 -3.223645112400e-02 3.274781798471e-02 3.315009247988e-02 3.344238314402e-02 -3.362415997477e-02 3.369525479111e-02 3.365586041739e-02 3.350652870018e-02 -3.324816736855e-02 3.288203575211e-02 3.240973937492e-02 3.183322344671e-02 -3.115476527662e-02 3.037696563770e-02 2.950273911414e-02 2.853530346589e-02 -2.747816804889e-02 2.633512133150e-02 2.511021755107e-02 2.380776255669e-02 -2.243229888701e-02 2.098859013410e-02 1.948160464657e-02 1.791649862706e-02 -1.629859868096e-02 1.463338387485e-02 1.292646736459e-02 1.118357765386e-02 -9.410539545482e-03 7.613254848001e-03 5.797682901151e-03 3.969820983777e-03 -2.135684668175e-03 3.012881846979e-04 -1.527375139800e-03 -3.344352306513e-03 --5.143749869768e-03 -6.919752901010e-03 -8.666643631123e-03 -1.037881971177e-02 --1.205081203788e-02 -1.367730207495e-02 -1.525313863681e-02 -1.677335406123e-02 --1.823317973299e-02 -1.962806090637e-02 -2.095367078140e-02 -2.220592379064e-02 --2.338098805623e-02 -2.447529697955e-02 -2.548555992892e-02 -2.640877199355e-02 --2.724222277558e-02 -2.798350419456e-02 -2.863051728270e-02 -2.918147795210e-02 --2.963492171868e-02 -2.998970737110e-02 -3.024501957619e-02 -3.040037041610e-02 --3.045559985569e-02 -3.041087514220e-02 -3.026668914282e-02 -3.002385762894e-02 --2.968351551956e-02 -2.924711209937e-02 -2.871640523051e-02 -2.809345458010e-02 --2.738061388883e-02 -2.658052230879e-02 -2.569609484180e-02 -2.473051191228e-02 --2.368720811129e-02 -2.256986015104e-02 -2.138237407161e-02 -2.012887174384e-02 --1.881367671460e-02 -1.744129944241e-02 -1.601642197357e-02 -1.454388211024e-02 --1.302865712360e-02 -1.147584706651e-02 -9.890657741144e-03 -8.278383378148e-03 --6.644389084369e-03 -4.994093117121e-03 -3.332949043045e-03 -1.666427839951e-03 -6.012352329821e-15 1.660882307642e-03 3.310802956777e-03 4.944399409738e-03 -6.556380031865e-03 - Type L N - 0 2 10 -0.000000000000e+00 2.620035804377e-04 1.047131718342e-03 2.352739493154e-03 -4.174428330095e-03 6.506060404103e-03 9.339778739072e-03 1.266603293461e-02 -1.647361043433e-02 2.074967323186e-02 2.547979989189e-02 3.064803274650e-02 -3.623693010936e-02 4.222762333385e-02 4.859987852524e-02 5.533216270128e-02 -6.240171418104e-02 6.978461696787e-02 7.745587887891e-02 8.538951316150e-02 -9.355862332505e-02 1.019354909068e-01 1.104916658795e-01 1.191980594019e-01 -1.280250386031e-01 1.369425230876e-01 1.459200828410e-01 1.549270372115e-01 -1.639325546409e-01 1.729057528151e-01 1.818157989018e-01 1.906320095474e-01 -1.993239503004e-01 2.078615341368e-01 2.162151187607e-01 2.243556023625e-01 -2.322545175197e-01 2.398841229321e-01 2.472174926930e-01 2.542286028033e-01 -2.608924146474e-01 2.671849551599e-01 2.730833934219e-01 2.785661134411e-01 -2.836127828782e-01 2.882044175025e-01 2.923234411673e-01 2.959537411153e-01 -2.990807184404e-01 3.016913335443e-01 3.037741464492e-01 3.053193518408e-01 -3.063188087347e-01 3.067660646799e-01 3.066563744277e-01 3.059867130152e-01 -3.047557832314e-01 3.029640174516e-01 3.006135738454e-01 2.977083269830e-01 -2.942538528805e-01 2.902574085479e-01 2.857279061174e-01 2.806758816488e-01 -2.751134587301e-01 2.690543070006e-01 2.625135957503e-01 2.555079427565e-01 -2.480553585404e-01 2.401751862379e-01 2.318880372958e-01 2.232157232141e-01 -2.141811835724e-01 2.048084105866e-01 1.951223704560e-01 1.851489217677e-01 -1.749147312377e-01 1.644471870749e-01 1.537743102598e-01 1.429246640392e-01 -1.319272619409e-01 1.208114746169e-01 1.096069358277e-01 9.834344788108e-02 -8.705088684057e-02 7.575910781808e-02 6.449785066425e-02 5.329664636778e-02 -4.218472447166e-02 3.119092180969e-02 2.034359286162e-02 9.670522018677e-03 --8.011619562113e-04 -1.104506899723e-02 -2.103562806663e-02 -3.074816449107e-02 --4.015897405730e-02 -4.924539363317e-02 -5.798586809226e-02 -6.636001333369e-02 --7.434867520261e-02 -8.193398413124e-02 -8.909940533569e-02 -9.582978441903e-02 --1.021113882473e-01 -1.079319409817e-01 -1.132806551669e-01 -1.181482577925e-01 --1.225270112614e-01 -1.264107292183e-01 -1.297947872062e-01 -1.326761281384e-01 --1.350532625913e-01 -1.369262639391e-01 -1.382967583708e-01 -1.391679098457e-01 --1.395444000616e-01 -1.394324035245e-01 -1.388395578295e-01 -1.377749292714e-01 --1.362489739257e-01 -1.342734943514e-01 -1.318615920821e-01 -1.290276160864e-01 --1.257871073914e-01 -1.221567400729e-01 -1.181542588320e-01 -1.137984133840e-01 --1.091088898976e-01 -1.041062397316e-01 -9.881180572283e-02 -9.324764628811e-02 --8.743645760788e-02 -8.140149416526e-02 -7.516648791822e-02 -6.875556638627e-02 --6.219316993520e-02 -5.550396854491e-02 -4.871277834585e-02 -4.184447820889e-02 --3.492392667190e-02 -2.797587948395e-02 -2.102490804431e-02 -1.409531900914e-02 --7.211075333353e-03 -3.957190089499e-04 6.327704246251e-03 1.293671810326e-02 -1.940948630276e-02 2.572488067445e-02 3.186254627760e-02 3.780296345647e-02 -4.352750661626e-02 4.901849953707e-02 5.425926705699e-02 5.923418296817e-02 -6.392871398422e-02 6.832945965134e-02 7.242418809040e-02 7.620186747228e-02 -7.965269314418e-02 8.276811034000e-02 8.554083242365e-02 8.796485463021e-02 -9.003546328530e-02 9.174924049919e-02 9.310406434793e-02 9.409910456930e-02 -9.473481381699e-02 9.501291453183e-02 9.493638150345e-02 9.450942021097e-02 -9.373744104510e-02 9.262702952815e-02 9.118591266185e-02 8.942292154537e-02 -8.734795041872e-02 8.497191229792e-02 8.230669137963e-02 7.936509240319e-02 -7.616078716752e-02 7.270825840950e-02 6.902274125824e-02 6.512016248718e-02 -6.101707779225e-02 5.673060733022e-02 5.227836975588e-02 4.767841500079e-02 -4.294915603927e-02 3.810929988956e-02 3.317777809923e-02 2.817367696430e-02 -2.311616773109e-02 1.802443702837e-02 1.291761777506e-02 7.814720805650e-03 -2.734567451569e-03 -2.304276688186e-03 -7.283566559373e-03 -1.218544082641e-02 --1.699248319366e-02 -2.168778166772e-02 -2.625498556300e-02 -3.067836006198e-02 --3.494283815152e-02 -3.903406976697e-02 -4.293846798677e-02 -4.664325213182e-02 --5.013648763584e-02 -5.340712256517e-02 -5.644502067939e-02 -5.924099093709e-02 --6.178681336438e-02 -6.407526121752e-02 -6.610011938443e-02 -6.785619898412e-02 --6.933934813651e-02 -7.054645888953e-02 -7.147547030398e-02 -7.212536771062e-02 --7.249617816758e-02 -7.258896215997e-02 -7.240580159638e-02 -7.194978417065e-02 --7.122498416940e-02 -7.023643981868e-02 -6.899012727473e-02 -6.749293137542e-02 --6.575261328024e-02 -6.377777513672e-02 -6.157782192159e-02 -5.916292061419e-02 --5.654395686812e-02 -5.373248935576e-02 -5.074070196708e-02 -4.758135405145e-02 --4.426772889667e-02 -4.081358064510e-02 -3.723307985088e-02 -3.354075788636e-02 --2.975145040852e-02 -2.588024009840e-02 -2.194239888811e-02 -1.795332989034e-02 --1.392850924527e-02 -9.883428098751e-03 -5.833534923925e-03 -1.794178395810e-03 -2.219448974676e-03 6.192366244977e-03 1.010985828576e-02 1.395752867415e-02 -1.772135104925e-02 2.138771875041e-02 2.494349256632e-02 2.837604643077e-02 -3.167331090945e-02 3.482381433117e-02 3.781672142661e-02 4.064186934726e-02 -4.328980094801e-02 4.575179522735e-02 4.801989483032e-02 5.008693053066e-02 -5.194654262030e-02 5.359319914616e-02 5.502221094600e-02 5.622974344750e-02 -5.721282520660e-02 5.796935317347e-02 5.849809468655e-02 5.879868620733e-02 -5.887162882027e-02 5.871828053444e-02 5.834084543467e-02 5.774235974177e-02 -5.692667485224e-02 5.589843743883e-02 5.466306670358e-02 5.322672888515e-02 -5.159630913190e-02 4.977938086104e-02 4.778417273319e-02 4.561953337956e-02 -4.329489402663e-02 4.082022917023e-02 3.820601545722e-02 3.546318893891e-02 -3.260310086529e-02 2.963747219388e-02 2.657834699060e-02 2.343804490332e-02 -2.022911289118e-02 1.696427639457e-02 1.365639013154e-02 1.031838870717e-02 -6.963237221582e-03 3.603882061735e-03 2.532020601634e-04 -3.076039798482e-03 --6.371243945210e-03 -9.620020894655e-03 -1.281023684336e-02 -1.593005803345e-02 --1.896799372230e-02 -2.191293760479e-02 -2.475420754144e-02 -2.748158345284e-02 --3.008534324839e-02 -3.255629666528e-02 -3.488581690254e-02 -3.706586994327e-02 --3.908904146801e-02 -4.094856127127e-02 -4.263832510331e-02 -4.415291386933e-02 --4.548761012830e-02 -4.663841184443e-02 -4.760204335446e-02 -4.837596352492e-02 --4.895837108397e-02 -4.934820712322e-02 -4.954515477559e-02 -4.954963608583e-02 --4.936280610077e-02 -4.898654421662e-02 -4.842344283100e-02 -4.767679335692e-02 --4.675056966581e-02 -4.564940903605e-02 -4.437859069210e-02 -4.294401202848e-02 --4.135216262065e-02 -3.961009613287e-02 -3.772540024034e-02 -3.570616469007e-02 --3.356094763092e-02 -3.129874034941e-02 -2.892893055317e-02 -2.646126434851e-02 --2.390580706294e-02 -2.127290306701e-02 -1.857313475277e-02 -1.581728082870e-02 --1.301627409256e-02 -1.018115884487e-02 -7.323048106310e-03 -4.453080802119e-03 --1.582379076085e-03 1.277994104811e-03 4.117076895743e-03 6.924049912610e-03 -9.688276810099e-03 1.239934394917e-02 1.504709900802e-02 1.762168839540e-02 -2.011359333025e-02 2.251366445745e-02 2.481315487560e-02 2.700375145932e-02 -2.907760436581e-02 3.102735462241e-02 3.284615970016e-02 3.452771698609e-02 -3.606628507543e-02 3.745670281381e-02 3.869440602799e-02 3.977544189305e-02 -4.069648089307e-02 4.145482634156e-02 4.204842143759e-02 4.247585384263e-02 -4.273635777314e-02 4.282981361275e-02 4.275674505787e-02 4.251831381953e-02 -4.211631191349e-02 4.155315157965e-02 4.083185288082e-02 3.995602903911e-02 -3.892986957682e-02 3.775812133673e-02 3.644606746422e-02 3.499950444117e-02 -3.342471726858e-02 3.172845290135e-02 2.991789204487e-02 2.800061942895e-02 -2.598459267953e-02 2.387810991374e-02 2.168977618808e-02 1.942846893310e-02 -1.710330251128e-02 1.472359203784e-02 1.229881660573e-02 9.838582058397e-03 -7.352583454433e-03 4.850567369051e-03 2.342294177207e-03 -1.624995374291e-04 --2.654138304523e-03 -5.123044678725e-03 -7.559775601667e-03 -9.955058077794e-03 --1.229982403074e-02 -1.458524421068e-02 -1.680276102726e-02 -1.894412018742e-02 --2.100140102249e-02 -2.296704539440e-02 -2.483388507685e-02 -2.659516751356e-02 --2.824457986222e-02 -2.977627123989e-02 -3.118487309266e-02 -3.246551762010e-02 --3.361385419245e-02 -3.462606370685e-02 -3.549887083663e-02 -3.622955413607e-02 --3.681595397167e-02 -3.725647825883e-02 -3.755010599193e-02 -3.769638856381e-02 --3.769544887952e-02 -3.754797827720e-02 -3.725523127767e-02 -3.681901819240e-02 --3.624169562733e-02 -3.552615492841e-02 -3.467580862197e-02 -3.369457491062e-02 --3.258686029276e-02 -3.135754038030e-02 -3.001193899610e-02 -2.855580563876e-02 --2.699529140817e-02 -2.533692349098e-02 -2.358757830999e-02 -2.175445344637e-02 --1.984503844759e-02 -1.786708463813e-02 -1.582857405291e-02 -1.373768761674e-02 --1.160277269495e-02 -9.432310142707e-03 -7.234880981712e-03 -5.019132833746e-03 --2.793746241246e-03 -5.674010047185e-04 1.651257333662e-03 3.853650732059e-03 -6.031301489937e-03 8.175864563376e-03 1.027915923270e-02 1.233320000329e-02 -1.433022662396e-02 1.626273311109e-02 1.812349567089e-02 1.990559941708e-02 -2.160246378597e-02 2.320786655663e-02 2.471596638938e-02 2.612132380187e-02 -2.741892050851e-02 2.860417705536e-02 2.967296868953e-02 3.062163940931e-02 -3.144701414801e-02 3.214640905242e-02 3.271763982383e-02 3.315902809725e-02 -3.346940584235e-02 3.364811777675e-02 3.369502179069e-02 3.361048738904e-02 -3.339539216478e-02 3.305111632528e-02 3.257953530016e-02 3.198301046681e-02 -3.126437803690e-02 3.042693615365e-02 2.947443025706e-02 2.841103677982e-02 -2.724134524376e-02 2.597033883180e-02 2.460337351638e-02 2.314615583044e-02 -2.160471937202e-02 1.998540013785e-02 1.829481078573e-02 1.653981392904e-02 -1.472749457012e-02 1.286513178221e-02 1.096016975200e-02 9.020188297052e-03 -7.052872973721e-03 5.065984892624e-03 3.067330359101e-03 1.064730456563e-03 --9.340093097221e-04 -2.921129191455e-03 -4.888945082975e-03 -6.829877999512e-03 --8.736483035799e-03 -1.060147769521e-02 -1.241776948243e-02 -1.417848265595e-02 --1.587698404013e-02 -1.750690780091e-02 -1.906217909314e-02 -2.053703649256e-02 --2.192605313036e-02 -2.322415645346e-02 -2.442664653926e-02 -2.552921289965e-02 --2.652794971473e-02 -2.741936944348e-02 -2.820041476444e-02 -2.886846880682e-02 --2.942136363844e-02 -2.985738698434e-02 -3.017528715649e-02 -3.037427618212e-02 --3.045403112513e-02 -3.041469360212e-02 -3.025686750147e-02 -2.998161492074e-02 --2.959045034473e-02 -2.908533309287e-02 -2.846865807160e-02 -2.774324487347e-02 --2.691232527115e-02 -2.597952916044e-02 -2.494886901223e-02 -2.382472289889e-02 --2.261181616584e-02 -2.131520182400e-02 -1.994023974356e-02 -1.849257473380e-02 --1.697811359776e-02 -1.540300125403e-02 -1.377359602157e-02 -1.209644416594e-02 --1.037825380810e-02 -8.625868299011e-03 -6.846239164960e-03 -5.046398729735e-03 --3.233432520802e-03 -1.414451567016e-03 4.034353045415e-04 2.213149065363e-03 -4.007667869506e-03 5.780054119506e-03 7.523481110548e-03 9.231259151201e-03 -1.089686106141e-02 1.251394695115e-02 1.407638818635e-02 1.557829045196e-02 -1.701401582611e-02 1.837820378317e-02 1.966579104810e-02 2.087203022904e-02 -2.199250716028e-02 2.302315689278e-02 2.396027827478e-02 2.480054707111e-02 -2.554102757496e-02 2.617918267265e-02 2.671288232720e-02 2.714041045362e-02 -2.746047016431e-02 2.767218737005e-02 2.777511272791e-02 2.776922193426e-02 -2.765491436722e-02 2.743301008928e-02 2.710474522729e-02 2.667176575308e-02 -2.613611969416e-02 2.550024780987e-02 2.476697277428e-02 2.393948691269e-02 -2.302133854408e-02 2.201641698699e-02 2.092893629145e-02 1.976341776426e-02 -1.852467135921e-02 1.721777600821e-02 1.584805897315e-02 1.442107430156e-02 -1.294258047276e-02 1.141851732369e-02 9.854982346319e-03 8.258206450586e-03 -6.634529288631e-03 4.990374237425e-03 3.332223137968e-03 1.666590889822e-03 -1.678812230281e-15 -1.661044814901e-03 -3.310081874987e-03 -4.940717534258e-03 --6.546650832582e-03 - Type L N - 0 2 11 -0.000000000000e+00 3.076684752969e-04 1.229456822918e-03 2.761718489533e-03 -4.898391469915e-03 7.631021618927e-03 1.094879516000e-02 1.483858026336e-02 -1.928497753096e-02 2.427037919052e-02 2.977503676719e-02 3.577713696791e-02 -4.225288548166e-02 4.917659836780e-02 5.652080067530e-02 6.425633190728e-02 -7.235245791876e-02 8.077698881069e-02 8.949640235977e-02 9.847597250258e-02 -1.076799023726e-01 1.170714613719e-01 1.266131257425e-01 1.362667220913e-01 -1.459935733092e-01 1.557546463171e-01 1.655107010646e-01 1.752224402041e-01 -1.848506588577e-01 1.943563938989e-01 2.037010721695e-01 2.128466570595e-01 -2.217557928846e-01 2.303919465032e-01 2.387195456292e-01 2.467041133084e-01 -2.543123980425e-01 2.615124990639e-01 2.682739862803e-01 2.745680144358e-01 -2.803674310519e-01 2.856468777420e-01 2.903828845161e-01 2.945539567237e-01 -2.981406543082e-01 3.011256630816e-01 3.034938577562e-01 3.052323565036e-01 -3.063305668482e-01 3.067802227308e-01 3.065754126186e-01 3.057125985692e-01 -3.041906261952e-01 3.020107255079e-01 2.991765026582e-01 2.956939226262e-01 -2.915712829478e-01 2.868191785994e-01 2.814504581996e-01 2.754801717169e-01 -2.689255099084e-01 2.618057357443e-01 2.541421081053e-01 2.459577980678e-01 -2.372777981237e-01 2.281288247028e-01 2.185392143984e-01 2.085388143130e-01 -1.981588669688e-01 1.874318902450e-01 1.763915528221e-01 1.650725456318e-01 -1.535104498227e-01 1.417416017660e-01 1.298029556362e-01 1.177319441059e-01 -1.055663377061e-01 9.334410339940e-02 8.110326292147e-02 6.888175144123e-02 -5.671727708871e-02 4.464718189424e-02 3.270830467496e-02 2.093684639556e-02 -9.368238518095e-03 -1.962985157258e-03 -1.302331267469e-02 -2.378037365978e-02 --3.420305416166e-02 -4.426160617195e-02 -5.392775141475e-02 -6.317477902589e-02 --7.197763676562e-02 -8.031301543553e-02 -8.815942619899e-02 -9.549727053327e-02 --1.023089025723e-01 -1.085786836294e-01 -1.142930287224e-01 -1.194404449545e-01 --1.240115616379e-01 -1.279991520817e-01 -1.313981469958e-01 -1.342056395004e-01 --1.364208817593e-01 -1.380452732934e-01 -1.390823410596e-01 -1.395377114146e-01 --1.394190741153e-01 -1.387361385373e-01 -1.375005823238e-01 -1.357259927067e-01 --1.334278007701e-01 -1.306232089512e-01 -1.273311121030e-01 -1.235720124635e-01 --1.193679289021e-01 -1.147423008317e-01 -1.097198871991e-01 -1.043266609778e-01 --9.858969961033e-02 -9.253707185462e-02 -8.619772150607e-02 -7.960134847434e-02 --7.277828770341e-02 -6.575938642888e-02 -5.857588027130e-02 -5.125926866597e-02 --4.384119012989e-02 -3.635329786467e-02 -2.882713619011e-02 -2.129401829720e-02 --1.378490580154e-02 -6.330290568085e-03 1.039920733378e-03 8.296518896249e-03 -1.541110083812e-02 2.235617424116e-02 2.910525777694e-02 3.563297654072e-02 -4.191515234175e-02 4.792888851923e-02 5.365264897716e-02 5.906633115714e-02 -6.415133269386e-02 6.889061152569e-02 7.326873926022e-02 7.727194762380e-02 -8.088816785271e-02 8.410706291371e-02 8.692005247143e-02 8.932033055009e-02 -9.130287586745e-02 9.286445484874e-02 9.400361735845e-02 9.472068521733e-02 -9.501773360112e-02 9.489856544625e-02 9.436867901559e-02 9.343522880452e-02 -9.210697999391e-02 9.039425668188e-02 8.830888415028e-02 8.586412544504e-02 -8.307461257098e-02 7.995627262242e-02 7.652624918934e-02 7.280281939669e-02 -6.880530695008e-02 6.455399157522e-02 6.007001525105e-02 5.537528564737e-02 -5.049237718656e-02 4.544443015637e-02 4.025504830616e-02 3.494819536231e-02 -2.954809090060e-02 2.407910601299e-02 1.856565920428e-02 1.303211295073e-02 -7.502671346696e-03 2.001279258628e-03 -3.448476603728e-03 -8.823464299277e-03 --1.410110056357e-02 -1.925944163937e-02 -2.427727067176e-02 -2.913418132615e-02 --3.381065730610e-02 -3.828814746650e-02 -4.254913623868e-02 -4.657720910519e-02 --5.035711288463e-02 -5.387481061019e-02 -5.711753080991e-02 -6.007381102120e-02 --6.273353539776e-02 -6.508796629279e-02 -6.712976972852e-02 -6.885303468854e-02 --7.025328619587e-02 -7.132749216619e-02 -7.207406405214e-02 -7.249285132072e-02 --7.258512983165e-02 -7.235358420985e-02 -7.180228433038e-02 -7.093665605800e-02 --6.976344640724e-02 -6.829068331139e-02 -6.652763021048e-02 -6.448473568909e-02 --6.217357841437e-02 -5.960680764286e-02 -5.679807958219e-02 -5.376198990912e-02 --5.051400276031e-02 -4.707037652467e-02 -4.344808677825e-02 -3.966474671203e-02 --3.573852541206e-02 -3.168806435765e-02 -2.753239250910e-02 -2.329084035964e-02 --1.898295332883e-02 -1.462840487436e-02 -1.024690969872e-02 -5.858137423784e-03 --1.481627102334e-03 2.863297070612e-03 7.157608491192e-03 1.138265897831e-02 -1.552025736739e-02 1.955274554190e-02 2.346307159151e-02 2.723485979991e-02 -3.085247718102e-02 3.430109629899e-02 3.756675412499e-02 4.063640670257e-02 -4.349797941283e-02 4.614041265109e-02 4.855370274757e-02 5.072893798650e-02 -5.265832959992e-02 5.433523763505e-02 5.575419161718e-02 5.691090595260e-02 -5.780229003971e-02 5.842645307927e-02 5.878270359798e-02 5.887154372239e-02 -5.869465826260e-02 5.825489868764e-02 5.755626209583e-02 5.660386530476e-02 -5.540391420582e-02 5.396366854810e-02 5.229140233518e-02 5.039636003652e-02 -4.828870883190e-02 4.597948712356e-02 4.348054956543e-02 4.080450887244e-02 -3.796467468555e-02 3.497498977904e-02 3.184996390683e-02 2.860460559276e-02 -2.525435217715e-02 2.181499843767e-02 1.830262410672e-02 1.473352061066e-02 -1.112411735750e-02 7.490907899814e-03 3.850376298047e-03 2.189240069475e-04 --3.387202396787e-03 -6.951982332809e-03 -1.045969087557e-02 -1.389496665532e-02 --1.724287771342e-02 -2.048898503462e-02 -2.361940349045e-02 -2.662085994112e-02 --2.948074825712e-02 -3.218718103649e-02 -3.472903781001e-02 -3.709600954258e-02 --3.927863925708e-02 -4.126835862455e-02 -4.305752038353e-02 -4.463942647041e-02 --4.600835176212e-02 -4.715956335253e-02 -4.808933530412e-02 -4.879495883629e-02 --4.927474793281e-02 -4.952804037032e-02 -4.955519419073e-02 -4.935757965981e-02 --4.893756677430e-02 -4.829850839888e-02 -4.744471913344e-02 -4.638145002913e-02 --4.511485928961e-02 -4.365197911066e-02 -4.200067882765e-02 -4.016962455577e-02 --3.816823552227e-02 -3.600663730365e-02 -3.369561219321e-02 -3.124654693566e-02 --2.867137807613e-02 -2.598253517989e-02 -2.319288218723e-02 -2.031565717474e-02 --1.736441079973e-02 -1.435294370905e-02 -1.129524319641e-02 -8.205419394279e-03 --5.097641286770e-03 -1.986072829379e-03 1.115190540756e-03 4.192184723556e-03 -7.231138827680e-03 1.021853582485e-02 1.314117172336e-02 1.598621300531e-02 -1.874125208106e-02 2.139436052478e-02 2.393413986573e-02 2.634976972223e-02 -2.863105307825e-02 3.076845851588e-02 3.275315923222e-02 3.457706868354e-02 -3.623287271619e-02 3.771405805957e-02 3.901493707359e-02 4.013066866018e-02 -4.105727526594e-02 4.179165592093e-02 4.233159527647e-02 4.267576862267e-02 -4.282374288487e-02 4.277597361553e-02 4.253379801639e-02 4.209942404287e-02 -4.147591566015e-02 4.066717433698e-02 3.967791687977e-02 3.851364972527e-02 -3.718063982521e-02 3.568588227123e-02 3.403706482161e-02 3.224252950495e-02 -3.031123148774e-02 2.825269540412e-02 2.607696935661e-02 2.379457680580e-02 -2.141646657547e-02 1.895396120673e-02 1.641870390118e-02 1.382260429823e-02 -1.117778333544e-02 8.496517443904e-03 5.791182332473e-03 3.074196614823e-03 -3.579655333173e-04 -2.345174968402e-03 -5.023013574793e-03 -7.663518084389e-03 --1.025488881198e-02 -1.278561067257e-02 -1.524450371981e-02 -1.762077191955e-02 --1.990404994807e-02 -2.208444781460e-02 -2.415259311825e-02 -2.609967076105e-02 --2.791745995112e-02 -2.959836834282e-02 -3.113546317436e-02 -3.252249927752e-02 --3.375394384859e-02 -3.482499788491e-02 -3.573161420664e-02 -3.647051199911e-02 --3.703918782712e-02 -3.743592308850e-02 -3.765978789044e-02 -3.771064134824e-02 --3.758912832216e-02 -3.729667262398e-02 -3.683546674066e-02 -3.620845813781e-02 --3.541933222075e-02 -3.447249204577e-02 -3.337303488818e-02 -3.212672578743e-02 --3.073996820272e-02 -2.921977192474e-02 -2.757371840097e-02 -2.580992364281e-02 --2.393699889300e-02 -2.196400924095e-02 -1.990043038209e-02 -1.775610372464e-02 --1.554119005402e-02 -1.326612197031e-02 -1.094155531897e-02 -8.578319838528e-03 --6.187369251313e-03 -3.779731025096e-03 -1.366456033675e-03 1.041431655932e-03 -3.432984643661e-03 5.797381480523e-03 8.123975156804e-03 1.040234057904e-02 -1.262232082597e-02 1.477407198010e-02 1.684810633883e-02 1.883533381715e-02 -2.072710136309e-02 2.251523021665e-02 2.419205085349e-02 2.575043546574e-02 -2.718382784412e-02 2.848627053771e-02 2.965242918072e-02 3.067761388866e-02 -3.155779764011e-02 3.228963157415e-02 3.287045714778e-02 3.329831511195e-02 -3.357195127965e-02 3.369081907362e-02 3.365507885629e-02 3.346559405883e-02 -3.312392414056e-02 3.263231442430e-02 3.199368286693e-02 3.121160383831e-02 -3.029028899450e-02 2.923456534451e-02 2.804985062158e-02 2.674212608192e-02 -2.531790686509e-02 2.378421006026e-02 2.214852063285e-02 2.041875537461e-02 -1.860322504877e-02 1.671059490926e-02 1.474984377951e-02 1.273022188220e-02 -1.066120761620e-02 8.552463480746e-03 6.413791350159e-03 4.255087304277e-03 -2.086296221165e-03 -8.263366125141e-05 -2.241796008618e-03 -4.381371274271e-03 --6.491671002218e-03 -8.563181350586e-03 -1.058660564148e-02 -1.255290574840e-02 --1.445334213826e-02 -1.627951239218e-02 -1.802338803634e-02 -1.967734952298e-02 --2.123421921034e-02 -2.268729220007e-02 -2.403036490096e-02 -2.525776119861e-02 --2.636435612188e-02 -2.734559690898e-02 -2.819752138788e-02 -2.891677359852e-02 --2.950061659689e-02 -2.994694239413e-02 -3.025427899694e-02 -3.042179452880e-02 --3.044929842495e-02 -3.033723970715e-02 -3.008670235770e-02 -2.969939782500e-02 --2.917765470601e-02 -2.852440566355e-02 -2.774317164852e-02 -2.683804350933e-02 --2.581366108219e-02 -2.467518986695e-02 -2.342829540380e-02 -2.207911547618e-02 --2.063423027435e-02 -1.910063066329e-02 -1.748568470606e-02 -1.579710260156e-02 --1.404290020202e-02 -1.223136128139e-02 -1.037099873071e-02 -8.470514861073e-03 --6.538760997688e-03 -4.584696551532e-03 -2.617347756428e-03 -6.457662603618e-04 -1.321012240231e-03 3.274009135404e-03 5.204343619764e-03 7.103272810172e-03 -8.962231082993e-03 1.077286845501e-02 1.252708783712e-02 1.421708099563e-02 -1.583536306260e-02 1.737480544355e-02 1.882866697908e-02 2.019062322502e-02 -2.145479372504e-02 2.261576715911e-02 2.366862426125e-02 2.460895841062e-02 -2.543289381082e-02 2.613710118357e-02 2.671881091458e-02 2.717582360104e-02 -2.750651796229e-02 2.770985608732e-02 2.778538600493e-02 2.773324157453e-02 -2.755413970786e-02 2.724937494400e-02 2.682081141175e-02 2.627087222561e-02 -2.560252637270e-02 2.481927315949e-02 2.392512429765e-02 2.292458371938e-02 -2.182262522185e-02 2.062466805058e-02 1.933655054006e-02 1.796450193866e-02 -1.651511255249e-02 1.499530235009e-02 1.341228817647e-02 1.177354973056e-02 -1.008679446542e-02 8.359921574931e-03 6.600985233967e-03 4.818157262340e-03 -3.019689384381e-03 1.213875257557e-03 -5.909875561334e-04 -2.386635502586e-03 --4.164876659528e-03 -5.917627901590e-03 -7.636951438803e-03 -9.315090564226e-03 --1.094450445058e-02 -1.251790184067e-02 -1.402827348179e-02 -1.546892316090e-02 --1.683349720363e-02 -1.811601230827e-02 -1.931088159343e-02 -2.041293874683e-02 --2.141746017166e-02 -2.232018503642e-02 -2.311733314391e-02 -2.380562054548e-02 --2.438227283685e-02 -2.484503608294e-02 -2.519218532972e-02 -2.542253067262e-02 --2.553542086195e-02 -2.553074443721e-02 -2.540892839351e-02 -2.517093439426e-02 --2.481825255589e-02 -2.435289284079e-02 -2.377737410594e-02 -2.309471086481e-02 --2.230839783060e-02 -2.142239231867e-02 -2.044109459549e-02 -1.936932627061e-02 --1.821230683654e-02 -1.697562846985e-02 -1.566522921396e-02 -1.428736467144e-02 --1.284857833972e-02 -1.135567073013e-02 -9.815667414928e-03 -8.235786151830e-03 --6.623403238827e-03 -4.986019255467e-03 -3.331224348814e-03 -1.666663223992e-03 --5.234804717149e-15 1.661116908350e-03 3.309089722328e-03 4.936405886016e-03 -6.535672151334e-03 - Type L N - 0 2 12 -0.000000000000e+00 3.569814883576e-04 1.426287458324e-03 3.203009736561e-03 -5.678992372019e-03 8.842868026578e-03 1.268010869057e-02 1.717309049234e-02 -2.230117230782e-02 2.804078781293e-02 3.436555056104e-02 4.124637160836e-02 -4.865158915351e-02 5.654710960314e-02 6.489655942367e-02 7.366144709087e-02 -8.280133440316e-02 9.227401638268e-02 1.020357089495e-01 1.120412435198e-01 -1.222442676477e-01 1.325974508038e-01 1.430526943619e-01 1.535613448439e-01 -1.640744094647e-01 1.745427730018e-01 1.849174150175e-01 1.951496264531e-01 -2.051912246258e-01 2.149947656614e-01 2.245137534122e-01 2.337028439257e-01 -2.425180445512e-01 2.509169067969e-01 2.588587120793e-01 2.663046495419e-01 -2.732179851554e-01 2.795642213536e-01 2.853112465043e-01 2.904294735591e-01 -2.948919672794e-01 2.986745594874e-01 3.017559518458e-01 3.041178057292e-01 -3.057448188081e-01 3.066247880289e-01 3.067486587350e-01 3.061105597370e-01 -3.047078242075e-01 3.025409963362e-01 2.996138237492e-01 2.959332357614e-01 -2.915093075916e-01 2.863552107395e-01 2.804871497789e-01 2.739242858907e-01 -2.666886475116e-01 2.588050285377e-01 2.503008745740e-01 2.412061577761e-01 -2.315532408807e-01 2.213767310680e-01 2.107133243446e-01 1.996016411774e-01 -1.880820541447e-01 1.761965084072e-01 1.639883358306e-01 1.515020636184e-01 -1.387832183350e-01 1.258781262193e-01 1.128337107019e-01 9.969728804722e-02 -8.651636205180e-02 7.333841872575e-02 6.021072188578e-02 4.718011057796e-02 -3.429279923829e-02 2.159418148252e-02 9.128638397347e-03 -3.060647819018e-03 --1.493187404649e-02 -2.644478947395e-02 -3.756086111718e-02 -4.824343090815e-02 --5.845786368133e-02 -6.817168542733e-02 -7.735471123116e-02 -8.597916236248e-02 --9.401977203692e-02 -1.014538794221e-01 -1.082615115172e-01 -1.144254525935e-01 --1.199313009396e-01 -1.247675127185e-01 -1.289254327991e-01 -1.323993124896e-01 --1.351863141592e-01 -1.372865027934e-01 -1.387028245925e-01 -1.394410727781e-01 --1.395098408326e-01 -1.389204634537e-01 -1.376869455620e-01 -1.358258797502e-01 --1.333563526199e-01 -1.302998404937e-01 -1.266800950448e-01 -1.225230194247e-01 --1.178565355123e-01 -1.127104429482e-01 -1.071162706481e-01 -1.011071215248e-01 --9.471751117380e-02 -8.798320130120e-02 -8.094102869535e-02 -7.362873055691e-02 --6.608476701707e-02 -5.834814168099e-02 -5.045822103842e-02 -4.245455358404e-02 --3.437668948673e-02 -2.626400163957e-02 -1.815550891133e-02 -1.008970240501e-02 --2.104375510424e-03 5.763541484598e-03 1.347814148570e-02 2.100469467665e-02 -2.830979592005e-02 3.536150483243e-02 4.212947793040e-02 4.858509228547e-02 -5.470156016846e-02 6.045403421016e-02 6.581970265261e-02 7.077787431437e-02 -7.531005294468e-02 7.940000069296e-02 8.303379047373e-02 8.619984706080e-02 -8.888897679901e-02 9.109438587652e-02 9.281168715524e-02 9.403889561133e-02 -9.477641249152e-02 9.502699834383e-02 9.479573513343e-02 9.408997770467e-02 -9.291929489961e-02 9.129540069051e-02 8.923207572929e-02 8.674507975962e-02 -8.385205537857e-02 8.057242367249e-02 7.692727228735e-02 7.293923652620e-02 -6.863237409600e-02 6.403203415221e-02 5.916472131247e-02 5.405795533072e-02 -4.874012713881e-02 4.324035197554e-02 3.758832033245e-02 3.181414745065e-02 -2.594822210564e-02 2.002105541476e-02 1.406313039743e-02 8.104753009171e-03 -2.175905358568e-03 -3.693898199159e-03 -9.475751417086e-03 -1.514149230696e-02 --2.066383445693e-02 -2.601649291622e-02 -3.117430407723e-02 -3.611333901816e-02 --4.081100980535e-02 -4.524616829199e-02 -4.939919698957e-02 -5.325209163042e-02 --5.678853508241e-02 -5.999396232195e-02 -6.285561621669e-02 -6.536259391652e-02 --6.750588369834e-02 -6.927839215825e-02 -7.067496169263e-02 -7.169237825779e-02 --7.232936944540e-02 -7.258659295852e-02 -7.246661561924e-02 -7.197388308498e-02 --7.111468049454e-02 -6.989708430856e-02 -6.833090565013e-02 -6.642762549139e-02 --6.420032206953e-02 -6.166359095147e-02 -5.883345819969e-02 -5.572728712279e-02 --5.236367912251e-02 -4.876236917484e-02 -4.494411650539e-02 -4.093059103929e-02 --3.674425622285e-02 -3.240824882765e-02 -2.794625635919e-02 -2.338239269891e-02 --1.874107261368e-02 -1.404688576745e-02 -9.324470868169e-03 -4.598390577902e-03 -1.069921939384e-04 4.767636005687e-03 9.359940012229e-03 1.386085992999e-02 -1.824802028030e-02 2.249982237581e-02 2.659554753943e-02 3.051545507277e-02 -3.424087452049e-02 3.775429180865e-02 4.103942886873e-02 4.408131639428e-02 -4.686635941380e-02 4.938239540193e-02 5.161874469013e-02 5.356625297829e-02 -5.521732578984e-02 5.656595475443e-02 5.760773564410e-02 5.833987813073e-02 -5.876120727474e-02 5.887215679612e-02 5.867475422040e-02 5.817259803202e-02 -5.737082700748e-02 5.627608193834e-02 5.489645999179e-02 5.324146199149e-02 -5.132193293559e-02 4.914999610088e-02 4.673898111185e-02 4.410334638202e-02 -4.125859636009e-02 3.822119403739e-02 3.500846919386e-02 3.163852287837e-02 -2.813012863500e-02 2.450263100010e-02 2.077584180546e-02 1.696993483036e-02 -1.310533935054e-02 9.202633133727e-03 5.282435431064e-03 1.365300510094e-03 --2.528387731342e-03 -6.378519539712e-03 -1.016536095001e-02 -1.386965279475e-02 --1.747270658959e-02 -2.095649682631e-02 -2.430374922523e-02 -2.749802452251e-02 --3.052379739318e-02 -3.336653013806e-02 -3.601274079175e-02 -3.845006533949e-02 --4.066731376263e-02 -4.265451966574e-02 -4.440298327273e-02 -4.590530761433e-02 --4.715542776550e-02 -4.814863302738e-02 -4.888158198534e-02 -4.935231041140e-02 --4.956023201614e-02 -4.950613209185e-02 -4.919215412463e-02 -4.862177948871e-02 --4.779980037128e-02 -4.673228610935e-02 -4.542654315340e-02 -4.389106890350e-02 --4.213549969391e-02 -4.017055323000e-02 -3.800796580869e-02 -3.566042467757e-02 --3.314149591151e-02 -3.046554820558e-02 -2.764767300241e-02 -2.470360138780e-02 --2.164961820300e-02 -1.850247383340e-02 -1.527929414273e-02 -1.199748902868e-02 --8.674660080023e-03 -5.328507817416e-03 -1.976738999011e-03 1.363025530750e-03 -4.673341976597e-03 7.937033247443e-03 1.113727667658e-02 1.425768936526e-02 -1.728241072262e-02 2.019618179192e-02 2.298442097176e-02 2.563329576201e-02 -2.812979018656e-02 3.046176756954e-02 3.261802836707e-02 3.458836278430e-02 -3.636359793551e-02 3.793563933481e-02 3.929750653531e-02 4.044336276610e-02 -4.136853844790e-02 4.206954850082e-02 4.254410339008e-02 4.279111388828e-02 -4.281068956538e-02 4.260413104987e-02 4.217391613683e-02 4.152367984956e-02 -4.065818859268e-02 3.958330856400e-02 3.830596862140e-02 3.683411782884e-02 -3.517667793149e-02 3.334349103529e-02 3.134526278934e-02 2.919350139147e-02 -2.690045275685e-02 2.447903220810e-02 2.194275306091e-02 1.930565249378e-02 -1.658221510205e-02 1.378729454669e-02 1.093603371569e-02 8.043783821492e-03 -5.126022861369e-03 2.198273868379e-03 -7.239766203473e-04 -3.625359454779e-03 --6.490702704869e-03 -9.305110025117e-03 -1.205403715055e-02 -1.472336613561e-02 --1.729947696126e-02 -1.976931615114e-02 -2.212046205516e-02 -2.434118647773e-02 --2.642051234892e-02 -2.834826715853e-02 -3.011513189675e-02 -3.171268526991e-02 --3.313344298513e-02 -3.437089192496e-02 -3.541951906013e-02 -3.627483497697e-02 --3.693339192456e-02 -3.739279631585e-02 -3.765171564597e-02 -3.770987982040e-02 --3.756807691478e-02 -3.722814341700e-02 -3.669294903069e-02 -3.596637614723e-02 --3.505329412068e-02 -3.395952850627e-02 -3.269182544887e-02 -3.125781143181e-02 --2.966594862004e-02 -2.792548605296e-02 -2.604640696311e-02 -2.403937251536e-02 --2.191566227883e-02 -1.968711175892e-02 -1.736604733100e-02 -1.496521892885e-02 --1.249773085105e-02 -9.976971056863e-03 -7.416539328725e-03 -4.830174683048e-03 --2.231682412867e-03 3.651388539954e-04 2.946569699445e-03 5.499041684479e-03 -8.009207971345e-03 1.046401243426e-02 1.285075690406e-02 1.515716620353e-02 -1.737145064347e-02 1.948236566420e-02 2.147926832383e-02 2.335217035218e-02 -2.509178750901e-02 2.668958500519e-02 2.813781876764e-02 2.942957235138e-02 -3.055878932574e-02 3.152030098634e-02 3.230984926954e-02 3.292410477172e-02 -3.336067980191e-02 3.361813642247e-02 3.369598945914e-02 3.359470448797e-02 -3.331569083327e-02 3.286128963623e-02 3.223475707978e-02 3.144024288008e-02 -3.048276417933e-02 2.936817499809e-02 2.810313142785e-02 2.669505276609e-02 -2.515207881646e-02 2.348302359571e-02 2.169732570689e-02 1.980499565455e-02 -1.781656039251e-02 1.574300540791e-02 1.359571465714e-02 1.138640867844e-02 -9.127081215007e-03 6.829934687878e-03 4.507314863059e-03 2.171645059743e-03 --1.646397525505e-04 -2.489158621023e-03 -4.789649696704e-03 -7.054034402038e-03 --9.270480345647e-03 -1.142746265903e-02 -1.351382343959e-02 -1.551882899580e-02 --1.743222460296e-02 -1.924428649260e-02 -2.094587081405e-02 -2.252845932386e-02 --2.398420157694e-02 -2.530595341261e-02 -2.648731154916e-02 -2.752264412166e-02 --2.840711701980e-02 -2.913671590534e-02 -2.970826381169e-02 -3.011943425206e-02 --3.036875978628e-02 -3.045563602065e-02 -3.038032103927e-02 -3.014393028902e-02 --2.974842696479e-02 -2.919660796421e-02 -2.849208550498e-02 -2.763926451953e-02 --2.664331596408e-02 -2.551014619974e-02 -2.424636262338e-02 -2.285923574506e-02 --2.135665792659e-02 -1.974709901245e-02 -1.803955909993e-02 -1.624351870902e-02 --1.436888662551e-02 -1.242594570173e-02 -1.042529690901e-02 -8.377801943820e-03 --6.294524696237e-03 -4.186671893672e-03 -2.065533236328e-03 5.757865807762e-05 -2.171388182888e-03 4.264716228960e-03 6.326538917132e-03 8.346045270086e-03 -1.031269352377e-02 1.221626578694e-02 1.404692076716e-02 1.579524429305e-02 -1.745229737510e-02 1.900966156133e-02 2.045948135957e-02 2.179450351406e-02 -2.300811294185e-02 2.409436515260e-02 2.504801499478e-02 2.586454159100e-02 -2.654016934616e-02 2.707188493284e-02 2.745745018038e-02 2.769541081551e-02 -2.778510102486e-02 2.772664383151e-02 2.752094730009e-02 2.716969660659e-02 -2.667534203104e-02 2.604108295212e-02 2.527084794387e-02 2.436927109463e-02 -2.334166468786e-02 2.219398840316e-02 2.093281521350e-02 1.956529417156e-02 -1.809911029351e-02 1.654244176341e-02 1.490391469431e-02 1.319255569457e-02 -1.141774249808e-02 9.589152926751e-03 7.716712461102e-03 5.810540701272e-03 -3.880897005497e-03 1.938125596396e-03 -7.399572885525e-06 -1.945329900438e-03 --3.865396874365e-03 -5.757466180610e-03 -7.611590896222e-03 -9.418063490354e-03 --1.116746636260e-02 -1.285072065697e-02 -1.445913309993e-02 -1.598444062221e-02 --1.741885253668e-02 -1.875509005845e-02 -1.998642296793e-02 -2.110670323363e-02 --2.211039542813e-02 -2.299260378803e-02 -2.374909578719e-02 -2.437632211141e-02 --2.487143294193e-02 -2.523229047513e-02 -2.545747762597e-02 -2.554630288297e-02 --2.549880130290e-02 -2.531573165410e-02 -2.499856973722e-02 -2.454949793267e-02 --2.397139104361e-02 -2.326779852261e-02 -2.244292318909e-02 -2.150159656267e-02 --2.044925095499e-02 -1.929188847931e-02 -1.803604715275e-02 -1.668876428104e-02 --1.525753732897e-02 -1.375028249270e-02 -1.217529120126e-02 -1.054118478466e-02 --8.856867555159e-03 -7.131478555480e-03 -5.374342234077e-03 -3.594918312353e-03 --1.802751111959e-03 -7.418612344024e-06 1.781518490851e-03 3.554567456869e-03 -5.302353633065e-03 7.015669786734e-03 8.685524377140e-03 1.030318851581e-02 -1.186024137101e-02 1.334861378130e-02 1.476062985342e-02 1.608904633122e-02 -1.732708953465e-02 1.846848968165e-02 1.950751242013e-02 2.043898741241e-02 -2.125833383099e-02 2.196158264097e-02 2.254539556209e-02 2.300708062121e-02 -2.334460422435e-02 2.355659969619e-02 2.364237225367e-02 2.360190039936e-02 -2.343583373928e-02 2.314548724879e-02 2.273283202876e-02 2.220048261284e-02 -2.155168090449e-02 2.079027684038e-02 1.992070589320e-02 1.894796354391e-02 -1.787757686857e-02 1.671557340007e-02 1.546844743863e-02 1.414312399816e-02 -1.274692058738e-02 1.128750703527e-02 9.772863580432e-03 8.211237451988e-03 -6.611098177252e-03 4.981091857210e-03 3.329994655553e-03 1.666665750399e-03 --1.322155203283e-13 -1.661119426622e-03 -3.307868200098e-03 -4.931527517535e-03 --6.523530075100e-03 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/model.ptg b/tests/09_DeePKS/100_NO_KP_deepks_UT/model.ptg deleted file mode 100644 index fe2e5dd45c..0000000000 Binary files a/tests/09_DeePKS/100_NO_KP_deepks_UT/model.ptg and /dev/null differ diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/o_delta_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/o_delta_ref.dat deleted file mode 100644 index 7f337802ae..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/o_delta_ref.dat +++ /dev/null @@ -1,9 +0,0 @@ -0.001222319536 -0.001222319536 -0.001222319536 -0.001222323867 -0.001222323867 -0.001222323867 -0.001222323867 -0.001222323867 -0.001222323867 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/orbpre_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/orbpre_ref.dat deleted file mode 100644 index 0b2883e4ac..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/orbpre_ref.dat +++ /dev/null @@ -1,27 +0,0 @@ -0.08688531996 0.08799162606 0.04882558148 0.01600800619 0.00360613522 0.0004414198891 2.951507472e-06 7.555803515e-05 0.0001298162467 0.0001171569005 7.625112641e-05 4.284335262e-05 1.976194274e-05 0.03908018116 0.07933922593 0.08157985193 0.04656513285 0.04440271924 0.0595658681 0.02120995735 0.02292505605 0.04879923019 0.01184647434 0.01218070772 0.03071772047 0.01003258231 0.01053525245 0.01912851911 0.005269887609 0.005615523712 0.01086151305 0.003531585048 0.00359250324 0.006571292269 0.00149069998 0.001569847318 0.003550427507 0.001100582954 0.00114545163 0.002061930448 0.0004304280142 0.0004530025107 0.001001315471 0.0003174953896 0.0003185233981 0.0005273392058 7.099255444e-05 7.531305033e-05 0.0001996033265 6.3290341e-05 6.495872415e-05 9.541837847e-05 3.0456698e-19 2.194244344e-19 8.412118165e-20 0.00510261001 0.01774950961 -5.227910255e-20 -1.157687343e-19 3.950535534e-20 0.001315991265 0.004588175155 -1.242459717e-23 -1.435749579e-22 -2.251889174e-22 1.102147214e-05 6.17172507e-05 3.584012137e-21 -1.11444346e-21 1.674360345e-21 7.867472988e-05 0.0002738805867 -3.510741451e-24 -1.942710205e-23 -1.64218262e-23 2.05880971e-08 1.217482649e-06 -5.776484904e-24 -2.738801632e-24 -1.913318339e-23 1.71913238e-07 8.416128576e-07 -8.476118966e-23 -3.978071804e-22 3.438335425e-22 3.809490994e-06 1.338599229e-05 -4.413137411e-23 -8.356131624e-23 1.219791131e-22 2.009566965e-06 7.400104804e-06 -1.718479207e-23 -2.442715137e-23 -5.652414101e-24 2.274754404e-07 8.742282563e-07 1.079219579e-23 -5.221123844e-23 -1.506904094e-24 4.300289312e-07 1.512197105e-06 9.445432412e-24 -1.391889414e-23 -1.249320207e-22 7.467698141e-07 2.610095281e-06 1.641073568e-24 2.24553005e-23 -8.990373082e-24 4.797065976e-07 1.729113146e-06 2.910188829e-24 5.624968208e-25 -1.76678677e-23 3.257447575e-07 1.132760837e-06 -0.08156307386 0.0655690876 0.01262816673 0.0003036237024 0.0005118297798 0.001219580843 0.0003769115182 2.81141933e-05 9.75437328e-06 4.664444765e-05 2.009155417e-05 7.407806314e-06 3.172533767e-06 0.02731203769 0.01565559429 0.06205397689 3.303237023e-05 0.001733287777 0.02447040133 4.03663247e-05 0.0001380074241 0.005207524499 8.778970202e-05 0.0001755947968 0.00115920224 1.232689604e-05 2.510940516e-05 0.001360540596 4.189208514e-06 4.768857924e-06 0.0001002257348 1.266194299e-06 2.040907896e-05 0.0001856616366 2.710518425e-06 5.149051867e-06 3.425147213e-05 7.576156632e-07 7.962252384e-06 8.607574056e-05 2.549291358e-07 2.353322522e-06 1.266794927e-05 8.198007502e-07 1.420850154e-06 1.098933482e-05 7.360173305e-07 2.369053004e-06 1.240127099e-05 4.192458088e-07 2.434019784e-06 1.163279725e-05 2.991947692e-19 4.405188021e-05 0.05080630389 0.02905454797 0.04782803761 9.97142288e-19 0.000114183542 0.001916108681 0.008411633143 0.02041905475 -5.039653159e-19 1.216499807e-06 6.89754653e-07 1.949873121e-05 0.00777118632 8.693814651e-21 4.361867335e-08 0.0002419729442 0.0005413410519 0.000560566732 1.116665801e-21 3.097855143e-07 2.685470398e-06 1.118999574e-05 0.001537235694 -4.272980834e-21 1.221901743e-06 1.014548685e-05 1.802185569e-05 5.330823996e-05 -6.775423982e-21 1.812021659e-07 1.614039117e-05 5.715917388e-05 0.0001402636381 -3.257773438e-21 9.856726609e-08 9.639949913e-06 3.30707981e-05 7.995560359e-05 -7.507433108e-22 1.609528919e-08 2.518106326e-07 9.945611806e-06 5.133668494e-05 -1.001197896e-22 4.056105739e-08 9.47830459e-07 6.479413053e-06 1.038479308e-05 2.85548319e-22 4.794554754e-10 1.045306708e-07 2.565938782e-06 1.399243296e-05 9.604860028e-22 4.440944726e-08 1.419388324e-06 7.620377959e-06 1.174582565e-05 -1.038831746e-22 3.2167106e-08 8.429784175e-07 2.907155959e-06 8.607907345e-06 -0.08140542038 0.0666897999 0.01417194426 0.0003973218496 0.0003107768909 0.001056578209 0.0004729039774 4.468714468e-05 7.628120781e-06 3.232286207e-05 2.245553198e-05 1.006591728e-05 3.328416219e-06 0.01651758077 0.02749667577 0.06419596665 7.178412406e-05 0.002315853591 0.02544526094 2.109702594e-05 8.707098638e-05 0.00622176063 0.0001060353702 0.0002137364639 0.0009166217597 4.264007555e-06 1.661726282e-05 0.001585992702 9.263964269e-07 5.470112635e-06 3.156253308e-05 2.968459078e-06 2.577070521e-05 0.0002003071348 4.817283622e-06 1.213308947e-05 5.006964074e-05 3.116040692e-07 7.141398124e-06 7.733944584e-05 2.916029608e-07 2.197318105e-06 1.244767174e-05 3.406012503e-07 9.563954441e-07 1.153847957e-05 6.20211425e-07 3.125890096e-06 1.486061902e-05 3.506659305e-07 1.893612526e-06 1.060239614e-05 4.933246868e-19 3.154183306e-06 0.02919790625 0.04612983668 0.05259944714 -7.841855742e-20 1.941402378e-06 0.002544227573 0.009996486075 0.02080052491 5.419803662e-21 4.303134088e-09 3.245821702e-05 0.0001214554809 0.008441473435 -2.60127309e-21 7.913732734e-11 0.000244528235 0.0005341670956 0.000850319238 -2.925991964e-21 1.24545436e-08 4.647614724e-06 1.943409192e-05 0.001346126612 -8.868557821e-22 1.694767817e-09 6.302237123e-06 1.967456339e-05 0.0001889657743 -2.307565941e-21 7.159545547e-10 2.377592603e-05 6.182501648e-05 8.583258375e-05 -1.885592006e-21 2.80783526e-10 6.117810073e-06 2.963383328e-05 0.0001334239481 -1.180655182e-13 3.639495805e-22 2.195757436e-08 8.788265172e-06 2.523145395e-05 -6.69647266e-23 2.915127231e-10 1.448700058e-06 9.188130337e-06 1.314355641e-05 7.573233853e-23 2.504431154e-10 1.668665067e-06 2.56444576e-06 1.453065421e-05 -1.207199964e-11 -1.346772435e-22 1.050882236e-06 7.426129507e-06 1.238245357e-05 -1.683800312e-22 7.174282935e-11 7.619349573e-07 1.391870305e-06 8.580455887e-06 -0.08688531996 0.08799162606 0.04882558148 0.01600800619 0.00360613522 0.0004414198891 2.951507472e-06 7.555803515e-05 0.0001298162467 0.0001171569005 7.625112641e-05 4.284335262e-05 1.976194274e-05 0.03908018116 0.07933922593 0.08157985193 0.04656513285 0.04440271924 0.0595658681 0.02120995735 0.02292505605 0.04879923019 0.01184647434 0.01218070772 0.03071772047 0.01003258231 0.01053525245 0.01912851911 0.005269887609 0.005615523712 0.01086151305 0.003531585048 0.00359250324 0.006571292269 0.00149069998 0.001569847318 0.003550427507 0.001100582954 0.00114545163 0.002061930448 0.0004304280142 0.0004530025107 0.001001315471 0.0003174953896 0.0003185233981 0.0005273392058 7.099255444e-05 7.531305033e-05 0.0001996033265 6.3290341e-05 6.495872415e-05 9.541837847e-05 3.0456698e-19 2.194244344e-19 8.412118165e-20 0.00510261001 0.01774950961 -5.227910255e-20 -1.157687343e-19 3.950535534e-20 0.001315991265 0.004588175155 -1.242459717e-23 -1.435749579e-22 -2.251889174e-22 1.102147214e-05 6.17172507e-05 3.584012137e-21 -1.11444346e-21 1.674360345e-21 7.867472988e-05 0.0002738805867 -3.510741451e-24 -1.942710205e-23 -1.64218262e-23 2.05880971e-08 1.217482649e-06 -5.776484904e-24 -2.738801632e-24 -1.913318339e-23 1.71913238e-07 8.416128576e-07 -8.476118966e-23 -3.978071804e-22 3.438335425e-22 3.809490994e-06 1.338599229e-05 -4.413137411e-23 -8.356131624e-23 1.219791131e-22 2.009566965e-06 7.400104804e-06 -1.718479207e-23 -2.442715137e-23 -5.652414101e-24 2.274754404e-07 8.742282563e-07 1.079219579e-23 -5.221123844e-23 -1.506904094e-24 4.300289312e-07 1.512197105e-06 9.445432412e-24 -1.391889414e-23 -1.249320207e-22 7.467698141e-07 2.610095281e-06 1.641073568e-24 2.24553005e-23 -8.990373082e-24 4.797065976e-07 1.729113146e-06 2.910188829e-24 5.624968208e-25 -1.76678677e-23 3.257447575e-07 1.132760837e-06 -0.08156307386 0.0655690876 0.01262816673 0.0003036237024 0.0005118297798 0.001219580843 0.0003769115182 2.81141933e-05 9.75437328e-06 4.664444765e-05 2.009155417e-05 7.407806314e-06 3.172533767e-06 0.02731203769 0.01565559429 0.06205397689 3.303237023e-05 0.001733287777 0.02447040133 4.03663247e-05 0.0001380074241 0.005207524499 8.778970202e-05 0.0001755947968 0.00115920224 1.232689604e-05 2.510940516e-05 0.001360540596 4.189208514e-06 4.768857924e-06 0.0001002257348 1.266194299e-06 2.040907896e-05 0.0001856616366 2.710518425e-06 5.149051867e-06 3.425147213e-05 7.576156632e-07 7.962252384e-06 8.607574056e-05 2.549291358e-07 2.353322522e-06 1.266794927e-05 8.198007502e-07 1.420850154e-06 1.098933482e-05 7.360173305e-07 2.369053004e-06 1.240127099e-05 4.192458088e-07 2.434019784e-06 1.163279725e-05 2.991947692e-19 4.405188021e-05 0.05080630389 0.02905454797 0.04782803761 9.97142288e-19 0.000114183542 0.001916108681 0.008411633143 0.02041905475 -5.039653159e-19 1.216499807e-06 6.89754653e-07 1.949873121e-05 0.00777118632 8.693814651e-21 4.361867335e-08 0.0002419729442 0.0005413410519 0.000560566732 1.116665801e-21 3.097855143e-07 2.685470398e-06 1.118999574e-05 0.001537235694 -4.272980834e-21 1.221901743e-06 1.014548685e-05 1.802185569e-05 5.330823996e-05 -6.775423982e-21 1.812021659e-07 1.614039117e-05 5.715917388e-05 0.0001402636381 -3.257773438e-21 9.856726609e-08 9.639949913e-06 3.30707981e-05 7.995560359e-05 -7.507433108e-22 1.609528919e-08 2.518106326e-07 9.945611806e-06 5.133668494e-05 -1.001197896e-22 4.056105739e-08 9.47830459e-07 6.479413053e-06 1.038479308e-05 2.85548319e-22 4.794554754e-10 1.045306708e-07 2.565938782e-06 1.399243296e-05 9.604860028e-22 4.440944726e-08 1.419388324e-06 7.620377959e-06 1.174582565e-05 -1.038831746e-22 3.2167106e-08 8.429784175e-07 2.907155959e-06 8.607907345e-06 -0.08140542038 0.0666897999 0.01417194426 0.0003973218496 0.0003107768909 0.001056578209 0.0004729039774 4.468714468e-05 7.628120781e-06 3.232286207e-05 2.245553198e-05 1.006591728e-05 3.328416219e-06 0.01651758077 0.02749667577 0.06419596665 7.178412406e-05 0.002315853591 0.02544526094 2.109702594e-05 8.707098638e-05 0.00622176063 0.0001060353702 0.0002137364639 0.0009166217597 4.264007555e-06 1.661726282e-05 0.001585992702 9.263964269e-07 5.470112635e-06 3.156253308e-05 2.968459078e-06 2.577070521e-05 0.0002003071348 4.817283622e-06 1.213308947e-05 5.006964074e-05 3.116040692e-07 7.141398124e-06 7.733944584e-05 2.916029608e-07 2.197318105e-06 1.244767174e-05 3.406012503e-07 9.563954441e-07 1.153847957e-05 6.20211425e-07 3.125890096e-06 1.486061902e-05 3.506659305e-07 1.893612526e-06 1.060239614e-05 4.933246868e-19 3.154183306e-06 0.02919790625 0.04612983668 0.05259944714 -7.841855742e-20 1.941402378e-06 0.002544227573 0.009996486075 0.02080052491 5.419803662e-21 4.303134088e-09 3.245821702e-05 0.0001214554809 0.008441473435 -2.60127309e-21 7.913732734e-11 0.000244528235 0.0005341670956 0.000850319238 -2.925991964e-21 1.24545436e-08 4.647614724e-06 1.943409192e-05 0.001346126612 -8.868557821e-22 1.694767817e-09 6.302237123e-06 1.967456339e-05 0.0001889657743 -2.307565941e-21 7.159545547e-10 2.377592603e-05 6.182501648e-05 8.583258375e-05 -1.885592006e-21 2.80783526e-10 6.117810073e-06 2.963383328e-05 0.0001334239481 -1.180655182e-13 3.639495805e-22 2.195757436e-08 8.788265172e-06 2.523145395e-05 -6.69647266e-23 2.915127231e-10 1.448700058e-06 9.188130337e-06 1.314355641e-05 7.573233853e-23 2.504431154e-10 1.668665067e-06 2.56444576e-06 1.453065421e-05 -1.207199964e-11 -1.346772435e-22 1.050882236e-06 7.426129507e-06 1.238245357e-05 -1.683800312e-22 7.174282935e-11 7.619349573e-07 1.391870305e-06 8.580455887e-06 -0.08688531996 0.08799162606 0.04882558148 0.01600800619 0.00360613522 0.0004414198891 2.951507472e-06 7.555803515e-05 0.0001298162467 0.0001171569005 7.625112641e-05 4.284335262e-05 1.976194274e-05 0.03908018116 0.07933922593 0.08157985193 0.04656513285 0.04440271924 0.0595658681 0.02120995735 0.02292505605 0.04879923019 0.01184647434 0.01218070772 0.03071772047 0.01003258231 0.01053525245 0.01912851911 0.005269887609 0.005615523712 0.01086151305 0.003531585048 0.00359250324 0.006571292269 0.00149069998 0.001569847318 0.003550427507 0.001100582954 0.00114545163 0.002061930448 0.0004304280142 0.0004530025107 0.001001315471 0.0003174953896 0.0003185233981 0.0005273392058 7.099255444e-05 7.531305033e-05 0.0001996033265 6.3290341e-05 6.495872415e-05 9.541837847e-05 3.0456698e-19 2.194244344e-19 8.412118165e-20 0.00510261001 0.01774950961 -5.227910255e-20 -1.157687343e-19 3.950535534e-20 0.001315991265 0.004588175155 -1.242459717e-23 -1.435749579e-22 -2.251889174e-22 1.102147214e-05 6.17172507e-05 3.584012137e-21 -1.11444346e-21 1.674360345e-21 7.867472988e-05 0.0002738805867 -3.510741451e-24 -1.942710205e-23 -1.64218262e-23 2.05880971e-08 1.217482649e-06 -5.776484904e-24 -2.738801632e-24 -1.913318339e-23 1.71913238e-07 8.416128576e-07 -8.476118966e-23 -3.978071804e-22 3.438335425e-22 3.809490994e-06 1.338599229e-05 -4.413137411e-23 -8.356131624e-23 1.219791131e-22 2.009566965e-06 7.400104804e-06 -1.718479207e-23 -2.442715137e-23 -5.652414101e-24 2.274754404e-07 8.742282563e-07 1.079219579e-23 -5.221123844e-23 -1.506904094e-24 4.300289312e-07 1.512197105e-06 9.445432412e-24 -1.391889414e-23 -1.249320207e-22 7.467698141e-07 2.610095281e-06 1.641073568e-24 2.24553005e-23 -8.990373082e-24 4.797065976e-07 1.729113146e-06 2.910188829e-24 5.624968208e-25 -1.76678677e-23 3.257447575e-07 1.132760837e-06 -0.08156307386 0.0655690876 0.01262816673 0.0003036237024 0.0005118297798 0.001219580843 0.0003769115182 2.81141933e-05 9.75437328e-06 4.664444765e-05 2.009155417e-05 7.407806314e-06 3.172533767e-06 0.02731203769 0.01565559429 0.06205397689 3.303237023e-05 0.001733287777 0.02447040133 4.03663247e-05 0.0001380074241 0.005207524499 8.778970202e-05 0.0001755947968 0.00115920224 1.232689604e-05 2.510940516e-05 0.001360540596 4.189208514e-06 4.768857924e-06 0.0001002257348 1.266194299e-06 2.040907896e-05 0.0001856616366 2.710518425e-06 5.149051867e-06 3.425147213e-05 7.576156632e-07 7.962252384e-06 8.607574056e-05 2.549291358e-07 2.353322522e-06 1.266794927e-05 8.198007502e-07 1.420850154e-06 1.098933482e-05 7.360173305e-07 2.369053004e-06 1.240127099e-05 4.192458088e-07 2.434019784e-06 1.163279725e-05 2.991947692e-19 4.405188021e-05 0.05080630389 0.02905454797 0.04782803761 9.97142288e-19 0.000114183542 0.001916108681 0.008411633143 0.02041905475 -5.039653159e-19 1.216499807e-06 6.89754653e-07 1.949873121e-05 0.00777118632 8.693814651e-21 4.361867335e-08 0.0002419729442 0.0005413410519 0.000560566732 1.116665801e-21 3.097855143e-07 2.685470398e-06 1.118999574e-05 0.001537235694 -4.272980834e-21 1.221901743e-06 1.014548685e-05 1.802185569e-05 5.330823996e-05 -6.775423982e-21 1.812021659e-07 1.614039117e-05 5.715917388e-05 0.0001402636381 -3.257773438e-21 9.856726609e-08 9.639949913e-06 3.30707981e-05 7.995560359e-05 -7.507433108e-22 1.609528919e-08 2.518106326e-07 9.945611806e-06 5.133668494e-05 -1.001197896e-22 4.056105739e-08 9.47830459e-07 6.479413053e-06 1.038479308e-05 2.85548319e-22 4.794554754e-10 1.045306708e-07 2.565938782e-06 1.399243296e-05 9.604860028e-22 4.440944726e-08 1.419388324e-06 7.620377959e-06 1.174582565e-05 -1.038831746e-22 3.2167106e-08 8.429784175e-07 2.907155959e-06 8.607907345e-06 -0.08140542038 0.0666897999 0.01417194426 0.0003973218496 0.0003107768909 0.001056578209 0.0004729039774 4.468714468e-05 7.628120781e-06 3.232286207e-05 2.245553198e-05 1.006591728e-05 3.328416219e-06 0.01651758077 0.02749667577 0.06419596665 7.178412406e-05 0.002315853591 0.02544526094 2.109702594e-05 8.707098638e-05 0.00622176063 0.0001060353702 0.0002137364639 0.0009166217597 4.264007555e-06 1.661726282e-05 0.001585992702 9.263964269e-07 5.470112635e-06 3.156253308e-05 2.968459078e-06 2.577070521e-05 0.0002003071348 4.817283622e-06 1.213308947e-05 5.006964074e-05 3.116040692e-07 7.141398124e-06 7.733944584e-05 2.916029608e-07 2.197318105e-06 1.244767174e-05 3.406012503e-07 9.563954441e-07 1.153847957e-05 6.20211425e-07 3.125890096e-06 1.486061902e-05 3.506659305e-07 1.893612526e-06 1.060239614e-05 4.933246868e-19 3.154183306e-06 0.02919790625 0.04612983668 0.05259944714 -7.841855742e-20 1.941402378e-06 0.002544227573 0.009996486075 0.02080052491 5.419803662e-21 4.303134088e-09 3.245821702e-05 0.0001214554809 0.008441473435 -2.60127309e-21 7.913732734e-11 0.000244528235 0.0005341670956 0.000850319238 -2.925991964e-21 1.24545436e-08 4.647614724e-06 1.943409192e-05 0.001346126612 -8.868557821e-22 1.694767817e-09 6.302237123e-06 1.967456339e-05 0.0001889657743 -2.307565941e-21 7.159545547e-10 2.377592603e-05 6.182501648e-05 8.583258375e-05 -1.885592006e-21 2.80783526e-10 6.117810073e-06 2.963383328e-05 0.0001334239481 -1.180655182e-13 3.639495805e-22 2.195757436e-08 8.788265172e-06 2.523145395e-05 -6.69647266e-23 2.915127231e-10 1.448700058e-06 9.188130337e-06 1.314355641e-05 7.573233853e-23 2.504431154e-10 1.668665067e-06 2.56444576e-06 1.453065421e-05 -1.207199964e-11 -1.346772435e-22 1.050882236e-06 7.426129507e-06 1.238245357e-05 -1.683800312e-22 7.174282935e-11 7.619349573e-07 1.391870305e-06 8.580455887e-06 -0.1023418294 0.08910863436 0.04774417212 0.01569268964 0.003730790874 0.0004398673016 3.621759123e-06 8.303343313e-05 0.0001251197703 0.0001208633046 7.355086619e-05 4.553979666e-05 1.877442773e-05 0.03907861894 0.02014270874 0.08056866187 0.02404653386 0.04439923305 0.05956586757 0.02148836974 0.02541408095 0.04879923024 0.01205001664 0.01730030485 0.03071772056 0.009159545751 0.01048004599 0.0191285191 0.005220927572 0.00557604825 0.01086151304 0.003102307883 0.003554059833 0.00657129226 0.001516172487 0.001901455934 0.003550427513 0.0009801196945 0.001139342951 0.002061930446 0.0004381724152 0.0005310831036 0.001001315473 0.0002378950965 0.0003179262915 0.0005273392043 7.207321032e-05 0.0001149570281 0.0001996033272 4.125082566e-05 6.495366098e-05 9.541837803e-05 -4.19694062e-19 1.39828819e-19 -9.551721145e-20 0.005812932105 0.01566546912 3.641922935e-20 -7.473458743e-20 8.242033456e-20 0.001498625448 0.004050853375 8.600468844e-22 1.148196339e-22 1.931562603e-22 1.195300178e-05 5.702926419e-05 2.719846087e-21 -2.52715105e-21 -4.979747187e-22 8.96155963e-05 0.0002417510533 -3.803754678e-24 -4.376077851e-23 -1.281222249e-23 2.020623975e-08 1.240636977e-06 -3.528406839e-24 -5.124529916e-24 -1.422015545e-23 1.883056634e-07 7.704148801e-07 -7.640336853e-23 -4.036564346e-22 5.847496224e-22 4.332690791e-06 1.183210122e-05 -1.047510336e-22 -9.906275873e-24 2.430837323e-23 2.269461802e-06 6.583820072e-06 5.212132425e-24 -2.168808854e-23 -8.292954826e-24 2.5541278e-07 7.819683218e-07 -7.991434801e-24 -4.625252645e-24 -1.962468774e-23 4.890306874e-07 1.33680417e-06 1.683301536e-23 -2.036763071e-23 -1.607922395e-22 8.500618248e-07 2.305286353e-06 -1.326453156e-23 -2.71976168e-24 -2.196288603e-23 5.434412048e-07 1.533953357e-06 4.774530064e-24 1.597563877e-23 2.437687512e-23 3.71109625e-07 9.997125722e-07 -0.09098301696 0.06307717589 0.01270908851 0.0003027144006 0.0005268359081 0.001190444683 0.0003967625992 2.453892021e-05 1.216596892e-05 4.45918963e-05 2.269480219e-05 6.751004497e-06 3.70629213e-06 0.007429705999 0.0156555766 0.06764728514 0.002216093924 0.001733288817 0.02288107558 8.762244767e-05 0.0001380074251 0.00521247636 8.635248394e-05 0.0001755947968 0.001159980845 1.232653474e-05 6.365345083e-06 0.001344277342 4.189208666e-06 1.808705682e-05 9.608919586e-05 1.266194283e-06 1.117560593e-05 0.0001991769255 2.6502377e-06 5.14905174e-06 1.829564389e-05 7.57615654e-07 4.230476155e-06 8.225893455e-05 2.549291338e-07 1.530547456e-06 1.264849014e-05 8.19800555e-07 9.239899889e-07 8.846096158e-06 7.360173227e-07 1.431793244e-06 9.491174404e-06 4.192458047e-07 1.460815725e-06 1.005762613e-05 6.288330094e-20 0.001626349903 0.01288823987 0.02905452607 0.05006714038 1.48910211e-18 5.251024686e-05 0.005844170855 0.008411633173 0.01997120867 -3.842938117e-19 3.266447957e-07 2.170060956e-05 1.949873357e-05 0.007755815627 -1.114517171e-21 4.011294147e-08 0.0002643014879 0.0005413410525 0.0005593832706 3.659016875e-20 1.647440387e-07 2.685470428e-06 2.543979338e-05 0.001524710344 -1.843270809e-21 5.103623238e-07 1.0145487e-05 4.073274757e-05 7.061478459e-05 -9.913838476e-22 1.491420235e-06 1.614038982e-05 1.787734233e-05 0.0001439644424 1.463307227e-21 8.830015414e-07 9.63994939e-06 1.087342298e-05 7.62791521e-05 1.133185746e-21 2.296520432e-08 2.518106313e-07 7.331314038e-06 5.06407804e-05 -3.481951971e-22 8.982179696e-08 9.478304428e-07 4.064284215e-06 8.755341262e-06 -8.094653206e-23 4.820177473e-10 3.881687474e-07 2.565938724e-06 5.742537214e-06 5.661155243e-22 1.362148527e-07 1.419388303e-06 4.338382222e-06 9.09865065e-06 5.765414349e-23 7.789901801e-08 8.429784087e-07 2.453079421e-06 5.117723228e-06 -0.06530441792 0.01910639502 0.009693389368 0.005840420753 0.002100382032 0.0002870081794 0.0001661508823 8.775742353e-05 0.0001286844404 1.46226059e-05 1.264010641e-05 5.257859834e-06 1.129177375e-05 0.01651758077 0.02749667577 0.06419596665 7.178412406e-05 0.002315853591 0.02544526094 2.109702594e-05 8.707098638e-05 0.00622176063 0.0001060353702 0.0002137364639 0.0009166217597 4.264007555e-06 1.661726282e-05 0.001585992702 9.263964269e-07 5.470112635e-06 3.156253308e-05 2.968459078e-06 2.577070521e-05 0.0002003071348 4.817283622e-06 1.213308947e-05 5.006964074e-05 3.116040692e-07 7.141398124e-06 7.733944584e-05 2.916029608e-07 2.197318105e-06 1.244767174e-05 3.406012503e-07 9.563954441e-07 1.153847957e-05 6.20211425e-07 3.125890096e-06 1.486061902e-05 3.506659305e-07 1.893612526e-06 1.060239614e-05 4.933246868e-19 3.154183306e-06 0.02919790625 0.04612983668 0.05259944714 -7.841855742e-20 1.941402378e-06 0.002544227573 0.009996486075 0.02080052491 5.419803662e-21 4.303134088e-09 3.245821702e-05 0.0001214554809 0.008441473435 -2.60127309e-21 7.913732734e-11 0.000244528235 0.0005341670956 0.000850319238 -2.925991964e-21 1.24545436e-08 4.647614724e-06 1.943409192e-05 0.001346126612 -8.868557821e-22 1.694767817e-09 6.302237123e-06 1.967456339e-05 0.0001889657743 -2.307565941e-21 7.159545547e-10 2.377592603e-05 6.182501648e-05 8.583258375e-05 -1.885592006e-21 2.80783526e-10 6.117810073e-06 2.963383328e-05 0.0001334239481 -1.180655182e-13 3.639495805e-22 2.195757436e-08 8.788265172e-06 2.523145395e-05 -6.69647266e-23 2.915127231e-10 1.448700058e-06 9.188130337e-06 1.314355641e-05 7.573233853e-23 2.504431154e-10 1.668665067e-06 2.56444576e-06 1.453065421e-05 -1.207199964e-11 -1.346772435e-22 1.050882236e-06 7.426129507e-06 1.238245357e-05 -1.683800312e-22 7.174282935e-11 7.619349573e-07 1.391870305e-06 8.580455887e-06 -0.1023418294 0.08910863436 0.04774417212 0.01569268964 0.003730790874 0.0004398673016 3.621759123e-06 8.303343313e-05 0.0001251197703 0.0001208633046 7.355086619e-05 4.553979666e-05 1.877442773e-05 0.03907861894 0.02014270874 0.08056866187 0.02404653386 0.04439923305 0.05956586757 0.02148836974 0.02541408095 0.04879923024 0.01205001664 0.01730030485 0.03071772056 0.009159545751 0.01048004599 0.0191285191 0.005220927572 0.00557604825 0.01086151304 0.003102307883 0.003554059833 0.00657129226 0.001516172487 0.001901455934 0.003550427513 0.0009801196945 0.001139342951 0.002061930446 0.0004381724152 0.0005310831036 0.001001315473 0.0002378950965 0.0003179262915 0.0005273392043 7.207321032e-05 0.0001149570281 0.0001996033272 4.125082566e-05 6.495366098e-05 9.541837803e-05 -4.19694062e-19 1.39828819e-19 -9.551721145e-20 0.005812932105 0.01566546912 3.641922935e-20 -7.473458743e-20 8.242033456e-20 0.001498625448 0.004050853375 8.600468844e-22 1.148196339e-22 1.931562603e-22 1.195300178e-05 5.702926419e-05 2.719846087e-21 -2.52715105e-21 -4.979747187e-22 8.96155963e-05 0.0002417510533 -3.803754678e-24 -4.376077851e-23 -1.281222249e-23 2.020623975e-08 1.240636977e-06 -3.528406839e-24 -5.124529916e-24 -1.422015545e-23 1.883056634e-07 7.704148801e-07 -7.640336853e-23 -4.036564346e-22 5.847496224e-22 4.332690791e-06 1.183210122e-05 -1.047510336e-22 -9.906275873e-24 2.430837323e-23 2.269461802e-06 6.583820072e-06 5.212132425e-24 -2.168808854e-23 -8.292954826e-24 2.5541278e-07 7.819683218e-07 -7.991434801e-24 -4.625252645e-24 -1.962468774e-23 4.890306874e-07 1.33680417e-06 1.683301536e-23 -2.036763071e-23 -1.607922395e-22 8.500618248e-07 2.305286353e-06 -1.326453156e-23 -2.71976168e-24 -2.196288603e-23 5.434412048e-07 1.533953357e-06 4.774530064e-24 1.597563877e-23 2.437687512e-23 3.71109625e-07 9.997125722e-07 -0.09098301696 0.06307717589 0.01270908851 0.0003027144006 0.0005268359081 0.001190444683 0.0003967625992 2.453892021e-05 1.216596892e-05 4.45918963e-05 2.269480219e-05 6.751004497e-06 3.70629213e-06 0.007429705999 0.0156555766 0.06764728514 0.002216093924 0.001733288817 0.02288107558 8.762244767e-05 0.0001380074251 0.00521247636 8.635248394e-05 0.0001755947968 0.001159980845 1.232653474e-05 6.365345083e-06 0.001344277342 4.189208666e-06 1.808705682e-05 9.608919586e-05 1.266194283e-06 1.117560593e-05 0.0001991769255 2.6502377e-06 5.14905174e-06 1.829564389e-05 7.57615654e-07 4.230476155e-06 8.225893455e-05 2.549291338e-07 1.530547456e-06 1.264849014e-05 8.19800555e-07 9.239899889e-07 8.846096158e-06 7.360173227e-07 1.431793244e-06 9.491174404e-06 4.192458047e-07 1.460815725e-06 1.005762613e-05 6.288330094e-20 0.001626349903 0.01288823987 0.02905452607 0.05006714038 1.48910211e-18 5.251024686e-05 0.005844170855 0.008411633173 0.01997120867 -3.842938117e-19 3.266447957e-07 2.170060956e-05 1.949873357e-05 0.007755815627 -1.114517171e-21 4.011294147e-08 0.0002643014879 0.0005413410525 0.0005593832706 3.659016875e-20 1.647440387e-07 2.685470428e-06 2.543979338e-05 0.001524710344 -1.843270809e-21 5.103623238e-07 1.0145487e-05 4.073274757e-05 7.061478459e-05 -9.913838476e-22 1.491420235e-06 1.614038982e-05 1.787734233e-05 0.0001439644424 1.463307227e-21 8.830015414e-07 9.63994939e-06 1.087342298e-05 7.62791521e-05 1.133185746e-21 2.296520432e-08 2.518106313e-07 7.331314038e-06 5.06407804e-05 -3.481951971e-22 8.982179696e-08 9.478304428e-07 4.064284215e-06 8.755341262e-06 -8.094653206e-23 4.820177473e-10 3.881687474e-07 2.565938724e-06 5.742537214e-06 5.661155243e-22 1.362148527e-07 1.419388303e-06 4.338382222e-06 9.09865065e-06 5.765414349e-23 7.789901801e-08 8.429784087e-07 2.453079421e-06 5.117723228e-06 -0.06530441792 0.01910639502 0.009693389368 0.005840420753 0.002100382032 0.0002870081794 0.0001661508823 8.775742353e-05 0.0001286844404 1.46226059e-05 1.264010641e-05 5.257859834e-06 1.129177375e-05 0.01651758077 0.02749667577 0.06419596665 7.178412406e-05 0.002315853591 0.02544526094 2.109702594e-05 8.707098638e-05 0.00622176063 0.0001060353702 0.0002137364639 0.0009166217597 4.264007555e-06 1.661726282e-05 0.001585992702 9.263964269e-07 5.470112635e-06 3.156253308e-05 2.968459078e-06 2.577070521e-05 0.0002003071348 4.817283622e-06 1.213308947e-05 5.006964074e-05 3.116040692e-07 7.141398124e-06 7.733944584e-05 2.916029608e-07 2.197318105e-06 1.244767174e-05 3.406012503e-07 9.563954441e-07 1.153847957e-05 6.20211425e-07 3.125890096e-06 1.486061902e-05 3.506659305e-07 1.893612526e-06 1.060239614e-05 4.933246868e-19 3.154183306e-06 0.02919790625 0.04612983668 0.05259944714 -7.841855742e-20 1.941402378e-06 0.002544227573 0.009996486075 0.02080052491 5.419803662e-21 4.303134088e-09 3.245821702e-05 0.0001214554809 0.008441473435 -2.60127309e-21 7.913732734e-11 0.000244528235 0.0005341670956 0.000850319238 -2.925991964e-21 1.24545436e-08 4.647614724e-06 1.943409192e-05 0.001346126612 -8.868557821e-22 1.694767817e-09 6.302237123e-06 1.967456339e-05 0.0001889657743 -2.307565941e-21 7.159545547e-10 2.377592603e-05 6.182501648e-05 8.583258375e-05 -1.885592006e-21 2.80783526e-10 6.117810073e-06 2.963383328e-05 0.0001334239481 -1.180655182e-13 3.639495805e-22 2.195757436e-08 8.788265172e-06 2.523145395e-05 -6.69647266e-23 2.915127231e-10 1.448700058e-06 9.188130337e-06 1.314355641e-05 7.573233853e-23 2.504431154e-10 1.668665067e-06 2.56444576e-06 1.453065421e-05 -1.207199964e-11 -1.346772435e-22 1.050882236e-06 7.426129507e-06 1.238245357e-05 -1.683800312e-22 7.174282935e-11 7.619349573e-07 1.391870305e-06 8.580455887e-06 -0.1023418294 0.08910863436 0.04774417212 0.01569268964 0.003730790874 0.0004398673016 3.621759123e-06 8.303343313e-05 0.0001251197703 0.0001208633046 7.355086619e-05 4.553979666e-05 1.877442773e-05 0.03907861894 0.02014270874 0.08056866187 0.02404653386 0.04439923305 0.05956586757 0.02148836974 0.02541408095 0.04879923024 0.01205001664 0.01730030485 0.03071772056 0.009159545751 0.01048004599 0.0191285191 0.005220927572 0.00557604825 0.01086151304 0.003102307883 0.003554059833 0.00657129226 0.001516172487 0.001901455934 0.003550427513 0.0009801196945 0.001139342951 0.002061930446 0.0004381724152 0.0005310831036 0.001001315473 0.0002378950965 0.0003179262915 0.0005273392043 7.207321032e-05 0.0001149570281 0.0001996033272 4.125082566e-05 6.495366098e-05 9.541837803e-05 -4.19694062e-19 1.39828819e-19 -9.551721145e-20 0.005812932105 0.01566546912 3.641922935e-20 -7.473458743e-20 8.242033456e-20 0.001498625448 0.004050853375 8.600468844e-22 1.148196339e-22 1.931562603e-22 1.195300178e-05 5.702926419e-05 2.719846087e-21 -2.52715105e-21 -4.979747187e-22 8.96155963e-05 0.0002417510533 -3.803754678e-24 -4.376077851e-23 -1.281222249e-23 2.020623975e-08 1.240636977e-06 -3.528406839e-24 -5.124529916e-24 -1.422015545e-23 1.883056634e-07 7.704148801e-07 -7.640336853e-23 -4.036564346e-22 5.847496224e-22 4.332690791e-06 1.183210122e-05 -1.047510336e-22 -9.906275873e-24 2.430837323e-23 2.269461802e-06 6.583820072e-06 5.212132425e-24 -2.168808854e-23 -8.292954826e-24 2.5541278e-07 7.819683218e-07 -7.991434801e-24 -4.625252645e-24 -1.962468774e-23 4.890306874e-07 1.33680417e-06 1.683301536e-23 -2.036763071e-23 -1.607922395e-22 8.500618248e-07 2.305286353e-06 -1.326453156e-23 -2.71976168e-24 -2.196288603e-23 5.434412048e-07 1.533953357e-06 4.774530064e-24 1.597563877e-23 2.437687512e-23 3.71109625e-07 9.997125722e-07 -0.09098301696 0.06307717589 0.01270908851 0.0003027144006 0.0005268359081 0.001190444683 0.0003967625992 2.453892021e-05 1.216596892e-05 4.45918963e-05 2.269480219e-05 6.751004497e-06 3.70629213e-06 0.007429705999 0.0156555766 0.06764728514 0.002216093924 0.001733288817 0.02288107558 8.762244767e-05 0.0001380074251 0.00521247636 8.635248394e-05 0.0001755947968 0.001159980845 1.232653474e-05 6.365345083e-06 0.001344277342 4.189208666e-06 1.808705682e-05 9.608919586e-05 1.266194283e-06 1.117560593e-05 0.0001991769255 2.6502377e-06 5.14905174e-06 1.829564389e-05 7.57615654e-07 4.230476155e-06 8.225893455e-05 2.549291338e-07 1.530547456e-06 1.264849014e-05 8.19800555e-07 9.239899889e-07 8.846096158e-06 7.360173227e-07 1.431793244e-06 9.491174404e-06 4.192458047e-07 1.460815725e-06 1.005762613e-05 6.288330094e-20 0.001626349903 0.01288823987 0.02905452607 0.05006714038 1.48910211e-18 5.251024686e-05 0.005844170855 0.008411633173 0.01997120867 -3.842938117e-19 3.266447957e-07 2.170060956e-05 1.949873357e-05 0.007755815627 -1.114517171e-21 4.011294147e-08 0.0002643014879 0.0005413410525 0.0005593832706 3.659016875e-20 1.647440387e-07 2.685470428e-06 2.543979338e-05 0.001524710344 -1.843270809e-21 5.103623238e-07 1.0145487e-05 4.073274757e-05 7.061478459e-05 -9.913838476e-22 1.491420235e-06 1.614038982e-05 1.787734233e-05 0.0001439644424 1.463307227e-21 8.830015414e-07 9.63994939e-06 1.087342298e-05 7.62791521e-05 1.133185746e-21 2.296520432e-08 2.518106313e-07 7.331314038e-06 5.06407804e-05 -3.481951971e-22 8.982179696e-08 9.478304428e-07 4.064284215e-06 8.755341262e-06 -8.094653206e-23 4.820177473e-10 3.881687474e-07 2.565938724e-06 5.742537214e-06 5.661155243e-22 1.362148527e-07 1.419388303e-06 4.338382222e-06 9.09865065e-06 5.765414349e-23 7.789901801e-08 8.429784087e-07 2.453079421e-06 5.117723228e-06 -0.06530441792 0.01910639502 0.009693389368 0.005840420753 0.002100382032 0.0002870081794 0.0001661508823 8.775742353e-05 0.0001286844404 1.46226059e-05 1.264010641e-05 5.257859834e-06 1.129177375e-05 0.01651758077 0.02749667577 0.06419596665 7.178412406e-05 0.002315853591 0.02544526094 2.109702594e-05 8.707098638e-05 0.00622176063 0.0001060353702 0.0002137364639 0.0009166217597 4.264007555e-06 1.661726282e-05 0.001585992702 9.263964269e-07 5.470112635e-06 3.156253308e-05 2.968459078e-06 2.577070521e-05 0.0002003071348 4.817283622e-06 1.213308947e-05 5.006964074e-05 3.116040692e-07 7.141398124e-06 7.733944584e-05 2.916029608e-07 2.197318105e-06 1.244767174e-05 3.406012503e-07 9.563954441e-07 1.153847957e-05 6.20211425e-07 3.125890096e-06 1.486061902e-05 3.506659305e-07 1.893612526e-06 1.060239614e-05 4.933246868e-19 3.154183306e-06 0.02919790625 0.04612983668 0.05259944714 -7.841855742e-20 1.941402378e-06 0.002544227573 0.009996486075 0.02080052491 5.419803662e-21 4.303134088e-09 3.245821702e-05 0.0001214554809 0.008441473435 -2.60127309e-21 7.913732734e-11 0.000244528235 0.0005341670956 0.000850319238 -2.925991964e-21 1.24545436e-08 4.647614724e-06 1.943409192e-05 0.001346126612 -8.868557821e-22 1.694767817e-09 6.302237123e-06 1.967456339e-05 0.0001889657743 -2.307565941e-21 7.159545547e-10 2.377592603e-05 6.182501648e-05 8.583258375e-05 -1.885592006e-21 2.80783526e-10 6.117810073e-06 2.963383328e-05 0.0001334239481 -1.180655182e-13 3.639495805e-22 2.195757436e-08 8.788265172e-06 2.523145395e-05 -6.69647266e-23 2.915127231e-10 1.448700058e-06 9.188130337e-06 1.314355641e-05 7.573233853e-23 2.504431154e-10 1.668665067e-06 2.56444576e-06 1.453065421e-05 -1.207199964e-11 -1.346772435e-22 1.050882236e-06 7.426129507e-06 1.238245357e-05 -1.683800312e-22 7.174282935e-11 7.619349573e-07 1.391870305e-06 8.580455887e-06 -0.1023418294 0.08910863436 0.04774417212 0.01569268964 0.003730790874 0.0004398673016 3.621759123e-06 8.303343313e-05 0.0001251197703 0.0001208633046 7.355086619e-05 4.553979666e-05 1.877442773e-05 0.03907861894 0.02014270874 0.08056866187 0.02404653386 0.04439923305 0.05956586757 0.02148836974 0.02541408095 0.04879923024 0.01205001664 0.01730030485 0.03071772056 0.009159545751 0.01048004599 0.0191285191 0.005220927572 0.00557604825 0.01086151304 0.003102307883 0.003554059833 0.00657129226 0.001516172487 0.001901455934 0.003550427513 0.0009801196945 0.001139342951 0.002061930446 0.0004381724152 0.0005310831036 0.001001315473 0.0002378950965 0.0003179262915 0.0005273392043 7.207321032e-05 0.0001149570281 0.0001996033272 4.125082566e-05 6.495366098e-05 9.541837803e-05 -2.028536275e-19 1.785607463e-20 -4.130710283e-20 0.005812932105 0.01566546912 -1.779087927e-20 -8.48989828e-20 1.366304432e-19 0.001498625448 0.004050853375 9.242327599e-23 1.148196339e-22 4.049144971e-22 1.195300178e-05 5.702926419e-05 -4.056417491e-21 -2.52715105e-21 1.196091176e-21 8.96155963e-05 0.0002417510533 -3.023128278e-24 -4.605017619e-23 -1.286403936e-23 2.020623975e-08 1.240636977e-06 -3.528406839e-24 -4.297349303e-24 -1.422015545e-23 1.883056634e-07 7.704148801e-07 -2.677253178e-23 -1.918981978e-22 5.847496224e-22 4.332690791e-06 1.183210122e-05 -2.10630152e-22 -5.002453558e-23 -8.77885127e-24 2.269461802e-06 6.583820072e-06 5.212132425e-24 1.801658086e-23 -1.491039973e-23 2.5541278e-07 7.819683218e-07 -7.991434801e-24 2.184452696e-23 -8.04415916e-24 4.890306874e-07 1.33680417e-06 -1.285619657e-23 -1.963719099e-23 -1.104829721e-22 8.500618248e-07 2.305286353e-06 -2.964176146e-26 -1.595465148e-23 -4.843266564e-23 5.434412048e-07 1.533953357e-06 5.601710677e-24 1.266691632e-23 2.437687512e-23 3.71109625e-07 9.997125722e-07 -0.09098301696 0.06307717589 0.01270908851 0.0003027144006 0.0005268359081 0.001190444683 0.0003967625992 2.453892021e-05 1.216596892e-05 4.45918963e-05 2.269480219e-05 6.751004497e-06 3.70629213e-06 0.007429705999 0.0156555766 0.06764728514 0.002216093924 0.001733288817 0.02288107558 8.762244767e-05 0.0001380074251 0.00521247636 8.635248394e-05 0.0001755947968 0.001159980845 1.232653474e-05 6.365345083e-06 0.001344277342 4.189208666e-06 1.808705682e-05 9.608919586e-05 1.266194283e-06 1.117560593e-05 0.0001991769255 2.6502377e-06 5.14905174e-06 1.829564389e-05 7.57615654e-07 4.230476155e-06 8.225893455e-05 2.549291338e-07 1.530547456e-06 1.264849014e-05 8.19800555e-07 9.239899889e-07 8.846096158e-06 7.360173227e-07 1.431793244e-06 9.491174404e-06 4.192458047e-07 1.460815725e-06 1.005762613e-05 -3.740725607e-19 0.001626349903 0.01288823987 0.02905452607 0.05006714038 1.48910211e-18 5.251024686e-05 0.005844170855 0.008411633173 0.01997120867 -3.842938117e-19 3.266447957e-07 2.170060956e-05 1.949873357e-05 0.007755815627 -1.114517171e-21 4.011294147e-08 0.0002643014879 0.0005413410525 0.0005593832706 9.485114437e-21 1.647440387e-07 2.685470428e-06 2.543979338e-05 0.001524710344 -1.422952571e-21 5.103623238e-07 1.0145487e-05 4.073274757e-05 7.061478459e-05 1.556111464e-21 1.491420235e-06 1.614038982e-05 1.787734233e-05 0.0001439644424 3.157373122e-21 8.830015414e-07 9.63994939e-06 1.087342298e-05 7.62791521e-05 2.861527986e-22 2.296520432e-08 2.518106313e-07 7.331314038e-06 5.06407804e-05 -1.364369603e-22 8.982179696e-08 9.478304428e-07 4.064284215e-06 8.755341262e-06 1.179764139e-23 4.820177473e-10 3.881687474e-07 2.565938724e-06 5.742537214e-06 5.661155243e-22 1.362148527e-07 1.419388303e-06 4.338382222e-06 9.09865065e-06 -4.822497492e-23 7.789901801e-08 8.429784087e-07 2.453079421e-06 5.117723228e-06 -0.06530441792 0.01910639502 0.009693389368 0.005840420753 0.002100382032 0.0002870081794 0.0001661508823 8.775742353e-05 0.0001286844404 1.46226059e-05 1.264010641e-05 5.257859834e-06 1.129177375e-05 0.01651758077 0.02749667577 0.06419596665 7.178412406e-05 0.002315853591 0.02544526094 2.109702594e-05 8.707098638e-05 0.00622176063 0.0001060353702 0.0002137364639 0.0009166217597 4.264007555e-06 1.661726282e-05 0.001585992702 9.263964269e-07 5.470112635e-06 3.156253308e-05 2.968459078e-06 2.577070521e-05 0.0002003071348 4.817283622e-06 1.213308947e-05 5.006964074e-05 3.116040692e-07 7.141398124e-06 7.733944584e-05 2.916029608e-07 2.197318105e-06 1.244767174e-05 3.406012503e-07 9.563954441e-07 1.153847957e-05 6.20211425e-07 3.125890096e-06 1.486061902e-05 3.506659305e-07 1.893612526e-06 1.060239614e-05 4.933246868e-19 3.154183306e-06 0.02919790625 0.04612983668 0.05259944714 -7.841855742e-20 1.941402378e-06 0.002544227573 0.009996486075 0.02080052491 5.419803662e-21 4.303134088e-09 3.245821702e-05 0.0001214554809 0.008441473435 -2.60127309e-21 7.913732734e-11 0.000244528235 0.0005341670956 0.000850319238 -2.925991964e-21 1.24545436e-08 4.647614724e-06 1.943409192e-05 0.001346126612 -8.868557821e-22 1.694767817e-09 6.302237123e-06 1.967456339e-05 0.0001889657743 -2.307565941e-21 7.159545547e-10 2.377592603e-05 6.182501648e-05 8.583258375e-05 -1.885592006e-21 2.80783526e-10 6.117810073e-06 2.963383328e-05 0.0001334239481 -1.180655182e-13 3.639495805e-22 2.195757436e-08 8.788265172e-06 2.523145395e-05 -6.69647266e-23 2.915127231e-10 1.448700058e-06 9.188130337e-06 1.314355641e-05 7.573233853e-23 2.504431154e-10 1.668665067e-06 2.56444576e-06 1.453065421e-05 -1.207199964e-11 -1.346772435e-22 1.050882236e-06 7.426129507e-06 1.238245357e-05 -1.683800312e-22 7.174282935e-11 7.619349573e-07 1.391870305e-06 8.580455887e-06 -0.1023418294 0.08910863436 0.04774417212 0.01569268964 0.003730790874 0.0004398673016 3.621759123e-06 8.303343313e-05 0.0001251197703 0.0001208633046 7.355086619e-05 4.553979666e-05 1.877442773e-05 0.03907861894 0.02014270874 0.08056866187 0.02404653386 0.04439923305 0.05956586757 0.02148836974 0.02541408095 0.04879923024 0.01205001664 0.01730030485 0.03071772056 0.009159545751 0.01048004599 0.0191285191 0.005220927572 0.00557604825 0.01086151304 0.003102307883 0.003554059833 0.00657129226 0.001516172487 0.001901455934 0.003550427513 0.0009801196945 0.001139342951 0.002061930446 0.0004381724152 0.0005310831036 0.001001315473 0.0002378950965 0.0003179262915 0.0005273392043 7.207321032e-05 0.0001149570281 0.0001996033272 4.125082566e-05 6.495366098e-05 9.541837803e-05 -2.028536275e-19 1.785607463e-20 -4.130710283e-20 0.005812932105 0.01566546912 -1.779087927e-20 -8.48989828e-20 1.366304432e-19 0.001498625448 0.004050853375 9.242327599e-23 1.148196339e-22 4.049144971e-22 1.195300178e-05 5.702926419e-05 -4.056417491e-21 -2.52715105e-21 1.196091176e-21 8.96155963e-05 0.0002417510533 -3.023128278e-24 -4.605017619e-23 -1.286403936e-23 2.020623975e-08 1.240636977e-06 -3.528406839e-24 -4.297349303e-24 -1.422015545e-23 1.883056634e-07 7.704148801e-07 -2.677253178e-23 -1.918981978e-22 5.847496224e-22 4.332690791e-06 1.183210122e-05 -2.10630152e-22 -5.002453558e-23 -8.77885127e-24 2.269461802e-06 6.583820072e-06 5.212132425e-24 1.801658086e-23 -1.491039973e-23 2.5541278e-07 7.819683218e-07 -7.991434801e-24 2.184452696e-23 -8.04415916e-24 4.890306874e-07 1.33680417e-06 -1.285619657e-23 -1.963719099e-23 -1.104829721e-22 8.500618248e-07 2.305286353e-06 -2.964176146e-26 -1.595465148e-23 -4.843266564e-23 5.434412048e-07 1.533953357e-06 5.601710677e-24 1.266691632e-23 2.437687512e-23 3.71109625e-07 9.997125722e-07 -0.09098301696 0.06307717589 0.01270908851 0.0003027144006 0.0005268359081 0.001190444683 0.0003967625992 2.453892021e-05 1.216596892e-05 4.45918963e-05 2.269480219e-05 6.751004497e-06 3.70629213e-06 0.007429705999 0.0156555766 0.06764728514 0.002216093924 0.001733288817 0.02288107558 8.762244767e-05 0.0001380074251 0.00521247636 8.635248394e-05 0.0001755947968 0.001159980845 1.232653474e-05 6.365345083e-06 0.001344277342 4.189208666e-06 1.808705682e-05 9.608919586e-05 1.266194283e-06 1.117560593e-05 0.0001991769255 2.6502377e-06 5.14905174e-06 1.829564389e-05 7.57615654e-07 4.230476155e-06 8.225893455e-05 2.549291338e-07 1.530547456e-06 1.264849014e-05 8.19800555e-07 9.239899889e-07 8.846096158e-06 7.360173227e-07 1.431793244e-06 9.491174404e-06 4.192458047e-07 1.460815725e-06 1.005762613e-05 -3.740725607e-19 0.001626349903 0.01288823987 0.02905452607 0.05006714038 1.48910211e-18 5.251024686e-05 0.005844170855 0.008411633173 0.01997120867 -3.842938117e-19 3.266447957e-07 2.170060956e-05 1.949873357e-05 0.007755815627 -1.114517171e-21 4.011294147e-08 0.0002643014879 0.0005413410525 0.0005593832706 9.485114437e-21 1.647440387e-07 2.685470428e-06 2.543979338e-05 0.001524710344 -1.422952571e-21 5.103623238e-07 1.0145487e-05 4.073274757e-05 7.061478459e-05 1.556111464e-21 1.491420235e-06 1.614038982e-05 1.787734233e-05 0.0001439644424 3.157373122e-21 8.830015414e-07 9.63994939e-06 1.087342298e-05 7.62791521e-05 2.861527986e-22 2.296520432e-08 2.518106313e-07 7.331314038e-06 5.06407804e-05 -1.364369603e-22 8.982179696e-08 9.478304428e-07 4.064284215e-06 8.755341262e-06 1.179764139e-23 4.820177473e-10 3.881687474e-07 2.565938724e-06 5.742537214e-06 5.661155243e-22 1.362148527e-07 1.419388303e-06 4.338382222e-06 9.09865065e-06 -4.822497492e-23 7.789901801e-08 8.429784087e-07 2.453079421e-06 5.117723228e-06 -0.06530441792 0.01910639502 0.009693389368 0.005840420753 0.002100382032 0.0002870081794 0.0001661508823 8.775742353e-05 0.0001286844404 1.46226059e-05 1.264010641e-05 5.257859834e-06 1.129177375e-05 0.01651758077 0.02749667577 0.06419596665 7.178412406e-05 0.002315853591 0.02544526094 2.109702594e-05 8.707098638e-05 0.00622176063 0.0001060353702 0.0002137364639 0.0009166217597 4.264007555e-06 1.661726282e-05 0.001585992702 9.263964269e-07 5.470112635e-06 3.156253308e-05 2.968459078e-06 2.577070521e-05 0.0002003071348 4.817283622e-06 1.213308947e-05 5.006964074e-05 3.116040692e-07 7.141398124e-06 7.733944584e-05 2.916029608e-07 2.197318105e-06 1.244767174e-05 3.406012503e-07 9.563954441e-07 1.153847957e-05 6.20211425e-07 3.125890096e-06 1.486061902e-05 3.506659305e-07 1.893612526e-06 1.060239614e-05 4.933246868e-19 3.154183306e-06 0.02919790625 0.04612983668 0.05259944714 -7.841855742e-20 1.941402378e-06 0.002544227573 0.009996486075 0.02080052491 5.419803662e-21 4.303134088e-09 3.245821702e-05 0.0001214554809 0.008441473435 -2.60127309e-21 7.913732734e-11 0.000244528235 0.0005341670956 0.000850319238 -2.925991964e-21 1.24545436e-08 4.647614724e-06 1.943409192e-05 0.001346126612 -8.868557821e-22 1.694767817e-09 6.302237123e-06 1.967456339e-05 0.0001889657743 -2.307565941e-21 7.159545547e-10 2.377592603e-05 6.182501648e-05 8.583258375e-05 -1.885592006e-21 2.80783526e-10 6.117810073e-06 2.963383328e-05 0.0001334239481 -1.180655182e-13 3.639495805e-22 2.195757436e-08 8.788265172e-06 2.523145395e-05 -6.69647266e-23 2.915127231e-10 1.448700058e-06 9.188130337e-06 1.314355641e-05 7.573233853e-23 2.504431154e-10 1.668665067e-06 2.56444576e-06 1.453065421e-05 -1.207199964e-11 -1.346772435e-22 1.050882236e-06 7.426129507e-06 1.238245357e-05 -1.683800312e-22 7.174282935e-11 7.619349573e-07 1.391870305e-06 8.580455887e-06 -0.1023418294 0.08910863436 0.04774417212 0.01569268964 0.003730790874 0.0004398673016 3.621759123e-06 8.303343313e-05 0.0001251197703 0.0001208633046 7.355086619e-05 4.553979666e-05 1.877442773e-05 0.03907861894 0.02014270874 0.08056866187 0.02404653386 0.04439923305 0.05956586757 0.02148836974 0.02541408095 0.04879923024 0.01205001664 0.01730030485 0.03071772056 0.009159545751 0.01048004599 0.0191285191 0.005220927572 0.00557604825 0.01086151304 0.003102307883 0.003554059833 0.00657129226 0.001516172487 0.001901455934 0.003550427513 0.0009801196945 0.001139342951 0.002061930446 0.0004381724152 0.0005310831036 0.001001315473 0.0002378950965 0.0003179262915 0.0005273392043 7.207321032e-05 0.0001149570281 0.0001996033272 4.125082566e-05 6.495366098e-05 9.541837803e-05 -2.028536275e-19 1.785607463e-20 -4.130710283e-20 0.005812932105 0.01566546912 -1.779087927e-20 -8.48989828e-20 1.366304432e-19 0.001498625448 0.004050853375 9.242327599e-23 1.148196339e-22 4.049144971e-22 1.195300178e-05 5.702926419e-05 -4.056417491e-21 -2.52715105e-21 1.196091176e-21 8.96155963e-05 0.0002417510533 -3.023128278e-24 -4.605017619e-23 -1.286403936e-23 2.020623975e-08 1.240636977e-06 -3.528406839e-24 -4.297349303e-24 -1.422015545e-23 1.883056634e-07 7.704148801e-07 -2.677253178e-23 -1.918981978e-22 5.847496224e-22 4.332690791e-06 1.183210122e-05 -2.10630152e-22 -5.002453558e-23 -8.77885127e-24 2.269461802e-06 6.583820072e-06 5.212132425e-24 1.801658086e-23 -1.491039973e-23 2.5541278e-07 7.819683218e-07 -7.991434801e-24 2.184452696e-23 -8.04415916e-24 4.890306874e-07 1.33680417e-06 -1.285619657e-23 -1.963719099e-23 -1.104829721e-22 8.500618248e-07 2.305286353e-06 -2.964176146e-26 -1.595465148e-23 -4.843266564e-23 5.434412048e-07 1.533953357e-06 5.601710677e-24 1.266691632e-23 2.437687512e-23 3.71109625e-07 9.997125722e-07 -0.09098301696 0.06307717589 0.01270908851 0.0003027144006 0.0005268359081 0.001190444683 0.0003967625992 2.453892021e-05 1.216596892e-05 4.45918963e-05 2.269480219e-05 6.751004497e-06 3.70629213e-06 0.007429705999 0.0156555766 0.06764728514 0.002216093924 0.001733288817 0.02288107558 8.762244767e-05 0.0001380074251 0.00521247636 8.635248394e-05 0.0001755947968 0.001159980845 1.232653474e-05 6.365345083e-06 0.001344277342 4.189208666e-06 1.808705682e-05 9.608919586e-05 1.266194283e-06 1.117560593e-05 0.0001991769255 2.6502377e-06 5.14905174e-06 1.829564389e-05 7.57615654e-07 4.230476155e-06 8.225893455e-05 2.549291338e-07 1.530547456e-06 1.264849014e-05 8.19800555e-07 9.239899889e-07 8.846096158e-06 7.360173227e-07 1.431793244e-06 9.491174404e-06 4.192458047e-07 1.460815725e-06 1.005762613e-05 -3.740725607e-19 0.001626349903 0.01288823987 0.02905452607 0.05006714038 1.48910211e-18 5.251024686e-05 0.005844170855 0.008411633173 0.01997120867 -3.842938117e-19 3.266447957e-07 2.170060956e-05 1.949873357e-05 0.007755815627 -1.114517171e-21 4.011294147e-08 0.0002643014879 0.0005413410525 0.0005593832706 9.485114437e-21 1.647440387e-07 2.685470428e-06 2.543979338e-05 0.001524710344 -1.422952571e-21 5.103623238e-07 1.0145487e-05 4.073274757e-05 7.061478459e-05 1.556111464e-21 1.491420235e-06 1.614038982e-05 1.787734233e-05 0.0001439644424 3.157373122e-21 8.830015414e-07 9.63994939e-06 1.087342298e-05 7.62791521e-05 2.861527986e-22 2.296520432e-08 2.518106313e-07 7.331314038e-06 5.06407804e-05 -1.364369603e-22 8.982179696e-08 9.478304428e-07 4.064284215e-06 8.755341262e-06 1.179764139e-23 4.820177473e-10 3.881687474e-07 2.565938724e-06 5.742537214e-06 5.661155243e-22 1.362148527e-07 1.419388303e-06 4.338382222e-06 9.09865065e-06 -4.822497492e-23 7.789901801e-08 8.429784087e-07 2.453079421e-06 5.117723228e-06 -0.06530441792 0.01910639502 0.009693389368 0.005840420753 0.002100382032 0.0002870081794 0.0001661508823 8.775742353e-05 0.0001286844404 1.46226059e-05 1.264010641e-05 5.257859834e-06 1.129177375e-05 0.01651758077 0.02749667577 0.06419596665 7.178412406e-05 0.002315853591 0.02544526094 2.109702594e-05 8.707098638e-05 0.00622176063 0.0001060353702 0.0002137364639 0.0009166217597 4.264007555e-06 1.661726282e-05 0.001585992702 9.263964269e-07 5.470112635e-06 3.156253308e-05 2.968459078e-06 2.577070521e-05 0.0002003071348 4.817283622e-06 1.213308947e-05 5.006964074e-05 3.116040692e-07 7.141398124e-06 7.733944584e-05 2.916029608e-07 2.197318105e-06 1.244767174e-05 3.406012503e-07 9.563954441e-07 1.153847957e-05 6.20211425e-07 3.125890096e-06 1.486061902e-05 3.506659305e-07 1.893612526e-06 1.060239614e-05 4.933246868e-19 3.154183306e-06 0.02919790625 0.04612983668 0.05259944714 -7.841855742e-20 1.941402378e-06 0.002544227573 0.009996486075 0.02080052491 5.419803662e-21 4.303134088e-09 3.245821702e-05 0.0001214554809 0.008441473435 -2.60127309e-21 7.913732734e-11 0.000244528235 0.0005341670956 0.000850319238 -2.925991964e-21 1.24545436e-08 4.647614724e-06 1.943409192e-05 0.001346126612 -8.868557821e-22 1.694767817e-09 6.302237123e-06 1.967456339e-05 0.0001889657743 -2.307565941e-21 7.159545547e-10 2.377592603e-05 6.182501648e-05 8.583258375e-05 -1.885592006e-21 2.80783526e-10 6.117810073e-06 2.963383328e-05 0.0001334239481 -1.180655182e-13 3.639495805e-22 2.195757436e-08 8.788265172e-06 2.523145395e-05 -6.69647266e-23 2.915127231e-10 1.448700058e-06 9.188130337e-06 1.314355641e-05 7.573233853e-23 2.504431154e-10 1.668665067e-06 2.56444576e-06 1.453065421e-05 -1.207199964e-11 -1.346772435e-22 1.050882236e-06 7.426129507e-06 1.238245357e-05 -1.683800312e-22 7.174282935e-11 7.619349573e-07 1.391870305e-06 8.580455887e-06 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/pdm_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/pdm_ref.dat deleted file mode 100644 index 71f21991ae..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/pdm_ref.dat +++ /dev/null @@ -1,117 +0,0 @@ -0.8747069364 -0.7986266843 -0.4329417772 -0.1421801564 -0.03320315091 -0.003963463477 -3.058507716e-05 -0.0007248747042 -0.001140167362 -0.001076650529 -0.0006700585764 -0.0004017688378 -0.0001719323946 -0.3579389474 -0.01256254025 -0.01410969305 -0.01256254025 0.5810320463 0.1823424665 -0.01410969305 0.1823424665 0.4997667206 -0.3509687039 -0.06468478124 0.09059838981 -0.06468478124 0.4264605857 -0.03398775369 0.09059838981 -0.03398775369 0.4422416779 -0.2773493772 -0.05315063405 0.0817643509 -0.05315063405 0.266219475 -0.09042656291 0.0817643509 -0.09042656291 0.3094439641 -0.1757946166 -0.03273988371 0.05109752683 -0.03273988371 0.1590426375 -0.06389603339 0.05109752683 -0.06389603339 0.1898057058 -0.1087063229 -0.02124507972 0.03174820537 -0.02124507972 0.1151154263 -0.02702213273 0.03174820537 -0.02702213273 0.1278759774 -0.06168486011 -0.01197136345 0.01812702989 -0.01197136345 0.06259722794 -0.01749946946 0.01812702989 -0.01749946946 0.07090961824 -0.03737029944 -0.007280389551 0.01090059579 -0.007280389551 0.03929852145 -0.009483196226 0.01090059579 -0.009483196226 0.04378328064 -0.02021473553 -0.003844414111 0.005938816317 -0.003844414111 0.01908145868 -0.006812891698 0.005938816317 -0.006812891698 0.02234506582 -0.01172222826 -0.002290918467 0.003418316515 -0.002290918467 0.01246842926 -0.002867143032 0.003418316515 -0.002867143032 0.01382159612 -0.005697062737 -0.001087831875 0.001675222143 -0.001087831875 0.0054423063 -0.001872841625 0.001675222143 -0.001872841625 0.006338294902 -0.003013268342 -0.0005867927862 0.0008620478594 -0.0005867927862 0.003343353255 -0.0006160722964 0.0008620478594 -0.0006160722964 0.003632415938 -0.001145707175 -0.0002103502529 0.0003312799167 -0.0002103502529 0.0009989046553 -0.0004430502624 0.0003312799167 -0.0004430502624 0.001212916357 -0.000549550422 -0.0001063884409 0.0001525706216 -0.0001063884409 0.0006472165948 -7.945057148e-05 0.0001525706216 -7.945057148e-05 0.0006839725021 -0.05968713717 0.02599124178 -0.03492386544 -0.01587014576 -0.0548307714 0.02599124178 0.01646604698 -0.02515403229 -0.004761396291 -0.0122770931 -0.03492386544 -0.02515403229 0.03965106595 0.005133124209 0.00967157915 -0.01587014576 -0.004761396291 0.005133124209 0.005117111981 0.01942190413 -0.0548307714 -0.0122770931 0.00967157915 0.01942190413 0.07650540413 -0.01567510585 0.007222932442 -0.009938933024 -0.004002045577 -0.01350501305 0.007222932442 0.004635031936 -0.007104532736 -0.001298494091 -0.003278536301 -0.009938933024 -0.007104532736 0.01117987536 0.001483381975 0.002874133348 -0.004002045577 -0.001298494091 0.001483381975 0.001249574846 0.004677363799 -0.01350501305 -0.003278536301 0.002874133348 0.004677363799 0.0182697842 -0.0002109020645 0.0001228311683 -0.0001832808094 -4.313658389e-05 -0.0001239104926 0.0001228311683 8.243213675e-05 -0.0001277925894 -2.057453764e-05 -4.761961094e-05 -0.0001832808094 -0.0001277925894 0.0001999435748 2.869897801e-05 6.025614699e-05 -4.313658389e-05 -2.057453764e-05 2.869897801e-05 1.072201945e-05 3.559276438e-05 -0.0001239104926 -4.761961094e-05 6.025614699e-05 3.559276438e-05 0.0001281099689 -0.0009198583344 0.0003990186983 -0.0005352460494 -0.0002452234908 -0.0008484874095 0.0003990186983 0.0002525579816 -0.0003857224072 -7.319299008e-05 -0.0001889955967 -0.0005352460494 -0.0003857224072 0.0006081005302 7.858316145e-05 0.0001477550853 -0.0002452234908 -7.319299008e-05 7.858316145e-05 7.922742082e-05 0.0003009599166 -0.0008484874095 -0.0001889955967 0.0001477550853 0.0003009599166 0.00118612158 -4.039468217e-06 2.744328732e-06 -4.267233563e-06 -6.626606446e-07 -1.490694432e-06 2.744328732e-06 1.885341884e-06 -2.9394542e-06 -4.414699194e-07 -9.6564648e-07 -4.267233563e-06 -2.9394542e-06 4.585870689e-06 6.831624672e-07 1.48374796e-06 -6.626606446e-07 -4.414699194e-07 6.831624672e-07 1.123511396e-07 2.642083477e-07 -1.490694432e-06 -9.6564648e-07 1.48374796e-06 2.642083477e-07 6.562396099e-07 -2.45628118e-06 7.533547245e-07 -8.261889493e-07 -7.851403893e-07 -2.969011757e-06 7.533547245e-07 4.301669704e-07 -6.380872369e-07 -1.576743285e-07 -4.619780779e-07 -8.261889493e-07 -6.380872369e-07 1.021140476e-06 1.034710063e-07 1.318620282e-07 -7.851403893e-07 -1.576743285e-07 1.034710063e-07 2.856766382e-07 1.136347369e-06 -2.969011757e-06 -4.619780779e-07 1.318620282e-07 1.136347369e-06 4.599636283e-06 -4.593855756e-05 2.160171277e-05 -2.996563266e-05 -1.154760102e-05 -3.860155324e-05 2.160171277e-05 1.39230861e-05 -2.136554466e-05 -3.857937006e-06 -9.667624882e-06 -2.996563266e-05 -2.136554466e-05 3.360185628e-05 4.495090264e-06 8.788109969e-06 -1.154760102e-05 -3.857937006e-06 4.495090264e-06 3.559113009e-06 1.324555632e-05 -3.860155324e-05 -9.667624882e-06 8.788109969e-06 1.324555632e-05 5.155258897e-05 -2.39052776e-05 9.332008544e-06 -1.190509596e-05 -6.806126328e-06 -2.438861877e-05 9.332008544e-06 5.751530367e-06 -8.721296664e-06 -1.7765693e-06 -4.769685039e-06 -1.190509596e-05 -8.721296664e-06 1.379979905e-05 1.688602551e-06 2.966571767e-06 -6.806126328e-06 -1.7765693e-06 1.688602551e-06 2.3053613e-06 8.927391748e-06 -2.438861877e-05 -4.769685039e-06 2.966571767e-06 8.927391748e-06 3.558673823e-05 -2.769239159e-06 1.030977681e-06 -1.282388513e-06 -8.093386021e-07 -2.938031444e-06 1.030977681e-06 6.270981015e-07 -9.474387079e-07 -1.997436163e-07 -5.456832355e-07 -1.282388513e-06 -9.474387079e-07 1.501940698e-06 1.785514486e-07 3.015230923e-07 -8.093386021e-07 -1.997436163e-07 1.785514486e-07 2.789453637e-07 1.087528628e-06 -2.938031444e-06 -5.456832355e-07 3.015230923e-07 1.087528628e-06 4.352174379e-06 -5.191219086e-06 2.444777464e-06 -3.393385727e-06 -1.303371608e-06 -4.353757482e-06 2.444777464e-06 1.576258971e-06 -2.419037092e-06 -4.3640916e-07 -1.09298285e-06 -3.393385727e-06 -2.419037092e-06 3.804286964e-06 5.092245454e-07 9.962077207e-07 -1.303371608e-06 -4.3640916e-07 5.092245454e-07 4.013119333e-07 1.492842652e-06 -4.353757482e-06 -1.09298285e-06 9.962077207e-07 1.492842652e-06 5.8086103e-06 -8.722561465e-06 3.726792255e-06 -4.965530264e-06 -2.349091997e-06 -8.174004252e-06 3.726792255e-06 2.35035699e-06 -3.586168862e-06 -6.8716692e-07 -1.784368476e-06 -4.965530264e-06 -3.586168862e-06 5.656447876e-06 7.257736683e-07 1.353199185e-06 -2.349091997e-06 -6.8716692e-07 7.257736683e-07 7.647864321e-07 2.91450715e-06 -8.174004252e-06 -1.784368476e-06 1.353199185e-06 2.91450715e-06 1.150853159e-05 -5.650257429e-06 2.270442446e-06 -2.938947096e-06 -1.581672941e-06 -5.618657706e-06 2.270442446e-06 1.410078859e-06 -2.142634452e-06 -4.27742886e-07 -1.136217091e-06 -2.938947096e-06 -2.142634452e-06 3.386694696e-06 4.211756005e-07 7.556515485e-07 -1.581672941e-06 -4.27742886e-07 4.211756005e-07 5.295264621e-07 2.041090207e-06 -5.618657706e-06 -1.136217091e-06 7.556515485e-07 2.041090207e-06 8.114269157e-06 -3.811263552e-06 1.66250471e-06 -2.235553833e-06 -1.012178681e-06 -3.494722081e-06 1.66250471e-06 1.053660685e-06 -1.609776223e-06 -3.043803099e-07 -7.843328394e-07 -2.235553833e-06 -1.609776223e-06 2.537400832e-06 3.287450414e-07 6.199756425e-07 -1.012178681e-06 -3.043803099e-07 3.287450414e-07 3.26069179e-07 1.237118777e-06 -3.494722081e-06 -7.843328394e-07 6.199756425e-07 1.237118777e-06 4.87205572e-06 -0.7905873233 -0.5751703182 -0.1141390313 -0.002727157511 -0.004696504788 -0.01080141063 -0.00351131015 -0.0002315761012 -0.0001022589333 -0.0004074847207 -0.0001964434756 -6.272944592e-05 -3.175535408e-05 -0.1346443257 -0.03777911465 -0.02375321076 -0.03777911465 0.3983355468 0.2224905833 -0.02375321076 0.2224905833 0.3264803606 -0.01443791621 -0.007985103828 -0.005143598653 -0.007985103828 0.1339784779 0.0952516874 -0.005143598653 0.0952516874 0.09127652031 -0.0008352664592 -0.001094207106 -0.0005185460083 -0.001094207106 0.02959104364 0.0221921148 -0.0005185460083 0.0221921148 0.01836002205 -0.0009947209248 -0.0002983504484 0.0002159104247 -0.0002983504484 0.007087431037 0.004376374086 0.0002159104247 0.004376374086 0.004717177006 -0.0001285901106 -0.0003409013185 -0.0002702330616 -0.0003409013185 0.007523674213 0.005844123203 -0.0002702330616 0.005844123203 0.004719481702 -0.0001355041303 -9.063377656e-05 -0.0001419035165 -9.063377656e-05 0.0004640581621 0.0003896107819 -0.0001419035165 0.0003896107819 0.0004381818795 -0.0001191298491 -0.0001100618025 -0.0001640248331 -0.0001100618025 0.001008656027 0.0008345771988 -0.0001640248331 0.0008345771988 0.0007639372082 -9.690439909e-05 -4.619423091e-05 -7.285922854e-05 -4.619423091e-05 5.418785587e-05 4.066847775e-05 -7.285922854e-05 4.066847775e-05 0.0001318104723 -4.486842221e-05 -4.129887398e-05 -5.975910596e-05 -4.129887398e-05 0.0004410614151 0.0003584004362 -5.975910596e-05 0.0003584004362 0.0003219391467 -3.230998487e-05 -1.900681742e-05 -3.691113823e-05 -1.900681742e-05 3.86295307e-05 4.169050712e-05 -3.691113823e-05 4.169050712e-05 6.149288758e-05 -3.116374782e-05 -1.688231601e-05 -3.062153691e-05 -1.688231601e-05 2.31231441e-05 2.457312417e-05 -3.062153691e-05 2.457312417e-05 4.894238547e-05 -2.83694719e-05 -1.573738309e-05 -2.822331892e-05 -1.573738309e-05 3.512619955e-05 3.332401041e-05 -2.822331892e-05 3.332401041e-05 5.297726235e-05 -2.420182477e-05 -1.412157427e-05 -2.601501061e-05 -1.412157427e-05 3.932647306e-05 3.742398982e-05 -2.601501061e-05 3.742398982e-05 5.155601664e-05 -0.1094392979 -0.01199819165 -0.01180098417 -0.05196260183 -0.1790946243 -0.01199819165 0.1188983043 0.1119161886 -0.03228021304 0.0006926642273 -0.01180098417 0.1119161886 0.1283774583 0.003292939746 -0.02587591622 -0.05196260183 -0.03228021304 0.003292939746 0.252712575 0.01738557635 -0.1790946243 0.0006926642273 -0.02587591622 0.01738557635 0.3355887259 -0.04538742823 -0.001634531103 -0.001445266092 -0.02017443905 -0.0755860636 -0.001634531103 0.03039257935 0.02407717668 -0.01373853805 0.002815196625 -0.001445266092 0.02407717668 0.02020160683 -0.007224070929 0.0007434160059 -0.02017443905 -0.01373853805 -0.007224070929 0.07187545086 0.01894441287 -0.0755860636 0.002815196625 0.0007434160059 0.01894441287 0.1304030127 -0.01733312254 0.001649117649 0.001297539677 -0.007060214303 -0.02925434103 0.001649117649 0.0002352482106 0.0001931647172 -0.0006993552544 -0.00279191361 0.001297539677 0.0001931647172 0.0001703062421 -0.0005354668917 -0.002211124339 -0.007060214303 -0.0006993552544 -0.0005354668917 0.003026444335 0.01187461717 -0.02925434103 -0.00279191361 -0.002211124339 0.01187461717 0.04939670228 -0.001260051309 -0.0002145460333 -0.0001723807845 -0.0005854947448 -0.002078895338 -0.0002145460333 0.001907284423 0.001459524662 -0.0008733272773 0.000422182061 -0.0001723807845 0.001459524662 0.001124646808 -0.0005044467622 0.0002972312046 -0.0005854947448 -0.0008733272773 -0.0005044467622 0.004288274534 7.36207878e-05 -0.002078895338 0.000422182061 0.0002972312046 7.36207878e-05 0.003641911511 -0.003409755295 0.0003218108098 0.0002500277147 -0.001391506031 -0.005751283081 0.0003218108098 6.744140557e-05 8.600180802e-05 -0.0001123692678 -0.0005796522716 0.0002500277147 8.600180802e-05 0.0001345099353 -5.724844755e-05 -0.0004963089401 -0.001391506031 -0.0001123692678 -5.724844755e-05 0.0006083366651 0.002310471311 -0.005751283081 -0.0005796522716 -0.0004963089401 0.002310471311 0.009752221646 -0.0001250582819 3.700379473e-06 -2.841054845e-06 -5.439688134e-05 -0.0002044970738 3.700379473e-06 8.363559201e-05 0.000122371201 2.129794139e-05 -6.88356293e-05 -2.841054845e-06 0.000122371201 0.000211706571 7.263774824e-05 -0.0001237736508 -5.439688134e-05 2.129794139e-05 7.263774824e-05 0.0001344406465 1.669080798e-05 -0.0002044970738 -6.88356293e-05 -0.0001237736508 1.669080798e-05 0.0004252716502 -0.0003104925435 2.440806566e-05 1.516648633e-05 -0.000125621856 -0.0005201492432 2.440806566e-05 9.483207758e-05 0.000115301058 -8.349676907e-06 -8.611286944e-05 1.516648633e-05 0.000115301058 0.0001746886228 3.711259728e-05 -0.0001195571731 -0.000125621856 -8.349676907e-06 3.711259728e-05 0.0001966387012 0.0001430807147 -0.0005201492432 -8.611286944e-05 -0.0001195571731 0.0001430807147 0.0009414228396 -0.0001690659207 9.780919949e-06 5.231739782e-06 -7.075002055e-05 -0.0002821974202 9.780919949e-06 5.535951823e-05 6.721571445e-05 -3.70633401e-06 -4.255160506e-05 5.231739782e-06 6.721571445e-05 0.000101753115 2.26429003e-05 -6.34668709e-05 -7.075002055e-05 -3.70633401e-06 2.26429003e-05 0.0001162896154 7.85105313e-05 -0.0002821974202 -4.255160506e-05 -6.34668709e-05 7.85105313e-05 0.0005118797434 -0.0001112345647 8.648509412e-06 5.375726197e-06 -4.684161239e-05 -0.0001859776062 8.648509412e-06 1.308920365e-05 2.424907105e-05 5.884115407e-06 -3.006363824e-05 5.375726197e-06 2.424907105e-05 4.730367824e-05 1.751565024e-05 -4.040622244e-05 -4.684161239e-05 5.884115407e-06 1.751565024e-05 3.023436607e-05 6.435757613e-05 -0.0001859776062 -3.006363824e-05 -4.040622244e-05 6.435757613e-05 0.0003322700169 -1.424418338e-05 -1.842366046e-07 -1.286220801e-06 -6.754088775e-06 -2.269053978e-05 -1.842366046e-07 1.255460755e-05 2.105249329e-05 6.360428789e-06 -1.206926877e-05 -1.286220801e-06 2.105249329e-05 3.925270399e-05 1.562312063e-05 -2.305286611e-05 -6.754088775e-06 6.360428789e-06 1.562312063e-05 1.714852153e-05 -1.638567625e-06 -2.269053978e-05 -1.206926877e-05 -2.305286611e-05 -1.638567625e-06 5.350144281e-05 -1.481558655e-07 -1.620283638e-06 -2.402762598e-06 -5.624931289e-07 1.005284095e-06 -1.620283638e-06 1.83128509e-05 2.552170172e-05 4.177460859e-06 -9.553924936e-06 -2.402762598e-06 2.552170172e-05 4.281926385e-05 1.449316674e-05 -2.129937563e-05 -5.624931289e-07 4.177460859e-06 1.449316674e-05 2.649536822e-05 -1.478191417e-05 1.005284095e-06 -9.553924936e-06 -2.129937563e-05 -1.478191417e-05 1.439726699e-05 -1.861949623e-05 9.672677202e-08 -9.290428325e-07 -8.474825662e-06 -3.019701299e-05 9.672677202e-08 1.314447243e-05 2.011158379e-05 4.441219744e-06 -1.097187137e-05 -9.290428325e-07 2.011158379e-05 3.572444252e-05 1.301788733e-05 -2.057856494e-05 -8.474825662e-06 4.441219744e-06 1.301788733e-05 2.047775413e-05 1.8652455e-06 -3.019701299e-05 -1.097187137e-05 -2.057856494e-05 1.8652455e-06 6.447965498e-05 -6.742832418e-06 -6.685855461e-07 -1.382118179e-06 -3.532225181e-06 -1.033898016e-05 -6.685855461e-07 9.797878673e-06 1.604183602e-05 4.719934031e-06 -8.098248727e-06 -1.382118179e-06 1.604183602e-05 2.955596373e-05 1.168899719e-05 -1.649740572e-05 -3.532225181e-06 4.719934031e-06 1.168899719e-05 1.32238534e-05 -4.01035801e-06 -1.033898016e-05 -8.098248727e-06 -1.649740572e-05 -4.01035801e-06 2.880017872e-05 -0.6360427687 -0.3147077698 -0.100676169 -0.03623449007 -0.01353462287 -0.004891783702 -0.002415617226 -0.0006606059752 -0.0007949910045 -0.0001847042216 -0.0001432072344 -6.174491084e-05 -7.773589114e-05 -0.4393365641 0.03690324922 -0.1909066056 0.03690324922 0.2216840387 0.02727904664 -0.1909066056 0.02727904664 0.3128714059 -0.1735966711 0.04997386242 -0.07727031547 0.04997386242 0.02430090416 -0.03500058281 -0.07727031547 -0.03500058281 0.05259851265 -0.04131416404 0.01349545205 -0.02032121444 0.01349545205 0.004898354848 -0.007052066927 -0.02032121444 -0.007052066927 0.01075683889 -0.006571224431 0.001704966516 -0.002212147522 0.001704966516 0.001931149844 -0.00127750689 -0.002212147522 -0.00127750689 0.002625168069 -0.01047335 0.003301599512 -0.00536243187 0.003301599512 0.001154051387 -0.001643089715 -0.00536243187 -0.001643089715 0.002834464366 -0.0001825810525 -2.633810563e-05 -0.0001201805972 -2.633810563e-05 2.070101629e-05 -1.707744e-06 -0.0001201805972 -1.707744e-06 0.0001383493105 -0.001307065235 0.0003078533851 -0.0007313337155 0.0003078533851 0.0002341074069 -7.530581707e-05 -0.0007313337155 -7.530581707e-05 0.0005202440505 -0.000266234927 -2.693633684e-05 -0.0001879940718 -2.693633684e-05 0.000102976572 6.521941591e-05 -0.0001879940718 6.521941591e-05 0.0002339686255 -0.0005013815406 0.0001151293651 -0.0002883418195 0.0001151293651 6.943233295e-05 -3.639565118e-05 -0.0002883418195 -3.639565118e-05 0.0001923181587 -5.258236248e-05 -1.333747601e-05 -4.764594163e-05 -1.333747601e-05 2.378267391e-05 2.59850744e-05 -4.764594163e-05 2.59850744e-05 5.80642989e-05 -3.053888074e-05 -2.499419774e-05 -3.534700231e-05 -2.499419774e-05 2.581749746e-05 3.177960896e-05 -3.534700231e-05 3.177960896e-05 5.91629082e-05 -7.782796653e-05 -6.418305676e-06 -5.919575079e-05 -6.418305676e-06 2.489443566e-05 1.938935244e-05 -5.919575079e-05 1.938935244e-05 6.473808266e-05 -4.859257709e-05 -9.712238867e-06 -4.15082683e-05 -9.712238867e-06 1.844306396e-05 1.883245579e-05 -4.15082683e-05 1.883245579e-05 4.858443031e-05 -0.3067958248 0.0659496993 -0.07084584212 0.02160507889 0.02031326156 0.0659496993 0.2692778179 0.02024493907 0.09020099048 -0.1678886198 -0.07084584212 0.02024493907 0.3636899068 0.1516431401 0.0006926408992 0.02160507889 0.09020099048 0.1516431401 0.09140014658 -0.04392866881 0.02031326156 -0.1678886198 0.0006926408992 -0.04392866881 0.1202094022 -0.1197800415 0.03110812417 -0.04426925118 0.003519314508 0.004843973722 0.03110812417 0.06025797243 -0.05563680363 -0.0006747664488 -0.02982716611 -0.04426925118 -0.05563680363 0.08711742763 0.01731689529 0.03757845645 0.003519314508 -0.0006747664488 0.01731689529 0.009082728032 0.007852977016 0.004843973722 -0.02982716611 0.03757845645 0.007852977016 0.02385045005 -0.02799556325 0.01852182265 -0.0291557355 -0.004305737488 -0.009150077171 0.01852182265 0.01313691772 -0.02023891656 -0.0029802051 -0.00665862042 -0.0291557355 -0.02023891656 0.03191756743 0.004900211508 0.01038609407 -0.004305737488 -0.0029802051 0.004900211508 0.0008234336114 0.00160379005 -0.009150077171 -0.00665862042 0.01038609407 0.00160379005 0.003485040903 -0.00558249344 0.001120408393 -0.001403089746 0.0003427142344 0.0004787393061 0.001120408393 0.003196924128 -0.001917660147 0.0003281836142 -0.001668289607 -0.001403089746 -0.001917660147 0.003945107358 0.001057901971 0.001564715788 0.0003427142344 0.0003281836142 0.001057901971 0.0006588510227 0.0002166228064 0.0004787393061 -0.001668289607 0.001564715788 0.0002166228064 0.00127775588 -0.004443649937 0.002911762683 -0.004673961379 -0.0007059223066 -0.001421365255 0.002911762683 0.002022845816 -0.00323275446 -0.0005019505208 -0.001022497243 -0.004673961379 -0.00323275446 0.005183905935 0.0008006033288 0.00160882571 -0.0007059223066 -0.0005019505208 0.0008006033288 0.0001257280747 0.0002575874728 -0.001421365255 -0.001022497243 0.00160882571 0.0002575874728 0.000555857191 -0.0006463800668 0.0004211035652 -0.0006264317665 -8.218481198e-05 -0.0002050911096 0.0004211035652 0.0003267892296 -0.0004214030526 -5.175233072e-05 -0.0001938134436 -0.0006264317665 -0.0004214030526 0.0007856955689 0.0001332237868 0.0001640358271 -8.218481198e-05 -5.175233072e-05 0.0001332237868 2.71725225e-05 8.619044017e-06 -0.0002050911096 -0.0001938134436 0.0001640358271 8.619044017e-06 0.000148461038 -0.0003750374111 0.0001245088581 -0.0002026236788 -1.351015976e-05 -2.505777561e-05 0.0001245088581 0.0003128888288 1.687871773e-05 9.939316654e-05 -0.0002097759915 -0.0002026236788 1.687871773e-05 0.0005848104832 0.000225752857 -2.221284958e-05 -1.351015976e-05 9.939316654e-05 0.000225752857 0.0001174497187 -6.509913417e-05 -2.505777561e-05 -0.0002097759915 -2.221284958e-05 -6.509913417e-05 0.0001527217383 -0.000454123912 0.0002722492264 -0.0004495037841 -6.610359528e-05 -0.0001217458492 0.0002722492264 0.0002658328198 -0.0002252276018 3.045610434e-06 -0.0001540302337 -0.0004495037841 -0.0002252276018 0.0006488448318 0.0001579527003 8.838603456e-05 -6.610359528e-05 3.045610434e-06 0.0001579527003 5.709178197e-05 -1.48463858e-05 -0.0001217458492 -0.0001540302337 8.838603456e-05 -1.48463858e-05 9.668950456e-05 -7.814347816e-05 5.261489521e-05 -8.569278277e-05 -1.337826952e-05 -2.585971803e-05 5.261489521e-05 5.030429258e-05 -3.230360394e-05 3.261371002e-06 -3.382931743e-05 -8.569278277e-05 -3.230360394e-05 0.0001386524973 3.610540267e-05 2.172606834e-07 -1.337826952e-05 3.261371002e-06 3.610540267e-05 1.259006984e-05 -9.155257772e-06 -2.585971803e-05 -3.382931743e-05 2.172606834e-07 -9.155257772e-06 2.66847513e-05 -4.125815098e-05 2.12059777e-05 -3.047869201e-05 -2.983680047e-06 -8.985005249e-06 2.12059777e-05 4.309415304e-05 9.732721508e-06 1.58713071e-05 -3.181798034e-05 -3.047869201e-05 9.732721508e-06 8.799346342e-05 3.391490555e-05 -1.491095472e-05 -2.983680047e-06 1.58713071e-05 3.391490555e-05 1.67397769e-05 -1.408953894e-05 -8.985005249e-06 -3.181798034e-05 -1.491095472e-05 -1.408953894e-05 2.494056054e-05 -1.920464842e-05 -2.645517058e-06 -1.891832398e-06 7.03521555e-07 6.630021622e-06 -2.645517058e-06 3.352163546e-05 3.563066053e-05 2.209457919e-05 -2.69303381e-05 -1.891832398e-06 3.563066053e-05 7.305567331e-05 3.75169282e-05 -2.844377468e-05 7.03521555e-07 2.209457919e-05 3.75169282e-05 2.038776314e-05 -1.718365612e-05 6.630021622e-06 -2.69303381e-05 -2.844377468e-05 -1.718365612e-05 2.270641897e-05 -3.565996873e-05 1.772463715e-05 -3.155965412e-05 -4.477417713e-06 -6.26190176e-06 1.772463715e-05 3.419846951e-05 6.226926802e-06 1.21766593e-05 -2.47894348e-05 -3.155965412e-05 6.226926802e-06 8.387558161e-05 3.085640454e-05 -1.385579734e-05 -4.477417713e-06 1.21766593e-05 3.085640454e-05 1.438081082e-05 -1.177909988e-05 -6.26190176e-06 -2.47894348e-05 -1.385579734e-05 -1.177909988e-05 1.962024852e-05 -8.72865766e-06 1.566109028e-06 -3.532875112e-06 -7.11883564e-08 7.950164795e-07 1.566109028e-06 1.907127044e-05 2.006858682e-05 1.233142196e-05 -1.619897024e-05 -3.532875112e-06 2.006858682e-05 4.350725739e-05 2.10911929e-05 -1.889017509e-05 -7.11883564e-08 1.233142196e-05 2.10911929e-05 1.099994612e-05 -1.096009748e-05 7.950164795e-07 -1.619897024e-05 -1.889017509e-05 -1.096009748e-05 1.430186441e-05 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/phialpha_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/phialpha_ref.dat deleted file mode 100644 index 07670dfcad..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/phialpha_ref.dat +++ /dev/null @@ -1,399 +0,0 @@ -iat : 0 -ad : 5 2.716543093 -R : 0 -1 0 -iw : 5 -0.4974944151 0.04342413379 -0.06274472755 -0.03121090267 0.02236979128 -0.0009018112254 -0.003885978763 -0.008533908769 0.005837944037 -0.003717346206 0.004217139578 -0.004237582556 -0.003572728059 -0.4746418687 -0.1543594442 0.2407658544 -0.144601083 -0.04702607222 -0.0733500468 0.01966779969 0.00639621329 -0.009976647464 0.04770030369 0.01551273255 --0.02419635757 -0.0105294463 -0.003424307011 0.005341145191 -0.00133167364 -0.0004330768448 -0.0006755020211 -0.009052425648 -0.002943961509 0.004591914745 0.009409305165 0.00306002317 --0.004772944712 -0.004372908615 -0.001422124317 0.002218192596 0.004258185323 0.001384814875 --0.002159998296 -0.005476993404 -0.001781186434 0.002778248366 0.004528222262 0.001472634249 --0.002296976676 -0.003537594249 -0.001150469687 0.001794472755 0.2387791975 0.164333142 --0.2563225693 -0.03828923693 -0.08335929035 0.1268270149 0.08728516587 -0.1361451361 --0.02033723907 -0.04427609303 0.01697713645 0.01168404201 -0.01822446545 -0.002722354404 --0.005926823029 -0.02956976541 -0.02035056869 0.0317422888 0.004741634807 0.01032298746 --0.002572351948 -0.001770349689 0.002761345492 0.0004124873282 0.0008980239282 0.00120871933 -0.0008318674637 -0.001297525277 -0.0001938231693 -0.0004219713722 0.006953716134 0.004785701741 --0.007464613353 -0.001115057289 -0.002427585185 -0.004451762736 -0.003063801896 0.004778838671 -0.0007138586609 0.001554137824 0.001468208053 0.00101045336 -0.001576078923 -0.0002354332646 --0.0005125604853 -0.002339780149 -0.001610288617 0.002511686386 0.0003751934735 0.0008168316791 -0.002851653194 0.001962571004 -0.00306116731 -0.0004572744441 -0.0009955297156 -0.002205772355 --0.001518061479 0.002367832891 0.0003537047666 0.0007700487316 0.001910150281 0.001314607808 --0.002050491135 -0.000306300538 -0.0006668452425 -ad : 8 2.795323233 -R : 0 0 0 -iw : 4 -0.4869019083 0.02582737634 -0.06376690892 -0.02611661836 0.02440564705 -0.002836222054 -0.003107389672 -0.008265514871 0.006619786551 -0.003989519755 0.004065414843 -0.00441519644 -0.003862132316 0.01917894541 -0.4364688769 -0.3434449787 0.005119403409 -0.1165058979 --0.09167518634 -0.001136738908 0.02586957435 0.02035603427 -0.001809597843 0.04118230284 -0.03240518597 0.0006045960108 -0.01375922065 -0.01082674045 1.962043237e-05 -0.000446516109 --0.0003513508607 0.0003045258281 -0.006930310468 -0.005453264728 -0.0003945146954 0.008978251008 -0.007064731049 0.0002194550701 -0.004994294832 -0.00392986894 -0.0001746415319 0.003974441329 -0.003127375146 0.0002152415301 -0.00489840431 -0.003854415408 -0.0001936353848 0.004406697923 -0.003467505599 0.0001550695274 -0.003529027326 -0.002776891502 -0.2035252887 -0.0191789939 --0.01509140629 0.0831110926 0.343445847 -0.09893532478 -0.009323067432 -0.007336057313 -0.04040098895 0.1669518645 -0.007827644973 -0.0007376299829 -0.0005804201106 0.003196478091 -0.01320903252 0.02534970505 0.00238880309 0.001879681393 -0.01035174399 -0.04277724393 --0.0003131820785 -2.951238744e-05 -2.322246055e-05 0.000127890273 0.0005284900216 -0.001604043868 --0.0001511554056 -0.0001189399011 0.0006550234583 0.002706799772 -0.005243590793 -0.0004941243248 --0.0003888124153 0.002141260001 0.008848480171 0.004421446516 0.0004166504139 0.0003278503924 --0.001805531161 -0.007461124136 -0.001549862276 -0.0001460496597 -0.0001149223345 0.0006328979951 -0.002615369155 0.001759795347 0.0001658324842 0.000130488878 -0.0007186257539 -0.002969628037 --0.002499953638 -0.000235580531 -0.0001853716376 0.001020874996 0.004218633961 0.00210782742 -0.0001986289247 0.0001562954667 -0.000860747286 -0.003556926897 -0.001623928807 -0.0001530292422 --0.00012041437 0.0006631436236 0.002740355305 -ad : 13 0 -R : 0 0 0 -iw : 0 -0.5610279929 0.6254141599 0.4536157734 0.2610953243 0.127462977 0.04380525785 -0.00294213453 -0.01814748859 -0.0227270876 -0.02296713374 -0.01757592823 -0.01386036811 --0.008485763054 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 1 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0.4193891562 0 0 0.5177776666 0 -0 0.4686526354 0 0 0.371825414 0 -0 0.2934169866 0 0 0.2211005088 0 -0 0.1719768419 0 0 0.1264110105 0 -0 0.09633444148 0 0 0.0671320704 0 -0 0.04871801761 0 0 0.02997287934 0 -0 0.02072338012 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 2 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0.4193891562 0 0 0.5177776666 -0 0 0.4686526354 0 0 0.371825414 -0 0 0.2934169866 0 0 0.2211005088 -0 0 0.1719768419 0 0 0.1264110105 -0 0 0.09633444148 0 0 0.0671320704 -0 0 0.04871801761 0 0 0.02997287934 -0 0 0.02072338012 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iw : 3 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0.4193891562 0 0 -0.5177776666 0 0 0.4686526354 0 0 -0.371825414 0 0 0.2934169866 0 0 -0.2211005088 0 0 0.1719768419 0 0 -0.1264110105 0 0 0.09633444148 0 0 -0.0671320704 0 0 0.04871801761 0 0 -0.02997287934 0 0 0.02072338012 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 1 -ad : 2 4.049413304 -R : 0 -1 0 -iw : 5 -0.3081647953 -0.1489748547 0.03076805933 -0.001523706378 0.006426347822 -0.01410552495 -0.01543931492 -0.01300999451 0.01041755272 -0.008471659874 0.007650252678 -0.007420803177 -0.006889940756 -0.2794011989 0.1658896586 0.335272523 0.08681977944 -0.0515477515 --0.1041809649 -0.00652757487 0.003875635362 0.007832881551 0.0001753964826 -0.0001041386462 --0.0002104701822 -0.008804036906 0.00522724556 0.01056456335 0.01356757091 -0.008055511984 --0.01628065215 -0.01352379648 0.00802952167 0.01622812424 0.0106049444 -0.006296503423 --0.01272559487 -0.008146296935 0.004836723759 0.009775296375 0.007165656686 -0.00425448547 --0.008598559368 -0.006638772881 0.003941657269 0.007966315615 0.006341379538 -0.003765085084 --0.007609453093 -0.006022941141 0.00357601776 0.007227337178 0.01681450711 -0.1666197475 --0.3367480747 -0.1525796667 0.1999383802 -0.00333731776 0.0330704337 0.06683724495 -0.03028377985 -0.03968346517 -0.0003603349676 0.003570661984 0.007216512847 0.003269782985 --0.004284680442 7.545805912e-05 -0.0007477354333 -0.001511216235 -0.0006847281003 0.0008972586598 -0.0006741706264 -0.006680549054 -0.01350177314 -0.006117617888 0.00801644569 -0.0008869281327 -0.008788823875 0.01776271758 0.008048240605 -0.0105463082 0.0007581998766 -0.007513218864 --0.01518464663 -0.006880123438 0.009015622892 -0.0005785214213 0.005732733795 0.01158618409 -0.005249669531 -0.006879097624 0.000437827076 -0.004338553393 -0.008768465466 -0.003972968634 -0.005206125629 -0.0003928324364 0.003892688673 0.007867347271 0.00356467435 -0.004671102192 -0.000393880306 -0.003903072312 -0.007888333203 -0.003574183021 0.004683562228 -0.0003681517722 -0.003648120932 0.007373061827 0.003340714916 -0.004377628707 0.0003394439779 -0.003363647208 --0.006798124101 -0.003080212145 0.004036269316 -ad : 5 2.795323233 -R : 0 0 0 -iw : 0 -0.3833026496 0.04192197847 -0.09426235355 -0.02183070322 0.01771206218 0.0006126649246 -0.001953735908 -0.0007767780669 0.0007291998248 -0.002900800574 0.001820827427 -0.0005479057962 -0.001108995715 -0.01731347881 0.3940151289 0.3100393286 -0.007033173254 0.1600589169 -0.1259458216 0.002121608906 -0.04828296011 -0.03799249176 0.001746748422 -0.03975199395 --0.03127971647 -0.0003020539422 0.006874056004 0.005408999687 -1.186097803e-05 0.0002699286976 -0.0002123992356 -0.0001048958923 0.002387190291 0.001878412327 -1.569053401e-05 0.0003570806219 -0.0002809766127 -9.650796572e-05 0.002196300291 0.001728206401 0.0001498256656 -0.003409689041 --0.00268298759 -4.554417932e-05 0.001036481223 0.0008155776744 2.882297753e-05 -0.0006559449624 --0.000516144485 -6.738082868e-05 0.001533433355 0.001206615211 -0.210199324 -0.01980791468 --0.01558628621 0.08583648544 0.3547081807 -0.1327199893 -0.01250673015 -0.009841191201 -0.05419721248 0.2239629749 -0.003297314971 -0.0003107190469 -0.0002444960044 0.001346483533 -0.005564169152 0.0226293163 0.002132450086 0.001677964485 -0.009240852644 -0.03818662906 -0.0007735155422 7.289143262e-05 5.735620076e-05 -0.0003158709282 -0.001305295781 0.0009690780874 -9.132006567e-05 7.185716937e-05 -0.0003957303742 -0.001635304618 -0.0001956512363 -1.843699076e-05 --1.450754506e-05 7.989566367e-05 0.0003301585026 -0.0003120322215 -2.940403186e-05 -2.313719862e-05 -0.0001274207201 0.0005265496553 -0.002336644164 -0.0002201912325 -0.0001732622351 0.0009541863357 -0.003943051692 0.001508095136 0.0001421137767 0.0001118252998 -0.0006158420672 -0.002544887737 --5.166350976e-06 -4.868457109e-07 -3.830850805e-07 2.109718537e-06 8.718139147e-06 0.0005877294166 -5.53840703e-05 4.358015395e-05 -0.0002400037572 -0.0009917845031 -0.0009731034956 -9.169939582e-05 --7.215565351e-05 0.0003973741801 0.001642097434 -iw : 1 -0.005992492998 0.01110818264 0.000361166697 -0.003941958994 -0.001239529925 0.00166720488 -0.0005385812647 -0.0004116000897 -0.0004980116011 0.0002785666072 9.502390894e-05 4.187858265e-05 --0.0001507556129 0.2651418655 0.00696304543 0.005479022941 0.08775319231 0.01299613935 -0.01022629342 -0.02511483007 0.004371500502 0.003439809747 -0.02797941457 -0.003030102203 --0.002384301474 0.007568037333 -0.002720987209 -0.002141067654 0.004305943008 0.0008252999931 -0.0006494051549 0.002336551682 0.001153385307 0.0009075661821 -0.004814283344 5.910696506e-06 -4.650959423e-06 0.00187466465 -0.0006390520911 -0.0005028519637 -0.001071475857 7.189579825e-06 -5.657276431e-06 0.001913675707 0.0001638022354 0.0001288913328 -0.001825033169 0.0001129011941 -8.883874721e-05 0.00137918433 -0.0001257427565 -9.894340836e-05 -0.01843511634 0.2836394571 -0.2231878433 0.001643365027 0.006790993549 -0.01592801892 0.1520497021 0.1196435976 -0.003337957851 0.01379367935 -0.005144062954 0.006908152702 0.005435829411 0.001948168051 -0.008050552648 0.002627508427 -0.03870594655 -0.03045661145 -0.0002697015962 -0.001114506984 -0.002236903799 -0.002532813566 -0.001992999152 -0.000856880687 -0.003540948677 -1.296955248e-05 -0.005331488055 0.004195196722 -0.0001046696396 -0.0004325337556 -0.001120773281 0.006620566202 -0.005209535751 0.0003189756278 0.00131812555 -5.857161232e-05 -0.005203670772 -0.004094620928 -0.0001311092761 0.0005417921358 0.0002663321349 0.0008652315434 0.0006808261591 -0.000126083153 --0.0005210223321 0.0002411549764 -0.001607234708 -0.001264687402 -6.486605029e-05 -0.0002680505681 --0.0002014594754 0.002662866862 0.002095334401 2.696503021e-05 0.0001114295018 9.127525398e-06 --0.001993768967 -0.001568840246 3.740396616e-05 0.0001545670552 -4.817355432e-05 0.001532622845 -0.001205977444 -1.202580146e-05 -4.969507006e-05 -iw : 2 --0.1363754175 -0.2527967986 -0.008219326932 0.0897099594 0.02820886251 -0.03794176509 --0.01225687621 0.009367075456 0.01133360357 -0.006339538049 -0.002162526558 -0.000953060637 -0.003430852512 0.00696304543 0.1069848615 -0.1246900149 0.01299613935 -0.2074381122 --0.2327270195 0.004371500502 -0.1244080818 -0.0782821925 -0.003030102203 0.04084562629 -0.05426124138 -0.002720987209 0.06937191169 0.04872579664 0.0008252999931 -0.01443973022 --0.01477897415 0.001153385307 -0.02386117551 -0.02065412793 5.910696506e-06 -0.004948537538 --0.0001058451855 -0.0006390520911 0.0163899461 0.01144375914 7.189579825e-06 -0.001234778311 --0.0001287466561 0.0001638022354 -0.001806890396 -0.002933271566 0.0001129011941 -0.00438944479 --0.002021766441 -0.0001257427565 0.004235276228 0.002251725389 -0.07239376297 -0.003849738079 -0.006790993549 0.2466194609 0.06893878595 0.09779326418 0.01081468468 0.01379367935 -0.0768557038 -0.1936628458 0.1043231504 0.009907780998 0.008050552648 -0.03697812496 --0.1774225621 0.007352389374 0.0002871415457 -0.001114506984 -0.0326303931 -0.005141957492 --0.04617735612 -0.004380049925 -0.003540948677 0.01677009191 0.07843529041 -0.008897415068 --0.0007828982005 -0.0004325337556 0.007689375436 0.01401966844 0.01391158361 0.001380997139 -0.00131812555 -0.000564980733 -0.02473006325 0.01029357436 0.000915865257 0.0005417921358 --0.008157162433 -0.01640076224 -0.007509339809 -0.0006988847873 -0.0005210223321 0.003705499999 -0.01251520695 -0.002678396271 -0.000269372002 -0.0002680505681 -0.0001460006567 0.004823751227 --3.824214848e-05 2.432791059e-05 0.0001114295018 0.002055427066 -0.0004356495393 0.003230637438 -0.0002836615932 0.0001545670552 -0.002836366115 -0.005079640602 -0.001553454221 -0.0001303785162 --4.969507006e-05 0.001803527432 0.002334739775 -iw : 3 --0.1073099478 -0.1989186302 -0.006467555221 0.07059022242 0.02219675376 -0.02985529872 --0.009644588219 0.007370685979 0.00891809117 -0.004988402669 -0.001701630808 -0.0007499363816 -0.002699640525 0.005479022941 -0.1246900149 0.1673327938 0.01022629342 -0.2327270195 --0.09480203266 0.003439809747 -0.0782821925 -0.0865207781 -0.002384301474 0.05426124138 -0.01458407097 -0.002141067654 0.04872579664 0.04578942129 0.0006494051549 -0.01477897415 --0.007286947914 0.0009075661821 -0.02065412793 -0.01386491465 4.650959423e-06 -0.0001058451855 --0.004897310195 -0.0005028519637 0.01144375914 0.01085135343 5.657276431e-06 -0.0001287466561 --0.001172467031 0.0001288913328 -0.002933271566 -0.0003872348269 8.883874721e-05 -0.002021766441 --0.003410942826 -9.894340836e-05 0.002251725389 0.003145477886 -0.05696459863 0.006790993549 --0.007136468133 -0.2529146364 0.1624096718 0.07695074567 0.01379367935 0.004138768977 --0.1800238423 -0.09418890393 0.08208892794 0.008050552648 0.006011444895 -0.04067619759 --0.1368067193 0.005785386647 -0.001114506984 0.000826544738 0.03533523757 -0.01881026541 --0.03633565171 -0.003540948677 -0.002666288551 0.01749309468 0.06067862148 -0.007001123541 --0.0004325337556 -0.0005735589214 -0.002301829961 0.01305288757 0.01094663054 0.00131812555 -0.0007430458835 -0.01097947873 -0.0169100227 0.008099721684 0.0005417921358 0.0006536467049 -0.001722988175 -0.01487550212 -0.005908886493 -0.0005210223321 -0.0004467184813 0.001599889168 -0.01016628963 -0.002107554052 -0.0002680505681 -0.0001396399014 0.002438047931 0.003177884373 --3.00916619e-05 0.0001114295018 -2.960214984e-05 -0.002583104228 0.0006736771398 0.002542096963 -0.0001545670552 0.0002088536609 0.0008922407417 -0.004753031036 -0.001222369063 -4.969507006e-05 --0.0001063269132 -0.0009884429909 0.002419757051 -ad : 13 0 -R : 0 0 0 -iw : 4 -0.7032204055 0.5544559883 0.363270429 0.1985231277 0.1293770322 0.07072134775 -0.0546083141 0.0295329376 0.02595975093 0.0128918805 0.01275414576 0.005221808601 -0.006204537017 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 -iat : 2 -ad : 9 2.716543093 -R : 0 1 0 -iw : 0 -0.3920975068 0.0610492225 -0.09242817617 -0.02878085824 0.01578740862 0.001770631289 -0.001866859518 -0.00035289801 0.001204909314 -0.003038929755 0.001239073499 -0.0004283101106 -0.00128502048 0.4291374145 0.1395608292 -0.2176833589 0.1951604878 0.06346862005 --0.09899670609 -0.0412743795 -0.01342294201 0.02093675653 -0.04692716416 -0.01526129795 -0.02380417641 0.003981474343 0.001294825019 -0.002019634455 0.0006316721588 0.0002054276493 --0.0003204207151 0.002038081274 0.0006628094012 -0.001033832899 0.0003846623899 0.0001250969976 --0.0001951230497 0.00320056058 0.001040862142 -0.001623509752 -0.00321348701 -0.001045065978 -0.001630066786 0.0004641024213 0.0001509318847 -0.0002354196361 -0.0009321542761 -0.0003031481744 -0.0004728426536 0.00178191133 0.0005794997464 -0.0009038886623 0.2469817752 0.169978338 --0.2651277995 -0.03960455436 -0.0862228608 0.1689251238 0.1162580185 -0.1813362396 --0.02708784583 -0.05897280246 0.0140731935 0.009685484039 -0.0151071666 -0.00225669508 --0.004913038637 -0.02635092796 -0.01813529333 0.0282869598 0.00422548084 0.009199271452 --0.002766213191 -0.001903769298 0.002969449935 0.0004435737843 0.0009657020835 -0.001095850997 --0.0007541889724 0.001176364383 0.0001757242629 0.000382568341 -0.0003843621107 -0.0002645265333 -0.0004126016203 6.163406226e-05 0.0001341831831 -0.0002008329271 -0.0001382176768 0.0002155883445 -3.220439473e-05 7.011201336e-05 0.00316105214 0.002175506224 -0.003393298139 -0.0005068878513 --0.001103542796 -0.001090212609 -0.0007503085083 0.001170311736 0.0001748201239 0.0003805999449 --0.0002013070915 -0.0001385440072 0.0002160973463 3.228042896e-05 7.027754707e-05 -0.0009699524222 --0.0006675427795 0.0010412159 0.000155535903 0.0003386163721 0.001100796393 0.0007575925036 --0.001181673122 -0.0001765172777 -0.0003842948093 -iw : 1 --0.1466801853 -0.2853950475 -0.03037430083 0.09524596444 0.04356065125 -0.03565841288 --0.01983968765 0.005649692562 0.01476577383 -0.00367605674 -0.003168065626 -0.002582074219 -0.00370485933 0.09106243141 -0.05905704993 0.09211565354 -0.2526049438 -0.1153525052 -0.1799238434 -0.1643664947 -0.04701606712 0.07333444109 0.03552465569 0.02163980561 --0.03375320709 0.08765426134 0.02708156576 -0.04224112332 -0.004299131807 -0.003011783119 -0.004697701133 -0.02968488511 -0.01084260793 0.0169120184 -0.0125926086 -0.002580969806 -0.004025729709 0.01750674697 0.005308276755 -0.008279712296 0.002776997048 0.001275683871 --0.001989778589 -0.001177663457 -0.001057721539 0.001649806601 -0.006183675685 -0.001467655855 -0.002289211507 0.003788479679 0.0008234982187 -0.001284471146 0.2452991435 0.02304765064 --0.03594912722 0.0181576516 0.03953092496 -0.03068122092 -0.1064105638 0.1659764354 -0.0385600313 0.0839488353 -0.1345922263 -0.1020311087 0.1591454749 0.02529045146 -0.05505970491 -0.04591903311 -0.01188559 0.01853883477 -0.0004129932264 -0.0008991253164 -0.05334660952 0.04047513865 -0.06313207066 -0.01003760831 -0.02185282269 0.02358382917 -0.01408926884 -0.02197607583 -0.002937105114 -0.006394355638 -0.009477792424 -0.01068259364 -0.01666243227 0.00316040539 0.006880501458 -0.01965860016 -0.01141940818 0.01781169646 -0.002320129078 0.005051140451 0.00606564072 0.004048095337 -0.00631411403 -0.000922793642 --0.00200900904 0.004029066152 0.003799701287 -0.005926675438 -0.001051048342 -0.002288231653 -0.003396743817 0.0009715688696 -0.001515427904 -5.877441576e-06 -1.279574622e-05 -0.005225882505 --0.002722033161 0.004245756669 0.0004930774212 0.001073476183 0.001815162483 0.0005045731105 --0.0007870200405 2.624053752e-06 5.712813212e-06 -iw : 2 --0.04770222218 -0.09281402215 -0.009878100742 0.03097517329 0.01416646604 -0.01159655976 --0.006452113395 0.001837350351 0.004802013459 -0.001195499413 -0.001030294379 -0.0008397226785 -0.001204866374 -0.05905704993 0.2534516369 0.02995715722 -0.1153525052 0.06457990862 -0.05851347363 -0.04701606712 -0.03508638683 0.02384927314 0.02163980561 -0.02397833073 --0.01097696312 0.02708156576 0.0131880638 -0.01373733914 -0.003011783119 0.003982370034 -0.001527750887 -0.01084260793 0.0001290403724 0.005499998911 -0.002580969806 -0.005495714388 -0.001309217415 0.005308276755 0.002910575207 -0.002692665507 0.001275683871 -0.000730751653 --0.0006471007665 -0.001057721539 0.00173075409 0.000536537644 -0.001467655855 -0.002148061504 -0.0007444800789 0.0008234982187 0.001524106136 -0.0004177260063 -0.09512515864 0.2851553916 -0.03953092496 0.1068833641 -0.1446473352 -0.1123157861 0.1278594629 0.0839488353 -0.07162499965 -0.06485772716 -0.05505138322 -0.01527382987 0.05505970491 0.01473746299 -0.007747771406 0.008723100914 -0.04142105765 -0.0008991253164 -0.01379242149 0.02101116019 -0.02186124872 0.005999612511 -0.02185282269 -0.005869513873 -0.003043351056 0.005100186976 -0.008661298337 -0.006394355638 0.0005283575446 -0.004393512313 -0.008073225486 0.004449189534 -0.006880501458 0.003909317611 -0.002256886697 -0.003861530486 -0.007732895388 0.005051140451 --0.0007071376233 0.003922572549 0.001820950054 0.001557276127 -0.00200900904 -0.0002125362163 --0.0007899406731 0.00254227761 -0.0007201001259 -0.002288231653 -0.001053095184 0.0003652765032 --0.0005344517276 0.002918127701 -1.279574622e-05 0.0009444321275 -0.001480243433 -0.0006502460715 --0.002551007045 0.001073476183 -0.00044544485 0.001294018567 -0.0003031394382 0.001582485971 -5.712813212e-06 0.000516688632 -0.0008027285664 -iw : 3 -0.07440468796 0.1447689026 0.01540760513 -0.04831427128 -0.02209648602 0.0180880129 -0.010063839 -0.002865851385 -0.007490055948 0.001864708952 0.001607026428 0.001309777637 --0.001879319295 0.09211565354 0.02995715722 0.2259313284 0.1799238434 0.05851347363 -0.01082618192 0.07333444109 0.02384927314 -0.05699565372 -0.03375320709 -0.01097696312 --0.01389428275 -0.04224112332 -0.01373733914 0.0258079465 0.004697701133 0.001527750887 -0.002578893219 0.0169120184 0.005499998911 -0.004923564095 0.004025729709 0.001309217415 --0.006698434219 -0.008279712296 -0.002692665507 0.005384207291 -0.001989778589 -0.0006471007665 --0.0001362889491 0.001649806601 0.000536537644 0.001237860811 0.002289211507 0.0007444800789 --0.002831982253 -0.001284471146 -0.0004177260063 0.001907852445 0.1483737533 0.03953092496 -0.2488400884 0.1482926712 0.08092589438 0.1751872478 0.0839488353 0.05073940028 -0.07259905156 0.01650108459 0.08586771857 0.05505970491 -0.0658547328 -0.002670452161 --0.02141677889 -0.01360606638 -0.0008991253164 -0.0405950712 -0.02109407284 -0.0132020225 --0.0340986083 -0.02185282269 0.02607482913 0.001028197553 0.008479859024 -0.007955139259 --0.006394355638 0.01453550857 0.003803858136 0.004727128329 0.01259240756 0.006880501458 --0.001871621247 0.002891370709 -0.000608674528 0.006023115018 0.005051140451 -0.01237315354 --0.003456782682 -0.004023903558 -0.002840270628 -0.00200900904 0.003402863411 0.000604680322 -0.001106653541 -0.003965378625 -0.002288231653 0.001381996558 -0.0005762853094 0.0004494424841 -0.000833623932 -1.279574622e-05 0.002929882584 0.001479063476 0.0009528342885 0.001014236944 -0.001073476183 -0.003537161888 -0.001195028184 -0.001150329078 0.0004728290271 5.712813212e-06 -0.001577237863 0.0008032553723 0.0005129373872 -ad : 10 4.049413304 -R : 0 1 0 -iw : 4 -0.3081647953 -0.1489748547 0.03076805933 -0.001523706378 0.006426347822 -0.01410552495 -0.01543931492 -0.01300999451 0.01041755272 -0.008471659874 0.007650252678 -0.007420803177 -0.006889940756 0.2794011989 -0.1658896586 -0.335272523 -0.08681977944 0.0515477515 -0.1041809649 0.00652757487 -0.003875635362 -0.007832881551 -0.0001753964826 0.0001041386462 -0.0002104701822 0.008804036906 -0.00522724556 -0.01056456335 -0.01356757091 0.008055511984 -0.01628065215 0.01352379648 -0.00802952167 -0.01622812424 -0.0106049444 0.006296503423 -0.01272559487 0.008146296935 -0.004836723759 -0.009775296375 -0.007165656686 0.00425448547 -0.008598559368 0.006638772881 -0.003941657269 -0.007966315615 -0.006341379538 0.003765085084 -0.007609453093 0.006022941141 -0.00357601776 -0.007227337178 0.01681450711 -0.1666197475 --0.3367480747 -0.1525796667 0.1999383802 -0.00333731776 0.0330704337 0.06683724495 -0.03028377985 -0.03968346517 -0.0003603349676 0.003570661984 0.007216512847 0.003269782985 --0.004284680442 7.545805912e-05 -0.0007477354333 -0.001511216235 -0.0006847281003 0.0008972586598 -0.0006741706264 -0.006680549054 -0.01350177314 -0.006117617888 0.00801644569 -0.0008869281327 -0.008788823875 0.01776271758 0.008048240605 -0.0105463082 0.0007581998766 -0.007513218864 --0.01518464663 -0.006880123438 0.009015622892 -0.0005785214213 0.005732733795 0.01158618409 -0.005249669531 -0.006879097624 0.000437827076 -0.004338553393 -0.008768465466 -0.003972968634 -0.005206125629 -0.0003928324364 0.003892688673 0.007867347271 0.00356467435 -0.004671102192 -0.000393880306 -0.003903072312 -0.007888333203 -0.003574183021 0.004683562228 -0.0003681517722 -0.003648120932 0.007373061827 0.003340714916 -0.004377628707 0.0003394439779 -0.003363647208 --0.006798124101 -0.003080212145 0.004036269316 -ad : 14 0 -R : 0 0 0 -iw : 5 -0.7032204055 0.5544559883 0.363270429 0.1985231277 0.1293770322 0.07072134775 -0.0546083141 0.0295329376 0.02595975093 0.0128918805 0.01275414576 0.005221808601 -0.006204537017 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 0 0 0 -0 0 0 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/stress_delta_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/stress_delta_ref.dat deleted file mode 100644 index 59b2abb40e..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/stress_delta_ref.dat +++ /dev/null @@ -1,3 +0,0 @@ --1.222217201e-06 -9.226694044e-07 -1.793998509e-09 --9.226694044e-07 -5.946175402e-08 8.325163035e-07 --1.793998509e-09 8.325163035e-07 1.112869552e-06 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/vdpre_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/vdpre_ref.dat deleted file mode 100644 index 8b7a0ec35e..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/vdpre_ref.dat +++ /dev/null @@ -1,972 +0,0 @@ -(0.3147524089,0) (0.3911428714,0) (0.2057672699,0) (0.06817076837,0) (0.01624681051,0) (0.001918900616,0) (8.656155591e-06,0) (0.0003293313421,0) (0.0005165205109,0) (0.0005274892321,0) (0.000308913253,0) (0.0001921098042,0) (7.200817462e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1469209212,0) (0.001757452279,0) (0.008885391297,0) (0.0004765796032,0) (0.0003137171467,0) (3.753583099e-07,0) (3.817084e-06,0) (6.033841652e-07,0) (5.317323845e-07,0) (8.414643968e-06,0) (3.31541252e-06,0) (3.002007615e-07,0) (1.229871495e-06,0) (0.001306177527,0) (1.355168727e-09,0) (0.2503658847,0) (1.046614926e-05,0) (2.060951583e-11,0) (0.04152020624,0) (4.050576507e-07,0) (1.00843227e-12,0) (0.003778769832,0) (1.889305054e-06,0) (8.299835645e-12,0) (0.002559803502,0) (1.316604296e-15,0) (2.853709815e-10,0) (7.660087477e-05,0) (2.266554089e-16,0) (5.359854749e-09,0) (1.127557649e-07,0) (1.456075894e-15,0) (8.395718063e-08,0) (9.154156321e-06,0) (9.161877051e-08,0) (3.993706216e-16,0) (1.150818494e-07,0) (1.068890781e-15,0) (4.419176462e-08,0) (7.775554357e-06,0) (1.628929061e-17,0) (4.528323296e-06,0) (1.43185262e-05,0) (2.455969101e-13,0) (6.161678805e-07,0) (1.125366415e-06,0) (1.15944313e-15,0) (1.58315933e-07,0) (5.391837529e-07,0) (2.24968478e-15,0) (6.286898691e-07,0) (3.183188427e-06,0) (6.2883726e-18,0) (0.0002446691601,0) (8.145458932e-07,0) (5.664740933e-10,0) (0.177759353,0) (2.493664997e-18,0) (2.201408811e-06,0) (0.0003158153936,0) (8.549720567e-10,0) (0.0706465972,0) (1.058791184e-22,0) (2.464242287e-13,0) (6.094571757e-11,0) (1.707997469e-15,0) (4.38015457e-05,0) (8.131516294e-20,0) (2.311133296e-11,0) (9.174418953e-05,0) (8.403150672e-11,0) (0.001971316564,0) (5.29395592e-23,0) (1.266660794e-13,0) (7.775698928e-17,0) (6.88337889e-11,0) (2.410431746e-06,0) (1.356576205e-22,0) (5.576701781e-10,0) (1.468000911e-14,0) (6.062379565e-07,0) (3.176643229e-06,0) (-2.067951531e-24,0) (2.300661614e-12,0) (5.707138741e-16,0) (1.135038219e-09,0) (1.530804122e-07,0) (-1.178732373e-23,0) (3.081533289e-11,0) (8.947554122e-16,0) (2.296325301e-09,0) (3.899274721e-07,0) (6.749793798e-22,0) (8.755362874e-11,0) (1.48542241e-15,0) (8.808607626e-08,0) (2.190836451e-05,0) (-1.058791184e-22,0) (2.423577032e-09,0) (3.638364687e-14,0) (4.518853107e-06,0) (4.641490491e-06,0) (1.413638742e-27,0) (6.210057073e-11,0) (3.638362452e-11,0) (1.650294841e-19,0) (9.04762241e-12,0) (8.271806126e-24,0) (4.100520746e-10,0) (4.164857336e-15,0) (3.101457978e-07,0) (1.081074942e-06,0) (7.940933881e-23,0) (4.313670249e-09,0) (1.26775354e-14,0) (2.818838655e-06,0) (9.917835142e-07,0) -(0.1537404548,0) (0.003727007567,0) (0.00854296775,0) (0.0008283378013,0) (0.000249242271,0) (3.135135163e-06,0) (3.485164461e-06,0) (1.245370055e-07,0) (1.451806454e-06,0) (9.235094054e-06,0) (1.535303137e-06,0) (1.834495508e-07,0) (1.651277635e-06,0) (2.815830936e-10,0) (0.01983051592,0) (0.2311916741,0) (1.480857164e-06,0) (5.065308416e-11,0) (0.05191474862,0) (1.74172454e-07,0) (5.928976114e-13,0) (0.002321923377,0) (5.781125973e-06,0) (1.396714217e-11,0) (0.002995923626,0) (1.300580339e-15,0) (2.083846774e-09,0) (2.160554926e-05,0) (8.895745648e-08,0) (1.874301973e-14,0) (4.549221948e-07,0) (3.009999658e-15,0) (6.499753675e-08,0) (5.596904508e-06,0) (8.516512091e-16,0) (5.426835441e-08,0) (1.474190623e-07,0) (1.228211538e-15,0) (1.807091778e-07,0) (1.378205676e-05,0) (2.933157846e-14,0) (5.773281799e-06,0) (8.30249756e-06,0) (1.793970786e-07,0) (1.57524998e-14,0) (1.14196802e-07,0) (1.547102555e-15,0) (2.937426657e-07,0) (8.906479179e-07,0) (3.127361261e-15,0) (1.516806236e-06,0) (2.811236419e-06,0) (0,0) (1.511060808e-05,0) (5.607603461e-10,0) (0.1487858497,0) (0.02038732434,0) (1.734723476e-18,0) (9.734329973e-09,0) (0.0004046016186,0) (8.829540289e-10,0) (0.0787413867,0) (0,0) (1.175486027e-09,0) (3.16393186e-09,0) (1.818492629e-13,0) (0.0005493161406,0) (0,0) (1.11287863e-09,0) (2.242153709e-05,0) (5.137087983e-11,0) (0.001903470945,0) (-4.235164736e-22,0) (1.177409821e-09,0) (2.273659858e-09,0) (4.248625572e-15,0) (2.121979301e-05,0) (0,0) (1.746371504e-10,0) (3.101321166e-15,0) (2.618867638e-10,0) (3.3303246e-06,0) (-6.6174449e-24,0) (4.476698989e-11,0) (7.989091628e-15,0) (1.282889475e-07,0) (2.814187778e-07,0) (1.654361225e-24,0) (2.426502395e-12,0) (1.278136264e-16,0) (7.949778252e-10,0) (1.110717381e-07,0) (2.436173229e-11,0) (0,0) (3.526056281e-16,0) (7.3810059e-07,0) (2.697616726e-05,0) (0,0) (1.877165974e-10,0) (1.913490841e-14,0) (2.115184742e-06,0) (1.181201865e-06,0) (-1.654361225e-24,0) (6.907330169e-11,0) (1.047719175e-07,0) (7.596810143e-15,0) (7.557011361e-09,0) (1.895051636e-10,0) (0,0) (6.491569902e-15,0) (1.28432286e-06,0) (1.324891707e-06,0) (0,0) (9.739590345e-10,0) (2.829120299e-14,0) (3.141117806e-06,0) (2.187995244e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (0,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-8.67361738e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.376428539e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.421010862e-20,0) (-7.446672951e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (5.29395592e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-3.176373552e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (3.97046694e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.522012327e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.058791184e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (9.264422861e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (6.203854594e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-1.389663429e-22,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (0,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (6.505213035e-19,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (0,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-1.355252716e-20,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (0,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (0,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.084202172e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.032879073e-20,0) (-2.218079147e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.558653716e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.415367389e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.441071348e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (2.067951531e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.714186385e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (9.264422861e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (0,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (2.710505431e-20,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (0,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (5.29395592e-23,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (2.117582368e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.035766083e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.138412281e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.694065895e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (3.726944968e-20,0) (3.933175976e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780888e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (5.823351512e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.514629062e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.808845119e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.249931266e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-1.550963649e-25,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (6.948317145e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (5.128519798e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-4.33680869e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (-5.421010862e-20,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (-8.470329473e-22,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (0,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (0,0) (-4.040786575e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (1.058791184e-22,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (-2.117582368e-22,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424696266e-12,0) (-0.008719428334,0) (0.06301289739,0) (0,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138140965e-13,0) (-6.644558929e-05,0) (0,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (0,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640456e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182199e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (0,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (-5.29395592e-23,0) (-3.139926191e-09,0) (-5.790193031e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (0,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556893e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808167e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-2.117582368e-22,0) (-2.091689037e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.214682481e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0.2791082932,0) (0.02715806816,0) (-0.02846199811,0) (-0.008149020754,0) (0.002851320191,0) (-3.950407327e-05,0) (1.14330723e-05,0) (0.000154869012,0) (-0.0001326794655,0) (8.537678745e-05,0) (-7.412014254e-05,0) (5.873445414e-05,0) (-3.031732376e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1181203825,0) (-0.006245320651,0) (-0.002900269686,0) (3.326358174e-05,0) (0.0001138238722,0) (-8.641960382e-06,0) (3.016434396e-05,0) (1.010587839e-05,0) (7.596477619e-06,0) (2.457459582e-05,0) (1.39297899e-05,0) (4.065901073e-06,0) (7.640914772e-06,0) (-0.01035118577,0) (-1.060983429e-08,0) (0.1844993062,0) (0.0003082971776,0) (-3.414617148e-10,0) (-0.02229074989,0) (-4.695743746e-06,0) (1.512221582e-12,0) (-0.000493871054,0) (2.774482817e-07,0) (1.388386925e-13,0) (1.075209157e-05,0) (1.542408416e-12,0) (-1.658424701e-07,0) (9.590123357e-05,0) (8.91317672e-15,0) (8.216387078e-07,0) (-6.614975308e-06,0) (-5.963206816e-15,0) (-3.894922342e-06,0) (5.496461783e-05,0) (2.139238978e-08,0) (-1.443919701e-14,0) (-6.011743517e-06,0) (4.673910862e-15,0) (-1.74835413e-06,0) (3.005116424e-05,0) (-2.235709583e-16,0) (-5.566167409e-06,0) (4.421606725e-05,0) (-2.755076165e-13,0) (-8.301042594e-07,0) (1.171506491e-05,0) (5.277626819e-15,0) (-9.855585617e-07,0) (7.565601838e-06,0) (4.796833131e-15,0) (-2.467184366e-06,0) (1.707721501e-05,0) (-2.168404345e-18,0) (-0.001440066044,0) (0.0003756619176,0) (-7.980213573e-09,0) (0.06390193245,0) (-5.963111949e-19,0) (4.661129412e-05,0) (-0.001430622896,0) (-5.324722779e-10,0) (-0.006490750649,0) (3.176373552e-22,0) (-1.219047869e-09,0) (6.88256806e-08,0) (-1.492854078e-13,0) (-2.119132764e-05,0) (-2.541098842e-21,0) (3.776952075e-09,0) (-1.772438385e-05,0) (2.737719361e-12,0) (-1.263791935e-05,0) (7.940933881e-22,0) (-1.489280527e-10,0) (2.159069195e-15,0) (1.41805818e-07,0) (-9.41299573e-06,0) (-5.29395592e-22,0) (-2.66680814e-08,0) (8.251120903e-14,0) (-1.360177412e-05,0) (2.890940732e-05,0) (-3.044024654e-22,0) (-2.873311294e-09,0) (-5.553993267e-14,0) (-6.239731814e-07,0) (3.264209423e-06,0) (-6.6174449e-23,0) (8.129572964e-09,0) (-4.505795755e-14,0) (6.797582913e-07,0) (-3.897277635e-06,0) (-2.01170325e-21,0) (-5.801431416e-10,0) (1.621407408e-15,0) (-3.222079977e-06,0) (2.141123947e-05,0) (-4.764560328e-22,0) (-1.220420545e-08,0) (-3.309562665e-14,0) (-9.894086537e-06,0) (2.043898951e-05,0) (-3.101927297e-24,0) (-8.979762109e-12,0) (4.383490997e-09,0) (1.926809819e-16,0) (3.180408848e-08,0) (2.911675756e-22,0) (-7.758571774e-09,0) (1.720215898e-14,0) (-3.727686172e-06,0) (7.582318236e-06,0) (1.32348898e-22,0) (-1.614102532e-08,0) (1.910022905e-14,0) (-3.025162843e-06,0) (8.913907942e-06,0) -(0.2757309677,0) (0.033849107,0) (-0.03357642321,0) (-0.005713665996,0) (0.002042528073,0) (0.0001252214311,0) (0.000101946051,0) (-1.042211491e-05,0) (3.127914568e-05,0) (-3.917751923e-05,0) (1.580332402e-05,0) (-2.236553419e-06,0) (7.972957138e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (6.505213035e-19,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-1.084202172e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.799945013e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.082197684e-20,0) (-7.44667295e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (1.98523347e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-1.588186776e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (5.95570041e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.058791184e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.32348898e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (5.29395592e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (3.101927297e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-5.95570041e-23,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (5.29395592e-23,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (0,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (-1.355252716e-20,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-6.776263578e-21,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (-4.235164736e-22,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (2.117582368e-22,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04586770644,0) (0.1295753448,0) (0.0004442131108,0) (0.1967622424,0) (0.0001704511524,0) (0.07116101842,0) (0.01342434892,0) (0.1479153603,0) (0.05829558339,0) (0.002881188799,0) (0.0986772665,0) (0.03669568318,0) (0.0583789555,0) (0.004863627082,0) (0.02285094543,0) (0.01871025158,0) (0.01720002272,0) (0.0129751607,0) (0.01950909261,0) (0.002216861756,0) (0.007850079801,0) (0.0006684007036,0) (0.01106999276,0) (0.004241350104,0) (0.006378882393,0) (0.0004382569924,0) (0.00246318523,0) (0.0002443597394,0) (0.003066181956,0) (0.001196173181,0) (0.001717101805,0) (2.637892713e-05,0) (0.0006299645073,0) (1.244860412e-05,0) (0.0006474759855,0) (0.0002384489065,0) (0.000314514928,0) (9.546434388e-07,0) (0.0001139889123,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(3.590997234e-05,0) (0.0001233917216,0) (1.30441383e-07,0) (1.553904071e-05,0) (1.536434435e-06,0) (2.779572112e-06,0) (2.900697787e-07,0) (1.694146338e-07,0) (2.480155548e-07,0) (7.759935467e-08,0) (9.02954327e-09,0) (1.753815685e-09,0) (2.272725483e-08,0) (0.05134867755,0) (0.01875202135,0) (0.000278013623,0) (0.005748536394,0) (0.00207432931,0) (0.0001512337715,0) (0.0004583230146,0) (0.0001648728595,0) (3.850112287e-05,0) (0.0005754261716,0) (0.0002097466075,0) (1.254127337e-05,0) (1.450462071e-05,0) (4.081696167e-05,0) (1.394154879e-05,0) (4.99941714e-06,0) (1.463681797e-05,0) (7.757214435e-09,0) (1.511410508e-06,0) (4.698023398e-06,0) (1.404013897e-06,0) (8.766678713e-06,0) (6.146623103e-06,0) (8.264078866e-06,0) (9.044095585e-07,0) (2.283550353e-06,0) (9.876553109e-07,0) (3.043249266e-07,0) (6.038139103e-07,0) (2.400053708e-07,0) (9.769650476e-07,0) (1.981749796e-06,0) (7.468840143e-07,0) (8.787060028e-07,0) (1.618326537e-06,0) (8.543525323e-07,0) (5.00506041e-07,0) (9.817712635e-07,0) (4.454731505e-07,0) (3.469446952e-18,0) (0.003515743553,0) (0.09234509611,0) (0.03477975199,0) (1.223510922e-05,0) (4.33680869e-19,0) (4.597357965e-05,0) (0.02740325923,0) (0.01004796136,0) (0.0003916175239,0) (1.694065895e-21,0) (1.460078625e-06,0) (6.30598451e-05,0) (2.330863833e-05,0) (8.451039346e-05,0) (2.710505431e-20,0) (2.399382941e-10,0) (0.001718607472,0) (0.0006467762177,0) (6.859021545e-05,0) (1.482307658e-21,0) (1.335565741e-06,0) (3.205846614e-06,0) (7.65274698e-06,0) (1.646933149e-05,0) (-8.470329473e-22,0) (4.379161533e-06,0) (1.211169872e-05,0) (2.157052131e-05,0) (8.161268252e-06,0) (0,0) (5.33910383e-06,0) (1.925982866e-05,0) (4.905944391e-05,0) (4.081163393e-07,0) (-8.470329473e-22,0) (3.171881935e-06,0) (1.1505279e-05,0) (2.779490012e-05,0) (1.68620799e-06,0) (1.32348898e-23,0) (1.369395562e-07,0) (3.006229585e-07,0) (6.24704245e-07,0) (5.081771609e-07,0) (0,0) (4.516212835e-07,0) (1.131399868e-06,0) (1.789055475e-06,0) (9.447754395e-07,0) (2.117582368e-22,0) (5.10826975e-11,0) (1.696043397e-06,0) (3.063049089e-06,0) (6.775872177e-06,0) (1.058791184e-22,0) (6.382847646e-07,0) (1.694474736e-06,0) (2.713576222e-06,0) (1.415412032e-06,0) (1.058791184e-22,0) (3.927215262e-07,0) (1.006395786e-06,0) (4.761797554e-07,0) (1.932952223e-06,0) -(0.02151507676,0) (0.08145033313,0) (0.0009225981511,0) (0.009071793741,0) (0.001897530337,0) (0.001271522409,0) (0.000393613206,0) (3.191902604e-05,0) (0.0002180280768,0) (1.351339316e-05,0) (1.003663981e-05,0) (6.66710727e-06,0) (1.372598266e-05,0) (0.01971880285,0) (0.0002195616787,0) (0.0003270306584,0) (2.678465689e-05,0) (0.002763516793,0) (0.106697746,0) (8.901625396e-07,0) (0.0001038820182,0) (0.0345000232,0) (1.0786905e-05,0) (0.0002550410404,0) (0.002603733392,0) (5.086780754e-06,0) (1.296261603e-06,0) (0.01019461019,0) (6.255143051e-06,0) (6.536172276e-06,0) (3.683045246e-05,0) (3.540615072e-06,0) (1.378850213e-05,0) (0.0012674418,0) (5.746639196e-06,0) (4.91232311e-05,0) (0.000126571826,0) (3.717599159e-07,0) (5.395422689e-06,0) (0.0003974504446,0) (3.479206662e-07,0) (5.176068333e-06,0) (7.774311777e-06,0) (2.357456293e-06,0) (1.1427038e-06,0) (1.727367798e-06,0) (7.399816442e-07,0) (1.145978052e-05,0) (3.343258584e-05,0) (4.18479744e-07,0) (5.861896876e-06,0) (1.04002171e-05,0) (-5.421010862e-20,0) (9.561558787e-07,0) (0.03485246954,0) (0.02674278495,0) (0.002291387465,0) (0,0) (1.569546168e-06,0) (0.0004250908481,0) (0.01192913133,0) (0.03599121376,0) (-8.67361738e-19,0) (4.328799598e-08,0) (3.906012346e-08,0) (0.0001448848612,0) (0.05737890751,0) (0,0) (1.172235841e-10,0) (9.806088991e-06,0) (0.0006373039673,0) (0.001947382062,0) (0,0) (1.816924258e-07,0) (7.09263354e-07,0) (2.318653812e-05,0) (0.009023977889,0) (0,0) (2.436045478e-08,0) (7.517683295e-06,0) (2.140748389e-07,0) (0.001279410655,0) (0,0) (2.086878003e-08,0) (2.83498791e-05,0) (0.0001528953655,0) (0.0003576463545,0) (0,0) (6.94006599e-09,0) (7.29799041e-06,0) (6.948945167e-06,0) (0.0008507631173,0) (2.393151383e-11,0) (0,0) (2.620125233e-08,0) (2.63818605e-06,0) (9.527036339e-05,0) (0,0) (1.215275915e-09,0) (1.727758853e-06,0) (4.452695345e-05,0) (2.58813648e-05,0) (0,0) (2.542260728e-09,0) (1.109931996e-05,0) (3.064539702e-06,0) (6.121327117e-07,0) (1.401947502e-09,0) (0,0) (1.253713298e-06,0) (2.653165066e-05,0) (2.635447273e-05,0) (-2.64697796e-23,0) (9.160979474e-11,0) (9.092686847e-07,0) (3.096286743e-06,0) (1.632018929e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-3.794707604e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-8.809142651e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-1.694065895e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (1.694065895e-21,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (4.65868121e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (2.117582368e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.705769144e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-2.64697796e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (-5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.32348898e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (4.33680869e-19,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (2.168404345e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (4.065758147e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (0,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (6.776263578e-21,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (-4.235164736e-22,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (-5.29395592e-23,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (4.235164736e-22,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (2.64697796e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (1.734723476e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (6.505213035e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-2.032879073e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (0,0) (-1.267303587e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-1.694065895e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.382280164e-21,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (0,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (3.546950467e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-3.30872245e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (5.29395592e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-6.505213035e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (-4.33680869e-19,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (-2.710505431e-20,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (-5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (1.694065895e-21,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-4.235164736e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (5.29395592e-23,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-5.421010862e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (0,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (5.421010862e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (0,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (6.776263578e-21,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (0,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (1.694065895e-21,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (2.117582368e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (4.235164736e-22,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0005994385344,0) (-0.1985188841,0) (-0.001140207266,0) (-0.07488263132,0) (2.167276441e-05,0) (-1.025275956e-05,0) (0.0008666908912,0) (0.008349515407,0) (1.159857724e-06,0) (0.0006185982764,0) (0.01711533238,0) (2.254507178e-06,0) (-0.002883854726,0) (-0.0002052737618,0) (-3.899156928e-07,0) (-0.000159158543,0) (-0.0001352381151,0) (-3.706119164e-08,0) (-0.001416265,0) (-0.0001403458379,0) (-1.967367615e-07,0) (7.853055611e-05,0) (0.001110759192,0) (1.500255288e-07,0) (-0.0003981834344,0) (-2.30250586e-05,0) (-5.321609918e-08,0) (2.402907374e-05,0) (0.0002617957008,0) (3.602240965e-08,0) (-0.0002640355922,0) (-2.758564769e-06,0) (-3.410406075e-08,0) (3.284076926e-06,0) (0.000132422448,0) (1.733460305e-08,0) (-7.323759983e-05,0) (-6.375922781e-08,0) (-9.551291528e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.001846675378,0) (-0.001654839895,0) (1.111239836e-05,0) (6.00638806e-06,0) (-7.965650434e-06,0) (-2.351680004e-05,0) (8.315325756e-06,0) (5.354914909e-06,0) (-5.18806211e-06,0) (-2.359921549e-06,0) (7.269569138e-07,0) (-3.107727192e-07,0) (-1.038697242e-06,0) (-0.06490133507,0) (-3.946716758e-05,0) (-0.006148089778,0) (0.007225280791,0) (3.425681516e-06,0) (-0.001345300549,0) (0.0001579544268,0) (1.933599988e-08,0) (4.985113502e-05,0) (-4.842011333e-06,0) (-6.979482776e-10,0) (7.525934897e-07,0) (1.618918448e-07,0) (-6.272074233e-05,0) (-4.091314267e-05,0) (-1.323759753e-09,0) (4.293660645e-05,0) (-1.735049015e-06,0) (1.921228267e-10,0) (-2.913583491e-05,0) (2.152582244e-05,0) (-2.092592279e-07,0) (1.791320429e-09,0) (-5.094414221e-05,0) (1.359553096e-10,0) (-1.256793796e-05,0) (-1.07102183e-05,0) (3.055871646e-11,0) (-2.032540034e-06,0) (-5.724551057e-06,0) (5.494923794e-10,0) (-1.488701156e-06,0) (-9.543865412e-06,0) (1.452900029e-10,0) (-3.151034807e-06,0) (-9.523435361e-06,0) (7.154815394e-11,0) (-3.083106532e-06,0) (-6.388466763e-06,0) (-8.67361738e-19,0) (0.005458852868,0) (-0.1264871219,0) (-6.252989909e-05,0) (-0.0005301535656,0) (0,0) (-0.0002130075372,0) (0.01332630147,0) (1.825408291e-06,0) (-0.0004832594551,0) (1.694065895e-21,0) (-2.967339092e-06,0) (7.000924065e-05,0) (1.743942639e-08,0) (-2.943530294e-05,0) (0,0) (-1.216966884e-08,0) (7.671321961e-05,0) (7.595298963e-09,0) (-2.357373937e-06,0) (8.470329473e-22,0) (-4.8359186e-07,0) (-4.383976412e-10,0) (4.728265869e-05,0) (-2.460472004e-05,0) (1.694065895e-21,0) (-2.363189478e-06,0) (-2.370021663e-09,0) (8.113426703e-05,0) (4.633762748e-05,0) (-3.388131789e-21,0) (4.377140531e-06,0) (1.020286978e-08,0) (-0.0001297244959,0) (5.329791181e-06,0) (0,0) (2.608211516e-06,0) (5.109376555e-09,0) (-7.478601065e-05,0) (-8.104477101e-06,0) (-2.117582368e-22,0) (2.294365191e-08,0) (2.306630744e-11,0) (-8.580644554e-06,0) (-3.260951961e-06,0) (3.176373552e-22,0) (1.665974296e-07,0) (1.845548891e-10,0) (-6.225489374e-06,0) (-9.221360182e-06,0) (-1.058791184e-21,0) (8.144303457e-12,0) (9.464237249e-07,0) (8.301088797e-10,0) (-2.75231617e-05,0) (-8.470329473e-22,0) (3.061043593e-07,0) (3.46976802e-10,0) (-1.102623907e-05,0) (-8.675920207e-06,0) (0,0) (1.540103829e-07,0) (1.701788421e-10,0) (-1.243366357e-06,0) (-1.244429397e-05,0) -(-0.1031484994,0) (-0.1582389931,0) (-0.01103408529,0) (0.01890852676,0) (0.005635747778,0) (-0.002521811017,0) (-0.001083411895,0) (0.0001668520179,0) (0.0003833158109,0) (-4.739128419e-05,0) (-4.040597076e-05,0) (-1.348309736e-05,0) (2.298693686e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.029992064e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.202285663e-20,0) (-2.218079148e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.029258124e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.580803511e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.374896899e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (1.852884572e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.584939414e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (8.602678371e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (-4.33680869e-19,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (0,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (8.470329473e-22,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (1.058791184e-22,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (1.058791184e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-4.878909776e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-3.388131789e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-5.505714157e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (8.470329473e-22,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (2.117582368e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (1.270549421e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.176373552e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-5.29395592e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.588186776e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (0,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (-6.505213035e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (2.710505431e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (5.421010862e-20,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (0,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (0,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (1.058791184e-22,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (0,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (3.97046694e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04715705099,0) (0.02200154358,0) (0.1067286698,0) (0.02202428562,0) (0.17465834,0) (0.07141108635,0) (0.1000731762,0) (0.06107260141,0) (0.05848951507,0) (0.07464156391,0) (0.02679567375,0) (0.03681690082,0) (0.0005054573398,0) (0.06266017622,0) (0.02292789445,0) (0.005280432053,0) (0.03058641266,0) (0.0130185903,0) (4.477807442e-05,0) (0.02165478127,0) (0.007876474827,0) (0.007860017766,0) (0.003864294445,0) (0.004255431357,0) (8.845381168e-05,0) (0.006720385865,0) (0.002471484938,0) (0.00210919833,0) (0.001197367089,0) (0.001200149458,0) (0.0001043161214,0) (0.001637026661,0) (0.0006321024569,0) (0.0005029865235,0) (0.0001561530053,0) (0.0002392339673,0) (3.034857158e-05,0) (0.0002847271479,0) (0.0001143827643,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01859825451,0) (0.06390622139,0) (6.755733522e-05,0) (0.008047876816,0) (0.000795739924,0) (0.001439577538,0) (0.0001502310143,0) (8.77421026e-05,0) (0.0001284505699,0) (4.018974268e-05,0) (4.676521113e-06,0) (9.083245777e-07,0) (1.177074896e-05,0) (0.008307597159,0) (0.01873421824,0) (2.900333486e-08,0) (0.0006427535352,0) (0.002074227619,0) (0.09464435446,0) (4.913666987e-05,0) (0.0001652571093,0) (0.02141018871,0) (0.0001298657198,0) (0.0002102475176,0) (0.004281715785,0) (1.48520788e-05,0) (7.255278567e-06,0) (0.007171961804,0) (5.016290298e-06,0) (8.510401907e-06,0) (0.0004140783138,0) (1.516294083e-06,0) (4.817059328e-06,0) (0.0009909456417,0) (1.489550748e-05,0) (6.169100968e-06,0) (3.434653454e-06,0) (9.073734504e-07,0) (4.539544298e-06,0) (0.0003945514261,0) (3.054738133e-07,0) (6.950824905e-07,0) (5.407485655e-07,0) (9.805598736e-07,0) (1.955658851e-06,0) (8.959547428e-06,0) (8.815473737e-07,0) (7.766105257e-06,0) (1.471985915e-05,0) (5.021918199e-07,0) (5.508541434e-06,0) (1.701290994e-05,0) (6.505213035e-19,0) (0.0003326380646,0) (0.01469282168,0) (0.03477374258,0) (0.02107630735,0) (3.252606517e-19,0) (1.4617477e-05,0) (0.006316834902,0) (0.01007236596,0) (0.03687902424,0) (-2.059984128e-18,0) (2.1761899e-07,0) (8.535073252e-06,0) (2.333908512e-05,0) (0.04386035073,0) (3.388131789e-21,0) (2.12877168e-11,0) (0.0001802105721,0) (0.0006483001201,0) (0.0003180537728,0) (-1.423015351e-19,0) (1.934512603e-07,0) (3.215971441e-06,0) (3.60306497e-07,0) (0.008593632408,0) (9.95263713e-21,0) (3.785330716e-07,0) (1.214894467e-05,0) (8.316142622e-05,0) (0.0002399527039,0) (-2.943439492e-20,0) (1.065981606e-06,0) (1.932844051e-05,0) (1.262102486e-07,0) (0.0007885513656,0) (-1.905824131e-20,0) (2.756248094e-07,0) (1.154541289e-05,0) (1.377253857e-05,0) (0.0004170207456,0) (1.334076892e-20,0) (1.372912756e-08,0) (3.015892013e-07,0) (1.65338949e-06,0) (0.000225542516,0) (-7.27918939e-22,0) (1.277388161e-07,0) (1.135050709e-06,0) (1.097300767e-05,0) (1.837231386e-05,0) (0,0) (2.299303327e-09,0) (3.123692756e-07,0) (3.074695245e-06,0) (1.039677966e-06,0) (6.882142696e-22,0) (4.239383809e-08,0) (1.699838817e-06,0) (1.420235844e-05,0) (2.844450342e-05,0) (-2.779326858e-22,0) (2.066829092e-08,0) (1.009713072e-06,0) (8.983597702e-06,0) (1.122430129e-06,0) -(0.002275502001,0) (0.008614442707,0) (9.757687426e-05,0) (0.0009594613604,0) (0.0002006887602,0) (0.0001344801982,0) (4.162976727e-05,0) (3.375856311e-06,0) (2.305933326e-05,0) (1.429218846e-06,0) (1.061506507e-06,0) (7.051341767e-07,0) (1.451702978e-06,0) (0.0197919787,0) (0.04576663462,0) (0.003064285325,0) (0.006931890706,0) (0.002776848162,0) (0.01119185278,0) (0.0002405708549,0) (0.0001044086936,0) (0.003665373389,0) (0.0006670496628,0) (0.0002562656941,0) (0.0002404198937,0) (5.111300906e-06,0) (1.4983551e-05,0) (0.001075955865,0) (7.907287005e-06,0) (6.558427154e-06,0) (1.279841726e-05,0) (3.558166217e-06,0) (2.878390215e-06,0) (0.0001413922296,0) (5.77551433e-06,0) (2.981494912e-05,0) (2.987868567e-06,0) (3.734951082e-07,0) (2.875161334e-06,0) (4.065104123e-05,0) (3.494642989e-07,0) (1.349041095e-09,0) (2.229293379e-06,0) (2.854297262e-07,0) (1.146538659e-06,0) (2.970188831e-06,0) (7.434637826e-07,0) (5.101582132e-06,0) (1.477386609e-06,0) (4.203040616e-07,0) (2.548710907e-06,0) (2.065288763e-07,0) (0,0) (0.00381120272,0) (0.03499174491,0) (0.02310179904,0) (0.06236724561,0) (0,0) (0.001009633108,0) (0.0298739139,0) (0.0119849688,0) (0.002478434544,0) (0,0) (1.099057939e-05,0) (0.0003399323208,0) (0.000145642374,0) (0.00607617128,0) (-5.421010862e-20,0) (2.892328027e-07,0) (0.001438457613,0) (0.0006405979474,0) (0.0003449598824,0) (-1.355252716e-20,0) (4.286455912e-05,0) (9.37661877e-06,0) (2.331100428e-05,0) (0.0009596164022,0) (-3.388131789e-21,0) (5.739308119e-06,0) (7.551310522e-06,0) (1.320365452e-05,0) (0.0001350056191,0) (-1.694065895e-21,0) (4.544913819e-06,0) (2.850249043e-05,0) (6.63333715e-06,0) (0.0001130091179,0) (0,0) (1.524088828e-06,0) (7.334038823e-06,0) (2.344902083e-05,0) (8.380257917e-05,0) (1.053196334e-08,0) (2.117582368e-22,0) (2.631799423e-08,0) (5.681500867e-07,0) (9.841263226e-06,0) (0,0) (4.420829531e-07,0) (1.736699721e-06,0) (1.043708995e-06,0) (1.023766845e-05,0) (-4.235164736e-22,0) (6.41372051e-07,0) (3.151162781e-06,0) (3.071688387e-06,0) (5.020121102e-06,0) (3.257591355e-07,0) (-1.058791184e-22,0) (1.259765493e-06,0) (8.095219997e-06,0) (2.749685552e-07,0) (5.29395592e-23,0) (2.494036453e-07,0) (9.133146635e-07,0) (8.753312292e-07,0) (1.469478759e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (0,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.33680869e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (5.717472394e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.270549421e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.651714247e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (-1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.911675756e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-4.63221143e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-9.264422861e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (-8.67361738e-19,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (-1.084202172e-19,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-2.710505431e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-2.541098842e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (4.235164736e-22,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (0,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (-2.117582368e-22,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (6.938893904e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-8.67361738e-19,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-3.388131789e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (8.470329473e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (-1.694065895e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (4.235164736e-22,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (6.352747104e-22,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (-4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-4.235164736e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-2.117582368e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0006078052747,0) (-0.0818026201,0) (0.01767374832,0) (-0.0250530803,0) (0.0006937595959,0) (1.027075844e-05,0) (-0.002366336259,0) (0.005365100259,0) (-1.161785369e-06,0) (-0.003148568976,0) (0.008918855406,0) (-2.258227789e-06,0) (-0.000268341271,0) (-0.0007367991449,0) (3.905716485e-07,0) (8.455219191e-05,0) (-0.0001803428258,0) (3.712316421e-08,0) (-6.785138147e-05,0) (-0.0004386388888,0) (1.970672368e-07,0) (-0.0002692972928,0) (0.0006562681882,0) (-1.502743643e-07,0) (-4.688880524e-05,0) (-9.016405225e-05,0) (5.330567966e-08,0) (-7.059613306e-05,0) (0.000163597705,0) (-3.608223219e-08,0) (-6.507889457e-05,0) (-2.173113939e-05,0) (3.416188227e-08,0) (-2.087522514e-05,0) (6.50316769e-05,0) (-1.736311552e-08,0) (-2.275006274e-05,0) (-1.101125681e-06,0) (9.567778006e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04202610262,0) (0.03766036634,0) (-0.0002528927387,0) (-0.0001366916373,0) (0.0001812799621,0) (0.0005351885142,0) (-0.0001892377717,0) (-0.0001218656003,0) (0.0001180684127,0) (5.370641011e-05,0) (-1.654387459e-05,0) (7.072475403e-06,0) (2.363837055e-05,0) (-0.0261051813,0) (3.944842813e-05,0) (6.279587704e-05,0) (0.002416007754,0) (-3.425597545e-06,0) (0.03365443351,0) (5.171884636e-05,0) (-1.935851884e-08,0) (-0.001175570287,0) (-2.300267057e-06,0) (6.987811895e-10,0) (-1.390588258e-05,0) (-1.638194283e-07,0) (-2.644343681e-05,0) (0.0009279537109,0) (1.325991733e-09,0) (-3.274005584e-05,0) (0.0004008668033,0) (-1.924329641e-10,0) (2.950263984e-05,0) (-0.0005718721755,0) (-2.727688202e-07,0) (-1.794592821e-09,0) (3.284267252e-05,0) (-1.361779008e-10,0) (-1.772004666e-05,0) (0.0002140658698,0) (-3.061634471e-11,0) (-2.18074922e-06,0) (8.592680047e-06,0) (-5.505024031e-10,0) (1.478868857e-06,0) (-3.305527393e-05,0) (-1.455247171e-10,0) (-6.902743869e-06,0) (3.953000872e-05,0) (-7.166854507e-11,0) (-7.303006439e-06,0) (3.947982096e-05,0) (-4.33680869e-19,0) (0.001679108527,0) (-0.05045358095,0) (6.252449675e-05,0) (0.02200366493,0) (3.794707604e-19,0) (-0.0001201094063,0) (0.006398207008,0) (-1.827623733e-06,0) (0.004689634674,0) (-7.115076757e-20,0) (-1.145585351e-06,0) (2.575624477e-05,0) (-1.745081276e-08,0) (0.0006705783039,0) (-4.235164736e-22,0) (-3.62487904e-09,0) (2.484116704e-05,0) (-7.604241534e-09,0) (-5.076304556e-06,0) (-1.355252716e-20,0) (-1.840484349e-07,0) (4.390893776e-10,0) (1.025957234e-05,0) (0.0005620420754,0) (-8.470329473e-22,0) (-6.94792267e-07,0) (2.373663017e-09,0) (0.0001593070373,0) (-0.000251256781,0) (1.270549421e-21,0) (1.955830264e-06,0) (-1.022102714e-08,0) (-6.579728783e-06,0) (-0.0002342789111,0) (-5.929230631e-21,0) (7.688532502e-07,0) (-5.11828032e-09,0) (-5.264350621e-05,0) (0.0001274524706,0) (4.870439447e-21,0) (7.264731325e-09,0) (-2.310334681e-11,0) (-1.395951307e-05,0) (6.869909882e-05,0) (-1.799945013e-21,0) (8.860179887e-08,0) (-1.848524135e-10,0) (1.541787193e-05,0) (-4.066423592e-05,0) (1.058791184e-22,0) (-5.464056351e-11,0) (4.061638748e-07,0) (-8.316854796e-10,0) (-1.078115126e-05,0) (-8.470329473e-22,0) (7.888849008e-08,0) (-3.475255682e-10,0) (-2.522531665e-05,0) (3.889316497e-05,0) (-7.940933881e-22,0) (3.533132544e-08,0) (-1.704590834e-10,0) (-5.400560006e-06,0) (9.482860461e-06,0) -(-0.03354517603,0) (-0.05146129038,0) (-0.003588421894,0) (0.006149288282,0) (0.001832815333,0) (-0.0008201243352,0) (-0.0003523390349,0) (5.426235325e-05,0) (0.0001246590734,0) (-1.541223556e-05,0) (-1.314052468e-05,0) (-4.384871105e-06,0) (7.475638015e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.252606517e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.029992064e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.778769189e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (1.016439537e-20,0) (3.933175975e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780887e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (6.088049308e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.713152409e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.80884512e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.514629062e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-7.754818243e-26,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (7.610061635e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (4.63221143e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-8.67361738e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (0,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (0,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (-2.64697796e-23,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (-8.470329473e-22,0) (-4.040786576e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (5.29395592e-23,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (0,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (2.168404345e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (8.67361738e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-1.355252716e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (1.355252716e-20,0) (-1.267303586e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-2.117582368e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.117582368e-22,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (-4.235164736e-21,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (5.29395592e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-4.367513634e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (-1.32348898e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-2.168404345e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (0,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (0,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (0,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-8.470329473e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (0,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (2.439454888e-19,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.607859233e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (6.035109749e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.482307658e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.672890071e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.382280164e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-3.97046694e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-6.6174449e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (0,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (0,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-5.421010862e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-5.082197684e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (0,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (-1.058791184e-22,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (0,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.08286250691,0) (0.02431037598,0) (0.06871438145,0) (0.04930718395,0) (0.09326492082,0) (0.1255216072,0) (0.1061377676,0) (0.01064733091,0) (0.1028501942,0) (0.06073138578,0) (0.01278119823,0) (0.06474155448,0) (0.02720911517,0) (0.01856972471,0) (0.04031468813,0) (0.02489475137,0) (0.001098999625,0) (0.02289168401,0) (0.01002216348,0) (0.005704391145,0) (0.01384947954,0) (0.007451325099,0) (0.001045456362,0) (0.007482962107,0) (0.00281298841,0) (0.002121681757,0) (0.004345654447,0) (0.002153156807,0) (0.0002431658316,0) (0.002110392238,0) (0.000552027313,0) (0.0007100396512,0) (0.001111378275,0) (0.0003829383684,0) (9.474450534e-05,0) (0.0004206906223,0) (8.459498418e-05,0) (0.0001437766924,0) (0.0002010868071,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01151542489,0) (0.03956862145,0) (4.182927054e-05,0) (0.004982979502,0) (0.0004926958775,0) (0.0008913388619,0) (9.301808191e-05,0) (5.432701179e-05,0) (7.953235012e-05,0) (2.488416119e-05,0) (2.895547407e-06,0) (5.624045764e-07,0) (7.288058967e-06,0) (0.01044095573,0) (0.03297631033,0) (0.0001606173415,0) (0.001446472844,0) (0.003652617632,0) (0.05815477759,0) (0.0001173327325,0) (0.0002910130741,0) (0.01321743319,0) (8.960512001e-05,0) (0.000370321967,0) (0.002702735249,0) (2.612306591e-05,0) (7.450636785e-06,0) (0.004441884828,0) (8.839061027e-06,0) (2.57761275e-05,0) (0.0002373242255,0) (2.671175919e-06,0) (1.079249771e-05,0) (0.0006061888617,0) (4.643013261e-07,0) (1.085909936e-05,0) (1.26714713e-05,0) (1.598089418e-06,0) (2.20050347e-07,0) (0.0002471462147,0) (5.375848748e-07,0) (1.919689554e-09,0) (8.5178208e-07,0) (1.732231442e-06,0) (4.45895687e-06,0) (2.579457553e-06,0) (1.552409348e-06,0) (1.30742986e-06,0) (1.287012362e-05,0) (8.842413405e-07,0) (1.047868629e-06,0) (1.304197819e-05,0) (-6.505213035e-19,0) (0.0009533201785,0) (0.01896428393,0) (0.06121497228,0) (0.0125521507,0) (-3.252606517e-19,0) (4.931195373e-06,0) (0.004185764753,0) (0.017738704,0) (0.02547954574,0) (-1.219727444e-18,0) (3.110674544e-07,0) (1.42753078e-05,0) (4.111206382e-05,0) (0.02715447401,0) (1.355252716e-20,0) (6.693630906e-11,0) (0.0004446572613,0) (0.001141388293,0) (5.175547801e-05,0) (-2.710505431e-20,0) (2.896624921e-07,0) (5.66493273e-06,0) (2.653219922e-06,0) (0.005319222649,0) (4.446922973e-21,0) (1.23469439e-06,0) (2.140210977e-05,0) (1.142126714e-05,0) (0.0001911500099,0) (4.235164736e-21,0) (9.22882494e-07,0) (3.405631521e-05,0) (2.500444833e-05,0) (0.000468632467,0) (-1.270549421e-20,0) (8.923175134e-07,0) (2.033674126e-05,0) (1.365401367e-06,0) (0.0002679810755,0) (-3.388131789e-21,0) (3.61685241e-08,0) (5.311357506e-07,0) (1.40319171e-07,0) (0.0001405914279,0) (7.676236084e-22,0) (5.585209319e-08,0) (1.999539627e-06,0) (1.227245632e-05,0) (6.248313256e-06,0) (2.64697796e-23,0) (1.724997877e-09,0) (3.122744061e-07,0) (5.411018301e-06,0) (1.415448965e-06,0) (8.999725065e-22,0) (1.989853278e-07,0) (2.994061638e-06,0) (2.564169571e-06,0) (2.415994883e-05,0) (-5.29395592e-23,0) (1.319703087e-07,0) (1.777963699e-06,0) (3.027655855e-06,0) (3.402615008e-06,0) -(0.00553605759,0) (0.02095803515,0) (0.0002373942959,0) (0.002334268809,0) (0.0004882546943,0) (0.0003271762106,0) (0.0001012808553,0) (8.213104159e-06,0) (5.610093811e-05,0) (3.477139478e-06,0) (2.582533942e-06,0) (1.715517459e-06,0) (3.531841012e-06,0) (0.03483145319,0) (0.02253296123,0) (0.003063275652,0) (0.003468356907,0) (0.004882815777,0) (0.02756244955,0) (0.0001539254955,0) (0.0001835979054,0) (0.008857709221,0) (0.0002891550959,0) (0.0004506771526,0) (0.0007129915528,0) (8.993340896e-06,0) (4.250060433e-06,0) (0.002625833686,0) (1.60314874e-05,0) (1.152525194e-05,0) (3.496369595e-06,0) (6.261644115e-06,0) (1.658833738e-05,0) (0.0003176578563,0) (1.01594509e-05,0) (1.337741548e-06,0) (5.129237847e-05,0) (6.572109132e-07,0) (2.20383207e-07,0) (0.0001039161773,0) (6.150600883e-07,0) (2.836013573e-06,0) (9.454592508e-07,0) (2.430401289e-06,0) (2.015296627e-06,0) (9.633593424e-08,0) (1.307998808e-06,0) (7.127991709e-07,0) (1.179406541e-05,0) (7.39491486e-07,0) (3.820896297e-07,0) (4.342680978e-06,0) (0,0) (0.002099748074,0) (0.06156955733,0) (7.114789054e-05,0) (0.05029811769,0) (0,0) (0.0005299594019,0) (0.01318363225,0) (0.02107802791,0) (0.01106375401,0) (2.168404345e-19,0) (7.058923414e-06,0) (0.0001891960434,0) (0.0002561189377,0) (0.01475511786,0) (0,0) (1.711878633e-07,0) (0.0009584736151,0) (0.001126274353,0) (0.0003682274248,0) (-2.710505431e-20,0) (2.7652106e-05,0) (8.673773527e-06,0) (4.097130545e-05,0) (0.002315825677,0) (0,0) (3.702756937e-06,0) (1.329608283e-05,0) (5.70924401e-06,0) (0.0003295600291,0) (2.541098842e-21,0) (2.946557407e-06,0) (5.015820037e-05,0) (0.0001264260713,0) (3.861267461e-05,0) (-6.776263578e-21,0) (9.875766575e-07,0) (1.29029779e-05,0) (2.779852115e-06,0) (0.0002263576027,0) (6.573952743e-09,0) (-4.235164736e-22,0) (4.630728464e-08,0) (4.275873786e-07,0) (2.47925857e-05,0) (3.705769144e-22,0) (2.784547616e-07,0) (3.05584326e-06,0) (1.806598778e-05,0) (2.003963724e-06,0) (4.235164736e-22,0) (4.120885495e-07,0) (1.368540015e-06,0) (5.405814955e-06,0) (5.188382974e-06,0) (2.103438461e-07,0) (-8.470329473e-22,0) (2.21632634e-06,0) (2.994934864e-06,0) (1.202228621e-05,0) (-1.058791184e-22,0) (1.473351266e-07,0) (1.60672927e-06,0) (3.824359347e-07,0) (1.483102828e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566194e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (0,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-1.694065895e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (-6.776263578e-21,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (5.082197684e-21,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (0,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (-8.470329473e-22,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (0,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-1.270549421e-21,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (4.235164736e-22,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-8.470329473e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0008056940932,0) (0.08598772848,0) (0.01418116593,0) (0.03748567322,0) (0.0005069597758,0) (-1.361692173e-05,0) (-0.002436983511,0) (-0.002240139213,0) (1.540598429e-06,0) (-0.002840072602,0) (-0.006159742645,0) (2.994578451e-06,0) (0.001968803752,0) (-0.0004011031198,0) (-5.179052102e-07,0) (0.0001835878932,0) (-3.418482576e-05,0) (-4.922683088e-08,0) (0.001015095094,0) (-0.0002251307824,0) (-2.613155229e-07,0) (-0.0002622025914,0) (-0.0003413494461,0) (1.992736509e-07,0) (0.0002644203416,0) (-5.066131264e-05,0) (-7.068415912e-08,0) (-7.132799777e-05,0) (-7.372500718e-05,0) (4.784728731e-08,0) (0.0001497079056,0) (-1.431185483e-05,0) (-4.529799756e-08,0) (-1.821450758e-05,0) (-5.065552207e-05,0) (2.302489451e-08,0) (3.798269516e-05,0) (-7.824682005e-07,0) (-1.268593802e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.03306914808,0) (0.02963387403,0) (-0.0001989941228,0) (-0.0001075587721,0) (0.0001426440602,0) (0.0004211246611,0) (-0.0001489058348,0) (-9.589258415e-05,0) (9.290468493e-05,0) (4.226005073e-05,0) (-1.301790565e-05,0) (5.565130283e-06,0) (1.860036328e-05,0) (0.02926571414,0) (-5.233749665e-05,0) (0.004673081751,0) (-0.00362435917,0) (4.545799097e-06,0) (0.02638077972,0) (-7.992001587e-05,0) (2.568906514e-08,0) (-0.0009236595288,0) (1.910721583e-06,0) (-9.273966112e-10,0) (-1.104819657e-05,0) (2.172620418e-07,0) (2.679708471e-05,0) (0.000730282638,0) (-1.760161639e-09,0) (-5.697878921e-05,0) (0.0003034798675,0) (2.554106455e-10,0) (4.416018281e-05,0) (-0.0004472785039,0) (-4.815784398e-08,0) (2.380958854e-09,0) (6.308274014e-05,0) (1.807232962e-10,0) (-3.901393542e-06,0) (0.0001694230918,0) (4.06153188e-11,0) (-1.146048646e-07,0) (1.07843805e-05,0) (7.316866297e-10,0) (2.233056699e-06,0) (-1.773625471e-05,0) (1.931154678e-10,0) (-2.832235242e-06,0) (3.696293445e-05,0) (9.509970693e-11,0) (-3.185200628e-06,0) (3.456667511e-05,0) (-2.168404345e-18,0) (-0.00284257667,0) (0.05732018934,0) (-8.295705307e-05,0) (0.01698074865,0) (-2.710505431e-19,0) (6.976167755e-05,0) (-0.005208299287,0) (2.425392242e-06,0) (0.003898029682,0) (-8.131516294e-20,0) (1.369639726e-06,0) (-3.330977184e-05,0) (2.316105747e-08,0) (0.0005276356672,0) (2.117582368e-22,0) (6.427763033e-09,0) (-3.902065515e-05,0) (1.008984649e-08,0) (-2.047743501e-06,0) (-1.694065895e-20,0) (2.252124931e-07,0) (-5.827660155e-10,0) (-2.784067985e-05,0) (0.0004421855303,0) (-3.388131789e-21,0) (1.25482395e-06,0) (-3.150489814e-09,0) (5.903793265e-05,0) (-0.0002242549974,0) (-3.388131789e-21,0) (-1.819824513e-06,0) (1.356734793e-08,0) (9.261243859e-05,0) (-0.0001806069212,0) (-7.835054762e-21,0) (-1.383388018e-06,0) (6.792974981e-09,0) (1.657555103e-05,0) (0.0001021695525,0) (2.329340605e-21,0) (-1.179134865e-08,0) (3.065983203e-11,0) (-4.066691132e-06,0) (5.42395716e-05,0) (-9.529120657e-22,0) (-5.858694103e-08,0) (2.453479878e-10,0) (1.630524542e-05,0) (-2.371439697e-05,0) (1.588186776e-22,0) (-4.732725524e-11,0) (-4.061021922e-07,0) (1.103310071e-09,0) (1.257948399e-05,0) (6.352747104e-22,0) (-1.70912097e-07,0) (4.612254458e-10,0) (-1.071839513e-05,0) (3.584446582e-05,0) (-4.235164736e-22,0) (-8.927826945e-08,0) (2.261947935e-10,0) (-3.135211927e-06,0) (1.651072366e-05,0) -(0.05232289484,0) (0.08026798496,0) (0.005597127326,0) (-0.009591500245,0) (-0.002858777782,0) (0.00127920865,0) (0.000549569281,0) (-8.463701011e-05,0) (-0.0001944399869,0) (2.403960497e-05,0) (2.049624931e-05,0) (6.839408132e-06,0) (-1.166030613e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424695399e-12,0) (-0.008719428334,0) (0.06301289739,0) (-4.33680869e-19,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138141033e-13,0) (-6.644558929e-05,0) (8.470329473e-22,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (-8.470329473e-22,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640454e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182211e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (1.058791184e-22,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (0,0) (-3.139926191e-09,0) (-5.790193243e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (8.470329473e-22,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556846e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808164e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-4.235164736e-22,0) (-2.091688994e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.21468247e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-7.589415207e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (2.710505431e-20,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (4.065758147e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (-6.776263578e-21,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (0,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (1.694065895e-21,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (8.470329473e-22,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (4.235164736e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (0,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (1.734723476e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-1.084202172e-18,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-1.694065895e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (6.776263578e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (3.388131789e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (0,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (1.058791184e-21,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-2.117582368e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-6.352747104e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566195e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (-6.776263578e-21,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-3.388131789e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (0,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (0,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (-3.388131789e-21,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (0,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (4.235164736e-22,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-8.470329473e-22,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (1.270549421e-21,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-4.235164736e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0.2370734683,0) (0.0006670533688,0) (0.004066218674,0) (0.0006820777545,0) (0.0005956356081,0) (8.044155541e-06,0) (9.655870575e-06,0) (6.831873609e-05,0) (4.382157398e-05,0) (1.591626787e-05,0) (1.652759785e-05,0) (1.94939596e-05,0) (1.491606603e-05,0) (3.877437899e-09,0) (0.000104543173,0) (0.3087228188,0) (0.0001062601308,0) (0.02189791074,0) (1.451237323e-09,0) (0.00101721631,0) (6.767884142e-05,0) (3.270019455e-11,0) (0.002703808895,0) (4.554381508e-05,0) (7.902103776e-11,0) (3.058225334e-05,0) (0.0002763177339,0) (1.071720204e-11,0) (1.677877475e-07,0) (1.554212663e-07,0) (1.046209416e-14,0) (9.935797639e-06,0) (6.792423503e-05,0) (2.685856042e-12,0) (0.0001254778854,0) (5.197168565e-06,0) (3.878416987e-12,0) (3.452071693e-06,0) (3.698293816e-05,0) (1.425830819e-12,0) (2.421919495e-05,0) (1.387963126e-06,0) (7.687789817e-13,0) (1.030262135e-06,0) (3.786694817e-05,0) (1.535265483e-12,0) (3.118113231e-05,0) (2.989431376e-07,0) (8.846582533e-13,0) (1.823523549e-07,0) (2.000685348e-05,0) (1.00557303e-12,0) (3.415236843e-18,0) (-4.33680869e-19,0) (0,0) (0.03787629397,0) (0.1290043371,0) (9.757819552e-19,0) (1.626303259e-19,0) (1.734723476e-18,0) (0.01166407464,0) (0.02777002614,0) (0,0) (-1.905824131e-21,0) (-6.776263578e-21,0) (0.0001520492622,0) (9.479976155e-05,0) (3.726944968e-20,0) (-1.016439537e-20,0) (0,0) (0.0005765989928,0) (0.002012299337,0) (3.30872245e-24,0) (-2.067951531e-24,0) (4.135903063e-25,0) (2.968303438e-07,0) (9.832055907e-08,0) (-1.058791184e-22,0) (3.97046694e-23,0) (-1.389663429e-22,0) (3.860134312e-07,0) (9.979758691e-06,0) (-1.694065895e-21,0) (4.235164736e-22,0) (-2.01170325e-21,0) (3.578750522e-05,0) (7.498366886e-05,0) (-2.488159283e-21,0) (5.29395592e-23,0) (8.470329473e-22,0) (1.02162398e-05,0) (6.854234909e-05,0) (-1.058791184e-22,0) (-9.264422861e-23,0) (0,0) (9.779609685e-07,0) (8.699365442e-06,0) (-2.117582368e-22,0) (-5.29395592e-23,0) (-1.32348898e-23,0) (4.056902711e-06,0) (8.419618364e-06,0) (0,0) (1.98523347e-23,0) (-1.032321404e-21,0) (5.202177913e-06,0) (1.997650936e-05,0) (5.29395592e-23,0) (-3.176373552e-22,0) (4.764560328e-22,0) (2.701400034e-06,0) (1.519803296e-05,0) (2.117582368e-22,0) (-3.30872245e-23,0) (4.566036981e-22,0) (2.43172997e-06,0) (8.192639034e-06,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (1.073506527e-10,0) (0.04541795873,0) (0.1725741146,0) (0.01007922853,0) (4.289735641e-10,0) (0.01096928929,0) (5.737094057e-05,0) (1.333779821e-12,0) (6.161287463e-05,0) (4.444852922e-08,0) (1.969247442e-15,0) (4.145795013e-08,0) (1.730393003e-13,0) (0.0001003702013,0) (0.0001160749593,0) (5.79959204e-05,0) (1.968726167e-12,0) (0.000456033966,0) (4.122042944e-13,0) (0.0001878179395,0) (0.0003229003659,0) (1.646882568e-13,0) (1.410595769e-05,0) (0.0002999456081,0) (5.102445159e-14,0) (6.696096688e-05,0) (0.0001183515028,0) (8.984760364e-14,0) (5.83628165e-07,0) (0.0001427988773,0) (2.344464954e-06,0) (1.402501907e-15,0) (0.0001207276869,0) (4.655188215e-14,0) (6.221369806e-06,0) (0.0001060713667,0) (3.292207679e-14,0) (1.583941041e-06,0) (9.971418463e-05,0) (-4.33680869e-18,0) (0.009429544937,0) (1.5840107e-13,0) (0.0005109923468,0) (0.194759507,0) (2.710505431e-19,0) (0.002555581156,0) (0.005067391794,0) (1.942355678e-10,0) (0.0004409201741,0) (-3.388131789e-21,0) (2.942625463e-05,0) (5.654394068e-05,0) (2.071868796e-12,0) (8.037295849e-06,0) (-1.058791184e-22,0) (7.348914505e-07,0) (3.230829218e-06,0) (6.964797294e-14,0) (1.567816421e-07,0) (-1.355252716e-20,0) (0.000113937913,0) (0.0001851425888,0) (2.781457311e-11,0) (2.999024015e-05,0) (-6.776263578e-21,0) (1.52722285e-05,0) (1.871511688e-11,0) (0.0005040683449,0) (5.02024039e-05,0) (-1.016439537e-20,0) (1.211469523e-05,0) (6.023879719e-13,0) (0.0001599166819,0) (0.0002441829949,0) (-1.355252716e-20,0) (4.063106018e-06,0) (2.623064153e-13,0) (0.000205223284,0) (3.30332097e-05,0) (2.733646717e-08,0) (8.470329473e-22,0) (4.552654708e-15,0) (0.000111644296,0) (2.711731612e-05,0) (-6.776263578e-21,0) (1.172473665e-06,0) (1.533275629e-13,0) (1.278860789e-05,0) (9.776751272e-05,0) (2.541098842e-21,0) (1.709717327e-06,0) (1.530464362e-07,0) (1.424655546e-13,0) (0.0001104626914,0) (8.6197615e-07,0) (-2.964615315e-21,0) (6.739760524e-14,0) (2.211632354e-05,0) (7.515207224e-05,0) (4.65868121e-21,0) (6.315078598e-07,0) (3.652790367e-14,0) (1.2355385e-07,0) (8.266795114e-05,0) -(0.2422309801,0) (0.001121531446,0) (0.004001037327,0) (0.0008151232336,0) (0.0005459492306,0) (2.557736886e-06,0) (1.207525027e-05,0) (7.053714984e-05,0) (3.864594342e-05,0) (1.483042612e-05,0) (1.714442183e-05,0) (1.870975941e-05,0) (1.379834849e-05,0) (1.742864286e-07,0) (0.005638823192,0) (-0.03005885845,0) (-0.001740184869,0) (-0.0002456493842,0) (-1.464161271e-09,0) (-0.0002385746382,0) (0.0001785998502,0) (-2.747021514e-11,0) (-0.0005992538639,0) (0.000367698185,0) (-1.046201884e-10,0) (-6.600547482e-05,0) (4.89280251e-05,0) (-8.444216063e-12,0) (-4.766178062e-07,0) (4.06527398e-07,0) (-3.327915718e-14,0) (-3.196151495e-05,0) (2.456646172e-05,0) (-3.639065293e-12,0) (-3.402544542e-05,0) (2.406742621e-05,0) (-4.536703068e-12,0) (-9.26298144e-06,0) (6.688627696e-06,0) (-1.280349392e-12,0) (-7.564880206e-06,0) (5.569965596e-06,0) (-9.132222426e-13,0) (-6.467528051e-06,0) (3.305101292e-06,0) (-1.683603403e-12,0) (-5.197553094e-06,0) (2.84540489e-06,0) (-1.055854317e-12,0) (-1.763474399e-06,0) (2.918850479e-07,0) (-8.970932822e-13,0) (0,0) (-1.734723476e-18,0) (0,0) (0.04120751152,0) (-0.1209002553,0) (8.67361738e-19,0) (2.168404345e-19,0) (-8.67361738e-19,0) (0.01059505292,0) (-0.03117134266,0) (0,0) (-6.776263578e-21,0) (-3.388131789e-21,0) (5.404029922e-05,0) (-0.0002719614938,0) (-8.131516294e-20,0) (-1.355252716e-20,0) (2.032879073e-20,0) (0.0006347062577,0) (-0.001863912343,0) (2.64697796e-23,0) (-5.95570041e-23,0) (1.32348898e-23,0) (-2.21524732e-08,0) (1.343238814e-06,0) (1.058791184e-22,0) (1.058791184e-22,0) (1.058791184e-22,0) (9.509644464e-07,0) (-4.130367749e-06,0) (0,0) (-2.117582368e-22,0) (0,0) (3.035209207e-05,0) (-9.01449982e-05,0) (1.799945013e-21,0) (2.117582368e-22,0) (0,0) (1.50771313e-05,0) (-4.735466163e-05,0) (-2.64697796e-23,0) (-2.117582368e-22,0) (0,0) (1.62071298e-06,0) (-5.352223079e-06,0) (5.29395592e-22,0) (2.64697796e-22,0) (5.29395592e-23,0) (3.422835305e-06,0) (-1.01749705e-05,0) (-2.117582368e-22,0) (-1.058791184e-22,0) (1.058791184e-21,0) (5.992220638e-06,0) (-1.768270685e-05,0) (-2.117582368e-22,0) (-2.117582368e-22,0) (2.117582368e-22,0) (3.697399502e-06,0) (-1.132169379e-05,0) (0,0) (-1.091878409e-22,0) (-2.448454613e-22,0) (2.631726242e-06,0) (-7.718453293e-06,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2791082932,0) (0.02715806816,0) (-0.02846199811,0) (-0.008149020754,0) (0.002851320191,0) (-3.950407327e-05,0) (1.14330723e-05,0) (0.000154869012,0) (-0.0001326794655,0) (8.537678745e-05,0) (-7.412014254e-05,0) (5.873445414e-05,0) (-3.031732376e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1181203825,0) (-0.006245320651,0) (-0.002900269686,0) (3.326358174e-05,0) (0.0001138238722,0) (-8.641960382e-06,0) (3.016434396e-05,0) (1.010587839e-05,0) (7.596477619e-06,0) (2.457459582e-05,0) (1.39297899e-05,0) (4.065901073e-06,0) (7.640914772e-06,0) (-0.01035118577,0) (-1.060983429e-08,0) (0.1844993062,0) (0.0003082971776,0) (-3.414617148e-10,0) (-0.02229074989,0) (-4.695743746e-06,0) (1.512221582e-12,0) (-0.000493871054,0) (2.774482817e-07,0) (1.388386925e-13,0) (1.075209157e-05,0) (1.542408416e-12,0) (-1.658424701e-07,0) (9.590123357e-05,0) (8.91317672e-15,0) (8.216387078e-07,0) (-6.614975308e-06,0) (-5.963206816e-15,0) (-3.894922342e-06,0) (5.496461783e-05,0) (2.139238978e-08,0) (-1.443919701e-14,0) (-6.011743517e-06,0) (4.673910862e-15,0) (-1.74835413e-06,0) (3.005116424e-05,0) (-2.235709583e-16,0) (-5.566167409e-06,0) (4.421606725e-05,0) (-2.755076165e-13,0) (-8.301042594e-07,0) (1.171506491e-05,0) (5.277626819e-15,0) (-9.855585617e-07,0) (7.565601838e-06,0) (4.796833131e-15,0) (-2.467184366e-06,0) (1.707721501e-05,0) (-4.011548038e-18,0) (-0.001440066044,0) (0.0003756619176,0) (-7.98021357e-09,0) (0.06390193245,0) (-5.692061406e-19,0) (4.661129412e-05,0) (-0.001430622896,0) (-5.324722776e-10,0) (-0.006490750649,0) (8.470329473e-22,0) (-1.219047869e-09,0) (6.88256806e-08,0) (-1.492854078e-13,0) (-2.119132764e-05,0) (-2.64697796e-21,0) (3.776952075e-09,0) (-1.772438385e-05,0) (2.737719363e-12,0) (-1.263791935e-05,0) (2.382280164e-22,0) (-1.489280527e-10,0) (2.159068983e-15,0) (1.41805818e-07,0) (-9.41299573e-06,0) (-1.058791184e-21,0) (-2.66680814e-08,0) (8.251120861e-14,0) (-1.360177412e-05,0) (2.890940732e-05,0) (-2.051407919e-22,0) (-2.873311294e-09,0) (-5.553993283e-14,0) (-6.239731814e-07,0) (3.264209423e-06,0) (3.044024654e-22,0) (8.129572964e-09,0) (-4.505795755e-14,0) (6.797582913e-07,0) (-3.897277635e-06,0) (-7.940933881e-23,0) (-5.801431416e-10,0) (1.621406561e-15,0) (-3.222079977e-06,0) (2.141123947e-05,0) (-1.058791184e-22,0) (-1.220420545e-08,0) (-3.309562665e-14,0) (-9.894086537e-06,0) (2.043898951e-05,0) (-3.567216392e-24,0) (-8.979762109e-12,0) (4.383490997e-09,0) (1.926809811e-16,0) (3.180408848e-08,0) (1.786710123e-22,0) (-7.758571774e-09,0) (1.720215909e-14,0) (-3.727686172e-06,0) (7.582318236e-06,0) (-1.32348898e-23,0) (-1.614102532e-08,0) (1.910022884e-14,0) (-3.025162843e-06,0) (8.913907942e-06,0) -(0.2757309677,0) (0.033849107,0) (-0.03357642321,0) (-0.005713665996,0) (0.002042528073,0) (0.0001252214311,0) (0.000101946051,0) (-1.042211491e-05,0) (3.127914568e-05,0) (-3.917751923e-05,0) (1.580332402e-05,0) (-2.236553419e-06,0) (7.972957138e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0005994385344,0) (-0.1985188841,0) (-0.001140207266,0) (-0.07488263132,0) (2.167276441e-05,0) (-1.025275956e-05,0) (0.0008666908912,0) (0.008349515407,0) (1.159857724e-06,0) (0.0006185982764,0) (0.01711533238,0) (2.254507178e-06,0) (-0.002883854726,0) (-0.0002052737618,0) (-3.899156928e-07,0) (-0.000159158543,0) (-0.0001352381151,0) (-3.706119164e-08,0) (-0.001416265,0) (-0.0001403458379,0) (-1.967367615e-07,0) (7.853055611e-05,0) (0.001110759192,0) (1.500255288e-07,0) (-0.0003981834344,0) (-2.30250586e-05,0) (-5.321609918e-08,0) (2.402907374e-05,0) (0.0002617957008,0) (3.602240965e-08,0) (-0.0002640355922,0) (-2.758564769e-06,0) (-3.410406075e-08,0) (3.284076926e-06,0) (0.000132422448,0) (1.733460305e-08,0) (-7.323759983e-05,0) (-6.375922781e-08,0) (-9.551291528e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.001846675378,0) (-0.001654839895,0) (1.111239836e-05,0) (6.00638806e-06,0) (-7.965650434e-06,0) (-2.351680004e-05,0) (8.315325756e-06,0) (5.354914909e-06,0) (-5.18806211e-06,0) (-2.359921549e-06,0) (7.269569138e-07,0) (-3.107727192e-07,0) (-1.038697242e-06,0) (-0.06490133507,0) (-3.946716758e-05,0) (-0.006148089778,0) (0.007225280791,0) (3.425681516e-06,0) (-0.001345300549,0) (0.0001579544268,0) (1.933599988e-08,0) (4.985113502e-05,0) (-4.842011333e-06,0) (-6.979482776e-10,0) (7.525934897e-07,0) (1.618918448e-07,0) (-6.272074233e-05,0) (-4.091314267e-05,0) (-1.323759753e-09,0) (4.293660645e-05,0) (-1.735049015e-06,0) (1.921228267e-10,0) (-2.913583491e-05,0) (2.152582244e-05,0) (-2.092592279e-07,0) (1.791320429e-09,0) (-5.094414221e-05,0) (1.359553096e-10,0) (-1.256793796e-05,0) (-1.07102183e-05,0) (3.055871646e-11,0) (-2.032540034e-06,0) (-5.724551057e-06,0) (5.494923794e-10,0) (-1.488701156e-06,0) (-9.543865412e-06,0) (1.452900029e-10,0) (-3.151034807e-06,0) (-9.523435361e-06,0) (7.154815394e-11,0) (-3.083106532e-06,0) (-6.388466763e-06,0) (-8.67361738e-19,0) (0.005458852868,0) (-0.1264871219,0) (-6.252989909e-05,0) (-0.0005301535656,0) (1.084202172e-19,0) (-0.0002130075372,0) (0.01332630147,0) (1.825408291e-06,0) (-0.0004832594551,0) (-8.470329473e-22,0) (-2.967339092e-06,0) (7.000924065e-05,0) (1.743942639e-08,0) (-2.943530294e-05,0) (2.541098842e-21,0) (-1.216966884e-08,0) (7.671321961e-05,0) (7.595298963e-09,0) (-2.357373937e-06,0) (1.270549421e-21,0) (-4.8359186e-07,0) (-4.383976412e-10,0) (4.728265869e-05,0) (-2.460472004e-05,0) (0,0) (-2.363189478e-06,0) (-2.370021663e-09,0) (8.113426703e-05,0) (4.633762748e-05,0) (-8.470329473e-22,0) (4.377140531e-06,0) (1.020286978e-08,0) (-0.0001297244959,0) (5.329791181e-06,0) (0,0) (2.608211516e-06,0) (5.109376555e-09,0) (-7.478601065e-05,0) (-8.104477101e-06,0) (-1.058791184e-22,0) (2.294365191e-08,0) (2.306630744e-11,0) (-8.580644554e-06,0) (-3.260951961e-06,0) (6.352747104e-22,0) (1.665974296e-07,0) (1.845548891e-10,0) (-6.225489374e-06,0) (-9.221360182e-06,0) (-8.470329473e-22,0) (8.144303457e-12,0) (9.464237249e-07,0) (8.301088797e-10,0) (-2.75231617e-05,0) (-4.235164736e-22,0) (3.061043593e-07,0) (3.46976802e-10,0) (-1.102623907e-05,0) (-8.675920207e-06,0) (4.235164736e-22,0) (1.540103829e-07,0) (1.701788421e-10,0) (-1.243366357e-06,0) (-1.244429397e-05,0) -(-0.1031484994,0) (-0.1582389931,0) (-0.01103408529,0) (0.01890852676,0) (0.005635747778,0) (-0.002521811017,0) (-0.001083411895,0) (0.0001668520179,0) (0.0003833158109,0) (-4.739128419e-05,0) (-4.040597076e-05,0) (-1.348309736e-05,0) (2.298693686e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0006078052747,0) (-0.0818026201,0) (0.01767374832,0) (-0.0250530803,0) (0.0006937595959,0) (1.027075844e-05,0) (-0.002366336259,0) (0.005365100259,0) (-1.161785369e-06,0) (-0.003148568976,0) (0.008918855406,0) (-2.258227789e-06,0) (-0.000268341271,0) (-0.0007367991449,0) (3.905716485e-07,0) (8.455219191e-05,0) (-0.0001803428258,0) (3.712316421e-08,0) (-6.785138147e-05,0) (-0.0004386388888,0) (1.970672368e-07,0) (-0.0002692972928,0) (0.0006562681882,0) (-1.502743643e-07,0) (-4.688880524e-05,0) (-9.016405225e-05,0) (5.330567966e-08,0) (-7.059613306e-05,0) (0.000163597705,0) (-3.608223219e-08,0) (-6.507889457e-05,0) (-2.173113939e-05,0) (3.416188227e-08,0) (-2.087522514e-05,0) (6.50316769e-05,0) (-1.736311552e-08,0) (-2.275006274e-05,0) (-1.101125681e-06,0) (9.567778006e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04202610262,0) (0.03766036634,0) (-0.0002528927387,0) (-0.0001366916373,0) (0.0001812799621,0) (0.0005351885142,0) (-0.0001892377717,0) (-0.0001218656003,0) (0.0001180684127,0) (5.370641011e-05,0) (-1.654387459e-05,0) (7.072475403e-06,0) (2.363837055e-05,0) (-0.0261051813,0) (3.944842813e-05,0) (6.279587704e-05,0) (0.002416007754,0) (-3.425597545e-06,0) (0.03365443351,0) (5.171884636e-05,0) (-1.935851884e-08,0) (-0.001175570287,0) (-2.300267057e-06,0) (6.987811895e-10,0) (-1.390588258e-05,0) (-1.638194283e-07,0) (-2.644343681e-05,0) (0.0009279537109,0) (1.325991733e-09,0) (-3.274005584e-05,0) (0.0004008668033,0) (-1.924329641e-10,0) (2.950263984e-05,0) (-0.0005718721755,0) (-2.727688202e-07,0) (-1.794592821e-09,0) (3.284267252e-05,0) (-1.361779008e-10,0) (-1.772004666e-05,0) (0.0002140658698,0) (-3.061634471e-11,0) (-2.18074922e-06,0) (8.592680047e-06,0) (-5.505024031e-10,0) (1.478868857e-06,0) (-3.305527393e-05,0) (-1.455247171e-10,0) (-6.902743869e-06,0) (3.953000872e-05,0) (-7.166854507e-11,0) (-7.303006439e-06,0) (3.947982096e-05,0) (0,0) (0.001679108527,0) (-0.05045358095,0) (6.252449675e-05,0) (0.02200366493,0) (2.168404345e-19,0) (-0.0001201094063,0) (0.006398207008,0) (-1.827623733e-06,0) (0.004689634674,0) (-8.470329473e-20,0) (-1.145585351e-06,0) (2.575624477e-05,0) (-1.745081276e-08,0) (0.0006705783039,0) (-4.235164736e-22,0) (-3.62487904e-09,0) (2.484116704e-05,0) (-7.604241534e-09,0) (-5.076304556e-06,0) (-4.235164736e-20,0) (-1.840484349e-07,0) (4.390893775e-10,0) (1.025957234e-05,0) (0.0005620420754,0) (-3.388131789e-21,0) (-6.94792267e-07,0) (2.373663017e-09,0) (0.0001593070373,0) (-0.000251256781,0) (2.117582368e-22,0) (1.955830264e-06,0) (-1.022102714e-08,0) (-6.579728783e-06,0) (-0.0002342789111,0) (-8.470329473e-22,0) (7.688532502e-07,0) (-5.11828032e-09,0) (-5.264350621e-05,0) (0.0001274524706,0) (0,0) (7.264731325e-09,0) (-2.310334681e-11,0) (-1.395951307e-05,0) (6.869909882e-05,0) (-1.270549421e-21,0) (8.860179887e-08,0) (-1.848524135e-10,0) (1.541787193e-05,0) (-4.066423592e-05,0) (-1.588186776e-22,0) (-5.464056351e-11,0) (4.061638748e-07,0) (-8.316854796e-10,0) (-1.078115126e-05,0) (7.940933881e-22,0) (7.888849008e-08,0) (-3.475255682e-10,0) (-2.522531665e-05,0) (3.889316497e-05,0) (-1.164670302e-21,0) (3.533132544e-08,0) (-1.704590834e-10,0) (-5.400560006e-06,0) (9.482860461e-06,0) -(-0.03354517603,0) (-0.05146129038,0) (-0.003588421894,0) (0.006149288282,0) (0.001832815333,0) (-0.0008201243352,0) (-0.0003523390349,0) (5.426235325e-05,0) (0.0001246590734,0) (-1.541223556e-05,0) (-1.314052468e-05,0) (-4.384871105e-06,0) (7.475638015e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0008056940932,0) (0.08598772848,0) (0.01418116593,0) (0.03748567322,0) (0.0005069597758,0) (-1.361692173e-05,0) (-0.002436983511,0) (-0.002240139213,0) (1.540598429e-06,0) (-0.002840072602,0) (-0.006159742645,0) (2.994578451e-06,0) (0.001968803752,0) (-0.0004011031198,0) (-5.179052102e-07,0) (0.0001835878932,0) (-3.418482576e-05,0) (-4.922683088e-08,0) (0.001015095094,0) (-0.0002251307824,0) (-2.613155229e-07,0) (-0.0002622025914,0) (-0.0003413494461,0) (1.992736509e-07,0) (0.0002644203416,0) (-5.066131264e-05,0) (-7.068415912e-08,0) (-7.132799777e-05,0) (-7.372500718e-05,0) (4.784728731e-08,0) (0.0001497079056,0) (-1.431185483e-05,0) (-4.529799756e-08,0) (-1.821450758e-05,0) (-5.065552207e-05,0) (2.302489451e-08,0) (3.798269516e-05,0) (-7.824682005e-07,0) (-1.268593802e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.03306914808,0) (0.02963387403,0) (-0.0001989941228,0) (-0.0001075587721,0) (0.0001426440602,0) (0.0004211246611,0) (-0.0001489058348,0) (-9.589258415e-05,0) (9.290468493e-05,0) (4.226005073e-05,0) (-1.301790565e-05,0) (5.565130283e-06,0) (1.860036328e-05,0) (0.02926571414,0) (-5.233749665e-05,0) (0.004673081751,0) (-0.00362435917,0) (4.545799097e-06,0) (0.02638077972,0) (-7.992001587e-05,0) (2.568906514e-08,0) (-0.0009236595288,0) (1.910721583e-06,0) (-9.273966112e-10,0) (-1.104819657e-05,0) (2.172620418e-07,0) (2.679708471e-05,0) (0.000730282638,0) (-1.760161639e-09,0) (-5.697878921e-05,0) (0.0003034798675,0) (2.554106455e-10,0) (4.416018281e-05,0) (-0.0004472785039,0) (-4.815784398e-08,0) (2.380958854e-09,0) (6.308274014e-05,0) (1.807232962e-10,0) (-3.901393542e-06,0) (0.0001694230918,0) (4.06153188e-11,0) (-1.146048646e-07,0) (1.07843805e-05,0) (7.316866297e-10,0) (2.233056699e-06,0) (-1.773625471e-05,0) (1.931154678e-10,0) (-2.832235242e-06,0) (3.696293445e-05,0) (9.509970693e-11,0) (-3.185200628e-06,0) (3.456667511e-05,0) (-3.469446952e-18,0) (-0.00284257667,0) (0.05732018934,0) (-8.295705307e-05,0) (0.01698074865,0) (1.626303259e-19,0) (6.976167755e-05,0) (-0.005208299287,0) (2.425392242e-06,0) (0.003898029682,0) (-7.115076757e-20,0) (1.369639726e-06,0) (-3.330977184e-05,0) (2.316105747e-08,0) (0.0005276356672,0) (2.117582368e-22,0) (6.427763033e-09,0) (-3.902065515e-05,0) (1.008984649e-08,0) (-2.047743501e-06,0) (-3.388131789e-20,0) (2.252124931e-07,0) (-5.827660155e-10,0) (-2.784067985e-05,0) (0.0004421855303,0) (1.694065895e-21,0) (1.25482395e-06,0) (-3.150489814e-09,0) (5.903793265e-05,0) (-0.0002242549974,0) (-2.117582368e-21,0) (-1.819824513e-06,0) (1.356734793e-08,0) (9.261243859e-05,0) (-0.0001806069212,0) (-8.470329473e-22,0) (-1.383388018e-06,0) (6.792974981e-09,0) (1.657555103e-05,0) (0.0001021695525,0) (1.058791184e-22,0) (-1.179134865e-08,0) (3.065983203e-11,0) (-4.066691132e-06,0) (5.42395716e-05,0) (5.29395592e-22,0) (-5.858694103e-08,0) (2.453479878e-10,0) (1.630524542e-05,0) (-2.371439697e-05,0) (2.64697796e-22,0) (-4.732725524e-11,0) (-4.061021922e-07,0) (1.103310071e-09,0) (1.257948399e-05,0) (1.270549421e-21,0) (-1.70912097e-07,0) (4.612254458e-10,0) (-1.071839513e-05,0) (3.584446582e-05,0) (-6.352747104e-22,0) (-8.927826945e-08,0) (2.261947935e-10,0) (-3.135211927e-06,0) (1.651072366e-05,0) -(0.05232289484,0) (0.08026798496,0) (0.005597127326,0) (-0.009591500245,0) (-0.002858777782,0) (0.00127920865,0) (0.000549569281,0) (-8.463701011e-05,0) (-0.0001944399869,0) (2.403960497e-05,0) (2.049624931e-05,0) (6.839408132e-06,0) (-1.166030613e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2422309801,0) (0.001121531446,0) (0.004001037327,0) (0.0008151232336,0) (0.0005459492306,0) (2.557736886e-06,0) (1.207525027e-05,0) (7.053714984e-05,0) (3.864594342e-05,0) (1.483042612e-05,0) (1.714442183e-05,0) (1.870975941e-05,0) (1.379834849e-05,0) (1.742864286e-07,0) (0.005638823192,0) (-0.03005885845,0) (-0.001740184869,0) (-0.0002456493842,0) (-1.464161271e-09,0) (-0.0002385746382,0) (0.0001785998502,0) (-2.747021514e-11,0) (-0.0005992538639,0) (0.000367698185,0) (-1.046201884e-10,0) (-6.600547482e-05,0) (4.89280251e-05,0) (-8.444216063e-12,0) (-4.766178062e-07,0) (4.06527398e-07,0) (-3.327915718e-14,0) (-3.196151495e-05,0) (2.456646172e-05,0) (-3.639065293e-12,0) (-3.402544542e-05,0) (2.406742621e-05,0) (-4.536703068e-12,0) (-9.26298144e-06,0) (6.688627696e-06,0) (-1.280349392e-12,0) (-7.564880206e-06,0) (5.569965596e-06,0) (-9.132222426e-13,0) (-6.467528051e-06,0) (3.305101292e-06,0) (-1.683603403e-12,0) (-5.197553094e-06,0) (2.84540489e-06,0) (-1.055854317e-12,0) (-1.763474399e-06,0) (2.918850479e-07,0) (-8.970932822e-13,0) (-4.33680869e-19,0) (-3.469446952e-18,0) (-8.67361738e-19,0) (0.04120751152,0) (-0.1209002553,0) (1.301042607e-18,0) (-2.168404345e-19,0) (-4.33680869e-19,0) (0.01059505292,0) (-0.03117134266,0) (6.776263578e-21,0) (-6.776263578e-21,0) (5.082197684e-21,0) (5.404029922e-05,0) (-0.0002719614938,0) (-1.016439537e-19,0) (-1.355252716e-20,0) (4.065758147e-20,0) (0.0006347062577,0) (-0.001863912343,0) (2.64697796e-23,0) (-5.95570041e-23,0) (1.32348898e-23,0) (-2.21524732e-08,0) (1.343238814e-06,0) (1.058791184e-22,0) (2.64697796e-23,0) (6.6174449e-23,0) (9.509644464e-07,0) (-4.130367749e-06,0) (0,0) (6.352747104e-22,0) (-4.235164736e-22,0) (3.035209207e-05,0) (-9.01449982e-05,0) (2.329340605e-21,0) (3.176373552e-22,0) (0,0) (1.50771313e-05,0) (-4.735466163e-05,0) (-2.64697796e-23,0) (2.64697796e-23,0) (0,0) (1.62071298e-06,0) (-5.352223079e-06,0) (5.29395592e-22,0) (2.64697796e-22,0) (-5.29395592e-23,0) (3.422835305e-06,0) (-1.01749705e-05,0) (-2.117582368e-22,0) (-1.588186776e-22,0) (3.176373552e-22,0) (5.992220638e-06,0) (-1.768270685e-05,0) (0,0) (-2.117582368e-22,0) (3.176373552e-22,0) (3.697399502e-06,0) (-1.132169379e-05,0) (1.058791184e-22,0) (-4.963083675e-23,0) (-2.514629062e-22,0) (2.631726242e-06,0) (-7.718453293e-06,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2475006931,0) (0.001885655396,0) (0.003936900835,0) (0.0009741204454,0) (0.0005004075617,0) (8.132634863e-07,0) (1.510083094e-05,0) (7.282759888e-05,0) (3.408159058e-05,0) (1.381866281e-05,0) (1.778426622e-05,0) (1.795710592e-05,0) (1.276438578e-05,0) (7.833976983e-06,0) (0.3041454174,0) (0.002926686712,0) (0.02849839687,0) (2.755679327e-06,0) (1.477200313e-09,0) (5.595452752e-05,0) (0.000471312833,0) (2.30767043e-11,0) (0.0001328145617,0) (0.002968612862,0) (1.385122765e-10,0) (0.0001424591791,0) (8.663764015e-06,0) (6.653302287e-12,0) (1.353880343e-06,0) (1.063332768e-06,0) (1.058585676e-13,0) (0.0001028139335,0) (8.885062031e-06,0) (4.930568137e-12,0) (9.226573536e-06,0) (0.0001114531879,0) (5.306720436e-12,0) (2.485545863e-05,0) (1.209685944e-06,0) (1.149711836e-12,0) (2.362894913e-06,0) (2.235255113e-05,0) (1.084804457e-12,0) (4.060026829e-05,0) (2.884757044e-07,0) (1.846273793e-12,0) (8.663751496e-07,0) (2.708317392e-05,0) (1.260179665e-12,0) (1.705402686e-05,0) (4.258384822e-09,0) (8.003161713e-13,0) (1.561251128e-17,0) (6.938893904e-18,0) (8.67361738e-19,0) (0.04483170943,0) (0.1133052738,0) (8.67361738e-19,0) (-1.734723476e-18,0) (4.33680869e-19,0) (0.009624007898,0) (0.03498925778,0) (0,0) (5.421010862e-20,0) (6.776263578e-21,0) (1.920663012e-05,0) (0.0007802029551,0) (2.439454888e-19,0) (0,0) (2.710505431e-20,0) (0.0006986693326,0) (0.001726467409,0) (0,0) (-3.176373552e-22,0) (-4.235164736e-22,0) (1.653240914e-09,0) (1.835110102e-05,0) (0,0) (0,0) (0,0) (2.342751068e-06,0) (1.709453932e-06,0) (0,0) (1.016439537e-20,0) (1.101142831e-20,0) (2.57422105e-05,0) (0.0001083718738,0) (1.270549421e-21,0) (0,0) (-4.235164736e-22,0) (2.225083718e-05,0) (3.271647394e-05,0) (0,0) (2.911675756e-22,0) (0,0) (2.685905316e-06,0) (3.292917407e-06,0) (2.117582368e-22,0) (2.117582368e-22,0) (0,0) (2.887868495e-06,0) (1.229628472e-05,0) (2.117582368e-22,0) (0,0) (-4.235164736e-22,0) (6.902245323e-06,0) (1.565229019e-05,0) (-6.352747104e-22,0) (2.117582368e-22,0) (-4.235164736e-22,0) (5.060621495e-06,0) (8.434035548e-06,0) (-1.058791184e-22,0) (-8.470329473e-22,0) (-3.176373552e-22,0) (2.848171096e-06,0) (7.27171318e-06,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (0.08203099855,0) (8.306610194e-08,0) (0.1359609918,0) (0.009081386798,0) (5.657391905e-09,0) (0.01196712578,0) (5.443671855e-05,0) (2.267692166e-12,0) (6.454709571e-05,0) (4.074384328e-08,0) (2.322477598e-15,0) (4.516263572e-08,0) (1.806939314e-09,0) (9.637884248e-05,0) (0.0001200645114,0) (3.505088404e-13,0) (0.0001259530711,0) (0.0003880768169,0) (2.442169459e-14,0) (0.0001806923474,0) (0.0003300259584,0) (4.99498452e-09,0) (5.220474457e-13,0) (0.0003140465704,0) (2.043749217e-14,0) (6.916995033e-05,0) (0.0001161425193,0) (3.068536094e-15,0) (6.841874488e-06,0) (0.0001365406311,0) (3.090610873e-13,0) (1.118320353e-06,0) (0.0001219538312,0) (2.402304362e-14,0) (6.135362753e-06,0) (0.0001061573737,0) (1.022792114e-14,0) (9.682037194e-06,0) (9.16160885e-05,0) (0,0) (0.008475895408,0) (0.1732522102,0) (1.124213962e-07,0) (0.02297182624,0) (1.084202172e-19,0) (0.0009869192534,0) (0.006480627332,0) (3.316210435e-10,0) (0.000596346401,0) (1.694065895e-21,0) (6.030566529e-06,0) (7.772448169e-05,0) (1.304810639e-11,0) (1.025243196e-05,0) (0,0) (6.172455307e-07,0) (3.424236285e-06,0) (8.91940129e-14,0) (8.102047562e-08,0) (0,0) (1.7510264e-07,0) (5.995060337e-14,0) (0.0002921369044,0) (3.675876272e-05,0) (2.032879073e-20,0) (1.275281687e-06,0) (4.637667068e-13,0) (0.0003051743252,0) (0.0002630933887,0) (6.776263578e-21,0) (3.588497215e-06,0) (5.404957306e-12,0) (0.0003430215163,0) (6.96043537e-05,0) (5.082197684e-21,0) (2.144710129e-06,0) (2.269021793e-12,0) (0.0002012220718,0) (3.895281572e-05,0) (1.694065895e-21,0) (3.844113255e-09,0) (1.769838074e-15,0) (0.0001178597097,0) (2.092539475e-05,0) (-8.470329473e-22,0) (6.145570316e-08,0) (3.010474357e-14,0) (2.166322872e-05,0) (9.000390998e-05,0) (0,0) (1.298476433e-12,0) (5.281220211e-07,0) (2.249656277e-13,0) (0.0001117973318,0) (2.541098842e-21,0) (1.467994913e-07,0) (7.105028024e-14,0) (4.480358687e-05,0) (5.317998557e-05,0) (0,0) (6.039698986e-08,0) (2.87767903e-14,0) (3.246588878e-06,0) (8.011602699e-05,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.3147524089,0) (0.3911428714,0) (0.2057672699,0) (0.06817076837,0) (0.01624681051,0) (0.001918900616,0) (8.656155591e-06,0) (0.0003293313421,0) (0.0005165205109,0) (0.0005274892321,0) (0.000308913253,0) (0.0001921098042,0) (7.200817462e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1469209212,0) (0.001757452279,0) (0.008885391297,0) (0.0004765796032,0) (0.0003137171467,0) (3.753583099e-07,0) (3.817084e-06,0) (6.033841652e-07,0) (5.317323845e-07,0) (8.414643968e-06,0) (3.31541252e-06,0) (3.002007615e-07,0) (1.229871495e-06,0) (0.001306177527,0) (1.355168727e-09,0) (0.2503658847,0) (1.046614926e-05,0) (2.060951583e-11,0) (0.04152020624,0) (4.050576507e-07,0) (1.00843227e-12,0) (0.003778769832,0) (1.889305054e-06,0) (8.299835645e-12,0) (0.002559803502,0) (1.316604296e-15,0) (2.853709815e-10,0) (7.660087477e-05,0) (2.266554089e-16,0) (5.359854749e-09,0) (1.127557649e-07,0) (1.456075894e-15,0) (8.395718063e-08,0) (9.154156321e-06,0) (9.161877051e-08,0) (3.993706216e-16,0) (1.150818494e-07,0) (1.068890781e-15,0) (4.419176462e-08,0) (7.775554357e-06,0) (1.628929061e-17,0) (4.528323296e-06,0) (1.43185262e-05,0) (2.455969101e-13,0) (6.161678805e-07,0) (1.125366415e-06,0) (1.15944313e-15,0) (1.58315933e-07,0) (5.391837529e-07,0) (2.24968478e-15,0) (6.286898691e-07,0) (3.183188427e-06,0) (6.2883726e-18,0) (0.0002446691601,0) (8.145458932e-07,0) (5.664740933e-10,0) (0.177759353,0) (2.493664997e-18,0) (2.201408811e-06,0) (0.0003158153936,0) (8.549720567e-10,0) (0.0706465972,0) (1.058791184e-22,0) (2.464242287e-13,0) (6.094571757e-11,0) (1.707997469e-15,0) (4.38015457e-05,0) (8.131516294e-20,0) (2.311133296e-11,0) (9.174418953e-05,0) (8.403150672e-11,0) (0.001971316564,0) (5.29395592e-23,0) (1.266660794e-13,0) (7.775698928e-17,0) (6.88337889e-11,0) (2.410431746e-06,0) (1.356576205e-22,0) (5.576701781e-10,0) (1.468000911e-14,0) (6.062379565e-07,0) (3.176643229e-06,0) (-2.067951531e-24,0) (2.300661614e-12,0) (5.707138741e-16,0) (1.135038219e-09,0) (1.530804122e-07,0) (-1.178732373e-23,0) (3.081533289e-11,0) (8.947554122e-16,0) (2.296325301e-09,0) (3.899274721e-07,0) (6.749793798e-22,0) (8.755362874e-11,0) (1.48542241e-15,0) (8.808607626e-08,0) (2.190836451e-05,0) (-1.058791184e-22,0) (2.423577032e-09,0) (3.638364687e-14,0) (4.518853107e-06,0) (4.641490491e-06,0) (1.413638742e-27,0) (6.210057073e-11,0) (3.638362452e-11,0) (1.650294841e-19,0) (9.04762241e-12,0) (8.271806126e-24,0) (4.100520746e-10,0) (4.164857336e-15,0) (3.101457978e-07,0) (1.081074942e-06,0) (7.940933881e-23,0) (4.313670249e-09,0) (1.26775354e-14,0) (2.818838655e-06,0) (9.917835142e-07,0) -(0.1537404548,0) (0.003727007567,0) (0.00854296775,0) (0.0008283378013,0) (0.000249242271,0) (3.135135163e-06,0) (3.485164461e-06,0) (1.245370055e-07,0) (1.451806454e-06,0) (9.235094054e-06,0) (1.535303137e-06,0) (1.834495508e-07,0) (1.651277635e-06,0) (2.815830936e-10,0) (0.01983051592,0) (0.2311916741,0) (1.480857164e-06,0) (5.065308416e-11,0) (0.05191474862,0) (1.74172454e-07,0) (5.928976114e-13,0) (0.002321923377,0) (5.781125973e-06,0) (1.396714217e-11,0) (0.002995923626,0) (1.300580339e-15,0) (2.083846774e-09,0) (2.160554926e-05,0) (8.895745648e-08,0) (1.874301973e-14,0) (4.549221948e-07,0) (3.009999658e-15,0) (6.499753675e-08,0) (5.596904508e-06,0) (8.516512091e-16,0) (5.426835441e-08,0) (1.474190623e-07,0) (1.228211538e-15,0) (1.807091778e-07,0) (1.378205676e-05,0) (2.933157846e-14,0) (5.773281799e-06,0) (8.30249756e-06,0) (1.793970786e-07,0) (1.57524998e-14,0) (1.14196802e-07,0) (1.547102555e-15,0) (2.937426657e-07,0) (8.906479179e-07,0) (3.127361261e-15,0) (1.516806236e-06,0) (2.811236419e-06,0) (0,0) (1.511060808e-05,0) (5.607603461e-10,0) (0.1487858497,0) (0.02038732434,0) (1.734723476e-18,0) (9.734329973e-09,0) (0.0004046016186,0) (8.829540289e-10,0) (0.0787413867,0) (0,0) (1.175486027e-09,0) (3.16393186e-09,0) (1.818492629e-13,0) (0.0005493161406,0) (0,0) (1.11287863e-09,0) (2.242153709e-05,0) (5.137087983e-11,0) (0.001903470945,0) (-4.235164736e-22,0) (1.177409821e-09,0) (2.273659858e-09,0) (4.248625572e-15,0) (2.121979301e-05,0) (0,0) (1.746371504e-10,0) (3.101321166e-15,0) (2.618867638e-10,0) (3.3303246e-06,0) (-6.6174449e-24,0) (4.476698989e-11,0) (7.989091628e-15,0) (1.282889475e-07,0) (2.814187778e-07,0) (1.654361225e-24,0) (2.426502395e-12,0) (1.278136264e-16,0) (7.949778252e-10,0) (1.110717381e-07,0) (2.436173229e-11,0) (0,0) (3.526056281e-16,0) (7.3810059e-07,0) (2.697616726e-05,0) (0,0) (1.877165974e-10,0) (1.913490841e-14,0) (2.115184742e-06,0) (1.181201865e-06,0) (-1.654361225e-24,0) (6.907330169e-11,0) (1.047719175e-07,0) (7.596810143e-15,0) (7.557011361e-09,0) (1.895051636e-10,0) (0,0) (6.491569902e-15,0) (1.28432286e-06,0) (1.324891707e-06,0) (0,0) (9.739590345e-10,0) (2.829120299e-14,0) (3.141117806e-06,0) (2.187995244e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (0,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-8.67361738e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.376428539e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.421010862e-20,0) (-7.446672951e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (5.29395592e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-3.176373552e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (3.97046694e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.522012327e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.058791184e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (9.264422861e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (6.203854594e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-1.389663429e-22,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (0,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (6.505213035e-19,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (0,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-1.355252716e-20,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (0,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (0,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.084202172e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.032879073e-20,0) (-2.218079147e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.558653716e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.415367389e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.441071348e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (2.067951531e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.714186385e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (9.264422861e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (0,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (2.710505431e-20,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (0,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (5.29395592e-23,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (2.117582368e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.035766083e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.138412281e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.694065895e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (3.726944968e-20,0) (3.933175976e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780888e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (5.823351512e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.514629062e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.808845119e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.249931266e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-1.550963649e-25,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (6.948317145e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (5.128519798e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-4.33680869e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (-5.421010862e-20,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (-8.470329473e-22,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (0,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (0,0) (-4.040786575e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (1.058791184e-22,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (-2.117582368e-22,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424696266e-12,0) (-0.008719428334,0) (0.06301289739,0) (0,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138140965e-13,0) (-6.644558929e-05,0) (0,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (0,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640456e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182199e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (0,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (-5.29395592e-23,0) (-3.139926191e-09,0) (-5.790193031e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (0,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556893e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808167e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-2.117582368e-22,0) (-2.091689037e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.214682481e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0.2791082932,0) (0.02715806816,0) (-0.02846199811,0) (-0.008149020754,0) (0.002851320191,0) (-3.950407327e-05,0) (1.14330723e-05,0) (0.000154869012,0) (-0.0001326794655,0) (8.537678745e-05,0) (-7.412014254e-05,0) (5.873445414e-05,0) (-3.031732376e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1181203825,0) (-0.006245320651,0) (-0.002900269686,0) (3.326358174e-05,0) (0.0001138238722,0) (-8.641960382e-06,0) (3.016434396e-05,0) (1.010587839e-05,0) (7.596477619e-06,0) (2.457459582e-05,0) (1.39297899e-05,0) (4.065901073e-06,0) (7.640914772e-06,0) (-0.01035118577,0) (-1.060983429e-08,0) (0.1844993062,0) (0.0003082971776,0) (-3.414617148e-10,0) (-0.02229074989,0) (-4.695743746e-06,0) (1.512221582e-12,0) (-0.000493871054,0) (2.774482817e-07,0) (1.388386925e-13,0) (1.075209157e-05,0) (1.542408416e-12,0) (-1.658424701e-07,0) (9.590123357e-05,0) (8.91317672e-15,0) (8.216387078e-07,0) (-6.614975308e-06,0) (-5.963206816e-15,0) (-3.894922342e-06,0) (5.496461783e-05,0) (2.139238978e-08,0) (-1.443919701e-14,0) (-6.011743517e-06,0) (4.673910862e-15,0) (-1.74835413e-06,0) (3.005116424e-05,0) (-2.235709583e-16,0) (-5.566167409e-06,0) (4.421606725e-05,0) (-2.755076165e-13,0) (-8.301042594e-07,0) (1.171506491e-05,0) (5.277626819e-15,0) (-9.855585617e-07,0) (7.565601838e-06,0) (4.796833131e-15,0) (-2.467184366e-06,0) (1.707721501e-05,0) (-2.168404345e-18,0) (-0.001440066044,0) (0.0003756619176,0) (-7.980213573e-09,0) (0.06390193245,0) (-5.963111949e-19,0) (4.661129412e-05,0) (-0.001430622896,0) (-5.324722779e-10,0) (-0.006490750649,0) (3.176373552e-22,0) (-1.219047869e-09,0) (6.88256806e-08,0) (-1.492854078e-13,0) (-2.119132764e-05,0) (-2.541098842e-21,0) (3.776952075e-09,0) (-1.772438385e-05,0) (2.737719361e-12,0) (-1.263791935e-05,0) (7.940933881e-22,0) (-1.489280527e-10,0) (2.159069195e-15,0) (1.41805818e-07,0) (-9.41299573e-06,0) (-5.29395592e-22,0) (-2.66680814e-08,0) (8.251120903e-14,0) (-1.360177412e-05,0) (2.890940732e-05,0) (-3.044024654e-22,0) (-2.873311294e-09,0) (-5.553993267e-14,0) (-6.239731814e-07,0) (3.264209423e-06,0) (-6.6174449e-23,0) (8.129572964e-09,0) (-4.505795755e-14,0) (6.797582913e-07,0) (-3.897277635e-06,0) (-2.01170325e-21,0) (-5.801431416e-10,0) (1.621407408e-15,0) (-3.222079977e-06,0) (2.141123947e-05,0) (-4.764560328e-22,0) (-1.220420545e-08,0) (-3.309562665e-14,0) (-9.894086537e-06,0) (2.043898951e-05,0) (-3.101927297e-24,0) (-8.979762109e-12,0) (4.383490997e-09,0) (1.926809819e-16,0) (3.180408848e-08,0) (2.911675756e-22,0) (-7.758571774e-09,0) (1.720215898e-14,0) (-3.727686172e-06,0) (7.582318236e-06,0) (1.32348898e-22,0) (-1.614102532e-08,0) (1.910022905e-14,0) (-3.025162843e-06,0) (8.913907942e-06,0) -(0.2757309677,0) (0.033849107,0) (-0.03357642321,0) (-0.005713665996,0) (0.002042528073,0) (0.0001252214311,0) (0.000101946051,0) (-1.042211491e-05,0) (3.127914568e-05,0) (-3.917751923e-05,0) (1.580332402e-05,0) (-2.236553419e-06,0) (7.972957138e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (6.505213035e-19,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-1.084202172e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.799945013e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.082197684e-20,0) (-7.44667295e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (1.98523347e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-1.588186776e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (5.95570041e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.058791184e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.32348898e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (5.29395592e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (3.101927297e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-5.95570041e-23,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (5.29395592e-23,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (0,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (-1.355252716e-20,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-6.776263578e-21,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (-4.235164736e-22,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (2.117582368e-22,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04586770644,0) (0.1295753448,0) (0.0004442131108,0) (0.1967622424,0) (0.0001704511524,0) (0.07116101842,0) (0.01342434892,0) (0.1479153603,0) (0.05829558339,0) (0.002881188799,0) (0.0986772665,0) (0.03669568318,0) (0.0583789555,0) (0.004863627082,0) (0.02285094543,0) (0.01871025158,0) (0.01720002272,0) (0.0129751607,0) (0.01950909261,0) (0.002216861756,0) (0.007850079801,0) (0.0006684007036,0) (0.01106999276,0) (0.004241350104,0) (0.006378882393,0) (0.0004382569924,0) (0.00246318523,0) (0.0002443597394,0) (0.003066181956,0) (0.001196173181,0) (0.001717101805,0) (2.637892713e-05,0) (0.0006299645073,0) (1.244860412e-05,0) (0.0006474759855,0) (0.0002384489065,0) (0.000314514928,0) (9.546434388e-07,0) (0.0001139889123,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(3.590997234e-05,0) (0.0001233917216,0) (1.30441383e-07,0) (1.553904071e-05,0) (1.536434435e-06,0) (2.779572112e-06,0) (2.900697787e-07,0) (1.694146338e-07,0) (2.480155548e-07,0) (7.759935467e-08,0) (9.02954327e-09,0) (1.753815685e-09,0) (2.272725483e-08,0) (0.05134867755,0) (0.01875202135,0) (0.000278013623,0) (0.005748536394,0) (0.00207432931,0) (0.0001512337715,0) (0.0004583230146,0) (0.0001648728595,0) (3.850112287e-05,0) (0.0005754261716,0) (0.0002097466075,0) (1.254127337e-05,0) (1.450462071e-05,0) (4.081696167e-05,0) (1.394154879e-05,0) (4.99941714e-06,0) (1.463681797e-05,0) (7.757214435e-09,0) (1.511410508e-06,0) (4.698023398e-06,0) (1.404013897e-06,0) (8.766678713e-06,0) (6.146623103e-06,0) (8.264078866e-06,0) (9.044095585e-07,0) (2.283550353e-06,0) (9.876553109e-07,0) (3.043249266e-07,0) (6.038139103e-07,0) (2.400053708e-07,0) (9.769650476e-07,0) (1.981749796e-06,0) (7.468840143e-07,0) (8.787060028e-07,0) (1.618326537e-06,0) (8.543525323e-07,0) (5.00506041e-07,0) (9.817712635e-07,0) (4.454731505e-07,0) (3.469446952e-18,0) (0.003515743553,0) (0.09234509611,0) (0.03477975199,0) (1.223510922e-05,0) (4.33680869e-19,0) (4.597357965e-05,0) (0.02740325923,0) (0.01004796136,0) (0.0003916175239,0) (1.694065895e-21,0) (1.460078625e-06,0) (6.30598451e-05,0) (2.330863833e-05,0) (8.451039346e-05,0) (2.710505431e-20,0) (2.399382941e-10,0) (0.001718607472,0) (0.0006467762177,0) (6.859021545e-05,0) (1.482307658e-21,0) (1.335565741e-06,0) (3.205846614e-06,0) (7.65274698e-06,0) (1.646933149e-05,0) (-8.470329473e-22,0) (4.379161533e-06,0) (1.211169872e-05,0) (2.157052131e-05,0) (8.161268252e-06,0) (0,0) (5.33910383e-06,0) (1.925982866e-05,0) (4.905944391e-05,0) (4.081163393e-07,0) (-8.470329473e-22,0) (3.171881935e-06,0) (1.1505279e-05,0) (2.779490012e-05,0) (1.68620799e-06,0) (1.32348898e-23,0) (1.369395562e-07,0) (3.006229585e-07,0) (6.24704245e-07,0) (5.081771609e-07,0) (0,0) (4.516212835e-07,0) (1.131399868e-06,0) (1.789055475e-06,0) (9.447754395e-07,0) (2.117582368e-22,0) (5.10826975e-11,0) (1.696043397e-06,0) (3.063049089e-06,0) (6.775872177e-06,0) (1.058791184e-22,0) (6.382847646e-07,0) (1.694474736e-06,0) (2.713576222e-06,0) (1.415412032e-06,0) (1.058791184e-22,0) (3.927215262e-07,0) (1.006395786e-06,0) (4.761797554e-07,0) (1.932952223e-06,0) -(0.02151507676,0) (0.08145033313,0) (0.0009225981511,0) (0.009071793741,0) (0.001897530337,0) (0.001271522409,0) (0.000393613206,0) (3.191902604e-05,0) (0.0002180280768,0) (1.351339316e-05,0) (1.003663981e-05,0) (6.66710727e-06,0) (1.372598266e-05,0) (0.01971880285,0) (0.0002195616787,0) (0.0003270306584,0) (2.678465689e-05,0) (0.002763516793,0) (0.106697746,0) (8.901625396e-07,0) (0.0001038820182,0) (0.0345000232,0) (1.0786905e-05,0) (0.0002550410404,0) (0.002603733392,0) (5.086780754e-06,0) (1.296261603e-06,0) (0.01019461019,0) (6.255143051e-06,0) (6.536172276e-06,0) (3.683045246e-05,0) (3.540615072e-06,0) (1.378850213e-05,0) (0.0012674418,0) (5.746639196e-06,0) (4.91232311e-05,0) (0.000126571826,0) (3.717599159e-07,0) (5.395422689e-06,0) (0.0003974504446,0) (3.479206662e-07,0) (5.176068333e-06,0) (7.774311777e-06,0) (2.357456293e-06,0) (1.1427038e-06,0) (1.727367798e-06,0) (7.399816442e-07,0) (1.145978052e-05,0) (3.343258584e-05,0) (4.18479744e-07,0) (5.861896876e-06,0) (1.04002171e-05,0) (-5.421010862e-20,0) (9.561558787e-07,0) (0.03485246954,0) (0.02674278495,0) (0.002291387465,0) (0,0) (1.569546168e-06,0) (0.0004250908481,0) (0.01192913133,0) (0.03599121376,0) (-8.67361738e-19,0) (4.328799598e-08,0) (3.906012346e-08,0) (0.0001448848612,0) (0.05737890751,0) (0,0) (1.172235841e-10,0) (9.806088991e-06,0) (0.0006373039673,0) (0.001947382062,0) (0,0) (1.816924258e-07,0) (7.09263354e-07,0) (2.318653812e-05,0) (0.009023977889,0) (0,0) (2.436045478e-08,0) (7.517683295e-06,0) (2.140748389e-07,0) (0.001279410655,0) (0,0) (2.086878003e-08,0) (2.83498791e-05,0) (0.0001528953655,0) (0.0003576463545,0) (0,0) (6.94006599e-09,0) (7.29799041e-06,0) (6.948945167e-06,0) (0.0008507631173,0) (2.393151383e-11,0) (0,0) (2.620125233e-08,0) (2.63818605e-06,0) (9.527036339e-05,0) (0,0) (1.215275915e-09,0) (1.727758853e-06,0) (4.452695345e-05,0) (2.58813648e-05,0) (0,0) (2.542260728e-09,0) (1.109931996e-05,0) (3.064539702e-06,0) (6.121327117e-07,0) (1.401947502e-09,0) (0,0) (1.253713298e-06,0) (2.653165066e-05,0) (2.635447273e-05,0) (-2.64697796e-23,0) (9.160979474e-11,0) (9.092686847e-07,0) (3.096286743e-06,0) (1.632018929e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-3.794707604e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-8.809142651e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-1.694065895e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (1.694065895e-21,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (4.65868121e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (2.117582368e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.705769144e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-2.64697796e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (-5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.32348898e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (4.33680869e-19,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (2.168404345e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (4.065758147e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (0,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (6.776263578e-21,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (-4.235164736e-22,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (-5.29395592e-23,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (4.235164736e-22,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (2.64697796e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (1.734723476e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (6.505213035e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-2.032879073e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (0,0) (-1.267303587e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-1.694065895e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.382280164e-21,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (0,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (3.546950467e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-3.30872245e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (5.29395592e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-6.505213035e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (-4.33680869e-19,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (-2.710505431e-20,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (-5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (1.694065895e-21,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-4.235164736e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (5.29395592e-23,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-5.421010862e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (0,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (5.421010862e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (0,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (6.776263578e-21,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (0,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (1.694065895e-21,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (2.117582368e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (4.235164736e-22,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0005994385344,0) (-0.1985188841,0) (-0.001140207266,0) (-0.07488263132,0) (2.167276441e-05,0) (-1.025275956e-05,0) (0.0008666908912,0) (0.008349515407,0) (1.159857724e-06,0) (0.0006185982764,0) (0.01711533238,0) (2.254507178e-06,0) (-0.002883854726,0) (-0.0002052737618,0) (-3.899156928e-07,0) (-0.000159158543,0) (-0.0001352381151,0) (-3.706119164e-08,0) (-0.001416265,0) (-0.0001403458379,0) (-1.967367615e-07,0) (7.853055611e-05,0) (0.001110759192,0) (1.500255288e-07,0) (-0.0003981834344,0) (-2.30250586e-05,0) (-5.321609918e-08,0) (2.402907374e-05,0) (0.0002617957008,0) (3.602240965e-08,0) (-0.0002640355922,0) (-2.758564769e-06,0) (-3.410406075e-08,0) (3.284076926e-06,0) (0.000132422448,0) (1.733460305e-08,0) (-7.323759983e-05,0) (-6.375922781e-08,0) (-9.551291528e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.001846675378,0) (-0.001654839895,0) (1.111239836e-05,0) (6.00638806e-06,0) (-7.965650434e-06,0) (-2.351680004e-05,0) (8.315325756e-06,0) (5.354914909e-06,0) (-5.18806211e-06,0) (-2.359921549e-06,0) (7.269569138e-07,0) (-3.107727192e-07,0) (-1.038697242e-06,0) (-0.06490133507,0) (-3.946716758e-05,0) (-0.006148089778,0) (0.007225280791,0) (3.425681516e-06,0) (-0.001345300549,0) (0.0001579544268,0) (1.933599988e-08,0) (4.985113502e-05,0) (-4.842011333e-06,0) (-6.979482776e-10,0) (7.525934897e-07,0) (1.618918448e-07,0) (-6.272074233e-05,0) (-4.091314267e-05,0) (-1.323759753e-09,0) (4.293660645e-05,0) (-1.735049015e-06,0) (1.921228267e-10,0) (-2.913583491e-05,0) (2.152582244e-05,0) (-2.092592279e-07,0) (1.791320429e-09,0) (-5.094414221e-05,0) (1.359553096e-10,0) (-1.256793796e-05,0) (-1.07102183e-05,0) (3.055871646e-11,0) (-2.032540034e-06,0) (-5.724551057e-06,0) (5.494923794e-10,0) (-1.488701156e-06,0) (-9.543865412e-06,0) (1.452900029e-10,0) (-3.151034807e-06,0) (-9.523435361e-06,0) (7.154815394e-11,0) (-3.083106532e-06,0) (-6.388466763e-06,0) (-8.67361738e-19,0) (0.005458852868,0) (-0.1264871219,0) (-6.252989909e-05,0) (-0.0005301535656,0) (0,0) (-0.0002130075372,0) (0.01332630147,0) (1.825408291e-06,0) (-0.0004832594551,0) (1.694065895e-21,0) (-2.967339092e-06,0) (7.000924065e-05,0) (1.743942639e-08,0) (-2.943530294e-05,0) (0,0) (-1.216966884e-08,0) (7.671321961e-05,0) (7.595298963e-09,0) (-2.357373937e-06,0) (8.470329473e-22,0) (-4.8359186e-07,0) (-4.383976412e-10,0) (4.728265869e-05,0) (-2.460472004e-05,0) (1.694065895e-21,0) (-2.363189478e-06,0) (-2.370021663e-09,0) (8.113426703e-05,0) (4.633762748e-05,0) (-3.388131789e-21,0) (4.377140531e-06,0) (1.020286978e-08,0) (-0.0001297244959,0) (5.329791181e-06,0) (0,0) (2.608211516e-06,0) (5.109376555e-09,0) (-7.478601065e-05,0) (-8.104477101e-06,0) (-2.117582368e-22,0) (2.294365191e-08,0) (2.306630744e-11,0) (-8.580644554e-06,0) (-3.260951961e-06,0) (3.176373552e-22,0) (1.665974296e-07,0) (1.845548891e-10,0) (-6.225489374e-06,0) (-9.221360182e-06,0) (-1.058791184e-21,0) (8.144303457e-12,0) (9.464237249e-07,0) (8.301088797e-10,0) (-2.75231617e-05,0) (-8.470329473e-22,0) (3.061043593e-07,0) (3.46976802e-10,0) (-1.102623907e-05,0) (-8.675920207e-06,0) (0,0) (1.540103829e-07,0) (1.701788421e-10,0) (-1.243366357e-06,0) (-1.244429397e-05,0) -(-0.1031484994,0) (-0.1582389931,0) (-0.01103408529,0) (0.01890852676,0) (0.005635747778,0) (-0.002521811017,0) (-0.001083411895,0) (0.0001668520179,0) (0.0003833158109,0) (-4.739128419e-05,0) (-4.040597076e-05,0) (-1.348309736e-05,0) (2.298693686e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.029992064e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.202285663e-20,0) (-2.218079148e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.029258124e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.580803511e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.374896899e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (1.852884572e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.584939414e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (8.602678371e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (-4.33680869e-19,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (0,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (8.470329473e-22,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (1.058791184e-22,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (1.058791184e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-4.878909776e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-3.388131789e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-5.505714157e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (8.470329473e-22,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (2.117582368e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (1.270549421e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.176373552e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-5.29395592e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.588186776e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (0,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (-6.505213035e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (2.710505431e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (5.421010862e-20,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (0,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (0,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (1.058791184e-22,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (0,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (3.97046694e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04715705099,0) (0.02200154358,0) (0.1067286698,0) (0.02202428562,0) (0.17465834,0) (0.07141108635,0) (0.1000731762,0) (0.06107260141,0) (0.05848951507,0) (0.07464156391,0) (0.02679567375,0) (0.03681690082,0) (0.0005054573398,0) (0.06266017622,0) (0.02292789445,0) (0.005280432053,0) (0.03058641266,0) (0.0130185903,0) (4.477807442e-05,0) (0.02165478127,0) (0.007876474827,0) (0.007860017766,0) (0.003864294445,0) (0.004255431357,0) (8.845381168e-05,0) (0.006720385865,0) (0.002471484938,0) (0.00210919833,0) (0.001197367089,0) (0.001200149458,0) (0.0001043161214,0) (0.001637026661,0) (0.0006321024569,0) (0.0005029865235,0) (0.0001561530053,0) (0.0002392339673,0) (3.034857158e-05,0) (0.0002847271479,0) (0.0001143827643,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01859825451,0) (0.06390622139,0) (6.755733522e-05,0) (0.008047876816,0) (0.000795739924,0) (0.001439577538,0) (0.0001502310143,0) (8.77421026e-05,0) (0.0001284505699,0) (4.018974268e-05,0) (4.676521113e-06,0) (9.083245777e-07,0) (1.177074896e-05,0) (0.008307597159,0) (0.01873421824,0) (2.900333486e-08,0) (0.0006427535352,0) (0.002074227619,0) (0.09464435446,0) (4.913666987e-05,0) (0.0001652571093,0) (0.02141018871,0) (0.0001298657198,0) (0.0002102475176,0) (0.004281715785,0) (1.48520788e-05,0) (7.255278567e-06,0) (0.007171961804,0) (5.016290298e-06,0) (8.510401907e-06,0) (0.0004140783138,0) (1.516294083e-06,0) (4.817059328e-06,0) (0.0009909456417,0) (1.489550748e-05,0) (6.169100968e-06,0) (3.434653454e-06,0) (9.073734504e-07,0) (4.539544298e-06,0) (0.0003945514261,0) (3.054738133e-07,0) (6.950824905e-07,0) (5.407485655e-07,0) (9.805598736e-07,0) (1.955658851e-06,0) (8.959547428e-06,0) (8.815473737e-07,0) (7.766105257e-06,0) (1.471985915e-05,0) (5.021918199e-07,0) (5.508541434e-06,0) (1.701290994e-05,0) (6.505213035e-19,0) (0.0003326380646,0) (0.01469282168,0) (0.03477374258,0) (0.02107630735,0) (3.252606517e-19,0) (1.4617477e-05,0) (0.006316834902,0) (0.01007236596,0) (0.03687902424,0) (-2.059984128e-18,0) (2.1761899e-07,0) (8.535073252e-06,0) (2.333908512e-05,0) (0.04386035073,0) (3.388131789e-21,0) (2.12877168e-11,0) (0.0001802105721,0) (0.0006483001201,0) (0.0003180537728,0) (-1.423015351e-19,0) (1.934512603e-07,0) (3.215971441e-06,0) (3.60306497e-07,0) (0.008593632408,0) (9.95263713e-21,0) (3.785330716e-07,0) (1.214894467e-05,0) (8.316142622e-05,0) (0.0002399527039,0) (-2.943439492e-20,0) (1.065981606e-06,0) (1.932844051e-05,0) (1.262102486e-07,0) (0.0007885513656,0) (-1.905824131e-20,0) (2.756248094e-07,0) (1.154541289e-05,0) (1.377253857e-05,0) (0.0004170207456,0) (1.334076892e-20,0) (1.372912756e-08,0) (3.015892013e-07,0) (1.65338949e-06,0) (0.000225542516,0) (-7.27918939e-22,0) (1.277388161e-07,0) (1.135050709e-06,0) (1.097300767e-05,0) (1.837231386e-05,0) (0,0) (2.299303327e-09,0) (3.123692756e-07,0) (3.074695245e-06,0) (1.039677966e-06,0) (6.882142696e-22,0) (4.239383809e-08,0) (1.699838817e-06,0) (1.420235844e-05,0) (2.844450342e-05,0) (-2.779326858e-22,0) (2.066829092e-08,0) (1.009713072e-06,0) (8.983597702e-06,0) (1.122430129e-06,0) -(0.002275502001,0) (0.008614442707,0) (9.757687426e-05,0) (0.0009594613604,0) (0.0002006887602,0) (0.0001344801982,0) (4.162976727e-05,0) (3.375856311e-06,0) (2.305933326e-05,0) (1.429218846e-06,0) (1.061506507e-06,0) (7.051341767e-07,0) (1.451702978e-06,0) (0.0197919787,0) (0.04576663462,0) (0.003064285325,0) (0.006931890706,0) (0.002776848162,0) (0.01119185278,0) (0.0002405708549,0) (0.0001044086936,0) (0.003665373389,0) (0.0006670496628,0) (0.0002562656941,0) (0.0002404198937,0) (5.111300906e-06,0) (1.4983551e-05,0) (0.001075955865,0) (7.907287005e-06,0) (6.558427154e-06,0) (1.279841726e-05,0) (3.558166217e-06,0) (2.878390215e-06,0) (0.0001413922296,0) (5.77551433e-06,0) (2.981494912e-05,0) (2.987868567e-06,0) (3.734951082e-07,0) (2.875161334e-06,0) (4.065104123e-05,0) (3.494642989e-07,0) (1.349041095e-09,0) (2.229293379e-06,0) (2.854297262e-07,0) (1.146538659e-06,0) (2.970188831e-06,0) (7.434637826e-07,0) (5.101582132e-06,0) (1.477386609e-06,0) (4.203040616e-07,0) (2.548710907e-06,0) (2.065288763e-07,0) (0,0) (0.00381120272,0) (0.03499174491,0) (0.02310179904,0) (0.06236724561,0) (0,0) (0.001009633108,0) (0.0298739139,0) (0.0119849688,0) (0.002478434544,0) (0,0) (1.099057939e-05,0) (0.0003399323208,0) (0.000145642374,0) (0.00607617128,0) (-5.421010862e-20,0) (2.892328027e-07,0) (0.001438457613,0) (0.0006405979474,0) (0.0003449598824,0) (-1.355252716e-20,0) (4.286455912e-05,0) (9.37661877e-06,0) (2.331100428e-05,0) (0.0009596164022,0) (-3.388131789e-21,0) (5.739308119e-06,0) (7.551310522e-06,0) (1.320365452e-05,0) (0.0001350056191,0) (-1.694065895e-21,0) (4.544913819e-06,0) (2.850249043e-05,0) (6.63333715e-06,0) (0.0001130091179,0) (0,0) (1.524088828e-06,0) (7.334038823e-06,0) (2.344902083e-05,0) (8.380257917e-05,0) (1.053196334e-08,0) (2.117582368e-22,0) (2.631799423e-08,0) (5.681500867e-07,0) (9.841263226e-06,0) (0,0) (4.420829531e-07,0) (1.736699721e-06,0) (1.043708995e-06,0) (1.023766845e-05,0) (-4.235164736e-22,0) (6.41372051e-07,0) (3.151162781e-06,0) (3.071688387e-06,0) (5.020121102e-06,0) (3.257591355e-07,0) (-1.058791184e-22,0) (1.259765493e-06,0) (8.095219997e-06,0) (2.749685552e-07,0) (5.29395592e-23,0) (2.494036453e-07,0) (9.133146635e-07,0) (8.753312292e-07,0) (1.469478759e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (0,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.33680869e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (5.717472394e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.270549421e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.651714247e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (-1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.911675756e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-4.63221143e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-9.264422861e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (-8.67361738e-19,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (-1.084202172e-19,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-2.710505431e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-2.541098842e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (4.235164736e-22,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (0,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (-2.117582368e-22,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (6.938893904e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-8.67361738e-19,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-3.388131789e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (8.470329473e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (-1.694065895e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (4.235164736e-22,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (6.352747104e-22,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (-4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-4.235164736e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-2.117582368e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0006078052747,0) (-0.0818026201,0) (0.01767374832,0) (-0.0250530803,0) (0.0006937595959,0) (1.027075844e-05,0) (-0.002366336259,0) (0.005365100259,0) (-1.161785369e-06,0) (-0.003148568976,0) (0.008918855406,0) (-2.258227789e-06,0) (-0.000268341271,0) (-0.0007367991449,0) (3.905716485e-07,0) (8.455219191e-05,0) (-0.0001803428258,0) (3.712316421e-08,0) (-6.785138147e-05,0) (-0.0004386388888,0) (1.970672368e-07,0) (-0.0002692972928,0) (0.0006562681882,0) (-1.502743643e-07,0) (-4.688880524e-05,0) (-9.016405225e-05,0) (5.330567966e-08,0) (-7.059613306e-05,0) (0.000163597705,0) (-3.608223219e-08,0) (-6.507889457e-05,0) (-2.173113939e-05,0) (3.416188227e-08,0) (-2.087522514e-05,0) (6.50316769e-05,0) (-1.736311552e-08,0) (-2.275006274e-05,0) (-1.101125681e-06,0) (9.567778006e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04202610262,0) (0.03766036634,0) (-0.0002528927387,0) (-0.0001366916373,0) (0.0001812799621,0) (0.0005351885142,0) (-0.0001892377717,0) (-0.0001218656003,0) (0.0001180684127,0) (5.370641011e-05,0) (-1.654387459e-05,0) (7.072475403e-06,0) (2.363837055e-05,0) (-0.0261051813,0) (3.944842813e-05,0) (6.279587704e-05,0) (0.002416007754,0) (-3.425597545e-06,0) (0.03365443351,0) (5.171884636e-05,0) (-1.935851884e-08,0) (-0.001175570287,0) (-2.300267057e-06,0) (6.987811895e-10,0) (-1.390588258e-05,0) (-1.638194283e-07,0) (-2.644343681e-05,0) (0.0009279537109,0) (1.325991733e-09,0) (-3.274005584e-05,0) (0.0004008668033,0) (-1.924329641e-10,0) (2.950263984e-05,0) (-0.0005718721755,0) (-2.727688202e-07,0) (-1.794592821e-09,0) (3.284267252e-05,0) (-1.361779008e-10,0) (-1.772004666e-05,0) (0.0002140658698,0) (-3.061634471e-11,0) (-2.18074922e-06,0) (8.592680047e-06,0) (-5.505024031e-10,0) (1.478868857e-06,0) (-3.305527393e-05,0) (-1.455247171e-10,0) (-6.902743869e-06,0) (3.953000872e-05,0) (-7.166854507e-11,0) (-7.303006439e-06,0) (3.947982096e-05,0) (-4.33680869e-19,0) (0.001679108527,0) (-0.05045358095,0) (6.252449675e-05,0) (0.02200366493,0) (3.794707604e-19,0) (-0.0001201094063,0) (0.006398207008,0) (-1.827623733e-06,0) (0.004689634674,0) (-7.115076757e-20,0) (-1.145585351e-06,0) (2.575624477e-05,0) (-1.745081276e-08,0) (0.0006705783039,0) (-4.235164736e-22,0) (-3.62487904e-09,0) (2.484116704e-05,0) (-7.604241534e-09,0) (-5.076304556e-06,0) (-1.355252716e-20,0) (-1.840484349e-07,0) (4.390893776e-10,0) (1.025957234e-05,0) (0.0005620420754,0) (-8.470329473e-22,0) (-6.94792267e-07,0) (2.373663017e-09,0) (0.0001593070373,0) (-0.000251256781,0) (1.270549421e-21,0) (1.955830264e-06,0) (-1.022102714e-08,0) (-6.579728783e-06,0) (-0.0002342789111,0) (-5.929230631e-21,0) (7.688532502e-07,0) (-5.11828032e-09,0) (-5.264350621e-05,0) (0.0001274524706,0) (4.870439447e-21,0) (7.264731325e-09,0) (-2.310334681e-11,0) (-1.395951307e-05,0) (6.869909882e-05,0) (-1.799945013e-21,0) (8.860179887e-08,0) (-1.848524135e-10,0) (1.541787193e-05,0) (-4.066423592e-05,0) (1.058791184e-22,0) (-5.464056351e-11,0) (4.061638748e-07,0) (-8.316854796e-10,0) (-1.078115126e-05,0) (-8.470329473e-22,0) (7.888849008e-08,0) (-3.475255682e-10,0) (-2.522531665e-05,0) (3.889316497e-05,0) (-7.940933881e-22,0) (3.533132544e-08,0) (-1.704590834e-10,0) (-5.400560006e-06,0) (9.482860461e-06,0) -(-0.03354517603,0) (-0.05146129038,0) (-0.003588421894,0) (0.006149288282,0) (0.001832815333,0) (-0.0008201243352,0) (-0.0003523390349,0) (5.426235325e-05,0) (0.0001246590734,0) (-1.541223556e-05,0) (-1.314052468e-05,0) (-4.384871105e-06,0) (7.475638015e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.252606517e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.029992064e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.778769189e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (1.016439537e-20,0) (3.933175975e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780887e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (6.088049308e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.713152409e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.80884512e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.514629062e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-7.754818243e-26,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (7.610061635e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (4.63221143e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-8.67361738e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (0,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (0,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (-2.64697796e-23,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (-8.470329473e-22,0) (-4.040786576e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (5.29395592e-23,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (0,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (2.168404345e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (8.67361738e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-1.355252716e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (1.355252716e-20,0) (-1.267303586e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-2.117582368e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.117582368e-22,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (-4.235164736e-21,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (5.29395592e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-4.367513634e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (-1.32348898e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-2.168404345e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (0,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (0,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (0,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-8.470329473e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (0,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (2.439454888e-19,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.607859233e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (6.035109749e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.482307658e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.672890071e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.382280164e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-3.97046694e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-6.6174449e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (0,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (0,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-5.421010862e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-5.082197684e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (0,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (-1.058791184e-22,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (0,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.08286250691,0) (0.02431037598,0) (0.06871438145,0) (0.04930718395,0) (0.09326492082,0) (0.1255216072,0) (0.1061377676,0) (0.01064733091,0) (0.1028501942,0) (0.06073138578,0) (0.01278119823,0) (0.06474155448,0) (0.02720911517,0) (0.01856972471,0) (0.04031468813,0) (0.02489475137,0) (0.001098999625,0) (0.02289168401,0) (0.01002216348,0) (0.005704391145,0) (0.01384947954,0) (0.007451325099,0) (0.001045456362,0) (0.007482962107,0) (0.00281298841,0) (0.002121681757,0) (0.004345654447,0) (0.002153156807,0) (0.0002431658316,0) (0.002110392238,0) (0.000552027313,0) (0.0007100396512,0) (0.001111378275,0) (0.0003829383684,0) (9.474450534e-05,0) (0.0004206906223,0) (8.459498418e-05,0) (0.0001437766924,0) (0.0002010868071,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01151542489,0) (0.03956862145,0) (4.182927054e-05,0) (0.004982979502,0) (0.0004926958775,0) (0.0008913388619,0) (9.301808191e-05,0) (5.432701179e-05,0) (7.953235012e-05,0) (2.488416119e-05,0) (2.895547407e-06,0) (5.624045764e-07,0) (7.288058967e-06,0) (0.01044095573,0) (0.03297631033,0) (0.0001606173415,0) (0.001446472844,0) (0.003652617632,0) (0.05815477759,0) (0.0001173327325,0) (0.0002910130741,0) (0.01321743319,0) (8.960512001e-05,0) (0.000370321967,0) (0.002702735249,0) (2.612306591e-05,0) (7.450636785e-06,0) (0.004441884828,0) (8.839061027e-06,0) (2.57761275e-05,0) (0.0002373242255,0) (2.671175919e-06,0) (1.079249771e-05,0) (0.0006061888617,0) (4.643013261e-07,0) (1.085909936e-05,0) (1.26714713e-05,0) (1.598089418e-06,0) (2.20050347e-07,0) (0.0002471462147,0) (5.375848748e-07,0) (1.919689554e-09,0) (8.5178208e-07,0) (1.732231442e-06,0) (4.45895687e-06,0) (2.579457553e-06,0) (1.552409348e-06,0) (1.30742986e-06,0) (1.287012362e-05,0) (8.842413405e-07,0) (1.047868629e-06,0) (1.304197819e-05,0) (-6.505213035e-19,0) (0.0009533201785,0) (0.01896428393,0) (0.06121497228,0) (0.0125521507,0) (-3.252606517e-19,0) (4.931195373e-06,0) (0.004185764753,0) (0.017738704,0) (0.02547954574,0) (-1.219727444e-18,0) (3.110674544e-07,0) (1.42753078e-05,0) (4.111206382e-05,0) (0.02715447401,0) (1.355252716e-20,0) (6.693630906e-11,0) (0.0004446572613,0) (0.001141388293,0) (5.175547801e-05,0) (-2.710505431e-20,0) (2.896624921e-07,0) (5.66493273e-06,0) (2.653219922e-06,0) (0.005319222649,0) (4.446922973e-21,0) (1.23469439e-06,0) (2.140210977e-05,0) (1.142126714e-05,0) (0.0001911500099,0) (4.235164736e-21,0) (9.22882494e-07,0) (3.405631521e-05,0) (2.500444833e-05,0) (0.000468632467,0) (-1.270549421e-20,0) (8.923175134e-07,0) (2.033674126e-05,0) (1.365401367e-06,0) (0.0002679810755,0) (-3.388131789e-21,0) (3.61685241e-08,0) (5.311357506e-07,0) (1.40319171e-07,0) (0.0001405914279,0) (7.676236084e-22,0) (5.585209319e-08,0) (1.999539627e-06,0) (1.227245632e-05,0) (6.248313256e-06,0) (2.64697796e-23,0) (1.724997877e-09,0) (3.122744061e-07,0) (5.411018301e-06,0) (1.415448965e-06,0) (8.999725065e-22,0) (1.989853278e-07,0) (2.994061638e-06,0) (2.564169571e-06,0) (2.415994883e-05,0) (-5.29395592e-23,0) (1.319703087e-07,0) (1.777963699e-06,0) (3.027655855e-06,0) (3.402615008e-06,0) -(0.00553605759,0) (0.02095803515,0) (0.0002373942959,0) (0.002334268809,0) (0.0004882546943,0) (0.0003271762106,0) (0.0001012808553,0) (8.213104159e-06,0) (5.610093811e-05,0) (3.477139478e-06,0) (2.582533942e-06,0) (1.715517459e-06,0) (3.531841012e-06,0) (0.03483145319,0) (0.02253296123,0) (0.003063275652,0) (0.003468356907,0) (0.004882815777,0) (0.02756244955,0) (0.0001539254955,0) (0.0001835979054,0) (0.008857709221,0) (0.0002891550959,0) (0.0004506771526,0) (0.0007129915528,0) (8.993340896e-06,0) (4.250060433e-06,0) (0.002625833686,0) (1.60314874e-05,0) (1.152525194e-05,0) (3.496369595e-06,0) (6.261644115e-06,0) (1.658833738e-05,0) (0.0003176578563,0) (1.01594509e-05,0) (1.337741548e-06,0) (5.129237847e-05,0) (6.572109132e-07,0) (2.20383207e-07,0) (0.0001039161773,0) (6.150600883e-07,0) (2.836013573e-06,0) (9.454592508e-07,0) (2.430401289e-06,0) (2.015296627e-06,0) (9.633593424e-08,0) (1.307998808e-06,0) (7.127991709e-07,0) (1.179406541e-05,0) (7.39491486e-07,0) (3.820896297e-07,0) (4.342680978e-06,0) (0,0) (0.002099748074,0) (0.06156955733,0) (7.114789054e-05,0) (0.05029811769,0) (0,0) (0.0005299594019,0) (0.01318363225,0) (0.02107802791,0) (0.01106375401,0) (2.168404345e-19,0) (7.058923414e-06,0) (0.0001891960434,0) (0.0002561189377,0) (0.01475511786,0) (0,0) (1.711878633e-07,0) (0.0009584736151,0) (0.001126274353,0) (0.0003682274248,0) (-2.710505431e-20,0) (2.7652106e-05,0) (8.673773527e-06,0) (4.097130545e-05,0) (0.002315825677,0) (0,0) (3.702756937e-06,0) (1.329608283e-05,0) (5.70924401e-06,0) (0.0003295600291,0) (2.541098842e-21,0) (2.946557407e-06,0) (5.015820037e-05,0) (0.0001264260713,0) (3.861267461e-05,0) (-6.776263578e-21,0) (9.875766575e-07,0) (1.29029779e-05,0) (2.779852115e-06,0) (0.0002263576027,0) (6.573952743e-09,0) (-4.235164736e-22,0) (4.630728464e-08,0) (4.275873786e-07,0) (2.47925857e-05,0) (3.705769144e-22,0) (2.784547616e-07,0) (3.05584326e-06,0) (1.806598778e-05,0) (2.003963724e-06,0) (4.235164736e-22,0) (4.120885495e-07,0) (1.368540015e-06,0) (5.405814955e-06,0) (5.188382974e-06,0) (2.103438461e-07,0) (-8.470329473e-22,0) (2.21632634e-06,0) (2.994934864e-06,0) (1.202228621e-05,0) (-1.058791184e-22,0) (1.473351266e-07,0) (1.60672927e-06,0) (3.824359347e-07,0) (1.483102828e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566194e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (0,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-1.694065895e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (-6.776263578e-21,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (5.082197684e-21,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (0,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (-8.470329473e-22,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (0,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-1.270549421e-21,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (4.235164736e-22,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-8.470329473e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0008056940932,0) (0.08598772848,0) (0.01418116593,0) (0.03748567322,0) (0.0005069597758,0) (-1.361692173e-05,0) (-0.002436983511,0) (-0.002240139213,0) (1.540598429e-06,0) (-0.002840072602,0) (-0.006159742645,0) (2.994578451e-06,0) (0.001968803752,0) (-0.0004011031198,0) (-5.179052102e-07,0) (0.0001835878932,0) (-3.418482576e-05,0) (-4.922683088e-08,0) (0.001015095094,0) (-0.0002251307824,0) (-2.613155229e-07,0) (-0.0002622025914,0) (-0.0003413494461,0) (1.992736509e-07,0) (0.0002644203416,0) (-5.066131264e-05,0) (-7.068415912e-08,0) (-7.132799777e-05,0) (-7.372500718e-05,0) (4.784728731e-08,0) (0.0001497079056,0) (-1.431185483e-05,0) (-4.529799756e-08,0) (-1.821450758e-05,0) (-5.065552207e-05,0) (2.302489451e-08,0) (3.798269516e-05,0) (-7.824682005e-07,0) (-1.268593802e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.03306914808,0) (0.02963387403,0) (-0.0001989941228,0) (-0.0001075587721,0) (0.0001426440602,0) (0.0004211246611,0) (-0.0001489058348,0) (-9.589258415e-05,0) (9.290468493e-05,0) (4.226005073e-05,0) (-1.301790565e-05,0) (5.565130283e-06,0) (1.860036328e-05,0) (0.02926571414,0) (-5.233749665e-05,0) (0.004673081751,0) (-0.00362435917,0) (4.545799097e-06,0) (0.02638077972,0) (-7.992001587e-05,0) (2.568906514e-08,0) (-0.0009236595288,0) (1.910721583e-06,0) (-9.273966112e-10,0) (-1.104819657e-05,0) (2.172620418e-07,0) (2.679708471e-05,0) (0.000730282638,0) (-1.760161639e-09,0) (-5.697878921e-05,0) (0.0003034798675,0) (2.554106455e-10,0) (4.416018281e-05,0) (-0.0004472785039,0) (-4.815784398e-08,0) (2.380958854e-09,0) (6.308274014e-05,0) (1.807232962e-10,0) (-3.901393542e-06,0) (0.0001694230918,0) (4.06153188e-11,0) (-1.146048646e-07,0) (1.07843805e-05,0) (7.316866297e-10,0) (2.233056699e-06,0) (-1.773625471e-05,0) (1.931154678e-10,0) (-2.832235242e-06,0) (3.696293445e-05,0) (9.509970693e-11,0) (-3.185200628e-06,0) (3.456667511e-05,0) (-2.168404345e-18,0) (-0.00284257667,0) (0.05732018934,0) (-8.295705307e-05,0) (0.01698074865,0) (-2.710505431e-19,0) (6.976167755e-05,0) (-0.005208299287,0) (2.425392242e-06,0) (0.003898029682,0) (-8.131516294e-20,0) (1.369639726e-06,0) (-3.330977184e-05,0) (2.316105747e-08,0) (0.0005276356672,0) (2.117582368e-22,0) (6.427763033e-09,0) (-3.902065515e-05,0) (1.008984649e-08,0) (-2.047743501e-06,0) (-1.694065895e-20,0) (2.252124931e-07,0) (-5.827660155e-10,0) (-2.784067985e-05,0) (0.0004421855303,0) (-3.388131789e-21,0) (1.25482395e-06,0) (-3.150489814e-09,0) (5.903793265e-05,0) (-0.0002242549974,0) (-3.388131789e-21,0) (-1.819824513e-06,0) (1.356734793e-08,0) (9.261243859e-05,0) (-0.0001806069212,0) (-7.835054762e-21,0) (-1.383388018e-06,0) (6.792974981e-09,0) (1.657555103e-05,0) (0.0001021695525,0) (2.329340605e-21,0) (-1.179134865e-08,0) (3.065983203e-11,0) (-4.066691132e-06,0) (5.42395716e-05,0) (-9.529120657e-22,0) (-5.858694103e-08,0) (2.453479878e-10,0) (1.630524542e-05,0) (-2.371439697e-05,0) (1.588186776e-22,0) (-4.732725524e-11,0) (-4.061021922e-07,0) (1.103310071e-09,0) (1.257948399e-05,0) (6.352747104e-22,0) (-1.70912097e-07,0) (4.612254458e-10,0) (-1.071839513e-05,0) (3.584446582e-05,0) (-4.235164736e-22,0) (-8.927826945e-08,0) (2.261947935e-10,0) (-3.135211927e-06,0) (1.651072366e-05,0) -(0.05232289484,0) (0.08026798496,0) (0.005597127326,0) (-0.009591500245,0) (-0.002858777782,0) (0.00127920865,0) (0.000549569281,0) (-8.463701011e-05,0) (-0.0001944399869,0) (2.403960497e-05,0) (2.049624931e-05,0) (6.839408132e-06,0) (-1.166030613e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424695399e-12,0) (-0.008719428334,0) (0.06301289739,0) (-4.33680869e-19,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138141033e-13,0) (-6.644558929e-05,0) (8.470329473e-22,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (-8.470329473e-22,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640454e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182211e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (1.058791184e-22,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (0,0) (-3.139926191e-09,0) (-5.790193243e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (8.470329473e-22,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556846e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808164e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-4.235164736e-22,0) (-2.091688994e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.21468247e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-7.589415207e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (2.710505431e-20,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (4.065758147e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (-6.776263578e-21,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (0,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (1.694065895e-21,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (8.470329473e-22,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (4.235164736e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (0,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (1.734723476e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-1.084202172e-18,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-1.694065895e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (6.776263578e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (3.388131789e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (0,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (1.058791184e-21,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-2.117582368e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-6.352747104e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566195e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (-6.776263578e-21,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-3.388131789e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (0,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (0,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (-3.388131789e-21,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (0,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (4.235164736e-22,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-8.470329473e-22,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (1.270549421e-21,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-4.235164736e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0.2370734683,0) (0.0006670533688,0) (0.004066218674,0) (0.0006820777545,0) (0.0005956356081,0) (8.044155541e-06,0) (9.655870575e-06,0) (6.831873609e-05,0) (4.382157398e-05,0) (1.591626787e-05,0) (1.652759785e-05,0) (1.94939596e-05,0) (1.491606603e-05,0) (3.877437899e-09,0) (0.000104543173,0) (0.3087228188,0) (0.0001062601308,0) (0.02189791074,0) (1.451237323e-09,0) (0.00101721631,0) (6.767884142e-05,0) (3.270019455e-11,0) (0.002703808895,0) (4.554381508e-05,0) (7.902103776e-11,0) (3.058225334e-05,0) (0.0002763177339,0) (1.071720204e-11,0) (1.677877475e-07,0) (1.554212663e-07,0) (1.046209416e-14,0) (9.935797639e-06,0) (6.792423503e-05,0) (2.685856042e-12,0) (0.0001254778854,0) (5.197168565e-06,0) (3.878416987e-12,0) (3.452071693e-06,0) (3.698293816e-05,0) (1.425830819e-12,0) (2.421919495e-05,0) (1.387963126e-06,0) (7.687789817e-13,0) (1.030262135e-06,0) (3.786694817e-05,0) (1.535265483e-12,0) (3.118113231e-05,0) (2.989431376e-07,0) (8.846582533e-13,0) (1.823523549e-07,0) (2.000685348e-05,0) (1.00557303e-12,0) (3.415236843e-18,0) (-4.33680869e-19,0) (0,0) (0.03787629397,0) (0.1290043371,0) (9.757819552e-19,0) (1.626303259e-19,0) (1.734723476e-18,0) (0.01166407464,0) (0.02777002614,0) (0,0) (-1.905824131e-21,0) (-6.776263578e-21,0) (0.0001520492622,0) (9.479976155e-05,0) (3.726944968e-20,0) (-1.016439537e-20,0) (0,0) (0.0005765989928,0) (0.002012299337,0) (3.30872245e-24,0) (-2.067951531e-24,0) (4.135903063e-25,0) (2.968303438e-07,0) (9.832055907e-08,0) (-1.058791184e-22,0) (3.97046694e-23,0) (-1.389663429e-22,0) (3.860134312e-07,0) (9.979758691e-06,0) (-1.694065895e-21,0) (4.235164736e-22,0) (-2.01170325e-21,0) (3.578750522e-05,0) (7.498366886e-05,0) (-2.488159283e-21,0) (5.29395592e-23,0) (8.470329473e-22,0) (1.02162398e-05,0) (6.854234909e-05,0) (-1.058791184e-22,0) (-9.264422861e-23,0) (0,0) (9.779609685e-07,0) (8.699365442e-06,0) (-2.117582368e-22,0) (-5.29395592e-23,0) (-1.32348898e-23,0) (4.056902711e-06,0) (8.419618364e-06,0) (0,0) (1.98523347e-23,0) (-1.032321404e-21,0) (5.202177913e-06,0) (1.997650936e-05,0) (5.29395592e-23,0) (-3.176373552e-22,0) (4.764560328e-22,0) (2.701400034e-06,0) (1.519803296e-05,0) (2.117582368e-22,0) (-3.30872245e-23,0) (4.566036981e-22,0) (2.43172997e-06,0) (8.192639034e-06,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (1.073506527e-10,0) (0.04541795873,0) (0.1725741146,0) (0.01007922853,0) (4.289735641e-10,0) (0.01096928929,0) (5.737094057e-05,0) (1.333779821e-12,0) (6.161287463e-05,0) (4.444852922e-08,0) (1.969247442e-15,0) (4.145795013e-08,0) (1.730393003e-13,0) (0.0001003702013,0) (0.0001160749593,0) (5.79959204e-05,0) (1.968726167e-12,0) (0.000456033966,0) (4.122042944e-13,0) (0.0001878179395,0) (0.0003229003659,0) (1.646882568e-13,0) (1.410595769e-05,0) (0.0002999456081,0) (5.102445159e-14,0) (6.696096688e-05,0) (0.0001183515028,0) (8.984760364e-14,0) (5.83628165e-07,0) (0.0001427988773,0) (2.344464954e-06,0) (1.402501907e-15,0) (0.0001207276869,0) (4.655188215e-14,0) (6.221369806e-06,0) (0.0001060713667,0) (3.292207679e-14,0) (1.583941041e-06,0) (9.971418463e-05,0) (-4.33680869e-18,0) (0.009429544937,0) (1.5840107e-13,0) (0.0005109923468,0) (0.194759507,0) (2.710505431e-19,0) (0.002555581156,0) (0.005067391794,0) (1.942355678e-10,0) (0.0004409201741,0) (-3.388131789e-21,0) (2.942625463e-05,0) (5.654394068e-05,0) (2.071868796e-12,0) (8.037295849e-06,0) (-1.058791184e-22,0) (7.348914505e-07,0) (3.230829218e-06,0) (6.964797294e-14,0) (1.567816421e-07,0) (-1.355252716e-20,0) (0.000113937913,0) (0.0001851425888,0) (2.781457311e-11,0) (2.999024015e-05,0) (-6.776263578e-21,0) (1.52722285e-05,0) (1.871511688e-11,0) (0.0005040683449,0) (5.02024039e-05,0) (-1.016439537e-20,0) (1.211469523e-05,0) (6.023879719e-13,0) (0.0001599166819,0) (0.0002441829949,0) (-1.355252716e-20,0) (4.063106018e-06,0) (2.623064153e-13,0) (0.000205223284,0) (3.30332097e-05,0) (2.733646717e-08,0) (8.470329473e-22,0) (4.552654708e-15,0) (0.000111644296,0) (2.711731612e-05,0) (-6.776263578e-21,0) (1.172473665e-06,0) (1.533275629e-13,0) (1.278860789e-05,0) (9.776751272e-05,0) (2.541098842e-21,0) (1.709717327e-06,0) (1.530464362e-07,0) (1.424655546e-13,0) (0.0001104626914,0) (8.6197615e-07,0) (-2.964615315e-21,0) (6.739760524e-14,0) (2.211632354e-05,0) (7.515207224e-05,0) (4.65868121e-21,0) (6.315078598e-07,0) (3.652790367e-14,0) (1.2355385e-07,0) (8.266795114e-05,0) -(0.2422309801,0) (0.001121531446,0) (0.004001037327,0) (0.0008151232336,0) (0.0005459492306,0) (2.557736886e-06,0) (1.207525027e-05,0) (7.053714984e-05,0) (3.864594342e-05,0) (1.483042612e-05,0) (1.714442183e-05,0) (1.870975941e-05,0) (1.379834849e-05,0) (1.742864286e-07,0) (0.005638823192,0) (-0.03005885845,0) (-0.001740184869,0) (-0.0002456493842,0) (-1.464161271e-09,0) (-0.0002385746382,0) (0.0001785998502,0) (-2.747021514e-11,0) (-0.0005992538639,0) (0.000367698185,0) (-1.046201884e-10,0) (-6.600547482e-05,0) (4.89280251e-05,0) (-8.444216063e-12,0) (-4.766178062e-07,0) (4.06527398e-07,0) (-3.327915718e-14,0) (-3.196151495e-05,0) (2.456646172e-05,0) (-3.639065293e-12,0) (-3.402544542e-05,0) (2.406742621e-05,0) (-4.536703068e-12,0) (-9.26298144e-06,0) (6.688627696e-06,0) (-1.280349392e-12,0) (-7.564880206e-06,0) (5.569965596e-06,0) (-9.132222426e-13,0) (-6.467528051e-06,0) (3.305101292e-06,0) (-1.683603403e-12,0) (-5.197553094e-06,0) (2.84540489e-06,0) (-1.055854317e-12,0) (-1.763474399e-06,0) (2.918850479e-07,0) (-8.970932822e-13,0) (0,0) (-1.734723476e-18,0) (0,0) (0.04120751152,0) (-0.1209002553,0) (8.67361738e-19,0) (2.168404345e-19,0) (-8.67361738e-19,0) (0.01059505292,0) (-0.03117134266,0) (0,0) (-6.776263578e-21,0) (-3.388131789e-21,0) (5.404029922e-05,0) (-0.0002719614938,0) (-8.131516294e-20,0) (-1.355252716e-20,0) (2.032879073e-20,0) (0.0006347062577,0) (-0.001863912343,0) (2.64697796e-23,0) (-5.95570041e-23,0) (1.32348898e-23,0) (-2.21524732e-08,0) (1.343238814e-06,0) (1.058791184e-22,0) (1.058791184e-22,0) (1.058791184e-22,0) (9.509644464e-07,0) (-4.130367749e-06,0) (0,0) (-2.117582368e-22,0) (0,0) (3.035209207e-05,0) (-9.01449982e-05,0) (1.799945013e-21,0) (2.117582368e-22,0) (0,0) (1.50771313e-05,0) (-4.735466163e-05,0) (-2.64697796e-23,0) (-2.117582368e-22,0) (0,0) (1.62071298e-06,0) (-5.352223079e-06,0) (5.29395592e-22,0) (2.64697796e-22,0) (5.29395592e-23,0) (3.422835305e-06,0) (-1.01749705e-05,0) (-2.117582368e-22,0) (-1.058791184e-22,0) (1.058791184e-21,0) (5.992220638e-06,0) (-1.768270685e-05,0) (-2.117582368e-22,0) (-2.117582368e-22,0) (2.117582368e-22,0) (3.697399502e-06,0) (-1.132169379e-05,0) (0,0) (-1.091878409e-22,0) (-2.448454613e-22,0) (2.631726242e-06,0) (-7.718453293e-06,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2791082932,0) (0.02715806816,0) (-0.02846199811,0) (-0.008149020754,0) (0.002851320191,0) (-3.950407327e-05,0) (1.14330723e-05,0) (0.000154869012,0) (-0.0001326794655,0) (8.537678745e-05,0) (-7.412014254e-05,0) (5.873445414e-05,0) (-3.031732376e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1181203825,0) (-0.006245320651,0) (-0.002900269686,0) (3.326358174e-05,0) (0.0001138238722,0) (-8.641960382e-06,0) (3.016434396e-05,0) (1.010587839e-05,0) (7.596477619e-06,0) (2.457459582e-05,0) (1.39297899e-05,0) (4.065901073e-06,0) (7.640914772e-06,0) (-0.01035118577,0) (-1.060983429e-08,0) (0.1844993062,0) (0.0003082971776,0) (-3.414617148e-10,0) (-0.02229074989,0) (-4.695743746e-06,0) (1.512221582e-12,0) (-0.000493871054,0) (2.774482817e-07,0) (1.388386925e-13,0) (1.075209157e-05,0) (1.542408416e-12,0) (-1.658424701e-07,0) (9.590123357e-05,0) (8.91317672e-15,0) (8.216387078e-07,0) (-6.614975308e-06,0) (-5.963206816e-15,0) (-3.894922342e-06,0) (5.496461783e-05,0) (2.139238978e-08,0) (-1.443919701e-14,0) (-6.011743517e-06,0) (4.673910862e-15,0) (-1.74835413e-06,0) (3.005116424e-05,0) (-2.235709583e-16,0) (-5.566167409e-06,0) (4.421606725e-05,0) (-2.755076165e-13,0) (-8.301042594e-07,0) (1.171506491e-05,0) (5.277626819e-15,0) (-9.855585617e-07,0) (7.565601838e-06,0) (4.796833131e-15,0) (-2.467184366e-06,0) (1.707721501e-05,0) (-4.011548038e-18,0) (-0.001440066044,0) (0.0003756619176,0) (-7.98021357e-09,0) (0.06390193245,0) (-5.692061406e-19,0) (4.661129412e-05,0) (-0.001430622896,0) (-5.324722776e-10,0) (-0.006490750649,0) (8.470329473e-22,0) (-1.219047869e-09,0) (6.88256806e-08,0) (-1.492854078e-13,0) (-2.119132764e-05,0) (-2.64697796e-21,0) (3.776952075e-09,0) (-1.772438385e-05,0) (2.737719363e-12,0) (-1.263791935e-05,0) (2.382280164e-22,0) (-1.489280527e-10,0) (2.159068983e-15,0) (1.41805818e-07,0) (-9.41299573e-06,0) (-1.058791184e-21,0) (-2.66680814e-08,0) (8.251120861e-14,0) (-1.360177412e-05,0) (2.890940732e-05,0) (-2.051407919e-22,0) (-2.873311294e-09,0) (-5.553993283e-14,0) (-6.239731814e-07,0) (3.264209423e-06,0) (3.044024654e-22,0) (8.129572964e-09,0) (-4.505795755e-14,0) (6.797582913e-07,0) (-3.897277635e-06,0) (-7.940933881e-23,0) (-5.801431416e-10,0) (1.621406561e-15,0) (-3.222079977e-06,0) (2.141123947e-05,0) (-1.058791184e-22,0) (-1.220420545e-08,0) (-3.309562665e-14,0) (-9.894086537e-06,0) (2.043898951e-05,0) (-3.567216392e-24,0) (-8.979762109e-12,0) (4.383490997e-09,0) (1.926809811e-16,0) (3.180408848e-08,0) (1.786710123e-22,0) (-7.758571774e-09,0) (1.720215909e-14,0) (-3.727686172e-06,0) (7.582318236e-06,0) (-1.32348898e-23,0) (-1.614102532e-08,0) (1.910022884e-14,0) (-3.025162843e-06,0) (8.913907942e-06,0) -(0.2757309677,0) (0.033849107,0) (-0.03357642321,0) (-0.005713665996,0) (0.002042528073,0) (0.0001252214311,0) (0.000101946051,0) (-1.042211491e-05,0) (3.127914568e-05,0) (-3.917751923e-05,0) (1.580332402e-05,0) (-2.236553419e-06,0) (7.972957138e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0005994385344,0) (-0.1985188841,0) (-0.001140207266,0) (-0.07488263132,0) (2.167276441e-05,0) (-1.025275956e-05,0) (0.0008666908912,0) (0.008349515407,0) (1.159857724e-06,0) (0.0006185982764,0) (0.01711533238,0) (2.254507178e-06,0) (-0.002883854726,0) (-0.0002052737618,0) (-3.899156928e-07,0) (-0.000159158543,0) (-0.0001352381151,0) (-3.706119164e-08,0) (-0.001416265,0) (-0.0001403458379,0) (-1.967367615e-07,0) (7.853055611e-05,0) (0.001110759192,0) (1.500255288e-07,0) (-0.0003981834344,0) (-2.30250586e-05,0) (-5.321609918e-08,0) (2.402907374e-05,0) (0.0002617957008,0) (3.602240965e-08,0) (-0.0002640355922,0) (-2.758564769e-06,0) (-3.410406075e-08,0) (3.284076926e-06,0) (0.000132422448,0) (1.733460305e-08,0) (-7.323759983e-05,0) (-6.375922781e-08,0) (-9.551291528e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.001846675378,0) (-0.001654839895,0) (1.111239836e-05,0) (6.00638806e-06,0) (-7.965650434e-06,0) (-2.351680004e-05,0) (8.315325756e-06,0) (5.354914909e-06,0) (-5.18806211e-06,0) (-2.359921549e-06,0) (7.269569138e-07,0) (-3.107727192e-07,0) (-1.038697242e-06,0) (-0.06490133507,0) (-3.946716758e-05,0) (-0.006148089778,0) (0.007225280791,0) (3.425681516e-06,0) (-0.001345300549,0) (0.0001579544268,0) (1.933599988e-08,0) (4.985113502e-05,0) (-4.842011333e-06,0) (-6.979482776e-10,0) (7.525934897e-07,0) (1.618918448e-07,0) (-6.272074233e-05,0) (-4.091314267e-05,0) (-1.323759753e-09,0) (4.293660645e-05,0) (-1.735049015e-06,0) (1.921228267e-10,0) (-2.913583491e-05,0) (2.152582244e-05,0) (-2.092592279e-07,0) (1.791320429e-09,0) (-5.094414221e-05,0) (1.359553096e-10,0) (-1.256793796e-05,0) (-1.07102183e-05,0) (3.055871646e-11,0) (-2.032540034e-06,0) (-5.724551057e-06,0) (5.494923794e-10,0) (-1.488701156e-06,0) (-9.543865412e-06,0) (1.452900029e-10,0) (-3.151034807e-06,0) (-9.523435361e-06,0) (7.154815394e-11,0) (-3.083106532e-06,0) (-6.388466763e-06,0) (-8.67361738e-19,0) (0.005458852868,0) (-0.1264871219,0) (-6.252989909e-05,0) (-0.0005301535656,0) (1.084202172e-19,0) (-0.0002130075372,0) (0.01332630147,0) (1.825408291e-06,0) (-0.0004832594551,0) (-8.470329473e-22,0) (-2.967339092e-06,0) (7.000924065e-05,0) (1.743942639e-08,0) (-2.943530294e-05,0) (2.541098842e-21,0) (-1.216966884e-08,0) (7.671321961e-05,0) (7.595298963e-09,0) (-2.357373937e-06,0) (1.270549421e-21,0) (-4.8359186e-07,0) (-4.383976412e-10,0) (4.728265869e-05,0) (-2.460472004e-05,0) (0,0) (-2.363189478e-06,0) (-2.370021663e-09,0) (8.113426703e-05,0) (4.633762748e-05,0) (-8.470329473e-22,0) (4.377140531e-06,0) (1.020286978e-08,0) (-0.0001297244959,0) (5.329791181e-06,0) (0,0) (2.608211516e-06,0) (5.109376555e-09,0) (-7.478601065e-05,0) (-8.104477101e-06,0) (-1.058791184e-22,0) (2.294365191e-08,0) (2.306630744e-11,0) (-8.580644554e-06,0) (-3.260951961e-06,0) (6.352747104e-22,0) (1.665974296e-07,0) (1.845548891e-10,0) (-6.225489374e-06,0) (-9.221360182e-06,0) (-8.470329473e-22,0) (8.144303457e-12,0) (9.464237249e-07,0) (8.301088797e-10,0) (-2.75231617e-05,0) (-4.235164736e-22,0) (3.061043593e-07,0) (3.46976802e-10,0) (-1.102623907e-05,0) (-8.675920207e-06,0) (4.235164736e-22,0) (1.540103829e-07,0) (1.701788421e-10,0) (-1.243366357e-06,0) (-1.244429397e-05,0) -(-0.1031484994,0) (-0.1582389931,0) (-0.01103408529,0) (0.01890852676,0) (0.005635747778,0) (-0.002521811017,0) (-0.001083411895,0) (0.0001668520179,0) (0.0003833158109,0) (-4.739128419e-05,0) (-4.040597076e-05,0) (-1.348309736e-05,0) (2.298693686e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0006078052747,0) (-0.0818026201,0) (0.01767374832,0) (-0.0250530803,0) (0.0006937595959,0) (1.027075844e-05,0) (-0.002366336259,0) (0.005365100259,0) (-1.161785369e-06,0) (-0.003148568976,0) (0.008918855406,0) (-2.258227789e-06,0) (-0.000268341271,0) (-0.0007367991449,0) (3.905716485e-07,0) (8.455219191e-05,0) (-0.0001803428258,0) (3.712316421e-08,0) (-6.785138147e-05,0) (-0.0004386388888,0) (1.970672368e-07,0) (-0.0002692972928,0) (0.0006562681882,0) (-1.502743643e-07,0) (-4.688880524e-05,0) (-9.016405225e-05,0) (5.330567966e-08,0) (-7.059613306e-05,0) (0.000163597705,0) (-3.608223219e-08,0) (-6.507889457e-05,0) (-2.173113939e-05,0) (3.416188227e-08,0) (-2.087522514e-05,0) (6.50316769e-05,0) (-1.736311552e-08,0) (-2.275006274e-05,0) (-1.101125681e-06,0) (9.567778006e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04202610262,0) (0.03766036634,0) (-0.0002528927387,0) (-0.0001366916373,0) (0.0001812799621,0) (0.0005351885142,0) (-0.0001892377717,0) (-0.0001218656003,0) (0.0001180684127,0) (5.370641011e-05,0) (-1.654387459e-05,0) (7.072475403e-06,0) (2.363837055e-05,0) (-0.0261051813,0) (3.944842813e-05,0) (6.279587704e-05,0) (0.002416007754,0) (-3.425597545e-06,0) (0.03365443351,0) (5.171884636e-05,0) (-1.935851884e-08,0) (-0.001175570287,0) (-2.300267057e-06,0) (6.987811895e-10,0) (-1.390588258e-05,0) (-1.638194283e-07,0) (-2.644343681e-05,0) (0.0009279537109,0) (1.325991733e-09,0) (-3.274005584e-05,0) (0.0004008668033,0) (-1.924329641e-10,0) (2.950263984e-05,0) (-0.0005718721755,0) (-2.727688202e-07,0) (-1.794592821e-09,0) (3.284267252e-05,0) (-1.361779008e-10,0) (-1.772004666e-05,0) (0.0002140658698,0) (-3.061634471e-11,0) (-2.18074922e-06,0) (8.592680047e-06,0) (-5.505024031e-10,0) (1.478868857e-06,0) (-3.305527393e-05,0) (-1.455247171e-10,0) (-6.902743869e-06,0) (3.953000872e-05,0) (-7.166854507e-11,0) (-7.303006439e-06,0) (3.947982096e-05,0) (0,0) (0.001679108527,0) (-0.05045358095,0) (6.252449675e-05,0) (0.02200366493,0) (2.168404345e-19,0) (-0.0001201094063,0) (0.006398207008,0) (-1.827623733e-06,0) (0.004689634674,0) (-8.470329473e-20,0) (-1.145585351e-06,0) (2.575624477e-05,0) (-1.745081276e-08,0) (0.0006705783039,0) (-4.235164736e-22,0) (-3.62487904e-09,0) (2.484116704e-05,0) (-7.604241534e-09,0) (-5.076304556e-06,0) (-4.235164736e-20,0) (-1.840484349e-07,0) (4.390893775e-10,0) (1.025957234e-05,0) (0.0005620420754,0) (-3.388131789e-21,0) (-6.94792267e-07,0) (2.373663017e-09,0) (0.0001593070373,0) (-0.000251256781,0) (2.117582368e-22,0) (1.955830264e-06,0) (-1.022102714e-08,0) (-6.579728783e-06,0) (-0.0002342789111,0) (-8.470329473e-22,0) (7.688532502e-07,0) (-5.11828032e-09,0) (-5.264350621e-05,0) (0.0001274524706,0) (0,0) (7.264731325e-09,0) (-2.310334681e-11,0) (-1.395951307e-05,0) (6.869909882e-05,0) (-1.270549421e-21,0) (8.860179887e-08,0) (-1.848524135e-10,0) (1.541787193e-05,0) (-4.066423592e-05,0) (-1.588186776e-22,0) (-5.464056351e-11,0) (4.061638748e-07,0) (-8.316854796e-10,0) (-1.078115126e-05,0) (7.940933881e-22,0) (7.888849008e-08,0) (-3.475255682e-10,0) (-2.522531665e-05,0) (3.889316497e-05,0) (-1.164670302e-21,0) (3.533132544e-08,0) (-1.704590834e-10,0) (-5.400560006e-06,0) (9.482860461e-06,0) -(-0.03354517603,0) (-0.05146129038,0) (-0.003588421894,0) (0.006149288282,0) (0.001832815333,0) (-0.0008201243352,0) (-0.0003523390349,0) (5.426235325e-05,0) (0.0001246590734,0) (-1.541223556e-05,0) (-1.314052468e-05,0) (-4.384871105e-06,0) (7.475638015e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0008056940932,0) (0.08598772848,0) (0.01418116593,0) (0.03748567322,0) (0.0005069597758,0) (-1.361692173e-05,0) (-0.002436983511,0) (-0.002240139213,0) (1.540598429e-06,0) (-0.002840072602,0) (-0.006159742645,0) (2.994578451e-06,0) (0.001968803752,0) (-0.0004011031198,0) (-5.179052102e-07,0) (0.0001835878932,0) (-3.418482576e-05,0) (-4.922683088e-08,0) (0.001015095094,0) (-0.0002251307824,0) (-2.613155229e-07,0) (-0.0002622025914,0) (-0.0003413494461,0) (1.992736509e-07,0) (0.0002644203416,0) (-5.066131264e-05,0) (-7.068415912e-08,0) (-7.132799777e-05,0) (-7.372500718e-05,0) (4.784728731e-08,0) (0.0001497079056,0) (-1.431185483e-05,0) (-4.529799756e-08,0) (-1.821450758e-05,0) (-5.065552207e-05,0) (2.302489451e-08,0) (3.798269516e-05,0) (-7.824682005e-07,0) (-1.268593802e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.03306914808,0) (0.02963387403,0) (-0.0001989941228,0) (-0.0001075587721,0) (0.0001426440602,0) (0.0004211246611,0) (-0.0001489058348,0) (-9.589258415e-05,0) (9.290468493e-05,0) (4.226005073e-05,0) (-1.301790565e-05,0) (5.565130283e-06,0) (1.860036328e-05,0) (0.02926571414,0) (-5.233749665e-05,0) (0.004673081751,0) (-0.00362435917,0) (4.545799097e-06,0) (0.02638077972,0) (-7.992001587e-05,0) (2.568906514e-08,0) (-0.0009236595288,0) (1.910721583e-06,0) (-9.273966112e-10,0) (-1.104819657e-05,0) (2.172620418e-07,0) (2.679708471e-05,0) (0.000730282638,0) (-1.760161639e-09,0) (-5.697878921e-05,0) (0.0003034798675,0) (2.554106455e-10,0) (4.416018281e-05,0) (-0.0004472785039,0) (-4.815784398e-08,0) (2.380958854e-09,0) (6.308274014e-05,0) (1.807232962e-10,0) (-3.901393542e-06,0) (0.0001694230918,0) (4.06153188e-11,0) (-1.146048646e-07,0) (1.07843805e-05,0) (7.316866297e-10,0) (2.233056699e-06,0) (-1.773625471e-05,0) (1.931154678e-10,0) (-2.832235242e-06,0) (3.696293445e-05,0) (9.509970693e-11,0) (-3.185200628e-06,0) (3.456667511e-05,0) (-3.469446952e-18,0) (-0.00284257667,0) (0.05732018934,0) (-8.295705307e-05,0) (0.01698074865,0) (1.626303259e-19,0) (6.976167755e-05,0) (-0.005208299287,0) (2.425392242e-06,0) (0.003898029682,0) (-7.115076757e-20,0) (1.369639726e-06,0) (-3.330977184e-05,0) (2.316105747e-08,0) (0.0005276356672,0) (2.117582368e-22,0) (6.427763033e-09,0) (-3.902065515e-05,0) (1.008984649e-08,0) (-2.047743501e-06,0) (-3.388131789e-20,0) (2.252124931e-07,0) (-5.827660155e-10,0) (-2.784067985e-05,0) (0.0004421855303,0) (1.694065895e-21,0) (1.25482395e-06,0) (-3.150489814e-09,0) (5.903793265e-05,0) (-0.0002242549974,0) (-2.117582368e-21,0) (-1.819824513e-06,0) (1.356734793e-08,0) (9.261243859e-05,0) (-0.0001806069212,0) (-8.470329473e-22,0) (-1.383388018e-06,0) (6.792974981e-09,0) (1.657555103e-05,0) (0.0001021695525,0) (1.058791184e-22,0) (-1.179134865e-08,0) (3.065983203e-11,0) (-4.066691132e-06,0) (5.42395716e-05,0) (5.29395592e-22,0) (-5.858694103e-08,0) (2.453479878e-10,0) (1.630524542e-05,0) (-2.371439697e-05,0) (2.64697796e-22,0) (-4.732725524e-11,0) (-4.061021922e-07,0) (1.103310071e-09,0) (1.257948399e-05,0) (1.270549421e-21,0) (-1.70912097e-07,0) (4.612254458e-10,0) (-1.071839513e-05,0) (3.584446582e-05,0) (-6.352747104e-22,0) (-8.927826945e-08,0) (2.261947935e-10,0) (-3.135211927e-06,0) (1.651072366e-05,0) -(0.05232289484,0) (0.08026798496,0) (0.005597127326,0) (-0.009591500245,0) (-0.002858777782,0) (0.00127920865,0) (0.000549569281,0) (-8.463701011e-05,0) (-0.0001944399869,0) (2.403960497e-05,0) (2.049624931e-05,0) (6.839408132e-06,0) (-1.166030613e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2422309801,0) (0.001121531446,0) (0.004001037327,0) (0.0008151232336,0) (0.0005459492306,0) (2.557736886e-06,0) (1.207525027e-05,0) (7.053714984e-05,0) (3.864594342e-05,0) (1.483042612e-05,0) (1.714442183e-05,0) (1.870975941e-05,0) (1.379834849e-05,0) (1.742864286e-07,0) (0.005638823192,0) (-0.03005885845,0) (-0.001740184869,0) (-0.0002456493842,0) (-1.464161271e-09,0) (-0.0002385746382,0) (0.0001785998502,0) (-2.747021514e-11,0) (-0.0005992538639,0) (0.000367698185,0) (-1.046201884e-10,0) (-6.600547482e-05,0) (4.89280251e-05,0) (-8.444216063e-12,0) (-4.766178062e-07,0) (4.06527398e-07,0) (-3.327915718e-14,0) (-3.196151495e-05,0) (2.456646172e-05,0) (-3.639065293e-12,0) (-3.402544542e-05,0) (2.406742621e-05,0) (-4.536703068e-12,0) (-9.26298144e-06,0) (6.688627696e-06,0) (-1.280349392e-12,0) (-7.564880206e-06,0) (5.569965596e-06,0) (-9.132222426e-13,0) (-6.467528051e-06,0) (3.305101292e-06,0) (-1.683603403e-12,0) (-5.197553094e-06,0) (2.84540489e-06,0) (-1.055854317e-12,0) (-1.763474399e-06,0) (2.918850479e-07,0) (-8.970932822e-13,0) (-4.33680869e-19,0) (-3.469446952e-18,0) (-8.67361738e-19,0) (0.04120751152,0) (-0.1209002553,0) (1.301042607e-18,0) (-2.168404345e-19,0) (-4.33680869e-19,0) (0.01059505292,0) (-0.03117134266,0) (6.776263578e-21,0) (-6.776263578e-21,0) (5.082197684e-21,0) (5.404029922e-05,0) (-0.0002719614938,0) (-1.016439537e-19,0) (-1.355252716e-20,0) (4.065758147e-20,0) (0.0006347062577,0) (-0.001863912343,0) (2.64697796e-23,0) (-5.95570041e-23,0) (1.32348898e-23,0) (-2.21524732e-08,0) (1.343238814e-06,0) (1.058791184e-22,0) (2.64697796e-23,0) (6.6174449e-23,0) (9.509644464e-07,0) (-4.130367749e-06,0) (0,0) (6.352747104e-22,0) (-4.235164736e-22,0) (3.035209207e-05,0) (-9.01449982e-05,0) (2.329340605e-21,0) (3.176373552e-22,0) (0,0) (1.50771313e-05,0) (-4.735466163e-05,0) (-2.64697796e-23,0) (2.64697796e-23,0) (0,0) (1.62071298e-06,0) (-5.352223079e-06,0) (5.29395592e-22,0) (2.64697796e-22,0) (-5.29395592e-23,0) (3.422835305e-06,0) (-1.01749705e-05,0) (-2.117582368e-22,0) (-1.588186776e-22,0) (3.176373552e-22,0) (5.992220638e-06,0) (-1.768270685e-05,0) (0,0) (-2.117582368e-22,0) (3.176373552e-22,0) (3.697399502e-06,0) (-1.132169379e-05,0) (1.058791184e-22,0) (-4.963083675e-23,0) (-2.514629062e-22,0) (2.631726242e-06,0) (-7.718453293e-06,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2475006931,0) (0.001885655396,0) (0.003936900835,0) (0.0009741204454,0) (0.0005004075617,0) (8.132634863e-07,0) (1.510083094e-05,0) (7.282759888e-05,0) (3.408159058e-05,0) (1.381866281e-05,0) (1.778426622e-05,0) (1.795710592e-05,0) (1.276438578e-05,0) (7.833976983e-06,0) (0.3041454174,0) (0.002926686712,0) (0.02849839687,0) (2.755679327e-06,0) (1.477200313e-09,0) (5.595452752e-05,0) (0.000471312833,0) (2.30767043e-11,0) (0.0001328145617,0) (0.002968612862,0) (1.385122765e-10,0) (0.0001424591791,0) (8.663764015e-06,0) (6.653302287e-12,0) (1.353880343e-06,0) (1.063332768e-06,0) (1.058585676e-13,0) (0.0001028139335,0) (8.885062031e-06,0) (4.930568137e-12,0) (9.226573536e-06,0) (0.0001114531879,0) (5.306720436e-12,0) (2.485545863e-05,0) (1.209685944e-06,0) (1.149711836e-12,0) (2.362894913e-06,0) (2.235255113e-05,0) (1.084804457e-12,0) (4.060026829e-05,0) (2.884757044e-07,0) (1.846273793e-12,0) (8.663751496e-07,0) (2.708317392e-05,0) (1.260179665e-12,0) (1.705402686e-05,0) (4.258384822e-09,0) (8.003161713e-13,0) (1.561251128e-17,0) (6.938893904e-18,0) (8.67361738e-19,0) (0.04483170943,0) (0.1133052738,0) (8.67361738e-19,0) (-1.734723476e-18,0) (4.33680869e-19,0) (0.009624007898,0) (0.03498925778,0) (0,0) (5.421010862e-20,0) (6.776263578e-21,0) (1.920663012e-05,0) (0.0007802029551,0) (2.439454888e-19,0) (0,0) (2.710505431e-20,0) (0.0006986693326,0) (0.001726467409,0) (0,0) (-3.176373552e-22,0) (-4.235164736e-22,0) (1.653240914e-09,0) (1.835110102e-05,0) (0,0) (0,0) (0,0) (2.342751068e-06,0) (1.709453932e-06,0) (0,0) (1.016439537e-20,0) (1.101142831e-20,0) (2.57422105e-05,0) (0.0001083718738,0) (1.270549421e-21,0) (0,0) (-4.235164736e-22,0) (2.225083718e-05,0) (3.271647394e-05,0) (0,0) (2.911675756e-22,0) (0,0) (2.685905316e-06,0) (3.292917407e-06,0) (2.117582368e-22,0) (2.117582368e-22,0) (0,0) (2.887868495e-06,0) (1.229628472e-05,0) (2.117582368e-22,0) (0,0) (-4.235164736e-22,0) (6.902245323e-06,0) (1.565229019e-05,0) (-6.352747104e-22,0) (2.117582368e-22,0) (-4.235164736e-22,0) (5.060621495e-06,0) (8.434035548e-06,0) (-1.058791184e-22,0) (-8.470329473e-22,0) (-3.176373552e-22,0) (2.848171096e-06,0) (7.27171318e-06,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (0.08203099855,0) (8.306610194e-08,0) (0.1359609918,0) (0.009081386798,0) (5.657391905e-09,0) (0.01196712578,0) (5.443671855e-05,0) (2.267692166e-12,0) (6.454709571e-05,0) (4.074384328e-08,0) (2.322477598e-15,0) (4.516263572e-08,0) (1.806939314e-09,0) (9.637884248e-05,0) (0.0001200645114,0) (3.505088404e-13,0) (0.0001259530711,0) (0.0003880768169,0) (2.442169459e-14,0) (0.0001806923474,0) (0.0003300259584,0) (4.99498452e-09,0) (5.220474457e-13,0) (0.0003140465704,0) (2.043749217e-14,0) (6.916995033e-05,0) (0.0001161425193,0) (3.068536094e-15,0) (6.841874488e-06,0) (0.0001365406311,0) (3.090610873e-13,0) (1.118320353e-06,0) (0.0001219538312,0) (2.402304362e-14,0) (6.135362753e-06,0) (0.0001061573737,0) (1.022792114e-14,0) (9.682037194e-06,0) (9.16160885e-05,0) (0,0) (0.008475895408,0) (0.1732522102,0) (1.124213962e-07,0) (0.02297182624,0) (1.084202172e-19,0) (0.0009869192534,0) (0.006480627332,0) (3.316210435e-10,0) (0.000596346401,0) (1.694065895e-21,0) (6.030566529e-06,0) (7.772448169e-05,0) (1.304810639e-11,0) (1.025243196e-05,0) (0,0) (6.172455307e-07,0) (3.424236285e-06,0) (8.91940129e-14,0) (8.102047562e-08,0) (0,0) (1.7510264e-07,0) (5.995060337e-14,0) (0.0002921369044,0) (3.675876272e-05,0) (2.032879073e-20,0) (1.275281687e-06,0) (4.637667068e-13,0) (0.0003051743252,0) (0.0002630933887,0) (6.776263578e-21,0) (3.588497215e-06,0) (5.404957306e-12,0) (0.0003430215163,0) (6.96043537e-05,0) (5.082197684e-21,0) (2.144710129e-06,0) (2.269021793e-12,0) (0.0002012220718,0) (3.895281572e-05,0) (1.694065895e-21,0) (3.844113255e-09,0) (1.769838074e-15,0) (0.0001178597097,0) (2.092539475e-05,0) (-8.470329473e-22,0) (6.145570316e-08,0) (3.010474357e-14,0) (2.166322872e-05,0) (9.000390998e-05,0) (0,0) (1.298476433e-12,0) (5.281220211e-07,0) (2.249656277e-13,0) (0.0001117973318,0) (2.541098842e-21,0) (1.467994913e-07,0) (7.105028024e-14,0) (4.480358687e-05,0) (5.317998557e-05,0) (0,0) (6.039698986e-08,0) (2.87767903e-14,0) (3.246588878e-06,0) (8.011602699e-05,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.3147524089,0) (0.3911428714,0) (0.2057672699,0) (0.06817076837,0) (0.01624681051,0) (0.001918900616,0) (8.656155591e-06,0) (0.0003293313421,0) (0.0005165205109,0) (0.0005274892321,0) (0.000308913253,0) (0.0001921098042,0) (7.200817462e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1469209212,0) (0.001757452279,0) (0.008885391297,0) (0.0004765796032,0) (0.0003137171467,0) (3.753583099e-07,0) (3.817084e-06,0) (6.033841652e-07,0) (5.317323845e-07,0) (8.414643968e-06,0) (3.31541252e-06,0) (3.002007615e-07,0) (1.229871495e-06,0) (0.001306177527,0) (1.355168727e-09,0) (0.2503658847,0) (1.046614926e-05,0) (2.060951583e-11,0) (0.04152020624,0) (4.050576507e-07,0) (1.00843227e-12,0) (0.003778769832,0) (1.889305054e-06,0) (8.299835645e-12,0) (0.002559803502,0) (1.316604296e-15,0) (2.853709815e-10,0) (7.660087477e-05,0) (2.266554089e-16,0) (5.359854749e-09,0) (1.127557649e-07,0) (1.456075894e-15,0) (8.395718063e-08,0) (9.154156321e-06,0) (9.161877051e-08,0) (3.993706216e-16,0) (1.150818494e-07,0) (1.068890781e-15,0) (4.419176462e-08,0) (7.775554357e-06,0) (1.628929061e-17,0) (4.528323296e-06,0) (1.43185262e-05,0) (2.455969101e-13,0) (6.161678805e-07,0) (1.125366415e-06,0) (1.15944313e-15,0) (1.58315933e-07,0) (5.391837529e-07,0) (2.24968478e-15,0) (6.286898691e-07,0) (3.183188427e-06,0) (6.2883726e-18,0) (0.0002446691601,0) (8.145458932e-07,0) (5.664740933e-10,0) (0.177759353,0) (2.493664997e-18,0) (2.201408811e-06,0) (0.0003158153936,0) (8.549720567e-10,0) (0.0706465972,0) (1.058791184e-22,0) (2.464242287e-13,0) (6.094571757e-11,0) (1.707997469e-15,0) (4.38015457e-05,0) (8.131516294e-20,0) (2.311133296e-11,0) (9.174418953e-05,0) (8.403150672e-11,0) (0.001971316564,0) (5.29395592e-23,0) (1.266660794e-13,0) (7.775698928e-17,0) (6.88337889e-11,0) (2.410431746e-06,0) (1.356576205e-22,0) (5.576701781e-10,0) (1.468000911e-14,0) (6.062379565e-07,0) (3.176643229e-06,0) (-2.067951531e-24,0) (2.300661614e-12,0) (5.707138741e-16,0) (1.135038219e-09,0) (1.530804122e-07,0) (-1.178732373e-23,0) (3.081533289e-11,0) (8.947554122e-16,0) (2.296325301e-09,0) (3.899274721e-07,0) (6.749793798e-22,0) (8.755362874e-11,0) (1.48542241e-15,0) (8.808607626e-08,0) (2.190836451e-05,0) (-1.058791184e-22,0) (2.423577032e-09,0) (3.638364687e-14,0) (4.518853107e-06,0) (4.641490491e-06,0) (1.413638742e-27,0) (6.210057073e-11,0) (3.638362452e-11,0) (1.650294841e-19,0) (9.04762241e-12,0) (8.271806126e-24,0) (4.100520746e-10,0) (4.164857336e-15,0) (3.101457978e-07,0) (1.081074942e-06,0) (7.940933881e-23,0) (4.313670249e-09,0) (1.26775354e-14,0) (2.818838655e-06,0) (9.917835142e-07,0) -(0.1537404548,0) (0.003727007567,0) (0.00854296775,0) (0.0008283378013,0) (0.000249242271,0) (3.135135163e-06,0) (3.485164461e-06,0) (1.245370055e-07,0) (1.451806454e-06,0) (9.235094054e-06,0) (1.535303137e-06,0) (1.834495508e-07,0) (1.651277635e-06,0) (2.815830936e-10,0) (0.01983051592,0) (0.2311916741,0) (1.480857164e-06,0) (5.065308416e-11,0) (0.05191474862,0) (1.74172454e-07,0) (5.928976114e-13,0) (0.002321923377,0) (5.781125973e-06,0) (1.396714217e-11,0) (0.002995923626,0) (1.300580339e-15,0) (2.083846774e-09,0) (2.160554926e-05,0) (8.895745648e-08,0) (1.874301973e-14,0) (4.549221948e-07,0) (3.009999658e-15,0) (6.499753675e-08,0) (5.596904508e-06,0) (8.516512091e-16,0) (5.426835441e-08,0) (1.474190623e-07,0) (1.228211538e-15,0) (1.807091778e-07,0) (1.378205676e-05,0) (2.933157846e-14,0) (5.773281799e-06,0) (8.30249756e-06,0) (1.793970786e-07,0) (1.57524998e-14,0) (1.14196802e-07,0) (1.547102555e-15,0) (2.937426657e-07,0) (8.906479179e-07,0) (3.127361261e-15,0) (1.516806236e-06,0) (2.811236419e-06,0) (0,0) (1.511060808e-05,0) (5.607603461e-10,0) (0.1487858497,0) (0.02038732434,0) (1.734723476e-18,0) (9.734329973e-09,0) (0.0004046016186,0) (8.829540289e-10,0) (0.0787413867,0) (0,0) (1.175486027e-09,0) (3.16393186e-09,0) (1.818492629e-13,0) (0.0005493161406,0) (0,0) (1.11287863e-09,0) (2.242153709e-05,0) (5.137087983e-11,0) (0.001903470945,0) (-4.235164736e-22,0) (1.177409821e-09,0) (2.273659858e-09,0) (4.248625572e-15,0) (2.121979301e-05,0) (0,0) (1.746371504e-10,0) (3.101321166e-15,0) (2.618867638e-10,0) (3.3303246e-06,0) (-6.6174449e-24,0) (4.476698989e-11,0) (7.989091628e-15,0) (1.282889475e-07,0) (2.814187778e-07,0) (1.654361225e-24,0) (2.426502395e-12,0) (1.278136264e-16,0) (7.949778252e-10,0) (1.110717381e-07,0) (2.436173229e-11,0) (0,0) (3.526056281e-16,0) (7.3810059e-07,0) (2.697616726e-05,0) (0,0) (1.877165974e-10,0) (1.913490841e-14,0) (2.115184742e-06,0) (1.181201865e-06,0) (-1.654361225e-24,0) (6.907330169e-11,0) (1.047719175e-07,0) (7.596810143e-15,0) (7.557011361e-09,0) (1.895051636e-10,0) (0,0) (6.491569902e-15,0) (1.28432286e-06,0) (1.324891707e-06,0) (0,0) (9.739590345e-10,0) (2.829120299e-14,0) (3.141117806e-06,0) (2.187995244e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (0,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-8.67361738e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.376428539e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.421010862e-20,0) (-7.446672951e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (5.29395592e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-3.176373552e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (3.97046694e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.522012327e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.058791184e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (9.264422861e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (6.203854594e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-1.389663429e-22,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (0,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (6.505213035e-19,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (0,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-1.355252716e-20,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (0,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (0,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.084202172e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.032879073e-20,0) (-2.218079147e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.558653716e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.415367389e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.441071348e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (2.067951531e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.714186385e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (9.264422861e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (0,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (2.710505431e-20,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (0,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (5.29395592e-23,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (2.117582368e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.035766083e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.138412281e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.694065895e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (3.726944968e-20,0) (3.933175976e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780888e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (5.823351512e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.514629062e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.808845119e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.249931266e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-1.550963649e-25,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (6.948317145e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (5.128519798e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-4.33680869e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (-5.421010862e-20,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (-8.470329473e-22,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (0,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (0,0) (-4.040786575e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (1.058791184e-22,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (-2.117582368e-22,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424696266e-12,0) (-0.008719428334,0) (0.06301289739,0) (0,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138140965e-13,0) (-6.644558929e-05,0) (0,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (0,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640456e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182199e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (0,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (-5.29395592e-23,0) (-3.139926191e-09,0) (-5.790193031e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (0,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556893e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808167e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-2.117582368e-22,0) (-2.091689037e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.214682481e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0.2791082932,0) (0.02715806816,0) (-0.02846199811,0) (-0.008149020754,0) (0.002851320191,0) (-3.950407327e-05,0) (1.14330723e-05,0) (0.000154869012,0) (-0.0001326794655,0) (8.537678745e-05,0) (-7.412014254e-05,0) (5.873445414e-05,0) (-3.031732376e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1181203825,0) (-0.006245320651,0) (-0.002900269686,0) (3.326358174e-05,0) (0.0001138238722,0) (-8.641960382e-06,0) (3.016434396e-05,0) (1.010587839e-05,0) (7.596477619e-06,0) (2.457459582e-05,0) (1.39297899e-05,0) (4.065901073e-06,0) (7.640914772e-06,0) (-0.01035118577,0) (-1.060983429e-08,0) (0.1844993062,0) (0.0003082971776,0) (-3.414617148e-10,0) (-0.02229074989,0) (-4.695743746e-06,0) (1.512221582e-12,0) (-0.000493871054,0) (2.774482817e-07,0) (1.388386925e-13,0) (1.075209157e-05,0) (1.542408416e-12,0) (-1.658424701e-07,0) (9.590123357e-05,0) (8.91317672e-15,0) (8.216387078e-07,0) (-6.614975308e-06,0) (-5.963206816e-15,0) (-3.894922342e-06,0) (5.496461783e-05,0) (2.139238978e-08,0) (-1.443919701e-14,0) (-6.011743517e-06,0) (4.673910862e-15,0) (-1.74835413e-06,0) (3.005116424e-05,0) (-2.235709583e-16,0) (-5.566167409e-06,0) (4.421606725e-05,0) (-2.755076165e-13,0) (-8.301042594e-07,0) (1.171506491e-05,0) (5.277626819e-15,0) (-9.855585617e-07,0) (7.565601838e-06,0) (4.796833131e-15,0) (-2.467184366e-06,0) (1.707721501e-05,0) (-2.168404345e-18,0) (-0.001440066044,0) (0.0003756619176,0) (-7.980213573e-09,0) (0.06390193245,0) (-5.963111949e-19,0) (4.661129412e-05,0) (-0.001430622896,0) (-5.324722779e-10,0) (-0.006490750649,0) (3.176373552e-22,0) (-1.219047869e-09,0) (6.88256806e-08,0) (-1.492854078e-13,0) (-2.119132764e-05,0) (-2.541098842e-21,0) (3.776952075e-09,0) (-1.772438385e-05,0) (2.737719361e-12,0) (-1.263791935e-05,0) (7.940933881e-22,0) (-1.489280527e-10,0) (2.159069195e-15,0) (1.41805818e-07,0) (-9.41299573e-06,0) (-5.29395592e-22,0) (-2.66680814e-08,0) (8.251120903e-14,0) (-1.360177412e-05,0) (2.890940732e-05,0) (-3.044024654e-22,0) (-2.873311294e-09,0) (-5.553993267e-14,0) (-6.239731814e-07,0) (3.264209423e-06,0) (-6.6174449e-23,0) (8.129572964e-09,0) (-4.505795755e-14,0) (6.797582913e-07,0) (-3.897277635e-06,0) (-2.01170325e-21,0) (-5.801431416e-10,0) (1.621407408e-15,0) (-3.222079977e-06,0) (2.141123947e-05,0) (-4.764560328e-22,0) (-1.220420545e-08,0) (-3.309562665e-14,0) (-9.894086537e-06,0) (2.043898951e-05,0) (-3.101927297e-24,0) (-8.979762109e-12,0) (4.383490997e-09,0) (1.926809819e-16,0) (3.180408848e-08,0) (2.911675756e-22,0) (-7.758571774e-09,0) (1.720215898e-14,0) (-3.727686172e-06,0) (7.582318236e-06,0) (1.32348898e-22,0) (-1.614102532e-08,0) (1.910022905e-14,0) (-3.025162843e-06,0) (8.913907942e-06,0) -(0.2757309677,0) (0.033849107,0) (-0.03357642321,0) (-0.005713665996,0) (0.002042528073,0) (0.0001252214311,0) (0.000101946051,0) (-1.042211491e-05,0) (3.127914568e-05,0) (-3.917751923e-05,0) (1.580332402e-05,0) (-2.236553419e-06,0) (7.972957138e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (6.505213035e-19,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-1.084202172e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.799945013e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.082197684e-20,0) (-7.44667295e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (1.98523347e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-1.588186776e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (5.95570041e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.058791184e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.32348898e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (5.29395592e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (3.101927297e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-5.95570041e-23,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (5.29395592e-23,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (0,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (-1.355252716e-20,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-6.776263578e-21,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (-4.235164736e-22,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (2.117582368e-22,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04586770644,0) (0.1295753448,0) (0.0004442131108,0) (0.1967622424,0) (0.0001704511524,0) (0.07116101842,0) (0.01342434892,0) (0.1479153603,0) (0.05829558339,0) (0.002881188799,0) (0.0986772665,0) (0.03669568318,0) (0.0583789555,0) (0.004863627082,0) (0.02285094543,0) (0.01871025158,0) (0.01720002272,0) (0.0129751607,0) (0.01950909261,0) (0.002216861756,0) (0.007850079801,0) (0.0006684007036,0) (0.01106999276,0) (0.004241350104,0) (0.006378882393,0) (0.0004382569924,0) (0.00246318523,0) (0.0002443597394,0) (0.003066181956,0) (0.001196173181,0) (0.001717101805,0) (2.637892713e-05,0) (0.0006299645073,0) (1.244860412e-05,0) (0.0006474759855,0) (0.0002384489065,0) (0.000314514928,0) (9.546434388e-07,0) (0.0001139889123,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(3.590997234e-05,0) (0.0001233917216,0) (1.30441383e-07,0) (1.553904071e-05,0) (1.536434435e-06,0) (2.779572112e-06,0) (2.900697787e-07,0) (1.694146338e-07,0) (2.480155548e-07,0) (7.759935467e-08,0) (9.02954327e-09,0) (1.753815685e-09,0) (2.272725483e-08,0) (0.05134867755,0) (0.01875202135,0) (0.000278013623,0) (0.005748536394,0) (0.00207432931,0) (0.0001512337715,0) (0.0004583230146,0) (0.0001648728595,0) (3.850112287e-05,0) (0.0005754261716,0) (0.0002097466075,0) (1.254127337e-05,0) (1.450462071e-05,0) (4.081696167e-05,0) (1.394154879e-05,0) (4.99941714e-06,0) (1.463681797e-05,0) (7.757214435e-09,0) (1.511410508e-06,0) (4.698023398e-06,0) (1.404013897e-06,0) (8.766678713e-06,0) (6.146623103e-06,0) (8.264078866e-06,0) (9.044095585e-07,0) (2.283550353e-06,0) (9.876553109e-07,0) (3.043249266e-07,0) (6.038139103e-07,0) (2.400053708e-07,0) (9.769650476e-07,0) (1.981749796e-06,0) (7.468840143e-07,0) (8.787060028e-07,0) (1.618326537e-06,0) (8.543525323e-07,0) (5.00506041e-07,0) (9.817712635e-07,0) (4.454731505e-07,0) (3.469446952e-18,0) (0.003515743553,0) (0.09234509611,0) (0.03477975199,0) (1.223510922e-05,0) (4.33680869e-19,0) (4.597357965e-05,0) (0.02740325923,0) (0.01004796136,0) (0.0003916175239,0) (1.694065895e-21,0) (1.460078625e-06,0) (6.30598451e-05,0) (2.330863833e-05,0) (8.451039346e-05,0) (2.710505431e-20,0) (2.399382941e-10,0) (0.001718607472,0) (0.0006467762177,0) (6.859021545e-05,0) (1.482307658e-21,0) (1.335565741e-06,0) (3.205846614e-06,0) (7.65274698e-06,0) (1.646933149e-05,0) (-8.470329473e-22,0) (4.379161533e-06,0) (1.211169872e-05,0) (2.157052131e-05,0) (8.161268252e-06,0) (0,0) (5.33910383e-06,0) (1.925982866e-05,0) (4.905944391e-05,0) (4.081163393e-07,0) (-8.470329473e-22,0) (3.171881935e-06,0) (1.1505279e-05,0) (2.779490012e-05,0) (1.68620799e-06,0) (1.32348898e-23,0) (1.369395562e-07,0) (3.006229585e-07,0) (6.24704245e-07,0) (5.081771609e-07,0) (0,0) (4.516212835e-07,0) (1.131399868e-06,0) (1.789055475e-06,0) (9.447754395e-07,0) (2.117582368e-22,0) (5.10826975e-11,0) (1.696043397e-06,0) (3.063049089e-06,0) (6.775872177e-06,0) (1.058791184e-22,0) (6.382847646e-07,0) (1.694474736e-06,0) (2.713576222e-06,0) (1.415412032e-06,0) (1.058791184e-22,0) (3.927215262e-07,0) (1.006395786e-06,0) (4.761797554e-07,0) (1.932952223e-06,0) -(0.02151507676,0) (0.08145033313,0) (0.0009225981511,0) (0.009071793741,0) (0.001897530337,0) (0.001271522409,0) (0.000393613206,0) (3.191902604e-05,0) (0.0002180280768,0) (1.351339316e-05,0) (1.003663981e-05,0) (6.66710727e-06,0) (1.372598266e-05,0) (0.01971880285,0) (0.0002195616787,0) (0.0003270306584,0) (2.678465689e-05,0) (0.002763516793,0) (0.106697746,0) (8.901625396e-07,0) (0.0001038820182,0) (0.0345000232,0) (1.0786905e-05,0) (0.0002550410404,0) (0.002603733392,0) (5.086780754e-06,0) (1.296261603e-06,0) (0.01019461019,0) (6.255143051e-06,0) (6.536172276e-06,0) (3.683045246e-05,0) (3.540615072e-06,0) (1.378850213e-05,0) (0.0012674418,0) (5.746639196e-06,0) (4.91232311e-05,0) (0.000126571826,0) (3.717599159e-07,0) (5.395422689e-06,0) (0.0003974504446,0) (3.479206662e-07,0) (5.176068333e-06,0) (7.774311777e-06,0) (2.357456293e-06,0) (1.1427038e-06,0) (1.727367798e-06,0) (7.399816442e-07,0) (1.145978052e-05,0) (3.343258584e-05,0) (4.18479744e-07,0) (5.861896876e-06,0) (1.04002171e-05,0) (-5.421010862e-20,0) (9.561558787e-07,0) (0.03485246954,0) (0.02674278495,0) (0.002291387465,0) (0,0) (1.569546168e-06,0) (0.0004250908481,0) (0.01192913133,0) (0.03599121376,0) (-8.67361738e-19,0) (4.328799598e-08,0) (3.906012346e-08,0) (0.0001448848612,0) (0.05737890751,0) (0,0) (1.172235841e-10,0) (9.806088991e-06,0) (0.0006373039673,0) (0.001947382062,0) (0,0) (1.816924258e-07,0) (7.09263354e-07,0) (2.318653812e-05,0) (0.009023977889,0) (0,0) (2.436045478e-08,0) (7.517683295e-06,0) (2.140748389e-07,0) (0.001279410655,0) (0,0) (2.086878003e-08,0) (2.83498791e-05,0) (0.0001528953655,0) (0.0003576463545,0) (0,0) (6.94006599e-09,0) (7.29799041e-06,0) (6.948945167e-06,0) (0.0008507631173,0) (2.393151383e-11,0) (0,0) (2.620125233e-08,0) (2.63818605e-06,0) (9.527036339e-05,0) (0,0) (1.215275915e-09,0) (1.727758853e-06,0) (4.452695345e-05,0) (2.58813648e-05,0) (0,0) (2.542260728e-09,0) (1.109931996e-05,0) (3.064539702e-06,0) (6.121327117e-07,0) (1.401947502e-09,0) (0,0) (1.253713298e-06,0) (2.653165066e-05,0) (2.635447273e-05,0) (-2.64697796e-23,0) (9.160979474e-11,0) (9.092686847e-07,0) (3.096286743e-06,0) (1.632018929e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-3.794707604e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-8.809142651e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-1.694065895e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (1.694065895e-21,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (4.65868121e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (2.117582368e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.705769144e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-2.64697796e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (-5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.32348898e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (4.33680869e-19,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (2.168404345e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (4.065758147e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (0,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (6.776263578e-21,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (-4.235164736e-22,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (-5.29395592e-23,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (4.235164736e-22,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (2.64697796e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (1.734723476e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (6.505213035e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-2.032879073e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (0,0) (-1.267303587e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-1.694065895e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.382280164e-21,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (0,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (3.546950467e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-3.30872245e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (5.29395592e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-6.505213035e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (-4.33680869e-19,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (-2.710505431e-20,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (-5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (1.694065895e-21,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-4.235164736e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (5.29395592e-23,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-5.421010862e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (0,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (5.421010862e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (0,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (6.776263578e-21,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (0,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (1.694065895e-21,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (2.117582368e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (4.235164736e-22,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0005994385344,0) (-0.1985188841,0) (-0.001140207266,0) (-0.07488263132,0) (2.167276441e-05,0) (-1.025275956e-05,0) (0.0008666908912,0) (0.008349515407,0) (1.159857724e-06,0) (0.0006185982764,0) (0.01711533238,0) (2.254507178e-06,0) (-0.002883854726,0) (-0.0002052737618,0) (-3.899156928e-07,0) (-0.000159158543,0) (-0.0001352381151,0) (-3.706119164e-08,0) (-0.001416265,0) (-0.0001403458379,0) (-1.967367615e-07,0) (7.853055611e-05,0) (0.001110759192,0) (1.500255288e-07,0) (-0.0003981834344,0) (-2.30250586e-05,0) (-5.321609918e-08,0) (2.402907374e-05,0) (0.0002617957008,0) (3.602240965e-08,0) (-0.0002640355922,0) (-2.758564769e-06,0) (-3.410406075e-08,0) (3.284076926e-06,0) (0.000132422448,0) (1.733460305e-08,0) (-7.323759983e-05,0) (-6.375922781e-08,0) (-9.551291528e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.001846675378,0) (-0.001654839895,0) (1.111239836e-05,0) (6.00638806e-06,0) (-7.965650434e-06,0) (-2.351680004e-05,0) (8.315325756e-06,0) (5.354914909e-06,0) (-5.18806211e-06,0) (-2.359921549e-06,0) (7.269569138e-07,0) (-3.107727192e-07,0) (-1.038697242e-06,0) (-0.06490133507,0) (-3.946716758e-05,0) (-0.006148089778,0) (0.007225280791,0) (3.425681516e-06,0) (-0.001345300549,0) (0.0001579544268,0) (1.933599988e-08,0) (4.985113502e-05,0) (-4.842011333e-06,0) (-6.979482776e-10,0) (7.525934897e-07,0) (1.618918448e-07,0) (-6.272074233e-05,0) (-4.091314267e-05,0) (-1.323759753e-09,0) (4.293660645e-05,0) (-1.735049015e-06,0) (1.921228267e-10,0) (-2.913583491e-05,0) (2.152582244e-05,0) (-2.092592279e-07,0) (1.791320429e-09,0) (-5.094414221e-05,0) (1.359553096e-10,0) (-1.256793796e-05,0) (-1.07102183e-05,0) (3.055871646e-11,0) (-2.032540034e-06,0) (-5.724551057e-06,0) (5.494923794e-10,0) (-1.488701156e-06,0) (-9.543865412e-06,0) (1.452900029e-10,0) (-3.151034807e-06,0) (-9.523435361e-06,0) (7.154815394e-11,0) (-3.083106532e-06,0) (-6.388466763e-06,0) (-8.67361738e-19,0) (0.005458852868,0) (-0.1264871219,0) (-6.252989909e-05,0) (-0.0005301535656,0) (0,0) (-0.0002130075372,0) (0.01332630147,0) (1.825408291e-06,0) (-0.0004832594551,0) (1.694065895e-21,0) (-2.967339092e-06,0) (7.000924065e-05,0) (1.743942639e-08,0) (-2.943530294e-05,0) (0,0) (-1.216966884e-08,0) (7.671321961e-05,0) (7.595298963e-09,0) (-2.357373937e-06,0) (8.470329473e-22,0) (-4.8359186e-07,0) (-4.383976412e-10,0) (4.728265869e-05,0) (-2.460472004e-05,0) (1.694065895e-21,0) (-2.363189478e-06,0) (-2.370021663e-09,0) (8.113426703e-05,0) (4.633762748e-05,0) (-3.388131789e-21,0) (4.377140531e-06,0) (1.020286978e-08,0) (-0.0001297244959,0) (5.329791181e-06,0) (0,0) (2.608211516e-06,0) (5.109376555e-09,0) (-7.478601065e-05,0) (-8.104477101e-06,0) (-2.117582368e-22,0) (2.294365191e-08,0) (2.306630744e-11,0) (-8.580644554e-06,0) (-3.260951961e-06,0) (3.176373552e-22,0) (1.665974296e-07,0) (1.845548891e-10,0) (-6.225489374e-06,0) (-9.221360182e-06,0) (-1.058791184e-21,0) (8.144303457e-12,0) (9.464237249e-07,0) (8.301088797e-10,0) (-2.75231617e-05,0) (-8.470329473e-22,0) (3.061043593e-07,0) (3.46976802e-10,0) (-1.102623907e-05,0) (-8.675920207e-06,0) (0,0) (1.540103829e-07,0) (1.701788421e-10,0) (-1.243366357e-06,0) (-1.244429397e-05,0) -(-0.1031484994,0) (-0.1582389931,0) (-0.01103408529,0) (0.01890852676,0) (0.005635747778,0) (-0.002521811017,0) (-0.001083411895,0) (0.0001668520179,0) (0.0003833158109,0) (-4.739128419e-05,0) (-4.040597076e-05,0) (-1.348309736e-05,0) (2.298693686e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.029992064e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.202285663e-20,0) (-2.218079148e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.029258124e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.580803511e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.374896899e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (1.852884572e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.584939414e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (8.602678371e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (-4.33680869e-19,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (0,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (8.470329473e-22,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (1.058791184e-22,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (1.058791184e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-4.878909776e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-3.388131789e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-5.505714157e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (8.470329473e-22,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (2.117582368e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (1.270549421e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.176373552e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-5.29395592e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.588186776e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (0,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (-6.505213035e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (2.710505431e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (5.421010862e-20,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (0,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (0,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (1.058791184e-22,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (0,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (3.97046694e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04715705099,0) (0.02200154358,0) (0.1067286698,0) (0.02202428562,0) (0.17465834,0) (0.07141108635,0) (0.1000731762,0) (0.06107260141,0) (0.05848951507,0) (0.07464156391,0) (0.02679567375,0) (0.03681690082,0) (0.0005054573398,0) (0.06266017622,0) (0.02292789445,0) (0.005280432053,0) (0.03058641266,0) (0.0130185903,0) (4.477807442e-05,0) (0.02165478127,0) (0.007876474827,0) (0.007860017766,0) (0.003864294445,0) (0.004255431357,0) (8.845381168e-05,0) (0.006720385865,0) (0.002471484938,0) (0.00210919833,0) (0.001197367089,0) (0.001200149458,0) (0.0001043161214,0) (0.001637026661,0) (0.0006321024569,0) (0.0005029865235,0) (0.0001561530053,0) (0.0002392339673,0) (3.034857158e-05,0) (0.0002847271479,0) (0.0001143827643,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01859825451,0) (0.06390622139,0) (6.755733522e-05,0) (0.008047876816,0) (0.000795739924,0) (0.001439577538,0) (0.0001502310143,0) (8.77421026e-05,0) (0.0001284505699,0) (4.018974268e-05,0) (4.676521113e-06,0) (9.083245777e-07,0) (1.177074896e-05,0) (0.008307597159,0) (0.01873421824,0) (2.900333486e-08,0) (0.0006427535352,0) (0.002074227619,0) (0.09464435446,0) (4.913666987e-05,0) (0.0001652571093,0) (0.02141018871,0) (0.0001298657198,0) (0.0002102475176,0) (0.004281715785,0) (1.48520788e-05,0) (7.255278567e-06,0) (0.007171961804,0) (5.016290298e-06,0) (8.510401907e-06,0) (0.0004140783138,0) (1.516294083e-06,0) (4.817059328e-06,0) (0.0009909456417,0) (1.489550748e-05,0) (6.169100968e-06,0) (3.434653454e-06,0) (9.073734504e-07,0) (4.539544298e-06,0) (0.0003945514261,0) (3.054738133e-07,0) (6.950824905e-07,0) (5.407485655e-07,0) (9.805598736e-07,0) (1.955658851e-06,0) (8.959547428e-06,0) (8.815473737e-07,0) (7.766105257e-06,0) (1.471985915e-05,0) (5.021918199e-07,0) (5.508541434e-06,0) (1.701290994e-05,0) (6.505213035e-19,0) (0.0003326380646,0) (0.01469282168,0) (0.03477374258,0) (0.02107630735,0) (3.252606517e-19,0) (1.4617477e-05,0) (0.006316834902,0) (0.01007236596,0) (0.03687902424,0) (-2.059984128e-18,0) (2.1761899e-07,0) (8.535073252e-06,0) (2.333908512e-05,0) (0.04386035073,0) (3.388131789e-21,0) (2.12877168e-11,0) (0.0001802105721,0) (0.0006483001201,0) (0.0003180537728,0) (-1.423015351e-19,0) (1.934512603e-07,0) (3.215971441e-06,0) (3.60306497e-07,0) (0.008593632408,0) (9.95263713e-21,0) (3.785330716e-07,0) (1.214894467e-05,0) (8.316142622e-05,0) (0.0002399527039,0) (-2.943439492e-20,0) (1.065981606e-06,0) (1.932844051e-05,0) (1.262102486e-07,0) (0.0007885513656,0) (-1.905824131e-20,0) (2.756248094e-07,0) (1.154541289e-05,0) (1.377253857e-05,0) (0.0004170207456,0) (1.334076892e-20,0) (1.372912756e-08,0) (3.015892013e-07,0) (1.65338949e-06,0) (0.000225542516,0) (-7.27918939e-22,0) (1.277388161e-07,0) (1.135050709e-06,0) (1.097300767e-05,0) (1.837231386e-05,0) (0,0) (2.299303327e-09,0) (3.123692756e-07,0) (3.074695245e-06,0) (1.039677966e-06,0) (6.882142696e-22,0) (4.239383809e-08,0) (1.699838817e-06,0) (1.420235844e-05,0) (2.844450342e-05,0) (-2.779326858e-22,0) (2.066829092e-08,0) (1.009713072e-06,0) (8.983597702e-06,0) (1.122430129e-06,0) -(0.002275502001,0) (0.008614442707,0) (9.757687426e-05,0) (0.0009594613604,0) (0.0002006887602,0) (0.0001344801982,0) (4.162976727e-05,0) (3.375856311e-06,0) (2.305933326e-05,0) (1.429218846e-06,0) (1.061506507e-06,0) (7.051341767e-07,0) (1.451702978e-06,0) (0.0197919787,0) (0.04576663462,0) (0.003064285325,0) (0.006931890706,0) (0.002776848162,0) (0.01119185278,0) (0.0002405708549,0) (0.0001044086936,0) (0.003665373389,0) (0.0006670496628,0) (0.0002562656941,0) (0.0002404198937,0) (5.111300906e-06,0) (1.4983551e-05,0) (0.001075955865,0) (7.907287005e-06,0) (6.558427154e-06,0) (1.279841726e-05,0) (3.558166217e-06,0) (2.878390215e-06,0) (0.0001413922296,0) (5.77551433e-06,0) (2.981494912e-05,0) (2.987868567e-06,0) (3.734951082e-07,0) (2.875161334e-06,0) (4.065104123e-05,0) (3.494642989e-07,0) (1.349041095e-09,0) (2.229293379e-06,0) (2.854297262e-07,0) (1.146538659e-06,0) (2.970188831e-06,0) (7.434637826e-07,0) (5.101582132e-06,0) (1.477386609e-06,0) (4.203040616e-07,0) (2.548710907e-06,0) (2.065288763e-07,0) (0,0) (0.00381120272,0) (0.03499174491,0) (0.02310179904,0) (0.06236724561,0) (0,0) (0.001009633108,0) (0.0298739139,0) (0.0119849688,0) (0.002478434544,0) (0,0) (1.099057939e-05,0) (0.0003399323208,0) (0.000145642374,0) (0.00607617128,0) (-5.421010862e-20,0) (2.892328027e-07,0) (0.001438457613,0) (0.0006405979474,0) (0.0003449598824,0) (-1.355252716e-20,0) (4.286455912e-05,0) (9.37661877e-06,0) (2.331100428e-05,0) (0.0009596164022,0) (-3.388131789e-21,0) (5.739308119e-06,0) (7.551310522e-06,0) (1.320365452e-05,0) (0.0001350056191,0) (-1.694065895e-21,0) (4.544913819e-06,0) (2.850249043e-05,0) (6.63333715e-06,0) (0.0001130091179,0) (0,0) (1.524088828e-06,0) (7.334038823e-06,0) (2.344902083e-05,0) (8.380257917e-05,0) (1.053196334e-08,0) (2.117582368e-22,0) (2.631799423e-08,0) (5.681500867e-07,0) (9.841263226e-06,0) (0,0) (4.420829531e-07,0) (1.736699721e-06,0) (1.043708995e-06,0) (1.023766845e-05,0) (-4.235164736e-22,0) (6.41372051e-07,0) (3.151162781e-06,0) (3.071688387e-06,0) (5.020121102e-06,0) (3.257591355e-07,0) (-1.058791184e-22,0) (1.259765493e-06,0) (8.095219997e-06,0) (2.749685552e-07,0) (5.29395592e-23,0) (2.494036453e-07,0) (9.133146635e-07,0) (8.753312292e-07,0) (1.469478759e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (0,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.33680869e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (5.717472394e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.270549421e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.651714247e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (-1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.911675756e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-4.63221143e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-9.264422861e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (-8.67361738e-19,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (-1.084202172e-19,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-2.710505431e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-2.541098842e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (4.235164736e-22,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (0,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (-2.117582368e-22,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (6.938893904e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-8.67361738e-19,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-3.388131789e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (8.470329473e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (-1.694065895e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (4.235164736e-22,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (6.352747104e-22,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (-4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-4.235164736e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-2.117582368e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0006078052747,0) (-0.0818026201,0) (0.01767374832,0) (-0.0250530803,0) (0.0006937595959,0) (1.027075844e-05,0) (-0.002366336259,0) (0.005365100259,0) (-1.161785369e-06,0) (-0.003148568976,0) (0.008918855406,0) (-2.258227789e-06,0) (-0.000268341271,0) (-0.0007367991449,0) (3.905716485e-07,0) (8.455219191e-05,0) (-0.0001803428258,0) (3.712316421e-08,0) (-6.785138147e-05,0) (-0.0004386388888,0) (1.970672368e-07,0) (-0.0002692972928,0) (0.0006562681882,0) (-1.502743643e-07,0) (-4.688880524e-05,0) (-9.016405225e-05,0) (5.330567966e-08,0) (-7.059613306e-05,0) (0.000163597705,0) (-3.608223219e-08,0) (-6.507889457e-05,0) (-2.173113939e-05,0) (3.416188227e-08,0) (-2.087522514e-05,0) (6.50316769e-05,0) (-1.736311552e-08,0) (-2.275006274e-05,0) (-1.101125681e-06,0) (9.567778006e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04202610262,0) (0.03766036634,0) (-0.0002528927387,0) (-0.0001366916373,0) (0.0001812799621,0) (0.0005351885142,0) (-0.0001892377717,0) (-0.0001218656003,0) (0.0001180684127,0) (5.370641011e-05,0) (-1.654387459e-05,0) (7.072475403e-06,0) (2.363837055e-05,0) (-0.0261051813,0) (3.944842813e-05,0) (6.279587704e-05,0) (0.002416007754,0) (-3.425597545e-06,0) (0.03365443351,0) (5.171884636e-05,0) (-1.935851884e-08,0) (-0.001175570287,0) (-2.300267057e-06,0) (6.987811895e-10,0) (-1.390588258e-05,0) (-1.638194283e-07,0) (-2.644343681e-05,0) (0.0009279537109,0) (1.325991733e-09,0) (-3.274005584e-05,0) (0.0004008668033,0) (-1.924329641e-10,0) (2.950263984e-05,0) (-0.0005718721755,0) (-2.727688202e-07,0) (-1.794592821e-09,0) (3.284267252e-05,0) (-1.361779008e-10,0) (-1.772004666e-05,0) (0.0002140658698,0) (-3.061634471e-11,0) (-2.18074922e-06,0) (8.592680047e-06,0) (-5.505024031e-10,0) (1.478868857e-06,0) (-3.305527393e-05,0) (-1.455247171e-10,0) (-6.902743869e-06,0) (3.953000872e-05,0) (-7.166854507e-11,0) (-7.303006439e-06,0) (3.947982096e-05,0) (-4.33680869e-19,0) (0.001679108527,0) (-0.05045358095,0) (6.252449675e-05,0) (0.02200366493,0) (3.794707604e-19,0) (-0.0001201094063,0) (0.006398207008,0) (-1.827623733e-06,0) (0.004689634674,0) (-7.115076757e-20,0) (-1.145585351e-06,0) (2.575624477e-05,0) (-1.745081276e-08,0) (0.0006705783039,0) (-4.235164736e-22,0) (-3.62487904e-09,0) (2.484116704e-05,0) (-7.604241534e-09,0) (-5.076304556e-06,0) (-1.355252716e-20,0) (-1.840484349e-07,0) (4.390893776e-10,0) (1.025957234e-05,0) (0.0005620420754,0) (-8.470329473e-22,0) (-6.94792267e-07,0) (2.373663017e-09,0) (0.0001593070373,0) (-0.000251256781,0) (1.270549421e-21,0) (1.955830264e-06,0) (-1.022102714e-08,0) (-6.579728783e-06,0) (-0.0002342789111,0) (-5.929230631e-21,0) (7.688532502e-07,0) (-5.11828032e-09,0) (-5.264350621e-05,0) (0.0001274524706,0) (4.870439447e-21,0) (7.264731325e-09,0) (-2.310334681e-11,0) (-1.395951307e-05,0) (6.869909882e-05,0) (-1.799945013e-21,0) (8.860179887e-08,0) (-1.848524135e-10,0) (1.541787193e-05,0) (-4.066423592e-05,0) (1.058791184e-22,0) (-5.464056351e-11,0) (4.061638748e-07,0) (-8.316854796e-10,0) (-1.078115126e-05,0) (-8.470329473e-22,0) (7.888849008e-08,0) (-3.475255682e-10,0) (-2.522531665e-05,0) (3.889316497e-05,0) (-7.940933881e-22,0) (3.533132544e-08,0) (-1.704590834e-10,0) (-5.400560006e-06,0) (9.482860461e-06,0) -(-0.03354517603,0) (-0.05146129038,0) (-0.003588421894,0) (0.006149288282,0) (0.001832815333,0) (-0.0008201243352,0) (-0.0003523390349,0) (5.426235325e-05,0) (0.0001246590734,0) (-1.541223556e-05,0) (-1.314052468e-05,0) (-4.384871105e-06,0) (7.475638015e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.252606517e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.029992064e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.778769189e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (1.016439537e-20,0) (3.933175975e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780887e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (6.088049308e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.713152409e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.80884512e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.514629062e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-7.754818243e-26,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (7.610061635e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (4.63221143e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-8.67361738e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (0,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (0,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (-2.64697796e-23,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (-8.470329473e-22,0) (-4.040786576e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (5.29395592e-23,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (0,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (2.168404345e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (8.67361738e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-1.355252716e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (1.355252716e-20,0) (-1.267303586e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-2.117582368e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.117582368e-22,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (-4.235164736e-21,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (5.29395592e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-4.367513634e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (-1.32348898e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-2.168404345e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (0,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (0,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (0,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-8.470329473e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (0,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (2.439454888e-19,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.607859233e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (6.035109749e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.482307658e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.672890071e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.382280164e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-3.97046694e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-6.6174449e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (0,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (0,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-5.421010862e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-5.082197684e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (0,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (-1.058791184e-22,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (0,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.08286250691,0) (0.02431037598,0) (0.06871438145,0) (0.04930718395,0) (0.09326492082,0) (0.1255216072,0) (0.1061377676,0) (0.01064733091,0) (0.1028501942,0) (0.06073138578,0) (0.01278119823,0) (0.06474155448,0) (0.02720911517,0) (0.01856972471,0) (0.04031468813,0) (0.02489475137,0) (0.001098999625,0) (0.02289168401,0) (0.01002216348,0) (0.005704391145,0) (0.01384947954,0) (0.007451325099,0) (0.001045456362,0) (0.007482962107,0) (0.00281298841,0) (0.002121681757,0) (0.004345654447,0) (0.002153156807,0) (0.0002431658316,0) (0.002110392238,0) (0.000552027313,0) (0.0007100396512,0) (0.001111378275,0) (0.0003829383684,0) (9.474450534e-05,0) (0.0004206906223,0) (8.459498418e-05,0) (0.0001437766924,0) (0.0002010868071,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01151542489,0) (0.03956862145,0) (4.182927054e-05,0) (0.004982979502,0) (0.0004926958775,0) (0.0008913388619,0) (9.301808191e-05,0) (5.432701179e-05,0) (7.953235012e-05,0) (2.488416119e-05,0) (2.895547407e-06,0) (5.624045764e-07,0) (7.288058967e-06,0) (0.01044095573,0) (0.03297631033,0) (0.0001606173415,0) (0.001446472844,0) (0.003652617632,0) (0.05815477759,0) (0.0001173327325,0) (0.0002910130741,0) (0.01321743319,0) (8.960512001e-05,0) (0.000370321967,0) (0.002702735249,0) (2.612306591e-05,0) (7.450636785e-06,0) (0.004441884828,0) (8.839061027e-06,0) (2.57761275e-05,0) (0.0002373242255,0) (2.671175919e-06,0) (1.079249771e-05,0) (0.0006061888617,0) (4.643013261e-07,0) (1.085909936e-05,0) (1.26714713e-05,0) (1.598089418e-06,0) (2.20050347e-07,0) (0.0002471462147,0) (5.375848748e-07,0) (1.919689554e-09,0) (8.5178208e-07,0) (1.732231442e-06,0) (4.45895687e-06,0) (2.579457553e-06,0) (1.552409348e-06,0) (1.30742986e-06,0) (1.287012362e-05,0) (8.842413405e-07,0) (1.047868629e-06,0) (1.304197819e-05,0) (-6.505213035e-19,0) (0.0009533201785,0) (0.01896428393,0) (0.06121497228,0) (0.0125521507,0) (-3.252606517e-19,0) (4.931195373e-06,0) (0.004185764753,0) (0.017738704,0) (0.02547954574,0) (-1.219727444e-18,0) (3.110674544e-07,0) (1.42753078e-05,0) (4.111206382e-05,0) (0.02715447401,0) (1.355252716e-20,0) (6.693630906e-11,0) (0.0004446572613,0) (0.001141388293,0) (5.175547801e-05,0) (-2.710505431e-20,0) (2.896624921e-07,0) (5.66493273e-06,0) (2.653219922e-06,0) (0.005319222649,0) (4.446922973e-21,0) (1.23469439e-06,0) (2.140210977e-05,0) (1.142126714e-05,0) (0.0001911500099,0) (4.235164736e-21,0) (9.22882494e-07,0) (3.405631521e-05,0) (2.500444833e-05,0) (0.000468632467,0) (-1.270549421e-20,0) (8.923175134e-07,0) (2.033674126e-05,0) (1.365401367e-06,0) (0.0002679810755,0) (-3.388131789e-21,0) (3.61685241e-08,0) (5.311357506e-07,0) (1.40319171e-07,0) (0.0001405914279,0) (7.676236084e-22,0) (5.585209319e-08,0) (1.999539627e-06,0) (1.227245632e-05,0) (6.248313256e-06,0) (2.64697796e-23,0) (1.724997877e-09,0) (3.122744061e-07,0) (5.411018301e-06,0) (1.415448965e-06,0) (8.999725065e-22,0) (1.989853278e-07,0) (2.994061638e-06,0) (2.564169571e-06,0) (2.415994883e-05,0) (-5.29395592e-23,0) (1.319703087e-07,0) (1.777963699e-06,0) (3.027655855e-06,0) (3.402615008e-06,0) -(0.00553605759,0) (0.02095803515,0) (0.0002373942959,0) (0.002334268809,0) (0.0004882546943,0) (0.0003271762106,0) (0.0001012808553,0) (8.213104159e-06,0) (5.610093811e-05,0) (3.477139478e-06,0) (2.582533942e-06,0) (1.715517459e-06,0) (3.531841012e-06,0) (0.03483145319,0) (0.02253296123,0) (0.003063275652,0) (0.003468356907,0) (0.004882815777,0) (0.02756244955,0) (0.0001539254955,0) (0.0001835979054,0) (0.008857709221,0) (0.0002891550959,0) (0.0004506771526,0) (0.0007129915528,0) (8.993340896e-06,0) (4.250060433e-06,0) (0.002625833686,0) (1.60314874e-05,0) (1.152525194e-05,0) (3.496369595e-06,0) (6.261644115e-06,0) (1.658833738e-05,0) (0.0003176578563,0) (1.01594509e-05,0) (1.337741548e-06,0) (5.129237847e-05,0) (6.572109132e-07,0) (2.20383207e-07,0) (0.0001039161773,0) (6.150600883e-07,0) (2.836013573e-06,0) (9.454592508e-07,0) (2.430401289e-06,0) (2.015296627e-06,0) (9.633593424e-08,0) (1.307998808e-06,0) (7.127991709e-07,0) (1.179406541e-05,0) (7.39491486e-07,0) (3.820896297e-07,0) (4.342680978e-06,0) (0,0) (0.002099748074,0) (0.06156955733,0) (7.114789054e-05,0) (0.05029811769,0) (0,0) (0.0005299594019,0) (0.01318363225,0) (0.02107802791,0) (0.01106375401,0) (2.168404345e-19,0) (7.058923414e-06,0) (0.0001891960434,0) (0.0002561189377,0) (0.01475511786,0) (0,0) (1.711878633e-07,0) (0.0009584736151,0) (0.001126274353,0) (0.0003682274248,0) (-2.710505431e-20,0) (2.7652106e-05,0) (8.673773527e-06,0) (4.097130545e-05,0) (0.002315825677,0) (0,0) (3.702756937e-06,0) (1.329608283e-05,0) (5.70924401e-06,0) (0.0003295600291,0) (2.541098842e-21,0) (2.946557407e-06,0) (5.015820037e-05,0) (0.0001264260713,0) (3.861267461e-05,0) (-6.776263578e-21,0) (9.875766575e-07,0) (1.29029779e-05,0) (2.779852115e-06,0) (0.0002263576027,0) (6.573952743e-09,0) (-4.235164736e-22,0) (4.630728464e-08,0) (4.275873786e-07,0) (2.47925857e-05,0) (3.705769144e-22,0) (2.784547616e-07,0) (3.05584326e-06,0) (1.806598778e-05,0) (2.003963724e-06,0) (4.235164736e-22,0) (4.120885495e-07,0) (1.368540015e-06,0) (5.405814955e-06,0) (5.188382974e-06,0) (2.103438461e-07,0) (-8.470329473e-22,0) (2.21632634e-06,0) (2.994934864e-06,0) (1.202228621e-05,0) (-1.058791184e-22,0) (1.473351266e-07,0) (1.60672927e-06,0) (3.824359347e-07,0) (1.483102828e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566194e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (0,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-1.694065895e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (-6.776263578e-21,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (5.082197684e-21,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (0,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (-8.470329473e-22,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (0,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-1.270549421e-21,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (4.235164736e-22,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-8.470329473e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0008056940932,0) (0.08598772848,0) (0.01418116593,0) (0.03748567322,0) (0.0005069597758,0) (-1.361692173e-05,0) (-0.002436983511,0) (-0.002240139213,0) (1.540598429e-06,0) (-0.002840072602,0) (-0.006159742645,0) (2.994578451e-06,0) (0.001968803752,0) (-0.0004011031198,0) (-5.179052102e-07,0) (0.0001835878932,0) (-3.418482576e-05,0) (-4.922683088e-08,0) (0.001015095094,0) (-0.0002251307824,0) (-2.613155229e-07,0) (-0.0002622025914,0) (-0.0003413494461,0) (1.992736509e-07,0) (0.0002644203416,0) (-5.066131264e-05,0) (-7.068415912e-08,0) (-7.132799777e-05,0) (-7.372500718e-05,0) (4.784728731e-08,0) (0.0001497079056,0) (-1.431185483e-05,0) (-4.529799756e-08,0) (-1.821450758e-05,0) (-5.065552207e-05,0) (2.302489451e-08,0) (3.798269516e-05,0) (-7.824682005e-07,0) (-1.268593802e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.03306914808,0) (0.02963387403,0) (-0.0001989941228,0) (-0.0001075587721,0) (0.0001426440602,0) (0.0004211246611,0) (-0.0001489058348,0) (-9.589258415e-05,0) (9.290468493e-05,0) (4.226005073e-05,0) (-1.301790565e-05,0) (5.565130283e-06,0) (1.860036328e-05,0) (0.02926571414,0) (-5.233749665e-05,0) (0.004673081751,0) (-0.00362435917,0) (4.545799097e-06,0) (0.02638077972,0) (-7.992001587e-05,0) (2.568906514e-08,0) (-0.0009236595288,0) (1.910721583e-06,0) (-9.273966112e-10,0) (-1.104819657e-05,0) (2.172620418e-07,0) (2.679708471e-05,0) (0.000730282638,0) (-1.760161639e-09,0) (-5.697878921e-05,0) (0.0003034798675,0) (2.554106455e-10,0) (4.416018281e-05,0) (-0.0004472785039,0) (-4.815784398e-08,0) (2.380958854e-09,0) (6.308274014e-05,0) (1.807232962e-10,0) (-3.901393542e-06,0) (0.0001694230918,0) (4.06153188e-11,0) (-1.146048646e-07,0) (1.07843805e-05,0) (7.316866297e-10,0) (2.233056699e-06,0) (-1.773625471e-05,0) (1.931154678e-10,0) (-2.832235242e-06,0) (3.696293445e-05,0) (9.509970693e-11,0) (-3.185200628e-06,0) (3.456667511e-05,0) (-2.168404345e-18,0) (-0.00284257667,0) (0.05732018934,0) (-8.295705307e-05,0) (0.01698074865,0) (-2.710505431e-19,0) (6.976167755e-05,0) (-0.005208299287,0) (2.425392242e-06,0) (0.003898029682,0) (-8.131516294e-20,0) (1.369639726e-06,0) (-3.330977184e-05,0) (2.316105747e-08,0) (0.0005276356672,0) (2.117582368e-22,0) (6.427763033e-09,0) (-3.902065515e-05,0) (1.008984649e-08,0) (-2.047743501e-06,0) (-1.694065895e-20,0) (2.252124931e-07,0) (-5.827660155e-10,0) (-2.784067985e-05,0) (0.0004421855303,0) (-3.388131789e-21,0) (1.25482395e-06,0) (-3.150489814e-09,0) (5.903793265e-05,0) (-0.0002242549974,0) (-3.388131789e-21,0) (-1.819824513e-06,0) (1.356734793e-08,0) (9.261243859e-05,0) (-0.0001806069212,0) (-7.835054762e-21,0) (-1.383388018e-06,0) (6.792974981e-09,0) (1.657555103e-05,0) (0.0001021695525,0) (2.329340605e-21,0) (-1.179134865e-08,0) (3.065983203e-11,0) (-4.066691132e-06,0) (5.42395716e-05,0) (-9.529120657e-22,0) (-5.858694103e-08,0) (2.453479878e-10,0) (1.630524542e-05,0) (-2.371439697e-05,0) (1.588186776e-22,0) (-4.732725524e-11,0) (-4.061021922e-07,0) (1.103310071e-09,0) (1.257948399e-05,0) (6.352747104e-22,0) (-1.70912097e-07,0) (4.612254458e-10,0) (-1.071839513e-05,0) (3.584446582e-05,0) (-4.235164736e-22,0) (-8.927826945e-08,0) (2.261947935e-10,0) (-3.135211927e-06,0) (1.651072366e-05,0) -(0.05232289484,0) (0.08026798496,0) (0.005597127326,0) (-0.009591500245,0) (-0.002858777782,0) (0.00127920865,0) (0.000549569281,0) (-8.463701011e-05,0) (-0.0001944399869,0) (2.403960497e-05,0) (2.049624931e-05,0) (6.839408132e-06,0) (-1.166030613e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424695399e-12,0) (-0.008719428334,0) (0.06301289739,0) (-4.33680869e-19,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138141033e-13,0) (-6.644558929e-05,0) (8.470329473e-22,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (-8.470329473e-22,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640454e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182211e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (1.058791184e-22,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (0,0) (-3.139926191e-09,0) (-5.790193243e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (8.470329473e-22,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556846e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808164e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-4.235164736e-22,0) (-2.091688994e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.21468247e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-7.589415207e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (2.710505431e-20,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (4.065758147e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (-6.776263578e-21,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (0,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (1.694065895e-21,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (8.470329473e-22,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (4.235164736e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (0,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (1.734723476e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-1.084202172e-18,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-1.694065895e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (6.776263578e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (3.388131789e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (0,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (1.058791184e-21,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-2.117582368e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-6.352747104e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566195e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (-6.776263578e-21,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-3.388131789e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (0,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (0,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (-3.388131789e-21,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (0,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (4.235164736e-22,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-8.470329473e-22,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (1.270549421e-21,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-4.235164736e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0.2370734683,0) (0.0006670533688,0) (0.004066218674,0) (0.0006820777545,0) (0.0005956356081,0) (8.044155541e-06,0) (9.655870575e-06,0) (6.831873609e-05,0) (4.382157398e-05,0) (1.591626787e-05,0) (1.652759785e-05,0) (1.94939596e-05,0) (1.491606603e-05,0) (3.877437899e-09,0) (0.000104543173,0) (0.3087228188,0) (0.0001062601308,0) (0.02189791074,0) (1.451237323e-09,0) (0.00101721631,0) (6.767884142e-05,0) (3.270019455e-11,0) (0.002703808895,0) (4.554381508e-05,0) (7.902103776e-11,0) (3.058225334e-05,0) (0.0002763177339,0) (1.071720204e-11,0) (1.677877475e-07,0) (1.554212663e-07,0) (1.046209416e-14,0) (9.935797639e-06,0) (6.792423503e-05,0) (2.685856042e-12,0) (0.0001254778854,0) (5.197168565e-06,0) (3.878416987e-12,0) (3.452071693e-06,0) (3.698293816e-05,0) (1.425830819e-12,0) (2.421919495e-05,0) (1.387963126e-06,0) (7.687789817e-13,0) (1.030262135e-06,0) (3.786694817e-05,0) (1.535265483e-12,0) (3.118113231e-05,0) (2.989431376e-07,0) (8.846582533e-13,0) (1.823523549e-07,0) (2.000685348e-05,0) (1.00557303e-12,0) (3.415236843e-18,0) (-4.33680869e-19,0) (0,0) (0.03787629397,0) (0.1290043371,0) (9.757819552e-19,0) (1.626303259e-19,0) (1.734723476e-18,0) (0.01166407464,0) (0.02777002614,0) (0,0) (-1.905824131e-21,0) (-6.776263578e-21,0) (0.0001520492622,0) (9.479976155e-05,0) (3.726944968e-20,0) (-1.016439537e-20,0) (0,0) (0.0005765989928,0) (0.002012299337,0) (3.30872245e-24,0) (-2.067951531e-24,0) (4.135903063e-25,0) (2.968303438e-07,0) (9.832055907e-08,0) (-1.058791184e-22,0) (3.97046694e-23,0) (-1.389663429e-22,0) (3.860134312e-07,0) (9.979758691e-06,0) (-1.694065895e-21,0) (4.235164736e-22,0) (-2.01170325e-21,0) (3.578750522e-05,0) (7.498366886e-05,0) (-2.488159283e-21,0) (5.29395592e-23,0) (8.470329473e-22,0) (1.02162398e-05,0) (6.854234909e-05,0) (-1.058791184e-22,0) (-9.264422861e-23,0) (0,0) (9.779609685e-07,0) (8.699365442e-06,0) (-2.117582368e-22,0) (-5.29395592e-23,0) (-1.32348898e-23,0) (4.056902711e-06,0) (8.419618364e-06,0) (0,0) (1.98523347e-23,0) (-1.032321404e-21,0) (5.202177913e-06,0) (1.997650936e-05,0) (5.29395592e-23,0) (-3.176373552e-22,0) (4.764560328e-22,0) (2.701400034e-06,0) (1.519803296e-05,0) (2.117582368e-22,0) (-3.30872245e-23,0) (4.566036981e-22,0) (2.43172997e-06,0) (8.192639034e-06,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (1.073506527e-10,0) (0.04541795873,0) (0.1725741146,0) (0.01007922853,0) (4.289735641e-10,0) (0.01096928929,0) (5.737094057e-05,0) (1.333779821e-12,0) (6.161287463e-05,0) (4.444852922e-08,0) (1.969247442e-15,0) (4.145795013e-08,0) (1.730393003e-13,0) (0.0001003702013,0) (0.0001160749593,0) (5.79959204e-05,0) (1.968726167e-12,0) (0.000456033966,0) (4.122042944e-13,0) (0.0001878179395,0) (0.0003229003659,0) (1.646882568e-13,0) (1.410595769e-05,0) (0.0002999456081,0) (5.102445159e-14,0) (6.696096688e-05,0) (0.0001183515028,0) (8.984760364e-14,0) (5.83628165e-07,0) (0.0001427988773,0) (2.344464954e-06,0) (1.402501907e-15,0) (0.0001207276869,0) (4.655188215e-14,0) (6.221369806e-06,0) (0.0001060713667,0) (3.292207679e-14,0) (1.583941041e-06,0) (9.971418463e-05,0) (-4.33680869e-18,0) (0.009429544937,0) (1.5840107e-13,0) (0.0005109923468,0) (0.194759507,0) (2.710505431e-19,0) (0.002555581156,0) (0.005067391794,0) (1.942355678e-10,0) (0.0004409201741,0) (-3.388131789e-21,0) (2.942625463e-05,0) (5.654394068e-05,0) (2.071868796e-12,0) (8.037295849e-06,0) (-1.058791184e-22,0) (7.348914505e-07,0) (3.230829218e-06,0) (6.964797294e-14,0) (1.567816421e-07,0) (-1.355252716e-20,0) (0.000113937913,0) (0.0001851425888,0) (2.781457311e-11,0) (2.999024015e-05,0) (-6.776263578e-21,0) (1.52722285e-05,0) (1.871511688e-11,0) (0.0005040683449,0) (5.02024039e-05,0) (-1.016439537e-20,0) (1.211469523e-05,0) (6.023879719e-13,0) (0.0001599166819,0) (0.0002441829949,0) (-1.355252716e-20,0) (4.063106018e-06,0) (2.623064153e-13,0) (0.000205223284,0) (3.30332097e-05,0) (2.733646717e-08,0) (8.470329473e-22,0) (4.552654708e-15,0) (0.000111644296,0) (2.711731612e-05,0) (-6.776263578e-21,0) (1.172473665e-06,0) (1.533275629e-13,0) (1.278860789e-05,0) (9.776751272e-05,0) (2.541098842e-21,0) (1.709717327e-06,0) (1.530464362e-07,0) (1.424655546e-13,0) (0.0001104626914,0) (8.6197615e-07,0) (-2.964615315e-21,0) (6.739760524e-14,0) (2.211632354e-05,0) (7.515207224e-05,0) (4.65868121e-21,0) (6.315078598e-07,0) (3.652790367e-14,0) (1.2355385e-07,0) (8.266795114e-05,0) -(0.2422309801,0) (0.001121531446,0) (0.004001037327,0) (0.0008151232336,0) (0.0005459492306,0) (2.557736886e-06,0) (1.207525027e-05,0) (7.053714984e-05,0) (3.864594342e-05,0) (1.483042612e-05,0) (1.714442183e-05,0) (1.870975941e-05,0) (1.379834849e-05,0) (1.742864286e-07,0) (0.005638823192,0) (-0.03005885845,0) (-0.001740184869,0) (-0.0002456493842,0) (-1.464161271e-09,0) (-0.0002385746382,0) (0.0001785998502,0) (-2.747021514e-11,0) (-0.0005992538639,0) (0.000367698185,0) (-1.046201884e-10,0) (-6.600547482e-05,0) (4.89280251e-05,0) (-8.444216063e-12,0) (-4.766178062e-07,0) (4.06527398e-07,0) (-3.327915718e-14,0) (-3.196151495e-05,0) (2.456646172e-05,0) (-3.639065293e-12,0) (-3.402544542e-05,0) (2.406742621e-05,0) (-4.536703068e-12,0) (-9.26298144e-06,0) (6.688627696e-06,0) (-1.280349392e-12,0) (-7.564880206e-06,0) (5.569965596e-06,0) (-9.132222426e-13,0) (-6.467528051e-06,0) (3.305101292e-06,0) (-1.683603403e-12,0) (-5.197553094e-06,0) (2.84540489e-06,0) (-1.055854317e-12,0) (-1.763474399e-06,0) (2.918850479e-07,0) (-8.970932822e-13,0) (0,0) (-1.734723476e-18,0) (0,0) (0.04120751152,0) (-0.1209002553,0) (8.67361738e-19,0) (2.168404345e-19,0) (-8.67361738e-19,0) (0.01059505292,0) (-0.03117134266,0) (0,0) (-6.776263578e-21,0) (-3.388131789e-21,0) (5.404029922e-05,0) (-0.0002719614938,0) (-8.131516294e-20,0) (-1.355252716e-20,0) (2.032879073e-20,0) (0.0006347062577,0) (-0.001863912343,0) (2.64697796e-23,0) (-5.95570041e-23,0) (1.32348898e-23,0) (-2.21524732e-08,0) (1.343238814e-06,0) (1.058791184e-22,0) (1.058791184e-22,0) (1.058791184e-22,0) (9.509644464e-07,0) (-4.130367749e-06,0) (0,0) (-2.117582368e-22,0) (0,0) (3.035209207e-05,0) (-9.01449982e-05,0) (1.799945013e-21,0) (2.117582368e-22,0) (0,0) (1.50771313e-05,0) (-4.735466163e-05,0) (-2.64697796e-23,0) (-2.117582368e-22,0) (0,0) (1.62071298e-06,0) (-5.352223079e-06,0) (5.29395592e-22,0) (2.64697796e-22,0) (5.29395592e-23,0) (3.422835305e-06,0) (-1.01749705e-05,0) (-2.117582368e-22,0) (-1.058791184e-22,0) (1.058791184e-21,0) (5.992220638e-06,0) (-1.768270685e-05,0) (-2.117582368e-22,0) (-2.117582368e-22,0) (2.117582368e-22,0) (3.697399502e-06,0) (-1.132169379e-05,0) (0,0) (-1.091878409e-22,0) (-2.448454613e-22,0) (2.631726242e-06,0) (-7.718453293e-06,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2791082932,0) (0.02715806816,0) (-0.02846199811,0) (-0.008149020754,0) (0.002851320191,0) (-3.950407327e-05,0) (1.14330723e-05,0) (0.000154869012,0) (-0.0001326794655,0) (8.537678745e-05,0) (-7.412014254e-05,0) (5.873445414e-05,0) (-3.031732376e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1181203825,0) (-0.006245320651,0) (-0.002900269686,0) (3.326358174e-05,0) (0.0001138238722,0) (-8.641960382e-06,0) (3.016434396e-05,0) (1.010587839e-05,0) (7.596477619e-06,0) (2.457459582e-05,0) (1.39297899e-05,0) (4.065901073e-06,0) (7.640914772e-06,0) (-0.01035118577,0) (-1.060983429e-08,0) (0.1844993062,0) (0.0003082971776,0) (-3.414617148e-10,0) (-0.02229074989,0) (-4.695743746e-06,0) (1.512221582e-12,0) (-0.000493871054,0) (2.774482817e-07,0) (1.388386925e-13,0) (1.075209157e-05,0) (1.542408416e-12,0) (-1.658424701e-07,0) (9.590123357e-05,0) (8.91317672e-15,0) (8.216387078e-07,0) (-6.614975308e-06,0) (-5.963206816e-15,0) (-3.894922342e-06,0) (5.496461783e-05,0) (2.139238978e-08,0) (-1.443919701e-14,0) (-6.011743517e-06,0) (4.673910862e-15,0) (-1.74835413e-06,0) (3.005116424e-05,0) (-2.235709583e-16,0) (-5.566167409e-06,0) (4.421606725e-05,0) (-2.755076165e-13,0) (-8.301042594e-07,0) (1.171506491e-05,0) (5.277626819e-15,0) (-9.855585617e-07,0) (7.565601838e-06,0) (4.796833131e-15,0) (-2.467184366e-06,0) (1.707721501e-05,0) (-4.011548038e-18,0) (-0.001440066044,0) (0.0003756619176,0) (-7.98021357e-09,0) (0.06390193245,0) (-5.692061406e-19,0) (4.661129412e-05,0) (-0.001430622896,0) (-5.324722776e-10,0) (-0.006490750649,0) (8.470329473e-22,0) (-1.219047869e-09,0) (6.88256806e-08,0) (-1.492854078e-13,0) (-2.119132764e-05,0) (-2.64697796e-21,0) (3.776952075e-09,0) (-1.772438385e-05,0) (2.737719363e-12,0) (-1.263791935e-05,0) (2.382280164e-22,0) (-1.489280527e-10,0) (2.159068983e-15,0) (1.41805818e-07,0) (-9.41299573e-06,0) (-1.058791184e-21,0) (-2.66680814e-08,0) (8.251120861e-14,0) (-1.360177412e-05,0) (2.890940732e-05,0) (-2.051407919e-22,0) (-2.873311294e-09,0) (-5.553993283e-14,0) (-6.239731814e-07,0) (3.264209423e-06,0) (3.044024654e-22,0) (8.129572964e-09,0) (-4.505795755e-14,0) (6.797582913e-07,0) (-3.897277635e-06,0) (-7.940933881e-23,0) (-5.801431416e-10,0) (1.621406561e-15,0) (-3.222079977e-06,0) (2.141123947e-05,0) (-1.058791184e-22,0) (-1.220420545e-08,0) (-3.309562665e-14,0) (-9.894086537e-06,0) (2.043898951e-05,0) (-3.567216392e-24,0) (-8.979762109e-12,0) (4.383490997e-09,0) (1.926809811e-16,0) (3.180408848e-08,0) (1.786710123e-22,0) (-7.758571774e-09,0) (1.720215909e-14,0) (-3.727686172e-06,0) (7.582318236e-06,0) (-1.32348898e-23,0) (-1.614102532e-08,0) (1.910022884e-14,0) (-3.025162843e-06,0) (8.913907942e-06,0) -(0.2757309677,0) (0.033849107,0) (-0.03357642321,0) (-0.005713665996,0) (0.002042528073,0) (0.0001252214311,0) (0.000101946051,0) (-1.042211491e-05,0) (3.127914568e-05,0) (-3.917751923e-05,0) (1.580332402e-05,0) (-2.236553419e-06,0) (7.972957138e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0005994385344,0) (-0.1985188841,0) (-0.001140207266,0) (-0.07488263132,0) (2.167276441e-05,0) (-1.025275956e-05,0) (0.0008666908912,0) (0.008349515407,0) (1.159857724e-06,0) (0.0006185982764,0) (0.01711533238,0) (2.254507178e-06,0) (-0.002883854726,0) (-0.0002052737618,0) (-3.899156928e-07,0) (-0.000159158543,0) (-0.0001352381151,0) (-3.706119164e-08,0) (-0.001416265,0) (-0.0001403458379,0) (-1.967367615e-07,0) (7.853055611e-05,0) (0.001110759192,0) (1.500255288e-07,0) (-0.0003981834344,0) (-2.30250586e-05,0) (-5.321609918e-08,0) (2.402907374e-05,0) (0.0002617957008,0) (3.602240965e-08,0) (-0.0002640355922,0) (-2.758564769e-06,0) (-3.410406075e-08,0) (3.284076926e-06,0) (0.000132422448,0) (1.733460305e-08,0) (-7.323759983e-05,0) (-6.375922781e-08,0) (-9.551291528e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.001846675378,0) (-0.001654839895,0) (1.111239836e-05,0) (6.00638806e-06,0) (-7.965650434e-06,0) (-2.351680004e-05,0) (8.315325756e-06,0) (5.354914909e-06,0) (-5.18806211e-06,0) (-2.359921549e-06,0) (7.269569138e-07,0) (-3.107727192e-07,0) (-1.038697242e-06,0) (-0.06490133507,0) (-3.946716758e-05,0) (-0.006148089778,0) (0.007225280791,0) (3.425681516e-06,0) (-0.001345300549,0) (0.0001579544268,0) (1.933599988e-08,0) (4.985113502e-05,0) (-4.842011333e-06,0) (-6.979482776e-10,0) (7.525934897e-07,0) (1.618918448e-07,0) (-6.272074233e-05,0) (-4.091314267e-05,0) (-1.323759753e-09,0) (4.293660645e-05,0) (-1.735049015e-06,0) (1.921228267e-10,0) (-2.913583491e-05,0) (2.152582244e-05,0) (-2.092592279e-07,0) (1.791320429e-09,0) (-5.094414221e-05,0) (1.359553096e-10,0) (-1.256793796e-05,0) (-1.07102183e-05,0) (3.055871646e-11,0) (-2.032540034e-06,0) (-5.724551057e-06,0) (5.494923794e-10,0) (-1.488701156e-06,0) (-9.543865412e-06,0) (1.452900029e-10,0) (-3.151034807e-06,0) (-9.523435361e-06,0) (7.154815394e-11,0) (-3.083106532e-06,0) (-6.388466763e-06,0) (-8.67361738e-19,0) (0.005458852868,0) (-0.1264871219,0) (-6.252989909e-05,0) (-0.0005301535656,0) (1.084202172e-19,0) (-0.0002130075372,0) (0.01332630147,0) (1.825408291e-06,0) (-0.0004832594551,0) (-8.470329473e-22,0) (-2.967339092e-06,0) (7.000924065e-05,0) (1.743942639e-08,0) (-2.943530294e-05,0) (2.541098842e-21,0) (-1.216966884e-08,0) (7.671321961e-05,0) (7.595298963e-09,0) (-2.357373937e-06,0) (1.270549421e-21,0) (-4.8359186e-07,0) (-4.383976412e-10,0) (4.728265869e-05,0) (-2.460472004e-05,0) (0,0) (-2.363189478e-06,0) (-2.370021663e-09,0) (8.113426703e-05,0) (4.633762748e-05,0) (-8.470329473e-22,0) (4.377140531e-06,0) (1.020286978e-08,0) (-0.0001297244959,0) (5.329791181e-06,0) (0,0) (2.608211516e-06,0) (5.109376555e-09,0) (-7.478601065e-05,0) (-8.104477101e-06,0) (-1.058791184e-22,0) (2.294365191e-08,0) (2.306630744e-11,0) (-8.580644554e-06,0) (-3.260951961e-06,0) (6.352747104e-22,0) (1.665974296e-07,0) (1.845548891e-10,0) (-6.225489374e-06,0) (-9.221360182e-06,0) (-8.470329473e-22,0) (8.144303457e-12,0) (9.464237249e-07,0) (8.301088797e-10,0) (-2.75231617e-05,0) (-4.235164736e-22,0) (3.061043593e-07,0) (3.46976802e-10,0) (-1.102623907e-05,0) (-8.675920207e-06,0) (4.235164736e-22,0) (1.540103829e-07,0) (1.701788421e-10,0) (-1.243366357e-06,0) (-1.244429397e-05,0) -(-0.1031484994,0) (-0.1582389931,0) (-0.01103408529,0) (0.01890852676,0) (0.005635747778,0) (-0.002521811017,0) (-0.001083411895,0) (0.0001668520179,0) (0.0003833158109,0) (-4.739128419e-05,0) (-4.040597076e-05,0) (-1.348309736e-05,0) (2.298693686e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0006078052747,0) (-0.0818026201,0) (0.01767374832,0) (-0.0250530803,0) (0.0006937595959,0) (1.027075844e-05,0) (-0.002366336259,0) (0.005365100259,0) (-1.161785369e-06,0) (-0.003148568976,0) (0.008918855406,0) (-2.258227789e-06,0) (-0.000268341271,0) (-0.0007367991449,0) (3.905716485e-07,0) (8.455219191e-05,0) (-0.0001803428258,0) (3.712316421e-08,0) (-6.785138147e-05,0) (-0.0004386388888,0) (1.970672368e-07,0) (-0.0002692972928,0) (0.0006562681882,0) (-1.502743643e-07,0) (-4.688880524e-05,0) (-9.016405225e-05,0) (5.330567966e-08,0) (-7.059613306e-05,0) (0.000163597705,0) (-3.608223219e-08,0) (-6.507889457e-05,0) (-2.173113939e-05,0) (3.416188227e-08,0) (-2.087522514e-05,0) (6.50316769e-05,0) (-1.736311552e-08,0) (-2.275006274e-05,0) (-1.101125681e-06,0) (9.567778006e-09,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04202610262,0) (0.03766036634,0) (-0.0002528927387,0) (-0.0001366916373,0) (0.0001812799621,0) (0.0005351885142,0) (-0.0001892377717,0) (-0.0001218656003,0) (0.0001180684127,0) (5.370641011e-05,0) (-1.654387459e-05,0) (7.072475403e-06,0) (2.363837055e-05,0) (-0.0261051813,0) (3.944842813e-05,0) (6.279587704e-05,0) (0.002416007754,0) (-3.425597545e-06,0) (0.03365443351,0) (5.171884636e-05,0) (-1.935851884e-08,0) (-0.001175570287,0) (-2.300267057e-06,0) (6.987811895e-10,0) (-1.390588258e-05,0) (-1.638194283e-07,0) (-2.644343681e-05,0) (0.0009279537109,0) (1.325991733e-09,0) (-3.274005584e-05,0) (0.0004008668033,0) (-1.924329641e-10,0) (2.950263984e-05,0) (-0.0005718721755,0) (-2.727688202e-07,0) (-1.794592821e-09,0) (3.284267252e-05,0) (-1.361779008e-10,0) (-1.772004666e-05,0) (0.0002140658698,0) (-3.061634471e-11,0) (-2.18074922e-06,0) (8.592680047e-06,0) (-5.505024031e-10,0) (1.478868857e-06,0) (-3.305527393e-05,0) (-1.455247171e-10,0) (-6.902743869e-06,0) (3.953000872e-05,0) (-7.166854507e-11,0) (-7.303006439e-06,0) (3.947982096e-05,0) (0,0) (0.001679108527,0) (-0.05045358095,0) (6.252449675e-05,0) (0.02200366493,0) (2.168404345e-19,0) (-0.0001201094063,0) (0.006398207008,0) (-1.827623733e-06,0) (0.004689634674,0) (-8.470329473e-20,0) (-1.145585351e-06,0) (2.575624477e-05,0) (-1.745081276e-08,0) (0.0006705783039,0) (-4.235164736e-22,0) (-3.62487904e-09,0) (2.484116704e-05,0) (-7.604241534e-09,0) (-5.076304556e-06,0) (-4.235164736e-20,0) (-1.840484349e-07,0) (4.390893775e-10,0) (1.025957234e-05,0) (0.0005620420754,0) (-3.388131789e-21,0) (-6.94792267e-07,0) (2.373663017e-09,0) (0.0001593070373,0) (-0.000251256781,0) (2.117582368e-22,0) (1.955830264e-06,0) (-1.022102714e-08,0) (-6.579728783e-06,0) (-0.0002342789111,0) (-8.470329473e-22,0) (7.688532502e-07,0) (-5.11828032e-09,0) (-5.264350621e-05,0) (0.0001274524706,0) (0,0) (7.264731325e-09,0) (-2.310334681e-11,0) (-1.395951307e-05,0) (6.869909882e-05,0) (-1.270549421e-21,0) (8.860179887e-08,0) (-1.848524135e-10,0) (1.541787193e-05,0) (-4.066423592e-05,0) (-1.588186776e-22,0) (-5.464056351e-11,0) (4.061638748e-07,0) (-8.316854796e-10,0) (-1.078115126e-05,0) (7.940933881e-22,0) (7.888849008e-08,0) (-3.475255682e-10,0) (-2.522531665e-05,0) (3.889316497e-05,0) (-1.164670302e-21,0) (3.533132544e-08,0) (-1.704590834e-10,0) (-5.400560006e-06,0) (9.482860461e-06,0) -(-0.03354517603,0) (-0.05146129038,0) (-0.003588421894,0) (0.006149288282,0) (0.001832815333,0) (-0.0008201243352,0) (-0.0003523390349,0) (5.426235325e-05,0) (0.0001246590734,0) (-1.541223556e-05,0) (-1.314052468e-05,0) (-4.384871105e-06,0) (7.475638015e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0008056940932,0) (0.08598772848,0) (0.01418116593,0) (0.03748567322,0) (0.0005069597758,0) (-1.361692173e-05,0) (-0.002436983511,0) (-0.002240139213,0) (1.540598429e-06,0) (-0.002840072602,0) (-0.006159742645,0) (2.994578451e-06,0) (0.001968803752,0) (-0.0004011031198,0) (-5.179052102e-07,0) (0.0001835878932,0) (-3.418482576e-05,0) (-4.922683088e-08,0) (0.001015095094,0) (-0.0002251307824,0) (-2.613155229e-07,0) (-0.0002622025914,0) (-0.0003413494461,0) (1.992736509e-07,0) (0.0002644203416,0) (-5.066131264e-05,0) (-7.068415912e-08,0) (-7.132799777e-05,0) (-7.372500718e-05,0) (4.784728731e-08,0) (0.0001497079056,0) (-1.431185483e-05,0) (-4.529799756e-08,0) (-1.821450758e-05,0) (-5.065552207e-05,0) (2.302489451e-08,0) (3.798269516e-05,0) (-7.824682005e-07,0) (-1.268593802e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.03306914808,0) (0.02963387403,0) (-0.0001989941228,0) (-0.0001075587721,0) (0.0001426440602,0) (0.0004211246611,0) (-0.0001489058348,0) (-9.589258415e-05,0) (9.290468493e-05,0) (4.226005073e-05,0) (-1.301790565e-05,0) (5.565130283e-06,0) (1.860036328e-05,0) (0.02926571414,0) (-5.233749665e-05,0) (0.004673081751,0) (-0.00362435917,0) (4.545799097e-06,0) (0.02638077972,0) (-7.992001587e-05,0) (2.568906514e-08,0) (-0.0009236595288,0) (1.910721583e-06,0) (-9.273966112e-10,0) (-1.104819657e-05,0) (2.172620418e-07,0) (2.679708471e-05,0) (0.000730282638,0) (-1.760161639e-09,0) (-5.697878921e-05,0) (0.0003034798675,0) (2.554106455e-10,0) (4.416018281e-05,0) (-0.0004472785039,0) (-4.815784398e-08,0) (2.380958854e-09,0) (6.308274014e-05,0) (1.807232962e-10,0) (-3.901393542e-06,0) (0.0001694230918,0) (4.06153188e-11,0) (-1.146048646e-07,0) (1.07843805e-05,0) (7.316866297e-10,0) (2.233056699e-06,0) (-1.773625471e-05,0) (1.931154678e-10,0) (-2.832235242e-06,0) (3.696293445e-05,0) (9.509970693e-11,0) (-3.185200628e-06,0) (3.456667511e-05,0) (-3.469446952e-18,0) (-0.00284257667,0) (0.05732018934,0) (-8.295705307e-05,0) (0.01698074865,0) (1.626303259e-19,0) (6.976167755e-05,0) (-0.005208299287,0) (2.425392242e-06,0) (0.003898029682,0) (-7.115076757e-20,0) (1.369639726e-06,0) (-3.330977184e-05,0) (2.316105747e-08,0) (0.0005276356672,0) (2.117582368e-22,0) (6.427763033e-09,0) (-3.902065515e-05,0) (1.008984649e-08,0) (-2.047743501e-06,0) (-3.388131789e-20,0) (2.252124931e-07,0) (-5.827660155e-10,0) (-2.784067985e-05,0) (0.0004421855303,0) (1.694065895e-21,0) (1.25482395e-06,0) (-3.150489814e-09,0) (5.903793265e-05,0) (-0.0002242549974,0) (-2.117582368e-21,0) (-1.819824513e-06,0) (1.356734793e-08,0) (9.261243859e-05,0) (-0.0001806069212,0) (-8.470329473e-22,0) (-1.383388018e-06,0) (6.792974981e-09,0) (1.657555103e-05,0) (0.0001021695525,0) (1.058791184e-22,0) (-1.179134865e-08,0) (3.065983203e-11,0) (-4.066691132e-06,0) (5.42395716e-05,0) (5.29395592e-22,0) (-5.858694103e-08,0) (2.453479878e-10,0) (1.630524542e-05,0) (-2.371439697e-05,0) (2.64697796e-22,0) (-4.732725524e-11,0) (-4.061021922e-07,0) (1.103310071e-09,0) (1.257948399e-05,0) (1.270549421e-21,0) (-1.70912097e-07,0) (4.612254458e-10,0) (-1.071839513e-05,0) (3.584446582e-05,0) (-6.352747104e-22,0) (-8.927826945e-08,0) (2.261947935e-10,0) (-3.135211927e-06,0) (1.651072366e-05,0) -(0.05232289484,0) (0.08026798496,0) (0.005597127326,0) (-0.009591500245,0) (-0.002858777782,0) (0.00127920865,0) (0.000549569281,0) (-8.463701011e-05,0) (-0.0001944399869,0) (2.403960497e-05,0) (2.049624931e-05,0) (6.839408132e-06,0) (-1.166030613e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2422309801,0) (0.001121531446,0) (0.004001037327,0) (0.0008151232336,0) (0.0005459492306,0) (2.557736886e-06,0) (1.207525027e-05,0) (7.053714984e-05,0) (3.864594342e-05,0) (1.483042612e-05,0) (1.714442183e-05,0) (1.870975941e-05,0) (1.379834849e-05,0) (1.742864286e-07,0) (0.005638823192,0) (-0.03005885845,0) (-0.001740184869,0) (-0.0002456493842,0) (-1.464161271e-09,0) (-0.0002385746382,0) (0.0001785998502,0) (-2.747021514e-11,0) (-0.0005992538639,0) (0.000367698185,0) (-1.046201884e-10,0) (-6.600547482e-05,0) (4.89280251e-05,0) (-8.444216063e-12,0) (-4.766178062e-07,0) (4.06527398e-07,0) (-3.327915718e-14,0) (-3.196151495e-05,0) (2.456646172e-05,0) (-3.639065293e-12,0) (-3.402544542e-05,0) (2.406742621e-05,0) (-4.536703068e-12,0) (-9.26298144e-06,0) (6.688627696e-06,0) (-1.280349392e-12,0) (-7.564880206e-06,0) (5.569965596e-06,0) (-9.132222426e-13,0) (-6.467528051e-06,0) (3.305101292e-06,0) (-1.683603403e-12,0) (-5.197553094e-06,0) (2.84540489e-06,0) (-1.055854317e-12,0) (-1.763474399e-06,0) (2.918850479e-07,0) (-8.970932822e-13,0) (-4.33680869e-19,0) (-3.469446952e-18,0) (-8.67361738e-19,0) (0.04120751152,0) (-0.1209002553,0) (1.301042607e-18,0) (-2.168404345e-19,0) (-4.33680869e-19,0) (0.01059505292,0) (-0.03117134266,0) (6.776263578e-21,0) (-6.776263578e-21,0) (5.082197684e-21,0) (5.404029922e-05,0) (-0.0002719614938,0) (-1.016439537e-19,0) (-1.355252716e-20,0) (4.065758147e-20,0) (0.0006347062577,0) (-0.001863912343,0) (2.64697796e-23,0) (-5.95570041e-23,0) (1.32348898e-23,0) (-2.21524732e-08,0) (1.343238814e-06,0) (1.058791184e-22,0) (2.64697796e-23,0) (6.6174449e-23,0) (9.509644464e-07,0) (-4.130367749e-06,0) (0,0) (6.352747104e-22,0) (-4.235164736e-22,0) (3.035209207e-05,0) (-9.01449982e-05,0) (2.329340605e-21,0) (3.176373552e-22,0) (0,0) (1.50771313e-05,0) (-4.735466163e-05,0) (-2.64697796e-23,0) (2.64697796e-23,0) (0,0) (1.62071298e-06,0) (-5.352223079e-06,0) (5.29395592e-22,0) (2.64697796e-22,0) (-5.29395592e-23,0) (3.422835305e-06,0) (-1.01749705e-05,0) (-2.117582368e-22,0) (-1.588186776e-22,0) (3.176373552e-22,0) (5.992220638e-06,0) (-1.768270685e-05,0) (0,0) (-2.117582368e-22,0) (3.176373552e-22,0) (3.697399502e-06,0) (-1.132169379e-05,0) (1.058791184e-22,0) (-4.963083675e-23,0) (-2.514629062e-22,0) (2.631726242e-06,0) (-7.718453293e-06,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2167077723,0) (-0.0826000003,0) (0.01117712611,0) (-0.0003024909558,0) (0.0008314218089,0) (-0.0009975617353,0) (0.0008431149587,0) (-0.0003842233562,0) (0.0002704370739,0) (-0.0001092156267,0) (9.757243774e-05,0) (-3.875001386e-05,0) (4.274889246e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2475006931,0) (0.001885655396,0) (0.003936900835,0) (0.0009741204454,0) (0.0005004075617,0) (8.132634863e-07,0) (1.510083094e-05,0) (7.282759888e-05,0) (3.408159058e-05,0) (1.381866281e-05,0) (1.778426622e-05,0) (1.795710592e-05,0) (1.276438578e-05,0) (7.833976983e-06,0) (0.3041454174,0) (0.002926686712,0) (0.02849839687,0) (2.755679327e-06,0) (1.477200313e-09,0) (5.595452752e-05,0) (0.000471312833,0) (2.30767043e-11,0) (0.0001328145617,0) (0.002968612862,0) (1.385122765e-10,0) (0.0001424591791,0) (8.663764015e-06,0) (6.653302287e-12,0) (1.353880343e-06,0) (1.063332768e-06,0) (1.058585676e-13,0) (0.0001028139335,0) (8.885062031e-06,0) (4.930568137e-12,0) (9.226573536e-06,0) (0.0001114531879,0) (5.306720436e-12,0) (2.485545863e-05,0) (1.209685944e-06,0) (1.149711836e-12,0) (2.362894913e-06,0) (2.235255113e-05,0) (1.084804457e-12,0) (4.060026829e-05,0) (2.884757044e-07,0) (1.846273793e-12,0) (8.663751496e-07,0) (2.708317392e-05,0) (1.260179665e-12,0) (1.705402686e-05,0) (4.258384822e-09,0) (8.003161713e-13,0) (1.561251128e-17,0) (6.938893904e-18,0) (8.67361738e-19,0) (0.04483170943,0) (0.1133052738,0) (8.67361738e-19,0) (-1.734723476e-18,0) (4.33680869e-19,0) (0.009624007898,0) (0.03498925778,0) (0,0) (5.421010862e-20,0) (6.776263578e-21,0) (1.920663012e-05,0) (0.0007802029551,0) (2.439454888e-19,0) (0,0) (2.710505431e-20,0) (0.0006986693326,0) (0.001726467409,0) (0,0) (-3.176373552e-22,0) (-4.235164736e-22,0) (1.653240914e-09,0) (1.835110102e-05,0) (0,0) (0,0) (0,0) (2.342751068e-06,0) (1.709453932e-06,0) (0,0) (1.016439537e-20,0) (1.101142831e-20,0) (2.57422105e-05,0) (0.0001083718738,0) (1.270549421e-21,0) (0,0) (-4.235164736e-22,0) (2.225083718e-05,0) (3.271647394e-05,0) (0,0) (2.911675756e-22,0) (0,0) (2.685905316e-06,0) (3.292917407e-06,0) (2.117582368e-22,0) (2.117582368e-22,0) (0,0) (2.887868495e-06,0) (1.229628472e-05,0) (2.117582368e-22,0) (0,0) (-4.235164736e-22,0) (6.902245323e-06,0) (1.565229019e-05,0) (-6.352747104e-22,0) (2.117582368e-22,0) (-4.235164736e-22,0) (5.060621495e-06,0) (8.434035548e-06,0) (-1.058791184e-22,0) (-8.470329473e-22,0) (-3.176373552e-22,0) (2.848171096e-06,0) (7.27171318e-06,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (0.08203099855,0) (8.306610194e-08,0) (0.1359609918,0) (0.009081386798,0) (5.657391905e-09,0) (0.01196712578,0) (5.443671855e-05,0) (2.267692166e-12,0) (6.454709571e-05,0) (4.074384328e-08,0) (2.322477598e-15,0) (4.516263572e-08,0) (1.806939314e-09,0) (9.637884248e-05,0) (0.0001200645114,0) (3.505088404e-13,0) (0.0001259530711,0) (0.0003880768169,0) (2.442169459e-14,0) (0.0001806923474,0) (0.0003300259584,0) (4.99498452e-09,0) (5.220474457e-13,0) (0.0003140465704,0) (2.043749217e-14,0) (6.916995033e-05,0) (0.0001161425193,0) (3.068536094e-15,0) (6.841874488e-06,0) (0.0001365406311,0) (3.090610873e-13,0) (1.118320353e-06,0) (0.0001219538312,0) (2.402304362e-14,0) (6.135362753e-06,0) (0.0001061573737,0) (1.022792114e-14,0) (9.682037194e-06,0) (9.16160885e-05,0) (0,0) (0.008475895408,0) (0.1732522102,0) (1.124213962e-07,0) (0.02297182624,0) (1.084202172e-19,0) (0.0009869192534,0) (0.006480627332,0) (3.316210435e-10,0) (0.000596346401,0) (1.694065895e-21,0) (6.030566529e-06,0) (7.772448169e-05,0) (1.304810639e-11,0) (1.025243196e-05,0) (0,0) (6.172455307e-07,0) (3.424236285e-06,0) (8.91940129e-14,0) (8.102047562e-08,0) (0,0) (1.7510264e-07,0) (5.995060337e-14,0) (0.0002921369044,0) (3.675876272e-05,0) (2.032879073e-20,0) (1.275281687e-06,0) (4.637667068e-13,0) (0.0003051743252,0) (0.0002630933887,0) (6.776263578e-21,0) (3.588497215e-06,0) (5.404957306e-12,0) (0.0003430215163,0) (6.96043537e-05,0) (5.082197684e-21,0) (2.144710129e-06,0) (2.269021793e-12,0) (0.0002012220718,0) (3.895281572e-05,0) (1.694065895e-21,0) (3.844113255e-09,0) (1.769838074e-15,0) (0.0001178597097,0) (2.092539475e-05,0) (-8.470329473e-22,0) (6.145570316e-08,0) (3.010474357e-14,0) (2.166322872e-05,0) (9.000390998e-05,0) (0,0) (1.298476433e-12,0) (5.281220211e-07,0) (2.249656277e-13,0) (0.0001117973318,0) (2.541098842e-21,0) (1.467994913e-07,0) (7.105028024e-14,0) (4.480358687e-05,0) (5.317998557e-05,0) (0,0) (6.039698986e-08,0) (2.87767903e-14,0) (3.246588878e-06,0) (8.011602699e-05,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.3147524089,0) (0.3911428714,0) (0.2057672699,0) (0.06817076837,0) (0.01624681051,0) (0.001918900616,0) (8.656155591e-06,0) (0.0003293313421,0) (0.0005165205109,0) (0.0005274892321,0) (0.000308913253,0) (0.0001921098042,0) (7.200817462e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1469209212,0) (0.001757452279,0) (0.008885391297,0) (0.0004765796032,0) (0.0003137171467,0) (3.753583099e-07,0) (3.817084e-06,0) (6.033841652e-07,0) (5.317323845e-07,0) (8.414643968e-06,0) (3.31541252e-06,0) (3.002007615e-07,0) (1.229871495e-06,0) (0.001306177527,0) (1.355168727e-09,0) (0.2503658847,0) (1.046614926e-05,0) (2.060951583e-11,0) (0.04152020624,0) (4.050576507e-07,0) (1.00843227e-12,0) (0.003778769832,0) (1.889305054e-06,0) (8.299835645e-12,0) (0.002559803502,0) (1.316604296e-15,0) (2.853709815e-10,0) (7.660087477e-05,0) (2.266554089e-16,0) (5.359854749e-09,0) (1.127557649e-07,0) (1.456075894e-15,0) (8.395718063e-08,0) (9.154156321e-06,0) (9.161877051e-08,0) (3.993706216e-16,0) (1.150818494e-07,0) (1.068890781e-15,0) (4.419176462e-08,0) (7.775554357e-06,0) (1.628929061e-17,0) (4.528323296e-06,0) (1.43185262e-05,0) (2.455969101e-13,0) (6.161678805e-07,0) (1.125366415e-06,0) (1.15944313e-15,0) (1.58315933e-07,0) (5.391837529e-07,0) (2.24968478e-15,0) (6.286898691e-07,0) (3.183188427e-06,0) (6.2883726e-18,0) (0.0002446691601,0) (8.145458932e-07,0) (5.664740933e-10,0) (0.177759353,0) (2.493664997e-18,0) (2.201408811e-06,0) (0.0003158153936,0) (8.549720567e-10,0) (0.0706465972,0) (1.058791184e-22,0) (2.464242287e-13,0) (6.094571757e-11,0) (1.707997469e-15,0) (4.38015457e-05,0) (8.131516294e-20,0) (2.311133296e-11,0) (9.174418953e-05,0) (8.403150672e-11,0) (0.001971316564,0) (5.29395592e-23,0) (1.266660794e-13,0) (7.775698928e-17,0) (6.88337889e-11,0) (2.410431746e-06,0) (1.356576205e-22,0) (5.576701781e-10,0) (1.468000911e-14,0) (6.062379565e-07,0) (3.176643229e-06,0) (-2.067951531e-24,0) (2.300661614e-12,0) (5.707138741e-16,0) (1.135038219e-09,0) (1.530804122e-07,0) (-1.178732373e-23,0) (3.081533289e-11,0) (8.947554122e-16,0) (2.296325301e-09,0) (3.899274721e-07,0) (6.749793798e-22,0) (8.755362874e-11,0) (1.48542241e-15,0) (8.808607626e-08,0) (2.190836451e-05,0) (-1.058791184e-22,0) (2.423577032e-09,0) (3.638364687e-14,0) (4.518853107e-06,0) (4.641490491e-06,0) (1.413638742e-27,0) (6.210057073e-11,0) (3.638362452e-11,0) (1.650294841e-19,0) (9.04762241e-12,0) (8.271806126e-24,0) (4.100520746e-10,0) (4.164857336e-15,0) (3.101457978e-07,0) (1.081074942e-06,0) (7.940933881e-23,0) (4.313670249e-09,0) (1.26775354e-14,0) (2.818838655e-06,0) (9.917835142e-07,0) -(0.1537404548,0) (0.003727007567,0) (0.00854296775,0) (0.0008283378013,0) (0.000249242271,0) (3.135135163e-06,0) (3.485164461e-06,0) (1.245370055e-07,0) (1.451806454e-06,0) (9.235094054e-06,0) (1.535303137e-06,0) (1.834495508e-07,0) (1.651277635e-06,0) (2.815830936e-10,0) (0.01983051592,0) (0.2311916741,0) (1.480857164e-06,0) (5.065308416e-11,0) (0.05191474862,0) (1.74172454e-07,0) (5.928976114e-13,0) (0.002321923377,0) (5.781125973e-06,0) (1.396714217e-11,0) (0.002995923626,0) (1.300580339e-15,0) (2.083846774e-09,0) (2.160554926e-05,0) (8.895745648e-08,0) (1.874301973e-14,0) (4.549221948e-07,0) (3.009999658e-15,0) (6.499753675e-08,0) (5.596904508e-06,0) (8.516512091e-16,0) (5.426835441e-08,0) (1.474190623e-07,0) (1.228211538e-15,0) (1.807091778e-07,0) (1.378205676e-05,0) (2.933157846e-14,0) (5.773281799e-06,0) (8.30249756e-06,0) (1.793970786e-07,0) (1.57524998e-14,0) (1.14196802e-07,0) (1.547102555e-15,0) (2.937426657e-07,0) (8.906479179e-07,0) (3.127361261e-15,0) (1.516806236e-06,0) (2.811236419e-06,0) (0,0) (1.511060808e-05,0) (5.607603461e-10,0) (0.1487858497,0) (0.02038732434,0) (1.734723476e-18,0) (9.734329973e-09,0) (0.0004046016186,0) (8.829540289e-10,0) (0.0787413867,0) (0,0) (1.175486027e-09,0) (3.16393186e-09,0) (1.818492629e-13,0) (0.0005493161406,0) (0,0) (1.11287863e-09,0) (2.242153709e-05,0) (5.137087983e-11,0) (0.001903470945,0) (-4.235164736e-22,0) (1.177409821e-09,0) (2.273659858e-09,0) (4.248625572e-15,0) (2.121979301e-05,0) (0,0) (1.746371504e-10,0) (3.101321166e-15,0) (2.618867638e-10,0) (3.3303246e-06,0) (-6.6174449e-24,0) (4.476698989e-11,0) (7.989091628e-15,0) (1.282889475e-07,0) (2.814187778e-07,0) (1.654361225e-24,0) (2.426502395e-12,0) (1.278136264e-16,0) (7.949778252e-10,0) (1.110717381e-07,0) (2.436173229e-11,0) (0,0) (3.526056281e-16,0) (7.3810059e-07,0) (2.697616726e-05,0) (0,0) (1.877165974e-10,0) (1.913490841e-14,0) (2.115184742e-06,0) (1.181201865e-06,0) (-1.654361225e-24,0) (6.907330169e-11,0) (1.047719175e-07,0) (7.596810143e-15,0) (7.557011361e-09,0) (1.895051636e-10,0) (0,0) (6.491569902e-15,0) (1.28432286e-06,0) (1.324891707e-06,0) (0,0) (9.739590345e-10,0) (2.829120299e-14,0) (3.141117806e-06,0) (2.187995244e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (0,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-8.67361738e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.376428539e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.421010862e-20,0) (-7.446672951e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (5.29395592e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-3.176373552e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (3.97046694e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.522012327e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.058791184e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (9.264422861e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (6.203854594e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-1.389663429e-22,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (0,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (6.505213035e-19,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (0,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-1.355252716e-20,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (0,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (0,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.084202172e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.032879073e-20,0) (-2.218079147e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.558653716e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.415367389e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.441071348e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (2.067951531e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.714186385e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (9.264422861e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (0,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (2.710505431e-20,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (0,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (5.29395592e-23,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (2.117582368e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.035766083e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.138412281e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.694065895e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (3.726944968e-20,0) (3.933175976e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780888e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (5.823351512e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.514629062e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.808845119e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.249931266e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-1.550963649e-25,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (6.948317145e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (5.128519798e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-4.33680869e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (-5.421010862e-20,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (-8.470329473e-22,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (0,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (0,0) (-4.040786575e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (1.058791184e-22,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (-2.117582368e-22,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424696266e-12,0) (-0.008719428334,0) (0.06301289739,0) (0,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138140965e-13,0) (-6.644558929e-05,0) (0,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (0,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640456e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182199e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (0,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (-5.29395592e-23,0) (-3.139926191e-09,0) (-5.790193031e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (0,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556893e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808167e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-2.117582368e-22,0) (-2.091689037e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.214682481e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(-0.1395541466,0.2417148723) (-0.01357903408,0.02351957694) (0.01423099906,-0.02464881341) (0.004074510377,-0.007057258989) (-0.001425660096,0.00246931572) (1.975203663e-05,-3.4211531e-05) (-5.71653615e-06,9.901331055e-06) (-7.743450601e-05,0.0001341204987) (6.633973277e-05,-0.0001149037877) (-4.268839373e-05,7.393846683e-05) (3.706007127e-05,-6.418992637e-05) (-2.936722707e-05,5.086552936e-05) (1.515866188e-05,-2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,0.102295252) (0.003122660326,-0.005408606339) (0.001450134843,-0.002511707226) (-1.663179087e-05,2.88071068e-05) (-5.691193611e-05,9.85743649e-05) (4.320980191e-06,-7.484157229e-06) (-1.508217198e-05,2.612308816e-05) (-5.052939195e-06,8.751947413e-06) (-3.798238809e-06,6.578742597e-06) (-1.228729791e-05,2.128222427e-05) (-6.964894952e-06,1.206355193e-05) (-2.032950537e-06,3.521173619e-06) (-3.820457386e-06,6.6172263e-06) (0.005175592884,-0.008964389834) (5.304917144e-09,-9.188386024e-09) (-0.09224965312,0.1597810862) (-0.0001541485888,0.0002669931877) (1.707308578e-10,-2.957145201e-10) (0.01114537494,-0.01930435567) (2.347871873e-06,-4.066633374e-06) (-7.561107841e-13,1.309622278e-12) (0.000246935527,-0.000427704879) (-1.387241408e-07,2.402772602e-07) (-6.941934625e-14,1.202378346e-13) (-5.376045784e-06,9.311584441e-06) (-7.712042098e-13,1.335764866e-12) (8.292123503e-08,-1.436237921e-07) (-4.795061678e-05,8.305290452e-05) (-4.456588466e-15,7.719037506e-15) (-4.108193539e-07,7.115599937e-07) (3.307487654e-06,-5.728736662e-06) (2.981603408e-15,-5.164287035e-15) (1.947461171e-06,-3.373101694e-06) (-2.748230891e-05,4.760075535e-05) (-1.069619489e-08,1.8526353e-08) (7.219598505e-15,-1.25047114e-14) (3.005871758e-06,-5.206322606e-06) (-2.336955431e-15,4.047727356e-15) (8.74177065e-07,-1.514119091e-06) (-1.502558212e-05,2.602507165e-05) (1.117846321e-16,-1.936173322e-16) (2.783083705e-06,-4.820442378e-06) (-2.210803363e-05,3.82922375e-05) (1.377538078e-13,-2.385965939e-13) (4.150521297e-07,-7.188913765e-07) (-5.857532454e-06,1.014554382e-05) (-2.638813198e-15,4.570558867e-15) (4.927792809e-07,-8.535187514e-07) (-3.782800919e-06,6.552003387e-06) (-2.398416777e-15,4.154178646e-15) (1.233592183e-06,-2.136644337e-06) (-8.538607507e-06,1.478930203e-05) (-6.505213035e-19,-5.854691731e-18) (0.0007200330219,-0.001247133777) (-0.0001878309588,0.0003253327639) (3.990106788e-09,-6.911067681e-09) (-0.03195096622,0.05534069685) (4.878909776e-19,-5.149960319e-19) (-2.330564706e-05,4.036656481e-05) (0.0007153114482,-0.001238955771) (2.662361388e-10,-4.611345189e-10) (0.003245375324,-0.005621154951) (3.176373552e-22,1.270549421e-21) (6.095239344e-10,-1.055726423e-09) (-3.44128403e-08,5.960478783e-08) (7.46427043e-14,-1.292849566e-13) (1.059566382e-05,-1.835222807e-05) (2.223461487e-21,-2.117582368e-22) (-1.888476037e-09,3.270936446e-09) (8.862191923e-06,-1.534976668e-05) (-1.368859681e-12,2.370934516e-12) (6.318959677e-06,-1.094475921e-05) (-7.676236084e-22,4.764560328e-22) (7.446402637e-11,-1.28975477e-10) (-1.079534809e-15,1.869808714e-15) (-7.090290898e-08,1.228074408e-07) (4.706497865e-06,-8.151893428e-06) (-4.764560328e-22,5.29395592e-22) (1.33340407e-08,-2.309523596e-08) (-4.125560452e-14,7.145680311e-14) (6.800887061e-06,-1.177948193e-05) (-1.445470366e-05,2.503628115e-05) (-1.32348898e-23,-1.852884572e-22) (1.436655647e-09,-2.488360574e-09) (2.776996633e-14,-4.809899276e-14) (3.119865907e-07,-5.403766263e-07) (-1.632104712e-06,2.826888284e-06) (-8.602678371e-23,3.044024654e-22) (-4.064786482e-09,7.040416709e-09) (2.25289788e-14,-3.902133579e-14) (-3.398791457e-07,5.886879487e-07) (1.948638818e-06,-3.375141438e-06) (7.411538288e-22,-5.29395592e-22) (2.900715708e-10,-5.024186985e-10) (-8.107037041e-16,1.40417988e-15) (1.611039988e-06,-2.790403113e-06) (-1.070561973e-05,1.854267731e-05) (-7.940933881e-23,-3.176373552e-22) (6.102102725e-09,-1.056915195e-08) (1.654781353e-14,-2.866165396e-14) (4.947043268e-06,-8.568530288e-06) (-1.021949476e-05,1.770068415e-05) (8.271806126e-25,-2.688336991e-24) (4.489881054e-12,-7.776702106e-12) (-2.191745498e-09,3.79621456e-09) (-9.634049138e-17,1.668666255e-16) (-1.590204424e-08,2.754314857e-08) (-7.940933881e-23,9.264422861e-23) (3.879285887e-09,-6.719120253e-09) (-8.60107949e-15,1.489750663e-14) (1.863843086e-06,-3.228270922e-06) (-3.791159118e-06,6.566480212e-06) (-1.32348898e-23,-1.588186776e-22) (8.070512659e-09,-1.397853797e-08) (-9.550114474e-15,1.654128355e-14) (1.512581421e-06,-2.619867872e-06) (-4.456953971e-06,7.719670724e-06) -(-0.1378654839,0.2387900227) (-0.0169245535,0.02931418655) (0.0167882116,-0.02907803547) (0.002856832998,-0.004948179901) (-0.001021264037,0.001768881199) (-6.261071557e-05,0.0001084449405) (-5.097302548e-05,8.828786994e-05) (5.211057454e-06,-9.025816272e-06) (-1.563957284e-05,2.708853477e-05) (1.958875962e-05,-3.392872691e-05) (-7.901662008e-06,1.368608006e-05) (1.11827671e-06,-1.936912078e-06) (-3.986478569e-06,6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (6.505213035e-19,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-1.084202172e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.799945013e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.082197684e-20,0) (-7.44667295e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (1.98523347e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-1.588186776e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (5.95570041e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.058791184e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.32348898e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (5.29395592e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (3.101927297e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-5.95570041e-23,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (5.29395592e-23,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (0,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (-1.355252716e-20,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-6.776263578e-21,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (-4.235164736e-22,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (2.117582368e-22,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04586770644,0) (0.1295753448,0) (0.0004442131108,0) (0.1967622424,0) (0.0001704511524,0) (0.07116101842,0) (0.01342434892,0) (0.1479153603,0) (0.05829558339,0) (0.002881188799,0) (0.0986772665,0) (0.03669568318,0) (0.0583789555,0) (0.004863627082,0) (0.02285094543,0) (0.01871025158,0) (0.01720002272,0) (0.0129751607,0) (0.01950909261,0) (0.002216861756,0) (0.007850079801,0) (0.0006684007036,0) (0.01106999276,0) (0.004241350104,0) (0.006378882393,0) (0.0004382569924,0) (0.00246318523,0) (0.0002443597394,0) (0.003066181956,0) (0.001196173181,0) (0.001717101805,0) (2.637892713e-05,0) (0.0006299645073,0) (1.244860412e-05,0) (0.0006474759855,0) (0.0002384489065,0) (0.000314514928,0) (9.546434388e-07,0) (0.0001139889123,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(3.590997234e-05,0) (0.0001233917216,0) (1.30441383e-07,0) (1.553904071e-05,0) (1.536434435e-06,0) (2.779572112e-06,0) (2.900697787e-07,0) (1.694146338e-07,0) (2.480155548e-07,0) (7.759935467e-08,0) (9.02954327e-09,0) (1.753815685e-09,0) (2.272725483e-08,0) (0.05134867755,0) (0.01875202135,0) (0.000278013623,0) (0.005748536394,0) (0.00207432931,0) (0.0001512337715,0) (0.0004583230146,0) (0.0001648728595,0) (3.850112287e-05,0) (0.0005754261716,0) (0.0002097466075,0) (1.254127337e-05,0) (1.450462071e-05,0) (4.081696167e-05,0) (1.394154879e-05,0) (4.99941714e-06,0) (1.463681797e-05,0) (7.757214435e-09,0) (1.511410508e-06,0) (4.698023398e-06,0) (1.404013897e-06,0) (8.766678713e-06,0) (6.146623103e-06,0) (8.264078866e-06,0) (9.044095585e-07,0) (2.283550353e-06,0) (9.876553109e-07,0) (3.043249266e-07,0) (6.038139103e-07,0) (2.400053708e-07,0) (9.769650476e-07,0) (1.981749796e-06,0) (7.468840143e-07,0) (8.787060028e-07,0) (1.618326537e-06,0) (8.543525323e-07,0) (5.00506041e-07,0) (9.817712635e-07,0) (4.454731505e-07,0) (3.469446952e-18,0) (0.003515743553,0) (0.09234509611,0) (0.03477975199,0) (1.223510922e-05,0) (4.33680869e-19,0) (4.597357965e-05,0) (0.02740325923,0) (0.01004796136,0) (0.0003916175239,0) (1.694065895e-21,0) (1.460078625e-06,0) (6.30598451e-05,0) (2.330863833e-05,0) (8.451039346e-05,0) (2.710505431e-20,0) (2.399382941e-10,0) (0.001718607472,0) (0.0006467762177,0) (6.859021545e-05,0) (1.482307658e-21,0) (1.335565741e-06,0) (3.205846614e-06,0) (7.65274698e-06,0) (1.646933149e-05,0) (-8.470329473e-22,0) (4.379161533e-06,0) (1.211169872e-05,0) (2.157052131e-05,0) (8.161268252e-06,0) (0,0) (5.33910383e-06,0) (1.925982866e-05,0) (4.905944391e-05,0) (4.081163393e-07,0) (-8.470329473e-22,0) (3.171881935e-06,0) (1.1505279e-05,0) (2.779490012e-05,0) (1.68620799e-06,0) (1.32348898e-23,0) (1.369395562e-07,0) (3.006229585e-07,0) (6.24704245e-07,0) (5.081771609e-07,0) (0,0) (4.516212835e-07,0) (1.131399868e-06,0) (1.789055475e-06,0) (9.447754395e-07,0) (2.117582368e-22,0) (5.10826975e-11,0) (1.696043397e-06,0) (3.063049089e-06,0) (6.775872177e-06,0) (1.058791184e-22,0) (6.382847646e-07,0) (1.694474736e-06,0) (2.713576222e-06,0) (1.415412032e-06,0) (1.058791184e-22,0) (3.927215262e-07,0) (1.006395786e-06,0) (4.761797554e-07,0) (1.932952223e-06,0) -(0.02151507676,0) (0.08145033313,0) (0.0009225981511,0) (0.009071793741,0) (0.001897530337,0) (0.001271522409,0) (0.000393613206,0) (3.191902604e-05,0) (0.0002180280768,0) (1.351339316e-05,0) (1.003663981e-05,0) (6.66710727e-06,0) (1.372598266e-05,0) (0.01971880285,0) (0.0002195616787,0) (0.0003270306584,0) (2.678465689e-05,0) (0.002763516793,0) (0.106697746,0) (8.901625396e-07,0) (0.0001038820182,0) (0.0345000232,0) (1.0786905e-05,0) (0.0002550410404,0) (0.002603733392,0) (5.086780754e-06,0) (1.296261603e-06,0) (0.01019461019,0) (6.255143051e-06,0) (6.536172276e-06,0) (3.683045246e-05,0) (3.540615072e-06,0) (1.378850213e-05,0) (0.0012674418,0) (5.746639196e-06,0) (4.91232311e-05,0) (0.000126571826,0) (3.717599159e-07,0) (5.395422689e-06,0) (0.0003974504446,0) (3.479206662e-07,0) (5.176068333e-06,0) (7.774311777e-06,0) (2.357456293e-06,0) (1.1427038e-06,0) (1.727367798e-06,0) (7.399816442e-07,0) (1.145978052e-05,0) (3.343258584e-05,0) (4.18479744e-07,0) (5.861896876e-06,0) (1.04002171e-05,0) (-5.421010862e-20,0) (9.561558787e-07,0) (0.03485246954,0) (0.02674278495,0) (0.002291387465,0) (0,0) (1.569546168e-06,0) (0.0004250908481,0) (0.01192913133,0) (0.03599121376,0) (-8.67361738e-19,0) (4.328799598e-08,0) (3.906012346e-08,0) (0.0001448848612,0) (0.05737890751,0) (0,0) (1.172235841e-10,0) (9.806088991e-06,0) (0.0006373039673,0) (0.001947382062,0) (0,0) (1.816924258e-07,0) (7.09263354e-07,0) (2.318653812e-05,0) (0.009023977889,0) (0,0) (2.436045478e-08,0) (7.517683295e-06,0) (2.140748389e-07,0) (0.001279410655,0) (0,0) (2.086878003e-08,0) (2.83498791e-05,0) (0.0001528953655,0) (0.0003576463545,0) (0,0) (6.94006599e-09,0) (7.29799041e-06,0) (6.948945167e-06,0) (0.0008507631173,0) (2.393151383e-11,0) (0,0) (2.620125233e-08,0) (2.63818605e-06,0) (9.527036339e-05,0) (0,0) (1.215275915e-09,0) (1.727758853e-06,0) (4.452695345e-05,0) (2.58813648e-05,0) (0,0) (2.542260728e-09,0) (1.109931996e-05,0) (3.064539702e-06,0) (6.121327117e-07,0) (1.401947502e-09,0) (0,0) (1.253713298e-06,0) (2.653165066e-05,0) (2.635447273e-05,0) (-2.64697796e-23,0) (9.160979474e-11,0) (9.092686847e-07,0) (3.096286743e-06,0) (1.632018929e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-3.794707604e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-8.809142651e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-1.694065895e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (1.694065895e-21,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (4.65868121e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (2.117582368e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.705769144e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-2.64697796e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (-5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.32348898e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (4.33680869e-19,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (2.168404345e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (4.065758147e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (0,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (6.776263578e-21,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (-4.235164736e-22,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (-5.29395592e-23,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (4.235164736e-22,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (2.64697796e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (1.734723476e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (6.505213035e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-2.032879073e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (0,0) (-1.267303587e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-1.694065895e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.382280164e-21,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (0,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (3.546950467e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-3.30872245e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (5.29395592e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-6.505213035e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (-4.33680869e-19,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (-2.710505431e-20,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (-5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (1.694065895e-21,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-4.235164736e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (5.29395592e-23,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-5.421010862e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (0,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (5.421010862e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (0,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (6.776263578e-21,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (0,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (1.694065895e-21,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (2.117582368e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (4.235164736e-22,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,0.0005191289988) (0.09925944203,-0.1719223967) (0.0005701036329,-0.0009874484577) (0.03744131566,-0.06485026102) (-1.08363822e-05,1.876916455e-05) (5.12637978e-06,-8.879150237e-06) (-0.0004333454456,0.000750576329) (-0.004174757703,0.007230892451) (-5.79928862e-07,1.004466254e-06) (-0.0003092991382,0.0005357218221) (-0.008557666191,0.01482231264) (-1.127253589e-06,1.952460489e-06) (0.001441927363,-0.002497491453) (0.0001026368809,-0.0001777722925) (1.949578464e-07,-3.376768953e-07) (7.957927152e-05,-0.0001378353415) (6.761905753e-05,-0.0001171196432) (1.853059582e-08,-3.209593345e-08) (0.0007081325001,-0.001226521469) (7.017291895e-05,-0.0001215430609) (9.836838076e-08,-1.703790333e-07) (-3.926527806e-05,6.800945657e-05) (-0.000555379596,0.0009619456778) (-7.501276439e-08,1.299259191e-07) (0.0001990917172,-0.0003448369695) (1.15125293e-05,-1.994028567e-05) (2.660804959e-08,-4.608649378e-08) (-1.201453687e-05,2.080978829e-05) (-0.0001308978504,0.0002267217275) (-1.801120482e-08,3.119632186e-08) (0.0001320177961,-0.0002286615304) (1.379282385e-06,-2.388987168e-06) (1.705203038e-08,-2.953498298e-08) (-1.642038463e-06,2.844094046e-06) (-6.621122398e-05,0.000114681204) (-8.667301526e-09,1.501220661e-08) (3.661879991e-05,-6.342562196e-05) (3.18796139e-08,-5.521711101e-08) (4.775645764e-09,-8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,0.00159926779) (0.0008274199475,-0.001433133388) (-5.55619918e-06,9.623619276e-06) (-3.00319403e-06,5.201684645e-06) (3.982825217e-06,-6.898455633e-06) (1.175840002e-05,-2.036614625e-05) (-4.157662878e-06,7.201283346e-06) (-2.677457455e-06,4.637492347e-06) (2.594031055e-06,-4.492993584e-06) (1.179960774e-06,-2.043752012e-06) (-3.634784569e-07,6.295631548e-07) (1.553863596e-07,-2.691370696e-07) (5.193486208e-07,-8.995381981e-07) (0.03245066753,-0.05620620491) (1.973358379e-05,-3.417956974e-05) (0.003074044889,-0.005324401932) (-0.003612640396,0.006257276715) (-1.712840758e-06,2.966727218e-06) (0.0006726502744,-0.001165064451) (-7.897721341e-05,0.0001367925463) (-9.66799994e-09,1.67454671e-08) (-2.492556751e-05,4.317234933e-05) (2.421005667e-06,-4.19330482e-06) (3.489741388e-10,-6.044409389e-10) (-3.762967448e-07,6.517650808e-07) (-8.094592238e-08,1.402024502e-07) (3.136037117e-05,-5.431775621e-05) (2.045657133e-05,-3.54318209e-05) (6.618798767e-10,-1.146409575e-09) (-2.146830323e-05,3.718419194e-05) (8.675245077e-07,-1.502596524e-06) (-9.606141336e-11,1.663832486e-10) (1.456791745e-05,-2.523237319e-05) (-1.076291122e-05,1.864190907e-05) (1.04629614e-07,-1.812238073e-07) (-8.956602146e-10,1.551328998e-09) (2.547207111e-05,-4.411892133e-05) (-6.797765478e-11,1.177407519e-10) (6.283968979e-06,-1.088415354e-05) (5.35510915e-06,-9.275321128e-06) (-1.527935823e-11,2.646462476e-11) (1.016270017e-06,-1.760231303e-06) (2.862275528e-06,-4.95760664e-06) (-2.747461897e-10,4.758743597e-10) (7.443505779e-07,-1.28925302e-06) (4.771932706e-06,-8.265229897e-06) (-7.264500146e-11,1.258248334e-10) (1.575517403e-06,-2.728876191e-06) (4.761717681e-06,-8.247536954e-06) (-3.577407697e-11,6.196251891e-11) (1.541553266e-06,-2.67004858e-06) (3.194233381e-06,-5.532574508e-06) (4.33680869e-19,1.734723476e-18) (-0.002729426434,0.004727505259) (0.06324356095,-0.1095410608) (3.126494954e-05,-5.415248111e-05) (0.0002650767828,-0.0004591264557) (-5.421010862e-20,3.252606517e-19) (0.0001065037686,-0.0001844699384) (-0.006663150733,0.01154091561) (-9.127041456e-07,1.580849952e-06) (0.0002416297276,-0.0004185149648) (4.235164736e-22,-8.470329473e-22) (1.483669546e-06,-2.569791035e-06) (-3.500462032e-05,6.06297809e-05) (-8.719713196e-09,1.510298628e-08) (1.471765147e-05,-2.549172011e-05) (-4.235164736e-22,2.541098842e-21) (6.08483442e-09,-1.053924237e-08) (-3.835660981e-05,6.643559699e-05) (-3.797649481e-09,6.577721851e-09) (1.178686968e-06,-2.041545716e-06) (-1.905824131e-21,0) (2.4179593e-07,-4.188028358e-07) (2.191988206e-10,-3.796634942e-10) (-2.364132934e-05,4.094798358e-05) (1.230236002e-05,-2.130831261e-05) (0,-8.470329473e-22) (1.181594739e-06,-2.046582122e-06) (1.185010832e-09,-2.052498968e-09) (-4.056713351e-05,7.026433636e-05) (-2.316881374e-05,4.012956255e-05) (8.470329473e-22,-2.541098842e-21) (-2.188570265e-06,3.790714895e-06) (-5.101434888e-09,8.835944417e-09) (6.486224796e-05,-0.000112344709) (-2.66489559e-06,4.61573456e-06) (-4.235164736e-22,8.470329473e-22) (-1.304105758e-06,2.258777432e-06) (-2.554688277e-09,4.424849894e-09) (3.739300532e-05,-6.476658507e-05) (4.052238551e-06,-7.018683054e-06) (-1.058791184e-22,0) (-1.147182595e-08,1.986978541e-08) (-1.153315372e-11,1.997600821e-11) (4.290322277e-06,-7.431056164e-06) (1.630475981e-06,-2.824067239e-06) (1.058791184e-22,4.235164736e-22) (-8.329871479e-08,1.442776062e-07) (-9.227744456e-11,1.598292224e-10) (3.112744687e-06,-5.391431949e-06) (4.610680091e-06,-7.985932175e-06) (7.411538288e-22,-2.117582368e-22) (-4.072151729e-12,7.05317369e-12) (-4.732118624e-07,8.196269885e-07) (-4.150544398e-10,7.188953777e-10) (1.376158085e-05,-2.383575722e-05) (1.058791184e-22,-1.058791184e-22) (-1.530521796e-07,2.650941513e-07) (-1.73488401e-10,3.004907251e-10) (5.513119534e-06,-9.54900314e-06) (4.337960104e-06,-7.513567301e-06) (5.29395592e-23,2.117582368e-22) (-7.700519144e-08,1.33376904e-07) (-8.508942103e-11,1.473792004e-10) (6.216831785e-07,-1.076786851e-06) (6.222146986e-06,-1.077707471e-05) -(0.05157424969,-0.08932922082) (0.07911949656,-0.1370389879) (0.005517042647,-0.009555798172) (-0.009454263379,0.01637526452) (-0.002817873889,0.004880700745) (0.001260905509,-0.002183952404) (0.0005417059474,-0.0009382622237) (-8.342600894e-05,0.0001444980862) (-0.0001916579055,0.0003319612299) (2.369564209e-05,-4.104205603e-05) (2.020298538e-05,-3.499259714e-05) (6.741548682e-06,-1.167670484e-05) (-1.149346843e-05,1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.029992064e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.202285663e-20,0) (-2.218079148e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.029258124e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.580803511e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.374896899e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (1.852884572e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.584939414e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (8.602678371e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (-4.33680869e-19,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (0,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (8.470329473e-22,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (1.058791184e-22,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (1.058791184e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-4.878909776e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-3.388131789e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-5.505714157e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (8.470329473e-22,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (2.117582368e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (1.270549421e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.176373552e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-5.29395592e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.588186776e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (0,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (-6.505213035e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (2.710505431e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (5.421010862e-20,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (0,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (0,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (1.058791184e-22,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (0,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (3.97046694e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04715705099,0) (0.02200154358,0) (0.1067286698,0) (0.02202428562,0) (0.17465834,0) (0.07141108635,0) (0.1000731762,0) (0.06107260141,0) (0.05848951507,0) (0.07464156391,0) (0.02679567375,0) (0.03681690082,0) (0.0005054573398,0) (0.06266017622,0) (0.02292789445,0) (0.005280432053,0) (0.03058641266,0) (0.0130185903,0) (4.477807442e-05,0) (0.02165478127,0) (0.007876474827,0) (0.007860017766,0) (0.003864294445,0) (0.004255431357,0) (8.845381168e-05,0) (0.006720385865,0) (0.002471484938,0) (0.00210919833,0) (0.001197367089,0) (0.001200149458,0) (0.0001043161214,0) (0.001637026661,0) (0.0006321024569,0) (0.0005029865235,0) (0.0001561530053,0) (0.0002392339673,0) (3.034857158e-05,0) (0.0002847271479,0) (0.0001143827643,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01859825451,0) (0.06390622139,0) (6.755733522e-05,0) (0.008047876816,0) (0.000795739924,0) (0.001439577538,0) (0.0001502310143,0) (8.77421026e-05,0) (0.0001284505699,0) (4.018974268e-05,0) (4.676521113e-06,0) (9.083245777e-07,0) (1.177074896e-05,0) (0.008307597159,0) (0.01873421824,0) (2.900333486e-08,0) (0.0006427535352,0) (0.002074227619,0) (0.09464435446,0) (4.913666987e-05,0) (0.0001652571093,0) (0.02141018871,0) (0.0001298657198,0) (0.0002102475176,0) (0.004281715785,0) (1.48520788e-05,0) (7.255278567e-06,0) (0.007171961804,0) (5.016290298e-06,0) (8.510401907e-06,0) (0.0004140783138,0) (1.516294083e-06,0) (4.817059328e-06,0) (0.0009909456417,0) (1.489550748e-05,0) (6.169100968e-06,0) (3.434653454e-06,0) (9.073734504e-07,0) (4.539544298e-06,0) (0.0003945514261,0) (3.054738133e-07,0) (6.950824905e-07,0) (5.407485655e-07,0) (9.805598736e-07,0) (1.955658851e-06,0) (8.959547428e-06,0) (8.815473737e-07,0) (7.766105257e-06,0) (1.471985915e-05,0) (5.021918199e-07,0) (5.508541434e-06,0) (1.701290994e-05,0) (6.505213035e-19,0) (0.0003326380646,0) (0.01469282168,0) (0.03477374258,0) (0.02107630735,0) (3.252606517e-19,0) (1.4617477e-05,0) (0.006316834902,0) (0.01007236596,0) (0.03687902424,0) (-2.059984128e-18,0) (2.1761899e-07,0) (8.535073252e-06,0) (2.333908512e-05,0) (0.04386035073,0) (3.388131789e-21,0) (2.12877168e-11,0) (0.0001802105721,0) (0.0006483001201,0) (0.0003180537728,0) (-1.423015351e-19,0) (1.934512603e-07,0) (3.215971441e-06,0) (3.60306497e-07,0) (0.008593632408,0) (9.95263713e-21,0) (3.785330716e-07,0) (1.214894467e-05,0) (8.316142622e-05,0) (0.0002399527039,0) (-2.943439492e-20,0) (1.065981606e-06,0) (1.932844051e-05,0) (1.262102486e-07,0) (0.0007885513656,0) (-1.905824131e-20,0) (2.756248094e-07,0) (1.154541289e-05,0) (1.377253857e-05,0) (0.0004170207456,0) (1.334076892e-20,0) (1.372912756e-08,0) (3.015892013e-07,0) (1.65338949e-06,0) (0.000225542516,0) (-7.27918939e-22,0) (1.277388161e-07,0) (1.135050709e-06,0) (1.097300767e-05,0) (1.837231386e-05,0) (0,0) (2.299303327e-09,0) (3.123692756e-07,0) (3.074695245e-06,0) (1.039677966e-06,0) (6.882142696e-22,0) (4.239383809e-08,0) (1.699838817e-06,0) (1.420235844e-05,0) (2.844450342e-05,0) (-2.779326858e-22,0) (2.066829092e-08,0) (1.009713072e-06,0) (8.983597702e-06,0) (1.122430129e-06,0) -(0.002275502001,0) (0.008614442707,0) (9.757687426e-05,0) (0.0009594613604,0) (0.0002006887602,0) (0.0001344801982,0) (4.162976727e-05,0) (3.375856311e-06,0) (2.305933326e-05,0) (1.429218846e-06,0) (1.061506507e-06,0) (7.051341767e-07,0) (1.451702978e-06,0) (0.0197919787,0) (0.04576663462,0) (0.003064285325,0) (0.006931890706,0) (0.002776848162,0) (0.01119185278,0) (0.0002405708549,0) (0.0001044086936,0) (0.003665373389,0) (0.0006670496628,0) (0.0002562656941,0) (0.0002404198937,0) (5.111300906e-06,0) (1.4983551e-05,0) (0.001075955865,0) (7.907287005e-06,0) (6.558427154e-06,0) (1.279841726e-05,0) (3.558166217e-06,0) (2.878390215e-06,0) (0.0001413922296,0) (5.77551433e-06,0) (2.981494912e-05,0) (2.987868567e-06,0) (3.734951082e-07,0) (2.875161334e-06,0) (4.065104123e-05,0) (3.494642989e-07,0) (1.349041095e-09,0) (2.229293379e-06,0) (2.854297262e-07,0) (1.146538659e-06,0) (2.970188831e-06,0) (7.434637826e-07,0) (5.101582132e-06,0) (1.477386609e-06,0) (4.203040616e-07,0) (2.548710907e-06,0) (2.065288763e-07,0) (0,0) (0.00381120272,0) (0.03499174491,0) (0.02310179904,0) (0.06236724561,0) (0,0) (0.001009633108,0) (0.0298739139,0) (0.0119849688,0) (0.002478434544,0) (0,0) (1.099057939e-05,0) (0.0003399323208,0) (0.000145642374,0) (0.00607617128,0) (-5.421010862e-20,0) (2.892328027e-07,0) (0.001438457613,0) (0.0006405979474,0) (0.0003449598824,0) (-1.355252716e-20,0) (4.286455912e-05,0) (9.37661877e-06,0) (2.331100428e-05,0) (0.0009596164022,0) (-3.388131789e-21,0) (5.739308119e-06,0) (7.551310522e-06,0) (1.320365452e-05,0) (0.0001350056191,0) (-1.694065895e-21,0) (4.544913819e-06,0) (2.850249043e-05,0) (6.63333715e-06,0) (0.0001130091179,0) (0,0) (1.524088828e-06,0) (7.334038823e-06,0) (2.344902083e-05,0) (8.380257917e-05,0) (1.053196334e-08,0) (2.117582368e-22,0) (2.631799423e-08,0) (5.681500867e-07,0) (9.841263226e-06,0) (0,0) (4.420829531e-07,0) (1.736699721e-06,0) (1.043708995e-06,0) (1.023766845e-05,0) (-4.235164736e-22,0) (6.41372051e-07,0) (3.151162781e-06,0) (3.071688387e-06,0) (5.020121102e-06,0) (3.257591355e-07,0) (-1.058791184e-22,0) (1.259765493e-06,0) (8.095219997e-06,0) (2.749685552e-07,0) (5.29395592e-23,0) (2.494036453e-07,0) (9.133146635e-07,0) (8.753312292e-07,0) (1.469478759e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (0,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.33680869e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (5.717472394e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.270549421e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.651714247e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (-1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.911675756e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-4.63221143e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-9.264422861e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (-8.67361738e-19,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (-1.084202172e-19,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-2.710505431e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-2.541098842e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (4.235164736e-22,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (0,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (-2.117582368e-22,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (6.938893904e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-8.67361738e-19,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-3.388131789e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (8.470329473e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (-1.694065895e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (4.235164736e-22,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (6.352747104e-22,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (-4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-4.235164736e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-2.117582368e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,-0.0005263748085) (0.04090131005,-0.07084314711) (-0.00883687416,0.01530591502) (0.01252654015,-0.02169660398) (-0.000346879798,0.0006008134342) (-5.135379222e-06,8.894737729e-06) (0.001183168129,-0.002049307314) (-0.00268255013,0.004646313118) (5.808926845e-07,-1.006135643e-06) (0.001574284488,-0.002726740719) (-0.004459427703,0.007723955355) (1.129113895e-06,-1.955682633e-06) (0.0001341706355,-0.0002323903576) (0.0003683995724,-0.0006380867769) (-1.952858243e-07,3.382449696e-07) (-4.227609596e-05,7.322434614e-05) (9.017141291e-05,-0.0001561814685) (-1.85615821e-08,3.214960327e-08) (3.392569073e-05,-5.876102003e-05) (0.0002193194444,-0.0003798724208) (-9.853361838e-08,1.706652333e-07) (0.0001346486464,-0.0002332182967) (-0.0003281340941,0.0005683449226) (7.513718213e-08,-1.30141417e-07) (2.344440262e-05,-4.060689649e-05) (4.508202613e-05,-7.808435976e-05) (-2.665283983e-08,4.616407275e-08) (3.529806653e-05,-6.113804464e-05) (-8.179885248e-05,0.0001416797685) (1.80411161e-08,-3.12481297e-08) (3.253944728e-05,-5.635997594e-05) (1.08655697e-05,-1.881971877e-05) (-1.708094113e-08,2.958505788e-08) (1.043761257e-05,-1.807847528e-05) (-3.251583845e-05,5.631908425e-05) (8.68155776e-09,-1.503689913e-08) (1.137503137e-05,-1.970213227e-05) (5.505628404e-07,-9.536028123e-07) (-4.783889003e-09,8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,-0.03639567249) (-0.01883018317,0.03261483397) (0.0001264463693,-0.0002190115361) (6.834581865e-05,-0.0001183784304) (-9.063998106e-05,0.0001569930524) (-0.0002675942571,0.0004634868491) (9.461888584e-05,-0.0001638847176) (6.093280015e-05,-0.0001055387057) (-5.903420635e-05,0.0001022502448) (-2.685320506e-05,4.65111155e-05) (8.271937295e-06,-1.432741567e-05) (-3.536237701e-06,6.124943366e-06) (-1.181918528e-05,2.04714294e-05) (0.01305259065,-0.02260775017) (-1.972421406e-05,3.41633409e-05) (-3.139793852e-05,5.438282477e-05) (-0.001208003877,0.002092324091) (1.712798772e-06,-2.966654497e-06) (-0.01682721675,0.02914559437) (-2.585942318e-05,4.47898348e-05) (9.67925942e-09,-1.67649691e-08) (0.0005877851435,-0.001018073733) (1.150133528e-06,-1.992089707e-06) (-3.493905947e-10,6.051622618e-10) (6.952941289e-06,-1.204284757e-05) (8.190971413e-08,-1.418717865e-07) (1.32217184e-05,-2.290068804e-05) (-0.0004639768554,0.0008036314871) (-6.629958665e-10,1.148342526e-09) (1.637002792e-05,-2.835372008e-05) (-0.0002004334016,0.0003471608352) (9.621648202e-11,-1.666518354e-10) (-1.475131992e-05,2.555003558e-05) (0.0002859360877,-0.0004952558317) (1.363844101e-07,-2.362247277e-07) (8.972964103e-10,-1.554162972e-09) (-1.642133626e-05,2.844258873e-05) (6.808895039e-11,-1.179335215e-10) (8.86002333e-06,-1.534601056e-05) (-0.0001070329349,0.0001853864814) (1.530817236e-11,-2.651453229e-11) (1.09037461e-06,-1.888584223e-06) (-4.296340024e-06,7.441479207e-06) (2.752512015e-10,-4.767490659e-10) (-7.394344286e-07,1.280737999e-06) (1.652763697e-05,-2.862670696e-05) (7.276235858e-11,-1.260281019e-10) (3.451371935e-06,-5.977951547e-06) (-1.976500436e-05,3.423399176e-05) (3.583427253e-11,-6.206678068e-11) (3.65150322e-06,-6.3245891e-06) (-1.973991048e-05,3.419052789e-05) (4.33680869e-19,1.301042607e-18) (-0.0008395542634,0.00145415064) (0.02522679048,-0.04369408282) (-3.126224837e-05,5.414780254e-05) (-0.01100183246,0.01905573281) (-1.084202172e-19,-3.252606517e-19) (6.005470316e-05,-0.0001040177971) (-0.003199103504,0.005541009808) (9.138118664e-07,-1.582768581e-06) (-0.002344817337,0.004061342763) (4.404571326e-20,-5.421010862e-20) (5.727926757e-07,-9.921060165e-07) (-1.287812239e-05,2.230556228e-05) (8.725406379e-09,-1.511284716e-08) (-0.000335289152,0.0005807378464) (-6.352747104e-22,8.470329473e-22) (1.81243952e-09,-3.139237334e-09) (-1.242058352e-05,2.151308171e-05) (3.802120767e-09,-6.585466345e-09) (2.538152278e-06,-4.396208702e-06) (1.694065895e-20,-2.710505431e-20) (9.202421743e-08,-1.593906201e-07) (-2.195446888e-10,3.802625555e-10) (-5.129786172e-06,8.885050281e-06) (-0.0002810210377,0.0004867427153) (2.964615315e-21,8.470329473e-22) (3.473961335e-07,-6.017077536e-07) (-1.186831509e-09,2.055652473e-09) (-7.965351864e-05,0.0001379639413) (0.0001256283905,-0.0002175947552) (-1.482307658e-21,-1.694065895e-21) (-9.779151322e-07,1.693798695e-06) (5.110513569e-09,-8.851669155e-09) (3.289864391e-06,-5.698212276e-06) (0.0001171394555,-0.0002028914885) (8.893845946e-21,1.270549421e-21) (-3.844266251e-07,6.658464465e-07) (2.55914016e-09,-4.432560781e-09) (2.632175311e-05,-4.559061372e-05) (-6.372623528e-05,0.0001103770773) (-3.494010907e-21,-1.058791184e-21) (-3.632365662e-09,6.291441879e-09) (1.155167341e-11,-2.000808526e-11) (6.979756536e-06,-1.208929295e-05) (-3.434954941e-05,5.94951648e-05) (6.6174449e-22,4.764560328e-22) (-4.430089943e-08,7.673140864e-08) (9.242620673e-11,-1.60086886e-10) (-7.708935966e-06,1.335226877e-05) (2.033211796e-05,-3.521626133e-05) (2.64697796e-23,0) (2.732028175e-11,-4.732011607e-11) (-2.030819374e-07,3.517482337e-07) (4.158427398e-10,-7.202607533e-10) (5.390575629e-06,-9.336750872e-06) (-4.235164736e-22,-2.117582368e-22) (-3.944424504e-08,6.831943648e-08) (1.737627841e-10,-3.009659705e-10) (1.261265833e-05,-2.184576504e-05) (-1.944658249e-05,3.36824689e-05) (6.6174449e-22,-1.535247217e-21) (-1.766566272e-08,3.059782538e-08) (8.522954168e-11,-1.476218965e-10) (2.700280003e-06,-4.67702216e-06) (-4.74143023e-06,8.212398059e-06) -(0.01677258801,-0.02905097462) (0.02573064519,-0.04456678478) (0.001794210947,-0.00310766452) (-0.003074644141,0.005325439867) (-0.0009164076666,0.001587264639) (0.0004100621676,-0.0007102485086) (0.0001761695175,-0.000305134555) (-2.713117662e-05,4.699257638e-05) (-6.232953669e-05,0.0001079579244) (7.706117781e-06,-1.334738753e-05) (6.57026234e-06,-1.138002819e-05) (2.192435553e-06,-3.797409769e-06) (-3.737819008e-06,6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.252606517e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.029992064e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.778769189e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (1.016439537e-20,0) (3.933175975e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780887e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (6.088049308e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.713152409e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.80884512e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.514629062e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-7.754818243e-26,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (7.610061635e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (4.63221143e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-8.67361738e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (0,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (0,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (-2.64697796e-23,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (-8.470329473e-22,0) (-4.040786576e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (5.29395592e-23,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (0,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (2.168404345e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (8.67361738e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-1.355252716e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (1.355252716e-20,0) (-1.267303586e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-2.117582368e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.117582368e-22,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (-4.235164736e-21,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (5.29395592e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-4.367513634e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (-1.32348898e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-2.168404345e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (0,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (0,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (0,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-8.470329473e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (0,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (2.439454888e-19,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.607859233e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (6.035109749e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.482307658e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.672890071e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.382280164e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-3.97046694e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-6.6174449e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (0,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (0,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-5.421010862e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-5.082197684e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (0,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (-1.058791184e-22,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (0,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.08286250691,0) (0.02431037598,0) (0.06871438145,0) (0.04930718395,0) (0.09326492082,0) (0.1255216072,0) (0.1061377676,0) (0.01064733091,0) (0.1028501942,0) (0.06073138578,0) (0.01278119823,0) (0.06474155448,0) (0.02720911517,0) (0.01856972471,0) (0.04031468813,0) (0.02489475137,0) (0.001098999625,0) (0.02289168401,0) (0.01002216348,0) (0.005704391145,0) (0.01384947954,0) (0.007451325099,0) (0.001045456362,0) (0.007482962107,0) (0.00281298841,0) (0.002121681757,0) (0.004345654447,0) (0.002153156807,0) (0.0002431658316,0) (0.002110392238,0) (0.000552027313,0) (0.0007100396512,0) (0.001111378275,0) (0.0003829383684,0) (9.474450534e-05,0) (0.0004206906223,0) (8.459498418e-05,0) (0.0001437766924,0) (0.0002010868071,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01151542489,0) (0.03956862145,0) (4.182927054e-05,0) (0.004982979502,0) (0.0004926958775,0) (0.0008913388619,0) (9.301808191e-05,0) (5.432701179e-05,0) (7.953235012e-05,0) (2.488416119e-05,0) (2.895547407e-06,0) (5.624045764e-07,0) (7.288058967e-06,0) (0.01044095573,0) (0.03297631033,0) (0.0001606173415,0) (0.001446472844,0) (0.003652617632,0) (0.05815477759,0) (0.0001173327325,0) (0.0002910130741,0) (0.01321743319,0) (8.960512001e-05,0) (0.000370321967,0) (0.002702735249,0) (2.612306591e-05,0) (7.450636785e-06,0) (0.004441884828,0) (8.839061027e-06,0) (2.57761275e-05,0) (0.0002373242255,0) (2.671175919e-06,0) (1.079249771e-05,0) (0.0006061888617,0) (4.643013261e-07,0) (1.085909936e-05,0) (1.26714713e-05,0) (1.598089418e-06,0) (2.20050347e-07,0) (0.0002471462147,0) (5.375848748e-07,0) (1.919689554e-09,0) (8.5178208e-07,0) (1.732231442e-06,0) (4.45895687e-06,0) (2.579457553e-06,0) (1.552409348e-06,0) (1.30742986e-06,0) (1.287012362e-05,0) (8.842413405e-07,0) (1.047868629e-06,0) (1.304197819e-05,0) (-6.505213035e-19,0) (0.0009533201785,0) (0.01896428393,0) (0.06121497228,0) (0.0125521507,0) (-3.252606517e-19,0) (4.931195373e-06,0) (0.004185764753,0) (0.017738704,0) (0.02547954574,0) (-1.219727444e-18,0) (3.110674544e-07,0) (1.42753078e-05,0) (4.111206382e-05,0) (0.02715447401,0) (1.355252716e-20,0) (6.693630906e-11,0) (0.0004446572613,0) (0.001141388293,0) (5.175547801e-05,0) (-2.710505431e-20,0) (2.896624921e-07,0) (5.66493273e-06,0) (2.653219922e-06,0) (0.005319222649,0) (4.446922973e-21,0) (1.23469439e-06,0) (2.140210977e-05,0) (1.142126714e-05,0) (0.0001911500099,0) (4.235164736e-21,0) (9.22882494e-07,0) (3.405631521e-05,0) (2.500444833e-05,0) (0.000468632467,0) (-1.270549421e-20,0) (8.923175134e-07,0) (2.033674126e-05,0) (1.365401367e-06,0) (0.0002679810755,0) (-3.388131789e-21,0) (3.61685241e-08,0) (5.311357506e-07,0) (1.40319171e-07,0) (0.0001405914279,0) (7.676236084e-22,0) (5.585209319e-08,0) (1.999539627e-06,0) (1.227245632e-05,0) (6.248313256e-06,0) (2.64697796e-23,0) (1.724997877e-09,0) (3.122744061e-07,0) (5.411018301e-06,0) (1.415448965e-06,0) (8.999725065e-22,0) (1.989853278e-07,0) (2.994061638e-06,0) (2.564169571e-06,0) (2.415994883e-05,0) (-5.29395592e-23,0) (1.319703087e-07,0) (1.777963699e-06,0) (3.027655855e-06,0) (3.402615008e-06,0) -(0.00553605759,0) (0.02095803515,0) (0.0002373942959,0) (0.002334268809,0) (0.0004882546943,0) (0.0003271762106,0) (0.0001012808553,0) (8.213104159e-06,0) (5.610093811e-05,0) (3.477139478e-06,0) (2.582533942e-06,0) (1.715517459e-06,0) (3.531841012e-06,0) (0.03483145319,0) (0.02253296123,0) (0.003063275652,0) (0.003468356907,0) (0.004882815777,0) (0.02756244955,0) (0.0001539254955,0) (0.0001835979054,0) (0.008857709221,0) (0.0002891550959,0) (0.0004506771526,0) (0.0007129915528,0) (8.993340896e-06,0) (4.250060433e-06,0) (0.002625833686,0) (1.60314874e-05,0) (1.152525194e-05,0) (3.496369595e-06,0) (6.261644115e-06,0) (1.658833738e-05,0) (0.0003176578563,0) (1.01594509e-05,0) (1.337741548e-06,0) (5.129237847e-05,0) (6.572109132e-07,0) (2.20383207e-07,0) (0.0001039161773,0) (6.150600883e-07,0) (2.836013573e-06,0) (9.454592508e-07,0) (2.430401289e-06,0) (2.015296627e-06,0) (9.633593424e-08,0) (1.307998808e-06,0) (7.127991709e-07,0) (1.179406541e-05,0) (7.39491486e-07,0) (3.820896297e-07,0) (4.342680978e-06,0) (0,0) (0.002099748074,0) (0.06156955733,0) (7.114789054e-05,0) (0.05029811769,0) (0,0) (0.0005299594019,0) (0.01318363225,0) (0.02107802791,0) (0.01106375401,0) (2.168404345e-19,0) (7.058923414e-06,0) (0.0001891960434,0) (0.0002561189377,0) (0.01475511786,0) (0,0) (1.711878633e-07,0) (0.0009584736151,0) (0.001126274353,0) (0.0003682274248,0) (-2.710505431e-20,0) (2.7652106e-05,0) (8.673773527e-06,0) (4.097130545e-05,0) (0.002315825677,0) (0,0) (3.702756937e-06,0) (1.329608283e-05,0) (5.70924401e-06,0) (0.0003295600291,0) (2.541098842e-21,0) (2.946557407e-06,0) (5.015820037e-05,0) (0.0001264260713,0) (3.861267461e-05,0) (-6.776263578e-21,0) (9.875766575e-07,0) (1.29029779e-05,0) (2.779852115e-06,0) (0.0002263576027,0) (6.573952743e-09,0) (-4.235164736e-22,0) (4.630728464e-08,0) (4.275873786e-07,0) (2.47925857e-05,0) (3.705769144e-22,0) (2.784547616e-07,0) (3.05584326e-06,0) (1.806598778e-05,0) (2.003963724e-06,0) (4.235164736e-22,0) (4.120885495e-07,0) (1.368540015e-06,0) (5.405814955e-06,0) (5.188382974e-06,0) (2.103438461e-07,0) (-8.470329473e-22,0) (2.21632634e-06,0) (2.994934864e-06,0) (1.202228621e-05,0) (-1.058791184e-22,0) (1.473351266e-07,0) (1.60672927e-06,0) (3.824359347e-07,0) (1.483102828e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566194e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (0,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-1.694065895e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (-6.776263578e-21,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (5.082197684e-21,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (0,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (-8.470329473e-22,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (0,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-1.270549421e-21,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (4.235164736e-22,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-8.470329473e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,0.0006977515524) (-0.04299386424,0.07446755728) (-0.007090582965,0.01228124995) (-0.01874283661,0.03246354529) (-0.0002534798879,0.0004390400445) (6.808460863e-06,-1.179260014e-05) (0.001218491756,-0.00211048963) (0.001120069607,-0.001940017466) (-7.702992143e-07,1.334197376e-06) (0.001420036301,-0.002459575022) (0.003079871323,-0.005334493612) (-1.497289225e-06,2.593381012e-06) (-0.0009844018759,0.001705034064) (0.0002005515599,-0.0003473654913) (2.589526051e-07,-4.485190688e-07) (-9.179394658e-05,0.0001589917793) (1.709241288e-05,-2.960492753e-05) (2.461341544e-08,-4.263168609e-08) (-0.0005075475471,0.0008790981388) (0.0001125653912,-0.0001949689767) (1.306577615e-07,-2.263058812e-07) (0.0001311012957,-0.0002270741051) (0.0001706747231,-0.0002956172919) (-9.963682546e-08,1.72576044e-07) (-0.0001322101708,0.0002289947331) (2.533065632e-05,-4.387398374e-05) (3.534207956e-08,-6.121427745e-08) (3.566399888e-05,-6.177185807e-05) (3.686250359e-05,-6.384772911e-05) (-2.392364366e-08,4.143696631e-08) (-7.485395282e-05,0.0001296508494) (7.155927413e-06,-1.239442985e-05) (2.264899878e-08,-3.922921662e-08) (9.107253788e-06,-1.577422628e-05) (2.532776104e-05,-4.386896896e-05) (-1.151244726e-08,1.994014357e-08) (-1.899134758e-05,3.289397892e-05) (3.912341003e-07,-6.776373393e-07) (6.342969012e-09,-1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,-0.02863872232) (-0.01481693702,0.02566368773) (9.949706138e-05,-0.0001723339655) (5.377938606e-05,-9.314862906e-05) (-7.132203009e-05,0.0001235333798) (-0.0002105623306,0.0003647046547) (7.44529174e-05,-0.0001289562357) (4.794629208e-05,-8.304541391e-05) (-4.645234247e-05,8.045781728e-05) (-2.113002537e-05,3.65982775e-05) (6.508952823e-06,-1.127383699e-05) (-2.782565142e-06,4.819544201e-06) (-9.300181641e-06,1.610838712e-05) (-0.01463285707,0.0253448519) (2.616874833e-05,-4.532560167e-05) (-0.002336540875,0.00404700751) (0.001812179585,-0.003138787114) (-2.272899548e-06,3.936777498e-06) (-0.01319038986,0.02284642541) (3.996000794e-05,-6.921276402e-05) (-1.284453257e-08,2.224738301e-08) (0.0004618297644,-0.0007999126164) (-9.553607913e-07,1.65473343e-06) (4.636983056e-10,-8.031490246e-10) (5.524098285e-06,-9.568018896e-06) (-1.086310209e-07,1.881544475e-07) (-1.339854236e-05,2.320695611e-05) (-0.000365141319,0.0006324433165) (8.800808196e-10,-1.524344694e-09) (2.84893946e-05,-4.934507893e-05) (-0.0001517399338,0.0002628212748) (-1.277053227e-10,2.211921074e-10) (-2.208009141e-05,3.824384015e-05) (0.0002236392519,-0.0003873545469) (2.407892199e-08,-4.170591628e-08) (-1.190479427e-09,2.061970853e-09) (-3.154137007e-05,5.46312555e-05) (-9.036164812e-11,1.565109656e-10) (1.950696771e-06,-3.378705918e-06) (-8.471154588e-05,0.0001467247015) (-2.03076594e-11,3.517389786e-11) (5.730243228e-08,-9.925072411e-08) (-5.392190249e-06,9.339547476e-06) (-3.658433149e-10,6.336592089e-10) (-1.116528349e-06,1.933883829e-06) (8.868127353e-06,-1.536004714e-05) (-9.65577339e-11,1.67242901e-10) (1.416117621e-06,-2.452787669e-06) (-1.848146722e-05,3.201084023e-05) (-4.754985346e-11,8.235876209e-11) (1.592600314e-06,-2.75846466e-06) (-1.728333755e-05,2.993561877e-05) (-4.33680869e-19,-2.602085214e-18) (0.001421288335,-0.002461743608) (-0.02866009467,0.04964074012) (4.147852654e-05,-7.184291538e-05) (-0.008490374326,0.01470575971) (0,-2.710505431e-20) (-3.488083878e-05,6.041538497e-05) (0.002604149643,-0.004510519493) (-1.212696121e-06,2.100451296e-06) (-0.001949014841,0.003375792729) (2.879912021e-20,-1.863472484e-20) (-6.84819863e-07,1.186142797e-06) (1.665488592e-05,-2.88471086e-05) (-1.158052873e-08,2.005806414e-08) (-0.0002638178336,0.0004569458917) (0,2.117582368e-22) (-3.213881516e-09,5.566606076e-09) (1.951032757e-05,-3.379287863e-05) (-5.044923245e-09,8.738063381e-09) (1.02387175e-06,-1.773397892e-06) (1.6093626e-20,1.863472484e-20) (-1.126062466e-07,1.950397403e-07) (2.913830078e-10,-5.046901739e-10) (1.392033993e-05,-2.411073601e-05) (-0.0002210927651,0.0003829439024) (-4.235164736e-22,-2.541098842e-21) (-6.274119749e-07,1.086709418e-06) (1.575244907e-09,-2.728404213e-09) (-2.951896633e-05,5.112834946e-05) (0.0001121274987,-0.0001942105247) (-3.811648263e-21,5.082197684e-21) (9.099122566e-07,-1.576014259e-06) (-6.783673963e-09,1.174966797e-08) (-4.63062193e-05,8.020472453e-05) (9.03034606e-05,-0.0001564101819) (2.752857079e-21,-2.329340605e-21) (6.916940092e-07,-1.198049167e-06) (-3.396487491e-09,5.882888901e-09) (-8.287775515e-06,1.435484827e-05) (-5.108477623e-05,8.848142792e-05) (-2.223461487e-21,2.329340605e-21) (5.895674323e-09,-1.021160747e-08) (-1.532991602e-11,2.655219342e-11) (2.033345566e-06,-3.521857829e-06) (-2.71197858e-05,4.697284689e-05) (6.352747104e-22,-1.270549421e-21) (2.929347052e-08,-5.073777927e-08) (-1.226739939e-10,2.124775902e-10) (-8.152622709e-06,1.412075675e-05) (1.185719849e-05,-2.053727021e-05) (-5.29395592e-23,1.058791184e-22) (2.366362762e-11,-4.098660533e-11) (2.030510961e-07,-3.51694815e-07) (-5.516550356e-10,9.554945499e-10) (-6.289741996e-06,1.08941527e-05) (-1.588186776e-22,-2.117582368e-22) (8.545604851e-08,-1.480142178e-07) (-2.306127229e-10,3.994329529e-10) (5.359197563e-06,-9.282402468e-06) (-1.792223291e-05,3.104221799e-05) (1.588186776e-22,-4.235164736e-22) (4.463913472e-08,-7.731724935e-08) (-1.130973968e-10,1.958904374e-10) (1.567605963e-06,-2.715173175e-06) (-8.255361831e-06,1.429870613e-05) -(-0.02616144742,0.04531295613) (-0.04013399248,0.06951411408) (-0.002798563663,0.004847254452) (0.004795750123,-0.008306482873) (0.001429388891,-0.002475774183) (-0.0006396043251,0.001107827188) (-0.0002747846405,0.0004759409585) (4.231850505e-05,-7.329780085e-05) (9.721999344e-05,-0.0001683899681) (-1.201980249e-05,2.08189086e-05) (-1.024812465e-05,1.775027258e-05) (-3.419704066e-06,5.923101189e-06) (5.830153065e-06,-1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424695399e-12,0) (-0.008719428334,0) (0.06301289739,0) (-4.33680869e-19,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138141033e-13,0) (-6.644558929e-05,0) (8.470329473e-22,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (-8.470329473e-22,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640454e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182211e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (1.058791184e-22,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (0,0) (-3.139926191e-09,0) (-5.790193243e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (8.470329473e-22,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556846e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808164e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-4.235164736e-22,0) (-2.091688994e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.21468247e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-7.589415207e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (2.710505431e-20,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (4.065758147e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (-6.776263578e-21,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (0,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (1.694065895e-21,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (8.470329473e-22,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (4.235164736e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (0,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (1.734723476e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-1.084202172e-18,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-1.694065895e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (6.776263578e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (3.388131789e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (0,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (1.058791184e-21,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-2.117582368e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-6.352747104e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566195e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (-6.776263578e-21,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-3.388131789e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (0,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (0,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (-3.388131789e-21,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (0,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (4.235164736e-22,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-8.470329473e-22,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (1.270549421e-21,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-4.235164736e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0.2370734683,0) (0.0006670533688,0) (0.004066218674,0) (0.0006820777545,0) (0.0005956356081,0) (8.044155541e-06,0) (9.655870575e-06,0) (6.831873609e-05,0) (4.382157398e-05,0) (1.591626787e-05,0) (1.652759785e-05,0) (1.94939596e-05,0) (1.491606603e-05,0) (3.877437899e-09,0) (0.000104543173,0) (0.3087228188,0) (0.0001062601308,0) (0.02189791074,0) (1.451237323e-09,0) (0.00101721631,0) (6.767884142e-05,0) (3.270019455e-11,0) (0.002703808895,0) (4.554381508e-05,0) (7.902103776e-11,0) (3.058225334e-05,0) (0.0002763177339,0) (1.071720204e-11,0) (1.677877475e-07,0) (1.554212663e-07,0) (1.046209416e-14,0) (9.935797639e-06,0) (6.792423503e-05,0) (2.685856042e-12,0) (0.0001254778854,0) (5.197168565e-06,0) (3.878416987e-12,0) (3.452071693e-06,0) (3.698293816e-05,0) (1.425830819e-12,0) (2.421919495e-05,0) (1.387963126e-06,0) (7.687789817e-13,0) (1.030262135e-06,0) (3.786694817e-05,0) (1.535265483e-12,0) (3.118113231e-05,0) (2.989431376e-07,0) (8.846582533e-13,0) (1.823523549e-07,0) (2.000685348e-05,0) (1.00557303e-12,0) (3.415236843e-18,0) (-4.33680869e-19,0) (0,0) (0.03787629397,0) (0.1290043371,0) (9.757819552e-19,0) (1.626303259e-19,0) (1.734723476e-18,0) (0.01166407464,0) (0.02777002614,0) (0,0) (-1.905824131e-21,0) (-6.776263578e-21,0) (0.0001520492622,0) (9.479976155e-05,0) (3.726944968e-20,0) (-1.016439537e-20,0) (0,0) (0.0005765989928,0) (0.002012299337,0) (3.30872245e-24,0) (-2.067951531e-24,0) (4.135903063e-25,0) (2.968303438e-07,0) (9.832055907e-08,0) (-1.058791184e-22,0) (3.97046694e-23,0) (-1.389663429e-22,0) (3.860134312e-07,0) (9.979758691e-06,0) (-1.694065895e-21,0) (4.235164736e-22,0) (-2.01170325e-21,0) (3.578750522e-05,0) (7.498366886e-05,0) (-2.488159283e-21,0) (5.29395592e-23,0) (8.470329473e-22,0) (1.02162398e-05,0) (6.854234909e-05,0) (-1.058791184e-22,0) (-9.264422861e-23,0) (0,0) (9.779609685e-07,0) (8.699365442e-06,0) (-2.117582368e-22,0) (-5.29395592e-23,0) (-1.32348898e-23,0) (4.056902711e-06,0) (8.419618364e-06,0) (0,0) (1.98523347e-23,0) (-1.032321404e-21,0) (5.202177913e-06,0) (1.997650936e-05,0) (5.29395592e-23,0) (-3.176373552e-22,0) (4.764560328e-22,0) (2.701400034e-06,0) (1.519803296e-05,0) (2.117582368e-22,0) (-3.30872245e-23,0) (4.566036981e-22,0) (2.43172997e-06,0) (8.192639034e-06,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (1.073506527e-10,0) (0.04541795873,0) (0.1725741146,0) (0.01007922853,0) (4.289735641e-10,0) (0.01096928929,0) (5.737094057e-05,0) (1.333779821e-12,0) (6.161287463e-05,0) (4.444852922e-08,0) (1.969247442e-15,0) (4.145795013e-08,0) (1.730393003e-13,0) (0.0001003702013,0) (0.0001160749593,0) (5.79959204e-05,0) (1.968726167e-12,0) (0.000456033966,0) (4.122042944e-13,0) (0.0001878179395,0) (0.0003229003659,0) (1.646882568e-13,0) (1.410595769e-05,0) (0.0002999456081,0) (5.102445159e-14,0) (6.696096688e-05,0) (0.0001183515028,0) (8.984760364e-14,0) (5.83628165e-07,0) (0.0001427988773,0) (2.344464954e-06,0) (1.402501907e-15,0) (0.0001207276869,0) (4.655188215e-14,0) (6.221369806e-06,0) (0.0001060713667,0) (3.292207679e-14,0) (1.583941041e-06,0) (9.971418463e-05,0) (-4.33680869e-18,0) (0.009429544937,0) (1.5840107e-13,0) (0.0005109923468,0) (0.194759507,0) (2.710505431e-19,0) (0.002555581156,0) (0.005067391794,0) (1.942355678e-10,0) (0.0004409201741,0) (-3.388131789e-21,0) (2.942625463e-05,0) (5.654394068e-05,0) (2.071868796e-12,0) (8.037295849e-06,0) (-1.058791184e-22,0) (7.348914505e-07,0) (3.230829218e-06,0) (6.964797294e-14,0) (1.567816421e-07,0) (-1.355252716e-20,0) (0.000113937913,0) (0.0001851425888,0) (2.781457311e-11,0) (2.999024015e-05,0) (-6.776263578e-21,0) (1.52722285e-05,0) (1.871511688e-11,0) (0.0005040683449,0) (5.02024039e-05,0) (-1.016439537e-20,0) (1.211469523e-05,0) (6.023879719e-13,0) (0.0001599166819,0) (0.0002441829949,0) (-1.355252716e-20,0) (4.063106018e-06,0) (2.623064153e-13,0) (0.000205223284,0) (3.30332097e-05,0) (2.733646717e-08,0) (8.470329473e-22,0) (4.552654708e-15,0) (0.000111644296,0) (2.711731612e-05,0) (-6.776263578e-21,0) (1.172473665e-06,0) (1.533275629e-13,0) (1.278860789e-05,0) (9.776751272e-05,0) (2.541098842e-21,0) (1.709717327e-06,0) (1.530464362e-07,0) (1.424655546e-13,0) (0.0001104626914,0) (8.6197615e-07,0) (-2.964615315e-21,0) (6.739760524e-14,0) (2.211632354e-05,0) (7.515207224e-05,0) (4.65868121e-21,0) (6.315078598e-07,0) (3.652790367e-14,0) (1.2355385e-07,0) (8.266795114e-05,0) -(-0.12111549,0.2097781823) (-0.0005607657229,0.0009712747232) (-0.002000518664,0.003464999967) (-0.0004075616168,0.0007059174275) (-0.0002729746153,0.0004728059028) (-1.278868443e-06,2.21506512e-06) (-6.037625137e-06,1.045747349e-05) (-3.526857492e-05,6.108696368e-05) (-1.932297171e-05,3.346836876e-05) (-7.415213061e-06,1.284352577e-05) (-8.572210917e-06,1.484750484e-05) (-9.354879707e-06,1.620312695e-05) (-6.899174245e-06,1.194972032e-05) (-8.714321431e-08,1.509364747e-07) (-0.002819411596,0.004883364132) (0.01502942923,-0.02603173503) (0.0008700924344,-0.001507044304) (0.0001228246921,-0.0002127386071) (7.320806355e-10,-1.268000856e-09) (0.0001192873191,-0.0002066116974) (-8.929992509e-05,0.0001546720074) (1.373510759e-11,-2.378990418e-11) (0.000299626932,-0.0005189690695) (-0.0001838490925,0.0003184359691) (5.231009427e-11,-9.060374109e-11) (3.300273741e-05,-5.716241798e-05) (-2.446401255e-05,4.237291269e-05) (4.22210803e-12,-7.312905618e-12) (2.383089031e-07,-4.12763128e-07) (-2.03263699e-07,3.52063054e-07) (1.663957861e-14,-2.882059558e-14) (1.598075748e-05,-2.767948389e-05) (-1.228323086e-05,2.127517993e-05) (1.819532646e-12,-3.151522988e-12) (1.701272271e-05,-2.946690011e-05) (-1.203371311e-05,2.08430025e-05) (2.268351532e-12,-3.928900099e-12) (4.63149072e-06,-8.021977241e-06) (-3.344313848e-06,5.792521501e-06) (6.401746961e-13,-1.1088151e-12) (3.782440103e-06,-6.551378435e-06) (-2.784982798e-06,4.823731704e-06) (4.566111217e-13,-7.908736608e-13) (3.233764025e-06,-5.601043591e-06) (-1.652550646e-06,2.862301681e-06) (8.418017027e-13,-1.458043318e-12) (2.598776547e-06,-4.501213017e-06) (-1.422702445e-06,2.464192919e-06) (5.279271586e-13,-9.143966619e-13) (8.817371997e-07,-1.527213629e-06) (-1.45942524e-07,2.527798665e-07) (4.485466413e-13,-7.769055725e-13) (2.710505431e-18,-1.95156391e-18) (-8.67361738e-19,0) (0,0) (-0.02060375576,0.0356867518) (0.06045012766,-0.1047026924) (0,0) (2.168404345e-19,0) (2.168404345e-19,-8.67361738e-19) (-0.005297526462,0.009175584986) (0.01558567133,-0.02699517461) (3.388131789e-21,-6.776263578e-21) (6.776263578e-21,0) (-2.541098842e-21,1.694065895e-21) (-2.702014961e-05,4.680027195e-05) (0.0001359807469,-0.0002355255625) (2.710505431e-20,-2.710505431e-20) (6.776263578e-21,-1.355252716e-20) (3.388131789e-21,0) (-0.0003173531288,0.0005496717431) (0.0009319561715,-0.001614195439) (-1.32348898e-23,-2.64697796e-23) (-1.98523347e-23,6.6174449e-23) (-6.6174449e-24,0) (1.10762366e-08,-1.918460455e-08) (-6.716194071e-07,1.163278936e-06) (0,0) (-1.32348898e-23,5.29395592e-23) (-1.32348898e-22,-1.32348898e-22) (-4.754822232e-07,8.235593687e-07) (2.065183874e-06,-3.577003397e-06) (0,0) (3.176373552e-22,-2.329340605e-21) (1.058791184e-21,-6.776263578e-21) (-1.517604603e-05,2.628568279e-05) (4.50724991e-05,-7.806785847e-05) (-1.588186776e-21,4.341043855e-21) (-2.64697796e-22,3.176373552e-22) (-4.235164736e-22,8.470329473e-22) (-7.538565652e-06,1.305717873e-05) (2.367733081e-05,-4.101033996e-05) (1.98523347e-23,-1.32348898e-23) (9.264422861e-23,1.852884572e-22) (2.64697796e-23,5.29395592e-23) (-8.103564901e-07,1.403578613e-06) (2.67611154e-06,-4.635161153e-06) (-1.588186776e-22,0) (-7.940933881e-23,5.29395592e-23) (-2.64697796e-23,5.29395592e-23) (-1.711417653e-06,2.964262327e-06) (5.087485249e-06,-8.811782933e-06) (0,-2.117582368e-22) (-3.97046694e-23,0) (-2.117582368e-22,5.29395592e-22) (-2.996110319e-06,5.189415297e-06) (8.841353425e-06,-1.531367334e-05) (-1.058791184e-22,0) (2.117582368e-22,2.117582368e-22) (-7.940933881e-23,5.823351512e-22) (-1.848699751e-06,3.202041897e-06) (5.660846895e-06,-9.804874436e-06) (0,0) (4.135903063e-23,-2.249931266e-22) (2.316105715e-23,5.29395592e-23) (-1.315863121e-06,2.279141781e-06) (3.859226647e-06,-6.68437663e-06) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1395541466,-0.2417148723) (-0.01357903408,-0.02351957694) (0.01423099906,0.02464881341) (0.004074510377,0.007057258989) (-0.001425660096,-0.00246931572) (1.975203663e-05,3.4211531e-05) (-5.71653615e-06,-9.901331055e-06) (-7.743450601e-05,-0.0001341204987) (6.633973277e-05,0.0001149037877) (-4.268839373e-05,-7.393846683e-05) (3.706007127e-05,6.418992637e-05) (-2.936722707e-05,-5.086552936e-05) (1.515866188e-05,2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,-0.102295252) (0.003122660326,0.005408606339) (0.001450134843,0.002511707226) (-1.663179087e-05,-2.88071068e-05) (-5.691193611e-05,-9.85743649e-05) (4.320980191e-06,7.484157229e-06) (-1.508217198e-05,-2.612308816e-05) (-5.052939195e-06,-8.751947413e-06) (-3.798238809e-06,-6.578742597e-06) (-1.228729791e-05,-2.128222427e-05) (-6.964894952e-06,-1.206355193e-05) (-2.032950537e-06,-3.521173619e-06) (-3.820457386e-06,-6.6172263e-06) (0.005175592884,0.008964389834) (5.304917144e-09,9.188386024e-09) (-0.09224965312,-0.1597810862) (-0.0001541485888,-0.0002669931877) (1.707308578e-10,2.957145201e-10) (0.01114537494,0.01930435567) (2.347871873e-06,4.066633374e-06) (-7.561107841e-13,-1.309622278e-12) (0.000246935527,0.000427704879) (-1.387241408e-07,-2.402772602e-07) (-6.941934625e-14,-1.202378346e-13) (-5.376045784e-06,-9.311584441e-06) (-7.712042098e-13,-1.335764866e-12) (8.292123503e-08,1.436237921e-07) (-4.795061678e-05,-8.305290452e-05) (-4.456588466e-15,-7.719037506e-15) (-4.108193539e-07,-7.115599937e-07) (3.307487654e-06,5.728736662e-06) (2.981603408e-15,5.164287035e-15) (1.947461171e-06,3.373101694e-06) (-2.748230891e-05,-4.760075535e-05) (-1.069619489e-08,-1.8526353e-08) (7.219598505e-15,1.25047114e-14) (3.005871758e-06,5.206322606e-06) (-2.336955431e-15,-4.047727356e-15) (8.74177065e-07,1.514119091e-06) (-1.502558212e-05,-2.602507165e-05) (1.117846321e-16,1.936173322e-16) (2.783083705e-06,4.820442378e-06) (-2.210803363e-05,-3.82922375e-05) (1.377538078e-13,2.385965939e-13) (4.150521297e-07,7.188913765e-07) (-5.857532454e-06,-1.014554382e-05) (-2.638813198e-15,-4.570558867e-15) (4.927792809e-07,8.535187514e-07) (-3.782800919e-06,-6.552003387e-06) (-2.398416777e-15,-4.154178646e-15) (1.233592183e-06,2.136644337e-06) (-8.538607507e-06,-1.478930203e-05) (-7.047314121e-19,1.19262239e-18) (0.0007200330219,0.001247133777) (-0.0001878309588,-0.0003253327639) (3.990106786e-09,6.911067683e-09) (-0.03195096622,-0.05534069685) (5.895349313e-19,4.065758147e-20) (-2.330564706e-05,-4.036656481e-05) (0.0007153114482,0.001238955771) (2.662361388e-10,4.611345187e-10) (0.003245375324,0.005621154951) (5.29395592e-23,-1.217609862e-21) (6.095239344e-10,1.055726423e-09) (-3.44128403e-08,-5.960478783e-08) (7.464270409e-14,1.292849562e-13) (1.059566382e-05,1.835222807e-05) (1.694065895e-21,2.541098842e-21) (-1.888476037e-09,-3.270936446e-09) (8.862191923e-06,1.534976668e-05) (-1.368859682e-12,-2.370934516e-12) (6.318959677e-06,1.094475921e-05) (-2.64697796e-22,-8.999725065e-22) (7.446402637e-11,1.28975477e-10) (-1.079534703e-15,-1.869808926e-15) (-7.090290898e-08,-1.228074408e-07) (4.706497865e-06,8.151893428e-06) (-1.058791184e-22,-1.588186776e-22) (1.33340407e-08,2.309523596e-08) (-4.125560409e-14,-7.14568029e-14) (6.800887061e-06,1.177948193e-05) (-1.445470366e-05,-2.503628115e-05) (-3.97046694e-23,3.441071348e-22) (1.436655647e-09,2.488360574e-09) (2.776996633e-14,4.809899276e-14) (3.119865907e-07,5.403766263e-07) (-1.632104712e-06,-2.826888284e-06) (-2.117582368e-22,-2.382280164e-22) (-4.064786482e-09,-7.040416709e-09) (2.25289788e-14,3.902133595e-14) (-3.398791457e-07,-5.886879487e-07) (1.948638818e-06,3.375141438e-06) (1.720535674e-22,1.244079641e-21) (2.900715708e-10,5.024186985e-10) (-8.107039159e-16,-1.40417988e-15) (1.611039988e-06,2.790403113e-06) (-1.070561973e-05,-1.854267731e-05) (-6.6174449e-23,5.161607022e-22) (6.102102725e-09,1.056915195e-08) (1.654781332e-14,2.866165417e-14) (4.947043268e-06,8.568530288e-06) (-1.021949476e-05,-1.770068415e-05) (1.654361225e-24,4.652890946e-25) (4.489881054e-12,7.776702106e-12) (-2.191745498e-09,-3.79621456e-09) (-9.634049138e-17,-1.668666272e-16) (-1.590204424e-08,-2.754314857e-08) (-6.6174449e-24,-4.63221143e-23) (3.879285887e-09,6.719120253e-09) (-8.601079543e-15,-1.489750653e-14) (1.863843086e-06,3.228270922e-06) (-3.791159118e-06,-6.566480212e-06) (-7.940933881e-23,1.720535674e-22) (8.070512659e-09,1.397853797e-08) (-9.55011458e-15,-1.654128355e-14) (1.512581421e-06,2.619867872e-06) (-4.456953971e-06,-7.719670724e-06) -(-0.1378654839,-0.2387900227) (-0.0169245535,-0.02931418655) (0.0167882116,0.02907803547) (0.002856832998,0.004948179901) (-0.001021264037,-0.001768881199) (-6.261071557e-05,-0.0001084449405) (-5.097302548e-05,-8.828786994e-05) (5.211057454e-06,9.025816272e-06) (-1.563957284e-05,-2.708853477e-05) (1.958875962e-05,3.392872691e-05) (-7.901662008e-06,-1.368608006e-05) (1.11827671e-06,1.936912078e-06) (-3.986478569e-06,-6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,-0.0005191289988) (0.09925944203,0.1719223967) (0.0005701036329,0.0009874484577) (0.03744131566,0.06485026102) (-1.08363822e-05,-1.876916455e-05) (5.12637978e-06,8.879150237e-06) (-0.0004333454456,-0.000750576329) (-0.004174757703,-0.007230892451) (-5.79928862e-07,-1.004466254e-06) (-0.0003092991382,-0.0005357218221) (-0.008557666191,-0.01482231264) (-1.127253589e-06,-1.952460489e-06) (0.001441927363,0.002497491453) (0.0001026368809,0.0001777722925) (1.949578464e-07,3.376768953e-07) (7.957927152e-05,0.0001378353415) (6.761905753e-05,0.0001171196432) (1.853059582e-08,3.209593345e-08) (0.0007081325001,0.001226521469) (7.017291895e-05,0.0001215430609) (9.836838076e-08,1.703790333e-07) (-3.926527806e-05,-6.800945657e-05) (-0.000555379596,-0.0009619456778) (-7.501276439e-08,-1.299259191e-07) (0.0001990917172,0.0003448369695) (1.15125293e-05,1.994028567e-05) (2.660804959e-08,4.608649378e-08) (-1.201453687e-05,-2.080978829e-05) (-0.0001308978504,-0.0002267217275) (-1.801120482e-08,-3.119632186e-08) (0.0001320177961,0.0002286615304) (1.379282385e-06,2.388987168e-06) (1.705203038e-08,2.953498298e-08) (-1.642038463e-06,-2.844094046e-06) (-6.621122398e-05,-0.000114681204) (-8.667301526e-09,-1.501220661e-08) (3.661879991e-05,6.342562196e-05) (3.18796139e-08,5.521711101e-08) (4.775645764e-09,8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,-0.00159926779) (0.0008274199475,0.001433133388) (-5.55619918e-06,-9.623619276e-06) (-3.00319403e-06,-5.201684645e-06) (3.982825217e-06,6.898455633e-06) (1.175840002e-05,2.036614625e-05) (-4.157662878e-06,-7.201283346e-06) (-2.677457455e-06,-4.637492347e-06) (2.594031055e-06,4.492993584e-06) (1.179960774e-06,2.043752012e-06) (-3.634784569e-07,-6.295631548e-07) (1.553863596e-07,2.691370696e-07) (5.193486208e-07,8.995381981e-07) (0.03245066753,0.05620620491) (1.973358379e-05,3.417956974e-05) (0.003074044889,0.005324401932) (-0.003612640396,-0.006257276715) (-1.712840758e-06,-2.966727218e-06) (0.0006726502744,0.001165064451) (-7.897721341e-05,-0.0001367925463) (-9.66799994e-09,-1.67454671e-08) (-2.492556751e-05,-4.317234933e-05) (2.421005667e-06,4.19330482e-06) (3.489741388e-10,6.044409389e-10) (-3.762967448e-07,-6.517650808e-07) (-8.094592238e-08,-1.402024502e-07) (3.136037117e-05,5.431775621e-05) (2.045657133e-05,3.54318209e-05) (6.618798767e-10,1.146409575e-09) (-2.146830323e-05,-3.718419194e-05) (8.675245077e-07,1.502596524e-06) (-9.606141336e-11,-1.663832486e-10) (1.456791745e-05,2.523237319e-05) (-1.076291122e-05,-1.864190907e-05) (1.04629614e-07,1.812238073e-07) (-8.956602146e-10,-1.551328998e-09) (2.547207111e-05,4.411892133e-05) (-6.797765478e-11,-1.177407519e-10) (6.283968979e-06,1.088415354e-05) (5.35510915e-06,9.275321128e-06) (-1.527935823e-11,-2.646462476e-11) (1.016270017e-06,1.760231303e-06) (2.862275528e-06,4.95760664e-06) (-2.747461897e-10,-4.758743597e-10) (7.443505779e-07,1.28925302e-06) (4.771932706e-06,8.265229897e-06) (-7.264500146e-11,-1.258248334e-10) (1.575517403e-06,2.728876191e-06) (4.761717681e-06,8.247536954e-06) (-3.577407697e-11,-6.196251891e-11) (1.541553266e-06,2.67004858e-06) (3.194233381e-06,5.532574508e-06) (0,1.734723476e-18) (-0.002729426434,-0.004727505259) (0.06324356095,0.1095410608) (3.126494954e-05,5.415248111e-05) (0.0002650767828,0.0004591264557) (5.421010862e-20,-3.252606517e-19) (0.0001065037686,0.0001844699384) (-0.006663150733,-0.01154091561) (-9.127041456e-07,-1.580849952e-06) (0.0002416297276,0.0004185149648) (-1.270549421e-21,-1.270549421e-21) (1.483669546e-06,2.569791035e-06) (-3.500462032e-05,-6.06297809e-05) (-8.719713196e-09,-1.510298628e-08) (1.471765147e-05,2.549172011e-05) (-1.270549421e-21,-2.964615315e-21) (6.08483442e-09,1.053924237e-08) (-3.835660981e-05,-6.643559699e-05) (-3.797649481e-09,-6.577721851e-09) (1.178686968e-06,2.041545716e-06) (-2.117582368e-22,-8.470329473e-22) (2.4179593e-07,4.188028358e-07) (2.191988206e-10,3.796634942e-10) (-2.364132934e-05,-4.094798358e-05) (1.230236002e-05,2.130831261e-05) (-8.470329473e-22,8.470329473e-22) (1.181594739e-06,2.046582122e-06) (1.185010832e-09,2.052498968e-09) (-4.056713351e-05,-7.026433636e-05) (-2.316881374e-05,-4.012956255e-05) (4.235164736e-22,8.470329473e-22) (-2.188570265e-06,-3.790714895e-06) (-5.101434888e-09,-8.835944417e-09) (6.486224796e-05,0.000112344709) (-2.66489559e-06,-4.61573456e-06) (-4.235164736e-22,4.235164736e-22) (-1.304105758e-06,-2.258777432e-06) (-2.554688277e-09,-4.424849894e-09) (3.739300532e-05,6.476658507e-05) (4.052238551e-06,7.018683054e-06) (1.058791184e-22,-1.058791184e-22) (-1.147182595e-08,-1.986978541e-08) (-1.153315372e-11,-1.997600821e-11) (4.290322277e-06,7.431056164e-06) (1.630475981e-06,2.824067239e-06) (0,-2.117582368e-22) (-8.329871479e-08,-1.442776062e-07) (-9.227744456e-11,-1.598292224e-10) (3.112744687e-06,5.391431949e-06) (4.610680091e-06,7.985932175e-06) (9.529120657e-22,1.270549421e-21) (-4.072151728e-12,-7.053173691e-12) (-4.732118624e-07,-8.196269885e-07) (-4.150544398e-10,-7.188953777e-10) (1.376158085e-05,2.383575722e-05) (0,1.058791184e-22) (-1.530521796e-07,-2.650941513e-07) (-1.73488401e-10,-3.004907251e-10) (5.513119534e-06,9.54900314e-06) (4.337960104e-06,7.513567301e-06) (-5.29395592e-23,-1.058791184e-22) (-7.700519144e-08,-1.33376904e-07) (-8.508942103e-11,-1.473792004e-10) (6.216831785e-07,1.076786851e-06) (6.222146986e-06,1.077707471e-05) -(0.05157424969,0.08932922082) (0.07911949656,0.1370389879) (0.005517042647,0.009555798172) (-0.009454263379,-0.01637526452) (-0.002817873889,-0.004880700745) (0.001260905509,0.002183952404) (0.0005417059474,0.0009382622237) (-8.342600894e-05,-0.0001444980862) (-0.0001916579055,-0.0003319612299) (2.369564209e-05,4.104205603e-05) (2.020298538e-05,3.499259714e-05) (6.741548682e-06,1.167670484e-05) (-1.149346843e-05,-1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,0.0005263748085) (0.04090131005,0.07084314711) (-0.00883687416,-0.01530591502) (0.01252654015,0.02169660398) (-0.000346879798,-0.0006008134342) (-5.135379222e-06,-8.894737729e-06) (0.001183168129,0.002049307314) (-0.00268255013,-0.004646313118) (5.808926845e-07,1.006135643e-06) (0.001574284488,0.002726740719) (-0.004459427703,-0.007723955355) (1.129113895e-06,1.955682633e-06) (0.0001341706355,0.0002323903576) (0.0003683995724,0.0006380867769) (-1.952858243e-07,-3.382449696e-07) (-4.227609596e-05,-7.322434614e-05) (9.017141291e-05,0.0001561814685) (-1.85615821e-08,-3.214960327e-08) (3.392569073e-05,5.876102003e-05) (0.0002193194444,0.0003798724208) (-9.853361838e-08,-1.706652333e-07) (0.0001346486464,0.0002332182967) (-0.0003281340941,-0.0005683449226) (7.513718213e-08,1.30141417e-07) (2.344440262e-05,4.060689649e-05) (4.508202613e-05,7.808435976e-05) (-2.665283983e-08,-4.616407275e-08) (3.529806653e-05,6.113804464e-05) (-8.179885248e-05,-0.0001416797685) (1.80411161e-08,3.12481297e-08) (3.253944728e-05,5.635997594e-05) (1.08655697e-05,1.881971877e-05) (-1.708094113e-08,-2.958505788e-08) (1.043761257e-05,1.807847528e-05) (-3.251583845e-05,-5.631908425e-05) (8.68155776e-09,1.503689913e-08) (1.137503137e-05,1.970213227e-05) (5.505628404e-07,9.536028123e-07) (-4.783889003e-09,-8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,0.03639567249) (-0.01883018317,-0.03261483397) (0.0001264463693,0.0002190115361) (6.834581865e-05,0.0001183784304) (-9.063998106e-05,-0.0001569930524) (-0.0002675942571,-0.0004634868491) (9.461888584e-05,0.0001638847176) (6.093280015e-05,0.0001055387057) (-5.903420635e-05,-0.0001022502448) (-2.685320506e-05,-4.65111155e-05) (8.271937295e-06,1.432741567e-05) (-3.536237701e-06,-6.124943366e-06) (-1.181918528e-05,-2.04714294e-05) (0.01305259065,0.02260775017) (-1.972421406e-05,-3.41633409e-05) (-3.139793852e-05,-5.438282477e-05) (-0.001208003877,-0.002092324091) (1.712798772e-06,2.966654497e-06) (-0.01682721675,-0.02914559437) (-2.585942318e-05,-4.47898348e-05) (9.67925942e-09,1.67649691e-08) (0.0005877851435,0.001018073733) (1.150133528e-06,1.992089707e-06) (-3.493905947e-10,-6.051622618e-10) (6.952941289e-06,1.204284757e-05) (8.190971413e-08,1.418717865e-07) (1.32217184e-05,2.290068804e-05) (-0.0004639768554,-0.0008036314871) (-6.629958665e-10,-1.148342526e-09) (1.637002792e-05,2.835372008e-05) (-0.0002004334016,-0.0003471608352) (9.621648202e-11,1.666518354e-10) (-1.475131992e-05,-2.555003558e-05) (0.0002859360877,0.0004952558317) (1.363844101e-07,2.362247277e-07) (8.972964103e-10,1.554162972e-09) (-1.642133626e-05,-2.844258873e-05) (6.808895039e-11,1.179335215e-10) (8.86002333e-06,1.534601056e-05) (-0.0001070329349,-0.0001853864814) (1.530817236e-11,2.651453229e-11) (1.09037461e-06,1.888584223e-06) (-4.296340024e-06,-7.441479207e-06) (2.752512015e-10,4.767490659e-10) (-7.394344286e-07,-1.280737999e-06) (1.652763697e-05,2.862670696e-05) (7.276235858e-11,1.260281019e-10) (3.451371935e-06,5.977951547e-06) (-1.976500436e-05,-3.423399176e-05) (3.583427253e-11,6.206678068e-11) (3.65150322e-06,6.3245891e-06) (-1.973991048e-05,-3.419052789e-05) (2.168404345e-19,0) (-0.0008395542634,-0.00145415064) (0.02522679048,0.04369408282) (-3.126224837e-05,-5.414780254e-05) (-0.01100183246,-0.01905573281) (-1.084202172e-19,3.794707604e-19) (6.005470316e-05,0.0001040177971) (-0.003199103504,-0.005541009808) (9.138118664e-07,1.582768581e-06) (-0.002344817337,-0.004061342763) (3.388131789e-20,5.759824041e-20) (5.727926757e-07,9.921060165e-07) (-1.287812239e-05,-2.230556228e-05) (8.725406379e-09,1.511284716e-08) (-0.000335289152,-0.0005807378464) (-4.235164736e-22,-4.235164736e-22) (1.81243952e-09,3.139237334e-09) (-1.242058352e-05,-2.151308171e-05) (3.802120767e-09,6.585466345e-09) (2.538152278e-06,4.396208702e-06) (2.329340605e-20,1.43995601e-20) (9.202421743e-08,1.593906201e-07) (-2.195446888e-10,-3.802625555e-10) (-5.129786172e-06,-8.885050281e-06) (-0.0002810210377,-0.0004867427153) (1.694065895e-21,1.694065895e-21) (3.473961335e-07,6.017077536e-07) (-1.186831509e-09,-2.055652473e-09) (-7.965351864e-05,-0.0001379639413) (0.0001256283905,0.0002175947552) (-4.446922973e-21,-4.235164736e-21) (-9.779151322e-07,-1.693798695e-06) (5.110513569e-09,8.851669155e-09) (3.289864391e-06,5.698212276e-06) (0.0001171394555,0.0002028914885) (7.199780052e-21,6.352747104e-21) (-3.844266251e-07,-6.658464465e-07) (2.55914016e-09,4.432560781e-09) (2.632175311e-05,4.559061372e-05) (-6.372623528e-05,-0.0001103770773) (-1.058791184e-22,4.235164736e-22) (-3.632365662e-09,-6.291441879e-09) (1.155167341e-11,2.000808525e-11) (6.979756536e-06,1.208929295e-05) (-3.434954941e-05,-5.94951648e-05) (3.97046694e-22,5.29395592e-23) (-4.430089943e-08,-7.673140864e-08) (9.242620673e-11,1.60086886e-10) (-7.708935966e-06,-1.335226877e-05) (2.033211796e-05,3.521626133e-05) (2.64697796e-23,0) (2.732028175e-11,4.732011607e-11) (-2.030819374e-07,-3.517482337e-07) (4.158427398e-10,7.202607533e-10) (5.390575629e-06,9.336750872e-06) (-5.29395592e-23,-1.588186776e-22) (-3.944424504e-08,-6.831943648e-08) (1.737627841e-10,3.009659705e-10) (1.261265833e-05,2.184576504e-05) (-1.944658249e-05,-3.36824689e-05) (3.97046694e-22,1.270549421e-21) (-1.766566272e-08,-3.059782538e-08) (8.522954168e-11,1.476218965e-10) (2.700280003e-06,4.67702216e-06) (-4.74143023e-06,-8.212398059e-06) -(0.01677258801,0.02905097462) (0.02573064519,0.04456678478) (0.001794210947,0.00310766452) (-0.003074644141,-0.005325439867) (-0.0009164076666,-0.001587264639) (0.0004100621676,0.0007102485086) (0.0001761695175,0.000305134555) (-2.713117662e-05,-4.699257638e-05) (-6.232953669e-05,-0.0001079579244) (7.706117781e-06,1.334738753e-05) (6.57026234e-06,1.138002819e-05) (2.192435553e-06,3.797409769e-06) (-3.737819008e-06,-6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,-0.0006977515524) (-0.04299386424,-0.07446755728) (-0.007090582965,-0.01228124995) (-0.01874283661,-0.03246354529) (-0.0002534798879,-0.0004390400445) (6.808460863e-06,1.179260014e-05) (0.001218491756,0.00211048963) (0.001120069607,0.001940017466) (-7.702992143e-07,-1.334197376e-06) (0.001420036301,0.002459575022) (0.003079871323,0.005334493612) (-1.497289225e-06,-2.593381012e-06) (-0.0009844018759,-0.001705034064) (0.0002005515599,0.0003473654913) (2.589526051e-07,4.485190688e-07) (-9.179394658e-05,-0.0001589917793) (1.709241288e-05,2.960492753e-05) (2.461341544e-08,4.263168609e-08) (-0.0005075475471,-0.0008790981388) (0.0001125653912,0.0001949689767) (1.306577615e-07,2.263058812e-07) (0.0001311012957,0.0002270741051) (0.0001706747231,0.0002956172919) (-9.963682546e-08,-1.72576044e-07) (-0.0001322101708,-0.0002289947331) (2.533065632e-05,4.387398374e-05) (3.534207956e-08,6.121427745e-08) (3.566399888e-05,6.177185807e-05) (3.686250359e-05,6.384772911e-05) (-2.392364366e-08,-4.143696631e-08) (-7.485395282e-05,-0.0001296508494) (7.155927413e-06,1.239442985e-05) (2.264899878e-08,3.922921662e-08) (9.107253788e-06,1.577422628e-05) (2.532776104e-05,4.386896896e-05) (-1.151244726e-08,-1.994014357e-08) (-1.899134758e-05,-3.289397892e-05) (3.912341003e-07,6.776373393e-07) (6.342969012e-09,1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,0.02863872232) (-0.01481693702,-0.02566368773) (9.949706138e-05,0.0001723339655) (5.377938606e-05,9.314862906e-05) (-7.132203009e-05,-0.0001235333798) (-0.0002105623306,-0.0003647046547) (7.44529174e-05,0.0001289562357) (4.794629208e-05,8.304541391e-05) (-4.645234247e-05,-8.045781728e-05) (-2.113002537e-05,-3.65982775e-05) (6.508952823e-06,1.127383699e-05) (-2.782565142e-06,-4.819544201e-06) (-9.300181641e-06,-1.610838712e-05) (-0.01463285707,-0.0253448519) (2.616874833e-05,4.532560167e-05) (-0.002336540875,-0.00404700751) (0.001812179585,0.003138787114) (-2.272899548e-06,-3.936777498e-06) (-0.01319038986,-0.02284642541) (3.996000794e-05,6.921276402e-05) (-1.284453257e-08,-2.224738301e-08) (0.0004618297644,0.0007999126164) (-9.553607913e-07,-1.65473343e-06) (4.636983056e-10,8.031490246e-10) (5.524098285e-06,9.568018896e-06) (-1.086310209e-07,-1.881544475e-07) (-1.339854236e-05,-2.320695611e-05) (-0.000365141319,-0.0006324433165) (8.800808196e-10,1.524344694e-09) (2.84893946e-05,4.934507893e-05) (-0.0001517399338,-0.0002628212748) (-1.277053227e-10,-2.211921074e-10) (-2.208009141e-05,-3.824384015e-05) (0.0002236392519,0.0003873545469) (2.407892199e-08,4.170591628e-08) (-1.190479427e-09,-2.061970853e-09) (-3.154137007e-05,-5.46312555e-05) (-9.036164812e-11,-1.565109656e-10) (1.950696771e-06,3.378705918e-06) (-8.471154588e-05,-0.0001467247015) (-2.03076594e-11,-3.517389786e-11) (5.730243228e-08,9.925072411e-08) (-5.392190249e-06,-9.339547476e-06) (-3.658433149e-10,-6.336592089e-10) (-1.116528349e-06,-1.933883829e-06) (8.868127353e-06,1.536004714e-05) (-9.65577339e-11,-1.67242901e-10) (1.416117621e-06,2.452787669e-06) (-1.848146722e-05,-3.201084023e-05) (-4.754985346e-11,-8.235876209e-11) (1.592600314e-06,2.75846466e-06) (-1.728333755e-05,-2.993561877e-05) (2.168404345e-19,1.301042607e-18) (0.001421288335,0.002461743608) (-0.02866009467,-0.04964074012) (4.147852654e-05,7.184291538e-05) (-0.008490374326,-0.01470575971) (2.710505431e-20,1.897353802e-19) (-3.488083878e-05,-6.041538497e-05) (0.002604149643,0.004510519493) (-1.212696121e-06,-2.100451296e-06) (-0.001949014841,-0.003375792729) (1.6093626e-20,3.04931861e-20) (-6.84819863e-07,-1.186142797e-06) (1.665488592e-05,2.88471086e-05) (-1.158052873e-08,-2.005806414e-08) (-0.0002638178336,-0.0004569458917) (6.352747104e-22,-6.352747104e-22) (-3.213881516e-09,-5.566606076e-09) (1.951032757e-05,3.379287863e-05) (-5.044923245e-09,-8.738063381e-09) (1.02387175e-06,1.773397892e-06) (2.286988958e-20,-1.694065895e-20) (-1.126062466e-07,-1.950397403e-07) (2.913830078e-10,5.046901739e-10) (1.392033993e-05,2.411073601e-05) (-0.0002210927651,-0.0003829439024) (-2.117582368e-21,3.811648263e-21) (-6.274119749e-07,-1.086709418e-06) (1.575244907e-09,2.728404213e-09) (-2.951896633e-05,-5.112834946e-05) (0.0001121274987,0.0001942105247) (-2.117582368e-22,-1.694065895e-21) (9.099122566e-07,1.576014259e-06) (-6.783673963e-09,-1.174966797e-08) (-4.63062193e-05,-8.020472453e-05) (9.03034606e-05,0.0001564101819) (1.058791184e-22,3.176373552e-21) (6.916940092e-07,1.198049167e-06) (-3.396487491e-09,-5.882888901e-09) (-8.287775515e-06,-1.435484827e-05) (-5.108477623e-05,-8.848142792e-05) (1.111730743e-21,-2.064642809e-21) (5.895674323e-09,1.021160747e-08) (-1.532991602e-11,-2.655219342e-11) (2.033345566e-06,3.521857829e-06) (-2.71197858e-05,-4.697284689e-05) (1.852884572e-22,8.470329473e-22) (2.929347052e-08,5.073777927e-08) (-1.226739939e-10,-2.124775902e-10) (-8.152622709e-06,-1.412075675e-05) (1.185719849e-05,2.053727021e-05) (-1.058791184e-22,5.29395592e-23) (2.366362762e-11,4.098660533e-11) (2.030510961e-07,3.51694815e-07) (-5.516550356e-10,-9.554945499e-10) (-6.289741996e-06,-1.08941527e-05) (-6.6174449e-22,-2.64697796e-22) (8.545604851e-08,1.480142178e-07) (-2.306127229e-10,-3.994329529e-10) (5.359197563e-06,9.282402468e-06) (-1.792223291e-05,-3.104221799e-05) (2.64697796e-22,2.117582368e-22) (4.463913472e-08,7.731724935e-08) (-1.130973968e-10,-1.958904374e-10) (1.567605963e-06,2.715173175e-06) (-8.255361831e-06,-1.429870613e-05) -(-0.02616144742,-0.04531295613) (-0.04013399248,-0.06951411408) (-0.002798563663,-0.004847254452) (0.004795750123,0.008306482873) (0.001429388891,0.002475774183) (-0.0006396043251,-0.001107827188) (-0.0002747846405,-0.0004759409585) (4.231850505e-05,7.329780085e-05) (9.721999344e-05,0.0001683899681) (-1.201980249e-05,-2.08189086e-05) (-1.024812465e-05,-1.775027258e-05) (-3.419704066e-06,-5.923101189e-06) (5.830153065e-06,1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.12111549,-0.2097781823) (-0.0005607657229,-0.0009712747232) (-0.002000518664,-0.003464999967) (-0.0004075616168,-0.0007059174275) (-0.0002729746153,-0.0004728059028) (-1.278868443e-06,-2.21506512e-06) (-6.037625137e-06,-1.045747349e-05) (-3.526857492e-05,-6.108696368e-05) (-1.932297171e-05,-3.346836876e-05) (-7.415213061e-06,-1.284352577e-05) (-8.572210917e-06,-1.484750484e-05) (-9.354879707e-06,-1.620312695e-05) (-6.899174245e-06,-1.194972032e-05) (-8.714321431e-08,-1.509364747e-07) (-0.002819411596,-0.004883364132) (0.01502942923,0.02603173503) (0.0008700924344,0.001507044304) (0.0001228246921,0.0002127386071) (7.320806355e-10,1.268000856e-09) (0.0001192873191,0.0002066116974) (-8.929992509e-05,-0.0001546720074) (1.373510759e-11,2.378990418e-11) (0.000299626932,0.0005189690695) (-0.0001838490925,-0.0003184359691) (5.231009427e-11,9.060374109e-11) (3.300273741e-05,5.716241798e-05) (-2.446401255e-05,-4.237291269e-05) (4.22210803e-12,7.312905618e-12) (2.383089031e-07,4.12763128e-07) (-2.03263699e-07,-3.52063054e-07) (1.663957861e-14,2.882059558e-14) (1.598075748e-05,2.767948389e-05) (-1.228323086e-05,-2.127517993e-05) (1.819532646e-12,3.151522988e-12) (1.701272271e-05,2.946690011e-05) (-1.203371311e-05,-2.08430025e-05) (2.268351532e-12,3.928900099e-12) (4.63149072e-06,8.021977241e-06) (-3.344313848e-06,-5.792521501e-06) (6.401746961e-13,1.1088151e-12) (3.782440103e-06,6.551378435e-06) (-2.784982798e-06,-4.823731704e-06) (4.566111217e-13,7.908736608e-13) (3.233764025e-06,5.601043591e-06) (-1.652550646e-06,-2.862301681e-06) (8.418017027e-13,1.458043318e-12) (2.598776547e-06,4.501213017e-06) (-1.422702445e-06,-2.464192919e-06) (5.279271586e-13,9.143966619e-13) (8.817371997e-07,1.527213629e-06) (-1.45942524e-07,-2.527798665e-07) (4.485466413e-13,7.769055725e-13) (1.029992064e-18,8.67361738e-19) (8.67361738e-19,-1.734723476e-18) (2.168404345e-19,1.734723476e-18) (-0.02060375576,-0.0356867518) (0.06045012766,0.1047026924) (-2.168404345e-19,0) (2.168404345e-19,-2.168404345e-19) (2.168404345e-19,8.67361738e-19) (-0.005297526462,-0.009175584986) (0.01558567133,0.02699517461) (0,6.776263578e-21) (8.470329473e-22,2.117582368e-21) (-3.388131789e-21,5.082197684e-21) (-2.702014961e-05,-4.680027195e-05) (0.0001359807469,0.0002355255625) (6.776263578e-21,6.776263578e-21) (0,1.355252716e-20) (6.776263578e-21,-6.776263578e-21) (-0.0003173531288,-0.0005496717431) (0.0009319561715,0.001614195439) (-1.32348898e-23,0) (3.30872245e-24,0) (0,-1.32348898e-23) (1.10762366e-08,1.918460455e-08) (-6.716194071e-07,-1.163278936e-06) (0,0) (0,0) (-5.29395592e-23,-7.27918939e-23) (-4.754822232e-07,-8.235593687e-07) (2.065183874e-06,3.577003397e-06) (8.470329473e-22,0) (4.235164736e-22,2.117582368e-21) (6.352747104e-22,5.717472394e-21) (-1.517604603e-05,-2.628568279e-05) (4.50724991e-05,7.806785847e-05) (-1.376428539e-21,-3.494010907e-21) (-3.705769144e-22,-1.058791184e-22) (-8.470329473e-22,-4.235164736e-22) (-7.538565652e-06,-1.305717873e-05) (2.367733081e-05,4.101033996e-05) (4.63221143e-23,2.64697796e-23) (1.191140082e-22,-2.514629062e-22) (2.64697796e-23,5.29395592e-23) (-8.103564901e-07,-1.403578613e-06) (2.67611154e-06,4.635161153e-06) (-1.588186776e-22,-3.176373552e-22) (-5.29395592e-23,2.117582368e-22) (2.64697796e-23,5.29395592e-23) (-1.711417653e-06,-2.964262327e-06) (5.087485249e-06,8.811782933e-06) (0,4.235164736e-22) (-2.64697796e-23,2.64697796e-23) (-3.441071348e-22,-6.352747104e-22) (-2.996110319e-06,-5.189415297e-06) (8.841353425e-06,1.531367334e-05) (-1.058791184e-22,-2.117582368e-22) (0,2.117582368e-22) (-1.32348898e-22,-4.764560328e-22) (-1.848699751e-06,-3.202041897e-06) (5.660846895e-06,9.804874436e-06) (5.29395592e-23,0) (-4.135903063e-23,1.257314531e-22) (7.27918939e-23,-1.058791184e-22) (-1.315863121e-06,-2.279141781e-06) (3.859226647e-06,6.68437663e-06) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2475006931,0) (0.001885655396,0) (0.003936900835,0) (0.0009741204454,0) (0.0005004075617,0) (8.132634863e-07,0) (1.510083094e-05,0) (7.282759888e-05,0) (3.408159058e-05,0) (1.381866281e-05,0) (1.778426622e-05,0) (1.795710592e-05,0) (1.276438578e-05,0) (7.833976983e-06,0) (0.3041454174,0) (0.002926686712,0) (0.02849839687,0) (2.755679327e-06,0) (1.477200313e-09,0) (5.595452752e-05,0) (0.000471312833,0) (2.30767043e-11,0) (0.0001328145617,0) (0.002968612862,0) (1.385122765e-10,0) (0.0001424591791,0) (8.663764015e-06,0) (6.653302287e-12,0) (1.353880343e-06,0) (1.063332768e-06,0) (1.058585676e-13,0) (0.0001028139335,0) (8.885062031e-06,0) (4.930568137e-12,0) (9.226573536e-06,0) (0.0001114531879,0) (5.306720436e-12,0) (2.485545863e-05,0) (1.209685944e-06,0) (1.149711836e-12,0) (2.362894913e-06,0) (2.235255113e-05,0) (1.084804457e-12,0) (4.060026829e-05,0) (2.884757044e-07,0) (1.846273793e-12,0) (8.663751496e-07,0) (2.708317392e-05,0) (1.260179665e-12,0) (1.705402686e-05,0) (4.258384822e-09,0) (8.003161713e-13,0) (1.561251128e-17,0) (6.938893904e-18,0) (8.67361738e-19,0) (0.04483170943,0) (0.1133052738,0) (8.67361738e-19,0) (-1.734723476e-18,0) (4.33680869e-19,0) (0.009624007898,0) (0.03498925778,0) (0,0) (5.421010862e-20,0) (6.776263578e-21,0) (1.920663012e-05,0) (0.0007802029551,0) (2.439454888e-19,0) (0,0) (2.710505431e-20,0) (0.0006986693326,0) (0.001726467409,0) (0,0) (-3.176373552e-22,0) (-4.235164736e-22,0) (1.653240914e-09,0) (1.835110102e-05,0) (0,0) (0,0) (0,0) (2.342751068e-06,0) (1.709453932e-06,0) (0,0) (1.016439537e-20,0) (1.101142831e-20,0) (2.57422105e-05,0) (0.0001083718738,0) (1.270549421e-21,0) (0,0) (-4.235164736e-22,0) (2.225083718e-05,0) (3.271647394e-05,0) (0,0) (2.911675756e-22,0) (0,0) (2.685905316e-06,0) (3.292917407e-06,0) (2.117582368e-22,0) (2.117582368e-22,0) (0,0) (2.887868495e-06,0) (1.229628472e-05,0) (2.117582368e-22,0) (0,0) (-4.235164736e-22,0) (6.902245323e-06,0) (1.565229019e-05,0) (-6.352747104e-22,0) (2.117582368e-22,0) (-4.235164736e-22,0) (5.060621495e-06,0) (8.434035548e-06,0) (-1.058791184e-22,0) (-8.470329473e-22,0) (-3.176373552e-22,0) (2.848171096e-06,0) (7.27171318e-06,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (0.08203099855,0) (8.306610194e-08,0) (0.1359609918,0) (0.009081386798,0) (5.657391905e-09,0) (0.01196712578,0) (5.443671855e-05,0) (2.267692166e-12,0) (6.454709571e-05,0) (4.074384328e-08,0) (2.322477598e-15,0) (4.516263572e-08,0) (1.806939314e-09,0) (9.637884248e-05,0) (0.0001200645114,0) (3.505088404e-13,0) (0.0001259530711,0) (0.0003880768169,0) (2.442169459e-14,0) (0.0001806923474,0) (0.0003300259584,0) (4.99498452e-09,0) (5.220474457e-13,0) (0.0003140465704,0) (2.043749217e-14,0) (6.916995033e-05,0) (0.0001161425193,0) (3.068536094e-15,0) (6.841874488e-06,0) (0.0001365406311,0) (3.090610873e-13,0) (1.118320353e-06,0) (0.0001219538312,0) (2.402304362e-14,0) (6.135362753e-06,0) (0.0001061573737,0) (1.022792114e-14,0) (9.682037194e-06,0) (9.16160885e-05,0) (0,0) (0.008475895408,0) (0.1732522102,0) (1.124213962e-07,0) (0.02297182624,0) (1.084202172e-19,0) (0.0009869192534,0) (0.006480627332,0) (3.316210435e-10,0) (0.000596346401,0) (1.694065895e-21,0) (6.030566529e-06,0) (7.772448169e-05,0) (1.304810639e-11,0) (1.025243196e-05,0) (0,0) (6.172455307e-07,0) (3.424236285e-06,0) (8.91940129e-14,0) (8.102047562e-08,0) (0,0) (1.7510264e-07,0) (5.995060337e-14,0) (0.0002921369044,0) (3.675876272e-05,0) (2.032879073e-20,0) (1.275281687e-06,0) (4.637667068e-13,0) (0.0003051743252,0) (0.0002630933887,0) (6.776263578e-21,0) (3.588497215e-06,0) (5.404957306e-12,0) (0.0003430215163,0) (6.96043537e-05,0) (5.082197684e-21,0) (2.144710129e-06,0) (2.269021793e-12,0) (0.0002012220718,0) (3.895281572e-05,0) (1.694065895e-21,0) (3.844113255e-09,0) (1.769838074e-15,0) (0.0001178597097,0) (2.092539475e-05,0) (-8.470329473e-22,0) (6.145570316e-08,0) (3.010474357e-14,0) (2.166322872e-05,0) (9.000390998e-05,0) (0,0) (1.298476433e-12,0) (5.281220211e-07,0) (2.249656277e-13,0) (0.0001117973318,0) (2.541098842e-21,0) (1.467994913e-07,0) (7.105028024e-14,0) (4.480358687e-05,0) (5.317998557e-05,0) (0,0) (6.039698986e-08,0) (2.87767903e-14,0) (3.246588878e-06,0) (8.011602699e-05,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.3147524089,0) (0.3911428714,0) (0.2057672699,0) (0.06817076837,0) (0.01624681051,0) (0.001918900616,0) (8.656155591e-06,0) (0.0003293313421,0) (0.0005165205109,0) (0.0005274892321,0) (0.000308913253,0) (0.0001921098042,0) (7.200817462e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1469209212,0) (0.001757452279,0) (0.008885391297,0) (0.0004765796032,0) (0.0003137171467,0) (3.753583099e-07,0) (3.817084e-06,0) (6.033841652e-07,0) (5.317323845e-07,0) (8.414643968e-06,0) (3.31541252e-06,0) (3.002007615e-07,0) (1.229871495e-06,0) (0.001306177527,0) (1.355168727e-09,0) (0.2503658847,0) (1.046614926e-05,0) (2.060951583e-11,0) (0.04152020624,0) (4.050576507e-07,0) (1.00843227e-12,0) (0.003778769832,0) (1.889305054e-06,0) (8.299835645e-12,0) (0.002559803502,0) (1.316604296e-15,0) (2.853709815e-10,0) (7.660087477e-05,0) (2.266554089e-16,0) (5.359854749e-09,0) (1.127557649e-07,0) (1.456075894e-15,0) (8.395718063e-08,0) (9.154156321e-06,0) (9.161877051e-08,0) (3.993706216e-16,0) (1.150818494e-07,0) (1.068890781e-15,0) (4.419176462e-08,0) (7.775554357e-06,0) (1.628929061e-17,0) (4.528323296e-06,0) (1.43185262e-05,0) (2.455969101e-13,0) (6.161678805e-07,0) (1.125366415e-06,0) (1.15944313e-15,0) (1.58315933e-07,0) (5.391837529e-07,0) (2.24968478e-15,0) (6.286898691e-07,0) (3.183188427e-06,0) (6.2883726e-18,0) (0.0002446691601,0) (8.145458932e-07,0) (5.664740933e-10,0) (0.177759353,0) (2.493664997e-18,0) (2.201408811e-06,0) (0.0003158153936,0) (8.549720567e-10,0) (0.0706465972,0) (1.058791184e-22,0) (2.464242287e-13,0) (6.094571757e-11,0) (1.707997469e-15,0) (4.38015457e-05,0) (8.131516294e-20,0) (2.311133296e-11,0) (9.174418953e-05,0) (8.403150672e-11,0) (0.001971316564,0) (5.29395592e-23,0) (1.266660794e-13,0) (7.775698928e-17,0) (6.88337889e-11,0) (2.410431746e-06,0) (1.356576205e-22,0) (5.576701781e-10,0) (1.468000911e-14,0) (6.062379565e-07,0) (3.176643229e-06,0) (-2.067951531e-24,0) (2.300661614e-12,0) (5.707138741e-16,0) (1.135038219e-09,0) (1.530804122e-07,0) (-1.178732373e-23,0) (3.081533289e-11,0) (8.947554122e-16,0) (2.296325301e-09,0) (3.899274721e-07,0) (6.749793798e-22,0) (8.755362874e-11,0) (1.48542241e-15,0) (8.808607626e-08,0) (2.190836451e-05,0) (-1.058791184e-22,0) (2.423577032e-09,0) (3.638364687e-14,0) (4.518853107e-06,0) (4.641490491e-06,0) (1.413638742e-27,0) (6.210057073e-11,0) (3.638362452e-11,0) (1.650294841e-19,0) (9.04762241e-12,0) (8.271806126e-24,0) (4.100520746e-10,0) (4.164857336e-15,0) (3.101457978e-07,0) (1.081074942e-06,0) (7.940933881e-23,0) (4.313670249e-09,0) (1.26775354e-14,0) (2.818838655e-06,0) (9.917835142e-07,0) -(0.1537404548,0) (0.003727007567,0) (0.00854296775,0) (0.0008283378013,0) (0.000249242271,0) (3.135135163e-06,0) (3.485164461e-06,0) (1.245370055e-07,0) (1.451806454e-06,0) (9.235094054e-06,0) (1.535303137e-06,0) (1.834495508e-07,0) (1.651277635e-06,0) (2.815830936e-10,0) (0.01983051592,0) (0.2311916741,0) (1.480857164e-06,0) (5.065308416e-11,0) (0.05191474862,0) (1.74172454e-07,0) (5.928976114e-13,0) (0.002321923377,0) (5.781125973e-06,0) (1.396714217e-11,0) (0.002995923626,0) (1.300580339e-15,0) (2.083846774e-09,0) (2.160554926e-05,0) (8.895745648e-08,0) (1.874301973e-14,0) (4.549221948e-07,0) (3.009999658e-15,0) (6.499753675e-08,0) (5.596904508e-06,0) (8.516512091e-16,0) (5.426835441e-08,0) (1.474190623e-07,0) (1.228211538e-15,0) (1.807091778e-07,0) (1.378205676e-05,0) (2.933157846e-14,0) (5.773281799e-06,0) (8.30249756e-06,0) (1.793970786e-07,0) (1.57524998e-14,0) (1.14196802e-07,0) (1.547102555e-15,0) (2.937426657e-07,0) (8.906479179e-07,0) (3.127361261e-15,0) (1.516806236e-06,0) (2.811236419e-06,0) (0,0) (1.511060808e-05,0) (5.607603461e-10,0) (0.1487858497,0) (0.02038732434,0) (1.734723476e-18,0) (9.734329973e-09,0) (0.0004046016186,0) (8.829540289e-10,0) (0.0787413867,0) (0,0) (1.175486027e-09,0) (3.16393186e-09,0) (1.818492629e-13,0) (0.0005493161406,0) (0,0) (1.11287863e-09,0) (2.242153709e-05,0) (5.137087983e-11,0) (0.001903470945,0) (-4.235164736e-22,0) (1.177409821e-09,0) (2.273659858e-09,0) (4.248625572e-15,0) (2.121979301e-05,0) (0,0) (1.746371504e-10,0) (3.101321166e-15,0) (2.618867638e-10,0) (3.3303246e-06,0) (-6.6174449e-24,0) (4.476698989e-11,0) (7.989091628e-15,0) (1.282889475e-07,0) (2.814187778e-07,0) (1.654361225e-24,0) (2.426502395e-12,0) (1.278136264e-16,0) (7.949778252e-10,0) (1.110717381e-07,0) (2.436173229e-11,0) (0,0) (3.526056281e-16,0) (7.3810059e-07,0) (2.697616726e-05,0) (0,0) (1.877165974e-10,0) (1.913490841e-14,0) (2.115184742e-06,0) (1.181201865e-06,0) (-1.654361225e-24,0) (6.907330169e-11,0) (1.047719175e-07,0) (7.596810143e-15,0) (7.557011361e-09,0) (1.895051636e-10,0) (0,0) (6.491569902e-15,0) (1.28432286e-06,0) (1.324891707e-06,0) (0,0) (9.739590345e-10,0) (2.829120299e-14,0) (3.141117806e-06,0) (2.187995244e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (0,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-8.67361738e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.376428539e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.421010862e-20,0) (-7.446672951e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (5.29395592e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-3.176373552e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (3.97046694e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.522012327e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.058791184e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (9.264422861e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (6.203854594e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-1.389663429e-22,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (0,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (6.505213035e-19,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (0,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-1.355252716e-20,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (0,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (0,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.084202172e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.032879073e-20,0) (-2.218079147e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.558653716e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.415367389e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.441071348e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (2.067951531e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.714186385e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (9.264422861e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (0,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (2.710505431e-20,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (0,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (5.29395592e-23,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (2.117582368e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.035766083e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.138412281e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.694065895e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (3.726944968e-20,0) (3.933175976e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780888e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (5.823351512e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.514629062e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.808845119e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.249931266e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-1.550963649e-25,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (6.948317145e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (5.128519798e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-4.33680869e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (-5.421010862e-20,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (-8.470329473e-22,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (0,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (0,0) (-4.040786575e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (1.058791184e-22,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (-2.117582368e-22,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424696266e-12,0) (-0.008719428334,0) (0.06301289739,0) (0,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138140965e-13,0) (-6.644558929e-05,0) (0,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (0,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640456e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182199e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (0,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (-5.29395592e-23,0) (-3.139926191e-09,0) (-5.790193031e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (0,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556893e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808167e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-2.117582368e-22,0) (-2.091689037e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.214682481e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(-0.1395541466,0.2417148723) (-0.01357903408,0.02351957694) (0.01423099906,-0.02464881341) (0.004074510377,-0.007057258989) (-0.001425660096,0.00246931572) (1.975203663e-05,-3.4211531e-05) (-5.71653615e-06,9.901331055e-06) (-7.743450601e-05,0.0001341204987) (6.633973277e-05,-0.0001149037877) (-4.268839373e-05,7.393846683e-05) (3.706007127e-05,-6.418992637e-05) (-2.936722707e-05,5.086552936e-05) (1.515866188e-05,-2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,0.102295252) (0.003122660326,-0.005408606339) (0.001450134843,-0.002511707226) (-1.663179087e-05,2.88071068e-05) (-5.691193611e-05,9.85743649e-05) (4.320980191e-06,-7.484157229e-06) (-1.508217198e-05,2.612308816e-05) (-5.052939195e-06,8.751947413e-06) (-3.798238809e-06,6.578742597e-06) (-1.228729791e-05,2.128222427e-05) (-6.964894952e-06,1.206355193e-05) (-2.032950537e-06,3.521173619e-06) (-3.820457386e-06,6.6172263e-06) (0.005175592884,-0.008964389834) (5.304917144e-09,-9.188386024e-09) (-0.09224965312,0.1597810862) (-0.0001541485888,0.0002669931877) (1.707308578e-10,-2.957145201e-10) (0.01114537494,-0.01930435567) (2.347871873e-06,-4.066633374e-06) (-7.561107841e-13,1.309622278e-12) (0.000246935527,-0.000427704879) (-1.387241408e-07,2.402772602e-07) (-6.941934625e-14,1.202378346e-13) (-5.376045784e-06,9.311584441e-06) (-7.712042098e-13,1.335764866e-12) (8.292123503e-08,-1.436237921e-07) (-4.795061678e-05,8.305290452e-05) (-4.456588466e-15,7.719037506e-15) (-4.108193539e-07,7.115599937e-07) (3.307487654e-06,-5.728736662e-06) (2.981603408e-15,-5.164287035e-15) (1.947461171e-06,-3.373101694e-06) (-2.748230891e-05,4.760075535e-05) (-1.069619489e-08,1.8526353e-08) (7.219598505e-15,-1.25047114e-14) (3.005871758e-06,-5.206322606e-06) (-2.336955431e-15,4.047727356e-15) (8.74177065e-07,-1.514119091e-06) (-1.502558212e-05,2.602507165e-05) (1.117846321e-16,-1.936173322e-16) (2.783083705e-06,-4.820442378e-06) (-2.210803363e-05,3.82922375e-05) (1.377538078e-13,-2.385965939e-13) (4.150521297e-07,-7.188913765e-07) (-5.857532454e-06,1.014554382e-05) (-2.638813198e-15,4.570558867e-15) (4.927792809e-07,-8.535187514e-07) (-3.782800919e-06,6.552003387e-06) (-2.398416777e-15,4.154178646e-15) (1.233592183e-06,-2.136644337e-06) (-8.538607507e-06,1.478930203e-05) (-6.505213035e-19,-5.854691731e-18) (0.0007200330219,-0.001247133777) (-0.0001878309588,0.0003253327639) (3.990106788e-09,-6.911067681e-09) (-0.03195096622,0.05534069685) (4.878909776e-19,-5.149960319e-19) (-2.330564706e-05,4.036656481e-05) (0.0007153114482,-0.001238955771) (2.662361388e-10,-4.611345189e-10) (0.003245375324,-0.005621154951) (3.176373552e-22,1.270549421e-21) (6.095239344e-10,-1.055726423e-09) (-3.44128403e-08,5.960478783e-08) (7.46427043e-14,-1.292849566e-13) (1.059566382e-05,-1.835222807e-05) (2.223461487e-21,-2.117582368e-22) (-1.888476037e-09,3.270936446e-09) (8.862191923e-06,-1.534976668e-05) (-1.368859681e-12,2.370934516e-12) (6.318959677e-06,-1.094475921e-05) (-7.676236084e-22,4.764560328e-22) (7.446402637e-11,-1.28975477e-10) (-1.079534809e-15,1.869808714e-15) (-7.090290898e-08,1.228074408e-07) (4.706497865e-06,-8.151893428e-06) (-4.764560328e-22,5.29395592e-22) (1.33340407e-08,-2.309523596e-08) (-4.125560452e-14,7.145680311e-14) (6.800887061e-06,-1.177948193e-05) (-1.445470366e-05,2.503628115e-05) (-1.32348898e-23,-1.852884572e-22) (1.436655647e-09,-2.488360574e-09) (2.776996633e-14,-4.809899276e-14) (3.119865907e-07,-5.403766263e-07) (-1.632104712e-06,2.826888284e-06) (-8.602678371e-23,3.044024654e-22) (-4.064786482e-09,7.040416709e-09) (2.25289788e-14,-3.902133579e-14) (-3.398791457e-07,5.886879487e-07) (1.948638818e-06,-3.375141438e-06) (7.411538288e-22,-5.29395592e-22) (2.900715708e-10,-5.024186985e-10) (-8.107037041e-16,1.40417988e-15) (1.611039988e-06,-2.790403113e-06) (-1.070561973e-05,1.854267731e-05) (-7.940933881e-23,-3.176373552e-22) (6.102102725e-09,-1.056915195e-08) (1.654781353e-14,-2.866165396e-14) (4.947043268e-06,-8.568530288e-06) (-1.021949476e-05,1.770068415e-05) (8.271806126e-25,-2.688336991e-24) (4.489881054e-12,-7.776702106e-12) (-2.191745498e-09,3.79621456e-09) (-9.634049138e-17,1.668666255e-16) (-1.590204424e-08,2.754314857e-08) (-7.940933881e-23,9.264422861e-23) (3.879285887e-09,-6.719120253e-09) (-8.60107949e-15,1.489750663e-14) (1.863843086e-06,-3.228270922e-06) (-3.791159118e-06,6.566480212e-06) (-1.32348898e-23,-1.588186776e-22) (8.070512659e-09,-1.397853797e-08) (-9.550114474e-15,1.654128355e-14) (1.512581421e-06,-2.619867872e-06) (-4.456953971e-06,7.719670724e-06) -(-0.1378654839,0.2387900227) (-0.0169245535,0.02931418655) (0.0167882116,-0.02907803547) (0.002856832998,-0.004948179901) (-0.001021264037,0.001768881199) (-6.261071557e-05,0.0001084449405) (-5.097302548e-05,8.828786994e-05) (5.211057454e-06,-9.025816272e-06) (-1.563957284e-05,2.708853477e-05) (1.958875962e-05,-3.392872691e-05) (-7.901662008e-06,1.368608006e-05) (1.11827671e-06,-1.936912078e-06) (-3.986478569e-06,6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (6.505213035e-19,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-1.084202172e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.799945013e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.082197684e-20,0) (-7.44667295e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (1.98523347e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-1.588186776e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (5.95570041e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.058791184e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.32348898e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (5.29395592e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (3.101927297e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-5.95570041e-23,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (5.29395592e-23,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (0,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (-1.355252716e-20,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-6.776263578e-21,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (-4.235164736e-22,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (2.117582368e-22,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04586770644,0) (0.1295753448,0) (0.0004442131108,0) (0.1967622424,0) (0.0001704511524,0) (0.07116101842,0) (0.01342434892,0) (0.1479153603,0) (0.05829558339,0) (0.002881188799,0) (0.0986772665,0) (0.03669568318,0) (0.0583789555,0) (0.004863627082,0) (0.02285094543,0) (0.01871025158,0) (0.01720002272,0) (0.0129751607,0) (0.01950909261,0) (0.002216861756,0) (0.007850079801,0) (0.0006684007036,0) (0.01106999276,0) (0.004241350104,0) (0.006378882393,0) (0.0004382569924,0) (0.00246318523,0) (0.0002443597394,0) (0.003066181956,0) (0.001196173181,0) (0.001717101805,0) (2.637892713e-05,0) (0.0006299645073,0) (1.244860412e-05,0) (0.0006474759855,0) (0.0002384489065,0) (0.000314514928,0) (9.546434388e-07,0) (0.0001139889123,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(3.590997234e-05,0) (0.0001233917216,0) (1.30441383e-07,0) (1.553904071e-05,0) (1.536434435e-06,0) (2.779572112e-06,0) (2.900697787e-07,0) (1.694146338e-07,0) (2.480155548e-07,0) (7.759935467e-08,0) (9.02954327e-09,0) (1.753815685e-09,0) (2.272725483e-08,0) (0.05134867755,0) (0.01875202135,0) (0.000278013623,0) (0.005748536394,0) (0.00207432931,0) (0.0001512337715,0) (0.0004583230146,0) (0.0001648728595,0) (3.850112287e-05,0) (0.0005754261716,0) (0.0002097466075,0) (1.254127337e-05,0) (1.450462071e-05,0) (4.081696167e-05,0) (1.394154879e-05,0) (4.99941714e-06,0) (1.463681797e-05,0) (7.757214435e-09,0) (1.511410508e-06,0) (4.698023398e-06,0) (1.404013897e-06,0) (8.766678713e-06,0) (6.146623103e-06,0) (8.264078866e-06,0) (9.044095585e-07,0) (2.283550353e-06,0) (9.876553109e-07,0) (3.043249266e-07,0) (6.038139103e-07,0) (2.400053708e-07,0) (9.769650476e-07,0) (1.981749796e-06,0) (7.468840143e-07,0) (8.787060028e-07,0) (1.618326537e-06,0) (8.543525323e-07,0) (5.00506041e-07,0) (9.817712635e-07,0) (4.454731505e-07,0) (3.469446952e-18,0) (0.003515743553,0) (0.09234509611,0) (0.03477975199,0) (1.223510922e-05,0) (4.33680869e-19,0) (4.597357965e-05,0) (0.02740325923,0) (0.01004796136,0) (0.0003916175239,0) (1.694065895e-21,0) (1.460078625e-06,0) (6.30598451e-05,0) (2.330863833e-05,0) (8.451039346e-05,0) (2.710505431e-20,0) (2.399382941e-10,0) (0.001718607472,0) (0.0006467762177,0) (6.859021545e-05,0) (1.482307658e-21,0) (1.335565741e-06,0) (3.205846614e-06,0) (7.65274698e-06,0) (1.646933149e-05,0) (-8.470329473e-22,0) (4.379161533e-06,0) (1.211169872e-05,0) (2.157052131e-05,0) (8.161268252e-06,0) (0,0) (5.33910383e-06,0) (1.925982866e-05,0) (4.905944391e-05,0) (4.081163393e-07,0) (-8.470329473e-22,0) (3.171881935e-06,0) (1.1505279e-05,0) (2.779490012e-05,0) (1.68620799e-06,0) (1.32348898e-23,0) (1.369395562e-07,0) (3.006229585e-07,0) (6.24704245e-07,0) (5.081771609e-07,0) (0,0) (4.516212835e-07,0) (1.131399868e-06,0) (1.789055475e-06,0) (9.447754395e-07,0) (2.117582368e-22,0) (5.10826975e-11,0) (1.696043397e-06,0) (3.063049089e-06,0) (6.775872177e-06,0) (1.058791184e-22,0) (6.382847646e-07,0) (1.694474736e-06,0) (2.713576222e-06,0) (1.415412032e-06,0) (1.058791184e-22,0) (3.927215262e-07,0) (1.006395786e-06,0) (4.761797554e-07,0) (1.932952223e-06,0) -(0.02151507676,0) (0.08145033313,0) (0.0009225981511,0) (0.009071793741,0) (0.001897530337,0) (0.001271522409,0) (0.000393613206,0) (3.191902604e-05,0) (0.0002180280768,0) (1.351339316e-05,0) (1.003663981e-05,0) (6.66710727e-06,0) (1.372598266e-05,0) (0.01971880285,0) (0.0002195616787,0) (0.0003270306584,0) (2.678465689e-05,0) (0.002763516793,0) (0.106697746,0) (8.901625396e-07,0) (0.0001038820182,0) (0.0345000232,0) (1.0786905e-05,0) (0.0002550410404,0) (0.002603733392,0) (5.086780754e-06,0) (1.296261603e-06,0) (0.01019461019,0) (6.255143051e-06,0) (6.536172276e-06,0) (3.683045246e-05,0) (3.540615072e-06,0) (1.378850213e-05,0) (0.0012674418,0) (5.746639196e-06,0) (4.91232311e-05,0) (0.000126571826,0) (3.717599159e-07,0) (5.395422689e-06,0) (0.0003974504446,0) (3.479206662e-07,0) (5.176068333e-06,0) (7.774311777e-06,0) (2.357456293e-06,0) (1.1427038e-06,0) (1.727367798e-06,0) (7.399816442e-07,0) (1.145978052e-05,0) (3.343258584e-05,0) (4.18479744e-07,0) (5.861896876e-06,0) (1.04002171e-05,0) (-5.421010862e-20,0) (9.561558787e-07,0) (0.03485246954,0) (0.02674278495,0) (0.002291387465,0) (0,0) (1.569546168e-06,0) (0.0004250908481,0) (0.01192913133,0) (0.03599121376,0) (-8.67361738e-19,0) (4.328799598e-08,0) (3.906012346e-08,0) (0.0001448848612,0) (0.05737890751,0) (0,0) (1.172235841e-10,0) (9.806088991e-06,0) (0.0006373039673,0) (0.001947382062,0) (0,0) (1.816924258e-07,0) (7.09263354e-07,0) (2.318653812e-05,0) (0.009023977889,0) (0,0) (2.436045478e-08,0) (7.517683295e-06,0) (2.140748389e-07,0) (0.001279410655,0) (0,0) (2.086878003e-08,0) (2.83498791e-05,0) (0.0001528953655,0) (0.0003576463545,0) (0,0) (6.94006599e-09,0) (7.29799041e-06,0) (6.948945167e-06,0) (0.0008507631173,0) (2.393151383e-11,0) (0,0) (2.620125233e-08,0) (2.63818605e-06,0) (9.527036339e-05,0) (0,0) (1.215275915e-09,0) (1.727758853e-06,0) (4.452695345e-05,0) (2.58813648e-05,0) (0,0) (2.542260728e-09,0) (1.109931996e-05,0) (3.064539702e-06,0) (6.121327117e-07,0) (1.401947502e-09,0) (0,0) (1.253713298e-06,0) (2.653165066e-05,0) (2.635447273e-05,0) (-2.64697796e-23,0) (9.160979474e-11,0) (9.092686847e-07,0) (3.096286743e-06,0) (1.632018929e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-3.794707604e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-8.809142651e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-1.694065895e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (1.694065895e-21,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (4.65868121e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (2.117582368e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.705769144e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-2.64697796e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (-5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.32348898e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (4.33680869e-19,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (2.168404345e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (4.065758147e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (0,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (6.776263578e-21,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (-4.235164736e-22,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (-5.29395592e-23,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (4.235164736e-22,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (2.64697796e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (1.734723476e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (6.505213035e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-2.032879073e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (0,0) (-1.267303587e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-1.694065895e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.382280164e-21,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (0,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (3.546950467e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-3.30872245e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (5.29395592e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-6.505213035e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (-4.33680869e-19,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (-2.710505431e-20,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (-5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (1.694065895e-21,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-4.235164736e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (5.29395592e-23,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-5.421010862e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (0,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (5.421010862e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (0,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (6.776263578e-21,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (0,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (1.694065895e-21,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (2.117582368e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (4.235164736e-22,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,0.0005191289988) (0.09925944203,-0.1719223967) (0.0005701036329,-0.0009874484577) (0.03744131566,-0.06485026102) (-1.08363822e-05,1.876916455e-05) (5.12637978e-06,-8.879150237e-06) (-0.0004333454456,0.000750576329) (-0.004174757703,0.007230892451) (-5.79928862e-07,1.004466254e-06) (-0.0003092991382,0.0005357218221) (-0.008557666191,0.01482231264) (-1.127253589e-06,1.952460489e-06) (0.001441927363,-0.002497491453) (0.0001026368809,-0.0001777722925) (1.949578464e-07,-3.376768953e-07) (7.957927152e-05,-0.0001378353415) (6.761905753e-05,-0.0001171196432) (1.853059582e-08,-3.209593345e-08) (0.0007081325001,-0.001226521469) (7.017291895e-05,-0.0001215430609) (9.836838076e-08,-1.703790333e-07) (-3.926527806e-05,6.800945657e-05) (-0.000555379596,0.0009619456778) (-7.501276439e-08,1.299259191e-07) (0.0001990917172,-0.0003448369695) (1.15125293e-05,-1.994028567e-05) (2.660804959e-08,-4.608649378e-08) (-1.201453687e-05,2.080978829e-05) (-0.0001308978504,0.0002267217275) (-1.801120482e-08,3.119632186e-08) (0.0001320177961,-0.0002286615304) (1.379282385e-06,-2.388987168e-06) (1.705203038e-08,-2.953498298e-08) (-1.642038463e-06,2.844094046e-06) (-6.621122398e-05,0.000114681204) (-8.667301526e-09,1.501220661e-08) (3.661879991e-05,-6.342562196e-05) (3.18796139e-08,-5.521711101e-08) (4.775645764e-09,-8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,0.00159926779) (0.0008274199475,-0.001433133388) (-5.55619918e-06,9.623619276e-06) (-3.00319403e-06,5.201684645e-06) (3.982825217e-06,-6.898455633e-06) (1.175840002e-05,-2.036614625e-05) (-4.157662878e-06,7.201283346e-06) (-2.677457455e-06,4.637492347e-06) (2.594031055e-06,-4.492993584e-06) (1.179960774e-06,-2.043752012e-06) (-3.634784569e-07,6.295631548e-07) (1.553863596e-07,-2.691370696e-07) (5.193486208e-07,-8.995381981e-07) (0.03245066753,-0.05620620491) (1.973358379e-05,-3.417956974e-05) (0.003074044889,-0.005324401932) (-0.003612640396,0.006257276715) (-1.712840758e-06,2.966727218e-06) (0.0006726502744,-0.001165064451) (-7.897721341e-05,0.0001367925463) (-9.66799994e-09,1.67454671e-08) (-2.492556751e-05,4.317234933e-05) (2.421005667e-06,-4.19330482e-06) (3.489741388e-10,-6.044409389e-10) (-3.762967448e-07,6.517650808e-07) (-8.094592238e-08,1.402024502e-07) (3.136037117e-05,-5.431775621e-05) (2.045657133e-05,-3.54318209e-05) (6.618798767e-10,-1.146409575e-09) (-2.146830323e-05,3.718419194e-05) (8.675245077e-07,-1.502596524e-06) (-9.606141336e-11,1.663832486e-10) (1.456791745e-05,-2.523237319e-05) (-1.076291122e-05,1.864190907e-05) (1.04629614e-07,-1.812238073e-07) (-8.956602146e-10,1.551328998e-09) (2.547207111e-05,-4.411892133e-05) (-6.797765478e-11,1.177407519e-10) (6.283968979e-06,-1.088415354e-05) (5.35510915e-06,-9.275321128e-06) (-1.527935823e-11,2.646462476e-11) (1.016270017e-06,-1.760231303e-06) (2.862275528e-06,-4.95760664e-06) (-2.747461897e-10,4.758743597e-10) (7.443505779e-07,-1.28925302e-06) (4.771932706e-06,-8.265229897e-06) (-7.264500146e-11,1.258248334e-10) (1.575517403e-06,-2.728876191e-06) (4.761717681e-06,-8.247536954e-06) (-3.577407697e-11,6.196251891e-11) (1.541553266e-06,-2.67004858e-06) (3.194233381e-06,-5.532574508e-06) (4.33680869e-19,1.734723476e-18) (-0.002729426434,0.004727505259) (0.06324356095,-0.1095410608) (3.126494954e-05,-5.415248111e-05) (0.0002650767828,-0.0004591264557) (-5.421010862e-20,3.252606517e-19) (0.0001065037686,-0.0001844699384) (-0.006663150733,0.01154091561) (-9.127041456e-07,1.580849952e-06) (0.0002416297276,-0.0004185149648) (4.235164736e-22,-8.470329473e-22) (1.483669546e-06,-2.569791035e-06) (-3.500462032e-05,6.06297809e-05) (-8.719713196e-09,1.510298628e-08) (1.471765147e-05,-2.549172011e-05) (-4.235164736e-22,2.541098842e-21) (6.08483442e-09,-1.053924237e-08) (-3.835660981e-05,6.643559699e-05) (-3.797649481e-09,6.577721851e-09) (1.178686968e-06,-2.041545716e-06) (-1.905824131e-21,0) (2.4179593e-07,-4.188028358e-07) (2.191988206e-10,-3.796634942e-10) (-2.364132934e-05,4.094798358e-05) (1.230236002e-05,-2.130831261e-05) (0,-8.470329473e-22) (1.181594739e-06,-2.046582122e-06) (1.185010832e-09,-2.052498968e-09) (-4.056713351e-05,7.026433636e-05) (-2.316881374e-05,4.012956255e-05) (8.470329473e-22,-2.541098842e-21) (-2.188570265e-06,3.790714895e-06) (-5.101434888e-09,8.835944417e-09) (6.486224796e-05,-0.000112344709) (-2.66489559e-06,4.61573456e-06) (-4.235164736e-22,8.470329473e-22) (-1.304105758e-06,2.258777432e-06) (-2.554688277e-09,4.424849894e-09) (3.739300532e-05,-6.476658507e-05) (4.052238551e-06,-7.018683054e-06) (-1.058791184e-22,0) (-1.147182595e-08,1.986978541e-08) (-1.153315372e-11,1.997600821e-11) (4.290322277e-06,-7.431056164e-06) (1.630475981e-06,-2.824067239e-06) (1.058791184e-22,4.235164736e-22) (-8.329871479e-08,1.442776062e-07) (-9.227744456e-11,1.598292224e-10) (3.112744687e-06,-5.391431949e-06) (4.610680091e-06,-7.985932175e-06) (7.411538288e-22,-2.117582368e-22) (-4.072151729e-12,7.05317369e-12) (-4.732118624e-07,8.196269885e-07) (-4.150544398e-10,7.188953777e-10) (1.376158085e-05,-2.383575722e-05) (1.058791184e-22,-1.058791184e-22) (-1.530521796e-07,2.650941513e-07) (-1.73488401e-10,3.004907251e-10) (5.513119534e-06,-9.54900314e-06) (4.337960104e-06,-7.513567301e-06) (5.29395592e-23,2.117582368e-22) (-7.700519144e-08,1.33376904e-07) (-8.508942103e-11,1.473792004e-10) (6.216831785e-07,-1.076786851e-06) (6.222146986e-06,-1.077707471e-05) -(0.05157424969,-0.08932922082) (0.07911949656,-0.1370389879) (0.005517042647,-0.009555798172) (-0.009454263379,0.01637526452) (-0.002817873889,0.004880700745) (0.001260905509,-0.002183952404) (0.0005417059474,-0.0009382622237) (-8.342600894e-05,0.0001444980862) (-0.0001916579055,0.0003319612299) (2.369564209e-05,-4.104205603e-05) (2.020298538e-05,-3.499259714e-05) (6.741548682e-06,-1.167670484e-05) (-1.149346843e-05,1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.029992064e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.202285663e-20,0) (-2.218079148e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.029258124e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.580803511e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.374896899e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (1.852884572e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.584939414e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (8.602678371e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (-4.33680869e-19,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (0,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (8.470329473e-22,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (1.058791184e-22,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (1.058791184e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-4.878909776e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-3.388131789e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-5.505714157e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (8.470329473e-22,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (2.117582368e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (1.270549421e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.176373552e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-5.29395592e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.588186776e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (0,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (-6.505213035e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (2.710505431e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (5.421010862e-20,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (0,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (0,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (1.058791184e-22,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (0,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (3.97046694e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04715705099,0) (0.02200154358,0) (0.1067286698,0) (0.02202428562,0) (0.17465834,0) (0.07141108635,0) (0.1000731762,0) (0.06107260141,0) (0.05848951507,0) (0.07464156391,0) (0.02679567375,0) (0.03681690082,0) (0.0005054573398,0) (0.06266017622,0) (0.02292789445,0) (0.005280432053,0) (0.03058641266,0) (0.0130185903,0) (4.477807442e-05,0) (0.02165478127,0) (0.007876474827,0) (0.007860017766,0) (0.003864294445,0) (0.004255431357,0) (8.845381168e-05,0) (0.006720385865,0) (0.002471484938,0) (0.00210919833,0) (0.001197367089,0) (0.001200149458,0) (0.0001043161214,0) (0.001637026661,0) (0.0006321024569,0) (0.0005029865235,0) (0.0001561530053,0) (0.0002392339673,0) (3.034857158e-05,0) (0.0002847271479,0) (0.0001143827643,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01859825451,0) (0.06390622139,0) (6.755733522e-05,0) (0.008047876816,0) (0.000795739924,0) (0.001439577538,0) (0.0001502310143,0) (8.77421026e-05,0) (0.0001284505699,0) (4.018974268e-05,0) (4.676521113e-06,0) (9.083245777e-07,0) (1.177074896e-05,0) (0.008307597159,0) (0.01873421824,0) (2.900333486e-08,0) (0.0006427535352,0) (0.002074227619,0) (0.09464435446,0) (4.913666987e-05,0) (0.0001652571093,0) (0.02141018871,0) (0.0001298657198,0) (0.0002102475176,0) (0.004281715785,0) (1.48520788e-05,0) (7.255278567e-06,0) (0.007171961804,0) (5.016290298e-06,0) (8.510401907e-06,0) (0.0004140783138,0) (1.516294083e-06,0) (4.817059328e-06,0) (0.0009909456417,0) (1.489550748e-05,0) (6.169100968e-06,0) (3.434653454e-06,0) (9.073734504e-07,0) (4.539544298e-06,0) (0.0003945514261,0) (3.054738133e-07,0) (6.950824905e-07,0) (5.407485655e-07,0) (9.805598736e-07,0) (1.955658851e-06,0) (8.959547428e-06,0) (8.815473737e-07,0) (7.766105257e-06,0) (1.471985915e-05,0) (5.021918199e-07,0) (5.508541434e-06,0) (1.701290994e-05,0) (6.505213035e-19,0) (0.0003326380646,0) (0.01469282168,0) (0.03477374258,0) (0.02107630735,0) (3.252606517e-19,0) (1.4617477e-05,0) (0.006316834902,0) (0.01007236596,0) (0.03687902424,0) (-2.059984128e-18,0) (2.1761899e-07,0) (8.535073252e-06,0) (2.333908512e-05,0) (0.04386035073,0) (3.388131789e-21,0) (2.12877168e-11,0) (0.0001802105721,0) (0.0006483001201,0) (0.0003180537728,0) (-1.423015351e-19,0) (1.934512603e-07,0) (3.215971441e-06,0) (3.60306497e-07,0) (0.008593632408,0) (9.95263713e-21,0) (3.785330716e-07,0) (1.214894467e-05,0) (8.316142622e-05,0) (0.0002399527039,0) (-2.943439492e-20,0) (1.065981606e-06,0) (1.932844051e-05,0) (1.262102486e-07,0) (0.0007885513656,0) (-1.905824131e-20,0) (2.756248094e-07,0) (1.154541289e-05,0) (1.377253857e-05,0) (0.0004170207456,0) (1.334076892e-20,0) (1.372912756e-08,0) (3.015892013e-07,0) (1.65338949e-06,0) (0.000225542516,0) (-7.27918939e-22,0) (1.277388161e-07,0) (1.135050709e-06,0) (1.097300767e-05,0) (1.837231386e-05,0) (0,0) (2.299303327e-09,0) (3.123692756e-07,0) (3.074695245e-06,0) (1.039677966e-06,0) (6.882142696e-22,0) (4.239383809e-08,0) (1.699838817e-06,0) (1.420235844e-05,0) (2.844450342e-05,0) (-2.779326858e-22,0) (2.066829092e-08,0) (1.009713072e-06,0) (8.983597702e-06,0) (1.122430129e-06,0) -(0.002275502001,0) (0.008614442707,0) (9.757687426e-05,0) (0.0009594613604,0) (0.0002006887602,0) (0.0001344801982,0) (4.162976727e-05,0) (3.375856311e-06,0) (2.305933326e-05,0) (1.429218846e-06,0) (1.061506507e-06,0) (7.051341767e-07,0) (1.451702978e-06,0) (0.0197919787,0) (0.04576663462,0) (0.003064285325,0) (0.006931890706,0) (0.002776848162,0) (0.01119185278,0) (0.0002405708549,0) (0.0001044086936,0) (0.003665373389,0) (0.0006670496628,0) (0.0002562656941,0) (0.0002404198937,0) (5.111300906e-06,0) (1.4983551e-05,0) (0.001075955865,0) (7.907287005e-06,0) (6.558427154e-06,0) (1.279841726e-05,0) (3.558166217e-06,0) (2.878390215e-06,0) (0.0001413922296,0) (5.77551433e-06,0) (2.981494912e-05,0) (2.987868567e-06,0) (3.734951082e-07,0) (2.875161334e-06,0) (4.065104123e-05,0) (3.494642989e-07,0) (1.349041095e-09,0) (2.229293379e-06,0) (2.854297262e-07,0) (1.146538659e-06,0) (2.970188831e-06,0) (7.434637826e-07,0) (5.101582132e-06,0) (1.477386609e-06,0) (4.203040616e-07,0) (2.548710907e-06,0) (2.065288763e-07,0) (0,0) (0.00381120272,0) (0.03499174491,0) (0.02310179904,0) (0.06236724561,0) (0,0) (0.001009633108,0) (0.0298739139,0) (0.0119849688,0) (0.002478434544,0) (0,0) (1.099057939e-05,0) (0.0003399323208,0) (0.000145642374,0) (0.00607617128,0) (-5.421010862e-20,0) (2.892328027e-07,0) (0.001438457613,0) (0.0006405979474,0) (0.0003449598824,0) (-1.355252716e-20,0) (4.286455912e-05,0) (9.37661877e-06,0) (2.331100428e-05,0) (0.0009596164022,0) (-3.388131789e-21,0) (5.739308119e-06,0) (7.551310522e-06,0) (1.320365452e-05,0) (0.0001350056191,0) (-1.694065895e-21,0) (4.544913819e-06,0) (2.850249043e-05,0) (6.63333715e-06,0) (0.0001130091179,0) (0,0) (1.524088828e-06,0) (7.334038823e-06,0) (2.344902083e-05,0) (8.380257917e-05,0) (1.053196334e-08,0) (2.117582368e-22,0) (2.631799423e-08,0) (5.681500867e-07,0) (9.841263226e-06,0) (0,0) (4.420829531e-07,0) (1.736699721e-06,0) (1.043708995e-06,0) (1.023766845e-05,0) (-4.235164736e-22,0) (6.41372051e-07,0) (3.151162781e-06,0) (3.071688387e-06,0) (5.020121102e-06,0) (3.257591355e-07,0) (-1.058791184e-22,0) (1.259765493e-06,0) (8.095219997e-06,0) (2.749685552e-07,0) (5.29395592e-23,0) (2.494036453e-07,0) (9.133146635e-07,0) (8.753312292e-07,0) (1.469478759e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (0,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.33680869e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (5.717472394e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.270549421e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.651714247e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (-1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.911675756e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-4.63221143e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-9.264422861e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (-8.67361738e-19,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (-1.084202172e-19,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-2.710505431e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-2.541098842e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (4.235164736e-22,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (0,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (-2.117582368e-22,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (6.938893904e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-8.67361738e-19,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-3.388131789e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (8.470329473e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (-1.694065895e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (4.235164736e-22,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (6.352747104e-22,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (-4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-4.235164736e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-2.117582368e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,-0.0005263748085) (0.04090131005,-0.07084314711) (-0.00883687416,0.01530591502) (0.01252654015,-0.02169660398) (-0.000346879798,0.0006008134342) (-5.135379222e-06,8.894737729e-06) (0.001183168129,-0.002049307314) (-0.00268255013,0.004646313118) (5.808926845e-07,-1.006135643e-06) (0.001574284488,-0.002726740719) (-0.004459427703,0.007723955355) (1.129113895e-06,-1.955682633e-06) (0.0001341706355,-0.0002323903576) (0.0003683995724,-0.0006380867769) (-1.952858243e-07,3.382449696e-07) (-4.227609596e-05,7.322434614e-05) (9.017141291e-05,-0.0001561814685) (-1.85615821e-08,3.214960327e-08) (3.392569073e-05,-5.876102003e-05) (0.0002193194444,-0.0003798724208) (-9.853361838e-08,1.706652333e-07) (0.0001346486464,-0.0002332182967) (-0.0003281340941,0.0005683449226) (7.513718213e-08,-1.30141417e-07) (2.344440262e-05,-4.060689649e-05) (4.508202613e-05,-7.808435976e-05) (-2.665283983e-08,4.616407275e-08) (3.529806653e-05,-6.113804464e-05) (-8.179885248e-05,0.0001416797685) (1.80411161e-08,-3.12481297e-08) (3.253944728e-05,-5.635997594e-05) (1.08655697e-05,-1.881971877e-05) (-1.708094113e-08,2.958505788e-08) (1.043761257e-05,-1.807847528e-05) (-3.251583845e-05,5.631908425e-05) (8.68155776e-09,-1.503689913e-08) (1.137503137e-05,-1.970213227e-05) (5.505628404e-07,-9.536028123e-07) (-4.783889003e-09,8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,-0.03639567249) (-0.01883018317,0.03261483397) (0.0001264463693,-0.0002190115361) (6.834581865e-05,-0.0001183784304) (-9.063998106e-05,0.0001569930524) (-0.0002675942571,0.0004634868491) (9.461888584e-05,-0.0001638847176) (6.093280015e-05,-0.0001055387057) (-5.903420635e-05,0.0001022502448) (-2.685320506e-05,4.65111155e-05) (8.271937295e-06,-1.432741567e-05) (-3.536237701e-06,6.124943366e-06) (-1.181918528e-05,2.04714294e-05) (0.01305259065,-0.02260775017) (-1.972421406e-05,3.41633409e-05) (-3.139793852e-05,5.438282477e-05) (-0.001208003877,0.002092324091) (1.712798772e-06,-2.966654497e-06) (-0.01682721675,0.02914559437) (-2.585942318e-05,4.47898348e-05) (9.67925942e-09,-1.67649691e-08) (0.0005877851435,-0.001018073733) (1.150133528e-06,-1.992089707e-06) (-3.493905947e-10,6.051622618e-10) (6.952941289e-06,-1.204284757e-05) (8.190971413e-08,-1.418717865e-07) (1.32217184e-05,-2.290068804e-05) (-0.0004639768554,0.0008036314871) (-6.629958665e-10,1.148342526e-09) (1.637002792e-05,-2.835372008e-05) (-0.0002004334016,0.0003471608352) (9.621648202e-11,-1.666518354e-10) (-1.475131992e-05,2.555003558e-05) (0.0002859360877,-0.0004952558317) (1.363844101e-07,-2.362247277e-07) (8.972964103e-10,-1.554162972e-09) (-1.642133626e-05,2.844258873e-05) (6.808895039e-11,-1.179335215e-10) (8.86002333e-06,-1.534601056e-05) (-0.0001070329349,0.0001853864814) (1.530817236e-11,-2.651453229e-11) (1.09037461e-06,-1.888584223e-06) (-4.296340024e-06,7.441479207e-06) (2.752512015e-10,-4.767490659e-10) (-7.394344286e-07,1.280737999e-06) (1.652763697e-05,-2.862670696e-05) (7.276235858e-11,-1.260281019e-10) (3.451371935e-06,-5.977951547e-06) (-1.976500436e-05,3.423399176e-05) (3.583427253e-11,-6.206678068e-11) (3.65150322e-06,-6.3245891e-06) (-1.973991048e-05,3.419052789e-05) (4.33680869e-19,1.301042607e-18) (-0.0008395542634,0.00145415064) (0.02522679048,-0.04369408282) (-3.126224837e-05,5.414780254e-05) (-0.01100183246,0.01905573281) (-1.084202172e-19,-3.252606517e-19) (6.005470316e-05,-0.0001040177971) (-0.003199103504,0.005541009808) (9.138118664e-07,-1.582768581e-06) (-0.002344817337,0.004061342763) (4.404571326e-20,-5.421010862e-20) (5.727926757e-07,-9.921060165e-07) (-1.287812239e-05,2.230556228e-05) (8.725406379e-09,-1.511284716e-08) (-0.000335289152,0.0005807378464) (-6.352747104e-22,8.470329473e-22) (1.81243952e-09,-3.139237334e-09) (-1.242058352e-05,2.151308171e-05) (3.802120767e-09,-6.585466345e-09) (2.538152278e-06,-4.396208702e-06) (1.694065895e-20,-2.710505431e-20) (9.202421743e-08,-1.593906201e-07) (-2.195446888e-10,3.802625555e-10) (-5.129786172e-06,8.885050281e-06) (-0.0002810210377,0.0004867427153) (2.964615315e-21,8.470329473e-22) (3.473961335e-07,-6.017077536e-07) (-1.186831509e-09,2.055652473e-09) (-7.965351864e-05,0.0001379639413) (0.0001256283905,-0.0002175947552) (-1.482307658e-21,-1.694065895e-21) (-9.779151322e-07,1.693798695e-06) (5.110513569e-09,-8.851669155e-09) (3.289864391e-06,-5.698212276e-06) (0.0001171394555,-0.0002028914885) (8.893845946e-21,1.270549421e-21) (-3.844266251e-07,6.658464465e-07) (2.55914016e-09,-4.432560781e-09) (2.632175311e-05,-4.559061372e-05) (-6.372623528e-05,0.0001103770773) (-3.494010907e-21,-1.058791184e-21) (-3.632365662e-09,6.291441879e-09) (1.155167341e-11,-2.000808526e-11) (6.979756536e-06,-1.208929295e-05) (-3.434954941e-05,5.94951648e-05) (6.6174449e-22,4.764560328e-22) (-4.430089943e-08,7.673140864e-08) (9.242620673e-11,-1.60086886e-10) (-7.708935966e-06,1.335226877e-05) (2.033211796e-05,-3.521626133e-05) (2.64697796e-23,0) (2.732028175e-11,-4.732011607e-11) (-2.030819374e-07,3.517482337e-07) (4.158427398e-10,-7.202607533e-10) (5.390575629e-06,-9.336750872e-06) (-4.235164736e-22,-2.117582368e-22) (-3.944424504e-08,6.831943648e-08) (1.737627841e-10,-3.009659705e-10) (1.261265833e-05,-2.184576504e-05) (-1.944658249e-05,3.36824689e-05) (6.6174449e-22,-1.535247217e-21) (-1.766566272e-08,3.059782538e-08) (8.522954168e-11,-1.476218965e-10) (2.700280003e-06,-4.67702216e-06) (-4.74143023e-06,8.212398059e-06) -(0.01677258801,-0.02905097462) (0.02573064519,-0.04456678478) (0.001794210947,-0.00310766452) (-0.003074644141,0.005325439867) (-0.0009164076666,0.001587264639) (0.0004100621676,-0.0007102485086) (0.0001761695175,-0.000305134555) (-2.713117662e-05,4.699257638e-05) (-6.232953669e-05,0.0001079579244) (7.706117781e-06,-1.334738753e-05) (6.57026234e-06,-1.138002819e-05) (2.192435553e-06,-3.797409769e-06) (-3.737819008e-06,6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.252606517e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.029992064e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.778769189e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (1.016439537e-20,0) (3.933175975e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780887e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (6.088049308e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.713152409e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.80884512e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.514629062e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-7.754818243e-26,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (7.610061635e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (4.63221143e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-8.67361738e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (0,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (0,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (-2.64697796e-23,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (-8.470329473e-22,0) (-4.040786576e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (5.29395592e-23,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (0,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (2.168404345e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (8.67361738e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-1.355252716e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (1.355252716e-20,0) (-1.267303586e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-2.117582368e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.117582368e-22,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (-4.235164736e-21,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (5.29395592e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-4.367513634e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (-1.32348898e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-2.168404345e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (0,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (0,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (0,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-8.470329473e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (0,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (2.439454888e-19,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.607859233e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (6.035109749e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.482307658e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.672890071e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.382280164e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-3.97046694e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-6.6174449e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (0,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (0,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-5.421010862e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-5.082197684e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (0,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (-1.058791184e-22,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (0,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.08286250691,0) (0.02431037598,0) (0.06871438145,0) (0.04930718395,0) (0.09326492082,0) (0.1255216072,0) (0.1061377676,0) (0.01064733091,0) (0.1028501942,0) (0.06073138578,0) (0.01278119823,0) (0.06474155448,0) (0.02720911517,0) (0.01856972471,0) (0.04031468813,0) (0.02489475137,0) (0.001098999625,0) (0.02289168401,0) (0.01002216348,0) (0.005704391145,0) (0.01384947954,0) (0.007451325099,0) (0.001045456362,0) (0.007482962107,0) (0.00281298841,0) (0.002121681757,0) (0.004345654447,0) (0.002153156807,0) (0.0002431658316,0) (0.002110392238,0) (0.000552027313,0) (0.0007100396512,0) (0.001111378275,0) (0.0003829383684,0) (9.474450534e-05,0) (0.0004206906223,0) (8.459498418e-05,0) (0.0001437766924,0) (0.0002010868071,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01151542489,0) (0.03956862145,0) (4.182927054e-05,0) (0.004982979502,0) (0.0004926958775,0) (0.0008913388619,0) (9.301808191e-05,0) (5.432701179e-05,0) (7.953235012e-05,0) (2.488416119e-05,0) (2.895547407e-06,0) (5.624045764e-07,0) (7.288058967e-06,0) (0.01044095573,0) (0.03297631033,0) (0.0001606173415,0) (0.001446472844,0) (0.003652617632,0) (0.05815477759,0) (0.0001173327325,0) (0.0002910130741,0) (0.01321743319,0) (8.960512001e-05,0) (0.000370321967,0) (0.002702735249,0) (2.612306591e-05,0) (7.450636785e-06,0) (0.004441884828,0) (8.839061027e-06,0) (2.57761275e-05,0) (0.0002373242255,0) (2.671175919e-06,0) (1.079249771e-05,0) (0.0006061888617,0) (4.643013261e-07,0) (1.085909936e-05,0) (1.26714713e-05,0) (1.598089418e-06,0) (2.20050347e-07,0) (0.0002471462147,0) (5.375848748e-07,0) (1.919689554e-09,0) (8.5178208e-07,0) (1.732231442e-06,0) (4.45895687e-06,0) (2.579457553e-06,0) (1.552409348e-06,0) (1.30742986e-06,0) (1.287012362e-05,0) (8.842413405e-07,0) (1.047868629e-06,0) (1.304197819e-05,0) (-6.505213035e-19,0) (0.0009533201785,0) (0.01896428393,0) (0.06121497228,0) (0.0125521507,0) (-3.252606517e-19,0) (4.931195373e-06,0) (0.004185764753,0) (0.017738704,0) (0.02547954574,0) (-1.219727444e-18,0) (3.110674544e-07,0) (1.42753078e-05,0) (4.111206382e-05,0) (0.02715447401,0) (1.355252716e-20,0) (6.693630906e-11,0) (0.0004446572613,0) (0.001141388293,0) (5.175547801e-05,0) (-2.710505431e-20,0) (2.896624921e-07,0) (5.66493273e-06,0) (2.653219922e-06,0) (0.005319222649,0) (4.446922973e-21,0) (1.23469439e-06,0) (2.140210977e-05,0) (1.142126714e-05,0) (0.0001911500099,0) (4.235164736e-21,0) (9.22882494e-07,0) (3.405631521e-05,0) (2.500444833e-05,0) (0.000468632467,0) (-1.270549421e-20,0) (8.923175134e-07,0) (2.033674126e-05,0) (1.365401367e-06,0) (0.0002679810755,0) (-3.388131789e-21,0) (3.61685241e-08,0) (5.311357506e-07,0) (1.40319171e-07,0) (0.0001405914279,0) (7.676236084e-22,0) (5.585209319e-08,0) (1.999539627e-06,0) (1.227245632e-05,0) (6.248313256e-06,0) (2.64697796e-23,0) (1.724997877e-09,0) (3.122744061e-07,0) (5.411018301e-06,0) (1.415448965e-06,0) (8.999725065e-22,0) (1.989853278e-07,0) (2.994061638e-06,0) (2.564169571e-06,0) (2.415994883e-05,0) (-5.29395592e-23,0) (1.319703087e-07,0) (1.777963699e-06,0) (3.027655855e-06,0) (3.402615008e-06,0) -(0.00553605759,0) (0.02095803515,0) (0.0002373942959,0) (0.002334268809,0) (0.0004882546943,0) (0.0003271762106,0) (0.0001012808553,0) (8.213104159e-06,0) (5.610093811e-05,0) (3.477139478e-06,0) (2.582533942e-06,0) (1.715517459e-06,0) (3.531841012e-06,0) (0.03483145319,0) (0.02253296123,0) (0.003063275652,0) (0.003468356907,0) (0.004882815777,0) (0.02756244955,0) (0.0001539254955,0) (0.0001835979054,0) (0.008857709221,0) (0.0002891550959,0) (0.0004506771526,0) (0.0007129915528,0) (8.993340896e-06,0) (4.250060433e-06,0) (0.002625833686,0) (1.60314874e-05,0) (1.152525194e-05,0) (3.496369595e-06,0) (6.261644115e-06,0) (1.658833738e-05,0) (0.0003176578563,0) (1.01594509e-05,0) (1.337741548e-06,0) (5.129237847e-05,0) (6.572109132e-07,0) (2.20383207e-07,0) (0.0001039161773,0) (6.150600883e-07,0) (2.836013573e-06,0) (9.454592508e-07,0) (2.430401289e-06,0) (2.015296627e-06,0) (9.633593424e-08,0) (1.307998808e-06,0) (7.127991709e-07,0) (1.179406541e-05,0) (7.39491486e-07,0) (3.820896297e-07,0) (4.342680978e-06,0) (0,0) (0.002099748074,0) (0.06156955733,0) (7.114789054e-05,0) (0.05029811769,0) (0,0) (0.0005299594019,0) (0.01318363225,0) (0.02107802791,0) (0.01106375401,0) (2.168404345e-19,0) (7.058923414e-06,0) (0.0001891960434,0) (0.0002561189377,0) (0.01475511786,0) (0,0) (1.711878633e-07,0) (0.0009584736151,0) (0.001126274353,0) (0.0003682274248,0) (-2.710505431e-20,0) (2.7652106e-05,0) (8.673773527e-06,0) (4.097130545e-05,0) (0.002315825677,0) (0,0) (3.702756937e-06,0) (1.329608283e-05,0) (5.70924401e-06,0) (0.0003295600291,0) (2.541098842e-21,0) (2.946557407e-06,0) (5.015820037e-05,0) (0.0001264260713,0) (3.861267461e-05,0) (-6.776263578e-21,0) (9.875766575e-07,0) (1.29029779e-05,0) (2.779852115e-06,0) (0.0002263576027,0) (6.573952743e-09,0) (-4.235164736e-22,0) (4.630728464e-08,0) (4.275873786e-07,0) (2.47925857e-05,0) (3.705769144e-22,0) (2.784547616e-07,0) (3.05584326e-06,0) (1.806598778e-05,0) (2.003963724e-06,0) (4.235164736e-22,0) (4.120885495e-07,0) (1.368540015e-06,0) (5.405814955e-06,0) (5.188382974e-06,0) (2.103438461e-07,0) (-8.470329473e-22,0) (2.21632634e-06,0) (2.994934864e-06,0) (1.202228621e-05,0) (-1.058791184e-22,0) (1.473351266e-07,0) (1.60672927e-06,0) (3.824359347e-07,0) (1.483102828e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566194e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (0,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-1.694065895e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (-6.776263578e-21,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (5.082197684e-21,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (0,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (-8.470329473e-22,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (0,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-1.270549421e-21,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (4.235164736e-22,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-8.470329473e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,0.0006977515524) (-0.04299386424,0.07446755728) (-0.007090582965,0.01228124995) (-0.01874283661,0.03246354529) (-0.0002534798879,0.0004390400445) (6.808460863e-06,-1.179260014e-05) (0.001218491756,-0.00211048963) (0.001120069607,-0.001940017466) (-7.702992143e-07,1.334197376e-06) (0.001420036301,-0.002459575022) (0.003079871323,-0.005334493612) (-1.497289225e-06,2.593381012e-06) (-0.0009844018759,0.001705034064) (0.0002005515599,-0.0003473654913) (2.589526051e-07,-4.485190688e-07) (-9.179394658e-05,0.0001589917793) (1.709241288e-05,-2.960492753e-05) (2.461341544e-08,-4.263168609e-08) (-0.0005075475471,0.0008790981388) (0.0001125653912,-0.0001949689767) (1.306577615e-07,-2.263058812e-07) (0.0001311012957,-0.0002270741051) (0.0001706747231,-0.0002956172919) (-9.963682546e-08,1.72576044e-07) (-0.0001322101708,0.0002289947331) (2.533065632e-05,-4.387398374e-05) (3.534207956e-08,-6.121427745e-08) (3.566399888e-05,-6.177185807e-05) (3.686250359e-05,-6.384772911e-05) (-2.392364366e-08,4.143696631e-08) (-7.485395282e-05,0.0001296508494) (7.155927413e-06,-1.239442985e-05) (2.264899878e-08,-3.922921662e-08) (9.107253788e-06,-1.577422628e-05) (2.532776104e-05,-4.386896896e-05) (-1.151244726e-08,1.994014357e-08) (-1.899134758e-05,3.289397892e-05) (3.912341003e-07,-6.776373393e-07) (6.342969012e-09,-1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,-0.02863872232) (-0.01481693702,0.02566368773) (9.949706138e-05,-0.0001723339655) (5.377938606e-05,-9.314862906e-05) (-7.132203009e-05,0.0001235333798) (-0.0002105623306,0.0003647046547) (7.44529174e-05,-0.0001289562357) (4.794629208e-05,-8.304541391e-05) (-4.645234247e-05,8.045781728e-05) (-2.113002537e-05,3.65982775e-05) (6.508952823e-06,-1.127383699e-05) (-2.782565142e-06,4.819544201e-06) (-9.300181641e-06,1.610838712e-05) (-0.01463285707,0.0253448519) (2.616874833e-05,-4.532560167e-05) (-0.002336540875,0.00404700751) (0.001812179585,-0.003138787114) (-2.272899548e-06,3.936777498e-06) (-0.01319038986,0.02284642541) (3.996000794e-05,-6.921276402e-05) (-1.284453257e-08,2.224738301e-08) (0.0004618297644,-0.0007999126164) (-9.553607913e-07,1.65473343e-06) (4.636983056e-10,-8.031490246e-10) (5.524098285e-06,-9.568018896e-06) (-1.086310209e-07,1.881544475e-07) (-1.339854236e-05,2.320695611e-05) (-0.000365141319,0.0006324433165) (8.800808196e-10,-1.524344694e-09) (2.84893946e-05,-4.934507893e-05) (-0.0001517399338,0.0002628212748) (-1.277053227e-10,2.211921074e-10) (-2.208009141e-05,3.824384015e-05) (0.0002236392519,-0.0003873545469) (2.407892199e-08,-4.170591628e-08) (-1.190479427e-09,2.061970853e-09) (-3.154137007e-05,5.46312555e-05) (-9.036164812e-11,1.565109656e-10) (1.950696771e-06,-3.378705918e-06) (-8.471154588e-05,0.0001467247015) (-2.03076594e-11,3.517389786e-11) (5.730243228e-08,-9.925072411e-08) (-5.392190249e-06,9.339547476e-06) (-3.658433149e-10,6.336592089e-10) (-1.116528349e-06,1.933883829e-06) (8.868127353e-06,-1.536004714e-05) (-9.65577339e-11,1.67242901e-10) (1.416117621e-06,-2.452787669e-06) (-1.848146722e-05,3.201084023e-05) (-4.754985346e-11,8.235876209e-11) (1.592600314e-06,-2.75846466e-06) (-1.728333755e-05,2.993561877e-05) (-4.33680869e-19,-2.602085214e-18) (0.001421288335,-0.002461743608) (-0.02866009467,0.04964074012) (4.147852654e-05,-7.184291538e-05) (-0.008490374326,0.01470575971) (0,-2.710505431e-20) (-3.488083878e-05,6.041538497e-05) (0.002604149643,-0.004510519493) (-1.212696121e-06,2.100451296e-06) (-0.001949014841,0.003375792729) (2.879912021e-20,-1.863472484e-20) (-6.84819863e-07,1.186142797e-06) (1.665488592e-05,-2.88471086e-05) (-1.158052873e-08,2.005806414e-08) (-0.0002638178336,0.0004569458917) (0,2.117582368e-22) (-3.213881516e-09,5.566606076e-09) (1.951032757e-05,-3.379287863e-05) (-5.044923245e-09,8.738063381e-09) (1.02387175e-06,-1.773397892e-06) (1.6093626e-20,1.863472484e-20) (-1.126062466e-07,1.950397403e-07) (2.913830078e-10,-5.046901739e-10) (1.392033993e-05,-2.411073601e-05) (-0.0002210927651,0.0003829439024) (-4.235164736e-22,-2.541098842e-21) (-6.274119749e-07,1.086709418e-06) (1.575244907e-09,-2.728404213e-09) (-2.951896633e-05,5.112834946e-05) (0.0001121274987,-0.0001942105247) (-3.811648263e-21,5.082197684e-21) (9.099122566e-07,-1.576014259e-06) (-6.783673963e-09,1.174966797e-08) (-4.63062193e-05,8.020472453e-05) (9.03034606e-05,-0.0001564101819) (2.752857079e-21,-2.329340605e-21) (6.916940092e-07,-1.198049167e-06) (-3.396487491e-09,5.882888901e-09) (-8.287775515e-06,1.435484827e-05) (-5.108477623e-05,8.848142792e-05) (-2.223461487e-21,2.329340605e-21) (5.895674323e-09,-1.021160747e-08) (-1.532991602e-11,2.655219342e-11) (2.033345566e-06,-3.521857829e-06) (-2.71197858e-05,4.697284689e-05) (6.352747104e-22,-1.270549421e-21) (2.929347052e-08,-5.073777927e-08) (-1.226739939e-10,2.124775902e-10) (-8.152622709e-06,1.412075675e-05) (1.185719849e-05,-2.053727021e-05) (-5.29395592e-23,1.058791184e-22) (2.366362762e-11,-4.098660533e-11) (2.030510961e-07,-3.51694815e-07) (-5.516550356e-10,9.554945499e-10) (-6.289741996e-06,1.08941527e-05) (-1.588186776e-22,-2.117582368e-22) (8.545604851e-08,-1.480142178e-07) (-2.306127229e-10,3.994329529e-10) (5.359197563e-06,-9.282402468e-06) (-1.792223291e-05,3.104221799e-05) (1.588186776e-22,-4.235164736e-22) (4.463913472e-08,-7.731724935e-08) (-1.130973968e-10,1.958904374e-10) (1.567605963e-06,-2.715173175e-06) (-8.255361831e-06,1.429870613e-05) -(-0.02616144742,0.04531295613) (-0.04013399248,0.06951411408) (-0.002798563663,0.004847254452) (0.004795750123,-0.008306482873) (0.001429388891,-0.002475774183) (-0.0006396043251,0.001107827188) (-0.0002747846405,0.0004759409585) (4.231850505e-05,-7.329780085e-05) (9.721999344e-05,-0.0001683899681) (-1.201980249e-05,2.08189086e-05) (-1.024812465e-05,1.775027258e-05) (-3.419704066e-06,5.923101189e-06) (5.830153065e-06,-1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424695399e-12,0) (-0.008719428334,0) (0.06301289739,0) (-4.33680869e-19,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138141033e-13,0) (-6.644558929e-05,0) (8.470329473e-22,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (-8.470329473e-22,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640454e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182211e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (1.058791184e-22,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (0,0) (-3.139926191e-09,0) (-5.790193243e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (8.470329473e-22,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556846e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808164e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-4.235164736e-22,0) (-2.091688994e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.21468247e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-7.589415207e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (2.710505431e-20,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (4.065758147e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (-6.776263578e-21,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (0,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (1.694065895e-21,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (8.470329473e-22,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (4.235164736e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (0,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (1.734723476e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-1.084202172e-18,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-1.694065895e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (6.776263578e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (3.388131789e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (0,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (1.058791184e-21,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-2.117582368e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-6.352747104e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566195e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (-6.776263578e-21,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-3.388131789e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (0,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (0,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (-3.388131789e-21,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (0,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (4.235164736e-22,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-8.470329473e-22,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (1.270549421e-21,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-4.235164736e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0.2370734683,0) (0.0006670533688,0) (0.004066218674,0) (0.0006820777545,0) (0.0005956356081,0) (8.044155541e-06,0) (9.655870575e-06,0) (6.831873609e-05,0) (4.382157398e-05,0) (1.591626787e-05,0) (1.652759785e-05,0) (1.94939596e-05,0) (1.491606603e-05,0) (3.877437899e-09,0) (0.000104543173,0) (0.3087228188,0) (0.0001062601308,0) (0.02189791074,0) (1.451237323e-09,0) (0.00101721631,0) (6.767884142e-05,0) (3.270019455e-11,0) (0.002703808895,0) (4.554381508e-05,0) (7.902103776e-11,0) (3.058225334e-05,0) (0.0002763177339,0) (1.071720204e-11,0) (1.677877475e-07,0) (1.554212663e-07,0) (1.046209416e-14,0) (9.935797639e-06,0) (6.792423503e-05,0) (2.685856042e-12,0) (0.0001254778854,0) (5.197168565e-06,0) (3.878416987e-12,0) (3.452071693e-06,0) (3.698293816e-05,0) (1.425830819e-12,0) (2.421919495e-05,0) (1.387963126e-06,0) (7.687789817e-13,0) (1.030262135e-06,0) (3.786694817e-05,0) (1.535265483e-12,0) (3.118113231e-05,0) (2.989431376e-07,0) (8.846582533e-13,0) (1.823523549e-07,0) (2.000685348e-05,0) (1.00557303e-12,0) (3.415236843e-18,0) (-4.33680869e-19,0) (0,0) (0.03787629397,0) (0.1290043371,0) (9.757819552e-19,0) (1.626303259e-19,0) (1.734723476e-18,0) (0.01166407464,0) (0.02777002614,0) (0,0) (-1.905824131e-21,0) (-6.776263578e-21,0) (0.0001520492622,0) (9.479976155e-05,0) (3.726944968e-20,0) (-1.016439537e-20,0) (0,0) (0.0005765989928,0) (0.002012299337,0) (3.30872245e-24,0) (-2.067951531e-24,0) (4.135903063e-25,0) (2.968303438e-07,0) (9.832055907e-08,0) (-1.058791184e-22,0) (3.97046694e-23,0) (-1.389663429e-22,0) (3.860134312e-07,0) (9.979758691e-06,0) (-1.694065895e-21,0) (4.235164736e-22,0) (-2.01170325e-21,0) (3.578750522e-05,0) (7.498366886e-05,0) (-2.488159283e-21,0) (5.29395592e-23,0) (8.470329473e-22,0) (1.02162398e-05,0) (6.854234909e-05,0) (-1.058791184e-22,0) (-9.264422861e-23,0) (0,0) (9.779609685e-07,0) (8.699365442e-06,0) (-2.117582368e-22,0) (-5.29395592e-23,0) (-1.32348898e-23,0) (4.056902711e-06,0) (8.419618364e-06,0) (0,0) (1.98523347e-23,0) (-1.032321404e-21,0) (5.202177913e-06,0) (1.997650936e-05,0) (5.29395592e-23,0) (-3.176373552e-22,0) (4.764560328e-22,0) (2.701400034e-06,0) (1.519803296e-05,0) (2.117582368e-22,0) (-3.30872245e-23,0) (4.566036981e-22,0) (2.43172997e-06,0) (8.192639034e-06,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (1.073506527e-10,0) (0.04541795873,0) (0.1725741146,0) (0.01007922853,0) (4.289735641e-10,0) (0.01096928929,0) (5.737094057e-05,0) (1.333779821e-12,0) (6.161287463e-05,0) (4.444852922e-08,0) (1.969247442e-15,0) (4.145795013e-08,0) (1.730393003e-13,0) (0.0001003702013,0) (0.0001160749593,0) (5.79959204e-05,0) (1.968726167e-12,0) (0.000456033966,0) (4.122042944e-13,0) (0.0001878179395,0) (0.0003229003659,0) (1.646882568e-13,0) (1.410595769e-05,0) (0.0002999456081,0) (5.102445159e-14,0) (6.696096688e-05,0) (0.0001183515028,0) (8.984760364e-14,0) (5.83628165e-07,0) (0.0001427988773,0) (2.344464954e-06,0) (1.402501907e-15,0) (0.0001207276869,0) (4.655188215e-14,0) (6.221369806e-06,0) (0.0001060713667,0) (3.292207679e-14,0) (1.583941041e-06,0) (9.971418463e-05,0) (-4.33680869e-18,0) (0.009429544937,0) (1.5840107e-13,0) (0.0005109923468,0) (0.194759507,0) (2.710505431e-19,0) (0.002555581156,0) (0.005067391794,0) (1.942355678e-10,0) (0.0004409201741,0) (-3.388131789e-21,0) (2.942625463e-05,0) (5.654394068e-05,0) (2.071868796e-12,0) (8.037295849e-06,0) (-1.058791184e-22,0) (7.348914505e-07,0) (3.230829218e-06,0) (6.964797294e-14,0) (1.567816421e-07,0) (-1.355252716e-20,0) (0.000113937913,0) (0.0001851425888,0) (2.781457311e-11,0) (2.999024015e-05,0) (-6.776263578e-21,0) (1.52722285e-05,0) (1.871511688e-11,0) (0.0005040683449,0) (5.02024039e-05,0) (-1.016439537e-20,0) (1.211469523e-05,0) (6.023879719e-13,0) (0.0001599166819,0) (0.0002441829949,0) (-1.355252716e-20,0) (4.063106018e-06,0) (2.623064153e-13,0) (0.000205223284,0) (3.30332097e-05,0) (2.733646717e-08,0) (8.470329473e-22,0) (4.552654708e-15,0) (0.000111644296,0) (2.711731612e-05,0) (-6.776263578e-21,0) (1.172473665e-06,0) (1.533275629e-13,0) (1.278860789e-05,0) (9.776751272e-05,0) (2.541098842e-21,0) (1.709717327e-06,0) (1.530464362e-07,0) (1.424655546e-13,0) (0.0001104626914,0) (8.6197615e-07,0) (-2.964615315e-21,0) (6.739760524e-14,0) (2.211632354e-05,0) (7.515207224e-05,0) (4.65868121e-21,0) (6.315078598e-07,0) (3.652790367e-14,0) (1.2355385e-07,0) (8.266795114e-05,0) -(-0.12111549,0.2097781823) (-0.0005607657229,0.0009712747232) (-0.002000518664,0.003464999967) (-0.0004075616168,0.0007059174275) (-0.0002729746153,0.0004728059028) (-1.278868443e-06,2.21506512e-06) (-6.037625137e-06,1.045747349e-05) (-3.526857492e-05,6.108696368e-05) (-1.932297171e-05,3.346836876e-05) (-7.415213061e-06,1.284352577e-05) (-8.572210917e-06,1.484750484e-05) (-9.354879707e-06,1.620312695e-05) (-6.899174245e-06,1.194972032e-05) (-8.714321431e-08,1.509364747e-07) (-0.002819411596,0.004883364132) (0.01502942923,-0.02603173503) (0.0008700924344,-0.001507044304) (0.0001228246921,-0.0002127386071) (7.320806355e-10,-1.268000856e-09) (0.0001192873191,-0.0002066116974) (-8.929992509e-05,0.0001546720074) (1.373510759e-11,-2.378990418e-11) (0.000299626932,-0.0005189690695) (-0.0001838490925,0.0003184359691) (5.231009427e-11,-9.060374109e-11) (3.300273741e-05,-5.716241798e-05) (-2.446401255e-05,4.237291269e-05) (4.22210803e-12,-7.312905618e-12) (2.383089031e-07,-4.12763128e-07) (-2.03263699e-07,3.52063054e-07) (1.663957861e-14,-2.882059558e-14) (1.598075748e-05,-2.767948389e-05) (-1.228323086e-05,2.127517993e-05) (1.819532646e-12,-3.151522988e-12) (1.701272271e-05,-2.946690011e-05) (-1.203371311e-05,2.08430025e-05) (2.268351532e-12,-3.928900099e-12) (4.63149072e-06,-8.021977241e-06) (-3.344313848e-06,5.792521501e-06) (6.401746961e-13,-1.1088151e-12) (3.782440103e-06,-6.551378435e-06) (-2.784982798e-06,4.823731704e-06) (4.566111217e-13,-7.908736608e-13) (3.233764025e-06,-5.601043591e-06) (-1.652550646e-06,2.862301681e-06) (8.418017027e-13,-1.458043318e-12) (2.598776547e-06,-4.501213017e-06) (-1.422702445e-06,2.464192919e-06) (5.279271586e-13,-9.143966619e-13) (8.817371997e-07,-1.527213629e-06) (-1.45942524e-07,2.527798665e-07) (4.485466413e-13,-7.769055725e-13) (2.710505431e-18,-1.95156391e-18) (-8.67361738e-19,0) (0,0) (-0.02060375576,0.0356867518) (0.06045012766,-0.1047026924) (0,0) (2.168404345e-19,0) (2.168404345e-19,-8.67361738e-19) (-0.005297526462,0.009175584986) (0.01558567133,-0.02699517461) (3.388131789e-21,-6.776263578e-21) (6.776263578e-21,0) (-2.541098842e-21,1.694065895e-21) (-2.702014961e-05,4.680027195e-05) (0.0001359807469,-0.0002355255625) (2.710505431e-20,-2.710505431e-20) (6.776263578e-21,-1.355252716e-20) (3.388131789e-21,0) (-0.0003173531288,0.0005496717431) (0.0009319561715,-0.001614195439) (-1.32348898e-23,-2.64697796e-23) (-1.98523347e-23,6.6174449e-23) (-6.6174449e-24,0) (1.10762366e-08,-1.918460455e-08) (-6.716194071e-07,1.163278936e-06) (0,0) (-1.32348898e-23,5.29395592e-23) (-1.32348898e-22,-1.32348898e-22) (-4.754822232e-07,8.235593687e-07) (2.065183874e-06,-3.577003397e-06) (0,0) (3.176373552e-22,-2.329340605e-21) (1.058791184e-21,-6.776263578e-21) (-1.517604603e-05,2.628568279e-05) (4.50724991e-05,-7.806785847e-05) (-1.588186776e-21,4.341043855e-21) (-2.64697796e-22,3.176373552e-22) (-4.235164736e-22,8.470329473e-22) (-7.538565652e-06,1.305717873e-05) (2.367733081e-05,-4.101033996e-05) (1.98523347e-23,-1.32348898e-23) (9.264422861e-23,1.852884572e-22) (2.64697796e-23,5.29395592e-23) (-8.103564901e-07,1.403578613e-06) (2.67611154e-06,-4.635161153e-06) (-1.588186776e-22,0) (-7.940933881e-23,5.29395592e-23) (-2.64697796e-23,5.29395592e-23) (-1.711417653e-06,2.964262327e-06) (5.087485249e-06,-8.811782933e-06) (0,-2.117582368e-22) (-3.97046694e-23,0) (-2.117582368e-22,5.29395592e-22) (-2.996110319e-06,5.189415297e-06) (8.841353425e-06,-1.531367334e-05) (-1.058791184e-22,0) (2.117582368e-22,2.117582368e-22) (-7.940933881e-23,5.823351512e-22) (-1.848699751e-06,3.202041897e-06) (5.660846895e-06,-9.804874436e-06) (0,0) (4.135903063e-23,-2.249931266e-22) (2.316105715e-23,5.29395592e-23) (-1.315863121e-06,2.279141781e-06) (3.859226647e-06,-6.68437663e-06) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1395541466,-0.2417148723) (-0.01357903408,-0.02351957694) (0.01423099906,0.02464881341) (0.004074510377,0.007057258989) (-0.001425660096,-0.00246931572) (1.975203663e-05,3.4211531e-05) (-5.71653615e-06,-9.901331055e-06) (-7.743450601e-05,-0.0001341204987) (6.633973277e-05,0.0001149037877) (-4.268839373e-05,-7.393846683e-05) (3.706007127e-05,6.418992637e-05) (-2.936722707e-05,-5.086552936e-05) (1.515866188e-05,2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,-0.102295252) (0.003122660326,0.005408606339) (0.001450134843,0.002511707226) (-1.663179087e-05,-2.88071068e-05) (-5.691193611e-05,-9.85743649e-05) (4.320980191e-06,7.484157229e-06) (-1.508217198e-05,-2.612308816e-05) (-5.052939195e-06,-8.751947413e-06) (-3.798238809e-06,-6.578742597e-06) (-1.228729791e-05,-2.128222427e-05) (-6.964894952e-06,-1.206355193e-05) (-2.032950537e-06,-3.521173619e-06) (-3.820457386e-06,-6.6172263e-06) (0.005175592884,0.008964389834) (5.304917144e-09,9.188386024e-09) (-0.09224965312,-0.1597810862) (-0.0001541485888,-0.0002669931877) (1.707308578e-10,2.957145201e-10) (0.01114537494,0.01930435567) (2.347871873e-06,4.066633374e-06) (-7.561107841e-13,-1.309622278e-12) (0.000246935527,0.000427704879) (-1.387241408e-07,-2.402772602e-07) (-6.941934625e-14,-1.202378346e-13) (-5.376045784e-06,-9.311584441e-06) (-7.712042098e-13,-1.335764866e-12) (8.292123503e-08,1.436237921e-07) (-4.795061678e-05,-8.305290452e-05) (-4.456588466e-15,-7.719037506e-15) (-4.108193539e-07,-7.115599937e-07) (3.307487654e-06,5.728736662e-06) (2.981603408e-15,5.164287035e-15) (1.947461171e-06,3.373101694e-06) (-2.748230891e-05,-4.760075535e-05) (-1.069619489e-08,-1.8526353e-08) (7.219598505e-15,1.25047114e-14) (3.005871758e-06,5.206322606e-06) (-2.336955431e-15,-4.047727356e-15) (8.74177065e-07,1.514119091e-06) (-1.502558212e-05,-2.602507165e-05) (1.117846321e-16,1.936173322e-16) (2.783083705e-06,4.820442378e-06) (-2.210803363e-05,-3.82922375e-05) (1.377538078e-13,2.385965939e-13) (4.150521297e-07,7.188913765e-07) (-5.857532454e-06,-1.014554382e-05) (-2.638813198e-15,-4.570558867e-15) (4.927792809e-07,8.535187514e-07) (-3.782800919e-06,-6.552003387e-06) (-2.398416777e-15,-4.154178646e-15) (1.233592183e-06,2.136644337e-06) (-8.538607507e-06,-1.478930203e-05) (-7.047314121e-19,1.19262239e-18) (0.0007200330219,0.001247133777) (-0.0001878309588,-0.0003253327639) (3.990106786e-09,6.911067683e-09) (-0.03195096622,-0.05534069685) (5.895349313e-19,4.065758147e-20) (-2.330564706e-05,-4.036656481e-05) (0.0007153114482,0.001238955771) (2.662361388e-10,4.611345187e-10) (0.003245375324,0.005621154951) (5.29395592e-23,-1.217609862e-21) (6.095239344e-10,1.055726423e-09) (-3.44128403e-08,-5.960478783e-08) (7.464270409e-14,1.292849562e-13) (1.059566382e-05,1.835222807e-05) (1.694065895e-21,2.541098842e-21) (-1.888476037e-09,-3.270936446e-09) (8.862191923e-06,1.534976668e-05) (-1.368859682e-12,-2.370934516e-12) (6.318959677e-06,1.094475921e-05) (-2.64697796e-22,-8.999725065e-22) (7.446402637e-11,1.28975477e-10) (-1.079534703e-15,-1.869808926e-15) (-7.090290898e-08,-1.228074408e-07) (4.706497865e-06,8.151893428e-06) (-1.058791184e-22,-1.588186776e-22) (1.33340407e-08,2.309523596e-08) (-4.125560409e-14,-7.14568029e-14) (6.800887061e-06,1.177948193e-05) (-1.445470366e-05,-2.503628115e-05) (-3.97046694e-23,3.441071348e-22) (1.436655647e-09,2.488360574e-09) (2.776996633e-14,4.809899276e-14) (3.119865907e-07,5.403766263e-07) (-1.632104712e-06,-2.826888284e-06) (-2.117582368e-22,-2.382280164e-22) (-4.064786482e-09,-7.040416709e-09) (2.25289788e-14,3.902133595e-14) (-3.398791457e-07,-5.886879487e-07) (1.948638818e-06,3.375141438e-06) (1.720535674e-22,1.244079641e-21) (2.900715708e-10,5.024186985e-10) (-8.107039159e-16,-1.40417988e-15) (1.611039988e-06,2.790403113e-06) (-1.070561973e-05,-1.854267731e-05) (-6.6174449e-23,5.161607022e-22) (6.102102725e-09,1.056915195e-08) (1.654781332e-14,2.866165417e-14) (4.947043268e-06,8.568530288e-06) (-1.021949476e-05,-1.770068415e-05) (1.654361225e-24,4.652890946e-25) (4.489881054e-12,7.776702106e-12) (-2.191745498e-09,-3.79621456e-09) (-9.634049138e-17,-1.668666272e-16) (-1.590204424e-08,-2.754314857e-08) (-6.6174449e-24,-4.63221143e-23) (3.879285887e-09,6.719120253e-09) (-8.601079543e-15,-1.489750653e-14) (1.863843086e-06,3.228270922e-06) (-3.791159118e-06,-6.566480212e-06) (-7.940933881e-23,1.720535674e-22) (8.070512659e-09,1.397853797e-08) (-9.55011458e-15,-1.654128355e-14) (1.512581421e-06,2.619867872e-06) (-4.456953971e-06,-7.719670724e-06) -(-0.1378654839,-0.2387900227) (-0.0169245535,-0.02931418655) (0.0167882116,0.02907803547) (0.002856832998,0.004948179901) (-0.001021264037,-0.001768881199) (-6.261071557e-05,-0.0001084449405) (-5.097302548e-05,-8.828786994e-05) (5.211057454e-06,9.025816272e-06) (-1.563957284e-05,-2.708853477e-05) (1.958875962e-05,3.392872691e-05) (-7.901662008e-06,-1.368608006e-05) (1.11827671e-06,1.936912078e-06) (-3.986478569e-06,-6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,-0.0005191289988) (0.09925944203,0.1719223967) (0.0005701036329,0.0009874484577) (0.03744131566,0.06485026102) (-1.08363822e-05,-1.876916455e-05) (5.12637978e-06,8.879150237e-06) (-0.0004333454456,-0.000750576329) (-0.004174757703,-0.007230892451) (-5.79928862e-07,-1.004466254e-06) (-0.0003092991382,-0.0005357218221) (-0.008557666191,-0.01482231264) (-1.127253589e-06,-1.952460489e-06) (0.001441927363,0.002497491453) (0.0001026368809,0.0001777722925) (1.949578464e-07,3.376768953e-07) (7.957927152e-05,0.0001378353415) (6.761905753e-05,0.0001171196432) (1.853059582e-08,3.209593345e-08) (0.0007081325001,0.001226521469) (7.017291895e-05,0.0001215430609) (9.836838076e-08,1.703790333e-07) (-3.926527806e-05,-6.800945657e-05) (-0.000555379596,-0.0009619456778) (-7.501276439e-08,-1.299259191e-07) (0.0001990917172,0.0003448369695) (1.15125293e-05,1.994028567e-05) (2.660804959e-08,4.608649378e-08) (-1.201453687e-05,-2.080978829e-05) (-0.0001308978504,-0.0002267217275) (-1.801120482e-08,-3.119632186e-08) (0.0001320177961,0.0002286615304) (1.379282385e-06,2.388987168e-06) (1.705203038e-08,2.953498298e-08) (-1.642038463e-06,-2.844094046e-06) (-6.621122398e-05,-0.000114681204) (-8.667301526e-09,-1.501220661e-08) (3.661879991e-05,6.342562196e-05) (3.18796139e-08,5.521711101e-08) (4.775645764e-09,8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,-0.00159926779) (0.0008274199475,0.001433133388) (-5.55619918e-06,-9.623619276e-06) (-3.00319403e-06,-5.201684645e-06) (3.982825217e-06,6.898455633e-06) (1.175840002e-05,2.036614625e-05) (-4.157662878e-06,-7.201283346e-06) (-2.677457455e-06,-4.637492347e-06) (2.594031055e-06,4.492993584e-06) (1.179960774e-06,2.043752012e-06) (-3.634784569e-07,-6.295631548e-07) (1.553863596e-07,2.691370696e-07) (5.193486208e-07,8.995381981e-07) (0.03245066753,0.05620620491) (1.973358379e-05,3.417956974e-05) (0.003074044889,0.005324401932) (-0.003612640396,-0.006257276715) (-1.712840758e-06,-2.966727218e-06) (0.0006726502744,0.001165064451) (-7.897721341e-05,-0.0001367925463) (-9.66799994e-09,-1.67454671e-08) (-2.492556751e-05,-4.317234933e-05) (2.421005667e-06,4.19330482e-06) (3.489741388e-10,6.044409389e-10) (-3.762967448e-07,-6.517650808e-07) (-8.094592238e-08,-1.402024502e-07) (3.136037117e-05,5.431775621e-05) (2.045657133e-05,3.54318209e-05) (6.618798767e-10,1.146409575e-09) (-2.146830323e-05,-3.718419194e-05) (8.675245077e-07,1.502596524e-06) (-9.606141336e-11,-1.663832486e-10) (1.456791745e-05,2.523237319e-05) (-1.076291122e-05,-1.864190907e-05) (1.04629614e-07,1.812238073e-07) (-8.956602146e-10,-1.551328998e-09) (2.547207111e-05,4.411892133e-05) (-6.797765478e-11,-1.177407519e-10) (6.283968979e-06,1.088415354e-05) (5.35510915e-06,9.275321128e-06) (-1.527935823e-11,-2.646462476e-11) (1.016270017e-06,1.760231303e-06) (2.862275528e-06,4.95760664e-06) (-2.747461897e-10,-4.758743597e-10) (7.443505779e-07,1.28925302e-06) (4.771932706e-06,8.265229897e-06) (-7.264500146e-11,-1.258248334e-10) (1.575517403e-06,2.728876191e-06) (4.761717681e-06,8.247536954e-06) (-3.577407697e-11,-6.196251891e-11) (1.541553266e-06,2.67004858e-06) (3.194233381e-06,5.532574508e-06) (0,1.734723476e-18) (-0.002729426434,-0.004727505259) (0.06324356095,0.1095410608) (3.126494954e-05,5.415248111e-05) (0.0002650767828,0.0004591264557) (5.421010862e-20,-3.252606517e-19) (0.0001065037686,0.0001844699384) (-0.006663150733,-0.01154091561) (-9.127041456e-07,-1.580849952e-06) (0.0002416297276,0.0004185149648) (-1.270549421e-21,-1.270549421e-21) (1.483669546e-06,2.569791035e-06) (-3.500462032e-05,-6.06297809e-05) (-8.719713196e-09,-1.510298628e-08) (1.471765147e-05,2.549172011e-05) (-1.270549421e-21,-2.964615315e-21) (6.08483442e-09,1.053924237e-08) (-3.835660981e-05,-6.643559699e-05) (-3.797649481e-09,-6.577721851e-09) (1.178686968e-06,2.041545716e-06) (-2.117582368e-22,-8.470329473e-22) (2.4179593e-07,4.188028358e-07) (2.191988206e-10,3.796634942e-10) (-2.364132934e-05,-4.094798358e-05) (1.230236002e-05,2.130831261e-05) (-8.470329473e-22,8.470329473e-22) (1.181594739e-06,2.046582122e-06) (1.185010832e-09,2.052498968e-09) (-4.056713351e-05,-7.026433636e-05) (-2.316881374e-05,-4.012956255e-05) (4.235164736e-22,8.470329473e-22) (-2.188570265e-06,-3.790714895e-06) (-5.101434888e-09,-8.835944417e-09) (6.486224796e-05,0.000112344709) (-2.66489559e-06,-4.61573456e-06) (-4.235164736e-22,4.235164736e-22) (-1.304105758e-06,-2.258777432e-06) (-2.554688277e-09,-4.424849894e-09) (3.739300532e-05,6.476658507e-05) (4.052238551e-06,7.018683054e-06) (1.058791184e-22,-1.058791184e-22) (-1.147182595e-08,-1.986978541e-08) (-1.153315372e-11,-1.997600821e-11) (4.290322277e-06,7.431056164e-06) (1.630475981e-06,2.824067239e-06) (0,-2.117582368e-22) (-8.329871479e-08,-1.442776062e-07) (-9.227744456e-11,-1.598292224e-10) (3.112744687e-06,5.391431949e-06) (4.610680091e-06,7.985932175e-06) (9.529120657e-22,1.270549421e-21) (-4.072151728e-12,-7.053173691e-12) (-4.732118624e-07,-8.196269885e-07) (-4.150544398e-10,-7.188953777e-10) (1.376158085e-05,2.383575722e-05) (0,1.058791184e-22) (-1.530521796e-07,-2.650941513e-07) (-1.73488401e-10,-3.004907251e-10) (5.513119534e-06,9.54900314e-06) (4.337960104e-06,7.513567301e-06) (-5.29395592e-23,-1.058791184e-22) (-7.700519144e-08,-1.33376904e-07) (-8.508942103e-11,-1.473792004e-10) (6.216831785e-07,1.076786851e-06) (6.222146986e-06,1.077707471e-05) -(0.05157424969,0.08932922082) (0.07911949656,0.1370389879) (0.005517042647,0.009555798172) (-0.009454263379,-0.01637526452) (-0.002817873889,-0.004880700745) (0.001260905509,0.002183952404) (0.0005417059474,0.0009382622237) (-8.342600894e-05,-0.0001444980862) (-0.0001916579055,-0.0003319612299) (2.369564209e-05,4.104205603e-05) (2.020298538e-05,3.499259714e-05) (6.741548682e-06,1.167670484e-05) (-1.149346843e-05,-1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,0.0005263748085) (0.04090131005,0.07084314711) (-0.00883687416,-0.01530591502) (0.01252654015,0.02169660398) (-0.000346879798,-0.0006008134342) (-5.135379222e-06,-8.894737729e-06) (0.001183168129,0.002049307314) (-0.00268255013,-0.004646313118) (5.808926845e-07,1.006135643e-06) (0.001574284488,0.002726740719) (-0.004459427703,-0.007723955355) (1.129113895e-06,1.955682633e-06) (0.0001341706355,0.0002323903576) (0.0003683995724,0.0006380867769) (-1.952858243e-07,-3.382449696e-07) (-4.227609596e-05,-7.322434614e-05) (9.017141291e-05,0.0001561814685) (-1.85615821e-08,-3.214960327e-08) (3.392569073e-05,5.876102003e-05) (0.0002193194444,0.0003798724208) (-9.853361838e-08,-1.706652333e-07) (0.0001346486464,0.0002332182967) (-0.0003281340941,-0.0005683449226) (7.513718213e-08,1.30141417e-07) (2.344440262e-05,4.060689649e-05) (4.508202613e-05,7.808435976e-05) (-2.665283983e-08,-4.616407275e-08) (3.529806653e-05,6.113804464e-05) (-8.179885248e-05,-0.0001416797685) (1.80411161e-08,3.12481297e-08) (3.253944728e-05,5.635997594e-05) (1.08655697e-05,1.881971877e-05) (-1.708094113e-08,-2.958505788e-08) (1.043761257e-05,1.807847528e-05) (-3.251583845e-05,-5.631908425e-05) (8.68155776e-09,1.503689913e-08) (1.137503137e-05,1.970213227e-05) (5.505628404e-07,9.536028123e-07) (-4.783889003e-09,-8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,0.03639567249) (-0.01883018317,-0.03261483397) (0.0001264463693,0.0002190115361) (6.834581865e-05,0.0001183784304) (-9.063998106e-05,-0.0001569930524) (-0.0002675942571,-0.0004634868491) (9.461888584e-05,0.0001638847176) (6.093280015e-05,0.0001055387057) (-5.903420635e-05,-0.0001022502448) (-2.685320506e-05,-4.65111155e-05) (8.271937295e-06,1.432741567e-05) (-3.536237701e-06,-6.124943366e-06) (-1.181918528e-05,-2.04714294e-05) (0.01305259065,0.02260775017) (-1.972421406e-05,-3.41633409e-05) (-3.139793852e-05,-5.438282477e-05) (-0.001208003877,-0.002092324091) (1.712798772e-06,2.966654497e-06) (-0.01682721675,-0.02914559437) (-2.585942318e-05,-4.47898348e-05) (9.67925942e-09,1.67649691e-08) (0.0005877851435,0.001018073733) (1.150133528e-06,1.992089707e-06) (-3.493905947e-10,-6.051622618e-10) (6.952941289e-06,1.204284757e-05) (8.190971413e-08,1.418717865e-07) (1.32217184e-05,2.290068804e-05) (-0.0004639768554,-0.0008036314871) (-6.629958665e-10,-1.148342526e-09) (1.637002792e-05,2.835372008e-05) (-0.0002004334016,-0.0003471608352) (9.621648202e-11,1.666518354e-10) (-1.475131992e-05,-2.555003558e-05) (0.0002859360877,0.0004952558317) (1.363844101e-07,2.362247277e-07) (8.972964103e-10,1.554162972e-09) (-1.642133626e-05,-2.844258873e-05) (6.808895039e-11,1.179335215e-10) (8.86002333e-06,1.534601056e-05) (-0.0001070329349,-0.0001853864814) (1.530817236e-11,2.651453229e-11) (1.09037461e-06,1.888584223e-06) (-4.296340024e-06,-7.441479207e-06) (2.752512015e-10,4.767490659e-10) (-7.394344286e-07,-1.280737999e-06) (1.652763697e-05,2.862670696e-05) (7.276235858e-11,1.260281019e-10) (3.451371935e-06,5.977951547e-06) (-1.976500436e-05,-3.423399176e-05) (3.583427253e-11,6.206678068e-11) (3.65150322e-06,6.3245891e-06) (-1.973991048e-05,-3.419052789e-05) (2.168404345e-19,0) (-0.0008395542634,-0.00145415064) (0.02522679048,0.04369408282) (-3.126224837e-05,-5.414780254e-05) (-0.01100183246,-0.01905573281) (-1.084202172e-19,3.794707604e-19) (6.005470316e-05,0.0001040177971) (-0.003199103504,-0.005541009808) (9.138118664e-07,1.582768581e-06) (-0.002344817337,-0.004061342763) (3.388131789e-20,5.759824041e-20) (5.727926757e-07,9.921060165e-07) (-1.287812239e-05,-2.230556228e-05) (8.725406379e-09,1.511284716e-08) (-0.000335289152,-0.0005807378464) (-4.235164736e-22,-4.235164736e-22) (1.81243952e-09,3.139237334e-09) (-1.242058352e-05,-2.151308171e-05) (3.802120767e-09,6.585466345e-09) (2.538152278e-06,4.396208702e-06) (2.329340605e-20,1.43995601e-20) (9.202421743e-08,1.593906201e-07) (-2.195446888e-10,-3.802625555e-10) (-5.129786172e-06,-8.885050281e-06) (-0.0002810210377,-0.0004867427153) (1.694065895e-21,1.694065895e-21) (3.473961335e-07,6.017077536e-07) (-1.186831509e-09,-2.055652473e-09) (-7.965351864e-05,-0.0001379639413) (0.0001256283905,0.0002175947552) (-4.446922973e-21,-4.235164736e-21) (-9.779151322e-07,-1.693798695e-06) (5.110513569e-09,8.851669155e-09) (3.289864391e-06,5.698212276e-06) (0.0001171394555,0.0002028914885) (7.199780052e-21,6.352747104e-21) (-3.844266251e-07,-6.658464465e-07) (2.55914016e-09,4.432560781e-09) (2.632175311e-05,4.559061372e-05) (-6.372623528e-05,-0.0001103770773) (-1.058791184e-22,4.235164736e-22) (-3.632365662e-09,-6.291441879e-09) (1.155167341e-11,2.000808525e-11) (6.979756536e-06,1.208929295e-05) (-3.434954941e-05,-5.94951648e-05) (3.97046694e-22,5.29395592e-23) (-4.430089943e-08,-7.673140864e-08) (9.242620673e-11,1.60086886e-10) (-7.708935966e-06,-1.335226877e-05) (2.033211796e-05,3.521626133e-05) (2.64697796e-23,0) (2.732028175e-11,4.732011607e-11) (-2.030819374e-07,-3.517482337e-07) (4.158427398e-10,7.202607533e-10) (5.390575629e-06,9.336750872e-06) (-5.29395592e-23,-1.588186776e-22) (-3.944424504e-08,-6.831943648e-08) (1.737627841e-10,3.009659705e-10) (1.261265833e-05,2.184576504e-05) (-1.944658249e-05,-3.36824689e-05) (3.97046694e-22,1.270549421e-21) (-1.766566272e-08,-3.059782538e-08) (8.522954168e-11,1.476218965e-10) (2.700280003e-06,4.67702216e-06) (-4.74143023e-06,-8.212398059e-06) -(0.01677258801,0.02905097462) (0.02573064519,0.04456678478) (0.001794210947,0.00310766452) (-0.003074644141,-0.005325439867) (-0.0009164076666,-0.001587264639) (0.0004100621676,0.0007102485086) (0.0001761695175,0.000305134555) (-2.713117662e-05,-4.699257638e-05) (-6.232953669e-05,-0.0001079579244) (7.706117781e-06,1.334738753e-05) (6.57026234e-06,1.138002819e-05) (2.192435553e-06,3.797409769e-06) (-3.737819008e-06,-6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,-0.0006977515524) (-0.04299386424,-0.07446755728) (-0.007090582965,-0.01228124995) (-0.01874283661,-0.03246354529) (-0.0002534798879,-0.0004390400445) (6.808460863e-06,1.179260014e-05) (0.001218491756,0.00211048963) (0.001120069607,0.001940017466) (-7.702992143e-07,-1.334197376e-06) (0.001420036301,0.002459575022) (0.003079871323,0.005334493612) (-1.497289225e-06,-2.593381012e-06) (-0.0009844018759,-0.001705034064) (0.0002005515599,0.0003473654913) (2.589526051e-07,4.485190688e-07) (-9.179394658e-05,-0.0001589917793) (1.709241288e-05,2.960492753e-05) (2.461341544e-08,4.263168609e-08) (-0.0005075475471,-0.0008790981388) (0.0001125653912,0.0001949689767) (1.306577615e-07,2.263058812e-07) (0.0001311012957,0.0002270741051) (0.0001706747231,0.0002956172919) (-9.963682546e-08,-1.72576044e-07) (-0.0001322101708,-0.0002289947331) (2.533065632e-05,4.387398374e-05) (3.534207956e-08,6.121427745e-08) (3.566399888e-05,6.177185807e-05) (3.686250359e-05,6.384772911e-05) (-2.392364366e-08,-4.143696631e-08) (-7.485395282e-05,-0.0001296508494) (7.155927413e-06,1.239442985e-05) (2.264899878e-08,3.922921662e-08) (9.107253788e-06,1.577422628e-05) (2.532776104e-05,4.386896896e-05) (-1.151244726e-08,-1.994014357e-08) (-1.899134758e-05,-3.289397892e-05) (3.912341003e-07,6.776373393e-07) (6.342969012e-09,1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,0.02863872232) (-0.01481693702,-0.02566368773) (9.949706138e-05,0.0001723339655) (5.377938606e-05,9.314862906e-05) (-7.132203009e-05,-0.0001235333798) (-0.0002105623306,-0.0003647046547) (7.44529174e-05,0.0001289562357) (4.794629208e-05,8.304541391e-05) (-4.645234247e-05,-8.045781728e-05) (-2.113002537e-05,-3.65982775e-05) (6.508952823e-06,1.127383699e-05) (-2.782565142e-06,-4.819544201e-06) (-9.300181641e-06,-1.610838712e-05) (-0.01463285707,-0.0253448519) (2.616874833e-05,4.532560167e-05) (-0.002336540875,-0.00404700751) (0.001812179585,0.003138787114) (-2.272899548e-06,-3.936777498e-06) (-0.01319038986,-0.02284642541) (3.996000794e-05,6.921276402e-05) (-1.284453257e-08,-2.224738301e-08) (0.0004618297644,0.0007999126164) (-9.553607913e-07,-1.65473343e-06) (4.636983056e-10,8.031490246e-10) (5.524098285e-06,9.568018896e-06) (-1.086310209e-07,-1.881544475e-07) (-1.339854236e-05,-2.320695611e-05) (-0.000365141319,-0.0006324433165) (8.800808196e-10,1.524344694e-09) (2.84893946e-05,4.934507893e-05) (-0.0001517399338,-0.0002628212748) (-1.277053227e-10,-2.211921074e-10) (-2.208009141e-05,-3.824384015e-05) (0.0002236392519,0.0003873545469) (2.407892199e-08,4.170591628e-08) (-1.190479427e-09,-2.061970853e-09) (-3.154137007e-05,-5.46312555e-05) (-9.036164812e-11,-1.565109656e-10) (1.950696771e-06,3.378705918e-06) (-8.471154588e-05,-0.0001467247015) (-2.03076594e-11,-3.517389786e-11) (5.730243228e-08,9.925072411e-08) (-5.392190249e-06,-9.339547476e-06) (-3.658433149e-10,-6.336592089e-10) (-1.116528349e-06,-1.933883829e-06) (8.868127353e-06,1.536004714e-05) (-9.65577339e-11,-1.67242901e-10) (1.416117621e-06,2.452787669e-06) (-1.848146722e-05,-3.201084023e-05) (-4.754985346e-11,-8.235876209e-11) (1.592600314e-06,2.75846466e-06) (-1.728333755e-05,-2.993561877e-05) (2.168404345e-19,1.301042607e-18) (0.001421288335,0.002461743608) (-0.02866009467,-0.04964074012) (4.147852654e-05,7.184291538e-05) (-0.008490374326,-0.01470575971) (2.710505431e-20,1.897353802e-19) (-3.488083878e-05,-6.041538497e-05) (0.002604149643,0.004510519493) (-1.212696121e-06,-2.100451296e-06) (-0.001949014841,-0.003375792729) (1.6093626e-20,3.04931861e-20) (-6.84819863e-07,-1.186142797e-06) (1.665488592e-05,2.88471086e-05) (-1.158052873e-08,-2.005806414e-08) (-0.0002638178336,-0.0004569458917) (6.352747104e-22,-6.352747104e-22) (-3.213881516e-09,-5.566606076e-09) (1.951032757e-05,3.379287863e-05) (-5.044923245e-09,-8.738063381e-09) (1.02387175e-06,1.773397892e-06) (2.286988958e-20,-1.694065895e-20) (-1.126062466e-07,-1.950397403e-07) (2.913830078e-10,5.046901739e-10) (1.392033993e-05,2.411073601e-05) (-0.0002210927651,-0.0003829439024) (-2.117582368e-21,3.811648263e-21) (-6.274119749e-07,-1.086709418e-06) (1.575244907e-09,2.728404213e-09) (-2.951896633e-05,-5.112834946e-05) (0.0001121274987,0.0001942105247) (-2.117582368e-22,-1.694065895e-21) (9.099122566e-07,1.576014259e-06) (-6.783673963e-09,-1.174966797e-08) (-4.63062193e-05,-8.020472453e-05) (9.03034606e-05,0.0001564101819) (1.058791184e-22,3.176373552e-21) (6.916940092e-07,1.198049167e-06) (-3.396487491e-09,-5.882888901e-09) (-8.287775515e-06,-1.435484827e-05) (-5.108477623e-05,-8.848142792e-05) (1.111730743e-21,-2.064642809e-21) (5.895674323e-09,1.021160747e-08) (-1.532991602e-11,-2.655219342e-11) (2.033345566e-06,3.521857829e-06) (-2.71197858e-05,-4.697284689e-05) (1.852884572e-22,8.470329473e-22) (2.929347052e-08,5.073777927e-08) (-1.226739939e-10,-2.124775902e-10) (-8.152622709e-06,-1.412075675e-05) (1.185719849e-05,2.053727021e-05) (-1.058791184e-22,5.29395592e-23) (2.366362762e-11,4.098660533e-11) (2.030510961e-07,3.51694815e-07) (-5.516550356e-10,-9.554945499e-10) (-6.289741996e-06,-1.08941527e-05) (-6.6174449e-22,-2.64697796e-22) (8.545604851e-08,1.480142178e-07) (-2.306127229e-10,-3.994329529e-10) (5.359197563e-06,9.282402468e-06) (-1.792223291e-05,-3.104221799e-05) (2.64697796e-22,2.117582368e-22) (4.463913472e-08,7.731724935e-08) (-1.130973968e-10,-1.958904374e-10) (1.567605963e-06,2.715173175e-06) (-8.255361831e-06,-1.429870613e-05) -(-0.02616144742,-0.04531295613) (-0.04013399248,-0.06951411408) (-0.002798563663,-0.004847254452) (0.004795750123,0.008306482873) (0.001429388891,0.002475774183) (-0.0006396043251,-0.001107827188) (-0.0002747846405,-0.0004759409585) (4.231850505e-05,7.329780085e-05) (9.721999344e-05,0.0001683899681) (-1.201980249e-05,-2.08189086e-05) (-1.024812465e-05,-1.775027258e-05) (-3.419704066e-06,-5.923101189e-06) (5.830153065e-06,1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.12111549,-0.2097781823) (-0.0005607657229,-0.0009712747232) (-0.002000518664,-0.003464999967) (-0.0004075616168,-0.0007059174275) (-0.0002729746153,-0.0004728059028) (-1.278868443e-06,-2.21506512e-06) (-6.037625137e-06,-1.045747349e-05) (-3.526857492e-05,-6.108696368e-05) (-1.932297171e-05,-3.346836876e-05) (-7.415213061e-06,-1.284352577e-05) (-8.572210917e-06,-1.484750484e-05) (-9.354879707e-06,-1.620312695e-05) (-6.899174245e-06,-1.194972032e-05) (-8.714321431e-08,-1.509364747e-07) (-0.002819411596,-0.004883364132) (0.01502942923,0.02603173503) (0.0008700924344,0.001507044304) (0.0001228246921,0.0002127386071) (7.320806355e-10,1.268000856e-09) (0.0001192873191,0.0002066116974) (-8.929992509e-05,-0.0001546720074) (1.373510759e-11,2.378990418e-11) (0.000299626932,0.0005189690695) (-0.0001838490925,-0.0003184359691) (5.231009427e-11,9.060374109e-11) (3.300273741e-05,5.716241798e-05) (-2.446401255e-05,-4.237291269e-05) (4.22210803e-12,7.312905618e-12) (2.383089031e-07,4.12763128e-07) (-2.03263699e-07,-3.52063054e-07) (1.663957861e-14,2.882059558e-14) (1.598075748e-05,2.767948389e-05) (-1.228323086e-05,-2.127517993e-05) (1.819532646e-12,3.151522988e-12) (1.701272271e-05,2.946690011e-05) (-1.203371311e-05,-2.08430025e-05) (2.268351532e-12,3.928900099e-12) (4.63149072e-06,8.021977241e-06) (-3.344313848e-06,-5.792521501e-06) (6.401746961e-13,1.1088151e-12) (3.782440103e-06,6.551378435e-06) (-2.784982798e-06,-4.823731704e-06) (4.566111217e-13,7.908736608e-13) (3.233764025e-06,5.601043591e-06) (-1.652550646e-06,-2.862301681e-06) (8.418017027e-13,1.458043318e-12) (2.598776547e-06,4.501213017e-06) (-1.422702445e-06,-2.464192919e-06) (5.279271586e-13,9.143966619e-13) (8.817371997e-07,1.527213629e-06) (-1.45942524e-07,-2.527798665e-07) (4.485466413e-13,7.769055725e-13) (1.029992064e-18,8.67361738e-19) (8.67361738e-19,-1.734723476e-18) (2.168404345e-19,1.734723476e-18) (-0.02060375576,-0.0356867518) (0.06045012766,0.1047026924) (-2.168404345e-19,0) (2.168404345e-19,-2.168404345e-19) (2.168404345e-19,8.67361738e-19) (-0.005297526462,-0.009175584986) (0.01558567133,0.02699517461) (0,6.776263578e-21) (8.470329473e-22,2.117582368e-21) (-3.388131789e-21,5.082197684e-21) (-2.702014961e-05,-4.680027195e-05) (0.0001359807469,0.0002355255625) (6.776263578e-21,6.776263578e-21) (0,1.355252716e-20) (6.776263578e-21,-6.776263578e-21) (-0.0003173531288,-0.0005496717431) (0.0009319561715,0.001614195439) (-1.32348898e-23,0) (3.30872245e-24,0) (0,-1.32348898e-23) (1.10762366e-08,1.918460455e-08) (-6.716194071e-07,-1.163278936e-06) (0,0) (0,0) (-5.29395592e-23,-7.27918939e-23) (-4.754822232e-07,-8.235593687e-07) (2.065183874e-06,3.577003397e-06) (8.470329473e-22,0) (4.235164736e-22,2.117582368e-21) (6.352747104e-22,5.717472394e-21) (-1.517604603e-05,-2.628568279e-05) (4.50724991e-05,7.806785847e-05) (-1.376428539e-21,-3.494010907e-21) (-3.705769144e-22,-1.058791184e-22) (-8.470329473e-22,-4.235164736e-22) (-7.538565652e-06,-1.305717873e-05) (2.367733081e-05,4.101033996e-05) (4.63221143e-23,2.64697796e-23) (1.191140082e-22,-2.514629062e-22) (2.64697796e-23,5.29395592e-23) (-8.103564901e-07,-1.403578613e-06) (2.67611154e-06,4.635161153e-06) (-1.588186776e-22,-3.176373552e-22) (-5.29395592e-23,2.117582368e-22) (2.64697796e-23,5.29395592e-23) (-1.711417653e-06,-2.964262327e-06) (5.087485249e-06,8.811782933e-06) (0,4.235164736e-22) (-2.64697796e-23,2.64697796e-23) (-3.441071348e-22,-6.352747104e-22) (-2.996110319e-06,-5.189415297e-06) (8.841353425e-06,1.531367334e-05) (-1.058791184e-22,-2.117582368e-22) (0,2.117582368e-22) (-1.32348898e-22,-4.764560328e-22) (-1.848699751e-06,-3.202041897e-06) (5.660846895e-06,9.804874436e-06) (5.29395592e-23,0) (-4.135903063e-23,1.257314531e-22) (7.27918939e-23,-1.058791184e-22) (-1.315863121e-06,-2.279141781e-06) (3.859226647e-06,6.68437663e-06) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2475006931,0) (0.001885655396,0) (0.003936900835,0) (0.0009741204454,0) (0.0005004075617,0) (8.132634863e-07,0) (1.510083094e-05,0) (7.282759888e-05,0) (3.408159058e-05,0) (1.381866281e-05,0) (1.778426622e-05,0) (1.795710592e-05,0) (1.276438578e-05,0) (7.833976983e-06,0) (0.3041454174,0) (0.002926686712,0) (0.02849839687,0) (2.755679327e-06,0) (1.477200313e-09,0) (5.595452752e-05,0) (0.000471312833,0) (2.30767043e-11,0) (0.0001328145617,0) (0.002968612862,0) (1.385122765e-10,0) (0.0001424591791,0) (8.663764015e-06,0) (6.653302287e-12,0) (1.353880343e-06,0) (1.063332768e-06,0) (1.058585676e-13,0) (0.0001028139335,0) (8.885062031e-06,0) (4.930568137e-12,0) (9.226573536e-06,0) (0.0001114531879,0) (5.306720436e-12,0) (2.485545863e-05,0) (1.209685944e-06,0) (1.149711836e-12,0) (2.362894913e-06,0) (2.235255113e-05,0) (1.084804457e-12,0) (4.060026829e-05,0) (2.884757044e-07,0) (1.846273793e-12,0) (8.663751496e-07,0) (2.708317392e-05,0) (1.260179665e-12,0) (1.705402686e-05,0) (4.258384822e-09,0) (8.003161713e-13,0) (1.561251128e-17,0) (6.938893904e-18,0) (8.67361738e-19,0) (0.04483170943,0) (0.1133052738,0) (8.67361738e-19,0) (-1.734723476e-18,0) (4.33680869e-19,0) (0.009624007898,0) (0.03498925778,0) (0,0) (5.421010862e-20,0) (6.776263578e-21,0) (1.920663012e-05,0) (0.0007802029551,0) (2.439454888e-19,0) (0,0) (2.710505431e-20,0) (0.0006986693326,0) (0.001726467409,0) (0,0) (-3.176373552e-22,0) (-4.235164736e-22,0) (1.653240914e-09,0) (1.835110102e-05,0) (0,0) (0,0) (0,0) (2.342751068e-06,0) (1.709453932e-06,0) (0,0) (1.016439537e-20,0) (1.101142831e-20,0) (2.57422105e-05,0) (0.0001083718738,0) (1.270549421e-21,0) (0,0) (-4.235164736e-22,0) (2.225083718e-05,0) (3.271647394e-05,0) (0,0) (2.911675756e-22,0) (0,0) (2.685905316e-06,0) (3.292917407e-06,0) (2.117582368e-22,0) (2.117582368e-22,0) (0,0) (2.887868495e-06,0) (1.229628472e-05,0) (2.117582368e-22,0) (0,0) (-4.235164736e-22,0) (6.902245323e-06,0) (1.565229019e-05,0) (-6.352747104e-22,0) (2.117582368e-22,0) (-4.235164736e-22,0) (5.060621495e-06,0) (8.434035548e-06,0) (-1.058791184e-22,0) (-8.470329473e-22,0) (-3.176373552e-22,0) (2.848171096e-06,0) (7.27171318e-06,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (0.08203099855,0) (8.306610194e-08,0) (0.1359609918,0) (0.009081386798,0) (5.657391905e-09,0) (0.01196712578,0) (5.443671855e-05,0) (2.267692166e-12,0) (6.454709571e-05,0) (4.074384328e-08,0) (2.322477598e-15,0) (4.516263572e-08,0) (1.806939314e-09,0) (9.637884248e-05,0) (0.0001200645114,0) (3.505088404e-13,0) (0.0001259530711,0) (0.0003880768169,0) (2.442169459e-14,0) (0.0001806923474,0) (0.0003300259584,0) (4.99498452e-09,0) (5.220474457e-13,0) (0.0003140465704,0) (2.043749217e-14,0) (6.916995033e-05,0) (0.0001161425193,0) (3.068536094e-15,0) (6.841874488e-06,0) (0.0001365406311,0) (3.090610873e-13,0) (1.118320353e-06,0) (0.0001219538312,0) (2.402304362e-14,0) (6.135362753e-06,0) (0.0001061573737,0) (1.022792114e-14,0) (9.682037194e-06,0) (9.16160885e-05,0) (0,0) (0.008475895408,0) (0.1732522102,0) (1.124213962e-07,0) (0.02297182624,0) (1.084202172e-19,0) (0.0009869192534,0) (0.006480627332,0) (3.316210435e-10,0) (0.000596346401,0) (1.694065895e-21,0) (6.030566529e-06,0) (7.772448169e-05,0) (1.304810639e-11,0) (1.025243196e-05,0) (0,0) (6.172455307e-07,0) (3.424236285e-06,0) (8.91940129e-14,0) (8.102047562e-08,0) (0,0) (1.7510264e-07,0) (5.995060337e-14,0) (0.0002921369044,0) (3.675876272e-05,0) (2.032879073e-20,0) (1.275281687e-06,0) (4.637667068e-13,0) (0.0003051743252,0) (0.0002630933887,0) (6.776263578e-21,0) (3.588497215e-06,0) (5.404957306e-12,0) (0.0003430215163,0) (6.96043537e-05,0) (5.082197684e-21,0) (2.144710129e-06,0) (2.269021793e-12,0) (0.0002012220718,0) (3.895281572e-05,0) (1.694065895e-21,0) (3.844113255e-09,0) (1.769838074e-15,0) (0.0001178597097,0) (2.092539475e-05,0) (-8.470329473e-22,0) (6.145570316e-08,0) (3.010474357e-14,0) (2.166322872e-05,0) (9.000390998e-05,0) (0,0) (1.298476433e-12,0) (5.281220211e-07,0) (2.249656277e-13,0) (0.0001117973318,0) (2.541098842e-21,0) (1.467994913e-07,0) (7.105028024e-14,0) (4.480358687e-05,0) (5.317998557e-05,0) (0,0) (6.039698986e-08,0) (2.87767903e-14,0) (3.246588878e-06,0) (8.011602699e-05,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.3147524089,0) (0.3911428714,0) (0.2057672699,0) (0.06817076837,0) (0.01624681051,0) (0.001918900616,0) (8.656155591e-06,0) (0.0003293313421,0) (0.0005165205109,0) (0.0005274892321,0) (0.000308913253,0) (0.0001921098042,0) (7.200817462e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1469209212,0) (0.001757452279,0) (0.008885391297,0) (0.0004765796032,0) (0.0003137171467,0) (3.753583099e-07,0) (3.817084e-06,0) (6.033841652e-07,0) (5.317323845e-07,0) (8.414643968e-06,0) (3.31541252e-06,0) (3.002007615e-07,0) (1.229871495e-06,0) (0.001306177527,0) (1.355168727e-09,0) (0.2503658847,0) (1.046614926e-05,0) (2.060951583e-11,0) (0.04152020624,0) (4.050576507e-07,0) (1.00843227e-12,0) (0.003778769832,0) (1.889305054e-06,0) (8.299835645e-12,0) (0.002559803502,0) (1.316604296e-15,0) (2.853709815e-10,0) (7.660087477e-05,0) (2.266554089e-16,0) (5.359854749e-09,0) (1.127557649e-07,0) (1.456075894e-15,0) (8.395718063e-08,0) (9.154156321e-06,0) (9.161877051e-08,0) (3.993706216e-16,0) (1.150818494e-07,0) (1.068890781e-15,0) (4.419176462e-08,0) (7.775554357e-06,0) (1.628929061e-17,0) (4.528323296e-06,0) (1.43185262e-05,0) (2.455969101e-13,0) (6.161678805e-07,0) (1.125366415e-06,0) (1.15944313e-15,0) (1.58315933e-07,0) (5.391837529e-07,0) (2.24968478e-15,0) (6.286898691e-07,0) (3.183188427e-06,0) (6.2883726e-18,0) (0.0002446691601,0) (8.145458932e-07,0) (5.664740933e-10,0) (0.177759353,0) (2.493664997e-18,0) (2.201408811e-06,0) (0.0003158153936,0) (8.549720567e-10,0) (0.0706465972,0) (1.058791184e-22,0) (2.464242287e-13,0) (6.094571757e-11,0) (1.707997469e-15,0) (4.38015457e-05,0) (8.131516294e-20,0) (2.311133296e-11,0) (9.174418953e-05,0) (8.403150672e-11,0) (0.001971316564,0) (5.29395592e-23,0) (1.266660794e-13,0) (7.775698928e-17,0) (6.88337889e-11,0) (2.410431746e-06,0) (1.356576205e-22,0) (5.576701781e-10,0) (1.468000911e-14,0) (6.062379565e-07,0) (3.176643229e-06,0) (-2.067951531e-24,0) (2.300661614e-12,0) (5.707138741e-16,0) (1.135038219e-09,0) (1.530804122e-07,0) (-1.178732373e-23,0) (3.081533289e-11,0) (8.947554122e-16,0) (2.296325301e-09,0) (3.899274721e-07,0) (6.749793798e-22,0) (8.755362874e-11,0) (1.48542241e-15,0) (8.808607626e-08,0) (2.190836451e-05,0) (-1.058791184e-22,0) (2.423577032e-09,0) (3.638364687e-14,0) (4.518853107e-06,0) (4.641490491e-06,0) (1.413638742e-27,0) (6.210057073e-11,0) (3.638362452e-11,0) (1.650294841e-19,0) (9.04762241e-12,0) (8.271806126e-24,0) (4.100520746e-10,0) (4.164857336e-15,0) (3.101457978e-07,0) (1.081074942e-06,0) (7.940933881e-23,0) (4.313670249e-09,0) (1.26775354e-14,0) (2.818838655e-06,0) (9.917835142e-07,0) -(0.1537404548,0) (0.003727007567,0) (0.00854296775,0) (0.0008283378013,0) (0.000249242271,0) (3.135135163e-06,0) (3.485164461e-06,0) (1.245370055e-07,0) (1.451806454e-06,0) (9.235094054e-06,0) (1.535303137e-06,0) (1.834495508e-07,0) (1.651277635e-06,0) (2.815830936e-10,0) (0.01983051592,0) (0.2311916741,0) (1.480857164e-06,0) (5.065308416e-11,0) (0.05191474862,0) (1.74172454e-07,0) (5.928976114e-13,0) (0.002321923377,0) (5.781125973e-06,0) (1.396714217e-11,0) (0.002995923626,0) (1.300580339e-15,0) (2.083846774e-09,0) (2.160554926e-05,0) (8.895745648e-08,0) (1.874301973e-14,0) (4.549221948e-07,0) (3.009999658e-15,0) (6.499753675e-08,0) (5.596904508e-06,0) (8.516512091e-16,0) (5.426835441e-08,0) (1.474190623e-07,0) (1.228211538e-15,0) (1.807091778e-07,0) (1.378205676e-05,0) (2.933157846e-14,0) (5.773281799e-06,0) (8.30249756e-06,0) (1.793970786e-07,0) (1.57524998e-14,0) (1.14196802e-07,0) (1.547102555e-15,0) (2.937426657e-07,0) (8.906479179e-07,0) (3.127361261e-15,0) (1.516806236e-06,0) (2.811236419e-06,0) (0,0) (1.511060808e-05,0) (5.607603461e-10,0) (0.1487858497,0) (0.02038732434,0) (1.734723476e-18,0) (9.734329973e-09,0) (0.0004046016186,0) (8.829540289e-10,0) (0.0787413867,0) (0,0) (1.175486027e-09,0) (3.16393186e-09,0) (1.818492629e-13,0) (0.0005493161406,0) (0,0) (1.11287863e-09,0) (2.242153709e-05,0) (5.137087983e-11,0) (0.001903470945,0) (-4.235164736e-22,0) (1.177409821e-09,0) (2.273659858e-09,0) (4.248625572e-15,0) (2.121979301e-05,0) (0,0) (1.746371504e-10,0) (3.101321166e-15,0) (2.618867638e-10,0) (3.3303246e-06,0) (-6.6174449e-24,0) (4.476698989e-11,0) (7.989091628e-15,0) (1.282889475e-07,0) (2.814187778e-07,0) (1.654361225e-24,0) (2.426502395e-12,0) (1.278136264e-16,0) (7.949778252e-10,0) (1.110717381e-07,0) (2.436173229e-11,0) (0,0) (3.526056281e-16,0) (7.3810059e-07,0) (2.697616726e-05,0) (0,0) (1.877165974e-10,0) (1.913490841e-14,0) (2.115184742e-06,0) (1.181201865e-06,0) (-1.654361225e-24,0) (6.907330169e-11,0) (1.047719175e-07,0) (7.596810143e-15,0) (7.557011361e-09,0) (1.895051636e-10,0) (0,0) (6.491569902e-15,0) (1.28432286e-06,0) (1.324891707e-06,0) (0,0) (9.739590345e-10,0) (2.829120299e-14,0) (3.141117806e-06,0) (2.187995244e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (0,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-8.67361738e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.376428539e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.421010862e-20,0) (-7.446672951e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (5.29395592e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-3.176373552e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (3.97046694e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.522012327e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.058791184e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (9.264422861e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (6.203854594e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-1.389663429e-22,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (0,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (6.505213035e-19,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (0,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-1.355252716e-20,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (0,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (0,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.084202172e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.032879073e-20,0) (-2.218079147e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.558653716e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.415367389e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.441071348e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (2.067951531e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.714186385e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (9.264422861e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (0,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (2.710505431e-20,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (0,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (5.29395592e-23,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (2.117582368e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.035766083e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.138412281e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.694065895e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (3.726944968e-20,0) (3.933175976e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780888e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (5.823351512e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.514629062e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.808845119e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.249931266e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-1.550963649e-25,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (6.948317145e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (5.128519798e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-4.33680869e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (-5.421010862e-20,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (-8.470329473e-22,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (0,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (0,0) (-4.040786575e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (1.058791184e-22,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (-2.117582368e-22,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424696266e-12,0) (-0.008719428334,0) (0.06301289739,0) (0,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138140965e-13,0) (-6.644558929e-05,0) (0,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (0,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640456e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182199e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (0,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (-5.29395592e-23,0) (-3.139926191e-09,0) (-5.790193031e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (0,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556893e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808167e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-2.117582368e-22,0) (-2.091689037e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.214682481e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(-0.1395541466,0.2417148723) (-0.01357903408,0.02351957694) (0.01423099906,-0.02464881341) (0.004074510377,-0.007057258989) (-0.001425660096,0.00246931572) (1.975203663e-05,-3.4211531e-05) (-5.71653615e-06,9.901331055e-06) (-7.743450601e-05,0.0001341204987) (6.633973277e-05,-0.0001149037877) (-4.268839373e-05,7.393846683e-05) (3.706007127e-05,-6.418992637e-05) (-2.936722707e-05,5.086552936e-05) (1.515866188e-05,-2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,0.102295252) (0.003122660326,-0.005408606339) (0.001450134843,-0.002511707226) (-1.663179087e-05,2.88071068e-05) (-5.691193611e-05,9.85743649e-05) (4.320980191e-06,-7.484157229e-06) (-1.508217198e-05,2.612308816e-05) (-5.052939195e-06,8.751947413e-06) (-3.798238809e-06,6.578742597e-06) (-1.228729791e-05,2.128222427e-05) (-6.964894952e-06,1.206355193e-05) (-2.032950537e-06,3.521173619e-06) (-3.820457386e-06,6.6172263e-06) (0.005175592884,-0.008964389834) (5.304917144e-09,-9.188386024e-09) (-0.09224965312,0.1597810862) (-0.0001541485888,0.0002669931877) (1.707308578e-10,-2.957145201e-10) (0.01114537494,-0.01930435567) (2.347871873e-06,-4.066633374e-06) (-7.561107841e-13,1.309622278e-12) (0.000246935527,-0.000427704879) (-1.387241408e-07,2.402772602e-07) (-6.941934625e-14,1.202378346e-13) (-5.376045784e-06,9.311584441e-06) (-7.712042098e-13,1.335764866e-12) (8.292123503e-08,-1.436237921e-07) (-4.795061678e-05,8.305290452e-05) (-4.456588466e-15,7.719037506e-15) (-4.108193539e-07,7.115599937e-07) (3.307487654e-06,-5.728736662e-06) (2.981603408e-15,-5.164287035e-15) (1.947461171e-06,-3.373101694e-06) (-2.748230891e-05,4.760075535e-05) (-1.069619489e-08,1.8526353e-08) (7.219598505e-15,-1.25047114e-14) (3.005871758e-06,-5.206322606e-06) (-2.336955431e-15,4.047727356e-15) (8.74177065e-07,-1.514119091e-06) (-1.502558212e-05,2.602507165e-05) (1.117846321e-16,-1.936173322e-16) (2.783083705e-06,-4.820442378e-06) (-2.210803363e-05,3.82922375e-05) (1.377538078e-13,-2.385965939e-13) (4.150521297e-07,-7.188913765e-07) (-5.857532454e-06,1.014554382e-05) (-2.638813198e-15,4.570558867e-15) (4.927792809e-07,-8.535187514e-07) (-3.782800919e-06,6.552003387e-06) (-2.398416777e-15,4.154178646e-15) (1.233592183e-06,-2.136644337e-06) (-8.538607507e-06,1.478930203e-05) (-6.505213035e-19,-5.854691731e-18) (0.0007200330219,-0.001247133777) (-0.0001878309588,0.0003253327639) (3.990106788e-09,-6.911067681e-09) (-0.03195096622,0.05534069685) (4.878909776e-19,-5.149960319e-19) (-2.330564706e-05,4.036656481e-05) (0.0007153114482,-0.001238955771) (2.662361388e-10,-4.611345189e-10) (0.003245375324,-0.005621154951) (3.176373552e-22,1.270549421e-21) (6.095239344e-10,-1.055726423e-09) (-3.44128403e-08,5.960478783e-08) (7.46427043e-14,-1.292849566e-13) (1.059566382e-05,-1.835222807e-05) (2.223461487e-21,-2.117582368e-22) (-1.888476037e-09,3.270936446e-09) (8.862191923e-06,-1.534976668e-05) (-1.368859681e-12,2.370934516e-12) (6.318959677e-06,-1.094475921e-05) (-7.676236084e-22,4.764560328e-22) (7.446402637e-11,-1.28975477e-10) (-1.079534809e-15,1.869808714e-15) (-7.090290898e-08,1.228074408e-07) (4.706497865e-06,-8.151893428e-06) (-4.764560328e-22,5.29395592e-22) (1.33340407e-08,-2.309523596e-08) (-4.125560452e-14,7.145680311e-14) (6.800887061e-06,-1.177948193e-05) (-1.445470366e-05,2.503628115e-05) (-1.32348898e-23,-1.852884572e-22) (1.436655647e-09,-2.488360574e-09) (2.776996633e-14,-4.809899276e-14) (3.119865907e-07,-5.403766263e-07) (-1.632104712e-06,2.826888284e-06) (-8.602678371e-23,3.044024654e-22) (-4.064786482e-09,7.040416709e-09) (2.25289788e-14,-3.902133579e-14) (-3.398791457e-07,5.886879487e-07) (1.948638818e-06,-3.375141438e-06) (7.411538288e-22,-5.29395592e-22) (2.900715708e-10,-5.024186985e-10) (-8.107037041e-16,1.40417988e-15) (1.611039988e-06,-2.790403113e-06) (-1.070561973e-05,1.854267731e-05) (-7.940933881e-23,-3.176373552e-22) (6.102102725e-09,-1.056915195e-08) (1.654781353e-14,-2.866165396e-14) (4.947043268e-06,-8.568530288e-06) (-1.021949476e-05,1.770068415e-05) (8.271806126e-25,-2.688336991e-24) (4.489881054e-12,-7.776702106e-12) (-2.191745498e-09,3.79621456e-09) (-9.634049138e-17,1.668666255e-16) (-1.590204424e-08,2.754314857e-08) (-7.940933881e-23,9.264422861e-23) (3.879285887e-09,-6.719120253e-09) (-8.60107949e-15,1.489750663e-14) (1.863843086e-06,-3.228270922e-06) (-3.791159118e-06,6.566480212e-06) (-1.32348898e-23,-1.588186776e-22) (8.070512659e-09,-1.397853797e-08) (-9.550114474e-15,1.654128355e-14) (1.512581421e-06,-2.619867872e-06) (-4.456953971e-06,7.719670724e-06) -(-0.1378654839,0.2387900227) (-0.0169245535,0.02931418655) (0.0167882116,-0.02907803547) (0.002856832998,-0.004948179901) (-0.001021264037,0.001768881199) (-6.261071557e-05,0.0001084449405) (-5.097302548e-05,8.828786994e-05) (5.211057454e-06,-9.025816272e-06) (-1.563957284e-05,2.708853477e-05) (1.958875962e-05,-3.392872691e-05) (-7.901662008e-06,1.368608006e-05) (1.11827671e-06,-1.936912078e-06) (-3.986478569e-06,6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (6.505213035e-19,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-1.084202172e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.799945013e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.082197684e-20,0) (-7.44667295e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (1.98523347e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-1.588186776e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (5.95570041e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.058791184e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.32348898e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (5.29395592e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (3.101927297e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-5.95570041e-23,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (5.29395592e-23,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (0,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (-1.355252716e-20,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-6.776263578e-21,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (-4.235164736e-22,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (2.117582368e-22,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04586770644,0) (0.1295753448,0) (0.0004442131108,0) (0.1967622424,0) (0.0001704511524,0) (0.07116101842,0) (0.01342434892,0) (0.1479153603,0) (0.05829558339,0) (0.002881188799,0) (0.0986772665,0) (0.03669568318,0) (0.0583789555,0) (0.004863627082,0) (0.02285094543,0) (0.01871025158,0) (0.01720002272,0) (0.0129751607,0) (0.01950909261,0) (0.002216861756,0) (0.007850079801,0) (0.0006684007036,0) (0.01106999276,0) (0.004241350104,0) (0.006378882393,0) (0.0004382569924,0) (0.00246318523,0) (0.0002443597394,0) (0.003066181956,0) (0.001196173181,0) (0.001717101805,0) (2.637892713e-05,0) (0.0006299645073,0) (1.244860412e-05,0) (0.0006474759855,0) (0.0002384489065,0) (0.000314514928,0) (9.546434388e-07,0) (0.0001139889123,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(3.590997234e-05,0) (0.0001233917216,0) (1.30441383e-07,0) (1.553904071e-05,0) (1.536434435e-06,0) (2.779572112e-06,0) (2.900697787e-07,0) (1.694146338e-07,0) (2.480155548e-07,0) (7.759935467e-08,0) (9.02954327e-09,0) (1.753815685e-09,0) (2.272725483e-08,0) (0.05134867755,0) (0.01875202135,0) (0.000278013623,0) (0.005748536394,0) (0.00207432931,0) (0.0001512337715,0) (0.0004583230146,0) (0.0001648728595,0) (3.850112287e-05,0) (0.0005754261716,0) (0.0002097466075,0) (1.254127337e-05,0) (1.450462071e-05,0) (4.081696167e-05,0) (1.394154879e-05,0) (4.99941714e-06,0) (1.463681797e-05,0) (7.757214435e-09,0) (1.511410508e-06,0) (4.698023398e-06,0) (1.404013897e-06,0) (8.766678713e-06,0) (6.146623103e-06,0) (8.264078866e-06,0) (9.044095585e-07,0) (2.283550353e-06,0) (9.876553109e-07,0) (3.043249266e-07,0) (6.038139103e-07,0) (2.400053708e-07,0) (9.769650476e-07,0) (1.981749796e-06,0) (7.468840143e-07,0) (8.787060028e-07,0) (1.618326537e-06,0) (8.543525323e-07,0) (5.00506041e-07,0) (9.817712635e-07,0) (4.454731505e-07,0) (3.469446952e-18,0) (0.003515743553,0) (0.09234509611,0) (0.03477975199,0) (1.223510922e-05,0) (4.33680869e-19,0) (4.597357965e-05,0) (0.02740325923,0) (0.01004796136,0) (0.0003916175239,0) (1.694065895e-21,0) (1.460078625e-06,0) (6.30598451e-05,0) (2.330863833e-05,0) (8.451039346e-05,0) (2.710505431e-20,0) (2.399382941e-10,0) (0.001718607472,0) (0.0006467762177,0) (6.859021545e-05,0) (1.482307658e-21,0) (1.335565741e-06,0) (3.205846614e-06,0) (7.65274698e-06,0) (1.646933149e-05,0) (-8.470329473e-22,0) (4.379161533e-06,0) (1.211169872e-05,0) (2.157052131e-05,0) (8.161268252e-06,0) (0,0) (5.33910383e-06,0) (1.925982866e-05,0) (4.905944391e-05,0) (4.081163393e-07,0) (-8.470329473e-22,0) (3.171881935e-06,0) (1.1505279e-05,0) (2.779490012e-05,0) (1.68620799e-06,0) (1.32348898e-23,0) (1.369395562e-07,0) (3.006229585e-07,0) (6.24704245e-07,0) (5.081771609e-07,0) (0,0) (4.516212835e-07,0) (1.131399868e-06,0) (1.789055475e-06,0) (9.447754395e-07,0) (2.117582368e-22,0) (5.10826975e-11,0) (1.696043397e-06,0) (3.063049089e-06,0) (6.775872177e-06,0) (1.058791184e-22,0) (6.382847646e-07,0) (1.694474736e-06,0) (2.713576222e-06,0) (1.415412032e-06,0) (1.058791184e-22,0) (3.927215262e-07,0) (1.006395786e-06,0) (4.761797554e-07,0) (1.932952223e-06,0) -(0.02151507676,0) (0.08145033313,0) (0.0009225981511,0) (0.009071793741,0) (0.001897530337,0) (0.001271522409,0) (0.000393613206,0) (3.191902604e-05,0) (0.0002180280768,0) (1.351339316e-05,0) (1.003663981e-05,0) (6.66710727e-06,0) (1.372598266e-05,0) (0.01971880285,0) (0.0002195616787,0) (0.0003270306584,0) (2.678465689e-05,0) (0.002763516793,0) (0.106697746,0) (8.901625396e-07,0) (0.0001038820182,0) (0.0345000232,0) (1.0786905e-05,0) (0.0002550410404,0) (0.002603733392,0) (5.086780754e-06,0) (1.296261603e-06,0) (0.01019461019,0) (6.255143051e-06,0) (6.536172276e-06,0) (3.683045246e-05,0) (3.540615072e-06,0) (1.378850213e-05,0) (0.0012674418,0) (5.746639196e-06,0) (4.91232311e-05,0) (0.000126571826,0) (3.717599159e-07,0) (5.395422689e-06,0) (0.0003974504446,0) (3.479206662e-07,0) (5.176068333e-06,0) (7.774311777e-06,0) (2.357456293e-06,0) (1.1427038e-06,0) (1.727367798e-06,0) (7.399816442e-07,0) (1.145978052e-05,0) (3.343258584e-05,0) (4.18479744e-07,0) (5.861896876e-06,0) (1.04002171e-05,0) (-5.421010862e-20,0) (9.561558787e-07,0) (0.03485246954,0) (0.02674278495,0) (0.002291387465,0) (0,0) (1.569546168e-06,0) (0.0004250908481,0) (0.01192913133,0) (0.03599121376,0) (-8.67361738e-19,0) (4.328799598e-08,0) (3.906012346e-08,0) (0.0001448848612,0) (0.05737890751,0) (0,0) (1.172235841e-10,0) (9.806088991e-06,0) (0.0006373039673,0) (0.001947382062,0) (0,0) (1.816924258e-07,0) (7.09263354e-07,0) (2.318653812e-05,0) (0.009023977889,0) (0,0) (2.436045478e-08,0) (7.517683295e-06,0) (2.140748389e-07,0) (0.001279410655,0) (0,0) (2.086878003e-08,0) (2.83498791e-05,0) (0.0001528953655,0) (0.0003576463545,0) (0,0) (6.94006599e-09,0) (7.29799041e-06,0) (6.948945167e-06,0) (0.0008507631173,0) (2.393151383e-11,0) (0,0) (2.620125233e-08,0) (2.63818605e-06,0) (9.527036339e-05,0) (0,0) (1.215275915e-09,0) (1.727758853e-06,0) (4.452695345e-05,0) (2.58813648e-05,0) (0,0) (2.542260728e-09,0) (1.109931996e-05,0) (3.064539702e-06,0) (6.121327117e-07,0) (1.401947502e-09,0) (0,0) (1.253713298e-06,0) (2.653165066e-05,0) (2.635447273e-05,0) (-2.64697796e-23,0) (9.160979474e-11,0) (9.092686847e-07,0) (3.096286743e-06,0) (1.632018929e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-3.794707604e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-8.809142651e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-1.694065895e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (1.694065895e-21,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (4.65868121e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (2.117582368e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.705769144e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-2.64697796e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (-5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.32348898e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (4.33680869e-19,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (2.168404345e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (4.065758147e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (0,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (6.776263578e-21,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (-4.235164736e-22,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (-5.29395592e-23,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (4.235164736e-22,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (2.64697796e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (1.734723476e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (6.505213035e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-2.032879073e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (0,0) (-1.267303587e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-1.694065895e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.382280164e-21,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (0,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (3.546950467e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-3.30872245e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (5.29395592e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-6.505213035e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (-4.33680869e-19,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (-2.710505431e-20,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (-5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (1.694065895e-21,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-4.235164736e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (5.29395592e-23,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-5.421010862e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (0,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (5.421010862e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (0,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (6.776263578e-21,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (0,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (1.694065895e-21,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (2.117582368e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (4.235164736e-22,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,0.0005191289988) (0.09925944203,-0.1719223967) (0.0005701036329,-0.0009874484577) (0.03744131566,-0.06485026102) (-1.08363822e-05,1.876916455e-05) (5.12637978e-06,-8.879150237e-06) (-0.0004333454456,0.000750576329) (-0.004174757703,0.007230892451) (-5.79928862e-07,1.004466254e-06) (-0.0003092991382,0.0005357218221) (-0.008557666191,0.01482231264) (-1.127253589e-06,1.952460489e-06) (0.001441927363,-0.002497491453) (0.0001026368809,-0.0001777722925) (1.949578464e-07,-3.376768953e-07) (7.957927152e-05,-0.0001378353415) (6.761905753e-05,-0.0001171196432) (1.853059582e-08,-3.209593345e-08) (0.0007081325001,-0.001226521469) (7.017291895e-05,-0.0001215430609) (9.836838076e-08,-1.703790333e-07) (-3.926527806e-05,6.800945657e-05) (-0.000555379596,0.0009619456778) (-7.501276439e-08,1.299259191e-07) (0.0001990917172,-0.0003448369695) (1.15125293e-05,-1.994028567e-05) (2.660804959e-08,-4.608649378e-08) (-1.201453687e-05,2.080978829e-05) (-0.0001308978504,0.0002267217275) (-1.801120482e-08,3.119632186e-08) (0.0001320177961,-0.0002286615304) (1.379282385e-06,-2.388987168e-06) (1.705203038e-08,-2.953498298e-08) (-1.642038463e-06,2.844094046e-06) (-6.621122398e-05,0.000114681204) (-8.667301526e-09,1.501220661e-08) (3.661879991e-05,-6.342562196e-05) (3.18796139e-08,-5.521711101e-08) (4.775645764e-09,-8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,0.00159926779) (0.0008274199475,-0.001433133388) (-5.55619918e-06,9.623619276e-06) (-3.00319403e-06,5.201684645e-06) (3.982825217e-06,-6.898455633e-06) (1.175840002e-05,-2.036614625e-05) (-4.157662878e-06,7.201283346e-06) (-2.677457455e-06,4.637492347e-06) (2.594031055e-06,-4.492993584e-06) (1.179960774e-06,-2.043752012e-06) (-3.634784569e-07,6.295631548e-07) (1.553863596e-07,-2.691370696e-07) (5.193486208e-07,-8.995381981e-07) (0.03245066753,-0.05620620491) (1.973358379e-05,-3.417956974e-05) (0.003074044889,-0.005324401932) (-0.003612640396,0.006257276715) (-1.712840758e-06,2.966727218e-06) (0.0006726502744,-0.001165064451) (-7.897721341e-05,0.0001367925463) (-9.66799994e-09,1.67454671e-08) (-2.492556751e-05,4.317234933e-05) (2.421005667e-06,-4.19330482e-06) (3.489741388e-10,-6.044409389e-10) (-3.762967448e-07,6.517650808e-07) (-8.094592238e-08,1.402024502e-07) (3.136037117e-05,-5.431775621e-05) (2.045657133e-05,-3.54318209e-05) (6.618798767e-10,-1.146409575e-09) (-2.146830323e-05,3.718419194e-05) (8.675245077e-07,-1.502596524e-06) (-9.606141336e-11,1.663832486e-10) (1.456791745e-05,-2.523237319e-05) (-1.076291122e-05,1.864190907e-05) (1.04629614e-07,-1.812238073e-07) (-8.956602146e-10,1.551328998e-09) (2.547207111e-05,-4.411892133e-05) (-6.797765478e-11,1.177407519e-10) (6.283968979e-06,-1.088415354e-05) (5.35510915e-06,-9.275321128e-06) (-1.527935823e-11,2.646462476e-11) (1.016270017e-06,-1.760231303e-06) (2.862275528e-06,-4.95760664e-06) (-2.747461897e-10,4.758743597e-10) (7.443505779e-07,-1.28925302e-06) (4.771932706e-06,-8.265229897e-06) (-7.264500146e-11,1.258248334e-10) (1.575517403e-06,-2.728876191e-06) (4.761717681e-06,-8.247536954e-06) (-3.577407697e-11,6.196251891e-11) (1.541553266e-06,-2.67004858e-06) (3.194233381e-06,-5.532574508e-06) (4.33680869e-19,1.734723476e-18) (-0.002729426434,0.004727505259) (0.06324356095,-0.1095410608) (3.126494954e-05,-5.415248111e-05) (0.0002650767828,-0.0004591264557) (-5.421010862e-20,3.252606517e-19) (0.0001065037686,-0.0001844699384) (-0.006663150733,0.01154091561) (-9.127041456e-07,1.580849952e-06) (0.0002416297276,-0.0004185149648) (4.235164736e-22,-8.470329473e-22) (1.483669546e-06,-2.569791035e-06) (-3.500462032e-05,6.06297809e-05) (-8.719713196e-09,1.510298628e-08) (1.471765147e-05,-2.549172011e-05) (-4.235164736e-22,2.541098842e-21) (6.08483442e-09,-1.053924237e-08) (-3.835660981e-05,6.643559699e-05) (-3.797649481e-09,6.577721851e-09) (1.178686968e-06,-2.041545716e-06) (-1.905824131e-21,0) (2.4179593e-07,-4.188028358e-07) (2.191988206e-10,-3.796634942e-10) (-2.364132934e-05,4.094798358e-05) (1.230236002e-05,-2.130831261e-05) (0,-8.470329473e-22) (1.181594739e-06,-2.046582122e-06) (1.185010832e-09,-2.052498968e-09) (-4.056713351e-05,7.026433636e-05) (-2.316881374e-05,4.012956255e-05) (8.470329473e-22,-2.541098842e-21) (-2.188570265e-06,3.790714895e-06) (-5.101434888e-09,8.835944417e-09) (6.486224796e-05,-0.000112344709) (-2.66489559e-06,4.61573456e-06) (-4.235164736e-22,8.470329473e-22) (-1.304105758e-06,2.258777432e-06) (-2.554688277e-09,4.424849894e-09) (3.739300532e-05,-6.476658507e-05) (4.052238551e-06,-7.018683054e-06) (-1.058791184e-22,0) (-1.147182595e-08,1.986978541e-08) (-1.153315372e-11,1.997600821e-11) (4.290322277e-06,-7.431056164e-06) (1.630475981e-06,-2.824067239e-06) (1.058791184e-22,4.235164736e-22) (-8.329871479e-08,1.442776062e-07) (-9.227744456e-11,1.598292224e-10) (3.112744687e-06,-5.391431949e-06) (4.610680091e-06,-7.985932175e-06) (7.411538288e-22,-2.117582368e-22) (-4.072151729e-12,7.05317369e-12) (-4.732118624e-07,8.196269885e-07) (-4.150544398e-10,7.188953777e-10) (1.376158085e-05,-2.383575722e-05) (1.058791184e-22,-1.058791184e-22) (-1.530521796e-07,2.650941513e-07) (-1.73488401e-10,3.004907251e-10) (5.513119534e-06,-9.54900314e-06) (4.337960104e-06,-7.513567301e-06) (5.29395592e-23,2.117582368e-22) (-7.700519144e-08,1.33376904e-07) (-8.508942103e-11,1.473792004e-10) (6.216831785e-07,-1.076786851e-06) (6.222146986e-06,-1.077707471e-05) -(0.05157424969,-0.08932922082) (0.07911949656,-0.1370389879) (0.005517042647,-0.009555798172) (-0.009454263379,0.01637526452) (-0.002817873889,0.004880700745) (0.001260905509,-0.002183952404) (0.0005417059474,-0.0009382622237) (-8.342600894e-05,0.0001444980862) (-0.0001916579055,0.0003319612299) (2.369564209e-05,-4.104205603e-05) (2.020298538e-05,-3.499259714e-05) (6.741548682e-06,-1.167670484e-05) (-1.149346843e-05,1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.029992064e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.202285663e-20,0) (-2.218079148e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.029258124e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.580803511e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.374896899e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (1.852884572e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.584939414e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (8.602678371e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (-4.33680869e-19,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (0,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (8.470329473e-22,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (1.058791184e-22,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (1.058791184e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-4.878909776e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-3.388131789e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-5.505714157e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (8.470329473e-22,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (2.117582368e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (1.270549421e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.176373552e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-5.29395592e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.588186776e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (0,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (-6.505213035e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (2.710505431e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (5.421010862e-20,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (0,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (0,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (1.058791184e-22,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (0,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (3.97046694e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04715705099,0) (0.02200154358,0) (0.1067286698,0) (0.02202428562,0) (0.17465834,0) (0.07141108635,0) (0.1000731762,0) (0.06107260141,0) (0.05848951507,0) (0.07464156391,0) (0.02679567375,0) (0.03681690082,0) (0.0005054573398,0) (0.06266017622,0) (0.02292789445,0) (0.005280432053,0) (0.03058641266,0) (0.0130185903,0) (4.477807442e-05,0) (0.02165478127,0) (0.007876474827,0) (0.007860017766,0) (0.003864294445,0) (0.004255431357,0) (8.845381168e-05,0) (0.006720385865,0) (0.002471484938,0) (0.00210919833,0) (0.001197367089,0) (0.001200149458,0) (0.0001043161214,0) (0.001637026661,0) (0.0006321024569,0) (0.0005029865235,0) (0.0001561530053,0) (0.0002392339673,0) (3.034857158e-05,0) (0.0002847271479,0) (0.0001143827643,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01859825451,0) (0.06390622139,0) (6.755733522e-05,0) (0.008047876816,0) (0.000795739924,0) (0.001439577538,0) (0.0001502310143,0) (8.77421026e-05,0) (0.0001284505699,0) (4.018974268e-05,0) (4.676521113e-06,0) (9.083245777e-07,0) (1.177074896e-05,0) (0.008307597159,0) (0.01873421824,0) (2.900333486e-08,0) (0.0006427535352,0) (0.002074227619,0) (0.09464435446,0) (4.913666987e-05,0) (0.0001652571093,0) (0.02141018871,0) (0.0001298657198,0) (0.0002102475176,0) (0.004281715785,0) (1.48520788e-05,0) (7.255278567e-06,0) (0.007171961804,0) (5.016290298e-06,0) (8.510401907e-06,0) (0.0004140783138,0) (1.516294083e-06,0) (4.817059328e-06,0) (0.0009909456417,0) (1.489550748e-05,0) (6.169100968e-06,0) (3.434653454e-06,0) (9.073734504e-07,0) (4.539544298e-06,0) (0.0003945514261,0) (3.054738133e-07,0) (6.950824905e-07,0) (5.407485655e-07,0) (9.805598736e-07,0) (1.955658851e-06,0) (8.959547428e-06,0) (8.815473737e-07,0) (7.766105257e-06,0) (1.471985915e-05,0) (5.021918199e-07,0) (5.508541434e-06,0) (1.701290994e-05,0) (6.505213035e-19,0) (0.0003326380646,0) (0.01469282168,0) (0.03477374258,0) (0.02107630735,0) (3.252606517e-19,0) (1.4617477e-05,0) (0.006316834902,0) (0.01007236596,0) (0.03687902424,0) (-2.059984128e-18,0) (2.1761899e-07,0) (8.535073252e-06,0) (2.333908512e-05,0) (0.04386035073,0) (3.388131789e-21,0) (2.12877168e-11,0) (0.0001802105721,0) (0.0006483001201,0) (0.0003180537728,0) (-1.423015351e-19,0) (1.934512603e-07,0) (3.215971441e-06,0) (3.60306497e-07,0) (0.008593632408,0) (9.95263713e-21,0) (3.785330716e-07,0) (1.214894467e-05,0) (8.316142622e-05,0) (0.0002399527039,0) (-2.943439492e-20,0) (1.065981606e-06,0) (1.932844051e-05,0) (1.262102486e-07,0) (0.0007885513656,0) (-1.905824131e-20,0) (2.756248094e-07,0) (1.154541289e-05,0) (1.377253857e-05,0) (0.0004170207456,0) (1.334076892e-20,0) (1.372912756e-08,0) (3.015892013e-07,0) (1.65338949e-06,0) (0.000225542516,0) (-7.27918939e-22,0) (1.277388161e-07,0) (1.135050709e-06,0) (1.097300767e-05,0) (1.837231386e-05,0) (0,0) (2.299303327e-09,0) (3.123692756e-07,0) (3.074695245e-06,0) (1.039677966e-06,0) (6.882142696e-22,0) (4.239383809e-08,0) (1.699838817e-06,0) (1.420235844e-05,0) (2.844450342e-05,0) (-2.779326858e-22,0) (2.066829092e-08,0) (1.009713072e-06,0) (8.983597702e-06,0) (1.122430129e-06,0) -(0.002275502001,0) (0.008614442707,0) (9.757687426e-05,0) (0.0009594613604,0) (0.0002006887602,0) (0.0001344801982,0) (4.162976727e-05,0) (3.375856311e-06,0) (2.305933326e-05,0) (1.429218846e-06,0) (1.061506507e-06,0) (7.051341767e-07,0) (1.451702978e-06,0) (0.0197919787,0) (0.04576663462,0) (0.003064285325,0) (0.006931890706,0) (0.002776848162,0) (0.01119185278,0) (0.0002405708549,0) (0.0001044086936,0) (0.003665373389,0) (0.0006670496628,0) (0.0002562656941,0) (0.0002404198937,0) (5.111300906e-06,0) (1.4983551e-05,0) (0.001075955865,0) (7.907287005e-06,0) (6.558427154e-06,0) (1.279841726e-05,0) (3.558166217e-06,0) (2.878390215e-06,0) (0.0001413922296,0) (5.77551433e-06,0) (2.981494912e-05,0) (2.987868567e-06,0) (3.734951082e-07,0) (2.875161334e-06,0) (4.065104123e-05,0) (3.494642989e-07,0) (1.349041095e-09,0) (2.229293379e-06,0) (2.854297262e-07,0) (1.146538659e-06,0) (2.970188831e-06,0) (7.434637826e-07,0) (5.101582132e-06,0) (1.477386609e-06,0) (4.203040616e-07,0) (2.548710907e-06,0) (2.065288763e-07,0) (0,0) (0.00381120272,0) (0.03499174491,0) (0.02310179904,0) (0.06236724561,0) (0,0) (0.001009633108,0) (0.0298739139,0) (0.0119849688,0) (0.002478434544,0) (0,0) (1.099057939e-05,0) (0.0003399323208,0) (0.000145642374,0) (0.00607617128,0) (-5.421010862e-20,0) (2.892328027e-07,0) (0.001438457613,0) (0.0006405979474,0) (0.0003449598824,0) (-1.355252716e-20,0) (4.286455912e-05,0) (9.37661877e-06,0) (2.331100428e-05,0) (0.0009596164022,0) (-3.388131789e-21,0) (5.739308119e-06,0) (7.551310522e-06,0) (1.320365452e-05,0) (0.0001350056191,0) (-1.694065895e-21,0) (4.544913819e-06,0) (2.850249043e-05,0) (6.63333715e-06,0) (0.0001130091179,0) (0,0) (1.524088828e-06,0) (7.334038823e-06,0) (2.344902083e-05,0) (8.380257917e-05,0) (1.053196334e-08,0) (2.117582368e-22,0) (2.631799423e-08,0) (5.681500867e-07,0) (9.841263226e-06,0) (0,0) (4.420829531e-07,0) (1.736699721e-06,0) (1.043708995e-06,0) (1.023766845e-05,0) (-4.235164736e-22,0) (6.41372051e-07,0) (3.151162781e-06,0) (3.071688387e-06,0) (5.020121102e-06,0) (3.257591355e-07,0) (-1.058791184e-22,0) (1.259765493e-06,0) (8.095219997e-06,0) (2.749685552e-07,0) (5.29395592e-23,0) (2.494036453e-07,0) (9.133146635e-07,0) (8.753312292e-07,0) (1.469478759e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (0,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.33680869e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (5.717472394e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.270549421e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.651714247e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (-1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.911675756e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-4.63221143e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-9.264422861e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (-8.67361738e-19,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (-1.084202172e-19,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-2.710505431e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-2.541098842e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (4.235164736e-22,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (0,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (-2.117582368e-22,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (6.938893904e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-8.67361738e-19,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-3.388131789e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (8.470329473e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (-1.694065895e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (4.235164736e-22,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (6.352747104e-22,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (-4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-4.235164736e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-2.117582368e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,-0.0005263748085) (0.04090131005,-0.07084314711) (-0.00883687416,0.01530591502) (0.01252654015,-0.02169660398) (-0.000346879798,0.0006008134342) (-5.135379222e-06,8.894737729e-06) (0.001183168129,-0.002049307314) (-0.00268255013,0.004646313118) (5.808926845e-07,-1.006135643e-06) (0.001574284488,-0.002726740719) (-0.004459427703,0.007723955355) (1.129113895e-06,-1.955682633e-06) (0.0001341706355,-0.0002323903576) (0.0003683995724,-0.0006380867769) (-1.952858243e-07,3.382449696e-07) (-4.227609596e-05,7.322434614e-05) (9.017141291e-05,-0.0001561814685) (-1.85615821e-08,3.214960327e-08) (3.392569073e-05,-5.876102003e-05) (0.0002193194444,-0.0003798724208) (-9.853361838e-08,1.706652333e-07) (0.0001346486464,-0.0002332182967) (-0.0003281340941,0.0005683449226) (7.513718213e-08,-1.30141417e-07) (2.344440262e-05,-4.060689649e-05) (4.508202613e-05,-7.808435976e-05) (-2.665283983e-08,4.616407275e-08) (3.529806653e-05,-6.113804464e-05) (-8.179885248e-05,0.0001416797685) (1.80411161e-08,-3.12481297e-08) (3.253944728e-05,-5.635997594e-05) (1.08655697e-05,-1.881971877e-05) (-1.708094113e-08,2.958505788e-08) (1.043761257e-05,-1.807847528e-05) (-3.251583845e-05,5.631908425e-05) (8.68155776e-09,-1.503689913e-08) (1.137503137e-05,-1.970213227e-05) (5.505628404e-07,-9.536028123e-07) (-4.783889003e-09,8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,-0.03639567249) (-0.01883018317,0.03261483397) (0.0001264463693,-0.0002190115361) (6.834581865e-05,-0.0001183784304) (-9.063998106e-05,0.0001569930524) (-0.0002675942571,0.0004634868491) (9.461888584e-05,-0.0001638847176) (6.093280015e-05,-0.0001055387057) (-5.903420635e-05,0.0001022502448) (-2.685320506e-05,4.65111155e-05) (8.271937295e-06,-1.432741567e-05) (-3.536237701e-06,6.124943366e-06) (-1.181918528e-05,2.04714294e-05) (0.01305259065,-0.02260775017) (-1.972421406e-05,3.41633409e-05) (-3.139793852e-05,5.438282477e-05) (-0.001208003877,0.002092324091) (1.712798772e-06,-2.966654497e-06) (-0.01682721675,0.02914559437) (-2.585942318e-05,4.47898348e-05) (9.67925942e-09,-1.67649691e-08) (0.0005877851435,-0.001018073733) (1.150133528e-06,-1.992089707e-06) (-3.493905947e-10,6.051622618e-10) (6.952941289e-06,-1.204284757e-05) (8.190971413e-08,-1.418717865e-07) (1.32217184e-05,-2.290068804e-05) (-0.0004639768554,0.0008036314871) (-6.629958665e-10,1.148342526e-09) (1.637002792e-05,-2.835372008e-05) (-0.0002004334016,0.0003471608352) (9.621648202e-11,-1.666518354e-10) (-1.475131992e-05,2.555003558e-05) (0.0002859360877,-0.0004952558317) (1.363844101e-07,-2.362247277e-07) (8.972964103e-10,-1.554162972e-09) (-1.642133626e-05,2.844258873e-05) (6.808895039e-11,-1.179335215e-10) (8.86002333e-06,-1.534601056e-05) (-0.0001070329349,0.0001853864814) (1.530817236e-11,-2.651453229e-11) (1.09037461e-06,-1.888584223e-06) (-4.296340024e-06,7.441479207e-06) (2.752512015e-10,-4.767490659e-10) (-7.394344286e-07,1.280737999e-06) (1.652763697e-05,-2.862670696e-05) (7.276235858e-11,-1.260281019e-10) (3.451371935e-06,-5.977951547e-06) (-1.976500436e-05,3.423399176e-05) (3.583427253e-11,-6.206678068e-11) (3.65150322e-06,-6.3245891e-06) (-1.973991048e-05,3.419052789e-05) (4.33680869e-19,1.301042607e-18) (-0.0008395542634,0.00145415064) (0.02522679048,-0.04369408282) (-3.126224837e-05,5.414780254e-05) (-0.01100183246,0.01905573281) (-1.084202172e-19,-3.252606517e-19) (6.005470316e-05,-0.0001040177971) (-0.003199103504,0.005541009808) (9.138118664e-07,-1.582768581e-06) (-0.002344817337,0.004061342763) (4.404571326e-20,-5.421010862e-20) (5.727926757e-07,-9.921060165e-07) (-1.287812239e-05,2.230556228e-05) (8.725406379e-09,-1.511284716e-08) (-0.000335289152,0.0005807378464) (-6.352747104e-22,8.470329473e-22) (1.81243952e-09,-3.139237334e-09) (-1.242058352e-05,2.151308171e-05) (3.802120767e-09,-6.585466345e-09) (2.538152278e-06,-4.396208702e-06) (1.694065895e-20,-2.710505431e-20) (9.202421743e-08,-1.593906201e-07) (-2.195446888e-10,3.802625555e-10) (-5.129786172e-06,8.885050281e-06) (-0.0002810210377,0.0004867427153) (2.964615315e-21,8.470329473e-22) (3.473961335e-07,-6.017077536e-07) (-1.186831509e-09,2.055652473e-09) (-7.965351864e-05,0.0001379639413) (0.0001256283905,-0.0002175947552) (-1.482307658e-21,-1.694065895e-21) (-9.779151322e-07,1.693798695e-06) (5.110513569e-09,-8.851669155e-09) (3.289864391e-06,-5.698212276e-06) (0.0001171394555,-0.0002028914885) (8.893845946e-21,1.270549421e-21) (-3.844266251e-07,6.658464465e-07) (2.55914016e-09,-4.432560781e-09) (2.632175311e-05,-4.559061372e-05) (-6.372623528e-05,0.0001103770773) (-3.494010907e-21,-1.058791184e-21) (-3.632365662e-09,6.291441879e-09) (1.155167341e-11,-2.000808526e-11) (6.979756536e-06,-1.208929295e-05) (-3.434954941e-05,5.94951648e-05) (6.6174449e-22,4.764560328e-22) (-4.430089943e-08,7.673140864e-08) (9.242620673e-11,-1.60086886e-10) (-7.708935966e-06,1.335226877e-05) (2.033211796e-05,-3.521626133e-05) (2.64697796e-23,0) (2.732028175e-11,-4.732011607e-11) (-2.030819374e-07,3.517482337e-07) (4.158427398e-10,-7.202607533e-10) (5.390575629e-06,-9.336750872e-06) (-4.235164736e-22,-2.117582368e-22) (-3.944424504e-08,6.831943648e-08) (1.737627841e-10,-3.009659705e-10) (1.261265833e-05,-2.184576504e-05) (-1.944658249e-05,3.36824689e-05) (6.6174449e-22,-1.535247217e-21) (-1.766566272e-08,3.059782538e-08) (8.522954168e-11,-1.476218965e-10) (2.700280003e-06,-4.67702216e-06) (-4.74143023e-06,8.212398059e-06) -(0.01677258801,-0.02905097462) (0.02573064519,-0.04456678478) (0.001794210947,-0.00310766452) (-0.003074644141,0.005325439867) (-0.0009164076666,0.001587264639) (0.0004100621676,-0.0007102485086) (0.0001761695175,-0.000305134555) (-2.713117662e-05,4.699257638e-05) (-6.232953669e-05,0.0001079579244) (7.706117781e-06,-1.334738753e-05) (6.57026234e-06,-1.138002819e-05) (2.192435553e-06,-3.797409769e-06) (-3.737819008e-06,6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.252606517e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.029992064e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.778769189e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (1.016439537e-20,0) (3.933175975e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780887e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (6.088049308e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.713152409e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.80884512e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.514629062e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-7.754818243e-26,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (7.610061635e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (4.63221143e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-8.67361738e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (0,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (0,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (-2.64697796e-23,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (-8.470329473e-22,0) (-4.040786576e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (5.29395592e-23,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (0,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (2.168404345e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (8.67361738e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-1.355252716e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (1.355252716e-20,0) (-1.267303586e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-2.117582368e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.117582368e-22,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (-4.235164736e-21,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (5.29395592e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-4.367513634e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (-1.32348898e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-2.168404345e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (0,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (0,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (0,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-8.470329473e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (0,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (2.439454888e-19,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.607859233e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (6.035109749e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.482307658e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.672890071e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.382280164e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-3.97046694e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-6.6174449e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (0,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (0,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-5.421010862e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-5.082197684e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (0,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (-1.058791184e-22,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (0,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.08286250691,0) (0.02431037598,0) (0.06871438145,0) (0.04930718395,0) (0.09326492082,0) (0.1255216072,0) (0.1061377676,0) (0.01064733091,0) (0.1028501942,0) (0.06073138578,0) (0.01278119823,0) (0.06474155448,0) (0.02720911517,0) (0.01856972471,0) (0.04031468813,0) (0.02489475137,0) (0.001098999625,0) (0.02289168401,0) (0.01002216348,0) (0.005704391145,0) (0.01384947954,0) (0.007451325099,0) (0.001045456362,0) (0.007482962107,0) (0.00281298841,0) (0.002121681757,0) (0.004345654447,0) (0.002153156807,0) (0.0002431658316,0) (0.002110392238,0) (0.000552027313,0) (0.0007100396512,0) (0.001111378275,0) (0.0003829383684,0) (9.474450534e-05,0) (0.0004206906223,0) (8.459498418e-05,0) (0.0001437766924,0) (0.0002010868071,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01151542489,0) (0.03956862145,0) (4.182927054e-05,0) (0.004982979502,0) (0.0004926958775,0) (0.0008913388619,0) (9.301808191e-05,0) (5.432701179e-05,0) (7.953235012e-05,0) (2.488416119e-05,0) (2.895547407e-06,0) (5.624045764e-07,0) (7.288058967e-06,0) (0.01044095573,0) (0.03297631033,0) (0.0001606173415,0) (0.001446472844,0) (0.003652617632,0) (0.05815477759,0) (0.0001173327325,0) (0.0002910130741,0) (0.01321743319,0) (8.960512001e-05,0) (0.000370321967,0) (0.002702735249,0) (2.612306591e-05,0) (7.450636785e-06,0) (0.004441884828,0) (8.839061027e-06,0) (2.57761275e-05,0) (0.0002373242255,0) (2.671175919e-06,0) (1.079249771e-05,0) (0.0006061888617,0) (4.643013261e-07,0) (1.085909936e-05,0) (1.26714713e-05,0) (1.598089418e-06,0) (2.20050347e-07,0) (0.0002471462147,0) (5.375848748e-07,0) (1.919689554e-09,0) (8.5178208e-07,0) (1.732231442e-06,0) (4.45895687e-06,0) (2.579457553e-06,0) (1.552409348e-06,0) (1.30742986e-06,0) (1.287012362e-05,0) (8.842413405e-07,0) (1.047868629e-06,0) (1.304197819e-05,0) (-6.505213035e-19,0) (0.0009533201785,0) (0.01896428393,0) (0.06121497228,0) (0.0125521507,0) (-3.252606517e-19,0) (4.931195373e-06,0) (0.004185764753,0) (0.017738704,0) (0.02547954574,0) (-1.219727444e-18,0) (3.110674544e-07,0) (1.42753078e-05,0) (4.111206382e-05,0) (0.02715447401,0) (1.355252716e-20,0) (6.693630906e-11,0) (0.0004446572613,0) (0.001141388293,0) (5.175547801e-05,0) (-2.710505431e-20,0) (2.896624921e-07,0) (5.66493273e-06,0) (2.653219922e-06,0) (0.005319222649,0) (4.446922973e-21,0) (1.23469439e-06,0) (2.140210977e-05,0) (1.142126714e-05,0) (0.0001911500099,0) (4.235164736e-21,0) (9.22882494e-07,0) (3.405631521e-05,0) (2.500444833e-05,0) (0.000468632467,0) (-1.270549421e-20,0) (8.923175134e-07,0) (2.033674126e-05,0) (1.365401367e-06,0) (0.0002679810755,0) (-3.388131789e-21,0) (3.61685241e-08,0) (5.311357506e-07,0) (1.40319171e-07,0) (0.0001405914279,0) (7.676236084e-22,0) (5.585209319e-08,0) (1.999539627e-06,0) (1.227245632e-05,0) (6.248313256e-06,0) (2.64697796e-23,0) (1.724997877e-09,0) (3.122744061e-07,0) (5.411018301e-06,0) (1.415448965e-06,0) (8.999725065e-22,0) (1.989853278e-07,0) (2.994061638e-06,0) (2.564169571e-06,0) (2.415994883e-05,0) (-5.29395592e-23,0) (1.319703087e-07,0) (1.777963699e-06,0) (3.027655855e-06,0) (3.402615008e-06,0) -(0.00553605759,0) (0.02095803515,0) (0.0002373942959,0) (0.002334268809,0) (0.0004882546943,0) (0.0003271762106,0) (0.0001012808553,0) (8.213104159e-06,0) (5.610093811e-05,0) (3.477139478e-06,0) (2.582533942e-06,0) (1.715517459e-06,0) (3.531841012e-06,0) (0.03483145319,0) (0.02253296123,0) (0.003063275652,0) (0.003468356907,0) (0.004882815777,0) (0.02756244955,0) (0.0001539254955,0) (0.0001835979054,0) (0.008857709221,0) (0.0002891550959,0) (0.0004506771526,0) (0.0007129915528,0) (8.993340896e-06,0) (4.250060433e-06,0) (0.002625833686,0) (1.60314874e-05,0) (1.152525194e-05,0) (3.496369595e-06,0) (6.261644115e-06,0) (1.658833738e-05,0) (0.0003176578563,0) (1.01594509e-05,0) (1.337741548e-06,0) (5.129237847e-05,0) (6.572109132e-07,0) (2.20383207e-07,0) (0.0001039161773,0) (6.150600883e-07,0) (2.836013573e-06,0) (9.454592508e-07,0) (2.430401289e-06,0) (2.015296627e-06,0) (9.633593424e-08,0) (1.307998808e-06,0) (7.127991709e-07,0) (1.179406541e-05,0) (7.39491486e-07,0) (3.820896297e-07,0) (4.342680978e-06,0) (0,0) (0.002099748074,0) (0.06156955733,0) (7.114789054e-05,0) (0.05029811769,0) (0,0) (0.0005299594019,0) (0.01318363225,0) (0.02107802791,0) (0.01106375401,0) (2.168404345e-19,0) (7.058923414e-06,0) (0.0001891960434,0) (0.0002561189377,0) (0.01475511786,0) (0,0) (1.711878633e-07,0) (0.0009584736151,0) (0.001126274353,0) (0.0003682274248,0) (-2.710505431e-20,0) (2.7652106e-05,0) (8.673773527e-06,0) (4.097130545e-05,0) (0.002315825677,0) (0,0) (3.702756937e-06,0) (1.329608283e-05,0) (5.70924401e-06,0) (0.0003295600291,0) (2.541098842e-21,0) (2.946557407e-06,0) (5.015820037e-05,0) (0.0001264260713,0) (3.861267461e-05,0) (-6.776263578e-21,0) (9.875766575e-07,0) (1.29029779e-05,0) (2.779852115e-06,0) (0.0002263576027,0) (6.573952743e-09,0) (-4.235164736e-22,0) (4.630728464e-08,0) (4.275873786e-07,0) (2.47925857e-05,0) (3.705769144e-22,0) (2.784547616e-07,0) (3.05584326e-06,0) (1.806598778e-05,0) (2.003963724e-06,0) (4.235164736e-22,0) (4.120885495e-07,0) (1.368540015e-06,0) (5.405814955e-06,0) (5.188382974e-06,0) (2.103438461e-07,0) (-8.470329473e-22,0) (2.21632634e-06,0) (2.994934864e-06,0) (1.202228621e-05,0) (-1.058791184e-22,0) (1.473351266e-07,0) (1.60672927e-06,0) (3.824359347e-07,0) (1.483102828e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566194e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (0,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-1.694065895e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (-6.776263578e-21,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (5.082197684e-21,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (0,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (-8.470329473e-22,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (0,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-1.270549421e-21,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (4.235164736e-22,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-8.470329473e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,0.0006977515524) (-0.04299386424,0.07446755728) (-0.007090582965,0.01228124995) (-0.01874283661,0.03246354529) (-0.0002534798879,0.0004390400445) (6.808460863e-06,-1.179260014e-05) (0.001218491756,-0.00211048963) (0.001120069607,-0.001940017466) (-7.702992143e-07,1.334197376e-06) (0.001420036301,-0.002459575022) (0.003079871323,-0.005334493612) (-1.497289225e-06,2.593381012e-06) (-0.0009844018759,0.001705034064) (0.0002005515599,-0.0003473654913) (2.589526051e-07,-4.485190688e-07) (-9.179394658e-05,0.0001589917793) (1.709241288e-05,-2.960492753e-05) (2.461341544e-08,-4.263168609e-08) (-0.0005075475471,0.0008790981388) (0.0001125653912,-0.0001949689767) (1.306577615e-07,-2.263058812e-07) (0.0001311012957,-0.0002270741051) (0.0001706747231,-0.0002956172919) (-9.963682546e-08,1.72576044e-07) (-0.0001322101708,0.0002289947331) (2.533065632e-05,-4.387398374e-05) (3.534207956e-08,-6.121427745e-08) (3.566399888e-05,-6.177185807e-05) (3.686250359e-05,-6.384772911e-05) (-2.392364366e-08,4.143696631e-08) (-7.485395282e-05,0.0001296508494) (7.155927413e-06,-1.239442985e-05) (2.264899878e-08,-3.922921662e-08) (9.107253788e-06,-1.577422628e-05) (2.532776104e-05,-4.386896896e-05) (-1.151244726e-08,1.994014357e-08) (-1.899134758e-05,3.289397892e-05) (3.912341003e-07,-6.776373393e-07) (6.342969012e-09,-1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,-0.02863872232) (-0.01481693702,0.02566368773) (9.949706138e-05,-0.0001723339655) (5.377938606e-05,-9.314862906e-05) (-7.132203009e-05,0.0001235333798) (-0.0002105623306,0.0003647046547) (7.44529174e-05,-0.0001289562357) (4.794629208e-05,-8.304541391e-05) (-4.645234247e-05,8.045781728e-05) (-2.113002537e-05,3.65982775e-05) (6.508952823e-06,-1.127383699e-05) (-2.782565142e-06,4.819544201e-06) (-9.300181641e-06,1.610838712e-05) (-0.01463285707,0.0253448519) (2.616874833e-05,-4.532560167e-05) (-0.002336540875,0.00404700751) (0.001812179585,-0.003138787114) (-2.272899548e-06,3.936777498e-06) (-0.01319038986,0.02284642541) (3.996000794e-05,-6.921276402e-05) (-1.284453257e-08,2.224738301e-08) (0.0004618297644,-0.0007999126164) (-9.553607913e-07,1.65473343e-06) (4.636983056e-10,-8.031490246e-10) (5.524098285e-06,-9.568018896e-06) (-1.086310209e-07,1.881544475e-07) (-1.339854236e-05,2.320695611e-05) (-0.000365141319,0.0006324433165) (8.800808196e-10,-1.524344694e-09) (2.84893946e-05,-4.934507893e-05) (-0.0001517399338,0.0002628212748) (-1.277053227e-10,2.211921074e-10) (-2.208009141e-05,3.824384015e-05) (0.0002236392519,-0.0003873545469) (2.407892199e-08,-4.170591628e-08) (-1.190479427e-09,2.061970853e-09) (-3.154137007e-05,5.46312555e-05) (-9.036164812e-11,1.565109656e-10) (1.950696771e-06,-3.378705918e-06) (-8.471154588e-05,0.0001467247015) (-2.03076594e-11,3.517389786e-11) (5.730243228e-08,-9.925072411e-08) (-5.392190249e-06,9.339547476e-06) (-3.658433149e-10,6.336592089e-10) (-1.116528349e-06,1.933883829e-06) (8.868127353e-06,-1.536004714e-05) (-9.65577339e-11,1.67242901e-10) (1.416117621e-06,-2.452787669e-06) (-1.848146722e-05,3.201084023e-05) (-4.754985346e-11,8.235876209e-11) (1.592600314e-06,-2.75846466e-06) (-1.728333755e-05,2.993561877e-05) (-4.33680869e-19,-2.602085214e-18) (0.001421288335,-0.002461743608) (-0.02866009467,0.04964074012) (4.147852654e-05,-7.184291538e-05) (-0.008490374326,0.01470575971) (0,-2.710505431e-20) (-3.488083878e-05,6.041538497e-05) (0.002604149643,-0.004510519493) (-1.212696121e-06,2.100451296e-06) (-0.001949014841,0.003375792729) (2.879912021e-20,-1.863472484e-20) (-6.84819863e-07,1.186142797e-06) (1.665488592e-05,-2.88471086e-05) (-1.158052873e-08,2.005806414e-08) (-0.0002638178336,0.0004569458917) (0,2.117582368e-22) (-3.213881516e-09,5.566606076e-09) (1.951032757e-05,-3.379287863e-05) (-5.044923245e-09,8.738063381e-09) (1.02387175e-06,-1.773397892e-06) (1.6093626e-20,1.863472484e-20) (-1.126062466e-07,1.950397403e-07) (2.913830078e-10,-5.046901739e-10) (1.392033993e-05,-2.411073601e-05) (-0.0002210927651,0.0003829439024) (-4.235164736e-22,-2.541098842e-21) (-6.274119749e-07,1.086709418e-06) (1.575244907e-09,-2.728404213e-09) (-2.951896633e-05,5.112834946e-05) (0.0001121274987,-0.0001942105247) (-3.811648263e-21,5.082197684e-21) (9.099122566e-07,-1.576014259e-06) (-6.783673963e-09,1.174966797e-08) (-4.63062193e-05,8.020472453e-05) (9.03034606e-05,-0.0001564101819) (2.752857079e-21,-2.329340605e-21) (6.916940092e-07,-1.198049167e-06) (-3.396487491e-09,5.882888901e-09) (-8.287775515e-06,1.435484827e-05) (-5.108477623e-05,8.848142792e-05) (-2.223461487e-21,2.329340605e-21) (5.895674323e-09,-1.021160747e-08) (-1.532991602e-11,2.655219342e-11) (2.033345566e-06,-3.521857829e-06) (-2.71197858e-05,4.697284689e-05) (6.352747104e-22,-1.270549421e-21) (2.929347052e-08,-5.073777927e-08) (-1.226739939e-10,2.124775902e-10) (-8.152622709e-06,1.412075675e-05) (1.185719849e-05,-2.053727021e-05) (-5.29395592e-23,1.058791184e-22) (2.366362762e-11,-4.098660533e-11) (2.030510961e-07,-3.51694815e-07) (-5.516550356e-10,9.554945499e-10) (-6.289741996e-06,1.08941527e-05) (-1.588186776e-22,-2.117582368e-22) (8.545604851e-08,-1.480142178e-07) (-2.306127229e-10,3.994329529e-10) (5.359197563e-06,-9.282402468e-06) (-1.792223291e-05,3.104221799e-05) (1.588186776e-22,-4.235164736e-22) (4.463913472e-08,-7.731724935e-08) (-1.130973968e-10,1.958904374e-10) (1.567605963e-06,-2.715173175e-06) (-8.255361831e-06,1.429870613e-05) -(-0.02616144742,0.04531295613) (-0.04013399248,0.06951411408) (-0.002798563663,0.004847254452) (0.004795750123,-0.008306482873) (0.001429388891,-0.002475774183) (-0.0006396043251,0.001107827188) (-0.0002747846405,0.0004759409585) (4.231850505e-05,-7.329780085e-05) (9.721999344e-05,-0.0001683899681) (-1.201980249e-05,2.08189086e-05) (-1.024812465e-05,1.775027258e-05) (-3.419704066e-06,5.923101189e-06) (5.830153065e-06,-1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424695399e-12,0) (-0.008719428334,0) (0.06301289739,0) (-4.33680869e-19,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138141033e-13,0) (-6.644558929e-05,0) (8.470329473e-22,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (-8.470329473e-22,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640454e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182211e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (1.058791184e-22,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (0,0) (-3.139926191e-09,0) (-5.790193243e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (8.470329473e-22,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556846e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808164e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-4.235164736e-22,0) (-2.091688994e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.21468247e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-7.589415207e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (2.710505431e-20,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (4.065758147e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (-6.776263578e-21,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (0,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (1.694065895e-21,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (8.470329473e-22,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (4.235164736e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (0,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (1.734723476e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-1.084202172e-18,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-1.694065895e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (6.776263578e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (3.388131789e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (0,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (1.058791184e-21,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-2.117582368e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-6.352747104e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566195e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (-6.776263578e-21,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-3.388131789e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (0,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (0,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (-3.388131789e-21,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (0,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (4.235164736e-22,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-8.470329473e-22,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (1.270549421e-21,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-4.235164736e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0.2370734683,0) (0.0006670533688,0) (0.004066218674,0) (0.0006820777545,0) (0.0005956356081,0) (8.044155541e-06,0) (9.655870575e-06,0) (6.831873609e-05,0) (4.382157398e-05,0) (1.591626787e-05,0) (1.652759785e-05,0) (1.94939596e-05,0) (1.491606603e-05,0) (3.877437899e-09,0) (0.000104543173,0) (0.3087228188,0) (0.0001062601308,0) (0.02189791074,0) (1.451237323e-09,0) (0.00101721631,0) (6.767884142e-05,0) (3.270019455e-11,0) (0.002703808895,0) (4.554381508e-05,0) (7.902103776e-11,0) (3.058225334e-05,0) (0.0002763177339,0) (1.071720204e-11,0) (1.677877475e-07,0) (1.554212663e-07,0) (1.046209416e-14,0) (9.935797639e-06,0) (6.792423503e-05,0) (2.685856042e-12,0) (0.0001254778854,0) (5.197168565e-06,0) (3.878416987e-12,0) (3.452071693e-06,0) (3.698293816e-05,0) (1.425830819e-12,0) (2.421919495e-05,0) (1.387963126e-06,0) (7.687789817e-13,0) (1.030262135e-06,0) (3.786694817e-05,0) (1.535265483e-12,0) (3.118113231e-05,0) (2.989431376e-07,0) (8.846582533e-13,0) (1.823523549e-07,0) (2.000685348e-05,0) (1.00557303e-12,0) (3.415236843e-18,0) (-4.33680869e-19,0) (0,0) (0.03787629397,0) (0.1290043371,0) (9.757819552e-19,0) (1.626303259e-19,0) (1.734723476e-18,0) (0.01166407464,0) (0.02777002614,0) (0,0) (-1.905824131e-21,0) (-6.776263578e-21,0) (0.0001520492622,0) (9.479976155e-05,0) (3.726944968e-20,0) (-1.016439537e-20,0) (0,0) (0.0005765989928,0) (0.002012299337,0) (3.30872245e-24,0) (-2.067951531e-24,0) (4.135903063e-25,0) (2.968303438e-07,0) (9.832055907e-08,0) (-1.058791184e-22,0) (3.97046694e-23,0) (-1.389663429e-22,0) (3.860134312e-07,0) (9.979758691e-06,0) (-1.694065895e-21,0) (4.235164736e-22,0) (-2.01170325e-21,0) (3.578750522e-05,0) (7.498366886e-05,0) (-2.488159283e-21,0) (5.29395592e-23,0) (8.470329473e-22,0) (1.02162398e-05,0) (6.854234909e-05,0) (-1.058791184e-22,0) (-9.264422861e-23,0) (0,0) (9.779609685e-07,0) (8.699365442e-06,0) (-2.117582368e-22,0) (-5.29395592e-23,0) (-1.32348898e-23,0) (4.056902711e-06,0) (8.419618364e-06,0) (0,0) (1.98523347e-23,0) (-1.032321404e-21,0) (5.202177913e-06,0) (1.997650936e-05,0) (5.29395592e-23,0) (-3.176373552e-22,0) (4.764560328e-22,0) (2.701400034e-06,0) (1.519803296e-05,0) (2.117582368e-22,0) (-3.30872245e-23,0) (4.566036981e-22,0) (2.43172997e-06,0) (8.192639034e-06,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (1.073506527e-10,0) (0.04541795873,0) (0.1725741146,0) (0.01007922853,0) (4.289735641e-10,0) (0.01096928929,0) (5.737094057e-05,0) (1.333779821e-12,0) (6.161287463e-05,0) (4.444852922e-08,0) (1.969247442e-15,0) (4.145795013e-08,0) (1.730393003e-13,0) (0.0001003702013,0) (0.0001160749593,0) (5.79959204e-05,0) (1.968726167e-12,0) (0.000456033966,0) (4.122042944e-13,0) (0.0001878179395,0) (0.0003229003659,0) (1.646882568e-13,0) (1.410595769e-05,0) (0.0002999456081,0) (5.102445159e-14,0) (6.696096688e-05,0) (0.0001183515028,0) (8.984760364e-14,0) (5.83628165e-07,0) (0.0001427988773,0) (2.344464954e-06,0) (1.402501907e-15,0) (0.0001207276869,0) (4.655188215e-14,0) (6.221369806e-06,0) (0.0001060713667,0) (3.292207679e-14,0) (1.583941041e-06,0) (9.971418463e-05,0) (-4.33680869e-18,0) (0.009429544937,0) (1.5840107e-13,0) (0.0005109923468,0) (0.194759507,0) (2.710505431e-19,0) (0.002555581156,0) (0.005067391794,0) (1.942355678e-10,0) (0.0004409201741,0) (-3.388131789e-21,0) (2.942625463e-05,0) (5.654394068e-05,0) (2.071868796e-12,0) (8.037295849e-06,0) (-1.058791184e-22,0) (7.348914505e-07,0) (3.230829218e-06,0) (6.964797294e-14,0) (1.567816421e-07,0) (-1.355252716e-20,0) (0.000113937913,0) (0.0001851425888,0) (2.781457311e-11,0) (2.999024015e-05,0) (-6.776263578e-21,0) (1.52722285e-05,0) (1.871511688e-11,0) (0.0005040683449,0) (5.02024039e-05,0) (-1.016439537e-20,0) (1.211469523e-05,0) (6.023879719e-13,0) (0.0001599166819,0) (0.0002441829949,0) (-1.355252716e-20,0) (4.063106018e-06,0) (2.623064153e-13,0) (0.000205223284,0) (3.30332097e-05,0) (2.733646717e-08,0) (8.470329473e-22,0) (4.552654708e-15,0) (0.000111644296,0) (2.711731612e-05,0) (-6.776263578e-21,0) (1.172473665e-06,0) (1.533275629e-13,0) (1.278860789e-05,0) (9.776751272e-05,0) (2.541098842e-21,0) (1.709717327e-06,0) (1.530464362e-07,0) (1.424655546e-13,0) (0.0001104626914,0) (8.6197615e-07,0) (-2.964615315e-21,0) (6.739760524e-14,0) (2.211632354e-05,0) (7.515207224e-05,0) (4.65868121e-21,0) (6.315078598e-07,0) (3.652790367e-14,0) (1.2355385e-07,0) (8.266795114e-05,0) -(-0.12111549,0.2097781823) (-0.0005607657229,0.0009712747232) (-0.002000518664,0.003464999967) (-0.0004075616168,0.0007059174275) (-0.0002729746153,0.0004728059028) (-1.278868443e-06,2.21506512e-06) (-6.037625137e-06,1.045747349e-05) (-3.526857492e-05,6.108696368e-05) (-1.932297171e-05,3.346836876e-05) (-7.415213061e-06,1.284352577e-05) (-8.572210917e-06,1.484750484e-05) (-9.354879707e-06,1.620312695e-05) (-6.899174245e-06,1.194972032e-05) (-8.714321431e-08,1.509364747e-07) (-0.002819411596,0.004883364132) (0.01502942923,-0.02603173503) (0.0008700924344,-0.001507044304) (0.0001228246921,-0.0002127386071) (7.320806355e-10,-1.268000856e-09) (0.0001192873191,-0.0002066116974) (-8.929992509e-05,0.0001546720074) (1.373510759e-11,-2.378990418e-11) (0.000299626932,-0.0005189690695) (-0.0001838490925,0.0003184359691) (5.231009427e-11,-9.060374109e-11) (3.300273741e-05,-5.716241798e-05) (-2.446401255e-05,4.237291269e-05) (4.22210803e-12,-7.312905618e-12) (2.383089031e-07,-4.12763128e-07) (-2.03263699e-07,3.52063054e-07) (1.663957861e-14,-2.882059558e-14) (1.598075748e-05,-2.767948389e-05) (-1.228323086e-05,2.127517993e-05) (1.819532646e-12,-3.151522988e-12) (1.701272271e-05,-2.946690011e-05) (-1.203371311e-05,2.08430025e-05) (2.268351532e-12,-3.928900099e-12) (4.63149072e-06,-8.021977241e-06) (-3.344313848e-06,5.792521501e-06) (6.401746961e-13,-1.1088151e-12) (3.782440103e-06,-6.551378435e-06) (-2.784982798e-06,4.823731704e-06) (4.566111217e-13,-7.908736608e-13) (3.233764025e-06,-5.601043591e-06) (-1.652550646e-06,2.862301681e-06) (8.418017027e-13,-1.458043318e-12) (2.598776547e-06,-4.501213017e-06) (-1.422702445e-06,2.464192919e-06) (5.279271586e-13,-9.143966619e-13) (8.817371997e-07,-1.527213629e-06) (-1.45942524e-07,2.527798665e-07) (4.485466413e-13,-7.769055725e-13) (2.710505431e-18,-1.95156391e-18) (-8.67361738e-19,0) (0,0) (-0.02060375576,0.0356867518) (0.06045012766,-0.1047026924) (0,0) (2.168404345e-19,0) (2.168404345e-19,-8.67361738e-19) (-0.005297526462,0.009175584986) (0.01558567133,-0.02699517461) (3.388131789e-21,-6.776263578e-21) (6.776263578e-21,0) (-2.541098842e-21,1.694065895e-21) (-2.702014961e-05,4.680027195e-05) (0.0001359807469,-0.0002355255625) (2.710505431e-20,-2.710505431e-20) (6.776263578e-21,-1.355252716e-20) (3.388131789e-21,0) (-0.0003173531288,0.0005496717431) (0.0009319561715,-0.001614195439) (-1.32348898e-23,-2.64697796e-23) (-1.98523347e-23,6.6174449e-23) (-6.6174449e-24,0) (1.10762366e-08,-1.918460455e-08) (-6.716194071e-07,1.163278936e-06) (0,0) (-1.32348898e-23,5.29395592e-23) (-1.32348898e-22,-1.32348898e-22) (-4.754822232e-07,8.235593687e-07) (2.065183874e-06,-3.577003397e-06) (0,0) (3.176373552e-22,-2.329340605e-21) (1.058791184e-21,-6.776263578e-21) (-1.517604603e-05,2.628568279e-05) (4.50724991e-05,-7.806785847e-05) (-1.588186776e-21,4.341043855e-21) (-2.64697796e-22,3.176373552e-22) (-4.235164736e-22,8.470329473e-22) (-7.538565652e-06,1.305717873e-05) (2.367733081e-05,-4.101033996e-05) (1.98523347e-23,-1.32348898e-23) (9.264422861e-23,1.852884572e-22) (2.64697796e-23,5.29395592e-23) (-8.103564901e-07,1.403578613e-06) (2.67611154e-06,-4.635161153e-06) (-1.588186776e-22,0) (-7.940933881e-23,5.29395592e-23) (-2.64697796e-23,5.29395592e-23) (-1.711417653e-06,2.964262327e-06) (5.087485249e-06,-8.811782933e-06) (0,-2.117582368e-22) (-3.97046694e-23,0) (-2.117582368e-22,5.29395592e-22) (-2.996110319e-06,5.189415297e-06) (8.841353425e-06,-1.531367334e-05) (-1.058791184e-22,0) (2.117582368e-22,2.117582368e-22) (-7.940933881e-23,5.823351512e-22) (-1.848699751e-06,3.202041897e-06) (5.660846895e-06,-9.804874436e-06) (0,0) (4.135903063e-23,-2.249931266e-22) (2.316105715e-23,5.29395592e-23) (-1.315863121e-06,2.279141781e-06) (3.859226647e-06,-6.68437663e-06) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1395541466,-0.2417148723) (-0.01357903408,-0.02351957694) (0.01423099906,0.02464881341) (0.004074510377,0.007057258989) (-0.001425660096,-0.00246931572) (1.975203663e-05,3.4211531e-05) (-5.71653615e-06,-9.901331055e-06) (-7.743450601e-05,-0.0001341204987) (6.633973277e-05,0.0001149037877) (-4.268839373e-05,-7.393846683e-05) (3.706007127e-05,6.418992637e-05) (-2.936722707e-05,-5.086552936e-05) (1.515866188e-05,2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,-0.102295252) (0.003122660326,0.005408606339) (0.001450134843,0.002511707226) (-1.663179087e-05,-2.88071068e-05) (-5.691193611e-05,-9.85743649e-05) (4.320980191e-06,7.484157229e-06) (-1.508217198e-05,-2.612308816e-05) (-5.052939195e-06,-8.751947413e-06) (-3.798238809e-06,-6.578742597e-06) (-1.228729791e-05,-2.128222427e-05) (-6.964894952e-06,-1.206355193e-05) (-2.032950537e-06,-3.521173619e-06) (-3.820457386e-06,-6.6172263e-06) (0.005175592884,0.008964389834) (5.304917144e-09,9.188386024e-09) (-0.09224965312,-0.1597810862) (-0.0001541485888,-0.0002669931877) (1.707308578e-10,2.957145201e-10) (0.01114537494,0.01930435567) (2.347871873e-06,4.066633374e-06) (-7.561107841e-13,-1.309622278e-12) (0.000246935527,0.000427704879) (-1.387241408e-07,-2.402772602e-07) (-6.941934625e-14,-1.202378346e-13) (-5.376045784e-06,-9.311584441e-06) (-7.712042098e-13,-1.335764866e-12) (8.292123503e-08,1.436237921e-07) (-4.795061678e-05,-8.305290452e-05) (-4.456588466e-15,-7.719037506e-15) (-4.108193539e-07,-7.115599937e-07) (3.307487654e-06,5.728736662e-06) (2.981603408e-15,5.164287035e-15) (1.947461171e-06,3.373101694e-06) (-2.748230891e-05,-4.760075535e-05) (-1.069619489e-08,-1.8526353e-08) (7.219598505e-15,1.25047114e-14) (3.005871758e-06,5.206322606e-06) (-2.336955431e-15,-4.047727356e-15) (8.74177065e-07,1.514119091e-06) (-1.502558212e-05,-2.602507165e-05) (1.117846321e-16,1.936173322e-16) (2.783083705e-06,4.820442378e-06) (-2.210803363e-05,-3.82922375e-05) (1.377538078e-13,2.385965939e-13) (4.150521297e-07,7.188913765e-07) (-5.857532454e-06,-1.014554382e-05) (-2.638813198e-15,-4.570558867e-15) (4.927792809e-07,8.535187514e-07) (-3.782800919e-06,-6.552003387e-06) (-2.398416777e-15,-4.154178646e-15) (1.233592183e-06,2.136644337e-06) (-8.538607507e-06,-1.478930203e-05) (-7.047314121e-19,1.19262239e-18) (0.0007200330219,0.001247133777) (-0.0001878309588,-0.0003253327639) (3.990106786e-09,6.911067683e-09) (-0.03195096622,-0.05534069685) (5.895349313e-19,4.065758147e-20) (-2.330564706e-05,-4.036656481e-05) (0.0007153114482,0.001238955771) (2.662361388e-10,4.611345187e-10) (0.003245375324,0.005621154951) (5.29395592e-23,-1.217609862e-21) (6.095239344e-10,1.055726423e-09) (-3.44128403e-08,-5.960478783e-08) (7.464270409e-14,1.292849562e-13) (1.059566382e-05,1.835222807e-05) (1.694065895e-21,2.541098842e-21) (-1.888476037e-09,-3.270936446e-09) (8.862191923e-06,1.534976668e-05) (-1.368859682e-12,-2.370934516e-12) (6.318959677e-06,1.094475921e-05) (-2.64697796e-22,-8.999725065e-22) (7.446402637e-11,1.28975477e-10) (-1.079534703e-15,-1.869808926e-15) (-7.090290898e-08,-1.228074408e-07) (4.706497865e-06,8.151893428e-06) (-1.058791184e-22,-1.588186776e-22) (1.33340407e-08,2.309523596e-08) (-4.125560409e-14,-7.14568029e-14) (6.800887061e-06,1.177948193e-05) (-1.445470366e-05,-2.503628115e-05) (-3.97046694e-23,3.441071348e-22) (1.436655647e-09,2.488360574e-09) (2.776996633e-14,4.809899276e-14) (3.119865907e-07,5.403766263e-07) (-1.632104712e-06,-2.826888284e-06) (-2.117582368e-22,-2.382280164e-22) (-4.064786482e-09,-7.040416709e-09) (2.25289788e-14,3.902133595e-14) (-3.398791457e-07,-5.886879487e-07) (1.948638818e-06,3.375141438e-06) (1.720535674e-22,1.244079641e-21) (2.900715708e-10,5.024186985e-10) (-8.107039159e-16,-1.40417988e-15) (1.611039988e-06,2.790403113e-06) (-1.070561973e-05,-1.854267731e-05) (-6.6174449e-23,5.161607022e-22) (6.102102725e-09,1.056915195e-08) (1.654781332e-14,2.866165417e-14) (4.947043268e-06,8.568530288e-06) (-1.021949476e-05,-1.770068415e-05) (1.654361225e-24,4.652890946e-25) (4.489881054e-12,7.776702106e-12) (-2.191745498e-09,-3.79621456e-09) (-9.634049138e-17,-1.668666272e-16) (-1.590204424e-08,-2.754314857e-08) (-6.6174449e-24,-4.63221143e-23) (3.879285887e-09,6.719120253e-09) (-8.601079543e-15,-1.489750653e-14) (1.863843086e-06,3.228270922e-06) (-3.791159118e-06,-6.566480212e-06) (-7.940933881e-23,1.720535674e-22) (8.070512659e-09,1.397853797e-08) (-9.55011458e-15,-1.654128355e-14) (1.512581421e-06,2.619867872e-06) (-4.456953971e-06,-7.719670724e-06) -(-0.1378654839,-0.2387900227) (-0.0169245535,-0.02931418655) (0.0167882116,0.02907803547) (0.002856832998,0.004948179901) (-0.001021264037,-0.001768881199) (-6.261071557e-05,-0.0001084449405) (-5.097302548e-05,-8.828786994e-05) (5.211057454e-06,9.025816272e-06) (-1.563957284e-05,-2.708853477e-05) (1.958875962e-05,3.392872691e-05) (-7.901662008e-06,-1.368608006e-05) (1.11827671e-06,1.936912078e-06) (-3.986478569e-06,-6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,-0.0005191289988) (0.09925944203,0.1719223967) (0.0005701036329,0.0009874484577) (0.03744131566,0.06485026102) (-1.08363822e-05,-1.876916455e-05) (5.12637978e-06,8.879150237e-06) (-0.0004333454456,-0.000750576329) (-0.004174757703,-0.007230892451) (-5.79928862e-07,-1.004466254e-06) (-0.0003092991382,-0.0005357218221) (-0.008557666191,-0.01482231264) (-1.127253589e-06,-1.952460489e-06) (0.001441927363,0.002497491453) (0.0001026368809,0.0001777722925) (1.949578464e-07,3.376768953e-07) (7.957927152e-05,0.0001378353415) (6.761905753e-05,0.0001171196432) (1.853059582e-08,3.209593345e-08) (0.0007081325001,0.001226521469) (7.017291895e-05,0.0001215430609) (9.836838076e-08,1.703790333e-07) (-3.926527806e-05,-6.800945657e-05) (-0.000555379596,-0.0009619456778) (-7.501276439e-08,-1.299259191e-07) (0.0001990917172,0.0003448369695) (1.15125293e-05,1.994028567e-05) (2.660804959e-08,4.608649378e-08) (-1.201453687e-05,-2.080978829e-05) (-0.0001308978504,-0.0002267217275) (-1.801120482e-08,-3.119632186e-08) (0.0001320177961,0.0002286615304) (1.379282385e-06,2.388987168e-06) (1.705203038e-08,2.953498298e-08) (-1.642038463e-06,-2.844094046e-06) (-6.621122398e-05,-0.000114681204) (-8.667301526e-09,-1.501220661e-08) (3.661879991e-05,6.342562196e-05) (3.18796139e-08,5.521711101e-08) (4.775645764e-09,8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,-0.00159926779) (0.0008274199475,0.001433133388) (-5.55619918e-06,-9.623619276e-06) (-3.00319403e-06,-5.201684645e-06) (3.982825217e-06,6.898455633e-06) (1.175840002e-05,2.036614625e-05) (-4.157662878e-06,-7.201283346e-06) (-2.677457455e-06,-4.637492347e-06) (2.594031055e-06,4.492993584e-06) (1.179960774e-06,2.043752012e-06) (-3.634784569e-07,-6.295631548e-07) (1.553863596e-07,2.691370696e-07) (5.193486208e-07,8.995381981e-07) (0.03245066753,0.05620620491) (1.973358379e-05,3.417956974e-05) (0.003074044889,0.005324401932) (-0.003612640396,-0.006257276715) (-1.712840758e-06,-2.966727218e-06) (0.0006726502744,0.001165064451) (-7.897721341e-05,-0.0001367925463) (-9.66799994e-09,-1.67454671e-08) (-2.492556751e-05,-4.317234933e-05) (2.421005667e-06,4.19330482e-06) (3.489741388e-10,6.044409389e-10) (-3.762967448e-07,-6.517650808e-07) (-8.094592238e-08,-1.402024502e-07) (3.136037117e-05,5.431775621e-05) (2.045657133e-05,3.54318209e-05) (6.618798767e-10,1.146409575e-09) (-2.146830323e-05,-3.718419194e-05) (8.675245077e-07,1.502596524e-06) (-9.606141336e-11,-1.663832486e-10) (1.456791745e-05,2.523237319e-05) (-1.076291122e-05,-1.864190907e-05) (1.04629614e-07,1.812238073e-07) (-8.956602146e-10,-1.551328998e-09) (2.547207111e-05,4.411892133e-05) (-6.797765478e-11,-1.177407519e-10) (6.283968979e-06,1.088415354e-05) (5.35510915e-06,9.275321128e-06) (-1.527935823e-11,-2.646462476e-11) (1.016270017e-06,1.760231303e-06) (2.862275528e-06,4.95760664e-06) (-2.747461897e-10,-4.758743597e-10) (7.443505779e-07,1.28925302e-06) (4.771932706e-06,8.265229897e-06) (-7.264500146e-11,-1.258248334e-10) (1.575517403e-06,2.728876191e-06) (4.761717681e-06,8.247536954e-06) (-3.577407697e-11,-6.196251891e-11) (1.541553266e-06,2.67004858e-06) (3.194233381e-06,5.532574508e-06) (0,1.734723476e-18) (-0.002729426434,-0.004727505259) (0.06324356095,0.1095410608) (3.126494954e-05,5.415248111e-05) (0.0002650767828,0.0004591264557) (5.421010862e-20,-3.252606517e-19) (0.0001065037686,0.0001844699384) (-0.006663150733,-0.01154091561) (-9.127041456e-07,-1.580849952e-06) (0.0002416297276,0.0004185149648) (-1.270549421e-21,-1.270549421e-21) (1.483669546e-06,2.569791035e-06) (-3.500462032e-05,-6.06297809e-05) (-8.719713196e-09,-1.510298628e-08) (1.471765147e-05,2.549172011e-05) (-1.270549421e-21,-2.964615315e-21) (6.08483442e-09,1.053924237e-08) (-3.835660981e-05,-6.643559699e-05) (-3.797649481e-09,-6.577721851e-09) (1.178686968e-06,2.041545716e-06) (-2.117582368e-22,-8.470329473e-22) (2.4179593e-07,4.188028358e-07) (2.191988206e-10,3.796634942e-10) (-2.364132934e-05,-4.094798358e-05) (1.230236002e-05,2.130831261e-05) (-8.470329473e-22,8.470329473e-22) (1.181594739e-06,2.046582122e-06) (1.185010832e-09,2.052498968e-09) (-4.056713351e-05,-7.026433636e-05) (-2.316881374e-05,-4.012956255e-05) (4.235164736e-22,8.470329473e-22) (-2.188570265e-06,-3.790714895e-06) (-5.101434888e-09,-8.835944417e-09) (6.486224796e-05,0.000112344709) (-2.66489559e-06,-4.61573456e-06) (-4.235164736e-22,4.235164736e-22) (-1.304105758e-06,-2.258777432e-06) (-2.554688277e-09,-4.424849894e-09) (3.739300532e-05,6.476658507e-05) (4.052238551e-06,7.018683054e-06) (1.058791184e-22,-1.058791184e-22) (-1.147182595e-08,-1.986978541e-08) (-1.153315372e-11,-1.997600821e-11) (4.290322277e-06,7.431056164e-06) (1.630475981e-06,2.824067239e-06) (0,-2.117582368e-22) (-8.329871479e-08,-1.442776062e-07) (-9.227744456e-11,-1.598292224e-10) (3.112744687e-06,5.391431949e-06) (4.610680091e-06,7.985932175e-06) (9.529120657e-22,1.270549421e-21) (-4.072151728e-12,-7.053173691e-12) (-4.732118624e-07,-8.196269885e-07) (-4.150544398e-10,-7.188953777e-10) (1.376158085e-05,2.383575722e-05) (0,1.058791184e-22) (-1.530521796e-07,-2.650941513e-07) (-1.73488401e-10,-3.004907251e-10) (5.513119534e-06,9.54900314e-06) (4.337960104e-06,7.513567301e-06) (-5.29395592e-23,-1.058791184e-22) (-7.700519144e-08,-1.33376904e-07) (-8.508942103e-11,-1.473792004e-10) (6.216831785e-07,1.076786851e-06) (6.222146986e-06,1.077707471e-05) -(0.05157424969,0.08932922082) (0.07911949656,0.1370389879) (0.005517042647,0.009555798172) (-0.009454263379,-0.01637526452) (-0.002817873889,-0.004880700745) (0.001260905509,0.002183952404) (0.0005417059474,0.0009382622237) (-8.342600894e-05,-0.0001444980862) (-0.0001916579055,-0.0003319612299) (2.369564209e-05,4.104205603e-05) (2.020298538e-05,3.499259714e-05) (6.741548682e-06,1.167670484e-05) (-1.149346843e-05,-1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,0.0005263748085) (0.04090131005,0.07084314711) (-0.00883687416,-0.01530591502) (0.01252654015,0.02169660398) (-0.000346879798,-0.0006008134342) (-5.135379222e-06,-8.894737729e-06) (0.001183168129,0.002049307314) (-0.00268255013,-0.004646313118) (5.808926845e-07,1.006135643e-06) (0.001574284488,0.002726740719) (-0.004459427703,-0.007723955355) (1.129113895e-06,1.955682633e-06) (0.0001341706355,0.0002323903576) (0.0003683995724,0.0006380867769) (-1.952858243e-07,-3.382449696e-07) (-4.227609596e-05,-7.322434614e-05) (9.017141291e-05,0.0001561814685) (-1.85615821e-08,-3.214960327e-08) (3.392569073e-05,5.876102003e-05) (0.0002193194444,0.0003798724208) (-9.853361838e-08,-1.706652333e-07) (0.0001346486464,0.0002332182967) (-0.0003281340941,-0.0005683449226) (7.513718213e-08,1.30141417e-07) (2.344440262e-05,4.060689649e-05) (4.508202613e-05,7.808435976e-05) (-2.665283983e-08,-4.616407275e-08) (3.529806653e-05,6.113804464e-05) (-8.179885248e-05,-0.0001416797685) (1.80411161e-08,3.12481297e-08) (3.253944728e-05,5.635997594e-05) (1.08655697e-05,1.881971877e-05) (-1.708094113e-08,-2.958505788e-08) (1.043761257e-05,1.807847528e-05) (-3.251583845e-05,-5.631908425e-05) (8.68155776e-09,1.503689913e-08) (1.137503137e-05,1.970213227e-05) (5.505628404e-07,9.536028123e-07) (-4.783889003e-09,-8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,0.03639567249) (-0.01883018317,-0.03261483397) (0.0001264463693,0.0002190115361) (6.834581865e-05,0.0001183784304) (-9.063998106e-05,-0.0001569930524) (-0.0002675942571,-0.0004634868491) (9.461888584e-05,0.0001638847176) (6.093280015e-05,0.0001055387057) (-5.903420635e-05,-0.0001022502448) (-2.685320506e-05,-4.65111155e-05) (8.271937295e-06,1.432741567e-05) (-3.536237701e-06,-6.124943366e-06) (-1.181918528e-05,-2.04714294e-05) (0.01305259065,0.02260775017) (-1.972421406e-05,-3.41633409e-05) (-3.139793852e-05,-5.438282477e-05) (-0.001208003877,-0.002092324091) (1.712798772e-06,2.966654497e-06) (-0.01682721675,-0.02914559437) (-2.585942318e-05,-4.47898348e-05) (9.67925942e-09,1.67649691e-08) (0.0005877851435,0.001018073733) (1.150133528e-06,1.992089707e-06) (-3.493905947e-10,-6.051622618e-10) (6.952941289e-06,1.204284757e-05) (8.190971413e-08,1.418717865e-07) (1.32217184e-05,2.290068804e-05) (-0.0004639768554,-0.0008036314871) (-6.629958665e-10,-1.148342526e-09) (1.637002792e-05,2.835372008e-05) (-0.0002004334016,-0.0003471608352) (9.621648202e-11,1.666518354e-10) (-1.475131992e-05,-2.555003558e-05) (0.0002859360877,0.0004952558317) (1.363844101e-07,2.362247277e-07) (8.972964103e-10,1.554162972e-09) (-1.642133626e-05,-2.844258873e-05) (6.808895039e-11,1.179335215e-10) (8.86002333e-06,1.534601056e-05) (-0.0001070329349,-0.0001853864814) (1.530817236e-11,2.651453229e-11) (1.09037461e-06,1.888584223e-06) (-4.296340024e-06,-7.441479207e-06) (2.752512015e-10,4.767490659e-10) (-7.394344286e-07,-1.280737999e-06) (1.652763697e-05,2.862670696e-05) (7.276235858e-11,1.260281019e-10) (3.451371935e-06,5.977951547e-06) (-1.976500436e-05,-3.423399176e-05) (3.583427253e-11,6.206678068e-11) (3.65150322e-06,6.3245891e-06) (-1.973991048e-05,-3.419052789e-05) (2.168404345e-19,0) (-0.0008395542634,-0.00145415064) (0.02522679048,0.04369408282) (-3.126224837e-05,-5.414780254e-05) (-0.01100183246,-0.01905573281) (-1.084202172e-19,3.794707604e-19) (6.005470316e-05,0.0001040177971) (-0.003199103504,-0.005541009808) (9.138118664e-07,1.582768581e-06) (-0.002344817337,-0.004061342763) (3.388131789e-20,5.759824041e-20) (5.727926757e-07,9.921060165e-07) (-1.287812239e-05,-2.230556228e-05) (8.725406379e-09,1.511284716e-08) (-0.000335289152,-0.0005807378464) (-4.235164736e-22,-4.235164736e-22) (1.81243952e-09,3.139237334e-09) (-1.242058352e-05,-2.151308171e-05) (3.802120767e-09,6.585466345e-09) (2.538152278e-06,4.396208702e-06) (2.329340605e-20,1.43995601e-20) (9.202421743e-08,1.593906201e-07) (-2.195446888e-10,-3.802625555e-10) (-5.129786172e-06,-8.885050281e-06) (-0.0002810210377,-0.0004867427153) (1.694065895e-21,1.694065895e-21) (3.473961335e-07,6.017077536e-07) (-1.186831509e-09,-2.055652473e-09) (-7.965351864e-05,-0.0001379639413) (0.0001256283905,0.0002175947552) (-4.446922973e-21,-4.235164736e-21) (-9.779151322e-07,-1.693798695e-06) (5.110513569e-09,8.851669155e-09) (3.289864391e-06,5.698212276e-06) (0.0001171394555,0.0002028914885) (7.199780052e-21,6.352747104e-21) (-3.844266251e-07,-6.658464465e-07) (2.55914016e-09,4.432560781e-09) (2.632175311e-05,4.559061372e-05) (-6.372623528e-05,-0.0001103770773) (-1.058791184e-22,4.235164736e-22) (-3.632365662e-09,-6.291441879e-09) (1.155167341e-11,2.000808525e-11) (6.979756536e-06,1.208929295e-05) (-3.434954941e-05,-5.94951648e-05) (3.97046694e-22,5.29395592e-23) (-4.430089943e-08,-7.673140864e-08) (9.242620673e-11,1.60086886e-10) (-7.708935966e-06,-1.335226877e-05) (2.033211796e-05,3.521626133e-05) (2.64697796e-23,0) (2.732028175e-11,4.732011607e-11) (-2.030819374e-07,-3.517482337e-07) (4.158427398e-10,7.202607533e-10) (5.390575629e-06,9.336750872e-06) (-5.29395592e-23,-1.588186776e-22) (-3.944424504e-08,-6.831943648e-08) (1.737627841e-10,3.009659705e-10) (1.261265833e-05,2.184576504e-05) (-1.944658249e-05,-3.36824689e-05) (3.97046694e-22,1.270549421e-21) (-1.766566272e-08,-3.059782538e-08) (8.522954168e-11,1.476218965e-10) (2.700280003e-06,4.67702216e-06) (-4.74143023e-06,-8.212398059e-06) -(0.01677258801,0.02905097462) (0.02573064519,0.04456678478) (0.001794210947,0.00310766452) (-0.003074644141,-0.005325439867) (-0.0009164076666,-0.001587264639) (0.0004100621676,0.0007102485086) (0.0001761695175,0.000305134555) (-2.713117662e-05,-4.699257638e-05) (-6.232953669e-05,-0.0001079579244) (7.706117781e-06,1.334738753e-05) (6.57026234e-06,1.138002819e-05) (2.192435553e-06,3.797409769e-06) (-3.737819008e-06,-6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,-0.0006977515524) (-0.04299386424,-0.07446755728) (-0.007090582965,-0.01228124995) (-0.01874283661,-0.03246354529) (-0.0002534798879,-0.0004390400445) (6.808460863e-06,1.179260014e-05) (0.001218491756,0.00211048963) (0.001120069607,0.001940017466) (-7.702992143e-07,-1.334197376e-06) (0.001420036301,0.002459575022) (0.003079871323,0.005334493612) (-1.497289225e-06,-2.593381012e-06) (-0.0009844018759,-0.001705034064) (0.0002005515599,0.0003473654913) (2.589526051e-07,4.485190688e-07) (-9.179394658e-05,-0.0001589917793) (1.709241288e-05,2.960492753e-05) (2.461341544e-08,4.263168609e-08) (-0.0005075475471,-0.0008790981388) (0.0001125653912,0.0001949689767) (1.306577615e-07,2.263058812e-07) (0.0001311012957,0.0002270741051) (0.0001706747231,0.0002956172919) (-9.963682546e-08,-1.72576044e-07) (-0.0001322101708,-0.0002289947331) (2.533065632e-05,4.387398374e-05) (3.534207956e-08,6.121427745e-08) (3.566399888e-05,6.177185807e-05) (3.686250359e-05,6.384772911e-05) (-2.392364366e-08,-4.143696631e-08) (-7.485395282e-05,-0.0001296508494) (7.155927413e-06,1.239442985e-05) (2.264899878e-08,3.922921662e-08) (9.107253788e-06,1.577422628e-05) (2.532776104e-05,4.386896896e-05) (-1.151244726e-08,-1.994014357e-08) (-1.899134758e-05,-3.289397892e-05) (3.912341003e-07,6.776373393e-07) (6.342969012e-09,1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,0.02863872232) (-0.01481693702,-0.02566368773) (9.949706138e-05,0.0001723339655) (5.377938606e-05,9.314862906e-05) (-7.132203009e-05,-0.0001235333798) (-0.0002105623306,-0.0003647046547) (7.44529174e-05,0.0001289562357) (4.794629208e-05,8.304541391e-05) (-4.645234247e-05,-8.045781728e-05) (-2.113002537e-05,-3.65982775e-05) (6.508952823e-06,1.127383699e-05) (-2.782565142e-06,-4.819544201e-06) (-9.300181641e-06,-1.610838712e-05) (-0.01463285707,-0.0253448519) (2.616874833e-05,4.532560167e-05) (-0.002336540875,-0.00404700751) (0.001812179585,0.003138787114) (-2.272899548e-06,-3.936777498e-06) (-0.01319038986,-0.02284642541) (3.996000794e-05,6.921276402e-05) (-1.284453257e-08,-2.224738301e-08) (0.0004618297644,0.0007999126164) (-9.553607913e-07,-1.65473343e-06) (4.636983056e-10,8.031490246e-10) (5.524098285e-06,9.568018896e-06) (-1.086310209e-07,-1.881544475e-07) (-1.339854236e-05,-2.320695611e-05) (-0.000365141319,-0.0006324433165) (8.800808196e-10,1.524344694e-09) (2.84893946e-05,4.934507893e-05) (-0.0001517399338,-0.0002628212748) (-1.277053227e-10,-2.211921074e-10) (-2.208009141e-05,-3.824384015e-05) (0.0002236392519,0.0003873545469) (2.407892199e-08,4.170591628e-08) (-1.190479427e-09,-2.061970853e-09) (-3.154137007e-05,-5.46312555e-05) (-9.036164812e-11,-1.565109656e-10) (1.950696771e-06,3.378705918e-06) (-8.471154588e-05,-0.0001467247015) (-2.03076594e-11,-3.517389786e-11) (5.730243228e-08,9.925072411e-08) (-5.392190249e-06,-9.339547476e-06) (-3.658433149e-10,-6.336592089e-10) (-1.116528349e-06,-1.933883829e-06) (8.868127353e-06,1.536004714e-05) (-9.65577339e-11,-1.67242901e-10) (1.416117621e-06,2.452787669e-06) (-1.848146722e-05,-3.201084023e-05) (-4.754985346e-11,-8.235876209e-11) (1.592600314e-06,2.75846466e-06) (-1.728333755e-05,-2.993561877e-05) (2.168404345e-19,1.301042607e-18) (0.001421288335,0.002461743608) (-0.02866009467,-0.04964074012) (4.147852654e-05,7.184291538e-05) (-0.008490374326,-0.01470575971) (2.710505431e-20,1.897353802e-19) (-3.488083878e-05,-6.041538497e-05) (0.002604149643,0.004510519493) (-1.212696121e-06,-2.100451296e-06) (-0.001949014841,-0.003375792729) (1.6093626e-20,3.04931861e-20) (-6.84819863e-07,-1.186142797e-06) (1.665488592e-05,2.88471086e-05) (-1.158052873e-08,-2.005806414e-08) (-0.0002638178336,-0.0004569458917) (6.352747104e-22,-6.352747104e-22) (-3.213881516e-09,-5.566606076e-09) (1.951032757e-05,3.379287863e-05) (-5.044923245e-09,-8.738063381e-09) (1.02387175e-06,1.773397892e-06) (2.286988958e-20,-1.694065895e-20) (-1.126062466e-07,-1.950397403e-07) (2.913830078e-10,5.046901739e-10) (1.392033993e-05,2.411073601e-05) (-0.0002210927651,-0.0003829439024) (-2.117582368e-21,3.811648263e-21) (-6.274119749e-07,-1.086709418e-06) (1.575244907e-09,2.728404213e-09) (-2.951896633e-05,-5.112834946e-05) (0.0001121274987,0.0001942105247) (-2.117582368e-22,-1.694065895e-21) (9.099122566e-07,1.576014259e-06) (-6.783673963e-09,-1.174966797e-08) (-4.63062193e-05,-8.020472453e-05) (9.03034606e-05,0.0001564101819) (1.058791184e-22,3.176373552e-21) (6.916940092e-07,1.198049167e-06) (-3.396487491e-09,-5.882888901e-09) (-8.287775515e-06,-1.435484827e-05) (-5.108477623e-05,-8.848142792e-05) (1.111730743e-21,-2.064642809e-21) (5.895674323e-09,1.021160747e-08) (-1.532991602e-11,-2.655219342e-11) (2.033345566e-06,3.521857829e-06) (-2.71197858e-05,-4.697284689e-05) (1.852884572e-22,8.470329473e-22) (2.929347052e-08,5.073777927e-08) (-1.226739939e-10,-2.124775902e-10) (-8.152622709e-06,-1.412075675e-05) (1.185719849e-05,2.053727021e-05) (-1.058791184e-22,5.29395592e-23) (2.366362762e-11,4.098660533e-11) (2.030510961e-07,3.51694815e-07) (-5.516550356e-10,-9.554945499e-10) (-6.289741996e-06,-1.08941527e-05) (-6.6174449e-22,-2.64697796e-22) (8.545604851e-08,1.480142178e-07) (-2.306127229e-10,-3.994329529e-10) (5.359197563e-06,9.282402468e-06) (-1.792223291e-05,-3.104221799e-05) (2.64697796e-22,2.117582368e-22) (4.463913472e-08,7.731724935e-08) (-1.130973968e-10,-1.958904374e-10) (1.567605963e-06,2.715173175e-06) (-8.255361831e-06,-1.429870613e-05) -(-0.02616144742,-0.04531295613) (-0.04013399248,-0.06951411408) (-0.002798563663,-0.004847254452) (0.004795750123,0.008306482873) (0.001429388891,0.002475774183) (-0.0006396043251,-0.001107827188) (-0.0002747846405,-0.0004759409585) (4.231850505e-05,7.329780085e-05) (9.721999344e-05,0.0001683899681) (-1.201980249e-05,-2.08189086e-05) (-1.024812465e-05,-1.775027258e-05) (-3.419704066e-06,-5.923101189e-06) (5.830153065e-06,1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.12111549,-0.2097781823) (-0.0005607657229,-0.0009712747232) (-0.002000518664,-0.003464999967) (-0.0004075616168,-0.0007059174275) (-0.0002729746153,-0.0004728059028) (-1.278868443e-06,-2.21506512e-06) (-6.037625137e-06,-1.045747349e-05) (-3.526857492e-05,-6.108696368e-05) (-1.932297171e-05,-3.346836876e-05) (-7.415213061e-06,-1.284352577e-05) (-8.572210917e-06,-1.484750484e-05) (-9.354879707e-06,-1.620312695e-05) (-6.899174245e-06,-1.194972032e-05) (-8.714321431e-08,-1.509364747e-07) (-0.002819411596,-0.004883364132) (0.01502942923,0.02603173503) (0.0008700924344,0.001507044304) (0.0001228246921,0.0002127386071) (7.320806355e-10,1.268000856e-09) (0.0001192873191,0.0002066116974) (-8.929992509e-05,-0.0001546720074) (1.373510759e-11,2.378990418e-11) (0.000299626932,0.0005189690695) (-0.0001838490925,-0.0003184359691) (5.231009427e-11,9.060374109e-11) (3.300273741e-05,5.716241798e-05) (-2.446401255e-05,-4.237291269e-05) (4.22210803e-12,7.312905618e-12) (2.383089031e-07,4.12763128e-07) (-2.03263699e-07,-3.52063054e-07) (1.663957861e-14,2.882059558e-14) (1.598075748e-05,2.767948389e-05) (-1.228323086e-05,-2.127517993e-05) (1.819532646e-12,3.151522988e-12) (1.701272271e-05,2.946690011e-05) (-1.203371311e-05,-2.08430025e-05) (2.268351532e-12,3.928900099e-12) (4.63149072e-06,8.021977241e-06) (-3.344313848e-06,-5.792521501e-06) (6.401746961e-13,1.1088151e-12) (3.782440103e-06,6.551378435e-06) (-2.784982798e-06,-4.823731704e-06) (4.566111217e-13,7.908736608e-13) (3.233764025e-06,5.601043591e-06) (-1.652550646e-06,-2.862301681e-06) (8.418017027e-13,1.458043318e-12) (2.598776547e-06,4.501213017e-06) (-1.422702445e-06,-2.464192919e-06) (5.279271586e-13,9.143966619e-13) (8.817371997e-07,1.527213629e-06) (-1.45942524e-07,-2.527798665e-07) (4.485466413e-13,7.769055725e-13) (1.029992064e-18,8.67361738e-19) (8.67361738e-19,-1.734723476e-18) (2.168404345e-19,1.734723476e-18) (-0.02060375576,-0.0356867518) (0.06045012766,0.1047026924) (-2.168404345e-19,0) (2.168404345e-19,-2.168404345e-19) (2.168404345e-19,8.67361738e-19) (-0.005297526462,-0.009175584986) (0.01558567133,0.02699517461) (0,6.776263578e-21) (8.470329473e-22,2.117582368e-21) (-3.388131789e-21,5.082197684e-21) (-2.702014961e-05,-4.680027195e-05) (0.0001359807469,0.0002355255625) (6.776263578e-21,6.776263578e-21) (0,1.355252716e-20) (6.776263578e-21,-6.776263578e-21) (-0.0003173531288,-0.0005496717431) (0.0009319561715,0.001614195439) (-1.32348898e-23,0) (3.30872245e-24,0) (0,-1.32348898e-23) (1.10762366e-08,1.918460455e-08) (-6.716194071e-07,-1.163278936e-06) (0,0) (0,0) (-5.29395592e-23,-7.27918939e-23) (-4.754822232e-07,-8.235593687e-07) (2.065183874e-06,3.577003397e-06) (8.470329473e-22,0) (4.235164736e-22,2.117582368e-21) (6.352747104e-22,5.717472394e-21) (-1.517604603e-05,-2.628568279e-05) (4.50724991e-05,7.806785847e-05) (-1.376428539e-21,-3.494010907e-21) (-3.705769144e-22,-1.058791184e-22) (-8.470329473e-22,-4.235164736e-22) (-7.538565652e-06,-1.305717873e-05) (2.367733081e-05,4.101033996e-05) (4.63221143e-23,2.64697796e-23) (1.191140082e-22,-2.514629062e-22) (2.64697796e-23,5.29395592e-23) (-8.103564901e-07,-1.403578613e-06) (2.67611154e-06,4.635161153e-06) (-1.588186776e-22,-3.176373552e-22) (-5.29395592e-23,2.117582368e-22) (2.64697796e-23,5.29395592e-23) (-1.711417653e-06,-2.964262327e-06) (5.087485249e-06,8.811782933e-06) (0,4.235164736e-22) (-2.64697796e-23,2.64697796e-23) (-3.441071348e-22,-6.352747104e-22) (-2.996110319e-06,-5.189415297e-06) (8.841353425e-06,1.531367334e-05) (-1.058791184e-22,-2.117582368e-22) (0,2.117582368e-22) (-1.32348898e-22,-4.764560328e-22) (-1.848699751e-06,-3.202041897e-06) (5.660846895e-06,9.804874436e-06) (5.29395592e-23,0) (-4.135903063e-23,1.257314531e-22) (7.27918939e-23,-1.058791184e-22) (-1.315863121e-06,-2.279141781e-06) (3.859226647e-06,6.68437663e-06) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2475006931,0) (0.001885655396,0) (0.003936900835,0) (0.0009741204454,0) (0.0005004075617,0) (8.132634863e-07,0) (1.510083094e-05,0) (7.282759888e-05,0) (3.408159058e-05,0) (1.381866281e-05,0) (1.778426622e-05,0) (1.795710592e-05,0) (1.276438578e-05,0) (7.833976983e-06,0) (0.3041454174,0) (0.002926686712,0) (0.02849839687,0) (2.755679327e-06,0) (1.477200313e-09,0) (5.595452752e-05,0) (0.000471312833,0) (2.30767043e-11,0) (0.0001328145617,0) (0.002968612862,0) (1.385122765e-10,0) (0.0001424591791,0) (8.663764015e-06,0) (6.653302287e-12,0) (1.353880343e-06,0) (1.063332768e-06,0) (1.058585676e-13,0) (0.0001028139335,0) (8.885062031e-06,0) (4.930568137e-12,0) (9.226573536e-06,0) (0.0001114531879,0) (5.306720436e-12,0) (2.485545863e-05,0) (1.209685944e-06,0) (1.149711836e-12,0) (2.362894913e-06,0) (2.235255113e-05,0) (1.084804457e-12,0) (4.060026829e-05,0) (2.884757044e-07,0) (1.846273793e-12,0) (8.663751496e-07,0) (2.708317392e-05,0) (1.260179665e-12,0) (1.705402686e-05,0) (4.258384822e-09,0) (8.003161713e-13,0) (1.561251128e-17,0) (6.938893904e-18,0) (8.67361738e-19,0) (0.04483170943,0) (0.1133052738,0) (8.67361738e-19,0) (-1.734723476e-18,0) (4.33680869e-19,0) (0.009624007898,0) (0.03498925778,0) (0,0) (5.421010862e-20,0) (6.776263578e-21,0) (1.920663012e-05,0) (0.0007802029551,0) (2.439454888e-19,0) (0,0) (2.710505431e-20,0) (0.0006986693326,0) (0.001726467409,0) (0,0) (-3.176373552e-22,0) (-4.235164736e-22,0) (1.653240914e-09,0) (1.835110102e-05,0) (0,0) (0,0) (0,0) (2.342751068e-06,0) (1.709453932e-06,0) (0,0) (1.016439537e-20,0) (1.101142831e-20,0) (2.57422105e-05,0) (0.0001083718738,0) (1.270549421e-21,0) (0,0) (-4.235164736e-22,0) (2.225083718e-05,0) (3.271647394e-05,0) (0,0) (2.911675756e-22,0) (0,0) (2.685905316e-06,0) (3.292917407e-06,0) (2.117582368e-22,0) (2.117582368e-22,0) (0,0) (2.887868495e-06,0) (1.229628472e-05,0) (2.117582368e-22,0) (0,0) (-4.235164736e-22,0) (6.902245323e-06,0) (1.565229019e-05,0) (-6.352747104e-22,0) (2.117582368e-22,0) (-4.235164736e-22,0) (5.060621495e-06,0) (8.434035548e-06,0) (-1.058791184e-22,0) (-8.470329473e-22,0) (-3.176373552e-22,0) (2.848171096e-06,0) (7.27171318e-06,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (0.08203099855,0) (8.306610194e-08,0) (0.1359609918,0) (0.009081386798,0) (5.657391905e-09,0) (0.01196712578,0) (5.443671855e-05,0) (2.267692166e-12,0) (6.454709571e-05,0) (4.074384328e-08,0) (2.322477598e-15,0) (4.516263572e-08,0) (1.806939314e-09,0) (9.637884248e-05,0) (0.0001200645114,0) (3.505088404e-13,0) (0.0001259530711,0) (0.0003880768169,0) (2.442169459e-14,0) (0.0001806923474,0) (0.0003300259584,0) (4.99498452e-09,0) (5.220474457e-13,0) (0.0003140465704,0) (2.043749217e-14,0) (6.916995033e-05,0) (0.0001161425193,0) (3.068536094e-15,0) (6.841874488e-06,0) (0.0001365406311,0) (3.090610873e-13,0) (1.118320353e-06,0) (0.0001219538312,0) (2.402304362e-14,0) (6.135362753e-06,0) (0.0001061573737,0) (1.022792114e-14,0) (9.682037194e-06,0) (9.16160885e-05,0) (0,0) (0.008475895408,0) (0.1732522102,0) (1.124213962e-07,0) (0.02297182624,0) (1.084202172e-19,0) (0.0009869192534,0) (0.006480627332,0) (3.316210435e-10,0) (0.000596346401,0) (1.694065895e-21,0) (6.030566529e-06,0) (7.772448169e-05,0) (1.304810639e-11,0) (1.025243196e-05,0) (0,0) (6.172455307e-07,0) (3.424236285e-06,0) (8.91940129e-14,0) (8.102047562e-08,0) (0,0) (1.7510264e-07,0) (5.995060337e-14,0) (0.0002921369044,0) (3.675876272e-05,0) (2.032879073e-20,0) (1.275281687e-06,0) (4.637667068e-13,0) (0.0003051743252,0) (0.0002630933887,0) (6.776263578e-21,0) (3.588497215e-06,0) (5.404957306e-12,0) (0.0003430215163,0) (6.96043537e-05,0) (5.082197684e-21,0) (2.144710129e-06,0) (2.269021793e-12,0) (0.0002012220718,0) (3.895281572e-05,0) (1.694065895e-21,0) (3.844113255e-09,0) (1.769838074e-15,0) (0.0001178597097,0) (2.092539475e-05,0) (-8.470329473e-22,0) (6.145570316e-08,0) (3.010474357e-14,0) (2.166322872e-05,0) (9.000390998e-05,0) (0,0) (1.298476433e-12,0) (5.281220211e-07,0) (2.249656277e-13,0) (0.0001117973318,0) (2.541098842e-21,0) (1.467994913e-07,0) (7.105028024e-14,0) (4.480358687e-05,0) (5.317998557e-05,0) (0,0) (6.039698986e-08,0) (2.87767903e-14,0) (3.246588878e-06,0) (8.011602699e-05,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.3147524089,0) (0.3911428714,0) (0.2057672699,0) (0.06817076837,0) (0.01624681051,0) (0.001918900616,0) (8.656155591e-06,0) (0.0003293313421,0) (0.0005165205109,0) (0.0005274892321,0) (0.000308913253,0) (0.0001921098042,0) (7.200817462e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1469209212,0) (0.001757452279,0) (0.008885391297,0) (0.0004765796032,0) (0.0003137171467,0) (3.753583099e-07,0) (3.817084e-06,0) (6.033841652e-07,0) (5.317323845e-07,0) (8.414643968e-06,0) (3.31541252e-06,0) (3.002007615e-07,0) (1.229871495e-06,0) (0.001306177527,0) (1.355168727e-09,0) (0.2503658847,0) (1.046614926e-05,0) (2.060951583e-11,0) (0.04152020624,0) (4.050576507e-07,0) (1.00843227e-12,0) (0.003778769832,0) (1.889305054e-06,0) (8.299835645e-12,0) (0.002559803502,0) (1.316604296e-15,0) (2.853709815e-10,0) (7.660087477e-05,0) (2.266554089e-16,0) (5.359854749e-09,0) (1.127557649e-07,0) (1.456075894e-15,0) (8.395718063e-08,0) (9.154156321e-06,0) (9.161877051e-08,0) (3.993706216e-16,0) (1.150818494e-07,0) (1.068890781e-15,0) (4.419176462e-08,0) (7.775554357e-06,0) (1.628929061e-17,0) (4.528323296e-06,0) (1.43185262e-05,0) (2.455969101e-13,0) (6.161678805e-07,0) (1.125366415e-06,0) (1.15944313e-15,0) (1.58315933e-07,0) (5.391837529e-07,0) (2.24968478e-15,0) (6.286898691e-07,0) (3.183188427e-06,0) (6.2883726e-18,0) (0.0002446691601,0) (8.145458932e-07,0) (5.664740933e-10,0) (0.177759353,0) (2.493664997e-18,0) (2.201408811e-06,0) (0.0003158153936,0) (8.549720567e-10,0) (0.0706465972,0) (1.058791184e-22,0) (2.464242287e-13,0) (6.094571757e-11,0) (1.707997469e-15,0) (4.38015457e-05,0) (8.131516294e-20,0) (2.311133296e-11,0) (9.174418953e-05,0) (8.403150672e-11,0) (0.001971316564,0) (5.29395592e-23,0) (1.266660794e-13,0) (7.775698928e-17,0) (6.88337889e-11,0) (2.410431746e-06,0) (1.356576205e-22,0) (5.576701781e-10,0) (1.468000911e-14,0) (6.062379565e-07,0) (3.176643229e-06,0) (-2.067951531e-24,0) (2.300661614e-12,0) (5.707138741e-16,0) (1.135038219e-09,0) (1.530804122e-07,0) (-1.178732373e-23,0) (3.081533289e-11,0) (8.947554122e-16,0) (2.296325301e-09,0) (3.899274721e-07,0) (6.749793798e-22,0) (8.755362874e-11,0) (1.48542241e-15,0) (8.808607626e-08,0) (2.190836451e-05,0) (-1.058791184e-22,0) (2.423577032e-09,0) (3.638364687e-14,0) (4.518853107e-06,0) (4.641490491e-06,0) (1.413638742e-27,0) (6.210057073e-11,0) (3.638362452e-11,0) (1.650294841e-19,0) (9.04762241e-12,0) (8.271806126e-24,0) (4.100520746e-10,0) (4.164857336e-15,0) (3.101457978e-07,0) (1.081074942e-06,0) (7.940933881e-23,0) (4.313670249e-09,0) (1.26775354e-14,0) (2.818838655e-06,0) (9.917835142e-07,0) -(0.1537404548,0) (0.003727007567,0) (0.00854296775,0) (0.0008283378013,0) (0.000249242271,0) (3.135135163e-06,0) (3.485164461e-06,0) (1.245370055e-07,0) (1.451806454e-06,0) (9.235094054e-06,0) (1.535303137e-06,0) (1.834495508e-07,0) (1.651277635e-06,0) (2.815830936e-10,0) (0.01983051592,0) (0.2311916741,0) (1.480857164e-06,0) (5.065308416e-11,0) (0.05191474862,0) (1.74172454e-07,0) (5.928976114e-13,0) (0.002321923377,0) (5.781125973e-06,0) (1.396714217e-11,0) (0.002995923626,0) (1.300580339e-15,0) (2.083846774e-09,0) (2.160554926e-05,0) (8.895745648e-08,0) (1.874301973e-14,0) (4.549221948e-07,0) (3.009999658e-15,0) (6.499753675e-08,0) (5.596904508e-06,0) (8.516512091e-16,0) (5.426835441e-08,0) (1.474190623e-07,0) (1.228211538e-15,0) (1.807091778e-07,0) (1.378205676e-05,0) (2.933157846e-14,0) (5.773281799e-06,0) (8.30249756e-06,0) (1.793970786e-07,0) (1.57524998e-14,0) (1.14196802e-07,0) (1.547102555e-15,0) (2.937426657e-07,0) (8.906479179e-07,0) (3.127361261e-15,0) (1.516806236e-06,0) (2.811236419e-06,0) (0,0) (1.511060808e-05,0) (5.607603461e-10,0) (0.1487858497,0) (0.02038732434,0) (1.734723476e-18,0) (9.734329973e-09,0) (0.0004046016186,0) (8.829540289e-10,0) (0.0787413867,0) (0,0) (1.175486027e-09,0) (3.16393186e-09,0) (1.818492629e-13,0) (0.0005493161406,0) (0,0) (1.11287863e-09,0) (2.242153709e-05,0) (5.137087983e-11,0) (0.001903470945,0) (-4.235164736e-22,0) (1.177409821e-09,0) (2.273659858e-09,0) (4.248625572e-15,0) (2.121979301e-05,0) (0,0) (1.746371504e-10,0) (3.101321166e-15,0) (2.618867638e-10,0) (3.3303246e-06,0) (-6.6174449e-24,0) (4.476698989e-11,0) (7.989091628e-15,0) (1.282889475e-07,0) (2.814187778e-07,0) (1.654361225e-24,0) (2.426502395e-12,0) (1.278136264e-16,0) (7.949778252e-10,0) (1.110717381e-07,0) (2.436173229e-11,0) (0,0) (3.526056281e-16,0) (7.3810059e-07,0) (2.697616726e-05,0) (0,0) (1.877165974e-10,0) (1.913490841e-14,0) (2.115184742e-06,0) (1.181201865e-06,0) (-1.654361225e-24,0) (6.907330169e-11,0) (1.047719175e-07,0) (7.596810143e-15,0) (7.557011361e-09,0) (1.895051636e-10,0) (0,0) (6.491569902e-15,0) (1.28432286e-06,0) (1.324891707e-06,0) (0,0) (9.739590345e-10,0) (2.829120299e-14,0) (3.141117806e-06,0) (2.187995244e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (0,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-8.67361738e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.376428539e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.421010862e-20,0) (-7.446672951e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (5.29395592e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-3.176373552e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (3.97046694e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.522012327e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.058791184e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (9.264422861e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (6.203854594e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-1.389663429e-22,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (0,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (6.505213035e-19,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (0,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-1.355252716e-20,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (0,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (0,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.084202172e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.032879073e-20,0) (-2.218079147e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.558653716e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.415367389e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.441071348e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (2.067951531e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.714186385e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (9.264422861e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (0,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (2.710505431e-20,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (0,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (5.29395592e-23,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (2.117582368e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.035766083e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.138412281e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.694065895e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (3.726944968e-20,0) (3.933175976e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780888e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (5.823351512e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.514629062e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.808845119e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.249931266e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-1.550963649e-25,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (6.948317145e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (5.128519798e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-4.33680869e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (-5.421010862e-20,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (-8.470329473e-22,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (0,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (0,0) (-4.040786575e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (1.058791184e-22,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (-2.117582368e-22,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424696266e-12,0) (-0.008719428334,0) (0.06301289739,0) (0,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138140965e-13,0) (-6.644558929e-05,0) (0,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (0,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640456e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182199e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (0,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (-5.29395592e-23,0) (-3.139926191e-09,0) (-5.790193031e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (0,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556893e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808167e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-2.117582368e-22,0) (-2.091689037e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.214682481e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(-0.1395541466,-0.2417148723) (-0.01357903408,-0.02351957694) (0.01423099906,0.02464881341) (0.004074510377,0.007057258989) (-0.001425660096,-0.00246931572) (1.975203663e-05,3.4211531e-05) (-5.71653615e-06,-9.901331055e-06) (-7.743450601e-05,-0.0001341204987) (6.633973277e-05,0.0001149037877) (-4.268839373e-05,-7.393846683e-05) (3.706007127e-05,6.418992637e-05) (-2.936722707e-05,-5.086552936e-05) (1.515866188e-05,2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,-0.102295252) (0.003122660326,0.005408606339) (0.001450134843,0.002511707226) (-1.663179087e-05,-2.88071068e-05) (-5.691193611e-05,-9.85743649e-05) (4.320980191e-06,7.484157229e-06) (-1.508217198e-05,-2.612308816e-05) (-5.052939195e-06,-8.751947413e-06) (-3.798238809e-06,-6.578742597e-06) (-1.228729791e-05,-2.128222427e-05) (-6.964894952e-06,-1.206355193e-05) (-2.032950537e-06,-3.521173619e-06) (-3.820457386e-06,-6.6172263e-06) (0.005175592884,0.008964389834) (5.304917151e-09,9.188386021e-09) (-0.09224965312,-0.1597810862) (-0.0001541485888,-0.0002669931877) (1.707308574e-10,2.957145206e-10) (0.01114537494,0.01930435567) (2.347871873e-06,4.066633374e-06) (-7.561107841e-13,-1.309622251e-12) (0.000246935527,0.000427704879) (-1.387241408e-07,-2.402772602e-07) (-6.941934646e-14,-1.20237835e-13) (-5.376045784e-06,-9.311584441e-06) (-7.712042081e-13,-1.335764869e-12) (8.292123503e-08,1.436237921e-07) (-4.795061678e-05,-8.305290452e-05) (-4.456588466e-15,-7.71903793e-15) (-4.108193539e-07,-7.115599937e-07) (3.307487654e-06,5.728736662e-06) (2.981602561e-15,5.164290423e-15) (1.947461171e-06,3.373101694e-06) (-2.748230891e-05,-4.760075535e-05) (-1.069619489e-08,-1.8526353e-08) (7.219598505e-15,1.25047114e-14) (3.005871758e-06,5.206322606e-06) (-2.336955431e-15,-4.047724815e-15) (8.74177065e-07,1.514119091e-06) (-1.502558212e-05,-2.602507165e-05) (1.117880202e-16,1.936207203e-16) (2.783083705e-06,4.820442378e-06) (-2.210803363e-05,-3.82922375e-05) (1.37753808e-13,2.385965945e-13) (4.150521297e-07,7.188913765e-07) (-5.857532454e-06,-1.014554382e-05) (-2.638813198e-15,-4.570558867e-15) (4.927792809e-07,8.535187514e-07) (-3.782800919e-06,-6.552003387e-06) (-2.398416777e-15,-4.154179493e-15) (1.233592183e-06,2.136644337e-06) (-8.538607507e-06,-1.478930203e-05) (-4.33680869e-19,5.854691731e-18) (0.0007200330219,0.001247133777) (-0.0001878309588,-0.0003253327639) (3.990106787e-09,6.911067684e-09) (-0.03195096622,-0.05534069685) (4.878909776e-19,7.047314121e-19) (-2.330564706e-05,-4.036656481e-05) (0.0007153114482,0.001238955771) (2.662361385e-10,4.611345193e-10) (0.003245375324,0.005621154951) (-2.117582368e-22,8.470329473e-22) (6.095239344e-10,1.055726423e-09) (-3.44128403e-08,-5.960478783e-08) (7.464270367e-14,1.292849566e-13) (1.059566382e-05,1.835222807e-05) (-8.470329473e-22,6.352747104e-22) (-1.888476037e-09,-3.270936446e-09) (8.862191923e-06,1.534976668e-05) (-1.368859682e-12,-2.370934517e-12) (6.318959677e-06,1.094475921e-05) (-7.940933881e-22,-3.176373552e-22) (7.446402637e-11,1.28975477e-10) (-1.079534703e-15,-1.869809137e-15) (-7.090290898e-08,-1.228074408e-07) (4.706497865e-06,8.151893428e-06) (-3.705769144e-22,1.217609862e-21) (1.33340407e-08,2.309523596e-08) (-4.125560452e-14,-7.145680375e-14) (6.800887061e-06,1.177948193e-05) (-1.445470366e-05,-2.503628115e-05) (9.926167351e-23,-5.29395592e-23) (1.436655647e-09,2.488360574e-09) (2.776996631e-14,4.809899276e-14) (3.119865907e-07,5.403766263e-07) (-1.632104712e-06,-2.826888284e-06) (0,-2.514629062e-22) (-4.064786482e-09,-7.040416709e-09) (2.25289788e-14,3.902133579e-14) (-3.398791457e-07,-5.886879487e-07) (1.948638818e-06,3.375141438e-06) (1.111730743e-21,2.117582368e-22) (2.900715708e-10,5.024186985e-10) (-8.107034924e-16,-1.404180727e-15) (1.611039988e-06,2.790403113e-06) (-1.070561973e-05,-1.854267731e-05) (-1.852884572e-22,5.29395592e-23) (6.102102725e-09,1.056915195e-08) (1.654781311e-14,2.866165354e-14) (4.947043268e-06,8.568530288e-06) (-1.021949476e-05,-1.770068415e-05) (9.305781891e-25,2.688336991e-24) (4.489881054e-12,7.776702106e-12) (-2.191745498e-09,-3.79621456e-09) (-9.634049096e-17,-1.668666247e-16) (-1.590204424e-08,-2.754314857e-08) (-1.588186776e-22,-3.705769144e-22) (3.879285887e-09,6.719120253e-09) (-8.601079384e-15,-1.489750658e-14) (1.863843086e-06,3.228270922e-06) (-3.791159118e-06,-6.566480212e-06) (-6.6174449e-23,1.32348898e-22) (8.070512659e-09,1.397853797e-08) (-9.550114421e-15,-1.654128376e-14) (1.512581421e-06,2.619867872e-06) (-4.456953971e-06,-7.719670724e-06) -(-0.1378654839,-0.2387900227) (-0.0169245535,-0.02931418655) (0.0167882116,0.02907803547) (0.002856832998,0.004948179901) (-0.001021264037,-0.001768881199) (-6.261071557e-05,-0.0001084449405) (-5.097302548e-05,-8.828786994e-05) (5.211057454e-06,9.025816272e-06) (-1.563957284e-05,-2.708853477e-05) (1.958875962e-05,3.392872691e-05) (-7.901662008e-06,-1.368608006e-05) (1.11827671e-06,1.936912078e-06) (-3.986478569e-06,-6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (6.505213035e-19,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-1.084202172e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.799945013e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.082197684e-20,0) (-7.44667295e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (1.98523347e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-1.588186776e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (5.95570041e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.058791184e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.32348898e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (5.29395592e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (3.101927297e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-5.95570041e-23,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (5.29395592e-23,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (0,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (-1.355252716e-20,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-6.776263578e-21,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (-4.235164736e-22,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (2.117582368e-22,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04586770644,0) (0.1295753448,0) (0.0004442131108,0) (0.1967622424,0) (0.0001704511524,0) (0.07116101842,0) (0.01342434892,0) (0.1479153603,0) (0.05829558339,0) (0.002881188799,0) (0.0986772665,0) (0.03669568318,0) (0.0583789555,0) (0.004863627082,0) (0.02285094543,0) (0.01871025158,0) (0.01720002272,0) (0.0129751607,0) (0.01950909261,0) (0.002216861756,0) (0.007850079801,0) (0.0006684007036,0) (0.01106999276,0) (0.004241350104,0) (0.006378882393,0) (0.0004382569924,0) (0.00246318523,0) (0.0002443597394,0) (0.003066181956,0) (0.001196173181,0) (0.001717101805,0) (2.637892713e-05,0) (0.0006299645073,0) (1.244860412e-05,0) (0.0006474759855,0) (0.0002384489065,0) (0.000314514928,0) (9.546434388e-07,0) (0.0001139889123,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(3.590997234e-05,0) (0.0001233917216,0) (1.30441383e-07,0) (1.553904071e-05,0) (1.536434435e-06,0) (2.779572112e-06,0) (2.900697787e-07,0) (1.694146338e-07,0) (2.480155548e-07,0) (7.759935467e-08,0) (9.02954327e-09,0) (1.753815685e-09,0) (2.272725483e-08,0) (0.05134867755,0) (0.01875202135,0) (0.000278013623,0) (0.005748536394,0) (0.00207432931,0) (0.0001512337715,0) (0.0004583230146,0) (0.0001648728595,0) (3.850112287e-05,0) (0.0005754261716,0) (0.0002097466075,0) (1.254127337e-05,0) (1.450462071e-05,0) (4.081696167e-05,0) (1.394154879e-05,0) (4.99941714e-06,0) (1.463681797e-05,0) (7.757214435e-09,0) (1.511410508e-06,0) (4.698023398e-06,0) (1.404013897e-06,0) (8.766678713e-06,0) (6.146623103e-06,0) (8.264078866e-06,0) (9.044095585e-07,0) (2.283550353e-06,0) (9.876553109e-07,0) (3.043249266e-07,0) (6.038139103e-07,0) (2.400053708e-07,0) (9.769650476e-07,0) (1.981749796e-06,0) (7.468840143e-07,0) (8.787060028e-07,0) (1.618326537e-06,0) (8.543525323e-07,0) (5.00506041e-07,0) (9.817712635e-07,0) (4.454731505e-07,0) (3.469446952e-18,0) (0.003515743553,0) (0.09234509611,0) (0.03477975199,0) (1.223510922e-05,0) (4.33680869e-19,0) (4.597357965e-05,0) (0.02740325923,0) (0.01004796136,0) (0.0003916175239,0) (1.694065895e-21,0) (1.460078625e-06,0) (6.30598451e-05,0) (2.330863833e-05,0) (8.451039346e-05,0) (2.710505431e-20,0) (2.399382941e-10,0) (0.001718607472,0) (0.0006467762177,0) (6.859021545e-05,0) (1.482307658e-21,0) (1.335565741e-06,0) (3.205846614e-06,0) (7.65274698e-06,0) (1.646933149e-05,0) (-8.470329473e-22,0) (4.379161533e-06,0) (1.211169872e-05,0) (2.157052131e-05,0) (8.161268252e-06,0) (0,0) (5.33910383e-06,0) (1.925982866e-05,0) (4.905944391e-05,0) (4.081163393e-07,0) (-8.470329473e-22,0) (3.171881935e-06,0) (1.1505279e-05,0) (2.779490012e-05,0) (1.68620799e-06,0) (1.32348898e-23,0) (1.369395562e-07,0) (3.006229585e-07,0) (6.24704245e-07,0) (5.081771609e-07,0) (0,0) (4.516212835e-07,0) (1.131399868e-06,0) (1.789055475e-06,0) (9.447754395e-07,0) (2.117582368e-22,0) (5.10826975e-11,0) (1.696043397e-06,0) (3.063049089e-06,0) (6.775872177e-06,0) (1.058791184e-22,0) (6.382847646e-07,0) (1.694474736e-06,0) (2.713576222e-06,0) (1.415412032e-06,0) (1.058791184e-22,0) (3.927215262e-07,0) (1.006395786e-06,0) (4.761797554e-07,0) (1.932952223e-06,0) -(0.02151507676,0) (0.08145033313,0) (0.0009225981511,0) (0.009071793741,0) (0.001897530337,0) (0.001271522409,0) (0.000393613206,0) (3.191902604e-05,0) (0.0002180280768,0) (1.351339316e-05,0) (1.003663981e-05,0) (6.66710727e-06,0) (1.372598266e-05,0) (0.01971880285,0) (0.0002195616787,0) (0.0003270306584,0) (2.678465689e-05,0) (0.002763516793,0) (0.106697746,0) (8.901625396e-07,0) (0.0001038820182,0) (0.0345000232,0) (1.0786905e-05,0) (0.0002550410404,0) (0.002603733392,0) (5.086780754e-06,0) (1.296261603e-06,0) (0.01019461019,0) (6.255143051e-06,0) (6.536172276e-06,0) (3.683045246e-05,0) (3.540615072e-06,0) (1.378850213e-05,0) (0.0012674418,0) (5.746639196e-06,0) (4.91232311e-05,0) (0.000126571826,0) (3.717599159e-07,0) (5.395422689e-06,0) (0.0003974504446,0) (3.479206662e-07,0) (5.176068333e-06,0) (7.774311777e-06,0) (2.357456293e-06,0) (1.1427038e-06,0) (1.727367798e-06,0) (7.399816442e-07,0) (1.145978052e-05,0) (3.343258584e-05,0) (4.18479744e-07,0) (5.861896876e-06,0) (1.04002171e-05,0) (-5.421010862e-20,0) (9.561558787e-07,0) (0.03485246954,0) (0.02674278495,0) (0.002291387465,0) (0,0) (1.569546168e-06,0) (0.0004250908481,0) (0.01192913133,0) (0.03599121376,0) (-8.67361738e-19,0) (4.328799598e-08,0) (3.906012346e-08,0) (0.0001448848612,0) (0.05737890751,0) (0,0) (1.172235841e-10,0) (9.806088991e-06,0) (0.0006373039673,0) (0.001947382062,0) (0,0) (1.816924258e-07,0) (7.09263354e-07,0) (2.318653812e-05,0) (0.009023977889,0) (0,0) (2.436045478e-08,0) (7.517683295e-06,0) (2.140748389e-07,0) (0.001279410655,0) (0,0) (2.086878003e-08,0) (2.83498791e-05,0) (0.0001528953655,0) (0.0003576463545,0) (0,0) (6.94006599e-09,0) (7.29799041e-06,0) (6.948945167e-06,0) (0.0008507631173,0) (2.393151383e-11,0) (0,0) (2.620125233e-08,0) (2.63818605e-06,0) (9.527036339e-05,0) (0,0) (1.215275915e-09,0) (1.727758853e-06,0) (4.452695345e-05,0) (2.58813648e-05,0) (0,0) (2.542260728e-09,0) (1.109931996e-05,0) (3.064539702e-06,0) (6.121327117e-07,0) (1.401947502e-09,0) (0,0) (1.253713298e-06,0) (2.653165066e-05,0) (2.635447273e-05,0) (-2.64697796e-23,0) (9.160979474e-11,0) (9.092686847e-07,0) (3.096286743e-06,0) (1.632018929e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-3.794707604e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-8.809142651e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-1.694065895e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (1.694065895e-21,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (4.65868121e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (2.117582368e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.705769144e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-2.64697796e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (-5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.32348898e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (4.33680869e-19,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (2.168404345e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (4.065758147e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (0,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (6.776263578e-21,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (-4.235164736e-22,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (-5.29395592e-23,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (4.235164736e-22,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (2.64697796e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (1.734723476e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (6.505213035e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-2.032879073e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (0,0) (-1.267303587e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-1.694065895e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.382280164e-21,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (0,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (3.546950467e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-3.30872245e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (5.29395592e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-6.505213035e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (-4.33680869e-19,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (-2.710505431e-20,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (-5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (1.694065895e-21,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-4.235164736e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (5.29395592e-23,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-5.421010862e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (0,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (5.421010862e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (0,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (6.776263578e-21,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (0,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (1.694065895e-21,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (2.117582368e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (4.235164736e-22,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,-0.0005191289988) (0.09925944203,0.1719223967) (0.0005701036329,0.0009874484577) (0.03744131566,0.06485026102) (-1.08363822e-05,-1.876916455e-05) (5.12637978e-06,8.879150237e-06) (-0.0004333454456,-0.000750576329) (-0.004174757703,-0.007230892451) (-5.79928862e-07,-1.004466254e-06) (-0.0003092991382,-0.0005357218221) (-0.008557666191,-0.01482231264) (-1.127253589e-06,-1.952460489e-06) (0.001441927363,0.002497491453) (0.0001026368809,0.0001777722925) (1.949578464e-07,3.376768953e-07) (7.957927152e-05,0.0001378353415) (6.761905753e-05,0.0001171196432) (1.853059582e-08,3.209593345e-08) (0.0007081325001,0.001226521469) (7.017291895e-05,0.0001215430609) (9.836838076e-08,1.703790333e-07) (-3.926527806e-05,-6.800945657e-05) (-0.000555379596,-0.0009619456778) (-7.501276439e-08,-1.299259191e-07) (0.0001990917172,0.0003448369695) (1.15125293e-05,1.994028567e-05) (2.660804959e-08,4.608649378e-08) (-1.201453687e-05,-2.080978829e-05) (-0.0001308978504,-0.0002267217275) (-1.801120482e-08,-3.119632186e-08) (0.0001320177961,0.0002286615304) (1.379282385e-06,2.388987168e-06) (1.705203038e-08,2.953498298e-08) (-1.642038463e-06,-2.844094046e-06) (-6.621122398e-05,-0.000114681204) (-8.667301526e-09,-1.501220661e-08) (3.661879991e-05,6.342562196e-05) (3.18796139e-08,5.521711101e-08) (4.775645764e-09,8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,-0.00159926779) (0.0008274199475,0.001433133388) (-5.55619918e-06,-9.623619276e-06) (-3.00319403e-06,-5.201684645e-06) (3.982825217e-06,6.898455633e-06) (1.175840002e-05,2.036614625e-05) (-4.157662878e-06,-7.201283346e-06) (-2.677457455e-06,-4.637492347e-06) (2.594031055e-06,4.492993584e-06) (1.179960774e-06,2.043752012e-06) (-3.634784569e-07,-6.295631548e-07) (1.553863596e-07,2.691370696e-07) (5.193486208e-07,8.995381981e-07) (0.03245066753,0.05620620491) (1.973358379e-05,3.417956974e-05) (0.003074044889,0.005324401932) (-0.003612640396,-0.006257276715) (-1.712840758e-06,-2.966727218e-06) (0.0006726502744,0.001165064451) (-7.897721341e-05,-0.0001367925463) (-9.66799994e-09,-1.67454671e-08) (-2.492556751e-05,-4.317234933e-05) (2.421005667e-06,4.19330482e-06) (3.489741388e-10,6.044409389e-10) (-3.762967448e-07,-6.517650808e-07) (-8.094592238e-08,-1.402024502e-07) (3.136037117e-05,5.431775621e-05) (2.045657133e-05,3.54318209e-05) (6.618798767e-10,1.146409575e-09) (-2.146830323e-05,-3.718419194e-05) (8.675245077e-07,1.502596524e-06) (-9.606141336e-11,-1.663832486e-10) (1.456791745e-05,2.523237319e-05) (-1.076291122e-05,-1.864190907e-05) (1.04629614e-07,1.812238073e-07) (-8.956602146e-10,-1.551328998e-09) (2.547207111e-05,4.411892133e-05) (-6.797765478e-11,-1.177407519e-10) (6.283968979e-06,1.088415354e-05) (5.35510915e-06,9.275321128e-06) (-1.527935823e-11,-2.646462476e-11) (1.016270017e-06,1.760231303e-06) (2.862275528e-06,4.95760664e-06) (-2.747461897e-10,-4.758743597e-10) (7.443505779e-07,1.28925302e-06) (4.771932706e-06,8.265229897e-06) (-7.264500146e-11,-1.258248334e-10) (1.575517403e-06,2.728876191e-06) (4.761717681e-06,8.247536954e-06) (-3.577407697e-11,-6.196251891e-11) (1.541553266e-06,2.67004858e-06) (3.194233381e-06,5.532574508e-06) (0,-8.67361738e-19) (-0.002729426434,-0.004727505259) (0.06324356095,0.1095410608) (3.126494954e-05,5.415248111e-05) (0.0002650767828,0.0004591264557) (-2.168404345e-19,-4.33680869e-19) (0.0001065037686,0.0001844699384) (-0.006663150733,-0.01154091561) (-9.127041456e-07,-1.580849952e-06) (0.0002416297276,0.0004185149648) (-1.694065895e-21,-8.470329473e-22) (1.483669546e-06,2.569791035e-06) (-3.500462032e-05,-6.06297809e-05) (-8.719713196e-09,-1.510298628e-08) (1.471765147e-05,2.549172011e-05) (-4.235164736e-22,-8.470329473e-22) (6.08483442e-09,1.053924237e-08) (-3.835660981e-05,-6.643559699e-05) (-3.797649481e-09,-6.577721851e-09) (1.178686968e-06,2.041545716e-06) (-1.694065895e-21,-1.694065895e-21) (2.4179593e-07,4.188028358e-07) (2.191988206e-10,3.796634942e-10) (-2.364132934e-05,-4.094798358e-05) (1.230236002e-05,2.130831261e-05) (1.694065895e-21,-1.694065895e-21) (1.181594739e-06,2.046582122e-06) (1.185010832e-09,2.052498968e-09) (-4.056713351e-05,-7.026433636e-05) (-2.316881374e-05,-4.012956255e-05) (2.117582368e-21,1.694065895e-21) (-2.188570265e-06,-3.790714895e-06) (-5.101434888e-09,-8.835944417e-09) (6.486224796e-05,0.000112344709) (-2.66489559e-06,-4.61573456e-06) (1.270549421e-21,1.270549421e-21) (-1.304105758e-06,-2.258777432e-06) (-2.554688277e-09,-4.424849894e-09) (3.739300532e-05,6.476658507e-05) (4.052238551e-06,7.018683054e-06) (-5.29395592e-23,-2.117582368e-22) (-1.147182595e-08,-1.986978541e-08) (-1.153315372e-11,-1.997600821e-11) (4.290322277e-06,7.431056164e-06) (1.630475981e-06,2.824067239e-06) (0,-2.117582368e-22) (-8.329871479e-08,-1.442776062e-07) (-9.227744456e-11,-1.598292224e-10) (3.112744687e-06,5.391431949e-06) (4.610680091e-06,7.985932175e-06) (3.176373552e-22,2.117582368e-22) (-4.072151729e-12,-7.053173691e-12) (-4.732118624e-07,-8.196269885e-07) (-4.150544398e-10,-7.188953777e-10) (1.376158085e-05,2.383575722e-05) (1.058791184e-22,2.117582368e-22) (-1.530521796e-07,-2.650941513e-07) (-1.73488401e-10,-3.004907251e-10) (5.513119534e-06,9.54900314e-06) (4.337960104e-06,7.513567301e-06) (-1.588186776e-22,-1.058791184e-22) (-7.700519144e-08,-1.33376904e-07) (-8.508942103e-11,-1.473792004e-10) (6.216831785e-07,1.076786851e-06) (6.222146986e-06,1.077707471e-05) -(0.05157424969,0.08932922082) (0.07911949656,0.1370389879) (0.005517042647,0.009555798172) (-0.009454263379,-0.01637526452) (-0.002817873889,-0.004880700745) (0.001260905509,0.002183952404) (0.0005417059474,0.0009382622237) (-8.342600894e-05,-0.0001444980862) (-0.0001916579055,-0.0003319612299) (2.369564209e-05,4.104205603e-05) (2.020298538e-05,3.499259714e-05) (6.741548682e-06,1.167670484e-05) (-1.149346843e-05,-1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.029992064e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.202285663e-20,0) (-2.218079148e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.029258124e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.580803511e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.374896899e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (1.852884572e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.584939414e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (8.602678371e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (-4.33680869e-19,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (0,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (8.470329473e-22,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (1.058791184e-22,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (1.058791184e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-4.878909776e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-3.388131789e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-5.505714157e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (8.470329473e-22,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (2.117582368e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (1.270549421e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.176373552e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-5.29395592e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.588186776e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (0,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (-6.505213035e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (2.710505431e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (5.421010862e-20,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (0,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (0,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (1.058791184e-22,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (0,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (3.97046694e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04715705099,0) (0.02200154358,0) (0.1067286698,0) (0.02202428562,0) (0.17465834,0) (0.07141108635,0) (0.1000731762,0) (0.06107260141,0) (0.05848951507,0) (0.07464156391,0) (0.02679567375,0) (0.03681690082,0) (0.0005054573398,0) (0.06266017622,0) (0.02292789445,0) (0.005280432053,0) (0.03058641266,0) (0.0130185903,0) (4.477807442e-05,0) (0.02165478127,0) (0.007876474827,0) (0.007860017766,0) (0.003864294445,0) (0.004255431357,0) (8.845381168e-05,0) (0.006720385865,0) (0.002471484938,0) (0.00210919833,0) (0.001197367089,0) (0.001200149458,0) (0.0001043161214,0) (0.001637026661,0) (0.0006321024569,0) (0.0005029865235,0) (0.0001561530053,0) (0.0002392339673,0) (3.034857158e-05,0) (0.0002847271479,0) (0.0001143827643,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01859825451,0) (0.06390622139,0) (6.755733522e-05,0) (0.008047876816,0) (0.000795739924,0) (0.001439577538,0) (0.0001502310143,0) (8.77421026e-05,0) (0.0001284505699,0) (4.018974268e-05,0) (4.676521113e-06,0) (9.083245777e-07,0) (1.177074896e-05,0) (0.008307597159,0) (0.01873421824,0) (2.900333486e-08,0) (0.0006427535352,0) (0.002074227619,0) (0.09464435446,0) (4.913666987e-05,0) (0.0001652571093,0) (0.02141018871,0) (0.0001298657198,0) (0.0002102475176,0) (0.004281715785,0) (1.48520788e-05,0) (7.255278567e-06,0) (0.007171961804,0) (5.016290298e-06,0) (8.510401907e-06,0) (0.0004140783138,0) (1.516294083e-06,0) (4.817059328e-06,0) (0.0009909456417,0) (1.489550748e-05,0) (6.169100968e-06,0) (3.434653454e-06,0) (9.073734504e-07,0) (4.539544298e-06,0) (0.0003945514261,0) (3.054738133e-07,0) (6.950824905e-07,0) (5.407485655e-07,0) (9.805598736e-07,0) (1.955658851e-06,0) (8.959547428e-06,0) (8.815473737e-07,0) (7.766105257e-06,0) (1.471985915e-05,0) (5.021918199e-07,0) (5.508541434e-06,0) (1.701290994e-05,0) (6.505213035e-19,0) (0.0003326380646,0) (0.01469282168,0) (0.03477374258,0) (0.02107630735,0) (3.252606517e-19,0) (1.4617477e-05,0) (0.006316834902,0) (0.01007236596,0) (0.03687902424,0) (-2.059984128e-18,0) (2.1761899e-07,0) (8.535073252e-06,0) (2.333908512e-05,0) (0.04386035073,0) (3.388131789e-21,0) (2.12877168e-11,0) (0.0001802105721,0) (0.0006483001201,0) (0.0003180537728,0) (-1.423015351e-19,0) (1.934512603e-07,0) (3.215971441e-06,0) (3.60306497e-07,0) (0.008593632408,0) (9.95263713e-21,0) (3.785330716e-07,0) (1.214894467e-05,0) (8.316142622e-05,0) (0.0002399527039,0) (-2.943439492e-20,0) (1.065981606e-06,0) (1.932844051e-05,0) (1.262102486e-07,0) (0.0007885513656,0) (-1.905824131e-20,0) (2.756248094e-07,0) (1.154541289e-05,0) (1.377253857e-05,0) (0.0004170207456,0) (1.334076892e-20,0) (1.372912756e-08,0) (3.015892013e-07,0) (1.65338949e-06,0) (0.000225542516,0) (-7.27918939e-22,0) (1.277388161e-07,0) (1.135050709e-06,0) (1.097300767e-05,0) (1.837231386e-05,0) (0,0) (2.299303327e-09,0) (3.123692756e-07,0) (3.074695245e-06,0) (1.039677966e-06,0) (6.882142696e-22,0) (4.239383809e-08,0) (1.699838817e-06,0) (1.420235844e-05,0) (2.844450342e-05,0) (-2.779326858e-22,0) (2.066829092e-08,0) (1.009713072e-06,0) (8.983597702e-06,0) (1.122430129e-06,0) -(0.002275502001,0) (0.008614442707,0) (9.757687426e-05,0) (0.0009594613604,0) (0.0002006887602,0) (0.0001344801982,0) (4.162976727e-05,0) (3.375856311e-06,0) (2.305933326e-05,0) (1.429218846e-06,0) (1.061506507e-06,0) (7.051341767e-07,0) (1.451702978e-06,0) (0.0197919787,0) (0.04576663462,0) (0.003064285325,0) (0.006931890706,0) (0.002776848162,0) (0.01119185278,0) (0.0002405708549,0) (0.0001044086936,0) (0.003665373389,0) (0.0006670496628,0) (0.0002562656941,0) (0.0002404198937,0) (5.111300906e-06,0) (1.4983551e-05,0) (0.001075955865,0) (7.907287005e-06,0) (6.558427154e-06,0) (1.279841726e-05,0) (3.558166217e-06,0) (2.878390215e-06,0) (0.0001413922296,0) (5.77551433e-06,0) (2.981494912e-05,0) (2.987868567e-06,0) (3.734951082e-07,0) (2.875161334e-06,0) (4.065104123e-05,0) (3.494642989e-07,0) (1.349041095e-09,0) (2.229293379e-06,0) (2.854297262e-07,0) (1.146538659e-06,0) (2.970188831e-06,0) (7.434637826e-07,0) (5.101582132e-06,0) (1.477386609e-06,0) (4.203040616e-07,0) (2.548710907e-06,0) (2.065288763e-07,0) (0,0) (0.00381120272,0) (0.03499174491,0) (0.02310179904,0) (0.06236724561,0) (0,0) (0.001009633108,0) (0.0298739139,0) (0.0119849688,0) (0.002478434544,0) (0,0) (1.099057939e-05,0) (0.0003399323208,0) (0.000145642374,0) (0.00607617128,0) (-5.421010862e-20,0) (2.892328027e-07,0) (0.001438457613,0) (0.0006405979474,0) (0.0003449598824,0) (-1.355252716e-20,0) (4.286455912e-05,0) (9.37661877e-06,0) (2.331100428e-05,0) (0.0009596164022,0) (-3.388131789e-21,0) (5.739308119e-06,0) (7.551310522e-06,0) (1.320365452e-05,0) (0.0001350056191,0) (-1.694065895e-21,0) (4.544913819e-06,0) (2.850249043e-05,0) (6.63333715e-06,0) (0.0001130091179,0) (0,0) (1.524088828e-06,0) (7.334038823e-06,0) (2.344902083e-05,0) (8.380257917e-05,0) (1.053196334e-08,0) (2.117582368e-22,0) (2.631799423e-08,0) (5.681500867e-07,0) (9.841263226e-06,0) (0,0) (4.420829531e-07,0) (1.736699721e-06,0) (1.043708995e-06,0) (1.023766845e-05,0) (-4.235164736e-22,0) (6.41372051e-07,0) (3.151162781e-06,0) (3.071688387e-06,0) (5.020121102e-06,0) (3.257591355e-07,0) (-1.058791184e-22,0) (1.259765493e-06,0) (8.095219997e-06,0) (2.749685552e-07,0) (5.29395592e-23,0) (2.494036453e-07,0) (9.133146635e-07,0) (8.753312292e-07,0) (1.469478759e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (0,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.33680869e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (5.717472394e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.270549421e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.651714247e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (-1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.911675756e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-4.63221143e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-9.264422861e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (-8.67361738e-19,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (-1.084202172e-19,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-2.710505431e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-2.541098842e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (4.235164736e-22,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (0,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (-2.117582368e-22,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (6.938893904e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-8.67361738e-19,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-3.388131789e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (8.470329473e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (-1.694065895e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (4.235164736e-22,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (6.352747104e-22,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (-4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-4.235164736e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-2.117582368e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,0.0005263748085) (0.04090131005,0.07084314711) (-0.00883687416,-0.01530591502) (0.01252654015,0.02169660398) (-0.000346879798,-0.0006008134342) (-5.135379222e-06,-8.894737729e-06) (0.001183168129,0.002049307314) (-0.00268255013,-0.004646313118) (5.808926845e-07,1.006135643e-06) (0.001574284488,0.002726740719) (-0.004459427703,-0.007723955355) (1.129113895e-06,1.955682633e-06) (0.0001341706355,0.0002323903576) (0.0003683995724,0.0006380867769) (-1.952858243e-07,-3.382449696e-07) (-4.227609596e-05,-7.322434614e-05) (9.017141291e-05,0.0001561814685) (-1.85615821e-08,-3.214960327e-08) (3.392569073e-05,5.876102003e-05) (0.0002193194444,0.0003798724208) (-9.853361838e-08,-1.706652333e-07) (0.0001346486464,0.0002332182967) (-0.0003281340941,-0.0005683449226) (7.513718213e-08,1.30141417e-07) (2.344440262e-05,4.060689649e-05) (4.508202613e-05,7.808435976e-05) (-2.665283983e-08,-4.616407275e-08) (3.529806653e-05,6.113804464e-05) (-8.179885248e-05,-0.0001416797685) (1.80411161e-08,3.12481297e-08) (3.253944728e-05,5.635997594e-05) (1.08655697e-05,1.881971877e-05) (-1.708094113e-08,-2.958505788e-08) (1.043761257e-05,1.807847528e-05) (-3.251583845e-05,-5.631908425e-05) (8.68155776e-09,1.503689913e-08) (1.137503137e-05,1.970213227e-05) (5.505628404e-07,9.536028123e-07) (-4.783889003e-09,-8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,0.03639567249) (-0.01883018317,-0.03261483397) (0.0001264463693,0.0002190115361) (6.834581865e-05,0.0001183784304) (-9.063998106e-05,-0.0001569930524) (-0.0002675942571,-0.0004634868491) (9.461888584e-05,0.0001638847176) (6.093280015e-05,0.0001055387057) (-5.903420635e-05,-0.0001022502448) (-2.685320506e-05,-4.65111155e-05) (8.271937295e-06,1.432741567e-05) (-3.536237701e-06,-6.124943366e-06) (-1.181918528e-05,-2.04714294e-05) (0.01305259065,0.02260775017) (-1.972421406e-05,-3.41633409e-05) (-3.139793852e-05,-5.438282477e-05) (-0.001208003877,-0.002092324091) (1.712798772e-06,2.966654497e-06) (-0.01682721675,-0.02914559437) (-2.585942318e-05,-4.47898348e-05) (9.67925942e-09,1.67649691e-08) (0.0005877851435,0.001018073733) (1.150133528e-06,1.992089707e-06) (-3.493905947e-10,-6.051622618e-10) (6.952941289e-06,1.204284757e-05) (8.190971413e-08,1.418717865e-07) (1.32217184e-05,2.290068804e-05) (-0.0004639768554,-0.0008036314871) (-6.629958665e-10,-1.148342526e-09) (1.637002792e-05,2.835372008e-05) (-0.0002004334016,-0.0003471608352) (9.621648201e-11,1.666518354e-10) (-1.475131992e-05,-2.555003558e-05) (0.0002859360877,0.0004952558317) (1.363844101e-07,2.362247277e-07) (8.972964103e-10,1.554162972e-09) (-1.642133626e-05,-2.844258873e-05) (6.808895039e-11,1.179335215e-10) (8.86002333e-06,1.534601056e-05) (-0.0001070329349,-0.0001853864814) (1.530817236e-11,2.651453229e-11) (1.09037461e-06,1.888584223e-06) (-4.296340024e-06,-7.441479207e-06) (2.752512015e-10,4.767490659e-10) (-7.394344286e-07,-1.280737999e-06) (1.652763697e-05,2.862670696e-05) (7.276235857e-11,1.260281019e-10) (3.451371935e-06,5.977951547e-06) (-1.976500436e-05,-3.423399176e-05) (3.583427253e-11,6.206678068e-11) (3.65150322e-06,6.3245891e-06) (-1.973991048e-05,-3.419052789e-05) (0,-4.33680869e-19) (-0.0008395542634,-0.00145415064) (0.02522679048,0.04369408282) (-3.126224837e-05,-5.414780254e-05) (-0.01100183246,-0.01905573281) (1.626303259e-19,-4.878909776e-19) (6.005470316e-05,0.0001040177971) (-0.003199103504,-0.005541009808) (9.138118664e-07,1.582768581e-06) (-0.002344817337,-0.004061342763) (1.863472484e-20,4.065758147e-20) (5.727926757e-07,9.921060165e-07) (-1.287812239e-05,-2.230556228e-05) (8.725406379e-09,1.511284716e-08) (-0.000335289152,-0.0005807378464) (-2.117582368e-22,2.117582368e-22) (1.81243952e-09,3.139237334e-09) (-1.242058352e-05,-2.151308171e-05) (3.802120767e-09,6.585466345e-09) (2.538152278e-06,4.396208702e-06) (2.202285663e-20,4.065758147e-20) (9.202421743e-08,1.593906201e-07) (-2.195446888e-10,-3.802625555e-10) (-5.129786172e-06,-8.885050281e-06) (-0.0002810210377,-0.0004867427153) (2.117582368e-21,-5.082197684e-21) (3.473961335e-07,6.017077536e-07) (-1.186831509e-09,-2.055652473e-09) (-7.965351864e-05,-0.0001379639413) (0.0001256283905,0.0002175947552) (-6.352747104e-22,2.541098842e-21) (-9.779151322e-07,-1.693798695e-06) (5.110513569e-09,8.851669155e-09) (3.289864391e-06,5.698212276e-06) (0.0001171394555,0.0002028914885) (9.529120657e-21,1.270549421e-21) (-3.844266251e-07,-6.658464465e-07) (2.55914016e-09,4.432560781e-09) (2.632175311e-05,4.559061372e-05) (-6.372623528e-05,-0.0001103770773) (-2.223461487e-21,1.905824131e-21) (-3.632365662e-09,-6.291441879e-09) (1.155167341e-11,2.000808525e-11) (6.979756536e-06,1.208929295e-05) (-3.434954941e-05,-5.94951648e-05) (4.764560328e-22,4.235164736e-22) (-4.430089943e-08,-7.673140864e-08) (9.242620673e-11,1.60086886e-10) (-7.708935966e-06,-1.335226877e-05) (2.033211796e-05,3.521626133e-05) (-5.29395592e-23,-1.058791184e-22) (2.732028175e-11,4.732011607e-11) (-2.030819374e-07,-3.517482337e-07) (4.158427398e-10,7.202607533e-10) (5.390575629e-06,9.336750872e-06) (-2.64697796e-22,-1.376428539e-21) (-3.944424504e-08,-6.831943648e-08) (1.737627841e-10,3.009659705e-10) (1.261265833e-05,2.184576504e-05) (-1.944658249e-05,-3.36824689e-05) (1.588186776e-22,1.455837878e-21) (-1.766566272e-08,-3.059782538e-08) (8.522954168e-11,1.476218965e-10) (2.700280003e-06,4.67702216e-06) (-4.74143023e-06,-8.212398059e-06) -(0.01677258801,0.02905097462) (0.02573064519,0.04456678478) (0.001794210947,0.00310766452) (-0.003074644141,-0.005325439867) (-0.0009164076666,-0.001587264639) (0.0004100621676,0.0007102485086) (0.0001761695175,0.000305134555) (-2.713117662e-05,-4.699257638e-05) (-6.232953669e-05,-0.0001079579244) (7.706117781e-06,1.334738753e-05) (6.57026234e-06,1.138002819e-05) (2.192435553e-06,3.797409769e-06) (-3.737819008e-06,-6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.252606517e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.029992064e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.778769189e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (1.016439537e-20,0) (3.933175975e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780887e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (6.088049308e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.713152409e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.80884512e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.514629062e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-7.754818243e-26,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (7.610061635e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (4.63221143e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-8.67361738e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (0,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (0,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (-2.64697796e-23,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (-8.470329473e-22,0) (-4.040786576e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (5.29395592e-23,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (0,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (2.168404345e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (8.67361738e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-1.355252716e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (1.355252716e-20,0) (-1.267303586e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-2.117582368e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.117582368e-22,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (-4.235164736e-21,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (5.29395592e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-4.367513634e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (-1.32348898e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-2.168404345e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (0,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (0,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (0,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-8.470329473e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (0,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (2.439454888e-19,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.607859233e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (6.035109749e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.482307658e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.672890071e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.382280164e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-3.97046694e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-6.6174449e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (0,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (0,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-5.421010862e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-5.082197684e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (0,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (-1.058791184e-22,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (0,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.08286250691,0) (0.02431037598,0) (0.06871438145,0) (0.04930718395,0) (0.09326492082,0) (0.1255216072,0) (0.1061377676,0) (0.01064733091,0) (0.1028501942,0) (0.06073138578,0) (0.01278119823,0) (0.06474155448,0) (0.02720911517,0) (0.01856972471,0) (0.04031468813,0) (0.02489475137,0) (0.001098999625,0) (0.02289168401,0) (0.01002216348,0) (0.005704391145,0) (0.01384947954,0) (0.007451325099,0) (0.001045456362,0) (0.007482962107,0) (0.00281298841,0) (0.002121681757,0) (0.004345654447,0) (0.002153156807,0) (0.0002431658316,0) (0.002110392238,0) (0.000552027313,0) (0.0007100396512,0) (0.001111378275,0) (0.0003829383684,0) (9.474450534e-05,0) (0.0004206906223,0) (8.459498418e-05,0) (0.0001437766924,0) (0.0002010868071,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01151542489,0) (0.03956862145,0) (4.182927054e-05,0) (0.004982979502,0) (0.0004926958775,0) (0.0008913388619,0) (9.301808191e-05,0) (5.432701179e-05,0) (7.953235012e-05,0) (2.488416119e-05,0) (2.895547407e-06,0) (5.624045764e-07,0) (7.288058967e-06,0) (0.01044095573,0) (0.03297631033,0) (0.0001606173415,0) (0.001446472844,0) (0.003652617632,0) (0.05815477759,0) (0.0001173327325,0) (0.0002910130741,0) (0.01321743319,0) (8.960512001e-05,0) (0.000370321967,0) (0.002702735249,0) (2.612306591e-05,0) (7.450636785e-06,0) (0.004441884828,0) (8.839061027e-06,0) (2.57761275e-05,0) (0.0002373242255,0) (2.671175919e-06,0) (1.079249771e-05,0) (0.0006061888617,0) (4.643013261e-07,0) (1.085909936e-05,0) (1.26714713e-05,0) (1.598089418e-06,0) (2.20050347e-07,0) (0.0002471462147,0) (5.375848748e-07,0) (1.919689554e-09,0) (8.5178208e-07,0) (1.732231442e-06,0) (4.45895687e-06,0) (2.579457553e-06,0) (1.552409348e-06,0) (1.30742986e-06,0) (1.287012362e-05,0) (8.842413405e-07,0) (1.047868629e-06,0) (1.304197819e-05,0) (-6.505213035e-19,0) (0.0009533201785,0) (0.01896428393,0) (0.06121497228,0) (0.0125521507,0) (-3.252606517e-19,0) (4.931195373e-06,0) (0.004185764753,0) (0.017738704,0) (0.02547954574,0) (-1.219727444e-18,0) (3.110674544e-07,0) (1.42753078e-05,0) (4.111206382e-05,0) (0.02715447401,0) (1.355252716e-20,0) (6.693630906e-11,0) (0.0004446572613,0) (0.001141388293,0) (5.175547801e-05,0) (-2.710505431e-20,0) (2.896624921e-07,0) (5.66493273e-06,0) (2.653219922e-06,0) (0.005319222649,0) (4.446922973e-21,0) (1.23469439e-06,0) (2.140210977e-05,0) (1.142126714e-05,0) (0.0001911500099,0) (4.235164736e-21,0) (9.22882494e-07,0) (3.405631521e-05,0) (2.500444833e-05,0) (0.000468632467,0) (-1.270549421e-20,0) (8.923175134e-07,0) (2.033674126e-05,0) (1.365401367e-06,0) (0.0002679810755,0) (-3.388131789e-21,0) (3.61685241e-08,0) (5.311357506e-07,0) (1.40319171e-07,0) (0.0001405914279,0) (7.676236084e-22,0) (5.585209319e-08,0) (1.999539627e-06,0) (1.227245632e-05,0) (6.248313256e-06,0) (2.64697796e-23,0) (1.724997877e-09,0) (3.122744061e-07,0) (5.411018301e-06,0) (1.415448965e-06,0) (8.999725065e-22,0) (1.989853278e-07,0) (2.994061638e-06,0) (2.564169571e-06,0) (2.415994883e-05,0) (-5.29395592e-23,0) (1.319703087e-07,0) (1.777963699e-06,0) (3.027655855e-06,0) (3.402615008e-06,0) -(0.00553605759,0) (0.02095803515,0) (0.0002373942959,0) (0.002334268809,0) (0.0004882546943,0) (0.0003271762106,0) (0.0001012808553,0) (8.213104159e-06,0) (5.610093811e-05,0) (3.477139478e-06,0) (2.582533942e-06,0) (1.715517459e-06,0) (3.531841012e-06,0) (0.03483145319,0) (0.02253296123,0) (0.003063275652,0) (0.003468356907,0) (0.004882815777,0) (0.02756244955,0) (0.0001539254955,0) (0.0001835979054,0) (0.008857709221,0) (0.0002891550959,0) (0.0004506771526,0) (0.0007129915528,0) (8.993340896e-06,0) (4.250060433e-06,0) (0.002625833686,0) (1.60314874e-05,0) (1.152525194e-05,0) (3.496369595e-06,0) (6.261644115e-06,0) (1.658833738e-05,0) (0.0003176578563,0) (1.01594509e-05,0) (1.337741548e-06,0) (5.129237847e-05,0) (6.572109132e-07,0) (2.20383207e-07,0) (0.0001039161773,0) (6.150600883e-07,0) (2.836013573e-06,0) (9.454592508e-07,0) (2.430401289e-06,0) (2.015296627e-06,0) (9.633593424e-08,0) (1.307998808e-06,0) (7.127991709e-07,0) (1.179406541e-05,0) (7.39491486e-07,0) (3.820896297e-07,0) (4.342680978e-06,0) (0,0) (0.002099748074,0) (0.06156955733,0) (7.114789054e-05,0) (0.05029811769,0) (0,0) (0.0005299594019,0) (0.01318363225,0) (0.02107802791,0) (0.01106375401,0) (2.168404345e-19,0) (7.058923414e-06,0) (0.0001891960434,0) (0.0002561189377,0) (0.01475511786,0) (0,0) (1.711878633e-07,0) (0.0009584736151,0) (0.001126274353,0) (0.0003682274248,0) (-2.710505431e-20,0) (2.7652106e-05,0) (8.673773527e-06,0) (4.097130545e-05,0) (0.002315825677,0) (0,0) (3.702756937e-06,0) (1.329608283e-05,0) (5.70924401e-06,0) (0.0003295600291,0) (2.541098842e-21,0) (2.946557407e-06,0) (5.015820037e-05,0) (0.0001264260713,0) (3.861267461e-05,0) (-6.776263578e-21,0) (9.875766575e-07,0) (1.29029779e-05,0) (2.779852115e-06,0) (0.0002263576027,0) (6.573952743e-09,0) (-4.235164736e-22,0) (4.630728464e-08,0) (4.275873786e-07,0) (2.47925857e-05,0) (3.705769144e-22,0) (2.784547616e-07,0) (3.05584326e-06,0) (1.806598778e-05,0) (2.003963724e-06,0) (4.235164736e-22,0) (4.120885495e-07,0) (1.368540015e-06,0) (5.405814955e-06,0) (5.188382974e-06,0) (2.103438461e-07,0) (-8.470329473e-22,0) (2.21632634e-06,0) (2.994934864e-06,0) (1.202228621e-05,0) (-1.058791184e-22,0) (1.473351266e-07,0) (1.60672927e-06,0) (3.824359347e-07,0) (1.483102828e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566194e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (0,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-1.694065895e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (-6.776263578e-21,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (5.082197684e-21,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (0,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (-8.470329473e-22,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (0,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-1.270549421e-21,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (4.235164736e-22,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-8.470329473e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,-0.0006977515524) (-0.04299386424,-0.07446755728) (-0.007090582965,-0.01228124995) (-0.01874283661,-0.03246354529) (-0.0002534798879,-0.0004390400445) (6.808460863e-06,1.179260014e-05) (0.001218491756,0.00211048963) (0.001120069607,0.001940017466) (-7.702992143e-07,-1.334197376e-06) (0.001420036301,0.002459575022) (0.003079871323,0.005334493612) (-1.497289225e-06,-2.593381012e-06) (-0.0009844018759,-0.001705034064) (0.0002005515599,0.0003473654913) (2.589526051e-07,4.485190688e-07) (-9.179394658e-05,-0.0001589917793) (1.709241288e-05,2.960492753e-05) (2.461341544e-08,4.263168609e-08) (-0.0005075475471,-0.0008790981388) (0.0001125653912,0.0001949689767) (1.306577615e-07,2.263058812e-07) (0.0001311012957,0.0002270741051) (0.0001706747231,0.0002956172919) (-9.963682546e-08,-1.72576044e-07) (-0.0001322101708,-0.0002289947331) (2.533065632e-05,4.387398374e-05) (3.534207956e-08,6.121427745e-08) (3.566399888e-05,6.177185807e-05) (3.686250359e-05,6.384772911e-05) (-2.392364366e-08,-4.143696631e-08) (-7.485395282e-05,-0.0001296508494) (7.155927413e-06,1.239442985e-05) (2.264899878e-08,3.922921662e-08) (9.107253788e-06,1.577422628e-05) (2.532776104e-05,4.386896896e-05) (-1.151244726e-08,-1.994014357e-08) (-1.899134758e-05,-3.289397892e-05) (3.912341003e-07,6.776373393e-07) (6.342969012e-09,1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,0.02863872232) (-0.01481693702,-0.02566368773) (9.949706138e-05,0.0001723339655) (5.377938606e-05,9.314862906e-05) (-7.132203009e-05,-0.0001235333798) (-0.0002105623306,-0.0003647046547) (7.44529174e-05,0.0001289562357) (4.794629208e-05,8.304541391e-05) (-4.645234247e-05,-8.045781728e-05) (-2.113002537e-05,-3.65982775e-05) (6.508952823e-06,1.127383699e-05) (-2.782565142e-06,-4.819544201e-06) (-9.300181641e-06,-1.610838712e-05) (-0.01463285707,-0.0253448519) (2.616874833e-05,4.532560167e-05) (-0.002336540875,-0.00404700751) (0.001812179585,0.003138787114) (-2.272899548e-06,-3.936777498e-06) (-0.01319038986,-0.02284642541) (3.996000794e-05,6.921276402e-05) (-1.284453257e-08,-2.224738301e-08) (0.0004618297644,0.0007999126164) (-9.553607913e-07,-1.65473343e-06) (4.636983056e-10,8.031490246e-10) (5.524098285e-06,9.568018896e-06) (-1.086310209e-07,-1.881544475e-07) (-1.339854236e-05,-2.320695611e-05) (-0.000365141319,-0.0006324433165) (8.800808196e-10,1.524344694e-09) (2.84893946e-05,4.934507893e-05) (-0.0001517399338,-0.0002628212748) (-1.277053227e-10,-2.211921074e-10) (-2.208009141e-05,-3.824384015e-05) (0.0002236392519,0.0003873545469) (2.407892199e-08,4.170591628e-08) (-1.190479427e-09,-2.061970853e-09) (-3.154137007e-05,-5.46312555e-05) (-9.036164811e-11,-1.565109656e-10) (1.950696771e-06,3.378705918e-06) (-8.471154588e-05,-0.0001467247015) (-2.03076594e-11,-3.517389786e-11) (5.730243228e-08,9.925072411e-08) (-5.392190249e-06,-9.339547476e-06) (-3.658433149e-10,-6.336592089e-10) (-1.116528349e-06,-1.933883829e-06) (8.868127353e-06,1.536004714e-05) (-9.65577339e-11,-1.67242901e-10) (1.416117621e-06,2.452787669e-06) (-1.848146722e-05,-3.201084023e-05) (-4.754985347e-11,-8.235876209e-11) (1.592600314e-06,2.75846466e-06) (-1.728333755e-05,-2.993561877e-05) (1.517883041e-18,2.602085214e-18) (0.001421288335,0.002461743608) (-0.02866009467,-0.04964074012) (4.147852654e-05,7.184291538e-05) (-0.008490374326,-0.01470575971) (-8.131516294e-20,-1.626303259e-19) (-3.488083878e-05,-6.041538497e-05) (0.002604149643,0.004510519493) (-1.212696121e-06,-2.100451296e-06) (-0.001949014841,-0.003375792729) (5.082197684e-21,-1.355252716e-20) (-6.84819863e-07,-1.186142797e-06) (1.665488592e-05,2.88471086e-05) (-1.158052873e-08,-2.005806414e-08) (-0.0002638178336,-0.0004569458917) (-3.176373552e-22,-4.235164736e-22) (-3.213881516e-09,-5.566606076e-09) (1.951032757e-05,3.379287863e-05) (-5.044923245e-09,-8.738063381e-09) (1.02387175e-06,1.773397892e-06) (-7.623296525e-21,-2.371692252e-20) (-1.126062466e-07,-1.950397403e-07) (2.913830078e-10,5.046901739e-10) (1.392033993e-05,2.411073601e-05) (-0.0002210927651,-0.0003829439024) (-1.270549421e-21,0) (-6.274119749e-07,-1.086709418e-06) (1.575244907e-09,2.728404213e-09) (-2.951896633e-05,-5.112834946e-05) (0.0001121274987,0.0001942105247) (0,1.694065895e-21) (9.099122566e-07,1.576014259e-06) (-6.783673963e-09,-1.174966797e-08) (-4.63062193e-05,-8.020472453e-05) (9.03034606e-05,0.0001564101819) (2.01170325e-21,4.235164736e-22) (6.916940092e-07,1.198049167e-06) (-3.396487491e-09,-5.882888901e-09) (-8.287775515e-06,-1.435484827e-05) (-5.108477623e-05,-8.848142792e-05) (-1.905824131e-21,-1.694065895e-21) (5.895674323e-09,1.021160747e-08) (-1.532991602e-11,-2.655219342e-11) (2.033345566e-06,3.521857829e-06) (-2.71197858e-05,-4.697284689e-05) (6.088049308e-22,4.764560328e-22) (2.929347052e-08,5.073777927e-08) (-1.226739939e-10,-2.124775902e-10) (-8.152622709e-06,-1.412075675e-05) (1.185719849e-05,2.053727021e-05) (-5.29395592e-23,1.058791184e-22) (2.366362762e-11,4.098660533e-11) (2.030510961e-07,3.51694815e-07) (-5.516550356e-10,-9.554945499e-10) (-6.289741996e-06,-1.08941527e-05) (3.176373552e-22,-7.411538288e-22) (8.545604851e-08,1.480142178e-07) (-2.306127229e-10,-3.994329529e-10) (5.359197563e-06,9.282402468e-06) (-1.792223291e-05,-3.104221799e-05) (5.29395592e-23,6.352747104e-22) (4.463913472e-08,7.731724935e-08) (-1.130973968e-10,-1.958904374e-10) (1.567605963e-06,2.715173175e-06) (-8.255361831e-06,-1.429870613e-05) -(-0.02616144742,-0.04531295613) (-0.04013399248,-0.06951411408) (-0.002798563663,-0.004847254452) (0.004795750123,0.008306482873) (0.001429388891,0.002475774183) (-0.0006396043251,-0.001107827188) (-0.0002747846405,-0.0004759409585) (4.231850505e-05,7.329780085e-05) (9.721999344e-05,0.0001683899681) (-1.201980249e-05,-2.08189086e-05) (-1.024812465e-05,-1.775027258e-05) (-3.419704066e-06,-5.923101189e-06) (5.830153065e-06,1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424695399e-12,0) (-0.008719428334,0) (0.06301289739,0) (-4.33680869e-19,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138141033e-13,0) (-6.644558929e-05,0) (8.470329473e-22,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (-8.470329473e-22,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640454e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182211e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (1.058791184e-22,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (0,0) (-3.139926191e-09,0) (-5.790193243e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (8.470329473e-22,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556846e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808164e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-4.235164736e-22,0) (-2.091688994e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.21468247e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-7.589415207e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (2.710505431e-20,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (4.065758147e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (-6.776263578e-21,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (0,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (1.694065895e-21,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (8.470329473e-22,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (4.235164736e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (0,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (1.734723476e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-1.084202172e-18,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-1.694065895e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (6.776263578e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (3.388131789e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (0,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (1.058791184e-21,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-2.117582368e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-6.352747104e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566195e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (-6.776263578e-21,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-3.388131789e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (0,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (0,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (-3.388131789e-21,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (0,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (4.235164736e-22,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-8.470329473e-22,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (1.270549421e-21,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-4.235164736e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0.2370734683,0) (0.0006670533688,0) (0.004066218674,0) (0.0006820777545,0) (0.0005956356081,0) (8.044155541e-06,0) (9.655870575e-06,0) (6.831873609e-05,0) (4.382157398e-05,0) (1.591626787e-05,0) (1.652759785e-05,0) (1.94939596e-05,0) (1.491606603e-05,0) (3.877437899e-09,0) (0.000104543173,0) (0.3087228188,0) (0.0001062601308,0) (0.02189791074,0) (1.451237323e-09,0) (0.00101721631,0) (6.767884142e-05,0) (3.270019455e-11,0) (0.002703808895,0) (4.554381508e-05,0) (7.902103776e-11,0) (3.058225334e-05,0) (0.0002763177339,0) (1.071720204e-11,0) (1.677877475e-07,0) (1.554212663e-07,0) (1.046209416e-14,0) (9.935797639e-06,0) (6.792423503e-05,0) (2.685856042e-12,0) (0.0001254778854,0) (5.197168565e-06,0) (3.878416987e-12,0) (3.452071693e-06,0) (3.698293816e-05,0) (1.425830819e-12,0) (2.421919495e-05,0) (1.387963126e-06,0) (7.687789817e-13,0) (1.030262135e-06,0) (3.786694817e-05,0) (1.535265483e-12,0) (3.118113231e-05,0) (2.989431376e-07,0) (8.846582533e-13,0) (1.823523549e-07,0) (2.000685348e-05,0) (1.00557303e-12,0) (3.415236843e-18,0) (-4.33680869e-19,0) (0,0) (0.03787629397,0) (0.1290043371,0) (9.757819552e-19,0) (1.626303259e-19,0) (1.734723476e-18,0) (0.01166407464,0) (0.02777002614,0) (0,0) (-1.905824131e-21,0) (-6.776263578e-21,0) (0.0001520492622,0) (9.479976155e-05,0) (3.726944968e-20,0) (-1.016439537e-20,0) (0,0) (0.0005765989928,0) (0.002012299337,0) (3.30872245e-24,0) (-2.067951531e-24,0) (4.135903063e-25,0) (2.968303438e-07,0) (9.832055907e-08,0) (-1.058791184e-22,0) (3.97046694e-23,0) (-1.389663429e-22,0) (3.860134312e-07,0) (9.979758691e-06,0) (-1.694065895e-21,0) (4.235164736e-22,0) (-2.01170325e-21,0) (3.578750522e-05,0) (7.498366886e-05,0) (-2.488159283e-21,0) (5.29395592e-23,0) (8.470329473e-22,0) (1.02162398e-05,0) (6.854234909e-05,0) (-1.058791184e-22,0) (-9.264422861e-23,0) (0,0) (9.779609685e-07,0) (8.699365442e-06,0) (-2.117582368e-22,0) (-5.29395592e-23,0) (-1.32348898e-23,0) (4.056902711e-06,0) (8.419618364e-06,0) (0,0) (1.98523347e-23,0) (-1.032321404e-21,0) (5.202177913e-06,0) (1.997650936e-05,0) (5.29395592e-23,0) (-3.176373552e-22,0) (4.764560328e-22,0) (2.701400034e-06,0) (1.519803296e-05,0) (2.117582368e-22,0) (-3.30872245e-23,0) (4.566036981e-22,0) (2.43172997e-06,0) (8.192639034e-06,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (1.073506527e-10,0) (0.04541795873,0) (0.1725741146,0) (0.01007922853,0) (4.289735641e-10,0) (0.01096928929,0) (5.737094057e-05,0) (1.333779821e-12,0) (6.161287463e-05,0) (4.444852922e-08,0) (1.969247442e-15,0) (4.145795013e-08,0) (1.730393003e-13,0) (0.0001003702013,0) (0.0001160749593,0) (5.79959204e-05,0) (1.968726167e-12,0) (0.000456033966,0) (4.122042944e-13,0) (0.0001878179395,0) (0.0003229003659,0) (1.646882568e-13,0) (1.410595769e-05,0) (0.0002999456081,0) (5.102445159e-14,0) (6.696096688e-05,0) (0.0001183515028,0) (8.984760364e-14,0) (5.83628165e-07,0) (0.0001427988773,0) (2.344464954e-06,0) (1.402501907e-15,0) (0.0001207276869,0) (4.655188215e-14,0) (6.221369806e-06,0) (0.0001060713667,0) (3.292207679e-14,0) (1.583941041e-06,0) (9.971418463e-05,0) (-4.33680869e-18,0) (0.009429544937,0) (1.5840107e-13,0) (0.0005109923468,0) (0.194759507,0) (2.710505431e-19,0) (0.002555581156,0) (0.005067391794,0) (1.942355678e-10,0) (0.0004409201741,0) (-3.388131789e-21,0) (2.942625463e-05,0) (5.654394068e-05,0) (2.071868796e-12,0) (8.037295849e-06,0) (-1.058791184e-22,0) (7.348914505e-07,0) (3.230829218e-06,0) (6.964797294e-14,0) (1.567816421e-07,0) (-1.355252716e-20,0) (0.000113937913,0) (0.0001851425888,0) (2.781457311e-11,0) (2.999024015e-05,0) (-6.776263578e-21,0) (1.52722285e-05,0) (1.871511688e-11,0) (0.0005040683449,0) (5.02024039e-05,0) (-1.016439537e-20,0) (1.211469523e-05,0) (6.023879719e-13,0) (0.0001599166819,0) (0.0002441829949,0) (-1.355252716e-20,0) (4.063106018e-06,0) (2.623064153e-13,0) (0.000205223284,0) (3.30332097e-05,0) (2.733646717e-08,0) (8.470329473e-22,0) (4.552654708e-15,0) (0.000111644296,0) (2.711731612e-05,0) (-6.776263578e-21,0) (1.172473665e-06,0) (1.533275629e-13,0) (1.278860789e-05,0) (9.776751272e-05,0) (2.541098842e-21,0) (1.709717327e-06,0) (1.530464362e-07,0) (1.424655546e-13,0) (0.0001104626914,0) (8.6197615e-07,0) (-2.964615315e-21,0) (6.739760524e-14,0) (2.211632354e-05,0) (7.515207224e-05,0) (4.65868121e-21,0) (6.315078598e-07,0) (3.652790367e-14,0) (1.2355385e-07,0) (8.266795114e-05,0) -(-0.12111549,-0.2097781823) (-0.0005607657229,-0.0009712747232) (-0.002000518664,-0.003464999967) (-0.0004075616168,-0.0007059174275) (-0.0002729746153,-0.0004728059028) (-1.278868443e-06,-2.21506512e-06) (-6.037625137e-06,-1.045747349e-05) (-3.526857492e-05,-6.108696368e-05) (-1.932297171e-05,-3.346836876e-05) (-7.415213061e-06,-1.284352577e-05) (-8.572210917e-06,-1.484750484e-05) (-9.354879707e-06,-1.620312695e-05) (-6.899174245e-06,-1.194972032e-05) (-8.71432143e-08,-1.509364747e-07) (-0.002819411596,-0.004883364132) (0.01502942923,0.02603173503) (0.0008700924344,0.001507044304) (0.0001228246921,0.0002127386071) (7.320806353e-10,1.268000856e-09) (0.0001192873191,0.0002066116974) (-8.929992509e-05,-0.0001546720074) (1.373510757e-11,2.378990418e-11) (0.000299626932,0.0005189690695) (-0.0001838490925,-0.0003184359691) (5.231009419e-11,9.060374093e-11) (3.300273741e-05,5.716241798e-05) (-2.446401255e-05,-4.237291269e-05) (4.222108033e-12,7.312905615e-12) (2.383089031e-07,4.12763128e-07) (-2.03263699e-07,-3.52063054e-07) (1.663957862e-14,2.882059555e-14) (1.598075748e-05,2.767948389e-05) (-1.228323086e-05,-2.127517993e-05) (1.819532649e-12,3.151522991e-12) (1.701272271e-05,2.946690011e-05) (-1.203371311e-05,-2.08430025e-05) (2.268351531e-12,3.928900099e-12) (4.63149072e-06,8.021977241e-06) (-3.344313848e-06,-5.792521501e-06) (6.401746952e-13,1.1088151e-12) (3.782440103e-06,6.551378435e-06) (-2.784982798e-06,-4.823731704e-06) (4.566111209e-13,7.908736621e-13) (3.233764025e-06,5.601043591e-06) (-1.652550646e-06,-2.862301681e-06) (8.418017035e-13,1.458043318e-12) (2.598776547e-06,4.501213017e-06) (-1.422702445e-06,-2.464192919e-06) (5.27927159e-13,9.14396661e-13) (8.817371997e-07,1.527213629e-06) (-1.45942524e-07,-2.527798665e-07) (4.485466415e-13,7.769055717e-13) (2.331034671e-18,7.806255642e-18) (8.67361738e-19,-1.734723476e-18) (0,1.301042607e-18) (-0.02060375576,-0.0356867518) (0.06045012766,0.1047026924) (-1.084202172e-19,-2.168404345e-19) (-1.084202172e-19,-4.33680869e-19) (4.33680869e-19,0) (-0.005297526462,-0.009175584986) (0.01558567133,0.02699517461) (0,0) (0,-1.694065895e-21) (0,-6.776263578e-21) (-2.702014961e-05,-4.680027195e-05) (0.0001359807469,0.0002355255625) (1.355252716e-20,6.776263578e-21) (-6.776263578e-21,0) (3.388131789e-21,-1.355252716e-20) (-0.0003173531288,-0.0005496717431) (0.0009319561715,0.001614195439) (1.32348898e-23,-2.64697796e-23) (9.926167351e-24,2.64697796e-23) (-6.6174449e-24,1.32348898e-23) (1.10762366e-08,1.918460455e-08) (-6.716194071e-07,-1.163278936e-06) (0,-1.058791184e-22) (-1.32348898e-23,-7.940933881e-23) (-1.852884572e-22,-1.058791184e-22) (-4.754822232e-07,-8.235593687e-07) (2.065183874e-06,3.577003397e-06) (0,0) (4.235164736e-22,-5.29395592e-22) (8.470329473e-22,2.541098842e-21) (-1.517604603e-05,-2.628568279e-05) (4.50724991e-05,7.806785847e-05) (-1.588186776e-21,-2.223461487e-21) (-2.117582368e-22,-1.058791184e-22) (0,4.235164736e-22) (-7.538565652e-06,-1.305717873e-05) (2.367733081e-05,4.101033996e-05) (5.95570041e-23,3.97046694e-23) (7.940933881e-23,1.058791184e-22) (0,0) (-8.103564901e-07,-1.403578613e-06) (2.67611154e-06,4.635161153e-06) (-2.64697796e-22,-3.176373552e-22) (-1.852884572e-22,-2.117582368e-22) (0,0) (-1.711417653e-06,-2.964262327e-06) (5.087485249e-06,8.811782933e-06) (-1.058791184e-22,4.235164736e-22) (-1.98523347e-23,-2.117582368e-22) (-2.117582368e-22,5.29395592e-23) (-2.996110319e-06,-5.189415297e-06) (8.841353425e-06,1.531367334e-05) (5.29395592e-23,0) (1.058791184e-22,0) (-3.176373552e-22,-4.235164736e-22) (-1.848699751e-06,-3.202041897e-06) (5.660846895e-06,9.804874436e-06) (-1.058791184e-22,0) (3.30872245e-23,-5.95570041e-23) (2.34919294e-22,-1.588186776e-22) (-1.315863121e-06,-2.279141781e-06) (3.859226647e-06,6.68437663e-06) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1395541466,0.2417148723) (-0.01357903408,0.02351957694) (0.01423099906,-0.02464881341) (0.004074510377,-0.007057258989) (-0.001425660096,0.00246931572) (1.975203663e-05,-3.4211531e-05) (-5.71653615e-06,9.901331055e-06) (-7.743450601e-05,0.0001341204987) (6.633973277e-05,-0.0001149037877) (-4.268839373e-05,7.393846683e-05) (3.706007127e-05,-6.418992637e-05) (-2.936722707e-05,5.086552936e-05) (1.515866188e-05,-2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,0.102295252) (0.003122660326,-0.005408606339) (0.001450134843,-0.002511707226) (-1.663179087e-05,2.88071068e-05) (-5.691193611e-05,9.85743649e-05) (4.320980191e-06,-7.484157229e-06) (-1.508217198e-05,2.612308816e-05) (-5.052939195e-06,8.751947413e-06) (-3.798238809e-06,6.578742597e-06) (-1.228729791e-05,2.128222427e-05) (-6.964894952e-06,1.206355193e-05) (-2.032950537e-06,3.521173619e-06) (-3.820457386e-06,6.6172263e-06) (0.005175592884,-0.008964389834) (5.304917151e-09,-9.188386021e-09) (-0.09224965312,0.1597810862) (-0.0001541485888,0.0002669931877) (1.707308574e-10,-2.957145206e-10) (0.01114537494,-0.01930435567) (2.347871873e-06,-4.066633374e-06) (-7.561107841e-13,1.309622251e-12) (0.000246935527,-0.000427704879) (-1.387241408e-07,2.402772602e-07) (-6.941934646e-14,1.20237835e-13) (-5.376045784e-06,9.311584441e-06) (-7.712042081e-13,1.335764869e-12) (8.292123503e-08,-1.436237921e-07) (-4.795061678e-05,8.305290452e-05) (-4.456588466e-15,7.71903793e-15) (-4.108193539e-07,7.115599937e-07) (3.307487654e-06,-5.728736662e-06) (2.981602561e-15,-5.164290423e-15) (1.947461171e-06,-3.373101694e-06) (-2.748230891e-05,4.760075535e-05) (-1.069619489e-08,1.8526353e-08) (7.219598505e-15,-1.25047114e-14) (3.005871758e-06,-5.206322606e-06) (-2.336955431e-15,4.047724815e-15) (8.74177065e-07,-1.514119091e-06) (-1.502558212e-05,2.602507165e-05) (1.117880202e-16,-1.936207203e-16) (2.783083705e-06,-4.820442378e-06) (-2.210803363e-05,3.82922375e-05) (1.37753808e-13,-2.385965945e-13) (4.150521297e-07,-7.188913765e-07) (-5.857532454e-06,1.014554382e-05) (-2.638813198e-15,4.570558867e-15) (4.927792809e-07,-8.535187514e-07) (-3.782800919e-06,6.552003387e-06) (-2.398416777e-15,4.154179493e-15) (1.233592183e-06,-2.136644337e-06) (-8.538607507e-06,1.478930203e-05) (5.421010862e-19,-4.662069342e-18) (0.0007200330219,-0.001247133777) (-0.0001878309588,0.0003253327639) (3.990106785e-09,-6.911067683e-09) (-0.03195096622,0.05534069685) (6.640738306e-19,-3.252606517e-19) (-2.330564706e-05,4.036656481e-05) (0.0007153114482,-0.001238955771) (2.662361387e-10,-4.611345192e-10) (0.003245375324,-0.005621154951) (-8.205631677e-22,-1.058791184e-22) (6.095239344e-10,-1.055726423e-09) (-3.44128403e-08,5.960478783e-08) (7.464270367e-14,-1.292849554e-13) (1.059566382e-05,-1.835222807e-05) (2.117582368e-22,-2.117582368e-21) (-1.888476037e-09,3.270936446e-09) (8.862191923e-06,-1.534976668e-05) (-1.368859681e-12,2.370934516e-12) (6.318959677e-06,-1.094475921e-05) (-6.021874859e-22,3.044024654e-22) (7.446402637e-11,-1.28975477e-10) (-1.079534492e-15,1.869808926e-15) (-7.090290898e-08,1.228074408e-07) (4.706497865e-06,-8.151893428e-06) (-1.058791184e-22,-1.164670302e-21) (1.33340407e-08,-2.309523596e-08) (-4.12556043e-14,7.145680375e-14) (6.800887061e-06,-1.177948193e-05) (-1.445470366e-05,2.503628115e-05) (6.6174449e-23,-1.488925103e-22) (1.436655647e-09,-2.488360574e-09) (2.776996631e-14,-4.80989927e-14) (3.119865907e-07,-5.403766263e-07) (-1.632104712e-06,2.826888284e-06) (-1.257314531e-22,4.367513634e-22) (-4.064786482e-09,7.040416709e-09) (2.252897883e-14,-3.90213359e-14) (-3.398791457e-07,5.886879487e-07) (1.948638818e-06,-3.375141438e-06) (3.441071348e-22,-1.111730743e-21) (2.900715708e-10,-5.024186985e-10) (-8.107032806e-16,1.404180303e-15) (1.611039988e-06,-2.790403113e-06) (-1.070561973e-05,1.854267731e-05) (3.97046694e-23,-1.32348898e-22) (6.102102725e-09,-1.056915195e-08) (1.654781322e-14,-2.866165396e-14) (4.947043268e-06,-8.568530288e-06) (-1.021949476e-05,1.770068415e-05) (2.55909002e-24,-1.80945759e-24) (4.489881054e-12,-7.776702106e-12) (-2.191745498e-09,3.79621456e-09) (-9.634049096e-17,1.668666263e-16) (-1.590204424e-08,2.754314857e-08) (-1.124965633e-22,2.316105715e-22) (3.879285887e-09,-6.719120253e-09) (-8.60107949e-15,1.489750647e-14) (1.863843086e-06,-3.228270922e-06) (-3.791159118e-06,6.566480212e-06) (9.264422861e-23,-1.191140082e-22) (8.070512659e-09,-1.397853797e-08) (-9.550114633e-15,1.654128365e-14) (1.512581421e-06,-2.619867872e-06) (-4.456953971e-06,7.719670724e-06) -(-0.1378654839,0.2387900227) (-0.0169245535,0.02931418655) (0.0167882116,-0.02907803547) (0.002856832998,-0.004948179901) (-0.001021264037,0.001768881199) (-6.261071557e-05,0.0001084449405) (-5.097302548e-05,8.828786994e-05) (5.211057454e-06,-9.025816272e-06) (-1.563957284e-05,2.708853477e-05) (1.958875962e-05,-3.392872691e-05) (-7.901662008e-06,1.368608006e-05) (1.11827671e-06,-1.936912078e-06) (-3.986478569e-06,6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,0.0005191289988) (0.09925944203,-0.1719223967) (0.0005701036329,-0.0009874484577) (0.03744131566,-0.06485026102) (-1.08363822e-05,1.876916455e-05) (5.12637978e-06,-8.879150237e-06) (-0.0004333454456,0.000750576329) (-0.004174757703,0.007230892451) (-5.79928862e-07,1.004466254e-06) (-0.0003092991382,0.0005357218221) (-0.008557666191,0.01482231264) (-1.127253589e-06,1.952460489e-06) (0.001441927363,-0.002497491453) (0.0001026368809,-0.0001777722925) (1.949578464e-07,-3.376768953e-07) (7.957927152e-05,-0.0001378353415) (6.761905753e-05,-0.0001171196432) (1.853059582e-08,-3.209593345e-08) (0.0007081325001,-0.001226521469) (7.017291895e-05,-0.0001215430609) (9.836838076e-08,-1.703790333e-07) (-3.926527806e-05,6.800945657e-05) (-0.000555379596,0.0009619456778) (-7.501276439e-08,1.299259191e-07) (0.0001990917172,-0.0003448369695) (1.15125293e-05,-1.994028567e-05) (2.660804959e-08,-4.608649378e-08) (-1.201453687e-05,2.080978829e-05) (-0.0001308978504,0.0002267217275) (-1.801120482e-08,3.119632186e-08) (0.0001320177961,-0.0002286615304) (1.379282385e-06,-2.388987168e-06) (1.705203038e-08,-2.953498298e-08) (-1.642038463e-06,2.844094046e-06) (-6.621122398e-05,0.000114681204) (-8.667301526e-09,1.501220661e-08) (3.661879991e-05,-6.342562196e-05) (3.18796139e-08,-5.521711101e-08) (4.775645764e-09,-8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,0.00159926779) (0.0008274199475,-0.001433133388) (-5.55619918e-06,9.623619276e-06) (-3.00319403e-06,5.201684645e-06) (3.982825217e-06,-6.898455633e-06) (1.175840002e-05,-2.036614625e-05) (-4.157662878e-06,7.201283346e-06) (-2.677457455e-06,4.637492347e-06) (2.594031055e-06,-4.492993584e-06) (1.179960774e-06,-2.043752012e-06) (-3.634784569e-07,6.295631548e-07) (1.553863596e-07,-2.691370696e-07) (5.193486208e-07,-8.995381981e-07) (0.03245066753,-0.05620620491) (1.973358379e-05,-3.417956974e-05) (0.003074044889,-0.005324401932) (-0.003612640396,0.006257276715) (-1.712840758e-06,2.966727218e-06) (0.0006726502744,-0.001165064451) (-7.897721341e-05,0.0001367925463) (-9.66799994e-09,1.67454671e-08) (-2.492556751e-05,4.317234933e-05) (2.421005667e-06,-4.19330482e-06) (3.489741388e-10,-6.044409389e-10) (-3.762967448e-07,6.517650808e-07) (-8.094592238e-08,1.402024502e-07) (3.136037117e-05,-5.431775621e-05) (2.045657133e-05,-3.54318209e-05) (6.618798767e-10,-1.146409575e-09) (-2.146830323e-05,3.718419194e-05) (8.675245077e-07,-1.502596524e-06) (-9.606141336e-11,1.663832486e-10) (1.456791745e-05,-2.523237319e-05) (-1.076291122e-05,1.864190907e-05) (1.04629614e-07,-1.812238073e-07) (-8.956602146e-10,1.551328998e-09) (2.547207111e-05,-4.411892133e-05) (-6.797765478e-11,1.177407519e-10) (6.283968979e-06,-1.088415354e-05) (5.35510915e-06,-9.275321128e-06) (-1.527935823e-11,2.646462476e-11) (1.016270017e-06,-1.760231303e-06) (2.862275528e-06,-4.95760664e-06) (-2.747461897e-10,4.758743597e-10) (7.443505779e-07,-1.28925302e-06) (4.771932706e-06,-8.265229897e-06) (-7.264500146e-11,1.258248334e-10) (1.575517403e-06,-2.728876191e-06) (4.761717681e-06,-8.247536954e-06) (-3.577407697e-11,6.196251891e-11) (1.541553266e-06,-2.67004858e-06) (3.194233381e-06,-5.532574508e-06) (0,-2.602085214e-18) (-0.002729426434,0.004727505259) (0.06324356095,-0.1095410608) (3.126494954e-05,-5.415248111e-05) (0.0002650767828,-0.0004591264557) (5.421010862e-20,1.084202172e-19) (0.0001065037686,-0.0001844699384) (-0.006663150733,0.01154091561) (-9.127041456e-07,1.580849952e-06) (0.0002416297276,-0.0004185149648) (-4.235164736e-22,8.470329473e-22) (1.483669546e-06,-2.569791035e-06) (-3.500462032e-05,6.06297809e-05) (-8.719713196e-09,1.510298628e-08) (1.471765147e-05,-2.549172011e-05) (0,1.694065895e-21) (6.08483442e-09,-1.053924237e-08) (-3.835660981e-05,6.643559699e-05) (-3.797649481e-09,6.577721851e-09) (1.178686968e-06,-2.041545716e-06) (-1.058791184e-21,4.235164736e-22) (2.4179593e-07,-4.188028358e-07) (2.191988206e-10,-3.796634942e-10) (-2.364132934e-05,4.094798358e-05) (1.230236002e-05,-2.130831261e-05) (-8.470329473e-22,-8.470329473e-22) (1.181594739e-06,-2.046582122e-06) (1.185010832e-09,-2.052498968e-09) (-4.056713351e-05,7.026433636e-05) (-2.316881374e-05,4.012956255e-05) (4.235164736e-22,-1.694065895e-21) (-2.188570265e-06,3.790714895e-06) (-5.101434888e-09,8.835944417e-09) (6.486224796e-05,-0.000112344709) (-2.66489559e-06,4.61573456e-06) (4.235164736e-22,-1.694065895e-21) (-1.304105758e-06,2.258777432e-06) (-2.554688277e-09,4.424849894e-09) (3.739300532e-05,-6.476658507e-05) (4.052238551e-06,-7.018683054e-06) (5.29395592e-23,2.117582368e-22) (-1.147182595e-08,1.986978541e-08) (-1.153315372e-11,1.997600821e-11) (4.290322277e-06,-7.431056164e-06) (1.630475981e-06,-2.824067239e-06) (-1.058791184e-22,3.176373552e-22) (-8.329871479e-08,1.442776062e-07) (-9.227744456e-11,1.598292224e-10) (3.112744687e-06,-5.391431949e-06) (4.610680091e-06,-7.985932175e-06) (1.058791184e-22,-6.352747104e-22) (-4.072151729e-12,7.053173691e-12) (-4.732118624e-07,8.196269885e-07) (-4.150544398e-10,7.188953777e-10) (1.376158085e-05,-2.383575722e-05) (3.176373552e-22,-3.176373552e-22) (-1.530521796e-07,2.650941513e-07) (-1.73488401e-10,3.004907251e-10) (5.513119534e-06,-9.54900314e-06) (4.337960104e-06,-7.513567301e-06) (-2.64697796e-22,0) (-7.700519144e-08,1.33376904e-07) (-8.508942103e-11,1.473792004e-10) (6.216831785e-07,-1.076786851e-06) (6.222146986e-06,-1.077707471e-05) -(0.05157424969,-0.08932922082) (0.07911949656,-0.1370389879) (0.005517042647,-0.009555798172) (-0.009454263379,0.01637526452) (-0.002817873889,0.004880700745) (0.001260905509,-0.002183952404) (0.0005417059474,-0.0009382622237) (-8.342600894e-05,0.0001444980862) (-0.0001916579055,0.0003319612299) (2.369564209e-05,-4.104205603e-05) (2.020298538e-05,-3.499259714e-05) (6.741548682e-06,-1.167670484e-05) (-1.149346843e-05,1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,-0.0005263748085) (0.04090131005,-0.07084314711) (-0.00883687416,0.01530591502) (0.01252654015,-0.02169660398) (-0.000346879798,0.0006008134342) (-5.135379222e-06,8.894737729e-06) (0.001183168129,-0.002049307314) (-0.00268255013,0.004646313118) (5.808926845e-07,-1.006135643e-06) (0.001574284488,-0.002726740719) (-0.004459427703,0.007723955355) (1.129113895e-06,-1.955682633e-06) (0.0001341706355,-0.0002323903576) (0.0003683995724,-0.0006380867769) (-1.952858243e-07,3.382449696e-07) (-4.227609596e-05,7.322434614e-05) (9.017141291e-05,-0.0001561814685) (-1.85615821e-08,3.214960327e-08) (3.392569073e-05,-5.876102003e-05) (0.0002193194444,-0.0003798724208) (-9.853361838e-08,1.706652333e-07) (0.0001346486464,-0.0002332182967) (-0.0003281340941,0.0005683449226) (7.513718213e-08,-1.30141417e-07) (2.344440262e-05,-4.060689649e-05) (4.508202613e-05,-7.808435976e-05) (-2.665283983e-08,4.616407275e-08) (3.529806653e-05,-6.113804464e-05) (-8.179885248e-05,0.0001416797685) (1.80411161e-08,-3.12481297e-08) (3.253944728e-05,-5.635997594e-05) (1.08655697e-05,-1.881971877e-05) (-1.708094113e-08,2.958505788e-08) (1.043761257e-05,-1.807847528e-05) (-3.251583845e-05,5.631908425e-05) (8.68155776e-09,-1.503689913e-08) (1.137503137e-05,-1.970213227e-05) (5.505628404e-07,-9.536028123e-07) (-4.783889003e-09,8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,-0.03639567249) (-0.01883018317,0.03261483397) (0.0001264463693,-0.0002190115361) (6.834581865e-05,-0.0001183784304) (-9.063998106e-05,0.0001569930524) (-0.0002675942571,0.0004634868491) (9.461888584e-05,-0.0001638847176) (6.093280015e-05,-0.0001055387057) (-5.903420635e-05,0.0001022502448) (-2.685320506e-05,4.65111155e-05) (8.271937295e-06,-1.432741567e-05) (-3.536237701e-06,6.124943366e-06) (-1.181918528e-05,2.04714294e-05) (0.01305259065,-0.02260775017) (-1.972421406e-05,3.41633409e-05) (-3.139793852e-05,5.438282477e-05) (-0.001208003877,0.002092324091) (1.712798772e-06,-2.966654497e-06) (-0.01682721675,0.02914559437) (-2.585942318e-05,4.47898348e-05) (9.67925942e-09,-1.67649691e-08) (0.0005877851435,-0.001018073733) (1.150133528e-06,-1.992089707e-06) (-3.493905947e-10,6.051622618e-10) (6.952941289e-06,-1.204284757e-05) (8.190971413e-08,-1.418717865e-07) (1.32217184e-05,-2.290068804e-05) (-0.0004639768554,0.0008036314871) (-6.629958665e-10,1.148342526e-09) (1.637002792e-05,-2.835372008e-05) (-0.0002004334016,0.0003471608352) (9.621648201e-11,-1.666518354e-10) (-1.475131992e-05,2.555003558e-05) (0.0002859360877,-0.0004952558317) (1.363844101e-07,-2.362247277e-07) (8.972964103e-10,-1.554162972e-09) (-1.642133626e-05,2.844258873e-05) (6.808895039e-11,-1.179335215e-10) (8.86002333e-06,-1.534601056e-05) (-0.0001070329349,0.0001853864814) (1.530817236e-11,-2.651453229e-11) (1.09037461e-06,-1.888584223e-06) (-4.296340024e-06,7.441479207e-06) (2.752512015e-10,-4.767490659e-10) (-7.394344286e-07,1.280737999e-06) (1.652763697e-05,-2.862670696e-05) (7.276235857e-11,-1.260281019e-10) (3.451371935e-06,-5.977951547e-06) (-1.976500436e-05,3.423399176e-05) (3.583427253e-11,-6.206678068e-11) (3.65150322e-06,-6.3245891e-06) (-1.973991048e-05,3.419052789e-05) (0,0) (-0.0008395542634,0.00145415064) (0.02522679048,-0.04369408282) (-3.126224837e-05,5.414780254e-05) (-0.01100183246,0.01905573281) (-1.084202172e-19,5.421010862e-20) (6.005470316e-05,-0.0001040177971) (-0.003199103504,0.005541009808) (9.138118664e-07,-1.582768581e-06) (-0.002344817337,0.004061342763) (2.710505431e-20,-5.675120747e-20) (5.727926757e-07,-9.921060165e-07) (-1.287812239e-05,2.230556228e-05) (8.725406379e-09,-1.511284716e-08) (-0.000335289152,0.0005807378464) (-2.117582368e-22,4.235164736e-22) (1.81243952e-09,-3.139237334e-09) (-1.242058352e-05,2.151308171e-05) (3.802120767e-09,-6.585466345e-09) (2.538152278e-06,-4.396208702e-06) (1.905824131e-20,-3.811648263e-20) (9.202421743e-08,-1.593906201e-07) (-2.195446888e-10,3.802625555e-10) (-5.129786172e-06,8.885050281e-06) (-0.0002810210377,0.0004867427153) (0,-4.235164736e-22) (3.473961335e-07,-6.017077536e-07) (-1.186831509e-09,2.055652473e-09) (-7.965351864e-05,0.0001379639413) (0.0001256283905,-0.0002175947552) (-3.599890026e-21,2.541098842e-21) (-9.779151322e-07,1.693798695e-06) (5.110513569e-09,-8.851669155e-09) (3.289864391e-06,-5.698212276e-06) (0.0001171394555,-0.0002028914885) (6.564505341e-21,-8.046812999e-21) (-3.844266251e-07,6.658464465e-07) (2.55914016e-09,-4.432560781e-09) (2.632175311e-05,-4.559061372e-05) (-6.372623528e-05,0.0001103770773) (0,2.117582368e-22) (-3.632365662e-09,6.291441879e-09) (1.155167341e-11,-2.000808525e-11) (6.979756536e-06,-1.208929295e-05) (-3.434954941e-05,5.94951648e-05) (5.823351512e-22,-8.470329473e-22) (-4.430089943e-08,7.673140864e-08) (9.242620673e-11,-1.60086886e-10) (-7.708935966e-06,1.335226877e-05) (2.033211796e-05,-3.521626133e-05) (0,1.058791184e-22) (2.732028175e-11,-4.732011607e-11) (-2.030819374e-07,3.517482337e-07) (4.158427398e-10,-7.202607533e-10) (5.390575629e-06,-9.336750872e-06) (-2.117582368e-22,1.694065895e-21) (-3.944424504e-08,6.831943648e-08) (1.737627841e-10,-3.009659705e-10) (1.261265833e-05,-2.184576504e-05) (-1.944658249e-05,3.36824689e-05) (2.911675756e-22,-1.032321404e-21) (-1.766566272e-08,3.059782538e-08) (8.522954168e-11,-1.476218965e-10) (2.700280003e-06,-4.67702216e-06) (-4.74143023e-06,8.212398059e-06) -(0.01677258801,-0.02905097462) (0.02573064519,-0.04456678478) (0.001794210947,-0.00310766452) (-0.003074644141,0.005325439867) (-0.0009164076666,0.001587264639) (0.0004100621676,-0.0007102485086) (0.0001761695175,-0.000305134555) (-2.713117662e-05,4.699257638e-05) (-6.232953669e-05,0.0001079579244) (7.706117781e-06,-1.334738753e-05) (6.57026234e-06,-1.138002819e-05) (2.192435553e-06,-3.797409769e-06) (-3.737819008e-06,6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,0.0006977515524) (-0.04299386424,0.07446755728) (-0.007090582965,0.01228124995) (-0.01874283661,0.03246354529) (-0.0002534798879,0.0004390400445) (6.808460863e-06,-1.179260014e-05) (0.001218491756,-0.00211048963) (0.001120069607,-0.001940017466) (-7.702992143e-07,1.334197376e-06) (0.001420036301,-0.002459575022) (0.003079871323,-0.005334493612) (-1.497289225e-06,2.593381012e-06) (-0.0009844018759,0.001705034064) (0.0002005515599,-0.0003473654913) (2.589526051e-07,-4.485190688e-07) (-9.179394658e-05,0.0001589917793) (1.709241288e-05,-2.960492753e-05) (2.461341544e-08,-4.263168609e-08) (-0.0005075475471,0.0008790981388) (0.0001125653912,-0.0001949689767) (1.306577615e-07,-2.263058812e-07) (0.0001311012957,-0.0002270741051) (0.0001706747231,-0.0002956172919) (-9.963682546e-08,1.72576044e-07) (-0.0001322101708,0.0002289947331) (2.533065632e-05,-4.387398374e-05) (3.534207956e-08,-6.121427745e-08) (3.566399888e-05,-6.177185807e-05) (3.686250359e-05,-6.384772911e-05) (-2.392364366e-08,4.143696631e-08) (-7.485395282e-05,0.0001296508494) (7.155927413e-06,-1.239442985e-05) (2.264899878e-08,-3.922921662e-08) (9.107253788e-06,-1.577422628e-05) (2.532776104e-05,-4.386896896e-05) (-1.151244726e-08,1.994014357e-08) (-1.899134758e-05,3.289397892e-05) (3.912341003e-07,-6.776373393e-07) (6.342969012e-09,-1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,-0.02863872232) (-0.01481693702,0.02566368773) (9.949706138e-05,-0.0001723339655) (5.377938606e-05,-9.314862906e-05) (-7.132203009e-05,0.0001235333798) (-0.0002105623306,0.0003647046547) (7.44529174e-05,-0.0001289562357) (4.794629208e-05,-8.304541391e-05) (-4.645234247e-05,8.045781728e-05) (-2.113002537e-05,3.65982775e-05) (6.508952823e-06,-1.127383699e-05) (-2.782565142e-06,4.819544201e-06) (-9.300181641e-06,1.610838712e-05) (-0.01463285707,0.0253448519) (2.616874833e-05,-4.532560167e-05) (-0.002336540875,0.00404700751) (0.001812179585,-0.003138787114) (-2.272899548e-06,3.936777498e-06) (-0.01319038986,0.02284642541) (3.996000794e-05,-6.921276402e-05) (-1.284453257e-08,2.224738301e-08) (0.0004618297644,-0.0007999126164) (-9.553607913e-07,1.65473343e-06) (4.636983056e-10,-8.031490246e-10) (5.524098285e-06,-9.568018896e-06) (-1.086310209e-07,1.881544475e-07) (-1.339854236e-05,2.320695611e-05) (-0.000365141319,0.0006324433165) (8.800808196e-10,-1.524344694e-09) (2.84893946e-05,-4.934507893e-05) (-0.0001517399338,0.0002628212748) (-1.277053227e-10,2.211921074e-10) (-2.208009141e-05,3.824384015e-05) (0.0002236392519,-0.0003873545469) (2.407892199e-08,-4.170591628e-08) (-1.190479427e-09,2.061970853e-09) (-3.154137007e-05,5.46312555e-05) (-9.036164811e-11,1.565109656e-10) (1.950696771e-06,-3.378705918e-06) (-8.471154588e-05,0.0001467247015) (-2.03076594e-11,3.517389786e-11) (5.730243228e-08,-9.925072411e-08) (-5.392190249e-06,9.339547476e-06) (-3.658433149e-10,6.336592089e-10) (-1.116528349e-06,1.933883829e-06) (8.868127353e-06,-1.536004714e-05) (-9.65577339e-11,1.67242901e-10) (1.416117621e-06,-2.452787669e-06) (-1.848146722e-05,3.201084023e-05) (-4.754985347e-11,8.235876209e-11) (1.592600314e-06,-2.75846466e-06) (-1.728333755e-05,2.993561877e-05) (1.734723476e-18,-8.67361738e-19) (0.001421288335,-0.002461743608) (-0.02866009467,0.04964074012) (4.147852654e-05,-7.184291538e-05) (-0.008490374326,0.01470575971) (-8.131516294e-20,-2.710505431e-20) (-3.488083878e-05,6.041538497e-05) (0.002604149643,-0.004510519493) (-1.212696121e-06,2.100451296e-06) (-0.001949014841,0.003375792729) (6.776263578e-21,-1.43995601e-20) (-6.84819863e-07,1.186142797e-06) (1.665488592e-05,-2.88471086e-05) (-1.158052873e-08,2.005806414e-08) (-0.0002638178336,0.0004569458917) (-3.176373552e-22,0) (-3.213881516e-09,5.566606076e-09) (1.951032757e-05,-3.379287863e-05) (-5.044923245e-09,8.738063381e-09) (1.02387175e-06,-1.773397892e-06) (4.235164736e-21,2.541098842e-21) (-1.126062466e-07,1.950397403e-07) (2.913830078e-10,-5.046901739e-10) (1.392033993e-05,-2.411073601e-05) (-0.0002210927651,0.0003829439024) (-4.023406499e-21,3.388131789e-21) (-6.274119749e-07,1.086709418e-06) (1.575244907e-09,-2.728404213e-09) (-2.951896633e-05,5.112834946e-05) (0.0001121274987,-0.0001942105247) (-2.117582368e-22,5.082197684e-21) (9.099122566e-07,-1.576014259e-06) (-6.783673963e-09,1.174966797e-08) (-4.63062193e-05,8.020472453e-05) (9.03034606e-05,-0.0001564101819) (1.058791184e-22,-1.694065895e-21) (6.916940092e-07,-1.198049167e-06) (-3.396487491e-09,5.882888901e-09) (-8.287775515e-06,1.435484827e-05) (-5.108477623e-05,8.848142792e-05) (-8.999725065e-22,3.176373552e-21) (5.895674323e-09,-1.021160747e-08) (-1.532991602e-11,2.655219342e-11) (2.033345566e-06,-3.521857829e-06) (-2.71197858e-05,4.697284689e-05) (2.911675756e-22,-3.176373552e-22) (2.929347052e-08,-5.073777927e-08) (-1.226739939e-10,2.124775902e-10) (-8.152622709e-06,1.412075675e-05) (1.185719849e-05,-2.053727021e-05) (-1.058791184e-22,0) (2.366362762e-11,-4.098660533e-11) (2.030510961e-07,-3.51694815e-07) (-5.516550356e-10,9.554945499e-10) (-6.289741996e-06,1.08941527e-05) (1.058791184e-22,1.164670302e-21) (8.545604851e-08,-1.480142178e-07) (-2.306127229e-10,3.994329529e-10) (5.359197563e-06,-9.282402468e-06) (-1.792223291e-05,3.104221799e-05) (1.058791184e-22,-4.235164736e-22) (4.463913472e-08,-7.731724935e-08) (-1.130973968e-10,1.958904374e-10) (1.567605963e-06,-2.715173175e-06) (-8.255361831e-06,1.429870613e-05) -(-0.02616144742,0.04531295613) (-0.04013399248,0.06951411408) (-0.002798563663,0.004847254452) (0.004795750123,-0.008306482873) (0.001429388891,-0.002475774183) (-0.0006396043251,0.001107827188) (-0.0002747846405,0.0004759409585) (4.231850505e-05,-7.329780085e-05) (9.721999344e-05,-0.0001683899681) (-1.201980249e-05,2.08189086e-05) (-1.024812465e-05,1.775027258e-05) (-3.419704066e-06,5.923101189e-06) (5.830153065e-06,-1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.12111549,0.2097781823) (-0.0005607657229,0.0009712747232) (-0.002000518664,0.003464999967) (-0.0004075616168,0.0007059174275) (-0.0002729746153,0.0004728059028) (-1.278868443e-06,2.21506512e-06) (-6.037625137e-06,1.045747349e-05) (-3.526857492e-05,6.108696368e-05) (-1.932297171e-05,3.346836876e-05) (-7.415213061e-06,1.284352577e-05) (-8.572210917e-06,1.484750484e-05) (-9.354879707e-06,1.620312695e-05) (-6.899174245e-06,1.194972032e-05) (-8.71432143e-08,1.509364747e-07) (-0.002819411596,0.004883364132) (0.01502942923,-0.02603173503) (0.0008700924344,-0.001507044304) (0.0001228246921,-0.0002127386071) (7.320806353e-10,-1.268000856e-09) (0.0001192873191,-0.0002066116974) (-8.929992509e-05,0.0001546720074) (1.373510757e-11,-2.378990418e-11) (0.000299626932,-0.0005189690695) (-0.0001838490925,0.0003184359691) (5.231009419e-11,-9.060374093e-11) (3.300273741e-05,-5.716241798e-05) (-2.446401255e-05,4.237291269e-05) (4.222108033e-12,-7.312905615e-12) (2.383089031e-07,-4.12763128e-07) (-2.03263699e-07,3.52063054e-07) (1.663957862e-14,-2.882059555e-14) (1.598075748e-05,-2.767948389e-05) (-1.228323086e-05,2.127517993e-05) (1.819532649e-12,-3.151522991e-12) (1.701272271e-05,-2.946690011e-05) (-1.203371311e-05,2.08430025e-05) (2.268351531e-12,-3.928900099e-12) (4.63149072e-06,-8.021977241e-06) (-3.344313848e-06,5.792521501e-06) (6.401746952e-13,-1.1088151e-12) (3.782440103e-06,-6.551378435e-06) (-2.784982798e-06,4.823731704e-06) (4.566111209e-13,-7.908736621e-13) (3.233764025e-06,-5.601043591e-06) (-1.652550646e-06,2.862301681e-06) (8.418017035e-13,-1.458043318e-12) (2.598776547e-06,-4.501213017e-06) (-1.422702445e-06,2.464192919e-06) (5.27927159e-13,-9.14396661e-13) (8.817371997e-07,-1.527213629e-06) (-1.45942524e-07,2.527798665e-07) (4.485466415e-13,-7.769055717e-13) (1.843143693e-18,-6.396792818e-18) (8.67361738e-19,3.469446952e-18) (0,-1.301042607e-18) (-0.02060375576,0.0356867518) (0.06045012766,-0.1047026924) (0,2.168404345e-19) (1.084202172e-19,2.168404345e-19) (4.33680869e-19,0) (-0.005297526462,0.009175584986) (0.01558567133,-0.02699517461) (0,0) (-1.694065895e-21,-3.811648263e-21) (1.694065895e-21,-1.694065895e-21) (-2.702014961e-05,4.680027195e-05) (0.0001359807469,-0.0002355255625) (2.371692252e-20,3.388131789e-20) (6.776263578e-21,1.355252716e-20) (6.776263578e-21,1.355252716e-20) (-0.0003173531288,0.0005496717431) (0.0009319561715,-0.001614195439) (-2.64697796e-23,0) (2.316105715e-23,-8.602678371e-23) (-1.32348898e-23,0) (1.10762366e-08,-1.918460455e-08) (-6.716194071e-07,1.163278936e-06) (0,0) (0,5.29395592e-23) (-7.940933881e-23,1.389663429e-22) (-4.754822232e-07,8.235593687e-07) (2.065183874e-06,-3.577003397e-06) (8.470329473e-22,0) (-1.058791184e-22,6.352747104e-22) (0,-1.905824131e-21) (-1.517604603e-05,2.628568279e-05) (4.50724991e-05,-7.806785847e-05) (-1.482307658e-21,2.329340605e-21) (0,-2.117582368e-22) (0,-4.235164736e-22) (-7.538565652e-06,1.305717873e-05) (2.367733081e-05,-4.101033996e-05) (4.63221143e-23,1.32348898e-23) (5.29395592e-23,-3.97046694e-23) (-2.64697796e-23,-5.29395592e-23) (-8.103564901e-07,1.403578613e-06) (2.67611154e-06,-4.635161153e-06) (-2.117582368e-22,4.235164736e-22) (-1.588186776e-22,0) (0,0) (-1.711417653e-06,2.964262327e-06) (5.087485249e-06,-8.811782933e-06) (-1.058791184e-22,-4.235164736e-22) (-4.63221143e-23,6.6174449e-23) (5.29395592e-23,4.235164736e-22) (-2.996110319e-06,5.189415297e-06) (8.841353425e-06,-1.531367334e-05) (5.29395592e-23,-2.117582368e-22) (1.058791184e-22,2.117582368e-22) (-2.382280164e-22,2.64697796e-22) (-1.848699751e-06,3.202041897e-06) (5.660846895e-06,-9.804874436e-06) (0,0) (2.316105715e-23,3.30872245e-23) (2.382280164e-22,1.058791184e-22) (-1.315863121e-06,2.279141781e-06) (3.859226647e-06,-6.68437663e-06) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2475006931,0) (0.001885655396,0) (0.003936900835,0) (0.0009741204454,0) (0.0005004075617,0) (8.132634863e-07,0) (1.510083094e-05,0) (7.282759888e-05,0) (3.408159058e-05,0) (1.381866281e-05,0) (1.778426622e-05,0) (1.795710592e-05,0) (1.276438578e-05,0) (7.833976983e-06,0) (0.3041454174,0) (0.002926686712,0) (0.02849839687,0) (2.755679327e-06,0) (1.477200313e-09,0) (5.595452752e-05,0) (0.000471312833,0) (2.30767043e-11,0) (0.0001328145617,0) (0.002968612862,0) (1.385122765e-10,0) (0.0001424591791,0) (8.663764015e-06,0) (6.653302287e-12,0) (1.353880343e-06,0) (1.063332768e-06,0) (1.058585676e-13,0) (0.0001028139335,0) (8.885062031e-06,0) (4.930568137e-12,0) (9.226573536e-06,0) (0.0001114531879,0) (5.306720436e-12,0) (2.485545863e-05,0) (1.209685944e-06,0) (1.149711836e-12,0) (2.362894913e-06,0) (2.235255113e-05,0) (1.084804457e-12,0) (4.060026829e-05,0) (2.884757044e-07,0) (1.846273793e-12,0) (8.663751496e-07,0) (2.708317392e-05,0) (1.260179665e-12,0) (1.705402686e-05,0) (4.258384822e-09,0) (8.003161713e-13,0) (1.561251128e-17,0) (6.938893904e-18,0) (8.67361738e-19,0) (0.04483170943,0) (0.1133052738,0) (8.67361738e-19,0) (-1.734723476e-18,0) (4.33680869e-19,0) (0.009624007898,0) (0.03498925778,0) (0,0) (5.421010862e-20,0) (6.776263578e-21,0) (1.920663012e-05,0) (0.0007802029551,0) (2.439454888e-19,0) (0,0) (2.710505431e-20,0) (0.0006986693326,0) (0.001726467409,0) (0,0) (-3.176373552e-22,0) (-4.235164736e-22,0) (1.653240914e-09,0) (1.835110102e-05,0) (0,0) (0,0) (0,0) (2.342751068e-06,0) (1.709453932e-06,0) (0,0) (1.016439537e-20,0) (1.101142831e-20,0) (2.57422105e-05,0) (0.0001083718738,0) (1.270549421e-21,0) (0,0) (-4.235164736e-22,0) (2.225083718e-05,0) (3.271647394e-05,0) (0,0) (2.911675756e-22,0) (0,0) (2.685905316e-06,0) (3.292917407e-06,0) (2.117582368e-22,0) (2.117582368e-22,0) (0,0) (2.887868495e-06,0) (1.229628472e-05,0) (2.117582368e-22,0) (0,0) (-4.235164736e-22,0) (6.902245323e-06,0) (1.565229019e-05,0) (-6.352747104e-22,0) (2.117582368e-22,0) (-4.235164736e-22,0) (5.060621495e-06,0) (8.434035548e-06,0) (-1.058791184e-22,0) (-8.470329473e-22,0) (-3.176373552e-22,0) (2.848171096e-06,0) (7.27171318e-06,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (0.08203099855,0) (8.306610194e-08,0) (0.1359609918,0) (0.009081386798,0) (5.657391905e-09,0) (0.01196712578,0) (5.443671855e-05,0) (2.267692166e-12,0) (6.454709571e-05,0) (4.074384328e-08,0) (2.322477598e-15,0) (4.516263572e-08,0) (1.806939314e-09,0) (9.637884248e-05,0) (0.0001200645114,0) (3.505088404e-13,0) (0.0001259530711,0) (0.0003880768169,0) (2.442169459e-14,0) (0.0001806923474,0) (0.0003300259584,0) (4.99498452e-09,0) (5.220474457e-13,0) (0.0003140465704,0) (2.043749217e-14,0) (6.916995033e-05,0) (0.0001161425193,0) (3.068536094e-15,0) (6.841874488e-06,0) (0.0001365406311,0) (3.090610873e-13,0) (1.118320353e-06,0) (0.0001219538312,0) (2.402304362e-14,0) (6.135362753e-06,0) (0.0001061573737,0) (1.022792114e-14,0) (9.682037194e-06,0) (9.16160885e-05,0) (0,0) (0.008475895408,0) (0.1732522102,0) (1.124213962e-07,0) (0.02297182624,0) (1.084202172e-19,0) (0.0009869192534,0) (0.006480627332,0) (3.316210435e-10,0) (0.000596346401,0) (1.694065895e-21,0) (6.030566529e-06,0) (7.772448169e-05,0) (1.304810639e-11,0) (1.025243196e-05,0) (0,0) (6.172455307e-07,0) (3.424236285e-06,0) (8.91940129e-14,0) (8.102047562e-08,0) (0,0) (1.7510264e-07,0) (5.995060337e-14,0) (0.0002921369044,0) (3.675876272e-05,0) (2.032879073e-20,0) (1.275281687e-06,0) (4.637667068e-13,0) (0.0003051743252,0) (0.0002630933887,0) (6.776263578e-21,0) (3.588497215e-06,0) (5.404957306e-12,0) (0.0003430215163,0) (6.96043537e-05,0) (5.082197684e-21,0) (2.144710129e-06,0) (2.269021793e-12,0) (0.0002012220718,0) (3.895281572e-05,0) (1.694065895e-21,0) (3.844113255e-09,0) (1.769838074e-15,0) (0.0001178597097,0) (2.092539475e-05,0) (-8.470329473e-22,0) (6.145570316e-08,0) (3.010474357e-14,0) (2.166322872e-05,0) (9.000390998e-05,0) (0,0) (1.298476433e-12,0) (5.281220211e-07,0) (2.249656277e-13,0) (0.0001117973318,0) (2.541098842e-21,0) (1.467994913e-07,0) (7.105028024e-14,0) (4.480358687e-05,0) (5.317998557e-05,0) (0,0) (6.039698986e-08,0) (2.87767903e-14,0) (3.246588878e-06,0) (8.011602699e-05,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.3147524089,0) (0.3911428714,0) (0.2057672699,0) (0.06817076837,0) (0.01624681051,0) (0.001918900616,0) (8.656155591e-06,0) (0.0003293313421,0) (0.0005165205109,0) (0.0005274892321,0) (0.000308913253,0) (0.0001921098042,0) (7.200817462e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1469209212,0) (0.001757452279,0) (0.008885391297,0) (0.0004765796032,0) (0.0003137171467,0) (3.753583099e-07,0) (3.817084e-06,0) (6.033841652e-07,0) (5.317323845e-07,0) (8.414643968e-06,0) (3.31541252e-06,0) (3.002007615e-07,0) (1.229871495e-06,0) (0.001306177527,0) (1.355168727e-09,0) (0.2503658847,0) (1.046614926e-05,0) (2.060951583e-11,0) (0.04152020624,0) (4.050576507e-07,0) (1.00843227e-12,0) (0.003778769832,0) (1.889305054e-06,0) (8.299835645e-12,0) (0.002559803502,0) (1.316604296e-15,0) (2.853709815e-10,0) (7.660087477e-05,0) (2.266554089e-16,0) (5.359854749e-09,0) (1.127557649e-07,0) (1.456075894e-15,0) (8.395718063e-08,0) (9.154156321e-06,0) (9.161877051e-08,0) (3.993706216e-16,0) (1.150818494e-07,0) (1.068890781e-15,0) (4.419176462e-08,0) (7.775554357e-06,0) (1.628929061e-17,0) (4.528323296e-06,0) (1.43185262e-05,0) (2.455969101e-13,0) (6.161678805e-07,0) (1.125366415e-06,0) (1.15944313e-15,0) (1.58315933e-07,0) (5.391837529e-07,0) (2.24968478e-15,0) (6.286898691e-07,0) (3.183188427e-06,0) (6.2883726e-18,0) (0.0002446691601,0) (8.145458932e-07,0) (5.664740933e-10,0) (0.177759353,0) (2.493664997e-18,0) (2.201408811e-06,0) (0.0003158153936,0) (8.549720567e-10,0) (0.0706465972,0) (1.058791184e-22,0) (2.464242287e-13,0) (6.094571757e-11,0) (1.707997469e-15,0) (4.38015457e-05,0) (8.131516294e-20,0) (2.311133296e-11,0) (9.174418953e-05,0) (8.403150672e-11,0) (0.001971316564,0) (5.29395592e-23,0) (1.266660794e-13,0) (7.775698928e-17,0) (6.88337889e-11,0) (2.410431746e-06,0) (1.356576205e-22,0) (5.576701781e-10,0) (1.468000911e-14,0) (6.062379565e-07,0) (3.176643229e-06,0) (-2.067951531e-24,0) (2.300661614e-12,0) (5.707138741e-16,0) (1.135038219e-09,0) (1.530804122e-07,0) (-1.178732373e-23,0) (3.081533289e-11,0) (8.947554122e-16,0) (2.296325301e-09,0) (3.899274721e-07,0) (6.749793798e-22,0) (8.755362874e-11,0) (1.48542241e-15,0) (8.808607626e-08,0) (2.190836451e-05,0) (-1.058791184e-22,0) (2.423577032e-09,0) (3.638364687e-14,0) (4.518853107e-06,0) (4.641490491e-06,0) (1.413638742e-27,0) (6.210057073e-11,0) (3.638362452e-11,0) (1.650294841e-19,0) (9.04762241e-12,0) (8.271806126e-24,0) (4.100520746e-10,0) (4.164857336e-15,0) (3.101457978e-07,0) (1.081074942e-06,0) (7.940933881e-23,0) (4.313670249e-09,0) (1.26775354e-14,0) (2.818838655e-06,0) (9.917835142e-07,0) -(0.1537404548,0) (0.003727007567,0) (0.00854296775,0) (0.0008283378013,0) (0.000249242271,0) (3.135135163e-06,0) (3.485164461e-06,0) (1.245370055e-07,0) (1.451806454e-06,0) (9.235094054e-06,0) (1.535303137e-06,0) (1.834495508e-07,0) (1.651277635e-06,0) (2.815830936e-10,0) (0.01983051592,0) (0.2311916741,0) (1.480857164e-06,0) (5.065308416e-11,0) (0.05191474862,0) (1.74172454e-07,0) (5.928976114e-13,0) (0.002321923377,0) (5.781125973e-06,0) (1.396714217e-11,0) (0.002995923626,0) (1.300580339e-15,0) (2.083846774e-09,0) (2.160554926e-05,0) (8.895745648e-08,0) (1.874301973e-14,0) (4.549221948e-07,0) (3.009999658e-15,0) (6.499753675e-08,0) (5.596904508e-06,0) (8.516512091e-16,0) (5.426835441e-08,0) (1.474190623e-07,0) (1.228211538e-15,0) (1.807091778e-07,0) (1.378205676e-05,0) (2.933157846e-14,0) (5.773281799e-06,0) (8.30249756e-06,0) (1.793970786e-07,0) (1.57524998e-14,0) (1.14196802e-07,0) (1.547102555e-15,0) (2.937426657e-07,0) (8.906479179e-07,0) (3.127361261e-15,0) (1.516806236e-06,0) (2.811236419e-06,0) (0,0) (1.511060808e-05,0) (5.607603461e-10,0) (0.1487858497,0) (0.02038732434,0) (1.734723476e-18,0) (9.734329973e-09,0) (0.0004046016186,0) (8.829540289e-10,0) (0.0787413867,0) (0,0) (1.175486027e-09,0) (3.16393186e-09,0) (1.818492629e-13,0) (0.0005493161406,0) (0,0) (1.11287863e-09,0) (2.242153709e-05,0) (5.137087983e-11,0) (0.001903470945,0) (-4.235164736e-22,0) (1.177409821e-09,0) (2.273659858e-09,0) (4.248625572e-15,0) (2.121979301e-05,0) (0,0) (1.746371504e-10,0) (3.101321166e-15,0) (2.618867638e-10,0) (3.3303246e-06,0) (-6.6174449e-24,0) (4.476698989e-11,0) (7.989091628e-15,0) (1.282889475e-07,0) (2.814187778e-07,0) (1.654361225e-24,0) (2.426502395e-12,0) (1.278136264e-16,0) (7.949778252e-10,0) (1.110717381e-07,0) (2.436173229e-11,0) (0,0) (3.526056281e-16,0) (7.3810059e-07,0) (2.697616726e-05,0) (0,0) (1.877165974e-10,0) (1.913490841e-14,0) (2.115184742e-06,0) (1.181201865e-06,0) (-1.654361225e-24,0) (6.907330169e-11,0) (1.047719175e-07,0) (7.596810143e-15,0) (7.557011361e-09,0) (1.895051636e-10,0) (0,0) (6.491569902e-15,0) (1.28432286e-06,0) (1.324891707e-06,0) (0,0) (9.739590345e-10,0) (2.829120299e-14,0) (3.141117806e-06,0) (2.187995244e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (0,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-8.67361738e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.376428539e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.421010862e-20,0) (-7.446672951e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (5.29395592e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-3.176373552e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (3.97046694e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.522012327e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.058791184e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (9.264422861e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (6.203854594e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-1.389663429e-22,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (0,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (6.505213035e-19,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (0,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-1.355252716e-20,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (0,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (0,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.084202172e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.032879073e-20,0) (-2.218079147e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.558653716e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.415367389e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.441071348e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (2.067951531e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.714186385e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (9.264422861e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (0,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (2.710505431e-20,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (0,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (5.29395592e-23,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (2.117582368e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.035766083e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.138412281e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.694065895e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (3.726944968e-20,0) (3.933175976e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780888e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (5.823351512e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.514629062e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.808845119e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.249931266e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-1.550963649e-25,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (6.948317145e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (5.128519798e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-4.33680869e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (-5.421010862e-20,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (-8.470329473e-22,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (0,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (0,0) (-4.040786575e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (1.058791184e-22,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (-2.117582368e-22,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424696266e-12,0) (-0.008719428334,0) (0.06301289739,0) (0,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138140965e-13,0) (-6.644558929e-05,0) (0,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (0,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640456e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182199e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (0,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (-5.29395592e-23,0) (-3.139926191e-09,0) (-5.790193031e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (0,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556893e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808167e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-2.117582368e-22,0) (-2.091689037e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.214682481e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(-0.1395541466,-0.2417148723) (-0.01357903408,-0.02351957694) (0.01423099906,0.02464881341) (0.004074510377,0.007057258989) (-0.001425660096,-0.00246931572) (1.975203663e-05,3.4211531e-05) (-5.71653615e-06,-9.901331055e-06) (-7.743450601e-05,-0.0001341204987) (6.633973277e-05,0.0001149037877) (-4.268839373e-05,-7.393846683e-05) (3.706007127e-05,6.418992637e-05) (-2.936722707e-05,-5.086552936e-05) (1.515866188e-05,2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,-0.102295252) (0.003122660326,0.005408606339) (0.001450134843,0.002511707226) (-1.663179087e-05,-2.88071068e-05) (-5.691193611e-05,-9.85743649e-05) (4.320980191e-06,7.484157229e-06) (-1.508217198e-05,-2.612308816e-05) (-5.052939195e-06,-8.751947413e-06) (-3.798238809e-06,-6.578742597e-06) (-1.228729791e-05,-2.128222427e-05) (-6.964894952e-06,-1.206355193e-05) (-2.032950537e-06,-3.521173619e-06) (-3.820457386e-06,-6.6172263e-06) (0.005175592884,0.008964389834) (5.304917151e-09,9.188386021e-09) (-0.09224965312,-0.1597810862) (-0.0001541485888,-0.0002669931877) (1.707308574e-10,2.957145206e-10) (0.01114537494,0.01930435567) (2.347871873e-06,4.066633374e-06) (-7.561107841e-13,-1.309622251e-12) (0.000246935527,0.000427704879) (-1.387241408e-07,-2.402772602e-07) (-6.941934646e-14,-1.20237835e-13) (-5.376045784e-06,-9.311584441e-06) (-7.712042081e-13,-1.335764869e-12) (8.292123503e-08,1.436237921e-07) (-4.795061678e-05,-8.305290452e-05) (-4.456588466e-15,-7.71903793e-15) (-4.108193539e-07,-7.115599937e-07) (3.307487654e-06,5.728736662e-06) (2.981602561e-15,5.164290423e-15) (1.947461171e-06,3.373101694e-06) (-2.748230891e-05,-4.760075535e-05) (-1.069619489e-08,-1.8526353e-08) (7.219598505e-15,1.25047114e-14) (3.005871758e-06,5.206322606e-06) (-2.336955431e-15,-4.047724815e-15) (8.74177065e-07,1.514119091e-06) (-1.502558212e-05,-2.602507165e-05) (1.117880202e-16,1.936207203e-16) (2.783083705e-06,4.820442378e-06) (-2.210803363e-05,-3.82922375e-05) (1.37753808e-13,2.385965945e-13) (4.150521297e-07,7.188913765e-07) (-5.857532454e-06,-1.014554382e-05) (-2.638813198e-15,-4.570558867e-15) (4.927792809e-07,8.535187514e-07) (-3.782800919e-06,-6.552003387e-06) (-2.398416777e-15,-4.154179493e-15) (1.233592183e-06,2.136644337e-06) (-8.538607507e-06,-1.478930203e-05) (-4.33680869e-19,5.854691731e-18) (0.0007200330219,0.001247133777) (-0.0001878309588,-0.0003253327639) (3.990106787e-09,6.911067684e-09) (-0.03195096622,-0.05534069685) (4.878909776e-19,7.047314121e-19) (-2.330564706e-05,-4.036656481e-05) (0.0007153114482,0.001238955771) (2.662361385e-10,4.611345193e-10) (0.003245375324,0.005621154951) (-2.117582368e-22,8.470329473e-22) (6.095239344e-10,1.055726423e-09) (-3.44128403e-08,-5.960478783e-08) (7.464270367e-14,1.292849566e-13) (1.059566382e-05,1.835222807e-05) (-8.470329473e-22,6.352747104e-22) (-1.888476037e-09,-3.270936446e-09) (8.862191923e-06,1.534976668e-05) (-1.368859682e-12,-2.370934517e-12) (6.318959677e-06,1.094475921e-05) (-7.940933881e-22,-3.176373552e-22) (7.446402637e-11,1.28975477e-10) (-1.079534703e-15,-1.869809137e-15) (-7.090290898e-08,-1.228074408e-07) (4.706497865e-06,8.151893428e-06) (-3.705769144e-22,1.217609862e-21) (1.33340407e-08,2.309523596e-08) (-4.125560452e-14,-7.145680375e-14) (6.800887061e-06,1.177948193e-05) (-1.445470366e-05,-2.503628115e-05) (9.926167351e-23,-5.29395592e-23) (1.436655647e-09,2.488360574e-09) (2.776996631e-14,4.809899276e-14) (3.119865907e-07,5.403766263e-07) (-1.632104712e-06,-2.826888284e-06) (0,-2.514629062e-22) (-4.064786482e-09,-7.040416709e-09) (2.25289788e-14,3.902133579e-14) (-3.398791457e-07,-5.886879487e-07) (1.948638818e-06,3.375141438e-06) (1.111730743e-21,2.117582368e-22) (2.900715708e-10,5.024186985e-10) (-8.107034924e-16,-1.404180727e-15) (1.611039988e-06,2.790403113e-06) (-1.070561973e-05,-1.854267731e-05) (-1.852884572e-22,5.29395592e-23) (6.102102725e-09,1.056915195e-08) (1.654781311e-14,2.866165354e-14) (4.947043268e-06,8.568530288e-06) (-1.021949476e-05,-1.770068415e-05) (9.305781891e-25,2.688336991e-24) (4.489881054e-12,7.776702106e-12) (-2.191745498e-09,-3.79621456e-09) (-9.634049096e-17,-1.668666247e-16) (-1.590204424e-08,-2.754314857e-08) (-1.588186776e-22,-3.705769144e-22) (3.879285887e-09,6.719120253e-09) (-8.601079384e-15,-1.489750658e-14) (1.863843086e-06,3.228270922e-06) (-3.791159118e-06,-6.566480212e-06) (-6.6174449e-23,1.32348898e-22) (8.070512659e-09,1.397853797e-08) (-9.550114421e-15,-1.654128376e-14) (1.512581421e-06,2.619867872e-06) (-4.456953971e-06,-7.719670724e-06) -(-0.1378654839,-0.2387900227) (-0.0169245535,-0.02931418655) (0.0167882116,0.02907803547) (0.002856832998,0.004948179901) (-0.001021264037,-0.001768881199) (-6.261071557e-05,-0.0001084449405) (-5.097302548e-05,-8.828786994e-05) (5.211057454e-06,9.025816272e-06) (-1.563957284e-05,-2.708853477e-05) (1.958875962e-05,3.392872691e-05) (-7.901662008e-06,-1.368608006e-05) (1.11827671e-06,1.936912078e-06) (-3.986478569e-06,-6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (6.505213035e-19,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-1.084202172e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.799945013e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.082197684e-20,0) (-7.44667295e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (1.98523347e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-1.588186776e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (5.95570041e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.058791184e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.32348898e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (5.29395592e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (3.101927297e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-5.95570041e-23,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (5.29395592e-23,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (0,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (-1.355252716e-20,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-6.776263578e-21,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (-4.235164736e-22,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (2.117582368e-22,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04586770644,0) (0.1295753448,0) (0.0004442131108,0) (0.1967622424,0) (0.0001704511524,0) (0.07116101842,0) (0.01342434892,0) (0.1479153603,0) (0.05829558339,0) (0.002881188799,0) (0.0986772665,0) (0.03669568318,0) (0.0583789555,0) (0.004863627082,0) (0.02285094543,0) (0.01871025158,0) (0.01720002272,0) (0.0129751607,0) (0.01950909261,0) (0.002216861756,0) (0.007850079801,0) (0.0006684007036,0) (0.01106999276,0) (0.004241350104,0) (0.006378882393,0) (0.0004382569924,0) (0.00246318523,0) (0.0002443597394,0) (0.003066181956,0) (0.001196173181,0) (0.001717101805,0) (2.637892713e-05,0) (0.0006299645073,0) (1.244860412e-05,0) (0.0006474759855,0) (0.0002384489065,0) (0.000314514928,0) (9.546434388e-07,0) (0.0001139889123,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(3.590997234e-05,0) (0.0001233917216,0) (1.30441383e-07,0) (1.553904071e-05,0) (1.536434435e-06,0) (2.779572112e-06,0) (2.900697787e-07,0) (1.694146338e-07,0) (2.480155548e-07,0) (7.759935467e-08,0) (9.02954327e-09,0) (1.753815685e-09,0) (2.272725483e-08,0) (0.05134867755,0) (0.01875202135,0) (0.000278013623,0) (0.005748536394,0) (0.00207432931,0) (0.0001512337715,0) (0.0004583230146,0) (0.0001648728595,0) (3.850112287e-05,0) (0.0005754261716,0) (0.0002097466075,0) (1.254127337e-05,0) (1.450462071e-05,0) (4.081696167e-05,0) (1.394154879e-05,0) (4.99941714e-06,0) (1.463681797e-05,0) (7.757214435e-09,0) (1.511410508e-06,0) (4.698023398e-06,0) (1.404013897e-06,0) (8.766678713e-06,0) (6.146623103e-06,0) (8.264078866e-06,0) (9.044095585e-07,0) (2.283550353e-06,0) (9.876553109e-07,0) (3.043249266e-07,0) (6.038139103e-07,0) (2.400053708e-07,0) (9.769650476e-07,0) (1.981749796e-06,0) (7.468840143e-07,0) (8.787060028e-07,0) (1.618326537e-06,0) (8.543525323e-07,0) (5.00506041e-07,0) (9.817712635e-07,0) (4.454731505e-07,0) (3.469446952e-18,0) (0.003515743553,0) (0.09234509611,0) (0.03477975199,0) (1.223510922e-05,0) (4.33680869e-19,0) (4.597357965e-05,0) (0.02740325923,0) (0.01004796136,0) (0.0003916175239,0) (1.694065895e-21,0) (1.460078625e-06,0) (6.30598451e-05,0) (2.330863833e-05,0) (8.451039346e-05,0) (2.710505431e-20,0) (2.399382941e-10,0) (0.001718607472,0) (0.0006467762177,0) (6.859021545e-05,0) (1.482307658e-21,0) (1.335565741e-06,0) (3.205846614e-06,0) (7.65274698e-06,0) (1.646933149e-05,0) (-8.470329473e-22,0) (4.379161533e-06,0) (1.211169872e-05,0) (2.157052131e-05,0) (8.161268252e-06,0) (0,0) (5.33910383e-06,0) (1.925982866e-05,0) (4.905944391e-05,0) (4.081163393e-07,0) (-8.470329473e-22,0) (3.171881935e-06,0) (1.1505279e-05,0) (2.779490012e-05,0) (1.68620799e-06,0) (1.32348898e-23,0) (1.369395562e-07,0) (3.006229585e-07,0) (6.24704245e-07,0) (5.081771609e-07,0) (0,0) (4.516212835e-07,0) (1.131399868e-06,0) (1.789055475e-06,0) (9.447754395e-07,0) (2.117582368e-22,0) (5.10826975e-11,0) (1.696043397e-06,0) (3.063049089e-06,0) (6.775872177e-06,0) (1.058791184e-22,0) (6.382847646e-07,0) (1.694474736e-06,0) (2.713576222e-06,0) (1.415412032e-06,0) (1.058791184e-22,0) (3.927215262e-07,0) (1.006395786e-06,0) (4.761797554e-07,0) (1.932952223e-06,0) -(0.02151507676,0) (0.08145033313,0) (0.0009225981511,0) (0.009071793741,0) (0.001897530337,0) (0.001271522409,0) (0.000393613206,0) (3.191902604e-05,0) (0.0002180280768,0) (1.351339316e-05,0) (1.003663981e-05,0) (6.66710727e-06,0) (1.372598266e-05,0) (0.01971880285,0) (0.0002195616787,0) (0.0003270306584,0) (2.678465689e-05,0) (0.002763516793,0) (0.106697746,0) (8.901625396e-07,0) (0.0001038820182,0) (0.0345000232,0) (1.0786905e-05,0) (0.0002550410404,0) (0.002603733392,0) (5.086780754e-06,0) (1.296261603e-06,0) (0.01019461019,0) (6.255143051e-06,0) (6.536172276e-06,0) (3.683045246e-05,0) (3.540615072e-06,0) (1.378850213e-05,0) (0.0012674418,0) (5.746639196e-06,0) (4.91232311e-05,0) (0.000126571826,0) (3.717599159e-07,0) (5.395422689e-06,0) (0.0003974504446,0) (3.479206662e-07,0) (5.176068333e-06,0) (7.774311777e-06,0) (2.357456293e-06,0) (1.1427038e-06,0) (1.727367798e-06,0) (7.399816442e-07,0) (1.145978052e-05,0) (3.343258584e-05,0) (4.18479744e-07,0) (5.861896876e-06,0) (1.04002171e-05,0) (-5.421010862e-20,0) (9.561558787e-07,0) (0.03485246954,0) (0.02674278495,0) (0.002291387465,0) (0,0) (1.569546168e-06,0) (0.0004250908481,0) (0.01192913133,0) (0.03599121376,0) (-8.67361738e-19,0) (4.328799598e-08,0) (3.906012346e-08,0) (0.0001448848612,0) (0.05737890751,0) (0,0) (1.172235841e-10,0) (9.806088991e-06,0) (0.0006373039673,0) (0.001947382062,0) (0,0) (1.816924258e-07,0) (7.09263354e-07,0) (2.318653812e-05,0) (0.009023977889,0) (0,0) (2.436045478e-08,0) (7.517683295e-06,0) (2.140748389e-07,0) (0.001279410655,0) (0,0) (2.086878003e-08,0) (2.83498791e-05,0) (0.0001528953655,0) (0.0003576463545,0) (0,0) (6.94006599e-09,0) (7.29799041e-06,0) (6.948945167e-06,0) (0.0008507631173,0) (2.393151383e-11,0) (0,0) (2.620125233e-08,0) (2.63818605e-06,0) (9.527036339e-05,0) (0,0) (1.215275915e-09,0) (1.727758853e-06,0) (4.452695345e-05,0) (2.58813648e-05,0) (0,0) (2.542260728e-09,0) (1.109931996e-05,0) (3.064539702e-06,0) (6.121327117e-07,0) (1.401947502e-09,0) (0,0) (1.253713298e-06,0) (2.653165066e-05,0) (2.635447273e-05,0) (-2.64697796e-23,0) (9.160979474e-11,0) (9.092686847e-07,0) (3.096286743e-06,0) (1.632018929e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-3.794707604e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-8.809142651e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-1.694065895e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (1.694065895e-21,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (4.65868121e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (2.117582368e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.705769144e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-2.64697796e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (-5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.32348898e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (4.33680869e-19,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (2.168404345e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (4.065758147e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (0,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (6.776263578e-21,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (-4.235164736e-22,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (-5.29395592e-23,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (4.235164736e-22,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (2.64697796e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (1.734723476e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (6.505213035e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-2.032879073e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (0,0) (-1.267303587e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-1.694065895e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.382280164e-21,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (0,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (3.546950467e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-3.30872245e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (5.29395592e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-6.505213035e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (-4.33680869e-19,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (-2.710505431e-20,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (-5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (1.694065895e-21,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-4.235164736e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (5.29395592e-23,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-5.421010862e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (0,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (5.421010862e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (0,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (6.776263578e-21,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (0,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (1.694065895e-21,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (2.117582368e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (4.235164736e-22,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,-0.0005191289988) (0.09925944203,0.1719223967) (0.0005701036329,0.0009874484577) (0.03744131566,0.06485026102) (-1.08363822e-05,-1.876916455e-05) (5.12637978e-06,8.879150237e-06) (-0.0004333454456,-0.000750576329) (-0.004174757703,-0.007230892451) (-5.79928862e-07,-1.004466254e-06) (-0.0003092991382,-0.0005357218221) (-0.008557666191,-0.01482231264) (-1.127253589e-06,-1.952460489e-06) (0.001441927363,0.002497491453) (0.0001026368809,0.0001777722925) (1.949578464e-07,3.376768953e-07) (7.957927152e-05,0.0001378353415) (6.761905753e-05,0.0001171196432) (1.853059582e-08,3.209593345e-08) (0.0007081325001,0.001226521469) (7.017291895e-05,0.0001215430609) (9.836838076e-08,1.703790333e-07) (-3.926527806e-05,-6.800945657e-05) (-0.000555379596,-0.0009619456778) (-7.501276439e-08,-1.299259191e-07) (0.0001990917172,0.0003448369695) (1.15125293e-05,1.994028567e-05) (2.660804959e-08,4.608649378e-08) (-1.201453687e-05,-2.080978829e-05) (-0.0001308978504,-0.0002267217275) (-1.801120482e-08,-3.119632186e-08) (0.0001320177961,0.0002286615304) (1.379282385e-06,2.388987168e-06) (1.705203038e-08,2.953498298e-08) (-1.642038463e-06,-2.844094046e-06) (-6.621122398e-05,-0.000114681204) (-8.667301526e-09,-1.501220661e-08) (3.661879991e-05,6.342562196e-05) (3.18796139e-08,5.521711101e-08) (4.775645764e-09,8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,-0.00159926779) (0.0008274199475,0.001433133388) (-5.55619918e-06,-9.623619276e-06) (-3.00319403e-06,-5.201684645e-06) (3.982825217e-06,6.898455633e-06) (1.175840002e-05,2.036614625e-05) (-4.157662878e-06,-7.201283346e-06) (-2.677457455e-06,-4.637492347e-06) (2.594031055e-06,4.492993584e-06) (1.179960774e-06,2.043752012e-06) (-3.634784569e-07,-6.295631548e-07) (1.553863596e-07,2.691370696e-07) (5.193486208e-07,8.995381981e-07) (0.03245066753,0.05620620491) (1.973358379e-05,3.417956974e-05) (0.003074044889,0.005324401932) (-0.003612640396,-0.006257276715) (-1.712840758e-06,-2.966727218e-06) (0.0006726502744,0.001165064451) (-7.897721341e-05,-0.0001367925463) (-9.66799994e-09,-1.67454671e-08) (-2.492556751e-05,-4.317234933e-05) (2.421005667e-06,4.19330482e-06) (3.489741388e-10,6.044409389e-10) (-3.762967448e-07,-6.517650808e-07) (-8.094592238e-08,-1.402024502e-07) (3.136037117e-05,5.431775621e-05) (2.045657133e-05,3.54318209e-05) (6.618798767e-10,1.146409575e-09) (-2.146830323e-05,-3.718419194e-05) (8.675245077e-07,1.502596524e-06) (-9.606141336e-11,-1.663832486e-10) (1.456791745e-05,2.523237319e-05) (-1.076291122e-05,-1.864190907e-05) (1.04629614e-07,1.812238073e-07) (-8.956602146e-10,-1.551328998e-09) (2.547207111e-05,4.411892133e-05) (-6.797765478e-11,-1.177407519e-10) (6.283968979e-06,1.088415354e-05) (5.35510915e-06,9.275321128e-06) (-1.527935823e-11,-2.646462476e-11) (1.016270017e-06,1.760231303e-06) (2.862275528e-06,4.95760664e-06) (-2.747461897e-10,-4.758743597e-10) (7.443505779e-07,1.28925302e-06) (4.771932706e-06,8.265229897e-06) (-7.264500146e-11,-1.258248334e-10) (1.575517403e-06,2.728876191e-06) (4.761717681e-06,8.247536954e-06) (-3.577407697e-11,-6.196251891e-11) (1.541553266e-06,2.67004858e-06) (3.194233381e-06,5.532574508e-06) (0,-8.67361738e-19) (-0.002729426434,-0.004727505259) (0.06324356095,0.1095410608) (3.126494954e-05,5.415248111e-05) (0.0002650767828,0.0004591264557) (-2.168404345e-19,-4.33680869e-19) (0.0001065037686,0.0001844699384) (-0.006663150733,-0.01154091561) (-9.127041456e-07,-1.580849952e-06) (0.0002416297276,0.0004185149648) (-1.694065895e-21,-8.470329473e-22) (1.483669546e-06,2.569791035e-06) (-3.500462032e-05,-6.06297809e-05) (-8.719713196e-09,-1.510298628e-08) (1.471765147e-05,2.549172011e-05) (-4.235164736e-22,-8.470329473e-22) (6.08483442e-09,1.053924237e-08) (-3.835660981e-05,-6.643559699e-05) (-3.797649481e-09,-6.577721851e-09) (1.178686968e-06,2.041545716e-06) (-1.694065895e-21,-1.694065895e-21) (2.4179593e-07,4.188028358e-07) (2.191988206e-10,3.796634942e-10) (-2.364132934e-05,-4.094798358e-05) (1.230236002e-05,2.130831261e-05) (1.694065895e-21,-1.694065895e-21) (1.181594739e-06,2.046582122e-06) (1.185010832e-09,2.052498968e-09) (-4.056713351e-05,-7.026433636e-05) (-2.316881374e-05,-4.012956255e-05) (2.117582368e-21,1.694065895e-21) (-2.188570265e-06,-3.790714895e-06) (-5.101434888e-09,-8.835944417e-09) (6.486224796e-05,0.000112344709) (-2.66489559e-06,-4.61573456e-06) (1.270549421e-21,1.270549421e-21) (-1.304105758e-06,-2.258777432e-06) (-2.554688277e-09,-4.424849894e-09) (3.739300532e-05,6.476658507e-05) (4.052238551e-06,7.018683054e-06) (-5.29395592e-23,-2.117582368e-22) (-1.147182595e-08,-1.986978541e-08) (-1.153315372e-11,-1.997600821e-11) (4.290322277e-06,7.431056164e-06) (1.630475981e-06,2.824067239e-06) (0,-2.117582368e-22) (-8.329871479e-08,-1.442776062e-07) (-9.227744456e-11,-1.598292224e-10) (3.112744687e-06,5.391431949e-06) (4.610680091e-06,7.985932175e-06) (3.176373552e-22,2.117582368e-22) (-4.072151729e-12,-7.053173691e-12) (-4.732118624e-07,-8.196269885e-07) (-4.150544398e-10,-7.188953777e-10) (1.376158085e-05,2.383575722e-05) (1.058791184e-22,2.117582368e-22) (-1.530521796e-07,-2.650941513e-07) (-1.73488401e-10,-3.004907251e-10) (5.513119534e-06,9.54900314e-06) (4.337960104e-06,7.513567301e-06) (-1.588186776e-22,-1.058791184e-22) (-7.700519144e-08,-1.33376904e-07) (-8.508942103e-11,-1.473792004e-10) (6.216831785e-07,1.076786851e-06) (6.222146986e-06,1.077707471e-05) -(0.05157424969,0.08932922082) (0.07911949656,0.1370389879) (0.005517042647,0.009555798172) (-0.009454263379,-0.01637526452) (-0.002817873889,-0.004880700745) (0.001260905509,0.002183952404) (0.0005417059474,0.0009382622237) (-8.342600894e-05,-0.0001444980862) (-0.0001916579055,-0.0003319612299) (2.369564209e-05,4.104205603e-05) (2.020298538e-05,3.499259714e-05) (6.741548682e-06,1.167670484e-05) (-1.149346843e-05,-1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.029992064e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.202285663e-20,0) (-2.218079148e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.029258124e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.580803511e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.374896899e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (1.852884572e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.584939414e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (8.602678371e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (-4.33680869e-19,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (0,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (8.470329473e-22,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (1.058791184e-22,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (1.058791184e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-4.878909776e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-3.388131789e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-5.505714157e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (8.470329473e-22,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (2.117582368e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (1.270549421e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.176373552e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-5.29395592e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.588186776e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (0,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (-6.505213035e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (2.710505431e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (5.421010862e-20,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (0,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (0,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (1.058791184e-22,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (0,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (3.97046694e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04715705099,0) (0.02200154358,0) (0.1067286698,0) (0.02202428562,0) (0.17465834,0) (0.07141108635,0) (0.1000731762,0) (0.06107260141,0) (0.05848951507,0) (0.07464156391,0) (0.02679567375,0) (0.03681690082,0) (0.0005054573398,0) (0.06266017622,0) (0.02292789445,0) (0.005280432053,0) (0.03058641266,0) (0.0130185903,0) (4.477807442e-05,0) (0.02165478127,0) (0.007876474827,0) (0.007860017766,0) (0.003864294445,0) (0.004255431357,0) (8.845381168e-05,0) (0.006720385865,0) (0.002471484938,0) (0.00210919833,0) (0.001197367089,0) (0.001200149458,0) (0.0001043161214,0) (0.001637026661,0) (0.0006321024569,0) (0.0005029865235,0) (0.0001561530053,0) (0.0002392339673,0) (3.034857158e-05,0) (0.0002847271479,0) (0.0001143827643,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01859825451,0) (0.06390622139,0) (6.755733522e-05,0) (0.008047876816,0) (0.000795739924,0) (0.001439577538,0) (0.0001502310143,0) (8.77421026e-05,0) (0.0001284505699,0) (4.018974268e-05,0) (4.676521113e-06,0) (9.083245777e-07,0) (1.177074896e-05,0) (0.008307597159,0) (0.01873421824,0) (2.900333486e-08,0) (0.0006427535352,0) (0.002074227619,0) (0.09464435446,0) (4.913666987e-05,0) (0.0001652571093,0) (0.02141018871,0) (0.0001298657198,0) (0.0002102475176,0) (0.004281715785,0) (1.48520788e-05,0) (7.255278567e-06,0) (0.007171961804,0) (5.016290298e-06,0) (8.510401907e-06,0) (0.0004140783138,0) (1.516294083e-06,0) (4.817059328e-06,0) (0.0009909456417,0) (1.489550748e-05,0) (6.169100968e-06,0) (3.434653454e-06,0) (9.073734504e-07,0) (4.539544298e-06,0) (0.0003945514261,0) (3.054738133e-07,0) (6.950824905e-07,0) (5.407485655e-07,0) (9.805598736e-07,0) (1.955658851e-06,0) (8.959547428e-06,0) (8.815473737e-07,0) (7.766105257e-06,0) (1.471985915e-05,0) (5.021918199e-07,0) (5.508541434e-06,0) (1.701290994e-05,0) (6.505213035e-19,0) (0.0003326380646,0) (0.01469282168,0) (0.03477374258,0) (0.02107630735,0) (3.252606517e-19,0) (1.4617477e-05,0) (0.006316834902,0) (0.01007236596,0) (0.03687902424,0) (-2.059984128e-18,0) (2.1761899e-07,0) (8.535073252e-06,0) (2.333908512e-05,0) (0.04386035073,0) (3.388131789e-21,0) (2.12877168e-11,0) (0.0001802105721,0) (0.0006483001201,0) (0.0003180537728,0) (-1.423015351e-19,0) (1.934512603e-07,0) (3.215971441e-06,0) (3.60306497e-07,0) (0.008593632408,0) (9.95263713e-21,0) (3.785330716e-07,0) (1.214894467e-05,0) (8.316142622e-05,0) (0.0002399527039,0) (-2.943439492e-20,0) (1.065981606e-06,0) (1.932844051e-05,0) (1.262102486e-07,0) (0.0007885513656,0) (-1.905824131e-20,0) (2.756248094e-07,0) (1.154541289e-05,0) (1.377253857e-05,0) (0.0004170207456,0) (1.334076892e-20,0) (1.372912756e-08,0) (3.015892013e-07,0) (1.65338949e-06,0) (0.000225542516,0) (-7.27918939e-22,0) (1.277388161e-07,0) (1.135050709e-06,0) (1.097300767e-05,0) (1.837231386e-05,0) (0,0) (2.299303327e-09,0) (3.123692756e-07,0) (3.074695245e-06,0) (1.039677966e-06,0) (6.882142696e-22,0) (4.239383809e-08,0) (1.699838817e-06,0) (1.420235844e-05,0) (2.844450342e-05,0) (-2.779326858e-22,0) (2.066829092e-08,0) (1.009713072e-06,0) (8.983597702e-06,0) (1.122430129e-06,0) -(0.002275502001,0) (0.008614442707,0) (9.757687426e-05,0) (0.0009594613604,0) (0.0002006887602,0) (0.0001344801982,0) (4.162976727e-05,0) (3.375856311e-06,0) (2.305933326e-05,0) (1.429218846e-06,0) (1.061506507e-06,0) (7.051341767e-07,0) (1.451702978e-06,0) (0.0197919787,0) (0.04576663462,0) (0.003064285325,0) (0.006931890706,0) (0.002776848162,0) (0.01119185278,0) (0.0002405708549,0) (0.0001044086936,0) (0.003665373389,0) (0.0006670496628,0) (0.0002562656941,0) (0.0002404198937,0) (5.111300906e-06,0) (1.4983551e-05,0) (0.001075955865,0) (7.907287005e-06,0) (6.558427154e-06,0) (1.279841726e-05,0) (3.558166217e-06,0) (2.878390215e-06,0) (0.0001413922296,0) (5.77551433e-06,0) (2.981494912e-05,0) (2.987868567e-06,0) (3.734951082e-07,0) (2.875161334e-06,0) (4.065104123e-05,0) (3.494642989e-07,0) (1.349041095e-09,0) (2.229293379e-06,0) (2.854297262e-07,0) (1.146538659e-06,0) (2.970188831e-06,0) (7.434637826e-07,0) (5.101582132e-06,0) (1.477386609e-06,0) (4.203040616e-07,0) (2.548710907e-06,0) (2.065288763e-07,0) (0,0) (0.00381120272,0) (0.03499174491,0) (0.02310179904,0) (0.06236724561,0) (0,0) (0.001009633108,0) (0.0298739139,0) (0.0119849688,0) (0.002478434544,0) (0,0) (1.099057939e-05,0) (0.0003399323208,0) (0.000145642374,0) (0.00607617128,0) (-5.421010862e-20,0) (2.892328027e-07,0) (0.001438457613,0) (0.0006405979474,0) (0.0003449598824,0) (-1.355252716e-20,0) (4.286455912e-05,0) (9.37661877e-06,0) (2.331100428e-05,0) (0.0009596164022,0) (-3.388131789e-21,0) (5.739308119e-06,0) (7.551310522e-06,0) (1.320365452e-05,0) (0.0001350056191,0) (-1.694065895e-21,0) (4.544913819e-06,0) (2.850249043e-05,0) (6.63333715e-06,0) (0.0001130091179,0) (0,0) (1.524088828e-06,0) (7.334038823e-06,0) (2.344902083e-05,0) (8.380257917e-05,0) (1.053196334e-08,0) (2.117582368e-22,0) (2.631799423e-08,0) (5.681500867e-07,0) (9.841263226e-06,0) (0,0) (4.420829531e-07,0) (1.736699721e-06,0) (1.043708995e-06,0) (1.023766845e-05,0) (-4.235164736e-22,0) (6.41372051e-07,0) (3.151162781e-06,0) (3.071688387e-06,0) (5.020121102e-06,0) (3.257591355e-07,0) (-1.058791184e-22,0) (1.259765493e-06,0) (8.095219997e-06,0) (2.749685552e-07,0) (5.29395592e-23,0) (2.494036453e-07,0) (9.133146635e-07,0) (8.753312292e-07,0) (1.469478759e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (0,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.33680869e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (5.717472394e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.270549421e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.651714247e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (-1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.911675756e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-4.63221143e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-9.264422861e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (-8.67361738e-19,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (-1.084202172e-19,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-2.710505431e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-2.541098842e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (4.235164736e-22,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (0,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (-2.117582368e-22,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (6.938893904e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-8.67361738e-19,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-3.388131789e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (8.470329473e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (-1.694065895e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (4.235164736e-22,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (6.352747104e-22,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (-4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-4.235164736e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-2.117582368e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,0.0005263748085) (0.04090131005,0.07084314711) (-0.00883687416,-0.01530591502) (0.01252654015,0.02169660398) (-0.000346879798,-0.0006008134342) (-5.135379222e-06,-8.894737729e-06) (0.001183168129,0.002049307314) (-0.00268255013,-0.004646313118) (5.808926845e-07,1.006135643e-06) (0.001574284488,0.002726740719) (-0.004459427703,-0.007723955355) (1.129113895e-06,1.955682633e-06) (0.0001341706355,0.0002323903576) (0.0003683995724,0.0006380867769) (-1.952858243e-07,-3.382449696e-07) (-4.227609596e-05,-7.322434614e-05) (9.017141291e-05,0.0001561814685) (-1.85615821e-08,-3.214960327e-08) (3.392569073e-05,5.876102003e-05) (0.0002193194444,0.0003798724208) (-9.853361838e-08,-1.706652333e-07) (0.0001346486464,0.0002332182967) (-0.0003281340941,-0.0005683449226) (7.513718213e-08,1.30141417e-07) (2.344440262e-05,4.060689649e-05) (4.508202613e-05,7.808435976e-05) (-2.665283983e-08,-4.616407275e-08) (3.529806653e-05,6.113804464e-05) (-8.179885248e-05,-0.0001416797685) (1.80411161e-08,3.12481297e-08) (3.253944728e-05,5.635997594e-05) (1.08655697e-05,1.881971877e-05) (-1.708094113e-08,-2.958505788e-08) (1.043761257e-05,1.807847528e-05) (-3.251583845e-05,-5.631908425e-05) (8.68155776e-09,1.503689913e-08) (1.137503137e-05,1.970213227e-05) (5.505628404e-07,9.536028123e-07) (-4.783889003e-09,-8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,0.03639567249) (-0.01883018317,-0.03261483397) (0.0001264463693,0.0002190115361) (6.834581865e-05,0.0001183784304) (-9.063998106e-05,-0.0001569930524) (-0.0002675942571,-0.0004634868491) (9.461888584e-05,0.0001638847176) (6.093280015e-05,0.0001055387057) (-5.903420635e-05,-0.0001022502448) (-2.685320506e-05,-4.65111155e-05) (8.271937295e-06,1.432741567e-05) (-3.536237701e-06,-6.124943366e-06) (-1.181918528e-05,-2.04714294e-05) (0.01305259065,0.02260775017) (-1.972421406e-05,-3.41633409e-05) (-3.139793852e-05,-5.438282477e-05) (-0.001208003877,-0.002092324091) (1.712798772e-06,2.966654497e-06) (-0.01682721675,-0.02914559437) (-2.585942318e-05,-4.47898348e-05) (9.67925942e-09,1.67649691e-08) (0.0005877851435,0.001018073733) (1.150133528e-06,1.992089707e-06) (-3.493905947e-10,-6.051622618e-10) (6.952941289e-06,1.204284757e-05) (8.190971413e-08,1.418717865e-07) (1.32217184e-05,2.290068804e-05) (-0.0004639768554,-0.0008036314871) (-6.629958665e-10,-1.148342526e-09) (1.637002792e-05,2.835372008e-05) (-0.0002004334016,-0.0003471608352) (9.621648201e-11,1.666518354e-10) (-1.475131992e-05,-2.555003558e-05) (0.0002859360877,0.0004952558317) (1.363844101e-07,2.362247277e-07) (8.972964103e-10,1.554162972e-09) (-1.642133626e-05,-2.844258873e-05) (6.808895039e-11,1.179335215e-10) (8.86002333e-06,1.534601056e-05) (-0.0001070329349,-0.0001853864814) (1.530817236e-11,2.651453229e-11) (1.09037461e-06,1.888584223e-06) (-4.296340024e-06,-7.441479207e-06) (2.752512015e-10,4.767490659e-10) (-7.394344286e-07,-1.280737999e-06) (1.652763697e-05,2.862670696e-05) (7.276235857e-11,1.260281019e-10) (3.451371935e-06,5.977951547e-06) (-1.976500436e-05,-3.423399176e-05) (3.583427253e-11,6.206678068e-11) (3.65150322e-06,6.3245891e-06) (-1.973991048e-05,-3.419052789e-05) (0,-4.33680869e-19) (-0.0008395542634,-0.00145415064) (0.02522679048,0.04369408282) (-3.126224837e-05,-5.414780254e-05) (-0.01100183246,-0.01905573281) (1.626303259e-19,-4.878909776e-19) (6.005470316e-05,0.0001040177971) (-0.003199103504,-0.005541009808) (9.138118664e-07,1.582768581e-06) (-0.002344817337,-0.004061342763) (1.863472484e-20,4.065758147e-20) (5.727926757e-07,9.921060165e-07) (-1.287812239e-05,-2.230556228e-05) (8.725406379e-09,1.511284716e-08) (-0.000335289152,-0.0005807378464) (-2.117582368e-22,2.117582368e-22) (1.81243952e-09,3.139237334e-09) (-1.242058352e-05,-2.151308171e-05) (3.802120767e-09,6.585466345e-09) (2.538152278e-06,4.396208702e-06) (2.202285663e-20,4.065758147e-20) (9.202421743e-08,1.593906201e-07) (-2.195446888e-10,-3.802625555e-10) (-5.129786172e-06,-8.885050281e-06) (-0.0002810210377,-0.0004867427153) (2.117582368e-21,-5.082197684e-21) (3.473961335e-07,6.017077536e-07) (-1.186831509e-09,-2.055652473e-09) (-7.965351864e-05,-0.0001379639413) (0.0001256283905,0.0002175947552) (-6.352747104e-22,2.541098842e-21) (-9.779151322e-07,-1.693798695e-06) (5.110513569e-09,8.851669155e-09) (3.289864391e-06,5.698212276e-06) (0.0001171394555,0.0002028914885) (9.529120657e-21,1.270549421e-21) (-3.844266251e-07,-6.658464465e-07) (2.55914016e-09,4.432560781e-09) (2.632175311e-05,4.559061372e-05) (-6.372623528e-05,-0.0001103770773) (-2.223461487e-21,1.905824131e-21) (-3.632365662e-09,-6.291441879e-09) (1.155167341e-11,2.000808525e-11) (6.979756536e-06,1.208929295e-05) (-3.434954941e-05,-5.94951648e-05) (4.764560328e-22,4.235164736e-22) (-4.430089943e-08,-7.673140864e-08) (9.242620673e-11,1.60086886e-10) (-7.708935966e-06,-1.335226877e-05) (2.033211796e-05,3.521626133e-05) (-5.29395592e-23,-1.058791184e-22) (2.732028175e-11,4.732011607e-11) (-2.030819374e-07,-3.517482337e-07) (4.158427398e-10,7.202607533e-10) (5.390575629e-06,9.336750872e-06) (-2.64697796e-22,-1.376428539e-21) (-3.944424504e-08,-6.831943648e-08) (1.737627841e-10,3.009659705e-10) (1.261265833e-05,2.184576504e-05) (-1.944658249e-05,-3.36824689e-05) (1.588186776e-22,1.455837878e-21) (-1.766566272e-08,-3.059782538e-08) (8.522954168e-11,1.476218965e-10) (2.700280003e-06,4.67702216e-06) (-4.74143023e-06,-8.212398059e-06) -(0.01677258801,0.02905097462) (0.02573064519,0.04456678478) (0.001794210947,0.00310766452) (-0.003074644141,-0.005325439867) (-0.0009164076666,-0.001587264639) (0.0004100621676,0.0007102485086) (0.0001761695175,0.000305134555) (-2.713117662e-05,-4.699257638e-05) (-6.232953669e-05,-0.0001079579244) (7.706117781e-06,1.334738753e-05) (6.57026234e-06,1.138002819e-05) (2.192435553e-06,3.797409769e-06) (-3.737819008e-06,-6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.252606517e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.029992064e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.778769189e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (1.016439537e-20,0) (3.933175975e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780887e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (6.088049308e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.713152409e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.80884512e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.514629062e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-7.754818243e-26,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (7.610061635e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (4.63221143e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-8.67361738e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (0,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (0,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (-2.64697796e-23,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (-8.470329473e-22,0) (-4.040786576e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (5.29395592e-23,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (0,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (2.168404345e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (8.67361738e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-1.355252716e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (1.355252716e-20,0) (-1.267303586e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-2.117582368e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.117582368e-22,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (-4.235164736e-21,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (5.29395592e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-4.367513634e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (-1.32348898e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-2.168404345e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (0,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (0,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (0,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-8.470329473e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (0,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (2.439454888e-19,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.607859233e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (6.035109749e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.482307658e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.672890071e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.382280164e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-3.97046694e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-6.6174449e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (0,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (0,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-5.421010862e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-5.082197684e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (0,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (-1.058791184e-22,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (0,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.08286250691,0) (0.02431037598,0) (0.06871438145,0) (0.04930718395,0) (0.09326492082,0) (0.1255216072,0) (0.1061377676,0) (0.01064733091,0) (0.1028501942,0) (0.06073138578,0) (0.01278119823,0) (0.06474155448,0) (0.02720911517,0) (0.01856972471,0) (0.04031468813,0) (0.02489475137,0) (0.001098999625,0) (0.02289168401,0) (0.01002216348,0) (0.005704391145,0) (0.01384947954,0) (0.007451325099,0) (0.001045456362,0) (0.007482962107,0) (0.00281298841,0) (0.002121681757,0) (0.004345654447,0) (0.002153156807,0) (0.0002431658316,0) (0.002110392238,0) (0.000552027313,0) (0.0007100396512,0) (0.001111378275,0) (0.0003829383684,0) (9.474450534e-05,0) (0.0004206906223,0) (8.459498418e-05,0) (0.0001437766924,0) (0.0002010868071,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01151542489,0) (0.03956862145,0) (4.182927054e-05,0) (0.004982979502,0) (0.0004926958775,0) (0.0008913388619,0) (9.301808191e-05,0) (5.432701179e-05,0) (7.953235012e-05,0) (2.488416119e-05,0) (2.895547407e-06,0) (5.624045764e-07,0) (7.288058967e-06,0) (0.01044095573,0) (0.03297631033,0) (0.0001606173415,0) (0.001446472844,0) (0.003652617632,0) (0.05815477759,0) (0.0001173327325,0) (0.0002910130741,0) (0.01321743319,0) (8.960512001e-05,0) (0.000370321967,0) (0.002702735249,0) (2.612306591e-05,0) (7.450636785e-06,0) (0.004441884828,0) (8.839061027e-06,0) (2.57761275e-05,0) (0.0002373242255,0) (2.671175919e-06,0) (1.079249771e-05,0) (0.0006061888617,0) (4.643013261e-07,0) (1.085909936e-05,0) (1.26714713e-05,0) (1.598089418e-06,0) (2.20050347e-07,0) (0.0002471462147,0) (5.375848748e-07,0) (1.919689554e-09,0) (8.5178208e-07,0) (1.732231442e-06,0) (4.45895687e-06,0) (2.579457553e-06,0) (1.552409348e-06,0) (1.30742986e-06,0) (1.287012362e-05,0) (8.842413405e-07,0) (1.047868629e-06,0) (1.304197819e-05,0) (-6.505213035e-19,0) (0.0009533201785,0) (0.01896428393,0) (0.06121497228,0) (0.0125521507,0) (-3.252606517e-19,0) (4.931195373e-06,0) (0.004185764753,0) (0.017738704,0) (0.02547954574,0) (-1.219727444e-18,0) (3.110674544e-07,0) (1.42753078e-05,0) (4.111206382e-05,0) (0.02715447401,0) (1.355252716e-20,0) (6.693630906e-11,0) (0.0004446572613,0) (0.001141388293,0) (5.175547801e-05,0) (-2.710505431e-20,0) (2.896624921e-07,0) (5.66493273e-06,0) (2.653219922e-06,0) (0.005319222649,0) (4.446922973e-21,0) (1.23469439e-06,0) (2.140210977e-05,0) (1.142126714e-05,0) (0.0001911500099,0) (4.235164736e-21,0) (9.22882494e-07,0) (3.405631521e-05,0) (2.500444833e-05,0) (0.000468632467,0) (-1.270549421e-20,0) (8.923175134e-07,0) (2.033674126e-05,0) (1.365401367e-06,0) (0.0002679810755,0) (-3.388131789e-21,0) (3.61685241e-08,0) (5.311357506e-07,0) (1.40319171e-07,0) (0.0001405914279,0) (7.676236084e-22,0) (5.585209319e-08,0) (1.999539627e-06,0) (1.227245632e-05,0) (6.248313256e-06,0) (2.64697796e-23,0) (1.724997877e-09,0) (3.122744061e-07,0) (5.411018301e-06,0) (1.415448965e-06,0) (8.999725065e-22,0) (1.989853278e-07,0) (2.994061638e-06,0) (2.564169571e-06,0) (2.415994883e-05,0) (-5.29395592e-23,0) (1.319703087e-07,0) (1.777963699e-06,0) (3.027655855e-06,0) (3.402615008e-06,0) -(0.00553605759,0) (0.02095803515,0) (0.0002373942959,0) (0.002334268809,0) (0.0004882546943,0) (0.0003271762106,0) (0.0001012808553,0) (8.213104159e-06,0) (5.610093811e-05,0) (3.477139478e-06,0) (2.582533942e-06,0) (1.715517459e-06,0) (3.531841012e-06,0) (0.03483145319,0) (0.02253296123,0) (0.003063275652,0) (0.003468356907,0) (0.004882815777,0) (0.02756244955,0) (0.0001539254955,0) (0.0001835979054,0) (0.008857709221,0) (0.0002891550959,0) (0.0004506771526,0) (0.0007129915528,0) (8.993340896e-06,0) (4.250060433e-06,0) (0.002625833686,0) (1.60314874e-05,0) (1.152525194e-05,0) (3.496369595e-06,0) (6.261644115e-06,0) (1.658833738e-05,0) (0.0003176578563,0) (1.01594509e-05,0) (1.337741548e-06,0) (5.129237847e-05,0) (6.572109132e-07,0) (2.20383207e-07,0) (0.0001039161773,0) (6.150600883e-07,0) (2.836013573e-06,0) (9.454592508e-07,0) (2.430401289e-06,0) (2.015296627e-06,0) (9.633593424e-08,0) (1.307998808e-06,0) (7.127991709e-07,0) (1.179406541e-05,0) (7.39491486e-07,0) (3.820896297e-07,0) (4.342680978e-06,0) (0,0) (0.002099748074,0) (0.06156955733,0) (7.114789054e-05,0) (0.05029811769,0) (0,0) (0.0005299594019,0) (0.01318363225,0) (0.02107802791,0) (0.01106375401,0) (2.168404345e-19,0) (7.058923414e-06,0) (0.0001891960434,0) (0.0002561189377,0) (0.01475511786,0) (0,0) (1.711878633e-07,0) (0.0009584736151,0) (0.001126274353,0) (0.0003682274248,0) (-2.710505431e-20,0) (2.7652106e-05,0) (8.673773527e-06,0) (4.097130545e-05,0) (0.002315825677,0) (0,0) (3.702756937e-06,0) (1.329608283e-05,0) (5.70924401e-06,0) (0.0003295600291,0) (2.541098842e-21,0) (2.946557407e-06,0) (5.015820037e-05,0) (0.0001264260713,0) (3.861267461e-05,0) (-6.776263578e-21,0) (9.875766575e-07,0) (1.29029779e-05,0) (2.779852115e-06,0) (0.0002263576027,0) (6.573952743e-09,0) (-4.235164736e-22,0) (4.630728464e-08,0) (4.275873786e-07,0) (2.47925857e-05,0) (3.705769144e-22,0) (2.784547616e-07,0) (3.05584326e-06,0) (1.806598778e-05,0) (2.003963724e-06,0) (4.235164736e-22,0) (4.120885495e-07,0) (1.368540015e-06,0) (5.405814955e-06,0) (5.188382974e-06,0) (2.103438461e-07,0) (-8.470329473e-22,0) (2.21632634e-06,0) (2.994934864e-06,0) (1.202228621e-05,0) (-1.058791184e-22,0) (1.473351266e-07,0) (1.60672927e-06,0) (3.824359347e-07,0) (1.483102828e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566194e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (0,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-1.694065895e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (-6.776263578e-21,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (5.082197684e-21,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (0,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (-8.470329473e-22,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (0,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-1.270549421e-21,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (4.235164736e-22,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-8.470329473e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,-0.0006977515524) (-0.04299386424,-0.07446755728) (-0.007090582965,-0.01228124995) (-0.01874283661,-0.03246354529) (-0.0002534798879,-0.0004390400445) (6.808460863e-06,1.179260014e-05) (0.001218491756,0.00211048963) (0.001120069607,0.001940017466) (-7.702992143e-07,-1.334197376e-06) (0.001420036301,0.002459575022) (0.003079871323,0.005334493612) (-1.497289225e-06,-2.593381012e-06) (-0.0009844018759,-0.001705034064) (0.0002005515599,0.0003473654913) (2.589526051e-07,4.485190688e-07) (-9.179394658e-05,-0.0001589917793) (1.709241288e-05,2.960492753e-05) (2.461341544e-08,4.263168609e-08) (-0.0005075475471,-0.0008790981388) (0.0001125653912,0.0001949689767) (1.306577615e-07,2.263058812e-07) (0.0001311012957,0.0002270741051) (0.0001706747231,0.0002956172919) (-9.963682546e-08,-1.72576044e-07) (-0.0001322101708,-0.0002289947331) (2.533065632e-05,4.387398374e-05) (3.534207956e-08,6.121427745e-08) (3.566399888e-05,6.177185807e-05) (3.686250359e-05,6.384772911e-05) (-2.392364366e-08,-4.143696631e-08) (-7.485395282e-05,-0.0001296508494) (7.155927413e-06,1.239442985e-05) (2.264899878e-08,3.922921662e-08) (9.107253788e-06,1.577422628e-05) (2.532776104e-05,4.386896896e-05) (-1.151244726e-08,-1.994014357e-08) (-1.899134758e-05,-3.289397892e-05) (3.912341003e-07,6.776373393e-07) (6.342969012e-09,1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,0.02863872232) (-0.01481693702,-0.02566368773) (9.949706138e-05,0.0001723339655) (5.377938606e-05,9.314862906e-05) (-7.132203009e-05,-0.0001235333798) (-0.0002105623306,-0.0003647046547) (7.44529174e-05,0.0001289562357) (4.794629208e-05,8.304541391e-05) (-4.645234247e-05,-8.045781728e-05) (-2.113002537e-05,-3.65982775e-05) (6.508952823e-06,1.127383699e-05) (-2.782565142e-06,-4.819544201e-06) (-9.300181641e-06,-1.610838712e-05) (-0.01463285707,-0.0253448519) (2.616874833e-05,4.532560167e-05) (-0.002336540875,-0.00404700751) (0.001812179585,0.003138787114) (-2.272899548e-06,-3.936777498e-06) (-0.01319038986,-0.02284642541) (3.996000794e-05,6.921276402e-05) (-1.284453257e-08,-2.224738301e-08) (0.0004618297644,0.0007999126164) (-9.553607913e-07,-1.65473343e-06) (4.636983056e-10,8.031490246e-10) (5.524098285e-06,9.568018896e-06) (-1.086310209e-07,-1.881544475e-07) (-1.339854236e-05,-2.320695611e-05) (-0.000365141319,-0.0006324433165) (8.800808196e-10,1.524344694e-09) (2.84893946e-05,4.934507893e-05) (-0.0001517399338,-0.0002628212748) (-1.277053227e-10,-2.211921074e-10) (-2.208009141e-05,-3.824384015e-05) (0.0002236392519,0.0003873545469) (2.407892199e-08,4.170591628e-08) (-1.190479427e-09,-2.061970853e-09) (-3.154137007e-05,-5.46312555e-05) (-9.036164811e-11,-1.565109656e-10) (1.950696771e-06,3.378705918e-06) (-8.471154588e-05,-0.0001467247015) (-2.03076594e-11,-3.517389786e-11) (5.730243228e-08,9.925072411e-08) (-5.392190249e-06,-9.339547476e-06) (-3.658433149e-10,-6.336592089e-10) (-1.116528349e-06,-1.933883829e-06) (8.868127353e-06,1.536004714e-05) (-9.65577339e-11,-1.67242901e-10) (1.416117621e-06,2.452787669e-06) (-1.848146722e-05,-3.201084023e-05) (-4.754985347e-11,-8.235876209e-11) (1.592600314e-06,2.75846466e-06) (-1.728333755e-05,-2.993561877e-05) (1.517883041e-18,2.602085214e-18) (0.001421288335,0.002461743608) (-0.02866009467,-0.04964074012) (4.147852654e-05,7.184291538e-05) (-0.008490374326,-0.01470575971) (-8.131516294e-20,-1.626303259e-19) (-3.488083878e-05,-6.041538497e-05) (0.002604149643,0.004510519493) (-1.212696121e-06,-2.100451296e-06) (-0.001949014841,-0.003375792729) (5.082197684e-21,-1.355252716e-20) (-6.84819863e-07,-1.186142797e-06) (1.665488592e-05,2.88471086e-05) (-1.158052873e-08,-2.005806414e-08) (-0.0002638178336,-0.0004569458917) (-3.176373552e-22,-4.235164736e-22) (-3.213881516e-09,-5.566606076e-09) (1.951032757e-05,3.379287863e-05) (-5.044923245e-09,-8.738063381e-09) (1.02387175e-06,1.773397892e-06) (-7.623296525e-21,-2.371692252e-20) (-1.126062466e-07,-1.950397403e-07) (2.913830078e-10,5.046901739e-10) (1.392033993e-05,2.411073601e-05) (-0.0002210927651,-0.0003829439024) (-1.270549421e-21,0) (-6.274119749e-07,-1.086709418e-06) (1.575244907e-09,2.728404213e-09) (-2.951896633e-05,-5.112834946e-05) (0.0001121274987,0.0001942105247) (0,1.694065895e-21) (9.099122566e-07,1.576014259e-06) (-6.783673963e-09,-1.174966797e-08) (-4.63062193e-05,-8.020472453e-05) (9.03034606e-05,0.0001564101819) (2.01170325e-21,4.235164736e-22) (6.916940092e-07,1.198049167e-06) (-3.396487491e-09,-5.882888901e-09) (-8.287775515e-06,-1.435484827e-05) (-5.108477623e-05,-8.848142792e-05) (-1.905824131e-21,-1.694065895e-21) (5.895674323e-09,1.021160747e-08) (-1.532991602e-11,-2.655219342e-11) (2.033345566e-06,3.521857829e-06) (-2.71197858e-05,-4.697284689e-05) (6.088049308e-22,4.764560328e-22) (2.929347052e-08,5.073777927e-08) (-1.226739939e-10,-2.124775902e-10) (-8.152622709e-06,-1.412075675e-05) (1.185719849e-05,2.053727021e-05) (-5.29395592e-23,1.058791184e-22) (2.366362762e-11,4.098660533e-11) (2.030510961e-07,3.51694815e-07) (-5.516550356e-10,-9.554945499e-10) (-6.289741996e-06,-1.08941527e-05) (3.176373552e-22,-7.411538288e-22) (8.545604851e-08,1.480142178e-07) (-2.306127229e-10,-3.994329529e-10) (5.359197563e-06,9.282402468e-06) (-1.792223291e-05,-3.104221799e-05) (5.29395592e-23,6.352747104e-22) (4.463913472e-08,7.731724935e-08) (-1.130973968e-10,-1.958904374e-10) (1.567605963e-06,2.715173175e-06) (-8.255361831e-06,-1.429870613e-05) -(-0.02616144742,-0.04531295613) (-0.04013399248,-0.06951411408) (-0.002798563663,-0.004847254452) (0.004795750123,0.008306482873) (0.001429388891,0.002475774183) (-0.0006396043251,-0.001107827188) (-0.0002747846405,-0.0004759409585) (4.231850505e-05,7.329780085e-05) (9.721999344e-05,0.0001683899681) (-1.201980249e-05,-2.08189086e-05) (-1.024812465e-05,-1.775027258e-05) (-3.419704066e-06,-5.923101189e-06) (5.830153065e-06,1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424695399e-12,0) (-0.008719428334,0) (0.06301289739,0) (-4.33680869e-19,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138141033e-13,0) (-6.644558929e-05,0) (8.470329473e-22,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (-8.470329473e-22,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640454e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182211e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (1.058791184e-22,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (0,0) (-3.139926191e-09,0) (-5.790193243e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (8.470329473e-22,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556846e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808164e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-4.235164736e-22,0) (-2.091688994e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.21468247e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-7.589415207e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (2.710505431e-20,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (4.065758147e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (-6.776263578e-21,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (0,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (1.694065895e-21,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (8.470329473e-22,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (4.235164736e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (0,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (1.734723476e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-1.084202172e-18,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-1.694065895e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (6.776263578e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (3.388131789e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (0,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (1.058791184e-21,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-2.117582368e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-6.352747104e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566195e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (-6.776263578e-21,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-3.388131789e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (0,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (0,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (-3.388131789e-21,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (0,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (4.235164736e-22,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-8.470329473e-22,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (1.270549421e-21,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-4.235164736e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0.2370734683,0) (0.0006670533688,0) (0.004066218674,0) (0.0006820777545,0) (0.0005956356081,0) (8.044155541e-06,0) (9.655870575e-06,0) (6.831873609e-05,0) (4.382157398e-05,0) (1.591626787e-05,0) (1.652759785e-05,0) (1.94939596e-05,0) (1.491606603e-05,0) (3.877437899e-09,0) (0.000104543173,0) (0.3087228188,0) (0.0001062601308,0) (0.02189791074,0) (1.451237323e-09,0) (0.00101721631,0) (6.767884142e-05,0) (3.270019455e-11,0) (0.002703808895,0) (4.554381508e-05,0) (7.902103776e-11,0) (3.058225334e-05,0) (0.0002763177339,0) (1.071720204e-11,0) (1.677877475e-07,0) (1.554212663e-07,0) (1.046209416e-14,0) (9.935797639e-06,0) (6.792423503e-05,0) (2.685856042e-12,0) (0.0001254778854,0) (5.197168565e-06,0) (3.878416987e-12,0) (3.452071693e-06,0) (3.698293816e-05,0) (1.425830819e-12,0) (2.421919495e-05,0) (1.387963126e-06,0) (7.687789817e-13,0) (1.030262135e-06,0) (3.786694817e-05,0) (1.535265483e-12,0) (3.118113231e-05,0) (2.989431376e-07,0) (8.846582533e-13,0) (1.823523549e-07,0) (2.000685348e-05,0) (1.00557303e-12,0) (3.415236843e-18,0) (-4.33680869e-19,0) (0,0) (0.03787629397,0) (0.1290043371,0) (9.757819552e-19,0) (1.626303259e-19,0) (1.734723476e-18,0) (0.01166407464,0) (0.02777002614,0) (0,0) (-1.905824131e-21,0) (-6.776263578e-21,0) (0.0001520492622,0) (9.479976155e-05,0) (3.726944968e-20,0) (-1.016439537e-20,0) (0,0) (0.0005765989928,0) (0.002012299337,0) (3.30872245e-24,0) (-2.067951531e-24,0) (4.135903063e-25,0) (2.968303438e-07,0) (9.832055907e-08,0) (-1.058791184e-22,0) (3.97046694e-23,0) (-1.389663429e-22,0) (3.860134312e-07,0) (9.979758691e-06,0) (-1.694065895e-21,0) (4.235164736e-22,0) (-2.01170325e-21,0) (3.578750522e-05,0) (7.498366886e-05,0) (-2.488159283e-21,0) (5.29395592e-23,0) (8.470329473e-22,0) (1.02162398e-05,0) (6.854234909e-05,0) (-1.058791184e-22,0) (-9.264422861e-23,0) (0,0) (9.779609685e-07,0) (8.699365442e-06,0) (-2.117582368e-22,0) (-5.29395592e-23,0) (-1.32348898e-23,0) (4.056902711e-06,0) (8.419618364e-06,0) (0,0) (1.98523347e-23,0) (-1.032321404e-21,0) (5.202177913e-06,0) (1.997650936e-05,0) (5.29395592e-23,0) (-3.176373552e-22,0) (4.764560328e-22,0) (2.701400034e-06,0) (1.519803296e-05,0) (2.117582368e-22,0) (-3.30872245e-23,0) (4.566036981e-22,0) (2.43172997e-06,0) (8.192639034e-06,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (1.073506527e-10,0) (0.04541795873,0) (0.1725741146,0) (0.01007922853,0) (4.289735641e-10,0) (0.01096928929,0) (5.737094057e-05,0) (1.333779821e-12,0) (6.161287463e-05,0) (4.444852922e-08,0) (1.969247442e-15,0) (4.145795013e-08,0) (1.730393003e-13,0) (0.0001003702013,0) (0.0001160749593,0) (5.79959204e-05,0) (1.968726167e-12,0) (0.000456033966,0) (4.122042944e-13,0) (0.0001878179395,0) (0.0003229003659,0) (1.646882568e-13,0) (1.410595769e-05,0) (0.0002999456081,0) (5.102445159e-14,0) (6.696096688e-05,0) (0.0001183515028,0) (8.984760364e-14,0) (5.83628165e-07,0) (0.0001427988773,0) (2.344464954e-06,0) (1.402501907e-15,0) (0.0001207276869,0) (4.655188215e-14,0) (6.221369806e-06,0) (0.0001060713667,0) (3.292207679e-14,0) (1.583941041e-06,0) (9.971418463e-05,0) (-4.33680869e-18,0) (0.009429544937,0) (1.5840107e-13,0) (0.0005109923468,0) (0.194759507,0) (2.710505431e-19,0) (0.002555581156,0) (0.005067391794,0) (1.942355678e-10,0) (0.0004409201741,0) (-3.388131789e-21,0) (2.942625463e-05,0) (5.654394068e-05,0) (2.071868796e-12,0) (8.037295849e-06,0) (-1.058791184e-22,0) (7.348914505e-07,0) (3.230829218e-06,0) (6.964797294e-14,0) (1.567816421e-07,0) (-1.355252716e-20,0) (0.000113937913,0) (0.0001851425888,0) (2.781457311e-11,0) (2.999024015e-05,0) (-6.776263578e-21,0) (1.52722285e-05,0) (1.871511688e-11,0) (0.0005040683449,0) (5.02024039e-05,0) (-1.016439537e-20,0) (1.211469523e-05,0) (6.023879719e-13,0) (0.0001599166819,0) (0.0002441829949,0) (-1.355252716e-20,0) (4.063106018e-06,0) (2.623064153e-13,0) (0.000205223284,0) (3.30332097e-05,0) (2.733646717e-08,0) (8.470329473e-22,0) (4.552654708e-15,0) (0.000111644296,0) (2.711731612e-05,0) (-6.776263578e-21,0) (1.172473665e-06,0) (1.533275629e-13,0) (1.278860789e-05,0) (9.776751272e-05,0) (2.541098842e-21,0) (1.709717327e-06,0) (1.530464362e-07,0) (1.424655546e-13,0) (0.0001104626914,0) (8.6197615e-07,0) (-2.964615315e-21,0) (6.739760524e-14,0) (2.211632354e-05,0) (7.515207224e-05,0) (4.65868121e-21,0) (6.315078598e-07,0) (3.652790367e-14,0) (1.2355385e-07,0) (8.266795114e-05,0) -(-0.12111549,-0.2097781823) (-0.0005607657229,-0.0009712747232) (-0.002000518664,-0.003464999967) (-0.0004075616168,-0.0007059174275) (-0.0002729746153,-0.0004728059028) (-1.278868443e-06,-2.21506512e-06) (-6.037625137e-06,-1.045747349e-05) (-3.526857492e-05,-6.108696368e-05) (-1.932297171e-05,-3.346836876e-05) (-7.415213061e-06,-1.284352577e-05) (-8.572210917e-06,-1.484750484e-05) (-9.354879707e-06,-1.620312695e-05) (-6.899174245e-06,-1.194972032e-05) (-8.71432143e-08,-1.509364747e-07) (-0.002819411596,-0.004883364132) (0.01502942923,0.02603173503) (0.0008700924344,0.001507044304) (0.0001228246921,0.0002127386071) (7.320806353e-10,1.268000856e-09) (0.0001192873191,0.0002066116974) (-8.929992509e-05,-0.0001546720074) (1.373510757e-11,2.378990418e-11) (0.000299626932,0.0005189690695) (-0.0001838490925,-0.0003184359691) (5.231009419e-11,9.060374093e-11) (3.300273741e-05,5.716241798e-05) (-2.446401255e-05,-4.237291269e-05) (4.222108033e-12,7.312905615e-12) (2.383089031e-07,4.12763128e-07) (-2.03263699e-07,-3.52063054e-07) (1.663957862e-14,2.882059555e-14) (1.598075748e-05,2.767948389e-05) (-1.228323086e-05,-2.127517993e-05) (1.819532649e-12,3.151522991e-12) (1.701272271e-05,2.946690011e-05) (-1.203371311e-05,-2.08430025e-05) (2.268351531e-12,3.928900099e-12) (4.63149072e-06,8.021977241e-06) (-3.344313848e-06,-5.792521501e-06) (6.401746952e-13,1.1088151e-12) (3.782440103e-06,6.551378435e-06) (-2.784982798e-06,-4.823731704e-06) (4.566111209e-13,7.908736621e-13) (3.233764025e-06,5.601043591e-06) (-1.652550646e-06,-2.862301681e-06) (8.418017035e-13,1.458043318e-12) (2.598776547e-06,4.501213017e-06) (-1.422702445e-06,-2.464192919e-06) (5.27927159e-13,9.14396661e-13) (8.817371997e-07,1.527213629e-06) (-1.45942524e-07,-2.527798665e-07) (4.485466415e-13,7.769055717e-13) (2.331034671e-18,7.806255642e-18) (8.67361738e-19,-1.734723476e-18) (0,1.301042607e-18) (-0.02060375576,-0.0356867518) (0.06045012766,0.1047026924) (-1.084202172e-19,-2.168404345e-19) (-1.084202172e-19,-4.33680869e-19) (4.33680869e-19,0) (-0.005297526462,-0.009175584986) (0.01558567133,0.02699517461) (0,0) (0,-1.694065895e-21) (0,-6.776263578e-21) (-2.702014961e-05,-4.680027195e-05) (0.0001359807469,0.0002355255625) (1.355252716e-20,6.776263578e-21) (-6.776263578e-21,0) (3.388131789e-21,-1.355252716e-20) (-0.0003173531288,-0.0005496717431) (0.0009319561715,0.001614195439) (1.32348898e-23,-2.64697796e-23) (9.926167351e-24,2.64697796e-23) (-6.6174449e-24,1.32348898e-23) (1.10762366e-08,1.918460455e-08) (-6.716194071e-07,-1.163278936e-06) (0,-1.058791184e-22) (-1.32348898e-23,-7.940933881e-23) (-1.852884572e-22,-1.058791184e-22) (-4.754822232e-07,-8.235593687e-07) (2.065183874e-06,3.577003397e-06) (0,0) (4.235164736e-22,-5.29395592e-22) (8.470329473e-22,2.541098842e-21) (-1.517604603e-05,-2.628568279e-05) (4.50724991e-05,7.806785847e-05) (-1.588186776e-21,-2.223461487e-21) (-2.117582368e-22,-1.058791184e-22) (0,4.235164736e-22) (-7.538565652e-06,-1.305717873e-05) (2.367733081e-05,4.101033996e-05) (5.95570041e-23,3.97046694e-23) (7.940933881e-23,1.058791184e-22) (0,0) (-8.103564901e-07,-1.403578613e-06) (2.67611154e-06,4.635161153e-06) (-2.64697796e-22,-3.176373552e-22) (-1.852884572e-22,-2.117582368e-22) (0,0) (-1.711417653e-06,-2.964262327e-06) (5.087485249e-06,8.811782933e-06) (-1.058791184e-22,4.235164736e-22) (-1.98523347e-23,-2.117582368e-22) (-2.117582368e-22,5.29395592e-23) (-2.996110319e-06,-5.189415297e-06) (8.841353425e-06,1.531367334e-05) (5.29395592e-23,0) (1.058791184e-22,0) (-3.176373552e-22,-4.235164736e-22) (-1.848699751e-06,-3.202041897e-06) (5.660846895e-06,9.804874436e-06) (-1.058791184e-22,0) (3.30872245e-23,-5.95570041e-23) (2.34919294e-22,-1.588186776e-22) (-1.315863121e-06,-2.279141781e-06) (3.859226647e-06,6.68437663e-06) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1395541466,0.2417148723) (-0.01357903408,0.02351957694) (0.01423099906,-0.02464881341) (0.004074510377,-0.007057258989) (-0.001425660096,0.00246931572) (1.975203663e-05,-3.4211531e-05) (-5.71653615e-06,9.901331055e-06) (-7.743450601e-05,0.0001341204987) (6.633973277e-05,-0.0001149037877) (-4.268839373e-05,7.393846683e-05) (3.706007127e-05,-6.418992637e-05) (-2.936722707e-05,5.086552936e-05) (1.515866188e-05,-2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,0.102295252) (0.003122660326,-0.005408606339) (0.001450134843,-0.002511707226) (-1.663179087e-05,2.88071068e-05) (-5.691193611e-05,9.85743649e-05) (4.320980191e-06,-7.484157229e-06) (-1.508217198e-05,2.612308816e-05) (-5.052939195e-06,8.751947413e-06) (-3.798238809e-06,6.578742597e-06) (-1.228729791e-05,2.128222427e-05) (-6.964894952e-06,1.206355193e-05) (-2.032950537e-06,3.521173619e-06) (-3.820457386e-06,6.6172263e-06) (0.005175592884,-0.008964389834) (5.304917151e-09,-9.188386021e-09) (-0.09224965312,0.1597810862) (-0.0001541485888,0.0002669931877) (1.707308574e-10,-2.957145206e-10) (0.01114537494,-0.01930435567) (2.347871873e-06,-4.066633374e-06) (-7.561107841e-13,1.309622251e-12) (0.000246935527,-0.000427704879) (-1.387241408e-07,2.402772602e-07) (-6.941934646e-14,1.20237835e-13) (-5.376045784e-06,9.311584441e-06) (-7.712042081e-13,1.335764869e-12) (8.292123503e-08,-1.436237921e-07) (-4.795061678e-05,8.305290452e-05) (-4.456588466e-15,7.71903793e-15) (-4.108193539e-07,7.115599937e-07) (3.307487654e-06,-5.728736662e-06) (2.981602561e-15,-5.164290423e-15) (1.947461171e-06,-3.373101694e-06) (-2.748230891e-05,4.760075535e-05) (-1.069619489e-08,1.8526353e-08) (7.219598505e-15,-1.25047114e-14) (3.005871758e-06,-5.206322606e-06) (-2.336955431e-15,4.047724815e-15) (8.74177065e-07,-1.514119091e-06) (-1.502558212e-05,2.602507165e-05) (1.117880202e-16,-1.936207203e-16) (2.783083705e-06,-4.820442378e-06) (-2.210803363e-05,3.82922375e-05) (1.37753808e-13,-2.385965945e-13) (4.150521297e-07,-7.188913765e-07) (-5.857532454e-06,1.014554382e-05) (-2.638813198e-15,4.570558867e-15) (4.927792809e-07,-8.535187514e-07) (-3.782800919e-06,6.552003387e-06) (-2.398416777e-15,4.154179493e-15) (1.233592183e-06,-2.136644337e-06) (-8.538607507e-06,1.478930203e-05) (5.421010862e-19,-4.662069342e-18) (0.0007200330219,-0.001247133777) (-0.0001878309588,0.0003253327639) (3.990106785e-09,-6.911067683e-09) (-0.03195096622,0.05534069685) (6.640738306e-19,-3.252606517e-19) (-2.330564706e-05,4.036656481e-05) (0.0007153114482,-0.001238955771) (2.662361387e-10,-4.611345192e-10) (0.003245375324,-0.005621154951) (-8.205631677e-22,-1.058791184e-22) (6.095239344e-10,-1.055726423e-09) (-3.44128403e-08,5.960478783e-08) (7.464270367e-14,-1.292849554e-13) (1.059566382e-05,-1.835222807e-05) (2.117582368e-22,-2.117582368e-21) (-1.888476037e-09,3.270936446e-09) (8.862191923e-06,-1.534976668e-05) (-1.368859681e-12,2.370934516e-12) (6.318959677e-06,-1.094475921e-05) (-6.021874859e-22,3.044024654e-22) (7.446402637e-11,-1.28975477e-10) (-1.079534492e-15,1.869808926e-15) (-7.090290898e-08,1.228074408e-07) (4.706497865e-06,-8.151893428e-06) (-1.058791184e-22,-1.164670302e-21) (1.33340407e-08,-2.309523596e-08) (-4.12556043e-14,7.145680375e-14) (6.800887061e-06,-1.177948193e-05) (-1.445470366e-05,2.503628115e-05) (6.6174449e-23,-1.488925103e-22) (1.436655647e-09,-2.488360574e-09) (2.776996631e-14,-4.80989927e-14) (3.119865907e-07,-5.403766263e-07) (-1.632104712e-06,2.826888284e-06) (-1.257314531e-22,4.367513634e-22) (-4.064786482e-09,7.040416709e-09) (2.252897883e-14,-3.90213359e-14) (-3.398791457e-07,5.886879487e-07) (1.948638818e-06,-3.375141438e-06) (3.441071348e-22,-1.111730743e-21) (2.900715708e-10,-5.024186985e-10) (-8.107032806e-16,1.404180303e-15) (1.611039988e-06,-2.790403113e-06) (-1.070561973e-05,1.854267731e-05) (3.97046694e-23,-1.32348898e-22) (6.102102725e-09,-1.056915195e-08) (1.654781322e-14,-2.866165396e-14) (4.947043268e-06,-8.568530288e-06) (-1.021949476e-05,1.770068415e-05) (2.55909002e-24,-1.80945759e-24) (4.489881054e-12,-7.776702106e-12) (-2.191745498e-09,3.79621456e-09) (-9.634049096e-17,1.668666263e-16) (-1.590204424e-08,2.754314857e-08) (-1.124965633e-22,2.316105715e-22) (3.879285887e-09,-6.719120253e-09) (-8.60107949e-15,1.489750647e-14) (1.863843086e-06,-3.228270922e-06) (-3.791159118e-06,6.566480212e-06) (9.264422861e-23,-1.191140082e-22) (8.070512659e-09,-1.397853797e-08) (-9.550114633e-15,1.654128365e-14) (1.512581421e-06,-2.619867872e-06) (-4.456953971e-06,7.719670724e-06) -(-0.1378654839,0.2387900227) (-0.0169245535,0.02931418655) (0.0167882116,-0.02907803547) (0.002856832998,-0.004948179901) (-0.001021264037,0.001768881199) (-6.261071557e-05,0.0001084449405) (-5.097302548e-05,8.828786994e-05) (5.211057454e-06,-9.025816272e-06) (-1.563957284e-05,2.708853477e-05) (1.958875962e-05,-3.392872691e-05) (-7.901662008e-06,1.368608006e-05) (1.11827671e-06,-1.936912078e-06) (-3.986478569e-06,6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,0.0005191289988) (0.09925944203,-0.1719223967) (0.0005701036329,-0.0009874484577) (0.03744131566,-0.06485026102) (-1.08363822e-05,1.876916455e-05) (5.12637978e-06,-8.879150237e-06) (-0.0004333454456,0.000750576329) (-0.004174757703,0.007230892451) (-5.79928862e-07,1.004466254e-06) (-0.0003092991382,0.0005357218221) (-0.008557666191,0.01482231264) (-1.127253589e-06,1.952460489e-06) (0.001441927363,-0.002497491453) (0.0001026368809,-0.0001777722925) (1.949578464e-07,-3.376768953e-07) (7.957927152e-05,-0.0001378353415) (6.761905753e-05,-0.0001171196432) (1.853059582e-08,-3.209593345e-08) (0.0007081325001,-0.001226521469) (7.017291895e-05,-0.0001215430609) (9.836838076e-08,-1.703790333e-07) (-3.926527806e-05,6.800945657e-05) (-0.000555379596,0.0009619456778) (-7.501276439e-08,1.299259191e-07) (0.0001990917172,-0.0003448369695) (1.15125293e-05,-1.994028567e-05) (2.660804959e-08,-4.608649378e-08) (-1.201453687e-05,2.080978829e-05) (-0.0001308978504,0.0002267217275) (-1.801120482e-08,3.119632186e-08) (0.0001320177961,-0.0002286615304) (1.379282385e-06,-2.388987168e-06) (1.705203038e-08,-2.953498298e-08) (-1.642038463e-06,2.844094046e-06) (-6.621122398e-05,0.000114681204) (-8.667301526e-09,1.501220661e-08) (3.661879991e-05,-6.342562196e-05) (3.18796139e-08,-5.521711101e-08) (4.775645764e-09,-8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,0.00159926779) (0.0008274199475,-0.001433133388) (-5.55619918e-06,9.623619276e-06) (-3.00319403e-06,5.201684645e-06) (3.982825217e-06,-6.898455633e-06) (1.175840002e-05,-2.036614625e-05) (-4.157662878e-06,7.201283346e-06) (-2.677457455e-06,4.637492347e-06) (2.594031055e-06,-4.492993584e-06) (1.179960774e-06,-2.043752012e-06) (-3.634784569e-07,6.295631548e-07) (1.553863596e-07,-2.691370696e-07) (5.193486208e-07,-8.995381981e-07) (0.03245066753,-0.05620620491) (1.973358379e-05,-3.417956974e-05) (0.003074044889,-0.005324401932) (-0.003612640396,0.006257276715) (-1.712840758e-06,2.966727218e-06) (0.0006726502744,-0.001165064451) (-7.897721341e-05,0.0001367925463) (-9.66799994e-09,1.67454671e-08) (-2.492556751e-05,4.317234933e-05) (2.421005667e-06,-4.19330482e-06) (3.489741388e-10,-6.044409389e-10) (-3.762967448e-07,6.517650808e-07) (-8.094592238e-08,1.402024502e-07) (3.136037117e-05,-5.431775621e-05) (2.045657133e-05,-3.54318209e-05) (6.618798767e-10,-1.146409575e-09) (-2.146830323e-05,3.718419194e-05) (8.675245077e-07,-1.502596524e-06) (-9.606141336e-11,1.663832486e-10) (1.456791745e-05,-2.523237319e-05) (-1.076291122e-05,1.864190907e-05) (1.04629614e-07,-1.812238073e-07) (-8.956602146e-10,1.551328998e-09) (2.547207111e-05,-4.411892133e-05) (-6.797765478e-11,1.177407519e-10) (6.283968979e-06,-1.088415354e-05) (5.35510915e-06,-9.275321128e-06) (-1.527935823e-11,2.646462476e-11) (1.016270017e-06,-1.760231303e-06) (2.862275528e-06,-4.95760664e-06) (-2.747461897e-10,4.758743597e-10) (7.443505779e-07,-1.28925302e-06) (4.771932706e-06,-8.265229897e-06) (-7.264500146e-11,1.258248334e-10) (1.575517403e-06,-2.728876191e-06) (4.761717681e-06,-8.247536954e-06) (-3.577407697e-11,6.196251891e-11) (1.541553266e-06,-2.67004858e-06) (3.194233381e-06,-5.532574508e-06) (0,-2.602085214e-18) (-0.002729426434,0.004727505259) (0.06324356095,-0.1095410608) (3.126494954e-05,-5.415248111e-05) (0.0002650767828,-0.0004591264557) (5.421010862e-20,1.084202172e-19) (0.0001065037686,-0.0001844699384) (-0.006663150733,0.01154091561) (-9.127041456e-07,1.580849952e-06) (0.0002416297276,-0.0004185149648) (-4.235164736e-22,8.470329473e-22) (1.483669546e-06,-2.569791035e-06) (-3.500462032e-05,6.06297809e-05) (-8.719713196e-09,1.510298628e-08) (1.471765147e-05,-2.549172011e-05) (0,1.694065895e-21) (6.08483442e-09,-1.053924237e-08) (-3.835660981e-05,6.643559699e-05) (-3.797649481e-09,6.577721851e-09) (1.178686968e-06,-2.041545716e-06) (-1.058791184e-21,4.235164736e-22) (2.4179593e-07,-4.188028358e-07) (2.191988206e-10,-3.796634942e-10) (-2.364132934e-05,4.094798358e-05) (1.230236002e-05,-2.130831261e-05) (-8.470329473e-22,-8.470329473e-22) (1.181594739e-06,-2.046582122e-06) (1.185010832e-09,-2.052498968e-09) (-4.056713351e-05,7.026433636e-05) (-2.316881374e-05,4.012956255e-05) (4.235164736e-22,-1.694065895e-21) (-2.188570265e-06,3.790714895e-06) (-5.101434888e-09,8.835944417e-09) (6.486224796e-05,-0.000112344709) (-2.66489559e-06,4.61573456e-06) (4.235164736e-22,-1.694065895e-21) (-1.304105758e-06,2.258777432e-06) (-2.554688277e-09,4.424849894e-09) (3.739300532e-05,-6.476658507e-05) (4.052238551e-06,-7.018683054e-06) (5.29395592e-23,2.117582368e-22) (-1.147182595e-08,1.986978541e-08) (-1.153315372e-11,1.997600821e-11) (4.290322277e-06,-7.431056164e-06) (1.630475981e-06,-2.824067239e-06) (-1.058791184e-22,3.176373552e-22) (-8.329871479e-08,1.442776062e-07) (-9.227744456e-11,1.598292224e-10) (3.112744687e-06,-5.391431949e-06) (4.610680091e-06,-7.985932175e-06) (1.058791184e-22,-6.352747104e-22) (-4.072151729e-12,7.053173691e-12) (-4.732118624e-07,8.196269885e-07) (-4.150544398e-10,7.188953777e-10) (1.376158085e-05,-2.383575722e-05) (3.176373552e-22,-3.176373552e-22) (-1.530521796e-07,2.650941513e-07) (-1.73488401e-10,3.004907251e-10) (5.513119534e-06,-9.54900314e-06) (4.337960104e-06,-7.513567301e-06) (-2.64697796e-22,0) (-7.700519144e-08,1.33376904e-07) (-8.508942103e-11,1.473792004e-10) (6.216831785e-07,-1.076786851e-06) (6.222146986e-06,-1.077707471e-05) -(0.05157424969,-0.08932922082) (0.07911949656,-0.1370389879) (0.005517042647,-0.009555798172) (-0.009454263379,0.01637526452) (-0.002817873889,0.004880700745) (0.001260905509,-0.002183952404) (0.0005417059474,-0.0009382622237) (-8.342600894e-05,0.0001444980862) (-0.0001916579055,0.0003319612299) (2.369564209e-05,-4.104205603e-05) (2.020298538e-05,-3.499259714e-05) (6.741548682e-06,-1.167670484e-05) (-1.149346843e-05,1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,-0.0005263748085) (0.04090131005,-0.07084314711) (-0.00883687416,0.01530591502) (0.01252654015,-0.02169660398) (-0.000346879798,0.0006008134342) (-5.135379222e-06,8.894737729e-06) (0.001183168129,-0.002049307314) (-0.00268255013,0.004646313118) (5.808926845e-07,-1.006135643e-06) (0.001574284488,-0.002726740719) (-0.004459427703,0.007723955355) (1.129113895e-06,-1.955682633e-06) (0.0001341706355,-0.0002323903576) (0.0003683995724,-0.0006380867769) (-1.952858243e-07,3.382449696e-07) (-4.227609596e-05,7.322434614e-05) (9.017141291e-05,-0.0001561814685) (-1.85615821e-08,3.214960327e-08) (3.392569073e-05,-5.876102003e-05) (0.0002193194444,-0.0003798724208) (-9.853361838e-08,1.706652333e-07) (0.0001346486464,-0.0002332182967) (-0.0003281340941,0.0005683449226) (7.513718213e-08,-1.30141417e-07) (2.344440262e-05,-4.060689649e-05) (4.508202613e-05,-7.808435976e-05) (-2.665283983e-08,4.616407275e-08) (3.529806653e-05,-6.113804464e-05) (-8.179885248e-05,0.0001416797685) (1.80411161e-08,-3.12481297e-08) (3.253944728e-05,-5.635997594e-05) (1.08655697e-05,-1.881971877e-05) (-1.708094113e-08,2.958505788e-08) (1.043761257e-05,-1.807847528e-05) (-3.251583845e-05,5.631908425e-05) (8.68155776e-09,-1.503689913e-08) (1.137503137e-05,-1.970213227e-05) (5.505628404e-07,-9.536028123e-07) (-4.783889003e-09,8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,-0.03639567249) (-0.01883018317,0.03261483397) (0.0001264463693,-0.0002190115361) (6.834581865e-05,-0.0001183784304) (-9.063998106e-05,0.0001569930524) (-0.0002675942571,0.0004634868491) (9.461888584e-05,-0.0001638847176) (6.093280015e-05,-0.0001055387057) (-5.903420635e-05,0.0001022502448) (-2.685320506e-05,4.65111155e-05) (8.271937295e-06,-1.432741567e-05) (-3.536237701e-06,6.124943366e-06) (-1.181918528e-05,2.04714294e-05) (0.01305259065,-0.02260775017) (-1.972421406e-05,3.41633409e-05) (-3.139793852e-05,5.438282477e-05) (-0.001208003877,0.002092324091) (1.712798772e-06,-2.966654497e-06) (-0.01682721675,0.02914559437) (-2.585942318e-05,4.47898348e-05) (9.67925942e-09,-1.67649691e-08) (0.0005877851435,-0.001018073733) (1.150133528e-06,-1.992089707e-06) (-3.493905947e-10,6.051622618e-10) (6.952941289e-06,-1.204284757e-05) (8.190971413e-08,-1.418717865e-07) (1.32217184e-05,-2.290068804e-05) (-0.0004639768554,0.0008036314871) (-6.629958665e-10,1.148342526e-09) (1.637002792e-05,-2.835372008e-05) (-0.0002004334016,0.0003471608352) (9.621648201e-11,-1.666518354e-10) (-1.475131992e-05,2.555003558e-05) (0.0002859360877,-0.0004952558317) (1.363844101e-07,-2.362247277e-07) (8.972964103e-10,-1.554162972e-09) (-1.642133626e-05,2.844258873e-05) (6.808895039e-11,-1.179335215e-10) (8.86002333e-06,-1.534601056e-05) (-0.0001070329349,0.0001853864814) (1.530817236e-11,-2.651453229e-11) (1.09037461e-06,-1.888584223e-06) (-4.296340024e-06,7.441479207e-06) (2.752512015e-10,-4.767490659e-10) (-7.394344286e-07,1.280737999e-06) (1.652763697e-05,-2.862670696e-05) (7.276235857e-11,-1.260281019e-10) (3.451371935e-06,-5.977951547e-06) (-1.976500436e-05,3.423399176e-05) (3.583427253e-11,-6.206678068e-11) (3.65150322e-06,-6.3245891e-06) (-1.973991048e-05,3.419052789e-05) (0,0) (-0.0008395542634,0.00145415064) (0.02522679048,-0.04369408282) (-3.126224837e-05,5.414780254e-05) (-0.01100183246,0.01905573281) (-1.084202172e-19,5.421010862e-20) (6.005470316e-05,-0.0001040177971) (-0.003199103504,0.005541009808) (9.138118664e-07,-1.582768581e-06) (-0.002344817337,0.004061342763) (2.710505431e-20,-5.675120747e-20) (5.727926757e-07,-9.921060165e-07) (-1.287812239e-05,2.230556228e-05) (8.725406379e-09,-1.511284716e-08) (-0.000335289152,0.0005807378464) (-2.117582368e-22,4.235164736e-22) (1.81243952e-09,-3.139237334e-09) (-1.242058352e-05,2.151308171e-05) (3.802120767e-09,-6.585466345e-09) (2.538152278e-06,-4.396208702e-06) (1.905824131e-20,-3.811648263e-20) (9.202421743e-08,-1.593906201e-07) (-2.195446888e-10,3.802625555e-10) (-5.129786172e-06,8.885050281e-06) (-0.0002810210377,0.0004867427153) (0,-4.235164736e-22) (3.473961335e-07,-6.017077536e-07) (-1.186831509e-09,2.055652473e-09) (-7.965351864e-05,0.0001379639413) (0.0001256283905,-0.0002175947552) (-3.599890026e-21,2.541098842e-21) (-9.779151322e-07,1.693798695e-06) (5.110513569e-09,-8.851669155e-09) (3.289864391e-06,-5.698212276e-06) (0.0001171394555,-0.0002028914885) (6.564505341e-21,-8.046812999e-21) (-3.844266251e-07,6.658464465e-07) (2.55914016e-09,-4.432560781e-09) (2.632175311e-05,-4.559061372e-05) (-6.372623528e-05,0.0001103770773) (0,2.117582368e-22) (-3.632365662e-09,6.291441879e-09) (1.155167341e-11,-2.000808525e-11) (6.979756536e-06,-1.208929295e-05) (-3.434954941e-05,5.94951648e-05) (5.823351512e-22,-8.470329473e-22) (-4.430089943e-08,7.673140864e-08) (9.242620673e-11,-1.60086886e-10) (-7.708935966e-06,1.335226877e-05) (2.033211796e-05,-3.521626133e-05) (0,1.058791184e-22) (2.732028175e-11,-4.732011607e-11) (-2.030819374e-07,3.517482337e-07) (4.158427398e-10,-7.202607533e-10) (5.390575629e-06,-9.336750872e-06) (-2.117582368e-22,1.694065895e-21) (-3.944424504e-08,6.831943648e-08) (1.737627841e-10,-3.009659705e-10) (1.261265833e-05,-2.184576504e-05) (-1.944658249e-05,3.36824689e-05) (2.911675756e-22,-1.032321404e-21) (-1.766566272e-08,3.059782538e-08) (8.522954168e-11,-1.476218965e-10) (2.700280003e-06,-4.67702216e-06) (-4.74143023e-06,8.212398059e-06) -(0.01677258801,-0.02905097462) (0.02573064519,-0.04456678478) (0.001794210947,-0.00310766452) (-0.003074644141,0.005325439867) (-0.0009164076666,0.001587264639) (0.0004100621676,-0.0007102485086) (0.0001761695175,-0.000305134555) (-2.713117662e-05,4.699257638e-05) (-6.232953669e-05,0.0001079579244) (7.706117781e-06,-1.334738753e-05) (6.57026234e-06,-1.138002819e-05) (2.192435553e-06,-3.797409769e-06) (-3.737819008e-06,6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,0.0006977515524) (-0.04299386424,0.07446755728) (-0.007090582965,0.01228124995) (-0.01874283661,0.03246354529) (-0.0002534798879,0.0004390400445) (6.808460863e-06,-1.179260014e-05) (0.001218491756,-0.00211048963) (0.001120069607,-0.001940017466) (-7.702992143e-07,1.334197376e-06) (0.001420036301,-0.002459575022) (0.003079871323,-0.005334493612) (-1.497289225e-06,2.593381012e-06) (-0.0009844018759,0.001705034064) (0.0002005515599,-0.0003473654913) (2.589526051e-07,-4.485190688e-07) (-9.179394658e-05,0.0001589917793) (1.709241288e-05,-2.960492753e-05) (2.461341544e-08,-4.263168609e-08) (-0.0005075475471,0.0008790981388) (0.0001125653912,-0.0001949689767) (1.306577615e-07,-2.263058812e-07) (0.0001311012957,-0.0002270741051) (0.0001706747231,-0.0002956172919) (-9.963682546e-08,1.72576044e-07) (-0.0001322101708,0.0002289947331) (2.533065632e-05,-4.387398374e-05) (3.534207956e-08,-6.121427745e-08) (3.566399888e-05,-6.177185807e-05) (3.686250359e-05,-6.384772911e-05) (-2.392364366e-08,4.143696631e-08) (-7.485395282e-05,0.0001296508494) (7.155927413e-06,-1.239442985e-05) (2.264899878e-08,-3.922921662e-08) (9.107253788e-06,-1.577422628e-05) (2.532776104e-05,-4.386896896e-05) (-1.151244726e-08,1.994014357e-08) (-1.899134758e-05,3.289397892e-05) (3.912341003e-07,-6.776373393e-07) (6.342969012e-09,-1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,-0.02863872232) (-0.01481693702,0.02566368773) (9.949706138e-05,-0.0001723339655) (5.377938606e-05,-9.314862906e-05) (-7.132203009e-05,0.0001235333798) (-0.0002105623306,0.0003647046547) (7.44529174e-05,-0.0001289562357) (4.794629208e-05,-8.304541391e-05) (-4.645234247e-05,8.045781728e-05) (-2.113002537e-05,3.65982775e-05) (6.508952823e-06,-1.127383699e-05) (-2.782565142e-06,4.819544201e-06) (-9.300181641e-06,1.610838712e-05) (-0.01463285707,0.0253448519) (2.616874833e-05,-4.532560167e-05) (-0.002336540875,0.00404700751) (0.001812179585,-0.003138787114) (-2.272899548e-06,3.936777498e-06) (-0.01319038986,0.02284642541) (3.996000794e-05,-6.921276402e-05) (-1.284453257e-08,2.224738301e-08) (0.0004618297644,-0.0007999126164) (-9.553607913e-07,1.65473343e-06) (4.636983056e-10,-8.031490246e-10) (5.524098285e-06,-9.568018896e-06) (-1.086310209e-07,1.881544475e-07) (-1.339854236e-05,2.320695611e-05) (-0.000365141319,0.0006324433165) (8.800808196e-10,-1.524344694e-09) (2.84893946e-05,-4.934507893e-05) (-0.0001517399338,0.0002628212748) (-1.277053227e-10,2.211921074e-10) (-2.208009141e-05,3.824384015e-05) (0.0002236392519,-0.0003873545469) (2.407892199e-08,-4.170591628e-08) (-1.190479427e-09,2.061970853e-09) (-3.154137007e-05,5.46312555e-05) (-9.036164811e-11,1.565109656e-10) (1.950696771e-06,-3.378705918e-06) (-8.471154588e-05,0.0001467247015) (-2.03076594e-11,3.517389786e-11) (5.730243228e-08,-9.925072411e-08) (-5.392190249e-06,9.339547476e-06) (-3.658433149e-10,6.336592089e-10) (-1.116528349e-06,1.933883829e-06) (8.868127353e-06,-1.536004714e-05) (-9.65577339e-11,1.67242901e-10) (1.416117621e-06,-2.452787669e-06) (-1.848146722e-05,3.201084023e-05) (-4.754985347e-11,8.235876209e-11) (1.592600314e-06,-2.75846466e-06) (-1.728333755e-05,2.993561877e-05) (1.734723476e-18,-8.67361738e-19) (0.001421288335,-0.002461743608) (-0.02866009467,0.04964074012) (4.147852654e-05,-7.184291538e-05) (-0.008490374326,0.01470575971) (-8.131516294e-20,-2.710505431e-20) (-3.488083878e-05,6.041538497e-05) (0.002604149643,-0.004510519493) (-1.212696121e-06,2.100451296e-06) (-0.001949014841,0.003375792729) (6.776263578e-21,-1.43995601e-20) (-6.84819863e-07,1.186142797e-06) (1.665488592e-05,-2.88471086e-05) (-1.158052873e-08,2.005806414e-08) (-0.0002638178336,0.0004569458917) (-3.176373552e-22,0) (-3.213881516e-09,5.566606076e-09) (1.951032757e-05,-3.379287863e-05) (-5.044923245e-09,8.738063381e-09) (1.02387175e-06,-1.773397892e-06) (4.235164736e-21,2.541098842e-21) (-1.126062466e-07,1.950397403e-07) (2.913830078e-10,-5.046901739e-10) (1.392033993e-05,-2.411073601e-05) (-0.0002210927651,0.0003829439024) (-4.023406499e-21,3.388131789e-21) (-6.274119749e-07,1.086709418e-06) (1.575244907e-09,-2.728404213e-09) (-2.951896633e-05,5.112834946e-05) (0.0001121274987,-0.0001942105247) (-2.117582368e-22,5.082197684e-21) (9.099122566e-07,-1.576014259e-06) (-6.783673963e-09,1.174966797e-08) (-4.63062193e-05,8.020472453e-05) (9.03034606e-05,-0.0001564101819) (1.058791184e-22,-1.694065895e-21) (6.916940092e-07,-1.198049167e-06) (-3.396487491e-09,5.882888901e-09) (-8.287775515e-06,1.435484827e-05) (-5.108477623e-05,8.848142792e-05) (-8.999725065e-22,3.176373552e-21) (5.895674323e-09,-1.021160747e-08) (-1.532991602e-11,2.655219342e-11) (2.033345566e-06,-3.521857829e-06) (-2.71197858e-05,4.697284689e-05) (2.911675756e-22,-3.176373552e-22) (2.929347052e-08,-5.073777927e-08) (-1.226739939e-10,2.124775902e-10) (-8.152622709e-06,1.412075675e-05) (1.185719849e-05,-2.053727021e-05) (-1.058791184e-22,0) (2.366362762e-11,-4.098660533e-11) (2.030510961e-07,-3.51694815e-07) (-5.516550356e-10,9.554945499e-10) (-6.289741996e-06,1.08941527e-05) (1.058791184e-22,1.164670302e-21) (8.545604851e-08,-1.480142178e-07) (-2.306127229e-10,3.994329529e-10) (5.359197563e-06,-9.282402468e-06) (-1.792223291e-05,3.104221799e-05) (1.058791184e-22,-4.235164736e-22) (4.463913472e-08,-7.731724935e-08) (-1.130973968e-10,1.958904374e-10) (1.567605963e-06,-2.715173175e-06) (-8.255361831e-06,1.429870613e-05) -(-0.02616144742,0.04531295613) (-0.04013399248,0.06951411408) (-0.002798563663,0.004847254452) (0.004795750123,-0.008306482873) (0.001429388891,-0.002475774183) (-0.0006396043251,0.001107827188) (-0.0002747846405,0.0004759409585) (4.231850505e-05,-7.329780085e-05) (9.721999344e-05,-0.0001683899681) (-1.201980249e-05,2.08189086e-05) (-1.024812465e-05,1.775027258e-05) (-3.419704066e-06,5.923101189e-06) (5.830153065e-06,-1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.12111549,0.2097781823) (-0.0005607657229,0.0009712747232) (-0.002000518664,0.003464999967) (-0.0004075616168,0.0007059174275) (-0.0002729746153,0.0004728059028) (-1.278868443e-06,2.21506512e-06) (-6.037625137e-06,1.045747349e-05) (-3.526857492e-05,6.108696368e-05) (-1.932297171e-05,3.346836876e-05) (-7.415213061e-06,1.284352577e-05) (-8.572210917e-06,1.484750484e-05) (-9.354879707e-06,1.620312695e-05) (-6.899174245e-06,1.194972032e-05) (-8.71432143e-08,1.509364747e-07) (-0.002819411596,0.004883364132) (0.01502942923,-0.02603173503) (0.0008700924344,-0.001507044304) (0.0001228246921,-0.0002127386071) (7.320806353e-10,-1.268000856e-09) (0.0001192873191,-0.0002066116974) (-8.929992509e-05,0.0001546720074) (1.373510757e-11,-2.378990418e-11) (0.000299626932,-0.0005189690695) (-0.0001838490925,0.0003184359691) (5.231009419e-11,-9.060374093e-11) (3.300273741e-05,-5.716241798e-05) (-2.446401255e-05,4.237291269e-05) (4.222108033e-12,-7.312905615e-12) (2.383089031e-07,-4.12763128e-07) (-2.03263699e-07,3.52063054e-07) (1.663957862e-14,-2.882059555e-14) (1.598075748e-05,-2.767948389e-05) (-1.228323086e-05,2.127517993e-05) (1.819532649e-12,-3.151522991e-12) (1.701272271e-05,-2.946690011e-05) (-1.203371311e-05,2.08430025e-05) (2.268351531e-12,-3.928900099e-12) (4.63149072e-06,-8.021977241e-06) (-3.344313848e-06,5.792521501e-06) (6.401746952e-13,-1.1088151e-12) (3.782440103e-06,-6.551378435e-06) (-2.784982798e-06,4.823731704e-06) (4.566111209e-13,-7.908736621e-13) (3.233764025e-06,-5.601043591e-06) (-1.652550646e-06,2.862301681e-06) (8.418017035e-13,-1.458043318e-12) (2.598776547e-06,-4.501213017e-06) (-1.422702445e-06,2.464192919e-06) (5.27927159e-13,-9.14396661e-13) (8.817371997e-07,-1.527213629e-06) (-1.45942524e-07,2.527798665e-07) (4.485466415e-13,-7.769055717e-13) (1.843143693e-18,-6.396792818e-18) (8.67361738e-19,3.469446952e-18) (0,-1.301042607e-18) (-0.02060375576,0.0356867518) (0.06045012766,-0.1047026924) (0,2.168404345e-19) (1.084202172e-19,2.168404345e-19) (4.33680869e-19,0) (-0.005297526462,0.009175584986) (0.01558567133,-0.02699517461) (0,0) (-1.694065895e-21,-3.811648263e-21) (1.694065895e-21,-1.694065895e-21) (-2.702014961e-05,4.680027195e-05) (0.0001359807469,-0.0002355255625) (2.371692252e-20,3.388131789e-20) (6.776263578e-21,1.355252716e-20) (6.776263578e-21,1.355252716e-20) (-0.0003173531288,0.0005496717431) (0.0009319561715,-0.001614195439) (-2.64697796e-23,0) (2.316105715e-23,-8.602678371e-23) (-1.32348898e-23,0) (1.10762366e-08,-1.918460455e-08) (-6.716194071e-07,1.163278936e-06) (0,0) (0,5.29395592e-23) (-7.940933881e-23,1.389663429e-22) (-4.754822232e-07,8.235593687e-07) (2.065183874e-06,-3.577003397e-06) (8.470329473e-22,0) (-1.058791184e-22,6.352747104e-22) (0,-1.905824131e-21) (-1.517604603e-05,2.628568279e-05) (4.50724991e-05,-7.806785847e-05) (-1.482307658e-21,2.329340605e-21) (0,-2.117582368e-22) (0,-4.235164736e-22) (-7.538565652e-06,1.305717873e-05) (2.367733081e-05,-4.101033996e-05) (4.63221143e-23,1.32348898e-23) (5.29395592e-23,-3.97046694e-23) (-2.64697796e-23,-5.29395592e-23) (-8.103564901e-07,1.403578613e-06) (2.67611154e-06,-4.635161153e-06) (-2.117582368e-22,4.235164736e-22) (-1.588186776e-22,0) (0,0) (-1.711417653e-06,2.964262327e-06) (5.087485249e-06,-8.811782933e-06) (-1.058791184e-22,-4.235164736e-22) (-4.63221143e-23,6.6174449e-23) (5.29395592e-23,4.235164736e-22) (-2.996110319e-06,5.189415297e-06) (8.841353425e-06,-1.531367334e-05) (5.29395592e-23,-2.117582368e-22) (1.058791184e-22,2.117582368e-22) (-2.382280164e-22,2.64697796e-22) (-1.848699751e-06,3.202041897e-06) (5.660846895e-06,-9.804874436e-06) (0,0) (2.316105715e-23,3.30872245e-23) (2.382280164e-22,1.058791184e-22) (-1.315863121e-06,2.279141781e-06) (3.859226647e-06,-6.68437663e-06) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2475006931,0) (0.001885655396,0) (0.003936900835,0) (0.0009741204454,0) (0.0005004075617,0) (8.132634863e-07,0) (1.510083094e-05,0) (7.282759888e-05,0) (3.408159058e-05,0) (1.381866281e-05,0) (1.778426622e-05,0) (1.795710592e-05,0) (1.276438578e-05,0) (7.833976983e-06,0) (0.3041454174,0) (0.002926686712,0) (0.02849839687,0) (2.755679327e-06,0) (1.477200313e-09,0) (5.595452752e-05,0) (0.000471312833,0) (2.30767043e-11,0) (0.0001328145617,0) (0.002968612862,0) (1.385122765e-10,0) (0.0001424591791,0) (8.663764015e-06,0) (6.653302287e-12,0) (1.353880343e-06,0) (1.063332768e-06,0) (1.058585676e-13,0) (0.0001028139335,0) (8.885062031e-06,0) (4.930568137e-12,0) (9.226573536e-06,0) (0.0001114531879,0) (5.306720436e-12,0) (2.485545863e-05,0) (1.209685944e-06,0) (1.149711836e-12,0) (2.362894913e-06,0) (2.235255113e-05,0) (1.084804457e-12,0) (4.060026829e-05,0) (2.884757044e-07,0) (1.846273793e-12,0) (8.663751496e-07,0) (2.708317392e-05,0) (1.260179665e-12,0) (1.705402686e-05,0) (4.258384822e-09,0) (8.003161713e-13,0) (1.561251128e-17,0) (6.938893904e-18,0) (8.67361738e-19,0) (0.04483170943,0) (0.1133052738,0) (8.67361738e-19,0) (-1.734723476e-18,0) (4.33680869e-19,0) (0.009624007898,0) (0.03498925778,0) (0,0) (5.421010862e-20,0) (6.776263578e-21,0) (1.920663012e-05,0) (0.0007802029551,0) (2.439454888e-19,0) (0,0) (2.710505431e-20,0) (0.0006986693326,0) (0.001726467409,0) (0,0) (-3.176373552e-22,0) (-4.235164736e-22,0) (1.653240914e-09,0) (1.835110102e-05,0) (0,0) (0,0) (0,0) (2.342751068e-06,0) (1.709453932e-06,0) (0,0) (1.016439537e-20,0) (1.101142831e-20,0) (2.57422105e-05,0) (0.0001083718738,0) (1.270549421e-21,0) (0,0) (-4.235164736e-22,0) (2.225083718e-05,0) (3.271647394e-05,0) (0,0) (2.911675756e-22,0) (0,0) (2.685905316e-06,0) (3.292917407e-06,0) (2.117582368e-22,0) (2.117582368e-22,0) (0,0) (2.887868495e-06,0) (1.229628472e-05,0) (2.117582368e-22,0) (0,0) (-4.235164736e-22,0) (6.902245323e-06,0) (1.565229019e-05,0) (-6.352747104e-22,0) (2.117582368e-22,0) (-4.235164736e-22,0) (5.060621495e-06,0) (8.434035548e-06,0) (-1.058791184e-22,0) (-8.470329473e-22,0) (-3.176373552e-22,0) (2.848171096e-06,0) (7.27171318e-06,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (0.08203099855,0) (8.306610194e-08,0) (0.1359609918,0) (0.009081386798,0) (5.657391905e-09,0) (0.01196712578,0) (5.443671855e-05,0) (2.267692166e-12,0) (6.454709571e-05,0) (4.074384328e-08,0) (2.322477598e-15,0) (4.516263572e-08,0) (1.806939314e-09,0) (9.637884248e-05,0) (0.0001200645114,0) (3.505088404e-13,0) (0.0001259530711,0) (0.0003880768169,0) (2.442169459e-14,0) (0.0001806923474,0) (0.0003300259584,0) (4.99498452e-09,0) (5.220474457e-13,0) (0.0003140465704,0) (2.043749217e-14,0) (6.916995033e-05,0) (0.0001161425193,0) (3.068536094e-15,0) (6.841874488e-06,0) (0.0001365406311,0) (3.090610873e-13,0) (1.118320353e-06,0) (0.0001219538312,0) (2.402304362e-14,0) (6.135362753e-06,0) (0.0001061573737,0) (1.022792114e-14,0) (9.682037194e-06,0) (9.16160885e-05,0) (0,0) (0.008475895408,0) (0.1732522102,0) (1.124213962e-07,0) (0.02297182624,0) (1.084202172e-19,0) (0.0009869192534,0) (0.006480627332,0) (3.316210435e-10,0) (0.000596346401,0) (1.694065895e-21,0) (6.030566529e-06,0) (7.772448169e-05,0) (1.304810639e-11,0) (1.025243196e-05,0) (0,0) (6.172455307e-07,0) (3.424236285e-06,0) (8.91940129e-14,0) (8.102047562e-08,0) (0,0) (1.7510264e-07,0) (5.995060337e-14,0) (0.0002921369044,0) (3.675876272e-05,0) (2.032879073e-20,0) (1.275281687e-06,0) (4.637667068e-13,0) (0.0003051743252,0) (0.0002630933887,0) (6.776263578e-21,0) (3.588497215e-06,0) (5.404957306e-12,0) (0.0003430215163,0) (6.96043537e-05,0) (5.082197684e-21,0) (2.144710129e-06,0) (2.269021793e-12,0) (0.0002012220718,0) (3.895281572e-05,0) (1.694065895e-21,0) (3.844113255e-09,0) (1.769838074e-15,0) (0.0001178597097,0) (2.092539475e-05,0) (-8.470329473e-22,0) (6.145570316e-08,0) (3.010474357e-14,0) (2.166322872e-05,0) (9.000390998e-05,0) (0,0) (1.298476433e-12,0) (5.281220211e-07,0) (2.249656277e-13,0) (0.0001117973318,0) (2.541098842e-21,0) (1.467994913e-07,0) (7.105028024e-14,0) (4.480358687e-05,0) (5.317998557e-05,0) (0,0) (6.039698986e-08,0) (2.87767903e-14,0) (3.246588878e-06,0) (8.011602699e-05,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.3147524089,0) (0.3911428714,0) (0.2057672699,0) (0.06817076837,0) (0.01624681051,0) (0.001918900616,0) (8.656155591e-06,0) (0.0003293313421,0) (0.0005165205109,0) (0.0005274892321,0) (0.000308913253,0) (0.0001921098042,0) (7.200817462e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1469209212,0) (0.001757452279,0) (0.008885391297,0) (0.0004765796032,0) (0.0003137171467,0) (3.753583099e-07,0) (3.817084e-06,0) (6.033841652e-07,0) (5.317323845e-07,0) (8.414643968e-06,0) (3.31541252e-06,0) (3.002007615e-07,0) (1.229871495e-06,0) (0.001306177527,0) (1.355168727e-09,0) (0.2503658847,0) (1.046614926e-05,0) (2.060951583e-11,0) (0.04152020624,0) (4.050576507e-07,0) (1.00843227e-12,0) (0.003778769832,0) (1.889305054e-06,0) (8.299835645e-12,0) (0.002559803502,0) (1.316604296e-15,0) (2.853709815e-10,0) (7.660087477e-05,0) (2.266554089e-16,0) (5.359854749e-09,0) (1.127557649e-07,0) (1.456075894e-15,0) (8.395718063e-08,0) (9.154156321e-06,0) (9.161877051e-08,0) (3.993706216e-16,0) (1.150818494e-07,0) (1.068890781e-15,0) (4.419176462e-08,0) (7.775554357e-06,0) (1.628929061e-17,0) (4.528323296e-06,0) (1.43185262e-05,0) (2.455969101e-13,0) (6.161678805e-07,0) (1.125366415e-06,0) (1.15944313e-15,0) (1.58315933e-07,0) (5.391837529e-07,0) (2.24968478e-15,0) (6.286898691e-07,0) (3.183188427e-06,0) (6.2883726e-18,0) (0.0002446691601,0) (8.145458932e-07,0) (5.664740933e-10,0) (0.177759353,0) (2.493664997e-18,0) (2.201408811e-06,0) (0.0003158153936,0) (8.549720567e-10,0) (0.0706465972,0) (1.058791184e-22,0) (2.464242287e-13,0) (6.094571757e-11,0) (1.707997469e-15,0) (4.38015457e-05,0) (8.131516294e-20,0) (2.311133296e-11,0) (9.174418953e-05,0) (8.403150672e-11,0) (0.001971316564,0) (5.29395592e-23,0) (1.266660794e-13,0) (7.775698928e-17,0) (6.88337889e-11,0) (2.410431746e-06,0) (1.356576205e-22,0) (5.576701781e-10,0) (1.468000911e-14,0) (6.062379565e-07,0) (3.176643229e-06,0) (-2.067951531e-24,0) (2.300661614e-12,0) (5.707138741e-16,0) (1.135038219e-09,0) (1.530804122e-07,0) (-1.178732373e-23,0) (3.081533289e-11,0) (8.947554122e-16,0) (2.296325301e-09,0) (3.899274721e-07,0) (6.749793798e-22,0) (8.755362874e-11,0) (1.48542241e-15,0) (8.808607626e-08,0) (2.190836451e-05,0) (-1.058791184e-22,0) (2.423577032e-09,0) (3.638364687e-14,0) (4.518853107e-06,0) (4.641490491e-06,0) (1.413638742e-27,0) (6.210057073e-11,0) (3.638362452e-11,0) (1.650294841e-19,0) (9.04762241e-12,0) (8.271806126e-24,0) (4.100520746e-10,0) (4.164857336e-15,0) (3.101457978e-07,0) (1.081074942e-06,0) (7.940933881e-23,0) (4.313670249e-09,0) (1.26775354e-14,0) (2.818838655e-06,0) (9.917835142e-07,0) -(0.1537404548,0) (0.003727007567,0) (0.00854296775,0) (0.0008283378013,0) (0.000249242271,0) (3.135135163e-06,0) (3.485164461e-06,0) (1.245370055e-07,0) (1.451806454e-06,0) (9.235094054e-06,0) (1.535303137e-06,0) (1.834495508e-07,0) (1.651277635e-06,0) (2.815830936e-10,0) (0.01983051592,0) (0.2311916741,0) (1.480857164e-06,0) (5.065308416e-11,0) (0.05191474862,0) (1.74172454e-07,0) (5.928976114e-13,0) (0.002321923377,0) (5.781125973e-06,0) (1.396714217e-11,0) (0.002995923626,0) (1.300580339e-15,0) (2.083846774e-09,0) (2.160554926e-05,0) (8.895745648e-08,0) (1.874301973e-14,0) (4.549221948e-07,0) (3.009999658e-15,0) (6.499753675e-08,0) (5.596904508e-06,0) (8.516512091e-16,0) (5.426835441e-08,0) (1.474190623e-07,0) (1.228211538e-15,0) (1.807091778e-07,0) (1.378205676e-05,0) (2.933157846e-14,0) (5.773281799e-06,0) (8.30249756e-06,0) (1.793970786e-07,0) (1.57524998e-14,0) (1.14196802e-07,0) (1.547102555e-15,0) (2.937426657e-07,0) (8.906479179e-07,0) (3.127361261e-15,0) (1.516806236e-06,0) (2.811236419e-06,0) (0,0) (1.511060808e-05,0) (5.607603461e-10,0) (0.1487858497,0) (0.02038732434,0) (1.734723476e-18,0) (9.734329973e-09,0) (0.0004046016186,0) (8.829540289e-10,0) (0.0787413867,0) (0,0) (1.175486027e-09,0) (3.16393186e-09,0) (1.818492629e-13,0) (0.0005493161406,0) (0,0) (1.11287863e-09,0) (2.242153709e-05,0) (5.137087983e-11,0) (0.001903470945,0) (-4.235164736e-22,0) (1.177409821e-09,0) (2.273659858e-09,0) (4.248625572e-15,0) (2.121979301e-05,0) (0,0) (1.746371504e-10,0) (3.101321166e-15,0) (2.618867638e-10,0) (3.3303246e-06,0) (-6.6174449e-24,0) (4.476698989e-11,0) (7.989091628e-15,0) (1.282889475e-07,0) (2.814187778e-07,0) (1.654361225e-24,0) (2.426502395e-12,0) (1.278136264e-16,0) (7.949778252e-10,0) (1.110717381e-07,0) (2.436173229e-11,0) (0,0) (3.526056281e-16,0) (7.3810059e-07,0) (2.697616726e-05,0) (0,0) (1.877165974e-10,0) (1.913490841e-14,0) (2.115184742e-06,0) (1.181201865e-06,0) (-1.654361225e-24,0) (6.907330169e-11,0) (1.047719175e-07,0) (7.596810143e-15,0) (7.557011361e-09,0) (1.895051636e-10,0) (0,0) (6.491569902e-15,0) (1.28432286e-06,0) (1.324891707e-06,0) (0,0) (9.739590345e-10,0) (2.829120299e-14,0) (3.141117806e-06,0) (2.187995244e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (0,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-8.67361738e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.376428539e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.421010862e-20,0) (-7.446672951e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (5.29395592e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-3.176373552e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (3.97046694e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.522012327e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.058791184e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (9.264422861e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (6.203854594e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-1.389663429e-22,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (0,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (6.505213035e-19,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (0,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-1.355252716e-20,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (0,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (0,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.084202172e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.032879073e-20,0) (-2.218079147e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.558653716e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.415367389e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.441071348e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (2.067951531e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.714186385e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (9.264422861e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (0,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (2.710505431e-20,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (0,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (5.29395592e-23,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (2.117582368e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.035766083e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.138412281e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.694065895e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (3.726944968e-20,0) (3.933175976e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780888e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (5.823351512e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.514629062e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.808845119e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.249931266e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-1.550963649e-25,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (6.948317145e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (5.128519798e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-4.33680869e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (-5.421010862e-20,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (-8.470329473e-22,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (0,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (0,0) (-4.040786575e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (1.058791184e-22,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (-2.117582368e-22,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424696266e-12,0) (-0.008719428334,0) (0.06301289739,0) (0,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138140965e-13,0) (-6.644558929e-05,0) (0,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (0,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640456e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182199e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (0,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (-5.29395592e-23,0) (-3.139926191e-09,0) (-5.790193031e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (0,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556893e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808167e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-2.117582368e-22,0) (-2.091689037e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.214682481e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(-0.1395541466,-0.2417148723) (-0.01357903408,-0.02351957694) (0.01423099906,0.02464881341) (0.004074510377,0.007057258989) (-0.001425660096,-0.00246931572) (1.975203663e-05,3.4211531e-05) (-5.71653615e-06,-9.901331055e-06) (-7.743450601e-05,-0.0001341204987) (6.633973277e-05,0.0001149037877) (-4.268839373e-05,-7.393846683e-05) (3.706007127e-05,6.418992637e-05) (-2.936722707e-05,-5.086552936e-05) (1.515866188e-05,2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,-0.102295252) (0.003122660326,0.005408606339) (0.001450134843,0.002511707226) (-1.663179087e-05,-2.88071068e-05) (-5.691193611e-05,-9.85743649e-05) (4.320980191e-06,7.484157229e-06) (-1.508217198e-05,-2.612308816e-05) (-5.052939195e-06,-8.751947413e-06) (-3.798238809e-06,-6.578742597e-06) (-1.228729791e-05,-2.128222427e-05) (-6.964894952e-06,-1.206355193e-05) (-2.032950537e-06,-3.521173619e-06) (-3.820457386e-06,-6.6172263e-06) (0.005175592884,0.008964389834) (5.304917151e-09,9.188386021e-09) (-0.09224965312,-0.1597810862) (-0.0001541485888,-0.0002669931877) (1.707308574e-10,2.957145206e-10) (0.01114537494,0.01930435567) (2.347871873e-06,4.066633374e-06) (-7.561107841e-13,-1.309622251e-12) (0.000246935527,0.000427704879) (-1.387241408e-07,-2.402772602e-07) (-6.941934646e-14,-1.20237835e-13) (-5.376045784e-06,-9.311584441e-06) (-7.712042081e-13,-1.335764869e-12) (8.292123503e-08,1.436237921e-07) (-4.795061678e-05,-8.305290452e-05) (-4.456588466e-15,-7.71903793e-15) (-4.108193539e-07,-7.115599937e-07) (3.307487654e-06,5.728736662e-06) (2.981602561e-15,5.164290423e-15) (1.947461171e-06,3.373101694e-06) (-2.748230891e-05,-4.760075535e-05) (-1.069619489e-08,-1.8526353e-08) (7.219598505e-15,1.25047114e-14) (3.005871758e-06,5.206322606e-06) (-2.336955431e-15,-4.047724815e-15) (8.74177065e-07,1.514119091e-06) (-1.502558212e-05,-2.602507165e-05) (1.117880202e-16,1.936207203e-16) (2.783083705e-06,4.820442378e-06) (-2.210803363e-05,-3.82922375e-05) (1.37753808e-13,2.385965945e-13) (4.150521297e-07,7.188913765e-07) (-5.857532454e-06,-1.014554382e-05) (-2.638813198e-15,-4.570558867e-15) (4.927792809e-07,8.535187514e-07) (-3.782800919e-06,-6.552003387e-06) (-2.398416777e-15,-4.154179493e-15) (1.233592183e-06,2.136644337e-06) (-8.538607507e-06,-1.478930203e-05) (-4.33680869e-19,5.854691731e-18) (0.0007200330219,0.001247133777) (-0.0001878309588,-0.0003253327639) (3.990106787e-09,6.911067684e-09) (-0.03195096622,-0.05534069685) (4.878909776e-19,7.047314121e-19) (-2.330564706e-05,-4.036656481e-05) (0.0007153114482,0.001238955771) (2.662361385e-10,4.611345193e-10) (0.003245375324,0.005621154951) (-2.117582368e-22,8.470329473e-22) (6.095239344e-10,1.055726423e-09) (-3.44128403e-08,-5.960478783e-08) (7.464270367e-14,1.292849566e-13) (1.059566382e-05,1.835222807e-05) (-8.470329473e-22,6.352747104e-22) (-1.888476037e-09,-3.270936446e-09) (8.862191923e-06,1.534976668e-05) (-1.368859682e-12,-2.370934517e-12) (6.318959677e-06,1.094475921e-05) (-7.940933881e-22,-3.176373552e-22) (7.446402637e-11,1.28975477e-10) (-1.079534703e-15,-1.869809137e-15) (-7.090290898e-08,-1.228074408e-07) (4.706497865e-06,8.151893428e-06) (-3.705769144e-22,1.217609862e-21) (1.33340407e-08,2.309523596e-08) (-4.125560452e-14,-7.145680375e-14) (6.800887061e-06,1.177948193e-05) (-1.445470366e-05,-2.503628115e-05) (9.926167351e-23,-5.29395592e-23) (1.436655647e-09,2.488360574e-09) (2.776996631e-14,4.809899276e-14) (3.119865907e-07,5.403766263e-07) (-1.632104712e-06,-2.826888284e-06) (0,-2.514629062e-22) (-4.064786482e-09,-7.040416709e-09) (2.25289788e-14,3.902133579e-14) (-3.398791457e-07,-5.886879487e-07) (1.948638818e-06,3.375141438e-06) (1.111730743e-21,2.117582368e-22) (2.900715708e-10,5.024186985e-10) (-8.107034924e-16,-1.404180727e-15) (1.611039988e-06,2.790403113e-06) (-1.070561973e-05,-1.854267731e-05) (-1.852884572e-22,5.29395592e-23) (6.102102725e-09,1.056915195e-08) (1.654781311e-14,2.866165354e-14) (4.947043268e-06,8.568530288e-06) (-1.021949476e-05,-1.770068415e-05) (9.305781891e-25,2.688336991e-24) (4.489881054e-12,7.776702106e-12) (-2.191745498e-09,-3.79621456e-09) (-9.634049096e-17,-1.668666247e-16) (-1.590204424e-08,-2.754314857e-08) (-1.588186776e-22,-3.705769144e-22) (3.879285887e-09,6.719120253e-09) (-8.601079384e-15,-1.489750658e-14) (1.863843086e-06,3.228270922e-06) (-3.791159118e-06,-6.566480212e-06) (-6.6174449e-23,1.32348898e-22) (8.070512659e-09,1.397853797e-08) (-9.550114421e-15,-1.654128376e-14) (1.512581421e-06,2.619867872e-06) (-4.456953971e-06,-7.719670724e-06) -(-0.1378654839,-0.2387900227) (-0.0169245535,-0.02931418655) (0.0167882116,0.02907803547) (0.002856832998,0.004948179901) (-0.001021264037,-0.001768881199) (-6.261071557e-05,-0.0001084449405) (-5.097302548e-05,-8.828786994e-05) (5.211057454e-06,9.025816272e-06) (-1.563957284e-05,-2.708853477e-05) (1.958875962e-05,3.392872691e-05) (-7.901662008e-06,-1.368608006e-05) (1.11827671e-06,1.936912078e-06) (-3.986478569e-06,-6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.002296938444,0) (0.0004656769935,0) (-3.404442288e-05,0) (8.60557369e-05,0) (-2.195463111e-05,0) (1.021437952e-06,0) (1.052245556e-06,0) (3.19721922e-07,0) (-3.631499723e-07,0) (-8.080661741e-07,0) (1.730221396e-07,0) (-2.294551817e-08,0) (-1.671873287e-07,0) (0.008189657419,0) (5.041046806e-06,0) (-0.008342968697,0) (0.0002452856292,0) (-2.067629571e-07,0) (0.002505844645,0) (-1.362524288e-05,0) (1.28943057e-08,0) (-0.0003814274264,0) (-3.297204231e-05,0) (-4.172364306e-08,0) (0.0001791736462,0) (1.381913284e-10,0) (1.079257912e-07,0) (-3.267927222e-05,0) (-3.366221799e-11,0) (2.800914463e-07,0) (2.957483131e-08,0) (-4.691192177e-11,0) (6.280388515e-07,0) (3.585047097e-06,0) (-8.962099782e-07,0) (-4.954574338e-11,0) (9.752156065e-07,0) (3.109204061e-11,0) (3.176698282e-07,0) (-2.771203269e-06,0) (-2.22648192e-12,0) (1.653561186e-06,0) (-1.853786177e-06,0) (-4.89836296e-10,0) (1.10502967e-06,0) (-9.167977887e-07,0) (3.191879817e-11,0) (5.061688212e-07,0) (-6.78714229e-07,0) (3.355563738e-11,0) (7.856396421e-07,0) (-1.190808539e-06,0) (6.505213035e-19,0) (-0.0009274664534,0) (-0.0002742614059,0) (4.438674186e-06,0) (-0.001474755946,0) (-1.084202172e-19,0) (-1.006015126e-05,0) (-0.002941831249,0) (-2.930994065e-06,0) (0.005259890253,0) (1.799945013e-21,0) (5.998322676e-10,0) (6.199376993e-08,0) (-1.995271809e-10,0) (6.084148142e-05,0) (5.082197684e-20,0) (-7.44667295e-11,0) (-0.0003970796515,0) (2.33129964e-07,0) (0.0003677132413,0) (1.98523347e-23,0) (4.113038732e-10,0) (-1.578850801e-11,0) (2.295141761e-08,0) (6.300650718e-06,0) (-1.588186776e-22,0) (4.941788939e-08,0) (-4.216631935e-10,0) (-3.616195343e-06,0) (5.091702812e-06,0) (5.95570041e-23,0) (-3.504778343e-09,0) (-1.048420309e-10,0) (2.359753035e-07,0) (2.499492298e-07,0) (-1.058791184e-22,0) (9.88648561e-09,0) (-1.014613753e-10,0) (-2.52638343e-07,0) (8.108630087e-07,0) (1.32348898e-22,0) (-3.46259369e-09,0) (2.113178083e-11,0) (2.345799347e-07,0) (-3.336664573e-06,0) (5.29395592e-23,0) (-3.308381734e-08,0) (-2.028902496e-10,0) (2.843321806e-06,0) (-2.094078847e-06,0) (3.101927297e-25,0) (-5.632286098e-11,0) (7.855457093e-09,0) (7.109805969e-13,0) (-7.829784988e-09,0) (-5.95570041e-23,0) (-1.617807133e-08,0) (8.400741329e-11,0) (9.173899183e-07,0) (-1.236998982e-06,0) (5.29395592e-23,0) (-4.115909576e-08,0) (1.129540535e-10,0) (1.15856545e-06,0) (-1.384583023e-06,0) -(-0.05751293495,0) (-0.01742314575,0) (0.002807441229,0) (-0.002741260601,0) (0.0006877098011,0) (-6.313790157e-05,0) (-3.703790973e-05,0) (-1.993765262e-06,0) (1.779141841e-05,0) (1.117127821e-05,0) (-3.925466161e-06,0) (1.105928494e-06,0) (4.760820116e-06,0) (2.356370425e-06,0) (0.002086629187,0) (0.008695215087,0) (-6.2979561e-06,0) (3.741398894e-07,0) (-0.07442571239,0) (3.937534685e-07,0) (-7.848018285e-09,0) (0.008950218454,0) (-7.896863725e-06,0) (5.968412251e-08,0) (-0.002792952986,0) (-8.133735556e-11,0) (5.197317153e-08,0) (0.0004693188178,0) (-7.459501429e-07,0) (-3.500108653e-10,0) (-4.093285999e-06,0) (1.032339543e-10,0) (-9.466882665e-07,0) (-8.422440694e-05,0) (6.995807459e-11,0) (-1.632739084e-06,0) (-4.319618027e-06,0) (-2.136820204e-11,0) (9.874220973e-07,0) (7.401138147e-05,0) (1.010201071e-10,0) (-5.466525505e-06,0) (-8.034065257e-06,0) (-6.503235901e-07,0) (-1.341657236e-10,0) (-4.441394808e-07,0) (-3.383529974e-11,0) (1.834727903e-06,0) (5.4567997e-06,0) (-3.617647595e-11,0) (2.98183865e-06,0) (5.407168305e-06,0) (0,0) (-3.801065212e-06,0) (-4.420846394e-06,0) (0.06307890282,0) (0.006834856211,0) (-1.734723476e-18,0) (1.2360615e-07,0) (-0.0004147197189,0) (3.245439041e-06,0) (-0.05323530859,0) (-1.084202172e-19,0) (-7.133332631e-09,0) (1.11168147e-08,0) (5.132952515e-09,0) (-0.005614192732,0) (-1.355252716e-20,0) (3.611864086e-10,0) (1.48279327e-05,0) (-1.809388448e-07,0) (0.00192530132,0) (-6.776263578e-21,0) (-1.462622461e-08,0) (-4.015748519e-08,0) (3.138645067e-10,0) (-0.0004375922108,0) (8.470329473e-22,0) (-2.062581006e-09,0) (1.526916853e-10,0) (-7.487547447e-09,0) (-6.5275208e-05,0) (-4.235164736e-22,0) (9.665570157e-10,0) (-4.759094266e-10,0) (4.428858264e-06,0) (1.003236761e-05,0) (2.117582368e-22,0) (1.297693598e-10,0) (-3.054149145e-11,0) (7.432534774e-08,0) (9.720891838e-06,0) (2.414566489e-11,0) (8.470329473e-22,0) (-3.039500918e-12,0) (1.39543781e-06,0) (5.069545599e-05,0) (0,0) (-4.776269042e-10,0) (1.818254864e-10,0) (-9.70477885e-06,0) (-5.529115333e-06,0) (0,0) (-4.190493315e-10,0) (-1.078377038e-06,0) (-1.525802291e-10,0) (-6.801392399e-08,0) (5.154379602e-10,0) (2.117582368e-22,0) (-9.02140094e-11,0) (5.837397148e-06,0) (5.909045808e-06,0) (2.64697796e-23,0) (2.987041801e-10,0) (-1.60387982e-10,0) (3.118621718e-06,0) (1.889669192e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04586770644,0) (0.1295753448,0) (0.0004442131108,0) (0.1967622424,0) (0.0001704511524,0) (0.07116101842,0) (0.01342434892,0) (0.1479153603,0) (0.05829558339,0) (0.002881188799,0) (0.0986772665,0) (0.03669568318,0) (0.0583789555,0) (0.004863627082,0) (0.02285094543,0) (0.01871025158,0) (0.01720002272,0) (0.0129751607,0) (0.01950909261,0) (0.002216861756,0) (0.007850079801,0) (0.0006684007036,0) (0.01106999276,0) (0.004241350104,0) (0.006378882393,0) (0.0004382569924,0) (0.00246318523,0) (0.0002443597394,0) (0.003066181956,0) (0.001196173181,0) (0.001717101805,0) (2.637892713e-05,0) (0.0006299645073,0) (1.244860412e-05,0) (0.0006474759855,0) (0.0002384489065,0) (0.000314514928,0) (9.546434388e-07,0) (0.0001139889123,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(3.590997234e-05,0) (0.0001233917216,0) (1.30441383e-07,0) (1.553904071e-05,0) (1.536434435e-06,0) (2.779572112e-06,0) (2.900697787e-07,0) (1.694146338e-07,0) (2.480155548e-07,0) (7.759935467e-08,0) (9.02954327e-09,0) (1.753815685e-09,0) (2.272725483e-08,0) (0.05134867755,0) (0.01875202135,0) (0.000278013623,0) (0.005748536394,0) (0.00207432931,0) (0.0001512337715,0) (0.0004583230146,0) (0.0001648728595,0) (3.850112287e-05,0) (0.0005754261716,0) (0.0002097466075,0) (1.254127337e-05,0) (1.450462071e-05,0) (4.081696167e-05,0) (1.394154879e-05,0) (4.99941714e-06,0) (1.463681797e-05,0) (7.757214435e-09,0) (1.511410508e-06,0) (4.698023398e-06,0) (1.404013897e-06,0) (8.766678713e-06,0) (6.146623103e-06,0) (8.264078866e-06,0) (9.044095585e-07,0) (2.283550353e-06,0) (9.876553109e-07,0) (3.043249266e-07,0) (6.038139103e-07,0) (2.400053708e-07,0) (9.769650476e-07,0) (1.981749796e-06,0) (7.468840143e-07,0) (8.787060028e-07,0) (1.618326537e-06,0) (8.543525323e-07,0) (5.00506041e-07,0) (9.817712635e-07,0) (4.454731505e-07,0) (3.469446952e-18,0) (0.003515743553,0) (0.09234509611,0) (0.03477975199,0) (1.223510922e-05,0) (4.33680869e-19,0) (4.597357965e-05,0) (0.02740325923,0) (0.01004796136,0) (0.0003916175239,0) (1.694065895e-21,0) (1.460078625e-06,0) (6.30598451e-05,0) (2.330863833e-05,0) (8.451039346e-05,0) (2.710505431e-20,0) (2.399382941e-10,0) (0.001718607472,0) (0.0006467762177,0) (6.859021545e-05,0) (1.482307658e-21,0) (1.335565741e-06,0) (3.205846614e-06,0) (7.65274698e-06,0) (1.646933149e-05,0) (-8.470329473e-22,0) (4.379161533e-06,0) (1.211169872e-05,0) (2.157052131e-05,0) (8.161268252e-06,0) (0,0) (5.33910383e-06,0) (1.925982866e-05,0) (4.905944391e-05,0) (4.081163393e-07,0) (-8.470329473e-22,0) (3.171881935e-06,0) (1.1505279e-05,0) (2.779490012e-05,0) (1.68620799e-06,0) (1.32348898e-23,0) (1.369395562e-07,0) (3.006229585e-07,0) (6.24704245e-07,0) (5.081771609e-07,0) (0,0) (4.516212835e-07,0) (1.131399868e-06,0) (1.789055475e-06,0) (9.447754395e-07,0) (2.117582368e-22,0) (5.10826975e-11,0) (1.696043397e-06,0) (3.063049089e-06,0) (6.775872177e-06,0) (1.058791184e-22,0) (6.382847646e-07,0) (1.694474736e-06,0) (2.713576222e-06,0) (1.415412032e-06,0) (1.058791184e-22,0) (3.927215262e-07,0) (1.006395786e-06,0) (4.761797554e-07,0) (1.932952223e-06,0) -(0.02151507676,0) (0.08145033313,0) (0.0009225981511,0) (0.009071793741,0) (0.001897530337,0) (0.001271522409,0) (0.000393613206,0) (3.191902604e-05,0) (0.0002180280768,0) (1.351339316e-05,0) (1.003663981e-05,0) (6.66710727e-06,0) (1.372598266e-05,0) (0.01971880285,0) (0.0002195616787,0) (0.0003270306584,0) (2.678465689e-05,0) (0.002763516793,0) (0.106697746,0) (8.901625396e-07,0) (0.0001038820182,0) (0.0345000232,0) (1.0786905e-05,0) (0.0002550410404,0) (0.002603733392,0) (5.086780754e-06,0) (1.296261603e-06,0) (0.01019461019,0) (6.255143051e-06,0) (6.536172276e-06,0) (3.683045246e-05,0) (3.540615072e-06,0) (1.378850213e-05,0) (0.0012674418,0) (5.746639196e-06,0) (4.91232311e-05,0) (0.000126571826,0) (3.717599159e-07,0) (5.395422689e-06,0) (0.0003974504446,0) (3.479206662e-07,0) (5.176068333e-06,0) (7.774311777e-06,0) (2.357456293e-06,0) (1.1427038e-06,0) (1.727367798e-06,0) (7.399816442e-07,0) (1.145978052e-05,0) (3.343258584e-05,0) (4.18479744e-07,0) (5.861896876e-06,0) (1.04002171e-05,0) (-5.421010862e-20,0) (9.561558787e-07,0) (0.03485246954,0) (0.02674278495,0) (0.002291387465,0) (0,0) (1.569546168e-06,0) (0.0004250908481,0) (0.01192913133,0) (0.03599121376,0) (-8.67361738e-19,0) (4.328799598e-08,0) (3.906012346e-08,0) (0.0001448848612,0) (0.05737890751,0) (0,0) (1.172235841e-10,0) (9.806088991e-06,0) (0.0006373039673,0) (0.001947382062,0) (0,0) (1.816924258e-07,0) (7.09263354e-07,0) (2.318653812e-05,0) (0.009023977889,0) (0,0) (2.436045478e-08,0) (7.517683295e-06,0) (2.140748389e-07,0) (0.001279410655,0) (0,0) (2.086878003e-08,0) (2.83498791e-05,0) (0.0001528953655,0) (0.0003576463545,0) (0,0) (6.94006599e-09,0) (7.29799041e-06,0) (6.948945167e-06,0) (0.0008507631173,0) (2.393151383e-11,0) (0,0) (2.620125233e-08,0) (2.63818605e-06,0) (9.527036339e-05,0) (0,0) (1.215275915e-09,0) (1.727758853e-06,0) (4.452695345e-05,0) (2.58813648e-05,0) (0,0) (2.542260728e-09,0) (1.109931996e-05,0) (3.064539702e-06,0) (6.121327117e-07,0) (1.401947502e-09,0) (0,0) (1.253713298e-06,0) (2.653165066e-05,0) (2.635447273e-05,0) (-2.64697796e-23,0) (9.160979474e-11,0) (9.092686847e-07,0) (3.096286743e-06,0) (1.632018929e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-3.794707604e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-8.809142651e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-1.694065895e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (1.694065895e-21,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (4.65868121e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (2.117582368e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.705769144e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-2.64697796e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (-5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.32348898e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (4.33680869e-19,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (2.168404345e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (4.065758147e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (0,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (6.776263578e-21,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (-4.235164736e-22,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (-5.29395592e-23,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (4.235164736e-22,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (2.64697796e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (1.734723476e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (6.505213035e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-2.032879073e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (0,0) (-1.267303587e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-1.694065895e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.382280164e-21,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (0,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (3.546950467e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-3.30872245e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (5.29395592e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-6.505213035e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (-4.33680869e-19,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (-2.710505431e-20,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (-5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (1.694065895e-21,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-4.235164736e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (5.29395592e-23,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-5.421010862e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (0,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (5.421010862e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (0,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (6.776263578e-21,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (0,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (1.694065895e-21,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (2.117582368e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (4.235164736e-22,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,-0.0005191289988) (0.09925944203,0.1719223967) (0.0005701036329,0.0009874484577) (0.03744131566,0.06485026102) (-1.08363822e-05,-1.876916455e-05) (5.12637978e-06,8.879150237e-06) (-0.0004333454456,-0.000750576329) (-0.004174757703,-0.007230892451) (-5.79928862e-07,-1.004466254e-06) (-0.0003092991382,-0.0005357218221) (-0.008557666191,-0.01482231264) (-1.127253589e-06,-1.952460489e-06) (0.001441927363,0.002497491453) (0.0001026368809,0.0001777722925) (1.949578464e-07,3.376768953e-07) (7.957927152e-05,0.0001378353415) (6.761905753e-05,0.0001171196432) (1.853059582e-08,3.209593345e-08) (0.0007081325001,0.001226521469) (7.017291895e-05,0.0001215430609) (9.836838076e-08,1.703790333e-07) (-3.926527806e-05,-6.800945657e-05) (-0.000555379596,-0.0009619456778) (-7.501276439e-08,-1.299259191e-07) (0.0001990917172,0.0003448369695) (1.15125293e-05,1.994028567e-05) (2.660804959e-08,4.608649378e-08) (-1.201453687e-05,-2.080978829e-05) (-0.0001308978504,-0.0002267217275) (-1.801120482e-08,-3.119632186e-08) (0.0001320177961,0.0002286615304) (1.379282385e-06,2.388987168e-06) (1.705203038e-08,2.953498298e-08) (-1.642038463e-06,-2.844094046e-06) (-6.621122398e-05,-0.000114681204) (-8.667301526e-09,-1.501220661e-08) (3.661879991e-05,6.342562196e-05) (3.18796139e-08,5.521711101e-08) (4.775645764e-09,8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,-0.00159926779) (0.0008274199475,0.001433133388) (-5.55619918e-06,-9.623619276e-06) (-3.00319403e-06,-5.201684645e-06) (3.982825217e-06,6.898455633e-06) (1.175840002e-05,2.036614625e-05) (-4.157662878e-06,-7.201283346e-06) (-2.677457455e-06,-4.637492347e-06) (2.594031055e-06,4.492993584e-06) (1.179960774e-06,2.043752012e-06) (-3.634784569e-07,-6.295631548e-07) (1.553863596e-07,2.691370696e-07) (5.193486208e-07,8.995381981e-07) (0.03245066753,0.05620620491) (1.973358379e-05,3.417956974e-05) (0.003074044889,0.005324401932) (-0.003612640396,-0.006257276715) (-1.712840758e-06,-2.966727218e-06) (0.0006726502744,0.001165064451) (-7.897721341e-05,-0.0001367925463) (-9.66799994e-09,-1.67454671e-08) (-2.492556751e-05,-4.317234933e-05) (2.421005667e-06,4.19330482e-06) (3.489741388e-10,6.044409389e-10) (-3.762967448e-07,-6.517650808e-07) (-8.094592238e-08,-1.402024502e-07) (3.136037117e-05,5.431775621e-05) (2.045657133e-05,3.54318209e-05) (6.618798767e-10,1.146409575e-09) (-2.146830323e-05,-3.718419194e-05) (8.675245077e-07,1.502596524e-06) (-9.606141336e-11,-1.663832486e-10) (1.456791745e-05,2.523237319e-05) (-1.076291122e-05,-1.864190907e-05) (1.04629614e-07,1.812238073e-07) (-8.956602146e-10,-1.551328998e-09) (2.547207111e-05,4.411892133e-05) (-6.797765478e-11,-1.177407519e-10) (6.283968979e-06,1.088415354e-05) (5.35510915e-06,9.275321128e-06) (-1.527935823e-11,-2.646462476e-11) (1.016270017e-06,1.760231303e-06) (2.862275528e-06,4.95760664e-06) (-2.747461897e-10,-4.758743597e-10) (7.443505779e-07,1.28925302e-06) (4.771932706e-06,8.265229897e-06) (-7.264500146e-11,-1.258248334e-10) (1.575517403e-06,2.728876191e-06) (4.761717681e-06,8.247536954e-06) (-3.577407697e-11,-6.196251891e-11) (1.541553266e-06,2.67004858e-06) (3.194233381e-06,5.532574508e-06) (0,-8.67361738e-19) (-0.002729426434,-0.004727505259) (0.06324356095,0.1095410608) (3.126494954e-05,5.415248111e-05) (0.0002650767828,0.0004591264557) (-2.168404345e-19,-4.33680869e-19) (0.0001065037686,0.0001844699384) (-0.006663150733,-0.01154091561) (-9.127041456e-07,-1.580849952e-06) (0.0002416297276,0.0004185149648) (-1.694065895e-21,-8.470329473e-22) (1.483669546e-06,2.569791035e-06) (-3.500462032e-05,-6.06297809e-05) (-8.719713196e-09,-1.510298628e-08) (1.471765147e-05,2.549172011e-05) (-4.235164736e-22,-8.470329473e-22) (6.08483442e-09,1.053924237e-08) (-3.835660981e-05,-6.643559699e-05) (-3.797649481e-09,-6.577721851e-09) (1.178686968e-06,2.041545716e-06) (-1.694065895e-21,-1.694065895e-21) (2.4179593e-07,4.188028358e-07) (2.191988206e-10,3.796634942e-10) (-2.364132934e-05,-4.094798358e-05) (1.230236002e-05,2.130831261e-05) (1.694065895e-21,-1.694065895e-21) (1.181594739e-06,2.046582122e-06) (1.185010832e-09,2.052498968e-09) (-4.056713351e-05,-7.026433636e-05) (-2.316881374e-05,-4.012956255e-05) (2.117582368e-21,1.694065895e-21) (-2.188570265e-06,-3.790714895e-06) (-5.101434888e-09,-8.835944417e-09) (6.486224796e-05,0.000112344709) (-2.66489559e-06,-4.61573456e-06) (1.270549421e-21,1.270549421e-21) (-1.304105758e-06,-2.258777432e-06) (-2.554688277e-09,-4.424849894e-09) (3.739300532e-05,6.476658507e-05) (4.052238551e-06,7.018683054e-06) (-5.29395592e-23,-2.117582368e-22) (-1.147182595e-08,-1.986978541e-08) (-1.153315372e-11,-1.997600821e-11) (4.290322277e-06,7.431056164e-06) (1.630475981e-06,2.824067239e-06) (0,-2.117582368e-22) (-8.329871479e-08,-1.442776062e-07) (-9.227744456e-11,-1.598292224e-10) (3.112744687e-06,5.391431949e-06) (4.610680091e-06,7.985932175e-06) (3.176373552e-22,2.117582368e-22) (-4.072151729e-12,-7.053173691e-12) (-4.732118624e-07,-8.196269885e-07) (-4.150544398e-10,-7.188953777e-10) (1.376158085e-05,2.383575722e-05) (1.058791184e-22,2.117582368e-22) (-1.530521796e-07,-2.650941513e-07) (-1.73488401e-10,-3.004907251e-10) (5.513119534e-06,9.54900314e-06) (4.337960104e-06,7.513567301e-06) (-1.588186776e-22,-1.058791184e-22) (-7.700519144e-08,-1.33376904e-07) (-8.508942103e-11,-1.473792004e-10) (6.216831785e-07,1.076786851e-06) (6.222146986e-06,1.077707471e-05) -(0.05157424969,0.08932922082) (0.07911949656,0.1370389879) (0.005517042647,0.009555798172) (-0.009454263379,-0.01637526452) (-0.002817873889,-0.004880700745) (0.001260905509,0.002183952404) (0.0005417059474,0.0009382622237) (-8.342600894e-05,-0.0001444980862) (-0.0001916579055,-0.0003319612299) (2.369564209e-05,4.104205603e-05) (2.020298538e-05,3.499259714e-05) (6.741548682e-06,1.167670484e-05) (-1.149346843e-05,-1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05227305888,0) (-0.01059774195,0) (0.0007747731012,0) (-0.0019584315,0) (0.0004996371268,0) (-2.324558865e-05,0) (-2.394669917e-05,0) (-7.276138765e-06,0) (8.264461737e-06,0) (1.838973561e-05,0) (-3.937587669e-06,0) (5.221874471e-07,0) (3.804800733e-06,0) (0.003294115467,0) (-5.03865326e-06,0) (8.521411615e-05,0) (8.201923211e-05,0) (2.067578889e-07,0) (-0.06268694534,0) (-4.461298473e-06,0) (-1.290932257e-08,0) (0.008994674824,0) (-1.566384246e-05,0) (4.177343488e-08,0) (-0.003310642092,0) (-1.39836719e-10,0) (4.550215342e-08,0) (0.0007412007475,0) (3.371897556e-11,0) (-2.135755559e-07,0) (-6.832987415e-06,0) (4.698765009e-11,0) (-6.359455323e-07,0) (-9.524322186e-05,0) (-1.168207208e-06,0) (4.963625375e-11,0) (-6.28702053e-07,0) (-3.114294568e-11,0) (4.478956051e-07,0) (5.538823034e-05,0) (2.230680666e-12,0) (1.774135912e-06,0) (2.782574797e-06,0) (4.907366656e-10,0) (-1.097731374e-06,0) (-3.17533837e-06,0) (-3.19703626e-11,0) (1.108827398e-06,0) (2.817216516e-06,0) (-3.361210006e-11,0) (1.86095787e-06,0) (7.359028335e-06,0) (-4.33680869e-19,0) (-0.0002852827998,0) (-0.0001093982521,0) (-4.438290702e-06,0) (0.0612087474,0) (-1.029992064e-18,0) (-5.672657459e-06,0) (-0.001412428299,0) (2.934551322e-06,0) (-0.05104289932,0) (5.844527336e-20,0) (2.315741605e-10,0) (2.280737082e-08,0) (1.99657454e-10,0) (-0.001386055972,0) (2.202285663e-20,0) (-2.218079148e-11,0) (-0.0001285817751,0) (-2.334044471e-07,0) (0.000791823636,0) (2.435219723e-21,0) (1.565366177e-10,0) (1.581342029e-11,0) (4.980086481e-09,0) (-0.0001439248567,0) (-5.029258124e-22,0) (1.452916396e-08,0) (4.223110462e-10,0) (-7.100395277e-06,0) (-2.760876911e-05,0) (-2.580803511e-22,0) (-1.566034151e-09,0) (1.050286112e-10,0) (1.196885357e-08,0) (-1.098689074e-05,0) (3.374896899e-22,0) (2.91435589e-09,0) (1.016381852e-10,0) (-1.778376473e-07,0) (-1.275177812e-05,0) (-2.64697796e-22,0) (-1.096373539e-09,0) (-2.116571378e-11,0) (3.816288677e-07,0) (7.029415091e-05,0) (1.852884572e-22,0) (-1.759502375e-08,0) (2.032173328e-10,0) (-7.041690834e-06,0) (-9.234442056e-06,0) (2.584939414e-25,0) (3.778730592e-10,0) (3.371220318e-09,0) (-7.123309402e-13,0) (-3.067020323e-09,0) (8.602678371e-23,0) (-4.169374205e-09,0) (-8.414027643e-11,0) (2.098761966e-06,0) (5.54532595e-06,0) (-9.926167351e-23,0) (-9.442255645e-09,0) (-1.131400601e-10,0) (5.032227385e-06,0) (1.055086583e-06,0) -(-0.01870392239,0) (-0.005666223889,0) (0.0009130148356,0) (-0.0008914920716,0) (0.0002236517882,0) (-2.053323155e-05,0) (-1.204518931e-05,0) (-6.483972824e-07,0) (5.785990742e-06,0) (3.633038737e-06,0) (-1.276610461e-06,0) (3.596617133e-07,0) (1.548277966e-06,0) (-2.360738584e-06,0) (0.03012600167,0) (-0.02661648463,0) (-0.0001013170272,0) (-3.750412402e-07,0) (-0.02410440258,0) (-6.473083976e-06,0) (7.86788762e-09,0) (0.002917313174,0) (-6.209909928e-05,0) (-5.982724624e-08,0) (-0.0008486929007,0) (8.153315783e-11,0) (1.767015122e-07,0) (0.0001524684146,0) (8.386966911e-07,0) (3.506062313e-10,0) (-2.412940959e-06,0) (-1.03489508e-10,0) (4.325370202e-07,0) (-2.813110036e-05,0) (-7.01336135e-11,0) (-1.272009523e-06,0) (-6.63678222e-07,0) (2.141801211e-11,0) (7.20810683e-07,0) (2.366970548e-05,0) (-1.012439589e-10,0) (-8.825188043e-08,0) (-4.302174199e-06,0) (2.262857906e-07,0) (1.343906619e-10,0) (-5.823968285e-07,0) (3.391481584e-11,0) (1.224153722e-06,0) (1.147096904e-06,0) (3.625524393e-11,0) (1.96618936e-06,0) (7.619721113e-07,0) (1.734723476e-18,0) (-0.0002399783128,0) (4.429670749e-06,0) (0.05862781591,0) (-0.03565811638,0) (-4.33680869e-19,0) (3.134980355e-06,0) (-0.003476641184,0) (-3.253025745e-06,0) (-0.01396980218,0) (-2.710505431e-20,0) (1.136629777e-07,0) (1.037074105e-06,0) (-5.146353529e-09,0) (-0.00182694799,0) (0,0) (-1.794104248e-08,0) (-0.0001795896175,0) (1.81405844e-07,0) (0.0008103216112,0) (3.388131789e-21,0) (2.246534061e-07,0) (1.460111013e-07,0) (-3.147057971e-10,0) (-0.0001426984983,0) (8.470329473e-22,0) (3.165906529e-08,0) (-1.530328056e-10,0) (-5.880359132e-08,0) (-2.120406882e-05,0) (1.058791184e-22,0) (-1.426401455e-08,0) (4.771886505e-10,0) (-9.224878544e-07,0) (5.639404919e-06,0) (0,0) (-1.923071812e-09,0) (3.061682836e-11,0) (1.365337013e-07,0) (3.050917587e-06,0) (-5.065341759e-10,0) (4.235164736e-22,0) (3.046264775e-12,0) (6.475738678e-07,0) (1.629354359e-05,0) (0,0) (9.109682087e-09,0) (-1.822953378e-10,0) (-1.485812014e-06,0) (-3.477463597e-06,0) (0,0) (6.655951109e-09,0) (-5.74589738e-07,0) (1.527580882e-10,0) (1.947745163e-07,0) (-7.857037501e-09,0) (1.058791184e-22,0) (9.043149751e-11,0) (3.224418723e-06,0) (6.035756443e-07,0) (-1.058791184e-22,0) (-1.558553604e-08,0) (1.607444256e-10,0) (1.658167214e-06,0) (-5.670284416e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.04650791085,0) (0.05339342277,0) (-0.006885511921,0) (0.06582968803,0) (0.005456254699,0) (-0.07128594273,0) (-0.03665265658,0) (0.0950451253,0) (-0.05839246872,0) (-0.01466480269,0) (0.05142104472,0) (-0.03675624203,0) (0.005432133241,0) (0.01745725437,0) (-0.02288938761,0) (-0.009939728979,0) (0.02293658634,0) (-0.01299685736,0) (0.0009346548029,0) (0.006928611436,0) (-0.007863266239,0) (-0.002292082329,0) (0.006540467226,0) (-0.004248384897,0) (0.0007511567492,0) (0.001716174845,0) (-0.002467331594,0) (-0.0007179158406,0) (0.001916075511,0) (-0.00119815967,0) (0.0004232273626,0) (0.0002078052141,0) (-0.0006310325767,0) (-7.912951479e-05,0) (0.0003179706291,0) (-0.0002388411143,0) (9.769891917e-05,0) (1.648674933e-05,0) (-0.0001141856685,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0008172287347,0) (-0.00280811301,0) (-2.968547159e-06,0) (-0.0003536329813,0) (-3.496572923e-05,0) (-6.325669591e-05,0) (-6.601323888e-06,0) (-3.855489098e-06,0) (-5.64426606e-06,0) (-1.765983606e-06,0) (-2.054917267e-07,0) (-3.991282865e-08,0) (-5.172202734e-07,0) (0.02065391313,0) (-0.01874311768,0) (-2.839598951e-06,0) (0.001922210209,0) (-0.002074278464,0) (-0.00378330843,0) (0.0001500682067,0) (-0.0001650648726,0) (-0.0009079186671,0) (0.0002733644709,0) (-0.0002099969132,0) (-0.000231728652,0) (-1.467732161e-05,0) (1.720867302e-05,0) (-0.0003162091956,0) (-5.007846613e-06,0) (-1.116087826e-05,0) (-1.792231646e-06,0) (-1.513850326e-06,0) (-4.757169056e-06,0) (-3.730015351e-05,0) (1.142734126e-05,0) (-6.157851779e-06,0) (-5.327686836e-06,0) (-9.058902923e-07,0) (3.219670478e-06,0) (-1.974033463e-05,0) (-3.048988288e-07,0) (6.478429413e-07,0) (-3.602534663e-07,0) (-9.787608102e-07,0) (-1.968661101e-06,0) (2.586840302e-06,0) (-8.801255416e-07,0) (3.545150804e-06,0) (-3.546258443e-06,0) (-5.013482219e-07,0) (2.325538149e-06,0) (-2.752961059e-06,0) (-8.67361738e-19,0) (0.001081420423,0) (0.03683490234,0) (-0.03477674716,0) (-0.0005078099275,0) (-4.878909776e-19,0) (2.592330502e-05,0) (0.01315681817,0) (-0.01006015626,0) (-0.00380032527,0) (-3.388131789e-20,0) (5.636850501e-07,0) (2.319957752e-05,0) (-2.332385676e-05,0) (-0.001925267643,0) (1.355252716e-20,0) (7.146844379e-11,0) (0.0005565170578,0) (-0.0006475377206,0) (0.0001477002938,0) (-5.505714157e-21,0) (5.082980186e-07,0) (-3.210905036e-06,0) (1.660522345e-06,0) (-0.0003762065667,0) (8.470329473e-22,0) (1.287500472e-06,0) (-1.21303074e-05,0) (4.235369307e-05,0) (-4.425289125e-05,0) (2.117582368e-21,0) (2.385662691e-06,0) (-1.929410409e-05,0) (2.488333702e-06,0) (-1.793936166e-05,0) (1.270549421e-21,0) (9.350130233e-07,0) (-1.152532848e-05,0) (1.956543723e-05,0) (-2.651761138e-05,0) (-3.176373552e-22,0) (4.335966598e-08,0) (-3.011056923e-07,0) (1.016306761e-06,0) (-1.070586547e-05,0) (-5.29395592e-23,0) (2.401865277e-07,0) (-1.133223818e-06,0) (-4.430724484e-06,0) (4.166258622e-06,0) (5.29395592e-23,0) (-3.427165247e-10,0) (7.278680151e-07,0) (-3.068866642e-06,0) (2.654190084e-06,0) (5.29395592e-23,0) (1.64497237e-07,0) (-1.697154657e-06,0) (6.207993408e-06,0) (-6.345131393e-06,0) (1.588186776e-22,0) (9.009374426e-08,0) (-1.008053064e-06,0) (2.068286092e-06,0) (-1.472957506e-06,0) -(0.006996970788,0) (0.02648866226,0) (0.0003000404036,0) (0.002950260254,0) (0.0006171004868,0) (0.0004135149158,0) (0.0001280079144,0) (1.038046461e-05,0) (7.090544467e-05,0) (4.394723674e-06,0) (3.264040205e-06,0) (2.168226279e-06,0) (4.463860426e-06,0) (-0.0197553569,0) (0.003169952543,0) (-0.001001057065,0) (0.0004308924624,0) (-0.002770174458,0) (0.0345564099,0) (-1.463376791e-05,0) (-0.000104145023,0) (0.01124524197,0) (8.482571159e-05,0) (-0.0002556526339,0) (0.0007911948594,0) (-5.099026091e-06,0) (4.407108103e-06,0) (0.003311940614,0) (-7.032866511e-06,0) (-6.547290259e-06,0) (2.17110916e-05,0) (-3.549379796e-06,0) (-6.299896001e-06,0) (0.000423327795,0) (-5.761058672e-06,0) (3.827017946e-05,0) (1.944685014e-05,0) (-3.72626502e-07,0) (3.938617866e-06,0) (0.0001271093011,0) (-3.486916283e-07,0) (8.356272429e-08,0) (4.1630784e-06,0) (-8.202975706e-07,0) (-1.144619623e-06,0) (2.265084665e-06,0) (-7.4172067e-07,0) (7.646110877e-06,0) (7.028005024e-06,0) (-4.193909109e-07,0) (3.865265904e-06,0) (1.465586965e-06,0) (0,0) (6.036641356e-05,0) (-0.03492203779,0) (0.0248557125,0) (-0.01195439354,0) (-6.505213035e-19,0) (3.980786074e-05,0) (0.003563583505,0) (-0.01195701747,0) (0.009444674026,0) (4.33680869e-19,0) (-6.897536925e-07,0) (3.64387135e-06,0) (-0.0001452631239,0) (0.01867201301,0) (2.710505431e-20,0) (-5.822791923e-09,0) (-0.0001187671813,0) (-0.0006389488347,0) (0.0008196149627,0) (5.421010862e-20,0) (-2.79072853e-06,0) (-2.5788548e-06,0) (-2.32486879e-05,0) (0.002942712557,0) (0,0) (-3.739146372e-07,0) (-7.534478148e-06,0) (1.681240677e-06,0) (0.0004156051342,0) (-3.388131789e-21,0) (-3.079720876e-07,0) (-2.842608235e-05,0) (-3.184660905e-05,0) (0.0002010405408,0) (-6.776263578e-21,0) (-1.028458898e-07,0) (-7.315992414e-06,0) (1.276502879e-05,0) (0.000267013377,0) (-5.020416579e-10,0) (0,0) (-2.62595584e-08,0) (1.224289849e-06,0) (3.061993997e-05,0) (0,0) (-2.317871362e-08,0) (-1.732223519e-06,0) (6.817124161e-06,0) (1.627774038e-05,0) (1.058791184e-22,0) (-4.037988332e-08,0) (5.914031108e-06,0) (-3.068111963e-06,0) (-1.752991826e-06,0) (-2.137047511e-08,0) (0,0) (-1.256735752e-06,0) (1.465535905e-05,0) (2.691960492e-06,0) (3.97046694e-23,0) (-4.779938991e-09,0) (-9.112894287e-07,0) (1.646291736e-06,0) (-4.897159534e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.04715705099,0) (0.02200154358,0) (0.1067286698,0) (0.02202428562,0) (0.17465834,0) (0.07141108635,0) (0.1000731762,0) (0.06107260141,0) (0.05848951507,0) (0.07464156391,0) (0.02679567375,0) (0.03681690082,0) (0.0005054573398,0) (0.06266017622,0) (0.02292789445,0) (0.005280432053,0) (0.03058641266,0) (0.0130185903,0) (4.477807442e-05,0) (0.02165478127,0) (0.007876474827,0) (0.007860017766,0) (0.003864294445,0) (0.004255431357,0) (8.845381168e-05,0) (0.006720385865,0) (0.002471484938,0) (0.00210919833,0) (0.001197367089,0) (0.001200149458,0) (0.0001043161214,0) (0.001637026661,0) (0.0006321024569,0) (0.0005029865235,0) (0.0001561530053,0) (0.0002392339673,0) (3.034857158e-05,0) (0.0002847271479,0) (0.0001143827643,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01859825451,0) (0.06390622139,0) (6.755733522e-05,0) (0.008047876816,0) (0.000795739924,0) (0.001439577538,0) (0.0001502310143,0) (8.77421026e-05,0) (0.0001284505699,0) (4.018974268e-05,0) (4.676521113e-06,0) (9.083245777e-07,0) (1.177074896e-05,0) (0.008307597159,0) (0.01873421824,0) (2.900333486e-08,0) (0.0006427535352,0) (0.002074227619,0) (0.09464435446,0) (4.913666987e-05,0) (0.0001652571093,0) (0.02141018871,0) (0.0001298657198,0) (0.0002102475176,0) (0.004281715785,0) (1.48520788e-05,0) (7.255278567e-06,0) (0.007171961804,0) (5.016290298e-06,0) (8.510401907e-06,0) (0.0004140783138,0) (1.516294083e-06,0) (4.817059328e-06,0) (0.0009909456417,0) (1.489550748e-05,0) (6.169100968e-06,0) (3.434653454e-06,0) (9.073734504e-07,0) (4.539544298e-06,0) (0.0003945514261,0) (3.054738133e-07,0) (6.950824905e-07,0) (5.407485655e-07,0) (9.805598736e-07,0) (1.955658851e-06,0) (8.959547428e-06,0) (8.815473737e-07,0) (7.766105257e-06,0) (1.471985915e-05,0) (5.021918199e-07,0) (5.508541434e-06,0) (1.701290994e-05,0) (6.505213035e-19,0) (0.0003326380646,0) (0.01469282168,0) (0.03477374258,0) (0.02107630735,0) (3.252606517e-19,0) (1.4617477e-05,0) (0.006316834902,0) (0.01007236596,0) (0.03687902424,0) (-2.059984128e-18,0) (2.1761899e-07,0) (8.535073252e-06,0) (2.333908512e-05,0) (0.04386035073,0) (3.388131789e-21,0) (2.12877168e-11,0) (0.0001802105721,0) (0.0006483001201,0) (0.0003180537728,0) (-1.423015351e-19,0) (1.934512603e-07,0) (3.215971441e-06,0) (3.60306497e-07,0) (0.008593632408,0) (9.95263713e-21,0) (3.785330716e-07,0) (1.214894467e-05,0) (8.316142622e-05,0) (0.0002399527039,0) (-2.943439492e-20,0) (1.065981606e-06,0) (1.932844051e-05,0) (1.262102486e-07,0) (0.0007885513656,0) (-1.905824131e-20,0) (2.756248094e-07,0) (1.154541289e-05,0) (1.377253857e-05,0) (0.0004170207456,0) (1.334076892e-20,0) (1.372912756e-08,0) (3.015892013e-07,0) (1.65338949e-06,0) (0.000225542516,0) (-7.27918939e-22,0) (1.277388161e-07,0) (1.135050709e-06,0) (1.097300767e-05,0) (1.837231386e-05,0) (0,0) (2.299303327e-09,0) (3.123692756e-07,0) (3.074695245e-06,0) (1.039677966e-06,0) (6.882142696e-22,0) (4.239383809e-08,0) (1.699838817e-06,0) (1.420235844e-05,0) (2.844450342e-05,0) (-2.779326858e-22,0) (2.066829092e-08,0) (1.009713072e-06,0) (8.983597702e-06,0) (1.122430129e-06,0) -(0.002275502001,0) (0.008614442707,0) (9.757687426e-05,0) (0.0009594613604,0) (0.0002006887602,0) (0.0001344801982,0) (4.162976727e-05,0) (3.375856311e-06,0) (2.305933326e-05,0) (1.429218846e-06,0) (1.061506507e-06,0) (7.051341767e-07,0) (1.451702978e-06,0) (0.0197919787,0) (0.04576663462,0) (0.003064285325,0) (0.006931890706,0) (0.002776848162,0) (0.01119185278,0) (0.0002405708549,0) (0.0001044086936,0) (0.003665373389,0) (0.0006670496628,0) (0.0002562656941,0) (0.0002404198937,0) (5.111300906e-06,0) (1.4983551e-05,0) (0.001075955865,0) (7.907287005e-06,0) (6.558427154e-06,0) (1.279841726e-05,0) (3.558166217e-06,0) (2.878390215e-06,0) (0.0001413922296,0) (5.77551433e-06,0) (2.981494912e-05,0) (2.987868567e-06,0) (3.734951082e-07,0) (2.875161334e-06,0) (4.065104123e-05,0) (3.494642989e-07,0) (1.349041095e-09,0) (2.229293379e-06,0) (2.854297262e-07,0) (1.146538659e-06,0) (2.970188831e-06,0) (7.434637826e-07,0) (5.101582132e-06,0) (1.477386609e-06,0) (4.203040616e-07,0) (2.548710907e-06,0) (2.065288763e-07,0) (0,0) (0.00381120272,0) (0.03499174491,0) (0.02310179904,0) (0.06236724561,0) (0,0) (0.001009633108,0) (0.0298739139,0) (0.0119849688,0) (0.002478434544,0) (0,0) (1.099057939e-05,0) (0.0003399323208,0) (0.000145642374,0) (0.00607617128,0) (-5.421010862e-20,0) (2.892328027e-07,0) (0.001438457613,0) (0.0006405979474,0) (0.0003449598824,0) (-1.355252716e-20,0) (4.286455912e-05,0) (9.37661877e-06,0) (2.331100428e-05,0) (0.0009596164022,0) (-3.388131789e-21,0) (5.739308119e-06,0) (7.551310522e-06,0) (1.320365452e-05,0) (0.0001350056191,0) (-1.694065895e-21,0) (4.544913819e-06,0) (2.850249043e-05,0) (6.63333715e-06,0) (0.0001130091179,0) (0,0) (1.524088828e-06,0) (7.334038823e-06,0) (2.344902083e-05,0) (8.380257917e-05,0) (1.053196334e-08,0) (2.117582368e-22,0) (2.631799423e-08,0) (5.681500867e-07,0) (9.841263226e-06,0) (0,0) (4.420829531e-07,0) (1.736699721e-06,0) (1.043708995e-06,0) (1.023766845e-05,0) (-4.235164736e-22,0) (6.41372051e-07,0) (3.151162781e-06,0) (3.071688387e-06,0) (5.020121102e-06,0) (3.257591355e-07,0) (-1.058791184e-22,0) (1.259765493e-06,0) (8.095219997e-06,0) (2.749685552e-07,0) (5.29395592e-23,0) (2.494036453e-07,0) (9.133146635e-07,0) (8.753312292e-07,0) (1.469478759e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (0,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.33680869e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (5.717472394e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.270549421e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.651714247e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (-1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.911675756e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-4.63221143e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-9.264422861e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (-8.67361738e-19,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (-1.084202172e-19,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-2.710505431e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-2.541098842e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (4.235164736e-22,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (0,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (-2.117582368e-22,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (6.938893904e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-8.67361738e-19,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-3.388131789e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (8.470329473e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (-1.694065895e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (4.235164736e-22,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (6.352747104e-22,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (-4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-4.235164736e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-2.117582368e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,0.0005263748085) (0.04090131005,0.07084314711) (-0.00883687416,-0.01530591502) (0.01252654015,0.02169660398) (-0.000346879798,-0.0006008134342) (-5.135379222e-06,-8.894737729e-06) (0.001183168129,0.002049307314) (-0.00268255013,-0.004646313118) (5.808926845e-07,1.006135643e-06) (0.001574284488,0.002726740719) (-0.004459427703,-0.007723955355) (1.129113895e-06,1.955682633e-06) (0.0001341706355,0.0002323903576) (0.0003683995724,0.0006380867769) (-1.952858243e-07,-3.382449696e-07) (-4.227609596e-05,-7.322434614e-05) (9.017141291e-05,0.0001561814685) (-1.85615821e-08,-3.214960327e-08) (3.392569073e-05,5.876102003e-05) (0.0002193194444,0.0003798724208) (-9.853361838e-08,-1.706652333e-07) (0.0001346486464,0.0002332182967) (-0.0003281340941,-0.0005683449226) (7.513718213e-08,1.30141417e-07) (2.344440262e-05,4.060689649e-05) (4.508202613e-05,7.808435976e-05) (-2.665283983e-08,-4.616407275e-08) (3.529806653e-05,6.113804464e-05) (-8.179885248e-05,-0.0001416797685) (1.80411161e-08,3.12481297e-08) (3.253944728e-05,5.635997594e-05) (1.08655697e-05,1.881971877e-05) (-1.708094113e-08,-2.958505788e-08) (1.043761257e-05,1.807847528e-05) (-3.251583845e-05,-5.631908425e-05) (8.68155776e-09,1.503689913e-08) (1.137503137e-05,1.970213227e-05) (5.505628404e-07,9.536028123e-07) (-4.783889003e-09,-8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,0.03639567249) (-0.01883018317,-0.03261483397) (0.0001264463693,0.0002190115361) (6.834581865e-05,0.0001183784304) (-9.063998106e-05,-0.0001569930524) (-0.0002675942571,-0.0004634868491) (9.461888584e-05,0.0001638847176) (6.093280015e-05,0.0001055387057) (-5.903420635e-05,-0.0001022502448) (-2.685320506e-05,-4.65111155e-05) (8.271937295e-06,1.432741567e-05) (-3.536237701e-06,-6.124943366e-06) (-1.181918528e-05,-2.04714294e-05) (0.01305259065,0.02260775017) (-1.972421406e-05,-3.41633409e-05) (-3.139793852e-05,-5.438282477e-05) (-0.001208003877,-0.002092324091) (1.712798772e-06,2.966654497e-06) (-0.01682721675,-0.02914559437) (-2.585942318e-05,-4.47898348e-05) (9.67925942e-09,1.67649691e-08) (0.0005877851435,0.001018073733) (1.150133528e-06,1.992089707e-06) (-3.493905947e-10,-6.051622618e-10) (6.952941289e-06,1.204284757e-05) (8.190971413e-08,1.418717865e-07) (1.32217184e-05,2.290068804e-05) (-0.0004639768554,-0.0008036314871) (-6.629958665e-10,-1.148342526e-09) (1.637002792e-05,2.835372008e-05) (-0.0002004334016,-0.0003471608352) (9.621648201e-11,1.666518354e-10) (-1.475131992e-05,-2.555003558e-05) (0.0002859360877,0.0004952558317) (1.363844101e-07,2.362247277e-07) (8.972964103e-10,1.554162972e-09) (-1.642133626e-05,-2.844258873e-05) (6.808895039e-11,1.179335215e-10) (8.86002333e-06,1.534601056e-05) (-0.0001070329349,-0.0001853864814) (1.530817236e-11,2.651453229e-11) (1.09037461e-06,1.888584223e-06) (-4.296340024e-06,-7.441479207e-06) (2.752512015e-10,4.767490659e-10) (-7.394344286e-07,-1.280737999e-06) (1.652763697e-05,2.862670696e-05) (7.276235857e-11,1.260281019e-10) (3.451371935e-06,5.977951547e-06) (-1.976500436e-05,-3.423399176e-05) (3.583427253e-11,6.206678068e-11) (3.65150322e-06,6.3245891e-06) (-1.973991048e-05,-3.419052789e-05) (0,-4.33680869e-19) (-0.0008395542634,-0.00145415064) (0.02522679048,0.04369408282) (-3.126224837e-05,-5.414780254e-05) (-0.01100183246,-0.01905573281) (1.626303259e-19,-4.878909776e-19) (6.005470316e-05,0.0001040177971) (-0.003199103504,-0.005541009808) (9.138118664e-07,1.582768581e-06) (-0.002344817337,-0.004061342763) (1.863472484e-20,4.065758147e-20) (5.727926757e-07,9.921060165e-07) (-1.287812239e-05,-2.230556228e-05) (8.725406379e-09,1.511284716e-08) (-0.000335289152,-0.0005807378464) (-2.117582368e-22,2.117582368e-22) (1.81243952e-09,3.139237334e-09) (-1.242058352e-05,-2.151308171e-05) (3.802120767e-09,6.585466345e-09) (2.538152278e-06,4.396208702e-06) (2.202285663e-20,4.065758147e-20) (9.202421743e-08,1.593906201e-07) (-2.195446888e-10,-3.802625555e-10) (-5.129786172e-06,-8.885050281e-06) (-0.0002810210377,-0.0004867427153) (2.117582368e-21,-5.082197684e-21) (3.473961335e-07,6.017077536e-07) (-1.186831509e-09,-2.055652473e-09) (-7.965351864e-05,-0.0001379639413) (0.0001256283905,0.0002175947552) (-6.352747104e-22,2.541098842e-21) (-9.779151322e-07,-1.693798695e-06) (5.110513569e-09,8.851669155e-09) (3.289864391e-06,5.698212276e-06) (0.0001171394555,0.0002028914885) (9.529120657e-21,1.270549421e-21) (-3.844266251e-07,-6.658464465e-07) (2.55914016e-09,4.432560781e-09) (2.632175311e-05,4.559061372e-05) (-6.372623528e-05,-0.0001103770773) (-2.223461487e-21,1.905824131e-21) (-3.632365662e-09,-6.291441879e-09) (1.155167341e-11,2.000808525e-11) (6.979756536e-06,1.208929295e-05) (-3.434954941e-05,-5.94951648e-05) (4.764560328e-22,4.235164736e-22) (-4.430089943e-08,-7.673140864e-08) (9.242620673e-11,1.60086886e-10) (-7.708935966e-06,-1.335226877e-05) (2.033211796e-05,3.521626133e-05) (-5.29395592e-23,-1.058791184e-22) (2.732028175e-11,4.732011607e-11) (-2.030819374e-07,-3.517482337e-07) (4.158427398e-10,7.202607533e-10) (5.390575629e-06,9.336750872e-06) (-2.64697796e-22,-1.376428539e-21) (-3.944424504e-08,-6.831943648e-08) (1.737627841e-10,3.009659705e-10) (1.261265833e-05,2.184576504e-05) (-1.944658249e-05,-3.36824689e-05) (1.588186776e-22,1.455837878e-21) (-1.766566272e-08,-3.059782538e-08) (8.522954168e-11,1.476218965e-10) (2.700280003e-06,4.67702216e-06) (-4.74143023e-06,-8.212398059e-06) -(0.01677258801,0.02905097462) (0.02573064519,0.04456678478) (0.001794210947,0.00310766452) (-0.003074644141,-0.005325439867) (-0.0009164076666,-0.001587264639) (0.0004100621676,0.0007102485086) (0.0001761695175,0.000305134555) (-2.713117662e-05,-4.699257638e-05) (-6.232953669e-05,-0.0001079579244) (7.706117781e-06,1.334738753e-05) (6.57026234e-06,1.138002819e-05) (2.192435553e-06,3.797409769e-06) (-3.737819008e-06,-6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0411321873,0) (-0.008339062533,0) (0.0006096469769,0) (-0.001541034196,0) (0.0003931502828,0) (-1.829129434e-05,0) (-1.884297833e-05,0) (-5.725387206e-06,0) (6.503070519e-06,0) (1.447036132e-05,0) (-3.098376047e-06,0) (4.108944902e-07,0) (2.993889774e-06,0) (-0.003692931319,0) (6.684943117e-06,0) (0.006341380197,0) (-0.0001230406465,0) (-2.74369599e-07,0) (-0.04913856285,0) (6.893948142e-06,0) (1.71308782e-08,0) (0.007067222778,0) (1.30112031e-05,0) (-5.544016143e-08,0) (-0.002630298682,0) (1.854554824e-10,0) (-4.611068783e-08,0) (0.0005833114635,0) (-4.475959074e-11,0) (-3.716938248e-07,0) (-5.172975408e-06,0) (-6.23653338e-11,0) (-9.518968852e-07,0) (-7.449260097e-05,0) (-2.062491615e-07,0) (-6.585442473e-11,0) (-1.207582855e-06,0) (4.133017006e-11,0) (9.861243906e-08,0) (4.383718543e-05,0) (-2.959197357e-12,0) (9.323612458e-08,0) (3.492314996e-06,0) (-6.522504806e-10,0) (-1.657548191e-06,0) (-1.703770788e-06,0) (4.242558686e-11,0) (4.549582158e-07,0) (2.634266796e-06,0) (4.460116865e-11,0) (8.116553402e-07,0) (6.443219229e-06,0) (-3.252606517e-18,0) (0.0004829576041,0) (0.0001242870854,0) (5.888692216e-06,0) (0.04723623807,0) (-1.029992064e-18,0) (3.294780257e-06,0) (0.001149751687,0) (-3.89436725e-06,0) (-0.04242691604,0) (-1.778769189e-20,0) (-2.768655948e-10,0) (-2.949608241e-08,0) (-2.64989249e-10,0) (-0.001090599805,0) (1.016439537e-20,0) (3.933175975e-11,0) (0.0002019770285,0) (3.09697559e-07,0) (0.0003194157652,0) (-2.541098842e-21,0) (-1.91547415e-10,0) (-2.098780887e-11,0) (-1.35141104e-08,0) (-0.0001132326063,0) (6.088049308e-22,0) (-2.624027897e-08,0) (-5.605204444e-10,0) (-2.631350537e-06,0) (-2.46417407e-05,0) (2.713152409e-22,0) (1.457134286e-09,0) (-1.394145316e-10,0) (-1.684666273e-07,0) (-8.469855444e-06,0) (2.117582368e-22,0) (-5.243764032e-09,0) (-1.348940671e-10,0) (5.599469354e-08,0) (-1.022219073e-05,0) (1.694065895e-21,0) (1.779518342e-09,0) (2.80884512e-11,0) (1.111762798e-07,0) (5.549890313e-05,0) (-2.514629062e-22,0) (1.163451117e-08,0) (-2.697230875e-10,0) (-7.446974375e-06,0) (-5.385302829e-06,0) (-7.754818243e-26,0) (3.272970404e-10,0) (-3.370708344e-09,0) (9.449748969e-13,0) (3.578609755e-09,0) (7.610061635e-23,0) (9.0329589e-09,0) (1.116684355e-10,0) (8.917771118e-07,0) (5.110647247e-06,0) (4.63221143e-23,0) (2.385951371e-08,0) (1.501339326e-10,0) (2.921382097e-06,0) (1.83702408e-06,0) -(0.02917389264,0) (0.008838028944,0) (-0.001424096841,0) (0.001390526193,0) (-0.0003488462539,0) (3.20272016e-05,0) (1.878777362e-05,0) (1.011353251e-06,0) (-9.024838172e-06,0) (-5.66671952e-06,0) (1.99122386e-06,0) (-5.609910046e-07,0) (-2.414963783e-06,0) (3.131764434e-06,0) (0.02113859613,0) (-0.02661209925,0) (-7.166687639e-05,0) (4.97322524e-07,0) (0.03782720766,0) (-5.177796953e-06,0) (-1.043334764e-08,0) (-0.004535076858,0) (-4.088571921e-05,0) (7.933896824e-08,0) (0.001461529417,0) (-1.081506332e-10,0) (9.410884509e-08,0) (-0.0002381860178,0) (1.194202806e-06,0) (-4.647773923e-10,0) (1.261180451e-06,0) (1.372863619e-10,0) (1.038364612e-06,0) (4.216515965e-05,0) (9.30177865e-11,0) (2.694383648e-07,0) (2.749813509e-06,0) (-2.841116772e-11,0) (-1.995626923e-07,0) (-3.784413631e-05,0) (1.343156087e-10,0) (4.046369427e-06,0) (2.801726811e-06,0) (6.603081789e-07,0) (-1.781739592e-10,0) (-1.048868705e-07,0) (-4.49845343e-11,0) (-4.575800789e-07,0) (-3.241043012e-06,0) (-4.809009413e-11,0) (-7.612857105e-07,0) (-3.494038197e-06,0) (0,0) (-0.0001781248725,0) (-5.875863018e-06,0) (-0.00325358254,0) (-0.03202255516,0) (-8.67361738e-19,0) (2.27129912e-06,0) (-0.002309571161,0) (4.314038673e-06,0) (0.02951567944,0) (0,0) (9.109152453e-08,0) (7.736946357e-07,0) (6.824590353e-09,0) (0.002846967579,0) (0,0) (-1.380258363e-08,0) (-0.00014659622,0) (-2.405362853e-07,0) (-0.000837203801,0) (0,0) (1.804379704e-07,0) (1.404322281e-07,0) (4.172190712e-10,0) (0.0002216784642,0) (0,0) (2.542909593e-08,0) (2.030650731e-10,0) (-3.866749846e-08,0) (3.31291695e-05,0) (-2.64697796e-23,0) (-1.148514282e-08,0) (-6.330232694e-10,0) (-4.027290359e-06,0) (-3.296411943e-06,0) (0,0) (-1.548017159e-09,0) (-4.061005464e-11,0) (4.700979461e-08,0) (-5.014173148e-06,0) (-4.001910504e-10,0) (-8.470329473e-22,0) (-4.040786576e-12,0) (-5.617850981e-07,0) (-2.586134062e-05,0) (5.29395592e-23,0) (7.229839581e-09,0) (2.418124915e-10,0) (6.181658491e-06,0) (1.538533616e-06,0) (-2.64697796e-23,0) (5.335196032e-09,0) (3.786615396e-07,0) (-2.026498209e-10,0) (1.980117903e-07,0) (-6.313576244e-09,0) (0,0) (-1.199476441e-10,0) (-1.961240248e-06,0) (-3.991018329e-06,0) (-2.117582368e-22,0) (-1.197908084e-08,0) (-2.132048396e-10,0) (-1.09602752e-06,0) (-5.6965094e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0616499241,0) (-0.05612508663,0) (-0.005524837477,0) (-0.09849767551,0) (0.003987118413,0) (0.0945105571,0) (-0.03774692604,0) (-0.03968505748,0) (0.07743198352,0) (-0.01322794725,0) (-0.0355135707,0) (0.04874151795,0) (-0.03985523459,0) (0.009503484414,0) (0.03035175017,0) (-0.02158210048,0) (0.004347737172,0) (0.01723436331,0) (-0.01398296519,0) (0.00355609991,0) (0.01042686528,0) (-0.002231696874,0) (-0.003401939794,0) (0.005633636669,0) (-0.004236003097,0) (0.0009642830837,0) (0.003271720014,0) (-0.0007253584191,0) (-0.0008634759321,0) (0.001588834351,0) (-0.000973594934,0) (0.0001368578979,0) (0.0008367370361,0) (-6.904381328e-05,0) (-0.0002476788081,0) (0.0003167226213,0) (-0.0001631146387,0) (1.171560823e-05,0) (0.0001513990305,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.0006430541106,0) (-0.002209624475,0) (-2.335865557e-06,0) (-0.0002782637621,0) (-2.751354053e-05,0) (-4.977489973e-05,0) (-5.19439452e-06,0) (-3.03377501e-06,0) (-4.441312862e-06,0) (-1.389602407e-06,0) (-1.616956109e-07,0) (-3.140627274e-08,0) (-4.069859621e-07,0) (-0.02315446542,0) (0.02486709624,0) (-0.0002113144789,0) (-0.002883591821,0) (0.002752586386,0) (-0.002965630851,0) (-0.0002318971576,0) (0.0002190437346,0) (-0.0007133624739,0) (-0.0002270707624,0) (0.0002787001547,0) (-0.0001841079618,0) (1.946548646e-05,0) (-1.743881751e-05,0) (-0.0002488508671,0) (6.647567465e-06,0) (-1.942370938e-05,0) (-1.356825305e-06,0) (2.009289265e-06,0) (-7.120632471e-06,0) (-2.917357685e-05,0) (2.017518414e-06,0) (8.169870928e-06,0) (-1.023318319e-05,0) (1.202217678e-06,0) (7.088695561e-07,0) (-1.562354862e-05,0) (4.044755587e-07,0) (3.404607548e-08,0) (-4.521418737e-07,0) (1.300895681e-06,0) (-2.972631304e-06,0) (1.388004183e-06,0) (1.167951802e-06,0) (1.454595627e-06,0) (-3.315964822e-06,0) (6.652579445e-07,0) (1.014281671e-06,0) (-2.410363274e-06,0) (2.168404345e-18,0) (-0.001830745551,0) (-0.04184804203,0) (0.04614153827,0) (-0.0003918889316,0) (8.67361738e-19,0) (-1.505671622e-05,0) (-0.0107099765,0) (0.01335057348,0) (-0.003158834692,0) (-1.355252716e-20,0) (-6.739309617e-07,0) (-3.000331146e-05,0) (3.095587548e-05,0) (-0.001514871375,0) (1.355252716e-20,0) (-1.267303586e-10,0) (-0.0008741803541,0) (0.0008591989311,0) (5.958119995e-05,0) (-2.117582368e-21,0) (-6.219833605e-07,0) (4.261561381e-06,0) (-4.506042692e-06,0) (-0.0002959797984,0) (-2.117582368e-22,0) (-2.325279806e-06,0) (1.61001834e-05,0) (1.56959449e-05,0) (-3.949717088e-05,0) (-4.235164736e-21,0) (-2.219766983e-06,0) (2.561091166e-05,0) (-3.502433912e-05,0) (-1.382955411e-05,0) (5.29395592e-21,0) (-1.682357216e-06,0) (1.529640096e-05,0) (-6.160454092e-06,0) (-2.125727712e-05,0) (0,0) (-7.037685441e-08,0) (3.9958929e-07,0) (2.960709067e-07,0) (-8.452535281e-06,0) (1.058791184e-22,0) (-1.588206347e-07,0) (1.504087388e-06,0) (-4.685734219e-06,0) (2.429661067e-06,0) (0,0) (-2.96845995e-10,0) (-7.277574765e-07,0) (4.071144148e-06,0) (-3.096918026e-06,0) (-4.367513634e-22,0) (-3.56383646e-07,0) (2.252412441e-06,0) (2.637815303e-06,0) (-5.847758739e-06,0) (-1.32348898e-23,0) (-2.276567175e-07,0) (1.337660336e-06,0) (1.200711633e-06,0) (-2.564584225e-06,0) -(-0.01091369342,0) (-0.04131632783,0) (-0.0004679952334,0) (-0.004601739364,0) (-0.0009625373212,0) (-0.000644989832,0) (-0.0001996634222,0) (-1.619117925e-05,0) (-0.0001105964721,0) (-6.854775913e-06,0) (-5.091165187e-06,0) (-3.381943069e-06,0) (-6.962613624e-06,0) (0.02620752866,0) (0.002224269497,0) (-0.001000892129,0) (0.0003047929621,0) (0.003673383099,0) (-0.05422961591,0) (-1.170549913e-05,0) (0.0001381032981,0) (-0.01748116626,0) (5.58488008e-05,0) (0.0003390297478,0) (-0.001362512354,0) (6.763664198e-06,0) (2.347166408e-06,0) (-0.005173910596,0) (-1.001395262e-05,0) (8.679345149e-06,0) (-1.134781363e-05,0) (4.708510543e-06,0) (-1.51237669e-05,0) (-0.0006345178053,0) (7.640857198e-06,0) (-8.106428758e-06,0) (-8.057400327e-05,0) (4.942920937e-07,0) (-1.090440533e-06,0) (-0.0002032277807,0) (4.625928184e-07,0) (-3.831370518e-06,0) (-2.711142746e-06,0) (-2.393650938e-06,0) (1.517526643e-06,0) (4.079308649e-07,0) (9.838166031e-07,0) (-2.85806264e-06,0) (-1.98571424e-05,0) (5.56293275e-07,0) (-1.496586117e-06,0) (-6.720478032e-06,0) (-2.168404345e-19,0) (4.480721443e-05,0) (0.04632333236,0) (-0.001379381288,0) (-0.01073557061,0) (0,0) (2.884086942e-05,0) (0.002367327906,0) (0.01585694053,0) (-0.01995489753,0) (0,0) (-5.527808322e-07,0) (2.718459272e-06,0) (0.0001926337373,0) (-0.02909695075,0) (0,0) (-4.47964897e-09,0) (-9.694780846e-05,0) (0.0008472184569,0) (-0.0008468054569,0) (5.421010862e-20,0) (-2.241467871e-06,0) (-2.480320484e-06,0) (3.082178995e-05,0) (-0.004571428628,0) (1.355252716e-20,0) (-3.003345517e-07,0) (9.997786745e-06,0) (1.10553403e-06,0) (-0.0006493401365,0) (0,0) (-2.479739066e-07,0) (3.770913572e-05,0) (-0.0001390322279,0) (-0.0001175146047,0) (0,0) (-8.278796515e-08,0) (9.703906891e-06,0) (4.395115462e-06,0) (-0.0004388356181,0) (-3.966417036e-10,0) (0,0) (3.483258316e-08,0) (-1.062099363e-06,0) (-4.860039762e-05,0) (-8.470329473e-22,0) (-1.83956344e-08,0) (2.297772888e-06,0) (-2.83623588e-05,0) (-7.201757854e-06,0) (0,0) (-3.23672139e-08,0) (-3.897417542e-06,0) (4.070176231e-06,0) (-1.782127644e-06,0) (-1.71723915e-08,0) (0,0) (1.666924655e-06,0) (-8.914065602e-06,0) (-1.780002849e-05,0) (0,0) (-3.673872713e-09,0) (1.208697071e-06,0) (-1.088177979e-06,0) (-4.919808827e-07,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.06251041084,0) (-0.02312716577,0) (0.08563757661,0) (-0.03295383896,0) (0.1276303109,0) (-0.0946764719,0) (0.1030608728,0) (-0.02550019993,0) (-0.07756067291,0) (0.0673281933,0) (-0.01850623727,0) (-0.04882195603,0) (-0.003708510075,0) (0.03411132104,0) (-0.03040281096,0) (0.01146538456,0) (0.005797797515,0) (-0.01726318207,0) (-0.0006699053532,0) (0.01111428551,0) (-0.01044438016,0) (0.007652943725,0) (-0.002009962988,0) (-0.005642980737,0) (-0.0004988181503,0) (0.003776045562,0) (-0.003277227412,0) (0.002131064227,0) (-0.0005395912934,0) (-0.001591472934,0) (-0.0002399694735,0) (0.00107812515,0) (-0.0008381556767,0) (0.0004388767921,0) (-0.000121633216,0) (-0.0003172435761,0) (-5.066889512e-05,0) (0.0002023292553,0) (-0.0001516603602,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01463443893,0) (0.0502859929,0) (5.315895081e-05,0) (0.006332645988,0) (0.0006261451749,0) (0.001132762731,0) (0.0001182125239,0) (6.904177173e-05,0) (0.0001010741099,0) (3.162416853e-05,0) (3.679821814e-06,0) (7.147348455e-07,0) (9.262068479e-06,0) (-0.009313391119,0) (-0.02485528906,0) (2.158341618e-06,0) (-0.0009642227618,0) (-0.002752518914,0) (0.07418909208,0) (-7.592983434e-05,0) (-0.0002192988358,0) (0.01682223941,0) (-0.0001078732284,0) (-0.0002790327477,0) (0.003401814836,0) (-1.969725446e-05,0) (-7.352308847e-06,0) (0.005644203073,0) (-6.658775869e-06,0) (1.481098257e-05,0) (0.000313481762,0) (-2.012532792e-06,0) (7.210277511e-06,0) (0.0007750485214,0) (2.629829628e-06,0) (-8.184795682e-06,0) (6.597129124e-06,0) (-1.204185994e-06,0) (9.994640053e-07,0) (0.0003122689409,0) (-4.05238327e-07,0) (3.652865445e-08,0) (6.786751343e-07,0) (-1.303286861e-06,0) (2.952998217e-06,0) (4.80736646e-06,0) (-1.169838614e-06,0) (3.186477351e-06,0) (1.376395317e-05,0) (-6.663773466e-07,0) (2.4025461e-06,0) (1.489570409e-05,0) (0,0) (-0.0005631257223,0) (-0.01669247861,0) (-0.04613755182,0) (0.01626508487,0) (2.439454888e-19,0) (-8.490090396e-06,0) (-0.005142060373,0) (-0.01336677666,0) (0.03065388695,0) (4.607859233e-19,0) (-2.601810625e-07,0) (-1.103815192e-05,0) (-3.097608686e-05,0) (0.03451093673,0) (1.016439537e-20,0) (-3.774812831e-11,0) (-0.0002830758546,0) (-0.0008602105367,0) (0.0001283005263,0) (-1.355252716e-19,0) (-2.367183435e-07,0) (-4.268285589e-06,0) (-9.777383985e-07,0) (0.006761023897,0) (6.035109749e-21,0) (-6.8364659e-07,0) (-1.612492008e-05,0) (3.081896923e-05,0) (0.0002141657343,0) (1.482307658e-21,0) (-9.918547086e-07,0) (-2.565648968e-05,0) (-1.776462113e-06,0) (0.0006078986526,0) (-1.672890071e-20,0) (-4.959282655e-07,0) (-1.532305696e-05,0) (-4.336478179e-06,0) (0.0003342957791,0) (1.058791184e-22,0) (-2.228367745e-08,0) (-4.002309418e-07,0) (4.816661111e-07,0) (0.0001780711778,0) (2.382280164e-22,0) (-8.446585262e-08,0) (-1.506512155e-06,0) (1.160455761e-05,0) (1.071428823e-05,0) (-1.32348898e-23,0) (1.991555512e-09,0) (-3.123218372e-07,0) (-4.078876345e-06,0) (-1.21309979e-06,0) (-3.97046694e-22,0) (-9.18463487e-08,0) (-2.255974777e-06,0) (6.034671105e-06,0) (2.62148383e-05,0) (-6.6174449e-23,0) (-5.222643711e-08,0) (-1.339863123e-06,0) (5.215289271e-06,0) (1.954276747e-06,0) -(-0.003549268956,0) (-0.01343658413,0) (-0.0001521978757,0) (-0.001496542925,0) (-0.0003130291189,0) (-0.0002097587224,0) (-6.49330304e-05,0) (-5.265573046e-06,0) (-3.596734947e-05,0) (-2.229258458e-06,0) (-1.655710296e-06,0) (-1.099849986e-06,0) (-2.264328624e-06,0) (-0.02625611128,0) (0.03211320294,0) (0.003063780447,0) (0.004903291854,0) (-0.003682232749,0) (-0.01756345289,0) (0.0001924317751,0) (-0.0001384529431,0) (-0.005697965572,0) (0.0004391819773,0) (-0.000339842748,0) (-0.0004140257883,0) (-6.779946273e-06,0) (7.980037421e-06,0) (-0.001680857268,0) (1.12590218e-05,0) (-8.694108655e-06,0) (-6.689394366e-06,0) (-4.720166369e-06,0) (6.909971635e-06,0) (-0.0002119300653,0) (-7.660029649e-06,0) (-6.315433174e-06,0) (-1.237961572e-05,0) (-4.954443068e-07,0) (-7.960133638e-07,0) (-6.499462137e-05,0) (-4.636178842e-07,0) (-6.185385077e-08,0) (-1.451794079e-06,0) (8.328918145e-07,0) (-1.520070884e-06,0) (5.349167374e-07,0) (-9.861286637e-07,0) (-1.906935634e-06,0) (-4.174253742e-06,0) (-5.575045068e-07,0) (-9.86831296e-07,0) (-9.470422496e-07,0) (0,0) (0.002828880622,0) (-0.04641579736,0) (-0.001282046906,0) (0.05600852667,0) (-4.33680869e-19,0) (0.0007314810716,0) (0.01984557116,0) (-0.01589400852,0) (-0.005236486429,0) (0,0) (8.808045082e-06,0) (0.0002536017549,0) (-0.0001931366618,0) (-0.009468612536,0) (-5.421010862e-20,0) (2.225154949e-07,0) (0.001174190644,0) (-0.0008494051089,0) (-0.0003564038288,0) (0,0) (3.442811834e-05,0) (9.018351715e-06,0) (-3.090440545e-05,0) (-0.001490739516,0) (0,0) (4.609909213e-06,0) (-1.002012226e-05,0) (8.682331798e-06,0) (-0.0002109323487,0) (-5.082197684e-21,0) (3.659487597e-06,0) (-3.781049624e-05,0) (2.895905309e-05,0) (-6.605743182e-05,0) (-3.388131789e-21,0) (1.226847403e-06,0) (-9.727843585e-06,0) (8.073711052e-06,0) (-0.0001377292668,0) (8.320855081e-09,0) (0,0) (-3.491009668e-08,0) (-4.928831568e-07,0) (-1.562019084e-05,0) (-1.058791184e-22,0) (3.508562431e-07,0) (-2.303710515e-06,0) (-4.342307445e-06,0) (-4.529449878e-06,0) (2.117582368e-22,0) (5.141031785e-07,0) (-2.076654126e-06,0) (-4.074920738e-06,0) (5.103558646e-06,0) (2.617659823e-07,0) (0,0) (-1.67094328e-06,0) (-4.923886331e-06,0) (-1.818172343e-06,0) (0,0) (1.916922473e-07,0) (-1.21138326e-06,0) (-5.785828522e-07,0) (1.476275077e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.08286250691,0) (0.02431037598,0) (0.06871438145,0) (0.04930718395,0) (0.09326492082,0) (0.1255216072,0) (0.1061377676,0) (0.01064733091,0) (0.1028501942,0) (0.06073138578,0) (0.01278119823,0) (0.06474155448,0) (0.02720911517,0) (0.01856972471,0) (0.04031468813,0) (0.02489475137,0) (0.001098999625,0) (0.02289168401,0) (0.01002216348,0) (0.005704391145,0) (0.01384947954,0) (0.007451325099,0) (0.001045456362,0) (0.007482962107,0) (0.00281298841,0) (0.002121681757,0) (0.004345654447,0) (0.002153156807,0) (0.0002431658316,0) (0.002110392238,0) (0.000552027313,0) (0.0007100396512,0) (0.001111378275,0) (0.0003829383684,0) (9.474450534e-05,0) (0.0004206906223,0) (8.459498418e-05,0) (0.0001437766924,0) (0.0002010868071,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01151542489,0) (0.03956862145,0) (4.182927054e-05,0) (0.004982979502,0) (0.0004926958775,0) (0.0008913388619,0) (9.301808191e-05,0) (5.432701179e-05,0) (7.953235012e-05,0) (2.488416119e-05,0) (2.895547407e-06,0) (5.624045764e-07,0) (7.288058967e-06,0) (0.01044095573,0) (0.03297631033,0) (0.0001606173415,0) (0.001446472844,0) (0.003652617632,0) (0.05815477759,0) (0.0001173327325,0) (0.0002910130741,0) (0.01321743319,0) (8.960512001e-05,0) (0.000370321967,0) (0.002702735249,0) (2.612306591e-05,0) (7.450636785e-06,0) (0.004441884828,0) (8.839061027e-06,0) (2.57761275e-05,0) (0.0002373242255,0) (2.671175919e-06,0) (1.079249771e-05,0) (0.0006061888617,0) (4.643013261e-07,0) (1.085909936e-05,0) (1.26714713e-05,0) (1.598089418e-06,0) (2.20050347e-07,0) (0.0002471462147,0) (5.375848748e-07,0) (1.919689554e-09,0) (8.5178208e-07,0) (1.732231442e-06,0) (4.45895687e-06,0) (2.579457553e-06,0) (1.552409348e-06,0) (1.30742986e-06,0) (1.287012362e-05,0) (8.842413405e-07,0) (1.047868629e-06,0) (1.304197819e-05,0) (-6.505213035e-19,0) (0.0009533201785,0) (0.01896428393,0) (0.06121497228,0) (0.0125521507,0) (-3.252606517e-19,0) (4.931195373e-06,0) (0.004185764753,0) (0.017738704,0) (0.02547954574,0) (-1.219727444e-18,0) (3.110674544e-07,0) (1.42753078e-05,0) (4.111206382e-05,0) (0.02715447401,0) (1.355252716e-20,0) (6.693630906e-11,0) (0.0004446572613,0) (0.001141388293,0) (5.175547801e-05,0) (-2.710505431e-20,0) (2.896624921e-07,0) (5.66493273e-06,0) (2.653219922e-06,0) (0.005319222649,0) (4.446922973e-21,0) (1.23469439e-06,0) (2.140210977e-05,0) (1.142126714e-05,0) (0.0001911500099,0) (4.235164736e-21,0) (9.22882494e-07,0) (3.405631521e-05,0) (2.500444833e-05,0) (0.000468632467,0) (-1.270549421e-20,0) (8.923175134e-07,0) (2.033674126e-05,0) (1.365401367e-06,0) (0.0002679810755,0) (-3.388131789e-21,0) (3.61685241e-08,0) (5.311357506e-07,0) (1.40319171e-07,0) (0.0001405914279,0) (7.676236084e-22,0) (5.585209319e-08,0) (1.999539627e-06,0) (1.227245632e-05,0) (6.248313256e-06,0) (2.64697796e-23,0) (1.724997877e-09,0) (3.122744061e-07,0) (5.411018301e-06,0) (1.415448965e-06,0) (8.999725065e-22,0) (1.989853278e-07,0) (2.994061638e-06,0) (2.564169571e-06,0) (2.415994883e-05,0) (-5.29395592e-23,0) (1.319703087e-07,0) (1.777963699e-06,0) (3.027655855e-06,0) (3.402615008e-06,0) -(0.00553605759,0) (0.02095803515,0) (0.0002373942959,0) (0.002334268809,0) (0.0004882546943,0) (0.0003271762106,0) (0.0001012808553,0) (8.213104159e-06,0) (5.610093811e-05,0) (3.477139478e-06,0) (2.582533942e-06,0) (1.715517459e-06,0) (3.531841012e-06,0) (0.03483145319,0) (0.02253296123,0) (0.003063275652,0) (0.003468356907,0) (0.004882815777,0) (0.02756244955,0) (0.0001539254955,0) (0.0001835979054,0) (0.008857709221,0) (0.0002891550959,0) (0.0004506771526,0) (0.0007129915528,0) (8.993340896e-06,0) (4.250060433e-06,0) (0.002625833686,0) (1.60314874e-05,0) (1.152525194e-05,0) (3.496369595e-06,0) (6.261644115e-06,0) (1.658833738e-05,0) (0.0003176578563,0) (1.01594509e-05,0) (1.337741548e-06,0) (5.129237847e-05,0) (6.572109132e-07,0) (2.20383207e-07,0) (0.0001039161773,0) (6.150600883e-07,0) (2.836013573e-06,0) (9.454592508e-07,0) (2.430401289e-06,0) (2.015296627e-06,0) (9.633593424e-08,0) (1.307998808e-06,0) (7.127991709e-07,0) (1.179406541e-05,0) (7.39491486e-07,0) (3.820896297e-07,0) (4.342680978e-06,0) (0,0) (0.002099748074,0) (0.06156955733,0) (7.114789054e-05,0) (0.05029811769,0) (0,0) (0.0005299594019,0) (0.01318363225,0) (0.02107802791,0) (0.01106375401,0) (2.168404345e-19,0) (7.058923414e-06,0) (0.0001891960434,0) (0.0002561189377,0) (0.01475511786,0) (0,0) (1.711878633e-07,0) (0.0009584736151,0) (0.001126274353,0) (0.0003682274248,0) (-2.710505431e-20,0) (2.7652106e-05,0) (8.673773527e-06,0) (4.097130545e-05,0) (0.002315825677,0) (0,0) (3.702756937e-06,0) (1.329608283e-05,0) (5.70924401e-06,0) (0.0003295600291,0) (2.541098842e-21,0) (2.946557407e-06,0) (5.015820037e-05,0) (0.0001264260713,0) (3.861267461e-05,0) (-6.776263578e-21,0) (9.875766575e-07,0) (1.29029779e-05,0) (2.779852115e-06,0) (0.0002263576027,0) (6.573952743e-09,0) (-4.235164736e-22,0) (4.630728464e-08,0) (4.275873786e-07,0) (2.47925857e-05,0) (3.705769144e-22,0) (2.784547616e-07,0) (3.05584326e-06,0) (1.806598778e-05,0) (2.003963724e-06,0) (4.235164736e-22,0) (4.120885495e-07,0) (1.368540015e-06,0) (5.405814955e-06,0) (5.188382974e-06,0) (2.103438461e-07,0) (-8.470329473e-22,0) (2.21632634e-06,0) (2.994934864e-06,0) (1.202228621e-05,0) (-1.058791184e-22,0) (1.473351266e-07,0) (1.60672927e-06,0) (3.824359347e-07,0) (1.483102828e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566194e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (0,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-1.694065895e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (-6.776263578e-21,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (5.082197684e-21,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (0,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (-8.470329473e-22,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (0,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-1.270549421e-21,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (4.235164736e-22,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-8.470329473e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,-0.0006977515524) (-0.04299386424,-0.07446755728) (-0.007090582965,-0.01228124995) (-0.01874283661,-0.03246354529) (-0.0002534798879,-0.0004390400445) (6.808460863e-06,1.179260014e-05) (0.001218491756,0.00211048963) (0.001120069607,0.001940017466) (-7.702992143e-07,-1.334197376e-06) (0.001420036301,0.002459575022) (0.003079871323,0.005334493612) (-1.497289225e-06,-2.593381012e-06) (-0.0009844018759,-0.001705034064) (0.0002005515599,0.0003473654913) (2.589526051e-07,4.485190688e-07) (-9.179394658e-05,-0.0001589917793) (1.709241288e-05,2.960492753e-05) (2.461341544e-08,4.263168609e-08) (-0.0005075475471,-0.0008790981388) (0.0001125653912,0.0001949689767) (1.306577615e-07,2.263058812e-07) (0.0001311012957,0.0002270741051) (0.0001706747231,0.0002956172919) (-9.963682546e-08,-1.72576044e-07) (-0.0001322101708,-0.0002289947331) (2.533065632e-05,4.387398374e-05) (3.534207956e-08,6.121427745e-08) (3.566399888e-05,6.177185807e-05) (3.686250359e-05,6.384772911e-05) (-2.392364366e-08,-4.143696631e-08) (-7.485395282e-05,-0.0001296508494) (7.155927413e-06,1.239442985e-05) (2.264899878e-08,3.922921662e-08) (9.107253788e-06,1.577422628e-05) (2.532776104e-05,4.386896896e-05) (-1.151244726e-08,-1.994014357e-08) (-1.899134758e-05,-3.289397892e-05) (3.912341003e-07,6.776373393e-07) (6.342969012e-09,1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,0.02863872232) (-0.01481693702,-0.02566368773) (9.949706138e-05,0.0001723339655) (5.377938606e-05,9.314862906e-05) (-7.132203009e-05,-0.0001235333798) (-0.0002105623306,-0.0003647046547) (7.44529174e-05,0.0001289562357) (4.794629208e-05,8.304541391e-05) (-4.645234247e-05,-8.045781728e-05) (-2.113002537e-05,-3.65982775e-05) (6.508952823e-06,1.127383699e-05) (-2.782565142e-06,-4.819544201e-06) (-9.300181641e-06,-1.610838712e-05) (-0.01463285707,-0.0253448519) (2.616874833e-05,4.532560167e-05) (-0.002336540875,-0.00404700751) (0.001812179585,0.003138787114) (-2.272899548e-06,-3.936777498e-06) (-0.01319038986,-0.02284642541) (3.996000794e-05,6.921276402e-05) (-1.284453257e-08,-2.224738301e-08) (0.0004618297644,0.0007999126164) (-9.553607913e-07,-1.65473343e-06) (4.636983056e-10,8.031490246e-10) (5.524098285e-06,9.568018896e-06) (-1.086310209e-07,-1.881544475e-07) (-1.339854236e-05,-2.320695611e-05) (-0.000365141319,-0.0006324433165) (8.800808196e-10,1.524344694e-09) (2.84893946e-05,4.934507893e-05) (-0.0001517399338,-0.0002628212748) (-1.277053227e-10,-2.211921074e-10) (-2.208009141e-05,-3.824384015e-05) (0.0002236392519,0.0003873545469) (2.407892199e-08,4.170591628e-08) (-1.190479427e-09,-2.061970853e-09) (-3.154137007e-05,-5.46312555e-05) (-9.036164811e-11,-1.565109656e-10) (1.950696771e-06,3.378705918e-06) (-8.471154588e-05,-0.0001467247015) (-2.03076594e-11,-3.517389786e-11) (5.730243228e-08,9.925072411e-08) (-5.392190249e-06,-9.339547476e-06) (-3.658433149e-10,-6.336592089e-10) (-1.116528349e-06,-1.933883829e-06) (8.868127353e-06,1.536004714e-05) (-9.65577339e-11,-1.67242901e-10) (1.416117621e-06,2.452787669e-06) (-1.848146722e-05,-3.201084023e-05) (-4.754985347e-11,-8.235876209e-11) (1.592600314e-06,2.75846466e-06) (-1.728333755e-05,-2.993561877e-05) (1.517883041e-18,2.602085214e-18) (0.001421288335,0.002461743608) (-0.02866009467,-0.04964074012) (4.147852654e-05,7.184291538e-05) (-0.008490374326,-0.01470575971) (-8.131516294e-20,-1.626303259e-19) (-3.488083878e-05,-6.041538497e-05) (0.002604149643,0.004510519493) (-1.212696121e-06,-2.100451296e-06) (-0.001949014841,-0.003375792729) (5.082197684e-21,-1.355252716e-20) (-6.84819863e-07,-1.186142797e-06) (1.665488592e-05,2.88471086e-05) (-1.158052873e-08,-2.005806414e-08) (-0.0002638178336,-0.0004569458917) (-3.176373552e-22,-4.235164736e-22) (-3.213881516e-09,-5.566606076e-09) (1.951032757e-05,3.379287863e-05) (-5.044923245e-09,-8.738063381e-09) (1.02387175e-06,1.773397892e-06) (-7.623296525e-21,-2.371692252e-20) (-1.126062466e-07,-1.950397403e-07) (2.913830078e-10,5.046901739e-10) (1.392033993e-05,2.411073601e-05) (-0.0002210927651,-0.0003829439024) (-1.270549421e-21,0) (-6.274119749e-07,-1.086709418e-06) (1.575244907e-09,2.728404213e-09) (-2.951896633e-05,-5.112834946e-05) (0.0001121274987,0.0001942105247) (0,1.694065895e-21) (9.099122566e-07,1.576014259e-06) (-6.783673963e-09,-1.174966797e-08) (-4.63062193e-05,-8.020472453e-05) (9.03034606e-05,0.0001564101819) (2.01170325e-21,4.235164736e-22) (6.916940092e-07,1.198049167e-06) (-3.396487491e-09,-5.882888901e-09) (-8.287775515e-06,-1.435484827e-05) (-5.108477623e-05,-8.848142792e-05) (-1.905824131e-21,-1.694065895e-21) (5.895674323e-09,1.021160747e-08) (-1.532991602e-11,-2.655219342e-11) (2.033345566e-06,3.521857829e-06) (-2.71197858e-05,-4.697284689e-05) (6.088049308e-22,4.764560328e-22) (2.929347052e-08,5.073777927e-08) (-1.226739939e-10,-2.124775902e-10) (-8.152622709e-06,-1.412075675e-05) (1.185719849e-05,2.053727021e-05) (-5.29395592e-23,1.058791184e-22) (2.366362762e-11,4.098660533e-11) (2.030510961e-07,3.51694815e-07) (-5.516550356e-10,-9.554945499e-10) (-6.289741996e-06,-1.08941527e-05) (3.176373552e-22,-7.411538288e-22) (8.545604851e-08,1.480142178e-07) (-2.306127229e-10,-3.994329529e-10) (5.359197563e-06,9.282402468e-06) (-1.792223291e-05,-3.104221799e-05) (5.29395592e-23,6.352747104e-22) (4.463913472e-08,7.731724935e-08) (-1.130973968e-10,-1.958904374e-10) (1.567605963e-06,2.715173175e-06) (-8.255361831e-06,-1.429870613e-05) -(-0.02616144742,-0.04531295613) (-0.04013399248,-0.06951411408) (-0.002798563663,-0.004847254452) (0.004795750123,0.008306482873) (0.001429388891,0.002475774183) (-0.0006396043251,-0.001107827188) (-0.0002747846405,-0.0004759409585) (4.231850505e-05,7.329780085e-05) (9.721999344e-05,0.0001683899681) (-1.201980249e-05,-2.08189086e-05) (-1.024812465e-05,-1.775027258e-05) (-3.419704066e-06,-5.923101189e-06) (5.830153065e-06,1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2731656004,0) (0.01615280688,0) (-0.02892567571,0) (-0.00681892694,0) (0.00311081643,0) (-0.0001242414384,0) (9.142358452e-06,0) (0.0001499983368,0) (-0.0001504484689,0) (9.162783375e-05,0) (-7.145343949e-05,0) (6.119624794e-05,0) (-3.277313972e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2695462447,0) (0.02324389201,0) (-0.03424272561,0) (-0.004333899483,0) (0.002291534039,0) (4.332848919e-05,0) (0.0001066902242,0) (-2.294053818e-05,0) (1.892984583e-05,0) (-3.739677434e-05,0) (2.322309841e-05,0) (-2.861059199e-06,0) (6.880804962e-06,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.1208306479,0) (-0.009094799051,0) (-0.002843835608,0) (4.385357727e-05,0) (0.000101455379,0) (-2.497568383e-05,0) (2.882303202e-05,0) (4.591201175e-06,0) (1.25522063e-05,0) (2.574477926e-05,0) (9.479225358e-06,0) (3.178405029e-06,0) (8.85371498e-06,0) (1.738623898e-10,0) (-0.03001102387,0) (0.1997440824,0) (-0.0001221715915,0) (-1.474070406e-10,0) (-0.02386352647,0) (-3.161081699e-06,0) (8.892664166e-13,0) (-0.0003782332269,0) (5.069147332e-07,0) (1.658455888e-13,0) (1.114472307e-05,0) (-1.500172006e-14,0) (-4.573358943e-07,0) (5.007857078e-05,0) (2.271380542e-06,0) (1.920933975e-13,0) (-1.440347086e-05,0) (3.522406586e-14,0) (-3.493952407e-06,0) (4.251167502e-05,0) (1.184301307e-14,0) (8.749326325e-07,0) (-6.649639108e-06,0) (-7.916366537e-15,0) (-3.478571729e-06,0) (4.038721491e-05,0) (5.133587681e-14,0) (-1.83560613e-06,0) (3.443235877e-05,0) (6.48529231e-07,0) (4.700311397e-15,0) (3.713046695e-06,0) (-8.486490438e-15,0) (-1.351843834e-06,0) (9.719683219e-06,0) (-1.014688338e-14,0) (-1.550010209e-06,0) (1.674276403e-05,0) (-1.734723476e-18,0) (-0.000377473387,0) (-9.424695399e-12,0) (-0.008719428334,0) (0.06301289739,0) (-4.33680869e-19,0) (4.987671827e-06,0) (-0.00143187811,0) (-4.141268852e-10,0) (-0.005892254741,0) (1.694065895e-21,0) (1.859842766e-07,0) (4.229671091e-07,0) (-6.138141033e-13,0) (-6.644558929e-05,0) (8.470329473e-22,0) (-2.859798928e-08,0) (-8.511178364e-06,0) (1.891527865e-12,0) (-1.727510638e-05,0) (-8.470329473e-22,0) (3.662671398e-07,0) (6.488075772e-07,0) (-3.437640454e-13,0) (-2.522670586e-05,0) (0,0) (5.164395866e-08,0) (2.409182211e-13,0) (-3.633301909e-07,0) (1.293020884e-05,0) (1.058791184e-22,0) (-2.328816091e-08,0) (-6.937242073e-14,0) (4.52940866e-06,0) (-8.289612776e-06,0) (0,0) (-3.139926191e-09,0) (-5.790193243e-15,0) (-4.039157833e-07,0) (1.915478012e-06,0) (-8.160659869e-10,0) (8.470329473e-22,0) (-1.266989765e-15,0) (-9.077704595e-06,0) (2.704664962e-05,0) (0,0) (1.483552381e-08,0) (5.416556846e-14,0) (-5.200987241e-06,0) (1.074630952e-05,0) (0,0) (1.08671901e-08,0) (-1.266292565e-07,0) (-3.289808164e-14,0) (-9.136562887e-07,0) (-1.278080324e-08,0) (-4.235164736e-22,0) (-2.091688994e-14,0) (-5.329587217e-06,0) (9.978394523e-06,0) (6.352747104e-22,0) (-2.480045938e-08,0) (-3.21468247e-14,0) (6.229744764e-07,0) (4.252964659e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.333601076e-05,0) (-0.003680518671,0) (0.01171062439,0) (0.004572524643,0) (-0.001931974151,0) (1.016225988e-05,0) (-0.003695330387,0) (0.003163975381,0) (-1.380679875e-06,0) (-0.002791090092,0) (0.002119938484,0) (-1.702859645e-06,0) (0.001336173644,0) (-0.001159269776,0) (4.948719016e-07,0) (5.602991138e-05,0) (-5.170347486e-05,0) (1.165106662e-08,0) (0.0004402708215,0) (-0.0003880446353,0) (1.452039402e-07,0) (-0.0002896023254,0) (0.0002398595806,0) (-1.282564785e-07,0) (0.0001483925852,0) (-0.0001273107664,0) (5.926285014e-08,0) (-7.692981325e-05,0) (6.523609042e-05,0) (-3.032478854e-08,0) (4.206025406e-05,0) (-3.160521265e-05,0) (3.109924057e-08,0) (-1.970181647e-05,0) (1.391253042e-05,0) (-1.452397306e-08,0) (7.57314583e-06,0) (-4.370287337e-06,0) (1.070626807e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.004214043356,0) (0.006158998385,0) (0.0001312011809,0) (-0.0007825700286,0) (-0.000160366703,0) (0.0001179069761,0) (2.941101487e-05,0) (-1.215575976e-05,0) (-1.292825713e-05,0) (3.591247411e-06,0) (1.211948785e-06,0) (2.186819431e-07,0) (-9.353687809e-07,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.04520166927,0) (0.04251668573,0) (-0.0009345582901,0) (-0.0001451268835,0) (0.0002799358963,0) (0.0005029806326,0) (-0.0003063111856,0) (-7.350246924e-05,0) (0.0001538232273,0) (3.114230238e-05,0) (-2.423650254e-05,0) (1.916106456e-05,0) (2.552626129e-05,0) (1.454931824e-06,0) (-0.003157854218,0) (0.007512458075,0) (0.0005195851016,0) (-1.088795504e-06,0) (0.03421108654,0) (-7.146290097e-06,0) (-1.177097021e-08,0) (-0.001457959397,0) (-6.924319911e-07,0) (7.086881675e-10,0) (-1.038967993e-05,0) (9.381966906e-10,0) (-1.140640338e-05,0) (0.001087813846,0) (-1.904659493e-05,0) (-3.587190187e-09,0) (0.0001295991408,0) (1.20807976e-09,0) (5.088937078e-05,0) (-0.0006397323042,0) (9.728329649e-10,0) (-2.632356776e-05,0) (0.0001948452291,0) (1.377274291e-10,0) (-1.900743854e-05,0) (0.0002168844333,0) (1.768045232e-10,0) (1.738073434e-06,0) (-3.331910854e-05,0) (-2.35095165e-06,0) (-4.003305574e-11,0) (-1.444095283e-05,0) (1.856004633e-10,0) (-8.44366819e-06,0) (5.955031546e-05,0) (1.173764161e-10,0) (-3.04711323e-06,0) (3.220324779e-05,0) (-7.589415207e-19,0) (9.495322441e-05,0) (7.430118958e-08,0) (-0.00369666856,0) (0.02112509155,0) (6.505213035e-19,0) (6.333326623e-05,0) (0.001467685891,0) (-1.522189737e-06,0) (0.003983623004,0) (2.710505431e-20,0) (-1.128629076e-06,0) (1.486140405e-06,0) (-1.732577337e-08,0) (0.0006790959101,0) (8.470329473e-22,0) (-9.281519799e-09,0) (-5.628658706e-06,0) (-6.662351652e-09,0) (-1.747322974e-05,0) (4.065758147e-20,0) (-4.549907229e-06,0) (-1.145926933e-05,0) (-2.539534721e-08,0) (0.0005202223217,0) (-6.776263578e-21,0) (-6.099495322e-07,0) (1.186146372e-08,0) (1.038789438e-05,0) (-0.0002534353773,0) (0,0) (-5.02811008e-07,0) (4.132508469e-09,0) (0.000156366619,0) (-0.0002955184562,0) (0,0) (-1.679232679e-07,0) (1.383585823e-09,0) (-3.776354522e-05,0) (0.0001676407959,0) (-8.088281908e-10,0) (1.694065895e-21,0) (1.092177589e-11,0) (-1.716212179e-05,0) (5.082791124e-05,0) (8.470329473e-22,0) (-3.774756953e-08,0) (5.146970487e-10,0) (2.38628948e-05,0) (-5.030265065e-05,0) (4.235164736e-22,0) (-6.59283491e-08,0) (1.303346218e-06,0) (6.607505923e-10,0) (8.223005948e-06,0) (-3.476269999e-08,0) (0,0) (2.906841531e-10,0) (-2.422359532e-05,0) (4.450385645e-05,0) (0,0) (-7.6060703e-09,0) (1.822462067e-10,0) (6.185128518e-07,0) (3.673086727e-06,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-1.352214984e-05,0) (-0.001516611742,0) (-0.1815201801,0) (0.001529805043,0) (-0.06184377689,0) (-1.018009989e-05,0) (0.0100894037,0) (0.002033057526,0) (1.382974519e-06,0) (0.01420621429,0) (0.001104706844,0) (1.705669872e-06,0) (0.0001243303037,0) (-0.00416102366,0) (-4.957044252e-07,0) (-2.976561439e-05,0) (-6.894765397e-05,0) (-1.167054917e-08,0) (2.109279228e-05,0) (-0.001212800252,0) (-1.454478514e-07,0) (0.0009931054366,0) (0.0001417158764,0) (1.284692074e-07,0) (1.74742353e-05,0) (-0.0004985374759,0) (-5.936260932e-08,0) (0.0002260156754,0) (4.076642451e-05,0) (3.037514902e-08,0) (1.036691613e-05,0) (-0.0002489763116,0) (-3.115196758e-08,0) (0.0001252345373,0) (6.832339961e-06,0) (1.454786252e-08,0) (2.35247391e-06,0) (-7.547512391e-05,0) (-1.072474815e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.09590197642,0) (-0.1401646988,0) (-0.002985838421,0) (0.01780950172,0) (0.003649578912,0) (-0.002683292763,0) (-0.0006693273457,0) (0.0002766372549,0) (0.0002942175258,0) (-8.172856693e-05,0) (-2.758117892e-05,0) (-4.976700232e-06,0) (2.128685141e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.01470014553,0) (0.01382695546,0) (-0.0003039299897,0) (-4.71970691e-05,0) (9.103863821e-05,0) (0.000163575563,0) (-9.961621062e-05,0) (-2.390391798e-05,0) (5.002522838e-05,0) (1.012786441e-05,0) (-7.88201233e-06,0) (6.23141672e-06,0) (8.301457933e-06,0) (-1.457628927e-06,0) (-0.04559196335,0) (-0.02299600676,0) (0.008358714646,0) (1.091418551e-06,0) (0.01108001222,0) (0.0001174809611,0) (1.180077153e-08,0) (-0.0004752201501,0) (-5.445124097e-06,0) (-7.103876161e-10,0) (-3.157105631e-06,0) (-9.404551985e-10,0) (-3.878017573e-05,0) (0.0003533999622,0) (2.141472362e-05,0) (3.593291973e-09,0) (7.639707444e-05,0) (-1.211070338e-09,0) (-2.325109286e-05,0) (-0.0002136717171,0) (-9.75273999e-10,0) (-2.050776465e-05,0) (2.993656717e-05,0) (-1.380484768e-10,0) (-1.387528677e-05,0) (6.936217859e-05,0) (-1.771963067e-10,0) (2.805955058e-08,0) (-1.784210166e-05,0) (8.180342229e-07,0) (4.010017397e-11,0) (-1.893631504e-05,0) (-1.860366417e-10,0) (-5.633722485e-06,0) (1.251832324e-05,0) (-1.176319828e-10,0) (-2.00923065e-06,0) (4.53804567e-06,0) (1.734723476e-18,0) (0.005994823377,0) (-7.444950055e-08,0) (-0.003435817589,0) (-0.1102116782,0) (-1.084202172e-18,0) (0.001606299893,0) (0.01230377284,0) (1.525748086e-06,0) (0.001045366821,0) (-1.355252716e-20,0) (1.798364778e-05,0) (0.0001386402286,0) (1.737100717e-08,0) (0.0002209886563,0) (-1.694065895e-21,0) (4.610365646e-07,0) (6.817192153e-05,0) (6.679547034e-09,0) (-7.354140116e-06,0) (0,0) (6.988489398e-05,0) (4.1665471e-05,0) (2.546341754e-08,0) (0.0001696441168,0) (1.016439537e-20,0) (9.362266021e-06,0) (-1.188796278e-08,0) (8.158151922e-05,0) (-8.232622071e-05,0) (6.776263578e-21,0) (7.420259143e-06,0) (-4.143616472e-09,0) (-3.256963719e-05,0) (-0.000166117142,0) (3.388131789e-21,0) (2.488480358e-06,0) (-1.386998724e-09,0) (-6.937063544e-05,0) (5.261433427e-05,0) (1.696781277e-08,0) (0,0) (-1.09460803e-11,0) (-7.964340301e-06,0) (1.633611477e-05,0) (1.058791184e-21,0) (7.199518179e-07,0) (-5.160270666e-10,0) (3.653434698e-06,0) (-3.163718351e-05,0) (4.235164736e-22,0) (1.047169952e-06,0) (6.944596701e-07,0) (-6.615208134e-10,0) (-2.354858994e-05,0) (5.29902449e-07,0) (-2.117582368e-22,0) (-2.91384935e-10,0) (-1.338045233e-05,0) (4.545817498e-06,0) (-6.352747104e-22,0) (3.968631531e-07,0) (-1.826512278e-10,0) (3.288624992e-07,0) (-1.102174207e-05,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1.792468198e-05,0) (0.0015942032,0) (-0.1456492277,0) (-0.002288970907,0) (-0.04519188989,0) (1.349672706e-05,0) (0.01039062405,0) (-0.0008488810399,0) (-1.833908765e-06,0) (0.01281429128,0) (-0.0007629577502,0) (-2.261845447e-06,0) (-0.0009122039538,0) (-0.002265202916,0) (6.573132114e-07,0) (-6.462997956e-05,0) (-1.306935015e-05,0) (1.547562452e-08,0) (-0.0003155601183,0) (-0.000622467995,0) (1.928670741e-07,0) (0.0009669418372,0) (-7.371168797e-05,0) (-1.703585845e-07,0) (-9.854256778e-05,0) (-0.0002801178774,0) (7.871574193e-08,0) (0.0002283587626,0) (-1.837131481e-05,0) (-4.027933956e-08,0) (-2.384812022e-05,0) (-0.0001639726644,0) (4.130690869e-08,0) (0.000109272375,0) (-5.321956378e-06,0) (-1.92916415e-08,0) (-3.927606724e-06,0) (-5.36331914e-05,0) (1.42199673e-08,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.07546254497,0) (-0.1102916257,0) (-0.00234947156,0) (0.01401379174,0) (0.002871750125,0) (-0.002111406963,0) (-0.0005266747028,0) (0.0002176780091,0) (0.0002315114256,0) (-6.430989108e-05,0) (-2.170284735e-05,0) (-3.916024248e-06,0) (1.675001957e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02292890543,0) (-0.02156692623,0) (0.0004740621088,0) (7.361676329e-05,0) (-0.0001419997048,0) (-0.0002551409173,0) (0.0001553787796,0) (3.72847108e-05,0) (-7.802805272e-05,0) (-1.579718001e-05,0) (1.229415824e-05,0) (-9.719602051e-06,0) (-1.29483986e-05,0) (1.933695861e-06,0) (-0.03199064087,0) (-0.02299221789,0) (0.005912559672,0) (-1.447272914e-06,0) (-0.01738794072,0) (9.397260481e-05,0) (-1.564861596e-08,0) (0.0007387482168,0) (-3.585040966e-06,0) (9.420694424e-10,0) (5.436834395e-06,0) (1.247478056e-09,0) (-2.065379919e-05,0) (-0.0005520810976,0) (3.049198037e-05,0) (-4.763408986e-09,0) (-3.993073118e-05,0) (1.606572917e-09,0) (-5.581744661e-05,0) (0.0003202683844,0) (1.293499994e-09,0) (4.343975792e-06,0) (-0.0001240359772,0) (1.831224303e-10,0) (3.841493541e-06,0) (-0.0001108992143,0) (2.350780239e-10,0) (-1.286536979e-06,0) (1.161940272e-05,0) (2.387046427e-06,0) (-5.316445846e-11,0) (-3.410339354e-06,0) (2.467585767e-10,0) (2.105845968e-06,0) (-3.536965701e-05,0) (1.560307562e-10,0) (7.77950799e-07,0) (-2.080929823e-05,0) (5.204170428e-18,0) (0.004449681879,0) (9.875566195e-08,0) (0.0001906725663,0) (-0.09897492918,0) (-2.168404345e-19,0) (0.001163767271,0) (0.008173532278,0) (-2.023388919e-06,0) (-0.002208672077,0) (-6.776263578e-21,0) (1.441241402e-05,0) (0.000103430604,0) (-2.303572953e-08,0) (-0.0003443707994,0) (-3.388131789e-21,0) (3.546892966e-07,0) (5.564768243e-05,0) (-8.856789814e-09,0) (7.598111631e-06,0) (0,0) (5.613041285e-05,0) (4.007349356e-05,0) (-3.375795271e-08,0) (-0.0002635377927,0) (0,0) (7.519930189e-06,0) (1.577459173e-08,0) (5.364558862e-05,0) (0.0001286262247,0) (0,0) (5.974666933e-06,0) (5.496789673e-09,0) (-0.0001421887402,0) (9.710076482e-05,0) (-3.388131789e-21,0) (2.003154677e-06,0) (1.839710283e-09,0) (-2.388494044e-05,0) (-8.647148753e-05,0) (1.340554525e-08,0) (0,0) (1.451967495e-11,0) (6.909246837e-06,0) (-2.592891019e-05,0) (4.235164736e-22,0) (5.713850495e-07,0) (6.845034665e-10,0) (-1.519996164e-05,0) (1.399723361e-05,0) (-8.470329473e-22,0) (8.393777059e-07,0) (-4.576572648e-07,0) (8.775775864e-10,0) (-2.393998219e-05,0) (4.258067386e-07,0) (1.270549421e-21,0) (3.864907411e-10,0) (8.138608507e-06,0) (-3.005827211e-05,0) (-4.235164736e-22,0) (3.050299829e-07,0) (2.42261127e-10,0) (-2.173739453e-07,0) (-1.107271747e-05,0) -(0.2370734683,0) (0.0006670533688,0) (0.004066218674,0) (0.0006820777545,0) (0.0005956356081,0) (8.044155541e-06,0) (9.655870575e-06,0) (6.831873609e-05,0) (4.382157398e-05,0) (1.591626787e-05,0) (1.652759785e-05,0) (1.94939596e-05,0) (1.491606603e-05,0) (3.877437899e-09,0) (0.000104543173,0) (0.3087228188,0) (0.0001062601308,0) (0.02189791074,0) (1.451237323e-09,0) (0.00101721631,0) (6.767884142e-05,0) (3.270019455e-11,0) (0.002703808895,0) (4.554381508e-05,0) (7.902103776e-11,0) (3.058225334e-05,0) (0.0002763177339,0) (1.071720204e-11,0) (1.677877475e-07,0) (1.554212663e-07,0) (1.046209416e-14,0) (9.935797639e-06,0) (6.792423503e-05,0) (2.685856042e-12,0) (0.0001254778854,0) (5.197168565e-06,0) (3.878416987e-12,0) (3.452071693e-06,0) (3.698293816e-05,0) (1.425830819e-12,0) (2.421919495e-05,0) (1.387963126e-06,0) (7.687789817e-13,0) (1.030262135e-06,0) (3.786694817e-05,0) (1.535265483e-12,0) (3.118113231e-05,0) (2.989431376e-07,0) (8.846582533e-13,0) (1.823523549e-07,0) (2.000685348e-05,0) (1.00557303e-12,0) (3.415236843e-18,0) (-4.33680869e-19,0) (0,0) (0.03787629397,0) (0.1290043371,0) (9.757819552e-19,0) (1.626303259e-19,0) (1.734723476e-18,0) (0.01166407464,0) (0.02777002614,0) (0,0) (-1.905824131e-21,0) (-6.776263578e-21,0) (0.0001520492622,0) (9.479976155e-05,0) (3.726944968e-20,0) (-1.016439537e-20,0) (0,0) (0.0005765989928,0) (0.002012299337,0) (3.30872245e-24,0) (-2.067951531e-24,0) (4.135903063e-25,0) (2.968303438e-07,0) (9.832055907e-08,0) (-1.058791184e-22,0) (3.97046694e-23,0) (-1.389663429e-22,0) (3.860134312e-07,0) (9.979758691e-06,0) (-1.694065895e-21,0) (4.235164736e-22,0) (-2.01170325e-21,0) (3.578750522e-05,0) (7.498366886e-05,0) (-2.488159283e-21,0) (5.29395592e-23,0) (8.470329473e-22,0) (1.02162398e-05,0) (6.854234909e-05,0) (-1.058791184e-22,0) (-9.264422861e-23,0) (0,0) (9.779609685e-07,0) (8.699365442e-06,0) (-2.117582368e-22,0) (-5.29395592e-23,0) (-1.32348898e-23,0) (4.056902711e-06,0) (8.419618364e-06,0) (0,0) (1.98523347e-23,0) (-1.032321404e-21,0) (5.202177913e-06,0) (1.997650936e-05,0) (5.29395592e-23,0) (-3.176373552e-22,0) (4.764560328e-22,0) (2.701400034e-06,0) (1.519803296e-05,0) (2.117582368e-22,0) (-3.30872245e-23,0) (4.566036981e-22,0) (2.43172997e-06,0) (8.192639034e-06,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (1.073506527e-10,0) (0.04541795873,0) (0.1725741146,0) (0.01007922853,0) (4.289735641e-10,0) (0.01096928929,0) (5.737094057e-05,0) (1.333779821e-12,0) (6.161287463e-05,0) (4.444852922e-08,0) (1.969247442e-15,0) (4.145795013e-08,0) (1.730393003e-13,0) (0.0001003702013,0) (0.0001160749593,0) (5.79959204e-05,0) (1.968726167e-12,0) (0.000456033966,0) (4.122042944e-13,0) (0.0001878179395,0) (0.0003229003659,0) (1.646882568e-13,0) (1.410595769e-05,0) (0.0002999456081,0) (5.102445159e-14,0) (6.696096688e-05,0) (0.0001183515028,0) (8.984760364e-14,0) (5.83628165e-07,0) (0.0001427988773,0) (2.344464954e-06,0) (1.402501907e-15,0) (0.0001207276869,0) (4.655188215e-14,0) (6.221369806e-06,0) (0.0001060713667,0) (3.292207679e-14,0) (1.583941041e-06,0) (9.971418463e-05,0) (-4.33680869e-18,0) (0.009429544937,0) (1.5840107e-13,0) (0.0005109923468,0) (0.194759507,0) (2.710505431e-19,0) (0.002555581156,0) (0.005067391794,0) (1.942355678e-10,0) (0.0004409201741,0) (-3.388131789e-21,0) (2.942625463e-05,0) (5.654394068e-05,0) (2.071868796e-12,0) (8.037295849e-06,0) (-1.058791184e-22,0) (7.348914505e-07,0) (3.230829218e-06,0) (6.964797294e-14,0) (1.567816421e-07,0) (-1.355252716e-20,0) (0.000113937913,0) (0.0001851425888,0) (2.781457311e-11,0) (2.999024015e-05,0) (-6.776263578e-21,0) (1.52722285e-05,0) (1.871511688e-11,0) (0.0005040683449,0) (5.02024039e-05,0) (-1.016439537e-20,0) (1.211469523e-05,0) (6.023879719e-13,0) (0.0001599166819,0) (0.0002441829949,0) (-1.355252716e-20,0) (4.063106018e-06,0) (2.623064153e-13,0) (0.000205223284,0) (3.30332097e-05,0) (2.733646717e-08,0) (8.470329473e-22,0) (4.552654708e-15,0) (0.000111644296,0) (2.711731612e-05,0) (-6.776263578e-21,0) (1.172473665e-06,0) (1.533275629e-13,0) (1.278860789e-05,0) (9.776751272e-05,0) (2.541098842e-21,0) (1.709717327e-06,0) (1.530464362e-07,0) (1.424655546e-13,0) (0.0001104626914,0) (8.6197615e-07,0) (-2.964615315e-21,0) (6.739760524e-14,0) (2.211632354e-05,0) (7.515207224e-05,0) (4.65868121e-21,0) (6.315078598e-07,0) (3.652790367e-14,0) (1.2355385e-07,0) (8.266795114e-05,0) -(-0.12111549,-0.2097781823) (-0.0005607657229,-0.0009712747232) (-0.002000518664,-0.003464999967) (-0.0004075616168,-0.0007059174275) (-0.0002729746153,-0.0004728059028) (-1.278868443e-06,-2.21506512e-06) (-6.037625137e-06,-1.045747349e-05) (-3.526857492e-05,-6.108696368e-05) (-1.932297171e-05,-3.346836876e-05) (-7.415213061e-06,-1.284352577e-05) (-8.572210917e-06,-1.484750484e-05) (-9.354879707e-06,-1.620312695e-05) (-6.899174245e-06,-1.194972032e-05) (-8.71432143e-08,-1.509364747e-07) (-0.002819411596,-0.004883364132) (0.01502942923,0.02603173503) (0.0008700924344,0.001507044304) (0.0001228246921,0.0002127386071) (7.320806353e-10,1.268000856e-09) (0.0001192873191,0.0002066116974) (-8.929992509e-05,-0.0001546720074) (1.373510757e-11,2.378990418e-11) (0.000299626932,0.0005189690695) (-0.0001838490925,-0.0003184359691) (5.231009419e-11,9.060374093e-11) (3.300273741e-05,5.716241798e-05) (-2.446401255e-05,-4.237291269e-05) (4.222108033e-12,7.312905615e-12) (2.383089031e-07,4.12763128e-07) (-2.03263699e-07,-3.52063054e-07) (1.663957862e-14,2.882059555e-14) (1.598075748e-05,2.767948389e-05) (-1.228323086e-05,-2.127517993e-05) (1.819532649e-12,3.151522991e-12) (1.701272271e-05,2.946690011e-05) (-1.203371311e-05,-2.08430025e-05) (2.268351531e-12,3.928900099e-12) (4.63149072e-06,8.021977241e-06) (-3.344313848e-06,-5.792521501e-06) (6.401746952e-13,1.1088151e-12) (3.782440103e-06,6.551378435e-06) (-2.784982798e-06,-4.823731704e-06) (4.566111209e-13,7.908736621e-13) (3.233764025e-06,5.601043591e-06) (-1.652550646e-06,-2.862301681e-06) (8.418017035e-13,1.458043318e-12) (2.598776547e-06,4.501213017e-06) (-1.422702445e-06,-2.464192919e-06) (5.27927159e-13,9.14396661e-13) (8.817371997e-07,1.527213629e-06) (-1.45942524e-07,-2.527798665e-07) (4.485466415e-13,7.769055717e-13) (2.331034671e-18,7.806255642e-18) (8.67361738e-19,-1.734723476e-18) (0,1.301042607e-18) (-0.02060375576,-0.0356867518) (0.06045012766,0.1047026924) (-1.084202172e-19,-2.168404345e-19) (-1.084202172e-19,-4.33680869e-19) (4.33680869e-19,0) (-0.005297526462,-0.009175584986) (0.01558567133,0.02699517461) (0,0) (0,-1.694065895e-21) (0,-6.776263578e-21) (-2.702014961e-05,-4.680027195e-05) (0.0001359807469,0.0002355255625) (1.355252716e-20,6.776263578e-21) (-6.776263578e-21,0) (3.388131789e-21,-1.355252716e-20) (-0.0003173531288,-0.0005496717431) (0.0009319561715,0.001614195439) (1.32348898e-23,-2.64697796e-23) (9.926167351e-24,2.64697796e-23) (-6.6174449e-24,1.32348898e-23) (1.10762366e-08,1.918460455e-08) (-6.716194071e-07,-1.163278936e-06) (0,-1.058791184e-22) (-1.32348898e-23,-7.940933881e-23) (-1.852884572e-22,-1.058791184e-22) (-4.754822232e-07,-8.235593687e-07) (2.065183874e-06,3.577003397e-06) (0,0) (4.235164736e-22,-5.29395592e-22) (8.470329473e-22,2.541098842e-21) (-1.517604603e-05,-2.628568279e-05) (4.50724991e-05,7.806785847e-05) (-1.588186776e-21,-2.223461487e-21) (-2.117582368e-22,-1.058791184e-22) (0,4.235164736e-22) (-7.538565652e-06,-1.305717873e-05) (2.367733081e-05,4.101033996e-05) (5.95570041e-23,3.97046694e-23) (7.940933881e-23,1.058791184e-22) (0,0) (-8.103564901e-07,-1.403578613e-06) (2.67611154e-06,4.635161153e-06) (-2.64697796e-22,-3.176373552e-22) (-1.852884572e-22,-2.117582368e-22) (0,0) (-1.711417653e-06,-2.964262327e-06) (5.087485249e-06,8.811782933e-06) (-1.058791184e-22,4.235164736e-22) (-1.98523347e-23,-2.117582368e-22) (-2.117582368e-22,5.29395592e-23) (-2.996110319e-06,-5.189415297e-06) (8.841353425e-06,1.531367334e-05) (5.29395592e-23,0) (1.058791184e-22,0) (-3.176373552e-22,-4.235164736e-22) (-1.848699751e-06,-3.202041897e-06) (5.660846895e-06,9.804874436e-06) (-1.058791184e-22,0) (3.30872245e-23,-5.95570041e-23) (2.34919294e-22,-1.588186776e-22) (-1.315863121e-06,-2.279141781e-06) (3.859226647e-06,6.68437663e-06) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,-0.187674436) (0.04130000015,0.07153369861) (-0.005588563056,-0.009679675154) (0.0001512454779,0.0002619648521) (-0.0004157109044,-0.0007200324077) (0.0004987808677,0.0008639138046) (-0.0004215574793,-0.0007301589725) (0.0001921116781,0.0003327471872) (-0.000135218537,-0.0002342053762) (5.460781335e-05,9.458350721e-05) (-4.878621887e-05,-8.45002098e-05) (1.937500693e-05,3.35584964e-05) (-2.137444623e-05,-3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1395541466,0.2417148723) (-0.01357903408,0.02351957694) (0.01423099906,-0.02464881341) (0.004074510377,-0.007057258989) (-0.001425660096,0.00246931572) (1.975203663e-05,-3.4211531e-05) (-5.71653615e-06,9.901331055e-06) (-7.743450601e-05,0.0001341204987) (6.633973277e-05,-0.0001149037877) (-4.268839373e-05,7.393846683e-05) (3.706007127e-05,-6.418992637e-05) (-2.936722707e-05,5.086552936e-05) (1.515866188e-05,-2.625557255e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.05906019127,0.102295252) (0.003122660326,-0.005408606339) (0.001450134843,-0.002511707226) (-1.663179087e-05,2.88071068e-05) (-5.691193611e-05,9.85743649e-05) (4.320980191e-06,-7.484157229e-06) (-1.508217198e-05,2.612308816e-05) (-5.052939195e-06,8.751947413e-06) (-3.798238809e-06,6.578742597e-06) (-1.228729791e-05,2.128222427e-05) (-6.964894952e-06,1.206355193e-05) (-2.032950537e-06,3.521173619e-06) (-3.820457386e-06,6.6172263e-06) (0.005175592884,-0.008964389834) (5.304917151e-09,-9.188386021e-09) (-0.09224965312,0.1597810862) (-0.0001541485888,0.0002669931877) (1.707308574e-10,-2.957145206e-10) (0.01114537494,-0.01930435567) (2.347871873e-06,-4.066633374e-06) (-7.561107841e-13,1.309622251e-12) (0.000246935527,-0.000427704879) (-1.387241408e-07,2.402772602e-07) (-6.941934646e-14,1.20237835e-13) (-5.376045784e-06,9.311584441e-06) (-7.712042081e-13,1.335764869e-12) (8.292123503e-08,-1.436237921e-07) (-4.795061678e-05,8.305290452e-05) (-4.456588466e-15,7.71903793e-15) (-4.108193539e-07,7.115599937e-07) (3.307487654e-06,-5.728736662e-06) (2.981602561e-15,-5.164290423e-15) (1.947461171e-06,-3.373101694e-06) (-2.748230891e-05,4.760075535e-05) (-1.069619489e-08,1.8526353e-08) (7.219598505e-15,-1.25047114e-14) (3.005871758e-06,-5.206322606e-06) (-2.336955431e-15,4.047724815e-15) (8.74177065e-07,-1.514119091e-06) (-1.502558212e-05,2.602507165e-05) (1.117880202e-16,-1.936207203e-16) (2.783083705e-06,-4.820442378e-06) (-2.210803363e-05,3.82922375e-05) (1.37753808e-13,-2.385965945e-13) (4.150521297e-07,-7.188913765e-07) (-5.857532454e-06,1.014554382e-05) (-2.638813198e-15,4.570558867e-15) (4.927792809e-07,-8.535187514e-07) (-3.782800919e-06,6.552003387e-06) (-2.398416777e-15,4.154179493e-15) (1.233592183e-06,-2.136644337e-06) (-8.538607507e-06,1.478930203e-05) (5.421010862e-19,-4.662069342e-18) (0.0007200330219,-0.001247133777) (-0.0001878309588,0.0003253327639) (3.990106785e-09,-6.911067683e-09) (-0.03195096622,0.05534069685) (6.640738306e-19,-3.252606517e-19) (-2.330564706e-05,4.036656481e-05) (0.0007153114482,-0.001238955771) (2.662361387e-10,-4.611345192e-10) (0.003245375324,-0.005621154951) (-8.205631677e-22,-1.058791184e-22) (6.095239344e-10,-1.055726423e-09) (-3.44128403e-08,5.960478783e-08) (7.464270367e-14,-1.292849554e-13) (1.059566382e-05,-1.835222807e-05) (2.117582368e-22,-2.117582368e-21) (-1.888476037e-09,3.270936446e-09) (8.862191923e-06,-1.534976668e-05) (-1.368859681e-12,2.370934516e-12) (6.318959677e-06,-1.094475921e-05) (-6.021874859e-22,3.044024654e-22) (7.446402637e-11,-1.28975477e-10) (-1.079534492e-15,1.869808926e-15) (-7.090290898e-08,1.228074408e-07) (4.706497865e-06,-8.151893428e-06) (-1.058791184e-22,-1.164670302e-21) (1.33340407e-08,-2.309523596e-08) (-4.12556043e-14,7.145680375e-14) (6.800887061e-06,-1.177948193e-05) (-1.445470366e-05,2.503628115e-05) (6.6174449e-23,-1.488925103e-22) (1.436655647e-09,-2.488360574e-09) (2.776996631e-14,-4.80989927e-14) (3.119865907e-07,-5.403766263e-07) (-1.632104712e-06,2.826888284e-06) (-1.257314531e-22,4.367513634e-22) (-4.064786482e-09,7.040416709e-09) (2.252897883e-14,-3.90213359e-14) (-3.398791457e-07,5.886879487e-07) (1.948638818e-06,-3.375141438e-06) (3.441071348e-22,-1.111730743e-21) (2.900715708e-10,-5.024186985e-10) (-8.107032806e-16,1.404180303e-15) (1.611039988e-06,-2.790403113e-06) (-1.070561973e-05,1.854267731e-05) (3.97046694e-23,-1.32348898e-22) (6.102102725e-09,-1.056915195e-08) (1.654781322e-14,-2.866165396e-14) (4.947043268e-06,-8.568530288e-06) (-1.021949476e-05,1.770068415e-05) (2.55909002e-24,-1.80945759e-24) (4.489881054e-12,-7.776702106e-12) (-2.191745498e-09,3.79621456e-09) (-9.634049096e-17,1.668666263e-16) (-1.590204424e-08,2.754314857e-08) (-1.124965633e-22,2.316105715e-22) (3.879285887e-09,-6.719120253e-09) (-8.60107949e-15,1.489750647e-14) (1.863843086e-06,-3.228270922e-06) (-3.791159118e-06,6.566480212e-06) (9.264422861e-23,-1.191140082e-22) (8.070512659e-09,-1.397853797e-08) (-9.550114633e-15,1.654128365e-14) (1.512581421e-06,-2.619867872e-06) (-4.456953971e-06,7.719670724e-06) -(-0.1378654839,0.2387900227) (-0.0169245535,0.02931418655) (0.0167882116,-0.02907803547) (0.002856832998,-0.004948179901) (-0.001021264037,0.001768881199) (-6.261071557e-05,0.0001084449405) (-5.097302548e-05,8.828786994e-05) (5.211057454e-06,-9.025816272e-06) (-1.563957284e-05,2.708853477e-05) (1.958875962e-05,-3.392872691e-05) (-7.901662008e-06,1.368608006e-05) (1.11827671e-06,-1.936912078e-06) (-3.986478569e-06,6.904783425e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0002997192672,0.0005191289988) (0.09925944203,-0.1719223967) (0.0005701036329,-0.0009874484577) (0.03744131566,-0.06485026102) (-1.08363822e-05,1.876916455e-05) (5.12637978e-06,-8.879150237e-06) (-0.0004333454456,0.000750576329) (-0.004174757703,0.007230892451) (-5.79928862e-07,1.004466254e-06) (-0.0003092991382,0.0005357218221) (-0.008557666191,0.01482231264) (-1.127253589e-06,1.952460489e-06) (0.001441927363,-0.002497491453) (0.0001026368809,-0.0001777722925) (1.949578464e-07,-3.376768953e-07) (7.957927152e-05,-0.0001378353415) (6.761905753e-05,-0.0001171196432) (1.853059582e-08,-3.209593345e-08) (0.0007081325001,-0.001226521469) (7.017291895e-05,-0.0001215430609) (9.836838076e-08,-1.703790333e-07) (-3.926527806e-05,6.800945657e-05) (-0.000555379596,0.0009619456778) (-7.501276439e-08,1.299259191e-07) (0.0001990917172,-0.0003448369695) (1.15125293e-05,-1.994028567e-05) (2.660804959e-08,-4.608649378e-08) (-1.201453687e-05,2.080978829e-05) (-0.0001308978504,0.0002267217275) (-1.801120482e-08,3.119632186e-08) (0.0001320177961,-0.0002286615304) (1.379282385e-06,-2.388987168e-06) (1.705203038e-08,-2.953498298e-08) (-1.642038463e-06,2.844094046e-06) (-6.621122398e-05,0.000114681204) (-8.667301526e-09,1.501220661e-08) (3.661879991e-05,-6.342562196e-05) (3.18796139e-08,-5.521711101e-08) (4.775645764e-09,-8.271661102e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.000923337689,0.00159926779) (0.0008274199475,-0.001433133388) (-5.55619918e-06,9.623619276e-06) (-3.00319403e-06,5.201684645e-06) (3.982825217e-06,-6.898455633e-06) (1.175840002e-05,-2.036614625e-05) (-4.157662878e-06,7.201283346e-06) (-2.677457455e-06,4.637492347e-06) (2.594031055e-06,-4.492993584e-06) (1.179960774e-06,-2.043752012e-06) (-3.634784569e-07,6.295631548e-07) (1.553863596e-07,-2.691370696e-07) (5.193486208e-07,-8.995381981e-07) (0.03245066753,-0.05620620491) (1.973358379e-05,-3.417956974e-05) (0.003074044889,-0.005324401932) (-0.003612640396,0.006257276715) (-1.712840758e-06,2.966727218e-06) (0.0006726502744,-0.001165064451) (-7.897721341e-05,0.0001367925463) (-9.66799994e-09,1.67454671e-08) (-2.492556751e-05,4.317234933e-05) (2.421005667e-06,-4.19330482e-06) (3.489741388e-10,-6.044409389e-10) (-3.762967448e-07,6.517650808e-07) (-8.094592238e-08,1.402024502e-07) (3.136037117e-05,-5.431775621e-05) (2.045657133e-05,-3.54318209e-05) (6.618798767e-10,-1.146409575e-09) (-2.146830323e-05,3.718419194e-05) (8.675245077e-07,-1.502596524e-06) (-9.606141336e-11,1.663832486e-10) (1.456791745e-05,-2.523237319e-05) (-1.076291122e-05,1.864190907e-05) (1.04629614e-07,-1.812238073e-07) (-8.956602146e-10,1.551328998e-09) (2.547207111e-05,-4.411892133e-05) (-6.797765478e-11,1.177407519e-10) (6.283968979e-06,-1.088415354e-05) (5.35510915e-06,-9.275321128e-06) (-1.527935823e-11,2.646462476e-11) (1.016270017e-06,-1.760231303e-06) (2.862275528e-06,-4.95760664e-06) (-2.747461897e-10,4.758743597e-10) (7.443505779e-07,-1.28925302e-06) (4.771932706e-06,-8.265229897e-06) (-7.264500146e-11,1.258248334e-10) (1.575517403e-06,-2.728876191e-06) (4.761717681e-06,-8.247536954e-06) (-3.577407697e-11,6.196251891e-11) (1.541553266e-06,-2.67004858e-06) (3.194233381e-06,-5.532574508e-06) (0,-2.602085214e-18) (-0.002729426434,0.004727505259) (0.06324356095,-0.1095410608) (3.126494954e-05,-5.415248111e-05) (0.0002650767828,-0.0004591264557) (5.421010862e-20,1.084202172e-19) (0.0001065037686,-0.0001844699384) (-0.006663150733,0.01154091561) (-9.127041456e-07,1.580849952e-06) (0.0002416297276,-0.0004185149648) (-4.235164736e-22,8.470329473e-22) (1.483669546e-06,-2.569791035e-06) (-3.500462032e-05,6.06297809e-05) (-8.719713196e-09,1.510298628e-08) (1.471765147e-05,-2.549172011e-05) (0,1.694065895e-21) (6.08483442e-09,-1.053924237e-08) (-3.835660981e-05,6.643559699e-05) (-3.797649481e-09,6.577721851e-09) (1.178686968e-06,-2.041545716e-06) (-1.058791184e-21,4.235164736e-22) (2.4179593e-07,-4.188028358e-07) (2.191988206e-10,-3.796634942e-10) (-2.364132934e-05,4.094798358e-05) (1.230236002e-05,-2.130831261e-05) (-8.470329473e-22,-8.470329473e-22) (1.181594739e-06,-2.046582122e-06) (1.185010832e-09,-2.052498968e-09) (-4.056713351e-05,7.026433636e-05) (-2.316881374e-05,4.012956255e-05) (4.235164736e-22,-1.694065895e-21) (-2.188570265e-06,3.790714895e-06) (-5.101434888e-09,8.835944417e-09) (6.486224796e-05,-0.000112344709) (-2.66489559e-06,4.61573456e-06) (4.235164736e-22,-1.694065895e-21) (-1.304105758e-06,2.258777432e-06) (-2.554688277e-09,4.424849894e-09) (3.739300532e-05,-6.476658507e-05) (4.052238551e-06,-7.018683054e-06) (5.29395592e-23,2.117582368e-22) (-1.147182595e-08,1.986978541e-08) (-1.153315372e-11,1.997600821e-11) (4.290322277e-06,-7.431056164e-06) (1.630475981e-06,-2.824067239e-06) (-1.058791184e-22,3.176373552e-22) (-8.329871479e-08,1.442776062e-07) (-9.227744456e-11,1.598292224e-10) (3.112744687e-06,-5.391431949e-06) (4.610680091e-06,-7.985932175e-06) (1.058791184e-22,-6.352747104e-22) (-4.072151729e-12,7.053173691e-12) (-4.732118624e-07,8.196269885e-07) (-4.150544398e-10,7.188953777e-10) (1.376158085e-05,-2.383575722e-05) (3.176373552e-22,-3.176373552e-22) (-1.530521796e-07,2.650941513e-07) (-1.73488401e-10,3.004907251e-10) (5.513119534e-06,-9.54900314e-06) (4.337960104e-06,-7.513567301e-06) (-2.64697796e-22,0) (-7.700519144e-08,1.33376904e-07) (-8.508942103e-11,1.473792004e-10) (6.216831785e-07,-1.076786851e-06) (6.222146986e-06,-1.077707471e-05) -(0.05157424969,-0.08932922082) (0.07911949656,-0.1370389879) (0.005517042647,-0.009555798172) (-0.009454263379,0.01637526452) (-0.002817873889,0.004880700745) (0.001260905509,-0.002183952404) (0.0005417059474,-0.0009382622237) (-8.342600894e-05,0.0001444980862) (-0.0001916579055,0.0003319612299) (2.369564209e-05,-4.104205603e-05) (2.020298538e-05,-3.499259714e-05) (6.741548682e-06,-1.167670484e-05) (-1.149346843e-05,1.990727127e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0.0003039026374,-0.0005263748085) (0.04090131005,-0.07084314711) (-0.00883687416,0.01530591502) (0.01252654015,-0.02169660398) (-0.000346879798,0.0006008134342) (-5.135379222e-06,8.894737729e-06) (0.001183168129,-0.002049307314) (-0.00268255013,0.004646313118) (5.808926845e-07,-1.006135643e-06) (0.001574284488,-0.002726740719) (-0.004459427703,0.007723955355) (1.129113895e-06,-1.955682633e-06) (0.0001341706355,-0.0002323903576) (0.0003683995724,-0.0006380867769) (-1.952858243e-07,3.382449696e-07) (-4.227609596e-05,7.322434614e-05) (9.017141291e-05,-0.0001561814685) (-1.85615821e-08,3.214960327e-08) (3.392569073e-05,-5.876102003e-05) (0.0002193194444,-0.0003798724208) (-9.853361838e-08,1.706652333e-07) (0.0001346486464,-0.0002332182967) (-0.0003281340941,0.0005683449226) (7.513718213e-08,-1.30141417e-07) (2.344440262e-05,-4.060689649e-05) (4.508202613e-05,-7.808435976e-05) (-2.665283983e-08,4.616407275e-08) (3.529806653e-05,-6.113804464e-05) (-8.179885248e-05,0.0001416797685) (1.80411161e-08,-3.12481297e-08) (3.253944728e-05,-5.635997594e-05) (1.08655697e-05,-1.881971877e-05) (-1.708094113e-08,2.958505788e-08) (1.043761257e-05,-1.807847528e-05) (-3.251583845e-05,5.631908425e-05) (8.68155776e-09,-1.503689913e-08) (1.137503137e-05,-1.970213227e-05) (5.505628404e-07,-9.536028123e-07) (-4.783889003e-09,8.285938811e-09) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.02101305131,-0.03639567249) (-0.01883018317,0.03261483397) (0.0001264463693,-0.0002190115361) (6.834581865e-05,-0.0001183784304) (-9.063998106e-05,0.0001569930524) (-0.0002675942571,0.0004634868491) (9.461888584e-05,-0.0001638847176) (6.093280015e-05,-0.0001055387057) (-5.903420635e-05,0.0001022502448) (-2.685320506e-05,4.65111155e-05) (8.271937295e-06,-1.432741567e-05) (-3.536237701e-06,6.124943366e-06) (-1.181918528e-05,2.04714294e-05) (0.01305259065,-0.02260775017) (-1.972421406e-05,3.41633409e-05) (-3.139793852e-05,5.438282477e-05) (-0.001208003877,0.002092324091) (1.712798772e-06,-2.966654497e-06) (-0.01682721675,0.02914559437) (-2.585942318e-05,4.47898348e-05) (9.67925942e-09,-1.67649691e-08) (0.0005877851435,-0.001018073733) (1.150133528e-06,-1.992089707e-06) (-3.493905947e-10,6.051622618e-10) (6.952941289e-06,-1.204284757e-05) (8.190971413e-08,-1.418717865e-07) (1.32217184e-05,-2.290068804e-05) (-0.0004639768554,0.0008036314871) (-6.629958665e-10,1.148342526e-09) (1.637002792e-05,-2.835372008e-05) (-0.0002004334016,0.0003471608352) (9.621648201e-11,-1.666518354e-10) (-1.475131992e-05,2.555003558e-05) (0.0002859360877,-0.0004952558317) (1.363844101e-07,-2.362247277e-07) (8.972964103e-10,-1.554162972e-09) (-1.642133626e-05,2.844258873e-05) (6.808895039e-11,-1.179335215e-10) (8.86002333e-06,-1.534601056e-05) (-0.0001070329349,0.0001853864814) (1.530817236e-11,-2.651453229e-11) (1.09037461e-06,-1.888584223e-06) (-4.296340024e-06,7.441479207e-06) (2.752512015e-10,-4.767490659e-10) (-7.394344286e-07,1.280737999e-06) (1.652763697e-05,-2.862670696e-05) (7.276235857e-11,-1.260281019e-10) (3.451371935e-06,-5.977951547e-06) (-1.976500436e-05,3.423399176e-05) (3.583427253e-11,-6.206678068e-11) (3.65150322e-06,-6.3245891e-06) (-1.973991048e-05,3.419052789e-05) (0,0) (-0.0008395542634,0.00145415064) (0.02522679048,-0.04369408282) (-3.126224837e-05,5.414780254e-05) (-0.01100183246,0.01905573281) (-1.084202172e-19,5.421010862e-20) (6.005470316e-05,-0.0001040177971) (-0.003199103504,0.005541009808) (9.138118664e-07,-1.582768581e-06) (-0.002344817337,0.004061342763) (2.710505431e-20,-5.675120747e-20) (5.727926757e-07,-9.921060165e-07) (-1.287812239e-05,2.230556228e-05) (8.725406379e-09,-1.511284716e-08) (-0.000335289152,0.0005807378464) (-2.117582368e-22,4.235164736e-22) (1.81243952e-09,-3.139237334e-09) (-1.242058352e-05,2.151308171e-05) (3.802120767e-09,-6.585466345e-09) (2.538152278e-06,-4.396208702e-06) (1.905824131e-20,-3.811648263e-20) (9.202421743e-08,-1.593906201e-07) (-2.195446888e-10,3.802625555e-10) (-5.129786172e-06,8.885050281e-06) (-0.0002810210377,0.0004867427153) (0,-4.235164736e-22) (3.473961335e-07,-6.017077536e-07) (-1.186831509e-09,2.055652473e-09) (-7.965351864e-05,0.0001379639413) (0.0001256283905,-0.0002175947552) (-3.599890026e-21,2.541098842e-21) (-9.779151322e-07,1.693798695e-06) (5.110513569e-09,-8.851669155e-09) (3.289864391e-06,-5.698212276e-06) (0.0001171394555,-0.0002028914885) (6.564505341e-21,-8.046812999e-21) (-3.844266251e-07,6.658464465e-07) (2.55914016e-09,-4.432560781e-09) (2.632175311e-05,-4.559061372e-05) (-6.372623528e-05,0.0001103770773) (0,2.117582368e-22) (-3.632365662e-09,6.291441879e-09) (1.155167341e-11,-2.000808525e-11) (6.979756536e-06,-1.208929295e-05) (-3.434954941e-05,5.94951648e-05) (5.823351512e-22,-8.470329473e-22) (-4.430089943e-08,7.673140864e-08) (9.242620673e-11,-1.60086886e-10) (-7.708935966e-06,1.335226877e-05) (2.033211796e-05,-3.521626133e-05) (0,1.058791184e-22) (2.732028175e-11,-4.732011607e-11) (-2.030819374e-07,3.517482337e-07) (4.158427398e-10,-7.202607533e-10) (5.390575629e-06,-9.336750872e-06) (-2.117582368e-22,1.694065895e-21) (-3.944424504e-08,6.831943648e-08) (1.737627841e-10,-3.009659705e-10) (1.261265833e-05,-2.184576504e-05) (-1.944658249e-05,3.36824689e-05) (2.911675756e-22,-1.032321404e-21) (-1.766566272e-08,3.059782538e-08) (8.522954168e-11,-1.476218965e-10) (2.700280003e-06,-4.67702216e-06) (-4.74143023e-06,8.212398059e-06) -(0.01677258801,-0.02905097462) (0.02573064519,-0.04456678478) (0.001794210947,-0.00310766452) (-0.003074644141,0.005325439867) (-0.0009164076666,0.001587264639) (0.0004100621676,-0.0007102485086) (0.0001761695175,-0.000305134555) (-2.713117662e-05,4.699257638e-05) (-6.232953669e-05,0.0001079579244) (7.706117781e-06,-1.334738753e-05) (6.57026234e-06,-1.138002819e-05) (2.192435553e-06,-3.797409769e-06) (-3.737819008e-06,6.474092431e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (-0.0004028470466,0.0006977515524) (-0.04299386424,0.07446755728) (-0.007090582965,0.01228124995) (-0.01874283661,0.03246354529) (-0.0002534798879,0.0004390400445) (6.808460863e-06,-1.179260014e-05) (0.001218491756,-0.00211048963) (0.001120069607,-0.001940017466) (-7.702992143e-07,1.334197376e-06) (0.001420036301,-0.002459575022) (0.003079871323,-0.005334493612) (-1.497289225e-06,2.593381012e-06) (-0.0009844018759,0.001705034064) (0.0002005515599,-0.0003473654913) (2.589526051e-07,-4.485190688e-07) (-9.179394658e-05,0.0001589917793) (1.709241288e-05,-2.960492753e-05) (2.461341544e-08,-4.263168609e-08) (-0.0005075475471,0.0008790981388) (0.0001125653912,-0.0001949689767) (1.306577615e-07,-2.263058812e-07) (0.0001311012957,-0.0002270741051) (0.0001706747231,-0.0002956172919) (-9.963682546e-08,1.72576044e-07) (-0.0001322101708,0.0002289947331) (2.533065632e-05,-4.387398374e-05) (3.534207956e-08,-6.121427745e-08) (3.566399888e-05,-6.177185807e-05) (3.686250359e-05,-6.384772911e-05) (-2.392364366e-08,4.143696631e-08) (-7.485395282e-05,0.0001296508494) (7.155927413e-06,-1.239442985e-05) (2.264899878e-08,-3.922921662e-08) (9.107253788e-06,-1.577422628e-05) (2.532776104e-05,-4.386896896e-05) (-1.151244726e-08,1.994014357e-08) (-1.899134758e-05,3.289397892e-05) (3.912341003e-07,-6.776373393e-07) (6.342969012e-09,-1.09863446e-08) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.01653457404,-0.02863872232) (-0.01481693702,0.02566368773) (9.949706138e-05,-0.0001723339655) (5.377938606e-05,-9.314862906e-05) (-7.132203009e-05,0.0001235333798) (-0.0002105623306,0.0003647046547) (7.44529174e-05,-0.0001289562357) (4.794629208e-05,-8.304541391e-05) (-4.645234247e-05,8.045781728e-05) (-2.113002537e-05,3.65982775e-05) (6.508952823e-06,-1.127383699e-05) (-2.782565142e-06,4.819544201e-06) (-9.300181641e-06,1.610838712e-05) (-0.01463285707,0.0253448519) (2.616874833e-05,-4.532560167e-05) (-0.002336540875,0.00404700751) (0.001812179585,-0.003138787114) (-2.272899548e-06,3.936777498e-06) (-0.01319038986,0.02284642541) (3.996000794e-05,-6.921276402e-05) (-1.284453257e-08,2.224738301e-08) (0.0004618297644,-0.0007999126164) (-9.553607913e-07,1.65473343e-06) (4.636983056e-10,-8.031490246e-10) (5.524098285e-06,-9.568018896e-06) (-1.086310209e-07,1.881544475e-07) (-1.339854236e-05,2.320695611e-05) (-0.000365141319,0.0006324433165) (8.800808196e-10,-1.524344694e-09) (2.84893946e-05,-4.934507893e-05) (-0.0001517399338,0.0002628212748) (-1.277053227e-10,2.211921074e-10) (-2.208009141e-05,3.824384015e-05) (0.0002236392519,-0.0003873545469) (2.407892199e-08,-4.170591628e-08) (-1.190479427e-09,2.061970853e-09) (-3.154137007e-05,5.46312555e-05) (-9.036164811e-11,1.565109656e-10) (1.950696771e-06,-3.378705918e-06) (-8.471154588e-05,0.0001467247015) (-2.03076594e-11,3.517389786e-11) (5.730243228e-08,-9.925072411e-08) (-5.392190249e-06,9.339547476e-06) (-3.658433149e-10,6.336592089e-10) (-1.116528349e-06,1.933883829e-06) (8.868127353e-06,-1.536004714e-05) (-9.65577339e-11,1.67242901e-10) (1.416117621e-06,-2.452787669e-06) (-1.848146722e-05,3.201084023e-05) (-4.754985347e-11,8.235876209e-11) (1.592600314e-06,-2.75846466e-06) (-1.728333755e-05,2.993561877e-05) (1.734723476e-18,-8.67361738e-19) (0.001421288335,-0.002461743608) (-0.02866009467,0.04964074012) (4.147852654e-05,-7.184291538e-05) (-0.008490374326,0.01470575971) (-8.131516294e-20,-2.710505431e-20) (-3.488083878e-05,6.041538497e-05) (0.002604149643,-0.004510519493) (-1.212696121e-06,2.100451296e-06) (-0.001949014841,0.003375792729) (6.776263578e-21,-1.43995601e-20) (-6.84819863e-07,1.186142797e-06) (1.665488592e-05,-2.88471086e-05) (-1.158052873e-08,2.005806414e-08) (-0.0002638178336,0.0004569458917) (-3.176373552e-22,0) (-3.213881516e-09,5.566606076e-09) (1.951032757e-05,-3.379287863e-05) (-5.044923245e-09,8.738063381e-09) (1.02387175e-06,-1.773397892e-06) (4.235164736e-21,2.541098842e-21) (-1.126062466e-07,1.950397403e-07) (2.913830078e-10,-5.046901739e-10) (1.392033993e-05,-2.411073601e-05) (-0.0002210927651,0.0003829439024) (-4.023406499e-21,3.388131789e-21) (-6.274119749e-07,1.086709418e-06) (1.575244907e-09,-2.728404213e-09) (-2.951896633e-05,5.112834946e-05) (0.0001121274987,-0.0001942105247) (-2.117582368e-22,5.082197684e-21) (9.099122566e-07,-1.576014259e-06) (-6.783673963e-09,1.174966797e-08) (-4.63062193e-05,8.020472453e-05) (9.03034606e-05,-0.0001564101819) (1.058791184e-22,-1.694065895e-21) (6.916940092e-07,-1.198049167e-06) (-3.396487491e-09,5.882888901e-09) (-8.287775515e-06,1.435484827e-05) (-5.108477623e-05,8.848142792e-05) (-8.999725065e-22,3.176373552e-21) (5.895674323e-09,-1.021160747e-08) (-1.532991602e-11,2.655219342e-11) (2.033345566e-06,-3.521857829e-06) (-2.71197858e-05,4.697284689e-05) (2.911675756e-22,-3.176373552e-22) (2.929347052e-08,-5.073777927e-08) (-1.226739939e-10,2.124775902e-10) (-8.152622709e-06,1.412075675e-05) (1.185719849e-05,-2.053727021e-05) (-1.058791184e-22,0) (2.366362762e-11,-4.098660533e-11) (2.030510961e-07,-3.51694815e-07) (-5.516550356e-10,9.554945499e-10) (-6.289741996e-06,1.08941527e-05) (1.058791184e-22,1.164670302e-21) (8.545604851e-08,-1.480142178e-07) (-2.306127229e-10,3.994329529e-10) (5.359197563e-06,-9.282402468e-06) (-1.792223291e-05,3.104221799e-05) (1.058791184e-22,-4.235164736e-22) (4.463913472e-08,-7.731724935e-08) (-1.130973968e-10,1.958904374e-10) (1.567605963e-06,-2.715173175e-06) (-8.255361831e-06,1.429870613e-05) -(-0.02616144742,0.04531295613) (-0.04013399248,0.06951411408) (-0.002798563663,0.004847254452) (0.004795750123,-0.008306482873) (0.001429388891,-0.002475774183) (-0.0006396043251,0.001107827188) (-0.0002747846405,0.0004759409585) (4.231850505e-05,-7.329780085e-05) (9.721999344e-05,-0.0001683899681) (-1.201980249e-05,2.08189086e-05) (-1.024812465e-05,1.775027258e-05) (-3.419704066e-06,5.923101189e-06) (5.830153065e-06,-1.009812133e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.12111549,0.2097781823) (-0.0005607657229,0.0009712747232) (-0.002000518664,0.003464999967) (-0.0004075616168,0.0007059174275) (-0.0002729746153,0.0004728059028) (-1.278868443e-06,2.21506512e-06) (-6.037625137e-06,1.045747349e-05) (-3.526857492e-05,6.108696368e-05) (-1.932297171e-05,3.346836876e-05) (-7.415213061e-06,1.284352577e-05) (-8.572210917e-06,1.484750484e-05) (-9.354879707e-06,1.620312695e-05) (-6.899174245e-06,1.194972032e-05) (-8.71432143e-08,1.509364747e-07) (-0.002819411596,0.004883364132) (0.01502942923,-0.02603173503) (0.0008700924344,-0.001507044304) (0.0001228246921,-0.0002127386071) (7.320806353e-10,-1.268000856e-09) (0.0001192873191,-0.0002066116974) (-8.929992509e-05,0.0001546720074) (1.373510757e-11,-2.378990418e-11) (0.000299626932,-0.0005189690695) (-0.0001838490925,0.0003184359691) (5.231009419e-11,-9.060374093e-11) (3.300273741e-05,-5.716241798e-05) (-2.446401255e-05,4.237291269e-05) (4.222108033e-12,-7.312905615e-12) (2.383089031e-07,-4.12763128e-07) (-2.03263699e-07,3.52063054e-07) (1.663957862e-14,-2.882059555e-14) (1.598075748e-05,-2.767948389e-05) (-1.228323086e-05,2.127517993e-05) (1.819532649e-12,-3.151522991e-12) (1.701272271e-05,-2.946690011e-05) (-1.203371311e-05,2.08430025e-05) (2.268351531e-12,-3.928900099e-12) (4.63149072e-06,-8.021977241e-06) (-3.344313848e-06,5.792521501e-06) (6.401746952e-13,-1.1088151e-12) (3.782440103e-06,-6.551378435e-06) (-2.784982798e-06,4.823731704e-06) (4.566111209e-13,-7.908736621e-13) (3.233764025e-06,-5.601043591e-06) (-1.652550646e-06,2.862301681e-06) (8.418017035e-13,-1.458043318e-12) (2.598776547e-06,-4.501213017e-06) (-1.422702445e-06,2.464192919e-06) (5.27927159e-13,-9.14396661e-13) (8.817371997e-07,-1.527213629e-06) (-1.45942524e-07,2.527798665e-07) (4.485466415e-13,-7.769055717e-13) (1.843143693e-18,-6.396792818e-18) (8.67361738e-19,3.469446952e-18) (0,-1.301042607e-18) (-0.02060375576,0.0356867518) (0.06045012766,-0.1047026924) (0,2.168404345e-19) (1.084202172e-19,2.168404345e-19) (4.33680869e-19,0) (-0.005297526462,0.009175584986) (0.01558567133,-0.02699517461) (0,0) (-1.694065895e-21,-3.811648263e-21) (1.694065895e-21,-1.694065895e-21) (-2.702014961e-05,4.680027195e-05) (0.0001359807469,-0.0002355255625) (2.371692252e-20,3.388131789e-20) (6.776263578e-21,1.355252716e-20) (6.776263578e-21,1.355252716e-20) (-0.0003173531288,0.0005496717431) (0.0009319561715,-0.001614195439) (-2.64697796e-23,0) (2.316105715e-23,-8.602678371e-23) (-1.32348898e-23,0) (1.10762366e-08,-1.918460455e-08) (-6.716194071e-07,1.163278936e-06) (0,0) (0,5.29395592e-23) (-7.940933881e-23,1.389663429e-22) (-4.754822232e-07,8.235593687e-07) (2.065183874e-06,-3.577003397e-06) (8.470329473e-22,0) (-1.058791184e-22,6.352747104e-22) (0,-1.905824131e-21) (-1.517604603e-05,2.628568279e-05) (4.50724991e-05,-7.806785847e-05) (-1.482307658e-21,2.329340605e-21) (0,-2.117582368e-22) (0,-4.235164736e-22) (-7.538565652e-06,1.305717873e-05) (2.367733081e-05,-4.101033996e-05) (4.63221143e-23,1.32348898e-23) (5.29395592e-23,-3.97046694e-23) (-2.64697796e-23,-5.29395592e-23) (-8.103564901e-07,1.403578613e-06) (2.67611154e-06,-4.635161153e-06) (-2.117582368e-22,4.235164736e-22) (-1.588186776e-22,0) (0,0) (-1.711417653e-06,2.964262327e-06) (5.087485249e-06,-8.811782933e-06) (-1.058791184e-22,-4.235164736e-22) (-4.63221143e-23,6.6174449e-23) (5.29395592e-23,4.235164736e-22) (-2.996110319e-06,5.189415297e-06) (8.841353425e-06,-1.531367334e-05) (5.29395592e-23,-2.117582368e-22) (1.058791184e-22,2.117582368e-22) (-2.382280164e-22,2.64697796e-22) (-1.848699751e-06,3.202041897e-06) (5.660846895e-06,-9.804874436e-06) (0,0) (2.316105715e-23,3.30872245e-23) (2.382280164e-22,1.058791184e-22) (-1.315863121e-06,2.279141781e-06) (3.859226647e-06,-6.68437663e-06) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(-0.1083538861,0.187674436) (0.04130000015,-0.07153369861) (-0.005588563056,0.009679675154) (0.0001512454779,-0.0002619648521) (-0.0004157109044,0.0007200324077) (0.0004987808677,-0.0008639138046) (-0.0004215574793,0.0007301589725) (0.0001921116781,-0.0003327471872) (-0.000135218537,0.0002342053762) (5.460781335e-05,-9.458350721e-05) (-4.878621887e-05,8.45002098e-05) (1.937500693e-05,-3.35584964e-05) (-2.137444623e-05,3.702162685e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) -(0.2475006931,0) (0.001885655396,0) (0.003936900835,0) (0.0009741204454,0) (0.0005004075617,0) (8.132634863e-07,0) (1.510083094e-05,0) (7.282759888e-05,0) (3.408159058e-05,0) (1.381866281e-05,0) (1.778426622e-05,0) (1.795710592e-05,0) (1.276438578e-05,0) (7.833976983e-06,0) (0.3041454174,0) (0.002926686712,0) (0.02849839687,0) (2.755679327e-06,0) (1.477200313e-09,0) (5.595452752e-05,0) (0.000471312833,0) (2.30767043e-11,0) (0.0001328145617,0) (0.002968612862,0) (1.385122765e-10,0) (0.0001424591791,0) (8.663764015e-06,0) (6.653302287e-12,0) (1.353880343e-06,0) (1.063332768e-06,0) (1.058585676e-13,0) (0.0001028139335,0) (8.885062031e-06,0) (4.930568137e-12,0) (9.226573536e-06,0) (0.0001114531879,0) (5.306720436e-12,0) (2.485545863e-05,0) (1.209685944e-06,0) (1.149711836e-12,0) (2.362894913e-06,0) (2.235255113e-05,0) (1.084804457e-12,0) (4.060026829e-05,0) (2.884757044e-07,0) (1.846273793e-12,0) (8.663751496e-07,0) (2.708317392e-05,0) (1.260179665e-12,0) (1.705402686e-05,0) (4.258384822e-09,0) (8.003161713e-13,0) (1.561251128e-17,0) (6.938893904e-18,0) (8.67361738e-19,0) (0.04483170943,0) (0.1133052738,0) (8.67361738e-19,0) (-1.734723476e-18,0) (4.33680869e-19,0) (0.009624007898,0) (0.03498925778,0) (0,0) (5.421010862e-20,0) (6.776263578e-21,0) (1.920663012e-05,0) (0.0007802029551,0) (2.439454888e-19,0) (0,0) (2.710505431e-20,0) (0.0006986693326,0) (0.001726467409,0) (0,0) (-3.176373552e-22,0) (-4.235164736e-22,0) (1.653240914e-09,0) (1.835110102e-05,0) (0,0) (0,0) (0,0) (2.342751068e-06,0) (1.709453932e-06,0) (0,0) (1.016439537e-20,0) (1.101142831e-20,0) (2.57422105e-05,0) (0.0001083718738,0) (1.270549421e-21,0) (0,0) (-4.235164736e-22,0) (2.225083718e-05,0) (3.271647394e-05,0) (0,0) (2.911675756e-22,0) (0,0) (2.685905316e-06,0) (3.292917407e-06,0) (2.117582368e-22,0) (2.117582368e-22,0) (0,0) (2.887868495e-06,0) (1.229628472e-05,0) (2.117582368e-22,0) (0,0) (-4.235164736e-22,0) (6.902245323e-06,0) (1.565229019e-05,0) (-6.352747104e-22,0) (2.117582368e-22,0) (-4.235164736e-22,0) (5.060621495e-06,0) (8.434035548e-06,0) (-1.058791184e-22,0) (-8.470329473e-22,0) (-3.176373552e-22,0) (2.848171096e-06,0) (7.27171318e-06,0) -(0.09496554104,0) (0.02219350733,0) (0.0009466734748,0) (2.321681126e-06,0) (4.129794632e-05,0) (0.0001989658342,0) (0.0002383724452,0) (0.0001692599573,0) (0.0001085254047,0) (7.176902103e-05,0) (5.852636604e-05,0) (5.506831979e-05,0) (4.747128362e-05,0) (0.08203099855,0) (8.306610194e-08,0) (0.1359609918,0) (0.009081386798,0) (5.657391905e-09,0) (0.01196712578,0) (5.443671855e-05,0) (2.267692166e-12,0) (6.454709571e-05,0) (4.074384328e-08,0) (2.322477598e-15,0) (4.516263572e-08,0) (1.806939314e-09,0) (9.637884248e-05,0) (0.0001200645114,0) (3.505088404e-13,0) (0.0001259530711,0) (0.0003880768169,0) (2.442169459e-14,0) (0.0001806923474,0) (0.0003300259584,0) (4.99498452e-09,0) (5.220474457e-13,0) (0.0003140465704,0) (2.043749217e-14,0) (6.916995033e-05,0) (0.0001161425193,0) (3.068536094e-15,0) (6.841874488e-06,0) (0.0001365406311,0) (3.090610873e-13,0) (1.118320353e-06,0) (0.0001219538312,0) (2.402304362e-14,0) (6.135362753e-06,0) (0.0001061573737,0) (1.022792114e-14,0) (9.682037194e-06,0) (9.16160885e-05,0) (0,0) (0.008475895408,0) (0.1732522102,0) (1.124213962e-07,0) (0.02297182624,0) (1.084202172e-19,0) (0.0009869192534,0) (0.006480627332,0) (3.316210435e-10,0) (0.000596346401,0) (1.694065895e-21,0) (6.030566529e-06,0) (7.772448169e-05,0) (1.304810639e-11,0) (1.025243196e-05,0) (0,0) (6.172455307e-07,0) (3.424236285e-06,0) (8.91940129e-14,0) (8.102047562e-08,0) (0,0) (1.7510264e-07,0) (5.995060337e-14,0) (0.0002921369044,0) (3.675876272e-05,0) (2.032879073e-20,0) (1.275281687e-06,0) (4.637667068e-13,0) (0.0003051743252,0) (0.0002630933887,0) (6.776263578e-21,0) (3.588497215e-06,0) (5.404957306e-12,0) (0.0003430215163,0) (6.96043537e-05,0) (5.082197684e-21,0) (2.144710129e-06,0) (2.269021793e-12,0) (0.0002012220718,0) (3.895281572e-05,0) (1.694065895e-21,0) (3.844113255e-09,0) (1.769838074e-15,0) (0.0001178597097,0) (2.092539475e-05,0) (-8.470329473e-22,0) (6.145570316e-08,0) (3.010474357e-14,0) (2.166322872e-05,0) (9.000390998e-05,0) (0,0) (1.298476433e-12,0) (5.281220211e-07,0) (2.249656277e-13,0) (0.0001117973318,0) (2.541098842e-21,0) (1.467994913e-07,0) (7.105028024e-14,0) (4.480358687e-05,0) (5.317998557e-05,0) (0,0) (6.039698986e-08,0) (2.87767903e-14,0) (3.246588878e-06,0) (8.011602699e-05,0) -(0.4945189387,0) (0.307421443,0) (0.1319654046,0) (0.03941143222,0) (0.01673841645,0) (0.005001509027,0) (0.002982067969,0) (0.0008721944031,0) (0.0006739086684,0) (0.0001662005827,0) (0.000162668234,0) (2.726728507e-05,0) (3.849627959e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/vdrpre_ref.dat b/tests/09_DeePKS/100_NO_KP_deepks_UT/vdrpre_ref.dat deleted file mode 100644 index 2e89a5c17d..0000000000 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/vdrpre_ref.dat +++ /dev/null @@ -1,108 +0,0 @@ -0.3147524089 0.3911428714 0.2057672699 0.06817076837 0.01624681051 0.001918900616 8.656155591e-06 0.0003293313421 0.0005165205109 0.0005274892321 0.000308913253 0.0001921098042 7.200817462e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1469209212 0.001757452279 0.008885391297 0.0004765796032 0.0003137171467 3.753583099e-07 3.817084e-06 6.033841652e-07 5.317323845e-07 8.414643968e-06 3.31541252e-06 3.002007615e-07 1.229871495e-06 0.001306177527 1.355168736e-09 0.2503658847 1.046614926e-05 2.060951688e-11 0.04152020624 4.050576507e-07 1.008432388e-12 0.003778769832 1.889305054e-06 8.299835696e-12 0.002559803502 1.316603047e-15 2.853709815e-10 7.660087477e-05 2.266554054e-16 5.359854749e-09 1.127557649e-07 1.45607619e-15 8.395718063e-08 9.154156321e-06 9.161877051e-08 3.993706237e-16 1.150818494e-07 1.068890628e-15 4.419176462e-08 7.775554357e-06 1.628861158e-17 4.528323296e-06 1.43185262e-05 2.4559691e-13 6.161678805e-07 1.125366415e-06 1.159443188e-15 1.58315933e-07 5.391837529e-07 2.249684773e-15 6.286898691e-07 3.183188427e-06 4.448028559e-19 0.0002446691601 8.145458932e-07 5.664740953e-10 0.177759353 -6.349579338e-19 2.201408811e-06 0.0003158153936 8.549720583e-10 0.0706465972 1.479912098e-22 2.464242292e-13 6.094571757e-11 1.707997834e-15 4.38015457e-05 8.269300325e-20 2.311133295e-11 9.174418953e-05 8.403150674e-11 0.001971316564 -2.007326991e-23 1.266660794e-13 7.775697971e-17 6.88337889e-11 2.410431746e-06 -6.86036081e-23 5.576701781e-10 1.468000917e-14 6.062379565e-07 3.176643229e-06 -4.986134895e-24 2.300661614e-12 5.707138737e-16 1.135038219e-09 1.530804122e-07 -5.980944546e-24 3.081533289e-11 8.947554131e-16 2.296325301e-09 3.899274721e-07 6.919820755e-22 8.755362874e-11 1.48542278e-15 8.808607626e-08 2.190836451e-05 7.33336844e-23 2.423577032e-09 3.638364692e-14 4.518853107e-06 4.641490491e-06 1.992518989e-27 6.210057073e-11 3.638362452e-11 1.650294839e-19 9.04762241e-12 3.587164823e-23 4.100520746e-10 4.164857323e-15 3.101457978e-07 1.081074942e-06 -3.80276458e-23 4.313670249e-09 1.267753544e-14 2.818838655e-06 9.917835142e-07 -0.1537404548 0.003727007567 0.00854296775 0.0008283378013 0.000249242271 3.135135163e-06 3.485164461e-06 1.245370055e-07 1.451806454e-06 9.235094054e-06 1.535303137e-06 1.834495508e-07 1.651277635e-06 2.815830942e-10 0.01983051592 0.2311916741 1.480857164e-06 5.065308511e-11 0.05191474862 1.74172454e-07 5.928974891e-13 0.002321923377 5.781125973e-06 1.396714216e-11 0.002995923626 1.300580172e-15 2.083846774e-09 2.160554926e-05 8.895745648e-08 1.874301971e-14 4.549221948e-07 3.00999963e-15 6.499753675e-08 5.596904508e-06 8.516512065e-16 5.426835441e-08 1.474190623e-07 1.228211982e-15 1.807091778e-07 1.378205676e-05 2.933157802e-14 5.773281799e-06 8.30249756e-06 1.793970786e-07 1.575249981e-14 1.14196802e-07 1.547102566e-15 2.937426657e-07 8.906479179e-07 3.127361326e-15 1.516806236e-06 2.811236419e-06 2.811943765e-19 1.511060808e-05 5.607603491e-10 0.1487858497 0.02038732434 1.050266011e-18 9.734329974e-09 0.0004046016186 8.829540298e-10 0.0787413867 1.540137289e-21 1.175486027e-09 3.16393186e-09 1.81849237e-13 0.0005493161406 6.283105506e-21 1.11287863e-09 2.242153709e-05 5.137087989e-11 0.001903470945 1.173677349e-22 1.177409821e-09 2.273659858e-09 4.248626625e-15 2.121979301e-05 -1.62663242e-23 1.746371504e-10 3.101321218e-15 2.618867638e-10 3.3303246e-06 -9.241192164e-25 4.476698989e-11 7.989091629e-15 1.282889475e-07 2.814187778e-07 2.49305795e-25 2.426502395e-12 1.278136369e-16 7.949778252e-10 1.110717381e-07 2.436173229e-11 1.214922802e-22 3.526017041e-16 7.3810059e-07 2.697616726e-05 5.123629247e-23 1.877165974e-10 1.913490852e-14 2.115184742e-06 1.181201865e-06 -1.081200185e-24 6.907330169e-11 1.047719175e-07 7.59681015e-15 7.557011361e-09 1.895051636e-10 2.706506283e-23 6.491569807e-15 1.28432286e-06 1.324891707e-06 -2.095882442e-23 9.739590345e-10 2.829120282e-14 3.141117806e-06 2.187995244e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.002296938444 0.0004656769935 -3.404442288e-05 8.60557369e-05 -2.195463111e-05 1.021437952e-06 1.052245556e-06 3.19721922e-07 -3.631499723e-07 -8.080661741e-07 1.730221396e-07 -2.294551817e-08 -1.671873287e-07 0.008189657419 5.041046806e-06 -0.008342968697 0.0002452856292 -2.067629571e-07 0.002505844645 -1.362524288e-05 1.28943057e-08 -0.0003814274264 -3.297204231e-05 -4.172364306e-08 0.0001791736462 1.381913284e-10 1.079257912e-07 -3.267927222e-05 -3.366221799e-11 2.800914463e-07 2.957483131e-08 -4.691192177e-11 6.280388515e-07 3.585047097e-06 -8.962099782e-07 -4.954574338e-11 9.752156065e-07 3.109204061e-11 3.176698282e-07 -2.771203269e-06 -2.22648192e-12 1.653561186e-06 -1.853786177e-06 -4.89836296e-10 1.10502967e-06 -9.167977887e-07 3.191879817e-11 5.061688212e-07 -6.78714229e-07 3.355563738e-11 7.856396421e-07 -1.190808539e-06 6.043190332e-19 -0.0009274664534 -0.0002742614059 4.438674186e-06 -0.001474755946 -7.468940745e-19 -1.006015126e-05 -0.002941831249 -2.930994065e-06 0.005259890253 1.166565424e-21 5.998322676e-10 6.199376993e-08 -1.995271809e-10 6.084148142e-05 4.776679407e-20 -7.44667295e-11 -0.0003970796515 2.33129964e-07 0.0003677132413 -3.68699226e-23 4.113038732e-10 -1.578850801e-11 2.295141761e-08 6.300650718e-06 -2.94232626e-22 4.941788939e-08 -4.216631935e-10 -3.616195343e-06 5.091702812e-06 -4.798836428e-24 -3.504778343e-09 -1.048420309e-10 2.359753035e-07 2.499492298e-07 -8.405546557e-23 9.88648561e-09 -1.014613753e-10 -2.52638343e-07 8.108630087e-07 2.684442651e-23 -3.46259369e-09 2.113178083e-11 2.345799347e-07 -3.336664573e-06 -1.117133926e-23 -3.308381734e-08 -2.028902496e-10 2.843321806e-06 -2.094078847e-06 4.108838252e-25 -5.632286098e-11 7.855457093e-09 7.109805969e-13 -7.829784988e-09 -6.990447582e-23 -1.617807133e-08 8.400741329e-11 9.173899183e-07 -1.236998982e-06 6.91933089e-23 -4.115909576e-08 1.129540535e-10 1.15856545e-06 -1.384583023e-06 --0.05751293495 -0.01742314575 0.002807441229 -0.002741260601 0.0006877098011 -6.313790157e-05 -3.703790973e-05 -1.993765262e-06 1.779141841e-05 1.117127821e-05 -3.925466161e-06 1.105928494e-06 4.760820116e-06 2.356370425e-06 0.002086629187 0.008695215087 -6.2979561e-06 3.741398894e-07 -0.07442571239 3.937534685e-07 -7.848018286e-09 0.008950218454 -7.896863725e-06 5.968412251e-08 -0.002792952986 -8.133735554e-11 5.197317153e-08 0.0004693188178 -7.459501429e-07 -3.500108653e-10 -4.093285999e-06 1.032339543e-10 -9.466882665e-07 -8.422440694e-05 6.995807459e-11 -1.632739084e-06 -4.319618027e-06 -2.136820204e-11 9.874220973e-07 7.401138147e-05 1.010201071e-10 -5.466525505e-06 -8.034065257e-06 -6.503235901e-07 -1.341657236e-10 -4.441394808e-07 -3.383529974e-11 1.834727903e-06 5.4567997e-06 -3.617647595e-11 2.98183865e-06 5.407168305e-06 1.598134e-19 -3.801065212e-06 -4.420846394e-06 0.06307890282 0.006834856211 -4.576452274e-19 1.2360615e-07 -0.0004147197189 3.245439041e-06 -0.05323530859 -8.236760234e-21 -7.133332631e-09 1.11168147e-08 5.132952514e-09 -0.005614192732 1.086175827e-21 3.611864086e-10 1.48279327e-05 -1.809388448e-07 0.00192530132 -3.410533991e-21 -1.462622461e-08 -4.015748519e-08 3.138645067e-10 -0.0004375922108 7.359980678e-22 -2.062581006e-09 1.526916853e-10 -7.487547447e-09 -6.5275208e-05 -1.070557335e-22 9.665570157e-10 -4.759094266e-10 4.428858264e-06 1.003236761e-05 -1.429327378e-23 1.297693598e-10 -3.054149145e-11 7.432534774e-08 9.720891838e-06 2.414566489e-11 7.427719019e-22 -3.039500919e-12 1.39543781e-06 5.069545599e-05 -1.940421899e-22 -4.776269042e-10 1.818254864e-10 -9.70477885e-06 -5.529115333e-06 -1.194470295e-25 -4.190493315e-10 -1.078377038e-06 -1.525802291e-10 -6.801392399e-08 5.154379602e-10 3.537893142e-23 -9.02140094e-11 5.837397148e-06 5.909045808e-06 6.466991571e-24 2.987041801e-10 -1.60387982e-10 3.118621718e-06 1.889669192e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.05227305888 -0.01059774195 0.0007747731012 -0.0019584315 0.0004996371268 -2.324558865e-05 -2.394669917e-05 -7.276138765e-06 8.264461737e-06 1.838973561e-05 -3.937587669e-06 5.221874471e-07 3.804800733e-06 0.003294115467 -5.03865326e-06 8.521411615e-05 8.201923211e-05 2.067578889e-07 -0.06268694534 -4.461298473e-06 -1.290932257e-08 0.008994674824 -1.566384246e-05 4.177343488e-08 -0.003310642092 -1.39836719e-10 4.550215342e-08 0.0007412007475 3.371897556e-11 -2.135755559e-07 -6.832987415e-06 4.698765008e-11 -6.359455323e-07 -9.524322186e-05 -1.168207208e-06 4.963625375e-11 -6.28702053e-07 -3.114294568e-11 4.478956051e-07 5.538823034e-05 2.230680665e-12 1.774135912e-06 2.782574797e-06 4.907366656e-10 -1.097731374e-06 -3.17533837e-06 -3.19703626e-11 1.108827398e-06 2.817216516e-06 -3.361210006e-11 1.86095787e-06 7.359028335e-06 -9.803448877e-19 -0.0002852827998 -0.0001093982521 -4.438290702e-06 0.0612087474 -3.397598074e-19 -5.672657459e-06 -0.001412428299 2.934551322e-06 -0.05104289932 1.803454727e-20 2.315741605e-10 2.280737082e-08 1.99657454e-10 -0.001386055972 2.965016531e-20 -2.218079148e-11 -0.0001285817751 -2.334044471e-07 0.000791823636 -3.10231296e-21 1.565366177e-10 1.581342029e-11 4.980086481e-09 -0.0001439248567 2.832122044e-23 1.452916396e-08 4.223110462e-10 -7.100395277e-06 -2.760876911e-05 -3.929599613e-22 -1.566034151e-09 1.050286112e-10 1.196885357e-08 -1.098689074e-05 3.482091021e-22 2.91435589e-09 1.016381852e-10 -1.778376473e-07 -1.275177812e-05 -8.267208313e-24 -1.096373539e-09 -2.116571378e-11 3.816288677e-07 7.029415091e-05 -1.755306226e-22 -1.759502375e-08 2.032173328e-10 -7.041690834e-06 -9.234442056e-06 1.556223992e-25 3.778730592e-10 3.371220318e-09 -7.123309402e-13 -3.067020323e-09 5.848383874e-24 -4.169374205e-09 -8.414027643e-11 2.098761966e-06 5.54532595e-06 -6.358169866e-23 -9.442255645e-09 -1.131400601e-10 5.032227385e-06 1.055086583e-06 --0.01870392239 -0.005666223889 0.0009130148356 -0.0008914920716 0.0002236517882 -2.053323155e-05 -1.204518931e-05 -6.483972824e-07 5.785990742e-06 3.633038737e-06 -1.276610461e-06 3.596617133e-07 1.548277966e-06 -2.360738584e-06 0.03012600167 -0.02661648463 -0.0001013170272 -3.750412402e-07 -0.02410440258 -6.473083976e-06 7.86788762e-09 0.002917313174 -6.209909928e-05 -5.982724624e-08 -0.0008486929007 8.153315782e-11 1.767015122e-07 0.0001524684146 8.386966911e-07 3.506062313e-10 -2.412940959e-06 -1.03489508e-10 4.325370202e-07 -2.813110036e-05 -7.01336135e-11 -1.272009523e-06 -6.63678222e-07 2.141801211e-11 7.20810683e-07 2.366970548e-05 -1.012439589e-10 -8.825188043e-08 -4.302174199e-06 2.262857906e-07 1.343906619e-10 -5.823968285e-07 3.391481584e-11 1.224153722e-06 1.147096904e-06 3.625524393e-11 1.96618936e-06 7.619721113e-07 -3.744936505e-20 -0.0002399783128 4.429670749e-06 0.05862781591 -0.03565811638 2.006737816e-19 3.134980355e-06 -0.003476641184 -3.253025745e-06 -0.01396980218 8.38773361e-22 1.136629777e-07 1.037074105e-06 -5.146353529e-09 -0.00182694799 -8.959366313e-21 -1.794104248e-08 -0.0001795896175 1.81405844e-07 0.0008103216112 -8.218998856e-22 2.246534061e-07 1.460111013e-07 -3.147057971e-10 -0.0001426984983 2.407381486e-22 3.165906529e-08 -1.530328056e-10 -5.880359132e-08 -2.120406882e-05 5.161917122e-23 -1.426401455e-08 4.771886505e-10 -9.224878544e-07 5.639404919e-06 -9.630491888e-24 -1.923071812e-09 3.061682836e-11 1.365337013e-07 3.050917587e-06 -5.065341759e-10 1.395353467e-22 3.046264775e-12 6.475738678e-07 1.629354359e-05 5.914770965e-23 9.109682087e-09 -1.822953378e-10 -1.485812014e-06 -3.477463597e-06 1.738616418e-23 6.655951109e-09 -5.74589738e-07 1.527580882e-10 1.947745163e-07 -7.857037501e-09 4.265848827e-23 9.043149751e-11 3.224418723e-06 6.035756443e-07 2.356688693e-23 -1.558553604e-08 1.607444256e-10 1.658167214e-06 -5.670284416e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.0411321873 -0.008339062533 0.0006096469769 -0.001541034196 0.0003931502828 -1.829129434e-05 -1.884297833e-05 -5.725387206e-06 6.503070519e-06 1.447036132e-05 -3.098376047e-06 4.108944902e-07 2.993889774e-06 -0.003692931319 6.684943117e-06 0.006341380197 -0.0001230406465 -2.74369599e-07 -0.04913856285 6.893948142e-06 1.71308782e-08 0.007067222778 1.30112031e-05 -5.544016143e-08 -0.002630298682 1.854554824e-10 -4.611068783e-08 0.0005833114635 -4.475959074e-11 -3.716938248e-07 -5.172975408e-06 -6.236533381e-11 -9.518968852e-07 -7.449260097e-05 -2.062491615e-07 -6.585442473e-11 -1.207582855e-06 4.133017006e-11 9.861243906e-08 4.383718543e-05 -2.959197357e-12 9.323612458e-08 3.492314996e-06 -6.522504806e-10 -1.657548191e-06 -1.703770788e-06 4.242558686e-11 4.549582158e-07 2.634266796e-06 4.460116865e-11 8.116553402e-07 6.443219229e-06 -1.068966517e-18 0.0004829576041 0.0001242870854 5.888692216e-06 0.04723623807 -1.110279007e-18 3.294780257e-06 0.001149751687 -3.89436725e-06 -0.04242691604 5.593243827e-21 -2.768655948e-10 -2.949608241e-08 -2.64989249e-10 -0.001090599805 1.715199122e-20 3.933175976e-11 0.0002019770285 3.09697559e-07 0.0003194157652 -3.495880179e-21 -1.91547415e-10 -2.098780887e-11 -1.35141104e-08 -0.0001132326063 1.321395472e-22 -2.624027897e-08 -5.605204444e-10 -2.631350537e-06 -2.46417407e-05 2.743392169e-22 1.457134286e-09 -1.394145316e-10 -1.684666273e-07 -8.469855444e-06 1.913215578e-22 -5.243764032e-09 -1.348940671e-10 5.599469354e-08 -1.022219073e-05 1.320565933e-21 1.779518342e-09 2.80884512e-11 1.111762798e-07 5.549890313e-05 -4.672020974e-22 1.163451117e-08 -2.697230875e-10 -7.446974375e-06 -5.385302829e-06 1.02284459e-25 3.272970404e-10 -3.370708344e-09 9.449748969e-13 3.578609755e-09 1.563977974e-22 9.0329589e-09 1.116684355e-10 8.917771118e-07 5.110647247e-06 1.381276361e-22 2.385951371e-08 1.501339326e-10 2.921382097e-06 1.83702408e-06 -0.02917389264 0.008838028944 -0.001424096841 0.001390526193 -0.0003488462539 3.20272016e-05 1.878777362e-05 1.011353251e-06 -9.024838172e-06 -5.66671952e-06 1.99122386e-06 -5.609910046e-07 -2.414963783e-06 3.131764434e-06 0.02113859613 -0.02661209925 -7.166687639e-05 4.97322524e-07 0.03782720766 -5.177796953e-06 -1.043334764e-08 -0.004535076858 -4.088571921e-05 7.933896824e-08 0.001461529417 -1.081506332e-10 9.410884509e-08 -0.0002381860178 1.194202806e-06 -4.647773923e-10 1.261180451e-06 1.372863619e-10 1.038364612e-06 4.216515965e-05 9.30177865e-11 2.694383648e-07 2.749813509e-06 -2.841116772e-11 -1.995626923e-07 -3.784413631e-05 1.343156087e-10 4.046369427e-06 2.801726811e-06 6.603081789e-07 -1.781739592e-10 -1.048868705e-07 -4.49845343e-11 -4.575800789e-07 -3.241043012e-06 -4.809009413e-11 -7.612857105e-07 -3.494038197e-06 -5.741651832e-19 -0.0001781248725 -5.875863018e-06 -0.00325358254 -0.03202255516 -8.101736883e-19 2.27129912e-06 -0.002309571161 4.314038673e-06 0.02951567944 -8.224158858e-21 9.109152453e-08 7.736946357e-07 6.824590353e-09 0.002846967579 -2.262829101e-21 -1.380258363e-08 -0.00014659622 -2.405362853e-07 -0.000837203801 -3.039381199e-22 1.804379704e-07 1.404322281e-07 4.172190712e-10 0.0002216784642 -8.026239776e-23 2.542909593e-08 2.030650731e-10 -3.866749846e-08 3.31291695e-05 -3.002652305e-25 -1.148514282e-08 -6.330232694e-10 -4.027290359e-06 -3.296411943e-06 -3.292775826e-23 -1.548017159e-09 -4.061005464e-11 4.700979461e-08 -5.014173148e-06 -4.001910504e-10 -3.414142269e-22 -4.040786575e-12 -5.617850981e-07 -2.586134062e-05 4.196693038e-23 7.229839581e-09 2.418124915e-10 6.181658491e-06 1.538533616e-06 -3.325977813e-24 5.335196032e-09 3.786615396e-07 -2.026498209e-10 1.980117903e-07 -6.313576244e-09 -5.264077005e-23 -1.199476441e-10 -1.961240248e-06 -3.991018329e-06 -5.951271131e-23 -1.197908084e-08 -2.132048396e-10 -1.09602752e-06 -5.6965094e-07 -0.2731656004 0.01615280688 -0.02892567571 -0.00681892694 0.00311081643 -0.0001242414384 9.142358452e-06 0.0001499983368 -0.0001504484689 9.162783375e-05 -7.145343949e-05 6.119624794e-05 -3.277313972e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2695462447 0.02324389201 -0.03424272561 -0.004333899483 0.002291534039 4.332848919e-05 0.0001066902242 -2.294053818e-05 1.892984583e-05 -3.739677434e-05 2.322309841e-05 -2.861059199e-06 6.880804962e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1208306479 -0.009094799051 -0.002843835608 4.385357727e-05 0.000101455379 -2.497568383e-05 2.882303202e-05 4.591201175e-06 1.25522063e-05 2.574477926e-05 9.479225358e-06 3.178405029e-06 8.85371498e-06 1.738623967e-10 -0.03001102387 0.1997440824 -0.0001221715915 -1.474070407e-10 -0.02386352647 -3.161081699e-06 8.892664108e-13 -0.0003782332269 5.069147332e-07 1.658455888e-13 1.114472307e-05 -1.500171579e-14 -4.573358943e-07 5.007857078e-05 2.271380542e-06 1.920933973e-13 -1.440347086e-05 3.522406308e-14 -3.493952407e-06 4.251167502e-05 1.184301284e-14 8.749326325e-07 -6.649639108e-06 -7.916368834e-15 -3.478571729e-06 4.038721491e-05 5.133587596e-14 -1.83560613e-06 3.443235877e-05 6.48529231e-07 4.700311431e-15 3.713046695e-06 -8.486490725e-15 -1.351843834e-06 9.719683219e-06 -1.014688306e-14 -1.550010209e-06 1.674276403e-05 1.659787342e-19 -0.000377473387 -9.424700907e-12 -0.008719428334 0.06301289739 1.509206601e-19 4.987671827e-06 -0.00143187811 -4.141268854e-10 -0.005892254741 1.36923888e-21 1.859842766e-07 4.229671091e-07 -6.138141063e-13 -6.644558929e-05 1.317108531e-22 -2.859798928e-08 -8.511178364e-06 1.891527864e-12 -1.727510638e-05 -1.017620099e-21 3.662671398e-07 6.488075772e-07 -3.437640429e-13 -2.522670586e-05 5.705380246e-23 5.164395866e-08 2.409182206e-13 -3.633301909e-07 1.293020884e-05 2.534751714e-23 -2.328816091e-08 -6.937242033e-14 4.52940866e-06 -8.289612776e-06 -3.36358598e-23 -3.139926191e-09 -5.790193192e-15 -4.039157833e-07 1.915478012e-06 -8.160659869e-10 9.58734191e-22 -1.266991673e-15 -9.077704595e-06 2.704664962e-05 -2.163291385e-22 1.483552381e-08 5.416556888e-14 -5.200987241e-06 1.074630952e-05 -4.44851724e-24 1.08671901e-08 -1.266292565e-07 -3.289808152e-14 -9.136562887e-07 -1.278080324e-08 -3.784986404e-22 -2.091689006e-14 -5.329587217e-06 9.978394523e-06 2.477348889e-22 -2.480045938e-08 -3.214682514e-14 6.229744764e-07 4.252964659e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.002296938444 0.0004656769935 -3.404442288e-05 8.60557369e-05 -2.195463111e-05 1.021437952e-06 1.052245556e-06 3.19721922e-07 -3.631499723e-07 -8.080661741e-07 1.730221396e-07 -2.294551817e-08 -1.671873287e-07 0.008189657419 5.041046806e-06 -0.008342968697 0.0002452856292 -2.067629571e-07 0.002505844645 -1.362524288e-05 1.28943057e-08 -0.0003814274264 -3.297204231e-05 -4.172364306e-08 0.0001791736462 1.381913284e-10 1.079257912e-07 -3.267927222e-05 -3.366221799e-11 2.800914463e-07 2.957483131e-08 -4.691192177e-11 6.280388515e-07 3.585047097e-06 -8.962099782e-07 -4.954574338e-11 9.752156065e-07 3.109204061e-11 3.176698282e-07 -2.771203269e-06 -2.22648192e-12 1.653561186e-06 -1.853786177e-06 -4.89836296e-10 1.10502967e-06 -9.167977887e-07 3.191879817e-11 5.061688212e-07 -6.78714229e-07 3.355563738e-11 7.856396421e-07 -1.190808539e-06 4.344816528e-18 -0.0009274664534 -0.0002742614059 4.438674186e-06 -0.001474755946 1.204676635e-19 -1.006015126e-05 -0.002941831249 -2.930994065e-06 0.005259890253 -2.221566365e-21 5.998322676e-10 6.199376993e-08 -1.995271809e-10 6.084148142e-05 7.109212604e-21 -7.446672947e-11 -0.0003970796515 2.33129964e-07 0.0003677132413 -3.545072778e-22 4.113038732e-10 -1.578850801e-11 2.295141761e-08 6.300650718e-06 -4.001117444e-22 4.941788939e-08 -4.216631935e-10 -3.616195343e-06 5.091702812e-06 2.167094317e-23 -3.504778343e-09 -1.048420309e-10 2.359753035e-07 2.499492298e-07 -1.788101657e-23 9.88648561e-09 -1.014613753e-10 -2.52638343e-07 8.108630087e-07 -1.849138103e-22 -3.46259369e-09 2.113178083e-11 2.345799347e-07 -3.336664573e-06 1.529844035e-23 -3.308381734e-08 -2.028902496e-10 2.843321806e-06 -2.094078847e-06 6.176789783e-25 -5.632286098e-11 7.855457093e-09 7.109805969e-13 -7.829784988e-09 -8.975681052e-23 -1.617807133e-08 8.400741329e-11 9.173899183e-07 -1.236998982e-06 6.91933089e-23 -4.115909576e-08 1.129540535e-10 1.15856545e-06 -1.384583023e-06 --0.05751293495 -0.01742314575 0.002807441229 -0.002741260601 0.0006877098011 -6.313790157e-05 -3.703790973e-05 -1.993765262e-06 1.779141841e-05 1.117127821e-05 -3.925466161e-06 1.105928494e-06 4.760820116e-06 2.356370425e-06 0.002086629187 0.008695215087 -6.2979561e-06 3.741398894e-07 -0.07442571239 3.937534685e-07 -7.848018286e-09 0.008950218454 -7.896863725e-06 5.968412251e-08 -0.002792952986 -8.133735554e-11 5.197317153e-08 0.0004693188178 -7.459501429e-07 -3.500108653e-10 -4.093285999e-06 1.032339543e-10 -9.466882665e-07 -8.422440694e-05 6.995807459e-11 -1.632739084e-06 -4.319618027e-06 -2.136820204e-11 9.874220973e-07 7.401138147e-05 1.010201071e-10 -5.466525505e-06 -8.034065257e-06 -6.503235901e-07 -1.341657236e-10 -4.441394808e-07 -3.383529974e-11 1.834727903e-06 5.4567997e-06 -3.617647595e-11 2.98183865e-06 5.407168305e-06 1.598134e-19 -3.801065212e-06 -4.420846394e-06 0.06307890282 0.006834856211 -9.997463137e-19 1.2360615e-07 -0.0004147197189 3.245439041e-06 -0.05323530859 -1.84011556e-20 -7.133332631e-09 1.11168147e-08 5.132952515e-09 -0.005614192732 6.62659353e-22 3.611864086e-10 1.48279327e-05 -1.809388448e-07 0.00192530132 -3.410533991e-21 -1.462622461e-08 -4.015748519e-08 3.138645067e-10 -0.0004375922108 7.359980678e-22 -2.062581006e-09 1.526916853e-10 -7.487547447e-09 -6.5275208e-05 -1.467604029e-22 9.665570157e-10 -4.759094266e-10 4.428858264e-06 1.003236761e-05 1.548522827e-23 1.297693598e-10 -3.054149145e-11 7.432534774e-08 9.720891838e-06 2.414566489e-11 6.633625631e-22 -3.039500919e-12 1.39543781e-06 5.069545599e-05 -1.808073001e-22 -4.776269042e-10 1.818254864e-10 -9.70477885e-06 -5.529115333e-06 3.751499743e-24 -4.190493315e-10 -1.078377038e-06 -1.525802291e-10 -6.801392399e-08 5.154379602e-10 4.199637632e-23 -9.02140094e-11 5.837397148e-06 5.909045808e-06 2.076170653e-23 2.987041801e-10 -1.60387982e-10 3.118621718e-06 1.889669192e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.04586770644 0.1295753448 0.0004442131108 0.1967622424 0.0001704511524 0.07116101842 0.01342434892 0.1479153603 0.05829558339 0.002881188799 0.0986772665 0.03669568318 0.0583789555 0.004863627082 0.02285094543 0.01871025158 0.01720002272 0.0129751607 0.01950909261 0.002216861756 0.007850079801 0.0006684007036 0.01106999276 0.004241350104 0.006378882393 0.0004382569924 0.00246318523 0.0002443597394 0.003066181956 0.001196173181 0.001717101805 2.637892713e-05 0.0006299645073 1.244860412e-05 0.0006474759855 0.0002384489065 0.000314514928 9.546434388e-07 0.0001139889123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3.590997234e-05 0.0001233917216 1.30441383e-07 1.553904071e-05 1.536434435e-06 2.779572112e-06 2.900697787e-07 1.694146338e-07 2.480155548e-07 7.759935467e-08 9.02954327e-09 1.753815685e-09 2.272725483e-08 0.05134867755 0.01875202135 0.000278013623 0.005748536394 0.00207432931 0.0001512337715 0.0004583230146 0.0001648728595 3.850112287e-05 0.0005754261716 0.0002097466075 1.254127337e-05 1.450462071e-05 4.081696167e-05 1.394154879e-05 4.99941714e-06 1.463681797e-05 7.757214435e-09 1.511410508e-06 4.698023398e-06 1.404013897e-06 8.766678713e-06 6.146623103e-06 8.264078866e-06 9.044095585e-07 2.283550353e-06 9.876553109e-07 3.043249266e-07 6.038139103e-07 2.400053708e-07 9.769650476e-07 1.981749796e-06 7.468840143e-07 8.787060028e-07 1.618326537e-06 8.543525323e-07 5.00506041e-07 9.817712635e-07 4.454731505e-07 1.491737581e-19 0.003515743553 0.09234509611 0.03477975199 1.223510922e-05 -1.501767784e-19 4.597357965e-05 0.02740325923 0.01004796136 0.0003916175239 2.992264509e-21 1.460078625e-06 6.30598451e-05 2.330863833e-05 8.451039346e-05 -1.844823213e-21 2.399382941e-10 0.001718607472 0.0006467762177 6.859021545e-05 4.251345641e-22 1.335565741e-06 3.205846614e-06 7.65274698e-06 1.646933149e-05 3.944387583e-24 4.379161533e-06 1.211169872e-05 2.157052131e-05 8.161268252e-06 4.968072677e-23 5.33910383e-06 1.925982866e-05 4.905944391e-05 4.081163393e-07 1.469227726e-22 3.171881935e-06 1.1505279e-05 2.779490012e-05 1.68620799e-06 -1.036785146e-23 1.369395562e-07 3.006229585e-07 6.24704245e-07 5.081771609e-07 3.424744145e-23 4.516212835e-07 1.131399868e-06 1.789055475e-06 9.447754395e-07 -8.075302296e-24 5.108269749e-11 1.696043397e-06 3.063049089e-06 6.775872177e-06 7.795889265e-23 6.382847646e-07 1.694474736e-06 2.713576222e-06 1.415412032e-06 3.838234423e-23 3.927215262e-07 1.006395786e-06 4.761797554e-07 1.932952223e-06 -0.02151507676 0.08145033313 0.0009225981511 0.009071793741 0.001897530337 0.001271522409 0.000393613206 3.191902604e-05 0.0002180280768 1.351339316e-05 1.003663981e-05 6.66710727e-06 1.372598266e-05 0.01971880285 0.0002195616787 0.0003270306584 2.678465689e-05 0.002763516793 0.106697746 8.901625396e-07 0.0001038820182 0.0345000232 1.0786905e-05 0.0002550410404 0.002603733392 5.086780754e-06 1.296261603e-06 0.01019461019 6.255143051e-06 6.536172276e-06 3.683045246e-05 3.540615072e-06 1.378850213e-05 0.0012674418 5.746639196e-06 4.91232311e-05 0.000126571826 3.717599159e-07 5.395422689e-06 0.0003974504446 3.479206662e-07 5.176068333e-06 7.774311777e-06 2.357456293e-06 1.1427038e-06 1.727367798e-06 7.399816442e-07 1.145978052e-05 3.343258584e-05 4.18479744e-07 5.861896876e-06 1.04002171e-05 -2.519287535e-20 9.561558787e-07 0.03485246954 0.02674278495 0.002291387465 1.627842927e-19 1.569546168e-06 0.0004250908481 0.01192913133 0.03599121376 8.549265763e-19 4.328799598e-08 3.906012346e-08 0.0001448848612 0.05737890751 4.792259135e-21 1.172235841e-10 9.806088991e-06 0.0006373039673 0.001947382062 5.603328817e-20 1.816924258e-07 7.09263354e-07 2.318653812e-05 0.009023977889 -1.438259125e-21 2.436045478e-08 7.517683295e-06 2.140748389e-07 0.001279410655 -1.121855366e-20 2.086878003e-08 2.83498791e-05 0.0001528953655 0.0003576463545 7.993980623e-21 6.94006599e-09 7.29799041e-06 6.948945167e-06 0.0008507631173 2.393151383e-11 1.257910817e-21 2.620125233e-08 2.63818605e-06 9.527036339e-05 -4.328713316e-22 1.215275915e-09 1.727758853e-06 4.452695345e-05 2.58813648e-05 -3.032763467e-23 2.542260728e-09 1.109931996e-05 3.064539702e-06 6.121327117e-07 1.401947502e-09 2.749151978e-22 1.253713298e-06 2.653165066e-05 2.635447273e-05 -4.544341389e-24 9.160979474e-11 9.092686847e-07 3.096286743e-06 1.632018929e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.04650791085 0.05339342277 -0.006885511921 0.06582968803 0.005456254699 -0.07128594273 -0.03665265658 0.0950451253 -0.05839246872 -0.01466480269 0.05142104472 -0.03675624203 0.005432133241 0.01745725437 -0.02288938761 -0.009939728979 0.02293658634 -0.01299685736 0.0009346548029 0.006928611436 -0.007863266239 -0.002292082329 0.006540467226 -0.004248384897 0.0007511567492 0.001716174845 -0.002467331594 -0.0007179158406 0.001916075511 -0.00119815967 0.0004232273626 0.0002078052141 -0.0006310325767 -7.912951479e-05 0.0003179706291 -0.0002388411143 9.769891917e-05 1.648674933e-05 -0.0001141856685 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.0008172287347 -0.00280811301 -2.968547159e-06 -0.0003536329813 -3.496572923e-05 -6.325669591e-05 -6.601323888e-06 -3.855489098e-06 -5.64426606e-06 -1.765983606e-06 -2.054917267e-07 -3.991282865e-08 -5.172202734e-07 0.02065391313 -0.01874311768 -2.839598951e-06 0.001922210209 -0.002074278464 -0.00378330843 0.0001500682067 -0.0001650648726 -0.0009079186671 0.0002733644709 -0.0002099969132 -0.000231728652 -1.467732161e-05 1.720867302e-05 -0.0003162091956 -5.007846613e-06 -1.116087826e-05 -1.792231646e-06 -1.513850326e-06 -4.757169056e-06 -3.730015351e-05 1.142734126e-05 -6.157851779e-06 -5.327686836e-06 -9.058902923e-07 3.219670478e-06 -1.974033463e-05 -3.048988288e-07 6.478429413e-07 -3.602534663e-07 -9.787608102e-07 -1.968661101e-06 2.586840302e-06 -8.801255416e-07 3.545150804e-06 -3.546258443e-06 -5.013482219e-07 2.325538149e-06 -2.752961059e-06 2.777873386e-20 0.001081420423 0.03683490234 -0.03477674716 -0.0005078099275 -6.231946013e-20 2.592330502e-05 0.01315681817 -0.01006015626 -0.00380032527 -1.46836857e-20 5.636850501e-07 2.319957752e-05 -2.332385676e-05 -0.001925267643 9.946441141e-21 7.146844379e-11 0.0005565170578 -0.0006475377206 0.0001477002938 -1.025570991e-20 5.082980186e-07 -3.210905036e-06 1.660522345e-06 -0.0003762065667 1.763305915e-22 1.287500472e-06 -1.21303074e-05 4.235369307e-05 -4.425289125e-05 3.23242418e-21 2.385662691e-06 -1.929410409e-05 2.488333702e-06 -1.793936166e-05 2.3551947e-21 9.350130233e-07 -1.152532848e-05 1.956543723e-05 -2.651761138e-05 -3.767215424e-22 4.335966598e-08 -3.011056923e-07 1.016306761e-06 -1.070586547e-05 5.40744227e-23 2.401865277e-07 -1.133223818e-06 -4.430724484e-06 4.166258622e-06 -2.490130388e-24 -3.427165247e-10 7.278680151e-07 -3.068866642e-06 2.654190084e-06 4.100047502e-23 1.64497237e-07 -1.697154657e-06 6.207993408e-06 -6.345131393e-06 1.188776048e-24 9.009374426e-08 -1.008053064e-06 2.068286092e-06 -1.472957506e-06 -0.006996970788 0.02648866226 0.0003000404036 0.002950260254 0.0006171004868 0.0004135149158 0.0001280079144 1.038046461e-05 7.090544467e-05 4.394723674e-06 3.264040205e-06 2.168226279e-06 4.463860426e-06 -0.0197553569 0.003169952543 -0.001001057065 0.0004308924624 -0.002770174458 0.0345564099 -1.463376791e-05 -0.000104145023 0.01124524197 8.482571159e-05 -0.0002556526339 0.0007911948594 -5.099026091e-06 4.407108103e-06 0.003311940614 -7.032866511e-06 -6.547290259e-06 2.17110916e-05 -3.549379796e-06 -6.299896001e-06 0.000423327795 -5.761058672e-06 3.827017946e-05 1.944685014e-05 -3.72626502e-07 3.938617866e-06 0.0001271093011 -3.486916283e-07 8.356272429e-08 4.1630784e-06 -8.202975706e-07 -1.144619623e-06 2.265084665e-06 -7.4172067e-07 7.646110877e-06 7.028005024e-06 -4.193909109e-07 3.865265904e-06 1.465586965e-06 3.801670102e-19 6.036641356e-05 -0.03492203779 0.0248557125 -0.01195439354 2.286540998e-19 3.980786074e-05 0.003563583505 -0.01195701747 0.009444674026 1.694195919e-19 -6.897536925e-07 3.64387135e-06 -0.0001452631239 0.01867201301 3.681967098e-20 -5.822791923e-09 -0.0001187671813 -0.0006389488347 0.0008196149627 3.318479423e-21 -2.79072853e-06 -2.5788548e-06 -2.32486879e-05 0.002942712557 -5.698451686e-21 -3.739146372e-07 -7.534478148e-06 1.681240677e-06 0.0004156051342 1.06627487e-21 -3.079720876e-07 -2.842608235e-05 -3.184660905e-05 0.0002010405408 4.027771147e-22 -1.028458898e-07 -7.315992414e-06 1.276502879e-05 0.000267013377 -5.020416579e-10 6.329357093e-23 -2.62595584e-08 1.224289849e-06 3.061993997e-05 1.844870906e-23 -2.317871362e-08 -1.732223519e-06 6.817124161e-06 1.627774038e-05 -1.258620615e-22 -4.037988332e-08 5.914031108e-06 -3.068111963e-06 -1.752991826e-06 -2.137047511e-08 2.938446993e-22 -1.256735752e-06 1.465535905e-05 2.691960492e-06 3.773048953e-24 -4.779938991e-09 -9.112894287e-07 1.646291736e-06 -4.897159534e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.0616499241 -0.05612508663 -0.005524837477 -0.09849767551 0.003987118413 0.0945105571 -0.03774692604 -0.03968505748 0.07743198352 -0.01322794725 -0.0355135707 0.04874151795 -0.03985523459 0.009503484414 0.03035175017 -0.02158210048 0.004347737172 0.01723436331 -0.01398296519 0.00355609991 0.01042686528 -0.002231696874 -0.003401939794 0.005633636669 -0.004236003097 0.0009642830837 0.003271720014 -0.0007253584191 -0.0008634759321 0.001588834351 -0.000973594934 0.0001368578979 0.0008367370361 -6.904381328e-05 -0.0002476788081 0.0003167226213 -0.0001631146387 1.171560823e-05 0.0001513990305 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.0006430541106 -0.002209624475 -2.335865557e-06 -0.0002782637621 -2.751354053e-05 -4.977489973e-05 -5.19439452e-06 -3.03377501e-06 -4.441312862e-06 -1.389602407e-06 -1.616956109e-07 -3.140627274e-08 -4.069859621e-07 -0.02315446542 0.02486709624 -0.0002113144789 -0.002883591821 0.002752586386 -0.002965630851 -0.0002318971576 0.0002190437346 -0.0007133624739 -0.0002270707624 0.0002787001547 -0.0001841079618 1.946548646e-05 -1.743881751e-05 -0.0002488508671 6.647567465e-06 -1.942370938e-05 -1.356825305e-06 2.009289265e-06 -7.120632471e-06 -2.917357685e-05 2.017518414e-06 8.169870928e-06 -1.023318319e-05 1.202217678e-06 7.088695561e-07 -1.562354862e-05 4.044755587e-07 3.404607548e-08 -4.521418737e-07 1.300895681e-06 -2.972631304e-06 1.388004183e-06 1.167951802e-06 1.454595627e-06 -3.315964822e-06 6.652579445e-07 1.014281671e-06 -2.410363274e-06 6.163535258e-19 -0.001830745551 -0.04184804203 0.04614153827 -0.0003918889316 1.764947461e-19 -1.505671622e-05 -0.0107099765 0.01335057348 -0.003158834692 3.398586641e-20 -6.739309617e-07 -3.000331146e-05 3.095587548e-05 -0.001514871375 3.97471341e-21 -1.267303587e-10 -0.0008741803541 0.0008591989311 5.958119995e-05 7.088844651e-21 -6.219833605e-07 4.261561381e-06 -4.506042692e-06 -0.0002959797984 1.344794969e-21 -2.325279806e-06 1.61001834e-05 1.56959449e-05 -3.949717088e-05 -3.339223934e-21 -2.219766983e-06 2.561091166e-05 -3.502433912e-05 -1.382955411e-05 5.460294355e-22 -1.682357216e-06 1.529640096e-05 -6.160454092e-06 -2.125727712e-05 -1.889043096e-22 -7.037685441e-08 3.9958929e-07 2.960709067e-07 -8.452535281e-06 -5.617685434e-24 -1.588206347e-07 1.504087388e-06 -4.685734219e-06 2.429661067e-06 2.594227694e-23 -2.96845995e-10 -7.277574765e-07 4.071144148e-06 -3.096918026e-06 -1.308137e-22 -3.56383646e-07 2.252412441e-06 2.637815303e-06 -5.847758739e-06 5.335784493e-23 -2.276567175e-07 1.337660336e-06 1.200711633e-06 -2.564584225e-06 --0.01091369342 -0.04131632783 -0.0004679952334 -0.004601739364 -0.0009625373212 -0.000644989832 -0.0001996634222 -1.619117925e-05 -0.0001105964721 -6.854775913e-06 -5.091165187e-06 -3.381943069e-06 -6.962613624e-06 0.02620752866 0.002224269497 -0.001000892129 0.0003047929621 0.003673383099 -0.05422961591 -1.170549913e-05 0.0001381032981 -0.01748116626 5.58488008e-05 0.0003390297478 -0.001362512354 6.763664198e-06 2.347166408e-06 -0.005173910596 -1.001395262e-05 8.679345149e-06 -1.134781363e-05 4.708510543e-06 -1.51237669e-05 -0.0006345178053 7.640857198e-06 -8.106428758e-06 -8.057400327e-05 4.942920937e-07 -1.090440533e-06 -0.0002032277807 4.625928184e-07 -3.831370518e-06 -2.711142746e-06 -2.393650938e-06 1.517526643e-06 4.079308649e-07 9.838166031e-07 -2.85806264e-06 -1.98571424e-05 5.56293275e-07 -1.496586117e-06 -6.720478032e-06 -2.281668516e-19 4.480721443e-05 0.04632333236 -0.001379381288 -0.01073557061 9.300625427e-20 2.884086942e-05 0.002367327906 0.01585694053 -0.01995489753 7.925591351e-20 -5.527808322e-07 2.718459272e-06 0.0001926337373 -0.02909695075 2.03428278e-21 -4.47964897e-09 -9.694780846e-05 0.0008472184569 -0.0008468054569 -2.072597897e-20 -2.241467871e-06 -2.480320484e-06 3.082178995e-05 -0.004571428628 1.998257695e-21 -3.003345517e-07 9.997786745e-06 1.10553403e-06 -0.0006493401365 1.8929894e-22 -2.479739066e-07 3.770913572e-05 -0.0001390322279 -0.0001175146047 2.233757008e-21 -8.278796515e-08 9.703906891e-06 4.395115462e-06 -0.0004388356181 -3.966417036e-10 -3.01985468e-22 3.483258316e-08 -1.062099363e-06 -4.860039762e-05 -6.661622542e-22 -1.83956344e-08 2.297772888e-06 -2.83623588e-05 -7.201757854e-06 -1.332597352e-23 -3.23672139e-08 -3.897417542e-06 4.070176231e-06 -1.782127644e-06 -1.71723915e-08 3.090396322e-23 1.666924655e-06 -8.914065602e-06 -1.780002849e-05 9.679275628e-24 -3.673872713e-09 1.208697071e-06 -1.088177979e-06 -4.919808827e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 1.333601076e-05 -0.003680518671 0.01171062439 0.004572524643 -0.001931974151 1.016225988e-05 -0.003695330387 0.003163975381 -1.380679875e-06 -0.002791090092 0.002119938484 -1.702859645e-06 0.001336173644 -0.001159269776 4.948719016e-07 5.602991138e-05 -5.170347486e-05 1.165106662e-08 0.0004402708215 -0.0003880446353 1.452039402e-07 -0.0002896023254 0.0002398595806 -1.282564785e-07 0.0001483925852 -0.0001273107664 5.926285014e-08 -7.692981325e-05 6.523609042e-05 -3.032478854e-08 4.206025406e-05 -3.160521265e-05 3.109924057e-08 -1.970181647e-05 1.391253042e-05 -1.452397306e-08 7.57314583e-06 -4.370287337e-06 1.070626807e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.004214043356 0.006158998385 0.0001312011809 -0.0007825700286 -0.000160366703 0.0001179069761 2.941101487e-05 -1.215575976e-05 -1.292825713e-05 3.591247411e-06 1.211948785e-06 2.186819431e-07 -9.353687809e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.04520166927 0.04251668573 -0.0009345582901 -0.0001451268835 0.0002799358963 0.0005029806326 -0.0003063111856 -7.350246924e-05 0.0001538232273 3.114230238e-05 -2.423650254e-05 1.916106456e-05 2.552626129e-05 1.454931824e-06 -0.003157854218 0.007512458075 0.0005195851016 -1.088795504e-06 0.03421108654 -7.146290097e-06 -1.177097021e-08 -0.001457959397 -6.924319911e-07 7.086881675e-10 -1.038967993e-05 9.381966906e-10 -1.140640338e-05 0.001087813846 -1.904659493e-05 -3.587190187e-09 0.0001295991408 1.20807976e-09 5.088937078e-05 -0.0006397323042 9.728329649e-10 -2.632356776e-05 0.0001948452291 1.377274291e-10 -1.900743854e-05 0.0002168844333 1.768045232e-10 1.738073434e-06 -3.331910854e-05 -2.35095165e-06 -4.003305574e-11 -1.444095283e-05 1.856004633e-10 -8.44366819e-06 5.955031546e-05 1.173764161e-10 -3.04711323e-06 3.220324779e-05 1.279583594e-19 9.495322441e-05 7.430118957e-08 -0.00369666856 0.02112509155 3.419787431e-19 6.333326623e-05 0.001467685891 -1.522189737e-06 0.003983623004 3.454912087e-20 -1.128629076e-06 1.486140405e-06 -1.732577337e-08 0.0006790959101 1.154097429e-22 -9.281519799e-09 -5.628658706e-06 -6.662351652e-09 -1.747322974e-05 1.337485782e-20 -4.549907229e-06 -1.145926933e-05 -2.539534721e-08 0.0005202223217 -1.586521241e-21 -6.099495322e-07 1.186146372e-08 1.038789438e-05 -0.0002534353773 -5.153734141e-21 -5.02811008e-07 4.132508469e-09 0.000156366619 -0.0002955184562 4.099301301e-21 -1.679232679e-07 1.383585823e-09 -3.776354522e-05 0.0001676407959 -8.088281908e-10 9.556481871e-23 1.092177589e-11 -1.716212179e-05 5.082791124e-05 1.635831506e-21 -3.774756953e-08 5.146970487e-10 2.38628948e-05 -5.030265065e-05 1.304201895e-22 -6.59283491e-08 1.303346218e-06 6.607505923e-10 8.223005948e-06 -3.476269999e-08 -7.970519971e-22 2.906841531e-10 -2.422359532e-05 4.450385645e-05 1.558245265e-22 -7.6060703e-09 1.822462067e-10 6.185128518e-07 3.673086727e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.05227305888 -0.01059774195 0.0007747731012 -0.0019584315 0.0004996371268 -2.324558865e-05 -2.394669917e-05 -7.276138765e-06 8.264461737e-06 1.838973561e-05 -3.937587669e-06 5.221874471e-07 3.804800733e-06 0.003294115467 -5.03865326e-06 8.521411615e-05 8.201923211e-05 2.067578889e-07 -0.06268694534 -4.461298473e-06 -1.290932257e-08 0.008994674824 -1.566384246e-05 4.177343488e-08 -0.003310642092 -1.39836719e-10 4.550215342e-08 0.0007412007475 3.371897556e-11 -2.135755559e-07 -6.832987415e-06 4.698765008e-11 -6.359455323e-07 -9.524322186e-05 -1.168207208e-06 4.963625375e-11 -6.28702053e-07 -3.114294568e-11 4.478956051e-07 5.538823034e-05 2.230680665e-12 1.774135912e-06 2.782574797e-06 4.907366656e-10 -1.097731374e-06 -3.17533837e-06 -3.19703626e-11 1.108827398e-06 2.817216516e-06 -3.361210006e-11 1.86095787e-06 7.359028335e-06 -9.803448877e-19 -0.0002852827998 -0.0001093982521 -4.438290702e-06 0.0612087474 -3.397598074e-19 -5.672657459e-06 -0.001412428299 2.934551322e-06 -0.05104289932 -9.070507038e-21 2.315741605e-10 2.280737082e-08 1.99657454e-10 -0.001386055972 2.287390173e-20 -2.218079148e-11 -0.0001285817751 -2.334044471e-07 0.000791823636 -3.10231296e-21 1.565366177e-10 1.581342029e-11 4.980086481e-09 -0.0001439248567 2.832122044e-23 1.452916396e-08 4.223110462e-10 -7.100395277e-06 -2.760876911e-05 -3.929599613e-22 -1.566034151e-09 1.050286112e-10 1.196885357e-08 -1.098689074e-05 1.364508652e-22 2.91435589e-09 1.016381852e-10 -1.778376473e-07 -1.275177812e-05 -8.267208313e-24 -1.096373539e-09 -2.116571378e-11 3.816288677e-07 7.029415091e-05 2.47985851e-22 -1.759502375e-08 2.032173328e-10 -7.041690834e-06 -9.234442056e-06 1.556223992e-25 3.778730592e-10 3.371220318e-09 -7.123309402e-13 -3.067020323e-09 -1.000307345e-22 -4.169374205e-09 -8.414027643e-11 2.098761966e-06 5.54532595e-06 -6.358169866e-23 -9.442255645e-09 -1.131400601e-10 5.032227385e-06 1.055086583e-06 --0.01870392239 -0.005666223889 0.0009130148356 -0.0008914920716 0.0002236517882 -2.053323155e-05 -1.204518931e-05 -6.483972824e-07 5.785990742e-06 3.633038737e-06 -1.276610461e-06 3.596617133e-07 1.548277966e-06 -2.360738584e-06 0.03012600167 -0.02661648463 -0.0001013170272 -3.750412402e-07 -0.02410440258 -6.473083976e-06 7.86788762e-09 0.002917313174 -6.209909928e-05 -5.982724624e-08 -0.0008486929007 8.153315782e-11 1.767015122e-07 0.0001524684146 8.386966911e-07 3.506062313e-10 -2.412940959e-06 -1.03489508e-10 4.325370202e-07 -2.813110036e-05 -7.01336135e-11 -1.272009523e-06 -6.63678222e-07 2.141801211e-11 7.20810683e-07 2.366970548e-05 -1.012439589e-10 -8.825188043e-08 -4.302174199e-06 2.262857906e-07 1.343906619e-10 -5.823968285e-07 3.391481584e-11 1.224153722e-06 1.147096904e-06 3.625524393e-11 1.96618936e-06 7.619721113e-07 1.263593242e-18 -0.0002399783128 4.429670749e-06 0.05862781591 -0.03565811638 6.514851e-20 3.134980355e-06 -0.003476641184 -3.253025745e-06 -0.01396980218 2.956355729e-21 1.136629777e-07 1.037074105e-06 -5.146353529e-09 -0.00182694799 6.287226737e-21 -1.794104248e-08 -0.0001795896175 1.81405844e-07 0.0008103216112 -4.777927508e-22 2.246534061e-07 1.460111013e-07 -3.147057971e-10 -0.0001426984983 2.672079282e-22 3.165906529e-08 -1.530328056e-10 -5.880359132e-08 -2.120406882e-05 -7.080355944e-23 -1.426401455e-08 4.771886505e-10 -9.224878544e-07 5.639404919e-06 6.913120363e-24 -1.923071812e-09 3.061682836e-11 1.365337013e-07 3.050917587e-06 -5.065341759e-10 7.186448656e-24 3.046264774e-12 6.475738678e-07 1.629354359e-05 -2.522471283e-23 9.109682087e-09 -1.822953378e-10 -1.485812014e-06 -3.477463597e-06 2.483078969e-23 6.655951109e-09 -5.74589738e-07 1.527580882e-10 1.947745163e-07 -7.857037501e-09 1.287998622e-23 9.043149751e-11 3.224418723e-06 6.035756443e-07 -4.260756208e-23 -1.558553604e-08 1.607444256e-10 1.658167214e-06 -5.670284416e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.04650791085 0.05339342277 -0.006885511921 0.06582968803 0.005456254699 -0.07128594273 -0.03665265658 0.0950451253 -0.05839246872 -0.01466480269 0.05142104472 -0.03675624203 0.005432133241 0.01745725437 -0.02288938761 -0.009939728979 0.02293658634 -0.01299685736 0.0009346548029 0.006928611436 -0.007863266239 -0.002292082329 0.006540467226 -0.004248384897 0.0007511567492 0.001716174845 -0.002467331594 -0.0007179158406 0.001916075511 -0.00119815967 0.0004232273626 0.0002078052141 -0.0006310325767 -7.912951479e-05 0.0003179706291 -0.0002388411143 9.769891917e-05 1.648674933e-05 -0.0001141856685 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.0008172287347 -0.00280811301 -2.968547159e-06 -0.0003536329813 -3.496572923e-05 -6.325669591e-05 -6.601323888e-06 -3.855489098e-06 -5.64426606e-06 -1.765983606e-06 -2.054917267e-07 -3.991282865e-08 -5.172202734e-07 0.02065391313 -0.01874311768 -2.839598951e-06 0.001922210209 -0.002074278464 -0.00378330843 0.0001500682067 -0.0001650648726 -0.0009079186671 0.0002733644709 -0.0002099969132 -0.000231728652 -1.467732161e-05 1.720867302e-05 -0.0003162091956 -5.007846613e-06 -1.116087826e-05 -1.792231646e-06 -1.513850326e-06 -4.757169056e-06 -3.730015351e-05 1.142734126e-05 -6.157851779e-06 -5.327686836e-06 -9.058902923e-07 3.219670478e-06 -1.974033463e-05 -3.048988288e-07 6.478429413e-07 -3.602534663e-07 -9.787608102e-07 -1.968661101e-06 2.586840302e-06 -8.801255416e-07 3.545150804e-06 -3.546258443e-06 -5.013482219e-07 2.325538149e-06 -2.752961059e-06 -6.362950968e-19 0.001081420423 0.03683490234 -0.03477674716 -0.0005078099275 -2.791598946e-19 2.592330502e-05 0.01315681817 -0.01006015626 -0.00380032527 -1.46836857e-20 5.636850501e-07 2.319957752e-05 -2.332385676e-05 -0.001925267643 6.134792878e-21 7.146844379e-11 0.0005565170578 -0.0006475377206 0.0001477002938 -3.479446333e-21 5.082980186e-07 -3.210905036e-06 1.660522345e-06 -0.0003762065667 1.870396486e-21 1.287500472e-06 -1.21303074e-05 4.235369307e-05 -4.425289125e-05 2.385391232e-21 2.385662691e-06 -1.929410409e-05 2.488333702e-06 -1.793936166e-05 1.719919989e-21 9.350130233e-07 -1.152532848e-05 1.956543723e-05 -2.651761138e-05 -1.649633056e-22 4.335966598e-08 -3.011056923e-07 1.016306761e-06 -1.070586547e-05 1.070139819e-22 2.401865277e-07 -1.133223818e-06 -4.430724484e-06 4.166258622e-06 -1.903374264e-23 -3.427165247e-10 7.278680151e-07 -3.068866642e-06 2.654190084e-06 -9.134842299e-23 1.64497237e-07 -1.697154657e-06 6.207993408e-06 -6.345131393e-06 6.074578015e-23 9.009374426e-08 -1.008053064e-06 2.068286092e-06 -1.472957506e-06 -0.006996970788 0.02648866226 0.0003000404036 0.002950260254 0.0006171004868 0.0004135149158 0.0001280079144 1.038046461e-05 7.090544467e-05 4.394723674e-06 3.264040205e-06 2.168226279e-06 4.463860426e-06 -0.0197553569 0.003169952543 -0.001001057065 0.0004308924624 -0.002770174458 0.0345564099 -1.463376791e-05 -0.000104145023 0.01124524197 8.482571159e-05 -0.0002556526339 0.0007911948594 -5.099026091e-06 4.407108103e-06 0.003311940614 -7.032866511e-06 -6.547290259e-06 2.17110916e-05 -3.549379796e-06 -6.299896001e-06 0.000423327795 -5.761058672e-06 3.827017946e-05 1.944685014e-05 -3.72626502e-07 3.938617866e-06 0.0001271093011 -3.486916283e-07 8.356272429e-08 4.1630784e-06 -8.202975706e-07 -1.144619623e-06 2.265084665e-06 -7.4172067e-07 7.646110877e-06 7.028005024e-06 -4.193909109e-07 3.865265904e-06 1.465586965e-06 3.801670102e-19 6.036641356e-05 -0.03492203779 0.0248557125 -0.01195439354 -5.302874209e-19 3.980786074e-05 0.003563583505 -0.01195701747 0.009444674026 1.592551966e-19 -6.897536925e-07 3.64387135e-06 -0.0001452631239 0.01867201301 2.961989093e-20 -5.822791923e-09 -0.0001187671813 -0.0006389488347 0.0008196149627 9.247710054e-21 -2.79072853e-06 -2.5788548e-06 -2.32486879e-05 0.002942712557 -3.580869317e-21 -3.739146372e-07 -7.534478148e-06 1.681240677e-06 0.0004156051342 -2.745373393e-21 -3.079720876e-07 -2.842608235e-05 -3.184660905e-05 0.0002010405408 -2.138321727e-21 -1.028458898e-07 -7.315992414e-06 1.276502879e-05 0.000267013377 -5.020416579e-10 3.412262568e-22 -2.62595584e-08 1.224289849e-06 3.061993997e-05 -1.205176339e-22 -2.317871362e-08 -1.732223519e-06 6.817124161e-06 1.627774038e-05 -2.556641228e-23 -4.037988332e-08 5.914031108e-06 -3.068111963e-06 -1.752991826e-06 -2.137047511e-08 2.673749197e-22 -1.256735752e-06 1.465535905e-05 2.691960492e-06 -5.842925668e-24 -4.779938991e-09 -9.112894287e-07 1.646291736e-06 -4.897159534e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.04715705099 0.02200154358 0.1067286698 0.02202428562 0.17465834 0.07141108635 0.1000731762 0.06107260141 0.05848951507 0.07464156391 0.02679567375 0.03681690082 0.0005054573398 0.06266017622 0.02292789445 0.005280432053 0.03058641266 0.0130185903 4.477807442e-05 0.02165478127 0.007876474827 0.007860017766 0.003864294445 0.004255431357 8.845381168e-05 0.006720385865 0.002471484938 0.00210919833 0.001197367089 0.001200149458 0.0001043161214 0.001637026661 0.0006321024569 0.0005029865235 0.0001561530053 0.0002392339673 3.034857158e-05 0.0002847271479 0.0001143827643 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.01859825451 0.06390622139 6.755733522e-05 0.008047876816 0.000795739924 0.001439577538 0.0001502310143 8.77421026e-05 0.0001284505699 4.018974268e-05 4.676521113e-06 9.083245777e-07 1.177074896e-05 0.008307597159 0.01873421824 2.900333486e-08 0.0006427535352 0.002074227619 0.09464435446 4.913666987e-05 0.0001652571093 0.02141018871 0.0001298657198 0.0002102475176 0.004281715785 1.48520788e-05 7.255278567e-06 0.007171961804 5.016290298e-06 8.510401907e-06 0.0004140783138 1.516294083e-06 4.817059328e-06 0.0009909456417 1.489550748e-05 6.169100968e-06 3.434653454e-06 9.073734504e-07 4.539544298e-06 0.0003945514261 3.054738133e-07 6.950824905e-07 5.407485655e-07 9.805598736e-07 1.955658851e-06 8.959547428e-06 8.815473737e-07 7.766105257e-06 1.471985915e-05 5.021918199e-07 5.508541434e-06 1.701290994e-05 5.036674214e-19 0.0003326380646 0.01469282168 0.03477374258 0.02107630735 -1.577339481e-18 1.4617477e-05 0.006316834902 0.01007236596 0.03687902424 -1.793385629e-18 2.1761899e-07 8.535073252e-06 2.333908512e-05 0.04386035073 1.154144513e-21 2.12877168e-11 0.0001802105721 0.0006483001201 0.0003180537728 -3.494958033e-19 1.934512603e-07 3.215971441e-06 3.60306497e-07 0.008593632408 1.257171642e-20 3.785330716e-07 1.214894467e-05 8.316142622e-05 0.0002399527039 -2.032848556e-20 1.065981606e-06 1.932844051e-05 1.262102486e-07 0.0007885513656 -4.031883625e-21 2.756248094e-07 1.154541289e-05 1.377253857e-05 0.0004170207456 1.250916514e-20 1.372912756e-08 3.015892013e-07 1.65338949e-06 0.000225542516 -7.439567917e-22 1.277388161e-07 1.135050709e-06 1.097300767e-05 1.837231386e-05 1.787345955e-24 2.299303327e-09 3.123692756e-07 3.074695245e-06 1.039677966e-06 -5.861123882e-23 4.239383809e-08 1.699838817e-06 1.420235844e-05 2.844450342e-05 -1.54556575e-22 2.066829092e-08 1.009713072e-06 8.983597702e-06 1.122430129e-06 -0.002275502001 0.008614442707 9.757687426e-05 0.0009594613604 0.0002006887602 0.0001344801982 4.162976727e-05 3.375856311e-06 2.305933326e-05 1.429218846e-06 1.061506507e-06 7.051341767e-07 1.451702978e-06 0.0197919787 0.04576663462 0.003064285325 0.006931890706 0.002776848162 0.01119185278 0.0002405708549 0.0001044086936 0.003665373389 0.0006670496628 0.0002562656941 0.0002404198937 5.111300906e-06 1.4983551e-05 0.001075955865 7.907287005e-06 6.558427154e-06 1.279841726e-05 3.558166217e-06 2.878390215e-06 0.0001413922296 5.77551433e-06 2.981494912e-05 2.987868567e-06 3.734951082e-07 2.875161334e-06 4.065104123e-05 3.494642989e-07 1.349041095e-09 2.229293379e-06 2.854297262e-07 1.146538659e-06 2.970188831e-06 7.434637826e-07 5.101582132e-06 1.477386609e-06 4.203040616e-07 2.548710907e-06 2.065288763e-07 8.898738087e-19 0.00381120272 0.03499174491 0.02310179904 0.06236724561 -8.608092736e-19 0.001009633108 0.0298739139 0.0119849688 0.002478434544 2.248034506e-20 1.099057939e-05 0.0003399323208 0.000145642374 0.00607617128 1.148958361e-20 2.892328027e-07 0.001438457613 0.0006405979474 0.0003449598824 1.288829085e-20 4.286455912e-05 9.37661877e-06 2.331100428e-05 0.0009596164022 -2.079060759e-21 5.739308119e-06 7.551310522e-06 1.320365452e-05 0.0001350056191 3.851894538e-22 4.544913819e-06 2.850249043e-05 6.63333715e-06 0.0001130091179 -1.36178011e-21 1.524088828e-06 7.334038823e-06 2.344902083e-05 8.380257917e-05 1.053196334e-08 8.464792285e-23 2.631799423e-08 5.681500867e-07 9.841263226e-06 -2.116126316e-22 4.420829531e-07 1.736699721e-06 1.043708995e-06 1.023766845e-05 -1.67823731e-22 6.41372051e-07 3.151162781e-06 3.071688387e-06 5.020121102e-06 3.257591355e-07 2.821865261e-22 1.259765493e-06 8.095219997e-06 2.749685552e-07 -6.681889642e-23 2.494036453e-07 9.133146635e-07 8.753312292e-07 1.469478759e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06251041084 -0.02312716577 0.08563757661 -0.03295383896 0.1276303109 -0.0946764719 0.1030608728 -0.02550019993 -0.07756067291 0.0673281933 -0.01850623727 -0.04882195603 -0.003708510075 0.03411132104 -0.03040281096 0.01146538456 0.005797797515 -0.01726318207 -0.0006699053532 0.01111428551 -0.01044438016 0.007652943725 -0.002009962988 -0.005642980737 -0.0004988181503 0.003776045562 -0.003277227412 0.002131064227 -0.0005395912934 -0.001591472934 -0.0002399694735 0.00107812515 -0.0008381556767 0.0004388767921 -0.000121633216 -0.0003172435761 -5.066889512e-05 0.0002023292553 -0.0001516603602 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.01463443893 0.0502859929 5.315895081e-05 0.006332645988 0.0006261451749 0.001132762731 0.0001182125239 6.904177173e-05 0.0001010741099 3.162416853e-05 3.679821814e-06 7.147348455e-07 9.262068479e-06 -0.009313391119 -0.02485528906 2.158341618e-06 -0.0009642227618 -0.002752518914 0.07418909208 -7.592983434e-05 -0.0002192988358 0.01682223941 -0.0001078732284 -0.0002790327477 0.003401814836 -1.969725446e-05 -7.352308847e-06 0.005644203073 -6.658775869e-06 1.481098257e-05 0.000313481762 -2.012532792e-06 7.210277511e-06 0.0007750485214 2.629829628e-06 -8.184795682e-06 6.597129124e-06 -1.204185994e-06 9.994640053e-07 0.0003122689409 -4.05238327e-07 3.652865445e-08 6.786751343e-07 -1.303286861e-06 2.952998217e-06 4.80736646e-06 -1.169838614e-06 3.186477351e-06 1.376395317e-05 -6.663773466e-07 2.4025461e-06 1.489570409e-05 4.331661991e-19 -0.0005631257223 -0.01669247861 -0.04613755182 0.01626508487 -2.512054205e-19 -8.490090396e-06 -0.005142060373 -0.01336677666 0.03065388695 1.188177676e-18 -2.601810625e-07 -1.103815192e-05 -3.097608686e-05 0.03451093673 6.119403546e-21 -3.77481283e-11 -0.0002830758546 -0.0008602105367 0.0001283005263 -1.095612139e-19 -2.367183435e-07 -4.268285589e-06 -9.777383985e-07 0.006761023897 -3.52421427e-21 -6.8364659e-07 -1.612492008e-05 3.081896923e-05 0.0002141657343 1.448133983e-20 -9.918547086e-07 -2.565648968e-05 -1.776462113e-06 0.0006078986526 -6.358655379e-21 -4.959282655e-07 -1.532305696e-05 -4.336478179e-06 0.0003342957791 9.728169875e-23 -2.228367745e-08 -4.002309418e-07 4.816661111e-07 0.0001780711778 -2.508684042e-22 -8.446585262e-08 -1.506512155e-06 1.160455761e-05 1.071428823e-05 -2.357856899e-23 1.991555512e-09 -3.123218372e-07 -4.078876345e-06 -1.21309979e-06 1.234262299e-21 -9.18463487e-08 -2.255974777e-06 6.034671105e-06 2.62148383e-05 -5.662731784e-23 -5.222643711e-08 -1.339863123e-06 5.215289271e-06 1.954276747e-06 --0.003549268956 -0.01343658413 -0.0001521978757 -0.001496542925 -0.0003130291189 -0.0002097587224 -6.49330304e-05 -5.265573046e-06 -3.596734947e-05 -2.229258458e-06 -1.655710296e-06 -1.099849986e-06 -2.264328624e-06 -0.02625611128 0.03211320294 0.003063780447 0.004903291854 -0.003682232749 -0.01756345289 0.0001924317751 -0.0001384529431 -0.005697965572 0.0004391819773 -0.000339842748 -0.0004140257883 -6.779946273e-06 7.980037421e-06 -0.001680857268 1.12590218e-05 -8.694108655e-06 -6.689394366e-06 -4.720166369e-06 6.909971635e-06 -0.0002119300653 -7.660029649e-06 -6.315433174e-06 -1.237961572e-05 -4.954443068e-07 -7.960133638e-07 -6.499462137e-05 -4.636178842e-07 -6.185385077e-08 -1.451794079e-06 8.328918145e-07 -1.520070884e-06 5.349167374e-07 -9.861286637e-07 -1.906935634e-06 -4.174253742e-06 -5.575045068e-07 -9.86831296e-07 -9.470422496e-07 6.871425522e-19 0.002828880622 -0.04641579736 -0.001282046906 0.05600852667 -1.470363652e-19 0.0007314810716 0.01984557116 -0.01589400852 -0.005236486429 -4.198096645e-21 8.808045082e-06 0.0002536017549 -0.0001931366618 -0.009468612536 4.521584494e-21 2.225154949e-07 0.001174190644 -0.0008494051089 -0.0003564038288 1.087856848e-20 3.442811834e-05 9.018351715e-06 -3.090440545e-05 -0.001490739516 -7.663421673e-22 4.609909213e-06 -1.002012226e-05 8.682331798e-06 -0.0002109323487 6.200859732e-22 3.659487597e-06 -3.781049624e-05 2.895905309e-05 -6.605743182e-05 -1.547867513e-21 1.226847403e-06 -9.727843585e-06 8.073711052e-06 -0.0001377292668 8.320855081e-09 -1.823176791e-22 -3.491009668e-08 -4.928831568e-07 -1.562019084e-05 1.309746086e-23 3.508562431e-07 -2.303710515e-06 -4.342307445e-06 -4.529449878e-06 7.102570554e-23 5.141031785e-07 -2.076654126e-06 -4.074920738e-06 5.103558646e-06 2.617659823e-07 -1.479838124e-22 -1.67094328e-06 -4.923886331e-06 -1.818172343e-06 -8.205182952e-23 1.916922473e-07 -1.21138326e-06 -5.785828522e-07 1.476275077e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -1.352214984e-05 -0.001516611742 -0.1815201801 0.001529805043 -0.06184377689 -1.018009989e-05 0.0100894037 0.002033057526 1.382974519e-06 0.01420621429 0.001104706844 1.705669872e-06 0.0001243303037 -0.00416102366 -4.957044252e-07 -2.976561439e-05 -6.894765397e-05 -1.167054917e-08 2.109279228e-05 -0.001212800252 -1.454478514e-07 0.0009931054366 0.0001417158764 1.284692074e-07 1.74742353e-05 -0.0004985374759 -5.936260932e-08 0.0002260156754 4.076642451e-05 3.037514902e-08 1.036691613e-05 -0.0002489763116 -3.115196758e-08 0.0001252345373 6.832339961e-06 1.454786252e-08 2.35247391e-06 -7.547512391e-05 -1.072474815e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.09590197642 -0.1401646988 -0.002985838421 0.01780950172 0.003649578912 -0.002683292763 -0.0006693273457 0.0002766372549 0.0002942175258 -8.172856693e-05 -2.758117892e-05 -4.976700232e-06 2.128685141e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.01470014553 0.01382695546 -0.0003039299897 -4.71970691e-05 9.103863821e-05 0.000163575563 -9.961621062e-05 -2.390391798e-05 5.002522838e-05 1.012786441e-05 -7.88201233e-06 6.23141672e-06 8.301457933e-06 -1.457628927e-06 -0.04559196335 -0.02299600676 0.008358714646 1.091418551e-06 0.01108001222 0.0001174809611 1.180077153e-08 -0.0004752201501 -5.445124097e-06 -7.103876161e-10 -3.157105631e-06 -9.404551985e-10 -3.878017573e-05 0.0003533999622 2.141472362e-05 3.593291973e-09 7.639707444e-05 -1.211070338e-09 -2.325109286e-05 -0.0002136717171 -9.75273999e-10 -2.050776465e-05 2.993656717e-05 -1.380484768e-10 -1.387528677e-05 6.936217859e-05 -1.771963067e-10 2.805955058e-08 -1.784210166e-05 8.180342229e-07 4.010017397e-11 -1.893631504e-05 -1.860366417e-10 -5.633722485e-06 1.251832324e-05 -1.176319828e-10 -2.00923065e-06 4.53804567e-06 1.025124127e-18 0.005994823377 -7.444950055e-08 -0.003435817589 -0.1102116782 -6.902189039e-19 0.001606299893 0.01230377284 1.525748086e-06 0.001045366821 2.285437735e-21 1.798364778e-05 0.0001386402286 1.737100717e-08 0.0002209886563 -2.312523556e-21 4.610365646e-07 6.817192153e-05 6.679547034e-09 -7.354140116e-06 8.271263627e-21 6.988489398e-05 4.1665471e-05 2.546341754e-08 0.0001696441168 -6.847969713e-22 9.362266021e-06 -1.188796278e-08 8.158151922e-05 -8.232622071e-05 1.861227895e-21 7.420259143e-06 -4.143616472e-09 -3.256963719e-05 -0.000166117142 1.83836406e-21 2.488480358e-06 -1.386998724e-09 -6.937063544e-05 5.261433427e-05 1.696781277e-08 3.698647944e-23 -1.09460803e-11 -7.964340301e-06 1.633611477e-05 2.724816358e-22 7.199518179e-07 -5.160270666e-10 3.653434698e-06 -3.163718351e-05 2.943279119e-23 1.047169952e-06 6.944596701e-07 -6.615208134e-10 -2.354858994e-05 5.29902449e-07 -8.568595239e-22 -2.91384935e-10 -1.338045233e-05 4.545817498e-06 -1.027381943e-23 3.968631531e-07 -1.826512278e-10 3.288624992e-07 -1.102174207e-05 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.0411321873 -0.008339062533 0.0006096469769 -0.001541034196 0.0003931502828 -1.829129434e-05 -1.884297833e-05 -5.725387206e-06 6.503070519e-06 1.447036132e-05 -3.098376047e-06 4.108944902e-07 2.993889774e-06 -0.003692931319 6.684943117e-06 0.006341380197 -0.0001230406465 -2.74369599e-07 -0.04913856285 6.893948142e-06 1.71308782e-08 0.007067222778 1.30112031e-05 -5.544016143e-08 -0.002630298682 1.854554824e-10 -4.611068783e-08 0.0005833114635 -4.475959074e-11 -3.716938248e-07 -5.172975408e-06 -6.236533381e-11 -9.518968852e-07 -7.449260097e-05 -2.062491615e-07 -6.585442473e-11 -1.207582855e-06 4.133017006e-11 9.861243906e-08 4.383718543e-05 -2.959197357e-12 9.323612458e-08 3.492314996e-06 -6.522504806e-10 -1.657548191e-06 -1.703770788e-06 4.242558686e-11 4.549582158e-07 2.634266796e-06 4.460116865e-11 8.116553402e-07 6.443219229e-06 -2.803689993e-18 0.0004829576041 0.0001242870854 5.888692216e-06 0.04723623807 -2.429172694e-19 3.294780257e-06 0.001149751687 -3.89436725e-06 -0.04242691604 5.593243827e-21 -2.768655948e-10 -2.949608241e-08 -2.64989249e-10 -0.001090599805 1.715199122e-20 3.933175975e-11 0.0002019770285 3.09697559e-07 0.0003194157652 -1.077483897e-22 -1.91547415e-10 -2.098780887e-11 -1.35141104e-08 -0.0001132326063 1.321395472e-22 -2.624027897e-08 -5.605204444e-10 -2.631350537e-06 -2.46417407e-05 -1.491772567e-22 1.457134286e-09 -1.394145316e-10 -1.684666273e-07 -8.469855444e-06 4.030797946e-22 -5.243764032e-09 -1.348940671e-10 5.599469354e-08 -1.022219073e-05 1.320565933e-21 1.779518342e-09 2.80884512e-11 1.111762798e-07 5.549890313e-05 -6.789603342e-22 1.163451117e-08 -2.697230875e-10 -7.446974375e-06 -5.385302829e-06 -3.113058472e-25 3.272970404e-10 -3.370708344e-09 9.449748969e-13 3.578609755e-09 5.051867902e-23 9.0329589e-09 1.116684355e-10 8.917771118e-07 5.110647247e-06 1.381276361e-22 2.385951371e-08 1.501339326e-10 2.921382097e-06 1.83702408e-06 -0.02917389264 0.008838028944 -0.001424096841 0.001390526193 -0.0003488462539 3.20272016e-05 1.878777362e-05 1.011353251e-06 -9.024838172e-06 -5.66671952e-06 1.99122386e-06 -5.609910046e-07 -2.414963783e-06 3.131764434e-06 0.02113859613 -0.02661209925 -7.166687639e-05 4.97322524e-07 0.03782720766 -5.177796953e-06 -1.043334764e-08 -0.004535076858 -4.088571921e-05 7.933896824e-08 0.001461529417 -1.081506332e-10 9.410884509e-08 -0.0002381860178 1.194202806e-06 -4.647773923e-10 1.261180451e-06 1.372863619e-10 1.038364612e-06 4.216515965e-05 9.30177865e-11 2.694383648e-07 2.749813509e-06 -2.841116772e-11 -1.995626923e-07 -3.784413631e-05 1.343156087e-10 4.046369427e-06 2.801726811e-06 6.603081789e-07 -1.781739592e-10 -1.048868705e-07 -4.49845343e-11 -4.575800789e-07 -3.241043012e-06 -4.809009413e-11 -7.612857105e-07 -3.494038197e-06 4.01616772e-19 -0.0001781248725 -5.875863018e-06 -0.00325358254 -0.03202255516 -5.933332538e-19 2.27129912e-06 -0.002309571161 4.314038673e-06 0.02951567944 -5.683060017e-21 9.109152453e-08 7.736946357e-07 6.824590353e-09 0.002846967579 1.128969805e-20 -1.380258363e-08 -0.00014659622 -2.405362853e-07 -0.000837203801 1.072490419e-21 1.804379704e-07 1.404322281e-07 4.172190712e-10 0.0002216784642 -2.258461856e-22 2.542909593e-08 2.030650731e-10 -3.866749846e-08 3.31291695e-05 -9.399251969e-24 -1.148514282e-08 -6.330232694e-10 -4.027290359e-06 -3.296411943e-06 -5.608881541e-23 -1.548017159e-09 -4.061005464e-11 4.700979461e-08 -5.014173148e-06 -4.001910504e-10 -3.678840066e-22 -4.040786576e-12 -5.617850981e-07 -2.586134062e-05 9.159776714e-23 7.229839581e-09 2.418124915e-10 6.181658491e-06 1.538533616e-06 -8.44435975e-25 5.335196032e-09 3.786615396e-07 -2.026498209e-10 1.980117903e-07 -6.313576244e-09 -4.27146027e-23 -1.199476441e-10 -1.961240248e-06 -3.991018329e-06 -5.289526641e-23 -1.197908084e-08 -2.132048396e-10 -1.09602752e-06 -5.6965094e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.0616499241 -0.05612508663 -0.005524837477 -0.09849767551 0.003987118413 0.0945105571 -0.03774692604 -0.03968505748 0.07743198352 -0.01322794725 -0.0355135707 0.04874151795 -0.03985523459 0.009503484414 0.03035175017 -0.02158210048 0.004347737172 0.01723436331 -0.01398296519 0.00355609991 0.01042686528 -0.002231696874 -0.003401939794 0.005633636669 -0.004236003097 0.0009642830837 0.003271720014 -0.0007253584191 -0.0008634759321 0.001588834351 -0.000973594934 0.0001368578979 0.0008367370361 -6.904381328e-05 -0.0002476788081 0.0003167226213 -0.0001631146387 1.171560823e-05 0.0001513990305 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.0006430541106 -0.002209624475 -2.335865557e-06 -0.0002782637621 -2.751354053e-05 -4.977489973e-05 -5.19439452e-06 -3.03377501e-06 -4.441312862e-06 -1.389602407e-06 -1.616956109e-07 -3.140627274e-08 -4.069859621e-07 -0.02315446542 0.02486709624 -0.0002113144789 -0.002883591821 0.002752586386 -0.002965630851 -0.0002318971576 0.0002190437346 -0.0007133624739 -0.0002270707624 0.0002787001547 -0.0001841079618 1.946548646e-05 -1.743881751e-05 -0.0002488508671 6.647567465e-06 -1.942370938e-05 -1.356825305e-06 2.009289265e-06 -7.120632471e-06 -2.917357685e-05 2.017518414e-06 8.169870928e-06 -1.023318319e-05 1.202217678e-06 7.088695561e-07 -1.562354862e-05 4.044755587e-07 3.404607548e-08 -4.521418737e-07 1.300895681e-06 -2.972631304e-06 1.388004183e-06 1.167951802e-06 1.454595627e-06 -3.315964822e-06 6.652579445e-07 1.014281671e-06 -2.410363274e-06 1.781870861e-18 -0.001830745551 -0.04184804203 0.04614153827 -0.0003918889316 2.849149633e-19 -1.505671622e-05 -0.0107099765 0.01335057348 -0.003158834692 6.880812096e-21 -6.739309617e-07 -3.000331146e-05 3.095587548e-05 -0.001514871375 -2.801550168e-21 -1.267303587e-10 -0.0008741803541 0.0008591989311 5.958119995e-05 7.088844651e-21 -6.219833605e-07 4.261561381e-06 -4.506042692e-06 -0.0002959797984 -3.49270925e-22 -2.325279806e-06 1.61001834e-05 1.56959449e-05 -3.949717088e-05 -2.492190987e-21 -2.219766983e-06 2.561091166e-05 -3.502433912e-05 -1.382955411e-05 1.60482062e-21 -1.682357216e-06 1.529640096e-05 -6.160454092e-06 -2.125727712e-05 -1.889043096e-22 -7.037685441e-08 3.9958929e-07 2.960709067e-07 -8.452535281e-06 7.379165337e-23 -1.588206347e-07 1.504087388e-06 -4.685734219e-06 2.429661067e-06 2.925099939e-23 -2.96845995e-10 -7.277574765e-07 4.071144148e-06 -3.096918026e-06 -2.366928184e-22 -3.56383646e-07 2.252412441e-06 2.637815303e-06 -5.847758739e-06 3.019678777e-23 -2.276567175e-07 1.337660336e-06 1.200711633e-06 -2.564584225e-06 --0.01091369342 -0.04131632783 -0.0004679952334 -0.004601739364 -0.0009625373212 -0.000644989832 -0.0001996634222 -1.619117925e-05 -0.0001105964721 -6.854775913e-06 -5.091165187e-06 -3.381943069e-06 -6.962613624e-06 0.02620752866 0.002224269497 -0.001000892129 0.0003047929621 0.003673383099 -0.05422961591 -1.170549913e-05 0.0001381032981 -0.01748116626 5.58488008e-05 0.0003390297478 -0.001362512354 6.763664198e-06 2.347166408e-06 -0.005173910596 -1.001395262e-05 8.679345149e-06 -1.134781363e-05 4.708510543e-06 -1.51237669e-05 -0.0006345178053 7.640857198e-06 -8.106428758e-06 -8.057400327e-05 4.942920937e-07 -1.090440533e-06 -0.0002032277807 4.625928184e-07 -3.831370518e-06 -2.711142746e-06 -2.393650938e-06 1.517526643e-06 4.079308649e-07 9.838166031e-07 -2.85806264e-06 -1.98571424e-05 5.56293275e-07 -1.496586117e-06 -6.720478032e-06 -4.721123404e-19 4.480721443e-05 0.04632333236 -0.001379381288 -0.01073557061 -1.509392345e-19 2.884086942e-05 0.002367327906 0.01585694053 -0.01995489753 -2.059249426e-21 -5.527808322e-07 2.718459272e-06 0.0001926337373 -0.02909695075 1.495153523e-20 -4.47964897e-09 -9.694780846e-05 0.0008472184569 -0.0008468054569 -2.580817665e-20 -2.241467871e-06 -2.480320484e-06 3.082178995e-05 -0.004571428628 3.69232359e-21 -3.003345517e-07 9.997786745e-06 1.10553403e-06 -0.0006493401365 -9.224318033e-22 -2.479739066e-07 3.770913572e-05 -0.0001390322279 -0.0001175146047 2.445515245e-21 -8.278796515e-08 9.703906891e-06 4.395115462e-06 -0.0004388356181 -3.966417036e-10 -1.961063495e-22 3.483258316e-08 -1.062099363e-06 -4.860039762e-05 -5.602831358e-22 -1.83956344e-08 2.297772888e-06 -2.83623588e-05 -7.201757854e-06 3.07213941e-23 -3.23672139e-08 -3.897417542e-06 4.070176231e-06 -1.782127644e-06 -1.71723915e-08 -1.411496042e-22 1.666924655e-06 -8.914065602e-06 -1.780002849e-05 -1.847071459e-23 -3.673872713e-09 1.208697071e-06 -1.088177979e-06 -4.919808827e-07 -0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06251041084 -0.02312716577 0.08563757661 -0.03295383896 0.1276303109 -0.0946764719 0.1030608728 -0.02550019993 -0.07756067291 0.0673281933 -0.01850623727 -0.04882195603 -0.003708510075 0.03411132104 -0.03040281096 0.01146538456 0.005797797515 -0.01726318207 -0.0006699053532 0.01111428551 -0.01044438016 0.007652943725 -0.002009962988 -0.005642980737 -0.0004988181503 0.003776045562 -0.003277227412 0.002131064227 -0.0005395912934 -0.001591472934 -0.0002399694735 0.00107812515 -0.0008381556767 0.0004388767921 -0.000121633216 -0.0003172435761 -5.066889512e-05 0.0002023292553 -0.0001516603602 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.01463443893 0.0502859929 5.315895081e-05 0.006332645988 0.0006261451749 0.001132762731 0.0001182125239 6.904177173e-05 0.0001010741099 3.162416853e-05 3.679821814e-06 7.147348455e-07 9.262068479e-06 -0.009313391119 -0.02485528906 2.158341618e-06 -0.0009642227618 -0.002752518914 0.07418909208 -7.592983434e-05 -0.0002192988358 0.01682223941 -0.0001078732284 -0.0002790327477 0.003401814836 -1.969725446e-05 -7.352308847e-06 0.005644203073 -6.658775869e-06 1.481098257e-05 0.000313481762 -2.012532792e-06 7.210277511e-06 0.0007750485214 2.629829628e-06 -8.184795682e-06 6.597129124e-06 -1.204185994e-06 9.994640053e-07 0.0003122689409 -4.05238327e-07 3.652865445e-08 6.786751343e-07 -1.303286861e-06 2.952998217e-06 4.80736646e-06 -1.169838614e-06 3.186477351e-06 1.376395317e-05 -6.663773466e-07 2.4025461e-06 1.489570409e-05 -5.146699255e-22 -0.0005631257223 -0.01669247861 -0.04613755182 0.01626508487 6.161563175e-19 -8.490090396e-06 -0.005142060373 -0.01336677666 0.03065388695 3.208159376e-19 -2.601810625e-07 -1.103815192e-05 -3.097608686e-05 0.03451093673 6.119403546e-21 -3.774812831e-11 -0.0002830758546 -0.0008602105367 0.0001283005263 -1.140996632e-21 -2.367183435e-07 -4.268285589e-06 -9.777383985e-07 0.006761023897 3.252049308e-21 -6.8364659e-07 -1.612492008e-05 3.081896923e-05 0.0002141657343 1.448133983e-20 -9.918547086e-07 -2.565648968e-05 -1.776462113e-06 0.0006078986526 -6.358655379e-21 -4.959282655e-07 -1.532305696e-05 -4.336478179e-06 0.0003342957791 9.728169875e-23 -2.228367745e-08 -4.002309418e-07 4.816661111e-07 0.0001780711778 1.726480695e-22 -8.446585262e-08 -1.506512155e-06 1.160455761e-05 1.071428823e-05 -2.357856899e-23 1.991555512e-09 -3.123218372e-07 -4.078876345e-06 -1.21309979e-06 3.872293515e-22 -9.18463487e-08 -2.255974777e-06 6.034671105e-06 2.62148383e-05 -4.801437915e-22 -5.222643711e-08 -1.339863123e-06 5.215289271e-06 1.954276747e-06 --0.003549268956 -0.01343658413 -0.0001521978757 -0.001496542925 -0.0003130291189 -0.0002097587224 -6.49330304e-05 -5.265573046e-06 -3.596734947e-05 -2.229258458e-06 -1.655710296e-06 -1.099849986e-06 -2.264328624e-06 -0.02625611128 0.03211320294 0.003063780447 0.004903291854 -0.003682232749 -0.01756345289 0.0001924317751 -0.0001384529431 -0.005697965572 0.0004391819773 -0.000339842748 -0.0004140257883 -6.779946273e-06 7.980037421e-06 -0.001680857268 1.12590218e-05 -8.694108655e-06 -6.689394366e-06 -4.720166369e-06 6.909971635e-06 -0.0002119300653 -7.660029649e-06 -6.315433174e-06 -1.237961572e-05 -4.954443068e-07 -7.960133638e-07 -6.499462137e-05 -4.636178842e-07 -6.185385077e-08 -1.451794079e-06 8.328918145e-07 -1.520070884e-06 5.349167374e-07 -9.861286637e-07 -1.906935634e-06 -4.174253742e-06 -5.575045068e-07 -9.86831296e-07 -9.470422496e-07 -6.139000547e-19 0.002828880622 -0.04641579736 -0.001282046906 0.05600852667 2.041433549e-21 0.0007314810716 0.01984557116 -0.01589400852 -0.005236486429 7.660364617e-21 8.808045082e-06 0.0002536017549 -0.0001931366618 -0.009468612536 -9.030942662e-21 2.225154949e-07 0.001174190644 -0.0008494051089 -0.0003564038288 7.889840287e-23 3.442811834e-05 9.018351715e-06 -3.090440545e-05 -0.001490739516 -1.310674569e-22 4.609909213e-06 -1.002012226e-05 8.682331798e-06 -0.0002109323487 1.850930725e-21 3.659487597e-06 -3.781049624e-05 2.895905309e-05 -6.605743182e-05 -1.75962575e-21 1.226847403e-06 -9.727843585e-06 8.073711052e-06 -0.0001377292668 8.320855081e-09 -6.320367092e-23 -3.491009668e-08 -4.928831568e-07 -1.562019084e-05 -1.374289419e-25 3.508562431e-07 -2.303710515e-06 -4.342307445e-06 -4.529449878e-06 2.430792729e-22 5.141031785e-07 -2.076654126e-06 -4.074920738e-06 5.103558646e-06 2.617659823e-07 -1.215140328e-22 -1.67094328e-06 -4.923886331e-06 -1.818172343e-06 -7.874310707e-23 1.916922473e-07 -1.21138326e-06 -5.785828522e-07 1.476275077e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 0.08286250691 0.02431037598 0.06871438145 0.04930718395 0.09326492082 0.1255216072 0.1061377676 0.01064733091 0.1028501942 0.06073138578 0.01278119823 0.06474155448 0.02720911517 0.01856972471 0.04031468813 0.02489475137 0.001098999625 0.02289168401 0.01002216348 0.005704391145 0.01384947954 0.007451325099 0.001045456362 0.007482962107 0.00281298841 0.002121681757 0.004345654447 0.002153156807 0.0002431658316 0.002110392238 0.000552027313 0.0007100396512 0.001111378275 0.0003829383684 9.474450534e-05 0.0004206906223 8.459498418e-05 0.0001437766924 0.0002010868071 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.01151542489 0.03956862145 4.182927054e-05 0.004982979502 0.0004926958775 0.0008913388619 9.301808191e-05 5.432701179e-05 7.953235012e-05 2.488416119e-05 2.895547407e-06 5.624045764e-07 7.288058967e-06 0.01044095573 0.03297631033 0.0001606173415 0.001446472844 0.003652617632 0.05815477759 0.0001173327325 0.0002910130741 0.01321743319 8.960512001e-05 0.000370321967 0.002702735249 2.612306591e-05 7.450636785e-06 0.004441884828 8.839061027e-06 2.57761275e-05 0.0002373242255 2.671175919e-06 1.079249771e-05 0.0006061888617 4.643013261e-07 1.085909936e-05 1.26714713e-05 1.598089418e-06 2.20050347e-07 0.0002471462147 5.375848748e-07 1.919689554e-09 8.5178208e-07 1.732231442e-06 4.45895687e-06 2.579457553e-06 1.552409348e-06 1.30742986e-06 1.287012362e-05 8.842413405e-07 1.047868629e-06 1.304197819e-05 -8.150267882e-19 0.0009533201785 0.01896428393 0.06121497228 0.0125521507 -2.38694896e-19 4.931195373e-06 0.004185764753 0.017738704 0.02547954574 -8.785127739e-19 3.110674544e-07 1.42753078e-05 4.111206382e-05 0.02715447401 8.308720925e-21 6.693630906e-11 0.0004446572613 0.001141388293 5.175547801e-05 -2.815204918e-20 2.896624921e-07 5.66493273e-06 2.653219922e-06 0.005319222649 1.06752313e-22 1.23469439e-06 2.140210977e-05 1.142126714e-05 0.0001911500099 -6.051568428e-22 9.22882494e-07 3.405631521e-05 2.500444833e-05 0.000468632467 -9.354248476e-21 8.923175134e-07 2.033674126e-05 1.365401367e-06 0.0002679810755 -6.864987296e-21 3.61685241e-08 5.311357506e-07 1.40319171e-07 0.0001405914279 6.532736148e-22 5.585209319e-08 1.999539627e-06 1.227245632e-05 6.248313256e-06 5.918376486e-24 1.724997877e-09 3.122744061e-07 5.411018301e-06 1.415448965e-06 1.095251852e-21 1.989853278e-07 2.994061638e-06 2.564169571e-06 2.415994883e-05 1.949160908e-22 1.319703087e-07 1.777963699e-06 3.027655855e-06 3.402615008e-06 -0.00553605759 0.02095803515 0.0002373942959 0.002334268809 0.0004882546943 0.0003271762106 0.0001012808553 8.213104159e-06 5.610093811e-05 3.477139478e-06 2.582533942e-06 1.715517459e-06 3.531841012e-06 0.03483145319 0.02253296123 0.003063275652 0.003468356907 0.004882815777 0.02756244955 0.0001539254955 0.0001835979054 0.008857709221 0.0002891550959 0.0004506771526 0.0007129915528 8.993340896e-06 4.250060433e-06 0.002625833686 1.60314874e-05 1.152525194e-05 3.496369595e-06 6.261644115e-06 1.658833738e-05 0.0003176578563 1.01594509e-05 1.337741548e-06 5.129237847e-05 6.572109132e-07 2.20383207e-07 0.0001039161773 6.150600883e-07 2.836013573e-06 9.454592508e-07 2.430401289e-06 2.015296627e-06 9.633593424e-08 1.307998808e-06 7.127991709e-07 1.179406541e-05 7.39491486e-07 3.820896297e-07 4.342680978e-06 1.51915067e-19 0.002099748074 0.06156955733 7.114789054e-05 0.05029811769 -5.01371443e-19 0.0005299594019 0.01318363225 0.02107802791 0.01106375401 6.405927176e-20 7.058923414e-06 0.0001891960434 0.0002561189377 0.01475511786 1.173631073e-20 1.711878633e-07 0.0009584736151 0.001126274353 0.0003682274248 1.042665724e-20 2.7652106e-05 8.673773527e-06 4.097130545e-05 0.002315825677 -1.005962426e-21 3.702756937e-06 1.329608283e-05 5.70924401e-06 0.0003295600291 3.198563391e-22 2.946557407e-06 5.015820037e-05 0.0001264260713 3.861267461e-05 2.406444603e-22 9.875766575e-07 1.29029779e-05 2.779852115e-06 0.0002263576027 6.573952743e-09 2.731338121e-22 4.630728464e-08 4.275873786e-07 2.47925857e-05 3.030419678e-22 2.784547616e-07 3.05584326e-06 1.806598778e-05 2.003963724e-06 1.400444886e-22 4.120885495e-07 1.368540015e-06 5.405814955e-06 5.188382974e-06 2.103438461e-07 -1.750496937e-22 2.21632634e-06 2.994934864e-06 1.202228621e-05 -2.063555225e-23 1.473351266e-07 1.60672927e-06 3.824359347e-07 1.483102828e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 1.792468198e-05 0.0015942032 -0.1456492277 -0.002288970907 -0.04519188989 1.349672706e-05 0.01039062405 -0.0008488810399 -1.833908765e-06 0.01281429128 -0.0007629577502 -2.261845447e-06 -0.0009122039538 -0.002265202916 6.573132114e-07 -6.462997956e-05 -1.306935015e-05 1.547562452e-08 -0.0003155601183 -0.000622467995 1.928670741e-07 0.0009669418372 -7.371168797e-05 -1.703585845e-07 -9.854256778e-05 -0.0002801178774 7.871574193e-08 0.0002283587626 -1.837131481e-05 -4.027933956e-08 -2.384812022e-05 -0.0001639726644 4.130690869e-08 0.000109272375 -5.321956378e-06 -1.92916415e-08 -3.927606724e-06 -5.36331914e-05 1.42199673e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.07546254497 -0.1102916257 -0.00234947156 0.01401379174 0.002871750125 -0.002111406963 -0.0005266747028 0.0002176780091 0.0002315114256 -6.430989108e-05 -2.170284735e-05 -3.916024248e-06 1.675001957e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02292890543 -0.02156692623 0.0004740621088 7.361676329e-05 -0.0001419997048 -0.0002551409173 0.0001553787796 3.72847108e-05 -7.802805272e-05 -1.579718001e-05 1.229415824e-05 -9.719602051e-06 -1.29483986e-05 1.933695861e-06 -0.03199064087 -0.02299221789 0.005912559672 -1.447272914e-06 -0.01738794072 9.397260481e-05 -1.564861596e-08 0.0007387482168 -3.585040966e-06 9.420694424e-10 5.436834395e-06 1.247478056e-09 -2.065379919e-05 -0.0005520810976 3.049198037e-05 -4.763408986e-09 -3.993073118e-05 1.606572917e-09 -5.581744661e-05 0.0003202683844 1.293499994e-09 4.343975792e-06 -0.0001240359772 1.831224303e-10 3.841493541e-06 -0.0001108992143 2.350780239e-10 -1.286536979e-06 1.161940272e-05 2.387046427e-06 -5.316445846e-11 -3.410339354e-06 2.467585767e-10 2.105845968e-06 -3.536965701e-05 1.560307562e-10 7.77950799e-07 -2.080929823e-05 5.957449202e-18 0.004449681879 9.875566195e-08 0.0001906725663 -0.09897492918 1.829384505e-19 0.001163767271 0.008173532278 -2.023388919e-06 -0.002208672077 3.258315282e-23 1.441241402e-05 0.000103430604 -2.303572953e-08 -0.0003443707994 -3.622950109e-22 3.546892966e-07 5.564768243e-05 -8.856789814e-09 7.598111631e-06 2.957954202e-21 5.613041285e-05 4.007349356e-05 -3.375795271e-08 -0.0002635377927 4.069884536e-21 7.519930189e-06 1.577459173e-08 5.364558862e-05 0.0001286262247 -1.699486734e-21 5.974666933e-06 5.496789673e-09 -0.0001421887402 9.710076482e-05 -4.997510958e-22 2.003154677e-06 1.839710283e-09 -2.388494044e-05 -8.647148753e-05 1.340554525e-08 -6.571428796e-22 1.451967495e-11 6.909246837e-06 -2.592891019e-05 7.507174652e-22 5.713850495e-07 6.845034665e-10 -1.519996164e-05 1.399723361e-05 -6.448659927e-23 8.393777059e-07 -4.576572648e-07 8.775775864e-10 -2.393998219e-05 4.258067386e-07 6.459367263e-22 3.864907411e-10 8.138608507e-06 -3.005827211e-05 -3.647123687e-22 3.050299829e-07 2.42261127e-10 -2.173739453e-07 -1.107271747e-05 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2731656004 0.01615280688 -0.02892567571 -0.00681892694 0.00311081643 -0.0001242414384 9.142358452e-06 0.0001499983368 -0.0001504484689 9.162783375e-05 -7.145343949e-05 6.119624794e-05 -3.277313972e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2695462447 0.02324389201 -0.03424272561 -0.004333899483 0.002291534039 4.332848919e-05 0.0001066902242 -2.294053818e-05 1.892984583e-05 -3.739677434e-05 2.322309841e-05 -2.861059199e-06 6.880804962e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1208306479 -0.009094799051 -0.002843835608 4.385357727e-05 0.000101455379 -2.497568383e-05 2.882303202e-05 4.591201175e-06 1.25522063e-05 2.574477926e-05 9.479225358e-06 3.178405029e-06 8.85371498e-06 1.738623967e-10 -0.03001102387 0.1997440824 -0.0001221715915 -1.474070407e-10 -0.02386352647 -3.161081699e-06 8.892664108e-13 -0.0003782332269 5.069147332e-07 1.658455884e-13 1.114472307e-05 -1.500171579e-14 -4.573358943e-07 5.007857078e-05 2.271380542e-06 1.920933973e-13 -1.440347086e-05 3.522406478e-14 -3.493952407e-06 4.251167502e-05 1.184301284e-14 8.749326325e-07 -6.649639108e-06 -7.916369681e-15 -3.478571729e-06 4.038721491e-05 5.133587511e-14 -1.83560613e-06 3.443235877e-05 6.48529231e-07 4.700311325e-15 3.713046695e-06 -8.486490937e-15 -1.351843834e-06 9.719683219e-06 -1.014688348e-14 -1.550010209e-06 1.674276403e-05 5.996596032e-19 -0.000377473387 -9.424701341e-12 -0.008719428334 0.06301289739 4.250044289e-20 4.987671827e-06 -0.00143187811 -4.141268856e-10 -0.005892254741 5.222059328e-22 1.859842766e-07 4.229671091e-07 -6.138141093e-13 -6.644558929e-05 -3.97684739e-22 -2.859798928e-08 -8.511178364e-06 1.891527865e-12 -1.727510638e-05 -5.941036258e-22 3.662671398e-07 6.488075772e-07 -3.437640422e-13 -2.522670586e-05 4.114243255e-24 5.164395866e-08 2.409182204e-13 -3.633301909e-07 1.293020884e-05 -1.435715226e-23 -2.328816091e-08 -6.937242028e-14 4.52940866e-06 -8.289612776e-06 -2.040097e-23 -3.139926191e-09 -5.790193087e-15 -4.039157833e-07 1.915478012e-06 -8.160659869e-10 1.276371546e-21 -1.266989979e-15 -9.077704595e-06 2.704664962e-05 -3.222082569e-22 1.483552381e-08 5.416556904e-14 -5.200987241e-06 1.074630952e-05 2.863870726e-23 1.08671901e-08 -1.266292565e-07 -3.289808145e-14 -9.136562887e-07 -1.278080324e-08 -2.06445073e-22 -2.091689011e-14 -5.329587217e-06 9.978394523e-06 3.139093379e-22 -2.480045938e-08 -3.214682483e-14 6.229744764e-07 4.252964659e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 1.333601076e-05 -0.003680518671 0.01171062439 0.004572524643 -0.001931974151 1.016225988e-05 -0.003695330387 0.003163975381 -1.380679875e-06 -0.002791090092 0.002119938484 -1.702859645e-06 0.001336173644 -0.001159269776 4.948719016e-07 5.602991138e-05 -5.170347486e-05 1.165106662e-08 0.0004402708215 -0.0003880446353 1.452039402e-07 -0.0002896023254 0.0002398595806 -1.282564785e-07 0.0001483925852 -0.0001273107664 5.926285014e-08 -7.692981325e-05 6.523609042e-05 -3.032478854e-08 4.206025406e-05 -3.160521265e-05 3.109924057e-08 -1.970181647e-05 1.391253042e-05 -1.452397306e-08 7.57314583e-06 -4.370287337e-06 1.070626807e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.004214043356 0.006158998385 0.0001312011809 -0.0007825700286 -0.000160366703 0.0001179069761 2.941101487e-05 -1.215575976e-05 -1.292825713e-05 3.591247411e-06 1.211948785e-06 2.186819431e-07 -9.353687809e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.04520166927 0.04251668573 -0.0009345582901 -0.0001451268835 0.0002799358963 0.0005029806326 -0.0003063111856 -7.350246924e-05 0.0001538232273 3.114230238e-05 -2.423650254e-05 1.916106456e-05 2.552626129e-05 1.454931824e-06 -0.003157854218 0.007512458075 0.0005195851016 -1.088795504e-06 0.03421108654 -7.146290097e-06 -1.177097021e-08 -0.001457959397 -6.924319911e-07 7.086881675e-10 -1.038967993e-05 9.381966906e-10 -1.140640338e-05 0.001087813846 -1.904659493e-05 -3.587190187e-09 0.0001295991408 1.20807976e-09 5.088937078e-05 -0.0006397323042 9.728329649e-10 -2.632356776e-05 0.0001948452291 1.377274291e-10 -1.900743854e-05 0.0002168844333 1.768045232e-10 1.738073434e-06 -3.331910854e-05 -2.35095165e-06 -4.003305574e-11 -1.444095283e-05 1.856004633e-10 -8.44366819e-06 5.955031546e-05 1.173764161e-10 -3.04711323e-06 3.220324779e-05 2.363785767e-19 9.495322441e-05 7.430118957e-08 -0.00369666856 0.02112509155 -1.038696295e-20 6.333326623e-05 0.001467685891 -1.522189737e-06 0.003983623004 1.422033013e-20 -1.128629076e-06 1.486140405e-06 -1.732577337e-08 0.0006790959101 2.279063062e-22 -9.281519799e-09 -5.628658706e-06 -6.662351652e-09 -1.747322974e-05 3.031551677e-20 -4.549907229e-06 -1.145926933e-05 -2.539534721e-08 0.0005202223217 3.495676442e-21 -6.099495322e-07 1.186146372e-08 1.038789438e-05 -0.0002534353773 -2.612635299e-21 -5.02811008e-07 4.132508469e-09 0.000156366619 -0.0002955184562 3.675784827e-21 -1.679232679e-07 1.383585823e-09 -3.776354522e-05 0.0001676407959 -8.088281908e-10 4.132021739e-22 1.092177589e-11 -1.716212179e-05 5.082791124e-05 1.318194151e-21 -3.774756953e-08 5.146970487e-10 2.38628948e-05 -5.030265065e-05 3.777596088e-23 -6.59283491e-08 1.303346218e-06 6.607505923e-10 8.223005948e-06 -3.476269999e-08 1.029205093e-22 2.906841531e-10 -2.422359532e-05 4.450385645e-05 8.675494531e-23 -7.6060703e-09 1.822462067e-10 6.185128518e-07 3.673086727e-06 -0 0 0 0 0 0 0 0 0 0 0 0 0 -1.352214984e-05 -0.001516611742 -0.1815201801 0.001529805043 -0.06184377689 -1.018009989e-05 0.0100894037 0.002033057526 1.382974519e-06 0.01420621429 0.001104706844 1.705669872e-06 0.0001243303037 -0.00416102366 -4.957044252e-07 -2.976561439e-05 -6.894765397e-05 -1.167054917e-08 2.109279228e-05 -0.001212800252 -1.454478514e-07 0.0009931054366 0.0001417158764 1.284692074e-07 1.74742353e-05 -0.0004985374759 -5.936260932e-08 0.0002260156754 4.076642451e-05 3.037514902e-08 1.036691613e-05 -0.0002489763116 -3.115196758e-08 0.0001252345373 6.832339961e-06 1.454786252e-08 2.35247391e-06 -7.547512391e-05 -1.072474815e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.09590197642 -0.1401646988 -0.002985838421 0.01780950172 0.003649578912 -0.002683292763 -0.0006693273457 0.0002766372549 0.0002942175258 -8.172856693e-05 -2.758117892e-05 -4.976700232e-06 2.128685141e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.01470014553 0.01382695546 -0.0003039299897 -4.71970691e-05 9.103863821e-05 0.000163575563 -9.961621062e-05 -2.390391798e-05 5.002522838e-05 1.012786441e-05 -7.88201233e-06 6.23141672e-06 8.301457933e-06 -1.457628927e-06 -0.04559196335 -0.02299600676 0.008358714646 1.091418551e-06 0.01108001222 0.0001174809611 1.180077153e-08 -0.0004752201501 -5.445124097e-06 -7.103876161e-10 -3.157105631e-06 -9.404551985e-10 -3.878017573e-05 0.0003533999622 2.141472362e-05 3.593291973e-09 7.639707444e-05 -1.211070338e-09 -2.325109286e-05 -0.0002136717171 -9.75273999e-10 -2.050776465e-05 2.993656717e-05 -1.380484768e-10 -1.387528677e-05 6.936217859e-05 -1.771963067e-10 2.805955058e-08 -1.784210166e-05 8.180342229e-07 4.010017397e-11 -1.893631504e-05 -1.860366417e-10 -5.633722485e-06 1.251832324e-05 -1.176319828e-10 -2.00923065e-06 4.53804567e-06 4.06089021e-18 0.005994823377 -7.444950055e-08 -0.003435817589 -0.1102116782 -2.294329805e-19 0.001606299893 0.01230377284 1.525748086e-06 0.001045366821 -2.55661107e-22 1.798364778e-05 0.0001386402286 1.737100717e-08 0.0002209886563 -2.947798266e-21 4.610365646e-07 6.817192153e-05 6.679547034e-09 -7.354140116e-06 1.229467013e-20 6.988489398e-05 4.1665471e-05 2.546341754e-08 0.0001696441168 3.126851291e-21 9.362266021e-06 -1.188796278e-08 8.158151922e-05 -8.232622071e-05 1.861227895e-21 7.420259143e-06 -4.143616472e-09 -3.256963719e-05 -0.000166117142 1.83836406e-21 2.488480358e-06 -1.386998724e-09 -6.937063544e-05 5.261433427e-05 1.696781277e-08 5.134425123e-22 -1.09460803e-11 -7.964340301e-06 1.633611477e-05 5.23944542e-22 7.199518179e-07 -5.160270666e-10 3.653434698e-06 -3.163718351e-05 -4.470232416e-22 1.047169952e-06 6.944596701e-07 -6.615208134e-10 -2.354858994e-05 5.29902449e-07 -5.921617279e-22 -2.91384935e-10 -1.338045233e-05 4.545817498e-06 2.27954197e-22 3.968631531e-07 -1.826512278e-10 3.288624992e-07 -1.102174207e-05 -0 0 0 0 0 0 0 0 0 0 0 0 0 1.792468198e-05 0.0015942032 -0.1456492277 -0.002288970907 -0.04519188989 1.349672706e-05 0.01039062405 -0.0008488810399 -1.833908765e-06 0.01281429128 -0.0007629577502 -2.261845447e-06 -0.0009122039538 -0.002265202916 6.573132114e-07 -6.462997956e-05 -1.306935015e-05 1.547562452e-08 -0.0003155601183 -0.000622467995 1.928670741e-07 0.0009669418372 -7.371168797e-05 -1.703585845e-07 -9.854256778e-05 -0.0002801178774 7.871574193e-08 0.0002283587626 -1.837131481e-05 -4.027933956e-08 -2.384812022e-05 -0.0001639726644 4.130690869e-08 0.000109272375 -5.321956378e-06 -1.92916415e-08 -3.927606724e-06 -5.36331914e-05 1.42199673e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 --0.07546254497 -0.1102916257 -0.00234947156 0.01401379174 0.002871750125 -0.002111406963 -0.0005266747028 0.0002176780091 0.0002315114256 -6.430989108e-05 -2.170284735e-05 -3.916024248e-06 1.675001957e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02292890543 -0.02156692623 0.0004740621088 7.361676329e-05 -0.0001419997048 -0.0002551409173 0.0001553787796 3.72847108e-05 -7.802805272e-05 -1.579718001e-05 1.229415824e-05 -9.719602051e-06 -1.29483986e-05 1.933695861e-06 -0.03199064087 -0.02299221789 0.005912559672 -1.447272914e-06 -0.01738794072 9.397260481e-05 -1.564861596e-08 0.0007387482168 -3.585040966e-06 9.420694424e-10 5.436834395e-06 1.247478056e-09 -2.065379919e-05 -0.0005520810976 3.049198037e-05 -4.763408986e-09 -3.993073118e-05 1.606572917e-09 -5.581744661e-05 0.0003202683844 1.293499994e-09 4.343975792e-06 -0.0001240359772 1.831224303e-10 3.841493541e-06 -0.0001108992143 2.350780239e-10 -1.286536979e-06 1.161940272e-05 2.387046427e-06 -5.316445846e-11 -3.410339354e-06 2.467585767e-10 2.105845968e-06 -3.536965701e-05 1.560307562e-10 7.77950799e-07 -2.080929823e-05 4.222725726e-18 0.004449681879 9.875566195e-08 0.0001906725663 -0.09897492918 8.129449681e-20 0.001163767271 0.008173532278 -2.023388919e-06 -0.002208672077 -5.049614531e-21 1.441241402e-05 0.000103430604 -2.303572953e-08 -0.0003443707994 -4.681741293e-22 3.546892966e-07 5.564768243e-05 -8.856789814e-09 7.598111631e-06 -2.124243482e-21 5.613041285e-05 4.007349356e-05 -3.375795271e-08 -0.0002635377927 2.799335115e-21 7.519930189e-06 1.577459173e-08 5.364558862e-05 0.0001286262247 -7.465746681e-22 5.974666933e-06 5.496789673e-09 -0.0001421887402 9.710076482e-05 -3.676124648e-21 2.003154677e-06 1.839710283e-09 -2.388494044e-05 -8.647148753e-05 1.340554525e-08 -7.63021998e-22 1.451967495e-11 6.909246837e-06 -2.592891019e-05 1.041885041e-21 5.713850495e-07 6.845034665e-10 -1.519996164e-05 1.399723361e-05 -1.703657177e-22 8.393777059e-07 -4.576572648e-07 8.775775864e-10 -2.393998219e-05 4.258067386e-07 5.400576079e-22 3.864907411e-10 8.138608507e-06 -3.005827211e-05 -3.117728095e-22 3.050299829e-07 2.42261127e-10 -2.173739453e-07 -1.107271747e-05 -0.2370734683 0.0006670533688 0.004066218674 0.0006820777545 0.0005956356081 8.044155541e-06 9.655870575e-06 6.831873609e-05 4.382157398e-05 1.591626787e-05 1.652759785e-05 1.94939596e-05 1.491606603e-05 3.877437901e-09 0.000104543173 0.3087228188 0.0001062601308 0.02189791074 1.451237322e-09 0.00101721631 6.767884142e-05 3.270019455e-11 0.002703808895 4.554381508e-05 7.902103779e-11 3.058225334e-05 0.0002763177339 1.071720203e-11 1.677877475e-07 1.554212663e-07 1.046209417e-14 9.935797639e-06 6.792423503e-05 2.68585604e-12 0.0001254778854 5.197168565e-06 3.878416985e-12 3.452071693e-06 3.698293816e-05 1.425830819e-12 2.421919495e-05 1.387963126e-06 7.687789809e-13 1.030262135e-06 3.786694817e-05 1.535265484e-12 3.118113231e-05 2.989431376e-07 8.846582553e-13 1.823523549e-07 2.000685348e-05 1.00557303e-12 2.687257001e-18 -5.738915916e-20 6.025691442e-19 0.03787629397 0.1290043371 -9.127447334e-20 -7.37985618e-20 1.337300843e-18 0.01166407464 0.02777002614 2.446560727e-23 -3.231297238e-21 -3.488840341e-21 0.0001520492622 9.479976155e-05 1.363245244e-19 -7.767778458e-21 -1.111393635e-20 0.0005765989928 0.002012299337 3.702999509e-24 6.195882383e-24 -1.878566523e-25 2.968303438e-07 9.832055907e-08 -3.600530667e-23 2.380670185e-23 3.064886668e-23 3.860134312e-07 9.979758691e-06 -1.46135199e-21 3.824500158e-22 1.652771929e-21 3.578750522e-05 7.498366886e-05 -1.137572303e-21 -4.622359593e-25 -6.869957845e-23 1.02162398e-05 6.854234909e-05 -6.055528137e-23 5.601287563e-23 -1.561542852e-23 9.779609685e-07 8.699365442e-06 7.958933798e-23 6.975462614e-24 -3.148177266e-23 4.056902711e-06 8.419618364e-06 -1.54458219e-23 4.563732055e-24 -1.70998134e-21 5.202177913e-06 1.997650936e-05 5.923413577e-23 -4.412511968e-23 2.27999328e-22 2.701400034e-06 1.519803296e-05 -1.249839732e-23 3.597664158e-23 1.315549188e-22 2.43172997e-06 8.192639034e-06 -0.4945189387 0.307421443 0.1319654046 0.03941143222 0.01673841645 0.005001509027 0.002982067969 0.0008721944031 0.0006739086684 0.0001662005827 0.000162668234 2.726728507e-05 3.849627959e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09496554104 0.02219350733 0.0009466734748 2.321681126e-06 4.129794632e-05 0.0001989658342 0.0002383724452 0.0001692599573 0.0001085254047 7.176902103e-05 5.852636604e-05 5.506831979e-05 4.747128362e-05 1.073506554e-10 0.04541795873 0.1725741146 0.01007922853 4.289735641e-10 0.01096928929 5.737094057e-05 1.33377982e-12 6.161287463e-05 4.444852922e-08 1.969247443e-15 4.145795013e-08 1.73039299e-13 0.0001003702013 0.0001160749593 5.79959204e-05 1.968726171e-12 0.000456033966 4.122042996e-13 0.0001878179395 0.0003229003659 1.646882683e-13 1.410595769e-05 0.0002999456081 5.102445037e-14 6.696096688e-05 0.0001183515028 8.984760511e-14 5.83628165e-07 0.0001427988773 2.344464954e-06 1.402502874e-15 0.0001207276869 4.655187561e-14 6.221369806e-06 0.0001060713667 3.292207202e-14 1.583941041e-06 9.971418463e-05 -3.318599178e-18 0.009429544937 1.584009502e-13 0.0005109923468 0.194759507 1.954082079e-19 0.002555581156 0.005067391794 1.942355678e-10 0.0004409201741 -5.079331171e-22 2.942625463e-05 5.654394068e-05 2.071868797e-12 8.037295849e-06 -6.200175494e-23 7.348914505e-07 3.230829218e-06 6.964797296e-14 1.567816421e-07 -2.968571044e-22 0.000113937913 0.0001851425888 2.781457311e-11 2.999024015e-05 -2.105133234e-21 1.52722285e-05 1.871511687e-11 0.0005040683449 5.02024039e-05 -8.120338301e-21 1.211469523e-05 6.023879749e-13 0.0001599166819 0.0002441829949 -3.054780618e-21 4.063106018e-06 2.623064167e-13 0.000205223284 3.30332097e-05 2.733646717e-08 1.888872325e-21 4.552652556e-15 0.000111644296 2.711731612e-05 -4.007654468e-21 1.172473665e-06 1.53327562e-13 1.278860789e-05 9.776751272e-05 6.363550309e-22 1.709717327e-06 1.530464362e-07 1.42465555e-13 0.0001104626914 8.6197615e-07 2.086056763e-21 6.739760702e-14 2.211632354e-05 7.515207224e-05 1.520267997e-21 6.315078598e-07 3.652790537e-14 1.2355385e-07 8.266795114e-05 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2475006931 0.001885655396 0.003936900835 0.0009741204454 0.0005004075617 8.132634863e-07 1.510083094e-05 7.282759888e-05 3.408159058e-05 1.381866281e-05 1.778426622e-05 1.795710592e-05 1.276438578e-05 7.833976983e-06 0.3041454174 0.002926686712 0.02849839687 2.755679327e-06 1.477200312e-09 5.595452752e-05 0.000471312833 2.30767043e-11 0.0001328145617 0.002968612862 1.385122764e-10 0.0001424591791 8.663764015e-06 6.653302283e-12 1.353880343e-06 1.063332768e-06 1.058585677e-13 0.0001028139335 8.885062031e-06 4.930568138e-12 9.226573536e-06 0.0001114531879 5.306720441e-12 2.485545863e-05 1.209685944e-06 1.149711835e-12 2.362894913e-06 2.235255113e-05 1.084804457e-12 4.060026829e-05 2.884757044e-07 1.846273792e-12 8.663751496e-07 2.708317392e-05 1.260179665e-12 1.705402686e-05 4.258384822e-09 8.003161715e-13 3.870924633e-18 1.372399809e-19 2.759266841e-19 0.04483170943 0.1133052738 -1.321800191e-18 -1.258438732e-18 -9.331195032e-20 0.009624007898 0.03498925778 6.881697341e-21 3.110445962e-20 -4.218051546e-21 1.920663012e-05 0.0007802029551 1.31164502e-19 9.096641998e-21 2.717059248e-20 0.0006986693326 0.001726467409 6.936881002e-23 1.342778177e-22 2.899718079e-22 1.653240914e-09 1.835110102e-05 1.18117536e-24 8.68741555e-23 -6.485646061e-23 2.342751068e-06 1.709453932e-06 1.293073351e-22 -2.100935983e-21 7.157240037e-21 2.57422105e-05 0.0001083718738 -8.572247763e-22 -2.295633179e-21 -2.123210351e-22 2.225083718e-05 3.271647394e-05 -8.27899951e-24 4.61730562e-23 6.713425529e-23 2.685905316e-06 3.292917407e-06 -4.193674986e-23 -3.540292786e-23 2.490545308e-23 2.887868495e-06 1.229628472e-05 1.833177847e-22 -4.65908724e-22 -8.034510315e-22 6.902245323e-06 1.565229019e-05 4.150039347e-23 1.851908045e-22 -2.553987219e-22 5.060621495e-06 8.434035548e-06 -5.466895185e-23 -9.94289375e-23 -1.50214522e-22 2.848171096e-06 7.27171318e-06 -0.09496554104 0.02219350733 0.0009466734748 2.321681126e-06 4.129794632e-05 0.0001989658342 0.0002383724452 0.0001692599573 0.0001085254047 7.176902103e-05 5.852636604e-05 5.506831979e-05 4.747128362e-05 0.08203099855 8.306610194e-08 0.1359609918 0.009081386798 5.657391906e-09 0.01196712578 5.443671855e-05 2.267692166e-12 6.454709571e-05 4.074384328e-08 2.322477595e-15 4.516263572e-08 1.806939314e-09 9.637884248e-05 0.0001200645114 3.505088244e-13 0.0001259530711 0.0003880768169 2.442170179e-14 0.0001806923474 0.0003300259584 4.99498452e-09 5.220474437e-13 0.0003140465704 2.043748954e-14 6.916995033e-05 0.0001161425193 3.068538768e-15 6.841874488e-06 0.0001365406311 3.090610852e-13 1.118320353e-06 0.0001219538312 2.402303536e-14 6.135362753e-06 0.0001061573737 1.022791965e-14 9.682037194e-06 9.16160885e-05 3.68494155e-19 0.008475895408 0.1732522102 1.124213962e-07 0.02297182624 3.162356928e-20 0.0009869192534 0.006480627332 3.316210437e-10 0.000596346401 -7.543441011e-22 6.030566529e-06 7.772448169e-05 1.30481064e-11 1.025243196e-05 -1.238784211e-24 6.172455307e-07 3.424236285e-06 8.919401295e-14 8.102047562e-08 -4.395296128e-21 1.7510264e-07 5.995061664e-14 0.0002921369044 3.675876272e-05 2.26305628e-21 1.275281687e-06 4.63766704e-13 0.0003051743252 0.0002630933887 2.015335135e-21 3.588497215e-06 5.404957302e-12 0.0003430215163 6.96043537e-05 2.416580836e-21 2.144710129e-06 2.269021791e-12 0.0002012220718 3.895281572e-05 -2.236334575e-21 3.844113255e-09 1.769841843e-15 0.0001178597097 2.092539475e-05 6.439958555e-22 6.145570316e-08 3.010474493e-14 2.166322872e-05 9.000390998e-05 6.105276282e-22 1.298476432e-12 5.281220211e-07 2.249656267e-13 0.0001117973318 2.014791259e-21 1.467994913e-07 7.105028029e-14 4.480358687e-05 5.317998557e-05 -9.635311147e-22 6.039698986e-08 2.877678924e-14 3.246588878e-06 8.011602699e-05 -0.4945189387 0.307421443 0.1319654046 0.03941143222 0.01673841645 0.005001509027 0.002982067969 0.0008721944031 0.0006739086684 0.0001662005827 0.000162668234 2.726728507e-05 3.849627959e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/result.ref b/tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/result.ref deleted file mode 100644 index 58d0d417a1..0000000000 --- a/tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/result.ref +++ /dev/null @@ -1,27 +0,0 @@ -etotref -463.3717558791495890 -etotperatomref -154.4572519597 -totalforceref 3.661556 -totalstressref 9.690490 -deepks_e_label 17.02859183994638 -deepks_edelta 0.0 -deepks_o_label 0.3103148500892656 -deepks_odelta 0.0 -deepks_oprec -0.42236872134755643 -deepks_h_label 49.03922791708764 -deepks_vdelta 0.0 -deepks_vdp 176.26236130240005 -deepks_f_label 0.07120588316979731 -deepks_fdelta 0.0 -deepks_fpre 19.53717375096851 -deepks_s_label 0.08886477565384877 -deepks_sdelta 0.0 -deepks_spre 19.22629462223564 -deepks_e_label_elec 51.047596216236645 -deepks_edelta_elec 0 -deepks_o_label_elec .86018933752816427 -deepks_odelta_elec 0 -deepks_oprec_elec -1.23599151361440239 -deepks_h_label_elec 147.028760179109205 -deepks_vdelta_elec 0 -deepks_vdp_elec 529.07335498441735 -totaltimeref 1.03 diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/deepks_hrdelta.csr.ref b/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/deepks_hrdelta.csr.ref deleted file mode 100644 index 82fa87c452..0000000000 --- a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/deepks_hrdelta.csr.ref +++ /dev/null @@ -1,6 +0,0 @@ -Matrix Dimension of H_delta(R): 23 -Matrix number of H_delta(R): 1 -0 0 0 144 - -1.17226740e-02 -7.57658616e-05 1.61519520e-03 2.14838886e-03 -1.34740806e-03 -8.30754807e-03 7.47161074e-04 -3.31336838e-03 -1.94293588e-03 2.75341536e-03 4.07871413e-04 4.10885575e-03 -7.57658616e-05 -2.29579487e-03 7.50289951e-04 1.02377862e-04 -5.48909920e-05 -2.94642184e-04 -8.25177686e-04 1.94818297e-04 -1.19266527e-04 -7.46808290e-05 -8.73270929e-04 3.20285418e-04 1.61519520e-03 7.50289951e-04 -5.96371822e-04 -5.81645379e-05 1.37541461e-03 3.71901393e-03 -1.08600805e-04 -5.51784265e-04 -1.08973508e-04 -2.26761593e-04 2.01147715e-04 -2.82691276e-04 2.14838886e-03 1.02377862e-04 -5.81645379e-05 -3.34036572e-03 3.80487988e-04 6.01680816e-04 5.43170647e-04 2.59440381e-03 -2.85153605e-04 3.33506511e-04 -1.05075443e-03 -3.77203641e-03 -1.34740806e-03 -5.48909920e-05 1.37541461e-03 3.80487988e-04 4.66309048e-04 -2.79020310e-03 2.98197496e-04 -7.00712687e-04 -7.72562067e-05 -1.48728519e-04 -2.30021977e-04 -3.50951237e-04 -8.30754807e-03 -2.94642184e-04 3.71901393e-03 6.01680816e-04 -2.79020310e-03 -1.26915681e-02 6.40881586e-04 -6.12780257e-05 -1.56385352e-03 1.75141762e-03 -4.37464862e-04 1.26280909e-05 7.47161074e-04 -8.25177686e-04 -1.08600805e-04 5.43170647e-04 2.98197496e-04 6.40881586e-04 -1.80813878e-03 -6.96488950e-05 2.45238335e-04 9.54997836e-05 1.72195202e-04 2.89724169e-04 -3.31336838e-03 1.94818297e-04 -5.51784265e-04 2.59440381e-03 -7.00712687e-04 -6.12780257e-05 -6.96488950e-05 -2.13180521e-03 -4.05397975e-05 1.71581618e-04 8.85356707e-04 3.60025084e-03 -1.94293588e-03 -1.19266527e-04 -1.08973508e-04 -2.85153605e-04 -7.72562067e-05 -1.56385352e-03 2.45238335e-04 -4.05397975e-05 -6.06345144e-04 7.81662817e-04 -1.54549695e-04 2.40887746e-05 2.75341536e-03 -7.46808290e-05 -2.26761593e-04 3.33506511e-04 -1.48728519e-04 1.75141762e-03 9.54997836e-05 1.71581618e-04 7.81662817e-04 -5.88627411e-04 -2.89432341e-04 -2.73772524e-04 4.07871413e-04 -8.73270929e-04 2.01147715e-04 -1.05075443e-03 -2.30021977e-04 -4.37464862e-04 1.72195202e-04 8.85356707e-04 -1.54549695e-04 -2.89432341e-04 -2.37112515e-03 -1.20550576e-03 4.10885575e-03 3.20285418e-04 -2.82691276e-04 -3.77203641e-03 -3.50951237e-04 1.26280909e-05 2.89724169e-04 3.60025084e-03 2.40887746e-05 -2.73772524e-04 -1.20550576e-03 -7.09398430e-03 - 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 - 0 12 24 36 48 60 72 84 96 108 120 132 144 144 144 144 144 144 144 144 144 144 144 144 diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/deepks_hrtot.csr.ref b/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/deepks_hrtot.csr.ref deleted file mode 100644 index 48eaf60c3a..0000000000 --- a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/deepks_hrtot.csr.ref +++ /dev/null @@ -1,6 +0,0 @@ -Matrix Dimension of H(R): 23 -Matrix number of H(R): 1 -0 0 0 144 - -8.42107904e-01 -3.36018443e-02 4.57125255e-01 2.48575301e-01 -1.13625395e-01 -1.07975761e+00 6.92996341e-02 -4.87107239e-01 -7.19175506e-03 1.10813024e-01 9.06402772e-04 9.15211632e-02 -3.36018443e-02 2.49598467e+00 3.30086601e-02 2.78231936e-02 9.74834800e-03 -4.25617904e-02 -2.15042800e-01 -2.49406909e-02 1.47258242e-02 -8.47667718e-02 3.92807294e-01 -7.69616324e-02 4.57125255e-01 3.30086601e-02 2.06576968e+00 -3.14993633e-02 9.87617873e-02 5.39706282e-01 -4.07170235e-02 6.21072104e-02 -1.28863490e-01 2.24558957e-01 6.67403369e-02 5.21985815e-01 2.48575301e-01 2.78231936e-02 -3.14993633e-02 9.32647363e-01 -2.91947949e-02 1.96293189e-01 8.84269909e-02 3.75282153e-01 4.31349825e-02 -1.22832429e-01 4.49127331e-02 6.44049862e-02 -1.13625395e-01 9.74834800e-03 9.87617873e-02 -2.91947949e-02 2.23408330e+00 -4.00917139e-01 6.85175949e-02 2.02359643e-01 -3.39239660e-02 -1.39561982e-01 2.40210913e-01 2.44261809e-01 -1.07975761e+00 -4.25617904e-02 5.39706282e-01 1.96293189e-01 -4.00917139e-01 -1.70549181e+00 6.48395657e-02 -7.05142835e-03 -2.62232291e-02 1.66491876e-01 -3.83218137e-02 1.50531270e-03 6.92996341e-02 -2.15042800e-01 -4.07170235e-02 8.84269909e-02 6.85175949e-02 6.48395657e-02 -4.74768823e-01 -2.57988231e-02 1.11451453e-02 1.52852492e-02 7.90528504e-03 2.42311440e-02 -4.87107239e-01 -2.49406909e-02 6.21072104e-02 3.75282153e-01 2.02359643e-01 -7.05142835e-03 -2.57988231e-02 -7.15138160e-01 -1.64611138e-03 1.55738906e-02 9.09657799e-02 3.66026282e-01 -7.19175506e-03 1.47258242e-02 -1.28863490e-01 4.31349825e-02 -3.39239660e-02 -2.62232291e-02 1.11451453e-02 -1.64611138e-03 7.76366120e-01 5.68900637e-02 -1.06890265e-02 1.61948811e-03 1.10813024e-01 -8.47667718e-02 2.24558957e-01 -1.22832429e-01 -1.39561982e-01 1.66491876e-01 1.52852492e-02 1.55738906e-02 5.68900637e-02 3.19891456e+00 7.27737784e-03 -1.42881909e-02 9.06402772e-04 3.92807294e-01 6.67403369e-02 4.49127331e-02 2.40210913e-01 -3.83218137e-02 7.90528504e-03 9.09657799e-02 -1.06890265e-02 7.27737784e-03 3.19660717e+00 -9.14134117e-02 9.15211632e-02 -7.69616324e-02 5.21985815e-01 6.44049862e-02 2.44261809e-01 1.50531270e-03 2.42311440e-02 3.66026282e-01 1.61948811e-03 -1.42881909e-02 -9.14134117e-02 2.85906938e+00 - 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 - 0 12 24 36 48 60 72 84 96 108 120 132 144 144 144 144 144 144 144 144 144 144 144 144 diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/deepks_hrdelta.csr.ref b/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/deepks_hrdelta.csr.ref deleted file mode 100644 index 82fa87c452..0000000000 --- a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/deepks_hrdelta.csr.ref +++ /dev/null @@ -1,6 +0,0 @@ -Matrix Dimension of H_delta(R): 23 -Matrix number of H_delta(R): 1 -0 0 0 144 - -1.17226740e-02 -7.57658616e-05 1.61519520e-03 2.14838886e-03 -1.34740806e-03 -8.30754807e-03 7.47161074e-04 -3.31336838e-03 -1.94293588e-03 2.75341536e-03 4.07871413e-04 4.10885575e-03 -7.57658616e-05 -2.29579487e-03 7.50289951e-04 1.02377862e-04 -5.48909920e-05 -2.94642184e-04 -8.25177686e-04 1.94818297e-04 -1.19266527e-04 -7.46808290e-05 -8.73270929e-04 3.20285418e-04 1.61519520e-03 7.50289951e-04 -5.96371822e-04 -5.81645379e-05 1.37541461e-03 3.71901393e-03 -1.08600805e-04 -5.51784265e-04 -1.08973508e-04 -2.26761593e-04 2.01147715e-04 -2.82691276e-04 2.14838886e-03 1.02377862e-04 -5.81645379e-05 -3.34036572e-03 3.80487988e-04 6.01680816e-04 5.43170647e-04 2.59440381e-03 -2.85153605e-04 3.33506511e-04 -1.05075443e-03 -3.77203641e-03 -1.34740806e-03 -5.48909920e-05 1.37541461e-03 3.80487988e-04 4.66309048e-04 -2.79020310e-03 2.98197496e-04 -7.00712687e-04 -7.72562067e-05 -1.48728519e-04 -2.30021977e-04 -3.50951237e-04 -8.30754807e-03 -2.94642184e-04 3.71901393e-03 6.01680816e-04 -2.79020310e-03 -1.26915681e-02 6.40881586e-04 -6.12780257e-05 -1.56385352e-03 1.75141762e-03 -4.37464862e-04 1.26280909e-05 7.47161074e-04 -8.25177686e-04 -1.08600805e-04 5.43170647e-04 2.98197496e-04 6.40881586e-04 -1.80813878e-03 -6.96488950e-05 2.45238335e-04 9.54997836e-05 1.72195202e-04 2.89724169e-04 -3.31336838e-03 1.94818297e-04 -5.51784265e-04 2.59440381e-03 -7.00712687e-04 -6.12780257e-05 -6.96488950e-05 -2.13180521e-03 -4.05397975e-05 1.71581618e-04 8.85356707e-04 3.60025084e-03 -1.94293588e-03 -1.19266527e-04 -1.08973508e-04 -2.85153605e-04 -7.72562067e-05 -1.56385352e-03 2.45238335e-04 -4.05397975e-05 -6.06345144e-04 7.81662817e-04 -1.54549695e-04 2.40887746e-05 2.75341536e-03 -7.46808290e-05 -2.26761593e-04 3.33506511e-04 -1.48728519e-04 1.75141762e-03 9.54997836e-05 1.71581618e-04 7.81662817e-04 -5.88627411e-04 -2.89432341e-04 -2.73772524e-04 4.07871413e-04 -8.73270929e-04 2.01147715e-04 -1.05075443e-03 -2.30021977e-04 -4.37464862e-04 1.72195202e-04 8.85356707e-04 -1.54549695e-04 -2.89432341e-04 -2.37112515e-03 -1.20550576e-03 4.10885575e-03 3.20285418e-04 -2.82691276e-04 -3.77203641e-03 -3.50951237e-04 1.26280909e-05 2.89724169e-04 3.60025084e-03 2.40887746e-05 -2.73772524e-04 -1.20550576e-03 -7.09398430e-03 - 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 - 0 12 24 36 48 60 72 84 96 108 120 132 144 144 144 144 144 144 144 144 144 144 144 144 diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/deepks_hrtot.csr.ref b/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/deepks_hrtot.csr.ref deleted file mode 100644 index 48eaf60c3a..0000000000 --- a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/deepks_hrtot.csr.ref +++ /dev/null @@ -1,6 +0,0 @@ -Matrix Dimension of H(R): 23 -Matrix number of H(R): 1 -0 0 0 144 - -8.42107904e-01 -3.36018443e-02 4.57125255e-01 2.48575301e-01 -1.13625395e-01 -1.07975761e+00 6.92996341e-02 -4.87107239e-01 -7.19175506e-03 1.10813024e-01 9.06402772e-04 9.15211632e-02 -3.36018443e-02 2.49598467e+00 3.30086601e-02 2.78231936e-02 9.74834800e-03 -4.25617904e-02 -2.15042800e-01 -2.49406909e-02 1.47258242e-02 -8.47667718e-02 3.92807294e-01 -7.69616324e-02 4.57125255e-01 3.30086601e-02 2.06576968e+00 -3.14993633e-02 9.87617873e-02 5.39706282e-01 -4.07170235e-02 6.21072104e-02 -1.28863490e-01 2.24558957e-01 6.67403369e-02 5.21985815e-01 2.48575301e-01 2.78231936e-02 -3.14993633e-02 9.32647363e-01 -2.91947949e-02 1.96293189e-01 8.84269909e-02 3.75282153e-01 4.31349825e-02 -1.22832429e-01 4.49127331e-02 6.44049862e-02 -1.13625395e-01 9.74834800e-03 9.87617873e-02 -2.91947949e-02 2.23408330e+00 -4.00917139e-01 6.85175949e-02 2.02359643e-01 -3.39239660e-02 -1.39561982e-01 2.40210913e-01 2.44261809e-01 -1.07975761e+00 -4.25617904e-02 5.39706282e-01 1.96293189e-01 -4.00917139e-01 -1.70549181e+00 6.48395657e-02 -7.05142835e-03 -2.62232291e-02 1.66491876e-01 -3.83218137e-02 1.50531270e-03 6.92996341e-02 -2.15042800e-01 -4.07170235e-02 8.84269909e-02 6.85175949e-02 6.48395657e-02 -4.74768823e-01 -2.57988231e-02 1.11451453e-02 1.52852492e-02 7.90528504e-03 2.42311440e-02 -4.87107239e-01 -2.49406909e-02 6.21072104e-02 3.75282153e-01 2.02359643e-01 -7.05142835e-03 -2.57988231e-02 -7.15138160e-01 -1.64611138e-03 1.55738906e-02 9.09657799e-02 3.66026282e-01 -7.19175506e-03 1.47258242e-02 -1.28863490e-01 4.31349825e-02 -3.39239660e-02 -2.62232291e-02 1.11451453e-02 -1.64611138e-03 7.76366120e-01 5.68900637e-02 -1.06890265e-02 1.61948811e-03 1.10813024e-01 -8.47667718e-02 2.24558957e-01 -1.22832429e-01 -1.39561982e-01 1.66491876e-01 1.52852492e-02 1.55738906e-02 5.68900637e-02 3.19891456e+00 7.27737784e-03 -1.42881909e-02 9.06402772e-04 3.92807294e-01 6.67403369e-02 4.49127331e-02 2.40210913e-01 -3.83218137e-02 7.90528504e-03 9.09657799e-02 -1.06890265e-02 7.27737784e-03 3.19660717e+00 -9.14134117e-02 9.15211632e-02 -7.69616324e-02 5.21985815e-01 6.44049862e-02 2.44261809e-01 1.50531270e-03 2.42311440e-02 3.66026282e-01 1.61948811e-03 -1.42881909e-02 -9.14134117e-02 2.85906938e+00 - 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 - 0 12 24 36 48 60 72 84 96 108 120 132 144 144 144 144 144 144 144 144 144 144 144 144 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/STRU b/tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/STRU deleted file mode 100644 index d96524cc65..0000000000 --- a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/STRU +++ /dev/null @@ -1,32 +0,0 @@ -ATOMIC_SPECIES -Si 1.00 Si_ONCV_PBE-1.2.upf -O 1.00 O_ONCV_PBE-1.2.upf - - -LATTICE_CONSTANT -1 - -LATTICE_VECTORS -15 0 0 -0 15 0 -0 0 9 - -ATOMIC_POSITIONS -Direct # Cartesian(Unit is LATTICE_CONSTANT) - -Si -0.0 -1 -0.5 0.5 0 0 0 0 -O -0.0 -2 -0.5 0.5 0.25 0 0 0 -0.5 0.5 0.75 0 0 0 - -NUMERICAL_ORBITAL -Si_gga_8au_60Ry_2s2p1d.orb -O_gga_7au_60Ry_2s2p1d.orb - -NUMERICAL_DESCRIPTOR -../Model_ProjOrb/2au_20Ry_jle.orb diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/result.ref b/tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/result.ref deleted file mode 100644 index 1582fefe3b..0000000000 --- a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/result.ref +++ /dev/null @@ -1,10 +0,0 @@ -etotref -959.2783700856231 -etotperatomref -319.7594566952 -deepks_desc 2.456992 -deepks_dm_eig 15.506898379534249 -deepks_e_label 35.25281724192405 -deepks_edelta 0.09772974729136052 -deepks_o_label 0.3368945080257191 -deepks_odelta 0.0014646771995326935 -deepks_oprec -1.2637665734018695 -totaltimeref 1.53 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/result.ref b/tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/result.ref deleted file mode 100644 index 56a29b13c8..0000000000 --- a/tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/result.ref +++ /dev/null @@ -1,27 +0,0 @@ -etotref -463.3717558791492479 -etotperatomref -154.4572519597 -totalforceref 3.661556 -totalstressref 9.690490 -deepks_e_label 17.02859183994637 -deepks_edelta 0.0 -deepks_o_label 0.3103148500892669 -deepks_odelta 0.0 -deepks_oprec -0.42236872134754927 -deepks_h_label 49.03922791708764 -deepks_vdelta 0.0 -deepks_vdp 176.26236130239985 -deepks_f_label 0.07120588316980042 -deepks_fdelta 0.0 -deepks_fpre 19.53717375096855 -deepks_s_label 0.08886477565386258 -deepks_sdelta 0.0 -deepks_spre 19.22629462223567 -deepks_e_label_elec 51.047596216236626 -deepks_edelta_elec 0 -deepks_o_label_elec .86018933752817077 -deepks_odelta_elec 0 -deepks_oprec_elec -1.23599151361439742 -deepks_h_label_elec 147.028760179109226 -deepks_vdelta_elec 0 -deepks_vdp_elec 529.07335498441665 -totaltimeref 1.06 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/deepks_hrdelta.csr.ref b/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/deepks_hrdelta.csr.ref deleted file mode 100644 index 82fa87c452..0000000000 --- a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/deepks_hrdelta.csr.ref +++ /dev/null @@ -1,6 +0,0 @@ -Matrix Dimension of H_delta(R): 23 -Matrix number of H_delta(R): 1 -0 0 0 144 - -1.17226740e-02 -7.57658616e-05 1.61519520e-03 2.14838886e-03 -1.34740806e-03 -8.30754807e-03 7.47161074e-04 -3.31336838e-03 -1.94293588e-03 2.75341536e-03 4.07871413e-04 4.10885575e-03 -7.57658616e-05 -2.29579487e-03 7.50289951e-04 1.02377862e-04 -5.48909920e-05 -2.94642184e-04 -8.25177686e-04 1.94818297e-04 -1.19266527e-04 -7.46808290e-05 -8.73270929e-04 3.20285418e-04 1.61519520e-03 7.50289951e-04 -5.96371822e-04 -5.81645379e-05 1.37541461e-03 3.71901393e-03 -1.08600805e-04 -5.51784265e-04 -1.08973508e-04 -2.26761593e-04 2.01147715e-04 -2.82691276e-04 2.14838886e-03 1.02377862e-04 -5.81645379e-05 -3.34036572e-03 3.80487988e-04 6.01680816e-04 5.43170647e-04 2.59440381e-03 -2.85153605e-04 3.33506511e-04 -1.05075443e-03 -3.77203641e-03 -1.34740806e-03 -5.48909920e-05 1.37541461e-03 3.80487988e-04 4.66309048e-04 -2.79020310e-03 2.98197496e-04 -7.00712687e-04 -7.72562067e-05 -1.48728519e-04 -2.30021977e-04 -3.50951237e-04 -8.30754807e-03 -2.94642184e-04 3.71901393e-03 6.01680816e-04 -2.79020310e-03 -1.26915681e-02 6.40881586e-04 -6.12780257e-05 -1.56385352e-03 1.75141762e-03 -4.37464862e-04 1.26280909e-05 7.47161074e-04 -8.25177686e-04 -1.08600805e-04 5.43170647e-04 2.98197496e-04 6.40881586e-04 -1.80813878e-03 -6.96488950e-05 2.45238335e-04 9.54997836e-05 1.72195202e-04 2.89724169e-04 -3.31336838e-03 1.94818297e-04 -5.51784265e-04 2.59440381e-03 -7.00712687e-04 -6.12780257e-05 -6.96488950e-05 -2.13180521e-03 -4.05397975e-05 1.71581618e-04 8.85356707e-04 3.60025084e-03 -1.94293588e-03 -1.19266527e-04 -1.08973508e-04 -2.85153605e-04 -7.72562067e-05 -1.56385352e-03 2.45238335e-04 -4.05397975e-05 -6.06345144e-04 7.81662817e-04 -1.54549695e-04 2.40887746e-05 2.75341536e-03 -7.46808290e-05 -2.26761593e-04 3.33506511e-04 -1.48728519e-04 1.75141762e-03 9.54997836e-05 1.71581618e-04 7.81662817e-04 -5.88627411e-04 -2.89432341e-04 -2.73772524e-04 4.07871413e-04 -8.73270929e-04 2.01147715e-04 -1.05075443e-03 -2.30021977e-04 -4.37464862e-04 1.72195202e-04 8.85356707e-04 -1.54549695e-04 -2.89432341e-04 -2.37112515e-03 -1.20550576e-03 4.10885575e-03 3.20285418e-04 -2.82691276e-04 -3.77203641e-03 -3.50951237e-04 1.26280909e-05 2.89724169e-04 3.60025084e-03 2.40887746e-05 -2.73772524e-04 -1.20550576e-03 -7.09398430e-03 - 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 - 0 12 24 36 48 60 72 84 96 108 120 132 144 144 144 144 144 144 144 144 144 144 144 144 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/deepks_hrtot.csr.ref b/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/deepks_hrtot.csr.ref deleted file mode 100644 index 48eaf60c3a..0000000000 --- a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/deepks_hrtot.csr.ref +++ /dev/null @@ -1,6 +0,0 @@ -Matrix Dimension of H(R): 23 -Matrix number of H(R): 1 -0 0 0 144 - -8.42107904e-01 -3.36018443e-02 4.57125255e-01 2.48575301e-01 -1.13625395e-01 -1.07975761e+00 6.92996341e-02 -4.87107239e-01 -7.19175506e-03 1.10813024e-01 9.06402772e-04 9.15211632e-02 -3.36018443e-02 2.49598467e+00 3.30086601e-02 2.78231936e-02 9.74834800e-03 -4.25617904e-02 -2.15042800e-01 -2.49406909e-02 1.47258242e-02 -8.47667718e-02 3.92807294e-01 -7.69616324e-02 4.57125255e-01 3.30086601e-02 2.06576968e+00 -3.14993633e-02 9.87617873e-02 5.39706282e-01 -4.07170235e-02 6.21072104e-02 -1.28863490e-01 2.24558957e-01 6.67403369e-02 5.21985815e-01 2.48575301e-01 2.78231936e-02 -3.14993633e-02 9.32647363e-01 -2.91947949e-02 1.96293189e-01 8.84269909e-02 3.75282153e-01 4.31349825e-02 -1.22832429e-01 4.49127331e-02 6.44049862e-02 -1.13625395e-01 9.74834800e-03 9.87617873e-02 -2.91947949e-02 2.23408330e+00 -4.00917139e-01 6.85175949e-02 2.02359643e-01 -3.39239660e-02 -1.39561982e-01 2.40210913e-01 2.44261809e-01 -1.07975761e+00 -4.25617904e-02 5.39706282e-01 1.96293189e-01 -4.00917139e-01 -1.70549181e+00 6.48395657e-02 -7.05142835e-03 -2.62232291e-02 1.66491876e-01 -3.83218137e-02 1.50531270e-03 6.92996341e-02 -2.15042800e-01 -4.07170235e-02 8.84269909e-02 6.85175949e-02 6.48395657e-02 -4.74768823e-01 -2.57988231e-02 1.11451453e-02 1.52852492e-02 7.90528504e-03 2.42311440e-02 -4.87107239e-01 -2.49406909e-02 6.21072104e-02 3.75282153e-01 2.02359643e-01 -7.05142835e-03 -2.57988231e-02 -7.15138160e-01 -1.64611138e-03 1.55738906e-02 9.09657799e-02 3.66026282e-01 -7.19175506e-03 1.47258242e-02 -1.28863490e-01 4.31349825e-02 -3.39239660e-02 -2.62232291e-02 1.11451453e-02 -1.64611138e-03 7.76366120e-01 5.68900637e-02 -1.06890265e-02 1.61948811e-03 1.10813024e-01 -8.47667718e-02 2.24558957e-01 -1.22832429e-01 -1.39561982e-01 1.66491876e-01 1.52852492e-02 1.55738906e-02 5.68900637e-02 3.19891456e+00 7.27737784e-03 -1.42881909e-02 9.06402772e-04 3.92807294e-01 6.67403369e-02 4.49127331e-02 2.40210913e-01 -3.83218137e-02 7.90528504e-03 9.09657799e-02 -1.06890265e-02 7.27737784e-03 3.19660717e+00 -9.14134117e-02 9.15211632e-02 -7.69616324e-02 5.21985815e-01 6.44049862e-02 2.44261809e-01 1.50531270e-03 2.42311440e-02 3.66026282e-01 1.61948811e-03 -1.42881909e-02 -9.14134117e-02 2.85906938e+00 - 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 - 0 12 24 36 48 60 72 84 96 108 120 132 144 144 144 144 144 144 144 144 144 144 144 144 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/deepks_hrdelta.csr.ref b/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/deepks_hrdelta.csr.ref deleted file mode 100644 index 82fa87c452..0000000000 --- a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/deepks_hrdelta.csr.ref +++ /dev/null @@ -1,6 +0,0 @@ -Matrix Dimension of H_delta(R): 23 -Matrix number of H_delta(R): 1 -0 0 0 144 - -1.17226740e-02 -7.57658616e-05 1.61519520e-03 2.14838886e-03 -1.34740806e-03 -8.30754807e-03 7.47161074e-04 -3.31336838e-03 -1.94293588e-03 2.75341536e-03 4.07871413e-04 4.10885575e-03 -7.57658616e-05 -2.29579487e-03 7.50289951e-04 1.02377862e-04 -5.48909920e-05 -2.94642184e-04 -8.25177686e-04 1.94818297e-04 -1.19266527e-04 -7.46808290e-05 -8.73270929e-04 3.20285418e-04 1.61519520e-03 7.50289951e-04 -5.96371822e-04 -5.81645379e-05 1.37541461e-03 3.71901393e-03 -1.08600805e-04 -5.51784265e-04 -1.08973508e-04 -2.26761593e-04 2.01147715e-04 -2.82691276e-04 2.14838886e-03 1.02377862e-04 -5.81645379e-05 -3.34036572e-03 3.80487988e-04 6.01680816e-04 5.43170647e-04 2.59440381e-03 -2.85153605e-04 3.33506511e-04 -1.05075443e-03 -3.77203641e-03 -1.34740806e-03 -5.48909920e-05 1.37541461e-03 3.80487988e-04 4.66309048e-04 -2.79020310e-03 2.98197496e-04 -7.00712687e-04 -7.72562067e-05 -1.48728519e-04 -2.30021977e-04 -3.50951237e-04 -8.30754807e-03 -2.94642184e-04 3.71901393e-03 6.01680816e-04 -2.79020310e-03 -1.26915681e-02 6.40881586e-04 -6.12780257e-05 -1.56385352e-03 1.75141762e-03 -4.37464862e-04 1.26280909e-05 7.47161074e-04 -8.25177686e-04 -1.08600805e-04 5.43170647e-04 2.98197496e-04 6.40881586e-04 -1.80813878e-03 -6.96488950e-05 2.45238335e-04 9.54997836e-05 1.72195202e-04 2.89724169e-04 -3.31336838e-03 1.94818297e-04 -5.51784265e-04 2.59440381e-03 -7.00712687e-04 -6.12780257e-05 -6.96488950e-05 -2.13180521e-03 -4.05397975e-05 1.71581618e-04 8.85356707e-04 3.60025084e-03 -1.94293588e-03 -1.19266527e-04 -1.08973508e-04 -2.85153605e-04 -7.72562067e-05 -1.56385352e-03 2.45238335e-04 -4.05397975e-05 -6.06345144e-04 7.81662817e-04 -1.54549695e-04 2.40887746e-05 2.75341536e-03 -7.46808290e-05 -2.26761593e-04 3.33506511e-04 -1.48728519e-04 1.75141762e-03 9.54997836e-05 1.71581618e-04 7.81662817e-04 -5.88627411e-04 -2.89432341e-04 -2.73772524e-04 4.07871413e-04 -8.73270929e-04 2.01147715e-04 -1.05075443e-03 -2.30021977e-04 -4.37464862e-04 1.72195202e-04 8.85356707e-04 -1.54549695e-04 -2.89432341e-04 -2.37112515e-03 -1.20550576e-03 4.10885575e-03 3.20285418e-04 -2.82691276e-04 -3.77203641e-03 -3.50951237e-04 1.26280909e-05 2.89724169e-04 3.60025084e-03 2.40887746e-05 -2.73772524e-04 -1.20550576e-03 -7.09398430e-03 - 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 - 0 12 24 36 48 60 72 84 96 108 120 132 144 144 144 144 144 144 144 144 144 144 144 144 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/deepks_hrtot.csr.ref b/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/deepks_hrtot.csr.ref deleted file mode 100644 index 48eaf60c3a..0000000000 --- a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/deepks_hrtot.csr.ref +++ /dev/null @@ -1,6 +0,0 @@ -Matrix Dimension of H(R): 23 -Matrix number of H(R): 1 -0 0 0 144 - -8.42107904e-01 -3.36018443e-02 4.57125255e-01 2.48575301e-01 -1.13625395e-01 -1.07975761e+00 6.92996341e-02 -4.87107239e-01 -7.19175506e-03 1.10813024e-01 9.06402772e-04 9.15211632e-02 -3.36018443e-02 2.49598467e+00 3.30086601e-02 2.78231936e-02 9.74834800e-03 -4.25617904e-02 -2.15042800e-01 -2.49406909e-02 1.47258242e-02 -8.47667718e-02 3.92807294e-01 -7.69616324e-02 4.57125255e-01 3.30086601e-02 2.06576968e+00 -3.14993633e-02 9.87617873e-02 5.39706282e-01 -4.07170235e-02 6.21072104e-02 -1.28863490e-01 2.24558957e-01 6.67403369e-02 5.21985815e-01 2.48575301e-01 2.78231936e-02 -3.14993633e-02 9.32647363e-01 -2.91947949e-02 1.96293189e-01 8.84269909e-02 3.75282153e-01 4.31349825e-02 -1.22832429e-01 4.49127331e-02 6.44049862e-02 -1.13625395e-01 9.74834800e-03 9.87617873e-02 -2.91947949e-02 2.23408330e+00 -4.00917139e-01 6.85175949e-02 2.02359643e-01 -3.39239660e-02 -1.39561982e-01 2.40210913e-01 2.44261809e-01 -1.07975761e+00 -4.25617904e-02 5.39706282e-01 1.96293189e-01 -4.00917139e-01 -1.70549181e+00 6.48395657e-02 -7.05142835e-03 -2.62232291e-02 1.66491876e-01 -3.83218137e-02 1.50531270e-03 6.92996341e-02 -2.15042800e-01 -4.07170235e-02 8.84269909e-02 6.85175949e-02 6.48395657e-02 -4.74768823e-01 -2.57988231e-02 1.11451453e-02 1.52852492e-02 7.90528504e-03 2.42311440e-02 -4.87107239e-01 -2.49406909e-02 6.21072104e-02 3.75282153e-01 2.02359643e-01 -7.05142835e-03 -2.57988231e-02 -7.15138160e-01 -1.64611138e-03 1.55738906e-02 9.09657799e-02 3.66026282e-01 -7.19175506e-03 1.47258242e-02 -1.28863490e-01 4.31349825e-02 -3.39239660e-02 -2.62232291e-02 1.11451453e-02 -1.64611138e-03 7.76366120e-01 5.68900637e-02 -1.06890265e-02 1.61948811e-03 1.10813024e-01 -8.47667718e-02 2.24558957e-01 -1.22832429e-01 -1.39561982e-01 1.66491876e-01 1.52852492e-02 1.55738906e-02 5.68900637e-02 3.19891456e+00 7.27737784e-03 -1.42881909e-02 9.06402772e-04 3.92807294e-01 6.67403369e-02 4.49127331e-02 2.40210913e-01 -3.83218137e-02 7.90528504e-03 9.09657799e-02 -1.06890265e-02 7.27737784e-03 3.19660717e+00 -9.14134117e-02 9.15211632e-02 -7.69616324e-02 5.21985815e-01 6.44049862e-02 2.44261809e-01 1.50531270e-03 2.42311440e-02 3.66026282e-01 1.61948811e-03 -1.42881909e-02 -9.14134117e-02 2.85906938e+00 - 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 - 0 12 24 36 48 60 72 84 96 108 120 132 144 144 144 144 144 144 144 144 144 144 144 144 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_basic/INPUT b/tests/09_DeePKS/10_NO_KP_deepks_basic/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_basic/INPUT rename to tests/09_DeePKS/10_NO_KP_deepks_basic/INPUT diff --git a/tests/09_DeePKS/10_NO_KP_deepks_basic/KPT b/tests/09_DeePKS/10_NO_KP_deepks_basic/KPT new file mode 100644 index 0000000000..e769af7638 --- /dev/null +++ b/tests/09_DeePKS/10_NO_KP_deepks_basic/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +2 1 1 0 0 0 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_basic/README b/tests/09_DeePKS/10_NO_KP_deepks_basic/README similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_basic/README rename to tests/09_DeePKS/10_NO_KP_deepks_basic/README diff --git a/tests/09_DeePKS/103_NO_KP_deepks_basic/STRU b/tests/09_DeePKS/10_NO_KP_deepks_basic/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_basic/STRU rename to tests/09_DeePKS/10_NO_KP_deepks_basic/STRU diff --git a/tests/09_DeePKS/103_NO_KP_deepks_basic/result.ref b/tests/09_DeePKS/10_NO_KP_deepks_basic/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_basic/result.ref rename to tests/09_DeePKS/10_NO_KP_deepks_basic/result.ref diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap/INPUT b/tests/09_DeePKS/11_NO_GO_deepks_bandgap/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap/INPUT rename to tests/09_DeePKS/11_NO_GO_deepks_bandgap/INPUT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap/KPT b/tests/09_DeePKS/11_NO_GO_deepks_bandgap/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap/KPT rename to tests/09_DeePKS/11_NO_GO_deepks_bandgap/KPT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap/README b/tests/09_DeePKS/11_NO_GO_deepks_bandgap/README similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap/README rename to tests/09_DeePKS/11_NO_GO_deepks_bandgap/README diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap/STRU b/tests/09_DeePKS/11_NO_GO_deepks_bandgap/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap/STRU rename to tests/09_DeePKS/11_NO_GO_deepks_bandgap/STRU diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap/result.ref b/tests/09_DeePKS/11_NO_GO_deepks_bandgap/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap/result.ref rename to tests/09_DeePKS/11_NO_GO_deepks_bandgap/result.ref diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_2/INPUT b/tests/09_DeePKS/12_NO_GO_deepks_bandgap_2/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap_2/INPUT rename to tests/09_DeePKS/12_NO_GO_deepks_bandgap_2/INPUT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_2/KPT b/tests/09_DeePKS/12_NO_GO_deepks_bandgap_2/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap_2/KPT rename to tests/09_DeePKS/12_NO_GO_deepks_bandgap_2/KPT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_2/README b/tests/09_DeePKS/12_NO_GO_deepks_bandgap_2/README similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap_2/README rename to tests/09_DeePKS/12_NO_GO_deepks_bandgap_2/README diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_2/STRU b/tests/09_DeePKS/12_NO_GO_deepks_bandgap_2/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap_2/STRU rename to tests/09_DeePKS/12_NO_GO_deepks_bandgap_2/STRU diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_2/result.ref b/tests/09_DeePKS/12_NO_GO_deepks_bandgap_2/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap_2/result.ref rename to tests/09_DeePKS/12_NO_GO_deepks_bandgap_2/result.ref diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/INPUT b/tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/INPUT rename to tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/INPUT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/KPT b/tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/KPT rename to tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/KPT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/README b/tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/README similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/README rename to tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/README diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/STRU b/tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/STRU rename to tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/STRU diff --git a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/result.ref b/tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/result.ref similarity index 65% rename from tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/result.ref rename to tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/result.ref index b4a2174c4a..936d94803e 100644 --- a/tests/09_DeePKS/103_NO_GO_deepks_bandgap_3/result.ref +++ b/tests/09_DeePKS/13_NO_GO_deepks_bandgap_3/result.ref @@ -4,7 +4,7 @@ deepks_desc 2.297551 deepks_dm_eig 10.742704784158393 deepks_e_label 17.152853550955058 deepks_edelta 0.09792547271228358 -deepks_o_label 0.29172556580830844 -deepks_odelta 9.932412417318348e-05 -deepks_oprec -0.45169372175959677 +deepks_o_label 0.08594440507271628 +deepks_odelta 0.0013346191380371325 +deepks_oprec 0.01788986161267927 totaltimeref 1.22 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap/INPUT b/tests/09_DeePKS/14_NO_KP_deepks_bandgap/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap/INPUT rename to tests/09_DeePKS/14_NO_KP_deepks_bandgap/INPUT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap/KPT b/tests/09_DeePKS/14_NO_KP_deepks_bandgap/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap/KPT rename to tests/09_DeePKS/14_NO_KP_deepks_bandgap/KPT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap/README b/tests/09_DeePKS/14_NO_KP_deepks_bandgap/README similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap/README rename to tests/09_DeePKS/14_NO_KP_deepks_bandgap/README diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap/STRU b/tests/09_DeePKS/14_NO_KP_deepks_bandgap/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap/STRU rename to tests/09_DeePKS/14_NO_KP_deepks_bandgap/STRU diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap/result.ref b/tests/09_DeePKS/14_NO_KP_deepks_bandgap/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap/result.ref rename to tests/09_DeePKS/14_NO_KP_deepks_bandgap/result.ref diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_2/INPUT b/tests/09_DeePKS/15_NO_KP_deepks_bandgap_2/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap_2/INPUT rename to tests/09_DeePKS/15_NO_KP_deepks_bandgap_2/INPUT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_2/KPT b/tests/09_DeePKS/15_NO_KP_deepks_bandgap_2/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap_2/KPT rename to tests/09_DeePKS/15_NO_KP_deepks_bandgap_2/KPT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_2/README b/tests/09_DeePKS/15_NO_KP_deepks_bandgap_2/README similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap_2/README rename to tests/09_DeePKS/15_NO_KP_deepks_bandgap_2/README diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_2/STRU b/tests/09_DeePKS/15_NO_KP_deepks_bandgap_2/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap_2/STRU rename to tests/09_DeePKS/15_NO_KP_deepks_bandgap_2/STRU diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_2/result.ref b/tests/09_DeePKS/15_NO_KP_deepks_bandgap_2/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap_2/result.ref rename to tests/09_DeePKS/15_NO_KP_deepks_bandgap_2/result.ref diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/INPUT b/tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/INPUT rename to tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/INPUT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/KPT b/tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/KPT rename to tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/KPT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/README b/tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/README similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_bandgap_3/README rename to tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/README diff --git a/tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/STRU b/tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/STRU new file mode 100644 index 0000000000..5a76b6ea66 --- /dev/null +++ b/tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/STRU @@ -0,0 +1,32 @@ +ATOMIC_SPECIES +H 1.00 H_ONCV_PBE-1.0.upf +O 1.00 O_ONCV_PBE-1.0.upf + + +LATTICE_CONSTANT +1 + +LATTICE_VECTORS +15 0 0 +0 15 0 +0 0 15 + +ATOMIC_POSITIONS +Cartesian # Cartesian(Unit is LATTICE_CONSTANT) + +H +0.0 +2 +2.451268787740 18.304568063522 29.094778093001 0 0 0 +0.634768813069 17.692018052980 31.090158495369 0 0 0 +O +0.0 +1 +0.953925982272 17.270156608314 29.386199785767 0 0 0 + +NUMERICAL_ORBITAL +H_gga_6au_60Ry_1s.orb +O_gga_6au_60Ry_1s1p.orb + +NUMERICAL_DESCRIPTOR +../Model_ProjOrb/2au_20Ry_jle.orb diff --git a/tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/result.ref b/tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/result.ref new file mode 100644 index 0000000000..af081db36c --- /dev/null +++ b/tests/09_DeePKS/16_NO_KP_deepks_bandgap_3/result.ref @@ -0,0 +1,10 @@ +etotref -463.0496320856034 +etotperatomref -154.3498773619 +deepks_desc 2.195131 +deepks_dm_eig 10.54665348088368 +deepks_e_label 17.016754013120217 +deepks_edelta 0.09796908127552584 +deepks_o_label 0.14114716003295213 +deepks_odelta 0.0031174723761221435 +deepks_oprec 0.16883858360329146 +totaltimeref 2.96 diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_1/INPUT b/tests/09_DeePKS/17_NO_GO_deepks_vdelta_1/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_1/INPUT rename to tests/09_DeePKS/17_NO_GO_deepks_vdelta_1/INPUT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_basic/KPT b/tests/09_DeePKS/17_NO_GO_deepks_vdelta_1/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_basic/KPT rename to tests/09_DeePKS/17_NO_GO_deepks_vdelta_1/KPT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_1/README b/tests/09_DeePKS/17_NO_GO_deepks_vdelta_1/README similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_1/README rename to tests/09_DeePKS/17_NO_GO_deepks_vdelta_1/README diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_1/STRU b/tests/09_DeePKS/17_NO_GO_deepks_vdelta_1/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_1/STRU rename to tests/09_DeePKS/17_NO_GO_deepks_vdelta_1/STRU diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_1/result.ref b/tests/09_DeePKS/17_NO_GO_deepks_vdelta_1/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_1/result.ref rename to tests/09_DeePKS/17_NO_GO_deepks_vdelta_1/result.ref diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_2/INPUT b/tests/09_DeePKS/18_NO_GO_deepks_vdelta_2/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_2/INPUT rename to tests/09_DeePKS/18_NO_GO_deepks_vdelta_2/INPUT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/KPT b/tests/09_DeePKS/18_NO_GO_deepks_vdelta_2/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/KPT rename to tests/09_DeePKS/18_NO_GO_deepks_vdelta_2/KPT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_2/README b/tests/09_DeePKS/18_NO_GO_deepks_vdelta_2/README similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_2/README rename to tests/09_DeePKS/18_NO_GO_deepks_vdelta_2/README diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_2/STRU b/tests/09_DeePKS/18_NO_GO_deepks_vdelta_2/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_2/STRU rename to tests/09_DeePKS/18_NO_GO_deepks_vdelta_2/STRU diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_2/result.ref b/tests/09_DeePKS/18_NO_GO_deepks_vdelta_2/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_2/result.ref rename to tests/09_DeePKS/18_NO_GO_deepks_vdelta_2/result.ref diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_1/INPUT b/tests/09_DeePKS/19_NO_KP_deepks_vdelta_1/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_1/INPUT rename to tests/09_DeePKS/19_NO_KP_deepks_vdelta_1/INPUT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_1/KPT b/tests/09_DeePKS/19_NO_KP_deepks_vdelta_1/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_1/KPT rename to tests/09_DeePKS/19_NO_KP_deepks_vdelta_1/KPT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_1/README b/tests/09_DeePKS/19_NO_KP_deepks_vdelta_1/README similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_1/README rename to tests/09_DeePKS/19_NO_KP_deepks_vdelta_1/README diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/STRU b/tests/09_DeePKS/19_NO_KP_deepks_vdelta_1/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/STRU rename to tests/09_DeePKS/19_NO_KP_deepks_vdelta_1/STRU diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_1/result.ref b/tests/09_DeePKS/19_NO_KP_deepks_vdelta_1/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_1/result.ref rename to tests/09_DeePKS/19_NO_KP_deepks_vdelta_1/result.ref diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_2/INPUT b/tests/09_DeePKS/20_NO_KP_deepks_vdelta_2/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_2/INPUT rename to tests/09_DeePKS/20_NO_KP_deepks_vdelta_2/INPUT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_2/KPT b/tests/09_DeePKS/20_NO_KP_deepks_vdelta_2/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_2/KPT rename to tests/09_DeePKS/20_NO_KP_deepks_vdelta_2/KPT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_2/README b/tests/09_DeePKS/20_NO_KP_deepks_vdelta_2/README similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_2/README rename to tests/09_DeePKS/20_NO_KP_deepks_vdelta_2/README diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/STRU b/tests/09_DeePKS/20_NO_KP_deepks_vdelta_2/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/STRU rename to tests/09_DeePKS/20_NO_KP_deepks_vdelta_2/STRU diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_2/result.ref b/tests/09_DeePKS/20_NO_KP_deepks_vdelta_2/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_2/result.ref rename to tests/09_DeePKS/20_NO_KP_deepks_vdelta_2/result.ref diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/INPUT b/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/INPUT rename to tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/INPUT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_1/KPT b/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_1/KPT rename to tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/KPT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/README b/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/README similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/README rename to tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/README diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_1/STRU b/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_1/STRU rename to tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/STRU diff --git a/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/deepks_hrdelta.csr.ref b/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/deepks_hrdelta.csr.ref new file mode 100644 index 0000000000..0aff6c83ce --- /dev/null +++ b/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/deepks_hrdelta.csr.ref @@ -0,0 +1,6 @@ +Matrix Dimension of H_delta(R): 23 +Matrix number of H_delta(R): 1 +0 0 0 529 + -1.17226740e-02 -3.62139850e-03 -7.57658616e-05 -9.43627902e-04 1.61519520e-03 -4.88126962e-03 2.14838886e-03 -5.69092611e-04 -1.34740806e-03 -2.17211583e-03 -8.30754807e-03 1.86867772e-03 7.47161074e-04 4.24371075e-03 -3.31336838e-03 -3.08073383e-04 -1.94293588e-03 1.84789083e-03 2.75341536e-03 -4.52073594e-04 4.07871413e-04 1.43137381e-03 4.10885575e-03 -3.62139850e-03 -3.31857643e-03 5.55124135e-05 3.97210123e-04 -4.50233142e-04 2.17069899e-03 1.85031146e-03 1.16739328e-04 4.32408136e-04 5.70274689e-05 6.99594086e-04 8.77920587e-04 -3.74216359e-05 9.07138684e-04 -2.62303837e-03 7.06198588e-05 -2.95999181e-04 1.42369135e-03 6.63247569e-04 2.20553361e-04 8.23578297e-04 3.58777368e-04 3.75990027e-03 -7.57658616e-05 5.55124135e-05 -2.29579487e-03 1.05517608e-03 7.50289951e-04 -9.10169189e-05 1.02377862e-04 -7.14728269e-05 -5.48909920e-05 -2.21731453e-04 -2.94642184e-04 -1.21531930e-04 -8.25177686e-04 2.75393644e-04 1.94818297e-04 2.58520504e-04 -1.19266527e-04 -5.18116647e-05 -7.46808290e-05 2.18067883e-04 -8.73270929e-04 -5.57969648e-04 3.20285418e-04 -9.43627902e-04 3.97210123e-04 1.05517608e-03 6.27129594e-04 2.10459678e-03 -1.27654053e-03 4.22599368e-04 -3.24706105e-04 -8.00733857e-04 -1.24619255e-03 -2.64164211e-03 -7.12039715e-04 3.97104856e-04 3.86729044e-04 6.13908324e-04 -1.21192491e-04 -1.27023518e-04 -1.27553282e-04 -2.84217179e-05 -2.61293083e-04 4.81255708e-04 -9.33661463e-04 4.67067072e-04 1.61519520e-03 -4.50233142e-04 7.50289951e-04 2.10459678e-03 -5.96371822e-04 2.29609857e-03 -5.81645379e-05 4.50571959e-04 1.37541461e-03 9.15962708e-04 3.71901393e-03 5.93156794e-04 -1.08600805e-04 -5.69854124e-04 -5.51784265e-04 -4.70073968e-05 -1.08973508e-04 1.08735999e-04 -2.26761593e-04 -3.08497239e-04 2.01147715e-04 -1.30198784e-03 -2.82691276e-04 -4.88126962e-03 2.17069899e-03 -9.10169189e-05 -1.27654053e-03 2.29609857e-03 -1.17946700e-02 -3.65752097e-03 -4.36949713e-04 -1.04991930e-03 -1.62944026e-03 -8.44403565e-03 1.79978067e-03 1.45734825e-03 4.45177303e-03 3.06765884e-03 -6.61583941e-04 -1.92602393e-03 -1.62896982e-03 2.38699965e-03 -1.34201368e-03 -1.60643312e-03 1.01382835e-03 -3.99355953e-03 2.14838886e-03 1.85031146e-03 1.02377862e-04 4.22599368e-04 -5.81645379e-05 -3.65752097e-03 -3.34036572e-03 1.35458391e-04 3.80487988e-04 3.67953176e-04 6.01680816e-04 8.31307908e-04 5.43170647e-04 1.07691641e-03 2.59440381e-03 -2.15248177e-04 -2.85153605e-04 -1.38080932e-03 3.33506511e-04 -6.12806701e-04 -1.05075443e-03 -3.24643167e-05 -3.77203641e-03 -5.69092611e-04 1.16739328e-04 -7.14728269e-05 -3.24706105e-04 4.50571959e-04 -4.36949713e-04 1.35458391e-04 -2.52025047e-03 5.47037477e-04 -3.72802097e-04 -1.08319501e-03 -2.53748022e-04 -8.37977755e-04 4.25201851e-04 -1.28245874e-04 2.69077723e-04 -7.65612532e-05 1.78789433e-05 3.00822298e-04 2.01309516e-04 8.80835967e-04 -9.65086570e-05 -4.10402146e-04 -1.34740806e-03 4.32408136e-04 -5.48909920e-05 -8.00733857e-04 1.37541461e-03 -1.04991930e-03 3.80487988e-04 5.47037477e-04 4.66309048e-04 -2.37927182e-03 -2.79020310e-03 -7.57048101e-04 2.98197496e-04 5.10331568e-04 -7.00712687e-04 -7.83000417e-05 -7.72562067e-05 1.46308569e-04 -1.48728519e-04 -3.56662803e-04 -2.30021977e-04 -1.02634361e-03 -3.50951237e-04 -2.17211583e-03 5.70274689e-05 -2.21731453e-04 -1.24619255e-03 9.15962708e-04 -1.62944026e-03 3.67953176e-04 -3.72802097e-04 -2.37927182e-03 -3.17636479e-04 -3.57230311e-03 -5.79161721e-04 1.88119336e-04 5.32895704e-04 -4.33752888e-04 2.21933361e-05 1.63097910e-04 9.65159816e-05 1.95088303e-04 2.11139203e-04 -3.63635539e-04 1.41676091e-03 -3.12986333e-04 -8.30754807e-03 6.99594086e-04 -2.94642184e-04 -2.64164211e-03 3.71901393e-03 -8.44403565e-03 6.01680816e-04 -1.08319501e-03 -2.79020310e-03 -3.57230311e-03 -1.26915681e-02 -5.67704352e-04 6.40881586e-04 2.52353706e-03 -6.12780257e-05 -3.97812123e-04 -1.56385352e-03 3.12831896e-05 1.75141762e-03 -5.52685598e-04 -4.37464862e-04 1.06022860e-03 1.26280909e-05 1.86867772e-03 8.77920587e-04 -1.21531930e-04 -7.12039715e-04 5.93156794e-04 1.79978067e-03 8.31307908e-04 -2.53748022e-04 -7.57048101e-04 -5.79161721e-04 -5.67704352e-04 -1.87025156e-03 -5.03563736e-04 -1.99325653e-03 7.33280233e-05 1.43780052e-04 5.95513212e-04 -8.69591639e-05 -1.07247375e-03 5.14077802e-04 1.89341367e-04 1.97742222e-05 -5.93739376e-05 7.47161074e-04 -3.74216359e-05 -8.25177686e-04 3.97104856e-04 -1.08600805e-04 1.45734825e-03 5.43170647e-04 -8.37977755e-04 2.98197496e-04 1.88119336e-04 6.40881586e-04 -5.03563736e-04 -1.80813878e-03 -5.80109174e-04 -6.96488950e-05 -5.96140210e-05 2.45238335e-04 2.42989359e-04 9.54997836e-05 1.09138808e-03 1.72195202e-04 -7.57142452e-04 2.89724169e-04 4.24371075e-03 9.07138684e-04 2.75393644e-04 3.86729044e-04 -5.69854124e-04 4.45177303e-03 1.07691641e-03 4.25201851e-04 5.10331568e-04 5.32895704e-04 2.52353706e-03 -1.99325653e-03 -5.80109174e-04 -3.88395486e-03 -7.80058099e-05 2.48044905e-04 8.24811995e-04 -1.35230180e-05 -1.66664666e-03 -3.24481106e-05 5.25573118e-04 -1.88659888e-03 1.21499755e-04 -3.31336838e-03 -2.62303837e-03 1.94818297e-04 6.13908324e-04 -5.51784265e-04 3.06765884e-03 2.59440381e-03 -1.28245874e-04 -7.00712687e-04 -4.33752888e-04 -6.12780257e-05 7.33280233e-05 -6.96488950e-05 -7.80058099e-05 -2.13180521e-03 2.36142590e-04 -4.05397975e-05 2.24871509e-03 1.71581618e-04 2.66907522e-04 8.85356707e-04 2.23424203e-04 3.60025084e-03 -3.08073383e-04 7.06198588e-05 2.58520504e-04 -1.21192491e-04 -4.70073968e-05 -6.61583941e-04 -2.15248177e-04 2.69077723e-04 -7.83000417e-05 2.21933361e-05 -3.97812123e-04 1.43780052e-04 -5.96140210e-05 2.48044905e-04 2.36142590e-04 -1.52959026e-04 -1.18960326e-04 -1.30874299e-05 1.95942523e-04 -9.74404173e-05 -7.49881215e-05 5.55136968e-07 -1.83179620e-04 -1.94293588e-03 -2.95999181e-04 -1.19266527e-04 -1.27023518e-04 -1.08973508e-04 -1.92602393e-03 -2.85153605e-04 -7.65612532e-05 -7.72562067e-05 1.63097910e-04 -1.56385352e-03 5.95513212e-04 2.45238335e-04 8.24811995e-04 -4.05397975e-05 -1.18960326e-04 -6.06345144e-04 5.27778316e-05 7.81662817e-04 -3.57182818e-04 -1.54549695e-04 7.53587456e-05 2.40887746e-05 1.84789083e-03 1.42369135e-03 -5.18116647e-05 -1.27553282e-04 1.08735999e-04 -1.62896982e-03 -1.38080932e-03 1.78789433e-05 1.46308569e-04 9.65159816e-05 3.12831896e-05 -8.69591639e-05 2.42989359e-04 -1.35230180e-05 2.24871509e-03 -1.30874299e-05 5.27778316e-05 -3.79019608e-04 -1.27242112e-04 -1.94073358e-04 -4.33793272e-04 -1.54117619e-04 -1.79992794e-03 2.75341536e-03 6.63247569e-04 -7.46808290e-05 -2.84217179e-05 -2.26761593e-04 2.38699965e-03 3.33506511e-04 3.00822298e-04 -1.48728519e-04 1.95088303e-04 1.75141762e-03 -1.07247375e-03 9.54997836e-05 -1.66664666e-03 1.71581618e-04 1.95942523e-04 7.81662817e-04 -1.27242112e-04 -5.88627411e-04 8.54510996e-04 -2.89432341e-04 -5.24942201e-04 -2.73772524e-04 -4.52073594e-04 2.20553361e-04 2.18067883e-04 -2.61293083e-04 -3.08497239e-04 -1.34201368e-03 -6.12806701e-04 2.01309516e-04 -3.56662803e-04 2.11139203e-04 -5.52685598e-04 5.14077802e-04 1.09138808e-03 -3.24481106e-05 2.66907522e-04 -9.74404173e-05 -3.57182818e-04 -1.94073358e-04 8.54510996e-04 1.25682163e-03 -3.89499039e-04 4.78108647e-04 -9.56639530e-04 4.07871413e-04 8.23578297e-04 -8.73270929e-04 4.81255708e-04 2.01147715e-04 -1.60643312e-03 -1.05075443e-03 8.80835967e-04 -2.30021977e-04 -3.63635539e-04 -4.37464862e-04 1.89341367e-04 1.72195202e-04 5.25573118e-04 8.85356707e-04 -7.49881215e-05 -1.54549695e-04 -4.33793272e-04 -2.89432341e-04 -3.89499039e-04 -2.37112515e-03 -5.15360701e-04 -1.20550576e-03 1.43137381e-03 3.58777368e-04 -5.57969648e-04 -9.33661463e-04 -1.30198784e-03 1.01382835e-03 -3.24643167e-05 -9.65086570e-05 -1.02634361e-03 1.41676091e-03 1.06022860e-03 1.97742222e-05 -7.57142452e-04 -1.88659888e-03 2.23424203e-04 5.55136968e-07 7.53587456e-05 -1.54117619e-04 -5.24942201e-04 4.78108647e-04 -5.15360701e-04 2.76519524e-03 -4.59410571e-04 4.10885575e-03 3.75990027e-03 3.20285418e-04 4.67067072e-04 -2.82691276e-04 -3.99355953e-03 -3.77203641e-03 -4.10402146e-04 -3.50951237e-04 -3.12986333e-04 1.26280909e-05 -5.93739376e-05 2.89724169e-04 1.21499755e-04 3.60025084e-03 -1.83179620e-04 2.40887746e-05 -1.79992794e-03 -2.73772524e-04 -9.56639530e-04 -1.20550576e-03 -4.59410571e-04 -7.09398430e-03 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + 0 23 46 69 92 115 138 161 184 207 230 253 276 299 322 345 368 391 414 437 460 483 506 529 diff --git a/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/deepks_hrtot.csr.ref b/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/deepks_hrtot.csr.ref new file mode 100644 index 0000000000..7c6c543bf9 --- /dev/null +++ b/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/deepks_hrtot.csr.ref @@ -0,0 +1,6 @@ +Matrix Dimension of H(R): 23 +Matrix number of H(R): 1 +0 0 0 529 + -8.42107904e-01 2.13550175e-01 -3.36018443e-02 -3.14634851e-01 4.57125255e-01 -5.72184336e-01 2.48575301e-01 -6.34432974e-02 -1.13625395e-01 -3.33175047e-01 -1.07975761e+00 -1.36939378e-02 6.92996341e-02 4.65693698e-01 -4.87107239e-01 -6.51964644e-03 -7.19175506e-03 -4.52287980e-02 1.10813024e-01 -3.76437594e-02 9.06402772e-04 1.79320238e-02 9.15211632e-02 2.13550175e-01 9.37557925e-01 -3.14883586e-03 -2.33953762e-02 2.74497309e-02 2.52264246e-01 1.62953161e-01 3.47485631e-02 1.25139207e-01 2.55561956e-02 2.06575092e-01 7.81936184e-02 6.09841771e-03 1.77838932e-01 -3.83774181e-01 1.66830601e-02 4.06237997e-02 6.06539730e-02 -1.23947605e-01 3.89192709e-02 1.23675296e-02 -4.91257564e-02 -6.21130683e-02 -3.36018443e-02 -3.14883586e-03 2.49598467e+00 -2.93735098e-02 3.30086601e-02 7.91829015e-03 2.78231936e-02 -3.57932496e-02 9.74834800e-03 1.32482382e-02 -4.25617904e-02 -1.19113287e-02 -2.15042800e-01 1.64767651e-02 -2.49406909e-02 -1.41883945e-01 1.47258242e-02 -1.75059826e-02 -8.47667718e-02 -2.83002918e-01 3.92807294e-01 -1.91830301e-02 -7.69616324e-02 -3.14634851e-01 -2.33953762e-02 -2.93735098e-02 2.26416924e+00 3.02825162e-01 -1.05733259e-01 1.21240901e-01 -9.89002286e-03 -4.12343578e-02 -9.20422560e-02 -3.82618437e-01 -8.78853635e-02 2.28135770e-02 -4.37649468e-02 -2.09195274e-01 1.50466367e-02 -3.49131417e-02 -1.25610573e-01 -1.96101650e-01 1.95711769e-02 -7.66969379e-02 -4.70085222e-01 -2.24201687e-01 4.57125255e-01 2.74497309e-02 3.30086601e-02 3.02825162e-01 2.06576968e+00 3.40251911e-01 -3.14993633e-02 6.21783525e-02 9.87617873e-02 3.18364998e-01 5.39706282e-01 1.03444338e-01 -4.07170235e-02 -2.70661856e-01 6.21072104e-02 -1.83219256e-02 -1.28863490e-01 -1.00471591e-03 2.24558957e-01 -5.34584506e-02 6.67403369e-02 -1.42412780e-01 5.21985815e-01 -5.72184336e-01 2.52264246e-01 7.91829015e-03 -1.05733259e-01 3.40251911e-01 -8.53117379e-01 2.07158983e-01 -1.31678616e-01 -3.35702404e-01 -4.42556733e-01 -1.09366461e+00 -1.90391346e-02 1.70392560e-01 4.82309376e-01 4.53921680e-01 4.71108828e-03 -2.30352410e-03 5.11994676e-02 1.02538910e-01 -5.65270345e-02 -4.20139930e-02 8.66970933e-03 -8.16033294e-02 2.48575301e-01 1.62953161e-01 2.78231936e-02 1.21240901e-01 -3.14993633e-02 2.07158983e-01 9.32647363e-01 -1.07576511e-02 -2.91947949e-02 -3.14958024e-02 1.96293189e-01 7.49540951e-02 8.84269909e-02 1.94186183e-01 3.75282153e-01 4.71677901e-03 4.31349825e-02 -6.12568379e-02 -1.22832429e-01 5.44860904e-02 4.49127331e-02 -4.46464286e-02 6.44049862e-02 -6.34432974e-02 3.47485631e-02 -3.57932496e-02 -9.89002286e-03 6.21783525e-02 -1.31678616e-01 -1.07576511e-02 2.45482838e+00 -9.70421303e-02 -1.17589370e-01 -1.55741908e-01 -3.08046058e-02 -1.93818873e-01 7.49083880e-02 7.67291521e-02 -1.31762368e-01 4.12789539e-02 4.21152823e-02 -2.58528719e-01 -2.40023990e-01 -3.01464445e-01 -4.73539656e-02 2.40800483e-01 -1.13625395e-01 1.25139207e-01 9.74834800e-03 -4.12343578e-02 9.87617873e-02 -3.35702404e-01 -2.91947949e-02 -9.70421303e-02 2.23408330e+00 -3.00411324e-01 -4.00917139e-01 -8.44826003e-02 6.85175949e-02 -3.49076902e-02 2.02359643e-01 4.09475364e-02 -3.39239660e-02 1.16576059e-01 -1.39561982e-01 7.61057430e-02 2.40210913e-01 -4.30999603e-01 2.44261809e-01 -3.33175047e-01 2.55561956e-02 1.32482382e-02 -9.20422560e-02 3.18364998e-01 -4.42556733e-01 -3.14958024e-02 -1.17589370e-01 -3.00411324e-01 2.09720426e+00 -5.14102784e-01 -8.90011899e-02 9.25869978e-02 2.64278795e-01 2.02339288e-02 4.30138516e-02 1.19988640e-01 -2.79010532e-02 -1.34585031e-01 2.17217063e-01 1.62894422e-01 2.26474234e-01 4.41068047e-01 -1.07975761e+00 2.06575092e-01 -4.25617904e-02 -3.82618437e-01 5.39706282e-01 -1.09366461e+00 1.96293189e-01 -1.55741908e-01 -4.00917139e-01 -5.14102784e-01 -1.70549181e+00 1.06890459e-01 6.48395657e-02 2.55626981e-01 -7.05142835e-03 -6.52750829e-03 -2.62232291e-02 1.97400693e-03 1.66491876e-01 -6.12915685e-02 -3.83218137e-02 6.82878309e-02 1.50531270e-03 -1.36939378e-02 7.81936184e-02 -1.19113287e-02 -8.78853635e-02 1.03444338e-01 -1.90391346e-02 7.49540951e-02 -3.08046058e-02 -8.44826003e-02 -8.90011899e-02 1.06890459e-01 7.63241563e-01 -2.08258108e-02 -8.28144449e-02 4.08521934e-03 4.97774980e-02 1.97467121e-01 -8.61689966e-03 -8.85521131e-02 3.26336608e-02 1.96753831e-02 -3.51712925e-02 -3.03301439e-03 6.92996341e-02 6.09841771e-03 -2.15042800e-01 2.28135770e-02 -4.07170235e-02 1.70392560e-01 8.84269909e-02 -1.93818873e-01 6.85175949e-02 9.25869978e-02 6.48395657e-02 -2.08258108e-02 -4.74768823e-01 -4.18800128e-02 -2.57988231e-02 1.33369284e-01 1.11451453e-02 6.70184175e-03 1.52852492e-02 1.49187733e-01 7.90528504e-03 -9.52436820e-03 2.42311440e-02 4.65693698e-01 1.77838932e-01 1.64767651e-02 -4.37649468e-02 -2.70661856e-01 4.82309376e-01 1.94186183e-01 7.49083880e-02 -3.49076902e-02 2.64278795e-01 2.55626981e-01 -8.28144449e-02 -4.18800128e-02 -6.25253768e-01 1.17220819e-03 1.11479519e-02 1.74097194e-01 -1.61909460e-03 -1.81049264e-01 7.25135236e-02 2.44669930e-02 9.44835226e-02 -1.58895514e-03 -4.87107239e-01 -3.83774181e-01 -2.49406909e-02 -2.09195274e-01 6.21072104e-02 4.53921680e-01 3.75282153e-01 7.67291521e-02 2.02359643e-01 2.02339288e-02 -7.05142835e-03 4.08521934e-03 -2.57988231e-02 1.17220819e-03 -7.15138160e-01 6.69499498e-03 -1.64611138e-03 1.99230425e-01 1.55738906e-02 2.42083274e-02 9.09657799e-02 1.74574611e-02 3.66026282e-01 -6.51964644e-03 1.66830601e-02 -1.41883945e-01 1.50466367e-02 -1.83219256e-02 4.71108828e-03 4.71677901e-03 -1.31762368e-01 4.09475364e-02 4.30138516e-02 -6.52750829e-03 4.97774980e-02 1.33369284e-01 1.11479519e-02 6.69499498e-03 8.75538128e-01 -2.72119238e-02 -1.63950542e-02 6.35931764e-03 -2.27284124e-02 -4.41425269e-03 4.04264505e-03 -1.07176564e-02 -7.19175506e-03 4.06237997e-02 1.47258242e-02 -3.49131417e-02 -1.28863490e-01 -2.30352410e-03 4.31349825e-02 4.12789539e-02 -3.39239660e-02 1.19988640e-01 -2.62232291e-02 1.97467121e-01 1.11451453e-02 1.74097194e-01 -1.64611138e-03 -2.72119238e-02 7.76366120e-01 3.07599587e-03 5.68900637e-02 -2.18237129e-02 -1.06890265e-02 1.34071159e-03 1.61948811e-03 -4.52287980e-02 6.06539730e-02 -1.75059826e-02 -1.25610573e-01 -1.00471591e-03 5.11994676e-02 -6.12568379e-02 4.21152823e-02 1.16576059e-01 -2.79010532e-02 1.97400693e-03 -8.61689966e-03 6.70184175e-03 -1.61909460e-03 1.99230425e-01 -1.63950542e-02 3.07599587e-03 7.16371266e-01 -7.86277031e-03 -1.07285502e-02 -2.99845032e-02 -7.61778157e-03 -1.22878854e-01 1.10813024e-01 -1.23947605e-01 -8.47667718e-02 -1.96101650e-01 2.24558957e-01 1.02538910e-01 -1.22832429e-01 -2.58528719e-01 -1.39561982e-01 -1.34585031e-01 1.66491876e-01 -8.85521131e-02 1.52852492e-02 -1.81049264e-01 1.55738906e-02 6.35931764e-03 5.68900637e-02 -7.86277031e-03 3.19891456e+00 1.69988370e-02 7.27737784e-03 -6.44291741e-02 -1.42881909e-02 -3.76437594e-02 3.89192709e-02 -2.83002918e-01 1.95711769e-02 -5.34584506e-02 -5.65270345e-02 5.44860904e-02 -2.40023990e-01 7.61057430e-02 2.17217063e-01 -6.12915685e-02 3.26336608e-02 1.49187733e-01 7.25135236e-02 2.42083274e-02 -2.27284124e-02 -2.18237129e-02 -1.07285502e-02 1.69988370e-02 3.25920245e+00 -1.39442716e-02 -1.21347611e-02 -4.50278047e-02 9.06402772e-04 1.23675296e-02 3.92807294e-01 -7.66969379e-02 6.67403369e-02 -4.20139930e-02 4.49127331e-02 -3.01464445e-01 2.40210913e-01 1.62894422e-01 -3.83218137e-02 1.96753831e-02 7.90528504e-03 2.44669930e-02 9.09657799e-02 -4.41425269e-03 -1.06890265e-02 -2.99845032e-02 7.27737784e-03 -1.39442716e-02 3.19660717e+00 1.79839764e-02 -9.14134117e-02 1.79320238e-02 -4.91257564e-02 -1.91830301e-02 -4.70085222e-01 -1.42412780e-01 8.66970933e-03 -4.46464286e-02 -4.73539656e-02 -4.30999603e-01 2.26474234e-01 6.82878309e-02 -3.51712925e-02 -9.52436820e-03 9.44835226e-02 1.74574611e-02 4.04264505e-03 1.34071159e-03 -7.61778157e-03 -6.44291741e-02 -1.21347611e-02 1.79839764e-02 3.12536899e+00 -1.50940944e-02 9.15211632e-02 -6.21130683e-02 -7.69616324e-02 -2.24201687e-01 5.21985815e-01 -8.16033294e-02 6.44049862e-02 2.40800483e-01 2.44261809e-01 4.41068047e-01 1.50531270e-03 -3.03301439e-03 2.42311440e-02 -1.58895514e-03 3.66026282e-01 -1.07176564e-02 1.61948811e-03 -1.22878854e-01 -1.42881909e-02 -4.50278047e-02 -9.14134117e-02 -1.50940944e-02 2.85906938e+00 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + 0 23 46 69 92 115 138 161 184 207 230 253 276 299 322 345 368 391 414 437 460 483 506 529 diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/result.ref b/tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/result.ref rename to tests/09_DeePKS/21_NO_GO_deepks_vdelta_r_1/result.ref diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/INPUT b/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/INPUT rename to tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/INPUT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_2/KPT b/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_2/KPT rename to tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/KPT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/README b/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/README similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/README rename to tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/README diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_2/STRU b/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_2/STRU rename to tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/STRU diff --git a/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/deepks_hrdelta.csr.ref b/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/deepks_hrdelta.csr.ref new file mode 100644 index 0000000000..0aff6c83ce --- /dev/null +++ b/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/deepks_hrdelta.csr.ref @@ -0,0 +1,6 @@ +Matrix Dimension of H_delta(R): 23 +Matrix number of H_delta(R): 1 +0 0 0 529 + -1.17226740e-02 -3.62139850e-03 -7.57658616e-05 -9.43627902e-04 1.61519520e-03 -4.88126962e-03 2.14838886e-03 -5.69092611e-04 -1.34740806e-03 -2.17211583e-03 -8.30754807e-03 1.86867772e-03 7.47161074e-04 4.24371075e-03 -3.31336838e-03 -3.08073383e-04 -1.94293588e-03 1.84789083e-03 2.75341536e-03 -4.52073594e-04 4.07871413e-04 1.43137381e-03 4.10885575e-03 -3.62139850e-03 -3.31857643e-03 5.55124135e-05 3.97210123e-04 -4.50233142e-04 2.17069899e-03 1.85031146e-03 1.16739328e-04 4.32408136e-04 5.70274689e-05 6.99594086e-04 8.77920587e-04 -3.74216359e-05 9.07138684e-04 -2.62303837e-03 7.06198588e-05 -2.95999181e-04 1.42369135e-03 6.63247569e-04 2.20553361e-04 8.23578297e-04 3.58777368e-04 3.75990027e-03 -7.57658616e-05 5.55124135e-05 -2.29579487e-03 1.05517608e-03 7.50289951e-04 -9.10169189e-05 1.02377862e-04 -7.14728269e-05 -5.48909920e-05 -2.21731453e-04 -2.94642184e-04 -1.21531930e-04 -8.25177686e-04 2.75393644e-04 1.94818297e-04 2.58520504e-04 -1.19266527e-04 -5.18116647e-05 -7.46808290e-05 2.18067883e-04 -8.73270929e-04 -5.57969648e-04 3.20285418e-04 -9.43627902e-04 3.97210123e-04 1.05517608e-03 6.27129594e-04 2.10459678e-03 -1.27654053e-03 4.22599368e-04 -3.24706105e-04 -8.00733857e-04 -1.24619255e-03 -2.64164211e-03 -7.12039715e-04 3.97104856e-04 3.86729044e-04 6.13908324e-04 -1.21192491e-04 -1.27023518e-04 -1.27553282e-04 -2.84217179e-05 -2.61293083e-04 4.81255708e-04 -9.33661463e-04 4.67067072e-04 1.61519520e-03 -4.50233142e-04 7.50289951e-04 2.10459678e-03 -5.96371822e-04 2.29609857e-03 -5.81645379e-05 4.50571959e-04 1.37541461e-03 9.15962708e-04 3.71901393e-03 5.93156794e-04 -1.08600805e-04 -5.69854124e-04 -5.51784265e-04 -4.70073968e-05 -1.08973508e-04 1.08735999e-04 -2.26761593e-04 -3.08497239e-04 2.01147715e-04 -1.30198784e-03 -2.82691276e-04 -4.88126962e-03 2.17069899e-03 -9.10169189e-05 -1.27654053e-03 2.29609857e-03 -1.17946700e-02 -3.65752097e-03 -4.36949713e-04 -1.04991930e-03 -1.62944026e-03 -8.44403565e-03 1.79978067e-03 1.45734825e-03 4.45177303e-03 3.06765884e-03 -6.61583941e-04 -1.92602393e-03 -1.62896982e-03 2.38699965e-03 -1.34201368e-03 -1.60643312e-03 1.01382835e-03 -3.99355953e-03 2.14838886e-03 1.85031146e-03 1.02377862e-04 4.22599368e-04 -5.81645379e-05 -3.65752097e-03 -3.34036572e-03 1.35458391e-04 3.80487988e-04 3.67953176e-04 6.01680816e-04 8.31307908e-04 5.43170647e-04 1.07691641e-03 2.59440381e-03 -2.15248177e-04 -2.85153605e-04 -1.38080932e-03 3.33506511e-04 -6.12806701e-04 -1.05075443e-03 -3.24643167e-05 -3.77203641e-03 -5.69092611e-04 1.16739328e-04 -7.14728269e-05 -3.24706105e-04 4.50571959e-04 -4.36949713e-04 1.35458391e-04 -2.52025047e-03 5.47037477e-04 -3.72802097e-04 -1.08319501e-03 -2.53748022e-04 -8.37977755e-04 4.25201851e-04 -1.28245874e-04 2.69077723e-04 -7.65612532e-05 1.78789433e-05 3.00822298e-04 2.01309516e-04 8.80835967e-04 -9.65086570e-05 -4.10402146e-04 -1.34740806e-03 4.32408136e-04 -5.48909920e-05 -8.00733857e-04 1.37541461e-03 -1.04991930e-03 3.80487988e-04 5.47037477e-04 4.66309048e-04 -2.37927182e-03 -2.79020310e-03 -7.57048101e-04 2.98197496e-04 5.10331568e-04 -7.00712687e-04 -7.83000417e-05 -7.72562067e-05 1.46308569e-04 -1.48728519e-04 -3.56662803e-04 -2.30021977e-04 -1.02634361e-03 -3.50951237e-04 -2.17211583e-03 5.70274689e-05 -2.21731453e-04 -1.24619255e-03 9.15962708e-04 -1.62944026e-03 3.67953176e-04 -3.72802097e-04 -2.37927182e-03 -3.17636479e-04 -3.57230311e-03 -5.79161721e-04 1.88119336e-04 5.32895704e-04 -4.33752888e-04 2.21933361e-05 1.63097910e-04 9.65159816e-05 1.95088303e-04 2.11139203e-04 -3.63635539e-04 1.41676091e-03 -3.12986333e-04 -8.30754807e-03 6.99594086e-04 -2.94642184e-04 -2.64164211e-03 3.71901393e-03 -8.44403565e-03 6.01680816e-04 -1.08319501e-03 -2.79020310e-03 -3.57230311e-03 -1.26915681e-02 -5.67704352e-04 6.40881586e-04 2.52353706e-03 -6.12780257e-05 -3.97812123e-04 -1.56385352e-03 3.12831896e-05 1.75141762e-03 -5.52685598e-04 -4.37464862e-04 1.06022860e-03 1.26280909e-05 1.86867772e-03 8.77920587e-04 -1.21531930e-04 -7.12039715e-04 5.93156794e-04 1.79978067e-03 8.31307908e-04 -2.53748022e-04 -7.57048101e-04 -5.79161721e-04 -5.67704352e-04 -1.87025156e-03 -5.03563736e-04 -1.99325653e-03 7.33280233e-05 1.43780052e-04 5.95513212e-04 -8.69591639e-05 -1.07247375e-03 5.14077802e-04 1.89341367e-04 1.97742222e-05 -5.93739376e-05 7.47161074e-04 -3.74216359e-05 -8.25177686e-04 3.97104856e-04 -1.08600805e-04 1.45734825e-03 5.43170647e-04 -8.37977755e-04 2.98197496e-04 1.88119336e-04 6.40881586e-04 -5.03563736e-04 -1.80813878e-03 -5.80109174e-04 -6.96488950e-05 -5.96140210e-05 2.45238335e-04 2.42989359e-04 9.54997836e-05 1.09138808e-03 1.72195202e-04 -7.57142452e-04 2.89724169e-04 4.24371075e-03 9.07138684e-04 2.75393644e-04 3.86729044e-04 -5.69854124e-04 4.45177303e-03 1.07691641e-03 4.25201851e-04 5.10331568e-04 5.32895704e-04 2.52353706e-03 -1.99325653e-03 -5.80109174e-04 -3.88395486e-03 -7.80058099e-05 2.48044905e-04 8.24811995e-04 -1.35230180e-05 -1.66664666e-03 -3.24481106e-05 5.25573118e-04 -1.88659888e-03 1.21499755e-04 -3.31336838e-03 -2.62303837e-03 1.94818297e-04 6.13908324e-04 -5.51784265e-04 3.06765884e-03 2.59440381e-03 -1.28245874e-04 -7.00712687e-04 -4.33752888e-04 -6.12780257e-05 7.33280233e-05 -6.96488950e-05 -7.80058099e-05 -2.13180521e-03 2.36142590e-04 -4.05397975e-05 2.24871509e-03 1.71581618e-04 2.66907522e-04 8.85356707e-04 2.23424203e-04 3.60025084e-03 -3.08073383e-04 7.06198588e-05 2.58520504e-04 -1.21192491e-04 -4.70073968e-05 -6.61583941e-04 -2.15248177e-04 2.69077723e-04 -7.83000417e-05 2.21933361e-05 -3.97812123e-04 1.43780052e-04 -5.96140210e-05 2.48044905e-04 2.36142590e-04 -1.52959026e-04 -1.18960326e-04 -1.30874299e-05 1.95942523e-04 -9.74404173e-05 -7.49881215e-05 5.55136968e-07 -1.83179620e-04 -1.94293588e-03 -2.95999181e-04 -1.19266527e-04 -1.27023518e-04 -1.08973508e-04 -1.92602393e-03 -2.85153605e-04 -7.65612532e-05 -7.72562067e-05 1.63097910e-04 -1.56385352e-03 5.95513212e-04 2.45238335e-04 8.24811995e-04 -4.05397975e-05 -1.18960326e-04 -6.06345144e-04 5.27778316e-05 7.81662817e-04 -3.57182818e-04 -1.54549695e-04 7.53587456e-05 2.40887746e-05 1.84789083e-03 1.42369135e-03 -5.18116647e-05 -1.27553282e-04 1.08735999e-04 -1.62896982e-03 -1.38080932e-03 1.78789433e-05 1.46308569e-04 9.65159816e-05 3.12831896e-05 -8.69591639e-05 2.42989359e-04 -1.35230180e-05 2.24871509e-03 -1.30874299e-05 5.27778316e-05 -3.79019608e-04 -1.27242112e-04 -1.94073358e-04 -4.33793272e-04 -1.54117619e-04 -1.79992794e-03 2.75341536e-03 6.63247569e-04 -7.46808290e-05 -2.84217179e-05 -2.26761593e-04 2.38699965e-03 3.33506511e-04 3.00822298e-04 -1.48728519e-04 1.95088303e-04 1.75141762e-03 -1.07247375e-03 9.54997836e-05 -1.66664666e-03 1.71581618e-04 1.95942523e-04 7.81662817e-04 -1.27242112e-04 -5.88627411e-04 8.54510996e-04 -2.89432341e-04 -5.24942201e-04 -2.73772524e-04 -4.52073594e-04 2.20553361e-04 2.18067883e-04 -2.61293083e-04 -3.08497239e-04 -1.34201368e-03 -6.12806701e-04 2.01309516e-04 -3.56662803e-04 2.11139203e-04 -5.52685598e-04 5.14077802e-04 1.09138808e-03 -3.24481106e-05 2.66907522e-04 -9.74404173e-05 -3.57182818e-04 -1.94073358e-04 8.54510996e-04 1.25682163e-03 -3.89499039e-04 4.78108647e-04 -9.56639530e-04 4.07871413e-04 8.23578297e-04 -8.73270929e-04 4.81255708e-04 2.01147715e-04 -1.60643312e-03 -1.05075443e-03 8.80835967e-04 -2.30021977e-04 -3.63635539e-04 -4.37464862e-04 1.89341367e-04 1.72195202e-04 5.25573118e-04 8.85356707e-04 -7.49881215e-05 -1.54549695e-04 -4.33793272e-04 -2.89432341e-04 -3.89499039e-04 -2.37112515e-03 -5.15360701e-04 -1.20550576e-03 1.43137381e-03 3.58777368e-04 -5.57969648e-04 -9.33661463e-04 -1.30198784e-03 1.01382835e-03 -3.24643167e-05 -9.65086570e-05 -1.02634361e-03 1.41676091e-03 1.06022860e-03 1.97742222e-05 -7.57142452e-04 -1.88659888e-03 2.23424203e-04 5.55136968e-07 7.53587456e-05 -1.54117619e-04 -5.24942201e-04 4.78108647e-04 -5.15360701e-04 2.76519524e-03 -4.59410571e-04 4.10885575e-03 3.75990027e-03 3.20285418e-04 4.67067072e-04 -2.82691276e-04 -3.99355953e-03 -3.77203641e-03 -4.10402146e-04 -3.50951237e-04 -3.12986333e-04 1.26280909e-05 -5.93739376e-05 2.89724169e-04 1.21499755e-04 3.60025084e-03 -1.83179620e-04 2.40887746e-05 -1.79992794e-03 -2.73772524e-04 -9.56639530e-04 -1.20550576e-03 -4.59410571e-04 -7.09398430e-03 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + 0 23 46 69 92 115 138 161 184 207 230 253 276 299 322 345 368 391 414 437 460 483 506 529 diff --git a/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/deepks_hrtot.csr.ref b/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/deepks_hrtot.csr.ref new file mode 100644 index 0000000000..7c6c543bf9 --- /dev/null +++ b/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/deepks_hrtot.csr.ref @@ -0,0 +1,6 @@ +Matrix Dimension of H(R): 23 +Matrix number of H(R): 1 +0 0 0 529 + -8.42107904e-01 2.13550175e-01 -3.36018443e-02 -3.14634851e-01 4.57125255e-01 -5.72184336e-01 2.48575301e-01 -6.34432974e-02 -1.13625395e-01 -3.33175047e-01 -1.07975761e+00 -1.36939378e-02 6.92996341e-02 4.65693698e-01 -4.87107239e-01 -6.51964644e-03 -7.19175506e-03 -4.52287980e-02 1.10813024e-01 -3.76437594e-02 9.06402772e-04 1.79320238e-02 9.15211632e-02 2.13550175e-01 9.37557925e-01 -3.14883586e-03 -2.33953762e-02 2.74497309e-02 2.52264246e-01 1.62953161e-01 3.47485631e-02 1.25139207e-01 2.55561956e-02 2.06575092e-01 7.81936184e-02 6.09841771e-03 1.77838932e-01 -3.83774181e-01 1.66830601e-02 4.06237997e-02 6.06539730e-02 -1.23947605e-01 3.89192709e-02 1.23675296e-02 -4.91257564e-02 -6.21130683e-02 -3.36018443e-02 -3.14883586e-03 2.49598467e+00 -2.93735098e-02 3.30086601e-02 7.91829015e-03 2.78231936e-02 -3.57932496e-02 9.74834800e-03 1.32482382e-02 -4.25617904e-02 -1.19113287e-02 -2.15042800e-01 1.64767651e-02 -2.49406909e-02 -1.41883945e-01 1.47258242e-02 -1.75059826e-02 -8.47667718e-02 -2.83002918e-01 3.92807294e-01 -1.91830301e-02 -7.69616324e-02 -3.14634851e-01 -2.33953762e-02 -2.93735098e-02 2.26416924e+00 3.02825162e-01 -1.05733259e-01 1.21240901e-01 -9.89002286e-03 -4.12343578e-02 -9.20422560e-02 -3.82618437e-01 -8.78853635e-02 2.28135770e-02 -4.37649468e-02 -2.09195274e-01 1.50466367e-02 -3.49131417e-02 -1.25610573e-01 -1.96101650e-01 1.95711769e-02 -7.66969379e-02 -4.70085222e-01 -2.24201687e-01 4.57125255e-01 2.74497309e-02 3.30086601e-02 3.02825162e-01 2.06576968e+00 3.40251911e-01 -3.14993633e-02 6.21783525e-02 9.87617873e-02 3.18364998e-01 5.39706282e-01 1.03444338e-01 -4.07170235e-02 -2.70661856e-01 6.21072104e-02 -1.83219256e-02 -1.28863490e-01 -1.00471591e-03 2.24558957e-01 -5.34584506e-02 6.67403369e-02 -1.42412780e-01 5.21985815e-01 -5.72184336e-01 2.52264246e-01 7.91829015e-03 -1.05733259e-01 3.40251911e-01 -8.53117379e-01 2.07158983e-01 -1.31678616e-01 -3.35702404e-01 -4.42556733e-01 -1.09366461e+00 -1.90391346e-02 1.70392560e-01 4.82309376e-01 4.53921680e-01 4.71108828e-03 -2.30352410e-03 5.11994676e-02 1.02538910e-01 -5.65270345e-02 -4.20139930e-02 8.66970933e-03 -8.16033294e-02 2.48575301e-01 1.62953161e-01 2.78231936e-02 1.21240901e-01 -3.14993633e-02 2.07158983e-01 9.32647363e-01 -1.07576511e-02 -2.91947949e-02 -3.14958024e-02 1.96293189e-01 7.49540951e-02 8.84269909e-02 1.94186183e-01 3.75282153e-01 4.71677901e-03 4.31349825e-02 -6.12568379e-02 -1.22832429e-01 5.44860904e-02 4.49127331e-02 -4.46464286e-02 6.44049862e-02 -6.34432974e-02 3.47485631e-02 -3.57932496e-02 -9.89002286e-03 6.21783525e-02 -1.31678616e-01 -1.07576511e-02 2.45482838e+00 -9.70421303e-02 -1.17589370e-01 -1.55741908e-01 -3.08046058e-02 -1.93818873e-01 7.49083880e-02 7.67291521e-02 -1.31762368e-01 4.12789539e-02 4.21152823e-02 -2.58528719e-01 -2.40023990e-01 -3.01464445e-01 -4.73539656e-02 2.40800483e-01 -1.13625395e-01 1.25139207e-01 9.74834800e-03 -4.12343578e-02 9.87617873e-02 -3.35702404e-01 -2.91947949e-02 -9.70421303e-02 2.23408330e+00 -3.00411324e-01 -4.00917139e-01 -8.44826003e-02 6.85175949e-02 -3.49076902e-02 2.02359643e-01 4.09475364e-02 -3.39239660e-02 1.16576059e-01 -1.39561982e-01 7.61057430e-02 2.40210913e-01 -4.30999603e-01 2.44261809e-01 -3.33175047e-01 2.55561956e-02 1.32482382e-02 -9.20422560e-02 3.18364998e-01 -4.42556733e-01 -3.14958024e-02 -1.17589370e-01 -3.00411324e-01 2.09720426e+00 -5.14102784e-01 -8.90011899e-02 9.25869978e-02 2.64278795e-01 2.02339288e-02 4.30138516e-02 1.19988640e-01 -2.79010532e-02 -1.34585031e-01 2.17217063e-01 1.62894422e-01 2.26474234e-01 4.41068047e-01 -1.07975761e+00 2.06575092e-01 -4.25617904e-02 -3.82618437e-01 5.39706282e-01 -1.09366461e+00 1.96293189e-01 -1.55741908e-01 -4.00917139e-01 -5.14102784e-01 -1.70549181e+00 1.06890459e-01 6.48395657e-02 2.55626981e-01 -7.05142835e-03 -6.52750829e-03 -2.62232291e-02 1.97400693e-03 1.66491876e-01 -6.12915685e-02 -3.83218137e-02 6.82878309e-02 1.50531270e-03 -1.36939378e-02 7.81936184e-02 -1.19113287e-02 -8.78853635e-02 1.03444338e-01 -1.90391346e-02 7.49540951e-02 -3.08046058e-02 -8.44826003e-02 -8.90011899e-02 1.06890459e-01 7.63241563e-01 -2.08258108e-02 -8.28144449e-02 4.08521934e-03 4.97774980e-02 1.97467121e-01 -8.61689966e-03 -8.85521131e-02 3.26336608e-02 1.96753831e-02 -3.51712925e-02 -3.03301439e-03 6.92996341e-02 6.09841771e-03 -2.15042800e-01 2.28135770e-02 -4.07170235e-02 1.70392560e-01 8.84269909e-02 -1.93818873e-01 6.85175949e-02 9.25869978e-02 6.48395657e-02 -2.08258108e-02 -4.74768823e-01 -4.18800128e-02 -2.57988231e-02 1.33369284e-01 1.11451453e-02 6.70184175e-03 1.52852492e-02 1.49187733e-01 7.90528504e-03 -9.52436820e-03 2.42311440e-02 4.65693698e-01 1.77838932e-01 1.64767651e-02 -4.37649468e-02 -2.70661856e-01 4.82309376e-01 1.94186183e-01 7.49083880e-02 -3.49076902e-02 2.64278795e-01 2.55626981e-01 -8.28144449e-02 -4.18800128e-02 -6.25253768e-01 1.17220819e-03 1.11479519e-02 1.74097194e-01 -1.61909460e-03 -1.81049264e-01 7.25135236e-02 2.44669930e-02 9.44835226e-02 -1.58895514e-03 -4.87107239e-01 -3.83774181e-01 -2.49406909e-02 -2.09195274e-01 6.21072104e-02 4.53921680e-01 3.75282153e-01 7.67291521e-02 2.02359643e-01 2.02339288e-02 -7.05142835e-03 4.08521934e-03 -2.57988231e-02 1.17220819e-03 -7.15138160e-01 6.69499498e-03 -1.64611138e-03 1.99230425e-01 1.55738906e-02 2.42083274e-02 9.09657799e-02 1.74574611e-02 3.66026282e-01 -6.51964644e-03 1.66830601e-02 -1.41883945e-01 1.50466367e-02 -1.83219256e-02 4.71108828e-03 4.71677901e-03 -1.31762368e-01 4.09475364e-02 4.30138516e-02 -6.52750829e-03 4.97774980e-02 1.33369284e-01 1.11479519e-02 6.69499498e-03 8.75538128e-01 -2.72119238e-02 -1.63950542e-02 6.35931764e-03 -2.27284124e-02 -4.41425269e-03 4.04264505e-03 -1.07176564e-02 -7.19175506e-03 4.06237997e-02 1.47258242e-02 -3.49131417e-02 -1.28863490e-01 -2.30352410e-03 4.31349825e-02 4.12789539e-02 -3.39239660e-02 1.19988640e-01 -2.62232291e-02 1.97467121e-01 1.11451453e-02 1.74097194e-01 -1.64611138e-03 -2.72119238e-02 7.76366120e-01 3.07599587e-03 5.68900637e-02 -2.18237129e-02 -1.06890265e-02 1.34071159e-03 1.61948811e-03 -4.52287980e-02 6.06539730e-02 -1.75059826e-02 -1.25610573e-01 -1.00471591e-03 5.11994676e-02 -6.12568379e-02 4.21152823e-02 1.16576059e-01 -2.79010532e-02 1.97400693e-03 -8.61689966e-03 6.70184175e-03 -1.61909460e-03 1.99230425e-01 -1.63950542e-02 3.07599587e-03 7.16371266e-01 -7.86277031e-03 -1.07285502e-02 -2.99845032e-02 -7.61778157e-03 -1.22878854e-01 1.10813024e-01 -1.23947605e-01 -8.47667718e-02 -1.96101650e-01 2.24558957e-01 1.02538910e-01 -1.22832429e-01 -2.58528719e-01 -1.39561982e-01 -1.34585031e-01 1.66491876e-01 -8.85521131e-02 1.52852492e-02 -1.81049264e-01 1.55738906e-02 6.35931764e-03 5.68900637e-02 -7.86277031e-03 3.19891456e+00 1.69988370e-02 7.27737784e-03 -6.44291741e-02 -1.42881909e-02 -3.76437594e-02 3.89192709e-02 -2.83002918e-01 1.95711769e-02 -5.34584506e-02 -5.65270345e-02 5.44860904e-02 -2.40023990e-01 7.61057430e-02 2.17217063e-01 -6.12915685e-02 3.26336608e-02 1.49187733e-01 7.25135236e-02 2.42083274e-02 -2.27284124e-02 -2.18237129e-02 -1.07285502e-02 1.69988370e-02 3.25920245e+00 -1.39442716e-02 -1.21347611e-02 -4.50278047e-02 9.06402772e-04 1.23675296e-02 3.92807294e-01 -7.66969379e-02 6.67403369e-02 -4.20139930e-02 4.49127331e-02 -3.01464445e-01 2.40210913e-01 1.62894422e-01 -3.83218137e-02 1.96753831e-02 7.90528504e-03 2.44669930e-02 9.09657799e-02 -4.41425269e-03 -1.06890265e-02 -2.99845032e-02 7.27737784e-03 -1.39442716e-02 3.19660717e+00 1.79839764e-02 -9.14134117e-02 1.79320238e-02 -4.91257564e-02 -1.91830301e-02 -4.70085222e-01 -1.42412780e-01 8.66970933e-03 -4.46464286e-02 -4.73539656e-02 -4.30999603e-01 2.26474234e-01 6.82878309e-02 -3.51712925e-02 -9.52436820e-03 9.44835226e-02 1.74574611e-02 4.04264505e-03 1.34071159e-03 -7.61778157e-03 -6.44291741e-02 -1.21347611e-02 1.79839764e-02 3.12536899e+00 -1.50940944e-02 9.15211632e-02 -6.21130683e-02 -7.69616324e-02 -2.24201687e-01 5.21985815e-01 -8.16033294e-02 6.44049862e-02 2.40800483e-01 2.44261809e-01 4.41068047e-01 1.50531270e-03 -3.03301439e-03 2.42311440e-02 -1.58895514e-03 3.66026282e-01 -1.07176564e-02 1.61948811e-03 -1.22878854e-01 -1.42881909e-02 -4.50278047e-02 -9.14134117e-02 -1.50940944e-02 2.85906938e+00 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + 0 23 46 69 92 115 138 161 184 207 230 253 276 299 322 345 368 391 414 437 460 483 506 529 diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/result.ref b/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/result.ref similarity index 87% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/result.ref rename to tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/result.ref index 3de8b5a4c8..5678831f58 100644 --- a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/result.ref +++ b/tests/09_DeePKS/22_NO_GO_deepks_vdelta_r_2/result.ref @@ -6,6 +6,6 @@ deepks_e_label 17.126764505645642 deepks_edelta 0.09815855485768665 deepks_hr_label_pass 0 deepks_vdelta_r_pass 0 -deepks_phialpha_r 73.40481582340394 +deepks_phialpha_r 40.10770566607966 deepks_gevdm 54.0 totaltimeref 1.81 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/INPUT b/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/INPUT rename to tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/INPUT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/KPT b/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/KPT rename to tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/KPT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/README b/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/README similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/README rename to tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/README diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/STRU b/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/STRU rename to tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/STRU diff --git a/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/deepks_hrdelta.csr.ref b/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/deepks_hrdelta.csr.ref new file mode 100644 index 0000000000..0aff6c83ce --- /dev/null +++ b/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/deepks_hrdelta.csr.ref @@ -0,0 +1,6 @@ +Matrix Dimension of H_delta(R): 23 +Matrix number of H_delta(R): 1 +0 0 0 529 + -1.17226740e-02 -3.62139850e-03 -7.57658616e-05 -9.43627902e-04 1.61519520e-03 -4.88126962e-03 2.14838886e-03 -5.69092611e-04 -1.34740806e-03 -2.17211583e-03 -8.30754807e-03 1.86867772e-03 7.47161074e-04 4.24371075e-03 -3.31336838e-03 -3.08073383e-04 -1.94293588e-03 1.84789083e-03 2.75341536e-03 -4.52073594e-04 4.07871413e-04 1.43137381e-03 4.10885575e-03 -3.62139850e-03 -3.31857643e-03 5.55124135e-05 3.97210123e-04 -4.50233142e-04 2.17069899e-03 1.85031146e-03 1.16739328e-04 4.32408136e-04 5.70274689e-05 6.99594086e-04 8.77920587e-04 -3.74216359e-05 9.07138684e-04 -2.62303837e-03 7.06198588e-05 -2.95999181e-04 1.42369135e-03 6.63247569e-04 2.20553361e-04 8.23578297e-04 3.58777368e-04 3.75990027e-03 -7.57658616e-05 5.55124135e-05 -2.29579487e-03 1.05517608e-03 7.50289951e-04 -9.10169189e-05 1.02377862e-04 -7.14728269e-05 -5.48909920e-05 -2.21731453e-04 -2.94642184e-04 -1.21531930e-04 -8.25177686e-04 2.75393644e-04 1.94818297e-04 2.58520504e-04 -1.19266527e-04 -5.18116647e-05 -7.46808290e-05 2.18067883e-04 -8.73270929e-04 -5.57969648e-04 3.20285418e-04 -9.43627902e-04 3.97210123e-04 1.05517608e-03 6.27129594e-04 2.10459678e-03 -1.27654053e-03 4.22599368e-04 -3.24706105e-04 -8.00733857e-04 -1.24619255e-03 -2.64164211e-03 -7.12039715e-04 3.97104856e-04 3.86729044e-04 6.13908324e-04 -1.21192491e-04 -1.27023518e-04 -1.27553282e-04 -2.84217179e-05 -2.61293083e-04 4.81255708e-04 -9.33661463e-04 4.67067072e-04 1.61519520e-03 -4.50233142e-04 7.50289951e-04 2.10459678e-03 -5.96371822e-04 2.29609857e-03 -5.81645379e-05 4.50571959e-04 1.37541461e-03 9.15962708e-04 3.71901393e-03 5.93156794e-04 -1.08600805e-04 -5.69854124e-04 -5.51784265e-04 -4.70073968e-05 -1.08973508e-04 1.08735999e-04 -2.26761593e-04 -3.08497239e-04 2.01147715e-04 -1.30198784e-03 -2.82691276e-04 -4.88126962e-03 2.17069899e-03 -9.10169189e-05 -1.27654053e-03 2.29609857e-03 -1.17946700e-02 -3.65752097e-03 -4.36949713e-04 -1.04991930e-03 -1.62944026e-03 -8.44403565e-03 1.79978067e-03 1.45734825e-03 4.45177303e-03 3.06765884e-03 -6.61583941e-04 -1.92602393e-03 -1.62896982e-03 2.38699965e-03 -1.34201368e-03 -1.60643312e-03 1.01382835e-03 -3.99355953e-03 2.14838886e-03 1.85031146e-03 1.02377862e-04 4.22599368e-04 -5.81645379e-05 -3.65752097e-03 -3.34036572e-03 1.35458391e-04 3.80487988e-04 3.67953176e-04 6.01680816e-04 8.31307908e-04 5.43170647e-04 1.07691641e-03 2.59440381e-03 -2.15248177e-04 -2.85153605e-04 -1.38080932e-03 3.33506511e-04 -6.12806701e-04 -1.05075443e-03 -3.24643167e-05 -3.77203641e-03 -5.69092611e-04 1.16739328e-04 -7.14728269e-05 -3.24706105e-04 4.50571959e-04 -4.36949713e-04 1.35458391e-04 -2.52025047e-03 5.47037477e-04 -3.72802097e-04 -1.08319501e-03 -2.53748022e-04 -8.37977755e-04 4.25201851e-04 -1.28245874e-04 2.69077723e-04 -7.65612532e-05 1.78789433e-05 3.00822298e-04 2.01309516e-04 8.80835967e-04 -9.65086570e-05 -4.10402146e-04 -1.34740806e-03 4.32408136e-04 -5.48909920e-05 -8.00733857e-04 1.37541461e-03 -1.04991930e-03 3.80487988e-04 5.47037477e-04 4.66309048e-04 -2.37927182e-03 -2.79020310e-03 -7.57048101e-04 2.98197496e-04 5.10331568e-04 -7.00712687e-04 -7.83000417e-05 -7.72562067e-05 1.46308569e-04 -1.48728519e-04 -3.56662803e-04 -2.30021977e-04 -1.02634361e-03 -3.50951237e-04 -2.17211583e-03 5.70274689e-05 -2.21731453e-04 -1.24619255e-03 9.15962708e-04 -1.62944026e-03 3.67953176e-04 -3.72802097e-04 -2.37927182e-03 -3.17636479e-04 -3.57230311e-03 -5.79161721e-04 1.88119336e-04 5.32895704e-04 -4.33752888e-04 2.21933361e-05 1.63097910e-04 9.65159816e-05 1.95088303e-04 2.11139203e-04 -3.63635539e-04 1.41676091e-03 -3.12986333e-04 -8.30754807e-03 6.99594086e-04 -2.94642184e-04 -2.64164211e-03 3.71901393e-03 -8.44403565e-03 6.01680816e-04 -1.08319501e-03 -2.79020310e-03 -3.57230311e-03 -1.26915681e-02 -5.67704352e-04 6.40881586e-04 2.52353706e-03 -6.12780257e-05 -3.97812123e-04 -1.56385352e-03 3.12831896e-05 1.75141762e-03 -5.52685598e-04 -4.37464862e-04 1.06022860e-03 1.26280909e-05 1.86867772e-03 8.77920587e-04 -1.21531930e-04 -7.12039715e-04 5.93156794e-04 1.79978067e-03 8.31307908e-04 -2.53748022e-04 -7.57048101e-04 -5.79161721e-04 -5.67704352e-04 -1.87025156e-03 -5.03563736e-04 -1.99325653e-03 7.33280233e-05 1.43780052e-04 5.95513212e-04 -8.69591639e-05 -1.07247375e-03 5.14077802e-04 1.89341367e-04 1.97742222e-05 -5.93739376e-05 7.47161074e-04 -3.74216359e-05 -8.25177686e-04 3.97104856e-04 -1.08600805e-04 1.45734825e-03 5.43170647e-04 -8.37977755e-04 2.98197496e-04 1.88119336e-04 6.40881586e-04 -5.03563736e-04 -1.80813878e-03 -5.80109174e-04 -6.96488950e-05 -5.96140210e-05 2.45238335e-04 2.42989359e-04 9.54997836e-05 1.09138808e-03 1.72195202e-04 -7.57142452e-04 2.89724169e-04 4.24371075e-03 9.07138684e-04 2.75393644e-04 3.86729044e-04 -5.69854124e-04 4.45177303e-03 1.07691641e-03 4.25201851e-04 5.10331568e-04 5.32895704e-04 2.52353706e-03 -1.99325653e-03 -5.80109174e-04 -3.88395486e-03 -7.80058099e-05 2.48044905e-04 8.24811995e-04 -1.35230180e-05 -1.66664666e-03 -3.24481106e-05 5.25573118e-04 -1.88659888e-03 1.21499755e-04 -3.31336838e-03 -2.62303837e-03 1.94818297e-04 6.13908324e-04 -5.51784265e-04 3.06765884e-03 2.59440381e-03 -1.28245874e-04 -7.00712687e-04 -4.33752888e-04 -6.12780257e-05 7.33280233e-05 -6.96488950e-05 -7.80058099e-05 -2.13180521e-03 2.36142590e-04 -4.05397975e-05 2.24871509e-03 1.71581618e-04 2.66907522e-04 8.85356707e-04 2.23424203e-04 3.60025084e-03 -3.08073383e-04 7.06198588e-05 2.58520504e-04 -1.21192491e-04 -4.70073968e-05 -6.61583941e-04 -2.15248177e-04 2.69077723e-04 -7.83000417e-05 2.21933361e-05 -3.97812123e-04 1.43780052e-04 -5.96140210e-05 2.48044905e-04 2.36142590e-04 -1.52959026e-04 -1.18960326e-04 -1.30874299e-05 1.95942523e-04 -9.74404173e-05 -7.49881215e-05 5.55136968e-07 -1.83179620e-04 -1.94293588e-03 -2.95999181e-04 -1.19266527e-04 -1.27023518e-04 -1.08973508e-04 -1.92602393e-03 -2.85153605e-04 -7.65612532e-05 -7.72562067e-05 1.63097910e-04 -1.56385352e-03 5.95513212e-04 2.45238335e-04 8.24811995e-04 -4.05397975e-05 -1.18960326e-04 -6.06345144e-04 5.27778316e-05 7.81662817e-04 -3.57182818e-04 -1.54549695e-04 7.53587456e-05 2.40887746e-05 1.84789083e-03 1.42369135e-03 -5.18116647e-05 -1.27553282e-04 1.08735999e-04 -1.62896982e-03 -1.38080932e-03 1.78789433e-05 1.46308569e-04 9.65159816e-05 3.12831896e-05 -8.69591639e-05 2.42989359e-04 -1.35230180e-05 2.24871509e-03 -1.30874299e-05 5.27778316e-05 -3.79019608e-04 -1.27242112e-04 -1.94073358e-04 -4.33793272e-04 -1.54117619e-04 -1.79992794e-03 2.75341536e-03 6.63247569e-04 -7.46808290e-05 -2.84217179e-05 -2.26761593e-04 2.38699965e-03 3.33506511e-04 3.00822298e-04 -1.48728519e-04 1.95088303e-04 1.75141762e-03 -1.07247375e-03 9.54997836e-05 -1.66664666e-03 1.71581618e-04 1.95942523e-04 7.81662817e-04 -1.27242112e-04 -5.88627411e-04 8.54510996e-04 -2.89432341e-04 -5.24942201e-04 -2.73772524e-04 -4.52073594e-04 2.20553361e-04 2.18067883e-04 -2.61293083e-04 -3.08497239e-04 -1.34201368e-03 -6.12806701e-04 2.01309516e-04 -3.56662803e-04 2.11139203e-04 -5.52685598e-04 5.14077802e-04 1.09138808e-03 -3.24481106e-05 2.66907522e-04 -9.74404173e-05 -3.57182818e-04 -1.94073358e-04 8.54510996e-04 1.25682163e-03 -3.89499039e-04 4.78108647e-04 -9.56639530e-04 4.07871413e-04 8.23578297e-04 -8.73270929e-04 4.81255708e-04 2.01147715e-04 -1.60643312e-03 -1.05075443e-03 8.80835967e-04 -2.30021977e-04 -3.63635539e-04 -4.37464862e-04 1.89341367e-04 1.72195202e-04 5.25573118e-04 8.85356707e-04 -7.49881215e-05 -1.54549695e-04 -4.33793272e-04 -2.89432341e-04 -3.89499039e-04 -2.37112515e-03 -5.15360701e-04 -1.20550576e-03 1.43137381e-03 3.58777368e-04 -5.57969648e-04 -9.33661463e-04 -1.30198784e-03 1.01382835e-03 -3.24643167e-05 -9.65086570e-05 -1.02634361e-03 1.41676091e-03 1.06022860e-03 1.97742222e-05 -7.57142452e-04 -1.88659888e-03 2.23424203e-04 5.55136968e-07 7.53587456e-05 -1.54117619e-04 -5.24942201e-04 4.78108647e-04 -5.15360701e-04 2.76519524e-03 -4.59410571e-04 4.10885575e-03 3.75990027e-03 3.20285418e-04 4.67067072e-04 -2.82691276e-04 -3.99355953e-03 -3.77203641e-03 -4.10402146e-04 -3.50951237e-04 -3.12986333e-04 1.26280909e-05 -5.93739376e-05 2.89724169e-04 1.21499755e-04 3.60025084e-03 -1.83179620e-04 2.40887746e-05 -1.79992794e-03 -2.73772524e-04 -9.56639530e-04 -1.20550576e-03 -4.59410571e-04 -7.09398430e-03 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + 0 23 46 69 92 115 138 161 184 207 230 253 276 299 322 345 368 391 414 437 460 483 506 529 diff --git a/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/deepks_hrtot.csr.ref b/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/deepks_hrtot.csr.ref new file mode 100644 index 0000000000..7c6c543bf9 --- /dev/null +++ b/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/deepks_hrtot.csr.ref @@ -0,0 +1,6 @@ +Matrix Dimension of H(R): 23 +Matrix number of H(R): 1 +0 0 0 529 + -8.42107904e-01 2.13550175e-01 -3.36018443e-02 -3.14634851e-01 4.57125255e-01 -5.72184336e-01 2.48575301e-01 -6.34432974e-02 -1.13625395e-01 -3.33175047e-01 -1.07975761e+00 -1.36939378e-02 6.92996341e-02 4.65693698e-01 -4.87107239e-01 -6.51964644e-03 -7.19175506e-03 -4.52287980e-02 1.10813024e-01 -3.76437594e-02 9.06402772e-04 1.79320238e-02 9.15211632e-02 2.13550175e-01 9.37557925e-01 -3.14883586e-03 -2.33953762e-02 2.74497309e-02 2.52264246e-01 1.62953161e-01 3.47485631e-02 1.25139207e-01 2.55561956e-02 2.06575092e-01 7.81936184e-02 6.09841771e-03 1.77838932e-01 -3.83774181e-01 1.66830601e-02 4.06237997e-02 6.06539730e-02 -1.23947605e-01 3.89192709e-02 1.23675296e-02 -4.91257564e-02 -6.21130683e-02 -3.36018443e-02 -3.14883586e-03 2.49598467e+00 -2.93735098e-02 3.30086601e-02 7.91829015e-03 2.78231936e-02 -3.57932496e-02 9.74834800e-03 1.32482382e-02 -4.25617904e-02 -1.19113287e-02 -2.15042800e-01 1.64767651e-02 -2.49406909e-02 -1.41883945e-01 1.47258242e-02 -1.75059826e-02 -8.47667718e-02 -2.83002918e-01 3.92807294e-01 -1.91830301e-02 -7.69616324e-02 -3.14634851e-01 -2.33953762e-02 -2.93735098e-02 2.26416924e+00 3.02825162e-01 -1.05733259e-01 1.21240901e-01 -9.89002286e-03 -4.12343578e-02 -9.20422560e-02 -3.82618437e-01 -8.78853635e-02 2.28135770e-02 -4.37649468e-02 -2.09195274e-01 1.50466367e-02 -3.49131417e-02 -1.25610573e-01 -1.96101650e-01 1.95711769e-02 -7.66969379e-02 -4.70085222e-01 -2.24201687e-01 4.57125255e-01 2.74497309e-02 3.30086601e-02 3.02825162e-01 2.06576968e+00 3.40251911e-01 -3.14993633e-02 6.21783525e-02 9.87617873e-02 3.18364998e-01 5.39706282e-01 1.03444338e-01 -4.07170235e-02 -2.70661856e-01 6.21072104e-02 -1.83219256e-02 -1.28863490e-01 -1.00471591e-03 2.24558957e-01 -5.34584506e-02 6.67403369e-02 -1.42412780e-01 5.21985815e-01 -5.72184336e-01 2.52264246e-01 7.91829015e-03 -1.05733259e-01 3.40251911e-01 -8.53117379e-01 2.07158983e-01 -1.31678616e-01 -3.35702404e-01 -4.42556733e-01 -1.09366461e+00 -1.90391346e-02 1.70392560e-01 4.82309376e-01 4.53921680e-01 4.71108828e-03 -2.30352410e-03 5.11994676e-02 1.02538910e-01 -5.65270345e-02 -4.20139930e-02 8.66970933e-03 -8.16033294e-02 2.48575301e-01 1.62953161e-01 2.78231936e-02 1.21240901e-01 -3.14993633e-02 2.07158983e-01 9.32647363e-01 -1.07576511e-02 -2.91947949e-02 -3.14958024e-02 1.96293189e-01 7.49540951e-02 8.84269909e-02 1.94186183e-01 3.75282153e-01 4.71677901e-03 4.31349825e-02 -6.12568379e-02 -1.22832429e-01 5.44860904e-02 4.49127331e-02 -4.46464286e-02 6.44049862e-02 -6.34432974e-02 3.47485631e-02 -3.57932496e-02 -9.89002286e-03 6.21783525e-02 -1.31678616e-01 -1.07576511e-02 2.45482838e+00 -9.70421303e-02 -1.17589370e-01 -1.55741908e-01 -3.08046058e-02 -1.93818873e-01 7.49083880e-02 7.67291521e-02 -1.31762368e-01 4.12789539e-02 4.21152823e-02 -2.58528719e-01 -2.40023990e-01 -3.01464445e-01 -4.73539656e-02 2.40800483e-01 -1.13625395e-01 1.25139207e-01 9.74834800e-03 -4.12343578e-02 9.87617873e-02 -3.35702404e-01 -2.91947949e-02 -9.70421303e-02 2.23408330e+00 -3.00411324e-01 -4.00917139e-01 -8.44826003e-02 6.85175949e-02 -3.49076902e-02 2.02359643e-01 4.09475364e-02 -3.39239660e-02 1.16576059e-01 -1.39561982e-01 7.61057430e-02 2.40210913e-01 -4.30999603e-01 2.44261809e-01 -3.33175047e-01 2.55561956e-02 1.32482382e-02 -9.20422560e-02 3.18364998e-01 -4.42556733e-01 -3.14958024e-02 -1.17589370e-01 -3.00411324e-01 2.09720426e+00 -5.14102784e-01 -8.90011899e-02 9.25869978e-02 2.64278795e-01 2.02339288e-02 4.30138516e-02 1.19988640e-01 -2.79010532e-02 -1.34585031e-01 2.17217063e-01 1.62894422e-01 2.26474234e-01 4.41068047e-01 -1.07975761e+00 2.06575092e-01 -4.25617904e-02 -3.82618437e-01 5.39706282e-01 -1.09366461e+00 1.96293189e-01 -1.55741908e-01 -4.00917139e-01 -5.14102784e-01 -1.70549181e+00 1.06890459e-01 6.48395657e-02 2.55626981e-01 -7.05142835e-03 -6.52750829e-03 -2.62232291e-02 1.97400693e-03 1.66491876e-01 -6.12915685e-02 -3.83218137e-02 6.82878309e-02 1.50531270e-03 -1.36939378e-02 7.81936184e-02 -1.19113287e-02 -8.78853635e-02 1.03444338e-01 -1.90391346e-02 7.49540951e-02 -3.08046058e-02 -8.44826003e-02 -8.90011899e-02 1.06890459e-01 7.63241563e-01 -2.08258108e-02 -8.28144449e-02 4.08521934e-03 4.97774980e-02 1.97467121e-01 -8.61689966e-03 -8.85521131e-02 3.26336608e-02 1.96753831e-02 -3.51712925e-02 -3.03301439e-03 6.92996341e-02 6.09841771e-03 -2.15042800e-01 2.28135770e-02 -4.07170235e-02 1.70392560e-01 8.84269909e-02 -1.93818873e-01 6.85175949e-02 9.25869978e-02 6.48395657e-02 -2.08258108e-02 -4.74768823e-01 -4.18800128e-02 -2.57988231e-02 1.33369284e-01 1.11451453e-02 6.70184175e-03 1.52852492e-02 1.49187733e-01 7.90528504e-03 -9.52436820e-03 2.42311440e-02 4.65693698e-01 1.77838932e-01 1.64767651e-02 -4.37649468e-02 -2.70661856e-01 4.82309376e-01 1.94186183e-01 7.49083880e-02 -3.49076902e-02 2.64278795e-01 2.55626981e-01 -8.28144449e-02 -4.18800128e-02 -6.25253768e-01 1.17220819e-03 1.11479519e-02 1.74097194e-01 -1.61909460e-03 -1.81049264e-01 7.25135236e-02 2.44669930e-02 9.44835226e-02 -1.58895514e-03 -4.87107239e-01 -3.83774181e-01 -2.49406909e-02 -2.09195274e-01 6.21072104e-02 4.53921680e-01 3.75282153e-01 7.67291521e-02 2.02359643e-01 2.02339288e-02 -7.05142835e-03 4.08521934e-03 -2.57988231e-02 1.17220819e-03 -7.15138160e-01 6.69499498e-03 -1.64611138e-03 1.99230425e-01 1.55738906e-02 2.42083274e-02 9.09657799e-02 1.74574611e-02 3.66026282e-01 -6.51964644e-03 1.66830601e-02 -1.41883945e-01 1.50466367e-02 -1.83219256e-02 4.71108828e-03 4.71677901e-03 -1.31762368e-01 4.09475364e-02 4.30138516e-02 -6.52750829e-03 4.97774980e-02 1.33369284e-01 1.11479519e-02 6.69499498e-03 8.75538128e-01 -2.72119238e-02 -1.63950542e-02 6.35931764e-03 -2.27284124e-02 -4.41425269e-03 4.04264505e-03 -1.07176564e-02 -7.19175506e-03 4.06237997e-02 1.47258242e-02 -3.49131417e-02 -1.28863490e-01 -2.30352410e-03 4.31349825e-02 4.12789539e-02 -3.39239660e-02 1.19988640e-01 -2.62232291e-02 1.97467121e-01 1.11451453e-02 1.74097194e-01 -1.64611138e-03 -2.72119238e-02 7.76366120e-01 3.07599587e-03 5.68900637e-02 -2.18237129e-02 -1.06890265e-02 1.34071159e-03 1.61948811e-03 -4.52287980e-02 6.06539730e-02 -1.75059826e-02 -1.25610573e-01 -1.00471591e-03 5.11994676e-02 -6.12568379e-02 4.21152823e-02 1.16576059e-01 -2.79010532e-02 1.97400693e-03 -8.61689966e-03 6.70184175e-03 -1.61909460e-03 1.99230425e-01 -1.63950542e-02 3.07599587e-03 7.16371266e-01 -7.86277031e-03 -1.07285502e-02 -2.99845032e-02 -7.61778157e-03 -1.22878854e-01 1.10813024e-01 -1.23947605e-01 -8.47667718e-02 -1.96101650e-01 2.24558957e-01 1.02538910e-01 -1.22832429e-01 -2.58528719e-01 -1.39561982e-01 -1.34585031e-01 1.66491876e-01 -8.85521131e-02 1.52852492e-02 -1.81049264e-01 1.55738906e-02 6.35931764e-03 5.68900637e-02 -7.86277031e-03 3.19891456e+00 1.69988370e-02 7.27737784e-03 -6.44291741e-02 -1.42881909e-02 -3.76437594e-02 3.89192709e-02 -2.83002918e-01 1.95711769e-02 -5.34584506e-02 -5.65270345e-02 5.44860904e-02 -2.40023990e-01 7.61057430e-02 2.17217063e-01 -6.12915685e-02 3.26336608e-02 1.49187733e-01 7.25135236e-02 2.42083274e-02 -2.27284124e-02 -2.18237129e-02 -1.07285502e-02 1.69988370e-02 3.25920245e+00 -1.39442716e-02 -1.21347611e-02 -4.50278047e-02 9.06402772e-04 1.23675296e-02 3.92807294e-01 -7.66969379e-02 6.67403369e-02 -4.20139930e-02 4.49127331e-02 -3.01464445e-01 2.40210913e-01 1.62894422e-01 -3.83218137e-02 1.96753831e-02 7.90528504e-03 2.44669930e-02 9.09657799e-02 -4.41425269e-03 -1.06890265e-02 -2.99845032e-02 7.27737784e-03 -1.39442716e-02 3.19660717e+00 1.79839764e-02 -9.14134117e-02 1.79320238e-02 -4.91257564e-02 -1.91830301e-02 -4.70085222e-01 -1.42412780e-01 8.66970933e-03 -4.46464286e-02 -4.73539656e-02 -4.30999603e-01 2.26474234e-01 6.82878309e-02 -3.51712925e-02 -9.52436820e-03 9.44835226e-02 1.74574611e-02 4.04264505e-03 1.34071159e-03 -7.61778157e-03 -6.44291741e-02 -1.21347611e-02 1.79839764e-02 3.12536899e+00 -1.50940944e-02 9.15211632e-02 -6.21130683e-02 -7.69616324e-02 -2.24201687e-01 5.21985815e-01 -8.16033294e-02 6.44049862e-02 2.40800483e-01 2.44261809e-01 4.41068047e-01 1.50531270e-03 -3.03301439e-03 2.42311440e-02 -1.58895514e-03 3.66026282e-01 -1.07176564e-02 1.61948811e-03 -1.22878854e-01 -1.42881909e-02 -4.50278047e-02 -9.14134117e-02 -1.50940944e-02 2.85906938e+00 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + 0 23 46 69 92 115 138 161 184 207 230 253 276 299 322 345 368 391 414 437 460 483 506 529 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/result.ref b/tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/result.ref similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_1/result.ref rename to tests/09_DeePKS/23_NO_KP_deepks_vdelta_r_1/result.ref diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/INPUT b/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/INPUT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/INPUT rename to tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/INPUT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/KPT b/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/KPT rename to tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/KPT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/README b/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/README similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/README rename to tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/README diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/STRU b/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/STRU rename to tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/STRU diff --git a/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/deepks_hrdelta.csr.ref b/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/deepks_hrdelta.csr.ref new file mode 100644 index 0000000000..0aff6c83ce --- /dev/null +++ b/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/deepks_hrdelta.csr.ref @@ -0,0 +1,6 @@ +Matrix Dimension of H_delta(R): 23 +Matrix number of H_delta(R): 1 +0 0 0 529 + -1.17226740e-02 -3.62139850e-03 -7.57658616e-05 -9.43627902e-04 1.61519520e-03 -4.88126962e-03 2.14838886e-03 -5.69092611e-04 -1.34740806e-03 -2.17211583e-03 -8.30754807e-03 1.86867772e-03 7.47161074e-04 4.24371075e-03 -3.31336838e-03 -3.08073383e-04 -1.94293588e-03 1.84789083e-03 2.75341536e-03 -4.52073594e-04 4.07871413e-04 1.43137381e-03 4.10885575e-03 -3.62139850e-03 -3.31857643e-03 5.55124135e-05 3.97210123e-04 -4.50233142e-04 2.17069899e-03 1.85031146e-03 1.16739328e-04 4.32408136e-04 5.70274689e-05 6.99594086e-04 8.77920587e-04 -3.74216359e-05 9.07138684e-04 -2.62303837e-03 7.06198588e-05 -2.95999181e-04 1.42369135e-03 6.63247569e-04 2.20553361e-04 8.23578297e-04 3.58777368e-04 3.75990027e-03 -7.57658616e-05 5.55124135e-05 -2.29579487e-03 1.05517608e-03 7.50289951e-04 -9.10169189e-05 1.02377862e-04 -7.14728269e-05 -5.48909920e-05 -2.21731453e-04 -2.94642184e-04 -1.21531930e-04 -8.25177686e-04 2.75393644e-04 1.94818297e-04 2.58520504e-04 -1.19266527e-04 -5.18116647e-05 -7.46808290e-05 2.18067883e-04 -8.73270929e-04 -5.57969648e-04 3.20285418e-04 -9.43627902e-04 3.97210123e-04 1.05517608e-03 6.27129594e-04 2.10459678e-03 -1.27654053e-03 4.22599368e-04 -3.24706105e-04 -8.00733857e-04 -1.24619255e-03 -2.64164211e-03 -7.12039715e-04 3.97104856e-04 3.86729044e-04 6.13908324e-04 -1.21192491e-04 -1.27023518e-04 -1.27553282e-04 -2.84217179e-05 -2.61293083e-04 4.81255708e-04 -9.33661463e-04 4.67067072e-04 1.61519520e-03 -4.50233142e-04 7.50289951e-04 2.10459678e-03 -5.96371822e-04 2.29609857e-03 -5.81645379e-05 4.50571959e-04 1.37541461e-03 9.15962708e-04 3.71901393e-03 5.93156794e-04 -1.08600805e-04 -5.69854124e-04 -5.51784265e-04 -4.70073968e-05 -1.08973508e-04 1.08735999e-04 -2.26761593e-04 -3.08497239e-04 2.01147715e-04 -1.30198784e-03 -2.82691276e-04 -4.88126962e-03 2.17069899e-03 -9.10169189e-05 -1.27654053e-03 2.29609857e-03 -1.17946700e-02 -3.65752097e-03 -4.36949713e-04 -1.04991930e-03 -1.62944026e-03 -8.44403565e-03 1.79978067e-03 1.45734825e-03 4.45177303e-03 3.06765884e-03 -6.61583941e-04 -1.92602393e-03 -1.62896982e-03 2.38699965e-03 -1.34201368e-03 -1.60643312e-03 1.01382835e-03 -3.99355953e-03 2.14838886e-03 1.85031146e-03 1.02377862e-04 4.22599368e-04 -5.81645379e-05 -3.65752097e-03 -3.34036572e-03 1.35458391e-04 3.80487988e-04 3.67953176e-04 6.01680816e-04 8.31307908e-04 5.43170647e-04 1.07691641e-03 2.59440381e-03 -2.15248177e-04 -2.85153605e-04 -1.38080932e-03 3.33506511e-04 -6.12806701e-04 -1.05075443e-03 -3.24643167e-05 -3.77203641e-03 -5.69092611e-04 1.16739328e-04 -7.14728269e-05 -3.24706105e-04 4.50571959e-04 -4.36949713e-04 1.35458391e-04 -2.52025047e-03 5.47037477e-04 -3.72802097e-04 -1.08319501e-03 -2.53748022e-04 -8.37977755e-04 4.25201851e-04 -1.28245874e-04 2.69077723e-04 -7.65612532e-05 1.78789433e-05 3.00822298e-04 2.01309516e-04 8.80835967e-04 -9.65086570e-05 -4.10402146e-04 -1.34740806e-03 4.32408136e-04 -5.48909920e-05 -8.00733857e-04 1.37541461e-03 -1.04991930e-03 3.80487988e-04 5.47037477e-04 4.66309048e-04 -2.37927182e-03 -2.79020310e-03 -7.57048101e-04 2.98197496e-04 5.10331568e-04 -7.00712687e-04 -7.83000417e-05 -7.72562067e-05 1.46308569e-04 -1.48728519e-04 -3.56662803e-04 -2.30021977e-04 -1.02634361e-03 -3.50951237e-04 -2.17211583e-03 5.70274689e-05 -2.21731453e-04 -1.24619255e-03 9.15962708e-04 -1.62944026e-03 3.67953176e-04 -3.72802097e-04 -2.37927182e-03 -3.17636479e-04 -3.57230311e-03 -5.79161721e-04 1.88119336e-04 5.32895704e-04 -4.33752888e-04 2.21933361e-05 1.63097910e-04 9.65159816e-05 1.95088303e-04 2.11139203e-04 -3.63635539e-04 1.41676091e-03 -3.12986333e-04 -8.30754807e-03 6.99594086e-04 -2.94642184e-04 -2.64164211e-03 3.71901393e-03 -8.44403565e-03 6.01680816e-04 -1.08319501e-03 -2.79020310e-03 -3.57230311e-03 -1.26915681e-02 -5.67704352e-04 6.40881586e-04 2.52353706e-03 -6.12780257e-05 -3.97812123e-04 -1.56385352e-03 3.12831896e-05 1.75141762e-03 -5.52685598e-04 -4.37464862e-04 1.06022860e-03 1.26280909e-05 1.86867772e-03 8.77920587e-04 -1.21531930e-04 -7.12039715e-04 5.93156794e-04 1.79978067e-03 8.31307908e-04 -2.53748022e-04 -7.57048101e-04 -5.79161721e-04 -5.67704352e-04 -1.87025156e-03 -5.03563736e-04 -1.99325653e-03 7.33280233e-05 1.43780052e-04 5.95513212e-04 -8.69591639e-05 -1.07247375e-03 5.14077802e-04 1.89341367e-04 1.97742222e-05 -5.93739376e-05 7.47161074e-04 -3.74216359e-05 -8.25177686e-04 3.97104856e-04 -1.08600805e-04 1.45734825e-03 5.43170647e-04 -8.37977755e-04 2.98197496e-04 1.88119336e-04 6.40881586e-04 -5.03563736e-04 -1.80813878e-03 -5.80109174e-04 -6.96488950e-05 -5.96140210e-05 2.45238335e-04 2.42989359e-04 9.54997836e-05 1.09138808e-03 1.72195202e-04 -7.57142452e-04 2.89724169e-04 4.24371075e-03 9.07138684e-04 2.75393644e-04 3.86729044e-04 -5.69854124e-04 4.45177303e-03 1.07691641e-03 4.25201851e-04 5.10331568e-04 5.32895704e-04 2.52353706e-03 -1.99325653e-03 -5.80109174e-04 -3.88395486e-03 -7.80058099e-05 2.48044905e-04 8.24811995e-04 -1.35230180e-05 -1.66664666e-03 -3.24481106e-05 5.25573118e-04 -1.88659888e-03 1.21499755e-04 -3.31336838e-03 -2.62303837e-03 1.94818297e-04 6.13908324e-04 -5.51784265e-04 3.06765884e-03 2.59440381e-03 -1.28245874e-04 -7.00712687e-04 -4.33752888e-04 -6.12780257e-05 7.33280233e-05 -6.96488950e-05 -7.80058099e-05 -2.13180521e-03 2.36142590e-04 -4.05397975e-05 2.24871509e-03 1.71581618e-04 2.66907522e-04 8.85356707e-04 2.23424203e-04 3.60025084e-03 -3.08073383e-04 7.06198588e-05 2.58520504e-04 -1.21192491e-04 -4.70073968e-05 -6.61583941e-04 -2.15248177e-04 2.69077723e-04 -7.83000417e-05 2.21933361e-05 -3.97812123e-04 1.43780052e-04 -5.96140210e-05 2.48044905e-04 2.36142590e-04 -1.52959026e-04 -1.18960326e-04 -1.30874299e-05 1.95942523e-04 -9.74404173e-05 -7.49881215e-05 5.55136968e-07 -1.83179620e-04 -1.94293588e-03 -2.95999181e-04 -1.19266527e-04 -1.27023518e-04 -1.08973508e-04 -1.92602393e-03 -2.85153605e-04 -7.65612532e-05 -7.72562067e-05 1.63097910e-04 -1.56385352e-03 5.95513212e-04 2.45238335e-04 8.24811995e-04 -4.05397975e-05 -1.18960326e-04 -6.06345144e-04 5.27778316e-05 7.81662817e-04 -3.57182818e-04 -1.54549695e-04 7.53587456e-05 2.40887746e-05 1.84789083e-03 1.42369135e-03 -5.18116647e-05 -1.27553282e-04 1.08735999e-04 -1.62896982e-03 -1.38080932e-03 1.78789433e-05 1.46308569e-04 9.65159816e-05 3.12831896e-05 -8.69591639e-05 2.42989359e-04 -1.35230180e-05 2.24871509e-03 -1.30874299e-05 5.27778316e-05 -3.79019608e-04 -1.27242112e-04 -1.94073358e-04 -4.33793272e-04 -1.54117619e-04 -1.79992794e-03 2.75341536e-03 6.63247569e-04 -7.46808290e-05 -2.84217179e-05 -2.26761593e-04 2.38699965e-03 3.33506511e-04 3.00822298e-04 -1.48728519e-04 1.95088303e-04 1.75141762e-03 -1.07247375e-03 9.54997836e-05 -1.66664666e-03 1.71581618e-04 1.95942523e-04 7.81662817e-04 -1.27242112e-04 -5.88627411e-04 8.54510996e-04 -2.89432341e-04 -5.24942201e-04 -2.73772524e-04 -4.52073594e-04 2.20553361e-04 2.18067883e-04 -2.61293083e-04 -3.08497239e-04 -1.34201368e-03 -6.12806701e-04 2.01309516e-04 -3.56662803e-04 2.11139203e-04 -5.52685598e-04 5.14077802e-04 1.09138808e-03 -3.24481106e-05 2.66907522e-04 -9.74404173e-05 -3.57182818e-04 -1.94073358e-04 8.54510996e-04 1.25682163e-03 -3.89499039e-04 4.78108647e-04 -9.56639530e-04 4.07871413e-04 8.23578297e-04 -8.73270929e-04 4.81255708e-04 2.01147715e-04 -1.60643312e-03 -1.05075443e-03 8.80835967e-04 -2.30021977e-04 -3.63635539e-04 -4.37464862e-04 1.89341367e-04 1.72195202e-04 5.25573118e-04 8.85356707e-04 -7.49881215e-05 -1.54549695e-04 -4.33793272e-04 -2.89432341e-04 -3.89499039e-04 -2.37112515e-03 -5.15360701e-04 -1.20550576e-03 1.43137381e-03 3.58777368e-04 -5.57969648e-04 -9.33661463e-04 -1.30198784e-03 1.01382835e-03 -3.24643167e-05 -9.65086570e-05 -1.02634361e-03 1.41676091e-03 1.06022860e-03 1.97742222e-05 -7.57142452e-04 -1.88659888e-03 2.23424203e-04 5.55136968e-07 7.53587456e-05 -1.54117619e-04 -5.24942201e-04 4.78108647e-04 -5.15360701e-04 2.76519524e-03 -4.59410571e-04 4.10885575e-03 3.75990027e-03 3.20285418e-04 4.67067072e-04 -2.82691276e-04 -3.99355953e-03 -3.77203641e-03 -4.10402146e-04 -3.50951237e-04 -3.12986333e-04 1.26280909e-05 -5.93739376e-05 2.89724169e-04 1.21499755e-04 3.60025084e-03 -1.83179620e-04 2.40887746e-05 -1.79992794e-03 -2.73772524e-04 -9.56639530e-04 -1.20550576e-03 -4.59410571e-04 -7.09398430e-03 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + 0 23 46 69 92 115 138 161 184 207 230 253 276 299 322 345 368 391 414 437 460 483 506 529 diff --git a/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/deepks_hrtot.csr.ref b/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/deepks_hrtot.csr.ref new file mode 100644 index 0000000000..7c6c543bf9 --- /dev/null +++ b/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/deepks_hrtot.csr.ref @@ -0,0 +1,6 @@ +Matrix Dimension of H(R): 23 +Matrix number of H(R): 1 +0 0 0 529 + -8.42107904e-01 2.13550175e-01 -3.36018443e-02 -3.14634851e-01 4.57125255e-01 -5.72184336e-01 2.48575301e-01 -6.34432974e-02 -1.13625395e-01 -3.33175047e-01 -1.07975761e+00 -1.36939378e-02 6.92996341e-02 4.65693698e-01 -4.87107239e-01 -6.51964644e-03 -7.19175506e-03 -4.52287980e-02 1.10813024e-01 -3.76437594e-02 9.06402772e-04 1.79320238e-02 9.15211632e-02 2.13550175e-01 9.37557925e-01 -3.14883586e-03 -2.33953762e-02 2.74497309e-02 2.52264246e-01 1.62953161e-01 3.47485631e-02 1.25139207e-01 2.55561956e-02 2.06575092e-01 7.81936184e-02 6.09841771e-03 1.77838932e-01 -3.83774181e-01 1.66830601e-02 4.06237997e-02 6.06539730e-02 -1.23947605e-01 3.89192709e-02 1.23675296e-02 -4.91257564e-02 -6.21130683e-02 -3.36018443e-02 -3.14883586e-03 2.49598467e+00 -2.93735098e-02 3.30086601e-02 7.91829015e-03 2.78231936e-02 -3.57932496e-02 9.74834800e-03 1.32482382e-02 -4.25617904e-02 -1.19113287e-02 -2.15042800e-01 1.64767651e-02 -2.49406909e-02 -1.41883945e-01 1.47258242e-02 -1.75059826e-02 -8.47667718e-02 -2.83002918e-01 3.92807294e-01 -1.91830301e-02 -7.69616324e-02 -3.14634851e-01 -2.33953762e-02 -2.93735098e-02 2.26416924e+00 3.02825162e-01 -1.05733259e-01 1.21240901e-01 -9.89002286e-03 -4.12343578e-02 -9.20422560e-02 -3.82618437e-01 -8.78853635e-02 2.28135770e-02 -4.37649468e-02 -2.09195274e-01 1.50466367e-02 -3.49131417e-02 -1.25610573e-01 -1.96101650e-01 1.95711769e-02 -7.66969379e-02 -4.70085222e-01 -2.24201687e-01 4.57125255e-01 2.74497309e-02 3.30086601e-02 3.02825162e-01 2.06576968e+00 3.40251911e-01 -3.14993633e-02 6.21783525e-02 9.87617873e-02 3.18364998e-01 5.39706282e-01 1.03444338e-01 -4.07170235e-02 -2.70661856e-01 6.21072104e-02 -1.83219256e-02 -1.28863490e-01 -1.00471591e-03 2.24558957e-01 -5.34584506e-02 6.67403369e-02 -1.42412780e-01 5.21985815e-01 -5.72184336e-01 2.52264246e-01 7.91829015e-03 -1.05733259e-01 3.40251911e-01 -8.53117379e-01 2.07158983e-01 -1.31678616e-01 -3.35702404e-01 -4.42556733e-01 -1.09366461e+00 -1.90391346e-02 1.70392560e-01 4.82309376e-01 4.53921680e-01 4.71108828e-03 -2.30352410e-03 5.11994676e-02 1.02538910e-01 -5.65270345e-02 -4.20139930e-02 8.66970933e-03 -8.16033294e-02 2.48575301e-01 1.62953161e-01 2.78231936e-02 1.21240901e-01 -3.14993633e-02 2.07158983e-01 9.32647363e-01 -1.07576511e-02 -2.91947949e-02 -3.14958024e-02 1.96293189e-01 7.49540951e-02 8.84269909e-02 1.94186183e-01 3.75282153e-01 4.71677901e-03 4.31349825e-02 -6.12568379e-02 -1.22832429e-01 5.44860904e-02 4.49127331e-02 -4.46464286e-02 6.44049862e-02 -6.34432974e-02 3.47485631e-02 -3.57932496e-02 -9.89002286e-03 6.21783525e-02 -1.31678616e-01 -1.07576511e-02 2.45482838e+00 -9.70421303e-02 -1.17589370e-01 -1.55741908e-01 -3.08046058e-02 -1.93818873e-01 7.49083880e-02 7.67291521e-02 -1.31762368e-01 4.12789539e-02 4.21152823e-02 -2.58528719e-01 -2.40023990e-01 -3.01464445e-01 -4.73539656e-02 2.40800483e-01 -1.13625395e-01 1.25139207e-01 9.74834800e-03 -4.12343578e-02 9.87617873e-02 -3.35702404e-01 -2.91947949e-02 -9.70421303e-02 2.23408330e+00 -3.00411324e-01 -4.00917139e-01 -8.44826003e-02 6.85175949e-02 -3.49076902e-02 2.02359643e-01 4.09475364e-02 -3.39239660e-02 1.16576059e-01 -1.39561982e-01 7.61057430e-02 2.40210913e-01 -4.30999603e-01 2.44261809e-01 -3.33175047e-01 2.55561956e-02 1.32482382e-02 -9.20422560e-02 3.18364998e-01 -4.42556733e-01 -3.14958024e-02 -1.17589370e-01 -3.00411324e-01 2.09720426e+00 -5.14102784e-01 -8.90011899e-02 9.25869978e-02 2.64278795e-01 2.02339288e-02 4.30138516e-02 1.19988640e-01 -2.79010532e-02 -1.34585031e-01 2.17217063e-01 1.62894422e-01 2.26474234e-01 4.41068047e-01 -1.07975761e+00 2.06575092e-01 -4.25617904e-02 -3.82618437e-01 5.39706282e-01 -1.09366461e+00 1.96293189e-01 -1.55741908e-01 -4.00917139e-01 -5.14102784e-01 -1.70549181e+00 1.06890459e-01 6.48395657e-02 2.55626981e-01 -7.05142835e-03 -6.52750829e-03 -2.62232291e-02 1.97400693e-03 1.66491876e-01 -6.12915685e-02 -3.83218137e-02 6.82878309e-02 1.50531270e-03 -1.36939378e-02 7.81936184e-02 -1.19113287e-02 -8.78853635e-02 1.03444338e-01 -1.90391346e-02 7.49540951e-02 -3.08046058e-02 -8.44826003e-02 -8.90011899e-02 1.06890459e-01 7.63241563e-01 -2.08258108e-02 -8.28144449e-02 4.08521934e-03 4.97774980e-02 1.97467121e-01 -8.61689966e-03 -8.85521131e-02 3.26336608e-02 1.96753831e-02 -3.51712925e-02 -3.03301439e-03 6.92996341e-02 6.09841771e-03 -2.15042800e-01 2.28135770e-02 -4.07170235e-02 1.70392560e-01 8.84269909e-02 -1.93818873e-01 6.85175949e-02 9.25869978e-02 6.48395657e-02 -2.08258108e-02 -4.74768823e-01 -4.18800128e-02 -2.57988231e-02 1.33369284e-01 1.11451453e-02 6.70184175e-03 1.52852492e-02 1.49187733e-01 7.90528504e-03 -9.52436820e-03 2.42311440e-02 4.65693698e-01 1.77838932e-01 1.64767651e-02 -4.37649468e-02 -2.70661856e-01 4.82309376e-01 1.94186183e-01 7.49083880e-02 -3.49076902e-02 2.64278795e-01 2.55626981e-01 -8.28144449e-02 -4.18800128e-02 -6.25253768e-01 1.17220819e-03 1.11479519e-02 1.74097194e-01 -1.61909460e-03 -1.81049264e-01 7.25135236e-02 2.44669930e-02 9.44835226e-02 -1.58895514e-03 -4.87107239e-01 -3.83774181e-01 -2.49406909e-02 -2.09195274e-01 6.21072104e-02 4.53921680e-01 3.75282153e-01 7.67291521e-02 2.02359643e-01 2.02339288e-02 -7.05142835e-03 4.08521934e-03 -2.57988231e-02 1.17220819e-03 -7.15138160e-01 6.69499498e-03 -1.64611138e-03 1.99230425e-01 1.55738906e-02 2.42083274e-02 9.09657799e-02 1.74574611e-02 3.66026282e-01 -6.51964644e-03 1.66830601e-02 -1.41883945e-01 1.50466367e-02 -1.83219256e-02 4.71108828e-03 4.71677901e-03 -1.31762368e-01 4.09475364e-02 4.30138516e-02 -6.52750829e-03 4.97774980e-02 1.33369284e-01 1.11479519e-02 6.69499498e-03 8.75538128e-01 -2.72119238e-02 -1.63950542e-02 6.35931764e-03 -2.27284124e-02 -4.41425269e-03 4.04264505e-03 -1.07176564e-02 -7.19175506e-03 4.06237997e-02 1.47258242e-02 -3.49131417e-02 -1.28863490e-01 -2.30352410e-03 4.31349825e-02 4.12789539e-02 -3.39239660e-02 1.19988640e-01 -2.62232291e-02 1.97467121e-01 1.11451453e-02 1.74097194e-01 -1.64611138e-03 -2.72119238e-02 7.76366120e-01 3.07599587e-03 5.68900637e-02 -2.18237129e-02 -1.06890265e-02 1.34071159e-03 1.61948811e-03 -4.52287980e-02 6.06539730e-02 -1.75059826e-02 -1.25610573e-01 -1.00471591e-03 5.11994676e-02 -6.12568379e-02 4.21152823e-02 1.16576059e-01 -2.79010532e-02 1.97400693e-03 -8.61689966e-03 6.70184175e-03 -1.61909460e-03 1.99230425e-01 -1.63950542e-02 3.07599587e-03 7.16371266e-01 -7.86277031e-03 -1.07285502e-02 -2.99845032e-02 -7.61778157e-03 -1.22878854e-01 1.10813024e-01 -1.23947605e-01 -8.47667718e-02 -1.96101650e-01 2.24558957e-01 1.02538910e-01 -1.22832429e-01 -2.58528719e-01 -1.39561982e-01 -1.34585031e-01 1.66491876e-01 -8.85521131e-02 1.52852492e-02 -1.81049264e-01 1.55738906e-02 6.35931764e-03 5.68900637e-02 -7.86277031e-03 3.19891456e+00 1.69988370e-02 7.27737784e-03 -6.44291741e-02 -1.42881909e-02 -3.76437594e-02 3.89192709e-02 -2.83002918e-01 1.95711769e-02 -5.34584506e-02 -5.65270345e-02 5.44860904e-02 -2.40023990e-01 7.61057430e-02 2.17217063e-01 -6.12915685e-02 3.26336608e-02 1.49187733e-01 7.25135236e-02 2.42083274e-02 -2.27284124e-02 -2.18237129e-02 -1.07285502e-02 1.69988370e-02 3.25920245e+00 -1.39442716e-02 -1.21347611e-02 -4.50278047e-02 9.06402772e-04 1.23675296e-02 3.92807294e-01 -7.66969379e-02 6.67403369e-02 -4.20139930e-02 4.49127331e-02 -3.01464445e-01 2.40210913e-01 1.62894422e-01 -3.83218137e-02 1.96753831e-02 7.90528504e-03 2.44669930e-02 9.09657799e-02 -4.41425269e-03 -1.06890265e-02 -2.99845032e-02 7.27737784e-03 -1.39442716e-02 3.19660717e+00 1.79839764e-02 -9.14134117e-02 1.79320238e-02 -4.91257564e-02 -1.91830301e-02 -4.70085222e-01 -1.42412780e-01 8.66970933e-03 -4.46464286e-02 -4.73539656e-02 -4.30999603e-01 2.26474234e-01 6.82878309e-02 -3.51712925e-02 -9.52436820e-03 9.44835226e-02 1.74574611e-02 4.04264505e-03 1.34071159e-03 -7.61778157e-03 -6.44291741e-02 -1.21347611e-02 1.79839764e-02 3.12536899e+00 -1.50940944e-02 9.15211632e-02 -6.21130683e-02 -7.69616324e-02 -2.24201687e-01 5.21985815e-01 -8.16033294e-02 6.44049862e-02 2.40800483e-01 2.44261809e-01 4.41068047e-01 1.50531270e-03 -3.03301439e-03 2.42311440e-02 -1.58895514e-03 3.66026282e-01 -1.07176564e-02 1.61948811e-03 -1.22878854e-01 -1.42881909e-02 -4.50278047e-02 -9.14134117e-02 -1.50940944e-02 2.85906938e+00 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + 0 23 46 69 92 115 138 161 184 207 230 253 276 299 322 345 368 391 414 437 460 483 506 529 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/result.ref b/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/result.ref similarity index 87% rename from tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/result.ref rename to tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/result.ref index 3fce0adcd5..b7e5a997dd 100644 --- a/tests/09_DeePKS/103_NO_KP_deepks_vdelta_r_2/result.ref +++ b/tests/09_DeePKS/24_NO_KP_deepks_vdelta_r_2/result.ref @@ -6,6 +6,6 @@ deepks_e_label 17.12676450564565 deepks_edelta 0.09815855485768665 deepks_hr_label_pass 0 deepks_vdelta_r_pass 0 -deepks_phialpha_r 73.40481582340394 +deepks_phialpha_r 40.10770566607966 deepks_gevdm 54.0 totaltimeref 1.81 diff --git a/tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/INPUT b/tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/INPUT similarity index 93% rename from tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/INPUT rename to tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/INPUT index dec208abeb..5a6f3b87f4 100644 --- a/tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/INPUT +++ b/tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/INPUT @@ -29,11 +29,11 @@ mixing_gg0 0 #Parameters (6.File) deepks_out_labels 1 -deepks_bandgap 1 deepks_v_delta 1 cal_force 1 cal_stress 1 deepks_out_freq_elec 1 -dft_functional lda +dft_functional pbe +deepks_out_base lda diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/KPT b/tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_1/KPT rename to tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/KPT diff --git a/tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/README b/tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/README similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/README rename to tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/README diff --git a/tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/STRU b/tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_out_freq_elec/STRU rename to tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/STRU diff --git a/tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/result.ref b/tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/result.ref new file mode 100644 index 0000000000..4707e8c814 --- /dev/null +++ b/tests/09_DeePKS/25_NO_GO_deepks_out_freq_elec/result.ref @@ -0,0 +1,27 @@ +etotref -466.0484517111885907 +etotperatomref -155.3494839037 +totalforceref 3.432943 +totalstressref 7.674750 +deepks_e_label 17.126958562184335 +deepks_edelta 0.0 +deepks_h_label 49.12707696738566 +deepks_vdelta 0.0 +deepks_vdp 176.08561725742982 +deepks_f_label 0.06676003678176294 +deepks_fdelta 0.0 +deepks_s_label 0.06851710382835817 +deepks_sdelta 0.0 +deepks_fpre 19.69171134871589 +deepks_spre 19.372132511297153 +deepks_e_label_elec 85.389836665688162 +deepks_edelta_elec .49279432475411510 +deepks_h_label_elec 246.793639290695066 +deepks_vdelta_elec 3.4234699193308799 +deepks_vdp_elec 881.06539843219689 +deepks_f_label_elec .06676003678176294 +deepks_fdelta_elec .017979102769780632 +deepks_s_label_elec .06851710382835817 +deepks_sdelta_elec .013725178909672755 +deepks_overlap 61.931587180384426 +deepks_overlap_elec 309.657935901922130 +totaltimeref 3.76 diff --git a/tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/INPUT b/tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/INPUT similarity index 93% rename from tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/INPUT rename to tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/INPUT index 9a82dfcb10..f2687c0e2b 100644 --- a/tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/INPUT +++ b/tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/INPUT @@ -29,11 +29,11 @@ mixing_gg0 0 #Parameters (6.File) deepks_out_labels 1 -deepks_bandgap 1 deepks_v_delta 1 cal_force 1 cal_stress 1 deepks_out_freq_elec 1 -dft_functional lda +dft_functional pbe +deepks_out_base lda diff --git a/tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/KPT b/tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_GO_deepks_vdelta_r_2/KPT rename to tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/KPT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/README b/tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/README similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/README rename to tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/README diff --git a/tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/STRU b/tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/STRU similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/STRU rename to tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/STRU diff --git a/tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/result.ref b/tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/result.ref new file mode 100644 index 0000000000..996128b56d --- /dev/null +++ b/tests/09_DeePKS/26_NO_KP_deepks_out_freq_elec/result.ref @@ -0,0 +1,27 @@ +etotref -466.0484517111889318 +etotperatomref -155.3494839037 +totalforceref 3.432943 +totalstressref 7.674750 +deepks_e_label 17.12695856218435 +deepks_edelta 0.0 +deepks_h_label 49.127076967385676 +deepks_vdelta 0.0 +deepks_vdp 176.0856172574296 +deepks_f_label 0.0667600367817765 +deepks_fdelta 0.0 +deepks_s_label 0.06851710382837811 +deepks_sdelta 0.0 +deepks_fpre 19.691711348715746 +deepks_spre 19.372132511297018 +deepks_e_label_elec 85.389836665688179 +deepks_edelta_elec .49279432475412220 +deepks_h_label_elec 246.793639290695098 +deepks_vdelta_elec 3.4234699193308906 +deepks_vdp_elec 881.06539843219701 +deepks_f_label_elec .0667600367817765 +deepks_fdelta_elec .017979102769778977 +deepks_s_label_elec .06851710382837811 +deepks_sdelta_elec .013725178909649378 +deepks_overlap 61.931587180384426 +deepks_overlap_elec 309.657935901922130 +totaltimeref 3.52 diff --git a/tests/09_DeePKS/104_NO_GO_deepks_out_2/INPUT b/tests/09_DeePKS/27_NO_GO_deepks_out_2/INPUT similarity index 100% rename from tests/09_DeePKS/104_NO_GO_deepks_out_2/INPUT rename to tests/09_DeePKS/27_NO_GO_deepks_out_2/INPUT diff --git a/tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/KPT b/tests/09_DeePKS/27_NO_GO_deepks_out_2/KPT similarity index 100% rename from tests/09_DeePKS/103_NO_KP_deepks_out_freq_elec/KPT rename to tests/09_DeePKS/27_NO_GO_deepks_out_2/KPT diff --git a/tests/09_DeePKS/104_NO_GO_deepks_out_2/README b/tests/09_DeePKS/27_NO_GO_deepks_out_2/README similarity index 100% rename from tests/09_DeePKS/104_NO_GO_deepks_out_2/README rename to tests/09_DeePKS/27_NO_GO_deepks_out_2/README diff --git a/tests/09_DeePKS/104_NO_GO_deepks_out_2/STRU b/tests/09_DeePKS/27_NO_GO_deepks_out_2/STRU similarity index 100% rename from tests/09_DeePKS/104_NO_GO_deepks_out_2/STRU rename to tests/09_DeePKS/27_NO_GO_deepks_out_2/STRU diff --git a/tests/09_DeePKS/104_NO_GO_deepks_out_2/result.ref b/tests/09_DeePKS/27_NO_GO_deepks_out_2/result.ref similarity index 100% rename from tests/09_DeePKS/104_NO_GO_deepks_out_2/result.ref rename to tests/09_DeePKS/27_NO_GO_deepks_out_2/result.ref diff --git a/tests/09_DeePKS/104_NO_KP_deepks_out_2/INPUT b/tests/09_DeePKS/28_NO_KP_deepks_out_2/INPUT similarity index 100% rename from tests/09_DeePKS/104_NO_KP_deepks_out_2/INPUT rename to tests/09_DeePKS/28_NO_KP_deepks_out_2/INPUT diff --git a/tests/09_DeePKS/104_NO_KP_deepks_out_2/KPT b/tests/09_DeePKS/28_NO_KP_deepks_out_2/KPT similarity index 100% rename from tests/09_DeePKS/104_NO_KP_deepks_out_2/KPT rename to tests/09_DeePKS/28_NO_KP_deepks_out_2/KPT diff --git a/tests/09_DeePKS/104_NO_KP_deepks_out_2/README b/tests/09_DeePKS/28_NO_KP_deepks_out_2/README similarity index 100% rename from tests/09_DeePKS/104_NO_KP_deepks_out_2/README rename to tests/09_DeePKS/28_NO_KP_deepks_out_2/README diff --git a/tests/09_DeePKS/104_NO_KP_deepks_out_2/STRU b/tests/09_DeePKS/28_NO_KP_deepks_out_2/STRU similarity index 100% rename from tests/09_DeePKS/104_NO_KP_deepks_out_2/STRU rename to tests/09_DeePKS/28_NO_KP_deepks_out_2/STRU diff --git a/tests/09_DeePKS/104_NO_KP_deepks_out_2/result.ref b/tests/09_DeePKS/28_NO_KP_deepks_out_2/result.ref similarity index 100% rename from tests/09_DeePKS/104_NO_KP_deepks_out_2/result.ref rename to tests/09_DeePKS/28_NO_KP_deepks_out_2/result.ref diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_s/INPUT b/tests/09_DeePKS/97_PW_ORB_deepks_s/INPUT similarity index 79% rename from tests/09_DeePKS/101_PW_ORB_deepks_s/INPUT rename to tests/09_DeePKS/97_PW_ORB_deepks_s/INPUT index 9f8840ad7b..c0676b867b 100644 --- a/tests/09_DeePKS/101_PW_ORB_deepks_s/INPUT +++ b/tests/09_DeePKS/97_PW_ORB_deepks_s/INPUT @@ -9,16 +9,16 @@ symmetry 0 #Parameters (2.Iteration) ecutwfc 20 -scf_thr 1e-8 -scf_nmax 50 +scf_thr 1e-8 +scf_nmax 50 #Parameters (3.Basis) basis_type pw gamma_only 1 #Parameters (4.Smearing) -smearing_method gaussian -smearing_sigma 0.1 +smearing_method gaussian +smearing_sigma 0.1 #Parameters (5.Mixing) mixing_type broyden diff --git a/tests/09_DeePKS/104_NO_GO_deepks_out_2/KPT b/tests/09_DeePKS/97_PW_ORB_deepks_s/KPT similarity index 100% rename from tests/09_DeePKS/104_NO_GO_deepks_out_2/KPT rename to tests/09_DeePKS/97_PW_ORB_deepks_s/KPT diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_d/README b/tests/09_DeePKS/97_PW_ORB_deepks_s/README similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_d/README rename to tests/09_DeePKS/97_PW_ORB_deepks_s/README diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_s/STRU b/tests/09_DeePKS/97_PW_ORB_deepks_s/STRU similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_s/STRU rename to tests/09_DeePKS/97_PW_ORB_deepks_s/STRU diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_s/descriptor.dat.ref b/tests/09_DeePKS/97_PW_ORB_deepks_s/descriptor.dat.ref similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_s/descriptor.dat.ref rename to tests/09_DeePKS/97_PW_ORB_deepks_s/descriptor.dat.ref diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_s/jle.orb.ref b/tests/09_DeePKS/97_PW_ORB_deepks_s/jle.orb.ref similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_s/jle.orb.ref rename to tests/09_DeePKS/97_PW_ORB_deepks_s/jle.orb.ref diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_s/result.ref b/tests/09_DeePKS/97_PW_ORB_deepks_s/result.ref similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_s/result.ref rename to tests/09_DeePKS/97_PW_ORB_deepks_s/result.ref diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_p/INPUT b/tests/09_DeePKS/98_PW_ORB_deepks_p/INPUT similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_p/INPUT rename to tests/09_DeePKS/98_PW_ORB_deepks_p/INPUT diff --git a/tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/KPT b/tests/09_DeePKS/98_PW_ORB_deepks_p/KPT similarity index 100% rename from tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/KPT rename to tests/09_DeePKS/98_PW_ORB_deepks_p/KPT diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_p/README b/tests/09_DeePKS/98_PW_ORB_deepks_p/README similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_p/README rename to tests/09_DeePKS/98_PW_ORB_deepks_p/README diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_d/STRU b/tests/09_DeePKS/98_PW_ORB_deepks_p/STRU similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_d/STRU rename to tests/09_DeePKS/98_PW_ORB_deepks_p/STRU diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_p/descriptor.dat.ref b/tests/09_DeePKS/98_PW_ORB_deepks_p/descriptor.dat.ref similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_p/descriptor.dat.ref rename to tests/09_DeePKS/98_PW_ORB_deepks_p/descriptor.dat.ref diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_p/jle.orb.ref b/tests/09_DeePKS/98_PW_ORB_deepks_p/jle.orb.ref similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_p/jle.orb.ref rename to tests/09_DeePKS/98_PW_ORB_deepks_p/jle.orb.ref diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_p/result.ref b/tests/09_DeePKS/98_PW_ORB_deepks_p/result.ref similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_p/result.ref rename to tests/09_DeePKS/98_PW_ORB_deepks_p/result.ref diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_d/INPUT b/tests/09_DeePKS/99_PW_ORB_deepks_d/INPUT similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_d/INPUT rename to tests/09_DeePKS/99_PW_ORB_deepks_d/INPUT diff --git a/tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/KPT b/tests/09_DeePKS/99_PW_ORB_deepks_d/KPT similarity index 100% rename from tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/KPT rename to tests/09_DeePKS/99_PW_ORB_deepks_d/KPT diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_s/README b/tests/09_DeePKS/99_PW_ORB_deepks_d/README similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_s/README rename to tests/09_DeePKS/99_PW_ORB_deepks_d/README diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_p/STRU b/tests/09_DeePKS/99_PW_ORB_deepks_d/STRU similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_p/STRU rename to tests/09_DeePKS/99_PW_ORB_deepks_d/STRU diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_d/descriptor.dat.ref b/tests/09_DeePKS/99_PW_ORB_deepks_d/descriptor.dat.ref similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_d/descriptor.dat.ref rename to tests/09_DeePKS/99_PW_ORB_deepks_d/descriptor.dat.ref diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_d/jle.orb.ref b/tests/09_DeePKS/99_PW_ORB_deepks_d/jle.orb.ref similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_d/jle.orb.ref rename to tests/09_DeePKS/99_PW_ORB_deepks_d/jle.orb.ref diff --git a/tests/09_DeePKS/101_PW_ORB_deepks_d/result.ref b/tests/09_DeePKS/99_PW_ORB_deepks_d/result.ref similarity index 100% rename from tests/09_DeePKS/101_PW_ORB_deepks_d/result.ref rename to tests/09_DeePKS/99_PW_ORB_deepks_d/result.ref diff --git a/tests/09_DeePKS/CASES1 b/tests/09_DeePKS/CASES1 index e22d970cbd..217c3b26c8 100644 --- a/tests/09_DeePKS/CASES1 +++ b/tests/09_DeePKS/CASES1 @@ -1,2 +1,2 @@ -100_NO_GO_deepks_UT -100_NO_KP_deepks_UT \ No newline at end of file +NO_GO_deepks_UT +NO_KP_deepks_UT diff --git a/tests/09_DeePKS/CASES_CPU.txt b/tests/09_DeePKS/CASES_CPU.txt index e90fd05bef..6d0393047d 100644 --- a/tests/09_DeePKS/CASES_CPU.txt +++ b/tests/09_DeePKS/CASES_CPU.txt @@ -1,31 +1,28 @@ -#101_PW_ORB_deepks_s -#101_PW_ORB_deepks_p -#101_PW_ORB_deepks_d -102_NO_GO_deepks_scf -102_NO_KP_deepks_scf -102_NO_GO_deepks_md -102_NO_KP_deepks_md -102_NO_GO_deepks_nscf -102_NO_KP_deepks_nscf -102_NO_GO_deepks_relax -102_NO_KP_deepks_relax -103_NO_GO_deepks_basic -103_NO_KP_deepks_basic -103_NO_GO_deepks_bandgap -103_NO_GO_deepks_bandgap_2 -103_NO_GO_deepks_bandgap_3 -103_NO_KP_deepks_bandgap -103_NO_KP_deepks_bandgap_2 -103_NO_KP_deepks_bandgap_3 -103_NO_GO_deepks_vdelta_1 -103_NO_KP_deepks_vdelta_1 -103_NO_GO_deepks_vdelta_2 -103_NO_KP_deepks_vdelta_2 -103_NO_GO_deepks_vdelta_r_1 -103_NO_KP_deepks_vdelta_r_1 -103_NO_GO_deepks_vdelta_r_2 -103_NO_KP_deepks_vdelta_r_2 -103_NO_GO_deepks_out_freq_elec -103_NO_KP_deepks_out_freq_elec -104_NO_GO_deepks_out_2 -104_NO_KP_deepks_out_2 \ No newline at end of file +01_NO_GO_deepks_scf +02_NO_KP_deepks_scf +03_NO_GO_deepks_md +04_NO_KP_deepks_md +05_NO_GO_deepks_nscf +06_NO_KP_deepks_nscf +07_NO_GO_deepks_relax +08_NO_KP_deepks_relax +09_NO_GO_deepks_basic +10_NO_KP_deepks_basic +11_NO_GO_deepks_bandgap +12_NO_GO_deepks_bandgap_2 +13_NO_GO_deepks_bandgap_3 +14_NO_KP_deepks_bandgap +15_NO_KP_deepks_bandgap_2 +16_NO_KP_deepks_bandgap_3 +17_NO_GO_deepks_vdelta_1 +18_NO_GO_deepks_vdelta_2 +19_NO_KP_deepks_vdelta_1 +20_NO_KP_deepks_vdelta_2 +21_NO_GO_deepks_vdelta_r_1 +22_NO_GO_deepks_vdelta_r_2 +23_NO_KP_deepks_vdelta_r_1 +24_NO_KP_deepks_vdelta_r_2 +25_NO_GO_deepks_out_freq_elec +26_NO_KP_deepks_out_freq_elec +27_NO_GO_deepks_out_2 +28_NO_KP_deepks_out_2 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/E_delta_bands_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/E_delta_bands_ref.dat new file mode 100644 index 0000000000..7e497eb30a --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/E_delta_bands_ref.dat @@ -0,0 +1 @@ +-0.08058091803 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/E_delta_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/E_delta_ref.dat new file mode 100644 index 0000000000..494c177b48 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/E_delta_ref.dat @@ -0,0 +1 @@ +-0.3135463017 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/F_delta_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/F_delta_ref.dat new file mode 100644 index 0000000000..96be6564a5 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/F_delta_ref.dat @@ -0,0 +1,5 @@ +-0.001966690223 0.0003863484866 -0.0002775679931 +0.0001490387822 0.0001336996716 -0.010866736 +-0.009536649342 -0.0001507865891 0.002944084409 +0.005665599528 0.00917496669 0.003914146719 +0.005688701256 -0.009544228259 0.004286072869 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/INPUT b/tests/09_DeePKS/NO_GO_deepks_UT/INPUT similarity index 100% rename from tests/09_DeePKS/100_NO_GO_deepks_UT/INPUT rename to tests/09_DeePKS/NO_GO_deepks_UT/INPUT diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/KPT b/tests/09_DeePKS/NO_GO_deepks_UT/KPT similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/KPT rename to tests/09_DeePKS/NO_GO_deepks_UT/KPT diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/STRU b/tests/09_DeePKS/NO_GO_deepks_UT/STRU similarity index 100% rename from tests/09_DeePKS/100_NO_GO_deepks_UT/STRU rename to tests/09_DeePKS/NO_GO_deepks_UT/STRU diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/S_I_mu_alpha_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/S_I_mu_alpha_ref.dat similarity index 100% rename from tests/09_DeePKS/100_NO_GO_deepks_UT/S_I_mu_alpha_ref.dat rename to tests/09_DeePKS/NO_GO_deepks_UT/S_I_mu_alpha_ref.dat diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/descriptor_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/descriptor_ref.dat new file mode 100644 index 0000000000..b3de52d081 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/descriptor_ref.dat @@ -0,0 +1,24 @@ +C atom_index 1 n_descriptor 18 +1.056940269 0.1266618616 0.8734002808 0.902430529 0.970664598 0.007596404359 0.008745980544 0.01021958025 +-7.027367648e-18 2.237266295e-07 0.01497960358 0.01708725446 0.02300553405 5.14127977e-19 5.904406668e-08 0.004380552522 +0.004727727944 0.005122035518 + +H atom_index 1 n_descriptor 18 +1.400632299 0.04117702106 0.1027305888 0.1041966275 0.1294135661 0.01642938298 0.02242890128 0.02280997959 +-5.263808249e-16 2.234016552e-07 0.015913677 0.07687398759 0.07817548593 -4.778097868e-16 4.735625439e-10 0.003893476503 +0.01697098872 0.01735324613 + +H atom_index 2 n_descriptor 18 +1.181670195 0.04550076051 0.04232612155 0.04377413388 0.1245819176 0.01174657886 0.01215933419 0.02044853859 +7.197982145e-16 9.606563449e-09 0.03052951885 0.0335141051 0.03505048493 3.93594073e-16 2.191861746e-09 0.004314213193 +0.0101011116 0.0105768787 + +H atom_index 3 n_descriptor 18 +1.236604132 0.04560187401 0.05263608364 0.05494823354 0.1308693603 0.01393374205 0.01453588332 0.01879213875 +-5.446263208e-16 1.187865741e-07 0.02895598367 0.04150173332 0.04376939009 -1.586846631e-16 2.888713946e-08 0.003184943987 +0.0118208337 0.01253806203 + +H atom_index 4 n_descriptor 18 +1.26662277 0.04521520737 0.05931915163 0.06187700248 0.1329947817 0.01527065544 0.01573939534 0.01794575804 +-1.230035378e-15 1.136899733e-07 0.02742236223 0.04651814046 0.04908940065 -4.340124768e-16 2.520267511e-08 0.002668663015 +0.01279224077 0.01358768798 diff --git a/tests/09_DeePKS/100_NO_GO_deepks_UT/dm b/tests/09_DeePKS/NO_GO_deepks_UT/dm similarity index 100% rename from tests/09_DeePKS/100_NO_GO_deepks_UT/dm rename to tests/09_DeePKS/NO_GO_deepks_UT/dm diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/dphialpha_x_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/dphialpha_x_ref.dat new file mode 100644 index 0000000000..de02a5dfd4 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/dphialpha_x_ref.dat @@ -0,0 +1,230 @@ +iat : 0 +ad : 0 2.003222249 +iw : 6 +-0.1350474564 0.04625626275 0.05280537895 0.05467537292 -0.1276010244 -0.02084843237 +-0.03616664702 0.05037898374 0.006694914847 -0.01002143973 0.06008070704 0.1087221695 +0.02421620678 0.0006207542169 0.008786092567 -0.02577915935 -0.05270072757 -0.02123106461 + +ad : 1 1.950638213 +iw : 7 +-0.1397691115 0.04496369775 0.05496396384 0.06169280578 0.1314977421 -0.02048668373 +-0.04045757546 -0.04901307083 0.005223674626 -0.01222018763 -0.06249528398 0.1143462361 +-0.02923601154 0.002174158519 0.01048710558 0.02521862919 -0.05355871275 0.02508972439 + +ad : 2 1.709269535 +iw : 4 +-0.006829627906 0.001349733251 -0.007590491732 0.1840226174 -2.14203587e-05 0.001783792571 +-0.08281527996 5.033860527e-06 -0.008043773926 0.1835376919 -2.91738053e-05 0.003594314003 +0.0005179431497 0.002368988524 -0.08320681159 6.982128978e-06 -0.001629049628 -0.000234809524 + +ad : 3 2.100474535 +iw : 5 +0.2607979876 -0.09804316647 -0.09329187015 -0.1758517674 8.08727981e-05 0.040040435 +0.06496091736 -3.471022727e-05 -0.02369913269 0.08759528412 -3.459156927e-05 0.08095162744 +-7.593454516e-05 0.006126363268 -0.03818590047 1.618625744e-05 -0.02928302662 3.310256954e-05 + +ad : 4 0 +iw : 0 +0 0 0 0.3093059965 0 0 +-0.2658882637 0 0 0 0 0 +0 0 0 0 0 0 + +iw : 1 +0 0 0 0 0 0 +0 0 0 0.606887676 0 0 +0 0 0.1361643547 0 0 0 + +iw : 2 +-0.7216730379 -0.5231309515 0 0 0 0 +0 0 -0.3503867631 0 0 0.606887676 +0 -0.07861452683 0 0 0.1361643547 0 + +iw : 3 +0 0 0 0 0 0 +0 0 0 0 0 0 +0.606887676 0 0 0 0 0.1361643547 + +iat : 1 +ad : 0 3.03052076 +iw : 6 +-0.03361307734 0.01773152453 0.02920995683 0.01939510667 -0.02004916746 -0.01648705289 +-0.01181806134 0.01131640441 -0.01655478877 -0.01233244137 0.0198650031 0.01336705666 +0.008464756848 0.009957178313 0.007903441778 -0.01179993724 -0.008154075019 -0.005424774456 + +ad : 1 2.994710688 +iw : 7 +-0.03426816203 0.01797221099 0.03006974218 0.02087997662 0.02029674451 -0.01688631613 +-0.01268506067 -0.01139807725 -0.01739294908 -0.01357817298 -0.02032427298 0.01373360596 +-0.00916511709 0.01042438206 0.008662563596 0.01202845911 -0.008354406241 0.005847134938 + +ad : 2 1.709269535 +iw : 0 +0.006093857275 -0.0005597980386 -0.004265753606 0.1681515226 -1.203795163e-05 0.0008310689207 +-0.06237591619 2.345275512e-06 0.001841323432 -0.102375067 3.344934242e-06 -0.002003968428 +-0.0002889023181 -0.0009024212975 0.03784314671 -2.320247674e-06 0.0007408459976 0.0001067933153 + +iw : 1 +0.01039663673 0.003727798564 -0.007950018959 0.3314987894 -4.076042507e-05 -0.00467138667 +-0.07766430904 -8.896378867e-06 0.008907178214 -0.2511887274 4.354983128e-05 -0.007987202529 +-0.00115094873 0.003394364571 0.0285872455 1.659331541e-05 0.001925265582 0.0002776997246 + +iw : 2 +-0.3359639025 0.06576344403 0.3314987894 0.01947585235 0.0009354891918 -0.07766430904 +-0.00455783962 -0.0002191685883 -0.3257829611 -0.02396581347 -0.00115094873 0.156427125 +-6.763149728e-05 0.09709097749 0.00577508498 0.0002776997246 -0.06976195976 1.629728299e-05 + +iw : 3 +2.933929656e-05 1.051984314e-05 -4.076042507e-05 0.0009354891918 0.00649367967 -8.896378867e-06 +-0.0002191685883 -0.001518901998 6.419772647e-05 -0.00115094873 -0.007991408411 1.239540977e-08 +0.1566567885 1.721253833e-07 0.0002776997246 0.001924553817 2.097492169e-09 -0.06981730071 + +ad : 3 3.113220902 +iw : 5 +0.06899082042 -0.03684426631 -0.05723703775 -0.0223028608 -0.0001032801252 0.03265658527 +0.01202886452 5.892646346e-05 0.02940260284 0.02688751635 9.753508468e-05 0.003126203256 +4.851659279e-05 -0.01783955235 -0.01563146843 -5.840493132e-05 -0.001468439791 -2.820586249e-05 + +ad : 4 0 +iw : 4 +0 0 0 0.5483938892 0 0 +0.08221087936 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 2 +ad : 0 3.347258395 +iw : 6 +-0.0723338245 0.03971025247 0.0006898735761 -0.04791190265 -0.03805751864 -0.0004034905059 +0.02765875064 0.02225892973 0.01795264243 0.0005671478247 0.0004122198951 -0.008361866562 +-0.03128723821 -0.01080242851 -0.0003438165665 -0.0002522643473 0.004798530078 0.01896696125 + +ad : 1 3.303653192 +iw : 7 +-0.07601168647 0.04154537934 0.0004418801603 -0.05075935582 0.03960835712 -0.0002573678864 +0.02915130034 -0.02306942034 0.01894104367 0.0003664315686 -0.0002615867077 -0.009362189828 +0.03284544936 -0.01133897573 -0.0002211409945 0.0001594393374 0.005349961028 -0.01982218771 + +ad : 2 2.100474535 +iw : 0 +-0.2663347691 0.05771323962 -0.07464695722 -0.1099817578 6.470990763e-05 0.01701249595 +-0.001059809364 -1.474778186e-05 -0.01487787033 -0.02497091863 1.555418462e-05 0.007826508445 +2.164677434e-05 0.01732069528 -0.005031870219 -2.212724997e-06 -0.0274478084 4.362024511e-06 + +iw : 1 +0.1536572536 -0.01317595074 -0.1525024244 0.1390095389 -5.966802893e-05 0.07571363693 +-0.01442310271 1.236338045e-05 -0.1262493673 -0.1014550923 4.424445264e-05 0.08096904902 +-7.024858364e-05 0.04300086337 0.05540286391 -2.472239382e-05 -0.007674760246 1.515614345e-05 + +iw : 2 +0.2457898752 0.03878203729 0.1390095389 -0.01621676215 -0.0001205045022 -0.01442310271 +0.1357043875 1.250309027e-05 0.08548426147 0.07527564688 -7.024858364e-05 -0.06702697589 +-6.525490574e-05 -0.07248752816 0.02293654514 1.515614345e-05 0.108068528 -1.988321792e-05 + +iw : 3 +-0.000133202304 1.142195994e-05 -5.966802893e-05 -0.0001205045022 -0.221333205 1.236338045e-05 +1.250309027e-05 0.08997556485 -2.067892859e-05 -7.024858364e-05 -0.08666245116 -0.0001453163133 +-0.1824912005 2.020917766e-05 1.515614345e-05 0.03828606564 3.984249839e-05 0.07288641755 + +ad : 3 3.113220902 +iw : 4 +-0.06899082042 0.03684426631 -0.05723703775 -0.0223028608 -0.0001032801252 0.03265658527 +0.01202886452 5.892646346e-05 -0.02940260284 -0.02688751635 -9.753508468e-05 -0.003126203256 +-4.851659279e-05 0.01783955235 0.01563146843 5.840493132e-05 0.001468439791 2.820586249e-05 + +ad : 4 0 +iw : 5 +0 0 0 0.5483938892 0 0 +0.08221087936 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 3 +ad : 0 3.245352337 +iw : 7 +0.000721544508 -0.0003918528057 2.87386954e-06 0.02246307657 -0.0007802851134 -1.664130893e-06 +-0.01349333682 0.000451828639 -0.0001806214982 7.850402081e-05 -3.532205435e-06 -0.0006461714531 +-0.0213146484 0.0001073910517 -4.931004344e-05 2.141314447e-06 0.0003953742329 0.01338818353 + +ad : 1 2.003222249 +iw : 0 +0.1331676332 -0.0236772392 0.03878778757 0.07862238791 -0.09372835738 -0.007550352991 +-0.04557486779 0.0182449742 0.01234096871 0.02243776458 -0.02126402978 -0.06395870013 +-0.05421950951 -0.009265299224 -0.01257554326 0.002185228131 0.02042412425 0.03038804444 + +iw : 1 +-0.08330306541 1.29688427e-05 0.07715604042 -0.03241820167 0.09862242065 -0.03889072106 +0.0256777908 -0.01256018894 0.0671070985 0.02342557455 -0.06641287304 0.09724748126 +0.01522566622 -0.01912321935 -0.01393096994 0.03878635223 -0.02947055413 -0.02221435861 + +iw : 2 +-0.1383034797 0.08028099243 -0.03241820167 0.2796626 0.07833663588 0.0256777908 +-0.1228102666 -0.06204883814 0.03257930804 0.1098202121 0.01522566622 -0.02593797641 +-0.265373942 -0.01763613309 -0.05341778868 -0.02221435861 -0.01393997283 0.1290808757 + +iw : 3 +0.2012968507 -3.13384289e-05 0.09862242065 0.07833663588 -0.1203460042 -0.01256018894 +-0.06204883814 -0.0137375867 0.04987583284 0.01522566622 -0.0846747504 -0.1125735924 +-0.007065465833 -0.03962942665 -0.02221435861 0.005523319583 0.02165434308 0.03055568146 + +ad : 2 3.03052076 +iw : 4 +0.03361307734 -0.01773152453 0.02920995683 0.01939510667 -0.02004916746 -0.01648705289 +-0.01181806134 0.01131640441 0.01655478877 0.01233244137 -0.0198650031 -0.01336705666 +-0.008464756848 -0.009957178313 -0.007903441778 0.01179993724 0.008154075019 0.005424774456 + +ad : 3 3.347258395 +iw : 5 +0.0723338245 -0.03971025247 0.0006898735761 -0.04791190265 -0.03805751864 -0.0004034905059 +0.02765875064 0.02225892973 -0.01795264243 -0.0005671478247 -0.0004122198951 0.008361866562 +0.03128723821 0.01080242851 0.0003438165665 0.0002522643473 -0.004798530078 -0.01896696125 + +ad : 4 0 +iw : 6 +0 0 0 0.5483938892 0 0 +0.08221087936 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 4 +ad : 0 3.245352337 +iw : 6 +-0.000721544508 0.0003918528057 2.87386954e-06 0.02246307657 -0.0007802851134 -1.664130893e-06 +-0.01349333682 0.000451828639 0.0001806214982 -7.850402081e-05 3.532205435e-06 0.0006461714531 +0.0213146484 -0.0001073910517 4.931004344e-05 -2.141314447e-06 -0.0003953742329 -0.01338818353 + +ad : 1 1.950638213 +iw : 0 +0.1352370737 -0.02139849526 0.03849455423 0.08612595488 0.09209574075 -0.006981143132 +-0.04767313063 -0.01670193514 0.01439519809 0.0244759048 0.01907423473 -0.06259436548 +0.05855702523 -0.009312570481 -0.0126507914 -0.001868050578 0.01981822045 -0.03026620332 + +iw : 1 +-0.08462388184 -0.004460470853 0.08230336422 -0.03722658832 -0.09975742083 -0.0405957859 +0.02851969087 0.007721565221 0.06888091766 0.02696882757 0.07128215191 0.100652887 +-0.01996929179 -0.01715145419 -0.01610141766 -0.04093670546 -0.02708233024 0.02596162739 + +iw : 2 +-0.1519808972 0.085880924 -0.03722658832 0.2976955927 -0.08906221401 0.02851969087 +-0.1257182891 0.06823152284 0.03422283785 0.1184341766 -0.01996929179 -0.01984729619 +0.2833461368 -0.0174605483 -0.0554206592 0.02596162739 -0.02101741686 -0.1325903563 + +iw : 3 +-0.2024571849 -0.01067138912 -0.09975742083 -0.08906221401 -0.114662823 0.007721565221 +0.06823152284 -0.02534993002 -0.0575056558 -0.01996929179 -0.08287159733 0.1124612673 +-0.01245957016 0.04377911424 0.02596162739 -0.001255998721 -0.01582600069 0.03515855598 + +ad : 2 2.994710688 +iw : 4 +0.03426816203 -0.01797221099 0.03006974218 0.02087997662 0.02029674451 -0.01688631613 +-0.01268506067 -0.01139807725 0.01739294908 0.01357817298 0.02032427298 -0.01373360596 +0.00916511709 -0.01042438206 -0.008662563596 -0.01202845911 0.008354406241 -0.005847134938 + +ad : 3 3.303653192 +iw : 5 +0.07601168647 -0.04154537934 0.0004418801603 -0.05075935582 0.03960835712 -0.0002573678864 +0.02915130034 -0.02306942034 -0.01894104367 -0.0003664315686 0.0002615867077 0.009362189828 +-0.03284544936 0.01133897573 0.0002211409945 -0.0001594393374 -0.005349961028 0.01982218771 + +ad : 4 0 +iw : 7 +0 0 0 0.5483938892 0 0 +0.08221087936 0 0 0 0 0 +0 0 0 0 0 0 + diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/dphialpha_y_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/dphialpha_y_ref.dat new file mode 100644 index 0000000000..8a10e9a47e --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/dphialpha_y_ref.dat @@ -0,0 +1,230 @@ +iat : 0 +ad : 0 2.003222249 +iw : 6 +-0.2419517899 0.08287298308 0.09460641687 -0.1276010244 -0.1027137465 -0.03735216985 +0.05037898374 0.0259731667 0.01199464747 0.06008070704 0.0640849369 -0.01571365141 +-0.08643497841 0.001112146781 -0.02577915935 -0.02301113796 0.01758282642 0.03103642305 + +ad : 1 1.950638213 +iw : 7 +0.2504917182 -0.08058314019 -0.09850543939 0.1314977421 -0.1006021361 0.03671587056 +-0.04901307083 0.02003451632 -0.009361776849 -0.06249528398 0.06491169556 0.02039623183 +-0.08665248798 -0.003896488266 0.02521862919 -0.02063780877 -0.02152262121 0.02755000405 + +ad : 2 1.709269535 +iw : 4 +-0.0009847079011 0.0001946069412 -0.001094410601 -2.14203587e-05 0.1841680939 0.0002571903862 +5.033860527e-06 -0.08284946746 -0.001159765634 -2.91738053e-05 0.183735826 -0.0005187937213 +0.003596170665 0.0003415649797 6.982128978e-06 -0.08325423077 0.0002350130902 -0.00162949398 + +ad : 3 2.100474535 +iw : 5 +-7.369527365e-05 2.770465389e-05 2.636205119e-05 8.08727981e-05 0.1103465228 -1.131446926e-05 +-3.471022727e-05 -0.05787405226 6.696808074e-06 -3.459156927e-05 -0.03481977029 -8.324409213e-05 +-0.1068191634 -1.731163732e-06 1.618625744e-05 0.01909515464 4.138108232e-05 0.05857960652 + +ad : 4 0 +iw : 0 +0 0 0 0 0.3093059965 0 +0 -0.2658882637 0 0 0 0 +0 0 0 0 0 0 + +iw : 1 +0 0 0 0 0 0 +0 0 0 0 0.606887676 0 +0 0 0 0.1361643547 0 0 + +iw : 2 +0 0 0 0 0 0 +0 0 0 0 0 0 +0.606887676 0 0 0 0 0.1361643547 + +iw : 3 +-0.7216730379 -0.5231309515 0 0 0 0 +0 0 -0.3503867631 0 0 -0.606887676 +0 -0.07861452683 0 0 -0.1361643547 0 + +iat : 1 +ad : 0 3.03052076 +iw : 6 +-0.06231479607 0.0328722159 0.05415191488 -0.02004916746 -0.006959079608 -0.03056510799 +0.01131640441 0.003057101456 -0.03069068256 0.0198650031 0.01377966495 -0.006858131403 +-0.005101773604 0.01845946831 -0.01179993724 -0.007607314208 0.0044704288 0.002816526743 + +ad : 1 2.994710688 +iw : 7 +0.06399737535 -0.03356393412 -0.05615663238 0.02029674451 -0.006156995985 0.03153597531 +-0.01139807725 0.0024981379 0.03248213575 -0.02032427298 0.01349546986 0.007373732968 +-0.004877680378 -0.01946801498 0.01202845911 -0.007360356692 -0.004786944954 0.002660260649 + +ad : 2 1.709269535 +iw : 0 +0.0008786231825 -8.071267706e-05 -0.0006150439435 -1.203795163e-05 0.1682332784 0.0001198249954 +2.345275512e-06 -0.06239184415 0.000265485288 3.344934242e-06 -0.1023977841 0.0002889998407 +-0.002004181305 -0.000130112708 -2.320247674e-06 0.03785890469 -0.0001068609629 0.0007409936615 + +iw : 1 +0.001499005579 0.0005374806285 -0.001146247876 -4.076042507e-05 0.3317756141 -0.0006735288403 +-8.896378867e-06 -0.07760388922 0.0012842528 4.354983128e-05 -0.2514844964 0.001152875958 +-0.00799140936 0.0004894055222 1.659331541e-05 0.02847455188 -0.0002773742838 0.001924555196 + +iw : 2 +2.933929656e-05 1.051984314e-05 -4.076042507e-05 0.0009354890877 0.006493680392 -8.896378867e-06 +-0.0002191684968 -0.001518902633 6.419772647e-05 -0.001150948593 -0.00799140936 1.240076719e-08 +0.1566567885 1.721253833e-07 0.0002776995258 0.001924555196 2.089708294e-09 -0.06981730069 + +iw : 3 +-0.3361631605 0.06569199844 0.3317756141 0.006493680392 0.002808844238 -0.07760388922 +-0.001518902633 -0.0006569869199 -0.3262189604 -0.00799140936 -0.003456700508 -0.156886529 +-6.765629346e-05 0.0970898085 0.001924555196 0.0008324480933 0.06987262866 1.629309579e-05 + +ad : 3 3.113220902 +iw : 5 +0.0001446850818 -7.726847793e-05 -0.000120035469 -0.0001032801252 0.02694443645 6.848622297e-05 +5.892646346e-05 -0.01606917523 6.166208737e-05 9.753508468e-05 -0.01962036017 7.736396234e-05 +-0.01688162066 -3.741247133e-05 -5.840493132e-05 0.01221788796 -4.717260467e-05 0.01051243443 + +ad : 4 0 +iw : 4 +0 0 0 0 0.5483938892 0 +0 0.08221087936 0 0 0 0 +0 0 0 0 0 0 + +iat : 2 +ad : 0 3.347258395 +iw : 6 +-0.04080390077 0.02240076773 0.0003891614074 -0.03805751864 -0.001915091852 -0.0002276111719 +0.02225892973 0.0007563193738 0.01012718248 0.0004122198951 6.893351115e-05 -0.02276748278 +-0.006741260402 -0.00609370822 -0.0002522643473 -3.892660341e-05 0.01411266219 0.003806775047 + +ad : 1 3.303653192 +iw : 7 +0.04210273754 -0.02301191151 -0.0002447566325 0.03960835712 -0.001189986814 0.0001425556132 +-0.02306942034 0.0002802061433 -0.0104914103 -0.0002615867077 3.905903946e-05 0.0241586542 +-0.006320827215 0.00628063843 0.0001594393374 -2.160463582e-05 -0.01492230134 0.003496224483 + +ad : 2 2.100474535 +iw : 0 +7.525983568e-05 -1.630838116e-05 2.109344474e-05 6.470990763e-05 0.1190181699 -4.80732446e-06 +-1.474778186e-05 -0.05325028691 4.204130313e-06 1.555418462e-05 0.03007331314 4.992829334e-05 +0.09225810862 -4.894414217e-06 -2.212724997e-06 -0.01286241554 -1.454423241e-05 -0.03945897561 + +iw : 1 +-4.341986477e-05 3.723208543e-06 4.309353764e-05 -5.966802893e-05 -0.07214783734 -2.139486291e-05 +1.236338045e-05 0.02932928905 3.567505163e-05 4.424445264e-05 0.05512025809 -7.185740214e-05 +-0.08666244842 -1.215101551e-05 -2.472239382e-05 -0.03208646509 2.38061717e-05 0.03828608507 + +iw : 2 +-0.000133202304 1.142195994e-05 -5.966802893e-05 -0.0001205045044 -0.2213332127 1.236338045e-05 +1.25031034e-05 0.08997561133 -2.067892859e-05 -7.024858287e-05 -0.08666244842 -0.0001453163086 +-0.1824911921 2.020917766e-05 1.515614894e-05 0.03828608507 3.984253209e-05 0.07288647718 + +iw : 3 +-0.225595715 0.07920286461 -0.07214783734 -0.2213332127 0.0001876304435 0.02932928905 +0.08997561133 -7.627486022e-05 0.01230422882 -0.08666244842 7.346622141e-05 -0.2162999007 +0.0002253777162 -0.0009698828101 0.03828608507 -3.245619445e-05 0.103293056 -9.95682484e-05 + +ad : 3 3.113220902 +iw : 4 +-0.0001446850818 7.726847793e-05 -0.000120035469 -0.0001032801252 0.02694443645 6.848622297e-05 +5.892646346e-05 -0.01606917523 -6.166208737e-05 -9.753508468e-05 0.01962036017 -7.736396234e-05 +0.01688162066 3.741247133e-05 5.840493132e-05 -0.01221788796 4.717260467e-05 -0.01051243443 + +ad : 4 0 +iw : 5 +0 0 0 0 0.5483938892 0 +0 0.08221087936 0 0 0 0 +0 0 0 0 0 0 + +iat : 3 +ad : 0 3.245352337 +iw : 7 +0.09229871044 -0.05012512499 0.000367620361 -0.0007802851134 -0.07734352942 -0.0002128727109 +0.000451828639 0.04430025961 -0.02310478588 -3.532205435e-06 -0.0003733019025 -0.04001282998 +0.0007923443537 0.01373727536 2.141314447e-06 0.0002245864126 0.02379012272 -0.0004766913181 + +ad : 1 2.003222249 +iw : 0 +0.2385838881 -0.04242027624 0.06949242053 -0.09372835738 -0.03698658701 -0.01352725531 +0.0182449742 -0.02307065644 0.02211014963 -0.02126402978 -0.003790292271 0.05121024747 +0.005112181527 -0.01659976272 0.002185228131 -0.009880179854 -0.03007879337 0.01332595729 + +iw : 1 +-0.1492462452 2.323505224e-05 0.1382332003 0.09862242065 0.08922734162 -0.06967683675 +-0.01256018894 0.0101854616 0.1202294588 -0.06641287304 -0.05849119416 -0.007299726613 +-0.08467474102 -0.0342612684 0.03878635223 0.03390994553 0.0206897575 0.005523255577 + +iw : 2 +0.2012968507 -3.13384289e-05 0.09862242065 0.07833655921 -0.1203459615 -0.01256018894 +-0.06204862074 -0.01373770805 0.04987583284 0.01522564941 -0.08467474102 -0.112573547 +-0.007065437859 -0.03962942665 -0.02221424394 0.005523255577 0.02165403374 0.03055549068 + +iw : 3 +0.1099855463 0.08024233813 0.08922734162 -0.1203459615 0.2070959586 0.0101854616 +-0.01373770805 -0.1825912889 0.09409851171 -0.08467474102 0.02982510264 0.2144091595 +-0.04022680254 -0.06651693629 0.005523255577 -0.06359375894 -0.1185651681 0.08577249892 + +ad : 2 3.03052076 +iw : 4 +0.06231479607 -0.0328722159 0.05415191488 -0.02004916746 -0.006959079608 -0.03056510799 +0.01131640441 0.003057101456 0.03069068256 -0.0198650031 -0.01377966495 0.006858131403 +0.005101773604 -0.01845946831 0.01179993724 0.007607314208 -0.0044704288 -0.002816526743 + +ad : 3 3.347258395 +iw : 5 +0.04080390077 -0.02240076773 0.0003891614074 -0.03805751864 -0.001915091852 -0.0002276111719 +0.02225892973 0.0007563193738 -0.01012718248 -0.0004122198951 -6.893351115e-05 0.02276748278 +0.006741260402 0.00609370822 0.0002522643473 3.892660341e-05 -0.01411266219 -0.003806775047 + +ad : 4 0 +iw : 6 +0 0 0 0 0.5483938892 0 +0 0.08221087936 0 0 0 0 +0 0 0 0 0 0 + +iat : 4 +ad : 0 3.245352337 +iw : 6 +-0.09229871044 0.05012512499 0.000367620361 -0.0007802851134 -0.07734352942 -0.0002128727109 +0.000451828639 0.04430025961 0.02310478588 3.532205435e-06 0.0003733019025 0.04001282998 +-0.0007923443537 -0.01373727536 -2.141314447e-06 -0.0002245864126 -0.02379012272 0.0004766913181 + +ad : 1 1.950638213 +iw : 0 +-0.2423694806 0.03835000299 -0.06898925612 0.09209574075 -0.02753890854 0.01251148068 +-0.01670193514 -0.02705954784 -0.02579881823 0.01907423473 0.0009344221251 -0.05585902912 +-0.00124738695 0.01668982335 -0.001868050578 -0.01034523729 0.0300019729 0.01381015458 + +iw : 1 +0.1516614174 0.007993976609 -0.147502627 -0.09975742083 0.08589434562 0.07275504618 +0.007721565221 0.0189897099 -0.1234471567 0.07128215191 -0.06100783665 0.01189801654 +-0.08287159903 0.03073853146 -0.04093670546 0.03442279764 -0.0248258034 -0.001255988204 + +iw : 2 +-0.2024571849 -0.01067138912 -0.09975742083 -0.08906222754 -0.1146628306 0.007721565221 +0.06823155959 -0.02534990951 -0.0575056558 -0.01996929484 -0.08287159903 0.1124612754 +-0.01245957519 0.04377911424 0.02596164624 -0.001255988204 -0.01582605101 0.03515858704 + +iw : 3 +0.09789242028 0.09905158724 0.08589434562 -0.1146628306 -0.2389658501 0.0189897099 +-0.02534990951 0.2025102185 0.1051965057 -0.08287159903 -0.04376532792 0.2307539541 +0.05842359406 -0.07149287379 -0.001255988204 0.07561325304 -0.1230935004 -0.1009383046 + +ad : 2 2.994710688 +iw : 4 +-0.06399737535 0.03356393412 -0.05615663238 0.02029674451 -0.006156995985 0.03153597531 +-0.01139807725 0.0024981379 -0.03248213575 0.02032427298 -0.01349546986 -0.007373732968 +0.004877680378 0.01946801498 -0.01202845911 0.007360356692 0.004786944954 -0.002660260649 + +ad : 3 3.303653192 +iw : 5 +-0.04210273754 0.02301191151 -0.0002447566325 0.03960835712 -0.001189986814 0.0001425556132 +-0.02306942034 0.0002802061433 0.0104914103 0.0002615867077 -3.905903946e-05 -0.0241586542 +0.006320827215 -0.00628063843 -0.0001594393374 2.160463582e-05 0.01492230134 -0.003496224483 + +ad : 4 0 +iw : 7 +0 0 0 0 0.5483938892 0 +0 0.08221087936 0 0 0 0 +0 0 0 0 0 0 + diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/dphialpha_z_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/dphialpha_z_ref.dat new file mode 100644 index 0000000000..081aae7229 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/dphialpha_z_ref.dat @@ -0,0 +1,230 @@ +iat : 0 +ad : 0 2.003222249 +iw : 6 +-0.1001273776 0.03429548701 -0.08674581703 -0.05280537895 -0.09460641687 0.04882858598 +0.02084843237 0.03735216985 0.08040497159 -0.03388312378 -0.06070519702 0.03705318832 +-0.06008070704 -0.03967994963 0.02058912668 0.0368875963 -0.01589861526 0.02577915935 + +ad : 1 1.950638213 +iw : 7 +-0.1047015525 0.03368247038 -0.09389207451 -0.05496396384 0.09850543939 0.05245918867 +0.02048668373 -0.03671587056 0.08547749743 -0.03674141801 0.06584731652 0.0385659416 +0.06249528398 -0.04090802155 0.02224295568 -0.03986342995 -0.01556245717 -0.02521862919 + +ad : 2 1.709269535 +iw : 4 +0.3489398701 -0.06896067425 0.2036428004 0.007590491732 0.001094410601 -0.0082874729 +-0.001783792571 -0.0002571903862 0.09272603973 0.006741740455 0.0009720361321 9.906705687e-05 +2.91738053e-05 0.02316575886 -0.0008446648782 -0.0001217852848 -2.370959021e-05 -6.982128978e-06 + +ad : 3 2.100474535 +iw : 5 +-0.08501214328 0.03195906453 -0.07993625797 0.09329187015 -2.636205119e-05 0.0448221086 +-0.040040435 1.131446926e-05 0.06803481841 0.06691563784 -1.89087588e-05 -0.0612075272 +3.459156927e-05 -0.03507079242 -0.03990775235 1.127697632e-05 0.02864052756 -1.618625744e-05 + +ad : 4 0 +iw : 0 +0 0 -0.3093059965 0 0 0.2658882637 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iw : 1 +0.7216730379 0.5231309515 0 0 0 0 +0 0 -0.7007735262 0 0 0 +0 -0.1572290537 0 0 0 0 + +iw : 2 +0 0 0 0 0 0 +0 0 0 -0.606887676 0 0 +0 0 -0.1361643547 0 0 0 + +iw : 3 +0 0 0 0 0 0 +0 0 0 0 -0.606887676 0 +0 0 0 -0.1361643547 0 0 + +iat : 1 +ad : 0 3.03052076 +iw : 6 +-0.0907874358 0.04789206382 0.04868502111 -0.02920995683 -0.05415191488 -0.02660858455 +0.01648705289 0.03056510799 -0.00479383372 0.02040845221 0.03783493326 0.01305605316 +-0.0198650031 0.002180273261 -0.01190879046 -0.02207753374 -0.007755377993 0.01179993724 + +ad : 1 2.994710688 +iw : 7 +-0.09481247479 0.04972515888 0.05144825773 -0.03006974218 0.05615663238 -0.02793242859 +0.01688631613 -0.03153597531 -0.005754689371 0.02126954592 -0.0397218594 0.01353682142 +0.02032427298 0.002682211592 -0.01236141378 0.02308551117 -0.008011460144 -0.01202845911 + +ad : 2 1.709269535 +iw : 0 +-0.3113478209 0.0286012441 0.04971119462 0.004265753606 0.0006150439435 0.01993114559 +-0.0008310689207 -0.0001198249954 0.08328196277 0.000818883996 0.0001180681513 -1.135857278e-05 +-3.344934242e-06 -0.01946754809 8.119987795e-05 1.170754285e-05 7.878989592e-06 2.320247674e-06 + +iw : 1 +-0.1950183663 -0.2561514503 -0.2573800067 0.007950018237 0.001146247772 0.3938760572 +0.004671387305 0.0006735289318 0.3067367883 0.0005509276189 7.943372416e-05 -0.000147884491 +-4.35498286e-05 -0.319830144 -0.009729034053 -0.001402749437 -5.634682517e-05 -1.65933193e-05 + +iw : 2 +-0.01039663673 -0.003727798564 0.007950018237 -0.3314987525 4.076042507e-05 0.004671387305 +0.07766427661 8.896378867e-06 -0.00890717657 0.2511886789 -4.35498286e-05 0.00798720158 +0.001150948593 -0.003394366959 -0.02858717506 -1.65933193e-05 -0.001925264203 -0.0002776995258 + +iw : 3 +-0.001499005579 -0.0005374806285 0.001146247772 4.076042507e-05 -0.3317755772 0.0006735289318 +8.896378867e-06 0.07760385679 -0.001284252563 -4.35498286e-05 0.2514844479 -0.001152875821 +0.007991408411 -0.0004894058666 -1.65933193e-05 -0.02847448141 0.0002773740849 -0.001924553817 + +ad : 3 3.113220902 +iw : 5 +-0.08018334095 0.04282158626 0.03957806526 0.05723703775 0.000120035469 -0.02188523043 +-0.03265658527 -6.848622297e-05 -0.0001888316882 -0.03717138459 -7.795449868e-05 -0.02325393826 +-9.753508468e-05 -0.0004285157932 0.02185501642 4.5833559e-05 0.01392467819 5.840493132e-05 + +ad : 4 0 +iw : 4 +0 0 -0.5483938892 0 0 -0.08221087936 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 2 +ad : 0 3.347258395 +iw : 6 +-0.0007396576011 0.0004060616217 -0.01954630542 -0.0006898735761 -0.0003891614074 0.01179593707 +0.0004034905059 0.0002276111719 0.0004669436508 -0.01599176185 -0.009021039163 -0.0002491071568 +-0.0004122198951 -0.0002895157877 0.0101050499 0.005700313182 0.0001524449815 0.0002522643473 + +ad : 1 3.303653192 +iw : 7 +-0.0004697080557 0.0002567263044 -0.02074628098 -0.0004418801603 0.0002447566325 0.01249631425 +0.0002573678864 -0.0001425556132 0.0003003534204 -0.01712383295 0.009484860522 -0.0001636862645 +0.0002615867077 -0.0001856108426 0.01079349656 -0.005978498491 9.976817933e-05 -0.0001594393374 + +ad : 2 2.100474535 +iw : 0 +0.0868169642 -0.01881274561 -0.09468557015 0.07464695722 -2.109344474e-05 0.0477047393 +-0.01701249595 4.80732446e-06 -0.04723878462 -0.07431538974 2.09997517e-05 0.02752211589 +-1.555418462e-05 0.016632343 0.03690645978 -1.042888282e-05 -0.00391527266 2.212724997e-06 + +iw : 1 +0.1755082018 -0.0749079121 0.1940068203 0.1525024321 -4.309353981e-05 -0.08333890801 +-0.07571368342 2.139487605e-05 -0.06662191146 0.2243637153 -6.339981971e-05 0.07828767097 +-4.424445027e-05 0.04252831468 -0.1050910244 2.969620997e-05 -0.04374469431 2.472241067e-05 + +iw : 2 +-0.1536572536 0.01317595074 0.1525024321 -0.1390095414 5.966802893e-05 -0.07571368342 +0.01442311787 -1.236338045e-05 0.1262493626 0.1014550848 -4.424445027e-05 -0.08096904628 +7.024858287e-05 -0.04300089703 -0.0554029172 2.472241067e-05 0.007674779684 -1.515614894e-05 + +iw : 3 +4.341986477e-05 -3.723208543e-06 -4.309353981e-05 5.966802893e-05 0.07214783483 2.139487605e-05 +-1.236338045e-05 -0.0293292739 -3.567505029e-05 -4.424445027e-05 -0.0551202572 7.185740291e-05 +0.08666245116 1.215102503e-05 2.472241067e-05 0.03208647143 -2.38061662e-05 -0.03828606564 + +ad : 3 3.113220902 +iw : 4 +0.08018334095 -0.04282158626 0.03957806526 0.05723703775 0.000120035469 -0.02188523043 +-0.03265658527 -6.848622297e-05 0.0001888316882 0.03717138459 7.795449868e-05 0.02325393826 +9.753508468e-05 0.0004285157932 -0.02185501642 -4.5833559e-05 -0.01392467819 -5.840493132e-05 + +ad : 4 0 +iw : 5 +0 0 -0.5483938892 0 0 -0.08221087936 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 3 +ad : 0 3.245352337 +iw : 7 +0.0003399455506 -0.0001846159403 -0.02246782246 -2.87386954e-06 -0.000367620361 0.01349608496 +1.664130893e-06 0.0002128727109 -0.0002211180592 0.0001666727111 0.02132048146 -0.0002259029617 +3.532205435e-06 0.0001360322788 -0.0001046896727 -0.01339171968 0.000136948228 -2.141314447e-06 + +ad : 1 2.003222249 +iw : 0 +0.09873363226 -0.01755486503 -0.1021794875 -0.03878778757 -0.06949242053 0.0501604456 +0.007550352991 0.01352725531 -0.05027065312 0.03747133379 0.06713385445 -0.01311402842 +0.02126402978 0.01702455674 -0.01770211254 -0.03171520539 0.001347681701 -0.002185228131 + +iw : 1 +0.1888961723 -0.08028886883 0.2321356077 -0.07715608321 -0.1382332769 -0.09421123513 +0.03889084241 0.06967705416 -0.05976542064 -0.1288056538 -0.2307689409 -0.04095839834 +0.06641289572 0.04296442388 0.05706975008 0.1022464884 0.02392055312 -0.0387865069 + +iw : 2 +0.08330306541 -1.29688427e-05 -0.07715608321 0.03241816994 -0.09862242065 0.03889084241 +-0.02567770083 0.01256018894 -0.06710711476 -0.02342556885 0.06641289572 -0.09724747188 +-0.01522564941 0.01912333021 0.01393093107 -0.0387865069 0.02947049013 0.02221424394 + +iw : 3 +0.1492462452 -2.323505224e-05 -0.1382332769 -0.09862242065 -0.08922737335 0.06967705416 +0.01256018894 -0.01018537163 -0.120229488 0.06641289572 0.05849122783 0.007299709798 +0.0846747504 0.03426146703 -0.0387865069 -0.03391017518 -0.02068964283 -0.005523319583 + +ad : 2 3.03052076 +iw : 4 +0.0907874358 -0.04789206382 0.04868502111 -0.02920995683 -0.05415191488 -0.02660858455 +0.01648705289 0.03056510799 0.00479383372 -0.02040845221 -0.03783493326 -0.01305605316 +0.0198650031 -0.002180273261 0.01190879046 0.02207753374 0.007755377993 -0.01179993724 + +ad : 3 3.347258395 +iw : 5 +0.0007396576011 -0.0004060616217 -0.01954630542 -0.0006898735761 -0.0003891614074 0.01179593707 +0.0004034905059 0.0002276111719 -0.0004669436508 0.01599176185 0.009021039163 0.0002491071568 +0.0004122198951 0.0002895157877 -0.0101050499 -0.005700313182 -0.0001524449815 -0.0002522643473 + +ad : 4 0 +iw : 6 +0 0 -0.5483938892 0 0 -0.08221087936 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 4 +ad : 0 3.245352337 +iw : 6 +-0.0003399455506 0.0001846159403 -0.02246782246 -2.87386954e-06 -0.000367620361 0.01349608496 +1.664130893e-06 0.0002128727109 0.0002211180592 -0.0001666727111 -0.02132048146 0.0002259029617 +-3.532205435e-06 -0.0001360322788 0.0001046896727 0.01339171968 -0.000136948228 2.141314447e-06 + +ad : 1 1.950638213 +iw : 0 +0.1013065864 -0.01602969104 -0.1086770303 -0.03849455423 0.06898925612 0.05176285939 +0.006981143132 -0.01251148068 -0.05004426983 0.03890853796 -0.06973119039 -0.01177074134 +-0.01907423473 0.01674110648 -0.01749852981 0.03136055421 0.001152777056 0.001868050578 + +iw : 1 +0.2015556899 -0.08326786829 0.247432014 -0.08230335667 0.1475026134 -0.09606677543 +0.0405957654 -0.07275500943 -0.06613881157 -0.1370865353 0.2456840528 -0.04398832959 +-0.07128214783 0.04763617378 0.05804549801 -0.1040281102 0.02526209212 0.04093668029 + +iw : 2 +0.08462388184 0.004460470853 -0.08230335667 0.03722659398 0.09975742083 0.0405957654 +-0.02851970623 -0.007721565221 -0.0688809147 -0.02696882857 -0.07128214783 -0.1006528887 +0.01996929484 0.01715143598 0.01610142382 0.04093668029 0.02708234076 -0.02596164624 + +iw : 3 +-0.1516614174 -0.007993976609 0.1475026134 0.09975742083 -0.08589433996 -0.07275500943 +-0.007721565221 -0.01898972526 0.1234471514 -0.07128214783 0.06100783062 -0.01189801959 +0.08287159733 -0.03073849881 0.04093668029 -0.03442276043 0.02482582225 0.001255998721 + +ad : 2 2.994710688 +iw : 4 +0.09481247479 -0.04972515888 0.05144825773 -0.03006974218 0.05615663238 -0.02793242859 +0.01688631613 -0.03153597531 0.005754689371 -0.02126954592 0.0397218594 -0.01353682142 +-0.02032427298 -0.002682211592 0.01236141378 -0.02308551117 0.008011460144 0.01202845911 + +ad : 3 3.303653192 +iw : 5 +0.0004697080557 -0.0002567263044 -0.02074628098 -0.0004418801603 0.0002447566325 0.01249631425 +0.0002573678864 -0.0001425556132 -0.0003003534204 0.01712383295 -0.009484860522 0.0001636862645 +-0.0002615867077 0.0001856108426 -0.01079349656 0.005978498491 -9.976817933e-05 0.0001594393374 + +ad : 4 0 +iw : 7 +0 0 -0.5483938892 0 0 -0.08221087936 +0 0 0 0 0 0 +0 0 0 0 0 0 + diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/gdmepsl_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/gdmepsl_ref.dat new file mode 100644 index 0000000000..acd7a2bd6b --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/gdmepsl_ref.dat @@ -0,0 +1,900 @@ +0.2954061534 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.03799107986 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.1252765806 0.163152113 -0.0007791372169 0 0 +0.1904341361 0.3511552915 0.002367842226 0 0 +0.0004846590391 -0.0009759155031 0.2363619563 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.005125239535 0.00664737143 -0.0001340452636 0 0 +0.008366331859 0.01032527812 0.0002111918275 0 0 +-4.21760995e-05 4.387981934e-05 0.008934422009 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003972255456 -0.003318971567 0.0001757051896 -0.005191139271 -0.0002118431245 +-0.01432469935 0.0130964293 -6.910070903e-05 0.02043673276 -2.459165278e-06 +-0.0001448795986 -0.0001645579206 0.009180114309 -0.0002068149701 -0.01231709724 +0.003109126503 0.02200680821 -0.0005677060092 0.03321068014 0.0006527127592 +-0.0003069630837 -0.0002420317831 0.004002209447 -0.0003381160265 -0.005369354343 +0.0003331923502 -0.0005962504588 6.670017531e-05 -0.0009163363503 -8.607419909e-05 +-0.003386118191 0.002919152859 1.875799607e-05 0.004559407404 -4.464788015e-05 +3.123468956e-05 8.359879246e-06 0.002012160131 1.961081339e-05 -0.002699986557 +0.001230834138 0.004843700782 -2.237489855e-05 0.007287803212 6.832840023e-06 +-0.0001024089183 -8.77379152e-05 0.001825887596 -0.000121352273 -0.002449706768 +-0.04011155194 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004646645224 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.005147570431 0.04271670628 -0.0003488080535 0 0 +-0.00413765821 0.01140197483 9.394821814e-05 0 0 +-5.658967074e-06 0.0001466821567 0.01217256553 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.005802793758 0.01049755492 -9.105234073e-05 0 0 +0.002521763218 0.002685737875 3.622043718e-05 0 0 +-6.488312121e-07 4.017701796e-05 0.003186909439 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001333071641 0.02094598915 -7.621237319e-05 0.001557967264 5.774010453e-05 +-0.001473609218 0.01522834038 8.429125328e-05 0.001128652732 3.540302265e-05 +-2.63870322e-05 9.201855291e-05 0.01051808451 -2.26406702e-05 -0.0003869352477 +-0.0003636840017 0.003513209217 2.384571427e-05 0.000271432392 9.473027665e-06 +-3.530709561e-06 -3.302712047e-05 0.001948171096 -8.143224631e-06 -7.182914111e-05 +0.001858384417 0.005252325518 -1.625660483e-05 0.0004787242577 1.463629882e-05 +0.001568956274 0.004070038032 3.330389971e-05 0.0003698866626 8.790766768e-06 +-1.612825043e-06 2.496900848e-05 0.002913757259 -5.628236325e-06 -0.0001586764497 +-0.0004883756107 0.00104792804 7.797948734e-06 0.0001014835932 2.448973559e-06 +1.16392895e-05 -9.284677321e-06 0.000824032207 -3.206566569e-06 -4.492054204e-05 +1.380572984 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.02507554609 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.2076413761 0.09068189136 0.000126588553 0 0 +-0.08128177198 0.1667525051 -0.001298822231 0 0 +0.0003590767344 -0.001166124326 0.2110670331 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.03967140157 -0.004177713199 1.905407695e-05 0 0 +-0.03692934445 -0.01674495964 -0.0003937000802 0 0 +9.965711234e-05 -0.0003196318281 0.04979571885 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.05796706198 0.1120122097 0.0001040947068 -0.01072042794 0.000586514245 +0.03967433705 0.08867572257 -1.531146558e-05 -0.0001479426071 7.638727577e-05 +0.0001262819993 6.660289986e-06 0.01470384761 -0.0001236207354 0.05404486545 +-0.03024783228 -0.06629774406 -8.801552264e-05 0.0009054769912 -0.000456077001 +0.0005310189701 0.000313301508 0.04066329869 -0.0004093792864 0.1494614657 +0.01366807065 0.0307339235 3.307949364e-05 0.0004639562019 0.0001872723775 +0.01348115416 0.01368856674 -3.616175754e-06 -0.009612395414 -5.435014411e-06 +3.788498051e-05 9.736323085e-06 0.003460433244 -3.520433358e-05 0.01310099491 +-0.002365502402 -0.02227282066 -3.030163367e-05 -0.01035008596 -0.0001729882673 +0.0001566024371 9.049777505e-05 0.009715498708 -0.0001273234413 0.03678259531 +0.2893550246 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001599910982 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.05321283368 -0.0343519212 -0.001630442139 0 0 +0.0755083194 0.05253248131 -0.1368620259 0 0 +0.00820262525 0.1093248511 0.04079592999 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.009039158922 -0.003944811236 0.004555930727 0 0 +0.0157816751 0.01537005823 -0.02443438127 0 0 +0.00707039511 0.01786108378 -0.003993796056 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01971257794 -0.01342651857 -0.03214706239 -0.008698770229 -0.009467274735 +0.005556188062 -0.003194162241 -0.02383438702 -0.02800266483 -0.008951649418 +-0.01550157267 0.02026650032 0.02539663235 -0.01503403195 -0.009403481745 +0.02052442329 0.007507201828 0.01019036312 0.01355154259 -0.03167499912 +-0.001717153604 -0.005755780689 0.04799936457 0.09052245117 0.02896760554 +0.004875037163 -0.00314467112 -0.007479907102 -0.001912363854 -0.002399118178 +0.002801671898 -0.001354818068 -0.006269906227 -0.005489785659 -0.00292424313 +-0.004674379043 0.00373148584 0.00438776823 -0.004522403587 -2.634790137e-05 +0.00224430242 0.0003793543422 -0.0007265620194 -0.0006071301931 -0.003353071722 +-0.001724601685 -0.002270277419 0.01002622274 0.02106043311 0.009660384647 +0.2759140717 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0003299212465 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.05595117464 -0.03507779152 -0.002246083963 0 0 +0.0822683119 0.0596792612 0.1452832149 0 0 +-0.0135831872 -0.1132807346 0.03436847996 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.009136130172 -0.003877238341 -0.004797176894 0 0 +0.0159087769 0.01746461886 0.02286746201 0 0 +-0.007583516509 -0.01848263687 -0.004359111325 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0216432147 -0.01473393144 0.03489770581 -0.008940439073 0.00999971062 +0.007270729668 -0.003712111613 0.02652631091 -0.02986579213 0.01061428152 +0.01773630722 -0.0209585837 0.02563374074 0.01746866505 -0.008171427775 +0.0201691832 0.006680292122 -0.007966873981 0.01156408646 0.03049472387 +0.002997417495 0.007107698258 0.05132848069 -0.09740876167 0.03328376907 +0.005261288777 -0.003073546853 0.007313948839 -0.001561554182 0.002811825561 +0.003515844232 -0.001468225145 0.006524914179 -0.005163150966 0.003518903461 +0.004676380971 -0.003765555482 0.0044391078 0.004469567601 -0.0001094251993 +0.001999170447 0.0003071670714 0.001101433129 -0.00122751393 0.003075323698 +0.002486258844 0.002890955937 0.009456283246 -0.0209448103 0.01126502359 +-0.003098580915 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003766510133 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0008144628362 0.001026371316 -0.1761505214 0 0 +0.0004846590391 -0.0009759155031 0.2363619563 0 0 +-0.1882167583 -0.1548427119 0.006179270533 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.261914838e-05 -2.236723404e-05 -0.006657713545 0 0 +-4.21760995e-05 4.387981934e-05 0.008934422009 0 0 +-0.007148114279 -0.01026833714 0.0006684788277 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001718771487 9.716133408e-05 0.001600302463 0.0001464619652 -0.00214745411 +-0.0001448795986 -0.0001645579206 0.009180114309 -0.0002068149701 -0.01231709724 +0.01153598403 -0.0004305974622 6.959614411e-05 -0.001119110539 -7.580538418e-05 +0.0003073756287 0.0001941713853 -0.002702979956 0.0002707612382 0.003626320415 +0.003437341521 -0.02413660162 0.0002453485507 -0.03670738914 -0.0001984893576 +8.330658492e-05 6.014258554e-05 -0.0001964781255 8.695537679e-05 0.0002634333448 +3.123468956e-05 8.359879246e-06 0.002012160131 1.961081339e-05 -0.002699986557 +0.002334137938 -0.0007481583286 0.0001318291906 -0.001224795313 -0.0001712780161 +0.0001117067012 8.263682809e-05 -0.001541122405 0.0001144127425 0.00206763632 +0.002149270379 -0.006387338547 -9.850789974e-05 -0.009762102376 0.0001670042046 +0.0001616728331 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-1.229497353e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.842060251e-06 0.000191157354 -0.02655902686 0 0 +-5.658967e-06 0.0001466821547 0.01217256555 0 0 +-0.008733767216 -0.01973778176 0.0004562999664 0 0 +0 0 0 0 0 +0 0 0 0 0 +-1.220573781e-05 3.988337214e-05 -0.007976685586 0 0 +-6.488311815e-07 4.017701714e-05 0.003186909445 0 0 +-0.002553143492 -0.005672860945 0.0001262714736 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.540688636e-05 0.0001837276422 -0.0108953786 4.477203107e-05 0.0004016144777 +-2.638703214e-05 9.201855064e-05 0.01051808453 -2.264067042e-05 -0.0003869352483 +-0.001978609747 -0.009732223582 0.0003247573497 -0.0007175949681 -3.768139897e-05 +2.813607007e-06 0.000101136314 -0.001067473968 1.070571454e-05 3.958492336e-05 +0.0003354006783 -0.01579032126 -3.078125921e-05 -0.001187441077 -4.178578469e-05 +-1.168697122e-05 4.873039668e-05 -0.003852705016 1.519019515e-05 0.0002100297071 +-1.612824996e-06 2.496900692e-05 0.002913757269 -5.6282365e-06 -0.0001586764503 +-0.001344265641 -0.003005027236 8.729325371e-05 -0.0002722005837 -1.261332236e-05 +-4.157974951e-06 2.870705637e-05 -0.0005788305096 4.30114233e-06 3.161255475e-05 +-0.0004422453033 -0.004363982193 -1.16382226e-05 -0.0004053862311 -1.096041663e-05 +0.001398209662 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0002433058434 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.197398451e-05 -0.0002645889088 0.05236003671 0 0 +0.0003590767311 -0.001166124348 0.2110670387 0 0 +-0.1094895524 -0.2904701602 0.0002247207237 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.864390951e-05 -6.229929388e-05 0.01117633294 0 0 +9.965710125e-05 -0.000319631909 0.04979573676 0 0 +-0.01919909465 -0.0448450936 9.501440084e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-8.145774842e-05 -7.030337022e-05 -0.00515299689 5.25956486e-05 -0.01894043167 +0.0001262819966 6.660291004e-06 0.01470384715 -0.0001236207324 0.05404486374 +-0.0181306 -0.0709913273 -1.816736826e-05 -0.01814963368 -0.000174784508 +0.000545183937 0.0002571986621 0.04389206412 -0.0004527364073 0.1613288036 +0.04991876026 -0.06253101331 3.867947497e-05 -0.1042921796 6.013568919e-05 +-2.110500079e-05 -1.542934466e-05 -0.001066542608 1.585041035e-05 -0.004037942089 +3.788499303e-05 9.736318631e-06 0.003460435018 -3.520434818e-05 0.01310100163 +-0.007927599231 -0.01796746502 -7.279039908e-06 -0.0003557404506 -5.53662564e-05 +0.0001742290878 8.12105373e-05 0.01171861162 -0.0001510238106 0.04436620861 +0.007230588891 -0.00848590068 1.727323073e-05 -0.01474561473 4.761807738e-05 +0.5644494357 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00118760503 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.09630264152 -0.002295198297 -0.0364649566 0 0 +0.008202625154 0.1093248225 0.04079594636 0 0 +0.04925128421 -0.0655733018 0.03958805811 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01645428693 0.004403393273 0.001701817516 0 0 +0.007070394979 0.01786104196 -0.003993772136 0 0 +0.0146533991 -0.01994708943 -0.005395650294 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.03075600359 -0.02562049043 -0.04970900401 -0.002228925451 -0.006480553508 +-0.01550157267 0.02026649868 0.02539663328 -0.01503402669 -0.009403478568 +-0.01393211031 0.001115342361 0.01989226737 0.02059617891 0.02023955912 +-0.008054651565 -0.03276842736 -0.008979795009 0.0543627458 0.06252534246 +-0.01917235194 0.01233817558 0.02222882623 -0.004706849179 0.007244337288 +0.00709688665 -0.005558130512 -0.01149683511 -0.001505046894 -0.00196681056 +-0.004674379027 0.003731480043 0.004387771518 -0.004522384377 -2.633632725e-05 +-0.003095419228 -0.001085868417 0.001801492058 0.003534129103 0.005924318149 +-0.002248975411 -0.006335544622 -0.0004661934323 0.01263299129 0.01355538373 +-0.002691745592 0.003938825552 0.006296968753 -0.0004995496366 -0.001797082339 +-0.5460186499 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003066404385 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.1012308842 -0.002021063191 -0.03239981762 0 0 +-0.01358318722 -0.1132807398 0.03436847699 0 0 +0.05768542796 -0.07676099195 -0.03199085776 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01663019838 -0.004745737415 0.002062222035 0 0 +-0.007583516525 -0.01848264409 -0.004359115405 0 0 +0.01440520647 -0.01963841755 0.004786102127 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.03348428567 0.02752927669 -0.05399405414 0.00319927776 -0.007292626079 +0.01773630722 -0.02095858401 0.02563374057 0.01746866604 -0.008171428371 +-0.01510602553 -0.0006255201 -0.01859041536 0.02142928521 -0.02378436913 +0.008813459935 0.03480147443 -0.008621093286 -0.05831823146 0.06655211668 +-0.01938772623 0.01484818265 -0.02575657334 -0.004656728414 -0.004208143503 +-0.007547087656 0.005223078585 -0.01117791925 0.001491431749 -0.002834922623 +0.004676380966 -0.003765556454 0.004439107253 0.004469570787 -0.000109427132 +-0.002410770254 -0.001218553497 -0.001622920993 0.003979426653 -0.005308326674 +0.002159543746 0.005801678054 0.0005042113166 -0.01297643053 0.01278747752 +-0.002996859681 0.003795049253 -0.005623325103 -0.001462790656 0.001485416515 +0.005486539023 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0001932778559 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01880615908 0.2770563498 -0.005174274864 0 0 +-0.1252765806 -0.163152113 0.0007791372169 0 0 +0.0008144628362 -0.001026371316 0.1761505214 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0008410712494 0.01453983568 -0.000350790002 0 0 +-0.005125239535 -0.00664737143 0.0001340452636 0 0 +-1.261914838e-05 2.236723404e-05 0.006657713545 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0006722454903 0.01759433352 -0.0005082457307 0.02662954158 0.0005900032811 +-0.01342661629 0.00787842079 1.80271429e-05 0.01248802596 -8.730034668e-05 +0.0003166387581 0.0002679148013 -0.009476994577 0.0003551976995 0.01271517438 +0.01293034169 -0.006763513379 6.934842657e-05 -0.01077792165 -3.667310945e-05 +0.0001448795986 0.0001645579206 -0.009180114309 0.0002068149701 0.01231709724 +0.0001481801071 0.004803532963 -5.35595662e-05 0.007269778341 4.789970914e-05 +-0.003957210596 0.002576373854 5.354705771e-06 0.00406144028 -2.475215854e-05 +6.982438178e-05 6.620472944e-05 -0.003026699905 8.515388487e-05 0.004061063151 +0.002860128065 -0.001833655594 5.653559726e-05 -0.002892101359 -6.331506799e-05 +-3.123468956e-05 -8.359879246e-06 -0.002012160131 -1.961081339e-05 0.002699986557 +-0.02481795753 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0009350625264 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003587870955 -0.04847776917 0.0004909097551 0 0 +-0.005147570453 -0.04271670557 0.000348808053 0 0 +-5.842059548e-06 -0.0001911573544 0.02655902757 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.976897277e-05 -0.01250107738 9.426645289e-05 0 0 +-0.005802793767 -0.01049755463 9.105234047e-05 0 0 +1.220573806e-05 -3.988337236e-05 0.007976685878 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001930825929 -0.001339488825 0.0002419814183 -0.0001036996129 -1.170843434e-05 +-0.0002026114906 -0.02400240459 0.0001389392467 -0.001782469711 -6.769603541e-05 +-2.034119487e-05 -0.0001840621773 0.01585570504 -5.869849571e-05 -0.0005842026456 +-0.0002525002648 -0.01248028197 0.0001202330471 -0.0009231238497 -3.654221075e-05 +2.638703211e-05 -9.201855066e-05 -0.01051808451 2.264067038e-05 0.0003869352477 +-0.0006126674777 -0.0001821538944 4.825930527e-05 -1.26550345e-05 -2.875816099e-06 +-0.00228819534 -0.005781239957 3.199753868e-05 -0.000525272048 -1.683936863e-05 +4.445162547e-06 -4.641178985e-05 0.005270218669 -1.880248244e-05 -0.0002872490571 +-0.001456610958 -0.003537532628 2.699467622e-05 -0.0003210436227 -1.070204451e-05 +1.612824978e-06 -2.496900694e-05 -0.002913757259 5.628236469e-06 0.0001586764497 +-0.4485384979 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.009414113827 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.05196859923 0.2890481066 -0.0006732303702 0 0 +-0.2076413819 -0.09068188968 -0.0001265885569 0 0 +-3.197398398e-05 0.0002645889013 -0.05236003488 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01732224349 0.05350947125 -0.0002006462063 0 0 +-0.03967141998 0.004177718501 -1.905409294e-05 0 0 +-1.864390792e-05 6.229926601e-05 -0.0111763271 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01331920796 0.08792393434 -3.248676019e-05 0.03472053403 1.906218013e-05 +-0.1200728235 -0.06518207935 -0.0001309612731 0.121955028 -0.0006199311567 +0.000155253933 6.566616004e-05 0.01215401914 -0.0001344554644 0.04467313255 +-0.02890246694 -0.07983352259 -1.427951765e-06 -0.009000846264 -0.0001255858893 +-0.0001262820002 -6.660291312e-06 -0.01470384761 0.0001236207358 -0.05404486545 +0.008336694059 0.01935257546 -8.081560321e-06 0.0006514027083 2.720009834e-07 +-0.02853888339 -0.02247400165 -4.426696194e-05 0.02429210679 -0.0001989950971 +5.418155118e-05 1.743718503e-05 0.003850414036 -5.115404579e-05 0.01457751574 +-0.01070438296 -0.01582802504 -1.831431322e-06 0.004628330259 -2.496563303e-05 +-3.788497696e-05 -9.736317909e-06 -0.003460433244 3.520433201e-05 -0.01310099491 +0.2270485521 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001507083806 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.03467819979 0.08642763143 0.1255514426 0 0 +-0.0532128503 0.03435190957 0.001630442658 0 0 +-0.09630267122 0.002295198715 0.03646494539 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01064427952 0.01581802667 0.01925119241 0 0 +-0.009039183271 0.003944794328 -0.004555929876 0 0 +-0.01645433046 -0.004403392561 -0.001701833725 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.00926287433 0.02105500649 0.03773158246 0.007605655385 -0.01314342291 +-0.03549525991 0.003410039629 0.02326115634 0.006222007049 0.04082845679 +-0.05960846239 0.0173633448 0.02911936612 -0.03229908796 0.04478238999 +-0.009744152162 0.002154754874 0.02186333019 0.0242994189 0.01459560408 +0.01550157749 -0.02026650211 -0.02539663855 0.01503402913 0.009403477429 +-0.004831236888 0.004136016566 0.007410116176 -0.0004957293594 0.0005511088307 +-0.007996376262 0.001128567021 0.007385173785 0.004418949074 0.009305527096 +-0.01281655512 0.005561698652 0.009420705079 -0.005820604742 0.007301633439 +-0.002948556516 0.0001344841228 0.004035710098 0.004511946589 0.004424279846 +0.00467439678 -0.003731492495 -0.004387790771 0.004522393183 2.633237548e-05 +0.2223877131 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0002127558542 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.04014946048 0.09150240659 -0.1307648665 0 0 +-0.05595117161 0.03507779367 0.002246084056 0 0 +0.1012308787 0.00202106327 0.03239981967 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01185446839 0.01557547806 -0.01776392146 0 0 +-0.00913612598 0.003877241288 0.004797177036 0 0 +0.01663019088 0.004745737539 -0.002062219233 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01216773935 0.02184874888 -0.03926549984 0.006455011063 0.0109808276 +-0.0382686041 0.003991442201 -0.02672115215 0.008577938795 -0.04360658831 +0.0638125258 -0.01998832968 0.03357087013 0.03354921956 0.04589954554 +-0.01118837704 0.001543295278 -0.02255836258 0.02564753922 -0.01719932536 +-0.01773630632 0.02095858337 -0.02563373959 -0.01746866558 0.008171428583 +-0.00547009006 0.004192447105 -0.007544427827 -0.0007946577208 -0.001119021936 +-0.008115129016 0.001221320211 -0.008146238777 0.005395002667 -0.009430968491 +0.01274522196 -0.006135915128 0.01040864903 0.005385147366 0.006432680876 +-0.002963305424 0.0001248342893 -0.004073915787 0.004571290596 -0.004413615205 +-0.004676378016 0.003765554406 -0.004439104091 -0.004469569334 0.0001094277828 +0.320586926 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.03754650505 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.1486275193 -0.1740943018 0.001671666294 0 0 +-0.1994150413 0.2335936317 -6.072815237e-05 0 0 +-0.004278790602 0.003589220902 0.3324678714 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.005875939316 -0.00638411962 -0.0001812090615 0 0 +-0.007884512424 0.008566725898 0.0003256388684 0 0 +-0.000503688661 0.0005030730561 0.007415648498 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002397919164 0.001544470823 0.0003641522187 0.0022427875 -0.0004926622823 +0.01375660117 0.008880188643 -0.0002620875267 0.01288719377 0.0003283120159 +-0.0002673168988 -0.000184020942 0.01731249517 -0.0001978808486 -0.0232296107 +-0.004052069925 -0.0026196145 0.000610190371 -0.003799793584 -0.000811842107 +1.62316984e-05 0.0001778602464 -0.02322998672 0.0001763518504 0.03116867208 +-0.0002683097538 -0.0001927347785 0.0001932753142 -0.0002804062317 -0.0002586691066 +0.002746705164 0.001960031248 7.582461798e-05 0.002859196126 -0.0001085703689 +0.0001107120367 8.626587167e-05 0.003087342886 0.0001390466478 -0.004143125128 +-0.00210408514 -0.001503330799 0.0002507538184 -0.00219183103 -0.0003312301404 +-0.0002164237712 -0.000127596277 -0.004144084414 -0.0002014862303 0.005561061996 +-0.04276062214 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00506058345 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.007827570538 -0.03436317426 0.001106910005 0 0 +-0.002862230356 0.01257248413 0.000219184792 0 0 +-0.001053371668 0.0002209595439 0.007297811364 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.006822869778 -0.008947471419 0.0001257917735 0 0 +-0.002495553863 0.003273352403 6.382565225e-05 0 0 +-0.0001173833539 7.38073642e-05 0.001446677822 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001802126248 -0.01700429702 0.001193892104 -0.001323222836 -9.479531989e-05 +-0.001148165612 0.01082176807 8.443493623e-05 0.0008397406363 2.925114312e-05 +-0.0002882862326 0.0001093081705 0.01312462084 -2.828715466e-05 -0.0004829415528 +0.0004060497806 -0.003830549339 0.0005227883207 -0.0002987946762 -3.069825878e-05 +3.077165039e-05 -0.0004814616822 -0.004800170941 -2.309893143e-05 0.0001753469802 +0.002579508927 -0.004724982986 0.0002243599437 -0.0004609288695 -2.524096212e-05 +-0.001620828939 0.002969217262 2.177073333e-05 0.0002892047127 6.994293208e-06 +-3.40960412e-05 3.901368875e-05 0.00339006394 -5.398416154e-06 -0.0001845880877 +0.0006293923523 -0.001153238447 0.0001228038523 -0.0001126849361 -9.86763621e-06 +1.690432086e-05 -0.000110273237 -0.001240165425 -7.045602884e-06 6.726770951e-05 +-0.02341152238 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0008998181301 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001281226402 -5.216290989e-05 -6.972313279e-05 0 0 +-0.01562334894 0.006405255903 -0.000146348789 0 0 +-0.0001565824844 0.0001484041602 0.001103993861 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.663501671e-05 -2.465941988e-05 -2.017873292e-05 0 0 +-0.004464686064 0.003021989128 -2.478519618e-05 0 0 +-5.357789347e-05 4.568438994e-05 0.0001948335748 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002142097485 0.00323203565 4.158739741e-07 -0.000940298708 1.308645376e-05 +7.01656014e-05 0.0001060814788 -1.763751634e-05 -3.072186724e-05 -6.444869536e-05 +-3.579893202e-06 7.814877336e-06 -9.000810437e-06 9.437886615e-06 -3.304855118e-05 +-0.004874709822 -0.007354360448 -5.655477673e-05 0.002140065973 -0.0002341707071 +-7.938495735e-05 -9.347956603e-05 0.00108139731 5.361395153e-05 0.003974413426 +0.0007733036172 0.0009776210074 -1.301763299e-06 -0.0004351372585 -1.126197393e-06 +2.578587205e-05 3.267039607e-05 -5.408163284e-06 -1.448064014e-05 -2.034801604e-05 +-5.731460827e-07 3.795274639e-07 -2.695617563e-06 9.830784693e-07 -1.019558984e-05 +-0.001814271376 -0.002293375242 -1.594647595e-05 0.001020990577 -6.929212283e-05 +-2.851890717e-05 -3.615367406e-05 0.0003229739662 1.684597749e-05 0.001222633498 +0.9818454385 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00356687021 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.1733760021 -0.003447657124 -0.06544051329 0 0 +-0.003201916935 0.1618049104 0.08336329749 0 0 +0.1226328423 -0.1626643243 0.1138426282 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.02973621336 0.008071862652 0.002986884503 0 0 +0.007788715335 0.02105982364 -0.005302368107 0 0 +0.03554002048 -0.04760486696 0.005280532643 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.05864018171 -0.05420815392 -0.08976295377 0.01617379567 -0.001255533741 +-0.0280455401 0.03639632468 0.0458592741 -0.0267306431 -0.01657477938 +-0.02499703466 0.001940133999 0.03572026256 0.03714156591 0.03643029141 +0.001970427521 -0.07152789387 -0.03395366775 0.1085311212 0.1101517927 +-0.03272870598 0.02256929334 0.03708330906 -0.01287127104 0.009436664728 +0.01393112774 -0.01246596149 -0.02070475365 0.003853751651 -0.0003845236986 +-0.008464082681 0.006712802473 0.007974868323 -0.0080354949 4.202883755e-05 +-0.005550000734 -0.00196177985 0.003255426557 0.006414618491 0.01065812897 +0.001830069451 -0.01496721825 -0.005891417261 0.02659842209 0.02257878178 +-0.004285964977 0.007228019579 0.01053579507 -0.002192012064 -0.004379709402 +0.9483838232 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003900927475 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.1827943197 0.003778790124 0.05766194701 0 0 +0.003673276361 0.166255077 -0.07155671648 0 0 +-0.1414636155 0.1862000619 0.1042091486 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.03020661614 0.008539856419 -0.003793767822 0 0 +0.008127732378 0.02139026468 0.006422228957 0 0 +-0.03585011718 0.04758144236 0.007797840999 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.06391710922 -0.05848190668 0.09752579048 0.01626385072 0.001778305001 +-0.03207101967 0.03767871928 -0.0462907335 -0.03119299962 0.0144191168 +0.0273299098 0.0008992444838 0.03357244378 -0.03814669082 0.04260885263 +0.002603696517 -0.07635188898 0.03517478386 0.1164091157 -0.1166850445 +0.0326575867 -0.02651754847 0.04309660724 0.01169901837 0.004385269083 +0.01486014616 -0.01205547905 0.02013552683 0.004351387055 0.001747022563 +-0.008469839337 0.006786448905 -0.008067190178 -0.007971118158 0.0001282078303 +0.004399860703 0.002118339535 0.002982057119 -0.007048896774 0.009508195784 +0.002661703783 -0.01418706995 0.004432787243 0.02754860935 -0.02074486017 +0.004685093291 -0.006812214656 0.009291588103 0.003505979683 -0.003699743179 +-0.003699913138 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001588773829 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002856220367 -0.005065270898 0.2951637818 0 0 +0.0008144628362 -0.001026371316 0.1761505214 0 0 +-0.1486275193 0.1740943018 -0.001671666294 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.000321652137 -0.0003432388101 0.0163093443 0 0 +-1.261914838e-05 2.236723404e-05 0.006657713545 0 0 +-0.005875939316 0.00638411962 0.0001812090615 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0006536972271 -0.000525589969 0.02226069778 -0.0006802924951 -0.02986762381 +0.0003166387581 0.0002679148013 -0.009476994577 0.0003551976995 0.01271517438 +-0.01420376455 -0.009170723439 0.0006261415225 -0.01330752614 -0.0008160269987 +-0.0001718622566 -0.0001755733461 0.01014801391 -0.000218540401 -0.01361579575 +-0.01375660117 -0.008880188643 0.0002620875267 -0.01288719377 -0.0003283120159 +-1.8332736e-05 -5.445173646e-05 0.00569605605 -5.859885709e-05 -0.007642858223 +6.982438178e-05 6.620472944e-05 -0.003026699905 8.515388487e-05 0.004061063151 +-0.004132056514 -0.002950148703 0.0001558877524 -0.004302516068 -0.0001988978376 +3.196511776e-05 1.095070991e-05 0.002224276583 2.43707426e-05 -0.00298462349 +-0.002746705164 -0.001960031248 -7.582461798e-05 -0.002859196126 0.0001085703689 +-0.002252022012 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-5.385927945e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.000131845627 0.0005499792746 -0.05561257987 0 0 +2.828695097e-05 -0.00111100095 0.03293470519 0 0 +-0.007827570537 0.03436317426 -0.001106909903 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0002024178515 0.0001064454687 -0.01417298121 0 0 +1.594844233e-05 -0.0001404550436 0.008674329025 0 0 +-0.006822869778 0.008947471419 -0.0001257917314 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.000241926102 0.0002794880594 -0.005059830344 3.599624631e-05 0.0001872625413 +-3.538958738e-06 -0.0007863767463 0.02003840639 -0.0001160441832 -0.0007398417539 +-0.002212399797 0.02087646339 -0.0009581957876 0.001623118235 9.769860948e-05 +-2.155317644e-05 -0.0001204530398 0.01278837658 -4.515234047e-05 -0.0004711023475 +0.001148165612 -0.01082176807 -8.443493396e-05 -0.0008397406363 -2.925114321e-05 +-0.0001479645229 5.818690599e-05 -0.001099590092 9.526417953e-06 6.010555258e-05 +5.401568586e-06 -7.84652229e-05 0.005493142644 -2.241987564e-05 -0.000299479871 +-0.003072104992 0.0056264534 -0.0001251264504 0.0005484830367 2.231840156e-05 +2.784452868e-06 -2.755224369e-05 0.003568960638 -1.236906588e-05 -0.0001945133562 +0.001620828939 -0.002969217262 -2.177073177e-05 -0.0002892047127 -6.994293292e-06 +0.0001224535755 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.589592515e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +8.862313458e-05 -0.0001883540796 0.01426551336 0 0 +-6.335866578e-05 6.260129149e-05 0.000402062349 0 0 +-0.0001281226402 5.216290989e-05 6.972313227e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +2.373034442e-05 -6.172994178e-05 0.004531241781 0 0 +-2.563729878e-05 1.124978968e-05 0.0001236813636 0 0 +-3.663501671e-05 2.465941989e-05 2.017873127e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.409814972e-05 2.897772947e-06 -6.3731299e-05 -1.735888771e-05 -0.0002341880187 +0.0001002227827 8.617854594e-05 0.002738355688 -7.511293513e-05 0.01006537761 +-0.001922524443 -0.002900565103 -1.382949016e-05 0.0008439808398 -6.12036725e-05 +-1.517239269e-05 -1.215958437e-05 3.425544615e-05 1.316453657e-05 0.0001258746198 +-7.01656014e-05 -0.0001060814788 1.763751648e-05 3.072186724e-05 6.444869585e-05 +4.515841355e-06 3.525266378e-06 -2.107733786e-05 -3.921018626e-06 -7.977204987e-05 +3.351315182e-05 2.478876931e-05 0.0009230100441 -2.704750422e-05 0.0034945801 +-0.0007297995808 -0.0009225555217 -4.072142898e-06 0.0004106840836 -1.900492048e-05 +-4.869783983e-06 -6.98775006e-06 1.117841182e-05 2.265325245e-06 4.230445978e-05 +-2.578587205e-05 -3.267039607e-05 5.408162783e-06 1.448064015e-05 2.034801414e-05 +0.4060394472 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002749217897 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.06393623481 0.1250696901 0.242534917 0 0 +-0.0961051779 0.06087302934 0.002998099621 0 0 +-0.1733760553 0.003447657873 0.06544049321 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0195902876 0.01911920327 0.03995757742 0 0 +-0.01641885298 0.006861915707 -0.008145394162 0 0 +-0.02973629134 -0.008071861376 -0.002986913543 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01662209681 0.03760757878 0.06770833091 0.01404598106 -0.02328080531 +-0.05957677138 0.006797236695 0.03512319296 0.001601853917 0.06525955321 +-0.1102238136 0.03881108266 0.05304577802 -0.07630562975 0.07086984883 +-0.01744178891 0.003858996499 0.03914020525 0.04350050635 0.02612386068 +0.02804554873 -0.03639633083 -0.04585928355 0.02673064748 0.01657477734 +-0.008671087588 0.007373438799 0.01331096278 -0.0007533835257 0.001082530263 +-0.01280753538 0.002339101817 0.01124871527 0.00485772754 0.01373549764 +-0.02420295735 0.01241488466 0.01705295033 -0.01674520776 0.01009666692 +-0.005270843286 0.0002446969356 0.007228090758 0.008079184714 0.007906275061 +0.008464114488 -0.006712824782 -0.007974902816 0.008035510677 -4.203591757e-05 +-0.3977991145 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003253369583 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0737779768 -0.1308525392 0.2536260223 0 0 +0.1010642902 -0.0623674226 -0.004039081678 0 0 +-0.1827943099 -0.003778790265 -0.05766195069 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.02177314019 -0.01778321962 0.03769455708 0 0 +0.01660372886 -0.006805221962 -0.008594826157 0 0 +-0.0302066027 -0.008539856642 0.0037937628 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.02189635896 -0.03919160857 0.07048801636 -0.01161977932 -0.01960191281 +0.06384630679 -0.007851531975 0.04042165692 -0.004880492864 0.06924179585 +-0.1181262823 0.04431517283 -0.06106534065 -0.08032782648 -0.07198611916 +0.02020908033 -0.002940753015 0.04056086952 -0.04568011507 0.03073794511 +0.03207101805 -0.03767871814 0.04629073176 0.0311929988 -0.01441911718 +0.00984371375 -0.007522591867 0.01355457377 0.00141592901 0.002044848465 +0.01276164354 -0.002538253031 0.01243329515 -0.006413997895 0.01358892255 +-0.02418826491 0.01363403767 -0.01881100882 -0.01645838454 -0.008329612913 +0.005358253427 -0.0002796818026 0.007345636552 -0.008104675665 0.007877159536 +0.00846983405 -0.006786445235 0.008067184512 0.007971115553 -0.0001282089967 +0.3426579006 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.02651431782 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.3618611847 0.01006756186 -0.0008697899066 0 0 +0.00760787609 0.1113799938 -0.001065723822 0 0 +0.003309794935 -0.001187162509 0.1312956234 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002699274148 0.0004741614792 -0.0001848447878 0 0 +0.0001046731045 0.004295227352 7.950042641e-06 0 0 +6.024050593e-05 1.568323277e-07 0.004961997279 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.04178799752 0.002942582392 -0.0002961328798 0.002557292967 0.0005457299034 +0.001882513272 -0.005519791457 0.0002171878041 -0.008452299265 -0.000252813134 +0.0005942077419 0.0002385335928 -0.007064884378 0.0003069308711 0.009480270913 +0.0008919435121 0.005481732196 -0.0001419577336 0.008267473846 0.0001636318506 +0.0001523342617 0.0001362025988 -0.006842083461 0.0001727974771 0.009180159243 +-0.001053308366 0.0001185499979 -8.767540567e-06 0.0002444494171 -1.813496979e-06 +4.248885141e-05 -0.00181808673 5.605233801e-05 -0.002756336522 -6.551238364e-05 +7.940592588e-05 5.761919066e-05 -0.002256051357 7.478340456e-05 0.0030271003 +8.429060183e-05 0.001320730161 4.572174151e-06 0.001997254453 -1.272707569e-05 +-1.512510701e-05 -3.497082242e-06 -0.001499408505 -1.080812104e-05 0.002011957552 +1.088671147 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01870932347 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.08085014381 -0.02363658018 -0.0006533177886 0 0 +-0.007567975274 0.4053351507 -0.0009446668927 0 0 +0.001246191301 -0.0009883403247 0.4157437714 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.04189659013 -0.00311463856 0.0002373644939 0 0 +-0.001123647927 0.05689352985 -0.0001857420908 0 0 +0.0003572055901 -0.0001976689092 0.05935249817 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.08990673643 -0.0201968634 -0.001577333133 -0.001593322941 -6.17801505e-05 +-0.01207420957 0.2582520393 -0.000882964385 0.01955610576 0.0007480912224 +-0.0006400963988 -0.000927658919 0.268445039 -0.0008259636352 -0.00988461182 +-0.001560831769 0.03607730692 -0.001319510891 0.002738026425 0.000148977046 +-4.631730084e-06 0.001220446133 -0.02160241546 0.0001533715842 0.0007986318321 +0.04221009594 -0.001165639532 0.0002668687793 -0.000417383327 -3.157945452e-05 +0.0001472252001 0.02405950528 -0.0001653547152 0.002251219842 7.305255361e-05 +0.0002760168792 -0.0001818472813 0.02640617534 -9.129300194e-05 -0.001439184497 +-0.0005699013461 0.008968683814 -0.000199066531 0.0008440672182 3.48953723e-05 +-1.175538438e-05 0.0001737176418 -0.007154764638 3.592988185e-05 0.0003902617844 +0.1199679613 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004315426111 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0288036016 -0.09638337494 0.0001628732017 0 0 +0.09171178871 0.02361440559 0.0002192815555 0 0 +4.287201402e-05 -9.200951194e-05 0.01720265956 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.009274326551 -0.01711864209 4.771587416e-05 0 0 +0.02044014956 -0.002297170591 6.096362564e-05 0 0 +1.66484512e-05 -1.900340286e-05 0.003684637511 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.004253693377 -0.0285303035 1.877179901e-06 -0.01135791592 -3.793308353e-05 +0.04500668339 0.02958327061 2.751446915e-05 -0.04262707496 0.0001442975471 +-1.068183765e-05 2.648197322e-05 -0.003046796515 2.153300272e-05 -0.01119867361 +0.01435232728 0.03314032423 1.54698363e-05 0.0005827822077 0.0001016350191 +5.239735925e-05 1.735378934e-05 0.004826484647 -4.616195141e-05 0.01774000208 +-0.002748130739 -0.006361505569 -4.008806953e-07 -0.0002038886434 -1.153668378e-05 +0.01099024701 0.01019780706 9.775133586e-06 -0.0084192389 4.566867676e-05 +-4.05521697e-06 9.17910879e-06 -0.0009466851162 8.426956865e-06 -0.00358408693 +0.005052417119 0.007606091363 5.621562439e-06 -0.002102376352 2.855567175e-05 +1.540781799e-05 8.876525698e-06 0.001138921595 -1.205158963e-05 0.004311877716 +0.1368351366 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003007671511 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.04351657158 0.05706848088 0.1015661959 0 0 +-0.05363794402 0.02316533279 -0.001967127491 0 0 +-0.09744821625 -0.002101489568 0.02100954343 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01325369941 0.008782622309 0.01554196375 0 0 +-0.01103553837 0.002521830118 -0.003816847873 0 0 +-0.02016587083 -0.003861012541 -0.002099566899 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.005690597539 0.01483076096 0.02669143511 0.00610688172 -0.01012035967 +-0.02912273093 0.006124091736 0.01917731896 -0.002284215717 0.02773858056 +-0.05263407762 0.01911960961 0.03036576466 -0.02948293942 0.03460239665 +-0.01059198036 0.003702224706 0.01996447235 0.01709897834 0.01214547912 +0.01674129864 -0.01821252468 -0.02474171484 0.01226453842 0.004723971661 +-0.003317338719 0.002861893602 0.005165227378 -0.0002630386512 0.0003682866476 +-0.006577856124 0.002087880782 0.006238930596 0.001190551158 0.00564145295 +-0.01191971906 0.006234774638 0.009976473008 -0.005856860771 0.005344401495 +-0.003209725385 0.0008141727903 0.004268184864 0.003128960286 0.003575680495 +0.005068313038 -0.0038460487 -0.005253313953 0.003595933418 -0.0005139598699 +0.1326257852 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002061794257 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.04991621734 0.06057220152 -0.1073752481 0 0 +-0.05728219199 0.02383998849 0.00516761241 0 0 +0.1043601458 0.005737558622 0.01766931194 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01479986199 0.008287315151 -0.01451403544 0 0 +-0.01148395702 0.002535380225 0.003998375922 0 0 +0.02107724481 0.004139980114 -0.002314738405 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.007572427221 0.01539036607 -0.02772156873 0.005321655689 0.008786764379 +-0.0316133767 0.006951299004 -0.02196570447 -0.001292719644 -0.02966563193 +0.05718787892 -0.02189508379 0.03484718886 0.03126072456 0.0358951716 +-0.01210347789 0.003442070194 -0.02102584815 0.01826864018 -0.01437526065 +-0.0189619843 0.01912094173 -0.02553535604 -0.01431513935 0.003721455582 +-0.003744898458 0.002880295525 -0.005205128796 -0.0005010560948 -0.000763431565 +-0.006694886283 0.002293492828 -0.006923986737 0.001793026756 -0.005562971636 +0.01214362937 -0.00692103133 0.01109759712 0.00565613406 0.004645580457 +-0.003319900276 0.0008629711919 -0.004441867617 0.003225470558 -0.003614122633 +-0.005186112608 0.003970414999 -0.005450843926 -0.003590199637 -0.0004377646164 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/gdmx_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/gdmx_ref.dat new file mode 100644 index 0000000000..6ac591196a --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/gdmx_ref.dat @@ -0,0 +1,2250 @@ +-0.01548257497 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.494390654e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.02137308267 0.2106222523 -0.002571299866 0 0 +0.2106222523 0.2714719853 -0.002037800391 0 0 +-0.002571299866 -0.002037800391 -0.2610692252 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0006071674638 0.008110437364 -3.06477412e-05 0 0 +0.008110437364 0.01105032655 -0.0002077952576 0 0 +-3.06477412e-05 -0.0002077952576 -0.009865480502 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0008116590405 0.0145746748 0.0001015499842 -0.01196038641 0.0003080111969 +0.0145746748 0.009771936285 -6.767726455e-05 0.004930763675 0.0004566575319 +0.0001015499842 -6.767726455e-05 -0.01014187502 0.0004347201626 0.004590650423 +-0.01196038641 0.004930763675 0.0004347201626 -0.004369004037 -0.0001742636214 +0.0003080111969 0.0004566575319 0.004590650423 -0.0001742636214 0.0059384374 +8.135210349e-05 0.003381648065 -3.716872034e-05 -0.002340765035 0.0001230648301 +0.003381648065 0.002486258136 -4.949472566e-05 0.001105861041 0.0001343560878 +-3.716872034e-05 -4.949472566e-05 -0.002221820569 1.934937188e-05 0.0004812383707 +-0.002340765035 0.001105861041 1.934937188e-05 -0.00168408731 4.946133481e-05 +0.0001230648301 0.0001343560878 0.0004812383707 4.946133481e-05 0.002708577118 +-0.01434215032 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0006135991975 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002841622854 0.00725789183 7.752145183e-05 0 0 +0.00725789183 -0.003135416199 1.991649618e-05 0 0 +7.752145183e-05 1.991649618e-05 -0.003729976261 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001141595404 -0.005318515732 9.408992403e-06 0 0 +-0.005318515732 -0.0005797241556 -1.724367684e-05 0 0 +9.408992403e-06 -1.724367684e-05 -0.0004081282578 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.005902883816 -0.05504058542 0.000113367823 -0.007172296554 -0.0002264179792 +-0.05504058542 -0.007449742536 -0.0002758327929 0.03835393556 -4.179853897e-05 +0.000113367823 -0.0002758327929 -0.003972406825 -5.131576087e-05 0.03901493326 +-0.007172296554 0.03835393556 -5.131576087e-05 0.00585054272 -4.095878451e-06 +-0.0002264179792 -4.179853897e-05 0.03901493326 -4.095878451e-06 -0.002867189489 +0.0004414443785 -0.01086035817 1.598639558e-05 -0.001385369964 -4.37023312e-05 +-0.01086035817 -0.001176453915 -5.32176309e-05 0.008019401241 -1.144868934e-05 +1.598639558e-05 -5.32176309e-05 -0.0004503226898 -1.318346967e-05 0.008182060179 +-0.001385369964 0.008019401241 -1.318346967e-05 0.001516732322 -1.116775725e-06 +-4.37023312e-05 -1.144868934e-05 0.008182060179 -1.116775725e-06 -0.000890253564 +0.7422510548 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01047440296 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.08930102086 0.0102636966 8.924637279e-06 0 0 +0.0102636966 0.07760679337 -0.000187084664 0 0 +8.924637279e-06 -0.000187084664 0.08105049435 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01528728471 -0.008310270821 1.881609406e-06 0 0 +-0.008310270821 -0.01156657432 -5.189615697e-05 0 0 +1.881609406e-06 -5.189615697e-05 0.01735851316 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.02183956123 0.03091909366 1.570459687e-05 -0.007983657868 8.31969743e-05 +0.03091909366 0.03931773684 -1.78679171e-05 -0.01484287005 2.013708766e-05 +1.570459687e-05 -1.78679171e-05 0.007412780577 -1.610292577e-05 0.02142781388 +-0.007983657868 -0.01484287005 -1.610292577e-05 -8.089656104e-05 -5.289660518e-05 +8.31969743e-05 2.013708766e-05 0.02142781388 -5.289660518e-05 0.05737392458 +0.004398136933 0.008799255405 4.919154537e-06 0.0003369317128 2.451730394e-05 +0.008799255405 0.005161749856 -3.586886461e-06 -0.007491447953 1.565893544e-06 +4.919154537e-06 -3.586886461e-06 0.001749088469 -5.122893761e-06 0.004975855348 +0.0003369317128 -0.007491447953 -5.122893761e-06 -0.005464689256 -2.073444313e-05 +2.451730394e-05 1.565893544e-06 0.004975855348 -2.073444313e-05 0.01260637269 +-0.3623937084 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0004460780824 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.05046517146 -0.009579899701 0.002708951778 0 0 +-0.009579899701 -0.01887733619 0.02453408307 0 0 +0.002708951778 0.02453408307 -0.05447630794 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.007543494795 -0.002921702524 -0.004840490668 0 0 +-0.002921702524 -0.004669954638 0.007451055897 0 0 +-0.004840490668 0.007451055897 0.002658285555 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01485513219 0.004768710031 0.01983497453 -0.01277843938 -0.002606093224 +0.004768710031 0.002393238702 0.001728081026 0.01170424088 0.00740684671 +0.01983497453 0.001728081026 -0.0245855996 0.004836294365 -0.01396711096 +-0.01277843938 0.01170424088 0.004836294365 -0.01086534499 -0.02174205792 +-0.002606093224 0.00740684671 -0.01396711096 -0.02174205792 -0.01725459188 +-0.003064857847 0.0003760829447 0.004760617249 -0.00217942067 -0.0007772256443 +0.0003760829447 0.001080266566 0.00128865759 0.002942736098 0.002601181766 +0.004760617249 0.00128865759 -0.00372946661 0.003555910053 -0.003384041315 +-0.00217942067 0.002942736098 0.003555910053 0.001821739244 -0.006435613949 +-0.0007772256443 0.002601181766 -0.003384041315 -0.006435613949 -0.00548557007 +-0.3607107397 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003205785842 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.05440928919 -0.01149204293 0.001679923084 0 0 +-0.01149204293 -0.02301076923 -0.02897352035 0 0 +0.001679923084 -0.02897352035 -0.04933801951 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.007729272494 -0.002746908701 0.005300794382 0 0 +-0.002746908701 -0.0059263436 -0.006972849095 0 0 +0.005300794382 -0.006972849095 0.003310385315 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01665246495 0.004769874675 -0.02261917451 -0.01352077009 0.002785575179 +0.004769874675 0.002899246993 -0.002837859538 0.01361437579 -0.00932718279 +-0.02261917451 -0.002837859538 -0.02533971161 -0.007951892191 -0.01612526107 +-0.01352077009 0.01361437579 -0.007951892191 -0.008227256325 0.02587505213 +0.002785575179 -0.00932718279 -0.01612526107 0.02587505213 -0.02105774168 +-0.003353138881 -2.109579822e-05 -0.004694750129 -0.002470492585 0.0004923005953 +-2.109579822e-05 0.001189774081 -0.001425696087 0.002892365086 -0.003357451269 +-0.004694750129 -0.001425696087 -0.003832886858 -0.003929885296 -0.002972917572 +-0.002470492585 0.002892365086 -0.003929885296 0.002743526796 0.006494184742 +0.0004923005953 -0.003357451269 -0.002972917572 0.006494184742 -0.00694410955 +0.003051358242 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001973016416 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.009632835348 -0.1167351572 3.99623178e-05 0 0 +-0.1167351572 -0.0016132222 -0.0006392255216 0 0 +3.99623178e-05 -0.0006392255216 1.488344347e-07 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.000232202022 -0.00539060082 1.557002606e-06 0 0 +-0.00539060082 4.039195953e-05 -5.707639733e-05 0 0 +1.557002606e-06 -5.707639733e-05 6.938537047e-09 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001577391203 -0.01795785673 1.343371126e-06 -0.0003317529187 -4.524144282e-05 +-0.01795785673 -0.001738471916 3.47551481e-05 -0.0004886840975 -0.0001289321866 +1.343371126e-06 3.47551481e-05 -1.10049227e-08 7.5289416e-07 1.177932852e-07 +-0.0003317529187 -0.0004886840975 7.5289416e-07 -1.847358055e-05 -3.807935884e-06 +-4.524144282e-05 -0.0001289321866 1.177932852e-07 -3.807935884e-06 -7.13848327e-07 +0.0002167631708 -0.003801680843 2.250406111e-07 -7.191479219e-05 -1.016602909e-05 +-0.003801680843 -0.0003542855086 3.330257686e-06 -9.529731609e-05 -2.074999541e-05 +2.250406111e-07 3.330257686e-06 -5.5640883e-10 7.261548463e-08 1.105528097e-08 +-7.191479219e-05 -9.529731609e-05 7.261548463e-08 -3.595721397e-06 -6.556047012e-07 +-1.016602909e-05 -2.074999541e-05 1.105528097e-08 -6.556047012e-07 -1.142915096e-07 +0.01460468264 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007112690982 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003964669799 0.009238484715 -0.0002530024418 0 0 +0.009238484715 0.01975302543 -0.0002197332696 0 0 +-0.0002530024418 -0.0002197332696 -0.01008614286 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0004849039137 0.009369212501 -5.361686252e-05 0 0 +0.009369212501 0.005003269498 -4.061434719e-05 0 0 +-5.361686252e-05 -4.061434719e-05 -0.003230783929 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.006593694587 0.06262914665 -0.0002394783489 0.008001957326 0.0002527769773 +0.06262914665 0.02097181101 0.0001406046124 -0.03955385483 0.0001374847662 +-0.0002394783489 0.0001406046124 -0.007938057457 0.0001081141025 -0.04140763609 +0.008001957326 -0.03955385483 0.0001081141025 -0.006119575669 1.023025354e-05 +0.0002527769773 0.0001374847662 -0.04140763609 1.023025354e-05 0.003059910867 +-0.0007402852236 0.01298352322 -5.600147986e-05 0.001963900228 4.351869789e-05 +0.01298352322 0.004979920039 1.241957221e-05 -0.008355510227 3.929754085e-05 +-5.600147986e-05 1.241957221e-05 -0.002874056976 2.990858921e-05 -0.008877699587 +0.001963900228 -0.008355510227 2.990858921e-05 -0.001618362211 3.153601528e-06 +4.351869789e-05 3.929754085e-05 -0.008877699587 3.153601528e-06 0.0009760308204 +-0.01319353149 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0006277859927 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01423031708 0.001005495612 4.886066298e-05 0 0 +0.001005495612 -0.00137703659 1.084781266e-05 0 0 +4.886066298e-05 1.084781266e-05 1.299977572e-07 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004444852555 0.0005354449964 1.504957793e-05 0 0 +0.0005354449964 -0.0002086101912 3.555322758e-06 0 0 +1.504957793e-05 3.555322758e-06 3.983949852e-08 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003690912774 0.004351835041 1.00233986e-05 -0.0006833697747 1.950311784e-05 +0.004351835041 0.004872680787 1.240574174e-05 -0.000521074154 1.944636388e-05 +1.00233986e-05 1.240574174e-05 2.588499483e-08 -2.5029521e-06 6.103275999e-08 +-0.0006833697747 -0.000521074154 -2.5029521e-06 -0.0001870422874 2.984918976e-07 +1.950311784e-05 1.944636388e-05 6.103275999e-08 2.984918976e-07 5.431387555e-08 +0.001186470446 0.00144729462 3.276374664e-06 -0.0001771315223 6.532829651e-06 +0.00144729462 0.001625375049 4.205543728e-06 -0.0001216495532 6.368806745e-06 +3.276374664e-06 4.205543728e-06 8.735954607e-09 -6.299588494e-07 2.042651901e-08 +-0.0001771315223 -0.0001216495532 -6.299588494e-07 -3.719969323e-05 1.032680895e-07 +6.532829651e-06 6.368806745e-06 2.042651901e-08 1.032680895e-07 1.769195102e-08 +0.006787487168 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0004063090445 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.008069778455 -0.003239008472 0.001822657746 0 0 +-0.003239008472 -0.0007435144183 -0.0002443810973 0 0 +0.001822657746 -0.0002443810973 0.001299751727 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002469212003 -0.0009674966559 0.0007154849061 0 0 +-0.0009674966559 -0.0001183027418 -3.792486572e-05 0 0 +0.0007154849061 -3.792486572e-05 0.0001811024372 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002491403459 -0.0001602097904 0.002890671887 0.0007024505782 0.001148002556 +-0.0001602097904 0.001143899092 0.0001185690051 -0.0008459369822 -1.186788491e-05 +0.002890671887 0.0001185690051 -0.003350000437 -0.0007630526786 -0.001326981997 +0.0007024505782 -0.0008459369822 -0.0007630526786 0.0004899295738 -0.0002575213759 +0.001148002556 -1.186788491e-05 -0.001326981997 -0.0002575213759 -0.0005226211022 +-0.0007685350856 -4.136380904e-05 0.0009346843212 0.0002446575498 0.0003285352167 +-4.136380904e-05 0.0004185342529 6.800344208e-05 -0.0002714849388 -4.903694097e-05 +0.0009346843212 6.800344208e-05 -0.001136008936 -0.0003095224622 -0.0004023673043 +0.0002446575498 -0.0002714849388 -0.0003095224622 0.0001146882983 -5.944990968e-05 +0.0003285352167 -4.903694097e-05 -0.0004023673043 -5.944990968e-05 -0.0001298634699 +0.0071181525 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0004650234534 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.008786551273 -0.003681537451 -0.001940179258 0 0 +-0.003681537451 -0.000876192907 0.0002860473493 0 0 +-0.001940179258 0.0002860473493 0.001384042446 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002655695085 -0.00108103328 -0.0007765340026 0 0 +-0.00108103328 -0.0001255253453 3.356047841e-05 0 0 +-0.0007765340026 3.356047841e-05 0.0001616577695 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.00277887873 -0.0002391520967 -0.003169011103 0.0007698991086 -0.001303888103 +-0.0002391520967 0.001320182127 -0.000218404108 -0.0009230929376 -7.795400938e-07 +-0.003169011103 -0.000218404108 -0.003611713966 0.0008379017699 -0.001482428665 +0.0007698991086 -0.0009230929376 0.0008379017699 0.0005167395789 0.0002790200456 +-0.001303888103 -7.795400938e-07 -0.001482428665 0.0002790200456 -0.000602540698 +-0.0008330687232 -5.812968847e-05 -0.001006832189 0.0002660682812 -0.0003561162523 +-5.812968847e-05 0.0004786613174 -0.0001049452684 -0.0002871202767 5.976734617e-05 +-0.001006832189 -0.0001049452684 -0.001214346585 0.0003435337229 -0.000436476831 +0.0002660682812 -0.0002871202767 0.0003435337229 0.0001086010589 6.015340758e-05 +-0.0003561162523 5.976734617e-05 -0.000436476831 6.015340758e-05 -0.00013739834 +-0.0978749605 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01316487075 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.03939202273 -0.0915488962 0.0003350137738 0 0 +-0.0915488962 -0.2051693551 0.0006464825943 0 0 +0.0003350137738 0.0006464825943 -5.512307504e-07 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.00164618274 -0.003497475003 1.986564565e-05 0 0 +-0.003497475003 -0.007015526448 3.294636457e-05 0 0 +1.986564565e-05 3.294636457e-05 -3.320516381e-08 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001588839658 0.003888321774 -1.670916701e-05 0.004188515594 1.207384275e-05 +0.003888321774 -0.007037713025 5.886316275e-05 -0.008703522498 -5.098434759e-05 +-1.670916701e-05 5.886316275e-05 -4.539286799e-08 5.526731193e-05 -2.848419306e-08 +0.004188515594 -0.008703522498 5.526731193e-05 -0.01007616153 -4.521067002e-05 +1.207384275e-05 -5.098434759e-05 -2.848419306e-08 -4.521067002e-05 9.36832583e-08 +-0.0002050705574 0.0007734477463 -1.910301803e-06 0.0006977069205 8.479684313e-07 +0.0007734477463 -0.001674703338 1.057337177e-05 -0.001936137315 -8.012829017e-06 +-1.910301803e-06 1.057337177e-05 -8.662789851e-09 8.384557643e-06 -5.153981019e-09 +0.0006977069205 -0.001936137315 8.384557643e-06 -0.001984635324 -5.579568865e-06 +8.479684313e-07 -8.012829017e-06 -5.153981019e-09 -5.579568865e-06 1.515081824e-08 +0.0139066722 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001578721016 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001468947188 -0.01168536759 6.468147061e-05 0 0 +-0.01168536759 -0.008883555301 5.151066507e-06 0 0 +6.468147061e-05 5.151066507e-06 2.382089745e-07 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001889276165 -0.003398515353 1.392733595e-05 0 0 +-0.003398515353 -0.002247314789 2.533855167e-07 0 0 +1.392733595e-05 2.533855167e-07 5.641316531e-08 0 0 +0 0 0 0 0 +0 0 0 0 0 +9.363763338e-05 -0.004999722471 3.072987625e-05 -0.0003722864166 -1.451566201e-05 +-0.004999722471 -0.009222399887 1.123199779e-05 -0.0008811361419 -2.166522387e-05 +3.072987625e-05 1.123199779e-05 2.028455141e-07 1.999339984e-06 2.042420574e-09 +-0.0003722864166 -0.0008811361419 1.999339984e-06 -8.022453968e-05 -2.174093446e-06 +-1.451566201e-05 -2.166522387e-05 2.042420574e-09 -2.174093446e-06 -4.815890632e-08 +-0.0005556327628 -0.001687772575 6.520661381e-06 -0.0001561508704 -4.661300324e-06 +-0.001687772575 -0.002531139642 1.781898318e-06 -0.0002356749669 -5.983096163e-06 +6.520661381e-06 1.781898318e-06 4.86515121e-08 1.752531165e-07 -2.074779432e-09 +-0.0001561508704 -0.0002356749669 1.752531165e-07 -2.194199976e-05 -5.582640085e-07 +-4.661300324e-06 -5.983096163e-06 -2.074779432e-09 -5.582640085e-07 -1.33508426e-08 +-0.7032312922 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01209572718 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.1036717094 -0.005122655589 -0.0001227101671 0 0 +-0.005122655589 -0.08124831699 0.0005354106286 0 0 +-0.0001227101671 0.0005354106286 -0.0980038953 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01977227147 0.009513006191 -3.173782122e-05 0 0 +0.009513006191 0.009439711961 0.0001563475147 0 0 +-3.173782122e-05 0.0001563475147 -0.02257141393 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0278934946 -0.03708321133 -5.161169518e-05 0.009753463494 -0.000248404876 +-0.03708321133 -0.0442806435 3.375452118e-06 0.01623329796 -9.31759194e-05 +-5.161169518e-05 3.375452118e-06 -0.007378416037 4.416526462e-05 -0.02299960265 +0.009753463494 0.01623329796 4.416526462e-05 -0.0002306735956 0.0001766943288 +-0.000248404876 -9.31759194e-05 -0.02299960265 0.0001766943288 -0.06939288973 +-0.006437624258 -0.01079652689 -1.602625427e-05 0.0002757555553 -7.710088956e-05 +-0.01079652689 -0.006814644087 -1.188628807e-06 0.007866296176 -2.130974765e-05 +-1.602625427e-05 -1.188628807e-06 -0.001737874734 1.365589474e-05 -0.005482782569 +0.0002757555553 0.007866296176 1.365589474e-05 0.005281772284 6.22931001e-05 +-7.710088956e-05 -2.130974765e-05 -0.005482782569 6.22931001e-05 -0.01660557324 +0.01282645885 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0005659372887 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +9.092570704e-05 -0.003072353533 -0.002533117018 0 0 +-0.003072353533 -0.01181400265 -0.002947729467 0 0 +-0.002533117018 -0.002947729467 0.002771132823 0 0 +0 0 0 0 0 +0 0 0 0 0 +2.472973355e-05 -0.0008201994271 -0.0006864529675 0 0 +-0.0008201994271 -0.003755940579 -0.001214273314 0 0 +-0.0006864529675 -0.001214273314 0.000478130903 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001326683768 -0.0001036346914 0.001047507631 0.001783764684 0.002398208398 +-0.0001036346914 -5.223868793e-06 3.167490426e-05 8.510043362e-05 0.0001833312582 +0.001047507631 3.167490426e-05 4.880419659e-05 -0.0004611321461 -0.001823582491 +0.001783764684 8.510043362e-05 -0.0004611321461 -0.001373843482 -0.003148790677 +0.002398208398 0.0001833312582 -0.001823582491 -0.003148790677 -0.004329583795 +-0.0004736176122 -4.710708765e-05 0.0003014613666 0.0005553971907 0.0008551442742 +-4.710708765e-05 -2.518845356e-06 8.846774352e-06 3.190631639e-05 8.346086115e-05 +0.0003014613666 8.846774352e-06 1.433807218e-05 -0.0001258547692 -0.0005287571872 +0.0005553971907 3.190631639e-05 -0.0001258547692 -0.0003999694834 -0.0009856366423 +0.0008551442742 8.346086115e-05 -0.0005287571872 -0.0009856366423 -0.001542840576 +0.01384999961 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007379273084 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +6.202304063e-05 -0.00350436529 0.002796148849 0 0 +-0.00350436529 -0.01331792329 0.003312078534 0 0 +0.002796148849 0.003312078534 0.002940260787 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.634837214e-05 -0.0009073919907 0.000735144358 0 0 +-0.0009073919907 -0.004184973234 0.00137918771 0 0 +0.000735144358 0.00137918771 0.0004380070246 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.00151788044 -0.0001114191075 -0.001175787422 0.002006002079 -0.002713545328 +-0.0001114191075 -3.742918326e-06 -2.16134502e-05 7.936578564e-05 -0.000194785486 +-0.001175787422 -2.16134502e-05 3.276610954e-05 0.000563826338 -0.00203779539 +0.002006002079 7.936578564e-05 0.000563826338 -0.001612217346 0.003518822917 +-0.002713545328 -0.000194785486 -0.00203779539 0.003518822917 -0.004846693528 +-0.0005368233992 -5.275678537e-05 -0.0003246317501 0.0006085731598 -0.0009598793125 +-5.275678537e-05 -1.853618516e-06 -5.736597062e-06 3.18208356e-05 -9.264458757e-05 +-0.0003246317501 -5.736597062e-06 9.235547518e-06 0.0001481721301 -0.0005672023908 +0.0006085731598 3.18208356e-05 0.0001481721301 -0.0004547698565 0.001073987646 +-0.0009598793125 -9.264458757e-05 -0.0005672023908 0.001073987646 -0.001715478313 +0.05344704517 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.006484969473 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.02495367737 -0.001680719325 -0.05678138574 0 0 +-0.001680719325 -0.03023281469 0.007703604303 0 0 +-0.05678138574 0.007703604303 0.1287085537 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001000410141 0.0003232707179 -0.002236010266 0 0 +0.0003232707179 -0.001888980897 -0.0004664461707 0 0 +-0.002236010266 -0.0004664461707 0.004964792172 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.000456750041 -0.0001963200378 0.002323577899 0.003920882443 0.0004578664896 +-0.0001963200378 -0.0004356753165 0.0008956581319 0.002045700486 0.00107752516 +0.002323577899 0.0008956581319 0.004919986034 0.006355754777 -0.002312637363 +0.003920882443 0.002045700486 0.006355754777 0.006891494445 -0.005211736548 +0.0004578664896 0.00107752516 -0.002312637363 -0.005211736548 -0.002663562203 +-2.049415301e-05 -0.0001522714584 0.0004120771432 0.0008593512076 0.0003685723379 +-0.0001522714584 -0.0002048174292 0.0001098040228 0.0004641793156 0.0005036691916 +0.0004120771432 0.0001098040228 0.001118896727 0.001584061465 -0.0002909792815 +0.0008593512076 0.0004641793156 0.001584061465 0.001800521079 -0.001174086777 +0.0003685723379 0.0005036691916 -0.0002909792815 -0.001174086777 -0.001238206459 +-0.00696663245 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0008231750485 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001275481798 -0.002376200851 -0.005460316304 0 0 +-0.002376200851 -0.003717882318 -0.00141331246 0 0 +-0.005460316304 -0.00141331246 0.006894813713 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001110497448 -0.0003326779362 -0.001705960885 0 0 +-0.0003326779362 -0.001047522584 -0.0004481343407 0 0 +-0.001705960885 -0.0004481343407 0.001818702487 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003022657103 -0.001257786652 -0.00264414612 -0.0002214789059 9.284020179e-06 +-0.001257786652 -0.002041710146 -0.0001902651681 0.001032415232 0.0007651791171 +-0.00264414612 -0.0001902651681 0.005910483158 0.002107899328 0.001155400722 +-0.0002214789059 0.001032415232 0.002107899328 0.0001605967402 -1.904370557e-05 +9.284020179e-06 0.0007651791171 0.001155400722 -1.904370557e-05 -8.852027171e-05 +0.0004179112427 -0.0002154454088 -0.0009438433367 -0.000206363308 -7.696149551e-05 +-0.0002154454088 -0.0006053124648 -0.0001007476311 0.0002842773125 0.000237010582 +-0.0009438433367 -0.0001007476311 0.00165012865 0.0006119113137 0.000335601104 +-0.000206363308 0.0002842773125 0.0006119113137 5.772784557e-05 -1.099861216e-05 +-7.696149551e-05 0.000237010582 0.000335601104 -1.099861216e-05 -4.018489311e-05 +-0.01249355754 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0004596431505 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +8.561801537e-05 -0.00299028221 -0.002437109195 0 0 +-0.00299028221 0.00238704501 0.00619225925 0 0 +-0.002437109195 0.00619225925 0.008331202795 0 0 +0 0 0 0 0 +0 0 0 0 0 +2.452213671e-05 -0.0008486457515 -0.0006996560425 0 0 +-0.0008486457515 0.001119458607 0.00204508682 0 0 +-0.0006996560425 0.00204508682 0.002566626103 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001143199762 0.0008861615839 -0.0004465356276 -0.0005150646483 -0.002682571891 +0.0008861615839 5.484911631e-05 5.411700371e-06 -0.0004122007256 -0.00156617716 +-0.0004465356276 5.411700371e-06 -2.110900098e-05 0.0002083842035 0.0007623576638 +-0.0005150646483 -0.0004122007256 0.0002083842035 0.000231795506 0.001219133761 +-0.002682571891 -0.00156617716 0.0007623576638 0.001219133761 0.005878024467 +0.0004136478789 0.00026990808 -0.0001428593253 -0.0002075212268 -0.0009212612589 +0.00026990808 1.676208582e-05 1.448711787e-06 -0.0001206521659 -0.0004801116815 +-0.0001428593253 1.448711787e-06 -6.89784116e-06 6.290410511e-05 0.0002462799695 +-0.0002075212268 -0.0001206521659 6.290410511e-05 0.0001027438913 0.0004509769113 +-0.0009212612589 -0.0004801116815 0.0002462799695 0.0004509769113 0.001959895508 +0.3426463083 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0005323739912 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.05844361309 0.01428480527 -0.001942927746 0 0 +0.01428480527 0.03538122277 -0.02333668144 0 0 +-0.001942927746 -0.02333668144 0.05053923943 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.009987865795 0.00425835808 0.004826476809 0 0 +0.00425835808 0.009638728768 -0.006925969304 0 0 +0.004826476809 -0.006925969304 -0.003270051035 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01868778331 -0.004517577898 -0.02377876452 0.01033556157 -7.414417467e-05 +-0.004517577898 -0.003523614721 -0.001876011254 -0.01098507318 -0.008707860416 +-0.02377876452 -0.001876011254 0.02788657083 -0.003632352337 0.01643892455 +0.01033556157 -0.01098507318 -0.003632352337 0.01187294248 0.02721208017 +-7.414417467e-05 -0.008707860416 0.01643892455 0.02721208017 0.0236764908 +0.004312126136 -0.0002915892123 -0.005998236999 0.001394546493 -8.588195604e-05 +-0.0002915892123 -0.001493708162 -0.001364863437 -0.002716122532 -0.002985793329 +-0.005998236999 -0.001364863437 0.004851076656 -0.00312603262 0.004125073602 +0.001394546493 -0.002716122532 -0.00312603262 -0.001494018392 0.008205497947 +-8.588195604e-05 -0.002985793329 0.004125073602 0.008205497947 0.007581570622 +-0.0001348710844 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +7.129399411e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.380577884e-07 0.001711731209 -5.9731615e-05 0 0 +0.001711731209 -0.004191963313 -0.001983036109 0 0 +-5.9731615e-05 -0.001983036109 0.0001428249209 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.155529577e-07 0.0004684013918 -1.578027854e-05 0 0 +0.0004684013918 -0.001132963566 -0.0007381131645 0 0 +-1.578027854e-05 -0.0007381131645 5.070225812e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.563092541e-05 -1.356027656e-05 6.195787053e-06 4.631525907e-05 0.0009152854106 +-1.356027656e-05 8.834710988e-06 -2.825217905e-06 -4.433743935e-05 -0.001196316746 +6.195787053e-06 -2.825217905e-06 2.363499126e-07 2.197754271e-05 0.0007129750642 +4.631525907e-05 -4.433743935e-05 2.197754271e-05 0.0001313333901 0.002141057441 +0.0009152854106 -0.001196316746 0.0007129750642 0.002141057441 -0.001651143918 +5.458447838e-06 -4.147521984e-06 1.571561407e-06 1.610278365e-05 0.0003385611929 +-4.147521984e-06 2.657970514e-06 -7.54328133e-07 -1.343611095e-05 -0.0003600596601 +1.571561407e-06 -7.54328133e-07 6.050185079e-08 5.706287095e-06 0.000189104882 +1.610278365e-05 -1.343611095e-05 5.706287095e-06 4.458299176e-05 0.0007486338532 +0.0003385611929 -0.0003600596601 0.000189104882 0.0007486338532 -0.0004200234766 +0.05685913206 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.006427655725 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.02617859268 -0.0006574796284 0.05897770952 0 0 +-0.0006574796284 -0.03445659322 -0.005673060985 0 0 +0.05897770952 -0.005673060985 0.1323610738 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001020738041 0.0004543677405 0.002245235359 0 0 +0.0004543677405 -0.002186211164 0.0006983714611 0 0 +0.002245235359 0.0006983714611 0.004900714596 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003663574549 -0.0003088198114 -0.002409762087 0.004182741288 -0.0007327100865 +-0.0003088198114 -0.0005600760277 -0.0009215991783 0.002215742434 -0.001354266157 +-0.002409762087 -0.0009215991783 0.005221945383 -0.006846495146 -0.002278102369 +0.004182741288 0.002215742434 -0.006846495146 0.007572144698 0.005435018775 +-0.0007327100865 -0.001354266157 -0.002278102369 0.005435018775 -0.003274255033 +-7.255056387e-05 -0.0002011435096 -0.0003732231617 0.000855621699 -0.0004823191073 +-0.0002011435096 -0.0002524518601 -7.421292662e-05 0.0004613942746 -0.0006092624549 +-0.0003732231617 -7.421292662e-05 0.001102933061 -0.00161186801 -0.0001902649905 +0.000855621699 0.0004613942746 -0.00161186801 0.001871797277 0.001130860615 +-0.0004823191073 -0.0006092624549 -0.0001902649905 0.001130860615 -0.001470271519 +-0.007202572067 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0008532158683 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001316512335 -0.00243480811 0.005571115823 0 0 +-0.00243480811 -0.004016171615 0.001607978167 0 0 +0.005571115823 0.001607978167 0.006921067197 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00114952309 -0.0003195034803 0.001736241419 0 0 +-0.0003195034803 -0.00112870797 0.0005057389792 0 0 +0.001736241419 0.0005057389792 0.001820153286 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0002949074271 -0.001331052114 0.00273952677 -0.000235895449 -2.112735633e-05 +-0.001331052114 -0.002257958442 0.0003142613508 0.001048640178 -0.0008392001205 +0.00273952677 0.0003142613508 0.005999778278 -0.00216669701 0.001237300072 +-0.000235895449 0.001048640178 -0.00216669701 0.0001886607488 1.508342393e-05 +-2.112735633e-05 -0.0008392001205 0.001237300072 1.508342393e-05 -0.0001041529471 +0.0004365623653 -0.0002199470631 0.0009773377596 -0.0002160160853 8.180642914e-05 +-0.0002199470631 -0.0006670140172 0.0001397637914 0.0002875066406 -0.0002588763373 +0.0009773377596 0.0001397637914 0.001674202364 -0.0006288116864 0.0003600403791 +-0.0002160160853 0.0002875066406 -0.0006288116864 6.584404248e-05 9.520050363e-06 +8.180642914e-05 -0.0002588763373 0.0003600403791 9.520050363e-06 -4.557901246e-05 +-0.01333267353 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0005338950753 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.475344618e-05 -0.003156254415 0.002502034061 0 0 +-0.003156254415 0.002631515202 -0.006551433027 0 0 +0.002502034061 -0.006551433027 0.008622068163 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.561207317e-05 -0.0008895346153 0.0007144626764 0 0 +-0.0008895346153 0.001216013947 -0.002153093501 0 0 +0.0007144626764 -0.002153093501 0.002646234825 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00121982083 0.0009261210441 0.0004724193273 -0.0005713712035 0.002828276675 +0.0009261210441 3.537675841e-05 -3.324977128e-06 -0.0004571530303 0.001619769628 +0.0004724193273 -3.324977128e-06 -1.328142413e-05 -0.0002339435902 0.0008093700774 +-0.0005713712035 -0.0004571530303 -0.0002339435902 0.000266816938 -0.001343229977 +0.002828276675 0.001619769628 0.0008093700774 -0.001343229977 0.00614088637 +0.0004393689994 0.0002800687813 0.0001506900504 -0.0002280345191 0.0009673120149 +0.0002800687813 1.075709539e-05 -8.78740246e-07 -0.0001325465037 0.0004934867289 +0.0001506900504 -8.78740246e-07 -4.324629326e-06 -7.080714724e-05 0.0002606268251 +-0.0002280345191 -0.0001325465037 -7.080714724e-05 0.0001173727739 -0.0004926388363 +0.0009673120149 0.0004934867289 0.0002606268251 -0.0004926388363 0.002039287346 +0.0001334541053 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-6.205740446e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.111165897e-07 0.001606456438 -5.556476042e-05 0 0 +0.001606456438 -0.003946369509 0.001994708939 0 0 +-5.556476042e-05 0.001994708939 -0.0001338160418 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.112701483e-07 0.0004510405274 -1.501807989e-05 0 0 +0.0004510405274 -0.001094530809 0.0007271115858 0 0 +-1.501807989e-05 0.0007271115858 -4.746786098e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-1.456389561e-05 1.271234878e-05 5.610469781e-06 -4.333745702e-05 -0.0008659735565 +1.271234878e-05 -8.299204547e-06 -2.313680727e-06 4.166885482e-05 0.001129550332 +5.610469781e-06 -2.313680727e-06 2.250046027e-07 2.024279637e-05 0.0006787508919 +-4.333745702e-05 4.166885482e-05 2.024279637e-05 -0.0001236835859 -0.002063710205 +-0.0008659735565 0.001129550332 0.0006787508919 -0.002063710205 -0.00156969402 +-5.115590855e-06 3.977164311e-06 1.474063093e-06 -1.518056356e-05 -0.0003205718905 +3.977164311e-06 -2.573811388e-06 -6.443690743e-07 1.296505668e-05 0.0003501876428 +1.474063093e-06 -6.443690743e-07 6.081776062e-08 5.499798239e-06 0.0001900922049 +-1.518056356e-05 1.296505668e-05 5.499798239e-06 -4.24396667e-05 -0.0007247974454 +-0.0003205718905 0.0003501876428 0.0001900922049 -0.0007247974454 -0.0004232965069 +0.3398774587 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002009964479 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.06313337936 0.01696621446 -0.002476161059 0 0 +0.01696621446 0.04139684874 0.02735843058 0 0 +-0.002476161059 0.02735843058 0.04487089135 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01036850365 0.00426693258 -0.005243624459 0 0 +0.00426693258 0.01136980575 0.006298214071 0 0 +-0.005243624459 0.006298214071 -0.003960752368 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.02093359319 -0.004405743194 0.02695777725 0.01069855364 0.0003165728416 +-0.004405743194 -0.004224520913 0.003080702314 -0.01272631119 0.01071906456 +0.02695777725 0.003080702314 0.02891842312 0.00652818654 0.01893251006 +0.01069855364 -0.01272631119 0.00652818654 0.009191400702 -0.03181395253 +0.0003165728416 0.01071906456 0.01893251006 -0.03181395253 0.02815811982 +0.004717572555 0.000136129794 0.006024642508 0.001579748361 0.0004851337766 +0.000136129794 -0.00166923975 0.00153713228 -0.002623629534 0.003750388171 +0.006024642508 0.00153713228 0.005037937394 0.003432473156 0.003787491912 +0.001579748361 -0.002623629534 0.003432473156 -0.00244194099 -0.008376959648 +0.0004851337766 0.003750388171 0.003787491912 -0.008376959648 0.00921700968 +0.005678289085 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0001311451398 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0008096479519 -0.002568812645 0.239077149 0 0 +-0.002568812645 0.002792277186 -0.2505909194 0 0 +0.239077149 -0.2505909194 -0.0003108628612 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.0636172e-06 -3.045866882e-05 0.009000874239 0 0 +-3.045866882e-05 1.348940838e-05 -0.009297622856 0 0 +0.009000874239 -0.009297622856 -0.0003868548615 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0003896166845 8.894821263e-05 0.01383824025 -0.0003000307689 0.0111034738 +8.894821263e-05 0.0002492621825 -0.008480076653 3.125079688e-05 0.006394168116 +0.01383824025 -0.008480076653 0.0001523472704 -0.004379506897 -1.709829659e-05 +-0.0003000307689 3.125079688e-05 -0.004379506897 -0.0003676608441 -0.003036926342 +0.0111034738 0.006394168116 -1.709829659e-05 -0.003036926342 7.065949241e-05 +-0.0001246176381 -3.945617602e-05 0.003513646728 -0.0001283191994 0.001880296565 +-3.945617602e-05 5.386137803e-06 -0.001869006209 -5.577107607e-05 0.0009029059867 +0.003513646728 -0.001869006209 -9.257927965e-05 -0.0004566769075 0.0001689113492 +-0.0001283191994 -5.577107607e-05 -0.0004566769075 -0.0001547893697 -0.00211510554 +0.001880296565 0.0009029059867 0.0001689113492 -0.00211510554 -0.00022163303 +-0.002633446556 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-4.342591322e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0006106455762 6.775233551e-05 0.006789328884 0 0 +6.775233551e-05 -0.0005333676651 0.0002838780996 0 0 +0.006789328884 0.0002838780996 -0.0005081431271 0 0 +0 0 0 0 0 +0 0 0 0 0 +-9.543602482e-05 8.766582327e-06 -0.005387348001 0 0 +8.766582327e-06 -5.8190062e-05 -8.800018615e-05 0 0 +-0.005387348001 -8.800018615e-05 -9.472530795e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001994681063 0.0001013888284 -0.05588545407 0.0002347597419 0.00189787919 +0.0001013888284 -0.0005643194026 -0.00176916442 1.367801841e-05 0.03876737714 +-0.05588545407 -0.00176916442 -0.001142074546 -0.038984082 -1.593715991e-05 +0.0002347597419 1.367801841e-05 -0.038984082 0.0002235126596 0.004365259989 +0.00189787919 0.03876737714 -1.593715991e-05 0.004365259989 0.0002190756403 +-3.385620806e-05 1.494769192e-05 -0.01099972958 4.547093462e-05 0.0002864174571 +1.494769192e-05 -6.368058905e-05 -0.0003678461024 7.218822843e-06 0.008094778326 +-0.01099972958 -0.0003678461024 -0.0001738189291 -0.00819118274 -7.954283269e-06 +4.547093462e-05 7.218822843e-06 -0.00819118274 4.637475811e-05 0.001204446678 +0.0002864174571 0.008094778326 -7.954283269e-06 0.001204446678 4.470104473e-05 +0.0003297547696 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-7.373850327e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-4.094983105e-05 -8.428218949e-05 -0.01051706315 0 0 +-8.428218949e-05 -0.0003738562778 -0.03315947195 0 0 +-0.01051706315 -0.03315947195 -9.013136867e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-7.821678293e-06 -1.68355303e-05 -0.0008199427023 0 0 +-1.68355303e-05 -8.159417904e-05 -0.002721030027 0 0 +-0.0008199427023 -0.002721030027 -2.217196318e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-1.232256621e-05 1.31416099e-05 -0.003818491368 6.765553372e-05 0.01224909561 +1.31416099e-05 -3.628701958e-05 -0.01226760301 -4.822105562e-05 0.00043987879 +-0.003818491368 -0.01226760301 -1.519566687e-06 0.004112054586 -3.622575418e-05 +6.765553372e-05 -4.822105562e-05 0.004112054586 -0.0001469792262 0.007109827577 +0.01224909561 0.00043987879 -3.622575418e-05 0.007109827577 -8.938561468e-05 +-1.555640836e-06 3.299130155e-06 -0.001595574742 1.808525973e-05 0.002286288652 +3.299130155e-06 -8.029615134e-06 -0.002980242851 -1.182002267e-05 0.002000568091 +-0.001595574742 -0.002980242851 -1.08098709e-06 0.002113993604 -1.087526889e-05 +1.808525973e-05 -1.182002267e-05 0.002113993604 -4.177099132e-05 0.004990513741 +0.002286288652 0.002000568091 -1.087526889e-05 0.004990513741 -2.31773964e-05 +-0.6502913699 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0004679525617 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.09062877121 0.002927585855 -0.005599850004 0 0 +0.002927585855 -0.09001244751 0.008902057533 0 0 +-0.005599850004 0.008902057533 -0.04362497945 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01355360554 -0.004799722103 -0.008768919507 0 0 +-0.004799722103 -0.009965286277 0.01228963371 0 0 +-0.008768919507 0.01228963371 0.005906085718 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.02661724389 0.01974317252 0.0292468503 0.001432372418 0.01043294067 +0.01974317252 -0.02028404982 -0.01228388951 0.02487391351 -0.001423089581 +0.0292468503 -0.01228388951 -0.01945143334 -0.00289920234 -0.02187713739 +0.001432372418 0.02487391351 -0.00289920234 -0.04687448288 -0.02479967769 +0.01043294067 -0.001423089581 -0.02187713739 -0.02479967769 -0.005232905676 +-0.005489778937 0.00474070318 0.006254525118 0.0005829873723 0.001382427606 +0.00474070318 -0.003455849779 -0.001079064185 0.00550382426 -0.002142747757 +0.006254525118 -0.001079064185 -0.001263448348 -0.0006702978094 -0.006359060939 +0.0005829873723 0.00550382426 -0.0006702978094 -0.00989227829 -0.00480604965 +0.001382427606 -0.002142747757 -0.006359060939 -0.00480604965 0.00287489271 +0.6486826899 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.005567378938 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.09769794229 0.00156266333 -0.01305172623 0 0 +0.00156266333 0.09406299856 0.01890357454 0 0 +-0.01305172623 0.01890357454 0.03692241976 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01388190257 0.00527784037 -0.009206530519 0 0 +0.00527784037 0.01009085395 0.01275886726 0 0 +-0.009206530519 0.01275886726 -0.005167912048 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.029843041 -0.02251055231 0.03278146697 -0.001709459871 0.01093689925 +-0.02251055231 0.0215631225 -0.01168801954 -0.02815019627 -0.003489894645 +0.03278146697 -0.01168801954 0.01852965423 -0.00312212867 0.02646020447 +-0.001709459871 -0.02815019627 -0.00312212867 0.05181554336 -0.02732227496 +0.01093689925 -0.003489894645 0.02646020447 -0.02732227496 0.002004664777 +0.006012726472 -0.004671345273 0.005799324262 -0.0003039489769 0.001993983468 +-0.004671345273 0.00357338709 -0.001038190306 -0.005343262254 -0.002068076824 +0.005799324262 -0.001038190306 0.001106684605 -0.001383682554 0.005842786382 +-0.0003039489769 -0.005343262254 -0.001383682554 0.01044442246 -0.003819787396 +0.001993983468 -0.002068076824 0.005842786382 -0.003819787396 -0.002582438844 +0.0004399502596 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +2.844730168e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001388879337 1.838896434e-05 -0.1168569355 0 0 +1.838896434e-05 1.877801689e-07 -0.0008071743378 0 0 +-0.1168569355 -0.0008071743378 -0.001279649633 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.347930061e-05 2.649164633e-07 -0.005392213707 0 0 +2.649164633e-07 -2.45519294e-09 2.020778626e-05 0 0 +-0.005392213707 2.020778626e-05 -0.0001141974626 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0002274310697 8.353163749e-06 -0.01801559799 5.384835963e-05 -0.000351806913 +8.353163749e-06 2.763347444e-07 -0.0008701798251 2.531982996e-06 -1.701138846e-05 +-0.01801559799 -0.0008701798251 6.930870148e-05 -0.0004722684193 -0.0001259374691 +5.384835963e-05 2.531982996e-06 -0.0004722684193 2.666427471e-06 -8.884051279e-06 +-0.000351806913 -1.701138846e-05 -0.0001259374691 -8.884051279e-06 -4.956374874e-06 +3.125329958e-05 1.046606637e-06 -0.003808907334 1.112884445e-05 -7.446647061e-05 +1.046606637e-06 2.972914198e-08 -0.0001772439853 5.080356801e-07 -3.46740438e-06 +-0.003808907334 -0.0001772439853 6.634565085e-06 -9.189085563e-05 -2.019671168e-05 +1.112884445e-05 5.080356801e-07 -9.189085563e-05 5.18732875e-07 -1.7411558e-06 +-7.446647061e-05 -3.46740438e-06 -2.019671168e-05 -1.7411558e-06 -7.931421338e-07 +0.00206848473 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +7.500119937e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0007077766051 -0.0002596056949 0.01203732781 0 0 +-0.0002596056949 0.000635234747 -0.01381725369 0 0 +0.01203732781 -0.01381725369 0.0002765926432 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001874505155 -5.592827981e-05 0.01008457719 0 0 +-5.592827981e-05 8.033517433e-05 -0.003479160654 0 0 +0.01008457719 -0.003479160654 1.771708084e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0002092772506 -0.000242187275 0.0655169845 -0.0002729300022 -0.002303933221 +-0.000242187275 0.0006887919393 -0.009813708953 -2.42909395e-05 -0.04061529123 +0.0655169845 -0.009813708953 0.001066879642 0.0406654122 5.814227438e-05 +-0.0002729300022 -2.42909395e-05 0.0406654122 -0.000240425385 -0.004595436656 +-0.002303933221 -0.04061529123 5.814227438e-05 -0.004595436656 -0.0002337543898 +7.556225675e-05 -5.787577026e-05 0.01376875989 -4.940854279e-05 -0.0007091781764 +-5.787577026e-05 9.558545234e-05 -0.002858228553 -1.043736876e-05 -0.008645019475 +0.01376875989 -0.002858228553 0.0001446375309 0.008689664487 2.072803014e-05 +-4.940854279e-05 -1.043736876e-05 0.008689664487 -5.17485117e-05 -0.001297737819 +-0.0007091781764 -0.008645019475 2.072803014e-05 -0.001297737819 -4.980382967e-05 +-2.766900249e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.316570337e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +2.984331218e-05 9.133141827e-06 -0.003349397886 0 0 +9.133141827e-06 -6.376783347e-06 0.0008318747658 0 0 +-0.003349397886 0.0008318747658 -3.391471787e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +9.321585851e-06 3.416348608e-06 -0.001093555892 0 0 +3.416348608e-06 -1.021930274e-06 0.0001393594938 0 0 +-0.001093555892 0.0001393594938 -1.0864183e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +7.740450299e-06 1.170914145e-05 -0.001231465071 3.011117814e-06 -0.001059541565 +1.170914145e-05 1.767576176e-05 -0.001777833527 4.092342384e-06 -0.001529628318 +-0.001231465071 -0.001777833527 -5.207079312e-06 0.0005869581935 -1.322252598e-05 +3.011117814e-06 4.092342384e-06 0.0005869581935 -4.62872414e-06 0.0005050611619 +-0.001059541565 -0.001529628318 -1.322252598e-05 0.0005050611619 -1.889881772e-05 +2.488223397e-06 3.88728578e-06 -0.0004062899915 1.09479314e-06 -0.0003495680241 +3.88728578e-06 6.073000661e-06 -0.0006352094741 1.712746037e-06 -0.0005465281799 +-0.0004062899915 -0.0006352094741 -1.827498332e-06 0.000154760191 -4.617998963e-06 +1.09479314e-06 1.712746037e-06 0.000154760191 -1.195014214e-06 0.0001331694998 +-0.0003495680241 -0.0005465281799 -4.617998963e-06 0.0001331694998 -6.593858816e-06 +0.01258322392 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007532504386 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01496044512 0.001731511396 -0.000794000222 0 0 +0.001731511396 0.0007685879397 0.0007832645608 0 0 +-0.000794000222 0.0007832645608 0.0004511447051 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.004577636283 0.0006944269727 -1.564879348e-05 0 0 +0.0006944269727 0.0001132809884 0.000105852522 0 0 +-1.564879348e-05 0.000105852522 4.89244202e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.004618776701 0.002918147611 0.003624693725 -0.001078492973 0.0005635398379 +0.002918147611 -0.00184258399 -0.002314068581 0.0006821101657 -0.0003766326484 +0.003624693725 -0.002314068581 -0.00232377933 0.0008307980748 4.793258461e-06 +-0.001078492973 0.0006821101657 0.0008307980748 -0.0002513643416 0.0001182182142 +0.0005635398379 -0.0003766326484 4.793258461e-06 0.0001182182142 0.00031498773 +-0.001424776037 0.0009441526403 0.001182150732 -0.0003023404476 0.0001122548225 +0.0009441526403 -0.0006248768645 -0.0007694307361 0.0002013518487 -6.666320287e-05 +0.001182150732 -0.0007694307361 -0.0007323748203 0.0002686885918 4.452136999e-05 +-0.0003023404476 0.0002013518487 0.0002686885918 -6.287725714e-05 3.370127542e-05 +0.0001122548225 -6.666320287e-05 4.452136999e-05 3.370127542e-05 6.742472682e-05 +-0.01329347856 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0008684527776 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01640929033 -0.001787153574 -0.001015115885 0 0 +-0.001787153574 -0.000851718558 0.0008212051847 0 0 +-0.001015115885 0.0008212051847 -0.0004198478123 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004959633231 -0.0007402499253 -2.719586291e-05 0 0 +-0.0007402499253 -0.0001127899676 9.318907879e-05 0 0 +-2.719586291e-05 9.318907879e-05 -3.543083558e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.005189684378 -0.003202699549 0.00396419863 0.00120013734 0.0006780791848 +-0.003202699549 0.001976093689 -0.002461927507 -0.0007408273608 -0.000430963384 +0.00396419863 -0.002461927507 0.002398205191 0.000909062364 1.022238319e-05 +0.00120013734 -0.0007408273608 0.000909062364 0.0002774434974 0.0001506214123 +0.0006780791848 -0.000430963384 1.022238319e-05 0.0001506214123 -0.0003206724923 +0.001555794318 -0.001018494951 0.001276810594 0.000317810172 0.0001224357375 +-0.001018494951 0.0006646482904 -0.0008105263758 -0.000210434967 -6.782670057e-05 +0.001276810594 -0.0008105263758 0.0007430730681 0.0002894752769 -4.780648109e-05 +0.000317810172 -0.000210434967 0.0002894752769 6.222671915e-05 3.895208008e-05 +0.0001224357375 -6.782670057e-05 -4.780648109e-05 3.895208008e-05 -6.251187994e-05 +2.765712291e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.720077601e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.113124346e-05 3.245260081e-05 0.02329654216 0 0 +3.245260081e-05 9.435571836e-05 0.0643713405 0 0 +0.02329654216 0.0643713405 -0.0007521242988 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.651718696e-07 1.324480272e-06 0.001189682786 0 0 +1.324480272e-06 3.74856956e-06 0.003125069686 0 0 +0.001189682786 0.003125069686 -5.536458665e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.489680862e-07 -1.428568298e-06 -0.001167190892 -3.207209937e-06 -0.003580694724 +-1.428568298e-06 2.779208265e-06 0.001398748672 5.496891823e-06 0.004291134866 +-0.001167190892 0.001398748672 -4.569232532e-05 0.002166977971 -4.860762941e-05 +-3.207209937e-06 5.496891823e-06 0.002166977971 1.036150779e-05 0.006648016179 +-0.003580694724 0.004291134866 -4.860762941e-05 0.006648016179 0.0001317867546 +5.794803474e-08 -3.088664643e-07 -0.0003195899556 -7.512481062e-07 -0.0009804313661 +-3.088664643e-07 7.098740382e-07 0.0004187198419 1.45592233e-06 0.001284554564 +-0.0003195899556 0.0004187198419 -1.021961453e-05 0.00064706887 -1.130587013e-05 +-7.512481062e-07 1.45592233e-06 0.00064706887 2.804572041e-06 0.001985104076 +-0.0009804313661 0.001284554564 -1.130587013e-05 0.001985104076 2.681148271e-05 +2.916457569e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-3.310837267e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-3.08062352e-06 -2.523124539e-05 0.0003458931666 0 0 +-2.523124539e-05 -4.113798278e-05 0.005366300454 0 0 +0.0003458931666 0.005366300454 -6.21456119e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-3.96212242e-06 -8.102064027e-06 0.000464856485 0 0 +-8.102064027e-06 -1.100904517e-05 0.001501104849 0 0 +0.000464856485 0.001501104849 -1.538380187e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.963734967e-07 -1.041971849e-05 -3.117808173e-05 -6.679959667e-07 -2.691181243e-05 +-1.041971849e-05 -3.345446795e-05 0.003364986544 -1.451936462e-05 0.002895143815 +-3.117808173e-05 0.003364986544 -4.080482483e-05 0.0002518290119 -7.816653927e-06 +-6.679959667e-07 -1.451936462e-05 0.0002518290119 -1.985311817e-06 0.0002165694395 +-2.691181243e-05 0.002895143815 -7.816653927e-06 0.0002165694395 1.675716164e-05 +-1.165253163e-06 -3.93856748e-06 0.0001902854587 -1.014137568e-06 0.0001637018955 +-3.93856748e-06 -9.457271249e-06 0.0009892205964 -4.255587931e-06 0.0008511038967 +0.0001902854587 0.0009892205964 -1.017754341e-05 9.130186965e-05 -1.48686585e-06 +-1.014137568e-06 -4.255587931e-06 9.130186965e-05 -7.048714467e-07 7.852928224e-05 +0.0001637018955 0.0008511038967 -1.48686585e-06 7.852928224e-05 4.975910857e-06 +-0.0006393466189 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.000108858281 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-6.863229488e-06 -1.384144723e-05 0.01412826026 0 0 +-1.384144723e-05 0.0005375631205 0.02377240907 0 0 +0.01412826026 0.02377240907 -3.614828588e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-6.685477735e-06 -8.256338547e-06 0.001966278735 0 0 +-8.256338547e-06 0.0001440246413 -4.590978698e-05 0 0 +0.001966278735 -4.590978698e-05 -2.20315675e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.535354228e-05 -1.281327888e-05 0.005572138678 -0.0001328194577 -0.008839318526 +-1.281327888e-05 3.999909218e-06 0.014057413 -1.914488362e-05 0.001784019542 +0.005572138678 0.014057413 8.27347367e-06 -0.005893738859 4.013101176e-05 +-0.0001328194577 -1.914488362e-05 -0.005893738859 0.0002089884226 -0.0121954792 +-0.008839318526 0.001784019542 4.013101176e-05 -0.0121954792 2.354555101e-05 +9.092121602e-06 -4.714060902e-06 0.002169191093 -4.174466802e-05 -0.001158188308 +-4.714060902e-06 -2.586322568e-06 0.003619589203 -7.861039142e-06 -0.001254974613 +0.002169191093 0.003619589203 3.386879169e-06 -0.002663422377 1.176321858e-05 +-4.174466802e-05 -7.861039142e-06 -0.002663422377 6.817256529e-05 -0.006699530774 +-0.001158188308 -0.001254974613 1.176321858e-05 -0.006699530774 -3.902552317e-06 +0.00723547466 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0003192482788 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.129168204e-05 -0.00246002143 -0.0001403733303 0 0 +-0.00246002143 -0.009384132153 0.001149457021 0 0 +-0.0001403733303 0.001149457021 0.0001394461352 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.395017616e-05 -0.000666665083 -2.562181066e-05 0 0 +-0.000666665083 -0.00302266789 0.0001877129761 0 0 +-2.562181066e-05 0.0001877129761 1.62460491e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007483894735 -6.187091546e-05 0.0005969497246 0.001673189284 0.0009497952545 +-6.187091546e-05 -3.796863097e-06 2.40846329e-05 0.0001387166247 5.956796519e-05 +0.0005969497246 2.40846329e-05 8.161286415e-06 -0.001342099261 -0.0003942914663 +0.001673189284 0.0001387166247 -0.001342099261 -0.003740666943 -0.002129092456 +0.0009497952545 5.956796519e-05 -0.0003942914663 -0.002129092456 -0.0009328676312 +-0.000267170251 -2.785174525e-05 0.0001723221966 0.0005633380367 0.000331293435 +-2.785174525e-05 -1.848121765e-06 7.026445381e-06 6.22090412e-05 2.420451003e-05 +0.0001723221966 7.026445381e-06 2.21249041e-06 -0.0003994418293 -0.0001066005536 +0.0005633380367 6.22090412e-05 -0.0003994418293 -0.00117632569 -0.0007326393605 +0.000331293435 2.420451003e-05 -0.0001066005536 -0.0007326393605 -0.0003096567197 +-0.007671490075 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0004087366197 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-3.435445157e-05 0.002747638868 -9.259882442e-05 0 0 +0.002747638868 0.01039219378 0.001314019734 0 0 +-9.259882442e-05 0.001314019734 -8.833670015e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-9.055334163e-06 0.0007224684306 -1.025285971e-05 0 0 +0.0007224684306 0.00331185592 0.000198890255 0 0 +-1.025285971e-05 0.000198890255 -5.320127567e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0008407512681 6.406370016e-05 0.0006555071456 -0.001871339792 0.001027325693 +6.406370016e-05 2.671979617e-06 1.618357033e-05 -0.0001459076775 5.15820143e-05 +0.0006555071456 1.618357033e-05 -4.892499227e-06 -0.001509682278 0.0003929887038 +-0.001871339792 -0.0001459076775 -0.001509682278 0.004160244778 -0.002326672015 +0.001027325693 5.15820143e-05 0.0003929887038 -0.002326672015 0.000932704924 +0.0002973455232 3.009654866e-05 0.0001813920449 -0.0006201754836 0.0003545349387 +3.009654866e-05 1.336431125e-06 4.527228012e-06 -6.931637797e-05 2.155199934e-05 +0.0001813920449 4.527228012e-06 -1.251451768e-06 -0.000431270027 0.0001003247949 +-0.0006201754836 -6.931637797e-05 -0.000431270027 0.001268460238 -0.0007943100036 +0.0003545349387 2.155199934e-05 0.0001003247949 -0.0007943100036 0.000302574941 +0.09575602972 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01161850814 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.04470715012 -0.05630589805 -0.07198295504 0 0 +-0.05630589805 0.07055714336 0.09275212306 0 0 +-0.07198295504 0.09275212306 0.1036052635 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001792340491 -0.002184165815 -0.002463667186 0 0 +-0.002184165815 0.002631290035 0.00316068423 0 0 +-0.002463667186 0.00316068423 0.002559626359 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0008183159679 0.00231018549 0.002677165577 -0.0001558715101 -0.003608096255 +0.00231018549 0.002611968116 0.003853017668 0.00156257623 -0.005183016424 +0.002677165577 0.003853017668 0.00524789088 0.001387660603 -0.007063443309 +-0.0001558715101 0.00156257623 0.001387660603 -0.0009960299897 -0.001875216823 +-0.003608096255 -0.005183016424 -0.007063443309 -0.001875216823 0.009507060438 +-3.671744095e-05 0.0004125855553 0.0003557201433 -0.00030924609 -0.0004799020848 +0.0004125855553 0.0006009521417 0.000827661001 0.0002354312044 -0.001113480377 +0.0003557201433 0.000827661001 0.0009987558788 1.151289299e-05 -0.001344549886 +-0.00030924609 0.0002354312044 1.151289299e-05 -0.0006007175055 -1.746023085e-05 +-0.0004799020848 -0.001113480377 -0.001344549886 -1.746023085e-05 0.001810059937 +-0.01291533875 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001526072271 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002364597187 -0.005627971605 -0.009463231067 0 0 +-0.005627971605 0.003843260387 0.004114405999 0 0 +-0.009463231067 0.004114405999 0.002393194512 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002058735096 -0.001735718637 -0.002559074152 0 0 +-0.001735718637 0.001003057003 0.001044838052 0 0 +-0.002559074152 0.001044838052 0.0004913184276 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0005603660119 -0.002721866562 -0.004691535125 -0.0001217549634 0.000207049428 +-0.002721866562 0.003288771231 0.004095894954 -0.000448369805 -0.0005261839407 +-0.004691535125 0.004095894954 0.004099897553 -0.0009374813556 -0.0008310221008 +-0.0001217549634 -0.000448369805 -0.0009374813556 -8.239611575e-05 5.212192507e-06 +0.000207049428 -0.0005261839407 -0.0008310221008 5.212192507e-06 5.335184386e-05 +0.0007747595853 -0.0009545178617 -0.001450348637 2.847073369e-05 0.0001274767582 +-0.0009545178617 0.0009037390666 0.00111638058 -0.0001294220341 -0.0001515616989 +-0.001450348637 0.00111638058 0.001063823211 -0.0002856487079 -0.0002251107888 +2.847073369e-05 -0.0001294220341 -0.0002856487079 -3.164898812e-05 6.587726157e-06 +0.0001274767582 -0.0001515616989 -0.0002251107888 6.587726157e-06 2.086387683e-05 +-0.007047683233 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0002592871818 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.829758453e-05 -0.002371293109 -0.0001614338017 0 0 +-0.002371293109 0.001896084374 0.004213307815 0 0 +-0.0001614338017 0.004213307815 0.0004192343369 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.383306965e-05 -0.0006809994208 -3.610531704e-05 0 0 +-0.0006809994208 0.0009009065808 0.001298618664 0 0 +-3.610531704e-05 0.001298618664 8.720945127e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0006448851555 0.0005028269425 -0.000257102132 -0.0008652666251 -0.001165948748 +0.0005028269425 3.98659679e-05 -7.221205355e-06 -0.001106640132 -0.0003646976091 +-0.000257102132 -7.221205355e-06 -3.529954696e-06 0.0005819844233 0.0001661282263 +-0.0008652666251 -0.001106640132 0.0005819844233 0.0006311270519 0.002232132323 +-0.001165948748 -0.0003646976091 0.0001661282263 0.002232132323 0.001266500204 +0.0002333410008 0.0001533731179 -8.256698003e-05 -0.0003354396919 -0.0003877225064 +0.0001533731179 1.229864134e-05 -2.500026416e-06 -0.0003467179267 -0.0001058293335 +-8.256698003e-05 -2.500026416e-06 -1.064397447e-06 0.0001925294762 5.003447801e-05 +-0.0003354396919 -0.0003467179267 0.0001925294762 0.0003021737503 0.0007698997981 +-0.0003877225064 -0.0001058293335 5.003447801e-05 0.0007698997981 0.0003933619737 +0.6134014558 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001398373611 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.1054853353 -0.002110972399 0.01203482526 0 0 +-0.002110972399 0.09849090928 -0.0175618235 0 0 +0.01203482526 -0.0175618235 0.05629852089 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01810305817 0.004795699441 0.01028005049 0 0 +0.004795699441 0.01283802247 -0.01435620391 0 0 +0.01028005049 -0.01435620391 -0.001317194043 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.03384739809 -0.0238205904 -0.03418934131 0.001797332958 -0.0111274566 +-0.0238205904 0.02213005726 0.01455402879 -0.02780941914 0.001782166436 +-0.03418934131 0.01455402879 0.02174327172 0.002171804071 0.02230561782 +0.001797332958 -0.02780941914 0.002171804071 0.05852536426 0.02820807127 +-0.0111274566 0.001782166436 0.02230561782 0.02820807127 0.005792434242 +0.007836102653 -0.00601547188 -0.007798732463 0.0004599212749 -0.001620162598 +-0.00601547188 0.004082462997 0.001835576755 -0.006388150724 0.002197681109 +-0.007798732463 0.001835576755 0.001987231959 0.0004752603022 0.006431460026 +0.0004599212749 -0.006388150724 0.0004752603022 0.01368512484 0.005855491799 +-0.001620162598 0.002197681109 0.006431460026 0.005855491799 -0.002647732348 +-0.01725247303 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0009119802931 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.60355855e-05 -9.377046568e-05 -0.005928299375 0 0 +-9.377046568e-05 0.0001456134719 0.007288171858 0 0 +-0.005928299375 0.007288171858 0.01415711166 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.478133208e-05 -2.462380116e-05 -0.00154999172 0 0 +-2.462380116e-05 3.793764234e-05 0.001885179457 0 0 +-0.00154999172 0.001885179457 0.004971183771 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001999480618 -0.00129993411 0.0007891561834 0.004079355356 -0.0009291932662 +-0.00129993411 -3.975084823e-07 -2.088721041e-05 -0.002251129469 4.444774156e-05 +0.0007891561834 -2.088721041e-05 2.497869212e-05 0.001376622662 -4.096796414e-05 +0.004079355356 -0.002251129469 0.001376622662 0.008132548387 -0.001630322737 +-0.0009291932662 4.444774156e-05 -4.096796414e-05 -0.001630322737 6.137912933e-05 +0.0006982350927 -0.0003701873237 0.000199777799 0.001379117352 -0.0002276022937 +-0.0003701873237 -1.154237608e-07 -6.022715377e-06 -0.0006410614758 1.281401099e-05 +0.000199777799 -6.022715377e-06 6.34558537e-06 0.0003487518159 -1.025728769e-05 +0.001379117352 -0.0006410614758 0.0003487518159 0.002682609936 -0.0004000564156 +-0.0002276022937 1.281401099e-05 -1.025728769e-05 -0.0004000564156 1.495509411e-05 +-0.1019019262 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01151953038 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.04691680865 0.05882386912 -0.07353380065 0 0 +0.05882386912 -0.07344396404 0.09427463022 0 0 +-0.07353380065 0.09427463022 -0.1012626267 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.00182934858 0.002213035087 -0.002334676132 0 0 +0.002213035087 -0.002648525558 0.002991661155 0 0 +-0.002334676132 0.002991661155 -0.002003209448 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0006565793211 -0.002406058298 0.002667383047 0.0004052611294 -0.003562875904 +-0.002406058298 -0.002864285842 0.004098490138 -0.001601855902 -0.005485275169 +0.002667383047 0.004098490138 -0.005423854527 0.001297136742 0.007255086705 +0.0004052611294 -0.001601855902 0.001297136742 0.001350662898 -0.001726988963 +-0.003562875904 -0.005485275169 0.007255086705 -0.001726988963 -0.00970455031 +0.0001300238315 -0.0003738671194 0.0002591304181 0.0004271876931 -0.0003454966433 +-0.0003738671194 -0.0006070778827 0.0007998693513 -0.0001816240863 -0.001070512769 +0.0002591304181 0.0007998693513 -0.0009025915497 -0.0001100139999 0.001207141119 +0.0004271876931 -0.0001816240863 -0.0001100139999 0.0007521835703 0.0001492028505 +-0.0003454966433 -0.001070512769 0.001207141119 0.0001492028505 -0.001614445247 +0.013451136 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001593420042 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002458647593 0.00584505621 -0.009709318789 0 0 +0.00584505621 -0.003903989486 0.00405266914 0 0 +-0.009709318789 0.00405266914 -0.002099498416 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002146787464 0.001790982399 -0.002603011521 0 0 +0.001790982399 -0.00101419307 0.001021217939 0 0 +-0.002603011521 0.001021217939 -0.0003989263987 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0005507532411 0.002873084727 -0.00490881722 0.0001605932197 0.0002259164155 +0.002873084727 -0.0033797893 0.004121991875 0.0004735020907 -0.0005210457843 +-0.00490881722 0.004121991875 -0.003983897825 -0.0009956778636 0.0007966336402 +0.0001605932197 0.0004735020907 -0.0009956778636 0.000101294153 8.395035559e-06 +0.0002259164155 -0.0005210457843 0.0007966336402 8.395035559e-06 -5.543025596e-05 +-0.0008153003809 0.001001384508 -0.001508967128 -2.351898796e-05 0.0001315820655 +0.001001384508 -0.0009261866586 0.001120473479 0.000136896168 -0.0001493010481 +-0.001508967128 0.001120473479 -0.00102446427 -0.0003041349092 0.0002138239078 +-2.351898796e-05 0.000136896168 -0.0003041349092 3.772761316e-05 8.17413231e-06 +0.0001315820655 -0.0001493010481 0.0002138239078 8.17413231e-06 -2.073700274e-05 +0.007384944085 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0002957235298 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-3.032783617e-05 0.002460283604 -0.0001003654204 0 0 +0.002460283604 -0.002053414433 0.0043418803 0 0 +-0.0001003654204 0.0043418803 -0.0002590399645 0 0 +0 0 0 0 0 +0 0 0 0 0 +-8.647499478e-06 0.000702674941 -1.667482381e-05 0 0 +0.000702674941 -0.0009623151128 0.001328961656 0 0 +-1.667482381e-05 0.001328961656 -3.214173758e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0006756565819 -0.000514864415 -0.0002650801065 0.0009274194313 -0.001184286767 +-0.000514864415 -2.52546193e-05 -4.755254696e-06 0.001169913729 -0.0003295724051 +-0.0002650801065 -4.755254696e-06 1.983127024e-06 0.000612741656 -0.0001568109579 +0.0009274194313 0.001169913729 0.000612741656 -0.0006885075243 0.002348458137 +-0.001184286767 -0.0003295724051 -0.0001568109579 0.002348458137 -0.001181761323 +-0.000243365705 -0.0001558454729 -8.475937986e-05 0.000358004307 -0.0003908098141 +-0.0001558454729 -7.755704301e-06 -1.636850968e-06 0.0003646862424 -9.32359648e-05 +-8.475937986e-05 -1.636850968e-06 5.860036999e-07 0.0002021391061 -4.630442873e-05 +0.000358004307 0.0003646862424 0.0002021391061 -0.0003273803101 0.0008059477342 +-0.0003908098141 -9.32359648e-05 -4.630442873e-05 0.0008059477342 -0.0003596881662 +0.01707121554 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007938274551 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.258931452e-05 -8.8103422e-05 -0.005500601704 0 0 +-8.8103422e-05 0.0001370824415 0.006727044385 0 0 +-0.005500601704 0.006727044385 -0.01326413229 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.42334826e-05 -2.373922759e-05 -0.001469860383 0 0 +-2.373922759e-05 3.665070935e-05 0.001773004699 0 0 +-0.001469860383 0.001773004699 -0.004654062145 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001862988033 0.001221141181 0.0007208475599 -0.003824401687 -0.0008188191651 +0.001221141181 3.734139361e-07 1.984466898e-05 0.002114678844 -4.201217139e-05 +0.0007208475599 1.984466898e-05 2.377966056e-05 0.001238699455 -3.898222282e-05 +-0.003824401687 0.002114678844 0.001238699455 -0.007658850094 -0.001397519338 +-0.0008188191651 -4.201217139e-05 -3.898222282e-05 -0.001397519338 5.835133521e-05 +-0.0006543774277 0.0003584678046 0.0001897344153 -0.001303906236 -0.0002058132661 +0.0003584678046 1.117691067e-07 5.891720551e-06 0.0006207655743 -1.247465892e-05 +0.0001897344153 5.891720551e-06 6.378718783e-06 0.0003257907448 -1.031990351e-05 +-0.001303906236 0.0006207655743 0.0003257907448 -0.002553643599 -0.0003505040644 +-0.0002058132661 -1.247465892e-05 -1.031990351e-05 -0.0003505040644 1.507163159e-05 +-0.6104652482 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003378209247 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.1141289138 -0.002429378159 0.02008774031 0 0 +-0.002429378159 -0.1037490872 -0.02832697132 0 0 +0.02008774031 -0.02832697132 -0.0505713469 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0188472618 -0.005235435075 0.01079397096 0 0 +-0.005235435075 -0.01332785754 -0.01493612605 0 0 +0.01079397096 -0.01493612605 0.0002374792394 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.03787295726 0.02694912227 -0.03819032893 -0.001698693034 -0.01171311087 +0.02694912227 -0.02354149066 0.01415465069 0.03128806078 0.003824828273 +-0.03819032893 0.01415465069 -0.02094794561 0.002346125921 -0.02682244759 +-0.001698693034 0.03128806078 0.002346125921 -0.06438578002 0.0311286483 +-0.01171311087 0.003824828273 -0.02682244759 0.0311286483 -0.002678076338 +-0.008564101406 0.006029931 -0.0074573047 -0.0007728030633 -0.00224335185 +0.006029931 -0.004239256387 0.001850212169 0.006264075074 0.002101537514 +-0.0074573047 0.001850212169 -0.001854851807 0.001176725489 -0.005885047408 +-0.0007728030633 0.006264075074 0.001176725489 -0.01445771936 0.004975201736 +-0.00224335185 0.002101537514 -0.005885047408 0.004975201736 0.002327420689 +0.04177570674 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003833883588 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.3779009219 0.008007323669 0.003535121299 0 0 +0.008007323669 -0.1686759345 0.002747245825 0 0 +0.003535121299 0.002747245825 -0.194572305 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.007878365007 2.934101438e-05 0.0001993817653 0 0 +2.934101438e-05 -0.006521034675 3.440507553e-05 0 0 +0.0001993817653 3.440507553e-05 -0.00735181386 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002142075626 0.0003278217007 7.447672574e-05 -0.001460899045 -0.0003990710225 +0.0003278217007 0.00859707516 -0.0003784033916 0.002324705735 0.0001152827963 +7.447672574e-05 -0.0003784033916 0.01047281603 -0.0001207434464 -0.001954162695 +-0.001460899045 0.002324705735 -0.0001207434464 -0.01252062357 -0.000322389309 +-0.0003990710225 0.0001152827963 -0.001954162695 -0.000322389309 -0.01360733847 +-0.005968725021 -0.0001534470572 -2.545620263e-05 -0.0002714561114 -3.432021405e-05 +-0.0001534470572 0.002769224513 -0.0001001352142 0.001093071788 5.798575385e-05 +-2.545620263e-05 -0.0001001352142 0.003344455498 -6.374981107e-05 -0.001132723679 +-0.0002714561114 0.001093071788 -6.374981107e-05 -0.003028099214 1.327007367e-06 +-3.432021405e-05 5.798575385e-05 -0.001132723679 1.327007367e-06 -0.002981268254 +0.7134057583 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01987536419 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.05481975247 -0.005811640255 -0.0003214903792 0 0 +-0.005811640255 0.1898256089 -0.0001409572679 0 0 +-0.0003214903792 -0.0001409572679 0.1905920277 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.017615884 -0.0004133819374 1.847730302e-05 0 0 +-0.0004133819374 0.02073246774 -1.819156867e-05 0 0 +1.847730302e-05 -1.819156867e-05 0.02085473542 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.05286711993 -0.007672765675 -0.0008184514425 -0.0004534370443 -2.275858313e-05 +-0.007672765675 0.1238661862 -0.0001565143504 0.006659345619 0.0004566273783 +-0.0008184514425 -0.0001565143504 0.1250265341 -0.000469934185 -0.0003152142744 +-0.0004534370443 0.006659345619 -0.000469934185 0.0003000406867 3.187451342e-05 +-2.275858313e-05 0.0004566273783 -0.0003152142744 3.187451342e-05 -0.0001446626698 +0.02443382145 0.0002499913193 8.634714929e-05 -9.739731208e-05 -6.369975162e-06 +0.0002499913193 0.006591936512 -7.167668879e-06 0.0005292253489 4.071539727e-05 +8.634714929e-05 -7.167668879e-06 0.006663829572 -4.265558326e-05 4.360853013e-05 +-9.739731208e-05 0.0005292253489 -4.265558326e-05 4.195668516e-05 4.748162607e-06 +-6.369975162e-06 4.071539727e-05 4.360853013e-05 4.748162607e-06 -2.436382596e-05 +-0.2398852528 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003983784973 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.008756734551 0.02498686668 2.170150516e-05 0 0 +0.02498686668 -0.04908433081 2.180607295e-05 0 0 +2.170150516e-05 2.180607295e-05 -0.02641995859 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003501782125 0.004834879451 5.563244886e-06 0 0 +0.004834879451 0.001476735232 6.427980662e-06 0 0 +5.563244886e-06 6.427980662e-06 -0.005658338392 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.006622135785 -0.004172297116 1.947792205e-05 0.002969746579 9.857788765e-06 +-0.004172297116 -0.0211399528 1.424223538e-06 0.01091003892 7.617845914e-06 +1.947792205e-05 1.424223538e-06 0.004714776988 -2.349262643e-05 0.00495831897 +0.002969746579 0.01091003892 -2.349262643e-05 -0.005938492404 -5.187397691e-06 +9.857788765e-06 7.617845914e-06 0.00495831897 -5.187397691e-06 -0.027246024 +0.004118930113 -0.001015479095 6.899200244e-06 -0.002026100612 3.020786103e-06 +-0.001015479095 -0.007464081525 -5.777473247e-08 0.002253437614 2.462897318e-06 +6.899200244e-06 -5.777473247e-08 0.001465861549 -8.065785758e-06 0.001900278849 +-0.002026100612 0.002253437614 -8.065785758e-06 0.00195098861 7.688479796e-07 +3.020786103e-06 2.462897318e-06 0.001900278849 7.688479796e-07 -0.006621915389 +-0.2653539434 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0005654130723 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01653860598 -0.0133343995 -0.02373804259 0 0 +-0.0133343995 -0.03795041666 -0.003978414816 0 0 +-0.02373804259 -0.003978414816 -0.04318365405 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.005432112044 -0.002185616626 -0.003883571209 0 0 +-0.002185616626 -0.004281213374 0.004639188276 0 0 +-0.003883571209 0.004639188276 0.001367173348 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01089309674 0.004299523505 0.007609952403 0.0001523154045 -0.0001370683252 +0.004299523505 -0.002356891549 -0.01586751353 -0.0001718306438 -0.007970518498 +0.007609952403 -0.01586751353 -0.02213647116 0.008418373431 -0.009007243019 +0.0001523154045 -0.0001718306438 0.008418373431 -0.02679363619 -0.015232709 +-0.0001370683252 -0.007970518498 -0.009007243019 -0.015232709 -0.01124171125 +0.005464168494 0.0009035124487 0.001590147646 0.001553282133 -0.002486696548 +0.0009035124487 -0.0008563068842 -0.005079208966 -0.001027265279 -0.001897068723 +0.001590147646 -0.005079208966 -0.007172580558 0.001930145773 -0.001126373813 +0.001553282133 -0.001027265279 0.001930145773 -0.004978166573 -0.00464923081 +-0.002486696548 -0.001897068723 -0.001126373813 -0.00464923081 -0.0002357182257 +-0.2683120973 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001491561749 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.02116958747 -0.01412942418 0.02524246929 0 0 +-0.01412942418 -0.04012680009 -0.0003185411181 0 0 +0.02524246929 -0.0003185411181 -0.04003093972 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.006506169452 -0.001805294516 0.003221776927 0 0 +-0.001805294516 -0.004383798527 -0.005103591168 0 0 +0.003221776927 -0.005103591168 0.001871110888 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01459143828 0.005074066142 -0.008935013188 0.001610019964 0.002507803121 +0.005074066142 -0.003045537708 0.01919929292 -0.0006509787882 0.008876307982 +-0.008935013188 0.01919929292 -0.02700053392 -0.009331235841 -0.009488838322 +0.001610019964 -0.0006509787882 -0.009331235841 -0.02912324327 0.0185056774 +0.002507803121 0.008876307982 -0.009488838322 0.0185056774 -0.01031326488 +0.006361520485 0.0008253233008 -0.001428418805 0.001780272078 0.002851315477 +0.0008253233008 -0.001003106241 0.005863054555 -0.001472213913 0.001843233904 +-0.001428418805 0.005863054555 -0.00830434646 -0.001832323488 -0.0005815129804 +0.001780272078 -0.001472213913 -0.001832323488 -0.005192249292 0.004772807464 +0.002851315477 0.001843233904 -0.0005815129804 0.004772807464 -0.0003499576944 +-0.1559002281 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01008055053 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.258436164 -0.005709028297 -0.001401922244 0 0 +-0.005709028297 -6.654154766e-05 -3.116743217e-05 0 0 +-0.001401922244 -3.116743217e-05 -7.604260295e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001078807029 -0.0001140799632 -2.245126442e-05 0 0 +-0.0001140799632 8.700191242e-07 -1.166645237e-06 0 0 +-2.245126442e-05 -1.166645237e-06 -3.545042642e-07 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01818365865 -0.001100181898 -7.781954756e-05 -0.0002480040969 -6.675972628e-05 +-0.001100181898 -6.385787204e-05 -3.332013455e-06 -1.779433609e-05 -4.784024884e-06 +-7.781954756e-05 -3.332013455e-06 3.666707988e-07 -2.479286482e-06 -6.643455394e-07 +-0.0002480040969 -1.779433609e-05 -2.479286482e-06 -5.091717788e-07 -1.432407697e-07 +-6.675972628e-05 -4.784024884e-06 -6.643455394e-07 -1.432407697e-07 -4.020841306e-08 +0.002119673985 1.067508783e-05 -6.494739898e-06 2.448160469e-05 5.31843315e-06 +1.067508783e-05 -3.596490723e-06 -2.256183634e-07 -9.826701144e-07 -2.204312414e-07 +-6.494739898e-06 -2.256183634e-07 9.705121177e-09 -1.334606313e-07 -2.936076381e-08 +2.448160469e-05 -9.826701144e-07 -1.334606313e-07 -5.233301637e-08 -1.347587476e-08 +5.31843315e-06 -2.204312414e-07 -2.936076381e-08 -1.347587476e-08 -3.398491031e-09 +-0.6584984779 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01345650382 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0494256245 0.008105084815 -8.193139196e-05 0 0 +0.008105084815 -0.2240070482 0.0004977777375 0 0 +-8.193139196e-05 0.0004977777375 -0.22836341 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.02257572606 0.0009763422769 -0.0001460829419 0 0 +0.0009763422769 -0.02979749727 9.927944092e-05 0 0 +-0.0001460829419 9.927944092e-05 -0.03080286908 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.052682619 0.008941510074 0.0006911840756 0.0007903205109 2.140492509e-05 +0.008941510074 -0.1435316703 0.0004559599833 -0.01359931778 -0.0005514557351 +0.0006911840756 0.0004559599833 -0.1480094888 0.0005944188194 0.006693938116 +0.0007903205109 -0.01359931778 0.0005944188194 -0.001239600311 -7.358313645e-05 +2.140492509e-05 -0.0005514557351 0.006693938116 -7.358313645e-05 -0.0002941388688 +-0.02462431102 0.000139862321 -0.0001415487835 0.0002325422618 1.218356821e-05 +0.000139862321 -0.01199472979 8.350214554e-05 -0.002516184648 -6.591130427e-05 +-0.0001415487835 8.350214554e-05 -0.012964359 7.621520276e-05 0.00179031886 +0.0002325422618 -0.002516184648 7.621520276e-05 -0.0003680710346 -1.661118325e-05 +1.218356821e-05 -6.591130427e-05 0.00179031886 -1.661118325e-05 -0.0001568368245 +0.01533394482 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007296329857 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.009839929534 -0.005893332236 -3.982993204e-05 0 0 +-0.005893332236 0.003533963467 -3.231621933e-05 0 0 +-3.982993204e-05 -3.231621933e-05 -1.510875566e-07 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.00297877508 -0.00203265433 -1.205896816e-05 0 0 +-0.00203265433 0.0005663457667 -1.044550923e-05 0 0 +-1.205896816e-05 -1.044550923e-05 -4.630274105e-08 0 0 +0 0 0 0 0 +0 0 0 0 0 +-2.370406776e-05 -0.002350174986 -4.917876639e-06 -0.001453886085 -6.227493951e-06 +-0.002350174986 -0.006736371229 -1.199612556e-05 -0.0009951022671 -2.964439099e-05 +-4.917876639e-06 -1.199612556e-05 -2.068847125e-08 -7.53672146e-07 -5.657716647e-08 +-0.001453886085 -0.0009951022671 -7.53672146e-07 0.00139129463 -1.009849789e-05 +-6.227493951e-06 -2.964439099e-05 -5.657716647e-08 -1.009849789e-05 -1.091896225e-07 +2.849966828e-05 -0.0007044864425 -1.492098197e-06 -0.000468478025 -1.807801564e-06 +-0.0007044864425 -0.002272505526 -4.017397631e-06 -0.0004471262908 -9.890711582e-06 +-1.492098197e-06 -4.017397631e-06 -6.855583627e-09 -4.608500638e-07 -1.874238406e-08 +-0.000468478025 -0.0004471262908 -4.608500638e-07 0.0003527511037 -3.627303444e-06 +-1.807801564e-06 -9.890711582e-06 -1.874238406e-08 -3.627303444e-06 -3.663412827e-08 +0.01833270275 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001097422765 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01345011692 0.003101715315 0.005902141065 0 0 +0.003101715315 0.001119768219 0.001984775695 0 0 +0.005902141065 0.001984775695 0.00351057195 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003985080705 0.001101425592 0.002075902478 0 0 +0.001101425592 0.0001650409069 0.0002849090078 0 0 +0.002075902478 0.0002849090078 0.000489149676 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007214452612 0.001758005868 0.003251185305 0.0008945797875 -0.001346798501 +0.001758005868 -0.001892991766 -0.003475518363 -0.0002315034964 0.000291274619 +0.003251185305 -0.003475518363 -0.006380418987 -0.0004075120437 0.0005070201523 +0.0008945797875 -0.0002315034964 -0.0004075120437 0.0004785306685 -0.0007670919757 +-0.001346798501 0.000291274619 0.0005070201523 -0.0007670919757 0.001226481753 +-0.0001682822627 0.0005173134007 0.0009569665727 0.0002839627023 -0.0004292865776 +0.0005173134007 -0.0006306412901 -0.001157812617 -0.000121597228 0.0001698963908 +0.0009569665727 -0.001157812617 -0.00212545839 -0.0002180527168 0.0003037478465 +0.0002839627023 -0.000121597228 -0.0002180527168 0.0001090805643 -0.0001758118007 +-0.0004292865776 0.0001698963908 0.0003037478465 -0.0001758118007 0.0002824782499 +0.01969436394 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001286617719 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01503347623 0.003313806073 -0.006450507393 0 0 +0.003313806073 0.001261825877 -0.002203492422 0 0 +-0.006450507393 -0.002203492422 0.003829341339 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.004392906822 0.001189644508 -0.00228173522 0 0 +0.001189644508 0.0001670989771 -0.0002757809803 0 0 +-0.00228173522 -0.0002757809803 0.0004472715281 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0009194291213 0.001978881328 -0.003684506008 0.0009731290576 0.001434444015 +0.001978881328 -0.002068000932 0.00382089022 -0.0002579376616 -0.0002888868165 +-0.003684506008 0.00382089022 -0.007058751597 0.0004554909936 0.0005001433381 +0.0009731290576 -0.0002579376616 0.0004554909936 0.0005093353794 0.0008273341969 +0.001434444015 -0.0002888868165 0.0005001433381 0.0008273341969 0.001336175142 +-0.0002143500279 0.0005680382598 -0.001057836838 0.0003026861679 0.0004491157497 +0.0005680382598 -0.0006830461374 0.001261790304 -0.0001409972847 -0.0001870873966 +-0.001057836838 0.001261790304 -0.002330623682 0.0002543557481 0.0003359369566 +0.0003026861679 -0.0001409972847 0.0002543557481 0.0001041430151 0.0001723087692 +0.0004491157497 -0.0001870873966 0.0003359369566 0.0001723087692 0.0002826495938 +0.03190423454 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004291343995 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.03375268269 -0.02693550888 0.0002668580145 0 0 +-0.02693550888 0.1088452685 -0.0003333182425 0 0 +0.0002668580145 -0.0003333182425 1.796843141e-07 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001842771727 -0.00159721534 2.120670697e-05 0 0 +-0.00159721534 0.004324211266 -1.976308405e-05 0 0 +2.120670697e-05 -1.976308405e-05 1.082386475e-08 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004561197197 -0.0004899957369 4.400558363e-05 -0.006285934804 -4.080899079e-05 +-0.0004899957369 -0.005376237554 4.46646995e-05 -0.00170572726 -4.266775343e-05 +4.400558363e-05 4.46646995e-05 -2.481306312e-08 -3.89830609e-05 3.436065171e-08 +-0.006285934804 -0.00170572726 -3.89830609e-05 0.00761858594 3.56041653e-05 +-4.080899079e-05 -4.266775343e-05 3.436065171e-08 3.56041653e-05 -4.267689906e-08 +0.001173940662 -0.0001011174463 9.196101298e-06 -0.001667797155 -7.754925154e-06 +-0.0001011174463 -0.001750217888 1.092648211e-05 -0.0007243211785 -9.487688803e-06 +9.196101298e-06 1.092648211e-05 -6.035371446e-09 -7.281976672e-06 6.912092147e-09 +-0.001667797155 -0.0007243211785 -7.281976672e-06 0.001941090429 6.005780394e-06 +-7.754925154e-06 -9.487688803e-06 6.912092147e-09 6.005780394e-06 -7.408338624e-09 +-0.01616277979 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001834840124 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001015742428 0.008616734411 -4.410182085e-05 0 0 +0.008616734411 0.02279834837 -4.210083495e-05 0 0 +-4.410182085e-05 -4.210083495e-05 -2.768540988e-07 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001266122709 0.002989012342 -8.494835776e-06 0 0 +0.002989012342 0.006101126745 -9.234335113e-06 0 0 +-8.494835776e-06 -9.234335113e-06 -6.556518737e-08 0 0 +0 0 0 0 0 +0 0 0 0 0 +-6.013669091e-07 -2.680475533e-05 -3.204881098e-07 -3.460518132e-05 -6.15888383e-08 +-2.680475533e-05 0.01274975973 -2.528383686e-05 0.004464988043 3.517590406e-05 +-3.204881098e-07 -2.528383686e-05 -1.621234083e-07 -2.318058902e-05 -6.273286578e-08 +-3.460518132e-05 0.004464988043 -2.318058902e-05 0.0005967419069 1.27927211e-05 +-6.15888383e-08 3.517590406e-05 -6.273286578e-08 1.27927211e-05 9.68160115e-08 +-1.33466025e-05 0.0003056555323 8.922462446e-07 0.0002136482945 8.081274576e-07 +0.0003056555323 0.003538893271 -5.391832348e-06 0.001290666133 9.901015734e-06 +8.922462446e-07 -5.391832348e-06 -3.817951498e-08 -5.457221371e-06 -1.347842543e-08 +0.0002136482945 0.001290666133 -5.457221371e-06 0.0002080679694 3.731878506e-06 +8.081274576e-07 9.901015734e-06 -1.347842543e-08 3.731878506e-06 2.764514098e-08 +0.2247614504 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004705418665 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0235931691 -0.02004803657 0.0001457212872 0 0 +-0.02004803657 0.0454930884 -2.025519612e-05 0 0 +0.0001457212872 -2.025519612e-05 0.02628163866 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.007955488398 -0.003281506939 4.571758332e-05 0 0 +-0.003281506939 -0.002070147663 -6.1171304e-06 0 0 +4.571758332e-05 -6.1171304e-06 0.005615787179 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.006647509092 0.00754595645 -2.842243976e-05 -0.001491906403 1.685682247e-05 +0.00754595645 0.03107609719 1.418958963e-05 -0.01036064936 0.0001278850802 +-2.842243976e-05 1.418958963e-05 -0.005658277201 3.214595535e-05 -0.006709521409 +-0.001491906403 -0.01036064936 3.214595535e-05 0.004535627425 5.201350388e-06 +1.685682247e-05 0.0001278850802 -0.006709521409 5.201350388e-06 0.02711978118 +-0.004165708107 0.002110981887 -1.065671055e-05 0.002504565841 5.938263806e-06 +0.002110981887 0.01075427305 5.84752031e-06 -0.002026750257 4.282358534e-05 +-1.065671055e-05 5.84752031e-06 -0.00178388303 1.23503876e-05 -0.002507914991 +0.002504565841 -0.002026750257 1.23503876e-05 -0.002309192608 -8.37460203e-07 +5.938263806e-06 4.282358534e-05 -0.002507914991 -8.37460203e-07 0.00657948206 +0.0001311583875 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-5.787054953e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002576213529 -0.002455303533 0.0006859797516 0 0 +-0.002455303533 -0.0001701073806 -2.286290367e-05 0 0 +0.0006859797516 -2.286290367e-05 2.833652818e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007229671492 -0.0008132838835 0.0001197156853 0 0 +-0.0008132838835 -5.479229285e-05 -1.11207436e-05 0 0 +0.0001197156853 -1.11207436e-05 4.88918095e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +-3.450670645e-05 0.0005887377928 0.0003609648192 4.756350329e-05 4.753958299e-05 +0.0005887377928 0.0001472964579 -0.0009051157493 -0.001312565298 -0.001104585824 +0.0003609648192 -0.0009051157493 -0.001068033285 -0.0007558186754 -0.0006485758382 +4.756350329e-05 -0.001312565298 -0.0007558186754 -4.092797238e-05 -5.109953467e-05 +4.753958299e-05 -0.001104585824 -0.0006485758382 -5.109953467e-05 -5.70437239e-05 +-1.269342129e-05 0.000220460488 0.0001331888687 1.540780271e-05 1.730521724e-05 +0.000220460488 7.403092372e-05 -0.0002662922117 -0.0004205821751 -0.0004100664187 +0.0001331888687 -0.0002662922117 -0.0003239914903 -0.0002418999753 -0.0002390109836 +1.540780271e-05 -0.0004205821751 -0.0002418999753 -1.270667048e-05 -1.671364259e-05 +1.730521724e-05 -0.0004100664187 -0.0002390109836 -1.671364259e-05 -2.052008572e-05 +8.558495e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-4.559961992e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002911982804 -0.002752651443 -0.0007528556773 0 0 +-0.002752651443 -0.0001159377612 1.570773866e-05 0 0 +-0.0007528556773 1.570773866e-05 1.816910322e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007937835542 -0.0009051623139 -0.000114102826 0 0 +-0.0009051623139 -3.694784463e-05 7.789417854e-06 0 0 +-0.000114102826 7.789417854e-06 2.706628907e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +-2.406945414e-05 0.0006845932337 -0.0003988556365 3.241987542e-05 -3.26415633e-05 +0.0006845932337 0.000174911535 0.00102401616 -0.001473570162 0.001262065363 +-0.0003988556365 0.00102401616 -0.001188064873 0.000826922531 -0.0007161788103 +3.241987542e-05 -0.001473570162 0.000826922531 -2.818761847e-05 3.46001097e-05 +-3.26415633e-05 0.001262065363 -0.0007161788103 3.46001097e-05 -3.859988607e-05 +-8.787411299e-06 0.0002547214336 -0.0001468963937 1.025053517e-05 -1.180587529e-05 +0.0002547214336 9.047180567e-05 0.0002875513671 -0.0004583288438 0.000466384401 +-0.0001468963937 0.0002875513671 -0.0003463054212 0.0002569886748 -0.0002633173849 +1.025053517e-05 -0.0004583288438 0.0002569886748 -8.48072731e-06 1.109365277e-05 +-1.180587529e-05 0.000466384401 -0.0002633173849 1.109365277e-05 -1.379841265e-05 +0.03962690314 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004808109716 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0409925499 0.01150626441 0.02139579411 0 0 +0.01150626441 0.02919879922 0.05278822223 0 0 +0.02139579411 0.05278822223 0.09542756526 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.00234303528 0.0007749513757 0.001509830863 0 0 +0.0007749513757 0.001088911849 0.002002745105 0 0 +0.001509830863 0.002002745105 0.003681014318 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00548550279 0.00059196446 0.001221407808 0.003812233993 -0.006471363198 +0.00059196446 -0.001473045897 -0.002706896697 -0.0002684315191 0.0005574334584 +0.001221407808 -0.002706896697 -0.004971125279 -0.0004068027828 0.0008785163901 +0.003812233993 -0.0002684315191 -0.0004068027828 0.002348663962 -0.003941903046 +-0.006471363198 0.0005574334584 0.0008785163901 -0.003941903046 0.006608330603 +0.001310030503 0.0001226263276 0.0002521968224 0.0009402787949 -0.001582625883 +0.0001226263276 -0.0004799644397 -0.0008767699878 -0.0001664032214 0.0002999080855 +0.0002521968224 -0.0008767699878 -0.001601037886 -0.0002851076227 0.0005162033012 +0.0009402787949 -0.0001664032214 -0.0002851076227 0.0005431764081 -0.0009039803198 +-0.001582625883 0.0002999080855 0.0005162033012 -0.0009039803198 0.001503453651 +-0.01881656624 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002223359412 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002125879837 -0.005303999822 -0.009553572661 0 0 +-0.005303999822 0.005599308312 0.01021282108 0 0 +-0.009553572661 0.01021282108 0.01862258701 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00179224058 -0.001734506999 -0.003167551071 0 0 +-0.001734506999 0.001461369996 0.002679454866 0 0 +-0.003167551071 0.002679454866 0.004912235009 0 0 +0 0 0 0 0 +0 0 0 0 0 +8.752824179e-05 -0.0005831379854 -0.001058565238 -0.0001479894542 0.0002064184191 +-0.0005831379854 0.003378742515 0.006167989301 0.001203351554 -0.001751096403 +-0.001058565238 0.006167989301 0.01125712061 0.002169581189 -0.003153071159 +-0.0001479894542 0.001203351554 0.002169581189 0.0001568602297 -0.0001875996279 +0.0002064184191 -0.001751096403 -0.003153071159 -0.0001875996279 0.0002077384505 +9.150792313e-05 -0.0003334029221 -0.0006157534898 -0.0001704676708 0.0002557020643 +-0.0003334029221 0.0009120759676 0.001678117657 0.0003391411669 -0.0004959776778 +-0.0006157534898 0.001678117657 0.003087369891 0.0006204147856 -0.000906835774 +-0.0001704676708 0.0003391411669 0.0006204147856 5.490521759e-05 -7.049421077e-05 +0.0002557020643 -0.0004959776778 -0.000906835774 -7.049421077e-05 8.740994128e-05 +-0.000127754268 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.700132371e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002425829798 0.0004441045589 0.002115300128 0 0 +0.0004441045589 3.437056735e-05 8.520470804e-05 0 0 +0.002115300128 8.520470804e-05 8.519164466e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007168981109 0.0002264529549 0.0006731646815 0 0 +0.0002264529549 1.633085043e-05 2.786894255e-05 0 0 +0.0006731646815 2.786894255e-05 2.624532188e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +2.973433425e-05 -0.0004865876188 -0.00029917938 -1.44033683e-05 -5.698783118e-05 +-0.0004865876188 -0.001546570343 -2.676040306e-05 0.0002096045528 0.001482276428 +-0.00029917938 -2.676040306e-05 0.0004619503493 0.0001314122183 0.0008579589368 +-1.44033683e-05 0.0002096045528 0.0001314122183 6.905386379e-06 2.911372341e-05 +-5.698783118e-05 0.001482276428 0.0008579589368 2.911372341e-05 7.744495099e-05 +1.108617302e-05 -0.0001864145068 -0.0001130967523 -6.018209301e-06 -1.97880021e-05 +-0.0001864145068 -0.0004926514023 -7.989203576e-07 0.0001044662368 0.0005159385784 +-0.0001130967523 -7.989203576e-07 0.0001558676655 6.311043064e-05 0.000297961522 +-6.018209301e-06 0.0001044662368 6.311043064e-05 3.264080949e-06 1.057691168e-05 +-1.97880021e-05 0.0005159385784 0.000297961522 1.057691168e-05 2.606699906e-05 +0.2468272073 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00167154664 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.03577903311 0.01071459164 0.01910279111 0 0 +0.01071459164 0.03700025094 0.001984456221 0 0 +0.01910279111 0.001984456221 0.03970779112 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01104255969 0.001350153689 0.002404000374 0 0 +0.001350153689 0.004170829772 -0.004921522859 0 0 +0.002404000374 -0.004921522859 -0.001838848389 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01011931556 -0.006664674715 -0.01208870312 -0.001064189089 0.001444326838 +-0.006664674715 0.004120206986 0.02138042423 0.001688007153 0.008777879195 +-0.01208870312 0.02138042423 0.03094305691 -0.009302712982 0.008363849413 +-0.001064189089 0.001688007153 -0.009302712982 0.02639927355 0.01605888065 +0.001444326838 0.008777879195 0.008363849413 0.01605888065 0.0100720131 +-0.00527671289 -0.001647329997 -0.003001193299 -0.001842089976 0.002900777385 +-0.001647329997 0.001418381684 0.006854300905 0.001560251853 0.002135639639 +-0.003001193299 0.006854300905 0.01000238298 -0.002190874811 0.0008499632043 +-0.001842089976 0.001560251853 -0.002190874811 0.00489649277 0.004843806286 +0.002900777385 0.002135639639 0.0008499632043 0.004843806286 -2.630764075e-05 +-6.354261522e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.358916299e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003424722132 0.002096205457 0.002028259401 0 0 +0.002096205457 5.363092469e-07 3.456488941e-05 0 0 +0.002028259401 3.456488941e-05 6.728995349e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0009371333353 0.0005665393798 0.0007498455115 0 0 +0.0005665393798 1.397282004e-07 9.030264197e-06 0 0 +0.0007498455115 9.030264197e-06 2.388765608e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.913548457e-05 -1.965402895e-05 -0.0009151359291 3.224574313e-05 -8.717317455e-06 +-1.965402895e-05 1.875706769e-05 0.001194109361 -2.964936118e-05 6.654423323e-06 +-0.0009151359291 0.001194109361 -0.001426614058 -0.002159120223 0.0008256797137 +3.224574313e-05 -2.964936118e-05 -0.002159120223 4.591444213e-05 -9.108769022e-06 +-8.717317455e-06 6.654423323e-06 0.0008256797137 -9.108769022e-06 2.736230695e-07 +6.914217581e-06 -6.326860851e-06 -0.0003384138693 1.114998856e-05 -2.188269114e-06 +-6.326860851e-06 5.643111299e-06 0.0003594494805 -9.593458072e-06 1.699910772e-06 +-0.0003384138693 0.0003594494805 -0.0003783768551 -0.0007531004985 0.0002100369567 +1.114998856e-05 -9.593458072e-06 -0.0007531004985 1.544248768e-05 -2.268946809e-06 +-2.188269114e-06 1.699910772e-06 0.0002100369567 -2.268946809e-06 6.717881752e-08 +0.04259338371 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004814980404 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.04471952535 0.0131309491 -0.02379585118 0 0 +0.0131309491 0.03069840835 -0.05517098238 0 0 +-0.02379585118 -0.05517098238 0.09915216436 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.00261375097 0.0009070029131 -0.001707968071 0 0 +0.0009070029131 0.001107041541 -0.002016220451 0 0 +-0.001707968071 -0.002016220451 0.003671143222 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.005994883038 0.0006703914745 -0.00126207057 0.004182603953 0.006978002938 +0.0006703914745 -0.001683933838 0.003043967403 -0.0003327526205 -0.0006252644764 +-0.00126207057 0.003043967403 -0.00550203261 0.0005690085765 0.00107627629 +0.004182603953 -0.0003327526205 0.0005690085765 0.002553882839 0.004228831431 +0.006978002938 -0.0006252644764 0.00107627629 0.004228831431 0.006999090756 +0.001365079871 0.0001212630881 -0.0002294419811 0.0009744928665 0.001619382589 +0.0001212630881 -0.0005354456952 0.0009662043382 -0.0002013647185 -0.0003481857193 +-0.0002294419811 0.0009662043382 -0.001743421282 0.0003562728711 0.0006165428262 +0.0009744928665 -0.0002013647185 0.0003562728711 0.0005438847101 0.0008966610079 +0.001619382589 -0.0003481857193 0.0006165428262 0.0008966610079 0.00147782541 +-0.01992793433 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002360660836 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002252505709 -0.005606179149 0.01000109625 0 0 +-0.005606179149 0.00578378258 -0.01052754072 0 0 +0.01000109625 -0.01052754072 0.01914907221 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00190147877 -0.001817465683 0.003303651546 0 0 +-0.001817465683 0.00150253279 -0.002751308403 0 0 +0.003303651546 -0.002751308403 0.005035964211 0 0 +0 0 0 0 0 +0 0 0 0 0 +9.757405877e-05 -0.0006588016587 0.001186153093 -0.0001542888311 -0.0002050031722 +-0.0006588016587 0.003536981805 -0.006442151097 0.001271632561 0.001810748856 +0.001186153093 -0.006442151097 0.01172599627 -0.002270885235 -0.00322558995 +-0.0001542888311 0.001271632561 -0.002270885235 0.000185957488 0.0002165155299 +-0.0002050031722 0.001810748856 -0.00322558995 0.0002165155299 0.0002309662722 +0.0001123282541 -0.0003621062505 0.0006700628777 -0.0001783255735 -0.0002623237848 +-0.0003621062505 0.0009518240382 -0.001749060301 0.0003571519987 0.0005112725691 +0.0006700628777 -0.001749060301 0.00321319772 -0.0006485171837 -0.0009270781377 +-0.0001783255735 0.0003571519987 -0.0006485171837 6.31411625e-05 7.86253529e-05 +-0.0002623237848 0.0005112725691 -0.0009270781377 7.86253529e-05 9.376306403e-05 +-8.238817545e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.299161345e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002570675221 0.0005103975737 -0.002242892989 0 0 +0.0005103975737 2.290837502e-05 -5.443936554e-05 0 0 +-0.002242892989 -5.443936554e-05 5.327937139e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007580330827 0.0002528288618 -0.0007123865416 0 0 +0.0002528288618 1.073581404e-05 -1.773428359e-05 0 0 +-0.0007123865416 -1.773428359e-05 1.635219362e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.934303965e-05 -0.0005368967288 0.0003130417744 -9.550722309e-06 3.65007139e-05 +-0.0005368967288 -0.001653202816 2.314271546e-05 0.0002361081543 -0.001588134963 +0.0003130417744 2.314271546e-05 0.0004815705526 -0.0001393118751 0.0008933000794 +-9.550722309e-06 0.0002361081543 -0.0001393118751 4.664962868e-06 -1.902917821e-05 +3.65007139e-05 -0.001588134963 0.0008933000794 -1.902917821e-05 4.890705652e-05 +7.192153166e-06 -0.0002046018428 0.0001183463608 -3.968994492e-06 1.263675376e-05 +-0.0002046018428 -0.0005250345934 -9.734275894e-07 0.0001159726972 -0.0005513343495 +0.0001183463608 -9.734275894e-07 0.0001621606707 -6.693418242e-05 0.0003096933627 +-3.968994492e-06 0.0001159726972 -6.693418242e-05 2.188813692e-06 -6.880996008e-06 +1.263675376e-05 -0.0005513343495 0.0003096933627 -6.880996008e-06 1.640296359e-05 +6.287502544e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-2.923747363e-06 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003214096681 0.001973396081 -0.001952869327 0 0 +0.001973396081 5.04888593e-07 3.204580347e-05 0 0 +-0.001952869327 3.204580347e-05 -6.304554674e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0009023997939 0.0005473212291 -0.0007160473282 0 0 +0.0005473212291 1.349882952e-07 8.546318732e-06 0 0 +-0.0007160473282 8.546318732e-06 -2.236381534e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-1.782921947e-05 1.840754948e-05 0.0008666005938 -3.026960629e-05 -7.999594459e-06 +1.840754948e-05 -1.762012834e-05 -0.001132276587 2.789228444e-05 5.95050799e-06 +0.0008666005938 -0.001132276587 -0.00135813348 0.002047670271 0.0007849492923 +-3.026960629e-05 2.789228444e-05 0.002047670271 -4.324005376e-05 -7.980139068e-06 +-7.999594459e-06 5.95050799e-06 0.0007849492923 -7.980139068e-06 2.601254144e-07 +-6.479920534e-06 6.043659118e-06 0.0003208902115 -1.056266218e-05 -2.099477069e-06 +6.043659118e-06 -5.464433877e-06 -0.0003509871098 9.192829439e-06 1.599111163e-06 +0.0003208902115 -0.0003509871098 -0.0003803525462 0.0007206817305 0.0002116737462 +-1.056266218e-05 9.192829439e-06 0.0007206817305 -1.470009087e-05 -2.05003299e-06 +-2.099477069e-06 1.599111163e-06 0.0002116737462 -2.05003299e-06 6.770230804e-08 +0.248595691 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0002037429842 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.04253976864 0.01147206409 -0.02006736562 0 0 +0.01147206409 0.03898037567 0.002471760913 0 0 +-0.02006736562 0.002471760913 0.03611613932 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01262999316 0.0009542729416 -0.001575784393 0 0 +0.0009542729416 0.004253507666 0.005362552466 0 0 +-0.001575784393 0.005362552466 -0.002344976701 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01366707519 -0.007717886675 0.01393351076 -0.002647814641 -0.003900888255 +-0.007717886675 0.004919870038 -0.02523830866 0.002412135973 -0.009856140952 +0.01393351076 -0.02523830866 0.03667396445 0.01020794254 0.008879194081 +-0.002647814641 0.002412135973 0.01020794254 0.02859618107 -0.01935850294 +-0.003900888255 -0.009856140952 0.008879194081 -0.01935850294 0.009015416006 +-0.006145297263 -0.001641756133 0.002971565905 -0.002104358769 -0.003286437082 +-0.001641756133 0.001590037462 -0.007771845706 0.002081133499 -0.002124230819 +0.002971565905 -0.007771845706 0.01135965242 0.002074079564 0.0002988564521 +-0.002104358769 0.002081133499 0.002074079564 0.005081144516 -0.004953940939 +-0.003286437082 -0.002124230819 0.0002988564521 -0.004953940939 8.10393345e-05 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/gedm_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/gedm_ref.dat new file mode 100644 index 0000000000..05769bc66e --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/gedm_ref.dat @@ -0,0 +1,30 @@ +-0.0123152 +-0.00174896 +-0.000490982 0.000185466 0.000301842 0.000185466 0.00229147 0.000947966 0.000301842 0.000947966 -0.00369704 +0.000239378 0.000248976 0.000122279 0.000248976 0.00231572 0.000302943 0.000122279 0.000302943 -0.000380869 +-0.00532973 -0.00097044 0.000112163 -0.001209 -0.000182273 -0.00097044 0.00172838 0.000543801 0.00213172 -0.000214823 0.000112163 0.000543801 0.000260905 0.00027027 -0.000495474 -0.001209 0.00213172 0.00027027 0.00363753 -0.000727803 -0.000182273 -0.000214823 -0.000495474 -0.000727803 0.00055767 +0.000269229 0.000363932 0.000107088 0.000495872 -8.72832e-05 0.000363932 -0.0011638 -0.00111668 -0.000482061 -0.000541426 0.000107088 -0.00111668 0.000791301 0.000438318 0.000181878 0.000495872 -0.000482061 0.000438318 -0.00160465 0.000770512 -8.72832e-05 -0.000541426 0.000181878 0.000770512 0.00068476 +-0.0124649 +-0.00164849 +-0.000142048 6.46642e-05 7.10416e-05 6.46642e-05 0.00300899 0.000702492 7.10416e-05 0.000702492 -0.00296457 +0.00243575 0.000211441 -1.20241e-05 0.000211441 -0.000295339 -0.00014708 -1.20241e-05 -0.00014708 0.000687397 +0.00540957 0.000217344 -2.97995e-05 4.08288e-06 3.45642e-06 0.000217344 0.000335716 0.000962472 -3.33602e-05 -4.38545e-05 -2.97995e-05 0.000962472 -0.00539522 9.5031e-05 0.000192357 4.08288e-06 -3.33602e-05 9.5031e-05 0.000725737 0.000130217 3.45642e-06 -4.38545e-05 0.000192357 0.000130217 -0.000259694 +-0.00188718 -0.000126929 -1.16244e-06 -4.26169e-06 -8.75969e-06 -0.000126929 0.000725236 4.47908e-05 0.000143966 0.000116627 -1.16244e-06 4.47908e-05 0.00050641 -6.87989e-05 3.37606e-06 -4.26169e-06 0.000143966 -6.87989e-05 -0.000754452 -0.00126491 -8.75969e-06 0.000116627 3.37606e-06 -0.00126491 0.000630072 +-0.0129652 +-0.0017353 +-0.00297552 0.000980399 -0.000520382 0.000980399 -0.0004614 0.000187874 -0.000520382 0.000187874 0.00321702 +-0.000141097 0.000282264 -0.000259846 0.000282264 0.000487295 0.000115772 -0.000259846 0.000115772 0.00259453 +-0.000210306 -0.00341164 0.000238019 -0.00170388 -0.000343658 -0.00341164 -0.00334934 -0.000205588 0.00254571 -0.000221214 0.000238019 -0.000205588 0.000410763 0.000282241 6.05991e-05 -0.00170388 0.00254571 0.000282241 0.00384763 0.000131777 -0.000343658 -0.000221214 6.05991e-05 0.000131777 0.000617126 +0.000688573 0.000238199 -0.000541112 0.00114103 0.000144063 0.000238199 7.92607e-05 0.000242875 -0.00114076 -7.7933e-05 -0.000541112 0.000242875 -0.00127667 -0.00040977 0.000513302 0.00114103 -0.00114076 -0.00040977 -0.000767995 9.78296e-05 0.000144063 -7.7933e-05 0.000513302 9.78296e-05 0.000529913 +-0.0128504 +-0.00171635 +-0.00281276 -4.92685e-06 -0.00119588 -4.92685e-06 0.00249763 -0.00144355 -0.00119588 -0.00144355 0.00012916 +-3.77755e-05 0.000131551 -0.000476648 0.000131551 0.00224135 -0.000747162 -0.000476648 -0.000747162 0.000712668 +-0.000778033 0.00169461 0.00333471 -4.31671e-05 -0.000811796 0.00169461 -0.000669257 -0.000927765 0.000968866 -0.00154283 0.00333471 -0.000927765 -0.00127674 0.00176338 -0.00209952 -4.31671e-05 0.000968866 0.00176338 0.00113829 -0.00122188 -0.000811796 -0.00154283 -0.00209952 -0.00122188 0.0027828 +-0.000537141 0.000374702 -0.00118079 0.000187866 0.000202991 0.000374702 0.000960768 -0.00027912 -0.000404561 0.000905294 -0.00118079 -0.00027912 -0.000431822 -5.2106e-05 0.00029738 0.000187866 -0.000404561 -5.2106e-05 -5.5081e-05 0.00104723 0.000202991 0.000905294 0.00029738 0.00104723 -0.000692059 +-0.0127853 +-0.00170528 +-0.00280012 -0.000350666 0.00103446 -0.000350666 0.00238592 0.00154874 0.00103446 0.00154874 0.000246375 +0.000129147 -1.56268e-05 0.000497403 -1.56268e-05 0.00221681 0.000809292 0.000497403 0.000809292 0.000556031 +-0.000807886 0.00178929 -0.00333529 7.8294e-05 0.000523234 0.00178929 -0.000616226 0.000736256 0.000785051 0.00151128 -0.00333529 0.000736256 -0.00131359 -0.00168286 -0.00226033 7.8294e-05 0.000785051 -0.00168286 0.00121253 0.00123408 0.000523234 0.00151128 -0.00226033 0.00123408 0.00265594 +-0.00082005 -0.000137113 0.00106147 0.00018526 8.2782e-05 -0.000137113 0.00110551 0.000657149 -0.000121708 -0.000599431 0.00106147 0.000657149 -0.000177455 0.00021974 0.000293612 0.00018526 -0.000121708 0.00021974 3.41997e-05 -0.00110066 8.2782e-05 -0.000599431 0.000293612 -0.00110066 -0.000901877 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/gvepsl_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/gvepsl_ref.dat new file mode 100644 index 0000000000..ad17be1550 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/gvepsl_ref.dat @@ -0,0 +1,30 @@ +0.2954061534 0.03799107986 0.3743442133 0.2422523507 0.09619726439 0.01205035824 0.009076173037 0.003258408394 -1.488836576e-16 3.130643398e-05 0.04571334328 0.005477215739 0.002868259407 4.667149945e-17 8.234857233e-06 0.009842868821 -0.0001930654161 0.0004445635218 +-0.04011155194 0.004646645224 0.01229361747 0.0122355935 0.004192899826 0.006789672025 0.001763761828 0.003122007219 2.198945621e-15 6.785837089e-06 0.0009967637704 0.01454446251 0.01053132319 8.401622731e-15 1.177163696e-08 0.002194276009 0.003822232409 0.002882222569 +1.380572984 0.02507554609 0.2108745632 0.2006005983 0.1739857529 0.04971102609 0.04624169368 -0.023230559 5.27211977e-14 -4.347114711e-07 -0.006628482928 0.1637923886 0.1545501039 1.472977144e-14 -4.424077469e-08 -0.02092590794 0.04020052313 0.03797500904 +0.2893550246 0.001599910982 0.06412912652 0.05635840387 0.02605371459 0.01536302776 0.01162459673 -0.006572203388 -5.068445125e-14 -1.050270913e-08 -0.008855190968 0.04985185207 0.04343754558 -1.936492555e-14 1.259992026e-07 -0.003944935241 0.01156320772 0.009342843296 +0.2759140717 -0.0003299212465 0.06836461611 0.06351844715 0.01811585254 0.01613796589 0.0112311921 -0.005127520277 -4.300592455e-14 1.079975961e-06 -0.01246384366 0.05317487805 0.047700585 -1.453664268e-14 3.999781337e-07 -0.002717830771 0.01139890557 0.009588206319 +-0.003098580915 0.0003766510133 0.007384920109 0.02270668674 -0.02570271465 -0.0002953816185 0.002741530788 -0.001721171374 -2.902679698e-16 -1.958649368e-05 0.007118112315 -0.006493924617 -0.0004554139508 9.344450417e-17 -5.168512493e-06 0.00139464219 -0.0008459786173 -3.858245829e-05 +0.0001616728331 -1.229497353e-05 -0.0008036664853 0.002077672398 -0.0006651817314 0.0001327336347 -0.0001970582159 0.0002185673341 -1.428417167e-14 1.137053469e-06 8.514187912e-06 0.0003411946744 5.025680072e-05 -7.628189547e-15 3.411474693e-09 -6.796650789e-06 6.394980638e-05 3.675944806e-05 +0.001398209662 -0.0002433058434 0.002346013067 -0.002475791979 -0.0007796507271 0.00101374323 -0.0009440373159 -0.000275679513 -2.137952048e-14 -5.007035707e-07 0.0005529464113 3.095492815e-05 -0.00106896618 -1.076934674e-15 -8.795328843e-08 -7.756173841e-07 0.0003675431045 -0.0004887329891 +0.5644494357 0.00118760503 0.1050292266 0.09289650545 0.04728979 0.02330069481 0.01804229529 -0.01242331151 -2.545603463e-14 -4.78393437e-06 -0.01643820037 0.07738956723 0.07157526982 -1.107131439e-14 -1.4308228e-06 -0.008030812465 0.01682607711 0.01467193388 +-0.5460186499 0.003066404385 -0.1128482721 -0.101403536 -0.0322506736 -0.02388589739 -0.01466530398 0.008224461033 3.709136826e-14 4.263471862e-06 0.02270721827 -0.08167427378 -0.07659686795 1.718636381e-14 1.125358011e-06 0.006133784242 -0.01623009693 -0.01433139179 +0.005486539023 -0.0001932778559 -0.1425132211 0.1695291174 -0.03282364692 -0.00525379879 0.006546377535 -0.00212330788 -2.263919691e-16 4.839983049e-05 -0.006937279201 0.002060610084 0.005441116585 7.167572577e-17 1.277305666e-05 -0.002344019462 -0.0005116953323 0.002348680992 +-0.02481795753 0.0009350625264 -0.0429433071 0.02547021479 0.004903285262 -0.00141636112 -0.00871152303 0.007666784373 3.176501306e-15 1.76241481e-05 0.001816618458 -0.0237530485 0.01516674368 1.337657071e-14 1.940888093e-08 -0.0007406621233 -0.00570531989 0.005159906666 +-0.4485384979 -0.009414113827 -0.05252112537 -0.08097079295 -0.06151860546 -0.01122877489 -0.01912997865 0.006037901457 4.492161928e-14 -5.348350802e-07 0.003406143821 -0.04190277086 -0.0642574021 8.490444155e-15 -5.216605365e-08 0.006851704528 -0.009285665154 -0.01632554542 +0.2270485521 0.001507083806 0.03466023365 0.04772524384 0.02310957727 0.006975858495 0.008992182789 -0.003080801164 -6.882217684e-14 -8.214062437e-07 -0.006754566524 0.0266512315 0.03707358417 -2.905575361e-14 -5.380014054e-07 -0.003282760731 0.005202111674 0.008337501234 +0.2223877131 -0.0002127558542 0.03677928236 0.05329486166 0.0175529298 0.006835396215 0.006217790065 0.0006163041695 -5.784839044e-14 8.394603539e-07 -0.009245200094 0.02791545228 0.04054244913 -2.543957066e-14 -1.285457855e-07 -0.002527307857 0.004790731835 0.008577302132 +0.320586926 0.03754650505 0.2073227832 0.3243136767 0.1830525624 0.006891611943 0.007216099712 0.007750602057 1.517916848e-16 -3.25195852e-05 0.005340095728 0.04668893144 0.003962973891 -4.916742655e-17 -8.612066601e-06 0.0001380370446 0.00830857464 -0.0002897042722 +-0.04276062214 0.00506058345 0.01172266704 0.007223392943 0.008751806047 0.005917173023 0.004120490481 0.001505236498 -1.924081673e-15 -8.099796962e-06 0.001040777967 0.0113827985 0.01320959078 -5.79577607e-15 -1.028888164e-08 0.002272249229 0.003180795916 0.003440338047 +-0.02341152238 0.0008998181301 0.001156802978 0.005565899714 0.0009146697116 0.0002229137939 0.001903882411 0.001126661515 -5.678197235e-14 5.478055894e-07 0.001064207839 0.003954975315 0.003333926592 -1.781639368e-14 6.813700496e-08 0.0003783906941 0.001223891757 0.001444551882 +0.9818454385 0.00356687021 0.1810997016 0.1814787925 0.08644504661 0.03765468232 0.03895975725 -0.02053786993 4.521531053e-14 6.361685555e-07 -0.0294834809 0.1393900049 0.1388173947 1.534472148e-14 1.59396418e-07 -0.01380401089 0.03002819464 0.0298937263 +0.9483838232 -0.003900927475 0.199138866 0.1948810093 0.05923867006 0.038672722 0.03503879617 -0.01431679635 3.310022138e-14 -6.194865985e-07 -0.04059007595 0.1495889887 0.1469643638 1.035901141e-14 -1.176002388e-07 -0.01023382397 0.02986279289 0.02884866704 +-0.003699913138 0.0001588773829 0.05407790622 -0.06477595082 0.01085622736 0.001589732552 -0.002537216913 0.001472712793 3.913985273e-16 2.642670953e-05 0.0006755192844 0.001896462907 -0.002904902222 -1.22843816e-16 6.974938749e-06 -0.0002837208885 0.001578756153 -0.000965309346 +-0.002252022012 -5.385927945e-05 0.006453781925 -0.007419755884 -0.001120091268 6.654988694e-05 0.002533587509 -0.003068802022 2.806374549e-14 -2.291546435e-06 0.0002462109507 0.005973411312 -0.007794380632 1.940311927e-14 -1.090834083e-08 -0.0001429320711 0.001705424732 -0.001933401307 +0.0001224535755 1.589592515e-06 -0.001021498002 0.001266946768 -2.450120737e-05 -0.0003724530421 0.0004567750027 -2.916309522e-05 5.898342021e-14 1.363410058e-06 0.0001365487669 -0.0005735473622 0.0005996956231 6.594240513e-15 4.705181712e-07 9.821461119e-07 -0.0001834107213 0.0002298038641 +0.4060394472 0.002749217897 0.05877976432 0.09010191817 0.04136807486 0.01115037064 0.01789995012 -0.005585030999 1.91681819e-14 4.490900312e-06 -0.01189993702 0.04576333232 0.06942831539 1.162694486e-14 9.400611386e-07 -0.005869894305 0.00866389819 0.01596316941 +-0.3977991145 0.0003253369583 -0.06436622661 -0.09791521131 -0.03152591217 -0.01126993862 -0.01235226803 -0.001162392703 -2.45944852e-14 -4.086475812e-06 0.016478021 -0.04900447445 -0.07458920599 -1.305356713e-14 -5.404068881e-07 0.004519554495 -0.008248855432 -0.01600859142 +0.3426579006 0.02651431782 0.11442276 0.1326757719 0.3574382701 0.00426954642 0.004820434867 -0.002532030803 -5.440639598e-18 1.894109929e-06 0.002764557255 0.002259152585 0.04162535083 9.916990195e-19 4.510655229e-07 4.627090261e-05 -0.0002700579522 -0.0008948984641 +1.088671147 -0.01870932347 0.4043161795 0.4155017965 -0.07958919776 0.04165496306 0.05711191038 0.05937574471 -3.554420603e-15 1.969138926e-06 -0.0906516441 0.2616054087 0.2693712664 -3.679627554e-14 -5.777338177e-08 0.04211847279 0.0249697318 0.02682195873 +0.1199679613 0.004315426111 0.01727821748 0.02961656926 0.02272588001 0.003702083776 0.006640720174 0.0003189895206 1.638501123e-14 -1.481091692e-07 -0.002856145985 0.01474106163 0.02872079747 7.82742944e-15 -3.03657983e-08 -0.001984586462 0.003388838076 0.007308271317 +0.1368351366 0.003007671511 0.02461896591 0.04191256383 0.02115991806 0.004683903129 0.007008608497 0.001983451007 3.17546001e-15 -5.741782056e-07 -0.005836570794 0.02047117778 0.03798817606 3.913391037e-15 -4.155046888e-07 -0.001930886027 0.004083435783 0.009209881236 +0.1326257852 0.002061794257 0.02706766313 0.04638019612 0.01797765853 0.004748156179 0.002753388042 0.007518959588 1.443527441e-15 -5.322840026e-07 -0.00760851781 0.02208329695 0.04174190955 1.722074974e-15 -4.660482892e-07 -0.001199463875 0.003959878549 0.009673948804 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/gvx_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/gvx_ref.dat new file mode 100644 index 0000000000..f3ed0fb300 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/gvx_ref.dat @@ -0,0 +1,75 @@ +-0.01548257497 5.494390654e-05 0.2884424894 -0.2416248422 -0.05778796982 0.0124997455 -0.009208113991 -0.002713952924 -2.144892648e-17 3.085314466e-06 0.00458303819 -0.003928227449 -0.0002700604663 4.450675701e-18 8.133452121e-07 0.0005715368601 0.0004716305944 0.0003262986782 +-0.01434215032 0.0006135991975 -0.002812605192 -0.003690655658 0.002479491244 -0.000711318656 0.0002077959899 -0.0003701702069 -3.492035131e-15 -7.812484343e-06 0.001151961716 0.002824054317 -0.006504115863 -8.279423916e-14 -1.182657312e-07 -0.0006109979278 0.00130942345 -0.001257160724 +0.7422510548 0.01047440296 0.08103814455 0.08175402739 0.08516613663 0.01734846116 0.01739632231 -0.01366555992 -1.061613163e-14 1.150247399e-07 -0.003941827451 0.06466321636 0.06514160273 -4.138147362e-15 1.820929713e-08 -0.01068590945 0.0143528188 0.01478373113 +-0.3623937084 0.0004460780824 -0.04758446167 -0.04889606801 -0.02733828591 -0.009103297037 -0.008977344438 0.008525477596 -2.589371533e-14 -2.006707637e-06 0.01028414398 -0.03639329508 -0.03905627213 -1.403759191e-14 -7.35376552e-07 0.004874114822 -0.00670136849 -0.007549899673 +-0.3607107397 0.003205785842 -0.05355495482 -0.05437560643 -0.01882751668 -0.009588764856 -0.007252377105 0.006495911183 -2.615239874e-14 -1.304539182e-06 0.0143840586 -0.04025339189 -0.04250728974 -1.590455006e-14 -4.61781064e-07 0.003783779714 -0.006662958858 -0.007317193488 +0.005678289085 -0.0001311451398 -0.06866032543 0.03579116674 0.03616022096 -0.001833253926 -0.001191016692 0.002653968783 3.436207066e-17 1.935889502e-06 -0.002126064107 0.00202022796 -0.0001811083254 -8.314032693e-18 5.110791749e-07 -7.664091792e-05 -0.0002069781535 -0.0003051251874 +-0.002633446556 -4.342591322e-06 -0.000429867937 -0.0008659795371 -0.0003563088943 4.857779622e-05 2.899584082e-05 -0.0003259250318 -1.26884244e-14 6.410844237e-07 8.882380045e-05 -0.001561378682 0.000407576255 -1.399912692e-13 6.861294831e-08 -2.187684637e-05 -0.0003410730738 0.000182601384 +0.0003297547696 -7.373850327e-05 -0.0004018158747 0.0001162761509 -0.0002193977537 -0.0001046616595 3.549969181e-05 -4.242585279e-05 2.624344639e-14 6.750587876e-07 -0.0001424891283 -0.0003507293163 0.0002060493924 3.078349684e-15 2.601937021e-07 -3.643116007e-06 -0.0001737254426 0.0001014937341 +-0.6502913699 0.0004679525617 -0.08688147767 -0.08709110137 -0.05029361913 -0.01659626356 -0.01596687323 0.01495033069 2.024068376e-14 2.285072342e-07 0.01788241921 -0.06772690006 -0.06861586326 1.147089647e-14 1.097681958e-07 0.00871872859 -0.01290051123 -0.01304478977 +0.6486826899 -0.005567378938 0.09677629501 0.09724051808 0.03466654752 0.0171064114 0.01306136332 -0.01136293025 -1.806846864e-14 2.778742772e-07 -0.02540576448 0.07385268071 0.07530883175 -1.079097759e-14 7.462531913e-08 -0.006788728961 0.01252805203 0.0128153841 +0.04177570674 -0.003833883588 -0.1638288986 -0.191509659 0.3699912399 -0.006300325374 -0.007087710975 0.007393552821 4.904993616e-18 -3.284970309e-07 -0.003666858082 -0.003027027087 0.001778218441 1.128780444e-18 -9.162668127e-08 -0.0005272617424 0.0002542499609 -0.00559130907 +0.7134057583 -0.01987536419 0.1894207311 0.1904830997 -0.05430594667 0.01757087028 0.02077304467 0.02085917222 -3.110400367e-16 -1.610338076e-07 -0.05320132453 0.1244599564 0.1249225076 -2.036769264e-14 -3.586024168e-08 0.02441611887 0.006646230082 0.006644867301 +-0.2398852528 -0.003983784973 -0.02644929061 -0.02838531147 -0.02942642187 -0.005665309977 -0.006097131162 0.004079055853 -3.051351299e-14 3.091534939e-07 0.0002813577284 -0.02249365733 -0.02077556598 -1.184935351e-14 5.149102468e-08 0.003401044386 -0.005157727329 -0.004793585189 +-0.2653539434 -0.0005654130723 -0.03587558956 -0.03878037182 -0.02301671532 -0.006861758066 -0.007022265901 0.005537871896 -1.297753785e-14 1.851553481e-06 0.00663339746 -0.02965473144 -0.02861613098 -8.390779214e-15 7.428759662e-07 0.003579202024 -0.005863689838 -0.005494858808 +-0.2683120973 0.001491561749 -0.04038556799 -0.04381134686 -0.01713041243 -0.007155438411 -0.005318641437 0.003455222756 -7.201568845e-15 2.057038194e-06 0.009787958115 -0.03286495172 -0.03181620493 -4.45936307e-15 8.506882724e-07 0.0028511835 -0.005870061236 -0.005470112155 +0.003051358242 0.0001973016416 -0.01961287539 -0.002580141532 0.03021277891 -0.001257696035 -0.0001336223293 0.001663919285 9.978256832e-17 -2.115397016e-05 0.001800430888 0.0002449343405 -0.002204490405 -3.109313352e-17 -5.582524408e-06 0.0008618486242 8.092628252e-05 -0.001078425289 +0.01460468264 -0.0007112690982 0.01970261907 -0.009581648406 -0.004418757893 0.0009953281869 0.003414290198 -0.003122036729 6.511670317e-16 -7.643492919e-07 -0.001165214235 0.009075968477 -0.004529595727 7.604044329e-14 1.091471826e-07 0.000525098542 0.002008182484 -0.001810143723 +-0.01319353149 0.0006277859927 7.485233494e-05 0.01188237664 0.0008961815187 2.867249445e-05 0.003453165735 0.0007544439735 -4.192259599e-14 4.525618267e-07 1.379986542e-06 2.526338771e-05 0.008349535537 -1.169753484e-14 5.53455617e-08 8.377907485e-06 1.431793111e-05 0.002751921046 +0.006787487168 -0.0004063090445 -0.0008459850331 -0.006106280002 -0.0005612761111 -0.0003505589606 -0.00138478248 -0.0006710708666 3.610771459e-14 -1.781926507e-07 -1.520319294e-05 -0.0005887921146 -0.004126022831 1.644074155e-14 1.719166192e-08 4.838294481e-06 -0.0002188920955 -0.00128714833 +0.0071181525 -0.0004650234534 -0.0003902853122 -0.007244938579 -0.0006434778438 -0.0002629124538 -0.001030478917 -0.00132617129 2.867832368e-14 -1.085875584e-06 -1.319013601e-05 -0.0003286708058 -0.004813264871 1.332100038e-14 -2.341246895e-07 1.058984055e-05 -0.000118950011 -0.001488956977 +0.0004399502596 2.844730168e-05 -0.00309894522 0.01742047588 -0.01421211317 -0.0001446709377 0.001423292702 -0.001359342382 -1.758558345e-16 -1.178035254e-05 0.0003453864962 -0.001316521598 0.001277641613 5.474715644e-17 -3.109326643e-06 0.0001459168921 -0.0005964491929 0.000491284812 +0.00206848473 7.500119937e-05 -0.002486927136 0.002915920766 0.001190610366 -8.101028491e-05 -0.001097227981 0.001463741037 -6.797366665e-16 1.787958018e-07 -9.115422399e-05 -0.002085895356 0.003249085341 1.296292328e-13 -6.434537405e-08 5.683912151e-05 -0.0006228063411 0.0007802644635 +-2.766900249e-05 1.316570337e-06 0.0005392849012 -0.0005543130331 4.57994295e-06 0.0001952312214 -0.0002042181668 6.422418061e-06 -2.746734792e-14 -6.534588955e-07 2.228406557e-05 0.0002466692546 -0.0002716182704 -3.01520293e-15 -2.257925446e-07 -1.055650474e-07 0.0001173168319 -0.0001180406217 +0.01258322392 -0.0007532504386 0.0002916574868 -0.01297873141 -0.001053638553 0.0001126102433 -0.003322974616 -0.001205066502 -1.392381749e-15 -3.310263339e-06 8.687109298e-06 0.0002012436315 -0.008928137109 -2.567423775e-16 -9.223341253e-07 -1.729769398e-06 7.275333922e-05 -0.002847581488 +-0.01329347856 0.0008684527776 -0.0001798071149 0.01408932769 0.001228203385 -0.0001086931514 0.002511880079 0.0024082255 9.243919406e-15 3.324158319e-06 -3.555454625e-07 -0.000144932717 0.009662718368 4.085211885e-15 8.290087758e-07 -4.695686266e-06 -5.189772048e-05 0.003018994914 +-0.1559002281 -0.01008055053 -0.002552901898 -0.001567214048 -0.2543901938 -4.311196582e-05 -1.946972196e-05 -0.001015709827 1.450753636e-18 -4.978439872e-07 -0.0001564959782 -9.064809215e-05 -0.01800005732 -4.536157137e-19 -1.094625228e-07 0.0001200780125 4.288485747e-05 0.001953178061 +-0.6584984779 0.01345650382 -0.22345386 -0.2282443689 0.04875339512 -0.02246608868 -0.02989055822 -0.03081944551 1.637027787e-15 -7.26152164e-07 0.05308951609 -0.1450982707 -0.1483827986 2.127759795e-14 3.442936982e-08 -0.02458122029 -0.01239000092 -0.01313712089 +0.01533394482 -0.0007296329857 -2.592450054e-05 -0.004768502596 -0.001511690058 -6.208271532e-06 -0.001147417237 -0.001258850107 1.917561839e-15 -2.425279028e-08 0.001134739218 -3.181322198e-05 -0.006471812288 7.24310808e-17 -1.144204392e-09 -9.632466103e-05 -9.948006621e-06 -0.001785024432 +0.01833270275 -0.001097422765 -7.661442411e-05 -0.00644505496 -0.002298107362 -3.143168807e-06 -0.0009190377189 -0.002408709234 2.099690762e-15 -2.742928147e-07 0.0005519039471 -0.0001254956882 -0.00771597756 6.273860991e-16 -3.418072422e-08 -0.0002127864738 -4.062560358e-05 -0.00227937687 +0.01969436394 -0.001286617719 -2.083467044e-05 -0.007179413599 -0.002742060747 1.765772364e-05 0.0003374769583 -0.004133670998 1.179429649e-15 -3.569624436e-07 0.0004463582242 -4.239405678e-05 -0.008604278334 4.202560503e-16 -4.403060216e-08 -0.0002977069748 -1.401854786e-05 -0.002529457686 +-0.0978749605 -0.01316487075 -0.2130407789 -0.007257566838 -0.02426358333 -0.007673870259 -0.000207274938 -0.0007805971954 2.491182495e-17 -5.446403899e-06 -0.01770142063 -0.0007528564893 -0.0002429423989 -8.175729944e-18 -1.427764525e-06 -0.003824710931 -0.0001071885732 6.892453705e-05 +0.0139066722 -0.001578721016 -0.009279593416 -0.0001802038331 -0.0008924670316 -0.002416084784 -0.001698798776 -2.165098016e-05 9.639341687e-17 3.317770631e-07 -0.0003526875816 -0.008617890737 -0.000238585565 5.533632511e-17 6.185366803e-11 -0.0007231940104 -0.002328518152 -5.696700398e-05 +-0.7032312922 -0.01209572718 -0.09794951616 -0.0981931234 -0.08678128214 -0.02254506377 -0.02239848709 0.01203957742 -2.416945628e-15 -2.567890927e-08 0.003513822691 -0.07660978606 -0.07608012841 -2.848616889e-16 -8.230672456e-09 0.01054061706 -0.01833100498 -0.01852354788 +0.01282645885 -0.0005659372887 -0.006714288254 -0.002080964219 -0.0001566916507 -0.002284531356 -0.0007406077646 -0.0002279408227 1.473231347e-14 6.754771089e-07 -0.0001969760475 -0.005439738093 -0.001350492054 6.146919901e-15 1.791713722e-07 -0.0001843499208 -0.001782767559 -0.000437670136 +0.01384999961 -0.0007379273084 -0.007036266369 -0.003019670661 -0.000259702428 -0.002555983858 -0.001336395682 0.0001617617037 1.435752742e-14 3.698255233e-07 -0.0001270746844 -0.005885278828 -0.001935784436 5.946203227e-15 7.844759667e-08 -0.0002305191663 -0.00185688277 -0.0006123661508 +2.765712291e-05 3.720077601e-06 0.02036238075 -0.0233477642 0.002338746112 0.0007356468049 -0.0009812032831 0.000194405633 1.422542625e-16 9.595955332e-06 -0.001878669073 0.002128511619 -0.0001597543875 -4.596437741e-17 2.532252223e-06 -0.0005000689252 0.0005576019356 -3.99010004e-05 +2.916457569e-05 -3.310837267e-06 0.001189685587 -0.001302264186 6.214380247e-06 -2.06103457e-05 0.0003995787006 -0.0004093233243 9.078265652e-15 -6.672666382e-07 -4.52571742e-07 0.001026795406 -0.001084966637 7.336973683e-15 -3.274995636e-09 -1.789679354e-06 0.0002800299886 -0.0002947660627 +-0.0006393466189 0.000108858281 -0.0008418543798 0.0009982596025 0.0003381463824 -0.0003746796156 0.0003806652316 0.0001093219801 7.278884116e-15 1.597283949e-07 -0.0001498937733 3.528645958e-05 0.0003946084841 2.683893486e-16 1.715701531e-08 2.454526191e-06 -0.0001043909285 0.0001760819365 +0.00723547466 -0.0003192482788 -0.008685526295 -0.0004521943602 -5.567368067e-05 -0.002783533671 -0.0001324906441 -7.644734927e-05 2.997713185e-15 2.573168027e-06 3.499773229e-06 -0.005222654209 -0.000200978356 3.548101184e-16 7.362544702e-07 1.062643713e-05 -0.001714157241 -4.999374318e-05 +-0.007671490075 0.0004087366197 0.009283539995 0.0008973374162 8.862521263e-05 0.003030434937 0.000318283606 -5.123808375e-05 -9.833720972e-15 -2.555933767e-06 -7.898051518e-06 0.005549511916 0.0003924225201 -3.755216383e-15 -6.603782556e-07 -2.186680558e-05 0.00178004751 0.0001109453549 +0.03190423454 0.004291343995 0.1011177583 0.001624756044 -0.0276497488 0.003792657123 -4.559096828e-05 -0.001265615791 7.741028608e-17 -1.635250031e-05 0.003582821245 0.0002666046463 0.002970404703 -2.483857303e-17 -4.320584938e-06 0.000935241971 8.835981513e-05 0.0003455185581 +-0.01616277979 0.001834840124 0.02285690221 0.000356075832 0.0006008359032 0.001756537887 0.005508268792 0.0001023772094 -1.413597992e-15 -5.810025103e-06 2.076804464e-05 0.01296747733 0.0003633996064 -4.595476113e-15 -5.873869434e-09 2.334295533e-05 0.003619352433 9.09145889e-05 +0.2247614504 0.004705418665 0.02635109424 0.03818800495 0.03082879698 0.005636825896 0.008838887995 -0.002974585976 -6.378392968e-15 9.879575586e-08 -0.001601851696 0.02146172422 0.03056574819 7.672203169e-16 3.522663332e-09 -0.003392646564 0.004810646689 0.007656967713 +0.0001311583875 -5.787054953e-06 -0.0005697628855 -0.002167515495 1.929399857e-05 -0.0002320847707 -0.0005833891603 4.260366993e-05 2.718519895e-14 -2.000524086e-07 6.01954771e-05 0.0002288025252 -0.00134201318 1.247048921e-14 -3.356314348e-08 6.269065159e-05 7.227663683e-05 -0.0004308144694 +8.558495e-05 -4.559961992e-06 -0.0002414969708 -0.00280294775 3.469325952e-05 -0.0001587182493 -0.000617880095 -5.142642555e-05 2.175506298e-14 -8.346528609e-07 4.245281087e-05 0.0005143816637 -0.001660010119 9.993156893e-15 -2.092958701e-07 8.299433649e-05 0.0001624542912 -0.0005321394986 +0.05344704517 0.006484969473 -0.02532672345 0.1311413074 0.01761483245 -0.001846972845 0.005553309593 0.000369884667 -1.431332507e-16 5.59163416e-06 0.007774424025 0.0001860606278 0.001202916714 4.58549642e-17 1.471462346e-06 0.001608241683 -0.0004803858361 0.0003265724559 +-0.00696663245 0.0008231750485 -0.004031895656 0.007298376478 0.001185932372 0.001092296493 -0.001018036254 0.001807417112 -3.165948902e-15 4.430303371e-06 0.0001842070819 -0.001539253785 0.005593731591 -4.591323028e-16 6.233299139e-09 0.0003964604108 -0.0004732580649 0.001557061802 +-0.01249355754 0.0004596431505 0.009035601357 0.001491013851 0.000277250612 0.002846039353 0.0004810967925 0.0003834707016 9.156609086e-15 -6.815111497e-07 0.0003094171288 0.006063340443 0.0009146837909 6.106323544e-15 -1.657293427e-07 6.853333644e-05 0.002086088829 0.0003316950864 +0.3426463083 0.0005323739912 0.05962858685 0.0567654184 0.02797007004 0.01307961115 0.01099051124 -0.007713578865 -7.613582388e-15 -1.286904909e-07 -0.01006393012 0.04461434867 0.04404988284 -2.197765723e-16 7.810930725e-08 -0.004796502438 0.009450858627 0.009102612561 +-0.0001348710844 7.129399411e-06 -0.004783677766 0.000647580866 8.739656508e-05 -0.001412493743 0.0003261517667 4.196221483e-06 -8.591938475e-15 2.001531979e-06 1.456566741e-05 -0.002192720752 0.0006810450111 -4.158608274e-15 5.193907418e-07 0.0001353489152 -0.0007307710654 0.000227639195 +0.09575602972 0.01161850814 0.08922902354 0.08518846132 0.0444520721 0.002736237065 0.00259093501 0.00165608481 4.601549919e-17 -9.882359018e-06 0.003449671742 0.01299202201 0.0007573940207 -1.483596582e-17 -2.617039589e-06 0.0002548192956 0.002682241335 -0.0001621105801 +-0.01291533875 0.001526072271 0.004467360632 0.001853079832 0.002280611621 0.001849622216 0.001600964591 0.0001025237204 1.521567445e-15 -2.571307373e-06 0.0003222177319 0.004802563616 0.002797780484 -4.884459214e-16 -3.563688244e-09 0.0006837402297 0.001318211468 0.0007295886174 +-0.007047683233 0.0002592871818 0.0007031231884 0.001439518717 0.0002209743903 0.0002085526352 0.0004824021613 0.0003109943053 -2.044262799e-14 8.033786616e-08 0.0004611020545 0.001252241664 0.0008654243689 -5.648796171e-15 -4.093518511e-09 0.0001172368428 0.00045626573 0.0003666124896 +0.6134014558 0.001398373611 0.1027839693 0.1055060873 0.05198470884 0.02110359319 0.02158689084 -0.01306659744 3.171559303e-15 4.512763858e-07 -0.01790859237 0.07882334036 0.0811233263 -9.796064645e-16 8.798711777e-08 -0.008557014605 0.01642348661 0.0170766301 +-0.01725247303 0.0009119802931 0.009155250039 0.004693836196 0.0005096744771 0.002041010266 0.002957486109 2.540637085e-05 1.938478762e-14 -7.111934347e-07 2.344695905e-05 0.007014385482 0.00318086807 8.345320744e-15 -1.572986944e-07 0.0002069738727 0.002172425347 0.001022788363 +0.03962690314 0.004808109716 0.04883017502 0.07444221295 -0.03963857338 0.001747001307 0.002745070289 -0.002065180709 7.994048634e-17 1.661730839e-05 0.0003263681129 0.001990268421 0.005665072337 -2.556881e-17 4.379733424e-06 -0.0003481411398 0.0002963275669 0.001323092076 +-0.01881656624 0.002223359412 0.00782752212 0.01649638396 0.002023869072 0.001601196753 0.00260380566 0.003960843172 8.688780341e-15 2.59819868e-06 4.186050202e-05 0.005836352175 0.009207179173 7.765359264e-15 1.903078633e-10 6.237917757e-05 0.001590800649 0.002580088924 +-0.000127754268 4.700132371e-06 -0.0002581115927 -0.002091392285 4.323629121e-05 -9.863433418e-05 -0.0006452103887 6.952278433e-05 3.541736091e-14 2.30954454e-07 0.0001322602817 0.0003440880068 -0.001447114565 7.45969732e-15 1.184268849e-07 4.439038839e-05 0.0001187036462 -0.0004595789453 +0.2468272073 0.00167154664 0.03612099079 0.05114270186 0.02522338251 0.006935326121 0.009720562286 -0.003281347332 -2.1386277e-15 7.052195862e-07 -0.007240313655 0.02867297343 0.03998186999 1.26029501e-15 -4.316042962e-08 -0.003499281362 0.005545420602 0.008968140829 +-6.354261522e-05 3.358916299e-06 0.0002084961176 -0.003636466396 7.107440934e-05 0.0001249635068 -0.001045920379 7.850921721e-06 -1.534926269e-14 -1.685268854e-06 9.708029923e-06 0.0008717217914 -0.002222277993 -6.962109617e-15 -4.609665548e-07 9.31221427e-05 0.0002793518783 -0.0007223229142 +0.05685913206 0.006427655725 -0.03046211166 0.1203212432 0.0342239418 -0.001721206359 0.003995701665 0.001460746168 3.38840663e-17 1.792342543e-05 0.003543527523 0.00425008897 0.001514576557 -1.100358739e-17 4.725481375e-06 0.0007830837638 3.501753237e-05 0.0003566296182 +-0.007202572067 0.0008532158683 -0.003578524811 0.00615413142 0.001645801309 0.00103977876 -0.0009052511582 0.001706440804 5.909800265e-15 3.814753201e-06 0.0001817330186 -0.001742878271 0.005678565564 7.157213477e-15 2.823395796e-09 0.0004126329855 -0.0005158297166 0.00156720965 +-0.01333267353 0.0005338950753 0.007800917915 0.003065705519 0.000441713377 0.002321890766 0.001067902258 0.0004880678207 4.580113175e-14 1.396034923e-07 0.0001172076447 0.005857965877 0.001674306347 1.001766449e-14 1.004051563e-07 6.838113974e-05 0.00187777942 0.0006562006206 +0.0001334541053 -6.205740446e-06 -0.004483851894 0.000317893827 8.618363341e-05 -0.001341223798 0.0001122234392 8.71129581e-05 -1.733215963e-14 1.638113669e-06 -8.034616086e-06 -0.002192523381 0.0004829041824 -8.331693386e-15 4.609042106e-07 0.0001018992421 -0.0007478304822 0.0001721055778 +0.3398774587 -0.002009964479 0.06576518426 0.06399263481 0.01964330038 0.01382015491 0.009293099938 -0.005335697818 -8.294702469e-15 1.905726414e-08 -0.01425835945 0.04866006228 0.04857529403 7.962838116e-16 9.806741507e-08 -0.003699199303 0.009369562704 0.009190877421 +-0.1019019262 -0.01151953038 -0.03783213364 -0.1150523397 -0.068738926 -0.001493959006 -0.001842007736 -0.003145116844 -4.793555672e-17 1.013086673e-05 0.0002096749421 -0.01582423999 -0.001694172921 1.484526742e-17 2.683034835e-06 0.0001759736554 -0.002436415924 1.58519559e-05 +0.013451136 -0.001593420042 -0.002740251146 -0.002600756875 -0.003121127473 -0.001796579382 -0.0009323111509 -0.0008310164009 2.767790061e-15 2.418693786e-06 -0.0003194347366 -0.002182084984 -0.005369475442 3.513178329e-15 2.57110962e-09 -0.0007169128254 -0.000634362042 -0.001397688402 +0.007384944085 -0.0002957235298 1.262164923e-06 -0.001999741437 -0.000344302962 7.555741853e-05 -0.0006943489178 -0.0003843128506 1.438783408e-14 -2.616661531e-07 -0.0001910032185 -0.001183468062 -0.001194463975 5.317422235e-15 -4.746465428e-08 -0.0001159426879 -0.0002954661908 -0.0005261475386 +0.01707121554 -0.0007938274551 -0.007508622858 -0.004984060189 -0.0005817774835 -0.001836406205 -0.002164552347 -0.0006022194013 -2.501309552e-14 5.731169191e-08 1.398627422e-05 -0.006075029726 -0.003378347578 -1.059442835e-14 -1.167565843e-08 -0.0001706106526 -0.001881571479 -0.0011342651 +-0.6104652482 0.003378209247 -0.1150352779 -0.1169210194 -0.03649305059 -0.02206916345 -0.01884901311 0.008980536464 -7.289714041e-16 -3.34905395e-07 0.02539057111 -0.0862716454 -0.08854484071 2.11341502e-15 -8.595714501e-08 0.006608317581 -0.01642862716 -0.01696811273 +0.04259338371 0.004814980404 0.0164338672 0.1170099041 -0.0483127239 0.0008037789104 0.004407701376 -0.003047046494 -1.623755138e-16 5.615329415e-07 -8.583529782e-05 0.0008608021115 0.007586361838 5.072048727e-17 1.419407183e-07 -0.0001799171012 -0.0006818222004 0.001969520375 +-0.01992793433 0.002360660836 0.003348704552 0.02090880938 0.00292784657 0.001537483765 0.001005439096 0.00589705291 -8.601120969e-15 4.099012394e-06 4.917989682e-05 0.001834484819 0.01388971217 -4.080000173e-15 7.114433426e-09 7.937929032e-05 0.0005336177604 0.003821250074 +-8.238817545e-05 3.299161345e-06 0.0003822324693 -0.002942798595 6.607865063e-05 0.000133326686 -0.0009491292072 8.485744613e-05 -4.455568528e-16 -6.146509135e-07 5.349446761e-05 0.0007196583275 -0.001871255349 3.548631792e-15 -1.722963685e-07 4.353645039e-05 0.0002383250006 -0.0006187791468 +6.287502544e-05 -2.923747363e-06 0.0004009760776 -0.003749759584 7.2146167e-05 0.000161659885 -0.001195869506 0.0001095809997 -1.416849868e-14 -2.082427844e-06 -5.183229324e-06 0.0008784511704 -0.00230774827 -5.966598048e-15 -6.319716689e-07 7.017516053e-05 0.0002866182029 -0.000763090681 +0.248595691 -0.0002037429842 0.04043940352 0.05743017461 0.0197667055 0.00717153543 0.006644964953 0.0007220237458 -3.893814968e-16 8.198459645e-07 -0.01028647718 0.03152124232 0.04430277138 1.00633236e-15 -1.363952453e-07 -0.002729593005 0.005442273615 0.009254032253 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/iRmat_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/iRmat_ref.dat new file mode 100644 index 0000000000..af12828313 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/iRmat_ref.dat @@ -0,0 +1,125 @@ +0 0 0 +0 1 0 +0 1 1 +1 1 0 +0 1 1 +0 2 0 +0 0 0 +0 0 1 +1 0 0 +0 0 1 +0 2 2 +0 0 2 +0 0 0 +1 0 2 +0 0 0 +2 2 0 +2 0 0 +2 0 1 +0 0 0 +2 0 1 +0 2 2 +0 0 2 +0 0 0 +1 0 2 +0 0 0 +0 0 0 +0 1 0 +0 1 1 +1 1 0 +0 1 1 +0 2 0 +0 0 0 +0 0 1 +1 0 0 +0 0 1 +0 2 2 +0 0 2 +0 0 0 +1 0 2 +0 0 0 +2 2 0 +2 0 0 +2 0 1 +0 0 0 +2 0 1 +0 2 2 +0 0 2 +0 0 0 +1 0 2 +0 0 0 +0 0 0 +0 1 0 +0 1 1 +0 1 1 +1 1 0 +0 2 0 +0 0 0 +0 0 1 +0 0 1 +1 0 0 +0 2 2 +0 0 2 +0 0 0 +0 0 0 +1 0 2 +0 2 2 +0 0 2 +0 0 0 +0 0 0 +1 0 2 +2 2 0 +2 0 0 +2 0 1 +2 0 1 +0 0 0 +0 0 0 +0 0 1 +0 0 1 +1 0 0 +0 2 0 +0 0 2 +0 0 0 +0 0 0 +1 0 2 +0 2 2 +0 0 2 +0 0 0 +0 0 0 +1 0 2 +0 2 2 +2 0 0 +2 0 1 +2 0 1 +0 0 0 +2 2 0 +0 1 0 +0 1 1 +0 1 1 +1 1 0 +0 0 0 +0 0 0 +0 1 1 +0 1 1 +1 1 0 +0 1 0 +0 2 2 +0 0 0 +0 0 0 +1 0 2 +0 0 2 +0 2 2 +0 0 0 +0 0 0 +1 0 2 +0 0 2 +2 2 0 +2 0 1 +2 0 1 +0 0 0 +2 0 0 +0 2 0 +0 0 1 +0 0 1 +1 0 0 +0 0 0 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/jle.orb b/tests/09_DeePKS/NO_GO_deepks_UT/jle.orb new file mode 100644 index 0000000000..6fecaa8b68 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/jle.orb @@ -0,0 +1,336 @@ +--------------------------------------------------------------------------- +Energy Cutoff(Ry) 20 +Radius Cutoff(a.u.) 2 +Lmax 2 +Number of Sorbitals--> 2 +Number of Porbitals--> 2 +Number of Dorbitals--> 2 +--------------------------------------------------------------------------- +SUMMARY END + +Mesh 205 +dr 0.01 + Type L N + 0 0 0 +1.000000000000e+00 9.999588771557e-01 9.998355147105e-01 9.996299309272e-01 +9.993421562398e-01 9.989722332485e-01 9.985202167122e-01 9.979861735385e-01 +9.973701827725e-01 9.966723355824e-01 9.958927352436e-01 9.950314971204e-01 +9.940887486459e-01 9.930646292992e-01 9.919592905814e-01 9.907728959881e-01 +9.895056209813e-01 9.881576529582e-01 9.867291912182e-01 9.852204469278e-01 +9.836316430835e-01 9.819630144724e-01 9.802148076310e-01 9.783872808018e-01 +9.764807038877e-01 9.744953584044e-01 9.724315374315e-01 9.702895455599e-01 +9.680696988392e-01 9.657723247216e-01 9.633977620041e-01 9.609463607696e-01 +9.584184823246e-01 9.558144991363e-01 9.531347947667e-01 9.503797638053e-01 +9.475498118000e-01 9.446453551854e-01 9.416668212101e-01 9.386146478614e-01 +9.354892837887e-01 9.322911882241e-01 9.290208309025e-01 9.256786919789e-01 +9.222652619442e-01 9.187810415390e-01 9.152265416659e-01 9.116022833003e-01 +9.079087973984e-01 9.041466248047e-01 9.003163161571e-01 8.964184317906e-01 +8.924535416387e-01 8.884222251345e-01 8.843250711084e-01 8.801626776859e-01 +8.759356521824e-01 8.716446109973e-01 8.672901795064e-01 8.628729919524e-01 +8.583936913342e-01 8.538529292946e-01 8.492513660070e-01 8.445896700594e-01 +8.398685183386e-01 8.350885959117e-01 8.302505959068e-01 8.253552193925e-01 +8.204031752555e-01 8.153951800774e-01 8.103319580098e-01 8.052142406487e-01 +8.000427669069e-01 7.948182828860e-01 7.895415417463e-01 7.842133035766e-01 +7.788343352618e-01 7.734054103501e-01 7.679273089189e-01 7.624008174394e-01 +7.568267286407e-01 7.512058413722e-01 7.455389604655e-01 7.398268965953e-01 +7.340704661391e-01 7.282704910361e-01 7.224277986456e-01 7.165432216037e-01 +7.106175976801e-01 7.046517696336e-01 6.986465850665e-01 6.926028962792e-01 +6.865215601233e-01 6.804034378540e-01 6.742493949824e-01 6.680603011269e-01 +6.618370298634e-01 6.555804585759e-01 6.492914683061e-01 6.429709436022e-01 +6.366197723676e-01 6.302388457091e-01 6.238290577843e-01 6.173913056492e-01 +6.109264891046e-01 6.044355105434e-01 5.979192747958e-01 5.913786889759e-01 +5.848146623272e-01 5.782281060680e-01 5.716199332362e-01 5.649910585351e-01 +5.583423981773e-01 5.516748697303e-01 5.449893919607e-01 5.382868846789e-01 +5.315682685835e-01 5.248344651061e-01 5.180863962557e-01 5.113249844635e-01 +5.045511524272e-01 4.977658229563e-01 4.909699188170e-01 4.841643625769e-01 +4.773500764508e-01 4.705279821460e-01 4.636990007082e-01 4.568640523676e-01 +4.500240563852e-01 4.431799308997e-01 4.363325927746e-01 4.294829574454e-01 +4.226319387680e-01 4.157804488670e-01 4.089293979840e-01 4.020796943279e-01 +3.952322439241e-01 3.883879504654e-01 3.815477151626e-01 3.747124365970e-01 +3.678830105719e-01 3.610603299660e-01 3.542452845872e-01 3.474387610270e-01 +3.406416425155e-01 3.338548087775e-01 3.270791358895e-01 3.203154961370e-01 +3.135647578731e-01 3.068277853781e-01 3.001054387191e-01 2.933985736122e-01 +2.867080412838e-01 2.800346883342e-01 2.733793566016e-01 2.667428830275e-01 +2.601260995228e-01 2.535298328351e-01 2.469549044172e-01 2.404021302969e-01 +2.338723209473e-01 2.273662811591e-01 2.208848099136e-01 2.144287002569e-01 +2.079987391757e-01 2.015957074739e-01 1.952203796511e-01 1.888735237815e-01 +1.825559013953e-01 1.762682673602e-01 1.700113697655e-01 1.637859498067e-01 +1.575927416716e-01 1.514324724285e-01 1.453058619151e-01 1.392136226293e-01 +1.331564596211e-01 1.271350703868e-01 1.211501447635e-01 1.152023648265e-01 +1.092924047871e-01 1.034209308931e-01 9.758860132936e-02 9.179606612189e-02 +8.604396704195e-02 8.033293751264e-02 7.466360251697e-02 6.903657850753e-02 +6.345247331791e-02 5.791188607588e-02 5.241540711817e-02 4.696361790712e-02 +4.155709094895e-02 3.619638971392e-02 3.088206855820e-02 2.561467264749e-02 +2.039473788254e-02 1.522279082639e-02 1.009934863353e-02 5.024918980770e-03 +8.824636488425e-14 -4.974919786756e-03 -9.899361531700e-03 -1.477285612199e-02 +-1.959494423991e-02 + Type L N + 0 0 1 +1.000000000000e+00 9.998355147105e-01 9.993421562398e-01 9.985202167122e-01 +9.973701827725e-01 9.958927352436e-01 9.940887486459e-01 9.919592905814e-01 +9.895056209813e-01 9.867291912182e-01 9.836316430835e-01 9.802148076310e-01 +9.764807038877e-01 9.724315374315e-01 9.680696988392e-01 9.633977620041e-01 +9.584184823246e-01 9.531347947667e-01 9.475498117999e-01 9.416668212101e-01 +9.354892837886e-01 9.290208309025e-01 9.222652619442e-01 9.152265416659e-01 +9.079087973984e-01 9.003163161571e-01 8.924535416387e-01 8.843250711084e-01 +8.759356521824e-01 8.672901795064e-01 8.583936913341e-01 8.492513660070e-01 +8.398685183386e-01 8.302505959068e-01 8.204031752555e-01 8.103319580098e-01 +8.000427669069e-01 7.895415417463e-01 7.788343352617e-01 7.679273089188e-01 +7.568267286407e-01 7.455389604655e-01 7.340704661390e-01 7.224277986455e-01 +7.106175976801e-01 6.986465850664e-01 6.865215601232e-01 6.742493949824e-01 +6.618370298633e-01 6.492914683061e-01 6.366197723676e-01 6.238290577843e-01 +6.109264891046e-01 5.979192747957e-01 5.848146623272e-01 5.716199332362e-01 +5.583423981772e-01 5.449893919607e-01 5.315682685834e-01 5.180863962557e-01 +5.045511524271e-01 4.909699188170e-01 4.773500764508e-01 4.636990007081e-01 +4.500240563851e-01 4.363325927745e-01 4.226319387680e-01 4.089293979839e-01 +3.952322439241e-01 3.815477151626e-01 3.678830105718e-01 3.542452845871e-01 +3.406416425154e-01 3.270791358894e-01 3.135647578731e-01 3.001054387191e-01 +2.867080412837e-01 2.733793566015e-01 2.601260995227e-01 2.469549044171e-01 +2.338723209472e-01 2.208848099135e-01 2.079987391756e-01 1.952203796510e-01 +1.825559013952e-01 1.700113697655e-01 1.575927416715e-01 1.453058619151e-01 +1.331564596211e-01 1.211501447634e-01 1.092924047871e-01 9.758860132929e-02 +8.604396704188e-02 7.466360251690e-02 6.345247331784e-02 5.241540711810e-02 +4.155709094888e-02 3.088206855813e-02 2.039473788247e-02 1.009934863346e-02 +2.180811153812e-14 -9.899361531766e-03 -1.959494423998e-02 -2.908311310810e-02 +-3.836039164508e-02 -4.742346358301e-02 -5.626917445163e-02 -6.489453302867e-02 +-7.329671266526e-02 -8.147305248589e-02 -8.942105846211e-02 -9.713840435981e-02 +-1.046229325594e-01 -1.118726547487e-01 -1.188857524890e-01 -1.256605776527e-01 +-1.321956527344e-01 -1.384896710345e-01 -1.445414967152e-01 -1.503501647310e-01 +-1.559148806314e-01 -1.612350202393e-01 -1.663101292030e-01 -1.711399224253e-01 +-1.757242833674e-01 -1.800632632314e-01 -1.841570800207e-01 -1.880061174797e-01 +-1.916109239149e-01 -1.949722108968e-01 -1.980908518463e-01 -2.009678805055e-01 +-2.036044892942e-01 -2.060020275558e-01 -2.081619996917e-01 -2.100860631877e-01 +-2.117760265342e-01 -2.132338470410e-01 -2.144616285503e-01 -2.154616190492e-01 +-2.162362081830e-01 -2.167879246744e-01 -2.171194336468e-01 -2.172335338584e-01 +-2.171331548467e-01 -2.168213539861e-01 -2.163013134635e-01 -2.155763371712e-01 +-2.146498475232e-01 -2.135253821946e-01 -2.122065907892e-01 -2.106972314371e-01 +-2.090011673253e-01 -2.071223631645e-01 -2.050648815953e-01 -2.028328795354e-01 +-2.004306044739e-01 -1.978623907118e-01 -1.951326555560e-01 -1.922458954659e-01 +-1.892066821602e-01 -1.860196586822e-01 -1.826895354318e-01 -1.792210861633e-01 +-1.756191439552e-01 -1.718885971536e-01 -1.680343852933e-01 -1.640614949996e-01 +-1.599749558740e-01 -1.557798363682e-01 -1.514812396472e-01 -1.470842994485e-01 +-1.425941759367e-01 -1.380160515603e-01 -1.333551269115e-01 -1.286166165939e-01 +-1.238057450998e-01 -1.189277427024e-01 -1.139878413639e-01 -1.089912706646e-01 +-1.039432537543e-01 -9.884900333146e-02 -9.371371765056e-02 -8.854257656305e-02 +-8.334073759347e-02 -7.811333205441e-02 -7.286546120297e-02 -6.760219244178e-02 +-6.232855556732e-02 -5.704953906849e-02 -5.177008647810e-02 -4.649509277994e-02 +-4.122940087424e-02 -3.597779810401e-02 -3.074501284474e-02 -2.553571116011e-02 +-2.035449352599e-02 -1.520589162508e-02 -1.009436521457e-02 -5.024299068919e-03 +-2.180811153812e-14 4.974306043314e-03 9.894476794432e-03 1.475645640459e-02 +1.955627809356e-02 + Type L N + 0 1 0 +0.000000000000e+00 7.488637748270e-03 1.497500757073e-02 2.245684235920e-02 +2.993187664049e-02 3.739784739318e-02 4.485249486326e-02 5.229356337864e-02 +5.971880216197e-02 6.712596614162e-02 7.451281676032e-02 8.187712278134e-02 +8.921666109172e-02 9.652921750236e-02 1.038125875446e-01 1.110645772630e-01 +1.182830040039e-01 1.254656971996e-01 1.326104991481e-01 1.397152657871e-01 +1.467778674633e-01 1.537961896959e-01 1.607681339337e-01 1.676916183067e-01 +1.745645783707e-01 1.813849678449e-01 1.881507593431e-01 1.948599450964e-01 +2.015105376695e-01 2.081005706678e-01 2.146280994373e-01 2.210912017554e-01 +2.274879785128e-01 2.338165543868e-01 2.400750785054e-01 2.462617251009e-01 +2.523746941547e-01 2.584122120318e-01 2.643725321043e-01 2.702539353656e-01 +2.760547310324e-01 2.817732571367e-01 2.874078811063e-01 2.929570003335e-01 +2.984190427326e-01 3.037924672851e-01 3.090757645728e-01 3.142674572991e-01 +3.193661007968e-01 3.243702835244e-01 3.292786275485e-01 3.340897890136e-01 +3.388024585987e-01 3.434153619598e-01 3.479272601599e-01 3.523369500844e-01 +3.566432648428e-01 3.608450741561e-01 3.649412847309e-01 3.689308406179e-01 +3.728127235570e-01 3.765859533068e-01 3.802495879603e-01 3.838027242452e-01 +3.872444978093e-01 3.905740834913e-01 3.937906955755e-01 3.968935880325e-01 +3.998820547434e-01 4.027554297095e-01 4.055130872460e-01 4.081544421604e-01 +4.106789499151e-01 4.130861067746e-01 4.153754499369e-01 4.175465576492e-01 +4.195990493076e-01 4.215325855415e-01 4.233468682816e-01 4.250416408125e-01 +4.266166878097e-01 4.280718353596e-01 4.294069509652e-01 4.306219435350e-01 +4.317167633563e-01 4.326914020530e-01 4.335458925272e-01 4.342803088856e-01 +4.348947663497e-01 4.353894211511e-01 4.357644704103e-01 4.360201520010e-01 +4.361567443983e-01 4.361745665118e-01 4.360739775033e-01 4.358553765897e-01 +4.355192028303e-01 4.350659348995e-01 4.344960908441e-01 4.338102278270e-01 +4.330089418547e-01 4.320928674913e-01 4.310626775581e-01 4.299190828181e-01 +4.286628316477e-01 4.272947096929e-01 4.258155395130e-01 4.242261802101e-01 +4.225275270446e-01 4.207205110385e-01 4.188060985641e-01 4.167852909214e-01 +4.146591239012e-01 4.124286673363e-01 4.100950246402e-01 4.076593323337e-01 +4.051227595591e-01 4.024865075830e-01 3.997518092873e-01 3.969199286487e-01 +3.939921602073e-01 3.909698285243e-01 3.878542876288e-01 3.846469204537e-01 +3.813491382626e-01 3.779623800657e-01 3.744881120259e-01 3.709278268561e-01 +3.672830432068e-01 3.635553050448e-01 3.597461810232e-01 3.558572638428e-01 +3.518901696056e-01 3.478465371601e-01 3.437280274391e-01 3.395363227902e-01 +3.352731262987e-01 3.309401611045e-01 3.265391697118e-01 3.220719132928e-01 +3.175401709852e-01 3.129457391848e-01 3.082904308316e-01 3.035760746916e-01 +2.988045146335e-01 2.939776089012e-01 2.890972293815e-01 2.841652608687e-01 +2.791836003246e-01 2.741541561365e-01 2.690788473710e-01 2.639596030257e-01 +2.587983612786e-01 2.535970687348e-01 2.483576796724e-01 2.430821552860e-01 +2.377724629297e-01 2.324305753586e-01 2.270584699704e-01 2.216581280466e-01 +2.162315339932e-01 2.107806745824e-01 2.053075381949e-01 1.998141140629e-01 +1.943023915144e-01 1.887743592194e-01 1.832320044375e-01 1.776773122682e-01 +1.721122649033e-01 1.665388408820e-01 1.609590143496e-01 1.553747543190e-01 +1.497880239360e-01 1.442007797487e-01 1.386149709812e-01 1.330325388114e-01 +1.274554156537e-01 1.218855244475e-01 1.163247779500e-01 1.107750780353e-01 +1.052383149992e-01 9.971636687013e-02 9.421109872690e-02 8.872436202246e-02 +8.325799391531e-02 7.781381660774e-02 7.239363669171e-02 6.699924450243e-02 +6.163241347987e-02 5.629489953858e-02 5.098844044591e-02 4.571475520896e-02 +4.047554347042e-02 3.527248491362e-02 3.010723867693e-02 2.498144277778e-02 +1.989671354647e-02 1.485464507002e-02 9.856808646282e-03 4.904752248416e-03 +8.084377910810e-14 -4.855948338613e-03 -9.661617874115e-03 -1.441555907126e-02 +-1.911634823371e-02 + Type L N + 0 1 1 +0.000000000000e+00 1.287349883354e-02 2.573547475531e-02 3.857441713205e-02 +5.137883987341e-02 6.413729366771e-02 7.683837817512e-02 8.947075416401e-02 +1.020231555764e-01 1.144844015086e-01 1.268434080930e-01 1.390892002673e-01 +1.512109234179e-01 1.631978548831e-01 1.750394153042e-01 1.867251798097e-01 +1.982448890213e-01 2.095884598674e-01 2.207459961937e-01 2.317077991564e-01 +2.424643773877e-01 2.530064569210e-01 2.633249908654e-01 2.734111688171e-01 +2.832564259984e-01 2.928524521123e-01 3.021911999042e-01 3.112648934202e-01 +3.200660359520e-01 3.285874176609e-01 3.368221228716e-01 3.447635370265e-01 +3.524053532954e-01 3.597415788301e-01 3.667665406600e-01 3.734748912194e-01 +3.798616135028e-01 3.859220258413e-01 3.916517862950e-01 3.970468966577e-01 +4.021037060685e-01 4.068189142273e-01 4.111895742108e-01 4.152130948861e-01 +4.188872429201e-01 4.222101443820e-01 4.251802859385e-01 4.277965156404e-01 +4.300580433007e-01 4.319644404634e-01 4.335156399653e-01 4.347119350899e-01 +4.355539783170e-01 4.360427796690e-01 4.361797046561e-01 4.359664718249e-01 +4.354051499131e-01 4.344981546136e-01 4.332482449540e-01 4.316585192952e-01 +4.297324109555e-01 4.274736834644e-01 4.248864254548e-01 4.219750451979e-01 +4.187442647891e-01 4.151991139927e-01 4.113449237518e-01 4.071873193743e-01 +4.027322134004e-01 3.979857981635e-01 3.929545380524e-01 3.876451614846e-01 +3.820646526015e-01 3.762202426951e-01 3.701194013774e-01 3.637698275033e-01 +3.571794398579e-01 3.503563676209e-01 3.433089406181e-01 3.360456793733e-01 +3.285752849731e-01 3.209066287553e-01 3.130487418352e-01 3.050108044820e-01 +2.968021353580e-01 2.884321806341e-01 2.799105029940e-01 2.712467705418e-01 +2.624507456248e-01 2.535322735859e-01 2.445012714596e-01 2.353677166230e-01 +2.261416354183e-01 2.168330917584e-01 2.074521757289e-01 1.980089922025e-01 +1.885136494756e-01 1.789762479447e-01 1.694068688318e-01 1.598155629754e-01 +1.502123396984e-01 1.406071557664e-01 1.310099044496e-01 1.214304047005e-01 +1.118783904600e-01 1.023635001051e-01 9.289526604868e-02 8.348310450536e-02 +7.413630543331e-02 6.486402266461e-02 5.567526423484e-02 4.657888292306e-02 +3.758356701260e-02 2.869783128319e-02 1.993000824438e-02 1.128823961984e-02 +2.780468092110e-03 -5.585570683343e-03 -1.380235578603e-02 -2.186258845205e-02 +-2.975919920140e-02 -3.748535466356e-02 -4.503446409415e-02 -5.240018557589e-02 +-5.957643189757e-02 -6.655737610510e-02 -7.333745671913e-02 -7.991138261421e-02 +-8.627413755471e-02 -9.242098438353e-02 -9.834746885961e-02 -1.040494231411e-01 +-1.095229689111e-01 -1.147645201439e-01 -1.197707855094e-01 -1.245387704143e-01 +-1.290657786791e-01 -1.333494138503e-01 -1.373875801476e-01 -1.411784830461e-01 +-1.447206294949e-01 -1.480128277725e-01 -1.510541869820e-01 -1.538441161856e-01 +-1.563823231847e-01 -1.586688129443e-01 -1.607038856690e-01 -1.624881345314e-01 +-1.640224430593e-01 -1.653079821847e-01 -1.663462069605e-01 -1.671388529506e-01 +-1.676879322986e-01 -1.679957294811e-01 -1.680647967533e-01 -1.678979492927e-01 +-1.674982600487e-01 -1.668690543061e-01 -1.660139039692e-01 -1.649366215765e-01 +-1.636412540531e-01 -1.621320762106e-01 -1.604135840036e-01 -1.584904875512e-01 +-1.563677039349e-01 -1.540503497817e-01 -1.515437336425e-01 -1.488533481770e-01 +-1.459848621550e-01 -1.429441122854e-01 -1.397370948832e-01 -1.363699573865e-01 +-1.328489897337e-01 -1.291806156141e-01 -1.253713836005e-01 -1.214279581791e-01 +-1.173571106849e-01 -1.131657101573e-01 -1.088607141251e-01 -1.044491593355e-01 +-9.993815243651e-02 -9.533486062644e-02 -9.064650228155e-02 -8.588033757396e-02 +-8.104365909172e-02 -7.614378247274e-02 -7.118803706450e-02 -6.618375662098e-02 +-6.113827004858e-02 -5.605889221235e-02 -5.095291481399e-02 -4.582759735266e-02 +-4.069015817980e-02 -3.554776565875e-02 -3.040752943992e-02 -2.527649186198e-02 +-2.016161948939e-02 -1.506979479638e-02 -1.000780800721e-02 -4.982349102379e-03 +-6.437579797176e-15 4.932773078295e-03 9.809627048423e-03 1.462434920303e-02 +1.937086424077e-02 + Type L N + 0 2 0 +0.000000000000e+00 5.535915211195e-05 2.213972080154e-04 4.979959858820e-04 +8.849586090862e-04 1.382009641449e-03 1.988795277024e-03 2.704883585487e-03 +3.529764810931e-03 4.462851724475e-03 5.503480030692e-03 6.650908827167e-03 +7.904321117094e-03 9.262824374522e-03 1.072545116179e-02 1.229115979875e-02 +1.395883508334e-02 1.572728906294e-02 1.759526185599e-02 1.956142252333e-02 +2.162436998860e-02 2.378263400702e-02 2.603467618203e-02 2.837889102883e-02 +3.081360708426e-02 3.333708806224e-02 3.594753405377e-02 3.864308277085e-02 +4.142181083340e-02 4.428173509816e-02 4.722081402876e-02 5.023694910596e-02 +5.332798627704e-02 5.649171744338e-02 5.972588198510e-02 6.302816832176e-02 +6.639621550800e-02 6.982761486302e-02 7.331991163267e-02 7.687060668312e-02 +8.047715822478e-02 8.413698356539e-02 8.784746089095e-02 9.160593107325e-02 +9.540969950283e-02 9.925603794593e-02 1.031421864243e-01 1.070653551164e-01 +1.110227262786e-01 1.150114561856e-01 1.190286770876e-01 1.230714991840e-01 +1.271370126117e-01 1.312222894466e-01 1.353243857168e-01 1.394403434265e-01 +1.435671925888e-01 1.477019532664e-01 1.518416376183e-01 1.559832519508e-01 +1.601237987727e-01 1.642602788521e-01 1.683896932733e-01 1.725090454930e-01 +1.766153433942e-01 1.807056013362e-01 1.847768421993e-01 1.888260994226e-01 +1.928504190344e-01 1.968468616722e-01 2.008125045921e-01 2.047444436666e-01 +2.086397953674e-01 2.124956987344e-01 2.163093173272e-01 2.200778411595e-01 +2.237984886144e-01 2.274685083383e-01 2.310851811145e-01 2.346458217128e-01 +2.381477807144e-01 2.415884463125e-01 2.449652460847e-01 2.482756487386e-01 +2.515171658267e-01 2.546873534324e-01 2.577838138234e-01 2.608041970725e-01 +2.637462026449e-01 2.666075809504e-01 2.693861348596e-01 2.720797211832e-01 +2.746862521131e-01 2.772036966244e-01 2.796300818381e-01 2.819634943422e-01 +2.842020814712e-01 2.863440525436e-01 2.883876800545e-01 2.903313008259e-01 +2.921733171103e-01 2.939121976491e-01 2.955464786849e-01 2.970747649265e-01 +2.984957304652e-01 2.998081196445e-01 3.010107478787e-01 3.021025024244e-01 +3.030823430996e-01 3.039493029542e-01 3.047024888889e-01 3.053410822225e-01 +3.058643392084e-01 3.062715914985e-01 3.065622465553e-01 3.067357880110e-01 +3.067917759749e-01 3.067298472868e-01 3.065497157184e-01 3.062511721212e-01 +3.058340845212e-01 3.052983981609e-01 3.046441354877e-01 3.038713960897e-01 +3.029803565781e-01 3.019712704172e-01 3.008444677015e-01 2.996003548804e-01 +2.982394144306e-01 2.967622044769e-01 2.951693583611e-01 2.934615841593e-01 +2.916396641495e-01 2.897044542274e-01 2.876568832728e-01 2.854979524671e-01 +2.832287345604e-01 2.808503730919e-01 2.783640815610e-01 2.757711425520e-01 +2.730729068125e-01 2.702707922851e-01 2.673662830950e-01 2.643609284924e-01 +2.612563417520e-01 2.580541990295e-01 2.547562381760e-01 2.513642575117e-01 +2.478801145597e-01 2.443057247399e-01 2.406430600253e-01 2.368941475610e-01 +2.330610682465e-01 2.291459552836e-01 2.251509926894e-01 2.210784137768e-01 +2.169304996024e-01 2.127095773847e-01 2.084180188913e-01 2.040582387984e-01 +1.996326930228e-01 1.951438770279e-01 1.905943241041e-01 1.859866036266e-01 +1.813233192898e-01 1.766071073212e-01 1.718406346748e-01 1.670265972066e-01 +1.621677178324e-01 1.572667446692e-01 1.523264491631e-01 1.473496242024e-01 +1.423390822201e-01 1.372976532846e-01 1.322281831820e-01 1.271335314898e-01 +1.220165696442e-01 1.168801790025e-01 1.117272489014e-01 1.065606747123e-01 +1.013833558967e-01 9.619819406050e-02 9.100809101075e-02 8.581594681512e-02 +8.062465786566e-02 7.543711494816e-02 7.025620131870e-02 6.508479078835e-02 +5.992574581769e-02 5.478191562228e-02 4.965613429040e-02 4.455121891443e-02 +3.946996773718e-02 3.441515831428e-02 2.938954569414e-02 2.439586061649e-02 +1.943680773090e-02 1.451506383641e-02 9.633276143556e-03 4.794060559853e-03 +4.131818525851e-15 -4.746357278055e-03 -9.442499310155e-03 -1.408595203483e-02 +-1.867428087307e-02 + Type L N + 0 2 1 +0.000000000000e+00 1.378450216078e-04 5.511357836611e-04 1.239139794773e-03 +2.200637640491e-03 3.433925082304e-03 4.936815994628e-03 6.706646131180e-03 +8.740277714831e-03 1.103410484304e-02 1.358405969917e-02 1.638561955894e-02 +1.943381457962e-02 2.272323635834e-02 2.624804724465e-02 3.000199039070e-02 +3.397840052178e-02 3.817021540801e-02 4.256998801741e-02 4.716989932876e-02 +5.196177178198e-02 5.693708334247e-02 6.208698215471e-02 6.740230175952e-02 +7.287357684839e-02 7.849105952722e-02 8.424473606111e-02 9.012434407095e-02 +9.611939015158e-02 1.022191678810e-01 1.084127761890e-01 1.146891380531e-01 +1.210370194893e-01 1.274450488047e-01 1.339017360777e-01 1.403954928328e-01 +1.469146518750e-01 1.534474872496e-01 1.599822342926e-01 1.665071097367e-01 +1.730103318384e-01 1.794801404905e-01 1.859048172859e-01 1.922727054973e-01 +1.985722299387e-01 2.047919166733e-01 2.109204125357e-01 2.169465044320e-01 +2.228591383867e-01 2.286474383027e-01 2.343007244016e-01 2.398085313134e-01 +2.451606257844e-01 2.503470239719e-01 2.553580082979e-01 2.601841438308e-01 +2.648162941690e-01 2.692456367986e-01 2.734636778979e-01 2.774622665664e-01 +2.812336084509e-01 2.847702787484e-01 2.880652345620e-01 2.911118265905e-01 +2.939038101309e-01 2.964353553767e-01 2.987010569941e-01 3.006959429600e-01 +3.024154826495e-01 3.038555941563e-01 3.050126508376e-01 3.058834870714e-01 +3.064654032169e-01 3.067561697721e-01 3.067540307204e-01 3.064577060637e-01 +3.058663935363e-01 3.049797694999e-01 3.037979890185e-01 3.023216851136e-01 +3.005519672032e-01 2.984904187284e-01 2.961390939721e-01 2.935005140777e-01 +2.905776622752e-01 2.873739783248e-01 2.838933521878e-01 2.801401169391e-01 +2.761190409326e-01 2.718353192356e-01 2.672945643488e-01 2.625027962274e-01 +2.574664316246e-01 2.521922727737e-01 2.466874954338e-01 2.409596363168e-01 +2.350165799226e-01 2.288665448033e-01 2.225180692832e-01 2.159799966602e-01 +2.092614599151e-01 2.023718659557e-01 1.953208794259e-01 1.881184061067e-01 +1.807745759402e-01 1.732997257066e-01 1.657043813846e-01 1.579992402274e-01 +1.501951525855e-01 1.423031035083e-01 1.343341941582e-01 1.262996230683e-01 +1.182106672782e-01 1.100786633801e-01 1.019149885090e-01 9.373104130994e-02 +8.553822291517e-02 7.734791796572e-02 6.917147570869e-02 6.102019120418e-02 +5.290528667402e-02 4.483789302445e-02 3.682903157469e-02 2.888959602278e-02 +2.103033467944e-02 1.326183300055e-02 5.594496447730e-03 -1.961466293644e-03 +-9.396059710778e-03 -1.669951744637e-02 -2.386231784130e-02 -3.087519901112e-02 +-3.772917343115e-02 -4.441554200612e-02 -5.092590760095e-02 -5.725218801079e-02 +-6.338662834879e-02 -6.932181283193e-02 -7.505067594562e-02 -8.056651296961e-02 +-8.586298984831e-02 -9.093415239043e-02 -9.577443478343e-02 -1.003786674102e-01 +-1.047420839562e-01 -1.088603277967e-01 -1.127294576547e-01 -1.163459525234e-01 +-1.197067158441e-01 -1.228090789373e-01 -1.256508036817e-01 -1.282300844387e-01 +-1.305455492228e-01 -1.325962601165e-01 -1.343817129326e-01 -1.359018361263e-01 +-1.371569889621e-01 -1.381479589410e-01 -1.388759584938e-01 -1.393426209511e-01 +-1.395499957974e-01 -1.395005432216e-01 -1.391971279746e-01 -1.386430125484e-01 +-1.378418496907e-01 -1.367976742705e-01 -1.355148945107e-01 -1.339982826069e-01 +-1.322529647502e-01 -1.302844105739e-01 -1.280984220447e-01 -1.257011218207e-01 +-1.230989410988e-01 -1.202986069733e-01 -1.173071293331e-01 -1.141317873188e-01 +-1.107801153683e-01 -1.072598888758e-01 -1.035791094915e-01 -9.974599008950e-02 +-9.576893943205e-02 -9.165654655832e-02 -8.741756492694e-02 -8.306089634124e-02 +-7.859557468680e-02 -7.403074951113e-02 -6.937566947526e-02 -6.463966570746e-02 +-5.983213508908e-02 -5.496252350283e-02 -5.004030907345e-02 -4.507498543086e-02 +-4.007604502571e-02 -3.505296252697e-02 -3.001517833094e-02 -2.497208221092e-02 +-1.993299713613e-02 -1.490716328841e-02 -9.903722304457e-03 -4.931701771028e-03 +4.773444701199e-14 4.882628890872e-03 9.707589564902e-03 1.446645969794e-02 +1.915100382853e-02 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/model.ptg b/tests/09_DeePKS/NO_GO_deepks_UT/model.ptg new file mode 100644 index 0000000000..400c7e0bd8 Binary files /dev/null and b/tests/09_DeePKS/NO_GO_deepks_UT/model.ptg differ diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/o_delta_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/o_delta_ref.dat new file mode 100644 index 0000000000..b48023e5c5 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/o_delta_ref.dat @@ -0,0 +1 @@ +-0.08058091803 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/orbpre_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/orbpre_ref.dat new file mode 100644 index 0000000000..3e3237ec88 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/orbpre_ref.dat @@ -0,0 +1,5 @@ +1.056940269 0.1266618616 0.8734002808 0.902430529 0.970664598 0.007596404359 0.008745980544 0.01021958025 4.33680869e-19 2.237266295e-07 0.01497960358 0.01708725446 0.02300553405 -1.084202172e-19 5.904406667e-08 0.004380552522 0.004727727944 0.005122035518 +1.400632299 0.04117702106 0.1027305888 0.1041966275 0.1294135661 0.01642938298 0.02242890128 0.02280997959 -5.391601878e-16 2.234016552e-07 0.015913677 0.07687398759 0.07817548593 -4.762900144e-16 4.735625451e-10 0.003893476503 0.01697098872 0.01735324613 +1.181670195 0.04550076051 0.04232612155 0.04377413388 0.1245819176 0.01174657886 0.01215933419 0.02044853859 7.253312534e-16 9.606563449e-09 0.03052951885 0.0335141051 0.03505048493 3.947444585e-16 2.191861746e-09 0.004314213193 0.0101011116 0.0105768787 +1.236604132 0.04560187401 0.05263608364 0.05494823354 0.1308693603 0.01393374205 0.01453588332 0.01879213875 -5.316927454e-16 1.187865741e-07 0.02895598367 0.04150173332 0.04376939009 -1.551493309e-16 2.888713947e-08 0.003184943987 0.0118208337 0.01253806203 +1.26662277 0.04521520737 0.05931915163 0.06187700248 0.1329947817 0.01527065544 0.01573939534 0.01794575804 -1.230352625e-15 1.136899733e-07 0.02742236223 0.04651814046 0.04908940065 -4.36174534e-16 2.52026751e-08 0.002668663015 0.01279224077 0.01358768798 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/pdm_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/pdm_ref.dat new file mode 100644 index 0000000000..1e77195ae8 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/pdm_ref.dat @@ -0,0 +1,30 @@ +1.056940269 +0.1266618616 +0.9696380172 -0.008276973755 0.004198141806 -0.008276973755 0.8748219651 -0.004855034857 0.004198141806 -0.004855034857 0.9020354255 +0.0101502352 -0.0003336854009 0.0001739723559 -0.0003336854009 0.007655220799 -0.0001549161293 0.0001739723559 -0.0001549161293 0.008756509147 +0.02280510752 0.001110308569 -0.0001106436065 0.0006402588197 0.0002344865099 0.001110308569 0.004655393053 -0.0001658418354 0.007003152155 0.0002020587 -0.0001106436065 -0.0001658418354 0.006081823482 -0.0002230074617 -0.008159539019 0.0006402588197 0.007003152155 -0.0002230074617 0.01058262495 0.0002639975883 0.0002344865099 0.0002020587 -0.008159539019 0.0002639975883 0.01094766681 +0.005063468369 0.0002062836131 -7.773555812e-06 8.585678025e-05 2.734963738e-05 0.0002062836131 0.001354094788 -2.80022863e-05 0.00204199572 3.13538236e-05 -7.773555812e-06 -2.80022863e-05 0.001686685205 -3.534717459e-05 -0.002263054205 8.585678025e-05 0.00204199572 -3.534717459e-05 0.003089616313 3.717288192e-05 2.734963738e-05 3.13538236e-05 -0.002263054205 3.717288192e-05 0.003036510351 +1.400632299 +0.04117702106 +0.1293882863 -0.0006562996898 0.0004751024874 -0.0006562996898 0.1027663035 -0.0001799273552 0.0004751024874 -0.0001799273552 0.1041861925 +0.01646661898 -0.0004643522135 8.827396097e-05 -0.0004643522135 0.02240041222 -4.667729356e-05 8.827396097e-05 -4.667729356e-05 0.02280123265 +0.01602555364 -0.002599719101 -5.792995776e-05 -0.0002388505883 -1.145069952e-06 -0.002599719101 0.07635812543 -0.000186006658 0.005780684203 0.0002188352918 -5.792995776e-05 -0.000186006658 0.07803474603 -0.0002336687246 -0.002873050229 -0.0002388505883 0.005780684203 -0.0002336687246 0.0004385766018 2.466924249e-05 -1.145069952e-06 0.0002188352918 -0.002873050229 2.466924249e-05 0.0001063722064 +0.003923594653 -0.0006237187894 8.94628758e-06 -8.576090222e-05 -2.719270453e-06 -0.0006237187894 0.01680158632 -5.067944151e-05 0.001577266332 4.775163859e-05 8.94628758e-06 -5.067944151e-05 0.01729268107 -5.21447323e-05 -0.0009422517396 -8.576090222e-05 0.001577266332 -5.21447323e-05 0.0001483872541 7.06854024e-06 -2.719270453e-06 4.775163859e-05 -0.0009422517396 7.06854024e-06 5.146253295e-05 +1.181670195 +0.04550076051 +0.05233041084 0.02487839982 4.850858059e-05 0.02487839982 0.1160149685 -0.0002306317475 4.850858059e-05 -0.0002306317475 0.04233679371 +0.01323092278 0.002786161948 1.511243323e-05 0.002786161948 0.01937249669 -7.313399902e-05 1.511243323e-05 -7.313399902e-05 0.01175103218 +0.01422171088 0.009660149088 1.990518703e-05 -0.01328666797 9.86970372e-05 0.009660149088 0.03041119021 -2.165130407e-07 0.005239425896 3.911393063e-05 1.990518703e-05 -2.165130407e-07 0.002309922489 -2.02636851e-05 0.008490251542 -0.01328666797 0.005239425896 -2.02636851e-05 0.02094472847 -8.486944555e-05 9.86970372e-05 3.911393063e-05 0.008490251542 -8.486944555e-05 0.03120656644 +0.003718726483 0.0038506992 6.742822082e-06 -0.00260687294 3.376656647e-05 0.0038506992 0.007903974669 7.221507042e-07 -0.0003258351673 1.244533936e-05 6.742822082e-06 7.221507042e-07 0.0006589305945 -6.763129836e-06 0.002494667664 -0.00260687294 -0.0003258351673 -6.763129836e-06 0.003265876801 -3.066845778e-05 3.376656647e-05 1.244533936e-05 0.002494667664 -3.066845778e-05 0.009444697143 +1.236604132 +0.04560187401 +0.06502116543 -0.01258059357 -0.02250373663 -0.01258059357 0.06835543229 0.02868681204 -0.02250373663 0.02868681204 0.1050770797 +0.01551611587 -0.0008840668584 -0.001571655783 -0.0008840668584 0.014715163 0.001542546003 -0.001571655783 0.001542546003 0.01703048524 +0.01811988174 -0.006929940475 -0.01250374384 0.007610176869 -0.01204499016 -0.006929940475 0.01079867937 0.01304084988 -0.007905435983 -0.006628807541 -0.01250374384 0.01304084988 0.02710542693 0.006256111508 0.0005172368891 0.007610176869 -0.007905435983 0.006256111508 0.03342680503 0.007719801988 -0.01204499016 -0.006628807541 0.0005172368891 0.007719801988 0.02477643281 +0.00470572302 -0.002457279602 -0.004432396181 0.001482886838 -0.002304640426 -0.002457279602 0.002671566943 0.003096514643 -0.002720235876 -0.0009868634508 -0.004432396181 0.003096514643 0.006561135223 0.0007951636583 0.00166333381 0.001482886838 -0.002720235876 0.0007951636583 0.008750300914 0.003570570517 -0.002304640426 -0.0009868634508 0.00166333381 0.003570570517 0.004855142505 +1.26662277 +0.04521520737 +0.07180659333 -0.01196648867 0.02155329937 -0.01196648867 0.07414734694 -0.02692945331 0.02155329937 -0.02692945331 0.1082369956 +0.0167034182 -0.0005240822289 0.0009642675937 -0.0005240822289 0.01559502462 -0.0006655644302 0.0009642675937 -0.0006655644302 0.01665736599 +0.01995735887 -0.008218903199 0.01490296149 0.007769582827 0.01249503876 -0.008218903199 0.01176177993 -0.01388592324 -0.009437841267 0.006631422019 0.01490296149 -0.01388592324 0.02917020495 -0.006122814905 0.002192331037 0.007769582827 -0.009437841267 -0.006122814905 0.03646331787 -0.01001620164 0.01249503876 0.006631422019 0.002192331037 -0.01001620164 0.0256773554 +0.00508126445 -0.002731668197 0.004953082553 0.001473164536 0.002357079604 -0.002731668197 0.002830659871 -0.003225426248 -0.003028077136 0.0009518145762 0.004953082553 -0.003225426248 0.006896031839 -0.0007270976368 0.002049114935 0.001473164536 -0.003028077136 -0.0007270976368 0.009289226972 -0.004082920909 0.002357079604 0.0009518145762 0.002049114935 -0.004082920909 0.004951433843 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/phialpha_r_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/phialpha_r_ref.dat new file mode 100644 index 0000000000..20267a8218 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/phialpha_r_ref.dat @@ -0,0 +1,200 @@ +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.3164811566 -0.1534527887 -0.08570920339 0.1156008495 0.2071111386 0.04376523785 -0.05902865122 -0.1057560668 -0.04843479778 -0.03999389619 -0.07165329159 -0.05960192152 0.09664284637 0.02577082509 0.02127965328 0.03812474768 0.0317125448 -0.05142100316 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.3322570668 -0.1586938262 -0.0903368452 0.120593251 -0.2161250816 0.04535098 -0.06054032659 0.1084992976 -0.05005969208 -0.0420453347 0.07535290178 -0.06207471837 -0.1005907542 0.02610664785 0.02192707748 -0.03929731865 0.0323726085 0.05245912008 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.4114648095 -0.1794735013 0.3147366589 0.00616018533 0.0008881864795 -0.1415856307 -0.00277118569 -0.0003995544826 0.1812524527 0.00614576416 0.0008861072096 5.889370801e-05 1.73433392e-05 -0.08212807954 -0.00278473367 -0.0004015078544 -2.66855817e-05 -7.858515125e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.2888131094 -0.1435047394 -0.07183317419 -0.2203678974 6.227069716e-05 0.03767474148 0.1155775679 -3.265945635e-05 -0.04849447325 0.06953694541 -1.964947762e-05 0.1066617855 -6.028014379e-05 0.02659435774 -0.03813404454 1.077576891e-05 -0.05849329812 3.30576167e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.8170531799 -0.247178539 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0.8150193757 0 0 0.02256967339 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0.8150193757 0 0 0.02256967339 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0.8150193757 0 0 0.02256967339 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1150935953 -0.06410311347 -0.07219303423 0.02672869898 0.04955194699 0.04282914818 -0.01585703416 -0.0293971254 0.02212911648 -0.02039197394 -0.03780438443 -0.009199155668 0.0139966691 -0.01369969442 0.01262426414 0.02340394 0.005695013702 -0.008665058534 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1192926978 -0.06631180479 -0.07548975067 0.02728433166 -0.05095474957 0.04467427619 -0.0161466657 0.03015464398 0.02373719934 -0.02102182856 0.03925923579 -0.009450806053 -0.01418950255 -0.01465640929 0.01297981784 -0.02424040932 0.005835350652 0.008761233963 +0.4396940853 -0.1615590582 -0.2875027763 -0.005627149984 -0.0008113324951 0.1066242109 0.002086903071 0.0003008933973 0.101011939 0.003425032573 0.0004938272893 3.282144628e-05 9.665437873e-06 -0.03734667878 -0.001266321512 -0.0001825804883 -1.213492211e-05 -3.57355781e-06 +0.5744883648 -0.1122607916 -0.264174326 -0.01109747707 -0.001600053986 -0.001574581052 0.002595663622 0.0003742473986 0.0933320631 0.008411901177 0.001212842876 0.0001308736388 3.854038041e-05 0.04085026979 -0.0009523410587 -0.000137310228 -3.151678617e-05 -9.281234472e-06 +0.0112441773 -0.002197225083 -0.01109747707 0.3026016138 -3.131706718e-05 0.002595663622 -0.1341416212 7.324959673e-06 0.01091173032 -0.267721887 3.854038041e-05 -0.005242658682 -0.0007555108486 -0.003247473646 0.1193145981 -9.281234472e-06 0.002335928811 0.0003367056548 +0.001621205486 -0.0003167998213 -0.001600053986 -3.131706718e-05 0.3028143039 0.0003742473986 7.324959673e-06 -0.1341913688 0.001573272688 3.854038041e-05 -0.2679836342 0.0007566345057 -0.005245111447 -0.0004682265274 -9.281234472e-06 0.1193776317 -0.0003369762521 0.002336519482 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1059639845 -0.05925714388 -0.06358704877 -0.05471114836 -0.0001147382641 0.03792215417 0.03262872933 6.842780449e-05 0.01683755767 0.03983957875 8.355014007e-05 0.01713917818 7.188765948e-05 -0.01048499156 -0.02480868396 -5.202788496e-05 -0.01067281503 -4.476548901e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.8778350314 -0.01899237841 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.083970075 -0.04734479653 -0.0005828940149 0.05700333953 0.03215589146 0.000351764923 -0.03440037954 -0.01940543975 -0.01774617636 -0.0004769440117 -0.000269046691 0.01589994474 0.02631106082 0.01121348344 0.0003013721755 0.0001700056706 -0.01004688353 -0.01662547687 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.08767473994 -0.04937413925 -0.0003705339936 0.05996259465 -0.03321317421 0.0002231864639 -0.03611771037 0.02000553535 -0.01867033849 -0.0003058479934 0.000169408658 0.0171547553 -0.02741498179 0.01176822392 0.0001927810615 -0.0001067810861 -0.01081292671 0.01728011759 +0.3230572918 -0.1446202823 0.07747822275 0.237685627 -6.716427333e-05 -0.03466476827 -0.1063436523 3.005017266e-05 -0.04188394327 0.0600580083 -1.69709567e-05 0.09212217131 -5.206304871e-05 0.01791384367 -0.02568692648 7.258511056e-06 -0.03940083111 2.226746678e-05 +-0.146857873 0.05155932492 0.1452936884 -0.144083087 4.071443426e-05 -0.07923392798 0.05857215097 -1.655108896e-05 0.102011228 0.1100781004 -3.110543838e-05 -0.0865347701 4.890531656e-05 -0.0508813716 -0.06407838456 1.810701888e-05 0.03822967435 -2.160558495e-05 +-0.4505266692 0.1581723229 -0.144083087 -0.2497538998 0.0001249026564 0.05857215097 0.08135943147 -5.077498963e-05 0.02457218512 -0.1187977918 4.890531656e-05 -0.09897559591 0.0001029833556 -0.001936895948 0.04744750208 -2.160558495e-05 0.02827818753 -4.113126096e-05 +0.0001273080612 -4.469571537e-05 4.071443426e-05 0.0001249026564 0.1922603193 -1.655108896e-05 -5.077498963e-05 -0.09832663799 -6.943511807e-06 4.890531656e-05 0.05427174835 0.0001220622787 0.1664934233 5.473204692e-07 -2.160558495e-05 -0.02901184662 -5.829029298e-05 -0.0890017699 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1059639845 -0.05925714388 0.06358704877 0.05471114836 0.0001147382641 -0.03792215417 -0.03262872933 -6.842780449e-05 0.01683755767 0.03983957875 8.355014007e-05 0.01713917818 7.188765948e-05 -0.01048499156 -0.02480868396 -5.202788496e-05 -0.01067281503 -4.476548901e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.8778350314 -0.01899237841 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.09289685966 -0.05221929161 0.0002685632109 -0.000570033376 -0.07291767165 -0.0001613215545 0.0003424097814 0.04380045987 -0.01997563887 -1.99231389e-06 -0.0002548533054 -0.03459553134 0.0005409336953 0.01254696941 1.251399347e-06 0.000160076814 0.02172992194 -0.0003397677827 +0.3508189026 -0.1500864749 0.08914085147 -0.1202293073 -0.2154035099 -0.03795971177 0.05119840989 0.09172736198 -0.03814920318 -0.03150080814 -0.05643702679 -0.04694488092 0.07611980955 0.01534048149 0.01266704214 0.02269434464 0.01887738188 -0.03060914599 +-0.1706457715 0.05466627924 0.1565431659 0.08031206029 0.1438875434 -0.08537396789 -0.03001504274 -0.05377512106 0.1188507876 -0.05554711773 -0.09951853164 0.05139868212 -0.08334152344 -0.05683263389 0.03267010273 0.05853194161 -0.02080802258 0.03373962581 +0.2301596021 -0.0737315022 0.08031206029 0.1077670091 -0.1940692666 -0.03001504274 -0.06714484484 0.07252954677 -0.004352982816 0.02023740889 -0.08334152344 -0.1593608109 -0.04890248224 -0.004116710019 -0.01574247999 0.03373962581 0.07469759414 0.03804075672 +0.4123552504 -0.1320977781 0.1438875434 -0.1940692666 -0.131607174 -0.05377512106 0.07252954677 0.02231651763 -0.007798828739 -0.08334152344 -0.08255995535 0.03710808178 0.1113532806 -0.007375521054 0.03373962581 0.02587356517 -0.0332659621 -0.0348971405 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1150935953 -0.06410311347 0.07219303423 -0.02672869898 -0.04955194699 -0.04282914818 0.01585703416 0.0293971254 0.02212911648 -0.02039197394 -0.03780438443 -0.009199155668 0.0139966691 -0.01369969442 0.01262426414 0.02340394 0.005695013702 -0.008665058534 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.083970075 -0.04734479653 0.0005828940149 -0.05700333953 -0.03215589146 -0.000351764923 0.03440037954 0.01940543975 -0.01774617636 -0.0004769440117 -0.000269046691 0.01589994474 0.02631106082 0.01121348344 0.0003013721755 0.0001700056706 -0.01004688353 -0.01662547687 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.8778350314 -0.01899237841 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.09289685966 -0.05221929161 -0.0002685632109 0.000570033376 0.07291767165 0.0001613215545 -0.0003424097814 -0.04380045987 -0.01997563887 -1.99231389e-06 -0.0002548533054 -0.03459553134 0.0005409336953 0.01254696941 1.251399347e-06 0.000160076814 0.02172992194 -0.0003397677827 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.3662277175 -0.1526733097 0.09197392871 -0.1227786408 0.2200416984 -0.03811860367 0.05088561957 -0.09119630325 -0.03733268828 -0.03135587353 0.0561954394 -0.04629305564 -0.07501690712 0.01455628605 0.01222588261 -0.02191100958 0.0180499983 0.02924963641 +-0.1772065705 0.05345772271 0.1678497891 0.08293590189 -0.1486362497 -0.09072180452 -0.0293105681 0.05252987935 0.1253013898 -0.05959116734 0.1067982313 0.05297278213 0.08584126111 -0.05821576032 0.03477040377 -0.06231489983 -0.02021050449 -0.03275069052 +0.2365581439 -0.07136225042 0.08293590189 0.1192638574 0.1984188016 -0.0293105681 -0.07355093851 -0.07012364566 -0.001907026722 0.02362039255 0.08584126111 -0.1661863379 0.05651026729 -0.006220721217 -0.0180271203 -0.03275069052 0.07543925459 -0.04312872381 +-0.4239553023 0.1278941572 -0.1486362497 0.1984188016 -0.1256252743 0.05252987935 -0.07012364566 0.01299589353 0.003417739406 0.08584126111 -0.0823251717 -0.04436826569 0.1098982377 0.01114866603 -0.03275069052 0.02239388869 0.03849623203 -0.02989424561 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1192926978 -0.06631180479 0.07548975067 -0.02728433166 0.05095474957 -0.04467427619 0.0161466657 -0.03015464398 0.02373719934 -0.02102182856 0.03925923579 -0.009450806053 -0.01418950255 -0.01465640929 0.01297981784 -0.02424040932 0.005835350652 0.008761233963 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.08767473994 -0.04937413925 0.0003705339936 -0.05996259465 0.03321317421 -0.0002231864639 0.03611771037 -0.02000553535 -0.01867033849 -0.0003058479934 0.000169408658 0.0171547553 -0.02741498179 0.01176822392 0.0001927810615 -0.0001067810861 -0.01081292671 0.01728011759 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.8778350314 -0.01899237841 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/phialpha_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/phialpha_ref.dat new file mode 100644 index 0000000000..597a29a3fe --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/phialpha_ref.dat @@ -0,0 +1,230 @@ +iat : 0 +ad : 0 2.003222249 +iw : 6 +0.3164811566 -0.1534527887 -0.08570920339 0.1156008495 0.2071111386 0.04376523785 +-0.05902865122 -0.1057560668 -0.04843479778 -0.03999389619 -0.07165329159 -0.05960192152 +0.09664284637 0.02577082509 0.02127965328 0.03812474768 0.0317125448 -0.05142100316 + +ad : 1 1.950638213 +iw : 7 +0.3322570668 -0.1586938262 -0.0903368452 0.120593251 -0.2161250816 0.04535098 +-0.06054032659 0.1084992976 -0.05005969208 -0.0420453347 0.07535290178 -0.06207471837 +-0.1005907542 0.02610664785 0.02192707748 -0.03929731865 0.0323726085 0.05245912008 + +ad : 2 1.709269535 +iw : 4 +0.4114648095 -0.1794735013 0.3147366589 0.00616018533 0.0008881864795 -0.1415856307 +-0.00277118569 -0.0003995544826 0.1812524527 0.00614576416 0.0008861072096 5.889370801e-05 +1.73433392e-05 -0.08212807954 -0.00278473367 -0.0004015078544 -2.66855817e-05 -7.858515125e-06 + +ad : 3 2.100474535 +iw : 5 +0.2888131094 -0.1435047394 -0.07183317419 -0.2203678974 6.227069716e-05 0.03767474148 +0.1155775679 -3.265945635e-05 -0.04849447325 0.06953694541 -1.964947762e-05 0.1066617855 +-6.028014379e-05 0.02659435774 -0.03813404454 1.077576891e-05 -0.05849329812 3.30576167e-05 + +ad : 4 0 +iw : 0 +0.8170531799 -0.247178539 0 0 0 0 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iw : 1 +0 0 0.8150193757 0 0 0.02256967339 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iw : 2 +0 0 0 0.8150193757 0 0 +0.02256967339 0 0 0 0 0 +0 0 0 0 0 0 + +iw : 3 +0 0 0 0 0.8150193757 0 +0 0.02256967339 0 0 0 0 +0 0 0 0 0 0 + +iat : 1 +ad : 0 3.03052076 +iw : 6 +0.1150935953 -0.06410311347 -0.07219303423 0.02672869898 0.04955194699 0.04282914818 +-0.01585703416 -0.0293971254 0.02212911648 -0.02039197394 -0.03780438443 -0.009199155668 +0.0139966691 -0.01369969442 0.01262426414 0.02340394 0.005695013702 -0.008665058534 + +ad : 1 2.994710688 +iw : 7 +0.1192926978 -0.06631180479 -0.07548975067 0.02728433166 -0.05095474957 0.04467427619 +-0.0161466657 0.03015464398 0.02373719934 -0.02102182856 0.03925923579 -0.009450806053 +-0.01418950255 -0.01465640929 0.01297981784 -0.02424040932 0.005835350652 0.008761233963 + +ad : 2 1.709269535 +iw : 0 +0.4396940853 -0.1615590582 -0.2875027763 -0.005627149984 -0.0008113324951 0.1066242109 +0.002086903071 0.0003008933973 0.101011939 0.003425032573 0.0004938272893 3.282144628e-05 +9.665437873e-06 -0.03734667878 -0.001266321512 -0.0001825804883 -1.213492211e-05 -3.57355781e-06 + +iw : 1 +0.5744883648 -0.1122607916 -0.264174326 -0.01109747707 -0.001600053986 -0.001574581052 +0.002595663622 0.0003742473986 0.0933320631 0.008411901177 0.001212842876 0.0001308736388 +3.854038041e-05 0.04085026979 -0.0009523410587 -0.000137310228 -3.151678617e-05 -9.281234472e-06 + +iw : 2 +0.0112441773 -0.002197225083 -0.01109747707 0.3026016138 -3.131706718e-05 0.002595663622 +-0.1341416212 7.324959673e-06 0.01091173032 -0.267721887 3.854038041e-05 -0.005242658682 +-0.0007555108486 -0.003247473646 0.1193145981 -9.281234472e-06 0.002335928811 0.0003367056548 + +iw : 3 +0.001621205486 -0.0003167998213 -0.001600053986 -3.131706718e-05 0.3028143039 0.0003742473986 +7.324959673e-06 -0.1341913688 0.001573272688 3.854038041e-05 -0.2679836342 0.0007566345057 +-0.005245111447 -0.0004682265274 -9.281234472e-06 0.1193776317 -0.0003369762521 0.002336519482 + +ad : 3 3.113220902 +iw : 5 +0.1059639845 -0.05925714388 -0.06358704877 -0.05471114836 -0.0001147382641 0.03792215417 +0.03262872933 6.842780449e-05 0.01683755767 0.03983957875 8.355014007e-05 0.01713917818 +7.188765948e-05 -0.01048499156 -0.02480868396 -5.202788496e-05 -0.01067281503 -4.476548901e-05 + +ad : 4 0 +iw : 4 +0.8778350314 -0.01899237841 0 0 0 0 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 2 +ad : 0 3.347258395 +iw : 6 +0.083970075 -0.04734479653 -0.0005828940149 0.05700333953 0.03215589146 0.000351764923 +-0.03440037954 -0.01940543975 -0.01774617636 -0.0004769440117 -0.000269046691 0.01589994474 +0.02631106082 0.01121348344 0.0003013721755 0.0001700056706 -0.01004688353 -0.01662547687 + +ad : 1 3.303653192 +iw : 7 +0.08767473994 -0.04937413925 -0.0003705339936 0.05996259465 -0.03321317421 0.0002231864639 +-0.03611771037 0.02000553535 -0.01867033849 -0.0003058479934 0.000169408658 0.0171547553 +-0.02741498179 0.01176822392 0.0001927810615 -0.0001067810861 -0.01081292671 0.01728011759 + +ad : 2 2.100474535 +iw : 0 +0.3230572918 -0.1446202823 0.07747822275 0.237685627 -6.716427333e-05 -0.03466476827 +-0.1063436523 3.005017266e-05 -0.04188394327 0.0600580083 -1.69709567e-05 0.09212217131 +-5.206304871e-05 0.01791384367 -0.02568692648 7.258511056e-06 -0.03940083111 2.226746678e-05 + +iw : 1 +-0.146857873 0.05155932492 0.1452936884 -0.144083087 4.071443426e-05 -0.07923392798 +0.05857215097 -1.655108896e-05 0.102011228 0.1100781004 -3.110543838e-05 -0.0865347701 +4.890531656e-05 -0.0508813716 -0.06407838456 1.810701888e-05 0.03822967435 -2.160558495e-05 + +iw : 2 +-0.4505266692 0.1581723229 -0.144083087 -0.2497538998 0.0001249026564 0.05857215097 +0.08135943147 -5.077498963e-05 0.02457218512 -0.1187977918 4.890531656e-05 -0.09897559591 +0.0001029833556 -0.001936895948 0.04744750208 -2.160558495e-05 0.02827818753 -4.113126096e-05 + +iw : 3 +0.0001273080612 -4.469571537e-05 4.071443426e-05 0.0001249026564 0.1922603193 -1.655108896e-05 +-5.077498963e-05 -0.09832663799 -6.943511807e-06 4.890531656e-05 0.05427174835 0.0001220622787 +0.1664934233 5.473204692e-07 -2.160558495e-05 -0.02901184662 -5.829029298e-05 -0.0890017699 + +ad : 3 3.113220902 +iw : 4 +0.1059639845 -0.05925714388 0.06358704877 0.05471114836 0.0001147382641 -0.03792215417 +-0.03262872933 -6.842780449e-05 0.01683755767 0.03983957875 8.355014007e-05 0.01713917818 +7.188765948e-05 -0.01048499156 -0.02480868396 -5.202788496e-05 -0.01067281503 -4.476548901e-05 + +ad : 4 0 +iw : 5 +0.8778350314 -0.01899237841 0 0 0 0 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 3 +ad : 0 3.245352337 +iw : 7 +0.09289685966 -0.05221929161 0.0002685632109 -0.000570033376 -0.07291767165 -0.0001613215545 +0.0003424097814 0.04380045987 -0.01997563887 -1.99231389e-06 -0.0002548533054 -0.03459553134 +0.0005409336953 0.01254696941 1.251399347e-06 0.000160076814 0.02172992194 -0.0003397677827 + +ad : 1 2.003222249 +iw : 0 +0.3508189026 -0.1500864749 0.08914085147 -0.1202293073 -0.2154035099 -0.03795971177 +0.05119840989 0.09172736198 -0.03814920318 -0.03150080814 -0.05643702679 -0.04694488092 +0.07611980955 0.01534048149 0.01266704214 0.02269434464 0.01887738188 -0.03060914599 + +iw : 1 +-0.1706457715 0.05466627924 0.1565431659 0.08031206029 0.1438875434 -0.08537396789 +-0.03001504274 -0.05377512106 0.1188507876 -0.05554711773 -0.09951853164 0.05139868212 +-0.08334152344 -0.05683263389 0.03267010273 0.05853194161 -0.02080802258 0.03373962581 + +iw : 2 +0.2301596021 -0.0737315022 0.08031206029 0.1077670091 -0.1940692666 -0.03001504274 +-0.06714484484 0.07252954677 -0.004352982816 0.02023740889 -0.08334152344 -0.1593608109 +-0.04890248224 -0.004116710019 -0.01574247999 0.03373962581 0.07469759414 0.03804075672 + +iw : 3 +0.4123552504 -0.1320977781 0.1438875434 -0.1940692666 -0.131607174 -0.05377512106 +0.07252954677 0.02231651763 -0.007798828739 -0.08334152344 -0.08255995535 0.03710808178 +0.1113532806 -0.007375521054 0.03373962581 0.02587356517 -0.0332659621 -0.0348971405 + +ad : 2 3.03052076 +iw : 4 +0.1150935953 -0.06410311347 0.07219303423 -0.02672869898 -0.04955194699 -0.04282914818 +0.01585703416 0.0293971254 0.02212911648 -0.02039197394 -0.03780438443 -0.009199155668 +0.0139966691 -0.01369969442 0.01262426414 0.02340394 0.005695013702 -0.008665058534 + +ad : 3 3.347258395 +iw : 5 +0.083970075 -0.04734479653 0.0005828940149 -0.05700333953 -0.03215589146 -0.000351764923 +0.03440037954 0.01940543975 -0.01774617636 -0.0004769440117 -0.000269046691 0.01589994474 +0.02631106082 0.01121348344 0.0003013721755 0.0001700056706 -0.01004688353 -0.01662547687 + +ad : 4 0 +iw : 6 +0.8778350314 -0.01899237841 0 0 0 0 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 4 +ad : 0 3.245352337 +iw : 6 +0.09289685966 -0.05221929161 -0.0002685632109 0.000570033376 0.07291767165 0.0001613215545 +-0.0003424097814 -0.04380045987 -0.01997563887 -1.99231389e-06 -0.0002548533054 -0.03459553134 +0.0005409336953 0.01254696941 1.251399347e-06 0.000160076814 0.02172992194 -0.0003397677827 + +ad : 1 1.950638213 +iw : 0 +0.3662277175 -0.1526733097 0.09197392871 -0.1227786408 0.2200416984 -0.03811860367 +0.05088561957 -0.09119630325 -0.03733268828 -0.03135587353 0.0561954394 -0.04629305564 +-0.07501690712 0.01455628605 0.01222588261 -0.02191100958 0.0180499983 0.02924963641 + +iw : 1 +-0.1772065705 0.05345772271 0.1678497891 0.08293590189 -0.1486362497 -0.09072180452 +-0.0293105681 0.05252987935 0.1253013898 -0.05959116734 0.1067982313 0.05297278213 +0.08584126111 -0.05821576032 0.03477040377 -0.06231489983 -0.02021050449 -0.03275069052 + +iw : 2 +0.2365581439 -0.07136225042 0.08293590189 0.1192638574 0.1984188016 -0.0293105681 +-0.07355093851 -0.07012364566 -0.001907026722 0.02362039255 0.08584126111 -0.1661863379 +0.05651026729 -0.006220721217 -0.0180271203 -0.03275069052 0.07543925459 -0.04312872381 + +iw : 3 +-0.4239553023 0.1278941572 -0.1486362497 0.1984188016 -0.1256252743 0.05252987935 +-0.07012364566 0.01299589353 0.003417739406 0.08584126111 -0.0823251717 -0.04436826569 +0.1098982377 0.01114866603 -0.03275069052 0.02239388869 0.03849623203 -0.02989424561 + +ad : 2 2.994710688 +iw : 4 +0.1192926978 -0.06631180479 0.07548975067 -0.02728433166 0.05095474957 -0.04467427619 +0.0161466657 -0.03015464398 0.02373719934 -0.02102182856 0.03925923579 -0.009450806053 +-0.01418950255 -0.01465640929 0.01297981784 -0.02424040932 0.005835350652 0.008761233963 + +ad : 3 3.303653192 +iw : 5 +0.08767473994 -0.04937413925 0.0003705339936 -0.05996259465 0.03321317421 -0.0002231864639 +0.03611771037 -0.02000553535 -0.01867033849 -0.0003058479934 0.000169408658 0.0171547553 +-0.02741498179 0.01176822392 0.0001927810615 -0.0001067810861 -0.01081292671 0.01728011759 + +ad : 4 0 +iw : 7 +0.8778350314 -0.01899237841 0 0 0 0 +0 0 0 0 0 0 +0 0 0 0 0 0 + diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/stress_delta_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/stress_delta_ref.dat new file mode 100644 index 0000000000..f8816fe57b --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/stress_delta_ref.dat @@ -0,0 +1,3 @@ +-2.781755381e-07 -2.019757904e-09 -1.13714432e-08 +-2.019757904e-09 -2.879888241e-07 4.400060866e-09 +-1.13714432e-08 4.400060866e-09 -2.46754576e-07 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/vdpre_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/vdpre_ref.dat new file mode 100644 index 0000000000..78b3c13220 --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/vdpre_ref.dat @@ -0,0 +1,320 @@ +0.6675758988 0.06109723014 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1933308886 0.02610132929 0.0001468775901 3.705346024e-05 0.08250623843 0.01133210627 3.447014936e-05 6.591640326e-06 1.509798793e-10 1.719308976e-09 0.01021440446 7.021723606e-07 2.791996725e-07 4.222367813e-09 1.96568189e-08 0.00139605966 2.493047337e-07 7.863858305e-08 +0.1043660138 0.02091502606 7.94817584e-07 1.652919315e-05 0.06248001278 1.846314548e-06 3.423263329e-05 0.0124745405 6.77469941e-10 2.800292118e-10 0.01349989326 2.575251759e-05 0.0003220797782 4.347406872e-10 1.020669776e-11 0.002528867608 2.068635425e-07 4.075111794e-06 +0.1230739025 0.02252594996 5.866756463e-06 4.525992154e-05 0.06874872312 3.63544531e-05 0.0002780702035 0.01216170117 3.459664499e-13 1.348531826e-09 0.01356241525 1.497436155e-05 5.345689671e-05 2.03568899e-12 7.183577352e-10 0.002200490209 6.595832789e-07 2.942459604e-06 +0.1341227411 0.0233091395 2.553312694e-06 7.755451658e-05 0.07187203941 7.05524111e-05 0.001588176704 0.01070041084 2.93797881e-11 2.835812644e-09 0.01326437759 3.28744042e-06 3.776328798e-05 1.371380109e-11 9.916221826e-10 0.00201964812 2.002594915e-07 2.944293297e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.2525991361 0.01813674777 0.0002074871209 3.302842752e-05 0.07577408197 -0.0001462343165 -1.604528069e-05 -7.935805989e-08 -8.613195382e-10 -1.022583899e-08 0.009460658081 -3.782690705e-06 2.029999558e-07 -1.173550738e-08 -4.049075341e-08 -0.001522797234 -1.447448288e-06 -9.353998722e-08 +-0.04744350675 -0.007456524125 -1.393030807e-05 -0.0007465409834 -0.02222891355 -1.294151409e-05 -0.0005530945277 -0.002916115159 -1.908369174e-07 -8.134249598e-08 -0.008481429056 3.612246467e-05 0.002812244819 -1.083210912e-07 4.049944664e-09 -0.000952092539 2.961472004e-06 0.0001774498629 +-0.0598657623 -0.008204669149 -5.004887091e-05 -0.001377847705 -0.02526745758 -9.758423002e-05 -0.00172137458 -0.001409642432 -2.770673799e-09 -3.181077171e-07 -0.007302047603 6.123625458e-05 0.001316532611 -4.385675262e-09 1.356998117e-07 -0.0007254296412 8.070674227e-06 0.0001620231875 +-0.06489795784 -0.008161567456 -1.269326905e-05 -0.00192997543 -0.02550845692 -0.000110490383 -0.004264536145 0.001551197814 1.25936334e-08 -5.454033764e-07 -0.006895849708 1.347974447e-05 0.001183353827 5.757489696e-09 1.91322911e-07 -0.0005513727293 2.065637405e-06 0.0001694406321 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.004943998254 0.0003549816152 -0.003638820992 -0.0002104806099 0.005337097812 -0.000830136543 0.0007785465501 4.841222119e-05 2.463518232e-08 6.157771778e-07 -5.974116391e-05 0.0002212423032 2.295696042e-05 2.927530312e-07 1.062583557e-06 -9.506016517e-05 5.87204788e-05 5.148207691e-06 +-0.1455459257 -0.022874926 3.596887781e-06 0.0002226963278 -0.07075251537 2.5120782e-06 0.0001479397186 -0.01083290245 6.12362155e-08 2.616256882e-08 -0.01587298786 -4.757877117e-05 -0.00136131254 3.485229539e-08 -1.335373699e-09 -0.002304452401 -1.191220353e-06 -6.205280872e-05 +0.08074433903 0.01106610126 -0.0004601908797 -9.242299947e-05 0.03655814765 -0.0005627070488 4.328127562e-05 0.004874022846 3.838682394e-09 -2.063210121e-07 0.007164806305 0.0006802684405 0.0001459702757 5.457790587e-09 9.753673835e-08 0.0006620379712 7.328145534e-05 1.341323811e-05 +0.0866341491 0.01089511096 -0.0003215003477 -0.0002381361633 0.03720493304 -0.0008147130499 0.0002858982241 0.004298424933 -4.525165449e-08 -2.092999611e-07 0.00708760878 0.0003340410166 0.0001870964494 -1.859635343e-08 8.017450278e-08 0.0004416869644 4.167569802e-05 2.340732569e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0007128344634 5.118188077e-05 -0.0004228570104 0.001830852048 -0.001193481933 0.0002289638627 0.0001115869508 -0.0003410089903 1.839030163e-07 -8.297742658e-08 0.0001297138024 3.640198602e-05 -0.0001395288813 4.941366148e-07 -6.284189824e-07 1.96527422e-05 9.17143385e-06 -3.299172173e-05 +4.112779749e-05 6.463906975e-06 0.0001708016316 -6.551355537e-05 -8.535905264e-05 0.0001329538713 -5.661649535e-05 -7.331877092e-05 -1.254679668e-07 1.203823194e-07 0.0006978026769 -0.0008853767958 0.0001924626256 -2.668860072e-08 -1.649962511e-08 2.890368377e-05 -4.238624069e-05 1.419479005e-05 +0.1446620165 0.01982608987 0.0002443041523 -0.0004556861743 0.06471910085 0.000307405608 -0.0004786795105 0.007972994753 -3.288647839e-09 -1.438312468e-08 0.01410089064 -0.0003310353745 0.0005466012859 -4.859407525e-09 2.364321134e-09 0.00131636873 -3.696744676e-05 6.221943228e-05 +-0.1552641827 -0.01952602428 -0.0001775481836 0.0005686284607 -0.0660661296 -0.0004657202653 0.0006519347021 -0.006942042692 -3.055815399e-08 1.068661557e-07 -0.0133638881 0.000175746938 -0.0004477387751 -1.279206462e-08 -3.589596583e-08 -0.0008708155132 2.225712431e-05 -5.972745069e-05 +0.336188631 0.04436199784 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.3859788712 0.00306839077 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.03423243788 0.008569784877 -2.901767732e-06 -0.0001715122336 0.01810507142 -2.637656985e-06 -0.000137795848 0.004924852381 1.92648744e-07 8.396933758e-08 0.002532553704 1.570213328e-05 0.0007178231336 1.092455491e-07 -4.257458729e-09 0.0008221382259 8.114804982e-07 4.689405498e-05 +0.0403770088 0.009621010332 -1.168582687e-05 -0.0003125010968 0.02064677173 -1.310824769e-05 -0.0003557704763 0.005503036542 2.746891412e-09 3.424946023e-07 0.003099955334 2.130986978e-05 0.0003073891633 4.359122813e-09 -1.453711785e-07 0.0008070631271 2.77271285e-06 4.393141974e-05 +0.04368829243 0.01012404271 -3.608776147e-06 -0.0004260093906 0.02193480991 -1.788582557e-06 -0.0004338832843 0.00571021804 -1.188802465e-08 5.787067509e-07 0.003204947453 5.621322272e-06 0.0002699980315 -5.481119573e-09 -2.015867125e-07 0.0007912084335 8.746332744e-07 4.619366227e-05 +0.2359756694 0.03547129182 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.04659173726 0.009573528358 0.0006758764722 4.600189219e-05 0.01786753562 0.004293257787 -0.000172505292 -9.219144734e-06 2.35904045e-08 5.805216259e-07 0.001873980433 -3.329276048e-05 -3.441094764e-06 2.785378711e-07 1.010676143e-06 0.0004353412596 -1.241665373e-05 -1.079264857e-06 +0.2835910079 0.002746683128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.02945828957 0.007105813618 8.772114857e-05 0.00011018425 0.01363401818 0.0001426529805 0.0002086810338 0.003203273409 2.906501164e-09 -2.889126199e-07 0.002144958679 -0.0001041165763 -7.697336581e-05 3.991817949e-09 1.333975419e-07 0.0005244895988 -1.405577969e-05 -1.164252037e-05 +0.03210891989 0.007538113254 5.936279049e-05 0.0001775201647 0.01446760564 0.0002129726766 0.0007974893812 0.002660348437 -4.049460789e-08 -3.586806435e-07 0.002109510284 -5.096830317e-05 -7.957765224e-05 -1.646175326e-08 1.338178329e-07 0.0005083401584 -8.003820042e-06 -1.419161274e-05 +0.2585819354 0.03793023611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.05060597311 0.01035643864 -0.0003714232064 0.0002904013543 0.02064611012 0.004455929716 0.0001351220421 -6.636512195e-05 -1.665932333e-07 -2.461370675e-07 0.002141792 2.333379934e-05 -1.8086762e-05 -5.624066045e-07 -9.246401797e-09 0.0004893131837 8.605766782e-06 -6.006834021e-06 +0.02712714502 0.00684701784 3.011226639e-05 6.641529747e-05 0.01340502561 2.825215823e-05 6.272877372e-05 0.003554504082 1.045588086e-08 -1.396989692e-07 0.002482206555 -0.0001281798853 -0.0001758897255 -3.157012159e-08 1.571203521e-08 0.0006110938485 -7.534440399e-06 -1.492169793e-05 +0.3079611224 0.002850499127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.03402140488 0.007972492082 -5.577570533e-05 0.00022145974 0.01578455554 -0.0001457821003 0.001106132121 0.003010516914 5.133791865e-08 -1.597821649e-07 0.002349045598 5.057134464e-05 -0.0001070696379 2.149107933e-08 5.294058905e-08 0.0005728731201 7.802584023e-06 -1.931803518e-05 +0.271471693 0.03922570811 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.05245229364 0.01071327273 -0.000236596623 -0.0003171496901 0.02214506743 0.004565396071 8.814447319e-05 8.519571092e-05 1.419299902e-07 -3.848472316e-07 0.002308879491 1.337007594e-05 2.267337993e-05 2.66803035e-07 -1.062346233e-06 0.0005235014391 5.092548611e-06 7.456848269e-06 +0.02832396405 0.007140501957 -2.789737143e-05 9.178037531e-05 0.01416188632 -2.495486669e-05 8.832365489e-05 0.003770384908 -1.996621563e-07 6.241218517e-08 0.002453226298 0.0001337781467 -0.0002414906786 -7.614084086e-08 -1.197514073e-08 0.0006457592888 7.289537107e-06 -2.067623074e-05 +0.03258997436 0.007837409402 -7.80727605e-05 0.0001770974542 0.01570017238 -0.0001023761436 0.0003533428577 0.003790388479 -5.50758023e-09 -9.669094641e-09 0.002472439512 0.0001038001536 -0.0001344649918 -8.138034954e-09 -2.672779784e-09 0.0006240597692 1.343828815e-05 -2.075796814e-05 +0.3214875199 0.002899629272 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.2525991361 0.01813674777 0.0002074871209 3.302842752e-05 0.07577408197 -0.0001462343165 -1.604528069e-05 -7.935805989e-08 -8.613195382e-10 -1.022583899e-08 0.009460658081 -3.782690705e-06 2.029999558e-07 -1.173550738e-08 -4.049075341e-08 -0.001522797234 -1.447448288e-06 -9.353998722e-08 +-0.04744350675 -0.007456524125 -1.393030807e-05 -0.0007465409834 -0.02222891355 -1.294151409e-05 -0.0005530945277 -0.002916115159 -1.908369174e-07 -8.134249598e-08 -0.008481429056 3.612246467e-05 0.002812244819 -1.083210912e-07 4.049944664e-09 -0.000952092539 2.961472004e-06 0.0001774498629 +-0.0598657623 -0.008204669149 -5.004887091e-05 -0.001377847705 -0.02526745758 -9.758423002e-05 -0.00172137458 -0.001409642432 -2.770673799e-09 -3.181077171e-07 -0.007302047603 6.123625458e-05 0.001316532611 -4.385675262e-09 1.356998117e-07 -0.0007254296412 8.070674227e-06 0.0001620231875 +-0.06489795784 -0.008161567456 -1.269326905e-05 -0.00192997543 -0.02550845692 -0.000110490383 -0.004264536145 0.001551197814 1.25936334e-08 -5.454033764e-07 -0.006895849708 1.347974447e-05 0.001183353827 5.757489696e-09 1.91322911e-07 -0.0005513727293 2.065637405e-06 0.0001694406321 +0 0 0.004031914173 0.004246437011 0.6559782316 7.472119734e-06 1.066978924e-05 0.0004912482479 0 0 0 0 0 0 0 0 0 0 +0.3300368813 0.01260248533 0.0002931073781 2.94406249e-05 0.06959124071 1.887069784e-06 7.468811051e-06 9.554073582e-10 4.913710028e-09 6.081965755e-08 0.008762532524 2.037782997e-05 1.475968137e-07 3.26172753e-08 8.340622761e-08 0.001661040343 8.403797688e-06 1.112650924e-07 +0.02156723487 0.002658363986 0.0002441484522 0.03371752238 0.007908522671 9.071194678e-05 0.008936313897 0.0006816866421 5.375696667e-05 2.36282551e-05 0.005328533898 5.066815114e-05 0.02455516136 2.698955758e-05 1.606989074e-06 0.0003584530088 4.23966269e-05 0.007727015957 +0.02911997934 0.002988402086 0.0004269632624 0.04194581504 0.009286636661 0.0002619399038 0.01065605163 0.0001633892955 2.218895805e-05 7.503902962e-05 0.003931445706 0.0002504199503 0.03242347056 9.448470606e-06 2.563407895e-05 0.000239150423 9.875293168e-05 0.008921622326 +0.03140216863 0.002857728117 6.310197708e-05 0.04802821711 0.009053331164 0.0001730362512 0.01145103595 0.0002248712405 5.39825552e-06 0.0001048958025 0.003584996196 5.527203168e-05 0.03708168317 2.417177228e-06 3.691371261e-05 0.0001505271555 2.130664498e-05 0.00975111 +0 0 0.05096248647 0.007931563521 -0.05889404999 6.083864586e-05 7.04776874e-06 -6.78864146e-05 0 0 0 0 0 0 0 0 0 0 +0.006459649032 0.0002466622272 -0.005140392693 -0.0001876165822 0.004901613439 1.071243484e-05 -0.0003624004584 -5.828442936e-07 -1.405403419e-07 -3.662423896e-06 -5.533271442e-05 -0.001191860077 1.669150221e-05 -8.136679487e-07 -2.188798147e-06 0.0001036899502 -0.0003409275676 -6.123753289e-06 +0.06616338839 0.008155258192 -6.304057169e-05 -0.01005807931 0.02517207468 -1.76081023e-05 -0.002390252836 0.00253235709 -1.724966658e-05 -7.599666604e-06 0.00997234703 -6.673764902e-05 -0.01188632258 -8.683886234e-06 -5.298667321e-07 0.000867602531 -1.705358848e-05 -0.002702076154 +-0.03927576287 -0.004030626888 0.003925854784 0.002813633196 -0.0134363433 0.001510443134 -0.0002679297771 -0.0005649398322 -3.07421114e-05 4.866945287e-05 -0.003857554553 0.002781894325 0.003594945463 -1.175822897e-05 1.842496625e-05 -0.000218252263 0.0008966733571 0.0007385846828 +-0.0419196574 -0.003814863395 0.001598272872 0.005926114486 -0.01320458469 0.001275901922 -0.0007676874415 0.000623126295 -1.939710216e-05 4.025403642e-05 -0.003684687397 0.001369694039 0.005862871357 -7.807340421e-06 1.546881416e-05 -0.0001205824641 0.0004298766569 0.001347064188 +0 0 0.00804948266 -0.05234292513 0.04429344247 7.003630478e-06 -7.260557947e-05 6.560194899e-05 0 0 0 0 0 0 0 0 0 0 +0.0009313636889 3.556419872e-05 -0.0005973503757 0.001631970773 -0.001096098908 -2.954647015e-06 -5.194186797e-05 4.105474591e-06 -1.049141527e-06 4.935202552e-07 0.0001201418974 -0.0001961020711 -0.0001014483881 -1.373386721e-06 1.294469781e-06 -2.143686429e-05 -5.324879324e-05 3.92433982e-05 +-1.869619109e-05 -2.304480911e-06 -0.002993541404 0.002958919629 3.036873581e-05 -0.0009319237622 0.0009147491954 1.713938717e-05 3.534314745e-05 -3.49684887e-05 -0.0004384007923 -0.001241897687 0.001680490544 6.649799384e-06 -6.546933227e-06 -1.088193845e-05 -0.0006068041939 0.0006181090671 +-0.07036667984 -0.007221294027 -0.00208414088 0.01387245333 -0.02378643647 -0.0008251517214 0.002963232777 -0.0009241364803 2.633715631e-05 3.392862421e-06 -0.00759196447 -0.001353738282 0.01346165719 1.046907635e-05 4.466269617e-07 -0.0004339637102 -0.0004523344198 0.00342604219 +0.07512766516 0.006836930393 0.0008826442875 -0.01415054863 0.02344785308 0.0007293529685 -0.001750560309 -0.001006361495 -1.309873951e-05 -2.055324857e-05 0.006947582968 0.0007206286693 -0.01403038299 -5.370515439e-06 -6.925743287e-06 0.0002377364262 0.000229577875 -0.00343724486 +0 0 0.001950970795 0.001642757289 0.2529227472 -5.44685907e-05 -6.651445969e-05 -0.003074558391 0 0 0 0 0 0 0 0 0 0 +0.5043060117 0.002132099435 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.01556164539 -0.003055258335 5.085760465e-05 0.007746349768 -0.006441356997 1.84883313e-05 0.002226358949 -0.001151259775 -5.426734121e-05 -2.439129639e-05 -0.001591099586 2.202502154e-05 0.006267684361 -2.721989784e-05 -1.689329171e-06 -0.0003095265519 1.161720789e-05 0.002041991496 +-0.01964023536 -0.003504278701 9.969093553e-05 0.009513470293 -0.007588379903 3.518573788e-05 0.002202372806 -0.0006378477571 -2.199849665e-05 -8.079169801e-05 -0.001669025833 8.714472446e-05 0.007570358228 -9.391266179e-06 -2.746102754e-05 -0.0002660623129 3.392697003e-05 0.002419033604 +-0.02113944986 -0.003544878072 1.794028858e-05 0.01060141553 -0.007784990631 2.801054827e-06 0.001165053576 0.0008277885659 -5.095796634e-06 -0.000111300941 -0.001666179646 2.30495395e-05 0.008460682874 -2.301148263e-06 -3.889400351e-05 -0.0002160033468 9.021670801e-06 0.002658391181 +0 0 -0.01413416697 -0.00252283138 -0.04188843043 0.0003240128486 5.40068418e-05 0.0004722869198 0 0 0 0 0 0 0 0 0 0 +0.0608750762 0.006652253881 0.0009547791682 4.100481175e-05 0.01640962107 -5.540202352e-05 8.029834168e-05 1.109911045e-07 -1.345800275e-07 -3.452736398e-06 0.001735694743 0.0001793522826 -2.5019445e-06 -7.741588099e-07 -2.08187493e-06 -0.0004748625615 7.209034467e-05 1.283777212e-06 +-0.1289169856 -0.0009792342096 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.01432913823 -0.002588163868 -0.0007483427117 -0.003354338911 -0.005010958173 -0.000382915436 -0.00129182567 -0.0003712860606 -2.327673232e-05 6.815214306e-05 -0.00115485259 -0.0004257750257 -0.001895694523 -8.59994694e-06 2.519917366e-05 -0.000172907064 -0.0001719868021 -0.0006410821267 +-0.01553653998 -0.002639429045 -0.0002951099068 -0.004417660908 -0.005134768656 -0.0003335312321 -0.002141400439 0.0003856605828 -1.735799618e-05 6.898397692e-05 -0.001096686654 -0.0002089892485 -0.002493652549 -6.911167401e-06 2.581872187e-05 -0.0001387790763 -8.255783502e-05 -0.0008167106978 +0 0 0.008849939412 -0.01262284846 -0.06608175239 -0.0001774452139 0.0003424695591 0.0008227427789 0 0 0 0 0 0 0 0 0 0 +0.06611993135 0.007196266263 -0.0005246922398 0.0002588557187 0.01896147577 -5.750121124e-05 -6.289706119e-05 7.989828119e-07 9.503915849e-07 1.463935836e-06 0.001983743826 -0.000125702108 -1.31504878e-05 1.563134039e-06 1.904650884e-08 -0.0005337341835 -4.996456427e-05 7.145082678e-06 +-0.01233166661 -0.002441065748 -0.0005277602759 -0.002999646809 -0.004769191654 -0.0001980300184 -0.001013504897 -0.0008309198435 -2.945323403e-06 4.057956228e-05 -0.001559468538 -0.0001797949797 -0.001535783998 7.866091493e-06 6.234423187e-06 -0.0002300705233 -0.0001078635415 -0.0006497621136 +-0.1497988362 -0.001038242662 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.01646193391 -0.002791524411 0.0002772774505 -0.005511114966 -0.005602173784 0.0002283057353 -0.002970160938 0.0004364231736 2.200597666e-05 3.073042658e-05 -0.001221215643 0.000207361569 -0.003355143913 9.022638389e-06 1.021432132e-05 -0.0001563968558 8.048212492e-05 -0.001111730307 +0 0 0.004959153779 0.01458309168 -0.09316852463 -0.0001145091692 -0.0003465022761 0.001484568252 0 0 0 0 0 0 0 0 0 0 +0.06853226689 0.007444215699 -0.000334229014 -0.000282698444 0.02033812457 -5.891381162e-05 -4.10297849e-05 -1.025687992e-06 -8.096911599e-07 2.288934614e-06 0.002138501514 -7.202627847e-05 1.648531706e-05 -7.415434004e-07 2.188309287e-06 -0.0005710261291 -2.95670309e-05 -8.869863427e-06 +-0.01287572583 -0.002545697288 0.0004889410931 -0.004145260511 -0.005038464827 0.0001749180601 -0.001427039801 -0.0008813852975 5.624295356e-05 -1.812940474e-05 -0.001541261431 0.0001876475323 -0.002108579787 1.897144485e-05 -4.751650187e-06 -0.0002431217035 0.00010435749 -0.000900342002 +-0.01585245629 -0.002854634377 0.0006660330177 -0.005391377461 -0.005770339021 0.0002748025699 -0.002187344799 -0.000439337586 4.410748991e-05 2.28086098e-06 -0.001331169315 0.0004244810445 -0.003311594156 1.753253021e-05 -5.048956748e-07 -0.0002057320921 0.0001644311633 -0.001143013879 +-0.1555581354 -0.001015289299 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.004943998254 0.0003549816152 -0.003638820992 -0.0002104806099 0.005337097812 -0.000830136543 0.0007785465501 4.841222119e-05 2.463518232e-08 6.157771778e-07 -5.974116391e-05 0.0002212423032 2.295696042e-05 2.927530312e-07 1.062583557e-06 -9.506016517e-05 5.87204788e-05 5.148207691e-06 +-0.1455459257 -0.022874926 3.596887781e-06 0.0002226963278 -0.07075251537 2.5120782e-06 0.0001479397186 -0.01083290245 6.12362155e-08 2.616256882e-08 -0.01587298786 -4.757877117e-05 -0.00136131254 3.485229539e-08 -1.335373699e-09 -0.002304452401 -1.191220353e-06 -6.205280872e-05 +0.08074433903 0.01106610126 -0.0004601908797 -9.242299947e-05 0.03655814765 -0.0005627070488 4.328127562e-05 0.004874022846 3.838682394e-09 -2.063210121e-07 0.007164806305 0.0006802684405 0.0001459702757 5.457790587e-09 9.753673835e-08 0.0006620379712 7.328145534e-05 1.341323811e-05 +0.0866341491 0.01089511096 -0.0003215003477 -0.0002381361633 0.03720493304 -0.0008147130499 0.0002858982241 0.004298424933 -4.525165449e-08 -2.092999611e-07 0.00708760878 0.0003340410166 0.0001870964494 -1.859635343e-08 8.017450278e-08 0.0004416869644 4.167569802e-05 2.340732569e-05 +0 0 0.05096248647 0.007931563521 -0.05889404999 6.083864586e-05 7.04776874e-06 -6.78864146e-05 0 0 0 0 0 0 0 0 0 0 +0.006459649032 0.0002466622272 -0.005140392693 -0.0001876165822 0.004901613439 1.071243484e-05 -0.0003624004584 -5.828442936e-07 -1.405403419e-07 -3.662423896e-06 -5.533271442e-05 -0.001191860077 1.669150221e-05 -8.136679487e-07 -2.188798147e-06 0.0001036899502 -0.0003409275676 -6.123753289e-06 +0.06616338839 0.008155258192 -6.304057169e-05 -0.01005807931 0.02517207468 -1.76081023e-05 -0.002390252836 0.00253235709 -1.724966658e-05 -7.599666604e-06 0.00997234703 -6.673764902e-05 -0.01188632258 -8.683886234e-06 -5.298667321e-07 0.000867602531 -1.705358848e-05 -0.002702076154 +-0.03927576287 -0.004030626888 0.003925854784 0.002813633196 -0.0134363433 0.001510443134 -0.0002679297771 -0.0005649398322 -3.07421114e-05 4.866945287e-05 -0.003857554553 0.002781894325 0.003594945463 -1.175822897e-05 1.842496625e-05 -0.000218252263 0.0008966733571 0.0007385846828 +-0.0419196574 -0.003814863395 0.001598272872 0.005926114486 -0.01320458469 0.001275901922 -0.0007676874415 0.000623126295 -1.939710216e-05 4.025403642e-05 -0.003684687397 0.001369694039 0.005862871357 -7.807340421e-06 1.546881416e-05 -0.0001205824641 0.0004298766569 0.001347064188 +0 0 0.6441543436 0.01481470223 0.00528753693 0.0004953535224 4.655297596e-06 9.381336844e-06 0 0 0 0 0 0 0 0 0 0 +0.0001264315232 4.827798067e-06 0.09015002357 0.001195626181 0.0003452419308 6.081187941e-05 0.01758433723 0.0003555629623 4.019689318e-06 0.0002205429845 3.494091778e-07 0.06970960335 0.001887616941 2.029769577e-05 5.743980356e-05 6.472814353e-06 0.01383084299 0.0003370361139 +0.2029742797 0.02501848375 1.627744777e-05 0.00300036753 0.08012031702 3.417909962e-06 0.0006393361607 0.009407302466 5.535115083e-06 2.444316444e-06 0.01866323968 8.790361789e-05 0.005753766482 2.794039136e-06 1.747110533e-07 0.002099952109 6.85962307e-06 0.0009448945857 +0.05297344243 0.005436334416 0.03609756891 0.0001887323385 0.0194403343 0.008709778191 6.736675832e-06 0.001953353266 4.259223941e-05 3.156644821e-05 0.003785052178 0.03090383184 0.0003985888203 1.463262726e-05 1.324328376e-05 0.0001991802888 0.008141764459 6.114441004e-05 +0.05595975544 0.005092570785 0.04048171375 0.0007312125042 0.01925932607 0.009408003827 5.146643591e-05 0.001726705375 6.969799236e-05 1.544759094e-05 0.003787150801 0.033942334 0.000926960634 2.521725083e-05 6.482258069e-06 9.659473479e-05 0.008673066094 0.0001860897813 +0 0 0.1017436467 -0.09776695955 -0.003976687167 5.702416578e-05 -4.795852305e-05 -9.065642732e-06 0 0 0 0 0 0 0 0 0 0 +1.822912194e-05 6.960805137e-07 0.01047607715 -0.01040007743 -7.720300833e-05 -1.677281036e-05 0.002520315032 -0.002504536329 3.000720598e-05 -2.971868715e-05 -7.586593578e-07 0.01146963293 -0.011472646 3.426039564e-05 -3.397028182e-05 -1.338189888e-06 0.002160211637 -0.002159858799 +-5.735567679e-05 -7.069625126e-06 0.0007729500631 -0.00088265822 9.666079463e-05 0.0001808957863 -0.0002446737976 6.367008818e-05 -1.134099536e-05 1.124707917e-05 -0.0008204667404 0.001635767836 -0.0008134685983 -2.139571987e-06 2.158696764e-06 -2.633873092e-05 0.0002440804792 -0.0002161478351 +0.09490752035 0.009739767619 -0.01916332192 0.0009305337176 0.03441533657 -0.004758132435 -7.450586064e-05 0.003195322598 -3.64893111e-05 2.200571603e-06 0.007449274211 -0.01503856557 0.001492558404 -1.30283304e-05 3.210213526e-07 0.0003960417909 -0.004107181588 0.0002836280434 +-0.1002900794 -0.009126814875 0.02235597814 -0.001746010496 -0.03419947379 0.005377964718 0.0001173590905 -0.002788663898 4.706661021e-05 -7.887362476e-06 -0.007140780633 0.01785787066 -0.002218300883 1.734644931e-05 -2.902255781e-06 -0.0001904430067 0.004631896269 -0.000474837168 +0 0 0.02465983115 0.003068368553 -0.0227075293 -0.0004434879817 -4.393512553e-05 0.0004248783514 0 0 0 0 0 0 0 0 0 0 +0.009870532737 4.173053025e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.04773960101 -0.009372840099 -1.313173376e-05 -0.002310768847 -0.02050222603 -3.588771274e-06 -0.0005954984181 -0.004276746343 1.74134368e-05 7.845087158e-06 -0.002977741633 -2.901029788e-05 -0.003033973877 8.75799818e-06 5.570164362e-07 -0.0007491805433 -4.672897281e-06 -0.0007140682198 +0.02648989609 0.004726418851 0.0009166412445 0.0006381427039 0.01097922543 0.0002028940815 -5.537522485e-05 0.00220544194 3.047823306e-05 -5.240056752e-05 0.001637656649 0.0009680834697 0.0008393618726 1.168704044e-05 -1.973811919e-05 0.0002428124574 0.000308055767 0.0002002619145 +0.02821965917 0.004732159619 0.0004543990201 0.00130808941 0.01135466783 2.065388733e-05 -7.81062083e-05 0.002293831888 1.831030182e-05 -4.271202496e-05 0.001712512596 0.00057118973 0.001337692657 7.432573682e-06 -1.629866165e-05 0.0001730333357 0.0001820185997 0.0003672426585 +0 0 -0.1786526851 -0.00471218513 0.003760763997 0.002638140669 3.567340673e-05 -6.526611705e-05 0 0 0 0 0 0 0 0 0 0 +0.00119147783 0.0001302012829 -0.01674451149 -0.0002613117982 0.001155800908 -0.0003145037729 -0.003896223325 -6.770989496e-05 3.849214336e-06 0.0002079160718 -1.096038175e-05 -0.01048997002 -0.0002829411496 1.931210394e-05 5.463385793e-05 -2.96431544e-05 -0.002924580859 -7.065589718e-05 +-0.3954880928 -0.003004068612 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.01932651905 0.003490802969 -0.006880884315 -0.0002250016909 0.007250090287 -0.002208033151 3.248093908e-05 0.001283770055 3.224918883e-05 4.420269733e-05 0.001133147244 -0.004729899219 -0.0002101847305 1.070227654e-05 1.811237007e-05 0.00015779758 -0.001561634481 -5.307257155e-05 +0.02074017375 0.003523449689 -0.007474665297 -0.0005450871566 0.007489230912 -0.0024593294 0.0001435613539 0.001068679346 6.237104263e-05 2.647278017e-05 0.001127183202 -0.005178954331 -0.0003942637673 2.232266463e-05 1.081942135e-05 0.0001111714557 -0.001665662809 -0.0001128242562 +0 0 0.1118612397 -0.02357715989 0.005932852405 -0.001444774296 0.0002262131142 -0.0001136961967 0 0 0 0 0 0 0 0 0 0 +0.001294132792 0.0001408489688 0.009201829629 -0.001649612581 0.001335539121 -0.0003264203496 0.003051881169 -0.0004874178208 -2.718279214e-05 -8.815494535e-05 -1.252673588e-05 0.007352074504 -0.001487168935 -3.89938171e-05 -4.99830342e-07 -3.331819793e-05 0.002026976136 -0.0003932475371 +-0.0378307582 -0.007488636447 0.0001362708189 0.00089480731 -0.01517988295 3.843962065e-05 0.0002710886146 -0.003086734618 9.451025572e-07 -1.305179511e-05 -0.002918544151 0.0002368172901 0.0007434210567 -2.530913796e-06 -2.055653951e-06 -0.0005568645357 4.338695278e-05 0.0002272166542 +0.2020421615 0.001400336591 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.02197550869 0.003726486165 0.007022997497 -0.000680006467 0.008170956841 0.00168343757 0.0001991221809 0.00120934431 -7.907224393e-05 1.179288095e-05 0.00125517508 0.005138618869 -0.0005304715282 -2.914259186e-05 4.280345355e-06 0.0001252844923 0.001623783887 -0.0001535796524 +0 0 0.06268258612 0.02723853377 0.008364716211 -0.0009323435709 -0.0002288768647 -0.0002051549624 0 0 0 0 0 0 0 0 0 0 +0.001341348245 0.0001457019608 0.005861566477 0.001801555368 0.001432502477 -0.0003344393373 0.001990840678 0.0006257188496 2.315852417e-05 -0.0001378345286 -1.350398338e-05 0.004212678483 0.001864299772 1.849848253e-05 -5.742697458e-05 -3.564613656e-05 0.001199483412 0.0004881751695 +-0.03949980856 -0.007809622299 -0.0001262474767 0.001236548715 -0.01603695382 -3.395335681e-05 0.000381699431 -0.003274205726 -1.804737611e-05 5.831045551e-06 -0.002884469566 -0.0002471602944 0.001020692113 -6.104059627e-06 1.566744539e-06 -0.0005884537169 -4.197668114e-05 0.0003148424524 +0.02138110425 0.003850206814 0.006124060638 -0.0003616417653 0.008348798262 0.001584614062 5.499736909e-05 0.001519067093 -6.110955573e-05 1.479340238e-06 0.001306150112 0.00471552449 -0.000367172304 -2.181850517e-05 -3.629030631e-07 0.000187754193 0.00149302953 -9.462545178e-05 +0.2076590257 0.001355338865 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0007128344634 5.118188077e-05 -0.0004228570104 0.001830852048 -0.001193481933 0.0002289638627 0.0001115869508 -0.0003410089903 1.839030163e-07 -8.297742658e-08 0.0001297138024 3.640198602e-05 -0.0001395288813 4.941366148e-07 -6.284189824e-07 1.96527422e-05 9.17143385e-06 -3.299172173e-05 +4.112779749e-05 6.463906975e-06 0.0001708016316 -6.551355537e-05 -8.535905264e-05 0.0001329538713 -5.661649535e-05 -7.331877092e-05 -1.254679668e-07 1.203823194e-07 0.0006978026769 -0.0008853767958 0.0001924626256 -2.668860072e-08 -1.649962511e-08 2.890368377e-05 -4.238624069e-05 1.419479005e-05 +0.1446620165 0.01982608987 0.0002443041523 -0.0004556861743 0.06471910085 0.000307405608 -0.0004786795105 0.007972994753 -3.288647839e-09 -1.438312468e-08 0.01410089064 -0.0003310353745 0.0005466012859 -4.859407525e-09 2.364321134e-09 0.00131636873 -3.696744676e-05 6.221943228e-05 +-0.1552641827 -0.01952602428 -0.0001775481836 0.0005686284607 -0.0660661296 -0.0004657202653 0.0006519347021 -0.006942042692 -3.055815399e-08 1.068661557e-07 -0.0133638881 0.000175746938 -0.0004477387751 -1.279206462e-08 -3.589596583e-08 -0.0008708155132 2.225712431e-05 -5.972745069e-05 +0 0 0.00804948266 -0.05234292513 0.04429344247 7.003630478e-06 -7.260557947e-05 6.560194899e-05 0 0 0 0 0 0 0 0 0 0 +0.0009313636889 3.556419872e-05 -0.0005973503757 0.001631970773 -0.001096098908 -2.954647015e-06 -5.194186797e-05 4.105474591e-06 -1.049141527e-06 4.935202552e-07 0.0001201418974 -0.0001961020711 -0.0001014483881 -1.373386721e-06 1.294469781e-06 -2.143686429e-05 -5.324879324e-05 3.92433982e-05 +-1.869619109e-05 -2.304480911e-06 -0.002993541404 0.002958919629 3.036873581e-05 -0.0009319237622 0.0009147491954 1.713938717e-05 3.534314745e-05 -3.49684887e-05 -0.0004384007923 -0.001241897687 0.001680490544 6.649799384e-06 -6.546933227e-06 -1.088193845e-05 -0.0006068041939 0.0006181090671 +-0.07036667984 -0.007221294027 -0.00208414088 0.01387245333 -0.02378643647 -0.0008251517214 0.002963232777 -0.0009241364803 2.633715631e-05 3.392862421e-06 -0.00759196447 -0.001353738282 0.01346165719 1.046907635e-05 4.466269617e-07 -0.0004339637102 -0.0004523344198 0.00342604219 +0.07512766516 0.006836930393 0.0008826442875 -0.01415054863 0.02344785308 0.0007293529685 -0.001750560309 -0.001006361495 -1.309873951e-05 -2.055324857e-05 0.006947582968 0.0007206286693 -0.01403038299 -5.370515439e-06 -6.925743287e-06 0.0002377364262 0.000229577875 -0.00343724486 +0 0 0.1017436467 -0.09776695955 -0.003976687167 5.702416578e-05 -4.795852305e-05 -9.065642732e-06 0 0 0 0 0 0 0 0 0 0 +1.822912194e-05 6.960805137e-07 0.01047607715 -0.01040007743 -7.720300833e-05 -1.677281036e-05 0.002520315032 -0.002504536329 3.000720598e-05 -2.971868715e-05 -7.586593578e-07 0.01146963293 -0.011472646 3.426039564e-05 -3.397028182e-05 -1.338189888e-06 0.002160211637 -0.002159858799 +-5.735567679e-05 -7.069625126e-06 0.0007729500631 -0.00088265822 9.666079463e-05 0.0001808957863 -0.0002446737976 6.367008818e-05 -1.134099536e-05 1.124707917e-05 -0.0008204667404 0.001635767836 -0.0008134685983 -2.139571987e-06 2.158696764e-06 -2.633873092e-05 0.0002440804792 -0.0002161478351 +0.09490752035 0.009739767619 -0.01916332192 0.0009305337176 0.03441533657 -0.004758132435 -7.450586064e-05 0.003195322598 -3.64893111e-05 2.200571603e-06 0.007449274211 -0.01503856557 0.001492558404 -1.30283304e-05 3.210213526e-07 0.0003960417909 -0.004107181588 0.0002836280434 +-0.1002900794 -0.009126814875 0.02235597814 -0.001746010496 -0.03419947379 0.005377964718 0.0001173590905 -0.002788663898 4.706661021e-05 -7.887362476e-06 -0.007140780633 0.01785787066 -0.002218300883 1.734644931e-05 -2.902255781e-06 -0.0001904430067 0.004631896269 -0.000474837168 +0 0 0.01607032499 0.6451954435 0.002990814255 6.564514706e-06 0.00049406507 8.760572134e-06 0 0 0 0 0 0 0 0 0 0 +2.628307229e-06 1.003621268e-07 0.00121739505 0.09046440464 1.726413846e-05 4.626187679e-06 0.0003612298704 0.0176416075 0.0002240054739 4.004663164e-06 1.647249293e-06 0.001887150023 0.06972898118 5.782797825e-05 2.009025058e-05 2.76657429e-07 0.0003373991244 0.01384121713 +1.620734245e-08 1.997706972e-09 0.03670426767 0.0002596633664 1.166159792e-07 0.009574063057 9.363660454e-05 4.309290728e-07 2.323676631e-05 5.175139665e-05 3.606906859e-05 0.03043943443 0.000115008345 1.638405213e-06 2.667244934e-05 3.303545559e-07 0.008684920397 4.944454896e-05 +0.1700368525 0.01744982299 0.01017334181 0.004587941879 0.06092566995 0.002599357156 0.0008240151979 0.005226953404 3.12608551e-05 1.534070399e-07 0.01466074539 0.007318136325 0.005589044335 1.159992597e-05 7.781658288e-09 0.0007874730031 0.002071902311 0.001315653662 +0.1797380983 0.01635691545 0.01234606227 0.004169174674 0.06072922817 0.003074244552 0.0002676143371 0.004503748264 3.178378202e-05 4.027196671e-06 0.01346414514 0.009395451249 0.005308595238 1.193228024e-05 1.299406553e-06 0.0003754711776 0.002473688407 0.001211621264 +0 0 0.00389499997 -0.02024914571 0.01707803493 -5.105350229e-05 0.0004526163337 -0.0004105806456 0 0 0 0 0 0 0 0 0 0 +0.001423150969 6.016782087e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1.349006943e-05 2.648540436e-06 -0.0006235728463 0.0006797897581 -2.4734818e-05 -0.0001899387663 0.0002278971039 -2.894568531e-05 -3.567869917e-05 3.60977469e-05 0.0001309064242 -0.0005398425379 0.0004289438032 -6.706551575e-06 6.882389842e-06 9.396626072e-06 -0.0001662719651 0.0001633455225 +0.04745944831 0.00846787886 -0.0004866225561 0.003146325147 0.01943658647 -0.000110840585 0.0006124354041 0.003607692777 -2.611108839e-05 -3.652967229e-06 0.003223034419 -0.0004710932551 0.003143080168 -1.040569281e-05 -4.784582009e-07 0.000482798178 -0.0001554013237 0.0009289466514 +-0.05057477175 -0.008480892387 0.0002509413169 -0.003123493959 -0.02016288957 1.180652978e-05 -0.000178105855 -0.00370458462 1.236483017e-05 2.180826928e-05 -0.003228991245 0.0003005165266 -0.003201219871 5.112720793e-06 7.297285065e-06 -0.0003411468419 9.720798433e-05 -0.0009370770531 +0 0 -0.0282180441 0.03109721719 -0.002828421271 0.0003036977916 -0.0003675047327 6.306982784e-05 0 0 0 0 0 0 0 0 0 0 +0.0001717893931 1.877265259e-05 -0.001945831929 0.00227300387 -0.000258460225 8.67447642e-05 -0.0005584350485 0.0004769391353 2.873460069e-05 -2.80171809e-05 2.379787569e-05 -0.001725961701 0.001719672872 3.259681932e-05 -3.231082691e-05 6.128426882e-06 -0.0004567844206 0.0004527905318 +0.0001117554759 8.488779398e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0346255013 0.006254142428 0.003652894231 -0.001109357631 0.01283487689 0.001206243595 -0.0003592306326 0.002100009014 -2.762828864e-05 3.081474351e-06 0.002230121052 0.002301685432 -0.0007870591695 -9.528896777e-06 4.390495321e-07 0.0003137581364 0.0007877796542 -0.0002461855404 +-0.03717017087 -0.006314663928 -0.004127874996 0.001301574975 -0.01329889505 -0.001405844108 0.0003273634482 -0.00172593863 4.211876773e-05 -1.351669744e-05 -0.002125336012 -0.002724771272 0.0009435089593 1.535532058e-05 -4.84410337e-06 -0.0002191819909 -0.0008895559271 0.0002878887273 +0 0 0.01766839044 0.1555932209 -0.004462020471 -0.0001663196995 -0.00233043036 0.0001098701727 0 0 0 0 0 0 0 0 0 0 +0.0001865903681 2.030785489e-05 0.00106931838 0.01434904893 -0.0002986532883 9.003153123e-05 0.0004374177932 0.003433303716 -0.0002029210663 1.187908674e-05 2.719884309e-05 0.001209669713 0.009038784486 -6.58175005e-05 2.956029883e-07 6.888205521e-06 0.0003165893386 0.002520083511 +1.069006745e-05 2.11610955e-06 0.006470949226 -0.0002632374266 -1.831370123e-05 0.002034449555 -0.0001037455488 -2.089150062e-05 -1.936437373e-06 -6.005546999e-05 0.0001283040055 0.004406850542 -0.0001051050102 1.938080319e-06 -2.539927182e-05 6.984495075e-06 0.001543803226 -5.197657881e-05 +0.3619798842 0.00250885099 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.03938411622 -0.006678542292 0.003878441992 0.001623739231 -0.01450946016 0.0009623154949 0.0004540589928 -0.001953115377 -5.339698257e-05 -6.021309538e-06 -0.002366668341 0.002703549824 0.001269466487 -2.004661396e-05 -1.916408899e-06 -0.0002470067905 0.0008671902701 0.0003918824917 +0 0 0.009900662722 -0.1797557985 -0.006290993339 -0.0001073296382 0.002357872116 0.0001982512327 0 0 0 0 0 0 0 0 0 0 +0.0001933979762 2.10075679e-05 0.0006811559245 -0.0156707135 -0.0003203362362 9.224328594e-05 0.0002853417573 -0.004407477035 0.0001728796805 1.857352771e-05 2.93207048e-05 0.000693130839 -0.01133092782 3.122351116e-05 3.396269468e-05 7.369483644e-06 0.0001873449092 -0.003128416784 +1.116170116e-05 2.206812475e-06 -0.005994981305 -0.0003637720635 -1.934771052e-05 -0.001797010233 -0.0001460762821 -2.216033428e-05 3.697758865e-05 2.683049942e-05 0.0001268060306 -0.004599319909 -0.0001443056448 4.67426344e-06 1.93583995e-05 7.380703607e-06 -0.001493622659 -7.202127678e-05 +0.03830650783 0.006898052398 -0.003251114937 -0.001783053498 0.01477992599 -0.0008656711343 -0.0006082564189 0.0024849112 5.235333059e-05 1.031282993e-07 0.002570604021 -0.002294690335 -0.001374915903 1.942636063e-05 -8.796884088e-09 0.000373322618 -0.0007531713093 -0.0004389351656 +-0.3721628161 -0.002429014231 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.336188631 0.04436199784 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.3859788712 0.00306839077 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.03423243788 0.008569784877 -2.901767732e-06 -0.0001715122336 0.01810507142 -2.637656985e-06 -0.000137795848 0.004924852381 1.92648744e-07 8.396933758e-08 0.002532553704 1.570213328e-05 0.0007178231336 1.092455491e-07 -4.257458729e-09 0.0008221382259 8.114804982e-07 4.689405498e-05 +0.0403770088 0.009621010332 -1.168582687e-05 -0.0003125010968 0.02064677173 -1.310824769e-05 -0.0003557704763 0.005503036542 2.746891412e-09 3.424946023e-07 0.003099955334 2.130986978e-05 0.0003073891633 4.359122813e-09 -1.453711785e-07 0.0008070631271 2.77271285e-06 4.393141974e-05 +0.04368829243 0.01012404271 -3.608776147e-06 -0.0004260093906 0.02193480991 -1.788582557e-06 -0.0004338832843 0.00571021804 -1.188802465e-08 5.787067509e-07 0.003204947453 5.621322272e-06 0.0002699980315 -5.481119573e-09 -2.015867125e-07 0.0007912084335 8.746332744e-07 4.619366227e-05 +0 0 0.001950970795 0.001642757289 0.2529227472 -5.44685907e-05 -6.651445969e-05 -0.003074558391 0 0 0 0 0 0 0 0 0 0 +0.5043060117 0.002132099435 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.01556164539 -0.003055258335 5.085760465e-05 0.007746349768 -0.006441356997 1.84883313e-05 0.002226358949 -0.001151259775 -5.426734121e-05 -2.439129639e-05 -0.001591099586 2.202502154e-05 0.006267684361 -2.721989784e-05 -1.689329171e-06 -0.0003095265519 1.161720789e-05 0.002041991496 +-0.01964023536 -0.003504278701 9.969093553e-05 0.009513470293 -0.007588379903 3.518573788e-05 0.002202372806 -0.0006378477571 -2.199849665e-05 -8.079169801e-05 -0.001669025833 8.714472446e-05 0.007570358228 -9.391266179e-06 -2.746102754e-05 -0.0002660623129 3.392697003e-05 0.002419033604 +-0.02113944986 -0.003544878072 1.794028858e-05 0.01060141553 -0.007784990631 2.801054827e-06 0.001165053576 0.0008277885659 -5.095796634e-06 -0.000111300941 -0.001666179646 2.30495395e-05 0.008460682874 -2.301148263e-06 -3.889400351e-05 -0.0002160033468 9.021670801e-06 0.002658391181 +0 0 0.02465983115 0.003068368553 -0.0227075293 -0.0004434879817 -4.393512553e-05 0.0004248783514 0 0 0 0 0 0 0 0 0 0 +0.009870532737 4.173053025e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.04773960101 -0.009372840099 -1.313173376e-05 -0.002310768847 -0.02050222603 -3.588771274e-06 -0.0005954984181 -0.004276746343 1.74134368e-05 7.845087158e-06 -0.002977741633 -2.901029788e-05 -0.003033973877 8.75799818e-06 5.570164362e-07 -0.0007491805433 -4.672897281e-06 -0.0007140682198 +0.02648989609 0.004726418851 0.0009166412445 0.0006381427039 0.01097922543 0.0002028940815 -5.537522485e-05 0.00220544194 3.047823306e-05 -5.240056752e-05 0.001637656649 0.0009680834697 0.0008393618726 1.168704044e-05 -1.973811919e-05 0.0002428124574 0.000308055767 0.0002002619145 +0.02821965917 0.004732159619 0.0004543990201 0.00130808941 0.01135466783 2.065388733e-05 -7.81062083e-05 0.002293831888 1.831030182e-05 -4.271202496e-05 0.001712512596 0.00057118973 0.001337692657 7.432573682e-06 -1.629866165e-05 0.0001730333357 0.0001820185997 0.0003672426585 +0 0 0.00389499997 -0.02024914571 0.01707803493 -5.105350229e-05 0.0004526163337 -0.0004105806456 0 0 0 0 0 0 0 0 0 0 +0.001423150969 6.016782087e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1.349006943e-05 2.648540436e-06 -0.0006235728463 0.0006797897581 -2.4734818e-05 -0.0001899387663 0.0002278971039 -2.894568531e-05 -3.567869917e-05 3.60977469e-05 0.0001309064242 -0.0005398425379 0.0004289438032 -6.706551575e-06 6.882389842e-06 9.396626072e-06 -0.0001662719651 0.0001633455225 +0.04745944831 0.00846787886 -0.0004866225561 0.003146325147 0.01943658647 -0.000110840585 0.0006124354041 0.003607692777 -2.611108839e-05 -3.652967229e-06 0.003223034419 -0.0004710932551 0.003143080168 -1.040569281e-05 -4.784582009e-07 0.000482798178 -0.0001554013237 0.0009289466514 +-0.05057477175 -0.008480892387 0.0002509413169 -0.003123493959 -0.02016288957 1.180652978e-05 -0.000178105855 -0.00370458462 1.236483017e-05 2.180826928e-05 -0.003228991245 0.0003005165266 -0.003201219871 5.112720793e-06 7.297285065e-06 -0.0003411468419 9.720798433e-05 -0.0009370770531 +0.1693032894 0.03221073766 0.0009440396988 0.0006355096057 0.09751835192 0.0003970529754 0.0004146448675 0.0192426321 -1.428603631e-21 3.801040115e-07 0.000451243219 0.0002034850233 0.03223590265 5.709943376e-23 1.0683005e-07 0.000366062592 0.0001479879955 0.006238780756 +0.7705943424 0.0003607104378 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.01122836602 0.003511409101 1.059394777e-05 0.001779666194 0.005246375548 3.768173943e-06 0.0005546665241 0.001944293738 5.47825613e-05 2.517897904e-05 0.0004751021464 9.57409266e-06 0.001599821181 2.745220392e-05 1.775888271e-06 0.0002672782317 3.183260767e-06 0.0005396299547 +0.01324653568 0.004109209156 2.327666922e-05 0.002157691224 0.006200685097 4.726412938e-06 0.0004551822893 0.002490063746 2.18096701e-05 8.698537947e-05 0.0007085554374 3.032587057e-05 0.001767556733 9.334408088e-06 2.941818331e-05 0.0002960026308 1.16557481e-05 0.0006559035299 +0.01423074775 0.004397255454 5.100536769e-06 0.002340082936 0.006694340241 4.534256891e-08 0.0001185351126 0.003047227864 4.810284218e-06 0.0001180971896 0.0007743814669 9.612117649e-06 0.001930418162 2.190688903e-06 4.098053006e-05 0.0003099603237 3.819960587e-06 0.000724742483 +0.118836431 0.02575529802 -0.006839269334 -0.0009759710617 -0.01615074463 -0.002361916546 -0.0003366735575 -0.002955885784 -1.571985058e-20 3.617469984e-07 -0.002771210873 -0.0003784027782 -0.005206869397 -6.596104799e-22 9.669920535e-08 -0.001402558888 -0.0001567881113 -0.0005171437284 +0.0930188977 0.0011254341 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0930188977 0.0011254341 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.009664417828 0.003034948864 -0.0001747292838 -0.0007607768154 0.004094599119 -5.14360812e-05 -0.0002669921115 0.001449446124 2.307693389e-05 -7.337684653e-05 0.0004902722689 -0.0001481672976 -0.0004426141428 8.547879779e-06 -2.699512642e-05 0.0001923645077 -5.908676313e-05 -0.000173824799 +0.01045895626 0.003274088283 -8.390160078e-05 -0.000975123829 0.004415405242 -5.399095628e-06 -0.0002178707892 0.00141968097 1.638544493e-05 -7.319627064e-05 0.0005097012328 -8.715268449e-05 -0.0005689602416 6.57941862e-06 -2.720380552e-05 0.0001991450968 -3.495668185e-05 -0.0002226553199 +0.1302208588 0.02754070927 0.004282326604 -0.004883217686 -0.02547886126 0.001293500516 -0.002134922927 -0.005149271729 7.843452751e-22 3.627612309e-07 0.001823397528 -0.001555227457 -0.009358578348 3.646506169e-21 9.800831969e-08 0.000772762878 -0.000750202475 -0.002214174512 +0.1010331898 0.001217470588 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.008897803728 0.00280551742 -0.0001099356691 -0.0006891465247 0.003884425361 -4.036121721e-05 -0.0002525007204 0.001403290798 2.973286627e-06 -4.189002223e-05 0.0004656571193 -7.815537397e-05 -0.0003920075785 -7.933224034e-06 -6.553867181e-06 0.0001986674237 -2.955596417e-05 -0.0001717103625 +0.1010331898 0.001217470588 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.01108191701 0.003462755472 7.883172141e-05 -0.001216485294 0.004817328521 3.695739345e-06 -0.0003021907047 0.001606546539 -2.077300368e-05 -3.260688526e-05 0.0005675779098 8.647390967e-05 -0.0007655210393 -8.589535107e-06 -1.076228375e-05 0.000224426245 3.407778359e-05 -0.0003030848842 +0.1367120907 0.02848133662 0.002399645373 0.005641548452 -0.03592259326 0.000834723384 0.002160062504 -0.009291415889 -1.889195486e-20 3.642168861e-07 0.0009024769482 0.001892554096 -0.01206586759 8.621905257e-21 9.899031123e-08 0.0003836979351 0.0007961617298 -0.003370606528 +0.1047193091 0.00125941889 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.009290364787 0.002925770473 0.0001018493977 -0.0009523427445 0.004103743774 3.565068505e-05 -0.0003555272193 0.001488518883 -5.677693033e-05 1.871486839e-05 0.0004602204795 8.156881292e-05 -0.0005382132236 -1.913335516e-05 4.995118759e-06 0.0002099372045 2.859526204e-05 -0.0002379302336 +0.01069183357 0.003347419175 0.0001555109314 -0.001222784901 0.004715111214 3.691354793e-05 -0.0004520763289 0.001715109261 -4.372888835e-05 -2.455717143e-06 0.00056512442 0.0001477169994 -0.0007732039056 -1.742638199e-05 5.408797429e-07 0.0002288833764 5.649099277e-05 -0.0003099199766 +0.1047193091 0.00125941889 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.2359756694 0.03547129182 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.04659173726 0.009573528358 0.0006758764722 4.600189219e-05 0.01786753562 0.004293257787 -0.000172505292 -9.219144734e-06 2.35904045e-08 5.805216259e-07 0.001873980433 -3.329276048e-05 -3.441094764e-06 2.785378711e-07 1.010676143e-06 0.0004353412596 -1.241665373e-05 -1.079264857e-06 +0.2835910079 0.002746683128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.02945828957 0.007105813618 8.772114857e-05 0.00011018425 0.01363401818 0.0001426529805 0.0002086810338 0.003203273409 2.906501164e-09 -2.889126199e-07 0.002144958679 -0.0001041165763 -7.697336581e-05 3.991817949e-09 1.333975419e-07 0.0005244895988 -1.405577969e-05 -1.164252037e-05 +0.03210891989 0.007538113254 5.936279049e-05 0.0001775201647 0.01446760564 0.0002129726766 0.0007974893812 0.002660348437 -4.049460789e-08 -3.586806435e-07 0.002109510284 -5.096830317e-05 -7.957765224e-05 -1.646175326e-08 1.338178329e-07 0.0005083401584 -8.003820042e-06 -1.419161274e-05 +0 0 -0.01413416697 -0.00252283138 -0.04188843043 0.0003240128486 5.40068418e-05 0.0004722869198 0 0 0 0 0 0 0 0 0 0 +0.0608750762 0.006652253881 0.0009547791682 4.100481175e-05 0.01640962107 -5.540202352e-05 8.029834168e-05 1.109911045e-07 -1.345800275e-07 -3.452736398e-06 0.001735694743 0.0001793522826 -2.5019445e-06 -7.741588099e-07 -2.08187493e-06 -0.0004748625615 7.209034467e-05 1.283777212e-06 +-0.1289169856 -0.0009792342096 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.01432913823 -0.002588163868 -0.0007483427117 -0.003354338911 -0.005010958173 -0.000382915436 -0.00129182567 -0.0003712860606 -2.327673232e-05 6.815214306e-05 -0.00115485259 -0.0004257750257 -0.001895694523 -8.59994694e-06 2.519917366e-05 -0.000172907064 -0.0001719868021 -0.0006410821267 +-0.01553653998 -0.002639429045 -0.0002951099068 -0.004417660908 -0.005134768656 -0.0003335312321 -0.002141400439 0.0003856605828 -1.735799618e-05 6.898397692e-05 -0.001096686654 -0.0002089892485 -0.002493652549 -6.911167401e-06 2.581872187e-05 -0.0001387790763 -8.255783502e-05 -0.0008167106978 +0 0 -0.1786526851 -0.00471218513 0.003760763997 0.002638140669 3.567340673e-05 -6.526611705e-05 0 0 0 0 0 0 0 0 0 0 +0.00119147783 0.0001302012829 -0.01674451149 -0.0002613117982 0.001155800908 -0.0003145037729 -0.003896223325 -6.770989496e-05 3.849214336e-06 0.0002079160718 -1.096038175e-05 -0.01048997002 -0.0002829411496 1.931210394e-05 5.463385793e-05 -2.96431544e-05 -0.002924580859 -7.065589718e-05 +-0.3954880928 -0.003004068612 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.01932651905 0.003490802969 -0.006880884315 -0.0002250016909 0.007250090287 -0.002208033151 3.248093908e-05 0.001283770055 3.224918883e-05 4.420269733e-05 0.001133147244 -0.004729899219 -0.0002101847305 1.070227654e-05 1.811237007e-05 0.00015779758 -0.001561634481 -5.307257155e-05 +0.02074017375 0.003523449689 -0.007474665297 -0.0005450871566 0.007489230912 -0.0024593294 0.0001435613539 0.001068679346 6.237104263e-05 2.647278017e-05 0.001127183202 -0.005178954331 -0.0003942637673 2.232266463e-05 1.081942135e-05 0.0001111714557 -0.001665662809 -0.0001128242562 +0 0 -0.0282180441 0.03109721719 -0.002828421271 0.0003036977916 -0.0003675047327 6.306982784e-05 0 0 0 0 0 0 0 0 0 0 +0.0001717893931 1.877265259e-05 -0.001945831929 0.00227300387 -0.000258460225 8.67447642e-05 -0.0005584350485 0.0004769391353 2.873460069e-05 -2.80171809e-05 2.379787569e-05 -0.001725961701 0.001719672872 3.259681932e-05 -3.231082691e-05 6.128426882e-06 -0.0004567844206 0.0004527905318 +0.0001117554759 8.488779398e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0346255013 0.006254142428 0.003652894231 -0.001109357631 0.01283487689 0.001206243595 -0.0003592306326 0.002100009014 -2.762828864e-05 3.081474351e-06 0.002230121052 0.002301685432 -0.0007870591695 -9.528896777e-06 4.390495321e-07 0.0003137581364 0.0007877796542 -0.0002461855404 +-0.03717017087 -0.006314663928 -0.004127874996 0.001301574975 -0.01329889505 -0.001405844108 0.0003273634482 -0.00172593863 4.211876773e-05 -1.351669744e-05 -0.002125336012 -0.002724771272 0.0009435089593 1.535532058e-05 -4.84410337e-06 -0.0002191819909 -0.0008895559271 0.0002878887273 +0.118836431 0.02575529802 -0.006839269334 -0.0009759710617 -0.01615074463 -0.002361916546 -0.0003366735575 -0.002955885784 -2.605066434e-20 3.617469984e-07 -0.002771210873 -0.0003784027782 -0.005206869397 -1.959369716e-21 9.669920535e-08 -0.001402558888 -0.0001567881113 -0.0005171437284 +0.0930188977 0.0011254341 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0930188977 0.0011254341 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.009664417828 0.003034948864 -0.0001747292838 -0.0007607768154 0.004094599119 -5.14360812e-05 -0.0002669921115 0.001449446124 2.307693389e-05 -7.337684653e-05 0.0004902722689 -0.0001481672976 -0.0004426141428 8.547879779e-06 -2.699512642e-05 0.0001923645077 -5.908676313e-05 -0.000173824799 +0.01045895626 0.003274088283 -8.390160078e-05 -0.000975123829 0.004415405242 -5.399095628e-06 -0.0002178707892 0.00141968097 1.638544493e-05 -7.319627064e-05 0.0005097012328 -8.715268449e-05 -0.0005689602416 6.57941862e-06 -2.720380552e-05 0.0001991450968 -3.495668185e-05 -0.0002226553199 +0.08341301216 0.02059361022 0.04954834536 0.001498827877 0.002674845779 0.01405013969 0.0002733642526 0.000454057466 -2.027096283e-20 3.442765319e-07 0.0170187814 0.0007036815792 0.000841033962 -3.85723698e-20 8.7529083e-08 0.005373866323 0.0001661115266 4.286697133e-05 +0.01122836602 0.003511409101 0.003110134129 5.71113756e-05 0.003869390186 0.001626534555 0.000863299879 1.289400292e-05 3.685969197e-06 0.0001960120973 0.0003438088512 0.001578541058 4.241098519e-05 1.837436933e-05 5.196498329e-05 0.0001357549522 0.0006184130065 1.481222813e-05 +0.7705943424 0.0003607104378 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.007050973495 0.002241529759 0.001311627635 0.0002682410515 0.002703853153 0.0005597628654 0.0001566071205 0.0008437109567 2.44178328e-05 6.189731699e-05 0.0003392351325 0.0007239214458 0.0001108350729 7.82762528e-06 2.477164693e-05 0.0001250127531 0.0002995299442 4.606631822e-05 +0.007686860024 0.002437805627 0.001380144666 0.0004063387956 0.002912281532 0.0006428888858 0.0004004524885 0.0006614188849 5.581433305e-05 4.536682079e-05 0.0003354875573 0.0007902098883 0.0001676920383 1.976033627e-05 1.805850324e-05 0.0001279478905 0.0003198906318 6.840414721e-05 +0.0914039069 0.02202120244 -0.03102410318 0.00749930309 0.004219745038 -0.007694540677 0.001733464352 0.0007909863384 7.718992826e-20 3.452417823e-07 -0.01119799443 0.002892116486 0.001511634271 1.389453508e-19 8.871405218e-08 -0.002960819999 0.0007948133141 0.0001835368972 +0.01219577595 0.003798567418 -0.001709152542 0.0003605334483 0.004471117762 0.001688164097 -0.0006762160236 9.281903052e-05 -2.602997021e-05 -8.310774424e-05 0.0003929427618 -0.001106347439 0.0002229166728 -3.710040083e-05 -4.754135321e-07 0.0001525853256 -0.0004286113008 8.244000095e-05 +0.07371187342 0.0008991902917 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.07371187342 0.0008991902917 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.008144708012 0.002578282576 -0.001296747366 0.0005069152804 0.003177379225 -0.0004400643948 0.0005554348066 0.0007484781741 -7.075983296e-05 2.020964603e-05 0.0003735822365 -0.0007840554643 0.0002256252267 -2.579743164e-05 7.144248105e-06 0.0001441906685 -0.0003118477827 9.311371064e-05 +0.09596019658 0.02277331617 -0.01738467252 -0.008663894271 0.005949409713 -0.004965450694 -0.001753876593 0.001427266499 1.5873437e-19 3.466271371e-07 -0.005542363466 -0.003519412466 0.001948926245 2.718259773e-21 8.960292007e-08 -0.001470128227 -0.000843505539 0.0002793956216 +0.01264072958 0.003929448157 -0.001088730356 -0.0003937415227 0.004795731678 0.001729636289 -0.0004411175573 -0.000119155711 2.217637141e-05 -0.0001299429851 0.0004235973819 -0.0006339280223 -0.0002794460619 1.76002548e-05 -5.462165565e-05 0.0001632464446 -0.0002536350264 -0.0001023405302 +0.07696395809 0.0009377323365 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.007800556272 0.002472311736 -0.001167362625 0.000431139726 0.003113605984 -0.0004017186551 0.0002651702768 0.0009983513368 -4.626978129e-05 2.071529503e-06 0.0003910277404 -0.000721721362 0.0001936181043 -1.595801436e-05 -4.96329664e-07 0.000148745428 -0.0002863711433 8.213369066e-05 +0.07696395809 0.0009377323365 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.2585819354 0.03793023611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.05060597311 0.01035643864 -0.0003714232064 0.0002904013543 0.02064611012 0.004455929716 0.0001351220421 -6.636512195e-05 -1.665932333e-07 -2.461370675e-07 0.002141792 2.333379934e-05 -1.8086762e-05 -5.624066045e-07 -9.246401797e-09 0.0004893131837 8.605766782e-06 -6.006834021e-06 +0.02712714502 0.00684701784 3.011226639e-05 6.641529747e-05 0.01340502561 2.825215823e-05 6.272877372e-05 0.003554504082 1.045588086e-08 -1.396989692e-07 0.002482206555 -0.0001281798853 -0.0001758897255 -3.157012159e-08 1.571203521e-08 0.0006110938485 -7.534440399e-06 -1.492169793e-05 +0.3079611224 0.002850499127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.03402140488 0.007972492082 -5.577570533e-05 0.00022145974 0.01578455554 -0.0001457821003 0.001106132121 0.003010516914 5.133791865e-08 -1.597821649e-07 0.002349045598 5.057134464e-05 -0.0001070696379 2.149107933e-08 5.294058905e-08 0.0005728731201 7.802584023e-06 -1.931803518e-05 +0 0 0.008849939412 -0.01262284846 -0.06608175239 -0.0001774452139 0.0003424695591 0.0008227427789 0 0 0 0 0 0 0 0 0 0 +0.06611993135 0.007196266263 -0.0005246922398 0.0002588557187 0.01896147577 -5.750121124e-05 -6.289706119e-05 7.989828119e-07 9.503915849e-07 1.463935836e-06 0.001983743826 -0.000125702108 -1.31504878e-05 1.563134039e-06 1.904650884e-08 -0.0005337341835 -4.996456427e-05 7.145082678e-06 +-0.01233166661 -0.002441065748 -0.0005277602759 -0.002999646809 -0.004769191654 -0.0001980300184 -0.001013504897 -0.0008309198435 -2.945323403e-06 4.057956228e-05 -0.001559468538 -0.0001797949797 -0.001535783998 7.866091493e-06 6.234423187e-06 -0.0002300705233 -0.0001078635415 -0.0006497621136 +-0.1497988362 -0.001038242662 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.01646193391 -0.002791524411 0.0002772774505 -0.005511114966 -0.005602173784 0.0002283057353 -0.002970160938 0.0004364231736 2.200597666e-05 3.073042658e-05 -0.001221215643 0.000207361569 -0.003355143913 9.022638389e-06 1.021432132e-05 -0.0001563968558 8.048212492e-05 -0.001111730307 +0 0 0.1118612397 -0.02357715989 0.005932852405 -0.001444774296 0.0002262131142 -0.0001136961967 0 0 0 0 0 0 0 0 0 0 +0.001294132792 0.0001408489688 0.009201829629 -0.001649612581 0.001335539121 -0.0003264203496 0.003051881169 -0.0004874178208 -2.718279214e-05 -8.815494535e-05 -1.252673588e-05 0.007352074504 -0.001487168935 -3.89938171e-05 -4.99830342e-07 -3.331819793e-05 0.002026976136 -0.0003932475371 +-0.0378307582 -0.007488636447 0.0001362708189 0.00089480731 -0.01517988295 3.843962065e-05 0.0002710886146 -0.003086734618 9.451025572e-07 -1.305179511e-05 -0.002918544151 0.0002368172901 0.0007434210567 -2.530913796e-06 -2.055653951e-06 -0.0005568645357 4.338695278e-05 0.0002272166542 +0.2020421615 0.001400336591 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.02197550869 0.003726486165 0.007022997497 -0.000680006467 0.008170956841 0.00168343757 0.0001991221809 0.00120934431 -7.907224393e-05 1.179288095e-05 0.00125517508 0.005138618869 -0.0005304715282 -2.914259186e-05 4.280345355e-06 0.0001252844923 0.001623783887 -0.0001535796524 +0 0 0.01766839044 0.1555932209 -0.004462020471 -0.0001663196995 -0.00233043036 0.0001098701727 0 0 0 0 0 0 0 0 0 0 +0.0001865903681 2.030785489e-05 0.00106931838 0.01434904893 -0.0002986532883 9.003153123e-05 0.0004374177932 0.003433303716 -0.0002029210663 1.187908674e-05 2.719884309e-05 0.001209669713 0.009038784486 -6.58175005e-05 2.956029883e-07 6.888205521e-06 0.0003165893386 0.002520083511 +1.069006745e-05 2.11610955e-06 0.006470949226 -0.0002632374266 -1.831370123e-05 0.002034449555 -0.0001037455488 -2.089150062e-05 -1.936437373e-06 -6.005546999e-05 0.0001283040055 0.004406850542 -0.0001051050102 1.938080319e-06 -2.539927182e-05 6.984495075e-06 0.001543803226 -5.197657881e-05 +0.3619798842 0.00250885099 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.03938411622 -0.006678542292 0.003878441992 0.001623739231 -0.01450946016 0.0009623154949 0.0004540589928 -0.001953115377 -5.339698257e-05 -6.021309538e-06 -0.002366668341 0.002703549824 0.001269466487 -2.004661396e-05 -1.916408899e-06 -0.0002470067905 0.0008671902701 0.0003918824917 +0.1302208588 0.02754070927 0.004282326604 -0.004883217686 -0.02547886126 0.001293500516 -0.002134922927 -0.005149271729 5.19647479e-22 3.627612309e-07 0.001823397528 -0.001555227457 -0.009358578348 6.686559637e-22 9.800831969e-08 0.000772762878 -0.000750202475 -0.002214174512 +0.1010331898 0.001217470588 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.008897803728 0.00280551742 -0.0001099356691 -0.0006891465247 0.003884425361 -4.036121721e-05 -0.0002525007204 0.001403290798 2.973286627e-06 -4.189002223e-05 0.0004656571193 -7.815537397e-05 -0.0003920075785 -7.933224034e-06 -6.553867181e-06 0.0001986674237 -2.955596417e-05 -0.0001717103625 +0.1010331898 0.001217470588 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.01108191701 0.003462755472 7.883172141e-05 -0.001216485294 0.004817328521 3.695739345e-06 -0.0003021907047 0.001606546539 -2.077300368e-05 -3.260688526e-05 0.0005675779098 8.647390967e-05 -0.0007655210393 -8.589535107e-06 -1.076228375e-05 0.000224426245 3.407778359e-05 -0.0003030848842 +0.0914039069 0.02202120244 -0.03102410318 0.00749930309 0.004219745038 -0.007694540677 0.001733464352 0.0007909863384 -8.438160643e-20 3.452417823e-07 -0.01119799443 0.002892116486 0.001511634271 3.592496859e-20 8.871405218e-08 -0.002960819999 0.0007948133141 0.0001835368972 +0.01219577595 0.003798567418 -0.001709152542 0.0003605334483 0.004471117762 0.001688164097 -0.0006762160236 9.281903052e-05 -2.602997021e-05 -8.310774424e-05 0.0003929427618 -0.001106347439 0.0002229166728 -3.710040083e-05 -4.754135321e-07 0.0001525853256 -0.0004286113008 8.244000095e-05 +0.07371187342 0.0008991902917 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.07371187342 0.0008991902917 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.008144708012 0.002578282576 -0.001296747366 0.0005069152804 0.003177379225 -0.0004400643948 0.0005554348066 0.0007484781741 -7.075983296e-05 2.020964603e-05 0.0003735822365 -0.0007840554643 0.0002256252267 -2.579743164e-05 7.144248105e-06 0.0001441906685 -0.0003118477827 9.311371064e-05 +0.1001603225 0.02354775835 0.01942537074 0.03752235176 0.006656925168 0.004213905166 0.01099228825 0.001377929963 -2.892612415e-19 3.46209739e-07 0.007368041012 0.01188653791 0.002716939235 -1.063651705e-19 8.991506348e-08 0.001631312455 0.003803036533 0.0007858216147 +0.01324653568 0.004109209156 0.0009392528716 0.002275980327 0.005166419792 0.001752128789 0.0005296747071 0.0006681689524 0.0001838212185 3.523709633e-05 0.0004490984264 0.0007754024829 0.001171673867 7.491085637e-05 4.349429407e-09 0.0001715022636 0.0002970630392 0.0004588339916 +0.007050973495 0.002241529759 0.001140826028 0.0002668606809 0.002876035131 0.0004323122762 0.0001149458477 0.001012822819 1.613731296e-07 6.969202205e-05 0.0004563998592 0.0006379990979 9.605444873e-05 2.292567975e-06 2.418686791e-05 0.0001476691348 0.0002744214444 5.463827261e-05 +0.7705943424 0.0003607104378 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.008629826534 0.002726854417 0.001218389472 0.0006323863344 0.003466608096 0.0003012288372 0.0007703980704 0.0008469966461 8.970731507e-05 9.002830383e-06 0.0004160025743 0.000777948973 0.0003035728077 3.367895517e-05 2.826384906e-06 0.0001624954409 0.0003040071508 0.0001267490856 +0.1051531008 0.02435201017 0.01088520454 -0.04334931987 0.009385584886 0.002719322596 -0.01112172687 0.002486355553 -2.091505228e-19 3.475989779e-07 0.003646756709 -0.01446471119 0.003502906941 1.540935926e-19 9.081596487e-08 0.000809991316 -0.004036019936 0.001196245125 +0.01372982548 0.004250793146 0.0005983041817 -0.002485616699 0.00554151431 0.001795172365 0.0003455239226 -0.0008577567139 -0.0001566074637 5.509490752e-05 0.000484133915 0.0004442992728 -0.00146879838 -3.553735621e-05 4.997187066e-07 0.0001834851069 0.0001757900262 -0.0005695938067 +0.007362054488 0.002337608577 -0.001056913054 0.0003687790973 0.003038418856 -0.0003818573836 0.0001618465782 0.001074336049 -3.081529663e-06 -3.11357443e-05 0.0004510712998 -0.0006658637329 0.0001318795282 5.529217013e-06 -1.843434941e-05 0.0001560459424 -0.0002655015099 7.570944922e-05 +0.08154811772 0.0009917685469 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.08154811772 0.0009917685469 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.271471693 0.03922570811 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.05245229364 0.01071327273 -0.000236596623 -0.0003171496901 0.02214506743 0.004565396071 8.814447319e-05 8.519571092e-05 1.419299902e-07 -3.848472316e-07 0.002308879491 1.337007594e-05 2.267337993e-05 2.66803035e-07 -1.062346233e-06 0.0005235014391 5.092548611e-06 7.456848269e-06 +0.02832396405 0.007140501957 -2.789737143e-05 9.178037531e-05 0.01416188632 -2.495486669e-05 8.832365489e-05 0.003770384908 -1.996621563e-07 6.241218517e-08 0.002453226298 0.0001337781467 -0.0002414906786 -7.614084086e-08 -1.197514073e-08 0.0006457592888 7.289537107e-06 -2.067623074e-05 +0.03258997436 0.007837409402 -7.80727605e-05 0.0001770974542 0.01570017238 -0.0001023761436 0.0003533428577 0.003790388479 -5.50758023e-09 -9.66909464e-09 0.002472439512 0.0001038001536 -0.0001344649918 -8.138034954e-09 -2.672779784e-09 0.0006240597692 1.343828815e-05 -2.075796814e-05 +0.3214875199 0.002899629272 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0.004959153779 0.01458309168 -0.09316852463 -0.0001145091692 -0.0003465022761 0.001484568252 0 0 0 0 0 0 0 0 0 0 +0.06853226689 0.007444215699 -0.000334229014 -0.000282698444 0.02033812457 -5.891381162e-05 -4.10297849e-05 -1.025687992e-06 -8.096911599e-07 2.288934614e-06 0.002138501514 -7.202627847e-05 1.648531706e-05 -7.415434004e-07 2.188309287e-06 -0.0005710261291 -2.95670309e-05 -8.869863427e-06 +-0.01287572583 -0.002545697288 0.0004889410931 -0.004145260511 -0.005038464827 0.0001749180601 -0.001427039801 -0.0008813852975 5.624295356e-05 -1.812940474e-05 -0.001541261431 0.0001876475323 -0.002108579787 1.897144485e-05 -4.751650187e-06 -0.0002431217035 0.00010435749 -0.000900342002 +-0.01585245629 -0.002854634377 0.0006660330177 -0.005391377461 -0.005770339021 0.0002748025699 -0.002187344799 -0.000439337586 4.410748991e-05 2.28086098e-06 -0.001331169315 0.0004244810445 -0.003311594156 1.753253021e-05 -5.048956748e-07 -0.0002057320921 0.0001644311633 -0.001143013879 +-0.1555581354 -0.001015289299 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0.06268258612 0.02723853377 0.008364716211 -0.0009323435709 -0.0002288768647 -0.0002051549624 0 0 0 0 0 0 0 0 0 0 +0.001341348245 0.0001457019608 0.005861566477 0.001801555368 0.001432502477 -0.0003344393373 0.001990840678 0.0006257188496 2.315852417e-05 -0.0001378345286 -1.350398338e-05 0.004212678483 0.001864299772 1.849848253e-05 -5.742697458e-05 -3.564613656e-05 0.001199483412 0.0004881751695 +-0.03949980856 -0.007809622299 -0.0001262474767 0.001236548715 -0.01603695382 -3.395335681e-05 0.000381699431 -0.003274205726 -1.804737611e-05 5.831045551e-06 -0.002884469566 -0.0002471602944 0.001020692113 -6.104059627e-06 1.566744539e-06 -0.0005884537169 -4.197668114e-05 0.0003148424524 +0.02138110425 0.003850206814 0.006124060638 -0.0003616417653 0.008348798262 0.001584614062 5.499736909e-05 0.001519067093 -6.110955573e-05 1.479340238e-06 0.001306150112 0.00471552449 -0.000367172304 -2.181850517e-05 -3.629030631e-07 0.000187754193 0.00149302953 -9.462545178e-05 +0.2076590257 0.001355338865 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0.009900662722 -0.1797557985 -0.006290993339 -0.0001073296382 0.002357872116 0.0001982512327 0 0 0 0 0 0 0 0 0 0 +0.0001933979762 2.10075679e-05 0.0006811559245 -0.0156707135 -0.0003203362362 9.224328594e-05 0.0002853417573 -0.004407477035 0.0001728796805 1.857352771e-05 2.93207048e-05 0.000693130839 -0.01133092782 3.122351116e-05 3.396269468e-05 7.369483644e-06 0.0001873449092 -0.003128416784 +1.116170116e-05 2.206812475e-06 -0.005994981305 -0.0003637720635 -1.934771052e-05 -0.001797010233 -0.0001460762821 -2.216033428e-05 3.697758865e-05 2.683049942e-05 0.0001268060306 -0.004599319909 -0.0001443056448 4.67426344e-06 1.93583995e-05 7.380703607e-06 -0.001493622659 -7.202127678e-05 +0.03830650783 0.006898052398 -0.003251114937 -0.001783053498 0.01477992599 -0.0008656711343 -0.0006082564189 0.0024849112 5.235333059e-05 1.031282993e-07 0.002570604021 -0.002294690335 -0.001374915903 1.942636063e-05 -8.796884088e-09 0.000373322618 -0.0007531713093 -0.0004389351656 +-0.3721628161 -0.002429014231 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1367120907 0.02848133662 0.002399645373 0.005641548452 -0.03592259326 0.000834723384 0.002160062504 -0.009291415889 -1.862725706e-20 3.642168861e-07 0.0009024769482 0.001892554096 -0.01206586759 8.026335216e-21 9.899031123e-08 0.0003836979351 0.0007961617298 -0.003370606528 +0.1047193091 0.00125941889 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.009290364787 0.002925770473 0.0001018493977 -0.0009523427445 0.004103743774 3.565068505e-05 -0.0003555272193 0.001488518883 -5.677693033e-05 1.871486839e-05 0.0004602204795 8.156881292e-05 -0.0005382132236 -1.913335516e-05 4.995118759e-06 0.0002099372045 2.859526204e-05 -0.0002379302336 +0.01069183357 0.003347419175 0.0001555109314 -0.001222784901 0.004715111214 3.691354793e-05 -0.0004520763289 0.001715109261 -4.372888835e-05 -2.455717143e-06 0.00056512442 0.0001477169994 -0.0007732039056 -1.742638199e-05 5.408797429e-07 0.0002288833764 5.649099277e-05 -0.0003099199766 +0.1047193091 0.00125941889 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.09596019658 0.02277331617 -0.01738467252 -0.008663894271 0.005949409713 -0.004965450694 -0.001753876593 0.001427266499 -7.29291411e-20 3.466271371e-07 -0.005542363466 -0.003519412466 0.001948926245 -8.928443252e-21 8.960292007e-08 -0.001470128227 -0.000843505539 0.0002793956216 +0.01264072958 0.003929448157 -0.001088730356 -0.0003937415227 0.004795731678 0.001729636289 -0.0004411175573 -0.000119155711 2.217637141e-05 -0.0001299429851 0.0004235973819 -0.0006339280223 -0.0002794460619 1.76002548e-05 -5.462165565e-05 0.0001632464446 -0.0002536350264 -0.0001023405302 +0.07696395809 0.0009377323365 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.007800556272 0.002472311736 -0.001167362625 0.000431139726 0.003113605984 -0.0004017186551 0.0002651702768 0.0009983513368 -4.626978129e-05 2.071529503e-06 0.0003910277404 -0.000721721362 0.0001936181043 -1.595801436e-05 -4.96329664e-07 0.000148745428 -0.0002863711433 8.213369066e-05 +0.07696395809 0.0009377323365 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1051531008 0.02435201017 0.01088520454 -0.04334931987 0.009385584886 0.002719322596 -0.01112172687 0.002486355553 -6.428313918e-19 3.475989779e-07 0.003646756709 -0.01446471119 0.003502906941 1.540935926e-19 9.081596487e-08 0.000809991316 -0.004036019936 0.001196245125 +0.01372982548 0.004250793146 0.0005983041817 -0.002485616699 0.00554151431 0.001795172365 0.0003455239226 -0.0008577567139 -0.0001566074637 5.509490752e-05 0.000484133915 0.0004442992728 -0.00146879838 -3.553735621e-05 4.997187066e-07 0.0001834851069 0.0001757900262 -0.0005695938067 +0.007362054488 0.002337608577 -0.001056913054 0.0003687790973 0.003038418856 -0.0003818573836 0.0001618465782 0.001074336049 -3.081529663e-06 -3.11357443e-05 0.0004510712998 -0.0006658637329 0.0001318795282 5.529217013e-06 -1.843434941e-05 0.0001560459424 -0.0002655015099 7.570944922e-05 +0.08154811772 0.0009917685469 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.08154811772 0.0009917685469 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1103947584 0.02518373047 0.006099635347 0.05008117682 0.01323271652 0.001754836687 0.01125268968 0.00448641375 -4.291577243e-19 3.489937914e-07 0.001804934917 0.01760208662 0.004516242718 -1.425167107e-19 9.172589281e-08 0.0004021828743 0.004283276476 0.001821027026 +0.01423074775 0.004397255454 0.000381119829 0.002714562292 0.005943841593 0.001839273369 0.0002253964168 0.001101138533 0.0001334225607 8.614355752e-05 0.000521902625 0.0002545798448 0.001841270633 1.685875382e-05 5.741414847e-05 0.00019630519 0.0001040255071 0.0007070903868 +0.007686860024 0.002437805627 0.0009791722633 0.0005096218076 0.003209970923 0.0003372910496 0.0002278839593 0.00113958525 5.884390472e-05 1.391026612e-05 0.0004458049523 0.000694945357 0.0001810661576 1.333536938e-05 1.404998942e-05 0.00016489794 0.0002568715134 0.0001049066969 +0.008629826534 0.002726854417 0.001038965222 0.0006929642658 0.003585454415 0.0002882968625 0.0004489915623 0.001181335129 8.767742325e-05 6.932827936e-08 0.000450727767 0.0007195279646 0.0003382320173 3.253326687e-05 9.944560246e-09 0.0001769835621 0.0002737904283 0.0001464398155 +0.7705943424 0.0003607104378 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/tests/09_DeePKS/NO_GO_deepks_UT/vdrpre_ref.dat b/tests/09_DeePKS/NO_GO_deepks_UT/vdrpre_ref.dat new file mode 100644 index 0000000000..8c2018d97b --- /dev/null +++ b/tests/09_DeePKS/NO_GO_deepks_UT/vdrpre_ref.dat @@ -0,0 +1,640 @@ +0.6675758988 0.06109723014 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1933308886 0.02610132929 0.0001468775901 3.705346024e-05 0.08250623843 0.01133210627 3.447014936e-05 6.591640326e-06 1.509798793e-10 1.719308976e-09 0.01021440446 7.021723606e-07 2.791996725e-07 4.222367813e-09 1.96568189e-08 0.00139605966 2.493047337e-07 7.863858305e-08 +0.1043660138 0.02091502606 7.94817584e-07 1.652919315e-05 0.06248001278 1.846314548e-06 3.423263329e-05 0.0124745405 6.77469941e-10 2.800292118e-10 0.01349989326 2.575251759e-05 0.0003220797782 4.347406872e-10 1.020669776e-11 0.002528867608 2.068635425e-07 4.075111794e-06 +0.1230739025 0.02252594996 5.866756463e-06 4.525992154e-05 0.06874872312 3.63544531e-05 0.0002780702035 0.01216170117 3.459664499e-13 1.348531826e-09 0.01356241525 1.497436155e-05 5.345689671e-05 2.03568899e-12 7.183577352e-10 0.002200490209 6.595832789e-07 2.942459604e-06 +0.1341227411 0.0233091395 2.553312694e-06 7.755451658e-05 0.07187203941 7.05524111e-05 0.001588176704 0.01070041084 2.93797881e-11 2.835812644e-09 0.01326437759 3.28744042e-06 3.776328798e-05 1.371380109e-11 9.916221826e-10 0.00201964812 2.002594915e-07 2.944293297e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.2525991361 0.01813674777 0.0002074871209 3.302842752e-05 0.07577408197 -0.0001462343165 -1.604528069e-05 -7.935805989e-08 -8.613195382e-10 -1.022583899e-08 0.009460658081 -3.782690705e-06 2.029999558e-07 -1.173550738e-08 -4.049075341e-08 -0.001522797234 -1.447448288e-06 -9.353998722e-08 +-0.04744350675 -0.007456524125 -1.393030807e-05 -0.0007465409834 -0.02222891355 -1.294151409e-05 -0.0005530945277 -0.002916115159 -1.908369174e-07 -8.134249598e-08 -0.008481429056 3.612246467e-05 0.002812244819 -1.083210912e-07 4.049944664e-09 -0.000952092539 2.961472004e-06 0.0001774498629 +-0.0598657623 -0.008204669149 -5.004887091e-05 -0.001377847705 -0.02526745758 -9.758423002e-05 -0.00172137458 -0.001409642432 -2.770673799e-09 -3.181077171e-07 -0.007302047603 6.123625458e-05 0.001316532611 -4.385675262e-09 1.356998117e-07 -0.0007254296412 8.070674227e-06 0.0001620231875 +-0.06489795784 -0.008161567456 -1.269326905e-05 -0.00192997543 -0.02550845692 -0.000110490383 -0.004264536145 0.001551197814 1.25936334e-08 -5.454033764e-07 -0.006895849708 1.347974447e-05 0.001183353827 5.757489696e-09 1.91322911e-07 -0.0005513727293 2.065637405e-06 0.0001694406321 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.004943998254 0.0003549816152 -0.003638820992 -0.0002104806099 0.005337097812 -0.000830136543 0.0007785465501 4.841222119e-05 2.463518232e-08 6.157771778e-07 -5.974116391e-05 0.0002212423032 2.295696042e-05 2.927530312e-07 1.062583557e-06 -9.506016517e-05 5.87204788e-05 5.148207691e-06 +-0.1455459257 -0.022874926 3.596887781e-06 0.0002226963278 -0.07075251537 2.5120782e-06 0.0001479397186 -0.01083290245 6.12362155e-08 2.616256882e-08 -0.01587298786 -4.757877117e-05 -0.00136131254 3.485229539e-08 -1.335373699e-09 -0.002304452401 -1.191220353e-06 -6.205280872e-05 +0.08074433903 0.01106610126 -0.0004601908797 -9.242299947e-05 0.03655814765 -0.0005627070488 4.328127562e-05 0.004874022846 3.838682394e-09 -2.063210121e-07 0.007164806305 0.0006802684405 0.0001459702757 5.457790587e-09 9.753673835e-08 0.0006620379712 7.328145534e-05 1.341323811e-05 +0.0866341491 0.01089511096 -0.0003215003477 -0.0002381361633 0.03720493304 -0.0008147130499 0.0002858982241 0.004298424933 -4.525165449e-08 -2.092999611e-07 0.00708760878 0.0003340410166 0.0001870964494 -1.859635343e-08 8.017450278e-08 0.0004416869644 4.167569802e-05 2.340732569e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0007128344634 5.118188077e-05 -0.0004228570104 0.001830852048 -0.001193481933 0.0002289638627 0.0001115869508 -0.0003410089903 1.839030163e-07 -8.297742658e-08 0.0001297138024 3.640198602e-05 -0.0001395288813 4.941366148e-07 -6.284189824e-07 1.96527422e-05 9.17143385e-06 -3.299172173e-05 +4.112779749e-05 6.463906975e-06 0.0001708016316 -6.551355537e-05 -8.535905264e-05 0.0001329538713 -5.661649535e-05 -7.331877092e-05 -1.254679668e-07 1.203823194e-07 0.0006978026769 -0.0008853767958 0.0001924626256 -2.668860072e-08 -1.649962511e-08 2.890368377e-05 -4.238624069e-05 1.419479005e-05 +0.1446620165 0.01982608987 0.0002443041523 -0.0004556861743 0.06471910085 0.000307405608 -0.0004786795105 0.007972994753 -3.288647839e-09 -1.438312468e-08 0.01410089064 -0.0003310353745 0.0005466012859 -4.859407525e-09 2.364321134e-09 0.00131636873 -3.696744676e-05 6.221943228e-05 +-0.1552641827 -0.01952602428 -0.0001775481836 0.0005686284607 -0.0660661296 -0.0004657202653 0.0006519347021 -0.006942042692 -3.055815399e-08 1.068661557e-07 -0.0133638881 0.000175746938 -0.0004477387751 -1.279206462e-08 -3.589596583e-08 -0.0008708155132 2.225712431e-05 -5.972745069e-05 +0.336188631 0.04436199784 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.3859788712 0.00306839077 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.03423243788 0.008569784877 -2.901767732e-06 -0.0001715122336 0.01810507142 -2.637656985e-06 -0.000137795848 0.004924852381 1.92648744e-07 8.396933758e-08 0.002532553704 1.570213328e-05 0.0007178231336 1.092455491e-07 -4.257458729e-09 0.0008221382259 8.114804982e-07 4.689405498e-05 +0.0403770088 0.009621010332 -1.168582687e-05 -0.0003125010968 0.02064677173 -1.310824769e-05 -0.0003557704763 0.005503036542 2.746891412e-09 3.424946023e-07 0.003099955334 2.130986978e-05 0.0003073891633 4.359122813e-09 -1.453711785e-07 0.0008070631271 2.77271285e-06 4.393141974e-05 +0.04368829243 0.01012404271 -3.608776147e-06 -0.0004260093906 0.02193480991 -1.788582557e-06 -0.0004338832843 0.00571021804 -1.188802465e-08 5.787067509e-07 0.003204947453 5.621322272e-06 0.0002699980315 -5.481119573e-09 -2.015867125e-07 0.0007912084335 8.746332744e-07 4.619366227e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.2525991361 0.01813674777 0.0002074871209 3.302842752e-05 0.07577408197 -0.0001462343165 -1.604528069e-05 -7.935805989e-08 -8.613195382e-10 -1.022583899e-08 0.009460658081 -3.782690705e-06 2.029999558e-07 -1.173550738e-08 -4.049075341e-08 -0.001522797234 -1.447448288e-06 -9.353998722e-08 +-0.04744350675 -0.007456524125 -1.393030807e-05 -0.0007465409834 -0.02222891355 -1.294151409e-05 -0.0005530945277 -0.002916115159 -1.908369174e-07 -8.134249598e-08 -0.008481429056 3.612246467e-05 0.002812244819 -1.083210912e-07 4.049944664e-09 -0.000952092539 2.961472004e-06 0.0001774498629 +-0.0598657623 -0.008204669149 -5.004887091e-05 -0.001377847705 -0.02526745758 -9.758423002e-05 -0.00172137458 -0.001409642432 -2.770673799e-09 -3.181077171e-07 -0.007302047603 6.123625458e-05 0.001316532611 -4.385675262e-09 1.356998117e-07 -0.0007254296412 8.070674227e-06 0.0001620231875 +-0.06489795784 -0.008161567456 -1.269326905e-05 -0.00192997543 -0.02550845692 -0.000110490383 -0.004264536145 0.001551197814 1.25936334e-08 -5.454033764e-07 -0.006895849708 1.347974447e-05 0.001183353827 5.757489696e-09 1.91322911e-07 -0.0005513727293 2.065637405e-06 0.0001694406321 +0 0 0.004031914173 0.004246437011 0.6559782316 7.472119734e-06 1.066978924e-05 0.0004912482479 0 0 0 0 0 0 0 0 0 0 +0.3300368813 0.01260248533 0.0002931073781 2.94406249e-05 0.06959124071 1.887069784e-06 7.468811051e-06 9.554073582e-10 4.913710028e-09 6.081965755e-08 0.008762532524 2.037782997e-05 1.475968137e-07 3.26172753e-08 8.340622761e-08 0.001661040343 8.403797688e-06 1.112650924e-07 +0.02156723487 0.002658363986 0.0002441484522 0.03371752238 0.007908522671 9.071194678e-05 0.008936313897 0.0006816866421 5.375696667e-05 2.36282551e-05 0.005328533898 5.066815114e-05 0.02455516136 2.698955758e-05 1.606989074e-06 0.0003584530088 4.23966269e-05 0.007727015957 +0.02911997934 0.002988402086 0.0004269632624 0.04194581504 0.009286636661 0.0002619399038 0.01065605163 0.0001633892955 2.218895805e-05 7.503902962e-05 0.003931445706 0.0002504199503 0.03242347056 9.448470606e-06 2.563407895e-05 0.000239150423 9.875293168e-05 0.008921622326 +0.03140216863 0.002857728117 6.310197708e-05 0.04802821711 0.009053331164 0.0001730362512 0.01145103595 0.0002248712405 5.39825552e-06 0.0001048958025 0.003584996196 5.527203168e-05 0.03708168317 2.417177228e-06 3.691371261e-05 0.0001505271555 2.130664498e-05 0.00975111 +0 0 0.05096248647 0.007931563521 -0.05889404999 6.083864586e-05 7.04776874e-06 -6.78864146e-05 0 0 0 0 0 0 0 0 0 0 +0.006459649032 0.0002466622272 -0.005140392693 -0.0001876165822 0.004901613439 1.071243484e-05 -0.0003624004584 -5.828442936e-07 -1.405403419e-07 -3.662423896e-06 -5.533271442e-05 -0.001191860077 1.669150221e-05 -8.136679487e-07 -2.188798147e-06 0.0001036899502 -0.0003409275676 -6.123753289e-06 +0.06616338839 0.008155258192 -6.304057169e-05 -0.01005807931 0.02517207468 -1.76081023e-05 -0.002390252836 0.00253235709 -1.724966658e-05 -7.599666604e-06 0.00997234703 -6.673764902e-05 -0.01188632258 -8.683886234e-06 -5.298667321e-07 0.000867602531 -1.705358848e-05 -0.002702076154 +-0.03927576287 -0.004030626888 0.003925854784 0.002813633196 -0.0134363433 0.001510443134 -0.0002679297771 -0.0005649398322 -3.07421114e-05 4.866945287e-05 -0.003857554553 0.002781894325 0.003594945463 -1.175822897e-05 1.842496625e-05 -0.000218252263 0.0008966733571 0.0007385846828 +-0.0419196574 -0.003814863395 0.001598272872 0.005926114486 -0.01320458469 0.001275901922 -0.0007676874415 0.000623126295 -1.939710216e-05 4.025403642e-05 -0.003684687397 0.001369694039 0.005862871357 -7.807340421e-06 1.546881416e-05 -0.0001205824641 0.0004298766569 0.001347064188 +0 0 0.00804948266 -0.05234292513 0.04429344247 7.003630478e-06 -7.260557947e-05 6.560194899e-05 0 0 0 0 0 0 0 0 0 0 +0.0009313636889 3.556419872e-05 -0.0005973503757 0.001631970773 -0.001096098908 -2.954647015e-06 -5.194186797e-05 4.105474591e-06 -1.049141527e-06 4.935202552e-07 0.0001201418974 -0.0001961020711 -0.0001014483881 -1.373386721e-06 1.294469781e-06 -2.143686429e-05 -5.324879324e-05 3.92433982e-05 +-1.869619109e-05 -2.304480911e-06 -0.002993541404 0.002958919629 3.036873581e-05 -0.0009319237622 0.0009147491954 1.713938717e-05 3.534314745e-05 -3.49684887e-05 -0.0004384007923 -0.001241897687 0.001680490544 6.649799384e-06 -6.546933227e-06 -1.088193845e-05 -0.0006068041939 0.0006181090671 +-0.07036667984 -0.007221294027 -0.00208414088 0.01387245333 -0.02378643647 -0.0008251517214 0.002963232777 -0.0009241364803 2.633715631e-05 3.392862421e-06 -0.00759196447 -0.001353738282 0.01346165719 1.046907635e-05 4.466269617e-07 -0.0004339637102 -0.0004523344198 0.00342604219 +0.07512766516 0.006836930393 0.0008826442875 -0.01415054863 0.02344785308 0.0007293529685 -0.001750560309 -0.001006361495 -1.309873951e-05 -2.055324857e-05 0.006947582968 0.0007206286693 -0.01403038299 -5.370515439e-06 -6.925743287e-06 0.0002377364262 0.000229577875 -0.00343724486 +0 0 0.001950970795 0.001642757289 0.2529227472 -5.44685907e-05 -6.651445969e-05 -0.003074558391 0 0 0 0 0 0 0 0 0 0 +0.5043060117 0.002132099435 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.01556164539 -0.003055258335 5.085760465e-05 0.007746349768 -0.006441356997 1.84883313e-05 0.002226358949 -0.001151259775 -5.426734121e-05 -2.439129639e-05 -0.001591099586 2.202502154e-05 0.006267684361 -2.721989784e-05 -1.689329171e-06 -0.0003095265519 1.161720789e-05 0.002041991496 +-0.01964023536 -0.003504278701 9.969093553e-05 0.009513470293 -0.007588379903 3.518573788e-05 0.002202372806 -0.0006378477571 -2.199849665e-05 -8.079169801e-05 -0.001669025833 8.714472446e-05 0.007570358228 -9.391266179e-06 -2.746102754e-05 -0.0002660623129 3.392697003e-05 0.002419033604 +-0.02113944986 -0.003544878072 1.794028858e-05 0.01060141553 -0.007784990631 2.801054827e-06 0.001165053576 0.0008277885659 -5.095796634e-06 -0.000111300941 -0.001666179646 2.30495395e-05 0.008460682874 -2.301148263e-06 -3.889400351e-05 -0.0002160033468 9.021670801e-06 0.002658391181 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.004943998254 0.0003549816152 -0.003638820992 -0.0002104806099 0.005337097812 -0.000830136543 0.0007785465501 4.841222119e-05 2.463518232e-08 6.157771778e-07 -5.974116391e-05 0.0002212423032 2.295696042e-05 2.927530312e-07 1.062583557e-06 -9.506016517e-05 5.87204788e-05 5.148207691e-06 +-0.1455459257 -0.022874926 3.596887781e-06 0.0002226963278 -0.07075251537 2.5120782e-06 0.0001479397186 -0.01083290245 6.12362155e-08 2.616256882e-08 -0.01587298786 -4.757877117e-05 -0.00136131254 3.485229539e-08 -1.335373699e-09 -0.002304452401 -1.191220353e-06 -6.205280872e-05 +0.08074433903 0.01106610126 -0.0004601908797 -9.242299947e-05 0.03655814765 -0.0005627070488 4.328127562e-05 0.004874022846 3.838682394e-09 -2.063210121e-07 0.007164806305 0.0006802684405 0.0001459702757 5.457790587e-09 9.753673835e-08 0.0006620379712 7.328145534e-05 1.341323811e-05 +0.0866341491 0.01089511096 -0.0003215003477 -0.0002381361633 0.03720493304 -0.0008147130499 0.0002858982241 0.004298424933 -4.525165449e-08 -2.092999611e-07 0.00708760878 0.0003340410166 0.0001870964494 -1.859635343e-08 8.017450278e-08 0.0004416869644 4.167569802e-05 2.340732569e-05 +0 0 0.05096248647 0.007931563521 -0.05889404999 6.083864586e-05 7.04776874e-06 -6.78864146e-05 0 0 0 0 0 0 0 0 0 0 +0.006459649032 0.0002466622272 -0.005140392693 -0.0001876165822 0.004901613439 1.071243484e-05 -0.0003624004584 -5.828442936e-07 -1.405403419e-07 -3.662423896e-06 -5.533271442e-05 -0.001191860077 1.669150221e-05 -8.136679487e-07 -2.188798147e-06 0.0001036899502 -0.0003409275676 -6.123753289e-06 +0.06616338839 0.008155258192 -6.304057169e-05 -0.01005807931 0.02517207468 -1.76081023e-05 -0.002390252836 0.00253235709 -1.724966658e-05 -7.599666604e-06 0.00997234703 -6.673764902e-05 -0.01188632258 -8.683886234e-06 -5.298667321e-07 0.000867602531 -1.705358848e-05 -0.002702076154 +-0.03927576287 -0.004030626888 0.003925854784 0.002813633196 -0.0134363433 0.001510443134 -0.0002679297771 -0.0005649398322 -3.07421114e-05 4.866945287e-05 -0.003857554553 0.002781894325 0.003594945463 -1.175822897e-05 1.842496625e-05 -0.000218252263 0.0008966733571 0.0007385846828 +-0.0419196574 -0.003814863395 0.001598272872 0.005926114486 -0.01320458469 0.001275901922 -0.0007676874415 0.000623126295 -1.939710216e-05 4.025403642e-05 -0.003684687397 0.001369694039 0.005862871357 -7.807340421e-06 1.546881416e-05 -0.0001205824641 0.0004298766569 0.001347064188 +0 0 0.6441543436 0.01481470223 0.00528753693 0.0004953535224 4.655297596e-06 9.381336844e-06 0 0 0 0 0 0 0 0 0 0 +0.0001264315232 4.827798067e-06 0.09015002357 0.001195626181 0.0003452419308 6.081187941e-05 0.01758433723 0.0003555629623 4.019689318e-06 0.0002205429845 3.494091778e-07 0.06970960335 0.001887616941 2.029769577e-05 5.743980356e-05 6.472814353e-06 0.01383084299 0.0003370361139 +0.2029742797 0.02501848375 1.627744777e-05 0.00300036753 0.08012031702 3.417909962e-06 0.0006393361607 0.009407302466 5.535115083e-06 2.444316444e-06 0.01866323968 8.790361789e-05 0.005753766482 2.794039136e-06 1.747110533e-07 0.002099952109 6.85962307e-06 0.0009448945857 +0.05297344243 0.005436334416 0.03609756891 0.0001887323385 0.0194403343 0.008709778191 6.736675832e-06 0.001953353266 4.259223941e-05 3.156644821e-05 0.003785052178 0.03090383184 0.0003985888203 1.463262726e-05 1.324328376e-05 0.0001991802888 0.008141764459 6.114441004e-05 +0.05595975544 0.005092570785 0.04048171375 0.0007312125042 0.01925932607 0.009408003827 5.146643591e-05 0.001726705375 6.969799236e-05 1.544759094e-05 0.003787150801 0.033942334 0.000926960634 2.521725083e-05 6.482258069e-06 9.659473479e-05 0.008673066094 0.0001860897813 +0 0 0.1017436467 -0.09776695955 -0.003976687167 5.702416578e-05 -4.795852305e-05 -9.065642732e-06 0 0 0 0 0 0 0 0 0 0 +1.822912194e-05 6.960805137e-07 0.01047607715 -0.01040007743 -7.720300833e-05 -1.677281036e-05 0.002520315032 -0.002504536329 3.000720598e-05 -2.971868715e-05 -7.586593578e-07 0.01146963293 -0.011472646 3.426039564e-05 -3.397028182e-05 -1.338189888e-06 0.002160211637 -0.002159858799 +-5.735567679e-05 -7.069625126e-06 0.0007729500631 -0.00088265822 9.666079463e-05 0.0001808957863 -0.0002446737976 6.367008818e-05 -1.134099536e-05 1.124707917e-05 -0.0008204667404 0.001635767836 -0.0008134685983 -2.139571987e-06 2.158696764e-06 -2.633873092e-05 0.0002440804792 -0.0002161478351 +0.09490752035 0.009739767619 -0.01916332192 0.0009305337176 0.03441533657 -0.004758132435 -7.450586064e-05 0.003195322598 -3.64893111e-05 2.200571603e-06 0.007449274211 -0.01503856557 0.001492558404 -1.30283304e-05 3.210213526e-07 0.0003960417909 -0.004107181588 0.0002836280434 +-0.1002900794 -0.009126814875 0.02235597814 -0.001746010496 -0.03419947379 0.005377964718 0.0001173590905 -0.002788663898 4.706661021e-05 -7.887362476e-06 -0.007140780633 0.01785787066 -0.002218300883 1.734644931e-05 -2.902255781e-06 -0.0001904430067 0.004631896269 -0.000474837168 +0 0 0.02465983115 0.003068368553 -0.0227075293 -0.0004434879817 -4.393512553e-05 0.0004248783514 0 0 0 0 0 0 0 0 0 0 +0.009870532737 4.173053025e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.04773960101 -0.009372840099 -1.313173376e-05 -0.002310768847 -0.02050222603 -3.588771274e-06 -0.0005954984181 -0.004276746343 1.74134368e-05 7.845087158e-06 -0.002977741633 -2.901029788e-05 -0.003033973877 8.75799818e-06 5.570164362e-07 -0.0007491805433 -4.672897281e-06 -0.0007140682198 +0.02648989609 0.004726418851 0.0009166412445 0.0006381427039 0.01097922543 0.0002028940815 -5.537522485e-05 0.00220544194 3.047823306e-05 -5.240056752e-05 0.001637656649 0.0009680834697 0.0008393618726 1.168704044e-05 -1.973811919e-05 0.0002428124574 0.000308055767 0.0002002619145 +0.02821965917 0.004732159619 0.0004543990201 0.00130808941 0.01135466783 2.065388733e-05 -7.81062083e-05 0.002293831888 1.831030182e-05 -4.271202496e-05 0.001712512596 0.00057118973 0.001337692657 7.432573682e-06 -1.629866165e-05 0.0001730333357 0.0001820185997 0.0003672426585 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0007128344634 5.118188077e-05 -0.0004228570104 0.001830852048 -0.001193481933 0.0002289638627 0.0001115869508 -0.0003410089903 1.839030163e-07 -8.297742658e-08 0.0001297138024 3.640198602e-05 -0.0001395288813 4.941366148e-07 -6.284189824e-07 1.96527422e-05 9.17143385e-06 -3.299172173e-05 +4.112779749e-05 6.463906975e-06 0.0001708016316 -6.551355537e-05 -8.535905264e-05 0.0001329538713 -5.661649535e-05 -7.331877092e-05 -1.254679668e-07 1.203823194e-07 0.0006978026769 -0.0008853767958 0.0001924626256 -2.668860072e-08 -1.649962511e-08 2.890368377e-05 -4.238624069e-05 1.419479005e-05 +0.1446620165 0.01982608987 0.0002443041523 -0.0004556861743 0.06471910085 0.000307405608 -0.0004786795105 0.007972994753 -3.288647839e-09 -1.438312468e-08 0.01410089064 -0.0003310353745 0.0005466012859 -4.859407525e-09 2.364321134e-09 0.00131636873 -3.696744676e-05 6.221943228e-05 +-0.1552641827 -0.01952602428 -0.0001775481836 0.0005686284607 -0.0660661296 -0.0004657202653 0.0006519347021 -0.006942042692 -3.055815399e-08 1.068661557e-07 -0.0133638881 0.000175746938 -0.0004477387751 -1.279206462e-08 -3.589596583e-08 -0.0008708155132 2.225712431e-05 -5.972745069e-05 +0 0 0.00804948266 -0.05234292513 0.04429344247 7.003630478e-06 -7.260557947e-05 6.560194899e-05 0 0 0 0 0 0 0 0 0 0 +0.0009313636889 3.556419872e-05 -0.0005973503757 0.001631970773 -0.001096098908 -2.954647015e-06 -5.194186797e-05 4.105474591e-06 -1.049141527e-06 4.935202552e-07 0.0001201418974 -0.0001961020711 -0.0001014483881 -1.373386721e-06 1.294469781e-06 -2.143686429e-05 -5.324879324e-05 3.92433982e-05 +-1.869619109e-05 -2.304480911e-06 -0.002993541404 0.002958919629 3.036873581e-05 -0.0009319237622 0.0009147491954 1.713938717e-05 3.534314745e-05 -3.49684887e-05 -0.0004384007923 -0.001241897687 0.001680490544 6.649799384e-06 -6.546933227e-06 -1.088193845e-05 -0.0006068041939 0.0006181090671 +-0.07036667984 -0.007221294027 -0.00208414088 0.01387245333 -0.02378643647 -0.0008251517214 0.002963232777 -0.0009241364803 2.633715631e-05 3.392862421e-06 -0.00759196447 -0.001353738282 0.01346165719 1.046907635e-05 4.466269617e-07 -0.0004339637102 -0.0004523344198 0.00342604219 +0.07512766516 0.006836930393 0.0008826442875 -0.01415054863 0.02344785308 0.0007293529685 -0.001750560309 -0.001006361495 -1.309873951e-05 -2.055324857e-05 0.006947582968 0.0007206286693 -0.01403038299 -5.370515439e-06 -6.925743287e-06 0.0002377364262 0.000229577875 -0.00343724486 +0 0 0.1017436467 -0.09776695955 -0.003976687167 5.702416578e-05 -4.795852305e-05 -9.065642732e-06 0 0 0 0 0 0 0 0 0 0 +1.822912194e-05 6.960805137e-07 0.01047607715 -0.01040007743 -7.720300833e-05 -1.677281036e-05 0.002520315032 -0.002504536329 3.000720598e-05 -2.971868715e-05 -7.586593578e-07 0.01146963293 -0.011472646 3.426039564e-05 -3.397028182e-05 -1.338189888e-06 0.002160211637 -0.002159858799 +-5.735567679e-05 -7.069625126e-06 0.0007729500631 -0.00088265822 9.666079463e-05 0.0001808957863 -0.0002446737976 6.367008818e-05 -1.134099536e-05 1.124707917e-05 -0.0008204667404 0.001635767836 -0.0008134685983 -2.139571987e-06 2.158696764e-06 -2.633873092e-05 0.0002440804792 -0.0002161478351 +0.09490752035 0.009739767619 -0.01916332192 0.0009305337176 0.03441533657 -0.004758132435 -7.450586064e-05 0.003195322598 -3.64893111e-05 2.200571603e-06 0.007449274211 -0.01503856557 0.001492558404 -1.30283304e-05 3.210213526e-07 0.0003960417909 -0.004107181588 0.0002836280434 +-0.1002900794 -0.009126814875 0.02235597814 -0.001746010496 -0.03419947379 0.005377964718 0.0001173590905 -0.002788663898 4.706661021e-05 -7.887362476e-06 -0.007140780633 0.01785787066 -0.002218300883 1.734644931e-05 -2.902255781e-06 -0.0001904430067 0.004631896269 -0.000474837168 +0 0 0.01607032499 0.6451954435 0.002990814255 6.564514706e-06 0.00049406507 8.760572134e-06 0 0 0 0 0 0 0 0 0 0 +2.628307229e-06 1.003621268e-07 0.00121739505 0.09046440464 1.726413846e-05 4.626187679e-06 0.0003612298704 0.0176416075 0.0002240054739 4.004663164e-06 1.647249293e-06 0.001887150023 0.06972898118 5.782797825e-05 2.009025058e-05 2.76657429e-07 0.0003373991244 0.01384121713 +1.620734245e-08 1.997706972e-09 0.03670426767 0.0002596633664 1.166159792e-07 0.009574063057 9.363660454e-05 4.309290728e-07 2.323676631e-05 5.175139665e-05 3.606906859e-05 0.03043943443 0.000115008345 1.638405213e-06 2.667244934e-05 3.303545559e-07 0.008684920397 4.944454896e-05 +0.1700368525 0.01744982299 0.01017334181 0.004587941879 0.06092566995 0.002599357156 0.0008240151979 0.005226953404 3.12608551e-05 1.534070399e-07 0.01466074539 0.007318136325 0.005589044335 1.159992597e-05 7.781658288e-09 0.0007874730031 0.002071902311 0.001315653662 +0.1797380983 0.01635691545 0.01234606227 0.004169174674 0.06072922817 0.003074244552 0.0002676143371 0.004503748264 3.178378202e-05 4.027196671e-06 0.01346414514 0.009395451249 0.005308595238 1.193228024e-05 1.299406553e-06 0.0003754711776 0.002473688407 0.001211621264 +0 0 0.00389499997 -0.02024914571 0.01707803493 -5.105350229e-05 0.0004526163337 -0.0004105806456 0 0 0 0 0 0 0 0 0 0 +0.001423150969 6.016782087e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1.349006943e-05 2.648540436e-06 -0.0006235728463 0.0006797897581 -2.4734818e-05 -0.0001899387663 0.0002278971039 -2.894568531e-05 -3.567869917e-05 3.60977469e-05 0.0001309064242 -0.0005398425379 0.0004289438032 -6.706551575e-06 6.882389842e-06 9.396626072e-06 -0.0001662719651 0.0001633455225 +0.04745944831 0.00846787886 -0.0004866225561 0.003146325147 0.01943658647 -0.000110840585 0.0006124354041 0.003607692777 -2.611108839e-05 -3.652967229e-06 0.003223034419 -0.0004710932551 0.003143080168 -1.040569281e-05 -4.784582009e-07 0.000482798178 -0.0001554013237 0.0009289466514 +-0.05057477175 -0.008480892387 0.0002509413169 -0.003123493959 -0.02016288957 1.180652978e-05 -0.000178105855 -0.00370458462 1.236483017e-05 2.180826928e-05 -0.003228991245 0.0003005165266 -0.003201219871 5.112720793e-06 7.297285065e-06 -0.0003411468419 9.720798433e-05 -0.0009370770531 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.336188631 0.04436199784 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.3859788712 0.00306839077 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.03423243788 0.008569784877 -2.901767732e-06 -0.0001715122336 0.01810507142 -2.637656985e-06 -0.000137795848 0.004924852381 1.92648744e-07 8.396933758e-08 0.002532553704 1.570213328e-05 0.0007178231336 1.092455491e-07 -4.257458729e-09 0.0008221382259 8.114804982e-07 4.689405498e-05 +0.0403770088 0.009621010332 -1.168582687e-05 -0.0003125010968 0.02064677173 -1.310824769e-05 -0.0003557704763 0.005503036542 2.746891412e-09 3.424946023e-07 0.003099955334 2.130986978e-05 0.0003073891633 4.359122813e-09 -1.453711785e-07 0.0008070631271 2.77271285e-06 4.393141974e-05 +0.04368829243 0.01012404271 -3.608776147e-06 -0.0004260093906 0.02193480991 -1.788582557e-06 -0.0004338832843 0.00571021804 -1.188802465e-08 5.787067509e-07 0.003204947453 5.621322272e-06 0.0002699980315 -5.481119573e-09 -2.015867125e-07 0.0007912084335 8.746332744e-07 4.619366227e-05 +0 0 0.001950970795 0.001642757289 0.2529227472 -5.44685907e-05 -6.651445969e-05 -0.003074558391 0 0 0 0 0 0 0 0 0 0 +0.5043060117 0.002132099435 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.01556164539 -0.003055258335 5.085760465e-05 0.007746349768 -0.006441356997 1.84883313e-05 0.002226358949 -0.001151259775 -5.426734121e-05 -2.439129639e-05 -0.001591099586 2.202502154e-05 0.006267684361 -2.721989784e-05 -1.689329171e-06 -0.0003095265519 1.161720789e-05 0.002041991496 +-0.01964023536 -0.003504278701 9.969093553e-05 0.009513470293 -0.007588379903 3.518573788e-05 0.002202372806 -0.0006378477571 -2.199849665e-05 -8.079169801e-05 -0.001669025833 8.714472446e-05 0.007570358228 -9.391266179e-06 -2.746102754e-05 -0.0002660623129 3.392697003e-05 0.002419033604 +-0.02113944986 -0.003544878072 1.794028858e-05 0.01060141553 -0.007784990631 2.801054827e-06 0.001165053576 0.0008277885659 -5.095796634e-06 -0.000111300941 -0.001666179646 2.30495395e-05 0.008460682874 -2.301148263e-06 -3.889400351e-05 -0.0002160033468 9.021670801e-06 0.002658391181 +0 0 0.02465983115 0.003068368553 -0.0227075293 -0.0004434879817 -4.393512553e-05 0.0004248783514 0 0 0 0 0 0 0 0 0 0 +0.009870532737 4.173053025e-05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.04773960101 -0.009372840099 -1.313173376e-05 -0.002310768847 -0.02050222603 -3.588771274e-06 -0.0005954984181 -0.004276746343 1.74134368e-05 7.845087158e-06 -0.002977741633 -2.901029788e-05 -0.003033973877 8.75799818e-06 5.570164362e-07 -0.0007491805433 -4.672897281e-06 -0.0007140682198 +0.02648989609 0.004726418851 0.0009166412445 0.0006381427039 0.01097922543 0.0002028940815 -5.537522485e-05 0.00220544194 3.047823306e-05 -5.240056752e-05 0.001637656649 0.0009680834697 0.0008393618726 1.168704044e-05 -1.973811919e-05 0.0002428124574 0.000308055767 0.0002002619145 +0.02821965917 0.004732159619 0.0004543990201 0.00130808941 0.01135466783 2.065388733e-05 -7.81062083e-05 0.002293831888 1.831030182e-05 -4.271202496e-05 0.001712512596 0.00057118973 0.001337692657 7.432573682e-06 -1.629866165e-05 0.0001730333357 0.0001820185997 0.0003672426585 +0 0 0.00389499997 -0.02024914571 0.01707803493 -5.105350229e-05 0.0004526163337 -0.0004105806456 0 0 0 0 0 0 0 0 0 0 +0.001423150969 6.016782087e-06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1.349006943e-05 2.648540436e-06 -0.0006235728463 0.0006797897581 -2.4734818e-05 -0.0001899387663 0.0002278971039 -2.894568531e-05 -3.567869917e-05 3.60977469e-05 0.0001309064242 -0.0005398425379 0.0004289438032 -6.706551575e-06 6.882389842e-06 9.396626072e-06 -0.0001662719651 0.0001633455225 +0.04745944831 0.00846787886 -0.0004866225561 0.003146325147 0.01943658647 -0.000110840585 0.0006124354041 0.003607692777 -2.611108839e-05 -3.652967229e-06 0.003223034419 -0.0004710932551 0.003143080168 -1.040569281e-05 -4.784582009e-07 0.000482798178 -0.0001554013237 0.0009289466514 +-0.05057477175 -0.008480892387 0.0002509413169 -0.003123493959 -0.02016288957 1.180652978e-05 -0.000178105855 -0.00370458462 1.236483017e-05 2.180826928e-05 -0.003228991245 0.0003005165266 -0.003201219871 5.112720793e-06 7.297285065e-06 -0.0003411468419 9.720798433e-05 -0.0009370770531 +0.1693032894 0.03221073766 0.0009440396988 0.0006355096057 0.09751835192 0.0003970529754 0.0004146448675 0.0192426321 -1.428603631e-21 3.801040115e-07 0.000451243219 0.0002034850233 0.03223590265 5.709943376e-23 1.0683005e-07 0.000366062592 0.0001479879955 0.006238780756 +0.7705943424 0.0003607104378 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.01122836602 0.003511409101 1.059394777e-05 0.001779666194 0.005246375548 3.768173943e-06 0.0005546665241 0.001944293738 5.47825613e-05 2.517897904e-05 0.0004751021464 9.57409266e-06 0.001599821181 2.745220392e-05 1.775888271e-06 0.0002672782317 3.183260767e-06 0.0005396299547 +0.01324653568 0.004109209156 2.327666922e-05 0.002157691224 0.006200685097 4.726412938e-06 0.0004551822893 0.002490063746 2.18096701e-05 8.698537947e-05 0.0007085554374 3.032587057e-05 0.001767556733 9.334408088e-06 2.941818331e-05 0.0002960026308 1.16557481e-05 0.0006559035299 +0.01423074775 0.004397255454 5.100536769e-06 0.002340082936 0.006694340241 4.534256891e-08 0.0001185351126 0.003047227864 4.810284218e-06 0.0001180971896 0.0007743814669 9.612117649e-06 0.001930418162 2.190688903e-06 4.098053006e-05 0.0003099603237 3.819960587e-06 0.000724742483 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.08341301216 0.02059361022 0.04954834536 0.001498827877 0.002674845779 0.01405013969 0.0002733642526 0.000454057466 -2.027096283e-20 3.442765319e-07 0.0170187814 0.0007036815792 0.000841033962 -3.85723698e-20 8.7529083e-08 0.005373866323 0.0001661115266 4.286697133e-05 +0.01122836602 0.003511409101 0.003110134129 5.71113756e-05 0.003869390186 0.001626534555 0.000863299879 1.289400292e-05 3.685969197e-06 0.0001960120973 0.0003438088512 0.001578541058 4.241098519e-05 1.837436933e-05 5.196498329e-05 0.0001357549522 0.0006184130065 1.481222813e-05 +0.7705943424 0.0003607104378 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.007050973495 0.002241529759 0.001311627635 0.0002682410515 0.002703853153 0.0005597628654 0.0001566071205 0.0008437109567 2.44178328e-05 6.189731699e-05 0.0003392351325 0.0007239214458 0.0001108350729 7.82762528e-06 2.477164693e-05 0.0001250127531 0.0002995299442 4.606631822e-05 +0.007686860024 0.002437805627 0.001380144666 0.0004063387956 0.002912281532 0.0006428888858 0.0004004524885 0.0006614188849 5.581433305e-05 4.536682079e-05 0.0003354875573 0.0007902098883 0.0001676920383 1.976033627e-05 1.805850324e-05 0.0001279478905 0.0003198906318 6.840414721e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1001603225 0.02354775835 0.01942537074 0.03752235176 0.006656925168 0.004213905166 0.01099228825 0.001377929963 -2.892612415e-19 3.46209739e-07 0.007368041012 0.01188653791 0.002716939235 -1.063651705e-19 8.991506348e-08 0.001631312455 0.003803036533 0.0007858216147 +0.01324653568 0.004109209156 0.0009392528716 0.002275980327 0.005166419792 0.001752128789 0.0005296747071 0.0006681689524 0.0001838212185 3.523709633e-05 0.0004490984264 0.0007754024829 0.001171673867 7.491085637e-05 4.349429407e-09 0.0001715022636 0.0002970630392 0.0004588339916 +0.007050973495 0.002241529759 0.001140826028 0.0002668606809 0.002876035131 0.0004323122762 0.0001149458477 0.001012822819 1.613731296e-07 6.969202205e-05 0.0004563998592 0.0006379990979 9.605444873e-05 2.292567975e-06 2.418686791e-05 0.0001476691348 0.0002744214444 5.463827261e-05 +0.7705943424 0.0003607104378 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.008629826534 0.002726854417 0.001218389472 0.0006323863344 0.003466608096 0.0003012288372 0.0007703980704 0.0008469966461 8.970731507e-05 9.002830383e-06 0.0004160025743 0.000777948973 0.0003035728077 3.367895517e-05 2.826384906e-06 0.0001624954409 0.0003040071508 0.0001267490856 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1103947584 0.02518373047 0.006099635347 0.05008117682 0.01323271652 0.001754836687 0.01125268968 0.00448641375 -4.291577243e-19 3.489937914e-07 0.001804934917 0.01760208662 0.004516242718 -1.425167107e-19 9.172589281e-08 0.0004021828743 0.004283276476 0.001821027026 +0.01423074775 0.004397255454 0.000381119829 0.002714562292 0.005943841593 0.001839273369 0.0002253964168 0.001101138533 0.0001334225607 8.614355752e-05 0.000521902625 0.0002545798448 0.001841270633 1.685875382e-05 5.741414847e-05 0.00019630519 0.0001040255071 0.0007070903868 +0.007686860024 0.002437805627 0.0009791722633 0.0005096218076 0.003209970923 0.0003372910496 0.0002278839593 0.00113958525 5.884390472e-05 1.391026612e-05 0.0004458049523 0.000694945357 0.0001810661576 1.333536938e-05 1.404998942e-05 0.00016489794 0.0002568715134 0.0001049066969 +0.008629826534 0.002726854417 0.001038965222 0.0006929642658 0.003585454415 0.0002882968625 0.0004489915623 0.001181335129 8.767742325e-05 6.932827936e-08 0.000450727767 0.0007195279646 0.0003382320173 3.253326687e-05 9.944560246e-09 0.0001769835621 0.0002737904283 0.0001464398155 +0.7705943424 0.0003607104378 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.271471693 0.03922570811 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.05245229364 0.01071327273 -0.000236596623 -0.0003171496901 0.02214506743 0.004565396071 8.814447319e-05 8.519571092e-05 1.419299902e-07 -3.848472316e-07 0.002308879491 1.337007594e-05 2.267337993e-05 2.66803035e-07 -1.062346233e-06 0.0005235014391 5.092548611e-06 7.456848269e-06 +0.02832396405 0.007140501957 -2.789737143e-05 9.178037531e-05 0.01416188632 -2.495486669e-05 8.832365489e-05 0.003770384908 -1.996621563e-07 6.241218517e-08 0.002453226298 0.0001337781467 -0.0002414906786 -7.614084086e-08 -1.197514073e-08 0.0006457592888 7.289537107e-06 -2.067623074e-05 +0.03258997436 0.007837409402 -7.80727605e-05 0.0001770974542 0.01570017238 -0.0001023761436 0.0003533428577 0.003790388479 -5.50758023e-09 -9.66909464e-09 0.002472439512 0.0001038001536 -0.0001344649918 -8.138034954e-09 -2.672779784e-09 0.0006240597692 1.343828815e-05 -2.075796814e-05 +0.3214875199 0.002899629272 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0.004959153779 0.01458309168 -0.09316852463 -0.0001145091692 -0.0003465022761 0.001484568252 0 0 0 0 0 0 0 0 0 0 +0.06853226689 0.007444215699 -0.000334229014 -0.000282698444 0.02033812457 -5.891381162e-05 -4.10297849e-05 -1.025687992e-06 -8.096911599e-07 2.288934614e-06 0.002138501514 -7.202627847e-05 1.648531706e-05 -7.415434004e-07 2.188309287e-06 -0.0005710261291 -2.95670309e-05 -8.869863427e-06 +-0.01287572583 -0.002545697288 0.0004889410931 -0.004145260511 -0.005038464827 0.0001749180601 -0.001427039801 -0.0008813852975 5.624295356e-05 -1.812940474e-05 -0.001541261431 0.0001876475323 -0.002108579787 1.897144485e-05 -4.751650187e-06 -0.0002431217035 0.00010435749 -0.000900342002 +-0.01585245629 -0.002854634377 0.0006660330177 -0.005391377461 -0.005770339021 0.0002748025699 -0.002187344799 -0.000439337586 4.410748991e-05 2.28086098e-06 -0.001331169315 0.0004244810445 -0.003311594156 1.753253021e-05 -5.048956748e-07 -0.0002057320921 0.0001644311633 -0.001143013879 +-0.1555581354 -0.001015289299 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0.06268258612 0.02723853377 0.008364716211 -0.0009323435709 -0.0002288768647 -0.0002051549624 0 0 0 0 0 0 0 0 0 0 +0.001341348245 0.0001457019608 0.005861566477 0.001801555368 0.001432502477 -0.0003344393373 0.001990840678 0.0006257188496 2.315852417e-05 -0.0001378345286 -1.350398338e-05 0.004212678483 0.001864299772 1.849848253e-05 -5.742697458e-05 -3.564613656e-05 0.001199483412 0.0004881751695 +-0.03949980856 -0.007809622299 -0.0001262474767 0.001236548715 -0.01603695382 -3.395335681e-05 0.000381699431 -0.003274205726 -1.804737611e-05 5.831045551e-06 -0.002884469566 -0.0002471602944 0.001020692113 -6.104059627e-06 1.566744539e-06 -0.0005884537169 -4.197668114e-05 0.0003148424524 +0.02138110425 0.003850206814 0.006124060638 -0.0003616417653 0.008348798262 0.001584614062 5.499736909e-05 0.001519067093 -6.110955573e-05 1.479340238e-06 0.001306150112 0.00471552449 -0.000367172304 -2.181850517e-05 -3.629030631e-07 0.000187754193 0.00149302953 -9.462545178e-05 +0.2076590257 0.001355338865 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0.009900662722 -0.1797557985 -0.006290993339 -0.0001073296382 0.002357872116 0.0001982512327 0 0 0 0 0 0 0 0 0 0 +0.0001933979762 2.10075679e-05 0.0006811559245 -0.0156707135 -0.0003203362362 9.224328594e-05 0.0002853417573 -0.004407477035 0.0001728796805 1.857352771e-05 2.93207048e-05 0.000693130839 -0.01133092782 3.122351116e-05 3.396269468e-05 7.369483644e-06 0.0001873449092 -0.003128416784 +1.116170116e-05 2.206812475e-06 -0.005994981305 -0.0003637720635 -1.934771052e-05 -0.001797010233 -0.0001460762821 -2.216033428e-05 3.697758865e-05 2.683049942e-05 0.0001268060306 -0.004599319909 -0.0001443056448 4.67426344e-06 1.93583995e-05 7.380703607e-06 -0.001493622659 -7.202127678e-05 +0.03830650783 0.006898052398 -0.003251114937 -0.001783053498 0.01477992599 -0.0008656711343 -0.0006082564189 0.0024849112 5.235333059e-05 1.031282993e-07 0.002570604021 -0.002294690335 -0.001374915903 1.942636063e-05 -8.796884088e-09 0.000373322618 -0.0007531713093 -0.0004389351656 +-0.3721628161 -0.002429014231 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.1367120907 0.02848133662 0.002399645373 0.005641548452 -0.03592259326 0.000834723384 0.002160062504 -0.009291415889 -1.862725706e-20 3.642168861e-07 0.0009024769482 0.001892554096 -0.01206586759 8.026335216e-21 9.899031123e-08 0.0003836979351 0.0007961617298 -0.003370606528 +0.1047193091 0.00125941889 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.009290364787 0.002925770473 0.0001018493977 -0.0009523427445 0.004103743774 3.565068505e-05 -0.0003555272193 0.001488518883 -5.677693033e-05 1.871486839e-05 0.0004602204795 8.156881292e-05 -0.0005382132236 -1.913335516e-05 4.995118759e-06 0.0002099372045 2.859526204e-05 -0.0002379302336 +0.01069183357 0.003347419175 0.0001555109314 -0.001222784901 0.004715111214 3.691354793e-05 -0.0004520763289 0.001715109261 -4.372888835e-05 -2.455717143e-06 0.00056512442 0.0001477169994 -0.0007732039056 -1.742638199e-05 5.408797429e-07 0.0002288833764 5.649099277e-05 -0.0003099199766 +0.1047193091 0.00125941889 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/E_delta_bands_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/E_delta_bands_ref.dat new file mode 100644 index 0000000000..8d8de91f86 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/E_delta_bands_ref.dat @@ -0,0 +1 @@ +-0.0398377061 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/E_delta_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/E_delta_ref.dat new file mode 100644 index 0000000000..fa5ef95daf --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/E_delta_ref.dat @@ -0,0 +1 @@ +-0.1774931848 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/F_delta_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/F_delta_ref.dat new file mode 100644 index 0000000000..d536bd5cbf --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/F_delta_ref.dat @@ -0,0 +1,3 @@ +-0.0004728929345 -0.0003772016596 0.0006485797214 +0.0004497844091 0.0003182658044 -0.0006969482618 +2.310852542e-05 5.893585522e-05 4.836854035e-05 diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/INPUT b/tests/09_DeePKS/NO_KP_deepks_UT/INPUT similarity index 100% rename from tests/09_DeePKS/100_NO_KP_deepks_UT/INPUT rename to tests/09_DeePKS/NO_KP_deepks_UT/INPUT diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/KPT b/tests/09_DeePKS/NO_KP_deepks_UT/KPT similarity index 100% rename from tests/09_DeePKS/100_NO_KP_deepks_UT/KPT rename to tests/09_DeePKS/NO_KP_deepks_UT/KPT diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/STRU b/tests/09_DeePKS/NO_KP_deepks_UT/STRU similarity index 63% rename from tests/09_DeePKS/100_NO_KP_deepks_UT/STRU rename to tests/09_DeePKS/NO_KP_deepks_UT/STRU index fee4c04337..743d25b561 100644 --- a/tests/09_DeePKS/100_NO_KP_deepks_UT/STRU +++ b/tests/09_DeePKS/NO_KP_deepks_UT/STRU @@ -6,9 +6,9 @@ LATTICE_CONSTANT 1 LATTICE_VECTORS -15 0 0 -0 15 0 -0 0 15 +10 0 0 +0 10 0 +0 0 10 ATOMIC_POSITIONS Direct # Cartesian(Unit is LATTICE_CONSTANT) @@ -16,12 +16,12 @@ Direct # Cartesian(Unit is LATTICE_CONSTANT) O 0.0 1 --0.8820276468984 0.0556117645521 0.5787060818012 1 1 1 +-0.3230414703476 0.08341764682815 0.125126470242225 1 1 1 H 0.0 2 --0.7356630073377 0.1707819477768 0.5851375127279 1 1 1 --0.8315809397290 -0.0230736998458 0.4235868438293 1 1 1 +-0.10349451100655 0.2561729216652 0.87770626909185 1 1 1 +-0.2473714095935 -0.0346105497687 0.63538026574395 1 1 1 NUMERICAL_ORBITAL ../../PP_ORB/O_gga_6au_60Ry_1s1p.orb diff --git a/tests/09_DeePKS/100_NO_KP_deepks_UT/S_I_mu_alpha_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/S_I_mu_alpha_ref.dat similarity index 100% rename from tests/09_DeePKS/100_NO_KP_deepks_UT/S_I_mu_alpha_ref.dat rename to tests/09_DeePKS/NO_KP_deepks_UT/S_I_mu_alpha_ref.dat diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/descriptor_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/descriptor_ref.dat new file mode 100644 index 0000000000..39af423b90 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/descriptor_ref.dat @@ -0,0 +1,15 @@ +O atom_index 1 n_descriptor 18 +1.829098073 0.003595392232 0.7211701876 1.156920446 1.253498837 0.04184356956 0.05595845307 0.05917886621 +-4.240006338e-20 1.797666149e-21 4.264533235e-06 1.745641376e-05 0.0003634039542 -3.627614412e-20 -1.520870249e-20 3.208308532e-06 +1.253973845e-05 0.0001501550505 + +H atom_index 1 n_descriptor 18 +0.4644558568 0.001878782073 0.0003374501873 0.001099743362 0.005247846845 0.0001282574426 0.0004126742367 0.002038460449 +8.118907832e-11 0.0001321652214 0.0002961810852 0.0003154778128 0.002013921078 1.832405564e-10 5.494959847e-05 0.0001230467995 +0.0001309944115 0.0008503941736 + +H atom_index 2 n_descriptor 18 +0.6269313444 0.0007429165505 2.850466544e-05 0.0002184540152 0.0006142492166 1.099437411e-05 8.357410571e-05 0.000232746058 +7.054511185e-07 2.449751213e-06 2.541855747e-05 7.660852787e-05 0.000138608511 3.099026595e-07 1.036509312e-06 1.270289915e-05 +3.815049394e-05 6.046192562e-05 + diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dm_0 b/tests/09_DeePKS/NO_KP_deepks_UT/dm_0 new file mode 100644 index 0000000000..e87ef1969f --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dm_0 @@ -0,0 +1,6 @@ + (2.238e-01,-1.355e-20) (5.098e-03,2.632e-03) (7.586e-03,-2.186e-03) (4.315e-03,-2.024e-03) (-1.329e-03,1.013e-02) (-3.376e-03,8.945e-03) + (5.098e-03,-2.632e-03) (1.238e-01,0.000e+00) (-2.064e-02,3.420e-02) (-1.097e-02,-2.711e-03) (6.743e-05,4.131e-02) (4.239e-02,3.303e-02) + (7.586e-03,2.186e-03) (-2.064e-02,-3.420e-02) (1.580e-01,-3.469e-18) (-9.144e-03,2.450e-03) (-4.588e-03,5.395e-02) (-3.210e-02,-1.488e-02) + (4.315e-03,2.024e-03) (-1.097e-02,2.711e-03) (-9.144e-03,-2.450e-03) (1.732e-01,0.000e+00) (-5.538e-03,4.401e-02) (3.619e-03,-3.993e-02) + (-1.329e-03,-1.013e-02) (6.743e-05,-4.131e-02) (-4.588e-03,-5.395e-02) (-5.538e-03,-4.401e-02) (7.861e-02,0.000e+00) (3.741e-02,6.338e-03) + (-3.376e-03,-8.945e-03) (4.239e-02,-3.303e-02) (-3.210e-02,1.488e-02) (3.619e-03,3.993e-02) (3.741e-02,-6.338e-03) (9.321e-02,-6.939e-18) \ No newline at end of file diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dm_1 b/tests/09_DeePKS/NO_KP_deepks_UT/dm_1 new file mode 100644 index 0000000000..d86fef02cd --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dm_1 @@ -0,0 +1,6 @@ + (2.238e-01,-1.355e-20) (4.983e-03,2.765e-03) (7.827e-03,-2.447e-03) (4.101e-03,-1.915e-03) (-1.276e-03,1.003e-02) (-3.268e-03,8.676e-03) + (4.983e-03,-2.765e-03) (1.245e-01,0.000e+00) (-2.116e-02,3.606e-02) (-1.041e-02,-3.838e-03) (6.115e-04,4.073e-02) (4.359e-02,3.460e-02) + (7.827e-03,2.447e-03) (-2.116e-02,-3.606e-02) (1.558e-01,0.000e+00) (-9.585e-03,2.077e-03) (-6.130e-03,5.604e-02) (-3.258e-02,-1.451e-02) + (4.101e-03,1.915e-03) (-1.041e-02,3.838e-03) (-9.585e-03,-2.077e-03) (1.736e-01,1.388e-17) (-4.854e-03,4.307e-02) (4.437e-03,-3.962e-02) + (-1.276e-03,-1.003e-02) (6.115e-04,-4.073e-02) (-6.130e-03,-5.604e-02) (-4.854e-03,-4.307e-02) (7.832e-02,8.674e-19) (3.640e-02,6.451e-03) + (-3.268e-03,-8.676e-03) (4.359e-02,-3.460e-02) (-3.258e-02,1.451e-02) (4.437e-03,3.962e-02) (3.640e-02,-6.451e-03) (9.092e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dm_2 b/tests/09_DeePKS/NO_KP_deepks_UT/dm_2 new file mode 100644 index 0000000000..499d914273 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dm_2 @@ -0,0 +1,6 @@ + (2.237e-01,1.355e-20) (5.014e-03,2.737e-03) (7.910e-03,-1.819e-03) (4.100e-03,-1.979e-03) (-1.316e-03,9.987e-03) (-3.191e-03,8.669e-03) + (5.014e-03,-2.737e-03) (1.245e-01,0.000e+00) (-2.374e-02,3.316e-02) (-1.019e-02,-3.581e-03) (-1.858e-04,4.101e-02) (4.301e-02,3.495e-02) + (7.910e-03,1.819e-03) (-2.374e-02,-3.316e-02) (1.568e-01,-1.735e-18) (-9.315e-03,3.031e-03) (-2.810e-03,5.622e-02) (-3.244e-02,-1.297e-02) + (4.100e-03,1.979e-03) (-1.019e-02,3.581e-03) (-9.315e-03,-3.031e-03) (1.735e-01,0.000e+00) (-5.647e-03,4.295e-02) (4.147e-03,-3.979e-02) + (-1.316e-03,-9.987e-03) (-1.858e-04,-4.101e-02) (-2.810e-03,-5.622e-02) (-5.647e-03,-4.295e-02) (7.824e-02,0.000e+00) (3.621e-02,5.585e-03) + (-3.191e-03,-8.669e-03) (4.301e-02,-3.495e-02) (-3.244e-02,1.297e-02) (4.147e-03,3.979e-02) (3.621e-02,-5.585e-03) (9.097e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dm_3 b/tests/09_DeePKS/NO_KP_deepks_UT/dm_3 new file mode 100644 index 0000000000..cc1bd73d0c --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dm_3 @@ -0,0 +1,6 @@ + (2.238e-01,-6.776e-21) (5.317e-03,2.920e-03) (7.686e-03,-2.116e-03) (4.529e-03,-2.285e-03) (-1.101e-03,1.008e-02) (9.002e-03,-1.057e-03) + (5.317e-03,-2.920e-03) (1.230e-01,0.000e+00) (-2.050e-02,3.402e-02) (-1.035e-02,-1.824e-03) (8.639e-04,4.223e-02) (9.806e-03,-5.634e-02) + (7.686e-03,2.116e-03) (-2.050e-02,-3.402e-02) (1.573e-01,0.000e+00) (-1.203e-02,4.525e-03) (-4.191e-03,5.466e-02) (4.472e-03,3.463e-02) + (4.529e-03,2.285e-03) (-1.035e-02,1.824e-03) (-1.203e-02,-4.525e-03) (1.727e-01,0.000e+00) (-7.029e-03,4.637e-02) (-3.794e-02,1.772e-02) + (-1.101e-03,-1.008e-02) (8.639e-04,-4.223e-02) (-4.191e-03,-5.466e-02) (-7.029e-03,-4.637e-02) (7.882e-02,-4.337e-19) (-9.868e-03,-3.321e-02) + (9.002e-03,1.057e-03) (9.806e-03,5.634e-02) (4.472e-03,-3.463e-02) (-3.794e-02,-1.772e-02) (-9.868e-03,3.321e-02) (9.208e-02,3.469e-18) \ No newline at end of file diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dm_4 b/tests/09_DeePKS/NO_KP_deepks_UT/dm_4 new file mode 100644 index 0000000000..68896ecc8a --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dm_4 @@ -0,0 +1,6 @@ + (2.237e-01,1.355e-20) (5.191e-03,3.035e-03) (7.922e-03,-2.374e-03) (4.308e-03,-2.162e-03) (-1.059e-03,9.980e-03) (8.724e-03,-1.054e-03) + (5.191e-03,-3.035e-03) (1.240e-01,3.469e-18) (-2.098e-02,3.575e-02) (-9.859e-03,-3.049e-03) (1.367e-03,4.157e-02) (1.048e-02,-5.793e-02) + (7.922e-03,2.374e-03) (-2.098e-02,-3.575e-02) (1.553e-01,0.000e+00) (-1.243e-02,4.043e-03) (-5.691e-03,5.671e-02) (5.008e-03,3.492e-02) + (4.308e-03,2.162e-03) (-9.859e-03,3.049e-03) (-1.243e-02,-4.043e-03) (1.733e-01,1.388e-17) (-6.243e-03,4.537e-02) (-3.803e-02,1.684e-02) + (-1.059e-03,-9.980e-03) (1.367e-03,-4.157e-02) (-5.691e-03,-5.671e-02) (-6.243e-03,-4.537e-02) (7.849e-02,0.000e+00) (-9.541e-03,-3.243e-02) + (8.724e-03,1.054e-03) (1.048e-02,5.793e-02) (5.008e-03,-3.492e-02) (-3.803e-02,-1.684e-02) (-9.541e-03,3.243e-02) (8.975e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dm_5 b/tests/09_DeePKS/NO_KP_deepks_UT/dm_5 new file mode 100644 index 0000000000..0a97963a7c --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dm_5 @@ -0,0 +1,6 @@ + (2.237e-01,0.000e+00) (5.220e-03,3.001e-03) (7.996e-03,-1.748e-03) (4.302e-03,-2.235e-03) (-1.099e-03,9.943e-03) (8.701e-03,-1.104e-03) + (5.220e-03,-3.001e-03) (1.240e-01,-3.469e-18) (-2.349e-02,3.300e-02) (-9.595e-03,-2.716e-03) (5.578e-04,4.186e-02) (1.100e-02,-5.759e-02) + (7.996e-03,1.748e-03) (-2.349e-02,-3.300e-02) (1.562e-01,-1.735e-18) (-1.203e-02,5.156e-03) (-2.406e-03,5.683e-02) (6.254e-03,3.394e-02) + (4.302e-03,2.235e-03) (-9.595e-03,2.716e-03) (-1.203e-02,-5.156e-03) (1.732e-01,0.000e+00) (-7.140e-03,4.518e-02) (-3.804e-02,1.717e-02) + (-1.099e-03,-9.943e-03) (5.578e-04,-4.186e-02) (-2.406e-03,-5.683e-02) (-7.140e-03,-4.518e-02) (7.843e-02,0.000e+00) (-1.007e-02,-3.200e-02) + (8.701e-03,1.104e-03) (1.100e-02,5.759e-02) (6.254e-03,-3.394e-02) (-3.804e-02,-1.717e-02) (-1.007e-02,3.200e-02) (8.982e-02,3.469e-18) \ No newline at end of file diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dm_6 b/tests/09_DeePKS/NO_KP_deepks_UT/dm_6 new file mode 100644 index 0000000000..a98bf7cfcd --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dm_6 @@ -0,0 +1,6 @@ + (2.237e-01,6.776e-21) (5.359e-03,3.030e-03) (7.818e-03,-2.202e-03) (4.563e-03,-1.839e-03) (-1.321e-03,9.810e-03) (-5.778e-03,-6.579e-03) + (5.359e-03,-3.030e-03) (1.220e-01,0.000e+00) (-2.086e-02,3.367e-02) (-1.365e-02,-5.250e-03) (1.170e-03,4.234e-02) (-5.404e-02,1.841e-02) + (7.818e-03,2.202e-03) (-2.086e-02,-3.367e-02) (1.588e-01,-1.735e-18) (-1.068e-02,1.657e-03) (-4.566e-03,5.476e-02) (2.869e-02,-2.310e-02) + (4.563e-03,1.839e-03) (-1.365e-02,5.250e-03) (-1.068e-02,-1.657e-03) (1.735e-01,0.000e+00) (-4.430e-03,4.647e-02) (3.270e-02,2.406e-02) + (-1.321e-03,-9.810e-03) (1.170e-03,-4.234e-02) (-4.566e-03,-5.476e-02) (-4.430e-03,-4.647e-02) (7.798e-02,0.000e+00) (-1.994e-02,2.774e-02) + (-5.778e-03,6.579e-03) (-5.404e-02,-1.841e-02) (2.869e-02,2.310e-02) (3.270e-02,-2.406e-02) (-1.994e-02,-2.774e-02) (8.971e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dm_7 b/tests/09_DeePKS/NO_KP_deepks_UT/dm_7 new file mode 100644 index 0000000000..4173b9a7df --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dm_7 @@ -0,0 +1,6 @@ + (2.237e-01,-6.776e-20) (5.218e-03,3.122e-03) (8.034e-03,-2.464e-03) (4.330e-03,-1.730e-03) (-1.276e-03,9.732e-03) (-5.629e-03,-6.397e-03) + (5.218e-03,-3.122e-03) (1.231e-01,3.469e-18) (-2.138e-02,3.539e-02) (-1.302e-02,-6.311e-03) (1.583e-03,4.165e-02) (-5.557e-02,1.880e-02) + (8.034e-03,2.464e-03) (-2.138e-02,-3.539e-02) (1.568e-01,0.000e+00) (-1.106e-02,1.185e-03) (-6.135e-03,5.672e-02) (2.862e-02,-2.353e-02) + (4.330e-03,1.730e-03) (-1.302e-02,6.311e-03) (-1.106e-02,-1.185e-03) (1.740e-01,0.000e+00) (-3.740e-03,4.540e-02) (3.197e-02,2.466e-02) + (-1.276e-03,-9.732e-03) (1.583e-03,-4.165e-02) (-6.135e-03,-5.672e-02) (-3.740e-03,-4.540e-02) (7.774e-02,0.000e+00) (-1.975e-02,2.702e-02) + (-5.629e-03,6.397e-03) (-5.557e-02,-1.880e-02) (2.862e-02,2.353e-02) (3.197e-02,-2.466e-02) (-1.975e-02,-2.702e-02) (8.760e-02,-8.674e-19) \ No newline at end of file diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dm_8 b/tests/09_DeePKS/NO_KP_deepks_UT/dm_8 new file mode 100644 index 0000000000..bd54e807ca --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dm_8 @@ -0,0 +1,6 @@ + (2.237e-01,5.421e-20) (5.254e-03,3.102e-03) (8.121e-03,-1.834e-03) (4.332e-03,-1.800e-03) (-1.306e-03,9.688e-03) (-5.636e-03,-6.329e-03) + (5.254e-03,-3.102e-03) (1.230e-01,0.000e+00) (-2.382e-02,3.257e-02) (-1.279e-02,-6.014e-03) (8.039e-04,4.195e-02) (-5.572e-02,1.812e-02) + (8.121e-03,1.834e-03) (-2.382e-02,-3.257e-02) (1.576e-01,0.000e+00) (-1.092e-02,2.253e-03) (-2.822e-03,5.695e-02) (2.712e-02,-2.417e-02) + (4.332e-03,1.800e-03) (-1.279e-02,6.014e-03) (-1.092e-02,-2.253e-03) (1.739e-01,0.000e+00) (-4.613e-03,4.533e-02) (3.223e-02,2.451e-02) + (-1.306e-03,-9.688e-03) (8.039e-04,-4.195e-02) (-2.822e-03,-5.695e-02) (-4.613e-03,-4.533e-02) (7.767e-02,-8.674e-19) (-1.898e-02,2.707e-02) + (-5.636e-03,6.329e-03) (-5.572e-02,-1.812e-02) (2.712e-02,2.417e-02) (3.223e-02,-2.451e-02) (-1.898e-02,-2.707e-02) (8.758e-02,0.000e+00) \ No newline at end of file diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dphialpha_x_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/dphialpha_x_ref.dat new file mode 100644 index 0000000000..39c36de04a --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dphialpha_x_ref.dat @@ -0,0 +1,183 @@ +iat : 0 +ad : 20 5.094192361 +R : 0 -1 -1 +iw : 5 +0.002436850725 -0.001356070563 -0.001587305472 0.002296148589 0.0003825385488 0.001299025481 +-0.001380106431 -0.0003130634469 0.0008855939637 -0.001082643662 -0.000335083815 -0.0002242517046 +0.0002609157106 -0.000338300133 0.0009766848463 0.0001066701404 0.0001690432977 -0.0002353797742 + +ad : 23 5.291649545 +R : 0 -1 0 +iw : 5 +0.00202013382 -0.0009999132266 0.001323806415 0.001953668099 0.0003062132711 -0.001174147046 +-0.001070101475 -0.0002715951543 0.0004930624289 0.0009563448048 0.0001673745368 -0.00016913953 +0.0002212147242 -0.0003421386333 -0.0009019964257 -0.0001078337938 0.000151362979 -0.0002086432524 + +ad : 27 3.731782527 +R : 0 0 -1 +iw : 4 +0.03274296968 -0.01841626388 -0.02242684549 -0.008214510619 -0.01565901183 0.01356904138 +0.004915977116 0.009474260637 0.007178516761 0.008267839954 0.01200413491 -0.003622828914 +0.00577282274 -0.004565885898 -0.005114314892 -0.00755739492 0.002361412511 -0.003570948818 + +ad : 29 8.027587471 +R : 0 0 0 +iw : 4 +-4.30155299e-10 8.585643556e-10 -9.969046797e-10 2.898267394e-10 2.288402402e-10 1.709280364e-09 +-4.969328883e-10 -3.923666293e-10 -1.438491983e-09 7.777130357e-10 6.140644174e-10 -4.256996934e-11 +-1.785246288e-10 2.262305401e-09 -1.223101889e-09 -9.65734341e-10 6.694906241e-11 2.807639844e-10 + +ad : 49 0 +R : 0 0 0 +iw : 0 +0 0 0 0.6352565802 0 0 +-0.1192854802 0 0 0 0 0 +0 0 0 0 0 0 + +iw : 1 +0 0 0 0 0 0 +0 0 0 0.8035776717 0 0 +0 0 0.3531341943 0 0 0 + +iw : 2 +-0.7203491342 -0.8266768175 0 0 0 0 +0 0 -0.4639457851 0 0 0.8035776717 +0 -0.2038821222 0 0 0.3531341943 0 + +iw : 3 +0 0 0 0 0 0 +0 0 0 0 0 0 +0.8035776717 0 0 0 0 0.3531341943 + +iat : 1 +ad : 16 4.049413304 +R : 0 -1 0 +iw : 5 +-0.01428133181 0.008154055683 0.008455965221 0.002718467402 -0.01014688844 -0.005089298708 +-0.001706681347 0.006106996051 -0.001727710988 -0.000623291416 0.006896406624 0.005520792751 +0.0007479298101 0.001119371361 0.0003504252216 -0.004551511217 -0.003607449416 -0.0004204990839 + +ad : 22 8.027587471 +R : 0 0 0 +iw : 0 +1.174112446e-10 -2.343459212e-10 -2.721052843e-10 7.910851958e-11 6.246197845e-11 4.665485107e-10 +-1.356384077e-10 -1.070965714e-10 3.926370399e-10 -2.122778998e-10 -1.676092126e-10 1.161970281e-11 +4.872855606e-11 -6.174973731e-10 3.33847448e-10 2.63597742e-10 -1.827410186e-11 -7.663493986e-11 + +iw : 1 +3.242867407e-10 -6.47256243e-10 -7.51426262e-10 2.187197394e-10 1.726957004e-10 1.288385418e-09 +-3.750135611e-10 -2.961016967e-10 1.083420242e-09 -5.863967335e-10 -4.630049999e-10 3.212908462e-11 +1.347380844e-10 -1.703887459e-09 9.222208918e-10 7.281645791e-10 -5.052888652e-11 -2.119013548e-10 + +iw : 2 +-9.427878576e-11 1.881744911e-10 2.187197394e-10 -6.269294983e-11 -5.020728532e-11 -3.750135611e-10 +1.074924682e-10 8.608465297e-11 -3.159619944e-10 1.68693312e-10 1.347380844e-10 -8.772733914e-12 +-3.872368022e-11 4.969105308e-10 -2.653024644e-10 -2.119013548e-10 1.379681951e-11 6.090038588e-11 + +iw : 3 +-7.444027212e-11 1.485781711e-10 1.726957004e-10 -5.020728532e-11 -3.874842073e-11 -2.961016967e-10 +8.608465297e-11 6.643769487e-11 -2.494755832e-10 1.347380844e-10 1.044351427e-10 -7.823065721e-12 +-3.036177213e-11 3.923483814e-10 -2.119013548e-10 -1.642446914e-10 1.230313762e-11 4.774978615e-11 + +ad : 23 7.631582655 +R : 0 0 0 +iw : 5 +-1.585429048e-05 3.049633741e-05 1.209228827e-05 -5.345815632e-06 3.539055072e-05 -1.972959603e-05 +8.681920644e-06 -5.774269131e-05 2.013627693e-05 4.562027749e-06 -3.030622342e-05 4.346522738e-05 +1.335170571e-05 -2.971621693e-05 -6.694590026e-06 4.474573901e-05 -6.419876329e-05 -1.959308466e-05 + +ad : 24 3.731782527 +R : 0 0 1 +iw : 0 +-0.02182834346 0.01472431413 -0.01894692123 -0.009384945339 -0.01322923742 0.0126026897 +0.006214447081 0.008799528547 -0.006613904554 -0.009871092467 -0.01227415253 0.002446705887 +-0.006892255702 0.004473128468 0.006593542025 0.008256831461 -0.001687383465 0.004603784005 + +iw : 1 +0.03796727256 -0.02116113731 0.02223091059 0.0168383499 0.02393809878 -0.01309517658 +-0.009864480805 -0.01425872036 0.00142976457 0.01393817797 0.01646423103 -0.004562654689 +0.01301564937 -0.000829564338 -0.008563756697 -0.01022323848 0.002967611658 -0.008055419031 + +iw : 2 +0.01491360757 -0.007947672629 0.0168383499 -0.00916508369 0.01175697761 -0.009864480805 +0.005899151169 -0.006887639266 0.01149749951 -0.002511588119 0.01301564937 -0.01036110083 +-0.00175365671 -0.007242964704 0.001909605952 -0.008055419031 0.006632712107 0.001333336969 + +iw : 3 +0.02650974567 -0.01477526118 0.02393809878 0.01175697761 0.004660960653 -0.01425872036 +-0.006887639266 -0.002629641907 0.01251905044 0.01301564937 0.006613721258 0.003465743675 +0.004385025484 -0.007924215802 -0.008055419031 -0.004025617364 -0.002168568929 -0.002651285939 + +ad : 48 0 +R : 0 0 0 +iw : 4 +0 0 0 0.548393889 0 0 +0.08221087957 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 2 +ad : 19 7.631582655 +R : 0 0 0 +iw : 4 +1.585429048e-05 -3.049633741e-05 1.209228827e-05 -5.345815632e-06 3.539055072e-05 -1.972959603e-05 +8.681920644e-06 -5.774269131e-05 -2.013627693e-05 -4.562027749e-06 3.030622342e-05 -4.346522738e-05 +-1.335170571e-05 2.971621693e-05 6.694590026e-06 -4.474573901e-05 6.419876329e-05 1.959308466e-05 + +ad : 25 5.291649545 +R : 0 1 0 +iw : 0 +-0.0006212528878 0.000396584521 0.0006178283596 0.0005318729525 0.0001429115623 -0.0004715591947 +-0.0003375220846 -0.000109077643 -0.0004129106259 -0.0004207684521 -0.0001534142184 8.743590934e-05 +-9.732909784e-05 0.000268305054 0.0003357644492 9.751379395e-05 -6.570724558e-05 7.766659018e-05 + +iw : 1 +-0.002351174781 0.001293165971 0.002124326822 0.002078921731 0.0005753513687 -0.001538109613 +-0.001221711874 -0.0004066361847 -0.001215562149 -0.001504842201 -0.0005090208764 0.0003599811763 +-0.0004130624435 0.0007807143728 0.001161527831 0.0003271912641 -0.0002608180773 0.0003097048241 + +iw : 2 +-0.001827523849 0.001063548981 0.002078921731 -0.00103431066 0.0004808810536 -0.001221711874 +0.000620859076 -0.0002825975045 -0.001126824251 0.0009053450199 -0.0004130624435 0.0002615318602 +0.0002094178249 0.000826134357 -0.0006682182599 0.0003097048241 -0.0001636444191 -0.0001545673875 + +iw : 3 +-0.0005438566488 0.0002991257465 0.0005753513687 0.0004808810536 -0.000229918316 -0.0004066361847 +-0.0002825975045 0.0001257801642 -0.0004094862688 -0.0004130624435 0.0001853826674 9.18767869e-06 +0.0001853427925 0.000274672865 0.0003097048241 -0.0001465821053 -6.011293993e-06 -0.0001057344305 + +ad : 26 4.049413304 +R : 0 1 0 +iw : 4 +0.01428133181 -0.008154055683 0.008455965221 0.002718467402 -0.01014688844 -0.005089298708 +-0.001706681347 0.006106996051 0.001727710988 0.000623291416 -0.006896406624 -0.005520792751 +-0.0007479298101 -0.001119371361 -0.0003504252216 0.004551511217 0.003607449416 0.0004204990839 + +ad : 28 5.094192361 +R : 0 1 1 +iw : 0 +-0.0008279175926 0.0005568542785 -0.0008460043084 0.0006891508918 0.000203885935 0.0006142250623 +-0.000458814061 -0.000148027439 -0.000624221249 0.0005620365148 0.0002438054346 0.0001282934285 +-0.0001354500671 0.0003800933256 -0.0004223542268 -0.0001454195742 -8.998289147e-05 0.0001017868179 + +iw : 1 +0.003004370516 -0.001740221772 0.00270321447 -0.002605685336 -0.0007668032738 -0.001857886771 +0.001608230119 0.0005200480349 0.001752157662 -0.001860047339 -0.0007670637638 -0.0004914481519 +0.0005356566206 -0.0009584202952 0.001377086421 0.0004202309693 0.0003332178458 -0.0003892316157 + +iw : 2 +-0.00243404529 0.001395094002 -0.002605685336 -0.001359719606 0.0006279667679 0.001608230119 +0.0008484868612 -0.0003875813613 -0.001401689034 -0.001202740388 0.0005356566206 0.0003342355644 +0.000289858865 0.001005051193 0.0008461272896 -0.0003892316157 -0.0002195263574 -0.0002039155733 + +iw : 3 +-0.0007240493762 0.0004193911777 -0.0007668032738 0.0006279667679 -0.0002937604814 0.0005200480349 +-0.0003875813613 0.0001746696714 -0.0006016173589 0.0005356566206 -0.0002198440844 1.48907966e-05 +0.0002335137202 0.0003554915135 -0.0003892316157 0.0001796915981 -8.417179544e-06 -0.0001441869517 + +ad : 47 0 +R : 0 0 0 +iw : 5 +0 0 0 0.548393889 0 0 +0.08221087957 0 0 0 0 0 +0 0 0 0 0 0 + diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dphialpha_y_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/dphialpha_y_ref.dat new file mode 100644 index 0000000000..c4a36d03b0 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dphialpha_y_ref.dat @@ -0,0 +1,183 @@ +iat : 0 +ad : 20 5.094192361 +R : 0 -1 -1 +iw : 5 +-0.003800936508 0.002115163665 0.002475837874 0.0003825385488 0.001944727432 -0.002026186227 +-0.0003130634469 -0.001092508961 -0.001381326477 -0.000335083815 -0.0007748170589 -0.0002755961781 +-0.0001197159945 0.0005276717663 0.0001066701404 0.0008786917309 0.0002400531349 0.0001357655374 + +ad : 23 5.291649545 +R : 0 -1 0 +iw : 5 +-0.003150952296 0.001559638696 -0.002064838884 0.0003062132711 0.001672363581 0.001831404084 +-0.0002715951543 -0.0008205990824 -0.0007690659782 0.0001673745368 0.0008025852594 -0.0002282529089 +-0.0001190224862 0.0005336589593 -0.0001078337938 -0.0008029343137 0.0002131777185 0.0001190742506 + +ad : 27 3.731782527 +R : 0 0 -1 +iw : 4 +0.02576451409 -0.01449123567 -0.01764704858 -0.01565901183 -0.0006358044361 0.01067709377 +0.009474260637 0.0003305895803 0.00564857122 0.01200413491 0.002458034554 0.006907259845 +0.002181123489 -0.003592766102 -0.00755739492 -0.001456659081 -0.004411999759 -0.001292558452 + +ad : 29 8.027587471 +R : 0 0 0 +iw : 4 +-3.384770034e-10 6.755799381e-10 -7.844360152e-10 2.288402402e-10 1.790717976e-10 1.344984234e-09 +-3.923666293e-10 -3.070338428e-10 -1.131908538e-09 6.140644174e-10 4.805158787e-10 -3.472473585e-11 +-1.40178889e-10 1.780143949e-09 -9.65734341e-10 -7.557022276e-10 5.461163546e-11 2.204578524e-10 + +ad : 49 0 +R : 0 0 0 +iw : 0 +0 0 0 0 0.6352565802 0 +0 -0.1192854802 0 0 0 0 +0 0 0 0 0 0 + +iw : 1 +0 0 0 0 0 0 +0 0 0 0 0.8035776717 0 +0 0 0 0.3531341943 0 0 + +iw : 2 +0 0 0 0 0 0 +0 0 0 0 0 0 +0.8035776717 0 0 0 0 0.3531341943 + +iw : 3 +-0.7203491342 -0.8266768175 0 0 0 0 +0 0 -0.4639457851 0 0 -0.8035776717 +0 -0.2038821222 0 0 -0.3531341943 0 + +iat : 1 +ad : 16 4.049413304 +R : 0 -1 0 +iw : 5 +-0.02886339143 0.01647981463 0.01708999113 -0.01014688844 -0.01276839264 -0.01028576484 +0.006106996051 0.007614224634 -0.003491803087 0.006896406624 0.009902465799 0.001472733706 +-0.005879418832 0.002262313779 -0.004551511217 -0.006596395731 -0.001045101113 0.003916496565 + +ad : 22 8.027587471 +R : 0 0 0 +iw : 0 +9.238757803e-11 -1.844001581e-10 -2.141119299e-10 6.246197845e-11 4.887794134e-11 3.671137894e-10 +-1.070965714e-10 -8.380541481e-11 3.089549495e-10 -1.676092126e-10 -1.311577761e-10 9.477972564e-12 +3.826210986e-11 -4.858911675e-10 2.63597742e-10 2.062704425e-10 -1.490602785e-11 -6.01744141e-11 + +iw : 1 +2.551720379e-10 -5.093075781e-10 -5.912760113e-10 1.726957004e-10 1.351378386e-10 1.01379394e-09 +-2.961016967e-10 -2.317051721e-10 8.52512657e-10 -4.630049999e-10 -3.623098695e-10 2.620759871e-11 +1.0579746e-10 -1.340740711e-09 7.281645791e-10 5.698011186e-10 -4.121671892e-11 -1.663865903e-10 + +iw : 2 +-7.444027212e-11 1.485781711e-10 1.726957004e-10 -4.967632312e-11 -3.942319685e-11 -2.961016967e-10 +8.517448911e-11 6.759438144e-11 -2.494755832e-10 1.336661156e-10 1.0579746e-10 -7.197623739e-12 +-3.051312399e-11 3.923483814e-10 -2.102159553e-10 -1.663865903e-10 1.13197885e-11 4.798774861e-11 + +iw : 3 +-5.825090886e-11 1.16265081e-10 1.351378386e-10 -3.942319685e-11 -3.014501397e-11 -2.317051721e-10 +6.759438144e-11 5.168622268e-11 -1.952198833e-10 1.0579746e-10 8.125091814e-11 -6.334011089e-12 +-2.370299076e-11 3.07020317e-10 -1.663865903e-10 -1.277825175e-10 9.96141804e-12 3.727745976e-11 + +ad : 23 7.631582655 +R : 0 0 0 +iw : 5 +7.81510094e-05 -0.0001503264719 -5.96068639e-05 3.539055072e-05 -0.0001726178855 9.725366439e-05 +-5.774269131e-05 0.0002816005189 -9.925832824e-05 -3.030622342e-05 0.0001478032212 -0.0002049702068 +-8.775562165e-05 0.0001464810016 4.474573901e-05 -0.0002181835957 0.0003025089505 0.0001295427591 + +ad : 24 3.731782527 +R : 0 0 1 +iw : 0 +-0.01717610431 0.01158614513 -0.01490879488 -0.01322923742 -0.002982210317 0.00991669905 +0.008799528547 0.001955618866 -0.005204293889 -0.01227415253 -0.003930602947 -0.006073049077 +-0.003487798981 0.003519777911 0.008256831461 0.002597370343 0.004117986083 0.002304762337 + +iw : 1 +0.02987536983 -0.01665109872 0.01749287296 0.02393809878 0.005252700739 -0.010304223 +-0.01425872036 -0.002963492844 0.001125041185 0.01646423103 0.005969758831 0.01140172789 +0.00661371538 -0.0006527606469 -0.01022323848 -0.003615876106 -0.007222907081 -0.004025613895 + +iw : 2 +0.02650974567 -0.01477526118 0.02393809878 0.01175698189 0.00466095521 -0.01425872036 +-0.00688764145 -0.002629639132 0.01251905044 0.013015654 0.00661371538 0.003465751885 +0.004385023498 -0.007924215802 -0.00805542176 -0.004025613895 -0.002168573773 -0.002651284766 + +iw : 3 +0.002083323287 -0.0007966873394 0.005252700739 0.00466095521 -0.01530114855 -0.002963492844 +-0.002629639132 0.009460325548 0.005438483403 0.00661371538 -0.00978780179 0.007834994237 +-0.00868515227 -0.003407773572 -0.004025613895 0.006390392401 -0.004937845628 0.00567047967 + +ad : 48 0 +R : 0 0 0 +iw : 4 +0 0 0 0 0.548393889 0 +0 0.08221087957 0 0 0 0 +0 0 0 0 0 0 + +iat : 2 +ad : 19 7.631582655 +R : 0 0 0 +iw : 4 +-7.81510094e-05 0.0001503264719 -5.96068639e-05 3.539055072e-05 -0.0001726178855 9.725366439e-05 +-5.774269131e-05 0.0002816005189 9.925832824e-05 3.030622342e-05 -0.0001478032212 0.0002049702068 +8.775562165e-05 -0.0001464810016 -4.474573901e-05 0.0002181835957 -0.0003025089505 -0.0001295427591 + +ad : 25 5.291649545 +R : 0 1 0 +iw : 0 +0.0009690141285 -0.0006185822418 -0.0009636726384 0.0001429115623 0.0004005864541 0.0007355257916 +-0.000109077643 -0.0002373173037 0.0006440472763 -0.0001534142184 -0.0002798336305 0.000103780244 +4.14990109e-05 -0.0004184952588 9.751379395e-05 0.0002461828622 -8.176709497e-05 -3.650864002e-05 + +iw : 1 +0.003667301393 -0.002017046715 -0.003313469836 0.0005753513687 0.001550372009 0.00239910345 +-0.0004066361847 -0.0008481532903 0.001896002287 -0.0005090208764 -0.001037227353 0.0004375821559 +0.0001853828162 -0.001217738014 0.0003271912641 0.0008609517634 -0.0003257475357 -0.0001465821886 + +iw : 2 +-0.0005438566488 0.0002991257465 0.0005753513687 0.0004808808986 -0.0002299184154 -0.0004066361847 +-0.0002825974897 0.0001257801737 -0.0004094862688 -0.0004130622114 0.0001853828162 9.187609849e-06 +0.0001853428241 0.000274672865 0.0003097046942 -0.0001465821886 -6.011255452e-06 -0.0001057344482 + +iw : 3 +-0.001327906926 0.000788755457 0.001550372009 -0.0002299184154 0.001491030643 -0.0008481532903 +0.0001257801737 -0.0008819910167 -0.0007506474215 0.0001853828162 -0.001288226523 -7.758929556e-05 +0.0001910425363 0.000573804608 -0.0001465821886 0.0009611997657 2.717252309e-05 -0.0001425448381 + +ad : 26 4.049413304 +R : 0 1 0 +iw : 4 +0.02886339143 -0.01647981463 0.01708999113 -0.01014688844 -0.01276839264 -0.01028576484 +0.006106996051 0.007614224634 0.003491803087 -0.006896406624 -0.009902465799 -0.001472733706 +0.005879418832 -0.002262313779 0.004551511217 0.006596395731 0.001045101113 -0.003916496565 + +ad : 28 5.094192361 +R : 0 1 1 +iw : 0 +0.001291364371 -0.0008685668493 0.00131957556 0.000203885935 0.0005018499481 -0.0009580523087 +-0.000148027439 -0.0003228278341 0.0009736441013 0.0002438054346 0.0003380633017 0.0001461315074 +5.223372911e-05 -0.0005928597032 -0.0001454195742 -0.0002887637295 -0.0001081578428 -4.461651515e-05 + +iw : 1 +-0.004686139146 0.002714352749 -0.004216403763 -0.0007668032738 -0.001901257261 0.00289788356 +0.0005200480349 0.001130485111 -0.002732970041 -0.0007670637638 -0.001155379963 -0.0005737992606 +-0.0002198445422 0.001494919099 0.0004202309693 0.0009910389131 0.0004107919972 0.0001796920956 + +iw : 2 +-0.0007240493762 0.0004193911777 -0.0007668032738 0.0006279662213 -0.0002937608319 0.0005200480349 +-0.0003875811434 0.0001746698111 -0.0006016173589 0.0005356559066 -0.0002198445422 1.489057596e-05 +0.0002335138215 0.0003554915135 -0.0003892308397 0.0001796920956 -8.416939741e-06 -0.0001441870619 + +iw : 3 +-0.001768893319 0.001009817973 -0.001901257261 -0.0002937608319 0.001951089099 0.001130485111 +0.0001746698111 -0.001208311858 -0.0008490099149 -0.0002198445422 0.001683254428 -8.163452377e-05 +0.0002600774925 0.0006784769446 0.0001796920956 -0.001210814834 3.993056479e-05 -0.0001870814541 + +ad : 47 0 +R : 0 0 0 +iw : 5 +0 0 0 0 0.548393889 0 +0 0.08221087957 0 0 0 0 +0 0 0 0 0 0 + diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/dphialpha_z_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/dphialpha_z_ref.dat new file mode 100644 index 0000000000..daaa1b4bd6 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/dphialpha_z_ref.dat @@ -0,0 +1,183 @@ +iat : 0 +ad : 20 5.094192361 +R : 0 -1 -1 +iw : 5 +-0.01577160613 0.008776660211 0.00773184066 0.001587305472 -0.002475837874 -0.006826640025 +-0.001299025481 0.002026186227 -0.003484388558 -0.001189926041 0.001856015752 0.0001539133015 +0.000335083815 0.0003794016366 0.0002811441835 -0.0004385213997 -4.89965577e-05 -0.0001066701404 + +ad : 23 5.291649545 +R : 0 -1 0 +iw : 5 +0.01362204469 -0.006742554637 0.006776624581 -0.001323806415 0.002064838884 -0.006673211475 +0.001174147046 -0.001831404084 0.001482490054 -0.000565847162 0.0008825937156 -7.687977271e-05 +-0.0001673745368 -0.0006250409679 0.0003221642666 -0.0005025034606 4.953105602e-05 0.0001078337938 + +ad : 27 3.731782527 +R : 0 0 -1 +iw : 4 +-0.03689995147 0.02075435582 0.01358828503 0.02242684549 0.01764704858 -0.008167302291 +-0.01356904138 -0.01067709377 0.004013127696 -0.01099185033 -0.008649175237 -0.0029049027 +-0.01200413491 -0.002631416854 0.006839492298 0.005381802487 0.001828827905 0.00755739492 + +ad : 29 8.027587471 +R : 0 0 0 +iw : 4 +-1.474519116e-09 2.943052329e-09 -3.416269739e-09 9.969046797e-10 7.844360152e-10 5.857493166e-09 +-1.709280364e-09 -1.344984234e-09 -4.926340952e-09 2.674290058e-09 2.10432299e-09 -1.485985785e-10 +-6.140644174e-10 7.747616588e-09 -4.205834811e-09 -3.309452114e-09 2.336998305e-10 9.65734341e-10 + +ad : 49 0 +R : 0 0 0 +iw : 0 +0 0 -0.6352565802 0 0 0.1192854802 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iw : 1 +0.7203491342 0.8266768175 0 0 0 0 +0 0 -0.9278915701 0 0 0 +0 -0.4077642443 0 0 0 0 + +iw : 2 +0 0 0 0 0 0 +0 0 0 -0.8035776717 0 0 +0 0 -0.3531341943 0 0 0 + +iw : 3 +0 0 0 0 0 0 +0 0 0 0 -0.8035776717 0 +0 0 0 -0.3531341943 0 0 + +iat : 1 +ad : 16 4.049413304 +R : 0 -1 0 +iw : 5 +-0.02405346581 0.01373354405 0.006502986614 -0.008455965221 -0.01708999113 -0.003843333676 +0.005089298708 0.01028576484 0.004079895325 0.003351109292 0.006772784253 0.005262878607 +-0.006896406624 -0.002622298169 -0.002247855219 -0.004543044438 -0.003473410477 0.004551511217 + +ad : 22 8.027587471 +R : 0 0 0 +iw : 0 +4.024712123e-10 -8.03308808e-10 -9.324716129e-10 2.721052843e-10 2.141119299e-10 1.598804701e-09 +-4.665485107e-10 -3.671137894e-10 1.344648228e-09 -7.299491147e-10 -5.743762533e-10 4.056006182e-11 +1.676092126e-10 -2.114717644e-09 1.14798534e-09 9.033171011e-10 -6.378850272e-11 -2.63597742e-10 + +iw : 1 +1.111290774e-09 -2.21806741e-09 -2.574293188e-09 7.521010381e-10 5.918069735e-10 4.413848016e-09 +-1.289542105e-09 -1.014704104e-09 3.709253919e-09 -2.015827767e-09 -1.586197691e-09 1.12119108e-10 +4.633177208e-10 -5.833515571e-09 3.170277025e-09 2.494601066e-09 -1.763288678e-10 -7.286562536e-10 + +iw : 2 +-3.242867407e-10 6.47256243e-10 7.521010381e-10 -2.164066903e-10 -1.726957004e-10 -1.289542105e-09 +3.710485827e-10 2.961016967e-10 -1.085779845e-09 5.821243016e-10 4.633177208e-10 -3.076676731e-11 +-1.336661156e-10 1.707597337e-09 -9.155035746e-10 -7.286562536e-10 4.838698758e-11 2.102159553e-10 + +iw : 3 +-2.551720379e-10 5.093075781e-10 5.918069735e-10 -1.726957004e-10 -1.328247896e-10 -1.014704104e-09 +2.961016967e-10 2.277401937e-10 -8.543693615e-10 4.633177208e-10 3.578860857e-10 -2.727956756e-11 +-1.044351427e-10 1.343659908e-09 -7.286562536e-10 -5.628458389e-10 4.290211844e-11 1.642446914e-10 + +ad : 23 7.631582655 +R : 0 0 0 +iw : 5 +-2.670273605e-05 5.136373965e-05 1.853277624e-05 -1.209228827e-05 5.96068639e-05 -3.019756762e-05 +1.972959603e-05 -9.725366439e-05 3.666194569e-05 9.413339541e-06 -4.640144496e-05 7.162059672e-05 +3.030622342e-05 -5.417705043e-05 -1.387399825e-05 6.838949806e-05 -0.0001057445028 -4.474573901e-05 + +ad : 24 3.731782527 +R : 0 0 1 +iw : 0 +0.02459962619 -0.01659368353 0.013924883 0.01894692123 0.01490879488 -0.009234221372 +-0.0126026897 -0.00991669905 -0.002466866119 0.01249671182 0.009833308059 0.00297024476 +0.01227415253 0.001713443937 -0.008365064648 -0.006582232095 -0.001998085841 -0.008256831461 + +iw : 1 +-0.02401107774 0.0130181663 0.002113717949 -0.02223090514 -0.01749286868 -0.001754865565 +0.0130951738 0.01030422082 0.01490031971 -0.00452747969 -0.003562545346 -0.003984208575 +-0.01646422693 -0.009563070381 0.00249484635 0.001963123826 0.002473939709 0.01022323606 + +iw : 2 +-0.03796727256 0.02116113731 -0.02223090514 -0.01683835603 -0.02393809878 0.0130951738 +0.009864483933 0.01425872036 -0.001429754388 -0.01393817938 -0.01646422693 0.00456264881 +-0.013015654 0.00082955833 0.008563757528 0.01022323606 -0.002967608189 0.00805542176 + +iw : 3 +-0.02987536983 0.01665109872 -0.01749286868 -0.02393809878 -0.005252706874 0.01030422082 +0.01425872036 0.002963495972 -0.001125033173 -0.01646422693 -0.005969762227 -0.01140172327 +-0.006613721258 0.0006527559193 0.01022323606 0.00361587811 0.007222904351 0.004025617364 + +ad : 48 0 +R : 0 0 0 +iw : 4 +0 0 -0.548393889 0 0 -0.08221087957 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 2 +ad : 19 7.631582655 +R : 0 0 0 +iw : 4 +2.670273605e-05 -5.136373965e-05 1.853277624e-05 -1.209228827e-05 5.96068639e-05 -3.019756762e-05 +1.972959603e-05 -9.725366439e-05 -3.666194569e-05 -9.413339541e-06 4.640144496e-05 -7.162059672e-05 +-3.030622342e-05 5.417705043e-05 1.387399825e-05 -6.838949806e-05 0.0001057445028 4.474573901e-05 + +ad : 25 5.291649545 +R : 0 1 0 +iw : 0 +-0.00418919505 0.002674224853 0.003542606779 -0.0006178283596 0.0009636726384 -0.002772335776 +0.0004715591947 -0.0007355257916 -0.001885162931 0.0005862472628 -0.0009144132633 7.04674108e-05 +0.0001534142184 0.001119373217 -0.0003625020998 0.0005654213658 -4.47907935e-05 -9.751379395e-05 + +iw : 1 +-0.01367809974 0.007464674847 0.009429052384 -0.002124326723 0.003313469681 -0.00740686038 +0.001538109604 -0.002399103435 -0.003635646693 0.00156005126 -0.002433327461 0.0002338074081 +0.000509020842 0.001887079219 -0.0009448366106 0.00147373162 -0.0001502880248 -0.0003271912448 + +iw : 2 +0.002351174781 -0.001293165971 -0.002124326723 -0.002078921061 -0.0005753513687 0.001538109604 +0.00122171181 0.0004066361847 0.001215561891 0.001504841219 0.000509020842 -0.0003599810275 +0.0004130622114 -0.0007807142285 -0.001161527281 -0.0003271912448 0.000260817994 -0.0003097046942 + +iw : 3 +-0.003667301393 0.002017046715 0.003313469681 -0.0005753513687 -0.001550371339 -0.002399103435 +0.0004066361847 0.0008481532264 -0.001896001885 0.000509020842 0.001037226403 -0.0004375819238 +-0.0001853826674 0.001217737789 -0.0003271912448 -0.0008609512317 0.0003257474058 0.0001465821053 + +ad : 26 4.049413304 +R : 0 1 0 +iw : 4 +0.02405346581 -0.01373354405 0.006502986614 -0.008455965221 -0.01708999113 -0.003843333676 +0.005089298708 0.01028576484 -0.004079895325 -0.003351109292 -0.006772784253 -0.005262878607 +0.006896406624 0.002622298169 0.002247855219 0.004543044438 0.003473410477 -0.004551511217 + +ad : 28 5.094192361 +R : 0 1 1 +iw : 0 +0.00535838738 -0.003604031325 0.004655580955 0.0008460043084 -0.00131957556 -0.003421625104 +-0.0006142250623 0.0009580523087 0.002795829379 0.0009006557608 -0.001404819477 -0.0001119866065 +-0.0002438054346 -0.001566991961 -0.000523741545 0.0008169184671 6.679524869e-05 0.0001454195742 + +iw : 1 +-0.01654641925 0.00959896198 -0.01130095176 -0.002703214119 0.004216403216 0.008141193107 +0.001857886631 -0.002897883342 -0.005479306646 -0.002323532942 0.003624186372 0.0003523336373 +0.0007670636535 0.002118224946 0.001147122207 -0.001789251443 -0.0001930236989 -0.0004202308494 + +iw : 2 +-0.003004370516 0.001740221772 -0.002703214119 0.002605683068 0.0007668032738 0.001857886631 +-0.001608229215 -0.0005200480349 -0.00175215687 0.001860044447 0.0007670636535 0.0004914476941 +-0.0005356559066 0.0009584194335 -0.001377083278 -0.0004202308494 -0.0003332173482 0.0003892308397 + +iw : 3 +0.004686139146 -0.002714352749 0.004216403216 0.0007668032738 0.001901254993 -0.002897883342 +-0.0005200480349 -0.001130484207 0.002732968805 0.0007670636535 0.001155377173 0.0005737985466 +0.0002198440844 -0.001494917755 -0.0004202308494 -0.0009910358802 -0.0004107912211 -0.0001796915981 + +ad : 47 0 +R : 0 0 0 +iw : 5 +0 0 -0.548393889 0 0 -0.08221087957 +0 0 0 0 0 0 +0 0 0 0 0 0 + diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/gdmepsl_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/gdmepsl_ref.dat new file mode 100644 index 0000000000..efe4ca8fcd --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/gdmepsl_ref.dat @@ -0,0 +1,540 @@ +0.01811297538 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00213915435 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.03051567017 -0.04194414141 -0.03374556319 0 0 +-0.01123897374 -0.01536247211 -0.01233758812 0 0 +-0.02135607988 -0.02929025185 -0.02355853551 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.005020521812 0.006377213665 0.00511394412 0 0 +0.001811595254 0.002305914795 0.001857367569 0 0 +0.00349281856 0.004451919226 0.003572562303 0 0 +0 0 0 0 0 +0 0 0 0 0 +8.574046565e-05 0.0003410988638 0.0002670758908 5.737560822e-05 0.0002374155362 +9.111638896e-05 0.0003899960219 0.0003122022605 6.633157313e-05 0.0002740041407 +0.0001331126161 0.000568926917 0.0004490712564 9.626876266e-05 0.0003977414157 +-4.201570086e-05 -0.0001719635577 -0.00013508979 -2.899569783e-05 -0.0001199070914 +6.635559576e-05 0.0002739521386 0.0002153699079 4.622204124e-05 0.0001911087476 +3.503570003e-05 0.0001391947311 0.0001094969449 2.345149076e-05 9.703791463e-05 +3.628380434e-05 0.0001541481433 0.0001254485334 2.63676132e-05 0.0001089160087 +5.412455146e-05 0.0002301796745 0.0001816182337 3.893564394e-05 0.0001608816888 +-1.801296259e-05 -7.200741674e-05 -5.66036324e-05 -1.213195878e-05 -5.019373283e-05 +2.71005676e-05 0.0001088895628 8.559923621e-05 1.83502933e-05 7.591286496e-05 +-0.09745098376 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.005651757386 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01012243635 0.008472426559 0.005098546306 0 0 +0.002562659031 0.004352121427 0.001331039806 0 0 +0.005161884196 0.005916184556 0.005319026817 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003873208242 0.003254305055 0.001976132899 0 0 +0.0009837257425 0.001653597444 0.0005172359518 0 0 +0.001998026144 0.002272019401 0.002034988371 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001418795121 0.002517816097 0.001675860481 0.0004893173473 0.00109431188 +0.0002026327312 0.002924416134 0.00125752763 0.001347910354 0.001744227446 +0.0007720199239 0.003518569948 0.003034918263 0.0005478165022 0.002400757556 +-0.0003441880328 -0.0005801069729 -0.001092714904 0.0005436930876 -0.0008846094301 +-0.0002176051601 0.001772074236 0.0009909481293 0.0007192942161 0.00138197559 +0.0005848221103 0.001048009082 0.0006987433386 0.0002036338895 0.0004600619528 +7.974801238e-05 0.001202258467 0.0005189127326 0.0005539729024 0.0007192886256 +0.0003185827927 0.001463298576 0.001263264963 0.0002289422646 0.0009979462822 +-0.0001445029955 -0.0002523609898 -0.0004578712287 0.0002206791643 -0.0003743590585 +-9.035538293e-05 0.000729497638 0.0004073792502 0.0002958972434 0.0005703989357 +0.001175847459 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003822339303 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003669664726 -0.0001816827172 -0.0003711371267 0 0 +9.074324185e-05 -9.238506698e-05 -0.0001209607845 0 0 +-0.0002695689135 0.0002120194782 0.0004079889218 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001424662015 -6.596945283e-05 -0.0001358158926 0 0 +3.236680269e-05 -3.543275119e-05 -4.615513373e-05 0 0 +-9.814846025e-05 7.764437316e-05 0.0001499927976 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.937957904e-05 -1.190359166e-05 -4.132276246e-05 -1.755161808e-05 2.414386983e-05 +-7.373141539e-06 -2.065622785e-05 -1.896128231e-05 -1.460982744e-05 2.019058976e-05 +2.008966277e-05 6.058755286e-05 0.000133969196 6.532836428e-05 -9.669025341e-05 +1.289583688e-05 5.420517461e-05 0.0001032797153 5.27613418e-05 -7.763985374e-05 +1.166771375e-05 1.155983324e-05 2.058158147e-05 9.301927603e-06 -1.547580006e-05 +7.108417281e-06 -5.849995109e-06 -1.786117481e-05 -7.69498471e-06 1.066474895e-05 +-2.596403261e-06 -9.843244823e-06 -6.357521737e-06 -6.217966544e-06 8.475034297e-06 +1.045314663e-05 2.604894571e-05 5.671712417e-05 2.784355085e-05 -4.148547335e-05 +5.858515021e-06 2.291998608e-05 4.280653721e-05 2.213841573e-05 -3.270782179e-05 +6.260778391e-06 4.521267294e-06 8.019012236e-06 3.525656066e-06 -6.077053675e-06 +0.01407771093 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001633462841 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.02415451076 -0.03301877145 -0.02655405827 0 0 +-0.02135607988 -0.02929025185 -0.02355853551 0 0 +-0.0009000193356 -0.001186663072 -0.0009372453747 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003907783066 0.005019069394 0.0040270267 0 0 +0.00349281856 0.004451919226 0.003572562303 0 0 +0.0001210974351 0.0001517464351 0.0001278810588 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.422166723e-05 0.0002671297492 0.0002123510181 4.556159599e-05 0.0001877477292 +0.0001331126161 0.000568926917 0.0004490712564 9.626876266e-05 0.0003977414157 +2.705140191e-05 0.000114889444 9.447071828e-05 1.972678539e-05 8.147612711e-05 +7.503642821e-05 0.0003275954915 0.0002580617842 5.544054113e-05 0.0002289684074 +2.337979273e-05 0.000103454773 8.147959314e-05 1.751625465e-05 7.232365493e-05 +2.209674676e-05 0.0001095096839 8.625428033e-05 1.862036227e-05 7.672922574e-05 +5.412455146e-05 0.0002301796745 0.0001816182337 3.893564394e-05 0.0001608816888 +1.009125535e-05 4.283206361e-05 3.741185307e-05 7.522868918e-06 3.105067376e-05 +3.004707812e-05 0.0001344628726 0.0001059151485 2.277748137e-05 9.402718341e-05 +8.383972472e-06 3.93825087e-05 3.105047433e-05 6.685817935e-06 2.75752464e-05 +-0.07487328142 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004855435328 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.008196729995 0.005095848667 0.004698462244 0 0 +0.005161884108 0.005916184038 0.005319027315 0 0 +-0.001225389411 -0.0003247139433 0.002106917076 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003132159964 0.001974761874 0.001816719866 0 0 +0.001998026116 0.002272019238 0.002034988527 0 0 +-0.0004590368226 -0.000128103189 0.0007812249269 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001108388427 0.001683372846 0.001514010568 -4.995372335e-05 0.0009637069523 +0.0007720199099 0.003518569589 0.0030349186 0.0005478159577 0.002400757645 +-0.0002343352146 0.0002062927622 0.001288990296 -0.0005619663605 0.000648055573 +0.0003103357167 0.002202100486 0.001373192259 0.0007078169299 0.001400103818 +-0.000329423875 -9.782449391e-06 0.0006703424241 -0.0005995910175 0.0008651838174 +0.0004569084859 0.0007017380828 0.0006303342021 -1.947216929e-05 0.0004047133149 +0.0003185827874 0.00146329844 0.001263265092 0.0002289420577 0.0009979463162 +-0.0001005320276 8.044957148e-05 0.0005298111924 -0.0002296882732 0.0002602675887 +0.0001303150738 0.00092189131 0.0005800440861 0.0002936042951 0.000586796402 +-0.0001372372413 -1.124501504e-05 0.0002692183711 -0.0002495604238 0.0003544627116 +0.001924053685 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0006664753625 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003874543736 -0.0004247271231 -0.0007642301534 0 0 +-0.0002695688968 0.0002120194743 0.0004079889103 0 0 +-0.0003553016684 0.0002614453575 0.0005188722773 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001306319303 -0.0001584672877 -0.00028315107 0 0 +-9.814845602e-05 7.764437213e-05 0.0001499927946 0 0 +-0.0001307373272 9.555444399e-05 0.0001890590975 0 0 +0 0 0 0 0 +0 0 0 0 0 +-5.554562654e-05 -5.392421765e-05 -8.72783902e-05 -4.143631288e-05 6.929596125e-05 +2.00896647e-05 6.058755287e-05 0.0001339691869 6.532836044e-05 -9.669024793e-05 +2.526408424e-05 9.347798502e-05 0.0001887748223 9.587970137e-05 -0.0001432684671 +-3.921926692e-06 1.171680747e-05 2.418517206e-05 1.289465619e-05 -1.786591152e-05 +-2.457564908e-05 -5.997057534e-05 -0.0001063268348 -5.578177551e-05 8.284452436e-05 +-2.379569883e-05 -2.135912768e-05 -3.60671466e-05 -1.675264883e-05 2.860698838e-05 +1.045314767e-05 2.604894561e-05 5.671711769e-05 2.784354831e-05 -4.148546959e-05 +1.244563149e-05 3.858122282e-05 8.081611e-05 4.068979654e-05 -6.123851828e-05 +-2.40348628e-06 5.452923642e-06 1.088581052e-05 5.880489977e-06 -8.187515559e-06 +-1.259067059e-05 -2.605354495e-05 -4.506975549e-05 -2.389911688e-05 3.576071094e-05 +-0.02042846348 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002420060264 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01839578169 0.02542818227 0.02052450105 0 0 +0.03051567017 0.04194414141 0.03374556319 0 0 +0.02415451076 0.03301877145 0.02655405827 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.00300335657 -0.00386488975 -0.003056683548 0 0 +-0.005020521812 -0.006377213665 -0.00511394412 0 0 +-0.003907783066 -0.005019069394 -0.0040270267 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.522696524e-05 0.0001847929571 0.0001587293496 3.249619351e-05 0.0001336733559 +-0.0001298709346 -0.0005222917779 -0.0004089788155 -8.789802536e-05 -0.0003636323347 +-8.523385007e-05 -0.0004090389449 -0.0003251108761 -6.969649925e-05 -0.0002873289461 +-3.203249352e-05 -0.0001375532889 -0.0001088657711 -2.330239387e-05 -9.626400681e-05 +-0.0001331126161 -0.000568926917 -0.0004490712564 -9.626876266e-05 -0.0003977414157 +1.964042349e-05 7.928176638e-05 6.458201189e-05 1.353716898e-05 5.597364601e-05 +-5.105462242e-05 -0.0002084674383 -0.0001641011137 -3.517303267e-05 -0.000145456112 +-3.532617756e-05 -0.0001641030265 -0.0001290808836 -2.782422543e-05 -0.000114784599 +-1.309627449e-05 -5.565803986e-05 -4.401834018e-05 -9.422372139e-06 -3.893266745e-05 +-5.412455146e-05 -0.0002301796745 -0.0001816182337 -3.893564394e-05 -0.0001608816888 +0.1267846477 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.005164226709 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.007420733334 -0.004611917247 -0.00371300959 0 0 +-0.010122437 -0.008472426094 -0.005098546432 0 0 +-0.00819673061 -0.005095848885 -0.004698461783 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002819925173 -0.001761924706 -0.001416718312 0 0 +-0.003873208447 -0.003254304908 -0.001976132937 0 0 +-0.003132160156 -0.001974761941 -0.00181671972 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0006491506396 0.000940110882 0.0007737851145 0.0003554989683 0.001099058068 +-0.001783813957 -0.003771096229 -0.002480303122 -0.0007916246004 -0.0018759779 +-0.001391844684 -0.002485661131 -0.002240099282 7.504525079e-05 -0.001651060997 +-0.0002184840722 -0.001359061544 1.573114315e-05 -0.0009549380829 -0.0005480859377 +-0.000772020357 -0.003518569946 -0.003034918499 -0.0005478162532 -0.002400757415 +-0.0002604393052 0.0004060672031 0.0003334253342 0.0001495332534 0.0004637280356 +-0.0007312016108 -0.001551599065 -0.001021606145 -0.0003238229921 -0.0007769542292 +-0.000570718442 -0.001023052372 -0.0009191060978 3.143389548e-05 -0.0006845864887 +-9.01400577e-05 -0.0005609043936 5.449157787e-06 -0.0003918304834 -0.0002295105188 +-0.0003185829572 -0.001463298575 -0.001263265053 -0.0002289421699 -0.0009979462283 +0.001622477917 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0006107646611 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001716681341 -0.0002739458359 -0.0002481917349 0 0 +-0.0003669664271 0.0001816827089 0.0003711370904 0 0 +-0.0003874543274 0.0004247271047 0.00076423012 0 0 +0 0 0 0 0 +0 0 0 0 0 +6.301048437e-05 -0.000111751434 -8.443958382e-05 0 0 +-0.0001424661907 6.596945111e-05 0.0001358158842 0 0 +-0.0001306319192 0.0001584672834 0.0002831510626 0 0 +0 0 0 0 0 +0 0 0 0 0 +-2.046873775e-05 -3.057542601e-06 7.91928079e-05 2.596438837e-05 -4.006709289e-05 +-2.188661285e-05 2.638302798e-05 7.46202187e-05 3.3420721e-05 -4.702307115e-05 +8.061822235e-05 9.355644762e-05 0.0001547741803 7.536252085e-05 -0.0001224142206 +1.631861436e-05 5.706710552e-05 0.0001038680485 5.524476246e-05 -8.172952544e-05 +-2.008966283e-05 -6.058755488e-05 -0.0001339691888 -6.532836199e-05 9.669025061e-05 +3.431305705e-07 4.933122215e-06 3.504122115e-05 1.31173605e-05 -2.04606816e-05 +-5.57999013e-06 1.326605046e-05 3.319966223e-05 1.508880052e-05 -2.152476983e-05 +3.255110555e-05 3.792674252e-05 6.533691818e-05 3.137126761e-05 -5.165920761e-05 +7.521018393e-06 2.421223317e-05 4.358681312e-05 2.345388026e-05 -3.485677422e-05 +-1.045314619e-05 -2.604894696e-05 -5.671711916e-05 -2.784354933e-05 4.148547146e-05 +0.01135011786 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00136296651 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01878408264 -0.0259595164 -0.02089364979 0 0 +-0.01678851209 -0.0230487204 -0.0185462027 0 0 +-0.0006303548894 -0.0009399236731 -0.0007831436324 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003141562095 0.003947771043 0.003164059521 0 0 +0.00274823446 0.003505722934 0.002808855362 0 0 +9.711047548e-05 0.0001279362742 9.298498383e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +6.332481324e-05 0.0002121797187 0.0001636668317 3.520482369e-05 0.0001462793755 +0.0001066825333 0.0004489938594 0.0003512646883 7.568487588e-05 0.0003128221151 +2.216543711e-05 9.444546725e-05 6.800200969e-05 1.547543784e-05 6.40047739e-05 +6.381513967e-05 0.0002579935828 0.0002026454435 4.347651267e-05 0.0001798356616 +2.064186606e-05 8.14531314e-05 6.400431017e-05 1.371363999e-05 5.675332545e-05 +2.592215566e-05 8.619923446e-05 6.772405302e-05 1.439127559e-05 5.979450014e-05 +4.2604464e-05 0.0001815922227 0.000142173756 3.063450326e-05 0.0001265866352 +8.743802456e-06 3.739420173e-05 2.365121001e-05 5.876339792e-06 2.433460893e-05 +2.729131401e-05 0.0001058820229 8.317777585e-05 1.781125438e-05 7.37379844e-05 +8.648534631e-06 3.103574033e-05 2.433518288e-05 5.198051626e-06 2.155792905e-05 +-0.05542814982 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004983102735 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.007365113157 0.003445370771 0.002575551893 0 0 +0.003518273495 0.004990384954 0.004851283711 0 0 +-0.001649380564 0.0001642004141 0.002493264965 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002801044333 0.001346021536 0.00101671587 0 0 +0.001372436687 0.001911202319 0.00184637327 0 0 +-0.0006115152557 5.108864925e-05 0.0009178423922 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.000877296407 0.001267261115 0.001073976979 -9.227520684e-05 0.0008296441197 +0.0005973799584 0.002881012157 0.002618853763 0.0005359833418 0.001746849205 +-0.0001989331912 0.0003244021226 0.001346478367 -0.0002917997865 0.0003068464234 +0.0002420769239 0.001755979578 0.001128913741 0.0005796384992 0.001070134678 +-0.0002505805625 -0.0001039274891 0.0003302303744 -0.0005610959676 0.0008013698751 +0.0003616961869 0.0005280080917 0.0004466969086 -3.735638247e-05 0.0003479473223 +0.0002463972503 0.001199207523 0.00109218295 0.0002248397671 0.0007246426032 +-8.538064605e-05 0.000133255485 0.0005599988362 -0.0001162657919 0.000118021771 +0.0001016215271 0.0007356517689 0.0004780796074 0.0002416019344 0.0004467113078 +-0.000104262511 -5.038118031e-05 0.0001268739067 -0.0002346496137 0.0003304380625 +0.004188362949 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001394067959 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0009909534916 -0.0006676688477 -0.00123903677 0 0 +-0.0005267122744 0.0004590495543 0.0008070314259 0 0 +-0.0006375389135 0.0005859588673 0.001006976057 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003764701532 -0.0002429470631 -0.0004506036183 0 0 +-0.0001914100641 0.0001698927816 0.0002958063822 0 0 +-0.0002254324076 0.0002137367974 0.0003656377261 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.404039231e-05 -4.324486787e-05 -9.555506257e-05 -5.510104269e-05 7.020880182e-05 +5.280043293e-05 0.0001570307013 0.0002486607791 0.0001346117616 -0.0002013247314 +8.14006454e-05 0.0002153652068 0.0003626238063 0.0001900207927 -0.0002821645097 +2.408729943e-05 3.544407286e-05 6.002777499e-05 3.042436713e-05 -4.733512373e-05 +-3.339456539e-05 -0.0001208977782 -0.0002242781049 -0.0001146077524 0.000170990943 +1.688704732e-05 -2.018403804e-05 -3.90801585e-05 -2.363965083e-05 3.001822839e-05 +2.441369524e-05 6.701192574e-05 0.0001033495473 5.676666657e-05 -8.544561529e-05 +3.958281653e-05 9.581908604e-05 0.0001519311144 8.169111274e-05 -0.0001221046412 +1.311579477e-05 1.621778641e-05 2.707229939e-05 1.389032991e-05 -2.16978124e-05 +-1.538877837e-05 -5.19829389e-05 -9.475076495e-05 -4.890784559e-05 7.343122249e-05 +-0.01584018661 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001826301959 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01478086073 0.01998326678 0.01596684637 0 0 +0.02415451076 0.03301877145 0.02655405827 0 0 +0.01878408264 0.0259595164 0.02089364979 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002381026645 -0.002979836619 -0.002457331471 0 0 +-0.003907783066 -0.005019069394 -0.0040270267 0 0 +-0.003141562095 -0.003947771043 -0.003164059521 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.013091106e-05 0.0001585365391 0.0001040189356 2.481512828e-05 0.0001034827912 +-8.523385007e-05 -0.0004090389449 -0.0003251108761 -6.969649925e-05 -0.0002873289461 +-9.351859836e-05 -0.0003248834243 -0.0002506778784 -5.401234186e-05 -0.0002242239849 +-2.609655252e-05 -0.0001088437398 -8.470029388e-05 -1.830554723e-05 -7.567882824e-05 +-0.0001066825333 -0.0004489938594 -0.0003512646883 -7.568487588e-05 -0.0003128221151 +1.35948727e-05 6.457754972e-05 4.740700708e-05 1.069765339e-05 4.414481494e-05 +-3.532617756e-05 -0.0001641030265 -0.0001290808836 -2.782422543e-05 -0.000114784599 +-3.53577922e-05 -0.0001290252082 -0.0001016412554 -2.166392771e-05 -8.980709534e-05 +-1.031215584e-05 -4.401178494e-05 -3.429849737e-05 -7.412888037e-06 -3.063197905e-05 +-4.2604464e-05 -0.0001815922227 -0.000142173756 -3.063450326e-05 -0.0001265866352 +0.1026386788 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003098164344 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.005490621691 -0.003843377203 -0.00334794045 0 0 +-0.008418205035 -0.00638782643 -0.00345746269 0 0 +-0.007365113641 -0.003445370942 -0.00257555153 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002092970845 -0.001463704133 -0.001268559036 0 0 +-0.003214425023 -0.002458252624 -0.001351182918 0 0 +-0.002801044484 -0.001346021589 -0.001016715756 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0005167845943 0.0008064276646 0.0007456332308 0.0003417293517 0.0007809973225 +-0.001408545513 -0.002912680396 -0.001839439404 -0.0005719558623 -0.0015451257 +-0.001105119338 -0.001845626268 -0.001536119495 0.0001621154093 -0.001438962154 +-0.0001796459087 -0.0009832954465 0.0001889065832 -0.0006714732406 -0.0005392515295 +-0.0005973803102 -0.002881012438 -0.002618853683 -0.0005359835744 -0.001746849025 +-0.0002074195814 0.0003472498786 0.0003191544563 0.0001433269755 0.000330275131 +-0.0005774867303 -0.00119722266 -0.0007552886746 -0.0002327734994 -0.0006411622695 +-0.0004533554476 -0.0007573794983 -0.0006253169716 6.936831815e-05 -0.00059927165 +-7.42307295e-05 -0.0004045485181 7.961416306e-05 -0.0002743634353 -0.0002263224918 +-0.0002463973839 -0.001199207629 -0.001092182919 -0.0002248398554 -0.0007246425341 +0.003443543961 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001074659153 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003392389548 -7.883997106e-05 -0.0005379288441 0 0 +-0.0002169216402 0.0003747536599 0.0006239744127 0 0 +-0.0009909535638 0.0006676688764 0.001239036822 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001184907391 -8.821603494e-06 -0.0002016930941 0 0 +-6.484282829e-05 0.0001396016639 0.0002296409967 0 0 +-0.0003764701704 0.0002429470698 0.00045060363 0 0 +0 0 0 0 0 +0 0 0 0 0 +8.170035198e-05 0.0001535744458 0.0001471982852 9.941129329e-05 -0.0001458286585 +7.502118447e-05 8.107337285e-05 0.0001059746041 6.27923591e-05 -9.776645577e-05 +-4.311839875e-05 0.0001010981501 0.0002080086619 0.0001147237085 -0.0001548890065 +3.875217545e-05 0.0001029397982 0.0001872041333 9.430427694e-05 -0.0001412489338 +-5.280043585e-05 -0.0001570306982 -0.0002486607761 -0.0001346117592 0.0002013247273 +2.291937689e-05 5.43204843e-05 5.585363512e-05 3.725149096e-05 -5.459764903e-05 +2.88109132e-05 3.246849649e-05 4.294697869e-05 2.594196456e-05 -4.058371553e-05 +-1.012846364e-05 4.828555004e-05 8.954841836e-05 5.108237053e-05 -6.929681662e-05 +1.933407016e-05 4.437670793e-05 7.839148326e-05 3.985366264e-05 -6.022293728e-05 +-2.441369756e-05 -6.701192363e-05 -0.000103349545 -5.676666499e-05 8.544561236e-05 +0.02613468812 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003606597771 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01891276899 -0.02844259824 -0.0230099405 0 0 +-0.03428427445 -0.0472902396 -0.03813345838 0 0 +-0.02738583718 -0.03717808647 -0.02976367695 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004053121691 0.004300110839 0.003432263629 0 0 +0.005630493595 0.007218866248 0.005737657852 0 0 +0.004446681885 0.005606345877 0.004578131002 0 0 +0 0 0 0 0 +0 0 0 0 0 +8.380316318e-05 -0.0001981740099 -0.0001965892892 -4.047674327e-05 -0.0001593162825 +0.0001573312647 0.0006005807731 0.0004419971312 9.866030202e-05 0.0004089030657 +7.89408525e-05 0.0004422838066 0.00039587354 7.916438279e-05 0.0003252041207 +3.031224383e-05 0.0001546622673 0.0001233326989 2.644087004e-05 0.0001088905154 +0.0001374134134 0.0006403849328 0.0005074898614 0.0001088828397 0.0004491196424 +1.532661906e-06 -9.193112863e-05 -6.901742056e-05 -1.596484582e-05 -6.466108434e-05 +5.419573578e-05 0.0002386903742 0.0001790946732 3.972144529e-05 0.0001641060653 +4.502182271e-05 0.0001790781954 0.0001545784203 3.122740479e-05 0.0001290717692 +1.253173666e-05 6.283274942e-05 4.946345727e-05 1.06860243e-05 4.402586885e-05 +5.614723919e-05 0.0002596389879 0.0002043640054 4.402558597e-05 0.0001816343144 +-0.1363064452 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.008021591432 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.009156460096 0.004708633904 0.003212833193 0 0 +0.0103755859 0.01018361549 0.007009134735 0 0 +0.007151445696 0.007026908977 0.007847661989 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003464523881 0.001809082899 0.00124571117 0 0 +0.00398541354 0.003901171321 0.002691568882 0 0 +0.002762521733 0.002697429372 0.002985778048 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0007179498685 -0.0009079808783 -0.0005609609167 -0.0002592767115 -0.001430127483 +0.001999098105 0.004374332793 0.003050741573 0.001008219142 0.001956888308 +0.00154593785 0.003052914829 0.003041111419 0.0001500107999 0.001543037963 +0.000228661417 0.001726966709 0.0003834747956 0.001258533703 0.0003705266968 +0.0008930582945 0.003709040516 0.002894219973 0.0003784890349 0.00302903912 +0.0002878716277 -0.0003948389127 -0.0002468487933 -0.0001099017678 -0.0006020249237 +0.0008192019478 0.001802444463 0.001261856635 0.0004151637547 0.0008075737811 +0.0006334002773 0.001261904254 0.001259362978 6.604028907e-05 0.0006342048885 +9.412730104e-05 0.0007152331064 0.000164556121 0.0005192348884 0.0001533849659 +0.0003688207313 0.001539935024 0.001199696275 0.0001563416637 0.001262238958 +0.007822272009 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002265799783 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003133553065 0.0002950629998 0.0002412195726 0 0 +-3.321352131e-05 0.000455305531 0.0003200792566 0 0 +-0.0003926388299 0.000225975259 0.0009875310932 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001445574139 0.0001492047451 0.0001475826982 0 0 +-5.601699644e-06 0.000179456135 0.0001075302882 0 0 +-0.0001348741273 6.178714383e-05 0.0003663459458 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0009447607967 0.0002505014412 0.000267142084 0.000134922619 -0.000229907052 +0.0001282922378 0.0002353809325 -6.832182936e-05 3.05663184e-05 -5.905637756e-05 +-2.299330828e-05 -0.0001250602437 0.0001866011964 -2.029292883e-06 -3.995121798e-06 +2.788090432e-06 6.292384751e-05 0.0001018366528 6.719797454e-05 -8.6123764e-05 +-8.347763155e-05 -0.0001425844231 -0.0002129234467 -0.0001141257085 0.0001834716734 +0.0003480772336 6.598533399e-05 9.182887172e-05 4.124691687e-05 -7.172774661e-05 +4.411586509e-05 9.54974737e-05 -4.152530593e-05 7.166680055e-06 -1.707791092e-05 +2.00633614e-05 -3.820373848e-05 8.995424467e-05 4.545972019e-06 -1.146853464e-05 +3.372304975e-06 2.805656307e-05 4.115942637e-05 2.885090292e-05 -3.669659888e-05 +-3.338056423e-05 -5.851602192e-05 -8.764667447e-05 -4.726597692e-05 7.690894254e-05 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/gdmx_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/gdmx_ref.dat new file mode 100644 index 0000000000..613bb0a142 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/gdmx_ref.dat @@ -0,0 +1,810 @@ +0.008314698841 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0009927198453 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01384675614 -0.01212648241 -0.01255177486 0 0 +-0.01212648241 -0.006994716793 -0.00947030939 0 0 +-0.01255177486 -0.00947030939 -0.01072732655 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.00230253167 0.001864436737 0.001959594103 0 0 +0.001864436737 0.001046264419 0.001438200332 0 0 +0.001959594103 0.001438200332 0.001628088987 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.394153167e-05 9.817687903e-05 9.0376303e-05 2.731816935e-06 6.985104836e-05 +9.817687903e-05 0.0001756969132 0.0002019503233 -2.407689658e-05 0.0001248732993 +9.0376303e-05 0.0002019503233 0.000205318328 -8.755519395e-06 0.0001395892702 +2.731816935e-06 -2.407689658e-05 -8.755519395e-06 -1.316415773e-05 -1.675901636e-05 +6.985104836e-05 0.0001248732993 0.0001395892702 -1.675901636e-05 8.692940179e-05 +1.797759915e-05 3.981639638e-05 3.724320962e-05 7.31885729e-07 2.886222266e-05 +3.981639638e-05 6.869031756e-05 8.209731141e-05 -1.039514472e-05 4.963675414e-05 +3.724320962e-05 8.209731141e-05 8.299589669e-05 -4.002673508e-06 5.610532706e-05 +7.31885729e-07 -1.039514472e-05 -4.002673508e-06 -5.496770798e-06 -7.239755391e-06 +2.886222266e-05 4.963675414e-05 5.610532706e-05 -7.239755391e-06 3.448689574e-05 +-0.04501976847 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002362478674 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.004443397632 0.002537757055 0.002539400783 0 0 +0.002537757055 0.002015416953 0.001621627689 0 0 +0.002539400783 0.001621627689 0.002177162776 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001702689416 0.0009737964873 0.0009796220172 0 0 +0.0009737964873 0.0007658776145 0.0006251452269 0 0 +0.0009796220172 0.0006251452269 0.0008366295117 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0006453029034 0.0006245935291 0.0005700273791 3.939201759e-05 0.0001933025744 +0.0006245935291 0.0013357759 0.001070809797 0.0001600026016 0.0007961918174 +0.0005700273791 0.001070809797 0.001297129648 -0.0001775485946 0.0007940206078 +3.939201759e-05 0.0001600026016 -0.0001775485946 0.0002166522875 -1.875371589e-05 +0.0001933025744 0.0007961918174 0.0007940206078 -1.875371589e-05 0.0006351591676 +0.0002659862973 0.0002589525677 0.0002369449179 1.611913406e-05 8.15321048e-05 +0.0002589525677 0.0005489709075 0.0004439876967 6.232571464e-05 0.0003282768468 +0.0002369449179 0.0004439876967 0.0005391110199 -7.474044566e-05 0.0003295248039 +1.611913406e-05 6.232571464e-05 -7.474044566e-05 8.745152417e-05 -9.781135427e-06 +8.15321048e-05 0.0003282768468 0.0003295248039 -9.781135427e-06 0.0002618740459 +0.0002425835115 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +6.080685817e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001936511593 1.453224713e-05 -2.662162579e-05 0 0 +1.453224713e-05 -4.40040543e-05 -1.42034306e-05 0 0 +-2.662162579e-05 -1.42034306e-05 6.473995637e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +8.232527201e-05 4.782141301e-06 -9.570322574e-06 0 0 +4.782141301e-06 -1.681331399e-05 -5.568874401e-06 0 0 +-9.570322574e-06 -5.568874401e-06 2.70565433e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.338943295e-05 2.93709308e-07 -8.400758072e-06 -4.572337441e-06 5.700343079e-06 +2.93709308e-07 -1.890792647e-05 -1.127778917e-05 -7.049430349e-06 1.007288346e-05 +-8.400758072e-06 -1.127778917e-05 8.158606881e-06 1.685299937e-07 5.531250241e-06 +-4.572337441e-06 -7.049430349e-06 1.685299937e-07 -1.502240678e-07 2.129646414e-06 +5.700343079e-06 1.007288346e-05 5.531250241e-06 2.129646414e-06 -6.357290315e-06 +1.308875588e-05 -1.178884454e-07 -3.702896352e-06 -2.623446096e-06 3.674953346e-06 +-1.178884454e-07 -9.949652233e-06 -4.126199685e-06 -3.284033381e-06 4.619039392e-06 +-3.702896352e-06 -4.126199685e-06 4.163494256e-06 1.433613598e-07 2.324514976e-06 +-2.623446096e-06 -3.284033381e-06 1.433613598e-07 -5.39548727e-08 9.690834921e-07 +3.674953346e-06 4.619039392e-06 2.324514976e-06 9.690834921e-07 -2.911569353e-06 +-0.00821621666 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0009646876275 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01392705958 0.01210440393 0.01254745275 0 0 +0.01210440393 0.006998736947 0.009485700104 0 0 +0.01254745275 0.009485700104 0.01073220311 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002278471895 -0.001865194534 -0.001960394837 0 0 +-0.001865194534 -0.001052431549 -0.001436197439 0 0 +-0.001960394837 -0.001436197439 -0.001626797909 0 0 +0 0 0 0 0 +0 0 0 0 0 +-3.648249472e-05 -9.8568376e-05 -9.154106833e-05 -3.901103094e-06 -6.882914229e-05 +-9.8568376e-05 -0.0001786569376 -0.0001999964269 2.404624393e-05 -0.0001247500051 +-9.154106833e-05 -0.0001999964269 -0.0002041375341 8.886212408e-06 -0.0001396529798 +-3.901103094e-06 2.404624393e-05 8.886212408e-06 1.322962329e-05 1.679280515e-05 +-6.882914229e-05 -0.0001247500051 -0.0001396529798 1.679280515e-05 -8.710864477e-05 +-1.489609523e-05 -4.004129706e-05 -3.727407899e-05 -1.505068382e-06 -2.796083325e-05 +-4.004129706e-05 -7.101219118e-05 -8.040972504e-05 1.039353058e-05 -4.95858782e-05 +-3.727407899e-05 -8.040972504e-05 -8.25811436e-05 4.034816437e-06 -5.614906093e-05 +-1.505068382e-06 1.039353058e-05 4.034816437e-06 5.541229379e-06 7.258561011e-06 +-2.796083325e-05 -4.95858782e-05 -5.614906093e-05 7.258561011e-06 -3.462446751e-05 +0.04405467329 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002685676698 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.004698540716 -0.002500207139 -0.002230135044 0 0 +-0.002500207139 -0.001964911825 -0.001665677775 0 0 +-0.002230135044 -0.001665677775 -0.002551880432 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001796523384 -0.0009606427571 -0.0008658783709 0 0 +-0.0009606427571 -0.000746511357 -0.0006405336175 0 0 +-0.0008658783709 -0.0006405336175 -0.0009743817977 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0006467292738 -0.0006169121796 -0.0005508877005 -2.971755304e-05 -0.0002030077013 +-0.0006169121796 -0.001330049311 -0.001096608546 -0.0001826753478 -0.0008032366701 +-0.0005508877005 -0.001096608546 -0.001427178019 9.598349212e-05 -0.0007610790731 +-2.971755304e-05 -0.0001826753478 9.598349212e-05 -0.0002639424214 4.758697153e-05 +-0.0002030077013 -0.0008032366701 -0.0007610790731 4.758697153e-05 -0.0006264732357 +-0.0002665821416 -0.0002557248491 -0.0002289225758 -1.20714921e-05 -8.559949021e-05 +-0.0002557248491 -0.0005468924166 -0.0004553475235 -7.203661687e-05 -0.0003308285395 +-0.0002289225758 -0.0004553475235 -0.0005944799586 4.024853327e-05 -0.0003150687507 +-1.20714921e-05 -7.203661687e-05 4.024853327e-05 -0.0001073866231 2.212274296e-05 +-8.559949021e-05 -0.0003308285395 -0.0003150687507 2.212274296e-05 -0.00025872026 +-0.0006896759509 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0002336868163 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0001532077247 3.924625737e-05 0.0002086564436 0 0 +3.924625737e-05 4.10678663e-05 -3.911475153e-05 0 0 +0.0002086564436 -3.911475153e-05 -0.000280163146 0 0 +0 0 0 0 0 +0 0 0 0 0 +-5.572167525e-05 1.419267061e-05 7.627375108e-05 0 0 +1.419267061e-05 1.578440077e-05 -1.387199095e-05 0 0 +7.627375108e-05 -1.387199095e-05 -0.0001028277846 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.091153765e-06 6.853509291e-06 2.9606498e-06 -7.86783654e-07 -9.447200249e-06 +6.853509291e-06 4.412514072e-06 -2.039732958e-05 -1.746769777e-05 -5.736191531e-06 +2.9606498e-06 -2.039732958e-05 -8.882285792e-05 -5.850592683e-05 2.935831729e-05 +-7.86783654e-07 -1.746769777e-05 -5.850592683e-05 -3.675017808e-05 2.486880671e-05 +-9.447200249e-06 -5.736191531e-06 2.935831729e-05 2.486880671e-05 7.412749875e-06 +1.943225265e-06 2.873284709e-06 6.269457995e-07 -7.415564422e-07 -3.949156743e-06 +2.873284709e-06 1.608553531e-06 -9.013267536e-06 -7.531466087e-06 -2.087145963e-06 +6.269457995e-07 -9.013267536e-06 -3.72308592e-05 -2.447687068e-05 1.285278779e-05 +-7.415564422e-07 -7.531466087e-06 -2.447687068e-05 -1.541543057e-05 1.065104202e-05 +-3.949156743e-06 -2.087145963e-06 1.285278779e-05 1.065104202e-05 2.692487407e-06 +-9.848218044e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-2.803221774e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-8.030344164e-05 2.207848107e-05 4.322108801e-06 0 0 +2.207848107e-05 -4.020154013e-06 -1.539071311e-05 0 0 +4.322108801e-06 -1.539071311e-05 -4.876563134e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +-2.40597752e-05 7.577967039e-07 8.007336154e-07 0 0 +7.577967039e-07 6.167130004e-06 -2.002893771e-06 0 0 +8.007336154e-07 -2.002893771e-06 -1.291078219e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +-7.459036948e-06 3.914969679e-07 1.164765334e-06 1.169286159e-06 -1.021906067e-06 +3.914969679e-07 2.960024389e-06 -1.953896345e-06 3.065265394e-08 -1.232942006e-07 +1.164765334e-06 -1.953896345e-06 -1.1807939e-06 -1.306930139e-07 6.370960503e-08 +1.169286159e-06 3.065265394e-08 -1.306930139e-07 -6.546555225e-08 -3.378879096e-08 +-1.021906067e-06 -1.232942006e-07 6.370960503e-08 -3.378879096e-08 1.792429755e-07 +-3.081503914e-06 2.249006792e-07 3.086937165e-08 7.731826532e-07 -9.013894127e-07 +2.249006792e-07 2.321873627e-06 -1.687586367e-06 1.614139009e-09 -5.087594078e-08 +3.086937165e-08 -1.687586367e-06 -4.147530927e-07 -3.214292917e-08 4.373387297e-08 +7.731826532e-07 1.614139009e-09 -3.214292917e-08 -4.445858099e-08 -1.880562005e-08 +-9.013894127e-07 -5.087594078e-08 4.373387297e-08 -1.880562005e-08 1.375717629e-07 +0.0009650951828 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.000323198024 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0002551430846 -3.754991585e-05 -0.0003092657393 0 0 +-3.754991585e-05 -5.050512805e-05 4.405008681e-05 0 0 +-0.0003092657393 4.405008681e-05 0.0003747176561 0 0 +0 0 0 0 0 +0 0 0 0 0 +9.38339679e-05 -1.315373022e-05 -0.0001137436463 0 0 +-1.315373022e-05 -1.936625746e-05 1.538839057e-05 0 0 +-0.0001137436463 1.538839057e-05 0.000137752286 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.426370378e-06 -7.681349523e-06 -1.91396786e-05 -9.674464556e-06 9.705126852e-06 +-7.681349523e-06 -5.72658897e-06 2.579874887e-05 2.267274625e-05 7.044852746e-06 +-1.91396786e-05 2.579874887e-05 0.0001300483706 8.156510248e-05 -3.29415347e-05 +-9.674464556e-06 2.267274625e-05 8.156510248e-05 4.729013389e-05 -2.883325563e-05 +9.705126852e-06 7.044852746e-06 -3.29415347e-05 -2.883325563e-05 -8.685931815e-06 +5.95844361e-07 -3.227718567e-06 -8.022342096e-06 -4.047641959e-06 4.06738541e-06 +-3.227718567e-06 -2.07849085e-06 1.135982675e-05 9.710902225e-06 2.551692692e-06 +-8.022342096e-06 1.135982675e-05 5.53689387e-05 3.44919124e-05 -1.445605324e-05 +-4.047641959e-06 9.710902225e-06 3.44919124e-05 1.993509897e-05 -1.234160753e-05 +4.06738541e-06 2.551692692e-06 -1.445605324e-05 -1.234160753e-05 -3.153785902e-06 +0.0004470924394 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001728799582 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-4.044343461e-05 -5.37785045e-05 -0.0001820348178 0 0 +-5.37785045e-05 2.936188002e-06 5.331818213e-05 0 0 +-0.0001820348178 5.331818213e-05 0.0002736891503 0 0 +0 0 0 0 0 +0 0 0 0 0 +-2.660359676e-05 -1.897481191e-05 -6.670342851e-05 0 0 +-1.897481191e-05 1.028913225e-06 1.944086535e-05 0 0 +-6.670342851e-05 1.944086535e-05 0.0001001221303 0 0 +0 0 0 0 0 +0 0 0 0 0 +-3.748058671e-05 -7.147218599e-06 5.440108272e-06 5.359121095e-06 3.74685717e-06 +-7.147218599e-06 1.44954124e-05 3.167511875e-05 2.451712812e-05 -4.336691926e-06 +5.440108272e-06 3.167511875e-05 8.066425104e-05 5.833739684e-05 -3.488956753e-05 +5.359121095e-06 2.451712812e-05 5.833739684e-05 3.690040214e-05 -2.699845312e-05 +3.74685717e-06 -4.336691926e-06 -3.488956753e-05 -2.699845312e-05 -1.055459561e-06 +-1.503198114e-05 -2.755396263e-06 3.075950553e-06 3.365002539e-06 2.742033965e-07 +-2.755396263e-06 8.341098702e-06 1.313946722e-05 1.081549947e-05 -2.531893429e-06 +3.075950553e-06 1.313946722e-05 3.306736494e-05 2.433350932e-05 -1.517730276e-05 +3.365002539e-06 1.081549947e-05 2.433350932e-05 1.546938545e-05 -1.162012552e-05 +2.742033965e-07 -2.531893429e-06 -1.517730276e-05 -1.162012552e-05 2.190819458e-07 +0.006311497887 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0007153614051 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.01108406337 -0.01239043364 -0.006266984969 0 0 +-0.01239043364 -0.01334083584 -0.005632777017 0 0 +-0.006266984969 -0.005632777017 -0.0004100516556 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001755337092 0.001938836262 0.0009452307058 0 0 +0.001938836262 0.002026803314 0.0008470292217 0 0 +0.0009452307058 0.0008470292217 6.106765524e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.707262805e-05 9.042799855e-05 5.499185465e-05 2.67040598e-05 4.793658443e-05 +9.042799855e-05 0.0002586491056 0.0001280783796 9.650357729e-05 0.0001141620654 +5.499185465e-05 0.0001280783796 4.536756303e-05 6.334949225e-05 3.715170012e-05 +2.67040598e-05 9.650357729e-05 6.334949225e-05 2.530689582e-05 5.620910865e-05 +4.793658443e-05 0.0001141620654 3.715170012e-05 5.620910865e-05 3.299983797e-05 +6.914864992e-06 3.725811801e-05 2.182079394e-05 1.045850654e-05 1.911259268e-05 +3.725811801e-05 0.0001046694342 5.057152804e-05 3.947639162e-05 4.56011004e-05 +2.182079394e-05 5.057152804e-05 1.917624754e-05 2.587277322e-05 1.417915964e-05 +1.045850654e-05 3.947639162e-05 2.587277322e-05 1.041598852e-05 2.299415488e-05 +1.911259268e-05 4.56011004e-05 1.417915964e-05 2.299415488e-05 1.261182769e-05 +-0.03537882375 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001783824862 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003395505585 0.002540472594 0.001123963548 0 0 +0.002540472594 0.002571194855 0.0009368302478 0 0 +0.001123963548 0.0009368302478 0.0006504546194 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001302327707 0.0009799097023 0.0004311880561 0 0 +0.0009799097023 0.0009894655702 0.0003607578898 0 0 +0.0004311880561 0.0003607578898 0.0002430842126 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.000502965588 0.0005715529946 0.0003156673649 6.950423271e-05 0.0001295672668 +0.0005715529946 0.0015611332 0.0006657696294 0.0006024546434 0.0005884104143 +0.0003156673649 0.0006657696294 0.000464808232 0.0001478169896 0.0003742375508 +6.950423271e-05 0.0006024546434 0.0001478169896 0.0003141552762 0.0002043632976 +0.0001295672668 0.0005884104143 0.0003742375508 0.0002043632976 0.0003493391781 +0.0002073286966 0.0002375407818 0.000130802639 2.952918175e-05 5.466849143e-05 +0.0002375407818 0.0006488247719 0.0002750913357 0.0002517973151 0.0002434513232 +0.000130802639 0.0002750913357 0.0001888007227 6.364126865e-05 0.0001523747979 +2.952918175e-05 0.0002517973151 6.364126865e-05 0.0001299743508 8.64124226e-05 +5.466849143e-05 0.0002434513232 0.0001523747979 8.64124226e-05 0.000142217929 +-9.952539996e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-1.688667661e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-7.668841022e-05 -3.854855093e-05 -7.119271761e-05 0 0 +-3.854855093e-05 -1.126894011e-05 -7.395310476e-06 0 0 +-7.119271761e-05 -7.395310476e-06 1.53796666e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-4.146675019e-05 -1.556643559e-05 -2.955509789e-05 0 0 +-1.556643559e-05 -4.781295381e-06 -2.463571097e-06 0 0 +-2.955509789e-05 -2.463571097e-06 6.086734714e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +-5.768286647e-05 -1.438057692e-05 -2.051173677e-05 -1.118622368e-05 9.884848649e-06 +-1.438057692e-05 -1.276135378e-05 -8.010279608e-07 -2.643203804e-06 1.03434226e-06 +-2.051173677e-05 -8.010279608e-07 6.961047591e-06 -1.362346342e-06 3.732583854e-07 +-1.118622368e-05 -2.643203804e-06 -1.362346342e-06 -1.586519576e-06 2.420956666e-06 +9.884848649e-06 1.03434226e-06 3.732583854e-07 2.420956666e-06 -1.31361141e-06 +-2.397445754e-05 -4.845500122e-06 -8.905641594e-06 -5.184687795e-06 3.27829012e-06 +-4.845500122e-06 -5.300898093e-06 -1.212908484e-06 -1.044149585e-06 1.72964913e-07 +-8.905641594e-06 -1.212908484e-06 4.203892196e-06 -8.480193392e-07 3.677964308e-07 +-5.184687795e-06 -1.044149585e-06 -8.480193392e-07 -6.961305195e-07 1.075335378e-06 +3.27829012e-06 1.72964913e-07 3.677964308e-07 1.075335378e-06 -4.238025227e-07 +-0.006465107836 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0007590853307 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.01095880814 0.01237973377 0.006244788121 0 0 +0.01237973377 0.0133414283 0.005636953242 0 0 +0.006244788121 0.005636953242 0.0004357607399 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001792864905 -0.001938341337 -0.0009444222329 0 0 +-0.001938341337 -0.002028286651 -0.0008487859096 0 0 +-0.0009444222329 -0.0008487859096 -5.676458679e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-2.870704027e-05 -9.153259661e-05 -5.427475914e-05 -2.786551157e-05 -4.815930775e-05 +-9.153259661e-05 -0.0002593932628 -0.0001286261828 -9.654629263e-05 -0.0001141333958 +-5.427475914e-05 -0.0001286261828 -4.180035597e-05 -6.321910355e-05 -3.70908371e-05 +-2.786551157e-05 -9.654629263e-05 -6.321910355e-05 -2.522350568e-05 -5.609577712e-05 +-4.815930775e-05 -0.0001141333958 -3.70908371e-05 -5.609577712e-05 -3.291192537e-05 +-1.172131481e-05 -3.727066517e-05 -2.200558959e-05 -1.141236856e-05 -1.952647638e-05 +-3.727066517e-05 -0.0001049343234 -5.140341735e-05 -3.949727116e-05 -4.561240828e-05 +-2.200558959e-05 -5.140341735e-05 -1.591720084e-05 -2.581447463e-05 -1.412401541e-05 +-1.141236856e-05 -3.949727116e-05 -2.581447463e-05 -1.035308425e-05 -2.29062553e-05 +-1.952647638e-05 -4.561240828e-05 -1.412401541e-05 -2.29062553e-05 -1.253284502e-05 +0.03343281963 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002436537071 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003911224742 -0.002228633828 -0.0006158268116 0 0 +-0.002228633828 -0.002759692048 -0.001242907434 0 0 +-0.0006158268116 -0.001242907434 -0.001122291129 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001492030908 -0.0008652505997 -0.0002450436874 0 0 +-0.0008652505997 -0.001058745396 -0.0004729438578 0 0 +-0.0002450436874 -0.0004729438578 -0.0004151347168 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0005058449742 -0.0005526960114 -0.0002786910155 -5.393298183e-05 -0.0001522815068 +-0.0005526960114 -0.001624485356 -0.0007762312152 -0.0006387963852 -0.0005214437391 +-0.0002786910155 -0.0007762312152 -0.0006514385798 -0.0002041743646 -0.0002613437044 +-5.393298183e-05 -0.0006387963852 -0.0002041743646 -0.0003267344836 -0.0001707116093 +-0.0001522815068 -0.0005214437391 -0.0002613437044 -0.0001707116093 -0.0004176060611 +-0.0002085273857 -0.0002296499191 -0.0001153226491 -2.298958541e-05 -6.420096417e-05 +-0.0002296499191 -0.0006758085212 -0.0003222863123 -0.0002675075056 -0.0002148579024 +-0.0001153226491 -0.0003222863123 -0.0002689421127 -8.828416589e-05 -0.0001038671803 +-2.298958541e-05 -0.0002675075056 -8.828416589e-05 -0.0001357081135 -7.17485972e-05 +-6.420096417e-05 -0.0002148579024 -0.0001038671803 -7.17485972e-05 -0.0001715677226 +-0.001389635609 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0004721074249 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0003096289568 0.0002210071951 0.000351616099 0 0 +0.0002210071951 -0.0001532884641 -0.0002365307934 0 0 +0.000351616099 -0.0002365307934 -0.0003525475453 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0001126030982 8.099197422e-05 0.0001282901146 0 0 +8.099197422e-05 -5.648049273e-05 -8.662808711e-05 0 0 +0.0001282901146 -8.662808711e-05 -0.0001282021391 0 0 +0 0 0 0 0 +0 0 0 0 0 +8.26885105e-06 4.194895248e-06 1.076330492e-05 9.879624642e-06 -1.034237272e-05 +4.194895248e-06 -4.882234585e-05 -7.946357299e-05 -2.816483972e-05 5.498665861e-05 +1.076330492e-05 -7.946357299e-05 -0.0001275447241 -4.244136871e-05 8.693549624e-05 +9.879624642e-06 -2.816483972e-05 -4.244136871e-05 -9.79669193e-06 2.686726172e-05 +-1.034237272e-05 5.498665861e-05 8.693549624e-05 2.686726172e-05 -5.8271019e-05 +3.929895837e-06 1.241614973e-06 3.525133778e-06 3.930312098e-06 -3.841808394e-06 +1.241614973e-06 -2.08929569e-05 -3.37559256e-05 -1.212032284e-05 2.356207998e-05 +3.525133778e-06 -3.37559256e-05 -5.395933814e-05 -1.836952321e-05 3.7137615e-05 +3.930312098e-06 -1.212032284e-05 -1.836952321e-05 -4.453287795e-06 1.171628199e-05 +-3.841808394e-06 2.356207998e-05 3.7137615e-05 1.171628199e-05 -2.507796799e-05 +0.0001536099487 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.37239256e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001252552238 1.069986316e-05 2.21968482e-05 0 0 +1.069986316e-05 -5.924601743e-07 -4.176225163e-06 0 0 +2.21968482e-05 -4.176225163e-06 -2.57090843e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.752781283e-05 -4.94925778e-07 -8.084728788e-07 0 0 +-4.94925778e-07 1.483337065e-06 1.756687987e-06 0 0 +-8.084728788e-07 1.756687987e-06 -4.303068448e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.163441222e-05 1.104598065e-06 -7.170955073e-07 1.161451771e-06 2.227233228e-07 +1.104598065e-06 7.441572261e-07 5.478031656e-07 4.271533828e-08 -2.866966576e-08 +-7.170955073e-07 5.478031656e-07 -3.567207058e-06 -1.303886997e-07 -6.086302519e-08 +1.161451771e-06 4.271533828e-08 -1.303886997e-07 -8.339014665e-08 -1.1333153e-07 +2.227233228e-07 -2.866966576e-08 -6.086302519e-08 -1.1333153e-07 -8.791260891e-08 +4.806449819e-06 1.254715685e-08 1.84795649e-07 9.538620135e-07 4.138836929e-07 +1.254715685e-08 2.648891928e-07 8.318893047e-07 2.08795342e-08 1.130787713e-08 +1.84795649e-07 8.318893047e-07 -3.259046701e-06 -5.829859129e-08 -5.514422931e-08 +9.538620135e-07 2.08795342e-08 -5.829859129e-08 -6.290426956e-08 -8.789957646e-08 +4.138836929e-07 1.130787713e-08 -5.514422931e-08 -8.789957646e-08 -7.898266457e-08 +0.001946004123 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0006527122098 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0005157191571 -0.0003118387658 -0.0005081367364 0 0 +-0.0003118387658 0.0001884971925 0.0003060771858 0 0 +-0.0005081367364 0.0003060771858 0.0004718365101 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001897032012 -0.0001146591027 -0.0001861443687 0 0 +-0.0001146591027 6.927982607e-05 0.000112185968 0 0 +-0.0001861443687 0.000112185968 0.0001720505042 0 0 +0 0 0 0 0 +0 0 0 0 0 +2.879386195e-06 -1.88569832e-05 -3.69763494e-05 -1.557125088e-05 2.271424005e-05 +-1.88569832e-05 6.33521557e-05 0.0001104615858 3.634174175e-05 -6.696667518e-05 +-3.69763494e-05 0.0001104615858 0.0001866303479 5.635737502e-05 -0.0001128938463 +-1.557125088e-05 3.634174175e-05 5.635737502e-05 1.257920732e-05 -3.365168838e-05 +2.271424005e-05 -6.696667518e-05 -0.0001128938463 -3.365168838e-05 6.826688302e-05 +1.198689038e-06 -7.890862667e-06 -1.547998988e-05 -6.539596343e-06 9.53247274e-06 +-7.890862667e-06 2.698374938e-05 4.719497669e-05 1.571019043e-05 -2.859342075e-05 +-1.547998988e-05 4.719497669e-05 8.014139003e-05 2.464289724e-05 -4.850761758e-05 +-6.539596343e-06 1.571019043e-05 2.464289724e-05 5.733762718e-06 -1.466382539e-05 +9.53247274e-06 -2.859342075e-05 -4.850761758e-05 -1.466382539e-05 2.934979358e-05 +0.001489161009 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0004889941015 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003863173671 -0.0001824586442 -0.0002804233814 0 0 +-0.0001824586442 0.0001645574043 0.0002439261039 0 0 +-0.0002804233814 0.0002439261039 0.0003371678787 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001540698483 -6.542553862e-05 -9.873501672e-05 0 0 +-6.542553862e-05 6.126178811e-05 8.909165821e-05 0 0 +-9.873501672e-05 8.909165821e-05 0.0001221154043 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.941401542e-05 1.018568168e-05 9.748431855e-06 1.30659904e-06 4.575240666e-07 +1.018568168e-05 6.158369964e-05 8.026460095e-05 3.080804352e-05 -5.602100087e-05 +9.748431855e-06 8.026460095e-05 0.0001205836765 4.380371505e-05 -8.730875463e-05 +1.30659904e-06 3.080804352e-05 4.380371505e-05 1.138321151e-05 -2.928821838e-05 +4.575240666e-07 -5.602100087e-05 -8.730875463e-05 -2.928821838e-05 5.958463041e-05 +2.00445617e-05 3.603885149e-06 5.380507815e-06 1.254375696e-06 5.635182743e-07 +3.603885149e-06 2.6193855e-05 3.496883408e-05 1.316447243e-05 -2.37350449e-05 +5.380507815e-06 3.496883408e-05 4.975544595e-05 1.921754255e-05 -3.750541143e-05 +1.254375696e-06 1.316447243e-05 1.921754255e-05 5.149418314e-06 -1.279161737e-05 +5.635182743e-07 -2.37350449e-05 -3.750541143e-05 -1.279161737e-05 2.550177051e-05 +-0.009391330091 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001131074386 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.008266137736 0.01271913176 0.01025014086 0 0 +0.01271913176 0.01909965129 0.01520897016 0 0 +0.01025014086 0.01520897016 0.01209529698 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001361420799 -0.002042780547 -0.001564186418 0 0 +-0.002042780547 -0.002904338343 -0.002307448382 0 0 +-0.001564186418 -0.002307448382 -0.001835976082 0 0 +0 0 0 0 0 +0 0 0 0 0 +7.774089599e-06 6.956309065e-06 2.54719153e-05 4.093914829e-07 7.995648537e-07 +6.956309065e-06 -0.0002386103429 -0.0001851306714 -5.113449156e-05 -0.000211917927 +2.54719153e-05 -0.0001851306714 -0.000149980538 -4.09969261e-05 -0.0001684404655 +4.093914829e-07 -5.113449156e-05 -4.09969261e-05 -1.062509016e-05 -4.387262966e-05 +7.995648537e-07 -0.000211917927 -0.0001684404655 -4.387262966e-05 -0.000181219729 +9.632190616e-06 5.129378576e-06 8.687297867e-06 9.329278819e-08 4.05366334e-07 +5.129378576e-06 -9.492913648e-05 -7.477316291e-05 -2.061892653e-05 -8.540037387e-05 +8.687297867e-06 -7.477316291e-05 -5.87679369e-05 -1.646644401e-05 -6.773397193e-05 +9.329278819e-08 -2.061892653e-05 -1.646644401e-05 -4.292217508e-06 -1.773494802e-05 +4.05366334e-07 -8.540037387e-05 -6.773397193e-05 -1.773494802e-05 -7.328137856e-05 +0.05668307659 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.002708951006 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.003508603673 -0.003232426053 -0.002464651222 0 0 +-0.003232426053 -0.003962023243 -0.002528057504 0 0 +-0.002464651222 -0.002528057504 -0.002553667844 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.001330862862 -0.001238307285 -0.0009453850377 0 0 +-0.001238307285 -0.001520147885 -0.0009756515641 0 0 +-0.0009453850377 -0.0009756515641 -0.0009795304548 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.000293471327 -0.0002035122975 -0.0001641258037 2.117518323e-05 8.81315112e-05 +-0.0002035122975 -0.001737838162 -0.001172048219 -0.0005150322999 -0.001195065172 +-0.0001641258037 -0.001172048219 -0.001104031627 -3.083265089e-05 -0.0009988478685 +2.117518323e-05 -0.0005150322999 -3.083265089e-05 -0.0004645048519 -0.0002102092943 +8.81315112e-05 -0.001195065172 -0.0009988478685 -0.0002102092943 -0.001145917615 +-0.0001177132101 -7.87413365e-05 -6.369267564e-05 9.381821102e-06 3.86965565e-05 +-7.87413365e-05 -0.0007154538015 -0.0004834374269 -0.0002122919512 -0.000495846786 +-6.369267564e-05 -0.0004834374269 -0.0004548610026 -1.364852779e-05 -0.0004143418787 +9.381821102e-06 -0.0002122919512 -1.364852779e-05 -0.0001910547772 -8.764500807e-05 +3.86965565e-05 -0.000495846786 -0.0004143418787 -8.764500807e-05 -0.0004768416762 +-6.447232959e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.878248059e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +2.835937459e-06 -0.0001844420289 4.50465508e-05 0 0 +-0.0001844420289 -2.792426888e-06 5.846984486e-05 0 0 +4.50465508e-05 5.846984486e-05 0.0001127552492 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.257693969e-06 -8.121023296e-05 2.645974569e-05 0 0 +-8.121023296e-05 -2.3170253e-06 2.254933592e-05 0 0 +2.645974569e-05 2.254933592e-05 4.489569784e-05 0 0 +0 0 0 0 0 +0 0 0 0 0 +-4.541965308e-05 -5.148534222e-05 4.039296778e-05 -9.728436042e-06 1.421765542e-05 +-5.148534222e-05 -1.024210734e-05 2.45092877e-05 3.163301254e-06 6.884499854e-06 +4.039296778e-05 2.45092877e-05 3.868115899e-05 1.112760189e-05 -2.115148947e-05 +-9.728436042e-06 3.163301254e-06 1.112760189e-05 6.394247506e-06 -3.941457696e-06 +1.421765542e-05 6.884499854e-06 -2.115148947e-05 -3.941457696e-06 -2.180195724e-06 +-8.205039148e-06 -1.558208983e-05 1.677140869e-05 -2.751035438e-06 3.049088823e-06 +-1.558208983e-05 -2.08800699e-06 9.691493508e-06 1.67930088e-06 2.111629851e-06 +1.677140869e-05 9.691493508e-06 1.568671242e-05 4.067346763e-06 -8.559587858e-06 +-2.751035438e-06 1.67930088e-06 4.067346763e-06 2.770237035e-06 -1.800231141e-06 +3.049088823e-06 2.111629851e-06 -8.559587858e-06 -1.800231141e-06 -5.919673142e-07 +0.009259331014 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001087162432 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.008438318007 -0.01275211773 -0.01013589967 0 0 +-0.01275211773 -0.01910760098 -0.0152029482 0 0 +-0.01013589967 -0.0152029482 -0.01209474201 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001371428384 0.002013479946 0.001597624439 0 0 +0.002013479946 0.00290491324 0.002307847331 0 0 +0.001597624439 0.002307847331 0.001833332876 0 0 +0 0 0 0 0 +0 0 0 0 0 +-2.039542637e-05 -1.542788881e-05 -1.21445042e-05 5.416908082e-08 2.256521297e-07 +-1.542788881e-05 0.0002375191499 0.0001869100539 5.145520722e-05 0.0002126270476 +-1.21445042e-05 0.0001869100539 0.000147084427 4.049207124e-05 0.0001673243593 +5.416908082e-08 5.145520722e-05 4.049207124e-05 1.060794459e-05 4.383465298e-05 +2.256521297e-07 0.0002126270476 0.0001673243593 4.383465298e-05 0.0001811356369 +-8.584935538e-06 -7.111751918e-06 -5.598003342e-06 -1.041532966e-07 -4.293992495e-07 +-7.111751918e-06 9.496625547e-05 7.473136645e-05 2.072131268e-05 8.562554494e-05 +-5.598003342e-06 7.473136645e-05 5.880801637e-05 1.630638056e-05 6.738196303e-05 +-1.041532966e-07 2.072131268e-05 1.630638056e-05 4.29148015e-06 1.773329145e-05 +-4.293992495e-07 8.562554494e-05 6.738196303e-05 1.773329145e-05 7.327766042e-05 +-0.05830854712 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.002164601731 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.003312394728 0.003420422886 0.002842615502 0 0 +0.003420422886 0.003804892066 0.002213152383 0 0 +0.002842615502 0.002213152383 0.00192254615 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.001260008003 0.001307047011 0.001083610932 0 0 +0.001307047011 0.001462366857 0.0008598818296 0 0 +0.001083610932 0.0008598818296 0.0007475198871 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0002968375829 0.0001861686349 0.0001284679411 -3.647852752e-05 -6.730037156e-05 +0.0001861686349 0.001707065595 0.001109345936 0.000476530857 0.001246181561 +0.0001284679411 0.001109345936 0.0009763053644 -4.776255487e-05 0.001103138151 +-3.647852752e-05 0.000476530857 -4.776255487e-05 0.0004194189514 0.0002702905043 +-6.730037156e-05 0.001246181561 0.001103138151 0.0002702905043 0.001065939615 +0.000119105742 7.157756924e-05 4.89656562e-05 -1.57060434e-05 -3.008879941e-05 +7.157756924e-05 0.0007021382506 0.000456301095 0.000195807838 0.0005177473556 +4.89656562e-05 0.000456301095 0.000399586387 -1.999582712e-05 0.000458998648 +-1.57060434e-05 0.000195807838 -1.999582712e-05 0.0001718547035 0.0001132254831 +-3.008879941e-05 0.0005177473556 0.000458998648 0.0001132254831 0.0004428228913 +-0.001161593129 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0003935891918 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +-0.0001178244598 0.0001257246563 0.0002445908877 0 0 +0.0001257246563 -0.0001277451362 -0.0002458267685 0 0 +0.0002445908877 -0.0002458267685 -0.0004718673819 0 0 +0 0 0 0 0 +0 0 0 0 0 +-4.208138065e-05 4.563413611e-05 8.865763609e-05 0 0 +4.563413611e-05 -4.706992312e-05 -9.040957156e-05 0 0 +8.865763609e-05 -9.040957156e-05 -0.0001731886517 0 0 +0 0 0 0 0 +0 0 0 0 0 +-9.661273957e-06 -1.840942658e-05 -3.429329681e-05 -1.981069589e-05 2.838321284e-05 +-1.840942658e-05 -2.372391757e-05 -4.555431824e-05 -2.978257226e-05 4.10175774e-05 +-3.429329681e-05 -4.555431824e-05 -8.723021208e-05 -5.643367516e-05 7.797385186e-05 +-1.981069589e-05 -2.978257226e-05 -5.643367516e-05 -3.503427721e-05 4.903249999e-05 +2.838321284e-05 4.10175774e-05 7.797385186e-05 4.903249999e-05 -6.835010137e-05 +-4.553815618e-06 -7.970385095e-06 -1.466894853e-05 -8.619104079e-06 1.2346778e-05 +-7.970385095e-06 -1.031857565e-05 -1.962069215e-05 -1.277466294e-05 1.764336751e-05 +-1.466894853e-05 -1.962069215e-05 -3.716147199e-05 -2.391021556e-05 3.31610693e-05 +-8.619104079e-06 -1.277466294e-05 -2.391021556e-05 -1.484438463e-05 2.084276633e-05 +1.2346778e-05 1.764336751e-05 3.31610693e-05 2.084276633e-05 -2.914534154e-05 +0.0001319990764 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +4.391195452e-05 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001721802709 3.298596823e-05 -0.0001142411948 0 0 +3.298596823e-05 7.949684072e-06 -6.02195651e-06 0 0 +-0.0001142411948 -6.02195651e-06 -5.549642448e-07 0 0 +0 0 0 0 0 +0 0 0 0 0 +-1.000758465e-05 2.930060163e-05 -3.343802062e-05 0 0 +2.930060163e-05 -5.748977026e-07 -3.989488795e-07 0 0 +-3.343802062e-05 -3.989488795e-07 2.643205997e-06 0 0 +0 0 0 0 0 +0 0 0 0 0 +1.262133677e-05 8.471579746e-06 -1.33274111e-05 -4.635605637e-07 -1.025216983e-06 +8.471579746e-06 1.091192947e-06 -1.779382403e-06 -3.207156542e-07 -7.091205903e-07 +-1.33274111e-05 -1.779382403e-06 2.896111034e-06 5.048548625e-07 1.116106277e-06 +-4.635605637e-07 -3.207156542e-07 5.048548625e-07 1.714556743e-08 3.797667058e-08 +-1.025216983e-06 -7.091205903e-07 1.116106277e-06 3.797667058e-08 8.409206171e-08 +-1.047255078e-06 1.982373342e-06 -3.089294525e-06 1.08605084e-08 2.403291551e-08 +1.982373342e-06 -3.711898753e-08 4.179645848e-08 -1.023861447e-07 -2.251710743e-07 +-3.089294525e-06 4.179645848e-08 -4.007946047e-08 1.600634531e-07 3.520088996e-07 +1.08605084e-08 -1.023861447e-07 1.600634531e-07 7.373582466e-10 1.656572984e-09 +2.403291551e-08 -2.251710743e-07 3.520088996e-07 1.656572984e-09 3.718145158e-09 +0.001625470529 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0005443492751 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001962089447 -0.0001879968336 -0.0003779642797 0 0 +-0.0001879968336 0.0001571311777 0.0003149051214 0 0 +-0.0003779642797 0.0003149051214 0.0006311216941 0 0 +0 0 0 0 0 +0 0 0 0 0 +7.085485911e-05 -6.873972605e-05 -0.0001382258942 0 0 +-6.873972605e-05 5.778102836e-05 0.0001157697345 0 0 +-0.0001382258942 0.0001157697345 0.0002320105677 0 0 +0 0 0 0 0 +0 0 0 0 0 +-3.366255961e-06 1.734366256e-05 3.565786262e-05 1.530334429e-05 -2.083113963e-05 +1.734366256e-05 3.077256655e-05 6.270228374e-05 3.850144286e-05 -5.111638891e-05 +3.565786262e-05 6.270228374e-05 0.0001277262621 7.859520575e-05 -0.0001042902827 +1.530334429e-05 3.850144286e-05 7.859520575e-05 4.508590052e-05 -6.008121004e-05 +-2.083113963e-05 -5.111638891e-05 -0.0001042902827 -6.008121004e-05 7.997799953e-05 +-1.392531873e-06 7.163767254e-06 1.472701944e-05 6.324222297e-06 -8.607757095e-06 +7.163767254e-06 1.331555089e-05 2.713633191e-05 1.648411324e-05 -2.190056958e-05 +1.472701944e-05 2.713633191e-05 5.527461564e-05 3.364435491e-05 -4.46567693e-05 +6.324222297e-06 1.648411324e-05 3.364435491e-05 1.920007364e-05 -2.558047502e-05 +-8.607757095e-06 -2.190056958e-05 -4.46567693e-05 -2.558047502e-05 3.401878485e-05 +0.001226065458 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0003348067112 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0.0001149885223 5.871737263e-05 -0.0002896374385 0 0 +5.871737263e-05 0.0001305375631 0.0001873569236 0 0 +-0.0002896374385 0.0001873569236 0.0003591121327 0 0 +0 0 0 0 0 +0 0 0 0 0 +3.882368668e-05 3.557609685e-05 -0.0001151173818 0 0 +3.557609685e-05 4.938694842e-05 6.786023565e-05 0 0 +-0.0001151173818 6.786023565e-05 0.0001282929538 0 0 +0 0 0 0 0 +0 0 0 0 0 +5.508092703e-05 6.98947688e-05 -6.099670968e-06 2.953913193e-05 -4.260086825e-05 +6.98947688e-05 3.396602491e-05 2.104503054e-05 2.6619271e-05 -4.790207725e-05 +-6.099670968e-06 2.104503054e-05 4.854905309e-05 4.530607326e-05 -5.682236239e-05 +2.953913193e-05 2.6619271e-05 4.530607326e-05 2.86400297e-05 -4.509104229e-05 +-4.260086825e-05 -4.790207725e-05 -5.682236239e-05 -4.509104229e-05 7.05302971e-05 +1.275885477e-05 2.355247492e-05 -2.102460155e-06 1.137013952e-05 -1.539586682e-05 +2.355247492e-05 1.240658264e-05 9.929198644e-06 1.109536206e-05 -1.975499737e-05 +-2.102460155e-06 9.929198644e-06 2.147475957e-05 1.98428688e-05 -2.460148145e-05 +1.137013952e-05 1.109536206e-05 1.98428688e-05 1.207414759e-05 -1.904253519e-05 +-1.539586682e-05 -1.975499737e-05 -2.460148145e-05 -1.904253519e-05 2.973730885e-05 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/gedm_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/gedm_ref.dat new file mode 100644 index 0000000000..56064b4efb --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/gedm_ref.dat @@ -0,0 +1,18 @@ +-0.0105395 +-0.00143729 +0.000572678 0.0018424 0.000984104 0.0018424 -0.00116035 -0.000321265 0.000984104 -0.000321265 -0.000690085 +0.00155469 0.000725826 0.00017287 0.000725826 -0.000326987 -0.000172799 0.00017287 -0.000172799 0.000596387 +0.000104793 -0.000824195 -0.000167842 -9.5002e-05 -0.000381175 -0.000824195 -0.000820364 -0.00332201 -0.00047684 -0.00179171 -0.000167842 -0.00332201 0.000797551 -0.00041539 -0.00159238 -9.5002e-05 -0.00047684 -0.00041539 -0.000412545 8.30466e-05 -0.000381175 -0.00179171 -0.00159238 8.30466e-05 -0.000492714 +0.00088259 4.38924e-06 -0.000119081 -0.000107989 -0.000104282 4.38924e-06 -0.000576257 0.000860398 0.000454042 -2.22839e-05 -0.000119081 0.000860398 -0.00103049 0.000322221 8.60976e-05 -0.000107989 0.000454042 0.000322221 -0.000717212 -0.000762624 -0.000104282 -2.22839e-05 8.60976e-05 -0.000762624 0.00032204 +-0.0141053 +-0.00188726 +-0.00182612 1.99073e-05 0.00252918 1.99073e-05 0.00175757 -0.00238282 0.00252918 -0.00238282 -0.000687653 +0.000228156 -0.000521053 0.000635841 -0.000521053 0.00184178 -0.00134863 0.000635841 -0.00134863 0.00101454 +0.00380061 -0.000982323 0.000703556 -0.00142829 -0.00344333 -0.000982323 -0.00276982 -0.0025961 -0.000144876 -0.00161526 0.000703556 -0.0025961 -0.000808081 -0.00127233 -0.00257785 -0.00142829 -0.000144876 -0.00127233 0.000823322 0.000266071 -0.00344333 -0.00161526 -0.00257785 0.000266071 0.00157394 +-0.0015008 -0.000311446 0.000357447 0.00118258 0.00068892 -0.000311446 0.00125234 -1.34666e-05 -0.000664964 -0.00046898 0.000357447 -1.34666e-05 -0.000445242 0.000159827 0.00137588 0.00118258 -0.000664964 0.000159827 0.000786882 0.000335878 0.00068892 -0.00046898 0.00137588 0.000335878 -0.000731421 +-0.0138936 +-0.0018592 +-0.00155153 -0.00106638 -0.00162111 -0.00106638 0.00213377 -0.00257139 -0.00162111 -0.00257139 -0.00117574 +0.000131697 -0.000228244 -0.000149277 -0.000228244 0.00229487 -0.00125788 -0.000149277 -0.00125788 0.000662333 +0.000222069 -0.00149942 -0.001192 -0.000863896 0.00129244 -0.00149942 0.00405582 -0.0043836 -0.000277787 0.000313092 -0.001192 -0.0043836 -0.000338983 -0.00165664 0.00248213 -0.000863896 -0.000277787 -0.00165664 -0.000439445 0.000538551 0.00129244 0.000313092 0.00248213 0.000538551 -0.00113209 +0.000513884 0.000254967 8.65459e-06 4.07475e-05 -1.79259e-05 0.000254967 -0.00175525 0.000787655 0.000471526 -0.000184028 8.65459e-06 0.000787655 -0.000670299 0.000822193 -0.00074256 4.07475e-05 0.000471526 0.000822193 0.00074893 0.00153252 -1.79259e-05 -0.000184028 -0.00074256 0.00153252 0.000510836 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/gvepsl_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/gvepsl_ref.dat new file mode 100644 index 0000000000..f3da5bc471 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/gvepsl_ref.dat @@ -0,0 +1,18 @@ +0.01811297538 0.00213915435 -0.06499202146 -5.715118466e-05 -0.00438750514 0.008078037638 0.0007095930583 0.002111368214 -9.915212565e-21 5.229972371e-20 -2.151655367e-06 3.846145649e-06 0.001085226303 9.008876546e-21 1.86456466e-20 -1.929884712e-06 6.637442899e-07 0.0004358491236 +-0.09745098376 0.005651757386 0.001214538562 0.002053211067 0.01652583496 0.0004550668339 0.0007626651279 0.006344062096 6.789899953e-10 0.0002717974994 0.001026394131 0.001135096021 0.006870509865 1.507978918e-09 0.0001146629259 0.0004217130032 0.0004647982214 0.002840247982 +0.001175847459 0.0003822339303 -2.734937031e-05 4.977202778e-05 0.00066014767 -1.029329616e-05 2.10873735e-05 0.0002462321706 3.625552146e-08 7.205225348e-07 -6.154938476e-06 5.487777368e-05 0.0001204984757 2.894396271e-08 3.480865159e-07 -4.37105043e-06 3.47775153e-05 3.926016334e-05 +0.01407771093 0.001633462841 -0.05453435973 -0.002925157688 0.003077509424 0.006910932843 0.002064592146 -0.0004879416378 -1.154943332e-20 1.425263863e-20 2.362390793e-06 -1.013796405e-05 0.0008531590718 3.992670901e-20 -1.84527216e-21 2.381071868e-06 -4.576748348e-06 0.0003422366786 +-0.07487328142 0.004855435328 0.0009663020944 0.002693842466 0.01255968655 0.0003621387322 0.0009957339432 0.004827531453 -2.931430122e-09 0.0004248544787 0.0007895532106 0.000928916752 0.005345627549 -6.495453816e-09 0.0001802684733 0.0003249216576 0.0003805221413 0.002212379348 +0.001924053685 0.0006664753625 5.82904182e-06 -3.273628758e-05 0.001145253371 1.812848738e-06 -1.340995316e-05 0.0004089325043 2.267746649e-07 -2.282457728e-06 -3.227054182e-06 2.378305675e-05 0.0002710556097 7.920899345e-08 -1.045217669e-06 -3.045505994e-07 4.17751635e-05 8.420595347e-05 +-0.02042846348 -0.002420060264 0.06458459928 0.0200864283 0.002222953803 -0.006854042441 -0.004542603821 -0.002010950673 1.816973422e-20 1.092900161e-19 -3.020178412e-07 -1.539170155e-05 -0.001217525779 8.396482038e-20 4.928754993e-20 2.597443525e-07 -1.853663057e-06 -0.0004866180407 +0.1267846477 -0.005164226709 -0.001377870717 0.0001597887148 -0.01937353921 -0.0005163272744 4.825050494e-05 -0.007422873032 1.223569829e-09 0.0001765901285 -0.001116317187 -0.001300591573 -0.00777572424 2.720310075e-09 7.682486453e-05 -0.0004575952179 -0.0005319541632 -0.003208199384 +0.001622477917 0.0006107646611 -1.007270532e-05 0.0002492391574 0.000878414511 -2.35892319e-06 0.0001026202675 0.0003118696537 -3.414663801e-07 4.297384413e-06 -4.945224853e-06 -3.370530689e-05 0.0003473180973 -1.623698516e-07 2.014418938e-06 -2.820076539e-06 9.638615631e-06 0.0001352148628 +0.01135011786 0.00136296651 -0.04272716331 -0.00228030437 0.002391521003 0.005497174509 0.001635369136 -0.0003922736321 -7.59651578e-21 7.881493724e-21 -2.702172614e-06 1.166607841e-05 0.0006715866146 2.55091279e-20 3.29468053e-21 -2.989583462e-06 4.193477507e-06 0.0002693308778 +-0.05542814982 0.004983102735 0.0007662533855 0.004195154543 0.009887355147 0.0002870977174 0.001543808162 0.003799183164 1.487318029e-08 0.000700385046 0.0006694829389 0.0007426406588 0.004373271788 3.297348308e-08 0.0002986040693 0.0002766853287 0.0003054581703 0.001812162001 +0.004188362949 0.001394067959 9.997218525e-06 0.0002189012032 0.002228080681 4.792261612e-06 9.70633778e-05 0.0008101450215 -5.209686072e-07 -2.207560252e-06 1.110359246e-05 0.0001333402657 0.0006233948806 -1.613676332e-07 -8.510725777e-07 3.379989525e-06 0.0001018275366 0.000218956554 +-0.01584018661 -0.001826301959 0.05099504795 0.01593510533 0.001763128693 -0.005388481142 -0.003601788591 -0.001573885826 4.934702848e-21 5.255111342e-20 2.658237737e-07 1.724069946e-05 -0.0009582200978 2.956551629e-20 4.385902779e-20 -4.684449543e-07 -2.613446132e-06 -0.0003830670413 +0.1026386788 -0.003098164344 -0.001086392487 0.001760071789 -0.01512767895 -0.000407079711 0.0006362513502 -0.005797110864 -5.367265063e-09 0.0003568140127 -0.0007588940578 -0.0009711578663 -0.006010663472 -1.191051986e-08 0.0001547666039 -0.0003098998563 -0.0003957929674 -0.002478027052 +0.003443543961 0.001074659153 1.401666765e-05 0.0004069740017 0.001532038767 2.92277564e-06 0.000158840717 0.0005469325403 5.548478103e-07 -2.955329314e-06 8.034001695e-06 5.805831285e-05 0.0006027195579 2.538042541e-07 -1.601803515e-06 4.94261199e-06 3.430892411e-05 0.0002323320299 +0.02613468812 0.003606597771 -0.07138367345 -0.02223015383 -0.002352858256 0.008300920747 0.005229530095 0.002319668099 3.621493606e-21 1.357434886e-19 3.775315666e-05 0.0001444199735 0.001373644859 1.899942462e-19 1.821962469e-19 1.29062651e-05 2.541115999e-05 0.0005488043701 +-0.1363064452 0.008021591432 0.001547618842 0.003542203474 0.02209791526 0.0005798909962 0.001307994424 0.00846358783 1.83158888e-09 0.0002971221973 0.001530120655 0.001585402904 0.009008319315 4.06439818e-09 0.0001281723922 0.0006298485827 0.0006521051402 0.003721022735 +0.007822272009 0.002265799783 0.0003389799418 0.001850382095 0.002387027652 0.0001479923303 0.0008042552663 0.001039128623 9.074338133e-06 3.208519714e-05 0.0002967475637 0.0007160921966 0.000563413278 4.260880766e-06 1.53025763e-05 0.0001286609379 0.0002058062035 0.0002852581991 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/gvx_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/gvx_ref.dat new file mode 100644 index 0000000000..02dcecd594 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/gvx_ref.dat @@ -0,0 +1,27 @@ +0.008314698841 0.0009927198453 -0.02957512076 1.008213592e-05 -0.002003760863 0.003692802063 0.0003222123389 0.0009618706751 1.76789608e-19 7.635972149e-20 -2.476737112e-06 6.610248977e-06 0.000494588505 6.254049466e-20 -7.575534506e-20 -2.318216518e-06 2.184151094e-06 0.0001987880038 +-0.04501976847 0.002362478674 0.0005558496595 0.0005397174845 0.007540410217 0.0002082834378 0.0002023123744 0.00289460073 -1.295791519e-11 4.561085291e-05 0.0004729746201 0.0005165857522 0.003094848694 -2.924324762e-11 1.886757742e-05 0.0001941398113 0.0002114432129 0.001278943222 +0.0002425835115 6.080685817e-05 -2.265792734e-05 4.527746827e-05 0.0001335015597 -8.38635146e-06 1.888395122e-05 5.772001259e-05 -1.844392095e-07 1.058102228e-06 -3.628024192e-06 3.617985003e-05 -1.729288988e-05 -7.212879251e-08 5.110178781e-07 -3.258000328e-06 1.322717475e-05 -6.070989831e-06 +0.006311497887 0.0007153614051 -0.02490754228 -0.001340265725 0.001412857146 0.003125982918 0.0009364016384 -0.0002191764946 -9.615492929e-20 -9.558404888e-19 2.759319528e-06 -1.18671686e-05 0.0003885038795 5.858195916e-20 4.784668109e-20 2.879324065e-06 -4.961345828e-06 0.0001558703847 +-0.03537882375 0.001783824862 0.0004378598615 0.0004608675468 0.005718427651 0.0001640752359 0.0001727753559 0.002198026898 6.966738241e-11 5.835781194e-05 0.0003417697679 0.0004191216237 0.002373152201 1.57246229e-10 2.421875485e-05 0.0001401794577 0.0001714350442 0.0009813130571 +-9.952539996e-05 -1.688667661e-05 6.70143158e-07 -0.0001051673925 3.191956557e-05 -3.952588891e-07 -4.577554089e-05 6.009488924e-06 3.798545884e-07 -8.853686232e-07 -6.507553106e-06 -3.147526343e-05 -2.789497308e-05 1.578272503e-07 -4.56234312e-07 -1.472958373e-06 -6.420064042e-06 -1.7999967e-05 +-0.009391330091 -0.001131074386 0.02935253394 0.009101181574 0.001007370495 -0.003123663254 -0.00205898982 -0.00091908215 7.014162783e-22 5.17677791e-20 -3.233737686e-07 -1.784318814e-05 -0.0005544950485 4.56481726e-20 3.645083611e-20 3.666212161e-07 -4.181082339e-07 -0.0002215869918 +0.05668307659 -0.002708951006 -0.0006267573947 -0.0005303157123 -0.008867221653 -0.0002348563741 -0.0001987588444 -0.003396925984 3.713840472e-11 4.882649052e-08 -0.0005525470364 -0.0006117906287 -0.003581474781 8.381479489e-11 1.977637772e-07 -0.0002269233279 -0.0002508211904 -0.001478377797 +-6.447232959e-05 5.878248059e-05 -1.269007876e-05 3.5694727e-05 8.979411149e-05 -2.845424345e-06 1.790527153e-05 3.077651932e-05 -4.65914265e-07 4.295230324e-06 -6.652719236e-06 -4.656534178e-05 3.662219531e-05 -2.284940523e-07 2.090549591e-06 -3.928046696e-06 -5.472834622e-06 1.511076178e-05 +-0.00821621666 -0.0009646876275 0.02961733957 4.502483976e-05 0.001995635231 -0.003672370009 -0.0003237314609 -0.0009615998836 7.787114576e-21 3.147787623e-21 1.928780038e-07 8.033490986e-07 -0.000494152215 4.09411353e-21 9.355625456e-23 1.221105448e-07 6.87396086e-07 -0.0001983821748 +0.04405467329 -0.002685676698 -0.0005518097728 -0.001143204041 -0.00752031916 -0.0002067452336 -0.0004236783231 -0.002886992982 -4.787393002e-10 -0.000164921361 -0.0004646291064 -0.000517244447 -0.003147576868 -1.063483656e-09 -6.977202013e-05 -0.0001910016776 -0.0002118470837 -0.001301439555 +-0.0006896759509 -0.0002336868163 7.092245541e-06 -1.078042423e-05 -0.0003886148257 2.743552964e-06 -4.724786405e-06 -0.0001407838256 -1.222022334e-07 5.570321884e-08 2.369810859e-06 -1.9113881e-05 -9.284604913e-05 -5.805231045e-08 2.68292014e-08 1.324548709e-06 -1.721506675e-05 -3.048028242e-05 +-0.006465107836 -0.0007590853307 0.02480370907 0.001328203359 -0.001395915247 -0.003159297785 -0.0009424837971 0.0002238654394 2.607664456e-21 -7.300805093e-21 -1.90726956e-07 8.049036176e-07 -0.0003886502667 -1.378242874e-20 -1.292427092e-21 -1.405963018e-07 5.71665746e-07 -0.0001558898378 +0.03343281963 -0.002436537071 -0.0004413309416 -0.001629937632 -0.005721939346 -0.0001654073057 -0.0006012047347 -0.002199298981 2.074097719e-09 -0.0002645977851 -0.0003690208955 -0.0004252018015 -0.002467291046 4.597292685e-09 -0.0001125560311 -0.0001521076552 -0.0001743136957 -0.001021581071 +-0.001389635609 -0.0004721074249 -3.698956634e-06 -3.255834859e-05 -0.0007792076611 -1.467880807e-06 -1.475457607e-05 -0.0002810632731 4.216210768e-08 1.120748896e-06 -1.179630103e-06 -3.308412134e-05 -0.0002030650894 2.795374596e-08 4.865165258e-07 -5.630076155e-07 -3.241189539e-05 -6.799322226e-05 +0.009259331014 0.001087162432 -0.02945123187 -0.009174202948 -0.001015226177 0.003120976754 0.002074387899 0.0009143098472 1.443489957e-22 -4.107940343e-21 3.984010957e-08 1.313449386e-06 0.0005545984426 -2.059604814e-20 -1.627863507e-20 1.228699297e-08 1.068469169e-06 0.0002216777207 +-0.05830854712 0.002164601731 0.0006280389864 -0.0003899715256 0.008801765483 0.0002353479376 -0.0001380704235 0.003372617233 -8.30895847e-10 -0.0001227112783 0.0004852790932 0.0005821985604 0.003520801565 -1.846639311e-09 -5.329223615e-05 0.0001986991661 0.0002378127548 0.001452290136 +-0.001161593129 -0.0003935891918 3.267480836e-07 -0.0001544576912 -0.0005633060347 1.430312032e-07 -6.190801898e-05 -0.0002005749677 -7.708831216e-09 -7.278312411e-07 -6.178325753e-08 -1.063906395e-06 -0.0002221385525 -7.319963607e-09 -3.006033612e-07 -1.058396335e-07 -9.577571556e-06 -8.603225491e-05 +-9.848218044e-05 -2.803221774e-05 -4.221881467e-05 -5.510697568e-05 8.125631563e-06 -2.043205401e-05 1.519122033e-06 -2.707914306e-07 2.507108803e-21 -1.216125932e-21 2.283859108e-06 -7.413598076e-06 -4.362900682e-07 2.317143451e-21 -4.010166608e-22 2.196105973e-06 -2.87154718e-06 -4.058289921e-07 +0.0009650951828 0.000323198024 -4.039886667e-06 0.0006034865567 -2.009105741e-05 -1.53820426e-06 0.0002213659487 -7.607747993e-06 4.916972154e-10 0.0001193105081 -8.345513739e-06 6.586947795e-07 5.272817332e-05 1.092726904e-09 5.09044427e-05 -3.138133649e-06 4.038707646e-07 2.249633273e-05 +0.0004470924394 0.0001728799582 1.55656818e-05 -3.449704404e-05 0.000255113266 5.642798496e-06 -1.415916481e-05 8.306381305e-05 3.066414429e-07 -1.113805446e-06 1.258213334e-06 -1.706596904e-05 0.000110138939 1.30181103e-07 -5.378470795e-07 1.93345162e-06 3.987891999e-06 3.655127225e-05 +0.0001536099487 4.37239256e-05 0.0001038332129 1.206236583e-05 -1.694189933e-05 3.331486756e-05 6.082158705e-06 -4.688944816e-06 2.040167006e-21 -8.575730152e-22 -2.568592573e-06 1.106226499e-05 1.463872153e-07 1.029746788e-21 -4.585427811e-22 -2.738727764e-06 4.389680082e-06 1.945305746e-08 +0.001946004123 0.0006527122098 3.471080069e-06 0.001169070085 3.511694532e-06 1.332069822e-06 0.0004284293788 1.272082925e-06 -2.143765101e-09 0.0002062399732 2.725112764e-05 6.080177764e-06 9.413884526e-05 -4.754538914e-09 8.833727628e-05 1.192819755e-05 2.878651463e-06 4.0268014e-05 +0.001489161009 0.0004889941015 3.028813476e-06 0.000137725741 0.0007472880955 1.863139696e-06 6.053011696e-05 0.0002750537841 -4.220166961e-07 -2.353802729e-07 7.687183209e-06 6.455938477e-05 0.0002309600625 -1.857809962e-07 -3.028221375e-08 2.035965988e-06 3.883195943e-05 8.599318926e-05 +0.0001319990764 4.391195452e-05 9.869793426e-05 7.302137391e-05 7.855682521e-06 2.686499584e-06 -1.539807881e-05 4.772302874e-06 -1.442406336e-22 2.150262335e-23 2.83533659e-07 1.652973876e-05 -1.033940342e-07 1.805149526e-22 -8.013415534e-23 -3.78908209e-07 -6.50360935e-07 -9.072887859e-08 +0.001625470529 0.0005443492751 -1.281591717e-06 0.000920287238 6.545617028e-05 -4.915635193e-07 0.0003368292679 2.430875078e-05 7.93757442e-10 0.0001226624518 6.726794316e-05 2.959206829e-05 6.067321573e-05 1.762824516e-09 5.309447237e-05 2.822416174e-05 1.300843552e-05 2.608766069e-05 +0.001226065458 0.0003348067112 1.236333068e-05 0.0001187629642 0.0004735119232 2.702393142e-06 4.400274745e-05 0.0001697984484 4.736230962e-07 -3.567399083e-06 6.714502494e-06 4.762924818e-05 0.0001855163571 2.358140159e-07 -1.78994623e-06 4.03388633e-06 1.505040618e-05 7.092149313e-05 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/iRmat_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/iRmat_ref.dat new file mode 100644 index 0000000000..3578fe72ea --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/iRmat_ref.dat @@ -0,0 +1,75 @@ +0 0 0 +0 0 1 +0 1 0 +0 1 1 +0 1 1 +0 0 2 +0 0 0 +0 1 2 +0 1 0 +0 1 0 +0 2 0 +0 2 1 +0 0 0 +0 0 1 +0 0 1 +0 2 2 +0 2 0 +0 0 2 +0 0 0 +0 0 0 +0 2 2 +0 2 0 +0 0 2 +0 0 0 +0 0 0 +0 0 0 +0 1 0 +0 1 0 +0 1 1 +0 1 0 +0 2 0 +0 0 0 +0 0 0 +0 0 1 +0 0 0 +0 2 0 +0 0 0 +0 0 0 +0 0 1 +0 0 0 +0 2 2 +0 0 2 +0 0 2 +0 0 0 +0 0 2 +0 2 0 +0 0 0 +0 0 0 +0 0 1 +0 0 0 +0 0 0 +0 1 0 +0 1 0 +0 1 1 +0 0 0 +0 2 0 +0 0 0 +0 0 0 +0 0 1 +0 2 0 +0 2 0 +0 0 0 +0 0 0 +0 0 1 +0 2 0 +0 2 2 +0 0 2 +0 0 2 +0 0 0 +0 2 2 +0 0 0 +0 1 0 +0 1 0 +0 1 1 +0 0 0 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/jle.orb b/tests/09_DeePKS/NO_KP_deepks_UT/jle.orb new file mode 100644 index 0000000000..6fecaa8b68 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/jle.orb @@ -0,0 +1,336 @@ +--------------------------------------------------------------------------- +Energy Cutoff(Ry) 20 +Radius Cutoff(a.u.) 2 +Lmax 2 +Number of Sorbitals--> 2 +Number of Porbitals--> 2 +Number of Dorbitals--> 2 +--------------------------------------------------------------------------- +SUMMARY END + +Mesh 205 +dr 0.01 + Type L N + 0 0 0 +1.000000000000e+00 9.999588771557e-01 9.998355147105e-01 9.996299309272e-01 +9.993421562398e-01 9.989722332485e-01 9.985202167122e-01 9.979861735385e-01 +9.973701827725e-01 9.966723355824e-01 9.958927352436e-01 9.950314971204e-01 +9.940887486459e-01 9.930646292992e-01 9.919592905814e-01 9.907728959881e-01 +9.895056209813e-01 9.881576529582e-01 9.867291912182e-01 9.852204469278e-01 +9.836316430835e-01 9.819630144724e-01 9.802148076310e-01 9.783872808018e-01 +9.764807038877e-01 9.744953584044e-01 9.724315374315e-01 9.702895455599e-01 +9.680696988392e-01 9.657723247216e-01 9.633977620041e-01 9.609463607696e-01 +9.584184823246e-01 9.558144991363e-01 9.531347947667e-01 9.503797638053e-01 +9.475498118000e-01 9.446453551854e-01 9.416668212101e-01 9.386146478614e-01 +9.354892837887e-01 9.322911882241e-01 9.290208309025e-01 9.256786919789e-01 +9.222652619442e-01 9.187810415390e-01 9.152265416659e-01 9.116022833003e-01 +9.079087973984e-01 9.041466248047e-01 9.003163161571e-01 8.964184317906e-01 +8.924535416387e-01 8.884222251345e-01 8.843250711084e-01 8.801626776859e-01 +8.759356521824e-01 8.716446109973e-01 8.672901795064e-01 8.628729919524e-01 +8.583936913342e-01 8.538529292946e-01 8.492513660070e-01 8.445896700594e-01 +8.398685183386e-01 8.350885959117e-01 8.302505959068e-01 8.253552193925e-01 +8.204031752555e-01 8.153951800774e-01 8.103319580098e-01 8.052142406487e-01 +8.000427669069e-01 7.948182828860e-01 7.895415417463e-01 7.842133035766e-01 +7.788343352618e-01 7.734054103501e-01 7.679273089189e-01 7.624008174394e-01 +7.568267286407e-01 7.512058413722e-01 7.455389604655e-01 7.398268965953e-01 +7.340704661391e-01 7.282704910361e-01 7.224277986456e-01 7.165432216037e-01 +7.106175976801e-01 7.046517696336e-01 6.986465850665e-01 6.926028962792e-01 +6.865215601233e-01 6.804034378540e-01 6.742493949824e-01 6.680603011269e-01 +6.618370298634e-01 6.555804585759e-01 6.492914683061e-01 6.429709436022e-01 +6.366197723676e-01 6.302388457091e-01 6.238290577843e-01 6.173913056492e-01 +6.109264891046e-01 6.044355105434e-01 5.979192747958e-01 5.913786889759e-01 +5.848146623272e-01 5.782281060680e-01 5.716199332362e-01 5.649910585351e-01 +5.583423981773e-01 5.516748697303e-01 5.449893919607e-01 5.382868846789e-01 +5.315682685835e-01 5.248344651061e-01 5.180863962557e-01 5.113249844635e-01 +5.045511524272e-01 4.977658229563e-01 4.909699188170e-01 4.841643625769e-01 +4.773500764508e-01 4.705279821460e-01 4.636990007082e-01 4.568640523676e-01 +4.500240563852e-01 4.431799308997e-01 4.363325927746e-01 4.294829574454e-01 +4.226319387680e-01 4.157804488670e-01 4.089293979840e-01 4.020796943279e-01 +3.952322439241e-01 3.883879504654e-01 3.815477151626e-01 3.747124365970e-01 +3.678830105719e-01 3.610603299660e-01 3.542452845872e-01 3.474387610270e-01 +3.406416425155e-01 3.338548087775e-01 3.270791358895e-01 3.203154961370e-01 +3.135647578731e-01 3.068277853781e-01 3.001054387191e-01 2.933985736122e-01 +2.867080412838e-01 2.800346883342e-01 2.733793566016e-01 2.667428830275e-01 +2.601260995228e-01 2.535298328351e-01 2.469549044172e-01 2.404021302969e-01 +2.338723209473e-01 2.273662811591e-01 2.208848099136e-01 2.144287002569e-01 +2.079987391757e-01 2.015957074739e-01 1.952203796511e-01 1.888735237815e-01 +1.825559013953e-01 1.762682673602e-01 1.700113697655e-01 1.637859498067e-01 +1.575927416716e-01 1.514324724285e-01 1.453058619151e-01 1.392136226293e-01 +1.331564596211e-01 1.271350703868e-01 1.211501447635e-01 1.152023648265e-01 +1.092924047871e-01 1.034209308931e-01 9.758860132936e-02 9.179606612189e-02 +8.604396704195e-02 8.033293751264e-02 7.466360251697e-02 6.903657850753e-02 +6.345247331791e-02 5.791188607588e-02 5.241540711817e-02 4.696361790712e-02 +4.155709094895e-02 3.619638971392e-02 3.088206855820e-02 2.561467264749e-02 +2.039473788254e-02 1.522279082639e-02 1.009934863353e-02 5.024918980770e-03 +8.824636488425e-14 -4.974919786756e-03 -9.899361531700e-03 -1.477285612199e-02 +-1.959494423991e-02 + Type L N + 0 0 1 +1.000000000000e+00 9.998355147105e-01 9.993421562398e-01 9.985202167122e-01 +9.973701827725e-01 9.958927352436e-01 9.940887486459e-01 9.919592905814e-01 +9.895056209813e-01 9.867291912182e-01 9.836316430835e-01 9.802148076310e-01 +9.764807038877e-01 9.724315374315e-01 9.680696988392e-01 9.633977620041e-01 +9.584184823246e-01 9.531347947667e-01 9.475498117999e-01 9.416668212101e-01 +9.354892837886e-01 9.290208309025e-01 9.222652619442e-01 9.152265416659e-01 +9.079087973984e-01 9.003163161571e-01 8.924535416387e-01 8.843250711084e-01 +8.759356521824e-01 8.672901795064e-01 8.583936913341e-01 8.492513660070e-01 +8.398685183386e-01 8.302505959068e-01 8.204031752555e-01 8.103319580098e-01 +8.000427669069e-01 7.895415417463e-01 7.788343352617e-01 7.679273089188e-01 +7.568267286407e-01 7.455389604655e-01 7.340704661390e-01 7.224277986455e-01 +7.106175976801e-01 6.986465850664e-01 6.865215601232e-01 6.742493949824e-01 +6.618370298633e-01 6.492914683061e-01 6.366197723676e-01 6.238290577843e-01 +6.109264891046e-01 5.979192747957e-01 5.848146623272e-01 5.716199332362e-01 +5.583423981772e-01 5.449893919607e-01 5.315682685834e-01 5.180863962557e-01 +5.045511524271e-01 4.909699188170e-01 4.773500764508e-01 4.636990007081e-01 +4.500240563851e-01 4.363325927745e-01 4.226319387680e-01 4.089293979839e-01 +3.952322439241e-01 3.815477151626e-01 3.678830105718e-01 3.542452845871e-01 +3.406416425154e-01 3.270791358894e-01 3.135647578731e-01 3.001054387191e-01 +2.867080412837e-01 2.733793566015e-01 2.601260995227e-01 2.469549044171e-01 +2.338723209472e-01 2.208848099135e-01 2.079987391756e-01 1.952203796510e-01 +1.825559013952e-01 1.700113697655e-01 1.575927416715e-01 1.453058619151e-01 +1.331564596211e-01 1.211501447634e-01 1.092924047871e-01 9.758860132929e-02 +8.604396704188e-02 7.466360251690e-02 6.345247331784e-02 5.241540711810e-02 +4.155709094888e-02 3.088206855813e-02 2.039473788247e-02 1.009934863346e-02 +2.180811153812e-14 -9.899361531766e-03 -1.959494423998e-02 -2.908311310810e-02 +-3.836039164508e-02 -4.742346358301e-02 -5.626917445163e-02 -6.489453302867e-02 +-7.329671266526e-02 -8.147305248589e-02 -8.942105846211e-02 -9.713840435981e-02 +-1.046229325594e-01 -1.118726547487e-01 -1.188857524890e-01 -1.256605776527e-01 +-1.321956527344e-01 -1.384896710345e-01 -1.445414967152e-01 -1.503501647310e-01 +-1.559148806314e-01 -1.612350202393e-01 -1.663101292030e-01 -1.711399224253e-01 +-1.757242833674e-01 -1.800632632314e-01 -1.841570800207e-01 -1.880061174797e-01 +-1.916109239149e-01 -1.949722108968e-01 -1.980908518463e-01 -2.009678805055e-01 +-2.036044892942e-01 -2.060020275558e-01 -2.081619996917e-01 -2.100860631877e-01 +-2.117760265342e-01 -2.132338470410e-01 -2.144616285503e-01 -2.154616190492e-01 +-2.162362081830e-01 -2.167879246744e-01 -2.171194336468e-01 -2.172335338584e-01 +-2.171331548467e-01 -2.168213539861e-01 -2.163013134635e-01 -2.155763371712e-01 +-2.146498475232e-01 -2.135253821946e-01 -2.122065907892e-01 -2.106972314371e-01 +-2.090011673253e-01 -2.071223631645e-01 -2.050648815953e-01 -2.028328795354e-01 +-2.004306044739e-01 -1.978623907118e-01 -1.951326555560e-01 -1.922458954659e-01 +-1.892066821602e-01 -1.860196586822e-01 -1.826895354318e-01 -1.792210861633e-01 +-1.756191439552e-01 -1.718885971536e-01 -1.680343852933e-01 -1.640614949996e-01 +-1.599749558740e-01 -1.557798363682e-01 -1.514812396472e-01 -1.470842994485e-01 +-1.425941759367e-01 -1.380160515603e-01 -1.333551269115e-01 -1.286166165939e-01 +-1.238057450998e-01 -1.189277427024e-01 -1.139878413639e-01 -1.089912706646e-01 +-1.039432537543e-01 -9.884900333146e-02 -9.371371765056e-02 -8.854257656305e-02 +-8.334073759347e-02 -7.811333205441e-02 -7.286546120297e-02 -6.760219244178e-02 +-6.232855556732e-02 -5.704953906849e-02 -5.177008647810e-02 -4.649509277994e-02 +-4.122940087424e-02 -3.597779810401e-02 -3.074501284474e-02 -2.553571116011e-02 +-2.035449352599e-02 -1.520589162508e-02 -1.009436521457e-02 -5.024299068919e-03 +-2.180811153812e-14 4.974306043314e-03 9.894476794432e-03 1.475645640459e-02 +1.955627809356e-02 + Type L N + 0 1 0 +0.000000000000e+00 7.488637748270e-03 1.497500757073e-02 2.245684235920e-02 +2.993187664049e-02 3.739784739318e-02 4.485249486326e-02 5.229356337864e-02 +5.971880216197e-02 6.712596614162e-02 7.451281676032e-02 8.187712278134e-02 +8.921666109172e-02 9.652921750236e-02 1.038125875446e-01 1.110645772630e-01 +1.182830040039e-01 1.254656971996e-01 1.326104991481e-01 1.397152657871e-01 +1.467778674633e-01 1.537961896959e-01 1.607681339337e-01 1.676916183067e-01 +1.745645783707e-01 1.813849678449e-01 1.881507593431e-01 1.948599450964e-01 +2.015105376695e-01 2.081005706678e-01 2.146280994373e-01 2.210912017554e-01 +2.274879785128e-01 2.338165543868e-01 2.400750785054e-01 2.462617251009e-01 +2.523746941547e-01 2.584122120318e-01 2.643725321043e-01 2.702539353656e-01 +2.760547310324e-01 2.817732571367e-01 2.874078811063e-01 2.929570003335e-01 +2.984190427326e-01 3.037924672851e-01 3.090757645728e-01 3.142674572991e-01 +3.193661007968e-01 3.243702835244e-01 3.292786275485e-01 3.340897890136e-01 +3.388024585987e-01 3.434153619598e-01 3.479272601599e-01 3.523369500844e-01 +3.566432648428e-01 3.608450741561e-01 3.649412847309e-01 3.689308406179e-01 +3.728127235570e-01 3.765859533068e-01 3.802495879603e-01 3.838027242452e-01 +3.872444978093e-01 3.905740834913e-01 3.937906955755e-01 3.968935880325e-01 +3.998820547434e-01 4.027554297095e-01 4.055130872460e-01 4.081544421604e-01 +4.106789499151e-01 4.130861067746e-01 4.153754499369e-01 4.175465576492e-01 +4.195990493076e-01 4.215325855415e-01 4.233468682816e-01 4.250416408125e-01 +4.266166878097e-01 4.280718353596e-01 4.294069509652e-01 4.306219435350e-01 +4.317167633563e-01 4.326914020530e-01 4.335458925272e-01 4.342803088856e-01 +4.348947663497e-01 4.353894211511e-01 4.357644704103e-01 4.360201520010e-01 +4.361567443983e-01 4.361745665118e-01 4.360739775033e-01 4.358553765897e-01 +4.355192028303e-01 4.350659348995e-01 4.344960908441e-01 4.338102278270e-01 +4.330089418547e-01 4.320928674913e-01 4.310626775581e-01 4.299190828181e-01 +4.286628316477e-01 4.272947096929e-01 4.258155395130e-01 4.242261802101e-01 +4.225275270446e-01 4.207205110385e-01 4.188060985641e-01 4.167852909214e-01 +4.146591239012e-01 4.124286673363e-01 4.100950246402e-01 4.076593323337e-01 +4.051227595591e-01 4.024865075830e-01 3.997518092873e-01 3.969199286487e-01 +3.939921602073e-01 3.909698285243e-01 3.878542876288e-01 3.846469204537e-01 +3.813491382626e-01 3.779623800657e-01 3.744881120259e-01 3.709278268561e-01 +3.672830432068e-01 3.635553050448e-01 3.597461810232e-01 3.558572638428e-01 +3.518901696056e-01 3.478465371601e-01 3.437280274391e-01 3.395363227902e-01 +3.352731262987e-01 3.309401611045e-01 3.265391697118e-01 3.220719132928e-01 +3.175401709852e-01 3.129457391848e-01 3.082904308316e-01 3.035760746916e-01 +2.988045146335e-01 2.939776089012e-01 2.890972293815e-01 2.841652608687e-01 +2.791836003246e-01 2.741541561365e-01 2.690788473710e-01 2.639596030257e-01 +2.587983612786e-01 2.535970687348e-01 2.483576796724e-01 2.430821552860e-01 +2.377724629297e-01 2.324305753586e-01 2.270584699704e-01 2.216581280466e-01 +2.162315339932e-01 2.107806745824e-01 2.053075381949e-01 1.998141140629e-01 +1.943023915144e-01 1.887743592194e-01 1.832320044375e-01 1.776773122682e-01 +1.721122649033e-01 1.665388408820e-01 1.609590143496e-01 1.553747543190e-01 +1.497880239360e-01 1.442007797487e-01 1.386149709812e-01 1.330325388114e-01 +1.274554156537e-01 1.218855244475e-01 1.163247779500e-01 1.107750780353e-01 +1.052383149992e-01 9.971636687013e-02 9.421109872690e-02 8.872436202246e-02 +8.325799391531e-02 7.781381660774e-02 7.239363669171e-02 6.699924450243e-02 +6.163241347987e-02 5.629489953858e-02 5.098844044591e-02 4.571475520896e-02 +4.047554347042e-02 3.527248491362e-02 3.010723867693e-02 2.498144277778e-02 +1.989671354647e-02 1.485464507002e-02 9.856808646282e-03 4.904752248416e-03 +8.084377910810e-14 -4.855948338613e-03 -9.661617874115e-03 -1.441555907126e-02 +-1.911634823371e-02 + Type L N + 0 1 1 +0.000000000000e+00 1.287349883354e-02 2.573547475531e-02 3.857441713205e-02 +5.137883987341e-02 6.413729366771e-02 7.683837817512e-02 8.947075416401e-02 +1.020231555764e-01 1.144844015086e-01 1.268434080930e-01 1.390892002673e-01 +1.512109234179e-01 1.631978548831e-01 1.750394153042e-01 1.867251798097e-01 +1.982448890213e-01 2.095884598674e-01 2.207459961937e-01 2.317077991564e-01 +2.424643773877e-01 2.530064569210e-01 2.633249908654e-01 2.734111688171e-01 +2.832564259984e-01 2.928524521123e-01 3.021911999042e-01 3.112648934202e-01 +3.200660359520e-01 3.285874176609e-01 3.368221228716e-01 3.447635370265e-01 +3.524053532954e-01 3.597415788301e-01 3.667665406600e-01 3.734748912194e-01 +3.798616135028e-01 3.859220258413e-01 3.916517862950e-01 3.970468966577e-01 +4.021037060685e-01 4.068189142273e-01 4.111895742108e-01 4.152130948861e-01 +4.188872429201e-01 4.222101443820e-01 4.251802859385e-01 4.277965156404e-01 +4.300580433007e-01 4.319644404634e-01 4.335156399653e-01 4.347119350899e-01 +4.355539783170e-01 4.360427796690e-01 4.361797046561e-01 4.359664718249e-01 +4.354051499131e-01 4.344981546136e-01 4.332482449540e-01 4.316585192952e-01 +4.297324109555e-01 4.274736834644e-01 4.248864254548e-01 4.219750451979e-01 +4.187442647891e-01 4.151991139927e-01 4.113449237518e-01 4.071873193743e-01 +4.027322134004e-01 3.979857981635e-01 3.929545380524e-01 3.876451614846e-01 +3.820646526015e-01 3.762202426951e-01 3.701194013774e-01 3.637698275033e-01 +3.571794398579e-01 3.503563676209e-01 3.433089406181e-01 3.360456793733e-01 +3.285752849731e-01 3.209066287553e-01 3.130487418352e-01 3.050108044820e-01 +2.968021353580e-01 2.884321806341e-01 2.799105029940e-01 2.712467705418e-01 +2.624507456248e-01 2.535322735859e-01 2.445012714596e-01 2.353677166230e-01 +2.261416354183e-01 2.168330917584e-01 2.074521757289e-01 1.980089922025e-01 +1.885136494756e-01 1.789762479447e-01 1.694068688318e-01 1.598155629754e-01 +1.502123396984e-01 1.406071557664e-01 1.310099044496e-01 1.214304047005e-01 +1.118783904600e-01 1.023635001051e-01 9.289526604868e-02 8.348310450536e-02 +7.413630543331e-02 6.486402266461e-02 5.567526423484e-02 4.657888292306e-02 +3.758356701260e-02 2.869783128319e-02 1.993000824438e-02 1.128823961984e-02 +2.780468092110e-03 -5.585570683343e-03 -1.380235578603e-02 -2.186258845205e-02 +-2.975919920140e-02 -3.748535466356e-02 -4.503446409415e-02 -5.240018557589e-02 +-5.957643189757e-02 -6.655737610510e-02 -7.333745671913e-02 -7.991138261421e-02 +-8.627413755471e-02 -9.242098438353e-02 -9.834746885961e-02 -1.040494231411e-01 +-1.095229689111e-01 -1.147645201439e-01 -1.197707855094e-01 -1.245387704143e-01 +-1.290657786791e-01 -1.333494138503e-01 -1.373875801476e-01 -1.411784830461e-01 +-1.447206294949e-01 -1.480128277725e-01 -1.510541869820e-01 -1.538441161856e-01 +-1.563823231847e-01 -1.586688129443e-01 -1.607038856690e-01 -1.624881345314e-01 +-1.640224430593e-01 -1.653079821847e-01 -1.663462069605e-01 -1.671388529506e-01 +-1.676879322986e-01 -1.679957294811e-01 -1.680647967533e-01 -1.678979492927e-01 +-1.674982600487e-01 -1.668690543061e-01 -1.660139039692e-01 -1.649366215765e-01 +-1.636412540531e-01 -1.621320762106e-01 -1.604135840036e-01 -1.584904875512e-01 +-1.563677039349e-01 -1.540503497817e-01 -1.515437336425e-01 -1.488533481770e-01 +-1.459848621550e-01 -1.429441122854e-01 -1.397370948832e-01 -1.363699573865e-01 +-1.328489897337e-01 -1.291806156141e-01 -1.253713836005e-01 -1.214279581791e-01 +-1.173571106849e-01 -1.131657101573e-01 -1.088607141251e-01 -1.044491593355e-01 +-9.993815243651e-02 -9.533486062644e-02 -9.064650228155e-02 -8.588033757396e-02 +-8.104365909172e-02 -7.614378247274e-02 -7.118803706450e-02 -6.618375662098e-02 +-6.113827004858e-02 -5.605889221235e-02 -5.095291481399e-02 -4.582759735266e-02 +-4.069015817980e-02 -3.554776565875e-02 -3.040752943992e-02 -2.527649186198e-02 +-2.016161948939e-02 -1.506979479638e-02 -1.000780800721e-02 -4.982349102379e-03 +-6.437579797176e-15 4.932773078295e-03 9.809627048423e-03 1.462434920303e-02 +1.937086424077e-02 + Type L N + 0 2 0 +0.000000000000e+00 5.535915211195e-05 2.213972080154e-04 4.979959858820e-04 +8.849586090862e-04 1.382009641449e-03 1.988795277024e-03 2.704883585487e-03 +3.529764810931e-03 4.462851724475e-03 5.503480030692e-03 6.650908827167e-03 +7.904321117094e-03 9.262824374522e-03 1.072545116179e-02 1.229115979875e-02 +1.395883508334e-02 1.572728906294e-02 1.759526185599e-02 1.956142252333e-02 +2.162436998860e-02 2.378263400702e-02 2.603467618203e-02 2.837889102883e-02 +3.081360708426e-02 3.333708806224e-02 3.594753405377e-02 3.864308277085e-02 +4.142181083340e-02 4.428173509816e-02 4.722081402876e-02 5.023694910596e-02 +5.332798627704e-02 5.649171744338e-02 5.972588198510e-02 6.302816832176e-02 +6.639621550800e-02 6.982761486302e-02 7.331991163267e-02 7.687060668312e-02 +8.047715822478e-02 8.413698356539e-02 8.784746089095e-02 9.160593107325e-02 +9.540969950283e-02 9.925603794593e-02 1.031421864243e-01 1.070653551164e-01 +1.110227262786e-01 1.150114561856e-01 1.190286770876e-01 1.230714991840e-01 +1.271370126117e-01 1.312222894466e-01 1.353243857168e-01 1.394403434265e-01 +1.435671925888e-01 1.477019532664e-01 1.518416376183e-01 1.559832519508e-01 +1.601237987727e-01 1.642602788521e-01 1.683896932733e-01 1.725090454930e-01 +1.766153433942e-01 1.807056013362e-01 1.847768421993e-01 1.888260994226e-01 +1.928504190344e-01 1.968468616722e-01 2.008125045921e-01 2.047444436666e-01 +2.086397953674e-01 2.124956987344e-01 2.163093173272e-01 2.200778411595e-01 +2.237984886144e-01 2.274685083383e-01 2.310851811145e-01 2.346458217128e-01 +2.381477807144e-01 2.415884463125e-01 2.449652460847e-01 2.482756487386e-01 +2.515171658267e-01 2.546873534324e-01 2.577838138234e-01 2.608041970725e-01 +2.637462026449e-01 2.666075809504e-01 2.693861348596e-01 2.720797211832e-01 +2.746862521131e-01 2.772036966244e-01 2.796300818381e-01 2.819634943422e-01 +2.842020814712e-01 2.863440525436e-01 2.883876800545e-01 2.903313008259e-01 +2.921733171103e-01 2.939121976491e-01 2.955464786849e-01 2.970747649265e-01 +2.984957304652e-01 2.998081196445e-01 3.010107478787e-01 3.021025024244e-01 +3.030823430996e-01 3.039493029542e-01 3.047024888889e-01 3.053410822225e-01 +3.058643392084e-01 3.062715914985e-01 3.065622465553e-01 3.067357880110e-01 +3.067917759749e-01 3.067298472868e-01 3.065497157184e-01 3.062511721212e-01 +3.058340845212e-01 3.052983981609e-01 3.046441354877e-01 3.038713960897e-01 +3.029803565781e-01 3.019712704172e-01 3.008444677015e-01 2.996003548804e-01 +2.982394144306e-01 2.967622044769e-01 2.951693583611e-01 2.934615841593e-01 +2.916396641495e-01 2.897044542274e-01 2.876568832728e-01 2.854979524671e-01 +2.832287345604e-01 2.808503730919e-01 2.783640815610e-01 2.757711425520e-01 +2.730729068125e-01 2.702707922851e-01 2.673662830950e-01 2.643609284924e-01 +2.612563417520e-01 2.580541990295e-01 2.547562381760e-01 2.513642575117e-01 +2.478801145597e-01 2.443057247399e-01 2.406430600253e-01 2.368941475610e-01 +2.330610682465e-01 2.291459552836e-01 2.251509926894e-01 2.210784137768e-01 +2.169304996024e-01 2.127095773847e-01 2.084180188913e-01 2.040582387984e-01 +1.996326930228e-01 1.951438770279e-01 1.905943241041e-01 1.859866036266e-01 +1.813233192898e-01 1.766071073212e-01 1.718406346748e-01 1.670265972066e-01 +1.621677178324e-01 1.572667446692e-01 1.523264491631e-01 1.473496242024e-01 +1.423390822201e-01 1.372976532846e-01 1.322281831820e-01 1.271335314898e-01 +1.220165696442e-01 1.168801790025e-01 1.117272489014e-01 1.065606747123e-01 +1.013833558967e-01 9.619819406050e-02 9.100809101075e-02 8.581594681512e-02 +8.062465786566e-02 7.543711494816e-02 7.025620131870e-02 6.508479078835e-02 +5.992574581769e-02 5.478191562228e-02 4.965613429040e-02 4.455121891443e-02 +3.946996773718e-02 3.441515831428e-02 2.938954569414e-02 2.439586061649e-02 +1.943680773090e-02 1.451506383641e-02 9.633276143556e-03 4.794060559853e-03 +4.131818525851e-15 -4.746357278055e-03 -9.442499310155e-03 -1.408595203483e-02 +-1.867428087307e-02 + Type L N + 0 2 1 +0.000000000000e+00 1.378450216078e-04 5.511357836611e-04 1.239139794773e-03 +2.200637640491e-03 3.433925082304e-03 4.936815994628e-03 6.706646131180e-03 +8.740277714831e-03 1.103410484304e-02 1.358405969917e-02 1.638561955894e-02 +1.943381457962e-02 2.272323635834e-02 2.624804724465e-02 3.000199039070e-02 +3.397840052178e-02 3.817021540801e-02 4.256998801741e-02 4.716989932876e-02 +5.196177178198e-02 5.693708334247e-02 6.208698215471e-02 6.740230175952e-02 +7.287357684839e-02 7.849105952722e-02 8.424473606111e-02 9.012434407095e-02 +9.611939015158e-02 1.022191678810e-01 1.084127761890e-01 1.146891380531e-01 +1.210370194893e-01 1.274450488047e-01 1.339017360777e-01 1.403954928328e-01 +1.469146518750e-01 1.534474872496e-01 1.599822342926e-01 1.665071097367e-01 +1.730103318384e-01 1.794801404905e-01 1.859048172859e-01 1.922727054973e-01 +1.985722299387e-01 2.047919166733e-01 2.109204125357e-01 2.169465044320e-01 +2.228591383867e-01 2.286474383027e-01 2.343007244016e-01 2.398085313134e-01 +2.451606257844e-01 2.503470239719e-01 2.553580082979e-01 2.601841438308e-01 +2.648162941690e-01 2.692456367986e-01 2.734636778979e-01 2.774622665664e-01 +2.812336084509e-01 2.847702787484e-01 2.880652345620e-01 2.911118265905e-01 +2.939038101309e-01 2.964353553767e-01 2.987010569941e-01 3.006959429600e-01 +3.024154826495e-01 3.038555941563e-01 3.050126508376e-01 3.058834870714e-01 +3.064654032169e-01 3.067561697721e-01 3.067540307204e-01 3.064577060637e-01 +3.058663935363e-01 3.049797694999e-01 3.037979890185e-01 3.023216851136e-01 +3.005519672032e-01 2.984904187284e-01 2.961390939721e-01 2.935005140777e-01 +2.905776622752e-01 2.873739783248e-01 2.838933521878e-01 2.801401169391e-01 +2.761190409326e-01 2.718353192356e-01 2.672945643488e-01 2.625027962274e-01 +2.574664316246e-01 2.521922727737e-01 2.466874954338e-01 2.409596363168e-01 +2.350165799226e-01 2.288665448033e-01 2.225180692832e-01 2.159799966602e-01 +2.092614599151e-01 2.023718659557e-01 1.953208794259e-01 1.881184061067e-01 +1.807745759402e-01 1.732997257066e-01 1.657043813846e-01 1.579992402274e-01 +1.501951525855e-01 1.423031035083e-01 1.343341941582e-01 1.262996230683e-01 +1.182106672782e-01 1.100786633801e-01 1.019149885090e-01 9.373104130994e-02 +8.553822291517e-02 7.734791796572e-02 6.917147570869e-02 6.102019120418e-02 +5.290528667402e-02 4.483789302445e-02 3.682903157469e-02 2.888959602278e-02 +2.103033467944e-02 1.326183300055e-02 5.594496447730e-03 -1.961466293644e-03 +-9.396059710778e-03 -1.669951744637e-02 -2.386231784130e-02 -3.087519901112e-02 +-3.772917343115e-02 -4.441554200612e-02 -5.092590760095e-02 -5.725218801079e-02 +-6.338662834879e-02 -6.932181283193e-02 -7.505067594562e-02 -8.056651296961e-02 +-8.586298984831e-02 -9.093415239043e-02 -9.577443478343e-02 -1.003786674102e-01 +-1.047420839562e-01 -1.088603277967e-01 -1.127294576547e-01 -1.163459525234e-01 +-1.197067158441e-01 -1.228090789373e-01 -1.256508036817e-01 -1.282300844387e-01 +-1.305455492228e-01 -1.325962601165e-01 -1.343817129326e-01 -1.359018361263e-01 +-1.371569889621e-01 -1.381479589410e-01 -1.388759584938e-01 -1.393426209511e-01 +-1.395499957974e-01 -1.395005432216e-01 -1.391971279746e-01 -1.386430125484e-01 +-1.378418496907e-01 -1.367976742705e-01 -1.355148945107e-01 -1.339982826069e-01 +-1.322529647502e-01 -1.302844105739e-01 -1.280984220447e-01 -1.257011218207e-01 +-1.230989410988e-01 -1.202986069733e-01 -1.173071293331e-01 -1.141317873188e-01 +-1.107801153683e-01 -1.072598888758e-01 -1.035791094915e-01 -9.974599008950e-02 +-9.576893943205e-02 -9.165654655832e-02 -8.741756492694e-02 -8.306089634124e-02 +-7.859557468680e-02 -7.403074951113e-02 -6.937566947526e-02 -6.463966570746e-02 +-5.983213508908e-02 -5.496252350283e-02 -5.004030907345e-02 -4.507498543086e-02 +-4.007604502571e-02 -3.505296252697e-02 -3.001517833094e-02 -2.497208221092e-02 +-1.993299713613e-02 -1.490716328841e-02 -9.903722304457e-03 -4.931701771028e-03 +4.773444701199e-14 4.882628890872e-03 9.707589564902e-03 1.446645969794e-02 +1.915100382853e-02 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/model.ptg b/tests/09_DeePKS/NO_KP_deepks_UT/model.ptg new file mode 100644 index 0000000000..400c7e0bd8 Binary files /dev/null and b/tests/09_DeePKS/NO_KP_deepks_UT/model.ptg differ diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/o_delta_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/o_delta_ref.dat new file mode 100644 index 0000000000..9e37109564 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/o_delta_ref.dat @@ -0,0 +1,9 @@ +-0.004461997742 +-0.004432410065 +-0.004439336216 +-0.004446706113 +-0.004415529913 +-0.004423577618 +-0.004421982625 +-0.004394847892 +-0.004401317917 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/orbpre_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/orbpre_ref.dat new file mode 100644 index 0000000000..5a4e6dfc11 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/orbpre_ref.dat @@ -0,0 +1,27 @@ +0.2035597949 0.0004215229555 0.08186309906 0.1289546843 0.138156727 0.004699812287 0.006211347756 0.006570054184 -2.440101941e-22 -5.125203867e-22 4.932164871e-07 1.975355456e-06 4.093233521e-05 -1.143490549e-22 -2.420871593e-22 3.720239362e-07 1.411841259e-06 1.695323634e-05 +0.05497891088 0.0002692312004 3.72422203e-05 7.593244657e-05 0.0005979408965 1.415628528e-05 2.840298733e-05 0.0002320720617 9.266058353e-12 1.957319992e-05 2.684464514e-05 3.184363029e-05 0.0002211876779 2.096448589e-11 8.129634514e-06 1.117843333e-05 1.317459924e-05 9.335083701e-05 +0.07475183576 0.0001178148593 3.169431729e-06 2.427595713e-05 6.959701492e-05 1.223218079e-06 9.275839306e-06 2.636627278e-05 8.092355347e-08 2.821184378e-07 2.822994573e-06 8.511182446e-06 1.558751215e-05 3.554282058e-08 1.197633635e-07 1.41213441e-06 4.252042045e-06 6.775639293e-06 +0.203539683 0.0004200500763 0.08162668771 0.128125964 0.138324721 0.004708023418 0.00615662993 0.006580961506 -3.125196868e-22 -1.144633606e-21 4.811205805e-07 1.927108578e-06 4.076534314e-05 2.006697945e-22 -4.275495153e-23 3.629016273e-07 1.377493521e-06 1.68815649e-05 +0.05460861494 0.0002621450038 3.716265672e-05 7.295625694e-05 0.000594634269 1.412591178e-05 2.729068248e-05 0.0002308581101 9.044651437e-12 1.927422013e-05 2.663893544e-05 3.171050909e-05 0.0002210694533 2.046359329e-11 8.006173262e-06 1.109248588e-05 1.311914227e-05 9.331088476e-05 +0.0729010348 0.0001162235395 3.151571193e-06 2.432622157e-05 6.867162072e-05 1.216463388e-06 9.295244932e-06 2.601743523e-05 8.060691691e-08 2.728496902e-07 2.854091231e-06 8.627290677e-06 1.544522501e-05 3.544958514e-08 1.156276488e-07 1.427164122e-06 4.299843934e-06 6.726686173e-06 +0.2034470227 0.0004200413302 0.08026560705 0.1302274171 0.1382404677 0.004663555859 0.006246796597 0.006573660032 1.212176922e-23 2.489749017e-23 4.812812822e-07 1.927773602e-06 4.074207844e-05 -8.582145063e-23 -6.330497248e-23 3.630080376e-07 1.377723897e-06 1.687559201e-05 +0.0544882815 0.0002570769221 3.74821859e-05 7.319982598e-05 0.0005883875069 1.424772661e-05 2.738362565e-05 0.0002285487687 9.052797081e-12 1.926242846e-05 2.724281373e-05 3.145354596e-05 0.000219780491 2.048216055e-11 8.00154646e-06 1.134678042e-05 1.301064616e-05 9.279015223e-05 +0.07289466215 0.0001149364372 3.211738568e-06 2.428891452e-05 6.910716491e-05 1.238876129e-06 9.276378469e-06 2.617835779e-05 8.15279949e-08 2.841699934e-07 2.829563132e-06 8.410482485e-06 1.559889754e-05 3.58503818e-08 1.205266817e-07 1.41663125e-06 4.18226326e-06 6.813576189e-06 +0.20289508 0.0003710000386 0.08009353288 0.1259291228 0.1399559022 0.004796494788 0.006237225409 0.00653362932 -3.398993376e-22 7.74938736e-22 4.845459805e-07 2.018214962e-06 3.974788671e-05 -1.855840806e-23 -8.161357603e-23 3.642577407e-07 1.464022111e-06 1.626585032e-05 +0.0501496753 0.0001585578554 3.725961327e-05 0.0001194294729 0.0005769121573 1.416628099e-05 4.481736058e-05 0.0002241180535 9.194152947e-12 1.513609829e-05 2.861000825e-05 3.762320662e-05 0.0002340823897 2.073219757e-11 6.304231189e-06 1.18734932e-05 1.56325465e-05 9.876200319e-05 +0.06800916174 4.472056683e-05 3.156878736e-06 2.42821792e-05 6.919422158e-05 1.215589245e-06 9.292615125e-06 2.621786419e-05 7.981665631e-08 2.634499348e-07 2.810192725e-06 8.440183041e-06 1.543626452e-05 3.501027796e-08 1.10676336e-07 1.405189e-06 4.215970121e-06 6.716416751e-06 +0.2028041309 0.000370796419 0.08007272207 0.125282095 0.1402506432 0.004816862904 0.006191399157 0.006551626505 -1.64503004e-22 1.003077523e-21 4.72275653e-07 1.9672264e-06 3.959994952e-05 5.559116808e-22 2.25351035e-22 3.550314645e-07 1.427066027e-06 1.62084267e-05 +0.04988571864 0.0001565334349 3.720306461e-05 0.0001172686217 0.0005754125531 1.414494595e-05 4.401090495e-05 0.000223569274 8.95652669e-12 1.480999027e-05 2.854230567e-05 3.763277317e-05 0.0002333157525 2.019694191e-11 6.168723453e-06 1.184296394e-05 1.563759282e-05 9.844899828e-05 +0.06621903348 4.426636454e-05 3.147745072e-06 2.435234875e-05 6.835128908e-05 1.212154685e-06 9.318916926e-06 2.590211492e-05 7.966898027e-08 2.557837308e-07 2.844426769e-06 8.574137603e-06 1.529664361e-05 3.500084908e-08 1.071956072e-07 1.421949393e-06 4.272244621e-06 6.669553122e-06 +0.2028012586 0.0003708977199 0.07881452129 0.1273441182 0.1400787754 0.004769705611 0.006277349592 0.006541207401 -4.171338798e-23 -7.35246146e-22 4.727161445e-07 1.968324491e-06 3.957204706e-05 4.967273926e-22 3.847446622e-22 3.553807802e-07 1.427778968e-06 1.619696726e-05 +0.0498625041 0.0001563154686 3.746532796e-05 0.0001176814191 0.0005707542026 1.424448189e-05 4.416647476e-05 0.0002218541241 8.962692576e-12 1.484455926e-05 2.906810048e-05 3.748472503e-05 0.0002310956922 2.021058621e-11 6.182878802e-06 1.206310311e-05 1.5575626e-05 9.754866268e-05 +0.06634136985 4.438322155e-05 3.205197569e-06 2.431389726e-05 6.88264562e-05 1.233635215e-06 9.299628987e-06 2.607762961e-05 8.079586633e-08 2.670016447e-07 2.820946932e-06 8.354592771e-06 1.54582477e-05 3.547142043e-08 1.120867841e-07 1.412023241e-06 4.153293043e-06 6.759832091e-06 +0.2033630042 0.0004077313766 0.07984145739 0.1301651433 0.139365185 0.004470591004 0.006216407106 0.006601437089 -2.377579452e-23 1.371842698e-21 4.671447006e-07 1.920993286e-06 4.078699327e-05 -2.667787341e-22 1.491847535e-22 3.507545561e-07 1.372803943e-06 1.697047616e-05 +0.05031816566 0.0002065744278 3.780662408e-05 0.0001754706878 0.0005833801342 1.436343897e-05 6.592391776e-05 0.0002265829563 9.047679263e-12 9.95116695e-06 4.282407708e-05 3.601712706e-05 0.0002193958018 2.038756429e-11 4.134013205e-06 1.777855492e-05 1.499244004e-05 9.270856351e-05 +0.06965049373 8.684482284e-05 3.139520224e-06 2.416609448e-05 6.711835894e-05 1.212710078e-06 9.259132724e-06 2.543589401e-05 7.367319063e-08 2.764597314e-07 2.797043861e-06 8.548700045e-06 1.528801577e-05 3.235376502e-08 1.176688476e-07 1.39462168e-06 4.260089565e-06 6.66340398e-06 +0.203348661 0.0004070389682 0.07996598651 0.1295364987 0.139575914 0.004484757016 0.006170083786 0.006616340297 -3.071219254e-22 -1.853083835e-21 4.561525393e-07 1.875518882e-06 4.065729547e-05 -2.099314987e-22 -1.237658555e-22 3.425039653e-07 1.34020763e-06 1.691515521e-05 +0.05014747825 0.0002076194078 3.777378195e-05 0.0001739317921 0.0005830812365 1.435080873e-05 6.534994418e-05 0.0002264863874 8.834556234e-12 9.636323728e-06 4.302562486e-05 3.589140265e-05 0.0002180790914 1.990665596e-11 4.002709003e-06 1.786006625e-05 1.494087776e-05 9.217497194e-05 +0.06810232224 8.740037013e-05 3.133328488e-06 2.42495334e-05 6.648033976e-05 1.210476245e-06 9.290074181e-06 2.519742565e-05 7.3758016e-08 2.687915032e-07 2.83255562e-06 8.681118166e-06 1.517493074e-05 3.241371929e-08 1.142199602e-07 1.412247093e-06 4.317211499e-06 6.626155361e-06 +0.2033394379 0.0004063133478 0.07862657364 0.1313554028 0.139550502 0.004433766673 0.006251213741 0.006609949881 -3.566083061e-23 -1.514972162e-21 4.560798671e-07 1.8758981e-06 4.060002543e-05 8.73543831e-23 -3.752766477e-23 3.424464239e-07 1.340801099e-06 1.688778155e-05 +0.05001650757 0.0002047283524 3.805471253e-05 0.000173872839 0.0005773438887 1.445756237e-05 6.532833903e-05 0.0002243707132 8.829963757e-12 9.677234398e-06 4.338457454e-05 3.582089292e-05 0.000215914728 1.989637071e-11 4.019688577e-06 1.801091843e-05 1.49109407e-05 9.129909998e-05 +0.06806143065 8.63263686e-05 3.189253865e-06 2.419886891e-05 6.690275045e-05 1.231251045e-06 9.266275056e-06 2.535306376e-05 7.467994368e-08 2.791265468e-07 2.806742628e-06 8.460840637e-06 1.5322774e-05 3.280984024e-08 1.187440827e-07 1.400938957e-06 4.197535855e-06 6.710662662e-06 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/pdm_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/pdm_ref.dat new file mode 100644 index 0000000000..7adbaab3db --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/pdm_ref.dat @@ -0,0 +1,18 @@ +1.829098073 +0.003595392232 +0.8490272341 -0.1740580377 -0.09524926094 -0.1740580377 1.079335651 -0.09355891198 -0.09524926094 -0.09355891198 1.203226586 +0.04334753747 -0.004166022719 -0.001285470213 -0.004166022719 0.05469762591 -0.001023623707 -0.001285470213 -0.001023623707 0.05893572547 +2.659400179e-05 3.981556572e-05 2.937703696e-05 6.068037848e-06 2.608978168e-05 3.981556572e-05 0.0001670522077 0.000128396985 2.797904524e-05 0.000115672994 2.937703696e-05 0.000128396985 0.0001058343295 2.209111518e-05 9.118949265e-05 6.068037848e-06 2.797904524e-05 2.209111518e-05 4.749014145e-06 1.959317025e-05 2.608978168e-05 0.000115672994 9.118949265e-05 1.959317025e-05 8.089534815e-05 +1.644740977e-05 1.625660432e-05 1.237821866e-05 2.341660773e-06 1.041053081e-05 1.625660432e-05 6.938007956e-05 5.238095146e-05 1.155581717e-05 4.776798071e-05 1.237821866e-05 5.238095146e-05 4.468501447e-05 9.116764038e-06 3.764156091e-05 2.341660773e-06 1.155581717e-05 9.116764038e-06 1.965735911e-06 8.100680269e-06 1.041053081e-05 4.776798071e-05 3.764156091e-05 8.100680269e-06 3.342485773e-05 +0.4644558568 +0.001878782073 +0.002884826402 0.001785295542 0.001143167089 0.001785295542 0.002094276435 0.001458859514 0.001143167089 0.001458859514 0.001705937557 +0.001112783091 0.0006966926645 0.0004503369843 0.0006966926645 0.0008110613751 0.0005656206165 0.0004503369843 0.0005656206165 0.000655547662 +0.0002795157442 0.000279351416 0.0002118042808 1.551191055e-05 5.698163506e-05 0.000279351416 0.001006777132 0.0006959354568 0.0002804089628 0.0005385278674 0.0002118042808 0.0006959354568 0.0007363775966 5.560526846e-05 0.0004142401613 1.551191055e-05 0.0002804089628 5.560526846e-05 0.000221824679 5.432139371e-05 5.698163506e-05 0.0005385278674 0.0004142401613 5.432139371e-05 0.0005132501266 +0.0001162122756 0.0001171440251 8.886809703e-05 6.641409461e-06 2.455431543e-05 0.0001171440251 0.0004244147362 0.0002941125191 0.0001175063726 0.0002283044665 8.886809703e-05 0.0002941125191 0.0003098920049 2.40040228e-05 0.0001757195668 6.641409461e-06 0.0001175063726 2.40040228e-05 9.227199331e-05 2.333458618e-05 2.455431543e-05 0.0002283044665 0.0001757195668 2.333458618e-05 0.0002165941562 +0.6269313444 +0.0007429165505 +0.0004662807159 -7.593680204e-05 -0.0001761958779 -7.593680204e-05 9.7527937e-05 0.0001357171454 -0.0001761958779 0.0001357171454 0.0002973992443 +0.0001796082467 -2.700581308e-05 -6.638667511e-05 -2.700581308e-05 3.673014514e-05 5.039491517e-05 -6.638667511e-05 5.039491517e-05 0.000110976146 +8.333106992e-05 1.432806967e-05 1.202804904e-05 4.704489998e-06 -1.053002591e-05 1.432806967e-05 3.528996212e-05 2.176201914e-05 1.684999799e-05 -2.625749051e-05 1.202804904e-05 2.176201914e-05 7.307313825e-05 2.94776476e-05 -4.458130742e-05 4.704489998e-06 1.684999799e-05 2.94776476e-05 1.63669368e-05 -2.331768637e-05 -1.053002591e-05 -2.625749051e-05 -4.458130742e-05 -2.331768637e-05 3.572969161e-05 +4.44132817e-05 6.099053728e-06 6.51282944e-06 2.025094068e-06 -5.327649216e-06 6.099053728e-06 1.567091833e-05 7.904027037e-06 7.058687339e-06 -1.104165946e-05 6.51282944e-06 7.904027037e-06 3.086995875e-05 1.194757521e-05 -1.828651869e-05 2.025094068e-06 7.058687339e-06 1.194757521e-05 6.759001793e-06 -9.656762858e-06 -5.327649216e-06 -1.104165946e-05 -1.828651869e-05 -9.656762858e-06 1.494857011e-05 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/phialpha_r_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/phialpha_r_ref.dat new file mode 100644 index 0000000000..e737ce22e4 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/phialpha_r_ref.dat @@ -0,0 +1,90 @@ +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.01543554467 -0.008065153447 -0.01244641558 -0.001923079779 0.002999569923 0.007741992235 0.001196205335 -0.001865810032 0.003518338782 0.0009817979232 -0.001531382916 -0.0001086824711 -0.0002366120191 -0.002833911453 -0.0007908074096 0.001233480871 8.754031902e-05 0.0001905835544 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.01242662179 -0.006477161275 0.01097039075 -0.00162689654 0.002537590993 -0.006348711177 0.0009415066869 -0.001468537692 0.003015181109 -0.0008048659007 0.00125540894 -8.551568097e-05 -0.0001861757259 -0.002752907546 0.0007348551651 -0.001146208012 7.807715522e-05 0.0001699813518 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.05764787604 -0.03269664837 -0.02891309865 -0.02565587961 -0.02018788394 0.01762729729 0.01564148563 0.01230784137 0.003618889031 0.01534123614 0.01207158356 0.002592132746 0.01071165351 -0.002325372903 -0.009857747643 -0.007756782004 -0.001665614833 -0.006882937995 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-3.235665827e-12 6.459383561e-12 -7.496419526e-12 2.186899137e-12 1.720808899e-12 1.285653335e-11 -3.750582742e-12 -2.951227174e-12 -1.081805427e-11 5.870671048e-12 4.619464525e-12 -3.261123371e-13 -1.347617079e-12 1.701898686e-11 -9.235752656e-12 -7.267351792e-12 5.130406489e-13 2.120074165e-12 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.949842409 -0.03558002646 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0.8831112507 0 0 0.1909716474 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0.8831112507 0 0 0.1909716474 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0.8831112507 0 0 0.1909716474 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.04257844364 -0.02417633078 -0.01875373391 0.01113470711 0.02250388227 0.01145805784 -0.006803024862 -0.01374930378 0.0005859403333 -0.00580624991 -0.01173476438 -0.005316990868 0.006967314615 -0.000377863047 0.003744352724 0.007567551803 0.003428837812 -0.004493103787 +-8.823436698e-13 1.761408977e-12 2.044140447e-12 -5.963285493e-13 -4.692340205e-13 -3.505813654e-12 1.022736365e-12 8.047622355e-13 -2.9499256e-12 1.600846362e-12 1.259660594e-12 -8.892607748e-14 -3.674755204e-13 4.640947554e-12 -2.518519113e-12 -1.981751252e-12 1.399022612e-13 5.781280102e-13 +-2.438582561e-12 4.86819372e-12 5.650113754e-12 -1.649916376e-12 -1.298272396e-12 -9.690033745e-12 2.829639951e-12 2.226563415e-12 -8.146925528e-12 4.425258164e-12 3.482110127e-12 -2.4602072e-13 -1.016648824e-12 1.28164617e-11 -6.961689698e-12 -5.477956155e-12 3.870340474e-13 1.599368172e-12 +7.113974986e-13 -1.420177807e-12 -1.649916376e-12 4.757278704e-13 3.7873958e-13 2.829639951e-12 -8.158573101e-13 -6.495460392e-13 2.38291152e-12 -1.279658162e-12 -1.016648824e-12 6.816620704e-14 2.937465207e-13 -3.748754012e-12 2.013049372e-12 1.599368172e-12 -1.072144542e-13 -4.620970402e-13 +5.597785128e-13 -1.117497633e-12 -1.298272396e-12 3.7873958e-13 2.924240944e-13 2.226563415e-12 -6.495460392e-13 -5.014876272e-13 1.875045484e-12 -1.016648824e-12 -7.876167218e-13 5.931043831e-14 2.297681345e-13 -2.949788198e-12 1.599368172e-12 1.238981277e-12 -9.332391695e-14 -3.614428298e-13 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +5.816977142e-06 -1.130009148e-05 -4.443707969e-06 2.638375214e-06 -1.300541872e-05 7.347779566e-06 -4.362617799e-06 2.150477722e-05 -7.675952679e-06 -2.282055052e-06 1.124899951e-05 -1.578378151e-05 -6.678900075e-06 1.153176835e-05 3.428386197e-06 -1.689964255e-05 2.371235462e-05 1.003387224e-05 +0.02620624272 -0.01765994681 0.01837713881 0.0163068534 0.01283140039 -0.01229302457 -0.01090814797 -0.008583312227 0.00296628903 0.01257472668 0.009894695743 0.002124689335 0.008780004033 -0.002019636009 -0.008561664272 -0.006736930763 -0.00144662204 -0.005977978586 +-0.0464567146 0.02679448593 -0.01898647553 -0.02982218359 -0.02346623036 0.01141316902 0.01812643311 0.01426317606 0.005154366219 -0.01533640357 -0.01206778095 -0.003982504916 -0.01645718678 -0.003357712502 0.009722637692 0.007650467816 0.002539024192 0.01049218927 +-0.04122311106 0.02377594023 -0.02982218359 -0.01184067845 -0.02082263089 0.01812643311 0.007069831373 0.01265635109 -0.009687295039 -0.01163579488 -0.01645718678 0.004699734615 -0.008124417219 0.006207837528 0.007356351899 0.01049218927 -0.003051292448 0.00513639787 +-0.0324372968 0.01870861296 -0.02346623036 -0.02082263089 -0.001762864906 0.01426317606 0.01265635109 0.0009443639846 -0.007622657685 -0.01645718678 -0.003670785049 -0.009259466665 -0.003257250993 0.004884771265 0.01049218927 0.002278303515 0.005946602068 0.002021640136 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.8778350314 -0.01899237841 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +5.816977142e-06 -1.130009148e-05 4.443707969e-06 -2.638375214e-06 1.300541872e-05 -7.347779566e-06 4.362617799e-06 -2.150477722e-05 -7.675952679e-06 -2.282055052e-06 1.124899951e-05 -1.578378151e-05 -6.678900075e-06 1.153176835e-05 3.428386197e-06 -1.689964255e-05 2.371235462e-05 1.003387224e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.003090520969 -0.001951458591 -0.003181413023 0.0004717999529 -0.0007359013201 0.002079048377 -0.0003083205228 0.0004809103483 0.001471587277 -0.0003928223135 0.0006127140481 -4.173672609e-05 -9.086480033e-05 -0.001129028787 0.0003013804938 -0.0004700854714 3.202118283e-05 6.971314372e-05 +0.01110414519 -0.006405338519 -0.01079981165 0.001852244286 -0.002889082558 0.006534436311 -0.001121743466 0.001749666341 0.004187020407 -0.001385658729 0.002161314518 -0.0001736254316 -0.0003779989868 -0.003238551237 0.001037660671 -0.00161851618 0.0001273100938 0.0002771661156 +-0.001646732172 0.0009499044576 0.001852244286 0.001415444712 0.0004284476757 -0.001121743466 -0.0008632833679 -0.0002594735394 -0.001051324618 -0.001433248674 -0.0003779989868 0.0002742366783 -0.0003315286583 0.0007583897246 0.0009050529002 0.0002771661156 -0.0001794504284 0.0002093502539 +0.002568530098 -0.001481636316 -0.002889082558 0.0004284476757 0.001021848881 0.001749666341 -0.0002594735394 -0.0006249165636 0.00163982885 -0.0003779989868 -0.00108599781 0.0003474237086 0.000161052247 -0.001182916607 0.0002771661156 0.0006504327127 -0.0002210052305 -9.645843562e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.04257844364 -0.02417633078 0.01875373391 -0.01113470711 -0.02250388227 -0.01145805784 0.006803024862 0.01374930378 0.0005859403333 -0.00580624991 -0.01173476438 -0.005316990868 0.006967314615 -0.000377863047 0.003744352724 0.007567551803 0.003428837812 -0.004493103787 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.00406420697 -0.002591654052 0.00401526231 0.0006203930529 -0.0009676729803 -0.002711808927 -0.0004189981349 0.0006535424149 0.001947926272 0.0005435718634 -0.0008478492831 -6.017198847e-05 -0.0001310001102 -0.00139810647 -0.0003901437904 0.0006085361573 4.318790069e-05 9.402414469e-05 +-0.01419405342 0.008149246796 -0.01291285755 -0.0023437266 0.003655683914 0.008129862255 0.001469242087 -0.00229168567 -0.00511471444 -0.001779628247 0.002775817947 0.0002329346753 0.00050712082 0.003628639963 0.001245910782 -0.001943339298 -0.0001617149694 -0.000352068784 +-0.002193105071 0.001259129718 -0.0023437266 0.001893911254 0.0005648350541 0.001469242087 -0.001152247654 -0.0003540854269 -0.001352524437 0.001775850084 0.00050712082 0.0003606093461 -0.0004279775544 0.0009329841386 -0.001165552804 -0.000352068784 -0.0002399498199 0.0002808967057 +0.003420748363 -0.00196395785 0.003655683914 0.0005648350541 0.001375022403 -0.00229168567 -0.0003540854269 -0.0008269651152 0.00210963251 0.00050712082 0.001309980734 0.0004501951918 0.0002024034506 -0.001455244442 -0.000352068784 -0.000842122865 -0.0002963213072 -0.0001301153287 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.8778350314 -0.01899237841 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/phialpha_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/phialpha_ref.dat new file mode 100644 index 0000000000..9a4ff4d3c0 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/phialpha_ref.dat @@ -0,0 +1,183 @@ +iat : 0 +ad : 20 5.094192361 +R : 0 -1 -1 +iw : 5 +0.01543554467 -0.008065153447 -0.01244641558 -0.001923079779 0.002999569923 0.007741992235 +0.001196205335 -0.001865810032 0.003518338782 0.0009817979232 -0.001531382916 -0.0001086824711 +-0.0002366120191 -0.002833911453 -0.0007908074096 0.001233480871 8.754031902e-05 0.0001905835544 + +ad : 23 5.291649545 +R : 0 -1 0 +iw : 5 +0.01242662179 -0.006477161275 0.01097039075 -0.00162689654 0.002537590993 -0.006348711177 +0.0009415066869 -0.001468537692 0.003015181109 -0.0008048659007 0.00125540894 -8.551568097e-05 +-0.0001861757259 -0.002752907546 0.0007348551651 -0.001146208012 7.807715522e-05 0.0001699813518 + +ad : 27 3.731782527 +R : 0 0 -1 +iw : 4 +0.05764787604 -0.03269664837 -0.02891309865 -0.02565587961 -0.02018788394 0.01762729729 +0.01564148563 0.01230784137 0.003618889031 0.01534123614 0.01207158356 0.002592132746 +0.01071165351 -0.002325372903 -0.009857747643 -0.007756782004 -0.001665614833 -0.006882937995 + +ad : 29 8.027587471 +R : 0 0 0 +iw : 4 +-3.235665827e-12 6.459383561e-12 -7.496419526e-12 2.186899137e-12 1.720808899e-12 1.285653335e-11 +-3.750582742e-12 -2.951227174e-12 -1.081805427e-11 5.870671048e-12 4.619464525e-12 -3.261123371e-13 +-1.347617079e-12 1.701898686e-11 -9.235752656e-12 -7.267351792e-12 5.130406489e-13 2.120074165e-12 + +ad : 49 0 +R : 0 0 0 +iw : 0 +0.949842409 -0.03558002646 0 0 0 0 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iw : 1 +0 0 0.8831112507 0 0 0.1909716474 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iw : 2 +0 0 0 0.8831112507 0 0 +0.1909716474 0 0 0 0 0 +0 0 0 0 0 0 + +iw : 3 +0 0 0 0 0.8831112507 0 +0 0.1909716474 0 0 0 0 +0 0 0 0 0 0 + +iat : 1 +ad : 16 4.049413304 +R : 0 -1 0 +iw : 5 +0.04257844364 -0.02417633078 -0.01875373391 0.01113470711 0.02250388227 0.01145805784 +-0.006803024862 -0.01374930378 0.0005859403333 -0.00580624991 -0.01173476438 -0.005316990868 +0.006967314615 -0.000377863047 0.003744352724 0.007567551803 0.003428837812 -0.004493103787 + +ad : 22 8.027587471 +R : 0 0 0 +iw : 0 +-8.823436698e-13 1.761408977e-12 2.044140447e-12 -5.963285493e-13 -4.692340205e-13 -3.505813654e-12 +1.022736365e-12 8.047622355e-13 -2.9499256e-12 1.600846362e-12 1.259660594e-12 -8.892607748e-14 +-3.674755204e-13 4.640947554e-12 -2.518519113e-12 -1.981751252e-12 1.399022612e-13 5.781280102e-13 + +iw : 1 +-2.438582561e-12 4.86819372e-12 5.650113754e-12 -1.649916376e-12 -1.298272396e-12 -9.690033745e-12 +2.829639951e-12 2.226563415e-12 -8.146925528e-12 4.425258164e-12 3.482110127e-12 -2.4602072e-13 +-1.016648824e-12 1.28164617e-11 -6.961689698e-12 -5.477956155e-12 3.870340474e-13 1.599368172e-12 + +iw : 2 +7.113974986e-13 -1.420177807e-12 -1.649916376e-12 4.757278704e-13 3.7873958e-13 2.829639951e-12 +-8.158573101e-13 -6.495460392e-13 2.38291152e-12 -1.279658162e-12 -1.016648824e-12 6.816620704e-14 +2.937465207e-13 -3.748754012e-12 2.013049372e-12 1.599368172e-12 -1.072144542e-13 -4.620970402e-13 + +iw : 3 +5.597785128e-13 -1.117497633e-12 -1.298272396e-12 3.7873958e-13 2.924240944e-13 2.226563415e-12 +-6.495460392e-13 -5.014876272e-13 1.875045484e-12 -1.016648824e-12 -7.876167218e-13 5.931043831e-14 +2.297681345e-13 -2.949788198e-12 1.599368172e-12 1.238981277e-12 -9.332391695e-14 -3.614428298e-13 + +ad : 23 7.631582655 +R : 0 0 0 +iw : 5 +5.816977142e-06 -1.130009148e-05 -4.443707969e-06 2.638375214e-06 -1.300541872e-05 7.347779566e-06 +-4.362617799e-06 2.150477722e-05 -7.675952679e-06 -2.282055052e-06 1.124899951e-05 -1.578378151e-05 +-6.678900075e-06 1.153176835e-05 3.428386197e-06 -1.689964255e-05 2.371235462e-05 1.003387224e-05 + +ad : 24 3.731782527 +R : 0 0 1 +iw : 0 +0.02620624272 -0.01765994681 0.01837713881 0.0163068534 0.01283140039 -0.01229302457 +-0.01090814797 -0.008583312227 0.00296628903 0.01257472668 0.009894695743 0.002124689335 +0.008780004033 -0.002019636009 -0.008561664272 -0.006736930763 -0.00144662204 -0.005977978586 + +iw : 1 +-0.0464567146 0.02679448593 -0.01898647553 -0.02982218359 -0.02346623036 0.01141316902 +0.01812643311 0.01426317606 0.005154366219 -0.01533640357 -0.01206778095 -0.003982504916 +-0.01645718678 -0.003357712502 0.009722637692 0.007650467816 0.002539024192 0.01049218927 + +iw : 2 +-0.04122311106 0.02377594023 -0.02982218359 -0.01184067845 -0.02082263089 0.01812643311 +0.007069831373 0.01265635109 -0.009687295039 -0.01163579488 -0.01645718678 0.004699734615 +-0.008124417219 0.006207837528 0.007356351899 0.01049218927 -0.003051292448 0.00513639787 + +iw : 3 +-0.0324372968 0.01870861296 -0.02346623036 -0.02082263089 -0.001762864906 0.01426317606 +0.01265635109 0.0009443639846 -0.007622657685 -0.01645718678 -0.003670785049 -0.009259466665 +-0.003257250993 0.004884771265 0.01049218927 0.002278303515 0.005946602068 0.002021640136 + +ad : 48 0 +R : 0 0 0 +iw : 4 +0.8778350314 -0.01899237841 0 0 0 0 +0 0 0 0 0 0 +0 0 0 0 0 0 + +iat : 2 +ad : 19 7.631582655 +R : 0 0 0 +iw : 4 +5.816977142e-06 -1.130009148e-05 4.443707969e-06 -2.638375214e-06 1.300541872e-05 -7.347779566e-06 +4.362617799e-06 -2.150477722e-05 -7.675952679e-06 -2.282055052e-06 1.124899951e-05 -1.578378151e-05 +-6.678900075e-06 1.153176835e-05 3.428386197e-06 -1.689964255e-05 2.371235462e-05 1.003387224e-05 + +ad : 25 5.291649545 +R : 0 1 0 +iw : 0 +0.003090520969 -0.001951458591 -0.003181413023 0.0004717999529 -0.0007359013201 0.002079048377 +-0.0003083205228 0.0004809103483 0.001471587277 -0.0003928223135 0.0006127140481 -4.173672609e-05 +-9.086480033e-05 -0.001129028787 0.0003013804938 -0.0004700854714 3.202118283e-05 6.971314372e-05 + +iw : 1 +0.01110414519 -0.006405338519 -0.01079981165 0.001852244286 -0.002889082558 0.006534436311 +-0.001121743466 0.001749666341 0.004187020407 -0.001385658729 0.002161314518 -0.0001736254316 +-0.0003779989868 -0.003238551237 0.001037660671 -0.00161851618 0.0001273100938 0.0002771661156 + +iw : 2 +-0.001646732172 0.0009499044576 0.001852244286 0.001415444712 0.0004284476757 -0.001121743466 +-0.0008632833679 -0.0002594735394 -0.001051324618 -0.001433248674 -0.0003779989868 0.0002742366783 +-0.0003315286583 0.0007583897246 0.0009050529002 0.0002771661156 -0.0001794504284 0.0002093502539 + +iw : 3 +0.002568530098 -0.001481636316 -0.002889082558 0.0004284476757 0.001021848881 0.001749666341 +-0.0002594735394 -0.0006249165636 0.00163982885 -0.0003779989868 -0.00108599781 0.0003474237086 +0.000161052247 -0.001182916607 0.0002771661156 0.0006504327127 -0.0002210052305 -9.645843562e-05 + +ad : 26 4.049413304 +R : 0 1 0 +iw : 4 +0.04257844364 -0.02417633078 0.01875373391 -0.01113470711 -0.02250388227 -0.01145805784 +0.006803024862 0.01374930378 0.0005859403333 -0.00580624991 -0.01173476438 -0.005316990868 +0.006967314615 -0.000377863047 0.003744352724 0.007567551803 0.003428837812 -0.004493103787 + +ad : 28 5.094192361 +R : 0 1 1 +iw : 0 +0.00406420697 -0.002591654052 0.00401526231 0.0006203930529 -0.0009676729803 -0.002711808927 +-0.0004189981349 0.0006535424149 0.001947926272 0.0005435718634 -0.0008478492831 -6.017198847e-05 +-0.0001310001102 -0.00139810647 -0.0003901437904 0.0006085361573 4.318790069e-05 9.402414469e-05 + +iw : 1 +-0.01419405342 0.008149246796 -0.01291285755 -0.0023437266 0.003655683914 0.008129862255 +0.001469242087 -0.00229168567 -0.00511471444 -0.001779628247 0.002775817947 0.0002329346753 +0.00050712082 0.003628639963 0.001245910782 -0.001943339298 -0.0001617149694 -0.000352068784 + +iw : 2 +-0.002193105071 0.001259129718 -0.0023437266 0.001893911254 0.0005648350541 0.001469242087 +-0.001152247654 -0.0003540854269 -0.001352524437 0.001775850084 0.00050712082 0.0003606093461 +-0.0004279775544 0.0009329841386 -0.001165552804 -0.000352068784 -0.0002399498199 0.0002808967057 + +iw : 3 +0.003420748363 -0.00196395785 0.003655683914 0.0005648350541 0.001375022403 -0.00229168567 +-0.0003540854269 -0.0008269651152 0.00210963251 0.00050712082 0.001309980734 0.0004501951918 +0.0002024034506 -0.001455244442 -0.000352068784 -0.000842122865 -0.0002963213072 -0.0001301153287 + +ad : 47 0 +R : 0 0 0 +iw : 5 +0.8778350314 -0.01899237841 0 0 0 0 +0 0 0 0 0 0 +0 0 0 0 0 0 + diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/stress_delta_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/stress_delta_ref.dat new file mode 100644 index 0000000000..49053ea78f --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/stress_delta_ref.dat @@ -0,0 +1,3 @@ +1.004974229e-06 7.499294394e-07 -1.238457495e-06 +7.499294394e-07 4.793843415e-07 -1.054309464e-06 +-1.238457495e-06 -1.054309464e-06 1.389465455e-06 diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/vdpre_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/vdpre_ref.dat new file mode 100644 index 0000000000..7ea3e5a941 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/vdpre_ref.dat @@ -0,0 +1,972 @@ +(0.9022006019,0) (0.001265938283,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0006867671573,0) (0.0003118737213,0) (5.478741969e-09,0) (2.484389374e-08,0) (0.0007682472119,0) (2.546730763e-09,0) (9.802916105e-09,0) (0.0003437670443,0) (2.902829344e-15,3.944304526e-31) (2.474974783e-07,0) (1.106742305e-06,0) (6.746724226e-07,5.916456789e-31) (0.000344401489,0) (6.865622166e-15,0) (1.123246758e-07,0) (4.728420013e-07,0) (3.041028689e-07,-3.944304526e-31) (0.0001597069346,0) +(2.606909815e-05,0) (1.052486136e-05,0) (1.50160704e-06,0) (9.220031973e-06,0) (1.760750571e-05,0) (6.598984231e-07,0) (3.84839452e-06,0) (8.0970703e-06,0) (1.625045466e-08,-1.292469707e-25) (6.544979468e-08,1.033975766e-25) (1.123332837e-06,5.169878828e-26) (5.541294868e-06,-1.80945759e-25) (7.884846338e-07,-4.135903063e-24) (6.573341473e-09,-7.754818243e-26) (2.967925929e-08,1.783608196e-24) (6.405630384e-07,-1.550963649e-25) (2.445001313e-06,2.067951531e-25) (9.585207486e-07,4.135903063e-25) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,-1.048968745e-13) (-0.0004731891963,-1.331680902e-13) (2.838254859e-07,-2.667032522e-15) (-1.646163048e-06,-2.058752428e-14) (-0.001134965332,9.353993365e-14) (1.193742549e-07,-2.806929651e-15) (-6.363442288e-07,-2.174782716e-14) (-0.0004599365052,1.036925755e-13) (-6.39905609e-15,-4.744497745e-19) (8.721502128e-07,9.270421917e-16) (-1.184494378e-05,2.305635264e-14) (-2.850339931e-06,1.637935329e-15) (-0.0004361013826,7.942071128e-14) (-1.451212062e-14,-1.126939084e-18) (3.845477493e-07,8.539000264e-16) (-4.942394664e-06,2.315955851e-14) (-1.259856574e-06,1.799159549e-15) (-0.0001885786623,8.350119887e-14) +(-2.336997728e-05,8.899656399e-05) (-8.620275597e-06,3.25033392e-05) (9.817825478e-08,5.801548646e-06) (5.084310361e-06,-3.009317751e-05) (-2.466390723e-05,-5.241278162e-05) (1.420505313e-07,2.363204515e-06) (1.623034791e-06,-1.170234502e-05) (-1.115234346e-05,-2.211479671e-05) (-4.043179797e-08,5.656802291e-08) (-2.05138522e-07,-2.751341749e-08) (7.187037426e-07,-3.7854683e-06) (-7.485119781e-06,1.298409725e-05) (1.719364356e-06,1.585304449e-06) (-1.709340046e-08,2.258118837e-08) (-9.133145593e-08,-1.217697277e-08) (1.259848231e-07,-2.133345284e-06) (-3.269905813e-06,5.697606153e-06) (1.2237451e-06,2.432502756e-06) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,-1.772989558e-14) (-0.0004198818397,-1.679889e-14) (-8.346906342e-07,8.241968752e-15) (5.740844431e-07,7.132640533e-15) (-0.001008053523,1.105114258e-14) (-3.508811352e-07,8.716645911e-15) (2.231317455e-07,7.573389404e-15) (-0.000408453118,9.53184962e-15) (-4.05730137e-15,-5.694584659e-20) (-8.286469788e-07,-3.094091175e-15) (8.264893354e-06,-1.417463855e-14) (-6.263236738e-06,1.984783545e-15) (-0.0004004110629,7.138747102e-15) (-9.588196122e-15,-1.375244239e-19) (-3.576931874e-07,-3.070677107e-15) (3.541007804e-06,-1.454441084e-14) (-2.664277624e-06,2.070054798e-15) (-0.0001730155867,5.991069674e-15) +(-1.400249322e-05,8.517683491e-08) (-5.116927849e-06,-4.684231583e-09) (2.138336521e-06,-4.599405375e-07) (-5.084421801e-06,3.325365207e-06) (-1.137644059e-05,-2.898889879e-06) (8.535405516e-07,-2.174669906e-07) (-1.941555583e-06,1.356036493e-06) (-4.835683466e-06,-1.14408203e-06) (-7.579709164e-09,2.762279321e-08) (-1.753976932e-07,2.708152116e-07) (1.596704523e-06,6.809813049e-07) (-4.264485678e-06,-1.255174248e-07) (-4.111833037e-07,-9.800694867e-07) (-3.057891808e-09,1.074053857e-08) (-8.079752589e-08,1.194200536e-07) (7.764209185e-07,2.571247395e-07) (-2.00927223e-06,2.278516912e-07) (-4.360917395e-07,-6.207081838e-07) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,-1.395115192e-14) (-0.0003303931097,-1.321857004e-14) (6.278742745e-07,-6.267371997e-15) (1.508336107e-06,1.829707832e-14) (-0.0007955499976,8.763968249e-15) (2.638376718e-07,-6.633341259e-15) (5.85025715e-07,1.938064798e-14) (-0.0003223495585,7.571202097e-15) (2.037832522e-15,1.279206619e-19) (-1.243278326e-06,-5.349347949e-15) (1.777719935e-06,-3.844960139e-15) (9.187079385e-06,-3.340764983e-15) (-0.0003238706207,6.12567423e-15) (5.892571045e-15,3.456051733e-19) (-5.39163517e-07,-5.385811883e-15) (7.135796431e-07,-3.765088724e-15) (3.990946276e-06,-3.584746342e-15) (-0.0001398980045,5.217450273e-15) +(2.184072547e-05,-1.328566161e-07) (7.98125124e-06,7.306342835e-09) (-2.353317487e-07,2.431358997e-07) (8.89348769e-06,5.889722967e-06) (1.368174814e-05,-6.080660701e-06) (-9.52595112e-08,1.163421003e-07) (3.483016518e-06,2.340901803e-06) (5.851874148e-06,-2.448645606e-06) (-8.904308778e-08,1.862177347e-09) (-1.575009145e-07,2.041408412e-07) (-4.182973373e-07,-3.929932664e-07) (5.261261828e-06,1.934800189e-06) (4.914717562e-07,-1.551016991e-06) (-3.785085941e-08,1.286475674e-10) (-7.066595277e-08,8.72698674e-08) (-1.727701374e-07,-1.345678508e-07) (2.079943364e-06,1.093768337e-06) (9.353131396e-07,-1.037909249e-06) +(-3.073369271e-12,0.05475639745) (-2.298249668e-13,0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,0.0230047579) (-3.345332529e-14,0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316075504,0.0001730712488) (4.720116007e-05,6.268597155e-05) (4.031033681e-08,3.956133911e-08) (1.905169148e-05,-1.703869909e-05) (-6.747304549e-05,0.0001071724234) (-5.145549248e-09,-4.804649686e-09) (7.921469579e-06,-7.275844325e-06) (-2.725047363e-05,4.449205454e-05) (3.972157313e-08,8.413345314e-08) (-1.312821309e-08,2.731487938e-07) (5.080023904e-08,-4.112130507e-08) (7.129046668e-06,1.241194881e-05) (-1.166681958e-05,-5.410234195e-06) (1.633681841e-08,3.614193552e-08) (-6.193488424e-09,1.219375237e-07) (4.487741215e-09,-4.249329443e-09) (4.483008284e-06,7.834532362e-06) (-6.705958711e-06,-4.615929459e-06) +(0.01180333237,0.01466133493) (0.0002304575695,0.000286958373) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.757388445e-14,0.001115973469) (-4.260428398e-14,0.0004271522746) (-2.922087985e-16,-2.943727023e-08) (-5.871141873e-14,4.890402007e-06) (3.464283974e-15,0.0001206219073) (-3.263684734e-16,-1.306127586e-08) (-6.150440357e-14,1.876272823e-06) (3.625422672e-15,4.927825048e-05) (1.759877347e-17,-5.348850364e-13) (-2.898493743e-14,5.889902487e-06) (8.821843004e-15,5.701133382e-06) (9.816179971e-16,2.824098531e-06) (-8.691825774e-15,-0.000151957234) (4.163347328e-17,-1.236962896e-12) (-2.938201667e-14,2.554513476e-06) (8.878386964e-15,2.395083132e-06) (1.077392545e-15,1.256996698e-06) (-8.826665706e-15,-6.661703989e-05) +(0.002712967572,0.003567703253) (3.706284003e-05,4.922167448e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,1.048968745e-13) (-0.0004731891963,1.331680902e-13) (2.838254859e-07,2.667032522e-15) (-1.646163048e-06,2.058752428e-14) (-0.001134965332,-9.353993365e-14) (1.193742549e-07,2.806929651e-15) (-6.363442288e-07,2.174782716e-14) (-0.0004599365052,-1.036925755e-13) (-6.399069642e-15,4.744497745e-19) (8.721502128e-07,-9.270421917e-16) (-1.184494378e-05,-2.305635264e-14) (-2.850339931e-06,-1.637935329e-15) (-0.0004361013826,-7.942071128e-14) (-1.451212062e-14,1.126939084e-18) (3.845477493e-07,-8.539000264e-16) (-4.942394664e-06,-2.315955851e-14) (-1.259856574e-06,-1.799159549e-15) (-0.0001885786623,-8.350119887e-14) +(-2.336997728e-05,-8.899656399e-05) (-8.620275597e-06,-3.25033392e-05) (9.817825478e-08,-5.801548646e-06) (5.084310361e-06,3.009317751e-05) (-2.466390723e-05,5.241278162e-05) (1.420505313e-07,-2.363204515e-06) (1.623034791e-06,1.170234502e-05) (-1.115234346e-05,2.211479671e-05) (-4.043179797e-08,-5.656802291e-08) (-2.05138522e-07,2.751341749e-08) (7.187037426e-07,3.7854683e-06) (-7.485119781e-06,-1.298409725e-05) (1.719364356e-06,-1.585304449e-06) (-1.709340046e-08,-2.258118837e-08) (-9.133145593e-08,1.217697277e-08) (1.259848231e-07,2.133345284e-06) (-3.269905813e-06,-5.697606153e-06) (1.2237451e-06,-2.432502756e-06) +(0,0) (0,0) (0.5510606563,0) (0.2287898526,0) (3.497233206e-05,0) (0.03259042882,0) (0.003852456277,0) (2.728501408e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.002158226331,0) (0.0007179444763,0) (1.470354086e-05,0) (0.0001090752041,0) (0.001676734109,0) (5.595492446e-06,0) (4.130750209e-05,0) (0.0006153632011,0) (1.410625631e-14,3.155443621e-30) (3.07334846e-06,3.944304526e-31) (0.0001267708775,0) (1.204204804e-05,1.57772181e-30) (0.0005522171709,0) (3.067480352e-14,0) (1.316513672e-06,0) (5.166052285e-05,0) (5.219413394e-06,0) (0.0002226698044,0) +(0.0003247731928,0) (0.0001074385849,0) (2.242104943e-05,0) (0.000101024546,0) (0.0001905669123,0) (8.493601038e-06,0) (3.626944176e-05,0) (7.576061162e-05,0) (2.975099223e-07,-2.067951531e-24) (6.545291938e-07,4.301339185e-23) (1.321630137e-05,8.271806126e-25) (4.053453297e-05,2.067951531e-25) (6.936601868e-06,-1.98523347e-23) (1.220223247e-07,-4.135903063e-25) (2.860486991e-07,-1.240770919e-24) (7.129718703e-06,1.447566072e-24) (1.765029723e-05,3.30872245e-24) (7.735483806e-06,-1.32348898e-23) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,-1.335751503e-13) (0.0006370640959,-1.537988172e-13) (-4.324103528e-05,2.064957961e-14) (-3.803898884e-05,3.11900116e-15) (0.001489241722,1.064118355e-13) (-1.644703661e-05,2.184936467e-14) (-1.448432252e-05,3.401844515e-15) (0.0005464819933,1.104512803e-13) (8.944071612e-15,-5.37611904e-19) (-2.920048495e-06,-7.799358519e-15) (-8.845527695e-05,-2.047495515e-14) (2.646077292e-05,6.820300902e-15) (0.0005070239929,8.329729939e-14) (2.026694378e-14,-1.283138686e-18) (-1.22457607e-06,-7.793369903e-15) (-3.701248625e-05,-2.141087058e-14) (1.103773763e-05,7.186674661e-15) (0.0002042932449,8.338536484e-14) +(1.284349739e-05,4.772636154e-05) (4.176499206e-06,1.580615794e-05) (-1.637198807e-06,-8.291662982e-06) (-1.365739124e-05,-1.476125239e-05) (2.456488526e-05,-2.98039344e-05) (-5.950508007e-07,-3.103480952e-06) (-4.942325707e-06,-5.332056991e-06) (9.785063172e-06,-1.163148615e-05) (1.150138939e-07,-4.234158657e-08) (4.359031483e-07,-9.22545632e-07) (-1.273242959e-06,5.816351088e-06) (5.466313628e-06,1.016188654e-05) (-2.867123006e-06,-1.31041973e-06) (4.484840704e-08,-1.742515531e-08) (1.996404585e-07,-4.006392654e-07) (-7.036287942e-07,2.636380213e-06) (3.2181333e-06,4.377497957e-06) (-2.131972104e-06,3.142402084e-07) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,-1.051064969e-13) (0.0005012876667,-1.210199267e-13) (3.252694177e-05,-1.903334618e-14) (-9.99427541e-05,3.755176299e-14) (0.001175300936,8.391686018e-14) (1.236700242e-05,-2.013420008e-14) (-3.797622396e-05,3.981209702e-14) (0.000431281392,8.71025428e-14) (-4.492296834e-15,5.108271321e-20) (-4.381157595e-06,-1.419353245e-14) (-1.902610263e-05,4.116223754e-15) (-3.881335348e-05,-8.189939113e-15) (0.0004101039919,6.692950174e-14) (-1.245537216e-14,2.367029216e-19) (-1.845846564e-06,-1.433977071e-14) (-7.458711811e-06,4.403933919e-15) (-1.653394432e-05,-8.760466044e-15) (0.0001651886852,6.698363681e-14) +(-2.003295385e-05,-7.44423399e-05) (-6.514395052e-06,-2.465403487e-05) (9.239836074e-07,9.251150332e-07) (-1.431917237e-05,3.227521164e-05) (-1.064377077e-06,4.92444156e-05) (3.961344705e-07,3.661838786e-07) (-5.649364548e-06,1.15785494e-05) (-1.372201324e-06,1.935529002e-05) (2.280251171e-07,3.053268573e-07) (4.078376831e-07,-7.060455894e-07) (1.056705235e-06,-1.661036676e-06) (-2.573322934e-06,-1.49414439e-05) (-2.046729951e-06,-4.370276278e-06) (9.88697933e-08,1.296933022e-07) (1.816535076e-07,-2.975472314e-07) (4.141876113e-07,-6.018640503e-07) (-2.328660063e-07,-6.309697042e-06) (-1.439856402e-06,-3.698707777e-06) +(0,0) (0,0) (-3.574796693e-12,-0.03098131397) (-3.042140382e-12,0.00541448473) (-3.236912117e-15,3.334652474e-05) (1.933870538e-12,0.004093227976) (5.083089287e-13,-0.0006826519903) (1.305409463e-14,-4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,-0.04078133152) (-9.245860848e-14,-0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728618127,-0.0006044432699) (0.0001549299637,-0.0001971109734) (1.554831761e-07,-1.531547939e-07) (6.611835083e-05,5.278679084e-05) (-0.0002245097037,-0.0003509719554) (-1.831387591e-08,1.739280133e-08) (2.546549238e-05,2.101936826e-05) (-8.398421587e-05,-0.0001357070295) (1.940406315e-07,-3.475987446e-07) (-7.367715354e-08,-8.616458177e-07) (1.710746026e-07,1.448801756e-07) (1.945324779e-05,-3.347036445e-05) (-3.631825003e-05,1.165944999e-05) (8.16747581e-08,-1.501052935e-07) (-3.097009875e-08,-3.777772687e-07) (1.503470171e-08,1.41103217e-08) (1.226136967e-05,-2.092456893e-05) (-2.027566464e-05,1.11249986e-05) +(0,0) (0,0) (0.006757530639,-0.007870554039) (0.002947874522,-0.003099524556) (-1.732966813e-05,-2.149103312e-05) (-0.001053979961,0.00135865188) (-0.0001660279204,0.0001079548395) (7.584049129e-06,1.18942919e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-1.038453564e-13,-0.001978324842) (-1.177501124e-13,-0.0006480951351) (-8.078765504e-16,-1.524993798e-06) (-1.623216596e-13,-0.0003240393457) (9.568694665e-15,-0.0001782000389) (-9.022983093e-16,-6.122280759e-07) (-1.700396895e-13,-0.0001217959401) (1.001353833e-14,-6.593088745e-05) (4.86286969e-17,1.179117263e-12) (-8.00777098e-14,2.0755281e-05) (2.435355293e-14,-6.10165565e-05) (2.709086246e-15,-1.1931184e-05) (-2.403600052e-14,0.0001924171699) (1.1503569e-16,2.614614073e-12) (-8.11708486e-14,8.745472892e-06) (2.450834643e-14,-2.503467556e-05) (2.973262089e-15,-5.207565317e-06) (-2.440771839e-14,7.866003003e-05) +(0.009747607642,-0.01246003733) (0.000121652613,-0.0001547735789) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,1.772989558e-14) (-0.0004198818397,1.679889e-14) (-8.346906342e-07,-8.241968752e-15) (5.740844431e-07,-7.132640533e-15) (-0.001008053523,-1.105114258e-14) (-3.508811352e-07,-8.716645911e-15) (2.231317455e-07,-7.573389404e-15) (-0.000408453118,-9.53184962e-15) (-4.057328475e-15,5.694584659e-20) (-8.286469788e-07,3.094091175e-15) (8.264893354e-06,1.417463855e-14) (-6.263236738e-06,-1.984783545e-15) (-0.0004004110629,-7.138747102e-15) (-9.588196122e-15,1.375244239e-19) (-3.576931874e-07,3.070677107e-15) (3.541007804e-06,1.454441084e-14) (-2.664277624e-06,-2.070054798e-15) (-0.0001730155867,-5.991069674e-15) +(-1.400249322e-05,-8.517683491e-08) (-5.116927849e-06,4.684231583e-09) (2.138336521e-06,4.599405375e-07) (-5.084421801e-06,-3.325365207e-06) (-1.137644059e-05,2.898889879e-06) (8.535405516e-07,2.174669906e-07) (-1.941555583e-06,-1.356036493e-06) (-4.835683466e-06,1.14408203e-06) (-7.579709164e-09,-2.762279321e-08) (-1.753976932e-07,-2.708152116e-07) (1.596704523e-06,-6.809813049e-07) (-4.264485678e-06,1.255174248e-07) (-4.111833037e-07,9.800694867e-07) (-3.057891808e-09,-1.074053857e-08) (-8.079752589e-08,-1.194200536e-07) (7.764209185e-07,-2.571247395e-07) (-2.00927223e-06,-2.278516912e-07) (-4.360917395e-07,6.207081838e-07) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,1.335751503e-13) (0.0006370640959,1.537988172e-13) (-4.324103528e-05,-2.064957961e-14) (-3.803898884e-05,-3.11900116e-15) (0.001489241722,-1.064118355e-13) (-1.644703661e-05,-2.184936467e-14) (-1.448432252e-05,-3.401844515e-15) (0.0005464819933,-1.104512803e-13) (8.944071612e-15,5.37611904e-19) (-2.920048495e-06,7.799358519e-15) (-8.845527695e-05,2.047495515e-14) (2.646077292e-05,-6.820300902e-15) (0.0005070239929,-8.329729939e-14) (2.026694378e-14,1.283138686e-18) (-1.22457607e-06,7.793369903e-15) (-3.701248625e-05,2.141087058e-14) (1.103773763e-05,-7.186674661e-15) (0.0002042932449,-8.338536484e-14) +(1.284349739e-05,-4.772636154e-05) (4.176499206e-06,-1.580615794e-05) (-1.637198807e-06,8.291662982e-06) (-1.365739124e-05,1.476125239e-05) (2.456488526e-05,2.98039344e-05) (-5.950508007e-07,3.103480952e-06) (-4.942325707e-06,5.332056991e-06) (9.785063172e-06,1.163148615e-05) (1.150138939e-07,4.234158657e-08) (4.359031483e-07,9.22545632e-07) (-1.273242959e-06,-5.816351088e-06) (5.466313628e-06,-1.016188654e-05) (-2.867123006e-06,1.31041973e-06) (4.484840704e-08,1.742515531e-08) (1.996404585e-07,4.006392654e-07) (-7.036287942e-07,-2.636380213e-06) (3.2181333e-06,-4.377497957e-06) (-2.131972104e-06,-3.142402084e-07) +(0,0) (0,0) (0.1767194204,0) (0.4323382235,0) (0.1708278373,0) (0.003585169254,0) (0.0314498852,0) (0.001435115663,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001699344885,0) (0.0005652953336,0) (0.0001271657725,0) (1.32657526e-05,0) (0.001322714732,0) (4.834337921e-05,0) (5.078874012e-06,0) (0.0004853110627,0) (5.670946568e-15,0) (2.774395199e-06,1.972152263e-31) (6.172029553e-05,0) (5.814397199e-05,0) (0.0004655294022,-4.930380658e-32) (1.339042538e-14,0) (1.139058852e-06,0) (2.651781405e-05,0) (2.334202003e-05,0) (0.0001874332715,-2.958228395e-31) +(7.521436699e-06,0) (2.487726124e-06,0) (3.185938962e-06,0) (4.003174709e-06,0) (7.827739219e-06,0) (1.175670888e-06,0) (1.457353976e-06,0) (3.049591687e-06,0) (5.048909171e-08,2.568783543e-24) (1.590612012e-06,1.609124785e-23) (2.682375849e-06,-5.764414894e-24) (3.284718312e-06,6.203854594e-25) (1.43263148e-06,1.550963649e-25) (1.897206644e-08,-6.720842477e-25) (7.004686066e-07,5.11818004e-24) (1.044304049e-06,-3.231174268e-25) (1.672429076e-06,0) (6.003570143e-07,8.271806126e-25) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,-3.155443621e-30) (0.0004448148634,6.310887242e-30) (-9.565713795e-05,1.029370554e-14) (3.485412968e-05,-1.023797789e-14) (0.0010438788,-5.572765633e-17) (-3.635078475e-05,1.089033375e-14) (1.331622219e-05,-1.083246436e-14) (0.0003830055394,-5.786938279e-17) (-2.848348185e-15,-1.388191666e-19) (4.162623539e-06,2.367315108e-15) (1.327559777e-05,-5.945058718e-15) (-8.528709815e-05,3.98658355e-15) (0.0003765412857,-4.087011207e-16) (-8.229297777e-15,-3.646221352e-19) (1.716943454e-06,2.411501735e-15) (5.343838064e-06,-6.246511632e-15) (-3.496510539e-05,4.239624517e-15) (0.0001515559446,-4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,2.741514604e-07) (-2.780116483e-06,-6.455501517e-06) (-7.838840513e-06,6.181350057e-06) (-1.61552776e-07,1.190893908e-07) (-9.323685179e-07,-2.408299986e-06) (-3.148837626e-06,2.289210596e-06) (4.469778006e-08,1.504883457e-07) (1.26676856e-06,1.046269265e-07) (-8.328059922e-07,-3.050222055e-07) (-4.092802746e-06,-1.369814789e-06) (1.671585455e-06,1.419721722e-06) (1.781827059e-08,6.178672245e-08) (5.435245616e-07,4.675798968e-08) (-2.634292994e-07,-9.375785702e-08) (-1.60734289e-06,-1.092677106e-06) (2.465845742e-07,1.077890251e-06) +(0,0) (0,0) (-2.024388139e-12,-0.01754455146) (4.181890806e-12,-0.007443043734) (-2.262288214e-13,0.002330599262) (6.414121631e-13,0.001357612187) (-1.452340376e-12,0.001950473409) (9.467343129e-14,-0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,-0.03618709099) (2.697252669e-14,-0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012487199e-05,-9.339175788e-05) (-2.297593838e-05,-3.045536483e-05) (4.528561733e-08,6.868362458e-08) (-1.66514317e-05,2.524731063e-06) (2.59504127e-05,-8.035423414e-05) (-5.072117342e-09,-7.910233257e-09) (-6.560212001e-06,8.794977546e-07) (9.987822964e-06,-3.042165383e-05) (1.244840867e-07,-1.067618071e-07) (1.165404828e-06,-6.776850675e-07) (4.727906968e-08,-8.924566574e-08) (-5.76753882e-06,-9.390541307e-06) (1.28088823e-05,-1.16802478e-05) (5.145444379e-08,-4.350669412e-08) (5.074993285e-07,-3.070367565e-07) (3.733853324e-09,-6.951973956e-09) (-2.953974939e-06,-6.856098294e-06) (6.040097097e-06,-2.242491619e-06) +(0,0) (0,0) (0.003826753254,-0.004457052419) (-0.004052307853,0.004260774197) (-0.001211176039,-0.001502015167) (-0.0003495764342,0.000450627808) (0.0004743750085,-0.0003084485899) (5.500250875e-05,8.626208551e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(3.029422899e-14,-0.001755455705) (3.435070136e-14,-0.0005750836658) (2.341570381e-16,4.484791197e-06) (4.73423153e-14,0.0001130057849) (-2.810519498e-15,-0.0001582737129) (2.615210098e-16,1.799544486e-06) (4.959338497e-14,4.270729501e-05) (-2.941242734e-15,-5.855085701e-05) (-1.410498678e-17,7.476163209e-13) (2.341189723e-14,-1.97199985e-05) (-7.137988075e-15,4.257473413e-05) (-8.046595515e-16,-2.621716418e-05) (6.955599815e-15,0.0001766698447) (-3.336587022e-17,1.727483119e-12) (2.373175019e-14,-8.134740302e-06) (-7.183447176e-15,1.793624094e-05) (-8.826644913e-16,-1.101268195e-05) (7.063208752e-15,7.21683518e-05) +(-0.001445559188,-0.001925184459) (-1.804094492e-05,-2.391386807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,1.395115192e-14) (-0.0003303931097,1.321857004e-14) (6.278742745e-07,6.267371997e-15) (1.508336107e-06,-1.829707832e-14) (-0.0007955499976,-8.763968249e-15) (2.638376718e-07,6.633341259e-15) (5.85025715e-07,-1.938064798e-14) (-0.0003223495585,-7.571202097e-15) (2.037825746e-15,-1.279206619e-19) (-1.243278326e-06,5.349347949e-15) (1.777719935e-06,3.844960139e-15) (9.187079385e-06,3.340764983e-15) (-0.0003238706207,-6.12567423e-15) (5.892564269e-15,-3.456051733e-19) (-5.39163517e-07,5.385811883e-15) (7.135796431e-07,3.765088724e-15) (3.990946276e-06,3.584746342e-15) (-0.0001398980045,-5.217450273e-15) +(2.184072547e-05,1.328566161e-07) (7.98125124e-06,-7.306342835e-09) (-2.353317487e-07,-2.431358997e-07) (8.89348769e-06,-5.889722967e-06) (1.368174814e-05,6.080660701e-06) (-9.52595112e-08,-1.163421003e-07) (3.483016518e-06,-2.340901803e-06) (5.851874148e-06,2.448645606e-06) (-8.904308778e-08,-1.862177347e-09) (-1.575009145e-07,-2.041408412e-07) (-4.182973373e-07,3.929932664e-07) (5.261261828e-06,-1.934800189e-06) (4.914717562e-07,1.551016991e-06) (-3.785085941e-08,-1.286475674e-10) (-7.066595277e-08,-8.72698674e-08) (-1.727701374e-07,1.345678508e-07) (2.079943364e-06,-1.093768337e-06) (9.353131396e-07,1.037909249e-06) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,1.051064969e-13) (0.0005012876667,1.210199267e-13) (3.252694177e-05,1.903334618e-14) (-9.99427541e-05,-3.755176299e-14) (0.001175300936,-8.391686018e-14) (1.236700242e-05,2.013420008e-14) (-3.797622396e-05,-3.981209702e-14) (0.000431281392,-8.71025428e-14) (-4.492290058e-15,-5.108271322e-20) (-4.381157595e-06,1.419353245e-14) (-1.902610263e-05,-4.116223754e-15) (-3.881335348e-05,8.189939113e-15) (0.0004101039919,-6.692950174e-14) (-1.245536538e-14,-2.367029216e-19) (-1.845846564e-06,1.433977071e-14) (-7.458711811e-06,-4.403933919e-15) (-1.653394432e-05,8.760466044e-15) (0.0001651886852,-6.698363681e-14) +(-2.003295385e-05,7.44423399e-05) (-6.514395052e-06,2.465403487e-05) (9.239836074e-07,-9.251150332e-07) (-1.431917237e-05,-3.227521164e-05) (-1.064377077e-06,-4.92444156e-05) (3.961344705e-07,-3.661838786e-07) (-5.649364548e-06,-1.15785494e-05) (-1.372201324e-06,-1.935529002e-05) (2.280251171e-07,-3.053268573e-07) (4.078376831e-07,7.060455894e-07) (1.056705235e-06,1.661036676e-06) (-2.573322934e-06,1.49414439e-05) (-2.046729951e-06,4.370276278e-06) (9.88697933e-08,-1.296933022e-07) (1.816535076e-07,2.975472314e-07) (4.141876113e-07,6.018640503e-07) (-2.328660063e-07,6.309697042e-06) (-1.439856402e-06,3.698707777e-06) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,3.155443621e-30) (0.0004448148634,-6.310887242e-30) (-9.565713795e-05,-1.029370554e-14) (3.485412968e-05,1.023797789e-14) (0.0010438788,5.572765633e-17) (-3.635078475e-05,-1.089033375e-14) (1.331622219e-05,1.083246436e-14) (0.0003830055394,5.786938279e-17) (-2.848334632e-15,1.388191666e-19) (4.162623539e-06,-2.367315108e-15) (1.327559777e-05,5.945058718e-15) (-8.528709815e-05,-3.98658355e-15) (0.0003765412857,4.087011207e-16) (-8.229297777e-15,3.646221352e-19) (1.716943454e-06,-2.411501735e-15) (5.343838064e-06,6.246511632e-15) (-3.496510539e-05,-4.239624517e-15) (0.0001515559446,4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,-2.741514604e-07) (-2.780116483e-06,6.455501517e-06) (-7.838840513e-06,-6.181350057e-06) (-1.61552776e-07,-1.190893908e-07) (-9.323685179e-07,2.408299986e-06) (-3.148837626e-06,-2.289210596e-06) (4.469778006e-08,-1.504883457e-07) (1.26676856e-06,-1.046269265e-07) (-8.328059922e-07,3.050222055e-07) (-4.092802746e-06,1.369814789e-06) (1.671585455e-06,-1.419721722e-06) (1.781827059e-08,-6.178672245e-08) (5.435245616e-07,-4.675798968e-08) (-2.634292994e-07,9.375785702e-08) (-1.60734289e-06,1.092677106e-06) (2.465845742e-07,-1.077890251e-06) +(0,0) (0,0) (0.05210540448,0) (0.1187574051,0) (0.6090226715,0) (0.0002945720367,0) (0.001167828641,0) (0.03500776944,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001052178223,0) (0.0003500121988,0) (7.195558885e-05,0) (9.157492925e-05,0) (0.0008238230987,0) (2.733320619e-05,0) (3.491359954e-05,0) (0.0003022664318,0) (1.430604767e-15,-9.860761315e-32) (6.245481801e-06,-9.860761315e-32) (2.855486911e-06,-2.465190329e-32) (0.0001251013452,-3.45126646e-31) (0.0003045636627,3.45126646e-31) (5.057437216e-15,2.958228395e-31) (2.588009232e-06,2.958228395e-31) (1.076883833e-06,-1.972152263e-31) (5.23758695e-05,4.930380658e-32) (0.0001225460354,2.958228395e-31) +(1.829886623e-05,0) (6.052376612e-06,0) (7.624904163e-08,0) (1.234084223e-05,0) (1.273119943e-05,0) (3.426263494e-08,0) (4.576252571e-06,0) (4.96973533e-06,0) (4.881179852e-07,-9.564275833e-25) (1.015740713e-06,-3.282873056e-24) (2.932491235e-07,-1.783608196e-24) (5.670935863e-06,3.231174268e-24) (3.357323756e-06,-8.685396432e-24) (2.179567445e-07,9.04728795e-25) (4.248659482e-07,5.014782464e-24) (7.486855157e-08,1.395867284e-24) (2.258687365e-06,-1.240770919e-24) (2.036540451e-06,-3.30872245e-24) +(0,0) (0,0) (-1.099241284e-12,-0.009526678654) (2.191751042e-12,-0.003900938503) (4.271548499e-13,-0.004400530276) (1.838561317e-13,0.0003891496597) (-2.798649041e-13,0.0003758547668) (-4.675917989e-13,0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,-0.02847459545) (2.122391617e-14,-0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093789551,0.0001456700398) (3.58372723e-05,4.750348753e-05) (8.822529576e-11,-1.272698423e-08) (7.492681859e-06,-2.86053938e-05) (-8.9440741e-05,5.997586631e-05) (-1.042895797e-10,1.600750282e-09) (2.743630426e-06,-1.140352637e-05) (-3.314922633e-05,2.391422379e-05) (-2.08010187e-07,-4.655544245e-07) (8.835555619e-07,-6.163683256e-07) (-4.530454876e-09,3.308465939e-08) (1.110253532e-05,9.295522593e-06) (3.370329281e-06,-2.632189876e-05) (-9.336393785e-08,-2.084335672e-07) (3.732957139e-07,-2.721202136e-07) (-3.177275675e-10,2.088885624e-09) (7.318428284e-06,4.659306735e-06) (-1.545355614e-06,-1.176554191e-05) +(0,0) (0,0) (0.002077924227,-0.002420176214) (-0.002123835932,0.002233094243) (0.002286886861,0.002836035917) (-0.0001002035425,0.0001291691838) (9.141170929e-05,-5.943781255e-05) (-0.0002716572291,-0.0004260481869) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(2.383766949e-14,-0.0013813183) (2.702959254e-14,-0.0004525170243) (1.868924904e-16,-3.373567288e-06) (3.717274731e-14,0.0002969087697) (-2.211377425e-15,-0.0001249086968) (2.087389478e-16,-1.353129535e-06) (3.893998583e-14,0.0001119736044) (-2.314235229e-15,-4.620810094e-05) (-1.121640748e-17,-3.755020248e-13) (1.830001153e-14,-2.958732411e-05) (-5.636239261e-15,9.157523315e-06) (-6.172580938e-16,3.84560218e-05) (5.470901132e-15,0.0001428985799) (-2.653396731e-17,-1.061651775e-12) (1.854964101e-14,-1.226178005e-05) (-5.6726439e-15,3.614489749e-06) (-6.780552581e-16,1.649641224e-05) (5.555562305e-15,5.835432863e-05) +(0.0022547457,0.003002852747) (2.813979759e-05,3.730023068e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.073369271e-12,-0.05475639745) (-2.298249668e-13,-0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,-0.0230047579) (-3.345332529e-14,-0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316075504,-0.0001730712488) (4.720116007e-05,-6.268597155e-05) (4.031033681e-08,-3.956133911e-08) (1.905169148e-05,1.703869909e-05) (-6.747304549e-05,-0.0001071724234) (-5.145549248e-09,4.804649686e-09) (7.921469579e-06,7.275844325e-06) (-2.725047363e-05,-4.449205454e-05) (3.972157313e-08,-8.413345314e-08) (-1.312821309e-08,-2.731487938e-07) (5.080023904e-08,4.112130507e-08) (7.129046668e-06,-1.241194881e-05) (-1.166681958e-05,5.410234195e-06) (1.633681841e-08,-3.614193552e-08) (-6.193488424e-09,-1.219375237e-07) (4.487741215e-09,4.249329443e-09) (4.483008284e-06,-7.834532362e-06) (-6.705958711e-06,4.615929459e-06) +(0,0) (0,0) (-3.574796693e-12,0.03098131397) (-3.042140382e-12,-0.00541448473) (-3.236912117e-15,-3.334652474e-05) (1.933870538e-12,-0.004093227976) (5.083089287e-13,0.0006826519903) (1.305409463e-14,4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,0.04078133152) (-9.245860848e-14,0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728618127,0.0006044432699) (0.0001549299637,0.0001971109734) (1.554831761e-07,1.531547939e-07) (6.611835083e-05,-5.278679084e-05) (-0.0002245097037,0.0003509719554) (-1.831387591e-08,-1.739280133e-08) (2.546549238e-05,-2.101936826e-05) (-8.398421587e-05,0.0001357070295) (1.940406315e-07,3.475987446e-07) (-7.367715354e-08,8.616458177e-07) (1.710746026e-07,-1.448801756e-07) (1.945324779e-05,3.347036445e-05) (-3.631825003e-05,-1.165944999e-05) (8.16747581e-08,1.501052935e-07) (-3.097009875e-08,3.777772687e-07) (1.503470171e-08,-1.41103217e-08) (1.226136967e-05,2.092456893e-05) (-2.027566464e-05,-1.11249986e-05) +(0,0) (0,0) (-2.024388139e-12,0.01754455146) (4.181890806e-12,0.007443043734) (-2.262288214e-13,-0.002330599262) (6.414121631e-13,-0.001357612187) (-1.452340376e-12,-0.001950473409) (9.467343129e-14,0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,0.03618709099) (2.697252669e-14,0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012487199e-05,9.339175788e-05) (-2.297593838e-05,3.045536483e-05) (4.528561733e-08,-6.868362458e-08) (-1.66514317e-05,-2.524731063e-06) (2.59504127e-05,8.035423414e-05) (-5.072117342e-09,7.910233257e-09) (-6.560212001e-06,-8.794977546e-07) (9.987822964e-06,3.042165383e-05) (1.244840867e-07,1.067618071e-07) (1.165404828e-06,6.776850675e-07) (4.727906968e-08,8.924566574e-08) (-5.76753882e-06,9.390541307e-06) (1.28088823e-05,1.16802478e-05) (5.145444379e-08,4.350669412e-08) (5.074993285e-07,3.070367565e-07) (3.733853324e-09,6.951973956e-09) (-2.953974939e-06,6.856098294e-06) (6.040097097e-06,2.242491619e-06) +(0,0) (0,0) (-1.099241284e-12,0.009526678654) (2.191751042e-12,0.003900938503) (4.271548499e-13,0.004400530276) (1.838561317e-13,-0.0003891496597) (-2.798649041e-13,-0.0003758547668) (-4.675917989e-13,-0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,0.02847459545) (2.122391617e-14,0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093789551,-0.0001456700398) (3.58372723e-05,-4.750348753e-05) (8.822529576e-11,1.272698423e-08) (7.492681859e-06,2.86053938e-05) (-8.9440741e-05,-5.997586631e-05) (-1.042895797e-10,-1.600750282e-09) (2.743630426e-06,1.140352637e-05) (-3.314922633e-05,-2.391422379e-05) (-2.08010187e-07,4.655544245e-07) (8.835555619e-07,6.163683256e-07) (-4.530454876e-09,-3.308465939e-08) (1.110253532e-05,-9.295522593e-06) (3.370329281e-06,2.632189876e-05) (-9.336393785e-08,2.084335672e-07) (3.732957139e-07,2.721202136e-07) (-3.177275675e-10,-2.088885624e-09) (7.318428284e-06,-4.659306735e-06) (-1.545355614e-06,1.176554191e-05) +(0.003323277612,0) (0.001069070815,0) (0.00174180792,0) (0.0001281378722,0) (3.179629858e-05,0) (0.0005140931207,0) (0.0001209653547,0) (7.18021662e-05,0) (0,-4.930380658e-32) (-2.710505431e-20,0) (7.588732639e-10,0) (1.442267609e-08,0) (0.0005156165052,0) (0,0) (4.235164736e-21,-1.972152263e-30) (8.97091465e-10,0) (2.352707791e-08,0) (0.0002128748988,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001813419252,0) (0.0005850414871,0) (2.124405867e-09,0) (7.085487522e-05,0) (0.0009108922339,0) (7.510449176e-11,0) (3.00612607e-05,0) (0.00033618718,0) (5.326768691e-07,0) (1.142595082e-06,0) (3.802636117e-09,0) (3.697326789e-05,0) (0.0002097508387,0) (2.393198566e-07,0) (5.022739562e-07,0) (5.962976263e-11,0) (3.332401508e-05,0) (6.914475989e-05,0) +(0.0008898263656,-0.0007163683525) (0.0002637034863,-0.0002117814647) (0.0004424923155,0.0003799167587) (-7.335259059e-05,-6.976367787e-05) (-2.049194964e-05,1.652403981e-05) (0.0001706412613,0.0001323756827) (-1.912950618e-05,-2.942000689e-05) (-1.929502185e-05,1.230290924e-05) (5.29395592e-23,0) (0,0) (3.78505961e-08,5.053828036e-08) (-4.457323768e-07,3.33625692e-07) (6.899910963e-06,-1.188698807e-05) (0,0) (-3.176373552e-22,-2.117582368e-22) (4.038949444e-08,4.375042653e-08) (-4.428814282e-07,4.084217944e-07) (3.762547207e-06,-7.200560218e-06) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.01180333237,-0.01466133493) (0.0002304575695,-0.000286958373) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.757388445e-14,-0.001115973469) (-4.260428398e-14,-0.0004271522746) (-2.922087985e-16,2.943727023e-08) (-5.871141873e-14,-4.890402007e-06) (3.464283974e-15,-0.0001206219073) (-3.263684734e-16,1.306127586e-08) (-6.150440357e-14,-1.876272823e-06) (3.625422672e-15,-4.927825048e-05) (1.759877347e-17,5.348850398e-13) (-2.898493743e-14,-5.889902487e-06) (8.821843004e-15,-5.701133382e-06) (9.816179971e-16,-2.824098531e-06) (-8.691825774e-15,0.000151957234) (4.163347328e-17,1.236962894e-12) (-2.938201667e-14,-2.554513476e-06) (8.878386964e-15,-2.395083132e-06) (1.077392545e-15,-1.256996698e-06) (-8.826665706e-15,6.661703989e-05) +(0.002712967572,-0.003567703253) (3.706284003e-05,-4.922167448e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.006757530639,0.007870554039) (0.002947874522,0.003099524556) (-1.732966813e-05,2.149103312e-05) (-0.001053979961,-0.00135865188) (-0.0001660279204,-0.0001079548395) (7.584049129e-06,-1.18942919e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-1.038453564e-13,0.001978324842) (-1.177501124e-13,0.0006480951351) (-8.078765504e-16,1.524993798e-06) (-1.623216596e-13,0.0003240393457) (9.568694665e-15,0.0001782000389) (-9.022983093e-16,6.122280759e-07) (-1.700396895e-13,0.0001217959401) (1.001353833e-14,6.593088745e-05) (4.86286969e-17,-1.179117259e-12) (-8.00777098e-14,-2.0755281e-05) (2.435355293e-14,6.10165565e-05) (2.709086246e-15,1.1931184e-05) (-2.403600052e-14,-0.0001924171699) (1.1503569e-16,-2.614614061e-12) (-8.11708486e-14,-8.745472892e-06) (2.450834643e-14,2.503467556e-05) (2.973262089e-15,5.207565317e-06) (-2.440771839e-14,-7.866003003e-05) +(0.009747607642,0.01246003733) (0.000121652613,0.0001547735789) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.003826753254,0.004457052419) (-0.004052307853,-0.004260774197) (-0.001211176039,0.001502015167) (-0.0003495764342,-0.000450627808) (0.0004743750085,0.0003084485899) (5.500250875e-05,-8.626208551e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(3.029422899e-14,0.001755455705) (3.435070136e-14,0.0005750836658) (2.341570381e-16,-4.484791197e-06) (4.73423153e-14,-0.0001130057849) (-2.810519498e-15,0.0001582737129) (2.615210098e-16,-1.799544486e-06) (4.959338497e-14,-4.270729501e-05) (-2.941242734e-15,5.855085701e-05) (-1.410498678e-17,-7.476163125e-13) (2.341189723e-14,1.97199985e-05) (-7.137988075e-15,-4.257473413e-05) (-8.046595515e-16,2.621716418e-05) (6.955599815e-15,-0.0001766698447) (-3.336587022e-17,-1.727483116e-12) (2.373175019e-14,8.134740302e-06) (-7.183447176e-15,-1.793624094e-05) (-8.826644913e-16,1.101268195e-05) (7.063208752e-15,-7.21683518e-05) +(-0.001445559188,0.001925184459) (-1.804094492e-05,2.391386807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.002077924227,0.002420176214) (-0.002123835932,-0.002233094243) (0.002286886861,-0.002836035917) (-0.0001002035425,-0.0001291691838) (9.141170929e-05,5.943781255e-05) (-0.0002716572291,0.0004260481869) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(2.383766949e-14,0.0013813183) (2.702959254e-14,0.0004525170243) (1.868924904e-16,3.373567288e-06) (3.717274731e-14,-0.0002969087697) (-2.211377425e-15,0.0001249086968) (2.087389478e-16,1.353129535e-06) (3.893998583e-14,-0.0001119736044) (-2.314235229e-15,4.620810094e-05) (-1.121640748e-17,3.755020044e-13) (1.830001153e-14,2.958732411e-05) (-5.636239261e-15,-9.157523315e-06) (-6.172580938e-16,-3.84560218e-05) (5.470901132e-15,-0.0001428985799) (-2.653396731e-17,1.061651774e-12) (1.854964101e-14,1.226178005e-05) (-5.6726439e-15,-3.614489749e-06) (-6.780552581e-16,-1.649641224e-05) (5.555562305e-15,-5.835432863e-05) +(0.0022547457,-0.003002852747) (2.813979759e-05,-3.730023068e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0008898263656,0.0007163683525) (0.0002637034863,0.0002117814647) (0.0004424923155,-0.0003799167587) (-7.335259059e-05,6.976367787e-05) (-2.049194964e-05,-1.652403981e-05) (0.0001706412613,-0.0001323756827) (-1.912950618e-05,2.942000689e-05) (-1.929502185e-05,-1.230290924e-05) (5.29395592e-23,-1.058791184e-22) (-8.470329473e-22,0) (3.78505961e-08,-5.053828036e-08) (-4.457323768e-07,-3.33625692e-07) (6.899910963e-06,1.188698807e-05) (0,0) (1.058791184e-22,1.588186776e-22) (4.038949444e-08,-4.375042653e-08) (-4.428814282e-07,-4.084217944e-07) (3.762547207e-06,7.200560218e-06) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0003926769682,0) (0.0001070003183,0) (0.0001952776704,0) (7.997302531e-05,0) (2.179385408e-05,0) (9.072628978e-05,0) (1.018039269e-05,0) (7.293086984e-06,0) (6.6174449e-24,-7.754818243e-25) (1.058791184e-22,-1.240770919e-24) (5.253558923e-06,5.169878828e-26) (2.149278346e-05,-1.033975766e-25) (3.663755034e-07,0) (0,1.178732373e-23) (2.64697796e-23,2.067951531e-25) (3.952117728e-06,3.877409121e-26) (1.542700385e-05,0) (3.100639357e-07,-4.135903063e-25) +(0.001813419252,0) (0.0005850414871,0) (1.581663972e-07,0) (0.0009626523137,0) (1.893875344e-05,0) (6.698663622e-08,0) (0.0003591176002,0) (7.063928932e-06,0) (9.856002163e-11,0) (0.000140166888,0) (2.936810284e-05,0) (1.182134062e-05,0) (6.704675123e-05,0) (2.228606217e-10,0) (5.80953299e-05,0) (1.213179708e-05,0) (5.195744135e-06,0) (2.778733444e-05,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.9022006019,0) (0.001265938283,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0006867671573,0) (0.0003118737213,0) (5.478741969e-09,0) (2.484389374e-08,0) (0.0007682472119,0) (2.546730763e-09,0) (9.802916105e-09,0) (0.0003437670443,0) (2.902829344e-15,3.944304526e-31) (2.474974783e-07,0) (1.106742305e-06,0) (6.746724226e-07,5.916456789e-31) (0.000344401489,0) (6.865622166e-15,0) (1.123246758e-07,0) (4.728420013e-07,0) (3.041028689e-07,-3.944304526e-31) (0.0001597069346,0) +(2.606909815e-05,0) (1.052486136e-05,0) (1.50160704e-06,0) (9.220031973e-06,0) (1.760750571e-05,0) (6.598984231e-07,0) (3.84839452e-06,0) (8.0970703e-06,0) (1.625045466e-08,-1.292469707e-25) (6.544979468e-08,1.033975766e-25) (1.123332837e-06,5.169878828e-26) (5.541294868e-06,-1.80945759e-25) (7.884846338e-07,-4.135903063e-24) (6.573341473e-09,-7.754818243e-26) (2.967925929e-08,1.783608196e-24) (6.405630384e-07,-1.550963649e-25) (2.445001313e-06,2.067951531e-25) (9.585207486e-07,4.135903063e-25) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,-1.048968745e-13) (-0.0004731891963,-1.331680902e-13) (2.838254859e-07,-2.667032522e-15) (-1.646163048e-06,-2.058752428e-14) (-0.001134965332,9.353993365e-14) (1.193742549e-07,-2.806929651e-15) (-6.363442288e-07,-2.174782716e-14) (-0.0004599365052,1.036925755e-13) (-6.39905609e-15,-4.744497745e-19) (8.721502128e-07,9.270421917e-16) (-1.184494378e-05,2.305635264e-14) (-2.850339931e-06,1.637935329e-15) (-0.0004361013826,7.942071128e-14) (-1.451212062e-14,-1.126939084e-18) (3.845477493e-07,8.539000264e-16) (-4.942394664e-06,2.315955851e-14) (-1.259856574e-06,1.799159549e-15) (-0.0001885786623,8.350119887e-14) +(-2.336997728e-05,8.899656399e-05) (-8.620275597e-06,3.25033392e-05) (9.817825478e-08,5.801548646e-06) (5.084310361e-06,-3.009317751e-05) (-2.466390723e-05,-5.241278162e-05) (1.420505313e-07,2.363204515e-06) (1.623034791e-06,-1.170234502e-05) (-1.115234346e-05,-2.211479671e-05) (-4.043179797e-08,5.656802291e-08) (-2.05138522e-07,-2.751341749e-08) (7.187037426e-07,-3.7854683e-06) (-7.485119781e-06,1.298409725e-05) (1.719364356e-06,1.585304449e-06) (-1.709340046e-08,2.258118837e-08) (-9.133145593e-08,-1.217697277e-08) (1.259848231e-07,-2.133345284e-06) (-3.269905813e-06,5.697606153e-06) (1.2237451e-06,2.432502756e-06) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,-1.772989558e-14) (-0.0004198818397,-1.679889e-14) (-8.346906342e-07,8.241968752e-15) (5.740844431e-07,7.132640533e-15) (-0.001008053523,1.105114258e-14) (-3.508811352e-07,8.716645911e-15) (2.231317455e-07,7.573389404e-15) (-0.000408453118,9.53184962e-15) (-4.05730137e-15,-5.694584659e-20) (-8.286469788e-07,-3.094091175e-15) (8.264893354e-06,-1.417463855e-14) (-6.263236738e-06,1.984783545e-15) (-0.0004004110629,7.138747102e-15) (-9.588196122e-15,-1.375244239e-19) (-3.576931874e-07,-3.070677107e-15) (3.541007804e-06,-1.454441084e-14) (-2.664277624e-06,2.070054798e-15) (-0.0001730155867,5.991069674e-15) +(-1.400249322e-05,8.517683491e-08) (-5.116927849e-06,-4.684231583e-09) (2.138336521e-06,-4.599405375e-07) (-5.084421801e-06,3.325365207e-06) (-1.137644059e-05,-2.898889879e-06) (8.535405516e-07,-2.174669906e-07) (-1.941555583e-06,1.356036493e-06) (-4.835683466e-06,-1.14408203e-06) (-7.579709164e-09,2.762279321e-08) (-1.753976932e-07,2.708152116e-07) (1.596704523e-06,6.809813049e-07) (-4.264485678e-06,-1.255174248e-07) (-4.111833037e-07,-9.800694867e-07) (-3.057891808e-09,1.074053857e-08) (-8.079752589e-08,1.194200536e-07) (7.764209185e-07,2.571247395e-07) (-2.00927223e-06,2.278516912e-07) (-4.360917395e-07,-6.207081838e-07) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,-1.395115192e-14) (-0.0003303931097,-1.321857004e-14) (6.278742745e-07,-6.267371997e-15) (1.508336107e-06,1.829707832e-14) (-0.0007955499976,8.763968249e-15) (2.638376718e-07,-6.633341259e-15) (5.85025715e-07,1.938064798e-14) (-0.0003223495585,7.571202097e-15) (2.037832522e-15,1.279206619e-19) (-1.243278326e-06,-5.349347949e-15) (1.777719935e-06,-3.844960139e-15) (9.187079385e-06,-3.340764983e-15) (-0.0003238706207,6.12567423e-15) (5.892571045e-15,3.456051733e-19) (-5.39163517e-07,-5.385811883e-15) (7.135796431e-07,-3.765088724e-15) (3.990946276e-06,-3.584746342e-15) (-0.0001398980045,5.217450273e-15) +(2.184072547e-05,-1.328566161e-07) (7.98125124e-06,7.306342835e-09) (-2.353317487e-07,2.431358997e-07) (8.89348769e-06,5.889722967e-06) (1.368174814e-05,-6.080660701e-06) (-9.52595112e-08,1.163421003e-07) (3.483016518e-06,2.340901803e-06) (5.851874148e-06,-2.448645606e-06) (-8.904308778e-08,1.862177347e-09) (-1.575009145e-07,2.041408412e-07) (-4.182973373e-07,-3.929932664e-07) (5.261261828e-06,1.934800189e-06) (4.914717562e-07,-1.551016991e-06) (-3.785085941e-08,1.286475674e-10) (-7.066595277e-08,8.72698674e-08) (-1.727701374e-07,-1.345678508e-07) (2.079943364e-06,1.093768337e-06) (9.353131396e-07,-1.037909249e-06) +(-3.073369271e-12,0.05475639745) (-2.298249668e-13,0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,0.0230047579) (-3.345332529e-14,0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316075504,0.0001730712488) (4.720116007e-05,6.268597155e-05) (4.031033681e-08,3.956133911e-08) (1.905169148e-05,-1.703869909e-05) (-6.747304549e-05,0.0001071724234) (-5.145549248e-09,-4.804649686e-09) (7.921469579e-06,-7.275844325e-06) (-2.725047363e-05,4.449205454e-05) (3.972157313e-08,8.413345314e-08) (-1.312821309e-08,2.731487938e-07) (5.080023904e-08,-4.112130507e-08) (7.129046668e-06,1.241194881e-05) (-1.166681958e-05,-5.410234195e-06) (1.633681841e-08,3.614193552e-08) (-6.193488424e-09,1.219375237e-07) (4.487741215e-09,-4.249329443e-09) (4.483008284e-06,7.834532362e-06) (-6.705958711e-06,-4.615929459e-06) +(0.01180333237,0.01466133493) (0.0002304575695,0.000286958373) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.757388445e-14,0.001115973469) (-4.260428398e-14,0.0004271522746) (-2.922087985e-16,-2.943727023e-08) (-5.871141873e-14,4.890402007e-06) (3.464283974e-15,0.0001206219073) (-3.263684734e-16,-1.306127586e-08) (-6.150440357e-14,1.876272823e-06) (3.625422672e-15,4.927825048e-05) (1.759877347e-17,-5.348850364e-13) (-2.898493743e-14,5.889902487e-06) (8.821843004e-15,5.701133382e-06) (9.816179971e-16,2.824098531e-06) (-8.691825774e-15,-0.000151957234) (4.163347328e-17,-1.236962896e-12) (-2.938201667e-14,2.554513476e-06) (8.878386964e-15,2.395083132e-06) (1.077392545e-15,1.256996698e-06) (-8.826665706e-15,-6.661703989e-05) +(0.002712967572,0.003567703253) (3.706284003e-05,4.922167448e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,1.048968745e-13) (-0.0004731891963,1.331680902e-13) (2.838254859e-07,2.667032522e-15) (-1.646163048e-06,2.058752428e-14) (-0.001134965332,-9.353993365e-14) (1.193742549e-07,2.806929651e-15) (-6.363442288e-07,2.174782716e-14) (-0.0004599365052,-1.036925755e-13) (-6.399069642e-15,4.744497745e-19) (8.721502128e-07,-9.270421917e-16) (-1.184494378e-05,-2.305635264e-14) (-2.850339931e-06,-1.637935329e-15) (-0.0004361013826,-7.942071128e-14) (-1.451212062e-14,1.126939084e-18) (3.845477493e-07,-8.539000264e-16) (-4.942394664e-06,-2.315955851e-14) (-1.259856574e-06,-1.799159549e-15) (-0.0001885786623,-8.350119887e-14) +(-2.336997728e-05,-8.899656399e-05) (-8.620275597e-06,-3.25033392e-05) (9.817825478e-08,-5.801548646e-06) (5.084310361e-06,3.009317751e-05) (-2.466390723e-05,5.241278162e-05) (1.420505313e-07,-2.363204515e-06) (1.623034791e-06,1.170234502e-05) (-1.115234346e-05,2.211479671e-05) (-4.043179797e-08,-5.656802291e-08) (-2.05138522e-07,2.751341749e-08) (7.187037426e-07,3.7854683e-06) (-7.485119781e-06,-1.298409725e-05) (1.719364356e-06,-1.585304449e-06) (-1.709340046e-08,-2.258118837e-08) (-9.133145593e-08,1.217697277e-08) (1.259848231e-07,2.133345284e-06) (-3.269905813e-06,-5.697606153e-06) (1.2237451e-06,-2.432502756e-06) +(0,0) (0,0) (0.5510606563,0) (0.2287898526,0) (3.497233206e-05,0) (0.03259042882,0) (0.003852456277,0) (2.728501408e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.002158226331,0) (0.0007179444763,0) (1.470354086e-05,0) (0.0001090752041,0) (0.001676734109,0) (5.595492446e-06,0) (4.130750209e-05,0) (0.0006153632011,0) (1.410625631e-14,3.155443621e-30) (3.07334846e-06,3.944304526e-31) (0.0001267708775,0) (1.204204804e-05,1.57772181e-30) (0.0005522171709,0) (3.067480352e-14,0) (1.316513672e-06,0) (5.166052285e-05,0) (5.219413394e-06,0) (0.0002226698044,0) +(0.0003247731928,0) (0.0001074385849,0) (2.242104943e-05,0) (0.000101024546,0) (0.0001905669123,0) (8.493601038e-06,0) (3.626944176e-05,0) (7.576061162e-05,0) (2.975099223e-07,-2.067951531e-24) (6.545291938e-07,4.301339185e-23) (1.321630137e-05,8.271806126e-25) (4.053453297e-05,2.067951531e-25) (6.936601868e-06,-1.98523347e-23) (1.220223247e-07,-4.135903063e-25) (2.860486991e-07,-1.240770919e-24) (7.129718703e-06,1.447566072e-24) (1.765029723e-05,3.30872245e-24) (7.735483806e-06,-1.32348898e-23) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,-1.335751503e-13) (0.0006370640959,-1.537988172e-13) (-4.324103528e-05,2.064957961e-14) (-3.803898884e-05,3.11900116e-15) (0.001489241722,1.064118355e-13) (-1.644703661e-05,2.184936467e-14) (-1.448432252e-05,3.401844515e-15) (0.0005464819933,1.104512803e-13) (8.944071612e-15,-5.37611904e-19) (-2.920048495e-06,-7.799358519e-15) (-8.845527695e-05,-2.047495515e-14) (2.646077292e-05,6.820300902e-15) (0.0005070239929,8.329729939e-14) (2.026694378e-14,-1.283138686e-18) (-1.22457607e-06,-7.793369903e-15) (-3.701248625e-05,-2.141087058e-14) (1.103773763e-05,7.186674661e-15) (0.0002042932449,8.338536484e-14) +(1.284349739e-05,4.772636154e-05) (4.176499206e-06,1.580615794e-05) (-1.637198807e-06,-8.291662982e-06) (-1.365739124e-05,-1.476125239e-05) (2.456488526e-05,-2.98039344e-05) (-5.950508007e-07,-3.103480952e-06) (-4.942325707e-06,-5.332056991e-06) (9.785063172e-06,-1.163148615e-05) (1.150138939e-07,-4.234158657e-08) (4.359031483e-07,-9.22545632e-07) (-1.273242959e-06,5.816351088e-06) (5.466313628e-06,1.016188654e-05) (-2.867123006e-06,-1.31041973e-06) (4.484840704e-08,-1.742515531e-08) (1.996404585e-07,-4.006392654e-07) (-7.036287942e-07,2.636380213e-06) (3.2181333e-06,4.377497957e-06) (-2.131972104e-06,3.142402084e-07) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,-1.051064969e-13) (0.0005012876667,-1.210199267e-13) (3.252694177e-05,-1.903334618e-14) (-9.99427541e-05,3.755176299e-14) (0.001175300936,8.391686018e-14) (1.236700242e-05,-2.013420008e-14) (-3.797622396e-05,3.981209702e-14) (0.000431281392,8.71025428e-14) (-4.492296834e-15,5.108271321e-20) (-4.381157595e-06,-1.419353245e-14) (-1.902610263e-05,4.116223754e-15) (-3.881335348e-05,-8.189939113e-15) (0.0004101039919,6.692950174e-14) (-1.245537216e-14,2.367029216e-19) (-1.845846564e-06,-1.433977071e-14) (-7.458711811e-06,4.403933919e-15) (-1.653394432e-05,-8.760466044e-15) (0.0001651886852,6.698363681e-14) +(-2.003295385e-05,-7.44423399e-05) (-6.514395052e-06,-2.465403487e-05) (9.239836074e-07,9.251150332e-07) (-1.431917237e-05,3.227521164e-05) (-1.064377077e-06,4.92444156e-05) (3.961344705e-07,3.661838786e-07) (-5.649364548e-06,1.15785494e-05) (-1.372201324e-06,1.935529002e-05) (2.280251171e-07,3.053268573e-07) (4.078376831e-07,-7.060455894e-07) (1.056705235e-06,-1.661036676e-06) (-2.573322934e-06,-1.49414439e-05) (-2.046729951e-06,-4.370276278e-06) (9.88697933e-08,1.296933022e-07) (1.816535076e-07,-2.975472314e-07) (4.141876113e-07,-6.018640503e-07) (-2.328660063e-07,-6.309697042e-06) (-1.439856402e-06,-3.698707777e-06) +(0,0) (0,0) (-3.574796693e-12,-0.03098131397) (-3.042140382e-12,0.00541448473) (-3.236912117e-15,3.334652474e-05) (1.933870538e-12,0.004093227976) (5.083089287e-13,-0.0006826519903) (1.305409463e-14,-4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,-0.04078133152) (-9.245860848e-14,-0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728618127,-0.0006044432699) (0.0001549299637,-0.0001971109734) (1.554831761e-07,-1.531547939e-07) (6.611835083e-05,5.278679084e-05) (-0.0002245097037,-0.0003509719554) (-1.831387591e-08,1.739280133e-08) (2.546549238e-05,2.101936826e-05) (-8.398421587e-05,-0.0001357070295) (1.940406315e-07,-3.475987446e-07) (-7.367715354e-08,-8.616458177e-07) (1.710746026e-07,1.448801756e-07) (1.945324779e-05,-3.347036445e-05) (-3.631825003e-05,1.165944999e-05) (8.16747581e-08,-1.501052935e-07) (-3.097009875e-08,-3.777772687e-07) (1.503470171e-08,1.41103217e-08) (1.226136967e-05,-2.092456893e-05) (-2.027566464e-05,1.11249986e-05) +(0,0) (0,0) (0.006757530639,-0.007870554039) (0.002947874522,-0.003099524556) (-1.732966813e-05,-2.149103312e-05) (-0.001053979961,0.00135865188) (-0.0001660279204,0.0001079548395) (7.584049129e-06,1.18942919e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-1.038453564e-13,-0.001978324842) (-1.177501124e-13,-0.0006480951351) (-8.078765504e-16,-1.524993798e-06) (-1.623216596e-13,-0.0003240393457) (9.568694665e-15,-0.0001782000389) (-9.022983093e-16,-6.122280759e-07) (-1.700396895e-13,-0.0001217959401) (1.001353833e-14,-6.593088745e-05) (4.86286969e-17,1.179117263e-12) (-8.00777098e-14,2.0755281e-05) (2.435355293e-14,-6.10165565e-05) (2.709086246e-15,-1.1931184e-05) (-2.403600052e-14,0.0001924171699) (1.1503569e-16,2.614614073e-12) (-8.11708486e-14,8.745472892e-06) (2.450834643e-14,-2.503467556e-05) (2.973262089e-15,-5.207565317e-06) (-2.440771839e-14,7.866003003e-05) +(0.009747607642,-0.01246003733) (0.000121652613,-0.0001547735789) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,1.772989558e-14) (-0.0004198818397,1.679889e-14) (-8.346906342e-07,-8.241968752e-15) (5.740844431e-07,-7.132640533e-15) (-0.001008053523,-1.105114258e-14) (-3.508811352e-07,-8.716645911e-15) (2.231317455e-07,-7.573389404e-15) (-0.000408453118,-9.53184962e-15) (-4.057328475e-15,5.694584659e-20) (-8.286469788e-07,3.094091175e-15) (8.264893354e-06,1.417463855e-14) (-6.263236738e-06,-1.984783545e-15) (-0.0004004110629,-7.138747102e-15) (-9.588196122e-15,1.375244239e-19) (-3.576931874e-07,3.070677107e-15) (3.541007804e-06,1.454441084e-14) (-2.664277624e-06,-2.070054798e-15) (-0.0001730155867,-5.991069674e-15) +(-1.400249322e-05,-8.517683491e-08) (-5.116927849e-06,4.684231583e-09) (2.138336521e-06,4.599405375e-07) (-5.084421801e-06,-3.325365207e-06) (-1.137644059e-05,2.898889879e-06) (8.535405516e-07,2.174669906e-07) (-1.941555583e-06,-1.356036493e-06) (-4.835683466e-06,1.14408203e-06) (-7.579709164e-09,-2.762279321e-08) (-1.753976932e-07,-2.708152116e-07) (1.596704523e-06,-6.809813049e-07) (-4.264485678e-06,1.255174248e-07) (-4.111833037e-07,9.800694867e-07) (-3.057891808e-09,-1.074053857e-08) (-8.079752589e-08,-1.194200536e-07) (7.764209185e-07,-2.571247395e-07) (-2.00927223e-06,-2.278516912e-07) (-4.360917395e-07,6.207081838e-07) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,1.335751503e-13) (0.0006370640959,1.537988172e-13) (-4.324103528e-05,-2.064957961e-14) (-3.803898884e-05,-3.11900116e-15) (0.001489241722,-1.064118355e-13) (-1.644703661e-05,-2.184936467e-14) (-1.448432252e-05,-3.401844515e-15) (0.0005464819933,-1.104512803e-13) (8.944071612e-15,5.37611904e-19) (-2.920048495e-06,7.799358519e-15) (-8.845527695e-05,2.047495515e-14) (2.646077292e-05,-6.820300902e-15) (0.0005070239929,-8.329729939e-14) (2.026694378e-14,1.283138686e-18) (-1.22457607e-06,7.793369903e-15) (-3.701248625e-05,2.141087058e-14) (1.103773763e-05,-7.186674661e-15) (0.0002042932449,-8.338536484e-14) +(1.284349739e-05,-4.772636154e-05) (4.176499206e-06,-1.580615794e-05) (-1.637198807e-06,8.291662982e-06) (-1.365739124e-05,1.476125239e-05) (2.456488526e-05,2.98039344e-05) (-5.950508007e-07,3.103480952e-06) (-4.942325707e-06,5.332056991e-06) (9.785063172e-06,1.163148615e-05) (1.150138939e-07,4.234158657e-08) (4.359031483e-07,9.22545632e-07) (-1.273242959e-06,-5.816351088e-06) (5.466313628e-06,-1.016188654e-05) (-2.867123006e-06,1.31041973e-06) (4.484840704e-08,1.742515531e-08) (1.996404585e-07,4.006392654e-07) (-7.036287942e-07,-2.636380213e-06) (3.2181333e-06,-4.377497957e-06) (-2.131972104e-06,-3.142402084e-07) +(0,0) (0,0) (0.1767194204,0) (0.4323382235,0) (0.1708278373,0) (0.003585169254,0) (0.0314498852,0) (0.001435115663,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001699344885,0) (0.0005652953336,0) (0.0001271657725,0) (1.32657526e-05,0) (0.001322714732,0) (4.834337921e-05,0) (5.078874012e-06,0) (0.0004853110627,0) (5.670946568e-15,0) (2.774395199e-06,1.972152263e-31) (6.172029553e-05,0) (5.814397199e-05,0) (0.0004655294022,-4.930380658e-32) (1.339042538e-14,0) (1.139058852e-06,0) (2.651781405e-05,0) (2.334202003e-05,0) (0.0001874332715,-2.958228395e-31) +(7.521436699e-06,0) (2.487726124e-06,0) (3.185938962e-06,0) (4.003174709e-06,0) (7.827739219e-06,0) (1.175670888e-06,0) (1.457353976e-06,0) (3.049591687e-06,0) (5.048909171e-08,2.568783543e-24) (1.590612012e-06,1.609124785e-23) (2.682375849e-06,-5.764414894e-24) (3.284718312e-06,6.203854594e-25) (1.43263148e-06,1.550963649e-25) (1.897206644e-08,-6.720842477e-25) (7.004686066e-07,5.11818004e-24) (1.044304049e-06,-3.231174268e-25) (1.672429076e-06,0) (6.003570143e-07,8.271806126e-25) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,-3.155443621e-30) (0.0004448148634,6.310887242e-30) (-9.565713795e-05,1.029370554e-14) (3.485412968e-05,-1.023797789e-14) (0.0010438788,-5.572765633e-17) (-3.635078475e-05,1.089033375e-14) (1.331622219e-05,-1.083246436e-14) (0.0003830055394,-5.786938279e-17) (-2.848348185e-15,-1.388191666e-19) (4.162623539e-06,2.367315108e-15) (1.327559777e-05,-5.945058718e-15) (-8.528709815e-05,3.98658355e-15) (0.0003765412857,-4.087011207e-16) (-8.229297777e-15,-3.646221352e-19) (1.716943454e-06,2.411501735e-15) (5.343838064e-06,-6.246511632e-15) (-3.496510539e-05,4.239624517e-15) (0.0001515559446,-4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,2.741514604e-07) (-2.780116483e-06,-6.455501517e-06) (-7.838840513e-06,6.181350057e-06) (-1.61552776e-07,1.190893908e-07) (-9.323685179e-07,-2.408299986e-06) (-3.148837626e-06,2.289210596e-06) (4.469778006e-08,1.504883457e-07) (1.26676856e-06,1.046269265e-07) (-8.328059922e-07,-3.050222055e-07) (-4.092802746e-06,-1.369814789e-06) (1.671585455e-06,1.419721722e-06) (1.781827059e-08,6.178672245e-08) (5.435245616e-07,4.675798968e-08) (-2.634292994e-07,-9.375785702e-08) (-1.60734289e-06,-1.092677106e-06) (2.465845742e-07,1.077890251e-06) +(0,0) (0,0) (-2.024388139e-12,-0.01754455146) (4.181890806e-12,-0.007443043734) (-2.262288214e-13,0.002330599262) (6.414121631e-13,0.001357612187) (-1.452340376e-12,0.001950473409) (9.467343129e-14,-0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,-0.03618709099) (2.697252669e-14,-0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012487199e-05,-9.339175788e-05) (-2.297593838e-05,-3.045536483e-05) (4.528561733e-08,6.868362458e-08) (-1.66514317e-05,2.524731063e-06) (2.59504127e-05,-8.035423414e-05) (-5.072117342e-09,-7.910233257e-09) (-6.560212001e-06,8.794977546e-07) (9.987822964e-06,-3.042165383e-05) (1.244840867e-07,-1.067618071e-07) (1.165404828e-06,-6.776850675e-07) (4.727906968e-08,-8.924566574e-08) (-5.76753882e-06,-9.390541307e-06) (1.28088823e-05,-1.16802478e-05) (5.145444379e-08,-4.350669412e-08) (5.074993285e-07,-3.070367565e-07) (3.733853324e-09,-6.951973956e-09) (-2.953974939e-06,-6.856098294e-06) (6.040097097e-06,-2.242491619e-06) +(0,0) (0,0) (0.003826753254,-0.004457052419) (-0.004052307853,0.004260774197) (-0.001211176039,-0.001502015167) (-0.0003495764342,0.000450627808) (0.0004743750085,-0.0003084485899) (5.500250875e-05,8.626208551e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(3.029422899e-14,-0.001755455705) (3.435070136e-14,-0.0005750836658) (2.341570381e-16,4.484791197e-06) (4.73423153e-14,0.0001130057849) (-2.810519498e-15,-0.0001582737129) (2.615210098e-16,1.799544486e-06) (4.959338497e-14,4.270729501e-05) (-2.941242734e-15,-5.855085701e-05) (-1.410498678e-17,7.476163209e-13) (2.341189723e-14,-1.97199985e-05) (-7.137988075e-15,4.257473413e-05) (-8.046595515e-16,-2.621716418e-05) (6.955599815e-15,0.0001766698447) (-3.336587022e-17,1.727483119e-12) (2.373175019e-14,-8.134740302e-06) (-7.183447176e-15,1.793624094e-05) (-8.826644913e-16,-1.101268195e-05) (7.063208752e-15,7.21683518e-05) +(-0.001445559188,-0.001925184459) (-1.804094492e-05,-2.391386807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,1.395115192e-14) (-0.0003303931097,1.321857004e-14) (6.278742745e-07,6.267371997e-15) (1.508336107e-06,-1.829707832e-14) (-0.0007955499976,-8.763968249e-15) (2.638376718e-07,6.633341259e-15) (5.85025715e-07,-1.938064798e-14) (-0.0003223495585,-7.571202097e-15) (2.037825746e-15,-1.279206619e-19) (-1.243278326e-06,5.349347949e-15) (1.777719935e-06,3.844960139e-15) (9.187079385e-06,3.340764983e-15) (-0.0003238706207,-6.12567423e-15) (5.892564269e-15,-3.456051733e-19) (-5.39163517e-07,5.385811883e-15) (7.135796431e-07,3.765088724e-15) (3.990946276e-06,3.584746342e-15) (-0.0001398980045,-5.217450273e-15) +(2.184072547e-05,1.328566161e-07) (7.98125124e-06,-7.306342835e-09) (-2.353317487e-07,-2.431358997e-07) (8.89348769e-06,-5.889722967e-06) (1.368174814e-05,6.080660701e-06) (-9.52595112e-08,-1.163421003e-07) (3.483016518e-06,-2.340901803e-06) (5.851874148e-06,2.448645606e-06) (-8.904308778e-08,-1.862177347e-09) (-1.575009145e-07,-2.041408412e-07) (-4.182973373e-07,3.929932664e-07) (5.261261828e-06,-1.934800189e-06) (4.914717562e-07,1.551016991e-06) (-3.785085941e-08,-1.286475674e-10) (-7.066595277e-08,-8.72698674e-08) (-1.727701374e-07,1.345678508e-07) (2.079943364e-06,-1.093768337e-06) (9.353131396e-07,1.037909249e-06) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,1.051064969e-13) (0.0005012876667,1.210199267e-13) (3.252694177e-05,1.903334618e-14) (-9.99427541e-05,-3.755176299e-14) (0.001175300936,-8.391686018e-14) (1.236700242e-05,2.013420008e-14) (-3.797622396e-05,-3.981209702e-14) (0.000431281392,-8.71025428e-14) (-4.492290058e-15,-5.108271322e-20) (-4.381157595e-06,1.419353245e-14) (-1.902610263e-05,-4.116223754e-15) (-3.881335348e-05,8.189939113e-15) (0.0004101039919,-6.692950174e-14) (-1.245536538e-14,-2.367029216e-19) (-1.845846564e-06,1.433977071e-14) (-7.458711811e-06,-4.403933919e-15) (-1.653394432e-05,8.760466044e-15) (0.0001651886852,-6.698363681e-14) +(-2.003295385e-05,7.44423399e-05) (-6.514395052e-06,2.465403487e-05) (9.239836074e-07,-9.251150332e-07) (-1.431917237e-05,-3.227521164e-05) (-1.064377077e-06,-4.92444156e-05) (3.961344705e-07,-3.661838786e-07) (-5.649364548e-06,-1.15785494e-05) (-1.372201324e-06,-1.935529002e-05) (2.280251171e-07,-3.053268573e-07) (4.078376831e-07,7.060455894e-07) (1.056705235e-06,1.661036676e-06) (-2.573322934e-06,1.49414439e-05) (-2.046729951e-06,4.370276278e-06) (9.88697933e-08,-1.296933022e-07) (1.816535076e-07,2.975472314e-07) (4.141876113e-07,6.018640503e-07) (-2.328660063e-07,6.309697042e-06) (-1.439856402e-06,3.698707777e-06) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,3.155443621e-30) (0.0004448148634,-6.310887242e-30) (-9.565713795e-05,-1.029370554e-14) (3.485412968e-05,1.023797789e-14) (0.0010438788,5.572765633e-17) (-3.635078475e-05,-1.089033375e-14) (1.331622219e-05,1.083246436e-14) (0.0003830055394,5.786938279e-17) (-2.848334632e-15,1.388191666e-19) (4.162623539e-06,-2.367315108e-15) (1.327559777e-05,5.945058718e-15) (-8.528709815e-05,-3.98658355e-15) (0.0003765412857,4.087011207e-16) (-8.229297777e-15,3.646221352e-19) (1.716943454e-06,-2.411501735e-15) (5.343838064e-06,6.246511632e-15) (-3.496510539e-05,-4.239624517e-15) (0.0001515559446,4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,-2.741514604e-07) (-2.780116483e-06,6.455501517e-06) (-7.838840513e-06,-6.181350057e-06) (-1.61552776e-07,-1.190893908e-07) (-9.323685179e-07,2.408299986e-06) (-3.148837626e-06,-2.289210596e-06) (4.469778006e-08,-1.504883457e-07) (1.26676856e-06,-1.046269265e-07) (-8.328059922e-07,3.050222055e-07) (-4.092802746e-06,1.369814789e-06) (1.671585455e-06,-1.419721722e-06) (1.781827059e-08,-6.178672245e-08) (5.435245616e-07,-4.675798968e-08) (-2.634292994e-07,9.375785702e-08) (-1.60734289e-06,1.092677106e-06) (2.465845742e-07,-1.077890251e-06) +(0,0) (0,0) (0.05210540448,0) (0.1187574051,0) (0.6090226715,0) (0.0002945720367,0) (0.001167828641,0) (0.03500776944,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001052178223,0) (0.0003500121988,0) (7.195558885e-05,0) (9.157492925e-05,0) (0.0008238230987,0) (2.733320619e-05,0) (3.491359954e-05,0) (0.0003022664318,0) (1.430604767e-15,-9.860761315e-32) (6.245481801e-06,-9.860761315e-32) (2.855486911e-06,-2.465190329e-32) (0.0001251013452,-3.45126646e-31) (0.0003045636627,3.45126646e-31) (5.057437216e-15,2.958228395e-31) (2.588009232e-06,2.958228395e-31) (1.076883833e-06,-1.972152263e-31) (5.23758695e-05,4.930380658e-32) (0.0001225460354,2.958228395e-31) +(1.829886623e-05,0) (6.052376612e-06,0) (7.624904163e-08,0) (1.234084223e-05,0) (1.273119943e-05,0) (3.426263494e-08,0) (4.576252571e-06,0) (4.96973533e-06,0) (4.881179852e-07,-9.564275833e-25) (1.015740713e-06,-3.282873056e-24) (2.932491235e-07,-1.783608196e-24) (5.670935863e-06,3.231174268e-24) (3.357323756e-06,-8.685396432e-24) (2.179567445e-07,9.04728795e-25) (4.248659482e-07,5.014782464e-24) (7.486855157e-08,1.395867284e-24) (2.258687365e-06,-1.240770919e-24) (2.036540451e-06,-3.30872245e-24) +(0,0) (0,0) (-1.099241284e-12,-0.009526678654) (2.191751042e-12,-0.003900938503) (4.271548499e-13,-0.004400530276) (1.838561317e-13,0.0003891496597) (-2.798649041e-13,0.0003758547668) (-4.675917989e-13,0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,-0.02847459545) (2.122391617e-14,-0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093789551,0.0001456700398) (3.58372723e-05,4.750348753e-05) (8.822529576e-11,-1.272698423e-08) (7.492681859e-06,-2.86053938e-05) (-8.9440741e-05,5.997586631e-05) (-1.042895797e-10,1.600750282e-09) (2.743630426e-06,-1.140352637e-05) (-3.314922633e-05,2.391422379e-05) (-2.08010187e-07,-4.655544245e-07) (8.835555619e-07,-6.163683256e-07) (-4.530454876e-09,3.308465939e-08) (1.110253532e-05,9.295522593e-06) (3.370329281e-06,-2.632189876e-05) (-9.336393785e-08,-2.084335672e-07) (3.732957139e-07,-2.721202136e-07) (-3.177275675e-10,2.088885624e-09) (7.318428284e-06,4.659306735e-06) (-1.545355614e-06,-1.176554191e-05) +(0,0) (0,0) (0.002077924227,-0.002420176214) (-0.002123835932,0.002233094243) (0.002286886861,0.002836035917) (-0.0001002035425,0.0001291691838) (9.141170929e-05,-5.943781255e-05) (-0.0002716572291,-0.0004260481869) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(2.383766949e-14,-0.0013813183) (2.702959254e-14,-0.0004525170243) (1.868924904e-16,-3.373567288e-06) (3.717274731e-14,0.0002969087697) (-2.211377425e-15,-0.0001249086968) (2.087389478e-16,-1.353129535e-06) (3.893998583e-14,0.0001119736044) (-2.314235229e-15,-4.620810094e-05) (-1.121640748e-17,-3.755020248e-13) (1.830001153e-14,-2.958732411e-05) (-5.636239261e-15,9.157523315e-06) (-6.172580938e-16,3.84560218e-05) (5.470901132e-15,0.0001428985799) (-2.653396731e-17,-1.061651775e-12) (1.854964101e-14,-1.226178005e-05) (-5.6726439e-15,3.614489749e-06) (-6.780552581e-16,1.649641224e-05) (5.555562305e-15,5.835432863e-05) +(0.0022547457,0.003002852747) (2.813979759e-05,3.730023068e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.073369271e-12,-0.05475639745) (-2.298249668e-13,-0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,-0.0230047579) (-3.345332529e-14,-0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316075504,-0.0001730712488) (4.720116007e-05,-6.268597155e-05) (4.031033681e-08,-3.956133911e-08) (1.905169148e-05,1.703869909e-05) (-6.747304549e-05,-0.0001071724234) (-5.145549248e-09,4.804649686e-09) (7.921469579e-06,7.275844325e-06) (-2.725047363e-05,-4.449205454e-05) (3.972157313e-08,-8.413345314e-08) (-1.312821309e-08,-2.731487938e-07) (5.080023904e-08,4.112130507e-08) (7.129046668e-06,-1.241194881e-05) (-1.166681958e-05,5.410234195e-06) (1.633681841e-08,-3.614193552e-08) (-6.193488424e-09,-1.219375237e-07) (4.487741215e-09,4.249329443e-09) (4.483008284e-06,-7.834532362e-06) (-6.705958711e-06,4.615929459e-06) +(0,0) (0,0) (-3.574796693e-12,0.03098131397) (-3.042140382e-12,-0.00541448473) (-3.236912117e-15,-3.334652474e-05) (1.933870538e-12,-0.004093227976) (5.083089287e-13,0.0006826519903) (1.305409463e-14,4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,0.04078133152) (-9.245860848e-14,0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728618127,0.0006044432699) (0.0001549299637,0.0001971109734) (1.554831761e-07,1.531547939e-07) (6.611835083e-05,-5.278679084e-05) (-0.0002245097037,0.0003509719554) (-1.831387591e-08,-1.739280133e-08) (2.546549238e-05,-2.101936826e-05) (-8.398421587e-05,0.0001357070295) (1.940406315e-07,3.475987446e-07) (-7.367715354e-08,8.616458177e-07) (1.710746026e-07,-1.448801756e-07) (1.945324779e-05,3.347036445e-05) (-3.631825003e-05,-1.165944999e-05) (8.16747581e-08,1.501052935e-07) (-3.097009875e-08,3.777772687e-07) (1.503470171e-08,-1.41103217e-08) (1.226136967e-05,2.092456893e-05) (-2.027566464e-05,-1.11249986e-05) +(0,0) (0,0) (-2.024388139e-12,0.01754455146) (4.181890806e-12,0.007443043734) (-2.262288214e-13,-0.002330599262) (6.414121631e-13,-0.001357612187) (-1.452340376e-12,-0.001950473409) (9.467343129e-14,0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,0.03618709099) (2.697252669e-14,0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012487199e-05,9.339175788e-05) (-2.297593838e-05,3.045536483e-05) (4.528561733e-08,-6.868362458e-08) (-1.66514317e-05,-2.524731063e-06) (2.59504127e-05,8.035423414e-05) (-5.072117342e-09,7.910233257e-09) (-6.560212001e-06,-8.794977546e-07) (9.987822964e-06,3.042165383e-05) (1.244840867e-07,1.067618071e-07) (1.165404828e-06,6.776850675e-07) (4.727906968e-08,8.924566574e-08) (-5.76753882e-06,9.390541307e-06) (1.28088823e-05,1.16802478e-05) (5.145444379e-08,4.350669412e-08) (5.074993285e-07,3.070367565e-07) (3.733853324e-09,6.951973956e-09) (-2.953974939e-06,6.856098294e-06) (6.040097097e-06,2.242491619e-06) +(0,0) (0,0) (-1.099241284e-12,0.009526678654) (2.191751042e-12,0.003900938503) (4.271548499e-13,0.004400530276) (1.838561317e-13,-0.0003891496597) (-2.798649041e-13,-0.0003758547668) (-4.675917989e-13,-0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,0.02847459545) (2.122391617e-14,0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093789551,-0.0001456700398) (3.58372723e-05,-4.750348753e-05) (8.822529576e-11,1.272698423e-08) (7.492681859e-06,2.86053938e-05) (-8.9440741e-05,-5.997586631e-05) (-1.042895797e-10,-1.600750282e-09) (2.743630426e-06,1.140352637e-05) (-3.314922633e-05,-2.391422379e-05) (-2.08010187e-07,4.655544245e-07) (8.835555619e-07,6.163683256e-07) (-4.530454876e-09,-3.308465939e-08) (1.110253532e-05,-9.295522593e-06) (3.370329281e-06,2.632189876e-05) (-9.336393785e-08,2.084335672e-07) (3.732957139e-07,2.721202136e-07) (-3.177275675e-10,-2.088885624e-09) (7.318428284e-06,-4.659306735e-06) (-1.545355614e-06,1.176554191e-05) +(0.003323277612,0) (0.001069070815,0) (0.00174180792,0) (0.0001281378722,0) (3.179629858e-05,0) (0.0005140931207,0) (0.0001209653547,0) (7.18021662e-05,0) (0,-4.930380658e-32) (-2.710505431e-20,0) (7.588732639e-10,0) (1.442267609e-08,0) (0.0005156165052,0) (0,0) (4.235164736e-21,-1.972152263e-30) (8.97091465e-10,0) (2.352707791e-08,0) (0.0002128748988,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001813419252,0) (0.0005850414871,0) (2.124405867e-09,0) (7.085487522e-05,0) (0.0009108922339,0) (7.510449176e-11,0) (3.00612607e-05,0) (0.00033618718,0) (5.326768691e-07,0) (1.142595082e-06,0) (3.802636117e-09,0) (3.697326789e-05,0) (0.0002097508387,0) (2.393198566e-07,0) (5.022739562e-07,0) (5.962976263e-11,0) (3.332401508e-05,0) (6.914475989e-05,0) +(0.0008898263656,-0.0007163683525) (0.0002637034863,-0.0002117814647) (0.0004424923155,0.0003799167587) (-7.335259059e-05,-6.976367787e-05) (-2.049194964e-05,1.652403981e-05) (0.0001706412613,0.0001323756827) (-1.912950618e-05,-2.942000689e-05) (-1.929502185e-05,1.230290924e-05) (5.29395592e-23,0) (0,0) (3.78505961e-08,5.053828036e-08) (-4.457323768e-07,3.33625692e-07) (6.899910963e-06,-1.188698807e-05) (0,0) (-3.176373552e-22,-2.117582368e-22) (4.038949444e-08,4.375042653e-08) (-4.428814282e-07,4.084217944e-07) (3.762547207e-06,-7.200560218e-06) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.01180333237,-0.01466133493) (0.0002304575695,-0.000286958373) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.757388445e-14,-0.001115973469) (-4.260428398e-14,-0.0004271522746) (-2.922087985e-16,2.943727023e-08) (-5.871141873e-14,-4.890402007e-06) (3.464283974e-15,-0.0001206219073) (-3.263684734e-16,1.306127586e-08) (-6.150440357e-14,-1.876272823e-06) (3.625422672e-15,-4.927825048e-05) (1.759877347e-17,5.348850398e-13) (-2.898493743e-14,-5.889902487e-06) (8.821843004e-15,-5.701133382e-06) (9.816179971e-16,-2.824098531e-06) (-8.691825774e-15,0.000151957234) (4.163347328e-17,1.236962894e-12) (-2.938201667e-14,-2.554513476e-06) (8.878386964e-15,-2.395083132e-06) (1.077392545e-15,-1.256996698e-06) (-8.826665706e-15,6.661703989e-05) +(0.002712967572,-0.003567703253) (3.706284003e-05,-4.922167448e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.006757530639,0.007870554039) (0.002947874522,0.003099524556) (-1.732966813e-05,2.149103312e-05) (-0.001053979961,-0.00135865188) (-0.0001660279204,-0.0001079548395) (7.584049129e-06,-1.18942919e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-1.038453564e-13,0.001978324842) (-1.177501124e-13,0.0006480951351) (-8.078765504e-16,1.524993798e-06) (-1.623216596e-13,0.0003240393457) (9.568694665e-15,0.0001782000389) (-9.022983093e-16,6.122280759e-07) (-1.700396895e-13,0.0001217959401) (1.001353833e-14,6.593088745e-05) (4.86286969e-17,-1.179117259e-12) (-8.00777098e-14,-2.0755281e-05) (2.435355293e-14,6.10165565e-05) (2.709086246e-15,1.1931184e-05) (-2.403600052e-14,-0.0001924171699) (1.1503569e-16,-2.614614061e-12) (-8.11708486e-14,-8.745472892e-06) (2.450834643e-14,2.503467556e-05) (2.973262089e-15,5.207565317e-06) (-2.440771839e-14,-7.866003003e-05) +(0.009747607642,0.01246003733) (0.000121652613,0.0001547735789) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.003826753254,0.004457052419) (-0.004052307853,-0.004260774197) (-0.001211176039,0.001502015167) (-0.0003495764342,-0.000450627808) (0.0004743750085,0.0003084485899) (5.500250875e-05,-8.626208551e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(3.029422899e-14,0.001755455705) (3.435070136e-14,0.0005750836658) (2.341570381e-16,-4.484791197e-06) (4.73423153e-14,-0.0001130057849) (-2.810519498e-15,0.0001582737129) (2.615210098e-16,-1.799544486e-06) (4.959338497e-14,-4.270729501e-05) (-2.941242734e-15,5.855085701e-05) (-1.410498678e-17,-7.476163125e-13) (2.341189723e-14,1.97199985e-05) (-7.137988075e-15,-4.257473413e-05) (-8.046595515e-16,2.621716418e-05) (6.955599815e-15,-0.0001766698447) (-3.336587022e-17,-1.727483116e-12) (2.373175019e-14,8.134740302e-06) (-7.183447176e-15,-1.793624094e-05) (-8.826644913e-16,1.101268195e-05) (7.063208752e-15,-7.21683518e-05) +(-0.001445559188,0.001925184459) (-1.804094492e-05,2.391386807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.002077924227,0.002420176214) (-0.002123835932,-0.002233094243) (0.002286886861,-0.002836035917) (-0.0001002035425,-0.0001291691838) (9.141170929e-05,5.943781255e-05) (-0.0002716572291,0.0004260481869) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(2.383766949e-14,0.0013813183) (2.702959254e-14,0.0004525170243) (1.868924904e-16,3.373567288e-06) (3.717274731e-14,-0.0002969087697) (-2.211377425e-15,0.0001249086968) (2.087389478e-16,1.353129535e-06) (3.893998583e-14,-0.0001119736044) (-2.314235229e-15,4.620810094e-05) (-1.121640748e-17,3.755020044e-13) (1.830001153e-14,2.958732411e-05) (-5.636239261e-15,-9.157523315e-06) (-6.172580938e-16,-3.84560218e-05) (5.470901132e-15,-0.0001428985799) (-2.653396731e-17,1.061651774e-12) (1.854964101e-14,1.226178005e-05) (-5.6726439e-15,-3.614489749e-06) (-6.780552581e-16,-1.649641224e-05) (5.555562305e-15,-5.835432863e-05) +(0.0022547457,-0.003002852747) (2.813979759e-05,-3.730023068e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0008898263656,0.0007163683525) (0.0002637034863,0.0002117814647) (0.0004424923155,-0.0003799167587) (-7.335259059e-05,6.976367787e-05) (-2.049194964e-05,-1.652403981e-05) (0.0001706412613,-0.0001323756827) (-1.912950618e-05,2.942000689e-05) (-1.929502185e-05,-1.230290924e-05) (5.29395592e-23,-1.058791184e-22) (-8.470329473e-22,0) (3.78505961e-08,-5.053828036e-08) (-4.457323768e-07,-3.33625692e-07) (6.899910963e-06,1.188698807e-05) (0,0) (1.058791184e-22,1.588186776e-22) (4.038949444e-08,-4.375042653e-08) (-4.428814282e-07,-4.084217944e-07) (3.762547207e-06,7.200560218e-06) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0003926769682,0) (0.0001070003183,0) (0.0001952776704,0) (7.997302531e-05,0) (2.179385408e-05,0) (9.072628978e-05,0) (1.018039269e-05,0) (7.293086984e-06,0) (6.6174449e-24,-7.754818243e-25) (1.058791184e-22,-1.240770919e-24) (5.253558923e-06,5.169878828e-26) (2.149278346e-05,-1.033975766e-25) (3.663755034e-07,0) (0,1.178732373e-23) (2.64697796e-23,2.067951531e-25) (3.952117728e-06,3.877409121e-26) (1.542700385e-05,0) (3.100639357e-07,-4.135903063e-25) +(0.001813419252,0) (0.0005850414871,0) (1.581663972e-07,0) (0.0009626523137,0) (1.893875344e-05,0) (6.698663622e-08,0) (0.0003591176002,0) (7.063928932e-06,0) (9.856002163e-11,0) (0.000140166888,0) (2.936810284e-05,0) (1.182134062e-05,0) (6.704675123e-05,0) (2.228606217e-10,0) (5.80953299e-05,0) (1.213179708e-05,0) (5.195744135e-06,0) (2.778733444e-05,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.9022006019,0) (0.001265938283,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0006867671573,0) (0.0003118737213,0) (5.478741969e-09,0) (2.484389374e-08,0) (0.0007682472119,0) (2.546730763e-09,0) (9.802916105e-09,0) (0.0003437670443,0) (2.902829344e-15,3.944304526e-31) (2.474974783e-07,0) (1.106742305e-06,0) (6.746724226e-07,5.916456789e-31) (0.000344401489,0) (6.865622166e-15,0) (1.123246758e-07,0) (4.728420013e-07,0) (3.041028689e-07,-3.944304526e-31) (0.0001597069346,0) +(2.606909815e-05,0) (1.052486136e-05,0) (1.50160704e-06,0) (9.220031973e-06,0) (1.760750571e-05,0) (6.598984231e-07,0) (3.84839452e-06,0) (8.0970703e-06,0) (1.625045466e-08,-1.292469707e-25) (6.544979468e-08,1.033975766e-25) (1.123332837e-06,5.169878828e-26) (5.541294868e-06,-1.80945759e-25) (7.884846338e-07,-4.135903063e-24) (6.573341473e-09,-7.754818243e-26) (2.967925929e-08,1.783608196e-24) (6.405630384e-07,-1.550963649e-25) (2.445001313e-06,2.067951531e-25) (9.585207486e-07,4.135903063e-25) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,-1.048968745e-13) (-0.0004731891963,-1.331680902e-13) (2.838254859e-07,-2.667032522e-15) (-1.646163048e-06,-2.058752428e-14) (-0.001134965332,9.353993365e-14) (1.193742549e-07,-2.806929651e-15) (-6.363442288e-07,-2.174782716e-14) (-0.0004599365052,1.036925755e-13) (-6.39905609e-15,-4.744497745e-19) (8.721502128e-07,9.270421917e-16) (-1.184494378e-05,2.305635264e-14) (-2.850339931e-06,1.637935329e-15) (-0.0004361013826,7.942071128e-14) (-1.451212062e-14,-1.126939084e-18) (3.845477493e-07,8.539000264e-16) (-4.942394664e-06,2.315955851e-14) (-1.259856574e-06,1.799159549e-15) (-0.0001885786623,8.350119887e-14) +(-2.336997728e-05,8.899656399e-05) (-8.620275597e-06,3.25033392e-05) (9.817825478e-08,5.801548646e-06) (5.084310361e-06,-3.009317751e-05) (-2.466390723e-05,-5.241278162e-05) (1.420505313e-07,2.363204515e-06) (1.623034791e-06,-1.170234502e-05) (-1.115234346e-05,-2.211479671e-05) (-4.043179797e-08,5.656802291e-08) (-2.05138522e-07,-2.751341749e-08) (7.187037426e-07,-3.7854683e-06) (-7.485119781e-06,1.298409725e-05) (1.719364356e-06,1.585304449e-06) (-1.709340046e-08,2.258118837e-08) (-9.133145593e-08,-1.217697277e-08) (1.259848231e-07,-2.133345284e-06) (-3.269905813e-06,5.697606153e-06) (1.2237451e-06,2.432502756e-06) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,-1.772989558e-14) (-0.0004198818397,-1.679889e-14) (-8.346906342e-07,8.241968752e-15) (5.740844431e-07,7.132640533e-15) (-0.001008053523,1.105114258e-14) (-3.508811352e-07,8.716645911e-15) (2.231317455e-07,7.573389404e-15) (-0.000408453118,9.53184962e-15) (-4.05730137e-15,-5.694584659e-20) (-8.286469788e-07,-3.094091175e-15) (8.264893354e-06,-1.417463855e-14) (-6.263236738e-06,1.984783545e-15) (-0.0004004110629,7.138747102e-15) (-9.588196122e-15,-1.375244239e-19) (-3.576931874e-07,-3.070677107e-15) (3.541007804e-06,-1.454441084e-14) (-2.664277624e-06,2.070054798e-15) (-0.0001730155867,5.991069674e-15) +(-1.400249322e-05,8.517683491e-08) (-5.116927849e-06,-4.684231583e-09) (2.138336521e-06,-4.599405375e-07) (-5.084421801e-06,3.325365207e-06) (-1.137644059e-05,-2.898889879e-06) (8.535405516e-07,-2.174669906e-07) (-1.941555583e-06,1.356036493e-06) (-4.835683466e-06,-1.14408203e-06) (-7.579709164e-09,2.762279321e-08) (-1.753976932e-07,2.708152116e-07) (1.596704523e-06,6.809813049e-07) (-4.264485678e-06,-1.255174248e-07) (-4.111833037e-07,-9.800694867e-07) (-3.057891808e-09,1.074053857e-08) (-8.079752589e-08,1.194200536e-07) (7.764209185e-07,2.571247395e-07) (-2.00927223e-06,2.278516912e-07) (-4.360917395e-07,-6.207081838e-07) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,-1.395115192e-14) (-0.0003303931097,-1.321857004e-14) (6.278742745e-07,-6.267371997e-15) (1.508336107e-06,1.829707832e-14) (-0.0007955499976,8.763968249e-15) (2.638376718e-07,-6.633341259e-15) (5.85025715e-07,1.938064798e-14) (-0.0003223495585,7.571202097e-15) (2.037832522e-15,1.279206619e-19) (-1.243278326e-06,-5.349347949e-15) (1.777719935e-06,-3.844960139e-15) (9.187079385e-06,-3.340764983e-15) (-0.0003238706207,6.12567423e-15) (5.892571045e-15,3.456051733e-19) (-5.39163517e-07,-5.385811883e-15) (7.135796431e-07,-3.765088724e-15) (3.990946276e-06,-3.584746342e-15) (-0.0001398980045,5.217450273e-15) +(2.184072547e-05,-1.328566161e-07) (7.98125124e-06,7.306342835e-09) (-2.353317487e-07,2.431358997e-07) (8.89348769e-06,5.889722967e-06) (1.368174814e-05,-6.080660701e-06) (-9.52595112e-08,1.163421003e-07) (3.483016518e-06,2.340901803e-06) (5.851874148e-06,-2.448645606e-06) (-8.904308778e-08,1.862177347e-09) (-1.575009145e-07,2.041408412e-07) (-4.182973373e-07,-3.929932664e-07) (5.261261828e-06,1.934800189e-06) (4.914717562e-07,-1.551016991e-06) (-3.785085941e-08,1.286475674e-10) (-7.066595277e-08,8.72698674e-08) (-1.727701374e-07,-1.345678508e-07) (2.079943364e-06,1.093768337e-06) (9.353131396e-07,-1.037909249e-06) +(-3.073369271e-12,0.05475639745) (-2.298249668e-13,0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,0.0230047579) (-3.345332529e-14,0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316075504,0.0001730712488) (4.720116007e-05,6.268597155e-05) (4.031033681e-08,3.956133911e-08) (1.905169148e-05,-1.703869909e-05) (-6.747304549e-05,0.0001071724234) (-5.145549248e-09,-4.804649686e-09) (7.921469579e-06,-7.275844325e-06) (-2.725047363e-05,4.449205454e-05) (3.972157313e-08,8.413345314e-08) (-1.312821309e-08,2.731487938e-07) (5.080023904e-08,-4.112130507e-08) (7.129046668e-06,1.241194881e-05) (-1.166681958e-05,-5.410234195e-06) (1.633681841e-08,3.614193552e-08) (-6.193488424e-09,1.219375237e-07) (4.487741215e-09,-4.249329443e-09) (4.483008284e-06,7.834532362e-06) (-6.705958711e-06,-4.615929459e-06) +(0.01180333237,0.01466133493) (0.0002304575695,0.000286958373) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.757388445e-14,0.001115973469) (-4.260428398e-14,0.0004271522746) (-2.922087985e-16,-2.943727023e-08) (-5.871141873e-14,4.890402007e-06) (3.464283974e-15,0.0001206219073) (-3.263684734e-16,-1.306127586e-08) (-6.150440357e-14,1.876272823e-06) (3.625422672e-15,4.927825048e-05) (1.759877347e-17,-5.348850364e-13) (-2.898493743e-14,5.889902487e-06) (8.821843004e-15,5.701133382e-06) (9.816179971e-16,2.824098531e-06) (-8.691825774e-15,-0.000151957234) (4.163347328e-17,-1.236962896e-12) (-2.938201667e-14,2.554513476e-06) (8.878386964e-15,2.395083132e-06) (1.077392545e-15,1.256996698e-06) (-8.826665706e-15,-6.661703989e-05) +(0.002712967572,0.003567703253) (3.706284003e-05,4.922167448e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,1.048968745e-13) (-0.0004731891963,1.331680902e-13) (2.838254859e-07,2.667032522e-15) (-1.646163048e-06,2.058752428e-14) (-0.001134965332,-9.353993365e-14) (1.193742549e-07,2.806929651e-15) (-6.363442288e-07,2.174782716e-14) (-0.0004599365052,-1.036925755e-13) (-6.399069642e-15,4.744497745e-19) (8.721502128e-07,-9.270421917e-16) (-1.184494378e-05,-2.305635264e-14) (-2.850339931e-06,-1.637935329e-15) (-0.0004361013826,-7.942071128e-14) (-1.451212062e-14,1.126939084e-18) (3.845477493e-07,-8.539000264e-16) (-4.942394664e-06,-2.315955851e-14) (-1.259856574e-06,-1.799159549e-15) (-0.0001885786623,-8.350119887e-14) +(-2.336997728e-05,-8.899656399e-05) (-8.620275597e-06,-3.25033392e-05) (9.817825478e-08,-5.801548646e-06) (5.084310361e-06,3.009317751e-05) (-2.466390723e-05,5.241278162e-05) (1.420505313e-07,-2.363204515e-06) (1.623034791e-06,1.170234502e-05) (-1.115234346e-05,2.211479671e-05) (-4.043179797e-08,-5.656802291e-08) (-2.05138522e-07,2.751341749e-08) (7.187037426e-07,3.7854683e-06) (-7.485119781e-06,-1.298409725e-05) (1.719364356e-06,-1.585304449e-06) (-1.709340046e-08,-2.258118837e-08) (-9.133145593e-08,1.217697277e-08) (1.259848231e-07,2.133345284e-06) (-3.269905813e-06,-5.697606153e-06) (1.2237451e-06,-2.432502756e-06) +(0,0) (0,0) (0.5510606563,0) (0.2287898526,0) (3.497233206e-05,0) (0.03259042882,0) (0.003852456277,0) (2.728501408e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.002158226331,0) (0.0007179444763,0) (1.470354086e-05,0) (0.0001090752041,0) (0.001676734109,0) (5.595492446e-06,0) (4.130750209e-05,0) (0.0006153632011,0) (1.410625631e-14,3.155443621e-30) (3.07334846e-06,3.944304526e-31) (0.0001267708775,0) (1.204204804e-05,1.57772181e-30) (0.0005522171709,0) (3.067480352e-14,0) (1.316513672e-06,0) (5.166052285e-05,0) (5.219413394e-06,0) (0.0002226698044,0) +(0.0003247731928,0) (0.0001074385849,0) (2.242104943e-05,0) (0.000101024546,0) (0.0001905669123,0) (8.493601038e-06,0) (3.626944176e-05,0) (7.576061162e-05,0) (2.975099223e-07,-2.067951531e-24) (6.545291938e-07,4.301339185e-23) (1.321630137e-05,8.271806126e-25) (4.053453297e-05,2.067951531e-25) (6.936601868e-06,-1.98523347e-23) (1.220223247e-07,-4.135903063e-25) (2.860486991e-07,-1.240770919e-24) (7.129718703e-06,1.447566072e-24) (1.765029723e-05,3.30872245e-24) (7.735483806e-06,-1.32348898e-23) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,-1.335751503e-13) (0.0006370640959,-1.537988172e-13) (-4.324103528e-05,2.064957961e-14) (-3.803898884e-05,3.11900116e-15) (0.001489241722,1.064118355e-13) (-1.644703661e-05,2.184936467e-14) (-1.448432252e-05,3.401844515e-15) (0.0005464819933,1.104512803e-13) (8.944071612e-15,-5.37611904e-19) (-2.920048495e-06,-7.799358519e-15) (-8.845527695e-05,-2.047495515e-14) (2.646077292e-05,6.820300902e-15) (0.0005070239929,8.329729939e-14) (2.026694378e-14,-1.283138686e-18) (-1.22457607e-06,-7.793369903e-15) (-3.701248625e-05,-2.141087058e-14) (1.103773763e-05,7.186674661e-15) (0.0002042932449,8.338536484e-14) +(1.284349739e-05,4.772636154e-05) (4.176499206e-06,1.580615794e-05) (-1.637198807e-06,-8.291662982e-06) (-1.365739124e-05,-1.476125239e-05) (2.456488526e-05,-2.98039344e-05) (-5.950508007e-07,-3.103480952e-06) (-4.942325707e-06,-5.332056991e-06) (9.785063172e-06,-1.163148615e-05) (1.150138939e-07,-4.234158657e-08) (4.359031483e-07,-9.22545632e-07) (-1.273242959e-06,5.816351088e-06) (5.466313628e-06,1.016188654e-05) (-2.867123006e-06,-1.31041973e-06) (4.484840704e-08,-1.742515531e-08) (1.996404585e-07,-4.006392654e-07) (-7.036287942e-07,2.636380213e-06) (3.2181333e-06,4.377497957e-06) (-2.131972104e-06,3.142402084e-07) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,-1.051064969e-13) (0.0005012876667,-1.210199267e-13) (3.252694177e-05,-1.903334618e-14) (-9.99427541e-05,3.755176299e-14) (0.001175300936,8.391686018e-14) (1.236700242e-05,-2.013420008e-14) (-3.797622396e-05,3.981209702e-14) (0.000431281392,8.71025428e-14) (-4.492296834e-15,5.108271321e-20) (-4.381157595e-06,-1.419353245e-14) (-1.902610263e-05,4.116223754e-15) (-3.881335348e-05,-8.189939113e-15) (0.0004101039919,6.692950174e-14) (-1.245537216e-14,2.367029216e-19) (-1.845846564e-06,-1.433977071e-14) (-7.458711811e-06,4.403933919e-15) (-1.653394432e-05,-8.760466044e-15) (0.0001651886852,6.698363681e-14) +(-2.003295385e-05,-7.44423399e-05) (-6.514395052e-06,-2.465403487e-05) (9.239836074e-07,9.251150332e-07) (-1.431917237e-05,3.227521164e-05) (-1.064377077e-06,4.92444156e-05) (3.961344705e-07,3.661838786e-07) (-5.649364548e-06,1.15785494e-05) (-1.372201324e-06,1.935529002e-05) (2.280251171e-07,3.053268573e-07) (4.078376831e-07,-7.060455894e-07) (1.056705235e-06,-1.661036676e-06) (-2.573322934e-06,-1.49414439e-05) (-2.046729951e-06,-4.370276278e-06) (9.88697933e-08,1.296933022e-07) (1.816535076e-07,-2.975472314e-07) (4.141876113e-07,-6.018640503e-07) (-2.328660063e-07,-6.309697042e-06) (-1.439856402e-06,-3.698707777e-06) +(0,0) (0,0) (-3.574796693e-12,-0.03098131397) (-3.042140382e-12,0.00541448473) (-3.236912117e-15,3.334652474e-05) (1.933870538e-12,0.004093227976) (5.083089287e-13,-0.0006826519903) (1.305409463e-14,-4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,-0.04078133152) (-9.245860848e-14,-0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728618127,-0.0006044432699) (0.0001549299637,-0.0001971109734) (1.554831761e-07,-1.531547939e-07) (6.611835083e-05,5.278679084e-05) (-0.0002245097037,-0.0003509719554) (-1.831387591e-08,1.739280133e-08) (2.546549238e-05,2.101936826e-05) (-8.398421587e-05,-0.0001357070295) (1.940406315e-07,-3.475987446e-07) (-7.367715354e-08,-8.616458177e-07) (1.710746026e-07,1.448801756e-07) (1.945324779e-05,-3.347036445e-05) (-3.631825003e-05,1.165944999e-05) (8.16747581e-08,-1.501052935e-07) (-3.097009875e-08,-3.777772687e-07) (1.503470171e-08,1.41103217e-08) (1.226136967e-05,-2.092456893e-05) (-2.027566464e-05,1.11249986e-05) +(0,0) (0,0) (0.006757530639,-0.007870554039) (0.002947874522,-0.003099524556) (-1.732966813e-05,-2.149103312e-05) (-0.001053979961,0.00135865188) (-0.0001660279204,0.0001079548395) (7.584049129e-06,1.18942919e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-1.038453564e-13,-0.001978324842) (-1.177501124e-13,-0.0006480951351) (-8.078765504e-16,-1.524993798e-06) (-1.623216596e-13,-0.0003240393457) (9.568694665e-15,-0.0001782000389) (-9.022983093e-16,-6.122280759e-07) (-1.700396895e-13,-0.0001217959401) (1.001353833e-14,-6.593088745e-05) (4.86286969e-17,1.179117263e-12) (-8.00777098e-14,2.0755281e-05) (2.435355293e-14,-6.10165565e-05) (2.709086246e-15,-1.1931184e-05) (-2.403600052e-14,0.0001924171699) (1.1503569e-16,2.614614073e-12) (-8.11708486e-14,8.745472892e-06) (2.450834643e-14,-2.503467556e-05) (2.973262089e-15,-5.207565317e-06) (-2.440771839e-14,7.866003003e-05) +(0.009747607642,-0.01246003733) (0.000121652613,-0.0001547735789) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,1.772989558e-14) (-0.0004198818397,1.679889e-14) (-8.346906342e-07,-8.241968752e-15) (5.740844431e-07,-7.132640533e-15) (-0.001008053523,-1.105114258e-14) (-3.508811352e-07,-8.716645911e-15) (2.231317455e-07,-7.573389404e-15) (-0.000408453118,-9.53184962e-15) (-4.057328475e-15,5.694584659e-20) (-8.286469788e-07,3.094091175e-15) (8.264893354e-06,1.417463855e-14) (-6.263236738e-06,-1.984783545e-15) (-0.0004004110629,-7.138747102e-15) (-9.588196122e-15,1.375244239e-19) (-3.576931874e-07,3.070677107e-15) (3.541007804e-06,1.454441084e-14) (-2.664277624e-06,-2.070054798e-15) (-0.0001730155867,-5.991069674e-15) +(-1.400249322e-05,-8.517683491e-08) (-5.116927849e-06,4.684231583e-09) (2.138336521e-06,4.599405375e-07) (-5.084421801e-06,-3.325365207e-06) (-1.137644059e-05,2.898889879e-06) (8.535405516e-07,2.174669906e-07) (-1.941555583e-06,-1.356036493e-06) (-4.835683466e-06,1.14408203e-06) (-7.579709164e-09,-2.762279321e-08) (-1.753976932e-07,-2.708152116e-07) (1.596704523e-06,-6.809813049e-07) (-4.264485678e-06,1.255174248e-07) (-4.111833037e-07,9.800694867e-07) (-3.057891808e-09,-1.074053857e-08) (-8.079752589e-08,-1.194200536e-07) (7.764209185e-07,-2.571247395e-07) (-2.00927223e-06,-2.278516912e-07) (-4.360917395e-07,6.207081838e-07) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,1.335751503e-13) (0.0006370640959,1.537988172e-13) (-4.324103528e-05,-2.064957961e-14) (-3.803898884e-05,-3.11900116e-15) (0.001489241722,-1.064118355e-13) (-1.644703661e-05,-2.184936467e-14) (-1.448432252e-05,-3.401844515e-15) (0.0005464819933,-1.104512803e-13) (8.944071612e-15,5.37611904e-19) (-2.920048495e-06,7.799358519e-15) (-8.845527695e-05,2.047495515e-14) (2.646077292e-05,-6.820300902e-15) (0.0005070239929,-8.329729939e-14) (2.026694378e-14,1.283138686e-18) (-1.22457607e-06,7.793369903e-15) (-3.701248625e-05,2.141087058e-14) (1.103773763e-05,-7.186674661e-15) (0.0002042932449,-8.338536484e-14) +(1.284349739e-05,-4.772636154e-05) (4.176499206e-06,-1.580615794e-05) (-1.637198807e-06,8.291662982e-06) (-1.365739124e-05,1.476125239e-05) (2.456488526e-05,2.98039344e-05) (-5.950508007e-07,3.103480952e-06) (-4.942325707e-06,5.332056991e-06) (9.785063172e-06,1.163148615e-05) (1.150138939e-07,4.234158657e-08) (4.359031483e-07,9.22545632e-07) (-1.273242959e-06,-5.816351088e-06) (5.466313628e-06,-1.016188654e-05) (-2.867123006e-06,1.31041973e-06) (4.484840704e-08,1.742515531e-08) (1.996404585e-07,4.006392654e-07) (-7.036287942e-07,-2.636380213e-06) (3.2181333e-06,-4.377497957e-06) (-2.131972104e-06,-3.142402084e-07) +(0,0) (0,0) (0.1767194204,0) (0.4323382235,0) (0.1708278373,0) (0.003585169254,0) (0.0314498852,0) (0.001435115663,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001699344885,0) (0.0005652953336,0) (0.0001271657725,0) (1.32657526e-05,0) (0.001322714732,0) (4.834337921e-05,0) (5.078874012e-06,0) (0.0004853110627,0) (5.670946568e-15,0) (2.774395199e-06,1.972152263e-31) (6.172029553e-05,0) (5.814397199e-05,0) (0.0004655294022,-4.930380658e-32) (1.339042538e-14,0) (1.139058852e-06,0) (2.651781405e-05,0) (2.334202003e-05,0) (0.0001874332715,-2.958228395e-31) +(7.521436699e-06,0) (2.487726124e-06,0) (3.185938962e-06,0) (4.003174709e-06,0) (7.827739219e-06,0) (1.175670888e-06,0) (1.457353976e-06,0) (3.049591687e-06,0) (5.048909171e-08,2.568783543e-24) (1.590612012e-06,1.609124785e-23) (2.682375849e-06,-5.764414894e-24) (3.284718312e-06,6.203854594e-25) (1.43263148e-06,1.550963649e-25) (1.897206644e-08,-6.720842477e-25) (7.004686066e-07,5.11818004e-24) (1.044304049e-06,-3.231174268e-25) (1.672429076e-06,0) (6.003570143e-07,8.271806126e-25) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,-3.155443621e-30) (0.0004448148634,6.310887242e-30) (-9.565713795e-05,1.029370554e-14) (3.485412968e-05,-1.023797789e-14) (0.0010438788,-5.572765633e-17) (-3.635078475e-05,1.089033375e-14) (1.331622219e-05,-1.083246436e-14) (0.0003830055394,-5.786938279e-17) (-2.848348185e-15,-1.388191666e-19) (4.162623539e-06,2.367315108e-15) (1.327559777e-05,-5.945058718e-15) (-8.528709815e-05,3.98658355e-15) (0.0003765412857,-4.087011207e-16) (-8.229297777e-15,-3.646221352e-19) (1.716943454e-06,2.411501735e-15) (5.343838064e-06,-6.246511632e-15) (-3.496510539e-05,4.239624517e-15) (0.0001515559446,-4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,2.741514604e-07) (-2.780116483e-06,-6.455501517e-06) (-7.838840513e-06,6.181350057e-06) (-1.61552776e-07,1.190893908e-07) (-9.323685179e-07,-2.408299986e-06) (-3.148837626e-06,2.289210596e-06) (4.469778006e-08,1.504883457e-07) (1.26676856e-06,1.046269265e-07) (-8.328059922e-07,-3.050222055e-07) (-4.092802746e-06,-1.369814789e-06) (1.671585455e-06,1.419721722e-06) (1.781827059e-08,6.178672245e-08) (5.435245616e-07,4.675798968e-08) (-2.634292994e-07,-9.375785702e-08) (-1.60734289e-06,-1.092677106e-06) (2.465845742e-07,1.077890251e-06) +(0,0) (0,0) (-2.024388139e-12,-0.01754455146) (4.181890806e-12,-0.007443043734) (-2.262288214e-13,0.002330599262) (6.414121631e-13,0.001357612187) (-1.452340376e-12,0.001950473409) (9.467343129e-14,-0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,-0.03618709099) (2.697252669e-14,-0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012487199e-05,-9.339175788e-05) (-2.297593838e-05,-3.045536483e-05) (4.528561733e-08,6.868362458e-08) (-1.66514317e-05,2.524731063e-06) (2.59504127e-05,-8.035423414e-05) (-5.072117342e-09,-7.910233257e-09) (-6.560212001e-06,8.794977546e-07) (9.987822964e-06,-3.042165383e-05) (1.244840867e-07,-1.067618071e-07) (1.165404828e-06,-6.776850675e-07) (4.727906968e-08,-8.924566574e-08) (-5.76753882e-06,-9.390541307e-06) (1.28088823e-05,-1.16802478e-05) (5.145444379e-08,-4.350669412e-08) (5.074993285e-07,-3.070367565e-07) (3.733853324e-09,-6.951973956e-09) (-2.953974939e-06,-6.856098294e-06) (6.040097097e-06,-2.242491619e-06) +(0,0) (0,0) (0.003826753254,-0.004457052419) (-0.004052307853,0.004260774197) (-0.001211176039,-0.001502015167) (-0.0003495764342,0.000450627808) (0.0004743750085,-0.0003084485899) (5.500250875e-05,8.626208551e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(3.029422899e-14,-0.001755455705) (3.435070136e-14,-0.0005750836658) (2.341570381e-16,4.484791197e-06) (4.73423153e-14,0.0001130057849) (-2.810519498e-15,-0.0001582737129) (2.615210098e-16,1.799544486e-06) (4.959338497e-14,4.270729501e-05) (-2.941242734e-15,-5.855085701e-05) (-1.410498678e-17,7.476163209e-13) (2.341189723e-14,-1.97199985e-05) (-7.137988075e-15,4.257473413e-05) (-8.046595515e-16,-2.621716418e-05) (6.955599815e-15,0.0001766698447) (-3.336587022e-17,1.727483119e-12) (2.373175019e-14,-8.134740302e-06) (-7.183447176e-15,1.793624094e-05) (-8.826644913e-16,-1.101268195e-05) (7.063208752e-15,7.21683518e-05) +(-0.001445559188,-0.001925184459) (-1.804094492e-05,-2.391386807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,1.395115192e-14) (-0.0003303931097,1.321857004e-14) (6.278742745e-07,6.267371997e-15) (1.508336107e-06,-1.829707832e-14) (-0.0007955499976,-8.763968249e-15) (2.638376718e-07,6.633341259e-15) (5.85025715e-07,-1.938064798e-14) (-0.0003223495585,-7.571202097e-15) (2.037825746e-15,-1.279206619e-19) (-1.243278326e-06,5.349347949e-15) (1.777719935e-06,3.844960139e-15) (9.187079385e-06,3.340764983e-15) (-0.0003238706207,-6.12567423e-15) (5.892564269e-15,-3.456051733e-19) (-5.39163517e-07,5.385811883e-15) (7.135796431e-07,3.765088724e-15) (3.990946276e-06,3.584746342e-15) (-0.0001398980045,-5.217450273e-15) +(2.184072547e-05,1.328566161e-07) (7.98125124e-06,-7.306342835e-09) (-2.353317487e-07,-2.431358997e-07) (8.89348769e-06,-5.889722967e-06) (1.368174814e-05,6.080660701e-06) (-9.52595112e-08,-1.163421003e-07) (3.483016518e-06,-2.340901803e-06) (5.851874148e-06,2.448645606e-06) (-8.904308778e-08,-1.862177347e-09) (-1.575009145e-07,-2.041408412e-07) (-4.182973373e-07,3.929932664e-07) (5.261261828e-06,-1.934800189e-06) (4.914717562e-07,1.551016991e-06) (-3.785085941e-08,-1.286475674e-10) (-7.066595277e-08,-8.72698674e-08) (-1.727701374e-07,1.345678508e-07) (2.079943364e-06,-1.093768337e-06) (9.353131396e-07,1.037909249e-06) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,1.051064969e-13) (0.0005012876667,1.210199267e-13) (3.252694177e-05,1.903334618e-14) (-9.99427541e-05,-3.755176299e-14) (0.001175300936,-8.391686018e-14) (1.236700242e-05,2.013420008e-14) (-3.797622396e-05,-3.981209702e-14) (0.000431281392,-8.71025428e-14) (-4.492290058e-15,-5.108271322e-20) (-4.381157595e-06,1.419353245e-14) (-1.902610263e-05,-4.116223754e-15) (-3.881335348e-05,8.189939113e-15) (0.0004101039919,-6.692950174e-14) (-1.245536538e-14,-2.367029216e-19) (-1.845846564e-06,1.433977071e-14) (-7.458711811e-06,-4.403933919e-15) (-1.653394432e-05,8.760466044e-15) (0.0001651886852,-6.698363681e-14) +(-2.003295385e-05,7.44423399e-05) (-6.514395052e-06,2.465403487e-05) (9.239836074e-07,-9.251150332e-07) (-1.431917237e-05,-3.227521164e-05) (-1.064377077e-06,-4.92444156e-05) (3.961344705e-07,-3.661838786e-07) (-5.649364548e-06,-1.15785494e-05) (-1.372201324e-06,-1.935529002e-05) (2.280251171e-07,-3.053268573e-07) (4.078376831e-07,7.060455894e-07) (1.056705235e-06,1.661036676e-06) (-2.573322934e-06,1.49414439e-05) (-2.046729951e-06,4.370276278e-06) (9.88697933e-08,-1.296933022e-07) (1.816535076e-07,2.975472314e-07) (4.141876113e-07,6.018640503e-07) (-2.328660063e-07,6.309697042e-06) (-1.439856402e-06,3.698707777e-06) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,3.155443621e-30) (0.0004448148634,-6.310887242e-30) (-9.565713795e-05,-1.029370554e-14) (3.485412968e-05,1.023797789e-14) (0.0010438788,5.572765633e-17) (-3.635078475e-05,-1.089033375e-14) (1.331622219e-05,1.083246436e-14) (0.0003830055394,5.786938279e-17) (-2.848334632e-15,1.388191666e-19) (4.162623539e-06,-2.367315108e-15) (1.327559777e-05,5.945058718e-15) (-8.528709815e-05,-3.98658355e-15) (0.0003765412857,4.087011207e-16) (-8.229297777e-15,3.646221352e-19) (1.716943454e-06,-2.411501735e-15) (5.343838064e-06,6.246511632e-15) (-3.496510539e-05,-4.239624517e-15) (0.0001515559446,4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,-2.741514604e-07) (-2.780116483e-06,6.455501517e-06) (-7.838840513e-06,-6.181350057e-06) (-1.61552776e-07,-1.190893908e-07) (-9.323685179e-07,2.408299986e-06) (-3.148837626e-06,-2.289210596e-06) (4.469778006e-08,-1.504883457e-07) (1.26676856e-06,-1.046269265e-07) (-8.328059922e-07,3.050222055e-07) (-4.092802746e-06,1.369814789e-06) (1.671585455e-06,-1.419721722e-06) (1.781827059e-08,-6.178672245e-08) (5.435245616e-07,-4.675798968e-08) (-2.634292994e-07,9.375785702e-08) (-1.60734289e-06,1.092677106e-06) (2.465845742e-07,-1.077890251e-06) +(0,0) (0,0) (0.05210540448,0) (0.1187574051,0) (0.6090226715,0) (0.0002945720367,0) (0.001167828641,0) (0.03500776944,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001052178223,0) (0.0003500121988,0) (7.195558885e-05,0) (9.157492925e-05,0) (0.0008238230987,0) (2.733320619e-05,0) (3.491359954e-05,0) (0.0003022664318,0) (1.430604767e-15,-9.860761315e-32) (6.245481801e-06,-9.860761315e-32) (2.855486911e-06,-2.465190329e-32) (0.0001251013452,-3.45126646e-31) (0.0003045636627,3.45126646e-31) (5.057437216e-15,2.958228395e-31) (2.588009232e-06,2.958228395e-31) (1.076883833e-06,-1.972152263e-31) (5.23758695e-05,4.930380658e-32) (0.0001225460354,2.958228395e-31) +(1.829886623e-05,0) (6.052376612e-06,0) (7.624904163e-08,0) (1.234084223e-05,0) (1.273119943e-05,0) (3.426263494e-08,0) (4.576252571e-06,0) (4.96973533e-06,0) (4.881179852e-07,-9.564275833e-25) (1.015740713e-06,-3.282873056e-24) (2.932491235e-07,-1.783608196e-24) (5.670935863e-06,3.231174268e-24) (3.357323756e-06,-8.685396432e-24) (2.179567445e-07,9.04728795e-25) (4.248659482e-07,5.014782464e-24) (7.486855157e-08,1.395867284e-24) (2.258687365e-06,-1.240770919e-24) (2.036540451e-06,-3.30872245e-24) +(0,0) (0,0) (-1.099241284e-12,-0.009526678654) (2.191751042e-12,-0.003900938503) (4.271548499e-13,-0.004400530276) (1.838561317e-13,0.0003891496597) (-2.798649041e-13,0.0003758547668) (-4.675917989e-13,0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,-0.02847459545) (2.122391617e-14,-0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093789551,0.0001456700398) (3.58372723e-05,4.750348753e-05) (8.822529576e-11,-1.272698423e-08) (7.492681859e-06,-2.86053938e-05) (-8.9440741e-05,5.997586631e-05) (-1.042895797e-10,1.600750282e-09) (2.743630426e-06,-1.140352637e-05) (-3.314922633e-05,2.391422379e-05) (-2.08010187e-07,-4.655544245e-07) (8.835555619e-07,-6.163683256e-07) (-4.530454876e-09,3.308465939e-08) (1.110253532e-05,9.295522593e-06) (3.370329281e-06,-2.632189876e-05) (-9.336393785e-08,-2.084335672e-07) (3.732957139e-07,-2.721202136e-07) (-3.177275675e-10,2.088885624e-09) (7.318428284e-06,4.659306735e-06) (-1.545355614e-06,-1.176554191e-05) +(0,0) (0,0) (0.002077924227,-0.002420176214) (-0.002123835932,0.002233094243) (0.002286886861,0.002836035917) (-0.0001002035425,0.0001291691838) (9.141170929e-05,-5.943781255e-05) (-0.0002716572291,-0.0004260481869) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(2.383766949e-14,-0.0013813183) (2.702959254e-14,-0.0004525170243) (1.868924904e-16,-3.373567288e-06) (3.717274731e-14,0.0002969087697) (-2.211377425e-15,-0.0001249086968) (2.087389478e-16,-1.353129535e-06) (3.893998583e-14,0.0001119736044) (-2.314235229e-15,-4.620810094e-05) (-1.121640748e-17,-3.755020248e-13) (1.830001153e-14,-2.958732411e-05) (-5.636239261e-15,9.157523315e-06) (-6.172580938e-16,3.84560218e-05) (5.470901132e-15,0.0001428985799) (-2.653396731e-17,-1.061651775e-12) (1.854964101e-14,-1.226178005e-05) (-5.6726439e-15,3.614489749e-06) (-6.780552581e-16,1.649641224e-05) (5.555562305e-15,5.835432863e-05) +(0.0022547457,0.003002852747) (2.813979759e-05,3.730023068e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.073369271e-12,-0.05475639745) (-2.298249668e-13,-0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,-0.0230047579) (-3.345332529e-14,-0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316075504,-0.0001730712488) (4.720116007e-05,-6.268597155e-05) (4.031033681e-08,-3.956133911e-08) (1.905169148e-05,1.703869909e-05) (-6.747304549e-05,-0.0001071724234) (-5.145549248e-09,4.804649686e-09) (7.921469579e-06,7.275844325e-06) (-2.725047363e-05,-4.449205454e-05) (3.972157313e-08,-8.413345314e-08) (-1.312821309e-08,-2.731487938e-07) (5.080023904e-08,4.112130507e-08) (7.129046668e-06,-1.241194881e-05) (-1.166681958e-05,5.410234195e-06) (1.633681841e-08,-3.614193552e-08) (-6.193488424e-09,-1.219375237e-07) (4.487741215e-09,4.249329443e-09) (4.483008284e-06,-7.834532362e-06) (-6.705958711e-06,4.615929459e-06) +(0,0) (0,0) (-3.574796693e-12,0.03098131397) (-3.042140382e-12,-0.00541448473) (-3.236912117e-15,-3.334652474e-05) (1.933870538e-12,-0.004093227976) (5.083089287e-13,0.0006826519903) (1.305409463e-14,4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,0.04078133152) (-9.245860848e-14,0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728618127,0.0006044432699) (0.0001549299637,0.0001971109734) (1.554831761e-07,1.531547939e-07) (6.611835083e-05,-5.278679084e-05) (-0.0002245097037,0.0003509719554) (-1.831387591e-08,-1.739280133e-08) (2.546549238e-05,-2.101936826e-05) (-8.398421587e-05,0.0001357070295) (1.940406315e-07,3.475987446e-07) (-7.367715354e-08,8.616458177e-07) (1.710746026e-07,-1.448801756e-07) (1.945324779e-05,3.347036445e-05) (-3.631825003e-05,-1.165944999e-05) (8.16747581e-08,1.501052935e-07) (-3.097009875e-08,3.777772687e-07) (1.503470171e-08,-1.41103217e-08) (1.226136967e-05,2.092456893e-05) (-2.027566464e-05,-1.11249986e-05) +(0,0) (0,0) (-2.024388139e-12,0.01754455146) (4.181890806e-12,0.007443043734) (-2.262288214e-13,-0.002330599262) (6.414121631e-13,-0.001357612187) (-1.452340376e-12,-0.001950473409) (9.467343129e-14,0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,0.03618709099) (2.697252669e-14,0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012487199e-05,9.339175788e-05) (-2.297593838e-05,3.045536483e-05) (4.528561733e-08,-6.868362458e-08) (-1.66514317e-05,-2.524731063e-06) (2.59504127e-05,8.035423414e-05) (-5.072117342e-09,7.910233257e-09) (-6.560212001e-06,-8.794977546e-07) (9.987822964e-06,3.042165383e-05) (1.244840867e-07,1.067618071e-07) (1.165404828e-06,6.776850675e-07) (4.727906968e-08,8.924566574e-08) (-5.76753882e-06,9.390541307e-06) (1.28088823e-05,1.16802478e-05) (5.145444379e-08,4.350669412e-08) (5.074993285e-07,3.070367565e-07) (3.733853324e-09,6.951973956e-09) (-2.953974939e-06,6.856098294e-06) (6.040097097e-06,2.242491619e-06) +(0,0) (0,0) (-1.099241284e-12,0.009526678654) (2.191751042e-12,0.003900938503) (4.271548499e-13,0.004400530276) (1.838561317e-13,-0.0003891496597) (-2.798649041e-13,-0.0003758547668) (-4.675917989e-13,-0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,0.02847459545) (2.122391617e-14,0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093789551,-0.0001456700398) (3.58372723e-05,-4.750348753e-05) (8.822529576e-11,1.272698423e-08) (7.492681859e-06,2.86053938e-05) (-8.9440741e-05,-5.997586631e-05) (-1.042895797e-10,-1.600750282e-09) (2.743630426e-06,1.140352637e-05) (-3.314922633e-05,-2.391422379e-05) (-2.08010187e-07,4.655544245e-07) (8.835555619e-07,6.163683256e-07) (-4.530454876e-09,-3.308465939e-08) (1.110253532e-05,-9.295522593e-06) (3.370329281e-06,2.632189876e-05) (-9.336393785e-08,2.084335672e-07) (3.732957139e-07,2.721202136e-07) (-3.177275675e-10,-2.088885624e-09) (7.318428284e-06,-4.659306735e-06) (-1.545355614e-06,1.176554191e-05) +(0.003323277612,0) (0.001069070815,0) (0.00174180792,0) (0.0001281378722,0) (3.179629858e-05,0) (0.0005140931207,0) (0.0001209653547,0) (7.18021662e-05,0) (0,-4.930380658e-32) (-2.710505431e-20,0) (7.588732639e-10,0) (1.442267609e-08,0) (0.0005156165052,0) (0,0) (4.235164736e-21,-1.972152263e-30) (8.97091465e-10,0) (2.352707791e-08,0) (0.0002128748988,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001813419252,0) (0.0005850414871,0) (2.124405867e-09,0) (7.085487522e-05,0) (0.0009108922339,0) (7.510449176e-11,0) (3.00612607e-05,0) (0.00033618718,0) (5.326768691e-07,0) (1.142595082e-06,0) (3.802636117e-09,0) (3.697326789e-05,0) (0.0002097508387,0) (2.393198566e-07,0) (5.022739562e-07,0) (5.962976263e-11,0) (3.332401508e-05,0) (6.914475989e-05,0) +(0.0008898263656,-0.0007163683525) (0.0002637034863,-0.0002117814647) (0.0004424923155,0.0003799167587) (-7.335259059e-05,-6.976367787e-05) (-2.049194964e-05,1.652403981e-05) (0.0001706412613,0.0001323756827) (-1.912950618e-05,-2.942000689e-05) (-1.929502185e-05,1.230290924e-05) (5.29395592e-23,0) (0,0) (3.78505961e-08,5.053828036e-08) (-4.457323768e-07,3.33625692e-07) (6.899910963e-06,-1.188698807e-05) (0,0) (-3.176373552e-22,-2.117582368e-22) (4.038949444e-08,4.375042653e-08) (-4.428814282e-07,4.084217944e-07) (3.762547207e-06,-7.200560218e-06) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.01180333237,-0.01466133493) (0.0002304575695,-0.000286958373) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.757388445e-14,-0.001115973469) (-4.260428398e-14,-0.0004271522746) (-2.922087985e-16,2.943727023e-08) (-5.871141873e-14,-4.890402007e-06) (3.464283974e-15,-0.0001206219073) (-3.263684734e-16,1.306127586e-08) (-6.150440357e-14,-1.876272823e-06) (3.625422672e-15,-4.927825048e-05) (1.759877347e-17,5.348850398e-13) (-2.898493743e-14,-5.889902487e-06) (8.821843004e-15,-5.701133382e-06) (9.816179971e-16,-2.824098531e-06) (-8.691825774e-15,0.000151957234) (4.163347328e-17,1.236962894e-12) (-2.938201667e-14,-2.554513476e-06) (8.878386964e-15,-2.395083132e-06) (1.077392545e-15,-1.256996698e-06) (-8.826665706e-15,6.661703989e-05) +(0.002712967572,-0.003567703253) (3.706284003e-05,-4.922167448e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.006757530639,0.007870554039) (0.002947874522,0.003099524556) (-1.732966813e-05,2.149103312e-05) (-0.001053979961,-0.00135865188) (-0.0001660279204,-0.0001079548395) (7.584049129e-06,-1.18942919e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-1.038453564e-13,0.001978324842) (-1.177501124e-13,0.0006480951351) (-8.078765504e-16,1.524993798e-06) (-1.623216596e-13,0.0003240393457) (9.568694665e-15,0.0001782000389) (-9.022983093e-16,6.122280759e-07) (-1.700396895e-13,0.0001217959401) (1.001353833e-14,6.593088745e-05) (4.86286969e-17,-1.179117259e-12) (-8.00777098e-14,-2.0755281e-05) (2.435355293e-14,6.10165565e-05) (2.709086246e-15,1.1931184e-05) (-2.403600052e-14,-0.0001924171699) (1.1503569e-16,-2.614614061e-12) (-8.11708486e-14,-8.745472892e-06) (2.450834643e-14,2.503467556e-05) (2.973262089e-15,5.207565317e-06) (-2.440771839e-14,-7.866003003e-05) +(0.009747607642,0.01246003733) (0.000121652613,0.0001547735789) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.003826753254,0.004457052419) (-0.004052307853,-0.004260774197) (-0.001211176039,0.001502015167) (-0.0003495764342,-0.000450627808) (0.0004743750085,0.0003084485899) (5.500250875e-05,-8.626208551e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(3.029422899e-14,0.001755455705) (3.435070136e-14,0.0005750836658) (2.341570381e-16,-4.484791197e-06) (4.73423153e-14,-0.0001130057849) (-2.810519498e-15,0.0001582737129) (2.615210098e-16,-1.799544486e-06) (4.959338497e-14,-4.270729501e-05) (-2.941242734e-15,5.855085701e-05) (-1.410498678e-17,-7.476163125e-13) (2.341189723e-14,1.97199985e-05) (-7.137988075e-15,-4.257473413e-05) (-8.046595515e-16,2.621716418e-05) (6.955599815e-15,-0.0001766698447) (-3.336587022e-17,-1.727483116e-12) (2.373175019e-14,8.134740302e-06) (-7.183447176e-15,-1.793624094e-05) (-8.826644913e-16,1.101268195e-05) (7.063208752e-15,-7.21683518e-05) +(-0.001445559188,0.001925184459) (-1.804094492e-05,2.391386807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.002077924227,0.002420176214) (-0.002123835932,-0.002233094243) (0.002286886861,-0.002836035917) (-0.0001002035425,-0.0001291691838) (9.141170929e-05,5.943781255e-05) (-0.0002716572291,0.0004260481869) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(2.383766949e-14,0.0013813183) (2.702959254e-14,0.0004525170243) (1.868924904e-16,3.373567288e-06) (3.717274731e-14,-0.0002969087697) (-2.211377425e-15,0.0001249086968) (2.087389478e-16,1.353129535e-06) (3.893998583e-14,-0.0001119736044) (-2.314235229e-15,4.620810094e-05) (-1.121640748e-17,3.755020044e-13) (1.830001153e-14,2.958732411e-05) (-5.636239261e-15,-9.157523315e-06) (-6.172580938e-16,-3.84560218e-05) (5.470901132e-15,-0.0001428985799) (-2.653396731e-17,1.061651774e-12) (1.854964101e-14,1.226178005e-05) (-5.6726439e-15,-3.614489749e-06) (-6.780552581e-16,-1.649641224e-05) (5.555562305e-15,-5.835432863e-05) +(0.0022547457,-0.003002852747) (2.813979759e-05,-3.730023068e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0008898263656,0.0007163683525) (0.0002637034863,0.0002117814647) (0.0004424923155,-0.0003799167587) (-7.335259059e-05,6.976367787e-05) (-2.049194964e-05,-1.652403981e-05) (0.0001706412613,-0.0001323756827) (-1.912950618e-05,2.942000689e-05) (-1.929502185e-05,-1.230290924e-05) (5.29395592e-23,-1.058791184e-22) (-8.470329473e-22,0) (3.78505961e-08,-5.053828036e-08) (-4.457323768e-07,-3.33625692e-07) (6.899910963e-06,1.188698807e-05) (0,0) (1.058791184e-22,1.588186776e-22) (4.038949444e-08,-4.375042653e-08) (-4.428814282e-07,-4.084217944e-07) (3.762547207e-06,7.200560218e-06) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.03738195575,0) (0.0004593806384,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0003926769682,0) (0.0001070003183,0) (0.0001952776704,0) (7.997302531e-05,0) (2.179385408e-05,0) (9.072628978e-05,0) (1.018039269e-05,0) (7.293086984e-06,0) (6.6174449e-24,-7.754818243e-25) (1.058791184e-22,-1.240770919e-24) (5.253558923e-06,5.169878828e-26) (2.149278346e-05,-1.033975766e-25) (3.663755034e-07,0) (0,1.178732373e-23) (2.64697796e-23,2.067951531e-25) (3.952117728e-06,3.877409121e-26) (1.542700385e-05,0) (3.100639357e-07,-4.135903063e-25) +(0.001813419252,0) (0.0005850414871,0) (1.581663972e-07,0) (0.0009626523137,0) (1.893875344e-05,0) (6.698663622e-08,0) (0.0003591176002,0) (7.063928932e-06,0) (9.856002163e-11,0) (0.000140166888,0) (2.936810284e-05,0) (1.182134062e-05,0) (6.704675123e-05,0) (2.228606217e-10,0) (5.80953299e-05,0) (1.213179708e-05,0) (5.195744135e-06,0) (2.778733444e-05,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.9022006019,0) (0.001265938283,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0006867671573,0) (0.0003118737213,0) (5.478741969e-09,0) (2.484389374e-08,0) (0.0007682472119,0) (2.546730763e-09,0) (9.802916105e-09,0) (0.0003437670443,0) (2.902829344e-15,3.944304526e-31) (2.474974783e-07,0) (1.106742305e-06,0) (6.746724226e-07,5.916456789e-31) (0.000344401489,0) (6.865622166e-15,0) (1.123246758e-07,0) (4.728420013e-07,0) (3.041028689e-07,-3.944304526e-31) (0.0001597069346,0) +(2.606909815e-05,0) (1.052486136e-05,0) (1.50160704e-06,0) (9.220031973e-06,0) (1.760750571e-05,0) (6.598984231e-07,0) (3.84839452e-06,0) (8.0970703e-06,0) (1.625045466e-08,-1.292469707e-25) (6.544979468e-08,1.033975766e-25) (1.123332837e-06,5.169878828e-26) (5.541294868e-06,-1.80945759e-25) (7.884846338e-07,-4.135903063e-24) (6.573341473e-09,-7.754818243e-26) (2.967925929e-08,1.783608196e-24) (6.405630384e-07,-1.550963649e-25) (2.445001313e-06,2.067951531e-25) (9.585207486e-07,4.135903063e-25) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,-1.048968745e-13) (-0.0004731891963,-1.331680902e-13) (2.838254859e-07,-2.667032522e-15) (-1.646163048e-06,-2.058752428e-14) (-0.001134965332,9.353993365e-14) (1.193742549e-07,-2.806929651e-15) (-6.363442288e-07,-2.174782716e-14) (-0.0004599365052,1.036925755e-13) (-6.39905609e-15,-4.744497745e-19) (8.721502128e-07,9.270421917e-16) (-1.184494378e-05,2.305635264e-14) (-2.850339931e-06,1.637935329e-15) (-0.0004361013826,7.942071128e-14) (-1.451212062e-14,-1.126939084e-18) (3.845477493e-07,8.539000264e-16) (-4.942394664e-06,2.315955851e-14) (-1.259856574e-06,1.799159549e-15) (-0.0001885786623,8.350119887e-14) +(-2.336997728e-05,8.899656399e-05) (-8.620275597e-06,3.25033392e-05) (9.817825478e-08,5.801548646e-06) (5.084310361e-06,-3.009317751e-05) (-2.466390723e-05,-5.241278162e-05) (1.420505313e-07,2.363204515e-06) (1.623034791e-06,-1.170234502e-05) (-1.115234346e-05,-2.211479671e-05) (-4.043179797e-08,5.656802291e-08) (-2.05138522e-07,-2.751341749e-08) (7.187037426e-07,-3.7854683e-06) (-7.485119781e-06,1.298409725e-05) (1.719364356e-06,1.585304449e-06) (-1.709340046e-08,2.258118837e-08) (-9.133145593e-08,-1.217697277e-08) (1.259848231e-07,-2.133345284e-06) (-3.269905813e-06,5.697606153e-06) (1.2237451e-06,2.432502756e-06) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,-1.772989558e-14) (-0.0004198818397,-1.679889e-14) (-8.346906342e-07,8.241968752e-15) (5.740844431e-07,7.132640533e-15) (-0.001008053523,1.105114258e-14) (-3.508811352e-07,8.716645911e-15) (2.231317455e-07,7.573389404e-15) (-0.000408453118,9.53184962e-15) (-4.05730137e-15,-5.694584659e-20) (-8.286469788e-07,-3.094091175e-15) (8.264893354e-06,-1.417463855e-14) (-6.263236738e-06,1.984783545e-15) (-0.0004004110629,7.138747102e-15) (-9.588196122e-15,-1.375244239e-19) (-3.576931874e-07,-3.070677107e-15) (3.541007804e-06,-1.454441084e-14) (-2.664277624e-06,2.070054798e-15) (-0.0001730155867,5.991069674e-15) +(-1.400249322e-05,8.517683491e-08) (-5.116927849e-06,-4.684231583e-09) (2.138336521e-06,-4.599405375e-07) (-5.084421801e-06,3.325365207e-06) (-1.137644059e-05,-2.898889879e-06) (8.535405516e-07,-2.174669906e-07) (-1.941555583e-06,1.356036493e-06) (-4.835683466e-06,-1.14408203e-06) (-7.579709164e-09,2.762279321e-08) (-1.753976932e-07,2.708152116e-07) (1.596704523e-06,6.809813049e-07) (-4.264485678e-06,-1.255174248e-07) (-4.111833037e-07,-9.800694867e-07) (-3.057891808e-09,1.074053857e-08) (-8.079752589e-08,1.194200536e-07) (7.764209185e-07,2.571247395e-07) (-2.00927223e-06,2.278516912e-07) (-4.360917395e-07,-6.207081838e-07) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,-1.395115192e-14) (-0.0003303931097,-1.321857004e-14) (6.278742745e-07,-6.267371997e-15) (1.508336107e-06,1.829707832e-14) (-0.0007955499976,8.763968249e-15) (2.638376718e-07,-6.633341259e-15) (5.85025715e-07,1.938064798e-14) (-0.0003223495585,7.571202097e-15) (2.037832522e-15,1.279206619e-19) (-1.243278326e-06,-5.349347949e-15) (1.777719935e-06,-3.844960139e-15) (9.187079385e-06,-3.340764983e-15) (-0.0003238706207,6.12567423e-15) (5.892571045e-15,3.456051733e-19) (-5.39163517e-07,-5.385811883e-15) (7.135796431e-07,-3.765088724e-15) (3.990946276e-06,-3.584746342e-15) (-0.0001398980045,5.217450273e-15) +(2.184072547e-05,-1.328566161e-07) (7.98125124e-06,7.306342835e-09) (-2.353317487e-07,2.431358997e-07) (8.89348769e-06,5.889722967e-06) (1.368174814e-05,-6.080660701e-06) (-9.52595112e-08,1.163421003e-07) (3.483016518e-06,2.340901803e-06) (5.851874148e-06,-2.448645606e-06) (-8.904308778e-08,1.862177347e-09) (-1.575009145e-07,2.041408412e-07) (-4.182973373e-07,-3.929932664e-07) (5.261261828e-06,1.934800189e-06) (4.914717562e-07,-1.551016991e-06) (-3.785085941e-08,1.286475674e-10) (-7.066595277e-08,8.72698674e-08) (-1.727701374e-07,-1.345678508e-07) (2.079943364e-06,1.093768337e-06) (9.353131396e-07,-1.037909249e-06) +(-3.073369271e-12,0.05475639745) (-2.298249668e-13,0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,0.0230047579) (-3.345332529e-14,0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001315601101,0.0001730513556) (4.714272022e-05,6.266113996e-05) (5.795093163e-08,4.411126475e-08) (1.906917157e-05,-1.709188873e-05) (-6.747387277e-05,0.0001071940222) (1.453425306e-08,-2.475386522e-10) (7.939327188e-06,-7.332714519e-06) (-2.725106785e-05,4.451495134e-05) (3.68732518e-08,8.215921054e-08) (-1.118974817e-08,2.769128241e-07) (4.59324699e-08,-2.844750319e-08) (7.162075505e-06,1.243111672e-05) (-1.167000609e-05,-5.409948601e-06) (1.362845101e-08,3.419748453e-08) (-4.294076558e-09,1.256505281e-07) (-2.120868259e-10,1.155313223e-08) (4.515484695e-06,7.853450267e-06) (-6.706727958e-06,-4.615990553e-06) +(-0.01859875469,0.00289131822) (-0.0003637420256,5.610292319e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0009663293566,-0.0005577580731) (-0.0003697518979,-0.0002132767988) (2.479801027e-08,1.3514143e-08) (-4.23588132e-06,-2.446359757e-06) (-0.0001046382544,-6.061686563e-05) (1.0527476e-08,5.172846965e-09) (-1.625594762e-06,-9.393400046e-07) (-4.287160338e-05,-2.497754476e-05) (-3.520336691e-15,-5.410133841e-13) (-5.105327903e-06,-2.952784881e-06) (-4.942304714e-06,-2.859189473e-06) (-2.434700457e-06,-1.392926361e-06) (0.0001315692818,7.592744685e-05) (-7.129223054e-15,-1.249384147e-12) (-2.216852174e-06,-1.285187174e-06) (-2.079248817e-06,-1.206281444e-06) (-1.077501277e-06,-6.092902574e-07) (5.766194007e-05,3.325636996e-05) +(-0.004446205436,0.0005656472102) (-6.115864053e-05,7.486523763e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,1.048968745e-13) (-0.0004731891963,1.331680902e-13) (2.838254859e-07,2.667032522e-15) (-1.646163048e-06,2.058752428e-14) (-0.001134965332,-9.353993365e-14) (1.193742549e-07,2.806929651e-15) (-6.363442288e-07,2.174782716e-14) (-0.0004599365052,-1.036925755e-13) (-6.399069642e-15,4.744497745e-19) (8.721502128e-07,-9.270421917e-16) (-1.184494378e-05,-2.305635264e-14) (-2.850339931e-06,-1.637935329e-15) (-0.0004361013826,-7.942071128e-14) (-1.451212062e-14,1.126939084e-18) (3.845477493e-07,-8.539000264e-16) (-4.942394664e-06,-2.315955851e-14) (-1.259856574e-06,-1.799159549e-15) (-0.0001885786623,-8.350119887e-14) +(-2.336997728e-05,-8.899656399e-05) (-8.620275597e-06,-3.25033392e-05) (9.817825478e-08,-5.801548646e-06) (5.084310361e-06,3.009317751e-05) (-2.466390723e-05,5.241278162e-05) (1.420505313e-07,-2.363204515e-06) (1.623034791e-06,1.170234502e-05) (-1.115234346e-05,2.211479671e-05) (-4.043179797e-08,-5.656802291e-08) (-2.05138522e-07,2.751341749e-08) (7.187037426e-07,3.7854683e-06) (-7.485119781e-06,-1.298409725e-05) (1.719364356e-06,-1.585304449e-06) (-1.709340046e-08,-2.258118837e-08) (-9.133145593e-08,1.217697277e-08) (1.259848231e-07,2.133345284e-06) (-3.269905813e-06,-5.697606153e-06) (1.2237451e-06,-2.432502756e-06) +(0,0) (0,0) (0.5510606563,0) (0.2287898526,0) (3.497233206e-05,0) (0.03259042882,0) (0.003852456277,0) (2.728501408e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.002158226331,0) (0.0007179444763,0) (1.470354086e-05,0) (0.0001090752041,0) (0.001676734109,0) (5.595492446e-06,0) (4.130750209e-05,0) (0.0006153632011,0) (1.410625631e-14,3.155443621e-30) (3.07334846e-06,3.944304526e-31) (0.0001267708775,0) (1.204204804e-05,1.57772181e-30) (0.0005522171709,0) (3.067480352e-14,0) (1.316513672e-06,0) (5.166052285e-05,0) (5.219413394e-06,0) (0.0002226698044,0) +(0.0003247731928,0) (0.0001074385849,0) (2.242104943e-05,0) (0.000101024546,0) (0.0001905669123,0) (8.493601038e-06,0) (3.626944176e-05,0) (7.576061162e-05,0) (2.975099223e-07,-2.067951531e-24) (6.545291938e-07,4.301339185e-23) (1.321630137e-05,8.271806126e-25) (4.053453297e-05,2.067951531e-25) (6.936601868e-06,-1.98523347e-23) (1.220223247e-07,-4.135903063e-25) (2.860486991e-07,-1.240770919e-24) (7.129718703e-06,1.447566072e-24) (1.765029723e-05,3.30872245e-24) (7.735483806e-06,-1.32348898e-23) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,-1.335751503e-13) (0.0006370640959,-1.537988172e-13) (-4.324103528e-05,2.064957961e-14) (-3.803898884e-05,3.11900116e-15) (0.001489241722,1.064118355e-13) (-1.644703661e-05,2.184936467e-14) (-1.448432252e-05,3.401844515e-15) (0.0005464819933,1.104512803e-13) (8.944071612e-15,-5.37611904e-19) (-2.920048495e-06,-7.799358519e-15) (-8.845527695e-05,-2.047495515e-14) (2.646077292e-05,6.820300902e-15) (0.0005070239929,8.329729939e-14) (2.026694378e-14,-1.283138686e-18) (-1.22457607e-06,-7.793369903e-15) (-3.701248625e-05,-2.141087058e-14) (1.103773763e-05,7.186674661e-15) (0.0002042932449,8.338536484e-14) +(1.284349739e-05,4.772636154e-05) (4.176499206e-06,1.580615794e-05) (-1.637198807e-06,-8.291662982e-06) (-1.365739124e-05,-1.476125239e-05) (2.456488526e-05,-2.98039344e-05) (-5.950508007e-07,-3.103480952e-06) (-4.942325707e-06,-5.332056991e-06) (9.785063172e-06,-1.163148615e-05) (1.150138939e-07,-4.234158657e-08) (4.359031483e-07,-9.22545632e-07) (-1.273242959e-06,5.816351088e-06) (5.466313628e-06,1.016188654e-05) (-2.867123006e-06,-1.31041973e-06) (4.484840704e-08,-1.742515531e-08) (1.996404585e-07,-4.006392654e-07) (-7.036287942e-07,2.636380213e-06) (3.2181333e-06,4.377497957e-06) (-2.131972104e-06,3.142402084e-07) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,-1.051064969e-13) (0.0005012876667,-1.210199267e-13) (3.252694177e-05,-1.903334618e-14) (-9.99427541e-05,3.755176299e-14) (0.001175300936,8.391686018e-14) (1.236700242e-05,-2.013420008e-14) (-3.797622396e-05,3.981209702e-14) (0.000431281392,8.71025428e-14) (-4.492296834e-15,5.108271321e-20) (-4.381157595e-06,-1.419353245e-14) (-1.902610263e-05,4.116223754e-15) (-3.881335348e-05,-8.189939113e-15) (0.0004101039919,6.692950174e-14) (-1.245537216e-14,2.367029216e-19) (-1.845846564e-06,-1.433977071e-14) (-7.458711811e-06,4.403933919e-15) (-1.653394432e-05,-8.760466044e-15) (0.0001651886852,6.698363681e-14) +(-2.003295385e-05,-7.44423399e-05) (-6.514395052e-06,-2.465403487e-05) (9.239836074e-07,9.251150332e-07) (-1.431917237e-05,3.227521164e-05) (-1.064377077e-06,4.92444156e-05) (3.961344705e-07,3.661838786e-07) (-5.649364548e-06,1.15785494e-05) (-1.372201324e-06,1.935529002e-05) (2.280251171e-07,3.053268573e-07) (4.078376831e-07,-7.060455894e-07) (1.056705235e-06,-1.661036676e-06) (-2.573322934e-06,-1.49414439e-05) (-2.046729951e-06,-4.370276278e-06) (9.88697933e-08,1.296933022e-07) (1.816535076e-07,-2.975472314e-07) (4.141876113e-07,-6.018640503e-07) (-2.328660063e-07,-6.309697042e-06) (-1.439856402e-06,-3.698707777e-06) +(0,0) (0,0) (-3.574796693e-12,-0.03098131397) (-3.042140382e-12,0.00541448473) (-3.236912117e-15,3.334652474e-05) (1.933870538e-12,0.004093227976) (5.083089287e-13,-0.0006826519903) (1.305409463e-14,-4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,-0.04078133152) (-9.245860848e-14,-0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728364285,-0.0006042634813) (0.0001549011422,-0.0001969101588) (1.742154656e-07,-2.210128037e-07) (6.630159526e-05,5.281451296e-05) (-0.0002245728385,-0.0003510046726) (2.242184337e-09,-5.210283013e-08) (2.564595677e-05,2.104968573e-05) (-8.40459334e-05,-0.0001357401889) (1.942550103e-07,-3.327717081e-07) (-8.133516325e-08,-8.726284924e-07) (1.252513546e-07,1.365851479e-07) (1.945354614e-05,-3.357364785e-05) (-3.63246243e-05,1.166647945e-05) (8.203792112e-08,-1.357449512e-07) (-3.833851731e-08,-3.884239297e-07) (-3.851851949e-08,1.565911284e-09) (1.226202078e-05,-2.102554947e-05) (-2.027680178e-05,1.112687277e-05) +(0,0) (0,0) (0.00343733442,0.009787470219) (0.001210329744,0.004102696501) (2.72766147e-05,-4.262416284e-06) (-0.0006496370623,-0.001592099361) (-1.047767332e-05,-0.0001977618165) (-1.409278351e-05,6.208332571e-07) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001713045537,0.0009887570642) (0.0005610046358,0.0003235933972) (1.284657558e-06,7.000983605e-07) (0.0002806706319,0.0001620964487) (0.0001545866867,8.955195666e-05) (4.934599324e-07,2.424695971e-07) (0.0001055234845,6.09760962e-05) (5.735923717e-05,3.341822563e-05) (7.848773308e-15,1.192626205e-12) (-1.799053813e-05,-1.040524524e-05) (5.289516912e-05,3.060056395e-05) (1.028606432e-05,5.884802014e-06) (-0.0001666007481,-9.614379037e-05) (1.527438251e-14,2.640868147e-12) (-7.589476744e-06,-4.399886574e-06) (2.17334082e-05,1.260869171e-05) (4.463940347e-06,2.524206171e-06) (-6.808603241e-05,-3.926843742e-05) +(0.005916905037,0.01467169451) (7.321154469e-05,0.0001827410428) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,1.772989558e-14) (-0.0004198818397,1.679889e-14) (-8.346906342e-07,-8.241968752e-15) (5.740844431e-07,-7.132640533e-15) (-0.001008053523,-1.105114258e-14) (-3.508811352e-07,-8.716645911e-15) (2.231317455e-07,-7.573389404e-15) (-0.000408453118,-9.53184962e-15) (-4.057328475e-15,5.694584659e-20) (-8.286469788e-07,3.094091175e-15) (8.264893354e-06,1.417463855e-14) (-6.263236738e-06,-1.984783545e-15) (-0.0004004110629,-7.138747102e-15) (-9.588196122e-15,1.375244239e-19) (-3.576931874e-07,3.070677107e-15) (3.541007804e-06,1.454441084e-14) (-2.664277624e-06,-2.070054798e-15) (-0.0001730155867,-5.991069674e-15) +(-1.400249322e-05,-8.517683491e-08) (-5.116927849e-06,4.684231583e-09) (2.138336521e-06,4.599405375e-07) (-5.084421801e-06,-3.325365207e-06) (-1.137644059e-05,2.898889879e-06) (8.535405516e-07,2.174669906e-07) (-1.941555583e-06,-1.356036493e-06) (-4.835683466e-06,1.14408203e-06) (-7.579709164e-09,-2.762279321e-08) (-1.753976932e-07,-2.708152116e-07) (1.596704523e-06,-6.809813049e-07) (-4.264485678e-06,1.255174248e-07) (-4.111833037e-07,9.800694867e-07) (-3.057891808e-09,-1.074053857e-08) (-8.079752589e-08,-1.194200536e-07) (7.764209185e-07,-2.571247395e-07) (-2.00927223e-06,-2.278516912e-07) (-4.360917395e-07,6.207081838e-07) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,1.335751503e-13) (0.0006370640959,1.537988172e-13) (-4.324103528e-05,-2.064957961e-14) (-3.803898884e-05,-3.11900116e-15) (0.001489241722,-1.064118355e-13) (-1.644703661e-05,-2.184936467e-14) (-1.448432252e-05,-3.401844515e-15) (0.0005464819933,-1.104512803e-13) (8.944071612e-15,5.37611904e-19) (-2.920048495e-06,7.799358519e-15) (-8.845527695e-05,2.047495515e-14) (2.646077292e-05,-6.820300902e-15) (0.0005070239929,-8.329729939e-14) (2.026694378e-14,1.283138686e-18) (-1.22457607e-06,7.793369903e-15) (-3.701248625e-05,2.141087058e-14) (1.103773763e-05,-7.186674661e-15) (0.0002042932449,-8.338536484e-14) +(1.284349739e-05,-4.772636154e-05) (4.176499206e-06,-1.580615794e-05) (-1.637198807e-06,8.291662982e-06) (-1.365739124e-05,1.476125239e-05) (2.456488526e-05,2.98039344e-05) (-5.950508007e-07,3.103480952e-06) (-4.942325707e-06,5.332056991e-06) (9.785063172e-06,1.163148615e-05) (1.150138939e-07,4.234158657e-08) (4.359031483e-07,9.22545632e-07) (-1.273242959e-06,-5.816351088e-06) (5.466313628e-06,-1.016188654e-05) (-2.867123006e-06,1.31041973e-06) (4.484840704e-08,1.742515531e-08) (1.996404585e-07,4.006392654e-07) (-7.036287942e-07,-2.636380213e-06) (3.2181333e-06,-4.377497957e-06) (-2.131972104e-06,-3.142402084e-07) +(0,0) (0,0) (0.1767194204,0) (0.4323382235,0) (0.1708278373,0) (0.003585169254,0) (0.0314498852,0) (0.001435115663,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001699344885,0) (0.0005652953336,0) (0.0001271657725,0) (1.32657526e-05,0) (0.001322714732,0) (4.834337921e-05,0) (5.078874012e-06,0) (0.0004853110627,0) (5.670946568e-15,0) (2.774395199e-06,1.972152263e-31) (6.172029553e-05,0) (5.814397199e-05,0) (0.0004655294022,-4.930380658e-32) (1.339042538e-14,0) (1.139058852e-06,0) (2.651781405e-05,0) (2.334202003e-05,0) (0.0001874332715,-2.958228395e-31) +(7.521436699e-06,0) (2.487726124e-06,0) (3.185938962e-06,0) (4.003174709e-06,0) (7.827739219e-06,0) (1.175670888e-06,0) (1.457353976e-06,0) (3.049591687e-06,0) (5.048909171e-08,2.568783543e-24) (1.590612012e-06,1.609124785e-23) (2.682375849e-06,-5.764414894e-24) (3.284718312e-06,6.203854594e-25) (1.43263148e-06,1.550963649e-25) (1.897206644e-08,-6.720842477e-25) (7.004686066e-07,5.11818004e-24) (1.044304049e-06,-3.231174268e-25) (1.672429076e-06,0) (6.003570143e-07,8.271806126e-25) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,-3.155443621e-30) (0.0004448148634,6.310887242e-30) (-9.565713795e-05,1.029370554e-14) (3.485412968e-05,-1.023797789e-14) (0.0010438788,-5.572765633e-17) (-3.635078475e-05,1.089033375e-14) (1.331622219e-05,-1.083246436e-14) (0.0003830055394,-5.786938279e-17) (-2.848348185e-15,-1.388191666e-19) (4.162623539e-06,2.367315108e-15) (1.327559777e-05,-5.945058718e-15) (-8.528709815e-05,3.98658355e-15) (0.0003765412857,-4.087011207e-16) (-8.229297777e-15,-3.646221352e-19) (1.716943454e-06,2.411501735e-15) (5.343838064e-06,-6.246511632e-15) (-3.496510539e-05,4.239624517e-15) (0.0001515559446,-4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,2.741514604e-07) (-2.780116483e-06,-6.455501517e-06) (-7.838840513e-06,6.181350057e-06) (-1.61552776e-07,1.190893908e-07) (-9.323685179e-07,-2.408299986e-06) (-3.148837626e-06,2.289210596e-06) (4.469778006e-08,1.504883457e-07) (1.26676856e-06,1.046269265e-07) (-8.328059922e-07,-3.050222055e-07) (-4.092802746e-06,-1.369814789e-06) (1.671585455e-06,1.419721722e-06) (1.781827059e-08,6.178672245e-08) (5.435245616e-07,4.675798968e-08) (-2.634292994e-07,-9.375785702e-08) (-1.60734289e-06,-1.092677106e-06) (2.465845742e-07,1.077890251e-06) +(0,0) (0,0) (-2.024388139e-12,-0.01754455146) (4.181890806e-12,-0.007443043734) (-2.262288214e-13,0.002330599262) (6.414121631e-13,0.001357612187) (-1.452340376e-12,0.001950473409) (9.467343129e-14,-0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,-0.03618709099) (2.697252669e-14,-0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.009945539e-05,-9.338091768e-05) (-2.294751532e-05,-3.044331833e-05) (6.90127523e-08,8.056615866e-08) (-1.668025493e-05,2.547758194e-06) (2.594739121e-05,-8.036832558e-05) (1.88807935e-08,4.469530297e-09) (-6.589260373e-06,9.018969849e-07) (9.98494262e-06,-3.043541208e-05) (1.224567805e-07,-1.00999336e-07) (1.175784606e-06,-6.957931152e-07) (4.804307578e-08,-6.828021738e-08) (-5.793391426e-06,-9.404544457e-06) (1.281018903e-05,-1.168435749e-05) (4.953722157e-08,-3.817679525e-08) (5.172684202e-07,-3.247875174e-07) (4.380408014e-09,1.408858421e-08) (-2.978900681e-06,-6.8746713e-06) (6.040486638e-06,-2.242961964e-06) +(0,0) (0,0) (0.001946543994,0.005542591742) (-0.001663784768,-0.005639788643) (0.001906371311,-0.0002979016351) (-0.0002154669122,-0.0005280559766) (2.993681038e-05,0.0005650451033) (-0.0001022064118,4.50252709e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001520061568,0.0008773681615) (0.0004978043885,0.0002871388275) (-3.777996285e-06,-2.058890319e-06) (-9.788133906e-05,-5.652966735e-05) (0.0001373008054,7.953825799e-05) (-1.450444915e-06,-7.126998007e-07) (-3.700141877e-05,-2.138104216e-05) (5.093868177e-05,2.967752787e-05) (4.931041266e-15,7.561819314e-13) (1.709316225e-05,9.88622701e-06) (-3.690797862e-05,-2.135176006e-05) (2.260223605e-05,1.293105701e-05) (-0.0001529662259,-8.827543048e-05) (9.981358747e-15,1.744829897e-12) (7.059472179e-06,4.092624228e-06) (-1.557102848e-05,-9.033571523e-06) (9.440103444e-06,5.338056846e-06) (-6.246700819e-05,-3.602768017e-05) +(0.002390038242,-0.0002892987505) (2.973048971e-05,-3.666982572e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,1.395115192e-14) (-0.0003303931097,1.321857004e-14) (6.278742745e-07,6.267371997e-15) (1.508336107e-06,-1.829707832e-14) (-0.0007955499976,-8.763968249e-15) (2.638376718e-07,6.633341259e-15) (5.85025715e-07,-1.938064798e-14) (-0.0003223495585,-7.571202097e-15) (2.037825746e-15,-1.279206619e-19) (-1.243278326e-06,5.349347949e-15) (1.777719935e-06,3.844960139e-15) (9.187079385e-06,3.340764983e-15) (-0.0003238706207,-6.12567423e-15) (5.892564269e-15,-3.456051733e-19) (-5.39163517e-07,5.385811883e-15) (7.135796431e-07,3.765088724e-15) (3.990946276e-06,3.584746342e-15) (-0.0001398980045,-5.217450273e-15) +(2.184072547e-05,1.328566161e-07) (7.98125124e-06,-7.306342835e-09) (-2.353317487e-07,-2.431358997e-07) (8.89348769e-06,-5.889722967e-06) (1.368174814e-05,6.080660701e-06) (-9.52595112e-08,-1.163421003e-07) (3.483016518e-06,-2.340901803e-06) (5.851874148e-06,2.448645606e-06) (-8.904308778e-08,-1.862177347e-09) (-1.575009145e-07,-2.041408412e-07) (-4.182973373e-07,3.929932664e-07) (5.261261828e-06,-1.934800189e-06) (4.914717562e-07,1.551016991e-06) (-3.785085941e-08,-1.286475674e-10) (-7.066595277e-08,-8.72698674e-08) (-1.727701374e-07,1.345678508e-07) (2.079943364e-06,-1.093768337e-06) (9.353131396e-07,1.037909249e-06) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,1.051064969e-13) (0.0005012876667,1.210199267e-13) (3.252694177e-05,1.903334618e-14) (-9.99427541e-05,-3.755176299e-14) (0.001175300936,-8.391686018e-14) (1.236700242e-05,2.013420008e-14) (-3.797622396e-05,-3.981209702e-14) (0.000431281392,-8.71025428e-14) (-4.492290058e-15,-5.108271322e-20) (-4.381157595e-06,1.419353245e-14) (-1.902610263e-05,-4.116223754e-15) (-3.881335348e-05,8.189939113e-15) (0.0004101039919,-6.692950174e-14) (-1.245536538e-14,-2.367029216e-19) (-1.845846564e-06,1.433977071e-14) (-7.458711811e-06,-4.403933919e-15) (-1.653394432e-05,8.760466044e-15) (0.0001651886852,-6.698363681e-14) +(-2.003295385e-05,7.44423399e-05) (-6.514395052e-06,2.465403487e-05) (9.239836074e-07,-9.251150332e-07) (-1.431917237e-05,-3.227521164e-05) (-1.064377077e-06,-4.92444156e-05) (3.961344705e-07,-3.661838786e-07) (-5.649364548e-06,-1.15785494e-05) (-1.372201324e-06,-1.935529002e-05) (2.280251171e-07,-3.053268573e-07) (4.078376831e-07,7.060455894e-07) (1.056705235e-06,1.661036676e-06) (-2.573322934e-06,1.49414439e-05) (-2.046729951e-06,4.370276278e-06) (9.88697933e-08,-1.296933022e-07) (1.816535076e-07,2.975472314e-07) (4.141876113e-07,6.018640503e-07) (-2.328660063e-07,6.309697042e-06) (-1.439856402e-06,3.698707777e-06) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,3.155443621e-30) (0.0004448148634,-6.310887242e-30) (-9.565713795e-05,-1.029370554e-14) (3.485412968e-05,1.023797789e-14) (0.0010438788,5.572765633e-17) (-3.635078475e-05,-1.089033375e-14) (1.331622219e-05,1.083246436e-14) (0.0003830055394,5.786938279e-17) (-2.848334632e-15,1.388191666e-19) (4.162623539e-06,-2.367315108e-15) (1.327559777e-05,5.945058718e-15) (-8.528709815e-05,-3.98658355e-15) (0.0003765412857,4.087011207e-16) (-8.229297777e-15,3.646221352e-19) (1.716943454e-06,-2.411501735e-15) (5.343838064e-06,6.246511632e-15) (-3.496510539e-05,-4.239624517e-15) (0.0001515559446,4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,-2.741514604e-07) (-2.780116483e-06,6.455501517e-06) (-7.838840513e-06,-6.181350057e-06) (-1.61552776e-07,-1.190893908e-07) (-9.323685179e-07,2.408299986e-06) (-3.148837626e-06,-2.289210596e-06) (4.469778006e-08,-1.504883457e-07) (1.26676856e-06,-1.046269265e-07) (-8.328059922e-07,3.050222055e-07) (-4.092802746e-06,1.369814789e-06) (1.671585455e-06,-1.419721722e-06) (1.781827059e-08,-6.178672245e-08) (5.435245616e-07,-4.675798968e-08) (-2.634292994e-07,9.375785702e-08) (-1.60734289e-06,1.092677106e-06) (2.465845742e-07,-1.077890251e-06) +(0,0) (0,0) (0.05210540448,0) (0.1187574051,0) (0.6090226715,0) (0.0002945720367,0) (0.001167828641,0) (0.03500776944,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001052178223,0) (0.0003500121988,0) (7.195558885e-05,0) (9.157492925e-05,0) (0.0008238230987,0) (2.733320619e-05,0) (3.491359954e-05,0) (0.0003022664318,0) (1.430604767e-15,-9.860761315e-32) (6.245481801e-06,-9.860761315e-32) (2.855486911e-06,-2.465190329e-32) (0.0001251013452,-3.45126646e-31) (0.0003045636627,3.45126646e-31) (5.057437216e-15,2.958228395e-31) (2.588009232e-06,2.958228395e-31) (1.076883833e-06,-1.972152263e-31) (5.23758695e-05,4.930380658e-32) (0.0001225460354,2.958228395e-31) +(1.829886623e-05,0) (6.052376612e-06,0) (7.624904163e-08,0) (1.234084223e-05,0) (1.273119943e-05,0) (3.426263494e-08,0) (4.576252571e-06,0) (4.96973533e-06,0) (4.881179852e-07,-9.564275833e-25) (1.015740713e-06,-3.282873056e-24) (2.932491235e-07,-1.783608196e-24) (5.670935863e-06,3.231174268e-24) (3.357323756e-06,-8.685396432e-24) (2.179567445e-07,9.04728795e-25) (4.248659482e-07,5.014782464e-24) (7.486855157e-08,1.395867284e-24) (2.258687365e-06,-1.240770919e-24) (2.036540451e-06,-3.30872245e-24) +(0,0) (0,0) (-1.099241284e-12,-0.009526678654) (2.191751042e-12,-0.003900938503) (4.271548499e-13,-0.004400530276) (1.838561317e-13,0.0003891496597) (-2.798649041e-13,0.0003758547668) (-4.675917989e-13,0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,-0.02847459545) (2.122391617e-14,-0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093393109,0.0001456531315) (3.579293875e-05,4.748469771e-05) (-1.939696579e-09,-1.629636271e-08) (7.475565512e-06,-2.866786586e-05) (-8.944884285e-05,5.999236372e-05) (-2.14173115e-09,-2.526699651e-09) (2.725199573e-06,-1.146585957e-05) (-3.315658003e-05,2.393059195e-05) (-1.926292674e-07,-4.544103218e-07) (8.906309439e-07,-6.314723923e-07) (-7.151711759e-09,2.666232592e-08) (1.11405877e-05,9.30218948e-06) (3.367781307e-06,-2.632798887e-05) (-7.780657096e-08,-1.971839515e-07) (3.796910775e-07,-2.865459246e-07) (-2.369849357e-09,-3.160619939e-09) (7.354518612e-06,4.660871765e-06) (-1.546040082e-06,-1.176643449e-05) +(0,0) (0,0) (0.00105697197,0.003009623275) (-0.0008719983776,-0.002955842992) (-0.003599522581,0.0005624841584) (-6.176202333e-05,-0.0001513634052) (5.768800967e-06,0.0001088837687) (0.0005047971676,-2.223796807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001196093331,0.0006903761197) (0.0003917081531,0.0002259413986) (2.841899237e-06,1.54874658e-06) (-0.0002571711525,-0.0001485247326) (0.0001083569998,6.277113221e-05) (1.090631473e-06,5.358995892e-07) (-9.701345459e-05,-5.605862791e-05) (4.020060285e-05,2.342138567e-05) (-2.495213373e-15,-3.798040949e-13) (2.564609381e-05,1.483301342e-05) (-7.938644399e-06,-4.592612137e-06) (-3.315355071e-05,-1.896761248e-05) (-0.0001237260184,-7.140117022e-05) (-6.181712518e-15,-1.07231224e-12) (1.064099062e-05,6.168956371e-06) (-3.13785497e-06,-1.820434496e-06) (-1.414077322e-05,-7.996125443e-06) (-5.05099567e-05,-2.913148265e-05) +(-0.003727919612,0.0004512406817) (-4.637284614e-05,5.719664231e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.073369271e-12,-0.05475639745) (-2.298249668e-13,-0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,-0.0230047579) (-3.345332529e-14,-0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001315601101,-0.0001730513556) (4.714272022e-05,-6.266113996e-05) (5.795093163e-08,-4.411126475e-08) (1.906917157e-05,1.709188873e-05) (-6.747387277e-05,-0.0001071940222) (1.453425306e-08,2.475386522e-10) (7.939327188e-06,7.332714519e-06) (-2.725106785e-05,-4.451495134e-05) (3.68732518e-08,-8.215921054e-08) (-1.118974817e-08,-2.769128241e-07) (4.59324699e-08,2.844750319e-08) (7.162075505e-06,-1.243111672e-05) (-1.167000609e-05,5.409948601e-06) (1.362845101e-08,-3.419748453e-08) (-4.294076558e-09,-1.256505281e-07) (-2.120868259e-10,-1.155313223e-08) (4.515484695e-06,-7.853450267e-06) (-6.706727958e-06,4.615990553e-06) +(0,0) (0,0) (-3.574796693e-12,0.03098131397) (-3.042140382e-12,-0.00541448473) (-3.236912117e-15,-3.334652474e-05) (1.933870538e-12,-0.004093227976) (5.083089287e-13,0.0006826519903) (1.305409463e-14,4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,0.04078133152) (-9.245860848e-14,0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728364285,0.0006042634813) (0.0001549011422,0.0001969101588) (1.742154656e-07,2.210128037e-07) (6.630159526e-05,-5.281451296e-05) (-0.0002245728385,0.0003510046726) (2.242184337e-09,5.210283013e-08) (2.564595677e-05,-2.104968573e-05) (-8.40459334e-05,0.0001357401889) (1.942550103e-07,3.327717081e-07) (-8.133516325e-08,8.726284924e-07) (1.252513546e-07,-1.365851479e-07) (1.945354614e-05,3.357364785e-05) (-3.63246243e-05,-1.166647945e-05) (8.203792112e-08,1.357449512e-07) (-3.833851731e-08,3.884239297e-07) (-3.851851949e-08,-1.565911284e-09) (1.226202078e-05,2.102554947e-05) (-2.027680178e-05,-1.112687277e-05) +(0,0) (0,0) (-2.024388139e-12,0.01754455146) (4.181890806e-12,0.007443043734) (-2.262288214e-13,-0.002330599262) (6.414121631e-13,-0.001357612187) (-1.452340376e-12,-0.001950473409) (9.467343129e-14,0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,0.03618709099) (2.697252669e-14,0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.009945539e-05,9.338091768e-05) (-2.294751532e-05,3.044331833e-05) (6.90127523e-08,-8.056615866e-08) (-1.668025493e-05,-2.547758194e-06) (2.594739121e-05,8.036832558e-05) (1.88807935e-08,-4.469530297e-09) (-6.589260373e-06,-9.018969849e-07) (9.98494262e-06,3.043541208e-05) (1.224567805e-07,1.00999336e-07) (1.175784606e-06,6.957931152e-07) (4.804307578e-08,6.828021738e-08) (-5.793391426e-06,9.404544457e-06) (1.281018903e-05,1.168435749e-05) (4.953722157e-08,3.817679525e-08) (5.172684202e-07,3.247875174e-07) (4.380408014e-09,-1.408858421e-08) (-2.978900681e-06,6.8746713e-06) (6.040486638e-06,2.242961964e-06) +(0,0) (0,0) (-1.099241284e-12,0.009526678654) (2.191751042e-12,0.003900938503) (4.271548499e-13,0.004400530276) (1.838561317e-13,-0.0003891496597) (-2.798649041e-13,-0.0003758547668) (-4.675917989e-13,-0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,0.02847459545) (2.122391617e-14,0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093393109,-0.0001456531315) (3.579293875e-05,-4.748469771e-05) (-1.939696579e-09,1.629636271e-08) (7.475565512e-06,2.866786586e-05) (-8.944884285e-05,-5.999236372e-05) (-2.14173115e-09,2.526699651e-09) (2.725199573e-06,1.146585957e-05) (-3.315658003e-05,-2.393059195e-05) (-1.926292674e-07,4.544103218e-07) (8.906309439e-07,6.314723923e-07) (-7.151711759e-09,-2.666232592e-08) (1.11405877e-05,-9.30218948e-06) (3.367781307e-06,2.632798887e-05) (-7.780657096e-08,1.971839515e-07) (3.796910775e-07,2.865459246e-07) (-2.369849357e-09,3.160619939e-09) (7.354518612e-06,-4.660871765e-06) (-1.546040082e-06,1.176643449e-05) +(0.003323277612,0) (0.001069070815,0) (0.00174180792,0) (0.0001281378722,0) (3.179629858e-05,0) (0.0005140931207,0) (0.0001209653547,0) (7.18021662e-05,0) (0,-4.930380658e-32) (-2.710505431e-20,0) (7.588732639e-10,0) (1.442267609e-08,0) (0.0005156165052,0) (0,0) (4.235164736e-21,-1.972152263e-30) (8.97091465e-10,0) (2.352707791e-08,0) (0.0002128748988,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001812676218,0) (0.0005842219029,0) (3.532291747e-09,0) (7.112404456e-05,0) (0.000911161533,0) (3.202095655e-10,0) (3.03507392e-05,0) (0.0003364428726,0) (4.990489648e-07,2.067951531e-25) (1.173508992e-06,-1.447566072e-24) (2.598563963e-09,1.861156378e-24) (3.714438472e-05,3.231174268e-26) (0.0002098412308,-3.30872245e-24) (2.061664726e-07,-2.067951531e-25) (5.325771156e-07,-1.550963649e-24) (2.084413822e-10,2.584939414e-24) (3.356492395e-05,-1.240770919e-24) (6.915611245e-05,-2.481541838e-24) +(0.0001754800089,0.001128796414) (5.155638535e-05,0.0003342646506) (-0.0005502637221,0.0001932512068) (9.709341259e-05,-2.864336795e-05) (-4.064263427e-06,-2.600856887e-05) (-0.0001999613347,8.159182589e-05) (3.504322644e-05,-1.856634867e-06) (-1.007121016e-06,-2.28614337e-05) (-5.29395592e-23,0) (0,0) (-6.269273271e-08,7.510437591e-09) (-6.606213617e-08,-5.528284076e-07) (6.844478161e-06,1.191899221e-05) (4.235164736e-22,2.117582368e-22) (-3.176373552e-22,1.058791184e-22) (-5.808372802e-08,1.310311496e-08) (-1.322629353e-07,-5.877574649e-07) (4.354594467e-06,6.858741574e-06) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01859875469,-0.00289131822) (-0.0003637420256,-5.610292319e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0009663293566,0.0005577580731) (-0.0003697518979,0.0002132767988) (2.479801027e-08,-1.3514143e-08) (-4.23588132e-06,2.446359757e-06) (-0.0001046382544,6.061686563e-05) (1.0527476e-08,-5.172846965e-09) (-1.625594762e-06,9.393400046e-07) (-4.287160338e-05,2.497754476e-05) (-3.520336691e-15,5.410133858e-13) (-5.105327903e-06,2.952784881e-06) (-4.942304714e-06,2.859189473e-06) (-2.434700457e-06,1.392926361e-06) (0.0001315692818,-7.592744685e-05) (-7.129225595e-15,1.249384147e-12) (-2.216852174e-06,1.285187174e-06) (-2.079248817e-06,1.206281444e-06) (-1.077501277e-06,6.092902574e-07) (5.766194007e-05,-3.325636996e-05) +(-0.004446205436,-0.0005656472102) (-6.115864053e-05,-7.486523763e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.00343733442,-0.009787470219) (0.001210329744,-0.004102696501) (2.72766147e-05,4.262416284e-06) (-0.0006496370623,0.001592099361) (-1.047767332e-05,0.0001977618165) (-1.409278351e-05,-6.208332571e-07) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001713045537,-0.0009887570642) (0.0005610046358,-0.0003235933972) (1.284657558e-06,-7.000983605e-07) (0.0002806706319,-0.0001620964487) (0.0001545866867,-8.955195666e-05) (4.934599324e-07,-2.424695971e-07) (0.0001055234845,-6.09760962e-05) (5.735923717e-05,-3.341822563e-05) (7.84876992e-15,-1.192626206e-12) (-1.799053813e-05,1.040524524e-05) (5.289516912e-05,-3.060056395e-05) (1.028606432e-05,-5.884802014e-06) (-0.0001666007481,9.614379037e-05) (1.52743842e-14,-2.640868145e-12) (-7.589476744e-06,4.399886574e-06) (2.17334082e-05,-1.260869171e-05) (4.463940347e-06,-2.524206171e-06) (-6.808603241e-05,3.926843742e-05) +(0.005916905037,-0.01467169451) (7.321154469e-05,-0.0001827410428) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.001946543994,-0.005542591742) (-0.001663784768,0.005639788643) (0.001906371311,0.0002979016351) (-0.0002154669122,0.0005280559766) (2.993681038e-05,-0.0005650451033) (-0.0001022064118,-4.50252709e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001520061568,-0.0008773681615) (0.0004978043885,-0.0002871388275) (-3.777996285e-06,2.058890319e-06) (-9.788133906e-05,5.652966735e-05) (0.0001373008054,-7.953825799e-05) (-1.450444915e-06,7.126998007e-07) (-3.700141877e-05,2.138104216e-05) (5.093868177e-05,-2.967752787e-05) (4.931033643e-15,-7.561819314e-13) (1.709316225e-05,-9.88622701e-06) (-3.690797862e-05,2.135176006e-05) (2.260223605e-05,-1.293105701e-05) (-0.0001529662259,8.827543048e-05) (9.981358323e-15,-1.744829897e-12) (7.059472179e-06,-4.092624228e-06) (-1.557102848e-05,9.033571523e-06) (9.440103444e-06,-5.338056846e-06) (-6.246700819e-05,3.602768017e-05) +(0.002390038242,0.0002892987505) (2.973048971e-05,3.666982572e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.00105697197,-0.003009623275) (-0.0008719983776,0.002955842992) (-0.003599522581,-0.0005624841584) (-6.176202333e-05,0.0001513634052) (5.768800967e-06,-0.0001088837687) (0.0005047971676,2.223796807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001196093331,-0.0006903761197) (0.0003917081531,-0.0002259413986) (2.841899237e-06,-1.54874658e-06) (-0.0002571711525,0.0001485247326) (0.0001083569998,-6.277113221e-05) (1.090631473e-06,-5.358995892e-07) (-9.701345459e-05,5.605862791e-05) (4.020060285e-05,-2.342138567e-05) (-2.495189656e-15,3.798040983e-13) (2.564609381e-05,-1.483301342e-05) (-7.938644399e-06,4.592612137e-06) (-3.315355071e-05,1.896761248e-05) (-0.0001237260184,7.140117022e-05) (-6.181715906e-15,1.072312241e-12) (1.064099062e-05,-6.168956371e-06) (-3.13785497e-06,1.820434496e-06) (-1.414077322e-05,7.996125443e-06) (-5.05099567e-05,2.913148265e-05) +(-0.003727919612,-0.0004512406817) (-4.637284614e-05,-5.719664231e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001754800089,-0.001128796414) (5.155638535e-05,-0.0003342646506) (-0.0005502637221,-0.0001932512068) (9.709341259e-05,2.864336795e-05) (-4.064263427e-06,2.600856887e-05) (-0.0001999613347,-8.159182589e-05) (3.504322644e-05,1.856634867e-06) (-1.007121016e-06,2.28614337e-05) (0,0) (-1.694065895e-21,4.235164736e-22) (-6.269273271e-08,-7.510437591e-09) (-6.606213617e-08,5.528284076e-07) (6.844478161e-06,-1.191899221e-05) (-4.235164736e-22,-2.64697796e-22) (1.058791184e-22,0) (-5.808372802e-08,-1.310311496e-08) (-1.322629353e-07,5.877574649e-07) (4.354594467e-06,-6.858741574e-06) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0003926769682,0) (0.0001070003183,0) (0.0001952776704,0) (7.997302531e-05,0) (2.179385408e-05,0) (9.072628978e-05,0) (1.018039269e-05,0) (7.293086984e-06,0) (6.6174449e-24,-7.754818243e-25) (1.058791184e-22,-1.240770919e-24) (5.253558923e-06,5.169878828e-26) (2.149278346e-05,-1.033975766e-25) (3.663755034e-07,0) (0,1.178732373e-23) (2.64697796e-23,2.067951531e-25) (3.952117728e-06,3.877409121e-26) (1.542700385e-05,0) (3.100639357e-07,-4.135903063e-25) +(0.001812676218,0) (0.0005842219029,0) (1.455760061e-07,0) (0.000963108556,0) (1.903497787e-05,0) (5.40245945e-08,0) (0.0003595785109,0) (7.161396531e-06,0) (1.008356953e-10,8.271806126e-25) (0.0001405400645,-1.861156378e-24) (2.945702913e-05,8.271806126e-25) (1.166197091e-05,4.135903063e-24) (6.700160668e-05,-4.549493369e-24) (2.273663116e-10,0) (5.845678685e-05,3.101927297e-24) (1.222055263e-05,-4.135903063e-25) (5.038570089e-06,7.858215819e-24) (2.77438515e-05,-4.135903063e-25) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.9022006019,0) (0.001265938283,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0006867671573,0) (0.0003118737213,0) (5.478741969e-09,0) (2.484389374e-08,0) (0.0007682472119,0) (2.546730763e-09,0) (9.802916105e-09,0) (0.0003437670443,0) (2.902829344e-15,3.944304526e-31) (2.474974783e-07,0) (1.106742305e-06,0) (6.746724226e-07,5.916456789e-31) (0.000344401489,0) (6.865622166e-15,0) (1.123246758e-07,0) (4.728420013e-07,0) (3.041028689e-07,-3.944304526e-31) (0.0001597069346,0) +(2.606909815e-05,0) (1.052486136e-05,0) (1.50160704e-06,0) (9.220031973e-06,0) (1.760750571e-05,0) (6.598984231e-07,0) (3.84839452e-06,0) (8.0970703e-06,0) (1.625045466e-08,-1.292469707e-25) (6.544979468e-08,1.033975766e-25) (1.123332837e-06,5.169878828e-26) (5.541294868e-06,-1.80945759e-25) (7.884846338e-07,-4.135903063e-24) (6.573341473e-09,-7.754818243e-26) (2.967925929e-08,1.783608196e-24) (6.405630384e-07,-1.550963649e-25) (2.445001313e-06,2.067951531e-25) (9.585207486e-07,4.135903063e-25) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,-1.048968745e-13) (-0.0004731891963,-1.331680902e-13) (2.838254859e-07,-2.667032522e-15) (-1.646163048e-06,-2.058752428e-14) (-0.001134965332,9.353993365e-14) (1.193742549e-07,-2.806929651e-15) (-6.363442288e-07,-2.174782716e-14) (-0.0004599365052,1.036925755e-13) (-6.39905609e-15,-4.744497745e-19) (8.721502128e-07,9.270421917e-16) (-1.184494378e-05,2.305635264e-14) (-2.850339931e-06,1.637935329e-15) (-0.0004361013826,7.942071128e-14) (-1.451212062e-14,-1.126939084e-18) (3.845477493e-07,8.539000264e-16) (-4.942394664e-06,2.315955851e-14) (-1.259856574e-06,1.799159549e-15) (-0.0001885786623,8.350119887e-14) +(-2.336997728e-05,8.899656399e-05) (-8.620275597e-06,3.25033392e-05) (9.817825478e-08,5.801548646e-06) (5.084310361e-06,-3.009317751e-05) (-2.466390723e-05,-5.241278162e-05) (1.420505313e-07,2.363204515e-06) (1.623034791e-06,-1.170234502e-05) (-1.115234346e-05,-2.211479671e-05) (-4.043179797e-08,5.656802291e-08) (-2.05138522e-07,-2.751341749e-08) (7.187037426e-07,-3.7854683e-06) (-7.485119781e-06,1.298409725e-05) (1.719364356e-06,1.585304449e-06) (-1.709340046e-08,2.258118837e-08) (-9.133145593e-08,-1.217697277e-08) (1.259848231e-07,-2.133345284e-06) (-3.269905813e-06,5.697606153e-06) (1.2237451e-06,2.432502756e-06) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,-1.772989558e-14) (-0.0004198818397,-1.679889e-14) (-8.346906342e-07,8.241968752e-15) (5.740844431e-07,7.132640533e-15) (-0.001008053523,1.105114258e-14) (-3.508811352e-07,8.716645911e-15) (2.231317455e-07,7.573389404e-15) (-0.000408453118,9.53184962e-15) (-4.05730137e-15,-5.694584659e-20) (-8.286469788e-07,-3.094091175e-15) (8.264893354e-06,-1.417463855e-14) (-6.263236738e-06,1.984783545e-15) (-0.0004004110629,7.138747102e-15) (-9.588196122e-15,-1.375244239e-19) (-3.576931874e-07,-3.070677107e-15) (3.541007804e-06,-1.454441084e-14) (-2.664277624e-06,2.070054798e-15) (-0.0001730155867,5.991069674e-15) +(-1.400249322e-05,8.517683491e-08) (-5.116927849e-06,-4.684231583e-09) (2.138336521e-06,-4.599405375e-07) (-5.084421801e-06,3.325365207e-06) (-1.137644059e-05,-2.898889879e-06) (8.535405516e-07,-2.174669906e-07) (-1.941555583e-06,1.356036493e-06) (-4.835683466e-06,-1.14408203e-06) (-7.579709164e-09,2.762279321e-08) (-1.753976932e-07,2.708152116e-07) (1.596704523e-06,6.809813049e-07) (-4.264485678e-06,-1.255174248e-07) (-4.111833037e-07,-9.800694867e-07) (-3.057891808e-09,1.074053857e-08) (-8.079752589e-08,1.194200536e-07) (7.764209185e-07,2.571247395e-07) (-2.00927223e-06,2.278516912e-07) (-4.360917395e-07,-6.207081838e-07) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,-1.395115192e-14) (-0.0003303931097,-1.321857004e-14) (6.278742745e-07,-6.267371997e-15) (1.508336107e-06,1.829707832e-14) (-0.0007955499976,8.763968249e-15) (2.638376718e-07,-6.633341259e-15) (5.85025715e-07,1.938064798e-14) (-0.0003223495585,7.571202097e-15) (2.037832522e-15,1.279206619e-19) (-1.243278326e-06,-5.349347949e-15) (1.777719935e-06,-3.844960139e-15) (9.187079385e-06,-3.340764983e-15) (-0.0003238706207,6.12567423e-15) (5.892571045e-15,3.456051733e-19) (-5.39163517e-07,-5.385811883e-15) (7.135796431e-07,-3.765088724e-15) (3.990946276e-06,-3.584746342e-15) (-0.0001398980045,5.217450273e-15) +(2.184072547e-05,-1.328566161e-07) (7.98125124e-06,7.306342835e-09) (-2.353317487e-07,2.431358997e-07) (8.89348769e-06,5.889722967e-06) (1.368174814e-05,-6.080660701e-06) (-9.52595112e-08,1.163421003e-07) (3.483016518e-06,2.340901803e-06) (5.851874148e-06,-2.448645606e-06) (-8.904308778e-08,1.862177347e-09) (-1.575009145e-07,2.041408412e-07) (-4.182973373e-07,-3.929932664e-07) (5.261261828e-06,1.934800189e-06) (4.914717562e-07,-1.551016991e-06) (-3.785085941e-08,1.286475674e-10) (-7.066595277e-08,8.72698674e-08) (-1.727701374e-07,-1.345678508e-07) (2.079943364e-06,1.093768337e-06) (9.353131396e-07,-1.037909249e-06) +(-3.073369271e-12,0.05475639745) (-2.298249668e-13,0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,0.0230047579) (-3.345332529e-14,0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001315601101,0.0001730513556) (4.714272022e-05,6.266113996e-05) (5.795093163e-08,4.411126475e-08) (1.906917157e-05,-1.709188873e-05) (-6.747387277e-05,0.0001071940222) (1.453425306e-08,-2.475386522e-10) (7.939327188e-06,-7.332714519e-06) (-2.725106785e-05,4.451495134e-05) (3.68732518e-08,8.215921054e-08) (-1.118974817e-08,2.769128241e-07) (4.59324699e-08,-2.844750319e-08) (7.162075505e-06,1.243111672e-05) (-1.167000609e-05,-5.409948601e-06) (1.362845101e-08,3.419748453e-08) (-4.294076558e-09,1.256505281e-07) (-2.120868259e-10,1.155313223e-08) (4.515484695e-06,7.853450267e-06) (-6.706727958e-06,-4.615990553e-06) +(-0.01859875469,0.00289131822) (-0.0003637420256,5.610292319e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0009663293566,-0.0005577580731) (-0.0003697518979,-0.0002132767988) (2.479801027e-08,1.3514143e-08) (-4.23588132e-06,-2.446359757e-06) (-0.0001046382544,-6.061686563e-05) (1.0527476e-08,5.172846965e-09) (-1.625594762e-06,-9.393400046e-07) (-4.287160338e-05,-2.497754476e-05) (-3.520336691e-15,-5.410133841e-13) (-5.105327903e-06,-2.952784881e-06) (-4.942304714e-06,-2.859189473e-06) (-2.434700457e-06,-1.392926361e-06) (0.0001315692818,7.592744685e-05) (-7.129223054e-15,-1.249384147e-12) (-2.216852174e-06,-1.285187174e-06) (-2.079248817e-06,-1.206281444e-06) (-1.077501277e-06,-6.092902574e-07) (5.766194007e-05,3.325636996e-05) +(-0.004446205436,0.0005656472102) (-6.115864053e-05,7.486523763e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,1.048968745e-13) (-0.0004731891963,1.331680902e-13) (2.838254859e-07,2.667032522e-15) (-1.646163048e-06,2.058752428e-14) (-0.001134965332,-9.353993365e-14) (1.193742549e-07,2.806929651e-15) (-6.363442288e-07,2.174782716e-14) (-0.0004599365052,-1.036925755e-13) (-6.399069642e-15,4.744497745e-19) (8.721502128e-07,-9.270421917e-16) (-1.184494378e-05,-2.305635264e-14) (-2.850339931e-06,-1.637935329e-15) (-0.0004361013826,-7.942071128e-14) (-1.451212062e-14,1.126939084e-18) (3.845477493e-07,-8.539000264e-16) (-4.942394664e-06,-2.315955851e-14) (-1.259856574e-06,-1.799159549e-15) (-0.0001885786623,-8.350119887e-14) +(-2.336997728e-05,-8.899656399e-05) (-8.620275597e-06,-3.25033392e-05) (9.817825478e-08,-5.801548646e-06) (5.084310361e-06,3.009317751e-05) (-2.466390723e-05,5.241278162e-05) (1.420505313e-07,-2.363204515e-06) (1.623034791e-06,1.170234502e-05) (-1.115234346e-05,2.211479671e-05) (-4.043179797e-08,-5.656802291e-08) (-2.05138522e-07,2.751341749e-08) (7.187037426e-07,3.7854683e-06) (-7.485119781e-06,-1.298409725e-05) (1.719364356e-06,-1.585304449e-06) (-1.709340046e-08,-2.258118837e-08) (-9.133145593e-08,1.217697277e-08) (1.259848231e-07,2.133345284e-06) (-3.269905813e-06,-5.697606153e-06) (1.2237451e-06,-2.432502756e-06) +(0,0) (0,0) (0.5510606563,0) (0.2287898526,0) (3.497233206e-05,0) (0.03259042882,0) (0.003852456277,0) (2.728501408e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.002158226331,0) (0.0007179444763,0) (1.470354086e-05,0) (0.0001090752041,0) (0.001676734109,0) (5.595492446e-06,0) (4.130750209e-05,0) (0.0006153632011,0) (1.410625631e-14,3.155443621e-30) (3.07334846e-06,3.944304526e-31) (0.0001267708775,0) (1.204204804e-05,1.57772181e-30) (0.0005522171709,0) (3.067480352e-14,0) (1.316513672e-06,0) (5.166052285e-05,0) (5.219413394e-06,0) (0.0002226698044,0) +(0.0003247731928,0) (0.0001074385849,0) (2.242104943e-05,0) (0.000101024546,0) (0.0001905669123,0) (8.493601038e-06,0) (3.626944176e-05,0) (7.576061162e-05,0) (2.975099223e-07,-2.067951531e-24) (6.545291938e-07,4.301339185e-23) (1.321630137e-05,8.271806126e-25) (4.053453297e-05,2.067951531e-25) (6.936601868e-06,-1.98523347e-23) (1.220223247e-07,-4.135903063e-25) (2.860486991e-07,-1.240770919e-24) (7.129718703e-06,1.447566072e-24) (1.765029723e-05,3.30872245e-24) (7.735483806e-06,-1.32348898e-23) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,-1.335751503e-13) (0.0006370640959,-1.537988172e-13) (-4.324103528e-05,2.064957961e-14) (-3.803898884e-05,3.11900116e-15) (0.001489241722,1.064118355e-13) (-1.644703661e-05,2.184936467e-14) (-1.448432252e-05,3.401844515e-15) (0.0005464819933,1.104512803e-13) (8.944071612e-15,-5.37611904e-19) (-2.920048495e-06,-7.799358519e-15) (-8.845527695e-05,-2.047495515e-14) (2.646077292e-05,6.820300902e-15) (0.0005070239929,8.329729939e-14) (2.026694378e-14,-1.283138686e-18) (-1.22457607e-06,-7.793369903e-15) (-3.701248625e-05,-2.141087058e-14) (1.103773763e-05,7.186674661e-15) (0.0002042932449,8.338536484e-14) +(1.284349739e-05,4.772636154e-05) (4.176499206e-06,1.580615794e-05) (-1.637198807e-06,-8.291662982e-06) (-1.365739124e-05,-1.476125239e-05) (2.456488526e-05,-2.98039344e-05) (-5.950508007e-07,-3.103480952e-06) (-4.942325707e-06,-5.332056991e-06) (9.785063172e-06,-1.163148615e-05) (1.150138939e-07,-4.234158657e-08) (4.359031483e-07,-9.22545632e-07) (-1.273242959e-06,5.816351088e-06) (5.466313628e-06,1.016188654e-05) (-2.867123006e-06,-1.31041973e-06) (4.484840704e-08,-1.742515531e-08) (1.996404585e-07,-4.006392654e-07) (-7.036287942e-07,2.636380213e-06) (3.2181333e-06,4.377497957e-06) (-2.131972104e-06,3.142402084e-07) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,-1.051064969e-13) (0.0005012876667,-1.210199267e-13) (3.252694177e-05,-1.903334618e-14) (-9.99427541e-05,3.755176299e-14) (0.001175300936,8.391686018e-14) (1.236700242e-05,-2.013420008e-14) (-3.797622396e-05,3.981209702e-14) (0.000431281392,8.71025428e-14) (-4.492296834e-15,5.108271321e-20) (-4.381157595e-06,-1.419353245e-14) (-1.902610263e-05,4.116223754e-15) (-3.881335348e-05,-8.189939113e-15) (0.0004101039919,6.692950174e-14) (-1.245537216e-14,2.367029216e-19) (-1.845846564e-06,-1.433977071e-14) (-7.458711811e-06,4.403933919e-15) (-1.653394432e-05,-8.760466044e-15) (0.0001651886852,6.698363681e-14) +(-2.003295385e-05,-7.44423399e-05) (-6.514395052e-06,-2.465403487e-05) (9.239836074e-07,9.251150332e-07) (-1.431917237e-05,3.227521164e-05) (-1.064377077e-06,4.92444156e-05) (3.961344705e-07,3.661838786e-07) (-5.649364548e-06,1.15785494e-05) (-1.372201324e-06,1.935529002e-05) (2.280251171e-07,3.053268573e-07) (4.078376831e-07,-7.060455894e-07) (1.056705235e-06,-1.661036676e-06) (-2.573322934e-06,-1.49414439e-05) (-2.046729951e-06,-4.370276278e-06) (9.88697933e-08,1.296933022e-07) (1.816535076e-07,-2.975472314e-07) (4.141876113e-07,-6.018640503e-07) (-2.328660063e-07,-6.309697042e-06) (-1.439856402e-06,-3.698707777e-06) +(0,0) (0,0) (-3.574796693e-12,-0.03098131397) (-3.042140382e-12,0.00541448473) (-3.236912117e-15,3.334652474e-05) (1.933870538e-12,0.004093227976) (5.083089287e-13,-0.0006826519903) (1.305409463e-14,-4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,-0.04078133152) (-9.245860848e-14,-0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728364285,-0.0006042634813) (0.0001549011422,-0.0001969101588) (1.742154656e-07,-2.210128037e-07) (6.630159526e-05,5.281451296e-05) (-0.0002245728385,-0.0003510046726) (2.242184337e-09,-5.210283013e-08) (2.564595677e-05,2.104968573e-05) (-8.40459334e-05,-0.0001357401889) (1.942550103e-07,-3.327717081e-07) (-8.133516325e-08,-8.726284924e-07) (1.252513546e-07,1.365851479e-07) (1.945354614e-05,-3.357364785e-05) (-3.63246243e-05,1.166647945e-05) (8.203792112e-08,-1.357449512e-07) (-3.833851731e-08,-3.884239297e-07) (-3.851851949e-08,1.565911284e-09) (1.226202078e-05,-2.102554947e-05) (-2.027680178e-05,1.112687277e-05) +(0,0) (0,0) (0.00343733442,0.009787470219) (0.001210329744,0.004102696501) (2.72766147e-05,-4.262416284e-06) (-0.0006496370623,-0.001592099361) (-1.047767332e-05,-0.0001977618165) (-1.409278351e-05,6.208332571e-07) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001713045537,0.0009887570642) (0.0005610046358,0.0003235933972) (1.284657558e-06,7.000983605e-07) (0.0002806706319,0.0001620964487) (0.0001545866867,8.955195666e-05) (4.934599324e-07,2.424695971e-07) (0.0001055234845,6.09760962e-05) (5.735923717e-05,3.341822563e-05) (7.848773308e-15,1.192626205e-12) (-1.799053813e-05,-1.040524524e-05) (5.289516912e-05,3.060056395e-05) (1.028606432e-05,5.884802014e-06) (-0.0001666007481,-9.614379037e-05) (1.527438251e-14,2.640868147e-12) (-7.589476744e-06,-4.399886574e-06) (2.17334082e-05,1.260869171e-05) (4.463940347e-06,2.524206171e-06) (-6.808603241e-05,-3.926843742e-05) +(0.005916905037,0.01467169451) (7.321154469e-05,0.0001827410428) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,1.772989558e-14) (-0.0004198818397,1.679889e-14) (-8.346906342e-07,-8.241968752e-15) (5.740844431e-07,-7.132640533e-15) (-0.001008053523,-1.105114258e-14) (-3.508811352e-07,-8.716645911e-15) (2.231317455e-07,-7.573389404e-15) (-0.000408453118,-9.53184962e-15) (-4.057328475e-15,5.694584659e-20) (-8.286469788e-07,3.094091175e-15) (8.264893354e-06,1.417463855e-14) (-6.263236738e-06,-1.984783545e-15) (-0.0004004110629,-7.138747102e-15) (-9.588196122e-15,1.375244239e-19) (-3.576931874e-07,3.070677107e-15) (3.541007804e-06,1.454441084e-14) (-2.664277624e-06,-2.070054798e-15) (-0.0001730155867,-5.991069674e-15) +(-1.400249322e-05,-8.517683491e-08) (-5.116927849e-06,4.684231583e-09) (2.138336521e-06,4.599405375e-07) (-5.084421801e-06,-3.325365207e-06) (-1.137644059e-05,2.898889879e-06) (8.535405516e-07,2.174669906e-07) (-1.941555583e-06,-1.356036493e-06) (-4.835683466e-06,1.14408203e-06) (-7.579709164e-09,-2.762279321e-08) (-1.753976932e-07,-2.708152116e-07) (1.596704523e-06,-6.809813049e-07) (-4.264485678e-06,1.255174248e-07) (-4.111833037e-07,9.800694867e-07) (-3.057891808e-09,-1.074053857e-08) (-8.079752589e-08,-1.194200536e-07) (7.764209185e-07,-2.571247395e-07) (-2.00927223e-06,-2.278516912e-07) (-4.360917395e-07,6.207081838e-07) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,1.335751503e-13) (0.0006370640959,1.537988172e-13) (-4.324103528e-05,-2.064957961e-14) (-3.803898884e-05,-3.11900116e-15) (0.001489241722,-1.064118355e-13) (-1.644703661e-05,-2.184936467e-14) (-1.448432252e-05,-3.401844515e-15) (0.0005464819933,-1.104512803e-13) (8.944071612e-15,5.37611904e-19) (-2.920048495e-06,7.799358519e-15) (-8.845527695e-05,2.047495515e-14) (2.646077292e-05,-6.820300902e-15) (0.0005070239929,-8.329729939e-14) (2.026694378e-14,1.283138686e-18) (-1.22457607e-06,7.793369903e-15) (-3.701248625e-05,2.141087058e-14) (1.103773763e-05,-7.186674661e-15) (0.0002042932449,-8.338536484e-14) +(1.284349739e-05,-4.772636154e-05) (4.176499206e-06,-1.580615794e-05) (-1.637198807e-06,8.291662982e-06) (-1.365739124e-05,1.476125239e-05) (2.456488526e-05,2.98039344e-05) (-5.950508007e-07,3.103480952e-06) (-4.942325707e-06,5.332056991e-06) (9.785063172e-06,1.163148615e-05) (1.150138939e-07,4.234158657e-08) (4.359031483e-07,9.22545632e-07) (-1.273242959e-06,-5.816351088e-06) (5.466313628e-06,-1.016188654e-05) (-2.867123006e-06,1.31041973e-06) (4.484840704e-08,1.742515531e-08) (1.996404585e-07,4.006392654e-07) (-7.036287942e-07,-2.636380213e-06) (3.2181333e-06,-4.377497957e-06) (-2.131972104e-06,-3.142402084e-07) +(0,0) (0,0) (0.1767194204,0) (0.4323382235,0) (0.1708278373,0) (0.003585169254,0) (0.0314498852,0) (0.001435115663,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001699344885,0) (0.0005652953336,0) (0.0001271657725,0) (1.32657526e-05,0) (0.001322714732,0) (4.834337921e-05,0) (5.078874012e-06,0) (0.0004853110627,0) (5.670946568e-15,0) (2.774395199e-06,1.972152263e-31) (6.172029553e-05,0) (5.814397199e-05,0) (0.0004655294022,-4.930380658e-32) (1.339042538e-14,0) (1.139058852e-06,0) (2.651781405e-05,0) (2.334202003e-05,0) (0.0001874332715,-2.958228395e-31) +(7.521436699e-06,0) (2.487726124e-06,0) (3.185938962e-06,0) (4.003174709e-06,0) (7.827739219e-06,0) (1.175670888e-06,0) (1.457353976e-06,0) (3.049591687e-06,0) (5.048909171e-08,2.568783543e-24) (1.590612012e-06,1.609124785e-23) (2.682375849e-06,-5.764414894e-24) (3.284718312e-06,6.203854594e-25) (1.43263148e-06,1.550963649e-25) (1.897206644e-08,-6.720842477e-25) (7.004686066e-07,5.11818004e-24) (1.044304049e-06,-3.231174268e-25) (1.672429076e-06,0) (6.003570143e-07,8.271806126e-25) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,-3.155443621e-30) (0.0004448148634,6.310887242e-30) (-9.565713795e-05,1.029370554e-14) (3.485412968e-05,-1.023797789e-14) (0.0010438788,-5.572765633e-17) (-3.635078475e-05,1.089033375e-14) (1.331622219e-05,-1.083246436e-14) (0.0003830055394,-5.786938279e-17) (-2.848348185e-15,-1.388191666e-19) (4.162623539e-06,2.367315108e-15) (1.327559777e-05,-5.945058718e-15) (-8.528709815e-05,3.98658355e-15) (0.0003765412857,-4.087011207e-16) (-8.229297777e-15,-3.646221352e-19) (1.716943454e-06,2.411501735e-15) (5.343838064e-06,-6.246511632e-15) (-3.496510539e-05,4.239624517e-15) (0.0001515559446,-4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,2.741514604e-07) (-2.780116483e-06,-6.455501517e-06) (-7.838840513e-06,6.181350057e-06) (-1.61552776e-07,1.190893908e-07) (-9.323685179e-07,-2.408299986e-06) (-3.148837626e-06,2.289210596e-06) (4.469778006e-08,1.504883457e-07) (1.26676856e-06,1.046269265e-07) (-8.328059922e-07,-3.050222055e-07) (-4.092802746e-06,-1.369814789e-06) (1.671585455e-06,1.419721722e-06) (1.781827059e-08,6.178672245e-08) (5.435245616e-07,4.675798968e-08) (-2.634292994e-07,-9.375785702e-08) (-1.60734289e-06,-1.092677106e-06) (2.465845742e-07,1.077890251e-06) +(0,0) (0,0) (-2.024388139e-12,-0.01754455146) (4.181890806e-12,-0.007443043734) (-2.262288214e-13,0.002330599262) (6.414121631e-13,0.001357612187) (-1.452340376e-12,0.001950473409) (9.467343129e-14,-0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,-0.03618709099) (2.697252669e-14,-0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.009945539e-05,-9.338091768e-05) (-2.294751532e-05,-3.044331833e-05) (6.90127523e-08,8.056615866e-08) (-1.668025493e-05,2.547758194e-06) (2.594739121e-05,-8.036832558e-05) (1.88807935e-08,4.469530297e-09) (-6.589260373e-06,9.018969849e-07) (9.98494262e-06,-3.043541208e-05) (1.224567805e-07,-1.00999336e-07) (1.175784606e-06,-6.957931152e-07) (4.804307578e-08,-6.828021738e-08) (-5.793391426e-06,-9.404544457e-06) (1.281018903e-05,-1.168435749e-05) (4.953722157e-08,-3.817679525e-08) (5.172684202e-07,-3.247875174e-07) (4.380408014e-09,1.408858421e-08) (-2.978900681e-06,-6.8746713e-06) (6.040486638e-06,-2.242961964e-06) +(0,0) (0,0) (0.001946543994,0.005542591742) (-0.001663784768,-0.005639788643) (0.001906371311,-0.0002979016351) (-0.0002154669122,-0.0005280559766) (2.993681038e-05,0.0005650451033) (-0.0001022064118,4.50252709e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001520061568,0.0008773681615) (0.0004978043885,0.0002871388275) (-3.777996285e-06,-2.058890319e-06) (-9.788133906e-05,-5.652966735e-05) (0.0001373008054,7.953825799e-05) (-1.450444915e-06,-7.126998007e-07) (-3.700141877e-05,-2.138104216e-05) (5.093868177e-05,2.967752787e-05) (4.931041266e-15,7.561819314e-13) (1.709316225e-05,9.88622701e-06) (-3.690797862e-05,-2.135176006e-05) (2.260223605e-05,1.293105701e-05) (-0.0001529662259,-8.827543048e-05) (9.981358747e-15,1.744829897e-12) (7.059472179e-06,4.092624228e-06) (-1.557102848e-05,-9.033571523e-06) (9.440103444e-06,5.338056846e-06) (-6.246700819e-05,-3.602768017e-05) +(0.002390038242,-0.0002892987505) (2.973048971e-05,-3.666982572e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,1.395115192e-14) (-0.0003303931097,1.321857004e-14) (6.278742745e-07,6.267371997e-15) (1.508336107e-06,-1.829707832e-14) (-0.0007955499976,-8.763968249e-15) (2.638376718e-07,6.633341259e-15) (5.85025715e-07,-1.938064798e-14) (-0.0003223495585,-7.571202097e-15) (2.037825746e-15,-1.279206619e-19) (-1.243278326e-06,5.349347949e-15) (1.777719935e-06,3.844960139e-15) (9.187079385e-06,3.340764983e-15) (-0.0003238706207,-6.12567423e-15) (5.892564269e-15,-3.456051733e-19) (-5.39163517e-07,5.385811883e-15) (7.135796431e-07,3.765088724e-15) (3.990946276e-06,3.584746342e-15) (-0.0001398980045,-5.217450273e-15) +(2.184072547e-05,1.328566161e-07) (7.98125124e-06,-7.306342835e-09) (-2.353317487e-07,-2.431358997e-07) (8.89348769e-06,-5.889722967e-06) (1.368174814e-05,6.080660701e-06) (-9.52595112e-08,-1.163421003e-07) (3.483016518e-06,-2.340901803e-06) (5.851874148e-06,2.448645606e-06) (-8.904308778e-08,-1.862177347e-09) (-1.575009145e-07,-2.041408412e-07) (-4.182973373e-07,3.929932664e-07) (5.261261828e-06,-1.934800189e-06) (4.914717562e-07,1.551016991e-06) (-3.785085941e-08,-1.286475674e-10) (-7.066595277e-08,-8.72698674e-08) (-1.727701374e-07,1.345678508e-07) (2.079943364e-06,-1.093768337e-06) (9.353131396e-07,1.037909249e-06) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,1.051064969e-13) (0.0005012876667,1.210199267e-13) (3.252694177e-05,1.903334618e-14) (-9.99427541e-05,-3.755176299e-14) (0.001175300936,-8.391686018e-14) (1.236700242e-05,2.013420008e-14) (-3.797622396e-05,-3.981209702e-14) (0.000431281392,-8.71025428e-14) (-4.492290058e-15,-5.108271322e-20) (-4.381157595e-06,1.419353245e-14) (-1.902610263e-05,-4.116223754e-15) (-3.881335348e-05,8.189939113e-15) (0.0004101039919,-6.692950174e-14) (-1.245536538e-14,-2.367029216e-19) (-1.845846564e-06,1.433977071e-14) (-7.458711811e-06,-4.403933919e-15) (-1.653394432e-05,8.760466044e-15) (0.0001651886852,-6.698363681e-14) +(-2.003295385e-05,7.44423399e-05) (-6.514395052e-06,2.465403487e-05) (9.239836074e-07,-9.251150332e-07) (-1.431917237e-05,-3.227521164e-05) (-1.064377077e-06,-4.92444156e-05) (3.961344705e-07,-3.661838786e-07) (-5.649364548e-06,-1.15785494e-05) (-1.372201324e-06,-1.935529002e-05) (2.280251171e-07,-3.053268573e-07) (4.078376831e-07,7.060455894e-07) (1.056705235e-06,1.661036676e-06) (-2.573322934e-06,1.49414439e-05) (-2.046729951e-06,4.370276278e-06) (9.88697933e-08,-1.296933022e-07) (1.816535076e-07,2.975472314e-07) (4.141876113e-07,6.018640503e-07) (-2.328660063e-07,6.309697042e-06) (-1.439856402e-06,3.698707777e-06) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,3.155443621e-30) (0.0004448148634,-6.310887242e-30) (-9.565713795e-05,-1.029370554e-14) (3.485412968e-05,1.023797789e-14) (0.0010438788,5.572765633e-17) (-3.635078475e-05,-1.089033375e-14) (1.331622219e-05,1.083246436e-14) (0.0003830055394,5.786938279e-17) (-2.848334632e-15,1.388191666e-19) (4.162623539e-06,-2.367315108e-15) (1.327559777e-05,5.945058718e-15) (-8.528709815e-05,-3.98658355e-15) (0.0003765412857,4.087011207e-16) (-8.229297777e-15,3.646221352e-19) (1.716943454e-06,-2.411501735e-15) (5.343838064e-06,6.246511632e-15) (-3.496510539e-05,-4.239624517e-15) (0.0001515559446,4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,-2.741514604e-07) (-2.780116483e-06,6.455501517e-06) (-7.838840513e-06,-6.181350057e-06) (-1.61552776e-07,-1.190893908e-07) (-9.323685179e-07,2.408299986e-06) (-3.148837626e-06,-2.289210596e-06) (4.469778006e-08,-1.504883457e-07) (1.26676856e-06,-1.046269265e-07) (-8.328059922e-07,3.050222055e-07) (-4.092802746e-06,1.369814789e-06) (1.671585455e-06,-1.419721722e-06) (1.781827059e-08,-6.178672245e-08) (5.435245616e-07,-4.675798968e-08) (-2.634292994e-07,9.375785702e-08) (-1.60734289e-06,1.092677106e-06) (2.465845742e-07,-1.077890251e-06) +(0,0) (0,0) (0.05210540448,0) (0.1187574051,0) (0.6090226715,0) (0.0002945720367,0) (0.001167828641,0) (0.03500776944,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001052178223,0) (0.0003500121988,0) (7.195558885e-05,0) (9.157492925e-05,0) (0.0008238230987,0) (2.733320619e-05,0) (3.491359954e-05,0) (0.0003022664318,0) (1.430604767e-15,-9.860761315e-32) (6.245481801e-06,-9.860761315e-32) (2.855486911e-06,-2.465190329e-32) (0.0001251013452,-3.45126646e-31) (0.0003045636627,3.45126646e-31) (5.057437216e-15,2.958228395e-31) (2.588009232e-06,2.958228395e-31) (1.076883833e-06,-1.972152263e-31) (5.23758695e-05,4.930380658e-32) (0.0001225460354,2.958228395e-31) +(1.829886623e-05,0) (6.052376612e-06,0) (7.624904163e-08,0) (1.234084223e-05,0) (1.273119943e-05,0) (3.426263494e-08,0) (4.576252571e-06,0) (4.96973533e-06,0) (4.881179852e-07,-9.564275833e-25) (1.015740713e-06,-3.282873056e-24) (2.932491235e-07,-1.783608196e-24) (5.670935863e-06,3.231174268e-24) (3.357323756e-06,-8.685396432e-24) (2.179567445e-07,9.04728795e-25) (4.248659482e-07,5.014782464e-24) (7.486855157e-08,1.395867284e-24) (2.258687365e-06,-1.240770919e-24) (2.036540451e-06,-3.30872245e-24) +(0,0) (0,0) (-1.099241284e-12,-0.009526678654) (2.191751042e-12,-0.003900938503) (4.271548499e-13,-0.004400530276) (1.838561317e-13,0.0003891496597) (-2.798649041e-13,0.0003758547668) (-4.675917989e-13,0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,-0.02847459545) (2.122391617e-14,-0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093393109,0.0001456531315) (3.579293875e-05,4.748469771e-05) (-1.939696579e-09,-1.629636271e-08) (7.475565512e-06,-2.866786586e-05) (-8.944884285e-05,5.999236372e-05) (-2.14173115e-09,-2.526699651e-09) (2.725199573e-06,-1.146585957e-05) (-3.315658003e-05,2.393059195e-05) (-1.926292674e-07,-4.544103218e-07) (8.906309439e-07,-6.314723923e-07) (-7.151711759e-09,2.666232592e-08) (1.11405877e-05,9.30218948e-06) (3.367781307e-06,-2.632798887e-05) (-7.780657096e-08,-1.971839515e-07) (3.796910775e-07,-2.865459246e-07) (-2.369849357e-09,-3.160619939e-09) (7.354518612e-06,4.660871765e-06) (-1.546040082e-06,-1.176643449e-05) +(0,0) (0,0) (0.00105697197,0.003009623275) (-0.0008719983776,-0.002955842992) (-0.003599522581,0.0005624841584) (-6.176202333e-05,-0.0001513634052) (5.768800967e-06,0.0001088837687) (0.0005047971676,-2.223796807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001196093331,0.0006903761197) (0.0003917081531,0.0002259413986) (2.841899237e-06,1.54874658e-06) (-0.0002571711525,-0.0001485247326) (0.0001083569998,6.277113221e-05) (1.090631473e-06,5.358995892e-07) (-9.701345459e-05,-5.605862791e-05) (4.020060285e-05,2.342138567e-05) (-2.495213373e-15,-3.798040949e-13) (2.564609381e-05,1.483301342e-05) (-7.938644399e-06,-4.592612137e-06) (-3.315355071e-05,-1.896761248e-05) (-0.0001237260184,-7.140117022e-05) (-6.181712518e-15,-1.07231224e-12) (1.064099062e-05,6.168956371e-06) (-3.13785497e-06,-1.820434496e-06) (-1.414077322e-05,-7.996125443e-06) (-5.05099567e-05,-2.913148265e-05) +(-0.003727919612,0.0004512406817) (-4.637284614e-05,5.719664231e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.073369271e-12,-0.05475639745) (-2.298249668e-13,-0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,-0.0230047579) (-3.345332529e-14,-0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001315601101,-0.0001730513556) (4.714272022e-05,-6.266113996e-05) (5.795093163e-08,-4.411126475e-08) (1.906917157e-05,1.709188873e-05) (-6.747387277e-05,-0.0001071940222) (1.453425306e-08,2.475386522e-10) (7.939327188e-06,7.332714519e-06) (-2.725106785e-05,-4.451495134e-05) (3.68732518e-08,-8.215921054e-08) (-1.118974817e-08,-2.769128241e-07) (4.59324699e-08,2.844750319e-08) (7.162075505e-06,-1.243111672e-05) (-1.167000609e-05,5.409948601e-06) (1.362845101e-08,-3.419748453e-08) (-4.294076558e-09,-1.256505281e-07) (-2.120868259e-10,-1.155313223e-08) (4.515484695e-06,-7.853450267e-06) (-6.706727958e-06,4.615990553e-06) +(0,0) (0,0) (-3.574796693e-12,0.03098131397) (-3.042140382e-12,-0.00541448473) (-3.236912117e-15,-3.334652474e-05) (1.933870538e-12,-0.004093227976) (5.083089287e-13,0.0006826519903) (1.305409463e-14,4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,0.04078133152) (-9.245860848e-14,0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728364285,0.0006042634813) (0.0001549011422,0.0001969101588) (1.742154656e-07,2.210128037e-07) (6.630159526e-05,-5.281451296e-05) (-0.0002245728385,0.0003510046726) (2.242184337e-09,5.210283013e-08) (2.564595677e-05,-2.104968573e-05) (-8.40459334e-05,0.0001357401889) (1.942550103e-07,3.327717081e-07) (-8.133516325e-08,8.726284924e-07) (1.252513546e-07,-1.365851479e-07) (1.945354614e-05,3.357364785e-05) (-3.63246243e-05,-1.166647945e-05) (8.203792112e-08,1.357449512e-07) (-3.833851731e-08,3.884239297e-07) (-3.851851949e-08,-1.565911284e-09) (1.226202078e-05,2.102554947e-05) (-2.027680178e-05,-1.112687277e-05) +(0,0) (0,0) (-2.024388139e-12,0.01754455146) (4.181890806e-12,0.007443043734) (-2.262288214e-13,-0.002330599262) (6.414121631e-13,-0.001357612187) (-1.452340376e-12,-0.001950473409) (9.467343129e-14,0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,0.03618709099) (2.697252669e-14,0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.009945539e-05,9.338091768e-05) (-2.294751532e-05,3.044331833e-05) (6.90127523e-08,-8.056615866e-08) (-1.668025493e-05,-2.547758194e-06) (2.594739121e-05,8.036832558e-05) (1.88807935e-08,-4.469530297e-09) (-6.589260373e-06,-9.018969849e-07) (9.98494262e-06,3.043541208e-05) (1.224567805e-07,1.00999336e-07) (1.175784606e-06,6.957931152e-07) (4.804307578e-08,6.828021738e-08) (-5.793391426e-06,9.404544457e-06) (1.281018903e-05,1.168435749e-05) (4.953722157e-08,3.817679525e-08) (5.172684202e-07,3.247875174e-07) (4.380408014e-09,-1.408858421e-08) (-2.978900681e-06,6.8746713e-06) (6.040486638e-06,2.242961964e-06) +(0,0) (0,0) (-1.099241284e-12,0.009526678654) (2.191751042e-12,0.003900938503) (4.271548499e-13,0.004400530276) (1.838561317e-13,-0.0003891496597) (-2.798649041e-13,-0.0003758547668) (-4.675917989e-13,-0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,0.02847459545) (2.122391617e-14,0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093393109,-0.0001456531315) (3.579293875e-05,-4.748469771e-05) (-1.939696579e-09,1.629636271e-08) (7.475565512e-06,2.866786586e-05) (-8.944884285e-05,-5.999236372e-05) (-2.14173115e-09,2.526699651e-09) (2.725199573e-06,1.146585957e-05) (-3.315658003e-05,-2.393059195e-05) (-1.926292674e-07,4.544103218e-07) (8.906309439e-07,6.314723923e-07) (-7.151711759e-09,-2.666232592e-08) (1.11405877e-05,-9.30218948e-06) (3.367781307e-06,2.632798887e-05) (-7.780657096e-08,1.971839515e-07) (3.796910775e-07,2.865459246e-07) (-2.369849357e-09,3.160619939e-09) (7.354518612e-06,-4.660871765e-06) (-1.546040082e-06,1.176643449e-05) +(0.003323277612,0) (0.001069070815,0) (0.00174180792,0) (0.0001281378722,0) (3.179629858e-05,0) (0.0005140931207,0) (0.0001209653547,0) (7.18021662e-05,0) (0,-4.930380658e-32) (-2.710505431e-20,0) (7.588732639e-10,0) (1.442267609e-08,0) (0.0005156165052,0) (0,0) (4.235164736e-21,-1.972152263e-30) (8.97091465e-10,0) (2.352707791e-08,0) (0.0002128748988,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001812676218,0) (0.0005842219029,0) (3.532291747e-09,0) (7.112404456e-05,0) (0.000911161533,0) (3.202095655e-10,0) (3.03507392e-05,0) (0.0003364428726,0) (4.990489648e-07,2.067951531e-25) (1.173508992e-06,-1.447566072e-24) (2.598563963e-09,1.861156378e-24) (3.714438472e-05,3.231174268e-26) (0.0002098412308,-3.30872245e-24) (2.061664726e-07,-2.067951531e-25) (5.325771156e-07,-1.550963649e-24) (2.084413822e-10,2.584939414e-24) (3.356492395e-05,-1.240770919e-24) (6.915611245e-05,-2.481541838e-24) +(0.0001754800089,0.001128796414) (5.155638535e-05,0.0003342646506) (-0.0005502637221,0.0001932512068) (9.709341259e-05,-2.864336795e-05) (-4.064263427e-06,-2.600856887e-05) (-0.0001999613347,8.159182589e-05) (3.504322644e-05,-1.856634867e-06) (-1.007121016e-06,-2.28614337e-05) (-5.29395592e-23,0) (0,0) (-6.269273271e-08,7.510437591e-09) (-6.606213617e-08,-5.528284076e-07) (6.844478161e-06,1.191899221e-05) (4.235164736e-22,2.117582368e-22) (-3.176373552e-22,1.058791184e-22) (-5.808372802e-08,1.310311496e-08) (-1.322629353e-07,-5.877574649e-07) (4.354594467e-06,6.858741574e-06) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01859875469,-0.00289131822) (-0.0003637420256,-5.610292319e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0009663293566,0.0005577580731) (-0.0003697518979,0.0002132767988) (2.479801027e-08,-1.3514143e-08) (-4.23588132e-06,2.446359757e-06) (-0.0001046382544,6.061686563e-05) (1.0527476e-08,-5.172846965e-09) (-1.625594762e-06,9.393400046e-07) (-4.287160338e-05,2.497754476e-05) (-3.520336691e-15,5.410133858e-13) (-5.105327903e-06,2.952784881e-06) (-4.942304714e-06,2.859189473e-06) (-2.434700457e-06,1.392926361e-06) (0.0001315692818,-7.592744685e-05) (-7.129225595e-15,1.249384147e-12) (-2.216852174e-06,1.285187174e-06) (-2.079248817e-06,1.206281444e-06) (-1.077501277e-06,6.092902574e-07) (5.766194007e-05,-3.325636996e-05) +(-0.004446205436,-0.0005656472102) (-6.115864053e-05,-7.486523763e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.00343733442,-0.009787470219) (0.001210329744,-0.004102696501) (2.72766147e-05,4.262416284e-06) (-0.0006496370623,0.001592099361) (-1.047767332e-05,0.0001977618165) (-1.409278351e-05,-6.208332571e-07) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001713045537,-0.0009887570642) (0.0005610046358,-0.0003235933972) (1.284657558e-06,-7.000983605e-07) (0.0002806706319,-0.0001620964487) (0.0001545866867,-8.955195666e-05) (4.934599324e-07,-2.424695971e-07) (0.0001055234845,-6.09760962e-05) (5.735923717e-05,-3.341822563e-05) (7.84876992e-15,-1.192626206e-12) (-1.799053813e-05,1.040524524e-05) (5.289516912e-05,-3.060056395e-05) (1.028606432e-05,-5.884802014e-06) (-0.0001666007481,9.614379037e-05) (1.52743842e-14,-2.640868145e-12) (-7.589476744e-06,4.399886574e-06) (2.17334082e-05,-1.260869171e-05) (4.463940347e-06,-2.524206171e-06) (-6.808603241e-05,3.926843742e-05) +(0.005916905037,-0.01467169451) (7.321154469e-05,-0.0001827410428) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.001946543994,-0.005542591742) (-0.001663784768,0.005639788643) (0.001906371311,0.0002979016351) (-0.0002154669122,0.0005280559766) (2.993681038e-05,-0.0005650451033) (-0.0001022064118,-4.50252709e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001520061568,-0.0008773681615) (0.0004978043885,-0.0002871388275) (-3.777996285e-06,2.058890319e-06) (-9.788133906e-05,5.652966735e-05) (0.0001373008054,-7.953825799e-05) (-1.450444915e-06,7.126998007e-07) (-3.700141877e-05,2.138104216e-05) (5.093868177e-05,-2.967752787e-05) (4.931033643e-15,-7.561819314e-13) (1.709316225e-05,-9.88622701e-06) (-3.690797862e-05,2.135176006e-05) (2.260223605e-05,-1.293105701e-05) (-0.0001529662259,8.827543048e-05) (9.981358323e-15,-1.744829897e-12) (7.059472179e-06,-4.092624228e-06) (-1.557102848e-05,9.033571523e-06) (9.440103444e-06,-5.338056846e-06) (-6.246700819e-05,3.602768017e-05) +(0.002390038242,0.0002892987505) (2.973048971e-05,3.666982572e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.00105697197,-0.003009623275) (-0.0008719983776,0.002955842992) (-0.003599522581,-0.0005624841584) (-6.176202333e-05,0.0001513634052) (5.768800967e-06,-0.0001088837687) (0.0005047971676,2.223796807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001196093331,-0.0006903761197) (0.0003917081531,-0.0002259413986) (2.841899237e-06,-1.54874658e-06) (-0.0002571711525,0.0001485247326) (0.0001083569998,-6.277113221e-05) (1.090631473e-06,-5.358995892e-07) (-9.701345459e-05,5.605862791e-05) (4.020060285e-05,-2.342138567e-05) (-2.495189656e-15,3.798040983e-13) (2.564609381e-05,-1.483301342e-05) (-7.938644399e-06,4.592612137e-06) (-3.315355071e-05,1.896761248e-05) (-0.0001237260184,7.140117022e-05) (-6.181715906e-15,1.072312241e-12) (1.064099062e-05,-6.168956371e-06) (-3.13785497e-06,1.820434496e-06) (-1.414077322e-05,7.996125443e-06) (-5.05099567e-05,2.913148265e-05) +(-0.003727919612,-0.0004512406817) (-4.637284614e-05,-5.719664231e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001754800089,-0.001128796414) (5.155638535e-05,-0.0003342646506) (-0.0005502637221,-0.0001932512068) (9.709341259e-05,2.864336795e-05) (-4.064263427e-06,2.600856887e-05) (-0.0001999613347,-8.159182589e-05) (3.504322644e-05,1.856634867e-06) (-1.007121016e-06,2.28614337e-05) (0,0) (-1.694065895e-21,4.235164736e-22) (-6.269273271e-08,-7.510437591e-09) (-6.606213617e-08,5.528284076e-07) (6.844478161e-06,-1.191899221e-05) (-4.235164736e-22,-2.64697796e-22) (1.058791184e-22,0) (-5.808372802e-08,-1.310311496e-08) (-1.322629353e-07,5.877574649e-07) (4.354594467e-06,-6.858741574e-06) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0003926769682,0) (0.0001070003183,0) (0.0001952776704,0) (7.997302531e-05,0) (2.179385408e-05,0) (9.072628978e-05,0) (1.018039269e-05,0) (7.293086984e-06,0) (6.6174449e-24,-7.754818243e-25) (1.058791184e-22,-1.240770919e-24) (5.253558923e-06,5.169878828e-26) (2.149278346e-05,-1.033975766e-25) (3.663755034e-07,0) (0,1.178732373e-23) (2.64697796e-23,2.067951531e-25) (3.952117728e-06,3.877409121e-26) (1.542700385e-05,0) (3.100639357e-07,-4.135903063e-25) +(0.001812676218,0) (0.0005842219029,0) (1.455760061e-07,0) (0.000963108556,0) (1.903497787e-05,0) (5.40245945e-08,0) (0.0003595785109,0) (7.161396531e-06,0) (1.008356953e-10,8.271806126e-25) (0.0001405400645,-1.861156378e-24) (2.945702913e-05,8.271806126e-25) (1.166197091e-05,4.135903063e-24) (6.700160668e-05,-4.549493369e-24) (2.273663116e-10,0) (5.845678685e-05,3.101927297e-24) (1.222055263e-05,-4.135903063e-25) (5.038570089e-06,7.858215819e-24) (2.77438515e-05,-4.135903063e-25) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.9022006019,0) (0.001265938283,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0006867671573,0) (0.0003118737213,0) (5.478741969e-09,0) (2.484389374e-08,0) (0.0007682472119,0) (2.546730763e-09,0) (9.802916105e-09,0) (0.0003437670443,0) (2.902829344e-15,3.944304526e-31) (2.474974783e-07,0) (1.106742305e-06,0) (6.746724226e-07,5.916456789e-31) (0.000344401489,0) (6.865622166e-15,0) (1.123246758e-07,0) (4.728420013e-07,0) (3.041028689e-07,-3.944304526e-31) (0.0001597069346,0) +(2.606909815e-05,0) (1.052486136e-05,0) (1.50160704e-06,0) (9.220031973e-06,0) (1.760750571e-05,0) (6.598984231e-07,0) (3.84839452e-06,0) (8.0970703e-06,0) (1.625045466e-08,-1.292469707e-25) (6.544979468e-08,1.033975766e-25) (1.123332837e-06,5.169878828e-26) (5.541294868e-06,-1.80945759e-25) (7.884846338e-07,-4.135903063e-24) (6.573341473e-09,-7.754818243e-26) (2.967925929e-08,1.783608196e-24) (6.405630384e-07,-1.550963649e-25) (2.445001313e-06,2.067951531e-25) (9.585207486e-07,4.135903063e-25) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,-1.048968745e-13) (-0.0004731891963,-1.331680902e-13) (2.838254859e-07,-2.667032522e-15) (-1.646163048e-06,-2.058752428e-14) (-0.001134965332,9.353993365e-14) (1.193742549e-07,-2.806929651e-15) (-6.363442288e-07,-2.174782716e-14) (-0.0004599365052,1.036925755e-13) (-6.39905609e-15,-4.744497745e-19) (8.721502128e-07,9.270421917e-16) (-1.184494378e-05,2.305635264e-14) (-2.850339931e-06,1.637935329e-15) (-0.0004361013826,7.942071128e-14) (-1.451212062e-14,-1.126939084e-18) (3.845477493e-07,8.539000264e-16) (-4.942394664e-06,2.315955851e-14) (-1.259856574e-06,1.799159549e-15) (-0.0001885786623,8.350119887e-14) +(-2.336997728e-05,8.899656399e-05) (-8.620275597e-06,3.25033392e-05) (9.817825478e-08,5.801548646e-06) (5.084310361e-06,-3.009317751e-05) (-2.466390723e-05,-5.241278162e-05) (1.420505313e-07,2.363204515e-06) (1.623034791e-06,-1.170234502e-05) (-1.115234346e-05,-2.211479671e-05) (-4.043179797e-08,5.656802291e-08) (-2.05138522e-07,-2.751341749e-08) (7.187037426e-07,-3.7854683e-06) (-7.485119781e-06,1.298409725e-05) (1.719364356e-06,1.585304449e-06) (-1.709340046e-08,2.258118837e-08) (-9.133145593e-08,-1.217697277e-08) (1.259848231e-07,-2.133345284e-06) (-3.269905813e-06,5.697606153e-06) (1.2237451e-06,2.432502756e-06) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,-1.772989558e-14) (-0.0004198818397,-1.679889e-14) (-8.346906342e-07,8.241968752e-15) (5.740844431e-07,7.132640533e-15) (-0.001008053523,1.105114258e-14) (-3.508811352e-07,8.716645911e-15) (2.231317455e-07,7.573389404e-15) (-0.000408453118,9.53184962e-15) (-4.05730137e-15,-5.694584659e-20) (-8.286469788e-07,-3.094091175e-15) (8.264893354e-06,-1.417463855e-14) (-6.263236738e-06,1.984783545e-15) (-0.0004004110629,7.138747102e-15) (-9.588196122e-15,-1.375244239e-19) (-3.576931874e-07,-3.070677107e-15) (3.541007804e-06,-1.454441084e-14) (-2.664277624e-06,2.070054798e-15) (-0.0001730155867,5.991069674e-15) +(-1.400249322e-05,8.517683491e-08) (-5.116927849e-06,-4.684231583e-09) (2.138336521e-06,-4.599405375e-07) (-5.084421801e-06,3.325365207e-06) (-1.137644059e-05,-2.898889879e-06) (8.535405516e-07,-2.174669906e-07) (-1.941555583e-06,1.356036493e-06) (-4.835683466e-06,-1.14408203e-06) (-7.579709164e-09,2.762279321e-08) (-1.753976932e-07,2.708152116e-07) (1.596704523e-06,6.809813049e-07) (-4.264485678e-06,-1.255174248e-07) (-4.111833037e-07,-9.800694867e-07) (-3.057891808e-09,1.074053857e-08) (-8.079752589e-08,1.194200536e-07) (7.764209185e-07,2.571247395e-07) (-2.00927223e-06,2.278516912e-07) (-4.360917395e-07,-6.207081838e-07) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,-1.395115192e-14) (-0.0003303931097,-1.321857004e-14) (6.278742745e-07,-6.267371997e-15) (1.508336107e-06,1.829707832e-14) (-0.0007955499976,8.763968249e-15) (2.638376718e-07,-6.633341259e-15) (5.85025715e-07,1.938064798e-14) (-0.0003223495585,7.571202097e-15) (2.037832522e-15,1.279206619e-19) (-1.243278326e-06,-5.349347949e-15) (1.777719935e-06,-3.844960139e-15) (9.187079385e-06,-3.340764983e-15) (-0.0003238706207,6.12567423e-15) (5.892571045e-15,3.456051733e-19) (-5.39163517e-07,-5.385811883e-15) (7.135796431e-07,-3.765088724e-15) (3.990946276e-06,-3.584746342e-15) (-0.0001398980045,5.217450273e-15) +(2.184072547e-05,-1.328566161e-07) (7.98125124e-06,7.306342835e-09) (-2.353317487e-07,2.431358997e-07) (8.89348769e-06,5.889722967e-06) (1.368174814e-05,-6.080660701e-06) (-9.52595112e-08,1.163421003e-07) (3.483016518e-06,2.340901803e-06) (5.851874148e-06,-2.448645606e-06) (-8.904308778e-08,1.862177347e-09) (-1.575009145e-07,2.041408412e-07) (-4.182973373e-07,-3.929932664e-07) (5.261261828e-06,1.934800189e-06) (4.914717562e-07,-1.551016991e-06) (-3.785085941e-08,1.286475674e-10) (-7.066595277e-08,8.72698674e-08) (-1.727701374e-07,-1.345678508e-07) (2.079943364e-06,1.093768337e-06) (9.353131396e-07,-1.037909249e-06) +(-3.073369271e-12,0.05475639745) (-2.298249668e-13,0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,0.0230047579) (-3.345332529e-14,0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001315601101,0.0001730513556) (4.714272022e-05,6.266113996e-05) (5.795093163e-08,4.411126475e-08) (1.906917157e-05,-1.709188873e-05) (-6.747387277e-05,0.0001071940222) (1.453425306e-08,-2.475386522e-10) (7.939327188e-06,-7.332714519e-06) (-2.725106785e-05,4.451495134e-05) (3.68732518e-08,8.215921054e-08) (-1.118974817e-08,2.769128241e-07) (4.59324699e-08,-2.844750319e-08) (7.162075505e-06,1.243111672e-05) (-1.167000609e-05,-5.409948601e-06) (1.362845101e-08,3.419748453e-08) (-4.294076558e-09,1.256505281e-07) (-2.120868259e-10,1.155313223e-08) (4.515484695e-06,7.853450267e-06) (-6.706727958e-06,-4.615990553e-06) +(-0.01859875469,0.00289131822) (-0.0003637420256,5.610292319e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0009663293566,-0.0005577580731) (-0.0003697518979,-0.0002132767988) (2.479801027e-08,1.3514143e-08) (-4.23588132e-06,-2.446359757e-06) (-0.0001046382544,-6.061686563e-05) (1.0527476e-08,5.172846965e-09) (-1.625594762e-06,-9.393400046e-07) (-4.287160338e-05,-2.497754476e-05) (-3.520336691e-15,-5.410133841e-13) (-5.105327903e-06,-2.952784881e-06) (-4.942304714e-06,-2.859189473e-06) (-2.434700457e-06,-1.392926361e-06) (0.0001315692818,7.592744685e-05) (-7.129223054e-15,-1.249384147e-12) (-2.216852174e-06,-1.285187174e-06) (-2.079248817e-06,-1.206281444e-06) (-1.077501277e-06,-6.092902574e-07) (5.766194007e-05,3.325636996e-05) +(-0.004446205436,0.0005656472102) (-6.115864053e-05,7.486523763e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,1.048968745e-13) (-0.0004731891963,1.331680902e-13) (2.838254859e-07,2.667032522e-15) (-1.646163048e-06,2.058752428e-14) (-0.001134965332,-9.353993365e-14) (1.193742549e-07,2.806929651e-15) (-6.363442288e-07,2.174782716e-14) (-0.0004599365052,-1.036925755e-13) (-6.399069642e-15,4.744497745e-19) (8.721502128e-07,-9.270421917e-16) (-1.184494378e-05,-2.305635264e-14) (-2.850339931e-06,-1.637935329e-15) (-0.0004361013826,-7.942071128e-14) (-1.451212062e-14,1.126939084e-18) (3.845477493e-07,-8.539000264e-16) (-4.942394664e-06,-2.315955851e-14) (-1.259856574e-06,-1.799159549e-15) (-0.0001885786623,-8.350119887e-14) +(-2.336997728e-05,-8.899656399e-05) (-8.620275597e-06,-3.25033392e-05) (9.817825478e-08,-5.801548646e-06) (5.084310361e-06,3.009317751e-05) (-2.466390723e-05,5.241278162e-05) (1.420505313e-07,-2.363204515e-06) (1.623034791e-06,1.170234502e-05) (-1.115234346e-05,2.211479671e-05) (-4.043179797e-08,-5.656802291e-08) (-2.05138522e-07,2.751341749e-08) (7.187037426e-07,3.7854683e-06) (-7.485119781e-06,-1.298409725e-05) (1.719364356e-06,-1.585304449e-06) (-1.709340046e-08,-2.258118837e-08) (-9.133145593e-08,1.217697277e-08) (1.259848231e-07,2.133345284e-06) (-3.269905813e-06,-5.697606153e-06) (1.2237451e-06,-2.432502756e-06) +(0,0) (0,0) (0.5510606563,0) (0.2287898526,0) (3.497233206e-05,0) (0.03259042882,0) (0.003852456277,0) (2.728501408e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.002158226331,0) (0.0007179444763,0) (1.470354086e-05,0) (0.0001090752041,0) (0.001676734109,0) (5.595492446e-06,0) (4.130750209e-05,0) (0.0006153632011,0) (1.410625631e-14,3.155443621e-30) (3.07334846e-06,3.944304526e-31) (0.0001267708775,0) (1.204204804e-05,1.57772181e-30) (0.0005522171709,0) (3.067480352e-14,0) (1.316513672e-06,0) (5.166052285e-05,0) (5.219413394e-06,0) (0.0002226698044,0) +(0.0003247731928,0) (0.0001074385849,0) (2.242104943e-05,0) (0.000101024546,0) (0.0001905669123,0) (8.493601038e-06,0) (3.626944176e-05,0) (7.576061162e-05,0) (2.975099223e-07,-2.067951531e-24) (6.545291938e-07,4.301339185e-23) (1.321630137e-05,8.271806126e-25) (4.053453297e-05,2.067951531e-25) (6.936601868e-06,-1.98523347e-23) (1.220223247e-07,-4.135903063e-25) (2.860486991e-07,-1.240770919e-24) (7.129718703e-06,1.447566072e-24) (1.765029723e-05,3.30872245e-24) (7.735483806e-06,-1.32348898e-23) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,-1.335751503e-13) (0.0006370640959,-1.537988172e-13) (-4.324103528e-05,2.064957961e-14) (-3.803898884e-05,3.11900116e-15) (0.001489241722,1.064118355e-13) (-1.644703661e-05,2.184936467e-14) (-1.448432252e-05,3.401844515e-15) (0.0005464819933,1.104512803e-13) (8.944071612e-15,-5.37611904e-19) (-2.920048495e-06,-7.799358519e-15) (-8.845527695e-05,-2.047495515e-14) (2.646077292e-05,6.820300902e-15) (0.0005070239929,8.329729939e-14) (2.026694378e-14,-1.283138686e-18) (-1.22457607e-06,-7.793369903e-15) (-3.701248625e-05,-2.141087058e-14) (1.103773763e-05,7.186674661e-15) (0.0002042932449,8.338536484e-14) +(1.284349739e-05,4.772636154e-05) (4.176499206e-06,1.580615794e-05) (-1.637198807e-06,-8.291662982e-06) (-1.365739124e-05,-1.476125239e-05) (2.456488526e-05,-2.98039344e-05) (-5.950508007e-07,-3.103480952e-06) (-4.942325707e-06,-5.332056991e-06) (9.785063172e-06,-1.163148615e-05) (1.150138939e-07,-4.234158657e-08) (4.359031483e-07,-9.22545632e-07) (-1.273242959e-06,5.816351088e-06) (5.466313628e-06,1.016188654e-05) (-2.867123006e-06,-1.31041973e-06) (4.484840704e-08,-1.742515531e-08) (1.996404585e-07,-4.006392654e-07) (-7.036287942e-07,2.636380213e-06) (3.2181333e-06,4.377497957e-06) (-2.131972104e-06,3.142402084e-07) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,-1.051064969e-13) (0.0005012876667,-1.210199267e-13) (3.252694177e-05,-1.903334618e-14) (-9.99427541e-05,3.755176299e-14) (0.001175300936,8.391686018e-14) (1.236700242e-05,-2.013420008e-14) (-3.797622396e-05,3.981209702e-14) (0.000431281392,8.71025428e-14) (-4.492296834e-15,5.108271321e-20) (-4.381157595e-06,-1.419353245e-14) (-1.902610263e-05,4.116223754e-15) (-3.881335348e-05,-8.189939113e-15) (0.0004101039919,6.692950174e-14) (-1.245537216e-14,2.367029216e-19) (-1.845846564e-06,-1.433977071e-14) (-7.458711811e-06,4.403933919e-15) (-1.653394432e-05,-8.760466044e-15) (0.0001651886852,6.698363681e-14) +(-2.003295385e-05,-7.44423399e-05) (-6.514395052e-06,-2.465403487e-05) (9.239836074e-07,9.251150332e-07) (-1.431917237e-05,3.227521164e-05) (-1.064377077e-06,4.92444156e-05) (3.961344705e-07,3.661838786e-07) (-5.649364548e-06,1.15785494e-05) (-1.372201324e-06,1.935529002e-05) (2.280251171e-07,3.053268573e-07) (4.078376831e-07,-7.060455894e-07) (1.056705235e-06,-1.661036676e-06) (-2.573322934e-06,-1.49414439e-05) (-2.046729951e-06,-4.370276278e-06) (9.88697933e-08,1.296933022e-07) (1.816535076e-07,-2.975472314e-07) (4.141876113e-07,-6.018640503e-07) (-2.328660063e-07,-6.309697042e-06) (-1.439856402e-06,-3.698707777e-06) +(0,0) (0,0) (-3.574796693e-12,-0.03098131397) (-3.042140382e-12,0.00541448473) (-3.236912117e-15,3.334652474e-05) (1.933870538e-12,0.004093227976) (5.083089287e-13,-0.0006826519903) (1.305409463e-14,-4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,-0.04078133152) (-9.245860848e-14,-0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728364285,-0.0006042634813) (0.0001549011422,-0.0001969101588) (1.742154656e-07,-2.210128037e-07) (6.630159526e-05,5.281451296e-05) (-0.0002245728385,-0.0003510046726) (2.242184337e-09,-5.210283013e-08) (2.564595677e-05,2.104968573e-05) (-8.40459334e-05,-0.0001357401889) (1.942550103e-07,-3.327717081e-07) (-8.133516325e-08,-8.726284924e-07) (1.252513546e-07,1.365851479e-07) (1.945354614e-05,-3.357364785e-05) (-3.63246243e-05,1.166647945e-05) (8.203792112e-08,-1.357449512e-07) (-3.833851731e-08,-3.884239297e-07) (-3.851851949e-08,1.565911284e-09) (1.226202078e-05,-2.102554947e-05) (-2.027680178e-05,1.112687277e-05) +(0,0) (0,0) (0.00343733442,0.009787470219) (0.001210329744,0.004102696501) (2.72766147e-05,-4.262416284e-06) (-0.0006496370623,-0.001592099361) (-1.047767332e-05,-0.0001977618165) (-1.409278351e-05,6.208332571e-07) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001713045537,0.0009887570642) (0.0005610046358,0.0003235933972) (1.284657558e-06,7.000983605e-07) (0.0002806706319,0.0001620964487) (0.0001545866867,8.955195666e-05) (4.934599324e-07,2.424695971e-07) (0.0001055234845,6.09760962e-05) (5.735923717e-05,3.341822563e-05) (7.848773308e-15,1.192626205e-12) (-1.799053813e-05,-1.040524524e-05) (5.289516912e-05,3.060056395e-05) (1.028606432e-05,5.884802014e-06) (-0.0001666007481,-9.614379037e-05) (1.527438251e-14,2.640868147e-12) (-7.589476744e-06,-4.399886574e-06) (2.17334082e-05,1.260869171e-05) (4.463940347e-06,2.524206171e-06) (-6.808603241e-05,-3.926843742e-05) +(0.005916905037,0.01467169451) (7.321154469e-05,0.0001827410428) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,1.772989558e-14) (-0.0004198818397,1.679889e-14) (-8.346906342e-07,-8.241968752e-15) (5.740844431e-07,-7.132640533e-15) (-0.001008053523,-1.105114258e-14) (-3.508811352e-07,-8.716645911e-15) (2.231317455e-07,-7.573389404e-15) (-0.000408453118,-9.53184962e-15) (-4.057328475e-15,5.694584659e-20) (-8.286469788e-07,3.094091175e-15) (8.264893354e-06,1.417463855e-14) (-6.263236738e-06,-1.984783545e-15) (-0.0004004110629,-7.138747102e-15) (-9.588196122e-15,1.375244239e-19) (-3.576931874e-07,3.070677107e-15) (3.541007804e-06,1.454441084e-14) (-2.664277624e-06,-2.070054798e-15) (-0.0001730155867,-5.991069674e-15) +(-1.400249322e-05,-8.517683491e-08) (-5.116927849e-06,4.684231583e-09) (2.138336521e-06,4.599405375e-07) (-5.084421801e-06,-3.325365207e-06) (-1.137644059e-05,2.898889879e-06) (8.535405516e-07,2.174669906e-07) (-1.941555583e-06,-1.356036493e-06) (-4.835683466e-06,1.14408203e-06) (-7.579709164e-09,-2.762279321e-08) (-1.753976932e-07,-2.708152116e-07) (1.596704523e-06,-6.809813049e-07) (-4.264485678e-06,1.255174248e-07) (-4.111833037e-07,9.800694867e-07) (-3.057891808e-09,-1.074053857e-08) (-8.079752589e-08,-1.194200536e-07) (7.764209185e-07,-2.571247395e-07) (-2.00927223e-06,-2.278516912e-07) (-4.360917395e-07,6.207081838e-07) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,1.335751503e-13) (0.0006370640959,1.537988172e-13) (-4.324103528e-05,-2.064957961e-14) (-3.803898884e-05,-3.11900116e-15) (0.001489241722,-1.064118355e-13) (-1.644703661e-05,-2.184936467e-14) (-1.448432252e-05,-3.401844515e-15) (0.0005464819933,-1.104512803e-13) (8.944071612e-15,5.37611904e-19) (-2.920048495e-06,7.799358519e-15) (-8.845527695e-05,2.047495515e-14) (2.646077292e-05,-6.820300902e-15) (0.0005070239929,-8.329729939e-14) (2.026694378e-14,1.283138686e-18) (-1.22457607e-06,7.793369903e-15) (-3.701248625e-05,2.141087058e-14) (1.103773763e-05,-7.186674661e-15) (0.0002042932449,-8.338536484e-14) +(1.284349739e-05,-4.772636154e-05) (4.176499206e-06,-1.580615794e-05) (-1.637198807e-06,8.291662982e-06) (-1.365739124e-05,1.476125239e-05) (2.456488526e-05,2.98039344e-05) (-5.950508007e-07,3.103480952e-06) (-4.942325707e-06,5.332056991e-06) (9.785063172e-06,1.163148615e-05) (1.150138939e-07,4.234158657e-08) (4.359031483e-07,9.22545632e-07) (-1.273242959e-06,-5.816351088e-06) (5.466313628e-06,-1.016188654e-05) (-2.867123006e-06,1.31041973e-06) (4.484840704e-08,1.742515531e-08) (1.996404585e-07,4.006392654e-07) (-7.036287942e-07,-2.636380213e-06) (3.2181333e-06,-4.377497957e-06) (-2.131972104e-06,-3.142402084e-07) +(0,0) (0,0) (0.1767194204,0) (0.4323382235,0) (0.1708278373,0) (0.003585169254,0) (0.0314498852,0) (0.001435115663,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001699344885,0) (0.0005652953336,0) (0.0001271657725,0) (1.32657526e-05,0) (0.001322714732,0) (4.834337921e-05,0) (5.078874012e-06,0) (0.0004853110627,0) (5.670946568e-15,0) (2.774395199e-06,1.972152263e-31) (6.172029553e-05,0) (5.814397199e-05,0) (0.0004655294022,-4.930380658e-32) (1.339042538e-14,0) (1.139058852e-06,0) (2.651781405e-05,0) (2.334202003e-05,0) (0.0001874332715,-2.958228395e-31) +(7.521436699e-06,0) (2.487726124e-06,0) (3.185938962e-06,0) (4.003174709e-06,0) (7.827739219e-06,0) (1.175670888e-06,0) (1.457353976e-06,0) (3.049591687e-06,0) (5.048909171e-08,2.568783543e-24) (1.590612012e-06,1.609124785e-23) (2.682375849e-06,-5.764414894e-24) (3.284718312e-06,6.203854594e-25) (1.43263148e-06,1.550963649e-25) (1.897206644e-08,-6.720842477e-25) (7.004686066e-07,5.11818004e-24) (1.044304049e-06,-3.231174268e-25) (1.672429076e-06,0) (6.003570143e-07,8.271806126e-25) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,-3.155443621e-30) (0.0004448148634,6.310887242e-30) (-9.565713795e-05,1.029370554e-14) (3.485412968e-05,-1.023797789e-14) (0.0010438788,-5.572765633e-17) (-3.635078475e-05,1.089033375e-14) (1.331622219e-05,-1.083246436e-14) (0.0003830055394,-5.786938279e-17) (-2.848348185e-15,-1.388191666e-19) (4.162623539e-06,2.367315108e-15) (1.327559777e-05,-5.945058718e-15) (-8.528709815e-05,3.98658355e-15) (0.0003765412857,-4.087011207e-16) (-8.229297777e-15,-3.646221352e-19) (1.716943454e-06,2.411501735e-15) (5.343838064e-06,-6.246511632e-15) (-3.496510539e-05,4.239624517e-15) (0.0001515559446,-4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,2.741514604e-07) (-2.780116483e-06,-6.455501517e-06) (-7.838840513e-06,6.181350057e-06) (-1.61552776e-07,1.190893908e-07) (-9.323685179e-07,-2.408299986e-06) (-3.148837626e-06,2.289210596e-06) (4.469778006e-08,1.504883457e-07) (1.26676856e-06,1.046269265e-07) (-8.328059922e-07,-3.050222055e-07) (-4.092802746e-06,-1.369814789e-06) (1.671585455e-06,1.419721722e-06) (1.781827059e-08,6.178672245e-08) (5.435245616e-07,4.675798968e-08) (-2.634292994e-07,-9.375785702e-08) (-1.60734289e-06,-1.092677106e-06) (2.465845742e-07,1.077890251e-06) +(0,0) (0,0) (-2.024388139e-12,-0.01754455146) (4.181890806e-12,-0.007443043734) (-2.262288214e-13,0.002330599262) (6.414121631e-13,0.001357612187) (-1.452340376e-12,0.001950473409) (9.467343129e-14,-0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,-0.03618709099) (2.697252669e-14,-0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.009945539e-05,-9.338091768e-05) (-2.294751532e-05,-3.044331833e-05) (6.90127523e-08,8.056615866e-08) (-1.668025493e-05,2.547758194e-06) (2.594739121e-05,-8.036832558e-05) (1.88807935e-08,4.469530297e-09) (-6.589260373e-06,9.018969849e-07) (9.98494262e-06,-3.043541208e-05) (1.224567805e-07,-1.00999336e-07) (1.175784606e-06,-6.957931152e-07) (4.804307578e-08,-6.828021738e-08) (-5.793391426e-06,-9.404544457e-06) (1.281018903e-05,-1.168435749e-05) (4.953722157e-08,-3.817679525e-08) (5.172684202e-07,-3.247875174e-07) (4.380408014e-09,1.408858421e-08) (-2.978900681e-06,-6.8746713e-06) (6.040486638e-06,-2.242961964e-06) +(0,0) (0,0) (0.001946543994,0.005542591742) (-0.001663784768,-0.005639788643) (0.001906371311,-0.0002979016351) (-0.0002154669122,-0.0005280559766) (2.993681038e-05,0.0005650451033) (-0.0001022064118,4.50252709e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001520061568,0.0008773681615) (0.0004978043885,0.0002871388275) (-3.777996285e-06,-2.058890319e-06) (-9.788133906e-05,-5.652966735e-05) (0.0001373008054,7.953825799e-05) (-1.450444915e-06,-7.126998007e-07) (-3.700141877e-05,-2.138104216e-05) (5.093868177e-05,2.967752787e-05) (4.931041266e-15,7.561819314e-13) (1.709316225e-05,9.88622701e-06) (-3.690797862e-05,-2.135176006e-05) (2.260223605e-05,1.293105701e-05) (-0.0001529662259,-8.827543048e-05) (9.981358747e-15,1.744829897e-12) (7.059472179e-06,4.092624228e-06) (-1.557102848e-05,-9.033571523e-06) (9.440103444e-06,5.338056846e-06) (-6.246700819e-05,-3.602768017e-05) +(0.002390038242,-0.0002892987505) (2.973048971e-05,-3.666982572e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,1.395115192e-14) (-0.0003303931097,1.321857004e-14) (6.278742745e-07,6.267371997e-15) (1.508336107e-06,-1.829707832e-14) (-0.0007955499976,-8.763968249e-15) (2.638376718e-07,6.633341259e-15) (5.85025715e-07,-1.938064798e-14) (-0.0003223495585,-7.571202097e-15) (2.037825746e-15,-1.279206619e-19) (-1.243278326e-06,5.349347949e-15) (1.777719935e-06,3.844960139e-15) (9.187079385e-06,3.340764983e-15) (-0.0003238706207,-6.12567423e-15) (5.892564269e-15,-3.456051733e-19) (-5.39163517e-07,5.385811883e-15) (7.135796431e-07,3.765088724e-15) (3.990946276e-06,3.584746342e-15) (-0.0001398980045,-5.217450273e-15) +(2.184072547e-05,1.328566161e-07) (7.98125124e-06,-7.306342835e-09) (-2.353317487e-07,-2.431358997e-07) (8.89348769e-06,-5.889722967e-06) (1.368174814e-05,6.080660701e-06) (-9.52595112e-08,-1.163421003e-07) (3.483016518e-06,-2.340901803e-06) (5.851874148e-06,2.448645606e-06) (-8.904308778e-08,-1.862177347e-09) (-1.575009145e-07,-2.041408412e-07) (-4.182973373e-07,3.929932664e-07) (5.261261828e-06,-1.934800189e-06) (4.914717562e-07,1.551016991e-06) (-3.785085941e-08,-1.286475674e-10) (-7.066595277e-08,-8.72698674e-08) (-1.727701374e-07,1.345678508e-07) (2.079943364e-06,-1.093768337e-06) (9.353131396e-07,1.037909249e-06) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,1.051064969e-13) (0.0005012876667,1.210199267e-13) (3.252694177e-05,1.903334618e-14) (-9.99427541e-05,-3.755176299e-14) (0.001175300936,-8.391686018e-14) (1.236700242e-05,2.013420008e-14) (-3.797622396e-05,-3.981209702e-14) (0.000431281392,-8.71025428e-14) (-4.492290058e-15,-5.108271322e-20) (-4.381157595e-06,1.419353245e-14) (-1.902610263e-05,-4.116223754e-15) (-3.881335348e-05,8.189939113e-15) (0.0004101039919,-6.692950174e-14) (-1.245536538e-14,-2.367029216e-19) (-1.845846564e-06,1.433977071e-14) (-7.458711811e-06,-4.403933919e-15) (-1.653394432e-05,8.760466044e-15) (0.0001651886852,-6.698363681e-14) +(-2.003295385e-05,7.44423399e-05) (-6.514395052e-06,2.465403487e-05) (9.239836074e-07,-9.251150332e-07) (-1.431917237e-05,-3.227521164e-05) (-1.064377077e-06,-4.92444156e-05) (3.961344705e-07,-3.661838786e-07) (-5.649364548e-06,-1.15785494e-05) (-1.372201324e-06,-1.935529002e-05) (2.280251171e-07,-3.053268573e-07) (4.078376831e-07,7.060455894e-07) (1.056705235e-06,1.661036676e-06) (-2.573322934e-06,1.49414439e-05) (-2.046729951e-06,4.370276278e-06) (9.88697933e-08,-1.296933022e-07) (1.816535076e-07,2.975472314e-07) (4.141876113e-07,6.018640503e-07) (-2.328660063e-07,6.309697042e-06) (-1.439856402e-06,3.698707777e-06) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,3.155443621e-30) (0.0004448148634,-6.310887242e-30) (-9.565713795e-05,-1.029370554e-14) (3.485412968e-05,1.023797789e-14) (0.0010438788,5.572765633e-17) (-3.635078475e-05,-1.089033375e-14) (1.331622219e-05,1.083246436e-14) (0.0003830055394,5.786938279e-17) (-2.848334632e-15,1.388191666e-19) (4.162623539e-06,-2.367315108e-15) (1.327559777e-05,5.945058718e-15) (-8.528709815e-05,-3.98658355e-15) (0.0003765412857,4.087011207e-16) (-8.229297777e-15,3.646221352e-19) (1.716943454e-06,-2.411501735e-15) (5.343838064e-06,6.246511632e-15) (-3.496510539e-05,-4.239624517e-15) (0.0001515559446,4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,-2.741514604e-07) (-2.780116483e-06,6.455501517e-06) (-7.838840513e-06,-6.181350057e-06) (-1.61552776e-07,-1.190893908e-07) (-9.323685179e-07,2.408299986e-06) (-3.148837626e-06,-2.289210596e-06) (4.469778006e-08,-1.504883457e-07) (1.26676856e-06,-1.046269265e-07) (-8.328059922e-07,3.050222055e-07) (-4.092802746e-06,1.369814789e-06) (1.671585455e-06,-1.419721722e-06) (1.781827059e-08,-6.178672245e-08) (5.435245616e-07,-4.675798968e-08) (-2.634292994e-07,9.375785702e-08) (-1.60734289e-06,1.092677106e-06) (2.465845742e-07,-1.077890251e-06) +(0,0) (0,0) (0.05210540448,0) (0.1187574051,0) (0.6090226715,0) (0.0002945720367,0) (0.001167828641,0) (0.03500776944,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001052178223,0) (0.0003500121988,0) (7.195558885e-05,0) (9.157492925e-05,0) (0.0008238230987,0) (2.733320619e-05,0) (3.491359954e-05,0) (0.0003022664318,0) (1.430604767e-15,-9.860761315e-32) (6.245481801e-06,-9.860761315e-32) (2.855486911e-06,-2.465190329e-32) (0.0001251013452,-3.45126646e-31) (0.0003045636627,3.45126646e-31) (5.057437216e-15,2.958228395e-31) (2.588009232e-06,2.958228395e-31) (1.076883833e-06,-1.972152263e-31) (5.23758695e-05,4.930380658e-32) (0.0001225460354,2.958228395e-31) +(1.829886623e-05,0) (6.052376612e-06,0) (7.624904163e-08,0) (1.234084223e-05,0) (1.273119943e-05,0) (3.426263494e-08,0) (4.576252571e-06,0) (4.96973533e-06,0) (4.881179852e-07,-9.564275833e-25) (1.015740713e-06,-3.282873056e-24) (2.932491235e-07,-1.783608196e-24) (5.670935863e-06,3.231174268e-24) (3.357323756e-06,-8.685396432e-24) (2.179567445e-07,9.04728795e-25) (4.248659482e-07,5.014782464e-24) (7.486855157e-08,1.395867284e-24) (2.258687365e-06,-1.240770919e-24) (2.036540451e-06,-3.30872245e-24) +(0,0) (0,0) (-1.099241284e-12,-0.009526678654) (2.191751042e-12,-0.003900938503) (4.271548499e-13,-0.004400530276) (1.838561317e-13,0.0003891496597) (-2.798649041e-13,0.0003758547668) (-4.675917989e-13,0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,-0.02847459545) (2.122391617e-14,-0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093393109,0.0001456531315) (3.579293875e-05,4.748469771e-05) (-1.939696579e-09,-1.629636271e-08) (7.475565512e-06,-2.866786586e-05) (-8.944884285e-05,5.999236372e-05) (-2.14173115e-09,-2.526699651e-09) (2.725199573e-06,-1.146585957e-05) (-3.315658003e-05,2.393059195e-05) (-1.926292674e-07,-4.544103218e-07) (8.906309439e-07,-6.314723923e-07) (-7.151711759e-09,2.666232592e-08) (1.11405877e-05,9.30218948e-06) (3.367781307e-06,-2.632798887e-05) (-7.780657096e-08,-1.971839515e-07) (3.796910775e-07,-2.865459246e-07) (-2.369849357e-09,-3.160619939e-09) (7.354518612e-06,4.660871765e-06) (-1.546040082e-06,-1.176643449e-05) +(0,0) (0,0) (0.00105697197,0.003009623275) (-0.0008719983776,-0.002955842992) (-0.003599522581,0.0005624841584) (-6.176202333e-05,-0.0001513634052) (5.768800967e-06,0.0001088837687) (0.0005047971676,-2.223796807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001196093331,0.0006903761197) (0.0003917081531,0.0002259413986) (2.841899237e-06,1.54874658e-06) (-0.0002571711525,-0.0001485247326) (0.0001083569998,6.277113221e-05) (1.090631473e-06,5.358995892e-07) (-9.701345459e-05,-5.605862791e-05) (4.020060285e-05,2.342138567e-05) (-2.495213373e-15,-3.798040949e-13) (2.564609381e-05,1.483301342e-05) (-7.938644399e-06,-4.592612137e-06) (-3.315355071e-05,-1.896761248e-05) (-0.0001237260184,-7.140117022e-05) (-6.181712518e-15,-1.07231224e-12) (1.064099062e-05,6.168956371e-06) (-3.13785497e-06,-1.820434496e-06) (-1.414077322e-05,-7.996125443e-06) (-5.05099567e-05,-2.913148265e-05) +(-0.003727919612,0.0004512406817) (-4.637284614e-05,5.719664231e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.073369271e-12,-0.05475639745) (-2.298249668e-13,-0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,-0.0230047579) (-3.345332529e-14,-0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001315601101,-0.0001730513556) (4.714272022e-05,-6.266113996e-05) (5.795093163e-08,-4.411126475e-08) (1.906917157e-05,1.709188873e-05) (-6.747387277e-05,-0.0001071940222) (1.453425306e-08,2.475386522e-10) (7.939327188e-06,7.332714519e-06) (-2.725106785e-05,-4.451495134e-05) (3.68732518e-08,-8.215921054e-08) (-1.118974817e-08,-2.769128241e-07) (4.59324699e-08,2.844750319e-08) (7.162075505e-06,-1.243111672e-05) (-1.167000609e-05,5.409948601e-06) (1.362845101e-08,-3.419748453e-08) (-4.294076558e-09,-1.256505281e-07) (-2.120868259e-10,-1.155313223e-08) (4.515484695e-06,-7.853450267e-06) (-6.706727958e-06,4.615990553e-06) +(0,0) (0,0) (-3.574796693e-12,0.03098131397) (-3.042140382e-12,-0.00541448473) (-3.236912117e-15,-3.334652474e-05) (1.933870538e-12,-0.004093227976) (5.083089287e-13,0.0006826519903) (1.305409463e-14,4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,0.04078133152) (-9.245860848e-14,0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004728364285,0.0006042634813) (0.0001549011422,0.0001969101588) (1.742154656e-07,2.210128037e-07) (6.630159526e-05,-5.281451296e-05) (-0.0002245728385,0.0003510046726) (2.242184337e-09,5.210283013e-08) (2.564595677e-05,-2.104968573e-05) (-8.40459334e-05,0.0001357401889) (1.942550103e-07,3.327717081e-07) (-8.133516325e-08,8.726284924e-07) (1.252513546e-07,-1.365851479e-07) (1.945354614e-05,3.357364785e-05) (-3.63246243e-05,-1.166647945e-05) (8.203792112e-08,1.357449512e-07) (-3.833851731e-08,3.884239297e-07) (-3.851851949e-08,-1.565911284e-09) (1.226202078e-05,2.102554947e-05) (-2.027680178e-05,-1.112687277e-05) +(0,0) (0,0) (-2.024388139e-12,0.01754455146) (4.181890806e-12,0.007443043734) (-2.262288214e-13,-0.002330599262) (6.414121631e-13,-0.001357612187) (-1.452340376e-12,-0.001950473409) (9.467343129e-14,0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,0.03618709099) (2.697252669e-14,0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.009945539e-05,9.338091768e-05) (-2.294751532e-05,3.044331833e-05) (6.90127523e-08,-8.056615866e-08) (-1.668025493e-05,-2.547758194e-06) (2.594739121e-05,8.036832558e-05) (1.88807935e-08,-4.469530297e-09) (-6.589260373e-06,-9.018969849e-07) (9.98494262e-06,3.043541208e-05) (1.224567805e-07,1.00999336e-07) (1.175784606e-06,6.957931152e-07) (4.804307578e-08,6.828021738e-08) (-5.793391426e-06,9.404544457e-06) (1.281018903e-05,1.168435749e-05) (4.953722157e-08,3.817679525e-08) (5.172684202e-07,3.247875174e-07) (4.380408014e-09,-1.408858421e-08) (-2.978900681e-06,6.8746713e-06) (6.040486638e-06,2.242961964e-06) +(0,0) (0,0) (-1.099241284e-12,0.009526678654) (2.191751042e-12,0.003900938503) (4.271548499e-13,0.004400530276) (1.838561317e-13,-0.0003891496597) (-2.798649041e-13,-0.0003758547668) (-4.675917989e-13,-0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,0.02847459545) (2.122391617e-14,0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001093393109,-0.0001456531315) (3.579293875e-05,-4.748469771e-05) (-1.939696579e-09,1.629636271e-08) (7.475565512e-06,2.866786586e-05) (-8.944884285e-05,-5.999236372e-05) (-2.14173115e-09,2.526699651e-09) (2.725199573e-06,1.146585957e-05) (-3.315658003e-05,-2.393059195e-05) (-1.926292674e-07,4.544103218e-07) (8.906309439e-07,6.314723923e-07) (-7.151711759e-09,-2.666232592e-08) (1.11405877e-05,-9.30218948e-06) (3.367781307e-06,2.632798887e-05) (-7.780657096e-08,1.971839515e-07) (3.796910775e-07,2.865459246e-07) (-2.369849357e-09,3.160619939e-09) (7.354518612e-06,-4.660871765e-06) (-1.546040082e-06,1.176643449e-05) +(0.003323277612,0) (0.001069070815,0) (0.00174180792,0) (0.0001281378722,0) (3.179629858e-05,0) (0.0005140931207,0) (0.0001209653547,0) (7.18021662e-05,0) (0,-4.930380658e-32) (-2.710505431e-20,0) (7.588732639e-10,0) (1.442267609e-08,0) (0.0005156165052,0) (0,0) (4.235164736e-21,-1.972152263e-30) (8.97091465e-10,0) (2.352707791e-08,0) (0.0002128748988,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001812676218,0) (0.0005842219029,0) (3.532291747e-09,0) (7.112404456e-05,0) (0.000911161533,0) (3.202095655e-10,0) (3.03507392e-05,0) (0.0003364428726,0) (4.990489648e-07,2.067951531e-25) (1.173508992e-06,-1.447566072e-24) (2.598563963e-09,1.861156378e-24) (3.714438472e-05,3.231174268e-26) (0.0002098412308,-3.30872245e-24) (2.061664726e-07,-2.067951531e-25) (5.325771156e-07,-1.550963649e-24) (2.084413822e-10,2.584939414e-24) (3.356492395e-05,-1.240770919e-24) (6.915611245e-05,-2.481541838e-24) +(0.0001754800089,0.001128796414) (5.155638535e-05,0.0003342646506) (-0.0005502637221,0.0001932512068) (9.709341259e-05,-2.864336795e-05) (-4.064263427e-06,-2.600856887e-05) (-0.0001999613347,8.159182589e-05) (3.504322644e-05,-1.856634867e-06) (-1.007121016e-06,-2.28614337e-05) (-5.29395592e-23,0) (0,0) (-6.269273271e-08,7.510437591e-09) (-6.606213617e-08,-5.528284076e-07) (6.844478161e-06,1.191899221e-05) (4.235164736e-22,2.117582368e-22) (-3.176373552e-22,1.058791184e-22) (-5.808372802e-08,1.310311496e-08) (-1.322629353e-07,-5.877574649e-07) (4.354594467e-06,6.858741574e-06) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01859875469,-0.00289131822) (-0.0003637420256,-5.610292319e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0009663293566,0.0005577580731) (-0.0003697518979,0.0002132767988) (2.479801027e-08,-1.3514143e-08) (-4.23588132e-06,2.446359757e-06) (-0.0001046382544,6.061686563e-05) (1.0527476e-08,-5.172846965e-09) (-1.625594762e-06,9.393400046e-07) (-4.287160338e-05,2.497754476e-05) (-3.520336691e-15,5.410133858e-13) (-5.105327903e-06,2.952784881e-06) (-4.942304714e-06,2.859189473e-06) (-2.434700457e-06,1.392926361e-06) (0.0001315692818,-7.592744685e-05) (-7.129225595e-15,1.249384147e-12) (-2.216852174e-06,1.285187174e-06) (-2.079248817e-06,1.206281444e-06) (-1.077501277e-06,6.092902574e-07) (5.766194007e-05,-3.325636996e-05) +(-0.004446205436,-0.0005656472102) (-6.115864053e-05,-7.486523763e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.00343733442,-0.009787470219) (0.001210329744,-0.004102696501) (2.72766147e-05,4.262416284e-06) (-0.0006496370623,0.001592099361) (-1.047767332e-05,0.0001977618165) (-1.409278351e-05,-6.208332571e-07) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001713045537,-0.0009887570642) (0.0005610046358,-0.0003235933972) (1.284657558e-06,-7.000983605e-07) (0.0002806706319,-0.0001620964487) (0.0001545866867,-8.955195666e-05) (4.934599324e-07,-2.424695971e-07) (0.0001055234845,-6.09760962e-05) (5.735923717e-05,-3.341822563e-05) (7.84876992e-15,-1.192626206e-12) (-1.799053813e-05,1.040524524e-05) (5.289516912e-05,-3.060056395e-05) (1.028606432e-05,-5.884802014e-06) (-0.0001666007481,9.614379037e-05) (1.52743842e-14,-2.640868145e-12) (-7.589476744e-06,4.399886574e-06) (2.17334082e-05,-1.260869171e-05) (4.463940347e-06,-2.524206171e-06) (-6.808603241e-05,3.926843742e-05) +(0.005916905037,-0.01467169451) (7.321154469e-05,-0.0001827410428) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.001946543994,-0.005542591742) (-0.001663784768,0.005639788643) (0.001906371311,0.0002979016351) (-0.0002154669122,0.0005280559766) (2.993681038e-05,-0.0005650451033) (-0.0001022064118,-4.50252709e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001520061568,-0.0008773681615) (0.0004978043885,-0.0002871388275) (-3.777996285e-06,2.058890319e-06) (-9.788133906e-05,5.652966735e-05) (0.0001373008054,-7.953825799e-05) (-1.450444915e-06,7.126998007e-07) (-3.700141877e-05,2.138104216e-05) (5.093868177e-05,-2.967752787e-05) (4.931033643e-15,-7.561819314e-13) (1.709316225e-05,-9.88622701e-06) (-3.690797862e-05,2.135176006e-05) (2.260223605e-05,-1.293105701e-05) (-0.0001529662259,8.827543048e-05) (9.981358323e-15,-1.744829897e-12) (7.059472179e-06,-4.092624228e-06) (-1.557102848e-05,9.033571523e-06) (9.440103444e-06,-5.338056846e-06) (-6.246700819e-05,3.602768017e-05) +(0.002390038242,0.0002892987505) (2.973048971e-05,3.666982572e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0.00105697197,-0.003009623275) (-0.0008719983776,0.002955842992) (-0.003599522581,-0.0005624841584) (-6.176202333e-05,0.0001513634052) (5.768800967e-06,-0.0001088837687) (0.0005047971676,2.223796807e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001196093331,-0.0006903761197) (0.0003917081531,-0.0002259413986) (2.841899237e-06,-1.54874658e-06) (-0.0002571711525,0.0001485247326) (0.0001083569998,-6.277113221e-05) (1.090631473e-06,-5.358995892e-07) (-9.701345459e-05,5.605862791e-05) (4.020060285e-05,-2.342138567e-05) (-2.495189656e-15,3.798040983e-13) (2.564609381e-05,-1.483301342e-05) (-7.938644399e-06,4.592612137e-06) (-3.315355071e-05,1.896761248e-05) (-0.0001237260184,7.140117022e-05) (-6.181715906e-15,1.072312241e-12) (1.064099062e-05,-6.168956371e-06) (-3.13785497e-06,1.820434496e-06) (-1.414077322e-05,7.996125443e-06) (-5.05099567e-05,2.913148265e-05) +(-0.003727919612,-0.0004512406817) (-4.637284614e-05,-5.719664231e-06) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001754800089,-0.001128796414) (5.155638535e-05,-0.0003342646506) (-0.0005502637221,-0.0001932512068) (9.709341259e-05,2.864336795e-05) (-4.064263427e-06,2.600856887e-05) (-0.0001999613347,-8.159182589e-05) (3.504322644e-05,1.856634867e-06) (-1.007121016e-06,2.28614337e-05) (0,0) (-1.694065895e-21,4.235164736e-22) (-6.269273271e-08,-7.510437591e-09) (-6.606213617e-08,5.528284076e-07) (6.844478161e-06,-1.191899221e-05) (-4.235164736e-22,-2.64697796e-22) (1.058791184e-22,0) (-5.808372802e-08,-1.310311496e-08) (-1.322629353e-07,5.877574649e-07) (4.354594467e-06,-6.858741574e-06) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0003926769682,0) (0.0001070003183,0) (0.0001952776704,0) (7.997302531e-05,0) (2.179385408e-05,0) (9.072628978e-05,0) (1.018039269e-05,0) (7.293086984e-06,0) (6.6174449e-24,-7.754818243e-25) (1.058791184e-22,-1.240770919e-24) (5.253558923e-06,5.169878828e-26) (2.149278346e-05,-1.033975766e-25) (3.663755034e-07,0) (0,1.178732373e-23) (2.64697796e-23,2.067951531e-25) (3.952117728e-06,3.877409121e-26) (1.542700385e-05,0) (3.100639357e-07,-4.135903063e-25) +(0.001812676218,0) (0.0005842219029,0) (1.455760061e-07,0) (0.000963108556,0) (1.903497787e-05,0) (5.40245945e-08,0) (0.0003595785109,0) (7.161396531e-06,0) (1.008356953e-10,8.271806126e-25) (0.0001405400645,-1.861156378e-24) (2.945702913e-05,8.271806126e-25) (1.166197091e-05,4.135903063e-24) (6.700160668e-05,-4.549493369e-24) (2.273663116e-10,0) (5.845678685e-05,3.101927297e-24) (1.222055263e-05,-4.135903063e-25) (5.038570089e-06,7.858215819e-24) (2.77438515e-05,-4.135903063e-25) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.9022006019,0) (0.001265938283,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0006867671573,0) (0.0003118737213,0) (5.478741969e-09,0) (2.484389374e-08,0) (0.0007682472119,0) (2.546730763e-09,0) (9.802916105e-09,0) (0.0003437670443,0) (2.902829344e-15,3.944304526e-31) (2.474974783e-07,0) (1.106742305e-06,0) (6.746724226e-07,5.916456789e-31) (0.000344401489,0) (6.865622166e-15,0) (1.123246758e-07,0) (4.728420013e-07,0) (3.041028689e-07,-3.944304526e-31) (0.0001597069346,0) +(2.606909815e-05,0) (1.052486136e-05,0) (1.50160704e-06,0) (9.220031973e-06,0) (1.760750571e-05,0) (6.598984231e-07,0) (3.84839452e-06,0) (8.0970703e-06,0) (1.625045466e-08,-1.292469707e-25) (6.544979468e-08,1.033975766e-25) (1.123332837e-06,5.169878828e-26) (5.541294868e-06,-1.80945759e-25) (7.884846338e-07,-4.135903063e-24) (6.573341473e-09,-7.754818243e-26) (2.967925929e-08,1.783608196e-24) (6.405630384e-07,-1.550963649e-25) (2.445001313e-06,2.067951531e-25) (9.585207486e-07,4.135903063e-25) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,-1.048968745e-13) (-0.0004731891963,-1.331680902e-13) (2.838254859e-07,-2.667032522e-15) (-1.646163048e-06,-2.058752428e-14) (-0.001134965332,9.353993365e-14) (1.193742549e-07,-2.806929651e-15) (-6.363442288e-07,-2.174782716e-14) (-0.0004599365052,1.036925755e-13) (-6.39905609e-15,-4.744497745e-19) (8.721502128e-07,9.270421917e-16) (-1.184494378e-05,2.305635264e-14) (-2.850339931e-06,1.637935329e-15) (-0.0004361013826,7.942071128e-14) (-1.451212062e-14,-1.126939084e-18) (3.845477493e-07,8.539000264e-16) (-4.942394664e-06,2.315955851e-14) (-1.259856574e-06,1.799159549e-15) (-0.0001885786623,8.350119887e-14) +(-2.336997728e-05,8.899656399e-05) (-8.620275597e-06,3.25033392e-05) (9.817825478e-08,5.801548646e-06) (5.084310361e-06,-3.009317751e-05) (-2.466390723e-05,-5.241278162e-05) (1.420505313e-07,2.363204515e-06) (1.623034791e-06,-1.170234502e-05) (-1.115234346e-05,-2.211479671e-05) (-4.043179797e-08,5.656802291e-08) (-2.05138522e-07,-2.751341749e-08) (7.187037426e-07,-3.7854683e-06) (-7.485119781e-06,1.298409725e-05) (1.719364356e-06,1.585304449e-06) (-1.709340046e-08,2.258118837e-08) (-9.133145593e-08,-1.217697277e-08) (1.259848231e-07,-2.133345284e-06) (-3.269905813e-06,5.697606153e-06) (1.2237451e-06,2.432502756e-06) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,-1.772989558e-14) (-0.0004198818397,-1.679889e-14) (-8.346906342e-07,8.241968752e-15) (5.740844431e-07,7.132640533e-15) (-0.001008053523,1.105114258e-14) (-3.508811352e-07,8.716645911e-15) (2.231317455e-07,7.573389404e-15) (-0.000408453118,9.53184962e-15) (-4.05730137e-15,-5.694584659e-20) (-8.286469788e-07,-3.094091175e-15) (8.264893354e-06,-1.417463855e-14) (-6.263236738e-06,1.984783545e-15) (-0.0004004110629,7.138747102e-15) (-9.588196122e-15,-1.375244239e-19) (-3.576931874e-07,-3.070677107e-15) (3.541007804e-06,-1.454441084e-14) (-2.664277624e-06,2.070054798e-15) (-0.0001730155867,5.991069674e-15) +(-1.400249322e-05,8.517683491e-08) (-5.116927849e-06,-4.684231583e-09) (2.138336521e-06,-4.599405375e-07) (-5.084421801e-06,3.325365207e-06) (-1.137644059e-05,-2.898889879e-06) (8.535405516e-07,-2.174669906e-07) (-1.941555583e-06,1.356036493e-06) (-4.835683466e-06,-1.14408203e-06) (-7.579709164e-09,2.762279321e-08) (-1.753976932e-07,2.708152116e-07) (1.596704523e-06,6.809813049e-07) (-4.264485678e-06,-1.255174248e-07) (-4.111833037e-07,-9.800694867e-07) (-3.057891808e-09,1.074053857e-08) (-8.079752589e-08,1.194200536e-07) (7.764209185e-07,2.571247395e-07) (-2.00927223e-06,2.278516912e-07) (-4.360917395e-07,-6.207081838e-07) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,-1.395115192e-14) (-0.0003303931097,-1.321857004e-14) (6.278742745e-07,-6.267371997e-15) (1.508336107e-06,1.829707832e-14) (-0.0007955499976,8.763968249e-15) (2.638376718e-07,-6.633341259e-15) (5.85025715e-07,1.938064798e-14) (-0.0003223495585,7.571202097e-15) (2.037832522e-15,1.279206619e-19) (-1.243278326e-06,-5.349347949e-15) (1.777719935e-06,-3.844960139e-15) (9.187079385e-06,-3.340764983e-15) (-0.0003238706207,6.12567423e-15) (5.892571045e-15,3.456051733e-19) (-5.39163517e-07,-5.385811883e-15) (7.135796431e-07,-3.765088724e-15) (3.990946276e-06,-3.584746342e-15) (-0.0001398980045,5.217450273e-15) +(2.184072547e-05,-1.328566161e-07) (7.98125124e-06,7.306342835e-09) (-2.353317487e-07,2.431358997e-07) (8.89348769e-06,5.889722967e-06) (1.368174814e-05,-6.080660701e-06) (-9.52595112e-08,1.163421003e-07) (3.483016518e-06,2.340901803e-06) (5.851874148e-06,-2.448645606e-06) (-8.904308778e-08,1.862177347e-09) (-1.575009145e-07,2.041408412e-07) (-4.182973373e-07,-3.929932664e-07) (5.261261828e-06,1.934800189e-06) (4.914717562e-07,-1.551016991e-06) (-3.785085941e-08,1.286475674e-10) (-7.066595277e-08,8.72698674e-08) (-1.727701374e-07,-1.345678508e-07) (2.079943364e-06,1.093768337e-06) (9.353131396e-07,-1.037909249e-06) +(-3.073369271e-12,0.05475639745) (-2.298249668e-13,0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,0.0230047579) (-3.345332529e-14,0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316010582,0.0001730202177) (4.719344493e-05,6.262294536e-05) (4.519028303e-08,5.711350518e-08) (1.910649511e-05,-1.705015571e-05) (-6.749216419e-05,0.0001071825063) (7.477779824e-10,1.451711457e-08) (7.979649417e-06,-7.288814279e-06) (-2.727059995e-05,4.450298833e-05) (4.000715671e-08,8.067961321e-08) (-1.541872643e-08,2.767095688e-07) (3.739052008e-08,-3.900001586e-08) (7.12896119e-06,1.245013658e-05) (-1.166866017e-05,-5.412850993e-06) (1.666657866e-08,3.282419505e-08) (-8.45933864e-09,1.254389648e-07) (-1.154750606e-08,-4.182690836e-10) (4.482863104e-06,7.872116711e-06) (-6.706290426e-06,-4.616626192e-06) +(0.006795422316,-0.01755265315) (0.0001332844561,-0.0003430612962) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0009663293567,-0.000557758073) (0.0003697518979,-0.0002132767987) (-2.479801e-08,1.35141435e-08) (4.235881379e-06,-2.446359655e-06) (0.0001046382544,-6.061686563e-05) (-1.052747575e-08,5.172847492e-09) (1.625594824e-06,-9.39339898e-07) (4.287160337e-05,-2.497754477e-05) (3.555927322e-15,-5.410131436e-13) (5.105327932e-06,-2.95278483e-06) (4.942304705e-06,-2.859189489e-06) (2.434700456e-06,-1.392926363e-06) (-0.0001315692818,7.592744687e-05) (7.213325803e-15,-1.249383665e-12) (2.216852204e-06,-1.285187123e-06) (2.079248808e-06,-1.20628146e-06) (1.077501276e-06,-6.092902592e-07) (-5.766194006e-05,3.325636998e-05) +(0.001733237864,-0.004133350463) (2.40958005e-05,-5.670819824e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,1.048968745e-13) (-0.0004731891963,1.331680902e-13) (2.838254859e-07,2.667032522e-15) (-1.646163048e-06,2.058752428e-14) (-0.001134965332,-9.353993365e-14) (1.193742549e-07,2.806929651e-15) (-6.363442288e-07,2.174782716e-14) (-0.0004599365052,-1.036925755e-13) (-6.399069642e-15,4.744497745e-19) (8.721502128e-07,-9.270421917e-16) (-1.184494378e-05,-2.305635264e-14) (-2.850339931e-06,-1.637935329e-15) (-0.0004361013826,-7.942071128e-14) (-1.451212062e-14,1.126939084e-18) (3.845477493e-07,-8.539000264e-16) (-4.942394664e-06,-2.315955851e-14) (-1.259856574e-06,-1.799159549e-15) (-0.0001885786623,-8.350119887e-14) +(-2.336997728e-05,-8.899656399e-05) (-8.620275597e-06,-3.25033392e-05) (9.817825478e-08,-5.801548646e-06) (5.084310361e-06,3.009317751e-05) (-2.466390723e-05,5.241278162e-05) (1.420505313e-07,-2.363204515e-06) (1.623034791e-06,1.170234502e-05) (-1.115234346e-05,2.211479671e-05) (-4.043179797e-08,-5.656802291e-08) (-2.05138522e-07,2.751341749e-08) (7.187037426e-07,3.7854683e-06) (-7.485119781e-06,-1.298409725e-05) (1.719364356e-06,-1.585304449e-06) (-1.709340046e-08,-2.258118837e-08) (-9.133145593e-08,1.217697277e-08) (1.259848231e-07,2.133345284e-06) (-3.269905813e-06,-5.697606153e-06) (1.2237451e-06,-2.432502756e-06) +(0,0) (0,0) (0.5510606563,0) (0.2287898526,0) (3.497233206e-05,0) (0.03259042882,0) (0.003852456277,0) (2.728501408e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.002158226331,0) (0.0007179444763,0) (1.470354086e-05,0) (0.0001090752041,0) (0.001676734109,0) (5.595492446e-06,0) (4.130750209e-05,0) (0.0006153632011,0) (1.410625631e-14,3.155443621e-30) (3.07334846e-06,3.944304526e-31) (0.0001267708775,0) (1.204204804e-05,1.57772181e-30) (0.0005522171709,0) (3.067480352e-14,0) (1.316513672e-06,0) (5.166052285e-05,0) (5.219413394e-06,0) (0.0002226698044,0) +(0.0003247731928,0) (0.0001074385849,0) (2.242104943e-05,0) (0.000101024546,0) (0.0001905669123,0) (8.493601038e-06,0) (3.626944176e-05,0) (7.576061162e-05,0) (2.975099223e-07,-2.067951531e-24) (6.545291938e-07,4.301339185e-23) (1.321630137e-05,8.271806126e-25) (4.053453297e-05,2.067951531e-25) (6.936601868e-06,-1.98523347e-23) (1.220223247e-07,-4.135903063e-25) (2.860486991e-07,-1.240770919e-24) (7.129718703e-06,1.447566072e-24) (1.765029723e-05,3.30872245e-24) (7.735483806e-06,-1.32348898e-23) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,-1.335751503e-13) (0.0006370640959,-1.537988172e-13) (-4.324103528e-05,2.064957961e-14) (-3.803898884e-05,3.11900116e-15) (0.001489241722,1.064118355e-13) (-1.644703661e-05,2.184936467e-14) (-1.448432252e-05,3.401844515e-15) (0.0005464819933,1.104512803e-13) (8.944071612e-15,-5.37611904e-19) (-2.920048495e-06,-7.799358519e-15) (-8.845527695e-05,-2.047495515e-14) (2.646077292e-05,6.820300902e-15) (0.0005070239929,8.329729939e-14) (2.026694378e-14,-1.283138686e-18) (-1.22457607e-06,-7.793369903e-15) (-3.701248625e-05,-2.141087058e-14) (1.103773763e-05,7.186674661e-15) (0.0002042932449,8.338536484e-14) +(1.284349739e-05,4.772636154e-05) (4.176499206e-06,1.580615794e-05) (-1.637198807e-06,-8.291662982e-06) (-1.365739124e-05,-1.476125239e-05) (2.456488526e-05,-2.98039344e-05) (-5.950508007e-07,-3.103480952e-06) (-4.942325707e-06,-5.332056991e-06) (9.785063172e-06,-1.163148615e-05) (1.150138939e-07,-4.234158657e-08) (4.359031483e-07,-9.22545632e-07) (-1.273242959e-06,5.816351088e-06) (5.466313628e-06,1.016188654e-05) (-2.867123006e-06,-1.31041973e-06) (4.484840704e-08,-1.742515531e-08) (1.996404585e-07,-4.006392654e-07) (-7.036287942e-07,2.636380213e-06) (3.2181333e-06,4.377497957e-06) (-2.131972104e-06,3.142402084e-07) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,-1.051064969e-13) (0.0005012876667,-1.210199267e-13) (3.252694177e-05,-1.903334618e-14) (-9.99427541e-05,3.755176299e-14) (0.001175300936,8.391686018e-14) (1.236700242e-05,-2.013420008e-14) (-3.797622396e-05,3.981209702e-14) (0.000431281392,8.71025428e-14) (-4.492296834e-15,5.108271321e-20) (-4.381157595e-06,-1.419353245e-14) (-1.902610263e-05,4.116223754e-15) (-3.881335348e-05,-8.189939113e-15) (0.0004101039919,6.692950174e-14) (-1.245537216e-14,2.367029216e-19) (-1.845846564e-06,-1.433977071e-14) (-7.458711811e-06,4.403933919e-15) (-1.653394432e-05,-8.760466044e-15) (0.0001651886852,6.698363681e-14) +(-2.003295385e-05,-7.44423399e-05) (-6.514395052e-06,-2.465403487e-05) (9.239836074e-07,9.251150332e-07) (-1.431917237e-05,3.227521164e-05) (-1.064377077e-06,4.92444156e-05) (3.961344705e-07,3.661838786e-07) (-5.649364548e-06,1.15785494e-05) (-1.372201324e-06,1.935529002e-05) (2.280251171e-07,3.053268573e-07) (4.078376831e-07,-7.060455894e-07) (1.056705235e-06,-1.661036676e-06) (-2.573322934e-06,-1.49414439e-05) (-2.046729951e-06,-4.370276278e-06) (9.88697933e-08,1.296933022e-07) (1.816535076e-07,-2.975472314e-07) (4.141876113e-07,-6.018640503e-07) (-2.328660063e-07,-6.309697042e-06) (-1.439856402e-06,-3.698707777e-06) +(0,0) (0,0) (-3.574796693e-12,-0.03098131397) (-3.042140382e-12,0.00541448473) (-3.236912117e-15,3.334652474e-05) (1.933870538e-12,0.004093227976) (5.083089287e-13,-0.0006826519903) (1.305409463e-14,-4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,-0.04078133152) (-9.245860848e-14,-0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004726934192,-0.0006043753589) (0.0001547416424,-0.0001970355262) (2.236160812e-07,-1.708611603e-07) (6.618596498e-05,5.295934623e-05) (-0.0002245129371,-0.0003510429903) (5.214913651e-08,4.470559756e-10) (2.552946888e-05,2.119081374e-05) (-8.398635774e-05,-0.0001357770582) (1.813072306e-07,-3.399995689e-07) (-6.79948831e-08,-8.73769186e-07) (1.553466833e-07,1.010485649e-07) (1.954284301e-05,-3.352174778e-05) (-3.632752486e-05,1.165744445e-05) (6.941991832e-08,-1.426106139e-07) (-2.543402913e-08,-3.894818368e-07) (-8.781307956e-10,-3.854033352e-08) (1.234914694e-05,-2.097449532e-05) (-2.027785628e-05,1.11249509e-05) +(0,0) (0,0) (-0.01019486506,-0.00191691618) (-0.004158204266,-0.001003171945) (-9.946946565e-06,2.57534494e-05) (0.001703617024,0.0002334474815) (0.0001765055937,8.9806977e-05) (6.508734384e-06,-1.251512516e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001713045537,0.0009887570644) (-0.0005610046357,0.0003235933974) (-1.284657557e-06,7.000983619e-07) (-0.0002806706318,0.000162096449) (-0.0001545866867,8.955195664e-05) (-4.934599317e-07,2.424695986e-07) (-0.0001055234843,6.097609649e-05) (-5.735923718e-05,3.341822561e-05) (-7.750395513e-15,1.19262685e-12) (1.799053821e-05,-1.04052451e-05) (-5.289516915e-05,3.06005639e-05) (-1.028606432e-05,5.88480201e-06) (0.0001666007481,-9.614379032e-05) (-1.504199394e-14,2.640869476e-12) (7.589476826e-06,-4.399886433e-06) (-2.173340822e-05,1.260869167e-05) (-4.46394035e-06,2.524206165e-06) (6.808603243e-05,-3.926843738e-05) +(-0.01566451268,-0.00221165718) (-0.0001948641577,-2.796746384e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,1.772989558e-14) (-0.0004198818397,1.679889e-14) (-8.346906342e-07,-8.241968752e-15) (5.740844431e-07,-7.132640533e-15) (-0.001008053523,-1.105114258e-14) (-3.508811352e-07,-8.716645911e-15) (2.231317455e-07,-7.573389404e-15) (-0.000408453118,-9.53184962e-15) (-4.057328475e-15,5.694584659e-20) (-8.286469788e-07,3.094091175e-15) (8.264893354e-06,1.417463855e-14) (-6.263236738e-06,-1.984783545e-15) (-0.0004004110629,-7.138747102e-15) (-9.588196122e-15,1.375244239e-19) (-3.576931874e-07,3.070677107e-15) (3.541007804e-06,1.454441084e-14) (-2.664277624e-06,-2.070054798e-15) (-0.0001730155867,-5.991069674e-15) +(-1.400249322e-05,-8.517683491e-08) (-5.116927849e-06,4.684231583e-09) (2.138336521e-06,4.599405375e-07) (-5.084421801e-06,-3.325365207e-06) (-1.137644059e-05,2.898889879e-06) (8.535405516e-07,2.174669906e-07) (-1.941555583e-06,-1.356036493e-06) (-4.835683466e-06,1.14408203e-06) (-7.579709164e-09,-2.762279321e-08) (-1.753976932e-07,-2.708152116e-07) (1.596704523e-06,-6.809813049e-07) (-4.264485678e-06,1.255174248e-07) (-4.111833037e-07,9.800694867e-07) (-3.057891808e-09,-1.074053857e-08) (-8.079752589e-08,-1.194200536e-07) (7.764209185e-07,-2.571247395e-07) (-2.00927223e-06,-2.278516912e-07) (-4.360917395e-07,6.207081838e-07) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,1.335751503e-13) (0.0006370640959,1.537988172e-13) (-4.324103528e-05,-2.064957961e-14) (-3.803898884e-05,-3.11900116e-15) (0.001489241722,-1.064118355e-13) (-1.644703661e-05,-2.184936467e-14) (-1.448432252e-05,-3.401844515e-15) (0.0005464819933,-1.104512803e-13) (8.944071612e-15,5.37611904e-19) (-2.920048495e-06,7.799358519e-15) (-8.845527695e-05,2.047495515e-14) (2.646077292e-05,-6.820300902e-15) (0.0005070239929,-8.329729939e-14) (2.026694378e-14,1.283138686e-18) (-1.22457607e-06,7.793369903e-15) (-3.701248625e-05,2.141087058e-14) (1.103773763e-05,-7.186674661e-15) (0.0002042932449,-8.338536484e-14) +(1.284349739e-05,-4.772636154e-05) (4.176499206e-06,-1.580615794e-05) (-1.637198807e-06,8.291662982e-06) (-1.365739124e-05,1.476125239e-05) (2.456488526e-05,2.98039344e-05) (-5.950508007e-07,3.103480952e-06) (-4.942325707e-06,5.332056991e-06) (9.785063172e-06,1.163148615e-05) (1.150138939e-07,4.234158657e-08) (4.359031483e-07,9.22545632e-07) (-1.273242959e-06,-5.816351088e-06) (5.466313628e-06,-1.016188654e-05) (-2.867123006e-06,1.31041973e-06) (4.484840704e-08,1.742515531e-08) (1.996404585e-07,4.006392654e-07) (-7.036287942e-07,-2.636380213e-06) (3.2181333e-06,-4.377497957e-06) (-2.131972104e-06,-3.142402084e-07) +(0,0) (0,0) (0.1767194204,0) (0.4323382235,0) (0.1708278373,0) (0.003585169254,0) (0.0314498852,0) (0.001435115663,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001699344885,0) (0.0005652953336,0) (0.0001271657725,0) (1.32657526e-05,0) (0.001322714732,0) (4.834337921e-05,0) (5.078874012e-06,0) (0.0004853110627,0) (5.670946568e-15,0) (2.774395199e-06,1.972152263e-31) (6.172029553e-05,0) (5.814397199e-05,0) (0.0004655294022,-4.930380658e-32) (1.339042538e-14,0) (1.139058852e-06,0) (2.651781405e-05,0) (2.334202003e-05,0) (0.0001874332715,-2.958228395e-31) +(7.521436699e-06,0) (2.487726124e-06,0) (3.185938962e-06,0) (4.003174709e-06,0) (7.827739219e-06,0) (1.175670888e-06,0) (1.457353976e-06,0) (3.049591687e-06,0) (5.048909171e-08,2.568783543e-24) (1.590612012e-06,1.609124785e-23) (2.682375849e-06,-5.764414894e-24) (3.284718312e-06,6.203854594e-25) (1.43263148e-06,1.550963649e-25) (1.897206644e-08,-6.720842477e-25) (7.004686066e-07,5.11818004e-24) (1.044304049e-06,-3.231174268e-25) (1.672429076e-06,0) (6.003570143e-07,8.271806126e-25) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,-3.155443621e-30) (0.0004448148634,6.310887242e-30) (-9.565713795e-05,1.029370554e-14) (3.485412968e-05,-1.023797789e-14) (0.0010438788,-5.572765633e-17) (-3.635078475e-05,1.089033375e-14) (1.331622219e-05,-1.083246436e-14) (0.0003830055394,-5.786938279e-17) (-2.848348185e-15,-1.388191666e-19) (4.162623539e-06,2.367315108e-15) (1.327559777e-05,-5.945058718e-15) (-8.528709815e-05,3.98658355e-15) (0.0003765412857,-4.087011207e-16) (-8.229297777e-15,-3.646221352e-19) (1.716943454e-06,2.411501735e-15) (5.343838064e-06,-6.246511632e-15) (-3.496510539e-05,4.239624517e-15) (0.0001515559446,-4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,2.741514604e-07) (-2.780116483e-06,-6.455501517e-06) (-7.838840513e-06,6.181350057e-06) (-1.61552776e-07,1.190893908e-07) (-9.323685179e-07,-2.408299986e-06) (-3.148837626e-06,2.289210596e-06) (4.469778006e-08,1.504883457e-07) (1.26676856e-06,1.046269265e-07) (-8.328059922e-07,-3.050222055e-07) (-4.092802746e-06,-1.369814789e-06) (1.671585455e-06,1.419721722e-06) (1.781827059e-08,6.178672245e-08) (5.435245616e-07,4.675798968e-08) (-2.634292994e-07,-9.375785702e-08) (-1.60734289e-06,-1.092677106e-06) (2.465845742e-07,1.077890251e-06) +(0,0) (0,0) (-2.024388139e-12,-0.01754455146) (4.181890806e-12,-0.007443043734) (-2.262288214e-13,0.002330599262) (6.414121631e-13,0.001357612187) (-1.452340376e-12,0.001950473409) (9.467343129e-14,-0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,-0.03618709099) (2.697252669e-14,-0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012155158e-05,-9.336432636e-05) (-2.297215943e-05,-3.042472648e-05) (4.685860845e-08,9.517319326e-08) (-1.668578539e-05,2.511282975e-06) (2.59611055e-05,-8.036389655e-05) (-3.816851651e-09,1.90234778e-08) (-6.59413449e-06,8.655407409e-07) (9.998297787e-06,-3.04310274e-05) (1.184799872e-07,-1.056362703e-07) (1.186276746e-06,-6.777499395e-07) (2.950446186e-08,-7.810129287e-08) (-5.76833804e-06,-9.419931895e-06) (1.281309476e-05,-1.168117099e-05) (4.588000485e-08,-4.250210784e-08) (5.277564843e-07,-3.074518553e-07) (-1.416452721e-08,4.128237912e-09) (-2.950353115e-06,-6.886971124e-06) (6.040699198e-06,-2.242389439e-06) +(0,0) (0,0) (-0.005773297248,-0.001085539323) (0.00571609262,0.001379014446) (-0.0006951952716,0.001799916802) (0.0005650433465,7.742816862e-05) (-0.0005043118189,-0.0002565965133) (4.720390306e-05,-9.07646126e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001520061568,0.0008773681614) (-0.0004978043886,0.0002871388274) (3.777996285e-06,-2.058890319e-06) (9.788133901e-05,-5.652966743e-05) (-0.0001373008054,7.9538258e-05) (1.450444915e-06,-7.126998011e-07) (3.700141872e-05,-2.138104225e-05) (-5.093868176e-05,2.967752788e-05) (-4.959570183e-15,7.561817459e-13) (-1.709316227e-05,9.88622697e-06) (3.690797863e-05,-2.135176004e-05) (-2.260223605e-05,1.293105702e-05) (0.0001529662259,-8.827543049e-05) (-1.004876182e-14,1.74482951e-12) (-7.059472203e-06,4.092624187e-06) (1.557102849e-05,-9.033571511e-06) (-9.440103444e-06,5.338056848e-06) (6.246700819e-05,-3.602768019e-05) +(-0.000944479054,0.002214483209) (-1.168954479e-05,2.758085064e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,1.395115192e-14) (-0.0003303931097,1.321857004e-14) (6.278742745e-07,6.267371997e-15) (1.508336107e-06,-1.829707832e-14) (-0.0007955499976,-8.763968249e-15) (2.638376718e-07,6.633341259e-15) (5.85025715e-07,-1.938064798e-14) (-0.0003223495585,-7.571202097e-15) (2.037825746e-15,-1.279206619e-19) (-1.243278326e-06,5.349347949e-15) (1.777719935e-06,3.844960139e-15) (9.187079385e-06,3.340764983e-15) (-0.0003238706207,-6.12567423e-15) (5.892564269e-15,-3.456051733e-19) (-5.39163517e-07,5.385811883e-15) (7.135796431e-07,3.765088724e-15) (3.990946276e-06,3.584746342e-15) (-0.0001398980045,-5.217450273e-15) +(2.184072547e-05,1.328566161e-07) (7.98125124e-06,-7.306342835e-09) (-2.353317487e-07,-2.431358997e-07) (8.89348769e-06,-5.889722967e-06) (1.368174814e-05,6.080660701e-06) (-9.52595112e-08,-1.163421003e-07) (3.483016518e-06,-2.340901803e-06) (5.851874148e-06,2.448645606e-06) (-8.904308778e-08,-1.862177347e-09) (-1.575009145e-07,-2.041408412e-07) (-4.182973373e-07,3.929932664e-07) (5.261261828e-06,-1.934800189e-06) (4.914717562e-07,1.551016991e-06) (-3.785085941e-08,-1.286475674e-10) (-7.066595277e-08,-8.72698674e-08) (-1.727701374e-07,1.345678508e-07) (2.079943364e-06,-1.093768337e-06) (9.353131396e-07,1.037909249e-06) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,1.051064969e-13) (0.0005012876667,1.210199267e-13) (3.252694177e-05,1.903334618e-14) (-9.99427541e-05,-3.755176299e-14) (0.001175300936,-8.391686018e-14) (1.236700242e-05,2.013420008e-14) (-3.797622396e-05,-3.981209702e-14) (0.000431281392,-8.71025428e-14) (-4.492290058e-15,-5.108271322e-20) (-4.381157595e-06,1.419353245e-14) (-1.902610263e-05,-4.116223754e-15) (-3.881335348e-05,8.189939113e-15) (0.0004101039919,-6.692950174e-14) (-1.245536538e-14,-2.367029216e-19) (-1.845846564e-06,1.433977071e-14) (-7.458711811e-06,-4.403933919e-15) (-1.653394432e-05,8.760466044e-15) (0.0001651886852,-6.698363681e-14) +(-2.003295385e-05,7.44423399e-05) (-6.514395052e-06,2.465403487e-05) (9.239836074e-07,-9.251150332e-07) (-1.431917237e-05,-3.227521164e-05) (-1.064377077e-06,-4.92444156e-05) (3.961344705e-07,-3.661838786e-07) (-5.649364548e-06,-1.15785494e-05) (-1.372201324e-06,-1.935529002e-05) (2.280251171e-07,-3.053268573e-07) (4.078376831e-07,7.060455894e-07) (1.056705235e-06,1.661036676e-06) (-2.573322934e-06,1.49414439e-05) (-2.046729951e-06,4.370276278e-06) (9.88697933e-08,-1.296933022e-07) (1.816535076e-07,2.975472314e-07) (4.141876113e-07,6.018640503e-07) (-2.328660063e-07,6.309697042e-06) (-1.439856402e-06,3.698707777e-06) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,3.155443621e-30) (0.0004448148634,-6.310887242e-30) (-9.565713795e-05,-1.029370554e-14) (3.485412968e-05,1.023797789e-14) (0.0010438788,5.572765633e-17) (-3.635078475e-05,-1.089033375e-14) (1.331622219e-05,1.083246436e-14) (0.0003830055394,5.786938279e-17) (-2.848334632e-15,1.388191666e-19) (4.162623539e-06,-2.367315108e-15) (1.327559777e-05,5.945058718e-15) (-8.528709815e-05,-3.98658355e-15) (0.0003765412857,4.087011207e-16) (-8.229297777e-15,3.646221352e-19) (1.716943454e-06,-2.411501735e-15) (5.343838064e-06,6.246511632e-15) (-3.496510539e-05,-4.239624517e-15) (0.0001515559446,4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,-2.741514604e-07) (-2.780116483e-06,6.455501517e-06) (-7.838840513e-06,-6.181350057e-06) (-1.61552776e-07,-1.190893908e-07) (-9.323685179e-07,2.408299986e-06) (-3.148837626e-06,-2.289210596e-06) (4.469778006e-08,-1.504883457e-07) (1.26676856e-06,-1.046269265e-07) (-8.328059922e-07,3.050222055e-07) (-4.092802746e-06,1.369814789e-06) (1.671585455e-06,-1.419721722e-06) (1.781827059e-08,-6.178672245e-08) (5.435245616e-07,-4.675798968e-08) (-2.634292994e-07,9.375785702e-08) (-1.60734289e-06,1.092677106e-06) (2.465845742e-07,-1.077890251e-06) +(0,0) (0,0) (0.05210540448,0) (0.1187574051,0) (0.6090226715,0) (0.0002945720367,0) (0.001167828641,0) (0.03500776944,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001052178223,0) (0.0003500121988,0) (7.195558885e-05,0) (9.157492925e-05,0) (0.0008238230987,0) (2.733320619e-05,0) (3.491359954e-05,0) (0.0003022664318,0) (1.430604767e-15,-9.860761315e-32) (6.245481801e-06,-9.860761315e-32) (2.855486911e-06,-2.465190329e-32) (0.0001251013452,-3.45126646e-31) (0.0003045636627,3.45126646e-31) (5.057437216e-15,2.958228395e-31) (2.588009232e-06,2.958228395e-31) (1.076883833e-06,-1.972152263e-31) (5.23758695e-05,4.930380658e-32) (0.0001225460354,2.958228395e-31) +(1.829886623e-05,0) (6.052376612e-06,0) (7.624904163e-08,0) (1.234084223e-05,0) (1.273119943e-05,0) (3.426263494e-08,0) (4.576252571e-06,0) (4.96973533e-06,0) (4.881179852e-07,-9.564275833e-25) (1.015740713e-06,-3.282873056e-24) (2.932491235e-07,-1.783608196e-24) (5.670935863e-06,3.231174268e-24) (3.357323756e-06,-8.685396432e-24) (2.179567445e-07,9.04728795e-25) (4.248659482e-07,5.014782464e-24) (7.486855157e-08,1.395867284e-24) (2.258687365e-06,-1.240770919e-24) (2.036540451e-06,-3.30872245e-24) +(0,0) (0,0) (-1.099241284e-12,-0.009526678654) (2.191751042e-12,-0.003900938503) (4.271548499e-13,-0.004400530276) (1.838561317e-13,0.0003891496597) (-2.798649041e-13,0.0003758547668) (-4.675917989e-13,0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,-0.02847459545) (2.122391617e-14,-0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.000109373776,0.0001456272528) (3.583137798e-05,4.745569863e-05) (2.165436796e-09,-1.626790533e-08) (7.53822607e-06,-2.865145302e-05) (-8.94590791e-05,5.997709861e-05) (2.45146613e-09,-2.227450843e-09) (2.788397132e-06,-1.145065455e-05) (-3.316707843e-05,2.391603938e-05) (-2.099708033e-07,-4.46662106e-07) (9.001737584e-07,-6.177928983e-07) (-2.791793818e-10,2.760341761e-08) (1.111578782e-05,9.331810361e-06) (3.374329489e-06,-2.632715043e-05) (-9.532770745e-08,-1.893356844e-07) (3.889864278e-07,-2.737945217e-07) (3.202416713e-09,-2.313056759e-09) (7.335118092e-06,4.691344391e-06) (-1.544924858e-06,-1.176658097e-05) +(0,0) (0,0) (-0.003134896197,-0.0005894470608) (0.00299583431,0.0007227487492) (0.00131263572,-0.003398520076) (0.0001619655658,2.219422141e-05) (-9.718051026e-05,-4.944595617e-05) (-0.0002331399385,0.0004482861549) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001196093331,0.0006903761196) (-0.0003917081531,0.0002259413986) (-2.841899237e-06,1.54874658e-06) (0.0002571711525,-0.0001485247327) (-0.0001083569998,6.277113221e-05) (-1.090631474e-06,5.358995889e-07) (9.701345456e-05,-5.605862798e-05) (-4.020060284e-05,2.342138568e-05) (2.472509502e-15,-3.798042406e-13) (-2.564609383e-05,1.483301339e-05) (7.938644405e-06,-4.592612127e-06) (3.315355071e-05,-1.896761248e-05) (0.0001237260184,-7.140117023e-05) (6.128112273e-15,-1.072312545e-12) (-1.064099064e-05,6.168956339e-06) (3.137854976e-06,-1.820434486e-06) (1.414077322e-05,-7.996125442e-06) (5.05099567e-05,-2.913148266e-05) +(0.001473173913,-0.003454093428) (1.823304854e-05,-4.301989491e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.073369271e-12,-0.05475639745) (-2.298249668e-13,-0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,-0.0230047579) (-3.345332529e-14,-0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316010582,-0.0001730202177) (4.719344493e-05,-6.262294536e-05) (4.519028303e-08,-5.711350518e-08) (1.910649511e-05,1.705015571e-05) (-6.749216419e-05,-0.0001071825063) (7.477779824e-10,-1.451711457e-08) (7.979649417e-06,7.288814279e-06) (-2.727059995e-05,-4.450298833e-05) (4.000715671e-08,-8.067961321e-08) (-1.541872643e-08,-2.767095688e-07) (3.739052008e-08,3.900001586e-08) (7.12896119e-06,-1.245013658e-05) (-1.166866017e-05,5.412850993e-06) (1.666657866e-08,-3.282419505e-08) (-8.45933864e-09,-1.254389648e-07) (-1.154750606e-08,4.182690836e-10) (4.482863104e-06,-7.872116711e-06) (-6.706290426e-06,4.616626192e-06) +(0,0) (0,0) (-3.574796693e-12,0.03098131397) (-3.042140382e-12,-0.00541448473) (-3.236912117e-15,-3.334652474e-05) (1.933870538e-12,-0.004093227976) (5.083089287e-13,0.0006826519903) (1.305409463e-14,4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,0.04078133152) (-9.245860848e-14,0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004726934192,0.0006043753589) (0.0001547416424,0.0001970355262) (2.236160812e-07,1.708611603e-07) (6.618596498e-05,-5.295934623e-05) (-0.0002245129371,0.0003510429903) (5.214913651e-08,-4.470559756e-10) (2.552946888e-05,-2.119081374e-05) (-8.398635774e-05,0.0001357770582) (1.813072306e-07,3.399995689e-07) (-6.79948831e-08,8.73769186e-07) (1.553466833e-07,-1.010485649e-07) (1.954284301e-05,3.352174778e-05) (-3.632752486e-05,-1.165744445e-05) (6.941991832e-08,1.426106139e-07) (-2.543402913e-08,3.894818368e-07) (-8.781307956e-10,3.854033352e-08) (1.234914694e-05,2.097449532e-05) (-2.027785628e-05,-1.11249509e-05) +(0,0) (0,0) (-2.024388139e-12,0.01754455146) (4.181890806e-12,0.007443043734) (-2.262288214e-13,-0.002330599262) (6.414121631e-13,-0.001357612187) (-1.452340376e-12,-0.001950473409) (9.467343129e-14,0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,0.03618709099) (2.697252669e-14,0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012155158e-05,9.336432636e-05) (-2.297215943e-05,3.042472648e-05) (4.685860845e-08,-9.517319326e-08) (-1.668578539e-05,-2.511282975e-06) (2.59611055e-05,8.036389655e-05) (-3.816851651e-09,-1.90234778e-08) (-6.59413449e-06,-8.655407409e-07) (9.998297787e-06,3.04310274e-05) (1.184799872e-07,1.056362703e-07) (1.186276746e-06,6.777499395e-07) (2.950446186e-08,7.810129287e-08) (-5.76833804e-06,9.419931895e-06) (1.281309476e-05,1.168117099e-05) (4.588000485e-08,4.250210784e-08) (5.277564843e-07,3.074518553e-07) (-1.416452721e-08,-4.128237912e-09) (-2.950353115e-06,6.886971124e-06) (6.040699198e-06,2.242389439e-06) +(0,0) (0,0) (-1.099241284e-12,0.009526678654) (2.191751042e-12,0.003900938503) (4.271548499e-13,0.004400530276) (1.838561317e-13,-0.0003891496597) (-2.798649041e-13,-0.0003758547668) (-4.675917989e-13,-0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,0.02847459545) (2.122391617e-14,0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.000109373776,-0.0001456272528) (3.583137798e-05,-4.745569863e-05) (2.165436796e-09,1.626790533e-08) (7.53822607e-06,2.865145302e-05) (-8.94590791e-05,-5.997709861e-05) (2.45146613e-09,2.227450843e-09) (2.788397132e-06,1.145065455e-05) (-3.316707843e-05,-2.391603938e-05) (-2.099708033e-07,4.46662106e-07) (9.001737584e-07,6.177928983e-07) (-2.791793818e-10,-2.760341761e-08) (1.111578782e-05,-9.331810361e-06) (3.374329489e-06,2.632715043e-05) (-9.532770745e-08,1.893356844e-07) (3.889864278e-07,2.737945217e-07) (3.202416713e-09,2.313056759e-09) (7.335118092e-06,-4.691344391e-06) (-1.544924858e-06,1.176658097e-05) +(0.003323277612,0) (0.001069070815,0) (0.00174180792,0) (0.0001281378722,0) (3.179629858e-05,0) (0.0005140931207,0) (0.0001209653547,0) (7.18021662e-05,0) (0,-4.930380658e-32) (-2.710505431e-20,0) (7.588732639e-10,0) (1.442267609e-08,0) (0.0005156165052,0) (0,0) (4.235164736e-21,-1.972152263e-30) (8.97091465e-10,0) (2.352707791e-08,0) (0.0002128748988,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001812676218,0) (0.0005842219029,0) (3.532291747e-09,0) (7.112404456e-05,0) (0.000911161533,0) (3.202095655e-10,0) (3.03507392e-05,0) (0.0003364428726,0) (4.990489648e-07,-8.271806126e-25) (1.173508992e-06,-4.756288522e-24) (2.598563963e-09,-4.135903063e-24) (3.714438472e-05,-1.938704561e-26) (0.0002098412308,-1.654361225e-24) (2.061664726e-07,-8.271806126e-25) (5.325771156e-07,2.067951531e-25) (2.084413822e-10,-1.861156378e-24) (3.356492395e-05,-6.203854594e-25) (6.915611245e-05,-1.654361225e-24) +(-0.001065306375,-0.0004124280613) (-0.0003152598716,-0.0001224831858) (0.0001077714067,-0.0005731679656) (-2.3740822e-05,9.840704582e-05) (2.455621307e-05,9.484529058e-06) (2.93200734e-05,-0.0002139675086) (-1.591372026e-05,3.127664176e-05) (2.030214286e-05,1.055852447e-05) (0,1.32348898e-23) (2.117582368e-22,-8.470329473e-22) (2.484213661e-08,-5.804871795e-08) (5.11794513e-07,2.192027156e-07) (-1.374438912e-05,-3.200414282e-08) (-2.117582368e-22,0) (-7.940933881e-23,0) (1.769423358e-08,-5.68535415e-08) (5.751443635e-07,1.793356705e-07) (-8.117141674e-06,3.418186447e-07) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.006795422316,0.01755265315) (0.0001332844561,0.0003430612962) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0009663293567,0.000557758073) (0.0003697518979,0.0002132767987) (-2.479801e-08,-1.35141435e-08) (4.235881379e-06,2.446359655e-06) (0.0001046382544,6.061686563e-05) (-1.052747575e-08,-5.172847492e-09) (1.625594824e-06,9.39339898e-07) (4.287160337e-05,2.497754477e-05) (3.555927322e-15,5.410131537e-13) (5.105327932e-06,2.95278483e-06) (4.942304705e-06,2.859189489e-06) (2.434700456e-06,1.392926363e-06) (-0.0001315692818,-7.592744687e-05) (7.213322414e-15,1.249383666e-12) (2.216852204e-06,1.285187123e-06) (2.079248808e-06,1.20628146e-06) (1.077501276e-06,6.092902592e-07) (-5.766194006e-05,-3.325636998e-05) +(0.001733237864,0.004133350463) (2.40958005e-05,5.670819824e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (-0.01019486506,0.00191691618) (-0.004158204266,0.001003171945) (-9.946946565e-06,-2.57534494e-05) (0.001703617024,-0.0002334474815) (0.0001765055937,-8.9806977e-05) (6.508734384e-06,1.251512516e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001713045537,-0.0009887570644) (-0.0005610046357,-0.0003235933974) (-1.284657557e-06,-7.000983619e-07) (-0.0002806706318,-0.000162096449) (-0.0001545866867,-8.955195664e-05) (-4.934599317e-07,-2.424695986e-07) (-0.0001055234843,-6.097609649e-05) (-5.735923718e-05,-3.341822561e-05) (-7.750405677e-15,-1.192626849e-12) (1.799053821e-05,1.04052451e-05) (-5.289516915e-05,-3.06005639e-05) (-1.028606432e-05,-5.88480201e-06) (0.0001666007481,9.614379032e-05) (-1.504199563e-14,-2.640869479e-12) (7.589476826e-06,4.399886433e-06) (-2.173340822e-05,-1.260869167e-05) (-4.46394035e-06,-2.524206165e-06) (6.808603243e-05,3.926843738e-05) +(-0.01566451268,0.00221165718) (-0.0001948641577,2.796746384e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (-0.005773297248,0.001085539323) (0.00571609262,-0.001379014446) (-0.0006951952716,-0.001799916802) (0.0005650433465,-7.742816862e-05) (-0.0005043118189,0.0002565965133) (4.720390306e-05,9.07646126e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001520061568,-0.0008773681614) (-0.0004978043886,-0.0002871388274) (3.777996285e-06,2.058890319e-06) (9.788133901e-05,5.652966743e-05) (-0.0001373008054,-7.9538258e-05) (1.450444915e-06,7.126998011e-07) (3.700141872e-05,2.138104225e-05) (-5.093868176e-05,-2.967752788e-05) (-4.959570183e-15,-7.561817409e-13) (-1.709316227e-05,-9.88622697e-06) (3.690797863e-05,2.135176004e-05) (-2.260223605e-05,-1.293105702e-05) (0.0001529662259,8.827543049e-05) (-1.004876097e-14,-1.74482951e-12) (-7.059472203e-06,-4.092624187e-06) (1.557102849e-05,9.033571511e-06) (-9.440103444e-06,-5.338056848e-06) (6.246700819e-05,3.602768019e-05) +(-0.000944479054,-0.002214483209) (-1.168954479e-05,-2.758085064e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (-0.003134896197,0.0005894470608) (0.00299583431,-0.0007227487492) (0.00131263572,0.003398520076) (0.0001619655658,-2.219422141e-05) (-9.718051026e-05,4.944595617e-05) (-0.0002331399385,-0.0004482861549) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001196093331,-0.0006903761196) (-0.0003917081531,-0.0002259413986) (-2.841899237e-06,-1.54874658e-06) (0.0002571711525,0.0001485247327) (-0.0001083569998,-6.277113221e-05) (-1.090631474e-06,-5.358995889e-07) (9.701345456e-05,5.605862798e-05) (-4.020060284e-05,-2.342138568e-05) (2.472516278e-15,3.798042271e-13) (-2.564609383e-05,-1.483301339e-05) (7.938644405e-06,4.592612127e-06) (3.315355071e-05,1.896761248e-05) (0.0001237260184,7.140117023e-05) (6.128107191e-15,1.072312543e-12) (-1.064099064e-05,-6.168956339e-06) (3.137854976e-06,1.820434486e-06) (1.414077322e-05,7.996125442e-06) (5.05099567e-05,2.913148266e-05) +(0.001473173913,0.003454093428) (1.823304854e-05,4.301989491e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001065306375,0.0004124280613) (-0.0003152598716,0.0001224831858) (0.0001077714067,0.0005731679656) (-2.3740822e-05,-9.840704582e-05) (2.455621307e-05,-9.484529058e-06) (2.93200734e-05,0.0002139675086) (-1.591372026e-05,-3.127664176e-05) (2.030214286e-05,-1.055852447e-05) (-1.058791184e-22,-2.64697796e-23) (-2.117582368e-22,8.470329473e-22) (2.484213661e-08,5.804871795e-08) (5.11794513e-07,-2.192027156e-07) (-1.374438912e-05,3.200414282e-08) (0,0) (-1.32348898e-22,4.235164736e-22) (1.769423358e-08,5.68535415e-08) (5.751443635e-07,-1.793356705e-07) (-8.117141674e-06,-3.418186447e-07) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0003926769682,0) (0.0001070003183,0) (0.0001952776704,0) (7.997302531e-05,0) (2.179385408e-05,0) (9.072628978e-05,0) (1.018039269e-05,0) (7.293086984e-06,0) (6.6174449e-24,-7.754818243e-25) (1.058791184e-22,-1.240770919e-24) (5.253558923e-06,5.169878828e-26) (2.149278346e-05,-1.033975766e-25) (3.663755034e-07,0) (0,1.178732373e-23) (2.64697796e-23,2.067951531e-25) (3.952117728e-06,3.877409121e-26) (1.542700385e-05,0) (3.100639357e-07,-4.135903063e-25) +(0.001812676218,0) (0.0005842219029,0) (1.455760061e-07,0) (0.000963108556,0) (1.903497787e-05,0) (5.40245945e-08,0) (0.0003595785109,0) (7.161396531e-06,0) (1.008356953e-10,8.271806126e-25) (0.0001405400645,2.481541838e-24) (2.945702913e-05,-4.135903063e-25) (1.166197091e-05,6.6174449e-24) (6.700160668e-05,3.722312756e-24) (2.273663116e-10,8.271806126e-25) (5.845678685e-05,-2.481541838e-24) (1.222055263e-05,-6.203854594e-25) (5.038570089e-06,4.549493369e-24) (2.77438515e-05,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.9022006019,0) (0.001265938283,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0006867671573,0) (0.0003118737213,0) (5.478741969e-09,0) (2.484389374e-08,0) (0.0007682472119,0) (2.546730763e-09,0) (9.802916105e-09,0) (0.0003437670443,0) (2.902829344e-15,3.944304526e-31) (2.474974783e-07,0) (1.106742305e-06,0) (6.746724226e-07,5.916456789e-31) (0.000344401489,0) (6.865622166e-15,0) (1.123246758e-07,0) (4.728420013e-07,0) (3.041028689e-07,-3.944304526e-31) (0.0001597069346,0) +(2.606909815e-05,0) (1.052486136e-05,0) (1.50160704e-06,0) (9.220031973e-06,0) (1.760750571e-05,0) (6.598984231e-07,0) (3.84839452e-06,0) (8.0970703e-06,0) (1.625045466e-08,-1.292469707e-25) (6.544979468e-08,1.033975766e-25) (1.123332837e-06,5.169878828e-26) (5.541294868e-06,-1.80945759e-25) (7.884846338e-07,-4.135903063e-24) (6.573341473e-09,-7.754818243e-26) (2.967925929e-08,1.783608196e-24) (6.405630384e-07,-1.550963649e-25) (2.445001313e-06,2.067951531e-25) (9.585207486e-07,4.135903063e-25) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,-1.048968745e-13) (-0.0004731891963,-1.331680902e-13) (2.838254859e-07,-2.667032522e-15) (-1.646163048e-06,-2.058752428e-14) (-0.001134965332,9.353993365e-14) (1.193742549e-07,-2.806929651e-15) (-6.363442288e-07,-2.174782716e-14) (-0.0004599365052,1.036925755e-13) (-6.39905609e-15,-4.744497745e-19) (8.721502128e-07,9.270421917e-16) (-1.184494378e-05,2.305635264e-14) (-2.850339931e-06,1.637935329e-15) (-0.0004361013826,7.942071128e-14) (-1.451212062e-14,-1.126939084e-18) (3.845477493e-07,8.539000264e-16) (-4.942394664e-06,2.315955851e-14) (-1.259856574e-06,1.799159549e-15) (-0.0001885786623,8.350119887e-14) +(-2.336997728e-05,8.899656399e-05) (-8.620275597e-06,3.25033392e-05) (9.817825478e-08,5.801548646e-06) (5.084310361e-06,-3.009317751e-05) (-2.466390723e-05,-5.241278162e-05) (1.420505313e-07,2.363204515e-06) (1.623034791e-06,-1.170234502e-05) (-1.115234346e-05,-2.211479671e-05) (-4.043179797e-08,5.656802291e-08) (-2.05138522e-07,-2.751341749e-08) (7.187037426e-07,-3.7854683e-06) (-7.485119781e-06,1.298409725e-05) (1.719364356e-06,1.585304449e-06) (-1.709340046e-08,2.258118837e-08) (-9.133145593e-08,-1.217697277e-08) (1.259848231e-07,-2.133345284e-06) (-3.269905813e-06,5.697606153e-06) (1.2237451e-06,2.432502756e-06) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,-1.772989558e-14) (-0.0004198818397,-1.679889e-14) (-8.346906342e-07,8.241968752e-15) (5.740844431e-07,7.132640533e-15) (-0.001008053523,1.105114258e-14) (-3.508811352e-07,8.716645911e-15) (2.231317455e-07,7.573389404e-15) (-0.000408453118,9.53184962e-15) (-4.05730137e-15,-5.694584659e-20) (-8.286469788e-07,-3.094091175e-15) (8.264893354e-06,-1.417463855e-14) (-6.263236738e-06,1.984783545e-15) (-0.0004004110629,7.138747102e-15) (-9.588196122e-15,-1.375244239e-19) (-3.576931874e-07,-3.070677107e-15) (3.541007804e-06,-1.454441084e-14) (-2.664277624e-06,2.070054798e-15) (-0.0001730155867,5.991069674e-15) +(-1.400249322e-05,8.517683491e-08) (-5.116927849e-06,-4.684231583e-09) (2.138336521e-06,-4.599405375e-07) (-5.084421801e-06,3.325365207e-06) (-1.137644059e-05,-2.898889879e-06) (8.535405516e-07,-2.174669906e-07) (-1.941555583e-06,1.356036493e-06) (-4.835683466e-06,-1.14408203e-06) (-7.579709164e-09,2.762279321e-08) (-1.753976932e-07,2.708152116e-07) (1.596704523e-06,6.809813049e-07) (-4.264485678e-06,-1.255174248e-07) (-4.111833037e-07,-9.800694867e-07) (-3.057891808e-09,1.074053857e-08) (-8.079752589e-08,1.194200536e-07) (7.764209185e-07,2.571247395e-07) (-2.00927223e-06,2.278516912e-07) (-4.360917395e-07,-6.207081838e-07) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,-1.395115192e-14) (-0.0003303931097,-1.321857004e-14) (6.278742745e-07,-6.267371997e-15) (1.508336107e-06,1.829707832e-14) (-0.0007955499976,8.763968249e-15) (2.638376718e-07,-6.633341259e-15) (5.85025715e-07,1.938064798e-14) (-0.0003223495585,7.571202097e-15) (2.037832522e-15,1.279206619e-19) (-1.243278326e-06,-5.349347949e-15) (1.777719935e-06,-3.844960139e-15) (9.187079385e-06,-3.340764983e-15) (-0.0003238706207,6.12567423e-15) (5.892571045e-15,3.456051733e-19) (-5.39163517e-07,-5.385811883e-15) (7.135796431e-07,-3.765088724e-15) (3.990946276e-06,-3.584746342e-15) (-0.0001398980045,5.217450273e-15) +(2.184072547e-05,-1.328566161e-07) (7.98125124e-06,7.306342835e-09) (-2.353317487e-07,2.431358997e-07) (8.89348769e-06,5.889722967e-06) (1.368174814e-05,-6.080660701e-06) (-9.52595112e-08,1.163421003e-07) (3.483016518e-06,2.340901803e-06) (5.851874148e-06,-2.448645606e-06) (-8.904308778e-08,1.862177347e-09) (-1.575009145e-07,2.041408412e-07) (-4.182973373e-07,-3.929932664e-07) (5.261261828e-06,1.934800189e-06) (4.914717562e-07,-1.551016991e-06) (-3.785085941e-08,1.286475674e-10) (-7.066595277e-08,8.72698674e-08) (-1.727701374e-07,-1.345678508e-07) (2.079943364e-06,1.093768337e-06) (9.353131396e-07,-1.037909249e-06) +(-3.073369271e-12,0.05475639745) (-2.298249668e-13,0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,0.0230047579) (-3.345332529e-14,0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316010582,0.0001730202177) (4.719344493e-05,6.262294536e-05) (4.519028303e-08,5.711350518e-08) (1.910649511e-05,-1.705015571e-05) (-6.749216419e-05,0.0001071825063) (7.477779824e-10,1.451711457e-08) (7.979649417e-06,-7.288814279e-06) (-2.727059995e-05,4.450298833e-05) (4.000715671e-08,8.067961321e-08) (-1.541872643e-08,2.767095688e-07) (3.739052008e-08,-3.900001586e-08) (7.12896119e-06,1.245013658e-05) (-1.166866017e-05,-5.412850993e-06) (1.666657866e-08,3.282419505e-08) (-8.45933864e-09,1.254389648e-07) (-1.154750606e-08,-4.182690836e-10) (4.482863104e-06,7.872116711e-06) (-6.706290426e-06,-4.616626192e-06) +(0.006795422316,-0.01755265315) (0.0001332844561,-0.0003430612962) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0009663293567,-0.000557758073) (0.0003697518979,-0.0002132767987) (-2.479801e-08,1.35141435e-08) (4.235881379e-06,-2.446359655e-06) (0.0001046382544,-6.061686563e-05) (-1.052747575e-08,5.172847492e-09) (1.625594824e-06,-9.39339898e-07) (4.287160337e-05,-2.497754477e-05) (3.555927322e-15,-5.410131436e-13) (5.105327932e-06,-2.95278483e-06) (4.942304705e-06,-2.859189489e-06) (2.434700456e-06,-1.392926363e-06) (-0.0001315692818,7.592744687e-05) (7.213325803e-15,-1.249383665e-12) (2.216852204e-06,-1.285187123e-06) (2.079248808e-06,-1.20628146e-06) (1.077501276e-06,-6.092902592e-07) (-5.766194006e-05,3.325636998e-05) +(0.001733237864,-0.004133350463) (2.40958005e-05,-5.670819824e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,1.048968745e-13) (-0.0004731891963,1.331680902e-13) (2.838254859e-07,2.667032522e-15) (-1.646163048e-06,2.058752428e-14) (-0.001134965332,-9.353993365e-14) (1.193742549e-07,2.806929651e-15) (-6.363442288e-07,2.174782716e-14) (-0.0004599365052,-1.036925755e-13) (-6.399069642e-15,4.744497745e-19) (8.721502128e-07,-9.270421917e-16) (-1.184494378e-05,-2.305635264e-14) (-2.850339931e-06,-1.637935329e-15) (-0.0004361013826,-7.942071128e-14) (-1.451212062e-14,1.126939084e-18) (3.845477493e-07,-8.539000264e-16) (-4.942394664e-06,-2.315955851e-14) (-1.259856574e-06,-1.799159549e-15) (-0.0001885786623,-8.350119887e-14) +(-2.336997728e-05,-8.899656399e-05) (-8.620275597e-06,-3.25033392e-05) (9.817825478e-08,-5.801548646e-06) (5.084310361e-06,3.009317751e-05) (-2.466390723e-05,5.241278162e-05) (1.420505313e-07,-2.363204515e-06) (1.623034791e-06,1.170234502e-05) (-1.115234346e-05,2.211479671e-05) (-4.043179797e-08,-5.656802291e-08) (-2.05138522e-07,2.751341749e-08) (7.187037426e-07,3.7854683e-06) (-7.485119781e-06,-1.298409725e-05) (1.719364356e-06,-1.585304449e-06) (-1.709340046e-08,-2.258118837e-08) (-9.133145593e-08,1.217697277e-08) (1.259848231e-07,2.133345284e-06) (-3.269905813e-06,-5.697606153e-06) (1.2237451e-06,-2.432502756e-06) +(0,0) (0,0) (0.5510606563,0) (0.2287898526,0) (3.497233206e-05,0) (0.03259042882,0) (0.003852456277,0) (2.728501408e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.002158226331,0) (0.0007179444763,0) (1.470354086e-05,0) (0.0001090752041,0) (0.001676734109,0) (5.595492446e-06,0) (4.130750209e-05,0) (0.0006153632011,0) (1.410625631e-14,3.155443621e-30) (3.07334846e-06,3.944304526e-31) (0.0001267708775,0) (1.204204804e-05,1.57772181e-30) (0.0005522171709,0) (3.067480352e-14,0) (1.316513672e-06,0) (5.166052285e-05,0) (5.219413394e-06,0) (0.0002226698044,0) +(0.0003247731928,0) (0.0001074385849,0) (2.242104943e-05,0) (0.000101024546,0) (0.0001905669123,0) (8.493601038e-06,0) (3.626944176e-05,0) (7.576061162e-05,0) (2.975099223e-07,-2.067951531e-24) (6.545291938e-07,4.301339185e-23) (1.321630137e-05,8.271806126e-25) (4.053453297e-05,2.067951531e-25) (6.936601868e-06,-1.98523347e-23) (1.220223247e-07,-4.135903063e-25) (2.860486991e-07,-1.240770919e-24) (7.129718703e-06,1.447566072e-24) (1.765029723e-05,3.30872245e-24) (7.735483806e-06,-1.32348898e-23) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,-1.335751503e-13) (0.0006370640959,-1.537988172e-13) (-4.324103528e-05,2.064957961e-14) (-3.803898884e-05,3.11900116e-15) (0.001489241722,1.064118355e-13) (-1.644703661e-05,2.184936467e-14) (-1.448432252e-05,3.401844515e-15) (0.0005464819933,1.104512803e-13) (8.944071612e-15,-5.37611904e-19) (-2.920048495e-06,-7.799358519e-15) (-8.845527695e-05,-2.047495515e-14) (2.646077292e-05,6.820300902e-15) (0.0005070239929,8.329729939e-14) (2.026694378e-14,-1.283138686e-18) (-1.22457607e-06,-7.793369903e-15) (-3.701248625e-05,-2.141087058e-14) (1.103773763e-05,7.186674661e-15) (0.0002042932449,8.338536484e-14) +(1.284349739e-05,4.772636154e-05) (4.176499206e-06,1.580615794e-05) (-1.637198807e-06,-8.291662982e-06) (-1.365739124e-05,-1.476125239e-05) (2.456488526e-05,-2.98039344e-05) (-5.950508007e-07,-3.103480952e-06) (-4.942325707e-06,-5.332056991e-06) (9.785063172e-06,-1.163148615e-05) (1.150138939e-07,-4.234158657e-08) (4.359031483e-07,-9.22545632e-07) (-1.273242959e-06,5.816351088e-06) (5.466313628e-06,1.016188654e-05) (-2.867123006e-06,-1.31041973e-06) (4.484840704e-08,-1.742515531e-08) (1.996404585e-07,-4.006392654e-07) (-7.036287942e-07,2.636380213e-06) (3.2181333e-06,4.377497957e-06) (-2.131972104e-06,3.142402084e-07) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,-1.051064969e-13) (0.0005012876667,-1.210199267e-13) (3.252694177e-05,-1.903334618e-14) (-9.99427541e-05,3.755176299e-14) (0.001175300936,8.391686018e-14) (1.236700242e-05,-2.013420008e-14) (-3.797622396e-05,3.981209702e-14) (0.000431281392,8.71025428e-14) (-4.492296834e-15,5.108271321e-20) (-4.381157595e-06,-1.419353245e-14) (-1.902610263e-05,4.116223754e-15) (-3.881335348e-05,-8.189939113e-15) (0.0004101039919,6.692950174e-14) (-1.245537216e-14,2.367029216e-19) (-1.845846564e-06,-1.433977071e-14) (-7.458711811e-06,4.403933919e-15) (-1.653394432e-05,-8.760466044e-15) (0.0001651886852,6.698363681e-14) +(-2.003295385e-05,-7.44423399e-05) (-6.514395052e-06,-2.465403487e-05) (9.239836074e-07,9.251150332e-07) (-1.431917237e-05,3.227521164e-05) (-1.064377077e-06,4.92444156e-05) (3.961344705e-07,3.661838786e-07) (-5.649364548e-06,1.15785494e-05) (-1.372201324e-06,1.935529002e-05) (2.280251171e-07,3.053268573e-07) (4.078376831e-07,-7.060455894e-07) (1.056705235e-06,-1.661036676e-06) (-2.573322934e-06,-1.49414439e-05) (-2.046729951e-06,-4.370276278e-06) (9.88697933e-08,1.296933022e-07) (1.816535076e-07,-2.975472314e-07) (4.141876113e-07,-6.018640503e-07) (-2.328660063e-07,-6.309697042e-06) (-1.439856402e-06,-3.698707777e-06) +(0,0) (0,0) (-3.574796693e-12,-0.03098131397) (-3.042140382e-12,0.00541448473) (-3.236912117e-15,3.334652474e-05) (1.933870538e-12,0.004093227976) (5.083089287e-13,-0.0006826519903) (1.305409463e-14,-4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,-0.04078133152) (-9.245860848e-14,-0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004726934192,-0.0006043753589) (0.0001547416424,-0.0001970355262) (2.236160812e-07,-1.708611603e-07) (6.618596498e-05,5.295934623e-05) (-0.0002245129371,-0.0003510429903) (5.214913651e-08,4.470559756e-10) (2.552946888e-05,2.119081374e-05) (-8.398635774e-05,-0.0001357770582) (1.813072306e-07,-3.399995689e-07) (-6.79948831e-08,-8.73769186e-07) (1.553466833e-07,1.010485649e-07) (1.954284301e-05,-3.352174778e-05) (-3.632752486e-05,1.165744445e-05) (6.941991832e-08,-1.426106139e-07) (-2.543402913e-08,-3.894818368e-07) (-8.781307956e-10,-3.854033352e-08) (1.234914694e-05,-2.097449532e-05) (-2.027785628e-05,1.11249509e-05) +(0,0) (0,0) (-0.01019486506,-0.00191691618) (-0.004158204266,-0.001003171945) (-9.946946565e-06,2.57534494e-05) (0.001703617024,0.0002334474815) (0.0001765055937,8.9806977e-05) (6.508734384e-06,-1.251512516e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001713045537,0.0009887570644) (-0.0005610046357,0.0003235933974) (-1.284657557e-06,7.000983619e-07) (-0.0002806706318,0.000162096449) (-0.0001545866867,8.955195664e-05) (-4.934599317e-07,2.424695986e-07) (-0.0001055234843,6.097609649e-05) (-5.735923718e-05,3.341822561e-05) (-7.750395513e-15,1.19262685e-12) (1.799053821e-05,-1.04052451e-05) (-5.289516915e-05,3.06005639e-05) (-1.028606432e-05,5.88480201e-06) (0.0001666007481,-9.614379032e-05) (-1.504199394e-14,2.640869476e-12) (7.589476826e-06,-4.399886433e-06) (-2.173340822e-05,1.260869167e-05) (-4.46394035e-06,2.524206165e-06) (6.808603243e-05,-3.926843738e-05) +(-0.01566451268,-0.00221165718) (-0.0001948641577,-2.796746384e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,1.772989558e-14) (-0.0004198818397,1.679889e-14) (-8.346906342e-07,-8.241968752e-15) (5.740844431e-07,-7.132640533e-15) (-0.001008053523,-1.105114258e-14) (-3.508811352e-07,-8.716645911e-15) (2.231317455e-07,-7.573389404e-15) (-0.000408453118,-9.53184962e-15) (-4.057328475e-15,5.694584659e-20) (-8.286469788e-07,3.094091175e-15) (8.264893354e-06,1.417463855e-14) (-6.263236738e-06,-1.984783545e-15) (-0.0004004110629,-7.138747102e-15) (-9.588196122e-15,1.375244239e-19) (-3.576931874e-07,3.070677107e-15) (3.541007804e-06,1.454441084e-14) (-2.664277624e-06,-2.070054798e-15) (-0.0001730155867,-5.991069674e-15) +(-1.400249322e-05,-8.517683491e-08) (-5.116927849e-06,4.684231583e-09) (2.138336521e-06,4.599405375e-07) (-5.084421801e-06,-3.325365207e-06) (-1.137644059e-05,2.898889879e-06) (8.535405516e-07,2.174669906e-07) (-1.941555583e-06,-1.356036493e-06) (-4.835683466e-06,1.14408203e-06) (-7.579709164e-09,-2.762279321e-08) (-1.753976932e-07,-2.708152116e-07) (1.596704523e-06,-6.809813049e-07) (-4.264485678e-06,1.255174248e-07) (-4.111833037e-07,9.800694867e-07) (-3.057891808e-09,-1.074053857e-08) (-8.079752589e-08,-1.194200536e-07) (7.764209185e-07,-2.571247395e-07) (-2.00927223e-06,-2.278516912e-07) (-4.360917395e-07,6.207081838e-07) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,1.335751503e-13) (0.0006370640959,1.537988172e-13) (-4.324103528e-05,-2.064957961e-14) (-3.803898884e-05,-3.11900116e-15) (0.001489241722,-1.064118355e-13) (-1.644703661e-05,-2.184936467e-14) (-1.448432252e-05,-3.401844515e-15) (0.0005464819933,-1.104512803e-13) (8.944071612e-15,5.37611904e-19) (-2.920048495e-06,7.799358519e-15) (-8.845527695e-05,2.047495515e-14) (2.646077292e-05,-6.820300902e-15) (0.0005070239929,-8.329729939e-14) (2.026694378e-14,1.283138686e-18) (-1.22457607e-06,7.793369903e-15) (-3.701248625e-05,2.141087058e-14) (1.103773763e-05,-7.186674661e-15) (0.0002042932449,-8.338536484e-14) +(1.284349739e-05,-4.772636154e-05) (4.176499206e-06,-1.580615794e-05) (-1.637198807e-06,8.291662982e-06) (-1.365739124e-05,1.476125239e-05) (2.456488526e-05,2.98039344e-05) (-5.950508007e-07,3.103480952e-06) (-4.942325707e-06,5.332056991e-06) (9.785063172e-06,1.163148615e-05) (1.150138939e-07,4.234158657e-08) (4.359031483e-07,9.22545632e-07) (-1.273242959e-06,-5.816351088e-06) (5.466313628e-06,-1.016188654e-05) (-2.867123006e-06,1.31041973e-06) (4.484840704e-08,1.742515531e-08) (1.996404585e-07,4.006392654e-07) (-7.036287942e-07,-2.636380213e-06) (3.2181333e-06,-4.377497957e-06) (-2.131972104e-06,-3.142402084e-07) +(0,0) (0,0) (0.1767194204,0) (0.4323382235,0) (0.1708278373,0) (0.003585169254,0) (0.0314498852,0) (0.001435115663,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001699344885,0) (0.0005652953336,0) (0.0001271657725,0) (1.32657526e-05,0) (0.001322714732,0) (4.834337921e-05,0) (5.078874012e-06,0) (0.0004853110627,0) (5.670946568e-15,0) (2.774395199e-06,1.972152263e-31) (6.172029553e-05,0) (5.814397199e-05,0) (0.0004655294022,-4.930380658e-32) (1.339042538e-14,0) (1.139058852e-06,0) (2.651781405e-05,0) (2.334202003e-05,0) (0.0001874332715,-2.958228395e-31) +(7.521436699e-06,0) (2.487726124e-06,0) (3.185938962e-06,0) (4.003174709e-06,0) (7.827739219e-06,0) (1.175670888e-06,0) (1.457353976e-06,0) (3.049591687e-06,0) (5.048909171e-08,2.568783543e-24) (1.590612012e-06,1.609124785e-23) (2.682375849e-06,-5.764414894e-24) (3.284718312e-06,6.203854594e-25) (1.43263148e-06,1.550963649e-25) (1.897206644e-08,-6.720842477e-25) (7.004686066e-07,5.11818004e-24) (1.044304049e-06,-3.231174268e-25) (1.672429076e-06,0) (6.003570143e-07,8.271806126e-25) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,-3.155443621e-30) (0.0004448148634,6.310887242e-30) (-9.565713795e-05,1.029370554e-14) (3.485412968e-05,-1.023797789e-14) (0.0010438788,-5.572765633e-17) (-3.635078475e-05,1.089033375e-14) (1.331622219e-05,-1.083246436e-14) (0.0003830055394,-5.786938279e-17) (-2.848348185e-15,-1.388191666e-19) (4.162623539e-06,2.367315108e-15) (1.327559777e-05,-5.945058718e-15) (-8.528709815e-05,3.98658355e-15) (0.0003765412857,-4.087011207e-16) (-8.229297777e-15,-3.646221352e-19) (1.716943454e-06,2.411501735e-15) (5.343838064e-06,-6.246511632e-15) (-3.496510539e-05,4.239624517e-15) (0.0001515559446,-4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,2.741514604e-07) (-2.780116483e-06,-6.455501517e-06) (-7.838840513e-06,6.181350057e-06) (-1.61552776e-07,1.190893908e-07) (-9.323685179e-07,-2.408299986e-06) (-3.148837626e-06,2.289210596e-06) (4.469778006e-08,1.504883457e-07) (1.26676856e-06,1.046269265e-07) (-8.328059922e-07,-3.050222055e-07) (-4.092802746e-06,-1.369814789e-06) (1.671585455e-06,1.419721722e-06) (1.781827059e-08,6.178672245e-08) (5.435245616e-07,4.675798968e-08) (-2.634292994e-07,-9.375785702e-08) (-1.60734289e-06,-1.092677106e-06) (2.465845742e-07,1.077890251e-06) +(0,0) (0,0) (-2.024388139e-12,-0.01754455146) (4.181890806e-12,-0.007443043734) (-2.262288214e-13,0.002330599262) (6.414121631e-13,0.001357612187) (-1.452340376e-12,0.001950473409) (9.467343129e-14,-0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,-0.03618709099) (2.697252669e-14,-0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012155158e-05,-9.336432636e-05) (-2.297215943e-05,-3.042472648e-05) (4.685860845e-08,9.517319326e-08) (-1.668578539e-05,2.511282975e-06) (2.59611055e-05,-8.036389655e-05) (-3.816851651e-09,1.90234778e-08) (-6.59413449e-06,8.655407409e-07) (9.998297787e-06,-3.04310274e-05) (1.184799872e-07,-1.056362703e-07) (1.186276746e-06,-6.777499395e-07) (2.950446186e-08,-7.810129287e-08) (-5.76833804e-06,-9.419931895e-06) (1.281309476e-05,-1.168117099e-05) (4.588000485e-08,-4.250210784e-08) (5.277564843e-07,-3.074518553e-07) (-1.416452721e-08,4.128237912e-09) (-2.950353115e-06,-6.886971124e-06) (6.040699198e-06,-2.242389439e-06) +(0,0) (0,0) (-0.005773297248,-0.001085539323) (0.00571609262,0.001379014446) (-0.0006951952716,0.001799916802) (0.0005650433465,7.742816862e-05) (-0.0005043118189,-0.0002565965133) (4.720390306e-05,-9.07646126e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001520061568,0.0008773681614) (-0.0004978043886,0.0002871388274) (3.777996285e-06,-2.058890319e-06) (9.788133901e-05,-5.652966743e-05) (-0.0001373008054,7.9538258e-05) (1.450444915e-06,-7.126998011e-07) (3.700141872e-05,-2.138104225e-05) (-5.093868176e-05,2.967752788e-05) (-4.959570183e-15,7.561817459e-13) (-1.709316227e-05,9.88622697e-06) (3.690797863e-05,-2.135176004e-05) (-2.260223605e-05,1.293105702e-05) (0.0001529662259,-8.827543049e-05) (-1.004876182e-14,1.74482951e-12) (-7.059472203e-06,4.092624187e-06) (1.557102849e-05,-9.033571511e-06) (-9.440103444e-06,5.338056848e-06) (6.246700819e-05,-3.602768019e-05) +(-0.000944479054,0.002214483209) (-1.168954479e-05,2.758085064e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,1.395115192e-14) (-0.0003303931097,1.321857004e-14) (6.278742745e-07,6.267371997e-15) (1.508336107e-06,-1.829707832e-14) (-0.0007955499976,-8.763968249e-15) (2.638376718e-07,6.633341259e-15) (5.85025715e-07,-1.938064798e-14) (-0.0003223495585,-7.571202097e-15) (2.037825746e-15,-1.279206619e-19) (-1.243278326e-06,5.349347949e-15) (1.777719935e-06,3.844960139e-15) (9.187079385e-06,3.340764983e-15) (-0.0003238706207,-6.12567423e-15) (5.892564269e-15,-3.456051733e-19) (-5.39163517e-07,5.385811883e-15) (7.135796431e-07,3.765088724e-15) (3.990946276e-06,3.584746342e-15) (-0.0001398980045,-5.217450273e-15) +(2.184072547e-05,1.328566161e-07) (7.98125124e-06,-7.306342835e-09) (-2.353317487e-07,-2.431358997e-07) (8.89348769e-06,-5.889722967e-06) (1.368174814e-05,6.080660701e-06) (-9.52595112e-08,-1.163421003e-07) (3.483016518e-06,-2.340901803e-06) (5.851874148e-06,2.448645606e-06) (-8.904308778e-08,-1.862177347e-09) (-1.575009145e-07,-2.041408412e-07) (-4.182973373e-07,3.929932664e-07) (5.261261828e-06,-1.934800189e-06) (4.914717562e-07,1.551016991e-06) (-3.785085941e-08,-1.286475674e-10) (-7.066595277e-08,-8.72698674e-08) (-1.727701374e-07,1.345678508e-07) (2.079943364e-06,-1.093768337e-06) (9.353131396e-07,1.037909249e-06) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,1.051064969e-13) (0.0005012876667,1.210199267e-13) (3.252694177e-05,1.903334618e-14) (-9.99427541e-05,-3.755176299e-14) (0.001175300936,-8.391686018e-14) (1.236700242e-05,2.013420008e-14) (-3.797622396e-05,-3.981209702e-14) (0.000431281392,-8.71025428e-14) (-4.492290058e-15,-5.108271322e-20) (-4.381157595e-06,1.419353245e-14) (-1.902610263e-05,-4.116223754e-15) (-3.881335348e-05,8.189939113e-15) (0.0004101039919,-6.692950174e-14) (-1.245536538e-14,-2.367029216e-19) (-1.845846564e-06,1.433977071e-14) (-7.458711811e-06,-4.403933919e-15) (-1.653394432e-05,8.760466044e-15) (0.0001651886852,-6.698363681e-14) +(-2.003295385e-05,7.44423399e-05) (-6.514395052e-06,2.465403487e-05) (9.239836074e-07,-9.251150332e-07) (-1.431917237e-05,-3.227521164e-05) (-1.064377077e-06,-4.92444156e-05) (3.961344705e-07,-3.661838786e-07) (-5.649364548e-06,-1.15785494e-05) (-1.372201324e-06,-1.935529002e-05) (2.280251171e-07,-3.053268573e-07) (4.078376831e-07,7.060455894e-07) (1.056705235e-06,1.661036676e-06) (-2.573322934e-06,1.49414439e-05) (-2.046729951e-06,4.370276278e-06) (9.88697933e-08,-1.296933022e-07) (1.816535076e-07,2.975472314e-07) (4.141876113e-07,6.018640503e-07) (-2.328660063e-07,6.309697042e-06) (-1.439856402e-06,3.698707777e-06) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,3.155443621e-30) (0.0004448148634,-6.310887242e-30) (-9.565713795e-05,-1.029370554e-14) (3.485412968e-05,1.023797789e-14) (0.0010438788,5.572765633e-17) (-3.635078475e-05,-1.089033375e-14) (1.331622219e-05,1.083246436e-14) (0.0003830055394,5.786938279e-17) (-2.848334632e-15,1.388191666e-19) (4.162623539e-06,-2.367315108e-15) (1.327559777e-05,5.945058718e-15) (-8.528709815e-05,-3.98658355e-15) (0.0003765412857,4.087011207e-16) (-8.229297777e-15,3.646221352e-19) (1.716943454e-06,-2.411501735e-15) (5.343838064e-06,6.246511632e-15) (-3.496510539e-05,-4.239624517e-15) (0.0001515559446,4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,-2.741514604e-07) (-2.780116483e-06,6.455501517e-06) (-7.838840513e-06,-6.181350057e-06) (-1.61552776e-07,-1.190893908e-07) (-9.323685179e-07,2.408299986e-06) (-3.148837626e-06,-2.289210596e-06) (4.469778006e-08,-1.504883457e-07) (1.26676856e-06,-1.046269265e-07) (-8.328059922e-07,3.050222055e-07) (-4.092802746e-06,1.369814789e-06) (1.671585455e-06,-1.419721722e-06) (1.781827059e-08,-6.178672245e-08) (5.435245616e-07,-4.675798968e-08) (-2.634292994e-07,9.375785702e-08) (-1.60734289e-06,1.092677106e-06) (2.465845742e-07,-1.077890251e-06) +(0,0) (0,0) (0.05210540448,0) (0.1187574051,0) (0.6090226715,0) (0.0002945720367,0) (0.001167828641,0) (0.03500776944,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001052178223,0) (0.0003500121988,0) (7.195558885e-05,0) (9.157492925e-05,0) (0.0008238230987,0) (2.733320619e-05,0) (3.491359954e-05,0) (0.0003022664318,0) (1.430604767e-15,-9.860761315e-32) (6.245481801e-06,-9.860761315e-32) (2.855486911e-06,-2.465190329e-32) (0.0001251013452,-3.45126646e-31) (0.0003045636627,3.45126646e-31) (5.057437216e-15,2.958228395e-31) (2.588009232e-06,2.958228395e-31) (1.076883833e-06,-1.972152263e-31) (5.23758695e-05,4.930380658e-32) (0.0001225460354,2.958228395e-31) +(1.829886623e-05,0) (6.052376612e-06,0) (7.624904163e-08,0) (1.234084223e-05,0) (1.273119943e-05,0) (3.426263494e-08,0) (4.576252571e-06,0) (4.96973533e-06,0) (4.881179852e-07,-9.564275833e-25) (1.015740713e-06,-3.282873056e-24) (2.932491235e-07,-1.783608196e-24) (5.670935863e-06,3.231174268e-24) (3.357323756e-06,-8.685396432e-24) (2.179567445e-07,9.04728795e-25) (4.248659482e-07,5.014782464e-24) (7.486855157e-08,1.395867284e-24) (2.258687365e-06,-1.240770919e-24) (2.036540451e-06,-3.30872245e-24) +(0,0) (0,0) (-1.099241284e-12,-0.009526678654) (2.191751042e-12,-0.003900938503) (4.271548499e-13,-0.004400530276) (1.838561317e-13,0.0003891496597) (-2.798649041e-13,0.0003758547668) (-4.675917989e-13,0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,-0.02847459545) (2.122391617e-14,-0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.000109373776,0.0001456272528) (3.583137798e-05,4.745569863e-05) (2.165436796e-09,-1.626790533e-08) (7.53822607e-06,-2.865145302e-05) (-8.94590791e-05,5.997709861e-05) (2.45146613e-09,-2.227450843e-09) (2.788397132e-06,-1.145065455e-05) (-3.316707843e-05,2.391603938e-05) (-2.099708033e-07,-4.46662106e-07) (9.001737584e-07,-6.177928983e-07) (-2.791793818e-10,2.760341761e-08) (1.111578782e-05,9.331810361e-06) (3.374329489e-06,-2.632715043e-05) (-9.532770745e-08,-1.893356844e-07) (3.889864278e-07,-2.737945217e-07) (3.202416713e-09,-2.313056759e-09) (7.335118092e-06,4.691344391e-06) (-1.544924858e-06,-1.176658097e-05) +(0,0) (0,0) (-0.003134896197,-0.0005894470608) (0.00299583431,0.0007227487492) (0.00131263572,-0.003398520076) (0.0001619655658,2.219422141e-05) (-9.718051026e-05,-4.944595617e-05) (-0.0002331399385,0.0004482861549) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001196093331,0.0006903761196) (-0.0003917081531,0.0002259413986) (-2.841899237e-06,1.54874658e-06) (0.0002571711525,-0.0001485247327) (-0.0001083569998,6.277113221e-05) (-1.090631474e-06,5.358995889e-07) (9.701345456e-05,-5.605862798e-05) (-4.020060284e-05,2.342138568e-05) (2.472509502e-15,-3.798042406e-13) (-2.564609383e-05,1.483301339e-05) (7.938644405e-06,-4.592612127e-06) (3.315355071e-05,-1.896761248e-05) (0.0001237260184,-7.140117023e-05) (6.128112273e-15,-1.072312545e-12) (-1.064099064e-05,6.168956339e-06) (3.137854976e-06,-1.820434486e-06) (1.414077322e-05,-7.996125442e-06) (5.05099567e-05,-2.913148266e-05) +(0.001473173913,-0.003454093428) (1.823304854e-05,-4.301989491e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.073369271e-12,-0.05475639745) (-2.298249668e-13,-0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,-0.0230047579) (-3.345332529e-14,-0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316010582,-0.0001730202177) (4.719344493e-05,-6.262294536e-05) (4.519028303e-08,-5.711350518e-08) (1.910649511e-05,1.705015571e-05) (-6.749216419e-05,-0.0001071825063) (7.477779824e-10,-1.451711457e-08) (7.979649417e-06,7.288814279e-06) (-2.727059995e-05,-4.450298833e-05) (4.000715671e-08,-8.067961321e-08) (-1.541872643e-08,-2.767095688e-07) (3.739052008e-08,3.900001586e-08) (7.12896119e-06,-1.245013658e-05) (-1.166866017e-05,5.412850993e-06) (1.666657866e-08,-3.282419505e-08) (-8.45933864e-09,-1.254389648e-07) (-1.154750606e-08,4.182690836e-10) (4.482863104e-06,-7.872116711e-06) (-6.706290426e-06,4.616626192e-06) +(0,0) (0,0) (-3.574796693e-12,0.03098131397) (-3.042140382e-12,-0.00541448473) (-3.236912117e-15,-3.334652474e-05) (1.933870538e-12,-0.004093227976) (5.083089287e-13,0.0006826519903) (1.305409463e-14,4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,0.04078133152) (-9.245860848e-14,0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004726934192,0.0006043753589) (0.0001547416424,0.0001970355262) (2.236160812e-07,1.708611603e-07) (6.618596498e-05,-5.295934623e-05) (-0.0002245129371,0.0003510429903) (5.214913651e-08,-4.470559756e-10) (2.552946888e-05,-2.119081374e-05) (-8.398635774e-05,0.0001357770582) (1.813072306e-07,3.399995689e-07) (-6.79948831e-08,8.73769186e-07) (1.553466833e-07,-1.010485649e-07) (1.954284301e-05,3.352174778e-05) (-3.632752486e-05,-1.165744445e-05) (6.941991832e-08,1.426106139e-07) (-2.543402913e-08,3.894818368e-07) (-8.781307956e-10,3.854033352e-08) (1.234914694e-05,2.097449532e-05) (-2.027785628e-05,-1.11249509e-05) +(0,0) (0,0) (-2.024388139e-12,0.01754455146) (4.181890806e-12,0.007443043734) (-2.262288214e-13,-0.002330599262) (6.414121631e-13,-0.001357612187) (-1.452340376e-12,-0.001950473409) (9.467343129e-14,0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,0.03618709099) (2.697252669e-14,0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012155158e-05,9.336432636e-05) (-2.297215943e-05,3.042472648e-05) (4.685860845e-08,-9.517319326e-08) (-1.668578539e-05,-2.511282975e-06) (2.59611055e-05,8.036389655e-05) (-3.816851651e-09,-1.90234778e-08) (-6.59413449e-06,-8.655407409e-07) (9.998297787e-06,3.04310274e-05) (1.184799872e-07,1.056362703e-07) (1.186276746e-06,6.777499395e-07) (2.950446186e-08,7.810129287e-08) (-5.76833804e-06,9.419931895e-06) (1.281309476e-05,1.168117099e-05) (4.588000485e-08,4.250210784e-08) (5.277564843e-07,3.074518553e-07) (-1.416452721e-08,-4.128237912e-09) (-2.950353115e-06,6.886971124e-06) (6.040699198e-06,2.242389439e-06) +(0,0) (0,0) (-1.099241284e-12,0.009526678654) (2.191751042e-12,0.003900938503) (4.271548499e-13,0.004400530276) (1.838561317e-13,-0.0003891496597) (-2.798649041e-13,-0.0003758547668) (-4.675917989e-13,-0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,0.02847459545) (2.122391617e-14,0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.000109373776,-0.0001456272528) (3.583137798e-05,-4.745569863e-05) (2.165436796e-09,1.626790533e-08) (7.53822607e-06,2.865145302e-05) (-8.94590791e-05,-5.997709861e-05) (2.45146613e-09,2.227450843e-09) (2.788397132e-06,1.145065455e-05) (-3.316707843e-05,-2.391603938e-05) (-2.099708033e-07,4.46662106e-07) (9.001737584e-07,6.177928983e-07) (-2.791793818e-10,-2.760341761e-08) (1.111578782e-05,-9.331810361e-06) (3.374329489e-06,2.632715043e-05) (-9.532770745e-08,1.893356844e-07) (3.889864278e-07,2.737945217e-07) (3.202416713e-09,2.313056759e-09) (7.335118092e-06,-4.691344391e-06) (-1.544924858e-06,1.176658097e-05) +(0.003323277612,0) (0.001069070815,0) (0.00174180792,0) (0.0001281378722,0) (3.179629858e-05,0) (0.0005140931207,0) (0.0001209653547,0) (7.18021662e-05,0) (0,-4.930380658e-32) (-2.710505431e-20,0) (7.588732639e-10,0) (1.442267609e-08,0) (0.0005156165052,0) (0,0) (4.235164736e-21,-1.972152263e-30) (8.97091465e-10,0) (2.352707791e-08,0) (0.0002128748988,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001812676218,0) (0.0005842219029,0) (3.532291747e-09,0) (7.112404456e-05,0) (0.000911161533,0) (3.202095655e-10,0) (3.03507392e-05,0) (0.0003364428726,0) (4.990489648e-07,-8.271806126e-25) (1.173508992e-06,-4.756288522e-24) (2.598563963e-09,-4.135903063e-24) (3.714438472e-05,-1.938704561e-26) (0.0002098412308,-1.654361225e-24) (2.061664726e-07,-8.271806126e-25) (5.325771156e-07,2.067951531e-25) (2.084413822e-10,-1.861156378e-24) (3.356492395e-05,-6.203854594e-25) (6.915611245e-05,-1.654361225e-24) +(-0.001065306375,-0.0004124280613) (-0.0003152598716,-0.0001224831858) (0.0001077714067,-0.0005731679656) (-2.3740822e-05,9.840704582e-05) (2.455621307e-05,9.484529058e-06) (2.93200734e-05,-0.0002139675086) (-1.591372026e-05,3.127664176e-05) (2.030214286e-05,1.055852447e-05) (0,1.32348898e-23) (2.117582368e-22,-8.470329473e-22) (2.484213661e-08,-5.804871795e-08) (5.11794513e-07,2.192027156e-07) (-1.374438912e-05,-3.200414282e-08) (-2.117582368e-22,0) (-7.940933881e-23,0) (1.769423358e-08,-5.68535415e-08) (5.751443635e-07,1.793356705e-07) (-8.117141674e-06,3.418186447e-07) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.006795422316,0.01755265315) (0.0001332844561,0.0003430612962) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0009663293567,0.000557758073) (0.0003697518979,0.0002132767987) (-2.479801e-08,-1.35141435e-08) (4.235881379e-06,2.446359655e-06) (0.0001046382544,6.061686563e-05) (-1.052747575e-08,-5.172847492e-09) (1.625594824e-06,9.39339898e-07) (4.287160337e-05,2.497754477e-05) (3.555927322e-15,5.410131537e-13) (5.105327932e-06,2.95278483e-06) (4.942304705e-06,2.859189489e-06) (2.434700456e-06,1.392926363e-06) (-0.0001315692818,-7.592744687e-05) (7.213322414e-15,1.249383666e-12) (2.216852204e-06,1.285187123e-06) (2.079248808e-06,1.20628146e-06) (1.077501276e-06,6.092902592e-07) (-5.766194006e-05,-3.325636998e-05) +(0.001733237864,0.004133350463) (2.40958005e-05,5.670819824e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (-0.01019486506,0.00191691618) (-0.004158204266,0.001003171945) (-9.946946565e-06,-2.57534494e-05) (0.001703617024,-0.0002334474815) (0.0001765055937,-8.9806977e-05) (6.508734384e-06,1.251512516e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001713045537,-0.0009887570644) (-0.0005610046357,-0.0003235933974) (-1.284657557e-06,-7.000983619e-07) (-0.0002806706318,-0.000162096449) (-0.0001545866867,-8.955195664e-05) (-4.934599317e-07,-2.424695986e-07) (-0.0001055234843,-6.097609649e-05) (-5.735923718e-05,-3.341822561e-05) (-7.750405677e-15,-1.192626849e-12) (1.799053821e-05,1.04052451e-05) (-5.289516915e-05,-3.06005639e-05) (-1.028606432e-05,-5.88480201e-06) (0.0001666007481,9.614379032e-05) (-1.504199563e-14,-2.640869479e-12) (7.589476826e-06,4.399886433e-06) (-2.173340822e-05,-1.260869167e-05) (-4.46394035e-06,-2.524206165e-06) (6.808603243e-05,3.926843738e-05) +(-0.01566451268,0.00221165718) (-0.0001948641577,2.796746384e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (-0.005773297248,0.001085539323) (0.00571609262,-0.001379014446) (-0.0006951952716,-0.001799916802) (0.0005650433465,-7.742816862e-05) (-0.0005043118189,0.0002565965133) (4.720390306e-05,9.07646126e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001520061568,-0.0008773681614) (-0.0004978043886,-0.0002871388274) (3.777996285e-06,2.058890319e-06) (9.788133901e-05,5.652966743e-05) (-0.0001373008054,-7.9538258e-05) (1.450444915e-06,7.126998011e-07) (3.700141872e-05,2.138104225e-05) (-5.093868176e-05,-2.967752788e-05) (-4.959570183e-15,-7.561817409e-13) (-1.709316227e-05,-9.88622697e-06) (3.690797863e-05,2.135176004e-05) (-2.260223605e-05,-1.293105702e-05) (0.0001529662259,8.827543049e-05) (-1.004876097e-14,-1.74482951e-12) (-7.059472203e-06,-4.092624187e-06) (1.557102849e-05,9.033571511e-06) (-9.440103444e-06,-5.338056848e-06) (6.246700819e-05,3.602768019e-05) +(-0.000944479054,-0.002214483209) (-1.168954479e-05,-2.758085064e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (-0.003134896197,0.0005894470608) (0.00299583431,-0.0007227487492) (0.00131263572,0.003398520076) (0.0001619655658,-2.219422141e-05) (-9.718051026e-05,4.944595617e-05) (-0.0002331399385,-0.0004482861549) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001196093331,-0.0006903761196) (-0.0003917081531,-0.0002259413986) (-2.841899237e-06,-1.54874658e-06) (0.0002571711525,0.0001485247327) (-0.0001083569998,-6.277113221e-05) (-1.090631474e-06,-5.358995889e-07) (9.701345456e-05,5.605862798e-05) (-4.020060284e-05,-2.342138568e-05) (2.472516278e-15,3.798042271e-13) (-2.564609383e-05,-1.483301339e-05) (7.938644405e-06,4.592612127e-06) (3.315355071e-05,1.896761248e-05) (0.0001237260184,7.140117023e-05) (6.128107191e-15,1.072312543e-12) (-1.064099064e-05,-6.168956339e-06) (3.137854976e-06,1.820434486e-06) (1.414077322e-05,7.996125442e-06) (5.05099567e-05,2.913148266e-05) +(0.001473173913,0.003454093428) (1.823304854e-05,4.301989491e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001065306375,0.0004124280613) (-0.0003152598716,0.0001224831858) (0.0001077714067,0.0005731679656) (-2.3740822e-05,-9.840704582e-05) (2.455621307e-05,-9.484529058e-06) (2.93200734e-05,0.0002139675086) (-1.591372026e-05,-3.127664176e-05) (2.030214286e-05,-1.055852447e-05) (-1.058791184e-22,-2.64697796e-23) (-2.117582368e-22,8.470329473e-22) (2.484213661e-08,5.804871795e-08) (5.11794513e-07,-2.192027156e-07) (-1.374438912e-05,3.200414282e-08) (0,0) (-1.32348898e-22,4.235164736e-22) (1.769423358e-08,5.68535415e-08) (5.751443635e-07,-1.793356705e-07) (-8.117141674e-06,-3.418186447e-07) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0003926769682,0) (0.0001070003183,0) (0.0001952776704,0) (7.997302531e-05,0) (2.179385408e-05,0) (9.072628978e-05,0) (1.018039269e-05,0) (7.293086984e-06,0) (6.6174449e-24,-7.754818243e-25) (1.058791184e-22,-1.240770919e-24) (5.253558923e-06,5.169878828e-26) (2.149278346e-05,-1.033975766e-25) (3.663755034e-07,0) (0,1.178732373e-23) (2.64697796e-23,2.067951531e-25) (3.952117728e-06,3.877409121e-26) (1.542700385e-05,0) (3.100639357e-07,-4.135903063e-25) +(0.001812676218,0) (0.0005842219029,0) (1.455760061e-07,0) (0.000963108556,0) (1.903497787e-05,0) (5.40245945e-08,0) (0.0003595785109,0) (7.161396531e-06,0) (1.008356953e-10,8.271806126e-25) (0.0001405400645,2.481541838e-24) (2.945702913e-05,-4.135903063e-25) (1.166197091e-05,6.6174449e-24) (6.700160668e-05,3.722312756e-24) (2.273663116e-10,8.271806126e-25) (5.845678685e-05,-2.481541838e-24) (1.222055263e-05,-6.203854594e-25) (5.038570089e-06,4.549493369e-24) (2.77438515e-05,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.9022006019,0) (0.001265938283,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0006867671573,0) (0.0003118737213,0) (5.478741969e-09,0) (2.484389374e-08,0) (0.0007682472119,0) (2.546730763e-09,0) (9.802916105e-09,0) (0.0003437670443,0) (2.902829344e-15,3.944304526e-31) (2.474974783e-07,0) (1.106742305e-06,0) (6.746724226e-07,5.916456789e-31) (0.000344401489,0) (6.865622166e-15,0) (1.123246758e-07,0) (4.728420013e-07,0) (3.041028689e-07,-3.944304526e-31) (0.0001597069346,0) +(2.606909815e-05,0) (1.052486136e-05,0) (1.50160704e-06,0) (9.220031973e-06,0) (1.760750571e-05,0) (6.598984231e-07,0) (3.84839452e-06,0) (8.0970703e-06,0) (1.625045466e-08,-1.292469707e-25) (6.544979468e-08,1.033975766e-25) (1.123332837e-06,5.169878828e-26) (5.541294868e-06,-1.80945759e-25) (7.884846338e-07,-4.135903063e-24) (6.573341473e-09,-7.754818243e-26) (2.967925929e-08,1.783608196e-24) (6.405630384e-07,-1.550963649e-25) (2.445001313e-06,2.067951531e-25) (9.585207486e-07,4.135903063e-25) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,-1.048968745e-13) (-0.0004731891963,-1.331680902e-13) (2.838254859e-07,-2.667032522e-15) (-1.646163048e-06,-2.058752428e-14) (-0.001134965332,9.353993365e-14) (1.193742549e-07,-2.806929651e-15) (-6.363442288e-07,-2.174782716e-14) (-0.0004599365052,1.036925755e-13) (-6.39905609e-15,-4.744497745e-19) (8.721502128e-07,9.270421917e-16) (-1.184494378e-05,2.305635264e-14) (-2.850339931e-06,1.637935329e-15) (-0.0004361013826,7.942071128e-14) (-1.451212062e-14,-1.126939084e-18) (3.845477493e-07,8.539000264e-16) (-4.942394664e-06,2.315955851e-14) (-1.259856574e-06,1.799159549e-15) (-0.0001885786623,8.350119887e-14) +(-2.336997728e-05,8.899656399e-05) (-8.620275597e-06,3.25033392e-05) (9.817825478e-08,5.801548646e-06) (5.084310361e-06,-3.009317751e-05) (-2.466390723e-05,-5.241278162e-05) (1.420505313e-07,2.363204515e-06) (1.623034791e-06,-1.170234502e-05) (-1.115234346e-05,-2.211479671e-05) (-4.043179797e-08,5.656802291e-08) (-2.05138522e-07,-2.751341749e-08) (7.187037426e-07,-3.7854683e-06) (-7.485119781e-06,1.298409725e-05) (1.719364356e-06,1.585304449e-06) (-1.709340046e-08,2.258118837e-08) (-9.133145593e-08,-1.217697277e-08) (1.259848231e-07,-2.133345284e-06) (-3.269905813e-06,5.697606153e-06) (1.2237451e-06,2.432502756e-06) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,-1.772989558e-14) (-0.0004198818397,-1.679889e-14) (-8.346906342e-07,8.241968752e-15) (5.740844431e-07,7.132640533e-15) (-0.001008053523,1.105114258e-14) (-3.508811352e-07,8.716645911e-15) (2.231317455e-07,7.573389404e-15) (-0.000408453118,9.53184962e-15) (-4.05730137e-15,-5.694584659e-20) (-8.286469788e-07,-3.094091175e-15) (8.264893354e-06,-1.417463855e-14) (-6.263236738e-06,1.984783545e-15) (-0.0004004110629,7.138747102e-15) (-9.588196122e-15,-1.375244239e-19) (-3.576931874e-07,-3.070677107e-15) (3.541007804e-06,-1.454441084e-14) (-2.664277624e-06,2.070054798e-15) (-0.0001730155867,5.991069674e-15) +(-1.400249322e-05,8.517683491e-08) (-5.116927849e-06,-4.684231583e-09) (2.138336521e-06,-4.599405375e-07) (-5.084421801e-06,3.325365207e-06) (-1.137644059e-05,-2.898889879e-06) (8.535405516e-07,-2.174669906e-07) (-1.941555583e-06,1.356036493e-06) (-4.835683466e-06,-1.14408203e-06) (-7.579709164e-09,2.762279321e-08) (-1.753976932e-07,2.708152116e-07) (1.596704523e-06,6.809813049e-07) (-4.264485678e-06,-1.255174248e-07) (-4.111833037e-07,-9.800694867e-07) (-3.057891808e-09,1.074053857e-08) (-8.079752589e-08,1.194200536e-07) (7.764209185e-07,2.571247395e-07) (-2.00927223e-06,2.278516912e-07) (-4.360917395e-07,-6.207081838e-07) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,-1.395115192e-14) (-0.0003303931097,-1.321857004e-14) (6.278742745e-07,-6.267371997e-15) (1.508336107e-06,1.829707832e-14) (-0.0007955499976,8.763968249e-15) (2.638376718e-07,-6.633341259e-15) (5.85025715e-07,1.938064798e-14) (-0.0003223495585,7.571202097e-15) (2.037832522e-15,1.279206619e-19) (-1.243278326e-06,-5.349347949e-15) (1.777719935e-06,-3.844960139e-15) (9.187079385e-06,-3.340764983e-15) (-0.0003238706207,6.12567423e-15) (5.892571045e-15,3.456051733e-19) (-5.39163517e-07,-5.385811883e-15) (7.135796431e-07,-3.765088724e-15) (3.990946276e-06,-3.584746342e-15) (-0.0001398980045,5.217450273e-15) +(2.184072547e-05,-1.328566161e-07) (7.98125124e-06,7.306342835e-09) (-2.353317487e-07,2.431358997e-07) (8.89348769e-06,5.889722967e-06) (1.368174814e-05,-6.080660701e-06) (-9.52595112e-08,1.163421003e-07) (3.483016518e-06,2.340901803e-06) (5.851874148e-06,-2.448645606e-06) (-8.904308778e-08,1.862177347e-09) (-1.575009145e-07,2.041408412e-07) (-4.182973373e-07,-3.929932664e-07) (5.261261828e-06,1.934800189e-06) (4.914717562e-07,-1.551016991e-06) (-3.785085941e-08,1.286475674e-10) (-7.066595277e-08,8.72698674e-08) (-1.727701374e-07,-1.345678508e-07) (2.079943364e-06,1.093768337e-06) (9.353131396e-07,-1.037909249e-06) +(-3.073369271e-12,0.05475639745) (-2.298249668e-13,0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,0.0230047579) (-3.345332529e-14,0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316010582,0.0001730202177) (4.719344493e-05,6.262294536e-05) (4.519028303e-08,5.711350518e-08) (1.910649511e-05,-1.705015571e-05) (-6.749216419e-05,0.0001071825063) (7.477779824e-10,1.451711457e-08) (7.979649417e-06,-7.288814279e-06) (-2.727059995e-05,4.450298833e-05) (4.000715671e-08,8.067961321e-08) (-1.541872643e-08,2.767095688e-07) (3.739052008e-08,-3.900001586e-08) (7.12896119e-06,1.245013658e-05) (-1.166866017e-05,-5.412850993e-06) (1.666657866e-08,3.282419505e-08) (-8.45933864e-09,1.254389648e-07) (-1.154750606e-08,-4.182690836e-10) (4.482863104e-06,7.872116711e-06) (-6.706290426e-06,-4.616626192e-06) +(0.006795422316,-0.01755265315) (0.0001332844561,-0.0003430612962) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0009663293567,-0.000557758073) (0.0003697518979,-0.0002132767987) (-2.479801e-08,1.35141435e-08) (4.235881379e-06,-2.446359655e-06) (0.0001046382544,-6.061686563e-05) (-1.052747575e-08,5.172847492e-09) (1.625594824e-06,-9.39339898e-07) (4.287160337e-05,-2.497754477e-05) (3.555927322e-15,-5.410131436e-13) (5.105327932e-06,-2.95278483e-06) (4.942304705e-06,-2.859189489e-06) (2.434700456e-06,-1.392926363e-06) (-0.0001315692818,7.592744687e-05) (7.213325803e-15,-1.249383665e-12) (2.216852204e-06,-1.285187123e-06) (2.079248808e-06,-1.20628146e-06) (1.077501276e-06,-6.092902592e-07) (-5.766194006e-05,3.325636998e-05) +(0.001733237864,-0.004133350463) (2.40958005e-05,-5.670819824e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001217455938,1.048968745e-13) (-0.0004731891963,1.331680902e-13) (2.838254859e-07,2.667032522e-15) (-1.646163048e-06,2.058752428e-14) (-0.001134965332,-9.353993365e-14) (1.193742549e-07,2.806929651e-15) (-6.363442288e-07,2.174782716e-14) (-0.0004599365052,-1.036925755e-13) (-6.399069642e-15,4.744497745e-19) (8.721502128e-07,-9.270421917e-16) (-1.184494378e-05,-2.305635264e-14) (-2.850339931e-06,-1.637935329e-15) (-0.0004361013826,-7.942071128e-14) (-1.451212062e-14,1.126939084e-18) (3.845477493e-07,-8.539000264e-16) (-4.942394664e-06,-2.315955851e-14) (-1.259856574e-06,-1.799159549e-15) (-0.0001885786623,-8.350119887e-14) +(-2.336997728e-05,-8.899656399e-05) (-8.620275597e-06,-3.25033392e-05) (9.817825478e-08,-5.801548646e-06) (5.084310361e-06,3.009317751e-05) (-2.466390723e-05,5.241278162e-05) (1.420505313e-07,-2.363204515e-06) (1.623034791e-06,1.170234502e-05) (-1.115234346e-05,2.211479671e-05) (-4.043179797e-08,-5.656802291e-08) (-2.05138522e-07,2.751341749e-08) (7.187037426e-07,3.7854683e-06) (-7.485119781e-06,-1.298409725e-05) (1.719364356e-06,-1.585304449e-06) (-1.709340046e-08,-2.258118837e-08) (-9.133145593e-08,1.217697277e-08) (1.259848231e-07,2.133345284e-06) (-3.269905813e-06,-5.697606153e-06) (1.2237451e-06,-2.432502756e-06) +(0,0) (0,0) (0.5510606563,0) (0.2287898526,0) (3.497233206e-05,0) (0.03259042882,0) (0.003852456277,0) (2.728501408e-05,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.002158226331,0) (0.0007179444763,0) (1.470354086e-05,0) (0.0001090752041,0) (0.001676734109,0) (5.595492446e-06,0) (4.130750209e-05,0) (0.0006153632011,0) (1.410625631e-14,3.155443621e-30) (3.07334846e-06,3.944304526e-31) (0.0001267708775,0) (1.204204804e-05,1.57772181e-30) (0.0005522171709,0) (3.067480352e-14,0) (1.316513672e-06,0) (5.166052285e-05,0) (5.219413394e-06,0) (0.0002226698044,0) +(0.0003247731928,0) (0.0001074385849,0) (2.242104943e-05,0) (0.000101024546,0) (0.0001905669123,0) (8.493601038e-06,0) (3.626944176e-05,0) (7.576061162e-05,0) (2.975099223e-07,-2.067951531e-24) (6.545291938e-07,4.301339185e-23) (1.321630137e-05,8.271806126e-25) (4.053453297e-05,2.067951531e-25) (6.936601868e-06,-1.98523347e-23) (1.220223247e-07,-4.135903063e-25) (2.860486991e-07,-1.240770919e-24) (7.129718703e-06,1.447566072e-24) (1.765029723e-05,3.30872245e-24) (7.735483806e-06,-1.32348898e-23) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,-1.335751503e-13) (0.0006370640959,-1.537988172e-13) (-4.324103528e-05,2.064957961e-14) (-3.803898884e-05,3.11900116e-15) (0.001489241722,1.064118355e-13) (-1.644703661e-05,2.184936467e-14) (-1.448432252e-05,3.401844515e-15) (0.0005464819933,1.104512803e-13) (8.944071612e-15,-5.37611904e-19) (-2.920048495e-06,-7.799358519e-15) (-8.845527695e-05,-2.047495515e-14) (2.646077292e-05,6.820300902e-15) (0.0005070239929,8.329729939e-14) (2.026694378e-14,-1.283138686e-18) (-1.22457607e-06,-7.793369903e-15) (-3.701248625e-05,-2.141087058e-14) (1.103773763e-05,7.186674661e-15) (0.0002042932449,8.338536484e-14) +(1.284349739e-05,4.772636154e-05) (4.176499206e-06,1.580615794e-05) (-1.637198807e-06,-8.291662982e-06) (-1.365739124e-05,-1.476125239e-05) (2.456488526e-05,-2.98039344e-05) (-5.950508007e-07,-3.103480952e-06) (-4.942325707e-06,-5.332056991e-06) (9.785063172e-06,-1.163148615e-05) (1.150138939e-07,-4.234158657e-08) (4.359031483e-07,-9.22545632e-07) (-1.273242959e-06,5.816351088e-06) (5.466313628e-06,1.016188654e-05) (-2.867123006e-06,-1.31041973e-06) (4.484840704e-08,-1.742515531e-08) (1.996404585e-07,-4.006392654e-07) (-7.036287942e-07,2.636380213e-06) (3.2181333e-06,4.377497957e-06) (-2.131972104e-06,3.142402084e-07) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,-1.051064969e-13) (0.0005012876667,-1.210199267e-13) (3.252694177e-05,-1.903334618e-14) (-9.99427541e-05,3.755176299e-14) (0.001175300936,8.391686018e-14) (1.236700242e-05,-2.013420008e-14) (-3.797622396e-05,3.981209702e-14) (0.000431281392,8.71025428e-14) (-4.492296834e-15,5.108271321e-20) (-4.381157595e-06,-1.419353245e-14) (-1.902610263e-05,4.116223754e-15) (-3.881335348e-05,-8.189939113e-15) (0.0004101039919,6.692950174e-14) (-1.245537216e-14,2.367029216e-19) (-1.845846564e-06,-1.433977071e-14) (-7.458711811e-06,4.403933919e-15) (-1.653394432e-05,-8.760466044e-15) (0.0001651886852,6.698363681e-14) +(-2.003295385e-05,-7.44423399e-05) (-6.514395052e-06,-2.465403487e-05) (9.239836074e-07,9.251150332e-07) (-1.431917237e-05,3.227521164e-05) (-1.064377077e-06,4.92444156e-05) (3.961344705e-07,3.661838786e-07) (-5.649364548e-06,1.15785494e-05) (-1.372201324e-06,1.935529002e-05) (2.280251171e-07,3.053268573e-07) (4.078376831e-07,-7.060455894e-07) (1.056705235e-06,-1.661036676e-06) (-2.573322934e-06,-1.49414439e-05) (-2.046729951e-06,-4.370276278e-06) (9.88697933e-08,1.296933022e-07) (1.816535076e-07,-2.975472314e-07) (4.141876113e-07,-6.018640503e-07) (-2.328660063e-07,-6.309697042e-06) (-1.439856402e-06,-3.698707777e-06) +(0,0) (0,0) (-3.574796693e-12,-0.03098131397) (-3.042140382e-12,0.00541448473) (-3.236912117e-15,3.334652474e-05) (1.933870538e-12,0.004093227976) (5.083089287e-13,-0.0006826519903) (1.305409463e-14,-4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,-0.04078133152) (-9.245860848e-14,-0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004726934192,-0.0006043753589) (0.0001547416424,-0.0001970355262) (2.236160812e-07,-1.708611603e-07) (6.618596498e-05,5.295934623e-05) (-0.0002245129371,-0.0003510429903) (5.214913651e-08,4.470559756e-10) (2.552946888e-05,2.119081374e-05) (-8.398635774e-05,-0.0001357770582) (1.813072306e-07,-3.399995689e-07) (-6.79948831e-08,-8.73769186e-07) (1.553466833e-07,1.010485649e-07) (1.954284301e-05,-3.352174778e-05) (-3.632752486e-05,1.165744445e-05) (6.941991832e-08,-1.426106139e-07) (-2.543402913e-08,-3.894818368e-07) (-8.781307956e-10,-3.854033352e-08) (1.234914694e-05,-2.097449532e-05) (-2.027785628e-05,1.11249509e-05) +(0,0) (0,0) (-0.01019486506,-0.00191691618) (-0.004158204266,-0.001003171945) (-9.946946565e-06,2.57534494e-05) (0.001703617024,0.0002334474815) (0.0001765055937,8.9806977e-05) (6.508734384e-06,-1.251512516e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001713045537,0.0009887570644) (-0.0005610046357,0.0003235933974) (-1.284657557e-06,7.000983619e-07) (-0.0002806706318,0.000162096449) (-0.0001545866867,8.955195664e-05) (-4.934599317e-07,2.424695986e-07) (-0.0001055234843,6.097609649e-05) (-5.735923718e-05,3.341822561e-05) (-7.750395513e-15,1.19262685e-12) (1.799053821e-05,-1.04052451e-05) (-5.289516915e-05,3.06005639e-05) (-1.028606432e-05,5.88480201e-06) (0.0001666007481,-9.614379032e-05) (-1.504199394e-14,2.640869476e-12) (7.589476826e-06,-4.399886433e-06) (-2.173340822e-05,1.260869167e-05) (-4.46394035e-06,2.524206165e-06) (6.808603243e-05,-3.926843738e-05) +(-0.01566451268,-0.00221165718) (-0.0001948641577,-2.796746384e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001080302854,1.772989558e-14) (-0.0004198818397,1.679889e-14) (-8.346906342e-07,-8.241968752e-15) (5.740844431e-07,-7.132640533e-15) (-0.001008053523,-1.105114258e-14) (-3.508811352e-07,-8.716645911e-15) (2.231317455e-07,-7.573389404e-15) (-0.000408453118,-9.53184962e-15) (-4.057328475e-15,5.694584659e-20) (-8.286469788e-07,3.094091175e-15) (8.264893354e-06,1.417463855e-14) (-6.263236738e-06,-1.984783545e-15) (-0.0004004110629,-7.138747102e-15) (-9.588196122e-15,1.375244239e-19) (-3.576931874e-07,3.070677107e-15) (3.541007804e-06,1.454441084e-14) (-2.664277624e-06,-2.070054798e-15) (-0.0001730155867,-5.991069674e-15) +(-1.400249322e-05,-8.517683491e-08) (-5.116927849e-06,4.684231583e-09) (2.138336521e-06,4.599405375e-07) (-5.084421801e-06,-3.325365207e-06) (-1.137644059e-05,2.898889879e-06) (8.535405516e-07,2.174669906e-07) (-1.941555583e-06,-1.356036493e-06) (-4.835683466e-06,1.14408203e-06) (-7.579709164e-09,-2.762279321e-08) (-1.753976932e-07,-2.708152116e-07) (1.596704523e-06,-6.809813049e-07) (-4.264485678e-06,1.255174248e-07) (-4.111833037e-07,9.800694867e-07) (-3.057891808e-09,-1.074053857e-08) (-8.079752589e-08,-1.194200536e-07) (7.764209185e-07,-2.571247395e-07) (-2.00927223e-06,-2.278516912e-07) (-4.360917395e-07,6.207081838e-07) +(0,0) (0,0) (0.3120626857,0) (-0.3145069131,0) (0.002444227455,0) (0.01080935722,0) (-0.01100723887,0) (0.0001978816593,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001915090305,1.335751503e-13) (0.0006370640959,1.537988172e-13) (-4.324103528e-05,-2.064957961e-14) (-3.803898884e-05,-3.11900116e-15) (0.001489241722,-1.064118355e-13) (-1.644703661e-05,-2.184936467e-14) (-1.448432252e-05,-3.401844515e-15) (0.0005464819933,-1.104512803e-13) (8.944071612e-15,5.37611904e-19) (-2.920048495e-06,7.799358519e-15) (-8.845527695e-05,2.047495515e-14) (2.646077292e-05,-6.820300902e-15) (0.0005070239929,-8.329729939e-14) (2.026694378e-14,1.283138686e-18) (-1.22457607e-06,7.793369903e-15) (-3.701248625e-05,2.141087058e-14) (1.103773763e-05,-7.186674661e-15) (0.0002042932449,-8.338536484e-14) +(1.284349739e-05,-4.772636154e-05) (4.176499206e-06,-1.580615794e-05) (-1.637198807e-06,8.291662982e-06) (-1.365739124e-05,1.476125239e-05) (2.456488526e-05,2.98039344e-05) (-5.950508007e-07,3.103480952e-06) (-4.942325707e-06,5.332056991e-06) (9.785063172e-06,1.163148615e-05) (1.150138939e-07,4.234158657e-08) (4.359031483e-07,9.22545632e-07) (-1.273242959e-06,-5.816351088e-06) (5.466313628e-06,-1.016188654e-05) (-2.867123006e-06,1.31041973e-06) (4.484840704e-08,1.742515531e-08) (1.996404585e-07,4.006392654e-07) (-7.036287942e-07,-2.636380213e-06) (3.2181333e-06,-4.377497957e-06) (-2.131972104e-06,-3.142402084e-07) +(0,0) (0,0) (0.1767194204,0) (0.4323382235,0) (0.1708278373,0) (0.003585169254,0) (0.0314498852,0) (0.001435115663,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001699344885,0) (0.0005652953336,0) (0.0001271657725,0) (1.32657526e-05,0) (0.001322714732,0) (4.834337921e-05,0) (5.078874012e-06,0) (0.0004853110627,0) (5.670946568e-15,0) (2.774395199e-06,1.972152263e-31) (6.172029553e-05,0) (5.814397199e-05,0) (0.0004655294022,-4.930380658e-32) (1.339042538e-14,0) (1.139058852e-06,0) (2.651781405e-05,0) (2.334202003e-05,0) (0.0001874332715,-2.958228395e-31) +(7.521436699e-06,0) (2.487726124e-06,0) (3.185938962e-06,0) (4.003174709e-06,0) (7.827739219e-06,0) (1.175670888e-06,0) (1.457353976e-06,0) (3.049591687e-06,0) (5.048909171e-08,2.568783543e-24) (1.590612012e-06,1.609124785e-23) (2.682375849e-06,-5.764414894e-24) (3.284718312e-06,6.203854594e-25) (1.43263148e-06,1.550963649e-25) (1.897206644e-08,-6.720842477e-25) (7.004686066e-07,5.11818004e-24) (1.044304049e-06,-3.231174268e-25) (1.672429076e-06,0) (6.003570143e-07,8.271806126e-25) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,-3.155443621e-30) (0.0004448148634,6.310887242e-30) (-9.565713795e-05,1.029370554e-14) (3.485412968e-05,-1.023797789e-14) (0.0010438788,-5.572765633e-17) (-3.635078475e-05,1.089033375e-14) (1.331622219e-05,-1.083246436e-14) (0.0003830055394,-5.786938279e-17) (-2.848348185e-15,-1.388191666e-19) (4.162623539e-06,2.367315108e-15) (1.327559777e-05,-5.945058718e-15) (-8.528709815e-05,3.98658355e-15) (0.0003765412857,-4.087011207e-16) (-8.229297777e-15,-3.646221352e-19) (1.716943454e-06,2.411501735e-15) (5.343838064e-06,-6.246511632e-15) (-3.496510539e-05,4.239624517e-15) (0.0001515559446,-4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,2.741514604e-07) (-2.780116483e-06,-6.455501517e-06) (-7.838840513e-06,6.181350057e-06) (-1.61552776e-07,1.190893908e-07) (-9.323685179e-07,-2.408299986e-06) (-3.148837626e-06,2.289210596e-06) (4.469778006e-08,1.504883457e-07) (1.26676856e-06,1.046269265e-07) (-8.328059922e-07,-3.050222055e-07) (-4.092802746e-06,-1.369814789e-06) (1.671585455e-06,1.419721722e-06) (1.781827059e-08,6.178672245e-08) (5.435245616e-07,4.675798968e-08) (-2.634292994e-07,-9.375785702e-08) (-1.60734289e-06,-1.092677106e-06) (2.465845742e-07,1.077890251e-06) +(0,0) (0,0) (-2.024388139e-12,-0.01754455146) (4.181890806e-12,-0.007443043734) (-2.262288214e-13,0.002330599262) (6.414121631e-13,0.001357612187) (-1.452340376e-12,0.001950473409) (9.467343129e-14,-0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,-0.03618709099) (2.697252669e-14,-0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012155158e-05,-9.336432636e-05) (-2.297215943e-05,-3.042472648e-05) (4.685860845e-08,9.517319326e-08) (-1.668578539e-05,2.511282975e-06) (2.59611055e-05,-8.036389655e-05) (-3.816851651e-09,1.90234778e-08) (-6.59413449e-06,8.655407409e-07) (9.998297787e-06,-3.04310274e-05) (1.184799872e-07,-1.056362703e-07) (1.186276746e-06,-6.777499395e-07) (2.950446186e-08,-7.810129287e-08) (-5.76833804e-06,-9.419931895e-06) (1.281309476e-05,-1.168117099e-05) (4.588000485e-08,-4.250210784e-08) (5.277564843e-07,-3.074518553e-07) (-1.416452721e-08,4.128237912e-09) (-2.950353115e-06,-6.886971124e-06) (6.040699198e-06,-2.242389439e-06) +(0,0) (0,0) (-0.005773297248,-0.001085539323) (0.00571609262,0.001379014446) (-0.0006951952716,0.001799916802) (0.0005650433465,7.742816862e-05) (-0.0005043118189,-0.0002565965133) (4.720390306e-05,-9.07646126e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001520061568,0.0008773681614) (-0.0004978043886,0.0002871388274) (3.777996285e-06,-2.058890319e-06) (9.788133901e-05,-5.652966743e-05) (-0.0001373008054,7.9538258e-05) (1.450444915e-06,-7.126998011e-07) (3.700141872e-05,-2.138104225e-05) (-5.093868176e-05,2.967752788e-05) (-4.959570183e-15,7.561817459e-13) (-1.709316227e-05,9.88622697e-06) (3.690797863e-05,-2.135176004e-05) (-2.260223605e-05,1.293105702e-05) (0.0001529662259,-8.827543049e-05) (-1.004876182e-14,1.74482951e-12) (-7.059472203e-06,4.092624187e-06) (1.557102849e-05,-9.033571511e-06) (-9.440103444e-06,5.338056848e-06) (6.246700819e-05,-3.602768019e-05) +(-0.000944479054,0.002214483209) (-1.168954479e-05,2.758085064e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.0008500596729,1.395115192e-14) (-0.0003303931097,1.321857004e-14) (6.278742745e-07,6.267371997e-15) (1.508336107e-06,-1.829707832e-14) (-0.0007955499976,-8.763968249e-15) (2.638376718e-07,6.633341259e-15) (5.85025715e-07,-1.938064798e-14) (-0.0003223495585,-7.571202097e-15) (2.037825746e-15,-1.279206619e-19) (-1.243278326e-06,5.349347949e-15) (1.777719935e-06,3.844960139e-15) (9.187079385e-06,3.340764983e-15) (-0.0003238706207,-6.12567423e-15) (5.892564269e-15,-3.456051733e-19) (-5.39163517e-07,5.385811883e-15) (7.135796431e-07,3.765088724e-15) (3.990946276e-06,3.584746342e-15) (-0.0001398980045,-5.217450273e-15) +(2.184072547e-05,1.328566161e-07) (7.98125124e-06,-7.306342835e-09) (-2.353317487e-07,-2.431358997e-07) (8.89348769e-06,-5.889722967e-06) (1.368174814e-05,6.080660701e-06) (-9.52595112e-08,-1.163421003e-07) (3.483016518e-06,-2.340901803e-06) (5.851874148e-06,2.448645606e-06) (-8.904308778e-08,-1.862177347e-09) (-1.575009145e-07,-2.041408412e-07) (-4.182973373e-07,3.929932664e-07) (5.261261828e-06,-1.934800189e-06) (4.914717562e-07,1.551016991e-06) (-3.785085941e-08,-1.286475674e-10) (-7.066595277e-08,-8.72698674e-08) (-1.727701374e-07,1.345678508e-07) (2.079943364e-06,-1.093768337e-06) (9.353131396e-07,1.037909249e-06) +(0,0) (0,0) (0.1694498108,0) (-0.164834733,0) (-0.0046150778,0) (0.003098423631,0) (-0.002121086697,0) (-0.0009773369338,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001506930239,1.051064969e-13) (0.0005012876667,1.210199267e-13) (3.252694177e-05,1.903334618e-14) (-9.99427541e-05,-3.755176299e-14) (0.001175300936,-8.391686018e-14) (1.236700242e-05,2.013420008e-14) (-3.797622396e-05,-3.981209702e-14) (0.000431281392,-8.71025428e-14) (-4.492290058e-15,-5.108271322e-20) (-4.381157595e-06,1.419353245e-14) (-1.902610263e-05,-4.116223754e-15) (-3.881335348e-05,8.189939113e-15) (0.0004101039919,-6.692950174e-14) (-1.245536538e-14,-2.367029216e-19) (-1.845846564e-06,1.433977071e-14) (-7.458711811e-06,-4.403933919e-15) (-1.653394432e-05,8.760466044e-15) (0.0001651886852,-6.698363681e-14) +(-2.003295385e-05,7.44423399e-05) (-6.514395052e-06,2.465403487e-05) (9.239836074e-07,-9.251150332e-07) (-1.431917237e-05,-3.227521164e-05) (-1.064377077e-06,-4.92444156e-05) (3.961344705e-07,-3.661838786e-07) (-5.649364548e-06,-1.15785494e-05) (-1.372201324e-06,-1.935529002e-05) (2.280251171e-07,-3.053268573e-07) (4.078376831e-07,7.060455894e-07) (1.056705235e-06,1.661036676e-06) (-2.573322934e-06,1.49414439e-05) (-2.046729951e-06,4.370276278e-06) (9.88697933e-08,-1.296933022e-07) (1.816535076e-07,2.975472314e-07) (4.141876113e-07,6.018640503e-07) (-2.328660063e-07,6.309697042e-06) (-1.439856402e-06,3.698707777e-06) +(0,0) (0,0) (0.09595851645,0) (0.2265907446,0) (-0.3225492611,0) (0.001027662692,0) (0.006060369352,0) (-0.007088032044,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001337166288,3.155443621e-30) (0.0004448148634,-6.310887242e-30) (-9.565713795e-05,-1.029370554e-14) (3.485412968e-05,1.023797789e-14) (0.0010438788,5.572765633e-17) (-3.635078475e-05,-1.089033375e-14) (1.331622219e-05,1.083246436e-14) (0.0003830055394,5.786938279e-17) (-2.848334632e-15,1.388191666e-19) (4.162623539e-06,-2.367315108e-15) (1.327559777e-05,5.945058718e-15) (-8.528709815e-05,-3.98658355e-15) (0.0003765412857,4.087011207e-16) (-8.229297777e-15,3.646221352e-19) (1.716943454e-06,-2.411501735e-15) (5.343838064e-06,6.246511632e-15) (-3.496510539e-05,-4.239624517e-15) (0.0001515559446,4.042499974e-16) +(-1.173174173e-05,0) (-3.880290635e-06,0) (-4.095921988e-07,-2.741514604e-07) (-2.780116483e-06,6.455501517e-06) (-7.838840513e-06,-6.181350057e-06) (-1.61552776e-07,-1.190893908e-07) (-9.323685179e-07,2.408299986e-06) (-3.148837626e-06,-2.289210596e-06) (4.469778006e-08,-1.504883457e-07) (1.26676856e-06,-1.046269265e-07) (-8.328059922e-07,3.050222055e-07) (-4.092802746e-06,1.369814789e-06) (1.671585455e-06,-1.419721722e-06) (1.781827059e-08,-6.178672245e-08) (5.435245616e-07,-4.675798968e-08) (-2.634292994e-07,9.375785702e-08) (-1.60734289e-06,1.092677106e-06) (2.465845742e-07,-1.077890251e-06) +(0,0) (0,0) (0.05210540448,0) (0.1187574051,0) (0.6090226715,0) (0.0002945720367,0) (0.001167828641,0) (0.03500776944,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001052178223,0) (0.0003500121988,0) (7.195558885e-05,0) (9.157492925e-05,0) (0.0008238230987,0) (2.733320619e-05,0) (3.491359954e-05,0) (0.0003022664318,0) (1.430604767e-15,-9.860761315e-32) (6.245481801e-06,-9.860761315e-32) (2.855486911e-06,-2.465190329e-32) (0.0001251013452,-3.45126646e-31) (0.0003045636627,3.45126646e-31) (5.057437216e-15,2.958228395e-31) (2.588009232e-06,2.958228395e-31) (1.076883833e-06,-1.972152263e-31) (5.23758695e-05,4.930380658e-32) (0.0001225460354,2.958228395e-31) +(1.829886623e-05,0) (6.052376612e-06,0) (7.624904163e-08,0) (1.234084223e-05,0) (1.273119943e-05,0) (3.426263494e-08,0) (4.576252571e-06,0) (4.96973533e-06,0) (4.881179852e-07,-9.564275833e-25) (1.015740713e-06,-3.282873056e-24) (2.932491235e-07,-1.783608196e-24) (5.670935863e-06,3.231174268e-24) (3.357323756e-06,-8.685396432e-24) (2.179567445e-07,9.04728795e-25) (4.248659482e-07,5.014782464e-24) (7.486855157e-08,1.395867284e-24) (2.258687365e-06,-1.240770919e-24) (2.036540451e-06,-3.30872245e-24) +(0,0) (0,0) (-1.099241284e-12,-0.009526678654) (2.191751042e-12,-0.003900938503) (4.271548499e-13,-0.004400530276) (1.838561317e-13,0.0003891496597) (-2.798649041e-13,0.0003758547668) (-4.675917989e-13,0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,-0.02847459545) (2.122391617e-14,-0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.000109373776,0.0001456272528) (3.583137798e-05,4.745569863e-05) (2.165436796e-09,-1.626790533e-08) (7.53822607e-06,-2.865145302e-05) (-8.94590791e-05,5.997709861e-05) (2.45146613e-09,-2.227450843e-09) (2.788397132e-06,-1.145065455e-05) (-3.316707843e-05,2.391603938e-05) (-2.099708033e-07,-4.46662106e-07) (9.001737584e-07,-6.177928983e-07) (-2.791793818e-10,2.760341761e-08) (1.111578782e-05,9.331810361e-06) (3.374329489e-06,-2.632715043e-05) (-9.532770745e-08,-1.893356844e-07) (3.889864278e-07,-2.737945217e-07) (3.202416713e-09,-2.313056759e-09) (7.335118092e-06,4.691344391e-06) (-1.544924858e-06,-1.176658097e-05) +(0,0) (0,0) (-0.003134896197,-0.0005894470608) (0.00299583431,0.0007227487492) (0.00131263572,-0.003398520076) (0.0001619655658,2.219422141e-05) (-9.718051026e-05,-4.944595617e-05) (-0.0002331399385,0.0004482861549) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001196093331,0.0006903761196) (-0.0003917081531,0.0002259413986) (-2.841899237e-06,1.54874658e-06) (0.0002571711525,-0.0001485247327) (-0.0001083569998,6.277113221e-05) (-1.090631474e-06,5.358995889e-07) (9.701345456e-05,-5.605862798e-05) (-4.020060284e-05,2.342138568e-05) (2.472509502e-15,-3.798042406e-13) (-2.564609383e-05,1.483301339e-05) (7.938644405e-06,-4.592612127e-06) (3.315355071e-05,-1.896761248e-05) (0.0001237260184,-7.140117023e-05) (6.128112273e-15,-1.072312545e-12) (-1.064099064e-05,6.168956339e-06) (3.137854976e-06,-1.820434486e-06) (1.414077322e-05,-7.996125442e-06) (5.05099567e-05,-2.913148266e-05) +(0.001473173913,-0.003454093428) (1.823304854e-05,-4.301989491e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-3.073369271e-12,-0.05475639745) (-2.298249668e-13,-0.001163347614) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.745507745e-13,-0.0230047579) (-3.345332529e-14,-0.0003354043926) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0001316010582,-0.0001730202177) (4.719344493e-05,-6.262294536e-05) (4.519028303e-08,-5.711350518e-08) (1.910649511e-05,1.705015571e-05) (-6.749216419e-05,-0.0001071825063) (7.477779824e-10,-1.451711457e-08) (7.979649417e-06,7.288814279e-06) (-2.727059995e-05,-4.450298833e-05) (4.000715671e-08,-8.067961321e-08) (-1.541872643e-08,-2.767095688e-07) (3.739052008e-08,3.900001586e-08) (7.12896119e-06,-1.245013658e-05) (-1.166866017e-05,5.412850993e-06) (1.666657866e-08,-3.282419505e-08) (-8.45933864e-09,-1.254389648e-07) (-1.154750606e-08,4.182690836e-10) (4.482863104e-06,-7.872116711e-06) (-6.706290426e-06,4.616626192e-06) +(0,0) (0,0) (-3.574796693e-12,0.03098131397) (-3.042140382e-12,-0.00541448473) (-3.236912117e-15,-3.334652474e-05) (1.933870538e-12,-0.004093227976) (5.083089287e-13,0.0006826519903) (1.305409463e-14,4.426198274e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-2.140675696e-12,0.04078133152) (-9.245860848e-14,0.0005088910162) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0004726934192,0.0006043753589) (0.0001547416424,0.0001970355262) (2.236160812e-07,1.708611603e-07) (6.618596498e-05,-5.295934623e-05) (-0.0002245129371,0.0003510429903) (5.214913651e-08,-4.470559756e-10) (2.552946888e-05,-2.119081374e-05) (-8.398635774e-05,0.0001357770582) (1.813072306e-07,3.399995689e-07) (-6.79948831e-08,8.73769186e-07) (1.553466833e-07,-1.010485649e-07) (1.954284301e-05,3.352174778e-05) (-3.632752486e-05,-1.165744445e-05) (6.941991832e-08,1.426106139e-07) (-2.543402913e-08,3.894818368e-07) (-8.781307956e-10,3.854033352e-08) (1.234914694e-05,2.097449532e-05) (-2.027785628e-05,-1.11249509e-05) +(0,0) (0,0) (-2.024388139e-12,0.01754455146) (4.181890806e-12,0.007443043734) (-2.262288214e-13,-0.002330599262) (6.414121631e-13,-0.001357612187) (-1.452340376e-12,-0.001950473409) (9.467343129e-14,0.0003210053167) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(6.244874297e-13,0.03618709099) (2.697252669e-14,0.0004515616539) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-7.012155158e-05,9.336432636e-05) (-2.297215943e-05,3.042472648e-05) (4.685860845e-08,-9.517319326e-08) (-1.668578539e-05,-2.511282975e-06) (2.59611055e-05,8.036389655e-05) (-3.816851651e-09,-1.90234778e-08) (-6.59413449e-06,-8.655407409e-07) (9.998297787e-06,3.04310274e-05) (1.184799872e-07,1.056362703e-07) (1.186276746e-06,6.777499395e-07) (2.950446186e-08,7.810129287e-08) (-5.76833804e-06,9.419931895e-06) (1.281309476e-05,1.168117099e-05) (4.588000485e-08,4.250210784e-08) (5.277564843e-07,3.074518553e-07) (-1.416452721e-08,-4.128237912e-09) (-2.950353115e-06,6.886971124e-06) (6.040699198e-06,2.242389439e-06) +(0,0) (0,0) (-1.099241284e-12,0.009526678654) (2.191751042e-12,0.003900938503) (4.271548499e-13,0.004400530276) (1.838561317e-13,-0.0003891496597) (-2.798649041e-13,-0.0003758547668) (-4.675917989e-13,-0.001585444316) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(4.913914448e-13,0.02847459545) (2.122391617e-14,0.0003553210569) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.000109373776,-0.0001456272528) (3.583137798e-05,-4.745569863e-05) (2.165436796e-09,1.626790533e-08) (7.53822607e-06,2.865145302e-05) (-8.94590791e-05,-5.997709861e-05) (2.45146613e-09,2.227450843e-09) (2.788397132e-06,1.145065455e-05) (-3.316707843e-05,-2.391603938e-05) (-2.099708033e-07,4.46662106e-07) (9.001737584e-07,6.177928983e-07) (-2.791793818e-10,-2.760341761e-08) (1.111578782e-05,-9.331810361e-06) (3.374329489e-06,2.632715043e-05) (-9.532770745e-08,1.893356844e-07) (3.889864278e-07,2.737945217e-07) (3.202416713e-09,2.313056759e-09) (7.335118092e-06,-4.691344391e-06) (-1.544924858e-06,1.176658097e-05) +(0.003323277612,0) (0.001069070815,0) (0.00174180792,0) (0.0001281378722,0) (3.179629858e-05,0) (0.0005140931207,0) (0.0001209653547,0) (7.18021662e-05,0) (0,-4.930380658e-32) (-2.710505431e-20,0) (7.588732639e-10,0) (1.442267609e-08,0) (0.0005156165052,0) (0,0) (4.235164736e-21,-1.972152263e-30) (8.97091465e-10,0) (2.352707791e-08,0) (0.0002128748988,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.001812676218,0) (0.0005842219029,0) (3.532291747e-09,0) (7.112404456e-05,0) (0.000911161533,0) (3.202095655e-10,0) (3.03507392e-05,0) (0.0003364428726,0) (4.990489648e-07,-8.271806126e-25) (1.173508992e-06,-4.756288522e-24) (2.598563963e-09,-4.135903063e-24) (3.714438472e-05,-1.938704561e-26) (0.0002098412308,-1.654361225e-24) (2.061664726e-07,-8.271806126e-25) (5.325771156e-07,2.067951531e-25) (2.084413822e-10,-1.861156378e-24) (3.356492395e-05,-6.203854594e-25) (6.915611245e-05,-1.654361225e-24) +(-0.001065306375,-0.0004124280613) (-0.0003152598716,-0.0001224831858) (0.0001077714067,-0.0005731679656) (-2.3740822e-05,9.840704582e-05) (2.455621307e-05,9.484529058e-06) (2.93200734e-05,-0.0002139675086) (-1.591372026e-05,3.127664176e-05) (2.030214286e-05,1.055852447e-05) (0,1.32348898e-23) (2.117582368e-22,-8.470329473e-22) (2.484213661e-08,-5.804871795e-08) (5.11794513e-07,2.192027156e-07) (-1.374438912e-05,-3.200414282e-08) (-2.117582368e-22,0) (-7.940933881e-23,0) (1.769423358e-08,-5.68535415e-08) (5.751443635e-07,1.793356705e-07) (-8.117141674e-06,3.418186447e-07) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,-0.0323693011) (-0.0002293683958,-0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.006795422316,0.01755265315) (0.0001332844561,0.0003430612962) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0009663293567,0.000557758073) (0.0003697518979,0.0002132767987) (-2.479801e-08,-1.35141435e-08) (4.235881379e-06,2.446359655e-06) (0.0001046382544,6.061686563e-05) (-1.052747575e-08,-5.172847492e-09) (1.625594824e-06,9.39339898e-07) (4.287160337e-05,2.497754477e-05) (3.555927322e-15,5.410131537e-13) (5.105327932e-06,2.95278483e-06) (4.942304705e-06,2.859189489e-06) (2.434700456e-06,1.392926363e-06) (-0.0001315692818,-7.592744687e-05) (7.213322414e-15,1.249383666e-12) (2.216852204e-06,1.285187123e-06) (2.079248808e-06,1.20628146e-06) (1.077501276e-06,6.092902592e-07) (-5.766194006e-05,-3.325636998e-05) +(0.001733237864,0.004133350463) (2.40958005e-05,5.670819824e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (-0.01019486506,0.00191691618) (-0.004158204266,0.001003171945) (-9.946946565e-06,-2.57534494e-05) (0.001703617024,-0.0002334474815) (0.0001765055937,-8.9806977e-05) (6.508734384e-06,1.251512516e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001713045537,-0.0009887570644) (-0.0005610046357,-0.0003235933974) (-1.284657557e-06,-7.000983619e-07) (-0.0002806706318,-0.000162096449) (-0.0001545866867,-8.955195664e-05) (-4.934599317e-07,-2.424695986e-07) (-0.0001055234843,-6.097609649e-05) (-5.735923718e-05,-3.341822561e-05) (-7.750405677e-15,-1.192626849e-12) (1.799053821e-05,1.04052451e-05) (-5.289516915e-05,-3.06005639e-05) (-1.028606432e-05,-5.88480201e-06) (0.0001666007481,9.614379032e-05) (-1.504199563e-14,-2.640869479e-12) (7.589476826e-06,4.399886433e-06) (-2.173340822e-05,-1.260869167e-05) (-4.46394035e-06,-2.524206165e-06) (6.808603243e-05,3.926843738e-05) +(-0.01566451268,0.00221165718) (-0.0001948641577,2.796746384e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (-0.005773297248,0.001085539323) (0.00571609262,-0.001379014446) (-0.0006951952716,-0.001799916802) (0.0005650433465,-7.742816862e-05) (-0.0005043118189,0.0002565965133) (4.720390306e-05,9.07646126e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001520061568,-0.0008773681614) (-0.0004978043886,-0.0002871388274) (3.777996285e-06,2.058890319e-06) (9.788133901e-05,5.652966743e-05) (-0.0001373008054,-7.9538258e-05) (1.450444915e-06,7.126998011e-07) (3.700141872e-05,2.138104225e-05) (-5.093868176e-05,-2.967752788e-05) (-4.959570183e-15,-7.561817409e-13) (-1.709316227e-05,-9.88622697e-06) (3.690797863e-05,2.135176004e-05) (-2.260223605e-05,-1.293105702e-05) (0.0001529662259,8.827543049e-05) (-1.004876097e-14,-1.74482951e-12) (-7.059472203e-06,-4.092624187e-06) (1.557102849e-05,9.033571511e-06) (-9.440103444e-06,-5.338056848e-06) (6.246700819e-05,3.602768019e-05) +(-0.000944479054,-0.002214483209) (-1.168954479e-05,-2.758085064e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0,0) (0,0) (-0.003134896197,0.0005894470608) (0.00299583431,-0.0007227487492) (0.00131263572,0.003398520076) (0.0001619655658,-2.219422141e-05) (-9.718051026e-05,4.944595617e-05) (-0.0002331399385,-0.0004482861549) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001196093331,-0.0006903761196) (-0.0003917081531,-0.0002259413986) (-2.841899237e-06,-1.54874658e-06) (0.0002571711525,0.0001485247327) (-0.0001083569998,-6.277113221e-05) (-1.090631474e-06,-5.358995889e-07) (9.701345456e-05,5.605862798e-05) (-4.020060284e-05,-2.342138568e-05) (2.472516278e-15,3.798042271e-13) (-2.564609383e-05,-1.483301339e-05) (7.938644405e-06,4.592612127e-06) (3.315355071e-05,1.896761248e-05) (0.0001237260184,7.140117023e-05) (6.128107191e-15,1.072312543e-12) (-1.064099064e-05,-6.168956339e-06) (3.137854976e-06,1.820434486e-06) (1.414077322e-05,7.996125442e-06) (5.05099567e-05,2.913148266e-05) +(0.001473173913,0.003454093428) (1.823304854e-05,4.301989491e-05) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.001065306375,0.0004124280613) (-0.0003152598716,0.0001224831858) (0.0001077714067,0.0005731679656) (-2.3740822e-05,-9.840704582e-05) (2.455621307e-05,-9.484529058e-06) (2.93200734e-05,0.0002139675086) (-1.591372026e-05,-3.127664176e-05) (2.030214286e-05,-1.055852447e-05) (-1.058791184e-22,-2.64697796e-23) (-2.117582368e-22,8.470329473e-22) (2.484213661e-08,5.804871795e-08) (5.11794513e-07,-2.192027156e-07) (-1.374438912e-05,3.200414282e-08) (0,0) (-1.32348898e-22,4.235164736e-22) (1.769423358e-08,5.68535415e-08) (5.751443635e-07,-1.793356705e-07) (-8.117141674e-06,-3.418186447e-07) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(-0.01868331836,0.0323693011) (-0.0002293683958,0.0003976494403) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) +(0.0003926769682,0) (0.0001070003183,0) (0.0001952776704,0) (7.997302531e-05,0) (2.179385408e-05,0) (9.072628978e-05,0) (1.018039269e-05,0) (7.293086984e-06,0) (6.6174449e-24,-7.754818243e-25) (1.058791184e-22,-1.240770919e-24) (5.253558923e-06,5.169878828e-26) (2.149278346e-05,-1.033975766e-25) (3.663755034e-07,0) (0,1.178732373e-23) (2.64697796e-23,2.067951531e-25) (3.952117728e-06,3.877409121e-26) (1.542700385e-05,0) (3.100639357e-07,-4.135903063e-25) +(0.001812676218,0) (0.0005842219029,0) (1.455760061e-07,0) (0.000963108556,0) (1.903497787e-05,0) (5.40245945e-08,0) (0.0003595785109,0) (7.161396531e-06,0) (1.008356953e-10,8.271806126e-25) (0.0001405400645,2.481541838e-24) (2.945702913e-05,-4.135903063e-25) (1.166197091e-05,6.6174449e-24) (6.700160668e-05,3.722312756e-24) (2.273663116e-10,8.271806126e-25) (5.845678685e-05,-2.481541838e-24) (1.222055263e-05,-6.203854594e-25) (5.038570089e-06,4.549493369e-24) (2.77438515e-05,0) +(0.7705943424,0) (0.0003607104378,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) diff --git a/tests/09_DeePKS/NO_KP_deepks_UT/vdrpre_ref.dat b/tests/09_DeePKS/NO_KP_deepks_UT/vdrpre_ref.dat new file mode 100644 index 0000000000..5a794e9ba1 --- /dev/null +++ b/tests/09_DeePKS/NO_KP_deepks_UT/vdrpre_ref.dat @@ -0,0 +1,216 @@ +0.9022006019 0.001265938283 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0006867671573 0.0003118737213 5.478741969e-09 2.484389374e-08 0.0007682472119 2.546730763e-09 9.802916105e-09 0.0003437670443 2.902814201e-15 2.474974783e-07 1.106742305e-06 6.746724226e-07 0.000344401489 6.86562035e-15 1.123246758e-07 4.728420013e-07 3.041028689e-07 0.0001597069346 +2.606909815e-05 1.052486136e-05 1.50160704e-06 9.220031973e-06 1.760750571e-05 6.598984231e-07 3.84839452e-06 8.0970703e-06 1.625045466e-08 6.544979468e-08 1.123332837e-06 5.541294868e-06 7.884846338e-07 6.573341473e-09 2.967925929e-08 6.405630384e-07 2.445001313e-06 9.585207486e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.001217455938 -0.0004731891963 2.838254859e-07 -1.646163048e-06 -0.001134965332 1.193742549e-07 -6.363442288e-07 -0.0004599365052 -6.399057931e-15 8.721502128e-07 -1.184494378e-05 -2.850339931e-06 -0.0004361013826 -1.451211434e-14 3.845477493e-07 -4.942394664e-06 -1.259856574e-06 -0.0001885786623 +-2.336997728e-05 -8.620275597e-06 9.817825478e-08 5.084310361e-06 -2.466390723e-05 1.420505313e-07 1.623034791e-06 -1.115234346e-05 -4.043179797e-08 -2.05138522e-07 7.187037426e-07 -7.485119781e-06 1.719364356e-06 -1.709340046e-08 -9.133145593e-08 1.259848231e-07 -3.269905813e-06 1.2237451e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.001080302854 -0.0004198818397 -8.346906342e-07 5.740844431e-07 -0.001008053523 -3.508811352e-07 2.231317455e-07 -0.000408453118 -4.057313125e-15 -8.286469788e-07 8.264893354e-06 -6.263236738e-06 -0.0004004110629 -9.588198305e-15 -3.576931874e-07 3.541007804e-06 -2.664277624e-06 -0.0001730155867 +-1.400249322e-05 -5.116927849e-06 2.138336521e-06 -5.084421801e-06 -1.137644059e-05 8.535405516e-07 -1.941555583e-06 -4.835683466e-06 -7.579709164e-09 -1.753976932e-07 1.596704523e-06 -4.264485678e-06 -4.111833037e-07 -3.057891808e-09 -8.079752589e-08 7.764209185e-07 -2.00927223e-06 -4.360917395e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.0008500596729 -0.0003303931097 6.278742745e-07 1.508336107e-06 -0.0007955499976 2.638376718e-07 5.85025715e-07 -0.0003223495585 2.037849429e-15 -1.243278326e-06 1.777719935e-06 9.187079385e-06 -0.0003238706207 5.892578586e-15 -5.39163517e-07 7.135796431e-07 3.990946276e-06 -0.0001398980045 +2.184072547e-05 7.98125124e-06 -2.353317487e-07 8.89348769e-06 1.368174814e-05 -9.52595112e-08 3.483016518e-06 5.851874148e-06 -8.904308778e-08 -1.575009145e-07 -4.182973373e-07 5.261261828e-06 4.914717562e-07 -3.785085941e-08 -7.066595277e-08 -1.727701374e-07 2.079943364e-06 9.353131396e-07 +-3.073372624e-12 -2.29825038e-13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-7.745521831e-13 -3.345334583e-14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0001315895729 4.717910841e-05 4.781718383e-08 1.907578605e-05 -6.747969415e-05 3.378827264e-09 7.946815395e-06 -2.725738048e-05 3.886732721e-08 -1.324556256e-08 4.470774301e-08 7.140027788e-06 -1.166849528e-05 1.554394936e-08 -6.315634541e-09 -2.423950556e-09 4.493785361e-06 -6.706325698e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-5.132572958e-18 -1.990408256e-17 -7.970918395e-18 9.27382219e-18 -5.85722054e-18 -2.261851917e-17 2.630143361e-17 -1.659843564e-17 1.773319405e-17 2.570011505e-17 -8.895178216e-18 4.431238916e-18 -1.951256555e-18 4.191218274e-17 6.081039168e-17 -2.159871785e-17 1.097571273e-17 -4.606530979e-18 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.001217455938 -0.0004731891963 2.838254859e-07 -1.646163048e-06 -0.001134965332 1.193742549e-07 -6.363442288e-07 -0.0004599365052 -6.399064707e-15 8.721502128e-07 -1.184494378e-05 -2.850339931e-06 -0.0004361013826 -1.451212027e-14 3.845477493e-07 -4.942394664e-06 -1.259856574e-06 -0.0001885786623 +-2.336997728e-05 -8.620275597e-06 9.817825478e-08 5.084310361e-06 -2.466390723e-05 1.420505313e-07 1.623034791e-06 -1.115234346e-05 -4.043179797e-08 -2.05138522e-07 7.187037426e-07 -7.485119781e-06 1.719364356e-06 -1.709340046e-08 -9.133145593e-08 1.259848231e-07 -3.269905813e-06 1.2237451e-06 +0 0 0.5510606563 0.2287898526 3.497233206e-05 0.03259042882 0.003852456277 2.728501408e-05 0 0 0 0 0 0 0 0 0 0 +0.002158226331 0.0007179444763 1.470354086e-05 0.0001090752041 0.001676734109 5.595492446e-06 4.130750209e-05 0.0006153632011 1.410627996e-14 3.07334846e-06 0.0001267708775 1.204204804e-05 0.0005522171709 3.067480244e-14 1.316513672e-06 5.166052285e-05 5.219413394e-06 0.0002226698044 +0.0003247731928 0.0001074385849 2.242104943e-05 0.000101024546 0.0001905669123 8.493601038e-06 3.626944176e-05 7.576061162e-05 2.975099223e-07 6.545291938e-07 1.321630137e-05 4.053453297e-05 6.936601868e-06 1.220223247e-07 2.860486991e-07 7.129718703e-06 1.765029723e-05 7.735483806e-06 +0 0 0.3120626857 -0.3145069131 0.002444227455 0.01080935722 -0.01100723887 0.0001978816593 0 0 0 0 0 0 0 0 0 0 +0.001915090305 0.0006370640959 -4.324103528e-05 -3.803898884e-05 0.001489241722 -1.644703661e-05 -1.448432252e-05 0.0005464819933 8.944046455e-15 -2.920048495e-06 -8.845527695e-05 2.646077292e-05 0.0005070239929 2.026693513e-14 -1.22457607e-06 -3.701248625e-05 1.103773763e-05 0.0002042932449 +1.284349739e-05 4.176499206e-06 -1.637198807e-06 -1.365739124e-05 2.456488526e-05 -5.950508007e-07 -4.942325707e-06 9.785063172e-06 1.150138939e-07 4.359031483e-07 -1.273242959e-06 5.466313628e-06 -2.867123006e-06 4.484840704e-08 1.996404585e-07 -7.036287942e-07 3.2181333e-06 -2.131972104e-06 +0 0 0.1694498108 -0.164834733 -0.0046150778 0.003098423631 -0.002121086697 -0.0009773369338 0 0 0 0 0 0 0 0 0 0 +0.001506930239 0.0005012876667 3.252694177e-05 -9.99427541e-05 0.001175300936 1.236700242e-05 -3.797622396e-05 0.000431281392 -4.492305511e-15 -4.381157595e-06 -1.902610263e-05 -3.881335348e-05 0.0004101039919 -1.245536436e-14 -1.845846564e-06 -7.458711811e-06 -1.653394432e-05 0.0001651886852 +-2.003295385e-05 -6.514395052e-06 9.239836074e-07 -1.431917237e-05 -1.064377077e-06 3.961344705e-07 -5.649364548e-06 -1.372201324e-06 2.280251171e-07 4.078376831e-07 1.056705235e-06 -2.573322934e-06 -2.046729951e-06 9.88697933e-08 1.816535076e-07 4.141876113e-07 -2.328660063e-07 -1.439856402e-06 +0 0 -3.574794795e-12 -3.042140714e-12 -3.236914159e-15 1.933870287e-12 5.083089705e-13 1.305409734e-14 0 0 0 0 0 0 0 0 0 0 +-2.140673199e-12 -9.245857732e-14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0004727972201 0.0001548575828 1.84438241e-07 6.620197036e-05 -0.0002245318264 1.202581498e-08 2.554697268e-05 -8.400550234e-05 1.898676241e-07 -7.43357333e-08 1.505575469e-07 1.948321231e-05 -3.63234664e-05 7.771086585e-08 -3.158088173e-08 -8.120649524e-09 1.22908458e-05 -2.027677423e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1.418517902e-17 -5.501103435e-17 -2.203738349e-17 2.563968049e-17 -1.617827486e-17 -6.253254365e-17 7.271491371e-17 -4.584548943e-17 4.900012606e-17 7.10026153e-17 -2.455600663e-17 1.22294149e-17 -5.395929233e-18 1.158057803e-16 1.679949732e-16 -5.962219302e-17 3.028949528e-17 -1.273810392e-17 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.001080302854 -0.0004198818397 -8.346906342e-07 5.740844431e-07 -0.001008053523 -3.508811352e-07 2.231317455e-07 -0.000408453118 -4.057301266e-15 -8.286469788e-07 8.264893354e-06 -6.263236738e-06 -0.0004004110629 -9.588198305e-15 -3.576931874e-07 3.541007804e-06 -2.664277624e-06 -0.0001730155867 +-1.400249322e-05 -5.116927849e-06 2.138336521e-06 -5.084421801e-06 -1.137644059e-05 8.535405516e-07 -1.941555583e-06 -4.835683466e-06 -7.579709164e-09 -1.753976932e-07 1.596704523e-06 -4.264485678e-06 -4.111833037e-07 -3.057891808e-09 -8.079752589e-08 7.764209185e-07 -2.00927223e-06 -4.360917395e-07 +0 0 0.3120626857 -0.3145069131 0.002444227455 0.01080935722 -0.01100723887 0.0001978816593 0 0 0 0 0 0 0 0 0 0 +0.001915090305 0.0006370640959 -4.324103528e-05 -3.803898884e-05 0.001489241722 -1.644703661e-05 -1.448432252e-05 0.0005464819933 8.944046455e-15 -2.920048495e-06 -8.845527695e-05 2.646077292e-05 0.0005070239929 2.026693513e-14 -1.22457607e-06 -3.701248625e-05 1.103773763e-05 0.0002042932449 +1.284349739e-05 4.176499206e-06 -1.637198807e-06 -1.365739124e-05 2.456488526e-05 -5.950508007e-07 -4.942325707e-06 9.785063172e-06 1.150138939e-07 4.359031483e-07 -1.273242959e-06 5.466313628e-06 -2.867123006e-06 4.484840704e-08 1.996404585e-07 -7.036287942e-07 3.2181333e-06 -2.131972104e-06 +0 0 0.1767194204 0.4323382235 0.1708278373 0.003585169254 0.0314498852 0.001435115663 0 0 0 0 0 0 0 0 0 0 +0.001699344885 0.0005652953336 0.0001271657725 1.32657526e-05 0.001322714732 4.834337921e-05 5.078874012e-06 0.0004853110627 5.670955077e-15 2.774395199e-06 6.172029553e-05 5.814397199e-05 0.0004655294022 1.33904227e-14 1.139058852e-06 2.651781405e-05 2.334202003e-05 0.0001874332715 +7.521436699e-06 2.487726124e-06 3.185938962e-06 4.003174709e-06 7.827739219e-06 1.175670888e-06 1.457353976e-06 3.049591687e-06 5.048909171e-08 1.590612012e-06 2.682375849e-06 3.284718312e-06 1.43263148e-06 1.897206644e-08 7.004686066e-07 1.044304049e-06 1.672429076e-06 6.003570143e-07 +0 0 0.09595851645 0.2265907446 -0.3225492611 0.001027662692 0.006060369352 -0.007088032044 0 0 0 0 0 0 0 0 0 0 +0.001337166288 0.0004448148634 -9.565713795e-05 3.485412968e-05 0.0010438788 -3.635078475e-05 1.331622219e-05 0.0003830055394 -2.848334861e-15 4.162623539e-06 1.327559777e-05 -8.528709815e-05 0.0003765412857 -8.229299398e-15 1.716943454e-06 5.343838064e-06 -3.496510539e-05 0.0001515559446 +-1.173174173e-05 -3.880290635e-06 -4.095921988e-07 -2.780116483e-06 -7.838840513e-06 -1.61552776e-07 -9.323685179e-07 -3.148837626e-06 4.469778006e-08 1.26676856e-06 -8.328059922e-07 -4.092802746e-06 1.671585455e-06 1.781827059e-08 5.435245616e-07 -2.634292994e-07 -1.60734289e-06 2.465845742e-07 +0 0 -2.024387065e-12 4.181891261e-12 -2.262289641e-13 6.4141208e-13 -1.452340496e-12 9.467345094e-14 0 0 0 0 0 0 0 0 0 0 +6.244896456e-13 2.697255434e-14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-7.011529299e-05 -2.296520438e-05 5.371899269e-08 -1.667249067e-05 2.59529698e-05 3.33060817e-09 -6.581202288e-06 9.990354457e-06 1.218069514e-07 1.17582206e-06 4.160886911e-08 -5.776422762e-06 1.281072203e-05 4.89572234e-08 5.175080777e-07 -2.016755291e-09 -2.961076245e-06 6.040427644e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +4.138182988e-18 1.604813914e-17 6.387365728e-18 -7.478002699e-18 4.751865317e-18 1.812434711e-17 -2.12078644e-17 1.346601866e-17 -1.421272159e-17 -2.075866051e-17 7.197328462e-18 -3.632403077e-18 1.561484722e-18 -3.358923337e-17 -4.911633748e-17 1.747539003e-17 -8.991954915e-18 3.68620334e-18 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.0008500596729 -0.0003303931097 6.278742745e-07 1.508336107e-06 -0.0007955499976 2.638376718e-07 5.85025715e-07 -0.0003223495585 2.037846464e-15 -1.243278326e-06 1.777719935e-06 9.187079385e-06 -0.0003238706207 5.892578798e-15 -5.39163517e-07 7.135796431e-07 3.990946276e-06 -0.0001398980045 +2.184072547e-05 7.98125124e-06 -2.353317487e-07 8.89348769e-06 1.368174814e-05 -9.52595112e-08 3.483016518e-06 5.851874148e-06 -8.904308778e-08 -1.575009145e-07 -4.182973373e-07 5.261261828e-06 4.914717562e-07 -3.785085941e-08 -7.066595277e-08 -1.727701374e-07 2.079943364e-06 9.353131396e-07 +0 0 0.1694498108 -0.164834733 -0.0046150778 0.003098423631 -0.002121086697 -0.0009773369338 0 0 0 0 0 0 0 0 0 0 +0.001506930239 0.0005012876667 3.252694177e-05 -9.99427541e-05 0.001175300936 1.236700242e-05 -3.797622396e-05 0.000431281392 -4.49228857e-15 -4.381157595e-06 -1.902610263e-05 -3.881335348e-05 0.0004101039919 -1.245536733e-14 -1.845846564e-06 -7.458711811e-06 -1.653394432e-05 0.0001651886852 +-2.003295385e-05 -6.514395052e-06 9.239836074e-07 -1.431917237e-05 -1.064377077e-06 3.961344705e-07 -5.649364548e-06 -1.372201324e-06 2.280251171e-07 4.078376831e-07 1.056705235e-06 -2.573322934e-06 -2.046729951e-06 9.88697933e-08 1.816535076e-07 4.141876113e-07 -2.328660063e-07 -1.439856402e-06 +0 0 0.09595851645 0.2265907446 -0.3225492611 0.001027662692 0.006060369352 -0.007088032044 0 0 0 0 0 0 0 0 0 0 +0.001337166288 0.0004448148634 -9.565713795e-05 3.485412968e-05 0.0010438788 -3.635078475e-05 1.331622219e-05 0.0003830055394 -2.848328932e-15 4.162623539e-06 1.327559777e-05 -8.528709815e-05 0.0003765412857 -8.229297493e-15 1.716943454e-06 5.343838064e-06 -3.496510539e-05 0.0001515559446 +-1.173174173e-05 -3.880290635e-06 -4.095921988e-07 -2.780116483e-06 -7.838840513e-06 -1.61552776e-07 -9.323685179e-07 -3.148837626e-06 4.469778006e-08 1.26676856e-06 -8.328059922e-07 -4.092802746e-06 1.671585455e-06 1.781827059e-08 5.435245616e-07 -2.634292994e-07 -1.60734289e-06 2.465845742e-07 +0 0 0.05210540448 0.1187574051 0.6090226715 0.0002945720367 0.001167828641 0.03500776944 0 0 0 0 0 0 0 0 0 0 +0.001052178223 0.0003500121988 7.195558885e-05 9.157492925e-05 0.0008238230987 2.733320619e-05 3.491359954e-05 0.0003022664318 1.430611603e-15 6.245481801e-06 2.855486911e-06 0.0001251013452 0.0003045636627 5.057441713e-15 2.588009232e-06 1.076883833e-06 5.23758695e-05 0.0001225460354 +1.829886623e-05 6.052376612e-06 7.624904163e-08 1.234084223e-05 1.273119943e-05 3.426263494e-08 4.576252571e-06 4.96973533e-06 4.881179852e-07 1.015740713e-06 2.932491235e-07 5.670935863e-06 3.357323756e-06 2.179567445e-07 4.248659482e-07 7.486855157e-08 2.258687365e-06 2.036540451e-06 +0 0 -1.099240701e-12 2.191751281e-12 4.271551193e-13 1.838561078e-13 -2.798649271e-13 -4.67591896e-13 0 0 0 0 0 0 0 0 0 0 +4.913931884e-13 2.122393793e-14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.000109364014 3.582052968e-05 1.046551708e-10 7.502157814e-06 -8.944955432e-05 6.848180014e-11 2.752409044e-06 -3.315762826e-05 -2.035367526e-07 8.914534214e-07 -3.987115339e-09 1.111963695e-05 3.370813359e-06 -8.883273875e-08 3.806577397e-07 1.71613263e-10 7.336021663e-06 -1.545440185e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +3.256218813e-18 1.262782548e-17 5.098088945e-18 -5.871656417e-18 3.738870194e-18 1.44663721e-17 -1.66520966e-17 1.059536307e-17 -1.130207913e-17 -1.622609825e-17 5.683093618e-18 -2.786449526e-18 1.228179939e-18 -2.671159524e-17 -3.839120328e-17 1.380001146e-17 -6.907557868e-18 2.899380817e-18 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-3.073372624e-12 -2.29825038e-13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-7.745521831e-13 -3.345334583e-14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0001315895729 4.717910841e-05 4.781718383e-08 1.907578605e-05 -6.747969415e-05 3.378827264e-09 7.946815395e-06 -2.725738048e-05 3.886732721e-08 -1.324556256e-08 4.470774301e-08 7.140027788e-06 -1.166849528e-05 1.554394936e-08 -6.315634541e-09 -2.423950556e-09 4.493785361e-06 -6.706325698e-06 +0 0 -3.574794795e-12 -3.042140714e-12 -3.236914159e-15 1.933870287e-12 5.083089705e-13 1.305409734e-14 0 0 0 0 0 0 0 0 0 0 +-2.140673199e-12 -9.245857732e-14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0004727972201 0.0001548575828 1.84438241e-07 6.620197036e-05 -0.0002245318264 1.202581498e-08 2.554697268e-05 -8.400550234e-05 1.898676241e-07 -7.43357333e-08 1.505575469e-07 1.948321231e-05 -3.63234664e-05 7.771086585e-08 -3.158088173e-08 -8.120649524e-09 1.22908458e-05 -2.027677423e-05 +0 0 -2.024387065e-12 4.181891261e-12 -2.262289641e-13 6.4141208e-13 -1.452340496e-12 9.467345094e-14 0 0 0 0 0 0 0 0 0 0 +6.244896456e-13 2.697255434e-14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-7.011529299e-05 -2.296520438e-05 5.371899269e-08 -1.667249067e-05 2.59529698e-05 3.33060817e-09 -6.581202288e-06 9.990354457e-06 1.218069514e-07 1.17582206e-06 4.160886911e-08 -5.776422762e-06 1.281072203e-05 4.89572234e-08 5.175080777e-07 -2.016755291e-09 -2.961076245e-06 6.040427644e-06 +0 0 -1.099240701e-12 2.191751281e-12 4.271551193e-13 1.838561078e-13 -2.798649271e-13 -4.67591896e-13 0 0 0 0 0 0 0 0 0 0 +4.913931884e-13 2.122393793e-14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.000109364014 3.582052968e-05 1.046551708e-10 7.502157814e-06 -8.944955432e-05 6.848180014e-11 2.752409044e-06 -3.315762826e-05 -2.035367526e-07 8.914534214e-07 -3.987115339e-09 1.111963695e-05 3.370813359e-06 -8.883273875e-08 3.806577397e-07 1.71613263e-10 7.336021663e-06 -1.545440185e-06 +0.003323277612 0.001069070815 0.00174180792 0.0001281378722 3.179629858e-05 0.0005140931207 0.0001209653547 7.18021662e-05 -1.093392972e-21 -7.100482999e-21 7.588732639e-10 1.442267609e-08 0.0005156165052 -5.001867165e-21 -1.051673073e-21 8.97091465e-10 2.352707791e-08 0.0002128748988 +0.7705943424 0.0003607104378 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.001812923896 0.0005844950976 3.062996454e-09 7.103432144e-05 0.0009110717666 2.385078743e-10 3.025424637e-05 0.0003363576418 5.102582662e-07 1.163204356e-06 2.999921348e-09 3.708734577e-05 0.0002098111001 2.172176006e-07 5.224760625e-07 1.58837509e-10 3.348462099e-05 6.915232827e-05 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +5.106346312e-06 2.146156134e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +5.106346312e-06 2.146156134e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-5.132572958e-18 -1.990408256e-17 -7.970918395e-18 9.27382219e-18 -5.85722054e-18 -2.261851917e-17 2.630143361e-17 -1.659843564e-17 1.773319405e-17 2.570011505e-17 -8.895178216e-18 4.431238916e-18 -1.951256555e-18 4.191218274e-17 6.081039168e-17 -2.159871785e-17 1.097571273e-17 -4.606530979e-18 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1.418517902e-17 -5.501103435e-17 -2.203738349e-17 2.563968049e-17 -1.617827486e-17 -6.253254365e-17 7.271491371e-17 -4.584548943e-17 4.900012606e-17 7.10026153e-17 -2.455600663e-17 1.22294149e-17 -5.395929233e-18 1.158057803e-16 1.679949732e-16 -5.962219302e-17 3.028949528e-17 -1.273810392e-17 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +4.138182988e-18 1.604813914e-17 6.387365728e-18 -7.478002699e-18 4.751865317e-18 1.812434711e-17 -2.12078644e-17 1.346601866e-17 -1.421272159e-17 -2.075866051e-17 7.197328462e-18 -3.632403077e-18 1.561484722e-18 -3.358923337e-17 -4.911633748e-17 1.747539003e-17 -8.991954915e-18 3.68620334e-18 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +3.256218813e-18 1.262782548e-17 5.098088945e-18 -5.871656417e-18 3.738870194e-18 1.44663721e-17 -1.66520966e-17 1.059536307e-17 -1.130207913e-17 -1.622609825e-17 5.683093618e-18 -2.786449526e-18 1.228179939e-18 -2.671159524e-17 -3.839120328e-17 1.380001146e-17 -6.907557868e-18 2.899380817e-18 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +5.106346312e-06 2.146156134e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +5.106346312e-06 2.146156134e-07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0003926769682 0.0001070003183 0.0001952776704 7.997302531e-05 2.179385408e-05 9.072628978e-05 1.018039269e-05 7.293086984e-06 -1.467798842e-25 1.008349445e-22 5.253558923e-06 2.149278346e-05 3.663755034e-07 -1.387228119e-23 8.173999374e-24 3.952117728e-06 1.542700385e-05 3.100639357e-07 +0.001812923896 0.0005844950976 1.497728031e-07 0.0009629564752 1.900290306e-05 5.834527507e-08 0.000359424874 7.128907331e-06 1.000771374e-10 0.0001404156723 2.942738704e-05 1.171509414e-05 6.701665487e-05 2.25864415e-10 5.83363012e-05 1.219096745e-05 5.090961438e-06 2.775834581e-05 +0.7705943424 0.0003607104378 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-2.312291237e-14 -3.110638884e-14 5.438468261e-17 -2.982618307e-16 2.206415807e-14 6.363640413e-17 -3.213405332e-16 2.529107237e-14 -9.550850817e-20 -1.217965667e-15 1.71255535e-15 2.345068588e-16 1.969945396e-14 -2.310819258e-19 -1.291958546e-15 1.752788509e-15 2.606515523e-16 2.11609383e-14 +1.256051686e-05 5.057505566e-06 7.506714837e-07 -4.581421353e-06 -7.938644696e-06 3.291755394e-07 -1.917264218e-06 -3.606412235e-06 6.273809331e-09 -3.138430775e-09 -5.493484159e-07 2.393225358e-06 3.009295536e-07 2.46717613e-09 -1.503599046e-09 -3.198049101e-07 1.053962837e-06 4.476728593e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +4.099078804e-14 4.719604804e-14 2.817391119e-15 1.976290872e-14 -3.259634933e-14 2.982862752e-15 2.085942505e-14 -3.383770385e-14 2.105419343e-19 -4.291958945e-15 -1.832867665e-14 -9.907389741e-16 -2.494460501e-14 4.884463834e-19 -4.423068638e-15 -1.832107247e-14 -1.079843715e-15 -2.498640055e-14 +-4.386701972e-05 -1.590291767e-05 -2.906093144e-06 1.419348563e-05 2.599774795e-05 -1.191613361e-06 5.53883245e-06 1.100006499e-05 -2.592034638e-08 9.900156297e-09 1.935485628e-06 -6.453629982e-06 -6.485251756e-07 -1.024671733e-08 4.658332592e-09 1.06194406e-06 -2.814937385e-06 -1.078950616e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +3.637295109e-14 4.187915454e-14 -8.285549033e-15 -6.892135299e-15 -2.895142596e-14 -8.767638121e-15 -7.314280089e-15 -3.005005145e-14 1.334935815e-19 4.077874156e-15 1.278896385e-14 -2.177014985e-15 -2.290315097e-14 3.227179458e-19 4.114187438e-15 1.312624041e-14 -2.283596011e-15 -2.29243155e-14 +-6.777837208e-06 -2.457139505e-06 1.303263224e-06 6.788579776e-07 5.952125503e-06 5.419448803e-07 2.317572366e-07 2.465901512e-06 -7.9611997e-09 7.786480187e-09 -1.192252167e-06 -1.81064891e-06 6.496819971e-07 -2.969920556e-09 3.786038622e-09 -5.232061755e-07 -9.223362004e-07 2.174865634e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +2.862084349e-14 3.29535188e-14 6.232588308e-15 -1.81082359e-14 -2.284829757e-14 6.592640632e-15 -1.917719923e-14 -2.371537978e-14 -6.704924114e-20 6.118326241e-15 2.750815408e-15 3.193302492e-15 -1.852510684e-14 -1.983313626e-19 6.20145937e-15 2.645184215e-15 3.420705452e-15 -1.853628366e-14 +1.057189454e-05 3.83258242e-06 -2.414929412e-07 -7.691512204e-06 -4.442626916e-06 -1.096703968e-07 -3.004953389e-06 -1.938425864e-06 -3.471627021e-08 7.081961793e-09 4.419851266e-07 1.792327759e-06 1.464083986e-06 -1.422841124e-08 3.355486328e-09 1.57209717e-07 6.26806543e-07 1.141073285e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-6.390608648e-14 -8.597204215e-14 1.50358597e-16 -8.246155559e-16 6.094358433e-14 1.75933101e-16 -8.884021114e-16 6.985487163e-14 -2.639078401e-19 -3.364916754e-15 4.727675997e-15 6.471963545e-16 5.447610627e-14 -6.384927001e-19 -3.569168612e-15 4.838486039e-15 7.193158344e-16 5.851479832e-14 +4.512954428e-05 1.660042153e-05 2.895455502e-06 -1.589969188e-05 -2.641503366e-05 1.171591154e-06 -6.163512571e-06 -1.111473172e-05 3.064767653e-08 -1.761326119e-08 -1.849982672e-06 6.530467269e-06 9.367792732e-07 1.233447104e-08 -7.518640183e-09 -1.071401224e-06 2.882668769e-06 1.35355214e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1.132885341e-13 1.304407481e-13 7.789306758e-15 5.463924742e-14 -9.003463252e-14 8.246605084e-15 5.766952918e-14 -9.346098196e-14 5.817666742e-19 -1.185754652e-14 -5.05980987e-14 -2.734259695e-15 -6.898084365e-14 1.349605553e-18 -1.221918288e-14 -5.057441495e-14 -2.980027074e-15 -6.90930699e-14 +-0.00015761283 -5.21986844e-05 -1.120924874e-05 4.925808627e-05 8.650486497e-05 -4.241152532e-06 1.780592529e-05 3.390149637e-05 -1.266213794e-07 5.556090008e-08 6.517930641e-06 -1.761021762e-05 -2.01882778e-06 -5.122773226e-08 2.32936611e-08 3.557694487e-06 -7.699068503e-06 -3.262239122e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1.005259598e-13 1.157458829e-13 -2.290725013e-14 -1.905494232e-14 -7.996696106e-14 -2.423954943e-14 -2.022160668e-14 -8.299934678e-14 3.688676897e-19 1.126608692e-14 3.530518147e-14 -6.008166109e-15 -6.33354858e-14 8.91688313e-19 1.136586674e-14 3.623433785e-14 -6.302002637e-15 -6.339093658e-14 +-2.435255712e-05 -8.06515208e-06 5.026886935e-06 2.355957211e-06 1.980509288e-05 1.928873053e-06 7.450400565e-07 7.599750658e-06 -3.88906102e-08 4.369868866e-08 -4.015021772e-06 -4.940773088e-06 2.02242891e-06 -1.484790593e-08 1.893181709e-08 -1.7528303e-06 -2.522659875e-06 6.575770614e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +7.91010263e-14 9.10771521e-14 1.723138186e-14 -5.006451205e-14 -6.310946218e-14 1.822641814e-14 -5.301872166e-14 -6.550275077e-14 -1.852695718e-19 1.690331594e-14 7.593894104e-15 8.812935118e-15 -5.122861229e-14 -5.480010034e-19 1.713217053e-14 7.301900278e-15 9.440065003e-15 -5.125703239e-14 +3.798448648e-05 1.257981487e-05 -9.314754595e-07 -2.66931733e-05 -1.47823897e-05 -3.903354027e-07 -9.660154203e-06 -5.974104466e-06 -1.695896326e-07 3.97448444e-08 1.488426656e-06 4.890779601e-06 4.557623256e-06 -7.11339269e-08 1.677887094e-08 5.266794782e-07 1.714363715e-06 3.450068848e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1.864305552e-14 2.508026454e-14 -4.358028029e-17 2.405052339e-16 -1.790028338e-14 -5.099220989e-17 2.591093153e-16 -2.051820183e-14 7.654773487e-20 9.837829809e-16 -1.385674695e-15 -1.922314395e-16 -1.576440387e-14 1.851935219e-19 1.043510331e-15 -1.418170423e-15 -2.135412126e-16 -1.693324582e-14 +-6.692660373e-06 -2.461823737e-06 8.433226869e-07 4.004223185e-06 3.053235624e-06 3.244778898e-07 1.58779373e-06 1.321819482e-06 1.966159351e-08 2.786016918e-07 -5.112708626e-07 -1.936166335e-06 -3.303874895e-07 7.770618017e-09 1.232060922e-07 -2.66081436e-07 -6.944845092e-07 -4.032216204e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-3.304919056e-14 -3.805293428e-14 -2.257670519e-15 -1.593594116e-14 2.644487445e-14 -2.390184763e-15 -1.681976217e-14 2.74519335e-14 -1.687442143e-19 3.466728397e-15 1.483022632e-14 8.121347926e-16 1.996181359e-14 -3.914503728e-19 3.572496837e-15 1.482346727e-14 8.84672024e-16 1.999442826e-14 +2.337380442e-05 7.741005858e-06 -3.264776047e-06 -1.240529518e-05 -9.998841519e-06 -1.174607899e-06 -4.587016934e-06 -4.031735493e-06 -8.123219678e-08 -8.788469434e-07 1.801329316e-06 5.221113451e-06 7.120091798e-07 -3.227306124e-08 -3.817074483e-07 8.835499129e-07 1.854838082e-06 9.718172698e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-2.932601809e-14 -3.376606266e-14 6.639489868e-15 5.557515048e-15 2.348780893e-14 7.025557924e-15 5.897787269e-15 2.437907778e-14 -1.069918427e-19 -3.293806469e-15 -1.034789537e-14 1.784556436e-15 1.832814872e-14 -2.586323995e-19 -3.323014589e-15 -1.062036054e-14 1.870857307e-15 1.834432217e-14 +3.611456678e-06 1.196052932e-06 1.464117751e-06 -5.933308996e-07 -2.289212116e-06 5.342108089e-07 -1.919311296e-07 -9.038003554e-07 -2.494973374e-08 -6.912137654e-07 -1.109612363e-06 1.464850543e-06 -7.132792424e-07 -9.354061878e-09 -3.102309921e-07 -4.353136743e-07 6.077521719e-07 -1.958914477e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-2.30758118e-14 -2.656955693e-14 -4.994383204e-15 1.460168571e-14 1.853644267e-14 -5.282720157e-15 1.546331835e-14 1.923987016e-14 5.373832795e-20 -4.941933414e-15 -2.225758894e-15 -2.617634034e-15 1.482463761e-14 1.589465875e-19 -5.008896718e-15 -2.140202311e-15 -2.802444812e-15 1.483296456e-14 +-5.633056383e-06 -1.865572317e-06 -2.712990708e-07 6.722483945e-06 1.708652709e-06 -1.081052954e-07 2.488569967e-06 7.104703802e-07 -1.087978861e-07 -6.28672951e-07 4.113493557e-07 -1.450028371e-06 -1.607402884e-06 -4.481380452e-08 -2.749511973e-07 1.308003284e-07 -4.130197185e-07 -1.027771528e-06 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1.466969157e-14 1.973494876e-14 -3.478368934e-17 1.888424165e-16 -1.408432932e-14 -4.070062651e-17 2.034487428e-16 -1.614417768e-14 6.08714208e-20 7.689782918e-16 -1.094144731e-15 -1.474624903e-16 -1.239943261e-14 1.472738107e-19 8.156474872e-16 -1.119904509e-15 -1.640408896e-16 -1.331883338e-14 +1.043903793e-05 3.839888763e-06 1.642958578e-09 -1.801789237e-06 -1.052328762e-05 6.671703444e-09 -6.640515868e-07 -4.38707147e-06 -3.285409286e-08 2.11222803e-07 4.899186021e-08 3.727127947e-06 -8.693300508e-08 -1.409976368e-08 9.062535373e-08 2.26418662e-08 1.72057488e-06 1.031640361e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-2.600547061e-14 -2.994277461e-14 -1.801964316e-15 -1.251274905e-14 2.080739799e-14 -1.907781944e-15 -1.320662464e-14 2.159979203e-14 -1.341868586e-19 2.709783492e-15 1.171011786e-14 6.229960056e-16 1.570088945e-14 -3.112980817e-19 2.792399827e-15 1.17058342e-14 6.79598959e-16 1.572660442e-14 +-3.645785342e-05 -1.207422e-05 -6.360426318e-09 5.582038341e-06 3.44620259e-05 -2.415152408e-08 1.918395202e-06 1.338118555e-05 1.357372247e-07 -6.66300745e-07 -1.726100204e-07 -1.00506643e-05 1.873469777e-07 5.855937529e-08 -2.807683605e-07 -7.518457211e-08 -4.595333327e-06 -2.486389291e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-2.30758118e-14 -2.656955693e-14 5.29932234e-15 4.363707824e-15 1.848071501e-14 5.607613589e-15 4.630853985e-15 1.918200078e-14 -8.508083862e-20 -2.574618306e-15 -8.170817612e-15 1.368949517e-15 1.441593649e-14 -2.056755478e-19 -2.597394983e-15 -8.386713943e-15 1.437179705e-15 1.442871456e-14 +-5.633056383e-06 -1.865572317e-06 2.852389549e-09 2.669824282e-07 7.890002765e-06 1.098409539e-08 8.026998014e-08 2.999680976e-06 4.169045956e-08 -5.240460245e-07 1.063271502e-07 -2.81984316e-06 -1.876811622e-07 1.697291793e-08 -2.281932077e-07 3.704247135e-08 -1.505696824e-06 5.011872222e-08 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1.815770176e-14 -2.09068307e-14 -3.98627711e-15 1.146510439e-14 1.458487318e-14 -4.21652681e-15 1.214156532e-14 1.513835789e-14 4.273318315e-20 -3.862883978e-15 -1.75748491e-15 -2.008010939e-15 1.166026299e-14 1.264011257e-19 -3.915144776e-15 -1.690080529e-15 -2.152818813e-15 1.166685853e-14 +8.786295129e-06 2.909871275e-06 -5.285439875e-10 -3.024931094e-06 -5.889045625e-06 -2.222790811e-09 -1.040776773e-06 -2.35802572e-06 1.817988888e-07 -4.766304972e-07 -3.941701279e-08 2.79131042e-06 -4.229468958e-07 8.131451729e-08 -2.022428361e-07 -1.113028996e-08 1.023250113e-06 2.629547963e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.05475639745 0.001163347614 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0230047579 0.0003354043926 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0001730476074 6.265668563e-05 4.692870301e-08 -1.706024784e-05 0.000107182984 3.154975411e-09 -7.299124374e-06 4.45033314e-05 8.23240923e-08 2.755903956e-07 -3.618960804e-08 1.243106737e-05 -5.411011263e-06 3.43878717e-08 1.243423389e-07 2.295177901e-09 7.853366447e-06 -4.616182068e-06 +0 0 -0.03098131397 0.00541448473 3.334652474e-05 0.004093227976 -0.0006826519903 -4.426198274e-05 0 0 0 0 0 0 0 0 0 0 +-0.04078133152 -0.0005088910162 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.0006043607034 -0.0001970188861 -1.816762526e-07 5.285355001e-05 -0.0003510065394 -1.142099094e-08 2.108662258e-05 -0.0001357414255 -3.401233406e-07 -8.69347832e-07 1.275046295e-07 -3.352192003e-05 1.166112463e-05 -1.428202862e-07 -3.852276784e-07 -7.621366847e-09 -2.097487124e-05 1.112560743e-05 +0 0 -0.01754455146 -0.007443043734 0.002330599262 0.001357612187 0.001950473409 -0.0003210053167 0 0 0 0 0 0 0 0 0 0 +-0.03618709099 -0.0004515616539 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-9.337900064e-05 -3.044113655e-05 8.14743255e-08 2.527924077e-06 -8.036215209e-05 5.194258282e-09 8.823118268e-07 -3.042936444e-05 -1.044658045e-07 -6.837427074e-07 -7.854239199e-08 -9.405005886e-06 -1.168192543e-05 -4.139519907e-08 -3.130920431e-07 3.754949388e-09 -6.872580239e-06 -2.242614341e-06 +0 0 -0.009526678654 -0.003900938503 -0.004400530276 0.0003891496597 0.0003758547668 0.001585444316 0 0 0 0 0 0 0 0 0 0 +-0.02847459545 -0.0003553210569 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0001456501414 4.748129463e-05 -1.509708409e-08 -2.864157089e-05 5.998177621e-05 -1.051133404e-09 -1.14400135e-05 2.392028504e-05 -4.555422841e-07 -6.21877872e-07 2.911680097e-08 9.309840811e-06 -2.632567935e-05 -1.983177344e-07 -2.774868866e-07 -1.128263691e-09 4.67050763e-06 -1.176618579e-05 +-1.865292625e-13 -2.11200193e-13 2.009793998e-13 -7.199455857e-14 -3.08643524e-15 2.428864009e-13 -9.007191917e-14 -2.117646813e-14 2.252029539e-31 -8.144117512e-30 3.112432484e-17 1.351711398e-15 9.001489553e-14 3.469018202e-30 2.660815516e-30 9.797797504e-18 2.734091772e-15 8.964873498e-14 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1.524411148e-07 1.995590144e-07 -8.029945758e-10 -7.724684465e-10 -2.039413122e-07 -9.051938018e-10 -8.023598657e-10 -2.256130178e-07 -5.389705257e-13 -5.222408019e-09 -5.748526634e-09 1.274860236e-08 -3.411341576e-08 -1.24524357e-12 -5.286940169e-09 -5.826590557e-09 1.280539364e-08 -3.476665029e-08 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-2.702376469e-07 -3.027801421e-07 -4.159902527e-08 5.118396599e-08 3.012914534e-07 -4.242962674e-08 5.208420275e-08 3.018545979e-07 1.188123438e-12 -1.840311383e-08 6.152378425e-08 -5.385999066e-08 4.319640958e-08 2.63211723e-12 -1.810003837e-08 6.090260594e-08 -5.305099365e-08 4.105174532e-08 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-2.397938947e-07 -2.686702995e-07 1.223368531e-07 -1.784994424e-08 2.676010469e-07 1.247149614e-07 -1.826313267e-08 2.680662446e-07 7.533266633e-13 1.748515847e-08 -4.292865589e-08 -1.183500496e-07 3.966123695e-08 1.739047507e-12 1.683603773e-08 -4.363403119e-08 -1.121894176e-07 3.766381474e-08 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1.88687014e-07 -2.114090378e-07 -9.202470923e-08 -4.689852813e-08 2.111891952e-07 -9.377678577e-08 -4.788382856e-08 2.115568024e-07 -3.783701101e-13 2.623423376e-08 -9.233649374e-09 1.735989467e-07 3.207980653e-08 -1.068758853e-12 2.537755159e-08 -8.7930776e-09 1.680537847e-07 3.045443838e-08 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0001918116757 5.223929958e-05 -9.651480188e-05 -3.993625314e-05 1.06493462e-05 -4.393903079e-05 -4.65249083e-06 3.306096668e-06 -8.180331175e-25 -5.187009971e-24 -2.520716139e-06 1.031069269e-05 1.590700811e-07 5.395071381e-24 -1.405324117e-23 -1.969763041e-06 7.688265908e-06 1.272693393e-07 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/tests/10_others/05_Alllog_filename/INPUT b/tests/10_others/05_Alllog_filename/INPUT new file mode 100644 index 0000000000..d3d4eb764d --- /dev/null +++ b/tests/10_others/05_Alllog_filename/INPUT @@ -0,0 +1,21 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation md +esolver_type ksdft +md_type nve +md_nstep 4 +symmetry -1 + +#Parameters (2.Iteration) +ecutwfc 50 +scf_thr 1e-5 +scf_nmax 100 +#Parameters (3.Basis) +basis_type lcao + +#Parameters (4.Smearing) +smearing_method gauss +smearing_sigma 0.002 + +out_alllog 1 diff --git a/tests/10_others/05_Alllog_filename/KPT b/tests/10_others/05_Alllog_filename/KPT new file mode 100644 index 0000000000..76cd36e5a4 --- /dev/null +++ b/tests/10_others/05_Alllog_filename/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +3 2 2 0 0 0 diff --git a/tests/10_others/05_Alllog_filename/README b/tests/10_others/05_Alllog_filename/README new file mode 100644 index 0000000000..915635324a --- /dev/null +++ b/tests/10_others/05_Alllog_filename/README @@ -0,0 +1 @@ +Test if the log filenames are set correctly when out_alllog=1 \ No newline at end of file diff --git a/tests/10_others/05_Alllog_filename/STRU b/tests/10_others/05_Alllog_filename/STRU new file mode 100644 index 0000000000..e35b5a9c15 --- /dev/null +++ b/tests/10_others/05_Alllog_filename/STRU @@ -0,0 +1,21 @@ +ATOMIC_SPECIES +Si 14.000 ../../PP_ORB/Si_ONCV_PBE_FR-1.1.upf + +NUMERICAL_ORBITAL +../../PP_ORB/Si_gga_6au_100Ry_2s2p1d.orb + +LATTICE_CONSTANT +10.2 + +LATTICE_VECTORS +0.0 0.5 0.5 #Lattice vector 1 +0.5 0.0 0.5 #Lattice vector 2 +0.5 0.5 0.0 #Lattice vector 3 + +ATOMIC_POSITIONS +Cartesian #Cartesian(Unit is LATTICE_CONSTANT) +Si #Name of element +0.0 #Magnetic for this element. +2 #Number of atoms +0.00 0.00 0.00 0 0 0 #x,y,z, move_x, move_y, move_z +0.25 0.25 0.25 1 1 1 \ No newline at end of file diff --git a/tests/10_others/05_Alllog_filename/result.ref b/tests/10_others/05_Alllog_filename/result.ref new file mode 100644 index 0000000000..33428b89dd --- /dev/null +++ b/tests/10_others/05_Alllog_filename/result.ref @@ -0,0 +1,4 @@ +etotref -211.1186500606459 +etotperatomref -105.5593250303 +log_filename_validation 1 +totaltimeref 1.55 diff --git a/tests/10_others/CASES_CPU.txt b/tests/10_others/CASES_CPU.txt index 45304cf0b0..7c585b7c69 100644 --- a/tests/10_others/CASES_CPU.txt +++ b/tests/10_others/CASES_CPU.txt @@ -1,3 +1,4 @@ 01_NP_KP_sp 02_NP_KP_spd 04_RDMFT_Si2 +05_Alllog_filename \ No newline at end of file diff --git a/tests/11_PW_GPU/002_PW_CG_GPU/README b/tests/11_PW_GPU/002_PW_CG_GPU/README index b8f97be67a..84a084c7b0 100644 --- a/tests/11_PW_GPU/002_PW_CG_GPU/README +++ b/tests/11_PW_GPU/002_PW_CG_GPU/README @@ -4,6 +4,6 @@ This test for: *kpoints 2*2*2 *sg15 pseudopotential *smearing_method gauss -*ks_solver bpcg +*ks_solver cg *mixing_type broyden-kerker *mixing_beta 0.4 diff --git a/tests/11_PW_GPU/003_PW_DA_GPU/README b/tests/11_PW_GPU/003_PW_DA_GPU/README index b8f97be67a..2a580efb1a 100644 --- a/tests/11_PW_GPU/003_PW_DA_GPU/README +++ b/tests/11_PW_GPU/003_PW_DA_GPU/README @@ -4,6 +4,6 @@ This test for: *kpoints 2*2*2 *sg15 pseudopotential *smearing_method gauss -*ks_solver bpcg +*ks_solver dav *mixing_type broyden-kerker *mixing_beta 0.4 diff --git a/tests/11_PW_GPU/004_PW_DS_GPU/INPUT b/tests/11_PW_GPU/004_PW_DS_GPU/INPUT new file mode 100644 index 0000000000..eaceb2ad98 --- /dev/null +++ b/tests/11_PW_GPU/004_PW_DS_GPU/INPUT @@ -0,0 +1,33 @@ +INPUT_PARAMETERS +#Parameters (General) +suffix autotest +pseudo_dir ../../PP_ORB + +gamma_only 0 +calculation scf +symmetry 1 +relax_nmax 1 +out_level ie +smearing_method gaussian +smearing_sigma 0.02 + +#Parameters (3.PW) +ecutwfc 40 +scf_thr 1e-7 +scf_nmax 100 + +#Parameters (LCAO) +basis_type pw +ks_solver dav_subspace +device gpu +chg_extrap second-order +pw_diag_thr 0.00001 + +cal_force 1 +#test_force 1 +cal_stress 1 +#test_stress 1 + +mixing_type broyden +mixing_beta 0.4 +mixing_gg0 1.5 diff --git a/tests/11_PW_GPU/004_PW_DS_GPU/KPT b/tests/11_PW_GPU/004_PW_DS_GPU/KPT new file mode 100644 index 0000000000..28006d5e2d --- /dev/null +++ b/tests/11_PW_GPU/004_PW_DS_GPU/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +2 2 2 0 0 0 diff --git a/tests/11_PW_GPU/004_PW_DS_GPU/README b/tests/11_PW_GPU/004_PW_DS_GPU/README new file mode 100644 index 0000000000..11f8fbe4e2 --- /dev/null +++ b/tests/11_PW_GPU/004_PW_DS_GPU/README @@ -0,0 +1,9 @@ +This test for: +*GaAs-deformation +*PW +*kpoints 2*2*2 +*sg15 pseudopotential +*smearing_method gauss +*ks_solver dav_subspace +*mixing_type broyden-kerker +*mixing_beta 0.4 diff --git a/tests/11_PW_GPU/004_PW_DS_GPU/STRU b/tests/11_PW_GPU/004_PW_DS_GPU/STRU new file mode 100644 index 0000000000..b03baadd25 --- /dev/null +++ b/tests/11_PW_GPU/004_PW_DS_GPU/STRU @@ -0,0 +1,23 @@ +ATOMIC_SPECIES +As 1 As_dojo.upf upf201 +Ga 1 Ga_dojo.upf upf201 + +LATTICE_CONSTANT +1 // add lattice constant, 10.58 ang + +LATTICE_VECTORS +5.33 5.33 0.0 +0.0 5.33 5.33 +5.33 0.0 5.33 +ATOMIC_POSITIONS +Direct //Cartesian or Direct coordinate. + +As +0 +1 +0.300000 0.3300000 0.27000000 0 0 0 + +Ga //Element Label +0 +1 //number of atom +0.00000 0.00000 0.000000 0 0 0 diff --git a/tests/11_PW_GPU/004_PW_DS_GPU/result.ref b/tests/11_PW_GPU/004_PW_DS_GPU/result.ref new file mode 100644 index 0000000000..5c69f05f9a --- /dev/null +++ b/tests/11_PW_GPU/004_PW_DS_GPU/result.ref @@ -0,0 +1,8 @@ +etotref -4869.7470518365098542 +etotperatomref -2434.8735259183 +totalforceref 5.200640 +totalstressref 37241.467259 +pointgroupref C_1 +spacegroupref C_1 +nksibzref 8 +totaltimeref 4.79 diff --git a/tests/11_PW_GPU/004_PW_DS_GPU/threshold b/tests/11_PW_GPU/004_PW_DS_GPU/threshold new file mode 100644 index 0000000000..b343d16034 --- /dev/null +++ b/tests/11_PW_GPU/004_PW_DS_GPU/threshold @@ -0,0 +1,4 @@ +threshold 1 +force_threshold 1 +stress_threshold 1 +fatal_threshold 1 diff --git a/tests/11_PW_GPU/006_PW_get_wf_GPU/INPUT b/tests/11_PW_GPU/006_PW_get_wf_GPU/INPUT index c6775e868b..bd85c845f0 100644 --- a/tests/11_PW_GPU/006_PW_get_wf_GPU/INPUT +++ b/tests/11_PW_GPU/006_PW_get_wf_GPU/INPUT @@ -8,6 +8,7 @@ symmetry 0 pseudo_dir ../../PP_ORB device gpu +init_wfc random #Parameters (2.Iteration) ecutwfc 100 diff --git a/tests/11_PW_GPU/BUG_PW_OW_GPU/INPUT b/tests/11_PW_GPU/007_PW_OW_GPU/INPUT similarity index 87% rename from tests/11_PW_GPU/BUG_PW_OW_GPU/INPUT rename to tests/11_PW_GPU/007_PW_OW_GPU/INPUT index 2e6a424a7d..bb5e81efe0 100644 --- a/tests/11_PW_GPU/BUG_PW_OW_GPU/INPUT +++ b/tests/11_PW_GPU/007_PW_OW_GPU/INPUT @@ -8,6 +8,7 @@ symmetry 1 pseudo_dir ../../PP_ORB device gpu +init_wfc random #Parameters (2.Iteration) ecutwfc 20 @@ -18,5 +19,6 @@ scf_nmax 100 basis_type pw out_wfc_pw 1 +nspin 1 pw_seed 1 diff --git a/tests/11_PW_GPU/007_PW_OW_GPU/KPT b/tests/11_PW_GPU/007_PW_OW_GPU/KPT new file mode 100644 index 0000000000..f5f7f4ec34 --- /dev/null +++ b/tests/11_PW_GPU/007_PW_OW_GPU/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +2 2 2 0 0 0 diff --git a/tests/11_PW_GPU/BUG_PW_OW_GPU/README b/tests/11_PW_GPU/007_PW_OW_GPU/README similarity index 100% rename from tests/11_PW_GPU/BUG_PW_OW_GPU/README rename to tests/11_PW_GPU/007_PW_OW_GPU/README diff --git a/tests/11_PW_GPU/BUG_PW_OW_GPU/STRU b/tests/11_PW_GPU/007_PW_OW_GPU/STRU similarity index 100% rename from tests/11_PW_GPU/BUG_PW_OW_GPU/STRU rename to tests/11_PW_GPU/007_PW_OW_GPU/STRU diff --git a/tests/11_PW_GPU/BUG_PW_OW_GPU/result.ref b/tests/11_PW_GPU/007_PW_OW_GPU/result.ref similarity index 54% rename from tests/11_PW_GPU/BUG_PW_OW_GPU/result.ref rename to tests/11_PW_GPU/007_PW_OW_GPU/result.ref index dd4a5ac692..641b31e2cf 100644 --- a/tests/11_PW_GPU/BUG_PW_OW_GPU/result.ref +++ b/tests/11_PW_GPU/007_PW_OW_GPU/result.ref @@ -1,11 +1,11 @@ etotref -211.8032873347885 etotperatomref -105.9016436674 -Max_wfc_1 0.9527 -Max_wfc_2 0.3675 -Max_wfc_3 0.3351 -Max_wfc_4 0.3825 -Max_wfc_5 0.4409 -Max_wfc_6 0.4752 +Max_wfc_1 0.6619 +Max_wfc_2 0.7295 +Max_wfc_3 0.2296 +Max_wfc_4 0.5042 +Max_wfc_5 0.3319 +Max_wfc_6 0.8765 pointgroupref T_d spacegroupref O_h nksibzref 3 diff --git a/tests/11_PW_GPU/CASES_GPU.txt b/tests/11_PW_GPU/CASES_GPU.txt index bb0cf0b776..f550b7f044 100644 --- a/tests/11_PW_GPU/CASES_GPU.txt +++ b/tests/11_PW_GPU/CASES_GPU.txt @@ -1,5 +1,7 @@ 001_PW_BPCG_GPU 002_PW_CG_GPU 003_PW_DA_GPU +004_PW_DS_GPU 005_PW_CG_GPU_float 006_PW_get_wf_GPU +007_PW_OW_GPU diff --git a/tests/15_rtTDDFT_GPU/01_NO_KP_ocp_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/01_NO_KP_ocp_TDDFT_GPU/INPUT index dff6576bfb..781dafc4e5 100644 --- a/tests/15_rtTDDFT_GPU/01_NO_KP_ocp_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/01_NO_KP_ocp_TDDFT_GPU/INPUT @@ -16,7 +16,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -32,4 +33,4 @@ md_type nve md_dt 0.05 init_vel 1 ocp 1 -ocp_set 1*1 1*1 3*0 +ocp_set 1*1 1*1 3*0 diff --git a/tests/15_rtTDDFT_GPU/01_NO_KP_ocp_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/01_NO_KP_ocp_TDDFT_GPU/result.ref index c513b14752..0c5a7f4b0e 100644 --- a/tests/15_rtTDDFT_GPU/01_NO_KP_ocp_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/01_NO_KP_ocp_TDDFT_GPU/result.ref @@ -1,4 +1,4 @@ -etotref -18.06593168523523 +etotref -18.06593168523521 etotperatomref -9.0329658426 totalforceref 40.752890 totalstressref 72.113950 diff --git a/tests/15_rtTDDFT_GPU/02_NO_CH_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/INPUT similarity index 88% rename from tests/15_rtTDDFT_GPU/02_NO_CH_TDDFT_GPU/INPUT rename to tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/INPUT index 80421d200c..3886a0fe37 100644 --- a/tests/15_rtTDDFT_GPU/02_NO_CH_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/INPUT @@ -19,7 +19,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -34,3 +35,5 @@ force_thr_ev 1e-3 md_type nve md_dt 0.01 init_vel 1 +out_wfc_lcao 1 +out_app_flag 0 diff --git a/tests/15_rtTDDFT_GPU/02_NO_CH_TDDFT_GPU/KPT b/tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/KPT similarity index 100% rename from tests/15_rtTDDFT_GPU/02_NO_CH_TDDFT_GPU/KPT rename to tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/KPT diff --git a/tests/15_rtTDDFT_GPU/02_NO_CH_TDDFT_GPU/STRU b/tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/STRU similarity index 100% rename from tests/15_rtTDDFT_GPU/02_NO_CH_TDDFT_GPU/STRU rename to tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/STRU diff --git a/tests/15_rtTDDFT_GPU/02_NO_CH_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/result.ref similarity index 54% rename from tests/15_rtTDDFT_GPU/02_NO_CH_TDDFT_GPU/result.ref rename to tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/result.ref index ded16345fe..64e2f2ae8f 100644 --- a/tests/15_rtTDDFT_GPU/02_NO_CH_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/result.ref @@ -1,5 +1,6 @@ -etotref -323.5398327660267 +etotref -323.5398327660280 etotperatomref -107.8466109220 totalforceref 19.450256 totalstressref 329.292627 -totaltimeref 2.06 +Compare_wfc_lcao_pass 0 +totaltimeref 2.08 diff --git a/tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/wfk1g3_nao_mod.txt.ref b/tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/wfk1g3_nao_mod.txt.ref new file mode 100644 index 0000000000..5ed19da4f9 --- /dev/null +++ b/tests/15_rtTDDFT_GPU/02_NO_CH_OW_TDDFT_GPU/wfk1g3_nao_mod.txt.ref @@ -0,0 +1,104 @@ +1 (index of k points) +0 0 0 +10 (number of bands) +31 (number of orbitals) +1 (band) +-1.61755584e+00 (Ry) +1.00000000e+00 (Occupations) +1.7973033228e-02 5.6365835155e-03 4.0292551523e-03 9.3613124647e-07 3.1049073715e-04 +4.4881324147e-01 6.1982212024e-02 2.1866639499e-03 5.3854752435e-05 1.3443886400e-02 +2.4004885492e-03 5.6446362484e-05 2.1372116215e-03 1.1018527223e-02 3.0207201941e-08 +3.4647693721e-05 2.2873348749e-03 1.7856076996e-05 4.7006748870e-01 4.4279989219e-02 +2.3897932195e-03 1.0152249673e-04 1.3497145623e-02 2.1842163251e-03 4.9876850598e-05 +2.2483079886e-03 8.2943956363e-03 5.4581218803e-08 2.2605006631e-05 2.5123017963e-03 +1.9513113148e-05 +2 (band) +-7.07747396e-01 (Ry) +1.00000000e+00 (Occupations) +2.0653072429e-01 1.2922034155e-03 5.5721322331e-03 7.2160303746e-07 1.1946461441e-04 +2.4049835276e-02 9.0533892005e-03 4.1353078277e-01 6.9010744273e-08 1.0850266122e-03 +8.5128606326e-03 2.6178316195e-06 2.3615553384e-03 6.7178999601e-03 6.4624310555e-06 +2.8515458235e-03 7.4052768556e-05 1.8573055905e-06 1.8685652776e-02 1.1546953779e-02 +4.1059371287e-01 1.0518947039e-05 2.0025618623e-03 5.0072529498e-03 4.5336636824e-06 +3.1909624844e-04 6.5641355509e-03 6.4650077421e-06 2.5762193433e-03 6.2135728577e-04 +2.3593124810e-07 +3 (band) +-4.79113246e-01 (Ry) +1.00000000e+00 (Occupations) +7.0949989237e-01 8.1390285943e-02 4.9575171275e-03 2.7504618329e-06 8.1835591429e-05 +5.7799204671e-02 3.6790251304e-03 2.2770658483e-01 2.2533967243e-05 7.3942524577e-03 +1.1242094504e-03 1.1736100212e-05 2.4009897873e-03 1.2402323127e-02 3.1370837973e-06 +5.0148798457e-04 2.4032930056e-04 3.7185915214e-07 4.8045592677e-02 8.0553442983e-03 +2.2283814985e-01 4.5776182772e-05 1.5502909712e-02 6.2832313743e-04 3.2578627130e-06 +2.8429788855e-03 1.2036482557e-02 4.3300276852e-06 2.8188339374e-04 1.5085617131e-03 +5.1181029768e-06 +4 (band) +-4.50651346e-01 (Ry) +1.00000000e+00 (Occupations) +1.3215965624e-02 7.3798641996e-04 1.2038973025e-03 1.7937550905e-06 6.7028378581e-04 +6.9718289138e-03 2.5739994415e-03 2.8137532816e-03 3.8119796372e-03 6.3187318495e-01 +3.1901058225e-04 8.0847071103e-04 1.2861262374e-01 3.1525406399e-03 6.1162723759e-06 +1.0276720894e-03 6.6002797230e-02 3.2862533094e-04 8.4196142496e-03 3.4694204484e-03 +2.9150739715e-03 4.0961852049e-03 6.7963857691e-01 2.1227695507e-04 6.8941250116e-04 +1.1232828913e-01 3.2277363043e-03 6.4199729130e-06 1.0253152403e-03 7.2324966855e-02 +3.6949273003e-04 +5 (band) +-4.29244383e-01 (Ry) +1.00000000e+00 (Occupations) +1.2546784263e-04 1.1549555323e-05 5.4861100875e-06 1.7618788451e-04 4.0258885017e-06 +2.4553679476e-05 1.3128486248e-05 2.6970170350e-05 6.3651768261e-01 3.8382457432e-03 +1.6118902935e-06 1.3046899203e-01 7.5113869585e-04 1.7036696317e-05 1.0434795778e-03 +6.3775793448e-06 4.0369713070e-04 5.5551262544e-02 1.4438094641e-04 7.4707587826e-05 +2.7467298158e-05 6.8689923238e-01 4.1429029353e-03 4.1973262045e-07 1.1228566368e-01 +6.6495939232e-04 1.4345339069e-05 1.0445406969e-03 6.1207392476e-06 4.4277257659e-04 +6.2664476162e-02 +6 (band) +4.03555951e-01 (Ry) +0.00000000e+00 (Occupations) +8.1683925769e-06 1.4722915207e-06 1.9948122052e-06 1.3200895008e-04 2.4021948885e-06 +2.4242079429e-04 1.6150496660e-06 6.9023730019e-06 9.7310837647e-01 7.7981683079e-03 +6.0647157972e-06 5.6610304955e-02 4.9202412347e-04 9.7624398044e-06 1.3864041088e-03 +1.0077421290e-05 1.1828407394e-03 1.6453337227e-01 2.3314812432e-04 1.7930229814e-05 +2.1137369530e-06 9.7075032389e-01 7.7723245275e-03 2.2152868719e-06 6.3595469597e-02 +5.5426047813e-04 6.1501583800e-06 1.3430510326e-03 9.4412376964e-06 1.2903623626e-03 +1.7669219433e-01 +7 (band) +4.29135221e-01 (Ry) +0.00000000e+00 (Occupations) +2.0483430953e-03 2.1290771690e-04 4.7751193802e-04 1.4707473235e-06 1.0462721745e-04 +9.8666649512e-02 1.1655949473e-02 8.5225424258e-04 7.7099091869e-03 9.9362720904e-01 +1.1296245859e-03 4.8817605249e-04 6.7644953642e-02 6.7149093710e-04 1.0840345166e-05 +1.2451690036e-03 1.5673285862e-01 1.3488300546e-03 9.5609188618e-02 1.6675102183e-02 +4.1262849603e-04 7.6976327316e-03 9.9115499004e-01 2.8451518740e-04 5.3136929190e-04 +7.4105703116e-02 2.4097974271e-03 1.0772646344e-05 1.2234030864e-03 1.6933164045e-01 +1.4384194040e-03 +8 (band) +4.92284914e-01 (Ry) +0.00000000e+00 (Occupations) +2.5847673924e-01 3.5257716671e-02 5.4429773382e-02 4.3001919268e-08 1.1703814288e-04 +2.5391739847e-01 3.0906462859e-01 1.0309388450e-01 1.5712488430e-05 1.6757312373e-02 +7.4477641576e-02 7.1409157814e-06 2.7625711336e-03 2.1035588378e-01 4.3173293094e-06 +6.4592574702e-04 1.0158460762e-03 3.3313116902e-05 1.5848502785e-01 3.3347675036e-01 +9.6591033633e-02 8.9410837584e-06 2.2780796705e-03 7.3586838421e-02 5.0767785523e-05 +3.0484527462e-03 2.0961786979e-01 5.5400550591e-06 5.4738032999e-04 2.0896375541e-03 +7.0185962671e-06 +9 (band) +7.32222369e-01 (Ry) +0.00000000e+00 (Occupations) +2.4578695350e-03 8.5843807140e-04 6.2468854349e-04 2.5395126951e-07 1.2683386927e-03 +2.2778058062e+00 3.7725419109e-01 4.7386829956e-02 2.8867590703e-04 3.8786144228e-02 +1.0678273189e-02 8.5392123886e-05 4.7205991655e-03 1.4010791076e-01 7.5925567125e-07 +1.1082943750e-04 7.8127831595e-03 5.1040821121e-05 2.2812710521e+00 3.7121246547e-01 +4.2697505218e-02 3.5566666679e-04 3.9610957533e-02 1.5859332778e-02 1.6142457000e-04 +5.7494172987e-03 1.3199569563e-01 6.0546882772e-07 1.5523585585e-04 8.4274708110e-03 +5.9663287292e-05 +10 (band) +9.17560598e-01 (Ry) +0.00000000e+00 (Occupations) +1.4605760895e-02 3.2672341171e-03 3.5046933774e-03 3.2981741935e-07 1.4169970771e-03 +6.0584781494e-02 1.2710680005e-02 1.4913804403e+00 7.1951578087e-06 2.9200959258e-03 +3.1644331888e-01 2.5015543231e-06 1.5440221499e-03 5.6773360365e-03 9.5832726527e-07 +3.3827355085e-03 3.7440570824e-04 8.0049775928e-07 6.2704352743e-02 3.8212494469e-03 +1.4740759426e+00 1.0482135474e-05 3.1784866569e-03 3.4460812261e-01 6.4696964585e-06 +1.4877818341e-03 1.8027792019e-03 7.7708899765e-08 2.5473307995e-03 3.9643734513e-04 +1.7671374051e-06 diff --git a/tests/15_rtTDDFT_GPU/03_NO_CO_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/03_NO_CO_TDDFT_GPU/INPUT index 9a2bf58c77..dd4f653ed9 100644 --- a/tests/15_rtTDDFT_GPU/03_NO_CO_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/03_NO_CO_TDDFT_GPU/INPUT @@ -16,7 +16,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/15_rtTDDFT_GPU/03_NO_CO_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/03_NO_CO_TDDFT_GPU/result.ref index c4d08e3f9f..07685a2d0c 100644 --- a/tests/15_rtTDDFT_GPU/03_NO_CO_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/03_NO_CO_TDDFT_GPU/result.ref @@ -1,5 +1,5 @@ -etotref -603.4339802028381 -etotperatomref -301.7169901014 -totalforceref 12.079250 -totalstressref 28.046553 +etotref -603.4336857561682 +etotperatomref -301.7168428781 +totalforceref 12.095750 +totalstressref 27.935490 totaltimeref 2.53 diff --git a/tests/15_rtTDDFT_GPU/04_NO_CO_ocp_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/04_NO_CO_ocp_TDDFT_GPU/INPUT index db1b78eeb9..12d113cb80 100644 --- a/tests/15_rtTDDFT_GPU/04_NO_CO_ocp_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/04_NO_CO_ocp_TDDFT_GPU/INPUT @@ -16,7 +16,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/15_rtTDDFT_GPU/04_NO_CO_ocp_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/04_NO_CO_ocp_TDDFT_GPU/result.ref index afac7efc1f..34c12e8623 100644 --- a/tests/15_rtTDDFT_GPU/04_NO_CO_ocp_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/04_NO_CO_ocp_TDDFT_GPU/result.ref @@ -1,5 +1,5 @@ -etotref -603.4337824685499 -etotperatomref -301.7168912343 -totalforceref 12.090612 -totalstressref 27.990852 +etotref -603.4337279119619 +etotperatomref -301.7168639560 +totalforceref 12.106586 +totalstressref 27.960198 totaltimeref 2.71 diff --git a/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/INPUT index 6668e7fe6d..0d8d5df6b8 100644 --- a/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/INPUT @@ -15,7 +15,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 3 +md_nstep 4 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/README b/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/README index 26c2f588bb..a90ee94200 100644 --- a/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/README +++ b/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/README @@ -1 +1 @@ -test TDDFT length-gauge current output for non-periodic system +Test RT-TDDFT length gauge current output for non-periodic system diff --git a/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/current_tot.txt.ref b/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/current_tot.txt.ref new file mode 100644 index 0000000000..de17d65e7b --- /dev/null +++ b/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/current_tot.txt.ref @@ -0,0 +1,4 @@ +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 1.3253329345174151e-07 -1.1309759467952081e-08 -1.8100967211240555e-08 +3 -1.8712729254901428e-07 -1.9255546268328018e-08 -3.0821009248708681e-08 +4 1.6157844599780660e-08 1.2274265606089292e-08 1.9637494050295524e-08 diff --git a/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/refcurrent_total.dat b/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/refcurrent_total.dat deleted file mode 100644 index 4c3b1c5d5e..0000000000 --- a/tests/15_rtTDDFT_GPU/05_NO_cur_TDDFT_GPU/refcurrent_total.dat +++ /dev/null @@ -1,4 +0,0 @@ -0 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1 1.3253329345179453e-07 -1.1309759467848516e-08 -1.8100967211060974e-08 -2 -1.8712729254911609e-07 -1.9255546268139507e-08 -3.0821009248084689e-08 -3 1.6157844599821334e-08 1.2274265606153575e-08 1.9637494050035531e-08 diff --git a/tests/15_rtTDDFT_GPU/06_NO_dir_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/06_NO_dir_TDDFT_GPU/INPUT index f5443e21c8..1845443146 100755 --- a/tests/15_rtTDDFT_GPU/06_NO_dir_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/06_NO_dir_TDDFT_GPU/INPUT @@ -16,7 +16,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/15_rtTDDFT_GPU/06_NO_dir_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/06_NO_dir_TDDFT_GPU/result.ref index 8cab4cc796..5fbff0177d 100644 --- a/tests/15_rtTDDFT_GPU/06_NO_dir_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/06_NO_dir_TDDFT_GPU/result.ref @@ -1,4 +1,4 @@ -etotref -30.45454376271162 +etotref -30.45454376271165 etotperatomref -15.2272718814 totalforceref 0.595498 totalstressref 4.286358 diff --git a/tests/15_rtTDDFT_GPU/07_NO_EDM_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/07_NO_EDM_TDDFT_GPU/INPUT index 153facbc2f..2b0dbe03ef 100644 --- a/tests/15_rtTDDFT_GPU/07_NO_EDM_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/07_NO_EDM_TDDFT_GPU/INPUT @@ -16,7 +16,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -32,5 +33,5 @@ md_type nve md_dt 0.05 init_vel 1 ocp 1 -ocp_set 1*0.5 1*0.5 3*0 1*0.5 1*0.5 3*0 +ocp_set 1*0.5 1*0.5 3*0 1*0.5 1*0.5 3*0 td_edm 1 diff --git a/tests/15_rtTDDFT_GPU/07_NO_EDM_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/07_NO_EDM_TDDFT_GPU/result.ref index dc986d3d6b..e319cfc11e 100644 --- a/tests/15_rtTDDFT_GPU/07_NO_EDM_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/07_NO_EDM_TDDFT_GPU/result.ref @@ -1,4 +1,4 @@ -etotref -18.06494189760856 +etotref -18.06494189760862 etotperatomref -9.0324709488 totalforceref 41.359252 totalstressref 73.228950 diff --git a/tests/15_rtTDDFT_GPU/09_NO_HEAV_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/09_NO_HEAV_TDDFT_GPU/INPUT index 3fcd5bb4cb..63f1d0b627 100644 --- a/tests/15_rtTDDFT_GPU/09_NO_HEAV_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/09_NO_HEAV_TDDFT_GPU/INPUT @@ -16,7 +16,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/15_rtTDDFT_GPU/09_NO_HEAV_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/09_NO_HEAV_TDDFT_GPU/result.ref index 19989e81b8..16bc961000 100644 --- a/tests/15_rtTDDFT_GPU/09_NO_HEAV_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/09_NO_HEAV_TDDFT_GPU/result.ref @@ -1,4 +1,4 @@ -etotref -22.97638349080424 +etotref -22.97638349080425 etotperatomref -11.4881917454 totalforceref 0.582042 totalstressref 76.025571 diff --git a/tests/15_rtTDDFT_GPU/10_NO_HHG_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/10_NO_HHG_TDDFT_GPU/INPUT old mode 100755 new mode 100644 index 0aade88b68..fff4203905 --- a/tests/15_rtTDDFT_GPU/10_NO_HHG_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/10_NO_HHG_TDDFT_GPU/INPUT @@ -15,7 +15,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -39,7 +40,7 @@ td_tstart 1 td_tend 2 td_lcut1 0.05 td_lcut2 0.95 -td_gauss_freq 1.164656 0.029116 +td_gauss_freq 1.164656 0.029116 td_gauss_amp 2.0 5.0 td_gauss_phase 2*0.0 td_gauss_t0 2*0 diff --git a/tests/15_rtTDDFT_GPU/10_NO_HHG_TDDFT_GPU/STRU b/tests/15_rtTDDFT_GPU/10_NO_HHG_TDDFT_GPU/STRU old mode 100755 new mode 100644 diff --git a/tests/15_rtTDDFT_GPU/10_NO_HHG_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/10_NO_HHG_TDDFT_GPU/result.ref index 91dd29c0e7..e47c61dabb 100644 --- a/tests/15_rtTDDFT_GPU/10_NO_HHG_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/10_NO_HHG_TDDFT_GPU/result.ref @@ -1,4 +1,4 @@ -etotref 20.47683114572230 +etotref 20.47683114572229 etotperatomref 10.2384155729 totalforceref 0.451670 totalstressref 487.779801 diff --git a/tests/15_rtTDDFT_GPU/11_NO_O3_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/11_NO_O3_TDDFT_GPU/INPUT index 975bd05f6f..8e4f1020c8 100644 --- a/tests/15_rtTDDFT_GPU/11_NO_O3_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/11_NO_O3_TDDFT_GPU/INPUT @@ -15,9 +15,10 @@ scf_nmax 30 device gpu ks_solver cusolver basis_type lcao -out_chg 1 +# out_chg 1 gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/15_rtTDDFT_GPU/11_NO_O3_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/11_NO_O3_TDDFT_GPU/result.ref index 777bb60370..bee5bb6a00 100644 --- a/tests/15_rtTDDFT_GPU/11_NO_O3_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/11_NO_O3_TDDFT_GPU/result.ref @@ -1,4 +1,4 @@ -etotref -1336.999498209980 +etotref -1336.999498209979 etotperatomref -445.6664994033 totalforceref 11.627501 totalstressref 64.927558 diff --git a/tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/INPUT index 464f3d7a06..d27fc181e8 100644 --- a/tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/INPUT @@ -17,6 +17,7 @@ ks_solver cusolver basis_type lcao gamma_only 0 md_nstep 2 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 @@ -36,4 +37,4 @@ md_dt 0.05 md_restart 1 init_vel 1 ocp 1 -ocp_set 1*1 1*1 3*0 +ocp_set 1*1 1*1 3*0 diff --git a/tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/restart/Restart_md.dat b/tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/restart/Restart_md.txt similarity index 100% rename from tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/restart/Restart_md.dat rename to tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/restart/Restart_md.txt diff --git a/tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/restart/WFC/wfs1k1g6_nao.txt b/tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/restart/WFC/wfk1g6_nao.txt similarity index 100% rename from tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/restart/WFC/wfs1k1g6_nao.txt rename to tests/15_rtTDDFT_GPU/12_NO_re_TDDFT_GPU/restart/WFC/wfk1g6_nao.txt diff --git a/tests/15_rtTDDFT_GPU/14_NO_TRAP_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/14_NO_TRAP_TDDFT_GPU/INPUT old mode 100755 new mode 100644 index bfce981848..804b26e8e1 --- a/tests/15_rtTDDFT_GPU/14_NO_TRAP_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/14_NO_TRAP_TDDFT_GPU/INPUT @@ -15,7 +15,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/15_rtTDDFT_GPU/14_NO_TRAP_TDDFT_GPU/STRU b/tests/15_rtTDDFT_GPU/14_NO_TRAP_TDDFT_GPU/STRU old mode 100755 new mode 100644 diff --git a/tests/15_rtTDDFT_GPU/14_NO_TRAP_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/14_NO_TRAP_TDDFT_GPU/result.ref index 86ddde6b25..c46aedc830 100644 --- a/tests/15_rtTDDFT_GPU/14_NO_TRAP_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/14_NO_TRAP_TDDFT_GPU/result.ref @@ -1,4 +1,4 @@ -etotref -30.89964815765920 +etotref -30.89964815765915 etotperatomref -15.4498240788 totalforceref 0.596612 totalstressref 1.073053 diff --git a/tests/15_rtTDDFT_GPU/15_NO_TRI_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/15_NO_TRI_TDDFT_GPU/INPUT old mode 100755 new mode 100644 index 3b6fdd0aea..c6766d797d --- a/tests/15_rtTDDFT_GPU/15_NO_TRI_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/15_NO_TRI_TDDFT_GPU/INPUT @@ -2,7 +2,7 @@ INPUT_PARAMETERS #Parameters (General) suffix autotest pseudo_dir ../../PP_ORB -orbital_dir ../../PP_ORB +orbital_dir ../../PP_ORB nbands 5 calculation md esolver_type tddft @@ -15,7 +15,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 2 +md_nstep 3 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/15_rtTDDFT_GPU/15_NO_TRI_TDDFT_GPU/STRU b/tests/15_rtTDDFT_GPU/15_NO_TRI_TDDFT_GPU/STRU old mode 100755 new mode 100644 diff --git a/tests/15_rtTDDFT_GPU/15_NO_TRI_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/15_NO_TRI_TDDFT_GPU/result.ref index 39d05e0518..0db2ec45d1 100644 --- a/tests/15_rtTDDFT_GPU/15_NO_TRI_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/15_NO_TRI_TDDFT_GPU/result.ref @@ -1,4 +1,4 @@ -etotref -30.90911715730047 +etotref -30.90911715730050 etotperatomref -15.4545585787 totalforceref 0.596616 totalstressref 1.147852 diff --git a/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/INPUT index bed4719481..cfc259d049 100644 --- a/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/INPUT @@ -15,7 +15,8 @@ device gpu ks_solver cusolver basis_type lcao gamma_only 0 -md_nstep 3 +md_nstep 4 +estep_per_md 1 mixing_type broyden mixing_beta 0.7 diff --git a/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/README b/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/README index 127af73539..18c2e75edd 100644 --- a/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/README +++ b/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/README @@ -1 +1 @@ -test TDDFT velocity-gauge output for non-periodic system +Test RT-TDDFT velocity gauge output for non-periodic system diff --git a/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/current_tot.txt.ref b/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/current_tot.txt.ref new file mode 100644 index 0000000000..697c73a444 --- /dev/null +++ b/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/current_tot.txt.ref @@ -0,0 +1,4 @@ +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 2.7669187278007260e-07 -1.3892875565558252e-09 -2.2297436846799228e-09 +3 2.2955881029817558e-07 3.4521250836946458e-09 5.5110950473557321e-09 +4 1.3457006814286624e-07 1.5269022218929118e-08 2.4393767948848288e-08 diff --git a/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/refcurrent_total.dat b/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/refcurrent_total.dat deleted file mode 100644 index 0173583ef3..0000000000 --- a/tests/15_rtTDDFT_GPU/16_NO_vel_TDDFT_GPU/refcurrent_total.dat +++ /dev/null @@ -1,4 +0,0 @@ -0 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1 2.7669187278010950e-07 -1.3892875566265775e-09 -2.2297436847453706e-09 -2 2.2955881029815080e-07 3.4521250838755370e-09 5.5110950477892839e-09 -3 1.3457006814283194e-07 1.5269022219384739e-08 2.4393767949504196e-08 diff --git a/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/INPUT index 5683e3b789..316b4ebab1 100644 --- a/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/INPUT +++ b/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/INPUT @@ -4,7 +4,8 @@ INPUT_PARAMETERS calculation md esolver_type tddft md_type nve -md_nstep 2 +md_nstep 3 +estep_per_md 1 md_dt 0.05 md_tfirst 0 diff --git a/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/README b/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/README index cf7f610eb0..3d074619ac 100644 --- a/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/README +++ b/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/README @@ -1 +1 @@ -test TDDFT velocity gauge output for periodic system +Test RT-TDDFT velocity gauge output for periodic system diff --git a/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/current_tot.txt.ref b/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/current_tot.txt.ref new file mode 100644 index 0000000000..35175e6f9f --- /dev/null +++ b/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/current_tot.txt.ref @@ -0,0 +1,3 @@ +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 -1.4281057782732242e-18 5.1480765086224919e-18 5.1985933203093457e-06 +3 -3.1989018653041680e-18 1.4638762354532585e-17 1.3886066143094195e-05 diff --git a/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/refcurrent_total.dat b/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/refcurrent_total.dat deleted file mode 100644 index 8802e3f5cd..0000000000 --- a/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/refcurrent_total.dat +++ /dev/null @@ -1,3 +0,0 @@ -0 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1 3.9383095821745186e-19 -7.1789081877293453e-18 5.1985933203197939e-06 -2 -3.7148491227321649e-18 -1.9227633196995937e-17 1.3886066143115769e-05 diff --git a/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/result.ref index cbb6ccf527..2ab84c92e8 100644 --- a/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/result.ref +++ b/tests/15_rtTDDFT_GPU/17_NO_vel_TDDFT_GPU/result.ref @@ -1,4 +1,4 @@ -etotref -194.7715239600904 +etotref -194.7715239600903 etotperatomref -97.3857619800 CompareCurrent_pass 0 totaltimeref 6.74 diff --git a/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/INPUT b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/INPUT new file mode 100644 index 0000000000..3416946f7a --- /dev/null +++ b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/INPUT @@ -0,0 +1,41 @@ +INPUT_PARAMETERS + +# general information +calculation md +esolver_type tddft +md_type nve +md_nstep 1 +estep_per_md 10 +td_dt 0.005 +md_tfirst 0 + +# rt-TDDFT parameters +td_vext 1 # add time-dependent external potential +td_vext_dire 3 # direction along z +td_stype 2 # 2: hybrid gauge +td_ttype 3 # Heaviside type potential +td_tstart 1 # the step electric field starts +td_tend 10 # the step electric field ends +td_heavi_t0 3 +td_heavi_amp 0.05 + +# print out current information +out_current 1 + +suffix autotest +pseudo_dir ../../PP_ORB +orbital_dir ../../PP_ORB +basis_type lcao +gamma_only 0 + +# electronic structure calculations +ecutwfc 20 +scf_nmax 50 +scf_thr 1e-6 +device gpu +ks_solver cusolver + +# charge mixing +mixing_type broyden +mixing_beta 0.7 +mixing_gg0 0.0 diff --git a/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/KPT b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/KPT new file mode 100644 index 0000000000..e769af7638 --- /dev/null +++ b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +2 1 1 0 0 0 diff --git a/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/README b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/README new file mode 100644 index 0000000000..a47d3411f7 --- /dev/null +++ b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/README @@ -0,0 +1 @@ +Test RT-TDDFT hybrid gauge output and parameter td_dt for periodic system diff --git a/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/STRU b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/STRU new file mode 100644 index 0000000000..822d2c7cc6 --- /dev/null +++ b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/STRU @@ -0,0 +1,22 @@ +ATOMIC_SPECIES +Si 28.085 Si_ONCV_PBE-1.0.upf + +NUMERICAL_ORBITAL +Si_gga_6au_100Ry_2s2p1d.orb + +LATTICE_CONSTANT +10.2 // add lattice constant + +LATTICE_VECTORS +0.0 0.5 0.5 +0.5 0.0 0.5 +0.5 0.5 0.0 + +ATOMIC_POSITIONS +Cartesian //Cartesian or Direct coordinate. + +Si // Element type +0.0 // magnetism +2 // number of atoms +0.00 0.00 0.00 0 0 0 +0.25 0.25 0.25 1 1 1 diff --git a/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/current_tot.txt.ref b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/current_tot.txt.ref new file mode 100644 index 0000000000..e19d79a92b --- /dev/null +++ b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/current_tot.txt.ref @@ -0,0 +1,11 @@ +1 -1.2080528880846261e-19 1.2080528880846066e-19 1.2080528880845773e-19 +2 9.6988649203065955e-09 -9.6988647723290744e-09 2.4283263685858898e-06 +3 2.6772041590862983e-08 -2.6772038966231164e-08 7.2673271979666816e-06 +4 2.7319060127512691e-08 -2.7319057936239790e-08 9.6256951598233973e-06 +5 9.5656716023055945e-09 -9.5656714606956783e-09 9.4882668471607465e-06 +6 -1.5805949584040751e-08 1.5805949767647706e-08 9.2880215292310497e-06 +7 -4.7582174004461010e-08 4.7582174205200823e-08 9.0311994708317000e-06 +8 -8.4545887860098823e-08 8.4545888087037147e-08 8.7249297042081756e-06 +9 -1.2566554788492410e-07 1.2566554814454782e-07 8.3765586452439330e-06 +10 -1.7019855732619671e-07 1.7019855762999082e-07 7.9931205849008677e-06 +11 -2.1769144339022118e-07 2.1769144375450180e-07 7.5810111633604005e-06 diff --git a/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/result.ref b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/result.ref new file mode 100644 index 0000000000..6bc6181add --- /dev/null +++ b/tests/15_rtTDDFT_GPU/18_NO_hyb_TDDFT_GPU/result.ref @@ -0,0 +1,4 @@ +etotref -202.3030324186810 +etotperatomref -101.1515162093 +CompareCurrent_pass 0 +totaltimeref 6.74 diff --git a/tests/15_rtTDDFT_GPU/CASES_GPU.txt b/tests/15_rtTDDFT_GPU/CASES_GPU.txt index c930799511..53bce2d505 100644 --- a/tests/15_rtTDDFT_GPU/CASES_GPU.txt +++ b/tests/15_rtTDDFT_GPU/CASES_GPU.txt @@ -1,5 +1,5 @@ 01_NO_KP_ocp_TDDFT_GPU -02_NO_CH_TDDFT_GPU +02_NO_CH_OW_TDDFT_GPU 03_NO_CO_TDDFT_GPU 04_NO_CO_ocp_TDDFT_GPU 05_NO_cur_TDDFT_GPU @@ -13,3 +13,4 @@ 15_NO_TRI_TDDFT_GPU 16_NO_vel_TDDFT_GPU 17_NO_vel_TDDFT_GPU +18_NO_hyb_TDDFT_GPU diff --git a/tests/16_SDFT_GPU/186_PW_KG_100_GPU/INPUT b/tests/16_SDFT_GPU/001_PW_KG_100_GPU/INPUT similarity index 100% rename from tests/16_SDFT_GPU/186_PW_KG_100_GPU/INPUT rename to tests/16_SDFT_GPU/001_PW_KG_100_GPU/INPUT diff --git a/tests/16_SDFT_GPU/186_PW_KG_100_GPU/KPT b/tests/16_SDFT_GPU/001_PW_KG_100_GPU/KPT similarity index 100% rename from tests/16_SDFT_GPU/186_PW_KG_100_GPU/KPT rename to tests/16_SDFT_GPU/001_PW_KG_100_GPU/KPT diff --git a/tests/16_SDFT_GPU/186_PW_KG_100_GPU/README b/tests/16_SDFT_GPU/001_PW_KG_100_GPU/README similarity index 100% rename from tests/16_SDFT_GPU/186_PW_KG_100_GPU/README rename to tests/16_SDFT_GPU/001_PW_KG_100_GPU/README diff --git a/tests/16_SDFT_GPU/186_PW_KG_100_GPU/STRU b/tests/16_SDFT_GPU/001_PW_KG_100_GPU/STRU similarity index 100% rename from tests/16_SDFT_GPU/186_PW_KG_100_GPU/STRU rename to tests/16_SDFT_GPU/001_PW_KG_100_GPU/STRU diff --git a/tests/16_SDFT_GPU/186_PW_KG_100_GPU/refOnsager.txt b/tests/16_SDFT_GPU/001_PW_KG_100_GPU/refOnsager.txt similarity index 100% rename from tests/16_SDFT_GPU/186_PW_KG_100_GPU/refOnsager.txt rename to tests/16_SDFT_GPU/001_PW_KG_100_GPU/refOnsager.txt diff --git a/tests/16_SDFT_GPU/186_PW_KG_100_GPU/result.ref b/tests/16_SDFT_GPU/001_PW_KG_100_GPU/result.ref similarity index 100% rename from tests/16_SDFT_GPU/186_PW_KG_100_GPU/result.ref rename to tests/16_SDFT_GPU/001_PW_KG_100_GPU/result.ref diff --git a/tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/INPUT b/tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/INPUT similarity index 100% rename from tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/INPUT rename to tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/INPUT diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_GPU/KPT b/tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/KPT similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_MALL_GPU/KPT rename to tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/KPT diff --git a/tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/README b/tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/README similarity index 100% rename from tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/README rename to tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/README diff --git a/tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/STRU b/tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/STRU similarity index 100% rename from tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/STRU rename to tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/STRU diff --git a/tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/refOnsager.txt b/tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/refOnsager.txt similarity index 100% rename from tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/refOnsager.txt rename to tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/refOnsager.txt diff --git a/tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/result.ref b/tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/result.ref similarity index 100% rename from tests/16_SDFT_GPU/186_PW_SKG_MALL_GPU/result.ref rename to tests/16_SDFT_GPU/002_PW_SKG_MALL_GPU/result.ref diff --git a/tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/INPUT b/tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/INPUT similarity index 97% rename from tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/INPUT rename to tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/INPUT index beef5ef8b4..e4c4825cb3 100644 --- a/tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/INPUT +++ b/tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/INPUT @@ -39,5 +39,5 @@ mixing_beta 0.4 #MD md_tfirst 10 md_tfreq 0.1 -md_nstep 2 +md_nstep 3 init_vel 1 diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/KPOINTS b/tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/KPT similarity index 100% rename from tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/KPOINTS rename to tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/KPT diff --git a/tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/README b/tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/README similarity index 100% rename from tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/README rename to tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/README diff --git a/tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/STRU b/tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/STRU similarity index 100% rename from tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/STRU rename to tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/STRU diff --git a/tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/result.ref b/tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/result.ref similarity index 100% rename from tests/16_SDFT_GPU/187_PW_MD_SDFT_ALL_GPU/result.ref rename to tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/result.ref diff --git a/tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/threshold b/tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/threshold new file mode 100644 index 0000000000..521e97582a --- /dev/null +++ b/tests/16_SDFT_GPU/003_PW_MD_SDFT_ALL_GPU/threshold @@ -0,0 +1 @@ +threshold 1e-5 \ No newline at end of file diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_ALL_GPU/INPUT b/tests/16_SDFT_GPU/004_PW_SDFT_ALL_GPU/INPUT similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_ALL_GPU/INPUT rename to tests/16_SDFT_GPU/004_PW_SDFT_ALL_GPU/INPUT diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_ALL_GPU/KPT b/tests/16_SDFT_GPU/004_PW_SDFT_ALL_GPU/KPT similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_ALL_GPU/KPT rename to tests/16_SDFT_GPU/004_PW_SDFT_ALL_GPU/KPT diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_ALL_GPU/README b/tests/16_SDFT_GPU/004_PW_SDFT_ALL_GPU/README similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_ALL_GPU/README rename to tests/16_SDFT_GPU/004_PW_SDFT_ALL_GPU/README diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_ALL_GPU/STRU b/tests/16_SDFT_GPU/004_PW_SDFT_ALL_GPU/STRU similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_ALL_GPU/STRU rename to tests/16_SDFT_GPU/004_PW_SDFT_ALL_GPU/STRU diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_ALL_GPU/result.ref b/tests/16_SDFT_GPU/004_PW_SDFT_ALL_GPU/result.ref similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_ALL_GPU/result.ref rename to tests/16_SDFT_GPU/004_PW_SDFT_ALL_GPU/result.ref diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/INPUT b/tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/INPUT similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/INPUT rename to tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/INPUT diff --git a/tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/KPT b/tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/KPT new file mode 100644 index 0000000000..c289c0158a --- /dev/null +++ b/tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +1 1 1 0 0 0 diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/README b/tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/README similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/README rename to tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/README diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/STRU b/tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/STRU similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/STRU rename to tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/STRU diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/result.ref b/tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/result.ref similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/result.ref rename to tests/16_SDFT_GPU/005_PW_SDFT_MALL_BPCG_GPU/result.ref diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_GPU/INPUT b/tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/INPUT similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_MALL_GPU/INPUT rename to tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/INPUT diff --git a/tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/KPT b/tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/KPT new file mode 100644 index 0000000000..c289c0158a --- /dev/null +++ b/tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +1 1 1 0 0 0 diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_GPU/README b/tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/README similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_MALL_GPU/README rename to tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/README diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_GPU/STRU b/tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/STRU similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_MALL_GPU/STRU rename to tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/STRU diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_GPU/result.ref b/tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/result.ref similarity index 100% rename from tests/16_SDFT_GPU/187_PW_SDFT_MALL_GPU/result.ref rename to tests/16_SDFT_GPU/006_PW_SDFT_MALL_GPU/result.ref diff --git a/tests/16_SDFT_GPU/CASES_GPU.txt b/tests/16_SDFT_GPU/CASES_GPU.txt index d3e55c120b..5c63d300ea 100644 --- a/tests/16_SDFT_GPU/CASES_GPU.txt +++ b/tests/16_SDFT_GPU/CASES_GPU.txt @@ -1,6 +1,6 @@ -186_PW_KG_100_GPU -186_PW_SKG_MALL_GPU -187_PW_MD_SDFT_ALL_GPU -187_PW_SDFT_ALL_GPU -187_PW_SDFT_MALL_BPCG_GPU -187_PW_SDFT_MALL_GPU +001_PW_KG_100_GPU +002_PW_SKG_MALL_GPU +003_PW_MD_SDFT_ALL_GPU +004_PW_SDFT_ALL_GPU +005_PW_SDFT_MALL_BPCG_GPU +006_PW_SDFT_MALL_GPU diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 5b1022bddc..83f1f32629 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -2,7 +2,7 @@ add_subdirectory(integrate) add_subdirectory(01_PW) add_subdirectory(02_NAO_Gamma) add_subdirectory(03_NAO_multik) -add_subdirectory(04_LJ_DP) +add_subdirectory(04_FF) add_subdirectory(05_rtTDDFT) add_subdirectory(06_SDFT) add_subdirectory(07_OFDFT) diff --git a/tests/PP_ORB/F_ONCV_PBE-1.2.upf b/tests/PP_ORB/F_ONCV_PBE-1.2.upf new file mode 100644 index 0000000000..3d1bf0329e --- /dev/null +++ b/tests/PP_ORB/F_ONCV_PBE-1.2.upf @@ -0,0 +1,1229 @@ + + + + F_ONCV_PBE-1.2.upf + + This pseudopotential file has been produced using the code + ONCVPSP (Optimized Norm-Conservinng Vanderbilt PSeudopotential) + scalar-relativistic version 2.1.1, 03/26/2014 by D. R. Hamann + The code is available through a link at URL www.mat-simresearch.com. + Documentation with the package provides a full discription of the + input data below. + + + While it is not required under the terms of the GNU GPL, it is + suggested that you cite D. R. Hamann, Phys. Rev. B 88, 085117 (2013) + in any publication using these pseudopotentials. + + + Copyright 2015 The Regents of the University of California + + This work is licensed under the Creative Commons Attribution-ShareAlike + 4.0 International License. To view a copy of this license, visit + http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to + Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. + + This pseudopotential is part of the Schlipf-Gygi norm-conserving + pseudopotential library. Its construction parameters were tuned to + reproduce materials of a training set with very high accuracy and + should be suitable as a general purpose pseudopotential to treat a + variety of different compounds. For details of the construction and + testing of the pseudopotential please refer to: + + M. Schlipf and F. Gygi, Computer Physics Communications (2015) + DOI: 10.1016/j.cpc.2015.05.011 + http://dx.doi.org/10.1016/j.cpc.2015.05.011 + http://www.quantum-simulation.org + + We kindly ask that you include this reference in all publications + associated to this pseudopotential. + + + +# ATOM AND REFERENCE CONFIGURATION +# atsym z nc nv iexc psfile + F 9.00 1 2 4 upf +# +# n l f energy (Ha) + 1 0 2.00 + 2 0 2.00 + 2 1 5.00 +# +# PSEUDOPOTENTIAL AND OPTIMIZATION +# lmax + 1 +# +# l, rc, ep, ncon, nbas, qcut + 0 1.58478 -1.09879 5 8 8.73495 + 1 1.66223 -0.40834 5 8 8.69707 +# +# LOCAL POTENTIAL +# lloc, lpopt, rc(5), dvloc0 + 4 5 0.97178 0.00000 +# +# VANDERBILT-KLEINMAN-BYLANDER PROJECTORs +# l, nproj, debl + 0 2 1.51125 + 1 2 1.53167 +# +# MODEL CORE CHARGE +# icmod, fcfact + 0 0.00000 +# +# LOG DERIVATIVE ANALYSIS +# epsh1, epsh2, depsh + -5.00 3.00 0.02 +# +# OUTPUT GRID +# rlmax, drl + 6.00 0.01 +# +# TEST CONFIGURATIONS +# ncnf + 0 +# nvcnf +# n l f + + + + + + + + + 0.0000 0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 + 0.0800 0.0900 0.1000 0.1100 0.1200 0.1300 0.1400 0.1500 + 0.1600 0.1700 0.1800 0.1900 0.2000 0.2100 0.2200 0.2300 + 0.2400 0.2500 0.2600 0.2700 0.2800 0.2900 0.3000 0.3100 + 0.3200 0.3300 0.3400 0.3500 0.3600 0.3700 0.3800 0.3900 + 0.4000 0.4100 0.4200 0.4300 0.4400 0.4500 0.4600 0.4700 + 0.4800 0.4900 0.5000 0.5100 0.5200 0.5300 0.5400 0.5500 + 0.5600 0.5700 0.5800 0.5900 0.6000 0.6100 0.6200 0.6300 + 0.6400 0.6500 0.6600 0.6700 0.6800 0.6900 0.7000 0.7100 + 0.7200 0.7300 0.7400 0.7500 0.7600 0.7700 0.7800 0.7900 + 0.8000 0.8100 0.8200 0.8300 0.8400 0.8500 0.8600 0.8700 + 0.8800 0.8900 0.9000 0.9100 0.9200 0.9300 0.9400 0.9500 + 0.9600 0.9700 0.9800 0.9900 1.0000 1.0100 1.0200 1.0300 + 1.0400 1.0500 1.0600 1.0700 1.0800 1.0900 1.1000 1.1100 + 1.1200 1.1300 1.1400 1.1500 1.1600 1.1700 1.1800 1.1900 + 1.2000 1.2100 1.2200 1.2300 1.2400 1.2500 1.2600 1.2700 + 1.2800 1.2900 1.3000 1.3100 1.3200 1.3300 1.3400 1.3500 + 1.3600 1.3700 1.3800 1.3900 1.4000 1.4100 1.4200 1.4300 + 1.4400 1.4500 1.4600 1.4700 1.4800 1.4900 1.5000 1.5100 + 1.5200 1.5300 1.5400 1.5500 1.5600 1.5700 1.5800 1.5900 + 1.6000 1.6100 1.6200 1.6300 1.6400 1.6500 1.6600 1.6700 + 1.6800 1.6900 1.7000 1.7100 1.7200 1.7300 1.7400 1.7500 + 1.7600 1.7700 1.7800 1.7900 1.8000 1.8100 1.8200 1.8300 + 1.8400 1.8500 1.8600 1.8700 1.8800 1.8900 1.9000 1.9100 + 1.9200 1.9300 1.9400 1.9500 1.9600 1.9700 1.9800 1.9900 + 2.0000 2.0100 2.0200 2.0300 2.0400 2.0500 2.0600 2.0700 + 2.0800 2.0900 2.1000 2.1100 2.1200 2.1300 2.1400 2.1500 + 2.1600 2.1700 2.1800 2.1900 2.2000 2.2100 2.2200 2.2300 + 2.2400 2.2500 2.2600 2.2700 2.2800 2.2900 2.3000 2.3100 + 2.3200 2.3300 2.3400 2.3500 2.3600 2.3700 2.3800 2.3900 + 2.4000 2.4100 2.4200 2.4300 2.4400 2.4500 2.4600 2.4700 + 2.4800 2.4900 2.5000 2.5100 2.5200 2.5300 2.5400 2.5500 + 2.5600 2.5700 2.5800 2.5900 2.6000 2.6100 2.6200 2.6300 + 2.6400 2.6500 2.6600 2.6700 2.6800 2.6900 2.7000 2.7100 + 2.7200 2.7300 2.7400 2.7500 2.7600 2.7700 2.7800 2.7900 + 2.8000 2.8100 2.8200 2.8300 2.8400 2.8500 2.8600 2.8700 + 2.8800 2.8900 2.9000 2.9100 2.9200 2.9300 2.9400 2.9500 + 2.9600 2.9700 2.9800 2.9900 3.0000 3.0100 3.0200 3.0300 + 3.0400 3.0500 3.0600 3.0700 3.0800 3.0900 3.1000 3.1100 + 3.1200 3.1300 3.1400 3.1500 3.1600 3.1700 3.1800 3.1900 + 3.2000 3.2100 3.2200 3.2300 3.2400 3.2500 3.2600 3.2700 + 3.2800 3.2900 3.3000 3.3100 3.3200 3.3300 3.3400 3.3500 + 3.3600 3.3700 3.3800 3.3900 3.4000 3.4100 3.4200 3.4300 + 3.4400 3.4500 3.4600 3.4700 3.4800 3.4900 3.5000 3.5100 + 3.5200 3.5300 3.5400 3.5500 3.5600 3.5700 3.5800 3.5900 + 3.6000 3.6100 3.6200 3.6300 3.6400 3.6500 3.6600 3.6700 + 3.6800 3.6900 3.7000 3.7100 3.7200 3.7300 3.7400 3.7500 + 3.7600 3.7700 3.7800 3.7900 3.8000 3.8100 3.8200 3.8300 + 3.8400 3.8500 3.8600 3.8700 3.8800 3.8900 3.9000 3.9100 + 3.9200 3.9300 3.9400 3.9500 3.9600 3.9700 3.9800 3.9900 + 4.0000 4.0100 4.0200 4.0300 4.0400 4.0500 4.0600 4.0700 + 4.0800 4.0900 4.1000 4.1100 4.1200 4.1300 4.1400 4.1500 + 4.1600 4.1700 4.1800 4.1900 4.2000 4.2100 4.2200 4.2300 + 4.2400 4.2500 4.2600 4.2700 4.2800 4.2900 4.3000 4.3100 + 4.3200 4.3300 4.3400 4.3500 4.3600 4.3700 4.3800 4.3900 + 4.4000 4.4100 4.4200 4.4300 4.4400 4.4500 4.4600 4.4700 + 4.4800 4.4900 4.5000 4.5100 4.5200 4.5300 4.5400 4.5500 + 4.5600 4.5700 4.5800 4.5900 4.6000 4.6100 4.6200 4.6300 + 4.6400 4.6500 4.6600 4.6700 4.6800 4.6900 4.7000 4.7100 + 4.7200 4.7300 4.7400 4.7500 4.7600 4.7700 4.7800 4.7900 + 4.8000 4.8100 4.8200 4.8300 4.8400 4.8500 4.8600 4.8700 + 4.8800 4.8900 4.9000 4.9100 4.9200 4.9300 4.9400 4.9500 + 4.9600 4.9700 4.9800 4.9900 5.0000 5.0100 5.0200 5.0300 + 5.0400 5.0500 5.0600 5.0700 5.0800 5.0900 5.1000 5.1100 + 5.1200 5.1300 5.1400 5.1500 5.1600 5.1700 5.1800 5.1900 + 5.2000 5.2100 5.2200 5.2300 5.2400 5.2500 5.2600 5.2700 + 5.2800 5.2900 5.3000 5.3100 5.3200 5.3300 5.3400 5.3500 + 5.3600 5.3700 5.3800 5.3900 5.4000 5.4100 5.4200 5.4300 + 5.4400 5.4500 5.4600 5.4700 5.4800 5.4900 5.5000 5.5100 + 5.5200 5.5300 5.5400 5.5500 5.5600 5.5700 5.5800 5.5900 + 5.6000 5.6100 5.6200 5.6300 5.6400 5.6500 5.6600 5.6700 + 5.6800 5.6900 5.7000 5.7100 5.7200 5.7300 5.7400 5.7500 + 5.7600 5.7700 5.7800 5.7900 5.8000 5.8100 5.8200 5.8300 + 5.8400 5.8500 5.8600 5.8700 5.8800 5.8900 5.9000 5.9100 + 5.9200 5.9300 5.9400 5.9500 5.9600 5.9700 5.9800 5.9900 + 6.0000 6.0100 + + + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 + + + + -3.2448411942e+01 -3.2442814758e+01 -3.2425992589e+01 -3.2397853585e+01 + -3.2358244658e+01 -3.2306951489e+01 -3.2243698523e+01 -3.2168148971e+01 + -3.2079904811e+01 -3.1978506784e+01 -3.1863434399e+01 -3.1734965933e+01 + -3.1596125546e+01 -3.1449541783e+01 -3.1296895868e+01 -3.1139269817e+01 + -3.0977385573e+01 -3.0811759007e+01 -3.0642793212e+01 -3.0470831178e+01 + -3.0296182850e+01 -3.0119136896e+01 -2.9939964051e+01 -2.9758916228e+01 + -2.9576223827e+01 -2.9392092491e+01 -2.9206699871e+01 -2.9020192486e+01 + -2.8832682739e+01 -2.8644245942e+01 -2.8454917412e+01 -2.8264689783e+01 + -2.8073510821e+01 -2.7881282138e+01 -2.7687859242e+01 -2.7493053877e+01 + -2.7296638358e+01 -2.7098353254e+01 -2.6897917634e+01 -2.6695042087e+01 + -2.6489443815e+01 -2.6280862692e+01 -2.6069077126e+01 -2.5853918352e+01 + -2.5635281852e+01 -2.5413134883e+01 -2.5187519527e+01 -2.4958551156e+01 + -2.4726412628e+01 -2.4491345579e+01 -2.4253639021e+01 -2.4013616661e+01 + -2.3771624683e+01 -2.3528020235e+01 -2.3283161199e+01 -2.3037398126e+01 + -2.2791068025e+01 -2.2544490282e+01 -2.2297963978e+01 -2.2051766989e+01 + -2.1806156110e+01 -2.1561367463e+01 -2.1317618757e+01 -2.1075109814e+01 + -2.0834025167e+01 -2.0594535793e+01 -2.0356800054e+01 -2.0120965805e+01 + -1.9887171500e+01 -1.9655547171e+01 -1.9426215124e+01 -1.9199290852e+01 + -1.8974883418e+01 -1.8753095796e+01 -1.8534025123e+01 -1.8317762603e+01 + -1.8104393739e+01 -1.7893998199e+01 -1.7686649699e+01 -1.7482415841e+01 + -1.7281357925e+01 -1.7083530724e+01 -1.6888982247e+01 -1.6697753494e+01 + -1.6509878191e+01 -1.6325382529e+01 -1.6144284894e+01 -1.5966595599e+01 + -1.5792316607e+01 -1.5621441266e+01 -1.5453954026e+01 -1.5289830168e+01 + -1.5129035529e+01 -1.4971526213e+01 -1.4817248315e+01 -1.4666137628e+01 + -1.4518119428e+01 -1.4373108287e+01 -1.4231006926e+01 -1.4091714223e+01 + -1.3955131690e+01 -1.3821165428e+01 -1.3689725951e+01 -1.3560727783e+01 + -1.3434089761e+01 -1.3309734625e+01 -1.3187588737e+01 -1.3067582022e+01 + -1.2949647602e+01 -1.2833722239e+01 -1.2719745863e+01 -1.2607661293e+01 + -1.2497414072e+01 -1.2388952600e+01 -1.2282228249e+01 -1.2177194686e+01 + -1.2073807753e+01 -1.1972025927e+01 -1.1871810033e+01 -1.1773122779e+01 + -1.1675928570e+01 -1.1580194509e+01 -1.1485889120e+01 -1.1392982320e+01 + -1.1301446252e+01 -1.1211254433e+01 -1.1122381433e+01 -1.1034803608e+01 + -1.0948498483e+01 -1.0863444311e+01 -1.0779620806e+01 -1.0697008442e+01 + -1.0615588168e+01 -1.0535342065e+01 -1.0456252470e+01 -1.0378302141e+01 + -1.0301474355e+01 -1.0225752426e+01 -1.0151119919e+01 -1.0077560367e+01 + -1.0005057358e+01 -9.9335942731e+00 -9.8631544229e+00 -9.7937209123e+00 + -9.7252765304e+00 -9.6578040444e+00 -9.5912856903e+00 -9.5257037493e+00 + -9.4610401057e+00 -9.3972765929e+00 -9.3343948718e+00 -9.2723765749e+00 + -9.2112032621e+00 -9.1508566973e+00 -9.0913185535e+00 -9.0325710012e+00 + -8.9745961866e+00 -8.9173768549e+00 -8.8608959922e+00 -8.8051371184e+00 + -8.7500844200e+00 -8.6957224979e+00 -8.6420369356e+00 -8.5890134570e+00 + -8.5366390043e+00 -8.4849004018e+00 -8.4337858669e+00 -8.3832833738e+00 + -8.3333822020e+00 -8.2840714673e+00 -8.2353409886e+00 -8.1871804242e+00 + -8.1395800053e+00 -8.0925297962e+00 -8.0460204716e+00 -8.0000426296e+00 + -7.9545873189e+00 -7.9096456069e+00 -7.8652088769e+00 -7.8212686656e+00 + -7.7778166543e+00 -7.7348448410e+00 -7.6923451715e+00 -7.6503100955e+00 + -7.6087317958e+00 -7.5676031435e+00 -7.5269165888e+00 -7.4866653125e+00 + -7.4468421629e+00 -7.4074404781e+00 -7.3684535463e+00 -7.3298748309e+00 + -7.2916980569e+00 -7.2539167922e+00 -7.2165251575e+00 -7.1795168991e+00 + -7.1428863732e+00 -7.1066276965e+00 -7.0707352691e+00 -7.0352036355e+00 + -7.0000272191e+00 -6.9652009361e+00 -6.9307193630e+00 -6.8965775766e+00 + -6.8627705195e+00 -6.8292932415e+00 -6.7961410955e+00 -6.7633091234e+00 + -6.7307929400e+00 -6.6985878974e+00 -6.6666895443e+00 -6.6350936470e+00 + -6.6037956862e+00 -6.5727916984e+00 -6.5420774553e+00 -6.5116488916e+00 + -6.4815021700e+00 -6.4516331846e+00 -6.4220382939e+00 -6.3927136985e+00 + -6.3636556204e+00 -6.3348606021e+00 -6.3063249345e+00 -6.2780452059e+00 + -6.2500180547e+00 -6.2222399092e+00 -6.1947076696e+00 -6.1674180156e+00 + -6.1403676831e+00 -6.1135536801e+00 -6.0869727934e+00 -6.0606220410e+00 + -6.0344985282e+00 -6.0085991542e+00 -5.9829211881e+00 -5.9574618160e+00 + -5.9322180946e+00 -5.9071874719e+00 -5.8823672117e+00 -5.8577545794e+00 + -5.8333471233e+00 -5.8091422106e+00 -5.7851372931e+00 -5.7613300161e+00 + -5.7377178513e+00 -5.7142984140e+00 -5.6910694456e+00 -5.6680285225e+00 + -5.6451734023e+00 -5.6225019218e+00 -5.6000117626e+00 -5.5777008038e+00 + -5.5555669784e+00 -5.5336080725e+00 -5.5118220681e+00 -5.4902069945e+00 + -5.4687607425e+00 -5.4474813788e+00 -5.4263670296e+00 -5.4054156903e+00 + -5.3846254956e+00 -5.3639946692e+00 -5.3435213108e+00 -5.3232036080e+00 + -5.3030398813e+00 -5.2830283359e+00 -5.2631671973e+00 -5.2434548829e+00 + -5.2238897032e+00 -5.2044699097e+00 -5.1851940146e+00 -5.1660604246e+00 + -5.1470674363e+00 -5.1282136243e+00 -5.1094974795e+00 -5.0909174015e+00 + -5.0724719581e+00 -5.0541597420e+00 -5.0359792589e+00 -5.0179290576e+00 + -5.0000078312e+00 -4.9822141930e+00 -4.9645466652e+00 -4.9470040364e+00 + -4.9295849901e+00 -4.9122881334e+00 -4.8951122293e+00 -4.8780560604e+00 + -4.8611183414e+00 -4.8442977816e+00 -4.8275932648e+00 -4.8110035943e+00 + -4.7945274874e+00 -4.7781638569e+00 -4.7619115832e+00 -4.7457694908e+00 + -4.7297364177e+00 -4.7138113480e+00 -4.6979931939e+00 -4.6822807880e+00 + -4.6666731380e+00 -4.6511692299e+00 -4.6357680058e+00 -4.6204683798e+00 + -4.6052694421e+00 -4.5901702041e+00 -4.5751696191e+00 -4.5602667403e+00 + -4.5454606672e+00 -4.5307504570e+00 -4.5161350814e+00 -4.5016137146e+00 + -4.4871854664e+00 -4.4728494180e+00 -4.4586046253e+00 -4.4444503049e+00 + -4.4303855999e+00 -4.4164096110e+00 -4.4025214906e+00 -4.3887204726e+00 + -4.3750057399e+00 -4.3613764167e+00 -4.3478317376e+00 -4.3343709555e+00 + -4.3209932916e+00 -4.3076978967e+00 -4.2944840739e+00 -4.2813510979e+00 + -4.2682982260e+00 -4.2553246387e+00 -4.2424296947e+00 -4.2296126929e+00 + -4.2168729256e+00 -4.2042096048e+00 -4.1916221329e+00 -4.1791098364e+00 + -4.1666720403e+00 -4.1543079905e+00 -4.1420171219e+00 -4.1297987911e+00 + -4.1176523546e+00 -4.1055770937e+00 -4.0935724657e+00 -4.0816378600e+00 + -4.0697726630e+00 -4.0579761930e+00 -4.0462479204e+00 -4.0345872693e+00 + -4.0229936547e+00 -4.0114664342e+00 -4.0000050815e+00 -3.9886090580e+00 + -3.9772778060e+00 -3.9660107241e+00 -3.9548072810e+00 -3.9436669767e+00 + -3.9325892797e+00 -3.9215736322e+00 -3.9106194894e+00 -3.8997263916e+00 + -3.8888938319e+00 -3.8781212984e+00 -3.8674082259e+00 -3.8567541955e+00 + -3.8461587240e+00 -3.8356213281e+00 -3.8251414732e+00 -3.8147187249e+00 + -3.8043526410e+00 -3.7940427607e+00 -3.7837885986e+00 -3.7735896819e+00 + -3.7634456151e+00 -3.7533559589e+00 -3.7433202740e+00 -3.7333380611e+00 + -3.7234089538e+00 -3.7135325387e+00 -3.7037083970e+00 -3.6939360815e+00 + -3.6842151726e+00 -3.6745453081e+00 -3.6649260887e+00 -3.6553571149e+00 + -3.6458379321e+00 -3.6363682052e+00 -3.6269475609e+00 -3.6175756183e+00 + -3.6082519784e+00 -3.5989762400e+00 -3.5897480836e+00 -3.5805671465e+00 + -3.5714330655e+00 -3.5623454389e+00 -3.5533039308e+00 -3.5443082173e+00 + -3.5353579523e+00 -3.5264527898e+00 -3.5175923296e+00 -3.5087762901e+00 + -3.5000043456e+00 -3.4912761662e+00 -3.4825914123e+00 -3.4739497181e+00 + -3.4653508168e+00 -3.4567943938e+00 -3.4482801345e+00 -3.4398077046e+00 + -3.4313767770e+00 -3.4229870888e+00 -3.4146383399e+00 -3.4063302306e+00 + -3.3980624352e+00 -3.3898346558e+00 -3.3816466364e+00 -3.3734980910e+00 + -3.3653887336e+00 -3.3573182499e+00 -3.3492863632e+00 -3.3412928269e+00 + -3.3333373681e+00 -3.3254197144e+00 -3.3175395652e+00 -3.3096966571e+00 + -3.3018907553e+00 -3.2941215999e+00 -3.2863889309e+00 -3.2786924642e+00 + -3.2710319422e+00 -3.2634071444e+00 -3.2558178230e+00 -3.2482637303e+00 + -3.2407446006e+00 -3.2332601752e+00 -3.2258102504e+00 -3.2183945899e+00 + -3.2110129574e+00 -3.2036651083e+00 -3.1963507761e+00 -3.1890697759e+00 + -3.1818218824e+00 -3.1746068703e+00 -3.1674245144e+00 -3.1602745456e+00 + -3.1531567885e+00 -3.1460710318e+00 -3.1390170609e+00 -3.1319946609e+00 + -3.1250035878e+00 -3.1180436444e+00 -3.1111146437e+00 -3.1042163809e+00 + -3.0973486514e+00 -3.0905112384e+00 -3.0837039176e+00 -3.0769265276e+00 + -3.0701788730e+00 -3.0634607588e+00 -3.0567719896e+00 -3.0501123338e+00 + -3.0434816320e+00 -3.0368797061e+00 -3.0303063698e+00 -3.0237614372e+00 + -3.0172447078e+00 -3.0107559829e+00 -3.0042951147e+00 -2.9978619256e+00 + -2.9914562381e+00 -2.9850778749e+00 -2.9787266262e+00 -2.9724023426e+00 + -2.9661048653e+00 -2.9598340251e+00 -2.9535896529e+00 -2.9473715739e+00 + -2.9411795896e+00 -2.9350135744e+00 -2.9288733670e+00 -2.9227588062e+00 + -2.9166697306e+00 -2.9106059613e+00 -2.9045673346e+00 -2.8985537198e+00 + -2.8925649632e+00 -2.8866009110e+00 -2.8806614095e+00 -2.8747462783e+00 + -2.8688553814e+00 -2.8629885856e+00 -2.8571457441e+00 -2.8513267105e+00 + -2.8455313381e+00 -2.8397594484e+00 -2.8340109254e+00 -2.8282856361e+00 + -2.8225834407e+00 -2.8169041995e+00 -2.8112477726e+00 -2.8056139857e+00 + -2.8000027365e+00 -2.7944138947e+00 -2.7888473270e+00 -2.7833029001e+00 + -2.7777804808e+00 -2.7722799012e+00 -2.7668010663e+00 -2.7613438511e+00 + -2.7559081285e+00 -2.7504937715e+00 -2.7451006531e+00 -2.7397286140e+00 + -2.7343775606e+00 -2.7290473757e+00 -2.7237379381e+00 -2.7184491266e+00 + -2.7131808201e+00 -2.7079328702e+00 -2.7027051793e+00 -2.6974976398e+00 + -2.6923101363e+00 -2.6871425533e+00 -2.6819947753e+00 -2.6768666667e+00 + -2.6717581206e+00 -2.6666690413e+00 -2.6615993188e+00 -2.6565488430e+00 + -2.6515175036e+00 -2.6465051801e+00 -2.6415117513e+00 -2.6365371353e+00 + -2.6315812271e+00 -2.6266439217e+00 -2.6217251141e+00 -2.6168246994e+00 + -2.6119425412e+00 -2.6070785694e+00 -2.6022326849e+00 -2.5974047878e+00 + -2.5925947780e+00 -2.5878025552e+00 -2.5830280019e+00 -2.5782710233e+00 + -2.5735315388e+00 -2.5688094527e+00 -2.5641046697e+00 -2.5594170944e+00 + -2.5547466298e+00 -2.5500931528e+00 -2.5454566016e+00 -2.5408368854e+00 + -2.5362339132e+00 -2.5316475940e+00 -2.5270778368e+00 -2.5225245360e+00 + -2.5179876010e+00 -2.5134669613e+00 -2.5089625300e+00 -2.5044742204e+00 + -2.5000019459e+00 -2.4955456195e+00 -2.4911051303e+00 -2.4866804135e+00 + -2.4822713921e+00 -2.4778779831e+00 -2.4735001041e+00 -2.4691376721e+00 + -2.4647906022e+00 -2.4604587878e+00 -2.4561421765e+00 -2.4518406895e+00 + -2.4475542479e+00 -2.4432827729e+00 -2.4390261857e+00 -2.4347843996e+00 + -2.4305573237e+00 -2.4263449036e+00 -2.4221470641e+00 -2.4179637299e+00 + -2.4137948261e+00 -2.4096402773e+00 -2.4054999979e+00 -2.4013739071e+00 + -2.3972619505e+00 -2.3931640565e+00 -2.3890801534e+00 -2.3850101696e+00 + -2.3809540333e+00 -2.3769116622e+00 -2.3728829801e+00 -2.3688679351e+00 + -2.3648664589e+00 -2.3608784832e+00 -2.3569039396e+00 -2.3529427598e+00 + -2.3489948667e+00 -2.3450601839e+00 -2.3411386641e+00 -2.3372302421e+00 + -2.3333348527e+00 -2.3294524309e+00 + + + + 0.0000000000E+00 -8.2765367661E-02 -1.6535439277E-01 -2.4759073313E-01 + -3.2929805361E-01 -4.1030004538E-01 -4.9042046381E-01 -5.6948319073E-01 + -6.4731232665E-01 -7.2373231787E-01 -7.9856812308E-01 -8.7164542344E-01 + -9.4279087946E-01 -1.0118324374E+00 -1.0785996870E+00 -1.1429242724E+00 + -1.2046403547E+00 -1.2635851290E+00 -1.3195993906E+00 -1.3725281521E+00 + -1.4222213049E+00 -1.4685343244E+00 -1.5113290116E+00 -1.5504742676E+00 + -1.5858468932E+00 -1.6173324094E+00 -1.6448258870E+00 -1.6682327836E+00 + -1.6874697713E+00 -1.7024655547E+00 -1.7131616646E+00 -1.7195132203E+00 + -1.7214896476E+00 -1.7190753488E+00 -1.7122703208E+00 -1.7010906727E+00 + -1.6855691189E+00 -1.6657553283E+00 -1.6417162121E+00 -1.6135361183E+00 + -1.5813168878E+00 -1.5451778198E+00 -1.5052555146E+00 -1.4617035941E+00 + -1.4146922985E+00 -1.3644079581E+00 -1.3110523391E+00 -1.2548418642E+00 + -1.1960067203E+00 -1.1347898338E+00 -1.0714457210E+00 -1.0062392688E+00 + -9.3944443284E-01 -8.7134265843E-01 -8.0222155879E-01 -7.3237316395E-01 + -6.6209233374E-01 -5.9167508860E-01 -5.2141676925E-01 -4.5161035964E-01 + -3.8254475928E-01 -3.1450270459E-01 -2.4775971028E-01 -1.8258139941E-01 + -1.1922254256E-01 -5.7925627099E-02 1.0816413515E-03 5.7586891468E-02 + 1.1139453579E-01 1.6232708368E-01 2.1022662989E-01 2.5495518882E-01 + 2.9639569708E-01 3.3445262830E-01 3.6905235947E-01 4.0014400110E-01 + 4.2769890970E-01 4.5171084310E-01 4.7219572975E-01 4.8919125795E-01 + 5.0275628620E-01 5.1297007788E-01 5.1993136431E-01 5.2375724189E-01 + 5.2458191002E-01 5.2255525768E-01 5.1784130741E-01 5.1061652652E-01 + 5.0106801599E-01 4.8939158832E-01 4.7578974627E-01 4.6046957485E-01 + 4.4364055954E-01 4.2551234395E-01 4.0629244057E-01 3.8618390821E-01 + 3.6538313212E-01 3.4407778179E-01 3.2244289156E-01 3.0064331460E-01 + 2.7883485469E-01 2.5716430669E-01 2.3576880028E-01 2.1477587394E-01 + 1.9430130196E-01 1.7444959762E-01 1.5531423192E-01 1.3697718725E-01 + 1.1950972421E-01 1.0297016042E-01 8.7405356812E-02 7.2851518361E-02 + 5.9334602552E-02 4.6869704309E-02 3.5460950262E-02 2.5104002352E-02 + 1.5786392842E-02 7.4865282300E-03 1.7534614752E-04 -6.1821995303E-03 + -1.1626801411E-02 -1.6205272039E-02 -1.9967837257E-02 -2.2968341345E-02 + -2.5263537552E-02 -2.6911637438E-02 -2.7972606425E-02 -2.8506461342E-02 + -2.8572533740E-02 -2.8230657383E-02 -2.7537891173E-02 -2.6549152594E-02 + -2.5319207786E-02 -2.3896863190E-02 -2.2329198646E-02 -2.0661340362E-02 + -1.8931184366E-02 -1.7176104778E-02 -1.5427949189E-02 -1.3713595067E-02 + -1.2059606440E-02 -1.0483629397E-02 -9.0032909803E-03 -7.6311182238E-03 + -6.3753953137E-03 -5.2437916605E-03 -4.2372624797E-03 -3.3573576442E-03 + -2.6008205312E-03 -1.9633918099E-03 -1.4386562128E-03 -1.0180559031E-03 + -6.9256064193E-04 -4.5091828367E-04 -2.8191152043E-04 -1.7292233306E-04 + -1.1121292386E-04 -8.5369253048E-05 -7.9235921821E-05 -5.5422529727E-05 + -1.3577136348E-05 4.8224950449E-06 2.0458210430E-06 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 + + + 0.0000000000E+00 8.4977745027E-03 1.6995075500E-02 2.5490065749E-02 + 3.3978201948E-02 4.2450934978E-02 5.0894473377E-02 5.9288629977E-02 + 6.7605770620E-02 7.5809882731E-02 8.3855780035E-02 9.1688458162E-02 + 9.9242614015E-02 1.0644233988E-01 1.1320100107E-01 1.1942130375E-01 + 1.2499555719E-01 1.2980613222E-01 1.3372611542E-01 1.3662015609E-01 + 1.3834549949E-01 1.3875320039E-01 1.3768950360E-01 1.3499738183E-01 + 1.3051821232E-01 1.2409358079E-01 1.1556718545E-01 1.0478683256E-01 + 9.1606484668E-02 7.5888355321E-02 5.7505016071E-02 3.6341492739E-02 + 1.2297318679E-02 -1.4711469151E-02 -4.4750397420E-02 -7.7864823908E-02 + -1.1407819815E-01 -1.5339064203E-01 -1.9577762913E-01 -2.4118883907E-01 + -2.8954733706E-01 -3.4074892451E-01 -3.9466176559E-01 -4.5112628491E-01 + -5.0995534554E-01 -5.7093471422E-01 -6.3382381778E-01 -6.9835679160E-01 + -7.6424381400E-01 -8.3117271149E-01 -8.9881087821E-01 -9.6680741987E-01 + -1.0347954850E+00 -1.1023950777E+00 -1.1692156453E+00 -1.2348592994E+00 + -1.2989239104E+00 -1.3610063408E+00 -1.4207060156E+00 -1.4776282382E+00 + -1.5313876060E+00 -1.5816120485E+00 -1.6279450506E+00 -1.6700507459E+00 + -1.7076159179E+00 -1.7403527959E+00 -1.7680037914E+00 -1.7903426082E+00 + -1.8071769482E+00 -1.8183509107E+00 -1.8237476452E+00 -1.8232898072E+00 + -1.8169411719E+00 -1.8047074551E+00 -1.7866366075E+00 -1.7628198051E+00 + -1.7333900298E+00 -1.6985216857E+00 -1.6584294326E+00 -1.6133666024E+00 + -1.5636232051E+00 -1.5095235344E+00 -1.4514233827E+00 -1.3897068843E+00 + -1.3247830036E+00 -1.2570816894E+00 -1.1870497206E+00 -1.1151462670E+00 + -1.0418381943E+00 -9.6759514144E-01 -8.9288440216E-01 -8.1816564080E-01 + -7.4388547624E-01 -6.7047196638E-01 -5.9832902667E-01 -5.2783081587E-01 + -4.5931646190E-01 -3.9308523362E-01 -3.2938674171E-01 -2.6843543308E-01 + -2.1042079306E-01 -1.5551012883E-01 -1.0384739811E-01 -5.5553267607E-02 + -1.0721577519E-02 3.0579563964E-02 6.8307117986E-02 1.0244347407E-01 + 1.3299487523E-01 1.5999429677E-01 1.8349831212E-01 2.0358522753E-01 + 2.2035390058E-01 2.3392375318E-01 2.4443326951E-01 2.5203600052E-01 + 2.5689964675E-01 2.5920525667E-01 2.5914348389E-01 2.5691270000E-01 + 2.5271876249E-01 2.4676917902E-01 2.3927328024E-01 2.3044260696E-01 + 2.2048291749E-01 2.0959531547E-01 1.9797894850E-01 1.8582087599E-01 + 1.7329779612E-01 1.6058217724E-01 1.4782763601E-01 1.3517524571E-01 + 1.2276102508E-01 1.1069451482E-01 9.9076780028E-02 8.7998558618E-02 + 7.7524185835E-02 6.7714303821E-02 5.8609844057E-02 5.0235849963E-02 + 4.2613991911E-02 3.5740464725E-02 2.9610292004E-02 2.4204105215E-02 + 1.9492759996E-02 1.5443516351E-02 1.2011201781E-02 9.1503490091E-03 + 6.8082875289E-03 4.9316828485E-03 3.4640512661E-03 2.3510347548E-03 + 1.5352102650E-03 9.6680587365E-04 5.9179985676E-04 3.6746650307E-04 + 2.4847136162E-04 2.0541396997E-04 1.9735433251E-04 1.3946320563E-04 + 3.4431398061E-05 -1.2062177406E-05 -5.1170724142E-06 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 + + + 0.0000000000E+00 1.9611468028E-03 7.8372836409E-03 1.7606497004E-02 + 3.1232255576E-02 4.8663398899E-02 6.9834125173E-02 9.4663981814E-02 + 1.2305786328E-01 1.5490602153E-01 1.9008409525E-01 2.2845316460E-01 + 2.6985983867E-01 3.1413638345E-01 3.6110089808E-01 4.1055754739E-01 + 4.6229685872E-01 5.1609609063E-01 5.7171968095E-01 6.2891978088E-01 + 6.8743688113E-01 7.4700053584E-01 8.0733018784E-01 8.6813609925E-01 + 9.2912038851E-01 9.8997817583E-01 1.0503988343E+00 1.1100673473E+00 + 1.1686657648E+00 1.2258747565E+00 1.2813752541E+00 1.3348501731E+00 + 1.3859862037E+00 1.4344756627E+00 1.4800183971E+00 1.5223236986E+00 + 1.5611122726E+00 1.5961181671E+00 1.6270907089E+00 1.6537964123E+00 + 1.6760208120E+00 1.6935702425E+00 1.7062735245E+00 1.7139835429E+00 + 1.7165786997E+00 1.7139642225E+00 1.7060733141E+00 1.6928681254E+00 + 1.6743405448E+00 1.6505127778E+00 1.6214377008E+00 1.5871990211E+00 + 1.5479112277E+00 1.5037191470E+00 1.4547975498E+00 1.4013502141E+00 + 1.3436089431E+00 1.2818323301E+00 1.2163041610E+00 1.1473317832E+00 + 1.0752442327E+00 1.0003897901E+00 9.2313442610E-01 8.4385832010E-01 + 7.6295402632E-01 6.8082398756E-01 5.9787660971E-01 5.1452439381E-01 + 4.3118089780E-01 3.4825768833E-01 2.6616089417E-01 1.8528906668E-01 + 1.0603009463E-01 2.8758489555E-02 -4.6167094740E-02 -1.1840710263E-01 + -1.8764257635E-01 -2.5357759680E-01 -3.1594124843E-01 -3.7448936894E-01 + -4.2900606955E-01 -4.7930501435E-01 -5.2523044969E-01 -5.6665797759E-01 + -6.0349506996E-01 -6.3568132337E-01 -6.6318845701E-01 -6.8602005930E-01 + -7.0421109184E-01 -7.1782716175E-01 -7.2696357674E-01 -7.3174419967E-01 + -7.3232012198E-01 -7.2886817792E-01 -7.2158932347E-01 -7.1070690591E-01 + -6.9646494868E-01 -6.7912657307E-01 -6.5897082341E-01 -6.3628941070E-01 + -6.1138147417E-01 -5.8455004749E-01 -5.5609924002E-01 -5.2633291671E-01 + -4.9554864077E-01 -4.6403668324E-01 -4.3207875408E-01 -3.9994526442E-01 + -3.6789543425E-01 -3.3617002508E-01 -3.0499270111E-01 -2.7457023768E-01 + -2.4509192377E-01 -2.1672600756E-01 -1.8961681440E-01 -1.6389013143E-01 + -1.3965285480E-01 -1.1698752096E-01 -9.5955006121E-02 -7.6598149605E-02 + -5.8942151644E-02 -4.2987877701E-02 -2.8722116884E-02 -1.6116494201E-02 + -5.1243659392E-03 4.3128249825E-03 1.2265274184E-02 1.8814900779E-02 + 2.4051121315E-02 2.8071869435E-02 3.0979615466E-02 3.2879563259E-02 + 3.3883231589E-02 3.4097515949E-02 3.3630612196E-02 3.2592260650E-02 + 3.1080832705E-02 2.9197482275E-02 2.7034383082E-02 2.4674209618E-02 + 2.2202389214E-02 1.9682885005E-02 1.7181738999E-02 1.4752663233E-02 + 1.2437950076E-02 1.0279876470E-02 8.3001394959E-03 6.5233652879E-03 + 4.9586065009E-03 3.6117758999E-03 2.4815456565E-03 1.5588734699E-03 + 8.3309858928E-04 2.8550623794E-04 -1.0264859051E-04 -3.5445577233E-04 + -4.9345232080E-04 -5.4373776604E-04 -5.2898375604E-04 -4.7169537541E-04 + -3.9127386456E-04 -3.0600972886E-04 -2.2753204476E-04 -1.6741312086E-04 + -1.2713751706E-04 -1.1340499796E-04 -1.0668204175E-04 -6.3668448347E-05 + -9.9072569465E-06 7.0087003564E-06 2.1433819194E-06 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 + + + 0.0000000000E+00 5.9773221541E-04 2.3858361700E-03 5.3490392501E-03 + 9.4619057084E-03 1.4688865992E-02 2.0984260598E-02 2.8292401184E-02 + 3.6547652350E-02 4.5674538108E-02 5.5587877593E-02 6.6192955001E-02 + 7.7385729049E-02 8.9053087475E-02 1.0107315216E-01 1.1331564044E-01 + 1.2564228786E-01 1.3790733761E-01 1.4995810091E-01 1.6163559273E-01 + 1.7277524549E-01 1.8320770403E-01 1.9275970230E-01 2.0125502296E-01 + 2.0851553847E-01 2.1436233260E-01 2.1861689746E-01 2.2110240392E-01 + 2.2164503592E-01 2.2007538495E-01 2.1622989379E-01 2.0995234019E-01 + 2.0109534782E-01 1.8952191445E-01 1.7510694671E-01 1.5773876855E-01 + 1.3732062642E-01 1.1377212564E-01 8.7030621867E-02 5.7052538582E-02 + 2.3814578641E-02 -1.2685164594E-02 -5.2426225232E-02 -9.5364925420E-02 + -1.4143369360E-01 -1.9054055466E-01 -2.4256880496E-01 -2.9737688358E-01 + -3.5479843738E-01 -4.1464262466E-01 -4.7669464387E-01 -5.4071643668E-01 + -6.0644760316E-01 -6.7360676807E-01 -7.4189274074E-01 -8.1098634117E-01 + -8.8055214687E-01 -9.5024048966E-01 -1.0196897847E+00 -1.0885288195E+00 + -1.1563792359E+00 -1.2228585605E+00 -1.2875821909E+00 -1.3501673569E+00 + -1.4102352449E+00 -1.4674137674E+00 -1.5213416399E+00 -1.5716703352E+00 + -1.6180671254E+00 -1.6602180226E+00 -1.6978309486E+00 -1.7306376434E+00 + -1.7583963239E+00 -1.7808939022E+00 -1.7979479107E+00 -1.8094088465E+00 + -1.8151610755E+00 -1.8151243300E+00 -1.8092547063E+00 -1.7975453663E+00 + -1.7800269376E+00 -1.7567676063E+00 -1.7278729008E+00 -1.6934851707E+00 + -1.6537827651E+00 -1.6089789206E+00 -1.5593203713E+00 -1.5050856971E+00 + -1.4465834302E+00 -1.3841499407E+00 -1.3181471291E+00 -1.2489599521E+00 + -1.1769938134E+00 -1.1026718525E+00 -1.0264321663E+00 -9.4872499882E-01 + -8.7001011351E-01 -7.9075447345E-01 -7.1142732772E-01 -6.3249373820E-01 + -5.5440518425E-01 -4.7759471379E-01 -4.0247403745E-01 -3.2943274706E-01 + -2.5883094184E-01 -1.9099956046E-01 -1.2623977953E-01 -6.4820527244E-02 + -6.9793736989E-03 4.7084794883E-02 9.7208629142E-02 1.4326318730E-01 + 1.8515387986E-01 2.2282300659E-01 2.5625035620E-01 2.8544730917E-01 + 3.1045676293E-01 3.3135553498E-01 3.4824977761E-01 3.6127177387E-01 + 3.7057991105E-01 3.7635605020E-01 3.7880100128E-01 3.7813561445E-01 + 3.7459370508E-01 3.6842004805E-01 3.5987311488E-01 3.4921366126E-01 + 3.3670401388E-01 3.2261525743E-01 3.0720796644E-01 2.9073760820E-01 + 2.7346497804E-01 2.5562397686E-01 2.3744521919E-01 2.1915386240E-01 + 2.0094075053E-01 1.8299821550E-01 1.6549220808E-01 1.4856470775E-01 + 1.3235835347E-01 1.1696870987E-01 1.0249228877E-01 8.8997937695E-02 + 7.6531002148E-02 6.5132640119E-02 5.4805852943E-02 4.5555286660E-02 + 3.7357272582E-02 3.0180930773E-02 2.3980892248E-02 1.8699831944E-02 + 1.4273658696E-02 1.0629369785E-02 7.6885993667E-03 5.3718493032E-03 + 3.5948506747E-03 2.2773479413E-03 1.3386652617E-03 7.0309247256E-04 + 3.0188693487E-04 6.9175478476E-05 -4.5419229102E-05 -9.2918901896E-05 + -1.0112529581E-04 -1.0583698968E-04 -1.0076824363E-04 -6.0375466996E-05 + -9.5063621947E-06 6.5516822872E-06 2.0036178809E-06 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 + + + 1.1057842273E+01 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 1.6602233398E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 -8.3468735662E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 -3.2124804198E+00 + + + + + + 0.0000000000E+00 7.2122500061E-04 2.9000415386E-03 6.5816740579E-03 + 1.1840831885E-02 1.8780720652E-02 2.7531675265E-02 3.8249431101E-02 + 5.1113054520E-02 6.6322557873E-02 8.4096227915E-02 1.0466769998E-01 + 1.2828281313E-01 1.5519628407E-01 1.8566823947E-01 2.1996064802E-01 + 2.5833369428E-01 3.0104213680E-01 3.4833169311E-01 4.0043549303E-01 + 4.5757064131E-01 5.1993492791E-01 5.8770372330E-01 6.6102709263E-01 + 7.4002715994E-01 8.2479575130E-01 9.1539233953E-01 1.0118423146E+00 + 1.1141355910E+00 1.2222255698E+00 1.3360284623E+00 1.4554229786E+00 + 1.5802503773E+00 1.7103148785E+00 1.8453844523E+00 1.9851918779E+00 + 2.1294362503E+00 2.2777846613E+00 2.4298742349E+00 2.5853144704E+00 + 2.7436897113E+00 2.9045618961E+00 3.0674734695E+00 3.2319504378E+00 + 3.3975055383E+00 3.5636414911E+00 3.7298542991E+00 3.8956365637E+00 + 4.0604807452E+00 4.2238824963E+00 4.3853438628E+00 4.5443762620E+00 + 4.7005034064E+00 4.8532644259E+00 5.0022160564E+00 5.1469354399E+00 + 5.2870221927E+00 5.4221004449E+00 5.5518206856E+00 5.6758612602E+00 + 5.7939296475E+00 5.9057636370E+00 6.0111319345E+00 6.1098349174E+00 + 6.2017047977E+00 6.2866058165E+00 6.3644339367E+00 6.4351165629E+00 + 6.4986120043E+00 6.5549086866E+00 6.6040239359E+00 6.6460031546E+00 + 6.6809184616E+00 6.7088673123E+00 6.7299711139E+00 6.7443730326E+00 + 6.7522369006E+00 6.7537452720E+00 6.7490976212E+00 6.7385085153E+00 + 6.7222057743E+00 6.7004286372E+00 6.6734259453E+00 6.6414543587E+00 + 6.6047766170E+00 6.5636598556E+00 6.5183739871E+00 6.4691901576E+00 + 6.4163792849E+00 6.3602106846E+00 6.3009507908E+00 6.2388619742E+00 + 6.1742014614E+00 6.1072203569E+00 6.0381627688E+00 5.9672650374E+00 + 5.8947551709E+00 5.8208524378E+00 5.7457656866E+00 5.6696943616E+00 + 5.5928277374E+00 5.5153447151E+00 5.4374136965E+00 5.3591929509E+00 + 5.2808293985E+00 5.2024594974E+00 5.1242096210E+00 5.0461960133E+00 + 4.9685253004E+00 4.8912937852E+00 4.8145885522E+00 4.7384879196E+00 + 4.6630616558E+00 4.5883710574E+00 4.5144696006E+00 4.4414035728E+00 + 4.3692121157E+00 4.2979278271E+00 4.2275775572E+00 4.1581824057E+00 + 4.0897575184E+00 4.0223146380E+00 3.9558607133E+00 3.8903977081E+00 + 3.8259255815E+00 3.7624410845E+00 3.6999366807E+00 3.6384040789E+00 + 3.5778331938E+00 3.5182099993E+00 3.4595214901E+00 3.4017533951E+00 + 3.3448876345E+00 3.2889097193E+00 3.2338026908E+00 3.1795476731E+00 + 3.1261300547E+00 3.0735313239E+00 3.0217351596E+00 2.9707268690E+00 + 2.9204876645E+00 2.8710056160E+00 2.8222646720E+00 2.7742511577E+00 + 2.7269534954E+00 2.6803565836E+00 2.6344520502E+00 2.5892266396E+00 + 2.5446717715E+00 2.5007776259E+00 2.4575347646E+00 2.4149365891E+00 + 2.3729730046E+00 2.3316396721E+00 2.2909270281E+00 2.2508311671E+00 + 2.2113441343E+00 2.1724613880E+00 2.1341764768E+00 2.0964842107E+00 + 2.0593791929E+00 2.0228556086E+00 1.9869087143E+00 1.9515321215E+00 + 1.9167214212E+00 1.8824697225E+00 1.8487727152E+00 1.8156230966E+00 + 1.7830164971E+00 1.7509453257E+00 1.7194050555E+00 1.6883879811E+00 + 1.6578893262E+00 1.6279014501E+00 1.5984192250E+00 1.5694352414E+00 + 1.5409439155E+00 1.5129382374E+00 1.4854120599E+00 1.4583589341E+00 + 1.4317720459E+00 1.4056456537E+00 1.3799721872E+00 1.3547467318E+00 + 1.3299609012E+00 1.3056105459E+00 1.2816868645E+00 1.2581857330E+00 + 1.2350991495E+00 1.2124219217E+00 1.1901473418E+00 1.1682690120E+00 + 1.1467816420E+00 1.1256775740E+00 1.1049527314E+00 1.0845989272E+00 + 1.0646120855E+00 1.0449852080E+00 1.0257127269E+00 1.0067894237E+00 + 9.8820816682E-01 9.6996514733E-01 9.5205286305E-01 9.3446722398E-01 + 9.1720224911E-01 9.0025207362E-01 8.8361268964E-01 8.6727671514E-01 + 8.5124092387E-01 8.3549919581E-01 8.2004638605E-01 8.0487857779E-01 + 7.8998878016E-01 7.7537410888E-01 7.6102884985E-01 7.4694805991E-01 + 7.3312818981E-01 7.1956285256E-01 7.0624904473E-01 6.9318192749E-01 + 6.8035630530E-01 6.6776920994E-01 6.5541507212E-01 6.4329033238E-01 + 6.3139142005E-01 6.1971254164E-01 6.0825141907E-01 5.9700352386E-01 + 5.8596436255E-01 5.7513131826E-01 5.6449955281E-01 5.5406574075E-01 + 5.4382693103E-01 5.3377810904E-01 5.2391693206E-01 5.1424005916E-01 + 5.0474274098E-01 4.9542309576E-01 4.8627744410E-01 4.7730179078E-01 + 4.6849413560E-01 4.5985073833E-01 4.5136823134E-01 4.4304453226E-01 + 4.3487591105E-01 4.2685949621E-01 4.1899317032E-01 4.1127327400E-01 + 4.0369730534E-01 3.9626316217E-01 3.8896730653E-01 3.8180748884E-01 + 3.7478167110E-01 3.6788647967E-01 3.6111981057E-01 3.5447973492E-01 + 3.4796308076E-01 3.4156779294E-01 3.3529209158E-01 3.2913303984E-01 + 3.2308854425E-01 3.1715700762E-01 3.1133575901E-01 3.0562258916E-01 + 3.0001611026E-01 2.9451394536E-01 2.8911370316E-01 2.8381422369E-01 + 2.7861344817E-01 2.7350875159E-01 2.6849921000E-01 2.6358303297E-01 + 2.5875753336E-01 2.5402181497E-01 2.4937429036E-01 2.4481262991E-01 + 2.4033551912E-01 2.3594171009E-01 2.3162925947E-01 2.2739639399E-01 + 2.2324219961E-01 2.1916513678E-01 2.1516296388E-01 2.1123507642E-01 + 2.0738009896E-01 2.0359607314E-01 1.9988193733E-01 1.9623667557E-01 + 1.9265875885E-01 1.8914653303E-01 1.8569935383E-01 1.8231600114E-01 + 1.7899464823E-01 1.7573458175E-01 1.7253482273E-01 1.6939398707E-01 + 1.6631069240E-01 1.6328436194E-01 1.6031392902E-01 1.5739779632E-01 + 1.5453531441E-01 1.5172565594E-01 1.4896767919E-01 1.4626002044E-01 + 1.4360225844E-01 1.4099347302E-01 1.3843236901E-01 1.3591814215E-01 + 1.3345019833E-01 1.3102766191E-01 1.2864914332E-01 1.2631429267E-01 + 1.2402237104E-01 1.2177244390E-01 1.1956339454E-01 1.1739490512E-01 + 1.1526623456E-01 1.1317638355E-01 1.1112457019E-01 1.0911039148E-01 + 1.0713314961E-01 1.0519181590E-01 1.0328586806E-01 1.0141484240E-01 + 9.9578084343E-02 9.7774565481E-02 9.6003953087E-02 9.4265748760E-02 + 9.2559340659E-02 9.0883724385E-02 8.9238694964E-02 8.7623743888E-02 + 8.6038301175E-02 8.4481405081E-02 8.2952925298E-02 8.1452365158E-02 + 7.9979195386E-02 7.8532511636E-02 7.7112213066E-02 7.5717833768E-02 + 7.4348883780E-02 7.3004528274E-02 7.1684657217E-02 7.0388851405E-02 + 6.9116658631E-02 6.7867324069E-02 6.6640695172E-02 6.5436412601E-02 + 6.4254060204E-02 6.3092972617E-02 6.1952926090E-02 6.0833631582E-02 + 5.9734707206E-02 5.8655585604E-02 5.7595947779E-02 5.6555582523E-02 + 5.5534140364E-02 5.4531159211E-02 5.3546206201E-02 5.2579152136E-02 + 5.1629678082E-02 5.0697432386E-02 4.9781856608E-02 4.8882903647E-02 + 4.8000283227E-02 4.7133691940E-02 4.6282635379E-02 4.5446951241E-02 + 4.4626440139E-02 4.3820826750E-02 4.3029741728E-02 4.2252844144E-02 + 4.1490041069E-02 4.0741083314E-02 4.0005710941E-02 3.9283459604E-02 + 3.8574281280E-02 3.7877968585E-02 3.7194286904E-02 3.6522904055E-02 + 3.5863562152E-02 3.5216173145E-02 3.4580525816E-02 3.3956400193E-02 + 3.3343401653E-02 3.2741483390E-02 3.2150477372E-02 3.1570186080E-02 + 3.1000351627E-02 3.0440700372E-02 2.9891187199E-02 2.9351635206E-02 + 2.8821860392E-02 2.8301564787E-02 2.7790623211E-02 2.7288938613E-02 + 2.6796346613E-02 2.6312676428E-02 2.5837607525E-02 2.5371125845E-02 + 2.4913096143E-02 2.4463366217E-02 2.4021753553E-02 2.3588003110E-02 + 2.3162104785E-02 2.2743923291E-02 2.2333318192E-02 2.1930096147E-02 + 2.1534074571E-02 2.1145223209E-02 2.0763417534E-02 2.0388528389E-02 + 2.0020361859E-02 1.9658783708E-02 1.9303752885E-02 1.8955155138E-02 + 1.8612872065E-02 1.8276717555E-02 1.7946584894E-02 1.7622430647E-02 + 1.7304150327E-02 1.6991635725E-02 1.6684715289E-02 1.6383292287E-02 + 1.6087328089E-02 1.5796727433E-02 1.5511391724E-02 1.5231169396E-02 + 1.4955959201E-02 1.4685733191E-02 1.4420404776E-02 1.4159884387E-02 + 1.3904044775E-02 1.3652768471E-02 1.3406042752E-02 1.3163789147E-02 + 1.2925926523E-02 1.2692355307E-02 1.2462932761E-02 1.2237664585E-02 + 1.2016479868E-02 1.1799305335E-02 1.1586065321E-02 1.1376603896E-02 + 1.1170928547E-02 1.0968981515E-02 1.0770696803E-02 1.0576006291E-02 + 1.0384790326E-02 1.0197005567E-02 1.0012624465E-02 9.8315877491E-03 + 9.6538342619E-03 9.4792819969E-03 9.3078339037E-03 9.1394925450E-03 + 8.9742048404E-03 8.8119160350E-03 8.6525696884E-03 8.4960519721E-03 + 8.3423571014E-03 8.1914498854E-03 8.0432814368E-03 7.8978013748E-03 + 7.7549371267E-03 7.6146169080E-03 7.4768408458E-03 7.3415654125E-03 + 7.2087457589E-03 7.0783357057E-03 6.9502433712E-03 6.8244580375E-03 + 6.7009552010E-03 6.5796950462E-03 6.4606365827E-03 6.3437305589E-03 + 6.2288950565E-03 6.1161421384E-03 6.0054365557E-03 5.8967420227E-03 + 5.7900212104E-03 5.6852140092E-03 5.5822776798E-03 5.4812095130E-03 + 5.3819774761E-03 5.2845486177E-03 5.1888890616E-03 5.0949332705E-03 + 5.0026656183E-03 4.9120735137E-03 4.8231279491E-03 4.7357991037E-03 + 4.6500563388E-03 4.5658330649E-03 4.4831304577E-03 4.4019304477E-03 + 4.3222068560E-03 4.2439327856E-03 4.1670806168E-03 4.0915861114E-03 + 4.0174587787E-03 3.9446787976E-03 3.8732226207E-03 3.8030660671E-03 + 3.7341843188E-03 3.6665180885E-03 3.6000784316E-03 3.5348467993E-03 + 3.4708020800E-03 3.4079226043E-03 3.3461861421E-03 3.2855403330E-03 + 3.2259924228E-03 3.1675275066E-03 3.1101267172E-03 3.0537706969E-03 + 2.9984395952E-03 2.9440894779E-03 2.8907196264E-03 2.8383205664E-03 + 2.7868754891E-03 2.7363671559E-03 2.6867778952E-03 2.6380733109E-03 + 2.5902416107E-03 2.5432800015E-03 2.4971735554E-03 2.4519069674E-03 + 2.4074645535E-03 2.3638222108E-03 2.3209549445E-03 2.2788673775E-03 + 2.2375462929E-03 2.1969781437E-03 2.1571490519E-03 2.1180448061E-03 + 2.0796284156E-03 2.0419097912E-03 2.0048780443E-03 1.9685212207E-03 + 1.9328270766E-03 1.8977830774E-03 1.8633646512E-03 1.8295621814E-03 + 1.7963751091E-03 1.7637929168E-03 1.7318048349E-03 1.7003998403E-03 + 1.6695656862E-03 1.6392735156E-03 1.6095325368E-03 1.5803335241E-03 + 1.5516670327E-03 1.5235233969E-03 1.4958927297E-03 1.4687564520E-03 + 1.4421043327E-03 1.4159376467E-03 1.3902481353E-03 1.3650273484E-03 + 1.3402666433E-03 1.3159571837E-03 1.2920767241E-03 1.2686279427E-03 + 1.2456065768E-03 1.2230052603E-03 1.2008164604E-03 1.1790324767E-03 + 1.1576441763E-03 1.1366315658E-03 1.1160016167E-03 1.0957479272E-03 + 1.0758639510E-03 1.0563429968E-03 1.0371782273E-03 1.0183590290E-03 + 9.9987257704E-04 9.8172297343E-04 9.6390454608E-04 9.4641149753E-04 + 9.2923790432E-04 9.1237771640E-04 8.9582021737E-04 8.7955655363E-04 + 8.6358935654E-04 8.4791361793E-04 8.3252422101E-04 8.1741593981E-04 + 8.0258343870E-04 7.8801694228E-04 7.7370904727E-04 7.5966203457E-04 + 7.4587149723E-04 7.3233293435E-04 7.1904175065E-04 7.0599325597E-04 + 6.9317938062E-04 6.8059225437E-04 6.6823465875E-04 6.5610272883E-04 + 6.4419251855E-04 6.3250000039E-04 + + diff --git a/tests/PP_ORB/F_pbe_50.sep b/tests/PP_ORB/F_pbe_50.sep new file mode 100644 index 0000000000..c8bc18b301 --- /dev/null +++ b/tests/PP_ORB/F_pbe_50.sep @@ -0,0 +1,1046 @@ +Sep.Element F +Sep.XcType pbe +Sep.Orbital p +Sep.Points 1038 +Sep.StripAmount 50 + + diff --git a/tests/PP_ORB/Li_ONCV_PBE-1.2.upf b/tests/PP_ORB/Li_ONCV_PBE-1.2.upf new file mode 100644 index 0000000000..86f55672c1 --- /dev/null +++ b/tests/PP_ORB/Li_ONCV_PBE-1.2.upf @@ -0,0 +1,1228 @@ + + + + Li_ONCV_PBE-1.2.upf + + This pseudopotential file has been produced using the code + ONCVPSP (Optimized Norm-Conservinng Vanderbilt PSeudopotential) + scalar-relativistic version 2.1.1, 03/26/2014 by D. R. Hamann + The code is available through a link at URL www.mat-simresearch.com. + Documentation with the package provides a full discription of the + input data below. + + + While it is not required under the terms of the GNU GPL, it is + suggested that you cite D. R. Hamann, Phys. Rev. B 88, 085117 (2013) + in any publication using these pseudopotentials. + + + Copyright 2015 The Regents of the University of California + + This work is licensed under the Creative Commons Attribution-ShareAlike + 4.0 International License. To view a copy of this license, visit + http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to + Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. + + This pseudopotential is part of the Schlipf-Gygi norm-conserving + pseudopotential library. Its construction parameters were tuned to + reproduce materials of a training set with very high accuracy and + should be suitable as a general purpose pseudopotential to treat a + variety of different compounds. For details of the construction and + testing of the pseudopotential please refer to: + + M. Schlipf and F. Gygi, Computer Physics Communications (2015) + DOI: 10.1016/j.cpc.2015.05.011 + http://dx.doi.org/10.1016/j.cpc.2015.05.011 + http://www.quantum-simulation.org + + We kindly ask that you include this reference in all publications + associated to this pseudopotential. + + + +# ATOM AND REFERENCE CONFIGURATION +# atsym z nc nv iexc psfile + Li 3.00 0 2 4 upf +# +# n l f energy (Ha) + 1 0 2.00 + 2 0 1.00 +# +# PSEUDOPOTENTIAL AND OPTIMIZATION +# lmax + 1 +# +# l, rc, ep, ncon, nbas, qcut + 0 1.74553 -1.90562 5 8 7.75888 + 1 1.40824 0.11292 5 8 11.11410 +# +# LOCAL POTENTIAL +# lloc, lpopt, rc(5), dvloc0 + 4 5 0.89499 0.00000 +# +# VANDERBILT-KLEINMAN-BYLANDER PROJECTORs +# l, nproj, debl + 0 2 1.80000 + 1 2 1.03347 +# +# MODEL CORE CHARGE +# icmod, fcfact + 0 0.00000 +# +# LOG DERIVATIVE ANALYSIS +# epsh1, epsh2, depsh + -5.00 3.00 0.02 +# +# OUTPUT GRID +# rlmax, drl + 6.00 0.01 +# +# TEST CONFIGURATIONS +# ncnf + 0 +# nvcnf +# n l f + + + + + + + + + 0.0000 0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 + 0.0800 0.0900 0.1000 0.1100 0.1200 0.1300 0.1400 0.1500 + 0.1600 0.1700 0.1800 0.1900 0.2000 0.2100 0.2200 0.2300 + 0.2400 0.2500 0.2600 0.2700 0.2800 0.2900 0.3000 0.3100 + 0.3200 0.3300 0.3400 0.3500 0.3600 0.3700 0.3800 0.3900 + 0.4000 0.4100 0.4200 0.4300 0.4400 0.4500 0.4600 0.4700 + 0.4800 0.4900 0.5000 0.5100 0.5200 0.5300 0.5400 0.5500 + 0.5600 0.5700 0.5800 0.5900 0.6000 0.6100 0.6200 0.6300 + 0.6400 0.6500 0.6600 0.6700 0.6800 0.6900 0.7000 0.7100 + 0.7200 0.7300 0.7400 0.7500 0.7600 0.7700 0.7800 0.7900 + 0.8000 0.8100 0.8200 0.8300 0.8400 0.8500 0.8600 0.8700 + 0.8800 0.8900 0.9000 0.9100 0.9200 0.9300 0.9400 0.9500 + 0.9600 0.9700 0.9800 0.9900 1.0000 1.0100 1.0200 1.0300 + 1.0400 1.0500 1.0600 1.0700 1.0800 1.0900 1.1000 1.1100 + 1.1200 1.1300 1.1400 1.1500 1.1600 1.1700 1.1800 1.1900 + 1.2000 1.2100 1.2200 1.2300 1.2400 1.2500 1.2600 1.2700 + 1.2800 1.2900 1.3000 1.3100 1.3200 1.3300 1.3400 1.3500 + 1.3600 1.3700 1.3800 1.3900 1.4000 1.4100 1.4200 1.4300 + 1.4400 1.4500 1.4600 1.4700 1.4800 1.4900 1.5000 1.5100 + 1.5200 1.5300 1.5400 1.5500 1.5600 1.5700 1.5800 1.5900 + 1.6000 1.6100 1.6200 1.6300 1.6400 1.6500 1.6600 1.6700 + 1.6800 1.6900 1.7000 1.7100 1.7200 1.7300 1.7400 1.7500 + 1.7600 1.7700 1.7800 1.7900 1.8000 1.8100 1.8200 1.8300 + 1.8400 1.8500 1.8600 1.8700 1.8800 1.8900 1.9000 1.9100 + 1.9200 1.9300 1.9400 1.9500 1.9600 1.9700 1.9800 1.9900 + 2.0000 2.0100 2.0200 2.0300 2.0400 2.0500 2.0600 2.0700 + 2.0800 2.0900 2.1000 2.1100 2.1200 2.1300 2.1400 2.1500 + 2.1600 2.1700 2.1800 2.1900 2.2000 2.2100 2.2200 2.2300 + 2.2400 2.2500 2.2600 2.2700 2.2800 2.2900 2.3000 2.3100 + 2.3200 2.3300 2.3400 2.3500 2.3600 2.3700 2.3800 2.3900 + 2.4000 2.4100 2.4200 2.4300 2.4400 2.4500 2.4600 2.4700 + 2.4800 2.4900 2.5000 2.5100 2.5200 2.5300 2.5400 2.5500 + 2.5600 2.5700 2.5800 2.5900 2.6000 2.6100 2.6200 2.6300 + 2.6400 2.6500 2.6600 2.6700 2.6800 2.6900 2.7000 2.7100 + 2.7200 2.7300 2.7400 2.7500 2.7600 2.7700 2.7800 2.7900 + 2.8000 2.8100 2.8200 2.8300 2.8400 2.8500 2.8600 2.8700 + 2.8800 2.8900 2.9000 2.9100 2.9200 2.9300 2.9400 2.9500 + 2.9600 2.9700 2.9800 2.9900 3.0000 3.0100 3.0200 3.0300 + 3.0400 3.0500 3.0600 3.0700 3.0800 3.0900 3.1000 3.1100 + 3.1200 3.1300 3.1400 3.1500 3.1600 3.1700 3.1800 3.1900 + 3.2000 3.2100 3.2200 3.2300 3.2400 3.2500 3.2600 3.2700 + 3.2800 3.2900 3.3000 3.3100 3.3200 3.3300 3.3400 3.3500 + 3.3600 3.3700 3.3800 3.3900 3.4000 3.4100 3.4200 3.4300 + 3.4400 3.4500 3.4600 3.4700 3.4800 3.4900 3.5000 3.5100 + 3.5200 3.5300 3.5400 3.5500 3.5600 3.5700 3.5800 3.5900 + 3.6000 3.6100 3.6200 3.6300 3.6400 3.6500 3.6600 3.6700 + 3.6800 3.6900 3.7000 3.7100 3.7200 3.7300 3.7400 3.7500 + 3.7600 3.7700 3.7800 3.7900 3.8000 3.8100 3.8200 3.8300 + 3.8400 3.8500 3.8600 3.8700 3.8800 3.8900 3.9000 3.9100 + 3.9200 3.9300 3.9400 3.9500 3.9600 3.9700 3.9800 3.9900 + 4.0000 4.0100 4.0200 4.0300 4.0400 4.0500 4.0600 4.0700 + 4.0800 4.0900 4.1000 4.1100 4.1200 4.1300 4.1400 4.1500 + 4.1600 4.1700 4.1800 4.1900 4.2000 4.2100 4.2200 4.2300 + 4.2400 4.2500 4.2600 4.2700 4.2800 4.2900 4.3000 4.3100 + 4.3200 4.3300 4.3400 4.3500 4.3600 4.3700 4.3800 4.3900 + 4.4000 4.4100 4.4200 4.4300 4.4400 4.4500 4.4600 4.4700 + 4.4800 4.4900 4.5000 4.5100 4.5200 4.5300 4.5400 4.5500 + 4.5600 4.5700 4.5800 4.5900 4.6000 4.6100 4.6200 4.6300 + 4.6400 4.6500 4.6600 4.6700 4.6800 4.6900 4.7000 4.7100 + 4.7200 4.7300 4.7400 4.7500 4.7600 4.7700 4.7800 4.7900 + 4.8000 4.8100 4.8200 4.8300 4.8400 4.8500 4.8600 4.8700 + 4.8800 4.8900 4.9000 4.9100 4.9200 4.9300 4.9400 4.9500 + 4.9600 4.9700 4.9800 4.9900 5.0000 5.0100 5.0200 5.0300 + 5.0400 5.0500 5.0600 5.0700 5.0800 5.0900 5.1000 5.1100 + 5.1200 5.1300 5.1400 5.1500 5.1600 5.1700 5.1800 5.1900 + 5.2000 5.2100 5.2200 5.2300 5.2400 5.2500 5.2600 5.2700 + 5.2800 5.2900 5.3000 5.3100 5.3200 5.3300 5.3400 5.3500 + 5.3600 5.3700 5.3800 5.3900 5.4000 5.4100 5.4200 5.4300 + 5.4400 5.4500 5.4600 5.4700 5.4800 5.4900 5.5000 5.5100 + 5.5200 5.5300 5.5400 5.5500 5.5600 5.5700 5.5800 5.5900 + 5.6000 5.6100 5.6200 5.6300 5.6400 5.6500 5.6600 5.6700 + 5.6800 5.6900 5.7000 5.7100 5.7200 5.7300 5.7400 5.7500 + 5.7600 5.7700 5.7800 5.7900 5.8000 5.8100 5.8200 5.8300 + 5.8400 5.8500 5.8600 5.8700 5.8800 5.8900 5.9000 5.9100 + 5.9200 5.9300 5.9400 5.9500 5.9600 5.9700 5.9800 5.9900 + 6.0000 6.0100 + + + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 0.0100 + 0.0100 0.0100 + + + + -1.4764783187e+01 -1.4762421712e+01 -1.4755341904e+01 -1.4743557621e+01 + -1.4727091957e+01 -1.4705977245e+01 -1.4680255053e+01 -1.4649976190e+01 + -1.4615200700e+01 -1.4575997869e+01 -1.4532446215e+01 -1.4484632422e+01 + -1.4432647073e+01 -1.4376585458e+01 -1.4316547795e+01 -1.4252638643e+01 + -1.4184966350e+01 -1.4113642541e+01 -1.4038781642e+01 -1.3960500446e+01 + -1.3878917734e+01 -1.3794153927e+01 -1.3706330797e+01 -1.3615571202e+01 + -1.3521998877e+01 -1.3425738241e+01 -1.3326914246e+01 -1.3225652250e+01 + -1.3122077901e+01 -1.3016317055e+01 -1.2908495687e+01 -1.2798739830e+01 + -1.2687175506e+01 -1.2573928666e+01 -1.2459125130e+01 -1.2342890521e+01 + -1.2225350201e+01 -1.2106629196e+01 -1.1986852115e+01 -1.1866143062e+01 + -1.1744625534e+01 -1.1622422318e+01 -1.1499655363e+01 -1.1376445652e+01 + -1.1252913055e+01 -1.1129176172e+01 -1.1005352156e+01 -1.0881556528e+01 + -1.0757902982e+01 -1.0634503143e+01 -1.0511466347e+01 -1.0388899397e+01 + -1.0266906283e+01 -1.0145587865e+01 -1.0025041661e+01 -9.9053613968e+00 + -9.7866368106e+00 -9.6689532030e+00 -9.5523911894e+00 -9.4370262316e+00 + -9.3229284979e+00 -9.2101622377e+00 -9.0987858306e+00 -8.9888512337e+00 + -8.8804038404e+00 -8.7734824764e+00 -8.6681190355e+00 -8.5643385515e+00 + -8.4621593395e+00 -8.3615931835e+00 -8.2626453003e+00 -8.1653149407e+00 + -8.0695957776e+00 -7.9754764076e+00 -7.8829409599e+00 -7.7919696970e+00 + -7.7025396999e+00 -7.6146256202e+00 -7.5282003321e+00 -7.4432355746e+00 + -7.3597025333e+00 -7.2775723348e+00 -7.1968164352e+00 -7.1174068854e+00 + -7.0393164610e+00 -6.9625186499e+00 -6.8869874953e+00 -6.8126972968e+00 + -6.7396221776e+00 -6.6677354986e+00 -6.5970091218e+00 -6.5274151254e+00 + -6.4589294106e+00 -6.3915333262e+00 -6.3252128172e+00 -6.2599576024e+00 + -6.1957603525e+00 -6.1326161568e+00 -6.0705215878e+00 -6.0094741617e+00 + -5.9494717776e+00 -5.8905122302e+00 -5.8325928145e+00 -5.7757100172e+00 + -5.7198590687e+00 -5.6650339057e+00 -5.6112270084e+00 -5.5584293517e+00 + -5.5066304495e+00 -5.4558180213e+00 -5.4059784557e+00 -5.3570967939e+00 + -5.3091569411e+00 -5.2621414740e+00 -5.2160321036e+00 -5.1708098001e+00 + -5.1264549503e+00 -5.0829473188e+00 -5.0402664586e+00 -4.9983917466e+00 + -4.9573024633e+00 -4.9169780016e+00 -4.8773979116e+00 -4.8385418947e+00 + -4.8003901001e+00 -4.7629229646e+00 -4.7261211682e+00 -4.6899660023e+00 + -4.6544390276e+00 -4.6195220554e+00 -4.5851974668e+00 -4.5514477922e+00 + -4.5182558055e+00 -4.4856046098e+00 -4.4534773630e+00 -4.4218573946e+00 + -4.3907281023e+00 -4.3600729077e+00 -4.3298752546e+00 -4.3001185680e+00 + -4.2707862586e+00 -4.2418617338e+00 -4.2133284048e+00 -4.1851697524e+00 + -4.1573694385e+00 -4.1299111600e+00 -4.1027793333e+00 -4.0759581858e+00 + -4.0494334087e+00 -4.0231908029e+00 -3.9972175819e+00 -3.9715023819e+00 + -3.9460344924e+00 -3.9208066836e+00 -3.8958109799e+00 -3.8710451737e+00 + -3.8465052785e+00 -3.8221938000e+00 -3.7981118920e+00 -3.7742658045e+00 + -3.7506612931e+00 -3.7273071778e+00 -3.7042115667e+00 -3.6813837089e+00 + -3.6588305994e+00 -3.6365589169e+00 -3.6145710099e+00 -3.5928678431e+00 + -3.5714453031e+00 -3.5502968933e+00 -3.5294134518e+00 -3.5087827985e+00 + -3.4883951946e+00 -3.4682397472e+00 -3.4483103539e+00 -3.4286051671e+00 + -3.4091213744e+00 -3.3898581729e+00 -3.3708131612e+00 -3.3519803539e+00 + -3.3333550063e+00 -3.3149350336e+00 -3.2967176376e+00 -3.2786993931e+00 + -3.2608769319e+00 -3.2432473047e+00 -3.2258074328e+00 -3.2085543756e+00 + -3.1914851723e+00 -3.1745969313e+00 -3.1578868348e+00 -3.1413520321e+00 + -3.1249898488e+00 -3.1087974722e+00 -3.0927723525e+00 -3.0769118058e+00 + -3.0612133195e+00 -3.0456743901e+00 -3.0302925231e+00 -3.0150654059e+00 + -2.9999905670e+00 -2.9850658277e+00 -2.9702888691e+00 -2.9556575104e+00 + -2.9411696287e+00 -2.9268230327e+00 -2.9126157559e+00 -2.8985456889e+00 + -2.8846108983e+00 -2.8708094441e+00 -2.8571393626e+00 -2.8435988684e+00 + -2.8301860477e+00 -2.8168991529e+00 -2.8037364259e+00 -2.7906960741e+00 + -2.7777764806e+00 -2.7649759124e+00 -2.7522927600e+00 -2.7397254480e+00 + -2.7272723106e+00 -2.7149318899e+00 -2.7027026246e+00 -2.6905830037e+00 + -2.6785716161e+00 -2.6666669488e+00 -2.6548676326e+00 -2.6431722927e+00 + -2.6315794842e+00 -2.6200879473e+00 -2.6086963313e+00 -2.5974033107e+00 + -2.5862076702e+00 -2.5751081044e+00 -2.5641033962e+00 -2.5531923717e+00 + -2.5423737725e+00 -2.5316464779e+00 -2.5210093544e+00 -2.5104611917e+00 + -2.5000009534e+00 -2.4896275380e+00 -2.4793398090e+00 -2.4691367781e+00 + -2.4590173860e+00 -2.4489805659e+00 -2.4390253717e+00 -2.4291507877e+00 + -2.4193558087e+00 -2.4096395295e+00 -2.4000009790e+00 -2.3904392045e+00 + -2.3809533418e+00 -2.3715424643e+00 -2.3622056638e+00 -2.3529421172e+00 + -2.3437509424e+00 -2.3346312681e+00 -2.3255823123e+00 -2.3166032375e+00 + -2.3076932024e+00 -2.2988514657e+00 -2.2900772350e+00 -2.2813696923e+00 + -2.2727281369e+00 -2.2641518213e+00 -2.2556399455e+00 -2.2471918487e+00 + -2.2388068181e+00 -2.2304840973e+00 -2.2222230340e+00 -2.2140229585e+00 + -2.2058831591e+00 -2.1978029855e+00 -2.1897818114e+00 -2.1818189705e+00 + -2.1739138094e+00 -2.1660657444e+00 -2.1582741550e+00 -2.1505383815e+00 + -2.1428578806e+00 -2.1352320635e+00 -2.1276603059e+00 -2.1201420589e+00 + -2.1126767754e+00 -2.1052638772e+00 -2.0979027961e+00 -2.0905930287e+00 + -2.0833340398e+00 -2.0761252517e+00 -2.0689661903e+00 -2.0618563489e+00 + -2.0547951950e+00 -2.0477822263e+00 -2.0408169808e+00 -2.0338989721e+00 + -2.0270276714e+00 -2.0202026544e+00 -2.0134234586e+00 -2.0066896006e+00 + -2.0000006195e+00 -1.9933560982e+00 -1.9867555945e+00 -1.9801986303e+00 + -1.9736848092e+00 -1.9672137164e+00 -1.9607849206e+00 -1.9543979813e+00 + -1.9480525288e+00 -1.9417481611e+00 -1.9354844530e+00 -1.9292610168e+00 + -1.9230774878e+00 -1.9169334828e+00 -1.9108285853e+00 -1.9047624529e+00 + -1.8987347270e+00 -1.8927450389e+00 -1.8867929923e+00 -1.8808782739e+00 + -1.8750005352e+00 -1.8691594169e+00 -1.8633545580e+00 -1.8575856539e+00 + -1.8518523724e+00 -1.8461543650e+00 -1.8404913005e+00 -1.8348628839e+00 + -1.8292687983e+00 -1.8237087073e+00 -1.8181823042e+00 -1.8126893044e+00 + -1.8072294058e+00 -1.8018022853e+00 -1.7964076553e+00 -1.7910452428e+00 + -1.7857147599e+00 -1.7804158976e+00 -1.7751483827e+00 -1.7699119550e+00 + -1.7647063401e+00 -1.7595312438e+00 -1.7543864032e+00 -1.7492715716e+00 + -1.7441864873e+00 -1.7391308724e+00 -1.7341044696e+00 -1.7291070468e+00 + -1.7241383546e+00 -1.7191981320e+00 -1.7142861234e+00 -1.7094021123e+00 + -1.7045458608e+00 -1.6997171258e+00 -1.6949156500e+00 -1.6901412328e+00 + -1.6853936475e+00 -1.6806726673e+00 -1.6759780370e+00 -1.6713095656e+00 + -1.6666670390e+00 -1.6620502410e+00 -1.6574589359e+00 -1.6528929222e+00 + -1.6483520048e+00 -1.6438359775e+00 -1.6393446251e+00 -1.6348777327e+00 + -1.6304351244e+00 -1.6260166036e+00 -1.6216219739e+00 -1.6172510124e+00 + -1.6129035546e+00 -1.6085794156e+00 -1.6042784079e+00 -1.6000003305e+00 + -1.5957449988e+00 -1.5915122490e+00 -1.5873019024e+00 -1.5831137805e+00 + -1.5789476779e+00 -1.5748034501e+00 -1.5706809274e+00 -1.5665799392e+00 + -1.5625003035e+00 -1.5584418497e+00 -1.5544044308e+00 -1.5503878843e+00 + -1.5463920480e+00 -1.5424167375e+00 -1.5384618140e+00 -1.5345271270e+00 + -1.5306125219e+00 -1.5267178391e+00 -1.5228429085e+00 -1.5189876035e+00 + -1.5151517766e+00 -1.5113352800e+00 -1.5075379544e+00 -1.5037596533e+00 + -1.5000002496e+00 -1.4962596027e+00 -1.4925375717e+00 -1.4888339989e+00 + -1.4851487572e+00 -1.4814817202e+00 -1.4778327538e+00 -1.4742017237e+00 + -1.4705884751e+00 -1.4669928965e+00 -1.4634148631e+00 -1.4598542471e+00 + -1.4563109205e+00 -1.4527847329e+00 -1.4492755840e+00 -1.4457833525e+00 + -1.4423079162e+00 -1.4388491527e+00 -1.4354069188e+00 -1.4319811201e+00 + -1.4285716403e+00 -1.4251783631e+00 -1.4218011716e+00 -1.4184399288e+00 + -1.4150945452e+00 -1.4117649100e+00 -1.4084509123e+00 -1.4051524412e+00 + -1.4018693650e+00 -1.3986015977e+00 -1.3953490345e+00 -1.3921115697e+00 + -1.3888890974e+00 -1.3856814943e+00 -1.3824886729e+00 -1.3793105360e+00 + -1.3761469829e+00 -1.3729979127e+00 -1.3698632109e+00 -1.3667427861e+00 + -1.3636365496e+00 -1.3605444053e+00 -1.3574662571e+00 -1.3544020005e+00 + -1.3513515374e+00 -1.3483147884e+00 -1.3452916618e+00 -1.3422820661e+00 + -1.3392859077e+00 -1.3363030794e+00 -1.3333335118e+00 -1.3303771174e+00 + -1.3274338089e+00 -1.3245034991e+00 -1.3215860865e+00 -1.3186814951e+00 + -1.3157896473e+00 -1.3129104596e+00 -1.3100438489e+00 -1.3071897266e+00 + -1.3043480019e+00 -1.3015186093e+00 -1.2987014694e+00 -1.2958965028e+00 + -1.2931036300e+00 -1.2903227573e+00 -1.2875538183e+00 -1.2847967415e+00 + -1.2820514512e+00 -1.2793178717e+00 -1.2765959236e+00 -1.2738855213e+00 + -1.2711866068e+00 -1.2684991081e+00 -1.2658229531e+00 -1.2631580695e+00 + -1.2605043750e+00 -1.2578618017e+00 -1.2552302886e+00 -1.2526097668e+00 + -1.2500001676e+00 -1.2474014221e+00 -1.2448134468e+00 -1.2422361878e+00 + -1.2396695821e+00 -1.2371135640e+00 -1.2345680680e+00 -1.2320330270e+00 + -1.2295083618e+00 -1.2269940251e+00 -1.2244899544e+00 -1.2219960871e+00 + -1.2195123608e+00 -1.2170387087e+00 -1.2145750607e+00 -1.2121213696e+00 + -1.2096775757e+00 -1.2072436194e+00 -1.2048194411e+00 -1.2024049758e+00 + -1.2000001593e+00 -1.1976049455e+00 -1.1952192776e+00 -1.1928430989e+00 + -1.1904763523e+00 -1.1881189755e+00 -1.1857709079e+00 -1.1834321054e+00 + -1.1811025140e+00 -1.1787820793e+00 -1.1764707472e+00 -1.1741684590e+00 + -1.1718751548e+00 -1.1695907938e+00 -1.1673153243e+00 -1.1650486947e+00 + -1.1627908533e+00 -1.1605417459e+00 -1.1583013112e+00 -1.1560695124e+00 + -1.1538463003e+00 -1.1516316256e+00 -1.1494254390e+00 -1.1472276913e+00 + -1.1450383192e+00 -1.1428572890e+00 -1.1406845543e+00 -1.1385200682e+00 + -1.1363637837e+00 -1.1342156538e+00 -1.1320756216e+00 -1.1299436471e+00 + -1.1278196898e+00 -1.1257037052e+00 -1.1235956483e+00 -1.1214954744e+00 + -1.1194031341e+00 -1.1173185784e+00 -1.1152417742e+00 -1.1131726786e+00 + -1.1111112491e+00 -1.1090574429e+00 -1.1070112173e+00 -1.1049725173e+00 + -1.1029413129e+00 -1.1009175649e+00 -1.0989012324e+00 -1.0968922747e+00 + -1.0948906513e+00 -1.0928963159e+00 -1.0909092259e+00 -1.0889293506e+00 + -1.0869566511e+00 -1.0849910887e+00 -1.0830326245e+00 -1.0810812197e+00 + -1.0791368249e+00 -1.0771994109e+00 -1.0752689432e+00 -1.0733453847e+00 + -1.0714286984e+00 -1.0695188474e+00 -1.0676157927e+00 -1.0657194887e+00 + -1.0638299108e+00 -1.0619470239e+00 -1.0600707926e+00 -1.0582011817e+00 + -1.0563381559e+00 -1.0544816747e+00 -1.0526317013e+00 -1.0507882095e+00 + -1.0489511656e+00 -1.0471205359e+00 -1.0452962869e+00 -1.0434783850e+00 + -1.0416667891e+00 -1.0398614689e+00 -1.0380623972e+00 -1.0362695421e+00 + -1.0344828714e+00 -1.0327023530e+00 -1.0309279550e+00 -1.0291596370e+00 + -1.0273973724e+00 -1.0256411344e+00 -1.0238908924e+00 -1.0221466158e+00 + -1.0204082742e+00 -1.0186758368e+00 -1.0169492650e+00 -1.0152285339e+00 + -1.0135136176e+00 -1.0118044873e+00 -1.0101011135e+00 -1.0084034673e+00 + -1.0067115195e+00 -1.0050252338e+00 -1.0033445848e+00 -1.0016695488e+00 + -1.0000000982e+00 -9.9833620506e-01 + + + + 0.0000000000E+00 -7.7568112882E-02 -1.5498724243E-01 -2.3210801498E-01 + -3.0878028656E-01 -3.8485278363E-01 -4.6017277454E-01 -5.3458578125E-01 + -6.0793534073E-01 -6.8006282433E-01 -7.5080732330E-01 -8.2000560723E-01 + -8.8749216190E-01 -9.5309931153E-01 -1.0166574296E+00 -1.0779952417E+00 + -1.1369402214E+00 -1.1933190810E+00 -1.2469583555E+00 -1.2976850792E+00 + -1.3453275503E+00 -1.3897161816E+00 -1.4306844291E+00 -1.4680697943E+00 + -1.5017148892E+00 -1.5314685631E+00 -1.5571870658E+00 -1.5787352597E+00 + -1.5959878429E+00 -1.6088305931E+00 -1.6171616083E+00 -1.6208925336E+00 + -1.6199497555E+00 -1.6142755706E+00 -1.6038292855E+00 -1.5885882404E+00 + -1.5685487861E+00 -1.5437271298E+00 -1.5141600735E+00 -1.4799056830E+00 + -1.4410437678E+00 -1.3976762490E+00 -1.3499273790E+00 -1.2979438022E+00 + -1.2418944537E+00 -1.1819702893E+00 -1.1183838452E+00 -1.0513686241E+00 + -9.8117831107E-01 -9.0808582055E-01 -8.3238215206E-01 -7.5437511927E-01 + -6.7438790116E-01 -5.9275737897E-01 -5.0983254731E-01 -4.2597241649E-01 + -3.4154426602E-01 -2.5692133340E-01 -1.7248084841E-01 -8.8601477491E-02 + -5.6615295689E-03 7.5964195063E-02 1.5590581492E-01 2.3380152175E-01 + 3.0929971107E-01 3.8206078265E-01 4.5176018615E-01 5.1809032247E-01 + 5.8076235513E-01 6.3950798647E-01 6.9408236066E-01 7.4426483647E-01 + 7.8986067016E-01 8.3070243078E-01 8.6665103886E-01 8.9759699447E-01 + 9.2346125537E-01 9.4419535446E-01 9.5978191640E-01 9.7023476650E-01 + 9.7559881571E-01 9.7594972330E-01 9.7139334052E-01 9.6206494093E-01 + 9.4812824500E-01 9.2977424836E-01 9.0721986521E-01 8.8070640001E-01 + 8.5049786225E-01 8.1687915003E-01 7.8015412708E-01 7.4064280867E-01 + 6.9867772713E-01 6.5460065898E-01 6.0876000817E-01 5.6150816818E-01 + 5.1319950671E-01 4.6418605311E-01 4.1481632000E-01 3.6543238709E-01 + 3.1636746756E-01 2.6794359011E-01 2.2046978697E-01 1.7424035248E-01 + 1.2952962515E-01 8.6593892523E-02 4.5668710594E-02 6.9679208979E-03 + -2.9316209721E-02 -6.3020506698E-02 -9.4004690093E-02 -1.2215393254E-01 + -1.4737663928E-01 -1.6961235352E-01 -1.8882543345E-01 -2.0500488110E-01 + -2.1816174129E-01 -2.2833811648E-01 -2.3559652922E-01 -2.4002012867E-01 + -2.4171446660E-01 -2.4080682236E-01 -2.3743998798E-01 -2.3177254884E-01 + -2.2398066617E-01 -2.1425053202E-01 -2.0277950923E-01 -1.8977400637E-01 + -1.7544546369E-01 -1.6001246929E-01 -1.4369206549E-01 -1.2670267008E-01 + -1.0926427735E-01 -9.1585684095E-02 -7.3875576850E-02 -5.6334263225E-02 + -3.9146153256E-02 -2.2495908916E-02 -6.5435153726E-03 8.5605239042E-03 + 2.2674739342E-02 3.5689430752E-02 4.7494278860E-02 5.8012381595E-02 + 6.7178999891E-02 7.4944125699E-02 8.1291735754E-02 8.6202999980E-02 + 8.9703262385E-02 9.1816735200E-02 9.2597536643E-02 9.2113254489E-02 + 9.0445338965E-02 8.7698051710E-02 8.3978300235E-02 7.9417150674E-02 + 7.4144895303E-02 6.8307386257E-02 6.2051465743E-02 5.5528012377E-02 + 4.8888120552E-02 4.2278640050E-02 3.5840216946E-02 2.9704927992E-02 + 2.3987650934E-02 1.8793336169E-02 1.4196649715E-02 1.0262047003E-02 + 7.0124306856E-03 4.4588224424E-03 2.5661114128E-03 1.2821764937E-03 + 5.1515721395E-04 1.3819112535E-04 2.7251351286E-05 1.0867405846E-05 + -3.6451782770E-06 -1.3340201323E-06 -1.6625261390E-06 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 + + + 0.0000000000E+00 -1.0194882249E-02 -2.0405942846E-02 -3.0649828503E-02 + -4.0944114104E-02 -5.1307745504E-02 -6.1761457061E-02 -7.2328155947E-02 + -8.3033265677E-02 -9.3905021777E-02 -1.0497471309E-01 -1.1627686287E-01 + -1.2784934449E-01 -1.3973342752E-01 -1.5197375062E-01 -1.6461821862E-01 + -1.7771782234E-01 -1.9132638023E-01 -2.0550020237E-01 -2.2029767795E-01 + -2.3577878916E-01 -2.5200455344E-01 -2.6903640047E-01 -2.8693548714E-01 + -3.0576195894E-01 -3.2557415998E-01 -3.4642780927E-01 -3.6837513654E-01 + -3.9146400429E-01 -4.1573701169E-01 -4.4123059698E-01 -4.6797414784E-01 + -4.9598913476E-01 -5.2528826178E-01 -5.5587466866E-01 -5.8774118911E-01 + -6.2086964621E-01 -6.5523024530E-01 -6.9078104926E-01 -7.2746750872E-01 + -7.6522213452E-01 -8.0396425687E-01 -8.4359989820E-01 -8.8402176724E-01 + -9.2510937741E-01 -9.6672929286E-01 -1.0087355049E+00 -1.0509699393E+00 + -1.0932630908E+00 -1.1354347910E+00 -1.1772951097E+00 -1.2186453548E+00 + -1.2592792043E+00 -1.2989839981E+00 -1.3375419560E+00 -1.3747317966E+00 + -1.4103300576E+00 -1.4441128571E+00 -1.4758573658E+00 -1.5053437310E+00 + -1.5323563941E+00 -1.5566864419E+00 -1.5781326072E+00 -1.5965035863E+00 + -1.6116195582E+00 -1.6233134462E+00 -1.6314330878E+00 -1.6358425296E+00 + -1.6364232395E+00 -1.6330752797E+00 -1.6257192605E+00 -1.6142967296E+00 + -1.5987711985E+00 -1.5791289479E+00 -1.5553795418E+00 -1.5275564378E+00 + -1.4957173144E+00 -1.4599438618E+00 -1.4203418073E+00 -1.3770406341E+00 + -1.3301931172E+00 -1.2799746829E+00 -1.2265825933E+00 -1.1702349653E+00 + -1.1111696300E+00 -1.0496428434E+00 -9.8592785947E-01 -9.2031337823E-01 + -8.5310188296E-01 -7.8460789707E-01 -7.1515618238E-01 -6.4507861532E-01 + -5.7470999142E-01 -5.0438470355E-01 -4.3443461938E-01 -3.6518695508E-01 + -2.9696285429E-01 -2.3007337120E-01 -1.6481914363E-01 -1.0148795443E-01 + -4.0352882291E-02 1.8329428071E-02 7.4320012984E-02 1.2739881255E-01 + 1.7736904094E-01 2.2405489544E-01 2.6730363656E-01 3.0698607831E-01 + 3.4299615758E-01 3.7525697031E-01 4.0371497689E-01 4.2834186436E-01 + 4.4913244699E-01 4.6611061896E-01 4.7932369054E-01 4.8884192192E-01 + 4.9475635787E-01 4.9718478743E-01 4.9626328652E-01 4.9214617126E-01 + 4.8500670485E-01 4.7503531566E-01 4.6243533033E-01 4.4742321362E-01 + 4.3022674113E-01 4.1108120561E-01 3.9023071652E-01 3.6792159943E-01 + 3.4440286656E-01 3.1992840250E-01 2.9474377327E-01 2.6909419239E-01 + 2.4322358517E-01 2.1735907623E-01 1.9172645493E-01 1.6653942388E-01 + 1.4199207997E-01 1.1827782294E-01 9.5561009117E-02 7.3995133777E-02 + 5.3722822304E-02 3.4851894266E-02 1.7490372999E-02 1.7103012707E-03 + -1.2429161374E-02 -2.4884789778E-02 -3.5648403129E-02 -4.4709496401E-02 + -5.2102412579E-02 -5.7860629300E-02 -6.2047734810E-02 -6.4740666961E-02 + -6.6030440320E-02 -6.6029995542E-02 -6.4855547041E-02 -6.2645744938E-02 + -5.9539419773E-02 -5.5688985018E-02 -5.1248601858E-02 -4.6374937418E-02 + -4.1225241798E-02 -3.5951587184E-02 -3.0700087082E-02 -2.5607884051E-02 + -2.0795421432E-02 -1.6373200347E-02 -1.2422542282E-02 -9.0148050908E-03 + -6.1816449299E-03 -3.9433443742E-03 -2.2764002190E-03 -1.1412286606E-03 + -4.6063791798E-04 -1.2500409455E-04 -2.5882578909E-05 -1.0574833444E-05 + 2.9281306236E-06 1.2384991197E-06 1.5434828229E-06 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 + + + 0.0000000000E+00 2.9066480787E-03 1.1611893891E-02 2.6071637731E-02 + 4.6212367355E-02 7.1931146031E-02 1.0309560993E-01 1.3954398848E-01 + 1.8108516481E-01 2.2749879588E-01 2.7853551471E-01 3.3391723855E-01 + 3.9333760799E-01 4.5646258261E-01 5.2293121815E-01 5.9235664962E-01 + 6.6432730246E-01 7.3840835189E-01 8.1414344703E-01 8.9105671317E-01 + 9.6865503942E-01 1.0464306585E+00 1.1238640126E+00 1.2004269027E+00 + 1.2755859033E+00 1.3488060321E+00 1.4195546343E+00 1.4873054734E+00 + 1.5515429661E+00 1.6117665419E+00 1.6674950690E+00 1.7182713005E+00 + 1.7636662803E+00 1.8032836731E+00 1.8367639298E+00 1.8637882452E+00 + 1.8840822675E+00 1.8974194603E+00 1.9036240944E+00 1.9025738135E+00 + 1.8942017045E+00 1.8784978543E+00 1.8555103414E+00 1.8253456352E+00 + 1.7881683791E+00 1.7442005429E+00 1.6937199385E+00 1.6370581035E+00 + 1.5745976610E+00 1.5067687358E+00 1.4340452211E+00 1.3569404231E+00 + 1.2760020160E+00 1.1918064160E+00 1.1049538964E+00 1.0160613673E+00 + 9.2575734998E-01 8.3467460010E-01 7.4344453823E-01 6.5268979540E-01 + 5.6301947864E-01 4.7502081550E-01 3.8925582018E-01 3.0625386766E-01 + 2.2650724422E-01 1.5046748932E-01 7.8539944862E-02 1.1080962825E-02 + -5.1604454191E-02 -1.0926468271E-01 -1.6170387178E-01 -2.0878153104E-01 + -2.5041266276E-01 -2.8656703110E-01 -3.1726770611E-01 -3.4258899489E-01 + -3.6265355456E-01 -3.7762919993E-01 -3.8772519856E-01 -3.9318816576E-01 + -3.9429766074E-01 -3.9136158031E-01 -3.8471145201E-01 -3.7469773352E-01 + -3.6168522807E-01 -3.4604872728E-01 -3.2816899339E-01 -3.0842919160E-01 + -2.8721188071E-01 -2.6489671727E-01 -2.4185903332E-01 -2.1846483271E-01 + -1.9506159850E-01 -1.7197094221E-01 -1.4948529302E-01 -1.2786520940E-01 + -1.0733875677E-01 -8.8095454693E-02 -7.0289971989E-02 -5.4040605369E-02 + -3.9429767264E-02 -2.6505062115E-02 -1.5281164832E-02 -5.7416074630E-03 + 2.1603474044E-03 8.4957731860E-03 1.3357989886E-02 1.6859185849E-02 + 1.9127542817E-02 2.0302039978E-02 2.0528949960E-02 1.9958515175E-02 + 1.8743481839E-02 1.7030711340E-02 1.4960885094E-02 1.2666454443E-02 + 1.0272288328E-02 7.8829341896E-03 5.5906265491E-03 3.4740294105E-03 + 1.5939151368E-03 -9.3161460713E-06 -1.3081421905E-03 -2.2889247613E-03 + -2.9586723728E-03 -3.3330454040E-03 -3.4379043645E-03 -3.3116134947E-03 + -2.9958294325E-03 -2.5381165335E-03 -1.9860195600E-03 -1.3858601492E-03 + -7.8363399407E-04 -2.1414707411E-04 2.9060253303E-04 7.0836142024E-04 + 1.0302894383E-03 1.2507264382E-03 1.3810145934E-03 1.4366075596E-03 + 1.5241743394E-03 1.2970781138E-03 4.2053636224E-04 -8.7628403596E-05 + -3.2926744951E-05 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 + + + 0.0000000000E+00 -1.2766802783E-03 -5.0740737006E-03 -1.1294943109E-02 + -1.9779563399E-02 -3.0309179983E-02 -4.2610757943E-02 -5.6362931200E-02 + -7.1203037941E-02 -8.6735107545E-02 -1.0253864565E-01 -1.1817804821E-01 + -1.3321246274E-01 -1.4720590534E-01 -1.5973743639E-01 -1.7041119538E-01 + -1.7886609650E-01 -1.8478499204E-01 -1.8790311870E-01 -1.8801565373E-01 + -1.8498422559E-01 -1.7874223440E-01 -1.6929887167E-01 -1.5674173580E-01 + -1.4123798444E-01 -1.2303395256E-01 -1.0245327708E-01 -7.9893448530E-02 + -5.5820936769E-02 -3.0764870149E-02 -5.3094015651E-03 1.9915127182E-02 + 4.4242044895E-02 6.6979204402E-02 8.7420468652E-02 1.0485767653E-01 + 1.1859312835E-01 1.2795196636E-01 1.3229442739E-01 1.3102807320E-01 + 1.2361910717E-01 1.0960310900E-01 8.8594823255E-02 6.0296803989E-02 + 2.4506768674E-02 -1.8876479228E-02 -6.9848676444E-02 -1.2829736420E-01 + -1.9400080173E-01 -2.6662869894E-01 -3.4574469394E-01 -4.3081033028E-01 + -5.2119087492E-01 -6.1616312017E-01 -7.1492302352E-01 -8.1659752253E-01 + -9.2025399413E-01 -1.0249140510E+00 -1.1295650232E+00 -1.2331754574E+00 + -1.3347057629E+00 -1.4331269493E+00 -1.5274288997E+00 -1.6166382233E+00 + -1.6998298005E+00 -1.7761364443E+00 -1.8447637570E+00 -1.9049985830E+00 + -1.9562164998E+00 -1.9978886426E+00 -2.0295909423E+00 -2.0510048795E+00 + -2.0619206025E+00 -2.0622380206E+00 -2.0519659827E+00 -2.0312206144E+00 + -2.0002216658E+00 -1.9592872972E+00 -1.9088286742E+00 -1.8493434681E+00 + -1.7814088052E+00 -1.7056739411E+00 -1.6228529519E+00 -1.5337177577E+00 + -1.4390918021E+00 -1.3398447235E+00 -1.2368883551E+00 -1.1311743949E+00 + -1.0236940779E+00 -9.1548062423E-01 -8.0761509710E-01 -7.0119670237E-01 + -5.9727815537E-01 -4.9682183402E-01 -4.0069124431E-01 -3.0964407985E-01 + -2.2433084819E-01 -1.4527813448E-01 -7.2899716146E-02 -7.4927811408E-03 + 5.0760037837E-02 1.0178689731E-01 1.4562073176E-01 1.8239349988E-01 + 2.1233192881E-01 2.3574056152E-01 2.5299461993E-01 2.6452955914E-01 + 2.7083248213E-01 2.7242382097E-01 2.6984883103E-01 2.6366650139E-01 + 2.5444577185E-01 2.4273703310E-01 2.2907310505E-01 2.1396272120E-01 + 1.9789327721E-01 1.8128778726E-01 1.6453274168E-01 1.4797381904E-01 + 1.3190123658E-01 1.1654063300E-01 1.0207835221E-01 8.8658234615E-02 + 7.6355340897E-02 6.5217241440E-02 5.5259676765E-02 4.6450866362E-02 + 3.8745718040E-02 3.2078736044E-02 2.6369386665E-02 2.1535137268E-02 + 1.7487014656E-02 1.4147533461E-02 1.1439231352E-02 9.2948926268E-03 + 7.6571896883E-03 6.4683732706E-03 5.6757938448E-03 5.2095095489E-03 + 5.2694616958E-03 4.4647572585E-03 1.4398345034E-03 -3.0204397696E-04 + -1.1349430762E-04 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 + + + -9.4156269699E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 -4.3831848418E+00 0.0000000000E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 -3.3556427390E+00 0.0000000000E+00 + 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 -2.7652208407E-01 + + + + + + 0.0000000000E+00 3.0415688691E-03 1.2151978917E-02 2.7288426879E-02 + 4.8379861526E-02 7.5327412699E-02 1.0800498738E-01 1.4626002824E-01 + 1.8991442900E-01 2.3876559957E-01 2.9258767305E-01 3.5113284544E-01 + 4.1413283819E-01 4.8130047251E-01 5.5233134408E-01 6.2690558567E-01 + 7.0468970489E-01 7.8533848388E-01 8.6849692727E-01 9.5380224473E-01 + 1.0408858538E+00 1.1293753904E+00 1.2188967112E+00 1.3090758769E+00 + 1.3995411011E+00 1.4899246542E+00 1.5798647085E+00 1.6690071143E+00 + 1.7570070963E+00 1.8435308594E+00 1.9282570969E+00 2.0108783907E+00 + 2.0911025002E+00 2.1686535273E+00 2.2432729600E+00 2.3147205903E+00 + 2.3827752900E+00 2.4472356635E+00 2.5079205725E+00 2.5646695005E+00 + 2.6173428134E+00 2.6658218792E+00 2.7100090586E+00 2.7498275741E+00 + 2.7852212616E+00 2.8161542079E+00 2.8426102829E+00 2.8645925720E+00 + 2.8821227497E+00 2.8952402441E+00 2.9040014875E+00 2.9084790451E+00 + 2.9087606224E+00 2.9049479955E+00 2.8971561922E+00 2.8855120902E+00 + 2.8701536321E+00 2.8512284484E+00 2.8288929429E+00 2.8033109141E+00 + 2.7746527947E+00 2.7430940280E+00 2.7088145457E+00 2.6719972634E+00 + 2.6328271836E+00 2.5914906119E+00 2.5481738674E+00 2.5030625091E+00 + 2.4563405746E+00 2.4081898121E+00 2.3587886152E+00 2.3083116229E+00 + 2.2569290340E+00 2.2048060162E+00 2.1521022198E+00 2.0989712711E+00 + 2.0455603737E+00 1.9920100564E+00 1.9384538608E+00 1.8850181234E+00 + 1.8318218112E+00 1.7789764101E+00 1.7265858620E+00 1.6747465488E+00 + 1.6235473200E+00 1.5730695607E+00 1.5233872977E+00 1.4745673387E+00 + 1.4266694441E+00 1.3797465251E+00 1.3338448671E+00 1.2890043744E+00 + 1.2452588318E+00 1.2026361825E+00 1.1611588163E+00 1.1208438669E+00 + 1.0817033235E+00 1.0437448828E+00 1.0069717741E+00 9.7138321116E-01 + 9.3697469855E-01 9.0373833006E-01 8.7166298714E-01 8.4073455925E-01 + 8.1093701315E-01 7.8225175506E-01 7.5465817415E-01 7.2813379835E-01 + 7.0265421686E-01 6.7819483548E-01 6.5472945629E-01 6.3223095464E-01 + 6.1067081467E-01 5.9002121467E-01 5.7025371443E-01 5.5133941858E-01 + 5.3324840941E-01 5.1595268299E-01 4.9942362809E-01 4.8363228547E-01 + 4.6855030159E-01 4.5415075369E-01 4.4040632945E-01 4.2728942160E-01 + 4.1477520474E-01 4.0283835390E-01 3.9145298842E-01 3.8059649564E-01 + 3.7024575718E-01 3.6037713858E-01 3.5097043469E-01 3.4200463563E-01 + 3.3345892212E-01 3.2531531439E-01 3.1755482217E-01 3.1015977495E-01 + 3.0311418725E-01 2.9640096230E-01 2.9000572036E-01 2.8391389275E-01 + 2.7811104108E-01 2.7258512101E-01 2.6732275533E-01 2.6231289263E-01 + 2.5754433062E-01 2.5300615948E-01 2.4868930669E-01 2.4458332187E-01 + 2.4068044353E-01 2.3697169034E-01 2.3344954831E-01 2.3010664934E-01 + 2.2693573692E-01 2.2393081098E-01 2.2108492158E-01 2.1839310542E-01 + 2.1584898900E-01 2.1344814151E-01 2.1118501082E-01 2.0905539572E-01 + 2.0705450035E-01 2.0517834079E-01 2.0342272717E-01 2.0178388609E-01 + 2.0025809905E-01 1.9884179701E-01 1.9753161800E-01 1.9632419054E-01 + 1.9521641473E-01 1.9420511024E-01 1.9328736369E-01 1.9246018152E-01 + 1.9172077787E-01 1.9106634576E-01 1.9049418121E-01 1.9000166972E-01 + 1.8958615218E-01 1.8924521232E-01 1.8897620344E-01 1.8877689062E-01 + 1.8864460981E-01 1.8857728097E-01 1.8857219350E-01 1.8862738763E-01 + 1.8874017578E-01 1.8890859841E-01 1.8913012642E-01 1.8940269338E-01 + 1.8972399615E-01 1.9009184727E-01 1.9050421540E-01 1.9095878234E-01 + 1.9145381279E-01 1.9198690021E-01 1.9255648037E-01 1.9316039485E-01 + 1.9379693642E-01 1.9446433017E-01 1.9516070745E-01 1.9588466926E-01 + 1.9663423407E-01 1.9740819737E-01 1.9820485803E-01 1.9902282196E-01 + 1.9986078801E-01 2.0071718064E-01 2.0159097911E-01 2.0248070389E-01 + 2.0338528007E-01 2.0430356079E-01 2.0523427146E-01 2.0617654663E-01 + 2.0712914254E-01 2.0809117454E-01 2.0906169026E-01 2.1003960441E-01 + 2.1102420555E-01 2.1201447431E-01 2.1300962677E-01 2.1400892197E-01 + 2.1501138799E-01 2.1601645888E-01 2.1702332525E-01 2.1803124611E-01 + 2.1903965352E-01 2.2004775663E-01 2.2105500774E-01 2.2206082762E-01 + 2.2306448888E-01 2.2406556753E-01 2.2506346522E-01 2.2605760461E-01 + 2.2704757316E-01 2.2803279903E-01 2.2901282931E-01 2.2998726454E-01 + 2.3095556709E-01 2.3191738343E-01 2.3287233130E-01 2.3381991251E-01 + 2.3475985084E-01 2.3569177530E-01 2.3661526152E-01 2.3753006086E-01 + 2.3843583107E-01 2.3933221385E-01 2.4021898239E-01 2.4109582742E-01 + 2.4196244396E-01 2.4281862821E-01 2.4366410489E-01 2.4449861163E-01 + 2.4532196850E-01 2.4613393437E-01 2.4693428083E-01 2.4772285220E-01 + 2.4849944097E-01 2.4926384596E-01 2.5001593554E-01 2.5075553475E-01 + 2.5148246463E-01 2.5219661684E-01 2.5289784742E-01 2.5358599623E-01 + 2.5426097693E-01 2.5492267454E-01 2.5557094581E-01 2.5620572461E-01 + 2.5682691775E-01 2.5743441257E-01 2.5802814664E-01 2.5860805146E-01 + 2.5917404261E-01 2.5972606178E-01 2.6026406240E-01 2.6078798553E-01 + 2.6129777854E-01 2.6179341374E-01 2.6227485441E-01 2.6274205625E-01 + 2.6319500717E-01 2.6363368632E-01 2.6405806920E-01 2.6446814791E-01 + 2.6486391801E-01 2.6524537346E-01 2.6561251245E-01 2.6596534387E-01 + 2.6630387611E-01 2.6662811863E-01 2.6693808943E-01 2.6723380819E-01 + 2.6751529802E-01 2.6778258505E-01 2.6803569829E-01 2.6827467048E-01 + 2.6849954094E-01 2.6871034476E-01 2.6890712327E-01 2.6908992399E-01 + 2.6925879503E-01 2.6941378207E-01 2.6955493762E-01 2.6968232463E-01 + 2.6979599394E-01 2.6989600333E-01 2.6998241775E-01 2.7005530807E-01 + 2.7011473105E-01 2.7016075488E-01 2.7019345811E-01 2.7021291174E-01 + 2.7021918302E-01 2.7021234822E-01 2.7019249878E-01 2.7015970346E-01 + 2.7011404000E-01 2.7005559313E-01 2.6998446215E-01 2.6990071628E-01 + 2.6980444200E-01 2.6969573391E-01 2.6957469076E-01 2.6944138903E-01 + 2.6929592069E-01 2.6913838893E-01 2.6896889168E-01 2.6878751188E-01 + 2.6859434618E-01 2.6838950490E-01 2.6817308557E-01 2.6794517651E-01 + 2.6770587827E-01 2.6745530671E-01 2.6719355998E-01 2.6692073043E-01 + 2.6663692179E-01 2.6634225373E-01 2.6603682653E-01 2.6572073504E-01 + 2.6539408550E-01 2.6505699958E-01 2.6470958153E-01 2.6435192709E-01 + 2.6398414437E-01 2.6360635518E-01 2.6321866982E-01 2.6282118328E-01 + 2.6241400492E-01 2.6199725477E-01 2.6157105146E-01 2.6113548757E-01 + 2.6069067320E-01 2.6023672461E-01 2.5977377103E-01 2.5930190116E-01 + 2.5882122532E-01 2.5833185590E-01 2.5783392938E-01 2.5732753475E-01 + 2.5681278029E-01 2.5628977800E-01 2.5575865752E-01 2.5521952295E-01 + 2.5467247490E-01 2.5411762459E-01 2.5355509256E-01 2.5298500070E-01 + 2.5240744063E-01 2.5182252238E-01 2.5123035758E-01 2.5063108149E-01 + 2.5002478223E-01 2.4941156627E-01 2.4879154356E-01 2.4816483725E-01 + 2.4753155805E-01 2.4689179993E-01 2.4624567091E-01 2.4559328030E-01 + 2.4493476189E-01 2.4427019811E-01 2.4359969435E-01 2.4292335756E-01 + 2.4224130632E-01 2.4155365024E-01 2.4086047929E-01 2.4016189785E-01 + 2.3945801134E-01 2.3874894543E-01 2.3803478714E-01 2.3731563409E-01 + 2.3659158881E-01 2.3586275874E-01 2.3512926188E-01 2.3439117846E-01 + 2.3364860799E-01 2.3290165069E-01 2.3215041787E-01 2.3139501051E-01 + 2.3063551292E-01 2.2987202207E-01 2.2910463553E-01 2.2833346633E-01 + 2.2755860157E-01 2.2678012810E-01 2.2599813999E-01 2.2521273185E-01 + 2.2442401641E-01 2.2363207016E-01 2.2283698074E-01 2.2203883909E-01 + 2.2123773653E-01 2.2043378374E-01 2.1962704965E-01 2.1881762105E-01 + 2.1800558546E-01 2.1719103131E-01 2.1637406387E-01 2.1555474909E-01 + 2.1473317076E-01 2.1390941284E-01 2.1308355991E-01 2.1225571260E-01 + 2.1142593426E-01 2.1059430504E-01 2.0976090513E-01 2.0892581478E-01 + 2.0808912997E-01 2.0725091239E-01 2.0641123781E-01 2.0557018255E-01 + 2.0472782288E-01 2.0388424772E-01 2.0303952028E-01 2.0219371059E-01 + 2.0134689102E-01 2.0049913380E-01 1.9965052010E-01 1.9880111577E-01 + 1.9795098459E-01 1.9710019496E-01 1.9624881505E-01 1.9539691782E-01 + 1.9454457232E-01 1.9369183594E-01 1.9283877308E-01 1.9198544785E-01 + 1.9113192506E-01 1.9027827660E-01 1.8942455378E-01 1.8857081705E-01 + 1.8771712650E-01 1.8686354182E-01 1.8601012881E-01 1.8515694118E-01 + 1.8430403294E-01 1.8345146022E-01 1.8259927869E-01 1.8174754563E-01 + 1.8089631859E-01 1.8004564516E-01 1.7919557762E-01 1.7834616772E-01 + 1.7749746673E-01 1.7664952954E-01 1.7580240262E-01 1.7495613329E-01 + 1.7411076952E-01 1.7326635875E-01 1.7242294853E-01 1.7158058705E-01 + 1.7073931652E-01 1.6989918133E-01 1.6906022523E-01 1.6822249133E-01 + 1.6738602300E-01 1.6655086174E-01 1.6571704783E-01 1.6488462152E-01 + 1.6405362242E-01 1.6322408946E-01 1.6239606045E-01 1.6156957341E-01 + 1.6074466538E-01 1.5992137266E-01 1.5909973083E-01 1.5827977450E-01 + 1.5746153575E-01 1.5664505081E-01 1.5583035284E-01 1.5501747430E-01 + 1.5420644688E-01 1.5339730038E-01 1.5259006281E-01 1.5178476798E-01 + 1.5098144541E-01 1.5018012390E-01 1.4938083144E-01 1.4858359301E-01 + 1.4778843310E-01 1.4699538314E-01 1.4620446919E-01 1.4541571658E-01 + 1.4462914982E-01 1.4384478949E-01 1.4306265627E-01 1.4228277961E-01 + 1.4150518235E-01 1.4072988653E-01 1.3995691340E-01 1.3918628014E-01 + 1.3841800224E-01 1.3765210810E-01 1.3688861753E-01 1.3612754956E-01 + 1.3536892238E-01 1.3461275118E-01 1.3385904404E-01 1.3310782962E-01 + 1.3235912496E-01 1.3161294626E-01 1.3086930890E-01 1.3012822745E-01 + 1.2938970114E-01 1.2865375888E-01 1.2792041571E-01 1.2718968527E-01 + 1.2646158037E-01 1.2573611301E-01 1.2501328254E-01 1.2429310725E-01 + 1.2357560469E-01 1.2286078618E-01 1.2214866221E-01 1.2143924245E-01 + 1.2073252930E-01 1.2002852525E-01 1.1932725301E-01 1.1862872179E-01 + 1.1793294000E-01 1.1723991523E-01 1.1654965424E-01 1.1586214410E-01 + 1.1517740930E-01 1.1449545923E-01 1.1381630044E-01 1.1313993867E-01 + 1.1246637886E-01 1.1179561597E-01 1.1112764988E-01 1.1046249995E-01 + 1.0980017109E-01 1.0914066745E-01 1.0848399238E-01 1.0783014842E-01 + 1.0717911737E-01 1.0653091807E-01 1.0588555856E-01 1.0524304159E-01 + 1.0460336915E-01 1.0396654240E-01 1.0333255768E-01 1.0270139719E-01 + 1.0207308500E-01 1.0144762267E-01 1.0082501102E-01 1.0020525010E-01 + 9.9588339177E-02 9.8974265328E-02 9.8363022782E-02 9.7754628250E-02 + 9.7149081583E-02 9.6546381889E-02 9.5946527522E-02 9.5349516086E-02 + 9.4755327333E-02 9.4163964447E-02 9.3575438381E-02 9.2989747485E-02 + 9.2406889385E-02 9.1826860975E-02 9.1249658416E-02 9.0675256466E-02 + 9.0103663213E-02 8.9534885962E-02 8.8968921779E-02 8.8405767024E-02 + 8.7845417348E-02 8.7287867690E-02 8.6733090454E-02 8.6181093799E-02 + 8.5631883902E-02 8.5085456744E-02 8.4541807624E-02 8.4000931157E-02 + 8.3462821266E-02 8.2927450940E-02 8.2394822920E-02 8.1864945075E-02 + 8.1337812493E-02 8.0813419604E-02 + + diff --git a/tests/PP_ORB/nep_hfo2.txt b/tests/PP_ORB/nep_hfo2.txt new file mode 100644 index 0000000000..9fdcc26c3a --- /dev/null +++ b/tests/PP_ORB/nep_hfo2.txt @@ -0,0 +1,2478 @@ +nep4_zbl 2 O Hf +zbl 0.75 1.5 +cutoff 8 4 250 44 +n_max 4 4 +basis_size 12 12 +l_max 4 2 0 +ANN 30 0 + -1.5533842e+00 + -1.3961171e+00 + 3.3405685e+00 + -1.6875142e+00 + 3.5519030e+00 + -1.1462833e+00 + 1.0116381e-01 + 6.7952715e-02 + 3.5003048e-01 + -1.7030668e-01 + -7.1256649e-01 + -1.5600224e+00 + 5.0420427e-01 + 1.5662048e+00 + 6.6071171e-01 + -5.0812531e-01 + -3.2572895e-01 + 7.4311060e-01 + -1.1954777e+00 + 1.3949803e+00 + -6.0012668e-01 + -5.0848001e-01 + 6.6789776e-01 + -7.8436345e-01 + 2.7210480e-03 + 2.1846552e-01 + -4.2398471e-02 + 1.4517822e-02 + -7.2196305e-02 + -5.3533882e-01 + -3.4191072e-02 + -7.7979095e-02 + -1.4120042e+00 + 2.0508022e+00 + -4.1690224e-01 + -4.8395681e-01 + 1.1797905e-01 + -1.6266538e-01 + 5.0959129e-02 + -9.3200477e-03 + -1.4279183e+00 + 1.0652579e-01 + -2.8765094e-01 + -6.9196773e-01 + -1.1719827e-03 + -5.6879723e-01 + -3.8398403e-01 + -9.8231041e-01 + -1.0163052e+00 + -1.1246209e+00 + -1.4233644e+00 + -9.7076178e-01 + -8.9364243e-01 + -3.2399303e-01 + 1.4149309e-02 + 2.2001252e-02 + 1.6074455e-01 + 7.7645682e-02 + 1.3389353e-02 + 9.1075655e-03 + 1.9938855e-02 + -7.9607405e-02 + -6.7291018e-03 + 6.8432584e-02 + -7.3835095e-03 + -2.2786809e-02 + -3.5803532e-03 + 4.8761861e-03 + -6.3879490e-03 + 2.2497166e-02 + 3.4890608e-03 + 1.8671799e-02 + 3.1707793e-02 + -4.8870429e-02 + -1.9023570e-05 + -6.1419070e-02 + 2.2573497e-03 + 1.3801302e-02 + 2.0430773e-02 + 2.1373753e-02 + -2.5856828e-02 + -7.4794115e-03 + -7.1273562e-03 + -8.6361952e-03 + 1.0977860e-02 + 2.1528669e-02 + 6.0094874e-03 + -3.0552249e-02 + -1.4774554e-02 + -6.2929722e-03 + -6.1135310e-01 + 1.9887526e-02 + -3.0682695e-01 + 9.1953224e-01 + -6.4547473e-01 + -3.4369953e-02 + 3.0126595e-01 + -1.8165929e-02 + 7.5616993e-02 + -3.8231429e-02 + -1.9687304e-01 + -6.8616755e-03 + -3.3972260e-01 + -1.8103829e-01 + -1.3639644e-01 + -1.1910355e+00 + -2.6926747e-01 + 5.1797139e-03 + -8.3521521e-01 + -3.5952756e-03 + 7.5987077e-01 + -6.2408593e-02 + 4.4019932e-01 + -2.3265010e-02 + 1.2457320e-02 + 3.4785651e-02 + -9.3590695e-01 + 5.8341045e-02 + -3.4124655e-01 + -6.5846322e-03 + 9.5071286e-01 + -8.8140690e-01 + -1.0541197e+00 + -3.9390899e-02 + -6.7397636e-01 + 4.3877777e-01 + 4.7048733e-01 + -7.7633411e-01 + 8.0214584e-01 + -3.2974353e-01 + 3.1883493e-01 + -1.5757373e-01 + -8.1808084e-01 + 1.8354802e-01 + -2.4627013e+00 + -2.5718105e-01 + 1.0639265e+00 + 1.5450338e-01 + -9.5224369e-01 + -8.6650759e-01 + -8.8831031e-01 + 5.5819947e-01 + -1.5909443e+00 + -1.7562282e-01 + -1.7365746e-01 + 8.1663117e-02 + 8.4073430e-01 + 7.1579200e-01 + -4.2814305e-01 + -2.2796454e-02 + 4.6642068e-01 + -5.4779783e-02 + -4.4556838e-01 + -6.9428071e-02 + -3.1187713e-02 + 1.5238337e-01 + -9.2398334e-01 + 1.8374674e-01 + 7.3650938e-01 + 4.0814039e-01 + 5.4446990e-03 + -4.8339632e-01 + 9.6483761e-01 + 2.3060614e-01 + 2.7252537e-01 + -3.2059692e-02 + 3.4896791e-01 + 2.8511392e-02 + 6.9042408e-01 + -2.5642964e-01 + 3.8858619e-01 + 6.6770041e-01 + -1.3871707e-02 + 1.7523861e-01 + 4.2593192e-02 + 6.6747911e-02 + -1.1678466e+00 + -6.4021642e-03 + 3.1031793e-01 + -1.3201442e-01 + 6.8169339e-03 + 4.7573936e-03 + 7.7245603e-03 + -4.7511641e-02 + -4.7533914e-02 + -2.7271273e-02 + 2.5843592e-02 + -1.5981583e-02 + 1.4571676e-02 + -3.6891356e-02 + -6.1368778e-02 + 3.7512898e-03 + -2.8101203e-03 + -1.1170986e-01 + 1.6563376e-03 + -5.7168992e-04 + 2.1270134e-02 + -1.9786317e-02 + 4.7334418e-02 + 5.0790653e-02 + -8.7428745e-03 + -5.7358123e-02 + -5.6691788e-02 + 4.8337746e-02 + 3.3187447e-04 + -3.1732582e-04 + -7.9288892e-02 + 5.2161511e-02 + 3.8048409e-02 + 4.4954855e-02 + 1.0561645e-02 + -2.9749824e-02 + 2.1458112e-02 + 1.0856581e-02 + -3.1864222e-02 + 9.0588629e-03 + -3.3456866e-02 + -1.2551477e-03 + -9.4641298e-03 + -6.6519424e-02 + 3.3262737e-02 + 2.9121663e-02 + 5.0257418e-02 + -2.2861289e-02 + 1.6314587e-02 + 1.7113203e-02 + -4.6972863e-02 + -2.7230904e-02 + -9.1398065e-04 + 1.0013446e-02 + -2.0375008e-02 + 4.1204547e-03 + 2.5824877e-02 + -1.4079484e-02 + 2.7369779e-02 + -6.0363659e-03 + 7.7950419e-03 + 1.3294880e-02 + -7.2736745e-03 + -8.5742353e-03 + 7.9887822e-02 + 3.4030172e-01 + 5.2396590e-01 + 1.0425525e-01 + -9.9720396e-03 + -4.1197628e-01 + 4.2480439e-01 + -5.7194126e-01 + 2.9740049e-02 + 1.0275854e-02 + 6.1146196e-02 + 1.6517022e+00 + -1.1662266e-02 + -2.4133386e-01 + -2.1769509e-02 + -2.1765687e-01 + 6.6210961e-01 + -6.7576736e-01 + 1.9757186e-01 + -6.4739192e-01 + -3.5957009e-01 + -7.3746997e-01 + -2.7454838e-01 + -5.6521393e-02 + -1.9129170e-01 + -6.7371383e-02 + -7.2697872e-01 + 4.8399229e-02 + 1.0489986e-01 + 1.5167656e-03 + -3.3318326e+00 + -6.3909218e-02 + -2.7729642e+00 + 6.2115723e-01 + -1.4336593e+00 + 6.3389987e-01 + 3.7841506e-02 + 9.5411837e-01 + -1.5336981e-02 + 6.1036491e-01 + 3.6111861e-01 + -2.3854239e+00 + -1.5737851e-03 + -5.4196215e-01 + 7.1373042e-03 + -4.2057219e-01 + -2.3335574e+00 + 1.3107912e-01 + -1.1584100e+00 + 5.9712154e-01 + -4.7217035e-01 + -2.2535858e+00 + -6.9284620e-04 + 1.1485407e-02 + 3.5460096e-02 + -3.0010408e-03 + 1.9983162e-01 + 2.1650704e-02 + -4.5966753e-01 + -3.5841549e-03 + 1.7601755e-02 + 8.9710448e-03 + -2.6406469e-03 + 1.4104334e-02 + -1.4141700e-02 + -9.3275225e-03 + -4.5630774e-03 + 4.4038616e-02 + -1.5087425e-02 + 1.4408885e-02 + -3.9309398e-03 + -1.8914385e-02 + -6.2610600e-03 + 7.8814300e-03 + -2.7512060e-02 + -1.5888473e-02 + -4.5742616e-03 + 4.6605617e-02 + -3.1424817e-02 + -1.0833234e-03 + 2.2012154e-02 + -5.7683703e-02 + 1.1295796e-02 + 2.9231109e-02 + -8.2675070e-03 + -1.2276430e-02 + 1.5593769e-03 + -6.1631473e-03 + -1.7404020e-02 + -1.5782848e-02 + -1.7578206e-03 + 7.9035247e-03 + 2.5656173e-02 + 1.2455444e-02 + -1.6574979e-02 + 2.7992427e-02 + -6.6810567e-03 + 1.2519993e-02 + -4.4025976e-02 + 5.2069917e-02 + -1.0799933e-02 + -2.0434327e-02 + 1.1730954e-03 + 1.2923595e-02 + -1.8531928e-02 + -6.2942185e-04 + 1.9058460e-02 + 6.1256322e-03 + 3.5805248e-02 + -6.6607958e-03 + 1.8041123e-02 + 2.4447843e-02 + -1.4436842e-02 + -8.4400214e-03 + -3.4760563e-03 + -2.4753269e-02 + 3.0526537e-02 + -3.4755066e-02 + 5.4855128e-03 + -4.1933022e-02 + 7.8874350e-01 + 2.9807994e-01 + 8.8287580e-01 + -4.2366959e-02 + -8.0364215e-01 + -1.2714040e+00 + 4.9528247e-01 + -1.1485488e+00 + 9.4109491e-02 + 3.6265265e-02 + -1.2928163e+00 + -2.0973849e-01 + -1.5770923e+00 + -8.1361520e-01 + 7.0091558e-04 + -1.0796026e+00 + -4.0938309e-01 + -2.4113749e-01 + -1.8153520e-01 + 6.0984578e-02 + 6.0962047e-02 + 4.6867672e-01 + -4.9281827e-01 + -4.8094270e-01 + -1.0780424e-01 + 3.2565493e-02 + 8.9389510e-02 + 8.6869020e-03 + 4.8171725e-02 + 6.9392331e-02 + -1.0614427e+00 + -6.2720943e-04 + 3.0752342e+00 + -1.2334282e+00 + 3.6690407e+00 + -1.7859516e+00 + -2.5564829e-01 + 5.8958769e-01 + 6.2757216e-02 + -8.1405163e-01 + -1.3294373e+00 + -4.7609419e-02 + 7.8440917e-01 + -1.6076301e+00 + -7.0976769e-03 + 4.0848342e-01 + -1.4772035e+00 + -1.4631538e+00 + -7.6802534e-01 + 7.7424347e-02 + 1.2938232e+00 + -1.7059858e+00 + -5.7154906e-01 + -8.2183763e-02 + -2.8921232e-01 + -1.2834789e-01 + -8.5807055e-02 + -1.1391416e-01 + 3.9016437e-02 + 3.1840857e-02 + 1.9572571e-01 + 7.2030306e-01 + 2.6134950e-01 + 3.3105952e-01 + -2.5622594e-01 + -4.2617300e-01 + 7.9108471e-01 + -1.0580621e-02 + -2.6168626e-02 + -4.5393223e-01 + -2.0176649e+00 + 1.5474540e+00 + -6.1232084e-01 + 8.2194257e-01 + -5.2398986e-01 + 5.2110428e-01 + 9.9708331e-01 + -1.1019132e+00 + -3.1911219e-03 + -2.9894230e-01 + 6.1271101e-01 + 5.7637948e-01 + 1.8220620e-01 + -2.1431355e-02 + 1.9254673e-02 + 9.4930515e-02 + -8.6608046e-01 + 9.0330578e-02 + 4.7849634e-01 + 4.1637458e-02 + -5.6670797e-01 + 5.0426185e-01 + 1.1017716e+00 + -2.8527301e-04 + -7.7269107e-01 + 1.5950040e+00 + -1.5582093e-02 + -7.8770056e-02 + 6.2490231e-01 + -1.2830810e-01 + 1.6146777e+00 + 4.1480798e-02 + 6.3045788e-01 + -1.5397651e-02 + -6.7336589e-01 + 1.1574367e-01 + 3.8441315e-01 + -1.9876043e-01 + -7.4991804e-01 + 9.3885452e-02 + 5.3045481e-01 + -3.6137089e-01 + 1.5990585e-01 + 3.9098004e-01 + -5.8435488e-01 + -4.0068451e-01 + 4.6165392e-01 + 3.0549431e-01 + -5.9603624e-02 + -5.3087464e-03 + -1.1701569e-02 + -1.7934341e-02 + -4.3717593e-02 + 1.7014343e-02 + -5.1322237e-02 + 1.5941918e-02 + 2.6800504e-02 + -5.1344754e-03 + 2.2037320e-02 + 2.1565268e-02 + 5.0122973e-02 + -2.4583220e-02 + 2.7090648e-02 + 2.7539188e-02 + 9.0609929e-03 + -9.0884557e-04 + -8.2189380e-04 + 2.4118058e-02 + 3.6425779e-03 + 9.5060736e-02 + -1.3310982e-02 + 1.5463824e-02 + -1.7957035e-02 + -1.8245881e-02 + -3.5140985e-03 + 2.6563164e-02 + -3.4438567e-03 + 4.5082448e-03 + -5.0787807e-02 + -2.1656645e-02 + 1.3711317e+00 + 1.1337234e+00 + 1.2596558e+00 + 2.5672248e-01 + -2.9874331e-01 + -1.0138477e+00 + -9.3686140e-01 + -1.0950276e-01 + -4.7894266e-01 + 1.2369180e-02 + -2.8298074e-01 + -8.7517846e-01 + -9.3904519e-01 + -2.8932291e-01 + -2.8747582e-01 + 3.7920401e-01 + -1.6006015e-01 + 2.9780418e-01 + -1.3832451e+00 + -3.7071848e-01 + -1.6827773e-01 + -9.6148199e-01 + -6.0920510e-02 + -7.0718753e-01 + -4.4422336e-02 + 2.1220632e-01 + -9.2157340e-01 + 4.4677634e-02 + 4.2453337e-02 + 9.9028409e-02 + 4.3839280e-02 + 8.1218677e-03 + -9.3200700e-03 + -2.0126449e-03 + 1.8364787e-02 + -5.8334481e-02 + -3.2461349e-02 + -4.7342818e-02 + -8.9094192e-03 + 1.1397540e-02 + -2.4492588e-02 + -3.7034534e-02 + 1.0619391e-02 + -2.6551444e-02 + -2.0778362e-02 + -7.1134930e-04 + 6.7724558e-03 + 1.6936837e-02 + -4.9764225e-03 + 6.4828806e-03 + -5.2051619e-05 + 3.1768929e-02 + -2.8767373e-04 + -1.2685597e-02 + -5.0001394e-02 + 1.8382698e-02 + -3.3922970e-02 + -9.7961705e-03 + -6.8917004e-03 + 1.0502873e-01 + -2.0470790e-04 + 6.0568168e-03 + -6.8617389e-02 + -1.1550117e-02 + -6.9937870e-02 + -1.8276358e-02 + 3.7271686e-02 + 6.2318257e-05 + 1.1846968e-02 + 8.7413393e-02 + 1.5783887e-02 + -4.2945696e-03 + -2.5685389e-02 + 2.1167449e-03 + 5.8518585e-02 + -2.7069140e-02 + 9.7040199e-03 + -8.4278762e-02 + 1.0122267e-02 + -3.9673164e-03 + -7.3972689e-03 + 2.6367128e-02 + 3.6277737e-02 + -3.8262032e-02 + -2.6692316e-02 + -9.4074160e-02 + 2.9207457e-02 + 1.5079098e-02 + 5.6207605e-02 + 1.7911637e-03 + 1.1327605e-02 + -7.5691529e-02 + -7.8304067e-05 + 7.3331617e-02 + 9.6682524e-03 + 1.6396824e-02 + 1.2823214e-02 + -5.4936195e-03 + -4.7048982e-02 + 5.2271407e-02 + -3.1157890e-03 + -1.1862440e-03 + -4.0890314e-03 + 4.5224028e-03 + 2.0718100e-02 + -3.1973526e-03 + -7.1912147e-03 + 3.3767696e-02 + -2.8763402e-02 + -3.4954041e-02 + 2.2551855e-02 + 3.5715152e-02 + -1.7831182e-02 + -5.0948046e-02 + -2.3136989e-03 + 1.1232812e-01 + -6.2537855e-03 + 4.1333441e-02 + -4.0883988e-02 + -6.2899268e-03 + 1.2157757e-03 + 3.1102780e-02 + -9.7883176e-03 + 4.2762300e-03 + -3.9867647e-02 + 1.4984523e-02 + 3.2217752e-02 + -1.9868309e-02 + 6.8553333e-04 + 7.6800603e-03 + -4.7583144e-02 + -4.8936550e-03 + 1.2763740e-02 + -7.5444467e-03 + -1.0949926e-02 + 6.0163881e-03 + 1.1689638e-01 + -1.0851139e-02 + 5.1869370e-02 + 9.9069085e-03 + -6.2761358e-03 + -2.0223195e-02 + -5.3970949e-03 + -2.8824426e-02 + 8.2590273e-03 + 2.1121267e-02 + -1.1314554e-02 + -4.5499536e-03 + -1.1022556e-02 + -4.0911630e-02 + -2.5341708e-02 + -2.8689561e-02 + -3.2600516e-03 + 1.2013450e-02 + 1.1910229e-02 + 4.3315953e-04 + 2.0022996e-02 + 2.9590786e-02 + -4.1729012e-03 + 3.8204886e-02 + 1.6919598e-02 + 4.3231804e-02 + 2.1408904e-02 + 4.5790900e-02 + 6.0931839e-02 + 3.1153079e-02 + -3.3861183e-02 + -4.6897279e-03 + 2.4142407e-02 + -3.7402480e-03 + 8.4102474e-04 + -2.5245285e-02 + -1.0889797e-02 + 3.4454018e-02 + -3.5534397e-02 + -1.5747466e-04 + -1.2373269e-02 + 1.7905924e-02 + -4.2244052e-03 + -5.1262759e-02 + 1.8200416e-03 + -1.2418582e-02 + -1.4071739e-02 + -4.0316742e-02 + 1.2818400e-02 + -3.7924618e-02 + -2.8985678e-03 + -8.7702692e-02 + 6.9489218e-02 + 3.7151739e-02 + -5.5248059e-02 + 1.7044647e-04 + 1.9130122e-02 + -1.2005315e-02 + 1.0293754e-03 + -5.6213912e-02 + -2.5152443e-03 + -5.5101146e-03 + -1.5867703e-02 + 7.3343314e-02 + -5.3770333e-03 + -5.8140125e-02 + -2.6827151e-02 + 1.0268684e-02 + 1.5314277e-02 + -2.8850576e-03 + 2.8233090e-03 + -8.8261068e-03 + -5.8012258e-02 + -8.9916335e-03 + -4.9529523e-03 + -1.3407221e+00 + -3.0955511e-01 + 4.8972845e-01 + -4.8152748e-01 + -6.9162339e-02 + -2.3224574e-01 + -2.6368378e-02 + 3.8579920e-01 + -1.3658817e-02 + 1.9708121e-01 + 1.1226236e+00 + 2.1273157e-02 + 6.7473012e-01 + 3.1147590e-01 + 1.2413511e+00 + 3.8542661e-01 + 2.2972232e-01 + 1.1035845e-01 + 4.4095986e-02 + -3.8160810e-01 + 5.8827358e-01 + -6.5511875e-03 + 2.7560288e-01 + 1.3321730e-01 + 1.7438812e-02 + 1.4589375e-02 + -6.8825237e-02 + 2.7238786e-02 + 3.8228114e-03 + 1.7168875e-03 + 2.3639426e-02 + -1.4021878e-02 + 4.8630189e-02 + 8.1810065e-02 + 2.8571026e-02 + -1.0443772e-01 + 2.8297512e-02 + -7.9741687e-02 + -7.3913999e-02 + -3.8730208e-02 + -3.6129716e-03 + -4.5975495e-02 + -7.2972230e-03 + 6.7367610e-03 + 2.2296105e-02 + 2.5583036e-02 + 5.3056958e-03 + -2.5760340e-02 + 3.6260355e-02 + 1.9638471e-02 + 2.2445494e-02 + -3.6946593e-03 + -5.7818270e-03 + 8.3727218e-02 + -1.1139761e-02 + 1.2045382e-02 + -1.3439134e-03 + -2.5966207e-02 + 1.9410428e-03 + -1.2655141e+00 + 1.1681485e+00 + 4.2920103e+00 + -2.3247337e+00 + 3.6176658e+00 + -9.6877402e-01 + -1.0490178e+00 + 3.8788161e-01 + 2.8987330e-01 + -6.6193354e-01 + -1.3808476e+00 + -1.5762572e+00 + 2.3347577e-02 + -1.0266651e+00 + -1.5827994e-01 + -4.3132955e-01 + -1.2666576e+00 + -5.5675530e-01 + -2.3181431e-01 + 2.2925647e-01 + -6.8384522e-01 + -1.4205322e+00 + -7.6355559e-01 + -1.7369027e-01 + 1.4394751e-01 + 2.8479559e-02 + 2.8610098e-01 + -6.0903639e-01 + 5.3233039e-02 + -1.6745302e-03 + 2.4016194e-02 + 2.8825978e-02 + 9.7523428e-02 + -2.9044978e-03 + -6.1263639e-02 + -1.5218259e-02 + -3.1901747e-02 + 6.8098150e-02 + 1.5494373e-02 + -1.7079085e-02 + -9.1555947e-03 + 5.7319952e-03 + -5.7945825e-02 + -3.3408254e-02 + -2.4819743e-02 + 4.4181854e-02 + 4.0693358e-02 + 7.5645499e-02 + -1.9071868e-02 + -6.7221463e-02 + 3.9471194e-02 + -5.1839769e-02 + -5.0008371e-03 + -1.1342059e-02 + -3.8673498e-02 + -6.5596484e-02 + -1.1536515e-01 + 7.4396450e-03 + -2.0180142e-02 + -3.7941269e-03 + -3.5535827e-01 + -9.2485845e-03 + 1.4068165e+00 + 4.2521958e-03 + -1.0366883e-02 + 2.8783789e-01 + 2.1587063e-01 + -3.1534771e-03 + 1.8987321e+00 + 3.3736277e-02 + 1.4815078e+00 + 2.6589888e-01 + 5.2077442e-01 + 3.4315315e-01 + -1.2423822e-01 + -9.8387618e-03 + 7.5628579e-01 + -6.3569123e-01 + 4.1260013e-01 + -8.0956829e-01 + -1.0126771e-01 + -4.6508691e-01 + -2.8513014e-01 + 1.6454479e-01 + -2.2999957e-02 + 1.5335107e-01 + -1.1834909e-01 + -1.0697015e-02 + 1.4416915e-01 + -4.0303215e-02 + -7.2415168e-03 + -5.5828989e-01 + -8.7947035e-03 + -5.3351824e-03 + 1.8500771e-02 + 2.6408615e-02 + -1.2645995e-02 + 2.0214150e-02 + -1.3744256e-02 + -7.4356589e-03 + 3.2504615e-01 + 3.2672501e-01 + 9.2586823e-02 + 1.5579042e-02 + 1.0976698e-03 + -1.7843543e-02 + -7.9482424e-01 + 9.0871617e-02 + -1.6602024e-02 + 6.7327498e-03 + -1.6807191e-01 + 2.3526333e-01 + -6.5370165e-02 + 1.2134298e-03 + 3.7400417e-02 + -8.3657019e-03 + -1.5608850e-01 + 2.4255829e-02 + -6.4349107e-02 + -4.2699154e-02 + -1.9313157e-01 + 5.9642041e-01 + 1.9218128e-02 + 8.6047292e-01 + -6.9349909e-01 + 9.0511787e-01 + 3.9045842e-04 + -1.7225571e-02 + 5.9367394e-01 + 1.5549664e-01 + -4.1846748e-02 + 1.3270865e-02 + -3.8693711e-01 + -2.7334306e-01 + 3.5476640e-01 + 1.9510963e+00 + 1.0378287e-02 + -4.2606094e-01 + -1.0874054e-02 + 1.9770801e-02 + -4.8331483e-04 + 1.2583368e-02 + 5.7071590e-01 + 5.6383973e-03 + 1.4997941e+00 + 1.0212476e-02 + -7.1414542e-01 + -7.1654774e-02 + -5.4084587e-01 + 5.1585937e-01 + 3.5589128e+00 + -1.7383778e+00 + 1.2233889e-01 + -1.3598928e+00 + -1.5210943e+00 + 1.3895986e+00 + -7.2180048e-02 + 1.5407720e-03 + -7.6731181e-01 + -1.3576379e+00 + -4.1890152e-02 + 3.2560688e-02 + -8.6948270e-01 + 2.7459407e+00 + -8.9200187e-01 + -2.4163818e+00 + 2.0963227e-02 + -7.8312671e-01 + -3.7944797e-02 + 1.6480185e-02 + -1.3883970e-02 + -3.7964765e-02 + 3.5077311e-02 + -1.6459236e-03 + 7.4864554e-01 + 4.1168209e-02 + 3.2125134e+00 + -3.6428928e-02 + 1.1393247e+00 + 6.3595653e-01 + 3.2726175e-01 + 1.7241362e-02 + -3.0670298e-02 + 1.8201707e-01 + 2.6688987e-01 + -1.3087037e-01 + 3.6777306e-02 + 2.0871853e-02 + -1.4401561e-02 + -1.2151102e-02 + -3.5436325e-02 + 1.3446993e-01 + 2.3843296e-02 + 3.2054275e-02 + 3.5445674e-03 + -5.3619009e-02 + 9.4739974e-02 + 2.9487357e-01 + -1.2755167e-02 + -1.3073174e-02 + -1.5254131e-01 + -2.5614795e-01 + 3.4385361e-03 + -5.0293483e-02 + -1.9451633e-02 + -2.5868177e-02 + -1.3363692e-03 + 2.8486084e-02 + -3.6002591e-02 + -4.3067731e-02 + 1.3671353e-02 + -8.7555900e-02 + -2.3893500e-02 + -2.7352320e-02 + -1.8934984e-02 + 6.5847780e-03 + 3.2025422e-03 + -3.3881844e-03 + 4.2698300e-03 + 2.0825664e-02 + -2.8088816e-02 + 8.7136868e-04 + 1.0160359e-03 + -5.7103168e-02 + -8.7514324e-03 + -2.4424898e-03 + 2.2423331e-02 + 8.4371334e-03 + 2.1275582e-03 + -5.5697978e-02 + 1.5950520e-02 + 2.8358743e-02 + -4.9072646e-02 + 2.0621629e-03 + -1.2250674e-03 + -1.9811313e-03 + 2.8666968e-02 + 3.8766284e-02 + 1.2674704e-02 + -3.9721277e-02 + 4.7442835e-02 + -1.0543651e-02 + 1.0125666e-02 + 2.0354623e-02 + 4.1478151e-03 + 3.3321071e-02 + 5.1477755e-04 + 8.0767140e-04 + 2.4629061e-03 + -2.7086163e-02 + -3.0893913e-02 + -8.3197625e-03 + 1.8088130e-02 + 2.5794460e-02 + -8.8582831e-03 + 8.4142890e-03 + 1.6825981e-02 + 5.1251769e-02 + 5.3701997e-02 + 6.0770430e-02 + 2.3236187e-02 + -7.4982643e-05 + 1.4176678e-04 + 1.4859077e-02 + -1.7489528e-02 + -1.4172655e-02 + -2.6420232e-02 + 6.1399259e-02 + -2.0863460e-02 + -1.1308546e-02 + -7.8354317e-01 + -2.5429578e+00 + 3.8551893e-02 + -5.2816797e-02 + -2.3150278e-02 + -1.6537136e-01 + -4.5268533e-01 + -1.4044297e+00 + -5.6756660e-03 + -3.0673174e-02 + 8.4296811e-01 + -9.6955761e-02 + 1.3282896e+00 + -1.2433650e-02 + 7.7405822e-01 + -7.7622076e-03 + -2.2035085e-01 + 1.7106414e+00 + 3.6760113e-01 + -6.5463781e-02 + 2.9742059e-01 + 4.0139118e-01 + 1.0168555e-01 + 4.7909383e-02 + -7.5840569e-01 + -5.3386383e-02 + -1.1539919e-01 + 4.2046931e-02 + 1.3898063e-02 + -1.5289073e-02 + 2.4162829e-02 + 8.9390455e-03 + 3.7359748e-02 + 8.8425111e-03 + 2.4918690e-02 + -2.1601876e-02 + 9.1188289e-03 + -4.3827441e-02 + -3.1310011e-02 + 6.9384016e-02 + -7.2774598e-03 + -1.0857819e-02 + 5.4597504e-02 + -6.2030223e-03 + 1.8026317e-02 + 6.9828164e-03 + -3.7534052e-04 + -1.9239636e-02 + 7.2077308e-03 + 5.0301366e-02 + -2.6530318e-02 + 3.4835365e-02 + 7.6288059e-03 + 2.1178272e-02 + -3.8676471e-02 + -8.5108936e-02 + -1.1989152e-02 + -2.2871310e-02 + 4.4159789e-02 + -4.3947637e-02 + 6.2685102e-02 + -5.5295690e-03 + -9.7404262e-03 + 1.3117246e-02 + -3.5737365e-02 + -2.3191080e-03 + 1.2745224e-02 + -2.5602100e-02 + 4.6742316e-02 + -5.5405558e-03 + -9.0080354e-04 + 8.9469366e-03 + -1.2424357e-03 + -9.5693976e-02 + -2.2594504e-02 + 6.4763064e-03 + 8.1673853e-02 + -1.4766848e-02 + 1.0500731e-02 + 6.4719534e-03 + 1.3187576e-02 + -1.2996297e-02 + -3.9920162e-02 + -1.9689908e-02 + 2.4421699e-03 + -2.1072365e-02 + 1.7704895e-03 + -2.8511679e-03 + 4.0679779e-03 + 1.2659708e-02 + -6.1364651e-01 + -6.1771069e-03 + -6.0888328e-02 + -4.1160408e-01 + -1.7259412e-01 + 1.1738883e+00 + 5.7051461e-03 + 2.7087924e-01 + 6.1110303e-02 + 6.6797739e-01 + 3.1401551e-01 + -2.3760572e-02 + -6.6241873e-03 + 4.4068929e-02 + -1.8373702e-02 + -1.3935455e-02 + -5.0817742e-03 + -1.1775599e-01 + 3.4835141e-02 + -4.2207792e-02 + -3.6258450e-01 + -6.8858373e-01 + -1.8932010e-01 + 1.6617473e-02 + -5.3612202e-01 + -1.8110361e-03 + 1.7110635e-02 + -2.5700793e-02 + 5.2258160e-02 + 2.9145565e-02 + -1.5167152e-02 + 1.8651294e-02 + -1.7118938e-02 + 4.6973187e-02 + -2.2579043e-03 + -4.2108372e-02 + 7.3647171e-02 + -3.6639723e-03 + -5.8211464e-02 + -5.8593578e-03 + 5.8573768e-03 + 1.2365365e-03 + -1.1941416e-03 + 4.3040432e-02 + 3.3440737e-03 + -1.4018307e-02 + -2.9043853e-02 + 2.0140497e-02 + -3.6637072e-02 + -3.4637466e-02 + -8.9264270e-03 + -1.1636298e-02 + 7.2759680e-02 + 2.6183758e-02 + 2.2722136e-02 + -7.0585306e-03 + 6.0564037e-03 + 1.3308802e-02 + 1.2711460e-02 + -3.6305301e-02 + -1.2859229e+00 + 2.5435686e+00 + -1.0114526e+00 + -3.0127573e+00 + 1.1493790e+00 + -9.0601325e-01 + 2.1675761e-01 + -7.7839546e-02 + 1.9366139e+00 + 2.7268806e-01 + -1.3043542e+00 + 2.2542550e-01 + 1.8610415e-01 + 1.6576518e+00 + 9.9478978e-01 + -1.2944284e-01 + -6.6676117e-02 + -9.4569814e-01 + 7.5610477e-01 + 1.3912854e+00 + -3.4176454e-01 + 1.8775037e-01 + -1.9256603e+00 + 1.7433192e+00 + 1.1944612e+00 + -1.9466133e-01 + -9.1839157e-02 + -3.5259706e-01 + 1.2137673e-01 + 8.1676084e-01 + 1.3154082e-02 + 8.2540624e-03 + 1.2563675e-02 + -1.3194494e-02 + 3.4620490e-02 + 3.8660793e-03 + -7.6817991e-03 + -2.7357077e-03 + -2.1938680e-02 + -6.1563868e-04 + 3.6394421e-02 + -2.5398847e-02 + -2.8844111e-02 + -4.8466790e-03 + -7.3434100e-02 + -6.3577509e-03 + 2.4223628e-02 + -3.3755623e-02 + -5.3303041e-03 + -4.5748778e-02 + 4.7028653e-02 + -3.6101551e-03 + 2.0905710e-03 + 5.9310281e-01 + -4.3662861e-03 + -1.8797014e-02 + -3.6430173e-02 + -5.3708288e-03 + 3.3039730e-02 + 2.5267925e-02 + -4.4490989e-02 + -2.5103178e-03 + -4.7674929e-03 + 2.2113258e-02 + -3.5906807e-02 + 5.1145223e-03 + -3.3128347e-02 + 3.9254222e-03 + 5.6080163e-01 + 4.3699175e-02 + 6.5555781e-02 + -3.2321524e-02 + 2.6151616e-02 + -2.9864185e-02 + -6.1670713e-02 + 2.4016290e-03 + 2.2719694e-02 + 2.7135577e-02 + -1.5157213e-02 + 1.9283656e-02 + -3.2270711e-02 + 4.0012490e-02 + 2.1160398e-02 + -4.7802716e-03 + 2.9538465e-03 + 8.2544135e-03 + 1.1164250e-01 + 4.9022241e-03 + -5.8246143e-03 + 2.3828488e-02 + 4.2778865e-02 + -3.8363617e-02 + -1.7233605e-03 + -5.7678934e-02 + 7.4914381e-02 + 5.8670480e-02 + 4.7422271e-02 + 1.2929692e-02 + 9.0519898e-02 + 6.9325939e-02 + 5.6766164e-02 + 1.0433606e-02 + -1.0473707e-02 + -3.0135430e-04 + -5.3937668e-03 + 1.3472772e-02 + 5.3162716e-02 + 5.1077241e-03 + -6.1433390e-03 + 1.6276417e-03 + -5.7221591e-02 + 5.0276078e-02 + -1.0069543e-03 + 3.1008476e-02 + -2.4669420e-02 + 3.3960484e-02 + 4.1524936e-03 + -1.3450331e-02 + -1.5409604e-02 + -1.7822798e-02 + -2.5536211e-02 + -9.9995591e-02 + -2.9669343e-02 + -1.5723905e-02 + -2.9030928e-02 + -1.8528067e-02 + 6.1238818e-03 + 1.6333590e-03 + -7.4690548e-03 + 3.5729315e-02 + -6.1937398e-04 + 3.6494732e-02 + 1.8931068e-02 + 9.5165959e-03 + -7.8600287e-02 + -1.0583200e-01 + 2.2144355e-02 + 2.9615775e-02 + -1.1329384e-02 + 2.3643052e-02 + 4.0507741e-02 + -2.3939317e-02 + 4.0083607e-03 + -1.1366616e-02 + 3.3402093e-02 + -1.6819205e-02 + -2.4746852e-02 + -9.9003632e-03 + 4.3953866e-02 + 1.2566954e-02 + -3.0991789e-02 + 3.0387688e-02 + -1.7007651e-02 + -3.1298101e-02 + 1.4212457e-02 + 5.7893475e-03 + 4.4469483e-02 + -5.9238125e-02 + -4.1731270e-03 + 3.3662263e-02 + 1.3503198e-02 + 3.5513207e-02 + 4.4743229e-02 + -1.3528502e-03 + 3.0906549e-02 + -2.2334220e-02 + 3.8960926e-02 + 2.1640626e-03 + -1.5528753e-02 + -1.5193599e-02 + -4.5458317e-02 + 7.0999429e-02 + -1.2610912e-02 + -1.8694168e-02 + -3.7768285e-04 + -4.1452372e-03 + 6.3824269e-04 + 1.5235241e-02 + 2.6103601e-02 + -3.5696684e-03 + -1.3564389e-02 + 2.6253667e-02 + -6.1674663e-03 + 1.5216682e-02 + -1.0104332e-01 + 1.5912225e-02 + -1.0233815e-01 + -2.4078880e-03 + 6.0237832e-02 + 5.8960125e-02 + 3.1135032e-02 + -1.3117152e-01 + 2.6809985e-02 + 1.8106775e-02 + 5.5703729e-02 + 1.6119227e-02 + -4.3673385e-02 + 4.0464126e-02 + -1.0744950e-02 + 4.5310944e-02 + 3.9689474e-02 + 9.3354732e-03 + 4.4006524e-03 + -1.0044556e-02 + -8.9340312e-03 + -9.1731854e-02 + 3.0520065e-02 + 3.8041654e-03 + 3.4700080e-03 + 9.0277381e-02 + 5.6642000e-02 + 2.7459584e-02 + -1.8281890e-02 + -2.7890142e-02 + 2.8564725e-02 + 1.2724059e-02 + 2.9356193e-02 + 9.9357083e-02 + -1.8005863e-02 + 3.3105850e-02 + 2.5907304e-02 + 2.1244261e-02 + 2.0778723e-02 + 2.9025117e-03 + 4.8376314e-02 + -1.2974681e-02 + 4.2508140e-02 + 5.2306419e-03 + -5.3445652e-02 + 2.0131540e-02 + 2.7386816e-02 + -8.4634507e-03 + 2.5826052e-02 + 5.2964903e-04 + -3.1731132e-02 + -5.3933379e-04 + -7.4944593e-02 + 5.9316335e-03 + 1.6887819e-02 + -3.5331041e-02 + -5.5207270e-03 + -2.5832597e-02 + -1.6339082e-02 + 4.5079462e-02 + -1.3515754e-02 + 1.7516412e-02 + 2.7843213e-02 + -1.4426772e-02 + 6.3490067e-03 + 3.8762307e-03 + 1.6239593e-02 + -3.3344293e-03 + 1.5534725e-02 + 1.4077492e-02 + -5.3484019e-02 + -4.1723806e-02 + 6.5552577e-02 + -5.9950287e-03 + 1.7103175e-02 + 4.6220820e-02 + -6.3528647e-03 + -6.2064151e-03 + 3.3077642e-02 + 1.9305691e-02 + 2.9381711e-02 + -8.3321212e-03 + -7.2309240e-03 + -3.6462075e-03 + 1.1626182e-02 + 9.2088975e-02 + 1.7294625e-02 + 4.8484009e-02 + -4.7061037e-02 + -1.1797550e-03 + 6.4364970e-02 + -6.8759909e-03 + -1.8285022e-03 + -2.6668802e-02 + -1.9058302e-02 + 7.3357718e-03 + 6.6070940e-04 + 4.9108870e-02 + -1.4478339e-02 + -7.6876618e-03 + -6.1577009e-03 + 1.9614285e-02 + 3.6584884e-02 + 2.7400482e-02 + 1.2404723e-02 + 1.1819511e-02 + 2.9576288e-03 + 2.1049764e-02 + -2.2894835e-02 + 2.1097068e-02 + -3.8349468e-03 + -1.9160070e-02 + -1.0487938e-02 + 3.7386287e-03 + -1.4450265e-02 + -3.5766971e-03 + 8.9907721e-03 + 4.0262481e-03 + 1.9238066e-02 + 2.5750520e-02 + 3.3113576e-02 + -1.1036571e-02 + -4.5692172e-02 + 2.5814681e-03 + 1.0001932e-02 + 4.1208554e-02 + 1.1730615e-02 + -4.0673394e-02 + 1.1375252e-02 + -5.9036046e-02 + 2.4958896e-03 + 4.9421683e-02 + 4.9579698e-03 + 1.7377576e-02 + 7.2554378e-03 + 6.3387272e-03 + 2.1966407e-03 + -1.1212576e-02 + 3.5193063e-02 + 3.6114898e-02 + 4.3996472e-02 + -1.1602887e-03 + 1.6135987e-02 + -6.3434541e-02 + -1.0145353e-02 + -1.6245361e-02 + -4.6001232e-01 + 6.1626869e-01 + -2.3963822e-03 + -6.1187431e-02 + -3.7166402e-01 + 2.1852073e-01 + -9.9880673e-02 + -5.7475376e-01 + -8.7726273e-02 + 5.2650607e-01 + 2.2344971e+00 + 5.7895786e-01 + 2.9207492e-01 + -2.0824924e-02 + 6.1410117e-01 + -7.1531588e-01 + -1.9275635e-01 + 3.2602694e-02 + -1.1228339e-02 + 2.1134738e-02 + 3.5230151e-01 + 7.5640374e-01 + 2.4903722e-02 + 9.0075983e-03 + 4.1169837e-02 + 1.7570449e-02 + 6.8279833e-04 + -9.2774019e-02 + -8.3274907e-05 + 4.6560429e-03 + -1.7118834e+00 + 4.3557167e+00 + -2.3830366e+00 + -4.1731143e+00 + 2.1859946e+00 + -1.1789483e+00 + 5.5373222e-01 + -2.4376242e-01 + -4.0478075e-01 + -8.3365418e-02 + -9.8215419e-01 + 9.7493500e-01 + 5.0172669e-01 + -2.6466236e-01 + -8.8650334e-01 + -1.7994871e+00 + 7.6515210e-01 + -5.9515852e-01 + -4.1620612e-01 + -7.8057848e-02 + -1.5179471e+00 + 5.7372272e-01 + -4.5884919e-01 + 7.0727575e-01 + 2.6219524e-02 + 3.1399939e-02 + -3.9405093e-02 + -3.4515777e-01 + 1.1803369e-01 + -2.8065089e-02 + -1.3152692e-02 + 1.9486815e-02 + 3.0020894e-02 + -2.6519386e-02 + 1.6583510e-02 + 1.6366836e-02 + 5.0801195e-02 + 2.0279795e-02 + -4.1049523e-03 + -2.0375507e-02 + -2.1436720e-03 + -2.6839902e-03 + 6.0049769e-02 + 2.0485066e-02 + -3.0155301e-02 + 1.8996093e-02 + -1.9127218e-02 + -2.4970300e-02 + -2.9768236e-02 + -2.6135296e-02 + 5.6028601e-02 + 1.3986877e-03 + 2.9400915e-02 + -1.5222665e-03 + 8.8607006e-02 + 1.2041789e-02 + -7.0432364e-04 + -8.9973718e-02 + -1.3992832e-02 + 6.7019020e-03 + -3.1398905e-03 + -2.2427344e+00 + 2.1784940e-01 + 2.0469395e-02 + -2.2191947e+00 + 9.8463513e-02 + 2.8113538e-01 + 3.4413761e-01 + 3.4374103e-02 + 1.6697140e-02 + 1.4160069e+00 + -1.0464514e+00 + 8.1649637e-01 + 2.9271767e-02 + 2.4228824e-02 + 2.6290450e-01 + -1.0840031e-01 + -9.0434132e-03 + 2.7382642e-01 + -1.0133182e-01 + 1.1937979e+00 + -3.2570016e-01 + 1.0472111e+00 + 1.2761459e-02 + -2.4943119e-02 + -1.2196513e-01 + -2.0588638e-02 + -7.6325284e-03 + 2.0433512e-02 + -1.2291998e-02 + -8.0683492e-03 + -2.5456201e-02 + 1.1591808e-01 + -1.4242776e-03 + 1.6227217e-02 + -6.9630869e-02 + 2.4825886e-02 + 1.7506685e-02 + -1.2136914e-02 + 3.8461674e-03 + 1.3224556e-02 + -1.6781384e-02 + -8.5444357e-03 + -1.2677805e-02 + 6.2917485e-03 + 5.1617038e-02 + -1.5961852e-02 + 2.0259799e-02 + -4.1412981e-03 + -4.0448327e-03 + 1.5058904e-02 + -5.5749778e-02 + -2.8764466e-02 + 2.8329066e-03 + -2.3028350e-02 + -1.9973829e-02 + -1.1501267e-02 + -7.8951439e-04 + -5.3321145e-04 + -2.0499902e-02 + 2.3004189e+00 + -1.3067907e+00 + -2.2079526e-02 + 9.8594379e-01 + 2.3553361e-01 + -1.2101397e-01 + -3.2010368e-01 + -2.0037933e-01 + 4.9550179e-03 + -9.1146611e-02 + 6.8343520e-01 + 1.1884945e-02 + -1.3967377e-01 + -3.4855801e-01 + 1.0431200e-02 + -8.5721397e-01 + -2.4064116e-01 + 1.1404397e-01 + -3.1121323e-01 + 1.5237668e-01 + 2.6650500e-01 + 7.6320782e-02 + -3.7637880e-01 + -3.1761891e-01 + 5.2957650e-02 + 7.3308329e-06 + 1.3403949e-01 + 2.2167411e-01 + 8.7376144e-03 + -3.6904743e-01 + 5.7017341e-02 + 3.4489043e-02 + 6.1921636e-03 + -1.2319417e-01 + -4.2898161e-04 + 2.3125513e-02 + -7.4286088e-03 + -3.2542102e-02 + -6.5022901e-02 + -6.9161407e-03 + 1.1063400e-02 + -3.4671314e-02 + 8.3432756e-03 + -6.7777978e-03 + -5.9519713e-03 + 4.6093959e-02 + -2.4331907e-02 + -3.9427571e-02 + 1.4530468e-02 + 1.4846569e-02 + 2.7990246e-03 + -9.5753334e-03 + 1.5445700e-03 + 7.5419061e-03 + 6.5857619e-03 + 4.5376476e-02 + 2.9847419e-02 + -2.5188224e-02 + 3.7610065e-02 + 9.9697992e-02 + 3.9057050e-02 + -1.4829024e-03 + 2.2595981e-02 + -4.7965936e-02 + -6.3870668e-02 + -2.6725052e-02 + 1.9214423e-02 + 1.8452732e-02 + 2.9813591e-02 + -2.6496936e-02 + -1.3049033e-02 + 4.5982294e-02 + 7.2234585e-03 + 4.6644174e-02 + 3.8339009e-03 + -2.9076836e-03 + -5.8889185e-04 + -1.2208079e-02 + -9.7824953e-02 + -6.6319264e-02 + -6.6960976e-02 + 3.9959446e-02 + -1.0272499e-02 + -3.4041055e-02 + 6.1421834e-02 + -7.3109984e-02 + 2.5109826e-03 + 3.9976947e-02 + -5.9039462e-03 + -2.3242887e-02 + -3.9902639e-01 + -2.4290933e-01 + -4.5738887e-02 + -1.7595840e-01 + 3.3933482e-01 + 5.4824460e-01 + -3.6530660e-03 + 2.1054088e-01 + 2.6955694e-02 + 9.4097413e-02 + 4.2282343e-01 + -4.9199667e-02 + 5.3237587e-01 + -1.7960574e-03 + 1.4054380e-01 + 1.5045016e-01 + -4.8698515e-01 + -5.8458477e-01 + 6.3349055e-03 + -5.0791249e-02 + 4.6189800e-01 + -3.7083976e-02 + 1.1477327e-01 + 5.9243552e-02 + -1.2920426e-02 + 6.6549852e-03 + -1.4640627e-03 + -9.2557240e-03 + 3.3854999e-02 + 7.8092222e-03 + 6.0551417e-01 + 2.0221031e+00 + -1.6419061e+00 + -1.0141656e-01 + 2.4439499e+00 + -7.2629768e-01 + -8.4284507e-03 + 1.7782476e-02 + -1.1311136e-02 + -1.5188789e-04 + -4.0735331e-01 + 4.9576765e-01 + -5.9359109e-01 + -2.1409863e-01 + -4.8849159e-03 + -6.5930158e-01 + 3.1809121e-02 + -4.6113169e-01 + -7.7079338e-01 + 5.7271272e-02 + -2.4048870e+00 + 7.9726326e-01 + -7.4658942e-01 + -1.3221413e-01 + 6.3953072e-01 + 1.7798628e-01 + 9.3984120e-02 + 2.1097271e-02 + -8.4883654e-03 + -7.4102335e-02 + -6.8060762e-01 + -1.7005935e+00 + 2.8584108e-01 + 1.8621204e-02 + -1.5962195e+00 + 3.3425719e-01 + -3.3905159e-03 + 1.4930454e-02 + -3.5559636e-02 + 7.3332883e-02 + 2.6808158e-01 + -3.0524891e-02 + 7.2930795e-01 + 4.6566594e-01 + 2.9631725e-01 + 7.7096438e-01 + 3.2767051e-01 + 1.2886468e-01 + 7.2390521e-01 + -1.2107098e-01 + 6.4246333e-01 + 3.2457608e-01 + 2.4399985e-01 + 5.6976110e-02 + -1.2386327e-01 + 2.1209003e-02 + -1.7734222e-02 + -2.1447888e-01 + 8.8685200e-02 + 9.1041237e-02 + 8.3507737e-03 + 2.3789590e-02 + -1.5370041e-02 + 5.9280670e-01 + -1.0434812e-02 + 4.1775317e-03 + -7.2257996e-01 + 3.6926817e-02 + -6.9779076e-02 + 5.7915192e-02 + -2.3580720e-03 + -6.8679261e-03 + 1.3256833e-02 + 4.3205833e-01 + -5.9622236e-02 + 2.5423600e-03 + -1.9846683e-02 + 1.9841153e-02 + 3.3910662e-02 + -3.5926664e-01 + -3.7349004e-01 + -2.3925286e-03 + 1.3102373e+00 + -2.0344949e-03 + -3.0062097e-01 + -5.0337639e-02 + -9.4367415e-02 + 2.2344317e-01 + -1.6321026e+00 + 1.0317124e+00 + -8.9753062e-01 + 5.4376557e-02 + 3.8783029e-03 + 2.6378965e+00 + 1.5577671e-02 + -8.7758444e-02 + 1.3436873e+00 + -1.5630204e-02 + 4.6781850e+00 + 5.9439614e-03 + 2.7851203e-01 + -1.1714708e-02 + 1.1353766e-02 + 3.5006707e-03 + -1.6578963e-02 + -5.4248073e-03 + 8.8196312e-04 + 3.8172761e-03 + 2.3181522e-03 + 1.2870338e+00 + 4.7150011e+00 + 7.1926095e-02 + 2.6819606e+00 + -7.6394621e-03 + -2.5141878e+00 + -2.2208715e-02 + -1.6365467e-02 + 1.5736102e+00 + -2.5153253e+00 + 2.8927937e+00 + 3.9155262e+00 + 1.4099131e+00 + -2.2940616e-01 + -2.3978636e-01 + -2.3748500e+00 + 2.8657326e-01 + 1.9563338e-02 + -9.0910614e-02 + -2.5686588e+00 + 9.5408869e-01 + -1.3727081e+00 + -1.6112269e+00 + 2.0881071e+00 + -9.1908938e-01 + -3.5890895e-01 + -2.6843009e+00 + 6.2789547e-01 + 5.8642173e-01 + 1.5076664e-02 + 4.0120059e-01 + 4.1221350e-01 + -4.4466174e-01 + 2.1918561e+00 + 1.7434669e+00 + 4.5529962e-01 + 6.8173546e-01 + -2.0915875e+00 + -9.0331662e-01 + 2.6639309e+00 + 4.4237590e-01 + -5.5111068e-01 + -6.4363921e-01 + -1.2755105e+00 + -8.9477026e-01 + 5.1817203e-01 + 2.6136322e+00 + -1.1172168e+00 + -1.0446937e-01 + -7.5461930e-01 + 1.5463486e+00 + 3.7316844e-01 + -1.2297275e-01 + -1.8357255e+00 + 3.5172743e-01 + 6.5976131e-01 + -9.3726027e-01 + 1.8453962e+00 + -7.4409175e-01 + 1.1922665e+00 + -9.3923581e-01 + 1.9594451e+00 + 4.7260043e-01 + 2.1009294e-02 + 2.4724874e-01 + -3.0114096e-01 + -2.5038543e+00 + 3.0408671e+00 + -8.0764284e-03 + -9.3323708e-02 + -1.5286725e+00 + 1.0986918e+00 + -5.2158380e-01 + -1.4115039e-01 + 1.4201791e+00 + -1.9050267e+00 + 6.1161137e-01 + -7.7248119e-02 + 3.1418616e-01 + 1.0913959e+00 + 3.0320907e-01 + -9.3435459e-03 + -3.1722436e+00 + 2.2108128e+00 + -7.1060014e-01 + -2.6849186e-02 + -3.5458228e-01 + -4.3493447e-01 + 1.0016899e+00 + -4.5686325e-01 + -9.1456942e-02 + 4.3866372e-01 + 4.5825163e-01 + 9.5142975e-02 + 2.0926287e+00 + 9.9394280e-01 + -2.9810932e-02 + -5.2124584e-01 + 9.2470419e-01 + 8.0457723e-01 + 1.2161284e-01 + -2.3214631e-01 + 6.4427666e-02 + 2.7944240e-01 + 3.8537703e-02 + -2.5530109e-02 + -3.9351457e-01 + 2.9069493e+00 + 4.1782182e-02 + -4.5735043e-02 + -4.0495887e-01 + 9.4710332e-01 + 1.1381063e+00 + 3.5268404e-02 + -8.6834326e-02 + 3.9066190e-01 + 5.6377345e-01 + -7.3526132e-01 + -4.5397755e-02 + -1.0005380e+00 + 6.8412679e-01 + -3.4439933e+00 + 1.6043544e+00 + 4.5449706e-03 + -1.0303997e+00 + 3.8943484e+00 + -2.7824140e+00 + 2.5553635e-01 + 7.1907926e-01 + -4.6824656e-02 + 3.4129581e-01 + 1.3005282e-01 + 1.6339422e+00 + -3.6333210e+00 + 8.7921940e-02 + 1.4450583e-03 + 7.2421896e-01 + -2.5398893e+00 + 6.3356566e-01 + 3.1766063e-01 + -1.0837486e+00 + -5.5443758e-01 + 2.2252049e-02 + -3.6091042e-01 + -5.6914908e-01 + 5.6063231e-02 + 1.0298314e-03 + 2.4238717e-02 + 9.6030992e-01 + -9.6268421e-01 + 2.3460650e+00 + -1.2383690e-02 + 7.6861513e-01 + -1.9391581e+00 + 1.6428167e+00 + -3.4467268e-01 + 2.0037541e+00 + -4.6746913e-01 + 1.8533632e-01 + 1.9925807e-02 + 1.6490299e+00 + -1.7445420e+00 + -1.2992331e+00 + -1.8981735e-03 + -7.4854843e-02 + -5.1788747e-01 + -8.7893617e-01 + -1.2539268e+00 + 1.0828738e+00 + 1.3129176e+00 + 8.9214385e-01 + 2.1309783e+00 + -3.2122394e-01 + 1.7049128e+00 + 2.0584841e+00 + -8.9311349e-01 + 2.7157090e+00 + -2.7663317e+00 + -1.1899577e+00 + 5.2453309e-01 + -3.6286643e-01 + 7.0048344e-01 + -1.5496627e+00 + -1.0139318e+00 + -1.0544126e+00 + 2.6645690e-01 + 3.2083485e+00 + -2.2817013e+00 + -1.1081134e+00 + -3.3196729e-01 + 7.3396498e-01 + 2.3466904e+00 + -2.8135803e-02 + 2.4156838e-03 + -1.2590913e+00 + 7.0327646e-01 + -2.7724099e-01 + 8.1643122e-01 + 6.6101395e-02 + -2.3891058e-02 + 4.8915258e-01 + -1.4709608e-01 + 1.4207890e+00 + -1.1855311e+00 + -1.6165118e-01 + 1.2200035e+00 + 1.4572439e+00 + -1.3971887e+00 + 1.9258641e+00 + 2.0958705e-01 + -7.2139484e-01 + -7.2869855e-01 + -9.9423409e-01 + -1.2502786e+00 + -1.5623587e+00 + -1.7265791e+00 + -1.4523365e-01 + -1.0325271e+00 + -1.3077756e+00 + 1.2025254e-02 + -4.0335053e-01 + -1.1523438e+00 + -1.7147996e+00 + -6.5376842e-01 + 2.9556179e+00 + -2.3046103e+00 + -1.5913094e+00 + -4.1656005e-03 + -1.5665205e+00 + 5.1338243e+00 + 1.2152119e+00 + 8.0084456e-03 + -2.5743428e-01 + -2.0259600e+00 + -6.0789630e-02 + 2.3534586e+00 + 2.7328367e+00 + -4.9503961e+00 + -1.5224886e+00 + 2.7951398e-01 + 9.1023594e-01 + -8.7686402e-01 + -2.8532007e+00 + -1.6088476e-02 + -4.0433988e-01 + 1.9681743e+00 + -6.2602729e-01 + 1.2792153e+00 + -2.5801936e-01 + -1.0092305e-01 + 1.7260052e-01 + 8.4814884e-02 + 8.2048684e-01 + -4.2905843e-01 + 7.4386853e-01 + 5.4550028e-01 + 1.6546834e+00 + 9.3235427e-01 + -2.3978453e-02 + 5.6542766e-01 + 2.6399046e-01 + -5.8003461e-01 + -4.2401415e-01 + -4.1585934e-01 + -2.3292341e+00 + 2.8095278e-01 + -3.7381209e-02 + 4.8540604e-01 + -4.3058190e-01 + 3.0663306e-02 + -1.6223869e-01 + 1.0673543e+00 + -3.2270724e-01 + 1.6096928e+00 + 7.0881331e-01 + -1.3262657e+00 + -8.6658448e-01 + 1.6230518e+00 + 1.2062315e+00 + 3.0736292e-02 + -4.8507249e-01 + 4.5344341e-01 + -1.7728055e+00 + -5.8851665e-01 + -7.8170061e-01 + 1.3807112e+00 + 9.6331704e-01 + -7.3222792e-01 + -1.1520298e+00 + 2.0514281e+00 + 2.6125135e+00 + -1.5638385e+00 + 1.2422403e+00 + 1.1010884e+00 + -1.8981603e+00 + 4.6118131e-01 + 5.5944973e-01 + -4.9849726e-02 + 8.7087512e-01 + -3.2569520e+00 + -6.7864263e-01 + 6.7467374e-01 + 2.2641261e-01 + 5.7670671e-01 + -1.8522002e+00 + 1.1910535e+00 + 1.4858695e+00 + -1.4665792e+00 + -8.9412475e-01 + -1.5555643e-02 + 4.9453866e-01 + -4.9826938e-01 + -1.3485178e+00 + -2.2061069e-01 + 1.9170229e-01 + 1.3705933e-02 + -1.4263954e+00 + -4.8576653e-02 + 9.5411420e-02 + -5.1099718e-01 + -7.7234089e-01 + 9.3939744e-02 + -7.5306031e-03 + -8.4642690e-01 + -1.2952981e+00 + -2.2496290e+00 + -9.5707327e-01 + -7.8080469e-01 + -2.2568528e-02 + -5.0419599e-01 + -1.5813330e-01 + 1.2654436e-02 + 1.7096540e+00 + 2.0812116e+00 + -9.0956151e-01 + -2.7438506e-01 + -9.2771471e-01 + -5.9655833e-01 + -2.1653114e-01 + -2.0754540e-02 + -1.0045508e-02 + 3.5521922e-01 + -4.9730367e-03 + -3.0306621e-02 + -6.1810076e-01 + -7.2760032e-03 + -2.4689667e-01 + -9.3479287e-03 + 1.0606502e-01 + -2.1872017e+00 + -2.3451116e+00 + -5.4334048e-03 + 1.5824664e-01 + -6.9883293e-01 + -1.0507596e+00 + -1.2689747e-01 + 9.2054254e-01 + -3.1092903e-01 + -1.7526303e-01 + -2.2519223e-02 + 3.9360362e-01 + -5.3563565e-01 + 3.8229361e-01 + -4.3745410e-02 + 5.3959233e-01 + -1.3020818e+00 + -2.7115783e-01 + -2.8851228e-03 + 3.7539884e-01 + -7.9382402e-01 + -7.2198820e-01 + -1.5458927e-02 + 1.8888235e-01 + -3.7149054e-01 + -7.6774979e-01 + -6.1468780e-01 + -9.9117738e-01 + 1.2416965e-01 + -3.5376068e-02 + 1.4645875e-01 + -6.5255439e-01 + -2.8357333e-02 + -1.6877948e+00 + 1.2905836e-02 + 6.6553319e-01 + 2.6627953e+00 + 2.2042987e+00 + 6.0230404e-01 + -1.0562721e+00 + 5.1625454e-01 + -1.3156476e+00 + -8.4150290e-01 + -1.5344197e+00 + 5.0960559e-01 + -1.1831834e+00 + 1.4424776e+00 + 2.9541078e+00 + 7.8359121e-01 + 3.1802005e-01 + -9.7326213e-01 + -1.2878127e+00 + -2.3101887e-01 + -8.3778602e-01 + 3.0522365e-02 + -2.4095502e+00 + 5.7583090e-02 + -8.2950598e-01 + 3.4058121e-01 + -9.5952678e-01 + 9.8995632e-01 + 1.6555600e-01 + -4.8826955e-02 + 9.8164451e-01 + 2.2056359e-01 + 6.1222214e-01 + -2.2871600e-02 + -1.2405845e+00 + -1.1847482e-02 + -7.0693541e-01 + 3.5584363e-01 + -1.9599315e+00 + 8.6801358e-02 + -9.8468047e-01 + -4.7543454e-01 + -9.5725805e-01 + 1.7035109e-01 + -6.1086416e-01 + 9.6900873e-03 + -7.6509431e-02 + 6.1647040e-01 + -8.5837252e-02 + -1.0432316e+00 + 5.4049317e-02 + -1.2632349e+00 + 1.7477356e-02 + -7.1644142e-02 + -5.1446116e-01 + 1.7515757e+00 + 4.4124016e-01 + -1.0891576e-01 + 1.3117826e-01 + -1.4545732e+00 + 1.5600188e-01 + -1.0264823e+00 + 1.7163970e+00 + -2.1161871e+00 + -2.7659209e+00 + 1.1914859e-02 + -1.5993770e+00 + 2.5635638e+00 + 1.2586774e+00 + -2.1482437e+00 + 4.7730151e-01 + -1.1859236e+00 + 1.6749135e+00 + -4.9972497e-02 + 1.1395724e+00 + -1.5923337e+00 + -1.3794301e+00 + -1.8817082e-01 + 3.8936225e-01 + -2.4042067e-01 + -8.5450149e-01 + -5.9953374e-01 + -3.0346897e-01 + -4.4122183e-01 + 8.8261575e-01 + -8.0668241e-01 + 4.2881086e-01 + -1.5606081e+00 + 4.2859793e-01 + -1.3742676e+00 + 9.9328347e-03 + -1.2500426e+00 + -1.0895256e+00 + -7.3715031e-01 + -2.2609261e-01 + -1.7763856e-01 + -1.1882263e+00 + 1.6049725e-01 + 7.2406143e-02 + -7.9275995e-01 + 1.9274653e+00 + -1.0577695e+00 + -1.1794700e-01 + -2.7929199e-01 + 3.0877551e-01 + -1.2493926e-01 + 1.8234780e+00 + 3.6582991e-02 + -1.1440312e+00 + -1.6081604e-01 + 7.2431898e-01 + -4.3476064e-02 + 5.7223046e-01 + -3.0296910e+00 + -2.4203742e+00 + -1.8088571e+00 + 7.9032326e-01 + 3.2279447e-02 + 1.4702298e-02 + 8.5589492e-01 + -4.4538689e-01 + -1.6863515e+00 + 2.2277474e+00 + 6.4718942e-03 + -5.3397065e-01 + -5.3375709e-01 + -1.8962531e+00 + 9.2306399e-01 + 6.1104411e-01 + -9.9028684e-03 + -1.2740175e+00 + -8.4185861e-02 + 2.9369900e-01 + -3.2829079e-01 + 1.5537256e+00 + -2.9375482e-01 + 1.9377233e-02 + -7.7071440e-01 + 1.3044652e+00 + -1.8310229e+00 + -5.2994013e-01 + -3.1108278e-01 + -7.4026924e-01 + -1.0798825e+00 + 4.3720734e-01 + -7.8779936e-01 + -6.1715835e-01 + -7.9118240e-01 + 1.4634629e-01 + -1.3045032e+00 + 4.9530282e-03 + 4.9530282e-03 + 4.9530282e-03 + 4.9530282e-03 + 4.9530282e-03 + 4.3608043e-02 + 4.3608043e-02 + 4.3608043e-02 + 4.3608043e-02 + 4.3608043e-02 + 2.3235502e-02 + 2.3235502e-02 + 2.3235502e-02 + 2.3235502e-02 + 2.3235502e-02 + 1.6144104e-02 + 1.6144104e-02 + 1.6144104e-02 + 1.6144104e-02 + 1.6144104e-02 + 5.8560250e-03 + 5.8560250e-03 + 5.8560250e-03 + 5.8560250e-03 + 5.8560250e-03 + 1.1530891e-02 + 1.1530891e-02 + 1.1530891e-02 + 1.1530891e-02 + 1.1530891e-02 diff --git a/tests/README b/tests/README index 343aefaae9..4a9eb5d6b3 100644 --- a/tests/README +++ b/tests/README @@ -12,7 +12,7 @@ 01_PW: KSDFT calculations in PW basis with multple k-point setting. 02_NAO_Gamma: KSDFT calculations in NAO basis with gamma-only k-point setting. 03_NAO_multik: KSDFT calculations in NAO basis with multiple k-point setting. -04_LJ_DP: Lennard-Jones potentials and Deep Potentials. +04_FF: Force fields, including Lennard-Jones potentials, Deep Potentials and Neuroevolution Potential. 05_rtTDDFT: Real-time TDDFT tests. 06_SDFT: Stochastic DFT tests. 07_OFDFT: Orbital-free DFT tests. diff --git a/tests/integrate/CMakeLists.txt b/tests/integrate/CMakeLists.txt index 8da79197aa..d64accef36 100644 --- a/tests/integrate/CMakeLists.txt +++ b/tests/integrate/CMakeLists.txt @@ -1,5 +1,14 @@ find_program(BASH bash) find_package(Python3 REQUIRED) + +add_executable(sum_cube ${ABACUS_TEST_DIR}/integrate/tools/sum_cube.cpp) +install(TARGETS sum_cube DESTINATION ${ABACUS_TEST_DIR}/integrate/tools/) +message(STATUS "Target sum_cube has been defined in ${CMAKE_CURRENT_SOURCE_DIR}") # 添加此行 + +if(ENABLE_COVERAGE) + add_coverage(sum_cube) +endif() + if(ENABLE_ASAN) add_test( NAME integrated_test_with_asan @@ -13,10 +22,4 @@ else() COMMAND ${BASH} Autotest.sh -a ${ABACUS_BIN_PATH} -n 4 WORKING_DIRECTORY ${ABACUS_TEST_DIR}/integrate ) - add_executable(sum_cube.exe ${ABACUS_TEST_DIR}/integrate/tools/sum_cube.cpp) - install(TARGETS sum_cube.exe DESTINATION ${ABACUS_TEST_DIR}/integrate/tools/) - - if(ENABLE_COVERAGE) - add_coverage(sum_cube.exe) - endif() -endif() +endif() \ No newline at end of file diff --git a/tests/integrate/README.md b/tests/integrate/README.md index 79ffff96d4..58c6c17d1c 100644 --- a/tests/integrate/README.md +++ b/tests/integrate/README.md @@ -1,4 +1,4 @@ -1. Modify the file general_info +1. Modify the file general_info to include the EXEC address 2. try this script for autotest: ./Autotest.sh > check.txt @@ -21,50 +21,7 @@ NOTES: ####################### -"simple" scripts - ---- - -0-99 Structure Tests (Bravis Lattices, symmetry analysis) - ---- - -100-200 PW basic properties - -100-110: pseudopotentials -(1) Semiconductor (Si), UPF1.0 (s,p,d,f) -(2) UPF2.0 (s,p,d,f) -(3) dojo (s,p,d) - -110-120: smearing methods -(1) Metals -(2) - -120-130: charge mixing -(1) Metals, Charge Mixing Methods, -(2) Surfaces, Charge Mixing Methods - -130-140: diagonalization methods -(1) CG (number of bands/trial wave functions) -(2) Davidson - -140-150: force tests - -* test every components of forces -* small displacements .vs. large displacements - -150-160: stress tests - -160-170: ion relaxatoin - -170-180: cell relaxation - -180-190: md simulations - ---- - -200-300 LCAO basic properties -300-400 LCAO basic Gamma Only properties +ABBREVIATIONS USED IN NAMING THE INTEGRATE TESTS _PW plain wave bases _NO numerical atoms orbitals bases @@ -102,7 +59,8 @@ _MD molecular dynamics _TD real time TDDFT _LR linear response TDDFT -_OH output Halmitonian matrix +_OHK output Hamiltonian and Overlap matrices for each k point +_OHR output Hamiltonian and Overlap matrices with Bravais lattice vectors _OB output bands file _OD output DOS file _OW output wave functions @@ -137,11 +95,7 @@ _MB move ions method: bfgs _1O first-order charge extrapolation _2O second-order charge extrapolation ---- - -900-1000 Orbital free DFT properties - _OF orbital free density functional theory (OFDFT) _OP optimization method used in OFDFT -_KE kinetic energy functional used in OFDFT +_KE kinetic energy functional used in OFDFT _CO convergence check diff --git a/tests/integrate/clean.sh b/tests/integrate/clean.sh index 8738266bd8..0d182f5e39 100755 --- a/tests/integrate/clean.sh +++ b/tests/integrate/clean.sh @@ -55,7 +55,7 @@ for directory in `ls | grep $module`; do #-------------------------------------------- # delete exec files in tools directory (if it exists) #-------------------------------------------- - sumfile1="$directory/sum_cube.exe" + sumfile1="$directory/sum_cube" test -e "$sumfile1" && rm -rf $sumfile1 #-------------------------------------------- diff --git a/tests/integrate/tools/catch_deepks_properties.sh b/tests/integrate/tools/catch_deepks_properties.sh index e49a3c6b26..d9039d261e 100644 --- a/tests/integrate/tools/catch_deepks_properties.sh +++ b/tests/integrate/tools/catch_deepks_properties.sh @@ -37,12 +37,23 @@ process_npy() { local total="0" local file_pattern="" local base_pattern="" + + # Check if force or stress + local is_force_or_stress=0 + if [ "$file_prefix" = "ftot" ] || [ "$file_prefix" = "stot" ]; then + is_force_or_stress=1 + fi # Determine file pattern based on mode if [ "$mode" = "multi" ]; then - # multi mode: multiple files with _e* suffix from different electronic steps - file_pattern="OUT.autotest/DeePKS_Labels_Elec/${file_prefix}_e*.npy" - base_pattern="OUT.autotest/DeePKS_Labels_Elec/${base_prefix}_e*.npy" + # multi mode: multiple files with _e* suffix from different electronic steps, unless for force and stress + if [ "$is_force_or_stress" -eq 1 ] ; then + file_pattern="OUT.autotest/DeePKS_Labels_Elec/${file_prefix}.npy" + base_pattern="OUT.autotest/DeePKS_Labels_Elec/${base_prefix}.npy" + else + file_pattern="OUT.autotest/DeePKS_Labels_Elec/${file_prefix}_e*.npy" + base_pattern="OUT.autotest/DeePKS_Labels_Elec/${base_prefix}_e*.npy" + fi elif [ "$mode" = "single" ];then # single mode: single file file_pattern="OUT.autotest/deepks_${file_prefix}.npy" @@ -63,7 +74,7 @@ process_npy() { # Get corresponding base file local base_file="" - if [ "$mode" = "multi" ]; then + if [ "$mode" = "multi" ] && [ "$is_force_or_stress" -ne 1 ]; then base_file="OUT.autotest/DeePKS_Labels_Elec/${base_prefix}_${step}.npy" else base_file=$base_pattern @@ -100,9 +111,9 @@ process_many_npys() { # energy process_npy "$mode" "abs" "etot" "" "deepks_e_label$suffix" "$output_file" process_npy "$mode" "delta" "etot" "ebase" "deepks_edelta$suffix" "$output_file" - - # For deepks_bandgap = 1 - if ! test -z "$deepks_bandgap" && [ $deepks_bandgap == 1 ]; then + + # For deepks_bandgap > 0 + if ! test -z "$deepks_bandgap" && [ $deepks_bandgap -gt 0 ]; then process_npy "$mode" "abs" "otot" "" "deepks_o_label$suffix" "$output_file" process_npy "$mode" "delta" "otot" "obase" "deepks_odelta$suffix" "$output_file" process_npy "$mode" "numpy" "orbpre" "" "deepks_oprec$suffix" "$output_file" @@ -120,6 +131,17 @@ process_many_npys() { process_npy "$mode" "numpy" "gevdm" "" "deepks_gevdm$suffix" "$output_file" fi fi + + if ! test -z "$has_force" && [ $has_force == 1 ]; then + process_npy "$mode" "abs" "ftot" "" "deepks_f_label$suffix" "$output_file" + process_npy "$mode" "delta" "ftot" "fbase" "deepks_fdelta$suffix" "$output_file" + fi + + # For cal_stress = 1 + if ! test -z "$has_stress" && [ $has_stress == 1 ]; then + process_npy "$mode" "abs" "stot" "" "deepks_s_label$suffix" "$output_file" + process_npy "$mode" "delta" "stot" "sbase" "deepks_sdelta$suffix" "$output_file" + fi } # Main script @@ -150,18 +172,14 @@ fi if ! test -z "$deepks_out_labels" && [ $deepks_out_labels == 1 ]; then process_many_npys "single" "" "$1" - # force and stress not considered in deepks_out_freq_elec > 0, so not in process_many_npys + # gradvx and gvepsl not considered in deepks_out_freq_elec > 0, so not in process_many_npys # For cal_force = 1 if ! test -z "$has_force" && [ $has_force == 1 ]; then - process_npy "single" "abs" "ftot" "" "deepks_f_label" "$1" - process_npy "single" "delta" "ftot" "fbase" "deepks_fdelta" "$1" process_npy "single" "abs" "gradvx" "" "deepks_fpre" "$1" fi # For cal_stress = 1 if ! test -z "$has_stress" && [ $has_stress == 1 ]; then - process_npy "single" "abs" "stot" "" "deepks_s_label" "$1" - process_npy "single" "delta" "stot" "sbase" "deepks_sdelta" "$1" process_npy "single" "abs" "gvepsl" "" "deepks_spre" "$1" fi @@ -185,6 +203,11 @@ if ! test -z "$deepks_out_labels" && [ $deepks_out_labels == 1 ]; then # Process deepks_out_freq_elec > 0 if [ ! -z "$deepks_out_freq_elec" ] && [ $deepks_out_freq_elec -gt 0 ]; then process_many_npys "multi" "_elec" "$1" + if ! test -z "$deepks_v_delta" && [[ $deepks_v_delta -gt 0 ]]; then + process_npy "single" "abs" "overlap" "" "deepks_overlap" "$1" + process_npy "multi" "abs" "overlap" "" "deepks_overlap_elec" "$1" + + fi fi fi diff --git a/tests/integrate/tools/catch_properties.sh b/tests/integrate/tools/catch_properties.sh index a5b1d9eb17..3959eff9f5 100755 --- a/tests/integrate/tools/catch_properties.sh +++ b/tests/integrate/tools/catch_properties.sh @@ -3,7 +3,8 @@ # mohan add 2025-05-03 # this compare script is used in different integrate tests COMPARE_SCRIPT="../../integrate/tools/CompareFile.py" -SUM_CUBE_EXE="../../integrate/tools/sum_cube.exe" +#COMPARE_SCRIPT="../../integrate/tools/compare_file.py" +SUM_CUBE_EXE="../../integrate/tools/sum_cube" sum_file(){ @@ -39,7 +40,12 @@ file=$1 # the command will ignore lines starting with # calculation=`grep calculation INPUT | grep -v '^#' | awk '{print $2}' | sed s/[[:space:]]//g` -running_path=`echo "OUT.autotest/running_$calculation"".log"` +# running_path=`echo "OUT.autotest/running_$calculation"".log"` +running_path=$(ls OUT.autotest/running_${calculation}*.log 2>/dev/null | head -1) +if [ -z "$running_path" ]; then + echo "Error: No running log file found for calculation=$calculation in OUT.autotest/" + exit 1 +fi #echo $running_path natom=`grep -En '(^|[[:space:]])TOTAL ATOM NUMBER($|[[:space:]])' $running_path | tail -1 | awk '{print $6}'` @@ -82,6 +88,7 @@ base=$(get_input_key_value "basis_type" "INPUT") word_total_time="atomic_world" symmetry=$(get_input_key_value "symmetry" "INPUT") out_current=$(get_input_key_value "out_current" "INPUT") +nspin=$(get_input_key_value "nspin" "INPUT") test -e $1 && rm $1 #------------------------------------------------------------ @@ -138,7 +145,7 @@ fi # echo $total_charge #------------------------------- if ! test -z "$has_dos" && [ $has_dos == 1 ]; then - total_dos=`cat OUT.autotest/doss1*.txt | awk 'END {print}' | awk '{print $3}'` + total_dos=`cat OUT.autotest/dos*.txt | awk 'END {print}' | awk '{print $3}'` echo "totaldosref $total_dos" >> $1 fi @@ -157,8 +164,8 @@ fi # echo $out_dm1 #------------------------------- if ! test -z "$out_dm1" && [ $out_dm1 == 1 ]; then - dm1ref=dmrs1_nao.csr.ref - dm1cal=OUT.autotest/dmrs1_nao.csr + dm1ref=dmr_nao.csr.ref + dm1cal=OUT.autotest/dmr_nao.csr python3 $COMPARE_SCRIPT $dm1ref $dm1cal 8 echo "CompareDM1_pass $?" >>$1 fi @@ -167,8 +174,8 @@ fi # echo $out_pot1 #------------------------------- if ! test -z "$out_pot" && [ $out_pot == 1 ]; then - pot1ref=pots1.cube.ref - pot1cal=OUT.autotest/pots1.cube + pot1ref=pot.cube.ref + pot1cal=OUT.autotest/pot.cube python3 $COMPARE_SCRIPT $pot1ref $pot1cal 3 echo "ComparePot1_pass $?" >>$1 fi @@ -177,8 +184,8 @@ fi #echo $out_pot2 #------------------------------- if ! test -z "$out_pot" && [ $out_pot == 2 ]; then - pot1ref=pot_es.cube.ref - pot1cal=OUT.autotest/pot_es.cube + pot1ref=potes.cube.ref + pot1cal=OUT.autotest/potes.cube python3 $COMPARE_SCRIPT $pot1ref $pot1cal 8 echo "ComparePot_pass $?" >>$1 fi @@ -188,8 +195,8 @@ fi # echo $out_elf #------------------------------- if ! test -z "$out_elf" && [ $out_elf == 1 ]; then - elf1ref=refELF.cube - elf1cal=OUT.autotest/ELF.cube + elf1ref=refelf.cube + elf1cal=OUT.autotest/elf.cube python3 $COMPARE_SCRIPT $elf1ref $elf1cal 3 echo "ComparePot1_pass $?" >>$1 fi @@ -243,34 +250,90 @@ fi # echo $has_band #------------------------------- if ! test -z "$has_band" && [ $has_band == 1 ]; then - bandref=eigs1.txt.ref - bandcal=OUT.autotest/eigs1.txt + bandref=band.txt.ref + bandcal=OUT.autotest/band.txt python3 $COMPARE_SCRIPT $bandref $bandcal 8 echo "CompareBand_pass $?" >>$1 fi + #-------------------------------- # Hamiltonian and overlap matrix # echo $has_hs #-------------------------------- -if ! test -z "$has_hs" && [ $has_hs == 1 ]; then - if ! test -z "$gamma_only" && [ $gamma_only == 1 ]; then - href=hks1_nao.txt.ref - hcal=OUT.autotest/hks1_nao.txt - sref=sks1_nao.txt.ref - scal=OUT.autotest/sks1_nao.txt - else # multiple k-points - href=hks1k2_nao.txt.ref - hcal=OUT.autotest/hks1k2_nao.txt - sref=sks1k2_nao.txt.ref - scal=OUT.autotest/sks1k2_nao.txt +if ! test -z "$has_hs" && [ $has_hs == 1 ]; then + if ! test -z "$gamma_only" && [ $gamma_only == 1 ]; then + # ========== Γ-point (single k-point) calculation ========== + if ! test -z "$nspin" && [ $nspin == 2 ]; then + # nspin=2 (spin-polarized): compare hks1 + hks2 Hamiltonian + sk overlap matrix + h1ref=hks1_nao.txt.ref + h1cal=OUT.autotest/hks1_nao.txt + h2ref=hks2_nao.txt.ref + h2cal=OUT.autotest/hks2_nao.txt + sref=sk_nao.txt.ref + scal=OUT.autotest/sk_nao.txt + # Compare Hamiltonian matrix for spin 1 + python3 $COMPARE_SCRIPT $h1ref $h1cal 6 + echo "CompareH1_pass $?" >>$1 + # Compare Hamiltonian matrix for spin 2 + python3 $COMPARE_SCRIPT $h2ref $h2cal 6 + echo "CompareH2_pass $?" >>$1 + # Compare overlap matrix + python3 $COMPARE_SCRIPT $sref $scal 8 + echo "CompareS_pass $?" >>$1 + elif ! test -z "$nspin" && [ $nspin == 4 ]; then + # nspin=4 : do nothing, only matching condition without any operation + true + else + # nspin=1 (non-spin-polarized, default case): compare single hk + sk matrix set + href=hk_nao.txt.ref + hcal=OUT.autotest/hk_nao.txt + sref=sk_nao.txt.ref + scal=OUT.autotest/sk_nao.txt + # Compare Hamiltonian matrix + python3 $COMPARE_SCRIPT $href $hcal 6 + echo "CompareH_pass $?" >>$1 + # Compare overlap matrix + python3 $COMPARE_SCRIPT $sref $scal 8 + echo "CompareS_pass $?" >>$1 fi - - python3 $COMPARE_SCRIPT $href $hcal 6 - echo "CompareH_pass $?" >>$1 - python3 $COMPARE_SCRIPT $sref $scal 8 - echo "CompareS_pass $?" >>$1 + else + # ========== Multiple k-points calculation ========== + if ! test -z "$nspin" && [ $nspin == 2 ]; then + # nspin=2 (spin-polarized): compare hks1_2 + hks2_2 Hamiltonian + sk2 overlap matrix + h1ref=hks1_2_nao.txt.ref + h1cal=OUT.autotest/hks1_2_nao.txt + h2ref=hks2_2_nao.txt.ref + h2cal=OUT.autotest/hks2_2_nao.txt + sref=sk2_nao.txt.ref + scal=OUT.autotest/sk2_nao.txt + # Compare Hamiltonian matrix for spin 1 + python3 $COMPARE_SCRIPT $h1ref $h1cal 6 + echo "CompareH1_pass $?" >>$1 + # Compare Hamiltonian matrix for spin 2 + python3 $COMPARE_SCRIPT $h2ref $h2cal 6 + echo "CompareH2_pass $?" >>$1 + # Compare overlap matrix + python3 $COMPARE_SCRIPT $sref $scal 8 + echo "CompareS_pass $?" >>$1 + elif ! test -z "$nspin" && [ $nspin == 4 ]; then + # nspin=4 : do nothing, only matching condition without any operation + true + else + # nspin=1 (non-spin-polarized, default case): compare single hk2 + sk2 matrix set + href=hk2_nao.txt.ref + hcal=OUT.autotest/hk2_nao.txt + sref=sk2_nao.txt.ref + scal=OUT.autotest/sk2_nao.txt + # Compare Hamiltonian matrix + python3 $COMPARE_SCRIPT $href $hcal 6 + echo "CompareH_pass $?" >>$1 + # Compare overlap matrix + python3 $COMPARE_SCRIPT $sref $scal 8 + echo "CompareS_pass $?" >>$1 + fi + fi fi #-------------------------------- @@ -278,11 +341,11 @@ fi #-------------------------------- if ! test -z "$has_xc" && [ $has_xc == 1 ]; then if ! test -z "$gamma_only" && [ $gamma_only == 1 ]; then - xcref=vxcs1_nao.txt.ref - xccal=OUT.autotest/vxcs1_nao.txt + xcref=vxc_nao.txt.ref + xccal=OUT.autotest/vxc_nao.txt else - xcref=vxcs1k2_nao.txt.ref - xccal=OUT.autotest/vxcs1k2_nao.txt + xcref=vxck2_nao.txt.ref + xccal=OUT.autotest/vxck2_nao.txt fi oeref=vxc_out.ref oecal=OUT.autotest/vxc_out.dat @@ -366,16 +429,23 @@ if ! test -z "$has_mat_dh" && [ $has_mat_dh == 1 ]; then echo "ComparerdHRz_pass $?" >>$1 fi +#--------------------------------------- +# Charge density +#--------------------------------------- +#echo $out_chg +if ! test -z "$out_chg" && [ $out_chg == 1 ]; then + python3 $COMPARE_SCRIPT chg.cube.ref OUT.autotest/chg.cube 8 + echo "chg.cube_pass $?" >>$1 +fi + #--------------------------------------- # SCAN exchange-correlation information #echo $has_scan #--------------------------------------- if ! test -z "$has_scan" && [ $has_scan == "scan" ] && \ ! test -z "$out_chg" && [ $out_chg == 1 ]; then - python3 $COMPARE_SCRIPT chgs1.cube.ref OUT.autotest/chgs1.cube 8 - echo "chgs1.cube_pass $?" >>$1 - python3 $COMPARE_SCRIPT taus1.cube.ref OUT.autotest/taus1.cube 8 - echo "taus1.cube_pass $?" >>$1 + python3 $COMPARE_SCRIPT tau.cube.ref OUT.autotest/tau.cube 8 + echo "tau.cube_pass $?" >>$1 fi #--------------------------------------- @@ -417,8 +487,22 @@ fi # echo "$has_wfc_pw" ## test out_wfc_pw > 0 #-------------------------------------------- if ! test -z "$has_wfc_pw" && [ $has_wfc_pw == 1 ]; then - if [[ ! -f OUT.autotest/wfs1k1_pw.txt ]];then - echo "Can't find file OUT.autotest/wfs1k1_pw.txt" + + # according to nspin value + if [ "$nspin" -eq 1 ]; then + filename="wfk1_pw.txt" + elif [ "$nspin" -eq 2 ]; then + filename="wfk1s1_pw.txt" + else + # other nspin cases + echo "Unsupported nspin value: $nspin" + exit 1 + fi + + full_path="OUT.autotest/$filename" + + if [[ ! -f "$full_path" ]];then + echo "Can't find file $full_path" exit 1 fi awk 'BEGIN {max=0;read=0;band=1} @@ -433,7 +517,7 @@ if ! test -z "$has_wfc_pw" && [ $has_wfc_pw == 1 ]; then if(sqrt($i*$i)>max) {max=sqrt($i*$i)} } } - }' OUT.autotest/wfs1k1_pw.txt >> $1 + }' "$full_path" >> "$1" fi @@ -443,15 +527,15 @@ fi #-------------------------------------------- if ! test -z "$has_lowf" && [ $has_lowf == 1 ]; then if ! test -z "$gamma_only" && [ $gamma_only == 1 ]; then - wfc_cal=OUT.autotest/wfs1_nao.txt - wfc_ref=wfs1_nao.txt.ref + wfc_cal=OUT.autotest/wf_nao.txt + wfc_ref=wf_nao.txt.ref else # multi-k point case if ! test -z "$out_app_flag" && [ $out_app_flag == 0 ]; then - wfc_name=wfs1k1g3_nao - input_file=WFC/wfs1k1g3_nao + wfc_name=wfk1g3_nao + input_file=WFC/wfk1g3_nao else - wfc_name=wfs1k2_nao - input_file=wfs1k2_nao + wfc_name=wfk2_nao + input_file=wfk2_nao fi awk 'BEGIN {flag=999} { @@ -477,8 +561,8 @@ fi # density matrix information #-------------------------------------------- if ! test -z "$out_dm" && [ $out_dm == 1 ]; then - dmfile=OUT.autotest/dms1_nao.txt - dmref=dms1_nao.txt.ref + dmfile=OUT.autotest/dm_nao.txt + dmref=dm_nao.txt.ref if test -z "$dmfile"; then echo "Can't find DM files" exit 1 @@ -571,8 +655,8 @@ fi # check currents in rt-TDDFT #-------------------------------------------- if ! test -z "$out_current" && [ $out_current ]; then - current1ref=refcurrent_total.dat - current1cal=OUT.autotest/current_total.dat + current1ref=current_tot.txt.ref + current1cal=OUT.autotest/current_tot.txt python3 $COMPARE_SCRIPT $current1ref $current1cal 10 echo "CompareCurrent_pass $?" >>$1 fi @@ -625,6 +709,47 @@ if ! test -z "$rdmft" && [[ $rdmft == 1 ]]; then echo "" >>$1 fi +#-------------------------------------------- +# Check if out_alllog is set to 1 +# and verify running*.log filenames +#-------------------------------------------- +out_alllog=$(get_input_key_value "out_alllog" "INPUT") +if ! test -z "$out_alllog" && [ $out_alllog -eq 1 ]; then + calculation=$(get_input_key_value "calculation" "INPUT") + + if [ -z "$calculation" ]; then + echo "Error: calculation parameter not found in INPUT" + exit 1 + fi + + # Find all running*.log files in OUT.autotest directory + log_files=$(ls OUT.autotest/running*.log 2>/dev/null) + + if [ -z "$log_files" ]; then + echo "Error: No running*.log files found in OUT.autotest/" + exit 1 + fi + + # Check each log file name contains the calculation parameter + all_valid=true + for log_file in $log_files; do + filename=$(basename "$log_file") + if [[ ! "$filename" =~ running_${calculation}_ ]]; then + echo "Error: Invalid log filename $filename - should contain 'running_${calculation}_'" + all_valid=false + fi + done + + if $all_valid; then + echo "All log filenames contain 'running_${calculation}_' - validation passed" + echo "log_filename_validation 1" >>$1 + else + echo "Error: Some log filenames do not contain 'running_${calculation}_'" + echo "log_filename_validation 0" >>$1 + exit 1 + fi +fi + #-------------------------------------------- # Check time information #-------------------------------------------- diff --git a/toolchain/Details.md b/toolchain/Details.md deleted file mode 100644 index 202a492350..0000000000 --- a/toolchain/Details.md +++ /dev/null @@ -1,315 +0,0 @@ -# The ABACUS Toolchain - -## Author -QuantumMisaka (Zhaoqing Liu) @PKU @AISI - -Inspired by cp2k-toolchain, still in improvement. - -## Options - -To use the ABACUS toolchain installer, you may want to first follow -the instructions given in installer help message: - -```shell -> ./install_abacus_toolchain.sh --help -``` - -## Basic usage - -If you are new to ABACUS, and want a basic ABACUS binary, then just calling - -```shell -> ./toolchain_gnu.sh -``` -to install ABACUS requirements by gcc-openmpi-openblas toolchain or -```shell -> ./toolchain_intel.sh -``` -to install ABACUS requirements by intel-mpi-mkl toolchain (intel-environments need to be loaded first) -may be enough. -The gcc-toolchain will use your system gcc, and mpi library (if -existing) and build scalapack, fftw, openblas, elpa and libxc from scratch, -and give you compiled libraries that allow you to compile ABACUS. -The intel-toolchain will use your system intel-mpi and mkl library environments -to build elpa and libxc from scratch, and give you compiled libraries that allow you to compile ABACUS. - -After finish the toolchain requirements installation, you can use the following command to compile ABACUS: - -```shell -> ./build_abacus_gnu.sh -``` -or -```shell -> ./build_abacus_intel.sh -``` -to get ABACUS binary file. - - -## Complete toolchain build - -For a complete toolchain build, with everything installed from -scratch, use: - -```shell -> ./install_abacus_toolchain.sh --install-all -``` - -### Package settings - -One can then change settings for some packages, by setting -`--with-PKG` options after the `--install-all` option. e.g.: - -```shell -> ./install_abacus_toolchain.sh --install-all --with-mkl=system -``` - -will set the script to look for a system MKL library to link, while -compile other packages from scratch. - - -### MPI implementation choice - -If you do not have a MPI installation, by default the `--install-all` -option will install MPICH for you. You can change this default -behavior by setting `--mpi-mode` after the `--install-all` option. - -## Trouble Shooting - -Below are solutions to some of the common problems you may encounter when -running this script. - -### The script terminated with an error message - -Look at the error message. If it does not indicate the reason for -failure then it is likely that some error occurred during -compilation of the package. You can look at the compiler log in -the file make.log in the source directory of the package in -`./build`. - -One of the causes on some systems may be the fact that too many -parallel make processes were initiated. By default the script -tries to use all of the processors on you node. You can override -this behavior using `-j` option. - -### The script failed at a tarball downloading stage - -Try run again with `--no-check-certificate` option. See the help -section for this option for details. - -### I've used --with-XYZ=system cannot find the XYZ library - -The installation script in "system" mode will try to find a library -in the following system PATHS: `LD_LIBRARY_PATH`, `LD_RUN_PATH`, -`LIBRARY_PATH`, `/usr/local/lib64`, `/usr/local/lib`, `/usr/lib64`, -`/usr/lib`. - -For MKL libraries, the installation script will try to look for -MKLROOT environment variable. - -You can use: - -```shell -> module show XYZ -``` - -to see exactly what happens when the module XYZ is loaded into your -system. Sometimes a module will define its own PATHS and -environment variables that is not in the default installation -script search path. And as a result the given library will likely -not be found. - -The simplest solution is perhaps to find where the root -installation directory of the library or package is, and then use -`--with-XYZ=/some/location/to/XYZ` to tell the script exactly where -to look for the library. - -## Licenses - -The toolchain only downloads and installs packages that are -[compatible with the GPL](https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean). -The following table list the licenses of all those packages. While the toolchain -does support linking proprietary software packages, like e.g. MKL, these have to -be installed separately by the user. - -| Package | License | GPL Compatible | -| --------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| cmake | [BSD 3-Clause](https://gitlab.kitware.com/cmake/cmake/raw/master/Copyright.txt) | Yes | -| elpa | [LGPL](https://gitlab.mpcdf.mpg.de/elpa/elpa/blob/master/LICENSE) | Yes | -| fftw | [GPL](http://www.fftw.org/doc/License-and-Copyright.html) | Yes | -| gcc | [GPL](https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=COPYING;hb=HEAD) | Yes | -| libxc | [MPL](https://gitlab.com/libxc/libxc/blob/master/COPYING) | Yes | -| mpich | [MPICH](https://github.com/pmodels/mpich/blob/master/COPYRIGHT) | [Yes](https://enterprise.dejacode.com/licenses/public/mpich/#license-conditions) | -| openblas | [BSD 3-Clause](https://github.com/xianyi/OpenBLAS/blob/develop/LICENSE) | Yes | -| openmpi | [BSD 3-Clause](https://github.com/open-mpi/ompi/blob/master/LICENSE) | Yes | -| scalapack | [BSD 3-Clause](http://www.netlib.org/scalapack/LICENSE) | Yes | - -## For Developers - -### Structure of the toolchain scripts - -- `install_abacus_toolchain.sh` is the main script that will call all - other scripts. It contains default flag settings, user input - parser, calls to each package installation scripts and the - generator of the ABACUS arch files. - -- `script/install_*.sh` are the installation scripts for individual - packages. They are relatively independent, in the sense that by - running `script/install_PKG.sh` it should install the package on its - own. However, in practice due to dependencies to other libraries, - sometimes for a package to be installed this way, it will depend - on other libraries being already installed and the correct - environment variables set. At the end of each script, it should - write to __two__ files: `build/setup_PKG` and `install/setup`. - - - The `build/setup_PKG` file contains all the instructions to set - the variables used by the `install_abacus_toolchain.sh` and other - `script/install_PKG.sh` scripts in order for them to correctly - compile the toolchain and set the correct library flags for the - arch files. - - The `install/setup` file contains all the instructions for setting - up the correct environment before the user can compile and/or - run ABACUS. - -- `script/toolkit.sh` contains all the macros that may be used by all - of the scripts, and provides functionalities such as prepending a - path, checking if a library exists etc. - -- `script/common_var.sh` contains all of the common variables used by - each installation scripts. All of the variables in the file should - have a default value, but allow the environment to set the values, - using: `VAR=${VAR:-default_value}`. - -- `script/parse_if.py` is a python code for parsing the `IF_XYZ(A|B)` - constructs in the script. Nested structures will be parsed - correctly. See - [`IF_XYZ` constructs](./README_FOR_DEVELOPERS.md#the-if_xyz-constructs) below. - -- `checksums.sha256` contains the pre-calculated SHA256 checksums for - the tar balls of all of the packages. This is used by the - `download_pkg` macro in `script/toolkit.sh`. - -- `arch_base.tmpl` contains the template skeleton structure for the - arch files. The `install_ABACUS_toolchain` script will set all the - variables used in the template file, and then do an eval to expand - all of `${VARIABLE}` items in `arch_base.tmpl` to give the ABACUS arch - files. - -### `enable-FEATURE` options - -The `enable-FEATURE` options control whether a FEATURE is enabled or disabled. -Possible values are: - -- `yes` (equivalent to using the option-keyword alone) -- `no` - -### `with_PKG` and `PKG_MODE` variables - -The `with_PKG` options controls how a package is going to be installed: - -- either compiled and installed from source downloaded - (`install`, or the option-keyword alone), -- or linked to locations provided by system search paths (`system`), -- or linked to locations provided by the user (``, path to some directory), -- or that the installer won't be used (`no`). - -For most packages the `with_pkg` variables will act like a switch for -turning on or off the support for this package. However, for -packages serving the same purpose, with the installer needing only -one, an extra variable `PKG_MODE` (e.g. `MPI_MODE`) are used as a -selector. In this case, while `with_PKG` controls the installation -method, the `PKG_MODE` variable picks which package to actually use. -This provides more flexibility. - -### The IF_XYZ constructs - -Due to the fact that `install_ABACUS_toolchain.sh` needs to produce -several different versions of the arch files: `psmp`, `pdbg`, -`ssmp`, `sdbg`, etc, it will have to resolve different flags for -different arch file versions. - -The solution used by this script is to use a syntax construct: - -```shell -IF_XYZ(A | B) -``` - -A parser will then parse this expression to *A* if *XYZ* is passed -to the parser (python `parse_if.py` filename XYZ); and to *B* if *XYZ* -is not passed as command line option (python `parse_if.py` filename). - -The `IF_XYZ(A|B)` construct can be nested, so things like: - -```shell -IF_XYZ(IF_ABC(flag1|flag2) | flag3) -``` - -will parse to *flag1* if both *XYZ* and *ABC* are present in the command -line arguments of `parser_if.py`, to *flag2* if only *XYZ* is present, -and *flag3* if nothing is present. - -### To ensure portability - -- one should always pass compiler flags through the - `allowed_gcc_flags` and `allowed_gfortran_flags` filters in - `scripts/toolkit.sh` to omit any flags that are not supported by - the gcc version used (or installed by this script). - -- note that `allowed_gcc_flags` and `allowed_gfortran_flags` do not work - with `IF_XYZ` constructs. So if you have something like: - -```shell -FCFLAGS="IF_XYZ(flag1 flag2 | flag3 flag4)" -``` - -Then you should break this into: - -```shell -XYZ_TRUE_FLAGS="flags1 flags2" -XYZ_FALSE_FLAGS="flags3 flags4" -# do filtering -XYZ_TRUE_FLAGS="$(allowed_gcc_flags $XYZ_TRUE_FLAGS)" -XYZ_FALSE_FLAGS="$(allowed_gcc_flags $XYZ_FALSE_FLAGS)" -``` - -So that: - -```shell -FCFLAGS="IF_XYZ($XYZ_TRUE_FLAGS | $XYZ_FALSE_FLAGS)" -``` - -- For any intrinsic fortran modules that may be used, it is best to - check with `check_gfortran_module` macro defined in - `script/tool_kit.sh`. Depending on the gcc version, some intrinsic - modules may not exist. - -- Try to avoid as much hard coding as possible: - e.g. instead of setting: - -```shell -./configure --prefix=some_dir CC=mpicc FC=mpif90 -``` - -use the common variables: - -```shell -./configure --prefix=some_dir CC=${MPICC} FC=${MPIFC} -``` - -## To keep maintainability it is recommended that we follow these practices - -- Reuse as much functionality from the macros defined in the - `script/toolkit.sh` as possible - -- When the existing macros in `script/toolkit.sh` do not provide the - functionalities you want, it is better to write the new - functionality as a macro in `script/toolkit.sh`, and then use the - macro (repeatedly if required) in the actual installation - script. This keeps the installation scripts uncluttered and more - readable. - -- All packages should install into their own directories, and with a - lock file created in their respective directory to indicate - installation has been successful. This allows the script to skip - over the compilation stages of already installed packages if the - user terminated the toolchain script at the middle of a run and - then restarted the script. diff --git a/toolchain/README.md b/toolchain/README.md index feae610a78..8727e7f35d 100644 --- a/toolchain/README.md +++ b/toolchain/README.md @@ -1,310 +1,330 @@ -# The ABACUS Toolchain +# ABACUS Toolchain -Version 2025.2 +[![Version](https://img.shields.io/badge/version-2025.3-blue.svg)](https://github.com/deepmodeling/abacus-develop/tree/develop/toolchain) +[![License](https://img.shields.io/badge/license-GPL--compatible-green.svg)](#license) +[![Platform](https://img.shields.io/badge/platform-Linux-lightgrey.svg)]() -## Main Developer +> **Automated dependency management and compilation toolchain for ABACUS** -[QuantumMisaka](https://github.com/QuantumMisaka) -(Zhaoqing Liu) @PKU @AISI +## Table of Contents -Inspired by cp2k-toolchain, still in improvement. +- [Overview](#overview) +- [Features](#features) +- [Quick Start](#quick-start) +- [Installation Methods](#installation-methods) +- [Supported Toolchains](#supported-toolchains) +- [Dependencies](#dependencies) +- [GPU Support](#gpu-support) +- [Troubleshooting](#troubleshooting) +- [Advanced Usage](#advanced-usage) +- [Developer Guide](#developer-guide) +- [License](#license) +- [Contributing](#contributing) -You should have read this README before using this toolchain. +## Overview -## Introduction +The ABACUS Toolchain is an automated build system inspired by the cp2k-toolchain that simplifies the compilation and installation of ABACUS and its dependencies. It supports both online and offline installation modes, multiple compiler toolchains, and provides a streamlined path from dependency installation to ABACUS compilation. -This toolchain will help you easily compile and install, -or link libraries ABACUS depends on -in ONLINE or OFFLINE way, -and give setup files that you can use to compile ABACUS. +### Main Developer -## Todo +**[QuantumMisaka](https://github.com/QuantumMisaka)** (Zhaoqing Liu) +*Peking University, CCME* -- [x] `gnu-openblas` toolchain support for `openmpi` and `mpich`. -- [x] `intel-mkl-mpi` toolchain support using `icc`/`icpc`/`ifort` or `icx`/`icpx`/`ifort`. (`icx` as default, but will have problem for ELPA in AMD machine, one can specify `--with-intel-classic=yes` to use `icc`), -- [x] `intel-mkl-mpich` toolchain support. -- [x] Automatic installation of [CEREAL](https://github.com/USCiLab/cereal) and [LIBNPY](https://github.com/llohse/libnpy) (by github.com) -- [x] Support for [LibRI](https://github.com/abacusmodeling/LibRI) by submodule or automatic installation from github.com (but installed LibRI via `wget` seems to have some problem, please be cautious) -- [x] A mirror station by Bohrium database, which can download CEREAL, LibNPY, LibRI and LibComm by `wget` in China Internet. -- [x] Support for GPU-PW and GPU-LCAO compilation (elpa, cusolvermp is developing), and `-DUSE_CUDA=1` is needed builder scripts. -- [x] Support for AMD compiler and math lib `AOCL` and `AOCC` (not fully complete due to flang and AOCC-ABACUS compliation error) -- [ ] Support for more GPU device out of Nvidia. -- [ ] Change the downloading url from cp2k mirror to other mirror or directly downloading from official website. (doing) -- [ ] Support a JSON or YAML configuration file for toolchain, which can be easily modified by users. -- [ ] A better README and Detail markdown file. -- [ ] Automatic installation of [DEEPMD](https://github.com/deepmodeling/deepmd-kit). -- [ ] Modulefile generation scripts. +## Features +- ✅ **Multiple Toolchain Support**: GNU, Intel OneAPI, AMD AOCC/AOCL +- ✅ **Flexible Installation**: Online/offline modes with automatic dependency resolution +- ✅ **GPU Acceleration**: CUDA support for NVIDIA GPUs with ELPA and cuSolverMP +- ✅ **MPI Implementations**: OpenMPI, MPICH, Intel MPI support +- ✅ **Math Libraries**: OpenBLAS, Intel MKL, AMD AOCL integration +- ✅ **Advanced Features**: LibRI, LibComm and MLALGO support +- ✅ **Resumable Installation**: Interrupt and resume capability +- ✅ **Environment Management**: Automatic setup file generation -## Usage Online & Offline +## Quick Start -Main script is *install_abacus_toolchain.sh*, -which will use scripts in *scripts* directory -to compile install dependencies of ABACUS. -It can be directly used, but not recommended. +### Prerequisites -There are also well-modified script to run *install_abacus_toolchain.sh* for `gnu` (gcc-openblas), `intel` (intel-mkl-mpi-compiler), `gcc-aocl` and `aocc-aocl` toolchains dependencies. +- **GCC**: Version ≥ 5.0 (recommended ≥ 7.3.0) +- **Internet Connection**: For online installation mode +- **System Libraries**: Basic development tools (see [System Requirements](#system-requirements)) -```shell -# for gnu-openblas -> ./toolchain_gnu.sh -# for intel-mkl -> ./toolchain_intel.sh -# for AMD gcc-aocl -> ./toolchain_gcc-aocl.sh -# for AMD aocc-aocl -> ./toolchain_aocc-aocl.sh -``` +### Basic Installation -It is recommended to run one of them first to get a fast installation of ABACUS under certain environments. +For new users, start with one of these pre-configured toolchains: -If you are using Intel environments via Intel-OneAPI: please note: -1. After version 2024.0, Intel classic compilers `icc` and `icpc` are not present, so as `ifort` after version 2025.0. Intel MPI compiler will also be updated to `mpiicx`, `mpiicpx` and `mpiifx`. -2. toolchain will detect `icx`, `icpx`, `ifx`, `mpiicx`, `mpiicpx` and `mpiifx` as default compiler. -3. Users can manually specify `--with-intel-classic=yes` to use Intel classic compiler in `toolchain*.sh`, or specify `--with-intel-mpi-clas=yes` to use Intel MPI classic compiler in `toolchain*.sh` while keep the CC, CXX and F90 compiler to new version. -4. Users can manually specify `--with-ifx=no` in `toolchain*.sh` to use `ifort` while keep other compiler to new version. -5. More information is in the later part of this README. +```bash +# GNU toolchain (GCC + OpenMPI + OpenBLAS) +./toolchain_gnu.sh -If you are using AMD AOCL and AOCC, please note: +# Intel toolchain (Intel compilers + Intel MPI + MKL) +./toolchain_intel.sh +# AMD toolchain options +./toolchain_gcc-aocl.sh # GCC + AMD AOCL +./toolchain_aocc-aocl.sh # AMD AOCC + AOCL +``` -**Notice: You GCC version should be no lower than 5 !!!. The toolchain will check it, and gcc with version larger than 7.3.0 is recommended.** +### Build ABACUS -**Notice: You SHOULD `source` or `module load` related environments before use toolchain method for installation, especially for `intel`, `gcc-aocl` or `aocc-aocl` toolchain! For example, `module load mkl mpi icc compiler` for loading oneapi envs.** +After successful toolchain installation: -**Notice: You SHOULD keep your environments systematic, for example, you CANNOT load `intel-OneAPI` environments while use gcc toolchain !!!** +```bash +# For GNU toolchain +./build_abacus_gnu.sh -**Notice: If your server system already have libraries like `cmake`, `openmpi`, please change related setting in `toolchain*.sh` like `--with-cmake=system`, note that the environments of these system package will not be added into install/setup file** +# For Intel toolchain +./build_abacus_intel.sh +# For AMD toolchains +./build_abacus_gcc-aocl.sh +./build_abacus_aocc-aocl.sh +``` -All packages will be downloaded from [cp2k-static/download](https://www.cp2k.org/static/downloads). by `wget` , and will be detailedly compiled and installed in `install` directory by toolchain scripts, despite of: +### Environment Setup -- `CEREAL` which will be downloaded from [CEREAL](https://github.com/USCiLab/cereal) -- `Libnpy` which will be downloaded from [LIBNPY](https://github.com/llohse/libnpy) -- `LibRI` which will be downloaded from [LibRI](https://github.com/abacusmodeling/LibRI) -- `LibCOMM` which will be downloaded from [LibComm](https://github.com/abacusmodeling/LibComm) -- `RapidJSON` which will be downloaded from [RapidJSON](https://github.com/Tencent/rapidjson) -Notice: These packages will be downloaded by `wget` from `codeload.github.com`, which bypass the difficulty of Chinese Internet in some extent. If any downloading problem occurs, you may need to use offline installation method. +```bash +# Source the generated environment +source install/setup -Instead of github.com, we offer other package station, you can use it by: -```shell -wget https://bohrium-api.dp.tech/ds-dl/abacus-deps-93wi-v3 -O abacus-deps-v3.zip +# Or use the generated ABACUS environment +source abacus_env.sh ``` -`unzip` it ,and you can do offline installation of these packages above after rename. -```shell -# packages downloaded from github.com -mv v1.3.2.tar.gz build/cereal-1.3.2.tar.gz -``` -The above station will be updated handly but one should notice that the version will always lower than github repo. -If one want to install ABACUS by toolchain OFFLINE, -one can manually download all the packages from [cp2k-static/download](https://www.cp2k.org/static/downloads) or official website -and put them in *build* directory by formatted name -like *fftw-3.3.10.tar.gz*, or *openmpi-5.0.7.tar.bz2*, -then run this toolchain. -All package will be detected and installed automatically. -Also, one can install parts of packages OFFLINE and parts of packages ONLINE -just by using this toolchain +## Installation Methods -```shell -# for OFFLINE installation -# in toolchain directory -> mkdir build -> cp ***.tar.gz build/ -``` - -The needed dependencies version default: - -- `cmake` 3.31.7 -- `gcc` 13.2.0 (which will always NOT be installed, But use system) -- `OpenMPI` 5.0.7 (Version 5 OpenMPI is good but will have compability problem, user can manually downarade to Version 4 in toolchain scripts by specify `--with-openmpi4`) -- `MPICH` 4.3.0 -- `OpenBLAS` 0.3.29 (Intel toolchain need `get_vars.sh` tool from it) -- `ScaLAPACK` 2.2.2 -- `FFTW` 3.3.10 -- `LibXC` 7.0.0 -- `ELPA` 2025.01.001 (may not be conpatiable for gpu-ver) -- `CEREAL` master (for oneapi compatibility) -- `RapidJSON` master (for oneapi compatibility) -And: -- Intel-oneAPI need user or server manager to manually install from Intel. -- - [Intel-oneAPI](https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/toolkits.html) -- AMD AOCC-AOCL need user or server manager to manually install from AMD. -- - [AOCC](https://www.amd.com/zh-cn/developer/aocc.html) -- - [AOCL](https://www.amd.com/zh-cn/developer/aocl.html) - -Dependencies below are optional, which is NOT installed by default: -- `LibTorch` 2.1.2 -- `Libnpy` 1.0.1 -- `LibRI` 0.2.1.0 -- `LibComm` master (for openmpi compatibility) - -Users can install them by using `--with-*=install` in toolchain*.sh, which is `no` in default. Also, user can specify the absolute path of the package by `--with-*=path/to/package` in toolchain*.sh to allow toolchain to use the package. -> Notice: LibTorch always suffer from GLIBC_VERSION problem, if you encounter this, please downgrade LibTorch version to 1.12.1 in scripts/stage4/install_torch.sh -> -> Notice: LibRI, LibComm, Rapidjson and Libnpy is on actively development, you should check-out the package version when using this toolchain. - -Users can easily compile and install dependencies of ABACUS -by running these scripts after loading related environment. - -The toolchain installation process can be interrupted at anytime. -just re-run *toolchain_\*.sh*, toolchain itself may fix it. If you encouter some problem like file corrupted, you can always remove some package in the interrupted points and re-run the toolchain. - -Some useful options: -- `--dry-run`: just run the main install scripts for environment setting, without any package downloading or installation. -- `--pack-run`: just run the install scripts without any package building, which helps user to download and check the packages, paticularly for offline installation to a server. - -If compliation is successful, a message will be shown like this: +### Online Installation -```shell -========================== usage ========================= -Done! -To use the installed tools and libraries and ABACUS version -compiled with it you will first need to execute at the prompt: - source ${SETUPFILE} -To build ABACUS by gnu-toolchain, just use: - ./build_abacus_gnu.sh -To build ABACUS by intel-toolchain, just use: - ./build_abacus_intel.sh -To build ABACUS by amd-toolchain in gcc-aocl, just use: - ./build_abacus_gnu-aocl.sh -To build ABACUS by amd-toolchain in aocc-aocl, just use: - ./build_abacus_aocc-aocl.sh -or you can modify the builder scripts to suit your needs. -``` - -You can run *build_abacus_gnu.sh* or *build_abacus_intel.sh* to build ABACUS -by gnu-toolchain or intel-toolchain respectively, same for the `gcc-aocl` and `aocc-aocl` toolchain. -Then, the builder scripts will automatically locate the environment and compile ABACUS. -You can manually change the builder scripts to suit your needs. -The builder scripts will generate `abacus_env.sh` for source - -Then, after `source abacus_env.sh`, one can easily -run builder scripts to build ABACUS binary software. - -If users want to use toolchain but lack of some system library -dependencies, *install_requirements.sh* scripts will help. - -If users want to re-install all the package, just do: +Downloads packages automatically from official sources: -```shell -> rm -rf install +```bash +./toolchain_gnu.sh # Uses system package managers and official repositories ``` -or you can also do it in a more completely way: +Before running the toolchain, please make sure you have loaded the related environments and set the environment variables. +- You SHOULD source or module load related environments before use toolchain method for installation, especially for *intel*, *gcc-aocl* or *aocc-aocl* toolchain! For example, `module load mkl mpi icc compiler` for loading intel-oneapi envs. +- You SHOULD keep your environments systematic, for example, you CANNOT load intel-OneAPI environments while use gcc toolchain !!! + +**Package Sources:** +- **Build Tools:** + - [GCC](https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/) - GNU Compiler Collection + - [CMake](https://cmake.org/download/) - Cross-platform build system +- **MPI Libraries:** + - [OpenMPI](https://download.open-mpi.org/release/open-mpi/) - Open source MPI implementation + - [MPICH](https://www.mpich.org/downloads/) - High-performance MPI implementation +- **Math Libraries:** + - [OpenBLAS](https://github.com/xianyi/OpenBLAS/releases) - Optimized BLAS library + - [ScaLAPACK](http://www.netlib.org/scalapack/) - Scalable Linear Algebra PACKage +- **Scientific Libraries:** + - [FFTW](http://www.fftw.org/) - Fast Fourier Transform library + - [LibXC](https://www.tddft.org/programs/libxc/) - Exchange-correlation functionals + - [ELPA](https://elpa.mpcdf.mpg.de/) - Eigenvalue solver +- **Advanced Features:** + - [LibTorch](https://download.pytorch.org/libtorch/cpu/) - PyTorch C++ API + - [LibNPY](https://github.com/llohse/libnpy) - NumPy I/O for C++ + - [LibRI](https://github.com/abacusmodeling/LibRI) - Resolution of Identity library + - [LibComm](https://github.com/abacusmodeling/LibComm) - Communication library + - [NEP](https://github.com/brucefan1983/NEP_CPU) - Neuroevolution Potential + - [Cereal](https://github.com/USCiLab/cereal) - C++ serialization library + - [RapidJSON](https://github.com/Tencent/rapidjson) - Fast JSON parser/generator +- **Reference mirror:** [CP2K static downloads](https://www.cp2k.org/static/downloads) +- All package from GitHub will be downloaded by `wget` from `codeload.github.com`, which bypass the difficulty of CN Internet in some extent. + +### Offline Installation + +For air-gapped systems or unreliable internet: -```shell -> rm -rf install build/*/* build/OpenBLAS*/ build/setup_* +```bash +# 1. Create build directory and download packages +mkdir build +# Download required packages to build/ directory with proper naming +# e.g., fftw-3.3.10.tar.gz, openmpi-5.0.8.tar.bz2 + +# 2. Run toolchain (will detect local packages) +./toolchain_gnu.sh ``` -## GPU version of ABACUS +### Hybrid Installation -Toolchain supports compiling GPU version of ABACUS with Nvidia-GPU and CUDA. For usage, adding following options in build*.sh: +Mix online and offline packages as needed - the toolchain automatically detects locally available packages and downloads missing ones. -```shell -# in build_abacus_gnu.sh -cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ - -DCMAKE_CXX_COMPILER=g++ \ - -DMPI_CXX_COMPILER=mpicxx \ - ...... - -DUSE_CUDA=ON \ - # -DCMAKE_CUDA_COMPILER=${path to cuda toolkit}/bin/nvcc \ # add if needed - ...... -# in build_abacus_intel.sh -cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ - -DCMAKE_CXX_COMPILER=icpc \ - -DMPI_CXX_COMPILER=mpiicpc \ - ...... - -DUSE_CUDA=ON \ - # -DCMAKE_CUDA_COMPILER=${path to cuda toolkit}/bin/nvcc \ # add if needed - ...... -``` -which will enable GPU version of ABACUS, and the `ks_solver cusolver` method can be directly used for PW and LCAO calculation. - -Notice: You CANNOT use `icpx` compiler for GPU version of ABACUS for now, see discussion here [#2906](https://github.com/deepmodeling/abacus-develop/issues/2906) and [#4976](https://github.com/deepmodeling/abacus-develop/issues/4976) - -If you wants to use ABACUS GPU-LCAO by `cusolvermp` or `elpa` for multiple-GPU calculation, please compile according to the following usage: - -1. For the elpa method, add -```shell -export CUDA_PATH=/path/to/CUDA -# install_abacus_toolchain.sh part options ---enable-cuda \ ---gpu-ver=(GPU-compatibility-number) \ +## Supported Toolchains + +### GNU Toolchain +- **Compilers**: System GCC (≥5.0) or installed GCC +- **MPI**: OpenMPI or MPICH +- **Math**: OpenBLAS + ScaLAPACK +- **Features**: Most stable, widely compatible + +### Intel Toolchain +- **Compilers**: Intel OneAPI (icx/icpx/ifx or classic icc/icpc/ifort) with system/installed GCC (≥5.0) +- **MPI**: Intel MPI +- **Math**: Intel MKL +- **Features**: Optimized performance for Intel Machine + +### AMD Toolchain +- **Compilers**: AMD AOCC or system/installed GCC +- **Math**: AMD AOCL (Optimized math libraries) +- **Features**: AMD processor optimization (e.g., Zen3+) + +## Dependencies + +### Supported Packages + +| Package | Version (main/alt) | Purpose | License | Default | +|---------|-------------------|---------|---------|---------| +| **Build Tools** ||||| +| CMake | 3.31.7 / 3.30.5 | Build system | BSD-3-Clause | Install | +| GCC | 13.2.0 / 11.4.0 | C/C++ compiler | GPL-3.0-or-later WITH GCC-exception-3.1 | Install | +| **MPI Libraries** ||||| +| OpenMPI | 5.0.8 / 4.1.6 | MPI implementation | BSD-3-Clause-Open-MPI | Install | +| MPICH | 4.3.1 / 4.1.0 | Alternative MPI | mpich2 (BSD-like) | Alternative | +| **Math Libraries** ||||| +| OpenBLAS | 0.3.30 / 0.3.27 | Linear algebra | BSD-3-Clause | Install | +| ScaLAPACK | 2.2.2 / 2.2.1 | Parallel linear algebra | BSD-3-Clause | Install | +| **Scientific Libraries** ||||| +| FFTW | 3.3.10 / 3.3.10 | Fast Fourier Transform | GPL-2.0-or-later | Install | +| LibXC | 7.0.0 / 6.2.2 | Exchange-correlation | MPL-2.0 | Install | +| ELPA | 2025.06.001 / 2024.05.001 | Eigenvalue solver | LGPL-3.0-only | Install | +| **Advanced Features** ||||| +| Cereal | master | C++ Serialization | BSD | Install | +| RapidJSON | master | JSON parsing | MIT | Install | +| LibRI | master | EXX calculations | GPL-3.0 | Install | +| LibComm | master | EXX calculations | GPL-3.0 | Install | +| LibTorch | 2.1.2 / 1.12.1 | MLALGO support | BSD-3-Clause | Optional | +| LibNPY | 1.0.1 / 1.0.1 | NumPy I/O | MIT | Optional | +| NEP | main | Neuroevolution potential | MIT | Optional | + +Also, [Intel-oneAPI](https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/toolkits.html) and AMD [AOCC](https://www.amd.com/zh-cn/developer/aocc.html) and [AOCL](https://www.amd.com/zh-cn/developer/aocl.html) are supported in toolchain by setting them to system option, but one should install them manually by server administrator. + +### Package Version Switching + +The toolchain supports a dual-version system for most packages, providing both **main** (latest stable) and **alt** (alternative/legacy) versions. This allows users to choose between cutting-edge features and proven stability based on their specific requirements. + +#### Version Selection Methods + +The `--package-version` parameter supports two flexible usage patterns: + +**Method 1: Multiple Independent Parameters** (Original support) +```bash +./toolchain_gnu.sh --package-version libtorch:alt --package-version elpa:alt ``` -to the `toolchain_*.sh`, and then follow the normal step to install the dependencies using `./toolchain_*.sh`. For checking the GPU compatibility number, you can refer to the [CUDA compatibility](https://developer.nvidia.com/cuda-gpus). -Afterwards, make sure these option are enable in your `build_abacus_*.sh` script -```shell --DUSE_ELPA=ON \ --DUSE_CUDA=ON \ +**Method 2: Single Parameter with Multiple Key-Value Pairs** (Enhanced functionality) +```bash +./toolchain_gnu.sh --package-version "libtorch:alt elpa:alt" ``` -then just build the abacus executable program by compiling it with `./build_abacus_*.sh`. -The ELPA method need more parameter setting, but it doesn't seem to be affected by the CUDA toolkits version, and it is no need to manually install and package. +One can also manually edit the `toolchain_gnu.sh` for selecting specific version of packages. -Note: ELPA-2025.01.001 may have problem in nvidia-GPU compilation on some V100-GPU with AMD-CPU machine, error message: ```bash - 1872 | static __forceinline void CONCAT_8ARGS(hh_trafo_complex_kernel_,ROW_LENGTH,_,SIMD_SET,_,BLOCK,hv_,WORD_LENGTH) (DATA_TYPE_PTR q, DATA_TYPE_PTR hh, int nb, int ldq - | ^~~~~~~~~~~~~~~~~~~~~~~~ -../src/elpa2/kernels/complex_128bit_256bit_512bit_BLOCK_template.c:51:47: note: in definition of macro 'CONCAT2_8ARGS' - 51 | #define CONCAT2_8ARGS(a, b, c, d, e, f, g, h) a ## b ## c ## d ## e ## f ## g ## h - | ^ -../src/elpa2/kernels/complex_128bit_256bit_512bit_BLOCK_template.c:1872:27: note: in expansion of macro 'CONCAT_8ARGS' - 1872 | static __forceinline void CONCAT_8ARGS(hh_trafo_complex_kernel_,ROW_LENGTH,_,SIMD_SET,_,BLOCK,hv_,WORD_LENGTH) (DATA_TYPE_PTR q, DATA_TYPE_PTR hh, int nb, int ldq - | ^~~~~~~~~~~~ - PPFC src/GPU/libelpa_openmp_private_la-mod_vendor_agnostic_general_layer.lo - PPFC test/shared/GPU/libelpatest_openmp_la-test_gpu_vendor_agnostic_layer.lo -../src/GPU/CUDA/./cudaFunctions_template.h(942): error: identifier "creal" is undefined - double alpha_real = creal(alpha); - ^ - -../src/GPU/CUDA/./cudaFunctions_template.h(960): error: identifier "creal" is undefined - float alpha_real = creal(alpha); -``` - -And you may need to change ELPA version to 2024.05.001, edit `toolchain/scripts/stage3/install_elpa.sh` to do it. - -1. For the cusolvermp method, toolchain_*.sh does not need to be changed, just follow it directly install dependencies using `./toolchain_*.sh`, and then add -```shell --DUSE_CUDA=ON \ --DENABLE_CUSOLVERMP=ON \ --D CAL_CUSOLVERMP_PATH=/path/to/math.libs/1x.x/target/x86_64-linux/lib \ +# ============================================================================ +# Package Version Selection (main/alt versions) +# ============================================================================ +# Choose between main (latest stable) and alt (alternative/legacy) versions +# Refer to scripts/package_versions.sh for specific version numbers + +CMAKE_VERSION="main" # main=3.31.7, alt=3.30.5 +OPENMPI_VERSION="main" # main=5.0.8, alt=4.1.6 +OPENBLAS_VERSION="main" # main=0.3.30, alt=0.3.27 +ELPA_VERSION="main" # main=2025.06.001, alt=2024.05.001 +LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 +SCALAPACK_VERSION="main" # main=2.2.2, alt=2.2.1 +# Optional Libraries +LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) ``` -to the `build.abacus_*.sh` file. add the following three items to the environment (assuming you are using hpcsdk): -```shell -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/comm_libs/1x.x/hpcx/hpcx-x.xx/ucc/lib -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/comm_libs/1x.x/hpcx/hpcx-x.xx/ucx/lib -export CPATH=$CPATH:/path/to/math_libs/1x.x/targets/x86_64-linux/include + +and other `toolchain_*.sh` scripts share the same version selection. + +#### Global Version Strategy + +- **Default Behavior**: All packages use their **main** versions unless explicitly overridden +- **Selective Override**: Use `--package-version` to specify alternative versions for specific packages +- **Consistency**: Version selections are validated against available options in `scripts/package_versions.sh` +- **Backward Compatibility**: Both usage methods are fully supported to ensure existing scripts continue to work + + +### System Requirements + +Install system dependencies using provided scripts: + +```bash +# Ubuntu/Debian +sudo ./root_requirements/install_requirements_ubuntu.sh + +# Fedora/RHEL/CentOS +sudo ./root_requirements/install_requirements_fedora.sh + +# Generic +sudo ./root_requirements/install_requirements.sh ``` -Just enough to build the abacus executable program by compiling it with `./build_abacus_*.sh`. -You can refer to the linking video for auxiliary compilation and installation. [Bilibili](https://www.bilibili.com/video/BV1eqr5YuETN/). +## GPU Support -The cusolverMP requires installation from sources such as apt or yum, which is suitable for containers or local computers. -The second choice is using [NVIDIA HPC_SDK](https://developer.nvidia.com/hpc-sdk-downloads) for installation, which is relatively simple, but the package from NVIDIA HPC_SDK may not be suitable, especially for muitiple-GPU parallel running. To better use cusolvermp and its dependency (libcal, ucx, ucc) in multi-GPU running, please contact your server manager. +### CUDA Support for NVIDIA GPUs -After compiling, you can specify `device GPU` in INPUT file to use GPU version of ABACUS. +#### Basic GPU Support +Add to your build script: -## Common Problems and Solutions +```bash +cmake -B $BUILD_DIR \ + -DUSE_CUDA=ON \ + -DCMAKE_CUDA_COMPILER=/path/to/cuda/bin/nvcc \ + # ... other options +``` -### Intel-oneAPI problem +#### Multi-GPU with ELPA -#### OneAPI 2025.0 problem +1. **Configure toolchain with CUDA:** +```bash +export CUDA_PATH=/path/to/CUDA +./toolchain_gnu.sh --enable-cuda --gpu-ver=70 # For V100 (compute capability 7.0) +``` -Generally, OneAPI 2025.0 can be useful to compile basic function of ABACUS, but one will encounter compatible problem related to something. -- related to LibRI: refer to [#6190](https://github.com/deepmodeling/abacus-develop/issues/6190), it is recommended not to use LibRI or downgrade your OneAPI now. +2. **Build with ELPA GPU support:** +```bash +cmake -B $BUILD_DIR \ + -DUSE_CUDA=ON \ + -DUSE_ELPA=ON \ + # ... other options +``` + +#### Multi-GPU with cuSolverMP -#### ELPA problem via Intel-oneAPI toolchain in AMD server +1. **Check or install cuSolverMP manually:** +One may use NVIDIA HPC_SDK as an easy way to install cuSolverMP. + +2. **Install dependencies normally:** +```bash +./toolchain_gnu.sh +``` -The default compiler for Intel-oneAPI is `icpx` and `icx`, which will cause problem when compling ELPA in AMD server. (Which is a problem and needed to have more check-out) +3. **Build with cuSolverMP:** +```bash +cmake -B $BUILD_DIR \ + -DUSE_CUDA=ON \ + -DENABLE_CUSOLVERMP=ON \ + -DCAL_CUSOLVERMP_PATH=/path/to/math_libs/lib \ + # ... other options +``` -The best way is to change `icpx` to `icpc`, `icx` to `icc`. user can manually change it in *toolchain_intel.sh* via `--with-intel-classic=yes` +3. **Set environment variables:** +```bash +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/hpcx/ucc/lib +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/hpcx/ucx/lib +export CPATH=$CPATH:/path/to/math_libs/include +``` -Notice: `icc` and `icpc` from Intel Classic Compiler of Intel-oneAPI is not supported for 2024.0 and newer version. And Intel-OneAPI 2023.2.0 can be found in QE website. You need to download Base-toolkit for MKL and HPC-toolkit for MPi and compiler for Intel-OneAPI 2023.2.0, while in Intel-OneAPI 2024.x, only the HPC-toolkit is needed. +**Note**: cuSolverMP requires NVIDIA HPC SDK or system installation via package manager. -You can get Intel-OneAPI in [QE-managed website](https://pranabdas.github.io/espresso/setup/hpc/#installing-intel-oneapi-libraries), and use this code to get Intel oneAPI Base Toolkit and HPC Toolkit: +## Troubleshooting + +### Common Issues + +#### Intel OneAPI Problems + +Most of the OneAPI problem arise from the newer version of Intel-OneAPI. For users who encounter OneAPI problem, one can get Intel-OneAPI in [QE-managed website](https://pranabdas.github.io/espresso/setup/hpc/#installing-intel-oneapi-libraries), and use this code to get Intel oneAPI Base Toolkit and HPC Toolkit: ```shell wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/992857b9-624c-45de-9701-f6445d845359/l_BaseKit_p_2023.2.0.49397_offline.sh wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/0722521a-34b5-4c41-af3f-d5d14e88248d/l_HPCKit_p_2023.2.0.49440_offline.sh @@ -312,100 +332,388 @@ wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/0722521a-34b5-4 Related discussion here [#4976](https://github.com/deepmodeling/abacus-develop/issues/4976) -#### linking problem in early 2023 version oneAPI +**OneAPI 2025.0 Compatibility:** +- LibRI compatibility issues ([#6190](https://github.com/deepmodeling/abacus-develop/issues/6190)) +- Solution: Using the patch from Cereal and the master version of Cereal to fix the compatibility issue (included in toolchain). -Sometimes Intel-oneAPI have problem to link `mpirun`, -which will always show in 2023.2.0 version of MPI in Intel-oneAPI. -Try `source /path/to/setvars.sh` or install another version of IntelMPI may help. - -which is fixed in 2024.0.0 version of Intel-oneAPI, -And will not occur in Intel-MPI before 2021.10.0 (Intel-oneAPI before 2023.2.0) +**ELPA on AMD servers with Intel compilers:** +```bash +# Use Intel classic compilers instead +./toolchain_intel.sh --with-intel-classic=yes +``` -More problem and possible solution can be accessed via [#2928](https://github.com/deepmodeling/abacus-develop/issues/2928) +Notice: `icc` and `icpc` from Intel Classic Compiler of Intel-oneAPI are not supported for 2024.0 and newer version. And Intel-OneAPI 2023.2.0 can be found in QE website. You need to download Base-toolkit for MKL and HPC-toolkit for MPi and compiler for Intel-OneAPI 2023.2.0, while in Intel-OneAPI 2024.x, only the HPC-toolkit is needed. -#### gcc-MKL problem +#### Gcc-MKL Issues You cannot use gcc as compiler while using MKL as math library for compile ABACUS, there will be lots of error in the lask linking step. See [#3198](https://github.com/deepmodeling/abacus-develop/issues/3198) -### AMD AOCC-AOCL problem +#### AMD AOCC-AOCL problem -Use AOCC-AOCL to compile dependencies is permitted and usually get boosting in ABACUS efficiency. But you need to get rid of `flang` while compiling ELPA. Toolchain itself helps you make this `flang` shade in default of `aocc-aocl` toolchain, and you can manually use `flang` by setting `--with-flang=yes` in `toolchain_aocc-aocl.sh` to have a try, while toolchain helps you to bypass the possible errors in compiling ELPA with AOCC-AOCL, but the computing efficiency will be relatively lower compared to `gnu` or `gcc-aocl` toolchain. +Use AOCC-AOCL to compile dependencies is permitted and usually get boosting in ABACUS efficiency. But you need to get rid of `flang` while compiling ELPA. Toolchain itself helps you make this `flang` shade in default of `aocc-aocl` toolchain, and you can manually use `flang` by setting `--with-flang=yes` in `toolchain_aocc-aocl.sh` to have a try, while toolchain helps you to bypass the possible errors in compiling ELPA with AOCC-AOCL, but the computing efficiency will be relatively lower compared to `gnu` or `gcc-aocl` toolchain. There are some issues related to the numeric instability of ABACUS compiled by AOCC-AOCL toolchain, see [#6420](https://github.com/deepmodeling/abacus-develop/issues/6420) The `gcc-aocl` toolchain will have no problem above for aocc-dependent aocl. However, the gcc-dependent aocl will have some package linking problem related to OpenMPI. Take it with caution. +#### OpenMPI Issues -### OpenMPI problem +**Version 5 compatibility problems:** +```bash +# Use OpenMPI v4 instead +./toolchain_gnu.sh --package-version openmpi:alt +# an deprecated option, but still works +./toolchain_gnu.sh --with-openmpi-4th=yes +``` -#### in EXX and LibRI +**LibComm compilation with OpenMPI:** +- Fixed in toolchain 2025.2 which downlo the master branch of LibComm +- Alternative: Use MPICH or Intel MPI -- [Fixed in Toolchain 2025-02] GCC toolchain with OpenMPI cannot compile LibComm v0.1.1 due to the different MPI variable type from MPICH and IntelMPI, see discussion here [#5033](https://github.com/deepmodeling/abacus-develop/issues/5033), you can try use a newest branch of LibComm by +#### Shell and Permission Issues + +**Line ending problems:** +```bash +./pre_set.sh # Fixes line endings and permissions +# Or manually: +dos2unix *.sh +chmod +x *.sh ``` -git clone https://gitee.com/abacus_dft/LibComm -b MPI_Type_Contiguous_Pool -``` -or pull the newest master branch of LibComm + +#### Library Version Issues + +**LibTorch GLIBC errors:** +- Requires GLIBCXX_3.4.26 +- Change version from 2.1.2 to 1.12.1 +- Use `--package-version libtorch:alt` when calling toolchain +- Can combine with other packages using two writing styles: + - Multiple independent parameters: `--package-version libtorch:alt --package-version elpa:alt` + - Single parameter with multiple key-value pairs: `--package-version libtorch:alt elpa:alt` + +**DeepMD GLIBC errors:** +- Requires GCC ≥ 11.3.1 for GLIBCXX_3.4.29 +- Upgrade system GCC or use newer toolchain + +### Getting Help + +1. **Check logs**: Look in `build/PKG_NAME/make.log` for compilation errors +2. **Reduce parallelism**: Use `NPROCS_OVERWRITE=N` environment variable to limit parallel processes +3. **System libraries**: Use `--with-PKG=system` for system-installed packages +4. **Clean installation**: Remove `install/` and `build/` directories to restart +5. **Certificate issues**: Use `DOWNLOAD_CERT_POLICY=skip` for download problems + +## Advanced Usage + +### Package-Specific Options + +```bash +# Use Intel MKL instead of installing OpenBLAS +./toolchain_gnu.sh --with-mkl=system + +# Use system FFTW instead of installing +./toolchain_gnu.sh --with-fftw=system + +# Specify custom package installation path +./toolchain_gnu.sh --with-fftw=/path/to/custom/fftw ``` -git clone https://github.com/abacusmodeling/LibComm + +### Execution Mode Control + +```bash +# Test configuration without actual installation (recommended for first run) +./toolchain_gnu.sh --dry-run + +# Only download packages without building (useful for offline preparation) +./toolchain_gnu.sh --pack-run ``` -. yet another is switching to GCC-MPICH or Intel toolchain -- It is recommended to use Intel toolchain if one wants to include EXX feature in ABACUS, which can have much better performance and can use more than 16 threads in OpenMP parallelization to accelerate the EXX process. -#### OpenMPI-v5 +### Environment Variable Configuration + +The toolchain supports several environment variables for advanced configuration: + +#### Download Certificate Verification + +Control SSL/TLS certificate verification during package downloads: + +```bash +# Strict mode: Always verify certificates (secure) +export DOWNLOAD_CERT_POLICY=strict +./toolchain_gnu.sh + +# Smart mode: Try secure first, fallback if needed (default) +export DOWNLOAD_CERT_POLICY=smart # or leave unset +./toolchain_gnu.sh + +# Skip mode: Skip certificate verification (legacy compatibility) +export DOWNLOAD_CERT_POLICY=skip +./toolchain_gnu.sh +``` + +**Smart Mode Behavior**: The default `smart` mode first attempts secure downloads with certificate verification. If this fails (e.g., due to corporate firewalls or outdated certificates), it automatically falls back to skipping certificate verification while providing clear user feedback. + +#### Parallel Compilation Control + +Override the automatic CPU core detection for compilation: + +```bash +# Use 8 cores for compilation (useful for resource-limited systems) +export NPROCS_OVERWRITE=8 +./toolchain_gnu.sh + +# Use single core for debugging compilation issues +export NPROCS_OVERWRITE=1 +./toolchain_gnu.sh + +# Or specify inline +NPROCS_OVERWRITE=4 ./toolchain_gnu.sh --with-gcc --with-openmpi +``` + +**Use Cases**: +- **Resource-limited systems**: Reduce parallelism to avoid memory exhaustion +- **Shared servers**: Limit resource usage to be considerate of other users +- **CI/CD environments**: Match container resource limits +- **Debugging**: Use single-core compilation for clearer error messages + +### Legacy Script Options + +The deprecated `install_abacus_toolchain.sh` supports additional options: + +| Option | Description | Availability | +|--------|-------------|--------------| +| `--dry-run` | Test configuration without installation | ✅ New & Legacy | +| `--pack-run` | Download packages without building | ✅ New & Legacy | +| `--no-check-certificate` | Skip SSL certificate verification | ⚠️ Legacy only (use `DOWNLOAD_CERT_POLICY=skip`) | +| `-j N` | Limit parallel compilation processes | ⚠️ Legacy only (use `NPROCS_OVERWRITE=N`) | + +> **Migration Note**: The new toolchain system (`toolchain_*.sh` scripts) is recommended over the legacy `install_abacus_toolchain.sh`. Legacy options like `--no-check-certificate` and `-j N` are replaced by environment variables `DOWNLOAD_CERT_POLICY` and `NPROCS_OVERWRITE` respectively. + +### Environment Management + +The toolchain generates several setup files: + +- `install/setup`: Main environment setup +- `build/setup_PKG`: Individual package environments +- `abacus_env.sh`: ABACUS-specific environment (generated by build scripts) + +## Developer Guide + +### Toolchain Architecture + +The toolchain follows a modular design with staged dependency installation: + +``` +scripts/ +├── stage0/ # Compilers and build tools +├── stage1/ # MPI implementations +├── stage2/ # Math libraries (BLAS, LAPACK) +├── stage3/ # Scientific libraries (FFTW, LibXC, ELPA) +├── stage4/ # Advanced features (LibTorch, LibRI) +└── lib/ # Core toolchain libraries +``` + +### Key Components + +| File | Purpose | +|------|---------| +| `install_abacus_toolchain_new.sh` | Main orchestration script (new version) | +| `install_abacus_toolchain.sh` | Legacy main script (deprecated) | +| `toolchain_*.sh` | Frontend scripts for specific toolchains | +| `scripts/lib/config_manager.sh` | Configuration management | +| `scripts/lib/package_manager.sh` | Package installation logic | +| `scripts/lib/user_interface.sh` | User interaction and output | +| `scripts/common_vars.sh` | Shared variables and defaults | +| `scripts/tool_kit.sh` | Utility functions and macros | +| `scripts/parse_if.py` | Parser for IF_XYZ constructs | +| `checksums.sha256` | Pre-calculated SHA256 checksums for packages | + +### Script Structure Details + +**Individual Package Scripts**: Each `scripts/stage*/install_PKG.sh` script is relatively independent and should: + +1. **Generate setup files**: Write to both `build/setup_PKG` and `install/setup` + - `build/setup_PKG`: Variables for toolchain compilation and arch file flags + - `install/setup`: Environment setup for compiling/running ABACUS + +2. **Handle dependencies**: May depend on other libraries being installed with correct environment variables -OpenMPI in version 5 has huge update, lead to compatibility problem. If one wants to use the OpenMPI in version 4 (4.1.6), one can specify `--with-openmpi-4th=yes` in *toolchain_gnu.sh* +3. **Use toolkit macros**: Leverage functionality from `scripts/tool_kit.sh` for common operations +### Package Installation Scripts -### Shell problem +Each `scripts/stage*/install_PKG.sh` script: -If you encounter problem like: +1. **Downloads** the package (if not available locally) +2. **Configures** build with appropriate flags +3. **Compiles** with error handling and logging +4. **Installs** to the toolchain directory +5. **Generates** setup files for environment configuration + +### Configuration System + +#### Package Control Options (`--with-PKG`) + +The `--with-PKG` options control how a package is going to be installed: + +- `--with-PKG=install` (or `--with-PKG` alone): Compile and install from source downloaded (default) +- `--with-PKG=system`: Link to locations provided by system search paths +- `--with-PKG=/path/to/pkg`: Link to locations provided by the user (custom path) +- `--with-PKG=no`: Skip package installation entirely + +**System Search Paths**: When using `system` mode, the installation script searches in: +- `LD_LIBRARY_PATH`, `LD_RUN_PATH`, `LIBRARY_PATH` +- `/usr/local/lib64`, `/usr/local/lib`, `/usr/lib64`, `/usr/lib` +- For MKL libraries: `MKLROOT` environment variable + +**Troubleshooting System Libraries**: If `--with-PKG=system` cannot find the library: +1. Use `module show PKG` to see module-defined paths +2. Find the root installation directory manually +3. Use `--with-PKG=/path/to/pkg` to specify exact location + +#### Feature Control Options (`--enable-FEATURE`) + +The `--enable-FEATURE` options control whether optional features are enabled: + +- `--enable-FEATURE=yes` (or `--enable-FEATURE` alone): Enable the feature +- `--enable-FEATURE=no`: Disable the feature + +#### Mode Selection (`PKG_MODE` Variables) + +For packages serving the same purpose, mode variables act as selectors: + +- `--mpi-mode=openmpi|mpich|intelmpi`: Choose MPI implementation +- `--math-mode=openblas|mkl|aocl`: Choose math library + +**Note**: While `--with-PKG` controls the installation method, the `PKG_MODE` variable picks which package to actually use, providing maximum flexibility. + +### Adding New Packages + +1. **Create installation script**: `scripts/stageN/install_newpkg.sh` +2. **Add to stage script**: Include in `scripts/stageN/install_stageN.sh` +3. **Update configuration**: Add options to `config_manager.sh` +4. **Add version info**: Update `scripts/package_versions.sh` +5. **Test thoroughly**: Verify with different toolchain combinations + +### Advanced Developer Features + +#### The IF_XYZ Constructs + +The toolchain uses a special syntax construct for conditional compilation flags: + +```shell +IF_XYZ(A | B) +``` + +This construct is parsed by `scripts/parse_if.py`: +- Evaluates to *A* if *XYZ* is passed as command line option +- Evaluates to *B* if *XYZ* is not passed + +**Nested Constructs**: The `IF_XYZ(A|B)` construct can be nested: + +```shell +IF_XYZ(IF_ABC(flag1|flag2) | flag3) +``` + +This parses to: +- *flag1* if both *XYZ* and *ABC* are present +- *flag2* if only *XYZ* is present +- *flag3* if neither is present + +#### Portability Requirements + +**Compiler Flag Filtering**: Always pass compiler flags through compatibility filters: + +```shell +# Filter flags for GCC compatibility +CFLAGS="$(allowed_gcc_flags $CFLAGS)" +FCFLAGS="$(allowed_gfortran_flags $FCFLAGS)" +``` + +**IF_XYZ with Flag Filtering**: Since filters don't work with IF_XYZ constructs, break them down: ```shell -/bin/bash^M: bad interpreter: No such file or directory +# Instead of: FCFLAGS="IF_XYZ(flag1 flag2 | flag3 flag4)" +XYZ_TRUE_FLAGS="flag1 flag2" +XYZ_FALSE_FLAGS="flag3 flag4" +# Apply filtering +XYZ_TRUE_FLAGS="$(allowed_gcc_flags $XYZ_TRUE_FLAGS)" +XYZ_FALSE_FLAGS="$(allowed_gcc_flags $XYZ_FALSE_FLAGS)" +# Reconstruct +FCFLAGS="IF_XYZ($XYZ_TRUE_FLAGS | $XYZ_FALSE_FLAGS)" ``` -or `permission denied` problem, you can simply run: +**Fortran Module Checking**: Check intrinsic Fortran modules with: ```shell -./pre_set.sh +check_gfortran_module module_name ``` -And also, you can fix `permission denied` problem via `chmod +x` -if *pre_set.sh* have no execution permission; -if the *pre_set.sh* also have `/bin/bash^M` problem, you can run: +**Avoid Hard Coding**: Use common variables instead of hard-coded paths: ```shell -> dos2unix pre_set.sh +# Good practice +./configure --prefix=some_dir CC=${MPICC} FC=${MPIFC} +# Avoid +./configure --prefix=some_dir CC=mpicc FC=mpif90 ``` -to fix it +### Best Practices + +- **Reuse toolkit functions**: Use macros from `scripts/tool_kit.sh` +- **Modular functionality**: Add new functionality as macros in `scripts/tool_kit.sh` rather than inline code +- **Portable compiler flags**: Filter through `allowed_gcc_flags` and `allowed_gfortran_flags` +- **Environment variables**: Use `${VAR:-default}` pattern for configurable defaults +- **Lock files**: Create completion markers for resumable installation +- **Separate directories**: Install each package in its own directory +- **Error handling**: Provide clear error messages and recovery suggestions + +## License -### Libtorch and DeePKS problem +The ABACUS Toolchain downloads and installs only [GPL-compatible](https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean) packages. All included packages maintain their original licenses as listed in the Dependencies section above. -If deepks feature have problem, you can manually change libtorch version -from 2.1.2 to 2.0.1 or 1.12.0 in `toolchain/scripts/stage4/install_libtorch.sh`. +**License Compatibility**: All packages use GPL-compatible licenses including BSD, MIT, LGPL, MPL-2.0, and GPL variants, ensuring seamless integration with GPL-licensed software. -Also, you can install ABACUS without deepks by removing all the deepks and related options. +**Note**: Proprietary packages like Intel OneAPI (MKL/Compiler/MPI) and AMD AOCC/AOCL are supported but must be installed separately by the user. -NOTICE: if you want deepks feature, your intel-mkl environment should be accessible in building process. you can check it in `build_abacus_gnu.sh` +## Contributing -### DeePMD feature problem +We welcome contributions to improve the ABACUS Toolchain! Here's how you can help: -When you encounter problem like `GLIBCXX_3.4.29 not found`, it is sure that your `gcc` version is lower than the requirement of `libdeepmd`. +### Reporting Issues -After my test, you need `gcc`>11.3.1 to enable deepmd feature in ABACUS. +1. **Search existing issues** before creating new ones +2. **Provide detailed information**: + - Operating system and version + - Compiler versions + - Complete error messages and logs + - Steps to reproduce +### Contributing Code -## Advanced Installation Usage +1. **Fork the repository** and create a feature branch +2. **Follow coding standards**: + - Use consistent shell scripting style + - Add comments for complex logic + - Test with multiple toolchain combinations +3. **Update documentation** for new features +4. **Submit pull request** with clear description + +### Development Setup + +```bash +# Clone the repository +git clone https://github.com/deepmodeling/abacus-develop.git +cd abacus-develop/toolchain + +# Test your changes +./toolchain_gnu.sh --dry-run +``` -1. Users can move toolchain directory to anywhere you like, -and complete installation by change the setting in -`toolchain_*.sh` and `build_*.sh` by your own setting. -By moving toolchain out or rename it ,one can make toolchain independent -from ABACUS repo, make dependencies package more independent and flexible. -2. Users can manually change `pkg_install_dir` variable -in `scripts/stage*/install*` to change the installation directory -of each packages, which may let the installation more fiexible. +### Areas for Contribution +- 🔧 **New package support**: Add support for additional scientific libraries +- 🐛 **Bug fixes**: Resolve compatibility issues and installation problems +- 📚 **Documentation**: Improve guides and troubleshooting information +- 🧪 **Testing**: Expand test coverage for different systems and configurations +- 🚀 **Performance**: Optimize installation speed and resource usage -## More +--- -More infomation can be read from `Details.md`. +**For questions, issues, or contributions, please visit the [ABACUS GitHub repository](https://github.com/deepmodeling/abacus-develop).** diff --git a/toolchain/build_abacus_aocc-aocl.sh b/toolchain/build_abacus_aocc-aocl.sh index c06cdd1f4b..a586442421 100755 --- a/toolchain/build_abacus_aocc-aocl.sh +++ b/toolchain/build_abacus_aocc-aocl.sh @@ -1,13 +1,13 @@ -#!/bin/bash -#SBATCH -J build +#!/bin/bash -e +#SBATCH -J build_abacus_aocc-aocl #SBATCH -N 1 #SBATCH -n 16 #SBATCH -o install.log #SBATCH -e install.err -# JamesMisaka in 2025.03.09 -# Build ABACUS by amd-openmpi toolchain +# Build ABACUS by aocc-aocl toolchain +# load aocc-aocl env at first # module load openmpi aocc aocl ABACUS_DIR=.. @@ -16,25 +16,27 @@ INSTALL_DIR=$TOOL/install source $INSTALL_DIR/setup cd $ABACUS_DIR ABACUS_DIR=$(pwd) -#AOCLhome=/opt/aocl-linux-aocc-5.0.0/5.0.0/aocl/ # user should specify this parameter +#AOCLhome=/opt/aocl-linux-aocc-5.0.0/5.0.0/aocl/ # user should specify this parameter to the aocl installation path -BUILD_DIR=build_abacus_aocl +BUILD_DIR=build_abacus_aocc_aocl rm -rf $BUILD_DIR PREFIX=$ABACUS_DIR -ELPA=$INSTALL_DIR/elpa-2025.01.001/cpu -# ELPA=$INSTALL_DIR/elpa-2025.01.001/nvidia # for gpu-lcao +ELPA=$INSTALL_DIR/elpa-2025.06.001/cpu +# ELPA=$INSTALL_DIR/elpa-2025.06.001/nvidia # for elpa-gpu CEREAL=$INSTALL_DIR/cereal-master/include/cereal LIBXC=$INSTALL_DIR/libxc-7.0.0 -RAPIDJSON=$INSTALL_DIR/rapidjson-master/ +RAPIDJSON=$INSTALL_DIR/rapidjson-master LAPACK=$AOCLhome/lib SCALAPACK=$AOCLhome/lib FFTW3=$AOCLhome -# LIBRI=$INSTALL_DIR/LibRI-0.2.1.0 -# LIBCOMM=$INSTALL_DIR/LibComm-master +LIBRI=$INSTALL_DIR/LibRI-master +LIBCOMM=$INSTALL_DIR/LibComm-master +USE_CUDA=OFF # set ON to enable gpu-abacus +# NEP_DIR=$INSTALL_DIR/NEP_CPU-main # LIBTORCH=$INSTALL_DIR/libtorch-2.1.2/share/cmake/Torch # LIBNPY=$INSTALL_DIR/libnpy-1.0.1/include -# DEEPMD=$HOME/apps/anaconda3/envs/deepmd # v3.0 might have problem +# DEEPMD=$HOME/apps/anaconda3/envs/deepmd # if clang++ have problem, switch back to g++ @@ -53,19 +55,19 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DUSE_ELPA=ON \ -DENABLE_RAPIDJSON=ON \ -DRapidJSON_DIR=$RAPIDJSON \ -# -DENABLE_DEEPKS=1 \ + -DENABLE_LIBRI=ON \ + -DLIBRI_DIR=$LIBRI \ + -DLIBCOMM_DIR=$LIBCOMM \ + -DUSE_CUDA=$USE_CUDA \ +# -DCMAKE_CUDA_COMPILER=/path/to/cuda/bin/nvcc \ +# -DNEP_DIR=$NEP_DIR \ +# -DENABLE_MLALGO=1 \ # -DTorch_DIR=$LIBTORCH \ # -Dlibnpy_INCLUDE_DIR=$LIBNPY \ -# -DENABLE_LIBRI=ON \ -# -DLIBRI_DIR=$LIBRI \ -# -DLIBCOMM_DIR=$LIBCOMM \ # -DDeePMD_DIR=$DEEPMD \ -# -DUSE_CUDA=ON \ # -DENABLE_CUSOLVERMP=ON \ # -D CAL_CUSOLVERMP_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/2x.xx/math_libs/1x.x/targets/x86_64-linux/lib -# if one want's to include deepmd, your system gcc version should be >= 11.3.0 for glibc requirements - cmake --build $BUILD_DIR -j `nproc` cmake --install $BUILD_DIR 2>/dev/null @@ -82,5 +84,4 @@ cat << EOF Done! To use the installed ABACUS version You need to source ${TOOL}/abacus_env.sh first ! -""" EOF \ No newline at end of file diff --git a/toolchain/build_abacus_gcc-aocl.sh b/toolchain/build_abacus_gcc-aocl.sh index acf5942143..65e2491ee9 100755 --- a/toolchain/build_abacus_gcc-aocl.sh +++ b/toolchain/build_abacus_gcc-aocl.sh @@ -1,13 +1,13 @@ -#!/bin/bash -#SBATCH -J build +#!/bin/bash -e +#SBATCH -J build_abacus_aocl #SBATCH -N 1 #SBATCH -n 16 #SBATCH -o install.log #SBATCH -e install.err -# JamesMisaka in 2025.03.09 -# Build ABACUS by amd-openmpi toolchain +# Build ABACUS by gcc-aocl toolchain +# load system env modules at first # module load openmpi aocc aocl ABACUS_DIR=.. @@ -16,25 +16,27 @@ INSTALL_DIR=$TOOL/install source $INSTALL_DIR/setup cd $ABACUS_DIR ABACUS_DIR=$(pwd) -#AOCLhome=/opt/aocl-linux-aocc-5.0.0/5.0.0/aocl/ # user should specify this parameter +#AOCLhome=/opt/aocl-linux-aocc-5.0.0/5.0.0/aocl/ # user should specify this parameter to the aocl installation path -BUILD_DIR=build_abacus_aocl +BUILD_DIR=build_abacus_gcc_aocl rm -rf $BUILD_DIR PREFIX=$ABACUS_DIR -ELPA=$INSTALL_DIR/elpa-2025.01.001/cpu -# ELPA=$INSTALL_DIR/elpa-2025.01.001/nvidia # for gpu-lcao +ELPA=$INSTALL_DIR/elpa-2025.06.001/cpu +# ELPA=$INSTALL_DIR/elpa-2025.06.001/nvidia # for elpa-gpu CEREAL=$INSTALL_DIR/cereal-master/include/cereal LIBXC=$INSTALL_DIR/libxc-7.0.0 -RAPIDJSON=$INSTALL_DIR/rapidjson-master/ +RAPIDJSON=$INSTALL_DIR/rapidjson-master LAPACK=$AOCLhome/lib SCALAPACK=$AOCLhome/lib FFTW3=$AOCLhome -# LIBRI=$INSTALL_DIR/LibRI-0.2.1.0 -# LIBCOMM=$INSTALL_DIR/LibComm-master +LIBRI=$INSTALL_DIR/LibRI-master +LIBCOMM=$INSTALL_DIR/LibComm-master +USE_CUDA=OFF # set ON to enable gpu-abacus +# NEP_DIR=$INSTALL_DIR/NEP_CPU-main # LIBTORCH=$INSTALL_DIR/libtorch-2.1.2/share/cmake/Torch # LIBNPY=$INSTALL_DIR/libnpy-1.0.1/include -# DEEPMD=$HOME/apps/anaconda3/envs/deepmd # v3.0 might have problem +# DEEPMD=$HOME/apps/anaconda3/envs/deepmd cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DCMAKE_CXX_COMPILER=g++ \ @@ -51,19 +53,19 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DUSE_ELPA=ON \ -DENABLE_RAPIDJSON=ON \ -DRapidJSON_DIR=$RAPIDJSON \ -# -DENABLE_DEEPKS=1 \ + -DENABLE_LIBRI=ON \ + -DLIBRI_DIR=$LIBRI \ + -DLIBCOMM_DIR=$LIBCOMM \ + -DUSE_CUDA=$USE_CUDA \ +# -DCMAKE_CUDA_COMPILER=/path/to/cuda/bin/nvcc \ +# -DNEP_DIR=$NEP_DIR \ +# -DENABLE_MLALGO=1 \ # -DTorch_DIR=$LIBTORCH \ # -Dlibnpy_INCLUDE_DIR=$LIBNPY \ -# -DENABLE_LIBRI=ON \ -# -DLIBRI_DIR=$LIBRI \ -# -DLIBCOMM_DIR=$LIBCOMM \ # -DDeePMD_DIR=$DEEPMD \ -# -DUSE_CUDA=ON \ # -DENABLE_CUSOLVERMP=ON \ # -D CAL_CUSOLVERMP_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/2x.xx/math_libs/1x.x/targets/x86_64-linux/lib -# if one want's to include deepmd, your system gcc version should be >= 11.3.0 for glibc requirements - cmake --build $BUILD_DIR -j `nproc` cmake --install $BUILD_DIR 2>/dev/null @@ -80,5 +82,4 @@ cat << EOF Done! To use the installed ABACUS version You need to source ${TOOL}/abacus_env.sh first ! -""" EOF \ No newline at end of file diff --git a/toolchain/build_abacus_gnu.sh b/toolchain/build_abacus_gnu.sh index 1cb6dbf14c..37f5603f6e 100755 --- a/toolchain/build_abacus_gnu.sh +++ b/toolchain/build_abacus_gnu.sh @@ -1,14 +1,13 @@ -#!/bin/bash -#SBATCH -J build +#!/bin/bash -e +#SBATCH -J build_abacus_gnu #SBATCH -N 1 #SBATCH -n 16 #SBATCH -o install.log #SBATCH -e install.err -# JamesMisaka in 2025.03.09 # Build ABACUS by gnu-toolchain -# module load openmpi +# load system env modules at first ABACUS_DIR=.. TOOL=$(pwd) @@ -21,19 +20,21 @@ BUILD_DIR=build_abacus_gnu rm -rf $BUILD_DIR PREFIX=$ABACUS_DIR -LAPACK=$INSTALL_DIR/openblas-0.3.29/lib +LAPACK=$INSTALL_DIR/openblas-0.3.30/lib SCALAPACK=$INSTALL_DIR/scalapack-2.2.2/lib -ELPA=$INSTALL_DIR/elpa-2025.01.001/cpu -# ELPA=$INSTALL_DIR/elpa-2025.01.001/nvidia # for gpu-lcao +ELPA=$INSTALL_DIR/elpa-2025.06.001/cpu +# ELPA=$INSTALL_DIR/elpa-2025.06.001/nvidia # for elpa-gpu FFTW3=$INSTALL_DIR/fftw-3.3.10 CEREAL=$INSTALL_DIR/cereal-master/include/cereal LIBXC=$INSTALL_DIR/libxc-7.0.0 RAPIDJSON=$INSTALL_DIR/rapidjson-master/ -# LIBRI=$INSTALL_DIR/LibRI-0.2.1.0 -# LIBCOMM=$INSTALL_DIR/LibComm-master +LIBRI=$INSTALL_DIR/LibRI-master +LIBCOMM=$INSTALL_DIR/LibComm-master +USE_CUDA=OFF # set ON to enable gpu-abacus +# NEP_DIR=$INSTALL_DIR/NEP_CPU-main # LIBTORCH=$INSTALL_DIR/libtorch-2.1.2/share/cmake/Torch # LIBNPY=$INSTALL_DIR/libnpy-1.0.1/include -# DEEPMD=$HOME/apps/anaconda3/envs/deepmd # v3.0 might have problem +# DEEPMD=$HOME/apps/anaconda3/envs/deepmd # cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DCMAKE_CXX_COMPILER=g++ \ @@ -50,24 +51,19 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DUSE_ELPA=ON \ -DENABLE_RAPIDJSON=ON \ -DRapidJSON_DIR=$RAPIDJSON \ -# -DENABLE_DEEPKS=1 \ + -DENABLE_LIBRI=ON \ + -DLIBRI_DIR=$LIBRI \ + -DLIBCOMM_DIR=$LIBCOMM \ + -DUSE_CUDA=$USE_CUDA \ +# -DCMAKE_CUDA_COMPILER=/path/to/cuda/bin/nvcc \ +# -DNEP_DIR=$NEP_DIR \ +# -DENABLE_MLALGO=1 \ # -DTorch_DIR=$LIBTORCH \ # -Dlibnpy_INCLUDE_DIR=$LIBNPY \ -# -DENABLE_LIBRI=ON \ -# -DLIBRI_DIR=$LIBRI \ -# -DLIBCOMM_DIR=$LIBCOMM \ # -DDeePMD_DIR=$DEEPMD \ -# -DUSE_CUDA=ON \ # -DENABLE_CUSOLVERMP=ON \ # -D CAL_CUSOLVERMP_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/2x.xx/math_libs/1x.x/targets/x86_64-linux/lib -# # add mkl env for libtorch to link -# if one want to install libtorch, mkl should be load in build process -# for -lmkl when load libtorch -# module load mkl - -# if one want's to include deepmd, your system gcc version should be >= 11.3.0 for glibc requirements - cmake --build $BUILD_DIR -j `nproc` cmake --install $BUILD_DIR 2>/dev/null @@ -84,5 +80,4 @@ cat << EOF Done! To use the installed ABACUS version You need to source ${TOOL}/abacus_env.sh first ! -""" EOF diff --git a/toolchain/build_abacus_intel.sh b/toolchain/build_abacus_intel.sh index b54bf6f6ad..c347b623a1 100755 --- a/toolchain/build_abacus_intel.sh +++ b/toolchain/build_abacus_intel.sh @@ -1,13 +1,13 @@ -#!/bin/bash -#SBATCH -J build +#!/bin/bash -e +#SBATCH -J build_abacus_intel #SBATCH -N 1 #SBATCH -n 16 #SBATCH -o install.log #SBATCH -e install.err -# JamesMisaka in 2025.03.09 # Build ABACUS by intel-toolchain +# load intel-oneapi env at first # module load mkl compiler mpi # source path/to/setvars.sh @@ -22,18 +22,20 @@ BUILD_DIR=build_abacus_intel rm -rf $BUILD_DIR PREFIX=$ABACUS_DIR -ELPA=$INSTALL_DIR/elpa-2025.01.001/cpu -# ELPA=$INSTALL_DIR/elpa-2025.01.001/nvidia # for gpu-lcao -CEREAL=$INSTALL_DIR/cereal-master/include/cereal +ELPA=$INSTALL_DIR/elpa-2024.05.001/cpu +# ELPA=$INSTALL_DIR/elpa-2024.05.001/nvidia # for gpu-lcao +CEREAL=$INSTALL_DIR/cereal-master/include LIBXC=$INSTALL_DIR/libxc-7.0.0 -RAPIDJSON=$INSTALL_DIR/rapidjson-master/ +RAPIDJSON=$INSTALL_DIR/rapidjson-master +LIBRI=$INSTALL_DIR/LibRI-master +LIBCOMM=$INSTALL_DIR/LibComm-master +USE_CUDA=OFF # set ON to enable gpu-abacus +# NEP_DIR=$INSTALL_DIR/NEP_CPU-main # LIBTORCH=$INSTALL_DIR/libtorch-2.1.2/share/cmake/Torch # LIBNPY=$INSTALL_DIR/libnpy-1.0.1/include -# LIBRI=$INSTALL_DIR/LibRI-0.2.1.0 -# LIBCOMM=$INSTALL_DIR/LibComm-master # DEEPMD=$HOME/apps/anaconda3/envs/deepmd # v3.0 might have problem -# Notice: if you are compiling with AMD-CPU or GPU-version ABACUS, then `icpc` and `mpiicpc` compilers are recommended +# Notice: if you are compiling with AMD-CPU or GPU-version ABACUS, then `icpc` and `mpiicpc` compilers are needed cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DCMAKE_CXX_COMPILER=icpx \ -DMPI_CXX_COMPILER=mpiicpx \ @@ -47,22 +49,22 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DUSE_ELPA=ON \ -DENABLE_RAPIDJSON=ON \ -DRapidJSON_DIR=$RAPIDJSON \ -# -DENABLE_DEEPKS=1 \ + -DENABLE_LIBRI=ON \ + -DLIBRI_DIR=$LIBRI \ + -DLIBCOMM_DIR=$LIBCOMM \ + -DUSE_CUDA=$USE_CUDA \ +# -DCMAKE_CUDA_COMPILER=/path/to/cuda/bin/nvcc \ +# -DNEP_DIR=$NEP_DIR \ +# -DENABLE_MLALGO=1 \ # -DTorch_DIR=$LIBTORCH \ # -Dlibnpy_INCLUDE_DIR=$LIBNPY \ -# -DENABLE_LIBRI=ON \ -# -DLIBRI_DIR=$LIBRI \ -# -DLIBCOMM_DIR=$LIBCOMM \ # -DDeePMD_DIR=$DEEPMD \ -# -DUSE_CUDA=ON \ # -DENABLE_CUSOLVERMP=ON \ # -D CAL_CUSOLVERMP_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/2x.xx/math_libs/1x.x/targets/x86_64-linux/lib cmake --build $BUILD_DIR -j `nproc` cmake --install $BUILD_DIR 2>/dev/null -# if one want's to include deepmd, your system gcc version should be >= 11.3.0 for glibc requirements - # generate abacus_env.sh cat << EOF > "${TOOL}/abacus_env.sh" #!/bin/bash @@ -76,5 +78,4 @@ cat << EOF Done! To use the installed ABACUS version You need to source ${TOOL}/abacus_env.sh first ! -""" EOF diff --git a/toolchain/install_abacus_toolchain.sh b/toolchain/install_abacus_toolchain.sh index 92dad2a761..19fe2328ab 100755 --- a/toolchain/install_abacus_toolchain.sh +++ b/toolchain/install_abacus_toolchain.sh @@ -1,30 +1,11 @@ #!/bin/bash -e -# TODO: Review and if possible fix shellcheck errors. +# TODO: Remove this deprecated script in the future. # shellcheck disable=all [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")" && pwd -P)" -# +---------------------------------------------------------------------------+ -# | ABACUS: (Atomic-orbital Based Ab-initio Computation at UStc) | -# | -- an open-source package based on density functional theory(DFT) | -# | Copyright 2004-2022 ABACUS developers group | -# | | -# | | -# | SPDX-License-Identifier: GPL-2.0-or-later | -# +---------------------------------------------------------------------------+ -# -# -# ***************************************************************************** -#> \brief This script will compile and install or link existing tools and -#> libraries ABACUS depends on and generate setup files that -#> can be used to compile and use ABACUS -#> \history Created on Friday, 2023/08/18 -# Update for Intel (18.08.2023, MK) -#> \author Zhaoqing Liu (Quantum Misaka) quanmisaka@stu.pku.edu.cn -# ***************************************************************************** - # ------------------------------------------------------------------------ # Work directories and used files # ------------------------------------------------------------------------ @@ -40,6 +21,29 @@ export SHA256_CHECKSUM="${SCRIPTDIR}/checksums.sha256" # ------------------------------------------------------------------------ TOOLCHAIN_OPTIONS="$@" +# ------------------------------------------------------------------------ +# DEPRECATED WARNING +# ------------------------------------------------------------------------ +echo "" +echo -e "\033[1;31m╔══════════════════════════════════════════════════════════════════════════════╗\033[0m" +echo -e "\033[1;31m║ [DEPRECATED] ║\033[0m" +echo -e "\033[1;31m║ ║\033[0m" +echo -e "\033[1;33m║ This script (install_abacus_toolchain.sh) will be deprecated soon. ║\033[0m" +echo -e "\033[1;33m║ ║\033[0m" +echo -e "\033[1;32m║ Please migrate to the refactored version: ║\033[0m" +echo -e "\033[1;32m║ → install_abacus_toolchain_new.sh ║\033[0m" +echo -e "\033[1;32m║ ║\033[0m" +echo -e "\033[1;36m║ Migration Guide: ║\033[0m" +echo -e "\033[1;36m║ • Use toolchain_*.sh frontend scripts for easier configuration ║\033[0m" +echo -e "\033[1;36m║ • New version supports main/alt package version switch ║\033[0m" +echo -e "\033[1;36m║ • Improved parameter handling and error reporting ║\033[0m" +echo -e "\033[1;31m║ ║\033[0m" +echo -e "\033[1;31m╚══════════════════════════════════════════════════════════════════════════════╝\033[0m" +echo "" +echo -e "\033[1;33mContinuing with legacy script in 3 seconds...\033[0m" +sleep 3 +echo "" + # ------------------------------------------------------------------------ # Load common variables and tools # ------------------------------------------------------------------------ @@ -106,8 +110,7 @@ OPTIONS: or --with-openblas options will switch --math-mode to the respective modes. --gpu-ver Selects the GPU architecture for which to compile. Available - options are: K20X, K40, K80, P100, V100, Mi50, Mi100, Mi250, - and no. + options: CUDA architecture number (7.5 / 75, 8.0 / 80, etc) or no This setting determines the value of nvcc's '-arch' flag. Default = no. --log-lines Number of log file lines dumped in case of a non-zero exit code. @@ -211,6 +214,8 @@ The --with-PKG options follow the rules: Default = no --with-libcomm Enable LibComm for higher-level methods like hybrid functionals, RPA or GW Default = no + --with-nep Enable NEP (CPU version) for machine learning potentials + Default = no FURTHER INSTRUCTIONS @@ -246,7 +251,7 @@ EOF tool_list="gcc intel amd cmake" mpi_list="mpich openmpi intelmpi" math_list="mkl aocl openblas" -lib_list="fftw libxc scalapack elpa cereal rapidjson libtorch libnpy libri libcomm" +lib_list="fftw libxc scalapack elpa cereal rapidjson libtorch libnpy libri libcomm nep" package_list="${tool_list} ${mpi_list} ${math_list} ${lib_list}" # ------------------------------------------------------------------------ @@ -266,19 +271,8 @@ with_gcc="__SYSTEM__" with_fftw="__INSTALL__" with_libxc="__INSTALL__" with_scalapack="__INSTALL__" -# default math library settings, MATH_MODE picks the math library -# to use, and with_* defines the default method of installation if it -# is picked. For non-CRAY systems defaults to mkl if $MKLROOT is -# available, otherwise defaults to openblas -if [ "${MKLROOT}" ]; then - export MATH_MODE="mkl" - with_mkl="__SYSTEM__" -elif [ "${AOCLhome}" ]; then - export MATH_MODE="aocl" - with_aocl="__SYSTEM__" -else - export MATH_MODE="openblas" -fi +# default math library setting: openblas +export MATH_MODE="openblas" with_openblas="__INSTALL__" with_elpa="__INSTALL__" with_cereal="__INSTALL__" @@ -596,6 +590,9 @@ while [ $# -ge 1 ]; do --with-libcomm*) with_libcomm=$(read_with "${1}") ;; + --with-nep*) + with_nep=$(read_with "${1}") + ;; --help*) show_help exit 0 @@ -868,7 +865,7 @@ for ii in ${package_list}; do done # ------------------------------------------------------------------------ -# Build packages unless dry-run mode is enabled. +# Build packages unless dry-run or pack-run mode is enabled. # ------------------------------------------------------------------------ if [ "${dry_run}" = "__TRUE__" ]; then echo "Wrote only configuration files (--dry-run)." diff --git a/toolchain/install_abacus_toolchain_new.sh b/toolchain/install_abacus_toolchain_new.sh new file mode 100755 index 0000000000..c16aaf30e8 --- /dev/null +++ b/toolchain/install_abacus_toolchain_new.sh @@ -0,0 +1,223 @@ +#!/bin/bash -e + +# ============================================================================ +# ABACUS Toolchain Installation Script (New refractored version) +# ============================================================================ +# This is the new refactored version of the ABACUS toolchain installation script. +# It provides the most main functionality as the original script but with +# improved modularity, maintainability, extensibility, and beautiful terminal output. +# +# Author: Quantum Misaka by Trae SOLO +# Date: 2025-10-16 +# ============================================================================ + +# Set script name for error reporting +[ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 + +# Set directory variables +export ROOTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +export SCRIPTDIR="${ROOTDIR}/scripts" +export BUILDDIR="${ROOTDIR}/build" +export INSTALLDIR="${ROOTDIR}/install" +export SETUPFILE="${INSTALLDIR}/setup" +export SHA256_CHECKSUM="${SCRIPTDIR}/checksums.sha256" + +# Make a copy of all options for $SETUPFILE +TOOLCHAIN_OPTIONS="$@" + +# Source required modules +source "${SCRIPTDIR}/tool_kit.sh" +source "${SCRIPTDIR}/lib/error_handler.sh" +source "${SCRIPTDIR}/lib/config_manager.sh" +source "${SCRIPTDIR}/lib/version_helper.sh" +source "${SCRIPTDIR}/lib/package_manager.sh" +source "${SCRIPTDIR}/lib/user_interface.sh" +source "${SCRIPTDIR}/lib/config_validator.sh" + +# Initialize modules +version_helper_init +ui_init +ui_setup_signals + +# Show help function +show_help() { + ui_show_help +} + +# Main function +main() { + local args=("$@") + + # Initialize configuration with command line arguments + if ! config_init "${args[@]}"; then + show_help + exit 0 + fi + + # Handle special version-related requests + if [[ "$(config_get show_version)" == "__TRUE__" ]]; then + version_show_available + exit 0 + fi + + local version_info_request="$(config_get show_version_info)" + if [[ -n "$version_info_request" ]]; then + if [[ "$version_info_request" == "all" ]]; then + version_show_available + else + version_show_available "$version_info_request" + fi + exit 0 + fi + + if [[ "$(config_get show_help)" == "__TRUE__" ]]; then + show_help + version_show_help + exit 0 + fi + + # Show beautiful welcome banner (only when actually running installation) + ui_welcome_banner + + # Show configuration summary with enhanced styling + if [[ "$(config_get dry_run)" == "__TRUE__" ]]; then + ui_section "Dry Run Mode" + ui_warning "Configuration will be written but no packages will be installed" + echo "" + fi + + if [[ "$(config_get PACK_RUN)" == "__TRUE__" ]]; then + ui_section "Pack Run Mode" + ui_info "Only downloading packages, skipping installation" + echo "" + fi + + # Show version configuration + version_show_current + + # Show enhanced summary + ui_show_summary + + # Validate version configuration + if ! version_validate_config; then + echo "" + ui_warning "Some version configuration issues were detected" + ui_info "Please review the warnings above" + echo "" + fi + + # Run configuration validation unless skipped + if ! should_skip_validation; then + echo "" + ui_section "System Validation" + if ! validate_configuration; then + echo "" + report_error $LINENO "Configuration validation failed with errors" "CONFIG_ERROR" + ui_error "Please fix the configuration issues above and try again" + ui_info "You can skip validation with --skip-system-checks if needed" + exit 1 + fi + ui_success "System validation completed successfully" + fi + + # Skip user confirmation - proceed directly with installation + + # Export configuration to environment variables + config_export_to_env + + # Export version configuration for stage scripts + package_export_version_config + + # Preliminaries + ui_section "Preparing Installation Environment" + ui_info "Creating installation directories..." + mkdir -p ${INSTALLDIR} + + # Start writing setup file + ui_info "Generating setup configuration..." + cat << EOF > "$SETUPFILE" +#!/bin/bash +source "${SCRIPTDIR}/tool_kit.sh" +export ABACUS_TOOLCHAIN_OPTIONS="${TOOLCHAIN_OPTIONS}" +EOF + + ui_info "Compiling with $(get_nprocs) processes for target ${TARGET_CPU}" + + write_toolchain_env ${INSTALLDIR} + + # write toolchain config + ui_info "Writing toolchain configuration..." + echo "tool_list=\"${tool_list}\"" > ${INSTALLDIR}/toolchain.conf + for ii in ${package_list}; do + install_mode="$(eval echo \${with_${ii}})" + echo "with_${ii}=\"${install_mode}\"" >> ${INSTALLDIR}/toolchain.conf + done + + # Exit if dry run + if [[ "$(config_get dry_run)" == "__TRUE__" ]]; then + ui_success "Configuration files generated successfully (dry-run mode)" + ui_info "To proceed with actual installation, run without --dry-run" + exit 0 + fi + + # Build packages (following original toolchain logic) + ui_section "Starting Package Installation" + ui_info "Initializing build environment..." + echo "# Leak suppressions" > ${INSTALLDIR}/lsan.supp + + # Install packages stage by stage with enhanced progress display + ui_stage_progress "0" "Build Tools & Compilers" + ./scripts/stage0/install_stage0.sh + + ui_stage_progress "1" "MPI Implementations" + ./scripts/stage1/install_stage1.sh + + ui_stage_progress "2" "Mathematical Libraries" + ./scripts/stage2/install_stage2.sh + + ui_stage_progress "3" "Scientific Computing Libraries" + ./scripts/stage3/install_stage3.sh + + ui_stage_progress "4" "Advanced Feature Libraries" + ./scripts/stage4/install_stage4.sh + + # Show beautiful completion message + ui_section "Installation Complete" + ui_success "ABACUS Toolchain installation completed successfully!" + echo "" + + # Enhanced usage instructions with beautiful formatting + ui_print_color "${UI_BLUE}${UI_BOLD}" "🎉 Congratulations! Your ABACUS toolchain installation finished successfully." + echo "" + ui_print_color "${UI_CYAN}${UI_BOLD}" "$(printf '═%.0s' $(seq 1 60))" + ui_print_color "${UI_BLUE}${UI_BOLD}" " USAGE INSTRUCTIONS" + ui_print_color "${UI_CYAN}${UI_BOLD}" "$(printf '═%.0s' $(seq 1 60))" + echo "" + + ui_print_color "${UI_GREEN}${UI_BOLD}" "🔧 To activate the toolchain environment:" + ui_print_color "${UI_WHITE}" " source ${SETUPFILE}" + echo "" + + ui_print_color "${UI_GREEN}${UI_BOLD}" "🚀 Build ABACUS with your preferred toolchain:" + ui_print_color "${UI_WHITE}" " ./build_abacus_gnu.sh # GNU toolchain (GCC + OpenBLAS)" + ui_print_color "${UI_WHITE}" " ./build_abacus_intel.sh # Intel toolchain (ICC + MKL)" + ui_print_color "${UI_WHITE}" " ./build_abacus_gcc-aocl.sh # AMD GCC + AOCL" + ui_print_color "${UI_WHITE}" " ./build_abacus_aocc-aocl.sh # AMD AOCC + AOCL" + echo "" + + ui_print_color "${UI_ORANGE}${UI_BOLD}" "💡 Pro Tips:" + ui_print_color "${UI_GRAY}" " • Modify the builder scripts to suit your specific needs" + ui_print_color "${UI_GRAY}" " • The environment setup is required for each new shell session" + ui_print_color "${UI_GRAY}" " • Check the generated setup file for all available environment variables" + echo "" + + ui_print_color "${UI_CYAN}${UI_BOLD}" "$(printf '═%.0s' $(seq 1 60))" + ui_print_color "${UI_GREEN}${UI_BOLD}" "✨ Happy DFT calculation with ABACUS! ✨" + ui_print_color "${UI_CYAN}${UI_BOLD}" "$(printf '═%.0s' $(seq 1 60))" + echo "" + + return 0 +} + +# Run main function with all arguments +main "$@" \ No newline at end of file diff --git a/toolchain/scripts/VERSION b/toolchain/scripts/VERSION index e94549a66e..6f4471799a 100644 --- a/toolchain/scripts/VERSION +++ b/toolchain/scripts/VERSION @@ -1,2 +1,2 @@ # version file to force a rebuild of the entire toolchain -VERSION="2025.2" \ No newline at end of file +VERSION="2025.3" \ No newline at end of file diff --git a/toolchain/scripts/common_vars.sh b/toolchain/scripts/common_vars.sh index 51f941f6fe..fd003555c3 100755 --- a/toolchain/scripts/common_vars.sh +++ b/toolchain/scripts/common_vars.sh @@ -14,7 +14,7 @@ ARCH_FILE_TEMPLATE=${ARCH_FILE_TEMPLATE:-"${SCRIPTDIR}/arch_base.tmpl"} VERSION_FILE=${VERSION_FILE:-"${SCRIPTDIR}/VERSION"} # system arch gotten from OpenBLAS prebuild -OPENBLAS_ARCH=${OPENBLAS_ARCH:-"x86_64"} +OPENBLAS_ARCH=${OPENBLAS_ARCH:-''} OPENBLAS_LIBCORE=${OPENBLAS_LIBCORE:-''} # search paths @@ -31,4 +31,10 @@ ENABLE_CRAY=${ENABLE_CRAY:-"__FALSE__"} MPI_MODE=${MPI_MODE:-openmpi} MATH_MODE=${MATH_MODE:-openblas} +# default for log file dump size +export LOG_LINES="200" + +# download configuration +DOWNLOAD_CERT_POLICY=${DOWNLOAD_CERT_POLICY:-"smart"} # strict|smart|skip + export NVCC=${NVCC:-nvcc} diff --git a/toolchain/scripts/get_openblas_arch.sh b/toolchain/scripts/get_openblas_arch.sh index f0fb8b1aa8..6f61db4612 100755 --- a/toolchain/scripts/get_openblas_arch.sh +++ b/toolchain/scripts/get_openblas_arch.sh @@ -3,57 +3,72 @@ # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all -# Last Update in 2024-0811 - [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")" && pwd -P)" -openblas_ver="0.3.29" # Keep in sync with install_openblas.sh -openblas_sha256="38240eee1b29e2bde47ebb5d61160207dc68668a54cac62c076bb5032013b1eb" +# Load centralized version management +source "${SCRIPT_DIR}"/package_versions.sh + +# Load OpenBLAS package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "openblas:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "openblas:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "openblas" "$version_suffix" openblas_pkg="OpenBLAS-${openblas_ver}.tar.gz" +find_openblas_dir() { + local __dir='' + for __dir in *OpenBLAS*; do + if [ -d "$__dir" ]; then + echo "$__dir" + return + fi + done + echo '' +} + source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env -find_openblas_dir() { - local __dir='' - for __dir in *OpenBLAS*; do - if [ -d "$__dir" ]; then - echo "$__dir" - return 0 - fi - done - echo '' -} - ! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" echo "==================== Getting proc arch info using OpenBLAS tools ====================" -# find existing openblas source dir -openblas_dir="$(find_openblas_dir)" -# if cannot find openblas source dir, try download one -if ! [ "$openblas_dir" ]; then - if [ -f ${openblas_pkg} ]; then +if [ -f ${openblas_pkg} ]; then echo "${openblas_pkg} is found" - else - #download_pkg_from_ABACUS_org "${openblas_sha256}" "${openblas_pkg}" - # using codeload.github +else +# using codeload.github url="https://codeload.github.com/OpenMathLib/OpenBLAS/tar.gz/v${openblas_ver}" download_pkg_from_url "${openblas_sha256}" "${openblas_pkg}" "${url}" - fi - tar -xzf ${openblas_pkg} - openblas_dir="$(find_openblas_dir)" fi +# if toolchain run in pack-run mode, do exit +if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip arch detection" + exit 0 +fi +tar -xzf ${openblas_pkg} +openblas_dir="$(find_openblas_dir)" openblas_conf="${openblas_dir}/Makefile.conf" # try find Makefile.config, if not then generate one with make lapack_prebuild if ! [ -f "$openblas_conf" ]; then - cd "$openblas_dir" - make lapack_prebuild - cd .. + cd "$openblas_dir" + make lapack_prebuild + cd .. fi OPENBLAS_LIBCORE="$(grep 'LIBCORE=' $openblas_conf | cut -f2 -d=)" OPENBLAS_ARCH="$(grep 'ARCH=' $openblas_conf | cut -f2 -d=)" diff --git a/toolchain/scripts/lib/config_manager.sh b/toolchain/scripts/lib/config_manager.sh new file mode 100644 index 0000000000..6d67bf0261 --- /dev/null +++ b/toolchain/scripts/lib/config_manager.sh @@ -0,0 +1,1245 @@ +#!/bin/bash + +# ============================================================================ +# ABACUS Toolchain Configuration Manager +# ============================================================================ +# Handles configuration parsing, validation, and management +# Author: Quantum Misaka by Trae SOLO +# Date: 2025-10-16 +# ============================================================================ + +# Global configuration variables +declare -A CONFIG_CACHE +declare -A USER_EXPLICIT_MPI +declare -A USER_EXPLICIT_MATH +CONFIG_INITIALIZED=false +CONFIG_FILE_LOADED=false + +# Package lists (from original script) +tool_list="gcc intel amd cmake" +mpi_list="mpich openmpi intelmpi" +math_list="mkl aocl openblas" +lib_list="fftw libxc scalapack elpa cereal rapidjson libtorch libnpy libri libcomm nep" +package_list="${tool_list} ${mpi_list} ${math_list} ${lib_list}" + +# Configuration file paths for loading in advance +# Not in use now +CONFIG_FILE_PATHS=( + "${ROOTDIR}/toolchain_config.conf" +) + +# Load configuration from file +# Usage: config_load_from_file [config_file_path] +config_load_from_file() { + local config_file="$1" + + # If no file specified, search for default locations + if [[ -z "$config_file" ]]; then + for path in "${CONFIG_FILE_PATHS[@]}"; do + if [[ -f "$path" && -r "$path" ]]; then + config_file="$path" + break + fi + done + fi + + # If still no config file found, return silently (not an error) + if [[ -z "$config_file" || ! -f "$config_file" ]]; then + return 0 + fi + + echo "Loading configuration from: $config_file" + + # Read configuration file line by line + local line_num=0 + while IFS= read -r line || [[ -n "$line" ]]; do + line_num=$((line_num + 1)) + + # Skip empty lines and comments + [[ -z "$line" || "$line" =~ ^[[:space:]]*# ]] && continue + + # Remove leading/trailing whitespace + line=$(echo "$line" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + + # Parse variable assignments + if [[ "$line" =~ ^([A-Z_][A-Z0-9_]*)=(.*)$ ]]; then + local var_name="${BASH_REMATCH[1]}" + local var_value="${BASH_REMATCH[2]}" + + # Remove quotes if present + var_value=$(echo "$var_value" | sed 's/^"//;s/"$//') + + # Validate and store configuration + case "$var_name" in + # Basic configuration + INSTALL_PREFIX|BUILD_PREFIX) + CONFIG_CACHE["$var_name"]="$var_value" + ;; + NPROCS) + if [[ "$var_value" =~ ^[0-9]+$ ]]; then + CONFIG_CACHE["NPROCS_OVERWRITE"]="$var_value" + else + echo "Warning: Invalid NPROCS value '$var_value' in config file line $line_num" + fi + ;; + + # Mode selections + MPI_MODE) + case "$var_value" in + mpich|openmpi|intelmpi|none) + CONFIG_CACHE["MPI_MODE"]="$var_value" + ;; + *) + echo "Warning: Invalid MPI_MODE value '$var_value' in config file line $line_num" + ;; + esac + ;; + MATH_MODE) + case "$var_value" in + mkl|aocl|openblas|none) + CONFIG_CACHE["MATH_MODE"]="$var_value" + ;; + *) + echo "Warning: Invalid MATH_MODE value '$var_value' in config file line $line_num" + ;; + esac + ;; + + # Package configurations + WITH_*) + local package_name=$(echo "${var_name#WITH_}" | tr '[:upper:]' '[:lower:]') + # Handle special case for 4th-openmpi (convert to OPENMPI_4TH) + if [[ "$package_name" == "4th-openmpi" ]]; then + case "$var_value" in + yes|no|__DONTUSE__) + # Map __DONTUSE__ to "no" for OPENMPI_4TH + if [[ "$var_value" == "__DONTUSE__" ]]; then + CONFIG_CACHE["OPENMPI_4TH"]="no" + else + CONFIG_CACHE["OPENMPI_4TH"]="$var_value" + fi + ;; + *) + echo "Warning: Invalid value '$var_value' for WITH_4TH_OPENMPI in config file line $line_num" + ;; + esac + else + case "$var_value" in + __SYSTEM__|__INSTALL__|__DONTUSE__) + CONFIG_CACHE["with_${package_name}"]="$var_value" + ;; + *) + # Allow custom paths for some packages + CONFIG_CACHE["with_${package_name}"]="$var_value" + ;; + esac + fi + ;; + + # Version strategy options (NEW) + VERSION_STRATEGY) + case "$var_value" in + main|alt) + CONFIG_CACHE["VERSION_STRATEGY"]="$var_value" + ;; + *) + echo "Warning: Invalid VERSION_STRATEGY value '$var_value' in config file line $line_num. Valid options: main, alt" + ;; + esac + ;; + PACKAGE_VERSION_*) + # Extract package name from PACKAGE_VERSION_PACKAGENAME + local pkg_name="${var_name#PACKAGE_VERSION_}" + case "$var_value" in + main|alt) + CONFIG_CACHE["PACKAGE_VERSION_${pkg_name}"]="$var_value" + ;; + *) + echo "Warning: Invalid package version value '$var_value' for $var_name in config file line $line_num. Valid options: main, alt" + ;; + esac + ;; + + # Advanced options + # Not in use, leave it for future + DEBUG_MODE|VERBOSE_MODE|SKIP_SYSTEM_CHECKS|FORCE_REINSTALL) + case "$var_value" in + true|false) + CONFIG_CACHE["$var_name"]="$var_value" + ;; + *) + echo "Warning: Invalid boolean value '$var_value' for $var_name in config file line $line_num" + ;; + esac + ;; + + *) + echo "Warning: Unknown configuration option '$var_name' in config file line $line_num" + ;; + esac + elif [[ -n "$line" ]]; then + echo "Warning: Invalid configuration syntax in config file line $line_num: $line" + fi + done < "$config_file" + + CONFIG_FILE_LOADED=true + echo "Configuration loaded successfully from: $config_file" + return 0 +} + +# Apply mode-based configuration after loading from file +# Usage: config_apply_modes_from_file +config_apply_modes_from_file() { + # Apply MPI mode if set in config file (silent mode to avoid duplicate output) + if [[ -n "${CONFIG_CACHE[MPI_MODE]}" ]]; then + case "${CONFIG_CACHE[MPI_MODE]}" in + mpich) + CONFIG_CACHE["with_mpich"]="__INSTALL__" + CONFIG_CACHE["with_openmpi"]="__DONTUSE__" + CONFIG_CACHE["with_intelmpi"]="__DONTUSE__" + ;; + openmpi) + CONFIG_CACHE["with_mpich"]="__DONTUSE__" + CONFIG_CACHE["with_openmpi"]="__INSTALL__" + CONFIG_CACHE["with_intelmpi"]="__DONTUSE__" + ;; + intelmpi) + CONFIG_CACHE["with_mpich"]="__DONTUSE__" + CONFIG_CACHE["with_openmpi"]="__DONTUSE__" + CONFIG_CACHE["with_intelmpi"]="__INSTALL__" + ;; + none) + CONFIG_CACHE["with_mpich"]="__DONTUSE__" + CONFIG_CACHE["with_openmpi"]="__DONTUSE__" + CONFIG_CACHE["with_intelmpi"]="__DONTUSE__" + ;; + esac + fi + + # Apply Math mode if set in config file (silent mode to avoid duplicate output) + if [[ -n "${CONFIG_CACHE[MATH_MODE]}" ]]; then + case "${CONFIG_CACHE[MATH_MODE]}" in + mkl) + CONFIG_CACHE["with_mkl"]="__SYSTEM__" + CONFIG_CACHE["with_aocl"]="__DONTUSE__" + CONFIG_CACHE["with_openblas"]="__DONTUSE__" + # MKL provides FFTW and ScaLAPACK, so disable them (original logic) + CONFIG_CACHE["with_fftw"]="__DONTUSE__" + CONFIG_CACHE["with_scalapack"]="__DONTUSE__" + ;; + aocl) + CONFIG_CACHE["with_mkl"]="__DONTUSE__" + CONFIG_CACHE["with_aocl"]="__INSTALL__" + CONFIG_CACHE["with_openblas"]="__DONTUSE__" + ;; + openblas) + CONFIG_CACHE["with_mkl"]="__DONTUSE__" + CONFIG_CACHE["with_aocl"]="__DONTUSE__" + CONFIG_CACHE["with_openblas"]="__INSTALL__" + ;; + none) + CONFIG_CACHE["with_mkl"]="__DONTUSE__" + CONFIG_CACHE["with_aocl"]="__DONTUSE__" + CONFIG_CACHE["with_openblas"]="__DONTUSE__" + ;; + esac + fi +} + +# Initialize configuration manager +# Usage: config_manager_init +config_manager_init() { + if [[ "$CONFIG_INITIALIZED" == "true" ]]; then + return 0 + fi + + # Version management is now handled directly in individual scripts via package_versions.sh + + # Set default configuration first + config_set_defaults + + # Load configuration from file (if available) - this will override defaults + config_load_from_file + + # Apply mode-based configurations from file - this will override defaults + config_apply_modes_from_file + + CONFIG_INITIALIZED=true + + return 0 +} + +# Set default configuration values +# Usage: config_set_defaults +config_set_defaults() { + # First set everything to __DONTUSE__ + for ii in ${package_list}; do + CONFIG_CACHE["with_${ii}"]="__DONTUSE__" + done + + # Tools to turn on by default + CONFIG_CACHE["with_gcc"]="__SYSTEM__" + CONFIG_CACHE["with_cmake"]="__INSTALL__" + + # Set default parallel jobs (NEW: Fix for parallel jobs parameter) + if [[ -z "${NPROCS_OVERWRITE}" ]]; then + if command -v nproc > /dev/null 2>&1; then + CONFIG_CACHE["NPROCS_OVERWRITE"]="$(nproc --all)" + elif command -v sysctl > /dev/null 2>&1; then + CONFIG_CACHE["NPROCS_OVERWRITE"]="$(sysctl -n hw.ncpu)" + else + CONFIG_CACHE["NPROCS_OVERWRITE"]="1" + fi + else + CONFIG_CACHE["NPROCS_OVERWRITE"]="${NPROCS_OVERWRITE}" + fi + + # Default MPI and Math modes (following original script logic) + # Default math library settings to openblas + CONFIG_CACHE["MATH_MODE"]="openblas" + + # Set math library defaults based on MATH_MODE (before user input processing) + case "${CONFIG_CACHE[MATH_MODE]}" in + mkl) + CONFIG_CACHE["with_mkl"]="__SYSTEM__" + ;; + aocl) + CONFIG_CACHE["with_aocl"]="__SYSTEM__" + ;; + openblas) + CONFIG_CACHE["with_openblas"]="__INSTALL__" + ;; + esac + + # For MPI, we try to detect system MPI variant (following original script logic) + # Only detect if MPI_MODE is not already set (to avoid duplicate detection) + if [[ -z "${CONFIG_CACHE[MPI_MODE]}" ]] && command -v mpiexec > /dev/null 2>&1; then + # check if we are dealing with openmpi, mpich or intelmpi + if mpiexec --version 2>&1 | grep -s -q "HYDRA"; then + if command -v ui_info &> /dev/null; then + ui_info "🔍 Detected system MPI: MPICH" + else + echo "MPI is detected and it appears to be MPICH" + fi + CONFIG_CACHE["MPI_MODE"]="mpich" + CONFIG_CACHE["with_mpich"]="__SYSTEM__" + elif mpiexec --version 2>&1 | grep -s -q "OpenRTE"; then + if command -v ui_info &> /dev/null; then + ui_info "🔍 Detected system MPI: OpenMPI" + else + echo "MPI is detected and it appears to be OpenMPI" + fi + CONFIG_CACHE["MPI_MODE"]="openmpi" + CONFIG_CACHE["with_openmpi"]="__SYSTEM__" + elif mpiexec --version 2>&1 | grep -s -q "Intel"; then + if command -v ui_info &> /dev/null; then + ui_info "🔍 Detected system MPI: Intel MPI" + else + echo "MPI is detected and it appears to be Intel MPI" + fi + CONFIG_CACHE["with_gcc"]="__DONTUSE__" + CONFIG_CACHE["with_amd"]="__DONTUSE__" + CONFIG_CACHE["with_aocl"]="__DONTUSE__" + CONFIG_CACHE["with_intel"]="__SYSTEM__" + CONFIG_CACHE["with_intelmpi"]="__SYSTEM__" + CONFIG_CACHE["MPI_MODE"]="intelmpi" + else # default to mpich + if command -v ui_info &> /dev/null; then + ui_info "🔍 MPI detected, defaulting to MPICH configuration" + else + echo "MPI is detected and defaults to MPICH" + fi + CONFIG_CACHE["MPI_MODE"]="mpich" + CONFIG_CACHE["with_mpich"]="__SYSTEM__" + fi + else + if command -v report_warning &> /dev/null; then + report_warning ${LINENO} "No MPI installation detected (ignore this message in Cray Linux Environment or when MPI installation was requested)." + else + echo "Warning: No MPI installation detected (ignore this message in Cray Linux Environment or when MPI installation was requested)." + fi + CONFIG_CACHE["MPI_MODE"]="no" + fi + + # Default libraries to install + CONFIG_CACHE["with_fftw"]="__INSTALL__" + CONFIG_CACHE["with_libxc"]="__INSTALL__" + CONFIG_CACHE["with_scalapack"]="__INSTALL__" + CONFIG_CACHE["with_elpa"]="__INSTALL__" + CONFIG_CACHE["with_cereal"]="__INSTALL__" + CONFIG_CACHE["with_rapidjson"]="__INSTALL__" + CONFIG_CACHE["with_libri"]="__INSTALL__" + CONFIG_CACHE["with_libcomm"]="__INSTALL__" + CONFIG_CACHE["with_nep"]="__DONTUSE__" + + # Default enable options (following original script logic) + CONFIG_CACHE["dry_run"]="__FALSE__" + CONFIG_CACHE["enable_tsan"]="__FALSE__" + CONFIG_CACHE["enable_opencl"]="__FALSE__" + CONFIG_CACHE["enable_cuda"]="__FALSE__" + CONFIG_CACHE["enable_hip"]="__FALSE__" + CONFIG_CACHE["intel_classic"]="no" + CONFIG_CACHE["PACK_RUN"]="__FALSE__" + CONFIG_CACHE["INTELMPI_CLASSIC"]="no" + CONFIG_CACHE["WITH_IFX"]="yes" + CONFIG_CACHE["WITH_FLANG"]="no" + CONFIG_CACHE["OPENMPI_4TH"]="no" + CONFIG_CACHE["GPUVER"]="no" + CONFIG_CACHE["MPICH_DEVICE"]="ch4" + CONFIG_CACHE["TARGET_CPU"]="native" + CONFIG_CACHE["LOG_LINES"]="200" + CONFIG_CACHE["show_help"]="false" + CONFIG_CACHE["DOWNLOADER_FLAGS"]="" + + # Version strategy defaults (NEW) + CONFIG_CACHE["VERSION_STRATEGY"]="main" + + # Defaults for CRAY Linux Environment (following original script logic) + if [[ -n "${CRAY_LD_LIBRARY_PATH}" ]]; then + CONFIG_CACHE["enable_cray"]="__TRUE__" + CONFIG_CACHE["MATH_MODE"]="cray" + # Default MPI used by CLE is assumed to be MPICH, in any case + # do not use the installers for the MPI libraries + CONFIG_CACHE["with_mpich"]="__DONTUSE__" + CONFIG_CACHE["with_openmpi"]="__DONTUSE__" + CONFIG_CACHE["with_intelmpi"]="__DONTUSE__" + CONFIG_CACHE["MPI_MODE"]="mpich" + # set default value for some installers appropriate for CLE + CONFIG_CACHE["with_gcc"]="__DONTUSE__" + # Reset math library defaults for CRAY environment + CONFIG_CACHE["with_mkl"]="__DONTUSE__" + CONFIG_CACHE["with_aocl"]="__DONTUSE__" + CONFIG_CACHE["with_openblas"]="__DONTUSE__" + fi + + return 0 +} + +# Helper function to read --enable-* options +# Usage: read_enable_option "--enable-feature=value" +read_enable_option() { + local arg="$1" + if [[ "$arg" == *"="* ]]; then + local value="${arg#*=}" + case "$value" in + yes|true|1) echo "__TRUE__" ;; + no|false|0) echo "__FALSE__" ;; + *) echo "__INVALID__" ;; + esac + else + echo "__TRUE__" + fi +} + +# Helper function to read --with-* options +# Usage: read_with_option "--with-package=value" +read_with_option() { + local arg="$1" + if [[ "$arg" == *"="* ]]; then + local value="${arg#*=}" + case "$value" in + install) echo "__INSTALL__" ;; + system) echo "__SYSTEM__" ;; + no) echo "__DONTUSE__" ;; + *) echo "$value" ;; # Allow custom paths + esac + else + echo "__INSTALL__" + fi +} + +# Validate configuration +# Usage: config_validate +config_validate() { + # Validate numeric values + if [[ -n "${CONFIG_CACHE[NPROCS_OVERWRITE]}" ]]; then + if ! [[ "${CONFIG_CACHE[NPROCS_OVERWRITE]}" =~ ^[0-9]+$ ]]; then + report_error ${LINENO} "Invalid number of processes: ${CONFIG_CACHE[NPROCS_OVERWRITE]}" + exit 1 + fi + fi + + if ! [[ "${CONFIG_CACHE[LOG_LINES]}" =~ ^[0-9]+$ ]]; then + report_error ${LINENO} "Invalid log lines value: ${CONFIG_CACHE[LOG_LINES]}" + exit 1 + fi + + # Validate GPU version - support only numeric formats + local gpu_ver="${CONFIG_CACHE[GPUVER]}" + if [[ "$gpu_ver" != "no" ]]; then + # Set ARCH_NUM based on GPUVER (remove decimal point for numeric versions) + local arch_num="${gpu_ver//.}" + + # Check if it's a valid numeric format (like 8.0, 70, 80, etc.) + if [[ "$arch_num" =~ ^[1-9][0-9]*$ ]]; then + CONFIG_CACHE["ARCH_NUM"]="$arch_num" + else + report_error ${LINENO} "Invalid GPU version: $gpu_ver. Supported formats: numeric with decimal (6.0, 7.0, 8.0, 8.9, etc.) or numeric without decimal (60, 70, 80, 89, etc.)" + exit 1 + fi + else + CONFIG_CACHE["ARCH_NUM"]="no" + fi + + # Backward compatibility: also export ARCH_NUM to environment when set + if [[ -n "${CONFIG_CACHE[ARCH_NUM]}" ]]; then + export ARCH_NUM="${CONFIG_CACHE[ARCH_NUM]}" + fi + + return 0 +} + +# Apply environment variable processing logic (from original script lines 668-744) +# Usage: config_apply_env_logic +config_apply_env_logic() { + # Compiler conflicts (from original script L668-677) + if [ "${CONFIG_CACHE[with_intel]}" != "__DONTUSE__" ] && [ "${CONFIG_CACHE[with_gcc]}" = "__INSTALL__" ]; then + echo "You have chosen to use the Intel compiler, therefore the installation of the GNU compiler will be skipped." + CONFIG_CACHE["with_gcc"]="__SYSTEM__" + fi + if [ "${CONFIG_CACHE[with_amd]}" != "__DONTUSE__" ] && [ "${CONFIG_CACHE[with_gcc]}" = "__INSTALL__" ]; then + echo "You have chosen to use the AMD compiler, therefore the installation of the GNU compiler will be skipped." + CONFIG_CACHE["with_gcc"]="__SYSTEM__" + fi + if [ "${CONFIG_CACHE[with_amd]}" != "__DONTUSE__" ] && [ "${CONFIG_CACHE[with_intel]}" != "__DONTUSE__" ]; then + report_error "You have chosen to use the AMD and the Intel compiler to compile dependent packages. Select only one compiler." + exit 1 + fi + + # MPI library conflicts (from original script L679-710) + if [ "${CONFIG_CACHE[MPI_MODE]}" = "no" ]; then + if [ "${CONFIG_CACHE[with_scalapack]}" != "__DONTUSE__" ]; then + echo "Not using MPI, so scalapack is disabled." + CONFIG_CACHE["with_scalapack"]="__DONTUSE__" + fi + if [ "${CONFIG_CACHE[with_elpa]}" != "__DONTUSE__" ]; then + echo "Not using MPI, so ELPA is disabled." + CONFIG_CACHE["with_elpa"]="__DONTUSE__" + fi + else + # if gcc is installed, then mpi needs to be installed too + if [ "${CONFIG_CACHE[with_gcc]}" = "__INSTALL__" ]; then + echo "You have chosen to install the GNU compiler, therefore MPI libraries have to be installed too" + case ${CONFIG_CACHE[MPI_MODE]} in + mpich) + CONFIG_CACHE["with_mpich"]="__INSTALL__" + CONFIG_CACHE["with_openmpi"]="__DONTUSE__" + ;; + openmpi) + CONFIG_CACHE["with_mpich"]="__DONTUSE__" + CONFIG_CACHE["with_openmpi"]="__INSTALL__" + ;; + esac + echo "and the use of the Intel compiler and Intel MPI will be disabled." + CONFIG_CACHE["with_intel"]="__DONTUSE__" + CONFIG_CACHE["with_intelmpi"]="__DONTUSE__" + fi + # Enable only one MPI implementation + case ${CONFIG_CACHE[MPI_MODE]} in + mpich) + CONFIG_CACHE["with_openmpi"]="__DONTUSE__" + CONFIG_CACHE["with_intelmpi"]="__DONTUSE__" + ;; + openmpi) + CONFIG_CACHE["with_mpich"]="__DONTUSE__" + CONFIG_CACHE["with_intelmpi"]="__DONTUSE__" + ;; + intelmpi) + CONFIG_CACHE["with_mpich"]="__DONTUSE__" + CONFIG_CACHE["with_openmpi"]="__DONTUSE__" + ;; + esac + fi + + # If MATH_MODE is mkl, then openblas, scalapack and fftw is not needed + # QuantumMisaka in 2023-09-17 + if [ "${CONFIG_CACHE[MATH_MODE]}" = "mkl" ]; then + if [ "${CONFIG_CACHE[with_openblas]}" != "__DONTUSE__" ]; then + echo "Using MKL, so openblas is disabled." + CONFIG_CACHE["with_openblas"]="__DONTUSE__" + fi + if [ "${CONFIG_CACHE[with_scalapack]}" != "__DONTUSE__" ]; then + echo "Using MKL, so scalapack is disabled." + CONFIG_CACHE["with_scalapack"]="__DONTUSE__" + fi + if [ "${CONFIG_CACHE[with_fftw]}" != "__DONTUSE__" ]; then + echo "Using MKL, so fftw is disabled." + CONFIG_CACHE["with_fftw"]="__DONTUSE__" + fi + fi + + # Select the correct compute number based on the GPU architecture + # QuantumMisaka in 2025-03-19 + local gpuver="${CONFIG_CACHE[GPUVER]}" + if [ "$gpuver" != "no" ]; then + export ARCH_NUM="${gpuver//.}" + CONFIG_CACHE["ARCH_NUM"]="$ARCH_NUM" + else + export ARCH_NUM="no" + CONFIG_CACHE["ARCH_NUM"]="no" + fi + + # If CUDA or HIP are enabled, make sure the GPU version has been defined. + if [ "${CONFIG_CACHE[enable_cuda]}" = "__TRUE__" ] || [ "${CONFIG_CACHE[enable_hip]}" = "__TRUE__" ]; then + if [ "${CONFIG_CACHE[GPUVER]}" = "no" ]; then + report_error "Please choose GPU architecture to compile for with --gpu-ver" + exit 1 + fi + if [[ "$ARCH_NUM" =~ ^[1-9][0-9]*$ ]] || [ "$ARCH_NUM" = "no" ]; then + echo "Notice: GPU compilation is enabled, and GPU compatibility is set via --gpu-ver to sm_${ARCH_NUM}." + else + report_error ${LINENO} \ + "When GPU compilation is enabled, the --gpu-ver variable should be properly set regarding to GPU compatibility. For check your GPU compatibility, visit https://developer.nvidia.com/cuda-gpus. For example: A100 -> 8.0 (or 80), V100 -> 7.0 (or 70), 4090 -> 8.9 (or 89)" + exit 1 + fi + fi + + # ABACUS itself and some dependencies require cmake. + if [ "${CONFIG_CACHE[with_cmake]}" = "__DONTUSE__" ]; then + report_error "CMake is required for ABACUS and some dependencies. Please enable it." + exit 1 + fi +} + +# Export configuration to environment variables +# Usage: config_export_to_env +config_export_to_env() { + # Apply environment variable processing logic first + config_apply_env_logic + + # Export all configuration values as environment variables + for key in "${!CONFIG_CACHE[@]}"; do + export "$key"="${CONFIG_CACHE[$key]}" + done + + # Backward compatibility for stage scripts expecting uppercase GPU flags + # Installers (e.g., stage3/install_elpa.sh) read ENABLE_CUDA, not enable_cuda + export ENABLE_CUDA="${CONFIG_CACHE[enable_cuda]}" + + # Export package list variables + export tool_list + export mpi_list + export math_list + export lib_list + export package_list +} + +# Get configuration value +# Usage: config_get "key" +config_get() { + local key="$1" + echo "${CONFIG_CACHE[$key]}" +} + +# Set configuration value +# Usage: config_set "key" "value" +config_set() { + local key="$1" + local value="$2" + CONFIG_CACHE["$key"]="$value" +} + +# Check if configuration key exists +# Usage: config_has "key" +config_has() { + local key="$1" + [[ -n "${CONFIG_CACHE[$key]}" ]] +} + +# Print configuration summary +# Usage: config_print_summary +config_print_summary() { + echo "Configuration Summary:" + echo "=====================" + echo "MPI Mode: ${CONFIG_CACHE[MPI_MODE]}" + echo "Math Mode: ${CONFIG_CACHE[MATH_MODE]}" + echo "Target CPU: ${CONFIG_CACHE[TARGET_CPU]}" + echo "GPU Version: ${CONFIG_CACHE[GPUVER]}" + echo "Parallel Jobs: ${CONFIG_CACHE[NPROCS_OVERWRITE]:-$(get_nprocs)}" + echo "Dry Run: ${CONFIG_CACHE[dry_run]}" + echo "" + + echo "Package Configuration:" + echo "=====================" + for pkg in ${package_list}; do + local status="${CONFIG_CACHE[with_${pkg}]}" + if [[ "$status" != "__DONTUSE__" ]]; then + printf "%-15s: %s\n" "$pkg" "$status" + fi + done + echo "" +} + +# Parse command line arguments (New unified version) +# Usage: config_parse_arguments "$@" +config_parse_arguments() { + local show_help=false + local show_version=false + + while [[ $# -gt 0 ]]; do + case $1 in + # Help and version + -h|--help) + show_help=true + shift + ;; + --version) + show_version=true + shift + ;; + --version-info) + if [[ -n "$2" && "$2" != -* ]]; then + CONFIG_CACHE["show_version_info"]="$2" + shift 2 + else + CONFIG_CACHE["show_version_info"]="all" + shift + fi + ;; + + # Build options + -j) + if [[ -n "$2" && "$2" =~ ^[0-9]+$ ]]; then + CONFIG_CACHE["NPROCS_OVERWRITE"]="$2" + shift 2 + else + report_error $LINENO "-j requires a number argument" + return 1 + fi + ;; + --dry-run) + CONFIG_CACHE["dry_run"]="__TRUE__" + shift + ;; + --pack-run) + CONFIG_CACHE["PACK_RUN"]="__TRUE__" + shift + ;; + + # Package version selection - Support multiple package:version pairs + --package-version) + local package_version_args="" + local processed_count=0 + + # Handle --package-version=value format + if [[ "$1" =~ ^--package-version=(.+)$ ]]; then + package_version_args="${BASH_REMATCH[1]}" + shift + processed_count=1 + else + # Collect all consecutive non-option arguments + shift # Skip --package-version + while [[ $# -gt 0 && "$1" != -* ]]; do + if [[ -n "$package_version_args" ]]; then + package_version_args="$package_version_args $1" + else + package_version_args="$1" + fi + shift + ((processed_count++)) + done + fi + + # Validate we have at least one argument + if [[ -z "$package_version_args" ]]; then + report_error $LINENO "--package-version requires at least one package:version argument" + return 1 + fi + + # Process each package:version pair + local pair_count=0 + for pair in $package_version_args; do + if [[ "$pair" =~ ^([a-zA-Z0-9_]+):(main|alt)$ ]]; then + local pkg="${BASH_REMATCH[1]}" + local ver="${BASH_REMATCH[2]}" + CONFIG_CACHE["PACKAGE_VERSION_${pkg^^}"]="$ver" + ((pair_count++)) + else + report_error $LINENO "Invalid package version format: '$pair'. Use format 'package:version' (e.g., openmpi:alt, openblas:main)" + return 1 + fi + done + + # Report successful processing + if [[ $pair_count -gt 1 ]]; then + echo "INFO: Processed $pair_count package version overrides" + fi + ;; + + # Configuration file + --config-file) + if [[ -n "$2" && "$2" != -* ]]; then + config_load_from_file "$2" + shift 2 + else + report_error $LINENO "--config-file requires an argument" + return 1 + fi + ;; + + # Mode selections - Support both --mode=value and --mode value formats + --mpi-mode|--mpi-mode=*) + local mpi_value="" + # Handle --mpi-mode=value format + if [[ "$1" =~ ^--mpi-mode=(.+)$ ]]; then + mpi_value="${BASH_REMATCH[1]}" + shift + elif [[ -n "$2" && "$2" != -* ]]; then + mpi_value="$2" + shift 2 + else + report_error $LINENO "--mpi-mode requires an argument" + return 1 + fi + + case "$mpi_value" in + mpich|openmpi|intelmpi|no) + CONFIG_CACHE["MPI_MODE"]="$mpi_value" + ;; + *) + report_error $LINENO "Invalid MPI mode: $mpi_value. Valid options: mpich, openmpi, intelmpi, no" + return 1 + ;; + esac + ;; + --math-mode|--math-mode=*) + local math_value="" + # Handle --math-mode=value format + if [[ "$1" =~ ^--math-mode=(.+)$ ]]; then + math_value="${BASH_REMATCH[1]}" + shift + elif [[ -n "$2" && "$2" != -* ]]; then + math_value="$2" + shift 2 + else + report_error $LINENO "--math-mode requires an argument" + return 1 + fi + + case "$math_value" in + mkl|aocl|openblas|cray|no) + CONFIG_CACHE["MATH_MODE"]="$math_value" + # Apply automatic parameter settings for specific math modes + case "$math_value" in + aocl) + CONFIG_CACHE["with_aocl"]="__SYSTEM__" + CONFIG_CACHE["with_fftw"]="__SYSTEM__" + CONFIG_CACHE["with_scalapack"]="__SYSTEM__" + ;; + esac + ;; + *) + report_error $LINENO "Invalid math mode: $math_value. Valid options: mkl, aocl, openblas, cray, no" + return 1 + ;; + esac + ;; + + # Package options + --with-*) + local option="${1#--with-}" + local value="__INSTALL__" + + # Handle --with-package=value format + if [[ "$option" =~ ^(.+)=(.+)$ ]]; then + option="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[2]}" + fi + + # Special handling for --with-mpich-device=* (must be handled before general mpich) + if [[ "$option" == "mpich-device" ]]; then + CONFIG_CACHE["MPICH_DEVICE"]="$value" + CONFIG_CACHE["MPI_MODE"]="mpich" + shift + continue + fi + + # Convert value to internal format (matching original read_with function) + case "$value" in + system) + value="__SYSTEM__" + ;; + install) + value="__INSTALL__" + ;; + no) + value="__DONTUSE__" + ;; + __SYSTEM__|__INSTALL__|__DONTUSE__) + # Already in internal format, keep as is + ;; + *) + # For custom paths, expand ~ to $HOME (matching original behavior) + value="${value//\~/$HOME}" + ;; + esac + + # Handle special cases with specific processing logic + case "$option" in + 4th-openmpi) + # Handle --with-4th-openmpi parameter (only yes/no options) + case "$value" in + "yes"|"install"|"__INSTALL__") + CONFIG_CACHE["OPENMPI_4TH"]="yes" + ;; + "no"|"__DONTUSE__") + CONFIG_CACHE["OPENMPI_4TH"]="no" + ;; + *) + # Default to "no" for any other values + CONFIG_CACHE["OPENMPI_4TH"]="no" + ;; + esac + ;; + mpich) + CONFIG_CACHE["with_mpich"]="$value" + USER_EXPLICIT_MPI["with_mpich"]="true" # Mark as explicitly set by user + # Set MPI_MODE if not disabled + if [ "$value" != "__DONTUSE__" ]; then + CONFIG_CACHE["MPI_MODE"]="mpich" + fi + ;; + openmpi) + CONFIG_CACHE["with_openmpi"]="$value" + USER_EXPLICIT_MPI["with_openmpi"]="true" # Mark as explicitly set by user + # Set MPI_MODE if not disabled + if [ "$value" != "__DONTUSE__" ]; then + CONFIG_CACHE["MPI_MODE"]="openmpi" + fi + ;; + intelmpi) + CONFIG_CACHE["with_intelmpi"]="$value" + USER_EXPLICIT_MPI["with_intelmpi"]="true" # Mark as explicitly set by user + # Set MPI_MODE if not disabled + if [ "$value" != "__DONTUSE__" ]; then + CONFIG_CACHE["MPI_MODE"]="intelmpi" + fi + ;; + intel-classic) + # Special handling for intel-classic: only accepts yes/no values + case "$value" in + "__INSTALL__"|""|"__DONTUSE__") + value="no" # Default to "no" + ;; + "yes") + value="yes" + ;; + "no") + value="no" + ;; + *) + report_error $LINENO "Invalid value '$value' for --with-intel-classic. Only 'yes' or 'no' are allowed." "CONFIG_ERROR" + return 1 + ;; + esac + CONFIG_CACHE["intel_classic"]="$value" + ;; + intel-mpi-clas*) + # Special handling for intel-mpi-classic: only accepts yes/no values + case "$value" in + "__INSTALL__"|""|"__DONTUSE__") + value="no" # Default to "no" + ;; + "yes") + value="yes" + ;; + "no") + value="no" + ;; + *) + report_error $LINENO "Invalid value '$value' for --with-intel-mpi-classic. Only 'yes' or 'no' are allowed." "CONFIG_ERROR" + return 1 + ;; + esac + CONFIG_CACHE["INTELMPI_CLASSIC"]="$value" + ;; + intel) + CONFIG_CACHE["with_intel"]="$value" + ;; + ifx) + # Special handling for ifx: only accepts yes/no values + case "$value" in + "__INSTALL__"|""|"__DONTUSE__") + value="no" # Default to "no" + ;; + "yes") + value="yes" + ;; + "no") + value="no" + ;; + *) + report_error $LINENO "Invalid value '$value' for --with-ifx. Only 'yes' or 'no' are allowed." "CONFIG_ERROR" + return 1 + ;; + esac + CONFIG_CACHE["WITH_IFX"]="$value" + ;; + amd) + CONFIG_CACHE["with_amd"]="$value" + ;; + flang) + # Special handling for flang: only accepts yes/no values + case "$value" in + "__INSTALL__"|""|"__DONTUSE__") + value="no" # Default to "no" + ;; + "yes") + value="yes" + ;; + "no") + value="no" + ;; + *) + report_error $LINENO "Invalid value '$value' for --with-flang. Only 'yes' or 'no' are allowed." "CONFIG_ERROR" + return 1 + ;; + esac + CONFIG_CACHE["WITH_FLANG"]="$value" + ;; + aocl) + CONFIG_CACHE["with_aocl"]="$value" + USER_EXPLICIT_MATH["with_aocl"]="true" # Mark as explicitly set by user + ;; + mkl) + CONFIG_CACHE["with_mkl"]="$value" + USER_EXPLICIT_MATH["with_mkl"]="true" # Mark as explicitly set by user + # Set MATH_MODE if not disabled + if [ "$value" != "__DONTUSE__" ]; then + CONFIG_CACHE["MATH_MODE"]="mkl" + fi + ;; + openblas) + CONFIG_CACHE["with_openblas"]="$value" + USER_EXPLICIT_MATH["with_openblas"]="true" # Mark as explicitly set by user + # Set MATH_MODE if not disabled + if [ "$value" != "__DONTUSE__" ]; then + CONFIG_CACHE["MATH_MODE"]="openblas" + fi + ;; + fftw) + CONFIG_CACHE["with_fftw"]="$value" + USER_EXPLICIT_MATH["with_fftw"]="true" # Mark as explicitly set by user + ;; + scalapack) + CONFIG_CACHE["with_scalapack"]="$value" + USER_EXPLICIT_MATH["with_scalapack"]="true" # Mark as explicitly set by user + ;; + *) + # Convert to standard format for all other options + option="${option,,}" # Convert to lowercase + CONFIG_CACHE["with_${option}"]="$value" + ;; + esac + shift + ;; + + # Enable options + --enable-*) + local option="${1#--enable-}" + local value="__TRUE__" + + # Handle --enable-feature=value format + if [[ "$option" =~ ^(.+)=(.+)$ ]]; then + option="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[2]}" + case "$value" in + yes|true|1) value="__TRUE__" ;; + no|false|0) value="__FALSE__" ;; + *) + report_error $LINENO "Invalid value for --enable-${option}: $value. Use yes/no" + return 1 + ;; + esac + fi + + CONFIG_CACHE["enable_${option}"]="$value" + shift + ;; + + # GPU version + --gpu-ver|--gpu-ver=*) + local gpu_value="" + # Handle --gpu-ver=value format + if [[ "$1" =~ ^--gpu-ver=(.+)$ ]]; then + gpu_value="${BASH_REMATCH[1]}" + shift + elif [[ -n "$2" && "$2" != -* ]]; then + gpu_value="$2" + shift 2 + else + report_error $LINENO "--gpu-ver requires an argument" + return 1 + fi + CONFIG_CACHE["GPUVER"]="$gpu_value" + ;; + + # Target CPU + --target-cpu|--target-cpu=*) + local cpu_value="" + # Handle --target-cpu=value format + if [[ "$1" =~ ^--target-cpu=(.+)$ ]]; then + cpu_value="${BASH_REMATCH[1]}" + shift + elif [[ -n "$2" && "$2" != -* ]]; then + cpu_value="$2" + shift 2 + else + report_error $LINENO "--target-cpu requires an argument" + return 1 + fi + CONFIG_CACHE["TARGET_CPU"]="$cpu_value" + ;; + + # Log lines + --log-lines|--log-lines=*) + local log_value="" + # Handle --log-lines=value format + if [[ "$1" =~ ^--log-lines=(.+)$ ]]; then + log_value="${BASH_REMATCH[1]}" + shift + elif [[ -n "$2" && "$2" =~ ^[0-9]+$ ]]; then + log_value="$2" + shift 2 + else + report_error $LINENO "--log-lines requires a number argument" + return 1 + fi + + if [[ "$log_value" =~ ^[0-9]+$ ]]; then + CONFIG_CACHE["LOG_LINES"]="$log_value" + else + report_error $LINENO "--log-lines requires a number argument" + return 1 + fi + ;; + + # Skip system checks + --skip-system-checks) + CONFIG_CACHE["skip_system_checks"]="__TRUE__" + shift + ;; + + # Positional arguments (ignored for now) + *) + shift + ;; + esac + done + + # Handle help and version requests + if [[ "$show_help" == true ]]; then + CONFIG_CACHE["show_help"]="__TRUE__" + return 0 + fi + + if [[ "$show_version" == true ]]; then + CONFIG_CACHE["show_version"]="__TRUE__" + return 0 + fi + + return 0 +} + +# Initialize configuration with command line arguments +# Usage: config_init "$@" +config_init() { + # Set defaults first + config_set_defaults + + # Initialize version helper to ensure VERSION_STRATEGY defaults are set + if command -v version_helper_init > /dev/null 2>&1; then + version_helper_init + fi + + # Load configuration from file (if available) - this will override defaults + config_load_from_file + + # Apply mode-based configurations from file - this will override defaults + config_apply_modes_from_file + + # Parse command line arguments - this will override file settings + config_parse_arguments "$@" + + # Apply mode-based configurations from command line + config_apply_modes + + # Validate configuration + config_validate + + return 0 +} + +# Apply configuration based on modes +# Usage: config_apply_modes +config_apply_modes() { + # Apply MPI mode settings (with output for user feedback) + local mpi_mode="${CONFIG_CACHE[MPI_MODE]}" + if [[ -n "$mpi_mode" ]]; then + if command -v ui_info &> /dev/null; then + ui_info "⚙️ Configuring MPI mode: $mpi_mode" + else + echo "Applying MPI mode: $mpi_mode" + fi + case "$mpi_mode" in + mpich) + # Only override if user hasn't explicitly set these values via command line + [[ -z "${USER_EXPLICIT_MPI[with_mpich]}" ]] && CONFIG_CACHE["with_mpich"]="__INSTALL__" + [[ -z "${USER_EXPLICIT_MPI[with_openmpi]}" ]] && CONFIG_CACHE["with_openmpi"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MPI[with_intelmpi]}" ]] && CONFIG_CACHE["with_intelmpi"]="__DONTUSE__" + ;; + openmpi) + [[ -z "${USER_EXPLICIT_MPI[with_mpich]}" ]] && CONFIG_CACHE["with_mpich"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MPI[with_openmpi]}" ]] && CONFIG_CACHE["with_openmpi"]="__INSTALL__" + [[ -z "${USER_EXPLICIT_MPI[with_intelmpi]}" ]] && CONFIG_CACHE["with_intelmpi"]="__DONTUSE__" + ;; + intelmpi) + [[ -z "${USER_EXPLICIT_MPI[with_mpich]}" ]] && CONFIG_CACHE["with_mpich"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MPI[with_openmpi]}" ]] && CONFIG_CACHE["with_openmpi"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MPI[with_intelmpi]}" ]] && CONFIG_CACHE["with_intelmpi"]="__INSTALL__" + ;; + no) + [[ -z "${USER_EXPLICIT_MPI[with_mpich]}" ]] && CONFIG_CACHE["with_mpich"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MPI[with_openmpi]}" ]] && CONFIG_CACHE["with_openmpi"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MPI[with_intelmpi]}" ]] && CONFIG_CACHE["with_intelmpi"]="__DONTUSE__" + ;; + esac + fi + + # Apply math mode settings (with output for user feedback) + local math_mode="${CONFIG_CACHE[MATH_MODE]}" + if [[ -n "$math_mode" ]]; then + if command -v ui_info &> /dev/null; then + ui_info "🧮 Configuring Math mode: $math_mode" + else + echo "Applying Math mode: $math_mode" + fi + case "$math_mode" in + mkl) + [[ -z "${USER_EXPLICIT_MATH[with_mkl]}" ]] && CONFIG_CACHE["with_mkl"]="__SYSTEM__" + [[ -z "${USER_EXPLICIT_MATH[with_aocl]}" ]] && CONFIG_CACHE["with_aocl"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MATH[with_openblas]}" ]] && CONFIG_CACHE["with_openblas"]="__DONTUSE__" + # MKL provides FFTW and ScaLAPACK, so disable them (original logic) + [[ -z "${USER_EXPLICIT_MATH[with_fftw]}" ]] && CONFIG_CACHE["with_fftw"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MATH[with_scalapack]}" ]] && CONFIG_CACHE["with_scalapack"]="__DONTUSE__" + ;; + aocl) + [[ -z "${USER_EXPLICIT_MATH[with_mkl]}" ]] && CONFIG_CACHE["with_mkl"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MATH[with_aocl]}" ]] && CONFIG_CACHE["with_aocl"]="__SYSTEM__" + [[ -z "${USER_EXPLICIT_MATH[with_openblas]}" ]] && CONFIG_CACHE["with_openblas"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MATH[with_fftw]}" ]] && CONFIG_CACHE["with_fftw"]="__SYSTEM__" + [[ -z "${USER_EXPLICIT_MATH[with_scalapack]}" ]] && CONFIG_CACHE["with_scalapack"]="__SYSTEM__" + ;; + openblas) + [[ -z "${USER_EXPLICIT_MATH[with_mkl]}" ]] && CONFIG_CACHE["with_mkl"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MATH[with_aocl]}" ]] && CONFIG_CACHE["with_aocl"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MATH[with_openblas]}" ]] && CONFIG_CACHE["with_openblas"]="__INSTALL__" + ;; + cray) + [[ -z "${USER_EXPLICIT_MATH[with_mkl]}" ]] && CONFIG_CACHE["with_mkl"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MATH[with_aocl]}" ]] && CONFIG_CACHE["with_aocl"]="__DONTUSE__" + [[ -z "${USER_EXPLICIT_MATH[with_openblas]}" ]] && CONFIG_CACHE["with_openblas"]="__DONTUSE__" + ;; + esac + fi +} \ No newline at end of file diff --git a/toolchain/scripts/lib/config_validator.sh b/toolchain/scripts/lib/config_validator.sh new file mode 100644 index 0000000000..648a6ffbe9 --- /dev/null +++ b/toolchain/scripts/lib/config_validator.sh @@ -0,0 +1,531 @@ +#!/bin/bash + +# ============================================================================ +# ABACUS Toolchain Configuration Validator +# ============================================================================ +# Validates configuration settings and detects potential conflicts +# Author: Quantum Misaka by Trae SOLO +# Date: 2025-10-16 +# ============================================================================ + +# Global validation state +VALIDATION_ERRORS=() +VALIDATION_WARNINGS=() +VALIDATION_ERROR_GROUPS=() +VALIDATION_WARNING_GROUPS=() +VALIDATION_INITIALIZED=false + +# Initialize configuration validator +# Usage: config_validator_init +config_validator_init() { + if [[ "$VALIDATION_INITIALIZED" == "true" ]]; then + return 0 + fi + + VALIDATION_ERRORS=() + VALIDATION_WARNINGS=() + VALIDATION_ERROR_GROUPS=() + VALIDATION_WARNING_GROUPS=() + VALIDATION_INITIALIZED=true + + return 0 +} + +# Add validation error +# Usage: add_validation_error "error message" +add_validation_error() { + local message="$1" + VALIDATION_ERRORS+=("ERROR: $message") +} + +# Add validation warning +# Usage: add_validation_warning "warning message" +add_validation_warning() { + local message="$1" + VALIDATION_WARNINGS+=("WARNING: $message") +} + +# Start a new error group (represents one logical error) +# Usage: start_error_group "group_name" +start_error_group() { + local group_name="$1" + VALIDATION_ERROR_GROUPS+=("$group_name") +} + +# Start a new warning group (represents one logical warning) +# Usage: start_warning_group "group_name" +start_warning_group() { + local group_name="$1" + VALIDATION_WARNING_GROUPS+=("$group_name") +} + +# Add validation error group (complete error with all details) +# Usage: add_validation_error_group "group_name" "line1" "line2" ... +add_validation_error_group() { + local group_name="$1" + shift + + # Add the group to track unique errors + VALIDATION_ERROR_GROUPS+=("$group_name") + + # Add all error lines + for line in "$@"; do + VALIDATION_ERRORS+=("ERROR: $line") + done +} + +# Add validation warning group (complete warning with all details) +# Usage: add_validation_warning_group "group_name" "line1" "line2" ... +add_validation_warning_group() { + local group_name="$1" + shift + + # Add the group to track unique warnings + VALIDATION_WARNING_GROUPS+=("$group_name") + + # Add all warning lines + for line in "$@"; do + VALIDATION_WARNINGS+=("WARNING: $line") + done +} + +# Add validation info (for successful validations) +# Usage: add_validation_info "info message" +add_validation_info() { + local message="$1" + # Info messages are displayed immediately during validation + echo "INFO: $message" +} + +# Check for conflicting math libraries +# Usage: validate_math_libraries +validate_math_libraries() { + local math_libs_enabled=0 + local enabled_libs=() + + # Check which math libraries are enabled + for lib in mkl aocl openblas; do + if [[ "${CONFIG_CACHE[with_${lib}]}" == "__INSTALL__" || "${CONFIG_CACHE[with_${lib}]}" == "__SYSTEM__" ]]; then + math_libs_enabled=$((math_libs_enabled + 1)) + enabled_libs+=("$lib") + fi + done + + # Validate math library configuration + if [[ $math_libs_enabled -gt 1 ]]; then + add_validation_error "Multiple math libraries enabled: ${enabled_libs[*]}. Only one should be active." + elif [[ $math_libs_enabled -eq 0 ]]; then + add_validation_warning "No math library enabled. This may cause compilation issues." + fi + + # Check MKL-specific conflicts + if [[ "${CONFIG_CACHE[with_mkl]}" == "__SYSTEM__" || "${CONFIG_CACHE[with_mkl]}" == "__INSTALL__" ]]; then + if [[ "${CONFIG_CACHE[with_fftw]}" == "__INSTALL__" ]]; then + add_validation_warning "MKL includes FFTW interface. Consider setting FFTW to __DONTUSE__ or __SYSTEM__." + fi + if [[ "${CONFIG_CACHE[with_scalapack]}" == "__INSTALL__" ]]; then + add_validation_warning "MKL includes ScaLAPACK. Consider setting ScaLAPACK to __DONTUSE__ or __SYSTEM__." + fi + fi +} + +# Check for conflicting MPI implementations +# Usage: validate_mpi_implementations +validate_mpi_implementations() { + local mpi_libs_enabled=0 + local enabled_mpis=() + + # Check which MPI implementations are enabled + for mpi in mpich openmpi intelmpi; do + if [[ "${CONFIG_CACHE[with_${mpi}]}" == "__INSTALL__" || "${CONFIG_CACHE[with_${mpi}]}" == "__SYSTEM__" ]]; then + mpi_libs_enabled=$((mpi_libs_enabled + 1)) + enabled_mpis+=("$mpi") + fi + done + + # Validate MPI configuration + if [[ $mpi_libs_enabled -gt 1 ]]; then + add_validation_error "Multiple MPI implementations enabled: ${enabled_mpis[*]}. Only one should be active." + elif [[ $mpi_libs_enabled -eq 0 ]]; then + add_validation_warning "No MPI implementation enabled. This may limit parallel functionality." + fi +} + +# Check for compiler consistency +# Usage: validate_compiler_consistency +validate_compiler_consistency() { + local compilers_enabled=0 + local enabled_compilers=() + + # Check which compilers are enabled + for compiler in gcc intel amd; do + if [[ "${CONFIG_CACHE[with_${compiler}]}" == "__INSTALL__" || "${CONFIG_CACHE[with_${compiler}]}" == "__SYSTEM__" ]]; then + compilers_enabled=$((compilers_enabled + 1)) + enabled_compilers+=("$compiler") + fi + done + + # Validate compiler configuration + if [[ $compilers_enabled -gt 1 ]]; then + add_validation_warning "Multiple compilers enabled: ${enabled_compilers[*]}. This may cause compatibility issues." + elif [[ $compilers_enabled -eq 0 ]]; then + add_validation_error "No compiler enabled. At least one compiler must be available." + fi + + # Check Intel-specific dependencies + if [[ "${CONFIG_CACHE[with_intel]}" == "__SYSTEM__" || "${CONFIG_CACHE[with_intel]}" == "__INSTALL__" ]]; then + if [[ "${CONFIG_CACHE[with_mkl]}" == "__DONTUSE__" ]]; then + add_validation_warning "Intel compiler is enabled but MKL is disabled. Consider enabling MKL for optimal performance." + fi + if [[ "${CONFIG_CACHE[with_intelmpi]}" == "__DONTUSE__" ]]; then + add_validation_warning "Intel compiler is enabled but Intel MPI is disabled. Consider using Intel MPI for better integration." + fi + fi +} + +# Check system requirements +# Usage: validate_system_requirements +validate_system_requirements() { + # ABACUS itself and some dependencies require cmake. + # Check cmake requirement based on configuration (mirrors original L768-772) + if [[ "${CONFIG_CACHE[with_cmake]}" == "__DONTUSE__" ]]; then + add_validation_error_group "cmake_required" \ + "CMake is required for ABACUS and some dependencies. Please enable it." \ + "" \ + "SOLUTION: Use '--with-cmake=install' to automatically install CMake:" \ + " ./install_abacus_toolchain_new.sh --with-cmake=install [other options]" + return + fi + + # Check for required system tools (excluding cmake which is handled above) + local required_tools=("make" "git" "wget" "tar" "gzip") + local missing_tools=() + + # Only check for system cmake if using system cmake + if [[ "${CONFIG_CACHE[with_cmake]}" == "__SYSTEM__" ]]; then + if ! command -v "cmake" &> /dev/null; then + missing_tools+=("cmake") + else + # Check cmake version if it exists + local cmake_min_version="3.16" + local cmake_version=$(cmake --version 2>/dev/null | head -n 1 | awk '{print $3}') + + if [[ -z "$cmake_version" ]]; then + add_validation_error "Failed to determine CMake version" + add_validation_error "This usually indicates a corrupted or non-standard CMake installation." + add_validation_error "" + add_validation_error "SOLUTION: Use '--with-cmake=install' to install a known-good CMake version:" + add_validation_error " ./install_abacus_toolchain_new.sh --with-cmake=install [other options]" + add_validation_error "" + add_validation_error "This will install CMake ${cmake_ver:-3.29.6} with proper version information." + return + fi + + # Extract major and minor version numbers for comparison + local cmake_major=$(echo "$cmake_version" | awk -F. '{print $1}') + local cmake_minor=$(echo "$cmake_version" | awk -F. '{print $2}') + local min_major=$(echo "$cmake_min_version" | awk -F. '{print $1}') + local min_minor=$(echo "$cmake_min_version" | awk -F. '{print $2}') + + # Validate version format + if ! [[ "$cmake_major" =~ ^[0-9]+$ ]] || ! [[ "$cmake_minor" =~ ^[0-9]+$ ]]; then + add_validation_error "Unable to parse CMake version from: $cmake_version" + add_validation_error "Expected format: X.Y.Z (e.g., 3.29.6), but got: $cmake_version" + add_validation_error "" + add_validation_error "SOLUTION: Use '--with-cmake=install' to install a standard CMake version:" + add_validation_error " ./install_abacus_toolchain_new.sh --with-cmake=install [other options]" + add_validation_error "" + add_validation_error "This will install CMake ${cmake_ver:-3.29.6} with standard version format." + return + fi + + # Compare versions (major.minor comparison) + local version_too_old=false + if [[ "$cmake_major" -lt "$min_major" ]]; then + version_too_old=true + elif [[ "$cmake_major" -eq "$min_major" ]] && [[ "$cmake_minor" -lt "$min_minor" ]]; then + version_too_old=true + fi + + if [[ "$version_too_old" == "true" ]]; then + add_validation_error "CMake version $cmake_version is too old" + add_validation_error "Minimum required: CMake $cmake_min_version or newer (ABACUS requirement)" + add_validation_error "" + add_validation_error_group "cmake_outdated" \ + "Your system CMake is outdated and may cause build failures." \ + "" \ + "SOLUTION: Use '--with-cmake=install' to install a modern CMake version:" \ + " ./install_abacus_toolchain_new.sh --with-cmake=install [other options]" \ + "" \ + "This will install CMake ${cmake_ver:-3.29.6} (>= $cmake_min_version) with full feature support." + return + fi + + # Success - add informational message + add_validation_info "System CMake validated: version $cmake_version (>= $cmake_min_version required)" + fi + fi + + for tool in "${required_tools[@]}"; do + if ! command -v "$tool" &> /dev/null; then + missing_tools+=("$tool") + fi + done + + if [[ ${#missing_tools[@]} -gt 0 ]]; then + # Check if cmake is in the missing tools and provide specific guidance + if [[ " ${missing_tools[*]} " =~ " cmake " ]]; then + add_validation_error_group "cmake_missing" \ + "CMake is not installed on your system" \ + "CMake is required for building ABACUS and its dependencies." \ + "" \ + "SOLUTION: Use '--with-cmake=install' to automatically install CMake:" \ + " ./install_abacus_toolchain_new.sh --with-cmake=install [other options]" \ + "" \ + "This will install CMake ${cmake_ver:-3.29.6} with full feature support." + + # Remove cmake from missing_tools to avoid duplicate error messages + local filtered_tools=() + for tool in "${missing_tools[@]}"; do + if [[ "$tool" != "cmake" ]]; then + filtered_tools+=("$tool") + fi + done + missing_tools=("${filtered_tools[@]}") + fi + + # Report other missing tools if any + if [[ ${#missing_tools[@]} -gt 0 ]]; then + add_validation_error "Missing required system tools: ${missing_tools[*]}" + fi + fi + + # Check for development packages (common names) + local dev_packages=("build-essential" "gcc" "g++" "gfortran") + local missing_dev=() + + for pkg in "${dev_packages[@]}"; do + if ! command -v "$pkg" &> /dev/null && ! dpkg -l | grep -q "$pkg" 2>/dev/null; then + missing_dev+=("$pkg") + fi + done + + if [[ ${#missing_dev[@]} -gt 0 ]]; then + add_validation_warning "Potentially missing development packages: ${missing_dev[*]}" + fi + + # Check GCC version consistency and minimum requirements + # This mirrors the logic from original install_abacus_toolchain.sh L636-667 + if [[ "${CONFIG_CACHE[with_gcc]}" != "__INSTALL__" ]]; then + local gcc_min_version=5 + + # Check if GCC tools are available + if ! command -v gcc &> /dev/null || ! command -v g++ &> /dev/null || ! command -v gfortran &> /dev/null; then + local missing_tools=() + ! command -v gcc &> /dev/null && missing_tools+=("gcc") + ! command -v g++ &> /dev/null && missing_tools+=("g++") + ! command -v gfortran &> /dev/null && missing_tools+=("gfortran") + + add_validation_error_group "gcc_incomplete" \ + "System GCC toolchain incomplete. Missing: ${missing_tools[*]}" \ + "" \ + "SOLUTION: Use '--with-gcc=install' to automatically download and install a complete GCC toolchain:" \ + " ./install_abacus_toolchain_new.sh --with-gcc=install [other options]" \ + "" \ + "This will install GCC ${gcc_ver:-13.2.0} with all required components (gcc, g++, gfortran)." + return + fi + + # Get versions of GCC components + local gcc_version=$(gcc --version 2>/dev/null | head -n 1 | awk '{print $NF}') + local gxx_version=$(g++ --version 2>/dev/null | head -n 1 | awk '{print $NF}') + local gfc_version=$(gfortran --version 2>/dev/null | head -n 1 | awk '{print $NF}') + + # Check if version extraction was successful + if [[ -z "$gcc_version" || -z "$gxx_version" || -z "$gfc_version" ]]; then + local failed_tools=() + [[ -z "$gcc_version" ]] && failed_tools+=("gcc") + [[ -z "$gxx_version" ]] && failed_tools+=("g++") + [[ -z "$gfc_version" ]] && failed_tools+=("gfortran") + + add_validation_error_group "gcc_version_failed" \ + "Failed to determine GCC toolchain versions for: ${failed_tools[*]}" \ + "This usually indicates corrupted or non-standard GCC installation." \ + "" \ + "SOLUTION: Use '--with-gcc=install' to install a known-good GCC version:" \ + " ./install_abacus_toolchain_new.sh --with-gcc=install [other options]" \ + "" \ + "This will install GCC ${gcc_ver:-13.2.0} with proper version information." + return + fi + + # Check version consistency + if [[ "$gcc_version" != "$gxx_version" ]] || [[ "$gcc_version" != "$gfc_version" ]]; then + add_validation_error_group "gcc_version_inconsistent" \ + "GCC toolchain versions are inconsistent:" \ + " gcc: $gcc_version" \ + " g++: $gxx_version" \ + " gfortran: $gfc_version" \ + "" \ + "All GCC components must have the same version for proper compilation." \ + "SOLUTION: Use '--with-gcc=install' to install a consistent GCC toolchain:" \ + " ./install_abacus_toolchain_new.sh --with-gcc=install [other options]" \ + "" \ + "This will install GCC ${gcc_ver:-13.2.0} with all components at the same version." + return + fi + + # Extract major version number + local gcc_major=$(echo "$gcc_version" | awk -F. '{print $1}') + + # Validate major version is numeric and meets minimum requirement + if ! [[ "$gcc_major" =~ ^[0-9]+$ ]]; then + add_validation_error_group "gcc_version_parse_failed" \ + "Unable to parse GCC major version from: $gcc_version" \ + "Expected format: X.Y.Z (e.g., 13.2.0), but got: $gcc_version" \ + "" \ + "SOLUTION: Use '--with-gcc=install' to install a standard GCC version:" \ + " ./install_abacus_toolchain_new.sh --with-gcc=install [other options]" \ + "" \ + "This will install GCC ${gcc_ver:-13.2.0} with standard version format." + return + fi + + if [[ "$gcc_major" -lt "$gcc_min_version" ]]; then + add_validation_error_group "gcc_version_too_old" \ + "GCC version $gcc_version is too old (major version: $gcc_major)" \ + "Minimum required: GCC $gcc_min_version.x or newer (ABACUS requirement)" \ + "" \ + "Your system GCC is outdated and may cause compilation failures." \ + "" \ + "SOLUTION: Use '--with-gcc=install' to install a modern GCC version:" \ + " ./install_abacus_toolchain_new.sh --with-gcc=install [other options]" \ + "" \ + "This will install GCC ${gcc_ver:-13.2.0} (>= $gcc_min_version.x) with full C++17/C++20 support." + return + fi + + # Success - add informational message + add_validation_info "System GCC toolchain validated: version $gcc_version (>= $gcc_min_version.x required)" + fi +} + +# Check for logical inconsistencies +# Usage: validate_logical_consistency +validate_logical_consistency() { + # Check if ELPA is enabled without ScaLAPACK + if [[ "${CONFIG_CACHE[with_elpa]}" == "__INSTALL__" || "${CONFIG_CACHE[with_elpa]}" == "__SYSTEM__" ]]; then + if [[ "${CONFIG_CACHE[with_scalapack]}" == "__DONTUSE__" ]]; then + # Check if MKL is enabled (MKL provides ScaLAPACK functionality) + if [[ "${CONFIG_CACHE[MATH_MODE]}" == "mkl" || "${CONFIG_CACHE[with_mkl]}" == "__SYSTEM__" || "${CONFIG_CACHE[with_mkl]}" == "__INSTALL__" ]]; then + # MKL provides ScaLAPACK, so this is acceptable + : + else + add_validation_error "ELPA requires ScaLAPACK but ScaLAPACK is disabled." + fi + fi + fi + + # Check if ScaLAPACK is enabled without MPI + if [[ "${CONFIG_CACHE[with_scalapack]}" == "__INSTALL__" || "${CONFIG_CACHE[with_scalapack]}" == "__SYSTEM__" ]]; then + local mpi_enabled=false + for mpi in mpich openmpi intelmpi; do + if [[ "${CONFIG_CACHE[with_${mpi}]}" == "__INSTALL__" || "${CONFIG_CACHE[with_${mpi}]}" == "__SYSTEM__" ]]; then + mpi_enabled=true + break + fi + done + + if [[ "$mpi_enabled" == "false" ]]; then + add_validation_warning "ScaLAPACK is enabled but no MPI implementation is active." + fi + fi + + # Check for GPU-related inconsistencies + if [[ "${CONFIG_CACHE[GPUVER]}" != "no" ]]; then + if [[ "${CONFIG_CACHE[with_elpa]}" == "__INSTALL__" ]]; then + add_validation_warning "GPU support is enabled. Ensure ELPA is compiled with GPU support." + fi + fi +} + +# Validate package versions compatibility +# Usage: validate_package_versions +validate_package_versions() { + # This is a placeholder for version compatibility checks + # In a real implementation, you would check for known incompatible version combinations + + # Example: Check for known problematic combinations + if [[ "${CONFIG_CACHE[with_gcc]}" == "__INSTALL__" ]]; then + local gcc_version="${gcc_ver:-unknown}" + if [[ "$gcc_version" == "unknown" ]]; then + add_validation_warning "GCC version not specified. Using default version." + fi + fi +} + +# Run all validation checks +# Usage: validate_configuration +validate_configuration() { + config_validator_init + + echo "Running configuration validation..." + + # Run all validation checks + validate_math_libraries + validate_mpi_implementations + validate_compiler_consistency + validate_system_requirements + validate_logical_consistency + validate_package_versions + + # Report results using error groups for accurate counting + local error_groups=${#VALIDATION_ERROR_GROUPS[@]} + local warning_groups=${#VALIDATION_WARNING_GROUPS[@]} + local total_issues=$((error_groups + warning_groups)) + + if [[ ${#VALIDATION_ERRORS[@]} -gt 0 ]]; then + echo "" + echo "Configuration Errors Found:" + echo "==========================" + for error in "${VALIDATION_ERRORS[@]}"; do + echo " $error" + done + fi + + if [[ ${#VALIDATION_WARNINGS[@]} -gt 0 ]]; then + echo "" + echo "Configuration Warnings:" + echo "======================" + for warning in "${VALIDATION_WARNINGS[@]}"; do + echo " $warning" + done + fi + + if [[ $total_issues -eq 0 ]]; then + echo "✓ Configuration validation passed with no issues." + return 0 + else + echo "" + echo "Configuration validation completed with $total_issues issue(s)." + echo " Errors: $error_groups" + echo " Warnings: $warning_groups" + + # Return error code if there are validation errors + if [[ $error_groups -gt 0 ]]; then + return 1 + else + return 0 + fi + fi +} + +# Check if validation should be skipped +# Usage: should_skip_validation +should_skip_validation() { + if [[ "${CONFIG_CACHE[SKIP_SYSTEM_CHECKS]}" == "true" ]]; then + echo "Skipping configuration validation (SKIP_SYSTEM_CHECKS=true)" + return 0 + fi + return 1 +} diff --git a/toolchain/scripts/lib/error_handler.sh b/toolchain/scripts/lib/error_handler.sh new file mode 100644 index 0000000000..322fb2a498 --- /dev/null +++ b/toolchain/scripts/lib/error_handler.sh @@ -0,0 +1,135 @@ +#!/bin/bash + +# ============================================================================ +# ABACUS Toolchain Error Handler +# ============================================================================ +# Provides error handling and reporting functions for the toolchain +# Author: Quantum Misaka by Trae SOLO +# Date: 2025-10-16 +# ============================================================================ + +# Global error handling state +ERROR_HANDLER_INITIALIZED=false + +# Initialize error handler +# Usage: error_handler_init +error_handler_init() { + if [[ "$ERROR_HANDLER_INITIALIZED" == "true" ]]; then + return 0 + fi + + # Set up error trapping + set -e + trap 'error_handler ${LINENO}' ERR + + ERROR_HANDLER_INITIALIZED=true + return 0 +} + +# Main error handler function +# Usage: error_handler line_number [error_code] +error_handler() { + local line_number="$1" + local error_code="${2:-$?}" + local script_name="${SCRIPT_NAME:-${BASH_SOURCE[1]}}" + + echo "ERROR: Script failed at line $line_number in $script_name (exit code: $error_code)" >&2 + echo "Command that failed: ${BASH_COMMAND}" >&2 + + # Print stack trace + echo "Call stack:" >&2 + local frame=0 + while caller $frame; do + ((frame++)) + done | while read line func file; do + echo " at $func ($file:$line)" >&2 + done + + exit $error_code +} + +# Report error with context +# Usage: report_error line_number "error message" [context] +report_error() { + local line_number="" + local message="" + local context="" + + if [[ $# -gt 1 ]]; then + line_number="$1" + message="$2" + context="${3:-}" + else + message="$1" + fi + + local location="" + if [[ -n "$line_number" ]]; then + location=", line $line_number" + fi + + echo "ERROR: (${SCRIPT_NAME:-$0}${location}) $message" >&2 + if [[ -n "$context" ]]; then + echo "Context: $context" >&2 + fi +} + +# Report warning with context +# Usage: report_warning line_number "warning message" [context] +report_warning() { + local line_number="" + local message="" + local context="" + + if [[ $# -gt 1 ]]; then + line_number="$1" + message="$2" + context="${3:-}" + else + message="$1" + fi + + local location="" + if [[ -n "$line_number" ]]; then + location=", line $line_number" + fi + + echo "WARNING: (${SCRIPT_NAME:-$0}${location}) $message" >&2 + if [[ -n "$context" ]]; then + echo "Context: $context" >&2 + fi +} + +# Enhanced error reporting with error codes +# Usage: report_error_enhanced error_code "error message" [context] [line_number] +report_error_enhanced() { + local error_code="$1" + local error_message="$2" + local context="${3:-}" + local line_number="${4:-}" + + local location="" + if [[ -n "$line_number" ]]; then + location=", line $line_number" + fi + + echo "ERROR [$error_code]: (${SCRIPT_NAME:-$0}${location}) $error_message" >&2 + if [[ -n "$context" ]]; then + echo "Context: $context" >&2 + fi + + return $error_code +} + +# Enhanced warning reporting with severity levels +# Usage: report_warning_enhanced severity "warning message" [context] +report_warning_enhanced() { + local severity="$1" + local warning_message="$2" + local context="${3:-}" + + echo "$severity: (${SCRIPT_NAME:-$0}) $warning_message" >&2 + if [[ -n "$context" ]]; then + echo "Context: $context" >&2 + fi +} \ No newline at end of file diff --git a/toolchain/scripts/lib/package_manager.sh b/toolchain/scripts/lib/package_manager.sh new file mode 100644 index 0000000000..94a7c0b307 --- /dev/null +++ b/toolchain/scripts/lib/package_manager.sh @@ -0,0 +1,469 @@ +#!/bin/bash + +# ============================================================================ +# ABACUS Toolchain Package Manager +# ============================================================================ +# Handles package downloading, building, and installation +# Author: Quantum Misaka by Trae SOLO +# Date: 2025-10-16 +# ============================================================================ + +# Global package manager variables +PACKAGE_MANAGER_INITIALIZED=false +declare -A PACKAGE_BUILD_STATUS +declare -A PACKAGE_DEPENDENCIES + +# Initialize package manager +# Usage: package_manager_init +package_manager_init() { + if [[ "$PACKAGE_MANAGER_INITIALIZED" == "true" ]]; then + return 0 + fi + + # Initialize dependencies + if ! command -v config_manager_init &> /dev/null; then + source "${SCRIPTDIR}/lib/config_manager.sh" + fi + + config_manager_init + + # Define package dependencies + package_manager_define_dependencies + + PACKAGE_MANAGER_INITIALIZED=true + return 0 +} + +# Define package dependencies +# Usage: package_manager_define_dependencies +package_manager_define_dependencies() { + # Stage 0: Compilers and Build Tools + PACKAGE_DEPENDENCIES["gcc"]="" + PACKAGE_DEPENDENCIES["intel"]="" + PACKAGE_DEPENDENCIES["amd"]="" + PACKAGE_DEPENDENCIES["cmake"]="" + + # Stage 1: MPI Implementations (depend on compilers) + PACKAGE_DEPENDENCIES["openmpi"]="gcc cmake" + PACKAGE_DEPENDENCIES["mpich"]="gcc cmake" + PACKAGE_DEPENDENCIES["intelmpi"]="intel" + + # Stage 2: Mathematical Libraries (depend on compilers and MPI) + PACKAGE_DEPENDENCIES["openblas"]="gcc cmake" + PACKAGE_DEPENDENCIES["mkl"]="intel" + PACKAGE_DEPENDENCIES["aocl"]="amd" + + # Stage 3: Scientific Computing Libraries (depend on math libs and MPI) + PACKAGE_DEPENDENCIES["fftw"]="gcc cmake" + PACKAGE_DEPENDENCIES["libxc"]="gcc cmake" + PACKAGE_DEPENDENCIES["scalapack"]="openblas" + PACKAGE_DEPENDENCIES["elpa"]="scalapack" + + # Stage 4: Advanced Libraries + PACKAGE_DEPENDENCIES["cereal"]="gcc cmake" + PACKAGE_DEPENDENCIES["rapidjson"]="gcc cmake" + PACKAGE_DEPENDENCIES["libtorch"]="gcc cmake" + PACKAGE_DEPENDENCIES["libnpy"]="gcc cmake" + PACKAGE_DEPENDENCIES["libri"]="gcc cmake" + PACKAGE_DEPENDENCIES["libcomm"]="gcc cmake" + PACKAGE_DEPENDENCIES["nep"]="gcc cmake" +} + +# Check if package is enabled for installation +# Usage: package_is_enabled "package_name" +package_is_enabled() { + local package="$1" + local status=$(config_get "with_${package}") + + case "$status" in + "__INSTALL__"|"__SYSTEM__") + return 0 + ;; + *) + return 1 + ;; + esac +} + +# Get package installation mode +# Usage: package_get_mode "package_name" +package_get_mode() { + local package="$1" + config_get "with_${package}" +} + + +# Mark package as built +# Usage: package_mark_built "package_name" +package_mark_built() { + local package="$1" + PACKAGE_BUILD_STATUS["$package"]="built" +} + +# Get package dependencies +# Usage: package_get_dependencies "package_name" +package_get_dependencies() { + local package="$1" + echo "${PACKAGE_DEPENDENCIES[$package]}" +} + +# Check if all dependencies are satisfied +# Usage: package_check_dependencies "package_name" +package_check_dependencies() { + local package="$1" + local deps=$(package_get_dependencies "$package") + + for dep in $deps; do + if package_is_enabled "$dep"; then + if ! package_is_built "$dep"; then + echo "Dependency $dep for $package is not built yet" + return 1 + fi + fi + done + + return 0 +} + +# Install package by stage +# Usage: package_install_stage "stage_number" +package_install_stage() { + local stage="$1" + local stage_script="${SCRIPTDIR}/stage${stage}/install_stage${stage}.sh" + + if [[ ! -f "$stage_script" ]]; then + report_error ${LINENO} "Stage script not found: $stage_script" + return 1 + fi + + echo "Installing Stage ${stage} packages..." + + # Check if dry run mode + if [[ "$(config_get dry_run)" == "__TRUE__" ]]; then + echo "Dry run: would execute $stage_script" + return 0 + fi + + # Export version configuration for stage scripts + package_export_version_config + + # Execute stage installation script + if ! "$stage_script"; then + report_error ${LINENO} "Failed to install Stage ${stage} packages" + return 1 + fi + + echo "Stage ${stage} installation completed successfully" + return 0 +} + +# Install all enabled packages +# Usage: package_install_all +package_install_all() { + echo "Starting package installation process..." + + # Check if pack run mode (only check and install required packages) + if [[ "$(config_get PACK_RUN)" == "__TRUE__" ]]; then + echo "Pack run mode: checking and installing required packages only" + package_check_system_requirements + return $? + fi + + # Install packages by stages + for stage in 0 1 2 3 4; do + if ! package_install_stage "$stage"; then + report_error ${LINENO} "Failed to install stage $stage" + return 1 + fi + done + + echo "All package installations completed successfully" + return 0 +} + +# Check system requirements +# Usage: package_check_system_requirements +package_check_system_requirements() { + echo "Checking system requirements..." + + # Check for essential system tools + local required_tools="wget curl tar gzip make" + local missing_tools="" + + for tool in $required_tools; do + if ! command -v "$tool" &> /dev/null; then + missing_tools="$missing_tools $tool" + fi + done + + if [[ -n "$missing_tools" ]]; then + report_error ${LINENO} "Missing required system tools:$missing_tools" + echo "Please install these tools using your system package manager" + return 1 + fi + + # Check for compiler availability + local compiler_mode=$(config_get MATH_MODE) + case "$compiler_mode" in + gcc) + if ! command -v gcc &> /dev/null; then + report_warning ${LINENO} "GCC compiler not found in system PATH" + fi + ;; + intel) + if ! command -v icc &> /dev/null && ! command -v icx &> /dev/null; then + report_warning ${LINENO} "Intel compiler not found in system PATH" + fi + ;; + amd) + if ! command -v clang &> /dev/null; then + report_warning ${LINENO} "AMD/Clang compiler not found in system PATH" + fi + ;; + esac + + echo "System requirements check completed" + return 0 +} + +# Generate package configuration file +# Usage: package_write_config "config_file" +package_write_config() { + local config_file="$1" + + echo "# ABACUS Toolchain Package Configuration" > "$config_file" + echo "# Generated on $(date)" >> "$config_file" + echo "" >> "$config_file" + + # Write package lists + echo "tool_list=\"${tool_list}\"" >> "$config_file" + echo "mpi_list=\"${mpi_list}\"" >> "$config_file" + echo "math_list=\"${math_list}\"" >> "$config_file" + echo "lib_list=\"${lib_list}\"" >> "$config_file" + echo "package_list=\"${package_list}\"" >> "$config_file" + echo "" >> "$config_file" + + # Write package configurations + for pkg in ${package_list}; do + local status=$(config_get "with_${pkg}") + echo "with_${pkg}=\"${status}\"" >> "$config_file" + done + + echo "" >> "$config_file" + echo "# Configuration modes" >> "$config_file" + echo "MPI_MODE=\"$(config_get MPI_MODE)\"" >> "$config_file" + echo "MATH_MODE=\"$(config_get MATH_MODE)\"" >> "$config_file" + echo "TARGET_CPU=\"$(config_get TARGET_CPU)\"" >> "$config_file" + echo "GPUVER=\"$(config_get GPUVER)\"" >> "$config_file" + + echo "Package configuration written to: $config_file" +} + +# Get list of packages to install +# Usage: package_list_to_install +package_list_to_install() { + local install_packages="" + + for pkg in ${package_list}; do + if [[ "$(config_get with_${pkg})" == "__INSTALL__" ]]; then + install_packages="$install_packages $pkg" + fi + done + + echo "$install_packages" +} + +# Get list of system packages +# Usage: package_get_system_list +package_get_system_list() { + local system_packages="" + + for pkg in ${package_list}; do + if [[ "$(config_get with_${pkg})" == "__SYSTEM__" ]]; then + system_packages="$system_packages $pkg" + fi + done + + echo "$system_packages" +} + +# Print package installation summary +# Usage: package_print_summary +package_print_summary() { + echo "Package Installation Summary:" + echo "============================" + echo "" + + local install_list=$(package_get_install_list) + local system_list=$(package_get_system_list) + + if [[ -n "$install_list" ]]; then + echo "Packages to be installed from source:" + for pkg in $install_list; do + echo " - $pkg" + done + echo "" + fi + + if [[ -n "$system_list" ]]; then + echo "Packages to be used from system:" + for pkg in $system_list; do + echo " - $pkg" + done + echo "" + fi + + echo "Installation modes:" + echo " MPI Mode: $(config_get MPI_MODE)" + echo " Math Mode: $(config_get MATH_MODE)" + echo " Target CPU: $(config_get TARGET_CPU)" + echo " GPU Version: $(config_get GPUVER)" + echo "" +} + +# Validate package configuration +# Usage: package_validate_config +package_validate_config() { + local errors=0 + + # Check for conflicting MPI implementations + local mpi_count=0 + for mpi in mpich openmpi intelmpi; do + if [[ "$(config_get with_${mpi})" != "__DONTUSE__" ]]; then + ((mpi_count++)) + fi + done + + if [[ $mpi_count -gt 1 ]]; then + report_error ${LINENO} "Multiple MPI implementations selected. Please choose only one." + ((errors++)) + fi + + # Check for conflicting math libraries + local math_count=0 + for math in mkl openblas aocl; do + if [[ "$(config_get with_${math})" != "__DONTUSE__" ]]; then + ((math_count++)) + fi + done + + if [[ $math_count -gt 1 ]]; then + report_warning ${LINENO} "Multiple math libraries selected. This may cause conflicts." + fi + + # Check for GPU support consistency + local gpu_ver=$(config_get GPUVER) + if [[ "$gpu_ver" != "no" ]]; then + if [[ "$(config_get enable_cuda)" != "__TRUE__" && "$(config_get enable_hip)" != "__TRUE__" ]]; then + report_warning ${LINENO} "GPU version specified but no GPU support enabled" + fi + fi + + return $errors +} + +# Clean build directories +# Usage: package_clean_build +package_clean_build() { + if [[ -d "$BUILDDIR" ]]; then + echo "Cleaning build directory: $BUILDDIR" + rm -rf "$BUILDDIR" + fi + mkdir -p "$BUILDDIR" +} + +# Clean install directories +# Usage: package_clean_install +package_clean_install() { + if [[ -d "$INSTALLDIR" ]]; then + echo "Cleaning install directory: $INSTALLDIR" + rm -rf "$INSTALLDIR" + fi + mkdir -p "$INSTALLDIR" +} + +# Install all packages in pack run mode +# Usage: package_install_all_pack_run +package_install_all_pack_run() { + echo "Pack run mode - installing all packages in sequence" + + # Execute all stages in sequence + for stage in 0 1 2 3 4; do + local stage_script="${SCRIPTDIR}/stage${stage}/install_stage${stage}.sh" + if [[ -f "$stage_script" ]]; then + echo "Executing stage $stage in pack run mode..." + if ! "$stage_script"; then + echo "Stage $stage failed in pack run mode" + return 1 + fi + fi + done + + return 0 +} + +# Export version configuration for stage scripts +# Usage: package_export_version_config +package_export_version_config() { + # Export version suffix configuration + local use_alt_versions=$(config_get use_alt_versions) + + if [[ "$use_alt_versions" == "__TRUE__" ]]; then + export ABACUS_TOOLCHAIN_VERSION_SUFFIX="alt" + else + export ABACUS_TOOLCHAIN_VERSION_SUFFIX="main" + fi + + # Build package versions string from CONFIG_CACHE PACKAGE_VERSION_* entries + local package_versions="" + for key in "${!CONFIG_CACHE[@]}"; do + if [[ "$key" =~ ^PACKAGE_VERSION_(.+)$ ]]; then + local pkg_name="${BASH_REMATCH[1]}" + local pkg_version="${CONFIG_CACHE[$key]}" + local pkg_lower=$(echo "$pkg_name" | tr '[:upper:]' '[:lower:]') + + if [[ -n "$package_versions" ]]; then + package_versions="${package_versions} ${pkg_lower}:${pkg_version}" + else + package_versions="${pkg_lower}:${pkg_version}" + fi + fi + done + + # Export individual package version overrides + if [[ -n "$package_versions" ]]; then + export ABACUS_TOOLCHAIN_PACKAGE_VERSIONS="$package_versions" + fi + + # Export for backward compatibility + export VERSION_SUFFIX="$ABACUS_TOOLCHAIN_VERSION_SUFFIX" +} + +# Execute stage-based installation (stage0 -> stage1 -> stage2 -> stage3 -> stage4) +# This follows the original toolchain logic exactly +package_install_all_stages() { + echo "Starting stage-based installation..." + + # Export version configuration before starting stages + package_export_version_config + + # Execute stages in order, just like the original fallback version + local stages=("stage0" "stage1" "stage2" "stage3" "stage4") + + for stage in "${stages[@]}"; do + local stage_script="${SCRIPTDIR}/${stage}/install_${stage}.sh" + + if [[ -f "$stage_script" ]]; then + echo "Executing ${stage}..." + if ! "$stage_script"; then + report_error ${LINENO} "Failed to execute ${stage}" + return 1 + fi + else + echo "Warning: Stage script not found: $stage_script" + fi + done + + echo "All stages completed successfully." + return 0 +} \ No newline at end of file diff --git a/toolchain/scripts/lib/user_interface.sh b/toolchain/scripts/lib/user_interface.sh new file mode 100644 index 0000000000..2c18d7bf3f --- /dev/null +++ b/toolchain/scripts/lib/user_interface.sh @@ -0,0 +1,1179 @@ +#!/bin/bash + +# ============================================================================ +# ABACUS Toolchain User Interface Module (Enhanced) +# ============================================================================ +# Provides beautiful and consistent user interaction, help messages, and progress display +# Author: Quantum Misaka by Trae SOLO +# Date: 2025-10-16 +# Enhanced: Beautiful terminal output with harmonious color scheme +# ============================================================================ + +# Global UI variables +UI_INITIALIZED=false +UI_VERBOSE=false +UI_QUIET=false +UI_LOG_FILE="" + +# Enhanced color definitions with harmonious blue-based theme +if [[ -t 1 ]]; then + # Terminal supports colors - Enhanced color palette + readonly UI_RED='\033[38;5;196m' # Bright red for errors + readonly UI_GREEN='\033[38;5;46m' # Bright green for success + readonly UI_YELLOW='\033[38;5;226m' # Bright yellow for warnings + readonly UI_BLUE='\033[38;5;39m' # Bright blue for info (main theme) + readonly UI_PURPLE='\033[38;5;141m' # Purple for debug + readonly UI_CYAN='\033[38;5;51m' # Cyan for progress + readonly UI_WHITE='\033[38;5;255m' # Pure white + readonly UI_GRAY='\033[38;5;244m' # Gray for secondary text + readonly UI_ORANGE='\033[38;5;208m' # Orange for highlights + + # Style definitions + readonly UI_BOLD='\033[1m' + readonly UI_DIM='\033[2m' + readonly UI_ITALIC='\033[3m' + readonly UI_UNDERLINE='\033[4m' + readonly UI_BLINK='\033[5m' + readonly UI_REVERSE='\033[7m' + readonly UI_NC='\033[0m' # No Color + + # Background colors for special effects + readonly UI_BG_RED='\033[48;5;196m' + readonly UI_BG_GREEN='\033[48;5;46m' + readonly UI_BG_BLUE='\033[48;5;39m' + readonly UI_BG_YELLOW='\033[48;5;226m' +else + # No color support - fallback to empty strings + readonly UI_RED='' + readonly UI_GREEN='' + readonly UI_YELLOW='' + readonly UI_BLUE='' + readonly UI_PURPLE='' + readonly UI_CYAN='' + readonly UI_WHITE='' + readonly UI_GRAY='' + readonly UI_ORANGE='' + readonly UI_BOLD='' + readonly UI_DIM='' + readonly UI_ITALIC='' + readonly UI_UNDERLINE='' + readonly UI_BLINK='' + readonly UI_REVERSE='' + readonly UI_NC='' + readonly UI_BG_RED='' + readonly UI_BG_GREEN='' + readonly UI_BG_BLUE='' + readonly UI_BG_YELLOW='' +fi + +# Terminal Unicode support detection +UI_UNICODE_SUPPORT="" + +# Detect terminal Unicode support capability +# Returns: "full", "basic", or "none" +ui_detect_unicode_support() { + # Check if already detected + if [[ -n "$UI_UNICODE_SUPPORT" ]]; then + echo "$UI_UNICODE_SUPPORT" + return 0 + fi + + # Manual override via environment variable + if [[ "${ABACUS_UI_SIMPLE:-}" == "1" ]] || [[ "${ABACUS_UI_ASCII:-}" == "1" ]]; then + UI_UNICODE_SUPPORT="none" + echo "none" + return 0 + fi + + # Force Unicode mode if explicitly requested + if [[ "${ABACUS_UI_UNICODE:-}" == "1" ]]; then + UI_UNICODE_SUPPORT="full" + echo "full" + return 0 + fi + + # Check if we're in a non-interactive environment + if [[ ! -t 1 ]]; then + UI_UNICODE_SUPPORT="none" + echo "none" + return 0 + fi + + # Check locale settings for UTF-8 support + local locale_utf8=false + + # First check environment variables + if [[ "${LC_ALL:-}" =~ [Uu][Tt][Ff]-?8 ]] || \ + [[ "${LC_CTYPE:-}" =~ [Uu][Tt][Ff]-?8 ]] || \ + [[ "${LANG:-}" =~ [Uu][Tt][Ff]-?8 ]]; then + locale_utf8=true + fi + + # Additional check using locale command if available + if [[ "$locale_utf8" == "false" ]] && command -v locale &>/dev/null; then + local charset=$(locale charmap 2>/dev/null || echo "") + if [[ "$charset" =~ UTF-?8 ]]; then + locale_utf8=true + fi + fi + + # Check terminal type and capabilities + local term_support="none" + case "${TERM:-}" in + xterm*|screen*|tmux*|rxvt*|gnome*|konsole*|alacritty*|kitty*|iterm*) + if [[ "$locale_utf8" == "true" ]]; then + term_support="full" + else + term_support="basic" + fi + ;; + linux|vt*) + # Linux console - basic Unicode support + if [[ "$locale_utf8" == "true" ]]; then + term_support="basic" + else + term_support="none" + fi + ;; + dumb|unknown) + term_support="none" + ;; + *) + # Unknown terminal - be conservative + if [[ "$locale_utf8" == "true" ]]; then + term_support="basic" + else + term_support="none" + fi + ;; + esac + + # Final validation - ensure we have both locale and terminal support + if [[ "$term_support" != "none" && "$locale_utf8" == "false" ]]; then + # Terminal claims support but locale doesn't - be conservative + term_support="none" + fi + + UI_UNICODE_SUPPORT="$term_support" + echo "$term_support" +} + +# Unicode symbols with ASCII fallbacks +# These will be set based on terminal capability +UI_ICON_SUCCESS="" +UI_ICON_ERROR="" +UI_ICON_WARNING="" +UI_ICON_INFO="" +UI_ICON_PROGRESS="" +UI_ICON_ROCKET="" +UI_ICON_GEAR="" +UI_ICON_PACKAGE="" +UI_ICON_DOWNLOAD="" +UI_ICON_BUILD="" +UI_ICON_INSTALL="" +UI_ICON_CHECK="" +UI_ICON_CROSS="" +UI_ICON_ARROW="" +UI_ICON_STAR="" + +# Progress bar characters +UI_PROGRESS_FULL="" +UI_PROGRESS_PARTIAL1="" +UI_PROGRESS_PARTIAL2="" +UI_PROGRESS_EMPTY="" + +# Initialize Unicode icons based on terminal capability +ui_init_icons() { + local support=$(ui_detect_unicode_support) + + case "$support" in + "full") + # Full Unicode support - use emoji and special symbols + readonly UI_ICON_SUCCESS="✅" + readonly UI_ICON_ERROR="❌" + readonly UI_ICON_WARNING="⚠️" + readonly UI_ICON_INFO="ℹ️" + readonly UI_ICON_PROGRESS="🔄" + readonly UI_ICON_ROCKET="🚀" + readonly UI_ICON_GEAR="⚙️" + readonly UI_ICON_PACKAGE="📦" + readonly UI_ICON_DOWNLOAD="⬇️" + readonly UI_ICON_BUILD="🔨" + readonly UI_ICON_INSTALL="📥" + readonly UI_ICON_CHECK="✓" + readonly UI_ICON_CROSS="✗" + readonly UI_ICON_ARROW="→" + readonly UI_ICON_STAR="⭐" + # Full Unicode progress bar + readonly UI_PROGRESS_FULL="█" + readonly UI_PROGRESS_PARTIAL1="▓" + readonly UI_PROGRESS_PARTIAL2="▒" + readonly UI_PROGRESS_EMPTY="░" + ;; + "basic") + # Basic Unicode support - use simple Unicode symbols + readonly UI_ICON_SUCCESS="✓" + readonly UI_ICON_ERROR="✗" + readonly UI_ICON_WARNING="!" + readonly UI_ICON_INFO="i" + readonly UI_ICON_PROGRESS="*" + readonly UI_ICON_ROCKET="^" + readonly UI_ICON_GEAR="*" + readonly UI_ICON_PACKAGE="+" + readonly UI_ICON_DOWNLOAD="v" + readonly UI_ICON_BUILD="#" + readonly UI_ICON_INSTALL="+" + readonly UI_ICON_CHECK="✓" + readonly UI_ICON_CROSS="✗" + readonly UI_ICON_ARROW="→" + readonly UI_ICON_STAR="*" + # Basic Unicode progress bar + readonly UI_PROGRESS_FULL="█" + readonly UI_PROGRESS_PARTIAL1="▓" + readonly UI_PROGRESS_PARTIAL2="▒" + readonly UI_PROGRESS_EMPTY="░" + ;; + *) + # ASCII fallback - maximum compatibility + readonly UI_ICON_SUCCESS="[OK]" + readonly UI_ICON_ERROR="[ERR]" + readonly UI_ICON_WARNING="[WARN]" + readonly UI_ICON_INFO="[INFO]" + readonly UI_ICON_PROGRESS="[*]" + readonly UI_ICON_ROCKET="[^]" + readonly UI_ICON_GEAR="[*]" + readonly UI_ICON_PACKAGE="[+]" + readonly UI_ICON_DOWNLOAD="[v]" + readonly UI_ICON_BUILD="[#]" + readonly UI_ICON_INSTALL="[+]" + readonly UI_ICON_CHECK="[+]" + readonly UI_ICON_CROSS="[-]" + readonly UI_ICON_ARROW="->" + readonly UI_ICON_STAR="[*]" + # ASCII progress bar + readonly UI_PROGRESS_FULL="#" + readonly UI_PROGRESS_PARTIAL1="#" + readonly UI_PROGRESS_PARTIAL2="-" + readonly UI_PROGRESS_EMPTY="." + ;; + esac +} + +# Initialize user interface +# Usage: ui_init [verbose] [quiet] [log_file] +ui_init() { + if [[ "$UI_INITIALIZED" == "true" ]]; then + return 0 + fi + + # Parse options + while [[ $# -gt 0 ]]; do + case "$1" in + verbose) + UI_VERBOSE=true + ;; + quiet) + UI_QUIET=true + ;; + --log-file=*) + UI_LOG_FILE="${1#*=}" + ;; + *) + # Assume it's a log file path + UI_LOG_FILE="$1" + ;; + esac + shift + done + + # Initialize icons based on terminal capability + ui_init_icons + + UI_INITIALIZED=true + return 0 +} + +# Print colored message with enhanced formatting +# Usage: ui_print_color "color" "message" [icon] +ui_print_color() { + local color="$1" + local message="$2" + local icon="${3:-}" + + if [[ "$UI_QUIET" == "true" ]]; then + return 0 + fi + + if [[ -n "$icon" ]]; then + echo -e "${color}${icon} ${message}${UI_NC}" + else + echo -e "${color}${message}${UI_NC}" + fi + + # Log to file if specified + if [[ -n "$UI_LOG_FILE" ]]; then + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $message" >> "$UI_LOG_FILE" + fi +} + +# Print info message with enhanced styling +# Usage: ui_info "message" +ui_info() { + ui_print_color "${UI_BLUE}${UI_BOLD}" "$1" "$UI_ICON_INFO" +} + +# Print success message with enhanced styling +# Usage: ui_success "message" +ui_success() { + ui_print_color "${UI_GREEN}${UI_BOLD}" "$1" "$UI_ICON_SUCCESS" +} + +# Print warning message with enhanced styling +# Usage: ui_warning "message" +ui_warning() { + ui_print_color "${UI_YELLOW}${UI_BOLD}" "$1" "$UI_ICON_WARNING" +} + +# Print error message with enhanced styling +# Usage: ui_error "message" +ui_error() { + ui_print_color "${UI_RED}${UI_BOLD}" "$1" "$UI_ICON_ERROR" >&2 +} + +# Print debug message (only in verbose mode) with enhanced styling +# Usage: ui_debug "message" +ui_debug() { + if [[ "$UI_VERBOSE" == "true" ]]; then + ui_print_color "${UI_PURPLE}${UI_DIM}" "DEBUG: $1" "🔍" + fi +} + +# Detect glibc version using multiple methods for maximum compatibility +# Usage: ui_get_glibc_version +ui_get_glibc_version() { + local glibc_version="unknown" + + # Skip on non-Linux systems + if [[ "$(uname -s)" != "Linux" ]]; then + echo "unknown" + return 0 + fi + + # Method 1: ldd --version (most reliable) + if command -v ldd &> /dev/null; then + local ldd_output=$(ldd --version 2>/dev/null | head -n1) + if [[ $? -eq 0 && -n "$ldd_output" ]]; then + # Extract version from ldd output (e.g., "ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35") + glibc_version=$(echo "$ldd_output" | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?' | head -n1) + if [[ -n "$glibc_version" ]]; then + echo "$glibc_version" + return 0 + fi + fi + fi + + # Method 2: Direct library call (fallback) + local libc_paths=( + "/lib/x86_64-linux-gnu/libc.so.6" + "/lib64/libc.so.6" + "/lib/libc.so.6" + "/usr/lib/x86_64-linux-gnu/libc.so.6" + "/usr/lib64/libc.so.6" + ) + + for libc_path in "${libc_paths[@]}"; do + if [[ -x "$libc_path" ]]; then + local libc_output=$("$libc_path" 2>/dev/null | head -n1) + if [[ $? -eq 0 && -n "$libc_output" ]]; then + # Extract version from libc output + glibc_version=$(echo "$libc_output" | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?' | head -n1) + if [[ -n "$glibc_version" ]]; then + echo "$glibc_version" + return 0 + fi + fi + fi + done + + # Method 3: getconf GNU_LIBC_VERSION (alternative) + if command -v getconf &> /dev/null; then + local getconf_output=$(getconf GNU_LIBC_VERSION 2>/dev/null) + if [[ $? -eq 0 && -n "$getconf_output" ]]; then + # Extract version from getconf output (e.g., "glibc 2.35") + glibc_version=$(echo "$getconf_output" | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?' | head -n1) + if [[ -n "$glibc_version" ]]; then + echo "$glibc_version" + return 0 + fi + fi + fi + + # Method 4: Check /proc/version_signature or similar (last resort) + if [[ -r "/proc/version" ]]; then + local proc_version=$(cat /proc/version 2>/dev/null) + if [[ -n "$proc_version" ]]; then + # Look for glibc version in kernel version string (rare but possible) + glibc_version=$(echo "$proc_version" | grep -oE 'glibc[[:space:]]*[0-9]+\.[0-9]+(\.[0-9]+)?' | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?' | head -n1) + if [[ -n "$glibc_version" ]]; then + echo "$glibc_version" + return 0 + fi + fi + fi + + # All methods failed - return unknown + echo "unknown" + return 0 +} + +# Read version from VERSION file +# Usage: ui_get_version +ui_get_version() { + local version_file + local version="Unknown" + + # Try to find VERSION file in multiple locations + if [[ -n "${SCRIPT_DIR:-}" && -f "${SCRIPT_DIR}/VERSION" ]]; then + version_file="${SCRIPT_DIR}/VERSION" + elif [[ -f "$(dirname "${BASH_SOURCE[0]}")/../VERSION" ]]; then + version_file="$(dirname "${BASH_SOURCE[0]}")/../VERSION" + elif [[ -f "./scripts/VERSION" ]]; then + version_file="./scripts/VERSION" + elif [[ -f "./VERSION" ]]; then + version_file="./VERSION" + fi + + if [[ -n "$version_file" && -f "$version_file" ]]; then + # Extract version from VERSION file, handling different formats + version=$(grep -E '^VERSION=' "$version_file" 2>/dev/null | cut -d'=' -f2 | tr -d '"' | tr -d "'" | xargs) + if [[ -z "$version" ]]; then + # Fallback: try to read the entire file content if no VERSION= line + version=$(head -n 1 "$version_file" 2>/dev/null | grep -v '^#' | xargs) + fi + if [[ -z "$version" ]]; then + version="Unknown" + fi + fi + + echo "$version" +} + +# Print beautiful welcome banner +# Usage: ui_welcome_banner +ui_welcome_banner() { + if [[ "$UI_QUIET" == "true" ]]; then + return 0 + fi + + local banner_width=80 + local title="ABACUS Toolchain Installation" + local subtitle="DFT Calculation Made Simple" + local version=$(ui_get_version) + local version_text="Version $version" + + echo "" + ui_print_color "${UI_CYAN}${UI_BOLD}" "$(printf '═%.0s' $(seq 1 $banner_width))" + echo "" + ui_print_color "${UI_BLUE}${UI_BOLD}" "$(printf '%*s' $(((banner_width + ${#title}) / 2)) "$title")" + ui_print_color "${UI_GRAY}${UI_ITALIC}" "$(printf '%*s' $(((banner_width + ${#subtitle}) / 2)) "$subtitle")" + ui_print_color "${UI_GRAY}${UI_DIM}" "$(printf '%*s' $(((banner_width + ${#version_text}) / 2)) "$version_text")" + echo "" + ui_print_color "${UI_CYAN}${UI_BOLD}" "$(printf '═%.0s' $(seq 1 $banner_width))" + echo "" +} + +# Print beautiful section header with enhanced styling +# Usage: ui_section "title" +ui_section() { + local title="$1" + local line_width=60 + + if [[ "$UI_QUIET" != "true" ]]; then + echo "" + ui_print_color "${UI_CYAN}${UI_BOLD}" "$(printf '─%.0s' $(seq 1 $line_width))" + ui_print_color "${UI_BLUE}${UI_BOLD}" "${UI_ICON_GEAR} $title" + ui_print_color "${UI_CYAN}${UI_BOLD}" "$(printf '─%.0s' $(seq 1 $line_width))" + echo "" + fi +} + +# Print enhanced progress bar with percentage and ETA +# Usage: ui_progress "current" "total" "description" [eta_seconds] +ui_progress() { + local current="$1" + local total="$2" + local description="$3" + local eta_seconds="${4:-}" + + if [[ "$UI_QUIET" == "true" ]]; then + return 0 + fi + + local percent=$((current * 100 / total)) + local filled=$((percent / 2)) + local empty=$((50 - filled)) + + # Create progress bar with gradient effect using detected characters + local progress_bar="" + for ((i=1; i<=filled; i++)); do + if [[ $i -le 10 ]]; then + progress_bar+="$UI_PROGRESS_FULL" + elif [[ $i -le 30 ]]; then + progress_bar+="$UI_PROGRESS_PARTIAL1" + else + progress_bar+="$UI_PROGRESS_PARTIAL2" + fi + done + + for ((i=1; i<=empty; i++)); do + progress_bar+="$UI_PROGRESS_EMPTY" + done + + # Format ETA if provided + local eta_text="" + if [[ -n "$eta_seconds" && "$eta_seconds" -gt 0 ]]; then + local eta_min=$((eta_seconds / 60)) + local eta_sec=$((eta_seconds % 60)) + eta_text=" (ETA: ${eta_min}m${eta_sec}s)" + fi + + printf "\r${UI_CYAN}${UI_ICON_PROGRESS} Progress: ${UI_BOLD}[${progress_bar}]${UI_NC} ${UI_GREEN}${percent}%%${UI_NC} - ${UI_BLUE}%s${UI_NC}${eta_text}" "$description" + + if [[ $current -eq $total ]]; then + echo "" + ui_success "Task completed successfully!" + fi +} + +# Show enhanced help message with beautiful formatting +# Usage: ui_show_help +ui_show_help() { + ui_welcome_banner + + cat << 'EOF' +USAGE: + install_abacus_toolchain_new.sh [OPTIONS] + +DESCRIPTION: + This script installs the ABACUS toolchain and its dependencies with a beautiful + and user-friendly interface. It supports various compilers, MPI implementations, + and mathematical libraries for density functional theory calculations. + +RECOMMENDED WORKFLOW: + 1. 🔍 Run with --help to see all available options + 2. 🧪 Use --dry-run to preview what will be installed + 3. 🚀 Run the actual installation + 4. ⚙️ Source the setup file before building ABACUS + +BASIC OPTIONS: + -h, --help Show this comprehensive help message + --version Show version information + --version-info [PACKAGE] Show version information for specific package or all + --dry-run Preview installation without executing (recommended first) + --pack-run Only download packages without building + +CONFIGURATION OPTIONS: + --config-file Load configuration from specified file + 🎯 Default: ./install_abacus_toolchain.conf + + --mpi-mode MPI implementation to use + 📋 Options: mpich, openmpi, intelmpi, no + 🎯 Default: mpich (auto-detect available) + + --math-mode Mathematical library to use + 📋 Options: mkl, aocl, openblas, cray, no + 🎯 Default: openblas + + --gpu-ver GPU version for ELPA (CUDA compute capability) + 📋 Options: Numeric (7.0, 7.5, 8.0, etc.) or (70, 75, 80, etc.) + 🎯 Default: no (CPU-only) + + --target-cpu Target CPU architecture for optimizations + 🎯 Default: native (auto-detect) + + --log-lines Number of log lines to show during compilation + 🎯 Default: 200 + +PACKAGE CONTROL OPTIONS: + --package-version Set package version strategy + 📋 Format: package:version (e.g., openmpi:alt, openblas:main) + 📋 Versions: main (latest stable), alt (alternative/legacy) + + --with-= Fine-tune package installation modes + 📋 Modes: install, system, no, + 📦 Build Tools: gcc, cmake + 📦 Compilers: intel, intel-classic, ifx, amd, flang + 📦 MPI Libraries: openmpi, mpich, intelmpi + 📦 Math Libraries: mkl, aocl, openblas, scalapack + 📦 Scientific: libxc, fftw, elpa + 📦 Advanced: cereal, rapidjson, libri, libcomm, libtorch, libnpy, nep + +ADVANCED OPTIONS: + --enable-[=yes/no] Enable specific advanced features + 📋 Features: tsan, cuda, hip, opencl, cray + 🎯 Default: no for all features + + --with-intel-classic[=yes/no] Use Intel Classic compiler (icc/ifort) + 🎯 Default: no (uses OneAPI icx/ifx) + + --with-intel-mpi-classic[=yes/no] Use Intel MPI Classic + 🎯 Default: no + + --with-ifx[=yes/no] Use Intel Fortran compiler (ifx) + 🎯 Default: yes (when Intel is enabled) + + --with-flang[=yes/no] Use AMD Flang Fortran compiler + 🎯 Default: no + + --with-4th-openmpi[=yes/no] Use OpenMPI 4th generation (v4.x) + 🎯 Default: no (uses v5.x) + + --with-mpich-device= MPICH device type + 📋 Options: ch3, ch4 + 🎯 Default: ch4 + + --skip-system-checks Skip system validation checks + +EXAMPLES: + # 🎯 Basic installation with OpenMPI and OpenBLAS + ./install_abacus_toolchain_new.sh --mpi-mode openmpi --math-mode openblas + + # 🧪 Preview installation with all packages + ./install_abacus_toolchain_new.sh --dry-run --mpi-mode mpich + + # 🏭 Intel compiler with MKL (high performance) + ./install_abacus_toolchain_new.sh --with-intel=install --math-mode mkl + + # 🎮 GPU-enabled installation for CUDA compute capability 8.0 + ./install_abacus_toolchain_new.sh --enable-cuda --gpu-ver 8.0 + + # 🔧 Custom configuration with specific package versions + ./install_abacus_toolchain_new.sh --package-version openmpi:alt --with-fftw=system + + # 📁 Load configuration from file + ./install_abacus_toolchain_new.sh --config-file my_config.conf --dry-run + + # 🚀 Use pre-configured toolchain scripts (recommended) + ./toolchain_gnu.sh # GNU toolchain (GCC + OpenMPI + OpenBLAS) + ./toolchain_intel.sh # Intel toolchain (Intel + MPI + MKL) + ./toolchain_gcc-aocl.sh # GCC + AMD AOCL + ./toolchain_aocc-aocl.sh # AMD AOCC + AOCL + +ENVIRONMENT VARIABLES: + NPROCS_OVERWRITE=N Override parallel compilation processes + DOWNLOAD_CERT_POLICY Certificate verification policy (strict/smart/skip) + 🎯 Default: smart (try secure, fallback if needed) + +NOTES: + 📁 Build and install directories can be safely deleted after installation + 🔧 Source the setup file (install/setup) before building ABACUS + 🧪 Always use --dry-run first to preview changes + 📋 Check log files in build/PKG_NAME/make.log for compilation errors + 💡 For detailed information, see the documentation in README.md + 🎛️ Configuration files allow saving and reusing complex setups + 🚀 Use toolchain_*.sh scripts for easier pre-configured installations + +EOF + + ui_print_color "${UI_ORANGE}${UI_BOLD}" "${UI_ICON_STAR} For the best experience, start with: ${UI_WHITE}./install_abacus_toolchain_new.sh --dry-run${UI_NC}" + echo "" +} + +# Show enhanced package installation summary with beautiful table formatting +# Usage: ui_show_summary +ui_show_summary() { + ui_section "Installation Configuration Summary" + + # System information box + ui_print_color "${UI_BLUE}${UI_BOLD}" "🖥️ System Information:" + echo " ├─ OS: $(uname -s) $(uname -m)" + echo " ├─ Kernel: $(uname -r)" + echo " ├─ glibc: $(ui_get_glibc_version)" + echo " ├─ CPU Cores: $(nproc 2>/dev/null || echo "unknown")" + # CPU model detection + local cpu_model="unknown" + if command -v lscpu &> /dev/null; then + cpu_model=$(LC_ALL=C lscpu | awk -F: '/^Model name/{print $2}' | sed 's/^[[:space:]]*//') + fi + if [[ -z "$cpu_model" || "$cpu_model" == "unknown" ]] && [[ -r /proc/cpuinfo ]]; then + cpu_model=$(awk -F: '/model name|Hardware|Processor/{print $2; exit}' /proc/cpuinfo | sed 's/^[[:space:]]*//') + fi + echo " ├─ CPU Model: ${cpu_model}" + if command -v free &> /dev/null; then + local mem_gb=$(free -g | awk '/^Mem:/ {print $2}') + echo " ├─ Memory: ${mem_gb}GB" + else + echo " ├─ Memory: unknown" + fi + + # GPU detection with comprehensive vendor support + local gpu_info="no GPU detected" + local gpu_count=0 + local gpu_models="" + + # Method 1: Try nvidia-smi for NVIDIA GPUs + if command -v nvidia-smi &> /dev/null; then + local nvidia_output=$(nvidia-smi --query-gpu=name --format=csv,noheader,nounits 2>/dev/null) + if [[ $? -eq 0 && -n "$nvidia_output" ]]; then + gpu_count=$(echo "$nvidia_output" | wc -l) + if [[ $gpu_count -gt 0 ]]; then + local first_gpu=$(echo "$nvidia_output" | head -n1 | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + if [[ $gpu_count -eq 1 ]]; then + gpu_info="$first_gpu" + else + gpu_info="$first_gpu (${gpu_count} devices)" + fi + fi + fi + fi + + # Method 2: Try rocm-smi for AMD GPUs (if no NVIDIA found) + if [[ "$gpu_info" == "no GPU detected" ]] && command -v rocm-smi &> /dev/null; then + local amd_output=$(rocm-smi --showproductname 2>/dev/null | grep -E "GPU\[" | head -n1) + if [[ $? -eq 0 && -n "$amd_output" ]]; then + local amd_name=$(echo "$amd_output" | sed -n 's/.*: \(.*\)/\1/p' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + if [[ -n "$amd_name" ]]; then + local amd_count=$(rocm-smi --showproductname 2>/dev/null | grep -c "GPU\[" || echo "1") + if [[ $amd_count -eq 1 ]]; then + gpu_info="$amd_name" + else + gpu_info="$amd_name (${amd_count} devices)" + fi + fi + fi + fi + + # Method 3: Try lspci as fallback for any GPU vendor + if [[ "$gpu_info" == "no GPU detected" ]] && command -v lspci &> /dev/null; then + local pci_gpus=$(lspci 2>/dev/null | grep -i "vga\|3d\|display" | grep -v "audio") + if [[ -n "$pci_gpus" ]]; then + gpu_count=$(echo "$pci_gpus" | wc -l) + local first_gpu_line=$(echo "$pci_gpus" | head -n1) + + # Extract GPU name from lspci output + local gpu_name="" + if echo "$first_gpu_line" | grep -qi "nvidia"; then + gpu_name=$(echo "$first_gpu_line" | sed -n 's/.*NVIDIA Corporation \(.*\) (rev.*/\1/p' | sed 's/\[.*\]//g' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + [[ -z "$gpu_name" ]] && gpu_name=$(echo "$first_gpu_line" | sed -n 's/.*NVIDIA \(.*\)/\1/p' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + [[ -z "$gpu_name" ]] && gpu_name="NVIDIA GPU" + elif echo "$first_gpu_line" | grep -qi "amd\|ati\|radeon"; then + gpu_name=$(echo "$first_gpu_line" | sed -n 's/.*Advanced Micro Devices.*\[\(.*\)\].*/\1/p' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + [[ -z "$gpu_name" ]] && gpu_name=$(echo "$first_gpu_line" | sed -n 's/.*AMD\/ATI \(.*\)/\1/p' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + [[ -z "$gpu_name" ]] && gpu_name="AMD GPU" + elif echo "$first_gpu_line" | grep -qi "intel"; then + gpu_name=$(echo "$first_gpu_line" | sed -n 's/.*Intel Corporation \(.*\) (rev.*/\1/p' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + [[ -z "$gpu_name" ]] && gpu_name="Intel GPU" + else + gpu_name="Unknown GPU" + fi + + if [[ -n "$gpu_name" && "$gpu_name" != "Unknown GPU" ]]; then + if [[ $gpu_count -eq 1 ]]; then + gpu_info="$gpu_name" + else + gpu_info="$gpu_name (${gpu_count} devices)" + fi + fi + fi + fi + + echo " └─ GPU: $gpu_info" + echo "" + + # Configuration box with aligned formatting + ui_print_color "${UI_BLUE}${UI_BOLD}" "⚙️ Build Configuration:" + printf " ├─ %-15s %s\n" "MPI Mode:" "$(config_get MPI_MODE)" + printf " ├─ %-15s %s\n" "Math Mode:" "$(config_get MATH_MODE)" + printf " ├─ %-15s %s\n" "Target CPU:" "$(config_get TARGET_CPU)" + printf " ├─ %-15s %s\n" "GPU Version:" "$(config_get GPUVER)" + printf " └─ %-15s %s\n" "Parallel Jobs:" "$(config_get NPROCS_OVERWRITE)" + + # Special modes + if [[ "$(config_get dry_run)" == "__TRUE__" ]]; then + ui_print_color "${UI_YELLOW}${UI_BOLD}" " 🧪 Dry Run Mode: Preview only (no actual installation)" + fi + if [[ "$(config_get PACK_RUN)" == "__TRUE__" ]]; then + ui_print_color "${UI_YELLOW}${UI_BOLD}" " 📦 Pack Run Mode: System packages only" + fi + echo "" + + # Package configuration table + ui_print_color "${UI_BLUE}${UI_BOLD}" "📦 Package Configuration:" + local has_packages=false + for pkg in ${package_list}; do + local status=$(config_get "with_${pkg}") + if [[ "$status" != "__DONTUSE__" ]]; then + has_packages=true + # Convert status for display + local display_status="$status" + local status_icon="" + case "$status" in + "__INSTALL__") + display_status="${UI_GREEN}install${UI_NC}" + status_icon="📥" + ;; + "__SYSTEM__") + display_status="${UI_BLUE}system${UI_NC}" + status_icon="🔗" + ;; + "__DONTUSE__") + display_status="${UI_GRAY}disabled${UI_NC}" + status_icon="❌" + ;; + *) + display_status="${UI_ORANGE}${status}${UI_NC}" + status_icon="📁" + ;; + esac + printf " ├─ %s %-12s %b %b\n" "$status_icon" "$pkg:" "$UI_ARROW" "$display_status" + fi + done + + if [[ "$has_packages" == "false" ]]; then + ui_print_color "${UI_GRAY}" " └─ No packages configured" + else + echo " └─ Configuration complete" + fi + echo "" + + # Installation summary + local install_list=$(package_list_to_install 2>/dev/null || echo "") + if [[ -n "$install_list" ]]; then + ui_print_color "${UI_GREEN}${UI_BOLD}" "🚀 Packages to be built from source:" + for pkg in $install_list; do + ui_print_color "${UI_GREEN}" " ${UI_ICON_BUILD} $pkg" + done + echo "" + fi + + # System packages + local system_packages="" + for pkg in ${package_list}; do + if [[ "$(config_get with_${pkg})" == "__SYSTEM__" ]]; then + system_packages="$system_packages $pkg" + fi + done + + if [[ -n "$system_packages" ]]; then + ui_print_color "${UI_BLUE}${UI_BOLD}" "🔗 System packages to be used:" + for pkg in $system_packages; do + ui_print_color "${UI_BLUE}" " ${UI_ICON_CHECK} $pkg" + done + echo "" + fi +} + +# Confirm installation with user +# Usage: ui_confirm_installation +ui_confirm_installation() { + # Skip confirmation in dry-run mode + if [[ "$(config_get dry_run)" == "__TRUE__" ]]; then + ui_info "Dry run mode - no actual installation will be performed" + return 0 + fi + + # Skip confirmation in quiet mode + if [[ "$UI_QUIET" == "true" ]]; then + return 0 + fi + + # Simple confirmation prompt + echo "" + echo -n "Proceed with installation? [y/N]: " + read -r response + + case "$response" in + [yY]|[yY][eE][sS]) + return 0 + ;; + *) + ui_info "Installation cancelled" + return 1 + ;; + esac +} + +# Show installation progress for a stage with enhanced styling +# Usage: ui_stage_progress "stage_number" "stage_name" +ui_stage_progress() { + local stage="$1" + local name="$2" + + ui_section "Stage $stage: $name" + ui_print_color "${UI_CYAN}${UI_BOLD}" "${UI_ICON_ROCKET} Installing packages for stage $stage..." +} + +# Show package build progress with enhanced visual feedback +# Usage: ui_package_progress "package_name" "action" +ui_package_progress() { + local package="$1" + local action="$2" + + case "$action" in + start) + ui_print_color "${UI_BLUE}${UI_BOLD}" "${UI_ICON_BUILD} Building $package..." + ;; + download) + ui_debug "${UI_ICON_DOWNLOAD} Downloading $package..." + ;; + extract) + ui_debug "${UI_ICON_PACKAGE} Extracting $package..." + ;; + configure) + ui_debug "${UI_ICON_GEAR} Configuring $package..." + ;; + compile) + ui_debug "${UI_ICON_BUILD} Compiling $package..." + ;; + install) + ui_debug "${UI_ICON_INSTALL} Installing $package..." + ;; + success) + ui_success "Successfully built $package" + ;; + skip) + ui_print_color "${UI_GRAY}${UI_BOLD}" "${UI_ICON_INFO} Skipping $package (already built or disabled)" + ;; + error) + ui_error "Failed to build $package" + ;; + esac +} + +# Show enhanced final installation results +# Usage: ui_show_results "success_count" "total_count" "failed_packages" +ui_show_results() { + local success_count="$1" + local total_count="$2" + local failed_packages="$3" + + ui_section "Installation Results" + + if [[ $success_count -eq $total_count ]]; then + ui_success "All packages installed successfully! ($success_count/$total_count)" + echo "" + ui_print_color "${UI_GREEN}${UI_BOLD}" "${UI_ICON_ROCKET} Ready to use ABACUS toolchain!" + echo "" + ui_print_color "${UI_BLUE}${UI_BOLD}" "🔧 To activate the toolchain environment:" + ui_print_color "${UI_WHITE}" " source ${SETUPFILE:-setup}" + ui_print_color "${UI_GRAY}" " # or alternatively:" + ui_print_color "${UI_WHITE}" " source ${INSTALLDIR:-install}/abacus_env.sh" + echo "" + ui_print_color "${UI_BLUE}${UI_BOLD}" "🚀 Build ABACUS with:" + ui_print_color "${UI_WHITE}" " ./build_abacus_gnu.sh # GNU toolchain" + ui_print_color "${UI_WHITE}" " ./build_abacus_intel.sh # Intel toolchain" + ui_print_color "${UI_WHITE}" " ./build_abacus_gcc-aocl.sh # AMD GCC+AOCL" + ui_print_color "${UI_WHITE}" " ./build_abacus_aocc-aocl.sh # AMD AOCC+AOCL" + else + local failed_count=$((total_count - success_count)) + ui_error "Installation completed with errors ($success_count/$total_count successful)" + echo "" + if [[ -n "$failed_packages" ]]; then + ui_print_color "${UI_RED}${UI_BOLD}" "❌ Failed packages:" + for pkg in $failed_packages; do + ui_print_color "${UI_RED}" " ${UI_ICON_CROSS} $pkg" + done + fi + echo "" + ui_print_color "${UI_YELLOW}${UI_BOLD}" "🔍 Troubleshooting tips:" + ui_print_color "${UI_YELLOW}" " • Check log files for detailed error information" + ui_print_color "${UI_YELLOW}" " • Install missing system dependencies" + ui_print_color "${UI_YELLOW}" " • Verify network connectivity for downloads" + ui_print_color "${UI_YELLOW}" " • Try with --install-all for problematic packages" + fi +} + +# Show enhanced environment setup instructions +# Usage: ui_show_env_setup +ui_show_env_setup() { + ui_section "Environment Setup Instructions" + + ui_print_color "${UI_BLUE}${UI_BOLD}" "🔧 To use the installed ABACUS toolchain:" + echo "" + ui_print_color "${UI_GREEN}${UI_BOLD}" " source ${SETUPFILE:-setup}" + ui_print_color "${UI_GRAY}" " # or" + ui_print_color "${UI_GREEN}${UI_BOLD}" " source ${INSTALLDIR:-install}/abacus_env.sh" + echo "" + ui_print_color "${UI_BLUE}${UI_BOLD}" "🚀 Then build ABACUS with:" + ui_print_color "${UI_GREEN}${UI_BOLD}" " make -j\$(nproc)" + echo "" + ui_warning "The environment setup needs to be done in each new shell session" +} + +# Handle user interruption with graceful cleanup +# Usage: ui_handle_interrupt +ui_handle_interrupt() { + echo "" + ui_warning "Installation interrupted by user (Ctrl+C)" + ui_print_color "${UI_BLUE}${UI_BOLD}" "${UI_ICON_GEAR} Cleaning up temporary files..." + + # Clean up any temporary files or processes + if [[ -n "$BUILDDIR" && -d "$BUILDDIR" ]]; then + ui_debug "Cleaning build directory: $BUILDDIR" + # Don't remove the entire build directory, just mark as interrupted + touch "$BUILDDIR/.interrupted" + fi + + ui_print_color "${UI_YELLOW}${UI_BOLD}" "${UI_ICON_INFO} Installation cancelled - you can resume later" + exit 130 +} + +# Set up signal handlers +# Usage: ui_setup_signals +ui_setup_signals() { + trap ui_handle_interrupt SIGINT SIGTERM +} + +# Enhanced input validation with helpful error messages +# Usage: ui_validate_input "input" "type" +ui_validate_input() { + local input="$1" + local type="$2" + + case "$type" in + number) + if [[ ! "$input" =~ ^[0-9]+$ ]]; then + ui_error "Invalid number: $input" + ui_info "Please provide a positive integer" + return 1 + fi + ;; + path) + if [[ ! -d "$input" ]]; then + ui_error "Directory does not exist: $input" + ui_info "Please provide a valid directory path" + return 1 + fi + ;; + file) + if [[ ! -f "$input" ]]; then + ui_error "File does not exist: $input" + ui_info "Please provide a valid file path" + return 1 + fi + ;; + mpi_mode) + case "$input" in + mpich|openmpi|intelmpi|no) + return 0 + ;; + *) + ui_error "Invalid MPI mode: $input" + ui_print_color "${UI_BLUE}${UI_BOLD}" "📋 Valid options:" + ui_print_color "${UI_GREEN}" " • mpich - MPICH implementation (recommended)" + ui_print_color "${UI_GREEN}" " • openmpi - Open MPI implementation" + ui_print_color "${UI_GREEN}" " • intelmpi - Intel MPI (requires Intel compiler)" + ui_print_color "${UI_GREEN}" " • no - Disable MPI support" + return 1 + ;; + esac + ;; + math_mode) + case "$input" in + cray|mkl|openblas|aocl) + return 0 + ;; + *) + ui_error "Invalid math mode: $input" + ui_print_color "${UI_BLUE}${UI_BOLD}" "📋 Valid options:" + ui_print_color "${UI_GREEN}" " • openblas - OpenBLAS (open source, recommended)" + ui_print_color "${UI_GREEN}" " • mkl - Intel Math Kernel Library (high performance)" + ui_print_color "${UI_GREEN}" " • aocl - AMD Optimizing CPU Libraries" + ui_print_color "${UI_GREEN}" " • cray - Cray LibSci (for Cray systems)" + return 1 + ;; + esac + ;; + gpu_version) + # Support only numeric formats for GPU versions + if [[ "$input" == "no" ]]; then + return 0 + fi + + # Check if it's a valid numeric format (like 8.0, 70, 80, etc.) + local arch_num="${input//.}" + if [[ "$arch_num" =~ ^[1-9][0-9]*$ ]]; then + return 0 + fi + + # Invalid format - show enhanced error message + ui_error "Invalid GPU version: $input" + ui_print_color "${UI_BLUE}${UI_BOLD}" "📋 Valid formats:" + ui_print_color "${UI_GREEN}" " • Decimal format: 6.0, 7.0, 8.0, 8.9, etc. (CUDA compute capability)" + ui_print_color "${UI_GREEN}" " • Integer format: 60, 70, 80, 89, etc." + ui_print_color "${UI_GREEN}" " • Disable GPU: no" + ui_print_color "${UI_ORANGE}${UI_BOLD}" "💡 Examples:" + ui_print_color "${UI_WHITE}" " • 8.0 or 80 for compute capability 8.0 (RTX 30xx series)" + ui_print_color "${UI_WHITE}" " • 7.5 or 75 for compute capability 7.5 (RTX 20xx series)" + return 1 + ;; + *) + ui_error "Unknown validation type: $type" + return 1 + ;; + esac + + return 0 +} + +# Enhanced system information display +# Usage: ui_show_system_info +ui_show_system_info() { + ui_section "System Information" + + ui_print_color "${UI_BLUE}${UI_BOLD}" "🖥️ Hardware & OS:" + printf " ├─ %-20s %s\n" "Operating System:" "$(uname -s)" + printf " ├─ %-20s %s\n" "Architecture:" "$(uname -m)" + printf " ├─ %-20s %s\n" "Kernel Version:" "$(uname -r)" + printf " ├─ %-20s %s\n" "CPU Cores:" "$(nproc 2>/dev/null || echo "unknown")" + + if command -v free &> /dev/null; then + local mem_gb=$(free -g | awk '/^Mem:/ {print $2}') + printf " ├─ %-20s %sGB\n" "Total Memory:" "$mem_gb" + fi + + printf " ├─ %-20s %s\n" "Shell:" "$SHELL" + printf " ├─ %-20s %s\n" "User:" "$(whoami)" + printf " └─ %-20s %s\n" "Working Directory:" "$(pwd)" + echo "" +} + +# Enhanced system requirements check +# Usage: ui_check_system_requirements +ui_check_system_requirements() { + ui_section "System Requirements Check" + + local missing_tools="" + local required_tools="wget curl tar gzip make" + local found_tools="" + + ui_print_color "${UI_BLUE}${UI_BOLD}" "🔍 Checking required system tools..." + + for tool in $required_tools; do + if ! command -v "$tool" &> /dev/null; then + missing_tools="$missing_tools $tool" + ui_print_color "${UI_RED}" " ${UI_ICON_CROSS} $tool - not found" + else + found_tools="$found_tools $tool" + ui_print_color "${UI_GREEN}" " ${UI_ICON_CHECK} $tool - found" + fi + done + + echo "" + + if [[ -n "$missing_tools" ]]; then + ui_error "Missing required system tools:$missing_tools" + echo "" + ui_print_color "${UI_YELLOW}${UI_BOLD}" "📦 Install missing tools using your package manager:" + ui_print_color "${UI_WHITE}" " # Ubuntu/Debian:" + ui_print_color "${UI_GREEN}" " sudo apt-get install$missing_tools" + ui_print_color "${UI_WHITE}" " # CentOS/RHEL:" + ui_print_color "${UI_GREEN}" " sudo yum install$missing_tools" + ui_print_color "${UI_WHITE}" " # Fedora:" + ui_print_color "${UI_GREEN}" " sudo dnf install$missing_tools" + return 1 + else + ui_success "All required system tools are available" + return 0 + fi +} \ No newline at end of file diff --git a/toolchain/scripts/lib/version_helper.sh b/toolchain/scripts/lib/version_helper.sh new file mode 100644 index 0000000000..46e7436cad --- /dev/null +++ b/toolchain/scripts/lib/version_helper.sh @@ -0,0 +1,338 @@ +#!/bin/bash + +# ============================================================================ +# ABACUS Toolchain Version Helper +# ============================================================================ +# Provides version display, help information, and user interaction for +# dual-version switching functionality +# Author: Quantum Misaka by Trae SOLO +# Date: 2025-10-16 +# ============================================================================ + +# Source required modules +if [[ -f "${SCRIPTDIR}/package_versions.sh" ]]; then + source "${SCRIPTDIR}/package_versions.sh" +else + echo "Error: package_versions.sh not found in ${SCRIPTDIR}" >&2 + return 1 +fi + +# Display available package versions +# Usage: version_show_available [package_name] +version_show_available() { + local package_name="${1:-all}" + + echo "Available Package Versions:" + echo "==========================" + echo + + if [[ "${package_name}" == "all" ]]; then + # Show all packages + for pkg in gcc cmake openmpi mpich openblas elpa fftw libxc scalapack libtorch libnpy; do + version_show_package_info "${pkg}" + done + else + version_show_package_info "${package_name}" + fi +} + +# Helper function to show package information +version_show_package_info() { + local pkg="$1" + local main_var="${pkg}_main_ver" + local alt_var="${pkg}_alt_ver" + + # Get values using indirect variable expansion + local main_ver="${!main_var}" + local alt_ver="${!alt_var}" + + if [[ -n "$main_ver" || -n "$alt_ver" ]]; then + printf "%-12s: " "$pkg" + + if [[ -n "$main_ver" ]]; then + printf "%s (main)" "$main_ver" + fi + + if [[ -n "$alt_ver" ]]; then + if [[ -n "$main_ver" ]]; then + printf ", %s (alt)" "$alt_ver" + else + printf "%s (alt)" "$alt_ver" + fi + fi + + echo "" + fi +} + +# Display version switching help +# Usage: version_show_help +version_show_help() { + cat << 'EOF' +ABACUS Toolchain Version Switching Help +======================================= + +Command Line Options: + --use-alt-versions Use alternative versions for all packages + --package-version PKG:VER Set specific package version (PKG:main|alt) + Supports two writing styles: + 1. Multiple independent parameters: --package-version PKG1:VER1 --package-version PKG2:VER2 + 2. Single parameter with multiple key-value pairs: --package-version PKG1:VER1 PKG2:VER2 ... + --config-file FILE Load configuration from file + --version-info [PKG] Show version info for package (or all) + +Configuration File Support: + VERSION_STRATEGY=main|alt Global version strategy + PACKAGE_VERSION_PKG=main|alt Specific package version + +Examples: + # Use alternative versions for all packages + ./install_abacus_toolchain_new.sh --use-alt-versions + + # Use specific package versions (single) + ./install_abacus_toolchain_new.sh --package-version openmpi:alt + + # Use specific package versions (multiple independent parameters) + ./install_abacus_toolchain_new.sh --package-version openmpi:alt --package-version gcc:main --package-version cmake:alt + + # Use specific package versions (single parameter with multiple key-value pairs) + ./install_abacus_toolchain_new.sh --package-version openmpi:alt gcc:main cmake:alt + + # Mixed with other options + ./install_abacus_toolchain_new.sh --package-version elpa:alt cmake:alt --dry-run + + # Show version information + ./install_abacus_toolchain_new.sh --version-info openmpi + ./install_abacus_toolchain_new.sh --version-info + +Backward Compatibility: + --with-4th-openmpi Legacy flag (use --package-version openmpi=alt) + OPENMPI_4TH=yes Legacy variable (use PACKAGE_VERSION_OPENMPI=alt) + +Supported Packages: + gcc, cmake, openmpi, mpich, openblas, elpa, fftw, libxc, scalapack, libtorch, libnpy + +EOF +} + +# Interactive version selection interface +# Usage: version_interactive_select +version_interactive_select() { + echo "Interactive Version Selection" + echo "============================" + echo "" + + local packages=( + "openmpi" "mpich" "openblas" "elpa" "fftw" + "libxc" "scalapack" "libtorch" "libnpy" + ) + + echo "Select versions for packages (press Enter for default 'main'):" + echo "" + + for pkg in "${packages[@]}"; do + local main_var="${pkg^^}_main_ver" + local alt_var="${pkg^^}_alt_ver" + + # Skip if no versions available + if [[ -z "${!main_var}" && -z "${!alt_var}" ]]; then + continue + fi + + printf "%-12s: " "$pkg" + + # Show available versions + if [[ -n "${!main_var}" ]]; then + printf "main(%s)" "${!main_var}" + fi + if [[ -n "${!alt_var}" ]]; then + if [[ -n "${!main_var}" ]]; then + printf ", alt(%s)" "${!alt_var}" + else + printf "alt(%s)" "${!alt_var}" + fi + fi + + printf " [main]: " + read -r user_choice + + # Set user choice or default to main + case "$user_choice" in + alt|alternative) + if [[ -n "${!alt_var}" ]]; then + CONFIG_CACHE["PACKAGE_VERSION_${pkg^^}"]="alt" + echo " → Selected: alt (${!alt_var})" + else + echo " → Alternative version not available, using main" + CONFIG_CACHE["PACKAGE_VERSION_${pkg^^}"]="main" + fi + ;; + main|"") + CONFIG_CACHE["PACKAGE_VERSION_${pkg^^}"]="main" + if [[ -n "${!main_var}" ]]; then + echo " → Selected: main (${!main_var})" + else + echo " → Main version not available" + fi + ;; + *) + echo " → Invalid choice, using main" + CONFIG_CACHE["PACKAGE_VERSION_${pkg^^}"]="main" + ;; + esac + echo "" + done + + echo "Version selection completed!" + echo "" +} + +# Get effective version for a package +# Usage: version_get_effective PACKAGE_NAME +version_get_effective() { + local package_name="$1" + local pkg_upper="${package_name^^}" + + # Check for specific package version setting + local specific_version="${CONFIG_CACHE[PACKAGE_VERSION_${pkg_upper}]}" + if [[ -n "$specific_version" ]]; then + echo "$specific_version" + return 0 + fi + + # Check for global version strategy + local global_strategy="${CONFIG_CACHE[VERSION_STRATEGY]}" + if [[ -n "$global_strategy" ]]; then + echo "$global_strategy" + return 0 + fi + + # Check for legacy OPENMPI_4TH support + if [[ "$package_name" == "openmpi" && "${CONFIG_CACHE[OPENMPI_4TH]}" == "yes" ]]; then + echo "alt" + return 0 + fi + + # Default to main + echo "main" + return 0 +} + +# Load package variables with version selection +# Usage: version_load_package_vars PACKAGE_NAME +version_load_package_vars() { + local package_name="$1" + local effective_version + + effective_version=$(version_get_effective "$package_name") + + # Convert effective version to suffix for load_package_vars + local version_suffix="" + if [[ "$effective_version" == "alt" ]]; then + version_suffix="alt" + fi + + # Call the original load_package_vars function + load_package_vars "$package_name" "$version_suffix" + + # Export version information for debugging + export "${package_name^^}_EFFECTIVE_VERSION"="$effective_version" +} + +# Display current version configuration +# Usage: version_show_current +version_show_current() { + echo "Current Version Configuration:" + echo "=============================" + + # Show global strategy + local global_strategy="${CONFIG_CACHE[VERSION_STRATEGY]}" + if [[ -n "$global_strategy" ]]; then + echo "Global Strategy: $global_strategy" + else + echo "Global Strategy: main (default)" + fi + echo "" + + # Show per-package settings + echo "Package-specific settings:" + local packages=( + "gcc" "cmake" "openmpi" "mpich" "openblas" + "elpa" "fftw" "libxc" "scalapack" "libtorch" "libnpy" + ) + + local has_specific=false + for pkg in "${packages[@]}"; do + local pkg_upper="${pkg^^}" + local specific_version="${CONFIG_CACHE[PACKAGE_VERSION_${pkg_upper}]}" + + if [[ -n "$specific_version" ]]; then + printf " %-12s: %s\n" "$pkg" "$specific_version" + has_specific=true + fi + done + + if [[ "$has_specific" == false ]]; then + echo " (none - using global strategy)" + fi + + echo "" + + # Show legacy compatibility + if [[ "${CONFIG_CACHE[OPENMPI_4TH]}" == "yes" ]]; then + echo "Legacy compatibility: OPENMPI_4TH=yes (equivalent to openmpi:alt)" + echo "" + fi +} + +# Validate version configuration +# Usage: version_validate_config +version_validate_config() { + local validation_errors=0 + + # Check if requested versions are available + for key in "${!CONFIG_CACHE[@]}"; do + if [[ "$key" =~ ^PACKAGE_VERSION_(.+)$ ]]; then + local pkg_name="${BASH_REMATCH[1]}" + local requested_version="${CONFIG_CACHE[$key]}" + local pkg_lower=$(echo "$pkg_name" | tr '[:upper:]' '[:lower:]') + + # Check if the requested version exists + local version_var="${pkg_lower}_${requested_version}_ver" + if [[ -z "${!version_var}" ]]; then + echo "Warning: Requested version '$requested_version' for package '$pkg_lower' is not available" + validation_errors=$((validation_errors + 1)) + fi + fi + done + + return $validation_errors +} + +# Initialize version helper +# Usage: version_helper_init +version_helper_init() { + # Set default version strategy if not set + if [[ -z "${CONFIG_CACHE[VERSION_STRATEGY]}" ]]; then + CONFIG_CACHE["VERSION_STRATEGY"]="main" + fi + + # Handle legacy OPENMPI_4TH environment variable + if [[ "${OPENMPI_4TH}" == "yes" && -z "${CONFIG_CACHE[PACKAGE_VERSION_OPENMPI]}" ]]; then + CONFIG_CACHE["PACKAGE_VERSION_OPENMPI"]="alt" + CONFIG_CACHE["OPENMPI_4TH"]="yes" + echo "Notice: Legacy OPENMPI_4TH=yes detected, using openmpi:alt" + fi + + return 0 +} + +# Export functions for use by other modules +export -f version_show_available +export -f version_show_help +export -f version_interactive_select +export -f version_get_effective +export -f version_load_package_vars +export -f version_show_current +export -f version_validate_config +export -f version_helper_init \ No newline at end of file diff --git a/toolchain/scripts/lib/version_loader.sh b/toolchain/scripts/lib/version_loader.sh new file mode 100644 index 0000000000..8883a7e789 --- /dev/null +++ b/toolchain/scripts/lib/version_loader.sh @@ -0,0 +1,81 @@ +#!/bin/bash + +# ============================================================================ +# ABACUS Toolchain Version Loader Helper +# ============================================================================ +# Provides a unified version loading mechanism for all stage scripts +# Author: Quantum Misaka by Trae SOLO +# Date: 2025-10-16 +# ============================================================================ + +# Load package variables with version suffix support +# Usage: load_package_with_version "package_name" +load_package_with_version() { + local package_name="$1" + + # Check for version configuration from environment or individual package setting + local version_suffix="" + + if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "${package_name}:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "${package_name}:main"; then + version_suffix="main" + fi + fi + + # Fall back to global version suffix if no individual setting + if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" + fi + + # Load package variables with appropriate version + load_package_vars "$package_name" "$version_suffix" + + # Debug output if verbose mode is enabled + if [[ "${VERBOSE_MODE}" == "__TRUE__" ]]; then + echo "DEBUG: Loaded $package_name with version suffix: ${version_suffix:-main}" + fi +} + +# Check if version configuration is available +# Usage: has_version_config +has_version_config() { + [[ -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" || -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]] +} + +# Get effective version suffix for a package +# Usage: get_package_version_suffix "package_name" +get_package_version_suffix() { + local package_name="$1" + local version_suffix="" + + if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "${package_name}:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "${package_name}:main"; then + version_suffix="main" + fi + fi + + # Fall back to global version suffix if no individual setting + if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" + fi + + echo "${version_suffix:-main}" +} + +# Show version information for debugging +# Usage: show_version_debug "package_name" +show_version_debug() { + local package_name="$1" + local version_suffix=$(get_package_version_suffix "$package_name") + + echo "Version Debug for $package_name:" + echo " Global suffix: ${ABACUS_TOOLCHAIN_VERSION_SUFFIX:-none}" + echo " Package versions: ${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS:-none}" + echo " Effective suffix: $version_suffix" +} \ No newline at end of file diff --git a/toolchain/scripts/package_versions.sh b/toolchain/scripts/package_versions.sh new file mode 100644 index 0000000000..b8e689c367 --- /dev/null +++ b/toolchain/scripts/package_versions.sh @@ -0,0 +1,268 @@ +#!/bin/bash +# ABACUS Toolchain - Centralized Package Version Management +# +# This file contains all package versions, checksums, and URLs in one place. +# +# Usage: source this file in install scripts to get package version information +# Example: source "${SCRIPT_DIR}/package_versions.sh" && load_package_vars "openmpi" + +# ============================================================================= +# STAGE 0: Build Tools and Compilers +# ============================================================================= + +# GCC (supports dual versions) - Special case: main=13.2.0, alt=11.4.0 +gcc_main_ver="13.2.0" +gcc_main_sha256="8cb4be3796651976f94b9356fa08d833524f62420d6292c5033a9a26af315078" +gcc_alt_ver="11.4.0" +gcc_alt_sha256="af828619dd1970734dda3cfb792ea3f2cba61b5a00170ba8bce4910749d73c07" + +# CMake (supports dual versions) - main=3.31.7, alt=3.30.5 +cmake_main_ver="3.31.7" +cmake_main_sha256_x86_64="b7a5c909cdafc36042c8c9bd5765e92ff1f2528cf01720aa6dc4df294ec7e1a0" +cmake_main_sha256_aarch64="ce8e32b2c1c497dd7f619124c043ac5c28a88677e390c58748dd62fe460c62a2" +cmake_main_sha256_macos="1cb11aa2edae8551bb0f22807c6f5246bd0eb60ae9fa1474781eb4095d299aca" +cmake_alt_ver="3.30.5" +cmake_alt_sha256_x86_64="83de8839f3fb0d9caf982a0435da3fa8c4fbe2c817dfec99def310dc7e6a8404" +cmake_alt_sha256_aarch64="93c3b8920379585dece1314f113c6c9008eaedfe56023c78d856fc86dad5b8e2" +cmake_alt_sha256_macos="3d603e507c7579b13518ef752b4ffcf3ed479fba80ee171d7d85da8153e869d0" + +# ============================================================================= +# STAGE 1: MPI Implementations +# ============================================================================= + +# OpenMPI (supports dual versions) - main=5.0.8, alt=4.1.6 +openmpi_main_ver="5.0.8" +openmpi_main_sha256="53131e1a57e7270f645707f8b0b65ba56048f5b5ac3f68faabed3eb0d710e449" +openmpi_alt_ver="4.1.6" +openmpi_alt_sha256="f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415" + +# MPICH (supports dual versions) - main=4.3.1, alt=4.1.0 +mpich_main_ver="4.3.1" +mpich_main_sha256="acc11cb2bdc69678dc8bba747c24a28233c58596f81f03785bf2b7bb7a0ef7dc" +mpich_alt_ver="4.1.0" +mpich_alt_sha256="8b1ec63bc44c7caa2afbb457bc5b3cd4a70dbe46baba700123d67c48dc5ab6a0" + +# ============================================================================= +# STAGE 2: Math Libraries +# ============================================================================= + +# OpenBLAS (supports dual versions) - main=0.3.30, alt=0.3.27 +openblas_main_ver="0.3.30" +openblas_main_sha256="27342cff518646afb4c2b976d809102e368957974c250a25ccc965e53063c95d" +openblas_alt_ver="0.3.27" +openblas_alt_sha256="aa2d68b1564fe2b13bc292672608e9cdeeeb6dc34995512e65c3b10f4599e897" + +# ============================================================================= +# STAGE 3: Scientific Computing Libraries +# ============================================================================= + +# ELPA (supports dual versions) - main=2025.06.001, alt=2024.05.001 +elpa_main_ver="2025.06.001" +elpa_main_sha256="feeb1fea1ab4a8670b8d3240765ef0ada828062ef7ec9b735eecba2848515c94" +elpa_alt_ver="2024.05.001" +elpa_alt_sha256="9caf41a3e600e2f6f4ce1931bd54185179dade9c171556d0c9b41bbc6940f2f6" + +# FFTW (supports dual versions) - Special case: both main and alt are 3.3.10 +fftw_main_ver="3.3.10" +fftw_main_sha256="56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467" +fftw_alt_ver="3.3.10" +fftw_alt_sha256="56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467" + +# LibXC (supports dual versions) - main=7.0.0, alt=6.2.2 +libxc_main_ver="7.0.0" +libxc_main_sha256="e9ae69f8966d8de6b7585abd9fab588794ada1fab8f689337959a35abbf9527d" +libxc_alt_ver="6.2.2" +libxc_alt_sha256="f72ed08af7b9dff5f57482c5f97bff22c7dc49da9564bc93871997cbda6dacf3" + +# ScaLAPACK (supports dual versions) - main=2.2.2, alt=2.2.1 +scalapack_main_ver="2.2.2" +scalapack_main_sha256="a2f0c9180a210bf7ffe126c9cb81099cf337da1a7120ddb4cbe4894eb7b7d022" +scalapack_alt_ver="2.2.1" +scalapack_alt_sha256="4aede775fdb28fa44b331875730bcd5bab130caaec225fadeccf424c8fcb55aa" + +# ============================================================================= +# STAGE 4: Advanced Feature Libraries +# ============================================================================= + +# LibTorch (supports dual versions) - main=2.1.2, alt=1.12.1 +libtorch_main_ver="2.1.2" +libtorch_main_sha256="904b764df6106a8a35bef64c4b55b8c1590ad9d071eb276e680cf42abafe79e9" +libtorch_alt_ver="1.12.1" +libtorch_alt_sha256="82c7be80860f2aa7963f8700004a40af8205e1d721298f2e09b700e766a9d283" +# user can manually download higher version of libtorch by: +# wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-{libtorch_ver}%2Bcpu.zip +# 2.1.2 recommended for lower GLIBC support (lower than 3.4.26) + +# LibNPY (supports dual versions) - Special case: both main and alt are 1.0.1 +libnpy_main_ver="1.0.1" +libnpy_main_sha256="43452a4db1e8c1df606c64376ea1e32789124051d7640e7e4e8518ab4f0fba44" +libnpy_alt_ver="1.0.1" +libnpy_alt_sha256="43452a4db1e8c1df606c64376ea1e32789124051d7640e7e4e8518ab4f0fba44" + +# Master branch packages (no fixed versions) +cereal_ver="master" +cereal_sha256="--no-checksum" + +libcomm_ver="master" +libcomm_sha256="--no-checksum" + +libri_ver="master" +libri_sha256="--no-checksum" + +rapidjson_ver="master" +rapidjson_sha256="--no-checksum" + +# NEP (Neural Evolution Potential) - CPU version +nep_ver="main" +nep_sha256="--no-checksum" + +# ============================================================================= +# Package Variable Loading Function +# ============================================================================= + +load_package_vars() { + local package_name="$1" + local version_suffix="$2" # Optional version suffix for multi-version packages + + case "${package_name}" in + "gcc") + if [ "${version_suffix}" = "alt" ]; then + gcc_ver="${gcc_alt_ver}" + gcc_sha256="${gcc_alt_sha256}" + else + gcc_ver="${gcc_main_ver}" + gcc_sha256="${gcc_main_sha256}" + fi + ;; + "cmake") + # Determine architecture for SHA256 selection + local arch_suffix="" + if [ "${OPENBLAS_ARCH}" = "arm64" ]; then + if [ "$(uname -s)" = "Darwin" ]; then + arch_suffix="_macos" + else + arch_suffix="_aarch64" + fi + else + arch_suffix="_x86_64" + fi + + if [ "${version_suffix}" = "alt" ]; then + cmake_ver="${cmake_alt_ver}" + eval "cmake_sha256=\${cmake_alt_sha256${arch_suffix}}" + else + cmake_ver="${cmake_main_ver}" + eval "cmake_sha256=\${cmake_main_sha256${arch_suffix}}" + fi + ;; + "openmpi") + if [ "${OPENMPI_4TH}" = "yes" ]; then + echo "WARNING: OPENMPI_4TH=yes is deprecated. Please use 'alt' parameter instead." >&2 + openmpi_ver="${openmpi_alt_ver}" + openmpi_sha256="${openmpi_alt_sha256}" + elif [ "${version_suffix}" = "alt" ]; then + openmpi_ver="${openmpi_alt_ver}" + openmpi_sha256="${openmpi_alt_sha256}" + else + openmpi_ver="${openmpi_main_ver}" + openmpi_sha256="${openmpi_main_sha256}" + fi + ;; + "mpich") + if [ "${version_suffix}" = "alt" ]; then + mpich_ver="${mpich_alt_ver}" + mpich_sha256="${mpich_alt_sha256}" + else + mpich_ver="${mpich_main_ver}" + mpich_sha256="${mpich_main_sha256}" + fi + ;; + "openblas") + if [ "${version_suffix}" = "alt" ]; then + openblas_ver="${openblas_alt_ver}" + openblas_sha256="${openblas_alt_sha256}" + else + openblas_ver="${openblas_main_ver}" + openblas_sha256="${openblas_main_sha256}" + fi + ;; + "elpa") + if [ "${version_suffix}" = "alt" ]; then + elpa_ver="${elpa_alt_ver}" + elpa_sha256="${elpa_alt_sha256}" + else + elpa_ver="${elpa_main_ver}" + elpa_sha256="${elpa_main_sha256}" + fi + ;; + "fftw") + if [ "${version_suffix}" = "alt" ]; then + fftw_ver="${fftw_alt_ver}" + fftw_sha256="${fftw_alt_sha256}" + else + fftw_ver="${fftw_main_ver}" + fftw_sha256="${fftw_main_sha256}" + fi + ;; + "libxc") + if [ "${version_suffix}" = "alt" ]; then + libxc_ver="${libxc_alt_ver}" + libxc_sha256="${libxc_alt_sha256}" + else + libxc_ver="${libxc_main_ver}" + libxc_sha256="${libxc_main_sha256}" + fi + ;; + "scalapack") + if [ "${version_suffix}" = "alt" ]; then + scalapack_ver="${scalapack_alt_ver}" + scalapack_sha256="${scalapack_alt_sha256}" + else + scalapack_ver="${scalapack_main_ver}" + scalapack_sha256="${scalapack_main_sha256}" + fi + ;; + "libtorch") + if [ "${version_suffix}" = "alt" ]; then + libtorch_ver="${libtorch_alt_ver}" + libtorch_sha256="${libtorch_alt_sha256}" + else + libtorch_ver="${libtorch_main_ver}" + libtorch_sha256="${libtorch_main_sha256}" + fi + ;; + "libnpy") + if [ "${version_suffix}" = "alt" ]; then + libnpy_ver="${libnpy_alt_ver}" + libnpy_sha256="${libnpy_alt_sha256}" + else + libnpy_ver="${libnpy_main_ver}" + libnpy_sha256="${libnpy_main_sha256}" + fi + ;; + "cereal") + cereal_ver="${cereal_ver}" + cereal_sha256="${cereal_sha256}" + ;; + "libcomm") + libcomm_ver="${libcomm_ver}" + libcomm_sha256="${libcomm_sha256}" + ;; + "libri") + libri_ver="${libri_ver}" + libri_sha256="${libri_sha256}" + ;; + "rapidjson") + rapidjson_ver="${rapidjson_ver}" + rapidjson_sha256="${rapidjson_sha256}" + ;; + "nep") + nep_ver="${nep_ver}" + nep_sha256="${nep_sha256}" + ;; + *) + echo "Error: Unknown package '${package_name}'" + return 1 + ;; + esac +} \ No newline at end of file diff --git a/toolchain/scripts/patches/6190.patch b/toolchain/scripts/patches/6190.patch new file mode 100644 index 0000000000..5d4d3f3f30 --- /dev/null +++ b/toolchain/scripts/patches/6190.patch @@ -0,0 +1,41 @@ +From 409db5e910279224bd7e78f8188450c7e7d34d87 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 10 Sep 2024 18:11:40 -0700 +Subject: [PATCH] Fix instances of + -Wmissing-template-arg-list-after-template-kw. + +Clang has a new warning that requires a template argument list after using +the template keyword. Remove uses of the template keyword when we're not +specifying types. + +See https://github.com/llvm/llvm-project/issues/94194 for the upstream +clang changes + +Signed-off-by: Khem Raj +--- + include/cereal/types/tuple.hpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/cereal/types/tuple.hpp b/include/cereal/types/tuple.hpp +index 80c68075..5c79eca9 100644 +--- a/include/cereal/types/tuple.hpp ++++ b/include/cereal/types/tuple.hpp +@@ -95,7 +95,7 @@ namespace cereal + template inline + static void apply( Archive & ar, std::tuple & tuple ) + { +- serialize::template apply( ar, tuple ); ++ serialize::apply( ar, tuple ); + ar( CEREAL_NVP_(tuple_element_name::c_str(), + std::get( tuple )) ); + } +@@ -116,7 +116,7 @@ namespace cereal + template inline + void CEREAL_SERIALIZE_FUNCTION_NAME( Archive & ar, std::tuple & tuple ) + { +- tuple_detail::serialize>::value>::template apply( ar, tuple ); ++ tuple_detail::serialize>::value>::apply( ar, tuple ); + } + } // namespace cereal + + \ No newline at end of file diff --git a/toolchain/scripts/stage0/install_amd.sh b/toolchain/scripts/stage0/install_amd.sh index 4ecfce526c..e3565a7dff 100755 --- a/toolchain/scripts/stage0/install_amd.sh +++ b/toolchain/scripts/stage0/install_amd.sh @@ -3,7 +3,6 @@ # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all -# Last Update in 2025-0308 # NOTICE: flang cannot be used when compiling ELPA [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=${0} @@ -24,85 +23,83 @@ mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" case "${with_amd}" in - __INSTALL__) - echo "==================== Installing the AMD compiler ======================" - echo "__INSTALL__ is not supported; please install the AMD compiler manually" - if [ "${PACK_RUN}" != "__TRUE__" ]; then + __INSTALL__) + echo "==================== Installing the AMD compiler ======================" + report_error ${LINENO} "To install the AMD compiler, please contact your system administrator." exit 1 - fi - ;; - __SYSTEM__) - echo "==================== Finding AMD compiler from system paths ====================" - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip system check" - else - check_command clang "amd" && CC="$(realpath $(command -v clang))" || exit 1 - check_command clang++ "amd" && CXX="$(realpath $(command -v clang++))" || exit 1 - if [ "${WITH_FLANG}" = "yes" ]; then - check_command flang "amd" && FC="$(realpath $(command -v flang))" || exit 1 - else - check_command gfortran "gcc" && FC="gfortran" || exit 1 - add_lib_from_paths GCC_LDFLAGS "libgfortran.*" ${LIB_PATHS} - fi - fi - F90="${FC}" - F77="${FC}" - ;; - __DONTUSE__) - # Nothing to do - ;; - *) - echo "==================== Linking AMD compiler to user paths ====================" - pkg_install_dir="${with_amd}" - check_dir "${pkg_install_dir}/bin" - check_dir "${pkg_install_dir}/lib" - check_dir "${pkg_install_dir}/include" - check_command ${pkg_install_dir}/bin/clang "amd" && CC="${pkg_install_dir}/bin/clang" || exit 1 - check_command ${pkg_install_dir}/bin/clang++ "amd" && CXX="${pkg_install_dir}/bin/clang++" || exit 1 + ;; + __SYSTEM__) + echo "==================== Finding AMD compiler from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_command clang "amd" && CC="$(realpath $(command -v clang))" || exit 1 + check_command clang++ "amd" && CXX="$(realpath $(command -v clang++))" || exit 1 + if [ "${WITH_FLANG}" = "yes" ]; then + check_command flang "amd" && FC="$(realpath $(command -v flang))" || exit 1 + else + check_command gfortran "gcc" && FC="gfortran" || exit 1 + add_lib_from_paths GCC_LDFLAGS "libgfortran.*" ${LIB_PATHS} + fi + F90="${FC}" + F77="${FC}" + ;; + __DONTUSE__) + # Nothing to do + ;; + *) + echo "==================== Linking AMD compiler to user paths ====================" + pkg_install_dir="${with_amd}" + check_dir "${pkg_install_dir}/bin" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + check_command ${pkg_install_dir}/bin/clang "amd" && CC="${pkg_install_dir}/bin/clang" || exit 1 + check_command ${pkg_install_dir}/bin/clang++ "amd" && CXX="${pkg_install_dir}/bin/clang++" || exit 1 + if [ "${WITH_FLANG}" = "yes" ]; then + check_command ${pkg_install_dir}/bin/flang "amd" && FC="${pkg_install_dir}/bin/flang" || exit 1 + else + check_command gfortran "gcc" && FC="$(command -v gfortran)" || exit 1 + fi + F90="${FC}" + F77="${FC}" + AMD_CFLAGS="-I'${pkg_install_dir}/include'" + AMD_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; +esac +if [ "${with_amd}" != "__DONTUSE__" ]; then + echo "CC is ${CC}" + [ $(realpath $(command -v clang) | grep -e aocc-compiler) ] || echo "Check the AMD C compiler path" + echo "CXX is ${CXX}" + [ $(realpath $(command -v clang++) | grep -e aocc-compiler) ] || echo "Check the AMD C++ compiler path" + echo "FC is ${FC}" if [ "${WITH_FLANG}" = "yes" ]; then - check_command ${pkg_install_dir}/bin/flang "amd" && FC="${pkg_install_dir}/bin/flang" || exit 1 + [ $(realpath $(command -v flang) | grep -e aocc-compiler) ] || echo "Check the AMD Fortran compiler path" else - check_command gfortran "gcc" && FC="$(command -v gfortran)" || exit 1 + [ $(realpath $(command -v gfortran) | grep -e aocc-compiler) ] || echo "Check the GNU Fortran compiler path" fi - F90="${FC}" - F77="${FC}" - AMD_CFLAGS="-I'${pkg_install_dir}/include'" - AMD_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; -esac -if [ "${with_amd}" != "__DONTUSE__" ]; then - echo "CC is ${CC}" - [ $(realpath $(command -v clang) | grep -e aocc-compiler) ] || echo "Check the AMD C compiler path" - echo "CXX is ${CXX}" - [ $(realpath $(command -v clang++) | grep -e aocc-compiler) ] || echo "Check the AMD C++ compiler path" - echo "FC is ${FC}" - if [ "${WITH_FLANG}" = "yes" ]; then - [ $(realpath $(command -v flang) | grep -e aocc-compiler) ] || echo "Check the AMD Fortran compiler path" - else - [ $(realpath $(command -v gfortran) | grep -e aocc-compiler) ] || echo "Check the GNU Fortran compiler path" - fi - cat << EOF > "${BUILDDIR}/setup_amd" + cat << EOF > "${BUILDDIR}/setup_amd" export CC="${CC}" export CXX="${CXX}" export FC="${FC}" export F90="${F90}" export F77="${F77}" EOF - if [ "${with_amd}" != "__SYSTEM__" ]; then - cat << EOF >> "${BUILDDIR}/setup_amd" + if [ "${with_amd}" != "__SYSTEM__" ]; then + cat << EOF >> "${BUILDDIR}/setup_amd" prepend_path PATH "${pkg_install_dir}/bin" prepend_path LD_LIBRARY_PATH "${pkg_install_dir}/lib" prepend_path LD_RUN_PATH "${pkg_install_dir}/lib" prepend_path LIBRARY_PATH "${pkg_install_dir}/lib" prepend_path CPATH "${pkg_install_dir}/include" EOF - fi - cat << EOF >> "${BUILDDIR}/setup_amd" + fi + cat << EOF >> "${BUILDDIR}/setup_amd" export AMD_CFLAGS="${AMD_CFLAGS}" export AMD_LDFLAGS="${AMD_LDFLAGS}" export AMD_LIBS="${AMD_LIBS}" EOF - cat "${BUILDDIR}/setup_amd" >> ${SETUPFILE} + cat "${BUILDDIR}/setup_amd" >> ${SETUPFILE} fi load "${BUILDDIR}/setup_amd" diff --git a/toolchain/scripts/stage0/install_cmake.sh b/toolchain/scripts/stage0/install_cmake.sh index 0ef5158c97..8692bfb058 100755 --- a/toolchain/scripts/stage0/install_cmake.sh +++ b/toolchain/scripts/stage0/install_cmake.sh @@ -11,87 +11,137 @@ SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load CMake package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "cmake:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "cmake:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi + +# Ensure OPENBLAS_ARCH is set before loading package variables +# This is needed for architecture-specific SHA256 selection +# In --pack-run mode, openblas_arch file may contain empty values, so we need fallback +if [ -f "${BUILDDIR}/openblas_arch" ]; then + source "${BUILDDIR}/openblas_arch" +fi + +if [ -z "${OPENBLAS_ARCH}" ]; then + case "$(uname -m)" in + x86_64|amd64) OPENBLAS_ARCH="x86_64" ;; + aarch64|arm64) OPENBLAS_ARCH="arm64" ;; + *) OPENBLAS_ARCH="x86_64" ;; # default fallback + esac + echo "OPENBLAS_ARCH not set, using fallback: ${OPENBLAS_ARCH}" +fi + +# Export OPENBLAS_ARCH to ensure it's available throughout the script +export OPENBLAS_ARCH + +# Load package variables with appropriate version +load_package_vars "cmake" "$version_suffix" + source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env +# Re-apply architecture detection if OPENBLAS_ARCH is still empty after sourcing +if [ -z "${OPENBLAS_ARCH}" ]; then + case "$(uname -m)" in + x86_64|amd64) OPENBLAS_ARCH="x86_64" ;; + aarch64|arm64) OPENBLAS_ARCH="arm64" ;; + *) OPENBLAS_ARCH="x86_64" ;; # default fallback + esac + export OPENBLAS_ARCH +fi + [ -f "${BUILDDIR}/setup_cmake" ] && rm "${BUILDDIR}/setup_cmake" ! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" case "${with_cmake}" in - __INSTALL__) - echo "==================== Installing CMake ====================" - cmake_ver="3.31.7" - cmake_ext="sh" - if [ "${OPENBLAS_ARCH}" = "arm64" ]; then - if [ "$(uname -s)" = "Darwin" ]; then - cmake_arch="macos-universal" - cmake_sha256="1cb11aa2edae8551bb0f22807c6f5246bd0eb60ae9fa1474781eb4095d299aca" - cmake_ext="tar.gz" - elif [ "$(uname -s)" = "Linux" ]; then - cmake_arch="linux-aarch64" - cmake_sha256="ce8e32b2c1c497dd7f619124c043ac5c28a88677e390c58748dd62fe460c62a2" - else - report_error ${LINENO} \ - "cmake installation for ARCH=${OPENBLAS_ARCH} under $(uname -s) is not supported. You can try to use the system installation using the flag --with-cmake=system instead." - fi - elif [ "${OPENBLAS_ARCH}" = "x86_64" ]; then - cmake_arch="linux-x86_64" - cmake_sha256="b7a5c909cdafc36042c8c9bd5765e92ff1f2528cf01720aa6dc4df294ec7e1a0" - else - report_error ${LINENO} \ - "cmake installation for ARCH=${ARCH} is not supported. You can try to use the system installation using the flag --with-cmake=system instead." - exit 1 - fi - pkg_install_dir="${INSTALLDIR}/cmake-${cmake_ver}" - #pkg_install_dir="${HOME}/apps/cmake/${cmake_ver}" - install_lock_file="$pkg_install_dir/install_successful" - cmake_pkg="cmake-${cmake_ver}-${cmake_arch}.${cmake_ext}" - if verify_checksums "${install_lock_file}"; then - echo "cmake-${cmake_ver} is already installed, skipping it." - else - if [ -f $cmake_pkg ]; then - echo "$cmake_pkg is found" - else - #download_pkg_from_ABACUS_org "${cmake_sha256}" "$cmake_pkg" - url="https://cmake.org/files/v${cmake_ver%.*}/${cmake_pkg}" - download_pkg_from_url "${cmake_sha256}" "${cmake_pkg}" "${url}" - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - mkdir -p ${pkg_install_dir} - if [ "${cmake_arch}" = "macos-universal" ]; then - tar --strip-components=3 -xvf $cmake_pkg -C ${pkg_install_dir} > install.log 2>&1 || tail -n ${LOG_LINES} install.log + __INSTALL__) + echo "==================== Installing CMake ====================" + cmake_ext="sh" + if [ "${OPENBLAS_ARCH}" = "arm64" ]; then + if [ "$(uname -s)" = "Darwin" ]; then + cmake_arch="macos-universal" + cmake_ext="tar.gz" + elif [ "$(uname -s)" = "Linux" ]; then + cmake_arch="linux-aarch64" + else + report_error ${LINENO} \ + "cmake installation for ARCH=${OPENBLAS_ARCH} under $(uname -s) is not supported. You can try to use the system installation using the flag --with-cmake=system instead." + fi + elif [ "${OPENBLAS_ARCH}" = "x86_64" ]; then + cmake_arch="linux-x86_64" else - /bin/sh $cmake_pkg --prefix=${pkg_install_dir} --skip-license > install.log 2>&1 || tail -n ${LOG_LINES} install.log + report_error ${LINENO} \ + "cmake installation for ARCH=${OPENBLAS_ARCH} is not supported. You can try to use the system installation using the flag --with-cmake=system instead." + exit 1 fi - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage0/$(basename ${SCRIPT_NAME})" - fi - fi - ;; - __SYSTEM__) - echo "==================== Finding CMake from system paths ====================" - check_command cmake "cmake" - ;; - __DONTUSE__) - # Nothing to do - ;; - *) - echo "==================== Linking CMake to user paths ====================" - pkg_install_dir="$with_cmake" - check_dir "${with_cmake}/bin" - ;; + pkg_install_dir="${INSTALLDIR}/cmake-${cmake_ver}" + #pkg_install_dir="${HOME}/apps/cmake/${cmake_ver}" + install_lock_file="$pkg_install_dir/install_successful" + cmake_pkg="cmake-${cmake_ver}-${cmake_arch}.${cmake_ext}" + if verify_checksums "${install_lock_file}"; then + echo "cmake-${cmake_ver} is already installed, skipping it." + else + if [ -f $cmake_pkg ]; then + echo "$cmake_pkg is found" + else + #download_pkg_from_ABACUS_org "${cmake_sha256}" "$cmake_pkg" + url="https://cmake.org/files/v${cmake_ver%.*}/${cmake_pkg}" + download_pkg_from_url "${cmake_sha256}" "${cmake_pkg}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + mkdir -p ${pkg_install_dir} + if [ "${cmake_arch}" = "macos-universal" ]; then + tar --strip-components=3 -xvf $cmake_pkg -C ${pkg_install_dir} > install.log 2>&1 || tail -n ${LOG_LINES} install.log + else + /bin/sh $cmake_pkg --prefix=${pkg_install_dir} --skip-license > install.log 2>&1 || tail -n ${LOG_LINES} install.log + fi + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage0/$(basename ${SCRIPT_NAME})" + fi + ;; + __SYSTEM__) + echo "==================== Finding CMake from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_command cmake "cmake" + ;; + __DONTUSE__) + # Nothing to do + ;; + *) + echo "==================== Linking CMake to user paths ====================" + pkg_install_dir="$with_cmake" + check_dir "${with_cmake}/bin" + ;; esac if [ "${with_cmake}" != "__DONTUSE__" ]; then - if [ "${with_cmake}" != "__SYSTEM__" ]; then - cat << EOF > "${BUILDDIR}/setup_cmake" + if [ "${with_cmake}" != "__SYSTEM__" ]; then + cat << EOF > "${BUILDDIR}/setup_cmake" prepend_path PATH "${pkg_install_dir}/bin" export PATH="${pkg_install_dir}/bin":\${PATH} EOF - cat "${BUILDDIR}/setup_cmake" >> $SETUPFILE - fi + cat "${BUILDDIR}/setup_cmake" >> $SETUPFILE + fi fi load "${BUILDDIR}/setup_cmake" diff --git a/toolchain/scripts/stage0/install_gcc.sh b/toolchain/scripts/stage0/install_gcc.sh index 65e9d93aa1..7930d6a9f7 100755 --- a/toolchain/scripts/stage0/install_gcc.sh +++ b/toolchain/scripts/stage0/install_gcc.sh @@ -7,16 +7,30 @@ [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -# gcc 13 is good -gcc_ver="13.2.0" -gcc_sha256="8cb4be3796651976f94b9356fa08d833524f62420d6292c5033a9a26af315078" -# use gcc 14 with caution, do not compatible with GPU-ABACUS -#gcc_ver="14.2.0" -#gcc_sha256="7d376d445f93126dc545e2c0086d0f647c3094aae081cdb78f42ce2bc25e7293" source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load GCC package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "gcc:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "gcc:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "gcc" "$version_suffix" + source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env @@ -29,101 +43,127 @@ TSANFLAGS="" cd "${BUILDDIR}" case "${with_gcc}" in - __INSTALL__) - echo "==================== Installing GCC ====================" - pkg_install_dir="${INSTALLDIR}/gcc-${gcc_ver}" - #pkg_install_dir="${HOME}/apps/gcc/${gcc_ver}" - install_lock_file="$pkg_install_dir/install_successful" - if verify_checksums "${install_lock_file}"; then - echo "gcc-${gcc_ver} is already installed, skipping it." - else - if [ -f gcc-${gcc_ver}.tar.gz ]; then - echo "gcc-${gcc_ver}.tar.gz is found" - else - #download_pkg_from_ABACUS_org "${gcc_sha256}" "gcc-${gcc_ver}.tar.gz" - url=https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-${gcc_ver}/gcc-${gcc_ver}.tar.gz - download_pkg_from_url "${gcc_sha256}" "gcc-${gcc_ver}.tar.gz" "${url}" - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - [ -d gcc-${gcc_ver} ] && rm -rf gcc-${gcc_ver} - tar -xzf gcc-${gcc_ver}.tar.gz - - echo "Installing GCC from scratch into ${pkg_install_dir}" - cd gcc-${gcc_ver} - - # Download prerequisites from cp2k.org because gcc.gnu.org returns 403 when queried from GCP. - sed -i 's|http://gcc.gnu.org/pub/gcc/infrastructure/|https://cp2k.org/static/downloads/|' ./contrib/download_prerequisites - ./contrib/download_prerequisites > prereq.log 2>&1 || tail -n ${LOG_LINES} prereq.log - GCCROOT=${PWD} - mkdir obj - cd obj - # TODO: Maybe use --disable-libquadmath-support to improve static linking: - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46539 - # - # TODO: Maybe use --disable-gnu-unique-object to improve static linking: - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60348#c13 - # https://stackoverflow.com/questions/11931420 - # - # TODO: Unfortunately, we can not simply use --disable-shared, because - # it would break OpenBLAS build and probably others too. - COMMON_FLAGS="-O2 -fPIC -fno-omit-frame-pointer -fopenmp -g" - CFLAGS="${COMMON_FLAGS}" - CXXFLAGS="${CFLAGS}" - FCFLAGS="${COMMON_FLAGS} -fbacktrace" - ${GCCROOT}/configure --prefix="${pkg_install_dir}" \ - --libdir="${pkg_install_dir}/lib" \ - --enable-languages=c,c++,fortran \ - --disable-multilib --disable-bootstrap \ - --enable-lto \ - --enable-plugins \ - > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log - make -j $(get_nprocs) \ - CFLAGS="${CFLAGS}" \ - CXXFLAGS="${CXXFLAGS}" \ - FCFLAGS="${FCFLAGS}" \ - > make.log 2>&1 || tail -n ${LOG_LINES} make.log - make -j $(get_nprocs) install > install.log 2>&1 || tail -n ${LOG_LINES} install.log - # thread sanitizer - if [ ${ENABLE_TSAN} = "__TRUE__" ]; then - # now the tricky bit... we need to recompile in particular - # libgomp with -fsanitize=thread.. there is not configure - # option for this (as far as I know). we need to go in - # the build tree and recompile / reinstall with proper - # options... this is likely to break for later version of - # gcc, tested with 5.1.0 based on - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55374#c10 - cd x86_64*/libgfortran - make clean > clean.log 2>&1 || tail -n ${LOG_LINES} clean.log - CFLAGS="${CFLAGS} -fsanitize=thread" - CXXFLAGS="${CXXFLAGS} -fsanitize=thread" - FCFLAGS="${FCFLAGS} -fsanitize=thread" - make -j $(get_nprocs) \ - CFLAGS="${CFLAGS}" \ - CXXFLAGS="${CXXFLAGS}" \ - FCFLAGS="${FCFLAGS}" \ - LDFLAGS="-B$(pwd)/../libsanitizer/tsan/.libs/ -Wl,-rpath,$(pwd)/../libsanitizer/tsan/.libs/ -fsanitize=thread" \ - > make.log 2>&1 || tail -n ${LOG_LINES} make.log - make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log - cd ../libgomp - make clean > clean.log 2>&1 || tail -n ${LOG_LINES} clean.log - make -j $(get_nprocs) \ - CFLAGS="${CFLAGS}" \ - CXXFLAGS="${CXXFLAGS}" \ - FCFLAGS="${FCFLAGS}" \ - LDFLAGS="-B$(pwd)/../libsanitizer/tsan/.libs/ -Wl,-rpath,$(pwd)/../libsanitizer/tsan/.libs/ -fsanitize=thread" \ - > make.log 2>&1 || tail -n ${LOG_LINES} make.log - make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log - cd ${GCCROOT}/obj/ - fi - cd ../.. - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage0/$(basename ${SCRIPT_NAME})" - fi - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip system check" - else + __INSTALL__) + echo "==================== Installing GCC ====================" + pkg_install_dir="${INSTALLDIR}/gcc-${gcc_ver}" + repack_filename="gcc-${gcc_ver}-with-prereq.tar.gz" + repkg_install_dir="${INSTALLDIR}/${repack_filename}" + #pkg_install_dir="${HOME}/apps/gcc/${gcc_ver}" + install_lock_file="$pkg_install_dir/install_successful" + if verify_checksums "${install_lock_file}"; then + echo "gcc-${gcc_ver} is already installed, skipping it." + else + # Check if repackaged tarball exists for offline installation + if [ -f "${repack_filename}" ]; then + echo "${repack_filename} is found, extracting it..." + tar -xzf "${repack_filename}" + echo "Successfully extracted ${repack_filename}" + else + if [ -f gcc-${gcc_ver}.tar.gz ]; then + echo "gcc-${gcc_ver}.tar.gz is found" + else + #download_pkg_from_ABACUS_org "${gcc_sha256}" "gcc-${gcc_ver}.tar.gz" + url=https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-${gcc_ver}/gcc-${gcc_ver}.tar.gz + download_pkg_from_url "${gcc_sha256}" "gcc-${gcc_ver}.tar.gz" "${url}" + fi + fi + [ -d gcc-${gcc_ver} ] && rm -rf gcc-${gcc_ver} + tar -xzf gcc-${gcc_ver}.tar.gz + + echo "Installing GCC from scratch into ${pkg_install_dir}" + cd gcc-${gcc_ver} + + # Check network connectivity before downloading prerequisites + if curl -s --connect-timeout 5 https://gcc.gnu.org > /dev/null 2>&1; then + echo "Downloading prerequisites from official GCC site..." + # Try official site first + if ./contrib/download_prerequisites > prereq.log 2>&1; then + echo "Prerequisites downloaded successfully from official site" + else + echo "Official site failed, trying mirror site..." + # Fallback to cp2k.org mirror + sed -i 's|http://gcc.gnu.org/pub/gcc/infrastructure/|https://cp2k.org/static/downloads/|' ./contrib/download_prerequisites + ./contrib/download_prerequisites > prereq.log 2>&1 || tail -n ${LOG_LINES} prereq.log + fi + else + echo "Network unavailable, skipping prerequisites download (offline mode)" + fi + + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode: repackaging GCC with prerequisites for offline installation" + cd .. + # Create a new tarball with prerequisites included + repack_filename="gcc-${gcc_ver}-with-prereq.tar.gz" + echo "Creating ${repack_filename}..." + tar -czf "${repack_filename}" gcc-${gcc_ver}/ + echo "Successfully created ${repack_filename} for offline installation" + echo "This package contains GCC source code with all prerequisites ready for offline build" + exit 0 + fi + GCCROOT=${PWD} + mkdir obj + cd obj + # TODO: Maybe use --disable-libquadmath-support to improve static linking: + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46539 + # + # TODO: Maybe use --disable-gnu-unique-object to improve static linking: + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60348#c13 + # https://stackoverflow.com/questions/11931420 + # + # TODO: Unfortunately, we can not simply use --disable-shared, because + # it would break OpenBLAS build and probably others too. + COMMON_FLAGS="-O2 -fPIC -fno-omit-frame-pointer -fopenmp -g" + CFLAGS="${COMMON_FLAGS}" + CXXFLAGS="${CFLAGS}" + FCFLAGS="${COMMON_FLAGS} -fbacktrace" + ${GCCROOT}/configure --prefix="${pkg_install_dir}" \ + --libdir="${pkg_install_dir}/lib" \ + --enable-languages=c,c++,fortran \ + --disable-multilib --disable-bootstrap \ + --enable-lto \ + --enable-plugins \ + > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log + make -j $(get_nprocs) \ + CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" \ + FCFLAGS="${FCFLAGS}" \ + > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make -j $(get_nprocs) install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + # thread sanitizer + if [ "${ENABLE_TSAN}" = "__TRUE__" ]; then + # now the tricky bit... we need to recompile in particular + # libgomp with -fsanitize=thread.. there is not configure + # option for this (as far as I know). we need to go in + # the build tree and recompile / reinstall with proper + # options... this is likely to break for later version of + # gcc, tested with 5.1.0 based on + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55374#c10 + cd x86_64*/libgfortran + make clean > clean.log 2>&1 || tail -n ${LOG_LINES} clean.log + CFLAGS="${CFLAGS} -fsanitize=thread" + CXXFLAGS="${CXXFLAGS} -fsanitize=thread" + FCFLAGS="${FCFLAGS} -fsanitize=thread" + make -j $(get_nprocs) \ + CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" \ + FCFLAGS="${FCFLAGS}" \ + LDFLAGS="-B$(pwd)/../libsanitizer/tsan/.libs/ -Wl,-rpath,$(pwd)/../libsanitizer/tsan/.libs/ -fsanitize=thread" \ + > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + cd ../libgomp + make clean > clean.log 2>&1 || tail -n ${LOG_LINES} clean.log + make -j $(get_nprocs) \ + CFLAGS="${CFLAGS}" \ + CXXFLAGS="${CXXFLAGS}" \ + FCFLAGS="${FCFLAGS}" \ + LDFLAGS="-B$(pwd)/../libsanitizer/tsan/.libs/ -Wl,-rpath,$(pwd)/../libsanitizer/tsan/.libs/ -fsanitize=thread" \ + > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + cd ${GCCROOT}/obj/ + fi + cd ../.. + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage0/$(basename ${SCRIPT_NAME})" + fi check_install ${pkg_install_dir}/bin/gcc "gcc" && CC="${pkg_install_dir}/bin/gcc" || exit 1 check_install ${pkg_install_dir}/bin/g++ "gcc" && CXX="${pkg_install_dir}/bin/g++" || exit 1 check_install ${pkg_install_dir}/bin/gfortran "gcc" && FC="${pkg_install_dir}/bin/gfortran" || exit 1 @@ -131,52 +171,55 @@ case "${with_gcc}" in F77="${FC}" GCC_CFLAGS="-I'${pkg_install_dir}/include'" GCC_LDFLAGS="-L'${pkg_install_dir}/lib64' -L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib64' -Wl,-rpath,'${pkg_install_dir}/lib64'" - fi - ;; - __SYSTEM__) - echo "==================== Finding GCC from system paths ====================" - check_command gcc "gcc" && CC="$(command -v gcc)" || exit 1 - check_command g++ "gcc" && CXX="$(command -v g++)" || exit 1 - check_command gfortran "gcc" && FC="$(command -v gfortran)" || exit 1 - F90="${FC}" - F77="${FC}" - add_include_from_paths -p GCC_CFLAGS "c++" ${INCLUDE_PATHS} - add_lib_from_paths GCC_LDFLAGS "libgfortran.*" ${LIB_PATHS} - ;; - __DONTUSE__) - # Nothing to do - ;; - *) - echo "==================== Linking GCC to user paths ====================" - pkg_install_dir="${with_gcc}" - check_dir "${pkg_install_dir}/bin" - check_dir "${pkg_install_dir}/lib" - check_dir "${pkg_install_dir}/lib64" - check_dir "${pkg_install_dir}/include" - check_command ${pkg_install_dir}/bin/gcc "gcc" && CC="${pkg_install_dir}/bin/gcc" || exit 1 - check_command ${pkg_install_dir}/bin/g++ "gcc" && CXX="${pkg_install_dir}/bin/g++" || exit 1 - check_command ${pkg_install_dir}/bin/gfortran "gcc" && FC="${pkg_install_dir}/bin/gfortran" || exit 1 - F90="${FC}" - F77="${FC}" - GCC_CFLAGS="-I'${pkg_install_dir}/include'" - GCC_LDFLAGS="-L'${pkg_install_dir}/lib64' -L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib64' -Wl,-rpath,'${pkg_install_dir}/lib64'" - ;; + ;; + __SYSTEM__) + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + echo "==================== Finding GCC from system paths ====================" + check_command gcc "gcc" && CC="$(command -v gcc)" || exit 1 + check_command g++ "gcc" && CXX="$(command -v g++)" || exit 1 + check_command gfortran "gcc" && FC="$(command -v gfortran)" || exit 1 + F90="${FC}" + F77="${FC}" + add_include_from_paths -p GCC_CFLAGS "c++" ${INCLUDE_PATHS} + add_lib_from_paths GCC_LDFLAGS "libgfortran.*" ${LIB_PATHS} + ;; + __DONTUSE__) + # Nothing to do + ;; + *) + echo "==================== Linking GCC to user paths ====================" + pkg_install_dir="${with_gcc}" + check_dir "${pkg_install_dir}/bin" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/lib64" + check_dir "${pkg_install_dir}/include" + check_command ${pkg_install_dir}/bin/gcc "gcc" && CC="${pkg_install_dir}/bin/gcc" || exit 1 + check_command ${pkg_install_dir}/bin/g++ "gcc" && CXX="${pkg_install_dir}/bin/g++" || exit 1 + check_command ${pkg_install_dir}/bin/gfortran "gcc" && FC="${pkg_install_dir}/bin/gfortran" || exit 1 + F90="${FC}" + F77="${FC}" + GCC_CFLAGS="-I'${pkg_install_dir}/include'" + GCC_LDFLAGS="-L'${pkg_install_dir}/lib64' -L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib64' -Wl,-rpath,'${pkg_install_dir}/lib64'" + ;; esac if [ "${ENABLE_TSAN}" = "__TRUE__" ]; then - TSANFLAGS="-fsanitize=thread" + TSANFLAGS="-fsanitize=thread" else - TSANFLAGS="" + TSANFLAGS="" fi if [ "${with_gcc}" != "__DONTUSE__" ]; then - cat << EOF > "${BUILDDIR}/setup_gcc" + cat << EOF > "${BUILDDIR}/setup_gcc" export CC="${CC}" export CXX="${CXX}" export FC="${FC}" export F90="${F90}" export F77="${F77}" EOF - if [ "${with_gcc}" != "__SYSTEM__" ]; then - cat << EOF >> "${BUILDDIR}/setup_gcc" + if [ "${with_gcc}" != "__SYSTEM__" ]; then + cat << EOF >> "${BUILDDIR}/setup_gcc" # needs full path for mpich/openmpi builds, triggers openblas bug prepend_path PATH "${pkg_install_dir}/bin" prepend_path LD_LIBRARY_PATH "${pkg_install_dir}/lib" @@ -194,13 +237,13 @@ export LIBRARY_PATH="${pkg_install_dir}/lib":\${LIBRARY_PATH} export LIBRARY_PATH="${pkg_install_dir}/lib64":\${LIBRARY_PATH} export CPATH="${pkg_install_dir}/include":\${CPATH} EOF - fi - cat << EOF >> "${BUILDDIR}/setup_gcc" + fi + cat << EOF >> "${BUILDDIR}/setup_gcc" export GCC_CFLAGS="${GCC_CFLAGS}" export GCC_LDFLAGS="${GCC_LDFLAGS}" export TSANFLAGS="${TSANFLAGS}" EOF - cat "${BUILDDIR}/setup_gcc" >> ${SETUPFILE} + cat "${BUILDDIR}/setup_gcc" >> ${SETUPFILE} fi # ---------------------------------------------------------------------- diff --git a/toolchain/scripts/stage0/install_intel.sh b/toolchain/scripts/stage0/install_intel.sh index afec2e312f..53ef5527ea 100755 --- a/toolchain/scripts/stage0/install_intel.sh +++ b/toolchain/scripts/stage0/install_intel.sh @@ -23,95 +23,87 @@ mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" case "${with_intel}" in - __INSTALL__) - echo "==================== Installing the Intel compiler ====================" - echo "__INSTALL__ is not supported; please install the Intel compiler manually" - if [ "${PACK_RUN}" != "__TRUE__" ]; then + __INSTALL__) + echo "==================== Installing the Intel compiler ====================" + report_error ${LINENO} "To install the Intel compiler, please contact your system administrator." exit 1 - fi - exit 1 - ;; - __SYSTEM__) - echo "==================== Finding Intel compiler from system paths ====================" - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip system check" - else - if [ "${intel_classic}" = "yes" ]; then - check_command icc "intel" && CC="$(realpath $(command -v icc))" || exit 1 - check_command icpc "intel" && CXX="$(realpath $(command -v icpc))" || exit 1 - check_command ifort "intel" && FC="$(realpath $(command -v ifort))" || exit 1 - else - check_command icx "intel" && CC="$(realpath $(command -v icx))" || exit 1 - check_command icpx "intel" && CXX="$(realpath $(command -v icpx))" || exit 1 - if [ "${WITH_IFX}" = "yes" ]; then - check_command ifx "intel" && FC="$(realpath $(command -v ifx))" || exit 1 - else - check_command ifort "intel" && FC="$(realpath $(command -v ifort))" || exit 1 - fi - fi - fi - F90="${FC}" - F77="${FC}" - ;; - __DONTUSE__) - # Nothing to do - ;; - *) - echo "==================== Linking Intel compiler to user paths ====================" - pkg_install_dir="${with_intel}" - check_dir "${pkg_install_dir}/bin" - check_dir "${pkg_install_dir}/lib" - check_dir "${pkg_install_dir}/include" - if [ "${intel_classic}" = "yes" ]; then - check_command ${pkg_install_dir}/bin/icc "intel" && CC="${pkg_install_dir}/bin/icc" || exit 1 - check_command ${pkg_install_dir}/bin/icpc "intel" && CXX="${pkg_install_dir}/bin/icpc" || exit 1 - check_command ${pkg_install_dir}/bin/ifort "intel" && FC="${pkg_install_dir}/bin/ifort" || exit 1 - else - check_command ${pkg_install_dir}/bin/icx "intel" && CC="${pkg_install_dir}/bin/icx" || exit 1 - check_command ${pkg_install_dir}/bin/icpx "intel" && CXX="${pkg_install_dir}/bin/icpx" || exit 1 - if [ "${WITH_IFX}" = "yes" ]; then - check_command ${pkg_install_dir}/bin/ifx "intel" && FC="${pkg_install_dir}/bin/ifx" || exit 1 - else - check_command ${pkg_install_dir}/bin/ifort "intel" && FC="${pkg_install_dir}/bin/ifort" || exit 1 - fi - fi - F90="${FC}" - F77="${FC}" - INTEL_CFLAGS="-I'${pkg_install_dir}/include'" - INTEL_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; + ;; + __SYSTEM__) + echo "==================== Finding Intel compiler from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + if [ "${intel_classic}" = "yes" ]; then + check_command icc "intel" && CC="$(realpath $(command -v icc))" || exit 1 + check_command icpc "intel" && CXX="$(realpath $(command -v icpc))" || exit 1 + check_command ifort "intel" && FC="$(realpath $(command -v ifort))" || exit 1 + else + check_command icx "intel" && CC="$(realpath $(command -v icx))" || exit 1 + check_command icpx "intel" && CXX="$(realpath $(command -v icpx))" || exit 1 + if [ "${WITH_IFX}" = "yes" ]; then + check_command ifx "intel" && FC="$(realpath $(command -v ifx))" || exit 1 + else + check_command ifort "intel" && FC="$(realpath $(command -v ifort))" || exit 1 + fi + fi + F90="${FC}" + F77="${FC}" + ;; + __DONTUSE__) + # Nothing to do + ;; + *) + echo "==================== Linking Intel compiler to user paths ====================" + pkg_install_dir="${with_intel}" + check_dir "${pkg_install_dir}/bin" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + if [ "${intel_classic}" = "yes" ]; then + check_command ${pkg_install_dir}/bin/icc "intel" && CC="${pkg_install_dir}/bin/icc" || exit 1 + check_command ${pkg_install_dir}/bin/icpc "intel" && CXX="${pkg_install_dir}/bin/icpc" || exit 1 + check_command ${pkg_install_dir}/bin/ifort "intel" && FC="${pkg_install_dir}/bin/ifort" || exit 1 + else + check_command ${pkg_install_dir}/bin/icx "intel" && CC="${pkg_install_dir}/bin/icx" || exit 1 + check_command ${pkg_install_dir}/bin/icpx "intel" && CXX="${pkg_install_dir}/bin/icpx" || exit 1 + if [ "${WITH_IFX}" = "yes" ]; then + check_command ${pkg_install_dir}/bin/ifx "intel" && FC="${pkg_install_dir}/bin/ifx" || exit 1 + else + check_command ${pkg_install_dir}/bin/ifort "intel" && FC="${pkg_install_dir}/bin/ifort" || exit 1 + fi + fi + F90="${FC}" + F77="${FC}" + INTEL_CFLAGS="-I'${pkg_install_dir}/include'" + INTEL_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; esac if [ "${with_intel}" != "__DONTUSE__" ]; then - echo "CC is ${CC}" - echo "CXX is ${CXX}" - echo "FC is ${FC}" - cat << EOF > "${BUILDDIR}/setup_intel" + echo "CC is ${CC}" + echo "CXX is ${CXX}" + echo "FC is ${FC}" + cat << EOF > "${BUILDDIR}/setup_intel" export CC="${CC}" export CXX="${CXX}" export FC="${FC}" export F90="${F90}" export F77="${F77}" EOF - if [ "${with_intel}" != "__SYSTEM__" ]; then - cat << EOF >> "${BUILDDIR}/setup_intel" + if [ "${with_intel}" != "__SYSTEM__" ]; then + cat << EOF >> "${BUILDDIR}/setup_intel" prepend_path PATH "${pkg_install_dir}/bin" prepend_path LD_LIBRARY_PATH "${pkg_install_dir}/lib" prepend_path LD_RUN_PATH "${pkg_install_dir}/lib" prepend_path LIBRARY_PATH "${pkg_install_dir}/lib" prepend_path CPATH "${pkg_install_dir}/include" -export PATH="${pkg_install_dir}/bin":\${PATH} -export LD_LIBRARY_PATH="${pkg_install_dir}/lib":\${LD_LIBRARY_PATH} -export LD_RUN_PATH="${pkg_install_dir}/lib":\${LD_RUN_PATH} -export LIBRARY_PATH="${pkg_install_dir}/lib":\${LIBRARY_PATH} -export CPATH="${pkg_install_dir}/include":\${CPATH} EOF - fi - cat << EOF >> "${BUILDDIR}/setup_intel" + fi + cat << EOF >> "${BUILDDIR}/setup_intel" export INTEL_CFLAGS="${INTEL_CFLAGS}" export INTEL_LDFLAGS="${INTEL_LDFLAGS}" export INTEL_LIBS="${INTEL_LIBS}" EOF - cat "${BUILDDIR}/setup_intel" >> ${SETUPFILE} + cat "${BUILDDIR}/setup_intel" >> ${SETUPFILE} fi load "${BUILDDIR}/setup_intel" diff --git a/toolchain/scripts/stage1/install_intelmpi.sh b/toolchain/scripts/stage1/install_intelmpi.sh index 0c350f69ae..5f311c4b5e 100755 --- a/toolchain/scripts/stage1/install_intelmpi.sh +++ b/toolchain/scripts/stage1/install_intelmpi.sh @@ -24,107 +24,105 @@ mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" case "${with_intelmpi}" in - __INSTALL__) - echo "==================== Installing Intel MPI ====================" - echo '__INSTALL__ is not supported; please manually install Intel MPI' - if [ "${PACK_RUN}" != "__TRUE__" ]; then + __INSTALL__) + echo "==================== Installing Intel MPI ====================" + report_error ${LINENO} "To install Intel MPI, please contact your system administrator." exit 1 - fi - ;; - __SYSTEM__) - echo "==================== Finding Intel MPI from system paths ====================" - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip system check" - else - check_command mpiexec "intelmpi" && MPIRUN="$(realpath $(command -v mpiexec))" - if [ "${intel_classic}" = "yes" ]; then - # if intel compiler used as classic, so as intelmpi - export INTELMPI_CLASSIC="yes" - fi - if [ "${with_intel}" != "__DONTUSE__" ]; then - if [ "${INTELMPI_CLASSIC}" = "yes" ]; then - check_command mpiicc "intelmpi" && MPICC="$(realpath $(command -v mpiicc))" || exit 1 - check_command mpiicpc "intelmpi" && MPICXX="$(realpath $(command -v mpiicpc))" || exit 1 - check_command mpiifort "intelmpi" && MPIFC="$(realpath $(command -v mpiifort))" || exit 1 + ;; + __SYSTEM__) + echo "==================== Finding Intel MPI from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" else - check_command mpiicx "intelmpi" && MPICC="$(realpath $(command -v mpiicx))" || exit 1 - check_command mpiicpx "intelmpi" && MPICXX="$(realpath $(command -v mpiicpx))" || exit 1 - if [ "${WITH_IFX}" == "yes" ]; then - check_command mpiifx "intelmpi" && MPIFC="$(realpath $(command -v mpiifx))" || exit 1 + check_command mpiexec "intelmpi" && MPIRUN="$(realpath $(command -v mpiexec))" + if [ "${intel_classic}" = "yes" ]; then + # if intel compiler used as classic, so as intelmpi + export INTELMPI_CLASSIC="yes" + fi + if [ "${with_intel}" != "__DONTUSE__" ]; then + if [ "${INTELMPI_CLASSIC}" = "yes" ]; then + check_command mpiicc "intelmpi" && MPICC="$(realpath $(command -v mpiicc))" || exit 1 + check_command mpiicpc "intelmpi" && MPICXX="$(realpath $(command -v mpiicpc))" || exit 1 + check_command mpiifort "intelmpi" && MPIFC="$(realpath $(command -v mpiifort))" || exit 1 + else + check_command mpiicx "intelmpi" && MPICC="$(realpath $(command -v mpiicx))" || exit 1 + check_command mpiicpx "intelmpi" && MPICXX="$(realpath $(command -v mpiicpx))" || exit 1 + if [ "${WITH_IFX}" == "yes" ]; then + check_command mpiifx "intelmpi" && MPIFC="$(realpath $(command -v mpiifx))" || exit 1 + else + check_command mpiifort "intelmpi" && MPIFC="$(realpath $(command -v mpiifort))" || exit 1 + fi + fi else - check_command mpiifort "intelmpi" && MPIFC="$(realpath $(command -v mpiifort))" || exit 1 + echo "The use of Intel MPI is only supported with the Intel compiler" + exit 1 fi + MPIFORT="${MPIFC}" + MPIF77="${MPIFC}" + # include path is already handled by compiler wrapper scripts (can cause wrong mpi.mod with GNU Fortran) + # add_include_from_paths INTELMPI_CFLAGS "mpi.h" $INCLUDE_PATHS + add_lib_from_paths INTELMPI_LDFLAGS "libmpi.*" $LIB_PATHS + check_lib -lmpi "intelmpi" + check_lib -lmpicxx "intelmpi" fi - else - echo "The use of Intel MPI is only supported with the Intel compiler" - exit 1 - fi - MPIFORT="${MPIFC}" - MPIF77="${MPIFC}" - # include path is already handled by compiler wrapper scripts (can cause wrong mpi.mod with GNU Fortran) - # add_include_from_paths INTELMPI_CFLAGS "mpi.h" $INCLUDE_PATHS - add_lib_from_paths INTELMPI_LDFLAGS "libmpi.*" $LIB_PATHS - check_lib -lmpi "intelmpi" - check_lib -lmpicxx "intelmpi" - fi - ;; - __DONTUSE__) - # Nothing to do - ;; - *) - echo "==================== Linking INTELMPI to user paths ====================" - pkg_install_dir="${with_intelmpi}" - check_dir "${pkg_install_dir}/bin" - check_dir "${pkg_install_dir}/lib" - check_dir "${pkg_install_dir}/include" - check_command ${pkg_install_dir}/bin/mpiexec "intel" && MPIRUN="${pkg_install_dir}/bin/mpiexec" || exit 1 - if [ "${with_intel}" != "__DONTUSE__" ]; then - if [ "${INTELMPI_CLASSIC}" = "yes" ]; then - check_command ${pkg_install_dir}/bin/mpiicc "intel" && MPICC="${pkg_install_dir}/bin/mpiicc" || exit 1 - check_command ${pkg_install_dir}/bin/mpiicpc "intel" && MPICXX="${pkg_install_dir}/bin/mpiicpc" || exit 1 - check_command ${pkg_install_dir}/bin/mpiifort "intel" && MPIFC="${pkg_install_dir}/bin/mpiifort" || exit 1 - else - check_command ${pkg_install_dir}/bin/mpiicx "intel" && MPICC="${pkg_install_dir}/bin/mpiicx" || exit 1 - check_command ${pkg_install_dir}/bin/mpiicpx "intel" && MPICXX="${pkg_install_dir}/bin/mpiicpx" || exit 1 - if [ "${WITH_IFX}" = "yes" ]; then - check_command ${pkg_install_dir}/bin/mpiifx "intel" && MPIFC="${pkg_install_dir}/bin/mpiifx" || exit 1 - else + ;; + __DONTUSE__) + # Nothing to do + ;; + *) + echo "==================== Linking INTELMPI to user paths ====================" + pkg_install_dir="${with_intelmpi}" + check_dir "${pkg_install_dir}/bin" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + check_command ${pkg_install_dir}/bin/mpiexec "intel" && MPIRUN="${pkg_install_dir}/bin/mpiexec" || exit 1 + if [ "${with_intel}" != "__DONTUSE__" ]; then + if [ "${INTELMPI_CLASSIC}" = "yes" ]; then + check_command ${pkg_install_dir}/bin/mpiicc "intel" && MPICC="${pkg_install_dir}/bin/mpiicc" || exit 1 + check_command ${pkg_install_dir}/bin/mpiicpc "intel" && MPICXX="${pkg_install_dir}/bin/mpiicpc" || exit 1 check_command ${pkg_install_dir}/bin/mpiifort "intel" && MPIFC="${pkg_install_dir}/bin/mpiifort" || exit 1 + else + check_command ${pkg_install_dir}/bin/mpiicx "intel" && MPICC="${pkg_install_dir}/bin/mpiicx" || exit 1 + check_command ${pkg_install_dir}/bin/mpiicpx "intel" && MPICXX="${pkg_install_dir}/bin/mpiicpx" || exit 1 + if [ "${WITH_IFX}" = "yes" ]; then + check_command ${pkg_install_dir}/bin/mpiifx "intel" && MPIFC="${pkg_install_dir}/bin/mpiifx" || exit 1 + else + check_command ${pkg_install_dir}/bin/mpiifort "intel" && MPIFC="${pkg_install_dir}/bin/mpiifort" || exit 1 + fi fi + else + echo "The use of Intel MPI is only supported with the Intel compiler" + exit 1 fi - else - echo "The use of Intel MPI is only supported with the Intel compiler" - exit 1 - fi - MPIFORT="${MPIFC}" - MPIF77="${MPIFC}" - # include path is already handled by compiler wrapper scripts (can cause wrong mpi.mod with GNU Fortran) - INTELMPI_CFLAGS="-I'${pkg_install_dir}/include'" - INTELMPI_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; + MPIFORT="${MPIFC}" + MPIF77="${MPIFC}" + # include path is already handled by compiler wrapper scripts (can cause wrong mpi.mod with GNU Fortran) + INTELMPI_CFLAGS="-I'${pkg_install_dir}/include'" + INTELMPI_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; esac if [ "${with_intelmpi}" != "__DONTUSE__" ]; then - if [ "${intel_classic}" = "yes" ]; then - I_MPI_CXX="icpc" - I_MPI_CC="icc" - I_MPI_FC="ifort" - else - I_MPI_CXX="icpx" - I_MPI_CC="icx" - if [ "${WITH_IFX}" = "yes" ]; then - I_MPI_FC="ifx" + if [ "${intel_classic}" = "yes" ]; then + I_MPI_CXX="icpc" + I_MPI_CC="icc" + I_MPI_FC="ifort" else - I_MPI_FC="ifort" + I_MPI_CXX="icpx" + I_MPI_CC="icx" + if [ "${WITH_IFX}" = "yes" ]; then + I_MPI_FC="ifx" + else + I_MPI_FC="ifort" + fi fi - fi - INTELMPI_LIBS="-lmpi -lmpicxx" - echo "I_MPI_CXX is ${I_MPI_CXX}" - echo "I_MPI_CC is ${I_MPI_CC}" - echo "I_MPI_FC is ${I_MPI_FC}" - echo "MPICXX is ${MPICXX}" - echo "MPICC is ${MPICC}" - echo "MPIFC is ${MPIFC}" - cat << EOF > "${BUILDDIR}/setup_intelmpi" + INTELMPI_LIBS="-lmpi -lmpicxx" + echo "I_MPI_CXX is ${I_MPI_CXX}" + echo "I_MPI_CC is ${I_MPI_CC}" + echo "I_MPI_FC is ${I_MPI_FC}" + echo "MPICXX is ${MPICXX}" + echo "MPICC is ${MPICC}" + echo "MPIFC is ${MPIFC}" + cat << EOF > "${BUILDDIR}/setup_intelmpi" export I_MPI_CXX="${I_MPI_CXX}" export I_MPI_CC="${I_MPI_CC}" export I_MPI_FC="${I_MPI_FC}" @@ -146,8 +144,8 @@ export CP_CFLAGS="\${CP_CFLAGS} IF_MPI(${INTELMPI_CFLAGS}|)" export CP_LDFLAGS="\${CP_LDFLAGS} IF_MPI(${INTELMPI_LDFLAGS}|)" export CP_LIBS="\${CP_LIBS} IF_MPI(${INTELMPI_LIBS}|)" EOF - if [ "${with_intelmpi}" != "__SYSTEM__" ]; then - cat << EOF >> "${BUILDDIR}/setup_intelmpi" + if [ "${with_intelmpi}" != "__SYSTEM__" ]; then + cat << EOF >> "${BUILDDIR}/setup_intelmpi" prepend_path PATH "${pkg_install_dir}/bin" export PATH="${pkg_install_dir}/bin":\${PATH} export LD_LIBRARY_PATH="${pkg_install_dir}/lib":\${LD_LIBRARY_PATH} @@ -155,8 +153,8 @@ export LD_RUN_PATH="${pkg_install_dir}/lib":\${LD_RUN_PATH} export LIBRARY_PATH="${pkg_install_dir}/lib":\${LIBRARY_PATH} export CPATH="${pkg_install_dir}/include":\${CPATH} EOF - fi - cat "${BUILDDIR}/setup_intelmpi" >> ${SETUPFILE} + fi + cat "${BUILDDIR}/setup_intelmpi" >> ${SETUPFILE} fi load "${BUILDDIR}/setup_intelmpi" diff --git a/toolchain/scripts/stage1/install_mpich.sh b/toolchain/scripts/stage1/install_mpich.sh index 2b80c73892..c0909b4a9c 100755 --- a/toolchain/scripts/stage1/install_mpich.sh +++ b/toolchain/scripts/stage1/install_mpich.sh @@ -3,17 +3,29 @@ # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all -# Last Update in 2025-0308 - [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -# mpich_ver="4.0.3" -# mpich_sha256="17406ea90a6ed4ecd5be39c9ddcbfac9343e6ab4f77ac4e8c5ebe4a3e3b6c501" -# mpich_ver="4.1.2" -# mpich_sha256="3492e98adab62b597ef0d292fb2459b6123bc80070a8aa0a30be6962075a12f0" -mpich_ver="4.3.0" -mpich_sha256="5e04132984ad83cab9cc53f76072d2b5ef5a6d24b0a9ff9047a8ff96121bcc63" +# Load centralized version management +source "${SCRIPT_DIR}"/package_versions.sh + +# Load MPICH package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "mpich:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "mpich:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "mpich" "$version_suffix" mpich_pkg="mpich-${mpich_ver}.tar.gz" source "${SCRIPT_DIR}"/common_vars.sh @@ -32,111 +44,117 @@ MPICH_LIBS="" cd "${BUILDDIR}" case "${with_mpich}" in - __INSTALL__) - echo "==================== Installing MPICH ====================" - pkg_install_dir="${INSTALLDIR}/mpich-${mpich_ver}" - #pkg_install_dir="${HOME}/apps/mpich/${mpich_ver}-intel" - install_lock_file="$pkg_install_dir/install_successful" - url="https://www.mpich.org/static/downloads/${mpich_ver}/${mpich_pkg}" - if verify_checksums "${install_lock_file}"; then - echo "mpich-${mpich_ver} is already installed, skipping it." - else - if [ -f ${mpich_pkg} ]; then - echo "${mpich_pkg} is found" - else - #download_pkg_from_ABACUS_org "${mpich_sha256}" "${mpich_pkg}" - download_pkg_from_url "${mpich_sha256}" "${mpich_pkg}" "${url}" - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir} for MPICH device ${MPICH_DEVICE}" - [ -d mpich-${mpich_ver} ] && rm -rf mpich-${mpich_ver} - tar -xzf ${mpich_pkg} - cd mpich-${mpich_ver} - unset F90 - unset F90FLAGS + __INSTALL__) + echo "==================== Installing MPICH ====================" + pkg_install_dir="${INSTALLDIR}/mpich-${mpich_ver}" + #pkg_install_dir="${HOME}/apps/mpich/${mpich_ver}-intel" + install_lock_file="$pkg_install_dir/install_successful" + url="https://www.mpich.org/static/downloads/${mpich_ver}/${mpich_pkg}" + if verify_checksums "${install_lock_file}"; then + echo "mpich-${mpich_ver} is already installed, skipping it." + else + if [ -f ${mpich_pkg} ]; then + echo "${mpich_pkg} is found" + else + #download_pkg_from_ABACUS_org "${mpich_sha256}" "${mpich_pkg}" + download_pkg_from_url "${mpich_sha256}" "${mpich_pkg}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir} for MPICH device ${MPICH_DEVICE}" + [ -d mpich-${mpich_ver} ] && rm -rf mpich-${mpich_ver} + tar -xzf ${mpich_pkg} + cd mpich-${mpich_ver} + unset F90 + unset F90FLAGS - # workaround for compilation with GCC >= 10, until properly fixed: - # https://github.com/pmodels/mpich/issues/4300 - if ("${FC}" --version | grep -q 'GNU'); then - compat_flag=$(allowed_gfortran_flags "-fallow-argument-mismatch") - fi - ./configure \ - --prefix="${pkg_install_dir}" \ - --libdir="${pkg_install_dir}/lib" \ - MPICC="" \ - FFLAGS="${FCFLAGS} ${compat_flag}" \ - FCFLAGS="${FCFLAGS} ${compat_flag}" \ - --with-device=${MPICH_DEVICE} \ - > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log - make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log - make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log - cd .. - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage1/$(basename ${SCRIPT_NAME})" - fi - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip system check" - else - check_dir "${pkg_install_dir}/bin" - check_dir "${pkg_install_dir}/lib" - check_dir "${pkg_install_dir}/include" - check_install ${pkg_install_dir}/bin/mpiexec "mpich" && MPIRUN="${pkg_install_dir}/bin/mpiexec" || exit 1 - check_install ${pkg_install_dir}/bin/mpicc "mpich" && MPICC="${pkg_install_dir}/bin/mpicc" || exit 1 - check_install ${pkg_install_dir}/bin/mpicxx "mpich" && MPICXX="${pkg_install_dir}/bin/mpicxx" || exit 1 - check_install ${pkg_install_dir}/bin/mpifort "mpich" && MPIFC="${pkg_install_dir}/bin/mpifort" || exit 1 - MPIFORT="${MPIFC}" - MPIF77="${MPIFC}" - MPICH_CFLAGS="-I'${pkg_install_dir}/include'" - MPICH_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - fi - ;; - __SYSTEM__) - echo "==================== Finding MPICH from system paths ====================" - check_command mpiexec "mpich" && MPIRUN="$(command -v mpiexec)" - check_command mpicc "mpich" && MPICC="$(command -v mpicc)" || exit 1 - if [ $(command -v mpic++ > /dev/null 2>&1) ]; then - check_command mpic++ "mpich" && MPICXX="$(command -v mpic++)" || exit 1 - else - check_command mpicxx "mpich" && MPICXX="$(command -v mpicxx)" || exit 1 - fi - check_command mpifort "mpich" && MPIFC="$(command -v mpifort)" || exit 1 - MPIFORT="${MPIFC}" - MPIF77="${MPIFC}" - check_lib -lmpifort "mpich" - check_lib -lmpicxx "mpich" - check_lib -lmpi "mpich" - add_include_from_paths MPICH_CFLAGS "mpi.h" ${INCLUDE_PATHS} - add_lib_from_paths MPICH_LDFLAGS "libmpi.*" ${LIB_PATHS} - ;; - __DONTUSE__) - # Nothing to do - ;; - *) - echo "==================== Linking MPICH to user paths ====================" - pkg_install_dir="${with_mpich}" - check_dir "${pkg_install_dir}/bin" - check_dir "${pkg_install_dir}/lib" - check_dir "${pkg_install_dir}/include" - check_command ${pkg_install_dir}/bin/mpiexec "mpich" && MPIRUN="${pkg_install_dir}/bin/mpiexec" || exit 1 - check_command ${pkg_install_dir}/bin/mpicc "mpich" && MPICC="${pkg_install_dir}/bin/mpicc" || exit 1 - check_command ${pkg_install_dir}/bin/mpicxx "mpich" && MPICXX="${pkg_install_dir}/bin/mpicxx" || exit 1 - check_command ${pkg_install_dir}/bin/mpifort "mpich" && MPIFC="${pkg_install_dir}/bin/mpifort" || exit 1 - MPIFORT="${MPIFC}" - MPIF77="${MPIFC}" - MPICH_CFLAGS="-I'${pkg_install_dir}/include'" - MPICH_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; + # workaround for compilation with GCC >= 10, until properly fixed: + # https://github.com/pmodels/mpich/issues/4300 + if ("${FC}" --version | grep -q 'GNU'); then + compat_flag=$(allowed_gfortran_flags "-fallow-argument-mismatch") + fi + ./configure \ + --prefix="${pkg_install_dir}" \ + --libdir="${pkg_install_dir}/lib" \ + MPICC="" \ + FFLAGS="${FCFLAGS} ${compat_flag}" \ + FCFLAGS="${FCFLAGS} ${compat_flag}" \ + --without-x \ + --enable-gl=no \ + --with-device=${MPICH_DEVICE} \ + > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log + make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + cd .. + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage1/$(basename ${SCRIPT_NAME})" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_dir "${pkg_install_dir}/bin" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + check_install ${pkg_install_dir}/bin/mpiexec "mpich" && MPIRUN="${pkg_install_dir}/bin/mpiexec" || exit 1 + check_install ${pkg_install_dir}/bin/mpicc "mpich" && MPICC="${pkg_install_dir}/bin/mpicc" || exit 1 + check_install ${pkg_install_dir}/bin/mpicxx "mpich" && MPICXX="${pkg_install_dir}/bin/mpicxx" || exit 1 + check_install ${pkg_install_dir}/bin/mpifort "mpich" && MPIFC="${pkg_install_dir}/bin/mpifort" || exit 1 + MPIFORT="${MPIFC}" + MPIF77="${MPIFC}" + MPICH_CFLAGS="-I'${pkg_install_dir}/include'" + MPICH_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; + __SYSTEM__) + echo "==================== Finding MPICH from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_command mpiexec "mpich" && MPIRUN="$(command -v mpiexec)" + check_command mpicc "mpich" && MPICC="$(command -v mpicc)" || exit 1 + if [ $(command -v mpic++ > /dev/null 2>&1) ]; then + check_command mpic++ "mpich" && MPICXX="$(command -v mpic++)" || exit 1 + else + check_command mpicxx "mpich" && MPICXX="$(command -v mpicxx)" || exit 1 + fi + check_command mpifort "mpich" && MPIFC="$(command -v mpifort)" || exit 1 + MPIFORT="${MPIFC}" + MPIF77="${MPIFC}" + check_lib -lmpifort "mpich" + check_lib -lmpicxx "mpich" + check_lib -lmpi "mpich" + add_include_from_paths MPICH_CFLAGS "mpi.h" ${INCLUDE_PATHS} + add_lib_from_paths MPICH_LDFLAGS "libmpi.*" ${LIB_PATHS} + ;; + __DONTUSE__) + # Nothing to do + ;; + *) + echo "==================== Linking MPICH to user paths ====================" + pkg_install_dir="${with_mpich}" + check_dir "${pkg_install_dir}/bin" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + check_command ${pkg_install_dir}/bin/mpiexec "mpich" && MPIRUN="${pkg_install_dir}/bin/mpiexec" || exit 1 + check_command ${pkg_install_dir}/bin/mpicc "mpich" && MPICC="${pkg_install_dir}/bin/mpicc" || exit 1 + check_command ${pkg_install_dir}/bin/mpicxx "mpich" && MPICXX="${pkg_install_dir}/bin/mpicxx" || exit 1 + check_command ${pkg_install_dir}/bin/mpifort "mpich" && MPIFC="${pkg_install_dir}/bin/mpifort" || exit 1 + MPIFORT="${MPIFC}" + MPIF77="${MPIFC}" + MPICH_CFLAGS="-I'${pkg_install_dir}/include'" + MPICH_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; esac if [ "${with_mpich}" != "__DONTUSE__" ]; then - if [ "${with_mpich}" != "__SYSTEM__" ]; then - mpi_bin="${pkg_install_dir}/bin/mpiexec" - else - mpi_bin="mpiexec" - fi - MPICH_LIBS="-lmpifort -lmpicxx -lmpi" - cat << EOF > "${BUILDDIR}/setup_mpich" + if [ "${with_mpich}" != "__SYSTEM__" ]; then + mpi_bin="${pkg_install_dir}/bin/mpiexec" + else + mpi_bin="mpiexec" + fi + MPICH_LIBS="-lmpifort -lmpicxx -lmpi" + cat << EOF > "${BUILDDIR}/setup_mpich" export MPI_MODE="${MPI_MODE}" export MPIRUN="${MPIRUN}" export MPICC="${MPICC}" @@ -155,18 +173,17 @@ export CP_CFLAGS="\${CP_CFLAGS} IF_MPI(${MPICH_CFLAGS}|)" export CP_LDFLAGS="\${CP_LDFLAGS} IF_MPI(${MPICH_LDFLAGS}|)" export CP_LIBS="\${CP_LIBS} IF_MPI(${MPICH_LIBS}|)" EOF - if [ "${with_mpich}" != "__SYSTEM__" ]; then - cat << EOF >> "${BUILDDIR}/setup_mpich" + if [ "${with_mpich}" != "__SYSTEM__" ]; then + cat << EOF >> "${BUILDDIR}/setup_mpich" prepend_path PATH "${pkg_install_dir}/bin" export PATH="${pkg_install_dir}/bin":\${PATH} export LD_LIBRARY_PATH="${pkg_install_dir}/lib":\${LD_LIBRARY_PATH} export LD_RUN_PATH="${pkg_install_dir}/lib":\${LD_RUN_PATH} export LIBRARY_PATH="${pkg_install_dir}/lib":\${LIBRARY_PATH} export CPATH="${pkg_install_dir}/include":\${CPATH} - EOF - fi - cat "${BUILDDIR}/setup_mpich" >> ${SETUPFILE} + fi + cat "${BUILDDIR}/setup_mpich" >> ${SETUPFILE} fi # Update leak suppression file @@ -174,6 +191,8 @@ cat << EOF >> ${INSTALLDIR}/lsan.supp # MPICH 3.3.2 with GCC 10.3.0 leak:MPIR_Find_local_and_external leak:MPIU_Find_local_and_external +# MPICH 4.2.3 +leak:MPL_malloc EOF load "${BUILDDIR}/setup_mpich" diff --git a/toolchain/scripts/stage1/install_openmpi.sh b/toolchain/scripts/stage1/install_openmpi.sh index faad08eb48..6798e8ef17 100755 --- a/toolchain/scripts/stage1/install_openmpi.sh +++ b/toolchain/scripts/stage1/install_openmpi.sh @@ -3,20 +3,29 @@ # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all -# Last Update in 2025-0504 -# Change default version to openmpi 5 -# allow user to choose openmpi 4 in used scripts - [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -if [ "${OPENMPI_4TH}" = "yes" ]; then - openmpi_ver="4.1.6" - openmpi_sha256="f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415" -else - openmpi_ver="5.0.7" - openmpi_sha256="119f2009936a403334d0df3c0d74d5595a32d99497f9b1d41e90019fee2fc2dd" +# Load centralized version management +source "${SCRIPT_DIR}"/package_versions.sh + +# Load OpenMPI package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "openmpi:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "openmpi:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" fi +# Load package variables with appropriate version +load_package_vars "openmpi" "$version_suffix" openmpi_pkg="openmpi-${openmpi_ver}.tar.bz2" source "${SCRIPT_DIR}"/common_vars.sh @@ -35,133 +44,141 @@ OPENMPI_LIBS="" cd "${BUILDDIR}" case "${with_openmpi}" in - __INSTALL__) - echo "==================== Installing OpenMPI ====================" - pkg_install_dir="${INSTALLDIR}/openmpi-${openmpi_ver}" - #pkg_install_dir="${HOME}/apps/openmpi/${openmpi_ver}-gcc8" - install_lock_file="$pkg_install_dir/install_successful" - url="https://download.open-mpi.org/release/open-mpi/v${openmpi_ver%.*}/${openmpi_pkg}" - if verify_checksums "${install_lock_file}"; then - echo "openmpi-${openmpi_ver} is already installed, skipping it." - else - if [ -f ${openmpi_pkg} ]; then - echo "${openmpi_pkg} is found" - else - download_pkg_from_url "${openmpi_sha256}" "${openmpi_pkg}" "${url}" - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d openmpi-${openmpi_ver} ] && rm -rf openmpi-${openmpi_ver} - tar -xjf ${openmpi_pkg} - cd openmpi-${openmpi_ver} - if [ "${OPENBLAS_ARCH}" = "x86_64" ]; then - # can have issue with older glibc libraries, in which case - # we need to add the -fgnu89-inline to CFLAGS. We can check - # the version of glibc using ldd --version, as ldd is part of - # glibc package - glibc_version=$(ldd --version | awk '/ldd/{print $NF}') - glibc_major_ver=${glibc_version%%.*} - glibc_minor_ver=${glibc_version##*.} - if [ $glibc_major_ver -lt 2 ] || - [ $glibc_major_ver -eq 2 -a $glibc_minor_ver -lt 12 ]; then - CFLAGS="${CFLAGS} -fgnu89-inline" - fi - fi + __INSTALL__) + echo "==================== Installing OpenMPI ====================" + pkg_install_dir="${INSTALLDIR}/openmpi-${openmpi_ver}" + install_lock_file="$pkg_install_dir/install_successful" + url="https://download.open-mpi.org/release/open-mpi/v${openmpi_ver%.*}/${openmpi_pkg}" + if verify_checksums "${install_lock_file}"; then + echo "openmpi-${openmpi_ver} is already installed, skipping it." + else + if [ -f ${openmpi_pkg} ]; then + echo "${openmpi_pkg} is found" + else + download_pkg_from_url "${openmpi_sha256}" "${openmpi_pkg}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d openmpi-${openmpi_ver} ] && rm -rf openmpi-${openmpi_ver} + tar -xjf ${openmpi_pkg} + cd openmpi-${openmpi_ver} + if [ "${OPENBLAS_ARCH}" = "x86_64" ]; then + # can have issue with older glibc libraries, in which case + # we need to add the -fgnu89-inline to CFLAGS. We can check + # the version of glibc using ldd --version, as ldd is part of + # glibc package + glibc_version=$(ldd --version | awk '/ldd/{print $NF}') + glibc_major_ver=${glibc_version%%.*} + glibc_minor_ver=${glibc_version##*.} + if [ $glibc_major_ver -lt 2 ] || + [ $glibc_major_ver -eq 2 -a $glibc_minor_ver -lt 12 ]; then + CFLAGS="${CFLAGS} -fgnu89-inline" + fi + fi - # Notice for RHEL8 refer https://github.com/open-mpi/ompi/issues/13103 + # Notice for RHEL8 refer https://github.com/open-mpi/ompi/issues/13103 - # OpenMPI 5.0 only supports PMIx - # PMI support is required for Slurm, but not for other schedulers - # default not use - # for OpenMPI 4.1 with pmi slurm, we can open this setting manually - # if [ $(command -v srun) ]; then - # echo "Slurm installation found. OpenMPI will be configured with --with-pmi." - # EXTRA_CONFIGURE_FLAGS="--with-pmi" - # else - # EXTRA_CONFIGURE_FLAGS="" - # fi - ./configure CFLAGS="${CFLAGS}" \ - --prefix=${pkg_install_dir} \ - --libdir="${pkg_install_dir}/lib" \ - --with-libevent=internal \ - ${EXTRA_CONFIGURE_FLAGS} \ - > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log - make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log - make -j $(get_nprocs) install > install.log 2>&1 || tail -n ${LOG_LINES} install.log - cd .. - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage1/$(basename ${SCRIPT_NAME})" - fi - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip system check" - else - check_dir "${pkg_install_dir}/bin" - check_dir "${pkg_install_dir}/lib" - check_dir "${pkg_install_dir}/include" - check_install ${pkg_install_dir}/bin/mpiexec "openmpi" && MPIRUN="${pkg_install_dir}/bin/mpiexec" || exit 1 - check_install ${pkg_install_dir}/bin/mpicc "openmpi" && MPICC="${pkg_install_dir}/bin/mpicc" || exit 1 - check_install ${pkg_install_dir}/bin/mpicxx "openmpi" && MPICXX="${pkg_install_dir}/bin/mpicxx" || exit 1 - check_install ${pkg_install_dir}/bin/mpifort "openmpi" && MPIFC="${pkg_install_dir}/bin/mpifort" || exit 1 - MPIFORT="${MPIFC}" - MPIF77="${MPIFC}" - OPENMPI_CFLAGS="-I'${pkg_install_dir}/include'" - OPENMPI_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - fi - ;; - __SYSTEM__) - echo "==================== Finding OpenMPI from system paths ====================" - check_command mpiexec "openmpi" && MPIRUN="$(command -v mpiexec)" - check_command mpicc "openmpi" && MPICC="$(command -v mpicc)" || exit 1 - check_command mpic++ "openmpi" && MPICXX="$(command -v mpic++)" || exit 1 - check_command mpifort "openmpi" && MPIFC="$(command -v mpifort)" || exit 1 - MPIFORT="${MPIFC}" - MPIF77="${MPIFC}" - # libraries and linker flags for C/C++-based MPI codepaths, pull them in at this point. - OPENMPI_CFLAGS="$(mpicxx --showme:compile)" - OPENMPI_LDFLAGS="$(mpicxx --showme:link)" - ;; - __DONTUSE__) - # Nothing to do - ;; - *) - echo "==================== Linking OpenMPI to user paths ====================" - pkg_install_dir="${with_openmpi}" - check_dir "${pkg_install_dir}/bin" - check_dir "${pkg_install_dir}/lib" - check_dir "${pkg_install_dir}/include" - check_command ${pkg_install_dir}/bin/mpiexec "openmpi" && MPIRUN="${pkg_install_dir}/bin/mpiexec" || exit 1 - check_command ${pkg_install_dir}/bin/mpicc "openmpi" && MPICC="${pkg_install_dir}/bin/mpicc" || exit 1 - check_command ${pkg_install_dir}/bin/mpic++ "openmpi" && MPICXX="${pkg_install_dir}/bin/mpic++" || exit 1 - check_command ${pkg_install_dir}/bin/mpifort "openmpi" && MPIFC="${pkg_install_dir}/bin/mpifort" || exit 1 - MPIFORT="${MPIFC}" - MPIF77="${MPIFC}" - OPENMPI_CFLAGS="-I'${pkg_install_dir}/include'" - OPENMPI_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; + # OpenMPI 5.0 only supports PMIx + # PMI support is required for Slurm, but not for other schedulers + # default not use + # for OpenMPI 4.1 with pmi slurm, we can open this setting manually + # if [ $(command -v srun) ]; then + # echo "Slurm installation found. OpenMPI will be configured with --with-pmi." + # EXTRA_CONFIGURE_FLAGS="--with-pmi" + # else + # EXTRA_CONFIGURE_FLAGS="" + # fi + ./configure \ + CC=gcc \ + CXX=g++ \ + FC=gfortran \ + F77=gfortran \ + CFLAGS="${CFLAGS}" \ + --prefix=${pkg_install_dir} \ + --libdir="${pkg_install_dir}/lib" \ + --with-libevent=internal \ + ${EXTRA_CONFIGURE_FLAGS} \ + > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log + make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make -j $(get_nprocs) install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + cd .. + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage1/$(basename ${SCRIPT_NAME})" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + else + check_dir "${pkg_install_dir}/bin" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + check_install ${pkg_install_dir}/bin/mpiexec "openmpi" && MPIRUN="${pkg_install_dir}/bin/mpiexec" || exit 1 + check_install ${pkg_install_dir}/bin/mpicc "openmpi" && MPICC="${pkg_install_dir}/bin/mpicc" || exit 1 + check_install ${pkg_install_dir}/bin/mpicxx "openmpi" && MPICXX="${pkg_install_dir}/bin/mpicxx" || exit 1 + check_install ${pkg_install_dir}/bin/mpifort "openmpi" && MPIFC="${pkg_install_dir}/bin/mpifort" || exit 1 + MPIFORT="${MPIFC}" + MPIF77="${MPIFC}" + OPENMPI_CFLAGS="-I'${pkg_install_dir}/include'" + OPENMPI_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + fi + ;; + __SYSTEM__) + echo "==================== Finding OpenMPI from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_command mpiexec "openmpi" && MPIRUN="$(command -v mpiexec)" + check_command mpicc "openmpi" && MPICC="$(command -v mpicc)" || exit 1 + check_command mpicxx "openmpi" && MPICXX="$(command -v mpicxx)" || exit 1 + check_command mpifort "openmpi" && MPIFC="$(command -v mpifort)" || exit 1 + MPIFORT="${MPIFC}" + MPIF77="${MPIFC}" + ;; + __DONTUSE__) + # Nothing to do + ;; + *) + echo "==================== Linking OpenMPI to user paths ====================" + pkg_install_dir="${with_openmpi}" + check_dir "${pkg_install_dir}/bin" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + check_command ${pkg_install_dir}/bin/mpiexec "openmpi" && MPIRUN="${pkg_install_dir}/bin/mpiexec" || exit 1 + check_command ${pkg_install_dir}/bin/mpicc "openmpi" && MPICC="${pkg_install_dir}/bin/mpicc" || exit 1 + check_command ${pkg_install_dir}/bin/mpicxx "openmpi" && MPICXX="${pkg_install_dir}/bin/mpicxx" || exit 1 + check_command ${pkg_install_dir}/bin/mpifort "openmpi" && MPIFC="${pkg_install_dir}/bin/mpifort" || exit 1 + MPIFORT="${MPIFC}" + MPIF77="${MPIFC}" + OPENMPI_CFLAGS="-I'${pkg_install_dir}/include'" + OPENMPI_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; esac -if [ "${with_openmpi}" != "__DONTUSE__" ]; then - if [ "${with_openmpi}" != "__SYSTEM__" ]; then - mpi_bin="${pkg_install_dir}/bin/mpiexec" - mpicxx_bin="${pkg_install_dir}/bin/mpicxx" - else - mpi_bin="mpiexec" - mpicxx_bin="mpicxx" - fi - # check openmpi version as reported by mpiexec - raw_version=$(${mpi_bin} --version 2>&1 | - grep "(Open MPI)" | awk '{print $4}') - major_version=$(echo ${raw_version} | cut -d '.' -f 1) - minor_version=$(echo ${raw_version} | cut -d '.' -f 2) - OPENMPI_LIBS="" - # grab additional runtime libs (for C/C++) from the mpicxx wrapper, - # and remove them from the LDFLAGS if present - for lib in $("${mpicxx_bin}" --showme:libs); do - OPENMPI_LIBS+=" -l${lib}" - OPENMPI_LDFLAGS="${OPENMPI_LDFLAGS//-l${lib}/}" - done - cat << EOF > "${BUILDDIR}/setup_openmpi" +if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip env setting" +else + if [ "${with_openmpi}" != "__DONTUSE__" ]; then + if [ "${with_openmpi}" != "__SYSTEM__" ]; then + mpi_bin="${pkg_install_dir}/bin/mpiexec" + mpicxx_bin="${pkg_install_dir}/bin/mpicxx" + else + mpi_bin="mpiexec" + mpicxx_bin="mpicxx" + fi + # check openmpi version as reported by mpiexec + raw_version=$(${mpi_bin} --version 2>&1 | + grep "(Open MPI)" | awk '{print $4}') + major_version=$(echo ${raw_version} | cut -d '.' -f 1) + minor_version=$(echo ${raw_version} | cut -d '.' -f 2) + OPENMPI_LIBS="" + # grab additional runtime libs (for C/C++) from the mpicxx wrapper, + # and remove them from the LDFLAGS if present + for lib in $("${mpicxx_bin}" --showme:libs); do + OPENMPI_LIBS+=" -l${lib}" + OPENMPI_LDFLAGS="${OPENMPI_LDFLAGS//-l${lib}/}" + done + cat << EOF > "${BUILDDIR}/setup_openmpi" export MPI_MODE="${MPI_MODE}" export MPIRUN="${MPIRUN}" export MPICC="${MPICC}" @@ -178,31 +195,31 @@ export MPI_LIBS="${OPENMPI_LIBS}" export CP_DFLAGS="\${CP_DFLAGS} IF_MPI(-D__parallel|)" # For proper mpi_f08 support, we need at least GCC version 9 (asynchronous keyword) # Other compilers should work - if ! [ "$(gfortran -dumpversion | cut -d. -f1)" -lt 9 ]; then - export CP_DFLAGS="\${CP_DFLAGS} IF_MPI(-D__MPI_F08|)" - fi + if ! [ "$(gfortran -dumpversion | cut -d. -f1)" -lt 9 ]; then + export CP_DFLAGS="\${CP_DFLAGS} IF_MPI(-D__MPI_F08|)" + fi export CP_CFLAGS="\${CP_CFLAGS} IF_MPI(${OPENMPI_CFLAGS}|)" export CP_LDFLAGS="\${CP_LDFLAGS} IF_MPI(${OPENMPI_LDFLAGS}|)" export CP_LIBS="\${CP_LIBS} IF_MPI(${OPENMPI_LIBS}|)" EOF - if [ "${with_openmpi}" != "__SYSTEM__" ]; then - cat << EOF >> "${BUILDDIR}/setup_openmpi" + if [ "${with_openmpi}" != "__SYSTEM__" ]; then + cat << EOF >> "${BUILDDIR}/setup_openmpi" prepend_path PATH "${pkg_install_dir}/bin" export PATH="${pkg_install_dir}/bin":\${PATH} export LD_LIBRARY_PATH="${pkg_install_dir}/lib":\${LD_LIBRARY_PATH} export LD_RUN_PATH="${pkg_install_dir}/lib":\${LD_RUN_PATH} export LIBRARY_PATH="${pkg_install_dir}/lib":\${LIBRARY_PATH} export CPATH="${pkg_install_dir}/include":\${CPATH} -export MANPATH="${pkg_install_dir}/share/man":\${MANPATH} + EOF - fi - cat "${BUILDDIR}/setup_openmpi" >> ${SETUPFILE} -fi + fi + cat "${BUILDDIR}/setup_openmpi" >> ${SETUPFILE} + fi -# ---------------------------------------------------------------------- -# Suppress reporting of known leaks -# ---------------------------------------------------------------------- -cat << EOF >> ${INSTALLDIR}/valgrind.supp + # ---------------------------------------------------------------------- + # Suppress reporting of known leaks + # ---------------------------------------------------------------------- + cat << EOF >> ${INSTALLDIR}/valgrind.supp { Memcheck:Leak @@ -249,7 +266,7 @@ cat << EOF >> ${INSTALLDIR}/valgrind.supp fun:ompi_comm_activate } EOF -cat << EOF >> ${INSTALLDIR}/lsan.supp + cat << EOF >> ${INSTALLDIR}/lsan.supp # leaks related to OpenMPI leak:query_2_0_0 leak:ompi_init_f @@ -258,6 +275,7 @@ leak:ompi_file_open_f leak:progress_engine leak:__GI___strdup EOF +fi load "${BUILDDIR}/setup_openmpi" write_toolchain_env "${INSTALLDIR}" diff --git a/toolchain/scripts/stage2/install_aocl.sh b/toolchain/scripts/stage2/install_aocl.sh index d3f0d70dd5..c2c3b10e75 100755 --- a/toolchain/scripts/stage2/install_aocl.sh +++ b/toolchain/scripts/stage2/install_aocl.sh @@ -1,9 +1,6 @@ #!/bin/bash -e -# TODO: Review and if possible fix shellcheck errors. -# shellcheck disable=all - -# Last Update in 2025-0308 +# developer: QuantumMisaka [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" @@ -24,18 +21,17 @@ AOCL_ROOT="" cd "${BUILDDIR}" case "${with_aocl}" in - __INSTALL__) - echo "==================== Installing AOCL ====================" - report_error ${LINENO} "To install AOCL, please contact your system administrator." - if [ "${PACK_RUN}" != "__TRUE__" ]; then + __INSTALL__) + echo "==================== Installing AOCL ====================" + report_error ${LINENO} "To install AOCL, please contact your system administrator." exit 1 - fi - ;; - __SYSTEM__) - echo "==================== Finding AOCL from system paths ====================" - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip system check" - else + ;; + __SYSTEM__) + echo "==================== Finding AOCL from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi check_lib -lblis "AOCL" check_lib -lflame "AOCL" AOCL_LIBS="-lblis -lflame" @@ -43,23 +39,26 @@ case "${with_aocl}" in add_lib_from_paths AOCL_LDFLAGS "libblis.*" $LIB_PATHS add_include_from_paths AOCL_CFLAGS "lapack.h" $INCLUDE_PATHS add_lib_from_paths AOCL_LDFLAGS "libflame.*" $LIB_PATHS - fi - ;; - __DONTUSE__) ;; - - *) - echo "==================== Linking AOCL to user paths ====================" - pkg_install_dir="$with_aocl" - check_dir "${pkg_install_dir}/include" - check_dir "${pkg_install_dir}/lib" - AOCL_CFLAGS="-I'${pkg_install_dir}/include'" - AOCL_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - AOCL_LIBS="-lblis -lflame" - ;; + ;; + __DONTUSE__) + ;; + *) + echo "==================== Linking AOCL to user paths ====================" + pkg_install_dir="$with_aocl" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_dir "${pkg_install_dir}/include" + check_dir "${pkg_install_dir}/lib" + AOCL_CFLAGS="-I'${pkg_install_dir}/include'" + AOCL_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + AOCL_LIBS="-lblis -lflame" + ;; esac if [ "$with_aocl" != "__DONTUSE__" ]; then - if [ "$with_aocl" != "__SYSTEM__" ]; then - cat << EOF > "${BUILDDIR}/setup_aocl" + if [ "$with_aocl" != "__SYSTEM__" ]; then + cat << EOF > "${BUILDDIR}/setup_aocl" prepend_path LD_LIBRARY_PATH "$pkg_install_dir/lib" prepend_path LD_RUN_PATH "$pkg_install_dir/lib" prepend_path LIBRARY_PATH "$pkg_install_dir/lib" @@ -74,9 +73,9 @@ export PKG_CONFIG_PATH="$pkg_install_dir/lib/pkgconfig:"\${PKG_CONFIG_PATH} export CMAKE_PREFIX_PATH="$pkg_install_dir:"\${CMAKE_PREFIX_PATH} export AOCL_ROOT=${pkg_install_dir} EOF - cat "${BUILDDIR}/setup_aocl" >> $SETUPFILE - fi -cat << EOF >> "${BUILDDIR}/setup_aocl" + cat "${BUILDDIR}/setup_aocl" >> $SETUPFILE + fi + cat << EOF >> "${BUILDDIR}/setup_aocl" export AOCL_ROOT="${pkg_install_dir}" export AOCL_CFLAGS="${AOCL_CFLAGS}" export AOCL_LDFLAGS="${AOCL_LDFLAGS}" @@ -84,10 +83,6 @@ export AOCL_LIBS="${AOCL_LIBS}" export MATH_CFLAGS="\${MATH_CFLAGS} ${AOCL_CFLAGS}" export MATH_LDFLAGS="\${MATH_LDFLAGS} ${AOCL_LDFLAGS}" export MATH_LIBS="\${MATH_LIBS} ${AOCL_LIBS}" -export PKG_CONFIG_PATH="${pkg_install_dir}/lib/pkgconfig" -export CMAKE_PREFIX_PATH="${pkg_install_dir}" -prepend_path PKG_CONFIG_PATH "$pkg_install_dir/lib/pkgconfig" -prepend_path CMAKE_PREFIX_PATH "$pkg_install_dir" EOF fi diff --git a/toolchain/scripts/stage2/install_mathlibs.sh b/toolchain/scripts/stage2/install_mathlibs.sh index 3ad3aef336..f747101c80 100755 --- a/toolchain/scripts/stage2/install_mathlibs.sh +++ b/toolchain/scripts/stage2/install_mathlibs.sh @@ -21,24 +21,24 @@ export MATH_LIBS='' write_toolchain_env "${INSTALLDIR}" case "$MATH_MODE" in - mkl) - "${SCRIPTDIR}"/stage2/install_mkl.sh "${with_mkl}" - load "${BUILDDIR}/setup_mkl" - ;; - aocl) - "${SCRIPTDIR}"/stage2/install_aocl.sh "${with_aocl}" - load "${BUILDDIR}/setup_aocl" - ;; - openblas) - "${SCRIPTDIR}"/stage2/install_openblas.sh "${with_openblas}" - load "${BUILDDIR}/setup_openblas" - ;; - cray) - # note the space is intentional so that the variable is - # non-empty and can pass require_env checks - export MATH_LDFLAGS="${MATH_LDFLAGS} " - export MATH_LIBS="${MATH_LIBS} ${CRAY_EXTRA_LIBS}" - ;; + mkl) + "${SCRIPTDIR}"/stage2/install_mkl.sh "${with_mkl}" + load "${BUILDDIR}/setup_mkl" + ;; + aocl) + "${SCRIPTDIR}"/stage2/install_aocl.sh "${with_aocl}" + load "${BUILDDIR}/setup_aocl" + ;; + openblas) + "${SCRIPTDIR}"/stage2/install_openblas.sh "${with_openblas}" + load "${BUILDDIR}/setup_openblas" + ;; + cray) + # note the space is intentional so that the variable is + # non-empty and can pass require_env checks + export MATH_LDFLAGS="${MATH_LDFLAGS} " + export MATH_LIBS="${MATH_LIBS} ${CRAY_EXTRA_LIBS}" + ;; esac export CP_CFLAGS="${CP_CFLAGS} ${MATH_CFLAGS}" diff --git a/toolchain/scripts/stage2/install_mkl.sh b/toolchain/scripts/stage2/install_mkl.sh index 4262b202bf..34248284e4 100755 --- a/toolchain/scripts/stage2/install_mkl.sh +++ b/toolchain/scripts/stage2/install_mkl.sh @@ -3,8 +3,6 @@ # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all -# Last Update in 2023-0901 - [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" @@ -25,90 +23,96 @@ MKL_FFTW="yes" cd "${BUILDDIR}" case "${with_mkl}" in - __INSTALL__) - echo "==================== Installing MKL ====================" - report_error ${LINENO} "To install MKL, please contact your system administrator." - if [ "${PACK_RUN}" != "__TRUE__" ]; then - exit 1 - fi - ;; - __SYSTEM__) - echo "==================== Finding MKL from system paths ====================" - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip system check" - else - if ! [ -z "${MKLROOT}" ]; then - echo "MKLROOT is found to be ${MKLROOT}" - else - report_error ${LINENO} "Cannot find env variable MKLROOT, the script relies on it being set. Please check in MKL installation and use --with-mkl= to pass the path to MKL root directory to this script." + __INSTALL__) + echo "==================== Installing MKL ====================" + report_error ${LINENO} "To install MKL, please contact your system administrator." exit 1 - fi - fi - check_lib -lm - check_lib -ldl - ;; - __DONTUSE__) - # Nothing to do - ;; - *) - echo "==================== Linking MKL to user paths ====================" - check_dir "${with_mkl}" - MKLROOT="${with_mkl}" - ;; + ;; + __SYSTEM__) + echo "==================== Finding MKL from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + if ! [ -z "${MKLROOT}" ]; then + echo "MKLROOT is found to be ${MKLROOT}" + else + report_error ${LINENO} "Cannot find env variable MKLROOT, the script relies on it being set. Please check in MKL installation and use --with-mkl= to pass the path to MKL root directory to this script." + exit 1 + fi + check_lib -lm + check_lib -ldl + ;; + __DONTUSE__) + # Nothing to do + ;; + *) + echo "==================== Linking MKL to user paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_dir "${with_mkl}" + MKLROOT="${with_mkl}" + ;; esac if [ "${with_mkl}" != "__DONTUSE__" ]; then - case ${OPENBLAS_ARCH} in - x86_64) - mkl_arch_dir="intel64" - MKL_CFLAGS="-m64" - ;; - i386) - mkl_arch_dir="ia32" - MKL_CFLAGS="-m32" - ;; - *) - report_error $LINENO "MKL only supports intel64 (x86_64) and ia32 (i386) at the moment, and your arch obtained from OpenBLAS prebuild is $OPENBLAS_ARCH" - exit 1 - ;; - esac - mkl_lib_dir="${MKLROOT}/lib/${mkl_arch_dir}" - # check we have required libraries - mkl_required_libs="libmkl_gf_lp64.so libmkl_sequential.so libmkl_core.so" - for ii in $mkl_required_libs; do - if [ ! -f "$mkl_lib_dir/${ii}" ]; then - report_error $LINENO "missing MKL library ${ii}" - exit 1 - fi - done + case ${OPENBLAS_ARCH} in + x86_64) + mkl_arch_dir="intel64" + MKL_CFLAGS="-m64" + ;; + i386) + mkl_arch_dir="ia32" + MKL_CFLAGS="-m32" + ;; + *) + report_error $LINENO "MKL only supports intel64 (x86_64) and ia32 (i386) at the moment, and your arch obtained from OpenBLAS prebuild is $OPENBLAS_ARCH" + exit 1 + ;; + esac + mkl_lib_dir="${MKLROOT}/lib/${mkl_arch_dir}" + # check we have required libraries + mkl_required_libs="libmkl_gf_lp64.so libmkl_sequential.so libmkl_core.so" + for ii in $mkl_required_libs; do + if [ ! -f "$mkl_lib_dir/${ii}" ]; then + report_error $LINENO "missing MKL library ${ii}" + exit 1 + fi + done + + + case ${MPI_MODE} in + intelmpi | mpich) + mkl_scalapack_lib="IF_MPI(-lmkl_scalapack_lp64|)" + mkl_blacs_lib="IF_MPI(-lmkl_blacs_intelmpi_lp64|)" + ;; + openmpi) + mkl_scalapack_lib="IF_MPI(-lmkl_scalapack_lp64|)" + mkl_blacs_lib="IF_MPI(-lmkl_blacs_openmpi_lp64|)" + ;; + *) + echo "Not using MKL provided ScaLAPACK and BLACS" + mkl_scalapack_lib="" + mkl_blacs_lib="" + ;; + esac - case ${MPI_MODE} in - intelmpi | mpich) - mkl_scalapack_lib="IF_MPI(-lmkl_scalapack_lp64|)" - mkl_blacs_lib="IF_MPI(-lmkl_blacs_intelmpi_lp64|)" - ;; - openmpi) - mkl_scalapack_lib="IF_MPI(-lmkl_scalapack_lp64|)" - mkl_blacs_lib="IF_MPI(-lmkl_blacs_openmpi_lp64|)" - ;; - *) - echo "Not using MKL provided ScaLAPACK and BLACS" - mkl_scalapack_lib="" - mkl_blacs_lib="" - ;; - esac - # set the correct lib flags from MLK link adviser - MKL_LIBS="-L${mkl_lib_dir} -Wl,-rpath,${mkl_lib_dir} ${mkl_scalapack_lib}" - MKL_LIBS+=" -Wl,--start-group -lmkl_gf_lp64 -lmkl_sequential -lmkl_core" - MKL_LIBS+=" ${mkl_blacs_lib} -Wl,--end-group -lpthread -lm -ldl" - # setup_mkl disables using separate FFTW library (see below) - MKL_CFLAGS="${MKL_CFLAGS} -I${MKLROOT}/include" - if [ "${MKL_FFTW}" != "no" ]; then - MKL_CFLAGS+=" -I${MKLROOT}/include/fftw" - fi + # added by trae + MKL_LDFLAGS="-L'${mkl_lib_dir}' -Wl,-rpath,'${mkl_lib_dir}'" + # set the correct lib flags from MLK link adviser + MKL_LIBS="-L${mkl_lib_dir} -Wl,-rpath,${mkl_lib_dir} ${mkl_scalapack_lib}" + MKL_LIBS+=" -Wl,--start-group -lmkl_gf_lp64 -lmkl_sequential -lmkl_core" + MKL_LIBS+=" ${mkl_blacs_lib} -Wl,--end-group -lpthread -lm -ldl" + # setup_mkl disables using separate FFTW library (see below) + MKL_CFLAGS="${MKL_CFLAGS} -I${MKLROOT}/include" + if [ "${MKL_FFTW}" != "no" ]; then + MKL_CFLAGS+=" -I${MKLROOT}/include/fftw" + fi # write setup files - cat << EOF > "${BUILDDIR}/setup_mkl" + cat << EOF > "${BUILDDIR}/setup_mkl" export MKLROOT="${MKLROOT}" export MKL_CFLAGS="${MKL_CFLAGS}" export MKL_LIBS="${MKL_LIBS}" @@ -116,14 +120,14 @@ export MATH_CFLAGS="\${MATH_CFLAGS} ${MKL_CFLAGS}" export MATH_LIBS="\${MATH_LIBS} ${MKL_LIBS}" export CP_DFLAGS="\${CP_DFLAGS} -D__MKL -D__FFTW3 IF_COVERAGE(IF_MPI(|-U__FFTW3)|)" EOF - if [ -n "${mkl_scalapack_lib}" ]; then - cat << EOF >> "${BUILDDIR}/setup_mkl" + if [ -n "${mkl_scalapack_lib}" ]; then + cat << EOF >> "${BUILDDIR}/setup_mkl" export CP_DFLAGS="\${CP_DFLAGS} IF_MPI(-D__SCALAPACK|)" export with_scalapack="__DONTUSE__" EOF - fi - if [ "${MKL_FFTW}" != "no" ]; then - cat << EOF >> "${BUILDDIR}/setup_mkl" + fi + if [ "${MKL_FFTW}" != "no" ]; then + cat << EOF >> "${BUILDDIR}/setup_mkl" export with_fftw="__DONTUSE__" export FFTW3_INCLUDES="${MKL_CFLAGS}" export FFTW3_LIBS="${MKL_LIBS}" @@ -131,8 +135,8 @@ export FFTW_CFLAGS="${MKL_CFLAGS}" export FFTW_LDFLAGS="${MKL_LDFLAGS}" export FFTW_LIBS="${MKL_LIBS}" EOF - fi - cat "${BUILDDIR}/setup_mkl" >> ${SETUPFILE} + fi + cat "${BUILDDIR}/setup_mkl" >> ${SETUPFILE} fi load "${BUILDDIR}/setup_mkl" diff --git a/toolchain/scripts/stage2/install_openblas.sh b/toolchain/scripts/stage2/install_openblas.sh index fb4e0c563e..03da6205bc 100755 --- a/toolchain/scripts/stage2/install_openblas.sh +++ b/toolchain/scripts/stage2/install_openblas.sh @@ -3,18 +3,33 @@ # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all -# Last Update in 2024-0811 - [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -openblas_ver="0.3.29" # Keep in sync with get_openblas_arch.sh -openblas_sha256="38240eee1b29e2bde47ebb5d61160207dc68668a54cac62c076bb5032013b1eb" -openblas_pkg="OpenBLAS-${openblas_ver}.tar.gz" - source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load OpenBLAS package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "openblas:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "openblas:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "openblas" "$version_suffix" +openblas_pkg="OpenBLAS-${openblas_ver}.tar.gz" + source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env @@ -28,133 +43,135 @@ OPENBLAS_ROOT="" cd "${BUILDDIR}" case "${with_openblas}" in - __INSTALL__) - echo "==================== Installing OpenBLAS ====================" - pkg_install_dir="${INSTALLDIR}/openblas-${openblas_ver}" - #pkg_install_dir="${HOME}/lib/openblas/${openblas_ver}-gcc8" - install_lock_file="$pkg_install_dir/install_successful" - if verify_checksums "${install_lock_file}"; then - echo "openblas-${openblas_ver} is already installed, skipping it." - else - if [ -f ${openblas_pkg} ]; then - echo "${openblas_pkg} is found" - else - #download_pkg_from_ABACUS_org "${openblas_sha256}" "${openblas_pkg}" - # using codeload.github - url="https://codeload.github.com/OpenMathLib/OpenBLAS/tar.gz/v${openblas_ver}" - download_pkg_from_url "${openblas_sha256}" "${openblas_pkg}" "${url}" - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d OpenBLAS-${openblas_ver} ] && rm -rf OpenBLAS-${openblas_ver} - tar -zxf ${openblas_pkg} - cd OpenBLAS-${openblas_ver} + __INSTALL__) + echo "==================== Installing OpenBLAS ====================" + pkg_install_dir="${INSTALLDIR}/openblas-${openblas_ver}" + install_lock_file="$pkg_install_dir/install_successful" + if verify_checksums "${install_lock_file}"; then + echo "openblas-${openblas_ver} is already installed, skipping it." + else + if [ -f ${openblas_pkg} ]; then + echo "${openblas_pkg} is found" + else + # using codeload.github + url="https://codeload.github.com/OpenMathLib/OpenBLAS/tar.gz/v${openblas_ver}" + download_pkg_from_url "${openblas_sha256}" "${openblas_pkg}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d OpenBLAS-${openblas_ver} ] && rm -rf OpenBLAS-${openblas_ver} + tar -zxf ${openblas_pkg} + cd OpenBLAS-${openblas_ver} - # First attempt to make openblas using auto detected - # TARGET, if this fails, then make with forced - # TARGET=NEHALEM - # - # wrt NUM_THREADS=64: this is what the most common Linux distros seem to choose atm - # for a good compromise between memory usage and scalability - # - # Unfortunately, NO_SHARED=1 breaks ScaLAPACK build. - case "${TARGET_CPU}" in - "generic") - TARGET="NEHALEM" - ;; - "native") - TARGET=${OPENBLAS_LIBCORE} - ;; - "broadwell" | "skylake") - TARGET="HASWELL" - ;; - "skylake-avx512") - TARGET="SKYLAKEX" - ;; - *) - TARGET=${TARGET_CPU} - ;; - esac - TARGET=$(echo ${TARGET} | tr '[:lower:]' '[:upper:]') - echo "Installing OpenBLAS library for target ${TARGET}" - ( - make -j $(get_nprocs) \ - MAKE_NB_JOBS=0 \ - TARGET=${TARGET} \ - NUM_THREADS=64 \ - USE_THREAD=1 \ - USE_OPENMP=1 \ - NO_AFFINITY=1 \ - CC="${CC}" \ - FC="${FC}" \ - PREFIX="${pkg_install_dir}" \ - > make.log 2>&1 || tail -n ${LOG_LINES} make.log - ) || ( - make -j $(get_nprocs) \ - MAKE_NB_JOBS=0 \ - TARGET=NEHALEM \ - NUM_THREADS=64 \ - USE_THREAD=1 \ - USE_OPENMP=1 \ - NO_AFFINITY=1 \ - CC="${CC}" \ - FC="${FC}" \ - PREFIX="${pkg_install_dir}" \ - > make.nehalem.log 2>&1 || tail -n ${LOG_LINES} make.nehalem.log - ) - make -j $(get_nprocs) \ - MAKE_NB_JOBS=0 \ - TARGET=${TARGET} \ - NUM_THREADS=64 \ - USE_THREAD=1 \ - USE_OPENMP=1 \ - NO_AFFINITY=1 \ - CC="${CC}" \ - FC="${FC}" \ - PREFIX="${pkg_install_dir}" \ - install > install.log 2>&1 || tail -n ${LOG_LINES} install.log - cd .. - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage2/$(basename ${SCRIPT_NAME})" - fi - fi - OPENBLAS_CFLAGS="-I'${pkg_install_dir}/include'" - OPENBLAS_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - OPENBLAS_ROOT="${pkg_install_dir}" - OPENBLAS_LIBS="-lopenblas" - ;; - __SYSTEM__) - echo "==================== Finding LAPACK from system paths ====================" - # assume that system openblas is threaded - check_lib -lopenblas "OpenBLAS" - OPENBLAS_LIBS="-lopenblas" - # detect separate omp builds - check_lib -lopenblas_openmp 2> /dev/null && OPENBLAS_LIBS="-lopenblas_openmp" - check_lib -lopenblas_omp 2> /dev/null && OPENBLAS_LIBS="-lopenblas_omp" - add_include_from_paths OPENBLAS_CFLAGS "openblas_config.h" $INCLUDE_PATHS - add_lib_from_paths OPENBLAS_LDFLAGS "libopenblas.*" $LIB_PATHS - ;; - __DONTUSE__) ;; + # First attempt to make openblas using auto detected + # TARGET, if this fails, then make with forced + # TARGET=NEHALEM + # + # wrt NUM_THREADS=64: this is what the most common Linux distros seem to choose atm + # for a good compromise between memory usage and scalability + # + # Unfortunately, NO_SHARED=1 breaks ScaLAPACK build. + case "${TARGET_CPU}" in + "generic") + TARGET="NEHALEM" + ;; + "native") + TARGET=${OPENBLAS_LIBCORE} + ;; + "broadwell" | "skylake") + TARGET="HASWELL" + ;; + "skylake-avx512") + TARGET="SKYLAKEX" + ;; + *) + TARGET=${TARGET_CPU} + ;; + esac + TARGET=$(echo ${TARGET} | tr '[:lower:]' '[:upper:]') + echo "Installing OpenBLAS library for target ${TARGET}" + ( + make -j $(get_nprocs) \ + MAKE_NB_JOBS=0 \ + TARGET=${TARGET} \ + NUM_THREADS=64 \ + USE_THREAD=1 \ + USE_OPENMP=1 \ + NO_AFFINITY=1 \ + CC="${CC}" \ + FC="${FC}" \ + PREFIX="${pkg_install_dir}" \ + > make.log 2>&1 || tail -n ${LOG_LINES} make.log + ) || ( + make -j $(get_nprocs) \ + MAKE_NB_JOBS=0 \ + TARGET=NEHALEM \ + NUM_THREADS=64 \ + USE_THREAD=1 \ + USE_OPENMP=1 \ + NO_AFFINITY=1 \ + CC="${CC}" \ + FC="${FC}" \ + PREFIX="${pkg_install_dir}" \ + > make.nehalem.log 2>&1 || tail -n ${LOG_LINES} make.nehalem.log + ) + make -j $(get_nprocs) \ + MAKE_NB_JOBS=0 \ + TARGET=${TARGET} \ + NUM_THREADS=64 \ + USE_THREAD=1 \ + USE_OPENMP=1 \ + NO_AFFINITY=1 \ + CC="${CC}" \ + FC="${FC}" \ + PREFIX="${pkg_install_dir}" \ + install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + cd .. + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage2/$(basename ${SCRIPT_NAME})" + fi + OPENBLAS_CFLAGS="-I'${pkg_install_dir}/include'" + OPENBLAS_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + OPENBLAS_ROOT="${pkg_install_dir}" + OPENBLAS_LIBS="-lopenblas" + ;; + __SYSTEM__) + echo "==================== Finding OpenBLAS/LAPACK from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + # assume that system openblas is threaded + check_lib -lopenblas "OpenBLAS" + OPENBLAS_LIBS="-lopenblas" + # detect separate omp builds + check_lib -lopenblas_openmp 2> /dev/null && OPENBLAS_LIBS="-lopenblas_openmp" + check_lib -lopenblas_omp 2> /dev/null && OPENBLAS_LIBS="-lopenblas_omp" + add_include_from_paths OPENBLAS_CFLAGS "openblas_config.h" $INCLUDE_PATHS + add_lib_from_paths OPENBLAS_LDFLAGS "libopenblas.*" $LIB_PATHS + ;; + __DONTUSE__) ;; - *) - echo "==================== Linking LAPACK to user paths ====================" - pkg_install_dir="$with_openblas" - check_dir "${pkg_install_dir}/include" - check_dir "${pkg_install_dir}/lib" - OPENBLAS_CFLAGS="-I'${pkg_install_dir}/include'" - OPENBLAS_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - OPENBLAS_LIBS="-lopenblas" - # detect separate omp builds - (__libdir="${pkg_install_dir}/lib" LIB_PATHS="__libdir" check_lib -lopenblas_openmp 2> /dev/null) && - OPENBLAS_LIBS="-lopenblas_openmp" - (__libdir="${pkg_install_dir}/lib" LIB_PATHS="__libdir" check_lib -lopenblas_omp 2> /dev/null) && - OPENBLAS_LIBS="-lopenblas_omp" - ;; + *) + echo "==================== Linking OpenBLAS/LAPACK to user paths ====================" + pkg_install_dir="$with_openblas" + check_dir "${pkg_install_dir}/include" + check_dir "${pkg_install_dir}/lib" + OPENBLAS_CFLAGS="-I'${pkg_install_dir}/include'" + OPENBLAS_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + OPENBLAS_LIBS="-lopenblas" + # detect separate omp builds + (__libdir="${pkg_install_dir}/lib" LIB_PATHS="__libdir" check_lib -lopenblas_openmp 2> /dev/null) && + OPENBLAS_LIBS="-lopenblas_openmp" + (__libdir="${pkg_install_dir}/lib" LIB_PATHS="__libdir" check_lib -lopenblas_omp 2> /dev/null) && + OPENBLAS_LIBS="-lopenblas_omp" + ;; esac if [ "$with_openblas" != "__DONTUSE__" ]; then - if [ "$with_openblas" != "__SYSTEM__" ]; then - cat << EOF > "${BUILDDIR}/setup_openblas" + if [ "$with_openblas" != "__SYSTEM__" ]; then + cat << EOF > "${BUILDDIR}/setup_openblas" prepend_path LD_LIBRARY_PATH "$pkg_install_dir/lib" prepend_path LD_RUN_PATH "$pkg_install_dir/lib" prepend_path LIBRARY_PATH "$pkg_install_dir/lib" @@ -169,9 +186,9 @@ export PKG_CONFIG_PATH="$pkg_install_dir/lib/pkgconfig:"\${PKG_CONFIG_PATH} export CMAKE_PREFIX_PATH="$pkg_install_dir:"\${CMAKE_PREFIX_PATH} export OPENBLAS_ROOT=${pkg_install_dir} EOF - cat "${BUILDDIR}/setup_openblas" >> $SETUPFILE - fi - cat << EOF >> "${BUILDDIR}/setup_openblas" + cat "${BUILDDIR}/setup_openblas" >> $SETUPFILE + fi + cat << EOF >> "${BUILDDIR}/setup_openblas" export OPENBLAS_ROOT="${pkg_install_dir}" export OPENBLAS_CFLAGS="${OPENBLAS_CFLAGS}" export OPENBLAS_LDFLAGS="${OPENBLAS_LDFLAGS}" diff --git a/toolchain/scripts/stage3/install_elpa.sh b/toolchain/scripts/stage3/install_elpa.sh index 56bd30c966..50cd499452 100755 --- a/toolchain/scripts/stage3/install_elpa.sh +++ b/toolchain/scripts/stage3/install_elpa.sh @@ -3,22 +3,36 @@ # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all -# Last Update in 2025-0504 +# Last Update in 2025-01-04 # other contributor: Benrui Tang [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -# From https://elpa.mpcdf.mpg.de/software/tarball-archive/ELPA_TARBALL_ARCHIVE.html -# elpa_ver="2024.05.001" -# elpa_sha256="9caf41a3e600e2f6f4ce1931bd54185179dade9c171556d0c9b41bbc6940f2f6" -# newer version of elpa may have problem in GPU-ELPA compliation -elpa_ver="2025.01.001" -elpa_sha256="3ef0c6aed9a3e05db6efafe6e14d66eb88b2a1354d61e765b7cde0d3d5f3951e" - source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load ELPA package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "elpa:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "elpa:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "elpa" "$version_suffix" +elpa_pkg="elpa-${elpa_ver}.tar.gz" + source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env @@ -34,196 +48,208 @@ cd "${BUILDDIR}" # elpa only works with MPI switched on if [ $MPI_MODE = no ]; then - report_warning $LINENO "MPI is disabled, skipping elpa installation" - exit 0 + report_warning $LINENO "MPI is disabled, skipping elpa installation" + exit 0 fi case "$with_elpa" in - __INSTALL__) - echo "==================== Installing ELPA ====================" - pkg_install_dir="${INSTALLDIR}/elpa-${elpa_ver}" - #pkg_install_dir="${HOME}/lib/elpa/${elpa_ver}-gcc8" - install_lock_file="$pkg_install_dir/install_successful" - enable_openmp="yes" + __INSTALL__) + echo "==================== Installing ELPA ====================" + pkg_install_dir="${INSTALLDIR}/elpa-${elpa_ver}" + #pkg_install_dir="${HOME}/lib/elpa/${elpa_ver}-gcc8" + install_lock_file="$pkg_install_dir/install_successful" + enable_openmp="yes" - # specific settings needed on CRAY Linux Environment - if [ "$ENABLE_CRAY" = "__TRUE__" ]; then - if [ ${CRAY_PRGENVCRAY} ]; then - # extra LDFLAGS needed - cray_ldflags="-dynamic" - fi - # enable_openmp="no" - fi + # specific settings needed on CRAY Linux Environment + if [ "$ENABLE_CRAY" = "__TRUE__" ]; then + if [ ${CRAY_PRGENVCRAY} ]; then + # extra LDFLAGS needed + cray_ldflags="-dynamic" + fi + # enable_openmp="no" + fi - if verify_checksums "${install_lock_file}"; then - echo "elpa-${elpa_ver} is already installed, skipping it." - else - require_env MATH_LIBS - elpa_pkg="elpa-${elpa_ver}.tar.gz" - url="https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/${elpa_ver}/${elpa_pkg}" - if [ -f ${elpa_pkg} ]; then - echo "${elpa_pkg} is found" - else - download_pkg_from_url "${elpa_sha256}" "${elpa_pkg}" "${url}" - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - [ -d elpa-${elpa_ver} ] && rm -rf elpa-${elpa_ver} - tar -xzf ${elpa_pkg} + if verify_checksums "${install_lock_file}"; then + echo "elpa-${elpa_ver} is already installed, skipping it." + else + require_env MATH_LIBS + url="https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/${elpa_ver}/${elpa_pkg}" + if [ -f ${elpa_pkg} ]; then + echo "${elpa_pkg} is found" + else + download_pkg_from_url "${elpa_sha256}" "${elpa_pkg}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + [ -d elpa-${elpa_ver} ] && rm -rf elpa-${elpa_ver} + tar -xzf ${elpa_pkg} - # elpa expect FC to be an mpi fortran compiler that is happy - # with long lines, and that a bunch of libs can be found - cd elpa-${elpa_ver} + # elpa expect FC to be an mpi fortran compiler that is happy + # with long lines, and that a bunch of libs can be found + cd elpa-${elpa_ver} - # ELPA-2017xxxx enables AVX2 by default, switch off if machine doesn't support it. - AVX_flag="" - AVX512_flags="" - FMA_flag="" - SSE4_flag="" - config_flags="--disable-avx-kernels --disable-avx2-kernels --disable-avx512-kernels --disable-sse-kernels --disable-sse-assembly-kernels" - if [ "${TARGET_CPU}" = "native" ]; then - if [ -f /proc/cpuinfo ] && [ "${OPENBLAS_ARCH}" = "x86_64" ]; then - has_AVX=$(grep '\bavx\b' /proc/cpuinfo 1> /dev/null && echo 'yes' || echo 'no') - [ "${has_AVX}" = "yes" ] && AVX_flag="-mavx" || AVX_flag="" - has_AVX2=$(grep '\bavx2\b' /proc/cpuinfo 1> /dev/null && echo 'yes' || echo 'no') - [ "${has_AVX2}" = "yes" ] && AVX_flag="-mavx2" - has_AVX512=$(grep '\bavx512f\b' /proc/cpuinfo 1> /dev/null && echo 'yes' || echo 'no') - [ "${has_AVX512}" = "yes" ] && AVX512_flags="-mavx512f" - FMA_flag=$(grep '\bfma\b' /proc/cpuinfo 1> /dev/null && echo '-mfma' || echo '-mno-fma') - SSE4_flag=$(grep '\bsse4_1\b' /proc/cpuinfo 1> /dev/null && echo '-msse4' || echo '-mno-sse4') - grep '\bavx512dq\b' /proc/cpuinfo 1> /dev/null && AVX512_flags+=" -mavx512dq" - grep '\bavx512cd\b' /proc/cpuinfo 1> /dev/null && AVX512_flags+=" -mavx512cd" - grep '\bavx512bw\b' /proc/cpuinfo 1> /dev/null && AVX512_flags+=" -mavx512bw" - grep '\bavx512vl\b' /proc/cpuinfo 1> /dev/null && AVX512_flags+=" -mavx512vl" - config_flags="--enable-avx-kernels=${has_AVX} --enable-avx2-kernels=${has_AVX2} --enable-avx512-kernels=${has_AVX512}" - fi - fi - for TARGET in "cpu" "nvidia"; do - [ "$TARGET" = "nvidia" ] && [ "$ENABLE_CUDA" != "__TRUE__" ] && continue - # disable cpu if cuda is enabled, only install one - [ "$TARGET" != "nvidia" ] && [ "$ENABLE_CUDA" = "__TRUE__" ] && continue - # extend the pkg_install_dir by TARGET - # this linking method is totally different from cp2k toolchain - # for cp2k, ref https://github.com/cp2k/cp2k/commit/6fe2fc105b8cded84256248f68c74139dd8fc2e9 - pkg_install_dir="${pkg_install_dir}/${TARGET}" + # ELPA-2017xxxx enables AVX2 by default, switch off if machine doesn't support it. + AVX_flag="" + AVX512_flags="" + FMA_flag="" + SSE4_flag="" + config_flags="--disable-avx-kernels --disable-avx2-kernels --disable-avx512-kernels --disable-sse-kernels --disable-sse-assembly-kernels" + if [ "${TARGET_CPU}" = "native" ]; then + if [ -f /proc/cpuinfo ] && [ "${OPENBLAS_ARCH}" = "x86_64" ]; then + has_AVX=$(grep '\bavx\b' /proc/cpuinfo 1> /dev/null && echo 'yes' || echo 'no') + [ "${has_AVX}" = "yes" ] && AVX_flag="-mavx" || AVX_flag="" + has_AVX2=$(grep '\bavx2\b' /proc/cpuinfo 1> /dev/null && echo 'yes' || echo 'no') + [ "${has_AVX2}" = "yes" ] && AVX_flag="-mavx2" + has_AVX512=$(grep '\bavx512f\b' /proc/cpuinfo 1> /dev/null && echo 'yes' || echo 'no') + [ "${has_AVX512}" = "yes" ] && AVX512_flags="-mavx512f" + FMA_flag=$(grep '\bfma\b' /proc/cpuinfo 1> /dev/null && echo '-mfma' || echo '-mno-fma') + SSE4_flag=$(grep '\bsse4_1\b' /proc/cpuinfo 1> /dev/null && echo '-msse4' || echo '-mno-sse4') + grep '\bavx512dq\b' /proc/cpuinfo 1> /dev/null && AVX512_flags+=" -mavx512dq" + grep '\bavx512cd\b' /proc/cpuinfo 1> /dev/null && AVX512_flags+=" -mavx512cd" + grep '\bavx512bw\b' /proc/cpuinfo 1> /dev/null && AVX512_flags+=" -mavx512bw" + grep '\bavx512vl\b' /proc/cpuinfo 1> /dev/null && AVX512_flags+=" -mavx512vl" + config_flags="--enable-avx-kernels=${has_AVX} --enable-avx2-kernels=${has_AVX2} --enable-avx512-kernels=${has_AVX512}" + fi + fi + for TARGET in "cpu" "nvidia"; do + # Accept both uppercase and lowercase GPU enable flags for compatibility + gpu_enabled="${ENABLE_CUDA:-${enable_cuda}}" + [ "$TARGET" = "nvidia" ] && [ "$gpu_enabled" != "__TRUE__" ] && continue + # disable cpu if cuda is enabled, only install one + [ "$TARGET" != "nvidia" ] && [ "$gpu_enabled" = "__TRUE__" ] && continue + # extend the pkg_install_dir by TARGET + # this linking method is totally different from cp2k toolchain + # for cp2k, ref https://github.com/cp2k/cp2k/commit/6fe2fc105b8cded84256248f68c74139dd8fc2e9 + pkg_install_dir="${pkg_install_dir}/${TARGET}" - echo "Installing from scratch into ${pkg_install_dir}" - mkdir -p "build_${TARGET}" - cd "build_${TARGET}" - if [ "${with_amd}" != "__DONTUSE__" ] && [ "${WITH_FLANG}" = "yes" ] ; then - echo "AMD fortran compiler detected, enable special option operation" - ../configure --prefix="${pkg_install_dir}" \ - --libdir="${pkg_install_dir}/lib" \ - --enable-openmp=${enable_openmp} \ - --enable-static=no \ - --enable-shared=yes \ - --disable-c-tests \ - --disable-cpp-tests \ - ${config_flags} \ - --with-cuda-path=${CUDA_PATH:-${CUDA_HOME:-/CUDA_HOME-notset}} \ - --enable-nvidia-gpu-kernels=$([ "$TARGET" = "nvidia" ] && echo "yes" || echo "no") \ - --with-NVIDIA-GPU-compute-capability=$([ "$TARGET" = "nvidia" ] && echo "sm_$ARCH_NUM" || echo "sm_70") \ - OMPI_MCA_plm_rsh_agent=/bin/false \ - FC=${MPIFC} \ - CC=${MPICC} \ - CXX=${MPICXX} \ - CPP="cpp -E" \ - FCFLAGS="${FCFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ - CFLAGS="${CFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ - CXXFLAGS="${CXXFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ - LDFLAGS="${MATH_LDFLAGS} ${SCALAPACK_LDFLAGS} ${cray_ldflags} -lstdc++" \ - LIBS="${SCALAPACK_LIBS} $(resolve_string "${MATH_LIBS}" "MPI")" \ - > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log - # remove unsupported compile option in libtool - sed -i ./libtool \ - -e 's/\\$wl-soname //g' \ - -e 's/\\$wl--whole-archive\\$convenience \\$wl--no-whole-archive//g' \ - -e 's/\\$wl\\$soname //g' - else - # normal installation - ../configure --prefix="${pkg_install_dir}/" \ - --libdir="${pkg_install_dir}/lib" \ - --enable-openmp=${enable_openmp} \ - --enable-static=no \ - --enable-shared=yes \ - --disable-c-tests \ - --disable-cpp-tests \ - ${config_flags} \ - --enable-nvidia-gpu-kernels=$([ "$TARGET" = "nvidia" ] && echo "yes" || echo "no") \ - --with-cuda-path=${CUDA_PATH:-${CUDA_HOME:-/CUDA_HOME-notset}} \ - --with-NVIDIA-GPU-compute-capability=$([ "$TARGET" = "nvidia" ] && echo "sm_$ARCH_NUM" || echo "sm_70") \ - FC=${MPIFC} \ - CC=${MPICC} \ - CXX=${MPICXX} \ - CPP="cpp -E" \ - FCFLAGS="${FCFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ - CFLAGS="${CFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ - CXXFLAGS="${CXXFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ - LDFLAGS="-Wl,--allow-multiple-definition -Wl,--enable-new-dtags ${MATH_LDFLAGS} ${SCALAPACK_LDFLAGS} ${cray_ldflags} -lstdc++" \ - LIBS="${SCALAPACK_LIBS} $(resolve_string "${MATH_LIBS}" "MPI")" \ - > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log + echo "Installing from scratch into ${pkg_install_dir}" + mkdir -p "build_${TARGET}" + cd "build_${TARGET}" + if [ "${with_amd}" != "__DONTUSE__" ] && [ "${WITH_FLANG}" = "yes" ] ; then + # special option for flang compiler + echo "AMD fortran compiler detected, enable special option operation" + ../configure --prefix="${pkg_install_dir}" \ + --libdir="${pkg_install_dir}/lib" \ + --enable-openmp=${enable_openmp} \ + --enable-static=no \ + --enable-shared=yes \ + --disable-c-tests \ + --disable-cpp-tests \ + ${config_flags} \ + --with-cuda-path=${CUDA_PATH:-${CUDA_HOME:-/CUDA_HOME-notset}} \ + --enable-nvidia-gpu-kernels=$([ "$TARGET" = "nvidia" ] && echo "yes" || echo "no") \ + --with-NVIDIA-GPU-compute-capability=$([ "$TARGET" = "nvidia" ] && echo "sm_$ARCH_NUM" || echo "sm_70") \ + --enable-nvidia-cub --with-cusolver \ + OMPI_MCA_plm_rsh_agent=/bin/false \ + FC=${MPIFC} \ + CC=${MPICC} \ + CXX=${MPICXX} \ + CPP="cpp -E" \ + FCFLAGS="${FCFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ + CFLAGS="${CFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ + CXXFLAGS="${CXXFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ + LDFLAGS="${MATH_LDFLAGS} ${SCALAPACK_LDFLAGS} ${cray_ldflags} -lstdc++" \ + LIBS="${SCALAPACK_LIBS} $(resolve_string "${MATH_LIBS}" "MPI") ${MPI_LIBS}" \ + SCALAPACK_LDFLAGS="${SCALAPACK_LDFLAGS}" \ + SCALAPACK_FCFLAGS="${SCALAPACK_CFLAGS}" \ + > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log + # remove unsupported compile option in libtool + sed -i ./libtool \ + -e 's/\\$wl-soname //g' \ + -e 's/\\$wl--whole-archive\\$convenience \\$wl--no-whole-archive//g' \ + -e 's/\\$wl\\$soname //g' + else + # normal installation + ../configure --prefix="${pkg_install_dir}/" \ + --libdir="${pkg_install_dir}/lib" \ + --enable-openmp=${enable_openmp} \ + --enable-static=no \ + --enable-shared=yes \ + --disable-c-tests \ + --disable-cpp-tests \ + ${config_flags} \ + --enable-nvidia-gpu-kernels=$([ "$TARGET" = "nvidia" ] && echo "yes" || echo "no") \ + --with-cuda-path=${CUDA_PATH:-${CUDA_HOME:-/CUDA_HOME-notset}} \ + --with-NVIDIA-GPU-compute-capability=$([ "$TARGET" = "nvidia" ] && echo "sm_$ARCH_NUM" || echo "sm_70") \ + --enable-nvidia-cub --with-cusolver \ + FC=${MPIFC} \ + CC=${MPICC} \ + CXX=${MPICXX} \ + CPP="cpp -E" \ + FCFLAGS="${FCFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ + CFLAGS="${CFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ + CXXFLAGS="${CXXFLAGS} ${MATH_CFLAGS} ${SCALAPACK_CFLAGS} ${AVX_flag} ${FMA_flag} ${SSE4_flag} ${AVX512_flags} -fno-lto" \ + LDFLAGS="-Wl,--allow-multiple-definition -Wl,--enable-new-dtags ${MATH_LDFLAGS} ${SCALAPACK_LDFLAGS} ${cray_ldflags} -lstdc++" \ + LIBS="${SCALAPACK_LIBS} $(resolve_string "${MATH_LIBS}" "MPI")" \ + SCALAPACK_LDFLAGS="${SCALAPACK_LDFLAGS}" \ + SCALAPACK_FCFLAGS="${SCALAPACK_CFLAGS}" \ + > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log + fi + make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + cd .. + # link elpa + link=${pkg_install_dir}/include/elpa + if [[ ! -d $link ]]; then + ln -s ${pkg_install_dir}/include/elpa_openmp-${elpa_ver}/elpa $link + fi + done + cd .. + + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage3/$(basename ${SCRIPT_NAME})" fi - make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log - make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log - cd .. - # link elpa - link=${pkg_install_dir}/include/elpa - if [[ ! -d $link ]]; then - ln -s ${pkg_install_dir}/include/elpa_openmp-${elpa_ver}/elpa $link + [ "$enable_openmp" != "yes" ] && elpa_dir_openmp="" + ELPA_CFLAGS="-I'${pkg_install_dir}/include/elpa${elpa_dir_openmp}-${elpa_ver}/modules' -I'${pkg_install_dir}/include/elpa${elpa_dir_openmp}-${elpa_ver}/elpa'" + ELPA_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; + __SYSTEM__) + echo "==================== Finding ELPA from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 fi - done - cd .. - - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage3/$(basename ${SCRIPT_NAME})" - fi - fi - [ "$enable_openmp" != "yes" ] && elpa_dir_openmp="" - ELPA_CFLAGS="-I'${pkg_install_dir}/include/elpa${elpa_dir_openmp}-${elpa_ver}/modules' -I'${pkg_install_dir}/include/elpa${elpa_dir_openmp}-${elpa_ver}/elpa'" - ELPA_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; - __SYSTEM__) - echo "==================== Finding ELPA from system paths ====================" - check_lib -lelpa_openmp "ELPA" - # get the include paths - elpa_include="$(find_in_paths "elpa_openmp-*" $INCLUDE_PATHS)" - if [ "$elpa_include" != "__FALSE__" ]; then - echo "ELPA include directory threaded version is found to be $elpa_include" - ELPA_CFLAGS="-I'$elpa_include/modules' -I'$elpa_include/elpa'" - else - echo "Cannot find elpa_openmp-${elpa_ver} from paths $INCLUDE_PATHS" - exit 1 - fi - # get the lib paths - add_lib_from_paths ELPA_LDFLAGS "libelpa.*" $LIB_PATHS - ;; - __DONTUSE__) ;; + check_lib -lelpa_openmp "ELPA" + # get the include paths + elpa_include="$(find_in_paths "elpa_openmp-*" $INCLUDE_PATHS)" + if [ "$elpa_include" != "__FALSE__" ]; then + echo "ELPA include directory threaded version is found to be $elpa_include" + ELPA_CFLAGS="-I'$elpa_include/modules' -I'$elpa_include/elpa'" + else + echo "Cannot find elpa_openmp-${elpa_ver} from paths $INCLUDE_PATHS" + exit 1 + fi + # get the lib paths + add_lib_from_paths ELPA_LDFLAGS "libelpa.*" $LIB_PATHS + ;; + __DONTUSE__) ;; - *) - echo "==================== Linking ELPA to user paths ====================" - pkg_install_dir="$with_elpa" - check_dir "${pkg_install_dir}/include" - check_dir "${pkg_install_dir}/lib" - user_include_path="${pkg_install_dir}/include" - elpa_include="$(find_in_paths "elpa_openmp-*" user_include_path)" - if [ "$elpa_include" != "__FALSE__" ]; then - echo "ELPA include directory threaded version is found to be $elpa_include/modules" - check_dir "$elpa_include/modules" - ELPA_CFLAGS="-I'$elpa_include/modules' -I'$elpa_include/elpa'" - else - echo "Cannot find elpa_openmp-* from path $user_include_path" - exit 1 - fi - ELPA_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; + *) + echo "==================== Linking ELPA to user paths ====================" + pkg_install_dir="$with_elpa" + check_dir "${pkg_install_dir}/include" + check_dir "${pkg_install_dir}/lib" + user_include_path="${pkg_install_dir}/include" + elpa_include="$(find_in_paths "elpa_openmp-*" user_include_path)" + if [ "$elpa_include" != "__FALSE__" ]; then + echo "ELPA include directory threaded version is found to be $elpa_include/modules" + check_dir "$elpa_include/modules" + ELPA_CFLAGS="-I'$elpa_include/modules' -I'$elpa_include/elpa'" + else + echo "Cannot find elpa_openmp-* from path $user_include_path" + exit 1 + fi + ELPA_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; esac if [ "$with_elpa" != "__DONTUSE__" ]; then - ELPA_LIBS="-lelpa${elpa_dir_openmp}" - cat << EOF > "${BUILDDIR}/setup_elpa" + ELPA_LIBS="-lelpa${elpa_dir_openmp}" + cat << EOF > "${BUILDDIR}/setup_elpa" prepend_path CPATH "$elpa_include" EOF - if [ "$with_elpa" != "__SYSTEM__" ]; then - cat << EOF >> "${BUILDDIR}/setup_elpa" + if [ "$with_elpa" != "__SYSTEM__" ]; then + cat << EOF >> "${BUILDDIR}/setup_elpa" prepend_path PATH "$pkg_install_dir/bin" prepend_path LD_LIBRARY_PATH "$pkg_install_dir/lib" prepend_path CPATH "$pkg_install_dir/include" @@ -240,9 +266,9 @@ export PKG_CONFIG_PATH="$pkg_install_dir/lib/pkgconfig":\${PKG_CONFIG_PATH} export CMAKE_PREFIX_PATH="$pkg_install_dir":\${CMAKE_PREFIX_PATH} export ELPA_ROOT="$pkg_install_dir" EOF - fi - cat "${BUILDDIR}/setup_elpa" >> $SETUPFILE - cat << EOF >> "${BUILDDIR}/setup_elpa" + cat "${BUILDDIR}/setup_elpa" >> $SETUPFILE + fi + cat << EOF >> "${BUILDDIR}/setup_elpa" export ELPA_CFLAGS="${ELPA_CFLAGS}" export ELPA_LDFLAGS="${ELPA_LDFLAGS}" export ELPA_LIBS="${ELPA_LIBS}" diff --git a/toolchain/scripts/stage3/install_fftw.sh b/toolchain/scripts/stage3/install_fftw.sh index fac3c2040d..7f1a05dbcf 100755 --- a/toolchain/scripts/stage3/install_fftw.sh +++ b/toolchain/scripts/stage3/install_fftw.sh @@ -3,112 +3,131 @@ # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all -# Last Update in 2023-0901 - [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -fftw_ver="3.3.10" -fftw_sha256="56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467" -fftw_pkg="fftw-${fftw_ver}.tar.gz" - source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load FFTW package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "fftw:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "fftw:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "fftw" "$version_suffix" +fftw_pkg="fftw-${fftw_ver}.tar.gz" source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env [ -f "${BUILDDIR}/setup_fftw" ] && rm "${BUILDDIR}/setup_fftw" -FFTW_CFLAGS='' -FFTW_LDFLAGS='' -FFTW_LIBS='' +FFTW_CFLAGS="" +FFTW_LDFLAGS="" +FFTW_LIBS="" ! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" case "$with_fftw" in - __INSTALL__) - require_env MPI_LIBS - echo "==================== Installing FFTW ====================" - pkg_install_dir="${INSTALLDIR}/fftw-${fftw_ver}" - #pkg_install_dir="${HOME}/lib/fftw/${fftw_ver}-gcc8" - install_lock_file="$pkg_install_dir/install_successful" - - if verify_checksums "${install_lock_file}"; then - echo "fftw-${fftw_ver} is already installed, skipping it." - else - if [ -f ${fftw_pkg} ]; then - echo "${fftw_pkg} is found" - else - #download_pkg_from_ABACUS_org "${fftw_sha256}" "${fftw_pkg}" - url="http://www.fftw.org/${fftw_pkg}" - download_pkg_from_url "${fftw_sha256}" "${fftw_pkg}" "${url}" - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d fftw-${fftw_ver} ] && rm -rf fftw-${fftw_ver} - tar -xzf ${fftw_pkg} - cd fftw-${fftw_ver} - FFTW_FLAGS="--enable-openmp --enable-shared" - # fftw has mpi support but not compiled by default. so compile it if we build with mpi. - # it will create a second library to link with if needed - [ "${MPI_MODE}" != "no" ] && FFTW_FLAGS="--enable-mpi ${FFTW_FLAGS}" - if [ "${TARGET_CPU}" = "native" ]; then - if [ -f /proc/cpuinfo ]; then - grep '\bavx\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx" - grep '\bavx2\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx2" - grep '\bavx512f\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx512" + __INSTALL__) + require_env MPI_LIBS + echo "==================== Installing FFTW ====================" + pkg_install_dir="${INSTALLDIR}/fftw-${fftw_ver}" + install_lock_file="$pkg_install_dir/install_successful" + if verify_checksums "${install_lock_file}"; then + echo "fftw-${fftw_ver} is already installed, skipping it." + else + if [ -f ${fftw_pkg} ]; then + echo "${fftw_pkg} is found" + else + url="http://www.fftw.org/${fftw_pkg}" + download_pkg_from_url "${fftw_sha256}" "${fftw_pkg}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d fftw-${fftw_ver} ] && rm -rf fftw-${fftw_ver} + tar -xzf ${fftw_pkg} + cd fftw-${fftw_ver} + FFTW_FLAGS="--enable-openmp --enable-shared" + # fftw has mpi support but not compiled by default. so compile it if we build with mpi. + # it will create a second library to link with if needed + [ "${MPI_MODE}" != "no" ] && FFTW_FLAGS="--enable-mpi ${FFTW_FLAGS}" + if [ "${TARGET_CPU}" = "native" ]; then + if [ -f /proc/cpuinfo ]; then + grep '\bavx\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx" + grep '\bavx2\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx2" + grep '\bavx512f\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx512" + fi + fi + # ABACUS need float version and double version fftw at the same time + # install float version fftw + echo "install float version fftw" + ./configure --prefix="${pkg_install_dir}" \ + --libdir="${pkg_install_dir}/lib" \ + --enable-float \ + ${FFTW_FLAGS} \ + > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log + make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + # install double version fftw + echo "clean" + make distclean > /dev/null 2>&1 || true + echo "install double version fftw" + ./configure --prefix="${pkg_install_dir}" \ + --libdir="${pkg_install_dir}/lib" \ + ${FFTW_FLAGS} \ + > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log + make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + cd .. + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage3/$(basename ${SCRIPT_NAME})" fi - fi - # ABACUS need float version and double version fftw at the same time - # install float version fftw - echo "install float version fftw" - ./configure --prefix=${pkg_install_dir} --libdir="${pkg_install_dir}/lib" ${FFTW_FLAGS} --enable-float \ - > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log - make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log - make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log - # install double version fftw - echo "clean" - make distclean > /dev/null 2>&1 || true - echo "install double version fftw" - ./configure --prefix=${pkg_install_dir} --libdir="${pkg_install_dir}/lib" ${FFTW_FLAGS} \ - > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log - make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log - make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log - cd .. - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage3/$(basename ${SCRIPT_NAME})" - fi - fi - FFTW_CFLAGS="-I'${pkg_install_dir}/include'" - FFTW_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; - __SYSTEM__) - echo "==================== Finding FFTW from system paths ====================" - check_lib -lfftw3 "FFTW" - check_lib -lfftw3_omp "FFTW" - [ "${MPI_MODE}" != "no" ] && check_lib -lfftw3_mpi "FFTW" - add_include_from_paths FFTW_CFLAGS "fftw3.h" FFTW_INC ${INCLUDE_PATHS} - add_lib_from_paths FFTW_LDFLAGS "libfftw3.*" ${LIB_PATHS} - ;; - __DONTUSE__) - # Nothing to do - ;; - *) - echo "==================== Linking FFTW to user paths ====================" - pkg_install_dir="$with_fftw" - check_dir "${pkg_install_dir}/lib" - check_dir "${pkg_install_dir}/include" - FFTW_CFLAGS="-I'${pkg_install_dir}/include'" - FFTW_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; + FFTW_CFLAGS="-I'${pkg_install_dir}/include'" + FFTW_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; + __SYSTEM__) + echo "==================== Finding FFTW from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_lib -lfftw3 "FFTW" + check_lib -lfftw3_omp "FFTW" + [ "${MPI_MODE}" != "no" ] && check_lib -lfftw3_mpi "FFTW" + add_include_from_paths FFTW_CFLAGS "fftw3.h" FFTW_INC ${INCLUDE_PATHS} + add_lib_from_paths FFTW_LDFLAGS "libfftw3.*" ${LIB_PATHS} + ;; + __DONTUSE__) + ;; + *) + echo "==================== Linking FFTW to user paths ====================" + pkg_install_dir="$with_fftw" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + FFTW_CFLAGS="-I'${pkg_install_dir}/include'" + FFTW_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; esac if [ "$with_fftw" != "__DONTUSE__" ]; then - [ "$MPI_MODE" != "no" ] && FFTW_LIBS="IF_MPI(-lfftw3_mpi|)" - FFTW_LIBS+="-lfftw3 -lfftw3_omp" - if [ "$with_fftw" != "__SYSTEM__" ]; then - cat << EOF > "${BUILDDIR}/setup_fftw" + [ "$MPI_MODE" != "no" ] && FFTW_LIBS="IF_MPI(-lfftw3_mpi|)" + FFTW_LIBS+="-lfftw3 -lfftw3_omp" + if [ "$with_fftw" != "__SYSTEM__" ]; then + cat << EOF > "${BUILDDIR}/setup_fftw" prepend_path LD_LIBRARY_PATH "$pkg_install_dir/lib" prepend_path LD_RUN_PATH "$pkg_install_dir/lib" prepend_path LIBRARY_PATH "$pkg_install_dir/lib" @@ -122,9 +141,9 @@ export CPATH="$pkg_install_dir/include":\${CPATH} export PKG_CONFIG_PATH="$pkg_install_dir/lib/pkgconfig":\${PKG_CONFIG_PATH} export CMAKE_PREFIX_PATH="$pkg_install_dir":\${CMAKE_PREFIX_PATH} EOF - fi - # we may also want to cover FFT_SG - cat << EOF >> "${BUILDDIR}/setup_fftw" + fi + # we may also want to cover FFT_SG + cat << EOF >> "${BUILDDIR}/setup_fftw" export FFTW3_INCLUDES="${FFTW_CFLAGS}" export FFTW3_LIBS="${FFTW_LIBS}" export FFTW_CFLAGS="${FFTW_CFLAGS}" @@ -137,7 +156,7 @@ export CP_LIBS="${FFTW_LIBS} \${CP_LIBS}" export FFTW_ROOT=${FFTW_ROOT:-${pkg_install_dir}} export FFTW3_ROOT=${pkg_install_dir} EOF - cat "${BUILDDIR}/setup_fftw" >> $SETUPFILE + cat "${BUILDDIR}/setup_fftw" >> $SETUPFILE fi cd "${ROOTDIR}" diff --git a/toolchain/scripts/stage3/install_libxc.sh b/toolchain/scripts/stage3/install_libxc.sh index 3eeac7a658..4fc7ff6609 100755 --- a/toolchain/scripts/stage3/install_libxc.sh +++ b/toolchain/scripts/stage3/install_libxc.sh @@ -8,13 +8,29 @@ [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -# libxc_ver="6.2.2" -# libxc_sha256="a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045" -libxc_ver="7.0.0" -libxc_sha256="e9ae69f8966d8de6b7585abd9fab588794ada1fab8f689337959a35abbf9527d" source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load LibXC package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "libxc:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "libxc:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "libxc" "$version_suffix" +libxc_pkg="libxc-${libxc_ver}.tar.bz2" source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env @@ -27,72 +43,76 @@ LIBXC_LIBS="" cd "${BUILDDIR}" case "$with_libxc" in - __INSTALL__) - echo "==================== Installing LIBXC ====================" - pkg_install_dir="${INSTALLDIR}/libxc-${libxc_ver}" - #pkg_install_dir="${HOME}/lib/libxc/${libxc_ver}-gcc8" - install_lock_file="$pkg_install_dir/install_successful" - libxc_pkg="libxc-${libxc_ver}.tar.bz2" - if verify_checksums "${install_lock_file}"; then - echo "libxc-${libxc_ver} is already installed, skipping it." - else - if [ -f ${libxc_pkg} ]; then - echo "${libxc_pkg} is found" - else - #download_pkg_from_ABACUS_org "${libxc_sha256}" "${libxc_pkg}" - libxc_url="https://gitlab.com/libxc/libxc/-/archive/${libxc_ver}/${libxc_pkg}" - download_pkg_from_url "${libxc_sha256}" "${libxc_pkg}" "${libxc_url}" - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d libxc-${libxc_ver} ] && rm -rf libxc-${libxc_ver} - tar -xjf ${libxc_pkg} - cd libxc-${libxc_ver} - # using cmake method to install libxc is neccessary for abacus - mkdir build - cd build - cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${pkg_install_dir} \ - -DBUILD_SHARED_LIBS=YES \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DENABLE_FORTRAN=ON \ - -DENABLE_PYTHON=OFF \ - -DBUILD_TESTING=OFF .. \ - > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log - make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log - make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log - cd ../.. - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage3/$(basename ${SCRIPT_NAME})" - fi - fi - LIBXC_CFLAGS="-I'${pkg_install_dir}/include'" - LIBXC_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; - __SYSTEM__) - echo "==================== Finding LIBXC from system paths ====================" - check_lib -lxcf03 "libxc" - check_lib -lxc "libxc" - add_include_from_paths LIBXC_CFLAGS "xc.h" $INCLUDE_PATHS - add_lib_from_paths LIBXC_LDFLAGS "libxc.*" $LIB_PATHS - ;; - __DONTUSE__) ;; - *) - echo "==================== Linking LIBXC to user paths ====================" - pkg_install_dir="$with_libxc" - check_dir "${pkg_install_dir}/lib" - check_dir "${pkg_install_dir}/include" - LIBXC_CFLAGS="-I'${pkg_install_dir}/include'" - LIBXC_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; + __INSTALL__) + echo "==================== Installing LIBXC ====================" + pkg_install_dir="${INSTALLDIR}/libxc-${libxc_ver}" + #pkg_install_dir="${HOME}/lib/libxc/${libxc_ver}-gcc8" + install_lock_file="$pkg_install_dir/install_successful" + if verify_checksums "${install_lock_file}"; then + echo "libxc-${libxc_ver} is already installed, skipping it." + else + if [ -f ${libxc_pkg} ]; then + echo "${libxc_pkg} is found" + else + #download_pkg_from_ABACUS_org "${libxc_sha256}" "${libxc_pkg}" + libxc_url="https://gitlab.com/libxc/libxc/-/archive/${libxc_ver}/${libxc_pkg}" + download_pkg_from_url "${libxc_sha256}" "${libxc_pkg}" "${libxc_url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d libxc-${libxc_ver} ] && rm -rf libxc-${libxc_ver} + tar -xjf ${libxc_pkg} + cd libxc-${libxc_ver} + # using cmake method to install libxc is neccessary for abacus + mkdir build + cd build + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${pkg_install_dir} \ + -DBUILD_SHARED_LIBS=YES \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DENABLE_FORTRAN=ON \ + -DENABLE_PYTHON=OFF \ + -DBUILD_TESTING=OFF .. \ + > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log + make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + cd ../.. + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage3/$(basename ${SCRIPT_NAME})" + fi + LIBXC_CFLAGS="-I'${pkg_install_dir}/include'" + LIBXC_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; + __SYSTEM__) + echo "==================== Finding LIBXC from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_lib -lxcf03 "libxc" + check_lib -lxc "libxc" + add_include_from_paths LIBXC_CFLAGS "xc.h" $INCLUDE_PATHS + add_lib_from_paths LIBXC_LDFLAGS "libxc.*" $LIB_PATHS + ;; + __DONTUSE__) ;; + + *) + echo "==================== Linking LIBXC to user paths ====================" + pkg_install_dir="$with_libxc" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + LIBXC_CFLAGS="-I'${pkg_install_dir}/include'" + LIBXC_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; esac if [ "$with_libxc" != "__DONTUSE__" ]; then - LIBXC_LIBS="-lxcf03 -lxc" - if [ "$with_libxc" != "__SYSTEM__" ]; then - cat << EOF > "${BUILDDIR}/setup_libxc" + LIBXC_LIBS="-lxcf03 -lxc" + if [ "$with_libxc" != "__SYSTEM__" ]; then + cat << EOF > "${BUILDDIR}/setup_libxc" prepend_path LD_LIBRARY_PATH "$pkg_install_dir/lib" prepend_path LD_RUN_PATH "$pkg_install_dir/lib" prepend_path LIBRARY_PATH "$pkg_install_dir/lib" @@ -106,9 +126,9 @@ export CPATH="$pkg_install_dir/include":\${CPATH} export PKG_CONFIG_PATH="$pkg_install_dir/lib/pkgconfig":\${PKG_CONFIG_PATH} export CMAKE_PREFIX_PATH="$pkg_install_dir":\${CMAKE_PREFIX_PATH} EOF - cat "${BUILDDIR}/setup_libxc" >> $SETUPFILE - fi - cat << EOF >> "${BUILDDIR}/setup_libxc" + cat "${BUILDDIR}/setup_libxc" >> $SETUPFILE + fi + cat << EOF >> "${BUILDDIR}/setup_libxc" export LIBXC_CFLAGS="${LIBXC_CFLAGS}" export LIBXC_LDFLAGS="${LIBXC_LDFLAGS}" export LIBXC_LIBS="${LIBXC_LIBS}" diff --git a/toolchain/scripts/stage3/install_scalapack.sh b/toolchain/scripts/stage3/install_scalapack.sh index c2d6690bd1..3ffbf42c7d 100755 --- a/toolchain/scripts/stage3/install_scalapack.sh +++ b/toolchain/scripts/stage3/install_scalapack.sh @@ -3,100 +3,117 @@ # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all -# Last Update in 2024-0504 - [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -scalapack_ver="2.2.2" -scalapack_sha256="a2f0c9180a210bf7ffe126c9cb81099cf337da1a7120ddb4cbe4894eb7b7d022" -scalapack_pkg="scalapack-${scalapack_ver}.tar.gz" - source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load ScaLAPACK package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "scalapack:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "scalapack:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "scalapack" "$version_suffix" +scalapack_pkg="scalapack-${scalapack_ver}.tar.gz" source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env [ -f "${BUILDDIR}/setup_scalapack" ] && rm "${BUILDDIR}/setup_scalapack" -SCALAPACK_CFLAGS='' -SCALAPACK_LDFLAGS='' -SCALAPACK_LIBS='' +SCALAPACK_CFLAGS="" +SCALAPACK_LDFLAGS="" +SCALAPACK_LIBS="" ! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" -case "$with_scalapack" in - __INSTALL__) - echo "==================== Installing ScaLAPACK ====================" - pkg_install_dir="${INSTALLDIR}/scalapack-${scalapack_ver}" - #pkg_install_dir="${HOME}/lib/scalapack/${scalapack_ver}-gcc8" - install_lock_file="$pkg_install_dir/install_successful" - if verify_checksums "${install_lock_file}"; then - echo "scalapack-${scalapack_ver} is already installed, skipping it." - else - require_env MATH_LIBS - if [ -f ${scalapack_pkg} ]; then - echo "${scalapack_pkg} is found" - else - url="https://codeload.github.com/Reference-ScaLAPACK/scalapack/tar.gz/v${scalapack_ver}" - download_pkg_from_url "${scalapack_sha256}" "${scalapack_pkg}" "${url}" - #download_pkg_from_ABACUS_org "${scalapack_sha256}" "${scalapack_pkg}" - fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d scalapack-${scalapack_ver} ] && rm -rf scalapack-${scalapack_ver} - tar -xzf ${scalapack_pkg} +case "${with_scalapack}" in + __INSTALL__) + echo "==================== Installing ScaLAPACK ====================" + pkg_install_dir="${INSTALLDIR}/scalapack-${scalapack_ver}" + install_lock_file="$pkg_install_dir/install_successful" + if verify_checksums "${install_lock_file}"; then + echo "scalapack-${scalapack_ver} is already installed, skipping it." + else + require_env MATH_LIBS + if [ -f ${scalapack_pkg} ]; then + echo "${scalapack_pkg} is found" + else + url="https://codeload.github.com/Reference-ScaLAPACK/scalapack/tar.gz/v${scalapack_ver}" + download_pkg_from_url "${scalapack_sha256}" "${scalapack_pkg}" "${url}" + #download_pkg_from_ABACUS_org "${scalapack_sha256}" "${scalapack_pkg}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d scalapack-${scalapack_ver} ] && rm -rf scalapack-${scalapack_ver} + tar -xzf ${scalapack_pkg} - mkdir -p "scalapack-${scalapack_ver}/build" - pushd "scalapack-${scalapack_ver}/build" > /dev/null + mkdir -p "scalapack-${scalapack_ver}/build" + pushd "scalapack-${scalapack_ver}/build" > /dev/null - cflags="" - fflags="" - if ("${FC}" --version | grep -q 'GNU'); then - cflags="-fpermissive" - fflags=$(allowed_gfortran_flags "-fallow-argument-mismatch") - fi - CFLAGS=${cflags} FFLAGS=${fflags} \ - cmake -DCMAKE_FIND_ROOT_PATH="$ROOTDIR" \ - -DCMAKE_INSTALL_PREFIX="${pkg_install_dir}" \ - -DCMAKE_INSTALL_LIBDIR="lib" \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DBUILD_SHARED_LIBS=YES \ - -DCMAKE_BUILD_TYPE=Release .. \ - -DBUILD_TESTING=NO \ - -DSCALAPACK_BUILD_TESTS=NO \ - > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log - make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log - make install >> make.log 2>&1 || tail -n ${LOG_LINES} make.log + cflags="" + fflags="" + if ("${FC}" --version | grep -q 'GNU'); then + cflags="-fpermissive" + fflags=$(allowed_gfortran_flags "-fallow-argument-mismatch") + fi + CFLAGS=${cflags} FFLAGS=${fflags} \ + cmake -DCMAKE_FIND_ROOT_PATH="$ROOTDIR" \ + -DCMAKE_INSTALL_PREFIX="${pkg_install_dir}" \ + -DCMAKE_INSTALL_LIBDIR="lib" \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DBUILD_SHARED_LIBS=YES \ + -DCMAKE_BUILD_TYPE=Release .. \ + -DBUILD_TESTING=NO \ + -DSCALAPACK_BUILD_TESTS=NO \ + > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log + make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make install >> make.log 2>&1 || tail -n ${LOG_LINES} make.log - popd > /dev/null - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage3/$(basename ${SCRIPT_NAME})" - fi - fi - SCALAPACK_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; - __SYSTEM__) - echo "==================== Finding ScaLAPACK from system paths ====================" - check_lib -lscalapack "ScaLAPACK" - add_lib_from_paths SCALAPACK_LDFLAGS "libscalapack.*" $LIB_PATHS - ;; - __DONTUSE__) ;; + popd > /dev/null + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage3/$(basename ${SCRIPT_NAME})" + fi + SCALAPACK_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; + __SYSTEM__) + echo "==================== Finding ScaLAPACK from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_lib -lscalapack "ScaLAPACK" + add_lib_from_paths SCALAPACK_LDFLAGS "libscalapack.*" $LIB_PATHS + ;; + __DONTUSE__) ;; - *) - echo "==================== Linking ScaLAPACK to user paths ====================" - pkg_install_dir="$with_scalapack" - check_dir "${pkg_install_dir}/lib" - SCALAPACK_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" - ;; + *) + echo "==================== Linking ScaLAPACK to user paths ====================" + pkg_install_dir="$with_scalapack" + check_dir "${pkg_install_dir}/lib" + SCALAPACK_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; esac if [ "$with_scalapack" != "__DONTUSE__" ]; then - SCALAPACK_LIBS="-lscalapack" - if [ "$with_scalapack" != "__SYSTEM__" ]; then - cat << EOF > "${BUILDDIR}/setup_scalapack" + SCALAPACK_LIBS="-lscalapack" + if [ "$with_scalapack" != "__SYSTEM__" ]; then + cat << EOF > "${BUILDDIR}/setup_scalapack" prepend_path LD_LIBRARY_PATH "${pkg_install_dir}/lib" prepend_path LD_RUN_PATH "${pkg_install_dir}/lib" prepend_path LIBRARY_PATH "${pkg_install_dir}/lib" @@ -109,9 +126,9 @@ export PKG_CONFIG_PATH="${pkg_install_dir}/lib/pkgconfig":\${PKG_CONFIG_PATH} export CMAKE_PREFIX_PATH="${pkg_install_dir}":\${CMAKE_PREFIX_PATH} export SCALAPACK_ROOT="${pkg_install_dir}" EOF - cat "${BUILDDIR}/setup_scalapack" >> $SETUPFILE - fi - cat << EOF >> "${BUILDDIR}/setup_scalapack" + cat "${BUILDDIR}/setup_scalapack" >> $SETUPFILE + fi + cat << EOF >> "${BUILDDIR}/setup_scalapack" export SCALAPACK_LDFLAGS="${SCALAPACK_LDFLAGS}" export SCALAPACK_LIBS="${SCALAPACK_LIBS}" export SCALAPACK_ROOT="${pkg_install_dir}" diff --git a/toolchain/scripts/stage4/install_cereal.sh b/toolchain/scripts/stage4/install_cereal.sh index a6c597d69f..5d5852a337 100755 --- a/toolchain/scripts/stage4/install_cereal.sh +++ b/toolchain/scripts/stage4/install_cereal.sh @@ -5,16 +5,33 @@ # CEREAL is not need any complex setting # Only problem is the installation from github.com -# Last Update in 2025-0504 - [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -cereal_ver="master" # latest version, instead of "1.3.2" -cereal_sha256="--no-checksum" # latest version cannot maintain checksum source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load Cereal package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "cereal:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "cereal:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "cereal" "$version_suffix" +dirname="cereal-${cereal_ver}" +filename="cereal-${cereal_ver}.tar.gz" source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env @@ -25,67 +42,97 @@ CEREAL_CFLAGS="" cd "${BUILDDIR}" case "$with_cereal" in - __INSTALL__) - echo "==================== Installing CEREAL ====================" - dirname="cereal-${cereal_ver}" - pkg_install_dir="${INSTALLDIR}/$dirname" - #pkg_install_dir="${HOME}/lib/cereal/${cereal_ver}" - install_lock_file="$pkg_install_dir/install_successful" - url="https://codeload.github.com/USCiLab/cereal/tar.gz/${cereal_ver}" - filename="cereal-${cereal_ver}.tar.gz" - if verify_checksums "${install_lock_file}"; then - echo "$dirname is already installed, skipping it." - else - if [ -f $filename ]; then - echo "$filename is found" + __INSTALL__) + echo "==================== Installing CEREAL ====================" + pkg_install_dir="${INSTALLDIR}/$dirname" + #pkg_install_dir="${HOME}/lib/cereal/${cereal_ver}" + install_lock_file="$pkg_install_dir/install_successful" + # url construction rules: + # - Branch names (master, main, develop) without v prefix + # - Version tags (e.g., 1.0.0) with v prefix + if [[ "${cereal_ver}" =~ ^(master|main|develop)$ ]]; then + url="https://codeload.github.com/USCiLab/cereal/tar.gz/${cereal_ver}" else - # download from github.com and checksum - echo "===> Notice: This version of CEREAL is downloaded in GitHub master repository <===" - download_pkg_from_url "${cereal_sha256}" "${filename}" "${url}" + url="https://codeload.github.com/USCiLab/cereal/tar.gz/v${cereal_ver}" fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d $dirname ] && rm -rf $dirname - tar -xzf $filename - #unzip -q $filename - mkdir -p "${pkg_install_dir}" - cp -r $dirname/* "${pkg_install_dir}/" - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" - fi - fi - CEREAL_CFLAGS="-I'${pkg_install_dir}'" + if verify_checksums "${install_lock_file}"; then + echo "$dirname is already installed, skipping it." + else + if [ -f $filename ]; then + echo "$filename is found" + else + # download from github.com and checksum + echo "===> Notice: This version of CEREAL is downloaded in GitHub master repository <===" + download_pkg_from_url "${cereal_sha256}" "${filename}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d $dirname ] && rm -rf $dirname + tar -xzf $filename + #unzip -q $filename + # apply patch files for libri installation in issue #6190, Kai Luo + # echo ${SCRIPT_DIR} + cd $dirname && pwd && patch -p1 < ${SCRIPT_DIR}/patches/6190.patch + cd "${BUILDDIR}" + # + mkdir -p "${pkg_install_dir}" + cp -r $dirname/* "${pkg_install_dir}/" + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" + fi + CEREAL_CFLAGS="-I'${pkg_install_dir}'" ;; __SYSTEM__) - echo "==================== CANNOT Finding CEREAL from system paths NOW ====================" - recommend_offline_installation $filename $url - # How to do it in cereal? -- Zhaoqing in 2023/08/23 - # check_lib -lxcf03 "libxc" - # check_lib -lxc "libxc" - # add_include_from_paths LIBXC_CFLAGS "xc.h" $INCLUDE_PATHS - # add_lib_from_paths LIBXC_LDFLAGS "libxc.*" $LIB_PATHS + echo "==================== Finding CEREAL from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + # Find cereal header file and derive package root directory + cereal_header_path="$(find_in_paths "cereal/cereal.hpp" $INCLUDE_PATHS)" + if [ "$cereal_header_path" != "__FALSE__" ]; then + # Derive pkg_install_dir from found header path + # cereal/cereal.hpp -> remove /cereal/cereal.hpp -> get include dir -> get parent dir + cereal_include_dir="$(dirname "$(dirname "$cereal_header_path")")" + pkg_install_dir="$(dirname "$cereal_include_dir")" + echo "Found cereal at: $pkg_install_dir" + CEREAL_CFLAGS="-I'${cereal_include_dir}'" + else + report_error "Cannot find cereal/cereal.hpp in system paths" + exit 1 + fi ;; __DONTUSE__) ;; *) - echo "==================== Linking CEREAL to user paths ====================" - check_dir "${pkg_install_dir}" - CEREAL_CFLAGS="-I'${pkg_install_dir}'" - ;; + echo "==================== Linking CEREAL to user paths ====================" + pkg_install_dir="${with_cereal}" + check_dir "${pkg_install_dir}" + CEREAL_CFLAGS="-I'${pkg_install_dir}'" + ;; esac if [ "$with_cereal" != "__DONTUSE__" ]; then if [ "$with_cereal" != "__SYSTEM__" ]; then - # LibRI deps should find cereal include in CPATH cat << EOF > "${BUILDDIR}/setup_cereal" prepend_path CPATH "$pkg_install_dir/include" +prepend_path CMAKE_PREFIX_PATH "${pkg_install_dir}/include" export CPATH="${pkg_install_dir}/include":\${CPATH} +export CMAKE_PREFIX_PATH="${pkg_install_dir}/include":\${CMAKE_PREFIX_PATH} +export CEREAL_ROOT="$pkg_install_dir" +EOF + else + cat << EOF > "${BUILDDIR}/setup_cereal" +export CEREAL_ROOT="$pkg_install_dir" EOF - cat "${BUILDDIR}/setup_cereal" >> $SETUPFILE fi + cat "${BUILDDIR}/setup_cereal" >> $SETUPFILE cat << EOF >> "${BUILDDIR}/setup_cereal" export CEREAL_CFLAGS="${CEREAL_CFLAGS}" -export CEREAL_ROOT="$pkg_install_dir" +export CP_DFLAGS="\${CP_DFLAGS} -D__CEREAL" +export CP_CFLAGS="\${CP_CFLAGS} ${CEREAL_CFLAGS}" +export CEREAL_VERSION="${cereal_ver}" EOF fi diff --git a/toolchain/scripts/stage4/install_libcomm.sh b/toolchain/scripts/stage4/install_libcomm.sh index ccb39061ea..f5b0c22715 100755 --- a/toolchain/scripts/stage4/install_libcomm.sh +++ b/toolchain/scripts/stage4/install_libcomm.sh @@ -12,11 +12,30 @@ [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -libcomm_ver="master" -libcomm_sha256="--no-checksum" source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load LibComm package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "libcomm:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "libcomm:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "libcomm" "$version_suffix" +dirname="LibComm-${libcomm_ver}" +filename="LibComm-${libcomm_ver}.tar.gz" source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env @@ -27,54 +46,71 @@ libcomm_CFLAGS="" cd "${BUILDDIR}" case "$with_libcomm" in - __INSTALL__) - echo "==================== Installing LIBCOMM ====================" - dirname="LibComm-${libcomm_ver}" - pkg_install_dir="${INSTALLDIR}/$dirname" - #pkg_install_dir="${HOME}/lib/libcomm/${libcomm_ver}" - install_lock_file="$pkg_install_dir/install_successful" - # url="https://github.com/abacusmodeling/LibComm/archive/refs/tags/v${libcomm_ver}.tar.gz" - filename="LibComm-${libcomm_ver}.tar.gz" - url="https://codeload.github.com/abacusmodeling/LibComm/tar.gz/${libcomm_ver}" - if verify_checksums "${install_lock_file}"; then - echo "$dirname is already installed, skipping it." - else - if [ -f $filename ]; then - echo "$filename is found" + __INSTALL__) + echo "==================== Installing LIBCOMM ====================" + pkg_install_dir="${INSTALLDIR}/$dirname" + #pkg_install_dir="${HOME}/lib/libcomm/${libcomm_ver}" + install_lock_file="$pkg_install_dir/install_successful" + # url="https://github.com/abacusmodeling/LibComm/archive/refs/tags/v${libcomm_ver}.tar.gz" + # url construction rules: + # - Branch names (master, main, develop) without v prefix + # - Version tags (e.g., 1.0.0) with v prefix + if [[ "${libcomm_ver}" =~ ^(master|main|develop)$ ]]; then + url="https://codeload.github.com/abacusmodeling/LibComm/tar.gz/${libcomm_ver}" else - # download from github.com and checksum - echo "===> Notice: This version of LibComm is downloaded in GitHub master repository <===" - download_pkg_from_url "${libcomm_sha256}" "${filename}" "${url}" + url="https://codeload.github.com/abacusmodeling/LibComm/tar.gz/v${libcomm_ver}" fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d $dirname ] && rm -rf $dirname - tar -xzf $filename - # unzip -q $filename - cp -r $dirname "${pkg_install_dir}/" - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" - fi - fi - LIBCOMM_CFLAGS="-I'${pkg_install_dir}'" + if verify_checksums "${install_lock_file}"; then + echo "$dirname is already installed, skipping it." + else + if [ -f $filename ]; then + echo "$filename is found" + else + # download from github.com and checksum + echo "===> Notice: This version of LibComm is downloaded in GitHub master repository <===" + download_pkg_from_url "${libcomm_sha256}" "${filename}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d $dirname ] && rm -rf $dirname + tar -xzf $filename + mkdir -p "${pkg_install_dir}" + cp -r $dirname/* "${pkg_install_dir}/" + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" + fi + LIBCOMM_CFLAGS="-I'${pkg_install_dir}'" ;; __SYSTEM__) - echo "==================== CANNOT Finding LIBCOMM from system paths NOW ====================" - recommend_offline_installation $filename $url - # How to do it in libcomm? -- Zhaoqing in 2023/08/23 - # check_lib -lxcf03 "libxc" - # check_lib -lxc "libxc" - # add_include_from_paths LIBXC_CFLAGS "xc.h" $INCLUDE_PATHS - # add_lib_from_paths LIBXC_LDFLAGS "libxc.*" $LIB_PATHS + echo "==================== Finding LIBCOMM from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + # Find libcomm header file and derive package root directory + libcomm_header_path="$(find_in_paths "Comm/Comm_Tools.h" $INCLUDE_PATHS)" + if [ "$libcomm_header_path" != "__FALSE__" ]; then + # Derive pkg_install_dir from found header path + # Comm/Comm_Tools.h -> remove /Comm/Comm_Tools.h -> get include dir -> get parent dir + libcomm_include_dir="$(dirname "$(dirname "$libcomm_header_path")")" + pkg_install_dir="$(dirname "$libcomm_include_dir")" + echo "Found libcomm at: $pkg_install_dir" + LIBCOMM_CFLAGS="-I'${libcomm_include_dir}'" + else + report_error "Cannot find Comm/Comm_Tools.h in system paths" + exit 1 + fi ;; __DONTUSE__) ;; *) - echo "==================== Linking LIBCOMM to user paths ====================" - check_dir "${pkg_install_dir}" - LIBCOMM_CFLAGS="-I'${pkg_install_dir}'" - ;; + echo "==================== Linking LIBCOMM to user paths ====================" + pkg_install_dir="${with_libcomm}" + check_dir "${pkg_install_dir}" + LIBCOMM_CFLAGS="-I'${pkg_install_dir}'" + ;; esac if [ "$with_libcomm" != "__DONTUSE__" ]; then if [ "$with_libcomm" != "__SYSTEM__" ]; then diff --git a/toolchain/scripts/stage4/install_libnpy.sh b/toolchain/scripts/stage4/install_libnpy.sh index ebca6214e7..aa2f59df32 100755 --- a/toolchain/scripts/stage4/install_libnpy.sh +++ b/toolchain/scripts/stage4/install_libnpy.sh @@ -11,11 +11,30 @@ [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -libnpy_ver="1.0.1" -libnpy_sha256="43452a4db1e8c1df606c64376ea1e32789124051d7640e7e4e8518ab4f0fba44" source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load LibNPY package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "libnpy:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "libnpy:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "libnpy" "$version_suffix" +dirname="libnpy-${libnpy_ver}" +filename="libnpy-${libnpy_ver}.tar.gz" source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env @@ -26,53 +45,63 @@ LIBNPY_CFLAGS="" cd "${BUILDDIR}" case "$with_libnpy" in - __INSTALL__) - echo "==================== Installing LIBNPY ====================" - dirname="libnpy-${libnpy_ver}" - pkg_install_dir="${INSTALLDIR}/$dirname" - #pkg_install_dir="${HOME}/lib/libnpy/${libnpy_ver}" - install_lock_file="$pkg_install_dir/install_successful" - url="https://codeload.github.com/llohse/libnpy/tar.gz/v${libnpy_ver}" - filename="libnpy-${libnpy_ver}.tar.gz" - if verify_checksums "${install_lock_file}"; then - echo "$dirname is already installed, skipping it." - else - if [ -f $filename ]; then - echo "$filename is found" + __INSTALL__) + echo "==================== Installing LIBNPY ====================" + pkg_install_dir="${INSTALLDIR}/$dirname" + #pkg_install_dir="${HOME}/lib/libnpy/${libnpy_ver}" + install_lock_file="$pkg_install_dir/install_successful" + url="https://codeload.github.com/llohse/libnpy/tar.gz/v${libnpy_ver}" + if verify_checksums "${install_lock_file}"; then + echo "$dirname is already installed, skipping it." else - # download from github.com and checksum - echo "===> Notice: This version of Libnpy is downloaded in GitHub Release <===" - download_pkg_from_url "${libnpy_sha256}" "${filename}" "${url}" + if [ -f $filename ]; then + echo "$filename is found" + else + # download from github.com and checksum + echo "===> Notice: This version of Libnpy is downloaded in GitHub Release <===" + download_pkg_from_url "${libnpy_sha256}" "${filename}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d $dirname ] && rm -rf $dirname + tar -xzf $filename + mkdir -p "${pkg_install_dir}" + cp -r $dirname/* "${pkg_install_dir}/" + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d $dirname ] && rm -rf $dirname - tar -xzf $filename - mkdir -p "${pkg_install_dir}" - cp -r $dirname/* "${pkg_install_dir}/" - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" - fi - fi - LIBNPY_CFLAGS="-I'${pkg_install_dir}'" + LIBNPY_CFLAGS="-I'${pkg_install_dir}'" ;; __SYSTEM__) - echo "==================== CANNOT Finding LIBNPY from system paths NOW ====================" - recommend_offline_installation $filename $url - # How to do it in libnpy? -- Zhaoqing in 2023/08/23 - # check_lib -lxcf03 "libxc" - # check_lib -lxc "libxc" - # add_include_from_paths LIBXC_CFLAGS "xc.h" $INCLUDE_PATHS - # add_lib_from_paths LIBXC_LDFLAGS "libxc.*" $LIB_PATHS + echo "==================== Finding LIBNPY from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + # Find libnpy header file and derive package root directory + libnpy_header_path="$(find_in_paths "npy.hpp" $INCLUDE_PATHS)" + if [ "$libnpy_header_path" != "__FALSE__" ]; then + # Derive pkg_install_dir from found header path + # npy.hpp -> get include dir -> get parent dir + libnpy_include_dir="$(dirname "$libnpy_header_path")" + pkg_install_dir="$(dirname "$libnpy_include_dir")" + echo "Found libnpy at: $pkg_install_dir" + LIBNPY_CFLAGS="-I'${libnpy_include_dir}'" + else + report_error "Cannot find npy.hpp in system paths" + exit 1 + fi ;; __DONTUSE__) ;; *) - echo "==================== Linking LIBNPY to user paths ====================" - check_dir "${pkg_install_dir}" - LIBNPY_CFLAGS="-I'${pkg_install_dir}'" - ;; + echo "==================== Linking LIBNPY to user paths ====================" + pkg_install_dir="${with_libnpy}" + check_dir "${pkg_install_dir}" + LIBNPY_CFLAGS="-I'${pkg_install_dir}'" + ;; esac if [ "$with_libnpy" != "__DONTUSE__" ]; then if [ "$with_libnpy" != "__SYSTEM__" ]; then diff --git a/toolchain/scripts/stage4/install_libri.sh b/toolchain/scripts/stage4/install_libri.sh index 4de041f660..ba0ee25c46 100755 --- a/toolchain/scripts/stage4/install_libri.sh +++ b/toolchain/scripts/stage4/install_libri.sh @@ -11,14 +11,29 @@ [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -# libri 0.2.0 and above need to be used in newer ABACUS -# libri_ver="master" -# libri_sha256="--no-checksum" -libri_ver=0.2.1.0 -libri_sha256="66a5540daba36effdad6ce2fe5e8368b96ddd4a7e148af90894ef21dc20ff29f" + source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load LibRI package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "libri:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "libri:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "libri" "$version_suffix" source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env @@ -29,53 +44,72 @@ libri_CFLAGS="" cd "${BUILDDIR}" case "$with_libri" in - __INSTALL__) - echo "==================== Installing LIBRI ====================" - dirname="LibRI-${libri_ver}" - pkg_install_dir="${INSTALLDIR}/$dirname" - #pkg_install_dir="${HOME}/lib/libri/${libri_ver}" - install_lock_file="$pkg_install_dir/install_successful" - url="https://codeload.github.com/abacusmodeling/LibRI/tar.gz/v${libri_ver}" - filename="LibRI-${libri_ver}.tar.gz" - if verify_checksums "${install_lock_file}"; then - echo "$dirname is already installed, skipping it." - else - if [ -f $filename ]; then - echo "$filename is found" + __INSTALL__) + echo "==================== Installing LIBRI ====================" + dirname="LibRI-${libri_ver}" + pkg_install_dir="${INSTALLDIR}/$dirname" + #pkg_install_dir="${HOME}/lib/libri/${libri_ver}" + install_lock_file="$pkg_install_dir/install_successful" + # url construction rules: + # - Branch names (master, main, develop) without v prefix + # - Version tags (e.g., 1.0.0) with v prefix + if [[ "${libri_ver}" =~ ^(master|main|develop)$ ]]; then + url="https://codeload.github.com/abacusmodeling/LibRI/tar.gz/${libri_ver}" else - # download from github.com and checksum - echo "===> Notice: This version of LibRI is downloaded in GitHub Release <===" - download_pkg_from_url "${libri_sha256}" "${filename}" "${url}" + url="https://codeload.github.com/abacusmodeling/LibRI/tar.gz/v${libri_ver}" fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d $dirname ] && rm -rf $dirname - #unzip -q $filename - tar -xzf $filename - cp -r $dirname "${pkg_install_dir}/" - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" - fi - fi - LIBRI_CFLAGS="-I'${pkg_install_dir}'" + filename="LibRI-${libri_ver}.tar.gz" + if verify_checksums "${install_lock_file}"; then + echo "$dirname is already installed, skipping it." + else + if [ -f $filename ]; then + echo "$filename is found" + else + # download from github.com and checksum + echo "===> Notice: This version of LibRI is downloaded in GitHub Release <===" + download_pkg_from_url "${libri_sha256}" "${filename}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d $dirname ] && rm -rf $dirname + tar -xzf $filename + mkdir -p "${pkg_install_dir}" + cp -r $dirname/* "${pkg_install_dir}/" + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" + fi + LIBRI_CFLAGS="-I'${pkg_install_dir}'" ;; __SYSTEM__) - echo "==================== CANNOT Finding LIBRI from system paths NOW ====================" - recommend_offline_installation $filename $url - # How to do it in libri? -- Zhaoqing in 2023/08/23 - # check_lib -lxcf03 "libxc" - # check_lib -lxc "libxc" - # add_include_from_paths LIBXC_CFLAGS "xc.h" $INCLUDE_PATHS - # add_lib_from_paths LIBXC_LDFLAGS "libxc.*" $LIB_PATHS + echo "==================== Finding LIBRI from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + # Find libri header file and derive package root directory + libri_header_path="$(find_in_paths "RI/version.h" $INCLUDE_PATHS)" + if [ "$libri_header_path" != "__FALSE__" ]; then + # Derive pkg_install_dir from found header path + # RI/version.h -> remove /RI/version.h -> get include dir -> get parent dir + libri_include_dir="$(dirname "$(dirname "$libri_header_path")")" + pkg_install_dir="$(dirname "$libri_include_dir")" + echo "Found libri at: $pkg_install_dir" + LIBRI_CFLAGS="-I'${libri_include_dir}'" + else + report_error "Cannot find RI/version.h in system paths" + exit 1 + fi ;; __DONTUSE__) ;; - + *) - echo "==================== Linking LIBRI to user paths ====================" - check_dir "${pkg_install_dir}" - LIBRI_CFLAGS="-I'${pkg_install_dir}'" - ;; + echo "==================== Linking LIBRI to user paths ====================" + pkg_install_dir="${with_libri}" + check_dir "${pkg_install_dir}" + LIBRI_CFLAGS="-I'${pkg_install_dir}'" + ;; esac if [ "$with_libri" != "__DONTUSE__" ]; then if [ "$with_libri" != "__SYSTEM__" ]; then diff --git a/toolchain/scripts/stage4/install_libtorch.sh b/toolchain/scripts/stage4/install_libtorch.sh index 84fcbe8e10..ed05c17833 100755 --- a/toolchain/scripts/stage4/install_libtorch.sh +++ b/toolchain/scripts/stage4/install_libtorch.sh @@ -9,22 +9,29 @@ [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -# From https://pytorch.org/get-started/locally/ -# libtorch_ver="1.12.1" -# libtorch_sha256="82c7be80860f2aa7963f8700004a40af8205e1d721298f2e09b700e766a9d283" -# libtorch_ver="2.0.1" -# libtorch_sha256="137a842d1cf1e9196b419390133a1623ef92f8f84dc7a072f95ada684f394afd" -libtorch_ver="2.1.2" -libtorch_sha256="904b764df6106a8a35bef64c4b55b8c1590ad9d071eb276e680cf42abafe79e9" - -# user can manually download higher version of libtorch by: -# wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-{libtorch_ver}%2Bcpu.zip -# 2.4.0 latest, 2.1.2 recommended for lower GLIBC support (lower than 3.4.26) - # shellcheck source=/dev/null source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load LibTorch package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "libtorch:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "libtorch:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "libtorch" "$version_suffix" source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env @@ -34,70 +41,71 @@ source "${INSTALLDIR}"/toolchain.env cd "${BUILDDIR}" case "${with_libtorch}" in - __INSTALL__) - echo "==================== Installing libtorch ====================" - dirname="libtorch-${libtorch_ver}" - pkg_install_dir="${INSTALLDIR}/${dirname}" - #pkg_install_dir="${HOME}/lib/libtorch/${libtorch_ver}" - install_lock_file="${pkg_install_dir}/install_successful" - archive_file="libtorch-cxx11-abi-shared-with-deps-${libtorch_ver}%2Bcpu.zip" - filename="${dirname}.zip" - - if verify_checksums "${install_lock_file}"; then - echo "${dirname} is already installed, skipping it." - else - if [ -f ${filename} ]; then - echo "${filename} is found" + __INSTALL__) + echo "==================== Installing libtorch ====================" + dirname="libtorch-${libtorch_ver}" + pkg_install_dir="${INSTALLDIR}/${dirname}" + #pkg_install_dir="${HOME}/lib/libtorch/${libtorch_ver}" + install_lock_file="${pkg_install_dir}/install_successful" + archive_file="libtorch-cxx11-abi-shared-with-deps-${libtorch_ver}%2Bcpu.zip" + filename="${dirname}.zip" + + if verify_checksums "${install_lock_file}"; then + echo "${dirname} is already installed, skipping it." else - # download from pytorch.com and checksum - url=https://download.pytorch.org/libtorch/cpu/${archive_file} - download_pkg_from_url "${libtorch_sha256}" "${filename}" "${url}" + if [ -f ${filename} ]; then + echo "${filename} is found" + else + # download from pytorch.com and checksum + url=https://download.pytorch.org/libtorch/cpu/${archive_file} + download_pkg_from_url "${libtorch_sha256}" "${filename}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + unzip -q $filename + mkdir -p "${pkg_install_dir}" + mv libtorch/* "${pkg_install_dir}/" + + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d libtorch ] && rm -rf libtorch - [ -d ${pkg_install_dir} ] && rm -rf ${pkg_install_dir} - unzip -q $filename # to libtorch - mkdir -p "${pkg_install_dir}" - mv libtorch/* "${pkg_install_dir}/" - - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" - fi - fi - LIBTORCH_CXXFLAGS="-I${pkg_install_dir}/include" - LIBTORCH_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath='${pkg_install_dir}/lib'" - ;; - __SYSTEM__) - echo "==================== Finding libtorch from system paths ====================" - check_lib -ltorch "libtorch" - add_include_from_paths LIBTORCH_CXXFLAGS "libtorch.h" $INCLUDE_PATHS - add_lib_from_paths LIBTORCH_LDFLAGS "libtorch.*" "$LIB_PATHS" - ;; - __DONTUSE__) ;; - - *) - echo "==================== Linking libtorch to user paths ====================" - pkg_install_dir="${with_libtorch}" - - # use the lib64 directory if present (multi-abi distros may link lib/ to lib32/ instead) - LIBTORCH_LIBDIR="${pkg_install_dir}/lib" - [ -d "${pkg_install_dir}/lib64" ] && LIBTORCH_LIBDIR="${pkg_install_dir}/lib64" - - check_dir "${LIBTORCH_LIBDIR}" - LIBTORCH_CXXFLAGS="-I${pkg_install_dir}/include" - if [ "$ENABLE_CUDA" = "__TRUE__" ]; then - LIBTORCH_LDFLAGS="-Wl,--no-as-needed,-L'${LIBTORCH_LIBDIR}' -Wl,--no-as-needed,-rpath='${LIBTORCH_LIBDIR}'" - else - LIBTORCH_LDFLAGS="-L'${LIBTORCH_LIBDIR}' -Wl,-rpath='${LIBTORCH_LIBDIR}'" - fi - ;; + LIBTORCH_CXXFLAGS="-I${pkg_install_dir}/include" + LIBTORCH_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath='${pkg_install_dir}/lib'" + ;; + __SYSTEM__) + echo "==================== Finding libtorch from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + check_lib -ltorch "libtorch" + add_include_from_paths LIBTORCH_CXXFLAGS "libtorch.h" $INCLUDE_PATHS + add_lib_from_paths LIBTORCH_LDFLAGS "libtorch.*" "$LIB_PATHS" + ;; + __DONTUSE__) ;; + + *) + echo "==================== Linking libtorch to user paths ====================" + pkg_install_dir="${with_libtorch}" + + # use the lib64 directory if present (multi-abi distros may link lib/ to lib32/ instead) + LIBTORCH_LIBDIR="${pkg_install_dir}/lib" + [ -d "${pkg_install_dir}/lib64" ] && LIBTORCH_LIBDIR="${pkg_install_dir}/lib64" + + check_dir "${LIBTORCH_LIBDIR}" + LIBTORCH_CXXFLAGS="-I${pkg_install_dir}/include" + if [ "$ENABLE_CUDA" = "__TRUE__" ]; then + LIBTORCH_LDFLAGS="-Wl,--no-as-needed,-L'${LIBTORCH_LIBDIR}' -Wl,--no-as-needed,-rpath='${LIBTORCH_LIBDIR}'" + LIBTORCH_LDFLAGS="-L'${LIBTORCH_LIBDIR}' -Wl,-rpath='${LIBTORCH_LIBDIR}'" + fi + ;; esac if [ "$with_libtorch" != "__DONTUSE__" ]; then - if [ "$with_libtorch" != "__SYSTEM__" ]; then - cat << EOF > "${BUILDDIR}/setup_libtorch" + if [ "$with_libtorch" != "__SYSTEM__" ]; then + cat << EOF > "${BUILDDIR}/setup_libtorch" prepend_path LD_LIBRARY_PATH "${pkg_install_dir}/lib" prepend_path LD_RUN_PATH "${pkg_install_dir}/lib" prepend_path LIBRARY_PATH "${pkg_install_dir}/lib" @@ -110,24 +118,23 @@ export CPATH="${pkg_install_dir}/include":\${CPATH} export PKG_CONFIG_PATH="${pkg_install_dir}/lib/pkgconfig":\${PKG_CONFIG_PATH} export CMAKE_PREFIX_PATH="${pkg_install_dir}":\${CMAKE_PREFIX_PATH} EOF - fi - if [ "$ENABLE_CUDA" = "__TRUE__" ]; then - cat << EOF >> "${BUILDDIR}/setup_libtorch" + fi + if [ "$ENABLE_CUDA" = "__TRUE__" ]; then + cat << EOF >> "${BUILDDIR}/setup_libtorch" export CP_DFLAGS="\${CP_DFLAGS} -D__LIBTORCH" export CXXFLAGS="\${CXXFLAGS} ${LIBTORCH_CXXFLAGS}" export CP_LDFLAGS="\${CP_LDFLAGS} ${LIBTORCH_LDFLAGS}" export CP_LIBS="\${CP_LIBS} -lc10 -lc10_cuda -ltorch_cpu -ltorch_cuda -ltorch" EOF - cat "${BUILDDIR}/setup_libtorch" >> "${SETUPFILE}" - else - cat << EOF >> "${BUILDDIR}/setup_libtorch" + cat "${BUILDDIR}/setup_libtorch" >> "${SETUPFILE}" + cat << EOF >> "${BUILDDIR}/setup_libtorch" export CP_DFLAGS="\${CP_DFLAGS} -D__LIBTORCH" export CXXFLAGS="\${CXXFLAGS} ${LIBTORCH_CXXFLAGS}" export CP_LDFLAGS="\${CP_LDFLAGS} ${LIBTORCH_LDFLAGS}" export CP_LIBS="\${CP_LIBS} -lc10 -ltorch_cpu -ltorch" EOF - cat "${BUILDDIR}/setup_libtorch" >> "${SETUPFILE}" - fi + cat "${BUILDDIR}/setup_libtorch" >> "${SETUPFILE}" + fi fi load "${BUILDDIR}/setup_libtorch" diff --git a/toolchain/scripts/stage4/install_nep.sh b/toolchain/scripts/stage4/install_nep.sh new file mode 100755 index 0000000000..a7dac17a18 --- /dev/null +++ b/toolchain/scripts/stage4/install_nep.sh @@ -0,0 +1,157 @@ +#!/bin/bash -e + +# TODO: Review and if possible fix shellcheck errors. +# shellcheck disable=all + +# contributor: MoseyQAQ (Denan Li) + +[ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 +SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" + +# Load version information from centralized package_versions.sh +source "${SCRIPT_DIR}/package_versions.sh" +load_package_vars "nep" +source "${SCRIPT_DIR}"/common_vars.sh +source "${SCRIPT_DIR}"/tool_kit.sh +source "${SCRIPT_DIR}"/signal_trap.sh +source "${INSTALLDIR}"/toolchain.conf +source "${INSTALLDIR}"/toolchain.env + +[ -f "${BUILDDIR}/setup_nep" ] && rm "${BUILDDIR}/setup_nep" + +NEP_CFLAGS="" +NEP_LDFLAGS="" +NEP_LIBS="" +! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" +cd "${BUILDDIR}" + +case "$with_nep" in + __INSTALL__) + echo "==================== Installing NEP (CPU version) ====================" + dirname="NEP_CPU-${nep_ver}" + pkg_install_dir="${INSTALLDIR}/${dirname}" + install_lock_file="$pkg_install_dir/install_successful" + filename="nep-${nep_ver}.tar.gz" + url="https://codeload.github.com/brucefan1983/NEP_CPU/tar.gz/${nep_ver}" + + if verify_checksums "${install_lock_file}"; then + echo "$dirname is already installed, skipping it." + else + if [ -f $filename ]; then + echo "$filename is found" + else + echo "===> Notice: This version of NEP_CPU is downloaded from the GitHub master repository <===" + download_pkg_from_url "${nep_sha256}" "${filename}" "${url}" + fi + + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d $dirname ] && rm -rf $dirname + tar -xzf $filename + cd $dirname + + cat << EOF > Makefile +CXX ?= g++ + +# Compiler flags +CXXFLAGS = -O2 -fPIC -std=c++11 + +# Include directories +INCLUDES = -I./src + +# Source files +SRCS = ./src/nep.cpp ./src/ewald_nep.cpp ./src/neighbor_nep.cpp + +# Object files +OBJS = \$(SRCS:.cpp=.o) + +# Target shared library +TARGET = libnep.so + +# Default target +all: \$(TARGET) + +# Rule to build the shared library +\$(TARGET): \$(OBJS) + \$(CXX) -shared \$(OBJS) -o \$(TARGET) + +# Rule to compile source files into object files +%.o: %.cpp + \$(CXX) \$(CXXFLAGS) \$(INCLUDES) -c \$< -o \$@ + +# Clean up build files +clean: + rm -f \$(OBJS) \$(TARGET) + +# Install target +install: + mkdir -p \$(PREFIX)/lib + mkdir -p \$(PREFIX)/include + cp \$(TARGET) \$(PREFIX)/lib/ + cp src/*.h \$(PREFIX)/include/ +EOF + + make > make.log 2>&1 || tail -n ${LOG_LINES} make.log + make PREFIX="${pkg_install_dir}" install > install.log 2>&1 || tail -n ${LOG_LINES} install.log + + cd .. + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" + fi + NEP_CFLAGS="-I'${pkg_install_dir}/include'" + NEP_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; + + __SYSTEM__) + echo "==================== Finding NEP_CPU from system paths ====================" + check_lib -lnep "nep" + add_include_from_paths NEP_CFLAGS "nep.h" $INCLUDE_PATHS + add_lib_from_paths NEP_LDFLAGS "libnep.*" $LIB_PATHS + ;; + __DONTUSE__) ;; + *) + echo "==================== Linking NEP_CPU to user paths ====================" + pkg_install_dir="$with_nep" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + NEP_CFLAGS="-I'${pkg_install_dir}/include'" + NEP_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; +esac + +if [ "$with_nep" != "__DONTUSE__" ]; then + NEP_LIBS="-lnep" + if [ "$with_nep" != "__SYSTEM__" ]; then + cat << EOF > "${BUILDDIR}/setup_nep" +prepend_path LD_LIBRARY_PATH "$pkg_install_dir/lib" +prepend_path LD_RUN_PATH "$pkg_install_dir/lib" +prepend_path LIBRARY_PATH "$pkg_install_dir/lib" +prepend_path CPATH "$pkg_install_dir/include" +prepend_path CMAKE_PREFIX_PATH "$pkg_install_dir" +export LD_LIBRARY_PATH="$pkg_install_dir/lib":\${LD_LIBRARY_PATH} +export LD_RUN_PATH="$pkg_install_dir/lib":\${LD_RUN_PATH} +export LIBRARY_PATH="$pkg_install_dir/lib":\${LIBRARY_PATH} +export CPATH="$pkg_install_dir/include":\${CPATH} +export CMAKE_PREFIX_PATH="$pkg_install_dir":\${CMAKE_PREFIX_PATH} +EOF + cat "${BUILDDIR}/setup_nep" >> $SETUPFILE + fi + cat << EOF >> "${BUILDDIR}/setup_nep" +export NEP_CFLAGS="${NEP_CFLAGS}" +export NEP_LDFLAGS="${NEP_LDFLAGS}" +export NEP_LIBS="${NEP_LIBS}" +export CP_DFLAGS="\${CP_DFLAGS} -D__NEP" +export CP_CFLAGS="\${CP_CFLAGS} \${NEP_CFLAGS}" +export CP_LDFLAGS="\${CP_LDFLAGS} \${NEP_LDFLAGS}" +export CP_LIBS="\${NEP_LIBS} \${CP_LIBS}" +export NEP_ROOT="$pkg_install_dir" +EOF +fi + +load "${BUILDDIR}/setup_nep" +write_toolchain_env "${INSTALLDIR}" + +cd "${ROOTDIR}" +report_timing "nep" diff --git a/toolchain/scripts/stage4/install_rapidjson.sh b/toolchain/scripts/stage4/install_rapidjson.sh index 27fb94edd3..da6727ac40 100755 --- a/toolchain/scripts/stage4/install_rapidjson.sh +++ b/toolchain/scripts/stage4/install_rapidjson.sh @@ -2,20 +2,36 @@ # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all -# RAPIDJSON is not need any complex setting +# RapidJSON is not need any complex setting # Only problem is the installation from github.com -# Last Update in 2025-0504 # other contributor: Kai Luo, XingLiang Peng [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -rapidjson_ver="master" # latest version, instead of "1.1.0" fixing issue of #5518 -rapidjson_sha256="--no-checksum" # latest version cannot maintain checksum source "${SCRIPT_DIR}"/common_vars.sh source "${SCRIPT_DIR}"/tool_kit.sh source "${SCRIPT_DIR}"/signal_trap.sh +source "${SCRIPT_DIR}"/package_versions.sh + +# Load RapidJSON package variables with version suffix support +# Check for version configuration from environment or individual package setting +version_suffix="" +if [[ -n "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" ]]; then + # Check for individual package version override + if echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "rapidjson:alt"; then + version_suffix="alt" + elif echo "${ABACUS_TOOLCHAIN_PACKAGE_VERSIONS}" | grep -q "rapidjson:main"; then + version_suffix="main" + fi +fi +# Fall back to global version suffix if no individual setting +if [[ -z "$version_suffix" && -n "${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" ]]; then + version_suffix="${ABACUS_TOOLCHAIN_VERSION_SUFFIX}" +fi +# Load package variables with appropriate version +load_package_vars "rapidjson" "$version_suffix" source "${INSTALLDIR}"/toolchain.conf source "${INSTALLDIR}"/toolchain.env @@ -26,77 +42,100 @@ RAPIDJSON_CFLAGS="" cd "${BUILDDIR}" case "$with_rapidjson" in - __INSTALL__) - echo "==================== Installing RAPIDJSON ====================" - dirname="rapidjson-${rapidjson_ver}" - pkg_install_dir="${INSTALLDIR}/$dirname" - #pkg_install_dir="${HOME}/lib/rapidjson/${rapidjson_ver}" - install_lock_file="$pkg_install_dir/install_successful" - #url="https://github.com/Tencent/rapidjson/archive/refs/tags/v${rapidjson_ver}.tar.gz" # commented by Kai Luo in 2025/04/28 - url="https://codeload.github.com/Tencent/rapidjson/tar.gz/${rapidjson_ver}" - # changed by Kai Luo in 2025/04/28, modified by Zhaoqing Liu in 2025/05/01 - filename="rapidjson-${rapidjson_ver}.tar.gz" - if verify_checksums "${install_lock_file}"; then - echo "$dirname is already installed, skipping it." - else - if [ -f $filename ]; then - echo "$filename is found" + __INSTALL__) + echo "==================== Installing RapidJSON ====================" + dirname="rapidjson-${rapidjson_ver}" + pkg_install_dir="${INSTALLDIR}/$dirname" + #pkg_install_dir="${HOME}/lib/rapidjson/${rapidjson_ver}" + install_lock_file="$pkg_install_dir/install_successful" + # url construction rules: + # - Branch names (master, main, develop) without v prefix + # - Version tags (e.g., 1.0.0) with v prefix + if [[ "${rapidjson_ver}" =~ ^(master|main|develop)$ ]]; then + url="https://codeload.github.com/Tencent/rapidjson/tar.gz/${rapidjson_ver}" else - # download from github.com and checksum - echo "===> Notice: This version of rapidjson is downloaded in GitHub master repository <===" - download_pkg_from_url "${rapidjson_sha256}" "${filename}" "${url}" - # wget "${url}" -O "${filename}" --no-check-certificate # use wget directly instead of download_pkg_from_url + url="https://codeload.github.com/Tencent/rapidjson/tar.gz/v${rapidjson_ver}" fi - if [ "${PACK_RUN}" = "__TRUE__" ]; then - echo "--pack-run mode specified, skip installation" - else - echo "Installing from scratch into ${pkg_install_dir}" - [ -d $dirname ] && rm -rf $dirname - #unzip -q $filename # use -q to suppress output - tar -xzf $filename - mkdir -p "${pkg_install_dir}" - cp -r $dirname/* "${pkg_install_dir}/" - # for CMake to find rapidjson - #cp ${pkg_install_dir}/RapidJSONConfig.cmake.in ${pkg_install_dir}/RapidJSONConfig.cmake - cat << EOF > "${pkg_install_dir}/RapidJSONConfig.cmake" + filename="rapidjson-${rapidjson_ver}.tar.gz" + if verify_checksums "${install_lock_file}"; then + echo "$dirname is already installed, skipping it." + else + if [ -f $filename ]; then + echo "$filename is found" + else + # download from github.com and checksum + echo "===> Notice: This version of RapidJSON is downloaded in GitHub master repository <===" + download_pkg_from_url "${rapidjson_sha256}" "${filename}" "${url}" + fi + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip installation" + exit 0 + fi + echo "Installing from scratch into ${pkg_install_dir}" + [ -d $dirname ] && rm -rf $dirname + tar -xzf $filename + #unzip -q $filename + mkdir -p "${pkg_install_dir}" + cp -r $dirname/* "${pkg_install_dir}/" + # for rapidjson found in cmake + cat << EOF > "${pkg_install_dir}/RapidJSONConfig.cmake" get_filename_component(RAPIDJSON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) set(RAPIDJSON_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@") message(STATUS "RapidJSON found. Headers: ${RAPIDJSON_INCLUDE_DIRS}") EOF - write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" - fi - fi - RAPIDJSON_CFLAGS="-I'${pkg_install_dir}'" + write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" + fi + RAPIDJSON_CFLAGS="-I'${pkg_install_dir}/include'" ;; __SYSTEM__) - echo "==================== CANNOT Finding RAPIDJSON from system paths NOW ====================" - recommend_offline_installation $filename $url - # How to do it in rapidjson? -- Zhaoqing in 2023/08/23 - # check_lib -lxcf03 "libxc" - # check_lib -lxc "libxc" - # add_include_from_paths LIBXC_CFLAGS "xc.h" $INCLUDE_PATHS - # add_lib_from_paths LIBXC_LDFLAGS "libxc.*" $LIB_PATHS + echo "==================== Finding RapidJSON from system paths ====================" + if [ "${PACK_RUN}" = "__TRUE__" ]; then + echo "--pack-run mode specified, skip system check" + exit 0 + fi + # Find rapidjson header file and derive package root directory + rapidjson_header_path="$(find_in_paths "rapidjson/rapidjson.h" $INCLUDE_PATHS)" + if [ "$rapidjson_header_path" != "__FALSE__" ]; then + # Derive pkg_install_dir from found header path + # rapidjson/rapidjson.h -> remove /rapidjson/rapidjson.h -> get include dir -> get parent dir + rapidjson_include_dir="$(dirname "$(dirname "$rapidjson_header_path")")" + pkg_install_dir="$(dirname "$rapidjson_include_dir")" + echo "Found rapidjson at: $pkg_install_dir" + RAPIDJSON_CFLAGS="-I'${rapidjson_include_dir}'" + else + report_error "Cannot find rapidjson/rapidjson.h in system paths" + exit 1 + fi ;; __DONTUSE__) ;; - + *) - echo "==================== Linking RAPIDJSON to user paths ====================" - check_dir "${pkg_install_dir}" - RAPIDJSON_CFLAGS="-I'${pkg_install_dir}'" - ;; + echo "==================== Linking RapidJSON to user paths ====================" + pkg_install_dir="${with_rapidjson}" + check_dir "${pkg_install_dir}" + RAPIDJSON_CFLAGS="-I'${pkg_install_dir}/include'" + ;; esac if [ "$with_rapidjson" != "__DONTUSE__" ]; then if [ "$with_rapidjson" != "__SYSTEM__" ]; then - # LibRI deps should find rapidjson include in CPATH cat << EOF > "${BUILDDIR}/setup_rapidjson" prepend_path CPATH "$pkg_install_dir/include" -export CPATH="${pkg_install_dir}/include":\${CPATH} +prepend_path CMAKE_PREFIX_PATH "$pkg_install_dir" +export CPATH="$pkg_install_dir/include":\${CPATH} +export CMAKE_PREFIX_PATH="$pkg_install_dir":\${CMAKE_PREFIX_PATH} +export RAPIDJSON_ROOT="$pkg_install_dir" +EOF + else + cat << EOF > "${BUILDDIR}/setup_rapidjson" +export RAPIDJSON_ROOT="$pkg_install_dir" EOF - cat "${BUILDDIR}/setup_rapidjson" >> $SETUPFILE fi + cat "${BUILDDIR}/setup_rapidjson" >> $SETUPFILE cat << EOF >> "${BUILDDIR}/setup_rapidjson" export RAPIDJSON_CFLAGS="${RAPIDJSON_CFLAGS}" -export RAPIDJSON_ROOT="$pkg_install_dir" +export CP_DFLAGS="\${CP_DFLAGS} -D__RAPIDJSON" +export CP_CFLAGS="\${CP_CFLAGS} ${RAPIDJSON_CFLAGS}" +export RAPIDJSON_VERSION="${rapidjson_ver}" EOF fi diff --git a/toolchain/scripts/stage4/install_stage4.sh b/toolchain/scripts/stage4/install_stage4.sh index b5c7cf5eed..d2e3fa482a 100755 --- a/toolchain/scripts/stage4/install_stage4.sh +++ b/toolchain/scripts/stage4/install_stage4.sh @@ -9,5 +9,6 @@ ./scripts/stage4/install_libnpy.sh ./scripts/stage4/install_libri.sh ./scripts/stage4/install_libcomm.sh +./scripts/stage4/install_nep.sh # EOF diff --git a/toolchain/scripts/tool_kit.sh b/toolchain/scripts/tool_kit.sh index c7fa483ffa..8c288ec272 100755 --- a/toolchain/scripts/tool_kit.sh +++ b/toolchain/scripts/tool_kit.sh @@ -1,23 +1,52 @@ +# ABACUS Toolchain Utility Functions # A set of tools used in the toolchain installer, intended to be used +# by sourcing this file inside other scripts. +# Enhanced with modular architecture support +# Author: ABACUS Development Team +# Date: 2025-01-12 # TODO: Review and if possible fix shellcheck errors. # shellcheck disable=all # shellcheck shell=bash -# by sourcing this file inside other scripts. - SYS_INCLUDE_PATH=${SYS_INCLUDE_PATH:-"/usr/local/include:/usr/include"} SYS_LIB_PATH=${SYS_LIB_PATH:-"/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib"} INCLUDE_PATHS=${INCLUDE_PATHS:-"CPATH SYS_INCLUDE_PATH"} LIB_PATHS=${LIB_PATHS:-"LIBRARY_PATH LD_LIBRARY_PATH LD_RUN_PATH SYS_LIB_PATH"} time_start=$(date +%s) +# ============================================================================ +# Timing and Reporting Functions +# ============================================================================ + # report timing report_timing() { time_stop=$(date +%s) printf "Step %s took %0.2f seconds.\n" $1 $((time_stop - time_start)) } +# Enhanced timing function with better formatting +report_timing_enhanced() { + local step_name="$1" + local start_time="$2" + local end_time="${3:-$(date +%s)}" + local duration=$((end_time - start_time)) + + if [[ $duration -gt 3600 ]]; then + printf "Step '%s' completed in %d hours, %d minutes, %d seconds.\n" \ + "$step_name" $((duration / 3600)) $(((duration % 3600) / 60)) $((duration % 60)) + elif [[ $duration -gt 60 ]]; then + printf "Step '%s' completed in %d minutes, %d seconds.\n" \ + "$step_name" $((duration / 60)) $((duration % 60)) + else + printf "Step '%s' completed in %d seconds.\n" "$step_name" $duration + fi +} + +# ============================================================================ +# Error and Warning Reporting Functions +# ============================================================================ + # report a warning message with script name and line number report_warning() { if [ $# -gt 1 ]; then @@ -42,8 +71,46 @@ report_error() { echo "ERROR: (${SCRIPT_NAME}${__lineno}) $__message" >&2 } +# Enhanced error reporting with context +report_error_enhanced() { + local error_code="$1" + local error_message="$2" + local context="${3:-}" + local lineno="${4:-}" + + local location="" + if [[ -n "$lineno" ]]; then + location=", line $lineno" + fi + + echo "ERROR [$error_code]: (${SCRIPT_NAME}${location}) $error_message" >&2 + if [[ -n "$context" ]]; then + echo "Context: $context" >&2 + fi + + return $error_code +} + +# Enhanced warning reporting with severity levels +report_warning_enhanced() { + local severity="${1:-INFO}" # INFO, WARNING, CRITICAL + local message="$2" + local context="${3:-}" + local lineno="${4:-}" + + local location="" + if [[ -n "$lineno" ]]; then + location=", line $lineno" + fi + + echo "$severity: (${SCRIPT_NAME}${location}) $message" >&2 + if [[ -n "$context" ]]; then + echo "Context: $context" >&2 + fi +} + # recommend users to use offline installation when download failed -# zhaoqing in 2023.09.15 +# zhaoqing in 2025.10.15 recommend_offline_installation(){ __filename=$1 __url=$2 @@ -54,11 +121,13 @@ By download $__filename from $__url, Rename it as $__filename and put it into ${BUILDDIR}, And re-run toolchain installation script. +Also. the --pack-run option can help in OFFLINE installation. + You can manually install requirements packages via: +0. Download by 'wget $__url -O $__filename' manually 1. Download from www.cp2k.org/static/downloads (for OpenBLAS, OpenMPI and Others) -2. Download from github.com (for CEREAL, RapidJSON, libnpy, LibRI and others stage4 packages) -3. wget https://bohrium-api.dp.tech/ds-dl/abacus-deps-93wi-v2 -O abacus-deps.zip (a mirror in Bohrium) -4. for Intel-oneAPI and AMD AOCC/AOCL, please contact your server manager our visit Intel official website +2. Download from github.com (especially for CEREAL, RapidJSON, libnpy, LibRI and other stage4 packages) +3. for Intel-oneAPI and AMD AOCC/AOCL, please contact your server manager or visit their official website EOF } @@ -332,6 +401,10 @@ add_lib_from_paths() { fi } +# ============================================================================ +# Environment and System Validation Functions +# ============================================================================ + # check if environment variable is assigned and non-empty # https://serverfault.com/questions/7503/how-to-determine-if-a-bash-variable-is-empty require_env() { @@ -343,6 +416,51 @@ require_env() { fi } +# Enhanced environment variable validation +validate_env_vars() { + local required_vars=("$@") + local missing_vars=() + + for var in "${required_vars[@]}"; do + if [[ -z "${!var:-}" ]]; then + missing_vars+=("$var") + fi + done + + if [[ ${#missing_vars[@]} -gt 0 ]]; then + report_error_enhanced 1 "Missing required environment variables" "$(printf '%s ' "${missing_vars[@]}")" + return 1 + fi + + return 0 +} + +# Check system requirements +check_system_requirements() { + local min_disk_space_gb="${1:-10}" # Default 10GB + local required_commands=("${@:2}") + + # Check disk space + local available_space=$(df . | awk 'NR==2 {print int($4/1024/1024)}') + if [[ $available_space -lt $min_disk_space_gb ]]; then + report_warning_enhanced "WARNING" "Low disk space: ${available_space}GB available, ${min_disk_space_gb}GB recommended" + fi + + # Check required commands + for cmd in "${required_commands[@]}"; do + if ! command -v "$cmd" >/dev/null 2>&1; then + report_error_enhanced 1 "Required command not found: $cmd" + return 1 + fi + done + + return 0 +} + +# ============================================================================ +# String and Configuration Processing Functions +# ============================================================================ + resolve_string() { local __to_resolve=$1 shift @@ -351,6 +469,39 @@ resolve_string() { echo $("${SCRIPTDIR}/parse_if.py" $__flags <<< "${__to_resolve}") } +# Enhanced string processing with validation +resolve_string_safe() { + local __to_resolve="$1" + shift + local __flags=("$@") + + if [[ -z "$__to_resolve" ]]; then + report_error_enhanced 1 "Empty string provided for resolution" + return 1 + fi + + if [[ ! -f "${SCRIPTDIR}/parse_if.py" ]]; then + report_error_enhanced 1 "Parser script not found" "${SCRIPTDIR}/parse_if.py" + return 1 + fi + + local result + result=$("${SCRIPTDIR}/parse_if.py" "${__flags[@]}" <<< "${__to_resolve}" 2>/dev/null) + local exit_code=$? + + if [[ $exit_code -ne 0 ]]; then + report_error_enhanced $exit_code "String resolution failed" "$__to_resolve" + return $exit_code + fi + + echo "$result" + return 0 +} + +# ============================================================================ +# Command and Package Validation Functions +# ============================================================================ + # check if a command is available check_command() { local __command=${1} @@ -367,6 +518,51 @@ check_command() { fi } +# Enhanced command checking with version validation +check_command_version() { + local command_name="$1" + local min_version="$2" + local package_name="${3:-$command_name}" + + if ! command -v "$command_name" >/dev/null 2>&1; then + report_error_enhanced 1 "Command not found: $command_name" "Package: $package_name" + return 1 + fi + + local command_path + command_path=$(command -v "$command_name") + echo "Found $command_name at: $(realpath "$command_path")" + + if [[ -n "$min_version" ]]; then + # This is a placeholder for version checking logic + # Different commands have different version output formats + echo "Version check for $command_name (minimum: $min_version) - implement as needed" + fi + + return 0 +} + +# Batch command checking +check_commands_batch() { + local commands=("$@") + local failed_commands=() + + for cmd in "${commands[@]}"; do + if ! command -v "$cmd" >/dev/null 2>&1; then + failed_commands+=("$cmd") + else + echo "✓ Found: $cmd at $(command -v "$cmd")" + fi + done + + if [[ ${#failed_commands[@]} -gt 0 ]]; then + report_error_enhanced 1 "Missing commands" "$(printf '%s ' "${failed_commands[@]}")" + return 1 + fi + + return 0 +} + # check if directory exists # add more error msg by QuantumMisaka in 2025.03.19 check_dir() { @@ -576,6 +772,10 @@ append_path() { eval export $1 } +# ============================================================================ +# Configuration Parsing Functions +# ============================================================================ + # helper routine for reading --enable=* input options read_enable() { local __input_var="${1#*=}" @@ -623,6 +823,44 @@ read_with() { esac } +# Enhanced configuration parsing with validation +parse_config_option() { + local option="$1" + local default_value="${2:-}" + local valid_values="${3:-}" # Space-separated list of valid values + + local parsed_value + if [[ "$option" =~ ^--enable ]]; then + parsed_value=$(read_enable "$option") + elif [[ "$option" =~ ^--with ]]; then + parsed_value=$(read_with "$option" "$default_value") + else + parsed_value="$option" + fi + + # Validate against allowed values if provided + if [[ -n "$valid_values" && "$parsed_value" != "__INVALID__" ]]; then + local is_valid=false + for valid in $valid_values; do + if [[ "$parsed_value" == "$valid" ]]; then + is_valid=true + break + fi + done + + if [[ "$is_valid" == false ]]; then + report_warning_enhanced "WARNING" "Invalid configuration value: $parsed_value" "Valid options: $valid_values" + parsed_value="__INVALID__" + fi + fi + + echo "$parsed_value" +} + +# ============================================================================ +# File Download and Integrity Functions +# ============================================================================ + # helper routine to check integrity of downloaded files checksum() { local __filename=$1 @@ -641,9 +879,54 @@ checksum() { fi } +# Enhanced checksum verification with multiple hash algorithms +verify_file_integrity() { + local filename="$1" + local expected_hash="$2" + local hash_type="${3:-sha256}" # Default to SHA256 + + if [[ ! -f "$filename" ]]; then + report_error_enhanced 1 "File not found for integrity check" "$filename" + return 1 + fi + + local hash_command + case "$hash_type" in + sha256) + hash_command="sha256sum" + command -v "$hash_command" >/dev/null 2>&1 || hash_command="shasum -a 256" + ;; + sha1) + hash_command="sha1sum" + command -v "$hash_command" >/dev/null 2>&1 || hash_command="shasum -a 1" + ;; + md5) + hash_command="md5sum" + command -v "$hash_command" >/dev/null 2>&1 || hash_command="md5" + ;; + *) + report_error_enhanced 1 "Unsupported hash type" "$hash_type" + return 1 + ;; + esac + + local computed_hash + computed_hash=$($hash_command "$filename" | cut -d' ' -f1) + + if [[ "$computed_hash" == "$expected_hash" ]]; then + echo "✓ Integrity check passed for $filename ($hash_type)" + return 0 + else + report_error_enhanced 1 "Integrity check failed for $filename" "Expected: $expected_hash, Got: $computed_hash" + return 1 + fi +} + # downloader for the package tars, includes checksum -download_pkg_from_ABACUS_org() { - # usage: download_pkg_from_ABACUS_org sha256 filename +# backup and deprecated +download_pkg_from_org() { + # usage: download_pkg_from_org sha256 filename + echo "use cp2k mirror to download $__filename" local __sha256="$1" local __filename="$2" local __url="https://www.cp2k.org/static/downloads/$__filename" @@ -667,18 +950,53 @@ download_pkg_from_url() { local __sha256="$1" # if set to "--no-checksum", do not check checksum local __filename="$2" local __url="$3" - # download - #echo "wget ${DOWNLOADER_FLAGS} --quiet $__url -O $__filename" - #if ! wget ${DOWNLOADER_FLAGS} --quiet $__url -O $__filename; then - echo "wget ${DOWNLOADER_FLAGS} $__url -O $__filename --no-check-certificate" - if ! wget ${DOWNLOADER_FLAGS} $__url -O $__filename --no-check-certificate; then - report_error "failed to download $__url" - recommend_offline_installation $__filename $__url - if [ "${PACK_RUN}" != "__TRUE__" ]; then - return 1 - fi - fi - # checksum + + # Smart certificate validation strategy + case "${DOWNLOAD_CERT_POLICY:-smart}" in + "strict") + echo "Downloading with strict certificate validation: $__url" + if ! wget ${DOWNLOADER_FLAGS} "$__url" -O "$__filename"; then + rm -f "$__filename" + report_error "failed to download $__url (strict certificate validation)" + recommend_offline_installation "$__filename" "$__url" + if [ "${PACK_RUN}" != "__TRUE__" ]; then + return 1 + fi + fi + ;; + "skip") + echo "Downloading with certificate validation disabled: $__url" + if ! wget ${DOWNLOADER_FLAGS} "$__url" -O "$__filename" --no-check-certificate; then + rm -f "$__filename" + report_error "failed to download $__url" + recommend_offline_installation "$__filename" "$__url" + if [ "${PACK_RUN}" != "__TRUE__" ]; then + return 1 + fi + fi + ;; + "smart"|*) + # Smart fallback: try with certificate validation first, then without + echo "Attempting secure download: $__url" + if wget ${DOWNLOADER_FLAGS} "$__url" -O "$__filename"; then + echo "Download successful with certificate validation" + else + echo "Certificate validation failed, retrying without certificate check..." + if ! wget ${DOWNLOADER_FLAGS} "$__url" -O "$__filename" --no-check-certificate; then + rm -f "$__filename" + report_error "failed to download $__url (both secure and insecure attempts failed)" + recommend_offline_installation "$__filename" "$__url" + if [ "${PACK_RUN}" != "__TRUE__" ]; then + return 1 + fi + else + echo "Download successful without certificate validation" + fi + fi + ;; + esac + + # checksum validation (unchanged) if [ "$__sha256" != "--no-checksum" ]; then checksum "$__filename" "$__sha256" fi diff --git a/toolchain/toolchain_aocc-aocl.sh b/toolchain/toolchain_aocc-aocl.sh index ca3e2e4759..edfe1f20ae 100755 --- a/toolchain/toolchain_aocc-aocl.sh +++ b/toolchain/toolchain_aocc-aocl.sh @@ -5,33 +5,115 @@ #SBATCH -o compile.log #SBATCH -e compile.err -# JamesMisaka in 2025-05-05 -# install abacus dependency by aocc-aocl toolchain -# openmpi is recommended to use -# libtorch and libnpy are for deepks support, which can be =no -# if you want to run EXX calculation, you should set --with-libri=install -# gpu-lcao supporting modify: CUDA_PATH and --enable-cuda -# export CUDA_PATH=/usr/local/cuda - -./install_abacus_toolchain.sh \ ---with-amd=system \ ---math-mode=aocl \ ---with-intel=no \ ---with-gcc=no \ ---with-openmpi=install \ ---with-cmake=install \ ---with-scalapack=system \ ---with-libxc=install \ ---with-fftw=system \ ---with-elpa=install \ ---with-cereal=install \ ---with-rapidjson=install \ ---with-libtorch=no \ ---with-libnpy=no \ ---with-libri=no \ ---with-libcomm=no \ ---with-4th-openmpi=no \ ---with-flang=no \ -| tee compile.log -# to use openmpi-version4: set --with-4th-openmpi=yes -# flang is not recommended to use in this stage \ No newline at end of file +# Users can easily modify these parameters to customize the build +# Before running this script, ensure you have loaded your system packages + +# Compiler Configuration +TOOLCHAIN_COMPILER="aocc-aocl" +WITH_AMD="system" +WITH_INTEL="no" +WITH_GCC="no" + +# Math Libraries (AMD AOCL recommended) +MATH_MODE="aocl" +WITH_AOCL="system" + +# MPI Implementation (OpenMPI recommended) +MPI_MODE="openmpi" +WITH_OPENMPI="install" +WITH_MPICH="no" +WITH_4TH_OPENMPI="no" # Set to "yes" for OpenMPI v4, deprecated + +# Core Dependencies +WITH_CMAKE="install" +WITH_SCALAPACK="system" # AOCL provides ScaLAPACK +WITH_FFTW="system" # AOCL provides FFTW +WITH_LIBXC="install" +WITH_ELPA="install" + +# Utility Libraries +WITH_CEREAL="install" +WITH_RAPIDJSON="install" + +# Advanced Features (EXX calculations) +WITH_LIBRI="install" +WITH_LIBCOMM="install" + +# Optional Features (MLALGO support) +WITH_LIBTORCH="no" +WITH_LIBNPY="no" +WITH_NEP="no" + +# AMD Compiler Options +WITH_FLANG="no" # Flang is not recommended in current stage + +# ELPA-GPU Support (uncomment and modify as needed) +# ENABLE_CUDA="yes" +# GPU_VERSION="75" # Check your GPU compute capability +# export CUDA_PATH="/usr/local/cuda" + +# ============================================================================ +# Execution Mode Control +# ============================================================================ +# Dry-run mode: Show what would be done without actually executing +DRY_RUN_MODE="no" # Set to "yes" to enable dry-run mode + +# Pack-run mode: Only check and install required packages +PACK_RUN_MODE="no" # Set to "yes" to enable pack-run mode + +# ============================================================================ +# Package Version Selection (main/alt versions) +# ============================================================================ +# Choose between main (latest stable) and alt (alternative/legacy) versions +# Refer to scripts/package_versions.sh for specific version numbers + +CMAKE_VERSION="main" # main=3.31.7, alt=3.30.5 +OPENMPI_VERSION="main" # main=5.0.8, alt=4.1.6 +ELPA_VERSION="main" # main=2025.06.001, alt=2024.05.001 +LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 +# Optional Libraries +LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: main(2.1.2) version of LibTorch need glibc > 2.27 +# Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA + +# Note: AOCC-AOCL toolchain uses AOCL for math libraries (FFTW, ScaLAPACK) +# so OpenBLAS and ScaLAPACK version selections are not applicable + +# ============================================================================ +# Execute Installation (DO NOT MODIFY BELOW THIS LINE) +# ============================================================================ + +# Call the main installation script with configured parameters +exec ./install_abacus_toolchain_new.sh \ + --with-amd="$WITH_AMD" \ + --with-gcc="$WITH_GCC" \ + --math-mode="$MATH_MODE" \ + --mpi-mode="$MPI_MODE" \ + --with-aocl="$WITH_AOCL" \ + --with-openmpi="$WITH_OPENMPI" \ + --with-mpich="$WITH_MPICH" \ + --with-cmake="$WITH_CMAKE" \ + --with-scalapack="$WITH_SCALAPACK" \ + --with-libxc="$WITH_LIBXC" \ + --with-fftw="$WITH_FFTW" \ + --with-elpa="$WITH_ELPA" \ + --with-cereal="$WITH_CEREAL" \ + --with-rapidjson="$WITH_RAPIDJSON" \ + --with-libtorch="$WITH_LIBTORCH" \ + --with-nep="$WITH_NEP" \ + --with-libnpy="$WITH_LIBNPY" \ + --with-libri="$WITH_LIBRI" \ + --with-libcomm="$WITH_LIBCOMM" \ + --with-flang="$WITH_FLANG" \ + --with-4th-openmpi="$WITH_4TH_OPENMPI" \ + --package-version cmake:"$CMAKE_VERSION" \ + --package-version openmpi:"$OPENMPI_VERSION" \ + --package-version elpa:"$ELPA_VERSION" \ + --package-version libxc:"$LIBXC_VERSION" \ + --package-version libtorch:"$LIBTORCH_VERSION" \ + ${DRY_RUN_MODE:+$([ "$DRY_RUN_MODE" = "yes" ] && echo "--dry-run")} \ + ${PACK_RUN_MODE:+$([ "$PACK_RUN_MODE" = "yes" ] && echo "--pack-run")} \ + ${ENABLE_CUDA:+--enable-cuda} \ + ${GPU_VERSION:+--gpu-ver="$GPU_VERSION"} \ + "$@" \ + | tee compile.log diff --git a/toolchain/toolchain_gcc-aocl.sh b/toolchain/toolchain_gcc-aocl.sh index f7b717b257..7a21670ab9 100755 --- a/toolchain/toolchain_gcc-aocl.sh +++ b/toolchain/toolchain_gcc-aocl.sh @@ -5,32 +5,111 @@ #SBATCH -o compile.log #SBATCH -e compile.err -# JamesMisaka in 2025-05-05 -# install abacus dependency by gcc-aocl toolchain -# openmpi is recommended to use -# libtorch and libnpy are for deepks support, which can be =no -# if you want to run EXX calculation, you should set --with-libri=install - -# gpu-lcao supporting modify: CUDA_PATH and --enable-cuda -# export CUDA_PATH=/usr/local/cuda - -./install_abacus_toolchain.sh \ ---with-gcc=system \ ---math-mode=aocl \ ---with-amd=no \ ---with-intel=no \ ---with-openmpi=install \ ---with-cmake=install \ ---with-scalapack=system \ ---with-libxc=install \ ---with-fftw=system \ ---with-elpa=install \ ---with-cereal=install \ ---with-rapidjson=install \ ---with-libtorch=no \ ---with-libnpy=no \ ---with-libri=no \ ---with-libcomm=no \ ---with-4th-openmpi=no \ -| tee compile.log -# to use openmpi-version4: set --with-4th-openmpi=yes \ No newline at end of file +# Users can easily modify these parameters to customize the build +# Before running this script, ensure you have loaded your system packages + +# Compiler Configuration +TOOLCHAIN_COMPILER="gcc-aocl" +WITH_GCC="system" +WITH_AMD="no" +WITH_INTEL="no" + +# Math Libraries (AMD AOCL recommended) +MATH_MODE="aocl" +WITH_AOCL="system" + +# MPI Implementation (OpenMPI recommended) +MPI_MODE="openmpi" +WITH_OPENMPI="install" +WITH_4TH_OPENMPI="no" # Set to "yes" for OpenMPI v4, deprecated +WITH_MPICH="no" + +# Core Dependencies +WITH_CMAKE="install" +WITH_SCALAPACK="system" # AOCL provides ScaLAPACK +WITH_FFTW="system" # AOCL provides FFTW +WITH_LIBXC="install" +WITH_ELPA="install" + +# Utility Libraries +WITH_CEREAL="install" +WITH_RAPIDJSON="install" + +# Advanced Features (EXX calculations) +WITH_LIBRI="install" +WITH_LIBCOMM="install" + +# Optional Features (MLALGO support) +WITH_LIBTORCH="no" +WITH_LIBNPY="no" +WITH_NEP="no" + +# ELPA-GPU Support (uncomment and modify as needed) +# ENABLE_CUDA="yes" +# GPU_VERSION="75" # Check your GPU compute capability +# export CUDA_PATH="/usr/local/cuda" + +# ============================================================================ +# Execution Mode Control +# ============================================================================ +# Dry-run mode: Show what would be done without actually executing +DRY_RUN_MODE="no" # Set to "yes" to enable dry-run mode + +# Pack-run mode: Only check and install required packages +PACK_RUN_MODE="no" # Set to "yes" to enable pack-run mode + +# ============================================================================ +# Package Version Selection (main/alt versions) +# ============================================================================ +# Choose between main (latest stable) and alt (alternative/legacy) versions +# Refer to scripts/package_versions.sh for specific version numbers + +CMAKE_VERSION="main" # main=3.31.7, alt=3.30.5 +OPENMPI_VERSION="main" # main=5.0.8, alt=4.1.6 +ELPA_VERSION="main" # main=2025.06.001, alt=2024.05.001 +LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 +# Optional Libraries +LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: main(2.1.2) version of LibTorch need glibc > 2.27 +# Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA + +# Note: GCC-AOCL toolchain uses AOCL for math libraries (FFTW, ScaLAPACK) +# so OpenBLAS and ScaLAPACK version selections are not applicable + +# ============================================================================ +# Execute Installation (DO NOT MODIFY BELOW THIS LINE) +# ============================================================================ + +# Call the main installation script with configured parameters +exec ./install_abacus_toolchain_new.sh \ + --with-gcc="$WITH_GCC" \ + --with-amd="$WITH_AMD" \ + --math-mode="$MATH_MODE" \ + --mpi-mode="$MPI_MODE" \ + --with-aocl="$WITH_AOCL" \ + --with-openmpi="$WITH_OPENMPI" \ + --with-mpich="$WITH_MPICH" \ + --with-cmake="$WITH_CMAKE" \ + --with-scalapack="$WITH_SCALAPACK" \ + --with-libxc="$WITH_LIBXC" \ + --with-fftw="$WITH_FFTW" \ + --with-elpa="$WITH_ELPA" \ + --with-cereal="$WITH_CEREAL" \ + --with-rapidjson="$WITH_RAPIDJSON" \ + --with-libtorch="$WITH_LIBTORCH" \ + --with-nep="$WITH_NEP" \ + --with-libnpy="$WITH_LIBNPY" \ + --with-libri="$WITH_LIBRI" \ + --with-libcomm="$WITH_LIBCOMM" \ + --with-4th-openmpi="$WITH_4TH_OPENMPI" \ + --package-version cmake:"$CMAKE_VERSION" \ + --package-version openmpi:"$OPENMPI_VERSION" \ + --package-version elpa:"$ELPA_VERSION" \ + --package-version libxc:"$LIBXC_VERSION" \ + --package-version libtorch:"$LIBTORCH_VERSION" \ + ${DRY_RUN_MODE:+$([ "$DRY_RUN_MODE" = "yes" ] && echo "--dry-run")} \ + ${PACK_RUN_MODE:+$([ "$PACK_RUN_MODE" = "yes" ] && echo "--pack-run")} \ + ${ENABLE_CUDA:+--enable-cuda} \ + ${GPU_VERSION:+--gpu-ver="$GPU_VERSION"} \ + "$@" \ + | tee compile.log diff --git a/toolchain/toolchain_gnu.sh b/toolchain/toolchain_gnu.sh index 03e1c55440..44cfbe4b36 100755 --- a/toolchain/toolchain_gnu.sh +++ b/toolchain/toolchain_gnu.sh @@ -4,37 +4,116 @@ #SBATCH -n 16 #SBATCH -o compile.log #SBATCH -e compile.err +# Users can easily modify these parameters to customize the build -# JamesMisaka in 2025-05-05 -# install abacus dependency by gnu-toolchain -# one can use mpich or openmpi. openmpi will be faster and less compatiable -# libtorch and libnpy are for deepks support, which can be =no -# if you want to run EXX calculation, you should set --with-libri=install - -# gpu-lcao supporting modify: CUDA_PATH and --enable-cuda -# export CUDA_PATH=/usr/local/cuda - -./install_abacus_toolchain.sh \ ---with-gcc=system \ ---with-intel=no \ ---with-openblas=install \ ---with-openmpi=install \ ---with-cmake=install \ ---with-scalapack=install \ ---with-libxc=install \ ---with-fftw=install \ ---with-elpa=install \ ---with-cereal=install \ ---with-rapidjson=install \ ---with-libtorch=no \ ---with-libnpy=no \ ---with-libri=no \ ---with-libcomm=no \ ---with-4th-openmpi=no \ -| tee compile.log -# to use openmpi-version4: set --with-4th-openmpi=yes -# to enable gpu-lcao, add the following lines: -# --enable-cuda \ -# --gpu-ver=75 \ -# one should check your gpu compute capability number -# and use it in --gpu-ver +# Before running this script, ensure you have loaded your system packages + +# Compiler Configuration +TOOLCHAIN_COMPILER="gnu" +WITH_GCC="system" +WITH_INTEL="no" +WITH_AMD="no" + +# Math Libraries +MATH_MODE="openblas" +WITH_OPENBLAS="install" + +# MPI Implementation (OpenMPI recommended) +MPI_MODE="openmpi" +WITH_OPENMPI="install" +WITH_4TH_OPENMPI="no" # Set to "yes" for OpenMPI v4, deprecated +WITH_MPICH="no" + +# Core Dependencies +WITH_CMAKE="install" +WITH_SCALAPACK="install" +WITH_LIBXC="install" +WITH_FFTW="install" +WITH_ELPA="install" + +# Utility Libraries +WITH_CEREAL="install" +WITH_RAPIDJSON="install" + +# Advanced Features (EXX calculations) +WITH_LIBRI="install" +WITH_LIBCOMM="install" + +# Optional Features (MLALGO support) +WITH_LIBTORCH="no" +WITH_LIBNPY="no" +WITH_NEP="no" + +# ELPA-GPU Support (uncomment and modify as needed) +# ENABLE_CUDA="yes" +# GPU_VERSION="75" # Check your GPU compute capability +# export CUDA_PATH="/usr/local/cuda" + +# ============================================================================ +# Execution Mode Control +# ============================================================================ +# Dry-run mode: Show what would be done without actually executing +DRY_RUN_MODE="no" # Set to "yes" to enable dry-run mode + +# Pack-run mode: Only check and install required packages +PACK_RUN_MODE="no" # Set to "yes" to enable pack-run mode + +# ============================================================================ +# Package Version Selection (main/alt versions) +# ============================================================================ +# Choose between main (latest stable) and alt (alternative/legacy) versions +# Refer to scripts/package_versions.sh for specific version numbers + +CMAKE_VERSION="main" # main=3.31.7, alt=3.30.5 +OPENMPI_VERSION="main" # main=5.0.8, alt=4.1.6 +MPICH_VERSION="main" # main=4.1.6, alt=4.1.5 +OPENBLAS_VERSION="main" # main=0.3.30, alt=0.3.27 +ELPA_VERSION="main" # main=2025.06.001, alt=2024.05.001 +LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 +SCALAPACK_VERSION="main" # main=2.2.2, alt=2.2.1 +# Optional Libraries +LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: main(2.1.2) version of LibTorch need glibc > 2.27 +# Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA + +# ============================================================================ +# Execute Installation (DO NOT MODIFY BELOW THIS LINE) +# ============================================================================ + +# Call the main installation script with configured parameters +exec ./install_abacus_toolchain_new.sh \ + --with-gcc="$WITH_GCC" \ + --with-intel="$WITH_INTEL" \ + --with-amd="$WITH_AMD" \ + --math-mode="$MATH_MODE" \ + --mpi-mode="$MPI_MODE" \ + --with-openblas="$WITH_OPENBLAS" \ + --with-openmpi="$WITH_OPENMPI" \ + --with-mpich="$WITH_MPICH" \ + --with-cmake="$WITH_CMAKE" \ + --with-scalapack="$WITH_SCALAPACK" \ + --with-libxc="$WITH_LIBXC" \ + --with-fftw="$WITH_FFTW" \ + --with-elpa="$WITH_ELPA" \ + --with-cereal="$WITH_CEREAL" \ + --with-rapidjson="$WITH_RAPIDJSON" \ + --with-libtorch="$WITH_LIBTORCH" \ + --with-nep="$WITH_NEP" \ + --with-libnpy="$WITH_LIBNPY" \ + --with-libri="$WITH_LIBRI" \ + --with-libcomm="$WITH_LIBCOMM" \ + --with-4th-openmpi="$WITH_4TH_OPENMPI" \ + --package-version cmake:"$CMAKE_VERSION" \ + --package-version openmpi:"$OPENMPI_VERSION" \ + --package-version mpich:"$MPICH_VERSION" \ + --package-version openblas:"$OPENBLAS_VERSION" \ + --package-version elpa:"$ELPA_VERSION" \ + --package-version libxc:"$LIBXC_VERSION" \ + --package-version scalapack:"$SCALAPACK_VERSION" \ + --package-version libtorch:"$LIBTORCH_VERSION" \ + ${DRY_RUN_MODE:+$([ "$DRY_RUN_MODE" = "yes" ] && echo "--dry-run")} \ + ${PACK_RUN_MODE:+$([ "$PACK_RUN_MODE" = "yes" ] && echo "--pack-run")} \ + ${ENABLE_CUDA:+--enable-cuda} \ + ${GPU_VERSION:+--gpu-ver="$GPU_VERSION"} \ + "$@" \ + | tee compile.log diff --git a/toolchain/toolchain_intel.sh b/toolchain/toolchain_intel.sh index 54a73ae28c..29138b6e5a 100755 --- a/toolchain/toolchain_intel.sh +++ b/toolchain/toolchain_intel.sh @@ -5,37 +5,132 @@ #SBATCH -o compile.log #SBATCH -e compile.err -# JamesMisaka in 2025-05-05 -# install abacus dependency by intel-toolchain -# use mkl and intelmpi -# but mpich and openmpi can also be tried -# libtorch and libnpy are for deepks support, which can be =no -# gpu-lcao supporting modify: CUDA_PATH and --enable-cuda -# export CUDA_PATH=/usr/local/cuda +# Users can easily modify these parameters to customize the build +# Before running this script, ensure you have loaded your system packages # module load mkl mpi compiler -./install_abacus_toolchain.sh \ ---with-intel=system \ ---math-mode=mkl \ ---with-gcc=no \ ---with-intelmpi=system \ ---with-cmake=install \ ---with-scalapack=no \ ---with-libxc=install \ ---with-fftw=no \ ---with-elpa=install \ ---with-cereal=install \ ---with-rapidjson=install \ ---with-libtorch=no \ ---with-libnpy=no \ ---with-libri=no \ ---with-libcomm=no \ ---with-intel-classic=no \ -| tee compile.log -# for using AMD-CPU or GPU-version: set --with-intel-classic=yes -# to enable gpu-lcao, add the following lines: -# --enable-cuda \ -# --gpu-ver=75 \ -# one should check your gpu compute capability number -# and use it in --gpu-ver \ No newline at end of file +# Compiler Configuration +TOOLCHAIN_COMPILER="intel" +WITH_INTEL="system" +WITH_GCC="no" + +# Math Libraries (Intel MKL recommended) +MATH_MODE="mkl" +WITH_MKL="system" # Use system MKL when MATH_MODE is mkl + +# MPI Implementation (Intel MPI recommended, but OpenMPI/MPICH also supported) +MPI_MODE="intelmpi" +WITH_INTELMPI="system" +WITH_OPENMPI="no" +WITH_MPICH="no" + +# Core Dependencies +WITH_CMAKE="install" +WITH_SCALAPACK="no" # MKL provides ScaLAPACK +WITH_FFTW="no" # MKL provides FFTW interface +WITH_LIBXC="install" +WITH_ELPA="install" + +# Utility Libraries +WITH_CEREAL="install" +WITH_RAPIDJSON="install" + +# Advanced Features (EXX calculations) +WITH_LIBRI="install" +WITH_LIBCOMM="install" + +# Optional Features (MLALGO support) +WITH_LIBTORCH="no" +WITH_LIBNPY="no" +WITH_NEP="no" + +# ELPA-GPU Support (uncomment and modify as needed) +# ENABLE_CUDA="yes" +# GPU_VERSION="75" # Check your GPU compute capability +# export CUDA_PATH="/usr/local/cuda" + +# ============================================================================ +# Execution Mode Control +# ============================================================================ +# Dry-run mode: Show what would be done without actually executing +DRY_RUN_MODE="no" # Set to "yes" to enable dry-run mode + +# Pack-run mode: Only check and install required packages +PACK_RUN_MODE="no" # Set to "yes" to enable pack-run mode + +# ============================================================================ +# Intel Compiler and MPI Options +# ============================================================================ +# Intel Compiler Version Selection +WITH_INTEL_CLASSIC="no" # Set to "yes" to use classic Intel compilers (icc/icpc/ifort) + # Set to "no" to use new Intel compilers (icx/icpx/ifx) + # Classic compilers needed for AMD-CPU or GPU-version + +WITH_IFX="yes" # Set to "yes" to use new Fortran compiler ifx (default) + # Set to "no" to use traditional ifort + # Only applies when WITH_INTEL_CLASSIC="no" + +# Intel MPI Version Selection +INTELMPI_CLASSIC="no" # Set to "yes" to use classic Intel MPI wrappers (mpiicc/mpiicpc/mpiifort) + # Set to "no" to use new Intel MPI wrappers (mpiicx/mpiicpx/mpiifx) + # Should match WITH_INTEL_CLASSIC setting for consistency + # Classic wrappers recommended for older Intel OneAPI versions + + +# ============================================================================ +# Package Version Selection (main/alt versions) +# ============================================================================ +# Choose between main (latest stable) and alt (alternative/legacy) versions +# Refer to scripts/package_versions.sh for specific version numbers + +CMAKE_VERSION="main" # main=3.31.7, alt=3.30.5 +ELPA_VERSION="alt" # main=2025.06.001, alt=2024.05.001 for intel oneapi<2024.2 +LIBXC_VERSION="main" # main=7.0.0, alt=6.2.2 +# Optional Libraries +LIBTORCH_VERSION="main" # main=2.1.2, alt=1.12.1 (use alt for older GLIBC) +# Note: main(2.1.2) version of LibTorch need glibc > 2.27 +# Note: alt(1.12.1) version of LibTorch cannot support DeePMD-Torch for DPA + +# Note: Intel toolchain uses MKL for math libraries (FFTW, ScaLAPACK) +# so OpenBLAS, FFTW, and ScaLAPACK version selections are not applicable + +# ============================================================================ +# Execute Installation (DO NOT MODIFY BELOW THIS LINE) +# ============================================================================ + +# Call the main installation script with configured parameters +exec ./install_abacus_toolchain_new.sh \ + --with-intel="$WITH_INTEL" \ + --with-gcc="$WITH_GCC" \ + --math-mode="$MATH_MODE" \ + --mpi-mode="$MPI_MODE" \ + --with-mkl="$WITH_MKL" \ + --with-openmpi="$WITH_OPENMPI" \ + --with-mpich="$WITH_MPICH" \ + --with-intelmpi="$WITH_INTELMPI" \ + --with-cmake="$WITH_CMAKE" \ + --with-scalapack="$WITH_SCALAPACK" \ + --with-libxc="$WITH_LIBXC" \ + --with-fftw="$WITH_FFTW" \ + --with-elpa="$WITH_ELPA" \ + --with-cereal="$WITH_CEREAL" \ + --with-rapidjson="$WITH_RAPIDJSON" \ + --with-libtorch="$WITH_LIBTORCH" \ + --with-nep="$WITH_NEP" \ + --with-libnpy="$WITH_LIBNPY" \ + --with-libri="$WITH_LIBRI" \ + --with-libcomm="$WITH_LIBCOMM" \ + --with-intel-classic="$WITH_INTEL_CLASSIC" \ + --with-ifx="$WITH_IFX" \ + --with-intel-mpi-classic="$INTELMPI_CLASSIC" \ + --package-version cmake:"$CMAKE_VERSION" \ + --package-version elpa:"$ELPA_VERSION" \ + --package-version libxc:"$LIBXC_VERSION" \ + --package-version libtorch:"$LIBTORCH_VERSION" \ + ${DRY_RUN_MODE:+$([ "$DRY_RUN_MODE" = "yes" ] && echo "--dry-run")} \ + ${PACK_RUN_MODE:+$([ "$PACK_RUN_MODE" = "yes" ] && echo "--pack-run")} \ + ${ENABLE_CUDA:+--enable-cuda} \ + ${GPU_VERSION:+--gpu-ver="$GPU_VERSION"} \ + "$@" \ + | tee compile.log diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 0000000000..a3ce30b113 --- /dev/null +++ b/tools/README.md @@ -0,0 +1,25 @@ +SIAB: codes to generate numerical atomic orbitals. + +molden: generate molden style file for Multiwfn analysis. + +plot-tools: band structure, dos and pdos, dipole and adsorption. + +rt-tddft-tools: tools for real-time tddft. + +average_pot: python script used to calculate and plot the average electrostatic potential. + +stm: generate figures related to Scanning tunneling microscope technique. + +generate_orbital.sh: script used to generate numerical atomic orbitals (NAO). + +opt_abfs_bash: related to generating NAO basis set. + +opt_lcao_bash: related to generating NAO basis set. + +opt_orb_pytorch: related to generating NAO basis set. + +opt_orb_pytorch_dpsi: related to generating NAO basis set. + +qo: generate quasiatomic orbital (qo). + +selective_dynamics: used to do selective dynamics with ABACUS + Phonopy. \ No newline at end of file diff --git a/tools/SIAB/Generate_Orbital_AllInOne.sh b/tools/SIAB/Generate_Orbital_AllInOne.sh index 782b569023..95d323c43d 100755 --- a/tools/SIAB/Generate_Orbital_AllInOne.sh +++ b/tools/SIAB/Generate_Orbital_AllInOne.sh @@ -612,7 +612,6 @@ suffix $element-$rcut-$BL stru_file $name.stru pseudo_dir $Pseudo_dir kpoint_file KPOINTS -wannier_card INPUTw calculation scf ntype 1 nspin 1 diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/generate_orbital_mixstru.sh b/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/generate_orbital_mixstru.sh index 01c973bc85..a810997e5e 100755 --- a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/generate_orbital_mixstru.sh +++ b/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/generate_orbital_mixstru.sh @@ -504,7 +504,6 @@ latname $element-$rcut-$BL stru_file $name.stru pseudo_dir $pseudo_dir kpoint_file KPOINTS -wannier_card INPUTw calculation scf ntype 1 nspin 1 diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/print_file.py b/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/print_file.py index 94b8fbbe8e..cdf317ffc0 100644 --- a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/print_file.py +++ b/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/print_file.py @@ -8,7 +8,6 @@ def print_file_pw(info,dis): file.write(textwrap.dedent(f"""\ INPUT_PARAMETERS pseudo_dir {info["input"]["pseudo_dir"]} - wannier_card INPUTw calculation scf ntype 1 nspin 1 diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/ChangeLog b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/ChangeLog deleted file mode 100644 index 1854d9e768..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/ChangeLog +++ /dev/null @@ -1,345 +0,0 @@ -Minimize Spillage Program Update Note. -Author : Mohan Chen -Email : mohan@mail.ustc.edu.cn -Locate : LQCC - -Na-bcc 29 kpoints use 15 pools and 15 processors. ---------- CLASS NAME--------------- NAME ----- TIME(sec) -- CALLS ----- AVG ----- PER% -! total 1052.41 1 1.1e+03 1e+02% -! Metropolis move_various_t 1e+03 5 2.1e+02 98% -! Metropolis move_one_step 1e+03 2000 0.51 98% -! PW_Basis (*)pdate_psi1d 6.1e+02 176005 0.0034 57% -! PW_Basis calculateS 2.8e+02 352010 0.0008 27% -! PW_Basis update_psi3d 1e+02 352010 0.0003 9.9% -! PW_Basis (*)get_sk 25 398506 6.2e-05 2.3% -! Orthogonal start 11 4 2.7 1% -! PW_Basis calculate_Jlq 9.8 45056 0.00022 0.93% -! Spillage TableOne 7.7 1 7.7 0.73% -! PW_Basis calculate_psi3d 0.32 90 0.0036 0.03% -! PW_Basis calculate_psi1d 0.23 45 0.0051 0.022% -! ReadData OverlapQ 0.11 1 0.11 0.01% --------------------------------------------------------------------------------------- -Start Time : Sat Jun 19 00:00:06 2010 -Finish Time : Sat Jun 19 00:24:25 2010 -Problem: -1. Need to improve update_psi1d. -2. Sk,gk can be chosen to calculated once and stored. -which can be 'tested' -3. Calculate_Jlq can be improved. -4. Memory calculation should be available. -5. Output time after each level. -6. More detail output information for large system. -7. Efficient restart mode. -8. Chosen bands information should be output correctly. - -VERSION 046 -11-07-22 Output ORBITAL_PW_GK.dat in pw_basis.cpp. -11-07-22 Update some output information, the order of plane wave in MCSP -is the same as in ESP. - -VERSION 045 -11-02-21 Add new functions in read_INPUT.cpp, can read INPUTs now. -11-02-21 Add new variables in tools.cpp - -VERSION 044 -10-08-06 Mohan Fix bug in SpillageStep, mz.lmax_type[it] -> LMAXALL, -because when using l < LMAXALL, we hope the program can go on running. -10-09-27 Mohan Fix bug in ReadData.cpp, the CARPOSX,Y,Z is useless. -10-10-15 Add a new parameter: START_KIN_TEM -11-02-19 Fix a bug, the id of elements should be numbrs, and the number -must > 0. - -VERSION 043 -10-07-21 Fix a bug in SpillageStep, about calculation of iw00. -10-07-22 Fix another bug during set iw00 in SpillageStep, -LMAXALL -> mz.lmax_type[it]. - -VERSION 042 -10-07-12 Reorder tools.h -10-07-13 Fix a bug, the Mkb and Mkb_used must be zero at first. -10-07-13 Fix a bug in out_orbital. the spillage in it is consistent with -spillage value in get_spillage now. - -VERSION 041 -10-06-18 Add some function in memory calculation. -10-06-18 Fix a bug in get_sk. -10-06-27 Using openmpi instead of mpich-1.2.7. -10-06-27 Fix a bug in MPI_Recv, the MPI_Status *ierror -> MPI_Status ierror. -10-06-27 Fix a bug in main.cpp, the MPI_Finalize should be added. - -VERSION 040 -10-06-18 Update timer. -10-06-18 Speed up orthogonal in Sq1q2 largely. -10-06-18 Add Way2iw in PW. -10-06-18 Add calculate_Jlq in PW. -10-06-18 Add calculate_Jlq_phi in PW. -10-06-18 Orthogonal is avalible for PW in both versions. -10-06-18 A small update about 'update_psi1d'. -10-06-18 Add unstable in SpillageStep. -10-06-18 Add reduce_int_all in parallel_reduce. -10-06-18 Refix the bug in spillagestep, about Mk and upbound. -10-06-18 Fix a bug in Out_Orbtial, about output spillage information. -10-06-18 Fix a 'very' serious bug in SpillageStep. -origin : Mk > spillage0 is not promised by every k point, -this is correct. Because spillage0 is also an average value -by sum_{ik,ib}. So I changed it to fill > spillage0. -I hope this is the final correct form! -10-06-18 Add parallel in Out_Orbital. -10-06-18 Delete two parallel about 'bcast c4' and 'unstable'. - -VERSION 039 -10-06-17 Change ylm to ylm[NKS], optimize speed. -10-06-17 Fix a bug in ReadData about USEPW. -10-06-17 Fix two bug in pw_basis::get_GVectors. -10-06-17 Fix a bug in ReadData about bcast. -10-06-17 KPAR is not readable in series version. -10-06-17 Add calculation of ig1, ig2, ig3 in pw_basic. -10-06-17 Add NMAXUSED and CALSPI in tools. -10-06-17 Add LMAXUSED. -10-06-17 Fix a bug in series version, the CARKX,Y,Z. -10-06-17 Structure factor not needed to update unless -it or ia changed. -10-06-17 Add && istep==0 condition in Metropolis. -10-06-17 Fix a serious bug in init_QS_matrix, calculate_psi1d -and calculate_psi3d must consistent in it. - -VERSION 038 -10-06-14 Add cartesian k point coordiantes. -10-06-14 Add LAT0 and bcast it. -10-06-15 Add new pw_basis class. -10-06-15 Add new heapsort file. -10-06-15 Add ylm_real file. -10-06-15 Add inverse_matrix file. -10-06-16 Fix a bug, bcast CARPOSX,Y,Z. -10-06-16 Distribut plane wave using my own algorithm. -10-06-16 dekete ggpsi in pw_basis. -10-06-16 Add m in wayd in spillagestep. -10-06-16 Bcast C4 after each trial_C4. -10-06-16 Change psi3d to 3 dimension (ik,iw,ig) -10-06-16 Add make note operation. -10-06-17 Available for plwane wave calculation. -10-06-17 Orthogonal not avalable yet. -10-06-17 Speed not optimized yet. - -VERSION 037 -10-06-14 Bcast S data available. -10-06-14 Bcast parameters in Metropolis. -10-06-14 Bcast parameters in Coefficients. -10-06-14 Bcast parameters in MultiZeta. -10-06-14 Bcast weight. -10-06-14 K points parallel available! -10-06-14 If I delete Sq, use plane wave instead. - -VERSION 036 -10-06-14 Add mpi information in main.cpp -10-06-14 Fix a bug about KPAR bcast. -10-06-14 Bcast Q data available. - -VERSION 035 -10-06-12 Delete Damping.cpp. -10-06-12 Add common.h -10-06-12 Add parallel_kpoints class. -10-06-12 Add parallel_common namespace. -10-06-12 Add parallel_reduce namespace. -10-06-12 Add parallel_global namespace. -10-06-12 Add pw_complement. -10-06-12 Add make s and make p in Makefile. -10-06-12 Add parallel_kpoints as a global class. -10-06-12 Add QUIT in tools. -10-06-12 Parallel enviroment is available. -10-06-12 First part of read_INPUT is done. -10-06-12 Add DESTROY(). -10-06-12 Add LATVEC, NA, LABEL, .... -10-06-12 Add matrix3 and vector3. -10-06-12 Delete inputs class. -10-06-12 not available yet. - -VERSION 034 -10-05-02~10-06-12 Tests are good. -10-06-14 Fix a bug in SpillageStep, judge the upbound, the -condition should be weight * Mkb > upbound. - -VERSION 033 -10-05-02 Change the 'get_value' in SpillageValue to a more suitable name: -'cal_defined_value'. -10-05-02 Add BANDS_CONTROL, BANDS_START, BANDS_END 3 variables in tools. -and used in get_spillage in SpillageStep. -10-05-02 Add Mkb and Mk in Step_Data. -10-05-02 Add ilevel in Multizeta. -10-05-02 Add output Mkb information in Out_Orbital. -10-05-02 Add Mkb_used in Step_Data. -10-05-02 Record Mkb in Metropolis. - -VERSION 032 -10-04-29 A bug fixed in SpillageStep, the S inverse matrix value can reach as -large as 1.0*e14, an the effective number in double precision is only 15. So -this may artificially number in S inverse matrix which can cause the multiplication -between Q and S^{-1} incorrect. I ignore the incorrect value introduced by -some sets of coefficients. - -VERSION 031 -10-04-19 Add 'zero' point in ouput psi. -10-04-21 Small modification of output information. - -VERSION 030 -10-04-17 The efficience of 'norm_c4' be improved. -10-04-17 The recalculation should start from file "ORBITAL_RESUTSL.txt". -10-04-17 Delete file ORBITAL_SAVE, replace ORBITAL_RESULTS.txt instead of ORBITAL.out.restart. -10-04-18 Change back c4 to c4^2 to calculate kinetic energy. - -VERSION 029 -10-04-14 Speedup 'get_ecut' about 30%. (can still be imptoved if we divide Psi) -10-04-14 Add a parameter 'OPTIMIZE_METHOD'. -10-04-15 Fix a bug, about the output mesh don't include the r=0 point. -10-04-16 Add PI in tools.cpp. -10-04-16 The kinetic energy is updated in Rydberg unit. -10-04-16 The kinetic energy is now |C|q^2*PI/rcut. -10-04-17 The kinetic energy have two equal formuals. -10-04-17 Fix a bug in norm_c4, the g(r) must be multiplied. - -VERSION 028 -10-04-13 Add more ecut judgement in 'Plot_Psi'. -10-04-14 Add a new method to minimize kinetic energy, calculate the Ecut. - -VERSION 027 -10-04-12 Output logmesh oritals for plot and for used. -10-04-12 Seperate the dr to minimize kinetic energy and ploting, add KINETIC_DR in tools. -10-04-13 Fix a bug about the normalization of logmesh in Plot_Psi. -10-04-13 Add 'establish ecut' in 'Plot_Psi' to establish the cutoff of each orbital. - -VERSION 026 -10-04-08 Delete write_c4, read_c4, write_c4_init in Coefficients class. -10-04-08 Rearrange the files, add src_tools dir and src_spillage dir. -10-04-11 Output the average spillage value. -10-04-11 Output C4 after each step. - -VERSION 025 -09-12-27 Divide output ORBITAL.MCSP to different element part. - -VERSION 024 -09-11-06 Fix a bug in Metropolis, about recalculate kinetic energy temperature. - -VERSION 023 -09-10-10 Add two-step kinetical energy minimization. -09-10-15 Update Metropolis.cpp. -09-10-16 Add accept_rate in Metropolis.cpp -09-10-31 Add auto adjust the accept_rate. -09-10-31 Add KINETIC_MAX in tools.h, which control the energy of orbital. - -VERSION 022 -09-09-26 Output COEFFICIENTS, PSI, PSI2 file. -09-09-26 Output oscillation, kinetic energy. - -VERSION 021 -09-09-11 Add Psi_Second class. - -VERSION 020 -09-08-27 Move ORBITAL.out filename to ORBITAL.out.txt -09-08-27 Modify Metropolis, 'ne > BLOCK_NE ' to 'ne >= BLOCK_NE' -09-08-27 Add RESTART in tools.h -09-08-27 Add state(string) in SpillageStep::TypeInformation. -09-08-28 Fix a bug in Coefficients.cpp, output_c4_name must be initialized in constructor. -09-08-28 Remove restart_c4 in read_INPUT. -09-08-28 Add class Damping in file Damping.cpp. -09-08-28 Add in Metropolis. -09-08-28 Add in tools.h - -VERSION 019 -09-08-20 Update SpillageValue::get_value, providing 3 schemes now. -09-08-24 Fix a bug in input, if the file is not exit, warning and quit. -09-08-26 Add BLOCK_NE as global. -09-08-26 Add a parameter in SCAN_BEGIN function in tools.h - -VERSION 018 -09-07-23 Abandon input file: "INPUTs", instead we read in information from first "spillage.dat" file. -09-07-23 Add in INPUT::read_PW_QS, to read "INPUTs" information. -09-07-23 Delete "read_site" in read_INPUT.cpp -09-07-24 Change all energy units from "Hartree" to Rydberg. -09-07-24 Fix a bug in Calculate_C4, lmax<3 change to lmax<5 - -VERSION 017 -09-07-12 Add average input in -09-07-12 Delete nchi in Coefficients, no used. -09-07-12 Delete 'm' member variable in way2Data, no used, furthermore, hard to define whene use average orbital. -09-07-12 Add average parameter in way2Data. -09-07-12 Add new function in SpillageStep. -09-07-12 Available for average orbital. - -VERSION 016 -09-05-23 Add reset_temperature in Metropolis -09-05-23 Add l_nchi in MultiZeta -09-06-09 Add value_each_step in SpillageValue. -09-06-09 Add nstep in read_INPUT file. -09-06-09 Output spillage value of each step in the output file. -09-06-14 Output "ORBITAL.MCSP" in Plot_Psi.cpp -09-06-14 Fix a bug in SpillageStep.cpp, assert(iw==nwfc) - -VERSION 015*** -09-05-22 Reconstruction of all program. - -VERSION 014 -09-05-13 Add two 'na' member and 'get_na()' function in read_INPUTs, -09-05-13 Input 'na' in CalculateSpillage Constructor -09-05-13 Fix a bug in allocate_index in CalculateSpillage, the iw2iw dimension must equal nwfc2 -09-05-14 Add WARNING_QUIT function in tools.cpp -09-05-14 Change name read_plot_c4 and read_cal_c4 in read_stuff -09-05-14 Delete iw_index in CalculateSpilalge, no used. -09-05-14 The sinv readin function return! - -VERSION 013 -09-05-02 Add spillage0 in ReadData class -09-05-02 Can correctly do double_zeta operation. -0.159% for GaAs(optimize separate) not much improved use 33Jl - -VERSION 012 -09-05-01 Add iw2iw in CalculateSpillage -09-05-01 Control write_c4 in CalculateSpillage -09-05-01 Add multi_zeta parameter in ReadData -09-05-01 Add test in some class -09-05-01 Available for combine double-zeta calculation. -0.21% for GaAs SZ -0.12% for GaAs DZ(optimized together) - -VERSION 011 -09-04-29 Add orthogonal flag in INPUT file. -09-04-29 Add Class Multi_zeta. -09-04-29 Add Qreal_readin and Qimag_readin in ReadData. -09-04-29 Available for seperate double-zeta calculation. But find a problem: The new set of bloch wave functions are not orthogonal. - -VERSION 010 -09-04-27 Open the gate for multi_zeta programming. - -VERSION 009 -09-04-27 Add class 'read_stuff', reduce the main program. -09-04-27 Add class 'MultiZeta', reduce the main program. - -VERSION 008 -09-04-26 Use ibz_kpoint to calculate spillage. -36000 steps/hour -09-04-26 Use new Lapack routine to calculate Inverse_Matrix -57000 steps/hour - -VERSION 007 -09-04-26 Add calss Inverse_Matrix -09-04-26 Accelarate using_zheev -4000 steps/hour - -VERSION 006 -09-04-26 Use the hermit symmetry of S matrix -3400 steps/hour - -VERSION 005 -09-04-19 Unit, -09-04-19 Can available for more than one stucture. -09-04-19 Reduce goback time. -2400 steps/hour - -VERSION 004 -09-04-18 Can plot wave functions. -09-04-18 Speedup S update routine. - -VERSION 003 -09-04-17 Speedup Q update routine. - -VERSION 002 -09-04 Available for calculate spillage without plane wave basis. diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/Makefile b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/Makefile deleted file mode 100644 index ebf65478f3..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -#=========================================================== -# AUTHOR : mohan -# DATE START FROM : 2009-04-14 -# FUNCTION : spillage makefile -#=========================================================== -#Dirac -#CPLUSPLUS =CXX -O3 -w -ffast-math -funroll-loops -CPLUSPLUS = /usr/mpi/intel/openmpi-1.4.1/bin/mpicxx -#CPLUSPLUS_GPROF = g++ -gp -#CPLUSPLUS_MPI = /opt/openmpi/bin/mpicxx -O3 -w -CPLUSPLUS_MPI=/usr/mpi/intel/openmpi-1.4.1/bin/mpicxx -#Einstein -#CPLUSPLUS_MPI = /opt/openmpi-intel9/bin/mpicxx -O3 -w - -LIBS=-L/opt/intel/cmkl/10.2.5.035/lib/em64t -i-dynamic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -openmp -lpthread \ - -TOOLS_OBJS=src_tools/mathzone.o \ - src_tools/matrix.o \ - src_tools/matrix3.o \ - src_tools/realarray.o \ - src_tools/intarray.o \ - src_tools/complexmatrix.o \ - src_tools/complexarray.o\ - src_tools/timer.o \ - src_tools/inverse_matrix.o\ - -SPILLAGE_OBJS=src_spillage/main.o \ - src_spillage/read_INPUT.o\ - src_spillage/ReadData.o\ - src_spillage/Calculate_C4.o\ - src_spillage/Coefficients.o\ - src_spillage/MultiZeta.o\ - src_spillage/SpillageStep.o\ - src_spillage/SpillageValue.o\ - src_spillage/Step_Data.o\ - src_spillage/Orthogonal.o\ - src_spillage/Type_Information.o\ - src_spillage/Metropolis.o\ - src_spillage/Out_Orbital.o\ - src_spillage/Plot_Psi.o\ - src_spillage/Psi_Second.o\ - src_spillage/tools.o \ - src_spillage/common.o \ - -PARALLEL_OBJS=src_parallel/parallel_global.o\ - src_parallel/parallel_common.o\ - src_parallel/parallel_reduce.o\ - src_parallel/parallel_kpoints.o - -PW_OBJS=src_pw/pw_basis.o\ - src_pw/pw_complement.o\ - src_pw/heapsort.o\ - src_pw/numerical_basis.o\ - src_pw/bessel_basis.o\ - src_pw/ylm_real.o\ - src_pw/memory_calculation.o\ - -OBJS = ${TOOLS_OBJS} \ - ${SPILLAGE_OBJS} \ - ${PARALLEL_OBJS} \ - ${PW_OBJS}\ - -help : - @echo 'make target list: ' - @echo 's : Series version of Monte Carlo Spillage Program.' - @echo 'p : Parallel Version of Monte Carlo Spillage Program.' - @echo 'note : some notes.' - -s : ${OBJS} - ${CPLUSPLUS} -o SIA_s.exe ${OBJS} ${LIBS} - -p : ${OBJS} - $(CPLUSPLUS_MPI) -D__MPI -o SIA_p.exe $(OBJS) $(LIBS) - -note : - @echo 'atom type label : it ' - @echo 'atom label for each type : ia ' - @echo 'The angular momentum : l ' - @echo 'The multiplicity : n ' - @echo 'The magnetic quantum num : m ' - @echo 'The k point index : ik ' - @echo 'The band index : ib ' - @echo 'The eigenvalue of Jlq : ie ' - @echo 'The radius cutoff (a.u.) : rcut ' - @echo 'The state is : psi(ib,ik) ' - @echo 'The local orbitals is : phi(it,ia,l,n,m) ' - @echo 'The index of local basis : nwfc(it,l,n)' - @echo 'The index of local basis : nwfc2(it,ia,l,n,m) ' - @echo 'The Spherical Bessel func : Jl(ie,rcut) ' - @echo 'The SB transform : \int Jl(ie,rcut) * Jl' - @echo 'The index of Jlq coef : Coef(it,l,n,ie)' - @echo 'The local orbitals formu : phi=\sum_{ie} Coef(it,l,n,ie) * Jl(ie,rcut)' - @echo 'The spillage formula is : S = ' - @echo 'The projector P is : P = \sum_{mu,nu} |phi_mu> S^{-1} = (1-P1) |psi1>' - @echo 'So we can fonud that : P1|psi2> = 0 ' - @echo 'the Q matrix is : Q = ' - @echo 'the S matrix is : S = ' - @echo 'start index of band : BANDS_START(count from 1, not 0) ' - @echo 'end index of band : BANDS_END ' - -.cpp.o: - ${CPLUSPLUS} -c $< -o $@ -# $(CPLUSPLUS_MPI) -c -D__MPI $< -o $@ - -.PHONY:clean -clean: - ${RM} *.o *.exe core* src_tools/*.o src_spillage/*.o tests_s/ORBITAL* tests_s/ORBITAL* src_parallel/*.o src_pw/*.o diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/Makefiles/Makefile.Einstein b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/Makefiles/Makefile.Einstein deleted file mode 100644 index c0bd26a3e9..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/Makefiles/Makefile.Einstein +++ /dev/null @@ -1,115 +0,0 @@ -#=========================================================== -# AUTHOR : mohan -# DATE START FROM : 2009-04-14 -# FUNCTION : spillage makefile -#=========================================================== -#Dirac -CPLUSPLUS =/usr/mpi/intel/openmpi-1.4.1/bin/mpicxx -O3 -#CPLUSPLUS_GPROF = g++ -gp -#CPLUSPLUS_MPI = /opt/openmpi/bin/mpicxx -O3 -w -CPLUSPLUS_MPI=/usr/mpi/intel/openmpi-1.4.1/bin/mpicxx -#Einstein -#CPLUSPLUS_MPI = /opt/openmpi-intel9/bin/mpicxx -O3 -w - -#EINSTEIN -#LIBS=-L/home/common/lib -llapack -lblas -lf2c - -#DIRAC -#LIBS = -L/share/apps/lib/ -llapack -lblas -L/share/data1/lib/ -lf2c\ - #-L/opt/intel/fce/9.1.052/lib/ -lifcore \ -#Einstein -#LIBS = -L/share/apps/lib -llapack -lblas -L/opt/intel/fce/9.1.052/lib/ -lifcore -LIBS = -L/opt/intel/cmkl/10.2.5.035/lib/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -openmp -lpthread - -TOOLS_OBJS=src_tools/mathzone.o \ - src_tools/matrix.o \ - src_tools/matrix3.o \ - src_tools/realarray.o \ - src_tools/intarray.o \ - src_tools/complexmatrix.o \ - src_tools/complexarray.o\ - src_tools/timer.o \ - src_tools/inverse_matrix.o\ - -SPILLAGE_OBJS=src_spillage/main.o \ - src_spillage/read_INPUT.o\ - src_spillage/ReadData.o\ - src_spillage/Calculate_C4.o\ - src_spillage/Coefficients.o\ - src_spillage/MultiZeta.o\ - src_spillage/SpillageStep.o\ - src_spillage/SpillageValue.o\ - src_spillage/Step_Data.o\ - src_spillage/Orthogonal.o\ - src_spillage/Type_Information.o\ - src_spillage/Metropolis.o\ - src_spillage/Out_Orbital.o\ - src_spillage/Plot_Psi.o\ - src_spillage/Psi_Second.o\ - src_spillage/tools.o \ - src_spillage/common.o \ - -PARALLEL_OBJS=src_parallel/parallel_global.o\ - src_parallel/parallel_common.o\ - src_parallel/parallel_reduce.o\ - src_parallel/parallel_kpoints.o - -PW_OBJS=src_pw/pw_basis.o\ - src_pw/pw_complement.o\ - src_pw/heapsort.o\ - src_pw/numerical_basis.o\ - src_pw/bessel_basis.o\ - src_pw/ylm_real.o\ - src_pw/memory_calculation.o\ - -OBJS = ${TOOLS_OBJS} \ - ${SPILLAGE_OBJS} \ - ${PARALLEL_OBJS} \ - ${PW_OBJS}\ - -help : - @echo 'make target list: ' - @echo 's : Series version of Monte Carlo Spillage Program.' - @echo 'p : Parallel Version of Monte Carlo Spillage Program.' - @echo 'note : some notes.' - -s : ${OBJS} - ${CPLUSPLUS} -o 045.MCSP_s.exe ${OBJS} ${LIBS} - -p : ${OBJS} - $(CPLUSPLUS_MPI) -D__MPI -o 045.MCSP_p.exe $(OBJS) $(LIBS) - -note : - @echo 'atom type label : it ' - @echo 'atom label for each type : ia ' - @echo 'The angular momentum : l ' - @echo 'The multiplicity : n ' - @echo 'The magnetic quantum num : m ' - @echo 'The k point index : ik ' - @echo 'The band index : ib ' - @echo 'The eigenvalue of Jlq : ie ' - @echo 'The radius cutoff (a.u.) : rcut ' - @echo 'The state is : psi(ib,ik) ' - @echo 'The local orbitals is : phi(it,ia,l,n,m) ' - @echo 'The index of local basis : nwfc(it,l,n)' - @echo 'The index of local basis : nwfc2(it,ia,l,n,m) ' - @echo 'The Spherical Bessel func : Jl(ie,rcut) ' - @echo 'The SB transform : \int Jl(ie,rcut) * Jl' - @echo 'The index of Jlq coef : Coef(it,l,n,ie)' - @echo 'The local orbitals formu : phi=\sum_{ie} Coef(it,l,n,ie) * Jl(ie,rcut)' - @echo 'The spillage formula is : S = ' - @echo 'The projector P is : P = \sum_{mu,nu} |phi_mu> S^{-1} = (1-P1) |psi1>' - @echo 'So we can fonud that : P1|psi2> = 0 ' - @echo 'the Q matrix is : Q = ' - @echo 'the S matrix is : S = ' - @echo 'start index of band : BANDS_START(count from 1, not 0) ' - @echo 'end index of band : BANDS_END ' - -.cpp.o: - ${CPLUSPLUS} -c $< -o $@ -# $(CPLUSPLUS_MPI) -c -D__MPI $< -o $@ - -.PHONY:clean -clean: - ${RM} *.o *.exe core* src_tools/*.o src_spillage/*.o tests_s/ORBITAL* tests_s/ORBITAL* src_parallel/*.o src_pw/*.o diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/README b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/README deleted file mode 100644 index 0099ea35cd..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/README +++ /dev/null @@ -1,6 +0,0 @@ -Systematically -Improvable -Atomic Orbitals -Generator -Based on -Spillage formula diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/doc/Format.txt b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/doc/Format.txt deleted file mode 100644 index 8a0963fb7e..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/doc/Format.txt +++ /dev/null @@ -1,10 +0,0 @@ -The format of orbital file: - -(1) First line: -Mesh number - -(2) Second line: -delta r (unit: Bohr) - -(3) Type(always 0, you can ignore it), L(angular momentum), N (multizeta) -(4) wave function: psi (note, not psi*r). diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_parallel/parallel_common.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_parallel/parallel_common.cpp deleted file mode 100644 index bc86f2c2fd..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_parallel/parallel_common.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include "parallel_common.h" -#include //this is needed because strcpy - -#ifdef __MPI -void Parallel_Common::bcast_string(string &object) -{ - char swap[100]; - if(MY_RANK == 0) strcpy(swap, object.c_str() ); - MPI_Bcast(swap, 100, MPI_CHAR, 0, MPI_COMM_WORLD); - if(MY_RANK != 0) object = static_cast( swap ); -// cout<<"\n"<( swap ); - } - return; -} - -void Parallel_Common::bcast_complex_double(complex &object) -{ - double a = object.real(); - double b = object.imag(); - Parallel_Common::bcast_double(a); - Parallel_Common::bcast_double(b); - object = std::complex( a, b); - return; -} - -void Parallel_Common::bcast_complex_double(complex *object, const int n) -{ - double *a = new double[n]; - double *b = new double[n]; - - for(int i=0; i( a[i], b[i]); - } - delete[] a; - delete[] b; -} - -void Parallel_Common::bcast_double(double &object) -{ - MPI_Bcast(&object, 1, MPI_DOUBLE, 0, MPI_COMM_WORLD); -// cout<<"\n"<( swap ); -// cout<<"\n"< -#endif -#include "../src_spillage/tools.h" - -namespace Parallel_Common -{ - //(1) bcast array - void bcast_complex_double( std::complex *object, const int n); - void bcast_string(string *object,const int n); - void bcast_double(double *object,const int n); - void bcast_int(int *object,const int n); - void bcast_char(char *object,const int n); - - //(2) bcast single - void bcast_complex_double( std::complex &object); - void bcast_string(string &object); - void bcast_double(double &object); - void bcast_int(int &object); - void bcast_bool(bool &object); - -} - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_parallel/parallel_global.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_parallel/parallel_global.cpp deleted file mode 100644 index 791bfe1650..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_parallel/parallel_global.cpp +++ /dev/null @@ -1,85 +0,0 @@ -//========================================================== -// AUTHOR : fangwei, mohan -// DATE : 2009-11-08 -//========================================================== -#include "parallel_global.h" -#include "parallel_common.h" -#include "parallel_reduce.h" -#include "../src_spillage/tools.h" - -using namespace std; - -#if defined __MPI -MPI_Datatype mpicomplex; -MPI_Op myOp; -MPI_Comm POOL_WORLD; - -void Parallel_Global::myProd(complex *in, std::complex *inout,int *len,MPI_Datatype *dptr) -{ - for(int i=0;i<*len;i++) - { - (*inout).real()=(*inout).real()+(*in).real(); - (*inout).imag()=(*inout).imag()+(*in).imag(); - in++; - inout++; - } - return; -} -#endif - -void Parallel_Global::read_pal_param(int argc,char **argv) -{ -#if defined __MPI -//for test -/* - cout << "\n Hello! Test MPI NOW : argc = "< -extern MPI_Datatype mpicomplex; -extern MPI_Op myOp; -extern MPI_Comm POOL_WORLD; -#endif - -//void myProd(complex *in, std::complex *inout,int *len,MPI_Datatype *dptr); - -namespace Parallel_Global -{ - void read_pal_param(int argc, char **argv); - -#ifdef __MPI - void myProd(complex *in, std::complex *inout,int *len,MPI_Datatype *dptr); -#endif -} - - -#endif // GMPI diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_parallel/parallel_kpoints.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_parallel/parallel_kpoints.cpp deleted file mode 100644 index ef0b281f82..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_parallel/parallel_kpoints.cpp +++ /dev/null @@ -1,303 +0,0 @@ -#include "parallel_kpoints.h" -#include "parallel_global.h" -#include "parallel_common.h" - -Parallel_Kpoints::Parallel_Kpoints() -{ - nks_pool = new int[1]; - startk_pool = new int[1]; - whichpool = new int[1]; -} - -Parallel_Kpoints::~Parallel_Kpoints() -{ - delete[] nks_pool; - delete[] startk_pool; - delete[] whichpool; -} - -void Parallel_Kpoints::init(void) -{ - //TITLE("Parallel_Kpoints","init"); -#ifdef __MPI -//---------------------------------------------------------- -// CALL Function : divide_pools -//---------------------------------------------------------- - this->divide_pools(); - -// for test - - if(MY_RANK==0) - { - cout << "\n " << setw(8) << "MY_RANK" - << setw(8) << "MY_POOL" - << setw(13) << "RANK_IN_POOL" - << setw(6) << "NPROC" - << setw(6) << "KPAR" - << setw(14) << "NPROC_IN_POOL" << endl; - } - - ofs_running << "\n " << setw(8) << "MY_RANK" - << setw(8) << "MY_POOL" - << setw(13) << "RANK_IN_POOL" - << setw(6) << "NPROC" - << setw(6) << "KPAR" - << setw(14) << "NPROC_IN_POOL" << endl; - - for(int i=0;i mpi_split()"<= startpro_pool[i]) - { - MY_POOL=i; - } - } - - int key = 1; - RANK_IN_POOL = MY_RANK-startpro_pool[MY_POOL]; - - //======================================================== - // MPI_Comm_Split: Creates new communicators based on - // colors(2nd parameter) and keys(3rd parameter) - // Note: The color must be non-negative or MPI_UNDEFINED. - //======================================================== - MPI_Comm_split(MPI_COMM_WORLD,MY_POOL,key,&POOL_WORLD); -#endif - - return; -} - - -// the kpoints here are reduced after symmetry applied. -void Parallel_Kpoints::kinfo(int &nkstot) -{ -#ifdef __MPI - Parallel_Common::bcast_int(nkstot); - this->get_nks_pool(nkstot); - this->get_startk_pool(nkstot); - this->get_whichpool(nkstot); -#endif - return; -} - -void Parallel_Kpoints::get_whichpool(const int &nkstot) -{ - delete[] whichpool; - this->whichpool = new int[nkstot]; - ZEROS(whichpool, nkstot); - - for(int i=0; inks_pool[i]; ik++) - { - const int k_now = ik + startk_pool[i]; - this->whichpool[k_now] = i; - //ofs_running << "\n whichpool[" << k_now <<"] = " << whichpool[k_now]; - } - } - - return; -} - -void Parallel_Kpoints::get_nks_pool(const int &nkstot) -{ - delete[] nks_pool; - this->nks_pool = new int[KPAR]; - ZEROS(nks_pool, KPAR); - - const int nks_ave = nkstot/KPAR; - const int remain = nkstot%KPAR; - - //ofs_running << "\n nkstot = " << nkstot; - //ofs_running << "\n KPAR = " << KPAR; - //ofs_running << "\n nks_ave = " << nks_ave; - - for(int i=0; inks_pool[i] = nks_ave; - if(i &object) -{ -#ifdef __MPI - complex swap = object; - MPI_Allreduce(&swap, &object, 1, mpicomplex, myOp, MPI_COMM_WORLD); -#endif - return; -} - -void Parallel_Reduce::reduce_complex_double_pool(complex &object) -{ -#ifdef __MPI - complex swap = object; - MPI_Allreduce(&swap, &object, 1, mpicomplex, myOp, POOL_WORLD); -#endif - return; -} - -void Parallel_Reduce::reduce_complex_double_pool(complex *object, const int n) -{ -#ifdef __MPI - complex *swap = new std::complex[n]; - for(int i=0;iall[i]) - { - v = all[i]; - } - } - delete[] all; -#endif -} - -void Parallel_Reduce::gather_max_double_all(double &v) -{ -#ifdef __MPI - double *value=new double[NPROC]; - ZEROS(value, NPROC); - MPI_Allgather(&v, 1, MPI_DOUBLE, value, 1, MPI_DOUBLE, MPI_COMM_WORLD); - for(int i=0; ivalue[i]) - { - v = value[i]; - } - } - delete[] value; -#endif -} - -void Parallel_Reduce::gather_min_double_all(double &v) -{ -#ifdef __MPI - double *value=new double[NPROC]; - ZEROS(value, NPROC); - MPI_Allgather(&v, 1, MPI_DOUBLE, value, 1, MPI_DOUBLE, MPI_COMM_WORLD); - for(int i=0; ivalue[i]) - { - v = value[i]; - } - } - delete[] value; -#endif -} - -bool Parallel_Reduce::check_if_equal(double &v) -{ -#ifdef __MPI - double *all=new double[NPROC]; - MPI_Allgather(&v, 1, MPI_DOUBLE, all, 1, MPI_DOUBLE, MPI_COMM_WORLD); - for(int i=0; i 1.0e-9 ) - { - for(int j=0; jDk = dk; - - // to make a table - this->init_TableOne( SMOOTH, SIGMA, ECUT, RCUT, dr, Dk, LMAXALL, NE, TOLERENCE); - - return; -} - -double Bessel_Basis::Polynomial_Interpolation2 - (const int &l, const int &ie, const double &gnorm)const -{ - const double position = gnorm / this->Dk; - const int iq = static_cast(position); -// if(iq 0.0); - assert(dr > 0.0); - assert(dk > 0.0); - - // init kmesh - this->kmesh = static_cast(sqrt(ecutwfc) / dk) +1 + 4; - if (kmesh % 2 == 0)++kmesh; - cout << "\n kmesh = " << kmesh; - - // init Table One - this->TableOne.create(lmax+1, ecut_number, kmesh); - - // init rmesh - int rmesh = static_cast( rcut / dr ) + 4; - if (rmesh % 2 == 0) ++rmesh; - cout << "\n rmesh = " << rmesh; - - // allocate rmesh and Jlk and eigenvalue of Jlq - double *r = new double[rmesh]; - double *rab = new double[rmesh]; - double *jle = new double[rmesh]; - double *jlk = new double[rmesh]; - double *g = new double[rmesh]; // smooth function - double *function = new double[rmesh]; - double *en = new double[ecut_number]; - - for(int ir=0; ir(ir) * dr; - rab[ir] = dr; - if(smooth_in) - { - g[ir] = 1.0 - std::exp(-( (r[ir]-rcut)*(r[ir]-rcut)/2.0/sigma_in/sigma_in ) ); - } - } - - // init eigenvalue of Jl - for(int l=0; lTableOne(l, ie, ik) ); - } - - }// end ie - }// end ; - - delete[] en; - delete[] jle; - delete[] jlk; - delete[] rab; - delete[] g; - delete[] r; - delete[] function; - timer::tick("Spillage","TableOne"); - return; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/bessel_basis.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/bessel_basis.h deleted file mode 100644 index 0857edffa5..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/bessel_basis.h +++ /dev/null @@ -1,47 +0,0 @@ -//========================================================== -// AUTHOR : mohan -// DATE : 2009-3-29 -// Last Modify : 2009-08-28 -//========================================================== -#ifndef BESSEL_BASIS_H -#define BESSEL_BASIS_H -#include "../src_spillage/common.h" - -//========================================================== -// CLASS : -// NAME : Bessel_Basis -//========================================================== -class Bessel_Basis -{ -public: - Bessel_Basis(); - ~Bessel_Basis(); - - // used for a specific group of C4 coefficients. - void init( - const double &dk = 0.01, - const double &dr = 0.01); - - // get value from interpolation - double Polynomial_Interpolation2(const int &l, const int &ie, const double &gnorm)const; - - realArray TableOne; - -private: - int kmesh; - double Dk; - - // init table, used for output overlap Q. - void init_TableOne( - const bool smooth_in, - const double &sigma_in, - const double &ecut, - const double &rcut, - const double &dr, - const double &dk, - const int &lmax, - const int &ecut_number, - const double &tolerence); -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/heapsort.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/heapsort.cpp deleted file mode 100644 index 67ecac6489..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/heapsort.cpp +++ /dev/null @@ -1,171 +0,0 @@ -#include "../src_spillage/common.h" -#include "heapsort.h" - -void heapAjust(double *r, int *ind, int s, int m) -{ - int j, ic; - double rc; - rc = r[s]; - ic = ind[s]; - - for (j = 2 * s;j <= m;j *= 2) - { - if (j < m && (r[j] < r[j+1])) j++; - - if (!(rc < r[j])) break; - - r[s] = r[j]; - - ind[s] = ind[j]; - - s = j; - } - - r[s] = rc; - - ind[s] = ic; - return; -} - -void heapsort(const int n, double *r, int *ind) -{ - timer::tick("mymath","heapsort"); - int i, ic; - double rc; - - if (ind[0] == 0) - { - for (i = 0;i < n;i++) - { - ind[i] = i; - } - } - - for (i = n / 2;i >= 0;i--) - { - heapAjust(r, ind, i, n - 1); - } - - for (i= n - 1;i > 0;i--) - { - rc = r[0]; - r[0] = r[i]; - r[i] = rc; - ic = ind[0]; - ind[0] = ind[i]; - ind[i] = ic; - heapAjust(r, ind, 0, i - 1); - } - timer::tick("mymath","heapsort"); - return; -} - -/*-------------------------------------------------------------------- - subroutine hpsort(n,ra,ind) -c--------------------------------------------------------------------- -c sort an array ra(1:n) into ascending order using heapsort algorithm. -c n is input, ra is replaced on output by its sorted rearrangement. -c create an index table (ind) by making an exchange in the index array -c whenever an exchange is made on the sorted data array (ra). -c in case of equal values in the data array (ra) the values in the -c index array (ind) are used to order the entries. -c if on input ind(1) = 0 then indices are initialized in the routine, -c if on input ind(1) != 0 then indices are assumed to have been -c initialized before entering the routine and these -c indices are carried around during the sorting process -c -c no work space needed ! -c free us from machine-dependent sorting-routines ! -c -c adapted from Numerical Recipes pg. 329 (new edition) -*********************************************************************/ - -// from hpsort.f90 -void hpsort(int n, double *ra, int *ind) -{ - int i, ir, j, k, iind; - double rra; - - if (ind[1] == 0) - { - for (i = 1;i <= n;i++) - ind[i] = i; - } - - if (n < 2) return; // nothing to order - - k = n / 2 + 1; - - ir = n; - - while (true) - { - if (k > 1) // still in hiring phase - { - k = k - 1; - rra = ra[k]; - iind = ind[k]; - } - else // in retirement-promotion phase. - { - rra = ra[ir]; // clear a space at the end of the array - iind = ind[ir]; // - ra[ir] = ra[1]; // retire the top of the heap into it - ind[ir] = ind[1]; // - ir = ir - 1; // decrease the size of the corporation - - if (ir == 1) // done with the last promotion - { - ra[1] = rra; // the least competent worker at all // - ind[1] = iind; // - return; - } - } - - i = k; // wheter in hiring or promotion phase, we - - j = k + k; // set up to place rra in its proper level - - while (j <= ir) - { - if (j < ir) - { - if (ra[j] < ra[j+1]) // compare to better underling - { - j = j + 1; - } - else if (ra[j] == ra[j+1]) - { - if (ind[j] < ind[j+1]) - j = j + 1; - } - } - - if (rra < ra[j]) // demote rra - { - ra[i] = ra[j]; - ind[i] = ind[j]; - i = j; - j = j + j; - } - else if (rra == ra[j]) - { - if (iind < ind[j]) // demote rra - { - ra[i] = ra[j]; - ind[i] = ind[j]; - i = j; - j = j + j; - } - else - j = ir + 1; // set j to terminate do-while loop - } - else // this is the right place for rra - j = ir + 1; // set j to terminate do-while loop - } - - ra[i] = rra; - - ind[i] = iind; - } -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/heapsort.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/heapsort.h deleted file mode 100644 index ae40098c5a..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/heapsort.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef HEAPSORT_H -#define HEAPSROT_H -#include "../src_spillage/common.h" - -void heapsort(int n, double *r, int *ind); -void heapAjust(double r[], int ind[], int s, int m); -void hpsort(int n, double *ra, int *ind); - -#endif // HEAPSORT_H - - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/memory_calculation.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/memory_calculation.cpp deleted file mode 100644 index 1df8f7503d..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/memory_calculation.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "memory_calculation.h" - -Memory::Memory() -{} - -Memory::~Memory() -{} - -void Memory::calculation(void) -{ - TITLE("Memory","calculation"); - - const double dk = 0.01; - int kmesh = static_cast(sqrt(ECUT) / dk) +1 + 4; - if (kmesh % 2 == 0)++kmesh; - - const int n1 = NTYPE; - const int n2 = LMAXUSED + 1; - const int n3 = NMAXUSED; - const int n4 = kmesh; - const int n1234 = n1 * n2 * n3 * n4; - - cout << "\n psi1d dimension(NTYPE, LMAXUSED+1, NMAXUSED, kmesh) : " << n1234 - << " = " << n1 << " * " << n2 << " * " - << n3 << " * " << n4 << " = " << n1234 * 8 / (double)1024 / (double)1024 << " MB"; - - for(int i=0; i[1]; - gcar_global = new Vector3[1]; - -#ifdef __MPI - gg = new double[1]; - gdirect = new Vector3[1]; - gcar = new Vector3[1]; -#endif - - ig1 = new int[1]; - ig2 = new int[1]; - ig3 = new int[1]; - - psi3d = new ComplexMatrix[1]; - ylm = new matrix[1]; - Jlq = new std::complex[1]; - - save = new std::complex[1]; - posmu = new int[1]; - posnu = new int[1]; -} - -PW_Basis::~PW_Basis() -{ - delete [] gcar_global; - delete [] gdirect_global; - delete [] gg_global; - -#ifdef __MPI - delete [] gcar; - delete [] gdirect; - delete [] gg; -#endif - - delete [] ig1; - delete [] ig2; - delete [] ig3; - - delete[] psi3d; - delete[] ylm; - delete[] Jlq; - - delete[] save; - delete[] posmu; - delete[] posnu; -} - -void PW_Basis::init(void) -{ - TITLE("PW_Basis","init"); - timer::tick("PW_Basis","init"); - - // (1) setup the energy cutoff, which is different in each pool, - // because the number of k points is differnt. - this->setup_gg(); - - // (2) setup the FFT dimension according to energy cutoff. - this->setup_FFT_dimension(); - - OUT(ofs_running,"ggwfc2(Ry)",ggwfc2); - - // (3) get the number of plane waves for wave functions. - this->ngmc_g = PW_complement::get_total_pw_number(0.0, ggchg, nx, ny, nz, GGT); - this->ngmw_g = PW_complement::get_total_pw_number(0.0, ggwfc2, nx, ny, nz, GGT); - - OUT(ofs_running,"ngmc_g",ngmc_g); - OUT(ofs_running,"ngmw_g",ngmw_g); - - // (4) get the local number of plane waves. - assert(NPROC_IN_POOL>0); - const int remain = ngmw_g % NPROC_IN_POOL; - this->ngmw = this->ngmw_g / NPROC_IN_POOL; - if (RANK_IN_POOL < remain) - { - this->ngmw++; - } - - if (RANK_IN_POOL < remain) - { - ngmw_start = ngmw * RANK_IN_POOL; - } - else - { - ngmw_start = (ngmw+1) * remain + ngmw * (RANK_IN_POOL-remain); - } - - OUT(ofs_running,"ngmw",ngmw); - //ofs_running << "\n ngmw_start = " << ngmw_start; - - // (5) init |g|, g_direct, g_cartesian - delete[] gdirect_global; - delete[] gcar_global; - delete[] gg_global; - - gdirect_global = new Vector3[ngmc_g];// indices of G vectors - gcar_global = new Vector3[ngmc_g]; - gg_global = new double[ngmc_g];// store the |G|^2 of the 1d array - - PW_complement::get_total_pw(gg_global, gdirect_global, 0.0, ggchg, nx, ny, nz, this->GGT, ngmc_g); - //PW_complement::get_total_pw(gg_global, gdirect_global, 0.0, ggwfc2, nx, ny, nz, this->GGT, ngmw_g); - PW_complement::setup_GVectors(this->G, ngmc_g, gg_global, gdirect_global, gcar_global); - - // (6) get ig1, ig2, ig3 -#ifdef __MPI - this->get_MPI_GVectors(); -#else - this->get_GVectors(); -#endif - // mohan add on 2011-07-23 - stringstream ss; - ss << "ORBITAL_PW_GK" << MY_RANK+1 << ".dat"; - ofstream ofs(ss.str().c_str()); - ofs << ggwfc2 << " (ggwfc2, Ry)" << endl; - ofs << ngmw << " (Number of plane wave basis for wave functions)" << endl; - for(int ig=0; igset_igk(); - - this->setup_structure_factor(); - timer::tick("PW_Basis","init"); - return; -} - -void PW_Basis::setup_gg(void) -{ - TITLE("PW_Basis","setup_gg"); - - //(1.1) lattice parameters - this->GT = LATVEC.Inverse(); - this->G = GT.Transpose(); - this->GGT = G * GT; - - // (1.2) tpiba and ecut - assert(LAT0 > 0.0); - this->tpiba = TWO_PI/LAT0; - this->tpiba2 = tpiba * tpiba; - this->ggpsi = ECUT / tpiba2; - - double wfac = 4.0; - this->ggchg = wfac * this->ggpsi; - - // (1.3) get ggwfc2 - assert( NKS > 0); - assert( CARKX != NULL ); - assert( CARKY != NULL ); - assert( CARKZ != NULL ); - - for (int ik=0; ikggpsi) + k_mod; - const double tmp2 = tmp * tmp ; - if (this->ggwfc2 < tmp2) this->ggwfc2 = tmp2; - } - - OUT(ofs_running,"NKS",NKS); - OUT(ofs_running,"ggpsi(Ry)",ggpsi*tpiba2); - OUT(ofs_running,"ggwfc2(Ry)",ggwfc2*tpiba2); - - // (1.4) initialize itia2iat - this->itia2iat = new int*[NTYPE]; - int iat=0; - for (int it=0; itnpwx = 0; - this->ngk = new int[NKS]; - ZEROS(this->ngk, NKS); - - assert(this->ngmw>0); - -// ofs_running << "\n\n ngmw = " << ngmw; -// ofs_running << "\n gg[ngmw-1]=" << gg[ngmw-1]; - for (int ik=0; ik kcar(CARKX[ik], CARKY[ik], CARKZ[ik]); - const double k2 = kcar * kcar; - int ng=0; - for (int ig=0; ig f = this->gcar[ig] + kcar; - const double gk2 = f * f; - if (sqrt(this->gg[ig]) > sqrt(this->ggpsi) + sqrt(k2)) - { - break; - } - if (gk2 <= this->ggpsi) - { - ++ng; - } - } - this->ngk[ik] = ng; - //ofs_running << "\n ngk[" << ik << "]=" << ngk[ik]; - if ( npwx < ng) - { - npwx = ng; - } - } - - OUT(ofs_running,"npwx",npwx); - - // set igk - this->igk = new int*[NKS]; - for (int ik=0; ikngk[ik]]; - ZEROS(igk[ik], ngk[ik]); - } - - for (int ik=0; ik kcar(CARKX[ik], CARKY[ik], CARKZ[ik]); - int ng=0; - const double k2 = kcar * kcar; - for (int ig=0; ig f = this->gcar[ig] + kcar; - const double gk2 = f * f; - if (sqrt(this->gg[ig]) > sqrt(this->ggpsi) + sqrt(k2)) - { - break; - } - if (gk2 <= this->ggpsi) - { - this->igk[ik][ng] = ig; - ++ng; - } - } - } - - return; -} - -// First stage Basis initialization. -// Set up crystal structure parameters. -void PW_Basis::setup_FFT_dimension() -{ - TITLE("PW_Basis","setup_FFT_dimension"); - - PW_complement::get_FFT_dimension(LATVEC, this->ggchg, nx, ny, nz); - this->nxyz = nx * ny * nz; - - OUT(ofs_running,"FFT wavefunctions",nx,ny,nz); - - return; -} - - - -#ifdef __MPI -void PW_Basis::get_MPI_GVectors(void) -{ - TITLE("PW_Basis","get_MPI_GVectors"); - - assert(ngmw>0); - - // (1) first part - delete[] gdirect; - delete[] gcar; - delete[] gg; - this->gdirect = new Vector3[ngmw]; - this->gcar = new Vector3[ngmw]; - this->gg = new double[ngmw]; - - for (int ig=0; igig1 = new int[ngmw]; - this->ig2 = new int[ngmw]; - this->ig3 = new int[ngmw]; - -// cout << "\n dim of ig1,2,3 = " << ngmw; - - for (int i = 0; i < ngmw; i++) - { - this->ig1[i] = int(this->gdirect[i].x) + nx; - this->ig2[i] = int(this->gdirect[i].y) + ny; - this->ig3[i] = int(this->gdirect[i].z) + nz; - } - - return; -}//end setup_mpi_GVectors -#else -void PW_Basis::get_GVectors(void) -{ - TITLE("PW_Basis","get_GVectors"); - timer::tick("PW_Basis","get_GVectors"); - - //************************************************************ - // g : Store the G vectors in 1d array (Cartian coordinate) - // ig : Store the G vectors in 1d array (Direct coordinate) - // gg : store the |G|^2 of the 1d array - //************************************************************ - - //---------------------------------------------------------- - // EXPLAIN : if not parallel case, we use pointer - // g and g_global are pointers to the same array - //---------------------------------------------------------- - this->gcar = this->gcar_global; - this->gdirect = this->gdirect_global; - this->gg = this->gg_global; - - // (2) calculate ig1, ig2, ig3 - assert(ngmw>0); - delete[] ig1; - delete[] ig2; - delete[] ig3; - this->ig1 = new int[ngmw]; - this->ig2 = new int[ngmw]; - this->ig3 = new int[ngmw]; - - for (int i = 0; i < ngmw; i++) - { - this->ig1[i] = int(this->gdirect[i].x) + nx; - this->ig2[i] = int(this->gdirect[i].y) + ny; - this->ig3[i] = int(this->gdirect[i].z) + nz; - } - - timer::tick("PW_Basis","get_GVectors"); - return; -}//end get_GVectors; -#endif - - -// Calculate structure factor -void PW_Basis::setup_structure_factor(void) -{ - TITLE("PW_Basis","setup_structure_factor"); - timer::tick("PW_Basis","setup_struc_factor"); - std::complex ci_tpi = NEG_IMAG_UNIT * TWO_PI; - std::complex x; - - this->strucFac = new std::complex*[NTYPE]; - for (int it=0; itstrucFac[it] = new std::complex[ngmw]; - ZEROS( strucFac[it], ngmw); - } - - for (int it=0; it< NTYPE; it++) - { - for (int ig=0; igstrucFac[it][ig] = std::complex( sum_cos, -sum_sin ); - - double tmpx = strucFac[it][ig].real() ; - double tmpy = strucFac[it][ig].imag() ; - } - } - - int nat = 0; - for (int it=0; iteigts1.create(nat, 2*this->nx + 1); - this->eigts2.create(nat, 2*this->ny + 1); - this->eigts3.create(nat, 2*this->nz + 1); - - Vector3 gtau; - Vector3 tau; - int iat = 0; - for (int it = 0; it < NTYPE; it++) - { - for (int ia = 0; ia < NA[it]; ia++) - { - tau.x = CARPOSX[it][ia]; - tau.y = CARPOSY[it][ia]; - tau.z = CARPOSZ[it][ia]; - - gtau = this->G * tau; //HLX: fixed on 10/13/2006 - - for (int n1 = -nx; n1 <= nx; n1++) - { - double arg = n1 * gtau.x; - this->eigts1(iat, n1 + nx) = exp( ci_tpi*arg ); - } - for (int n2 = -ny; n2 <= ny; n2++) - { - double arg = n2 * gtau.y; - this->eigts2(iat, n2 + ny) = exp( ci_tpi*arg ); - } - for (int n3 = -nz; n3 <= nz; n3++) - { - double arg = n3 * gtau.z; - this->eigts3(iat, n3 + nz) = exp( ci_tpi*arg ); - } - iat++; - } - } - timer::tick("PW_Basis","setup_struc_factor"); - return; -} - -complex* PW_Basis::get_sk(const int ik, const int it, const int ia)const -{ - timer::tick("PW_Basis","get_sk"); - const double arg = (CARKX[ik] * CARPOSX[it][ia] - + CARKY[ik] * CARPOSY[it][ia] - + CARKZ[ik] * CARPOSZ[it][ia] ) * TWO_PI; - const std::complex kphase = complex ( cos(arg), -sin(arg) ); - std::complex *sk = new std::complex[ this->ngk[ik] ]; - const int iat = this->itia2iat[it][ia]; - - for (int ig=0; ig< this->ngk[ik]; ig++) - { -// cout << "\n ig=" << ig << endl; - const int iig = this->igk[ik][ig]; - assert( iig < ngmw ); - - if (!(ig1[iig] >= 0 && ig1[iig] < 2*nx + 1) ) - { - cout << "\n ig1[iig] = " << ig1[iig] << endl; - QUIT(); - } - - if (!(ig2[iig] >= 0 && ig2[iig] < 2*ny + 1) ) - { - cout << "\n ig2[iig] = " << ig2[iig] << endl; - QUIT(); - } - - if (!(ig3[iig] >= 0 && ig3[iig] < 2*nz + 1) ) - { - cout << "\n iig = " << iig << endl; - cout << "\n ig3[iig] = " << ig3[iig] << endl; - QUIT(); - } - - sk[ig] = kphase - * this->eigts1(iat, this->ig1[iig]) - * this->eigts2(iat, this->ig2[iig]) - * this->eigts3(iat, this->ig3[iig]); - } - timer::tick("PW_Basis","get_sk"); - return sk; -} - -Vector3 PW_Basis::get_1qvec_cartesian(const int ik,const int ig)const -{ - Vector3 kvec = Vector3(CARKX[ik], CARKY[ik], CARKZ[ik]); - Vector3 qvec = kvec + this->gcar[ this->igk[ik][ig] ]; - return qvec; -} - -void PW_Basis::table(void) -{ - TITLE("PW_Basis", "table"); - NBasis.init_table(); - - const int total_lm = ( LMAXUSED + 1) * ( LMAXUSED + 1); - - delete[] ylm; - this->ylm = new matrix[NKS]; - - for (int ik=0; ikylm[ik].create(total_lm, npw); - - // (1) get the vector k+G - Vector3 *gk = new Vector3 [npw]; - for (int ig=0; igget_1qvec_cartesian(ik, ig); - } - - // (2) generate ylm according to different k. - // (or we can save the ylm for only once but all k points. - Ylm_Real(total_lm, npw, gk, this->ylm[ik]); - - delete[] gk; - } - - - // init index of iw00 - assert(NWFCALL>0); - this->iwindex = new Way2iw[NWFCALL]; - - int iw=0; - for(int it=0; itnwfc2 = mz.Level[il].nwfc2; - - this->Dk = 0.01; - this->kmesh = static_cast(sqrt(ECUT) / Dk) + 1 + 4; - if (kmesh % 2 == 0) ++kmesh; - - this->psi1d.create(NTYPE, LMAXUSED+1, NMAXUSED, kmesh); - - delete[] save; - delete[] posmu; - delete[] posnu; - - const int dim = nwfc2 * nwfc2; - save = new std::complex[dim]; - posmu = new int[dim]; - posnu = new int[dim]; - ZEROS(save, dim); - ZEROS(posmu, dim); - ZEROS(posnu, dim); - return; -} - -void PW_Basis::calculate_psi1d(void) -{ - timer::tick("PW_Basis","calculate_psi1d"); - psi1d.zero_out(); - for (int it=0; itpsi1d(it,l,n,ikm) += input.Coef.C4(it, l, n ,ie) - * Numerical_Basis::bessel_basis.TableOne(l, ie, ikm); - } - } - } - } - } - timer::tick("PW_Basis","calculate_psi1d"); - return; -} - -void PW_Basis::allocate_psi3d(const int &level) -{ - - // allocate the number of wave functions. - // consider(it, ia, l, n, m) - delete[] psi3d; - psi3d = new ComplexMatrix[NKS]; - - for (int ik=0; ikpsi3d[ik].create(nwfc2, npwx); - } - return; -} - - -void PW_Basis::calculate_psi3d(const int &ilevel, const int &ik) -{ - //TITLE("PW_Basis", "calculate_psi3d"); - timer::tick("PW_Basis", "calculate_psi3d"); - // (1) get the vector k+G - - ofs_running << " calculate_psi3d" << endl; - ofs_running << " ilevel = " << ilevel << " ik = " << ik << endl; - - const int npw = ngk[ik]; - - Vector3 *gk = new Vector3 [npw]; - for (int ig=0; igget_1qvec_cartesian(ik, ig); - } - - double *flq = new double[npw]; - for (int iw=0; iwnwfc2; iw++) - { - // for each wave function in nwfc2(it, i, l, n) - const int it = mz.Level[ilevel].wayd[iw].type; - const int ia = mz.Level[ilevel].wayd[iw].i; - const int l = mz.Level[ilevel].wayd[iw].L; - const int n = mz.Level[ilevel].wayd[iw].N; - const int m = mz.Level[ilevel].wayd[iw].m; - std::complex lphase = pow(IMAG_UNIT, l); - - // get flq from psi1d for each k point - for (int ig=0; igPolynomial_Interpolation(it, l, n, gk[ig].norm() * this->tpiba ); - } - - // get the structure wave functions for each k point. - std::complex *sk = this->get_sk(ik, it, ia); - - const int lm = l*l+m; - for (int ig=0; ig PW_Basis::calculateS(const int &iw, const int &iw2, const int &ik) -{ - std::complex overlap = 0.0; - for (int ig=0; igpsi3d[ik](iw, ig)) * this->psi3d[ik](iw2, ig); - } -// move this outside to get_spillage -#ifdef __MPI -// Parallel_Reduce::reduce_complex_double_pool(overlap); -#endif - return overlap; -} - - -void PW_Basis::update_psi1d(const int &il, const int &ic, const int &ie, - const double &c4_now, const double &c4_old) -{ - timer::tick("PW_Basis","update_psi1d"); - - // a small trick - // ALGORITHM : when we change psi1d, we don't know - // this psi1d will be accepted or rejected. - // However, it has been changed. - // So, in the next time, we recalculate them - // using C4. - static int it_last = -1; - static int l_last = -1; - static int n_last = -1; - - const int it_now = mz.Level[il].wayc[ic].type; - const int l_now = mz.Level[il].wayc[ic].L; - const int n_now = mz.Level[il].wayc[ic].N; - - for (int it=0; itpsi1d(it,l,n,ikm) = sum; - } - } - else if(it==it_now || l==l_now || n==n_now) - { - for (int ikm=0; ikmpsi1d(it,l,n,ikm) += (c4_now-c4_old) * Numerical_Basis::bessel_basis.TableOne(l, ie, ikm); - } - } - } - } - } - - it_last = it_now; - l_last = l_now; - n_last = n_now; - - timer::tick("PW_Basis","update_psi1d"); - return; -} - -void PW_Basis::update_psi3d( const int &il, const int &ic, const int &ik) -{ -// TITLE("PW_Basis","update_psi1d3d"); - timer::tick("PW_Basis","update_psi3d"); - - const int npw = ngk[ik]; - static int it_old; - static int ia_old; - static int l_old; - static int n_old; - static bool allocate=false; - static int *ic_last; - if (!allocate) - { - ic_last = new int[NKS]; - for (int ik=0; ik *gk = new Vector3 [npw]; - for (int ig=0; igget_1qvec_cartesian(ik, ig); - } - double *flq = new double[npw]; - std::complex *sk = new std::complex[1]; - std::complex *samepart = new std::complex[npw]; - for (int iw=0; iwnwfc2; iw++) - { - const int ic1 = mz.Level[il].wayd[iw].ic; - if (ic1 == ic || ic1 == ic_last[ik]) - { - // for each wave function in nwfc2(it, i, l, n) - const int it = mz.Level[il].wayd[iw].type; - const int ia = mz.Level[il].wayd[iw].i; - const int l = mz.Level[il].wayd[iw].L; - const int n = mz.Level[il].wayd[iw].N; - const int m = mz.Level[il].wayd[iw].m; - std::complex lphase = pow(IMAG_UNIT, l); - - // a small trick: get the structure wave functions for each k point. - if (it==it_old && ia==ia_old) - { - // do nothing - } - else - { - delete[] sk; - sk = this->get_sk(ik, it, ia); - } - - // small trick (2) : get flq from psi1d for each k point - if (it==it_old && l==l_old && n==n_old) - { - // do nothing - } - else - { - for (int ig=0; igPolynomial_Interpolation(it, l, n, gk[ig].norm() * this->tpiba ); - } - } - - // small trick (3) - if (it==it_old && ia==ia_old && l==l_old && n==n_old) - { - //samepart is the same as the previous one. - } - else - { - for (int ig=0; igDk; - const int iq = static_cast(position); - assert(iq < kmesh-4); - const double x0 = position - static_cast(iq); - const double x1 = 1.0 - x0; - const double x2 = 2.0 - x0; - const double x3 = 3.0 - x0; - const double y= - this->psi1d(it, l, n, iq) * x1 * x2 * x3 / 6.0 + - this->psi1d(it, l, n, iq) * x0 * x2 * x3 / 2.0 - - this->psi1d(it, l, n, iq) * x1 * x0 * x3 / 2.0 + - this->psi1d(it, l, n, iq) * x1 * x2 * x0 / 6.0 ; - return y; -} - - -void PW_Basis::calculate_Jlq(const int &ik, const int &iw, const int &ie) -{ - //TITLE("PW_Basis", "calculate_Jlq"); - timer::tick("PW_Basis","calculate_Jlq"); - - const int npw = this->ngk[ik]; - const int it= iwindex[iw].type; - const int ia= iwindex[iw].i; - const int l = iwindex[iw].L; - const int m = iwindex[iw].m; - - // generate 1d Jlq. - Vector3 *gk = new Vector3 [npw]; - double* flq=new double[npw]; - for (int ig=0; igget_1qvec_cartesian(ik, ig); - } - for (int ig=0; igtpiba ); - } - - // generate 3d Jlq. - delete[] Jlq; - Jlq = new std::complex[npw]; - std::complex *sk = this->get_sk(ik, it, ia); - - const int lm = l*l+m; - std::complex lphase = pow(IMAG_UNIT, l); - for (int ig=0; ig PW_Basis::calculate_Jlq_Phi(const int &ik, const int &mu) -{ - const int npw = this->ngk[ik]; - complex overlap = std::complex(0,0); - for(int ig=0; ig** strucFac; // StrucFac [ntype,ngmax] - - int ngmw; //(= ngmax) / num. of G vectors within ggfft - int ngmw_g; - int ngmw_start; - - int ngmc; - int ngmc_g; - int ngmc_start; - - Vector3 *gdirect; //(= *G1d) ; // ig = new Vector igc[ngmc], - Vector3 *gdirect_global; //(= *G1d) ; // ig = new Vector igc[ngmc], - Vector3 *gcar; //G vectors in cartesian corrdinate - Vector3 *gcar_global; //G vectors in cartesian corrdinate - double *gg; // modulus (G^2) of G vectors - double *gg_global; // modulus (G^2) of G vectors - - ComplexMatrix eigts1; // - ComplexMatrix eigts2; //the phases e^{-iG*tau_s} - ComplexMatrix eigts3; // - int *ig1; // - int *ig2; // the indices of G components - int *ig3; // - - PW_Basis(); - ~PW_Basis(); - - void init(void); - void setup_structure_factor(void); // Calculate structur factors - void get_sk(void); - complex* get_sk(const int ik, const int it, const int ia)const; - Vector3 get_1qvec_cartesian(const int ik,const int ig)const; - - void table(void); - Numerical_Basis NBasis; - - void allocate_psi1d(const int &il); - void allocate_psi3d(const int &level); - realArray psi1d; - ComplexMatrix *psi3d; - matrix *ylm; - - void calculate_psi1d(void); - // FUNCTION: - // use psi1d to generate 3D wave functions. - // psi3d(it, ia, l, n, m) for each k point. - void calculate_psi3d(const int &ilevel, const int &ik); - - void update_psi1d(const int &il, const int &ic, const int &ie, - const double &c4_now, const double &c4_old); - - int nwfc2; - - void update_psi3d( const int &il, const int &ic, const int &ik); - - int kmesh; - double Dk; - - // FNCTION: - // calculate the overlap between psi(it, ia, l, n, m) - // be called in SpillageStep::init_QS_matrix - complex calculateS(const int &iw, const int &iw2, const int &ik); - - void calculate_Jlq(const int &ik, const int &iw, const int &ie); - complex *Jlq; - complex calculate_Jlq_Phi(const int &ik, const int &mu); - - complex *save; - int* posmu; - int* posnu; - -private: - void set_igk(void); - void setup_gg(void); - void setup_FFT_dimension(void); // set up FFT dimensions -#ifdef __MPI - void get_MPI_GVectors(void); -#else - void get_GVectors(void); -#endif - - // FUNCTION: - // use interpolation scheme to get the one dimension wave function for - // each k point - double Polynomial_Interpolation(const int &it, const int &l, const int &n, const double &gnorm)const; - - Way2iw* iwindex; - -}; -#endif //PlaneWave class diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/pw_complement.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/pw_complement.cpp deleted file mode 100644 index a2ab75cada..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/pw_complement.cpp +++ /dev/null @@ -1,267 +0,0 @@ -#include "pw_complement.h" -#include "heapsort.h" - -int PW_complement::get_total_pw_number( - const double& ggcut_start, - const double& ggcut_end, - const int& nx, - const int& ny, - const int& nz, - const Matrix3& GGT) -{ - TITLE("PW_complement","get_total_pw_number"); - if (ggcut_end<=0.0) - { - WARNING_QUIT("PW_complement::get_total_pw_number","ggcut <= 0.0"); - } - // First, figure out the number of G-vectors within the cutoff G2max. - int ibox[3]={0,0,0}; - - // mohan modify 2008-3-25 nx -> ncx ,ny-> ncy, nz->ncz - ibox[0] = int(nx / 2) + 1; - ibox[1] = int(ny / 2) + 1; - ibox[2] = int(nz / 2) + 1; - - // first create the auxiliary arrays for the 1D G vectors - Vector3 f; - int ngm = 0 ; - for (int i = -ibox[0]; i <= ibox[0]; i++) - { - for (int j = -ibox[1]; j <= ibox[1]; j++) - { - for (int k = -ibox[2]; k <= ibox[2]; k++) - { - f.x = i; - f.y = j; - f.z = k; - double g2 = f * (GGT * f); //G2= |f|^2 in the unit of (2Pi/lat0)^2 - - if (g2 < ggcut_end && g2 >= ggcut_start) - { - ngm++; - } - } - } - } - return ngm; -} - -void PW_complement::get_total_pw( - double* gg, - Vector3 *ig, - const double& ggcut_start, - const double& ggcut_end, - const int& nx, - const int& ny, - const int& nz, - const Matrix3& GGT, // GGT = G*GT. - int& ngm// number of total plane waves. -) -{ - TITLE("PW_complement","get_total_pw"); - timer::tick("PW_complement","get_total_pw"); - if (ggcut_end<=0.0) - { - WARNING_QUIT("PW_complement::get_total_pw","ggcut <= 0.0"); - } - // First, figure out the number of G-vectors within the cutoff G2max. - int ibox[3]={0,0,0}; - - // mohan modify 2008-3-25 nx -> ncx ,ny-> ncy, nz->ncz - ibox[0] = int(nx / 2) + 1; - ibox[1] = int(ny / 2) + 1; - ibox[2] = int(nz / 2) + 1; - - // first create the auxiliary arrays for the 1D G vectors - Vector3 f; - int ng = 0; - for (int i = -ibox[0]; i <= ibox[0]; i++) - { - for (int j = -ibox[1]; j <= ibox[1]; j++) - { - for (int k = -ibox[2]; k <= ibox[2]; k++) - { - f.x = i; - f.y = j; - f.z = k; - double g2 = f * (GGT * f); //G2= |f|^2 in the unit of (2Pi/lat0)^2 - if (g2 < ggcut_end && g2 >= ggcut_start) - { - /*** g vector indices f=(i,j,k) ***/ - ig[ng] = f ; - gg[ng] = g2; - //cout<0,use the input - // FFT grid, otherwise generate the FFT grid in the code. - - int i = 0; - Vector3 lat; - int ibox[3]={0,0,0}; - - // ibox[i] are the minimal FFT dimensions, - lat.x = latvec.e11; - lat.y = latvec.e12; - lat.z = latvec.e13; - ibox[0] = 2 * int(sqrt(ggcut) * sqrt(lat * lat)) + 1; - - lat.x = latvec.e21; - lat.y = latvec.e22; - lat.z = latvec.e23; - ibox[1] = 2 * int(sqrt(ggcut) * sqrt(lat * lat)) + 1; - - lat.x = latvec.e31; - lat.y = latvec.e32; - lat.z = latvec.e33; - ibox[2] = 2 * int(sqrt(ggcut) * sqrt(lat * lat)) + 1; - //lat*lat=lat.x*lat.x+lat.y*lat.y+lat.z+lat.z - - /* Find the minimal FFT box size the factors into the primes (2,3,5,7). */ - -// log << "\n ibox[0]= "<< ibox[0] << " ibox[1] = "< *igsort = new Vector3[ngmc_g_in]; - for (int i=0;i *igsort, - const double& ggcut_start, const double& ggcut_end, - const int& nx, const int& ny, const int& nz, const Matrix3& GGT, // GGT = G*GT - int& ngm); // number of total plane waves. - -// output nx, ny, nz according to input: latve and ggcut. -void get_FFT_dimension(const Matrix3& latvec, const double &ggcut, int &nx, int &ny, int &nz); - -//========================================================== -// MEMBER FUNCTION : -// NAME : PW_Basis::setup_GVectors -// Second part of the initialization : find out all G -// vectors that |G|^2<=G2max and map it into a one -// dimentional array G1d in the increase order of |G|^2. -// Next generate the indices between the 1D array and -// the 3D G-grid and the FFT grid. -// generate : gg_global, g_global, ig_global -//========================================================== -void setup_GVectors(const Matrix3& G, const int &ngmc_g, double* gg, - Vector3* ig, Vector3* g); -} - - -#endif - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/ylm_real.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/ylm_real.cpp deleted file mode 100644 index 5fcc7724f4..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/ylm_real.cpp +++ /dev/null @@ -1,295 +0,0 @@ -#include "ylm_real.h" -#include "../src_parallel/parallel_reduce.h" -#include "../src_spillage/tools.h" - -//========================================================== -// MEMBER FUNCTION : -// NAME : YLM_REAL(Real spherical harmonics ylm(G) up to l=lmax -// Use Numerical recursive algorithm as given in Numerical Recipes -//========================================================== -void Ylm_Real -( - const int lmax2, // lmax2 = (lmax+1)^2 - const int ng, // - const Vector3 *g, // g_cartesian_vec(x,y,z) - matrix &ylm // output -) -{ -// TITLE("Mathzone","Ylm_Real"); -// timer::tick("Mathzone","Ylm_Real"); - - if (ng<1 || lmax2<1) - { - cout << "\n YLM_REAL: ng < 1 or lmax2 < 1"; - QUIT(); - timer::tick("Mathzone","Ylm_Real"); - return; - } - -//---------------------------------------------------------- -// EXPLAIN : find out lmax -//---------------------------------------------------------- - bool out_of_range = true; - int lmax = 0; - for (int l= 0; l< 30; l++) - { - if ((l+1)*(l+1) == lmax2) - { - lmax = l; - out_of_range = false; - break; - } - } - if (out_of_range) - { - WARNING_QUIT("YLM_REAL","l>30 or l<0"); - } - -//---------------------------------------------------------- -// EXPLAIN : if lmax = 1,only use Y00 , output result. -//---------------------------------------------------------- - if (lmax == 0) - { - for (int i=0;i 1.0e-9) - { - phi[ig] = atan(g[ig].y / g[ig].x); - } - else if (g[ig].x < -1.e-9) - { - phi[ig] = atan(g[ig].y / g[ig].x) + PI; - } - else - { - phi[ig] = PI_HALF * ((g[ig].y >= 0.0) ? 1.0 : -1.0); //HLX: modified on 10/13/2006 - } // end if - } // enddo - -//========================================================== -// NAME : p(Legendre Polynomials) (0 <= m <= l) -//========================================================== - realArray p(lmax+1,lmax+1,ng); - int m; - int i; - double x1, x2; - int lm = -1; - for (int l=0; l<=lmax; l++) - { - const double c = sqrt((2*l+1) / FOUR_PI); - if (l == 0) - { - for (i=0;i(l) / 2.0) ;//mohan modify 2007-10-13 - if (l%2 == 1) - { - p(l, l, i) = -p(l, l, i); - } - } - } // end if - - // Y_lm, m = 0 - ++lm; - for (i=0;i 0 - const double same = c * sqrt - ( - static_cast(Fact(l - m)) / - static_cast(Fact(l + m)) - ) - *SQRT2; - - ++lm; - for (i=0;i1; i--) - { - f *= i; -// if(n>16) -// { -// cout<<"\n n="<16) QUIT(); - - return f; -} - -int Semi_Fact(const int n) -{ - int semif = 1; - for (int i=n; i>2; i -= 2) - { - semif *= i; - } - return semif; -} - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/ylm_real.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/ylm_real.h deleted file mode 100644 index 84a344392e..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_pw/ylm_real.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef YLM_REAL_H -#define YLM_REAL_H -#include "../src_tools/vector3.h" -#include "../src_tools/realarray.h" -#include "../src_tools/matrix.h" -using namespace std; - -void Ylm_Real -( - const int lmax2, // lmax2 = (lmax+1)^2 - const int ng, // - const Vector3 *g, // g_cartesian_vec(x,y,z) - matrix &ylm // output -); - -long double Fact(const int n); -int Semi_Fact(const int n); - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Calculate_C4.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Calculate_C4.cpp deleted file mode 100644 index acb162d589..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Calculate_C4.cpp +++ /dev/null @@ -1,559 +0,0 @@ -//========================================================== -// AUTHOR : mohan -// DATE : 2009-03-18 ( version 1.0 ) -// 2009-04-14 ( version 1.1 ) -// 2009-05-19 change file name -//========================================================== -#include "Calculate_C4.h" -#include "tools.h" - -int Calculate_C4::test = 0; -Calculate_C4::Calculate_C4(){} -Calculate_C4::~Calculate_C4(){} - -//=================================================================== -// FUNCTION : Find_Eigenvalues -// DESCRIPTION : Find 'Enumber' number of eigenvalues of -// spherical bessel function from '0~lmax', and put the -// result eigenvalues in 'en' matrix. -// P.S: (1) The eigenvalues are calculated '< tolerence' -// accuracy. -// P.S: (2) The rcut is important for cacluating eigenvalues -// because it makes jl( rcut * eigenvalue ) = 0.00 -//==================================================================== -void Calculate_C4::Find_Eigenvalues(const int &Enumber, matrix &en, - const int &lmax, const double &rcut, const double &tolerence) -{ - double *e = new double[Enumber]; - for(int l=0; l( rcut / dr)+1; - if(mesh % 2 == 0) mesh++; - cout << "\n\n Mesh for test = " << mesh << " L = " << L; - - double *r = new double[mesh]; - double *rab = new double[mesh]; - double *e = new double[Enumber]; - double *jle = new double[mesh]; - double *jtest = new double[mesh]; - double *function = new double[mesh]; - - for(int i=0; i C4_firstly -// (5) ues int_{0}^{Rc} J1(q1*r)*Jl(q1*r)*r*r dr ==> norm -// (6) C4 = C4_firstly / norm -//=================================================================== -void Calculate_C4::key_solver(const string &name, const int &L, const matrix &en, const int &Enumber, double *C4) -{ - ifstream ifs(name.c_str()); - if(!ifs) - { - cout << "\n Can't find file : " << name; - } - else - { - cout << "\n Open file " << name; - } - - string title; - - int mesh; - ifs >> title >> mesh; - assert(mesh > 0); - cout << "\t mesh = "<> title >> title >> title; - - for(int i=0; i> r[i] >> psi[i] >> rab[i]; - } - - double norm = 0.0; - for(int i=0; i(rcut / dr)+1; //mohan update 2009-10-10 - if(mesh % 2 == 0) mesh++; - - if(test==1) - { - cout << "\n norm : mesh = " << mesh; - cout << "\n type = " << ntype; - cout << "\n lmax = " << lmax; - cout << "\n enumber = " << enumber; - } - - // init radial mesh - double *r = new double[mesh]; - for(int i=0; i") ) - { - string filedir; - READ_VALUE( ifs, filedir ); - READ_VALUE( ifs, l ); - READ_VALUE( ifs, ecut ); - READ_VALUE( ifs, rcut ); - READ_VALUE( ifs, enumber ); - READ_VALUE( ifs, tolerence ); - cout << "\n l = " << l; - cout << "\n ecut = " << ecut; - cout << "\n enumber = " << enumber; - SCAN_END(ifs, ""); - } - - // init c4 - c4 = new double[enumber]; - ZEROS(c4, enumber); - if( SCAN_BEGIN(ifs,"") ) - { - assert(enumber>0); - for(int i=0; i> id >> c4[i]; - // cout << "\n c4[" << i << "]=" << c4[i]; - } - SCAN_END(ifs, ""); - } - - // init mesh - int mesh = static_cast(rcut / dr)+1; - if(mesh % 2 == 0) mesh++; - cout << "\n mesh = " << mesh; - - // init r - r = new double[mesh]; - for(int i=0; i get_C4 Program Start." << endl; - - cout << "\n rcut = " << rcut << " (a.u.)"; - cout << "\n ecut = " << ecut << " (Ry)"; - cout << "\n tolerence = " << tolerence; - cout << "\n lmax = " << lmax; - - int nw;//number of orbitals(files) to calculate C4. - string *name;// file name, containing psi(r)*r, rab, radial - int *L;//angular momentum for each file( each orbital); - - READ_VALUE( ifs, nw ); - assert(nw>0); - cout << "\n Files = " << nw; - - name = new string[nw]; - L = new int[nw]; - //================================================ - // read in the file name and the corresponding L. - //================================================ - for(int i=0; i( sqrt( ecut * 2) * rcut / Mathzone::PI ); - cout << "\n Eigenvalue number(Jl) = " << Enumber; - - //================================================ - // Calculate eigenvalue of Jl - // CALL FUNCTION : Find_Eigenvalues - //================================================ - matrix en( lmax+1, Enumber); - Find_Eigenvalues(Enumber, en, lmax, rcut, tolerence); - - for(int i=0; ikey_solver(name[i], L[i], en, Enumber, C4); - stringstream ss; - ss << name[i] << ".C4"; - ofstream ofs( ss.str().c_str() ); - - ofs << "Calculate_C4_Program"; - ofs << "\n"; - ofs << "\n AUTHOR : Mohan Chen"; - ofs << "\n Date : 2009-4-1"; - ofs << "\n LOCATION : LQCC, Hefei, China"; - ofs << "\n EMAIL : mohan@mail.ustc.edu.cn"; - ofs << "\n Description : Calculate the coefficients C4 of f(r) in Spherical Bessel Basis J(qr)."; - ofs << "\n Formula : C4 = integral(r)[ f(r)*jl(qr)*r^{2} ]dr "; - ofs << "\n P.S. : We default consider f(r) read from file is in the form : ( f(r) * r )."; - ofs << "\n"; - - ofs << "\n\n"; - ofs << "\n" << name[i] << " ( f(r) read from this file)"; - ofs << "\n" << setw(8) << L[i] << " angular momentum for this orbital."; - ofs << "\n" << setw(8) << ecut << " Energy cutoff(Ry.)."; - ofs << "\n" << setw(8) << rcut << " rcut (a.u.)"; - ofs << "\n" << setw(8) << Enumber << " eigenvalue number( sqrt(ecut*2)*rcut/PI )."; - ofs << "\n" << setw(8) << tolerence << " tolerence to calculate eigenvalue."; - ofs << "\n"; - - ofs << "\n\n"; - for(int j=0; j"; - ofs.close(); - delete[] C4; - } - - delete[] name; - delete[] L; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Calculate_C4.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Calculate_C4.h deleted file mode 100644 index b817fc4fd7..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Calculate_C4.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef CALCULATE_C4_H -#define CALCULATE_C4_H - -#include "common.h" - -class Calculate_C4 -{ - public: - - Calculate_C4(); - ~Calculate_C4(); - - void init( ifstream &ifs, const double &ecut, const double &rcut, const double &tolerence, const int &lmax ); - void Test( ifstream &ifs, const double &ecut, const double &tolerence); - void plot( ifstream &ifs ); - - static void norm_ic( realArray &C4, const int &ntype, const int &lmax, - const int &nmax, const int &enumber, const double &tolerence, - const double &rcut, const double &dr); - - static void Find_Eigenvalues(const int &Enumber, matrix &en, - const int &lmax, const double &rcut, const double &tolerence); - - private: - - void Test_Orthogonal(const double &rcut, const double &dr, - const int &L, const matrix &en, const int &Enumber, const int &test_ei); - - void key_solver(const string &name, const int &L, - const matrix &en, const int &Enumber, double *C4); - - static int test; - - - -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Coefficients.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Coefficients.cpp deleted file mode 100644 index 5d7cf79c25..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Coefficients.cpp +++ /dev/null @@ -1,350 +0,0 @@ -#include "Coefficients.h" -#include "../src_parallel/parallel_common.h" - -bool Coefficients::write_c4_flag; - -Coefficients::Coefficients() -{ - test = 0; - output_c4_name = new string[1]; - accumulate_num = 0;//mohan add 2009-09-25 -} - -Coefficients::~Coefficients() -{ - if (TEST1) cout << "\n ~Coefficients()" << endl; - delete[] output_c4_name; -} - -void Coefficients::init( - const int &ntype_in, - const int &lmax_in, - const int &nmax_in, - const double &ecut_in, - const double &ecut_jlq_in, // mohan add 2009-07-23 - const double &rcut_in, - const double &tolerence_in) -{ - TITLE(ofs_running,"Coefficients", "Constructor"); - - ntype = ntype_in; - lmax = lmax_in; - nmax = nmax_in; - ecut = ecut_in; - ecut_jlq = ecut_jlq_in; // mohan add 2009-07-23 - rcut = rcut_in; -// in Rydberg Unit - enumber = static_cast( sqrt( ecut )* rcut/PI ); - enumber_jlq = static_cast ( sqrt( ecut_jlq) * rcut/PI ); // mohan add 2009-07-23 - tolerence = tolerence_in; - - OUT(ofs_running,"ntype",ntype); - OUT(ofs_running,"lmax",lmax); - OUT(ofs_running,"nmax",nmax); - OUT(ofs_running,"ecut(Ry)",ecut); - OUT(ofs_running,"ecut_jlq(Ry)",ecut_jlq); - OUT(ofs_running,"rcut(Bohr)",rcut); - OUT(ofs_running,"enumber",enumber); - OUT(ofs_running,"enumber_jlq",enumber_jlq); - OUT(ofs_running,"tolerence",tolerence); - - assert(ntype > 0); - assert(lmax >= 0); - assert(nmax > 0); - assert(enumber > 0); - assert(enumber_jlq > 0); - - assert(ecut > 0.0); - assert(ecut_jlq > 0.0); - assert(rcut > 0.0); - assert(tolerence > 0.0); - - this->allocate_C4(); - - delete[] output_c4_name; - this->output_c4_name = new string[1]; - - return; -} - -void Coefficients::allocate_C4(void) -{ - if (test==1)TITLE("Coefficients", "allocate_C4"); - - this->C4.create(ntype, lmax + 1, nmax, enumber); - this->C4_old.create(ntype, lmax + 1, nmax, enumber); - this->C4_accumulate.create(ntype, lmax + 1, nmax, enumber); // mohan add 2009-09-25 -// this->acc_count.create(ntype, lmax+1, nmax, enumber); - this->accept_number.create(ntype, lmax+1, nmax, enumber); // mohan add 2009-10-16 - this->accept_rate.create(ntype, lmax+1, nmax, enumber);// mohan add 2009-10-31 - - // init accept_rate - for (int i=0; iaccept_rate.ptr[i] = 1.0; - } - - for (int it = 0; it < ntype; it++) - { - for (int il = 0; il < lmax+1; il++) - { - for (int in = 0; in < nmax; in++) - { - ofs_running << "\n Init C4: T=" << it+1 << " L=" << il << " N=" << in; - for (int ie = 0; ie < enumber; ie++) - { - // mohan modify 2009-08-26 - int ne_cut; - int ne_cut_min = -1; // must initalized - if (BLOCK_NE_MIN>0) - { - ne_cut_min = BLOCK_NE_MIN; - } - - if (BLOCK_NE<0) - { - ne_cut = enumber_jlq; - } - else - { - ne_cut = BLOCK_NE; - } - - if (iene_cut_min) - { - this->C4(it, il, in, ie) = Random::between0and1(); - this->C4_old(it, il, in, ie) = this->C4(it, il, in, ie); - } - else - { - this->C4(it, il, in, ie) = 0.0; - this->C4_old(it, il, in, ie) = 0.0; - } - if (ie%4==0)ofs_running< BLOCK, - // how many C4 you want to read in! - // remain bug when ntype > 1. - if (RESTART) - { - if (MY_RANK==0) - { - ifstream ifs( "ORBITAL_RESULTS.txt" ); - if (!ifs) - { - WARNING_QUIT("Coefficients::allocate_C4()","can't find the restart file: ORBITAL_RESULTS.txt"); - } - else - { - cout << "\n Read in RESTART information from : ORBITAL_RESULTS.txt" << endl; - } - - double ecut_in; - double rcut_in; - int ne_in; - if ( SCAN_BEGIN(ifs,"") ) - { - READ_VALUE(ifs, ecut_in); - READ_VALUE(ifs, rcut_in); - READ_VALUE(ifs, ne_in); - if (ne_in != enumber) - { - cout << "\n ne_in = " << ne_in; - cout << "\n enumber = " << enumber; - WARNING_QUIT("Coefficients::Allocate_C4()","enumber != ne_in"); - } - } - - if ( SCAN_BEGIN(ifs,"") ) - { - int nchi_in; - READ_VALUE(ifs, nchi_in); - assert(nchi_in > 0); - - string no_use1, no_use2, no_use3; - int it2, il2, in2; - bool hold_on = false; - int count_nchi = 0; - for (int it = 0; it < ntype; it++) - { - for (int il = 0; il < lmax+1; il++) - { - for (int in = 0; in < nmax; in++) - { - if (!hold_on) - { - ifs >> no_use1 >> no_use2 >> no_use3; - assert(no_use1 == "Type"); - assert(no_use2 == "L"); - assert(no_use3 == "Zeta-Orbital"); - ifs >> it2>> il2>> in2; - it2 -= 1; - in2 -= 1; - } - if (it2!=it || il2!=il || in2!=in) - { - hold_on = true; - continue; - } - else - { - hold_on = false; - cout << "\n\n Read in T=" << it+1 << " L=" << il << " Zeta-Orbital=" << in; - for (int ie=0; ie> C4(it, il, in, ie); - C4_old(it, il, in, ie) = C4(it, il, in, ie); - if (ie%4==0) cout << endl; - cout - << setiosflags(ios::fixed) - << setprecision(20) - << setiosflags(ios::showpoint) - << setw(25) << C4_old(it, il, in, ie); - } - ++count_nchi; - // if count_nchi == nchi_in, all needed C4 have been read in! - if (count_nchi==nchi_in) return; - } - } - } - } - }// end SCAN_BEGIN - }// end MY_RAN==0 - } // end RESTART - -#ifdef __MPI - Parallel_Common::bcast_double(C4.ptr, C4.getSize()); - Parallel_Common::bcast_double(C4_old.ptr, C4_old.getSize()); - ofs_running << "\n bcast C4 and C4_old done." << endl; -#endif - - return; -} - -void Coefficients::copy_c4_to_old(void) -{ - for (int i=0; iC4.getSize(); i++) - { - this->C4_old.ptr[i] = this->C4.ptr[i]; - } - return; -} - - -void Coefficients::trial_c4( const int &t, const int &l, const int &n, const int &ie ) -{ - // (1) - this->C4_old(t, l, n, ie) = this->C4(t, l, n, ie); - // update between -0.1~0.1 - - // (2) - this->C4(t, l, n, ie) += Random::betweenMinus1and1()/10.0* this->accept_rate(t, l, n, ie); - -#ifdef __MPI - // don't need to bcast ! it's a random seed. -// ofs_running << "\n C4=" << this->C4(t, l, n, ie); -// Parallel_Common::bcast_double( this->C4(t, l, n, ie) ); -#endif - -// if( abs(this->C4(t, l, n, ie)) < 1.0e-3) //mohan modify 2009-10-10 -// { -// this->C4(t, l, n, ie) = 0.0; -// } -// this->C4(t, l, n, ie) += Random::betweenMinus1and1(); - - // this->C4(t, l, n, ie) *= Random::betweenMinus2and2(); - // cout << "\n ic = " << ic << " ie = " << ie << " C4 = " << C4(t, l, n, ie); - return; -} - -/* -void Coefficients::accumulate_num_zero(void) -{ - cout << "\n Accumulate_num = " << this->accumulate_num; - this->accumulate_num = 0; -} -*/ - -/* -void Coefficients::accumulating_C4( const int &t, const int &l, const int &n, const int &ie ) -{ - // mohan add 2009-09-25 - double mix = this->C4_accumulate(t, l, n, ie) * this->acc_count(t,l,n,ie) + this->C4_old(t, l, n, ie); - ++acc_count(t,l,n,ie); - ++accumulate_num; - this->C4_accumulate(t, l, n, ie) = mix / acc_count(t,l,n,ie); -// cout << "\n Accumulate_num = " << this->accumulate_num; - - return; -} -*/ - -void Coefficients::update_c4( const int &t, const int &l, const int &n, const int &ie ) -{ - //=============================================== - // store the new c4 parameters(random accepted!! - // then next c4 will replace by a new set. - //=============================================== - - this->C4_old(t, l, n, ie) = this->C4(t, l, n, ie); - ++accept_number(t,l,n,ie); - - return; -} - -void Coefficients::go_back_c4( const int &t, const int &l, const int &n, const int &ie ) -{ - //================================== - // give up the random added number; - //================================== - this->C4(t, l, n, ie) = this->C4_old(t, l, n, ie); - return; -} - -/* -void Coefficients::kinetic_energy( const int &t, const int &l, const int &n, const int &ie) -{ - if(!ke_flip_flag) - { - if(ke_up_flag) - { - // C4>0.0 and C4_old>0.0 - this->ke_total_up += ( C4(t, l, n, ie) - C4_old(t, l, n, ie) ) * ie * ie; - } - else - { - // C4<0.0 and C4_old>0.0 - this->ke_total_down += ( C4_old(t, l, n, ie) - C4(t, l, n, ie) ) * ie * ie; - } - } - else - { - // (1) C4>0.0 and C4_old<0.0, - // so ke_total_up energy increase - // ke_total_down energy decrease - // - // (2) C4<0.0 and C4_old>0.0, - // so ke_total_up energy decrease - // and ke_total_down energy increase - this->ke_total_up += C4(t, l, n, ie) * ie * ie; - this->ke_total_down += C4_old(t, l, n, ie) * ie * ie; - } - - this->ke_total_old = this->ke_total_new; - this->ke_total_new = abs(abs(ke_total_up) - abs(ke_total_down)); - -// cout << "\n ke_total_up = " << ke_total_up; -// cout << "\n ke_total_down = " << ke_total_down; -// cout << "\n ke_total_old = " << ke_total_old; -// cout << "\n ke_total_new = " << ke_total_new << endl; - - return; -} -*/ diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Coefficients.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Coefficients.h deleted file mode 100644 index 32c692e345..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Coefficients.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef COEFFICIENTS_H -#define COEFFICIENTS_H - -#include "common.h" -class Coefficients -{ - public: - //============================ - // C4(type, L, N, ie) - //============================ - realArray C4; - realArray C4_old; - realArray C4_accumulate; - //IntArray acc_count; - IntArray accept_number; - realArray accept_rate; - - // constructor, available for SZ, DZ, DZP... - Coefficients(); - ~Coefficients(); - - void init( const int &ntype, const int &lmax, const int &namx, - const double &ecut, const double &ecut_jlq, - const double &rcut, const double &tolerence); - void trial_c4( const int &t, const int &l, const int &n, const int &ie ); - - void update_c4( const int &t, const int &l, const int &n, const int &ie ); - void go_back_c4( const int &t, const int &l, const int &n, const int &ie ); - void copy_c4_to_old(void); // for normalize - void kinetic_energy( const int &t, const int &l, const int &n, const int &ie);// mohan add 2009-07-23 - void accumulate_num_zero(void); - void accumulating_C4( const int &t, const int &l, const int &n, const int &ie ); - - int ntype; - int lmax; - int nmax; - int enumber; - double rcut; - double tolerence; - int fix; - - string *output_c4_name; - static bool write_c4_flag; - - private: - void allocate_C4(); - double ecut; - double ecut_jlq; // mohan add 2009-07-23 - int enumber_jlq; // mohan add 2009-07-23 - int test; - int accumulate_num; -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Metropolis.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Metropolis.cpp deleted file mode 100644 index f82b93fc1d..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Metropolis.cpp +++ /dev/null @@ -1,726 +0,0 @@ -#include "Metropolis.h" -#include "../src_parallel/parallel_common.h" -#include "Calculate_C4.h" - -Metropolis::Metropolis() -{ - prob_old = 0.0; - prob_new = 0.0; - temperature = 0.0; - random_c4number = 0; - output_each_istep = 0; - kin_last = new double[1]; - kin_temp = new double[1]; -} - - -Metropolis::~Metropolis() -{ - delete[] kin_last; - delete[] kin_temp; -} - -// read in Metropolis parameters. -void Metropolis::init(void) -{ - if(test==1) TITLE("Metropolis","init"); - - bool begin = false; - - if(MY_RANK==0) - { - if(SCAN_BEGIN(input.ifs, "")) - { - begin = true; - } - } - -#ifdef __MPI - Parallel_Common::bcast_bool(begin); -#endif - - ofs_running << "\n begin read in Metropolis parameter." << endl; - - if(begin) - { - if(MY_RANK==0) - { - READ_VALUE( input.ifs, this->spi_ini_temp); - READ_VALUE( input.ifs, this->spi_rate); - READ_VALUE( input.ifs, this->spi_ntemp); - READ_VALUE( input.ifs, this->spi_nsteps); - - READ_VALUE( input.ifs, this->kin_ini_temp); - READ_VALUE( input.ifs, this->kin_rate); - READ_VALUE( input.ifs, this->kin_ntemp); - READ_VALUE( input.ifs, this->kin_nsteps); - - READ_VALUE( input.ifs, this->delta_kappa); - READ_VALUE( input.ifs, this->output_each_istep); - - READ_VALUE( input.ifs, ACCEPTANCE_STEPS ); // mohan add 2009-10-31 - READ_VALUE( input.ifs, ACCEPTANCE_HIGH ); - READ_VALUE( input.ifs, ACCEPTANCE_LOW ); - - READ_VALUE( input.ifs, KINETIC_MAX ); // mohan add 2009-10-31 - READ_VALUE( input.ifs, KINETIC_DR); //mohan add 2010-04-12 - READ_VALUE( input.ifs, OPTIMIZE_METHOD); // mohan add 2010-04-14 - //SCAN_END(input.ifs, ""); - } - -#ifdef __MPI - MPI_Barrier(MPI_COMM_WORLD); - - Parallel_Common::bcast_double(this->spi_ini_temp); - Parallel_Common::bcast_double(this->spi_rate); - Parallel_Common::bcast_int(this->spi_ntemp); - Parallel_Common::bcast_int(this->spi_nsteps); - - Parallel_Common::bcast_double(this->kin_ini_temp); - Parallel_Common::bcast_double(this->kin_rate); - Parallel_Common::bcast_int(this->kin_ntemp); - Parallel_Common::bcast_int(this->kin_nsteps); - - Parallel_Common::bcast_double(this->delta_kappa); - Parallel_Common::bcast_int(this->output_each_istep); - - Parallel_Common::bcast_int(ACCEPTANCE_STEPS ); - Parallel_Common::bcast_double(ACCEPTANCE_HIGH ); - Parallel_Common::bcast_double(ACCEPTANCE_LOW ); - - Parallel_Common::bcast_double(KINETIC_MAX ); - Parallel_Common::bcast_double(KINETIC_DR ); - Parallel_Common::bcast_int(OPTIMIZE_METHOD); -#endif - - } - - this->temperature = this->spi_ini_temp; - - // check whether the parameters are in the range. - assert(spi_ini_temp >= 0.0); - assert(spi_rate >= 0.0); - assert(spi_ntemp >= 0); - assert(spi_nsteps >= 0); - - assert(kin_ini_temp >= 0.0); - assert(kin_rate >= 0.0); - assert(kin_ntemp >= 0); - assert(kin_nsteps >= 0); - - assert(delta_kappa >= 0.0); - assert(output_each_istep>0); - - return; -} - -// be called in MultiZeta::init(), reset the start temperature. -void Metropolis::reset_temperature(const int &istep) -{ - temperature = this->spi_ini_temp; - for(int i=0; ikappa = 1.0 + this->delta_kappa; - - assert( this->spi_ntemp>=0 ); - - this->nchi = Level.nchi; - - delete[] kin_last; - this->kin_last = new double[nchi]; - ZEROS(kin_last, nchi); - - delete[] kin_temp; - this->kin_temp = new double[nchi]; - ZEROS(kin_temp, nchi); - - // how many temperature we try. - // there are two parts of this algorithm, - // first part is about spillage, - // the second part is about kinetic energy. - for (int itemp = 0; itemp < this->spi_ntemp + this->kin_ntemp; itemp++) - { - // if the kinetic energy is not small enough, we try new kappa again. - //try_new_kappa_again: - - if(itemp < this->spi_ntemp) - { - ofs_running << "\n" << " ---> SpillageTemp " << setw(3) << itemp+1 << endl; - ofs_running << " Temperature " << setw(6) << temperature << endl; - this->states = "Spi"; - ofs_running << setw(5) << "STEPS" - << setw(20) << "SPILLAGE" - << setw(10) << "UPDATES" << endl; - - if(itemp==0) - { - cout << setw(5) << "STEP" << setw(10) << "TEMP" - << setw(20) << "SPILLAGE" << endl; - } - } - else - { - // Please DIY, mohan 2010-04-14 - if(OPTIMIZE_METHOD==1) - { - this->states="Kin"; - } - else if(OPTIMIZE_METHOD==2) - { - this->states = "Ecut"; - } - else - { - WARNING_QUIT("move_various_temperature","Check OPTIMIZE_METHOD"); - } - } - - this->Psi2.ofso << "spillage_ntemp = " << itemp << " kappa = " << kappa << endl; - - // set the initial temperature and kinetic energy value. - if(itemp== this->spi_ntemp) - { - this->min_spillage = input.SV.cal_defined_value(0); // save the spillage value. - ofs_running << "\n\n Spillage at final temperature " << min_spillage << endl; - - for(int ic=0; icnchi; ic++) - { - const int T = Level.wayc[ic].type; - const int L = Level.wayc[ic].L; - const int N = Level.wayc[ic].N; - - double *c4_last = new double[Level.ne]; - for(int ie2=0; ie2kin_last[ic] = 0.0; - - if(states=="Kin") - { - for(int ie2=0; ie2kin_last[ic] += pow( c4_last[ie2]*(ie2+1)*PI/RCUT,2 ) - *this->Psi2.jjnorm(L,ie2); - } - } - else if(states=="Ecut") - { - this->kin_last[ic] = this->Psi2.get_ecut( c4_last, L ); - } - - // set the start temperature of kinetic part of Metropolis algorithms. - this->kin_temp[ic] = this->kin_last[ic] * this->kin_ini_temp; - - ofs_running << " Orbital " << ic+1 << " Initial E_kin " << setw(15) << this->kin_last[ic] << endl; - - delete[] c4_last; - } - } - - - // mohan add 2009-09-11 - // how many steps moving in this temperature. - int nsteps_now = 0; - if( states == "Spi" ) nsteps_now = this->spi_nsteps; - else nsteps_now = this->kin_nsteps; - - - for (int istep = 0; istep < nsteps_now; istep++) - { - // P.S.: a method to quit this whole program. - // you only need to create a file name : FINISH - // another function: if there existep a file 'FINISH' - // in the current dir, the program quit at the first - // iteration. - // Here I choose a proper parameter: 500 steps, - // you can change on your own. - if(istep%500==0) - { - // mohan add 2009-08-28 - ifstream ifs("FINISH"); - if( ifs ) - { - return; - } - } - - // because the initia temperature may be too high - // which caused by the high kinetic energy, so - // we need to reset the temperature. - if(itemp == this->spi_ntemp && istep == 50) - { - double high = 0.0; - for(int ic=0; icnchi; ic++) - { - this->kin_temp[ic] = this->kin_last[ic] * this->kin_ini_temp; - high = std::max( kin_temp[ic], high ); - } - - for(int ic=0; icnchi; ic++) - { - this->kin_temp[ic] = high; - ofs_running << " Notice: Change temperature of orbital " << ic+1 << " to " << kin_temp[ic] << endl; - } - } - - // Here is the part about changing Metropolis algorithm's accept rate. - // we want to calculate the accept rate every 'ACCEPTANCE_STEPS' steps. - // but we don't want to calculate at istep=0; - if(istep%ACCEPTANCE_STEPS == 0) - { - if(istep>0) - { - for(int ic=0; icnchi; ic++) - { - const int T = Level.wayc[ic].type; - const int L = Level.wayc[ic].L; - const int N = Level.wayc[ic].N; - for(int ie2=0; ie2 ACCEPTANCE_HIGH) - { - input.Coef.accept_rate(T,L,N,ie2) *= 2.0; // You can DIY 0.5 - } - else if(rate < ACCEPTANCE_LOW) - { - input.Coef.accept_rate(T,L,N,ie2) *= 0.5; // You can DIY 2.0 - } - - // output information - //if(ie2%5==0) cout << "\n"; - //cout << setw(8) << rate*100 << "%"; - //cout << setw(8) << input.Coef.accept_rate(T,L,N,ie2); - } - } - } - input.Coef.accept_number.zero_out(); - } // end accept_rate - - - //======================================================== - // if we want to move step, we need the set of C4 from CS - // in single zeta, the C4 can be either read in or random, - // in double zeta, the C4 should start from random, in - // most cases. - //======================================================== - this->move_one_step(itemp, istep, Level, nsteps_now); - - }// end istep - - cout << setw(5) << itemp+1 - << setiosflags(ios::fixed) - << setprecision(3) - << setiosflags(ios::scientific) - << setiosflags(ios::showpoint) - << setw(10) - << temperature - << resetiosflags(ios::fixed) - << setiosflags(ios::fixed) - << setiosflags(ios::showpoint) - << setprecision(10) - << setw(19) - << input.SV.cal_defined_value(0)*100 << "%" << endl; - - - //------------------------------------------- - // it's about minimizing kinetic energy. - //------------------------------------------- - if( itemp >= this->spi_ntemp) - { - for(int ic=0; icnchi; ic++) - { - cout << setw(5) << Level.wayc[ic].spd; - cout << setiosflags(ios::scientific) - << setiosflags(ios::showpoint) - << setprecision(3) - << setw(10)<< this->kin_temp[ic]; - cout << setprecision(10) - << resetiosflags(ios::fixed) - << setiosflags(ios::fixed) - << setiosflags(ios::showpoint) - << setw(20)<< this->kin_last[ic] << endl; - } - - for(int ic=0; icnchi; ic++) - { - if(this->kin_last[ic] > KINETIC_MAX) - { - cout << "\n kin_last[" << ic << "]=" << kin_last[ic] << " KINETIC_MAX = " << KINETIC_MAX << endl; - cout << " There maybe 2 reasons, first: The starting temperature for kinetical energy is too small." << endl; - cout << " Second: The kappa is too small." << endl; - //WARNING_QUIT("Minimizing Kinetic Energy","Kinetical Energy Too Large!"); - cout << "Kinetical Energy Too Large!"<kappa += this->delta_kappa; - //goto try_new_kappa_again; - } - } - - // change temperature - this->update_t(); - }// end item - timer::tick("Metropolis","move_various_t"); - return; -} - - -void Metropolis::move_one_step( - const int &itemp, - const int &istep, - SpillageStep &Level, - const int &nsteps_now) -{ - timer::tick("Metropolis", "move_one_step"); - - //ofs_running << "\n move_one_step"; - - // each step we renew every Jlq one by one. - int update_number = 0; - - static int *min_os = new int[this->nchi]; - - // for each (atom_type,L,N), we need a set of C4 - // to describe the radial wave functions. - // after each radial wave function is update(ne parameters), - // we call it 'a step under a particular temperature is done' - for (int ic = 0; ic < this->nchi; ic++) - { - // get the type index of this radial wave function. - const int T = Level.wayc[ic].type; - - // mohan add 2009-01-27 - // if "skip", the C4 will not changed in this 'Big step' - if(Level.info[T].state=="skip") continue; - - const int L = Level.wayc[ic].L; - const int N = Level.wayc[ic].N; - - for (int ie = 0; ie < Level.ne; ie++) - { - //cout << "ic=" << ic << " ie=" << ie << endl; - // mohan add 2009-08-26 - // this judgement means, - // If users don't want to use Jlq(ie) - // which is too oscillation(large), they - // can use only small part of Jlq. - // mohan add BLOCK_NE_MIN 2009-08-27 - if( (ie=BLOCK_NE)) continue; - - // trial a new value of c4(T,L,N). - input.Coef.trial_c4( T, L, N, ie); - - // calculate the spillage according to the new c4. - for (int is = 0; is < STRNUM; is++) - { - input.SV.value[is] = Level.get_spillage(is, ic, ie); - } - - // flag1 is about spillage can be accepted. - // flag2 is about kinetic energy can be accepted. - static bool accept_flag1 = false; - static bool accept_flag2 = false; - - //================================================================ - // STEP 1 : - //================================================================ - if( states == "Spi" ) - { - // 0 means get old value, 1 means get new value. - accept_flag1 = this->accept( input.SV.cal_defined_value(0), input.SV.cal_defined_value(1), temperature ); - accept_flag2 = true; - } - //================================================================ - // STEP 2 - //================================================================ - else - { - // make sure the new spillage value is in the range. - // otherwise, we don't even calculate the kinetic energy. - if( input.SV.cal_defined_value(1) < this->min_spillage * this->kappa) - { - // spillage is in the range, condition one ok! - accept_flag1 = true; - - double *c4tmp = new double[Level.ne]; - for(int ie2=0; ie2Psi2.norm_c4( c4tmp, L ); - - // and then calculate the new set of kinetic energy. - for(int ie2=0; ie2Psi2.jjnorm(L,ie2);//In Rydberg Unit. - } - } - else if(states=="Ecut") - { - value2 = this->Psi2.get_ecut( c4tmp, L ); - } - - // judge here - accept_flag2 = this->accept( this->kin_last[ic], value2, this->kin_temp[ic] ); - if(accept_flag2) - { - kin_last[ic] = value2; - } - - delete[] c4tmp; - } - else - { - accept_flag1 = false; - } - } - - if (accept_flag1 && accept_flag2) - { - ++update_number; - for (int is = 0; is< STRNUM; is++) - { - Level.updateQS( is ); // (1) update Soverlap and Qoverlap for each structure, - // S matrix and Q matrix has changed due to the change - // of c4 - } - - input.SV.update_value();// (2) update spillage value - - for(int is=0; is " << states << "Temp " << setw(15) - //<< istep+1 << "\n" ; -// << " SpiVal" -// << setprecision(6) -// << setiosflags(ios::fixed) -// << setw(15) << input.SV.cal_defined_value(0); - for(int ic=0; ic< this->nchi; ic++) - { - ofs_running << setw(4) << istep+1 << Level.wayc[ic].spd; - - ofs_running << setprecision(3) - << setiosflags(ios::scientific) - << setw(10)<< this->kin_temp[ic]; - - ofs_running << setprecision(10) - << setiosflags(ios::fixed) - << setw(20)<< this->kin_last[ic] << endl; - } - } - } -// } - - // because we choose c4 randomly between -0.1~0.1 - // so we need to normalize the set of c4 after a few - // steps, here I choose a proper number: 50 - // you can change on you own, but please notice it can't - // be too small, because we need to update all Q and S - // matrix after this normalization, which may affect the - // speed of the program. You can't choose too large, - // because it makes the update not efficient. - if ( (istep % 50 == 0 && istep !=0 ) || istep == nsteps_now-1) - { - // use to describe the real space mesh. - // don't need to choose too accuray, because - // it may affect the speed of running. - // you can change on your own, too. - double dr = 0.01; // a.u. - - // norm ic for all radial wave functions. - // after this call, all c4 will change/update. - // but the spillage will not change. - // (because we just normalize the wavefunctions). - Calculate_C4::norm_ic( - input.Coef.C4, - input.Coef.ntype, - input.Coef.lmax, - input.Coef.nmax, - input.Coef.enumber, - input.Coef.tolerence, - input.Coef.rcut, - dr); - - // get new set of C4, so we copy the set of C4 - // to C4_old. This will also not affect the - // spillage value. - input.Coef.copy_c4_to_old(); - - // for each structure, we need to update their - // Q matrix and S matrix, which may be time - // consuming. - for (int is = 0; is < STRNUM; is++) - { - Level.init_QS_matrix(is); - } - } - timer::tick("Metropolis", "move_one_step"); - return; -} - -double Metropolis::Boltzmann_dist(const double &value, const double &t) -{ - static const double small = 1.0e-20; - assert(t > small); - assert(value > 0.0); -// cout << "\n value = " << value; -// cout << "\n Boltzmann_dist = " << exp( -value/t ); - return exp(-value / t); -} - -void Metropolis::update_t(void) -{ - if(this->states == "Spi") - { - this->temperature *= this->spi_rate; -// cout << " New Temperature for spillage = " << temperature << endl; - } - else if(this->states == "Kin"||states=="Ecut") - { - // mohan add high 2009-11-05 - double high = 0.0; - for(int ic=0; ic< this->nchi; ic++) - { - this->kin_temp[ic] *= this->kin_rate; - high = std::max( this->kin_temp[ic], high ); - } - - for(int ic=0; ic< this->nchi; ic++) - { - this->kin_temp[ic] = high; - ofs_running << setprecision(6) << setiosflags(ios::scientific) - << " Temperature for orbital " << ic+1 << " = " << kin_temp[ic] << endl; - } - - ofs_running << " new kappa=" << kappa << endl; - } - return; -} - -bool Metropolis::accept( const double &v_old, const double &v_new, const double &temperature_in) -{ - assert(temperature_in > 0.0); - this->prob_old = v_old; - this->prob_new = v_new; - -// cout << "\n v_new = " << v_new; -// cout << "\n v_old = " << v_old; -// cout << "\n t = " << temperature_in; - - const double deltav = v_new - v_old; - - if ( deltav < 0.0 ) - { - return 1; // accept - } - else if ( deltav > 0.0 ) - { - const double p = Metropolis::Boltzmann_dist(v_new - v_old, temperature_in); - const double r = Random::between0and1(); - - if (r < p) return 1; // accept - if (r >= p) return 0; // reject - } - - return 0; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Metropolis.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Metropolis.h deleted file mode 100644 index 5ae6558572..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Metropolis.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef METROPOLIS_H -#define METROPOLIS_H - -#include "SpillageStep.h" -#include "Psi_Second.h" // use to calculaet oscillation - -class Metropolis -{ - public: - Metropolis(); - ~Metropolis(); - - void init(void); - - void move_various_temperature(SpillageStep &SS); - - void move_one_step(const int &itemp, const int &istep, SpillageStep &Level, const int &nsteps_now); - - bool accept(const double &v_old, const double &v_new, const double &temperature_in); - - void update_t(void); - void reset_temperature(const int &istep); - - - // (1) start temperature - const double& get_spi_ini_temp(void) const {return spi_ini_temp;} - const double& get_kin_ini_temp(void) const {return kin_ini_temp;} - - // (2) cooling rate for each new temperature - const double& get_spi_rate(void) const { return spi_rate;} - const double& get_kin_rate(void) const { return kin_rate;} - - // (3) number of temperature - const int& get_spi_ntemp(void) const { return spi_ntemp;} - const int& get_kin_ntemp(void) const { return kin_ntemp;} - - // (4) number of steps in each temperature - const int& get_spi_nsteps(void) const { return spi_nsteps;} - const int& get_kin_nsteps(void) const { return kin_nsteps;} - - - Psi_Second Psi2; - - private: - - // (1) - double spi_ini_temp; // initial temperature for spillage. - double kin_ini_temp; // initial temperature for kinetic energy. - - // (2) - double spi_rate; // decrease rate for spillage value - double kin_rate; // decrease rate for kinetic energy - - // (3) - int spi_ntemp; // number of temperatures (for spillage) - int kin_ntemp; // number of temperatures (for kinetical energy) - - // (4) - int spi_nsteps; // number of steps per temperature for spillage - int kin_nsteps; // number of steps per temperature for kinetical energy - - - double temperature; - double kappa; // mohan add 2009-10-11 - double delta_kappa; // mohan add 2009-10-31 - int try_kappa; - - double min_spillage; // mohan add 2009-10-15 - double *kin_last; // mohan add 2009-10-15 - double *kin_temp; // mohan add 2009-10-15, temperature for each orbital. - string states; // mohan add 2009-10-15 - int nchi; // mohan add 2009-10-15 - int output_each_istep; // mohan add 2009-10-16 - - double prob_new; - double prob_old; - - static double Boltzmann_dist( const double &value, const double &t ); - int test; - int random_c4number; - - -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/MultiZeta.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/MultiZeta.cpp deleted file mode 100644 index 39f103e0b8..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/MultiZeta.cpp +++ /dev/null @@ -1,425 +0,0 @@ -#include "MultiZeta.h" -#include "SpillageStep.h" -#include "Out_Orbital.h" -#include "../src_parallel/parallel_common.h" -#include "tools.h" - -MultiZeta::MultiZeta() -{ - test = 0; // output function name - Level = new SpillageStep[1]; - lmax_type = new int[1]; -} - -MultiZeta::~MultiZeta() -{ - delete[] Level; - delete[] lmax_type; -} - -// be called in main.cpp program. -void MultiZeta::init(void) -{ - TITLE(ofs_running,"MultiZeta","init"); - //============================= - // nlevel : optimization levels - //============================= - for (int is=0; isilevel = is+1;// 0 means level 1. - - // mohan add 2009-09-25 - //input.Coef.accumulate_num_zero(); - - // if start temperature is different for each level - // ( I don't think this is a very good idea for high level orbitals!! - // mohan note:2009-8-20, it's better to make temperature from "high enough" to - // "low enough" for each level) - metro.reset_temperature( is ); - - this->Level[is].ilevel = is; - this->Level[is].set_nchi(); - this->Level[is].set_nwfc(); - this->Level[is].set_iw00();// to get Sq1q2 - this->Level[is].allocate_data( 0 ); // to get Qin - - - // if is=0, means it's the first time, spillage0 = 1.0; - if (is==0) - { - for (int istr=0; istrLevel[is].data[istr].spillage0 = 1.0; - } - } - else if (is>0) - { - for (int istr=0; istrLevel[is].data[istr].spillage0 = input.SV.value_old[istr]; - } - cout << "\n Orthogonal......." << endl; - ofs_running << "\n Orthogonal......." << endl; - //**************************************** - // (2): Orthogonal to get new Bloch space! - // This subroutine is very important. - //**************************************** - Orth.start( this->Level[is-1], this->Level[is] ); - } - - if(USEPW) - { - PW.allocate_psi1d(is); - PW.allocate_psi3d(is); - } - - for (int istr=0; istrLevel[is].data[istr].initQS(); - this->Level[is].init_QS_matrix(istr); - input.SV.value_old[istr] = this->Level[is].get_spillage(istr, 0, 0); - } - - cout << "\n Initial Spillage Value at this Level: " << endl; - // output spillage value - input.SV.out(); - cout << endl; - - //******************************************************************* - // main part: Use Metropolis algorithm, move different temperature, - //******************************************************************* - this->metro.move_various_temperature( this->Level[is]); - - // save spillage value for each level - input.SV.save_level(is); - - this->saveC(); - - } - - return;; -} - - - -// read in paramters from BLOCK , called by MultiZeta::init(); -void MultiZeta::set_levels(void) -{ - TITLE(ofs_running,"MultiZeta","set_levels"); - - bool begin = false; - - if(MY_RANK==0) - { - if ( SCAN_BEGIN(input.ifs, "") ) begin = true; - } - -#ifdef __MPI - Parallel_Common::bcast_bool(begin); -#endif - - // read in parameters in BLOCK : 'OPTIMIZE' - if ( begin ) - { - // (1) read in important parameter: nlevel. - // nlevel means the number of orbital shells we need. - - if(MY_RANK==0) - { - READ_VALUE(input.ifs, this->nlevel); - assert(nlevel>-1); - assert(nlevel<100); - } - -#ifdef __MPI - Parallel_Common::bcast_int(nlevel); -#endif - - input.nlevel = this->nlevel; // mohan add 2009-06-09 -// cout << " nlevel = " << nlevel << endl; - OUT(ofs_running,"nlevel",nlevel); - - // (2) init 'SpillageStep' class, each level has - // different parameters. - delete[] this->Level; - this->Level = new SpillageStep[nlevel]; - - string useless; - - if(MY_RANK==0) - { - READ_VALUE(input.ifs, useless); - } - -#ifdef __MPI - Parallel_Common::bcast_string(useless); -#endif - - // (3) read in information concerning each level. - for (int i=0; i>>>> Level=" << i+1 ; - - this->Level[i].set_info(NTYPE); - for (int it=0; it> Level[i].info[it].id //id for this type - >> Level[i].info[it].na //number of atoms. - >> Level[i].info[it].state// new or skip, mohan 2009-08-27 - >> Level[i].info[it].lmax;//lmax in this level - } - -#ifdef __MPI - Parallel_Common::bcast_int(Level[i].info[it].id); - Parallel_Common::bcast_int(Level[i].info[it].na); - Parallel_Common::bcast_string(Level[i].info[it].state); - Parallel_Common::bcast_int(Level[i].info[it].lmax); -#endif - - if (!RESTART && Level[i].info[it].state=="skip") - { - ofs_running << "\n Level = " << i; - ofs_running << "\n it = " << it; - WARNING_QUIT("MultiZeta::set_levels","skip is not available if RESTART = false."); - } - if ( Level[i].info[it].state!="new" && Level[i].info[it].state!="skip") - { - ofs_running << "\n Level = " << i; - ofs_running << "\n it = " << it; - ofs_running << "\n state = " << Level[i].info[it].state << endl; - WARNING_QUIT("MultiZeta::set_levels","new or skip?"); - } - - ofs_running << "\n id=" << Level[i].info[it].id; - ofs_running << " na=" << Level[i].info[it].na; - ofs_running << " lmax=" << Level[i].info[it].lmax; - - if(Level[i].info[it].id==0) - { - ofs_running << " The id of elements should be numbers!" << endl; - ofs_running << " check the id of elements." << endl; - WARNING_QUIT("MultiZeta::set_levels","id=0"); - } - - // lmax=0(s), 1(p), 2(d), 3(f), 4(g) - if (Level[i].info[it].lmax>=5 || Level[i].info[it].lmax<0) - { - ofs_running << "\n lmax=" << Level[i].info[it].lmax << endl; - WARNING_QUIT("MultiZeta::set_levels"," lmax out of range."); - } - - // 'info' stands for "Type_Information" - // init: n, nbase; - // allocate - Level[i].info[it].init(); - - for (int L=0; L>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - // read in nchi for each L and full/average orbital. - int nz; - string fain; - string combine; - - // read in characters such as : 1/a - input.ifs >> combine; - -#ifdef __MPI - Parallel_Common::bcast_string(combine); -#endif - - //ofs_running << "\n lenght = " << combine.length() << endl; - - // firstly, we need to find the position of the label: '/' - const int index1 = combine.find_first_of("/"); - //ofs_running << "\n index1 = " << index1 << endl; - - // if index1==-1, means the combine didn't contain - // '/' label - if (index1 == -1) - { - // f stands for 'full' - fain = "f"; - // this 'atoi' command change string to int type. - nz = std::atoi( combine.c_str() ); - } - else // mean containing "/" - { - nz = std::atoi( combine.substr(0,index1+1).c_str() ); - // substrate the front int and remain the character. - // the second parameter '1' means the position is 'index+2' - fain = combine.substr(index1+1, 1); - } - - ofs_running << "\n L=" << L; - ofs_running << " Zeta=" << nz; - ofs_running << " fain(FULL/AVERAGE)=" << fain; - //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - - // assert number of zeta < 20, you can change on your own, - // typically, we only need nz=2 or 3. - assert( nz < 20 ); - Level[i].info[it].n[L] = nz; - Level[i].info[it].fa[L] = fain; - - // mohan added 2009-05-22 - // i stands for level - // nbase stands for the radial wave functions before - // this level for each L of each atom type. - // (hard to understand, right? Try to figure out!) - // this parameter is very useful. - // nbase provide a base to count radial wave functions. - if (i==0) - { - Level[i].info[it].nbase[L] = 0; - } - else if (i>0) - { - for (int j=0; jlmax_type = new int[NTYPE]; - for (int it=0; itlmax_type[it] = -1; - } - - // sum information from all levels. - NMAXUSED = 0; - for (int k=0; knlevel; k++) - { - for (int it=0; it< NTYPE; it++) - { - this->lmax_type[it] = std::max( this->lmax_type[it], this->Level[k].info[it].lmax ); - LMAXUSED = std::max( LMAXUSED, this->lmax_type[it] ); - NMAXUSED = std::max( NMAXUSED, this->Level[k].info[it].nmax ); - } - } - - // for test. - if (test==2) - { - for (int it=0; it *sum = new std::complex[nbands]; - for (int iw=0; iw first_part = std::complex(0,0); - if(USEPW) - { - const int Mmu = step1.wayd[mu].m; - const int Imu = step1.wayd[mu].i; - PW.calculate_Jlq(ik,iw,ie); - first_part = PW.calculate_Jlq_Phi(ik,mu); - - // if( norm(first_part) > 0.1 ) - // { - // cout << "\n iw=" << iw << " ie=" << ie << " mu=" << mu << " first_part=" << first_part; - // BLOCK_HERE("haha"); - // } - } - else - { - for (int iemu=0; iemu sum = std::complex(0,0); - for(int mu=0; mu first_part = std::complex(0,0); - - for(int iemu=0; iemuversion_information( ofs ); - this->INPUTs_information( ofs ); - this->spillage_information( ofs, mz.ilevel ); - this->metropolis_information( ofs); - this->c4_information( ofs ); - } - this->mkb_information( ofs); - - if(MY_RANK==0) - { - ofs.close(); - } - - return; -} - -void Out_Orbital::version_information( ofstream &ofs ) -{ - ofs << "\n "; - ofs << "\n AUTHOR : Mohan Chen"; - ofs << "\n StartDate : 2009-4-01"; - ofs << "\n LastModify: 2012-6-27"; - ofs << "\n LOCATION : LQCC, Hefei, China"; - ofs << "\n EMAIL : mohan@mail.ustc.edu.cn"; - ofs << "\n Description : Calculate the coefficients C4 of f(r) in Spherical Bessel Basis J(qr)."; - ofs << "\n Formula : C4 = integral(r)[ f(r)*jl(qr)*r^{2} ]dr "; - ofs << "\n P.S. : We default consider f(r) read from file is in the form : ( f(r) * r )."; - ofs << "\n"; -} - -void Out_Orbital::INPUTs_information( ofstream &ofs ) -{ - ofs << "\n\n"; - ofs << "\n" << setw(20) << ECUT << " Energy cutoff(Hartree.)."; - ofs << "\n" << setw(20) << RCUT << " rcut (a.u.)"; - ofs << "\n" << setw(20) << NE << " eigenvalue number( sqrt(ecut*2)*rcut/PI )."; - ofs << "\n" << setw(20) << TOLERENCE << " tolerence to calculate eigenvalue."; - ofs << "\n" << setw(20) << NTYPE << " Number of atom types."; - for(int it=0; it"; -} - -void Out_Orbital::spillage_information( ofstream &ofs, const int &ilevel) -{ - ofs << "\n\n"; - ofs << "\n" << setw(20) << STRNUM << " kinds of structures."; - - // (1) mohan add average information 2010-04-11 - ofs << "\nAverage Spillage Value"; - for(int k=0; k"; - ofs << resetiosflags(ios::scientific); - return; -} - -void Out_Orbital::metropolis_information( ofstream &ofs) -{ - ofs << "\n\n"; - ofs << "\n" << setw(20) << mz.metro.get_spi_ini_temp() << " Start temperature (Kelvin) for spillage minimization."; - ofs << "\n" << setw(20) << mz.metro.get_spi_rate() << " Decreasing rate of temperature."; - ofs << "\n" << setw(20) << mz.metro.get_spi_ntemp() << " Number of different temperature (for spillage)."; - ofs << "\n" << setw(20) << mz.metro.get_spi_nsteps() << " Number of steps for each temperature (for spillage)."; - - ofs << "\n" << setw(20) << mz.metro.get_kin_ini_temp() << " Start temperature (Kelvin) for kinetical energy minimization."; - ofs << "\n" << setw(20) << mz.metro.get_kin_rate() << " Decreasing rate of temperature."; - ofs << "\n" << setw(20) << mz.metro.get_kin_ntemp() << " Number of different temperature (for kinetical)."; - ofs << "\n" << setw(20) << mz.metro.get_kin_nsteps() << " Number of steps for each temperature (for kineitcal)."; - ofs << "\n"; -} - -void Out_Orbital::c4_information( ofstream &ofs) -{ - ofs << "\n\n"; - ofs << "\n" << setw(20) << NCHIUSED << " Total number of radial orbitals."; - - // use multize parameters: ntype, *lmax_type, l_nchi, ne; - for(int it=0; it"; - return; -} - -void Out_Orbital::mkb_information( ofstream &ofs) -{ - ofs_running << "\n mkb_information." << endl; - if(MY_RANK==0) - { - ofs << "\n\n"; - ofs << "\n" << setw(20) << mz.nlevel << " Total number of orbitals optimized levels." ; - } - - double sum0 = 0.0; - double *sum1 = new double[NBANDS]; - ZEROS(sum1, NBANDS); - - int bands_start; - int bands_end; - int bands_number; - - if (BANDS_CONTROL) - { - bands_start = BANDS_START; - bands_end = BANDS_END; - bands_number = bands_end - bands_start; - } - else - { - bands_start = 0; - bands_end = NBANDS; - bands_number = bands_end - bands_start; - } - - ofs << "\nBands start from " << bands_start; - ofs << "\nBands ended at " << bands_end; - ofs << "\nOptimized bands number " << bands_number; - ofs << "\nSpillage per band is " << 1.0/bands_number; - - //ofs << setioflags(ios::fixed); - for(int il=0; il"; - delete[] sum1; - - return; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Out_Orbital.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Out_Orbital.h deleted file mode 100644 index 228ed3857d..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Out_Orbital.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef OUT_ORBITAL_H -#define OUT_ORBITAL_H - -#include "common.h" - -// output orbital information -class Out_Orbital -{ - public: - Out_Orbital(); - ~Out_Orbital(); - - void write(void); - - private: - void version_information( ofstream &ofs ); - void INPUTs_information( ofstream &ofs); - void spillage_information( ofstream &ofs, const int &ilevel); - void metropolis_information( ofstream &ofs); - void c4_information( ofstream &ofs); - void mkb_information( ofstream &ofs); - -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Plot_Psi.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Plot_Psi.cpp deleted file mode 100644 index 0c0c9ca19f..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Plot_Psi.cpp +++ /dev/null @@ -1,588 +0,0 @@ -#include "Plot_Psi.h" -#include "tools.h" - -Plot_Psi::Plot_Psi() -{ - test=0; - rcut = 0.0; - - dr = 0.01; - - meshU = 0; // uniform mesh. - meshL = 0; // Log mesh. - - rU = new double[1]; - rL = new double[1]; - - xmin = -6; - zed = 4;//charge on the atom - dx = 1.0e-2; - xmax = 10; -} - -Plot_Psi::~Plot_Psi() -{ - delete[] rU; - delete[] rL; -} - -void Plot_Psi::allocate(void) -{ - // (1) read in parameters. - if(SCAN_BEGIN(input.ifs, "")) - { - READ_VALUE(input.ifs, this->dr); - assert( this->dr > 0.0); - - // mohan add 2009-11-23 - READ_VALUE(input.ifs, this->xmin); - READ_VALUE(input.ifs, this->zed);//charge? - READ_VALUE(input.ifs, this->dx); - READ_VALUE(input.ifs, this->xmax); - assert(zed>0.0); - assert(dx>0.0); - assert(xmax>=0.0); - - SCAN_END(input.ifs, ""); - } - - this->ne = NE; - this->meshU = static_cast(RCUT/dr); - this->meshL = ( std::log( xmax * zed ) - xmin ) / dx; - // mesh should be odd. - if(meshU%2==0) meshU++; - if(meshL%2==0) meshL++; - - /* - cout << "\n dr = " << dr; - cout << "\n meshU = " << meshU; - cout << "\n meshL = " << meshL; - - cout << "\n xmin = " << xmin; - cout << "\n zed = " << zed; - cout << "\n dx = " << dx; - cout << "\n xmax = " << xmax; - */ - - // other parameters. - this->rcut = RCUT; - - delete[] rU; - delete[] rL; - rU = new double[meshU]; - rL = new double[meshL]; - - for(int ir=0; irlmax = LMAXUSED; - this->total_nchi = NCHIUSED; - this->psiU.create( this->total_nchi, this->meshU); - this->psiL.create( this->total_nchi, this->meshL); - - return; -} - -// be called in main.cpp -void Plot_Psi::radial_wave_function(void) -{ - TITLE("Plot_Psi","radial_wave_function"); - timer::tick("Plot_Psi","radial_wf"); - - this->allocate(); - - // calculate all psi - int ichi = 0; - for(int it=0; it>>>>>>>>> - //The two formula are exactly same. - //<< setw(15) << abs(c4[ie])*pow(eigen1[ie],2) - //<< setw(15) << abs(c4[ie])*pow((ie+1)*PI/input.inputs.get_rcut(),2); - //<<<<<<<<<< - } - mz.metro.Psi2.ofsk << "\n Total kinetic energy = " << kin_sum; - - double *psi1 = new double[meshU]; - double *psi2 = new double[meshL]; - this->get_psi( meshU, rU, L, psi1, c4, eigen1, 0 ); - this->get_psi( meshL, rL, L, psi2, c4, eigen1, 1 ); - - for(int ir=0; irprint_orbitalsU_used(); - this->print_orbitalsL_used(); - - // mohan add 2010-04-13 - // use uniform grid to establish the energy cutoff of each orbital - ofstream ofs("ORBITAL_ECUT.txt"); - ofs << setprecision(12); - this->dk = 0.01; - this->meshK = 1500;// (1500*0.01)^2 * 2 = 450 Rydberg. - if(meshK%2==0)meshK++; - this->psiUK.create(total_nchi,meshK); - double *psi = new double[meshU]; - ichi = 0; - for(int it=0; it " << setw(7) << mz.l_nchi(it,L) << endl; - } - f1 << "---------------------------------------------------------------------------"<psiU(ichi, ir); - } - ++ichi; - } - } - f1.close(); - } - return; -} - -void Plot_Psi::print_orbitalsL_used(void)const -{ - //==================================== - // (5) - //==================================== - // output orbital for standard use form - int ichi = 0; - // because we can't read in r = 0 term now. - for(int it=0; itpsiL(ichi, ir); - } - ++ichi; - } - } - f1.close(); - } - return; -} - - - -void Plot_Psi::get_psi( - const int &mesh, - const double *r, - const int &l, - double *psi, - double *c4, - const double *eigen1, bool logmesh)const -{ - // (1) get psi1 - double *jle = new double[mesh]; - double *g = new double[mesh]; // smooth function - - if(SMOOTH) - { - double sigma2 = SIGMA*SIGMA; - for(int ir=0; irrcut)*(r[ir]-this->rcut)/2.0/sigma2) ); - //if(ir==mesh-1) cout << "\n g[" << ir << "]=" << g[ir] << endl; - } - } - - ZEROS(psi,mesh); - for(int ie=0; ie and - // using smooth Jlq, here we output the - // smooth functions. - if(SMOOTH) - { - for(int ir=0; irdr; - } - } - - for(int ir=0; ir0.9900)=" << pow(dk*kmesh_used,2)*2 << endl; - - while(normk*fpi< 0.999 && kmesh_used < this->meshK) - { - kmesh_used += 2; - Mathzone::Simpson_Integral(kmesh_used, functionk, rabk, normk ); - } -// ofs << "Psi(k) norm(0.999)=" << normk * fpi << endl; - ofs << "Ecut(Ry)(norm>0.9990)=" << pow(dk*kmesh_used,2)*2 << endl; - - while(normk*fpi< 0.9999 && kmesh_used < this->meshK) - { - kmesh_used += 2; - Mathzone::Simpson_Integral(kmesh_used, functionk, rabk, normk ); - } -// ofs << "Psi(k) norm(0.999)=" << normk * fpi << endl; - ofs << "Ecut(Ry)(norm>0.9999)=" << pow(dk*kmesh_used,2)*2 << endl; - - ofs << endl; - - delete[] function; - delete[] functionk; - delete[] rabk; - delete[] rab; - delete[] psik; - delete[] jj; - return; -} - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Plot_Psi.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Plot_Psi.h deleted file mode 100644 index c7d82e4bdf..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Plot_Psi.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef PLOT_PSI_H -#define PLOT_PSI_H - -#include "common.h" - -class Plot_Psi -{ - public: - Plot_Psi(); - ~Plot_Psi(); - - void radial_wave_function(void); - - private: - - // (1) about uniform mesh. - double dr; - int meshU; // U stands for uniform. - int meshL;// L stands for log. - double* rU;// uniform mesh. - double* rL;// log mesh. - int meshK; - double dk;//classic bug, change dk to 'int' type. then see .... - - // (2) about logmesh. - double xmin; - double zed; - double dx; - double xmax; - - // (3) about the wave functions. - matrix psiU; // sum c*j(l,x) - matrix psiL; // - matrix psiUK; - - int total_nchi; - double rcut; - int lmax; - int ne; - int test; - - void allocate(void); - - // mohan add smooth, sigam and rcut 2009-08-28 - void get_psi( const int &mesh, const double *r,const int &l, - double *psi1, double *c4, const double *eigen1, bool logmesh)const; - - void print_orbitals_plot(void)const; - void print_orbitalsU_used(void)const; - void print_orbitalsL_used(void)const; - - // mohan add 2010-04-13 - void establish_ecut( ofstream &ofs, const int &ik, double *psi, const int &L); -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Psi_Second.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Psi_Second.cpp deleted file mode 100644 index c23068e3ee..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Psi_Second.cpp +++ /dev/null @@ -1,333 +0,0 @@ -#include "Psi_Second.h" -#include "Calculate_C4.h" -#include "tools.h" - -Psi_Second::Psi_Second() -{ - test=0; - r = new double[1]; - rab = new double[1]; - psi = new double[1]; - psi_first = new double[1]; - psi_second = new double[1]; - eigen1 = new double[1]; - os_position = new double[100]; - below_max_os = new bool[1]; - count = 0; -} - -Psi_Second::~Psi_Second() -{ - delete[] r; - delete[] rab; - delete[] psi; - delete[] psi_first; - delete[] psi_second; - delete[] eigen1; - delete[] os_position; - delete[] below_max_os; -} - -void Psi_Second::init( - ifstream &ifs, - const int &ne_in, - const int &lmax_in, - const double &rcut_in, - const int &total_nchi_in, - const double &tolerence) -{ - TITLE("Psi_Second","init"); - - this->dr = KINETIC_DR; - assert( dr > 0.0); - cout << "\n KINETIC_DR=" << dr; - -// this->start = 5; // start away from 0, which may be some strange oscillation. - this->start = 1; // mohan fix 2010-04-16 - - // number of Jlq used. - this->ne = ne_in; - // lmax needed. - this->lmax = lmax_in; - // Cutoff radius. - this->rcut = rcut_in; - // Total number of radial wave functions. - this->total_nchi = total_nchi_in; - - this->mesh = static_cast(this->rcut/this->dr); - if(this->mesh%2==0) this->mesh++; - - if(test==2) - { - cout << "\n ne=" << ne; - cout << "\n lmax=" << lmax; - cout << "\n mesh=" << mesh; - cout << "\n total_nchi=" << total_nchi; - cout << "\n dr=" << dr; - } - - // init psi matrix, generate eigenvalue matrix - // this eigenvalue will be used in many functions. - this->eigenvalue.create( this->lmax+1, this->ne); - this->jjnorm.create( this->lmax+1, this->ne); - - delete[] this->eigen1; - this->eigen1 = new double[ne]; - - delete[] this->r; - delete[] this->rab; - delete[] this->psi; - delete[] this->psi_first; - delete[] this->psi_second; - delete[] this->below_max_os; - delete[] this->os_number; - - this->r = new double[mesh]; - this->rab = new double[mesh]; - this->psi = new double[mesh]; - this->psi_first = new double[mesh]; - this->psi_second = new double[mesh]; - - this->below_max_os = new bool[total_nchi]; - this->os_number = new int[total_nchi]; - - for(int ir=0; irne, - this->eigenvalue, - this->lmax, - this->rcut, - tolerence); - - // (2) to calculate jl(qr) - this->jle = new double**[this->lmax+1]; - double* g; - if(SMOOTH) - { - g = new double[mesh]; - double sigma2 = SIGMA*SIGMA; - for(int ir=0; irrcut)*(r[ir]-this->rcut)/2.0/sigma2) ); - } - } - - for(int l=0; leigen1[ie] = this->eigenvalue(l, ie);} - - // allocate space - this->jle[l] = new double*[ne]; - - for(int ie=0; iene; ie++) - { - this->jle[l][ie] = new double[this->mesh]; - Mathzone::Spherical_Bessel( this->mesh, this->r, this->eigen1[ie], l, jle[l][ie]); - - // (3) to calculate the jjnorm - double* f = new double[mesh]; - for(int ir=0; irjjnorm(l,ie) ); - jjnorm(l,ie)*=4.0*PI; -// cout << "\n jj = " << jjnorm(l,ie); - delete[] f; - - if(SMOOTH) - for(int ir=0; irofso.open("ORBITAL_OSCILATION.txt"); - this->ofsk.open("ORBITAL_KINETIC.txt"); - - return; -} - - -double Psi_Second::get_ecut( double *c4, const int &L) -{ - timer::tick("Psi_Second","get_ecut"); - - static double fpi = 4*PI; - static double sfpi = sqrt(fpi); - static double prefac_k = fpi / pow(2*PI,1.5); - static double dk = 0.01; - static int meshK = 800; // 8*8*2=128Ry - static double* g; - static double* rab; - static double* rabk; - static double* functionk; - static bool init = false; - static double norm; - static double normk; - static double ecut; - - if(!init) - { - if(meshK%2==0) ++meshK; - - g = new double[mesh]; // smooth function - rab = new double[mesh]; - rabk = new double[meshK]; - functionk = new double[meshK]; - if(SMOOTH) - { - double sigma2 = SIGMA*SIGMA; - for(int ir=0; irrcut)*(r[ir]-this->rcut)/2.0/sigma2) ); - } - } - for(int ir=0; ireigen1[ie] = this->eigenvalue(L, ie);} - - ZEROS(psi,mesh); - for(int ie=0; ie0.999)=" << ecut << endl; - - delete[] jj; - delete[] psik; - delete[] function; - timer::tick("Psi_Second","get_ecut"); - return ecut; -} - - -void Psi_Second::norm_c4( double *c4, const int &L) -{ - ZEROS(this->psi,mesh); - for(int ie=0; iejle, mesh); -// Mathzone::Spherical_Bessel( this->mesh, this->r, this->eigen1[ie], L, jle); - - for(int ir=0; irpsi[ir] += c4[ie] * jle[L][ie][ir];} - } - - double* function = new double[mesh]; - for(int ir=0; ir0.0); - - for(int ie=0; ie -// The number of local(ie) orbitals is : nwfc; -// The number of Bloch orbitals is : nbands; -// The number of ie is : ne -// The number of k points : nks; -//========================================================== -void ReadData::OverlapQandS(const string &name) -{ - TITLE(ofs_running, "ReadData", "OverlapQandS"); - - ifstream ifs; - - double* weighttmp = new double[NKSTOT]; - double* carkx = new double[NKSTOT]; - double* carky = new double[NKSTOT]; - double* carkz = new double[NKSTOT]; - ZEROS(weighttmp, NKSTOT); - - if(MY_RANK==0) - { - ifs.open(name.c_str()); - - if (!ifs) - { - cout << "\n Can't find file : " << name; - WARNING_QUIT("ReadData::OverlapQandS","Can't find file."); - } - else - { - cout << " FILE : " << name << endl; - } - - double lat0; - ifs >> lat0; - assert(lat0 == LAT0); - - double e11,e12,e13,e21,e22,e23,e31,e32,e33; - - ifs >> e11 >> e12 >> e13; - ifs >> e21 >> e22 >> e23; - ifs >> e31 >> e32 >> e33; - - assert( e11 == LATVEC.e11); - assert( e12 == LATVEC.e12); - assert( e13 == LATVEC.e13); - assert( e21 == LATVEC.e21); - assert( e22 == LATVEC.e22); - assert( e23 == LATVEC.e23); - assert( e31 == LATVEC.e31); - assert( e32 == LATVEC.e32); - assert( e33 == LATVEC.e33); - - int ntype; - READ_VALUE(ifs, ntype); // 1 - assert(ntype==NTYPE); - - double x,y,z; - for(int it=0; it> x >> y >> z; - } - } - - double tmp_ecutwfc; - double tmp_ecutwfc_jlq; - double tmp_rcut; - - READ_VALUE(ifs, tmp_ecutwfc);// 4 - READ_VALUE(ifs, tmp_ecutwfc_jlq);// 5 - READ_VALUE(ifs, tmp_rcut);// 6 - - assert(tmp_ecutwfc == ECUT); - assert(tmp_ecutwfc_jlq == ECUT_JLQ); - assert(tmp_rcut == RCUT); - - // mohan add 2009-08-28 - // make sure all structures have - // same SMOOTH and SIGMA value! - bool tmp_smooth; - double tmp_sigma; - double tmp_tolerence; - - READ_VALUE(ifs, tmp_smooth); // 7 - READ_VALUE(ifs, tmp_sigma); // 8 - READ_VALUE(ifs, tmp_tolerence); // 9 - - assert(tmp_smooth == SMOOTH); - assert(tmp_sigma == SIGMA); - assert(tmp_tolerence == TOLERENCE); - - int lmaxall, nkstot, nbands, nwfcall, ne; - - READ_VALUE(ifs, lmaxall); // 10 - READ_VALUE(ifs, nkstot);// 11 - READ_VALUE(ifs, nbands);// 12 - READ_VALUE(ifs, nwfcall);// 13 - READ_VALUE(ifs, ne);// 14 - - assert(lmaxall == LMAXALL); - assert(nkstot == NKSTOT); - assert(nbands == NBANDS); - assert(nwfcall == NWFCALL); - assert(ne == NE); - - //========================================== - // if use IBZ k-points, weight is different - // for each k point - //========================================== - // 0 means don't need to search from start. - if( SCAN_BEGIN(ifs,"",0) ) - { - ofs_running << " Kx/Ky/Kz/Kweight" ; - for(int ik=0; ik> carkx[ik] - >> carky[ik] - >> carkz[ik] - >> weighttmp[ik]; - ofs_running << " " << carkx[ik] - << " " << carky[ik] - << " " << carkz[ik] - << " " << weighttmp[ik] << endl; - } - SCAN_END(ifs,""); - } - - double sum = 0; - for(int ik=0; ik",restart,quit) ) - { - USEPW = false; - } - } - -#ifdef __MPI - Parallel_Common::bcast_bool(USEPW); -#endif - - if(USEPW) - { - ofs_running << " USE PLANE WAVE BASIS" << endl; - } - else - { - ofs_running << " USE Q and S matrix" << endl; - } - - if(CALSPI==0) return; - - if(!USEPW) - { - this->Sq1q2 = new ComplexArray[ NKS ]; - for(int ik=0; ikSq1q2[ik].create(NWFCALL, NWFCALL, NE, NE); - } - } - - -#ifdef __MPI - if(!USEPW) - { - const int ndata = NWFCALL * NWFCALL * NE * NE; - double* buffera = new double[ndata]; - double* bufferb = new double[ndata]; - for(int ik=0; ik> buffera[id] >> bufferb[id]; - } - } - //ofs_running << "\n ik=" << ik; - MPI_Status ierror; - const int pool = Pkpoints.whichpool[ik]; - const int iknow = ik - Pkpoints.startk_pool[MY_POOL]; - const int startdata = 0; // this is differnt from Q. - - //ofs_running << " this k point belong to pool : " << pool; - //ofs_running << " my pool : " << MY_POOL << endl; - - if(MY_RANK==0) - { - // always ready to send data to other processors. - if(pool==0) - { - // send copies (nproc - 1). - for(int ip=1; ipSq1q2[iknow].ptr[id + startdata] = std::complex (buffera[id], bufferb[id]); - } - // ofs_running << "\n local data copy "; - } - else - { - // send copys: nproc - for(int ip=0; ipSq1q2[iknow].ptr[id + startdata] = std::complex (buffera[id], bufferb[id]); - } - // ofs_running << "\n receive data end" << endl; - } - else - { - // ofs_running << "\n do nothing"; - } - } - MPI_Barrier(MPI_COMM_WORLD); - } - delete[] buffera; - delete[] bufferb; - }// end begin -#else - assert(NKS==NKSTOT); - if(!USEPW) - { - double a,b; - for (int ik = 0; ik < NKSTOT; ik++) - { - this->Sq1q2[ik].create(NWFCALL, NWFCALL, NE, NE); - - for (int i = 0; i < Sq1q2[ik].getSize(); i++) - { - ifs >> a >> b; - Sq1q2[ik].ptr[i] = std::complex(a,b); - } - } - } -#endif - -// SCAN_END(ifs,""); - - timer::tick("ReadData", "OverlapSq1q2"); - return; -} - -void ReadData::OverlapQ(ifstream &ifs) -{ - if(CALSPI==0) return; -// TITLE("ReadData", "OverlapQ"); - timer::tick("ReadData", "OverlapQ"); - - assert(NKS > 0); - assert(NBANDS > 0); - assert(NWFCALL > 0); - assert(NE > 0); - - this->Qin.create(NKS, NBANDS, NWFCALL, NE); - - ofs_running << " DIMENSION OF Q=" << endl; - OUT(ofs_running,"NKS",NKS); - OUT(ofs_running,"NBANDS",NBANDS); - OUT(ofs_running,"NWFCALL",NWFCALL); - OUT(ofs_running,"NE",NE); - - bool begin = false; - - if(MY_RANK ==0 ) - { - if( SCAN_BEGIN(ifs,"",0) ) - { - begin = true; - } - } - -#ifdef __MPI - Parallel_Common::bcast_bool(begin); -#endif - - - - if(begin) - { - double a,b; -#ifdef __MPI - const int ndata = NBANDS * NWFCALL * NE; - double* buffera = new double[ndata]; - double* bufferb = new double[ndata]; - for(int ik=0; ik> buffera[id] >> bufferb[id]; - } - } - - //ofs_running << "\n ik=" << ik; - - MPI_Status ierror; - const int pool = Pkpoints.whichpool[ik]; - const int iknow = ik - Pkpoints.startk_pool[MY_POOL]; - const int startdata = iknow * ndata; - - //ofs_running << "\n this k point belong to pool : " << pool; - //ofs_running << "\n my pool : " << MY_POOL; - - if(MY_RANK==0) - { - // always ready to send data to other processors. - if(pool==0) - { - // send copies (nproc - 1). - for(int ip=1; ipQin.ptr[id + startdata] = std::complex (buffera[id], bufferb[id]); - } - //ofs_running << "\n local data copy "; - } - else - { - // send copys: nproc - for(int ip=0; ipQin.ptr[id + startdata] = std::complex (buffera[id], bufferb[id]); - } - //ofs_running << "\n receive data end" << endl; - } - else - { - //ofs_running << "\n do nothing"; - } - } - - MPI_Barrier(MPI_COMM_WORLD); - }// endik - delete[] buffera; - delete[] bufferb; -#else - for(int i=0; i> a >> b; - this->Qin.ptr[i] = std::complex( a, b ); - } -#endif - } - - - - //SCAN_END(ifs,""); - - timer::tick("ReadData", "OverlapQ"); - - return; -} - -//========================================================== -// Readin inverse S matrix. -// Sinv is fail to use if C4 change. -//========================================================== -void ReadData::OverlapSinv(const string &name) -{ -// TITLE("ReadData", "OverlapSinv"); - ifstream ifs(name.c_str()); - - if (!ifs) - { - cout << "\n Can't find file : " << name; - cout << "\n But maybe we don't need it."; - return; - } - - assert(NKS > 0); - assert(NWFCALL > 0); - - this->Sinv.create(NKS, NWFCALL, NWFCALL); - - return; - - string tmp; - int row, col; - - for (int i = 0; i < NKS; i++) - { - ifs >> tmp >> row >> col; -// cout << "\n" << tmp << " row=" << row << " col=" << col << endl; - assert(row == NWFCALL); - assert(col == NWFCALL); - - for (int j = 0; j < row; j++) - { - for (int k = 0; k < col; k++) - { - double a,b; - ifs >> a >> b; - Sinv(i,j,k) = std::complex(a,b); - } - } - } - ifs.close(); - return; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/ReadData.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/ReadData.h deleted file mode 100644 index 4e4d356d4b..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/ReadData.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef ReadData_H -#define ReadData_H - -#include "common.h" - -class ReadData -{ - public: - - ComplexArray Qin; - ComplexArray *Sq1q2; - ComplexArray Sinv; - - //=================================== - // read in data Q= , S= - //=================================== - void OverlapQandS( const string &name); - - //======================================================== - // inverse matrix of S directly, - // used for checking the correctness - // of spillage calculation - //======================================================== - void OverlapSinv( const string &name); - - double *weight; - - private: - void OverlapQ( ifstream &ifs); - void OverlapSq1q2( ifstream &ifs ); - - int test; - - public: - ReadData(); - ~ReadData(); - -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageStep.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageStep.cpp deleted file mode 100644 index 24aa442be1..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageStep.cpp +++ /dev/null @@ -1,1072 +0,0 @@ -#include "SpillageStep.h" -#include "../src_parallel/parallel_reduce.h" -#include "tools.h" - -SpillageStep::SpillageStep() -{ - test = 0; - info = new Type_Information[1]; - data = new Step_Data[1]; - wayc = new Way2c4[1]; - wayd = new Way2Data[1]; -} -SpillageStep::~SpillageStep() -{ - delete[] info; - delete[] data; - delete[] wayc; - delete[] wayd; -} - - -void SpillageStep::set_info(const int &ntype_in) -{ - this->ntype = ntype_in; - cout << "\n Element type = " << ntype; - assert(ntype > 0); - delete[] info; - info = new Type_Information[ntype]; - return; -} - -void SpillageStep::set_nwfc() -{ - TITLE("SpillageStep","set_nwfc"); - assert( ntype > 0); - //=============================== - // (1) generate nwfc, nwfc2 - //=============================== - this->nwfc = 0; - this->nwfc2 = 0; - for (int i=0; iwayd[iw2].ic = ic; - if (test==2) cout << "\n iw2=" << iw2 << " ic=" << ic; - ++iw2; - }// end m - } - else if (info[it].fa[l] == "a") - { - this->wayd[iw2].ic = ic; - ++iw2; - } - ++ic; - }// end n - }// end l - nw_this_type = iw2 - index_copy; - } - else - { - for (int j=index_copy; jwayd[iw2].ic = this->wayd[j].ic; - if (test==2) cout << "\n iw2=" << iw2 << " ic=" << wayd[iw2].ic; - iw2++; - } - } - } - } - - //cout << "\n iw2 = " << iw2; - //cout << "\n nwfc2 = " << nwfc2; - assert(iw2==nwfc2); - return; -} - - -void SpillageStep::set_iw00(void) -{ - //========================= - // (3) generate iw00 - //========================= - - int iw00 = 0; - int iw2 = 0; - for (int it=0; it not equal."); - } - //cout << " type=" << it << " lmax=" << info[it].lmax << endl; - for (int i=0; i< NA[it]; i++) - { - //for (int l=0; l<= mz.lmax_type[it]; l++) - for (int l=0; l<= LMAXALL; l++) // mohan fix bug 2010-08-06 - { - if ( l <= info[it].lmax ) - { - for (int n=0; nwayd[iw2].iw00 = copy;// position to get overlap. - if (test == 2) - { - cout << "\n iw2=" << iw2 << " iw00=" << copy; - } - ++copy; - ++iw2; - } - } - else if ( info[it].fa[l] == "a" ) - { - this->wayd[iw2].iw00 = iw00; // just the start position to get overlap. - ++iw2; - } - } - } - iw00 += 2*l + 1; - } - } - } - - if (iw00!=NWFCALL) - { - cout << "\n iw00=" << iw00 << " NWFCALL=" << NWFCALL; - WARNING_QUIT("SpillageStep::set_iw00","iw00!=input.QS_data[0].nwfc"); - } - assert(iw2==nwfc2); - - return; -} - - -void SpillageStep::set_nchi() -{ - if (test==1)TITLE("SpillageStep","set_nchi"); - assert( ntype >0 ); - //========================= - // (1) generate nchi - //========================= - this->nchi = 0; - for (int i=0; i 0 ); - - delete[] this->data; - this->data = new Step_Data[ STRNUM ]; - this->ne = NE; - - for ( int is=0; isnwfc, - this->nwfc2, - NWFCALL // all read in wave functions number - ); - - if (istep == 0) - { - for (int ik=0; ik 0 ) - { - for(int ik=0; ik< data[is].nks; ik++) - { - for(int ib=0; ib< data[is].nbands; ib++) - { - for(int ie=0; ie< data[is].ne; ie++) - { - data[is].Qin(ik, ib, iw_step, ie) = input.QS_data[is].Qin(ik, ib, iw, ie); - } - } - } - if(test==2)cout << "\n iw_step=" << iw_step << " iw=" << iw; - iw_step++; - } - } - iw++; - } - } - } - } - */ -// cout << "\n iw_step = " << iw_step; -// cout << "\n iw = " << iw; - } - - return; -} - -void SpillageStep::init_QS_matrix( const int &is) -{ - if (test==1)TITLE("SpillageStep","init_QS_matrix"); - - if (USEPW) - { - // notice! calculate_psi1d must consistent - // with psi3d in the same init_QS_matrix - // function. because the init_QS_matrix - // may be called in two differnt places. - PW.calculate_psi1d(); - } - - for (int ik = 0; ik < this->data[is].nks; ik++) - { - if (USEPW) - { - PW.calculate_psi3d(ilevel, ik); - } - - this->data[is].Soverlap[ik].zero_out(); - this->data[is].Qoverlap[ik].zero_out(); - // init Q matrix - for (int ib = 0; ib < this->data[is].nbands; ib++) - { - for (int iw = 0; iw < this->data[is].nwfc2; iw++) - { - const int jw = this->wayd[iw].iw00; - const int T = this->wayd[iw].type; - const int L = this->wayd[iw].L; - const int N = this->wayd[iw].N; - for (int ie=0; iedata[is].ne; ie++) - { - //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - // if use 'full orbitals' - if ( this->wayd[iw].average == false) - { - data[is].Qoverlap[ik](iw,ib) += - input.Coef.C4( T, L, N, ie ) * - data[is].Qin(ik, ib, jw, ie); - } - else// if use 'average orbitals' - { - const int nofm = 2*L+1; // number of m - std::complex avalue = std::complex(0.0, 0.0); - - for (int m=0; m< nofm; m++) - { - avalue += data[is].Qin(ik, ib, jw+m, ie); - } - avalue /= nofm; - - data[is].Qoverlap[ik](iw,ib) += - input.Coef.C4( T, L, N, ie ) * avalue; - } - //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - } - } - } - - // init S matrix - for (int iw=0; iwwayd[iw].type; - const int L1 = this->wayd[iw].L; - const int N1 = this->wayd[iw].N; - const int iw001 = this->wayd[iw].iw00; - - //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - for (int iw2 = iw; iw2 < nwfc2; iw2++) - { - const int T2 = this->wayd[iw2].type; - const int L2 = this->wayd[iw2].L; - const int N2 = this->wayd[iw2].N; - const int iw002 = this->wayd[iw2].iw00; - - if (USEPW) - { - this->data[is].Soverlap[ik](iw, iw2) = PW.calculateS(iw, iw2, ik); -#ifdef __MPI - Parallel_Reduce::reduce_complex_double_pool(this->data[is].Soverlap[ik](iw, iw2)); -#endif - } - else - { -// double value = 0.0; - for (int ie = 0; ie < ne; ie++) - { - for (int ie2 = 0; ie2 < ne; ie2++) - { - //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - // case 1 - if ( !wayd[iw].average && !wayd[iw2].average) - { - this->data[is].Soverlap[ik](iw, iw2) += - input.Coef.C4( T1, L1, N1, ie ) * - input.Coef.C4( T2, L2, N2, ie2) * - input.QS_data[is].Sq1q2[ik](iw001, iw002, ie, ie2); - } - // case 2 - else - { - std::complex avalue = std::complex(0.0, 0.0); - // case 21 - if ( wayd[iw].average && wayd[iw2].average) - { - for (int m1=0; m1<2*L1+1; m1++) - { - for (int m2=0; m2<2*L2+1; m2++) - { - avalue += input.QS_data[is].Sq1q2[ik](iw001+m1, iw002+m2, ie, ie2); - } - } - avalue /= ((2*L1+1) * (2*L2+1)); - } - // case 22 - if ( !wayd[iw].average && wayd[iw2].average) - { - for (int m2=0; m2<2*L2+1; m2++) - { - avalue += input.QS_data[is].Sq1q2[ik](iw001, iw002+m2, ie, ie2); - } - avalue /= (2*L2+1); - } - // case 23 - if ( wayd[iw].average && !wayd[iw2].average) - { - for (int m1=0; m1<2*L1+1; m1++) - { - avalue += input.QS_data[is].Sq1q2[ik](iw001+m1, iw002, ie, ie2); - } - avalue /= (2*L1+1); - } - this->data[is].Soverlap[ik](iw, iw2) += - input.Coef.C4( T1, L1, N1, ie ) * - input.Coef.C4( T2, L2, N2, ie2) * - avalue; - //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - } - }// ie2 - }// ie - }// iw - -// if(iw==3) -// { -// ofs_running << "\n iw=" << iw << " iw2=" << iw2 << " S[" << ik << "]=" << this->data[is].Soverlap[ik](iw, iw2); -// } - }// ib - //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - }//ik - - -// if(ik==0) -// { -// PRINTCM("S", data[is].Soverlap[ik]); -// PRINTCM("Q", data[is].Qoverlap[ik]); -// } - - // because S has symmetry : S^{+} = S -// for(int iw=0; iwdata[is].inverse.using_zpotrf(this->data[is].Soverlap[ik]); - // notice : only half A is stored!!! - this->data[is].Sinv[ik] = this->data[is].inverse.A; - //if(ik==0) - //PRINTCM("init_QS_matrix :: Sinv",data[is].inverse.A); - } - - return; -} - -// (1) Calculate The Spillage Value -// (2) For each Coefficient(type,l,n,ie) changed orbital. -double SpillageStep::get_spillage( - const int &is, // index of structure - const int &ic, // index of orbitals: (type,l,n) - const int &ie // index of eigenvalue of Jlq -) -{ - double spillage; // not need to initialized. - double fill = 0.0; - Step_Data* Stru = &this->data[is]; - - // mohan add 2010-05-02 - // (1) this part is to control the number of - // bands needed to be performed. - static int bands_start; - static int bands_end; - static int bands_number; - - if (BANDS_CONTROL) - { - bands_start = BANDS_START; - bands_end = BANDS_END; - assert(BANDS_END <= Stru->nbands); - bands_number = bands_end - bands_start; - assert(bands_number <= Stru->nbands); - } - else - { - bands_start = 0; - bands_end = Stru->nbands; - bands_number = bands_end - bands_start; - } - - // (2) get new c4 coefficient from ic. - const double c4_new = input.Coef.C4( - this->wayc[ic].type, - this->wayc[ic].L, - this->wayc[ic].N, - ie); - - // (3) get old c4 coefficient. - const double c4_old = input.Coef.C4_old( - this->wayc[ic].type, - this->wayc[ic].L, - this->wayc[ic].N, - ie); - - int unstable = 0; - - if (USEPW) - { - PW.nwfc2 = nwfc2; - PW.update_psi1d(ilevel, ic, ie, c4_new, c4_old); - } - - //ofs_running << "\n ic_now = " << ic << " ie_now=" << ie; - for (int ik = 0; ik < Stru->nks ; ik++) - { - // cout << "ik=" << ik << endl; - // cout << "\n ik = " << ik <<" c4_new=" << c4_new << " c4_old=" << c4_old << " nks=" << Stru->nks << endl; - - // If new Q,S corespodding to the new C4 - // is not accepted. - Stru->Qtrial[ik] = Stru->Qoverlap[ik]; - Stru->Strial[ik] = Stru->Soverlap[ik]; - - this->newQ(is, ic, ie, ik, c4_new, c4_old); - - if (USEPW) - { - PW.update_psi3d(ilevel, ic, ik); - - timer::tick("PW_Basis","calculateS"); - - // old version need to change pw_basis too - if (NPROC_IN_POOL==1) - { - for (int mu=0; muwayd[mu ].ic; - const int ic2 = this->wayd[nu].ic; - if (ic1==ic || ic2==ic) - { - this->data[is].Strial[ik](mu, nu) = PW.calculateS(mu, nu, ik); - } - } - } - } - else - { - int count = 0; - for (int mu=0; muwayd[mu].ic; - const int ic2 = this->wayd[nu].ic; - - // a small trick - if (ic1==ic || ic2==ic) - { - PW.save[count] = PW.calculateS(mu, nu, ik); - PW.posmu[count] = mu; - PW.posnu[count] = nu; - //this->data[is].Strial[ik](mu, nu) = PW.calculateS(mu, nu, ik); - //ofs_running << "\n save=" << save[count] << " mu=" << mu << " nu=" << nu; - ++count; - } - } - } -#ifdef __MPI - Parallel_Reduce::reduce_complex_double_pool(PW.save, count); -#endif - for (int index=0; indexdata[is].Strial[ik](PW.posmu[index], PW.posnu[index]) = PW.save[index]; - // ofs_running << "\n mu=" << pos[index*2] << " nu=" << pos[index*2+1] << " save=" << save[index]; - } - } - timer::tick("PW_Basis","calculateS"); - } - else - { - this->newS(is, ic, ie, ik, c4_new, c4_old); - } - - Stru->inverse.using_zpotrf( Stru->Strial[ik] ); -// if(ik==3) -// { -// PRINTCM("S",data[is].Strial[ik]); -// PRINTCM("Q",data[is].Qtrial[ik]); -// PRINTCM("Sinv",Stru->inverse.A); -// } - -// BLOCK_HERE("spillage"); - - // assert all 'Stru' have same k points and bands. - // mohan 2010-05-02 - Stru->Mk[ik] = 0.00; -//>>>>> -// Keep the flexibility to calculate the spillage value -// of different number of bands for different structures - //for (int ib = 0; ib < Stru->nbands; ib++) -//<<<<< - //but now I want to calculate the spillage of given number of bands - //(1)from input, for all steps. (2) for each step. - for (int ib=bands_start; ibMkb_used(ik,ib) = 0.0; - for (int iw = 0; iw < Stru->nwfc2; iw++) - { - for (int iw2 = 0; iw2 < Stru->nwfc2; iw2++) - { - //Mk += (conj(Qtrial[ik](iw, ib)) * sinv(iw, iw2) * Qtrial[ik](iw2, ib)).real(); - if (iw <= iw2) - { - Stru->Mkb_used(ik,ib) += (conj( Stru->Qtrial[ik](iw, ib)) - * Stru->inverse.A(iw, iw2) - * Stru->Qtrial[ik](iw2, ib)).real(); - } - else - { - Stru->Mkb_used(ik,ib) += (conj( Stru->Qtrial[ik](iw, ib)) - * conj( Stru->inverse.A(iw2, iw)) - * Stru->Qtrial[ik](iw2, ib)).real(); - } - } - } - Stru->Mk[ik] += Stru->Mkb_used(ik,ib); - //ofs_running << "ik=" << ik << " ib=" << ib << " Mk=" << Stru->Mk[ik] << endl; - } - - Stru->Mk[ik] /= (double)bands_number; - //cout << endl; - - // in fact this is caused by numerical unstability. - //if (Stru->Mk[ik]*Stru->weight[ik] > upbound)//mohan fix bug 2010-06-14 - if (fill > Stru->spillage0 )//mohan refix bug 2010-06-18 - { - ++unstable; - } - else if (Stru->Mk[ik] < 0.0) - { - ++unstable; - } - else - { - fill += Stru->Mk[ik] * Stru->weight[ik]; - } - }//end ik - - -#ifdef __MPI -// Parallel_Reduce::reduce_int_all(unstable); - if (unstable>0) - { - ofs_running << "\n unstable=" << unstable; - //return Stru->spillage0; - } - Parallel_Reduce::reduce_double_allpool(fill); -#endif - - spillage = Stru->spillage0 - fill; - - if (spillage < 0.0 || spillage > 1.0 || unstable) - { - cout << "\n spillage0 = " << Stru->spillage0; - cout << "\n Type=" << this->wayc[ic].type - << " L=" << this->wayc[ic].L - << " N=" << this->wayc[ic].N; - cout << "\n bands_number = " << bands_number; - - for (int ib=0; ibMkb_used(ik,ib) * Stru->weight[ik]/bands_number; - } - cout << "\n ib=" << ib << " new fill=" << mm; - } - - double sum = 0.0; - for (int ik=0; ikMk[ik]; - sum += Stru->Mk[ik] * Stru->weight[ik]; - } - cout << "\n sum fill = " << sum; - cout << endl; - QUIT(); - return Stru->spillage0; - } - - return spillage; -} - - -void SpillageStep::newQ( const int &is, const int &ic, const int &ie, const int &ik, - const double &c4_now ,const double &c4_old) -{ -// TITLE("SpillageStep","newQ"); - const double delta = c4_now - c4_old; - for (int iw = 0; iw < nwfc2; iw++) - { - const int jw = this->wayd[iw].iw00; - if ( this->wayd[iw].ic == ic) - { - //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - if ( !wayd[iw].average ) - { - // the change of dQ= is due to - // the change of Jlq(iw)=delta(Jlq(iw)) - for (int ib = 0; ib < this->data[is].nbands; ib++) - { - this->data[is].Qtrial[ik](iw, ib) += delta - * this->data[is].Qin(ik, ib, jw, ie); - } - } - else // if use average orbital - { - const int L = wayd[iw].L; - for (int ib = 0; ib < this->data[is].nbands; ib++) - { - std::complex avalue = std::complex(0.0, 0.0); - for (int m=0; m<2*L+1; m++) - { - avalue += this->data[is].Qin(ik, ib, jw+m, ie); - } - avalue /= (2*L+1); - this->data[is].Qtrial[ik](iw, ib) += delta * avalue; - } - } - //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - } - } - return; -} - - -void SpillageStep::newS( - const int &is, const int &ic, const int &ie, const int &ik, - const double &c4_now ,const double &c4_old) -{ -// TITLE("SpillageStep","newS"); - // example c = c2, ie2 = ie - //========================================================================================================== - // iw0-s iw1p1 iw2p2 iw3p3 iw4s - // c1 *c2 *c2 *c2 c3 - // ea eb ec ea eb ec ea eb ec ea eb ec ea eb ec - // ea h h h - // iw0-s eb h h h - // c1 ec h h h - //---------------------------------------------------------------------------------------------------------- - // ea h h h - // iw1-p1 *eb h h h ? h ? ? h ? h h h h (? must do because JLq contain k vector) - // *c2 ec h h h - //---------------------------------------------------------------------------------------------------------- - // ea h h h - // iw2-p2 *eb h h h ? h ? h h h h h - // *c2 ec h h h - //---------------------------------------------------------------------------------------------------------- - // ea h h h - // iw3-p3 *eb h h h h h h h h h - // *c2 ec h h h - //----------------------------------------------------------------------------------------------------------- - // ea h h h - // iw4-s eb h h h - // c3 ec h h h - //------------------------------------------------------------------------------------------------------------ - // ea h h h - // iw5-p1 eb . . . - // c4 ec . . . - //----------------------------------------------------------------------------------------------------------- - // ea - // iw6-p2 eb - // c4 ec - //-------------------------------------------------------------------------- - // ea - // iw7-p3 eb - // c4 ec - // - // (e1) - //========================================================================== - //================================================= - // search in all wavefunction ( type, i, l, m, n ) - //================================================= - for (int iw = 0; iw < this->data[is].nwfc2; iw++) - { - const int jw = this->wayd[iw].iw00; - const int ic1 = this->wayd[iw].ic; - const int T1 = this->wayd[iw].type; - const int L1 = this->wayd[iw].L; - const int N1 = this->wayd[iw].N; - // belong to which group of c, eg. p1,p2,p3 may - // have the same ic1. - //============================================= - // search in all other eigenvalues (ic1 != ic). - //============================================= - for (int ie1 = 0; ie1 < this->data[is].ne; ie1++) - { - // update for the 'ic' row - if ( ie1 != ie || ic1 !=ic ) - { - for (int iw2 = iw; iw2 < this->data[is].nwfc2; iw2++) - { - const int kw = this->wayd[iw2].iw00; - if (this->wayd[iw2].ic == ic) - { - // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - // case 1 - if ( !wayd[iw].average && !wayd[iw2].average) - { - this->data[is].Strial[ik](iw, iw2) += - (c4_now * input.Coef.C4( T1, L1, N1, ie1 ) - - c4_old * input.Coef.C4_old( T1, L1, N1, ie1 ) ) - * input.QS_data[is].Sq1q2[ik](jw, kw, ie1, ie); - } - else // case 2 - { - const int L2 = this->wayd[iw2].L; - std::complex avalue = std::complex(0.0, 0.0); - // case 2.1 - if ( wayd[iw].average && !wayd[iw2].average) - { - for (int m1=0; m1<2*L1+1; m1++) - { - avalue += input.QS_data[is].Sq1q2[ik](jw+m1, kw, ie1, ie); - } - avalue /= (2*L1+1); - } - // case 2.2 - if ( !wayd[iw].average && wayd[iw2].average) - { - for (int m2=0; m2<2*L2+1; m2++) - { - avalue += input.QS_data[is].Sq1q2[ik](jw, kw+m2, ie1, ie); - } - avalue /= (2*L2+1); - } - // case 2.3 - if ( wayd[iw].average && wayd[iw2].average) - { - for (int m1=0; m1<2*L1+1; m1++) - { - for (int m2=0; m2<2*L2+1; m2++) - { - avalue += input.QS_data[is].Sq1q2[ik](jw+m1, kw+m2, ie1, ie); - } - } - avalue /= ( (2*L1+1)*(2*L2+1) ); - } - this->data[is].Strial[ik](iw, iw2) += - (c4_now * input.Coef.C4( T1, L1, N1, ie1 ) - - c4_old * input.Coef.C4_old( T1, L1, N1, ie1 ) ) - * avalue; - } - // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - } - } - } - else - { - for (int iw2 = iw; iw2 < this->data[is].nwfc2; iw2++) - { - const int ic2 = this->wayd[iw2].ic; - const int kw = this->wayd[iw2].iw00; - const int T2 = this->wayd[iw2].type; - const int L2 = this->wayd[iw2].L; - const int N2 = this->wayd[iw2].N; - for (int ie2 = 0; ie2 < this->data[is].ne; ie2++) - { - // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - if ( !wayd[iw].average && !wayd[iw2].average) - { - this->data[is].Strial[ik](iw, iw2) += - (c4_now * input.Coef.C4( T2, L2, N2, ie2 ) - - c4_old * input.Coef.C4_old( T2, L2, N2, ie2 ) ) - * input.QS_data[is].Sq1q2[ik](jw, kw, ie, ie2); - } - else // case 2 - { - const int L2 = this->wayd[iw2].L; - std::complex avalue = std::complex(0.0, 0.0); - // case 2.1 - if ( wayd[iw].average && !wayd[iw2].average) - { - for (int m1=0; m1<2*L1+1; m1++) - { - avalue += input.QS_data[is].Sq1q2[ik](jw+m1, kw, ie, ie2); - } - avalue /= (2*L1+1); - } - // case 2.2 - if ( !wayd[iw].average && wayd[iw2].average) - { - for (int m2=0; m2<2*L2+1; m2++) - { - avalue += input.QS_data[is].Sq1q2[ik](jw, kw+m2, ie, ie2); - } - avalue /= (2*L2+1); - } - // case 2.3 - if ( wayd[iw].average && wayd[iw2].average) - { - for (int m1=0; m1<2*L1+1; m1++) - { - for (int m2=0; m2<2*L2+1; m2++) - { - avalue += input.QS_data[is].Sq1q2[ik](jw+m1, kw+m2, ie, ie2); - } - } - avalue /= ( (2*L1+1)*(2*L2+1) ); - } - this->data[is].Strial[ik](iw, iw2) += - (c4_now * input.Coef.C4( T2, L2, N2, ie2 ) - - c4_old * input.Coef.C4_old( T2, L2, N2, ie2 ) ) - * avalue; - } - // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - } - } - } - } - } - - // PRINTCM("S",Strial[ik]); - return; -} - - - -void SpillageStep::updateQS( const int &is ) -{ -// if(test==1)TITLE("SpillageStep","updateQS"); - for (int ik=0; ik< data[is].nks; ik++) - { - data[is].Qoverlap[ik] = data[is].Qtrial[ik]; - data[is].Soverlap[ik] = data[is].Strial[ik]; - } - return; -} - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageStep.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageStep.h deleted file mode 100644 index 6b3afcc846..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageStep.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef SPILLAGE_STEP -#define SPILLAGE_STEP - -#include "common.h" -#include "Step_Data.h" -#include "Type_Information.h" - -// use orbital index to find the information -// of each orbital. -struct Way2Data // dimension : nwfc2 -{ - int type; - int i; // atom index - int L; - int N; - int m; // mohan add 2010-06-16 - - int iw0; // to label , which not include 'N', but not used now, - int iw00; // to - int ic; - - bool average; // mohan add 2009-07-12 -}; - -struct Way2c4 // dimension : nchi -{ - int type; - int L; - int N; - char spd; //mohan add 2010-04-17, the orbital type. -}; - -// (1) It's a memeber of MultiZeta. -// (2) define the operations for each step. -// (3) Especially it defines many complicated index. -// (4) It also defines the main routine to calculate the spillage value. -// (5) Also the update of Q and S matrix using complicated index. -// (6) It also contains four calss: Type_Information; Step_Data; Way2c4; Way2Data; -class SpillageStep -{ - public: - SpillageStep(); - ~SpillageStep(); - - Type_Information *info; // dimension : type - Step_Data *data; - Way2c4 *wayc; - Way2Data *wayd; - - void set_info(const int &ntype_in); - void set_nwfc(void); - void set_iw00(void); - void set_nchi(void); - - // allocate data for current level. - void allocate_data( const int &istep); - - void init_QS_matrix( const int &is); - double get_spillage( const int &is, const int &ic, const int &ie); - void updateQS( const int &is ); - - int ntype; - int nchi; // total radial wave functions(T,L,N); - int nwfc2; - int ne; - int ilevel; - - private: - - void newQ( const int &is, const int &ic, const int &ie, const int &ik, - const double &c4_now, const double &c4_old); - void newS( const int &is, const int &ic, const int &ie, const int &ik, - const double &c4_now ,const double &c4_old); - - int test; - int nwfc; -}; -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageValue.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageValue.cpp deleted file mode 100644 index 78e7146b6a..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageValue.cpp +++ /dev/null @@ -1,139 +0,0 @@ -#include "SpillageValue.h" -#include "tools.h" - -SpillageValue::SpillageValue() -{ - dim = 0; - value = new double[1]; - value_old = new double[1]; -} - -SpillageValue::~SpillageValue() -{ - delete[] value; - delete[] value_old; -} - -void SpillageValue::allocate( const int &dim_in ) -{ - this->dim = dim_in; - assert( dim < 100); - assert( dim > 0); - - delete[] value; - delete[] value_old; - value = new double[dim]; - value_old = new double[dim]; - - // assume max step < 100 - const int max_levels = 100; - value_each_level.create(dim, max_levels); - - this->reset(); - - return; -} - -void SpillageValue::reset(void) -{ - for(int i=0; ivalue; - } - else - { - v = this->value_old; - } - - double mv=0.0; - // case 1: // get the largest spillage value. - if( abs(SCHEME_VALUE)==1) - { - for(int i=0; ivalue_each_level(i ,ilevel) = value_old[i]; - } - return; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageValue.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageValue.h deleted file mode 100644 index b0827a60f0..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/SpillageValue.h +++ /dev/null @@ -1,55 +0,0 @@ -// mohan mddify 2010-05-02 -#ifndef SPILLAGE_VALUE_H -#define SPILLAGE_VALUE_H - -#include "common.h" - -class SpillageValue -{ - friend class Read_INPUT; - - friend class MultiZeta; - // in multizeta, 'value_old' are calculated. - - friend class Metropolis; - // in metropolis, 'value' are set. - - friend class Out_Orbital; - // in OurOrbital, 'value each level' are used. - - public: - - // 1: get new spillage value. - // 0: get old spillage value. - double cal_defined_value( bool get_new_flag); - - void update_value(); - - void out(); - - void save_level( const int &ilevel); - - private: - - // spillage value for each structure. - double *value; - - // the previous spillage value for each structure. - double *value_old; - - // spillage for all structures. - matrix value_each_level; - - // dimension is the number of structures. - // eg. 5 different dimers. - int dim; - - void allocate( const int &dim_in ); - - void reset(); - - SpillageValue(); - ~SpillageValue(); -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Step_Data.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Step_Data.cpp deleted file mode 100644 index 8bd3d05e26..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Step_Data.cpp +++ /dev/null @@ -1,122 +0,0 @@ -#include "Step_Data.h" - -Step_Data::Step_Data() -{ -// TITLE("Step_Data","Step_Data"); - Qoverlap = new ComplexMatrix[1]; - Soverlap = new ComplexMatrix[1]; - Qtrial = new ComplexMatrix[1]; - Strial = new ComplexMatrix[1]; - weight = new double[1]; - Sinv = new ComplexMatrix[1]; - Mk = new double[1]; - test = 0; -} - -Step_Data::~Step_Data() -{ -// TITLE("Step_Data","~Step_Data"); - delete[] Qoverlap; - delete[] Soverlap; - delete[] Qtrial; - delete[] Strial; - delete[] weight; - delete[] Sinv; - delete[] Mk; -} - -void Step_Data::init( - const int &nks_in, - const double* weight_in, - const int &nbands_in, - const int &ne_in, - const int &nwfc_in, - const int &nwfc2_in, - const int &nwfc_all_in) -{ - if(test==1)TITLE("Step_Data","init"); - this->nks = nks_in; - assert(nks > 0); - - delete[] Mk; //mohan add 2010-05-02 - this->Mk = new double[nks]; - ZEROS( Mk, nks ); - - delete[] weight; - this->weight = new double[nks]; - for(int ik=0; iknbands = nbands_in; - - assert(nbands > 0); - this->Mkb.create(nks, nbands);//mohan add 2010-05-02 - this->Mkb_used.create(nks, nbands); - this->Mkb.zero_out(); - this->Mkb_used.zero_out(); - - this->ne = ne_in; - this->nwfc = nwfc_in; - this->nwfc2 = nwfc2_in; - this->nwfc_all = nwfc_all_in; - - - if(test==1) - { - cout << "\n" << setw(10) << "nwfc" - << setw(10) << "nwfc2" - << setw(10) << "nwfc_all"; - - cout << "\n" << setw(10) << nwfc - << setw(10) << nwfc2 - << setw(10) << nwfc_all; - } - - this->allocate(); - - return; -} - -void Step_Data::allocate() -{ - this->Qin.create(nks, nbands, nwfc_all, ne); - return; -} - -// be called in Multi_Zeta.cpp -void Step_Data::initQS(void) -{ - if(test==1) TITLE("Step_Data","initQS"); - assert(nks > 0); - assert(nbands > 0); - assert(nwfc > 0); // nwfc is for , - assert(ne > 0); - - this->inverse.init(nwfc2); - delete[] Qtrial; - delete[] Strial; - delete[] Qoverlap; - delete[] Soverlap; - delete[] Sinv; - - this->Qoverlap = new ComplexMatrix[nks]; - this->Soverlap = new ComplexMatrix[nks]; - this->Qtrial = new ComplexMatrix[nks]; - this->Strial = new ComplexMatrix[nks]; - this->Sinv = new ComplexMatrix[nks]; - - for(int ik=0; ik=-1); - delete[] n; - delete[] nbase; - delete[] fa; - n = new int[lmax+1]; - nbase = new int[lmax+1]; - fa = new string[lmax+1]; - for(int i=0; inmax = 0; - for(int l=0; lnmax = std::max( nmax, n[l]+nbase[l] ); - } -// cout << "\n nmax = " << nmax; - return; -} - -void Type_Information::cal_nw(void) -{ - TITLE("Type_Information","cal_nw"); - // where is this lmax from ? - // in Multi_Zeta, - // read in from file directly - // for each level and each type. - - // be called in SpillageStep. - - // nw2: number of total local orbitals. - // (ia, l, n, m) - // Including multi-zeta orbitals, - // which are made up from same Jl(q). - this->nw2 = 0; - for(int l=0; l 1 - // f orbitals, 7 ==> 1 - } - //cout << "\n nw = " << nw; - } - - // nw: number of overlap we must save. - // doesn't consider n[l], - // the only condition is n[l] > 0 in this atom species. - this->nw = 0; - for(int l=0; l0) - { - nw += (2*l+1)*na; - } - } - - cout << " cal_nw::nw = " << nw; - cout << " cal_nw::nw2 = " << nw2 << endl; - return; -} - - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Type_Information.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Type_Information.h deleted file mode 100644 index 1a9e0d38f6..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/Type_Information.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef TYPE_INFORMATION_H -#define TYPE_INFORMATION_H -#include "common.h" - -// Information of a particular type -class Type_Information -{ - public: - Type_Information(); - ~Type_Information(); - int id;// index of element periodic table. - - int na;// number of atoms of this type. - - string *fa;// mohan add 2009-07-12 - // f: full orbtial used. - // a: average orbital used. - - string state; // mohan add 2009-08-27, new/skip - // state: new, start Metropolis calculation in this step. - // state: skip, skip this Metropolis calculation, - // used only in case RESTART=TRUE; - - int lmax;// lmax used. - - int *n;// number of radial function for each L. - - int *nbase;// number of radial function of each L, sum up all the steps information before! - - int nmax; - - int nw; - - int nw2; - - void init();// allocate n, nbase, fa; - void cal_nw(); - void cal_nmax(); -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/common.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/common.cpp deleted file mode 100644 index 3ec4fd9da4..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/common.cpp +++ /dev/null @@ -1,143 +0,0 @@ -#include "common.h" -void PRINTCM(const string &s, const ComplexMatrix &m) -{ - const int b1 = m.nr; - const int b2 = m.nc; - cout << "\n" << s << " " << b1 << " " << b2 ; - - if (b1*b2 == 0) return; - - cout << "\n norm : "; - for (int i = 0;i < b1;i++) - { - for (int j = 0;j < b2;j++) - { - if (j % 8 == 0) cout << "\n "; - double norm = ( conj( m(i, j) ) * m(i, j) ).real(); - if( abs(norm) > 1.0e-9) cout<< setw(12) << norm; - else cout< 1.0e-9) cout<< setw(12) << n; - else cout< 1.0e-9) cout<< setw(12) << n; - else cout<> SearchName; - if( SearchName == TargetName) - { - find = true; -// cout << " Find the block:" << TargetName << endl; - break; - } - } - if (!find && quit) - { - cout << "\n Can't find : " << TargetName; - exit(0); - } - return find; -} - -void SCAN_END(ifstream &ifs, const string &TargetName) -{ - string SearchName; - ifs >> SearchName; - if( SearchName != TargetName) - { - cout<<"\n"<<"In SCAN_END, can't find: "<> ok; - -} - -void QUIT(void) -{ - timer::finish(); -#ifdef __MPI - MPI_Finalize(); -#endif - exit(0); -} - -void TITLE(const string &class_name,const string &function_name) -{ -// ofs_running<<"\n\n ==> "< "< "< "< -#include -#include - -#include -#include - -#include -#include -#include -#include -#include - -#include - -#include "../src_tools/mathzone.h" -#include "../src_tools/realarray.h" -#include "../src_tools/intarray.h" -#include "../src_tools/matrix.h" -#include "../src_tools/matrix3.h" -#include "../src_tools/complexmatrix.h" -#include "../src_tools/complexarray.h" -#include "../src_tools/module_external/lapack_connector.h" -#include "../src_tools/Random.h" -#include "../src_tools/timer.h"// added 2009-4-17 -#include "../src_tools/inverse_matrix.h" - -#ifdef __MPI -#include -#endif - -template -static void READ_VALUE(ifstream &ifs, T &v) -{ - ifs >> v; - ifs.ignore(150, '\n'); - return; -} - - -bool SCAN_BEGIN(ifstream &ifs, const string &TargetName, const bool restart=1, const bool quit=true); -void SCAN_END(ifstream &ifs, const string &TargetName); -void TITLE(const string &class_name,const string &function_name); -void TITLE(ofstream &ofs, const string &class_name,const string &function_name); -void PRINTCM(const string &s, const ComplexMatrix &m); -//========================================================== -// GLOBAL FUNCTION : -// NAME : ZEROS -// set elements of u as zero which u is 1_d complex array -//========================================================== -template -void ZEROS(complex *u,const int n) -{ - assert(n!=0); - assert(u!=0); - for(int i=0;i(0.0,0.0); - } - return; -} - -template -void ZEROS(T *u,const int n) -{ - assert(n>=0); - for(int i=0;i -void OUT(ofstream &ofs,const string &name,const T &a) -{ - stringstream name2; - name2 << "[" << name << "]"; - ofs<< " " << setw(40) << name2.str() << " = " << a < -void OUT(ofstream &ofs,const string &name,const T &x, const T &y, const T &z) -{ - stringstream name2; - name2 << "[" << name << "]"; - ofs<< " " << setw(40) <",1,0) ) - { - READ_VALUE( ifs, BANDS_CONTROL); - if (BANDS_CONTROL) - { - READ_VALUE(ifs, BANDS_START); - assert(BANDS_START > 0); - BANDS_START -= 1; - // because the band index start from 0; - READ_VALUE(ifs, BANDS_END); - // BANDS_END need not -=1; - } - - ofs_running << " ATTENTION! YOU SELECT THE BANDS: " << endl; - ofs_running << " BANDS_START=" << BANDS_START+1 << " BANDS_END=" << BANDS_END << endl; - } - - // mohan add 2009-08-26 - if ( SCAN_BEGIN(ifs,"",1,0) ) - { - READ_VALUE( ifs, BLOCK_NE); - assert(BLOCK_NE>=0); - - READ_VALUE( ifs, BLOCK_NE_MIN); - assert(BLOCK_NE >= BLOCK_NE_MIN); - // static_cast( sqrt( 2.0 * ecut )* rcut/3.1415926535897932 ); - - ofs_running << " ATTENTION! YOU SELECT BLOCK_NE=" << BLOCK_NE << endl; - ofs_running << " ALSO BLOCK_NE_MIN=" << BLOCK_NE_MIN << endl; - } - - // mohan add 2009-08-31 - if ( SCAN_BEGIN(ifs,"",1,0) ) - { - double block_ne_energy; - double rcut_in; - READ_VALUE( ifs, block_ne_energy); - READ_VALUE( ifs, rcut_in ); - BLOCK_NE = static_cast( sqrt( 2.0 * block_ne_energy )* rcut_in/3.1415926535897932 ); - assert(BLOCK_NE >= 0); - - ofs_running << "\n Attential! Now, input BLOCK_NE parameter be replaced!" << endl; - ofs_running << "\n New BLOCK_NE = " << BLOCK_NE - << " energy_cut = " << block_ne_energy - << " rcut_in = " << rcut_in << endl; - } - - // mohan add 2009-08-28 - // 1: max spillage value. - // 2: average spillage value. - // 3: add kapa value. - if ( SCAN_BEGIN(ifs,"",1,0) ) - { - READ_VALUE( ifs, SCHEME_VALUE ); - assert(abs(SCHEME_VALUE)>0); - assert(abs(SCHEME_VALUE)<4); - } - - if ( SCAN_BEGIN(ifs,"",1,0) ) - { - READ_VALUE( ifs, NKSTOT ); - assert(NKSTOT>0); -#ifdef __MPI - READ_VALUE( ifs, KPAR ); - assert(KPAR>0); -#endif - } - - }// end ifs - - else if( ifs2 ) - { - if ( SCAN_BEGIN(ifs2,"",1,0) ) - { - READ_VALUE( ifs2, WFC_FILE); - } - - if ( SCAN_BEGIN(ifs2,"",1,0) ) - { - READ_VALUE( ifs2, SMOOTH); - assert(SMOOTH == 0 || SMOOTH == 1); - READ_VALUE( ifs2, SIGMA); - assert(SIGMA >= 0.0); - READ_VALUE( ifs2, ECUT_JLQ); - assert(ECUT_JLQ > 0 && ECUT_JLQ < 1000); - // mohan set the boundaries) - READ_VALUE( ifs2, RCUT); - assert(RCUT > 0 && RCUT < 15); - READ_VALUE( ifs2, TOLERENCE); - assert(TOLERENCE> 0.0); - } - - if ( SCAN_BEGIN(ifs2,"",1,0) ) - { - READ_VALUE( ifs2, NKSTOT ); - assert(NKSTOT>0); -#ifdef __MPI - READ_VALUE( ifs2, KPAR ); - assert(KPAR>0); -#endif - } - }// end ifs2 - } // end my rank0. - - //------------------------------------------------ - // second part - //------------------------------------------------ - // 2.1 - if( ifs ) - { - if (MY_RANK==0) - { - this->read_PW_QS_1(); - } - } - else if ( ifs2 ) - { - this->read_WFC(); - } - - // 2.2 - // bcast NKSTOT. - // bcast the global information. - // need to first bcast KPAR. - this->bcast(); - - // set the parallel information - // about pool. - Pkpoints.init(); - - // init the k point information. - Pkpoints.kinfo(NKSTOT); - - // calculate the local number of k points. -#ifdef __MPI - NKS = Pkpoints.nks_pool[MY_POOL]; -#else - NKS = NKSTOT; -#endif - - OUT(ofs_running,"NKS",NKS); - - // 2.3 - if( ifs ) - { - this->read_PW_QS_2(); - } - else if( ifs2 ) - { - this->read_WFC_2(); - USEPW = 1; - } - - return; -} - -void Read_INPUT::bcast(void) -{ -#ifdef __MPI - Parallel_Common::bcast_bool( BANDS_CONTROL ); - Parallel_Common::bcast_int( BANDS_START ); - Parallel_Common::bcast_int( BANDS_END ); - - Parallel_Common::bcast_int( BLOCK_NE ); - Parallel_Common::bcast_int( BLOCK_NE_MIN ); - - Parallel_Common::bcast_int( SCHEME_VALUE ); - Parallel_Common::bcast_int( KPAR ); - - Parallel_Common::bcast_int( CALSPI ); - Parallel_Common::bcast_bool( RESTART ); - Parallel_Common::bcast_bool( this->output ); - Parallel_Common::bcast_int( STRNUM ); - - OUT(ofs_running,"STRNUM",STRNUM); - - if (MY_RANK!=0) - { - delete[] qsfile; - qsfile = new string[STRNUM]; - } - - for (int i=0; iSV.allocate( STRNUM ); - delete[] this->QS_data; - this->QS_data = new ReadData[ STRNUM ]; - - for (int i=0; iQS_data[i].OverlapQandS( qsfile[i].c_str() ); - //this->QS_data[in].OverlapSinv( sinv_file.c_str() ); // not used - } - - return; -} - -void Read_INPUT::read_PW_QS_1(void) -{ - TITLE(ofs_running, "Read_INPUT","read_PW_QS_1"); - - if ( SCAN_BEGIN(ifs,"") ) - { - // <1> calculate spillage or not. - READ_VALUE( ifs, CALSPI ); - // <1.5> restart from file or not. - // mohan add this function 2009-08-27 - READ_VALUE( ifs, RESTART); - // <2> output file or not. - READ_VALUE( ifs, this->output ); - // <3> number of structures. - READ_VALUE( ifs, STRNUM ); - OUT(ofs_running,"STRNUM",STRNUM); - if (STRNUM<=0) - { - WARNING_QUIT("Read_INPUT::read_PW_QS_1","STRNUM<=0"); - } - - delete[] qsfile; - this->qsfile = new string[STRNUM]; - - // <4> read in each file. - for (int in=0; in< STRNUM; in++) - { - READ_VALUE(ifs, qsfile[in]); - ifstream check(qsfile[in].c_str()); - if (!check) - { - ofs_running << qsfile[in] << endl; - WARNING_QUIT("Read_INPUT","the file is not exist!"); - } - else - { - OUT(ofs_running,"FILE",qsfile[in]); - static bool already_read = false; - if (!already_read) - { - check >> LAT0; - OUT(ofs_running,"LAT0",LAT0); - check >> LATVEC.e11 >> LATVEC.e12 >> LATVEC.e13; - check >> LATVEC.e21 >> LATVEC.e22 >> LATVEC.e23; - check >> LATVEC.e31 >> LATVEC.e32 >> LATVEC.e33; - OUT(ofs_running,"a1",LATVEC.e11,LATVEC.e12,LATVEC.e13); - OUT(ofs_running,"a2",LATVEC.e21,LATVEC.e22,LATVEC.e23); - OUT(ofs_running,"a3",LATVEC.e31,LATVEC.e32,LATVEC.e33); - READ_VALUE(check, NTYPE); - OUT(ofs_running,"NTYPE",NTYPE); - assert( NTYPE > 0 ); - NA = new int[NTYPE]; - LABEL = new string[NTYPE]; - CARPOSX = new double*[NTYPE]; - CARPOSY = new double*[NTYPE]; - CARPOSZ = new double*[NTYPE]; - for(int it=0; it> CARPOSX[it][ia] >> CARPOSY[it][ia] >> CARPOSZ[it][ia]; - OUT(ofs_running,"POS",CARPOSX[it][ia],CARPOSY[it][ia],CARPOSZ[it][ia]); - } - } - - READ_VALUE(check, ECUT); - READ_VALUE(check, ECUT_JLQ); - READ_VALUE(check, RCUT); - READ_VALUE(check, SMOOTH); - READ_VALUE(check, SIGMA); - - READ_VALUE(check, TOLERENCE); - READ_VALUE(check, LMAXALL); - READ_VALUE(check, NKSTOT); - READ_VALUE(check, NBANDS); - READ_VALUE(check, NWFCALL); - READ_VALUE(check, NE); - - OUT(ofs_running,"ECUT(Ry)",ECUT); - OUT(ofs_running,"ECUT_JLQ(Ry)",ECUT_JLQ); - OUT(ofs_running,"RCUT(Bohr)",RCUT); - OUT(ofs_running,"SMOOTH",SMOOTH); - OUT(ofs_running,"SIGMA",SIGMA); - OUT(ofs_running,"TOLERENCE",TOLERENCE); - OUT(ofs_running,"LMAXALL",LMAXALL); - OUT(ofs_running,"NKSTOT",NKSTOT); - OUT(ofs_running,"NBANDS",NBANDS); - OUT(ofs_running,"NWFCALL",NWFCALL); - OUT(ofs_running,"NE",NE); - - if(SMOOTH) assert(SIGMA!=0.0); - - already_read = true; - }//only read once. - check.close(); - } - } - } - return; -} - -void Read_INPUT::read_WFC(void) -{ - TITLE("Read_INPUT","read_WFC"); - - ifstream ifswfc( WFC_FILE.c_str() ); - - if(!ifswfc) - { - cout << " Can't find wfc file : " << WFC_FILE << endl; - WARNING_QUIT("Read_INPUT::read_WFC","Can't find wavefunctions file."); - } - else - { - cout << " Find file: " << WFC_FILE << endl; - } - - if(MY_RANK==0) - { - - ifswfc >> LAT0; - cout << "\n LAT0 = " << LAT0; - ifswfc >> LATVEC.e11 >> LATVEC.e12 >> LATVEC.e13; - ifswfc >> LATVEC.e21 >> LATVEC.e22 >> LATVEC.e23; - ifswfc >> LATVEC.e31 >> LATVEC.e32 >> LATVEC.e33; - cout << "\n a1 = " << LATVEC.e11 << " " << LATVEC.e12 << " " << LATVEC.e13; - cout << "\n a2 = " << LATVEC.e21 << " " << LATVEC.e22 << " " << LATVEC.e23; - cout << "\n a3 = " << LATVEC.e31 << " " << LATVEC.e32 << " " << LATVEC.e33; - READ_VALUE(ifswfc, NTYPE); - cout << "\n NTYPE = " << NTYPE << endl; - assert( NTYPE > 0 ); - NA = new int[NTYPE]; - LABEL = new string[NTYPE]; - CARPOSX = new double*[NTYPE]; - CARPOSY = new double*[NTYPE]; - CARPOSZ = new double*[NTYPE]; - for(int it=0; it IMAG_UNIT = std::complex(0, 1.0); -const std::complex NEG_IMAG_UNIT = std::complex(0,-1.0); -const double PI_HALF = PI / 2.0; -const double SQRT2 = 1.41421356237309504880; - -// read wavefunction -string WFC_FILE = "WAVEFUNC.dat"; - -void DESTROY(void) -{ - if(NTYPE>0) - { - delete[] LABEL; - delete[] NA; - for(int i=0; i0) - { - delete[] CARKX; - delete[] CARKY; - delete[] CARKZ; - } -} - - - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/tools.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/tools.h deleted file mode 100644 index 21486a12ae..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_spillage/tools.h +++ /dev/null @@ -1,97 +0,0 @@ -#ifndef TOOL_H -#define TOOL_H - -#include "common.h" -#include "../src_pw/pw_basis.h" -#include "MultiZeta.h" -#include "read_INPUT.h" -#include "../src_parallel/parallel_kpoints.h" // add 2010-06-12 -//plane wave , mohan add 2010-06-14 -extern PW_Basis PW; -extern MultiZeta mz; -extern Read_INPUT input; -extern Parallel_Kpoints Pkpoints; -extern ofstream ofs_running; - -// parallel information -extern int NPROC; // mohan add 2010-06-12 -extern int KPAR; -extern int MY_RANK; -extern int MY_POOL; -extern int NPROC_IN_POOL; -extern int RANK_IN_POOL; - -// global + input information. -extern int NKSTOT; -extern int NKS; -extern int NBANDS; -extern int NWFCALL; -extern int NE; - -// global information -extern int STRNUM; -extern int NTYPE; -extern string *LABEL; -extern int *NA; -extern double **CARPOSX; -extern double **CARPOSY; -extern double **CARPOSZ; -extern Matrix3 LATVEC; - -// plane wave information -extern bool USEPW; -extern double LAT0; - -// k points -extern double *CARKX; -extern double *CARKY; -extern double *CARKZ; - -//orbital + energy cutoff -extern double ECUT; -extern double ECUT_JLQ; -extern double RCUT; -extern bool SMOOTH; // use to make the second derivative of psi is continues. -extern double SIGMA; -extern double TOLERENCE; -extern int LMAXALL; -extern int LMAXUSED; -extern int NMAXUSED; // mohan 2010-06-17 -extern int NCHIUSED; - -// band information -extern bool BANDS_CONTROL; -extern int BANDS_START;//mohan add 2010-05-02 -extern int BANDS_END; - -// other global information -extern int CALSPI; // mohan 2010-06-17 -extern int BLOCK_NE; // if ie < BLOCK_NE, we use this Jlq(ie), mohan add 2009-08-26 -extern int BLOCK_NE_MIN; // mohan add 2009-08-27 -extern bool RESTART; -extern int TEST1; -extern int SCHEME_VALUE; - -extern int ACCEPTANCE_STEPS; // mohan add 2009-10-31 -extern double ACCEPTANCE_HIGH; -extern double ACCEPTANCE_LOW; - -extern double KINETIC_MAX; // mohan add 2009-10-31 -extern double KINETIC_DR; // mohan add 2010-04-12 -extern int OPTIMIZE_METHOD;// mohan add 2010-04-14 - -// constant -extern const double PI; // mohan add 2010-04-16 -extern const double TWO_PI; // mohan add 2010-06-14 -extern const double FOUR_PI; -extern const std::complex IMAG_UNIT; -extern const std::complex NEG_IMAG_UNIT;//mohan add 2010-06-14 -extern const double SQRT_INVERSE_FOUR_PI; -extern const double PI_HALF; -extern const double SQRT2; - -// read wavefunction -extern string WFC_FILE; - -void DESTROY(); -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/Random.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/Random.h deleted file mode 100644 index 32d43e4f63..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/Random.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef RANDOM_H -#define RANDOM_H -#include -#include - -class Random -{ - public: - Random(); - ~Random(); - - static void between0and1( double *v, const int &num ) - { - assert( v!= NULL); - assert( num > 1); - for(int i=0; i( std::rand() ) / RAND_MAX; - } - } - - static double betweenMinus2and2(void) - { - return 2.0*betweenMinus1and1(); - } - - static double betweenMinus1and1(void) - { - int a = std::rand() % 2; - if(a==0) return between0and1(); - else if(a==1) return betweenMinus1and0(); - } - - static double between0and1(void) - { - return static_cast( std::rand() )/RAND_MAX; - } - - static double betweenMinus1and0(void) - { - return -static_cast( std::rand() )/RAND_MAX; - } - -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexarray.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexarray.cpp deleted file mode 100644 index 22519a92c4..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexarray.cpp +++ /dev/null @@ -1,175 +0,0 @@ -/******************************************* - * ESCP:Electro-Structure Calculate Package. - ********************************************/ - -#include -#include "complexarray.h" - -int ComplexArray::arrayCount = 0; - -void ComplexArrayAlloc() -{ - cout << "\n Allocation error for ComplexArray " << endl; - exit(0); -} - -ComplexArray::ComplexArray(const int d1,const int d2,const int d3) -{ - dim = 3; - bound1 = (d1 <= 0) ? 1 : d1; - bound2 = (d2 <= 0) ? 1 : d2; - bound3 = (d3 <= 0) ? 1 : d3; - bound4 = 0; - - set_new_handler(ComplexArrayAlloc); - - size = bound1 * bound2 * bound3 ; //* sizeof(float); - - ptr = new std::complex[size](); - assert(ptr != 0); - - ++arrayCount; -} - -ComplexArray::ComplexArray(const int d1,const int d2,const int d3,const int d4) -{ - dim = 4; - bound1 = (d1 <= 0) ? 1 : d1; - bound2 = (d2 <= 0) ? 1 : d2; - bound3 = (d3 <= 0) ? 1 : d3; - bound4 = (d4 <= 0) ? 1 : d4; - - set_new_handler(ComplexArrayAlloc); - - size = bound1 * bound2 * bound3 * bound4 ; //* sizeof(float); - - ptr = new std::complex[size](); - assert(ptr != 0); - - ++arrayCount; -} - -//******************************** -// -// Destructor for class ComplexArray -// -//******************************** -ComplexArray ::~ComplexArray() -{ - freemem(); -} - -void ComplexArray::freemem() -{ - delete [] ptr; - ptr = NULL; -} - -void ComplexArray::create(const int d1,const int d2,const int d3,const int d4) -{ - size = d1 * d2 * d3 * d4; - assert(size>0); - - dim = 4; - - bound1 = d1; - bound2 = d2; - bound3 = d3; - bound4 = d4; - - delete [] ptr; - ptr = new std::complex[size](); - assert(ptr != 0); -} - -void ComplexArray::create(const int d1,const int d2,const int d3) -{ - size = d1 * d2 * d3; - assert(size>0); - - dim = 3; - - bound1 = d1; - bound2 = d2; - bound3 = d3; - bound4 = 1; - - delete [] ptr; - ptr = new std::complex[size](); - assert(ptr != 0); -} - -const ComplexArray &ComplexArray::operator=(const ComplexArray &right) -{ - for (int i = 0;i < size;i++) ptr[i] = right.ptr[i]; - return *this;// enables x = y = z; -} - -const ComplexArray &ComplexArray::operator=(const std::complex &right) -{ - for (int i = 0;i < size;i++) ptr[i] = right; - return *this;// enables x = y = z; -} - -//******************************************************** -// -// overloaded subscript operator for const real Array -// const reference return create an cvakue -// -//******************************************************** -const std::complex &ComplexArray::operator() -(const int ind1,const int ind2,const int ind3)const -{ - const int ind = (ind1 * bound2 + ind2) * bound3 + ind3 ; - return ptr[ind]; -} - - -//******************************************************** -// -// overloaded subscript operator for const real Array -// const reference return creates an cvakue -// -//******************************************************** -const std::complex &ComplexArray::operator() -(const int ind1,const int ind2,const int ind3,const int ind4)const -{ - const int ind = ((ind1 * bound2 + ind2) * bound3 + ind3) * bound4 + ind4; - return ptr[ind]; -} - -//******************************************************** -// -// overloaded subscript operator for non-const real Array -// const reference return creates an lvakue -// -//******************************************************** -complex &ComplexArray::operator()(const int ind1,const int ind2,const int ind3) -{ - const int ind = (ind1 * bound2 + ind2) * bound3 + ind3; - return ptr[ind]; // reference return -} - -//******************************************************** -// -// overloaded subscript operator for non-const real Array -// const reference return creates an lvakue -// -//******************************************************** -complex &ComplexArray::operator()(const int ind1,const int ind2,const int ind3,const int ind4) -{ - const int ind = ((ind1 * bound2 + ind2) * bound3 + ind3) * bound4 + ind4; - return ptr[ind];// reference return -} - -//**************************** -// -// zeroes out the whole array -// -//**************************** -void ComplexArray::zero_out(void) -{ - if (size <= 0) return; - for (int i = 0;i < size; i++) ptr[i] = 0; - return; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexarray.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexarray.h deleted file mode 100644 index 525fb07fc0..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexarray.h +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************* - * ESCP:Electro-Structure Calculate Package. - ********************************************/ -#ifndef COMPLEXARRAY_H -#define COMPLEXARRAY_H - -#include -#include -#include -#include -#include - -using namespace std; - -class ComplexArray -{ -public: - complex *ptr; - - ComplexArray(const int d1 = 1 ,const int d2 = 1,const int d3 = 1); - ComplexArray(const int d1, const int d2,const int d3,const int d4); - ~ComplexArray(); - - void create(const int d1,const int d2,const int d3); - void create(const int d1,const int d2,const int d3,const int d4); - - const ComplexArray &operator=(const ComplexArray &right); - const ComplexArray &operator=(const std::complex &right); - - complex &operator()(const int d1,const int d2,const int d3); - complex &operator()(const int d1,const int d2,const int d3,const int d4); - - const std::complex &operator()(const int d1,const int d2,const int d3)const; - const std::complex &operator()(const int d1,const int d2,const int d3,const int d4)const; - - void zero_out(void); - - const int getSize() const - { return size;} - - const int getDim() const - { return dim;} - - const int getBound1() const - { return bound1;} - - const int getBound2() const - { return bound2;} - - const int getBound3() const - { return bound3;} - - const int getBound4() const - { return bound4;} - - static const int getArrayCount(void) - { return arrayCount;} - -private: - int size; - int dim; - int bound1, bound2, bound3, bound4; - static int arrayCount; - - void freemem(); -}; - -#endif // ComplexArray class diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexmatrix.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexmatrix.cpp deleted file mode 100644 index 19a81dead9..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexmatrix.cpp +++ /dev/null @@ -1,342 +0,0 @@ -//========================================================== -// AUTHOR : Lixin He, Mohan Chen -// LAST UPDATE : 2009-03-23 modify "=" operator -//========================================================== - -#include -#include -#include -#include -#include "complexmatrix.h" - -int ComplexMatrix::mCount = 0; - -// constructor with sizes -ComplexMatrix::ComplexMatrix(int nrows, int ncols) -{ - this->init(nrows, ncols); - ++mCount; -} - -// zero out the ComplexMatrix -void ComplexMatrix::zero_out(void) -{ - for (int i=0; i(0.0,0.0); -} - -/* -void need_more_memory() -{ - cout << "\n Sorry to crash... but the running need more momory! Exit." << endl; - exit(0); -} -*/ - -void ComplexMatrix::init(const int nrows,const int ncols) -{ - this->nr = nrows; - this->nc = ncols; - this->size = nr * nc; -// std::set_new_handler( need_more_memory ); - this->c = new std::complex[size]; - assert(c != 0); - this->zero_out(); -}//mohan the principle:as simple as possible:modify inline 2007-10-13 - -// Copy constructor -ComplexMatrix::ComplexMatrix(const ComplexMatrix &m1) -{ - this->init(m1.nr, m1.nc); - ++mCount; - for(int i=0; isize; i++) c[i] = m1.c[i]; -} - -// deconstructor -ComplexMatrix::~ComplexMatrix() -{ - this->freemem(); -} - -// Free up memory for ComplexMatrix -void ComplexMatrix::freemem(void) -{ - delete[] c; - c = NULL; -} - -// reallocate memory for Complex Matrix -void ComplexMatrix::create(const int nrow,const int ncol) -{ - // because c has been 'new' in init function. - delete[] c; - this->init(nrow, ncol); - return; -} - -void ComplexMatrix::set_as_identity_matrix() -{ - for(int i=0; i(1.0, 0.0); - else c[nc * i + j] = std::complex(0.0, 0.0); - } - } - return; -} - -// Adding matrices, as a friend -ComplexMatrix operator+(const ComplexMatrix &m1, const ComplexMatrix &m2) -{ - ComplexMatrix tm(m1); - tm+=m2; - return tm; -} - -// Subtracting matrices, as a friend -ComplexMatrix operator-(const ComplexMatrix &m1, const ComplexMatrix &m2) -{ - ComplexMatrix tm(m1); - tm-=m2; - return tm; -} - -// Multiplying matrices, as a friend -// mprod = m1 * m2 -ComplexMatrix operator*(const ComplexMatrix &m1, const ComplexMatrix &m2) -{ - assert(m1.nc == m2.nr); - ComplexMatrix mprod(m1.nr, m2.nc); - - complex z; - for (int i = 0;i < m1.nr;i++) - { - for (int j = 0;j < m2.nc;j++) - { - z = std::complex(0,0); - for (int k = 0;k < m1.nc;k++) - { - z += m1(i, k) * m2(k, j); - } - mprod(i, j) = z; - } - } - return mprod; -} - -// Scale a ComplexMatrix -ComplexMatrix operator*(const std::complex &c,const ComplexMatrix &m) -{ - ComplexMatrix sm(m); - for (int i=0 ;i &c) -{ - ComplexMatrix sm(m); - for (int i = 0;i < m.size;i++) sm.c[i] *= c; - return sm; -} - -ComplexMatrix operator*(const double &r,const ComplexMatrix &m) -{ - ComplexMatrix sm(m); - for(int i=0; inr || m.nc!=this->nc) - { - cout << "\n row/col number can't match in ComplexMatrix '=' operator\n"; - cout << " this nr = " << this->nr; - cout << " this nc = " << this->nc; - cout << " in nr = " << m.nr; - cout << " in nc = " << m.nc; - exit(0); - } - else { - this->create(m.nr, m.nc); - } - for(int i=0;isize;i++) c[i] = m.c[i]; - return *this; -} - -ComplexMatrix& ComplexMatrix::operator*=(const std::complex &s) -{ - for (int i = 0;i < this->size;i++) c[i] *= s; - return *this; -} - -// Accumulate to a ComplexMatrix in place -ComplexMatrix& ComplexMatrix::operator+=(const ComplexMatrix &m) -{ - for(int i=0; ic[i] += m.c[i]; - return *this; -} - -// decumulate to a ComplexMatrix in place -ComplexMatrix& ComplexMatrix::operator-=(const ComplexMatrix &m) -{ - for(int i=0; ic[i] -= m.c[i]; - return *this; -} - -// Returns trace of ComplexMatrix -complex trace(const ComplexMatrix &m) -{ - complex tr=complex(0,0); - assert(m.nr == m.nc); - for (int i=0; i &s, - const ComplexMatrix &min, - ComplexMatrix &mout) -{ - assert(min.nr == mout.nr); - assert(min.nc == mout.nc); - for (int j=0; j &s, - ComplexMatrix **min, - ComplexMatrix **mout) -{ - assert(nmat>=0); - for (int i=0; i &s1, - const ComplexMatrix &m1, - const std::complex &s2, - const ComplexMatrix &m2, - ComplexMatrix &mout) -{ - assert(m1.nr == m2.nr); - assert(m1.nr == mout.nr); - assert(m1.nc == m2.nc); - assert(m1.nc == mout.nc); - - for(int i=0; i &s1, - ComplexMatrix **m1, - const std::complex &s2, - ComplexMatrix **m2, - ComplexMatrix **mout) -{ - assert(nmat>0); - for(int i=0; i z; - for(int ic=0;ic z; - for(int ir=0;ir z; - - for (int i = 0;i < m.size;i++) - { - z = m.c[i]; - r += z.real() * z.real() + z.imag() * z.imag(); - } - return r; -} - -// Same for an array of matrices -double abs2(const int nmat, ComplexMatrix **m) -{ - double r = 0.0; - for (int i = 0;i < nmat;i++) - { - r += abs2(*m[i]); - } - return r; -} - -ComplexMatrix transpose(const ComplexMatrix &m, const bool &conjugate) -{ - ComplexMatrix tm(m.nc, m.nr); - if(conjugate) - { - for (int i = 0;i < m.nr;i++) - { - for (int j = 0;j < m.nc;j++) - { - tm(j, i) = conj ( m(i, j) ); - } - } - } - else - { - for (int i = 0;i < m.nr;i++) - { - for (int j = 0;j < m.nc;j++) - { - tm(j, i) = m(i, j); - } - } - } - return tm; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexmatrix.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexmatrix.h deleted file mode 100644 index c8495757cf..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/complexmatrix.h +++ /dev/null @@ -1,105 +0,0 @@ -//========================================================== -// Author : Lixin He, Mohan Chen -// Last Update : 2009-3-8 -//========================================================== -#ifndef COMPLEXMATRIX_H -#define COMPLEXMATRIX_H - -#include -using namespace std; - -class ComplexMatrix -{ - -public: - - complex *c; - int nr; - int nc; - int size; - - //============== - // Constructors - //============== - ComplexMatrix(const int nrows = 1,const int ncols = 1); - - //=================== - // Copy constructor - //================== - ComplexMatrix(const ComplexMatrix &m1); - ~ComplexMatrix(); - - //============ - // Operators - //============ - complex &operator()(const int i,const int j) - { - return c[nc * i + j];//mohan modify in-line 2007-10-1 - } - const std::complex &operator()(const int i,const int j)const - { - return c[nc * i + j];//mohan modify in-line 2007-10-13 - } - - friend ComplexMatrix operator+(const ComplexMatrix &m1, const ComplexMatrix &m2); - friend ComplexMatrix operator-(const ComplexMatrix &m1, const ComplexMatrix &m2); - friend ComplexMatrix operator*(const ComplexMatrix &m1, const ComplexMatrix &m2); - friend ComplexMatrix operator*(const std::complex &s, const ComplexMatrix &m); - friend ComplexMatrix operator*(const ComplexMatrix &m, const std::complex &s); - friend ComplexMatrix operator*(const double &s, const ComplexMatrix &m); - friend ComplexMatrix operator*(const ComplexMatrix &m, const double &s); - ComplexMatrix& operator=(const ComplexMatrix &m); - ComplexMatrix& operator*=(const std::complex &s); - ComplexMatrix& operator+=(const ComplexMatrix &m); - ComplexMatrix& operator-=(const ComplexMatrix &m); - - //================== - // member function: - //================== - void create(const int nrow,const int ncol); - void zero_out(void); - static int& getMCount(void){return mCount;} - void set_as_identity_matrix(void); -private: - - static int mCount; - void freemem(void);//mohan add 2007-11-20 - void init(const int nrows,const int ncols); -}; - -complex trace(const ComplexMatrix &m); -// mohan add 2008-7-1 -double abs2_row(const ComplexMatrix &m,const int ir); -// mohan add 2008-7-1 -double abs2_column(const ComplexMatrix &m,const int ic); -double abs2(const ComplexMatrix &m); -double abs2(const int nmat, ComplexMatrix **m); - -ComplexMatrix transpose(const ComplexMatrix &m, const bool &conjugate); - -void scale_accumulate( - const std::complex &s, - const ComplexMatrix &min, - ComplexMatrix &mout); - -void scale_accumulate( - const int &nmat, - const std::complex &s, - ComplexMatrix **min, - ComplexMatrix **mout); - -void scaled_sum( - const std::complex &s1, - const ComplexMatrix &m1, - const std::complex &s2, - const ComplexMatrix &m2, - ComplexMatrix &mout); - -void scaled_sum( - const int &nmat, - const std::complex &s1, - ComplexMatrix **m1, - const std::complex &s2, - ComplexMatrix **m2, - ComplexMatrix **mout); -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/intarray.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/intarray.cpp deleted file mode 100644 index 0f8cbf486c..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/intarray.cpp +++ /dev/null @@ -1,212 +0,0 @@ -/******************************************* - * ESCP:Electro-Structure Calculate Package. - ********************************************/ -#include -#include "intarray.h" - -int IntArray::arrayCount = 0; - -void IntArrayAlloc() -{ - cout << "\n Allocation error for IntArray " << endl; - exit(0); -} - -IntArray::IntArray(const int d1,const int d2) -{ - dim = 2; - bound1 = (d1 <= 0) ? 1 : d1; - bound2 = (d2 <= 0) ? 1 : d2; - bound3 = bound4 = 0; - size = bound1 * bound2; - ptr = new int[size]; - assert( ptr != 0); - ++arrayCount; -} - -IntArray::IntArray(const int d1,const int d2,const int d3) -{ - dim = 3; - bound1 = (d1 <= 0) ? 1 : d1; - bound2 = (d2 <= 0) ? 1 : d2; - bound3 = (d3 <= 0) ? 1 : d3; - bound4 = 0; - set_new_handler(IntArrayAlloc); - size = bound1 * bound2 * bound3 ; //* sizeof(float); - ptr = new int[size]();assert(ptr != 0); - zero_out(); - ++arrayCount; -} - -IntArray::IntArray(const int d1,const int d2,const int d3,const int d4) -{ - dim = 4; - bound1 = (d1 <= 0) ? 1 : d1; - bound2 = (d2 <= 0) ? 1 : d2; - bound3 = (d3 <= 0) ? 1 : d3; - bound4 = (d4 <= 0) ? 1 : d4; - set_new_handler(IntArrayAlloc); - size = bound1 * bound2 * bound3 * bound4 ; //* sizeof(float); - ptr = new int[size]();assert(ptr != 0); - zero_out(); - ++arrayCount; -} - -IntArray::IntArray(const int d1,const int d2,const int d3, - const int d4,const int d5) -{ - dim = 5; - bound1 = (d1 <= 0) ? 1 : d1; - bound2 = (d2 <= 0) ? 1 : d2; - bound3 = (d3 <= 0) ? 1 : d3; - bound4 = (d4 <= 0) ? 1 : d4; - bound5 = (d5 <= 0) ? 1 : d5; - set_new_handler(IntArrayAlloc); - size = bound1 * bound2 * bound3 * bound4 * bound5; - ptr = new int[size]();assert(ptr != 0); - zero_out(); - ++arrayCount; -} - -IntArray::IntArray(const int d1,const int d2,const int d3, - const int d4,const int d5,const int d6) -{ - dim = 6; - bound1 = (d1 <= 0) ? 1 : d1; - bound2 = (d2 <= 0) ? 1 : d2; - bound3 = (d3 <= 0) ? 1 : d3; - bound4 = (d4 <= 0) ? 1 : d4; - bound5 = (d5 <= 0) ? 1 : d5; - bound6 = (d6 <= 0) ? 1 : d6; - set_new_handler(IntArrayAlloc); - size = bound1 * bound2 * bound3 * bound4 * bound5 * bound6; - ptr = new int[size]();assert(ptr != 0); - zero_out(); - ++arrayCount; -} - -//******************************** -// Destructor for class IntArray -//******************************** -IntArray ::~IntArray() -{ - freemem(); -} - -void IntArray::freemem() -{ - delete [] ptr; - ptr = NULL; -} - -void IntArray::create(const int d1,const int d2,const int d3,const int d4,const int d5,const int d6) -{ - size = d1 * d2 * d3 * d4 * d5 * d6;assert(size>0); - dim = 6; - bound1 = d1;bound2 = d2;bound3 = d3;bound4 = d4;bound5 = d5;bound6 = d6; - delete[] ptr; ptr = new int[size]; - assert(ptr != 0);zero_out(); -} - -void IntArray::create(const int d1,const int d2,const int d3,const int d4,const int d5) -{ - size = d1 * d2 * d3 * d4 * d5;assert(size>0); - dim = 5; - bound1 = d1;bound2 = d2;bound3 = d3;bound4 = d4;bound5 = d5; - delete[] ptr; ptr = new int[size]; - assert(ptr != 0);zero_out(); -} - -void IntArray::create(const int d1,const int d2,const int d3,const int d4) -{ - size = d1 * d2 * d3 * d4;assert(size>0); - dim = 4; - bound1 = d1;bound2 = d2;bound3 = d3;bound4 = d4; - delete[] ptr; ptr = new int[size]; - assert(ptr != 0);zero_out(); -} - -void IntArray::create(const int d1,const int d2,const int d3) -{ - size = d1 * d2 * d3;assert(size>0); - dim = 3; - bound1 = d1;bound2 = d2;bound3 = d3;bound4 = 1; - delete [] ptr;ptr = new int[size]; - assert(ptr != 0);zero_out(); -} - -void IntArray::create(const int d1, const int d2) -{ - size = d1 * d2;assert(size>0); - dim = 2; - bound1 = d1;bound2 = d2;bound3 = bound4 = 1; - delete[] ptr;ptr = new int[size]; - assert(ptr !=0 );zero_out(); -} - -const IntArray &IntArray::operator=(const IntArray &right) -{ - for (int i = 0;i < size;i++) ptr[i] = right.ptr[i]; - return *this;// enables x = y = z; -} - -const IntArray &IntArray::operator=(const int &value) -{ - for (int i = 0;i < size;i++) ptr[i] = value; - return *this;// enables x = y = z; -} - -//******************************************************** -// overloaded subscript operator for const Int Array -// const reference return create an cvakue -//******************************************************** -const int &IntArray::operator() -(const int ind1,const int ind2)const -{return ptr[ ind1 * bound2 + ind2 ];} - -const int &IntArray::operator() -(const int ind1,const int ind2,const int ind3)const -{return ptr[ (ind1 * bound2 + ind2) * bound3 + ind3 ];} - -const int &IntArray::operator() -(const int ind1,const int ind2,const int ind3,const int ind4)const -{return ptr[ ((ind1 * bound2 + ind2) * bound3 + ind3) * bound4 + ind4 ];} - -const int &IntArray::operator() -(const int ind1,const int ind2,const int ind3,const int ind4,const int ind5)const -{return ptr[ (((ind1 * bound2 + ind2) * bound3 + ind3) * bound4 + ind4) * bound5 + ind5 ];} - -const int &IntArray::operator() -(const int ind1,const int ind2,const int ind3,const int ind4,const int ind5,const int ind6)const -{return ptr[ ((((ind1 * bound2 + ind2) * bound3 + ind3) * bound4 + ind4) * bound5 + ind5) * bound6 + ind6 ];} - -//******************************************************** -// overloaded subscript operator for non-const Int Array -// const reference return creates an lvakue -//******************************************************** -int &IntArray::operator()(const int ind1,const int ind2) -{return ptr[ind1 * bound2 + ind2];} - -int &IntArray::operator()(const int ind1,const int ind2,const int ind3) -{return ptr[ (ind1 * bound2 + ind2) * bound3 + ind3 ];} - -int &IntArray::operator()(const int ind1,const int ind2,const int ind3,const int ind4) -{return ptr[ ((ind1 * bound2 + ind2) * bound3 + ind3) * bound4 + ind4 ];} - -int &IntArray::operator() -(const int ind1,const int ind2,const int ind3,const int ind4,const int ind5) -{return ptr[ (((ind1 * bound2 + ind2) * bound3 + ind3) * bound4 + ind4) * bound5 + ind5 ];} - -int &IntArray::operator() -(const int ind1,const int ind2,const int ind3,const int ind4,const int ind5,const int ind6) -{return ptr[ ((((ind1 * bound2 + ind2) * bound3 + ind3) * bound4 + ind4) * bound5 + ind5) * bound6 + ind6 ];} - -//**************************** -// zeroes out the whole array -//**************************** -void IntArray::zero_out(void) -{ - if (size <= 0) return; - for (int i = 0;i < size; i++) ptr[i] = 0; - return; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/intarray.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/intarray.h deleted file mode 100644 index 0fc7e90e16..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/intarray.h +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************* - * ESCP:Electro-Structure Calculate Package. - ********************************************/ - -#ifndef INTARRAY_H -#define INTARRAY_H - -#include -#include -#include -#include - -using namespace std; - -class IntArray -{ -public: - int *ptr; - - // Constructors for different dimesnions - IntArray(const int d1 = 1, const int d2 = 1); - IntArray(const int d1, const int d2,const int d3); - IntArray(const int d1, const int d2,const int d3,const int d4); - IntArray(const int d1, const int d2,const int d3,const int d4,const int d5); - IntArray(const int d1, const int d2,const int d3,const int d4,const int d5,const int d6); - - ~IntArray(); - - void create(const int d1, const int d2); - void create(const int d1, const int d2, const int d3); - void create(const int d1, const int d2, const int d3, const int d4); - void create(const int d1, const int d2, const int d3, const int d4, const int d5); - void create(const int d1, const int d2, const int d3, const int d4, const int d5, const int d6); - - const IntArray &operator=(const IntArray &right); - const IntArray &operator=(const int &right); - - int &operator()(const int d1, const int d2); - int &operator()(const int d1, const int d2, const int d3); - int &operator()(const int d1, const int d2, const int d3,const int d4); - int &operator()(const int d1, const int d2, const int d3, const int d4, const int d5); - int &operator()(const int d1, const int d2, const int d3, const int d4, const int d5, const int d6); - - const int &operator()(const int d1,const int d2)const; - const int &operator()(const int d1,const int d2,const int d3)const; - const int &operator()(const int d1,const int d2,const int d3,const int d4)const; - const int &operator()(const int d1,const int d2,const int d3,const int d4, const int d5)const; - const int &operator()(const int d1,const int d2,const int d3,const int d4, const int d5, const int d6)const; - - void zero_out(void); - - const int getSize() const{ return size;} - const int getDim() const{ return dim;} - const int getBound1() const{ return bound1;} - const int getBound2() const{ return bound2;} - const int getBound3() const{ return bound3;} - const int getBound4() const { return bound4;} - const int getBound5() const { return bound5;} - const int getBound6() const { return bound6;} - - static const int getArrayCount(void) - { return arrayCount;} - -private: - int size; - int dim; - int bound1, bound2, bound3, bound4, bound5, bound6; - static int arrayCount; - void freemem(); -}; - -#endif // IntArray class diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/inverse_matrix.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/inverse_matrix.cpp deleted file mode 100644 index 482c09c953..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/inverse_matrix.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "inverse_matrix.h" - -Inverse_Matrix::Inverse_Matrix(){} -Inverse_Matrix::~Inverse_Matrix(){} -void Inverse_Matrix::init(const int &dim_in) -{ - this->dim = dim_in; - this->e = new double[dim]; - this->lwork = 2*dim; - this->work2 = new std::complex[lwork]; - this->rwork = new double[3*dim-2]; - this->info = 0; - this->A.create(dim, dim); - this->EA.create(dim, dim); - return; -} - -void Inverse_Matrix::using_zheev( const ComplexMatrix &Sin, ComplexMatrix &Sout) -{ - timer::tick("Inverse","using_zheev"); - this->A = Sin; - - //LapackConnector::zhegv( 1, 'V', 'U', nwan , A , nwan , B , nwan , e, work2 , 80 , rwork , &info ); - LapackConnector::zheev('V', 'U', dim, this->A, dim, e, work2, lwork, rwork, &info); - - for(int i=0; iA(j,i) ) / e[i] ; - } - } - - Sout = this->A * this->EA; - timer::tick("Inverse","using_zheev"); - return; -} - -void Inverse_Matrix::using_zpotrf( const ComplexMatrix &Sin) -{ -// timer::tick("Inverse","using_zpotrf"); - - for(int i=0; i *work2; - double* rwork; - int info; - - ComplexMatrix EA; -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/lapack_connector.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/lapack_connector.h deleted file mode 100644 index ffadd34acb..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/lapack_connector.h +++ /dev/null @@ -1,404 +0,0 @@ -// ============================================================================= -// C++ Header File -// Project: LapackConnector -// File: LapackConnector.hpp -// Author: sltk -// Comment: LapackConnector provide the connector to the fortran Lapack routine. -// Warning: -// Start time: 2007-03-08 -// Last modified: 2008-08-12 ywcui : add zhegvx -// 2008-08-13 mohan : find bug,test. -// 2008-09-03 mohan : Add zgesv -// 2009-03-08 mohan : add ilaenv -// ============================================================================= - -#ifndef LAPACKCONNECTOR_HPP -#define LAPACKCONNECTOR_HPP - -#include -#include "complexmatrix.h" - - -extern "C" -{ - // ispec: the returnd value - // 1: an unblocked algorithm will give the best performance - // 2: the minimal block size for which the block routine should - // be used - // 3: the cross over point - // 4: the number of shift - // ... - int ilaenv_(int* ispec, - char* name, - char* opts, - const int* n1, - const int* n2, - const int* n3, - const int* n4); - - - void zpotrf_( const char* uplo, - const int* n, - const std::complex *A, - const int* lda, - const int* infp); - - void zpotri_( const char* uplo, - const int* n, - const std::complex *A, - const int* lda, - const int* infp); - - //======================================================================= - //ZGESV computes the solution to a complex system of linear equations - // A * X = B, - // where A is an N-by-N matrix and X and B are N-by-NRHS matrices. - // - // The LU decomposition with partial pivoting and row interchanges is - // used to factor A as - // A = P * L * U, - // where P is a permutation matrix, L is unit lower triangular, and U is - // upper triangular. The factored form of A is then used to solve the - // system of equations A * X = B. - // - // A = LDA * N - // B = LDB * NRHS (exit X = B) - //======================================================================== - void zgesv_(const int* n, - const int* nrhs, - const std::complex *A, - const int *lda, - const int *ipiv, - const std::complex *B, - const int* ldb, - int* info - ); - - /*zhegv computes all the eigenvalues, and optionally, the eigenvectors - of a complex generalized Hermitian-definite eigenproblem, of the form - A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x. - Here A and B are assumed to be Hermitian and B is also - positive definite. - */ - - /*zhegvx computes selected eigenvalues, and optionally, eigenvectors - of a complex generalized Hermitian-definite eigenproblem, of the form - A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x. Here A and - B are assumed to be Hermitian and B is also positive definite. - Eigenvalues and eigenvectors can be selected by specifying either a - range of values or a range of indices for the desired eigenvalues. - */ - - void zhegv_(const int* itype, - const char* jobz, - const char* uplo, - const int* n, - std::complex* a, - const int* lda, - std::complex* b, - const int* ldb, - double* w, - std::complex* work, - int* lwork, - double* rwork, - int* info ); - - void zheev_(const char* jobz, - const char* uplo, - const int* n, - complex *a, - const int* lda, - double* w, - complex* work, - const int* lwork, - double* rwork, - int* info ); - - //=================================================================================== - // zhegvx : - // itype : 1: A*x = (lambda)*B*x - // 2: A*B*x = (lambda)*x - // 3: B*A*x = (lambda)*x - // jobz : 'N': Compute eigenvalues only - // 'V': Compute eigenvalues and eigenvectors. - // range : 'A': all eigenvalues will be found. - // 'V': all eigenvalues in the half-open interval (VL,VU] will be found. - // 'I': the IL-th through IU-th eigenvalues will be found. - // uplo : 'U': Upper triangles of A and B are stored - // 'L': Lower triangles of A and B are stored - // N : The order of the matrices A and B. N >= 0. - // A : (input/output) COMPLEX*16 array, dimension (LDA, N) - // On entry, the Hermitian matrix A. If UPLO = 'U', the leading - // N-by-N upper triangular part of A contains the upper triangular - // part of the matrix A. If UPLO = 'L', the leading N-by-N lower - // triangular part of A contains the lower triangular part of the - // matrix A. - // LDA : The leading dimension of the array A. LDA >= max(1,N). - // LDB : On entry, the Hermitian matrix B. If UPLO = 'U', the leading - // N-by-N upper triangular part of B contains the upper triangular - // part of the matrix B. If UPLO = 'L', the leading N-by-N lower - // triangular part of B contains the lower triangular part of the - // matrix B. - // vl,vu : the lower and upper bounds of the interval to be searched for - // eigenvalues. VL < VU. Not referenced if RANGE = 'A' or 'I'. - // il,iu : the indices (in ascending order) of the smallest and largest - // eigenvalues to be returned. 1 <= IL <= IU <= N, if N > 0; - // IL = 1 and IU = 0 if N = 0. Not referenced if RANGE = 'A' or 'V'. - // abstol : The absolute error tolerance for the eigenvalues - // m : The total number of eigenvalues found ,0 <= M <= N. If RANGE - // = 'A', M = N, and if RANGE = 'I', M = IU-IL+1. - // w : The first M elements contain the selected eigenvalues in - // ascending order - // z : If JOBZ = 'N', then Z is not referenced. If JOBZ = 'V', then - // if INFO = 0, the first M columns of Z contain the orthonormal - // eigenvectors of the matrix A corresponding to the selected - // eigenvalues, with the i-th column of Z holding the eigenvector - // associated with W(i). The eigenvectors are normalized as fol- - // lows: if ITYPE = 1 or 2, Z**T*B*Z = I; if ITYPE = 3, - // Z**T*inv(B)*Z = I. - // If an eigenvector fails to converge, then that column of Z - // contains the latest approximation to the eigenvector, and the - // index of the eigenvector is returned in IFAIL. Note: the user - // must ensure that at least max(1,M) columns are supplied in the - // array Z; if RANGE = 'V', the exact value of M is not known in - // advance and an upper bound must be used - // LDZ : The leading dimension of the array Z. LDZ >= 1, and if JOBZ = - // 'V', LDZ >= max(1,N). - // work : On exit, if INFO = 0, WORK(1) returns the optimal LWORK. - // lwork : LWORK >= max(1,2*N). For optimal efficiency, LWORK >= (NB+1)*N, - // where NB is the blocksize for ZHETRD returned by ILAENV. - // rwork : dimension (7*N) - // iwork : dimension (5*N) - // info : = 0: successful exit - // < 0: if INFO = -i, the i-th argument had an illegal value - // > 0: ZPOTRF or ZHEEVX returned an error code: - //=================================================================================== - - /* - void zhegvx_(const int* itype, - const char* jobz, - const char* range, - const char* uplo, - const int* N, - std::complex *A, - const int* LDA, - std::complex *B, - const int* LDB, - const double* vl, - const double* vu, - const int* il, - const int* iu, - const double* abstol, - const int* m, - double* w, - std::complex *z, - const int *LDZ, - std::complex *work, - const int* lwork, - double* rwork, - int* iwork, - int* ifail, - int* info - ); - */ - -}; - -// Class LapackConnector provide the connector to fortran lapack routine. -// The entire function in this class are static and inline function. -// Usage example: LapackConnector::functionname(parameter list). -class LapackConnector -{ -private: - // Transpose the complex matrix to the fortran-form real-complex array. - static inline - complex* transpose(const ComplexMatrix& a, const int n, const int lda) - { - complex* aux = new std::complex[lda*n]; - for(int i = 0; i < n; ++i) - { for(int j = 0; j < lda; ++j) - { - aux[i*lda+j] = a(j,i); // aux[i*lda+j] means aux[i][j] in semantic, not in syntax! - } - } - return aux; - } - - // Transpose the fortran-form real-complex array to the complex matrix. - static inline - void transpose(const std::complex* aux, ComplexMatrix& a, const int n, const int lda) - { for(int i = 0; i < n; ++i) - { for(int j = 0; j < lda; ++j) - { - a(j, i) = aux[i*lda+j]; // aux[i*lda+j] means aux[i][j] in semantic, not in syntax! - } - } - } - -public: - - static inline - int ilaenv( int ispec, - char *name, - char *opts, - const int n1, - const int n2, - const int n3, - const int n4 - ) - { - const int nb = ilaenv_(&ispec, name, opts, &n1, &n2, &n3, &n4); - return nb; - } - - static inline - void zgesv (const int n, - const int nrhs, - ComplexMatrix &A, - const int lda, - const int *ipiv, - complex *B, - const int ldb, - int* info - ) - { - complex *aux = LapackConnector::transpose(A, n, lda); - - zgesv_(&n, &nrhs, aux, &lda, ipiv, B, &ldb, info); - - LapackConnector::transpose(aux, A, n, lda); - } - - static inline - void zpotrf(char uplo, - int n, - ComplexMatrix &a, - const int lda, - int info) - { - complex *aux = LapackConnector::transpose(a, n, lda); - zpotrf_( &uplo, &n, aux, &lda, &info); - LapackConnector::transpose(aux, a, n, lda); - delete[] aux; - } - - static inline - void zpotri(char uplo, - int n, - ComplexMatrix &a, - const int lda, - int info) - { - complex *aux = LapackConnector::transpose(a, n, lda); - zpotri_( &uplo, &n, aux, &lda, &info); - LapackConnector::transpose(aux, a, n, lda); - delete[] aux; - } - - - // wrap function of fortran lapack routine zhegv. - static inline - void zhegv( const int itype, - const char jobz, - const char uplo, - const int n, - ComplexMatrix& a, - const int lda, - ComplexMatrix& b, - const int ldb, - double* w, - std::complex* work, - int lwork, - double* rwork, - int info ) - { // Transpose the complex matrix to the fortran-form real-complex array. - complex* aux = LapackConnector::transpose(a, n, lda); - complex* bux = LapackConnector::transpose(b, n, ldb); - - // call the fortran routine - zhegv_(&itype, &jobz, &uplo, &n, aux, &lda, bux, &ldb, w, work, &lwork, rwork, &info); - - // Transpose the fortran-form real-complex array to the complex matrix. - LapackConnector::transpose(aux, a, n, lda); - LapackConnector::transpose(bux, b, n, ldb); - - // free the memory. - delete[] aux; - delete[] bux; - } - - // wrap function of fortran lapack routine zheev. - static inline - void zheev( const char jobz, - const char uplo, - const int n, - ComplexMatrix& a, - const int lda, - double* w, - complex< double >* work, - const int lwork, - double* rwork, - int* info ) - { // Transpose the complex matrix to the fortran-form real-complex array. - complex *aux = LapackConnector::transpose(a, n, lda); - - // call the fortran routine - zheev_(&jobz, &uplo, &n, aux, &lda, w, work, &lwork, rwork, info); - - // Transpose the fortran-form real-complex array to the complex matrix. - LapackConnector::transpose(aux, a, n, lda); - - // free the memory. - delete[] aux; - } - - // wrap function of fortran lapack routine zheev. - static inline - void zhegvx( const int itype, - const char jobz, - const char range, - const char uplo, - const int n, - ComplexMatrix& a, - const int lda, - ComplexMatrix& b, - const int ldb, - const double vl, - const double vu, - const int il, - const int iu, - const double abstol, - const int m, - double* w, - ComplexMatrix& z, - const int ldz, - std::complex* work, - const int lwork, - double* rwork, - int* iwork, - int* ifail, - int info) - { - // Transpose the complex matrix to the fortran-form real-complex array. - complex* aux = LapackConnector::transpose(a, n, lda); - complex* bux = LapackConnector::transpose(b, n, ldb); - complex* zux = LapackConnector::transpose(z, n, ldz); - - // call the fortran routine -// zhegvx_(&itype, &jobz, &range, &uplo, &n, aux, &lda, bux, &ldb, &vl, -// &vu, &il,&iu, &abstol, &m, w, zux, &ldz, work, &lwork, rwork, iwork, ifail, &info); - - // Transpose the fortran-form real-complex array to the complex matrix - LapackConnector::transpose(zux, z, n, ldz); - - // free the memory. - delete[] aux; - delete[] bux; - delete[] zux; - - } - - - -}; -#endif // LAPACKCONNECTOR_HPP diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/mathzone.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/mathzone.cpp deleted file mode 100644 index e42b107646..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/mathzone.cpp +++ /dev/null @@ -1,618 +0,0 @@ -#include "mathzone.h" - - -double Mathzone::PI = 3.14159265; - -Mathzone::Mathzone() -{ -} - -Mathzone::~Mathzone() -{ -} - -double Mathzone::BESSJY(double x, double xnu, double *rj, double *ry, double *rjp, double *ryp) -{ - const int XMIN = 2; - const double FPMIN = 1.0e-30; - const double EPS = 1.0e-10; - const int MAXIT = 10000; - - int i, isign, l, nl; - double a, b, br, bi, c, cr, ci, d, del, del1, den, di, dlr, dli, dr, e, f, fact, fact2, - fact3, ff, gam, gam1, gam2, gammi, gampl, h, p, pimu, pimu2, q, r, rjl, - rjl1, rjmu, rjp1, rjpl, rjtemp, ry1, rymu, rymup, rytemp, sum, sum1, - temp, w, x2, xi, xi2; - - if (x <= 0.0 || xnu < 0.0) - { -// WARNING_QUIT("Mathzone::BESSJY","bad arguments"); - exit(0); - } - - - nl = (x < XMIN ? (int)(xnu + 0.5) : IMAX(0, (int)(xnu - x + 1.5))); - const double xmu = xnu - nl; - const double xmu2 = xmu * xmu; - xi = 1.0 / x; - xi2 = 2.0 * xi; - w = xi2 / PI; - isign = 1; - h = xnu * xi; - if (h < FPMIN) h = FPMIN; - - b = xi2 * xnu; - - d = 0.0; - - c = h; - - for (i = 1;i <= MAXIT;i++) - { - b += xi2; - d = b - d; - - if (fabs(d) < FPMIN) d = FPMIN; - - c = b - 1.0 / c; - - if (fabs(c) < FPMIN) c = FPMIN; - - d = 1.0 / d; - - del = c * d; - - h = del * h; - - if (d < 0.0) isign = -isign; - - if (fabs(del - 1.0) < EPS) break; - } - - if (i > MAXIT) cout << "x too large in bessjy; try asymptotic expansion" << endl; - - rjl = isign * FPMIN; - - rjpl = h * rjl; - - rjl1 = rjl; - - rjp1 = rjpl; - - fact = xnu * xi; - - for (l = nl;l >= 1;l--) - { - rjtemp = fact * rjl + rjpl; - fact -= xi; - rjpl = fact * rjtemp - rjl; - rjl = rjtemp; - } - - if (rjl == 0.0) rjl = EPS; - - f = rjpl / rjl; - - if (x < XMIN) - { - x2 = 0.5 * x; - pimu = PI * xmu; - fact = (fabs(pimu) < EPS ? 1.0 : pimu / sin(pimu)); - d = -log(x2); - e = xmu * d; - fact2 = (fabs(e) < EPS ? 1.0 : sinh(e) / e); - // call BESCHB - BESCHB(xmu, &gam1, &gam2, &gampl, &gammi); - ff = 2.0 / PI * fact * (gam1 * cosh(e) + gam2 * fact2 * d); - e = exp(e); - p = e / (gampl * PI); - q = 1.0 / (e * PI * gammi); - pimu2 = 0.5 * pimu; - fact3 = (fabs(pimu2) < EPS ? 1.0 : sin(pimu2) / pimu2); - r = PI * pimu2 * fact3 * fact3; - c = 1.0; - d = -x2 * x2; - sum = ff + r * q; - sum1 = p; - - for (i = 1;i <= MAXIT;i++) - { - ff = (i * ff + p + q) / (i * i - xmu2); - c *= (d / i); - p /= (i - xmu); - q /= (i + xmu); - del = c * (ff + r * q); - sum += del; - del1 = c * p - i * del; - sum1 += del1; - - if (fabs(del) < (1.0 + fabs(sum))*EPS) break; - } - - if (i > MAXIT) cout << "bessy series failed to converge"; - - rymu = -sum; - - ry1 = -sum1 * xi2; - - rymup = xmu * xi * rymu - ry1; - - rjmu = w / (rymup - f * rymu); - } - - else - { - a = 0.25 - xmu2; - p = -0.5 * xi; - q = 1.0; - br = 2.0 * x; - bi = 2.0; - fact = a * xi / (p * p + q * q); - cr = br + q * fact; - ci = bi + p * fact; - den = br * br + bi * bi; - dr = br / den; - di = -bi / den; - dlr = cr * dr - ci * di; - dli = cr * di + ci * dr; - temp = p * dlr - q * dli; - q = p * dli + q * dlr; - p = temp; - - for (i = 2;i <= MAXIT;i++) - { - a += 2 * (i - 1); - bi += 2.0; - dr = a * dr + br; - di = a * di + bi; - - if (fabs(dr) + fabs(di) < FPMIN) dr = FPMIN; - - fact = a / (cr * cr + ci * ci); - - cr = br + cr * fact; - - ci = bi - ci * fact; - - if (fabs(cr) + fabs(ci) < FPMIN) cr = FPMIN; - - den = dr * dr + di * di; - - dr /= den; - - di /= -den; - - dlr = cr * dr - ci * di; - - dli = cr * di + ci * dr; - - temp = p * dlr - q * dli; - - q = p * dli + q * dlr; - - p = temp; - - if (fabs(dlr - 1.0) + fabs(dli) < EPS) break; - } - - if (i > MAXIT) cout << "cf2 failed in bessjy"; - - gam = (p - f) / q; - - rjmu = sqrt(w / ((p - f) * gam + q)); - - if(rjl >=0 ) rjmu = fabs(rjmu); - else rjmu = -fabs(rjmu); - - rymu = rjmu * gam; - - rymup = rymu * (p + q / gam); - - ry1 = xmu * xi * rymu - rymup; - } - - fact = rjmu / rjl; - - *rj = rjl1 * fact; - *rjp = rjp1 * fact; - - for (i = 1;i <= nl;i++) - { - rytemp = (xmu + i) * xi2 * ry1 - rymu; - rymu = ry1; - ry1 = rytemp; - } - - *ry = rymu; - - *ryp = xnu * xi * rymu - ry1; -} - -int Mathzone::IMAX(int a, int b) -{ - if (a > b) return a; - else return b; -} - -void Mathzone::BESCHB(double x, double *gam1, double *gam2, double *gampl, double *gammi) -{ - const int NUSE1 = 7; - const int NUSE2 = 8; - double xx; - static double c1[] = { -1.142022680371168e0, 6.5165112670737e-3, - 3.087090173086e-4, -3.4706269649e-6, - 6.9437664e-9, 3.67795e-11, -1.356e-13 - }; - static double c2[] = { 1.843740587300905e0, -7.68528408447867e-2, - 1.2719271366546e-3, -4.9717367042e-6, -3.31261198e-8, - 2.423096e-10, -1.702e-13, -1.49e-15 - }; - xx = 8.0 * x * x - 1.0; //Multiply x by 2 to make range be .1 to 1,and then apply transformation for evaluating even Chebyshev series. - *gam1 = CHEBEV(-1.0, 1.0, c1, NUSE1, xx); - *gam2 = CHEBEV(-1.0, 1.0, c2, NUSE2, xx); - *gampl = *gam2 - x * (*gam1); - *gammi = *gam2 + x * (*gam1); -} - -double Mathzone::CHEBEV(double a, double b, double c[], int m, double x) -{ - double d = 0.0, dd = 0.0, sv, y, y2; - int j; - - if ((x - a)*(x - b) > 0.0) cout << "x not in range in routine chebev" << endl; - - y2 = 2.0 * (y = (2.0 * x - a - b) / (b - a)); - - for (j = m - 1;j >= 1;j--) - { - sv = d; - d = y2 * d - dd + c[j]; - dd = sv; - } - - return y*d - dd + 0.5*c[0]; -} - - -double Mathzone::Spherical_Bessel_7(const int n, const double &x) -{ - if(x==0) - { - if(n!=0) return 0; - if(n==0) return 1; - } - double order, rj, rjp, ry, ryp; - - if (n < 0 || x <= 0.0) - { - exit(0); -// WARNING_QUIT("Mathzone::Spherical_Bessel_7","bad arguments in sphbes"); - } - - order = n + 0.5; - - // call BESSSJY - BESSJY(x, order, &rj, &ry, &rjp, &ryp); - - const double RTPIO2=1.2533141; // mohan remian question: here is INT???????????? - - const double factor = RTPIO2 / sqrt(x); - - return factor*rj; -} - - -void Mathzone::Spherical_Bessel_Roots -( - const int &num, - const int &l, - const double &epsilon, - double* eigenvalue, - const double &rcut -) -{ -// TITLE("Mathzone","Spherical_Bessel_Roots"); -// if(num<=0) WARNING_QUIT("Mathzone::Spherical_Bessel_Roots","num<=0"); - - const double max = 2*PI + (num + (l+0.5)/2 + 0.75)*PI/2 + - sqrt((num + (l+0.5)/2+0.75)*(num + (l+0.5)/2+0.75)*PI*PI/4-(l+0.5)*(l+0.5)/2); - - // magic number !! - // only need to > 1 - const int msh = 10 * num; -// cout<<"\n msh = "<(msh); - -// cout<<"\n delta = "<=7) - { - for(int ir=0; ir 1.0e-8) - { - ir0 = 0;//mohan modify 2007-10-13 - } - else - { - if (l == -1) - { - cout << "\n sph_bes, j_{-1}(0) ?//?"; - } - else if (l == 0) - { - jl [0] = 1.0;//mohan modify 2007-10-13 - } - else - { - jl [0] = 0.0;//mohan modify 2007-10-13 - } - ir0 = 1;//mohan modify 2007-10-13 - } - if (l == - 1) - { - for (ir = ir0;ir < msh; ir++) - { - x1 = q * r[ir]; - jl [ir] = cos(x1) / x1; - } - } - else if (l == 0) - { - for (ir = ir0;ir < msh;ir++) - { - x1 = q * r[ir]; - jl [ir] = sin(x1) / x1; - } - } - else if (l == 1) - { - for (ir = ir0;ir < msh;ir++) - { - x1 = q * r[ir]; - const double sinx = sin(x1); - const double cosx = cos(x1); - jl [ir] = (sinx / x1 - cosx) / x1; - } - } - else if (l == 2) - { - for (ir = ir0;ir < msh;ir++) - { - const double x1 = q * r[ir]; - const double sinx = sin(x1); - const double cosx = cos(x1); - jl [ir] = ((3.0 / x1 - x1) * sinx - - 3.0 * cosx) / (x1 * x1); - } - } - else if (l == 3) - { - for (ir = ir0;ir < msh;ir++) - { - x1 = q * r[ir]; - jl [ir] = (sin(x1) * (15.0 / x1 - 6.0 * x1) + - cos(x1) * (x1 * x1 - 15.0)) / pow(x1, 3);//mohan modify 2007-10-13 - } - } - else if (l == 4) - { - for (ir = ir0;ir < msh;ir++) - { - const double x1 = q * r[ir]; - const double x2 = x1 * x1; - const double x3 = x1 * x2; - const double x4 = x1 * x3; - const double x5 = x1 * x4; - jl [ir] = (sin(x1) * (105.0 - 45.0 * x2 + x4) + - cos(x1) * (10.0 * x3 - 105.0 * x1)) / x5; // mohan modify 2007-10-13 - } - } - else if (l == 5) - { - for (ir = ir0;ir < msh;ir++) - { - x1 = q * r[ir]; - - if (x1 < 0.14) - { - jl[ir] = 0;//mohan add 2007-10-15 - } - else - { - double cx1 = cos(x1); - double sx1 = sin(x1); - jl [ir] = (-cx1 - - (945.0 * cx1) / pow(x1, 4) + - (105.0 * cx1) / (x1 * x1) + - (945.0 * sx1) / pow(x1, 5) - - (420.0 * sx1) / pow(x1, 3) + - (15.0 * sx1) / x1) / x1; - - } - } - } - else if (l == 6) - { - for (ir = ir0;ir < msh;ir++) - { - x1 = q * r[ir]; - - if (x1 < 0.29) - { - jl[ir] = 0;//mohan add 2007-10-15 - } - else - { - double cx1 = cos(x1); - double sx1 = sin(x1); - jl [ir] = ((-10395.0 * cx1) / pow(x1, 5) + - (1260.0 * cx1) / pow(x1, 3) - - (21.0 * cx1) / x1 - sx1 + - (10395.0 * sx1) / pow(x1, 6) - - (4725.0 * sx1) / pow(x1, 4) + - (210.0 * sx1) / (x1 * x1)) / x1; - } - } - }//mohan modify 2007-11-20 reduce cos , sin , q*r[ir] times; - else - { - cout << "\n error in sph_bes, l out of {-1 ... 6},l = " << l ; - } - } -// printr1_d(ofs,"jl[] :",jl,msh); -// timer::tick("Mathzone","Spherical_Bessel"); - return; -} - -void Mathzone::Simpson_Integral -( - const int mesh, - const double *func, - const double *rab, - double &asum -) -{ - /* simpson's rule integration. On input: - ! mesh = mhe number of grid points (should be odd) - ! func(i)= function to be integrated - ! rab(i) = r(i) * dr(i)/di * di - ! For the logarithmic grid not including r=0 : - ! r(i) = r_0*exp((i-1)*dx) ==> rab(i)=r(i)*dx - ! For the logarithmic grid including r=0 : - ! r(i) = a(exp((i-1)*dx)-1) ==> rab(i)=(r(i)+a)*dx - ! Output in asum = \sum_i c_i f(i)*rab(i) = \int_0^\infty f(r) dr - ! where c_i are alternativaly 2/3, 4/3 except c_1 = c_mesh = 1/3 - */ - // simpson's rule integrator for function stored on the - // radial logarithmic mesh - // routine assumes that mesh is an odd number so run check - if (mesh % 2 == 0) - { - cout << "\n error in subroutine simpson "; - cout << "\n routine assumes mesh is odd but mesh = " - << mesh << endl; - return; - } - - asum = 0.00; - const double r12 = 1.00 / 12.00; - double f3 = func [0] * rab [0] * r12; - for (int i = 1;i < mesh;i += 2) - { - const double f1 = f3; - const double f2 = func [i] * rab [i] * r12; - f3 = func [i + 1] * rab [i + 1] * r12; - asum += 4.00 * f1 + 16.00 * f2 + 4.00 * f3; - } - return; -}// end subroutine simpson - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/mathzone.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/mathzone.h deleted file mode 100644 index b5b26f5407..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/mathzone.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef MATHZONE_H -#define MATHZONE_H - -#include -#include - -#include -#include -#include -#include -#include - -using namespace std; - -class Mathzone -{ -public: - - Mathzone(); - ~Mathzone(); - - //======================================================== - // Spherical Bessel - //======================================================== - static void Spherical_Bessel - ( - const int &msh, //number of grid points - const double *r,//radial grid - const double &q, // - const int &l, //angular momentum - double *jl //jl(1:msh) = j_l(q*r(i)),spherical bessel function - ); - static void Spherical_Bessel_Roots - ( - const int &num, - const int &l, - const double &epsilon, - double* eigenvalue, - const double &rcut - ); - static void Simpson_Integral( - const int mesh, - const double *func, - const double *rab, - double &asum - ); - static double PI; - -private: - static double Spherical_Bessel_7(const int n, const double &x); - static double BESSJY(double x, double xnu, double *rj, double *ry, double *rjp, double *ryp); - static void BESCHB(double x, double *gam1, double *gam2, double *gampl, double *gammi); - static double CHEBEV(double a, double b, double c[], int m, double x); - static int IMAX(int a, int b); - - -}; - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix.cpp deleted file mode 100644 index 5b6df2600d..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix.cpp +++ /dev/null @@ -1,223 +0,0 @@ -/* matrix.cpp file */ -#include -#include -#include -#include -#include - -#include -#include - -using namespace std; -#include "matrix.h" - -//********************************************************* -// The init() function is the main initialization routine. -// Sets up sizes and allocates memory for matrix class. -// All constructors call init() -// ******************************************************** - -int matrix::mCount = 0; - -void matrixAlloc() -{ - cout << "\n Allocation error for Matrix " << endl; - abort(); -} - -void matrix::init(const int nrows,const int ncols) -{ - nr = nrows; - nc = ncols; - c = NULL; -// hermetian = 0; - set_new_handler(matrixAlloc); - - if(nr*nc == 0) c = NULL; - else - { - c = new double[nrows*ncols](); - this->zero_out(); - assert(c!=0);// terminate if memory not allocated - } - - mCount++; -} - -// Free up memory for matrix -void matrix::freemem(void) -{ - delete [] c; - c = NULL; -} - -// constructor with sizes -matrix::matrix(const int nrows,const int ncols) -{ - this->init(nrows, ncols); -} - -//****************** -// -// Copy constructor -// -//****************** -matrix::matrix(const matrix &m1) -{ - init(m1.nr, m1.nc); - //hermetian = m1.hermetian; - // Copy over m1 contents - for (int i = 0; i < nr*nc; i++) c[i] = m1.c[i]; -} - -//************* -// -// destructor -// -//************* -matrix::~matrix() -{ - this->freemem(); -} - -//****************************** -// reallocate memory for matrix -//****************************** -void matrix::create(const int nrow,const int ncol) -{ - delete [] c; - nr = nrow; - nc = ncol; - c = new double[nrow * ncol](); - return; -} - -/* Assignment: nonstandard in that it returns void. To make it standard, - * replace void -> matrix and uncomment the return *this; */ - -void matrix::operator=(const matrix & m1) -{ - for (int i = 0; i < nr*nc; i++) c[i] = m1.c[i]; -} - -/* Adding matrices, as a friend */ -matrix operator+(const matrix &m1, const matrix &m2) -{ - assert(m1.nr == m2.nr); - assert(m2.nc == m2.nc); - - matrix tm(m1); - for (int i = 0; i < m1.nr*m1.nc; i++) tm.c[i] += m2.c[i]; - return tm; -} - -/* Subtracting matrices, as a friend */ -matrix operator-(const matrix &m1, const matrix &m2) -{ - assert(m1.nr == m2.nr); - assert(m2.nc == m2.nc); - - matrix tm(m1); - for(int i = 0; i < m1.nr*m1.nc; i++) tm.c[i] -= m2.c[i]; - return tm; -} - -//*************************************** -// -// Multiplying matrices, as a friend -// -// ************************************* -matrix operator*(const matrix &m1, const matrix &m2) -{ - assert(m1.nr == m2.nr); - assert(m2.nc == m2.nc); - - // allocate the result and zero it out - matrix mprod(m2.nr, m1.nc); - - mprod.zero_out(); - - // do the multiply and return - for (int i = 0;i < m2.nr;i++) - { - for (int j = 0;j < m1.nc;j++) - { - for (int k = 0;k < m2.nc;k++) - { - mprod(i, j) += m2(i, k) * m1(k, j); - } - } - } - - return mprod; -} - -/* Scale a matrix */ -matrix operator*(const double &s, const matrix &m) -{ - matrix sm(m); - for (int i = 0; i < m.nr*m.nc; i++) sm.c[i] *= s; - return sm; -} - -/* matrix * double */ -matrix operator*(const matrix &m,const double &s) -{ - matrix sm(m); - for (int i = 0; i < m.nr*m.nc; i++)sm.c[i] *= s; - return sm; -} - -/* Scale a matrix in place */ -void matrix::operator*=(const double &s) -{ - for (int i = 0; i < nc*nr; i++) c[i] *= s; -} - -/* Accumulate to a matrix in place */ -void matrix::operator+=(const matrix & m) -{ - if (nr != m.nr || nc != m.nc) - { - cout << " void matrix::operator+=(const matrix &m) has size mismatch\n"; - abort(); - } - for (int i = 0; i < nc*nr; i++) c[i] += m.c[i]; -} - - -/* decumulate to a matrix in place */ -void matrix::operator-=(const matrix & m) -{ - if (nr != m.nr || nc != m.nc) - { - cout << "void matrix::operator-=(const matrix &m) has size mismatch\n"; - abort(); - } - for (int i = 0; i < nc*nr; i++) c[i] -= m.c[i]; -} - -/* zero out the matrix */ -void matrix::zero_out(void) -{ - for(int i = 0; i < nr*nc; i++) - { - c[i] = 0.0; - } - return; -} - - -matrix transpose(matrix m) -{ - matrix tm(m.nc, m.nr); - - for (int i = 0;i < m.nr;i++) - { - for (int j = 0;j < m.nc;j++) - { - tm(j, i) = m(i, j); - } - } - return tm; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix.h deleted file mode 100644 index 5c3e896f55..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef MATRIX_H -#define MATRIX_H -class matrix -{ - /* data */ -public: - double *c; /* Holds the data */ - int nr; - int nc; /* Number of rows and columns */ - int hermetian; - static int mCount; - - /* Constructors and destructor */ - matrix(const int nrows = 1,const int ncols = 1); - matrix(const matrix &m1); /* copy constructor */ - ~matrix(); - - void create(const int nrow,const int ncol); - void operator=(const matrix &m1); /* Nonstandard: returns void */ - - double &operator()(const int ir,const int ic) - { return c[nc*ir + ic]; }; - - const double &operator()(const int ir,const int ic)const - { return c[nc*ir + ic]; }; - -// inline double &operator()(int i,int j) const -// { return c[nc*i+j]; } - - friend matrix operator+(const matrix &m1, const matrix &m2); - friend matrix operator-(const matrix &m1, const matrix &m2); - friend matrix operator*(const matrix &m1, const matrix &m2); - friend matrix operator*(const double &s, const matrix &m); - friend matrix operator*(const matrix &m, const double &s); - void operator*=(const double &s); - void operator+=(const matrix &m); - void operator-=(const matrix &m); - - /* member function: */ - matrix Inverse(void); - - double det(void); - - /* Does the memory allocations of the constructor */ - void init(int nrows, int ncols); - - /* Free up memory */ - void freemem(void); - - /* zero out all the entries */ - void zero_out(void); -}; - -matrix transpose(matrix m); - -#endif // MATRIX_H diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix3.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix3.cpp deleted file mode 100644 index 67ccc3c8f4..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix3.cpp +++ /dev/null @@ -1,212 +0,0 @@ -#include "matrix3.h" - -Matrix3::Matrix3(const double &r11, const double &r12, const double &r13, - const double &r21, const double &r22, const double &r23, - const double &r31, const double &r32, const double &r33) -{ - e11 = r11;e12 = r12;e13 = r13; - e21 = r21;e22 = r22;e23 = r23; - e31 = r31;e32 = r32;e33 = r33; -} - -void Matrix3::Reset(void) -{ - e11 = 1;e12 = 0;e13 = 0; - e21 = 0;e22 = 1;e23 = 0; - e31 = 0;e32 = 0;e33 = 1; -} - -void Matrix3::Identity(void) -{ - e11 = 1;e12 = 0;e13 = 0; - e21 = 0;e22 = 1;e23 = 0; - e31 = 0;e32 = 0;e33 = 1; -} - -double Matrix3::Det(void) const -{ - return e11*e22*e33 - - e11*e32*e23 + - e21*e32*e13 - - e21*e12*e33 + - e31*e12*e23 - - e31*e22*e13; -} - -Matrix3 Matrix3::Transpose(void) const -{ - return Matrix3(e11, e21, e31, e12, e22, e32, e13, e23, e33); -} - -Matrix3 Matrix3::Inverse(void) const -{ - double d = this->Det(); - - if(d == 0)d = 1; - - return Matrix3((e22*e33 - e23*e32) / d, - -(e12*e33 - e13*e32) / d, - (e12*e23 - e13*e22) / d, - -(e21*e33 - e23*e31) / d, - (e11*e33 - e13*e31) / d, - -(e11*e23 - e13*e21) / d, - (e21*e32 - e22*e31) / d, - -(e11*e32 - e12*e31) / d, - (e11*e22 - e12*e21) / d); -} - -Matrix3& Matrix3::operator = (const Matrix3 &m) -{ - e11 = m.e11;e12 = m.e12;e13 = m.e13; - e21 = m.e21;e22 = m.e22;e23 = m.e23; - e31 = m.e31;e32 = m.e32;e33 = m.e33; - return *this; -} - -Matrix3& Matrix3::operator +=(const Matrix3 &m) -{ - e11 += m.e11;e12 += m.e12;e13 += m.e13; - e21 += m.e21;e22 += m.e22;e23 += m.e23; - e31 += m.e31;e32 += m.e32;e33 += m.e33; - return *this; -} - -Matrix3& Matrix3::operator -=(const Matrix3 &m) -{ - e11 -= m.e11;e12 -= m.e12;e13 -= m.e13; - e21 -= m.e21;e22 -= m.e22;e23 -= m.e23; - e31 -= m.e31;e32 -= m.e32;e33 -= m.e33; - return *this; -} - -Matrix3& Matrix3::operator *=(const double &s) -{ - e11 *= s;e12 *= s;e13 *= s; - e21 *= s;e22 *= s;e23 *= s; - e31 *= s;e32 *= s;e33 *= s; - return *this; -} - -Matrix3& Matrix3::operator /=(const double &s) -{ - e11 /= s;e12 /= s;e13 /= s; - e21 /= s;e22 /= s;e23 /= s; - e31 /= s;e32 /= s;e33 /= s; - return *this; -} - -//m1+m2 -Matrix3 operator +(const Matrix3 &m1, const Matrix3 &m2) -{ - return Matrix3(m1.e11 + m2.e11, - m1.e12 + m2.e12, - m1.e13 + m2.e13, - m1.e21 + m2.e21, - m1.e22 + m2.e22, - m1.e23 + m2.e23, - m1.e31 + m2.e31, - m1.e32 + m2.e32, - m1.e33 + m2.e33); -} - -//m1-m2 -Matrix3 operator -(const Matrix3 &m1, const Matrix3 &m2) -{ - return Matrix3(m1.e11 + m2.e11, - m1.e12 - m2.e12, - m1.e13 - m2.e13, - m1.e21 - m2.e21, - m1.e22 - m2.e22, - m1.e23 - m2.e23, - m1.e31 - m2.e31, - m1.e32 - m2.e32, - m1.e33 - m2.e33); -} - -//m/s -Matrix3 operator /(const Matrix3 &m, const double &s) -{ - return Matrix3(m.e11 / s, m.e12 / s, m.e13 / s, - m.e21 / s, m.e22 / s, m.e23 / s, - m.e31 / s, m.e32 / s, m.e33 / s); -} - -//m1*m2 -Matrix3 operator *(const Matrix3 &m1, const Matrix3 &m2) -{ - return Matrix3(m1.e11*m2.e11 + m1.e12*m2.e21 + m1.e13*m2.e31, - m1.e11*m2.e12 + m1.e12*m2.e22 + m1.e13*m2.e32, - m1.e11*m2.e13 + m1.e12*m2.e23 + m1.e13*m2.e33, - m1.e21*m2.e11 + m1.e22*m2.e21 + m1.e23*m2.e31, - m1.e21*m2.e12 + m1.e22*m2.e22 + m1.e23*m2.e32, - m1.e21*m2.e13 + m1.e22*m2.e23 + m1.e23*m2.e33, - m1.e31*m2.e11 + m1.e32*m2.e21 + m1.e33*m2.e31, - m1.e31*m2.e12 + m1.e32*m2.e22 + m1.e33*m2.e32, - m1.e31*m2.e13 + m1.e32*m2.e23 + m1.e33*m2.e33); -} - -//m*s -Matrix3 operator *(const Matrix3 &m,const double &s) -{ - return Matrix3(m.e11*s, m.e12*s, m.e13*s, - m.e21*s, m.e22*s, m.e23*s, - m.e31*s, m.e32*s, m.e33*s); -} - -//s*m -Matrix3 operator *(const double &s, const Matrix3 &m) -{ - return Matrix3(m.e11*s, m.e12*s, m.e13*s, - m.e21*s, m.e22*s, m.e23*s, - m.e31*s, m.e32*s, m.e33*s); -} - -//m*u -Vector3 operator *(const Matrix3 &m, const Vector3 &u) -{ - return Vector3(m.e11*u.x + m.e12*u.y + m.e13*u.z, - m.e21*u.x + m.e22*u.y + m.e23*u.z, - m.e31*u.x + m.e32*u.y + m.e33*u.z); -} - -//u*m -Vector3 operator *(const Vector3 &u, const Matrix3 &m) -{ - return Vector3(u.x*m.e11 + u.y*m.e21 + u.z*m.e31, - u.x*m.e12 + u.y*m.e22 + u.z*m.e32, - u.x*m.e13 + u.y*m.e23 + u.z*m.e33); -} - - -// whether m1==m2 -bool operator==(const Matrix3 &m1, const Matrix3 &m2) -{ - if(m1.e11 == m2.e11 && - m1.e12 == m2.e12 && - m1.e13 == m2.e13 && - m1.e21 == m2.e21 && - m1.e22 == m2.e22 && - m1.e23 == m2.e23 && - m1.e31 == m2.e31 && - m1.e32 == m2.e32 && - m1.e33 == m2.e33) - { - return true; - } - return false; -} - -//whether m1 != m2 -bool operator!=(const Matrix3 &m1, const Matrix3 &m2) -{ - return !(m1 == m2); //!= defined in terms of operator == -} - - -void Matrix3::print(void)const -{ - cout << e11 << setw(15) << e12 << setw(15) << e13 << endl ; - cout << e21 << setw(15) << e22 << setw(15) << e23 << endl ; - cout << e31 << setw(15) << e32 << setw(15) << e33 << endl ; - return; -} diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix3.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix3.h deleted file mode 100644 index 024f19870d..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/matrix3.h +++ /dev/null @@ -1,54 +0,0 @@ -//========================================================== -// AUTHOR: Lixin He, Mohan Chen -// LAST UPDATE : 2009-03-24 add operator == and != -//========================================================== -#ifndef MatriX3_H -#define MatriX3_H - -#ifdef _MCD_CHECK -#include "./src_parallel/mcd.h" -#endif - -#include "vector3.h" - -class Matrix3 -{ - /* data */ -public: - // element eij:i_column,j_row - double e11, e12, e13, e21, e22, e23, e31, e32, e33; - - /* Constructors and destructor */ - Matrix3(const double &r11 = 1,const double &r12 = 0,const double &r13 = 0, - const double &r21 = 0,const double &r22 = 1,const double &r23 = 0, - const double &r31 = 0,const double &r32 = 0,const double &r33 = 1); - - void Reset(void); - void Identity(void); - double Det(void) const ; - Matrix3 Transpose(void) const ; - Matrix3 Inverse(void) const ; - - Matrix3& operator=(const Matrix3 &m); - Matrix3& operator+=(const Matrix3 &m); - Matrix3& operator-=(const Matrix3 &m); - Matrix3& operator*=(const double &s); - Matrix3& operator/=(const double &s); - - void print(void)const; -}; - -Matrix3 operator +(const Matrix3 &m1, const Matrix3 &m2); //m1+m2 -Matrix3 operator -(const Matrix3 &m1, const Matrix3 &m2); //m1-m2 -Matrix3 operator /(const Matrix3 &m,const double &s); //m/s -Matrix3 operator *(const Matrix3 &m1,const Matrix3 &m2); //m1*m2 -Matrix3 operator *(const Matrix3 &m,const double &s); //m*s -Matrix3 operator *(double &s, const Matrix3 &m); //s*m -Vector3 operator *(const Matrix3 &m, const Vector3 &u); //m*u -Vector3 operator *(const Vector3 &u, const Matrix3 &m); //u*m - -bool operator ==(const Matrix3 &m1, const Matrix3 &m2); //whether m1 == m2 -bool operator !=(const Matrix3 &m1, const Matrix3 &m2); //whethor m1 != m2 - -#endif // MATRIX3_H - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/realarray.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/realarray.cpp deleted file mode 100644 index 86c17471db..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/realarray.cpp +++ /dev/null @@ -1,179 +0,0 @@ -/******************************************* - * ESCP:Electro-Structure Calculate Package. - ********************************************/ - -#include -#include "realarray.h" - -int realArray::arrayCount = 0; - -void realArrayAlloc() -{ - cout << "\n Allocation error for realArray " << endl; - exit(0); -} - -realArray::realArray(const int d1,const int d2,const int d3) -{ - dim = 3; - bound1 = (d1 <= 0) ? 1 : d1; - bound2 = (d2 <= 0) ? 1 : d2; - bound3 = (d3 <= 0) ? 1 : d3; - bound4 = 0; - - set_new_handler(realArrayAlloc); - - size = bound1 * bound2 * bound3 ; //* sizeof(float); - - ptr = new double[size](); - assert(ptr != 0); - for(int i=0; i0); - - dim = 4; - - bound1 = d1; - bound2 = d2; - bound3 = d3; - bound4 = d4; - - delete [] ptr; - ptr = new double[size](); - assert(ptr != 0); - for(int i=0; i0); - - dim = 3; - - bound1 = d1; - bound2 = d2; - bound3 = d3; - bound4 = 1; - - delete [] ptr; - ptr = new double[size](); - assert(ptr != 0); - for(int i=0; i -#include -#include -#include - -using namespace std; - -class realArray -{ -public: - double *ptr; - - realArray(const int d1 = 1 ,const int d2 = 1,const int d3 = 1); - realArray(const int d1, const int d2,const int d3,const int d4); - ~realArray(); - - void create(const int d1,const int d2,const int d3); - void create(const int d1,const int d2,const int d3,const int d4); - - const realArray &operator=(const realArray &right); - const realArray &operator=(const double &right); - - double &operator()(const int d1,const int d2,const int d3); - double &operator()(const int d1,const int d2,const int d3,const int d4); - - const double &operator()(const int d1,const int d2,const int d3)const; - const double &operator()(const int d1,const int d2,const int d3,const int d4)const; - - void zero_out(void); - - const int getSize() const - { return size;} - - const int getDim() const - { return dim;} - - const int getBound1() const - { return bound1;} - - const int getBound2() const - { return bound2;} - - const int getBound3() const - { return bound3;} - - const int getBound4() const - { return bound4;} - - static const int getArrayCount(void) - { return arrayCount;} - -private: - int size; - int dim; - int bound1, bound2, bound3, bound4; - static int arrayCount; - - void freemem(); -}; - -//************************************************** -// set elements of a as zeros which a is 1_d array. -//************************************************** -template -void zeros(T *u,const int n) -{ - assert(n>0); - for (int i = 0;i < n;i++) u[i] = 0; -} - -#endif // realArray class diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/timer.cpp b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/timer.cpp deleted file mode 100644 index ec1660d9ce..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/timer.cpp +++ /dev/null @@ -1,244 +0,0 @@ -//========================================================== -// AUTHOR : fangwei , mohan -// DATE : 2008-11-06 -//========================================================== -#include "timer.h" - -using namespace std; - -//---------------------------------------------------------- -// EXPLAIN : -//---------------------------------------------------------- -bool timer::disabled = false; -int timer::n_clock = 100; -int timer::n_now = 0; -int timer::start_flag = -1; -double* timer::cpu_second; -double* timer::cpu_start; -string* timer::name; -string* timer::class_name; -int* timer::calls; -bool timer::delete_flag=false; - -timer::timer() -{ -}; - -timer::~timer() -{ -}; - -void timer::finish() -{ - timer::tick("","total"); - print_all(); - if(delete_flag) - { - delete[] cpu_second; - delete[] cpu_start; - delete[] name; - delete[] class_name; - delete[] calls; - } -} - -//---------------------------------------------------------- -// -//---------------------------------------------------------- -void timer::start(void) -{ - cpu_second = new double[n_clock](); - cpu_start = new double[n_clock](); - name = new string[n_clock](); - class_name = new string[n_clock](); - calls = new int[n_clock](); - delete_flag = true; - - for (int i = 0; i < n_clock; i++) - { - cpu_start[i] = (double)start_flag; - name[i]= "\0"; - class_name[i]= "\0"; - calls[i] = 0; - } - - // first init ,then we can use tick - timer::tick("","total"); - return; -} - -double timer::cpu_time(void) -{ - clock_t t1 = 0; -//---------------------------------------------------------- -// EXPLAIN : here static is important !! -// only first call can let t0 = 0,clock begin -// when enter this function second time , t0 > 0 -//---------------------------------------------------------- - static clock_t t0 = 0; - if (t0 == 0) - { - t0 = clock(); - } - t1 = clock() - t0; - - if(t1 < 0) return 0; // mohan add, abandon the cross point time 2^32 ~ -2^32 . - else return (double)t1/CLOCKS_PER_SEC; -} - -void timer::tick(const string &tagc,const string &tag) -{ -//---------------------------------------------------------- -// EXPLAIN : if timer is disabled , return -//---------------------------------------------------------- - if (disabled) - { - return; - } - - int find_clock=0;//counter -//---------------------------------------------------------- -// EXPLAIN : find if the tag has been used -//---------------------------------------------------------- - for(find_clock=0; find_clock= n_clock) - { - cout << "\nError! Too many timer!"; - return; - } - -//---------------------------------------------------------- -// CALL MEMBER FUNCTION : -// NAME : cpu_time -// -// EXPLAIN : start_flag is minus 1, -// so if cpu_start == start_flag,means a new clock counting -// begin, hence we record the start time of this clock -// counting , if cpu_start != start_flag, means it's -// the end of this counting, so we add the time during -// this two 'time point' to the clock time storage. -//---------------------------------------------------------- - if (cpu_start[find_clock] == start_flag ) - { - cpu_start[find_clock] = cpu_time(); - calls[find_clock]++; - } - else - { - cpu_second[find_clock] += cpu_time() - cpu_start[find_clock]; - cpu_start[find_clock] = start_flag; - } - return; -} - - - -void timer::enable(void) -{ - disabled = false; - return; -} - -void timer::disable(void) -{ - disabled = true; - return; -} - -double timer::print(const string &tag) -{ - int index = 0; - for(int i=0; i 1s , set small = 10^6 - - cout<<"\n--------- CLASS NAME--------------- NAME ----- TIME(sec) -- CALLS ----- AVG ----- PER%"; - bool *print_flag = new bool[n_clock]; - for(int i=0; i -#include -#include -#include -#include -using namespace std; - -//========================================================== -// CLASS : -// NAME : timer(calculate time) -//========================================================== -class timer -{ - timer(); - ~timer(); - - public: -//========================================================== -// MEMBER FUNCTIONS : -// NAME : tick(use twice at a time) -// NAME : start -// NAME : finish -// NAME : enable -// NAME : disable -// NAME : print -// NAME : print_all -//========================================================== - static void tick(const string &class_name_in,const string &name_in); - - static void start(void); - static void finish(void); - - static void enable(void); - static void disable(void); - - static void print_all(void); - static long double print_until_now(void); - static double print(const string &name_in); - - private: - -//========================================================== -// MEMBER VARIABLES : -// NAME : disabled(if disabled , timer can't work) -// NAME : n_clock(uplimit number of clock numbers) -// NAME : n_now(the index of clocks) -// NAME : start_flag -// NAME : cpu_start -// NAME : cput_second(record cpu time) -// NAME : name(record clock name) -// NAME : class_name(record another name for clock) -//========================================================== - static bool disabled; - static int n_clock; - static int n_now; - static int start_flag; - static double *cpu_start; - static double *cpu_second; - static string *name; - static string *class_name; - static int *calls; - -//========================================================== -// MEMBER FUNCTIONS : -// NAME : cpu_time(calculate time) -//========================================================== - static double cpu_time(void); - static bool delete_flag; - -}; -#endif - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/vector3.h b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/vector3.h deleted file mode 100644 index 945f117855..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/src_tools/vector3.h +++ /dev/null @@ -1,237 +0,0 @@ -//========================================================== -// -//========================================================== -#ifndef VECTOR3_H -#define VECTOR3_H - -#ifdef _MCD_CHECK -#include "./src_parallel/mcd.h" -#endif - -#include -#include -#include -using namespace std; - -template -class Vector3 -{ -public: - T x; - T y; - T z; - Vector3(const T &x1 = 0,const T &y1 = 0,const T &z1 = 0); - - Vector3& operator=(const Vector3 &u); - Vector3& operator+=(const Vector3 &u); - Vector3& operator-=(const Vector3 &u); - Vector3& operator*=(const Vector3 &u); - Vector3& operator*=(const T &s); - Vector3& operator/=(const Vector3 &u); - Vector3& operator/=(const T &s); - - void set(const T &x1, const T &y1,const T &z1); - - inline T norm(void) const - { return sqrt(x*x + y*y + z*z); } - - T norm2(void)const; - void normalize(void); - void reverse(void); - - // mohan add 2009-11-29 - void print(void)const ; -}; - -template -Vector3 operator+(const Vector3 &u,const Vector3 &v); -template -Vector3 operator-(const Vector3 &u,const Vector3 &v); -// | i j k | -// | ux uy uz | -// | vx vy vz | -//u.v=(uy*vz-uz*vy)i+(-ux*vz+uz*vx)j+(ux*vy-uy*vx)k -template -Vector3 operator^(const Vector3 &u,const Vector3 &v); -//u.v=(ux*vx)+(uy*vy)+(uz*vz) -template -T operator*(const Vector3 &u,const Vector3 &v); -template -Vector3 operator*(const T &s,const Vector3 &u); -template -Vector3 operator/(const Vector3 &u,const T &s); -template -Vector3 cross(const Vector3 &u,const Vector3 &v); -//u.v=(ux*vx)+(uy*vy)+(uz*vz) -template -T dot(const Vector3 &u,const Vector3 &v); -//template -//T TripleSalarProduct(Vector3 u, Vector3 v, Vector3 w); - -//========================================================== -// Define Constructor -//========================================================== -template -Vector3::Vector3(const T &x1,const T &y1, const T &z1) -:x(x1),y(y1),z(z1) -{} - -template -void Vector3::set(const T &x1,const T &y1,const T &z1) -{ - x = x1; y = y1; z = z1; -} - -template -T Vector3::norm2(void)const -{ - return x*x + y*y + z*z; -} - -//|v| = sqrt(x*x+y*y+z*z)=1 -template -void Vector3::normalize(void) -{ - T m = sqrt(x*x + y*y + z*z); - x /= m;y /= m;z /= m; -} - -template -void Vector3::reverse(void) -{ - x = -x;y = -y;z = -z; -} - -template -Vector3& Vector3::operator=(const Vector3 &u) -{ - x = u.x;y = u.y;z = u.z; - return *this; -} - -template -Vector3& Vector3::operator+=(const Vector3 &u) -{ - x += u.x;y += u.y;z += u.z; - return *this; -} - -template -Vector3& Vector3::operator-=(const Vector3 &u) -{ - x -= u.x;y -= u.y;z -= u.z; - return *this; -} - -template -Vector3& Vector3::operator*=(const T &s) -{ - x *= s;y *= s;z *= s; - return *this; -} - -template -Vector3& Vector3::operator/=(const T &s) -{ - x /= s;y /= s;z /= s; - return *this; -} - -template -Vector3 operator+(const Vector3 &u,const Vector3 &v) -{ - return Vector3(u.x + v.x, u.y + v.y, u.z + v.z); -} - -template -Vector3 operator-(const Vector3 &u,const Vector3 &v) -{ - return Vector3(u.x - v.x, u.y - v.y, u.z - v.z); -} - -// u.v=(uy*vz-uz*vy)i+(-ux*vz+uz*vx)j+(ux*vy-uy*vzx)k -template -Vector3 operator^(const Vector3 &u,const Vector3 &v) -{ - return Vector3 (u.y * v.z - u.z * v.y, - -u.x * v.z + u.z * v.x, - u.x * v.y - u.y * v.x); -} - -//u.v=(ux*vx)+(uy*vy)+(uz*vz) -template -T operator*(const Vector3 &u,const Vector3 &v) -{ - return (u.x * v.x + u.y * v.y + u.z * v.z); -} - -template // mohan add 2009-5-10 -Vector3 operator*(const Vector3 &u, const T &s) -{ - return Vector3(u.x * s, u.y * s, u.z * s); -} - -template -Vector3 operator*(const T &s,const Vector3 &u) -{ - return Vector3(u.x * s, u.y * s, u.z * s); -} - -template -Vector3 operator /(const Vector3 &u,const T &s) -{ - return Vector3(u.x / s, u.y / s, u.z / s); -} - -// u.v=(uy*vz-uz*vy)i+(-ux*vz+uz*vx)j+(ux*vy-uy*vzx)k -template -Vector3 cross(const Vector3 &u, const Vector3 &v) -{ - return Vector3 (u.y * v.z - u.z * v.y, - -u.x * v.z + u.z * v.x, - u.x * v.y - u.y * v.x); -} - -template -T dot(const Vector3 &u,const Vector3 &v) -{ - return (u.x * v.x + u.y * v.y + u.z * v.z); -} - -//whether u == v -template -bool operator ==(const Vector3 &u, const Vector3 &v) -{ - if(u.x == v.x && u.y == v.y && u.z == v.z) - { - return true; - } - return false; -} - -//whether m1 != m2 -template -bool operator !=(const Vector3 &u, const Vector3 &v) -{ - return !(u == v); -} - -template -void Vector3::print(void)const -{ - cout.precision(5) ; - cout << "(" << setw(10) << x << "," << setw(10) << y << "," - << setw(10) << z << ")" << endl ; - return ; -} - -//s = u.(v x w) -//template -//T TripleScalarProduct(Vector3 u, Vector3 v, Vector3 w) -//{ -// return T((u.x * (v.y * w.z - v.z * w.y)) + -// (u.y * (-v.x * w.z + v.z * w.x)) + -// (u.z * (v.x * w.y - v.y * w.x))); -//} - -#endif diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/INPUT b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/INPUT deleted file mode 100644 index 7ef20626a7..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/INPUT +++ /dev/null @@ -1,79 +0,0 @@ - -1 // if or not calculate the spillage. 1/0 -0 // restart from file or not. 1/0 -0 // if or not output the file. 1/0 -1 // number of structures. -/home/mohan/3_my_program/1_MCSP/GaAs.10.5.dat_haha - - - -8 //number of kpoints. -1 //number of pools. - - - -20 - - - -2 //1:max 2:average - - - -1.0e-9 // Init temparature for spillage -0.5 // Cooling rate -1 // Number of temperatures(spillage) -0 // Number of temperatures(kinetical) -100 // Number of steps per temparature -0.005 // Delta kappa -5 // Selectly output information -100 // Acceptance_steps -0.4 // Acceptance_high -0.2 // Acceptance_low -100 // Max kinetic energy(Rydberg). -0.01 // 'dr' for kinetic minimized. -1 // 1: Kin 2: Ecut - - - -0 // to control the number of bands.(Yes1/No0) -3 // int, the start band index(>0). -4 // int, the ed band index( - - -2 // Number of levels. -# label / na / skip / lmax / each L / -31 1 new 2 0 1 1 -33 1 new 2 0 1 1 - -31 1 new 1 1 1 -33 1 new 1 1 1 - - - - - -0.005 //dr(a.u.) of uniform mesh. Attention!!dr will affect kinetic energy minmized largely. --6 //xmin -1 //zed, chosen as valence charge. -0.01 //dx -6.0 //xmax - - - -0 -2 -./FILE/Si-S.ORBITAL -0 -./FILE/Si-P.ORBITAL -1 - - - -0 // 'yes' to do this. -14.0 // rcut, only useful for test program -0.01 // dr, for simpson integral -2 // test eigenvalue index -2 // lmax - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/mpi.sh b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/mpi.sh deleted file mode 100644 index 516726f973..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/mpi.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -#PBS -l nodes=2:ppn=4 -#PBS -j oe -#PBS -V -#PBS -N MCSP - -# go to work dir -cd $PBS_O_WORKDIR - -# setup Nums of Processor -NP=`cat $PBS_NODEFILE|wc -l` -echo "Numbers of Processors: $NP" -echo "---------------------------" - -# running program -/share/data1/mpich-intel/bin/mpirun -np $NP -machinefile $PBS_NODEFILE ../040.MCSP_p.exe > Log.txt diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/node_openmpi b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/node_openmpi deleted file mode 100644 index a816c13efc..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/node_openmpi +++ /dev/null @@ -1 +0,0 @@ -compute-0-13 diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/p.sh b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/p.sh deleted file mode 100644 index 8e958557ec..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_p/p.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -#/share/data2/openmpi-gnu/bin/mpirun -np $1 -machinefile node_openmpi ../042.MCSP_p.exe -/opt/openmpi-intel9/bin/mpirun -np $1 -machinefile node_openmpi ../042.MCSP_p.exe - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_s/INPUT b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_s/INPUT deleted file mode 100644 index 3f6fb190e0..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_s/INPUT +++ /dev/null @@ -1,83 +0,0 @@ - -1 // if or not calculate the spillage. 1/0 -0 // restart or not. 1/0 -1 // if or not output the file. 1/0 -1 // number of structures. -H-6-0.6.15.dat - - - -1 //number of k points -1 // number of pools - - - -15 - - - -2 - - - -1.0e-8 // Start temparature for spillage -0.5 // Cooling rate -2 // Number of temperatures(spillage) -500 // Number of steps per temparature - -1.0e-2 // start temperature for kinetic energy -0.8 // Cooling rate -1 // Number of temperatures(kinetical) -100 // Number of steps per temparature - -0.05 // Delta kappa -49 // Selectly output information - -100 // Acceptance_steps -0.4 // Acceptance_high -0.2 // Acceptance_low - -50 // Max kinetic energy(Rydberg). -0.01 // 'dr' for kinetic minimized. -1 // 1: Kin 2: Ecut - - - -1 // to control the number of bands.(Yes1/No0) -1 // int, the start band index(>0). -1 // int, the ed band index( - - -2 // Number of levels. -# label / na / skip / lmax / each L / -01 2 new 1 1 1 -01 2 new 1 1 1 -01 2 new 1 1 1 - - - -0.01 //dr(a.u.) of uniform mesh. Attention!!dr will affect kinetic energy minmized largely. --6 //xmin -1 //zed, chosen as valence charge. -0.01 //dx -6.0 //xmax - - - -0 -2 -./FILE/Si-S.ORBITAL -0 -./FILE/Si-P.ORBITAL -1 - - - -0 // 'yes' to do this. -14.0 // rcut, only useful for test program -0.01 // dr, for simpson integral -2 // test eigenvalue index -2 // lmax - - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_s/s.sh b/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_s/s.sh deleted file mode 100644 index 225b61ca0d..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/1_Source/tests_s/s.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -#/share/apps/mpich/1.2.7-gnu/bin/mpirun -machinefile node -np $1 ./fp_mpi.x $2 -../046.MCSP_s.exe diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/07_N.stru b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/07_N.stru deleted file mode 100644 index 2822c6509d..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/07_N.stru +++ /dev/null @@ -1,15 +0,0 @@ -ATOMIC_SPECIES -N 1 N.LDA.UPF -LATTICE_CONSTANT -20 // add lattice constant(a.u.) -LATTICE_VECTORS -1 0 0 -0 1 0 -0 0 1 -ATOMIC_POSITIONS -Cartesian_angstrom //Cartesian or Direct coordinate. -N //Element Label -0.0 //starting magnetism -2 //number of atoms -0.0 0.0 0.0 0 0 0 // crystal coor. -0.0 0.0 3.0 0 0 0 diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/INPUT b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/INPUT deleted file mode 100644 index e679976f94..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/INPUT +++ /dev/null @@ -1,85 +0,0 @@ - -1 // if or not calculate the spillage. 1/0 -0 // restart or not. 1/0 -1 // if or not output the file. 1/0 -5 // number of structures. -../N-6-1.0.20.dat -../N-6-1.1.20.dat -../N-6-1.5.20.dat -../N-6-2.0.20.dat -../N-6-3.0.20.dat - - - -1 //number of k points -1 // number of pools - - - -100 - - - -2 - - - -1.0e-4 // Start temparature for spillage -0.8 // Cooling rate -20 // Number of temperatures(spillage) -500 // Number of steps per temparature - -1.0e-2 // start temperature for kinetic energy -0.8 // Cooling rate -15 // Number of temperatures(kinetical) -500 // Number of steps per temparature - -0.01 // Delta kappa -50 // Selectly output information - -100 // Acceptance_steps -0.4 // Acceptance_high -0.2 // Acceptance_low - -100 // Max kinetic energy(Rydberg). -0.01 // 'dr' for kinetic minimized. -1 // 1: Kin 2: Ecut - - - - -1 // to control the number of bands.(Yes1/No0) -1 // int, the start band index(>0). -5 // int, the ed band index( - -2 // Number of levels. -label / na / skip / lmax / each L / -07 2 new 1 1 1 -07 2 new 2 1 1 1 - - -0.01 //dr(a.u.) of uniform mesh. Attention!!dr will affect kinetic energy minmized largely. --6 //xmin -1 //zed, chosen as valence charge. -0.01 //dx -6.0 //xmax - - - -0 -2 -./FILE/Si-S.ORBITAL -0 -./FILE/Si-P.ORBITAL -1 - - - -0 // 'yes' to do this. -14.0 // rcut, only useful for test program -0.01 // dr, for simpson integral -2 // test eigenvalue index -2 // lmax - - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/ORBITAL_ECUT.txt b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/ORBITAL_ECUT.txt deleted file mode 100644 index 7e6cd30872..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/ORBITAL_ECUT.txt +++ /dev/null @@ -1,40 +0,0 @@ -WaveFunctionIndex=0 -T=0 L=0 N=0 -Psi(r) norm=1 -Psi(k) norm=0.999999782881 -Ecut(Ry)(norm>0.9900)=9.9458 -Ecut(Ry)(norm>0.9990)=25.205 -Ecut(Ry)(norm>0.9999)=56.3922 - -WaveFunctionIndex=1 -T=0 L=0 N=1 -Psi(r) norm=1 -Psi(k) norm=0.999989795187 -Ecut(Ry)(norm>0.9900)=14.9058 -Ecut(Ry)(norm>0.9990)=48.6098 -Ecut(Ry)(norm>0.9999)=119.5058 - -WaveFunctionIndex=2 -T=0 L=1 N=0 -Psi(r) norm=1 -Psi(k) norm=0.999998837269 -Ecut(Ry)(norm>0.9900)=43.245 -Ecut(Ry)(norm>0.9990)=73.6898 -Ecut(Ry)(norm>0.9999)=100.5362 - -WaveFunctionIndex=3 -T=0 L=1 N=1 -Psi(r) norm=1 -Psi(k) norm=0.999970231609 -Ecut(Ry)(norm>0.9900)=43.6178 -Ecut(Ry)(norm>0.9990)=85.2818 -Ecut(Ry)(norm>0.9999)=245.0898 - -WaveFunctionIndex=4 -T=0 L=2 N=0 -Psi(r) norm=1 -Psi(k) norm=0.99999991021 -Ecut(Ry)(norm>0.9900)=29.3378 -Ecut(Ry)(norm>0.9990)=39.2498 -Ecut(Ry)(norm>0.9999)=90.0482 - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/ORBITAL_KINETIC.txt b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/ORBITAL_KINETIC.txt deleted file mode 100644 index 367a8e01e1..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/ORBITAL_KINETIC.txt +++ /dev/null @@ -1,81 +0,0 @@ - -Type=1 L=0 N=1 - nq Coefficient Eigen(Ry) Kinetic_Energy - 0 0.1999257021 0.2741556778 0.3729652745 (Rydberg) - 1 0.3751982321 1.0966227112 2.7642403305 (Rydberg) - 2 0.3432468744 2.4674011003 3.5304040380 (Rydberg) - 3 0.2073591969 4.3864908449 1.7327165049 (Rydberg) - 4 0.0931472419 6.8538919452 0.4393041607 (Rydberg) - 5 0.0083973628 9.8696044011 0.0042991179 (Rydberg) - 6 -0.0297123833 13.4336282126 0.0629471137 (Rydberg) - 7 -0.0516185574 17.5459633797 0.2175198693 (Rydberg) - 8 -0.0382587902 22.2066099025 0.1346230553 (Rydberg) - 9 -0.0372573067 27.4155677808 0.1420138674 (Rydberg) - 10 -0.0172176072 33.1728370148 0.0333925432 (Rydberg) - 11 -0.0103250414 39.4784176044 0.0131102812 (Rydberg) - 12 0.0026804530 46.3323095496 0.0009578357 (Rydberg) - Total kinetic energy = 9.448494 -Type=1 L=0 N=2 - nq Coefficient Eigen(Ry) Kinetic_Energy - 0 -0.1702497983 0.2741556778 0.2704608137 (Rydberg) - 1 0.2534448310 1.0966227112 1.2613078798 (Rydberg) - 2 0.4888213204 2.4674011003 7.1599750417 (Rydberg) - 3 0.5222909302 4.3864908449 10.9927379792 (Rydberg) - 4 0.2303528994 6.8538919452 2.6866598328 (Rydberg) - 5 0.0620139329 9.8696044011 0.2344617885 (Rydberg) - 6 -0.1163669901 13.4336282126 0.9655181584 (Rydberg) - 7 -0.0859112414 17.5459633797 0.6025418209 (Rydberg) - 8 -0.0985168655 22.2066099025 0.8926437058 (Rydberg) - 9 -0.0426973954 27.4155677808 0.1865136443 (Rydberg) - 10 -0.0428123662 33.1728370148 0.2064630638 (Rydberg) - 11 0.0018740871 39.4784176044 0.0004319246 (Rydberg) - 12 -0.0084670389 46.3323095496 0.0095573551 (Rydberg) - Total kinetic energy = 25.469273 -Type=1 L=1 N=1 - nq Coefficient Eigen(Ry) Kinetic_Energy - 0 0.2164573822 0.5608535710 0.1823044396 (Rydberg) - 1 0.4057926751 1.6577643318 1.2230981466 (Rydberg) - 2 0.4861068166 3.3027741434 2.5785150375 (Rydberg) - 3 0.4610084700 5.4960503109 3.0559555815 (Rydberg) - 4 0.4348967984 8.2376225593 3.3738081306 (Rydberg) - 5 0.3597307410 11.5274995628 2.7554285473 (Rydberg) - 6 0.3151565858 15.3656846066 2.4577729551 (Rydberg) - 7 0.2482453379 19.7521791593 1.7375780566 (Rydberg) - 8 0.2060286651 24.6869839575 1.3432642193 (Rydberg) - 9 0.1438652547 30.1700994040 0.7263414985 (Rydberg) - 10 0.1212418394 36.2015257342 0.5665469305 (Rydberg) - 11 0.0684532379 42.7812630931 0.1967551594 (Rydberg) - 12 0.0553649958 49.9093115739 0.1392755624 (Rydberg) - Total kinetic energy = 20.336644 -Type=1 L=1 N=2 - nq Coefficient Eigen(Ry) Kinetic_Energy - 0 -0.3763905304 0.5608535710 0.5512261576 (Rydberg) - 1 -0.0888280438 1.6577643318 0.0586074867 (Rydberg) - 2 0.1302521048 3.3027741434 0.1851295502 (Rydberg) - 3 0.4325781938 5.4960503109 2.6906578410 (Rydberg) - 4 0.3949252540 8.2376225593 2.7821322575 (Rydberg) - 5 0.4671645398 11.5274995628 4.6470119505 (Rydberg) - 6 0.2754001683 15.3656846066 1.8767973849 (Rydberg) - 7 0.2885824014 19.7521791593 2.3481282166 (Rydberg) - 8 0.1505796194 24.6869839575 0.7175274811 (Rydberg) - 9 0.1931202686 30.1700994040 1.3088344972 (Rydberg) - 10 0.0634761902 36.2015257342 0.1552932442 (Rydberg) - 11 0.0871485093 42.7812630931 0.3189026032 (Rydberg) - 12 -0.0091213667 49.9093115739 0.0037802821 (Rydberg) - Total kinetic energy = 17.644029 -Type=1 L=2 N=1 - nq Coefficient Eigen(Ry) Kinetic_Energy - 0 0.2785034840 0.9227072754 0.2120066356 (Rydberg) - 1 0.5400231772 2.2977564195 1.4381202299 (Rydberg) - 2 0.5488705668 4.2181909490 2.1262000543 (Rydberg) - 3 0.5010634435 6.6861918496 2.2994761176 (Rydberg) - 4 0.4158007439 9.7022244414 1.9447098442 (Rydberg) - 5 0.3185822021 13.2664394039 1.3530246041 (Rydberg) - 6 0.1814579245 17.3788978899 0.5073962301 (Rydberg) - 7 0.0638373509 22.0396286238 0.0712584183 (Rydberg) - 8 0.0196008810 27.2486465715 0.0075148838 (Rydberg) - 9 -0.0055101245 33.0059601610 0.0006568109 (Rydberg) - 10 -0.0073862428 39.3115744362 0.0012932630 (Rydberg) - 11 -0.0419052885 46.1654925666 0.0452643366 (Rydberg) - 12 -0.0154503452 53.5677166258 0.0066473916 (Rydberg) - Total kinetic energy = 10.013569 \ No newline at end of file diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/ORBITAL_RESULTS.txt b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/ORBITAL_RESULTS.txt deleted file mode 100644 index a9c0f98b4b..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/ORBITAL_RESULTS.txt +++ /dev/null @@ -1,120 +0,0 @@ - - - AUTHOR : Mohan Chen - StartDate : 2009-4-01 - LastModify: 2012-6-27 - LOCATION : LQCC, Hefei, China - EMAIL : mohan@mail.ustc.edu.cn - Description : Calculate the coefficients C4 of f(r) in Spherical Bessel Basis J(qr). - Formula : C4 = integral(r)[ f(r)*jl(qr)*r^{2} ]dr - P.S. : We default consider f(r) read from file is in the form : ( f(r) * r ). - - - - 50 Energy cutoff(Hartree.). - 6 rcut (a.u.) - 13 eigenvalue number( sqrt(ecut*2)*rcut/PI ). - 1e-12 tolerence to calculate eigenvalue. - 1 Number of atom types. - N Atom Label. - 2 Number of atoms. - 1 start band index. - 5 ended band index. - - - - 5 kinds of structures. -Average Spillage Value - 1 7.650351e-03 - 2 8.278485e-04 -StructureIndex 1 - 1 1.506165e-02 - 2 1.055605e-03 -StructureIndex 2 - 1 1.188785e-02 - 2 8.129575e-04 -StructureIndex 3 - 1 4.682161e-03 - 2 5.446124e-04 -StructureIndex 4 - 1 2.776286e-03 - 2 7.192063e-04 -StructureIndex 5 - 1 3.843813e-03 - 2 1.006862e-03 - - - - 0.0001 Start temperature (Kelvin) for spillage minimization. - 0.8 Decreasing rate of temperature. - 20 Number of different temperature (for spillage). - 500 Number of steps for each temperature (for spillage). - 0.01 Start temperature (Kelvin) for kinetical energy minimization. - 0.8 Decreasing rate of temperature. - 15 Number of different temperature (for kinetical). - 500 Number of steps for each temperature (for kineitcal). - - - - 5 Total number of radial orbitals. - Type L Zeta-Orbital - 1 0 1 - 1.999250044317221e-01 3.751969227337711e-01 3.432456765469037e-01 2.073584732609919e-01 - 9.314691687667399e-02 8.397333486846110e-03 -2.971227959854509e-02 -5.161837730564619e-02 - -3.825865671040287e-02 -3.725717664915303e-02 -1.721754715716488e-02 -1.032500537125548e-02 - 2.680443619439835e-03 - Type L Zeta-Orbital - 1 0 2 - -1.702201715837411e-01 2.534007267810289e-01 4.887362562363810e-01 5.222000416077341e-01 - 2.303128136068122e-01 6.200314129285323e-02 -1.163467400337028e-01 -8.589629116750186e-02 - -9.849972164762605e-02 -4.268996523281798e-02 -4.280491608417234e-02 1.873760994926852e-03 - -8.465565474560767e-03 - Type L Zeta-Orbital - 1 1 1 - 2.164535445775128e-01 4.057854806094318e-01 4.860981982244601e-01 4.610002966249457e-01 - 4.348890879607927e-01 3.597243631643592e-01 3.151509983240102e-01 2.482409366723193e-01 - 2.060250123843398e-01 1.438627040954304e-01 1.212396898433255e-01 6.845202427155371e-02 - 5.536401417985657e-02 - Type L Zeta-Orbital - 1 1 2 - -3.762037711323521e-01 -8.878396866870972e-02 1.301874756443146e-01 4.323635550163406e-01 - 3.947292980338761e-01 4.669327397849226e-01 2.752635189166638e-01 2.884392112197917e-01 - 1.505049040360807e-01 1.930244452517024e-01 6.344469423490053e-02 8.710526756514543e-02 - -9.116840805608572e-03 - Type L Zeta-Orbital - 1 2 1 - 2.785031543681187e-01 5.400225379952365e-01 5.488699171620391e-01 5.010628504779375e-01 - 4.158002517627723e-01 3.185818250191300e-01 1.814577097580852e-01 6.383727531458160e-02 - 1.960085784964030e-02 -5.510117995398617e-03 -7.386234028268464e-03 -4.190523892239696e-02 - -1.545032687222988e-02 - - - - 2 Total number of orbitals optimized levels. -Bands start from 0 -Bands ended at 5 -Optimized bands number 5 -Spillage per band is 2.000000000000000e-01 - -Fill Left Hilbert space of each band(average) by LCAO for Level 1 -BANDS New Fill Total Fill Left Spillage - 1 1.9779943263e-01 1.9779943263e-01 2.2005673718e-03 - 2 1.9946785652e-01 1.9946785652e-01 5.3214348069e-04 - 3 1.9863039476e-01 1.9863039476e-01 1.3696052437e-03 - 4 1.9911764330e-01 1.9911764330e-01 8.8235670366e-04 - 5 1.9733432171e-01 1.9733432171e-01 2.6656782927e-03 -New Fill Contribution = 9.9234964891e-01 -Total Fill Contribution = 9.9234964891e-01 -Left spillage = 7.6503510925e-03 - -Fill Left Hilbert space of each band(average) by LCAO for Level 2 -BANDS New Fill Total Fill Left Spillage - 1 2.0431561108e-03 1.9984258874e-01 1.5741126105e-04 - 2 4.7700392608e-04 1.9994486045e-01 5.5139554606e-05 - 3 1.2339426427e-03 1.9986433740e-01 1.3566260096e-04 - 4 6.9334367966e-04 1.9981098698e-01 1.8901302400e-04 - 5 2.3750561983e-03 1.9970937791e-01 2.9062209440e-04 -New Fill Contribution = 6.8225025575e-03 -Total Fill Contribution = 9.9917215146e-01 -Left spillage = 8.2784853502e-04 - \ No newline at end of file diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/running_1.txt b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/running_1.txt deleted file mode 100644 index 63af99fe91..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/6/running_1.txt +++ /dev/null @@ -1,1590 +0,0 @@ - ATTENTION! YOU SELECT THE BANDS: - BANDS_START=1 BANDS_END=5 - ATTENTION! YOU SELECT BLOCK_NE=100 - ALSO BLOCK_NE_MIN=-10000 - [STRNUM] = 5 - [FILE] = ../N-6-1.0.20.dat - [LAT0] = 20 - [a1] = 1, 0, 0 - [a2] = 0, 1, 0 - [a3] = 0, 0, 1 - [NTYPE] = 1 - [LABEL] = N - [NA] = 2 - [POS] = 0, 0, 0 - [POS] = 0, 0, 0.0944863 - [ECUT(Ry)] = 50 - [ECUT_JLQ(Ry)] = 50 - [RCUT(Bohr)] = 6 - [SMOOTH] = 1 - [SIGMA] = 0.1 - [TOLERENCE] = 1e-12 - [LMAXALL] = 2 - [NKSTOT] = 1 - [NBANDS] = 8 - [NWFCALL] = 18 - [NE] = 13 - [FILE] = ../N-6-1.1.20.dat - [FILE] = ../N-6-1.5.20.dat - [FILE] = ../N-6-2.0.20.dat - [FILE] = ../N-6-3.0.20.dat - [NKS] = 1 - Kx/Ky/Kz/Kweight - 0 0 0 1 - NKS=1 - DIMENSION OF Q= - [NKS] = 1 - [NBANDS] = 8 - [NWFCALL] = 18 - [NE] = 13 - USE Q and S matrix - Kx/Ky/Kz/Kweight - 0 0 0 1 - NKS=1 - DIMENSION OF Q= - [NKS] = 1 - [NBANDS] = 8 - [NWFCALL] = 18 - [NE] = 13 - USE Q and S matrix - Kx/Ky/Kz/Kweight - 0 0 0 1 - NKS=1 - DIMENSION OF Q= - [NKS] = 1 - [NBANDS] = 8 - [NWFCALL] = 18 - [NE] = 13 - USE Q and S matrix - Kx/Ky/Kz/Kweight - 0 0 0 1 - NKS=1 - DIMENSION OF Q= - [NKS] = 1 - [NBANDS] = 8 - [NWFCALL] = 18 - [NE] = 13 - USE Q and S matrix - Kx/Ky/Kz/Kweight - 0 0 0 1 - NKS=1 - DIMENSION OF Q= - [NKS] = 1 - [NBANDS] = 8 - [NWFCALL] = 18 - [NE] = 13 - USE Q and S matrix - [nlevel] = 2 - - >>>>> Level=1 - id=7 na=2 lmax=1 - L=0 Zeta=1 fain(FULL/AVERAGE)=f start_n(0)=1 - L=1 Zeta=1 fain(FULL/AVERAGE)=f start_n(1)=1 - - >>>>> Level=2 - id=7 na=2 lmax=2 - L=0 Zeta=1 fain(FULL/AVERAGE)=f start_n(0)=2 - L=1 Zeta=1 fain(FULL/AVERAGE)=f start_n(1)=2 - L=2 Zeta=1 fain(FULL/AVERAGE)=f start_n(2)=1 - Type=1 L=0 Zeta=2 - Type=1 L=1 Zeta=2 - Type=1 L=2 Zeta=1 - N Zeta(including all atom species) = 5 - [ntype] = 1 - [lmax] = 2 - [nmax] = 2 - [ecut(Ry)] = 50 - [ecut_jlq(Ry)] = 50 - [rcut(Bohr)] = 6 - [enumber] = 13 - [enumber_jlq] = 13 - [tolerence] = 1e-12 - - Init C4: T=1 L=0 N=0 - 0.840188 0.394383 0.783099 0.79844 - 0.911647 0.197551 0.335223 0.76823 - 0.277775 0.55397 0.477397 0.628871 - 0.364784 - Init C4: T=1 L=0 N=1 - 0.513401 0.95223 0.916195 0.635712 - 0.717297 0.141603 0.606969 0.0163006 - 0.242887 0.137232 0.804177 0.156679 - 0.400944 - Init C4: T=1 L=1 N=0 - 0.12979 0.108809 0.998925 0.218257 - 0.512932 0.839112 0.61264 0.296032 - 0.637552 0.524287 0.493583 0.972775 - 0.292517 - Init C4: T=1 L=1 N=1 - 0.771358 0.526745 0.769914 0.400229 - 0.891529 0.283315 0.352458 0.807725 - 0.919026 0.0697553 0.949327 0.525995 - 0.0860558 - Init C4: T=1 L=2 N=0 - 0.192214 0.663227 0.890233 0.348893 - 0.0641713 0.020023 0.457702 0.0630958 - 0.23828 0.970634 0.902208 0.85092 - 0.266666 - Init C4: T=1 L=2 N=1 - 0.53976 0.375207 0.760249 0.512535 - 0.667724 0.531606 0.0392803 0.437638 - 0.931835 0.93081 0.720952 0.284293 - 0.738534 - Coefficients init done. - - begin read in Metropolis parameter. - - Metropolis init done. - - - =================================================== - level = 1 - =================================================== - - ---> SpillageTemp 1 - Temperature 0.0001 -STEPS SPILLAGE UPDATES - 1 0.3309946985 14 - 51 0.0087771406 19 - 101 0.0079490573 4 - 151 0.0090947695 10 - 201 0.0088332778 8 - 251 0.0089455489 13 - 301 0.0082376656 9 - 351 0.0083162101 8 - 401 0.0087117832 4 - 451 0.0082860137 12 - - ---> SpillageTemp 2 - Temperature 0.0000800000 -STEPS SPILLAGE UPDATES - 1 0.0082743277 4 - 51 0.0082003508 5 - 101 0.0084675255 9 - 151 0.0087625449 13 - 201 0.0081672612 6 - 251 0.0084199079 9 - 301 0.0082258407 5 - 351 0.0085253923 10 - 401 0.0085717830 10 - 451 0.0082892537 10 - - ---> SpillageTemp 3 - Temperature 0.0000640000 -STEPS SPILLAGE UPDATES - 1 0.0089643731 6 - 51 0.0082668436 9 - 101 0.0081673141 4 - 151 0.0081949380 7 - 201 0.0082183903 8 - 251 0.0081050102 7 - 301 0.0081340003 10 - 351 0.0079467388 7 - 401 0.0082222252 6 - 451 0.0080419315 5 - - ---> SpillageTemp 4 - Temperature 0.0000512000 -STEPS SPILLAGE UPDATES - 1 0.0080441720 6 - 51 0.0081048826 6 - 101 0.0084264015 8 - 151 0.0085138686 7 - 201 0.0078628474 6 - 251 0.0081037349 7 - 301 0.0080416538 8 - 351 0.0080321831 8 - 401 0.0081018412 8 - 451 0.0080313583 9 - - ---> SpillageTemp 5 - Temperature 0.0000409600 -STEPS SPILLAGE UPDATES - 1 0.0083568548 6 - 51 0.0079922470 7 - 101 0.0082780765 10 - 151 0.0079784420 9 - 201 0.0078877744 4 - 251 0.0080886601 9 - 301 0.0079044038 6 - 351 0.0081096348 6 - 401 0.0079948955 5 - 451 0.0084156832 10 - - ---> SpillageTemp 6 - Temperature 0.0000327680 -STEPS SPILLAGE UPDATES - 1 0.0080916426 4 - 51 0.0078989783 7 - 101 0.0080734892 5 - 151 0.0078119924 8 - 201 0.0078936969 7 - 251 0.0078943541 6 - 301 0.0079151761 3 - 351 0.0078459608 5 - 401 0.0081016012 9 - 451 0.0079922860 9 - - ---> SpillageTemp 7 - Temperature 0.0000262144 -STEPS SPILLAGE UPDATES - 1 0.0079587536 6 - 51 0.0077087018 5 - 101 0.0078779753 7 - 151 0.0077492502 10 - 201 0.0077557969 10 - 251 0.0077928864 8 - 301 0.0077980258 4 - 351 0.0077009098 7 - 401 0.0078339608 3 - 451 0.0079451743 10 - - ---> SpillageTemp 8 - Temperature 0.0000209715 -STEPS SPILLAGE UPDATES - 1 0.0078608908 9 - 51 0.0077354661 10 - 101 0.0079076298 7 - 151 0.0077017768 9 - 201 0.0078336689 7 - 251 0.0078069575 12 - 301 0.0078242767 8 - 351 0.0077138677 9 - 401 0.0077583423 8 - 451 0.0076866744 9 - - ---> SpillageTemp 9 - Temperature 0.0000167772 -STEPS SPILLAGE UPDATES - 1 0.0078694650 5 - 51 0.0076879612 3 - 101 0.0077934113 5 - 151 0.0078380508 10 - 201 0.0077046334 7 - 251 0.0077466466 8 - 301 0.0077468168 5 - 351 0.0078148585 5 - 401 0.0078381559 5 - 451 0.0078264111 8 - - ---> SpillageTemp 10 - Temperature 0.0000134218 -STEPS SPILLAGE UPDATES - 1 0.0077933037 5 - 51 0.0077006941 9 - 101 0.0077451908 6 - 151 0.0076869368 8 - 201 0.0076934570 9 - 251 0.0076805353 6 - 301 0.0077057731 3 - 351 0.0076708507 6 - 401 0.0076458727 5 - 451 0.0077264179 5 - - ---> SpillageTemp 11 - Temperature 0.0000107374 -STEPS SPILLAGE UPDATES - 1 0.0077486213 10 - 51 0.0076837475 8 - 101 0.0077174539 6 - 151 0.0076870113 6 - 201 0.0076746707 10 - 251 0.0076104973 4 - 301 0.0076532889 7 - 351 0.0076615281 8 - 401 0.0077179601 9 - 451 0.0076610017 7 - - ---> SpillageTemp 12 - Temperature 0.0000085899 -STEPS SPILLAGE UPDATES - 1 0.0076488318 5 - 51 0.0076541182 7 - 101 0.0076569555 7 - 151 0.0076227848 7 - 201 0.0076609131 13 - 251 0.0077068434 8 - 301 0.0076521429 7 - 351 0.0076357749 8 - 401 0.0076954904 11 - 451 0.0076330031 8 - - ---> SpillageTemp 13 - Temperature 0.0000068719 -STEPS SPILLAGE UPDATES - 1 0.0077120681 10 - 51 0.0076496318 6 - 101 0.0076151178 5 - 151 0.0076287363 9 - 201 0.0076440469 11 - 251 0.0076145779 5 - 301 0.0076393483 9 - 351 0.0076405271 9 - 401 0.0076857903 7 - 451 0.0076330561 10 - - ---> SpillageTemp 14 - Temperature 0.0000054976 -STEPS SPILLAGE UPDATES - 1 0.0076155824 7 - 51 0.0075981623 6 - 101 0.0076199160 11 - 151 0.0076072979 7 - 201 0.0076717832 8 - 251 0.0076065015 8 - 301 0.0075974778 9 - 351 0.0076516951 5 - 401 0.0076182869 6 - 451 0.0076318834 8 - - ---> SpillageTemp 15 - Temperature 0.0000043980 -STEPS SPILLAGE UPDATES - 1 0.0075964429 5 - 51 0.0076067077 7 - 101 0.0075957240 7 - 151 0.0075961912 7 - 201 0.0075962745 8 - 251 0.0076089490 9 - 301 0.0076158752 6 - 351 0.0076374719 9 - 401 0.0076222606 5 - 451 0.0076344774 6 - - ---> SpillageTemp 16 - Temperature 0.0000035184 -STEPS SPILLAGE UPDATES - 1 0.0076101769 5 - 51 0.0075855373 5 - 101 0.0076087578 5 - 151 0.0076147639 10 - 201 0.0076180043 9 - 251 0.0075875422 8 - 301 0.0075864171 4 - 351 0.0075983651 2 - 401 0.0076034855 5 - 451 0.0075916968 8 - - ---> SpillageTemp 17 - Temperature 0.0000028147 -STEPS SPILLAGE UPDATES - 1 0.0075974192 6 - 51 0.0075791386 5 - 101 0.0075928657 4 - 151 0.0075979190 7 - 201 0.0075922844 10 - 251 0.0075847793 11 - 301 0.0076024569 10 - 351 0.0075939144 9 - 401 0.0075808603 7 - 451 0.0075744180 10 - - ---> SpillageTemp 18 - Temperature 0.0000022518 -STEPS SPILLAGE UPDATES - 1 0.0075858718 5 - 51 0.0076061658 6 - 101 0.0075949507 9 - 151 0.0075797949 8 - 201 0.0075722436 8 - 251 0.0075884769 11 - 301 0.0075844114 8 - 351 0.0075942629 8 - 401 0.0075797609 8 - 451 0.0075894255 6 - - ---> SpillageTemp 19 - Temperature 0.0000018014 -STEPS SPILLAGE UPDATES - 1 0.0075856143 5 - 51 0.0075662509 8 - 101 0.0075849928 8 - 151 0.0075875231 9 - 201 0.0075669101 7 - 251 0.0075722579 9 - 301 0.0075758916 8 - 351 0.0075745658 9 - 401 0.0075774396 12 - 451 0.0075826563 10 - - ---> SpillageTemp 20 - Temperature 0.0000014412 -STEPS SPILLAGE UPDATES - 1 0.0075870448 6 - 51 0.0075747612 3 - 101 0.0075788916 10 - 151 0.0075722285 9 - 201 0.0075812008 7 - 251 0.0075791597 9 - 301 0.0075778654 7 - 351 0.0075739285 5 - 401 0.0075728669 6 - 451 0.0075716282 3 - - - Spillage at final temperature 0.0075761909 - Orbital 1 Initial E_kin 9.8435207212 - Orbital 2 Initial E_kin 17.6546055056 - 1s 0.0984 9.62763578 - 1p 0.177 17.63932956 - Notice: Change temperature of orbital 1 to 0.1738461571 - Notice: Change temperature of orbital 2 to 0.1738461571 - 51s 0.174 10.0582196 - 51p 0.174 17.34811765 - 101s 0.174 9.811089715 - 101p 0.174 17.11998766 - 151s 0.174 9.463845523 - 151p 0.174 17.08429263 - 201s 0.174 9.770056132 - 201p 0.174 17.1098172 - 251s 0.174 9.93977316 - 251p 0.174 17.27965214 - 301s 0.174 10.05687602 - 301p 0.174 17.30764581 - 351s 0.174 9.894898348 - 351p 0.174 17.23648344 - 401s 0.174 9.598292088 - 401p 0.174 17.36304886 - 451s 0.174 9.677738709 - 451p 0.174 17.44106461 - Temperature for orbital 1 = 0.139077 - Temperature for orbital 2 = 0.139077 - new kappa=1.01 - 1s 0.139 10.0105606 - 1p 0.139 17.79737082 - 51s 0.139 9.905800361 - 51p 0.139 17.42935556 - 101s 0.139 9.925029777 - 101p 0.139 17.15700595 - 151s 0.139 9.847855869 - 151p 0.139 17.46322202 - 201s 0.139 10.08731215 - 201p 0.139 17.15092773 - 251s 0.139 9.999744035 - 251p 0.139 17.11278982 - 301s 0.139 9.935782163 - 301p 0.139 17.21477136 - 351s 0.139 9.888885453 - 351p 0.139 17.40023143 - 401s 0.139 9.753547881 - 401p 0.139 17.41330777 - 451s 0.139 9.689487666 - 451p 0.139 17.04027621 - Temperature for orbital 1 = 0.111262 - Temperature for orbital 2 = 0.111262 - new kappa=1.01 - 1s 0.111 9.679046689 - 1p 0.111 17.20591209 - 51s 0.111 9.651772782 - 51p 0.111 17.42544761 - 101s 0.111 9.763936005 - 101p 0.111 17.01446582 - 151s 0.111 9.539872161 - 151p 0.111 17.23115944 - 201s 0.111 9.840367612 - 201p 0.111 17.15494505 - 251s 0.111 9.636225842 - 251p 0.111 17.47978738 - 301s 0.111 10.07554947 - 301p 0.111 16.99336997 - 351s 0.111 9.953302536 - 351p 0.111 17.20002945 - 401s 0.111 9.726317179 - 401p 0.111 17.41834135 - 451s 0.111 9.943599024 - 451p 0.111 17.27025359 - Temperature for orbital 1 = 0.0890092 - Temperature for orbital 2 = 0.0890092 - new kappa=1.01 - 1s 0.089 9.920501966 - 1p 0.089 17.25726278 - 51s 0.089 9.583347778 - 51p 0.089 17.20781897 - 101s 0.089 10.15397339 - 101p 0.089 17.06205039 - 151s 0.089 9.572306038 - 151p 0.089 17.19537893 - 201s 0.089 9.536663095 - 201p 0.089 17.07805797 - 251s 0.089 9.749936689 - 251p 0.089 17.19640066 - 301s 0.089 9.970329423 - 301p 0.089 17.161427 - 351s 0.089 9.957074449 - 351p 0.089 17.31961471 - 401s 0.089 9.734376491 - 401p 0.089 17.2794045 - 451s 0.089 9.740099482 - 451p 0.089 17.23890656 - Temperature for orbital 1 = 0.0712074 - Temperature for orbital 2 = 0.0712074 - new kappa=1.01 - 1s 0.0712 9.784002886 - 1p 0.0712 17.17792283 - 51s 0.0712 9.643212279 - 51p 0.0712 17.1347901 - 101s 0.0712 9.58593599 - 101p 0.0712 17.19716661 - 151s 0.0712 9.747992074 - 151p 0.0712 17.08222068 - 201s 0.0712 9.546969309 - 201p 0.0712 17.16290059 - 251s 0.0712 9.708067711 - 251p 0.0712 17.08906273 - 301s 0.0712 9.734363455 - 301p 0.0712 17.14218551 - 351s 0.0712 9.662233648 - 351p 0.0712 17.30034655 - 401s 0.0712 9.807777146 - 401p 0.0712 16.84869896 - 451s 0.0712 9.64402337 - 451p 0.0712 17.0374737 - Temperature for orbital 1 = 0.0569659 - Temperature for orbital 2 = 0.0569659 - new kappa=1.01 - 1s 0.057 9.834600102 - 1p 0.057 17.2131919 - 51s 0.057 9.629814218 - 51p 0.057 17.13800513 - 101s 0.057 9.647632576 - 101p 0.057 17.01720585 - 151s 0.057 9.642003111 - 151p 0.057 17.33321222 - 201s 0.057 9.671393942 - 201p 0.057 17.18354721 - 251s 0.057 9.867637406 - 251p 0.057 16.96792687 - 301s 0.057 9.849664911 - 301p 0.057 17.14470365 - 351s 0.057 9.418379478 - 351p 0.057 16.91680824 - 401s 0.057 9.744983431 - 401p 0.057 16.89554671 - 451s 0.057 9.724034909 - 451p 0.057 17.21255366 - Temperature for orbital 1 = 0.0455727 - Temperature for orbital 2 = 0.0455727 - new kappa=1.01 - 1s 0.0456 9.565760965 - 1p 0.0456 17.08055032 - 51s 0.0456 9.629226141 - 51p 0.0456 16.86919778 - 101s 0.0456 9.604563547 - 101p 0.0456 17.01729434 - 151s 0.0456 9.694677988 - 151p 0.0456 16.94287911 - 201s 0.0456 9.647800799 - 201p 0.0456 17.04031903 - 251s 0.0456 9.611660354 - 251p 0.0456 17.04051827 - 301s 0.0456 9.639695397 - 301p 0.0456 17.03316364 - 351s 0.0456 9.549683972 - 351p 0.0456 17.08032493 - 401s 0.0456 9.54576593 - 401p 0.0456 17.01159541 - 451s 0.0456 9.610342393 - 451p 0.0456 16.9343174 - Temperature for orbital 1 = 0.0364582 - Temperature for orbital 2 = 0.0364582 - new kappa=1.01 - 1s 0.0365 9.861430164 - 1p 0.0365 16.89159396 - 51s 0.0365 9.52217601 - 51p 0.0365 16.90950644 - 101s 0.0365 9.547805279 - 101p 0.0365 16.90306704 - 151s 0.0365 9.805034809 - 151p 0.0365 16.78256165 - 201s 0.0365 9.500556838 - 201p 0.0365 17.11523304 - 251s 0.0365 9.565687068 - 251p 0.0365 16.93114693 - 301s 0.0365 9.658022594 - 301p 0.0365 16.92043902 - 351s 0.0365 9.61020314 - 351p 0.0365 16.98445956 - 401s 0.0365 9.458837287 - 401p 0.0365 16.98282707 - 451s 0.0365 9.434558787 - 451p 0.0365 17.16768164 - Temperature for orbital 1 = 0.0291665 - Temperature for orbital 2 = 0.0291665 - new kappa=1.01 - 1s 0.0292 9.512761281 - 1p 0.0292 16.92056063 - 51s 0.0292 9.467852669 - 51p 0.0292 16.92805158 - 101s 0.0292 9.551641312 - 101p 0.0292 17.02268577 - 151s 0.0292 9.709907727 - 151p 0.0292 17.16597815 - 201s 0.0292 9.66072488 - 201p 0.0292 17.05208656 - 251s 0.0292 9.532296179 - 251p 0.0292 17.00950151 - 301s 0.0292 9.647933197 - 301p 0.0292 16.82801448 - 351s 0.0292 9.511923235 - 351p 0.0292 16.93603789 - 401s 0.0292 9.67754883 - 401p 0.0292 16.78934272 - 451s 0.0292 9.743569186 - 451p 0.0292 16.7633208 - Temperature for orbital 1 = 0.0233332 - Temperature for orbital 2 = 0.0233332 - new kappa=1.01 - 1s 0.0233 9.515123717 - 1p 0.0233 16.90343066 - 51s 0.0233 9.43352984 - 51p 0.0233 17.02839821 - 101s 0.0233 9.466108596 - 101p 0.0233 16.93211244 - 151s 0.0233 9.483058925 - 151p 0.0233 16.9682902 - 201s 0.0233 9.6221229 - 201p 0.0233 16.91400569 - 251s 0.0233 9.562249819 - 251p 0.0233 16.92121283 - 301s 0.0233 9.411474168 - 301p 0.0233 17.0113801 - 351s 0.0233 9.583135183 - 351p 0.0233 16.84773297 - 401s 0.0233 9.598621216 - 401p 0.0233 16.87217044 - 451s 0.0233 9.582863528 - 451p 0.0233 16.93248206 - Temperature for orbital 1 = 0.0186666 - Temperature for orbital 2 = 0.0186666 - new kappa=1.01 - 1s 0.0187 9.591135583 - 1p 0.0187 16.81487345 - 51s 0.0187 9.626000321 - 51p 0.0187 16.81447038 - 101s 0.0187 9.578701569 - 101p 0.0187 16.85546997 - 151s 0.0187 9.509148684 - 151p 0.0187 16.8709893 - 201s 0.0187 9.46437926 - 201p 0.0187 16.85493996 - 251s 0.0187 9.505397893 - 251p 0.0187 16.91521117 - 301s 0.0187 9.497431442 - 301p 0.0187 16.85053838 - 351s 0.0187 9.687827241 - 351p 0.0187 16.73218911 - 401s 0.0187 9.570387949 - 401p 0.0187 16.82370518 - 451s 0.0187 9.579018975 - 451p 0.0187 16.82044646 - Temperature for orbital 1 = 0.0149333 - Temperature for orbital 2 = 0.0149333 - new kappa=1.01 - 1s 0.0149 9.470588761 - 1p 0.0149 16.97780582 - 51s 0.0149 9.554483964 - 51p 0.0149 16.78387462 - 101s 0.0149 9.510341093 - 101p 0.0149 16.8548797 - 151s 0.0149 9.529134212 - 151p 0.0149 16.79012253 - 201s 0.0149 9.533698645 - 201p 0.0149 16.82985203 - 251s 0.0149 9.546054237 - 251p 0.0149 16.82680756 - 301s 0.0149 9.62935242 - 301p 0.0149 16.7547523 - 351s 0.0149 9.602463331 - 351p 0.0149 16.71889076 - 401s 0.0149 9.521937578 - 401p 0.0149 16.80439454 - 451s 0.0149 9.536978714 - 451p 0.0149 16.78948973 - Temperature for orbital 1 = 0.0119466 - Temperature for orbital 2 = 0.0119466 - new kappa=1.01 - 1s 0.0119 9.649508527 - 1p 0.0119 16.69255941 - 51s 0.0119 9.49071347 - 51p 0.0119 16.78940465 - 101s 0.0119 9.583400967 - 101p 0.0119 16.71654806 - 151s 0.0119 9.526409039 - 151p 0.0119 16.74960102 - 201s 0.0119 9.550596643 - 201p 0.0119 16.78634246 - 251s 0.0119 9.535570512 - 251p 0.0119 16.80657201 - 301s 0.0119 9.455019123 - 301p 0.0119 16.86067353 - 351s 0.0119 9.478687985 - 351p 0.0119 16.85942795 - 401s 0.0119 9.532661894 - 401p 0.0119 16.83899486 - 451s 0.0119 9.481166055 - 451p 0.0119 16.8070209 - Temperature for orbital 1 = 0.00955729 - Temperature for orbital 2 = 0.00955729 - new kappa=1.01 - 1s 0.00956 9.432259571 - 1p 0.00956 16.87014768 - 51s 0.00956 9.476787268 - 51p 0.00956 16.793239 - 101s 0.00956 9.514503427 - 101p 0.00956 16.74494795 - 151s 0.00956 9.557254588 - 151p 0.00956 16.72364963 - 201s 0.00956 9.451746378 - 201p 0.00956 16.93335851 - 251s 0.00956 9.506222556 - 251p 0.00956 16.747587 - 301s 0.00956 9.487040563 - 301p 0.00956 16.80947687 - 351s 0.00956 9.430377133 - 351p 0.00956 16.86391219 - 401s 0.00956 9.555849507 - 401p 0.00956 16.72953763 - 451s 0.00956 9.644253437 - 451p 0.00956 16.72470723 - Temperature for orbital 1 = 0.00764583 - Temperature for orbital 2 = 0.00764583 - new kappa=1.01 - 1s 0.00765 9.521783857 - 1p 0.00765 16.78810332 - 51s 0.00765 9.49792147 - 51p 0.00765 16.77961062 - 101s 0.00765 9.496810829 - 101p 0.00765 16.783224 - 151s 0.00765 9.51157508 - 151p 0.00765 16.72918137 - 201s 0.00765 9.411812314 - 201p 0.00765 16.86089304 - 251s 0.00765 9.433540842 - 251p 0.00765 16.85315641 - 301s 0.00765 9.442319755 - 301p 0.00765 16.82943614 - 351s 0.00765 9.419347576 - 351p 0.00765 16.86269655 - 401s 0.00765 9.467043024 - 401p 0.00765 16.86395374 - 451s 0.00765 9.481151163 - 451p 0.00765 16.77362151 - Temperature for orbital 1 = 0.00611667 - Temperature for orbital 2 = 0.00611667 - new kappa=1.01 - - mkb_information. - - NBANDS=8 STRNUM=5 - - - =================================================== - level = 2 - =================================================== - - Orthogonal....... - - ---> SpillageTemp 1 - Temperature 8e-05 -STEPS SPILLAGE UPDATES - 1 0.004238716431 34 - 51 0.002204185306 38 - 101 0.001891990404 36 - 151 0.001580550269 35 - 201 0.001906721007 36 - 251 0.002503391767 38 - 301 0.001851175854 33 - 351 0.001754102874 35 - 401 0.001666624408 36 - 451 0.001611573559 38 - - ---> SpillageTemp 2 - Temperature 6.4e-05 -STEPS SPILLAGE UPDATES - 1 0.002051734153 18 - 51 0.001349911931 38 - 101 0.001617876721 35 - 151 0.001639503791 38 - 201 0.002036899515 28 - 251 0.001424066012 35 - 301 0.001369776362 33 - 351 0.001752070183 26 - 401 0.001726796595 19 - 451 0.001659588375 35 - - ---> SpillageTemp 3 - Temperature 5.12e-05 -STEPS SPILLAGE UPDATES - 1 0.001733304092 3 - 51 0.00155254319 22 - 101 0.001524533221 25 - 151 0.001716600142 34 - 201 0.00170206917 23 - 251 0.001572685082 34 - 301 0.001617620237 13 - 351 0.001445621465 18 - 401 0.001981655565 16 - 451 0.001667653623 36 - - ---> SpillageTemp 4 - Temperature 4.096e-05 -STEPS SPILLAGE UPDATES - 1 0.001805104273 3 - 51 0.001576287574 33 - 101 0.001290407269 21 - 151 0.001900221698 9 - 201 0.001564577799 32 - 251 0.001651007328 29 - 301 0.001452829383 25 - 351 0.001325638706 25 - 401 0.001858550845 29 - 451 0.001412465727 34 - - ---> SpillageTemp 5 - Temperature 3.2768e-05 -STEPS SPILLAGE UPDATES - 1 0.001728719099 0 - 51 0.001362944332 13 - 101 0.001414898103 9 - 151 0.0014304848 20 - 201 0.00131263858 19 - 251 0.001406024483 28 - 301 0.001514319842 27 - 351 0.001430873474 16 - 401 0.001433519397 24 - 451 0.001331035074 21 - - ---> SpillageTemp 6 - Temperature 2.62144e-05 -STEPS SPILLAGE UPDATES - 1 0.001275467932 4 - 51 0.001222585567 14 - 101 0.001123091743 10 - 151 0.00163451431 30 - 201 0.001105489795 23 - 251 0.0014937024 26 - 301 0.001243217189 27 - 351 0.001222901819 16 - 401 0.001312248413 28 - 451 0.001213965591 31 - - ---> SpillageTemp 7 - Temperature 2.097152e-05 -STEPS SPILLAGE UPDATES - 1 0.001239425769 4 - 51 0.001119722363 22 - 101 0.001203060684 18 - 151 0.001250884617 17 - 201 0.001266762645 27 - 251 0.001095720755 26 - 301 0.001077564162 29 - 351 0.001118345403 21 - 401 0.001230330172 28 - 451 0.00126890155 23 - - ---> SpillageTemp 8 - Temperature 1.6777216e-05 -STEPS SPILLAGE UPDATES - 1 0.00103769447 2 - 51 0.0009583628062 2 - 101 0.0011156847 10 - 151 0.0009934413326 33 - 201 0.001014046697 11 - 251 0.001104512138 13 - 301 0.0010400206 27 - 351 0.001075134583 18 - 401 0.000999797116 30 - 451 0.001105475085 21 - - ---> SpillageTemp 9 - Temperature 1.34217728e-05 -STEPS SPILLAGE UPDATES - 1 0.001050925662 3 - 51 0.0009624363612 23 - 101 0.0009522481368 23 - 151 0.001000534776 20 - 201 0.001001125183 19 - 251 0.001169467789 17 - 301 0.0009975585439 24 - 351 0.001020398162 19 - 401 0.001119673481 22 - 451 0.0009969132873 18 - - ---> SpillageTemp 10 - Temperature 1.073741824e-05 -STEPS SPILLAGE UPDATES - 1 0.001068694762 2 - 51 0.001103118078 19 - 101 0.001021634037 11 - 151 0.0009470125926 13 - 201 0.000925793021 18 - 251 0.0009548300248 19 - 301 0.0009831101995 29 - 351 0.0009581798058 13 - 401 0.0009749601193 26 - 451 0.0009645875099 10 - - ---> SpillageTemp 11 - Temperature 8.589934592e-06 -STEPS SPILLAGE UPDATES - 1 0.0009524029116 2 - 51 0.000963058153 15 - 101 0.0009863365535 11 - 151 0.000946408503 19 - 201 0.000915525914 12 - 251 0.0009463622763 20 - 301 0.0009954613605 17 - 351 0.0009082683608 22 - 401 0.0009284378293 10 - 451 0.0009626635686 22 - - ---> SpillageTemp 12 - Temperature 6.871947674e-06 -STEPS SPILLAGE UPDATES - 1 0.0009421413303 8 - 51 0.0009607826902 17 - 101 0.0009293895704 18 - 151 0.0009198861885 7 - 201 0.0009063273307 14 - 251 0.0009280010497 14 - 301 0.000922448856 23 - 351 0.0009120021357 13 - 401 0.0009457272902 19 - 451 0.0009401100665 13 - - ---> SpillageTemp 13 - Temperature 5.497558139e-06 -STEPS SPILLAGE UPDATES - 1 0.0008669735539 11 - 51 0.0008949974626 14 - 101 0.0008769201076 14 - 151 0.0008600503275 13 - 201 0.0009219562184 13 - 251 0.0009498936802 17 - 301 0.0009059463527 9 - 351 0.0008992085122 21 - 401 0.0009111056941 12 - 451 0.0009169568485 19 - - ---> SpillageTemp 14 - Temperature 4.398046511e-06 -STEPS SPILLAGE UPDATES - 1 0.0009320148336 5 - 51 0.0008882390874 8 - 101 0.0008527759942 10 - 151 0.0008575033318 16 - 201 0.0008565426338 17 - 251 0.0008909604504 20 - 301 0.0008442928776 11 - 351 0.0008927931227 24 - 401 0.0008592225561 15 - 451 0.0008604598681 14 - - ---> SpillageTemp 15 - Temperature 3.518437209e-06 -STEPS SPILLAGE UPDATES - 1 0.0008765026253 7 - 51 0.0008713341999 8 - 101 0.0008693094366 8 - 151 0.0008498218499 19 - 201 0.0008599048656 13 - 251 0.0008981648427 14 - 301 0.0008639679111 12 - 351 0.0008743918421 11 - 401 0.0008689389926 15 - 451 0.0008613184351 20 - - ---> SpillageTemp 16 - Temperature 2.814749767e-06 -STEPS SPILLAGE UPDATES - 1 0.000849530424 12 - 51 0.0008320238305 12 - 101 0.0008623071914 8 - 151 0.0008381675531 12 - 201 0.0008359958721 17 - 251 0.0008352792895 12 - 301 0.000828698949 9 - 351 0.0008469099688 15 - 401 0.0008470376314 12 - 451 0.0008511427712 15 - - ---> SpillageTemp 17 - Temperature 2.251799814e-06 -STEPS SPILLAGE UPDATES - 1 0.000843140494 7 - 51 0.0008539615146 13 - 101 0.0008360171289 16 - 151 0.0008300672533 14 - 201 0.0008374974691 15 - 251 0.0008353180998 16 - 301 0.0008347838497 11 - 351 0.0008341005947 7 - 401 0.0008418331923 15 - 451 0.0008346817951 12 - - ---> SpillageTemp 18 - Temperature 1.801439851e-06 -STEPS SPILLAGE UPDATES - 1 0.0008258687778 9 - 51 0.000826544169 14 - 101 0.0008264790532 7 - 151 0.0008407239161 8 - 201 0.0008365610345 11 - 251 0.0008203240439 9 - 301 0.00082989101 15 - 351 0.0008440721635 19 - 401 0.0008357438115 16 - 451 0.0008284765677 15 - - ---> SpillageTemp 19 - Temperature 1.441151881e-06 -STEPS SPILLAGE UPDATES - 1 0.0008333785162 8 - 51 0.0008238177391 8 - 101 0.0008333537279 16 - 151 0.0008241698516 11 - 201 0.0008311405367 12 - 251 0.0008343828962 11 - 301 0.0008357696759 15 - 351 0.0008274318925 10 - 401 0.0008241296197 12 - 451 0.0008388857211 8 - - ---> SpillageTemp 20 - Temperature 1.152921505e-06 -STEPS SPILLAGE UPDATES - 1 0.0008306048954 7 - 51 0.0008132937463 11 - 101 0.0008161275962 13 - 151 0.0008223109026 15 - 201 0.0008217272149 11 - 251 0.0008264780438 11 - 301 0.0008208276892 22 - 351 0.0008151810134 13 - 401 0.0008224422965 9 - 451 0.0008174043081 14 - - - Spillage at final temperature 0.0008196650601 - Orbital 1 Initial E_kin 39.96517235 - Orbital 2 Initial E_kin 21.51765972 - Orbital 3 Initial E_kin 9.037166729 - 1s 0.4 39.67100824 - 1p 0.215 20.039438 - 1d 0.0904 8.579940544 - Notice: Change temperature of orbital 1 to 0.3067077853 - Notice: Change temperature of orbital 2 to 0.3067077853 - Notice: Change temperature of orbital 3 to 0.3067077853 - 51s 0.307 30.43298678 - 51p 0.307 16.59705916 - 51d 0.307 5.997003923 - 101s 0.307 28.30153988 - 101p 0.307 15.64808848 - 101d 0.307 6.563331645 - 151s 0.307 28.04187425 - 151p 0.307 16.58653822 - 151d 0.307 6.363882516 - 201s 0.307 29.2136826 - 201p 0.307 15.23658843 - 201d 0.307 6.255017622 - 251s 0.307 27.73291149 - 251p 0.307 16.87635511 - 251d 0.307 6.410993283 - 301s 0.307 27.75736843 - 301p 0.307 16.04392269 - 301d 0.307 6.825439488 - 351s 0.307 27.14998937 - 351p 0.307 17.59485769 - 351d 0.307 6.726728974 - 401s 0.307 28.82264849 - 401p 0.307 15.86829501 - 401d 0.307 6.257442163 - 451s 0.307 27.07918977 - 451p 0.307 16.6906881 - 451d 0.307 6.74999379 - Temperature for orbital 1 = 0.245366 - Temperature for orbital 2 = 0.245366 - Temperature for orbital 3 = 0.245366 - new kappa=1.01 - 1s 0.245 28.81606863 - 1p 0.245 16.60063987 - 1d 0.245 6.467118249 - 51s 0.245 27.41715007 - 51p 0.245 15.75530891 - 51d 0.245 6.05322345 - 101s 0.245 29.16387142 - 101p 0.245 15.99173976 - 101d 0.245 6.682903877 - 151s 0.245 27.09895689 - 151p 0.245 16.51111432 - 151d 0.245 7.346237783 - 201s 0.245 26.70940176 - 201p 0.245 16.03132434 - 201d 0.245 6.81145155 - 251s 0.245 26.69606255 - 251p 0.245 15.48024705 - 251d 0.245 7.181162922 - 301s 0.245 27.95483806 - 301p 0.245 17.07888144 - 301d 0.245 6.13872147 - 351s 0.245 28.8624077 - 351p 0.245 16.04585411 - 351d 0.245 7.016546446 - 401s 0.245 27.81777376 - 401p 0.245 16.41402448 - 401d 0.245 7.09982648 - 451s 0.245 26.95335492 - 451p 0.245 17.20095472 - 451d 0.245 6.859765672 - Temperature for orbital 1 = 0.196293 - Temperature for orbital 2 = 0.196293 - Temperature for orbital 3 = 0.196293 - new kappa=1.01 - 1s 0.196 29.14928721 - 1p 0.196 16.83984062 - 1d 0.196 6.871348968 - 51s 0.196 27.5080708 - 51p 0.196 16.12733945 - 51d 0.196 6.388763137 - 101s 0.196 26.08240463 - 101p 0.196 17.04036866 - 101d 0.196 6.468669144 - 151s 0.196 27.38353557 - 151p 0.196 15.78951287 - 151d 0.196 6.487885895 - 201s 0.196 27.55650641 - 201p 0.196 15.75995315 - 201d 0.196 6.60410481 - 251s 0.196 30.50823161 - 251p 0.196 15.32752238 - 251d 0.196 6.525509706 - 301s 0.196 26.66964164 - 301p 0.196 17.01717098 - 301d 0.196 6.485673839 - 351s 0.196 26.97748859 - 351p 0.196 16.01161333 - 351d 0.196 6.738827678 - 401s 0.196 27.88642126 - 401p 0.196 15.7313449 - 401d 0.196 6.801557689 - 451s 0.196 27.29841143 - 451p 0.196 16.34533697 - 451d 0.196 6.689051629 - Temperature for orbital 1 = 0.157034 - Temperature for orbital 2 = 0.157034 - Temperature for orbital 3 = 0.157034 - new kappa=1.01 - 1s 0.157 26.91215126 - 1p 0.157 15.5842629 - 1d 0.157 6.820826291 - 51s 0.157 27.46541402 - 51p 0.157 15.34711234 - 51d 0.157 6.797486652 - 101s 0.157 27.09272522 - 101p 0.157 16.52069833 - 101d 0.157 6.263615317 - 151s 0.157 25.16653865 - 151p 0.157 17.82935386 - 151d 0.157 6.850723979 - 201s 0.157 26.14992716 - 201p 0.157 16.63195459 - 201d 0.157 6.270444893 - 251s 0.157 26.2452515 - 251p 0.157 16.5391229 - 251d 0.157 6.310441843 - 301s 0.157 26.48223344 - 301p 0.157 16.30936331 - 301d 0.157 6.527222149 - 351s 0.157 27.15367001 - 351p 0.157 15.80433055 - 351d 0.157 6.660546194 - 401s 0.157 26.40631292 - 401p 0.157 15.93727824 - 401d 0.157 7.08719209 - 451s 0.157 26.15397446 - 451p 0.157 16.22287933 - 451d 0.157 6.838154726 - Temperature for orbital 1 = 0.125628 - Temperature for orbital 2 = 0.125628 - Temperature for orbital 3 = 0.125628 - new kappa=1.01 - 1s 0.126 27.49659207 - 1p 0.126 15.35360729 - 1d 0.126 6.392221025 - 51s 0.126 27.98710135 - 51p 0.126 16.35188508 - 51d 0.126 6.432149743 - 101s 0.126 27.87714716 - 101p 0.126 14.3372253 - 101d 0.126 6.774860747 - 151s 0.126 26.74892074 - 151p 0.126 15.6202167 - 151d 0.126 6.220658763 - 201s 0.126 26.57712633 - 201p 0.126 15.07489832 - 201d 0.126 6.471023451 - 251s 0.126 26.7898173 - 251p 0.126 15.11619129 - 251d 0.126 6.507627212 - 301s 0.126 25.7617698 - 301p 0.126 15.88960109 - 301d 0.126 6.479559944 - 351s 0.126 26.41667165 - 351p 0.126 15.55528379 - 351d 0.126 6.836554051 - 401s 0.126 25.98077076 - 401p 0.126 15.72216757 - 401d 0.126 6.344748945 - 451s 0.126 26.30903812 - 451p 0.126 16.08851086 - 451d 0.126 6.390425702 - Temperature for orbital 1 = 0.100502 - Temperature for orbital 2 = 0.100502 - Temperature for orbital 3 = 0.100502 - new kappa=1.01 - 1s 0.101 26.80121561 - 1p 0.101 15.3077465 - 1d 0.101 7.257532455 - 51s 0.101 27.57579412 - 51p 0.101 14.82835257 - 51d 0.101 6.44505252 - 101s 0.101 27.57097531 - 101p 0.101 14.08457539 - 101d 0.101 7.129125376 - 151s 0.101 26.76867588 - 151p 0.101 14.60612606 - 151d 0.101 6.501155465 - 201s 0.101 25.6357622 - 201p 0.101 15.93031384 - 201d 0.101 6.501439972 - 251s 0.101 25.799775 - 251p 0.101 16.18767453 - 251d 0.101 6.438813771 - 301s 0.101 25.22509251 - 301p 0.101 16.94296153 - 301d 0.101 6.199915586 - 351s 0.101 24.90034332 - 351p 0.101 16.21236557 - 351d 0.101 6.358372066 - 401s 0.101 26.57118519 - 401p 0.101 15.05514658 - 401d 0.101 6.648967921 - 451s 0.101 25.53284443 - 451p 0.101 16.24788592 - 451d 0.101 6.448798517 - Temperature for orbital 1 = 0.0804016 - Temperature for orbital 2 = 0.0804016 - Temperature for orbital 3 = 0.0804016 - new kappa=1.01 - 1s 0.0804 25.80416903 - 1p 0.0804 16.56006214 - 1d 0.0804 6.652792259 - 51s 0.0804 26.39604219 - 51p 0.0804 14.51941537 - 51d 0.0804 6.628689568 - 101s 0.0804 26.56518448 - 101p 0.0804 14.91171727 - 101d 0.0804 6.40079993 - 151s 0.0804 26.44046818 - 151p 0.0804 14.7443956 - 151d 0.0804 6.338915387 - 201s 0.0804 26.47184393 - 201p 0.0804 15.20952059 - 201d 0.0804 6.444584311 - 251s 0.0804 26.17006921 - 251p 0.0804 15.32737993 - 251d 0.0804 6.527346263 - 301s 0.0804 26.20035424 - 301p 0.0804 14.75709224 - 301d 0.0804 6.890219438 - 351s 0.0804 26.62434237 - 351p 0.0804 15.30781048 - 351d 0.0804 6.693932907 - 401s 0.0804 26.33707098 - 401p 0.0804 14.97498733 - 401d 0.0804 6.477676209 - 451s 0.0804 26.61952936 - 451p 0.0804 14.62631502 - 451d 0.0804 6.739112719 - Temperature for orbital 1 = 0.0643213 - Temperature for orbital 2 = 0.0643213 - Temperature for orbital 3 = 0.0643213 - new kappa=1.01 - 1s 0.0643 26.96636658 - 1p 0.0643 15.05844124 - 1d 0.0643 6.114774039 - 51s 0.0643 26.84028617 - 51p 0.0643 14.58457804 - 51d 0.0643 6.464503072 - 101s 0.0643 26.61524284 - 101p 0.0643 14.7608193 - 101d 0.0643 6.235737668 - 151s 0.0643 26.26063151 - 151p 0.0643 14.8921183 - 151d 0.0643 6.37627149 - 201s 0.0643 25.48645401 - 201p 0.0643 15.60701104 - 201d 0.0643 6.417846793 - 251s 0.0643 25.2450281 - 251p 0.0643 15.75029955 - 251d 0.0643 6.46400338 - 301s 0.0643 25.81383104 - 301p 0.0643 15.28950942 - 301d 0.0643 6.28806422 - 351s 0.0643 25.45640438 - 351p 0.0643 15.60504616 - 351d 0.0643 6.595647855 - 401s 0.0643 26.01392666 - 401p 0.0643 15.13610704 - 401d 0.0643 6.4951003 - 451s 0.0643 26.32995471 - 451p 0.0643 15.10247374 - 451d 0.0643 6.429459731 - Temperature for orbital 1 = 0.051457 - Temperature for orbital 2 = 0.051457 - Temperature for orbital 3 = 0.051457 - new kappa=1.01 - 1s 0.0515 25.67425155 - 1p 0.0515 15.51931471 - 1d 0.0515 6.493664398 - 51s 0.0515 25.6767945 - 51p 0.0515 15.18037143 - 51d 0.0515 6.518347694 - 101s 0.0515 25.65309904 - 101p 0.0515 15.35573079 - 101d 0.0515 6.607083361 - 151s 0.0515 25.81879854 - 151p 0.0515 15.26272591 - 151d 0.0515 6.403883818 - 201s 0.0515 25.47351784 - 201p 0.0515 15.48879141 - 201d 0.0515 6.491180377 - 251s 0.0515 25.59439385 - 251p 0.0515 15.35661736 - 251d 0.0515 6.73747466 - 301s 0.0515 25.61655145 - 301p 0.0515 15.16714293 - 301d 0.0515 6.743239915 - 351s 0.0515 25.44886373 - 351p 0.0515 15.51255131 - 351d 0.0515 6.400542011 - 401s 0.0515 25.58144614 - 401p 0.0515 15.10991857 - 401d 0.0515 6.634439639 - 451s 0.0515 26.1107637 - 451p 0.0515 15.06758956 - 451d 0.0515 6.255551613 - Temperature for orbital 1 = 0.0411656 - Temperature for orbital 2 = 0.0411656 - Temperature for orbital 3 = 0.0411656 - new kappa=1.01 - 1s 0.0412 26.0493607 - 1p 0.0412 14.95441561 - 1d 0.0412 6.267455848 - 51s 0.0412 25.64765183 - 51p 0.0412 15.45383789 - 51d 0.0412 6.205843943 - 101s 0.0412 25.9676965 - 101p 0.0412 14.83856396 - 101d 0.0412 6.456608623 - 151s 0.0412 26.0222611 - 151p 0.0412 15.10366429 - 151d 0.0412 6.484475617 - 201s 0.0412 25.84167413 - 201p 0.0412 14.95285074 - 201d 0.0412 6.417991304 - 251s 0.0412 25.40514199 - 251p 0.0412 15.40552435 - 251d 0.0412 6.391836593 - 301s 0.0412 25.73064582 - 301p 0.0412 15.41062119 - 301d 0.0412 6.393063652 - 351s 0.0412 25.76546361 - 351p 0.0412 15.21238376 - 351d 0.0412 6.443636115 - 401s 0.0412 26.34783504 - 401p 0.0412 14.49786784 - 401d 0.0412 6.646764929 - 451s 0.0412 26.79579584 - 451p 0.0412 14.55151669 - 451d 0.0412 6.319073175 - Temperature for orbital 1 = 0.0329325 - Temperature for orbital 2 = 0.0329325 - Temperature for orbital 3 = 0.0329325 - new kappa=1.01 - 1s 0.0329 26.45818194 - 1p 0.0329 14.64316094 - 1d 0.0329 6.270891472 - 51s 0.0329 25.76289419 - 51p 0.0329 15.06364174 - 51d 0.0329 6.521146127 - 101s 0.0329 25.82888983 - 101p 0.0329 15.05094978 - 101d 0.0329 6.25219022 - 151s 0.0329 26.06061515 - 151p 0.0329 14.97719797 - 151d 0.0329 6.353129669 - 201s 0.0329 25.7729493 - 201p 0.0329 14.73638382 - 201d 0.0329 6.495588227 - 251s 0.0329 26.23670707 - 251p 0.0329 14.5548042 - 251d 0.0329 6.383763437 - 301s 0.0329 26.28589745 - 301p 0.0329 14.45817567 - 301d 0.0329 6.237770013 - 351s 0.0329 26.094174 - 351p 0.0329 14.78606682 - 351d 0.0329 6.381721161 - 401s 0.0329 25.94594249 - 401p 0.0329 14.81208892 - 401d 0.0329 6.312659685 - 451s 0.0329 26.12163325 - 451p 0.0329 14.79066043 - 451d 0.0329 6.333235533 - Temperature for orbital 1 = 0.026346 - Temperature for orbital 2 = 0.026346 - Temperature for orbital 3 = 0.026346 - new kappa=1.01 - 1s 0.0263 26.08250044 - 1p 0.0263 14.6774487 - 1d 0.0263 6.611005627 - 51s 0.0263 25.84670355 - 51p 0.0263 14.81511356 - 51d 0.0263 6.34382471 - 101s 0.0263 25.78014199 - 101p 0.0263 14.97946446 - 101d 0.0263 6.305002605 - 151s 0.0263 25.84278467 - 151p 0.0263 14.75586173 - 151d 0.0263 6.442082538 - 201s 0.0263 25.82677235 - 201p 0.0263 14.88961345 - 201d 0.0263 6.335292119 - 251s 0.0263 25.924204 - 251p 0.0263 14.58933623 - 251d 0.0263 6.391695464 - 301s 0.0263 25.89351187 - 301p 0.0263 14.61534109 - 301d 0.0263 6.473405261 - 351s 0.0263 25.84495673 - 351p 0.0263 14.73357081 - 351d 0.0263 6.342476653 - 401s 0.0263 25.6679727 - 401p 0.0263 14.90408174 - 401d 0.0263 6.351955919 - 451s 0.0263 25.85202429 - 451p 0.0263 14.82953625 - 451d 0.0263 6.273970582 - Temperature for orbital 1 = 0.0210768 - Temperature for orbital 2 = 0.0210768 - Temperature for orbital 3 = 0.0210768 - new kappa=1.01 - 1s 0.0211 25.535221 - 1p 0.0211 15.20061268 - 1d 0.0211 6.283215989 - 51s 0.0211 25.53004414 - 51p 0.0211 15.16221758 - 51d 0.0211 6.387149938 - 101s 0.0211 25.71956405 - 101p 0.0211 15.19531986 - 101d 0.0211 6.324016932 - 151s 0.0211 25.62791271 - 151p 0.0211 15.23334183 - 151d 0.0211 6.387440375 - 201s 0.0211 25.68967139 - 201p 0.0211 14.9983746 - 201d 0.0211 6.255762049 - 251s 0.0211 25.83071454 - 251p 0.0211 14.69283911 - 251d 0.0211 6.457066047 - 301s 0.0211 25.79718971 - 301p 0.0211 14.89890604 - 301d 0.0211 6.224657325 - 351s 0.0211 25.88755813 - 351p 0.0211 14.81878778 - 351d 0.0211 6.321493829 - 401s 0.0211 25.78502656 - 401p 0.0211 14.8045349 - 401d 0.0211 6.382430445 - 451s 0.0211 25.6556047 - 451p 0.0211 14.78968773 - 451d 0.0211 6.467683082 - Temperature for orbital 1 = 0.0168614 - Temperature for orbital 2 = 0.0168614 - Temperature for orbital 3 = 0.0168614 - new kappa=1.01 - 1s 0.0169 25.60081248 - 1p 0.0169 14.7535336 - 1d 0.0169 6.564782724 - 51s 0.0169 25.57325598 - 51p 0.0169 14.8732399 - 51d 0.0169 6.313725466 - 101s 0.0169 25.65253921 - 101p 0.0169 14.72236467 - 101d 0.0169 6.529704865 - 151s 0.0169 25.57244994 - 151p 0.0169 14.79605118 - 151d 0.0169 6.402900008 - 201s 0.0169 25.78392092 - 201p 0.0169 14.73367005 - 201d 0.0169 6.370160803 - 251s 0.0169 25.79857288 - 251p 0.0169 14.71989195 - 251d 0.0169 6.345028717 - 301s 0.0169 25.64633906 - 301p 0.0169 14.83123636 - 301d 0.0169 6.365175647 - 351s 0.0169 25.88425149 - 351p 0.0169 14.56728512 - 351d 0.0169 6.432249933 - 401s 0.0169 25.71058371 - 401p 0.0169 14.6873394 - 401d 0.0169 6.4148066 - 451s 0.0169 25.56473341 - 451p 0.0169 14.82431108 - 451d 0.0169 6.408022641 - Temperature for orbital 1 = 0.0134892 - Temperature for orbital 2 = 0.0134892 - Temperature for orbital 3 = 0.0134892 - new kappa=1.01 - 1s 0.0135 25.52231626 - 1p 0.0135 14.95790021 - 1d 0.0135 6.277784551 - 51s 0.0135 25.52331378 - 51p 0.0135 15.01090972 - 51d 0.0135 6.253447614 - 101s 0.0135 25.28989054 - 101p 0.0135 15.05682143 - 101d 0.0135 6.417908857 - 151s 0.0135 25.32602525 - 151p 0.0135 15.03167125 - 151d 0.0135 6.399327215 - 201s 0.0135 25.67023414 - 201p 0.0135 14.81798677 - 201d 0.0135 6.241213669 - 251s 0.0135 25.57572419 - 251p 0.0135 14.87592317 - 251d 0.0135 6.303751063 - 301s 0.0135 25.3878796 - 301p 0.0135 15.02208482 - 301d 0.0135 6.378682399 - 351s 0.0135 25.37798809 - 351p 0.0135 14.96765003 - 351d 0.0135 6.437441094 - 401s 0.0135 25.33054398 - 401p 0.0135 15.01570326 - 401d 0.0135 6.3753643 - 451s 0.0135 25.59412327 - 451p 0.0135 14.9065055 - 451d 0.0135 6.355837484 - Temperature for orbital 1 = 0.0107913 - Temperature for orbital 2 = 0.0107913 - Temperature for orbital 3 = 0.0107913 - new kappa=1.01 - - mkb_information. - - NBANDS=8 STRNUM=5 - - NBANDS=8 STRNUM=5 diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/INPUT b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/INPUT deleted file mode 100644 index f0069dd7b0..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/INPUT +++ /dev/null @@ -1,26 +0,0 @@ -INPUT_PARAMETERS -suffix N-6-3.0 -latname N-6-3.0 -stru_file 07_N.stru -pseudo_dir ../../../../data/elements/07_N/1_LDA/ -kpoint_file KPOINTS -wannier_card INPUTw -calculation scf -ntype 1 -nspin 1 -lmaxmax 2 - -symmetry 0 -nbands 8 - -ecutwfc 50 -scf_thr 1.0e-7 // about iteration -scf_nmax 1000 - -smearing_method gauss -smearing_sigma 0.01 - -mixing_type pulay // about charge mixing -mixing_beta 0.4 -mixing_ndim 8 -printe 1 diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/INPUTs b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/INPUTs deleted file mode 100644 index 6fdb094b87..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/INPUTs +++ /dev/null @@ -1,8 +0,0 @@ -INPUT_ORBITAL_INFORMATION - -1 // smooth or not -0.1 // smearing_sigma -50 // energy cutoff for spherical bessel functions(Ry) -6 // cutoff of wavefunctions(a.u.) -1.0e-12 // tolerence - diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/INPUTw b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/INPUTw deleted file mode 100644 index 707219528d..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/07_N/INPUTw +++ /dev/null @@ -1,3 +0,0 @@ -WANNIER_PARAMETERS -rcut 10 -out_spillage 2 diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/DIS.txt b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/DIS.txt deleted file mode 100644 index 2f29b7d239..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/DIS.txt +++ /dev/null @@ -1,102 +0,0 @@ -01_H 0.6 0.75 0.9 1.2 1.5 -02_He 1.25 1.75 2.40 3.25 -03_Li 1.5 2.1 2.5 2.8 3.2 3.5 4.2 -04_Be 1.75 2.0 2.375 3.00 4.00 -05_B 1.25 1.625 2.5 3.5 -06_C 1.0 1.25 1.5 2.0 3.0 -07_N 1.0 1.1 1.5 2.0 3.0 -08_O 1.0 1.208 1.5 2.0 3.0 -09_F 1.2 1.418 1.75 2.25 3.25 -100_Fm 1.98 2.375 2.75 3.25 4.25 -101_Md 2.08 2.50 3.00 3.43 4.25 -102_No 2.60 3.125 3.75 4.27 5.00 -10_Ne 1.5 1.75 2.25 2.625 3.0 3.5 -11_Na 2.05 2.4 2.8 3.1 3.3 3.8 4.3 -12_Mg 2.125 2.375 2.875 3.375 4.5 -13_Al 2.0 2.5 3.0 3.75 4.5 -14_Si 1.75 2.0 2.25 2.75 3.75 -15_P 1.625 1.875 2.5 3.25 4.0 -16_S 1.6 1.9 2.5 3.25 4.0 -17_Cl 1.65 2.0 2.5 3.25 4.0 -18_Ar 2.25 2.625 3.0 3.375 4.0 -19_K 1.8 2.6 3.4 3.8 4.0 4.4 4.8 -20_Ca 2.5 3.0 3.5 4.0 5.0 -21_Sc 1.75 2.15 2.75 3.5 4.5 -22_Ti 1.6 1.85 2.5 3.25 4.25 -23_V 1.45 1.65 2.25 3.00 4.00 -24_Cr 1.375 1.55 2.00 2.75 3.75 -25_Mn 1.40 1.60 2.10 2.75 3.75 -26_Fe 1.45 1.725 2.25 3.00 4.00 -27_Co 1.8 2.0 2.5 3.5 -28_Ni 1.65 2.00 2.50 3.00 4.00 -29_Cu 1.8 2.2 3.0 4.0 -30_Zn 2.00 2.30 2.85 3.50 4.25 -31_Ga 1.85 2.10 2.45 3.00 4.00 -32_Ge 1.80 2.00 2.35 3.00 4.00 -33_As 1.75 2.10 2.50 3.00 4.00 -34_Se 1.85 2.15 2.50 3.00 4.00 -35_Br 1.90 2.25 2.75 3.25 4.00 -36_Kr 2.40 3.00 3.675 4.25 5.00 -37_Rb 2.45 3.00 4.00 5.00 -38_Sr 2.75 3.50 4.40 5.00 -39_Y 2.125 2.5 2.875 3.25 4.00 5.00 -40_Zr 1.9 2.25 3.00 4.00 -41_Nb 1.75 2.05 2.40 3.00 4.00 -42_Mo 1.675 1.9 2.375 3.00 4.00 -43_Tc 1.70 1.915 2.375 3.00 4.00 -44_Ru 1.725 1.925 2.375 3.00 4.00 -45_Rh 1.80 2.10 2.50 3.00 4.00 -46_Pd 2.0 2.275 2.75 3.75 -47_Ag 2.1 2.45 3.00 4.00 -48_Cd 2.15 2.50 3.10 4.00 5.00 -49_In 2.15 2.50 3.00 3.75 4.75 -50_Sn 2.10 2.40 3.75 3.50 4.50 -51_Sb 2.10 2.50 3.00 3.50 4.50 -52_Te 2.15 2.55 3.10 3.60 4.50 -53_I 2.22 2.65 3.25 4.25 -54_Xe 3.0 3.5 4.06 4.50 5.25 -55_Cs 2.70 3.50 4.50 5.50 -56_Ba 2.65 3.00 3.50 4.40 5.50 -57_La 2.2 2.6 3.25 4.00 5.00 -58_Ce 2.0 2.375 2.875 3.5 4.5 -59_Pr 1.90 2.25 2.75 3.5 4.5 -60_Nd 1.80 2.125 2.625 3.375 4.5 -61_Pm 1.775 2.05 2.5 3.25 4.25 -62_Sm 1.775 2.05 2.5 3.25 4.25 -63_Eu 1.775 2.075 2.5 3.25 4.25 -64_Gd 1.80 2.11 2.625 3.375 4.1 5.0 -65_Tb 1.825 2.16 2.625 3.375 4.1 5.0 -66_Dy 1.85 2.24 2.625 3.375 4.1 5.0 -67_Ho 1.93 2.375 3.0 4.1 5.0 -68_Er 2.025 2.5 3.125 4.1 5.0 -69_Tm 2.20 2.625 3.25 4.1 5.0 -70_Yb 2.5 3.0 3.5 4.1 5.0 -71_Lu 2.20 2.50 3.04 4.0 5.0 -72_Hf 1.975 2.49 3.25 4.50 -73_Ta 1.85 2.12 2.625 3.25 4.50 -74_W 1.775 1.99 2.50 3.25 4.50 -75_Re 1.775 2.01 2.50 3.25 4.25 -76_Os 1.80 2.04 2.50 3.25 4.50 -77_Ir 1.85 2.125 2.5 3.25 4.25 -78_Pt 2.00 2.275 2.75 3.75 -79_Au 2.10 2.45 3.00 4.00 -80_Hg 2.225 2.50 3.04 4.00 5.00 -81_Tl 2.21 2.60 3.11 3.75 4.75 -82_Pb 2.225 2.50 2.88 3.625 4.50 -83_Bi 2.225 2.61 3.125 3.75 4.75 -84_Po 2.30 2.72 3.25 3.875 4.75 -85_At 2.375 2.83 3.50 4.50 -86_Rn 2.80 3.50 4.17 4.75 5.50 -87_Fr 2.85 3.50 4.43 5.50 -88_Ra 3.15 3.50 4.25 5.12 6.00 -89_Ac 2.48 3.10 3.72 4.25 5.00 -90_Th 2.25 2.65 3.25 4.00 5.00 -91_Pa 2.04 2.30 3.00 3.75 4.75 -92_U 1.89 2.09 2.75 3.50 4.50 -93_Np 1.84 2.05 2.625 3.375 4.50 -94_Pu 1.81 2.02 2.5 3.25 4.25 -95_Am 1.81 2.03 2.5 3.25 4.25 -96_Cm 1.83 2.07 2.5 3.25 4.25 -97_Bk 1.86 2.12 2.5 3.0 4.0 -98_Cf 1.89 2.19 2.625 3.125 4.0 -99_Es 1.93 2.29 2.625 3.125 4.0 diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/ORBITAL_INPUT b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/ORBITAL_INPUT deleted file mode 100644 index a3c977d874..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/ORBITAL_INPUT +++ /dev/null @@ -1,51 +0,0 @@ -#1.exe_dir -#-------------------------------------------------------------------------------- -EXE_pw ../../../../bin/ABACUS.fp_mpi.x -EXE_orbital ../../../1_Source/SIA_s.exe -#-------------------------------------------------------------------------------- -#( In this part, the direction of the two used exe is provided ) - -#2.electronic calculatation -#-------------------------------------------------------------------------------- -targets 07_N # element -ref_bands 5 # reference bands -nbands 8 # num of bands for calculate ( > reference bands) -Ecut 50 # cutoff energy (in Ry) -Rcut 6 # cutoff radius (in a.u.) -Pseudo_dir ../../../../data/elements/07_N/1_LDA/ -Pseudo N.LDA.UPF -smearing_sigma 0.01 # energy range for gauss smearing (in Ry) -#-------------------------------------------------------------------------------- -#( In this part , some parameters of calculating are given ) - -#3.structure information -#-------------------------------------------------------------------------------- -Dis 1.0 1.1 1.5 2.0 3.0 -#-------------------------------------------------------------------------------- -#( In this part , it gives us the bond length of the reference system( in -#angstrom) ) - -#4.orbital calculatation -#-------------------------------------------------------------------------------- -maxL 2 # the max angular momentum -Level 2 # num of levels to generate orbitals(<=5) -#(num) (the max ang) (num of S) (num of P) (num of D) (num of F) (num of G) -level1 1 1 1 -level2 2 1 1 1 -#-------------------------------------------------------------------------------- -#( In this part, some information of orbital is given ) - -#5.Metropolis parameters (in most cases do not need to change) -#-------------------------------------------------------------------------------- -Start_tem_S 1.0e-4 # start temperature for optimize Spillage (default 1.0e-4) -Start_tem_K 1.0e-2 # start temperature for optimize Kinetic (default 1.0e-2) -Step_S 20 # num of steps for optimize Spillage (default 20) -Step_K 15 # num of steps for optimize Kinetic (default 15) -Delta_kappa 0.01 # delta kappa (default 0.01) -#-------------------------------------------------------------------------------- -#( In this part , some parameters of Metropolis is given . In most cases , they -#do not need to be changed , only when you run into a situation , that the -#Kinnetic energy is larger than the maximum value allowed , you can enlarge -#the start temperature appropritely , or you can enlarge the delta_kappa, e.g. -#start_tem_k 1.0e-2 to 5.0e-1, delta_kappa 0.01 to 0.02. more steps can make -#the orbitals better , too) diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/README b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/README deleted file mode 100644 index 974be0126b..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/README +++ /dev/null @@ -1,4 +0,0 @@ -http://abacus.ustc.edu.cn/manual_411.html can be a reference to generate orbitals. - -First, change some parameter in ORBITAL_INPUT, for EXE_pw, EXE_orbital and Pseudo_dir, you'd better use the absolute path; -Second, run the script: ./generate_orbital.sh diff --git a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/generate_orbital.sh b/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/generate_orbital.sh deleted file mode 100644 index 074addb35d..0000000000 --- a/tools/SIAB/SimulatedAnnealing/backup_old_version/2_Generate/generate_orbital.sh +++ /dev/null @@ -1,470 +0,0 @@ -#!/bin/bash -# author mohan -# edit by Pengfei Li 2013-6-4 -# edit by Wenshuai Zhang 2016-11-30 -#----------------------------------------------------------------- -# -# (0.0) fixed parameters -# -#----------------------------------------------------------------- -mass=1 #not used yet. -lat0=20 #in a.u -cpu_num=8 -export OMP_NUM_THREADS=1 -#hostfpath="/home/nic/wszhang/eclipse_project/mesia_dft/error_estimates_for_DFT/cif2cellroot/0abacus_lcao/myhosts" -#hostfpath="/home/nic/wszhang/eclipse_project/mesia_dft/delta_test/delta_dft/cifs2deltaDFT/myhosts" -#----------------------------------------------------------------- -# -# (0.1) input parameters -# -#----------------------------------------------------------------- -# (0.1.1) get exe -EXE_pw=`grep "EXE_pw" ORBITAL_INPUT | awk -F "EXE_pw" '{print $0}' | awk '{print $2}'` - -# (0.1.2)get SIA -EXE_orbital=`grep "EXE_orbital" ORBITAL_INPUT | awk -F "EXE_orbital" '{print $0}' | awk '{print $2}'` - -# (0.1.3)get the targets element and id -targets=`grep "targets" ORBITAL_INPUT | awk -F "targets" '{print $0}' | awk '{print $2}'` - -for name in $targets; do - -element=`echo "$name" | awk -F "_" '{print $2}'` -id=`echo "$name" | awk -F "_" '{print $1}'` - -# (0.1.4)get the nbands -nbands=`grep "nbands" ORBITAL_INPUT | awk -F "nbands" '{print $0}' | awk '{print $2}'` - -# (0.1.5)get the ref_bands -ref_bands=`grep "ref_bands" ORBITAL_INPUT | awk -F "$ref_bands" '{print $0}' | awk '{print $2}'` - -# (0.1.6)get the pseudo_dir -pseudo_dir=`grep "Pseudo_dir" ORBITAL_INPUT | awk -F "Pseudo_dir" '{print $0}' | awk '{print $2}'` - -# (0.1.7)get maxL S P D -maxL=`grep "maxL" ORBITAL_INPUT | awk -F "maxL" '{print $0}' | awk '{print $2}'` - -#if ( test $maxL = 0 ) // mohan's scheme -#then -#S_MIN=1 -#P_MIN=" " -#D_MIN=" " -#elif ( test $maxL = 1 ) -#then -#S_MIN=1 -#P_MIN=1 -#D_MIN=" " -#else -#S_MIN=1 -#P_MIN=1 -#D_MIN=1 -#fi - -# (0.1.8)get the level -Level=`grep "Level" ORBITAL_INPUT | awk -F "level" '{print $0}' | awk '{print $2}'` - -# (0.1.9)get every level`s lmax s p d f g -L[0]=`grep "level1" ORBITAL_INPUT | awk -F "level1" '{print $2}'` -L[1]=`grep "level2" ORBITAL_INPUT | awk -F "level2" '{print $2}'` -L[2]=`grep "level3" ORBITAL_INPUT | awk -F "level3" '{print $2}'` -L[3]=`grep "level4" ORBITAL_INPUT | awk -F "level4" '{print $2}'` -L[4]=`grep "level5" ORBITAL_INPUT | awk -F "level5" '{print $2}'` -L[5]=`grep "level6" ORBITAL_INPUT | awk -F "level6" '{print $2}'` -L[6]=`grep "level7" ORBITAL_INPUT | awk -F "level7" '{print $2}'` -L[7]=`grep "level8" ORBITAL_INPUT | awk -F "level8" '{print $2}'` -L[8]=`grep "level9" ORBITAL_INPUT | awk -F "level9" '{print $2}'` - -# (0.1.10)get some parameters for METROPOLIS -Start_tem_S_in=`grep "Start_tem_S" ORBITAL_INPUT | awk -F "Start_tem_S" '{print $0}' | awk '{print $2}'` -if ( test $Start_tem_S_in != " ") -then -Start_tem_S=$Start_tem_S_in -else -Start_tem_S=1.0e-4 #default -fi - - -Start_tem_K_in=`grep "Start_tem_K" ORBITAL_INPUT | awk -F "Start_tem_K" '{print $0}' | awk '{print $2}'` -if ( test $Start_tem_K_in != " " ) -then -Start_tem_K=$Start_tem_K_in -else -Start_tem_K=1.0e-2 #default -fi - -Step_S_in=`grep "Step_S" ORBITAL_INPUT | awk -F "Step_S" '{print $0}' | awk '{print $2}'` -if ( test $Step_S_in != " " ) -then -Step_S=$Step_S_in -else -Step_S=20 #default -fi - -Step_K_in=`grep "Step_K" ORBITAL_INPUT | awk -F "Step_K" '{print $0}' | awk '{print $2}'` -if ( test $Step_K_in != " ") -then -Step_K=$Step_K_in -else -Step_K=15 #default -fi - -Delta_kappa_in=`grep "Delta_kappa" ORBITAL_INPUT | awk -F "Delta_kappa" '{print $0}' | awk '{print $2}'` -Delta_kappa=$Delta_kappa_in -#echo "Delta_kappa=$Delta_kappa" - -# (0.1.11) calculate the number of different dimers or trimers. -info=`grep "Dis" ORBITAL_INPUT | awk -F "Dis" '{print $2}'` -echo "info=$info" -dimers_number=`echo "$info" | awk '// {print NF}'` -echo "dimers_number=$dimers_number" - -# (0.1.12) get the ecut -ecut=`grep "Ecut" ORBITAL_INPUT | awk -F "Ecut" '{print $0}' | awk '{print $2}'` - -# (0.1.13) get the info about rcut,pseudo -info_r=`grep "Rcut" ORBITAL_INPUT | awk -F "Rcut" '{print $0}' | awk '{print $2}'` -rcut_number=`echo "$info_r" | awk '// {print NF}'` -echo "ecut=$ecut, info_r=$info_r, rcut_number=$rcut_number" - -# (0.1.14) get the pseudopotential -pseudofile=`grep "Pseudo " ORBITAL_INPUT | awk -F "Pseudo " '{print $0}' | awk '{print $2}'` -echo "pseudo=$pseudofile" - -# (0.1.15) get the smearing -smearing_sigma=`grep "smearing_sigma " ORBITAL_INPUT | awk -F "smearing_sigma " '{print $0}' | awk '{print $2}'` -echo "smearing_sigma=$smearing_sigma" - -#----------------------------------------------------------------- -# -# (1) big cicle, cicle of targets -# -#----------------------------------------------------------------- - -# (1.1) output which element you want to calculate - -echo "--------------------------> $element" - -# (1.2) make the dir, the name is 'name' -if ( test -d $name ) -then - echo "The dir exist: $name" -else - echo "make dir: $name" - mkdir $name -fi - -# (1.3) enter the name dir -cd $name - -# (1.4) another big cicle come: the rcut cicle. -count_r=1 -while [ $count_r -le $rcut_number ] -do - - # (1.4.1) - rcut=`echo "$info_r" | awk '{print $'$count_r'}' ` - echo "rcut=$rcut" - - - # (1.4.2) enter the third big cicle : the dimer distance cicle. - count=1 - while [ $count -le $dimers_number ] - do - - # (1.4.2.0) calculate the distance of dimers - dis=`echo "$info" | awk '{print $'$count'}' ` - dis1=$(echo "scale=5;$dis * 0.86603 "|bc) - dis2=$(echo "scale=5;$dis * 0.5 "|bc) - dis3=$(echo "scale=5;$dis * 0.81649 "|bc) - dis4=$(echo "scale=5;$dis * 0.28867 "|bc) - echo "dis=$dis" - - -# (1.4.2.1) get the" structures" -if ( test $element = Na -o $element = Li -o $element = K -o $element = Ca ) -then -echo "use trimer" -na=3 -cat > $name.stru << EOF -ATOMIC_SPECIES -$element $mass $pseudofile -LATTICE_CONSTANT -$lat0 // add lattice constant(a.u.) -LATTICE_VECTORS -1 0 0 -0 1 0 -0 0 1 -ATOMIC_POSITIONS -Cartesian_angstrom //Cartesian or Direct coordinate. -$element //Element Label -0.0 //starting magnetism -3 //number of atoms -0.0 0.0 0.0 0 0 0 // crystal coor. -0.0 0.0 $dis 0 0 0 -0.0 $dis1 $dis2 0 0 0 -EOF - -#elif ( test $element = Mn -o $element = Fe ) -#then -#echo "use tetramer" -#na=4 -#cat > $name.stru << EOF -#ATOMIC_SPECIES -#$element $mass $pseudofile -#LATTICE_CONSTANT -#$lat0 // add lattice constant(a.u.) -#LATTICE_VECTORS -#1 0 0 -#0 1 0 -#0 0 1 -#ATOMIC_POSITIONS -#Cartesian_angstrom //Cartesian or Direct coordinate. -#$element //Element Label -#0.0 //starting magnetism -#4 //number of atoms -#0.0 0.0 0.0 0 0 0 // crystal coor. -#0.0 0.0 $dis 0 0 0 -#0.0 $dis1 $dis2 0 0 0 -#$dis3 $dis4 $dis2 0 0 0 -#EOF - -else -echo "use dimer" -na=2 -cat > $name.stru << EOF -ATOMIC_SPECIES -$element $mass $pseudofile -LATTICE_CONSTANT -$lat0 // add lattice constant(a.u.) -LATTICE_VECTORS -1 0 0 -0 1 0 -0 0 1 -ATOMIC_POSITIONS -Cartesian_angstrom //Cartesian or Direct coordinate. -$element //Element Label -0.0 //starting magnetism -2 //number of atoms -0.0 0.0 0.0 0 0 0 // crystal coor. -0.0 0.0 $dis 0 0 0 -EOF -fi - -# (1.4.2.2) get KPOINTS -cat > KPOINTS << EOF -K_POINTS -0 -Gamma -1 1 1 0 0 0 -EOF - -# (1.4.2.3) get INPUTw -cat > INPUTw << EOF -WANNIER_PARAMETERS -rcut 10 -out_spillage 2 -EOF - - -# (1.4.2.4) get INPUTs -cat > INPUTs << EOF -INPUT_ORBITAL_INFORMATION - -1 // smooth or not -0.1 // smearing_sigma -$ecut // energy cutoff for spherical bessel functions(Ry) -$rcut // cutoff of wavefunctions(a.u.) -1.0e-12 // tolerence - -EOF - - -# (1.4.2.5) get INPUT -cat > INPUT << EOF -INPUT_PARAMETERS -suffix $element-$rcut-$dis -latname $element-$rcut-$dis -stru_file $name.stru -pseudo_dir $pseudo_dir -kpoint_file KPOINTS -wannier_card INPUTw -calculation scf -ntype 1 -nspin 1 -lmaxmax $maxL - -symmetry 0 -nbands $nbands - -ecutwfc $ecut -scf_thr 2.0e-8 // about iteration -scf_nmax 1000 - -smearing_method gauss -smearing_sigma $smearing_sigma - -mixing_type pulay // about charge mixing -mixing_beta 0.4 -mixing_ndim 8 -printe 1 -EOF - -let count++ - -# (1.4.2.6) -#test -e ../node_openmpi && cp ../node_openmpi . - -#------------- -#on Dirac -#------------- -#/opt/openmpi/bin/mpirun -np $cpu_number -machinefile node_openmpi $exe - -#------------- -#on Einstein -#------------- -#mpiexec -np $cpu_num -machinefile node_openmpi $EXE_pw -#mpiexec -np $1 -machinefile $EXE_pw -mpirun -np $cpu_num $EXE_pw -#mpirun -np $cpu_num -hostfile $hostfpath $EXE_pw - -#$EXE_pw - -#mpiexec -n 12 -machinefile $PBS_NODEFILE $EXE_pw >> Log.txt -# end (1.4.2), dimer distace cicle -done - -# (1.4.3) mkdir of rcut -test -d $rcut || mkdir $rcut -# (1.4.3.1) -cd $rcut - -# (1.4.3.2) prepare for the INPUT file -cat > INPUT << EOF - -1 // if or not calculate the spillage. 1/0 -0 // restart or not. 1/0 -1 // if or not output the file. 1/0 -$dimers_number // number of structures. -EOF - -# (1.4.3.3) input the file names -count_files=1 -while [ $count_files -le $dimers_number ] -do -dis=`echo "$info" | awk '{print $'$count_files'}' ` -cat >> INPUT << EOF -../$element-$rcut-$dis.$lat0.dat -EOF -let count_files++ -done - -cat >> INPUT << EOF - - - -1 //number of k points -1 // number of pools - - - -100 - - - -2 - - - -$Start_tem_S // Start temparature for spillage -0.8 // Cooling rate -$Step_S // Number of temperatures(spillage) -600 // Number of steps per temparature - -$Start_tem_K // start temperature for kinetic energy -0.8 // Cooling rate -$Step_K // Number of temperatures(kinetical) -600 // Number of steps per temparature - -$Delta_kappa // Delta kappa -50 // Selectly output information - -100 // Acceptance_steps -0.4 // Acceptance_high -0.2 // Acceptance_low - -100 // Max kinetic energy(Rydberg). -0.01 // 'dr' for kinetic minimized. -1 // 1: Kin 2: Ecut - - - - -1 // to control the number of bands.(Yes1/No0) -1 // int, the start band index(>0). -$ref_bands // int, the ed band index( -EOF - -cat >> INPUT << EOF - -$Level // Number of levels. -label / na / skip / lmax / each L / -EOF - -for((i=0;i<$Level;i++)) -do -cat >> INPUT << EOF -$id $na new ${L[i]} -EOF -done - -cat >> INPUT << EOF - -EOF - -cat >> INPUT << EOF - -0.01 //dr(a.u.) of uniform mesh. Attention!!dr will affect kinetic energy minmized largely. --6 //xmin -1 //zed, chosen as valence charge. -0.01 //dx -6.0 //xmax - - - -0 -2 -./FILE/Si-S.ORBITAL -0 -./FILE/Si-P.ORBITAL -1 - - - -0 // 'yes' to do this. -14.0 // rcut, only useful for test program -0.01 // dr, for simpson integral -2 // test eigenvalue index -2 // lmax - - -EOF - -#mpiexec -n 1 -machinefile $PBS_NODEFILE $EXE_orbital >> Log.txt -$EXE_orbital -#mpirun -np cpu_num $EXE_orbital - -# (1.4.3.5) -cd .. - -let count_r++ -# end(1.4), rcut cicle -done - -# (1.5) exit the name dir. -cd .. - -done -# end targets cicle - -unset OMP_NUM_THREADS diff --git a/tools/SIAB/SimulatedAnnealing/source/Makefile b/tools/SIAB/SimulatedAnnealing/source/Makefile index 8c2cdca19f..aa6ff02147 100644 --- a/tools/SIAB/SimulatedAnnealing/source/Makefile +++ b/tools/SIAB/SimulatedAnnealing/source/Makefile @@ -1,30 +1,28 @@ #=========================================================== # AUTHOR : mohan # DATE START FROM : 2009-04-14 +# LAST UPDATE : 2025-08-28 # FUNCTION : spillage makefile #=========================================================== -### Dirac -#CPLUSPLUS =CXX -O3 -w -ffast-math -funroll-loops -#CPLUSPLUS = /export/soft/intel2015/impi/5.0.2.044/intel64/bin/mpiicpc -#CXXFLAGS = -std=c++11 -O3 -openmp -#CPLUSPLUS_GPROF = g++ -gp -#CPLUSPLUS_MPI = /opt/openmpi/bin/mpicxx -O3 -w -#CPLUSPLUS_MPI=/export/soft/intel2015/impi/5.0.2.044/intel64/bin/mpiicpc +MKLROOT=/home/mohan/intel/oneapi/mkl/021.3.0/ -### Einstein -#CPLUSPLUS_MPI = /opt/openmpi-intel9/bin/mpicxx -O3 -w +#------------------------------ +# for serial version: make s +#------------------------------ +CPLUSPLUS = icpc -#LIBS=-L/export/soft/intel2015/composer_xe_2015.1.133/mkl/lib/intel64 -i-dynamic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -lpthread \ +#------------------------------ +# for parallel version: make p +#------------------------------ +#CPLUSPLUS = mpiicpc -### Version TC4600 wszhang -CPLUSPLUS = mpiicpc -CPLUSPLUS_MPI = mpiicpc -CXXFLAGS = -std=c++11 -O2 -xCORE-AVX2 -align -fma -ftz -fomit-frame-pointer -finline-functions \ - -I${MKLROOT}/include -I${MKLROOT}/include/intel64/ilp64 -LIBS = -L${MKLROOT}/lib/intel64 \ - -lmkl_blacs_intelmpi_lp64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -limf +CXXFLAGS = -std=c++11 -O3 - +#CXXFLAGS = -std=c++11 -O2 -xCORE-AVX2 -align -fma -ftz -fomit-frame-pointer -finline-functions \ + -I${MKLROOT}/include -I${MKLROOT}/include/intel64/ilp64 \ + -lmkl_blacs_intelmpi_lp64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -limf + +LIBS=-L${MKLROOT}/lib/intel64 -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -liomp5 -lpthread -lm TOOLS_OBJS=src_tools/mathzone.o \ src_tools/matrix.o \ @@ -86,7 +84,7 @@ s : ${OBJS} ${CPLUSPLUS} ${CXXFLAGS} -o SIA_s.exe ${OBJS} ${LIBS} p : ${OBJS} - $(CPLUSPLUS_MPI) -D__MPI ${CXXFLAGS} -o SIA_p.exe $(OBJS) $(LIBS) + ${CPLUSPLUS} -D__MPI ${CXXFLAGS} -o SIA_p.exe ${OBJS} ${LIBS} note : @echo 'atom type label : it ' @@ -117,7 +115,6 @@ note : .cpp.o: ${CPLUSPLUS} ${CXXFLAGS} -c $< -o $@ -# $(CPLUSPLUS_MPI) -c -D__MPI $< -o $@ .PHONY:clean clean: diff --git a/tools/SIAB/SimulatedAnnealing/source/Makefile_hanhai20_hpcx2.9_intel2019 b/tools/SIAB/SimulatedAnnealing/source/Makefile_hanhai20_hpcx2.9_intel2019 deleted file mode 100644 index 4c58a4e778..0000000000 --- a/tools/SIAB/SimulatedAnnealing/source/Makefile_hanhai20_hpcx2.9_intel2019 +++ /dev/null @@ -1,124 +0,0 @@ -#=========================================================== -# AUTHOR : mohan -# DATE START FROM : 2009-04-14 -# FUNCTION : spillage makefile -#=========================================================== -### Dirac -#CPLUSPLUS =CXX -O3 -w -ffast-math -funroll-loops -#CPLUSPLUS = /export/soft/intel2015/impi/5.0.2.044/intel64/bin/mpiicpc -#CXXFLAGS = -std=c++11 -O3 -openmp -#CPLUSPLUS_GPROF = g++ -gp -#CPLUSPLUS_MPI = /opt/openmpi/bin/mpicxx -O3 -w -#CPLUSPLUS_MPI=/export/soft/intel2015/impi/5.0.2.044/intel64/bin/mpiicpc - -### Einstein -#CPLUSPLUS_MPI = /opt/openmpi-intel9/bin/mpicxx -O3 -w - -#LIBS=-L/export/soft/intel2015/composer_xe_2015.1.133/mkl/lib/intel64 -i-dynamic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -lpthread \ - -### Version TC4600 wszhang -CPLUSPLUS = /opt/hpcx/2.9.0/ompi-icc/2019.update5/bin/mpicxx -CPLUSPLUS_MPI = /opt/hpcx/2.9.0/ompi-icc/2019.update5/bin/mpicxx -CXXFLAGS = -std=c++11 -O2 -xCORE-AVX2 -align -fma -ftz -fomit-frame-pointer -finline-functions \ - -I${MKLROOT}/include -I${MKLROOT}/include/intel64/ilp64 -LIBS = -L${MKLROOT}/lib/intel64 \ - -lmkl_blacs_intelmpi_lp64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -limf - - - -TOOLS_OBJS=src_tools/mathzone.o \ - src_tools/matrix.o \ - src_tools/matrix3.o \ - src_tools/realarray.o \ - src_tools/intarray.o \ - src_tools/complexmatrix.o \ - src_tools/complexarray.o\ - src_tools/timer.o \ - src_tools/inverse_matrix.o\ - src_tools/inverse_matrix_iterate.o\ - src_tools/Simulated_Annealing.o\ - -SPILLAGE_OBJS=src_spillage/main.o \ - src_spillage/read_INPUT.o\ - src_spillage/ReadData.o\ - src_spillage/Calculate_C4.o\ - src_spillage/Coefficients.o\ - src_spillage/MultiZeta.o\ - src_spillage/SpillageStep.o\ - src_spillage/SpillageValue.o\ - src_spillage/Step_Data.o\ - src_spillage/Inverse_Matrix_S.o\ - src_spillage/Orthogonal.o\ - src_spillage/Type_Information.o\ - src_spillage/Metropolis.o\ - src_spillage/Metropolis_2.o\ - src_spillage/Out_Orbital.o\ - src_spillage/Plot_Psi.o\ - src_spillage/Psi_Second.o\ - src_spillage/tools.o \ - src_spillage/common.o \ - -PARALLEL_OBJS=src_parallel/parallel_global.o\ - src_parallel/parallel_common.o\ - src_parallel/parallel_reduce.o\ - src_parallel/parallel_kpoints.o - -PW_OBJS=src_pw/pw_basis.o\ - src_pw/pw_complement.o\ - src_pw/heapsort.o\ - src_pw/numerical_basis.o\ - src_pw/bessel_basis.o\ - src_pw/ylm_real.o\ - src_pw/memory_calculation.o\ - -OBJS = ${TOOLS_OBJS} \ - ${SPILLAGE_OBJS} \ - ${PARALLEL_OBJS} \ - ${PW_OBJS}\ - -help : - @echo 'make target list: ' - @echo 's : Series version of Monte Carlo Spillage Program.' - @echo 'p : Parallel Version of Monte Carlo Spillage Program.' - @echo 'note : some notes.' - -s : ${OBJS} - ${CPLUSPLUS} ${CXXFLAGS} -o SIA_s.exe ${OBJS} ${LIBS} - -p : ${OBJS} - $(CPLUSPLUS_MPI) -D__MPI ${CXXFLAGS} -o SIA_p.exe $(OBJS) $(LIBS) - -note : - @echo 'atom type label : it ' - @echo 'atom label for each type : ia ' - @echo 'The angular momentum : l ' - @echo 'The multiplicity : n ' - @echo 'The magnetic quantum num : m ' - @echo 'The k point index : ik ' - @echo 'The band index : ib ' - @echo 'The eigenvalue of Jlq : ie ' - @echo 'The radius cutoff (a.u.) : rcut ' - @echo 'The state is : psi(ib,ik) ' - @echo 'The local orbitals is : phi(it,ia,l,n,m) ' - @echo 'The index of local basis : nwfc(it,l,n)' - @echo 'The index of local basis : nwfc2(it,ia,l,n,m) ' - @echo 'The Spherical Bessel func : Jl(ie,rcut) ' - @echo 'The SB transform : \int Jl(ie,rcut) * Jl' - @echo 'The index of Jlq coef : Coef(it,l,n,ie)' - @echo 'The local orbitals formu : phi=\sum_{ie} Coef(it,l,n,ie) * Jl(ie,rcut)' - @echo 'The spillage formula is : S = ' - @echo 'The projector P is : P = \sum_{mu,nu} |phi_mu> S^{-1} = (1-P1) |psi1>' - @echo 'So we can fonud that : P1|psi2> = 0 ' - @echo 'the Q matrix is : Q = ' - @echo 'the S matrix is : S = ' - @echo 'start index of band : BANDS_START(count from 1, not 0) ' - @echo 'end index of band : BANDS_END ' - -.cpp.o: - ${CPLUSPLUS} ${CXXFLAGS} -c $< -o $@ -# $(CPLUSPLUS_MPI) -c -D__MPI $< -o $@ - -.PHONY:clean -clean: - ${RM} *.o *.exe core* src_tools/*.o src_spillage/*.o tests_s/ORBITAL* tests_s/ORBITAL* src_parallel/*.o src_pw/*.o diff --git a/tools/SIAB/SimulatedAnnealing/source/Makefiles/Makefile.Einstein b/tools/SIAB/SimulatedAnnealing/source/Makefiles/Makefile.Einstein deleted file mode 100644 index c0bd26a3e9..0000000000 --- a/tools/SIAB/SimulatedAnnealing/source/Makefiles/Makefile.Einstein +++ /dev/null @@ -1,115 +0,0 @@ -#=========================================================== -# AUTHOR : mohan -# DATE START FROM : 2009-04-14 -# FUNCTION : spillage makefile -#=========================================================== -#Dirac -CPLUSPLUS =/usr/mpi/intel/openmpi-1.4.1/bin/mpicxx -O3 -#CPLUSPLUS_GPROF = g++ -gp -#CPLUSPLUS_MPI = /opt/openmpi/bin/mpicxx -O3 -w -CPLUSPLUS_MPI=/usr/mpi/intel/openmpi-1.4.1/bin/mpicxx -#Einstein -#CPLUSPLUS_MPI = /opt/openmpi-intel9/bin/mpicxx -O3 -w - -#EINSTEIN -#LIBS=-L/home/common/lib -llapack -lblas -lf2c - -#DIRAC -#LIBS = -L/share/apps/lib/ -llapack -lblas -L/share/data1/lib/ -lf2c\ - #-L/opt/intel/fce/9.1.052/lib/ -lifcore \ -#Einstein -#LIBS = -L/share/apps/lib -llapack -lblas -L/opt/intel/fce/9.1.052/lib/ -lifcore -LIBS = -L/opt/intel/cmkl/10.2.5.035/lib/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -openmp -lpthread - -TOOLS_OBJS=src_tools/mathzone.o \ - src_tools/matrix.o \ - src_tools/matrix3.o \ - src_tools/realarray.o \ - src_tools/intarray.o \ - src_tools/complexmatrix.o \ - src_tools/complexarray.o\ - src_tools/timer.o \ - src_tools/inverse_matrix.o\ - -SPILLAGE_OBJS=src_spillage/main.o \ - src_spillage/read_INPUT.o\ - src_spillage/ReadData.o\ - src_spillage/Calculate_C4.o\ - src_spillage/Coefficients.o\ - src_spillage/MultiZeta.o\ - src_spillage/SpillageStep.o\ - src_spillage/SpillageValue.o\ - src_spillage/Step_Data.o\ - src_spillage/Orthogonal.o\ - src_spillage/Type_Information.o\ - src_spillage/Metropolis.o\ - src_spillage/Out_Orbital.o\ - src_spillage/Plot_Psi.o\ - src_spillage/Psi_Second.o\ - src_spillage/tools.o \ - src_spillage/common.o \ - -PARALLEL_OBJS=src_parallel/parallel_global.o\ - src_parallel/parallel_common.o\ - src_parallel/parallel_reduce.o\ - src_parallel/parallel_kpoints.o - -PW_OBJS=src_pw/pw_basis.o\ - src_pw/pw_complement.o\ - src_pw/heapsort.o\ - src_pw/numerical_basis.o\ - src_pw/bessel_basis.o\ - src_pw/ylm_real.o\ - src_pw/memory_calculation.o\ - -OBJS = ${TOOLS_OBJS} \ - ${SPILLAGE_OBJS} \ - ${PARALLEL_OBJS} \ - ${PW_OBJS}\ - -help : - @echo 'make target list: ' - @echo 's : Series version of Monte Carlo Spillage Program.' - @echo 'p : Parallel Version of Monte Carlo Spillage Program.' - @echo 'note : some notes.' - -s : ${OBJS} - ${CPLUSPLUS} -o 045.MCSP_s.exe ${OBJS} ${LIBS} - -p : ${OBJS} - $(CPLUSPLUS_MPI) -D__MPI -o 045.MCSP_p.exe $(OBJS) $(LIBS) - -note : - @echo 'atom type label : it ' - @echo 'atom label for each type : ia ' - @echo 'The angular momentum : l ' - @echo 'The multiplicity : n ' - @echo 'The magnetic quantum num : m ' - @echo 'The k point index : ik ' - @echo 'The band index : ib ' - @echo 'The eigenvalue of Jlq : ie ' - @echo 'The radius cutoff (a.u.) : rcut ' - @echo 'The state is : psi(ib,ik) ' - @echo 'The local orbitals is : phi(it,ia,l,n,m) ' - @echo 'The index of local basis : nwfc(it,l,n)' - @echo 'The index of local basis : nwfc2(it,ia,l,n,m) ' - @echo 'The Spherical Bessel func : Jl(ie,rcut) ' - @echo 'The SB transform : \int Jl(ie,rcut) * Jl' - @echo 'The index of Jlq coef : Coef(it,l,n,ie)' - @echo 'The local orbitals formu : phi=\sum_{ie} Coef(it,l,n,ie) * Jl(ie,rcut)' - @echo 'The spillage formula is : S = ' - @echo 'The projector P is : P = \sum_{mu,nu} |phi_mu> S^{-1} = (1-P1) |psi1>' - @echo 'So we can fonud that : P1|psi2> = 0 ' - @echo 'the Q matrix is : Q = ' - @echo 'the S matrix is : S = ' - @echo 'start index of band : BANDS_START(count from 1, not 0) ' - @echo 'end index of band : BANDS_END ' - -.cpp.o: - ${CPLUSPLUS} -c $< -o $@ -# $(CPLUSPLUS_MPI) -c -D__MPI $< -o $@ - -.PHONY:clean -clean: - ${RM} *.o *.exe core* src_tools/*.o src_spillage/*.o tests_s/ORBITAL* tests_s/ORBITAL* src_parallel/*.o src_pw/*.o diff --git a/tools/SIAB/SimulatedAnnealing/source/README b/tools/SIAB/SimulatedAnnealing/source/README deleted file mode 100644 index 6c81c93ab5..0000000000 --- a/tools/SIAB/SimulatedAnnealing/source/README +++ /dev/null @@ -1 +0,0 @@ -New version with CXX11 diff --git a/tools/SIAB/SimulatedAnnealing/source/doc/Format.txt b/tools/SIAB/SimulatedAnnealing/source/README.md similarity index 78% rename from tools/SIAB/SimulatedAnnealing/source/doc/Format.txt rename to tools/SIAB/SimulatedAnnealing/source/README.md index 8a0963fb7e..89c6641010 100644 --- a/tools/SIAB/SimulatedAnnealing/source/doc/Format.txt +++ b/tools/SIAB/SimulatedAnnealing/source/README.md @@ -1,3 +1,6 @@ +The code is used to generate numerical atomic orbitals + + The format of orbital file: (1) First line: @@ -8,3 +11,4 @@ delta r (unit: Bohr) (3) Type(always 0, you can ignore it), L(angular momentum), N (multizeta) (4) wave function: psi (note, not psi*r). + diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Inverse_Matrix_S.h b/tools/SIAB/SimulatedAnnealing/source/src_spillage/Inverse_Matrix_S.h index 7317f7ef26..f177b534da 100644 --- a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Inverse_Matrix_S.h +++ b/tools/SIAB/SimulatedAnnealing/source/src_spillage/Inverse_Matrix_S.h @@ -20,7 +20,7 @@ class Inverse_Matrix_S size_t dim{0}; size_t loop_count{0}; size_t exact_loop_num{1}; - const ComplexMatrix *inverse_old{nullptr}; + const ComplexMatrix *inverse_old = NULL; inline void copy_matrix_U2L(ComplexMatrix &matrix); inline void zero_matrix_L(ComplexMatrix &matrix); diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Orthogonal.cpp b/tools/SIAB/SimulatedAnnealing/source/src_spillage/Orthogonal.cpp index 9c784b6ed8..71616d1405 100644 --- a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Orthogonal.cpp +++ b/tools/SIAB/SimulatedAnnealing/source/src_spillage/Orthogonal.cpp @@ -42,7 +42,9 @@ void Orthogonal::start(SpillageStep &step1, SpillageStep &step2) } inverse.init( step1.data[istr].nwfc2 ); + #ifdef _OPENMP #pragma omp parallel for // Peize Lin add 2016-01-18 + #endif for (int ik=0; iknks ; ik++) { // cout << "ik=" << ik << endl; diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/common.h b/tools/SIAB/SimulatedAnnealing/source/src_spillage/common.h index 6973e7e896..a573be5462 100644 --- a/tools/SIAB/SimulatedAnnealing/source/src_spillage/common.h +++ b/tools/SIAB/SimulatedAnnealing/source/src_spillage/common.h @@ -24,7 +24,7 @@ using namespace std; #include "../src_tools/matrix3.h" #include "../src_tools/complexmatrix.h" #include "../src_tools/complexarray.h" -#include "../src_tools/module_external/lapack_connector.h" +#include "../src_tools/lapack_connector.h" #include "../src_tools/Random.h" #include "../src_tools/timer.h"// added 2009-4-17 #include "../src_tools/inverse_matrix.h" diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/main.cpp b/tools/SIAB/SimulatedAnnealing/source/src_spillage/main.cpp index 97b85d202c..19711cd88a 100644 --- a/tools/SIAB/SimulatedAnnealing/source/src_spillage/main.cpp +++ b/tools/SIAB/SimulatedAnnealing/source/src_spillage/main.cpp @@ -16,7 +16,7 @@ int main(int argc, char **argv) time_t time_start = time(NULL); timer::start(); cout <<" Start Time : " << ctime(&time_start); - std::srand(std::time(nullptr)); + std::srand(std::time(NULL)); // (2) if parallel, prepare. cout << " First read in the parameters from INPUT." << endl; diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/complexarray.h b/tools/SIAB/SimulatedAnnealing/source/src_tools/complexarray.h index 525fb07fc0..6506fce530 100644 --- a/tools/SIAB/SimulatedAnnealing/source/src_tools/complexarray.h +++ b/tools/SIAB/SimulatedAnnealing/source/src_tools/complexarray.h @@ -35,25 +35,25 @@ class ComplexArray void zero_out(void); - const int getSize() const + int getSize() const { return size;} - const int getDim() const + int getDim() const { return dim;} - const int getBound1() const + int getBound1() const { return bound1;} - const int getBound2() const + int getBound2() const { return bound2;} - const int getBound3() const + int getBound3() const { return bound3;} - const int getBound4() const + int getBound4() const { return bound4;} - static const int getArrayCount(void) + int getArrayCount(void) { return arrayCount;} private: diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/intarray.h b/tools/SIAB/SimulatedAnnealing/source/src_tools/intarray.h index 0fc7e90e16..3318578da1 100644 --- a/tools/SIAB/SimulatedAnnealing/source/src_tools/intarray.h +++ b/tools/SIAB/SimulatedAnnealing/source/src_tools/intarray.h @@ -49,16 +49,16 @@ class IntArray void zero_out(void); - const int getSize() const{ return size;} - const int getDim() const{ return dim;} - const int getBound1() const{ return bound1;} - const int getBound2() const{ return bound2;} - const int getBound3() const{ return bound3;} - const int getBound4() const { return bound4;} - const int getBound5() const { return bound5;} - const int getBound6() const { return bound6;} + int getSize() const{ return size;} + int getDim() const{ return dim;} + int getBound1() const{ return bound1;} + int getBound2() const{ return bound2;} + int getBound3() const{ return bound3;} + int getBound4() const { return bound4;} + int getBound5() const { return bound5;} + int getBound6() const { return bound6;} - static const int getArrayCount(void) + int getArrayCount(void) { return arrayCount;} private: diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate.h b/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate.h index c224cd976c..19ef02ee38 100644 --- a/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate.h +++ b/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate.h @@ -24,11 +24,11 @@ class Inverse_Matrix_Iterate inline void iterate(const ComplexMatrix &old_X, ComplexMatrix &new_X); private: - ComplexMatrix *A_ptr{nullptr}; + ComplexMatrix *A_ptr = NULL; ComplexMatrix X_store_1; ComplexMatrix X_store_2; - const ComplexMatrix *X0_ptr{nullptr}; - const ComplexMatrix *inverse_ptr{nullptr}; + const ComplexMatrix *X0_ptr = NULL; + const ComplexMatrix *inverse_ptr = NULL; ComplexMatrix identity; ComplexMatrix matrix_tmp_1; ComplexMatrix matrix_tmp_2; @@ -52,4 +52,4 @@ class Inverse_Matrix_Iterate private: }; -#endif \ No newline at end of file +#endif diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/realarray.h b/tools/SIAB/SimulatedAnnealing/source/src_tools/realarray.h index 4f4ec1c0ee..8c9e917f98 100644 --- a/tools/SIAB/SimulatedAnnealing/source/src_tools/realarray.h +++ b/tools/SIAB/SimulatedAnnealing/source/src_tools/realarray.h @@ -35,25 +35,25 @@ class realArray void zero_out(void); - const int getSize() const + int getSize() const { return size;} - const int getDim() const + int getDim() const { return dim;} - const int getBound1() const + int getBound1() const { return bound1;} - const int getBound2() const + int getBound2() const { return bound2;} - const int getBound3() const + int getBound3() const { return bound3;} - const int getBound4() const + int getBound4() const { return bound4;} - static const int getArrayCount(void) + int getArrayCount(void) { return arrayCount;} private: diff --git a/tools/SIAB/SimulatedAnnealing/source/tests_p/mpi.sh b/tools/SIAB/SimulatedAnnealing/source/tests_p/mpi.sh deleted file mode 100644 index 516726f973..0000000000 --- a/tools/SIAB/SimulatedAnnealing/source/tests_p/mpi.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -#PBS -l nodes=2:ppn=4 -#PBS -j oe -#PBS -V -#PBS -N MCSP - -# go to work dir -cd $PBS_O_WORKDIR - -# setup Nums of Processor -NP=`cat $PBS_NODEFILE|wc -l` -echo "Numbers of Processors: $NP" -echo "---------------------------" - -# running program -/share/data1/mpich-intel/bin/mpirun -np $NP -machinefile $PBS_NODEFILE ../040.MCSP_p.exe > Log.txt diff --git a/tools/opt_lcao_bash/print_file.py b/tools/opt_lcao_bash/print_file.py index eacaec2d7a..7e885d3a9a 100644 --- a/tools/opt_lcao_bash/print_file.py +++ b/tools/opt_lcao_bash/print_file.py @@ -8,7 +8,6 @@ def print_file_pw(info,dis): file.write(textwrap.dedent(f"""\ INPUT_PARAMETERS pseudo_dir {info["input"]["pseudo_dir"]} - wannier_card INPUTw calculation scf ntype 1 nspin 1 diff --git a/tools/rt-tddft-tools/dipole.py b/tools/rt-tddft-tools/dipole.py index 236e11e792..91fcbdb53f 100644 --- a/tools/rt-tddft-tools/dipole.py +++ b/tools/rt-tddft-tools/dipole.py @@ -154,9 +154,9 @@ def plot_abs(self, fig: Figure, ax: axes.Axes, directions: list = [0, 1, 2], x_r if __name__ == "__main__": - dipolefile = './SPIN1_DIPOLE' + dipolefile = './dipole_s1.txt' dipole = Dipole(dipolefile, dt=0.0024) - Efile=[[],[],["efield_0.dat"]] + Efile=[[],[],["efield_0.txt"]] Abs = Absorption(dipolefile, Efile, dt=0.0024) import matplotlib.pyplot as plt diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/Abs_plot.py b/tools/rt-tddft-tools/examples/Absorpation-N2/Abs_plot.py index 28128f26ed..d832badc0f 100644 --- a/tools/rt-tddft-tools/examples/Absorpation-N2/Abs_plot.py +++ b/tools/rt-tddft-tools/examples/Absorpation-N2/Abs_plot.py @@ -2,9 +2,9 @@ from abacus_plot.dipole import Absorption import matplotlib.pyplot as plt -dipolefile = './SPIN1_DIPOLE' +dipolefile = './dipole_s1.txt' dipole = Dipole(dipolefile, dt=0.0024) -Efile=[[],[],["efield_0.dat","efield_1.dat"]] +Efile=[[],[],["efield_0.txt","efield_1.txt"]] Abs = Absorption(dipolefile, Efile, dt=0.0024) fig1, ax1 = plt.subplots() diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/SPIN1_DIPOLE b/tools/rt-tddft-tools/examples/Absorpation-N2/dipole_s1.txt similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/SPIN1_DIPOLE rename to tools/rt-tddft-tools/examples/Absorpation-N2/dipole_s1.txt diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/efield_0.dat b/tools/rt-tddft-tools/examples/Absorpation-N2/efield_0.txt similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/efield_0.dat rename to tools/rt-tddft-tools/examples/Absorpation-N2/efield_0.txt diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/efield_1.dat b/tools/rt-tddft-tools/examples/Absorpation-N2/efield_1.txt similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/efield_1.dat rename to tools/rt-tddft-tools/examples/Absorpation-N2/efield_1.txt diff --git a/tools/selective_dynamics/README.md b/tools/selective_dynamics/README.md new file mode 100644 index 0000000000..eef94a6f85 --- /dev/null +++ b/tools/selective_dynamics/README.md @@ -0,0 +1,105 @@ +# Selective Dynamics for ABACUS+Phonopy + +## Requirements + +- [ase-abacus](https://gitlab.com/1041176461/ase-abacus) +- [Phonopy](https://github.com/phonopy/phonopy) + +## Usage + +### Setting + +There is a setting file named `config.yaml`: +```yaml +origin_structure: 'STRU' # the original structure +selected_indices: [18, 19] # the atom index that you concerned about, start from 0 +tasks_per_batch: 12 # how much jobs per batch +wait_time: 600 # s, sleep time between batches + +setting_conf: | + SYMMETRY = .FALSE. + DIM = 1 1 1 + DISPLACEMENT_DISTANCE = 0.03 + +mesh.conf: | + DIM = 1 1 1 + MESH = 31 31 31 + TMAX = 2000 + TSTEP = 2 + +input: | + INPUT_PARAMETERS + #Parameters (1.General) + suffix phonon + calculation scf + symmetry 1 + nspin 1 + pseudo_dir /fs2/home/chenkg/2_liuyu/3_abacus/PP_ORB/pseudo + orbital_dir /fs2/home/chenkg/2_liuyu/3_abacus/PP_ORB/efficiency + kpoint_file ../KPT + + #Parameters (2.Iteration) + ecutwfc 100 + scf_thr 1e-8 + scf_nmax 100 + + #Parameters (3.Basis) + basis_type lcao + ks_solver genelpa + gamma_only 0 + + #Parameters (4.Smearing) + smearing_method gaussian + smearing_sigma 0.001 + + #Parameters (5.Mixing) + mixing_type broyden + mixing_beta 0.7 + + cal_force 1 + cal_stress 1 + +kpt: | + K_POINTS + 0 + Gamma + 5 5 1 0 0 0 + +job_script: | + #!/bin/bash + #SBATCH -p cp6 + #SBATCH -N 1 + #SBATCH -J abacus + #SBATCH -n 28 + + source /fs2/home/chenkg/2_liuyu/3_abacus/abacus_env.sh + export OMP_NUM_THREADS=28 + + mpirun -n 1 abacus +``` + +- origin_structure: The `STRU` filename, which contains both the fixed atoms and the free atoms. +- selected_indices: The indexs of the free atoms. Note that the index starts from 0. +- tasks_per_batch: How much jobs submitted per batch. +- wait_time: Sleep time between batches, the unit is second. +- setting_conf: The `setting.conf` file for Phonopy. +- mesh.conf: The `mesh.conf` file for Phonopy. +- input: The `INPUT` file for ABACUS. +- kpt: The `KPT` file for ABACUS. +- job_script: The script used to submit jobs. + +### Submit jobs + +Use the following command +```bash +python3 path_to_selective_dynamics.py --submit +``` +to generate displaced structures and submit jobs. + +### Postprocess + +Use the following command +```bash +python3 path_to_selective_dynamics.py --post +``` +to generate `FORCE_SETS` and results of phonon calculations. diff --git a/tools/selective_dynamics/selective_dynamics.py b/tools/selective_dynamics/selective_dynamics.py new file mode 100755 index 0000000000..4e5c0e91fc --- /dev/null +++ b/tools/selective_dynamics/selective_dynamics.py @@ -0,0 +1,254 @@ +#!/usr/bin/env python3 +import os +import re +import sys +import glob +import time +import yaml +import shutil +import subprocess +from ase import Atoms +from ase.io import read, write + + +def split_stru_with_index(input_file, selected_indices, output1, output2): + + atoms = read(input_file, verbose=True) + pp = atoms.info["pp"] + basis = atoms.info["basis"] + + for i, atom in enumerate(atoms): + atom.tag = i + + atoms1 = atoms[selected_indices] + + + remaining_indices = [i for i in range(len(atoms)) if i not in selected_indices] + atoms2 = atoms[remaining_indices] + + + write(output1, atoms1, format='abacus', pp=pp, basis=basis) + write(output2, atoms2, format='abacus', pp=pp, basis=basis) + + print(f" Success! \n A.stru: {len(atoms1)} atoms\n B.stru: {len(atoms2)} atoms\n") + return selected_indices, remaining_indices, pp, basis + + +def merge_stru_by_index(file1, file2, indices1, indices2, pp, basis, output_file): + + atoms1 = read(file1) + atoms2 = read(file2) + + + total_atoms = len(atoms1) + len(atoms2) + merged_atoms = [None] * total_atoms + + for i, idx in enumerate(indices1): + merged_atoms[idx] = atoms1[i] + + for i, idx in enumerate(indices2): + merged_atoms[idx] = atoms2[i] + + + cell = atoms2.get_cell() + pbc = atoms2.get_pbc() + + positions = [atom.position for atom in merged_atoms] + symbols = [atom.symbol for atom in merged_atoms] + + merged = Atoms(symbols=symbols, positions=positions, cell=cell, pbc=pbc) + + write(output_file, merged, format='abacus', pp=pp, basis=basis) + print(f"success! total {len(merged)} atoms") + + +def parse_forces_from_file(indices, file_path="running_scf.log"): + + with open(file_path, 'r', encoding='utf-8') as f: + contents = f.read() + + lines = contents.split('\n') + + start_index = -1 + for i, line in enumerate(lines): + if "#TOTAL-FORCE (eV/Angstrom)#" in line: + start_index = i+4 + break + + results = [] + for i in indices: + results.append(lines[start_index+i]) + + result_text = '\n'.join(results) + return result_text + + +def load_config(config_file="config.yaml"): + + with open(config_file, 'r', encoding='utf-8') as f: + return yaml.safe_load(f) + +def submit_jobs(): + + # loading settings + config = load_config() + + # split structure into A and B + origin_structure = config['origin_structure'] + selected_indices = config['selected_indices'] + indices1, indices2, pp, basis = split_stru_with_index(origin_structure, selected_indices, + 'A.stru', 'B.stru') + + + # setting.conf for phonopy + setting_conf_content = config['setting.conf'] + with open("setting.conf", "w", encoding="utf-8") as f: + f.write(setting_conf_content) + + + # generate perturbed structures + result = subprocess.run("phonopy setting.conf --abacus -d -c A.stru", + shell=True, capture_output=True, text=True) + print(result.stdout) + + + all_files = sorted(glob.glob("STRU-*")) + TOTAL_TASKS = len(all_files) + TASKS_PER_BATCH = config['tasks_per_batch'] + WAIT_TIME = config['wait_time'] + TOTAL_BATCHES = (TOTAL_TASKS + TASKS_PER_BATCH - 1) // TASKS_PER_BATCH + print(f' TOTAL_TASKS = {TOTAL_TASKS}\n TASKS_PER_BATCH = {TASKS_PER_BATCH}\n TOTAL_BATCHES = {TOTAL_BATCHES}\n') + + + # job script + job_script_content = config['job_script'] + with open("job.sh", "w", encoding="utf-8") as f: + f.write(job_script_content) + os.chmod("job.sh", 0o755) + + # KPT + kpt_content = config['kpt'] + with open("KPT", "w", encoding="utf-8") as f: + f.write(kpt_content) + + input_content = config['input'] + + num_digits = len(str(TOTAL_TASKS)) + for batch in range(1, TOTAL_BATCHES + 1): + print("-" * 30) + print(f"Current batch: {batch}/{TOTAL_BATCHES}") + print("-" * 30) + + for task in range(1, TASKS_PER_BATCH + 1): + index = task - 1 + (batch - 1) * TASKS_PER_BATCH + + if index >= TOTAL_TASKS: + break + + + new_index = f"{index+1:0{num_digits+1}d}" + + dir_name = f"job_{new_index}" + os.makedirs(dir_name, exist_ok=True) + os.chdir(dir_name) + + + # STRU + perturbed_stru = f"../{all_files[index]}" + merge_stru_by_index(perturbed_stru, '../B.stru', indices1, indices2, + pp, basis, 'STRU') + + # INPUT + with open("INPUT", "w") as f: + f.write(input_content) + + + # submit job + try: + result = subprocess.run(["sbatch", "../job.sh"], + check=True, capture_output=True, text=True) + print(f"submit job: {new_index}") + except subprocess.CalledProcessError as e: + print(f"Failed - {e}") + + os.chdir("..") + + # sleep if not the last batch + if batch < TOTAL_BATCHES: + print(f"wait {WAIT_TIME} seconds...") + time.sleep(WAIT_TIME) + + print("-" * 30) + + print("All job submitted!") + print("-" * 30) + +def postprocess(): + + # loading settings + config = load_config() + + selected_indices = config['selected_indices'] + natom = len(selected_indices) + + all_files = sorted(glob.glob("STRU-*")) + TOTAL_TASKS = len(all_files) + num_digits = len(str(TOTAL_TASKS)) + + for task in range(1, TOTAL_TASKS + 1): + + new_index = f"{task:0{num_digits+1}d}" + dir_name = f"job_{new_index}" + os.chdir(dir_name) + + out_folders = glob.glob("OUT.*") + out_folder = out_folders[0] + os.chdir(out_folder) + + atom_forces = parse_forces_from_file(selected_indices) + + # phonon.log + log = f"""TOTAL ATOM NUMBER = {natom} + + #TOTAL-FORCE (eV/Angstrom)# + ------------------------------------------------------------------------- + Atoms Force_x Force_y Force_z + -------------------------------------------------------------------------\n""" + + with open("phonon.log", "w") as f: + f.write(log) + f.write(str(atom_forces)) + f.write("\n -------------------------------------------------------------------------") + + + os.chdir("../..") + + result = subprocess.run("phonopy -f job_*/OUT*/phonon.log", + shell=True, check=True, capture_output=True, text=True) + + + mesh_content = config['mesh.conf'] + with open("mesh.conf", "w") as f: + f.write(mesh_content) + + result = subprocess.run("phonopy -t mesh.conf", + shell=True, check=True, capture_output=True, text=True) + + + + +def main(): + if len(sys.argv) != 2: + print("usage: python3 selective_dynamics.py --submit") + print("usage: python3 selective_dynamics.py --post") + sys.exit(1) + + if sys.argv[1] == "--submit": + submit_jobs() + elif sys.argv[1] == "--post": + postprocess() + else: + print(f"No such parameter: {sys.argv[1]}") + +if __name__ == "__main__": + main() \ No newline at end of file